具有重要区域支持的压缩率控制方法

文档序号:7632439阅读:150来源:国知局
专利名称:具有重要区域支持的压缩率控制方法
技术领域
本发明涉及压缩率控制方法,特别是一种具有重要区域(region ofinteresting,ROI)支持的压缩率控制方法。
背景技术
为了缩小图像资料量,一般会对图像进行压缩,例如MPEG格式的图像编码(coding)。图像编码的基本单元(basic unit)为宏区块(macro-block)。若取样(sampling)为4:2:0格式,则每个宏区块具有6个区块(block),分别为4个Y区块、一个Cb区块、以及一个Cr区块。每个区块必须先经过离散余弦转换(discrete cosine transform,以下简称DCT)后,再将DCT系数(coefficient)量化成整数(integer)。一种锯齿形(zigzag)扫描或其它替代的扫描方法被用来将二维(two-dimensions)的量化系数阵列排列成一维(one-dimension)数据。最后,再利用所谓可变长度编码(variable-length coding,以下简称VLC)进行熵编码(entropy coding)。
通常,DCT系数F[v][u]的量化可表示成QF[v][u]=16*F[v][u]/(Q*W[v][u]) ...(1)其中,v、u为二维阵列的指针(index),范围从0-7。Q为每个宏区块内的各区块的量化比例因子(quantizer scale),可随着不同的宏区块改变。W[v][u]为整张图像(picture)所定义的量化矩阵(quantization matrix),用来指定每个不同DCT系数的权值(weighting factor)。图1显示在MPEG-2规格中对内部区块(intra block)所定义的预设量化矩阵。如图1的量化矩阵所示,该量化矩阵的值随着阵列指针v、u的增加而逐渐变大。此特性使得具有高频的量化系数较易变成0,原因是人类的眼睛对于低频信号较敏感,而对高频信号较不敏感。
在一般情形下,编码器会将一张图像(image)视为单一的对象(object)来编码,因此整张图像的视觉品质(visual quality)是单一性的(uniform)。然而,在某些情形下,我们希望图像中的部分区域能以较好的品质进行编码,例如,监视系统(surveillance system)即为一个好的例子。一般的监视系统会有多个摄像机连接到单一录像系统,从各个摄像机传来的图像会被缩小并结合成单一图像。然而,当我们希望某些摄像机比其它摄像机具有较高的图像品质时,传统的录像系统将无法满足该要求。另外一个例子是对于图像中混合标题(caption)时的视讯资料流的编码。由于标题一般均固定于某一位置,但是背景却不断在移动,因此在标题周围的环形假像(ringing artifact)会变的很明显。若能在该区域提供较多的位元率,则该图像的整体视觉品质将可被提升。那些我们希望获得较好品质的区域被定义为重要区域(region ofinteresting,ROI)。
但是,目前压缩率控制方法并没有支持重要区域的编码控制。同时,因为每张图像均有目标位元率(target bit rate)的限制,因此如何根据每个宏区块的优先权(priority)来分配(allocate)每个宏区块的目标位元率以达到使用者要求的重要区域的效果将是重要问题。

发明内容
有鉴于上述问题,本发明的目的是提供一种支持重要区域且能分配适当位元预算值给各区域的具有重要区域支持的压缩率控制方法。
本发明所提供的具有重要区域支持的压缩率控制方法,是由如下技术方案来实现的。
一种具有重要区域支持的压缩率控制方法,该压缩率控制方法对目前图像进行编码动作时,其特征是包含下列步骤
计算目前图像的每个宏区块的权值活动程度WAct_i,是先计算出目前图像的每个宏区块的活动程度Act_i后,根据该宏区块的优先权Pri_i计算该宏区块的权值活动程度WAct_i;计算目前图像的活动程度Act_C,是根据每个宏区块的权值活动程度WAct_i计算前述目前图像的活动程度Act_C;分配每个宏区块的位元预算值BB_i,是根据每个宏区块的权值活动程度WAct_i以及目前图像的位元预算值BB_C来分配每个宏区块的位元预算值BB_i;计算估测复杂度EstCom_C,是根据前一张已编码图像的复杂度Com_X、活动程度Act_X、以及目前图像的活动程度Act_C来计算估测复杂度EstCom_C;计算估测量化比例因子EstQ_C,是根据前述估测复杂度EstCom_C与目前图像的位元预算值BB_C来计算估测量化比例因子EstQ_C;计算虚拟缓冲占用量的初值D0,是根据一反应参数R_X与前述估测量化比例因子EstQ_C来计算虚拟缓冲占用量的初值D0;计算每个宏区块的量化比例因子Qi,是根据上一个已编码宏区块的虚拟缓冲占用量Di-1、该宏区块的优先权Pri_i、以及前述反应参数R_X来计算该宏区块的量化比例因子Qi;编码该宏区块,根据前述量化比例因子Qi编码该宏区块;更新虚拟缓冲占用量Di,是根据该宏区块的已使用位元UB_i、上一个已编码宏区块的虚拟缓冲占用量Di-1、以及该宏区块的位元预算值BB_i来更新虚拟缓冲占用量Di;以及判断该图像是否已编码完成,若已编码完成则进行下一步骤,否则跳回计算下一个宏区块的量化比例因子Qi+1。
所记载的具有重要区域支持的压缩率控制方法,其特征是还包含下列步骤计算复杂度Com_X,是根据目前图像的使用位元UB_C以及目前图像的平均量化比例因子Avg_Q计算复杂度Com_X;以及更新活动程度Act_X,是将编码完的目前图像的活动程度Act_C指定给活动程度Act_X。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述权值活动程度WAct_i为活动程度Act_i*优先权Pri_i。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述目前图像的活动程度Act_C为该目前图像的每个宏区块的权值活动程度WAct_i的总和。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述目前图像的估测复杂度EstCom_C为EstCom_C=Act_C*Com_X/Act_X。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述目前图像的估测量化比例因子EstQ_C为EstQ_C=EstCom_C/BB_C。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述虚拟缓冲占用量的初值D0为D0=R_X/31*EstQ_C。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述宏区块的量化比例因子Qi为Qi=Di-1*31/R_X/Pri_i。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述虚拟缓冲占用量Di为Di=Di-1+UB_i-BB_i。
所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述复杂度Com_X为Com_X=Avg_Q*UB_C。
本发明压缩率控制方法包含下列步骤计算出每个宏区块的活动程度Act_i后,根据该宏区块的优先权Pri_i计算该宏区块的权值活动程度WAct_i,且根据每个宏区块的权值活动程度WAct_i计算该图像的活动程度Act_C;分配该图像的位元预算值BB_C;分配每个宏区块的位元预算值BB_i;计算估测复杂度EstCom_C以及估测量化比例因子EstQ_C;计算虚拟缓冲占用量的初值D0;计算每个宏区块的量化比例因子Qi并编码该宏区块;更新虚拟缓冲占用量Di;判断该图像是否已编码完成,若已编码完成则进行下一步骤,否则跳回计算每个宏区块的量化比例因子Qi并编码该宏区块的步骤;以及计算复杂度Com_X以及活动程度Act_X,作为下一张图像的参考。
本发明地优点在于由于本发明的具有重要区域支持的压缩率控制方法,对于优先权较高的宏区块以较小的量化比例因子进行编码,因此,可以得到较好的编码图像品质。
以下列举具体实施例并结合附图详细说明本发明具有重要区域支持的压缩率控制方法。


