本发明的目的在于,提供一种确定增强层帧内预测模式的方法和编解码设 备,通过根据增强层当前宏块或块对应的低层宏块或块的信息自适应地确定当 前宏块或块的预测模式,实现了提高压缩效率,提高传输效率的目的。
为达到上述目的,本发明提供的一种确定增强层帧内预测模式的方法,包 括步骤:
a、编码端/解码端确定增强层的当前宏块或块对应的低层宏块或块;
b、编码端/解码端根据所述低层宏块或块的信息自适应地确定所述当前宏 块或块的帧内预测模式。
所述步骤b中的低层宏块或块的信息为:低层宏块或块的预测模式;
且所述步骤b具体包括:
b1、编码端/解码端在确定所述当前宏块或块与所述低层宏块或块均为基于 视频编码中的帧内编码模式的块时,确定所述低层宏块或块的预测模式;
b2、编码端/解码端根据所述低层宏块或块的预测模式确定所述当前宏块或 块的帧内预测模式。
所述b2具体为:
编码端/解码端将所述低层宏块或块的帧内预测模式确定为所述当前宏块 或块的帧内预测模式;或
编码端/解码端根据所述低层宏块的帧内预测模式、低层块预测模式与增强 层块预测模式的对应关系确定当前宏块或块的帧内预测模式。
所述步骤b中的低层宏块或块的信息为:低层宏块或块的重构
像素值;
且所述步骤b具体为:
b1’、编码端/解码端确定当前宏块或块针对预定预测模式的预测编码效率 测度值;
b2’、编码端/解码端根据所述低层宏块的重构像素值、所述预定预测模式 的预测编码效率测度值确定所述当前宏块或块的帧内预测模式。
所述步骤b1’具体包括:
编码端/解码端根据与当前宏块或块邻接边的重构像素值确定当前宏块或 块针对预定预测模式的预测编码效率测度值,所述邻接边属于与当前宏块或块 同层的、并与当前宏块或块相邻的邻接宏块或块。
所述步骤b1’具体包括:
编码端/解码端根据与当前宏块或块邻接边的重构像素值,所述邻接边属于 与当前宏块或块同层的、并与当前宏块或块相邻的邻接宏块或块,和/或根据当 前宏块或块对应的低层宏块或块的本身的边对应的重构像素值,和/或根据与当 前宏块或块对应的低层宏块或块同层的、与低层宏块或块相邻的邻接宏块或块 的与低层宏块或块相邻的边对应的周围重构像素值,确定当前宏块或块针对预 定预测模式的预测编码效率测度值。
所述预定预测模式为:DC预测模式、vertical预测模式、horizontal预测模 式、Plane预测模式中的至少两种;或
所述预定预测模式为:Vertical预测模式、Horizontal预测模式、DC预测 模式、Diagonal Down-Left预测模式、Diagonal Down-Right预测模式、 Vertical-Left预测模式、Horizontal-Down预测模式、Vertical-Right预测模式、 Horizontal-Up预测模式中的至少两种。
所述步骤b2’具体包括:
编码端/解码端确定所述低层宏块或块的重构像素值分别与各预定预测模 式的预测编码效率测度值;
将最小的预测编码效率测度值对应的预测模式确定为所述当前宏块或块 的帧内预测模式。
所述预测编码效率测度值具体为:SAD值或SSD值或RD_cost值。
所述宏块或块为:16×16的基于视频编码中的帧内编码模式的宏块或8× 8的基于视频编码中的帧内编码模式的块或4×4的基于视频编码中的帧内编码 模式的块。
本发明提供的一种编解码设备,设置有确定增强层帧内预测模式模块,所 述确定增强层帧内预测模式模块包括:
获取低层预测模式子模块:确定增强层的当前宏块或块对应的低层宏块或 块,并在确定当前宏块与所述低层宏块均为基于视频编码中的帧内编码模式的 宏块时,获取低层宏块或块的预测模式;
确定预测模式子模块1:根据所述低层宏块或块的预测模式确定所述当前 宏块或块的帧内预测模式。
本发明提供的另一种编解码设备,设置有确定增强层帧内预测模式模块, 所述确定增强层帧内预测模式模块包括:
确定预测编码效率测度值子模块:确定增强层的当前宏块针对预定预测模 式的预测编码效率测度值;
确定预测模式子模块2:确定增强层的当前宏块对应的低层宏块,并获取 所述低层宏块的重构像素值,选取预测编码效率测度值最小所对应地预测模式 为所述增强层当前宏块或块的帧内预测模式。
通过上述技术方案的描述可知,本发明能够根据增强层当前宏块或块对应 的低层宏块或块的信息如低层宏块或块的预测模式信息、低层宏块或块的重构 像素值等,确定增强层当前宏块或块对应的预测模式,使编码端和解码端能够 自适应地确定当前宏块或块的帧内预测模式,避免了编码端对增强层当前宏块 或块的预测模式信息的编码过程,避免了编码端和解码端之间传输预测模式信 息;本发明提供了多种确定增强层当前宏块或块的预测模式的方法,实现方法 灵活;从而通过本发明提供的技术方案实现了提高压缩效率,提高传输效率的 目的。
附图说明
图1是H.264的压缩处理框架示意图;
图2是H.264的16×16宏块的
亮度预测方法示意图;
图3是H.264的4×4宏块的亮度预测方法示意图;
图4是H.264的8×8宏块的
色度预测方法示意图;。
图5是I_BL预测模式示意图;
图6是利用低层宏块进行增强层帧内预测原理图;
图7是DC预测模式示意图;
图8是Horizontal预测模式示意图;
图9是Vertical预测模式示意图;
图10是本发明的编解码设备示意图一;
图11是本发明的编解码设备示意图二。
如果编码端不对其采用的预测模式信息进行编码,而编码端和解码端均能 够自适应地确定增强层当前宏块或块的预测模式,就能够避免编码端对预测模 式信息进行编码、预测模式信息编码的传输、解码端对预测模式信息编码的解 码过程,从而能够提高INTRA帧或宏块的压缩效率,提高视频信息的传输效率。
因此,本发明的方法和编解码设备中设置的确定增强层帧内预测模式模块 的核心均为:通过增强层当前宏块或块对应的低层宏块或块的信息来自适应确 定所述当前宏块或块的预测模式。
下面基于本发明的核心思想、以两种具体的确定增强层帧内预测模式的方 法为例对本发明提供的技术方案做进一步的描述。
方法一:根据低层宏块或块的预测模式确定增强层宏块或块的预测模式。
本发明的编码端和解码端首先需要确定增强层当前宏块或块对应的低层 宏块或块,该低层宏块或块在其所在层的
位置与当前宏块或块处于增强层的位 置相同。
当前宏块或块对应的低层宏块或块的预测模式在编码端和解码端都是可 以获知的,这样,编码端和解码端可以根据低层宏块或块的预测模式来确定当 前宏块或块的预测模式,如编码端和解码端都可以将低层宏块或块的预测模式 作为增强层当前宏块或块的预测模式,即当前宏块或块与其对应的低层宏块或 块采用完全相同的预测模式;再如编码端和解码端都可以设置低层块预测模式 与增强层块预测模式的对应关系,这样,编码端和解码端在确定低层宏块或块 的预测模式后,可以根据低层宏块或块的预测模式和上述对应关系来确定当前 宏块或块的预测模式,如低层宏块或块的预测模式为Horizontal-Down预测模 式,则可以确定增强层当前宏块或块的预测模式为Horizontal预测模式等。
上述低层宏块或块的Horizontal-Down预测模式对应当前宏块或块的 Horizontal预测模式仅是一个最简单的例子,在实际应用中,低层宏块或块的预 测模式可以为多种,则在其中的某一个对应关系中,应设定低层宏块或块采用 多种预测模式时,当前宏块或块应采用的一种或多种预测模式。
方法一中,增强层的当前宏块或块和低层的对应宏块或块必须都为INTRA 块才能够将低层宏块或块的预测模式作为增强层宏块或块的预测模式。
方法二:根据低层宏块或块的重构像素值确定增强层宏块或块的预测模 式。
本发明的编码端和解码端首先需要确定增强层当前宏块或块对应的低层 宏块或块,该低层宏块或块在其所在层的位置与当前宏块或块处于增强层的位 置相同。
然后,编码端和解码端需要根据事先确定的预定预测模式对增强层当前宏 块或块进行预测编码,当增强层当前宏块为16×16或8×8的块时,预定的预 测模式可以为:16×16块或8×8块对应的DC预测模式、vertical预测模式、 horizontal预测模式、Plane预测模式中的任意两种或任意三种或是这四种预测 模式。当增强层当前宏块为4×4的块时,预定的预测模式可以为:4×4块对 应的Vertical预测模式、Horizontal预测模式、DC预测模式、Diagonal Down-Left 预测模式、Diagonal Down-Right预测模式、Vertical-Left预测模式、 Horizontal-Down预测模式、Vertical-Right预测模式、Horizontal-Up预测模式中 的任意几种或全部预测模式。
编码端和解码端采用的预定的预测模式应该是完全相同的。
编码端和解码端会根据预定预测模式中多种预测模式得到当前宏块或块 的各预测模式对应的预测编码效率测度值,由于在编码端和解码端,上述低层 宏块或块的重构像素值是可以获知的,所以,本发明的编码端和解码端可以根 据低层宏块或块的重构像素值计算得到的各预测模式对应的预测编码效率值 来确定当前宏块或块的预测模式,选取最小预测编码效率值所对应的预测模式 为增强层当前宏块或块的预测模式,其中预测编码效率值可以取为SAD(差的 绝对值的和)或SSD(平方差的和)或RD_cost(率控制)。
在方法二中,上述确定当前宏块或块的各预测模式对应的预测编码效率值 值的方法可以为如下两种:
一、根据增强层当前宏块或块的已编码的邻接宏块或块的重构像素值来确 定当前宏块或块针对某个预测模式的预测编码效率值。
INTRA预测技术中的亮度预测包括16×16块预测和4×4块预测两种预测 单位,其中16×16块预测包括:vertical、horizontal、DC和Plane四种预测模式, 如附图2所示;4×4块预测包括:Vertical、Horizontal、DC、Diagonal Down-Left、 Diagonal Down-Right、Vertical-Left、Horizontal-Down、Vertical-Right和 Horizontal-Up九种预测模式,如附图3所示。
INTRA预测技术中的色度预测是以8×8块大小为预测单位的,包括: Vertical、Horizontal、DC和Plane四种预测模式,如,图4所示,类似于16×16 INTRA亮度预测。
从图2、图3、图4中可以看出,在INTRA prediction(帧内预测)方面,都 是通过利用当前帧中增强层的当前宏块的周围已编码宏块的信息来对当前宏 块进行预测,从而获得增强层的当前宏块针对某一预测模式的预测值。
二、根据增强层当前宏块或块对应的低层宏块或块的重构像素值来确定当 前宏块或块针对某个预测模式的预测编码效率值。
这里的低层宏块或块可以仅仅为与当前宏块或块在增强层的位置相同的 低层宏块或块;低层宏块或块也可以为与当前宏块或块在增强层的位置相同的 低层宏块或块,和与该低层宏块或块处于同一层的与该低层宏块或块相邻的邻 接低层宏块或块。
根据采用的低层宏块或块的不同,确定当前宏块或块针对某个预测模式的 预测编码效率值的方法又可以分出五种不同的实现方式:
方式1、仅根据与当前宏块或块在增强层的位置相同的低层宏块或块的重 构像素值来确定当前宏块或块针对某个预测模式的预测编码效率测度值。
如附图5中,I_BL就是利用增强层的当前宏块对应的低层宏块的重构像素 值来进行对当前宏块的预测编码,以确定当前宏块的预测编码效率测度值。
方式2、根据与当前宏块或块在增强层的位置相同的低层宏块的邻接宏块 或块的周边重构像素值、和与当前宏块或块同层的与当前宏块或块邻接的相邻 宏块或块的周边重构像素值来确定当前宏块或块针对某个预测模式的预测编 码效率测度值。
如附图6中,需要根据与第K-1层对应的低层宏块或块的右侧相邻的宏 块或块的最左边的重构像素值、与第K-1层对应的低层宏块或块的下侧相邻 的宏块或块的最上边的重构像素值、与第K层的当前宏块或块的左侧相邻的宏 块或块的最右边的重构像素值和与第K层的当前宏块或块的上侧相邻的宏块 或块的最下边的重构像素值来实现。
方式3、根据与当前宏块或块在增强层的位置相同的低层宏块或块的周边 重构像素值、和与当前宏块或块同层的与当前宏块或块邻接的相邻宏块或块的 周边重构像素值来确定当前宏块或块针对某个预测模式的预测编码效率测度 值。
如附图6中,与第K-1层对应的低层宏块或块的右侧相邻的宏块或块的 最左边的重构像素值也可以替换为第K-1层对应的低层宏块或块的最右边的 重构像素值,与第K-1层对应的低层宏块或块的下侧相邻的宏块或块的最上 边的重构像素值也可以替换为与第K-1层对应的低层宏块或块的最下边的重 构像素值。
方式4、根据与当前宏块或块在增强层的位置相同的低层宏块的相邻宏块 或块的周边重构像素值来确定当前宏块或块针对某个预测模式的预测值。
方式5、根据与当前宏块或块在增强层的位置相同的低层宏块或块的相邻 宏块或块的周边重构像素值、与当前宏块或块在增强层的位置相同的低层宏块 或块的周边重构像素值、和与当前宏块或块同层的与当前宏块或块邻接的相邻 宏块或块的周边重构像素值来确定当前宏块或块针对某个预测模式的预测编 码效率测度值。
下面结合附图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预测模式、Diagonal Down-Left预测模式、Diagonal Down-Right预测模式、Vertical-Left预测模式、 Horizontal-Down预测模式、Vertical-Right预测模式、Horizontal-Up预测模式等 根据各自的算法不同会对应有不同的实现方式,各实现方式都可以考虑采用当 前宏块或块对应的低层宏块或块的周围重构像素值,在本实施例中不再一一列 举。
当然,在spatial scalability(空间分层)时,低层图象必须进行upsample (上采样)后才能够进行上述INTRA帧内预测。
本发明在进行帧内预测时,可以采用上述一种预测模式中的一种实现方式 来替代JSVM中增强层的帧内预测方法,即不在JSVM原有帧内预测模式上增 加本发明的预测模式,如在DC预测模式中仅采用DC4实现方式,Horizontal 预测模式中仅采用Horizontal2实现方式,Vertical预测模式中仅采用Vertical2 实现方式,这是一种替代方式的帧内预测方法。
本发明在进行帧内预测时,也可以在JSVM原有帧内预测模式上增加本发 明中的一种或多种预测模式中的一种实现方式,如增加DC4、Horizontal2、 Vertical2等帧内预测实现方式,增加的帧内预测实现方式与JSVM中原有的帧 内预测模式一起实现帧内预测,这是一种简化方式的帧内预测方法。
本发明在进行帧内预测时,同样可以在JSVM原有帧内预测模式上增加 本发明中的一种或多种预测模式中的一种或多种实现方式,如增加DC1、DC2、 DC3、DC4、Horizontal1、Horizontal2、Vertical1、Vertical2等帧内预测实现方 式,增加的帧内预测实现方式与JSVM中原有的帧内预测模式一起实现帧内预 测,这是一种复杂方式的帧内预测方法。
本发明在编解码设备中设置确定增强层帧内预测模式模块的示意图如附 图10、附图11所示。
在图10中,确定增强层帧内预测模式模块包括:获取低层预测模式子模 块和确定预测模式子模块1。
获取低层预测模式子模式主要用于确定增强层的当前宏块或块对应的低 层宏块或块,并在确定当前宏块与该低层宏块均为基于视频编码中的帧内编码 模式的宏块时,获取低层宏块或块的预测模式。
确定预测模式子模块1主要用于根据低层宏块或块的预测模式确定当前宏 块或块的预测模式。确定预测模式子模块1可以将低层宏块或块的预测模式作 为当前宏块或块的预测模式,确定预测模式子模块1也可以根据其存储的低层 块的预测模式与增强层块的预测模式的对应关系来确定当前宏块或块的预测 模式,具体如上述方法实施例中的描述,在此不再详细描述。
在图11中,确定增强层帧内预测模式模块包括:确定预测值子模块和确定 预测模式子模块2。
确定预测编码效率测度值子模块主要用于确定增强层的当前宏块或块针 对预定预测模式的预测编码效率测度值。确定预测编码效率测度值子模块确定 预测编码效率测度值的方法很灵活,具体如上述方法实施例中的描述,在此不 再详细描述。
确定预测模式子模块2主要用于确定增强层的当前宏块或块对应的低层宏 块或块,并获取该低层宏块或块的重构像素值,选取预测编码效率测度值最小 所对应的预测模式为所述增强层当前宏块或块的预测模式,其中预测编码效率 测度值可以为SAD值、SSD值或RD_cost值。具体如上述方法实施例中的描 述,在此不再详细描述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多
变形和变化而不脱离本发明的精神,本发明的
申请文件的
权利要求包括这些变 形和变化。