视频解码新世代 AV1你准备好了吗?
2021-10-13超载
超载
视频解码之前是什么?
现在的视频内容无一例外都是数字格式的,如果只是原始的视频数字内容,其庞大的体积是无法实现网络传输的,这就需要编码将其有序地压缩成合适大小,再进行传输。
实际上,一如MP3格式的数字音乐一样,目前主流的视频编码算法均属于有损编码,通过对视频造成有限而可以容忍的损失,获取相对更高的编码效率。在编码过程中造成信息损失的部分被称作变换量化。
这个量化过程通过对视频内容中低频区的系数进行细量化,高频区的系数进行粗量化,去除了人眼不敏感的高频信息,从而降低信息传送量。因此,量化是一个有损压缩的过程,而且是视频压缩编码中质量损伤的主要原因。
当然,实际上各种编码格式对视频的压缩方法技术有很多细节,笔者只是粗浅的解读一下方便读者理解。
编码完成的视频,无论是下载还是在线直接播放,都需要我们的设备进行相应格式的解码,才能将数字信息“转化”为我们能看到的图像,继而播放。
这个解码过程就需要GPU的参与了,所以我们的显卡GPU中,实际上都有专门的单元负责视频的编解码工作。只不过,这些单元都是固化在GPU内部,你的GPU能够支持何种格式的视频编解码从一开始就已经确定,无法通过软件升级的方式获得新的编解码能力。
而CPU也不是不可以進行编解码工作,我们通常会说CPU解码为软解码,GPU解码为硬解码。这是因为CPU是通过软件计算的方式,将CPU资源“挪用”来处理视频的编解码格式。这样做的好处是在GPU不支持某些视频编码格式的时候,我们依旧能够依靠CPU软解码正常播放。缺点自然是对CPU的资源占用颇高,影响电脑性能。
以英伟达显卡为例,NVIDIA Codec硬件编解码的性能不是CPU软解可以匹敌的,特别是多路编码的情况下,软件调用显卡去编解码会大大提高效率,节省时间。其次,CPU在进行编解码时,硬件占用率会很高,这样就会影响其他应用的正常运行,特别是在做图形设计或者游戏过程中,编码占用太多CPU资源就会导致应用卡顿。而使用显卡编码不会占用太多系统资源,不会影响应用的使用性能。
最流行的编码格式是什么?
目前最流行的编码格式主要集中在H.264和HEVC两种,这也是目前最为主要的视频编码格式,包括常见的1080P、4K格式视频文件,甚至不少在线视频网站也采用这些格式。此外,还有一个冉冉升起的新兴AV1编码,很有可能实现跨越式的发展,成为日后的主流视频编码格式——原因无它,没有专利费用。
H.264我最流行!
H.264,又称为MPEG-4第10部分的高级视频编码(MPEG-4 Part10,Advanced Video Coding,缩写为MPEG-4 AVC),是一种基于运动补偿的视频编码标准 。到2014年,它已经成为高精度视频录制、压缩和发布的最常用视频编码格式之一了。而且,H.264更因其是蓝光盘的其中一种编解码标准而著名,所有蓝光盘播放器都必须能解码H.264。另外, 因为它具有极高的压缩比,也成为诸多在线视频网站的首选视频编码格式。
H.264的最大优势是数据压缩率高,在相同的条件下,H. 26 4压缩图像的质量比是MPEG-2的2倍以上,是MPEG-4的1.5倍~2倍。例如,如果原始视频文件的大小是100GB,采用MPEG2压缩标准会压缩成一个4GB的文件,压缩比为25∶1,而采用H.264编码处理这个100GB的视频,则能压缩成980MB的大小,压缩比达到惊人的102∶1。