产生对图像或图像序列进行编码的量化矩阵的方法和设备的制作方法

文档序号:7630024阅读:135来源:国知局
专利名称:产生对图像或图像序列进行编码的量化矩阵的方法和设备的制作方法
技术领域
本发明涉及一种自适应地产生可用于对图像或图像序列进行编码的量化矩阵的方法和设备。
背景技术
通过量化像素块的(变换后)频率系数或分量,可以实现视频编码中的明显的数据率减小效果,使得此后只需要对较少的幅度电平(amplitudelevel)编码,并且一部分量化的幅值变为0、且不需要被编码为量化的幅值。许多基于变换的视频编码标准使用默认的量化矩阵来获得较佳的主观视频编码/解码质量,例如ISO/IEC(国际标准化组织/国际电工委员会)13818-2(MPEG-2视频)。如果相关的水平和/或垂直频率被认为是相对于结果主观图像质量不太重要的频率分量,则‘量化矩阵’将较小的缩放值(即具有较大的除数)赋予块的某些频率分量。众所周知,人类心理学—视觉系统对较高的水平和/或垂直频率不太敏感,尤其是对较高的对角线频率不太敏感。
MPEG-2、MPEG-4、MPEG-4 AVC/H.264(ISO/IEC 14496-10)和MPEG-4AVC/H.264 FRExt(‘保真度范围扩展’,Redmond JVT会议,2004年7月17-23日)视频编码标准都包括对这种量化矩阵的支持。例如,ISO/IEC 13818-2在6.3.11节中公开了以下量化矩阵用于帧内块(intrablock)的默认‘量化矩阵’,它具有不同的量化器除数,最大的量化器除数位于8*8除数阵列中的右下部位置;以及用于非帧内块的默认量化矩阵,它对8*8阵列中的所有位置都具有相等量化器除数。可以通过编码器发送用户定义的量化矩阵,以供解码器之用,见ISO/IEC 13818-2中的6.2.3.2节。
H.264FRExt为更专业的应用重新引入了量化矩阵。与其它视频编码标准如MPEG-2和MPEG-4一样,量化矩阵能够用不同的缩放值来量化不同的离散余弦变换(DCT)系数。8*8变换被添加到H.264FRExt中,旨在专业的高清晰电视(HDTV)应用,然而8*8变换不在H.264Main Prole中。主观质量也是高清晰(HD)视频编码的重要问题。在大多数情况下,贯穿图像序列,对于不同频率的量化矩阵都被设置为默认或固定的。
在以下描述中,有时参考以下现有技术列表[1]G.Wallace,“The JPEG still picture compression standard”,Communications of ACM.34(4),30-441991. T.Wiegand,G.Sullivan,“Draft ITU-T Recommendation and FinalDraft Intemational Standard of Joint Video Specification(ITU-T Rec.H.264|ISO/IEC 14496-10AVC)”,Mar 31,2003. K.R.Rao and P.Yip,“Discrete Cosine TransformAlgorithms,Advantages,Applications”,Boston,MAAcademic,1990. G.Sullivan,T.McMahon,T.Wiegand,A.Luthra,“Draft Test ofH.264/AVC Fidelity Range Extension Amendment”,JVT-K047,ftp//ftp.imtc-files.org/jvt-experts/2004_03_Munich/JVT-K047d8.zip. B.Tao,“On optimal entropy-constrained dead-zone quantisation”,IEEE Transactions on Circuits and Systems for Video Technology,Vol.ll,pp.560-563,April 2001. F.Müller,“Distribution shape of two-dimensional DCT coefficients ofnatural images”,Electronics Letters,29(22)1935-1936,October 1993. S.R.Smoot and L.A.Rowe,“Laplacian Model for AC DCT Terms inImage and Video Coding”,Ninth Image and Multidimensional SignalProcessing workshop,March 1996. Watson et al.,“DCT quantisation matrices Visually optimised forindividual images”,Human Vision,Visual Processing and Digital Display IV,Proceedings of SPIE 1913-1(1993). Yingwei Chen,K.Challapali,“Fast computation of perceptuallyoptimal quantisation matrices for MPEG-2intra pictures”,Image Processing,1998,ICIP 98 Proceedings 1998 International Conference,4-7Oct,1998. H.Peterson,A.J.Ahumada,A.B.Watson,“An Improved DetectionModel for DCT Coefficient Quantisation”,Proceedings of the SPIE,1993,pp.191-201. E.Y.Lam,and J.W Goodman,“A Mathematical Analysis of theDCT Coefficient Distributions for Images”,IEEE Trans.On Image Processing,Vol.9,No.10,PP.1661-1666,2000. Cristina Gomila,Alexander Kobilansky,“SEI message for film grainencoding”,JVT-H022,Mar 31,2003. Zhihai He and Sanjit K.Mitra,“A Unified Rate-Distortion AnalysisFramework for Transform Coding”,IEEE Transactions on Circuits and Systemfor Video Technology,Vol.11,PP.1221-1236,December 2001.
许多当前图像和视频编码标准都基于离散预先变换(DCT),如联合图像专家组(JPEG)[1]、MPEG-2、MPEG-4和AVC/H.264。在一阶马尔可夫(Markov)过程的某些条件下,对于自然图像,DCT变换是理想Karhunen-Loeve变换KLT的一种鲁棒近似,DCT变换相对于KLT的优点在于,它独立于图像内容。DCT用于使图像信号去相关,并用于将信号能量压紧在例如从相应像素块获得得8*8系数块内的较少位置。在DCT后面,通常进行量化和熵编码。如上所述,量化过程常常丢弃图像细节,以便获得高压缩比。因此,在量化过程中,关键的是保持最重要的图像信息(即系数)、而丢弃不太重要的系数。这可以通过修改量化矩阵中的量化器除数值来实现。如果可用于对图像或片编码的输出比特率被预先确定,或者其它编码参数被固定,则使用自适应量化矩阵的特征促进了对块中不同频率位置进行选择的灵活性。选择良好量化矩阵的目的是更佳的(可测量的)编码/解码质量,尤其是更佳的主观质量,在高比特率视频编码应用中该目的甚至更有吸引力。H.264FRExt中也重新引入了8*8变换[4]。关于图像和视频编码中使用的8*8DCT系数,已经进行了许多研究[5][6][7],如感觉最佳量化矩阵设计和主观质量评价[5][8][9]。
JPEG将图像分成小的8*8块,并对每个块使用DCT。在变换处理中,MPEG-2象JPEG一样处理I帧[1]。因此,当为MPEG-2I帧设计量化矩阵时,几乎和JPEG中一样。在H.264FRExt中,当对Y分量使用8*8变换时,用于帧内块的默认量化矩阵不同于MPEG-2中使用的量化矩阵,这是因为只有帧内预测后的残差(residue)被编码,这意味着这些残差的统计分布不同于DCT系数自己的统计分布。预测误差可以传播,并且如果量化矩阵改变了,则最佳预测方式可以相应地改变。
对于P帧和B帧,帧间块编码是主要的。不失一般性,以下那些情况将被称为‘帧间块’,来代替‘P帧’或‘B帧’。对于帧间块可能出现相同的问题,如DCT误差传播的不同分布。然而,对于P帧编码,由自适应量化矩阵造成的误差传播不太强,但是仍然造成问题。
Watson等[8]提出了一种为JPEG设计感觉上最佳的量化矩阵的方法,该方法对于低和极低比特率提供主观质量改善。然而,对于高比特率编码,这些感觉上最佳的方法不是最佳的。Watson等在根据频率阈值处理来设计图像相关量化矩阵的方面,已经进行了详尽的工作[8][10]。在Watson的出版物中,假定人类对不同DCT频带的灵敏度是不同的。根据视觉实验,测量了所谓的“检测阈值”,它代表人类可感觉到的最小失真。Watson理论声称,该检测阈值与整个块的平均亮度以及相应频率分量的绝对值相关。在确定检测阈值之后,将每个频率分量的感觉误差定义为量化误差除以检测阈值。为了组合一幅图像中所有DCT频率分量和所有块的误差,Watson使用了另一种被称为‘β-norm’的视觉模型。

