CN1809161B - 对编码视频数据选择编码类型和预测模式 - Google Patents
对编码视频数据选择编码类型和预测模式 Download PDFInfo
- Publication number
- CN1809161B CN1809161B CN 200510079996 CN200510079996A CN1809161B CN 1809161 B CN1809161 B CN 1809161B CN 200510079996 CN200510079996 CN 200510079996 CN 200510079996 A CN200510079996 A CN 200510079996A CN 1809161 B CN1809161 B CN 1809161B
- Authority
- CN
- China
- Prior art keywords
- predictive mode
- distortion
- type
- coding
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在本发明中,提供了一种用于确定视频帧的宏块的编码类型和预测模式的方法。在一些实施方式中,一般的方法1)利用编码类型选择算法(基于容易计算的宏块的属性)选择最初为宏块考虑的编码类型(16×16或4×4),2)如果在步骤1选择了16×16编码类型,则基于失真阈值,利用传统的方法或者改进的16×16预测模式搜索算法,考虑可以用在宏块上的四种16×16预测模式,3)如果在步骤1中选择了4×4编码类型,则基于预测模式之间的位置关系,利用传统的方法或者改进的4×4预测模式搜索算法,选择4×4预测模式用于宏块的16个4×4模块的每个。
Description
技术领域
本发明涉及对于编码视频数据选择编码类型和预测模式。
背景技术
视频流是由一列视频帧所组成的,其中每帧由多个宏块组成。每个宏块典型地是16×16的像素阵列,尽管其它大小的宏块也是可能的。视频编解码器(压缩器-解压缩器)是压缩算法的软件、硬件或者软件和硬件结合的实现,其中所述的压缩算法用来编码/压缩以及解码/解压缩视频数据流以减小流的大小,为了能更快地传输以及更小的存储空间。虽然有损耗,在压缩视频流的二进制数据的同时,视频编解码器试图保持图像的质量。普通的视频编解码器的实例包括WMV、RealVideo以及压缩标准,诸如MPEG-2、MPEG-4、H.261、H.263和H.264的实现。
在H.264压缩标准下,视频帧的宏块可以在内部编码为16×16的像素阵列,该阵列的像素值是利用以前编码的宏块计算的值预测的。16×16的宏块也可以内部编码为16个4×4的像素阵列,其中每个4×4的阵列中的像素值是利用以前编码的4×4的阵列计算的值预测的。存在4种可能的16×16阵列(亮度(luma)模块)内部预测模式以及9种可能的4×4阵列(亮度模块)内部预测模式。
同样,在编码宏块中,必需做出两个决定(选择):1)是否该宏块将被编码为16×16阵列(称作16×16编码)或者被编码为16个4×4阵列(称作4×4编码),以及2)用于编码宏块的预测模式。例如,如果决定将宏块编码为16×16阵列,也必须决定将使用16×16阵列的四个预测模式中的哪一个。如果决定将宏块编码为16个4×4阵列,也必须决定对于16个4×4阵列的每个,将使用4×4阵列的9个预测模式中的哪一个。在这里步骤1称作编码类型选择,并且步骤2称作预测模式选择。
利用成本函数来做出编码类型选择以及预测模式选择。例如,成本函数典型地用于决定是否将宏块编码为16×16阵列或编码为16个4×4阵列,其中选择具有最低成本的编码的类型(16×16或4×4编码)。成本典型地等于失真或者失真的加权平均加上由预测模式生成的比特的数量的估计,其中失真和/或比特数量的增加会增加成本。失真反映了原始像素值和预测的(或编码的)值之间的差异,并且失真可以以不同的方法来测量。例如,失真可以测量为原始像素值和预测的(或编码的)值之间的绝对差值的和。
选择宏块的最优编码类型(16×16或4×4编码)以及最优预测模式的穷举搜索方法包括确定宏块中所有4个16×16预测模式的以及16个4×4模块的9种4×4预测模式的所有组合的成本,其中选定成本最低的16×16预测模式或4×4预测模式的特定组合。对于每个宏块,穷举搜索方法需要考虑4×4预测模式的9^16不同的组合,使得穷举搜索方法实际上不可实行。
同样,典型地执行下列的操作以确定宏块的编码类型和预测模式:
1)计算所有4种可能16×16预测模式的成本。
2)对于每个16个4×4模块,选择具有最小成本的预测模式(在9种预测模式中),然后计算结果的组合的总成本(例如,16种确定的成本的和)。
3)将在步骤1确定的成本与在步骤2确定的成本进行对比,并选择最低的一个。该选择提供了编码的类型选择以及预测模式选择。
然而传统的方法依然包括确定4×4预测模式的9×16种不同的组合的成本加上4个16×16预测模式的成本。
发明内容
在一些实施方式中,提供了一种更有效的方法来确定视频帧中宏块的编码类型的选择以及预测模式的选择。在一些实施方式中,一般的方法1)利用编码类型选择算法(基于容易计算的宏块的属性)选择最初为宏块考虑的编码类型(16×16或4×4),2)如果在步骤1选择了16×16编码类型,则基于失真阈值,利用传统的方法或者改进的16×16预测模式搜索算法,考虑可以用在宏块上的四种16×16预测模式,3)如果在步骤1中选择了4×4编码类型,基于预测模式之间的位置关系,利用传统的方法或者改进的4×4预测模式搜索算法,选择用于宏块的16个4×4模块的每个的4×4预测模式。
附图说明
图1是选择像素宏块的编码类型和预测模式的一般方法的流程图。
图2是用于选择像素宏块的编码类型的编码类型选择方法的流程图。
图3是用于选择16×16像素宏块的预测模式的预测模式搜索方法的流程图。
图4描述4×4阵列的9种预测模式之间的逻辑/位置关系的概念图表。
图5是用于选择宏块4×4阵列的预测模式的4×4预测模式搜索方法的流程图。
图6是用于选择宏块4×4阵列的预测模式的可替换的4×4预测模式搜索方法的流程图。
图7表示计算机系统,利用该计算机系统实施本发明的一些实施方式。
具体实施方式
序列号为60/583447,于2004年6月27日公开的美国临时专利申请“编码和解码图像”在此通过引用清楚地结合。
在以下的描述中,为了解释,阐述了多个细节。但是,本领域的普通技术人员将理解不用这些特定的细节也可以实现本发明。在其它的实例中,为了不使不必要的细节描述模糊本发明的说明,已知的结构和设备以框图的形式表示。
在一些实施方式中,本发明提供了一种更有效的方法来确定视频帧中宏块的编码类型的选择以及预测模式的选择。在一些实施方式中,一般的搜索算法执行以下操作
1)利用编码类型选择算法(基于容易计算的宏块的属性)选择最初为宏块考虑的编码类型(16×16或4×4)。编码类型选择算法在下面部分I中进行讨论。
2)如果在步骤1选择了16×16编码模式,基于失真阈值,利用传统的方法或者改进的16×16预测模式搜索算法,考虑(即,测试)可以用在宏块上的四种16×16预测模式。注意在16×16预测模式搜索算法的一种特定情形中,也可以选择4×4编码类型。该步骤在以下部分II中进行讨论。
3)如果在步骤1中选择了4×4编码类型,基于预测模式之间的位置关系(在以下部分III中对其进行讨论),利用传统的方法或者改进的4×4预测模式搜索算法,选择4×4预测模式用于宏块的每个16个4×4模块。
注意在搜索算法的步骤1中,如果编码类型选择算法选择16×16编码类型用于初始考虑,最终选择的编码类型可以是16×16编码类型或4×4编码类型。相反,如果编码类型选择算法选择4×4编码类型用于初始考虑,则将4×4编码类型有效地选择为宏块的编码类型。如果选择16×16编码类型用于初始考虑,传统的方法或者改进的16×16预测模式搜索算法用于确定宏块的预测模式。如果选择4×4编码类型用于初始考虑,则传统的方法或者改进的4×4预测模式搜索算法用于确定宏块的预测模式。同样,根据由搜索算法选择的用于初始考虑的编码类型,使用不同的搜索算法(传统的或改进的)来确定预测模式。
图1是选择像素宏块的编码类型和预测模式的一般方法100的流程图。在一些实施方式中,通过设置来编码视频帧的软件和/或硬件实现一般方法100。当其接收(在102)像素宏块时,该方法开始。在一些实施方式中,宏块是16×16像素阵列,而在其它的实施方式中,该宏块是不同尺寸的像素阵列。在一些实施方式中,将该宏块分成4个8×8阵列或16个4×4阵列,而在其它的实施方式中,将宏块分成不同尺寸的块/阵列。
利用编码类型选择方法200(以下参照附图2进行讨论),该方法然后选择(在105)最初为宏块考虑的编码类型(16×16或4×4)。该方法然后确定(在110)是否已经选择了4×4编码类型。如果是,则该方法随后利用传统的方法、改进的4×4预测模式搜索方法500(以下参照附图5进行讨论),或者可选4×4预测模式搜索方法600(以下参照附图6进行讨论),选择(在115)宏块的16个4×4模块的每个的预测模式。
如果该方法确定(在110-否)没有选择4×4编码类型,则该方法选择(在120)16×16预测模式(利用传统的方法或改进的16×16预测模式搜索方法300,以下将参照附图3进行讨论)或4×4编码类型。该方法然后确定(在125)是否已经选择了4×4编码类型(在120)。如果是,该方法继续步骤115,其中在步骤115选择宏块的16个4×4模块的每个的预测模式。如果该方法确定(在125-否)没有选择4×4编码类型,这表示已经选择了特定的16×16预测模式。然后该方法结束。
部分I:编码类型选择算法
该部分描述了一般搜索算法的步骤1的编码类型选择算法。编码类型选择算法选择最初为宏块考虑的编码类型(16×16或4×4)并从而确定哪个预测模式(16×16模式或4×4模式)是最初为宏块考虑的。编码类型选择算法利用易于确定的宏块的属性。
编码类型选择算法执行下列操作:
1)将宏块分成4个8×8模块。
2)计算每个8×8模块的方差,并将其与预定的阈值进行对比。例如,可以将预定的阈值设置成等于帧中所有的8×8模块平均方差,在所述帧中包括宏块。可以确定8×8模块的方差,例如通过a)确定模块中的所有像素值的平均值,b)为模块中的每个像素确定:(像素值-平均值)^2,以及c)对在步骤b确定的所有值求和(即,对模块中的所有像素的确定的值求和)。
3)确定宏块中具有低于预定阈值的方差的8×8模块的数量(其中方差是用于确定是否将宏块编码为16×16模块或4×4模块的属性)。
4)如果所有的4个8×8模块具有低于预定阈值的方差,则为初始考虑选择16×16编码类型。注意,如果16×16编码类型被选择为初始考虑,则最终选择的编码类型可以是16×16编码类型或4×4编码类型。可以利用传统的方法或改进的16×16预测模式搜索算法(如以下部分II中所述),选择用在宏块上的16×16预测模式。
5)如果4个8×8模块的任一个具有超过预定阈值的方差,则选择4×4编码类型。同样,利用传统的方法或者改进的4×4预测模式搜索算法(如以下部分II所述),来确定将用在宏块的16个4×4模块的每个上的4×4预测模式。
注意当用在编码进程的量化步骤中使用的量化参数值相对高时(例如,高于34),编码类型选择算法的操作稍微偏离上述的说明。在这些实施方式中,预定的阈值由取决于量化参数值(QP)的因子来依比例确定,使得当量化参数值增加时,预定的阈值就增加。在一些实施方式中,定比的因子由以定比的方程的形式确定:(1+k(QP-34)),其中k是常量。在其它的实例中,定比的因子由另一个定比方程确定。预定的阈值乘以被确定的定比因子以生成成比例的阈值。
在这些实施方式中,如果4个8×8模块的任一个具有超过成比例的阈值的方差,则将宏块编码为16个4×4模块。可以利用传统的方法或本发明的方法(诸如改进的4×4预测模式搜索算法)来做出选择。然而,如果确定宏块的所有的4个8×8模块具有低于成比例的阈值的方差,可以将宏块编码为16×16模块或编码为16个4×4模块。可以利用传统的方法或改进的16×16预测模式搜索算法(如以下部分II所述),选择16×16预测模式用在宏块上。如果选择4×4编码类型优于已选定的16×16预测模式,则可以利用传统的方法或本发明的方法(诸如改进的4×4预测模式搜索算法)来选择4×4预测模式。
附图2是用于选择像素宏块的编码类型的编码类型选择方法200的流程图。在一些实施方式中,方法200是由设计用来编码视频帧的软件和/硬件来实现的。在一些实施方式中,编码类型选择方法200包括附图1的步骤105。方法200从确定宏块的阈值方差(在205)开始。在一些实施方式中,将阈值方差设置成等于帧中的所有8×8模块的平均方差,在所述的帧中包括有宏块(如上所述)。在另外的实施方式中,当用在编码进程的量化步骤的量化参数值相对高时,预定的阈值方差由取决于量化参数值的因子来依比例确定(如上所述)。
该方法然后将宏块分成4个8×8模块(在210)并且确定4个8×8模块的每个的方差(在215)。该方法然后确定是否所有的4个8×8模块的方差低于阈值方差(在220)。如果是,则该方法选择宏块的16×16编码类型(在225),并且结束。如果不是,则该方法选择宏块的4×4编码类型(在230),并且结束。
部分II:16×16预测模式搜索算法
在一般的搜索算法的步骤1之后,如果16×16编码类型已被选择为初始考虑,则然后对16×16预测模式进行测试。该选择描述了一般搜索算法的步骤2。在H.264编解码标准下,存在四个可能的16×16内部预测模式来从:DC、V(垂直)、H(水平)以及P(平面的)中选择。在一些实施方式中,使用传统的方法来选择16×16预测模式(例如,通过确定4个16×16预测模式的每个的成本并选择最低成本的模式)。在其它的实施方式中,基于由预测模式导致的失真,使用改进的16×16预测模式搜索算法来考虑(即测试)宏块的16×16预测模式。
在一些实施方式中,16×16预测模式搜索算法使用传统的方法来确定由特定的预测模式导致的失真,所述的特定的预测模式用在了当前处理的宏块中。在传统的方法下,失真的确定是由:1)从邻接的以前编码的宏块检索像素值,2)从检索到的像素值获得新的值,3)利用获得的值计算当前处理的宏块的预测值,以及4)确定当前处理的宏块的原始像素值和计算的预测值之间的失真。利用传统的方法来确定失真是耗费时间的。
在其它的实施方式中,16×16预测模式搜索算法利用更快的估计方法来确定由特定的预测模式导致的失真,所述的特定的预测模式用在了当前处理的宏块中。该估计方法提供对预测值的估计(评估)并且然后确定被估计的预测值的失真,其中所述的预测值是由特定的预测模式生成的。
在估计方法下,利用来自于当前处理的宏块自身的像素值来确定预测值,假定当前处理的宏块在边界处的像素值与邻接的宏块的邻近的像素值相似。由于所使用的来自于当前处理宏块的像素值不同于来自于其它宏块的像素值,这减小了检索的时间,所以利用估计方法确定失真耗费的时间较少。利用估计方法显著减小了需要确定精度损失较低的失真值的时间。
在一些实施方式中,估计方法的伪码如下:
choose16×16mode()
{
step1:
//DC预测
pred=当前宏块的左列和上排的像素平均
foreach 4×4block
{
SAD_DC=sad(4×4block,pred);
if(SAD_DC>T)
{
bail and goto step2;
}
}
choose 16×16DC mode and return
step2:
//垂直预测
foreach 4×4block
{
SAD_V=0;
foreach column in the 4×4block
{
pred=当前宏块的该列的上排的像素值
SAD_V+=sad(4×4block column,pred);
}
SAD_V>>=4;
if(SAD_V>T)
{
bail and goto step3;
}
}
choose 16×16V and return
Step3:
//水平预测
foreach 4×4block
{
SAD_H=0;
foreach row in the 4×4block
{
pred=当前宏块的该排的左列的像素值
SAD_H+=sad(4×4block row,pred);
}
SAD_H>>=4;
if(SAD_H>T)
{
choose 16×16planar and 4×4modes and return
}
}
choose 16×16H and return
}
不论用什么方法计算特定预测模式的失真,16×16预测模式搜索算法执行下列操作:
1)测试16×16DC预测模式:
a)确定由16×16DC预测模式导致的宏块的每个4×4模块中的失真。
b)如果每个4×4模块中的失真低于预定的阈值,则选择16×16DC预测模式作为该宏块的预测模式,并且16×16预测模式搜索算法结束。
c)如果任一个4×4模块中的失真超过预定的阈值,则16×16预测模式搜索算法继续到步骤2。
2)测试16×16V预测模式:
a)确定由16×16V预测模式导致的宏块的每个4×4模块中的失真。
b)如果每个4×4模块中的失真低于预定的阈值,则选择16×16V预测模式作为该宏块的预测模式,并且16×16预测模式搜索算法结束。
c)如果任一个4×4模块中的失真超过预定的阈值,则16×16预测模式搜索算法继续到步骤3。
3)测试16×16H预测模式:
a)确定由16×16H预测模式导致的宏块中每个4×4模块的失真。
b)如果每个4×4模块的失真低于预定的阈值,则选择16×16H预测模式作为该宏块的预测模式,并且16×16预测模式搜索算法结束。
c)如果任一个4×4模块中的失真超过预定的阈值,则16×16预测模式搜索算法考虑16×16P预测模式以及4×4编码类型。在一些实施方式中,通过利用4×4预测模式搜索算法(在以下部分III讨论),使得两个上述选项之间的选择变得容易。在其它的实施方式中,利用传统的方法(例如通过确定16×16P预测模式的成本和利用4×4编码类型得到的最低成本并且选择具有最低成本的选项)来在两个上述选项之间做出选择。
图3是16×16预测模式搜索方法300的流程图,用于选择16×16像素宏块的预测模式。在一些实施方式中,该方法300是由设置来编码视频帧的软件和/或硬件来实现的。在一些实施方式中,编码类型选择方法300包括图1的步骤120。在一些实施方式中,16×16预测模式搜索方法利用传统的方法或改进的估计方法来确定宏块中由特定的预测模式(如上所述)导致的4×4模块的失真。
方法300从确定由16×16DC预测模式导致的宏块的16个4×4模块中的每个的失真开始(在305)。该方法然后确定由16×16DC预测模式导致的所有4×4模块中的失真是否低于预定的阈值失真(在310)。如果是,就选择16×16DC预测模式作为宏块的预测模式(在315),并且该方法结束。
如果该方法300确定由16×16DC预测模式导致的任一个4×4模块中的失真不低于预定的阈值失真(在310-否),则该方法确定由16×16V预测模式导致的宏块的16个4×4模块的每个中的失真(在320)。该方法然后确定由16×16V预测模式导致的所有4×4模块中的失真是否低于预定的阈值失真(在325)。如果是,就选择16×16V预测模式作为宏块的预测模式(在330),并且该方法结束。
如果方法300确定由16×16V预测模式导致的任一4×4模块中的失真不低于预定的阈值失真(在325-否),则该方法确定由16×16H预测模式导致的宏块的16个4×4模块中每个的失真(在335)。该方法然后确定由16×16H预测模式导致的所有4×4模块中的失真是否低于预定的阈值失真(在340)。如果是,就选择16×16H预测模式作为宏块的预测模式(在345),并且该方法结束。
如果方法300确定由16×16H预测模式导致的任一4×4模块中的失真不低于预定的阈值失真(在340-否),则该方法在设置16×16P预测模式作为宏块的预测模式或者为宏块设置4×4编码类型之间做出选择(在350)。在一些实施方式中,通过使用4×4预测模式搜索方法500(以下参照附图5讨论),可使上述的两个选项之间的选择变得容易。在其它的实施方式中,利用传统的方法(如上所述)在上述的两个选项之间做出选择。然后该方法结束。
部分III:4×4预测模式搜索算法
在一般的搜索算法的步骤1之后,如果4×4编码类型已选择为初始考虑,则然后为宏块的16个4×4模块的每个选择4×4预测模式。该部分描述一般搜速算法的步骤3。在一些实施方式中,使用传统的方法来选择每个4×4模块的4×4预测模式(例如,通过确定9个预测模式中每个模式的成本并且选择最低成本的模式)。在其它的实施方式中,改进的4×4预测模式搜索算法用于选择4×4模块的4×4预测模式。
如上所述,视频流由一列视频帧所组成,其中每个帧由多个宏块组成。宏块典型地是16×16的像素阵列(尽管其它尺寸的宏块也是可能的)并被分成分区(诸如4×4的像素阵列的分区)。在H.264编解码标准下,当内部编码帧时,存在9种不同的方法来编码4×4阵列(即,存在9种内部4×4预测模式)。这9种模式是:
1.内部_4×4_水平
2.内部_4×4_垂直
3.内部_4×4_斜_下_左
4.内部_4×4_斜_下_右
5.内部_4×4_垂直_右
6.内部_4×4_水平_下
7.内部_4×4_垂直_左
8.内部_4×4_水平_上
每个4×4阵列只以一种预测模式来编码。典型地,将会选择导致最低成本的预测模式。成本典型地等于失真(其中失真反映了原始像素值和编码的预测值之间的差异)或者失真的加权平均和由预测模式生成的比特数(其中失真和/或比特数的增加会增加成本)。可以在所有9个预测模式中执行穷举搜索,以确定具有最低成本的最优的预测模式(选定的预测模式)。然而,典型地,在所有9个预测模式中的穷举搜索并不是有效的(耗费太多的时间和处理资源)。
在一些实施方式中,使用了一种更有效的方法来确定像素阵列的预测模式。在一些实施方式中,使用一种搜索算法,该算法在确定像素阵列的预测模式中考虑减小数量的预测模式。该搜索算法更有效并且产生相对低的精度损失。
该搜索算法是基于4×4阵列的9中可能的预测模式之间的逻辑/位置关系。图4示出4×4阵列的9种预测模式之间的逻辑/位置关系的概念图表。如图4所示,8种预测模式(0、1、3、4、5、6、7和8)围绕圆环设置,其中一个预测模式(2)放置在圆环的中央,预测模式由节点表示。圆环上的两个预测模式相互越接近,两个预测模式之间的逻辑/位置关系就越强。同样,圆环上两个预测模式之间彼此相距越远,两个预测模式之间的逻辑/位置关系就越弱。例如,由于预测模式0和5在圆环上相互邻接,所以这表示这两个预测模式之间存在较强的逻辑/位置关系。作为又一个实例,由于预测模式0和1是在圆环上相对的位置,这表示这两个预测模式之间存在较弱的逻辑/位置关系。预测模式2位于圆环的中央,表示它与其它任何一个预测模式都没有逻辑/位置关系。
图4的概念图表是基于内部编码4×4阵列的H.264编解码标准。对于当前处理的4×4阵列,H.264标准下的预测模式表示另外一个4×4阵列(在此称作预测阵列)的位置(相对于当前处理的4×4阵列),其是基于对当前处理的阵列编码的预测信息。例如,预测模式0(垂直)表示当前处理的阵列的预测阵列是位于当前处理的阵列之上,预测模式1(水平)表示当前处理的阵列的预测阵列是位于当前处理的阵列左侧。
同样,可以访问预测模式之间的逻辑/位置关系的强弱(基于由与当前处理的4×4阵列有关的预测模式表示的位置关系)。例如,由于位于当前处理的阵列之上的预测阵列(由预测模式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),其中变量n用于表示确定的序数。这些操作可以由如下的等式来表示:
n=GetInlOfMinCost(0,1,2,3,4)
其中GetInlOfMinCost是函数,其确定预测模式组中(例如,0,1,2,3,和4)每个预测模式的成本,并且确定组中具有最低成本的预测模式的序数。
搜索算法然后执行下列操作:
Ifn==2
x=2
Else Ifn==0
x==GetInlOfMinCost(7,0,5)
Else Ifn==1
x==GetInlOfMinCost(8,1,6)
Else Ifn==3
x==GetInlOfMinCost(7,3,8)
Else Ifn==4
x==GetInlOfMinCost(5,4,6)
其中x是最终选定为像素阵列的最优预测模式(选定的预测模式)的预测模式的序号。
同样,搜索算法确定n是否等于2。如果是,选定的搜索模式就是预测模式2。如果n不等于2,搜索算法然后确定n是否等于0。如果是,选定的预测模式就是具有预测模式组(7,0,5)的最低成本的预测模式。如果n不等于0,搜索算法然后确定n是否等于1。如果是,选定的预测模式就是具有预测模式组(8,1,6)的最低成本的预测模式。如果n不等于1,搜索算法然后确定n是否等于3。如果是,选定的预测模式就是具有预测模式组(7,3,8)的最低成本的预测模式。如果n不等于3,搜索算法然后确定n是否等于4。如果是,选定的预测模式就是具有预测模式组(5,4,6)的最低成本的预测模式。
图5是4×4预测模式搜索方法500的流程图,该方法选择宏块的4×4阵列的预测模式。在一些实施方式中,方法500是由设置用来编码视频帧的软件和/或硬件来实现的。在一些实施方式中,4×4预测模式搜索方法500包括图1的步骤115。
方法500从将宏块分成16个4×4阵列开始(在505)。该方法然后将第一个4×4阵列设置成用于处理的当前的4×4阵列(在510)。对于当前的4×4阵列,方法500然后确定每个预测模式0、1、2、3和4的成本(在515)。该方法确定具有最低成本的预测模式是2。如果是,该方法将预测模式2设置为当前的4×4阵列的预测模式(在525)。该方法然后确定是否在宏块中存在多个4×4阵列需要处理(在585)。如果是,该方法将下一个4×4阵列设置为当前的4×4阵列(在590),并且继续步骤515。如果不是,该方法结束。
如果该方法确定具有最低成本的预测模式不是预测模式2(在520-否),则该方法然后确定具有最低成本的预测模式是否是预测模式0(在530)。如果是,该方法随后确定每个预测模式7、0和5的成本(在535)。该方法然后将(预测模式7、0和5中)具有最低成本的预测模式设置为(在540)当前4×4阵列的预测模式。该方法然后继续步骤585。
如果该方法确定具有最低成本的预测模式不是预测模式0(在530-否),则该方法然后确定具有最低成本的预测模式是否是预测模式1(在545)。如果是,该方法然后确定每个预测模式8、1和6的成本(在550)。该方法然后将(预测模式8、1和6中)具有最低成本的预测模式设置为当前4×4阵列的预测模式(在555)。该方法然后继续步骤585。
如果该方法确定具有最低成本的预测模式不是预测模式1(在545-否),则该方法然后确定具有最低成本的预测模式是否是预测模式3(在560)。如果是,则该方法确定每个预测模式7、3和8的成本(在565)。该方法然后将(预测模式7、3和8中)具有最低成本的预测模式设置为当前4×4阵列的预测模式(在570)。该方法然后继续步骤585。
如果该方法确定具有最低成本的预测模式不是预测模式3(在560-否),则表示具有最低成本的预测模式是预测模式4。该方法然后确定每个预测模式5、4和6的成本(在575)。该方法然后将(预测模式5、4和6中)具有最低成本的预测模式设置为当前4×4阵列的预测模式(在580)。该方法然后继续步骤585。
在一些实施方式中,方法500选择宏块的4×4阵列的预测模式,其中每个4×4阵列的预测模式选择取决于宏块中一个或多个其它4×4阵列的前一个预测模式的选择。在这些实施方式中,宏块的每个4×4阵列的预测模式的选择取决于其上方和左侧相邻4×4阵列的编码值(以及从而选定的预测模式)。因此,在这些实施方式中,方法500选择从左上部的4×4阵列开始的预测模式,接下来是右侧的,然后是向下的。给出以前选定的上方和左侧的相邻的4×4阵列的预测模式,方法500随后选择当前正在处理的4×4阵列的具有最低成本的预测模式(在9种预测模式中)。为了这样做,方法500例如可以计算最后得到的组合的总体成本(即16种确定的成本的成本和)。
A:可选的预测模式搜索算法
在可选的实施方式中,可选的预测模式搜索算法执行另外一组操作。最初,可选的搜索算法确定预测模式组(0,1,3和4)中具有最低的成本的预测模式的序数,其中变量a用于表示确定的序数。可选的搜索算法也确定预测模式组(0,1,3和4)中具有次最低的成本的预测模式的序数,其中b用于表示确定的序数。而且,可选的搜索算法确定预测模式组(0,1,2,3和4)中具有最低的成本的预测模式的序数,其中变量n用于表示确定的序数。
这些操作可以由以下的等式来表达。
a=GetInlOfMinCost_a(0,1,3,4)
b=GetInlOfSecondMinCost_b(0,1,3,4)
n=GetInlOfMinCost(0,1,2,3,4)
其中GetInlOfSecondMinCost是函数,其确定预测模式组中(例如,0,1,3和4)中每个预测模式的成本,并且确定组中的具有次最低成本的预测模式的序数。
搜索算法然后执行下列操作:
Ifn==2
x=2
Else If(a,b)==(0,4)or(4,0)
x==GetInlOfMinCost(0,5,4)
Else If(a,b)==(4,1)or(1,4)
x==GetInlOfMinCost(4,6,1)
Else If(a,b)==(1,3)or(3,1)
x==GetInlOfMinCost(1,8,3)
Else If(a,b)==(3,0)or(0,3)
x==GetInlOfMinCost(3,7,0)
Else
x==n
其中x是最终选定为像素阵列的最优预测模式(选定的预测模式)的预测模式的序号。
同样,可选的搜索算法确定n是否等于2。如果是,选定的搜索模式就是预测模式2。如果n不等于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是可选的4×4预测模式搜索方法600的流程图,其中所述的方法选定宏块的4×4阵列的预测模式。在一些实施方式中,4×4预测模式搜索方法600包括图1的步骤115。
方法600从将宏块分成16个4×4阵列开始(在605)。该方法然后将第一个4×4阵列设置成用于处理的当前的4×4阵列(在610)。对于当前的4×4阵列,方法600然后确定每个预测模式0、1、2、3和4的成本(在615)。该方法将变量a设置成等于具有预测模式0、1、3和4中最低成本的预测模式的预测指数(在616)。该方法将变量b设置成等于具有预测模式0、1、3和4中次最低成本的预测模式的预测模式指数(在617)。该方法将变量n设置成等于具有预测模式0、1、2、3和4中最低成本的预测模式的预测模式指数(在618)。
该方法确定n是否等于2(在620)。如果是,则该方法将预测模式2设置成当前4×4阵列的预测模式(在625)。该方法然后确定是否在宏块中存在多个将被处理的4×4阵列(在685)。如果是,则该方法将下一个4×4阵列设置成当前的4×4阵列(在690),并继续步骤615。否则,该方法结束。
如果该方法确定n不等于2(在620-否),则该方法然后确定条件是否(a等于0并且b等于4或者反之亦然)为真(在630)。如果是,则该方法然后确定预测模式0、5和4的每个的成本(在635)。该方法然后将(预测模式0、5和4中)具有最低成本的预测模式设置成当前4×4阵列的预测模式(在640)。该方法然后继续到步骤685。
如果该方法确定条件(a等于0并且b等于4或者反之亦然)非真(在630-否),则该方法确定条件(a等于4并且b等于1或者反之亦然)是否为真(在645)。如果是,该方法然后确定每个预测模式4、6和1的成本(在650)。该方法然后将(预测模式4、6和1中)具有最低成本的预测模式设置成当前4×4阵列的预测模式(在655)。该方法然后继续到步骤685。
如果该方法确定条件(a等于4并且b等于1或者反之亦然)非真(在645-否),则该方法确定条件(a等于1并且b等于3或者反之亦然)是否为真(在660)。如果是,该方法然后确定每个预测模式1、8和3的成本(在665)。该方法然后将(预测模式1、8和3中)具有最低成本的预测模式设置成当前4×4阵列的预测模式(在670)。该方法然后继续到步骤685。
如果该方法确定条件(a等于1并且b等于3或者反之亦然)非真(在660-否),则该方法确定条件(a等于3并且b等于0或者反之亦然)是否为真(在672)。如果是,则该方法然后确定每个预测模式3、7和0的成本(在675)。该方法然后将(预测模式3、7和0中)具有最低成本的预测模式设置成当前4×4阵列的预测模式(在680)。该方法然后继续到步骤685。如果该方法确定条件(a等于3并且b等于0或者反之亦然)非真(在672-否),该方法然后将该预测模式设置成等于由变量n(在步骤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相连接。
只读存储器(ROM)720存储由处理器710和计算机系统的其它模块所需要的静态数据和指令。另一方面,永久存储设备725是读写存储设备。该设备是非易失性存储器单元,即使计算机系统700关闭时其也存储有指令和数据。一些实施方式利用海量存储设备(诸如磁盘或光盘及其相应的磁盘驱动器)作为永久存储设备725。其它的实施方式利用可移动的存储设备(诸如软盘或盘,及其相应的磁盘驱动器)作为永久存储设备。
和永久存储设备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的任何或所有部件可以结合一些实施方式一起使用。然而,本领域的普通技术人员将理解任何其它的系统配置也可以用在其它的实施方式中。
根据多个特定的细节对本发明进行了说明,本领域的普通技术人员将认识到在不背离本发明的精神的情况下,可以以其它特定的形式来实现本发明。例如,以上通过参照宏块对本发明的多个实施方式进行了描述。本领域的普通技术人员将认识到这些实施方式可以用在任何其它的像素阵列中。
Claims (25)
1.一种用于选择视频帧的像素值模块的编码类型的方法,该模块包括像素值的多个子模块,该方法包括:
计算所述模块的每个子模块的像素值的方差;
确定所述计算的所述模块的所有子模块的方差是否小于预定的阈值方差;以及
基于所述确定选择所述模块的编码类型,其中所述编码类型指定模块的分区,该分区的尺寸不同于为其计算方差的每一个子模块的尺寸。
2.根据权利要求1所述的方法,其中所述选择包括:
当确定所述模块的所有子模块的方差小于所述预定的阈值方差时,选择16×16编码类型;和
当确定所述模块的任何子模块的方差不小于所述预定的阈值方差时,选择4×4编码类型。
3.根据权利要求1所述的方法,其中所述预定的阈值方差等于所述视频帧中所有子模块的平均方差。
4.根据权利要求1所述的方法,其中:
利用具有相关的量化参数值的量化步骤来编码所述视频帧;和
以取决于量化参数值的因子缩放所述预定的阈值方差,使得当所述量化参数值增加时,所述预定的阈值方差增加。
5.根据权利要求1所述的方法,进一步包括选择所述模块的预测模式,该选择包括:
计算所述模块的每个子模块中由第一预测模式导致的第一失真;
确定所述模块的所有子模块中的所述第一失真是否低于预定的阈值失真;以及
当确定所述模块的所有子模块的所述第一失真低于所述预定的阈值失真时,选择所述第一预测模式作为所述模块的选定预测模式。
6.根据权利要求5所述的方法,进一步包括:
当确定所述模块的所有子模块的所述第一失真不低于所述预定的阈值失真时,计算所述模块的每个子模块中由第二预测模式导致的第二失真;
确定所述模块的所有子模块中的所述第二失真是否低于所述预定的阈值失真;以及
当确定所述模块的所有子模块的所述第二失真低于所述预定的阈值失真时,选择所述第二预测模式作为所述模块的选定的预测模式。
7.根据权利要求6所述的方法,进一步包括:
当确定所述模块的所有子模块中的所述第二失真不低于所述预定的阈值失真时,计算所述模块的每个子模块中由第三预测模式导致的第三失真;
确定所述模块的所有子模块中的第三失真是否低于所述预定的阈值失真;以及
当确定所述模块的所有子模块中的第三失真低于所述预定的阈值失真时,选择第三预测模式作为所述模块的选定的预测模式。
8.根据权利要求7所述的方法,其中所述第一、第二和第三预测模式与第一编码类型相关,所述的第一编码类型是为所述模块选择的,该方法进一步包括:
当确定所述模块的所有子模块的第三失真不低于所述预定的阈值失真时,在与第一编码类型相关的第四预测模式和模块的第二编码类型之间进行选择。
9.根据权利要求8所述的方法,其中:
所述第一预测模式包括16×16DC预测模式;
所述第二预测模式包括16×16V预测模式;
所述第三预测模式包括16×16H预测模式;
所述第四预测模式包括16×16P预测模式;
所述第一编码类型包括16×16编码类型;以及
所述第二编码类型包括4×4编码类型。
10.根据权利要求5所述的方法,其中子模块中的所述第一失真反映了所述子模块的原始像素值和由所述第一预测模式生成的子模块的预测值之间的差别,利用所述模块内的像素值确定所述预测值。
11.根据权利要求10所述的方法,其中所述预测值包括估计的预测值。
12.一种用于选择视频帧的像素值模块的编码类型的设备,该模块包括像素值的多个子模块,所述设备包括:
用于计算所述模块的每个子模块的像素值的方差的装置;
用于确定所述模块的所有子模块的计算的方差是否小于预定的阈值方差的装置;以及
用于基于所述确定选择所述模块的编码类型的装置,其中选择编码类型是独立于所述模块的方差值的。
13.根据权利要求12所述的设备,其中所述用于选择的装置包括:
当确定所述模块的所有子模块的方差小于所述预定的阈值方差时,选择16×16编码类型的单元;
当确定所述模块的所有子模块的方差不小于所述预定的阈值方差时,选择4×4编码类型的单元。
14.根据权利要求12所述的设备,进一步包括用于选择所述模块的预测模式的装置,所述用于选择预测模式的装置包括:
用于计算在所述模块的每个子模块中由第一预测模式导致的第一失真的单元;
用于确定所述模块的所有子模块中的第一失真是否低于预定的阈值失真的单元;以及
当确定所述模块的所有子模块中的第一失真低于预定的阈值失真时,选择所述第一预测模式作为所述模块的选定预测模式的单元。
15.一种用于对视频图片的多个像素进行编码的方法,其中所述多个像素包括多个像素组,所述方法包括:
对于每个像素组,计算与该像素组相关的方差值;
基于是否所有方差值满足方差阈值来选择编码类型,其中选择编码类型仅基于所述多个像素组的多个方差值;及
使用选定编码类型,编码所述视频图片的所述多个像素。
16.如权利要求15所述的方法,其中所述多个像素是所述视频图片的宏块,且每个像素组是所述宏块的分区。
17.如权利要求15所述的方法,其中编码类型定义用来对所述多个像素进行编码的像素组尺寸。
18.如权利要求15所述的方法,其中编码类型指定用于对所述多个像素进行编码的预测模式。
19.如权利要求15所述的方法,其中当所有方差值小于所述方差阈值时,选择第一编码类型。
20.如权利要求19所述的方法,其中所述第一编码类型指定使用比所述像素组的至少一个的像素组尺寸更大的像素组尺寸,来对所述多个像素进行编码。
21.如权利要求20所述的方法,其中所述更大的像素组尺寸是16×16像素排列。
22.如权利要求15所述的方法,其中当至少一个方差值不满足所述方差阈值时,选择第一编码类型。
23.如权利要求22所述的方法,其中所述第一编码类型指定使用比用于所述多个像素的像素组尺寸更小的像素组尺寸,来对所述多个像素进行编码。
24.如权利要求23所述的方法,其中所述更小的像素组尺寸是4×4像素尺寸。
25.一种包括用于实现根据权利要求15-24中的任一项的步骤的装置的设备。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58344704P | 2004-06-27 | 2004-06-27 | |
US60/583,447 | 2004-06-27 | ||
US11/070,778 | 2005-03-01 | ||
US11/070,778 US7792188B2 (en) | 2004-06-27 | 2005-03-01 | Selecting encoding types and predictive modes for encoding video data |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910132798 Division CN101540912B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
CN2010102865366A Division CN101945279B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频图像的像素组选择预测模式的方法和设备 |
CN2010102865385A Division CN101945280B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1809161A CN1809161A (zh) | 2006-07-26 |
CN1809161B true CN1809161B (zh) | 2010-11-17 |
Family
ID=36605881
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910132798 Active CN101540912B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
CN 200510079996 Active CN1809161B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
CN 200510092222 Expired - Fee Related CN1750656B (zh) | 2004-06-27 | 2005-06-27 | 编码和解码图像 |
CN 200510079995 Active CN1812579B (zh) | 2004-06-27 | 2005-06-27 | 在视频数据流的编码和解码中存储设备的有效使用 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910132798 Active CN101540912B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510092222 Expired - Fee Related CN1750656B (zh) | 2004-06-27 | 2005-06-27 | 编码和解码图像 |
CN 200510079995 Active CN1812579B (zh) | 2004-06-27 | 2005-06-27 | 在视频数据流的编码和解码中存储设备的有效使用 |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN101540912B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2708268A3 (en) * | 2007-12-05 | 2014-05-14 | OL2, Inc. | Tile-based system and method for compressing video |
US20090274211A1 (en) * | 2008-04-30 | 2009-11-05 | Omnivision Technologies, Inc. | Apparatus and method for high quality intra mode prediction in a video coder |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
CN106231337B (zh) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
BR122020008249B1 (pt) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | herança em amostra de arranjo em subdivisão multitree |
US20120027091A1 (en) * | 2010-07-28 | 2012-02-02 | Wei-Lien Hsu | Method and System for Encoding Video Frames Using a Plurality of Processors |
FR2969456A1 (fr) * | 2010-12-15 | 2012-06-22 | France Telecom | Procedes et dispositifs de codage et de decodage d'au moins une image mettant en œuvre une selection des pixels a predire, programme d'ordinateur correspondant |
US8675731B2 (en) * | 2012-08-13 | 2014-03-18 | Gurulogic Microsystems Oy | Encoder and method |
US10333547B2 (en) | 2012-08-13 | 2019-06-25 | Gurologic Microsystems Oy | Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations |
CN105491376B (zh) * | 2014-10-06 | 2020-01-07 | 同济大学 | 图像编码、解码方法及装置 |
EP3844950A4 (en) * | 2018-08-28 | 2022-05-25 | FG Innovation Company Limited | DEVICE AND METHOD FOR ENCODING VIDEO DATA |
CN109587485A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 视频压缩编码方法 |
CN117812273B (zh) * | 2024-02-29 | 2024-05-28 | 浙江华创视讯科技有限公司 | 视频传输中的图像恢复方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127578A (zh) * | 1993-07-19 | 1996-07-24 | 英国电讯有限公司 | 视频图象中的错误检测 |
CN1131877A (zh) * | 1995-03-20 | 1996-09-25 | 大宇电子株式会社 | 利用基于特征点的运动估算编码视频信号的方法 |
US5576767A (en) * | 1993-02-03 | 1996-11-19 | Qualcomm Incorporated | Interframe video encoding and decoding system |
US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060285A (en) * | 1989-05-19 | 1991-10-22 | Gte Laboratories Incorporated | Hierarchical variable block size address-vector quantization using inter-block correlation |
-
2005
- 2005-06-27 CN CN 200910132798 patent/CN101540912B/zh active Active
- 2005-06-27 CN CN 200510079996 patent/CN1809161B/zh active Active
- 2005-06-27 CN CN 200510092222 patent/CN1750656B/zh not_active Expired - Fee Related
- 2005-06-27 CN CN 200510079995 patent/CN1812579B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5576767A (en) * | 1993-02-03 | 1996-11-19 | Qualcomm Incorporated | Interframe video encoding and decoding system |
CN1127578A (zh) * | 1993-07-19 | 1996-07-24 | 英国电讯有限公司 | 视频图象中的错误检测 |
CN1131877A (zh) * | 1995-03-20 | 1996-09-25 | 大宇电子株式会社 | 利用基于特征点的运动估算编码视频信号的方法 |
US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
Also Published As
Publication number | Publication date |
---|---|
CN101540912A (zh) | 2009-09-23 |
CN1750656A (zh) | 2006-03-22 |
CN1809161A (zh) | 2006-07-26 |
CN101540912B (zh) | 2011-05-18 |
CN1750656B (zh) | 2012-04-18 |
CN1812579A (zh) | 2006-08-02 |
CN1812579B (zh) | 2010-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101945280B (zh) | 对编码视频数据选择编码类型和预测模式的方法和设备 | |
CN1809161B (zh) | 对编码视频数据选择编码类型和预测模式 | |
CN101682774B (zh) | 视频编码方法和解码方法、视频编码装置和解码装置 | |
KR101530284B1 (ko) | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 | |
JP5554831B2 (ja) | 歪みの重み付け | |
US9124289B2 (en) | Predicted pixel value generation procedure automatic producing method, image encoding method, image decoding method, apparatus therefor, programs therefor, and storage media which store the programs | |
CN101014125A (zh) | 用于判定帧内预测模式的方法和设备 | |
CN111741297B (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
CN100542287C (zh) | 用于手持设备的编码的方法 | |
CN102215392B (zh) | 用于估计像素值的帧内预测方法或装置 | |
KR20110067539A (ko) | 화면 내 예측 부호화/복호화 방법 및 장치 | |
CN110035288A (zh) | 对视频序列进行编码的方法、编码装置和存储介质 | |
CN102067602A (zh) | 通过预先确定基准像素族而进行的图像预测、使用这样的预测的编码和解码 | |
AU2021103378A4 (en) | A self-adaptive n-depth context tree weighting method | |
CN110446048B (zh) | 帧内预测场景中预测模式的选取方法及装置 | |
Podder et al. | Efficient video coding using visual sensitive information for HEVC coding standard | |
Xie et al. | Intra Fast Mode Decision Algorithm and Hardware Design for AVS2 | |
Nicolas et al. | Preserving color fidelity in real-time color image compression using a ranking naturalness criterion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |