背景技术
随着多媒体技术的发展和多媒体应用的迅速推广,视频图象压缩标准和技术得到了广泛的关注,特别是由MPEG(活动图像专家组)和ITU(国际电信联盟)两个标准组织联合形成的标准制定工作组JVT制定的H.264,由于其先进的技术特点和较好的压缩性能,不但已经在会议电视、可视电话、流媒体、HDDVD、视频监控、数字电视、3G等领域得到应用,而且还具有广阔的应用前景。
H.264的压缩处理框架如附图1所示。
在图1中,压缩处理的基本处理单位为16×16宏块,采用了多帧参考、帧内预测、多宏块模式、4×4整数变换和量化、环滤波、1/4象素运动预测、CAVLC和CABAC熵编码等先进技术,其压缩效率比MPEG-2、H.263、MPEG-4ASP提高一倍多。
H.264分层编码标准中的基本层兼容H.264 main profile,采用了MCTF(Motion compensation temporal filter基于运动补偿的时间滤波)的算法框架,可以较好地实现spatial(空间)分层、temporal(时间)分层、quality或SNR(质量)分层、complexity(复杂度)分层等功能。JVT SVC(视频分层编码)的最新参考模型为JSVM1。
H.264的一个主要特点是采用了多方向的INTRA(视频编码中的帧内编码模式)预测方法,即采用了多种预测模式的帧内预测方法,如亮度预测包括:16×16宏块的帧内预测和4×4宏块的帧内预测两种预测单位,其中16×16的宏块帧内预测包括vertical、horizontal、DC(余弦变换系数中的低频分量)和Plane四种预测模式;4×4宏块的帧内预测包括Vertical、Horizontal、DC、DiagonalDown-Left、Diagonal Down-Right、Vertical-Left、Horizontal-Down、Vertical-Right和Horizontal-Up九种预测模式,分别如附图2和附图3所示。再如色度预测是以8×8宏块大小为单位进行的,包括Vertical、Horizontal、DC和Plane四种预测模式,类似于16×16宏块INTRA亮度预测,具体如图4所示。
从图2、图3、图4中可以看出,在INTRA prediction(帧内预测)方面,JSVM1基本层采用H.264的INTRA预测方法,即通过利用当前帧中当前编码宏块的周围已编码宏块的信息来对当前宏块进行预测。
JSVM1增强层在H.264的INTRA预测方法的基础上又增加了一种新的预测方法,即I_BL。I_BL利用当前帧中当前宏块在低层的对应宏块的每个像素值对当前宏块进行帧内预测,具体如图5所示。
JSVM1增强层单独采用H.264 INTRA预测技术时,没有充分利用低层已编码信息,存在预测结果准确性差、编码效率低的缺点,JSVM1增强层虽然增加了I_BL预测方法,但是,其编码效率还有待于进一步的改进。
发明内容
本发明的目的在于,提供一种增强层帧内预测方法,通过利用低层对应宏块周围的重构像素值,以实现提高增强层帧内预测准确性的目的。
为达到上述目的,本发明提供的一种增强层帧内预测方法,包括:
a、确定当前宏块对应的低层宏块;
b、根据所述低层宏块的周围重构像素值对所述当前宏块进行帧内预测。
所述宏块为:基于视频编码中的帧内编码模式的宏块。
所述宏块为:16×16的宏块或8×8的宏块或4×4的宏块。
所述低层宏块的周围重构像素值为:所述低层宏块本身的边对应的重构像素值和/或与所述低层宏块同层的与低层宏块相邻的邻接宏块的与该低层宏块邻接边的重构像素值;
所述步骤b包括如下步骤:
b1、确定进行帧内预测的预测模式;
b2、根据所述预测模式获取所述低层宏块的至少一个边对应的周围重构像素值;
b3、根据所述预测模式、所述低层宏块的至少一个边对应的周围重构像素值对所述当前宏块进行帧内预测。
所述步骤b中的预测模式为一个或多个。
所述步骤b中的预测模式为:DC预测模式和/或vertical预测模式和/或horizontal预测模式和/或Plane预测模式的帧内预测;或
所述步骤b中的预测模式为:Vertical预测模式和/或Horizontal预测模式和/或DC预测模式和/或Diagonal Down-Left预测模式和/或DiagonalDown-Right预测模式和/或Vertical-Left预测模式和/或Horizontal-Down预测模式和/或Vertical-Right预测模式和/或Horizontal-Up预测模式的帧内预测。
所述步骤b2具体包括:
根据所述进行帧内预测的预测模式在所述低层宏块的同层的各相邻宏块中确定至少一个参与帧内预测的相邻宏块;
获取所述低层宏块层中参与帧内预测的相邻宏块的与所述低层宏块相邻边的重构像素值。
所述步骤b2还包括:
b21、根据所述进行帧内预测的预测模式获取所述当前宏块的至少一个边对应的周围重构像素值;
且所述步骤b3具体包括:
根据所述预测模式、所述低层宏块的至少一个边对应的周围重构像素值、所述当前宏块的至少一个边对应的周围重构像素值对所述当前宏块进行帧内预测。
所述步骤b21具体包括:
根据所述进行帧内预测的预测模式在所述当前宏块的同层的各相邻宏块中确定至少一个参与帧内预测的相邻宏块;
获取所述当前宏块层中参与帧内预测的相邻宏块的与所述当前宏块相邻边的重构像素值。
所述步骤b之前还包括:
在进行空间分层编码时,对所述低层宏块进行上采样处理。
通过上述技术方案的描述可知,本发明通过充分利用当前宏块层的低层宏块的周围重构像素值,使本发明在实现增强层帧内预测时,能够选取更多与当前宏块密切相关的重构像素值,如同时考虑低层宏块的周围重构像素值和当前宏块的周围重构像素值等,使本发明的预测结果能够更加逼近预测值;本发明中每一种预测模式都可以选取多种相邻边如至少一个与低层宏块的相邻边和/或至少一个与当前宏块相邻边等的重构像素值来实现帧内预测,使本发明的增强层帧内预测方法实现简单、灵活;从而通过本发明提供的技术方案实现了提高增强层帧内预测准确性、提高视频编码效率的目的。
具体实施方式
本发明的核心是:确定当前宏块对应的低层宏块,根据所述低层宏块的周围重构像素值对所述当前宏块进行帧内预测。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
本发明中的宏块为基于视频编码中的帧内编码模式的宏块,且该宏块可以为:16×16的宏块,可以为8×8的宏块,也可以为4×4的宏块。
本发明的增强层帧内预测方法的实现原理如附图6所示。
图6中,对第K层的16×16的当前宏块的帧内预测,需要根据当前宏块在第K-1层对应的低层宏块的周围重构像素值来实现,低层宏块在第K-1层中的位置,应与当前宏块在第K层的位置对应。
在图6中,需要根据与第K-1层对应的低层宏块的右侧相邻的宏块的最左边的重构像素值、与第K-1层对应的低层宏块的下侧相邻的宏块的最上边的重构像素值、与第K层的当前宏块的左侧相邻的宏块的最右边的重构像素值和与第K层的当前宏块的上侧相邻的宏块的最下边的重构像素值来实现。
图6中的与第K-1层对应的低层宏块的右侧相邻的宏块的最左边的重构像素值也可以替换为第K-1层对应的低层宏块的最右边的重构像素值,与第K-1层对应的低层宏块的下侧相邻的宏块的最上边的重构像素值也可以替换为与第K-1层对应的低层宏块的最下边的重构像素值。
从图6中可以看出,本发明主要是根据与当前宏块同层的与当前宏块邻接的宏块的与当前宏块邻接边的重构像素值和/或根据与当前宏块对应的低层宏块邻接的宏块的与低层宏块邻接边的重构像素值和/或根据与当前宏块对应的低层宏块本身的边对应的重构像素值进行帧内预测。
与当前宏块对应的低层宏块本身的边对应的重构像素值是该低层宏块中自身包含的重构像素值。
本发明在进行增强层帧内预测时,可通过多种预测模式来实现帧内预测,如当前宏块为16×16的宏块或8×8的宏块时,在进行本发明的帧内预测时,可选用DC预测模式、vertical预测模式、horizontal预测模式和Plane预测模式这4种预测模式中的一种或多种预测模式进行帧内预测。再如当前宏块为4×4的宏块时,在进行本发明的帧内预测时可选用Vertical预测模式、Horizontal预测模式、DC预测模式、Diagonal Down-Left预测模式、Diagonal Down-Right预测模式、Vertical-Left预测模式、Horizontal-Down预测模式、Vertical-Right预测模式、Horizontal-Up预测模式这9种预测模式中的一种或多种预测模式进行帧内预测。
上述每一种预测模式均存在至少一种帧内预测实现方式。一种预测模式对应的多种帧内预测实现方式是根据参与帧内预测的不同周边的重构像素值来确定的。
上述选取的不同周边的重构像素值可以为:与当前宏块同层的与当前宏块相邻的各相邻宏块的与当前宏块邻接边的重构像素值;可以为:与低层宏块同层的与低层宏块相邻的各相邻宏块的与该低层宏块邻接边的重构像素值;也可以为:低层宏块自身的相应边对应的重构像素值;同样可以为:上述三种方式的任意组合,如与当前宏块同层的与当前宏块相邻的各相邻宏块的与当前宏块邻接边的重构像素值和与低层宏块同层的与低层宏块相邻的各相邻宏块的与该低层宏块邻接边的重构像素值,再如与当前宏块同层的与当前宏块相邻的各相邻宏块的与当前宏块邻接边的重构像素值、低层宏块的相应边对应的重构像素值和与低层宏块同层的与低层宏块相邻的各相邻宏块的与该低层宏块邻接边的重构像素值。
在确定参与帧内预测的不同周边的重构像素值时,应根据预测模式对应选取至少一条邻接边或低层宏块的相应边的重构像素值。
下面结合附图7对DC预测模式的几种帧内预测实现方式进行说明。
图7中列举了DC预测模式的5种帧内预测实现方式,即DC0至DC4。
DC0利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值和与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值来实现整个当前宏块的帧内预测。
DC1利用与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值和与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值来实现整个当前宏块的帧内预测。
DC2利用与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值和与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值来实现整个当前宏块的帧内预测。
DC3利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值和与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值来实现整个当前宏块的帧内预测。
DC4利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值、与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值、与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值和与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值实现整个当前宏块的帧内预测。
图7仅给出了DC预测模式的几种帧内预测实现方式的示例,DC预测模式还可以通过采用三边的重构像素值、使低层宏块的相应边对应的重构像素值参加帧内预测等方式来实现整个当前宏块的帧内预测,在本实施例中不再一一列举。
下面结合附图8对Horizontal预测模式的几种帧内预测实现方式进行说明。
图8中列举了Horizontal预测模式的3种帧内预测实现方式,即Horizontal0至Horizontal2。
Horizontal0利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值来实现整个当前宏块的帧内预测。
Horizontal1利用与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值来实现整个当前宏块的帧内预测。
Horizontal2利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值来实现左半个当前宏块的帧内预测,利用与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值来实现右半个当前宏块的帧内预测,或者利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值和与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值来实现当前宏块的帧内预测,例如,取平均值为预测值。
图8中仅给出了Horizontal预测模式的几种帧内预测实现方式的示例,Horizontal预测模式还可以通过利用与当前宏块同层的与当前宏块的左侧相邻的宏块的最右边的重构像素值、与低层宏块同层的与低层宏块的右侧相邻的宏块的最左边的重构像素值的加权形式来实现当前宏块的帧内预测,同样,也可以使低层宏块的相应边对应的重构像素值参加帧内预测等方式实现当前宏块的帧内预测,在本实施例中不再一一列举。
图9中列举了Vertical预测模式的3种帧内预测实现方式,即Vertical0至Vertical2。
Vertical0利用与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值来实现整个当前宏块的帧内预测。
Vertical1利用与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值来实现整个当前宏块的帧内预测。
Vertical2利用与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值来实现上半个当前宏块的帧内预测,利用与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值来实现下半个当前宏块的帧内预测,或者利用与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值和与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值来实现当前宏块的帧内预测,例如,取平均值为预测值。
图9中仅给出了Vertical预测模式的几种帧内预测实现方式的示例,Vertical预测模式还可以通过利用与当前宏块同层的与当前宏块的上侧相邻的宏块的最下边的重构像素值、与低层宏块同层的与低层宏块的下侧相邻的宏块的最上边的重构像素值的加权形式来实现当前宏块的帧内预测,同样,也可以采样使低层宏块的相应边对应的重构像素值参加帧内预测等方式实现当前宏块的帧内预测,在本实施例中不再一一列举。
上述图7、图8、图9中只给出了DC预测模式、Horizontal预测模式、Vertical预测模式的几种帧内预测实现方式,其他预测模式如Plane预测模式、DiagonalDown-Left预测模式、Diagonal Down-Right预测模式、Vertical-Left预测模式、Horizontal-Down预测模式、Vertical-Right预测模式、Horizontal-Up预测模式等根据各自的算法不同会对应有不同的实现方式,各实现方式都可以考虑采用当前宏块对应的低层宏块的周围重构像素值,在本实施例中不再一一列举。
当然,在JSVM1中进行增强层INTRA帧内预测时,增强层中的当前宏块和低层的对应宏块必须都为INTRA才能够进行上述INTRA帧内预测,并且,在spatial scalability(空间分层)时,低层图象必须进行upsample(上采样)后才能够进行上述INTRA帧内预测。
本发明在进行帧内预测时,可以采用上述一种预测模式中的一种实现方式来替代JSVM1中增强层的帧内预测方法,即不在JSVM1原有帧内预测模式上增加本发明的预测模式,如在DC预测模式中仅采用DC4实现方式,Horizontal预测模式中仅采用Horizontal2实现方式,Vertical预测模式中仅采用Vertical2实现方式,这是一种替代方式的帧内预测方法。
本发明在进行帧内预测时,也可以在JSVM1原有帧内预测模式上增加本发明中的一种或多种预测模式中的一种实现方式,如增加DC4、Horizontal2、Vertical2等帧内预测实现方式,增加的帧内预测实现方式与JSVM1中原有的帧内预测模式一起实现帧内预测,这是一种简化方式的帧内预测方法。
本发明在进行帧内预测时,同样可以在JSVM1原有帧内预测模式上增加本发明中的一种或多种预测模式中的一种或多种实现方式,如增加DC1、DC2、DC3、DC4、Horizontal1、Horizontal2、Vertical1、Vertical2等帧内预测实现方式,增加的帧内预测实现方式与JSVM1中原有的帧内预测模式一起实现帧内预测,这是一种复杂方式的帧内预测方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。