CN1520693A - 视频编码方法 - Google Patents

视频编码方法 Download PDF

Info

Publication number
CN1520693A
CN1520693A CNA028127471A CN02812747A CN1520693A CN 1520693 A CN1520693 A CN 1520693A CN A028127471 A CNA028127471 A CN A028127471A CN 02812747 A CN02812747 A CN 02812747A CN 1520693 A CN1520693 A CN 1520693A
Authority
CN
China
Prior art keywords
motion
subband
pixel
motion vector
vector
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.)
Pending
Application number
CNA028127471A
Other languages
English (en)
Inventor
P
P·卡拉斯科
-
B·佩斯奎特-波佩斯库
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1520693A publication Critical patent/CN1520693A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/547Motion estimation performed in a transform domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及建立在应用于二维帧序列的子带编码方案之上的一种视频编码方法。该方法包括当前帧(F2)的一个子带分解步骤,相对于前一个或者基准帧(F1)进行的一个运动预测步骤,以及编码步骤。根据本发明,运动预测步骤建立在基准帧冗余分解的基础之上,按照以下步骤:在近似子带里,通过应用于当前帧每个像素的完整搜索操作对运动进行估计,对于其它子带,在预测的时候使用从二次抽样子带重构出来的基准冗于子带,通过像素递归运动估计算法进行运动估计。所述像素递归运动估计算法本身包括一个初始化步骤、一个确定和更新步骤以及一个判决步骤。

Description

