硬件编解码与软件编解码的区别

2023-02-20

什么是编解码


编解码指的是用特定算法将数据进行转换和还原的过程,或将电脉冲信号转换成它所代表的信息、数据等的过程。


由于直接传输原始画面数据量庞大,会占用较多的带宽资源,为了节约带宽,在传输前,编码器会对游戏画面进行压缩,让画面的流数据减小,并成为统一的编码格式。



这样一来,节约了大量的宽带资源,并且传输的数据流较小,减少了网络抖动所带来的影响,因此,编解码是必不可少的。


除了如H.264以及H.265的编解码协议标准的差异外,影响编解码能力最主要的因素源自于是通过硬件编解码还是软件编解码。


硬件编解码的概念


硬件编解码是非CPU通过烧写运行视频加速功能对高清视频流进行编解码,其中非CPU可包括GPU、FPGA或者ASIC等独立硬件模块,把CPU高使用率的视频解码工作从CPU里分离出来,降低CPU的使用负荷,使得平台能高效且流畅的执行视频的编解码动作。


在移动设备上由于CPU的性能有限,为了让设备流畅的运行视频解码,主要使用的就是显卡硬解码。移动设备一般不需要进行实时编码的工作,并且移动GPU也无法支持,因此移动设备一般使用软编码。


在以x86架构为主的PC设备,由于现阶段显卡已成为PC上不可缺少的一部分,并且推出了更加适用于GPU的H.265标准协议。


因此,包括Nvidia以及AMD在内的独立显卡均完整地支持编解码功能,而性能相对较弱的Intel HD集成显卡也同样集成了解码功能,以保证设备的运行流畅。


当然除了GPU的硬编解码能力以外,市面上同样出现了专门为音视频编解码服务的独立硬件,一般以FPGA或ASIC的形式供应到市场。


由于易用性存在差距,一般不会流到普通的用户市场,在此,就不进行展开了。


软件编解码的概念

软件编解码指的是在信息传输的过程中,视频等信号直接通过CPU进行编解码。如此而来,会增加CPU的工作负荷,提升功耗,如果CPU能力不足,则软件也会受到一定程度的影响。

由于CPU拥有更强大的计算能力以及更精确的数据位宽,因此CPU能更好地兼容各种编解码的工作。




硬件编解码VS软件编解码


硬件编解码的优点:


1、可分离出音视频编解码的工作,无需占用CPU资源;


2、性能高,同等条件下编解码的速率更快;


3、同等条件下,独立硬件进行编解码的功耗要低于CPU进行软编解码。


硬件编解码的缺点:


1、起步较晚,软件支持度无法与软件编解码相提并论;


2、由于GPU以及专用硬件的功能性限制,硬件编解码兼容度较低;


3、硬件编码在大量画面输出补偿及画质增强等技术方面有一定欠缺;


4、硬件编解码在软件上需要进行独立设置,对小白用户不是很友好。


软件编解码的优点:


1、编解码器更易于开发,协议兼容度高;


2、软件编解码拥有大量画面输出补偿及画质增强的技术,画质优于硬件编解码。


软件编解码的缺点:


1、软件编解码对CPU的性能要求较高。



在网络不断发展的大环境下,人们的互联网使用习惯也在相应地发生改变。


从一开始分时视频内容的分发模式到直播模式,再到现在的云游戏互动模式,编解码逐步从更适用于CPU计算的H.264往更适用于GPU的H.265的方向发展,并且,Google提出的更有效率的AV1编解码也在不断推进。




阅读69
分享