位元率-失真最佳化

本页使用了标题或全文手工转换
维基百科,自由的百科全书

位元率-失真最佳化Rate–distortion optimization,简称RDO)是一种提升视讯压缩效能的最佳化方法。其原理是对视讯的失真(画面品质)与位元率(编码所需的资料量)同时进行最佳化,以求达到一个最佳的平衡点。虽然此演算法一开始是在视讯压缩编码器中被使用,但也可以用于各种多媒体编码包含影像、视讯、音讯等等,只要编码时会同时考虑到品质及档案大小皆可使用。

背景[编辑]

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

运作原理[编辑]

位元率-失真最佳化借由作为影像品质的衡量方法,解决了上述的问题。资料量会被用位元数乘上拉格朗日乘数来取代。拉格朗日乘数代表了在某种程度范围的影像品质下,位元的花费与影像品质之间的关系。以数学式表示:

其中

:最终的衡量数据,也被称为RD cost(rate-distortion cost)
:失真的衡量数据
:拉格朗日乘数
:资料量的衡量数据

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

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

支援的编码器[编辑]

参见[编辑]

参考资料[编辑]

  1. ^ D. T. Hoang, P. M. Long, and Jeffrey Vitter, Rate-Distortion Optimizations for Motion Estimation in Low-Bitrate Video Coding页面存档备份,存于互联网档案馆), IEEE Transactions on Circuits and Systems for Video Technology, 8(4), August 1998, 488-500. A shorter version appears in Proceedings of the Digital Video Compression Conference, IS&T/SPIE 1996 Symposium on Electronic Imaging: Science & Technology, 2668, San Jose, CA, January–February 1996, 18-27.