秦始皇都做不到统一!视频编码的那点事

写在开头



规格的制定者:国际电联ITU-T国际标准化组织ISO新势力



一切的开始:(1988)

其实DCT算法简单来说就是利用了人眼对画面细节的分辨是有限的,人的眼睛没办法捕捉到那些细致入微的小细节,因此DCT算法就是将图像从空间域转换到频率域,即分为低频域跟包含细节的高频域,然后经过量化后,保留绝大部分的低频信息,减少人眼不敏感的高频信息,从而实现图像的压缩,减少体积。



VCD的标准:MPEG-1(1991)

在ITU-T创造的同时,另一边也在奋起直追,在1988年,ISO和IEC两大国际标准化组织建立了MPEG(动态图像专家组,MovingPictureExpertsGroup),并在1992年完成了MPEG-1的制定,后来也成为了VCD的标准,一度风靡世界。由于它在的基础上进行了改进,因此可以理解为MPEG-1是的Plus版本,它继承了的宏块、运动补偿、DCT算法等,还新增了帧序列、双向预测帧、亚像素精度的运动补偿等新技术。


其中值得说道的就是这个双向预测帧,在时可以分成两种帧,一种是完整的关键帧I帧,一种是通过运动补偿算法在I帧基础上计算得到的预测帧P帧,而MPEG-1在此基础上引入了帧类别的概念,不仅有完整的I帧与P帧,还有双向预测帧B帧,顾名思义,B帧即可以通过前面的关键帧I帧进行补偿算法运算出部分信息做参考,同时也可以通过后续的P帧补充前面预测所缺失的部分细节。由于比预测帧I帧参考了更多的信息,双向预测帧B帧相比预测帧I帧能够节省更多空间。


DVD的标准:/MPEG-2(1994)

在MPEG-1推出不久后,MPEG-2来了,不过它还有一个名字,就是,相比MPEG-1,它其实并没有太大的改动,主要是在传输和系统方面做了更加详细的规定和进一步的完善。并且MPEG-2在制定时充分考虑到了数字电视系统的需求,也加入了对隔行扫描的支持。


3GGP座上宾:(1995)

就比较复杂了,是国际电联ITU-T制定的,是为低码流通信而设计。但实际上这个标准可用在很宽的码流范围,而非只用于低码流应用,它被多数人认为是用于取代。不过的编码算法与一样,只是做了一些改善,例如:加入了新的运动向量中值预测法,在编码效率上相比有较为明显的提升。


并且的同门师兄弟众多,在初版之后还存在+和++两个官方升级版。与标准相比,+标准主要有以下几个方面的改进。提高了压缩效率,相对初版有15~25%的总体提升,主要是通过增加帧内编码模式和增强PB帧模式做到的;而++标准则在+基础上增强了参考帧的选择模式和增加数据分片选项,这样做能够提高编码效率。


老熟人:MPEG-4(1998)

MPEG-2之后,MPEG组织为了追赶隔壁的,开始奋起直追,终于在1998年时,MPEG-4标准正式诞生,它主要应用于视像电话,视像电子邮件和电子新闻等。它的核心设计实际上与趋同,但是包含了更多关于编码效率的增强。


尽管MPEG-4是一个野心勃勃的编码,但它依旧遭到了业界的冷待和批评。一个是它的压缩率虽然相比起MPEG-1有不小的提升,但相比起它的前作MPEG-2并没有质的提升,更多是小修小补,而且还有授权和专利费用等问题因此普及率远不及后续的/AVC。

曾经一统江山:/AVC(2003)


在上面我们介绍了宏块,而/AVC在原有的宏块划分上进行了改进,原本的宏块划分是以16x16像素为一个,不过这种划法在2003年显然不太够用了,因此引入了16x8、8x16、8x8、8x4、4x8和4x4这些精细度更高的划分方式。并且亚像素精度的运动补偿描述从MPEG-1的1/2像素精度细化到了1/4的程度,在预测过程中,能够提高更准确的精度,同时还能进一步提高压缩率。



最后再来说说这个“更高的数据压缩算法”,在数据压缩时通常需要编码,而在VLC编码的基础上研发了两种无损数据压缩编码,一种是VLC的升级版——CAVLC,另一种是复杂程度更高的CABAC,简单来说就是能够使用编码来替代数据,从而达到压缩的效果。

昙花一现:VC-1(2003)



本土力量:AVS(2006)


饱受争议:VP8(2008)


另外由于VP8在开发过程中参考了/AVC的代码,对于很多技术细节,只有几段代码而没有任何相关解释。所有的技术细节几乎掌握在谷歌手中。并且x264的主要开发者之一曾对VP8的参照实现的源代码进行过仔细分析,得出的结论是VP8和过于相似,很难相信没有任何专利侵权之处。

虽然谷歌一直宣称VP8不会有专利问题,但不少公司为了不必要的麻烦都选择了专利更为明确且收费的/AVC,这也是VP8迟迟无法推动的原因之一。

后继有人:H/265/HEVC(2013)



除此之外,单个CTU单元还可以继续被切割、分类,可以成为预测单元(PredictionUnits),并且可以指示该单元采用何种预测形式,无论是帧内预测还是帧间预测亦或者是其他形式;当然这个CTU单元也可以成为转换单元(TransformUnits),可以配合DCT算法进行更精确的变化,真正做到有的放矢,精细化操作,让转码效率变得更高效。



当然,别看/HEVC在性能上突飞猛进,但在推广上可是碰了一鼻子灰。究其原因主要是两点,一是它的编解码难度比/AVC高了太多,不过这点已经通过软件优化跟新的硬件编码器化解了,真正妨碍/HEVC推广的其实还是它高昂的专利费用问题,每个用户需要1美元左右,对于普通人可能没什么,但对那些以流媒体或直播为主的网站那就是一笔不小的开支,并且收专利费这个行为在业界普遍追求开放、开源的今天无疑是一大劣势。

VP8的继任者:VP9(2013)



未来的趋势:AV1(2015)




相比传统的编码,AV1编码的效率平均提升了40%,在同码率下AV1编码的画质将更好。目前大部分直播的分辨率和清晰度,均受限于平台规定的最大比特率。以Twitch限制的8Mbps为例,可以看到在同等带宽下,同为2K60帧的画面,采用AV1编码的清晰度明显比更高。



新的挑战者:/VVC(2020)


但还是老生常谈的问题,从历史来看,/HEVC的采用可以说相当缓慢,2013年标准签署,直到2017年才在iOS11上被苹果支持。而如今,/AVC仍旧占据相当主流。再加上使用系列需要支付专利费的问题,并且新的/VVC的专利费相比/HEVC还要小幅增长,这对它的普及又是一个不小的鸿沟。


除此以外,/VVC还要面对以AV1为代表的开放标准的挑战,尽管它改进了一堆技术,但在免费开源面前,如果专利授权费用问题没能有很好的解决方式,那恐怕难以复制/AVC当年的奇迹。

写在最后




版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