背景技术
视频序列在时间域和空间域二者中本质上包括较高的统计冗余。一直期望更有效地使用在其上传送这些序列的传送媒介带宽以及减小它们的存储成本的目标很早就对视频压缩造成了问题。标准视频压缩技术一般可以分为两个步骤。第一个步骤的目的是减小空间冗余,并且为此压缩静止画面。画面首先被分为(根据例如MPEG-1/2/4标准,是4×4或8×8的)像素块,转化到频域之后通过量化使得能够近似或删除眼睛比较不敏感的高频,以及最后以熵的形式编码量化的数据。第二个步骤的目的是减小时间冗余。该技术使得能够根据同一序列内先前被编码的一个或多个其他参考画面来预测画面,在描述的剩余部分中称作中间画面。换言之,进行运动的估计。该技术包括在这些参考画面中搜索与待预测的块最佳对应的块,并且仅仅保留对应于这块在两个画面之间的位移的运动估计矢量以及使得能够精化(refine)视觉呈现的残差(residual error)。
为了改进尤其是低比特率和中比特率的编码效率并由此对等效比特率获得解码的视频的更好的视觉质量,已经提出一种称作全局运动补偿的技术,在下面的描述中表示缩写为GMC(Global Motion Compensation)。在现有技术中存在很多用于视频压缩的全局运动的模型。在也称作“MPEG-4部分2”的“MPEG-4Visual”标准中以及DivX或Dirac标准中尤其对这种模型类型进行了介绍。
在所开发的方法中,对于给定的画面,在整个画面或每个区域上估计在所述画面和其参考画面之间的全局运动。以与通过非全局运动补偿(也就是说,用标准编码方法)参考画面相同的方式,通过相关联的全局运动来补偿的参考画面随后变成用于时间预测的可能候选者。当时间预测是多方向时,也就是说其依赖于几个参考画面时,标准标码方法通常依赖于每个块或每几个块的运动矢量的使用。使用GMC的益处是关于画面所应用的地区(zone)的运动信息的成本明显减小。相对于基于每个块的转换矢量的运动的表示法,也改进了时间预测(每个像素而不是每个块一个运动矢量)。
视频编码方案现在使用GMC模型。Steinbach、Wiegand和Girod的题目为“Using multiple global motion models for improved block-based video coding”ICIP 1999,vol.2,pp.56-60,1999年10月的论文详细描述了这种模型类型。对于应用这些模型的每个画面,执行全局运动参数的估计和编码。这在也称作类型B画面和中间画面的双向画面中特别适用,其中在前向和后向的方向连续执行估计和编码。
该方法呈现几个缺点。因为在一个方向上进行一组参数的估计然后在另一个方向上进行另一组参数的估计,所以计算的复杂性是明显的。该估计一般包括识别最小化当前画面(或该画面的一个区域(region))和运动补偿的参考画面(或该画面的一个区域)之间的平均二次误差的全局运动,并且同时得到(proceed)最小二乘的解(resolution)。该估计导致一组参数或矢量,由希腊字母θ表示的。可以使用下面的表达式获得参数θ的矢量的估计
其中p=(x,y)表示像素在画面中的位置,R表示处理区域,B表示待编码的当前画面,Iref表示参考画面,并且(uθ,vθ)表示作为运动全局参数θ的矢量的函数的运动矢量的分量。
在例如精化模型的情形中,θ代表6个参数的矢量,并由此每个全局运动有2×6个待估计的参数,或者6个用于前向运动并且6个用于后向运动的参数。
通常,通过基于泰勒展开的近似来线性化待最小化的函数,这可以通过下面的表达式描述:
其中,Bt、Bx和By分别表示信号B的水平空间和垂直空间时间梯度。最小二乘的解随后在N个等式转为线性系统的解,N对应于全局运动模型的大小。
通常应用最小加权二乘的迭代解,以解决图像采样不响应于全局运动的问题,所述采样通常表示为术语“离群点(outlier)”。在J.W.Tukey的题目为“Explorary Data Analysis”,1977,Addison-Wessley,Reading,MA的论文中可以找到由表达“M-estimator(M-估计器)”表示的该估计器类型的描述。
另一个缺点是由于以下事实:即在一个方向上执行估计,然后再在另一个方向上执行估计。结果,在前面和后面估计的运动参数之间可能存在非相关性。这可能对其中前面的指示符或后面的指示符被局部选择用于中间图像的编码以运动补偿刚性纹理(rigid textures)的方法有特别干扰。这尤其是在Ndjiki-Nya、Hinz、Stüber和Wiegand的题目为“A content-based video codingapproach for rigid and non-rigid textures”,ICIP’06,Altanta,GA,USA,pp.3169-3172,2006年10月份的论文中提出的方法的情形。由于信号的时间波动,即使是很轻微的运动非相关性都会令人不快的视觉效果。
第三个缺点是以下事实的结果:对于前向和后向的两个方向来编码运动参数。如果采用等级类型B GOP(画面组)结构,那么这些参数的编码成本会变得明显。当给定的应用将较低的或很低的传送比特率作为目标时,这可能变成一个问题。
对于涉及使用全局运动补偿(GMC)的视频画面的编码,在常规的方案中,甚至在使用前向和后向预测的混合的双向预测的情形中,通常仅在一个方向上、前向和/或后向应用补偿,这可能在前向和后向补偿的版本之间产生时间非相关性,并且可能在相关的区域上随着时间波动而是视觉显示质量降低,此外,用作参考区域的、根据全局运动重构的中间画面实际不使用前向和后向预测之间的该时间非相关性。现有的编码方案的另一个缺点是必须用信号通知使用全局运动的区域。这通常意味着需要编码关于画面的每个块的信息项。此外,编码残差一般被编码并且如果不是这种情形,必须用信号通知解码器。注意以下也是很重要的:基于GMC技术的解码方法被总体确定并且不能适应执行视频流的解码的终端的复杂性。
本发明的一个目的是克服上述缺点。
发明内容
为此,本发明的目的是一种用于对由画面组GOP组成的视频画面的序列的运动参数进行估计和编码的方法,GOP包括至少两个参考画面和至少一个中间画面,相对于GOP中的至少一个画面或参考画面部分来计算画面或给定画面部分的运动矢量场是基于全局运动参数的矢量的计算的,“后向”参数矢量描述一个画面或给定画面部分与一个画面或在其之前已经被编码的参考画面部分之间的运动矢量场,“前向”参数矢量描述一个画面或给定画面部分与一个画面或在其之后已经被编码的参考画面部分之间的运动矢量场。根据描述两个画面或参考画面部分之间的运动的参数矢量来表达与画面或中间画面部分相关联的“前向”和“后向”参数矢量。
全局运动参数的给定矢量可以包括一对M、T,该对的第一项M对应于维数2×2的矩阵,并且该对的第二项T对应于维数2×1的矩阵。
以如下方式执行给定GOP的两个画面或参考图像部分之间的运动的全局估计:根据表达式XA=(I-M)XC-T来估计链接画面或参考画面部分的像素的全局运动参数的矢量θ=(M,T),
其中:
XA代表在坐标xA和yA处的第一参考画面的像素的位置,以及
XC代表在坐标xC和yC处的第二参考画面(C)的像素的位置。
例如,以如下方式执行相对于给定GOP的两个画面或参考画面的部分的所述GOP的一个画面或中间画面的部分的全局运动“后向”参数矢量θ0=(M0,T0)和“前向”参数矢量θ1=(M1,T1)的估计:根据以下表达式将该画面或中间画面部分的像素连接到画面或参考画面部分的像素:
根据本发明的一个方面,通过验证以下等式:
和
从两个参数α0和α1推导出θ0和θ1,来将一个画面或中间画面部分的“后向”θ0=(M0,T0)和“前向”θ1=(M1,T1)全局运动参数的矢量的估计限制为两个自由度。
可以使用以下表达式获得参数α0的估计
其中:
Sθ(p)=uθ(p).Bx[p]+vθ(p).By[p];以及
Bx[p]和By[p]是中间画面的信号的水平空间和垂直空间梯度,以及
uθ和vθ是根据全局运动参数矢量θ的运动矢量的分量。
例如,仅两个参数α0和α1被编码以代表全局参数矢量θ0和θ1。
根据本发明的另一个方面,通过验证以下等式:
和
从参数α推导出θ0和θ1,来将一个中间画面的“后向”θ0=(M0,T0)和“前向”θ1=(M1,T1)全局运动参数的估计限制为一个自由度。
其中:
Sθ(p)=uθ(p).Bx[p]+vθ(p).By[p];并且
Sθ″(p)=uθ″(p).Bx[p]+vθ″(p).By[p];并且
θ”对应于参数对((I-M)-1×M,(I-M)-1×T),以及
u”θ和v”θ是根据全局运动参数矢量θ”的运动矢量的分量。
例如,仅参数α被编码以代表全局参数矢量θ0和θ1。
本发明的目的还是一种用于至少一个视频序列的编码设备,所述序列由画面组GOP组成,GOP包括至少两个参考画面以及至少一个中间画面。通过计算全局运动参数矢量来估计相对于GOP内的参考画面部分的至少一个画面的画面或给定画面部分的运动矢量场。通过实施根据本发明的用于编码的方法来编码与画面或中间画面部分相关联的“前向”和“后向”参数矢量。
本发明的目的还是一种用于解码由画面组GOP组成的视频画面序列的设备,GOP包括至少两个参考画面和至少一个中间画面。重构相对于GOP内的至少一个画面或一个参考画面部分的画面或给定画面部分的运动矢量的场,从将这些矢量链接到描述两个画面或参考画面部分之间的运动的参数的至少一个矢量的至少一个参数中推导出与画面或中间画面部分相关联的所述场的“前向”θ1=(M1,T1)和“后向”θ0=(M0,T0)参数的矢量,已经预先使用根据本发明的用于编码的方法编码所述参数。
本发明的目的还是一种用于对至少一个数字画面序列进行视频编码的方法,所述序列的画面能够是中间画面或用作编码的参考的关键画面,通过中间画面的运动补偿来进行编码。根据关键画面,按照前向和后向方向,基于全局运动补偿GMC对中间画面每区域地编码,通过合并全局运动补偿的关键画面的区域或通过常规的编码来构建中间画面的区域,根据全局运动补偿的关键画面的区域的信号之间的相关性的测量结果来在合并和常规的编码之间做出选择。
例如,在中间画面之前编码参考画面,并且以能够将GMC类型像素与这些画面的其他像素进行区分的方式来计算与所述画面相关联的至少一个分割图。
可以在编码中间画面之前估计并编码全局运动参数。
根据本发明的一个方面,使用至少全局运动参数从关键画面中推导出运动补偿的关键画面。
可以使用至少运动估计参数,通过变换(transposition)从与关键画面相关联的分割图中推导出与运动补偿的关键画面相关联的分割图。
将待编码的中间画面以及用于其编码的运动补偿的关键画面划分为处理区域,待编码的中间画面的处理区域对应于运动补偿的关键画面的处理区域。
根据本发明的一个实施例,根据运动补偿的关键画面的处理区域中GMC像素的比例来将该运动补偿的关键画面的处理区域分类,所述比例与在0和1之间包括的阈值η比较,当所述比例大于η时区域被分类为“GMC”,并且在相反的情形中区域被分类为“非GMC”。
根据本发明的另一个实施例,从分割图中推导出运动补偿的关键画面的每个区域的GMC像素的比例。
如果用作用于对中间画面的待编码的区域进行编码的参考的、运动补偿的画面中的一个的至少一个区域被分类为“非GMC”,那么对所述区域执行常规编码。
根据本发明的另一个方面,如果用作用于对中间画面的区域进行编码的参考的、运动补偿的画面的区域被分类为“GMC”,那么通过比较全局运动补偿的关键画面的区域的信号来分析所述区域的相关性。
通过考虑对其必须分析相关性的全局补偿参数的关键画面运动补偿的区域应当是例如使用针对最近的像素的精度的转移矢量(translation vector)二次补偿的运动。
使用“块匹配”类型的估计器可以计算二次运动补偿的转移矢量。
根据一个实施例,待编码的区域的平均二次误差D被计算并且以一种方式与预先定义的阈值λ进行比较,以区分具有低局部梯度的区域与具有高局部梯度的区域,如果D小于λ,则区域被视为具有低局部梯度并被分类为“相关的”,并且在相反的情形中被视为具有高局部梯度。
例如使用当前区域的局部梯度的值来计算比平均二次误差D更高的限制S,并且该平均二次误差D与所述限制S进行比较,当D小于该限制时,将当前区域分类为“相关的”,而在相反的情况中分类为“不相关的”。
当待编码的区域被分类为“相关的”时,可以执行运动补偿的关键画面的对应的区域的合并。
例如使用“图像分割”类型的算法执行合并。
根据一个实施例,当正在处理的区域被分类为“不相关的”时,执行所述区域的常规编码。
本发明的目的还是一种用于对至少一个数字画面序列进行视频画面编码的设备,所述序列的画面能够是中间画面或用作编码的参考的关键画面,通过中间画面的运动补偿来进行编码。该编码设备包括用于如下的部件:根据关键画面,按照前向和后向方向,基于全局运动补偿GMC对中间画面每处理区域地编码,通过合并关键画面的对应区域或通过常规的编码来编码中间画面的处理区域,通过分析待编码的区域在合并和常规的编码之间自动地进行选择。
本发明的目的还是一种用于对预先使用根据本发明的用于编码的方法被编码的至少一个数字画面序列进行视频画面解码的设备,所述序列的画面能够是中间画面或用作解码的参考的关键画面,通过中间画面的运动补偿来进行解码。根据解码的关键画面,按照前向和后向方向,基于全局运动补偿GMC对中间画面每区域地解码,通过合并全局运动补偿的关键画面的区域或通过常规的解码来重构中间画面的区域,根据全局运动补偿的关键画面的区域的信号之间的相关性的测量结果来在合并和常规的解码之间做出选择。
本发明尤其具有在通过减小所需的比特率来提高编码效率的同时潜在地提高编码/解码的视频序列的视觉质量的优点。在仅某些前景物体在场景中移动的序列中,相对于现有技术,使用该方法引起压缩的视频流的比特率的明显减小。此外,通过采用该方法限制了因在这些区域中的信号的时间波动而产生的可视假象(artefacts)。
具体实施方式
图1示出包括基于两个参考画面的三个中间画面的GOP的示例。换言之,该示例代表3个级别的分级GOP。两个画面P0和P4用作参考以编码中间画面B1、B2和B3。那么有7组参数以编码每个GOP,θ10和θ14用于画面B1,θ20和θ24用于画面B2,θ30和θ34用于画面B3以及θ40用于画面P4。在该示例中,在参考画面P0和P4之间执行全局运动估计,所述运动估计导致参数集合θ40。
在本发明的范围中,提出当对不同全局运动参数集合进行估计和编码时限制运动参数的自由度。这可以基于两个参考画面之间的全局运动来实施。可以使用随后作为仅仅被估计并被编码以描述前向运动参数和后向运动参数二者的参数的一个或两个参数来表达该限制。
本发明尤其提出一种用于对这些参数进行估计的方法。
图2示出基于两个参考画面对其进行编码的中间画面的情形,以提供本发明的实施例的方式来使用该情形。
中间画面B位于参考画面A和C之间,在参考画面A和C之间已经执行了全局运动的“后向”估计,并且相关联的参数的矢量θ已经被编码。使用的模型是线性模型,也称作精化模型,由下面的表达式表达:
XA=(I-M)XC-T (3)
其中Xk=(xk,yk)代表画面K的像素的位置,K是A、B或C的值,I是维数2×2的单位矩阵,M是维数2×2的矩阵,以及T是元素对应于全局运动参数的维数2×1的矩阵。
此外,可以使用下面的表达式来表达XA和XC:
知道预先已经被估计和编码的θ=(M,T),寻求的一个目标尤其是标识并编码“后向”θ0=(M0,T0)和“前向”θ1=(M1,T1)全局运动参数,同时限制它们的编码成本。另一个目标是确保θ0、θ1和θ之间的相关性,以确保中间画面B中的运动补偿的良好的时间相关性。
为了实现前述的三个目标,可以实施例如两种解决方案类型,一种具有两个自由度,而另一种具有一个自由度。在下面的描述中解释这两种示例。
具有两个自由度的第一实施例具有对参数θ0和θ1施加独立的约束的原理。这些限制施加于成对的(M0,T0)和(M1,T1)以与对(M,T)成比例。通过下面的表达式进行该转移:
其中,θ’=(M’,T’)对应于从A到C的全局运动。那么易于从等式(3)论证M’=I-(I-M)-1以及T’=-(I-M)-1×T。在该情形中,仅两个标量的参数α0和α1必须被估计和编码以表现前向和后向全局运动的特征。
在编码器级别,α
0的运动估计然后转为解决作为α
0的估计的下面的表达式
其中是当前画面和由全局运动θ0补偿的前面画面之间的、并基于当前画面和运动补偿的参考画面之间的差的梯度。
该方程式的解产生以下表达式:
其中Sθ(p)=uθ(p).Bx[p]+vθ(p).By[p]。
在最小加权二乘类型的迭代解中,仅时间梯度
依赖于α。其他项仅在第一迭代中被计算。因为估计单个参数而不是N个,N是运动模型的维数,所以相对于根据表达式(2)完全估计来说该运动估计明显地被简化。
对于α1的估计,其满足在表达式(7)中用θ’替代θ,用θ1替代θ0。
在编码器或解码器级别,知道θ已经预先被编码(或被解码),那么其满足仅编码(或解码)参数
和
而不是编码矢量θ
0和θ
1的一组参数,这大大减小了编码全局运动信息的成本。然后使用等式(5)根据
和θ推导出θ
0和θ
1。
具有一个自由度的本发明的第二实施例具有以下原理:对参数M0和T0施加约束,并根据它们推导出M1和T1的值。在该情形中,仅一个标量参数α必须被估计和编码(或解码),以表现前向和后向全局运动的特征。
然后将M0和T0约束为与M和T成比例。这通过下面的表达式进行转移:
通过组合表达式(3)、(4)和(8),易于通过以下表达式将一对(M1,T1)和一对(M0,T0)连接:
由此,具有编码的(或解码的)α并且知道θ,则表达式(8)和(9)通过θ1推导出θ0。
在编码器,对于α的估计,在基于表达式(7)的同时,仅考虑一个方向来进行次优化解决方案。例如,也可以根据下面的表达式通过考虑两个前向(参数θ0)和后向(参数θ1)运动补偿的画面来做出最优化:
其中,θ″=((I-M)-1×M,(I-M)-1×T)。该方程式的解随后导致以下表达式:
其中,Sθ(p)=uθ(p).Bx[p]+vθ(p).By[p],并且Sθ″(p)=uθ″(p).Bx[p]+vθ″(p).By[p]。
图3示出在描述的剩余部分中称作关键画面的参考画面和中间画面之间的时间依赖性的原理。附图的示例考虑通常由简写GOP(画面组)表示的、由两个关键画面IC0、IC1和一个或多个中间画面INT组成的画面组。根据本发明的用于编码的方法在能够对应于例如一个或多个块或宏块的处理区域中进行操作。
首先对GOP的关键画面IC0和IC1进行编码。根据常规的方法执行编码,也可以实施基于GMC的编码工具。由此,关键画面的一些区域能够利用GMC预测被编码或作为参考,而其他的不能。随后可以在编码器和解码器级别推导出二值分割图,该二值分割图指示区域是否是GMC类型,并由此指示组成该区域的像素是否是GMC类型。
本发明尤其涉及对中间画面INT进行编码。对于给定中间画面的将编码的区域,在下面的描述中假设:表示为GM0和GM1的前向和后向全局运动参数已经预先被估计并且被编码。也可以采用如下假设:重构关键画面IC0和IC1,以充当参考画面,已经被编码的中间画面也可以用作参考画面。最后,通过编码器的判定模块来为每个画面计算二值分割图,并且该二值分割图为参考画面的每个像素指示其是否是GMC类型。
图4提供根据本发明用于进行编码的方法的实施例。
该用于编码的方法可以被分解为几个步骤。
第一步骤200执行关键画面IC0和IC1的全局运动补偿GMC。在输入处使用通过编码器的判定模块或通过解码器的编码模式的解码来预先确定的与关键画面IC0和IC1相关联的分割图S0和S1以及通过运动参数估计模块208预先确定的运动参数GM0和GM1。随后获得画面IG0和IG1,后面这些分别对应于根据运动模块GM0和GM1而运动补偿的画面IC0和IC1。此外,通过根据运动模块GM0和GM1的运动补偿从分割图S0和S1转移出与画面IG0和IG1相关联的两个分割图SG0和SG1。
将待编码的中间画面划分为处理区域。该划分可以是自动的或自适应的。例如,处理区域可以对应于待编码的画面的宏块。然后将后面的步骤应用于待编码的中间画面的每个区域。在描述的剩余部分中,正在被处理的区域称作“当前区域”。
基于分割图SG0和SG1执行对应区域的分类201。每个区域例如与两个可能的分类中的一个相关联。所述分类的每个分别标识“GMC”或“非GMC”区域。因此,对于当前区域,与IG0相关联的变量C0涉及该类别信息。以相同的方式,变量C1与IG1相关联。例如,使用分割图SG0和SG1,通过计数所考虑的区域中的画面的被分类为“GMC”的像素的比例、以及将该比例与包括在0和1之间的给定阈值η进行比较来定义这两种类别。
也可以不使用图S0、S1、SG0和SG1。在该情形中,C0和C1例如被系统地视为“GMC”。
然后验证202,C0和C1是否是GMC类型。在该实施例中,如果C0或C1不是“GMC”类型,则对该区域执行常规编码2032。该常规编码可以例如是空间预测类型,单向时间预测或双向时间预测。常规编码仍可以采用GMC预测,但这将是除了别的以外必须以二进制流用信号通知到解码器的一个模式。
当C0和C1是“GMC”类型时,测试204画面IG0和IG1的所考虑的区域中的相关性。在下面的描述中详细描述画面区域之间的相关性的概念。
如果所述画面的内容被视为是相关的,那么通过合并205lG0和lG1的已处理的区域生成信号,这意味没有信息需要被编码。通过合并而构建的区域不需要编码任何附加信息,由此对应于零编码成本,如果所述区域很多,则这明显是很有利的。由此实施的编码模式是不需要信令通知的隐含模式。在编码器侧测试的编码模式也在解码器侧被进行测试。该解码器随后不需要信令通知而本身能够知道当前区域是否是根据该隐含GMC编码模式被构建的。
如果内容是明显不同的,并且由此没有验证相关性,则对该区域执行常规编码203。仍可以将GMC预测用作一种可能的预测模式。
使用根据本发明的方法被编码的中间画面由此包括预测区域207,该预测区域207不能用作用于编码其他中间画面的参考,并且对于重构区域206来说,其可以用作用于对其他画面进行编码的参考。
上述在编码器侧的用于编码的方法可以对称地应用于解码器。首先将GOP的关键画面IC0和IC1解码。根据关键画面解码编码模式的解码器为每个关键画面IC0和IC1构建二值分割图S0和S1,该二值分割图指示区域是否是GMC类型,由此指示组成该区域的像素是否是GMC类型。
本发明尤其涉及对中间画面INT进行解码。对于给定的中间画面的待解码的区域,表示为GM0和GM1的前向和后向全局运动参数被预先解码。
用于解码的方法可以被分解为几个步骤。
第一步骤执行对关键画面IC0和IC1的全局运动补偿GMC。然后获得画面IG0和IG1,后者分别对应于根据运动模型GM0和GM1来运动补偿的画面IC0和IC1。此外,通过根据运动模型GM0和GM1的运动补偿来从分割图S0和S1转移出与画面IG0和IG1相关联的两个分割图SG0和SG1。
将待解码的中间画面划分为处理区域。该划分可以是自动的或自适应的。例如,处理区域可以对应于待编码的画面的宏块。将后面的步骤应用于待编码的中间画面的每个区域。
依赖于分割图SG0和SG1执行相应区域的分类。
然后验证C0和C1是否是GMC类型。在该实施例中,如果C0或C1不是“GMC”类型,则执行对于当前区域的编码信息(编码模式、相关联的参数--例如帧内预测的方向、运动矢量--预测残差)的解码。随后该信息应当在二进制流中呈现。
当C0和C1是“GMC”类型时,测试画面IG0和IG1的所考虑的区域中的相关性。
如果所述画面的内容被视为相关的,则通过合并IG0和IG1的已处理的区域生成信号,这意味没有信息需要被解码。通过合并构建的区域不需要解码任何附加信息。
如果内容是明显不同的并且由此没有验证相关性,那么执行编码信息的解码。该信息随后应当呈现在二进制流中。
图5示出用于测试两个不同的画面上的区域的相关性的方法。利用前面的附图介绍了画面之间的相关性的概念。可以通过失真的标准测量、诸如平均二次误差来做出当前区域中两个信号IG0和IG1的相关性测量。然而,由于全局运动估计器可能的限制和在全局运动参数的编码期间所需的量化,即使信号IG0和IG1被判断为是相关的,这两个信号也永远不能被完美地对准并且轻微的偏移有很高的出现机会。因为运动模型与转移模型(也就是说,区域的所有像素根据同一矢量位移的模型)不同,所以该偏移可能是更加明显的。在该情形中,运动取决于像素的位置。当远离原点时,根据模型由运动矢量的显著偏移将转移出模型的非转移分量的微小的误差。单独的平均二次误差不会使得该可能的偏移能够被考虑。
为了考虑该偏移,在本发明的范围内提出一种方法。
第一步骤300的目的特别是通过相对于IG0的、IG1局部运动补偿对IG1像素进行像素配准(pixel registration)。该补偿具有针对像素精度的转移矢量和有限的最大范围值excmax。该范围值是例如2个或3个像素。为此,可以使用标准“块匹配(block matching)”类型估计器。该算法类型的目的是搜索使平均二次误差最小化的矢量。为了校正因运动模型的误差而引起的明显的偏移而对此进行实施。
在第二步骤期间,计算301当前区域的平均二次误差。该误差D可以用下面的表达式表达:
其中,Z表示正在考虑的区域,p表示像素以及IG1mc表示IG1的运动补偿的画面。
可以将平均值的方差(variation)结合到等式(1)中,这导致下面的表达式:
其中,μ0和μ1是当前区域Z上的IG0和IG1mc的各自亮度的估计的平均值。
该估计之后是对于低局部梯度的区域的信号的直接比较。如果D小于预先定义的阈值λ,那么在该区域上IG0和IG1被视为是相关的。阈值λ可以例如采用值52×NZ,NZ是当前区域Z的点的数目。这意味在该情形中容许5的平均信号间偏移。
如果前面的测试302是否定的,那么对于高局部梯度的区域执行局部梯度的测量303。D的高值例如可以是由于小于一个像素的微小偏移引起,并在具有纹理且因而具有高梯度的区域内。如果两个信号是相关的,那么对于在当前区域中的任何像素p可以用以下表达式表示IG1mc:
IG1mc[p]≈IG0[p+δ] (3)
其中,δ=(δx,δy)是当该像素已经完成重置时两个分量δx和δy的幅度小于1的矢量。
然后可以在等式(3)的泰勒展开之后并且考虑表达式(2),以确定大于D的值S,其表达式是:
由此计算303局部梯度,然后比较304总和S与D。如果D是小于或等于S的,那么将IG0和IG1视为在当前区域Z上是相关的。在相反的情形中,将IG0和IG1视为在当前区域Z上是不相关的。
可以将诸如excmax和λ的、在算法中插入的一些参数编码并传送至解码器。
可以从图4的示例中看出,当比较的区域被视为相关时,可以考虑合并两个信号IG0和IG1。合并算法的目的是以满意的方式混合两个信号,也就是不引起因早先指出的轻微空间偏移而产生的回波的出现。一种解决方案是使用堆(piling)而不需要“图像分割(Graph cut)”类型的拼接算法。该类型技术的一个示例在Vivek Kwatra等的题名为“Graphcut Textures:Image andVideo Synthesis Using Graph Cuts”,Proc.ACM Transactions on Graphics,Siggraph’03的论文中描述。这些算法使得纹理的片断能够被组装,同时限制了明显的拼接类型的可视假象。