版权归原作者所有,如有侵权,请联系我们

[科普中国]-比特率-失真最佳化

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

比特率-失真最佳化即为率失真优化Rate–distortion optimization,简称RDO),是一种提升视频压缩性能的最优化方法。其原理是对视频的有损(画面质量)与码率(编码所需的数据量)同时进行最优化,以求达到一个最佳的平衡点。虽然此算法一开始是在视频压缩的编码器中被使用,但也可以用于各种多媒体编码包含视频、视频、音频等等,只要编码时会同时考虑到质量及文件大小皆可使用。

背景传统视频编码器在做编码决策时,是挑选出视频质量最好的画面。然而只考虑质量的缺点是,会让决策的结果有时相较于质量稍差的选择下,花费了更多数据量但只相对提升了一点点质量。一个常见的例子就是动作补偿,1尤其是使用1/4像素精确度的时候。在动作补偿过程中,为宏区块的动作向量增加额外的精确度可能可提升质量,但有些时候提升的质量,并不值得额外花费用来编码高精确度动作向量的数据量。

运作原理率失真优化借由作为视频质量的衡量方法,解决了上述的问题。数据量会被用比特数乘上拉格朗日乘数来取代。拉格朗日乘数代表了在某种程度范围的视频质量下,比特的花费与视频质量之间的关系。以数学式表示:

其中

J:最终的衡量数据,也被称为RD cost(rate-distortion cost)

D:有损的衡量数据

:拉格朗日乘数

R:数据量的衡量数据

为了最大化峰值信噪比的视频画值衡量,有损部分通常使用均方差做计算。

现行的视频压缩编解码器中,率失真优化需要将每一块视频画面的区块,经由熵编码器运算来衡量实际的比特花费,而此计算是复杂的。例如在MPEG的许多编解码器标准中,完整的计算流程包含了离散余弦变换、量化以及熵编码,需全部运算完才能得到实际的比特花费。因此率失真优化会较大部分其他区块比对的衡量方法来得慢,譬如绝对值差和(SAD)和转换后绝对值差和(SATD)。因此率失真优化通常只在动作补偿的最后一个步骤才会被使用,像是在H.264/AVC中最后需要对各种分割模式下决定的时候。

支持的编码器AtemeH.264编码器

草谷ViBE编码器(SD & HD MPEG-2/MPEG-4)

Harmonic Electra 8000编码器(SD & HD MPEG-2/MPEG-4)

libavcodec

MainConceptH.264编码器

MicrosoftVC-1编码器

TANDBERG TelevisionSD MPEG-2 EN8100

TANDBERG TelevisionHD MPEG-4 EN8190

TANDBERG TelevisionSD & HD MPEG-4 iPlex

Theora1.1-alpha1 and later(the "Thusnelda" branch)

x264H.264编码器

XvidMPEG-4 ASP编码器

H.264/AVC标准参考软件JM(Joint Model)

H.265/HEVC标准参考软件HM(HEVC Test Model)

参见视频质量

压缩比

本词条内容贡献者为:

张尉 - 副教授 - 西南大学