基于时空相关性的视频帧间压缩方法

文档序号:7961226阅读:255来源:国知局
专利名称:基于时空相关性的视频帧间压缩方法
技术领域
本发明涉及视频压缩领域,设计和实现了一种基于时空相关性的视频压缩方法。
背景技术
随着近年来多媒体技术的广泛应用,作为多媒体信息技术的基础,视频压缩方法发挥着重要和不可替代的作用,它可以在很大程度上减轻对存储媒体容量和传输带宽的要求。信息技术对视频压缩方法提出的要求是压缩比越来越高、压缩质量越来越好、压缩速度越来越快。
由于视频信息之间存在冗余信息,利用视频信息自身所具有的相关性,通过某种特殊的技术,能够去除视频数据中的冗余信息,达到视频压缩的目的。在视频压缩技术中主要采用I帧(帧内)和P帧(帧间)编码技术,I帧是视频中的某一帧单独编码,与其它相邻帧没有关系,而P帧则是利用前后帧的相关性来编码的,通过这两种方法去除冗余,达到压缩的目的。由于标准化的需要,近十年中,出现了很多的视频编码标准。
H.264视频编码标准是由ISO和ITU建立的联合视频工作组(Joint VideoTeam,简称JVT)制定的,它在ISO中的正式名称是MPEG-4标准的第十部分,在ITU中的正式名称是H.264。H.264最大的特点是具有极高的压缩比,良好的视频质量,但是压缩比的提高是以增加算法复杂度为代价的,致使其编码速度在通常情况下还不能满足实际应用的要求。因此,在不改变H.264标准码流结构和维持原有码率的情况下,找到一种新的方法来替代原有的复杂算法成为研究热点。
在H.264引入的众多新技术中,帧间预测编码技术与其它编码标准所采用的技术有很大的不同。在H.264中,对需要编码的宏块采用两种不同的模式来编码,一种是传统的运动估计与补偿方法,另一种是帧内预测方法。对于标准中采用的帧内预测方法来说,使用Intra4×4模式和Intra16×16模式,这两种模式是帧内空间预测的方法,利用的是相邻像素所具有的相关性。对于帧间编码来说,为了减少运动估计后所得到的残差值,H.264提供了4种宏块分割模式,划分大小分别为16×16,16×8,8×16和8×8,其中8×8模式又称为亚宏块模式,它还可以继续进行划分为8×8,8×4,4×8和4×4,如图1所示。H.264中的运动搜索是以子块为单位进行的,所以16×16宏块中的每个子块都有一个独立的运动矢量。显然,宏块中的子块划分得愈细,对残差值进行编码所需的位数就愈小,但因此而带来的问题是有更多的运动矢量需要进行编码,这会导致整个宏块编码所需的位数增加。因此,在具体编码时需要根据运动估计后的残差值大小和需要的运动矢量编码代价来优化选择宏块的编码模式。在H.264中采用的是率失真模型,即RD模型来选择最优的模式。在H.264的标准算法中,为了得到最佳的编码模式,对一个宏块要同时用两种模式来预测,根据最后的实际效果来得到最佳的编码方法。这样做固然可以得到最佳的编码方式,但代价是计算量显著增加,编码速度变得很慢,这就是影响H.264编码速度的原因所在。

发明内容
本发明的目的是结合H.264中采用的帧间编码技术,提出一种基于宏块时空相关性的帧间编码方法。它利用宏块自身所具有的特征来判断宏块的编码模式。对于某个具体的宏块来说,对它的压缩就是利用它周围的宏块及前面帧中宏块之间的相关性来去除宏块间的信息冗余,从而达到用少量的比特表示大量像素信息的目的。在本发明中,充分利用宏块所具有的这种特性,实现了一种基于空间和时间相关性大小来判断宏块编码模式的方法。本发明首先利用简单的预测方法,得到空间预测宏块及时间预测宏块,将两个预测宏块与原始宏块相减,得到两个预测残差值。同时,考虑到除了残差值外,其他额外信息对宏块编码模式选择的影响,给每个残差值乘以相应的系数,比较乘系数后的两个值,如果空间相关性大于时间相关性就采用帧内预测的模式,如果时间相关性大于空间相关性就采用运动估计与补偿的模式。这样,不仅可以充分利用宏块自身的特点,而且利用比较系数可以减少其它额外信息对判断方法的影响。
本发明的技术思路特征为1.利用当前宏块与周围相邻宏块的像素之间有相关性的特点,通过垂直、水平预测(见图2,图3),得到一个衡量空间相关性的预测宏块,二者相减进而得到预测后的残差值。
2.利用当前宏块与前一帧中相同位置的宏块在时间上的相关性,以前一帧相应位置上的宏块作为预测宏块,二者相减进而得到预测后的残差值。
3.如果直接比较两个残差值,没有考虑到诸如编码模式信息,运动矢量信息等额外信息对判断的影响,所以在本发明中,分别给两个残差值乘一个系数,通过这个系数来调节其它信息对比较的影响。
4.根据以上得到的修正后的残差值,比较二者的大小,残差值小的代表相关性大,就采用相应的编码模式。
5.在本发明中,充分考虑到所有可能出现的情况,对于特征明显的宏块采用上述方法能够快速且准确的判断出编码模式,但对于特征不明显的宏块如果依然采用上述方法,则很容易产生误判,所以在新方法中仍然采用原来的方法判断。
6.综合考虑,本发明即可以对特征明显的宏块直接采用相应的方法来判断,提前得到最佳的编码模式,同时对特征不明显的宏块采用原来的方法,这样充分考虑到所有的情况,既大幅度提高编码速度,又严格控制码率的增长。
本发明的技术方案流程图参见图4、图5。图4是H.264采用的编码模式选择方法,图5是本发明的方法流程图。
本发明的方法包括下述步骤1)从视频帧中提取需要编码的宏块的亮度值;2)用绝对差值和,即SAD值来表征宏块的相关性,SADIntra代表宏块帧内预测的残差值,以此来表征宏块的空间相关性,SADInter代表宏块帧间预测的残差值,以此来表征宏块的时间相关性;3)SADIntra的计算为下面公式
SADIntra=1/2(Σn=116(Σm=116(Rx+m,y+n-Rx-1,y+n))+Σn=116(Σm=116(Rx+m,y+n-Rx+m,y-1)))]]>式中,SADIntra是经过水平、垂直预测的平均残差值,Rx,y是视频帧中编码宏块对应的像素亮度值,x、y是宏块在视频帧中的位置,m、n是宏块中的像素位置;用编码宏块的周围相邻像素作为预测像素,经过垂直和水平预测,得到最终的残差值;4)SADInter的计算为下面公式SADInter=Σn=116Σm=116(Rx+m,y+n-Px+m,y+n)]]>式中,SADInter为帧间模式的预测残差,Rx,y表示当前宏块的像素亮度值,Px,y表示前一帧中对应位置宏块的像素亮度值,x、y代表宏块在视频帧中的位置,m、n代表宏块中像素的位置,经过相减得到预测的残差值;5)在得到相应的SADIntra和SADInter后,通过比较二者的大小来决定宏块的预测模式,分别针对SADIntra和SADInter引入比较因子α和β,实际比较的是乘以系数的差值;6)最终的结果为比较以下两个公式的大小Diff1=α·SADIntra-SADInterDiff2=SADIntra-β·SADInter上两式中,Diff1衡量是否舍弃帧内预测模式,α值取范围为
间的数,如果Diff1值大于零,则说明帧内预测模式的残差值大于帧间预测模式的残差值,舍弃帧内预测模式,该宏块应该采用帧间编码模式;同样Diff2用来衡量是否舍弃帧间预测模式,β值取值范围为
,如果Diff2小于零,则说明帧间预测模式的残差值大于帧内预测模式的残差值,证明宏块的帧内相关性大于帧间相关性,该宏块应该采用帧内编码模式;7)通过上一步判断,如果得到的结果是帧内残差小,采用帧内预测的方法编码,则对残差值做变化、量化、熵编码;8)通过步骤6的判断,如果得到的结果是帧间残差小,采用运动估计与补偿的编码模式,则对宏块做运动估计,得到最佳匹配块,求相应的差值,对该值做变换、量化、熵编码;输出最终的压缩码流,同时保存相关的编码信息。
本发明的原理为通过对实际情况的考察,发现对于一般的视频序列,除非是镜头大幅度的切换,否则在两帧之间变化的内容是非常小的,通过运动估计与补偿的算法,可以找到相对最佳的匹配块,预测残差已经非常小了,比通过空间相邻的宏块的预测要更好一些。在对实际的视频测试序列进行一定的测试后,发现在实际情况当中,P帧中采用帧内编码模式即Intra4×4和Intra16×16的宏块非常少。
在本发明中,考虑到不同的编码模式,对应不同特征的宏块,利用宏块自身的空间相关性和时间相关性来判断宏块采用的编码模式,对于时间相关性大的宏块直接采用运动估计与补偿的模式,对于空间相关性大的宏块直接采用帧内预测的模式,避免了原来方法中的穷举式方法。实验结果表明,本方法与H.264中采用的帧间编码方法相比,在码流只有少许增加,视频质量基本不变的情况下,大幅度地提高了编码速度。


