技术动态 > 正文
H.265标准下视频软解与硬解的对比
2015/1/6 11:47   赛迪网      关键字:H.265,视频软解      浏览量:
数字视频软解码,是指视频流数据完全通过通用CPU来实现播放,它利用复杂的算法,实现对视频数据的解压缩;解压缩之后的数据被送到视频显示模块,由显示模块驱动硬件来显示视频内容。

    一、概念
  从数字视频诞生以来,硬解码和软解码的说法一直伴随着它的发展。数字视频的软解码是指在通用CPU上通过专门的播放软件解码并播放视频;而硬解码则是指在专用的硬件解码模块解码视频,然后将解码数据送至显示屏播放。严格来说,并不存在纯粹的硬解码,因为即使有硬件协处理模块存在,整个解码过程也需要软件来控制。所以本文所讨论的是约定俗称的软解码和硬解码。
  二、历史
  早在20世纪80年代,数字视频商业化应用(Sony的D1格式,http://en.wikipedia.org/wiki/Digital_video#History)已经出现。那时的数字视频是未经压缩地存储在磁带上,所占空间非常大,其相关产品极其昂贵,普通消费者难以承担,因此数字视频的概念没有普及。1992年数字视频压缩标准MPEG-1的发布,尤其后来的基于该标准的VCD标准发布以及相关产品的问世,极大地推动了数字视频在消费领域的发展,同时也使数字视频的概念在消费者中得到了普及。后来的MPEG-2和基于其上的DVD和数字电视的普及,让消费者欣赏到更高品质的视频节目。新世纪的H264标准和其它私有视频标准如RM,WMV,VP8格式等,极大促进了网络视频的快速发展。去年新一代标准H.265的推出,标志着数字视频技术和产业达到了一个新的高度。
  在数字压缩标准(技术)不断进步的同时,它的编解码技术、手段也有不断的创新。数字视频压缩标准刚刚诞生的上世纪90年代初,通用CPU计算能力远远无法满足解码需求,所以那时的解码方式全部采用专门硬件解码芯片来解码,如VCD播放机、MPEG-1解压卡(可以插到386或者486电脑上用来播放VCD电影)。到了2000年左右,计算机的性能已经可以播放DVD节目,这时涌现出不少优秀的DVD播放软件,可以在个人计算机上流畅地软解码DVD数据。这一时期软解码和硬解码都非常流行。此后随着网络的发展,网络视频发展迅猛。网络视频的压缩格式多种多样,如RM、VP8、MPEG4、H.264、WMV、MPEG2。由于格式的多样,对于硬件实现来说,实现起来相对复杂,另外这一时期的网络终端是个人电脑,其运算能力也足以解码这些视频内容,所以软解码的优势比较明显。当下,ARM架构的通用CPU在移动设备领域取得了X86架构在个人电脑领域那样的地位。ARM架构的CPU主频也可以达到1.5GHZ以上,同时双核,四核甚至八核的CPU也得到了广泛的应用,其运算能力早已达到或者超过了以前的PC。视频软解方案也大量出现在移动设备中。
  三、解码流程以及软硬解码的区别
  数字视频软解码,是指视频流数据完全通过通用CPU来实现播放。其大致流程如下:首先视频播放软件把视频流文件从存储介质中读取到内存中,然后通过一个封装格式解析模块,把文件中的视频数据和音频数据分开;接下来播放软件负责把视频数据传送到视频解码模块,音频数据传送到视频解码模块;视频解码模块也是一个运行在通用CPU上的纯粹的软件模块,它利用复杂的算法,实现对视频数据的解压缩;解压缩之后的数据被送到视频显示模块,由显示模块驱动硬件来显示视频内容。音频数据的处理方式类似。
  数字视频的硬解码,则是在专用的解码硬件模块协助之下,CPU完成视频流数据的播放。它的流程是:首先通用CPU负责把视频流数据读到内存中,有运行在通用CPU上的数据封装格式解析模块把数据中视频和音频分开,其中音频数据被送到专用的硬件解码模块中去,由硬件解码模块负责把视频数据解压缩,把解压缩出来的数据又送回通用CPU,由后者用解压后的数据驱动硬件实现视频的显示。而音频可能是由通用CPU软解码,也可能有专门的硬件模块来进行音频解码。
  从上述描述中可以看出,不管是硬件解码或者软件解码,通用CPU的参与必不可少,通用CPU负责视频流的播放流程。不同之处是极大运算量的解码算法是在通过CPU中完成,还是在专用硬件解码模块中完成。
  四、软解码和硬解码的应用
  目前压缩视频的软解码和硬解码均广泛存在,然而二者的应用领域和范围有一定差别。
  (一)软解码主要在下列设备广泛应用
  1、个人计算机。目前个人计算机上的视频全部是通过软解码的形式实现播放的,这个和个人应用以及网络应用中,存在大量的压缩格式有关,同时也和目前个人计算机超强的计算能力密不可分。
  2、智能手机。现在的智能手机芯片都具有很强的计算能力,同时也都有视频硬件解码模块,但是硬件解码模块支持的视频格式有限,同时受限于与之适配的专用播放软件,所以智能手机在播放网络视频时,大部分采用是软解码方式。
  3、平板电脑。平板电脑普遍采用与智能手机同样的芯片组,同时使用方式也与智能手机类似,所以在播放网络视频也主要采用软解码。
  (二)硬解码主要应用于下列设备
  1、智能手机和平板电脑,如前所述,这些设备存在视频加速模块,在播放本地高清文件时,采用硬解码的情形还是比较多的。
  2、机顶盒。早期的机顶盒基本上是一个MIPS架构的CPU+硬件解码模块。所以在这种设备上只存在硬解码一种情形。不过最近比较新的机顶盒采用与智能手机相同档次的芯片,但是基于成本考虑,大部分机顶盒还是采用硬解码方案。不过随着芯片性能提升和价格的降低,机顶盒采用软解码的比例会慢慢提升。
  3、家用相机(摄像和回放功能)。具有摄像功能的相机,都具有回放功能,这些设备的视频解码都是应用硬解码实现。
  4、视频会议。视频会议强调实时性,同时视频编码格式唯一,解码一般是硬解码。

微信扫描二维码,关注公众号。