用于估计像素值的帧内预测方法或装置转让专利

申请号 : CN201010149301.2

文献号 : CN102215392B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赖昌材

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开了用于估计像素帧内预测值的方法或装置,包括:确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;根据第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;根据第二邻接块,确定对所述目标编码块像素点进行的除第一种预测模式以外的其它第N种预测模式,所述N是大于1的自然数;从所述第一预测模式和所述第N种预测模式中确定用于所述目标编码块的估计的预测模式并按照所述确定的预测模式对目标编码块的像素进行预测。本发明实施例减少了预测像素与其参考像素的空间距离,从而提高了编码效率。

权利要求 :

1.一种用于估计像素值的帧内预测方法,其特征在于,包括以下步骤:

确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块,所述第一邻接块为一个像素行,所述第二邻接块为一个像素列,或者,所述第一邻接块为一个像素列,所述第二邻接块为一个像素行;

根据所述第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;

根据所述第二邻接块,确定对所述目标编码块像素点进行的除第一种预测模式以外的其它N种预测模式,所述N是大于1的自然数;

从所述第一预测模式和所述N种预测模式中确定用于所述目标编码块的预测模式;

按照所述确定的预测模式对目标编码块的像素进行帧内预测,其中,帧内预测是以一个像素列/行为单位进行预测,变换,量化及编码重构,重构出来的像素列/行作为下一个像素列/行的参考像素。

2.根据权利要求1所述的方法,其特征在于,所述目标编码块行列比是X×M模式的非方块,其中,短边为X,长边为M,所述M、X是自然数,M大于X;

第一邻接块位于短边上方,确定第一邻接块像素为参考像素,以第一邻接块像素垂直方向为第一种预测模式预测方向,进行像素预测;

第二邻接块位于长边左方或左上或左下方,确定第二邻接块各像素为参考像素,以第二邻接块各像素水平和与水平呈一定角度的方向为第N种预测模式预测方向,进行像素预测。

3.根据权利要求1所述的方法,其特征在于,所述目标编码块行列比是M×X模式的非方块,其中,短边为X,长边为M,所述M、X是自然数,M大于X;

第一邻接块位于短边左方,确定第一邻接块各像素为参考像素,以第一邻接块像素水平方向为第一种预测模式预测方向,进行像素预测;

第二邻接块位于长边上方或左上方或右上方,确定第二邻接块各像素为参考像素,以第二邻接块垂直方向和与垂直呈一定角度的为第N种预测模式预测方向,进行像素预测。

4.根据权利要求1所述的方法,其特征在于,所述从所述第一预测模式和所述N种预测模式中确定用于所述目标编码块的预测模式的步骤包括:根据编码块的编码顺序,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式。

5.根据权利要求4所述的方法,其特征在于,进一步包括,如果所述目标编码块长边相邻接的第二邻接块不存在或不可用,则选择预设的预测模式为所述目标编码块的最有可能预测模式。

6.根据权利要求4所述的方法,其特征在于,所述目标编码块为1×16或16×1的非方块,其中非方块的短边为1,长边为16;选择与长边为16相邻接的左侧或上方邻接块的预测模式为所述目标编码块的最有可能预测模式。

7.根据权利要求4所述的方法,其特征在于,所述目标编码块为2×8或8×2的非方块,其中非方块的短边为2,长边为8;选择与长边为8相邻接的左侧或上方邻接块的预测模式为所述目标编码块的最有可能预测模式。

8.一种用于估计像素值的帧内预测编码器,其特征在于,包括:

邻接块确认单元:确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块,所述第一邻接块为一个像素行,所述第二邻接块为一个像素列,或者,所述第一邻接块为一个像素列,所述第二邻接块为一个像素行;

预测模式确认单元:根据所述第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;根据所述第二邻接块,确定对所述目标编码块像素点进行的第N种预测模式,所述N是大于1的自然数;从所述第一预测模式和所述第N种预测模式中确定用于所述目标编码块的估计的预测模式。

9.根据权利要求8所述的帧内预测编码器,其特征在于,所述预测模式确认单元包括:最有可能预测模式选取单元,用于根据编码块的编码顺序,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式。

