专利名称:二重预测的模式处理方法和装置的制作方法
技术领域:
本发明涉及数字数据处理技术,特别是涉及一种二重预测的模式处理方法 和装置。
背景技术:
传统混合编码框架是综合考虑预测编码、变换编码以及熵编码方法的编码 框架,经过预测编码的残差数据在一定程度上降低了空间相关性和时间相关性。 其后的变换编码在一定程度上进一步降低了残差信号的空间相关性,最终对变 换系数进行量化和熵编码进一步降低数据的冗余信息。
传统视频混合编码框架中的预测编码包括帧内预测编码和帧间预测编码,
见H.264/AVC标准和AVS标准。
使用帧内预测编码技术压縮的视频帧,称为帧内编码帧(I帧)。帧内预测 支持不同块大小及不同模式。帧内预测中采用的是方向预测方法时,在H.264 标准中表现为如在I4MB模式中,使用8方向的预测模式和DC预测模式;如在 116MB模式中,使用两方向的预测模式、DC预测模式和PLANE预测模式,在 AVS-P2标准中表现为4方向的预测模式和DC预测模式;此时使用的参考点位 置可以是当前待处理单元左方一列和上方一行的相邻位置,也可以是当前待处 理单元周围的某几行或多行或某几列或多列位置;参考值可以是当前待处理单 元左方一列和上方一行的相邻位置点的像素值或变换后的系数,也可以是当前 待处理单元周围的某几行或多行或某几列或多列位置点的像素值或变换后的系 数;预测值由参考值的计算或组合或拷贝生成。模式信息对于帧内预测单元, 包括当前单元的预测分块大小、预测方向和预测模式相关信息等。
帧间预测(时域预测)编码技术压縮的视频帧,称为帧间编码帧,帧间编 码包括前向、后向和双向的预测(P帧、B帧),支持不同块大小。帧间编码帧 的编码过程如下首先,将编码帧分成编码单元;对编码单元采用运动搜索和 运动预测的运动估计技术得到运动矢量和预测值;然后采用运动补偿技术,得 到帧间预测(时域预测)后的残差数据。模式信息对于帧间预测单元,包括当 前单元的预测分块大小、参考方向(前向、后向或双向的预测)及使用的参考 个数、参考索引、运动矢量等。帧间预测模式信息如宏块级别的P16X16、 P16X8、 P8X16、 P8X8、 B16X16等,亚宏块级别的如P8X4、 P4X8、 P4X4等。
在中国专利(申请号200710181975.9)《二重预测视频编解码方法和装置》 中提出了一种使用二重预测的编解码方法,见图5。此方法突破了传统混合编码框架的瓶颈,将二次的预测引入到传统混合视频编解码框架中^夷中对于图像 像素的预测定义为第一重预测,把传统混合视频编解码框架中的预测残差定义 为第一重残差,把针对第一重残差的预测定义为第二重预测。
总的来说,二重预测技术着力于进一步提高预测编码的性能,它不仅能减 少在残差在码流中所占的比重,同时由于预测准确度的提升,压缩编码后视频 的客观质量也有提升。
尽管提出的二重预测技术已经有了一定的编码性能提升,然而二重预测仍 然存在很大的发展潜力。对于第二重预测生成过程中使用的是空域预测的二重 预测技术,通过引入第二重模式信息可以使第二重预测的精度有很大的提升, 但引入的第二重模式信息却会给二重预测性能的提升带来障碍。所以,提高二 重预测模式信息的编码性能十分重要。
发明内容
本发明的目的在于提供一种提升编码性能的二重预测的模式处理方法及其 装置。
本发明所述的二重预测的模式处理方法,其特征在于至少包括解码方法和 编码方法中之一
所述解码方法至少包括以下之一
(1) 从码流解析得到的二重预测标记符号标识当前宏块是否采用二重预测 技术;
(2) 若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块 大小M xN和第二重预测块mx n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重MxN预测块所对应的所有第二重m x n预测块采用同一种预测模式;
(3) 若二重预测标记符号标识当前宏块釆用二重预测技术,那么,第二重帧 内预测模式经预测解码得到;
所述编码方法至少包括以下之一
(1) 用二重预测标记符号标识当前宏块是否采用二重预测技术并将二重预 测标记符号经熵编码写入码流中;
(2) 若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块 大小MxN和第二重预测块m x n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重MxN预测块所对应的所有第二重m x n预测块釆用同一种预测模式;
(3) 若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧 内预测模式经预测编码写入码流中。
本发明装置的一个技术解决方案是这样实现的它包括二重预测标记符号 解析器、MxN块第二重帧内预测模式预测解码器和第二重帧内预测模式赋值器。码流输入二重预测标记符号解析器,二重预测标记符号解析器的输出控制码流
是否输入MxN块第二重帧内预测模式预测解码器,MxN块第二重帧内预测模 式预测解码器的输出端与第二重帧内预测模式赋值器的输入端相连接;
本发明装置的另一个技术解决方案是这样实现的它包括第二重帧内预测 模式赋值器、二重预测标记符号生成器、MxN块第二重帧内预测模式预测编码 器。二重预测标记符号生成器的输出控制第二重帧内预测模式赋值器的输出端 是否与MxN块第二重帧内预测模式预测编码器的输入端相连接,二重预测标记 符号生成器和MxN块第二重帧内预测模式预测编码器分别输出到码流。
本发明具有的有益效果是针对现有背景技术的不足,进一步优化了二重 预测技术中的第二重模式信息的编码性能。使用二重预测标记符号用来标识当 前宏块是否采用二重预测技术,增加了二重预测技术在各种宏块编码模式中选 中的概率;第一重预测块大小与第二重预测块大小不等,使得第二重预测更为 灵活;利用模式预测值预测第二重模式信息,进一步压縮了第二重模式信息。 综合以上三种方法,本发明在背景技术的基础上取得了编码性能的提升。
图l是实施实例6示意图。
图2是实施实例7示意图。
图3是方向性预测示意图。
图4是第一重预测块与第二重预测块的对应关系示意图。
图5是帧内预测方向模式与帧内预测模式值的对应关系示意图。
图6是实施实例1和实施实例2中各种ii_mp—mode取值时的rem_pred_mode
和ii一mode对应关系示意图。
图7是实施实例3和实施实例4中各种ii—mp—mode取值时的rem_pred—mode
和ii—mode对应关系示意图。
图8是现有技术中的二重预测视频编解码装置结构示意图。
具体实施例方式
本发明所述的二重预测的模式处理方法,至少包括解码方法和编码方法
中之一
所述解码方法至少包括以下之一
(1) 从码流解析得到的二重预测标记符号标识当前宏块是否采用二重预测 技术;
(2) 若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块 大小MxN和第二重预测块m x n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重M x N预测块所对应的所有第二重m x n预测块采用同一种预测模式;(3)若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧 内预测模式经预测解码得到;
所述编码方法至少包括以下之一
(1) 用二重预测标记符号标识当前宏块是否采用二重预测技术并将二重预 测标记符号经熵编码写入码流中;
(2) 若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块 大小M xN和第二重预测块m x n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重MxN预测块所对应的所有第二重m x n预测块采用同一种预测模式;
(3) 若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧 内预测模式经预测编码写入码流中。
(1) 从码流解析得到的二重预测标记符号标识当前宏块是否采用二重预测 技术;
(2) 若二重预测标记符号标识当前宏块釆用二重预测技术,则第一重预测块 大小MxN和第二重预测块m x n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重MxN预测块所对应的所有第二重m x n预测块采用同一种预测模式。例 如第一重预测采用P16xl6的帧间预测块,而第二重预测采用14x4的帧内预测块, 那么这P16xl6的帧间预测块所对应的16个14x4的帧内预测就可以采用同样的 模式来进行帧内预测;
(3) 若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧 内预测模式经预测解码得到;
i. 根据MxN块的纹理方向得到第二重模式预测值。可以用第一重MxN 的残差块的纹理方向得到第二重模式预测值。但由于第一重M x N的残差块在 解码器不可得,故在本技术方案中由计算MxN块的第一重预测的预测值的纹 理方向得出。例如对于第二重预测采用I4x4的帧内预测块,可以将该纹理方向 量化为14x4帧内预测的八个方向之中的一个,第二重模式预测值即为该方向预 测的模式值;
ii. 利用第二重模式预测值预测第二重帧内预测模式,并结合从码流中解析 得到的信息生成第二重帧内预测模式。
第二重帧内预测模式的生成方法如下-
A. 从码流中解析得到的模式预测准确标志标识第二重帧内预测模式是否预 测准确;
B. 若模式预测准确标志标识第二重帧内预测模式预测准确,那么,第二重 帧内预测模式的值等于第二重模式预测值;c.若模式预测准确标志标识第二重帧内预测模式预测不准确,那么,从码
流中解析得到第二重模式解码信息。由第二重模式预测值和第二重模式解码信
息得到二重帧内预测模式;例如可以采用背景技术中14x4的帧内预测的模式解 码方法若第二重模式解码信息值小于第二重模式预测值,第二重帧内预测模 式的值为第二重模式编码信息值;反之,若第二重模式解码信息值小于第二重 模式预测值,第二重帧内预测模式的值为第二重模式编码信息值加1; 本发明方法的技术解决方案之二是这样实现的
(1) 用二重预测标记符号标识当前宏块是否采用二重预测技术并将二重预 测标记符号经熵编码写入码流中;
(2) 若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块 大小M x N和第二重预测块m x n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重MxN预测块所对应的所有第二重m x n预测块采用同一种预测模式;例 如第一重预测采用P16x8的帧间预测块,而第二重预测采用14x4的帧内预测块, 那么这P16xl6的帧间预测块中的8个I4x4的帧内预测就可以采用同样的模式来 进行帧内预测;
(3) 若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧 内预测模式经预测编码写入码流中;
i. 若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块 大小M x N和第二重预测块m x n应满足m<=M, n<=N; MxN块属于当前宏块。 第一重MxN预测块所对应的所有第二重m x n预测块采用同一种预测模式。例 如对于第二重预测采用14x4的帧内预测块,可以将该纹理方向量化为14x4帧内 预测的八个方向之中的一个,第二重模式预测值即为与此最大方该方向预测的 模式值;
ii. 在得到第二重模式预测值后,第二重模式编码信息的生成方法如下
A. 用模式预测准确标志标识第二重模式是否预测准确并将模式预测准确标 志标识经熵编码写入码流中;
B. 若第二重帧内预测模式的值等于第二重模式预测值,那么,模式预测准 确标志标识第二重模式预测准确;
C. 若第二重帧内预测模式的值不等于第二重模式预测值,那么,模式预测 准确标志标识第二重模式预测不准确。根据第二重帧内预测模式和第二重模式 预测值得到的第二重模式编码信息,并将第二重模式编码信息经熵编码写入码 流中;例如可以采用背景技术中I4x4的帧内预测的模式解码方法若第二重帧 内预测模式的值小于第二重模式预测值,第二重模式编码信息值与第二重模式 的值相等;反之,若第二重帧内预测模式的值大于第二重模式预测值,第二重模式编码信息值等于第二重帧内预测模式的值加1;
下面是本发明的具体实施方法 实施例1:
一种二重预测的模式处理方法,其中的解码方法具体包括以下步骤
步骤l:从码流中解析得到二重预测标记符号。本例中从码流中解析得到二 重预测标记符号采用从码流中直接读取lbit码字的方法来实现。本发明中二重 预测标记符号的解析方法不限于本例所述。将读取的lbit码字赋给变量 ii—mode_flag。若ii—mode—flag=l ,则当前宏块采用二重预测技术;若 ii—mode_flag=0,则当前宏块不采用二重预测技术;
步骤2:若ii—mode—flag=0,则不进行第二重帧内预测模式的预测解码;若 ii—mode—flag-1,则对属于当前宏块的全部第一重MxN预测块进行第二重帧内 预测模式的预测解码。本例中的当前宏块的第一重预测的块划分如图4所示, 由一个16x8预测块和两个8x8预测块组成;第二重预测块采用4x4预测块。第 一重预测的块划分不限于本例所述;第二重预测块大小不限于本例所述;
步骤2.1:若ii一mode一flag^,则从码流中解析得到当前16x8块模式预测准 确标志。本例中从码流中解析得到当前16x8块模式预测准确标志采用从码流中 直接读取lbit码字的方法来实现。本发明中MxN块模式预测准确标志的解析方 法不限于本例所述。将读取的lbit码字赋给变量ii_mode_pred_flag。若 ii—mode_pred_flag=l ,则当前16x8块第二重帧内预测模式预测准确;若 ii_mode_pred_flag=0,则当前16x8块第二重帧内预测模式预测不准确;
步骤2.2:利用当前16x8块的第一重预测值的方向信息生成该块的第二重 模式预测值,并将第二重模式预测值赋给变量ii—mp一mode。本例中使用的计算 方向信息的方法是使用Sobel算子判断当前块的第一重预测值的最大方向强度。 本发明中所使用的计算方向信息的方法不限于本例所述。此处最大方向强度的 计算方法是对于16x8大小的单元,使用3x3的Sobel算子,计算14x6个点的方 向信息,此方向信息由角度的正切函数表示。将平面360度角分为8个连续的 方向区间,见图3,根据方向信息正切函数的值,每个点的方向信息将落在8个 方向区间之一,计算完14x6个点之后,8个区间统计中落得点数最多的方向即 为最大方向强度所指示的方向。本例中的第二重模式预测值即为与此最大方向 强度所指示的方向相同的帧内预测方向模式所对应的帧内预测模式值,帧内预 测方向模式与帧内预测模式值的对应关系见图5。若最大方向强度指示vertical 方向,则第二重模式预测值等于0。此外本例中,若最大方向强度所指示的方向 区间中的落点数不大于14x6/8个的k倍,将使用DC预测模式,第二重模式预测值等于2,其中k为方向判断阈值,本例中k为1.5,k的取值不限于本例所述情 况;
步骤2.3:根据步骤2.1中的ii—mode_pred_flag和步骤2.2中的ii—mp—mode 来得到变量ii_mode的值,并根据ii_ mode的值确定当前16x8块第二重帧内预 测模式;
(1) 若ii_mode_pred_flag=l,另卩么,ii_mode=ii_mp—mode。根据图5, 若ii— mode =1 ,则当前16x8块第二重帧内预测模式为horizontal预测模式;若ii一mode =3,则当前16x8块第二重帧内预测模式为diagonal_down—left预测模式。以此 类推ii一mode为其他值时的情况;
(2) 若ii_mode_pred_flag=0,那么,从码流中解析得到当前16x8块第二重 模式解码信息。本例中从码流中解析得到当前16x8块第二重模式解码信息釆用 从码流中直接读取3bit码字来实现。本发明中MxN块第二重模式解码信息解析 方法不限于本例所述。将读取的3bit码字赋给变量rem_pred—mode。由 ii_mp—mode的值禾卩rem_pred_mode的值得至lj ii— mode的值。本例中由 ii—mp—mode的值和rem_pred—mode的值得到ii— mode的值的方法为根据 ii—mpjnode在图6中选择一个表,ii_ mode的值等于当前rem_pred—mode的在 表中对应的ii—mode值。本发明中由ii_mp—mode的值和rem_pred_mode的值得 至ljii—mode的值的方法不限于本例所述。若ii—mp—mode=3 , rem_pred—mode=6, 则ii—mode=7,根据图5,当前16x8块第二重帧内预测模式为vertical—left预测 模式;若ii_mp—mode=6, rem_pred_mode=3 ,贝U ii_mode=3,根据图5,当前16x8 块第二重帧内预测模式为diagonal—down—left预测模式;
步骤3:当前16x8块所对应的所有第二重4x4预测块的第二重帧内预测模 式等于根据步骤5得到的当前16x8块的第二重帧内预测模式。本例中当前16x8 预测块所对应第二重4x4预测块见图4,为块1到块8,另外两个8x8预测块分 别对应块9、 10、 13、 14和块11、 12、 15、 16;
步骤4:对剩下的两个8x8预测块利用步骤2到步骤3的方法进行第二重帧 内预测模式的预测解码。
实施例2:
一种二重预测模式处理方法,其中的编码方法具体包括以下步骤 步骤l:按照一定的准则得生成二重预测标记符号,并将二重预测标记符号 经熵编码写入码流中。本例中将二重预测标记符号写入码流中采用在码流中直 接写入lbit码字的方法来实现。本发明中二重预测标记符号经熵编码写入码流
中的方法不限于本例所述。将写入码流中的lbit码字赋给变量ii一modtflag。若 ii—mode_flag=l,则当前宏块采用二重预测技术;若ii—mode_flag=0,则当前宏块不采用二重预测技术;
步骤2:本例中的当前宏块的第一重预测的块划分如图4所示,由一个16x8 预测块和两个8x8预测块组成;第二重预测块采用4x4预测块。第一重预测的 块划分不限于本例所述;第二重预测块大小不限于本例所述。在第一重预测以 后,按照一定的准则生成当前16x8块所对应的所有第二重4x4预测块的第二重 帧内预测模式,当前16x8块所对应的所有第二重4x4预测块的第二重帧内预测 模式必定相同。本例中16x8预测块所对应的块1到块8的第二重帧内预测模式 相同,并将该模式置为当前16x8块第二重帧内预测模式。同时根据图5将当前 16x8块第二重帧内预测模式值赋给变量ii_mode。若当前当前16x8块第二重帧 内预测模式为vertical预测模式,ii—mode=l;
步骤3:若ii—mode—flag=0,则不进行第二重帧内预测模式的预测编码;若 ii—mode—flag=l,则对属于当前16x8块进行第二重帧内预测模式的预测编码;
步骤3.1:利用当前16x8块的第一重预测值的方向信息生成该块的第二重 模式预测值,并将第二重模式预测值赋给变量ii_mp_m0de。本例中使用的计算 方向信息的方法是使用Sobd算子判断当前块的第一重预测值的最大方向强度。 本发明中所使用的计算方向信息的方法不限于本例所述。此处最大方向强度的 计算方法是对于16x8大小的单元,使用3x3的Sobel算子,计算14x6个点的方 向信息,此方向信息由角度的正切函数表示。将平面360度角分为8个连续的 方向区间,见图3,根据方向信息正切函数的值,每个点的方向信息将落在8个 方向区间之一,计算完14x6个点之后,8个区间统计中落得点数最多的方向即 为最大方向强度所指示的方向。本例中的第二重模式预测值即为与此最大方向 强度所指示的方向相同的帧内预测方向模式所对应的帧内预测模式值,帧内预 测方向模式与帧内预测模式值的对应关系见图5。若最大方向强度指示vertical 方向,则第二重模式预测值等于0。此外本例中,若最大方向强度所指示的方向 区间中的落点数不大于14x6/8个的k倍,将使用DC预测模式,第二重模式预测 值等于2,其中k为方向判断阈值,本例中k为1.5,k的取值不限于本例所述情 况;
步骤3.2:若ii_mode_flag=l,则根据步骤2中的ii_mode的值和步骤3.1中 的ii_mp_m0de的值生成当前16x8块第二重模式预测准确标志,并将当前16x8 块第二重模式预测准确标志经熵编码写入码流中。根据ii_mode的值和 ii_mp_mode的值生成当前16x8块第二重模式预测准确标志的方法为若ii—mode 等于ii—mp一mode,当前16x8块第二重模式预测准确标志标识第二重帧内预测模 式预测准确;若ii_mode不等于ii_mp_mode,当前16x8块第二重模式预测准确 标志标识第二重帧内预测模式预测不准确。本例中将当前16x8块模式预测准确标志写入码流中采用在码流中直接写入lbit码宇的方法来实现。本发明中MxN 块模式预测准确标志经熵编码写入码流中的方法不限于本例所述。将写入码流 中的lbit码字赋给变量ii—mode_pred—flag。若当前16x8块第二重模式预测准确 标志标识第二重帧内预测模式预测准确,ii_mode_pred_flag=l;若前16x8块第 二重模式预测准确标志标识第二重帧内预测模式预测不准确, ii—mode_pred_flag=0;
步骤3.3: ii_mode_pred_flag=0,则根据ii_mode的值和ii_mp_mode的值得 到rem_pred_mode的值,rem_pred_mode的值即为当前16x8块第二重模式编码 信息的值。在得到当前16x8块第二重模式编码信息后,将第二重模式编码信息 经熵编码写入码流中。本例中根据ii_mode的值和ii_mp_mode的值得到 rem_pred—mode的值的方法为根据ii_mp—mode在图6中选择一个表, rem_pred_mode的值等于当前ii—mode的值在表中对应的rem_pred_mode的值。 本发明中根据ii—mode的值和ii—mp_mode的值得到rem_pred—mode的值的方法 不限于本例所述。若ii一mode:l, ii_mp_mode=2, 贝lj rem_pred_mode=l; 若ii— mode=2, ii—mp—mode=l ,则rem_pred_mode=l 。本例中将当前16x8块第二重模 式编码信息写入码流中釆用在码流中直接写入3bit码字的方法来实现。本发明 中MxN块第二重模式编码信息经熵编码写入码流中的方法不限于本例所述;
步骤4:对剩下的两个8x8预测块利用步骤2到步骤3的方法进行第二重帧 内预测模式的预测编码。
实施例3:
一种二重预测的模式处理方法,其中的解码方法具体包括以下步骤
步骤l:从码流中解析得到二重预测标记符号。本例中从码流中解析得到二 重预测标记符号采用算术编码的方法从码流中读取一个bin来实现。本发明中二 重预测标记符号的解析方法不限于本例所述。将读取的一个bin赋给变量 ii—mode_flag 。若ii_mode—flag=l ,则当前宏块采用二重预测技术;若 ii_mode_flag=0,则当前宏块不采用二重预测技术;
步骤2:若ii_mode—flag-O,则不进行第二重帧内预测模式的预测解码;若 ii_m0de_flag=l,则对属于当前宏块的全部第一重MxN预测块进行第二重帧内 预测模式的预测解码。本例中的当前宏块的第一重预测的块划分为两个8x16; 第二重预测块采用8x8预测块。第一重预测的块划分不限于本例所述;第二重 预测块大小不限于本例所述;
步骤2.1:若ii一modLflag^,则从码流中解析得到当前8xl6块模式预测准 确标志。本例中从码流中解析得到当前8x16块模式预测准确标志采用算术编码 的方法从码流中读取一个bin来实现。本发明中MxN块模式预测准确标志的解析方法不限于本例所述。将读取的一个bin赋给变量ii_mode:i7redJlag。若 ii—mode_pred—flag=l ,则当前8x16块第二重帧内预测模式预测准确;若 ii_mode_pred_flag=0,则当前8x16块第二重帧内预测模式预测不准确;
步骤2.2:利用当前8x16块的第一重预测值的方向信息生成该块的第二重 模式预测值,并将第二重模式预测值赋给变量ii—mp—mode。本例中使用的计算 方向信息的方法是使用Prewitt算子判断当前块的第一重预测值的最大方向强 度。本发明中所使用的计算方向信息的方法不限于本例所述。此处最大方向强 度的计算方法是对于8x16大小的单元,使用3x3的Prewitt算子,计算6x14个 点的方向信息,此方向信息由角度的正切函数表示。将平面360度角分为8个 连续的方向区间,见图3,根据方向信息正切函数的值,每个点的方向信息将落 在8个方向区间之一,计算完6xl4个点之后,8个区间统计中落得点数最多的 方向即为最大方向强度所指示的方向。本例中的第二重模式预测值即为与此最 大方向强度所指示的方向相同的帧内预测方向模式所对应的帧内预测模式值, 帧内预测方向模式与帧内预测模式值的对应关系见图5。若最大方向强度指示 vertical方向,则第二重模式预测值等于0。此外本例中,若最大方向强度所指 示的方向区间中的落点数不大于6x14/8个的k倍,将使用DC预测模式,第二重 模式预测值等于2,其中k为方向判断阈值,本例中k为1.5,k的取值不限于本 例所述情况;
步骤2.3:根据步骤2.1中的ii_mode_pred—flag和步骤2.2中的ii—mp—mode 来得到变量ii_mode的值,并根据ii_ mode的值确定当前8x16块第二重帧内预 测模式;
(1) 若ii_mode_pred—flag=l,那么,ii—mode=ii—mp_mode0根据图5,若ii_ mode =1 ,则当前8x16块第二重帧内预测模式为horizontal预测模式;若ii— mode =3,则当前8x16块第二重帧内预测模式为diagonaLdown—left预测模式。以此 类推ii_mode为其他值时的情况;
(2) 若ii_mode_pred—flag=0,那么,从码流中解析得到当前8x16块第二重 模式解码信息。本例中从码流中解析得到当前8x16块第二重模式解码信息采用 算术编码方法从码流中读取一个bin来实现。本发明中MxN块第二重模式解码 信息解析方法不限于本例所述。将读取的一个bin赋给变量remjrecLmode。由 ii_mp_mode的值禾卩rem_pred—mode的值得到ii_ mode的值。本例中由 ii_mp—mode的值和rem_pred—mode的值得到ii— mode的值的方法为根据 ii_mp_mode在图7中选择一个表,ii— mode的值等于当前rem_pred—mode的在 表中对应的ii—mode值。本发明中由ii—mp—mode的值和rem_pred—mode的值得 至U ii_mode的值的方法不限于本例所述。若ii_mp_mode=3, rem_pred—mode=l,则ii—mode=8,根据图5,当前16x8块第二重帧内预测模式为Horizontat_up预测 模式;若ii_mp—mode=6, rem_pred_mode=4,贝!j ii—mode=0,根据图5,当前16x8 块第二重帧内预测模式为vertical预测模式;
步骤3:当前8x16块所对应的两个第二重8x8预测块的第二重帧内预测模 式等于根据步骤5得到的当前8x16块的第二重帧内预测模式。
步骤4:对剩下的8x16预测块利用步骤2到步骤3的方法进行第二重帧内 预测模式的预测解码。
实施例4:
一种二重预测模式处理方法,其中的编码方法具体包括以下步骤 步骤l:按照一定的准则得生成二重预测标记符号,并将二重预测标记符号 经熵编码写入码流中。本例中将二重预测标记符号写入码流中采用算术编码方 法在码流中写入一个bin来实现。本发明中二重预测标记符号经熵编码写入码流 中的方法不限于本例所述。将写入码流中的一个bin赋给变量iLmode一flag。若 ii_mode—flag=l,则当前宏块采用二重预测技术;若ii_mode_flag=0,则当前宏 块不采用二重预测技术;
步骤2:本例中的当前宏块的第一重预测的块划分为两个8x16;第二重预 测块采用8x8预测块。第一重预测的块划分不限于本例所述;第二重预测块大 小不限于本例所述。在第一重预测以后,按照一定的准则生成当前8xl6块所对 应的两个第二重8x8预测块的第二重帧内预测模式,当前8x16块所对应的两个 第二重8x8预测块的第二重帧内预测模式必定相同,并将该模式置为当前8x16 块第二重帧内预测模式。同时根据图5将当前16x8块第二重帧内预测模式值赋 给变量ii_mode。若当前16x8块第二重帧内预测模式为vertical预测模式, ii—mode=l;
步骤3:若iLmodtflag《,则不进行第二重帧内预测模式的预测编码;若 ii—mode_flag=l ,则对属于当前8x16块进行第二重帧内预测模式的预测编码;
步骤3.1:利用当前8x16块的第一重预测值的方向信息生成该块的第二重 模式预测值,并将第二重模式预测值赋给变量ii—mp_m0de。本例中使用的计算 方向信息的方法是使用Prewitt算子判断当前块的第一重预测值的最大方向强 度。本发明中所使用的计算方向信息的方法不限于本例所述。此处最大方向强 度的计算方法是对于8x16大小的单元,使用3x3的Prewitt算子,计算6x14个 点的方向信息,此方向信息由角度的正切函数表示。将平面360度角分为8个 连续的方向区间,见图3,根据方向信息正切函数的值,每个点的方向信息将落 在8个方向区间之一,计算完6xl4个点之后,8个区间统计中落得点数最多的 方向即为最大方向强度所指示的方向。本例中的第二重模式预测值即为与此最大方向强度所指示的方向相同的帧内预测方向模式所对应的帧内预测模式值,
帧内预测方向模式与帧内预测模式值的对应关系见图5。若最大方向强度指示 vertical方向,则第二重模式预测值等于0。此外本例中,若最大方向强度所指 示的方向区间中的落点数不大于6x14/8个的k倍,将使用DC预测模式,第二重 模式预测值等于2,其中k为方向判断阈值,本例中k为1.5,k的取值不限于本 例所述情况;
步骤3.2:若ii—mode一flag-l,则根据步骤2中的ii_mode的值和步骤3.1中 的ii_mp_mode的值生成当前8x16块第二重模式预测准确标志,并将当前8x16 块第二重模式预测准确标志经熵编码写入码流中。根据ii—mode的值和 ii—mp一mode的值生成当前8xl6块第二重模式预测准确标志的方法为若iLmode 等于ii_mp_m0de,当前8x16块第二重模式预测准确标志标识第二重帧内预测模 式预测准确;若ii_mode不等于ii_mp_mode,当前8x16块第二重模式预测准确 标志标识第二重帧内预测模式预测不准确。本例中将当前8x16块模式预测准确 标志写入码流中采用算术编码方法在码流中写入一个bin来实现。本发明中MxN 块模式预测准确标志经熵编码写入码流中的方法不限于本例所述。将写入码流 中的一个bin赋给变量ii—mode_pred_flag。若当前8x16块第二重模式预测准确 标志标识第二重帧内预测模式预测准确,ii_mode_pred_flag=l;若前16x8块第 二重模式预测准确标志标识第二重帧内预测模式预测不准确, ii_mode_pred_flag=0 ;
步骤3.3: ii—mode_pred—flag=0,则根据ii_mode的值和ii_mp_mode的值得 到rem_pred—mode的值,rem_pred_mode的值即为当前8x16块第二重模式编码 信息的值。在得到当前8xl6块第二重模式编码信息后,将第二重模式编码信息 经熵编码写入码流中。本例中根据ii_mode的值和ii—mp一mode的值得到 rem_pred—mode的值的方法为根据ii_mp_mode在图7中选择一个表, rem_pred_mode的值等于当前ii_mode的值在表中对应的rem_pred_mode的值。 本发明中根据ii—mode的值和ii—mp_mode的值得到rem_pred_mode的值的方法 不限于本例所述。若ii—mode=5, ii_mp_mode=l,贝寸rem_pred_mode=2; 若ii_ mode=7, ii—mp_mode=2,则rem_pred—mode=2。本例中将当前8x16块第二重模 式编码信息写入码流中采用算术编码方法在码流中写入一个bin来实现。本发明 中MxN块第二重模式编码信息经熵编码写入码流中的方法不限于本例所述;
步骤4:对剩下的两个8x16预测块利用步骤2到步骤3的方法进行第二重 帧内预测模式的预测编码。
实施例5:
一种二重预测模式处理系统,具体包括实施例2所述的一种二重预测模式编码方法和实施例1所述的一种二重预测模式解码方法:-」通过实施树2所述的 一种二重预测模式编码方法得到二重模式信息编码码流,通过实施例1所述的 一种二重预测视频解码方法进行码流解码可以获得编码恢复后的二重模式信 息。
实施例6:
一种二重预测模式处理装置,实现的是实施例1所述的二重预测模式解码方 法,见图1所示,主要包括以下步骤
步骤l:码流输入二重预测标记符号解析器,并输出二重预测标记符号。输 出的二重预测标记符号决定是否有码流输入MxN块第二重帧内预测模式预测解 码器中的MxN块模式预测准确标志解析器。
步骤2:若有码流输入MxN块模式预测准确标志解析器,则MxN块模式预 测准确标志解析器输出MxN块模式预测准确标志到MxN块第二重帧内预测模 式生成器。MxN块模式预测准确标志决定是否有码流输入MxN块第二重模式 解码信息解析器。
步骤3:若有码流输入MxN块第二重模式解码信息解析器,则MxN块第二 重模式解码信息解析器输出MxN块第二重模式解码信息到MxN块第二重帧内 预测模式生成器。
步骤4: MxN块第二重模式预测值生成器输出MxN块第二重模式预测值到 MxN块第二重帧内预测模式生成器。
步骤5: MxN块第二重帧内预测模式生成器输入MxN块模式预测准确标志、 MxN块第二重模式解码信息和MxN块第二重模式预测值,输出MxN块第二重 帧内预测模式。
步骤6:第二重帧内预测模式赋值器输入MxN块第二重帧内预测模式,输 出mxn块第二重帧内预测模式。 实施例7:
一种二重预测模式处理装置,实现的是实施例2所述的二重预测模式编码方 法,见图2所示,主要包括以下步骤
步骤1:第二重帧内预测模式赋值器输入mxn块第二重帧内预测模式,输 出MxN块第二重帧内预测模式;
步骤2: 二重预测标记符号生成器输出二重预测标记符号到码流。二重预测 标记符号决定MxN块第二重帧内预测模式是否输入MxN块第二重帧内预测模 式预测编码器;
步骤3:若MxN块第二重帧内预测模式输入MxN块第二重帧内预测模式预 测编码器,MxN块第二重模式预测值生成器输出MxN块第二重模式预测值到MxN块模式预测准确标志生成器;
步骤4: MxN块模式预测准确标志生成器输入MxN块第二重模式预测值和 MxN块第二重帧内预测模式,输出MxN块模式预测准确标志到码流。MxN块 模式预测准确标志决定MxN块第二重模式预测值和MxN块第二重帧内预测模 式是否输入MxN块第二重模式编码信息生成器;
步骤5:若MxN块第二重模式预测值和MxN块第二重帧内预测模式输入 MxN块第二重模式编码信息生成器,MxN块第二重模式编码信息生成器输出 MxN块第二重模式编码信息到码流。
权利要求
1.一种二重预测的模式处理方法,其特征在于至少包括解码方法和编码方法中之一所述解码方法至少包括以下之一(1)从码流解析得到的二重预测标记符号标识当前宏块是否采用二重预测技术;(2)若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块大小M x N和第二重预测块m x n应满足m<=M,n<=N;MxN块属于当前宏块。第一重M x N预测块所对应的所有第二重m x n预测块采用同一种预测模式;(3)若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧内预测模式经预测解码得到;所述编码方法至少包括以下之一(1)用二重预测标记符号标识当前宏块是否采用二重预测技术并将二重预测标记符号经熵编码写入码流中;(2)若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块大小M x N和第二重预测块m x n应满足m<=M,n<=N;MxN块属于当前宏块。第一重M x N预测块所对应的所有第二重m x n预测块采用同一种预测模式;(3)若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧内预测模式经预测编码写入码流中。
2. 根据权利要求l所述的二重预测的模式处理方法和装置浙江大学,其特征 在于所述预测解码采用以下方式得到(1) 从码流中解析得到的模式预测准确标志标识第二重帧内预测模式是否 预测准确;(2) 若模式预测准确标志标识第二重帧内预测模式预测准确,那么,第二重 帧内预测模式的值等于第二重模式预测值;(3) 若模式预测准确标志标识第二重帧内预测模式预测不准确,那么,从码 流中解析得到第二重模式解码信息。由第二重模式预测值和第二重模式解码信 息得到二重帧内预测模式。
3. 根据权利要求2所述的二重预测的模式处理方法,其特征在于所述根据 权利要求2所述的第二重模式预测值,其特征在于该第二重模式预测值由Mx N块的纹理方向得出。
4. 根据权利要求3所述的二重预测的模式处理方法,其特征在于所述的M x N块的纹理方向,MxN块的纹理方向等于MxN块的第一重预测的预测块的纹理方向;
5. 根据权利要求1所述的二重预测的模式处理方法,其特征在于所述根据 权利要求1所述的第二重帧内预测模式经预测编码后写入码流中,其特征在于:(1) 用模式预测准确标志标识第二重模式是否预测准确并将模式预测准确 标志标识经熵编码写入码流中;(2) 若第二重帧内预测模式的值等于第二重模式预测值,那么,模式预测准 确标志标识第二重模式预测准确;(3) 若第二重帧内预测模式的值不等于第二重模式预测值,那么,模式预测 准确标志标识第二重模式预测不准确。根据第二重帧内预测模式和第二重模式 预测值得到第二重模式编码信息,并将第二重模式编码信息经熵编码写入码流 中。
6. 根据权利要求5所述二重预测的模式处理方法,其特征在于所述的第二 重模式预测值由MxN块的纹理方向得出。
7. 根据权利要求6所述二重预测的模式处理方法,其特征在于所述的MxN 块的纹理方向等于MxN块的第一重预测的预测块的纹理方向。
8. —种二重预测的模式处理装置,其特征在于包括二重预测标记符号解析 器、MxN块第二重帧内预测模式预测解码器和第二重帧内预测模式赋值器,码 流输入二重预测标记符号解析器,二重预测标记符号解析器的输出控制码流是 否输入MxN块第二重帧内预测模式预测解码器,MxN块第二重帧内预测模式 预测解码器的输出端与第二重帧内预测模式赋值器的输入端相连接。
9. 一种二重预测模式处理装置,其特征在于包括第二重帧内预测模式赋值 器、二重预测标记符号生成器、MxN块第二重帧内预测模式预测编码器。二重 预测标记符号生成器的输出控制第二重帧内预测模式赋值器的输出端是否与 MxN块第二重帧内预测模式预测编码器的输入端相连接,二重预测标记符号生 成器和MxN块第二重帧内预测模式预测编码器分别输出到码流。
全文摘要
本发明涉及数字数据处理技术,特别是涉及一种二重预测的模式处理方法和装置;其特征在于至少包括解码方法和编码方法中之一所述解码方法至少包括以下之一(1)从码流解析得到的二重预测标记符号标识当前宏块是否采用二重预测技术;(2)若二重预测标记符号标识当前宏块采用二重预测技术,则第一重预测块大小M x N和第二重预测块m x n应满足m<=M,n<=N;MxN块属于当前宏块。第一重M x N预测块所对应的所有第二重m x n预测块采用同一种预测模式;(3)若二重预测标记符号标识当前宏块采用二重预测技术,那么,第二重帧内预测模式经预测解码得到;本发明进一步优化了二重预测技术中的第二重模式信息的编码性能,增加了二重预测技术在各种宏块编码模式中选中的概率;使得编码性能的得到了有效提升。
文档编号H04N7/26GK101626505SQ200810063130
公开日2010年1月13日 申请日期2008年7月11日 优先权日2008年7月11日
发明者李尚文, 王建鹏, 露 虞, 陈思嘉 申请人:浙江大学