著录项信息
专利名称 | H.264/AVC帧内预测模式的快速选择方法 |
申请号 | CN200410025123.7 | 申请日期 | 2004-06-11 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2005-02-23 | 公开/公告号 | CN1585495 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N11/04 | IPC分类号 | H;0;4;N;1;1;/;0;4;;;H;0;4;N;7;/;3;2查看分类表>
|
申请人 | 上海大学 | 申请人地址 | 上海市闸北区延长路149号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海大学 | 当前权利人 | 上海大学 |
发明人 | 张兆扬;滕国伟;张颖 |
代理机构 | 上海上大专利事务所 | 代理人 | 何文欣 |
摘要
本发明涉及一种H.264/AVC实时编码器的帧内预测模式快速选择方法。在H.264/AVC编码器中,帧内编码采用帧内预测方法,利用色度块和亮度块、亮度块的内部以及亮度块预测模式选择间的相关性,根据率失真优化(RDO)准则确定不同判决依据(RDO或SAD)来快速选择帧内预测模式。本发明提供的方法,对比于全搜索方法,可以在信噪比和码率变化很小的同时,可使编码速度平均提高6倍以上。
1.一种H.264/AVC实时编码器帧内预测模式的快速选择方法,在H.264/AVC编码器 中,帧内编码采用帧内预测方法,其特征在于利用当前宏块的色度块和亮度块帧 内预测模式间的相关性、4x4亮度块I4和16x16亮度块I16的模式选择之间的相 关性以及亮度块预测模式内部的相关性,以简化的率失真优化RDO为判决依据, 快速进行帧内预测模式选择;快速选择的步骤如下:
a.确定色度块的模式选择具有独立性,即亮度宏块无论选择I16还是I4, 色度宏块模式都是一致的,从而首先对色度预测模式以SAD为准则进行独 立判决,确定色度的最佳预测模式;
b.确定了色度的最佳预测模式后,为亮度快模式判决提供如下依据:对于 亮度I16而言,当色度块选择直接D模式,亮度可以选择直接D、水平H、垂直 V、平坦P模式;
当色度块选择H模式,亮度可以选择直接D、水平H、平坦P模式;当色度块选 择垂直V模式,亮度可以选择直流D、垂直V、平坦P模式;当色度块选择平坦P模 式,亮度可以选择直流D、平坦P模式;而对于亮度块I4,亮度块I8选择的模式是 亮度块I4下绝大多数4x4块可能选择的模式;
c.对于宏块,I4的选择概率远远大于I16,因此我们首先进行I4下4x4块 的模式判决;根据邻块的模式判断得到当前块的可能模式,并和由步骤b确定的 可能模式,分别计算这两种模式下的RDO,并与阈值T0比较,小于T0,则可确 定为当前4x4的最佳模式,否则较小值RDO的为可能最佳模式;
d.比较步骤c中得到的可能最佳模式的预测方向邻近的模式的RDO,进一步确定 可能的最佳模式。如果它是垂直V、水平H或直流D,则比较这三种模式中未曾 比较的模式;如果它为其它模式,则比较所有其它未曾比较的模式;
e.在完成当前宏块的16个4x4块的模式判决后,计算宏块纹理复杂度,以MSE 来衡量,并与阈值T1比较,如果大于T1,提前终止判决,上述得到的结果为宏 块最佳模式;如果小于T1,则进行亮度16x16块的模式判决;
f.根据步骤b中色度块的最佳模式与亮度块的关系,确定当前宏块I16的可能 模式;统计步骤e中I4情况下16个子块的模式,得到概率最大的两种模式;综 合考虑这些可能模式,最终确定I16的可能模式;并以SAD为准则,确定I16的 最佳预测模式;
g.自适应确定步骤e所述的阈值T1来判断是否提前终止I16判决和自适应确定
步骤c所述的T0来判断是否提前终止I4的判决;
所述的阈值通过自适应方法获取的具体步骤为:
阈值T0通过如下公式自适应获取:
T0=α×((2q-bits-qp_const)/quant_coef[qp_rem][0][0])2
其中,α是校正因子,其取值范围在(0,1],qp_rem=QP%6, qp_bits=qp_per+15,qp_const=(1<<q_bits)/6,quant_coef是量化矩阵, QP为量化参数;
计算阈值T1的自适应方法为:
初始化T1=1<<20;
第一个宏块:依次进行I4和I16模式判决,得到二者的MSE(Minimum of Square Error),将均值赋给T1,作为下一宏块的阈值。
其它宏块:如果仅判决了I4模式,则T1不变。如果依次进行了I4和I16模式判决, 则二者的MSE的均值赋给T1。
技术领域\n本发明涉及一种信息处理的视频编码的方法,特别是一种H.264/AVC帧内预测模 式的快速选择方法。\n背景技术\n自从ITU-T颁布了H.261后,基于块的混合编码方法作为框架被普遍采用并不断 发展。国际标准H.261、H.263、MPEG-1、MPEG-2、MPEG-4等的制定极大推动了多媒 体技术的应用。然而,随着新服务的大量增加和高清电视的即将普及,以及现有传输 媒体如Cable Modem、Xdsl、UMTS较低的传输码率,迫切需要提高编码效率;同时还 要求视频编码标准能够适应现存或未来的网络。这些问题为新视频编码标准 H.264/AVC的产生提供了切实的依据。\n这些视频编码标准采用混合编码框架,即将输入视频图象分割成宏块,对其进行 预测、变换、量化、熵编码。预测包括帧内预测和帧间预测,帧内预测可去除空间冗 余,而帧间预测可去除时间上的冗余。\nH.264/AVC仍遵从这种基于块的混合编码方案,但包含了许多新特征:VCL层和 NAL层分离、空间域的帧内估计、1/4像素精度运动估计、自适应块尺寸运动补偿、 多参考帧运动补偿预测、通用B帧的概念、低复杂16bit的整数变换和量化、环内去 块滤波器和高效的熵编码。这些新特征一方面能够显著提高编码效率;另一方面具有 网络友好性,可有效用于各种网络和应用环境。\n其中H.264/AVC为提高帧内图象的编码效率,采用帧内预测去除空间冗余性。这 种帧内预测技术依然以宏块为处理单元,即通常将一帧图象分割成16×16的图象块进 行编码。然而基本处理块单元相对于其它标准由8×8降为4×4,即变换采用4×4的变 换矩阵。因此亮度宏块支持两种帧内预测块尺寸:4×4和16×16,而色度仅支持8×8。 每个进行帧内预测的当前块利用邻块的相邻像素值来预测当前块像素值,然后计算残 差、变换、熵编码。H.264/AVC标准中每个4×4块的帧内预测包括9种预测模式(如 附图1)。而亮度16×16和色度8×8仅支持4种预测模式,分别为:垂直(V)、水平 (H)、直流(D)和平坦模式(P),分别简称为V、H、D和P模式。\n同时这项技术也被应用到帧间编码之中,即对当前宏块进行完帧间预测后,接着 对它进行帧内预测,以率失真优化为最终判决依据,率失真小的模式被确定为最终模 式。这样既可以提高帧间编码宏块的编码效率,又可以提高容错能力。\n例如对某帧(I帧、P帧或B帧皆可)中当前宏块M进行帧内预测编码,利用相 邻块与当前块的紧挨的像素值来预测当前块的像素值,然后用当前块的像素值减去预 测值得到残差矩阵,将此残差矩阵经过变换、量化、熵编码得到该宏块的编码码流。\n但利用邻块像素值的预测方式是不同的,因此产生了多种预测模式(如附图1)。 在判断这些模式中的最优模式,需要一个衡量的准则,目前采用了率失真优化 (RDO-rate distortion optimization),其定义如下:\nJMODE(Sk,Ik|Q,λMODE)=DREC(Sk,Ik|Q)+λMODERREC(Sk,Ik|Q)公式(1)\n式中DREC表示编码后总的失真,RREC表示总的码率。λMODE≥0为拉格朗日 参数,通过确定编码选择项Ik,使编码后的失真和码率总和最小。\n本发明在色度宏块和亮度16×16块的模式判决中采用了一种简化的判决准则为 SAD(Sum of Absolute Difference),其定义如下:\n公式(2)\n式中f(i,j)为原始信号,f′(i,j)是帧内预测后的预测信号,N等于8(色度块) 或16(亮度块)。\nH.264/AVC校验模型对于当前宏块帧内预测模式的确定给出了一种全搜索方法, 以色度宏块的帧内预测模式为外循环,以亮度宏块的两种块模式为内循环,即对应每 一种色度宏块的帧内预测模式,都要分别比较亮度宏块I4和I16的所有模式。故这 种方法能够扫描到所有的模式,因此编码质量最高,运算量也是最大的。搜索的模式 总数为4×(16×9+4),共592个,这意味着为了得到一个宏块的最佳模式, 需要计算592个不同的JMODE。这使H.264/AVC在现有的硬件条件下实现编码是不可 能的。\n发明内容\n本发明的目的是提供一种H.264/AVC实时编码器的帧内预测模式的快速选择方 法,对比于全搜索方法,它可以在信噪比和码率变化很小的同时,可使编码速度平均 提高6倍以上。\n为达到上述目的,本发明采用下述技术方案:\n一种H.264/AVC实时编码器帧内预测模式的快速选择方法,在H.264/AVC编码器 中,帧内编码采用帧内预测方法,其特征在于利用当前宏块的色度块和亮度块帧内预 测模式间的相关性、4×4亮度块I4和16×16亮度块I16的模式选择之间的相关性以 及亮度块预测模式内部的相关性,以简化的率失真优化RDO为判决依据,快速进行帧 内预测模式选择。\n快速选择的步骤如下:\na)确定色度块的模式选择具有独立性,即亮度宏块无论选择I16还是I4, 色度宏块模式都是一致的,从而首先对色度预测模式以SAD为准则进行独 立判决,确定色度的最佳预测模式。\nb)确定了色度的最佳预测模式后,为亮度快模式判决提供如下依据:对于 亮度I16而言,当色度块选择直流D模式,亮度可以选择直流D、水平H、垂直 V、平坦P模式;\n当色度块选择水平H模式,亮度可以选择直流D、水平H、平坦P模式;当色度 块选择垂直V模式,亮度可以选择直流D、垂直V、平坦P模式;当色度块选择平坦 P模式,亮度可以选择直流D、平坦P模式;而对于亮度块I4,亮度块I8选择的模 式是亮度块I4下绝大多数4×4块可能选择的模式;\nc)对于宏块,I4的选择概率远远大于I16,因此我们首先进行I4下4×4块 的模式判决;根据邻块的模式判断得到当前块的可能模式,并和由步骤b确定的 可能模式,分别计算这两种模式下的RDO,并与阈值T0比较,小于T0,则可确 定为当前4×4的最佳模式,否则较小值RDO为可能最佳模式。\nd)比较步骤c中得到的可能最佳模式的预测方向邻近的模式的RDO,进一步确 定可能的最佳模式;如果它是垂直V、水平H或直流D,则比较这三种模式中 未曾比较的模式;如果它为其它模式,则比较所有其它未曾比较的模式;\ne)在完成当前宏块的16个4×4块的模式判决后,计算宏块纹理复杂度,以MSE 来衡量,并与阈值T1比较,如果大于T1,提前终止判决,上述得到的结果 为宏块最佳模式;如果小于T1,则进行亮度16×16块的模式判决;\nf)根据步骤b中色度块的最佳模式与亮度块的关系,确定当前宏块I16的可能 模式;统计步骤e中I4情况下16个子块的模式,得到概率最大的两种模式; 综合考虑这些可能模式,最终确定I16的可能模式。并以SAD为准则,确定 I16的最佳预测模式;\ng)自适应确定步骤e所述的阈值T1来判断是否提前终止I16判决和自适应确 定步骤c所述的T0来判断是否提前终止I4的判决。\n所述的阈值通过自适应方法获取的具体步骤为:\n阈值T0通过如下公式自适应获取:\nT0=α×((2q_bus-qp_const)/quant_coef[qp_rem][0][0])2\n其中,α是校正因子,其取值范围在(0,1],qp_rem=QP%6,\nqp_bits=qp_per+15,qp_const=(1<<q_bits)/6,quant_coef是量化矩阵, QP为量化参数;\n计算阈值T1的自适应方法为:\n初始化T1=1<<20;\n第一个宏块:依次进行I4和I16模式判决,得到二者的MSE(Minimum of Square Error),将均值赋给T1,作为下一宏块的阈值。\n其它宏块:如果仅判决了I4模式,则T1不变。如果依次进行了I4和I16模式判决, 则二者的MSE的均值赋给T1。\n本发明综合利用上述方法进行帧内预测模式选择。实验结果显示,可以提高编码 速度数倍,且能够保证编码的码率和PSNR与全搜索方法相比变化不大。\n附图说明\n图1是本发明的一个实施例的信息处理视频编码框图。\n图2是本发明的一个实施例的处理流程图\n图3是4×4块帧内预测方向图\n图4是当前块的邻块位置图\n图5是I16和I4的率失真变化图\n具体实施方式\n以下结合附图描述本发明的H.264/AVC实时编码器的帧内预测模式的快速选择 方法的一个优选实施例:\n在校验模型Jm72编码器上,具体I作环境为2.4GHz CPU的PC机,针对I帧序 列,编码序列为IIII,熵编码采用了CABAC,量化参数分别为14、28,亮度I4的RDO 阈值T0和宏块复杂度的阈值T1可自适应计算得到,采用下述方法:在我们实验过 程中,发现校验模型提供的全搜索方法忽略了模式选择间的相关性。在实际中,宏块 的色度块和亮度块帧内预测模式间、4×4亮度块(I4)和16×16亮度块(I16)的模 式选择之间以及亮度块预测模式内部都具有较强的相关性。如果能充分利用这些相关 性,就可以快速有效的确定帧内预测的最佳模式。\n(1)参见图1和图2,首先,可以观察到亮度宏块无论选择I16还是I4,色度 宏块模式都是一致的,因此可以确定在整个模式选择过程中色度块的模式选择具有独 立性,故色度预测模式可以在亮度判决之前进行独立判决色度块的最佳预测模式可以 为亮度宏块模式判决提供依据。尽管对于亮度I16与色度I8模式选择不能达到完全 一致,但存在着联系:当色度块选择D模式,亮度可以选择D、H、V、P模式;当色 度块选择H模式,亮度可以选择D、H、P模式;当色度块选择V模式,亮度可以选择 D、V、P模式;当色度块选择P模式,亮度可以选择D、P模式;而对于亮度I4与色 度I8,I8选择的模式是亮度I4下绝大多数4×4块最有可能选择的模式。亮度块内 部模式选择之间存在着优先性,V、H、D模式相对于其它模式具有优先选择性。I4 情况下,通过相邻块(图4)的模式可以判决得到当前块的最优先选择模式。对于优 先选取的模式,其方向上相邻的模式也具有很大的选中可能。\n实际中,I4的选择概率远远大于I16,因此在判决过程上优先检测I4。在I4情 况下在确定的16个4×4块最佳模式中,概率最大的两种模式很可能与I16的最佳模 式一致,因此可以将之色度模式联合进行检验,最终确定I16最佳模式。\nH.264/AVC编码器采用RDO为模式判别准则,但其结构复杂,尤其写码流相当耗 时间,因此可以根据具体模式采用不同的判决依据:①色度模式选择不依赖亮度的 模式选择,且其编码比特只包含色度模式和色度残差两部分,因此采用SAD就可以反 映不同模式间率失真的差别;②在亮度I4的4×4块编码比特包括块模式和残差的熵 编码。因为4×4块尺寸较小,其块模式编码的比特数和不同模式间的残差编码比特数 的差异会导致率失真的变化很大,故选择率失真作为I4的模式判决依据。且4×4块 的率失真的分布比较集中,可在分布范围中定义一个阈值T0,如果在某一模式下其 率失真小于T0,可认为达到最佳模式;③I16编码比特主要包括宏块模式和残差的 熵编码,故SAD能够反映率失真的变化,以其作为模式选择的依据。\n由于I16和I4随宏块纹理复杂度的RDO曲线是不同的(图5),在模式选择时还 应考虑宏块的纹理复杂度,并以宏块纹理复杂度的某个值作为阈值T1来确定二者间 的判决,即在纹理平坦区域(小于T1),I16生成的重建图像能更好地与原始图像相 匹配,选择I16概率大于I4,随着纹理复杂度的逐渐增加,I16在细节内容上率失真 逐渐增加,当大于或等于T1时将大于I4的率失真,这时I4更适合宏块编码模式选 择。衡量纹理复杂性的方式有很多种,如算术平均、几何平均、中值、方差和均方误 差。本发明选用了均方误差衡量宏块的纹理复杂度。\n本发明充分利用上述的相关性,将之有机结合在一起,根据RDO准则确定不同模 式的判决依据,得到帧内预测模式的快速选择方法,其流程如图2所示,具体步骤实 施如下:\n①对当前宏块的色度块进行帧内预测,以SAD为判决依据,确定色度宏块帧内 的最佳模式。\n②对当前宏块的亮度块进行I4帧内预测,首先根据当前4×4块的相邻块(图2) 的模式确定可能模式,将之和色度块的最佳模式相比较,确定最有可能块模 式。计算最可能模式的JMODE,与阈值T0比较,如果小于T0,即可确认为最 佳模式,跳转到步骤⑦。否则跳转到步骤③。\n③计算另一模式(上面被排除的模式)的JMODE,与步骤②计算的JMODE比较,得 到最小JMODE值的模式。与T0比较,如果小于T0,确认为最佳模式,跳转到 步骤⑦。\n④选择最小JMODE的模式作为候选模式,计算与其预测方向相邻的两个模式的 JMODE,比较这三种模式的JMODE,如果邻近模式的JMODE值都大于候选模式的 JMODE,跳转步骤⑦。否则到步骤⑤。\n⑤如果最小JMODE的模式是V、H或D,计算这三种模式在上述过程未曾计算的 JMODE,比较得到最小JMODE的模式,跳转到步骤⑦;如果是其它模式,跳转到 步骤⑥。\n⑥计算其它剩余模式,得到最小JMODE模式,跳转到步骤⑦。\n⑦该最小JMODE模式为该4×4块的最佳模式。\n⑧循环步骤②-⑦,得到16个4×4块的最佳模式。计算宏块复杂度,如果大于 阈值T1(图3),则该宏块为I4,结束判决。否则计算I4情况下整个宏块的 JMODE,跳转到步骤⑨。\n⑨根据色度块的最佳模式,确定当前宏块I16的可能模式。统计I4情况下16 个子块的模式,得到概率最大的两种模式,如果属于V、H或D,它们是I16 的可能模式;如果为其它模式,则P模式成为I16的可能模式。\n⑩比较上述确定的I16可能模式,得到I16最佳模式,计算其JMODE。与I4情 况下的宏块最小JMODE比较,得到最佳块尺寸和其对应的最佳预测模式。\n通过上述方法可以发现,本发明在通常情况下帧内预测编码需要检测的色度模式 为4种,亮度I4的每个4×4块最少1种或最多9种。如果提前终止的话,不需要检 测亮度I16,否则亮度I16检测最少2种或最多4种模式,这种情况下几乎涵盖了所 有的模式。但总体检测的模式数极大地降低。\nH.264/AVC的帧间编码中也使用了帧内预测编码技术,上述方法同样适用,只是 略作改动即可:在步骤2的I4帧内预测中,当该4×4块的邻块模式为帧内编码模式 不必考虑直接使用即可;如果邻块为帧间模式,则可默认其帧内预测模式为直流模式 (D)。\n(2)计算阈值T0的自适应方法\nH.264/AVC采用的是类DCT变换。公式(3)为4×4DCT整数变换,E为4×4亮 度块经预测后残差矩阵,X为类DCT整数变换矩阵,I为整数变换后量化前的系数矩 阵。\nI=XEXT 公式(3)\n其中:\n设DC为变化后的直流系数,s是当前4×4块的原始像素值,s’是预测后重建块 的像素值,如公式(4)所示。如果DC趋近于0,那么其它交流系数AC也趋于0,整 个变换后的矩阵趋向于0矩阵,因此可省略后面的处理过程。\n公式(4)\n在H.264/AVC中如果变换系数经过量化后,其量化值绝对值小于或等于1时,则 残差矩阵可视为0矩阵。即满足下面的不等式:\n|DC|<(2q_bits-qp_const)/quant_coef[qp_rem][0][0] 公式(5)\n其中:qp_per=QP/6,qp_rem=QP%6,qp_bits=qp_per+15, qp_const=(1<<q_bits)/6,QP为量化参数。\n对于每个4×4块,公式(6)给出SAD的计算,具体如下:\n公式(6)\n很明显下面不等式成立:\n\n即|DC|≤SAD。\n则如果下式成立,则满足0矩阵的判断。\nSAD<(2q_bits-qp_const)/quant_coef[qp_rem][0][0] 公式(7)\n阈值T0由4×4块的RDO确定,如公式8所示,mode表示所选的预测模式,R包 括模式类型和残差的熵编码。\nJmode(mode)=SSD+λmodeR(mode,E) 公式(8)\n其中,p[x,y]是预测后残差经过变换、量化、反量化、 反变换后与参考块的值相加得到,故下面不等式成立:\n|s(x,y)-p(x,y)|<|s(x,y)-s′(x,y)|\n因此\n故SSD<SAD2,即\nSSD<((2q_bits-qp_const)/quant_coef[qp_rem][0][0])2 公式(9)\n这时,该块残差量化系数将趋于0,因此得到T0。\nT0=((2q_bits-qp_const)/quant_coef[qp_rem][0][0])2 公式(10)\n实际中可能存在差别,因此设置一个校正因子α=0.5:\nT0=α×((2q_bits-qp_const)/quant_coef[qp_rem][0][0])2 公式(11)\n(3)计算阈值T1的自适应方法\n在实际中,当T1越大,搜索I16的可能性越大,因此搜索的模式越多;T1越小, 搜索I16的可能性越小,则搜索的模式变少。本发明通过当前宏块的前一宏块来确定 当前T1的值,具体方法如下:\n初始化:T1=1<<20\n第一个宏块:依次进行I4和I16模式判决,得到二者的MSE,将均值赋给T1, 作为下一宏块的阈值。\n其它宏块:如果仅判决了I4模式,则T1不变。如果依次进行了I4和I16模式 判决,则二者的MSE的均值赋给T1。\n测试三个纹理复杂程度不同的CIF序列Mobile、Bus和Foreman。实验结果表明, 本快速帧内预测模式选择方法比H.264/AVC原有的全搜索方法可提高I帧编码速度大 约6倍左右。在速度提高的同时,平均信噪比变化约0.1db左右,码率稍有变化。\n本发明的第二个实施例是:针对P帧编码,编码序列为I PPP,运动估计搜索 范围±16,5个参考帧,运动估计算法为全搜索算法,熵编码采用了CABAC,量化参 数分别为14、28。亮度I4 4×4块的RDO的阈值T0和宏块复杂度的阈值T1,同样采 用上述的自适应方法。仍然测试三CIF序列Mobile、Bus和Foreman。实验结果表明, 本发明的快速帧内预测模式选择方法在帧间情况下比H.264/AVC原有的帧间全搜索 方法可提高编码速度大约25%左右。在速度提高的同时,平均信噪比变化约0.02db 左右,码率几乎没有变化。
法律信息
- 2012-08-08
未缴年费专利权终止
IPC(主分类): H04N 11/04
专利号: ZL 200410025123.7
申请日: 2004.06.11
授权公告日: 2008.07.09
- 2008-07-09
- 2005-04-27
- 2005-02-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2002-02-13
|
2000-10-23
| | |
2
| |
2004-04-28
|
2003-09-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |