专利名称:对编码视频数据选择编码类型和预测模式的制作方法
技术领域:
本发明涉及对于编码视频数据选择编码类型和预测模式。
背景技术:
视频流是由一列视频帧所组成的,其中每帧由多个宏块组成。每个宏块典型地是 16X16的像素阵列,尽管其它大小的宏块也是可能的。视频编解码器(压缩器-解压缩 器)是压缩算法的软件、硬件或者软件和硬件结合的实现,其中所述的压缩算法用来编码 /压缩以及解码/解压缩视频数据流以减小流的大小,为了能更快地传输以及更小的存储 空间。虽然有损耗,在压缩视频流的二进制数据的同时,视频编解码器试图保持图像的质 量。普通的视频编解码器的实例包括WMV、RealVideo以及压缩标准,诸如MPEG_2、MPEG_4、 H. 261、H. 263 和 H. 264 的实现。在H. 264压缩标准下,视频帧的宏块可以在内部编码为16X16的像素阵列,该阵 列的像素值是利用以前编码的宏块计算的值预测的。16X16的宏块也可以内部编码为16 个4 X 4的像素阵列,其中每个4 X 4的阵列中的像素值是利用以前编码的4 X 4的阵列计算 的值预测的。存在4种可能的16X16阵列(亮度(Iuma)模块)内部预测模式以及9种可 能的4X4阵列(亮度模块)内部预测模式。同样,在编码宏块中,必需做出两个决定(选择)1)是否该宏块将被编码为 16X16阵列(称作16X 16编码)或者被编码为16个4X4阵列(称作4X4编码),以及 2)用于编码宏块的预测模式。例如,如果决定将宏块编码为16X16阵列,也必须决定将使 用16X16阵列的四个预测模式中的哪一个。如果决定将宏块编码为16个4X4阵列,也必 须决定对于16个4X4阵列的每个,将使用4X4阵列的9个预测模式中的哪一个。在这里 步骤1称作编码类型选择,并且步骤2称作预测模式选择。利用成本函数来做出编码类型选择以及预测模式选择。例如,成本函数典型地用 于决定是否将宏块编码为16X16阵列或编码为16个4X4阵列,其中选择具有最低成本的 编码的类型(16X16或4X4编码)。成本典型地等于失真或者失真的加权平均加上由预测 模式生成的比特的数量的估计,其中失真和/或比特数量的增加会增加成本。失真反映了 原始像素值和预测的(或编码的)值之间的差异,并且失真可以以不同的方法来测量。例 如,失真可以测量为原始像素值和预测的(或编码的)值之间的绝对差值的和。选择宏块的最优编码类型(16X 16或4X4编码)以及最优预测模式的穷举搜索 方法包括确定宏块中所有4个16X 16预测模式的以及16个4X4模块的9种4X4预测模 式的所有组合的成本,其中选定成本最低的16X16预测模式或4X4预测模式的特定组合。 对于每个宏块,穷举搜索方法需要考虑4X4预测模式的9~16不同的组合,使得穷举搜索方 法实际上不可实行。
同样,典型地执行下列的操作以确定宏块的编码类型和预测模式1)计算所有4种可能16 X 16预测模式的成本。2)对于每个16个4X4模块,选择具有最小成本的预测模式(在9种预测模式 中),然后计算结果的组合的总成本(例如,16种确定的成本的和)。3)将在步骤1确定的成本与在步骤2确定的成本进行对比,并选择最低的一个。 该选择提供了编码的类型选择以及预测模式选择。然而传统的方法依然包括确定4X4预测模式的9X 16种不同的组合的成本加上 4个16X16预测模式的成本。
发明内容
在一些实施方式中,提供了一种更有效的方法来确定视频帧中宏块的编码类型的 选择以及预测模式的选择。在一些实施方式中,一般的方法1)利用编码类型选择算法(基 于容易计算的宏块的属性)选择最初为宏块考虑的编码类型(16X16或4X4),2)如果在 步骤1选择了 16X16编码类型,则基于失真阂值,利用传统的方法或者改进的16X16预 测模式搜索算法,考虑可以用在宏块上的四种16X16预测模式,3)如果在步骤1中选择了 4X4编码类型,基于预测模式之间的位置关系,利用传统的方法或者改进的4X4预测模式 搜索算法,选择用于宏块的16个4X4模块的每个的4X4预测模式。
图1是选择像素宏块的编码类型和预测模式的一般方法的流程图。图2是用于选择像素宏块的编码类型的编码类型选择方法的流程图。图3是用于选择16X 16像素宏块的预测模式的预测模式搜索方法的流程图。图4描述4X4阵列的9种预测模式之间的逻辑/位置关系的概念图表。图5是用于选择宏块4X4阵列的预测模式的4X4预测模式搜索方法的流程图。图6是用于选择宏块4X4阵列的预测模式的可替换的4X4预测模式搜索方法的 流程图。图7表示计算机系统,利用该计算机系统实施本发明的一些实施方式。
具体实施例方式序列号为60/583447,于2004年6月27日公开的美国临时专利申请“编码和解码 图像”在此通过引用清楚地结合。在以下的描述中,为了解释,阐述了多个细节。但是,本领域的普通技术人员将理 解不用这些特定的细节也可以实现本发明。在其它的实例中,为了不使不必要的细节描述 模糊本发明的说明,已知的结构和设备以框图的形式表示。在一些实施方式中,本发明提供了一种更有效的方法来确定视频帧中宏块的编码 类型的选择以及预测模式的选择。在一些实施方式中,一般的搜索算法执行以下操作1)利用编码类型选择算法(基于容易计算的宏块的属性)选择最初为宏块考虑的 编码类型(16X16或4X4)。编码类型选择算法在下面部分I中进行讨论。2)如果在步骤1选择了 16X16编码模式,基于失真阈值,利用传统的方法或者改进的16 X 16预测模式搜索算法,考虑(S卩,测试)可以用在宏块上的四种16 X 16预测模式。 注意在16X16预测模式搜索算法的一种特定情形中,也可以选择4X4编码类型。该步骤 在以下部分II中进行讨论。3)如果在步骤1中选择了 4X4编码类型,基于预测模式之间的位置关系(在以 下部分III中对其进行讨论),利用传统的方法或者改进的4X4预测模式搜索算法,选择 4X4预测模式用于宏块的每个16个4X4模块。注意在搜索算法的步骤1中,如果编码类型选择算法选择16 X 16编码类型用于初 始考虑,最终选择的编码类型可以是16X16编码类型或4X4编码类型。相反,如果编码类 型选择算法选择4X4编码类型用于初始考虑,则将4X4编码类型有效地选择为宏块的编 码类型。如果选择16X16编码类型用于初始考虑,传统的方法或者改进的16X16预测模 式搜索算法用于确定宏块的预测模式。如果选择4X4编码类型用于初始考虑,则传统的方 法或者改进的4X4预测模式搜索算法用于确定宏块的预测模式。同样,根据由搜索算法选 择的用于初始考虑的编码类型,使用不同的搜索算法(传统的或改进的)来确定预测模式。图1是选择像素宏块的编码类型和预测模式的一般方法100的流程图。在一些实 施方式中,通过设置来编码视频帧的软件和/或硬件实现一般方法100。当其接收(在102) 像素宏块时,该方法开始。在一些实施方式中,宏块是16X16像素阵列,而在其它的实施方 式中,该宏块是不同尺寸的像素阵列。在一些实施方式中,将该宏块分成4个8 X 8阵列或 16个4 X 4阵列,而在其它的实施方式中,将宏块分成不同尺寸的块/阵列。利用编码类型选择方法200(以下参照附图2进行讨论),该方法然后选择(在 105)最初为宏块考虑的编码类型(16X16或4X4)。该方法然后确定(在110)是否已经 选择了 4X4编码类型。如果是,则该方法随后利用传统的方法、改进的4X4预测模式搜索 方法500 (以下参照附图5进行讨论),或者可选4X4预测模式搜索方法600 (以下参照附 图6进行讨论),选择(在115)宏块的16个4X4模块的每个的预测模式。如果该方法确定(在110-否)没有选择4X4编码类型,则该方法选择(在 120) 16X16预测模式(利用传统的方法或改进的16X 16预测模式搜索方法300,以下将参 照附图3进行讨论)或4X4编码类型。该方法然后确定(在125)是否已经选择了 4X4 编码类型(在120)。如果是,该方法继续步骤115,其中在步骤115选择宏块的16个4X4 模块的每个的预测模式。如果该方法确定(在125-否)没有选择4X4编码类型,这表示 已经选择了特定的16X16预测模式。然后该方法结束。部分I 编码类型选择算法该部分描述了一般搜索算法的步骤1的编码类型选择算法。编码类型选择算法选 择最初为宏块考虑的编码类型(16X16或4X4)并从而确定哪个预测模式(16X16模式或 4X4模式)是最初为宏块考虑的。编码类型选择算法利用易于确定的宏块的属性。编码类型选择算法执行下列操作1)将宏块分成4个8 X 8模块。2)计算每个8X8模块的方差,并将其与预定的阂值进行对比。例如,可以将预定 的阈值设置成等于帧中所有的8X8模块平均方差,在所述帧中包括宏块。可以确定8X8模 块的方差,例如通过a)确定模块中的所有像素值的平均值,b)为模块中的每个像素确定 (像素值-平均值)~2,以及c)对在步骤b确定的所有值求和(即,对模块中的所有像素的确定的值求和)。3)确定宏块中具有低于预定阈值的方差的8X8模块的数量(其中方差是用于确 定是否将宏块编码为16X 16模块或4X4模块的属性)。4)如果所有的4个8X8模块具有低于预定阈值的方差,则为初始考虑选择 16X16编码类型。注意,如果16X16编码类型被选择为初始考虑,则最终选择的编码类型 可以是16X16编码类型或4X4编码类型。可以利用传统的方法或改进的16X16预测模 式搜索算法(如以下部分II中所述),选择用在宏块上的16X 16预测模式。5)如果4个8 X 8模块的任一个具有超过预定阈值的方差,则选择4 X 4编码类型。 同样,利用传统的方法或者改进的4X4预测模式搜索算法(如以下部分II所述),来确定 将用在宏块的16个4X4模块的每个上的4X4预测模式。注意当用在编码进程的量化步骤中使用的量化参数值相对高时(例如,高于34), 编码类型选择算法的操作稍微偏离上述的说明。在这些实施方式中,预定的阈值由取决于 量化参数值(QP)的因子来依比例确定,使得当量化参数值增加时,预定的阂值就增加。在 一些实施方式中,定比的因子由以定比的方程的形式确定(l+k(QP-34)),其中k是常量。 在其它的实例中,定比的因子由另+个定比方程确定。预定的阈值乘以被确定的定比因子 以生成成比例的阈值。在这些实施方式中,如果4个8X8模块的任一个具有超过成比例的阂值的方差, 则将宏块编码为16个4X4模块。可以利用传统的方法或本发明的方法(诸如改进的4X4 预测模式搜索算法)来做出选择。然而,如果确定宏块的所有的4个8X8模块具有低于成 比例的阈值的方差,可以将宏块编码为16X16模块或编码为16个4X4模块。可以利用传 统的方法或改进的16X 16预测模式搜索算法(如以下部分II所述),选择16X 16预测模 式用在宏块上。如果选择4X4编码类型优于已选定的16X16预测模式,则可以利用传统 的方法或本发明的方法(诸如改进的4X4预测模式搜索算法)来选择4X4预测模式。附图2是用于选择像素宏块的编码类型的编码类型选择方法200的流程图。在一 些实施方式中,方法200是由设计用来编码视频帧的软件和/硬件来实现的。在一些实施 方式中,编码类型选择方法200包括附图1的步骤105。方法200从确定宏块的阈值方差 (在205)开始。在一些实施方式中,将阈值方差设置成等于帧中的所有8X8模块的平均 方差,在所述的帧中包括有宏块(如上所述)。在另外的实施方式中,当用在编码进程的量 化步骤的量化参数值相对高时,预定的阈值方差由取决于量化参数值的因子来依比例确定 (如上所述)。该方法然后将宏块分成4个8X8模块(在210)并且确定4个8X8模块的每个的 方差(在215)。该方法然后确定是否所有的4个8X8模块的方差低于阈值方差(在220)。 如果是,则该方法选择宏块的16X16编码类型(在225),并且结束。如果不是,则该方法选 择宏块的4X4编码类型(在230),并且结束。部分II 16X 16预测模式搜索算法在一般的搜索算法的步骤1之后,如果16X16编码类型已被选择为初始考虑,则 然后对16X16预测模式进行测试。该选择描述了一般搜索算法的步骤2。在H. 264编解码 标准下,存在四个可能的16 X 16内部预测模式来从DC、V (垂直)、H(水平)以及P (平面 的)中选择。在一些实施方式中,使用传统的方法来选择16X16预测模式(例如,通过确定4个16X 16预测模式的每个的成本并选择最低成本的模式)。在其它的实施方式中,基 于由预测模式导致的失真,·使用改进的16X 16预测模式搜索算法来考虑(即测试)宏块 的16X16预测模式。在一些实施方式中,16X 16预测模式搜索算法使用传统的方法来确定由特定的预 测模式导致的失真,所述的特定的预测模式用在了当前处理的宏块中。在传统的方法下, 失真的确定是由1)从邻接的以前编码的宏块检索像素值,2)从检索到的像素值获得新的 值,3)利用获得的值计算当前处理的宏块的预测值,以及4)确定当前处理的宏块的原始像 素值和计算的预测值之间的失真。利用传统的方法来确定失真是耗费时间的。在其它的实施方式中,16X 16预测模式搜索算法利用更快的估计方法来确定由特 定的预测模式导致的失真,所述的特定的预测模式用在了当前处理的宏块中。该估计方法 提供对预测值的估计(评估)并且然后确定被估计的预测值的失真,其中所述的预测值是 由特定的预测模式生成的。在估计方法下,利用来自于当前处理的宏块自身的像素值来确定预测值,假定当 前处理的宏块在边界处的像素值与邻接的宏块的邻近的像素值相似。由于所使用的来自于 当前处理宏块的像素值不同于来自于其它宏块的像素值,这减小了检索的时间,所以利用 估计方法确定失真耗费的时间较少。利用估计方法显著减小了需要确定精度损失较低的失 真值的时间。在一些实施方式中,估计方法的伪码如下choosel6X 16mode (){stepl //DC 预测pred =当前宏块的左列和上排的像素平均foreach 4X4 block{SAD_DC = sad (4X4block, pred);if (SAD_DC > Τ){bail and goto step2 ;}
}choose 16X16 DC mode and returnst印2 H垂直预测foreach 4X4block{SAD_V = 0 ;foreach column in the 4X4 block{
如上所述,视频流由一列视频帧所组成,其中每个帧由多个宏块组成。宏块典型地 是16X16的像素阵列(尽管其它尺寸的宏块也是可能的)并被分成分区(诸如4X4的 像素阵列的分区)。在H. 264编解码标准下,当内部编码帧时,存在9种不同的方法来编码
4X4阵列(即,存在9种内部4X4预测模式)。这9种模式是
1.内部_4X4_水平
2.内部_4X4_垂直
3.内部_4父4_斜_下_左
4.内部4父4_斜_下-右
5.内部_4X4_垂直_.右
6.内部_4X4_水平_.下
7.内部_4X4_垂直_左
8.内部_4X4_水平_.上
每个4X4阵列只以一 种预测模式来编码。典型地,将会选择导致最低成本的预测模式。成本典型地等于失真(其中失真反映了原始像素值和编码的预测值之间的差异)
或者失真的加权平均和由预测模式生成的比特数(其中失真和/或比特数的增加会增加成 本)。可以在所有9个预测模式中执行穷举搜索,以确定具有最低成本的最优的预测模式 (选定的预测模式)。然而,典型地,在所有9个预测模式中的穷举搜索并不是有效的(耗 费太多的时间和处理资源)。在一些实施方式中,使用了一种更有效的方法来确定像素阵列的预测模式。在一 些实施方式中,使用一种搜索算法,该算法在确定像素阵列的预测模式中考虑减小数量的 预测模式。该搜索算法更有效并且产生相对低的精度损失。该搜索算法是基于4X4阵列的9种可能的预测模式之间的逻辑/位置关系。图 4示出4X4阵列的9种预测模式之间的逻辑/位置关系的概念图表。如图4所示,8种预 测模式(0、1、3、4、5、6、7和8)围绕圆环设置,其中一个预测模式(2)放置在圆环的中央,预 测模式由节点表示。圆环上的两个预测模式相互越接近,两个预测模式之间的逻辑/位置 关系就越强。.同样,圆环上两个预测模式之间彼此相距越远,两个预测模式之间的逻辑/ 位置关系就越弱。例如,由于预测模式0和5在圆环上相互邻接,所以这表示这两个预测模 式之间存在较强的逻辑/位置关系。作为又一个实例,由于预测模式0和1是在圆环上相 对的位置,这表示这两个预测模式之间存在较弱的逻辑/位置关系。预测模式2位于圆环 的中央,表示它与其它任何一个预测模式都没有逻辑/位置关系。图4的概念图表是基于内部编码4X4阵列的H. 264编解码标准。对于当前处理 的4X4阵列,H. 264标准下的预测模式表示另外一个4X4阵列(在此称作预测阵列)的 位置(相对于当前处理的4X4阵列),其是基于对当前处理的阵列编码的预测信息。例如, 预测模式0 (垂直)表示当前处理的阵列的预测阵列是位于当前处理的阵列之上,预测模式 1 (水平)表示当前处理的阵列的预测阵列是位于当前处理的阵列左侧。
同样,可以访问预测模式之间的逻辑/位置关系的强弱(基于由与当前处理的 4X4阵列有关的预测模式表示的位置关系)。例如,由于位于当前处理的阵列之上的预测 阵列(由预测模式0表示)与位于当前处理的阵列左侧的预测阵列(由预测模式1表示) 之间具有弱的逻辑/位置关系,所以预测模式0与预测模式1之间具有弱的逻辑/位置关 系。弱的逻辑位置关系反映在了附图4中,其中预测模式0和1在圆环上相对的部分。相 反,由于位于当前处理的阵列之上的预测阵列(由预测模式0表示)与位于当前处理的阵 列上方和右侧的预测阵列(由预测模式5表示)之间具有强的逻辑/位置关系,所以预测 模式0与预测模式5之间具有强的逻辑/位置关系。强的逻辑/位置关系反映在了附图4 中,其中预测模式0和5在圆环上相邻。围绕圆环设置的8个预测模式(0、1、3、4、5、6、7和8)可以分为4组逻辑/位置相 关的预测模式1. 7、0和5(垂直左,垂直,和垂直右)2.8、1和6(水平上,水平,和水平下)3.7、3和8(垂直左,斜下左,和水平上)4.5、4和6(垂直右,斜下右,和水平下)相同组内的预测模式相互之间具有强的逻辑/位置关系。在一些实施方式中,搜 索算法最初确定每个组中的一个预测模式的成本,连同预测模式2的成本。搜索算法然后 确定具有最低成本的该组预测模式中的预测模式。如果具有最低成本的预测模式是在特定 组的预测模式中,则存在非常大的可能性是所有9个可能的预测模式的最低成本就在该特 定的组中。同样,该搜索算法然后确定在该特定的组中具有最低成本的预测模式,具有最低 成本的预测模式被选作阵列的最优的预测模式。例如,在一些实施方式中,搜索算法最初确定预测模式0、1、2、3和4的成本,其中 预测模式0、1、3和4分别来自不同的组。如果在预测模式的组(0,1,2,3,4)中预测模式0、 1、3或4具有最低的成本,则搜索算法随后确定预测模式的组中最低的成本,其中包括以前 确定的预测模式。例如,如果搜索算法确定在预测模式的组(0,1,2,3,4)中,预测模式1具 有最低的成本,则搜索算法然后确定预测模式组(8,1,6)的最低成本,具有最低成本的预 测模式被选为最优的预测模式。在一些实施方式中,搜索算法最初考虑并比较预定的预测模式组的成本,该组包 括一些但并不是全部的9种可能的预测模式。在一些实施方式中,预测模式的预定的组 包括一个预测模式,该一个预测模式是来自于4个预测模式组的每个(如上参照附图4所 述)。在以下所述的实施方式中,预测模式的预定的组包括预测模式0、1、2、3和4。然而在 其它的实施方式中,预测模式的预定组包括其它的预测模式。搜索算法确定了组中每个预 测模式的成本,其中C0、C1、C2、C3和C4分别是预测模式0、1、2、3和4的预先确定的成本。 可以利用本领域已知的方法确定每个预测模式的成本。搜索算法然后确定具有最低成本的 预测模式的序数(0,1,2,3或4),其中变量η用于表示确定的序数。这些操作可以由如下的 等式来表示η = GetInlOfMinCost(0,1,2,3,4)其中GetlnlOfMinCost是函数,其确定预测模式组中(例如,0,1,2,3,和4)每个 预测模式的成本,并且确定组中具有最低成本的预测模式的序数。
搜索算法然后执行下列操作Ifn ==2χ = 2Else If η == 0χ = = GetInlOfMinCost (7,0,5)Else If η == 1χ = = GetInlOfMinCost (8,1,6)Else If η == 3χ = = GetInlOfMinCost (7, 3,8)Else If η == 4χ == GetInlOfMinCost (5,4,6)其中χ是最终选定为像素阵列的最优预测模式(选定的预测模式)的预测模式的序号。同样,搜索算法确定η是否等于2。如果是,选定的搜索模式就是预测模式2。如 果η不等于2,搜索算法然后确定η是否等于O。如果是,选定的预测模式就是具有预测模 式组(7,0,5)的最低成本的预测模式。如果η不等于0,搜索算法然后确定η是否等于1。 如果是,选定的预测模式就是具有预测模式组(8,1,6)的最低成本的预测模式。如果η不 等于1,搜索算法然后确定η是否等于3。如果是,选定的预测模式就是具有预测模式组(7, 3,8)的最低成本的预测模式。如果η不等于3,搜索算法然后确定η是否等于4。如果是, 选定的预测模式就是具有预测模式组(5,4,6)的最低成本的预测模式。图5是4X4预测模式搜索方法500的流程图,该方法选择宏块的4X4阵列的预 测模式。在一些实施方式中,方法500是由设置用来编码视频帧的软件和/或硬件来实现 的。在一些实施方式中,4X4预测模式搜索方法500包括图1的步骤115。方法500从将宏块分成16个4X4阵列开始(在505)。该方法然后将第一个4Χ4 阵列设置成用于处理的当前的4X4阵列(在510)。对于当前的4X4阵列,方法500然后 确定每个预测模式0、1、2、3和4的成本(在515)。该方法确定具有最低成本的预测模式 是2。如果是,该方法将预测模式2设置为当前的4X4阵列的预测模式(在525)。该方法 然后确定是否在宏块中存在多个4X4阵列需要处理(在585)。如果是,该方法将下一个 4X4阵列设置为当前的4X4阵列(在590),并且继续步骤515。如果不是,该方法结束。如果该方法确定具有最低成本的预测模式不是预测模式2 (在520-否),则该方法 然后确定具有最低成本的预测模式是否是预测模式0 (在530)。如果是,该方法随后确定每 个预测模式7、0和5的成本(在535)。该方法然后将(预测模式7、0和5中)具有最低成 本的预测模式设置为(在540)当前4X4阵列的预测模式。该方法然后继续步骤585。如果该方法确定具有最低成本的预测模式不是预测模式0 (在530-否),则该方法 然后确定具有最低成本的预测模式是否是预测模式1 (在545)。如果是,该方法然后确定每 个预测模式8、1和6的成本(在550)。该方法然后将(预测模式8、1和6中)具有最低成 本的预测模式设置为当前4X4阵列的预测模式(在555)。该方法然后继续步骤585。如果该方法确定具有最低成本的预测模式不是预测模式1 (在545-否),则该方法 然后确定具有最低成本的预测模式是否是预测模式3 (在560)。如果是,则该方法确定每个预测模式7、3和8的成本(在565)。该方法然后将(预测模式7、3和8中)具有最低成本 的预测模式设置为当前4X4阵列的预测模式(在570)。该方法然后继续步骤585。如果该方法确定具有最低成本的预测模式不是预测模式3 (在560-否),则表示具 有最低成本的预测模式是预测模式4。该方法然后确定每个预测模式5、4和6的成本(在 575)。该方法然后将(预测模式5、4和6中)具有最低成本的预测模式设置为当前4X4 阵列的预测模式(在580)。该方法然后继续步骤585。在一些实施方式中,方法500选择宏块的4X4阵列的预测模式,其中每个4X4阵 列的预测模式选择取决于宏块中一个或多个其它4X4阵列的前一个预测模式的选择。在 这些实施方式中,宏块的每个4X4阵列的预测模式的选择取决于其上方和左侧相邻4X4 阵列的编码值(以及从而选定的预测模式)。因此,在这些实施方式中,方法500选择从左 上部的4X4阵列开始的预测模式,接下来是右侧的,然后是向下的。给出以前选定的上方 和左侧的相邻的4X4阵列的预测模式,方法500随后选择当前正在处理的4X4阵列的具 有最低成本的预测模式(在9种预测模式中)。为了这样做,方法500例如可以计算最后得 到的组合的总体成本(即16种确定的成本的成本和)。A 可选的预测模式搜索算法在可选的实施方式中,可选的预测模式搜索算法执行另外一组操作。最初,可选的 搜索算法确定预测模式组(0,1,3和4)中具有最低的成本的预测模式的序数,其中变量a 用于表示确定的序数。可选的搜索算法也确定预测模式组(0,1,3和4)中具有次最低的成 本的预测模式的序数,其中b用于表示确定的序数。而且,可选的搜索算法确定预测模式组 (0,1,2,3和4)中具有最低的成本的预测模式的序数,其中变量η用于表示确定的序数。这些操作可以由以下的等式来表达。a = GetInlOfMinCost_a(0,1,3,4)b = GetInlOfSecondMinCost_b(0,1,3,4)η = GetInlOfMinCost(0,1,2,3,4)其中GetlnlOfSecondMinCost是函数,其确定预测模式组中(例如,0,1,3和4)中 每个预测模式的成本,并且确定组中的具有次最低成本的预测模式的序数。搜索算法然后执行下列操作
Ifn ===2
χ = 2
ElseIf (a,b) == (0,4)or(4,0)
χ== GetInlOfMinCost (0,5,4)
ElseIf (a,b) == (4,l)or(l,4)
χ== GetInlOfMinCost (4,6,1)
ElseIf (a,b) == (l,3)or(3,l)
χ== GetInlOfMinCost (1,8,3)
ElseIf (a,b) == (3,0)or(0,3)
χ== GetInlOfMinCost (3,7,0)
Else
χ = = η
其中χ是最终选定为像素阵列的最优预测模式(选定的预测模式)的预测模式的序号。同样,可选的搜索算法确定η是否等于2。如果是,选定的搜索模式就是预测模式 2。如果η不等于2,可选的搜索算法然后确定是否a等于0并且b等于4或者反之亦然(即 是否a等于4并且b等于0)。如果是,选定的预测模式就是具有预测模式组(0,5,4)的最 低成本的预测模式。如果a等于0并且b等于4或者反之亦然都不是真的,可选的搜索算法然后确定 是否a等于4并且b等于1或者反之亦然。如果是,选定的预测模式就是具有预测模式组 (4,6,1)的最低成本的预测模式。如果a等于4并且b等于1或者反之亦然都不是真的,可选的搜索算法然后确定 是否a等于1并且b等于3或者反之亦然。如果是,选定的预测模式就是具有预测模式组 (1,8,3)的最低成本的预测模式。如果a等于1并且b等于3或者反之亦然不是真的,可选的搜索算法然后确定是 否a等于3并且b等于0或者反之亦然。如果是,选定的预测模式就是具有预测模式组(3, 7,0)的最低成本的预测模式。图6是可选的4X4预测模式搜索方法600的流程图,其中所述的方法选定宏块的 4X4阵列的预测模式。在一些实施方式中,4X4预测模式搜索方法600包括图1的步骤 115。方法600从将宏块分成16个4X4阵列开始(在605)。该方法然后将第一个4X4 阵列设置成用于处理的当前的4X4阵列(在610)。对于当前的4X4阵列,方法600然后 确定每个预测模式0、1、2、3和4的成本(在615)。该方法将变量a设置成等于具有预测模 式0、1、3和4中最低成本的预测模式的预测指数(在616)。该方法将变量b设置成等于 具有预测模式0、1、3和4中次最低成本的预测模式的预测模式指数(在617)。该方法将 变量η设置成等于具有预测模式0、1、2、3和4中最低成本的预测模式的预测模式指数(在 618)。该方法确定η是否等于2 (在620)。如果是,则该方法将预测模式2设置成当前 4X4阵列的预测模式(在625)。该方法然后确定是否在宏块中存在多个将被处理的4X4 阵列(在685)。如果是,则该方法将下一个4X4阵列设置成当前的4X4阵列(在690), 并继续步骤615。否则,该方法结束。如果该方法确定η不等于2(在620-否),则该方法然后确定条件是否(a等于0 并且b等于4或者反之亦然)为真(在630)。如果是,则该方法然后确定预测模式0、5和 4的每个的成本(在635)。该方法然后将(预测模式0、5和4中)具有最低成本的预测模 式设置成当前4X4阵列的预测模式(在640)。该方法然后继续到步骤685。如果该方法确定条件(a等于0并且b等于4或者反之亦然)非真(在630-否), 则该方法确定条件(a等于4并且b等于1或者反之亦然)是否为真(在645)。如果是,该 方法然后确定每个预测模式4、6和1的成本(在650)。该方法然后将(预测模式4、6和1 中)具有最低成本的预测模式设置成当前4X4阵列的预测模式(在655)。该方法然后继 续到步骤685。如果该方法确定条件(a等于4并且b等于1或者反之亦然)非真(在645_否),则该方法确定条件(a等于1并且b等于3或者反之亦然)是否为真(在660)。如果是,该 方法然后确定每个预测模式1、8和3的成本(在665)。该方法然后将(预测模式1、8和3 中)具有最低成本的预测模式设置成当前4X4阵列的预测模式(在670)。该方法然后继 续到步骤685。如果该方法确定条件(a等于1并且b等于3或者反之亦然)非真(在660_否), 则该方法确定条件(a等于3并且b等于0或者反之亦然)是否为真(在672)。如果是, 则该方法然后确定每个预测模式3、7和0的成本(在675)。该方法然后将(预测模式3、7 和0中)具有最低成本的预测模式设置成当前4X4阵列的预测模式(在680)。该方法然 后继续到步骤685。如果该方法确定条件(a等于3并且b等于0或者反之亦然)非真(在 672-否),该方法然后将该预测模式设置成等于由变量η (在步骤618确定)所指示的预测 模式(在673),即预测模式0、1、2、3和4中具有最低成本的预测模式。该方法然后继续到 步骤685。图7表示计算机系统700,利用该计算机系统实施本发明的一些实施方式。计算机 系统700包括总线705、处理器710、系统存储器715、只读存储器720、永久存储设备725、输 入设备730以及输出设备735。总线705总体来说表示所有的系统、外围设备以及芯片组总线,其可通信地连接 计算机系统700的多个内部设备。例如,总线705可通信地将处理器710与只读存储器720、 系统存储器715以及永久存储设备725相连接。只读存储器(R0M)720存储由处理器710和计算机系统的其它模块所需要的静态 数据和指令。另一方面,永久存储设备725是读写存储设备。该设备是非易失性存储器单 元,即使计算机系统700关闭时其也存储有指令和数据。一些实施方式利用海量存储设备 (诸如磁盘或光盘及其相应的磁盘驱动器)作为永久存储设备725。其它的实施方式利用 可移动的存储设备(诸如软盘或zip 盘,及其相应的磁盘驱动器)作为永久存储设备。和永久存储设备725类似,系统存储器715是读写存储设备。然而与存储设备725 不同的是,系统存储器是易失性读写存储器,诸如随机存取存储器(RAM)。该系统存储器存 储处理器在运行期间所需的一些指令和数据。实现一些实施方式所必需的指令和/或数据存储在系统存储器715、永久存储设 备725、只读存储器720或者三者的任意组合中。例如,不同的存储器单元可以包含用于根 据一些实施方式编码或解码视频数据流的指令,和/或包括视频数据。为了执行一些实施 方式的处理,处理器710从这些不同的存储器单元检索执行的指令和处理的数据。为了执 行一些实施方式的处理,处理器710从这些不同的存储器单元检索执行的指令和处理的数 据。总线705也连接到输入和输出设备730和735。输入设备730可以使得用户传递 信息并选择给计算机系统700的命令。输入设备730包括字母数字键盘和光标控制器。输 出设备735显示由计算机系统700生成的图像。输出设备包括打印机和显示设备,诸如阴 极射线管(CRT)或液晶显示器(LCD)。最后,如图7所示,例如通过网络适配器(未示出),总线705也将计算机系统700 连接到网络765。以这种方式,计算机系统700可以是计算机网络(诸如局域网(“LAN”)、 广域网(“WAN”)或者企业内部互联网)或者一种网络(诸如因特网)的一部分。计算机系统700的任何或所有部件可以结合一些实施方式一起使用。然而,本领域的普通技术人 员将理解任何其它的系统配置也可以用在其它的实施方式中。 根据多个特定的细节对本发明进行了说明,本领域的普通技术人员将认识到在不 背离本发明的精神的情况下,可以以其它特定的形式来实现本发明。例如,以上通过参照宏 块对本发明的多个实施方式进行了描述。本领域的普通技术人员将认识到这些实施方式可 以用在任何其它的像素阵列中。
权利要求
一种用于编码视频图像中的像素组的方法,所述方法包括根据多个编码模式中的不同编码模式之间的关系,从所述多个编码模式中识别第一组编码模式,其中每个编码模式是引用所述视频图像中的多个邻接像素的内部预测编码模式;计算与所述第一组编码模式中的每一个相关联的成本值;基于所计算的成本值,从所述多个编码模式识别第二组编码模式,所述第二组编码模式具有至少两个编码模式,其中所述第二组编码模式不是所述第一组编码模式的子集;从所述第二组编码模式中选择内部预测编码模式;以及使用选择的内部预测编码模式来编码所述像素组。
2.根据权利要求1所述的方法,其中,所述第一和第二组编码模式中的每一组编码模 式包括所述多个编码模式中的一些但不是全部编码模式。
3.根据权利要求1所述的方法,其中,基于与所述第一组编码模式中具有最低成本值 的特定编码模式的关系,识别所述第二组编码模式,其中,所述关系是位置关系。
4.根据权利要求1所述的方法,其中,所述不同编码模式之间的关系由与所述不同编 码模式相关联的不同预测阵列之间的位置和逻辑关系来定义。
5.根据权利要求1所述的方法,其中,与特定编码模式相关联的特定成本值是利用该 特定编码模式编码所述像素组的失真值成本。
6.根据权利要求1所述的方法,其中,所述第二组编码模式中的预测模式相比于所述 第一组编码模式中的预测模式具有更强的位置关系。
7.一种用于通过使用图像中的多个邻接像素组来编码所述图像中的特定像素组的方 法,该方法包括将所述特定像素组与第一多个邻接像素组中的每一个进行比较,其中所述第一多个邻 接像素组是更大的第二多个邻接像素组的子集;基于所述比较,将所述第一多个邻接像素组中的一个像素组识别为第一候选像素组;通过将所述特定像素组与第三多个邻接像素组中的每一个进行比较来识别第二候选 像素组,所述第三多个邻接像素组是基于所述第一候选像素组来识别的,所述第三多个邻 接像素组不同于所述第一多个邻接像素组;以及使用所述第二候选像素组来编码所述特定像素组。
8.根据权利要求7所述的方法,其中,将所述特定像素组与第一多个邻接像素组中的 每一个进行比较包括计算使用所述第一多个邻接像素组中的每一个来对所述特定像素组 进行内部编码的成本。
9.根据权利要求7所述的方法,其中,将所述特定像素组与第三多个邻接像素组中的 每一个进行比较包括计算使用所述第三多个邻接像素组中的每一个来对所述特定像素组 进行内部编码的成本。
10.根据权利要求9所述的方法,其中,与利用所述第一和第三多个邻接像素组中的任 何其他像素组对所述特定像素组进行内部编码相比,使用所述第二候选像素组对所述特定 像素组进行内部编码具有最低的编码成本。
11.一种用于使用与视频图片中的特定像素组邻近的多个邻近像素组对所述视频图片 中的该特定像素组进行内部预测编码的方法,该方法包括识别所述视频图片中的第一多个邻近像素组,所述第一多个邻近像素组中的每一个邻 近像素组与所述第一多个邻近像素组中的其他邻近像素组具有位置关系;针对所述第一多个邻近像素组中的每一个邻近像素组,计算基于所述第一多个邻近像 素组中的邻近像素组对所述特定像素组进行内部预测编码的第一成本;基于所述第一多个邻近像素组的所述计算的第一成本,识别所述第一多个邻近像素组 中的一个邻近像素组;识别所述视频图片中的第二多个邻近像素组,所述第二多个邻近像素组包括所述第一 多个邻近像素组中的所述识别出的邻近像素组,其中,相比于所述第一多个邻近像素组中 的邻近像素组彼此的位置关系,所述第二多个邻近像素组中的邻近像素组彼此的位置关系 更强,从而相比于所述第一多个邻近像素组中的邻近像素组,所述第二多个邻近像素组中 的邻近像素组彼此位置更靠近;针对所述第二多个邻近像素组中的每一个邻近像素组,计算基于所述第二多个邻近像 素组中的邻近像素组对所述特定像素组进行内部预测编码的第二成本;基于所述第二多个邻近像素组的所述计算出的第二成本,识别所述第二多个邻近像素 组中的一个邻近像素组;以及使用所述第二多个邻近像素组中的所述识别出的邻近像素组来编码所述特定像素组。
12.根据权利要求11所述的方法,其中,识别所述第一多个邻近像素组中的一个邻近 像素组包括识别所述第一多个邻近像素组中的具有最低计算出的第一成本的一个邻近像 素组。
13.根据权利要求11所述的方法,其中,识别所述第二多个邻近像素组中的一个邻近 像素组包括识别所述第二多个邻近像素组中的具有最低计算出的第二成本的一个邻近像素组。
14.根据权利要求11所述的方法,其中,所述第一多个邻近像素组中的每一个邻近像 素组与所述第一多个邻近像素组中的所有其他邻近像素组具有逻辑关系,其中,相比于所 述第一多个邻近像素组中的邻近像素组之间的逻辑关系中的每一个,所述第二多个邻近像 素组中的每个邻近像素组与所述第一多个邻近像素组中的所述识别出的邻近像素组具有 更近的逻辑关系。
15.根据权利要求11所述的方法,其中,所述特定像素组是宏块的分区。
16.根据权利要求11所述的方法,其中,所述计算出的第一成本和第二成本基于由于 对所述特定像素组进行内部预测编码而导致的失真。
17.根据权利要求11所述的方法,其中,相比于所述第一多个邻近像素组中的邻近像 素组之间的位置关系,所述第二多个邻近像素组中的每一个邻近像素组与所述第一多个邻 近像素组中的所述识别出的邻近像素组具有更强的位置关系。
18.根据权利要求11所述的方法,其中,所述多个邻近像素组对应于多个内部预测编 码模式。
19.根据权利要求18所述的方法,其中,所述多个内部预测编码模式包括以下中的至 少一个内部4X4垂直预测模式、内部4X4水平预测模式、内部4X4DC预测模式、内部 4X4斜下左预测模式、内部4X4斜下右预测模式、内部4X4垂直右预测模式、内部4X4水 平下预测模式、内部4X4垂直左预测模式、以及内部4X4水平上预测模式。
20.根据权利要求11所述的方法,还包括使用DC内部预测编码模式来确定对所述特定像素组进行编码的成本;以及 当相比于所述第一多个邻近像素组中的每一个邻近像素组的所述计算出的第一成本 中的每一个,使用所述DC内部预测编码模式来对所述特定像素组进行内部预测编码具有 更低的编码成本时,选择所述DC内部预测编码模式来对所述特定像素组进行编码。
21.一种用于编码视频图像中的像素组的方法,该方法包括根据多个编码模式中的不同编码模式之间的关系,从所述多个编码模式中识别一组编 码模式,其中所述多个编码模式中的每一个是引用与所述视频图像中的所述像素组邻接的 多个像素的内部预测编码模式;计算与所述组编码模式中的每一个相关联的成本值; 识别所述组编码模式中具有最低计算出的成本值的第一编码模式; 识别所述组编码模式中具有第二最低计算出的成本值的第二编码模式; 识别相比于所述多个编码模式中的任何其他编码模式与所述第一和第二编码模式具 有更近的位置关系的第三编码模式;计算与所述第三编码模式相关联的成本值;选择所述第一编码模式、所述第二编码模式以及所述第三编码模式之中最低成本的编 码模式;以及使用所选择的最低成本的编码模式来对所述视频图像中的所述像素组进行编码。
22.根据权利要求21所述的方法,其中,所述组编码模式是基于用于编码4X4阵列的 在H. 264编解码标准下指定的9种预测模式之间的位置关系来识别的。
23.根据权利要求21所述的方法,其中,所述不同编码模式之间的关系是由与所述不 同编码模式相关联的不同预测阵列之间的位置和逻辑关系来定义的。
24.根据权利要求21所述的方法,其中,与特定编码模式相关联的特定成本值是用于 使用该特定编码模式编码所述像素组的失真成本值。
25.根据权利要求21所述的方法,其中,所述组编码模式包括DC编码模式,所述方法还 包括当所述DC编码模式是所述组编码模式中具有最低计算出的成本值的编码模式时,使 用所述DC编码模式来编码所述像素组。
26.一种用于编码视频图像中的像素组的设备,所述设备包括用于根据多个编码模式中的不同编码模式之间的关系,从所述多个编码模式中识别第 一组编码模式的装置,其中每个编码模式是引用所述视频图像中的多个邻接像素的内部预 测编码模式;用于计算与所述第一组编码模式中的每一个相关联的成本值的装置; 用于基于所计算的成本值,从所述多个编码模式识别第二组编码模式的装置,所述第 二组编码模式具有至少两个编码模式,其中所述第二组编码模式不是所述第一组编码模式 的子集;用于从所述第二组编码模式中选择内部预测编码模式的装置;以及 用于使用选择的内部预测编码模式来编码所述像素组的装置。
27.根据权利要求26所述的设备,其中,所述第一和第二组编码模式中的每一组编码 模式包括所述多个编码模式中的一些但不是全部编码模式。
28.根据权利要求26所述的设备,其中,基于与所述第一组编码模式中具有最低成本 值的特定编码模式的关系,识别所述第二组编码模式,其中,所述关系是位置关系。
29.根据权利要求26所述的设备,其中,所述不同编码模式之间的关系由与所述不同 编码模式相关联的不同预测阵列之间的位置和逻辑关系来定义。
30.根据权利要求26所述的设备,其中,与特定编码模式相关联的特定成本值是利用 该特定编码模式编码所述像素组的失真值成本。
31.根据权利要求26所述的设备,其中,所述第二组编码模式中的预测模式相比于所 述第一组编码模式中的预测模式具有更强的位置关系。
32.一种用于通过使用图像中的多个邻接像素组来编码所述图像中的特定像素组的设 备,该设备包括用于将所述特定像素组与第一多个邻接像素组中的每一个进行比较的装置,其中所述 第一多个邻接像素组是更大的第二多个邻接像素组的子集;用于基于所述比较,将所述第一多个邻接像素组中的一个像素组识别为第一候选像素 组的装置;用于通过将所述特定像素组与第三多个邻接像素组中的每一个进行比较来识别第二 候选像素组的装置,所述第三多个邻接像素组是基于所述第一候选像素组来识别的,所述 第三多个邻接像素组不同于所述第一多个邻接像素组;以及用于使用所述第二候选像素组来编码所述特定像素组的装置。
33.根据权利要求32所述的设备,其中,所述用于将所述特定像素组与第一多个邻接 像素组中的每一个进行比较的装置包括用于计算使用所述第一多个邻接像素组中的每一 个来对所述特定像素组进行内部编码的成本的装置。
34.根据权利要求32所述的设备,其中,所述用于将所述特定像素组与第三多个邻接 像素组中的每一个进行比较的装置包括用于计算使用所述第三多个邻接像素组中的每一 个来对所述特定像素组进行内部编码的成本的装置。
35.根据权利要求34所述的设备,其中,与利用所述第一和第三多个邻接像素组中的 任何其他像素组对所述特定像素组进行内部编码相比,使用所述第二候选像素组对所述特 定像素组进行内部编码具有最低的编码成本。
36.一种用于使用与视频图片中的特定像素组邻近的多个邻近像素组对所述视频图片 中的该特定像素组进行内部预测编码的设备,该设备包括用于识别所述视频图片中的第一多个邻近像素组的装置,所述第一多个邻近像素组中 的每一个邻近像素组与所述第一多个邻近像素组中的其他邻近像素组具有位置关系;用于针对所述第一多个邻近像素组中的每一个邻近像素组,计算基于所述第一多个邻 近像素组中的邻近像素组对所述特定像素组进行内部预测编码的第一成本的装置;用于基于所述第一多个邻近像素组的所述计算的第一成本,识别所述第一多个邻近像 素组中的一个邻近像素组的装置;用于识别所述视频图片中的第二多个邻近像素组的装置,所述第二多个邻近像素组包 括所述第一多个邻近像素组中的所述识别出的邻近像素组,其中,相比于所述第一多个邻 近像素组中的邻近像素组彼此的位置关系,所述第二多个邻近像素组中的邻近像素组彼此 的位置关系更强,从而相比于所述第一多个邻近像素组中的邻近像素组,所述第二多个邻近像素组中的邻近像素组彼此位置更靠近;用于针对所述第二多个邻近像素组中的每一个邻近像素组,计算基于所述第二多个邻 近像素组中的邻近像素组对所述特定像素组进行内部预测编码的第二成本的装置;用于基于所述第二多个邻近像素组的所述计算出的第二成本,识别所述第二多个邻近 像素组中的一个邻近像素组的装置;以及用于使用所述第二多个邻近像素组中的所述识别出的邻近像素组来编码所述特定像 素组的装置。
37.根据权利要求36所述的设备,其中,所述用于识别所述第一多个邻近像素组中的 一个邻近像素组的装置包括用于识别所述第一多个邻近像素组中的具有最低计算出的第 一成本的一个邻近像素组的装置。
38.根据权利要求36所述的设备,其中,所述用于识别所述第二多个邻近像素组中的 一个邻近像素组的装置包括用于识别所述第二多个邻近像素组中的具有最低计算出的第 二成本的一个邻近像素组的装置。
39.根据权利要求36所述的设备,其中,所述第一多个邻近像素组中的每一个邻近像 素组与所述第一多个邻近像素组中的所有其他邻近像素组具有逻辑关系,其中,相比于所 述第一多个邻近像素组中的邻近像素组之间的逻辑关系中的每一个,所述第二多个邻近像 素组中的每个邻近像素组与所述第一多个邻近像素组中的所述识别出的邻近像素组具有 更近的逻辑关系。
40.根据权利要求36所述的设备,其中,所述特定像素组是宏块的分区。
41.根据权利要求36所述的设备,其中,所述计算出的第一成本和第二成本基于由于 对所述特定像素组进行内部预测编码而导致的失真。
42.根据权利要求36所述的设备,其中,相比于所述第一多个邻近像素组中的邻近像 素组之间的位置关系,所述第二多个邻近像素组中的每一个邻近像素组与所述第一多个邻 近像素组中的所述识别出的邻近像素组具有更强的位置关系。
43.根据权利要求36所述的设备,其中,所述多个邻近像素组对应于多个内部预测编 码模式。
44.根据权利要求43所述的设备,其中,所述多个内部预测编码模式包括以下中的至 少一个内部4X4垂直预测模式、内部4X4水平预测模式、内部4X4DC预测模式、内部 4X4斜下左预测模式、内部4X4斜下右预测模式、内部4X4垂直右预测模式、内部4X4水 平下预测模式、内部4X4垂直左预测模式、以及内部4X4水平上预测模式。
45.根据权利要求36所述的设备,还包括用于使用DC内部预测编码模式来确定对所述特定像素组进行编码的成本的装置;以及用于当相比于所述第一多个邻近像素组中的每一个邻近像素组的所述计算出的第一 成本中的每一个,使用所述DC内部预测编码模式来对所述特定像素组进行内部预测编码 具有更低的编码成本时,选择所述DC内部预测编码模式来对所述特定像素组进行编码的直ο
46.一种用于编码视频图像中的像素组的设备,该设备包括用于根据多个编码模式中的不同编码模式之间的关系,从所述多个编码模式中识别一组编码模式的装置,其中所述多个编码模式中的每一个是引用与所述视频图像中的所述像 素组邻接的多个像素的内部预测编码模式;用于计算与所述组编码模式中的每一个相关联的成本值的装置; 用于识别所述组编码模式中具有最低计算出的成本值的第一编码模式的装置; 用于识别所述组编码模式中具有第二最低计算出的成本值的第二编码模式的装置; 用于识别相比于所述多个编码模式中的任何其他编码模式与所述第一和第二编码模 式具有更近的位置关系的第三编码模式的装置;用于计算与所述第三编码模式相关联的成本值的装置;用于选择所述第一编码模式、所述第二编码模式以及所述第三编码模式之中最低成本 的编码模式的装置;以及用于使用所选择的最低成本的编码模式来对所述视频图像中的所述像素组进行编码 的装置。
47.根据权利要求46所述的设备,其中,所述组编码模式是基于用于编码4X4阵列的 在H. 264编解码标准下指定的9种预测模式之间的位置关系来识别的。
48.根据权利要求46所述的设备,其中,所述不同编码模式之间的关系是由与所述不 同编码模式相关联的不同预测阵列之间的位置和逻辑关系来定义的。
49.根据权利要求46所述的设备,其中,与特定编码模式相关联的特定成本值是用于 使用该特定编码模式编码所述像素组的失真成本值。
50.根据权利要求46所述的设备,其中,所述组编码模式包括DC编码模式,所述设备还 包括用于当所述DC编码模式是所述组编码模式中具有最低计算出的成本值的编码模式 时,使用所述DC编码模式来编码所述像素组的装置。
全文摘要
本发明涉及对编码视频数据选择编码类型和预测模式。在本发明中,提供了一种用于确定视频帧的宏块的编码类型和预测模式的方法。在一些实施方式中,一般的方法1)基于容易计算的宏块的属性利用编码类型选择算法选择最初为宏块考虑的编码类型,即16×16或4×4,2)如果在步骤1选择了16×16编码类型,则基于失真阈值,利用传统的方法或者改进的16×16预测模式搜索算法,考虑可以用在宏块上的四种16×16预测模式,3)如果在步骤1中选择了4×4编码类型,则基于预测模式之间的位置关系,利用传统的方法或者改进的4×4预测模式搜索算法,选择4×4预测模式用于宏块的16个4×4模块的每个。
文档编号H04N7/50GK101945279SQ20101028653
公开日2011年1月12日 申请日期2005年6月27日 优先权日2004年6月27日
发明者童歆, 聂小春 申请人:苹果公司