视频编码方法
技术领域
总的来说,本发明涉及视频压缩领域,具体而言,涉及在应用于二维帧序列的子带编码方法基础之上的视频编码方法,该方法包括当前帧(F2)的子带分解步骤,针对前面的帧或者基准帧(F1)进行的运动预测步骤和编码步骤。
技术背景
在多媒体领域里,新的交互式应用,比方说因特网视频流、视频数据库浏览或者多质量视频业务,正在越来越普及。不同种类的网络(因特网、移动网、家庭数字网)上视频业务的新发展已经在不断变化的传输条件(带宽、误码率)和不断变化的消费者需求以及终端译码能力(CPU、显示器大小、应用……)下带来了新的问题,使得人们不断寻找新的算法来进行视频压缩,特别是基于子带分解的方法。
在传统的视频编码算法里,特别是在MPEG-4标准的帧内,处理过的视频序列连续帧之间的运动估计可以用所谓的块匹配算法(BMA)来进行:在BMA中,通过在基准帧内限定的区域或者搜索窗内搜索相似块,将一个运动矢量分配给当前帧中的一块图像元素(像素)(分解成固定大小的块),按照误差测量通过评估候选对象来找到最佳矢量(表示块的变换)(最佳的对应块就是给出最小误差的那一个)。可惜,在经过了运动补偿的帧内,BMA在块边缘上(分块效应)产生高频缺陷。在小波分解基础之上将BMA用于编码方法中的时候,这些缺陷通过导致补偿过的帧的小波分解过程中的高系数来降低编码效率。
发明内容
本发明的目的是提出一种视频编码方法,它采用另一种运动估计和补偿技术,从而提高编码效率。
为此目的,本发明涉及前面提到的一种方法,其特征还在于所述运动预测步骤是建立在基准帧的冗余分解基础之上的,它采用以下程序:
(1)在所述分解技术的近似子带中,采用涉及到基准帧的完全搜索操作来估计运动,应用于当前帧的每一个图像元素(像素);
(2)对于其它子带,用像素(或者像素)递归运动估计算法来估计运动,将从所述子带分解过程中获得的二次抽样子带重构出来的基准冗余子带用于这一预测。
这里提出的这一技术是建立在采用小波的像素递归运动估计算法的基础之上的。小波域的运动估计必须考虑变换不变性这个问题。然后将基准帧的冗余分解技术用于预测运动情况,从而将最精细分辨率的栅格上的运动考虑在内。在近似子带中,在当前帧里对每个像素应用完全搜索算法来估计运动情况。对于其它子带,采用将基准冗余子带用于预测的像素递归算法。这个算法的初始化是利用同一个子带内空间邻域里运动矢量以及对应于前一级分解过程中同一个位置的运动矢量的加权值来完成的。这一算法允许在不能够收敛到良好估计的位置上重新初始化。还对子带内的扫描顺序进行优化,以便使逐行扫描中可能出现的漂移最小。
具体而言,所述像素递归运动估计算法可以包括以下步骤:
(a)初始化步骤,用有因果关系的邻域S中运动矢量的平均值d0(m)来初始化迭代算法:
d 0 ( m ) = 1 Card ( S ) Σ j ∈ S d ( m - j )
采用以下符号:
m=必须估计其运动情况的像素;
d(m)=它的运动矢量;
(b)更新步骤,用于按照以下关系更新di
di+1=di+ui,其中在每次叠带的时刻i确定的ui是下式给出的一个更新矢量:
u i = E ( m ) | | ▿ A | | 2 + λ · ▿ A
其中A是m-di这个点上图像的梯度,E(m)=B(m)-A(m-di)是当前这次迭代的预测误差,λ是调整参数;
(c)判决步骤,用于进行终止测试,从而在di足够接近d的时候结束这一程序;
最好使用四个像素的典型邻域。
在本发明的一个特定实施方案中,终止测试可以建立在以下比值的估计的基础之上:
R = | | u i | | 2 | | d i | | 2
该比值必须大于给定门限ε。
所述终止测试还可以包括针对最大迭代次数给出的另外一个条件。
还可以指出,按照本发明的一个优选实施方案,所述更新矢量ui的确定是建立在包括以下最小化操作的计算步骤这一基础之上的:已知B(m)=A(m-di)-δdT·A,其中δdT·A是A与矢量δd=d-di的内积,使平方误差J最小:
J=(B(m)-A(m-di)+δdT·A)2+λ‖δd‖2
对于δd,λ‖δd‖2这一项是λ很大的时候得到的运动矢量场的平整度与λ很小的时候运动矢量精度之间的一个折中的情况下的一个调整项,在J/d=0的情况下得到最小值,导致以下更新矢量:
δd = u i = - E ( m ) | | ▿ A | | 2 + λ ▿ A
在本发明的另一个实施方案中,这一运动估计算法还可以包括以下步骤:
(a)初始化步骤,用有因果邻域S中运动矢量的平均值dj,0(m)来初始化迭代算法:
d j , 0 ( m ) = 1 Card ( S ) Σ j ∈ S d j ( m - k )
采用以下符号:
k∈s(1~4);
m=必须估计其运动情况的像素;
dj,0(m)=它的运动矢量;
(b)更新步骤,用于按照以下关系更新dj,i+1
dj,i+1=dj,i+uj,i,其中在每次叠带的时刻i确定的uj,i是下式给出的一个更新矢量:
u j , i = ( Σ s = 0,1 3 ( ▿ A j , s ▿ A j , s T ) + λI ) - I ( - Σ s = 0,1 3 E j , s ( m ) ▿ A j , s )
其中 ▿ A j , s = ∂ A j , s ( m - d j , i ) ∂ m ∂ A j , s ( m - d j , i ) ∂ n 是m-dj,i这个点上图像的梯度,Ej,s(m)=Bj,s(m)-Aj,s(m-dj,i);
(c)判决步骤,用于进行终止测试,从而在dj,i足够接近dj的时候结束这一程序;
最好使用四个像素的典型邻域。
附图说明
下面参考附图,以实例的形式介绍本发明,在这些附图中:
图1说明具有运动补偿的视频序列的子带分解;
图2和图3分别说明动态子带分解和能够获得所述分解的滤波器组;
图4和5说明这样的动态子带分解如何不能保持变换不变性;
图6和7说明表示之间的恒等性,说明每一级分析都存在冗余分解;
图8和9分别描述信号分解和信号重构情形中的所谓的提升方案;
图10~12说明将图6和7的恒等式应用于图3中的每一组滤波器得到的经典小波分解的三级;
图13说明三级上分解的样本的选择(0表示偶数,1表示奇数);
图14说明对应于64个可能分解基可能的64个二次抽样选择;
图15说明交织的二次抽样子带如何导出冗余子带;
图16说明单独一帧的冗余分解,十个冗余子带中的每一个都具有与原始帧相同的大小;
图17说明经典线性扫描顺序,图18说明在描述的像素递归算法的初始化阶段能够获得改进了的因果性的一个因果扫描顺序;
图19说明像素(m,n)冗余平面内的完全搜索窗。
具体实施方式
为了获得能够满足不同需求的灵活性,视频编码系统需要具有可伸缩性。建立在子带分解技术基础之上的渐进编码技术可能是一个答案,因为它们允许进行全渐进传递。具体而言,关于可伸缩表示,小波在渐进编码图像中具有很高的效率。它们为静止图像提供自然的多尺度表示,利用分解过程中包括时间尺度的3D(或者2D+t)(3D=三维;2D=二维;t=时间)小波分析能够扩展到视频数据。在3D子带分解方案中引入运动补偿步骤能够得到视频信号的空间-时间多分辨(分层)表示,如图1所示,它说明具有运动补偿的视频信息时间子带分解。
将图中所示具有运动补偿的3D小波分解应用于一组帧(GOF),叫做F1~F8。在这个3D子带分解方案中,输入视频信号的每个GOF都首先经过运动补偿(MC),以便处理大运动序列,然后用Haar小波进行时间滤波(TF)。虚线箭头对应于高通时间滤波,而其它的则对应于低通时间滤波,图中画出了三级分解(L和H=第一级;LL和LH=第二级;LLL和LLH=第三级)。
但是,对每个子带的系数进行像素递归运动估计的时候,必须考虑没有变换不变性这个问题。动态子带分解的主要问题(见图2,它说明这样一个分解方案,针对三层进行,得到最低层中的十个子带LH1、HL1和HH1,中间层中的LH2、HL2和HH2,以及最高层中的M3、LH3、HL3和HH3;又见图3,它说明能够从输入信号f[n]获得这一分解的一个滤波器组,它给出输出信号L1[n]、L2[n]、L3[n]、H1[n]、H2[n]和H3[n])是在每次滤波操作以后(21,22,23,24,25,26)所进行的二次抽样操作(31,32,33,34,35,36)不具备变换不变性(而信号的冗余小波变换则是一个时间不变表示,非冗余小波分解则缺乏这一特性)。在图4和图5中给出一个实例,其中分别在运动目标(原始信号0RS)边缘的第一个位置这种情形以及对应于所述边缘另一个位置的偏移输入(偏移输入SHF)这种情形,说明低通和高通滤波器(L(z)和H(z))以及二次抽样器(TM2)的输出上,高通滤波分支和低通滤波分支的样本。在每个滤波器和每个二次抽样器以后说明获得的信号。每次二次抽样操作必须保持偶数或者奇数样本:运动边缘导致第一种情况下(图4,高通滤波分支)的高频系数HFC,而在第二个中间再也不能检测到所述边缘(图5)。因此,无法从二次抽样以后的子带系数推测运动情况。必须从没有采样的子带进行运动预测。
对于1D信号,二次抽样操作会导致两个可能的选择:可以选择奇数样本也可以选择偶数样本。对于2D信号(比方说图像),这一操作会导致四种可能的分解方法。因此,在三级上对一个信号帧进行分解,会有64种可能的分解方案,它们的信息量都相同。但是,如上所述,不能对它们进行运动分解,因为它们不是冗余的。于是从图6可以看出(说明图中所示两个表示(L(z2)+TM2)和(TM2+L(z)之间的恒等性)每一级分析都存在冗余分解。引入图3所示(图7中上半部分重复)低通滤波分支(21,31,22,32,23,33)里图6的等价的东西会得到图7所示下半部分的等价方案:在最后的二次抽样操作之前,获得大小与原始图像一样的冗余子带,可以对它进行有效的运动估计(三级1、2、3上的冗余子带RSB1、RSB2、RSB3已经在图7中说明)。
在信号分解导致输出c[n]和d[n]的情况下,用图8所示的所谓提升方案来进行小波分解,在从所述信号c[n]和d[n]进行信号重构的情况下用图9所示的方案来进行(这样做是因为预测滤波器P和更新滤波器U的选择具有灵活性,但是显然它不是唯一的选择)。对于每条滤波器通道,首先可以提取奇数或者偶数样本(分别是x1[n]和x0[n]),就象图8和图9所示的一样:
-首先是偶数样本?:
-首先是奇数样本?:
Figure A0281274700112
然后,图10~12说明通过将图6和7的恒等式应用于图3中的每个滤波器组能够获得的“经典”小波分解:可以看出,刚好在每一级的抽取之前(图10、11或者12)停止会得到冗余子带。
问题是内在地提升小波要在滤波之前进行十取一处理。在图8中,提升组的输入信号是x0[n]=f[2n]·x1[n]=f[2n+1]或者x0[n]=f[2n+1]·x1[n]=f[2(n+1)],相对于原始信号f[n]对这些输入进行十取一处理。这样,在分解过程中不能跳过十取一这一步,可以用另一种方法获得冗余子带,这里不进行描述。
显然,参考图8和9,对于每一级分解和每一尺度,可以首先选择偶数或者奇数样本。如果例如偶数样本用0表示,奇数样本用1表示,那么三级上全分解的特征就是有六个比特,如图13中的实例所示,可以将它看成利用这样的基对这个数进行的二进制分解:0,0,1,0,0,1->基数9。结果对应于64个可能的分解基有64个可能的二次抽样选择(如图14所示)。
然后用关键的二次抽样子带来构造冗余子带。分解基的数量能够得到要在矩形栅格上放置子带的位置。例如,如果描述x的比特是010(第3级,第2级,第1级),那么它们就得到2这个数,它就是重构偏移,说明子带的第一个样本必须沿着x方向放在冗余子带中的哪个位置上。针对y方向进行同样的操作,然后将样本按照以下长度间隔放置:间隔=2分解级。知道了每个二次抽样子带的偏移和间隔,就能够对它们进行交织,以便重构冗余子带,如图15所示。这个冗余子带与原始图像具有相同的大小。在第一级分解中,每个冗余子带HL、LH和HH都是通过交织四个二次抽样子带获得的。在第2级上,通过交织16个二次抽样子带来获得它们,在第3级上,必须交织64个二次抽样子带来获得冗域子带(见图14)。最后,冗余分解得到10个冗余子带,如图16所示。
下面介绍像素递归运动估计方法。在下文中,黑体字表示矢量(d),表示梯度,(.)T表示转置。以下算法的目的是计算两个矩阵A和B之间的光流,它可以是两个连续的序列帧,或者(就象这个情形中一样)两个连续子带。目的是估计每个像素m=(m,n)的运动矢量d(m):
B(m)=A(m-d)    (1)
为了对d进行递归描述,必须假设在图像平面上d是平滑分布的。这里描述的方法主要是:对于B中的每个基准像素,在估计的位置(m-d)计算A中的梯度,以便找到A中更靠近基准像素的像素。这样就获得一个新位置m-d。如果位置没变,这个算法就停止,否则就再迭代一次。这样,当这一算法到达正确位置的时候,它就收敛并停止。
这一迭代程序包括以下步骤,包括初始化、计算更新矢量、更新运动矢量和终止测试:
(1)用因果邻域S中运动矢量的平均值初始化迭代程序,
d 0 ( m ) = 1 Card ( S ) Σ j ∈ S d ( m - j ) - - - ( 2 )
考虑到可以使用四个像素的典型邻域(假设这些运动矢量是图像边界的0):
* j1 j2 j3 *
* j0  m   *   *
*  *   *   *   *
(2)第二步是确定每次迭代i的更新矢量ui
u i = E ( m ) | | ▿ A | | 2 + λ · ▿ A - - - - ( 3 )
其中
▿ A = ∂ A ( m - d i ) ∂ m ∂ A ( m - d i ) ∂ n - - - ( 4 )
是图像在m-di这一点上的梯度,
E(m)=B(m)-A(m-di)       (5)
是当前这次迭代的预测误差,λ是调整参数。
(3)在第三步中,更新di
di+1=di+ui              (6)
(4)如果di足够接近d,终止测试就结束这一程序。但是这一测试可以例如建立在比值估计这一基础之上:
R = | | u i | | 2 | | d i | | 2 - - - ( 7 )
它必须优于ε(可以转动ε来平衡矢量确定精度和计算负荷)。可以给最大迭代次数一个辅助条件。
下面详细介绍第二步(更新表达式(3)描述的矢量)。表达式(1)的一阶近似为:
B(m)=A(m-di)-δdT·A  (8)
其中A是表达式(4)的梯度,δd=d-di
必须使平方误差最小(下面将介绍λ‖δd‖2这一项):
Figure A0281274700141
∂ J ∂ δd = 0 的时候得到最小值,也就是:
(B(m)-A(m-di)+δdT·A)·A+λδd=0    (10)
当δdT·A是矢量δd和A的内积,得到:δdT·A=AT·δd,表达式(10)成为:
(A.T+λI).δd=-E(m).A              (11)
现在能够看到λ的用途:矩阵AAT是不可逆的(秩1),但是可以用以下引理来计算AAT+λI的逆:
( M + uu T ) - 1 = M - 1 - M - 1 uu T M - 1 1 + u T M - 1 u
对于u=A和M=λI由此得到
( ( ▿ A ▿ A T + λI ) - 1 = ▿ A λ + | | ▿ A | | 2 - - ( 12 )
最后得到:
δd = E ( m ) λ + | | ▿ A | | 2 ▿ A - - - ( 13 )
这就是用于表达式(3)和(6)中的更新矢量ui。这一调整在得到的运动矢量场(对于大λ)平滑程度与运动矢量精度(对于小λ)之间得到一个折中。
显然,在表达式(11)中,必须计算A。梯度计算可以通过图像的离散滤波来近似。为了通过线性滤波对梯度进行离散近似,这些滤波器必须满足现在必须提醒的一些条件。假设h是一个FIR滤波器,考虑连续场F(x,y)的矩形采样,得到:F[n,m]=F(nL1,nL2)。在x方向上图像的梯度是:
L 1 · ∂ F ∂ x ( n L 1 , n L 2 ) = h n , m * F [ n , m ]
= Σ ( k , l ) ∈ S h k , l · F [ n - k , m - l ] - - ( 14 ) ,
S被看作9个像素的一个邻域(中心像素m和周围的8个像素)。另一方面,在第一阶,得到:
F [ n - k , m - l ] ≈ F [ n , m ] - k L 1 · ∂ F ∂ x ( nL 1 , nL 2 ) - l L 2 · ∂ F ∂ x ( nL 1 , nL 2 ) - - - - ( 15 )
合并表达式(14)和(15)得到:
L 1 · ∂ F ∂ x ( nL 1 , nL 2 ) = Σ ( k , l ) ∈ S h k , l · F [ n , m ]
- L 1 Σ ( k , l ) ∈ S k h k , l L 1 · ∂ F ∂ x ( nL 1 , nL 2 )
- L 2 Σ ( k , l ) ∈ S l h k , l L 1 · ∂ F ∂ x ( nL 1 , nL 2 ) - - ( 16 )
找出关系(16)的成员就得到h的三个约束条件:
Σ ( k , l ) ∈ S h k , l = 0
Σ ( k , l ) ∈ S k h k , l = - 1
Σ ( k , l ) ∈ S l h k , l = 0
选择出来满足这些条件的滤波器如下:
(a)x-维梯度滤波器:
-1/8 0 1/8
-1/4 0 1/4
-1/8 0 1/8
(b)y-维梯度滤波器:
-1/8  -1/4 -1/8
0     0    0
1/8   1/4  1/8
由此得到离散梯度的一个良好近似。
采用上述算法能够得到不同的改进,特别是运动矢量和速度的精度。算法的速度可以通过让它更快地收敛而得到提高。因此,初始化步骤对于收敛速度而言至关重要。良好的初始化必须考虑以前计算出来的运动矢量。但是,在图像平面上运动矢量分布的平滑假设在物体的边界上可能不成立(对于特定类型的运动,例如当平面内的物体在不同方向上运动的时候)。这一算法必须能够检测这一情况,通过打破运动矢量场的平滑性来矫正这一初始化操作。可以在初始化步骤的结尾进行终止测试(甚至在每次更新完运动矢量以后都这样做)。必须计算两个测试值:
E0(m)=|Bj,s(m)-Aj,s(fm)|
Ej,s(m)=|Bj,s(m)-Aj,s(fm-fdi)|,
其中E0是没有运动(di=0)的误差,Ej,s是考虑了计算出来的运动矢量的时候的误差。原则是如果Ej,s大于E0,就必须将运动矢量重新初始化为0。但是,过于频繁的重新初始化会妨碍这一算法收敛。当预测误差非常小的时候,这种情况会频繁发生。这就是为什么在这一测试中引入一个容差,它由以下不等式给出:
Ej,s>E0+THR        (17)
其中THR是一个门限,要按照子带系数的值来确定。
另一个改善涉及到扫描阶数。假设图像是一个表,从第一项(也就是m=(0,0))到最后一项(m=xmax,ymax)进行扫描,如图17所示。结合了初始化邻域的这个初始化顺序在图像的左下角得到一个很差的运动估计(因为对于图像的第一栏,初始化邻域只减少到以上像素)。于是这一方法不是坚固的,导致误差漂移。图18给出的扫描顺序能够得到更好的结果。对这一图像进行扫描,偶数行从左到右,奇数行从右到左。这样就能够在初始化的时候增强因果性。每一个像素都依赖于以前扫描过的所有像素。采用这种方法在这个图像左下角的误差漂移不存在。更好的初始化可以使这一算法收敛更快。误差漂移是因为迭代次数有限:如果这一初始化不好,这一算法就没有足够的迭代次数来收敛到正确的运动矢量。采用这种新的扫描顺序,必须改变初始化邻域。对于第一行,邻域减少到前一个像素:
* j0 m *
对于偶数行,邻域维持不变:
* j1 j2 j3 *
* j0  m   *   *
*  *   *   *   *
第三个改善涉及图像的近似子带SB Ajmax,0,从定义上讲它没有多少细节。这样,像素递归运动估计有时不够准确。补偿以后的近似中很小的误差会导致从补偿过的子带重构的图像非常差的结果。如果对于窗口Ajmax,0中的每一个像素Bjmax,0都进行完整的扫描就能够得到更好的结果,但是这种方法不如像素递归算法快。搜索窗的大小为:
(2·(2jmax)+1)by(2·(2jmax)+1)
如图19所示。如果SB(3,0)的估计非常好,就能够用它的运动矢量来初始化其它子带SB。如果将dapproximation叫做像素m(m,n)上SB(3,0)里的运动矢量,将d0叫做只考虑空间邻域的初始化矢量,那么就能够通过以下表达式计算初始化矢量:
D0=α·dapproximation+(1-α).d0,    (18)
其中α是能够在初始化过程中控制dapproximation的影响的一个常数。如果α=0,dapproximation就根本没有任何影响。同样的原理可以应用于其它子带SB。于是可以在更高阶的分解j过程中用前面计算出来的运动矢量,以便初始化这一算法。如果将dj+1叫做j+1这一阶上估计出来的运动矢量,新的初始化矢量就是:D0=α·dj+1+(1-α)·d0。上面描述的一般算法可以应用于两个子带。但是,如果使用了它,就不考虑同一级分解的子带之间的相关:在这三个(或者将LL子带考虑在内的时候有四个)子带中计算出来的运动矢量对于每个像素都应该相同。于是能够决定对给定级的分解j{1,2,...,jmax}估计每个像素m=(m,n)的运动矢量dj(m):
Bj,s(m)=Ajs(m-dj)for s∈{0,...4}          (19)
其中:
A0,0表示第一个图像,
B0,0表示第二个图像,
Aj,s表示帧A第j阶分解的子带号:
子带0表示近似子带(SB),
子带1表示水平细节SB,
子带2表示垂直细节SB,
子带3表示对角线细节SB。
必须按照前面的方式做出在子带平面上d平滑分布的假设。
如上所述,对每一级分解j∈{1,2,...,jmax}所执行的迭代程序包括四个步骤:初始化、计算更新矢量、更新运动矢量和终止测试,但是有一些细微的改进:
用因果邻域S中运动矢量的平均值初始化迭代程序,
d j , 0 ( m ) = 1 Card ( S ) Σ j ∈ S d j ( m - k ) - - ( 20 )
对于例如典型的4像素邻域(假设在图像边界上运动矢量等于0):
* k1 k2 k3 *
* k0 m   *   *
* *   *   *   *
2.然后确定更新矢量uj,i
u j , i = ( Σ s = 0,1 3 ( ▿ A j , s ▿ A j , s T ) + λI ) - 1 ( - Σ s = 0,1 3 E j , s ( m ) ▿ A j , s ) - - - ( 21 )
其中:
▿ A j , s = ∂ A j , s ( m - d j , i ) ∂ m ∂ A j , s ( m - d j , i ) ∂ n - - - ( 22 )
是m-dj,i这一点上图像的梯度,
Ej,s(m)=Bj,s(m)-Aj,s(m-dj,i)       (23)
s从1变到3,或者从0变到3,具体情况取决于必须考虑的子带数量(更深分解级为4,其它的为3)。
3.然后更新运动矢量dj,i+1
dj,i+1=dj,i+uj,i    (24)
4.如果di,j足够接近dj,终止测试就结束这一程序,这一测试是例如以下比值的估计:
R j , i = | | u j , i | | 2 | | d j , i | | 2 - - - ( 25 )
它必须优于ε(ε待定)。给迭代最大次数另一个条件。
对于更新矢量的计算,在第一阶上,对于每个s,表达式(1)成为:
B j , s ( m ) = A j , s ( m - d j , s ) - δ d j T ▿ T j , s - - ( 26 )
其中Aj,s是从公式(4)得到的梯度,δdj=dj-dj,j
同时想让所有子带上的平方误差最小的时候:
Figure A0281274700201
满足以下条件的时候就得到最小值:
∂ J i ∂ δ d j = 0
也就是:
Σ s = 0,1 3 ( ( B j , s ( m ) - A j , s ( m - d j , i ) + δ d j T ▿ A j , s ) ▿ A j , s + λ ∂ d j ) = 0 - - ( 28 )
表达式(28)成为:
( Σ s = 0,1 3 ( ▿ A j , s ▿ A j , s T ) + λI ) · δ d j = - E j , s ( m ) · ▿ A j , s - - ( 29 )
即使没有进行调整,矩阵 Σ s = 0,1 3 ▿ A j , s ▿ A j , s T + λI 也是可逆的。它是一个2×2矩阵,可以以显式方式计算出逆矩阵。在这种情况下,只有运动矢量场相干性的控制需要调整项λI。
万一将这一像素递归运动估计算法应用于冗余子带,就必须改变前面的算法。令f是说明冗于子带大小和二次抽样子带大小之间比例大小的比例系数:
f=2j
其中j是分解级。
已知冗于子带缺乏变换不变性。结果,可以在冗于子带(基准帧)和二次抽样子带(当前帧)之间进行像素递归运动估计。于是将运动矢量定义为(假设为Bj,s的二次抽样的分解保持偶数样本:
Bj,s(m)=Aj,s(fm-fdj)          (30)
迭代程序略有不同:
1.用表达式(20)来初始化d0(m)。
2.更新矢量ui不变,新误差:
Ej,s(m)=Bj,s(m)-Aj,s(fm-fdj)           (31)
新梯度:
▿ A j , s = 1 f ∂ A j , s ( fm - fd j , i ) ∂ m ∂ A j , s ( fm - fd j , i ) ∂ m - - - - ( 32 )
3.更新等式不变。
4.终止测试不变。

Claims (15)

1.建立在子带编码方案,应用于二维帧序列的一种视频编码方法,该方法包括当前帧(F2)的一个子带分解步骤,对前一帧或者基准帧(F1)进行的运动预测步骤,以及编码步骤,该方法的特征还在于所述运动预测步骤是按照以下程序,建立在基准帧的冗余分解基础之上的:
(1)在所述分解的近似子带中,通过涉及到所述基准帧,应用于当前帧每个图形元素(像素)的完整搜索操作,对运动进行估计;
(2)对于其它子带,通过像素(或者像素)递归运动估计算法,为预测利用从所述子带分解得到的二次抽样子带重构出来的基准冗余子带来对运动进行估计。
2.权利要求1的编码方法,其中用于计算表示两个连续子带的两个矩阵A和B之间光流,也就是按照B(m)=A(m-d)为每个像素m估计它的运动矢量d(m)的像素递归运动估计算法,包括以下步骤:
(a)一个初始化步骤,用因果邻域S中运动矢量的平均值d0(m)初始化这一迭代算法:
d 0 ( m ) = 1 Card ( S ) Σ j ∈ S d ( m - j )
采用了以下符号:
m=必须估计其运动的像素;
d(m)=它的运动矢量;
(b)一个更新步骤,用于按照以下关系更新di
di+1=di+ui,其中每次迭代i的ui都是由以下公式给出的更新矢量:
u i = - E ( m ) | | ▿ A | | 2 + λ , ▿ A
其中A是在m-di这一点上图像的梯度,E(m)=B(m)-A(m-di)是当前迭代中的预测,λ是一个调整参数;
(c)一个判决步骤,用于进行终止测试,从而在di足够接近d的时候结束这一程序。
3.权利要求2的编码方法,其中使用了四个像素的典型邻域。
4.权利要求2和3中任意一个的编码方法,其中的终止测试建立在以下比值的估计的基础之上:
R = | | u i | | 2 | | d i | | 2
所述比值必须大于给定门限ε。
5.权利要求4的编码方法,其中的门限ε用来平衡矢量确定精度和计算负荷。
6.权利要求4和5中任意一个的编码方法,其中的终止测试包括针对最大迭代次数给出的另外一个条件。
7.权利要求4~6中任意一个的编码方法,其中所述更新矢量ui的确定建立在包括以下最小化操作的计算步骤的基础之上:已知B(m)=A(m-di)-δdT·A,其中δdT·A是A和矢量δd=d-di的内积,为了使平方误差J相对于δd最小:
J=((B(m)-A(m-di)+δdT·A)2+λ‖δd‖2λ‖δd‖2是考虑到得到的对于λ的大值运动矢量场平滑程度和对于λ的小值的运动矢量精度之间的折中的一个调整项,当J/δd=0的时候得到最小值,并且得到更新矢量:
δd = u i = - E ( m ) | | ▿ A | | 2 + λ , ▿ A
8.权利要求7的编码方法,其中的扫描顺序如下:偶数行从左到右,奇数行从右到左,然后针对第一行修改初始化邻域,在这里,它缩减成前一个像素,对于奇数行,在这里将它反转过来以保持因果性。
9.权利要求7的编码方法,其中的运动估计算法必须通过用某种容差测试终止条件,来进行重新初始化,使用估计出来的运动矢量的时候,预测误差对于所述测试与没有任何运动估计的预测误差相比,加上一个门限。
10.权利要求2的编码方法,其中运动矢量的初始化是通过将邻域S上的平均和从前一级分解过程中具有相同取向的子带获得的运动矢量的线性合并来进行的。
11.权利要求1的编码方法,其中的像素递归运动估计算法用来使用与分解同一级的子带之间的相关性,也就是估计给定级分解j∈{1,2,...,jmax},对于每个像素m,它的运动矢量dj(m)的方式使得对于s={0,...,4},Bj,s(m)=Aj,s(m-dj),这两个矩阵A和B表示两个连续子带,它本身包括以下步骤:
(a)一个初始化步骤,迭代算法用因果邻域S中运动矢量的平均值dj(m)来初始化:
d j , o ( m ) = 1 Card ( S ) Σ j ∈ S d j ( m - k )
采用以下符号:
k∈s(1~4);
m=必须估计其运动情况的像素;
dj,0(m)=它的运动矢量;
(b)更新步骤,用于按照以下公式更新dj,i+1
dj,i+1=dj,i+uj,i,其中在每次迭代i确定的uj,i是以下公式给出的一个更新矢量:
u j , i = ( Σ s = 0,1 3 ( ▿ A j , s ▿ A j , s T ) + λI ) - 1 ( - Σ s = 0,1 3 E j , s ( m ) ▿ A j , s )
其中:
▿ A j , s = ∂ A j , s ( m - d j , i ) ∂ m ∂ A j , s ( m - d j , i ) ∂ n
是图像在m-dj,i这一点的梯度,和:
Ej,s(m)=Bj,s(m)-Aj,s(m-dj,i)
(c)判决步骤,用于进行终止测试,从而在dj,i足够接近dj的时候结束这一程序。
12.权利要求11的编码方法,其中采用四个像素的典型邻域。
13.权利要求11和12的编码方法,其中的终止测试建立在以下比值的估计的基础之上:
R i , j = | | u j , i | | 2 | | d j , i | | 2
所述比值必须大于给定门限ε。
14.权利要求13的编码方法,其中的终止测试包括针对最大迭代次数给出的另外一个条件。
15.权利要求13和14中任意一个的编码方法,其中所述更新矢量ui的确定建立在包括以下最小化操作的计算步骤的基础之上:已知Bj,s=Aj,s(m-dj,i)-δdT·Aj,s,其中δdT·Aj,s是Aj,s和矢量δdj=dj-dj,i的内积,为了使以下平方误差相对于δdj最小:
λ‖δdj2是考虑到得到的对于λ的大值运动矢量场平滑程度和对于λ的小值的运动矢量精度之间的折中的一个调整项,当Jj/δδdj=0的时候得到最小值。
CNA028127471A 2001-06-26 2002-06-20 视频编码方法 Pending CN1520693A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP01401697.6 2001-06-26
EP01401697 2001-06-26
EP01402666 2001-10-16
EP01402666.0 2001-10-16

Publications (1)

Publication Number Publication Date
CN1520693A true CN1520693A (zh) 2004-08-11

Family

ID=26077244

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028127471A Pending CN1520693A (zh) 2001-06-26 2002-06-20 视频编码方法

Country Status (8)

Country Link
US (1) US20050031037A1 (zh)
EP (1) EP1405521B1 (zh)
JP (1) JP2004531170A (zh)
KR (1) KR20030061786A (zh)
CN (1) CN1520693A (zh)
AT (1) ATE288171T1 (zh)
DE (1) DE60202771T2 (zh)
WO (1) WO2003001814A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103370937A (zh) * 2011-02-18 2013-10-23 西门子公司 用于压缩图像序列的编码方法和图像编码设备

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060024396A (ko) * 2003-06-04 2006-03-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 서브대역-비디오 복호화 방법 및 디바이스
US7474767B2 (en) * 2003-09-24 2009-01-06 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Motion detection using multi-resolution image processing
FR2872974A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage adaptatif
EP1792426A4 (en) * 2004-09-23 2009-04-01 Univ California DIVERSITY ARCHITECTURE WITH MULTIPLE SUBCARRIERS AND WIRELESS OFDM MULTIPLEXING PROCESS
FR2886787A1 (fr) * 2005-06-06 2006-12-08 Thomson Licensing Sa Procede et dispositif de codage et de decodage d'une sequence d'images
US8625678B2 (en) * 2005-09-29 2014-01-07 Telecom Italia S.P.A. Method for scalable video coding on a plurality of space resolution levels
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
MX2010010301A (es) * 2008-03-19 2011-03-01 Univ Florida Polimeros conjugados solubles negros con estado oxidado altamente transmisivo.
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
WO2013049412A2 (en) * 2011-09-29 2013-04-04 Dolby Laboratories Licensing Corporation Reduced complexity motion compensated temporal processing
EP2683165B1 (en) * 2012-07-04 2015-10-14 Thomson Licensing Method for coding and decoding a block of pixels from a motion model
CN115278229A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的设备和对视频进行编码的设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969040A (en) * 1989-10-26 1990-11-06 Bell Communications Research, Inc. Apparatus and method for differential sub-band coding of video signals
US5253058A (en) * 1992-04-01 1993-10-12 Bell Communications Research, Inc. Efficient coding scheme for multilevel video transmission
US5477272A (en) * 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5644361A (en) * 1994-11-30 1997-07-01 National Semiconductor Corporation Subsampled frame storage technique for reduced memory size
FR2782878B1 (fr) * 1998-08-28 2000-11-10 Holding Bev Sa Systeme de compression et de decompression de signaux video numeriques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103370937A (zh) * 2011-02-18 2013-10-23 西门子公司 用于压缩图像序列的编码方法和图像编码设备

Also Published As

Publication number Publication date
ATE288171T1 (de) 2005-02-15
DE60202771T2 (de) 2006-01-05
EP1405521B1 (en) 2005-01-26
EP1405521A1 (en) 2004-04-07
JP2004531170A (ja) 2004-10-07
DE60202771D1 (de) 2005-03-03
US20050031037A1 (en) 2005-02-10
KR20030061786A (ko) 2003-07-22
WO2003001814A1 (en) 2003-01-03

Similar Documents

Publication Publication Date Title
CN1220391C (zh) 图像编码装置、图像译码装置、图像编码方法和图像译码方法
CN1193620C (zh) 视频编码器的运动估计方法及系统
CN1231863C (zh) 用于进行图像压缩和解压缩的方法与装置
CN1214647C (zh) 图像编码方法和图像编码器
CN1194550C (zh) 通过直接离散余弦变换映射改变分辨率的设备和方法
CN1280709C (zh) 退色补偿的参数化
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1520693A (zh) 视频编码方法
CN1240226C (zh) 有漂移补偿的视频代码转换器和用于补偿漂移的设备
CN1926875A (zh) 运动补偿方法
CN101049026A (zh) 采用栅格运动估计和补偿的可扩展视频编码
CN1806447A (zh) 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体
CN1479907A (zh) 基于类小波变换和稀疏数据编码的多分辨率图像数据管理系统和方法
CN1655621A (zh) 视频通信装置与方法
CN1816154A (zh) 用于运动估计的方法和装置
CN1235412C (zh) 对视频数据进行运动补偿编码的方法
CN1578477A (zh) 用于色彩图像的视频编码/解码装置和方法
CN1917578A (zh) 数据处理设备、数据处理方法及程序
CN1581982A (zh) 基于模式分析的运动矢量补偿装置和方法
CN1212562A (zh) 图像预测解码方法、解码装置、编码装置及数据存储媒体
CN1288914C (zh) 图象编码与解码方法以及对应的装置和应用
CN1917647A (zh) 自适应地选择用于熵编码的上下文模型的方法和设备
CN1535027A (zh) 一种用于视频编码的帧内预测方法
CN1374789A (zh) 数字图象压缩方法
CN1694537A (zh) 活动图像专家组视讯译码器可适性去区块滤波装置及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned