一种加权预测运动补偿方法

文档序号:7960747阅读:225来源:国知局
专利名称:一种加权预测运动补偿方法
技术领域
本发明涉及数字视频处理方法,特别涉及在视频编解码技术中,对于有亮度变化的图像帧进行编码时的预测运动补偿方法。
背景技术
高效的视频编解码技术是实现高质量、低成本多媒体数据存储和传输的关键。目前常用的编码方法有预测编码、正交变换编码、向量量化编码等等。这些方法都是基于信号处理理论的,通常也称为第一代编码技术。现在比较流行的图像编码国际标准都基于这种编码理论,采用的是基于块匹配的运动补偿、离散余弦变换和量化相结合的编码方法,典型的包括国际标准化组织/国际电工技术委员会第一联合技术组(ISO/IEC JCT1)推出的MPEG-1、MPEG-2和MPEG-4等国际标准,以及国际电信联盟(ITU-T)提出的H.26x系列推荐。这些视频编码标准在工业界得到了广泛应用。
上述的视频编码标准都采用了混合视频编码(Hybrid Video Coding)策略,通常包括预测、变换、量化和信息熵编码等四个主要模块。预测模块的主要功能是利用已经编码并重建的图像对当前要编码的图像进行预测(帧间预测),或者利用图像中已经编码并重建的图像块(或宏块)对当前要编码的图像块(或宏块)进行预测(帧内预测)。变换模块的主要功能是将输入的图像块变换到另外一个空间,使输入信号的能量尽可能地集中在低频变换系数上,进而降低图像块内元素之间的相关性,有利于压缩。量化模块的主要功能是将变换的系数映射到一个有利于编码的有限元素集上;信息熵编码模块的主要功能是根据统计规律,将量化后的变换系数用变长码表示。
视频解码系统包含与视频编码相似的模块,主要通过将输入的码流通过熵解码、反量化、反变换等过程重建解码图像。除了上述模块外,视频编解码系统中通常还包含一些辅助的编码工具,这些工具也会对整个系统的编码性能(压缩化)做出贡献。
视频编码的大部分编码效率来自于预测模块,基于运动补偿预测的主要功能是消除视频序列在时间上的冗余。视频编码过程就是对视频序列的每一帧图像进行编码的过程。常用的视频编码方法对每一帧图像的编码是以宏块为基本单元进行的。在编码每一帧图像时,又可以分为帧内(I帧)编码、预测(P帧)编码和双向预测(B帧)编码等。一般来说,编码时,I帧、P帧和B帧编码是穿插进行的,比如按照IBBPBBP的顺序。
在视频编码中,运动估计和运动补偿技术是去除帧间冗余的关键技术,该技术的前提是视频中对象的运动是刚性运动,并且没有旋转、缩放和亮度变化。然而在实际应用中,这些前提很难得到满足。对于旋转和缩放等非平移运动可以通过细分编码块的大小来进行近似解决。亮度的变化,例如闪光、渐进渐出等,同样也会影响运动估计和运动补偿的准确性,从而影响视频编码效率。然而已有的编码方法对于亮度的变化,没有给出好的解决办法,从而影响视频编码效率。
在现有技术中,对于亮度均匀变化的序列,如渐进渐出等,通常使用基于帧级的加权预测技术,根据亮度变化情况决定在运动补偿之前是否对所有宏块的预测值进行加权处理,这种方法在H.264/AVC视频编码标准中得到应用,对于亮度变化均匀的视频序列,这种技术能够有效的提高编码效率。但是,对于亮度非均匀变化的视频序列,由于聚焦或者闪光等引起的局部亮度变化视频序列,已有技术不能消除局部亮度变化给编码效率带来的影响。
鉴于已有技术的不足,希望消除这种由于局部亮度变化给编码效率带来的影响,理想情况是对帧级和宏块级联合加权预测,即对有亮度变化的区域使用加权预测,而对没有亮度变化的区域则不使用加权预测。

发明内容
本发明的目的是消除视频序列中局部亮度变化给编码效率带来的影响,提供一种基于帧级和宏块级的加权预测补偿方法。
为了达到上述目的,本发明采用的技术方案如下一种加权预测运动补偿方法,包括如下步骤1)根据亮度象素值,检测当前帧相对于前一帧的亮度变化情况,如果在该相邻两帧中没有检测到亮度变化,则本帧中所有宏块都不需要使用加权预测运动补偿,直接进行视频编码操作,并且在码流语法中进行标注;
2)如果当前帧相对于前一帧有亮度变化,则分别以两帧中对应位置的宏块为基本单位,以使亮度变化最小为条件计算当前帧各个宏块的加权预测参数α和β,其中α表示对比度的变化,β亮度变化。
3)对各个宏块的α值和β值进行量化和统计,对α和β分别设定一个阈值,并对α值和β值的分布集中程度设定一个分布阈值;如果α值和β值小于所述阈值并且分布集中程度小于所述分布阈值,说明分布比较集中,则对当前帧中的所有宏块都使用加权预测运动补偿并且在码流语法中进行标注,加权预测运动补偿参数m,n分别为各个宏块α和β值的平均值;进行运动估计,执行步骤6);4)如果大于所述阈值的α值和β值达到设定数量并且分布集中程度大于所述分布阈值,说明分布比较分散,则本帧中有部分宏块使用加权预测运动补偿并在帧层标注,加权预测运动补偿参数m,n为出现频度最高的α和β值;执行步骤5);5)对每个宏块进行运动估计,搜索到最优匹配位置时,分别计算加权预测运动的绝对差之和(SAD)和非加权预测运动的绝对差之和,如果非加权预测运动的绝对差之和较小,则在宏块层中标识宏块不需要亮度补偿;如果加权预测运动的绝对差之和较小,则在宏块层中标识宏块需要亮度补偿;执行步骤6);6)宏块级的亮度补偿;对需要加权预测的宏块进行加权预测,得到宏块亮度象素值的最终预测值。
在上述技术方案中,所述α和β值的阈值设置为2-12中任一整数。
所述分布阈值的设置是随着视频帧中宏块数的增大而增大。
所述分布阈值设置为视频帧中宏块数的一半。
在上述技术方案中,其中步骤6)中,加权预测的模型为Y’=(m*Y+16)>>5+n,这里Y表示亮度加权之前的象素值,Y’表示亮度加权之后的象素值,m表示亮度对比度的变化,n表示亮度的变化。
上述方法用于在色差加权模型中,色差分量使用和亮度相同的模型和参数。
与现有技术相比,本发明的优点在于对于亮度均匀变化的序列,如渐进渐出等,使用基于帧级的加权预测技术,在运动补偿之前对所有的预测值进行加权处理;而对于由于聚焦或者闪光等引起的局部亮度变化区域可以使用基于宏块级的加权预测技术,从而有效的提高亮度变化场景的视频编码效率。


图1表示本发明加权预测运动补偿方法实现流程图具体实施方式
下面结合附图和具体实施方式
对本发明作进一步详细描述加权预测运动补偿方法实现主要包括亮度变化检测,确认当前视频帧是否需要进行加权预测;如果需要加权预测,则计算亮度加权预测参数,并且根据亮度预测参数的方差确认是否所有的宏块都需要加权预测;在视频解码语法流中对需要加权的亮度样本和色差样本进行加以标注;根据加权预测参数计算加权预测样本值。
实施例1如图1流程图所示,加权预测运动补偿方法具体实现步骤如下1)根据亮度象素值,检测当前帧相对于前一帧的亮度变化情况,如果在该相邻两帧中没有检测到亮度变化,则本帧中所有宏块都不需要使用加权预测运动补偿,直接进行视频编码操作,并且在码流语法中进行标注2)如果当前帧相对于前一帧有亮度变化,则分别以两帧中对应位置的宏块为基本单位,以使亮度变化最小为条件计算当前帧各个宏块的加权预测参数α和β,其中α表示对比度的变化,β亮度变化;3)对各个宏块的α值和β值进行量化和统计,对α和β分别设定一个阈值,并设定一个分布阈值来表示α值和β值的集中程度,此处阈值的设定为4,此处分布阈值设定为视频帧中宏块数的一半,例如如果视频帧中的宏块数为K,则分布阈值设置为K/2。;对所有宏块的加权预测参数计算它们的方差,如果α值和β值大于所述阈值并且方差小于所述分布阈值,说明分布比较集中,则对当前帧中的所有宏块都使用加权预测运动补偿并且在码流语法中进行标注,加权预测运动补偿参数m,n分别为各个宏块α和β值的平均值;进行运动估计,执行步骤6);4)如果大于所述阈值的α值和β值达到设定数量并且方差大于所述分布阈值,说明分布比较分散,此处设定数量和步骤3中的分布阈值相同,则本帧中有部分宏块使用加权预测运动补偿并在帧层标注,加权预测运动补偿参数m,n为出现频度最高的α和β值;执行步骤5);
5)对每个宏块进行运动估计,搜索到最优匹配位置时,分别计算加权预测运动的绝对差之和(SAD)和非加权预测运动的绝对差之和,如果非加权预测运动的绝对差之和较小,则在宏块层中标识宏块不需要亮度补偿;如果加权预测运动的绝对差之和较小,则在宏块层中标识宏块需要亮度补偿;执行步骤6);6)宏块级的亮度补偿;对需要加权预测的宏块进行加权预测,得到宏块亮度象素值的最终预测值;加权预测的模型为Y’=(m*Y+16)>>5+n,这里Y表示亮度加权之前的象素值,Y’表示亮度加权之后的象素值,m表示亮度对比度的变化,n表示亮度的变化。
实施例2本发明的加权预测运动补偿方法,对于色差加权模型,色差分量使用和亮度相同的模型和参数,加权预测的模型为Y’=(m*Y+16)>>5+n,这里Y表示色差加权之前的象素值,Y’表示色差加权之后的象素值,m表示色差对比度的变化,n表示色差的变化,其他步骤同实施例1,只是其中的亮度改为色差。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种加权预测运动补偿方法,包括如下步骤1)判断是否本帧中所有宏块都不需要使用加权预测运动补偿;2)对需要使用加权预测运动补偿的帧,分别以两帧中对应位置的宏块为基本单位,计算当前帧各个宏块的加权预测参数;3)判断是否当前帧中的所有宏块都使用加权预测运动补偿;如果当前帧中的所有宏块都使用加权预测运动补偿,则加权预测运动补偿参数为各个宏块加权预测参数的平均值;执行步骤6)4)如果本帧中有部分宏块使用加权预测运动补偿,则加权预测运动补偿参数为出现频度最高的宏块加权预测参数值;执行步骤5);5)对每个宏块标识该宏块是否需要加权补偿;6)宏块级的亮度补偿;对需要加权预测的宏块进行加权预测,得到最终预测值。
2.根据权利要求1所述加权预测运动补偿方法,所述步骤5)具体包括进行运动估计,搜索到最优匹配位置时,分别计算加权预测运动的绝对差之和和非加权预测运动的绝对差之和,如果非加权预测运动的绝对差之和较小,则在宏块层中标识宏块不需要加权补偿;如果加权预测运动的绝对差之和较小,则在宏块层中标识宏块需要加权补偿。
3.一种加权预测运动补偿方法,包括如下步骤1)根据亮度象素值,检测当前帧相对于前一帧的亮度变化情况,如果在该相邻两帧中没有检测到亮度变化,则本帧中所有宏块都不需要使用加权预测运动补偿,直接进行视频编码操作,并且在码流语法中进行标注;2)如果当前帧相对于前一帧有亮度变化,则分别以两帧中对应位置的宏块为基本单位,以使亮度变化最小为条件计算当前帧各个宏块的加权预测参数α和β,其中α表示对比度的变化,β亮度变化。3)对各个宏块的α值和β值进行量化和统计,对α和β分别设定一个阈值,并对α值和β值的分布集中程度设定一个分布阈值;如果α值和β值小于所述阈值并且分布集中程度小于所述分布阈值,说明分布比较集中,则对当前帧中的所有宏块都使用加权预测运动补偿并且在码流语法中进行标注,加权预测运动补偿参数m,n分别为各个宏块α和β值的平均值;进行运动估计,执行步骤6);4)如果大于所述阈值的α值和β值达到设定数量并且分布集中程度大于所述分布阈值,说明分布比较分散,则本帧中有部分宏块使用加权预测运动补偿并在帧层标注,加权预测运动补偿参数m,n为出现频度最高的α和β值;执行步骤5);5)对每个宏块进行运动估计,搜索到最优匹配位置时,分别计算加权预测运动的绝对差之和(SAD)和非加权预测运动的绝对差之和,如果非加权预测运动的绝对差之和较小,则在宏块层中标识宏块不需要亮度补偿;如果加权预测运动的绝对差之和较小,则在宏块层中标识宏块需要亮度补偿;执行步骤6);6)宏块级的亮度补偿;对需要加权预测的宏块进行加权预测,得到宏块亮度象素值的最终预测值。
4.根据权利要求3所述加权预测运动补偿方法,其特征在于,所述步骤6)中,加权预测的模型为Y’=(m*Y+16)>>5+n,其中Y表示亮度加权之前的象素值,Y’表示亮度加权之后的象素值,加权预测运动补偿参数m表示亮度对比度的变化,n表示亮度的变化。
5.根据权利要求3所述加权预测运动补偿方法,其特征在于,所述步骤3)中,所述α和β值的阈值设置为2-12中任一整数。
6.根据权利要求3所述加权预测运动补偿方法,其特征在于,所述步骤3)中,所述分布阈值的设置是随着视频帧中宏块数的增大而增大。
7.根据权利要求3所述加权预测运动补偿方法,其特征在于,所述步骤3)中,所述分布阈值设置为视频帧中宏块数的一半。
8.根据权利要求3所述加权预测运动补偿方法,其特征在于,用色差加权运动补偿替换亮度加权预测运动补偿,用色差加权模型替换亮度加权模型,且色差分量使用和亮度相同的模型。
全文摘要
本发明公开了一种对图像帧进行编码时的加权预测运动补偿方法。该方法包括1)判断是否本帧中所有宏块都不需要使用加权预测运动补偿;2)如果当前帧相对于前一帧有亮度变化,则分别以两帧中对应位置的宏块为基本单位,以使亮度变化最小为条件计算当前帧各个宏块的加权预测参数α和β,其中α表示对比度的变化,β亮度变化;3)判断是否对当前帧中的所有宏块都使用加权预测运动补偿并且在码流语法中进行标注;4)如果本帧中有部分宏块使用加权预测运动补偿并在帧层标注,5)对每个宏块标识该宏块是否需要亮度补偿;6)宏块级的亮度补偿。
文档编号H04N7/32GK101072355SQ200610078900
公开日2007年11月14日 申请日期2006年5月12日 优先权日2006年5月12日
发明者沈燕飞, 张勇东, 李锦涛 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1