发明内容
虽然Waston方法很适用于象JPEG那样的帧内图像(intra picture)量化矩阵设计,但是它对于残留图像的性能不象预期的那样好,尤其是对于高比特率图像编码。
为了执行高比特率视频压缩,重要的是为由于详细或复杂图像内容而使可得平均比特率太受约束的图像区,保持更多细节,这意味对于高频,在量化期间应该不只使用较大缩放。Watson方法可以被认为是量化误差的加权组合。当设计量化矩阵时,公知算法是基于如[5]和[9]中所公开的均方误差(MSE)优化,[5]和[9]将传统的MSE和某些感觉上最佳的加权一起用于8*8频率位置的每一个。权重可以是块图像内容自适应的或块无关的。理论上,如果某些权重被加到频率的失真值上,乃至如果只使用量化矩阵,则失真不变性就被破坏。从而,公知方法仅仅试图定义近似模型。
根据本发明,对于自适应量化矩阵的设计或选择,借助于其它测量来计算失真可以产生更好的结果。此外,不利用任何形式失真的测量对于最佳量化矩阵的设计也可以是有效的。人类视觉系统(HVS)也可以从无失真模型开始,来为新测量训练良好权重。
迄今为止,没有公知的HVS模型考虑胶片颗粒(film grain)问题,胶片颗粒问题尤其和HD或HDTV质量的电影编码有关[12]。在这种情况下,对于信号质量评价,作为基于失真的客观质量标准的峰值信噪比(PSNR)根本不准确,这是因为令人愉快的噪声被加到图像中。虽然不使用任何传统的基于MSE的测量或HVS模型,但是保持胶片颗粒的编码技术应该获得良好性能。
如上所述,基本上可以将MSE选为确定信号失真的标准,并且MSE被广泛使用,这是因为许多空间如Hilbert空间都使用L2范数作为能量测量形式。迄今为止,图像或视频编码中使用的变换都是标准正交(即正交和标准化的)变换,例如DCT、Haar小波或Hadamard变换。标准正交变换是距离不变的,因此是能量不变的。因此,应该在空间域中累积的信号失真也可以在变换域或频域中被累积。基于这个概念,当设计量化矩阵时,借助于人类频率敏感性的某些视觉模型,大多数公知方法都基于变换域中每个频率分量的失真。因此,根据本发明,需要一种不同的图像/视频质量评价或比特分配方法,该方法从基于非MSE(失真)的模型开始,并且将产生更好的主观结果,尤其是对于高比特率压缩。
如以上已经提到的,应用量化矩阵的目的是,在编码处理中将较小的缩放值分配给被认为是不太重要的频率分量,并将较大的缩放值分配给更重要的频率分量。从而,最重要的问题是评价不同频率分量的重要性。在现有技术中,把加权失真用作这种评价的测量,借此高频分量将被给予大量化除数值,从而被给予很小的比特分配。然而,在JM FRExt参考软件中,默认帧内8*8量化矩阵中缩放的方差小于MPEG-2和MPEG-4默认量化矩阵中缩放的方差。主要原因是,帧内预测方法使正常DCT系数变成残留DCT系数,并且对于包含丰富细节的图像,具有小方差的量化矩阵更好。因此在媒体或高比特率应用中,从默认量化矩阵开始,每个频率分量都应该相互竞争,以得到更多的分配位。‘优胜者’是那些对于某些测量获得高性能的频率分量,它们可能没有失真形式,但是将更关心图像内容细节。
在设计量化矩阵的过程中,也应该考虑比特约束条件。许多现有技术都建议DCT AC系数的分布服从Laplacian分布[6][7][11]p(x)=λ2e-λ|x|,]]>其中p(x)是随机变量x的概率,λ是均值。对于这种简单情况,它的标准偏差σ2导致以下均值λ公式λ=2σ.]]>在具有死区[-Δ,Δ]的量化过程之后,零的百分比p为p=∫-ΔΔλ2e-λ|x|dx=1-e-λΔ.]]>在Zhihai模型[13]中,速率R的下限为R(p)=log2[1+(1-ρ)1-(1-ρ)]=2(1-ρ)log2e+O([1-ρ]3),]]>其中ρ是零的百分比。
虽然有现有技术声称分布更接近于Gaussian或一般化Gaussian分布[6],但是在[13]中这些情况被考虑到了,并且比特率R和非零百分比之间的相同线性关系被保持。
本发明要解决的问题是,提供或产生或修改改进的量化矩阵,该改进量化矩阵实现更高的主观图像质量,并且为由于详细或复杂图像内容而使可得比特率太受约束的图像区、保持更多细节,尤其是在高比特率视频压缩中。通过权利要求1中公开的方法来解决该问题。权利要求2中公开了使用该方法的设备。
如上所述,在H.264FRExt中,在大多数情况下,贯穿整个图像序列、不同频率的量化矩阵都被设置为默认或固定的。然而,有一些情况,图像组(GOP)中的某些区充满细节或高频信息。为保持这些细节以便提高主观质量,本发明中公开了几种为I帧、P帧和B帧产生自适应量化矩阵的方法。在H.264FRExt中,量化矩阵是基于片(slice)的,并且每一片都具有图像参数集标识符(ID),借此可以选择不同量化矩阵。根据本发明,利用快速两轮或多轮基于频率的处理来为不同视频序列产生一个或多个自适应量化矩阵,尤其是为I帧、P帧和B帧产生自适应量化矩阵。本发明的量化矩阵产生从默认的帧内和帧间块量化矩阵开始,并由此得到对于给定图像序列感觉上最佳的量化矩阵。在第一轮,构造给定图像序列的量化矩阵,在第二轮将所产生的量化矩阵用于重新编码那个图像序列以及产生相应比特流。在DCT变换之后,将残留图像(预测之后)重新排序成不同频率分量。提取量化后系数的直方图,以便计算测度或度量。根据现有技术的基于失真的测度,利用几种测度来迭代选择DCT域中的敏感和不敏感频率。但是,这是基于每个频率分量的量化电平分布。诸如死区中百分比或熵变化的测度或度量用于选择相当重要的频率分量,以便增大或减小量化矩阵的相应值。不同频率分量的熵之和可以用作测定所得图像/视频质量的标准。
自适应量化矩阵可以是基于片的,即每一片都具有用于选择不同量化矩阵的图像参数集ID。
原则上,本发明方法适于产生可用于对图像或图像序列进行编码的量化矩阵,其中利用所述量化矩阵对与像素差值块或预测像素块相关的变换后系数的编码块进行量化,或另外进行逆量化,在所述量化矩阵中特定除数被赋予系数块中系数位置的每一个,所述方法包括以下步骤加载包括一个用于变换后直流系数的除数和多个用于变换后交流系数的除数的预定量化矩阵,作为候选量化矩阵;对于给定图像或图像序列,或者对于给定图像或图像序列中的片,迭代地a)在所述候选量化矩阵中增大所述交流系数除数中的一个或多个,同时在所述候选量化矩阵中减小所述交流系数除数中的另外一个或多个,b)对于所得到的(resulting)更新后候选量化矩阵的已改变除数,测量在把更新后候选量化矩阵应用于所述编码中时、所得到的图像编码/解码质量是否提高,如果是真的,则对于后面的迭代循环,分别允许所述已改变除数的进一步增大或减小,
如果不是真的,尝试增大和减小所述除数中的其它除数,以及/或者颠倒所述已改变除数的增大和减小;c)对于所述已改变除数的每一个,检查在迭代循环中它是否被增大及减小了,并且如果是真的,则将预定标记值赋予这种除数,并从所述除数标记值来计算矩阵状态值;如果迭代次数超过第一阈值或者矩阵状态值超过第二阈值,则输出最新候选量化矩阵作为所述量化矩阵。
原则上,本发明的设备适于产生可用于对图像或图像序列进行编码的量化矩阵,其中利用所述量化矩阵对与像素差值块或预测像素块相关的变换后系数的编码块进行量化,或另外进行逆量化,在所述量化矩阵中特定除数被赋予系数块中系数位置的每一个,所述设备包括适于以下步骤的装置加载包括一个用于变换后DC系数的除数和多个用于变换后AC系数的除数的预定量化矩阵,作为候选量化矩阵;对于给定图像或图像序列,或者对于给定图像或图像序列中的片,迭代地a)在所述候选量化矩阵中增大所述交流系数除数中的一个或多个,同时在所述候选量化矩阵中减小所述交流系数除数中的另外一个或多个,b)对于所得到的更新后候选量化矩阵的已改变除数,测量在把更新后候选量化矩阵应用于所述编码中时、所得到的图像编码/解码质量是否提高,如果是真的,则对于后面的迭代循环,分别允许所述已改变除数的进一步增大或减小,如果不是真的,尝试增大和减小所述除数中的其它除数,以及/或者颠倒所述已改变除数的增大和减小;c)对于所述已改变除数的每一个,检查在迭代循环中它是否被增大及减小了,并且如果是真的,则将预定标记值赋予这种除数,并从所述除数标记值来计算矩阵状态值;如果迭代次数超过第一阈值或者矩阵状态值超过第二阈值,则输出最新候选量化矩阵作为所述量化矩阵。
在各自从属权利要求中,公开了本发明的有利附加实施例。