图1是宏块的分割方法;图2是垂直预测法示意图;图3是水平预测法示意图;图4是原标准方法中采用的方法的流程图;图5是本发明采用的方法的流程图;具体实施方式
在实际的使用当中,首先是读入某个视频序列,输入的视频序列需要是YUV格式的,从计算机中读入视频数据后,本方法是针对序列中的亮度分量来完成的,所以需要从其中提取亮度分量,编码器将调用本发明中提到的算法来完成具体的编码工作。
具体实施中,在计算机中完成以下程序
第一步根据编码器配置文件读入相应的视频序列,按照配置文件中的参数配置编码器。
第二步从原始文件中取出亮度分量。
第三步按顺序取出需要编码的宏块的亮度分量。
第四步对该宏块的亮度值做空间垂直、水平预测,得到相应的帧内预测残差,并且乘以比较系数α。
第五步对该宏块的亮度值做帧间预测,用当前宏块的值减去前一帧中相应位置宏块的值,得到相应的帧间预测残差,并且乘以比较系数β。
第六步比较乘系数后的宏块帧内预测残差和帧间预测残差的大小。
第七步如果帧内残差小,则采用帧内预测的方法编码,对残差值做变化、量化、熵编码。
第八步如果帧间残差小,则采用帧间的方法编码,对宏块做运动估计,得到最佳匹配块,求相应的差值,对该值做变换、量化、熵编码。
第九步输出得到的最终的压缩码流,同时保存相关的编码信息。
为了检验本发明所提出的方法的性能,给出本发明与H.264中采用的方法的比较。在比较中,主要从信噪比、编码时间、压缩码流三个方面比较。在实验中,采用JVT公布的编码校验模型jm5.0进行试验,实验条件如下主机为P42.8CPU,256M内存,编码30帧,第一帧采用I帧编码,其余的采用P帧编码。实验结果如表1,从实验结果中可以看出,本发明的方法与原方法比较,在视频质量方面,也就是信噪比方面几乎没有任何影响。平均码率只增加1.21%,速度的提高平均有24%。从结果中可以看出,在码率只有少许增加的情况下,速度有相当大的提高,证明了本发明的有效性。
表1实验结果比较


