视频图像编码方法及设备转让专利

申请号 : CN200680043301.6

文献号 : CN101313581B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 多米尼克·托罗爱德华·弗朗索瓦莱拉·于格内尔

申请人 : 汤姆森许可贸易公司

摘要 :

本方法的特征在于,根据编码误差估计以及不同测试编码模式下源块的编码开销估计,为源块执行所述编码模式的选择,针对编码模式,根据与该编码模式有关的残余块在频域中的数学变换后得到的系数的绝对值之和、并根据与该编码模式相对应的量化系数的绝对值之和,来估计编码误差。一种应用是使用MPEG2或MPEG4-AVC标准的数据编码模式判决。

权利要求 :

1.一种用于对图像序列的视频图像进行编码的方法,包括:将图像分成块,然后根据图像间型预测编码模式和/或图像内型预测编码模式中至少一种的编码模式,对源块进行编码,其中图像间型预测编码模式使用来自在前和/或随后图像的信息,而图像内型预测编码模式使用来自当前图像的信息;源块的预测编码模式对残余块,即源块和根据所述信息计算得到的预测块之间的差异,进行余弦变换和量化,以提供量化系数,其特征在于,根据所测试的不同编码模式下的编码误差估计以及源块的编码开销估计,为所述源块执行所述编码模式的选择,针对编码模式,根据与该编码模式有关的残余块从空间域到频域的数学变换后得到的系数的绝对值之和、并根据与该编码模式相对应的量化系数的绝对值之和,来估计编码误差。

2.根据权利要求1所述的方法,其特征在于,编码误差估计等于:SATDdec_est=SATDpred-f(QP)x.EnergyTQ其中—SATDpred,是经Hadamard变换后得到的残余块的系数的绝对值之和,—QP是量化步长,

—f(QP)是预定义的量化步长的函数,

—Energy是所述量化系数的绝对值之和。

3.根据权利要求2所述的方法,其特征在于,函数f(QP)等于f(QP)=δ×(QP)2,δ是预定义常数。

4.根据权利要求2所述的方法,其特征在于,根据参数Jmode来选择编码模式:Jmode=SATDdec_est+WQP(α.Headercost+γ.EnergyTQ)其中—WQP,是取决于量化步长QP的值,

—Header,是以比特计算的用于对数据流中的宏块进行编码的编码头的开销,—α和γ是预定义值的参数。

5.根据权利要求4所述的方法,其特征在于,参数WQP与量化步长QP成比例。

6.根据权利要求5所述的方法,其特征在于,δ的值等于1/136,误差范围在10%以内,α=2,γ=4,且WQP=QP/5。

7.根据权利要求2所述的方法,其特征在于,运动估计根据Hadamard变换执行相关计算,以从在前图像获取所述信息。

8.一种用于实现根据权利要求1所述的方法的编码设备,包括处理电路以及存储器电路,用于计算针对不同编码模式的编码误差估计,其特征在于,处理电路根据以下公式对编码误差进行估计SATDdec_est=SATDpred-f(QP)x.EnergyTQ其中—SATDpred,是经Hadamard变换后得到的残余块的系数的绝对值之和,—QP是量化步长,

—f(QP)是预定义的量化步长的函数,

—Energy是所述量化系数的绝对值之和,

而且,其特征在于,存储电路包括函数f(QP)针对量化步长QP在其演变范围内分布的不同值的预先确定值。

说明书 :

技术领域

本发明涉及一种视频图像编码方法及设备,更具体地说,涉及一种图像块编码模式判决算法。

该领域就是利用与诸如MPEG2和MPEG4-AVC标准兼容的压缩算法来传输和存储视频。

背景技术

编码器中编码判决的目的是,依照所定义的准则,从被称为图像内模式和图像间模式的特定数量的模式中为图像实体(通常为含有大小为16×16像素的亮度块的宏块)选择最佳编码模式,其中图像内模式考虑到正在被编码的图像中的信息,而图像间模式考虑到先前已编码的一个或若干个图像中的信息。
根据可用实现的复杂度,专门用于编码判决的算法可以采取通常所说的:
-先验
-后验
的形式。
基于先验的算法比较简单,但就比特率/失真而言所能达到的性能太过一般,基于后验的算法具有更复杂的形式,但可以获得最佳性能。
可以不同的方式实现宏块的编码判决过程,而且后者现已成为大量研究工作的研究对象,这些研究虽然名目繁多,然而,可以按以下方式将其进行分类:
在第一种方法中,先从帧间预测模式组中得到最佳帧间预测模式,然后,如果存在若干帧内预测模式,则从帧内预测模式组中确定最佳帧内预测模式,然后,在最佳帧间模式和最佳帧内模式间做出选 择,最终实现宏块编码。这种方法通常对应于参考模型算法中提出的方法。算法工具基于图像间差异测量和局部活动性计算。可以参考比如文献MPEG-4视频验证模型版本18.0的第3.3.2.3节(帧内/帧间模式判决)。
另一种技术总体而言是一种后验技术,包括:假设各种编码模式下宏块的编码开销以及恢复质量。这可以通过计算psnr(峰值信噪比)或sad(绝对差之和)或satd(绝对变换差之和)(尤其是Hadamard变换)或sse(平方误差和)或ssd(平方差之和)来获得。
因此,这类算法计算每种模式下的源宏块和重建块或宏块之间的差。重建块需要知道预测块,根据预测块可推出残余块、残余块的DCT(离散余弦变换)系数、DCT系数的量化、逆量化以及逆DCT。将这个表示重建残余块的逆DCT与预测块相加,以提供重建源块。在纯粹的帧内模式下,也就是说不进行预测的情况下,预测块的值等于0。
例如,上述算法在2000年3月1日公开的、以EP0982951为参照的、题为“picture compression process”的欧洲专利申请文献或HSchwarz、T Wiegand于2001年3月发表的题为“An improved MPEG4coderusing lagrangian coder control”的文献中有所说明。
用以下公式表示不同的恢复质量测量sad、satd、ssd以及psnr:
sad=(Σi,j=0i,j=15|MBsrc(i,j)-MBrec(i,j)|)
satd=(Σi,j=0i,j=15|HadamT(TBsrc(i,j)-MBrec(i,j))|)
sse=(Σi,j=0i,j=15(MBsrc(i,j)-MBrec(i,j))2)
psnr=-10Log(Σi,j=0i,j=15(MBsrc(i,j)-MBrec(i,j))2)/(2552x256)
其中:
i、j:宏块MB中包含的像素的行和列索引,
MBsrc源宏块
MBrec重建宏块
对于本例,satd测量对应于大小为16×16像素的块中所包含的差的Hardamard变换系数的绝对值之和。
参考算法MPEG4-AVC中采用如下的后验判决准则:
Jmode=ssemode+λmode.MBcost
其中
—Jmode是用来搜索最小“开销”的实体,并用于选择最终的编码模式,
—sse是源像素和重建后(也就是进行逆量化Q-1后进行逆变换DCT-1,再与预测块相加)像素之间的均方误差的测量,
—λmode,通常称为拉格朗日因子,是一个取决于量化步长QP的加权因子,
—MBcost是宏块的实际编码开销。
同后验算法相比,先验编码模式的选择算法效能较低,但后验算法需要执行更复杂的运算,需花费大量的处理时间。

发明内容

本发明的目的之一是为了克服上述缺点。
本发明的目的是提出一种用于对图像序列的视频图像进行编码的方法,包括:将图像分成块,然后根据图像间型预测编码模式和/或图像内型预测编码模式中至少一种的编码模式,对源块进行编码,其中图像间型预测编码模式使用来自在前和/或随后图像的信息,而图像内型预测编码模式使用来自当前图像的信息;源块的预测编码模式对残余块,即源块和根据所述信息计算得到的预测块之间的差异,进行余弦变换和量化,以提供量化系数,其特征在于,根据所测试的不同编码模式下的编码误差估计以及源块的编码开销估计,为所述源块执行所述编码模式的选择,针对编码模式,根据与该编码模式有关的残余块从空间域到频域的数学变换后得到的系数的绝对值之和、并根据与该编码模式相对应的量化系数的绝对值之和,来估计编码误差。
依照具体实现,编码误差等于:
SATDdec_est=SATDpred-f(QP)x.EnergyTQ其中
—SATDpred,是经Hadamard变换后得到的残余块的系数的绝对值之和,
—QP是量化步长,
—f(QP)是预定义的量化步长的函数,
—Energy是所述量化系数的绝对值之和。
依照具体实现,函数f(QP)等于f(QP)=δ×(QP)2,δ是预定义常数。
依照具体实现,编码模式的选择取决于参数Jmode:
Jmode=SATDdec_est+WQP(α.Headercost+γ.EnergyTQ)其中
—WQP,是取决于量化步长QP的值,
—Header,是以比特计算的用于对数据流中的宏块进行编码的编码头的开销,
—α和γ是预定义值的参数。
依照具体实现,参数WQP与量化步长QP成比例。
依照具体实现,δ=1/136,误差范围在10%以内,α=2,γ=4,且WQP=QP/5。
依照具体实现,运动估计根据Hadamard变换执行相关计算,以从在前图像获取所述信息。
本发明还涉及一种用于实现前述方法的设备,包括:处理电路以及存储器电路,用于计算针对不同编码模式的编码误差估计,其特征在于,处理电路根据以下公式对编码误差进行估计
SATDdec_est=SATDpred-f(QP)x.EnergyTQ,
而且,其特征在于,存储电路包括函数f(QP)针对量化步长QP在其演变范围内的不同值的预先确定值。
所提出的方法介于先验和后验技术之间,也就是说,它既实现了后验测量所产生的参数,又实现了先验测量所产生的估计。
本发明使得有可能以降低的算法复杂度、在无需重建宏块的情况下,获得接近基于后验的判决的比特率/失真性能。

附图说明

通过作为非限制性示例给出的、并参照图1的说明,本发明的其他具体特征和优点将更加明显。

具体实施方式

编码方法,如MPEG 4第10部分或H264,以帧内或帧间模式对源宏块MBsrc进行编码。
帧间模式编码可以形成:源宏块MBstc和预测宏块MBpred之间的差,该预测宏块MBpred是根据由本地解码器重建的、一个或更多个先前已编码的参考图像而计算得到的;以及在计算预测宏块时要考虑的表示同源块相关的重建块的运动信息。
帧内模式预测编码在计算预测宏块时考虑待编码源宏块所属图像内的信息,比如,和先前已编码的相邻宏块的像素的平均亮度或亮度值有关的信息。H264标准描述了若干帧内预测模式。
本发明涉及一种实现编码判决算法的编码方法,其受到前面提出的后验判决准则(Jmode)的启发。
该编码判决基于以下参数测量:
-先验测量,也就是SATDpred计算,即对图像内和图像间编码模式下像素域内的待编码像素或残余预测误差或残余块进行的测量。
-与量化系数有关的测量,包括第一项EnergyTQ和第二项Headercost:
EnergyTQ对应于量化后的系数和,该系数是像素域内的残余块经DCT变换后得到的。该参数将以某种方式提供关于重建宏块所需的信息量的信息。
Headercost对应于宏块头的编码开销。在已知与宏块有关的全部信息(如待编码系数的数量)的情况下,可以准确计算出宏块头的编码开销。
用于量化宏块系数的量化步长QP对该最后测量进行加权,加权因子WQP直接取决于量化步长。
因此,编码模式判决算法由以下公式给出:
Jmode=SATDdec_est+WQP(α.Headercost+γ.EnergyTQ)
-SATDdec_est是估计的已解码SATD,下面将进一步加以阐释。其目的是为了提供重建误差估计或经编码后基于SATD的解码误差。
-WQP是加权因子,取决于量化步长QP。
-公式(α.Headercost+γ.EnergyTQ)给出了其值最接近于宏块的编码开销的演变(evolution)的信息。参数α、γ允许对数量Headercost和EnergyTQ进行加权。应当理解的是,Headercost表示宏块头比特中的编码开销,而EnergyTQ对应于量化后的系数的和。
为每种可用的编码模式计算Jmode值,并保留具有最小值的一个,用于对宏块进行实际编码。
首先,考虑与Hadamard变换像素域中残余块的系数之和相对应的预测误差SATDpred,来近似源和重建图像之间的误差估计SATDdec_est,然后使用DCT变换像素域中的残余块的系数的量化值的加权和,以减小该预测误差SATDpred。
因此,允许根据SATDpred来获得SATDde_cest编码中固有误差的估计的关系式如下:
SATDdec_est=SATDpred-f(QP).EnergyTQ
其中:
-SATDpred是先验计算得到的源宏块和预测宏块之间的SATD,对应于预测误差,并且对应于将前述satd等式的项MBrec用MBpred替换后得到的等式。
-EnergieTQ=ΣiMB|TQi|是DCT变换和量化后的系数的绝对值之和。
-f(QP)是加权参数,取决于量化步长QP的值。
可以采用经典方式计算所用量化步长,例如可以采用比特率控制算法。
如果得到的SATDdec_est是负值,就强制该值为0。
SATDpred项对应于残余块系数的和,其中该系数是通过在像素域 中对残余块进行Hadamard变换得到的。由于一般而言在运动估计过程中已事先算出Hadamard变换,因而可以直接利用,故此处提出采用Hadamard变换。Hadamard变换还是一种比DCT变换更简单的计算。然而,这种选择并不是唯一的,因此采用残余块的DCT变换也属于本发明的领域范围。
项EnergyTQ对应于量化系数的和,该量化系数是通过对像素域中的残余块进行DCT变换和量化后得到的,而且项f(QP)确定作为量化步长的函数的值。
SATDdec_est值使得可以在无需计算重建块(即解码后的源块)的情况下,对编码或重建误差(即源块和重建块之间的误差)进行估计。
例如,如果残余块的亮度值足够小,以致于产生了无效(null)量化系数(即小于量化步长),那么Energy的值等于0,并以SATDpred 来估计编码或重建误差,其中SATDpred对应于根据Hadamard变换而得到的已变换残余块,此信息同编码过程中实际“损失”的残余有关。
例如,如同在纯粹的帧内模式(即不进行预测)的情况下,如果预测块无效,则SATDpred预测对应于已变换的源块,从中减去代表量化后的已变换源块的值,就可以估计出编码误差。
这个SATDpred与源块和预测块之间的差的Hadamard变换有关,可以将其看成是对最大编码误差或预测误差的估计,其中编码器和解码器处使用的预测块相同。如果量化残余块无效,则该最大误差就成为估计误差,为解码器提供与预测块相同的重建源块。
然而,可以通过传输经量化和编码的残余块而使预测误差最小化,这样,解码器处的重建块就成为处将其与已解码残余块相加的预测块。在这种情况下,解码器中的重建误差小于先前定义的初始预测误差,此时重建误差估计对应于残余块解码值估计的最小化预测误差估计,其基于量化系数块和量化步长,其中量化系数块是经变换和量化后的残余块。
图1示出了对应于f(QP)函数的曲线的示例,f(QP)函数是根据经验确定的,量化步长在0和51之间。
可用量化步长的平方函数来近似该曲线:
f(QP)=δ×(QP)2
更精确地说,根据经验确定出的δ的值等于1/136.314,毫无疑问,可以在不显著影响能量参数的加权效能的前提下,粗略地(比如误差范围在大约10%左右)选取该值,
在一实施例中,WQP、α和γ参数取以下各值:
α=2
γ=4
WQP=QP/5
上述值是通过对一组不同序列进行大量仿真而定义的,因此不论量化步长QP的值是多少,算法的性能都尽可能接近后验判决算法的性能。
下面是仿真结果比较,使得可以根据完全的先验和后验编码判决定位该算法性能。在下表中将以采用后验算法获得的比特率作为参照。
    新算法    先验算法    auto+    4.3    17.87    bball    4.75    11.09    bigdil    3.86    9.9    bus    2.95    11.2    ski    4.26    18.26    stefan    3.23    12.52 
第一列表示图像处理领域中众所周知的典型序列。第二列表示针对每种序列通过应用依照本发明的算法所带来的比特率增加,它是相对于后验判决算法的比特率的百分比,第三列表示与先验算法有关的比特率的增大。可以依照G Bjontegaarg推荐的“Calculation of averagePSNR differences between RD-Curves”(文献VCEG-M33,2001年3月)所推荐的方法,通过比较比特率/失真曲线来计算比特率的百分比增益。
本发明还涉及一种视频图像序列编码设备。后者以一种已知方式,包括:处理电路、运动估计电路、DCT变换电路、符合例如MPEG 4-AVC标准的用于编码的量化器。处理电路尤其实现了如前所述的编码模式判决算法。由于存储了函数f(QP),处理电路可为对应于待编码宏块的量化步长值而计算该函数。
依照具体实现,可通过针对量化步长分布在其演变范围上的不同值而存储曲线上的点,以此来代替该计算过程。处理电路将在该存储器中对应于所用量化步长的地址处搜索f(QP)值。该存储器还可以直接包含(即不使用f(QP)曲线)根据经验计算获得的值。
凭借其设计,失真估计、取决于量化步长QP的编码开销估计、以及判决算法就可以在支持该估计的所有类型的编码器中实现,特别是用于选择包括宏块的子分区。例如,考虑mpeg4-AVC编码标准以及16×8帧间编码模式,其对应于由两个16×8像素大小的分区组成的宏块,所述算法可用于从通过运动估计器获得的不同参考图像(预测子分区)中确定出每一个子分区的最佳预测。
依照同样的思路,如果不考虑计算负荷,还可用这类算法来计算运动估计。因此,可以用本文献所描述的算法替代如下准则:该准则允许通过运动矢量把待估计的预测块与待预测的当前块进行正确的映射,通常是基于sad、satd甚至sse测量的准则。从运动估计来看,该准则的实现给出了对Jmode型编码的“开销”产生影响的想法。因而,可以在计算运动估计和选择运动矢量时考虑此开销信息。
就该准则的实现而言,以下参数可能存在各种不同的变化:
SATDdec_est=SATDpred-f(QP)·EnergyTQ
EnergieTQ=ΣiMB|TQi|
因此,比如
-一同计算关于待编码宏块的亮度和色度像素的参数集,
-可以仅计算关于亮度信号的参数集,
在另外一种变体中:
-只对亮度计算第一项SATDdec_est,
-对亮度和色度计算第二项(α.Headercost+γ.EnergyTQ),
由于仅仅在第二项中考虑了色度,因而,在这个变体中,通常向亮度质量赋予优先级,从而有损于色度,其中第二项应当是后验(MBcost)判决准则的编码开销。对于有关亮度的相同的EnergyTQ_luminance值,根据Jmode的最小值来确定模式选择,相对于色彩的EnergyTQ_chrominance值,有所不同。
最后,请注意,在以下公式中:
Jmode=SATDdec_est+WQP(α·Headercost+γ·EnergyTQ)
项WQP在可能的恢复质量和可能的编码开销之间起加权作用。事实上,如果需要向恢复质量赋予优先级,则可以减小WQP项,反之如果寻求最小可能编码开销(有损于恢复质量)就增大WQP。