滚动新闻:
首页 > 应用案例 > 编解码

视频解码和GPU的关系

   视频解码有3种方式:纯硬件解码,纯软件解码,硬件加速解码(下面简称1.2.3)

  1.其实就是靠集成在主板或SOC或显卡上的DSP模块进行解码,这种方式解码效率很高,且功耗很低,但兼容性很差,只能解码DSP支持的特定编码的视频(效率最高)

  2.如字面意思所言,就是纯粹靠CPU进行解码,用软件解码器通过CPU的运算能力把视频信息转换成标准RGB图像渲染在屏幕上,形成动态的图像(效率最低)

  3.利用显卡里的流处理器对CPU进行辅助运算,进行视频的解码。其实也算是软解,只不过多用了显卡的流处理器对CPU进行辅助(所谓的流处理器请参考NVDIA的CUDA)

  第三种解码方式对GPU有特殊要求,就是其必须支持通用计算——open CL,现在只有桌面显卡支持通用运算,移动设备的SOC的GPU还没有具备这个能力。

视频解码和GPU的关系

  GPU和DSP的区别:

  GPU在几个主要方面有别于DSP(Digital Signal Processing,简称DSP(数字信号处理)架构。其所有计算均使用浮点算法,而且目前还没有位或整数运算指令。此外,由于GPU专为图像处理设计,因此存储系统实际上是一个二维的分段存储空间,包括一个区段号(从中读取图像)和二维地址(图像中的X、Y坐标)。此外,没有任何间接写指令。输出写地址由光栅处理器确定,而且不能由程序改变。这对于自然分布在存储器之中的算法而言是极大的挑战。最后一点,不同碎片的处理过程间不允许通信。实际上,碎片处理器是一个SIMD数据并行执行单元,在所有碎片中独立执行代码。