参考附图来描述本发明的示范性实施例,其中图1显示了HDTV序列Kung_fu中帧内块的DCT系数分布;图2显示了那个序列中帧间块的DCT系数分布;图3显示了量化矩阵产生过程的流程图;图4显示了本发明编码器的框图。
具体实施例方式
以下将描述几种既用于帧内块、又用于帧间块的量化矩阵的自适应计算方法。这些方法可用于所有基于离散余弦变换(DCT)的图像或视频编码标准中,如JPEG、MPEG-2和MPEG-4 H.264 FRExt,并且为量化过程提供灵活性,以改善主观或客观质量,乃至调节比特率。对于高清晰(HD)视频编码,8*8尺寸变换的执行好于4*4尺寸变换。因此,如果没有另外声明,则在以下描述中,对于帧内块和帧间块,4*4变换被禁用,且量化矩阵都具有8*8尺寸。
图1显示了HDTV序列Kung_fu中所有帧内8*8块的64个DCT系数的幅度电平(即直方图)的平均分布。每幅小图像都和DCT位置对应。水平坐标是量化的幅值(电平),垂直坐标是量化后该电平的系数数目。小图像按按光栅次序排列,即直方图的上行代表从左到右按升序排列的完全水平8*8块频率,而直方图的左列代表从顶到底按升序排列的完全垂直频率。图2显示了该序列中所有帧间块的DCT系数的相应分布。由图1和图2,显然大多数频率分量都不是压紧或集中在零频率(即直流(DC))附近的区域(即左上边)中,而是具有较宽的分布。一方面,只有一些高频分量压紧为几乎出现零次。另一方面,有一些特殊情况,高频分量具有类似于某些低频分量的大方差。这意味着,这些高频分量是重要的,并且不应象在公知的量化矩阵中那样得到减小的权重。对于视频序列编码/解码之后的胶片颗粒保留,那些频率分量也可能是重要的。
以下假定如果给定频率系数的幅度具有较大的方差,则与具有较小幅度方差的频率分量的量化缩放减小相比,相应量化缩放的小幅减小将不造成高得多的总质量提高。因此,对于具有较小幅度方差的频率分量的量化缩放,可以给予较高的比特分配。
进一步假定,改变量化矩阵中的几个参数将不影响帧内方式决定过程和帧间运动补偿与方式决定。
虽然不使用均方误差(MSE)失真测量,但是可以使用其它测量如非零幅度百分比和/或每个频率分量的熵,来决定量化矩阵中的哪些缩放值将减小或增大。有利地,这意味着,在某种程度上也可以用那些测量来评价编码/解码质量。
以下,使用术语‘量化参数’(以QP表示)。QP代表量化过程中的又一除数。对于8*8块中的每个频率分量,该除数都具有相同值。根据以下公式来从变换系数coefij计算量化的变换系数coefqijcoefqij=coefij/QP/QMij,其中QM是量化矩阵,并且i和j是8*8块中的水平和垂直位置索引。根据本发明,在第一轮期间可以使用小QP‘20’来训练量化矩阵产生,这是因为高比特率压缩是目标。对于极高比特率压缩,该QP数可以更小。根据另一实施例,第一轮期间可能的QP配置是,将第二轮中的最后QP复制到第一遍中,即使用目标QP来训练量化矩阵。
在量化矩阵的每一次调节期间,量化矩阵中的几个缩放值减小,同时其它几个缩放值增大,以便使所得比特率保持近似恒定。DC分量的缩放值保持不变。
可以通过只考虑I帧,来产生帧内块的量化矩阵。然而,帧间块量化矩阵的产生是不同的可以使用P帧的帧间块。根据这种块的运动矢量,块选择过程对帧间块也是有用的。
但是,一旦块数据被接收和变换,帧内块和帧间块量化矩阵的调节过程就是相同的,并且只需要考虑残差。
不失一般性,只详细描述产生帧内块量化矩阵的过程步骤0 T=0;M_Status[8][8]={0,0...},其中T是循环计数器,M_Status是矩阵M的元素的状态矩阵。
步骤1 M=M0,encode_slice(),其中M0是初始量化矩阵,M是更新量化矩阵。
步骤2 TM=M,其中TM是候选或测试量化矩阵。
对于除(i,j)=(0,0)以外的每个0≤i,j<8TMij=Shrink(Mij)Metricij=Function(m,TMij)步骤3 通过63个位置的Metricij来选择N个最好位置{Pk}和L个最差位置{Pm}。如下所述,将用测量或度量来评价‘最好’和‘最差’位置。
更新M和M_Status使T递增‘1’步骤4 如果(T>threshold1或者ABS(M_Status>threshold2),则转到步骤6,否则转到步骤5。
步骤5 如果(need_re-encode()),则M0=M,转到步骤1,否则转到步骤2。
步骤6 M0=M,运行另一遍编码,以得到最终比特流。
图3中描述了量化矩阵产生过程的相应流程图,图中显示了步骤0到步骤6。
关于以上列出步骤的一些注释a)在步骤2中,只需要考虑残留图像。
b)在步骤2中,Shrink()函数被定义为候选量化矩阵M中要改变的所有缩放值与因子例如β=0.88的乘积。
c)在步骤3中,更新矩阵M把候选或测试量化矩阵TM中的相应值用于最好位置。对于最差位置,使用和相应因子例如1/β的乘积。
d)在步骤3中,对于矩阵M的状态矩阵M_Status的更新,可以使用以下策略对于每个频率分量,都计算缩放增大或减小的次数。一旦对于相同频率分量,系数的增大和减小都发生了,则M_Status中的相应值将被设置为大数,由此将禁止对那个频率分量进行进一步缩放调节。
e)在步骤4中,ABS(M_Status)是矩阵M_Status中所有值的绝对值之和。
f)在步骤6中,可以执行重新编码过程直到最后一次编码为止,但是优选地,之前记录量化矩阵。
g)对于帧间图像,可以一起考虑来自几个帧的帧间块,以获得那些帧间图像的量化矩阵。可以利用视频分析将帧分成分区或片。因为帧间量化矩阵的缩放值一般较小,所以优选地因子β大于帧内量化矩阵中所用的因子β。另一种方式是将β设置为‘1’,并且仅仅增加或减小‘1’来分别增大或减小缩放值。然而,实验显示,帧内块量化矩阵的设计比帧间块量化矩阵的设计要重要得多。
h)实验显示,即使按照步骤5对帧进行重新编码,最终量化矩阵M也将不出现大变化。因此,可以总是忽视重新编码步骤,并且不是在步骤4之后继续执行步骤5,而是可以直接转到步骤2。
如步骤2中所使用的函数(以F表示)是重要的。F是和量化矩阵的缩放将要造成的变化相关的测量。以下,在没有特别说到的情况下,对单一频率分量或系数位置计算所有参数和测量。
如果缩放比例缩小,则在应用当前测试量化矩阵之后对所有块计算的给定频率分量的非零系数百分比将改变。F被定义为F=(ρ0-ρ1)/(1-ρ0),其中ρi是某个频率分量的零百分比,下标‘0’对应于旧缩放,而下标‘1’对应于新缩放。对于分母为零的情况,需要进行特殊处理。F越大,某个频率分量就越重要。因此,可以选择最好的频率分量和最差的频率分量。一次要调节的最好频率分量数目的可能选择是N=4,要调节的最坏频率分量数目是L=2。在量化之后,计算非零系数数目或非零值百分比。换句话说,此时要紧的只是每个量化后的系数的幅度电平。对于具有W*H尺寸的帧内图像(intra-frame),按照帧内预测,有No_block=(W/8)*(H/8)个块。在8*8变换后,每个块都有一个DC系数和63个交流(AC)系数。对于给定量化矩阵,相同频率分量ACij的No_block个AC系数被量化,并且该频率分量的幅度电平直方图被获得作为Hisij。因此,在量化后,作为简单统计变量的ρ=Hisij(0)只关心‘0’电平系数的数目。处于死区(dead zone)(其中所有系数都将被量化为0的区域)的系数数目是频率分量非常重要的信息,并且系数是否处于死区有很大差别。
对于Laplacian情况,
F=(ρ0-ρ1)/(1-ρ0)=(e-λW0-e-λW1)/(e-λW0)=1-e-λ(W1-W0)]]>其中W0和W1是在调节一次缩放前后,系数要跳出死区的最小值。即(例如)只有当α≥Wi时,以‘α’表示的系数才能跳出死区,由此得到‘1’电平。
对于更一般的分布,可以假定,某个频率分量的概率分布函数P(x≤X)在
范围中,其中‘x’是随机变量,‘X’是正实数。
于是,F=P(x≤W0)-P(x≤W1)1-P(x≤W0)=P(W1<x≤W0)P(W0<x).]]>在此,为简单起见,只讨论随机变量分布在正区(positive area)的情况。此外,如果使用W1=W0β,则F=P(βW0<x≤W0)P(W0<x).]]>因此,测量F取决于分量的起始缩放值W0和幅值分布。如果两个频率分量始于相同缩放值,则更加紧缩的分量将有机会减小除法因子,即有机会缩小缩放值。
根据人类视觉系统(HVS),默认的量化矩阵为不同的分量设置不同的缩放值。当与默认量化矩阵相比,本发明的方法保持默认量化矩阵的大体结构,但是调节了一些分量,以便简化幅值分布。优选地,在某些相似条件下,通过将较高的比特分配给予更紧缩的频率分量来缩小死区。
对于帧内块,因为AC系数的分布,所以在量化过程期间,大多数系数都落入死区中,这意味着AC系数值的所有信息都丢失了、或者被大大消去了。如上所述,根据高频系数可能代表噪声或者可能对于人类视觉系统不太敏感这一假定,公知编码标准的默认量化矩阵常常将大量化除数赋予高频。对于帧间块,可以利用相同策略来获得更好的量化矩阵。对于某些视频序列,迄今对于帧间块的结果不明显。但是,即使帧间块量化矩阵没有改变,因为更好的帧内块量化矩阵,在后面的许多帧中都可以注意到更好的主观质量。
在本发明中,定义了频率分量敏感性的几种测度。例如,度量或测度应该代表跳出死区的系数值数目和已经在死区之外的系数值数目之间的比例。
下表显示了可以用于视频序列kung_fu的量化矩阵

如果每个频率分量的幅度电平直方图包含的信息比零幅度多,则更一般的度量或测度和每个频率分量的熵有关。对于频率分量(i,j),熵为Hij=Σl-Hisij(l)log2Hisij(l)]]>因此,可以将另一种测度定义为ΔFij=ΔHij。对于先前缩放中有极少数非零电平、并且缩放的当前缩小之后有几个系数跳出死区的情况,该测度非常有用。而且,在频率分量有许多非零电平的情况下,相同的系数变化将不导致相应熵的大幅增加。在量化之后,所有DCT值都被量化为幅度电平l=0,1,2及更高电平。为了给出每个频率分量熵的更有效表示,将Hij公式中的电平剪切为有符号值0、-1、1、-2、2、-3、3等等。即,绝对值大于‘3’的电平分别被处理为‘3’或‘-3’。这种方法是基于以下经验大多数系数都处于死区,并且只有极少数高幅值电平。
当考虑提高主观质量时,必须记住,利用默认量化矩阵编码的视频序列的比特率和利用本发明量化矩阵编码的视频序列的比特率通常不完全相同。这意味着,保持比特率是影响量化矩阵评定的另一个重要问题。可以考虑另一种测度fij=ΔHij/ΔRij,其中ΔRij是由于使用修改的候选量化矩阵而造成的比特率差。用相同比特率来获得多数熵值E=Σi,jHij.]]>换句话说,比特分配策略倾向于具有更多熵增加的频率分量。然而,该测量极其耗时,这是因为只有在编码过程之后才能确定真实比特率为了得到63个Fij值,需要对帧(乃至完整视频序列)重新编码至少63次。为避免这种冗长计算,可以使用ΔR的估计,如Zhihai的基于ρ域模型(见[13])。
在图4中,编码器的视频数据输入信号IE包含例如16*16宏块数据,该宏块数据包括用于编码的亮度和色度像素块。在要对视频数据进行帧内或场内编码(I方式)的情况下,视频数据通过未修改的减法器SUB。此后,例如16*16宏块中的8*8像素块在离散余弦变换装置DCT和量化装置Q中被处理,并且通过熵编码器ECOD被馈给复用器MUX,复用器MUX输出编码器视频数据输出信号OE。熵编码器ECOD可以对量化的DCT系数执行Huffman编码。在复用器MUX中,头信息和运动矢量数据MV以及可能编码后的音频数据,和编码的视频数据相结合。在要对视频数据进行帧间或场间编码的情况下,在减法器SUB中,基于块从输入信号IE减去预测的宏块数据PMD,并且将8*8块差值数据通过变换装置DCT和量化装置Q馈给熵编码器ECOD。量化装置Q的输出信号也在相应的逆量化装置QE-1中被处理,逆量化装置QE-1的输出信号以重构块或宏块差值数据RMDD的形式、通过相应的逆离散余弦变换装置DCTE-1被馈给组合器ADDE。ADDE的输出信号被缓存在运动补偿装置FS_MC_E的图像存储器中,运动补偿装置FS_MC_E对重构的宏块数据执行运动补偿,并将相应预测的宏块数据PMD输出到SUB的减输入以及组合器ADDE的另一输入。例如,通过熵编码器ECOD中的编码器缓冲器的占用等级(occupancy level)来控制量化装置Q和逆量化装置QE-1的特性。运动估计器ME接收输入信号IE,并向运动补偿装置FS_MC_E提供必需的运动信息,而且向复用器MUX提供运动矢量数据MV,以便传输给相应解码器、并在相应解码器中进行计算。QE-1、DCTE-1、ADDE和FS_MC_E组成接收器端解码器的模拟。量化装置Q和逆量化装置QE-1连接到量化矩阵计算器QMC,量化矩阵计算器QMC按照上述本发明处理来操作。
以上描述涉及亮度块。对于色度分量,量化矩阵为4*4,然而可以实施相同的调节方案,来根据默认量化矩阵得到改进的4*4量化矩阵。
另外,可以为不同块尺寸和/或场和帧宏块编码方式产生特殊量化矩阵。
在使用其它块尺寸的情况下,相应地修改所给出的数。
本发明具有几个优点产生量化矩阵的过程具有低复杂性。该过程较快。所得到的(resulting)量化矩阵可以用于高质量和媒体或高比特率应用,这是因为所使用的测量更关心详细频率分量。它具有保持胶片颗粒的可能性。因为只对帧编码一次、并且聚焦于残留图像,并且因为将很简单的统计量用于每个频率分量,所以可实现第一个优点。这些统计量不需要关心任何形式的失真。
只需要在[-1,1]范围内调节量化参数,来得到和原始比特率相对应的接近比特率。
权利要求
1.一种产生(QMC)用于对图像或图像序列进行编码的量化矩阵(M)的方法,其中利用所述量化矩阵对与像素差值块或预测像素块(PMD)相关的变换后(DCT)系数的编码块进行量化(Q),或另外进行逆量化(QE-1),在所述量化矩阵中特定除数被赋予系数块中系数位置的每一个,其特征在于以下步骤加载包括一个用于变换后直流系数的除数以及多个用于变换后交流系数的除数的预定量化矩阵(M0),作为候选量化矩阵(TM);对于给定图像或图像序列,或者对于给定图像或图像序列中的片,以迭代地a)在所述候选量化矩阵(M)中增大所述交流系数除数中的一个或多个,同时在所述候选量化矩阵(M)中减小所述交流系数除数中的另外一个或多个,b)对于所得到的更新后候选量化矩阵(TM)的已改变除数,测量在把更新后候选量化矩阵应用于所述编码中时、所得到的图像编码/解码质量是否提高,如果是真的,则对于后面的迭代循环,分别允许所述已改变除数的进一步增大或减小,如果不是真的,尝试增大和减小所述除数中的其它除数,以及/或者颠倒所述已改变除数的增大和减小;c)对于所述已改变除数的每一个,检查在迭代循环中它是否被增大及减小了,并且如果是真的,则将预定标记值赋予这种除数,并从所述除数标记值来计算矩阵状态值(M_Status);如果迭代次数超过第一阈值或者矩阵状态值(M_Status)超过第二阈值,则输出最新候选量化矩阵作为所述量化矩阵(M)。
2.一种产生用于对图像或图像序列进行编码的量化矩阵(M)的设备,其中利用所述量化矩阵对与像素差值块或预测像素块(PMD)相关的变换后(DCT)系数的编码块进行量化(Q),或另外进行逆量化(QE-1),在所述量化矩阵中特定除数被赋予系数块中系数位置的每一个,所述设备包括适于以下步骤的装置(QMC)加载包括一个用于变换后直流系数的除数和多个用于变换后交流系数的除数的预定量化矩阵(M0),作为候选量化矩阵(TM);对于给定图像或图像序列,或者对于给定图像或图像序列中的片,迭代地a)在所述候选量化矩阵(M)中增大所述交流系数除数中的一个或多个,同时在所述候选量化矩阵(M)中减小所述交流系数除数中的另外一个或多个,b)对于所得更新后候选量化矩阵(TM)的已改变除数,测量在把更新后候选量化矩阵应用于所述编码中时、所得图像编码/解码质量是否得到提高,如果是真的,则对于后面的迭代循环,分别允许所述已改变除数的进一步增大或减小,如果不是真的,尝试增大和减小所述除数中的其它除数,以及/或者颠倒所述已改变除数的增大和减小;c)对于所述已改变除数的每一个,检查在迭代循环中它是否被增大及减小了,并且如果是真的,则将预定标记值赋予这种除数,并从所述除数标记值来计算矩阵状态值(M_Status);如果迭代次数超过第一阈值或者矩阵状态值(M_Status)超过第二阈值,则输出最新候选量化矩阵作为所述量化矩阵(M)。
3.根据权利要求1所述的方法或者根据权利要求2所述的设备,其中为帧内块和帧间块,并且任选地为亮度和色度块、不同块尺寸、场和帧宏块编码方式中的一个或多个,产生单独的量化矩阵。
4.根据权利要求1或3所述的方法或者根据权利要求2或3所述的设备,其中每次迭代循环都通过固定系数来执行除数的所述增大和减小。
5.根据权利要求1、3、4之一所述的方法或者根据权利要求2至4之一所述的设备,其中对于块中的每个频率分量位置都建立系数幅度分布统计量,并且在所述迭代中将分布统计量用于调节所述候选量化矩阵。
6.根据权利要求5所述的方法或设备,其中计算量化后非零系数百分比和/或块中每个频率分量位置的熵,作为分布统计量。
7.根据权利要求6所述的方法或设备,其中在把量化后系数的幅度电平剪切到预定区间之后计算熵。
8.根据权利要求6或7所述的方法或设备,其中在所述量化矩阵产生过程中计算熵和输出比特率。
9.根据权利要求8所述的方法或设备,其中在所述量化矩阵产生过程中,计算由当前候选量化矩阵和先前候选量化矩阵产生的比特率之差。
10.根据权利要求6至9之一所述的方法或设备,其中将熵之和用作所述图像编码/解码质量的评价标准。
11.利用根据权利要求1和3至10之一的方法产生的量化矩阵来对图像或图像序列进行编码的方法。
全文摘要
公开了一种产生对图像或图像序列进行编码的量化矩阵的方法和设备,其中通过量化像素块的变换后频率系数或分量,来实现视频编码中的数据率大大减小效果,使得此后只需要对较少的幅度电平编码,并且一部分量化的幅值变为0、且不需要被编码为量化的幅值。本发明的量化矩阵产生始于默认量化矩阵,并由此得到对于给定图像序列感觉上最佳的量化矩阵。在第一遍,通过同时增大某些系数位置的缩放值并减小其它一些系数位置的缩放值,来为给定图像序列迭代地构造候选量化矩阵。在第二遍,将所产生的量化矩阵应用于图像序列重新编码。
文档编号H04N7/26GK1794815SQ20051013691
公开日2006年6月28日 申请日期2005年12月20日 优先权日2004年12月22日
发明者陈颖, 翟杰夫 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1