发明名称 一种基于帧间模式统计分类的H.264宏块模式选择方法
摘要 一种基于统计分类的H.264帧间模式选择方法属于视频编码技术领域,其特征在于,包含如下步骤:利用前一帧的基于帧间分类模式统计分类得到在各种宏块划分模式下不同的率失真开销值区间内宏块分布曲线,再根据大模式还是小模式下的宏块分布曲线按照本发明提出的4种不同方法计算当前帧的率失真阈值;在对当前帧每个宏块进行编码时,先计算16×16模式下的开销值;若该开销值小于所述阈值,则在大模式帧间分类下选择宏块划分模式;否则,在大、小两种模式下选择,都需选择最小开销值所对应的宏块划分模式作为所需选择的划分模式。本发明具有在基本保证视频质量的条件下,大大节省计算量的优点。
申请公布号 CN101179729A 申请公布日期 2008.05.14
申请号 CN200710179976.X 申请日期 2007.12.20
申请人 清华大学 发明人 薛永林;卢六翮;赵康
分类号 H04N7/26(2006.01) 主分类号 H04N7/26(2006.01)
代理机构 北京众合诚成知识产权代理有限公司 代理人 朱琨
主权项 1.一种基于帧间模式统计分类的H.264宏块模式选择方法,其特征在于,该方法是在计算机中依次按照下面步骤实现的:步骤(1),针对设定的视频序列,在每一个连续帧开始编码时,计算前一帧的帧间划分模式所对应的各种宏块划分模式下不同的率失真开销值Jmode(16×16)在区间nk内宏块个数的分布曲线,再据此计算当前帧的率失真开销阈值T,其步骤如下:步骤(1.1),帧间模式的分类,把H.264的多种帧间模式分为两类:大模式BSM,包括16×16、16×以及8×16三种宏块划分模式;小模式SSM,包括8×8、8×4、4×8以及4×4四种宏块划分模式;步骤(1.2),计算步骤(1.1)所述的前一帧内各种宏块划分模式下不同的率失真开销区间nk内宏块个数的分布,k=0,1,…63,nk=[k,k+1)对于大模式,区间nk内的宏块数NBSM为<math><mrow><msub><mi>N</mi><mi>BSM</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><msub><mi>J</mi><mi>mode</mi></msub><mrow><mo>(</mo><mn>16</mn><mo>&times;</mo><mn>16</mn><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>n</mi><mi>k</mi></msub></mrow></munder><msub><mi>n</mi><mi>BSM</mi></msub></mrow></math> 在小区间nk内判断有大模式的宏块时,nBSM=1;对于小模式,区间nk内的宏块数NSSM为<math><mrow><msub><mi>N</mi><mi>SSM</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mn>10</mn><mo>&times;</mo><munder><mi>&Sigma;</mi><mrow><msub><mi>J</mi><mi>mode</mi></msub><mrow><mo>(</mo><mn>16</mn><mo>&times;</mo><mn>16</mn><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>n</mi><mi>k</mi></msub></mrow></munder><msub><mi>n</mi><mi>SSM</mi></msub></mrow></math> 在小区间nk内判断有小模式的宏块时,nSSM=1;Jmode(16×16)∈nk表示H.264帧间编码时16×16宏块划分模式下率失真开销值Jmode(16x16)在区间nk内;步骤(1.3),根据步骤(1.2)的结果,分别得到:帧间模式采用大模式时的各种宏块划分模式下的宏块个数在区间nk内的分布曲线,用BSM曲线表示;帧间模式采用小模式时的各种宏块划分模式下的宏块个数在区间nk内的分布曲线,用SSM曲线表示;所述宏块的率失真开销值Jmode是使用H.264基于绝对值之和SAD的率失真优化模型而计算得到的:Jmode=D+λmodeR,在本算法中,Jmode代表率失真开销(rate distortioncost);λmode为拉格朗日乘数;D表示前一帧原始宏块与其预测宏块之间的失真度;R为当前划分模式下编码该宏块所需的实际比特数;步骤(1.4),根据步骤(1.3)得到的BSM和SSM曲线的曲线图,在其间选取一个合适的阈值T;步骤(2),开始对当前帧的每一个宏块进行编码,按步骤(1.3)所述的方法计算16×16模式下该宏块的率失真开销值Jmode(16×16);步骤(3),若步骤(2)所述的Jmode(16×16)小于步骤(1.4)得到的T,则把BSM作为备选模式,计算Jmode(16×8),Jmode(8×16),Jmode(16×16),选择其中最小率失真开销值对应的模式;若步骤(2)所述的Jmode(16×16)大于步骤(1.4)得到的T,则把BSM以及SSM作为备选模式,计算Jmode(16×16),Jmode(16×8),Jmode(8×16),Jmode(8×8)(其中8x8模式还包括子宏块8×4 4×8 4×4的模式),选择其中最小率失真开销值对应的模式;步骤(4),按照步骤(2)和步骤(3)的方法对本帧内所有帧间宏块进行模式选择。
地址 100084北京市100084-82信箱