图1显示在MPEG-2规格中对内部区块所定义的预设量化矩阵。
图2所示为一张图像中宏区块具有不同优先权分布的优先权表的例子。
图3显示是根据图2的优先权表所转换的量化比例因子表。
图4显示本发明具有重要区域支持的压缩率控制方法的流程图。
具体实施例方式
在MPEG编码技术中,若宏区块以较小的量化比例因子来进行量化时,其译码后的的图像品质会较好。本发明具有重要区域支持的压缩率控制方法即利用该特性,指定图像中的部分宏区块具有较高的优先权(priority),并以较小的量化比例因子来编码这些宏区块。图2所示为一张图像中宏区块具有不同优先权分布的优先权表的例子。如该图所示,每个格子代表一个宏区块,每个宏区块可以个别指定一个优先权。例如,图2所示中,椭圆形区域被定义为重要区域,因此指定给该重要区域的宏区块的优先权为2,其余的宏区块的优先权为1。图3显示根据图2的优先权表所转换的量化比例因子表。如图3所示,优先权指定为1的宏区块的量化比例因子为8,优先权指定为2的宏区块,其量化比例因子为4,仅为优先权指定为1的宏区块的量化比例因子的一半。所以,优先权较高的宏区块可以得到较好的编码图像品质。
根据编码时的位元率限制,编码器必须对每张图像分配一个位元预算值(bit budget)BB_C。之后,编码器必须以适当的量化比例因子对每个宏区块进行编码,藉以将实际使用的位元率控制在接近位元预算值的范围。而对于本发明的具有重要区域支持的压缩率控制方法,编码器不仅要控制所使用的位元率,还必须控制每个宏区块的图像品质。
在进行编码之前,每张图像的活动程度(activity)必须被计算出来,而该图像的活动程度为每个宏区块的活动程度的总合。对于一个内部编码(intra-coded)宏区块而言,其活动程度为四个亮度(luminance)区块的变异量(variance)的总和;而对于一个关联性编码(inter-coded)宏区块而言,其活动程度为四个剩余(residual)区块的变异量(variance)的总和。之后,该宏区块的活动程度根据该宏区块的优先权Pri_i来调整成权值活动程度WAct_i,亦即WAct_i=Act_i*Pri_i。而该图像的活动程度即为每个宏区块的权值活动程度WAct_i的总和。在图像编码完成之后,平均量化比例因子Avg_Q与实际使用位元量UB可以被计算出来,因此该图像的复杂度Com_C可根据式(1)计算出来Com_C=Avg_Q*UB ...(1)因此,在X-图像(X可为I、P或B)编码完后,该图像的活动程度Act_C与复杂度Com_C被用来更新X-图像的活动程度Act_X以及X-图像的复杂度Com_X。所以,使用上一张X-图像的活动程度Act_X、复杂度Com_X、以及目前图像的活动程度Act_C即可计算出目前图像的估测复杂度EstCom_C。其计算方式如式(2)所示EstCom_C=Act_C*Com_X/Act_X ...(2)而且,利用目前图像的估测复杂度EstCom_C以及目前图像的位元预算值BB_C,即可计算出目前图像的估测量化比例因子EstQ_C。其计算方式如式(3)所示EstQ_C=EstCom_C/BB_C...(3)估测量化比例因子EstQ_C为优先权1的宏区块的预设量化比例因子。所以,若宏区块的优先权为Pri_i,则该宏区块的量化比例因子应为EstQ_C/Pri_i。所以,宏区块的优先权越高,其量化比例因子越小。
然而,估测量化比例因子EstQ_C并非完全正确,且若编码器以固定的估测量化比例因子EstQ_C来编码图像,则实际使用的位元与位元预算值将会产生较大差距。所以一种称为虚拟缓冲(virtual buffer)的回授机制(feedbackmechanism)被用来控制位元的消耗(bit consumption)。
R_X被定义为X-图像的反应参数(reaction factor)。一般情形下,反应参数R_X被设定成2*位元率(bit_rate)/图框率(frame_rate)。在图像编码的前,虚拟缓冲占用量的初值D0被设定为R_X/31*EstQ_C,且位元预算值BB_C根据每个宏区块的权值活动程度WAct_i被事先指定给每个宏区块。所以,编码器在对宏区块MB_i进行编码时,其量化比例因子为Qi=Di-1*31/R_X/Pri_i ...(4)其中,Di-1为上一宏区块编码完后的虚拟缓冲占用量。而在编码完每一张图像后,编码器是根据该宏区块事先所分配的位元预算值BB_i以及该宏区块已使用的位元量UB_i来更新虚拟缓冲占用量Di。其更新方式如式(5)所示Di=Di-1+UB_i-BB_i ...(5)所以,当该宏区块已使用的位元量UB_i大于所分配的位元预算值BB_i,虚拟缓冲占用量Di就会增加且下一个宏区块的量化比例因子亦相对提高。相反的,当该宏区块已使用的位元量UB_i低于所分配的位元预算值BB_i,虚拟缓冲占用量Di就会降低且下一个宏区块的量化比例因子亦相对降低。所以,当编码器对该图像编码完成后,即可获得平均量化比例因子Avg_Q以及所使用位元量UB_C,同时该图像的复杂度亦可被计算出来。
图4显示本发明具有重要区域支持的压缩率控制方法的流程图。如该图所示,本发明具有重要区域支持的压缩率控制方法包含下列步骤步骤S402计算每个宏区块的权值活动程度WAct_i以及图像的活动程度Act_C。亦即,计算出每个宏区块的活动程度Act_i后,根据该宏区块的优先权Pri_i计算该宏区块的权值活动程度WAct_i,亦即WAct_i=Act_i*Pri_i,其中指针i为第i个宏区块。接着,将每个宏区块的权值活动程度WAct_i加总后作为目前图像的活动程度Act_C。
步骤S404分配每个宏区块的位元预算值BB_i。将目前图像的位元预算值BB_C根据每个宏区块的权值活动程度WAct_i来分配每个宏区块的位元预算值BB_i。
步骤S406计算估测复杂度EstCom_C以及估测量化比例因子EstQ_C。编码器根据目前图像的活动程度Act_C、前一张图像的活动程度Act_X以及前一张图像的复杂度Com_X来计算出目前图像的估测复杂度EstCom_C,其计算方式如上述的式(2)所示。接着,编码器根据目前图像的估测复杂度EstCom_C以及目前图像的位元预算值BB_C来计算出目前图像的估测量化比例因子EstQ_C,其计算方式如上述的式(3)所示。
步骤S408计算虚拟缓冲占用量的初值D0。编码器根据一反应参数R_X以及目前图像的估测量化比例因子EstQ_C来计算虚拟缓冲占用量的初值D0,该虚拟缓冲占用量的初值D0被设定为R_X/31*EstQ_C。
步骤S410计算每个宏区块的量化比例因子Qi并编码该宏区块。编码器根据前一个编码的宏区块的虚拟缓冲占用量Di-1、反应参数R_X、以及优先权Pri_i来计算每个宏区块的量化比例因子Qi,其计算方式如上述的式(4)所示。
在编码器计算出宏区块的量化比例因子Qi后,编码器即根据该量化比例因子Qi对该宏区块进行编码。
步骤S412更新虚拟缓冲占用量Di。在编码器对一宏区块编码完后,编码器即根据前一个编码的宏区块的虚拟缓冲占用量Di-1、该宏区块的位元预算值BB_i、以及该宏区块的已使用位元值UB_i来更新虚拟缓冲占用量Di,其计算方式如上述的式(5)所示。
步骤S414判断该图像是否已编码完成。若尚有宏区块尚未编码,则跳至步骤S410继续进行编码的动作。若所有的宏区块均已编码完成,则跳至下一步骤。
步骤S416更新复杂度Com_X以及活动程度Act_X。当该图像已编码完成后,编码器根据平均量化比例因子Avg_Q以及该图像的已使用位元量UB_C来更新复杂度Com_X,其计算方式为Com_X=Avg_Q*UB_C。同时,将目前图像的活动程度Act_C指定为Act_X。
以上虽以实施例说明本发明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,该行业者可进行各种变形或变更。
权利要求
1.一种具有重要区域支持的压缩率控制方法,该压缩率控制方法对目前图像进行编码动作时,其特征是包含下列步骤计算目前图像的每个宏区块的权值活动程度WAct_i,是先计算出目前图像的每个宏区块的活动程度Act_i后,根据该宏区块的优先权Pri_i计算该宏区块的权值活动程度WAct_i;计算目前图像的活动程度Act_C,是根据每个宏区块的权值活动程度WAct_i计算前述目前图像的活动程度Act_C;分配每个宏区块的位元预算值BB_i,是根据每个宏区块的权值活动程度WAct_i以及目前图像的位元预算值BB_C来分配每个宏区块的位元预算值BB_i;计算估测复杂度EstCom_C,是根据前一张已编码图像的复杂度Com_X、活动程度Act_X、以及目前图像的活动程度Act_C来计算估测复杂度EstCom_C;计算估测量化比例因子EstQ_C,是根据前述估测复杂度EstCom_C与目前图像的位元预算值BB_C来计算估测量化比例因子EstQ_C;计算虚拟缓冲占用量的初值D0,是根据一反应参数R_X与前述估测量化比例因子EstQ_C来计算虚拟缓冲占用量的初值D0;计算每个宏区块的量化比例因子Qi,是根据上一个已编码宏区块的虚拟缓冲占用量Di-1、该宏区块的优先权Pri_i、以及前述反应参数R_X来计算该宏区块的量化比例因子Qi;编码该宏区块,根据前述量化比例因子Qi编码该宏区块;更新虚拟缓冲占用量Di,是根据该宏区块的已使用位元UB_i、上一个已编码宏区块的虚拟缓冲占用量Di-1、以及该宏区块的位元预算值BB_i来更新虚拟缓冲占用量Di;以及判断该图像是否已编码完成,若已编码完成则进行下一步骤,否则跳回计算下一个宏区块的量化比例因子Qi+1。
2.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是还包含下列步骤计算复杂度Com_X,是根据目前图像的使用位元UB_C以及目前图像的平均量化比例因子Avg_Q计算复杂度Com_X;以及更新活动程度Act_X,是将编码完的目前图像的活动程度Act_C指定给活动程度Act_X。
3.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述权值活动程度WAct_i为活动程度Act_i*优先权Pri_i。
4.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述目前图像的活动程度Act_C为该目前图像的每个宏区块的权值活动程度WAct_i的总和。
5.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述目前图像的估测复杂度EstCom_C为EstCom_C=Act_C*Com_X/Act_X。
6.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述目前图像的估测量化比例因子EstQ_C为EstQ_C=EstCom_C/BB_C。
7.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述虚拟缓冲占用量的初值D0为D0=R_X/31*EstQ_C。
8.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述宏区块的量化比例因子Qi为Qi=Di-1*31/R_X/Pri_i。
9.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述虚拟缓冲占用量Di为Di=Di-1+UB_i_BB_i。
10.根据权利要求1所记载的具有重要区域支持的压缩率控制方法,其特征是其中前述复杂度Com_X为Com_X=Avg_Q*UB_C。
全文摘要
一种具有重要区域支持的压缩率控制方法来提升局部区域的图像品质,并有效控制使用位元。该压缩率控制方法包含下列步骤根据每个宏区块的优先权计算其宏区块的权值活动程度,且根据每个宏区块的权值活动程度计算该图像的活动程度;分配该图像的位元预算值;根据权值活动程度分配每个宏区块的位元预算值;计算估测复杂度以及估测量化比例因子;计算虚拟缓冲占用量的初值;计算每个宏区块的量化比例因子并编码该宏区块;更新虚拟缓冲占用量;判断该图像是否已编码完成,若已编码完成则更新复杂度以及活动程度,作为下一张图像的参考,否则跳回计算每个宏区块的量化比例因子并编码该宏区块。
文档编号H04N7/26GK1568007SQ03141060
公开日2005年1月19日 申请日期2003年6月13日 优先权日2003年6月13日
发明者张永清 申请人:矽统科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1