权利要求
1.基于时空相关性的视频压缩方法,其特征在于根据视频数据自身的特点,利用其自身的空间、时间相关性来对帧间宏块进行预测、编码;在视频编码标准H.264中采用的帧间宏块压缩方法的基础上,利用空间相关性和时间相关性提前判断宏块是应该采用帧内编码模式还是运动估计与补偿的编码模式;包括下述步骤1)从视频帧中提取需要编码的宏块的亮度值;2)用绝对差值和,即SAD值来表征宏块的相关性,SADIntra代表宏块帧内预测的残差值,以此来表征宏块的空间相关性,SADInter代表宏块帧间预测的残差值,以此来表征宏块的时间相关性;3)SADIntra的计算为下面公式SADIntra=12(Σn=116(Σm=116(Rx+m,y+n-Rx-1,y+n))+Σn=116(Σm=116(Rx+m,y+n-Rx+m,y-1)))]]>式中,SADIntra是经过水平、垂直预测的平均残差值,Rx,y是视频帧中编码宏块对应的像素亮度值,x、y是宏块在视频帧中的位置,m、n是宏块中的像素位置;用编码宏块的周围相邻像素作为预测像素,经过垂直和水平预测,得到最终的残差值;4)SADInter的计算为下面公式SADInter=Σn=116Σm=116(Rx+m,y+n-Px+m,y+n)]]>式中,SADInter为帧间模式的预测残差,Rx,y表示当前宏块的像素亮度值,Px,y表示前一帧中对应位置宏块的像素亮度值,x、y代表宏块在视频帧中的位置,m、n代表宏块中像素的位置,经过相减得到预测的残差值;5)在得到相应的SADIntra和SADInter后,通过比较二者的大小来决定宏块的预测模式,分别针对SADIntra和SADInter引入比较因子α和β,实际比较的是乘以系数的差值;6)最终的结果为比较以下两个公式的大小Diff1=α·SADIntra-SADInterDiff2=SADIntra-β·SADInter上两式中,Diff1衡量是否舍弃帧内预测模式,α值取范围为
间的数,如果Diff1值大于零,则说明帧内预测模式的残差值大于帧间预测模式的残差值,舍弃帧内预测模式,该宏块应该采用帧间编码模式;同样Diff2用来衡量是否舍弃帧间预测模式,β值取值范围为
,如果Diff2小于零,则说明帧间预测模式的残差值大于帧内预测模式的残差值,证明宏块的帧内相关性大于帧间相关性,该宏块应该采用帧内编码模式;7)通过上一步判断,如果得到的结果是帧内残差小,采用帧内预测的方法编码,则对残差值做变化、量化、熵编码;8)通过步骤6的判断,如果得到的结果是帧间残差小,采用运动估计与补偿的编码模式,则对宏块做运动估计,得到最佳匹配块,求相应的差值,对该值做变换、量化、熵编码;9)输出最终的压缩码流,同时保存相关的编码信息。
全文摘要
基于时空相关性的视频帧间压缩方法,涉及视频压缩领域。本发明的特征在于具有以下处理步骤(1)取出原始的视频数据,针对其中的亮度分量处理;(2)得到一帧图像中的一个宏块的亮度值;(3)计算宏块的空间相关性,利用水平、垂直预测方法得到当前宏块与预测宏块的残差值,作为空间相关性的度量;(4)计算宏块的时间相关性,得到当前宏块与前一帧对应位置宏块的差值,作为时间相关性的度量;(5)比较空间相关性和时间相关性的大小;(6)根据比较后的结果,采用相应的编码模式对该宏块编码。本发明所提供的方法与视频编码标准H.264中采用的帧间编码方法相比,在压缩比相差很少的情况下,能够大幅度提高帧间编码的速度。
文档编号H04N7/32GK1845608SQ20061008088
公开日2006年10月11日 申请日期2006年5月19日 优先权日2006年5月19日
发明者贾克斌, 谢晶, 刘鹏宇 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1