说明书 :

用于估计像素值的帧内预测方法或装置

技术领域

[0001] 本发明涉及数据编码领域,尤其涉及一种用于估计像素值的帧内预测方法或装置。

背景技术

[0002] 视频编码压缩的基本原理,是利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行的做法是采用基于块的混合视频编码框架,通过预测、变换、量化、熵编码等步骤来实现视频编码压缩。这一编码框架,显示了很强的生命力,从最早的MPEG-1到现在最新的视频编码标准MPEG-4AVC/H.264,仍然沿用这种基于块的混合视频编码框架。
[0003] 在基于块的混合视频编码框架下,主要有两类编码技术:
[0004] 1)帧内编码(Intra coding),基本原理是利用空域相关性,比如使用帧内预测(Intra prediction)去除空域冗余;由于在编码过程中不涉及其他帧的信息,故称为帧内编码。帧内编码由于无需参考帧,不涉及对参考帧进行插值的问题。帧内编码利用帧内先前已经编码块中的像素对当前块内的像素值作出预测,将预测值与原始视频信号作差运算得到预测残差,再对预测残差进行变换、量化及熵编码形成编码码流。
[0005] 2)帧间编码(Inter coding),基本原理是利用时域相关性,比如利用运动补偿预测。帧间编码需要有参考帧进行预测编码,一般的,对参考帧进行插值,以便进行亚像素精度的运动补偿预测。
[0006] 由于视频本身存在很强的空域时域相关性,因此,利用上述技术,可以达到较高的压缩效率。最新的国际视频编码标准MPEG4 AVC/H.264能达到几十倍甚至上百倍的编码压缩效率。
[0007] 未来人们对高清视频的传送和存储的需求呈现爆炸式增长,然而因特网、通信网、广播网等信息网络基础设施的发展却相对滞后,网络带宽仍然成为一个瓶颈。基于这一事实,下一代视频编码标准将重点面向高清、超高清视频,大幅度提高视频编码压缩效率,以缓解高清视频的带宽需求增长和信息网络基础设施的发展之间的矛盾。如何提高视频编码压缩效率,是新一代视频编码标准急需解决的问题。

发明内容

[0008] 本发明实施例提供用于估计像素值的帧内预测方法或装置,以提高视频编解码压缩效率。
[0009] 本发明实施例一方面提供一种用于估计像素值的帧内预测方法,包括以下步骤:
[0010] 确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0011] 根据第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;
[0012] 根据第二邻接块,确定对所述目标编码块像素点进行的除第一种预测模式以外的其它N种预测模式,所述N是大于1的自然数;
[0013] 从所述第一预测模式和所述N种预测模式中确定用于所述目标编码块的预测模式;
[0014] 按照所述确定的预测模式对目标编码块的像素进行帧内预测。
[0015] 本发明实施例另一方面提供一种用于选取最有可能帧内预测模式的方法,包括以下步骤:
[0016] 确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0017] 根据编码块的编码顺序,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0018] 本发明实施例另一方面提供一种用于对编码块预测残差数据变换的方法,包括以下步骤:
[0019] 确定当前待预测的目标编码块为非方块,对当前非方块的待预测的目标编码块的像数值进行预测,得到预测值,根据预测值和目标编码块运算得到非方块的预测残差数据;
[0020] 将非方块的预测残差数据进行重新排序,排列为方块预测残差数据;
[0021] 将所述重新排序的方块预测残差数据进行变换。
[0022] 本发明实施例另一方面提供一种用于对对解码码流中变换系数进行逆变换的方法,包括以下步骤:
[0023] 获得对解码码流中待变换的变换系数数据;
[0024] 对变换系数进行逆变换,得到逆变换以后的残差数据;
[0025] 对所述逆变换以后的残差数据进行重新排序,得到非方块残差数据。
[0026] 本发明实施例另一方面提供一种用于估计像素值的帧内预测编码器,包括:
[0027] 邻接块确认单元:确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0028] 预测模式确认单元:根据第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;根据第二邻接块,确定对所述目标编码块像素点进行的第N种预测模式,所述N是大于1的自然数;从所述第一预测模式和所述第N种预测模式中确定用于所述目标编码块的估计的预测模式。
[0029] 本发明实施例另一方面提供一种用于选取最有可能帧内预测模式的装置,包括:
[0030] 目标编码块确定单元,用于确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0031] 最有可能预测模式选取单元,用于根据编码块的编码顺序,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0032] 本发明实施例另一方面提供一种用于对编码块预测残差数据变换的编码器,包括:
[0033] 运算单元,用于确定当前待预测的目标编码块为非方块,对当前非方块的待预测的目标编码块的像数值进行预测,得到预测值,根据预测值和目标编码块运算得到非方块的预测残差数据;
[0034] 方块排序单元,用于将非方块的预测残差数据进行重新排序,排列为方块预测残差数据;
[0035] 变换单元,用于对所述重新排序的将方块预测残差数据进行变换。
[0036] 本发明实施例另一方面提供一种用于对编码块预测残差数据逆变换的解码器,包括:
[0037] 接收单元,用于获得解码码流中待变换的变换系数数据;
[0038] 非方块排序单元,用于对变换系数进行逆变换,得到逆变换以后的残差数据;对所述逆变换以后的残差数据进行重新排序,得到非方块残差数据。
[0039] 本发明实施例通过提供用于估计像素内预测模式的方法、选取像素内最有可能预测模式的方法、编码块预测残差数据变换方法、及相关装置,对于非方块数据的编码,提高了视频编解码压缩效率。

附图说明

[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1为本发明实施例一种用于估计像素帧内预测值的方法流程图;
[0042] 图2为行列比可以为1x16的目标编码块示意图
[0043] 图3为本发明实施例一种用于选取像素最有可能帧内预测模式的方法流程图;
[0044] 图4为本发明实施例一种用于对编码块预测残差数据变换的方法流程图;
[0045] 图5为本发明实施例一种用于对变换系数进行逆变换的方法的流程图;
[0046] 图6为本发明实施例一种用于估计像素帧内预测值的编码器;
[0047] 图7为本发明实施例一种用于选取最有可能帧内预测模式的装置;
[0048] 图8为本发明实施例一种用于对编码块预测残差数据变换的编码器;和[0049] 图9为本发明实施例一种用于对解码码流中变换系数进行逆变换的解码器。

具体实施方式

[0050] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051] 请参阅图1,本发明一种实施例提供一种用于估计像素值的的帧内预测方法,包括以下步骤:
[0052] 步骤100、确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0053] 步骤102、根据第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;
[0054] 步骤103、根据第二邻接块,确定对所述目标编码块像素点进行的除第一种预测模式以外的其它N种预测模式,所述N是大于1的自然数;
[0055] 步骤104、从所述第一预测模式和所述N种预测模式中确定用于所述目标编码块的预测模式;
[0056] 步骤105、按照所述确定的预测模式对目标编码块的像素进行帧内预测。
[0057] 本发明实施例中通过确定目标编码块像素点进行预测中,选择以第一邻接块为参考,确定一种预测模式;通过另一邻接块为参考,确定其他可选的第N中预测模式,根据当前编码块与参考像素相邻个数的关系,对参考像素多的邻接块设计较多的预测模式,进一步提高了预测精度,从而能提高编码性能。
[0058] 可选的,所述目标编码块行列比是X×M模式的非方块,其中,短边为X,长边为M,所述M、X是自然数,M大于X;
[0059] 第一邻接块位于短边上方,确定第一邻接块像素为参考像素,以第一邻接块像素垂直方向为第一种预测模式预测方向,进行像素预测;
[0060] 第二邻接块位于长边左方或左上或左下方,确定第二邻接块各像素为参考像素,以第二邻接块各像素水平和与水平呈一定角度的方向为第N种预测模式预测方向,进行像素预测。
[0061] 可选的,所述目标编码块行列比是M×X模式的非方块,其中,短边为X,长边为M,所述M、X是自然数,M大于X;
[0062] 第一邻接块位于短边左方,确定第一邻接块各像素为参考像素,以第一邻接块像素水平方向为第一种预测模式预测方向,进行像素预测;
[0063] 第二邻接块位于长边上方或左上方或右上方,确定第二邻接块各像素为参考像素,以第二邻接块垂直方向和与垂直呈一定角度的为第N种预测模式预测方向,进行像素预测。
[0064] 进一步,请参考图2,X×M模式的目标编码块行列比可以为1x16,其中X=1,M=16。以1x16的一个像素列为单位进行预测,变换,量化及编码重构,重构出来的像素列作为下一个像素列的参考像素。
[0065] 预测部分:以1x16的一个像素列为目标编码块单位进行预测,共有九种预测方向,其中,以目标编码块当前列上相邻像素列为参考像素为一种预测模式,其方向为垂直向下,可以理解当前列上相邻像素即为位于上方的短边列第一邻接块的像素。以左方长边列为参考像素共有其他八种预测模式。所以对1x16目标编码块中每一个像素点,可以根据方向,取三个相邻的像素点作加权平均作为当前像素点的预测值。
[0066] 例如设refline[j]为左参考像素列,ref_up为当前列上相邻像素的值,则1x16目标编码块当前列第j个像素的预测值pred[j]为:
[0067] 模式0:pred[j]=refline[j],可以理解为水平方向为该预测模式预测方向;
[0068] 模式1:pred[j]=(refline[j-1]+2*refline[j]+refline[j+1]+2)/4[0069] 模式2:pred[j]=(refline[j]+2*refline[j+1]+refline[j+2]+2)/4[0070] 模式3:pred[j]=(refline[j+1]+2*refline[j+2]+refline[j+3]+2)/4;
[0071] 模式4:pred[j]=(refline[j-2]+2*refline[j-1]+refline[j]+2)/4[0072] 模式5:pred[j]=(refline[j-3]+2*refline[j-2]+refline[j-1]+2)/4;
[0073] 模式6:pred[j]=(refline[j-4]+2*refline[j-3]+refline[j-2]+2)/4;
[0074] 模式7:pred[j]=(refline[j+2]+2*refline[j+3]+refline[j+4]+2)/4;
[0075] 模式8:当上相邻像素可用时pred[j]=ref_up,否则Pred[j]=(refline[j-5]+2*refline[j-4]+refline[j-3]+2)/4。
[0076] 可见,根据第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式中,第一种预测模式可以理解为选择模式8。根据第二邻接块,确定对所述目标编码块像素点进行的除第一种预测模式以外的其它第N种预测模式,所述N是大于1的自然数;其它第N种预测模式可以理解为模式0-模式7。
[0077] 可选的,如果参考列的左上或右下宏块中的数据不可用,则以该参考列的第一个或最后一个像素值为参考列的左上或右下宏块中的数据,如果当前列的左相邻列像素不可用,则其参考值预设为128或其他预设值。
[0078] 请参阅图3,本发明另一种实施例还提供一种用于选取最有可能帧内预测模式的方法,包括以下步骤:
[0079] 步骤301:确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0080] 步骤302:根据编码块的编码顺序,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0081] 进而本发明实施例中,通过在非方块中,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式,由于当前编码块与与其长边相邻的第二邻接块比较相关,使得当前编码块的最有可能预测模式选择更加准确,从而提高视频编码压缩效率。
[0082] 可选的,如果所述目标编码块长边相邻接的第二邻接块不存在或不可用,则选择预设的预测模式为所述目标编码块的最有可能预测模式。
[0083] 可选的,目标编码块为1×16的非方块,其中非方块的短边为1,长边为16;选择与长边为16相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0084] 可选的,目标编码块为16×1的非方块,其中非方块的短边为1,长边为16;选择与长边为16相邻接的上方邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0085] 可选的,目标编码块为2×8的非方块,其中非方块的短边为2,长边为8;选择与长边为8相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0086] 可选的,目标编码块为8×2的非方块,其中非方块的短边为2,长边为8;选择与长边为8相邻接的上方邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0087] 可选的,关于最可能预测方向的判断,对1x16模式,如果当前宏块的左相邻宏块的帧内编码模式也为1x16模式,则当前宏块的第一列的最可能预测方向为当前宏块的左相邻宏块的最后一列的预测方向,在空间位置上,当前宏块的左相邻宏块的最后一列为当前宏块第一列的左相邻列。对2x8模式同理。
[0088] 对16x1模式,如果当前宏块的上相邻宏块的帧内编码模式也为16x1模式,则当前宏块的第一行的最可能预测方向为当前宏块的上相邻宏块的最后一行的预测方向,在空间位置上,当前宏块的上相邻宏块的最后一行为当前宏块第一行的上相邻列。对8x2模式同理。
[0089] 可以理解,用于选取最有可能帧内预测模式的方法中目标编码块为1×Y或Y×1的非方块,其中非方块的短边为1,长边为Y;选择与长边为Y相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式,其中Y为大于1的自然数,比如Y可以等于32、64等。同理,目标编码块为2×Z或Z×1的非方块,其中非方块的短边为2,长边为Z;选择与长边为Z相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式,其中Z为大于2的自然数。也可以目标编码块为Y×Z或Z×Y的非方块,其中非方块的短边为Y,长边为Z;选择与长边为Z相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式,其中Z大于Y。
[0090] 请参阅图4,本发明另一种实施例还提供一种用于对编码块预测残差数据变换的方法,包括以下步骤:
[0091] 步骤401:确定当前待预测的目标编码块为非方块,对当前非方块的待预测的目标编码块的像数值进行预测,得到预测值,根据预测值和目标编码块运算得到非方块的预测残差数据;
[0092] 步骤402:将非方块的预测残差数据进行重新排序,排列为方块预测残差数据;
[0093] 步骤403:对所述重新排序的方块预测残差数据进行变换。
[0094] 进而本发明实施例中,通过在对编码块预测残差数据变换中,将非方块的预测残差数据进行重新排序,排列为方块预测残差数据,从而可以使用视频编码中通常使用的方块变换对非方块变换残差数据进行方块变换,以在提高编码性能的同时,尽量不增加实现代价。
[0095] 可选的,本实施例中,进一步包括,将是否需要对方块残差数据重新排序在码流中进行标识,所述标识用于确定方块预测残差数据是否由非方块的预测残差数据重新排序获得。可以在图像头、条带头、宏块或子块码流中写入标识码流,或者默认需要对方块残差数据重新排序。
[0096] 可选的,将非方块的预测残差数据进行重新排序,排列为方块预测残差数据前还包括以下步骤:根据率失真最小化或其它预设规则,判断是否需要将非方块的预测残差数据进行重新排序后进行方块变换,如果是,则重新排序后进行方块变换;否则,跳过重新排序步骤402,将非方块的预测残差数据进行非方块变换。
[0097] 可以理解,对本实施例中的变换部分,对1x16及16x1而言,除了使用1x16DCT变换(离散余弦变换)以外,还可以对1x16或16x1预测得到的残差数据进行重新排序,排列为4x4子块,然后利用现有的4x4变换技术进行变换编码。比如可以采用将1x16的残差数据排列为所Pij代表的4x4子块。还可以以宏块或子块为单位在这两类变换之间进行择优,通过在宏块或者子块的标志位进行标识该用哪类变换,或者通过复用宏块或子块的编码模式进行识别。对2x8或者8x2同理,除了可以使用2x8变换外,还可以对2x8或8x2预测得到的残差数据进行重新排序,排列为4x4子块,然后利用现有的4x4变换技术进行变换编码。还可以以宏块或子块为单位在这两类变换之间进行择优,通过在宏块或者子块的标志位进行标识该用哪类变换,或者通过复用宏块或子块的编码模式进行识别。对其它非方块预测的残差数据,同理可以按所述的变换方法进行处理。。
[0098] 请参阅图5,本发明另一实施例还提供一种用于对解码码流中变换系数进行逆变换的方法,包括以下步骤:
[0099] 步骤501:获得解码码流中待变换的变换系数数据;
[0100] 步骤502:对变换系数进行逆变换,得到逆变换以后的残差数据;
[0101] 步骤503:对所述逆变换以后的残差数据进行重新排序,得到非方块残差数据。
[0102] 进而本发明实施例中,解码码流中的标识符号,根据标识符号确定是否需要对逆变换以后的数据进行重新排序为非方块残差数据。还可以解码码流中的标识符号,根据标识符号确定对变换系数进行方块或者非方块的逆变换,或者按照默认的方式对变换系数数据进行方块或者非方块的变换。
[0103] 通过在对变换系数进行逆变换中,将变换后的方块数据进行重新排序,排列为非方块预测残差数据,从而可以使用视频编码或解码中通常使用的方块变换对非方块变换残差数据进行方块变换,以在提高编码性能的同时,尽量不增加实现代价。
[0104] 进一步通过非方块的帧内预测编码,充分利用像素间的相关性,提高预测精度;同时,作为一种宏块级的技术,可以在宏块级上更好的适应图像内不同区域的纹理特性,从而提高编码压缩效率。
[0105] 请参阅图6,本发明是另一种实施例还提供一种用于估计像素值的帧内预测编码器,包括:
[0106] 邻接块确认单元601:确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0107] 预测模式确认单元602:根据第一邻接块,确定对所述目标编码块像素点进行预测的第一种预测模式;根据第二邻接块,确定对所述目标编码块像素点进行的第N种预测模式,所述N是大于1的自然数;从所述第一预测模式和所述第N种预测模式中确定用于所述目标编码块的估计的预测模式。
[0108] 本发明实施例中通过确定目标编码块像素点进行预测中,选择以第一邻接块为参考,确定一种预测模式;通过另一邻接块为参考,确定其他可选的第N中预测模式,根据当前编码块与参考像素相邻个数的关系,对参考像素多的邻接块设计较多的预测模式,进一步提高了预测精度,从而能提高编码性能。
[0109] 可选的,所述目标编码块行列比是X×M模式的非方块,其中,短边为X,长边为M,所述M、X是自然数,M大于X;
[0110] 第一邻接块位于短边上方,确定第一邻接块像素为参考像素,以第一邻接块像素垂直方向为第一种预测模式预测方向,进行像素预测;
[0111] 第二邻接块位于长边左方或左上或左下方,确定第二邻接块各像素为参考像素,以第二邻接块各像素水平和与水平呈一定角度的方向为第N种预测模式预测方向,进行像素预测。
[0112] 可选的,所述目标编码块行列比是M×X模式的非方块,其中,短边为X,长边为M,所述M、X是自然数,M大于X;
[0113] 第一邻接块位于短边左方,确定第一邻接块各像素为参考像素,以第一邻接块像素水平方向为第一种预测模式预测方向,进行像素预测;
[0114] 第二邻接块位于长边上方或左上方或右上方,确定第二邻接块各像素为参考像素,以第二邻接块垂直方向和与垂直呈一定角度的为第N种预测模式预测方向,进行像素预测。
[0115] 请参阅图7,本发明是另一种实施例还提供一种用于选取最有可能帧内预测模式的装置,其特征在于,包括:
[0116] 目标编码块确定单元701,用于确定待预测的目标编码块为非方块,确定与所述目标编码块短边相邻接的第一邻接块,确定与所述目标编码块长边相邻接的第二邻接块;
[0117] 最有可能预测模式选取单元702,用于根据编码块的编码顺序,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0118] 进而本发明实施例中,通过在非方块中,选择与所述目标编码块长边相邻接的第二邻接块的预测模式为所述目标编码块的最有可能预测模式,由于当前编码块与与其长边相邻的第二邻接块比较相关,使得当前编码块的最有可能预测模式选择更加准确,从而提高视频编码压缩效率。
[0119] 可选的,如果所述目标编码块长边相邻接的第二邻接块不存在或不可用,则选择预设的预测模式为所述目标编码块的最有可能预测模式。
[0120] 可选的,目标编码块为1×16的非方块,其中非方块的短边为1,长边为16;选择与长边为16相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0121] 可选的,目标编码块为16×1的非方块,其中非方块的短边为1,长边为16;选择与长边为16相邻接的上方邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0122] 可选的,目标编码块为2×8的非方块,其中非方块的短边为2,长边为8;选择与长边为8相邻接的左侧邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0123] 可选的,目标编码块为8×2的非方块,其中非方块的短边为2,长边为8;选择与长边为8相邻接的上方邻接块的预测模式为所述目标编码块的最有可能预测模式。
[0124] 可选的,关于最可能预测方向的判断,对1x16模式,如果当前宏块的左相邻宏块的帧内编码模式也为1x16模式,则当前宏块的第一列的最可能预测方向为当前宏块的左相邻宏块的最后一列的预测方向,在空间位置上,当前宏块的左相邻宏块的最后一列为当前宏块第一列的左相邻列。对2x8模式同理。
[0125] 请参阅图8,本发明是另一种实施例还提供一种用于对编码块预测残差数据变换的编码器,其特征在于,包括:
[0126] 运算单元801,用于确定当前待预测的目标编码块为非方块,对当前非方块的待预测的目标编码块的像数值进行预测,得到预测值,根据预测值和目标编码块运算得到非方块的预测残差数据;
[0127] 方块排序单元802,用于将非方块的预测残差数据进行重新排序,排列为方块预测残差数据;
[0128] 变换单元803,用于对所述重新排序的方块预测残差数据进行变换。
[0129] 进而本发明实施例中,通过在对编码块预测残差数据变换中,将非方块的预测残差数据进行重新排序,排列为方块预测残差数据,从而可以使用视频编码中通常使用的方块变换对非方块变换残差数据进行方块变换,以在提高编码性能的同时,尽量不增加实现代价。
[0130] 可选的,本实施例中,进一步包括,将是否需要对方块残差数据重新排序在码流中进行标识,所述标识用于确定方块预测残差数据是否由非方块的预测残差数据重新排序获得。可以在图像头、条带头、宏块或子块码流中写入标识码流,或者默认需要对方块残差数据重新排序。
[0131] 可选的,将非方块的预测残差数据进行重新排序,排列为方块预测残差数据前还包括以下步骤:根据率失真最小化或其它预设规则,判断是否需要将非方块的预测残差数据进行重新排序后进行方块变换,如果是,则重新排序后进行方块变换;否则,将非方块的预测残差数据进行非方块变换。
[0132] 请参阅图9,本发明是另一种实施例还提供一种用于对编码块预测残差数据逆变换的解码器,包括:
[0133] 接收单元901,用于获得解码码流中待变换的变换系数数据;
[0134] 非方块排序单元902,用于对变换系数进行逆变换,得到逆变换以后的残差数据;对所述逆变换以后的残差数据进行重新排序,得到非方块残差数据。
[0135] 进而本发明实施例中,解码码流中的标识符号,根据标识符号确定是否需要对逆变换以后的数据进行重新排序为非方块残差数据。还可以解码码流中的标识符号,根据标识符号确定对变换系数进行方块或者非方块的逆变换,或者按照默认的方式对变换系数数据进行方块或者非方块的变换。
[0136] 通过在对变换系数进行逆变换中,将变换后的方块数据进行重新排序,排列为非方块预测残差数据,从而可以使用视频编码或解码中通常使用的方块变换对非方块变换残差数据进行方块变换,以在提高编码性能的同时,尽量不增加实现代价。
[0137] 本发明提出了一种新的帧内预测编码方案,使用基于非方块的预测及对应的变换和量化扫描方法,充分利用相邻像素行或者像素列之间的相关性,减少预测像素及其参考像素的距离,增加了预测像素与其参考像素的相关性,从而能够提高视频编码压缩效率。
[0138] 可以理解本发明实施例中揭露的估计像素内预测模式的方法、选取像素内最有可能预测模式的方法、对编码块预测残差数据变换的方法和用于对编码块预测残差数据逆变换的方法可以进一步结合使用,进一步提高对非方块数据编码的编码效率。
[0139] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0140] 以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。