技术分享| 探索视频感知编码
一.什么是视频编码
视频编码就是指通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编解码标准有国际电联的 H.261、H.263、H.264、H265,Google 公司主推的 VP8、VP9,运动静止图像专家组的 M-JPEG 和国际标准化组织运动图像专家组的 MPEG 系列标准,此外在互联网上被广泛应用的封装格式还有 Real-Networks 的 RealVideo、谷歌公司的 WebM、微软公司的 WMV 以及 Apple 公司的 QuickTime 等。
那么视频编码技术到底是什么呢?首先视频是连续的图像序列,由连续的帧构成,一帧即为一幅图像。人的眼睛是有视觉暂留的,当每个图像帧序列以一定的速率播放时,我们看到的就是动作连续的视频,早年的手绘动画就是这个原理。由于连续的帧之间相似性极高同时每幅图像数据量又非常大,为便于储存传输,我们需要对原始的视频进行编码压缩,以去除空间、时间维度的冗余。
视频压缩技术是计算机处理视频的前提。视频信号数字化后数据带宽很高,通常在 20MB/秒以上,因此计算机很难对之进行保存和处理,更不用说对其进行远程传输了。采用压缩技术通常数据带宽降到 1-10MB/秒,这样就可以将视频信号保存在计算机中并作相应的处理。常用的算法是由 ISO 制订的,即 JPEG 和 MPEG 算法。JPEG 是静态图像压缩标准,适用于连续色调彩色或灰度图像,它包括两部分:一是基于 DPCM(空间线性预测)技术的无失真编码,一是基于 DCT(离散余弦变换)和哈夫曼编码的有失真算法,前者压缩比很小,主要应用的是后一种算法。在非线性编辑中最常用的是 MJPEG 算法,即 Motion JPEG。它是将视频信号 50 帧/秒(PAL 制式)变为 25 帧/秒,然后按照 25 帧/秒的速度使用 JPEG 算法对每一帧压缩。通常压缩倍数在 3.5-5 倍时可以达到 Betacam 的图像质量。MPEG 算法是适用于动态视频的压缩算法,它除了对单幅图像进行编码外还利用图像序列中的相关原则,将冗余去掉,这样可以大大提高视频的压缩比。前 MPEG-I 用于 VCD 节目中,MPEG-II 用于 VOD、DVD 节目中。
AVS 音视频编码是中国支持制订的新一代编码标准,压缩效率比 MPEG-2 增加了一倍以上,能够使用更小的带宽传输同样的内容。AVS 已经成为国际上三大视频编码标准之一,AVS 标准在广电总局正式全面推广,率先在广电行业普及。
二.实现过程及原理
1.冗余信息
视频图像数据有很强的相关性,也就是说有大量的冗余信息。其中冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术。
2.去时域
使用帧间编码技术可去除时域冗余信息,它包括以下三部分:
1)运动补偿
运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。
2)运动表示
不同区域的图像需要使用不同的运动矢量来描述运动信息。运动矢量通过熵编码进行压缩。
3)运动估计
运动估计是从视频序列中抽取运动信息的一整套技术。注:通用的压缩标准都使用基于块的运动估计和运动补偿。
3.去空域
主要使用帧内编码技术和熵编码技术:
1)变换编码
帧内图像和预测差分信号都有很高的空域冗余信息。变换编码将空域信号变换到另一正交矢量空间,使其相关性下降,数据冗余度减小。
2)量化编码
经过变换编码后,产生一批变换系数,对这些系数进行量化,使编码器的输出达到一定的位率。这一过程导致精度的降低。
3)熵编码
熵编码是无损编码。它对变换、量化后得到的系数和运动信息,进行进一步的压缩。
三.感知编码的由来
音频视频编码方案有很多,真可谓是百家争鸣,常见的音频视频编码有以下几类:
1.MPEG 系列
我们最常见的图片格式 JPEG 就是由 ISO(国际标准组织机构)下属的 MPEG(运动图象专家组)开发 视频编码方面主要是 Mpeg1(vcd)、Mpeg2(DVD)、Mpeg4(DVDRIP 使用的都是它的变种,如:divx,xvid 等)、Mpeg4 AVC;音频编码方面主要是 MPEG Audio Layer 1/2、MPEG Audio Layer 3(mp3)、MPEG-2 AAC 、MPEG-4 AAC 等。注意:DVD 音频没有采用 Mpeg 的。MPEG 是运动图像专家组(Moving Picture Experts Group)的缩写,于 1988 年成立,是为数字视/音频制定压缩标准的专家组,已拥有 300 多名成员,包括 IBM、SUN、BBC、NEC、INTEL、AT&T 等世界知名公司。MPEG 组织最初得到的授权是制定用于“活动图像”编码的各种标准,随后扩充为“及其伴随的音频”及其组合编码。后来针对不同的应用需求,解除了“用于数字存储媒体”的限制,成为制定“活动图像和音频编码”标准的组织。MPEG 组织制定的各个标准都有不同的目标和应用,已提出 MPEG-1、MPEG-2、MPEG-4、MPEG-7 和 MPEG-21 标准。
2.H.26X 系列
由 ITU(国际电传视讯联盟)主导,侧重网络传输,ITU-T 的标准包括 H.261、H.263、H.264,主要应用于实时视频通信领域,如视频会议、视频监控、视频直播;MPEG 系列标准是由 ISO/IEC 制定的,主要应用于视频存储(DVD)、广播电视、互联网或无线网络的流媒体等。两个组织也共同制定了一些标准,H.262 标准等同于 MPEG-2 的视频编码标准,而 H.264 标准则被纳入 MPEG-4 的第 10 部分。
如今广泛使用的 H.264 视频压缩标准可能不能够满足应用需要,应该由另一种更高的分辨率、更高的压缩率以及更高质量的编码标准所替代。ISO/IEC 动态图像专家组和 ITU-T 视频编码的专家组共同建立了视频编码合作小组,出台了 H.265/HEVC 标准。H.265 的压缩有了显著提高,一样质量的编码视频能节省 40%至 50%的码流,还提高了并行机制以及网络输入机制。
3.感知编码 ROI
随着 5G 时代的到来,用户对于视频画质体验的要求越来越高,如 4K、8K、高帧率、HDR 等。广电总局对电视播出的 4K 超高清视频规范的要求是视频码率大于 100 兆。互联网视频应用对此还没有规范性的标准,但为了达到合格的播放体验要求,同时编码复杂度、视频码率也将呈现出成倍增长的趋势,这就导致视频运营平台短期内在 CDN 成本、用户播放卡顿两方面会面临更加严峻的挑战。
面对上述挑战,我们最容易想到的方法就是通过压缩效率更高的下一代视频编码标准,如 AV1、VVC 等,有效降低成本。但就目前情况来看,这些标准其实还不具备大规模商用的生态环境,真正能够支持硬件解码的设备其实非常的少。另一方面,内容感知编码在国内外各大视频平台已经得到普遍的应用。在这种情况下,我们需要的是挖掘更多的工具或手段,极限压榨编码的码率。
幸运的是随着技术的不断进步,结合 AI 机器学习人们提出了感兴趣区域的视频编码,他是利用人眼主观存在感兴趣区域和非感兴趣区域的特点,我们对主观感兴趣区域和非感兴趣区域的码率分配做一定的修正,将更多的码率分配到主观感兴趣区域,从而在主观上提升视频质量,同时不需要设计新的编解码标准。 这是感兴趣区域视频编码的理论设计,但是传统的编码器 H264、H265 并没有这样的设计,即对于一个 264 编码器或者 265 编码器来说,视频的每个画面中的每个像素都是同等重要。因此我们需要对编码器做一个工程化的开发,来实现不同像素的权重差异化,目标是达到同等码率提升主观质量或者同等体验降低码率,从而实现更好的效果。
四.总结
感知编码的出现是时代的产物,随着技术的不断更迭,设计者不断的融入了新的技术才有了今天的成果。感知编码已经从初期的中心区域 ROI,人脸 ROI,字幕 ROI 等较为简单的模型进化成如今的主观感兴趣区域 ROI,这是感知编码的一次重大技术更迭,也为将来进一步落地各种应用场景打下夯实的基础。
版权声明: 本文为 InfoQ 作者【anyRTC开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/c9b5d2ce7bbd64ab405cdb2a6】。文章转载请联系作者。
评论