CN100518328C - 视频编码器 - Google Patents

视频编码器 Download PDF

Info

Publication number
CN100518328C
CN100518328C CNB2005101184427A CN200510118442A CN100518328C CN 100518328 C CN100518328 C CN 100518328C CN B2005101184427 A CNB2005101184427 A CN B2005101184427A CN 200510118442 A CN200510118442 A CN 200510118442A CN 100518328 C CN100518328 C CN 100518328C
Authority
CN
China
Prior art keywords
section
vector
motion
matrix
merging
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.)
Expired - Fee Related
Application number
CNB2005101184427A
Other languages
English (en)
Other versions
CN1756366A (zh
Inventor
M·卡策维茨
L·奥克特姆
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN1756366A publication Critical patent/CN1756366A/zh
Application granted granted Critical
Publication of CN100518328C publication Critical patent/CN100518328C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • 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/567Motion estimation based on rate distortion criteria

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

本发明涉及通过使用运动补偿预测来压缩视频序列的系统。这样的系统的关键部分是运动矢量区编码。运动矢量区编码的目标是使得表示运动矢量区所必需的比特数最小化,而同时保持非常低的预测误差。本发明揭示了在运动区编码器的运动分析器中新的矩阵运算。

Description

视频编码器
技术领域
本发明涉及视频数据编码和译码,更具体地,涉及通过使用运动补偿预测来压缩和解压缩视频数据。
背景技术
附图的图1和图2显示使用运动补偿预测的视频编码系统的示意图。图1显示编码器和图2显示相应的译码器。下面概述在这样的系统中的运动补偿预测。在典型的视频序列中,连续帧的内容的改变在很大程度上是场景中运动的结果。这种运动可以是由于摄像机运动,或是在场景中所描绘的目标的运动。所以,典型的视频序列的特征在于很大的时间相关性,这种相关性沿着运动的轨迹最高,而视频序列的有效压缩需要利用视频序列的这种特性。运动补偿(MC)预测是广泛认知的用于视频压缩的技术。它利用这一事实,即在典型的视频序列中给出每两个帧的运动轨迹,则一个特定的帧的图象强度值可以通过使用某些其它已经编码的帧的图象强度被预测。
在图1所示的编码器中,运动估值功能块计算正在被编码的帧(In(x,y))(称为当前帧)与被表示为Rref(x,y)的参考帧之间的象素的运动矢量(Δx(x,y),Δy(x,y))。参考帧是先前已编码的帧之一(例如,在正在编码的帧之前的帧),它在给定的时刻可以从编码器和译码器的帧存储器中得到。数字对(Δx(x,y),Δy(x,y))被称为在当前帧中的位置(x,y)处象素的运动矢量,以及Δx(x,y)和Δy(x,y)分别是水平和垂直位移值。
当前帧的所有象素的运动矢量集被称为运动矢量区,它由运动区编码功能块进行压缩,以及被发送到译码器。为了表示运动矢量区的压缩典型地是有损失的,压缩的运动矢量被表示为
Figure C20051011844200051
在运动补偿(MC)预测功能块中,压缩的运动矢量)和参考帧被使用来构建预测帧Pn(x,y):
P n ( x , y ) = R ref ( x + Δ ~ x ( x , y ) , y + Δ ~ y ( x , y ) ) . - - - ( 1 )
预测误差,即在当前帧In(x,y)与预测帧Pn(x,y)之间的差值:
En(x,y)=In(x,y)-Pn(x,y),            (2)
被压缩和被发送到译码器。压缩的预测误差被表示为
Figure C20051011844200061
在图2所示的译码器中,当前被编码的帧
Figure C20051011844200062
的象素通过使用收到的运动矢量以找到参考帧Rref(x,y)中的预测象素以及加上接收的预测误差
Figure C20051011844200063
而被重新构建,即,
I ~ n ( x , y ) = R ref ( x + Δ ~ x ( x , y ) , y + Δ ~ y ( x , y ) ) + E ~ n ( x , y ) . - - - ( 3 )
由于编码时引入的损耗,
Figure C20051011844200065
不同于In(x,y)。在编码帧与原先帧之间的差值
D n ( x , y ) = I n ( x , y ) - I ~ n ( x , y ) - - - ( 4 )
被称为重建误差。
运动补偿预测的目的是找到在需要被发送到译码器的信息量与编码时引入的损耗之间的最佳折衷,即
1.使得预测误差量最小化,以及
2.使得为表示运动矢量区所需要的信息量最小化。
由于一帧中的象素数目非常大,所以对于每个象素发送单独的运动矢量是低效的。作为替代,在大多数视频编码方案中,当前帧被分成较大的图象段,以使得该段的所有运动矢量可被几个系数描述。取决于当前帧被分成段的方式,可以区分两种类型的运动补偿编码器:
1.基于块的编码器,其中当前帧被分成固定的和已知的块,例如在国际标准ISO/IEC MPEG 1或ITU-TH.T6 1编译码器中的16×16象素块(见图3a),或,
2.基于分段的(即,基于区域的)编码器,其中当前帧被分成任意形状的段,例如通过图3b的分段算法得到的。
典型的视频序列的一个帧包含多个具有不同运动的目标。通过把帧In(x,y)分成几个段SK和估值在该帧与参考帧Rref(x,y)之间的这些段的运动,而进行MC预测。实际上,一个分段包括至少几十个象素。为了简洁地表示这些象素的运动矢量,希望用几个参量的函数来描述它们的值。这样的函数被称为运动矢量区模型。运动补偿视频编码方案通过使用通用的公式来近似图象段的运动矢量:
Δ ^ x ( x , y ) = Σ n = 1 N c n f n ( x , y ) , - - - ( 5 )
Δ ^ y ( x , y ) = Σ n = N + 1 N + M c n f n ( x , y ) , - - - ( 6 )
其中参量cn被称为运动系数,以及它被压缩和被发送到译码器。压缩的运动系数将被表示为
Figure C20051011844200073
函数fn被称为基函数,它们必须是编码器和译码器已知的。分段信息是运动表示的固有部分,它也需要被编码和被发送到译码器。在译码器中,分段信息和系数
Figure C20051011844200074
被使用来得到对于每个段的补偿的运动矢量区:
Δ ~ x ( x , y ) = Σ n = 1 N c ~ n f n ( x , y ) , Δ ~ y ( x , y ) = Σ n = N + 1 N + M c ~ n f n ( x , y ) . - - - ( 7 )
在编码器中,运动区编码功能块的目标是使得表示运动矢量区所必需的比特数目最小化,而同时保持低的预测误差。对于表示运动矢量区所需要的比特的总数取决于:
-图象中的段数,
-每段的运动系数的数目,
-表示运动系数所需要的比特数目。
图4上显示用于执行运动区编码的现有技术系统,它包含4个主要的构建功能块:QR运动分析器1、分段合并功能块2、正交化功能块3和运动系数去除功能块4。在PCT出版物WO97/16025和WO97/40628中描述了这样的系统。
加到运动区编码功能块的输入是:
-由运动估值功能块找到的运动矢量区(Δx(x,y),Δy(x,y)),
-当前帧,
-参考帧,以及
-当前帧的初始分段。初始分段可以在运动估值以前或期间在编码器中得到。该分段也可以通过某些外部装置被提供给编码器。
运动区编码功能块可以通过以下方法来减小必须被发送到译码器的比特总数:
-通过把可以用一个公共的运动系数矢量进行预测而不造成预测误差有很大增加的那些段组合(合并)在一起而减小分段数。组合这些分段的处理过程被称为运动辅助合并,以及它由分段合并功能块2执行。
-使用对相应的运动系数的量化(由量化功能块5执行)具有低的灵敏度的基函数,以使得这些系数可以用小的比特数来代表。已经发现,相应于离散正交函数的系数对于量化是不灵敏的,所以,在分段合并以后,基函数相对于长方形限定该段而被正交化。这是由正交化功能块3完成的。
-对于每个段找出达到满意的低预测误差的基函数的最小数目。只有相应于这些选择的基函数的系数必须被发送到译码器。基函数和相应运动系数的这样的自适应选择的处理过程由运动系数去除功能块4执行。
QR运动分析器1的功能是找出运动矢量区的代表,它可在下游被分段合并功能块2和运动系数去除功能块4使用,以便有效地计算相应于段和基函数的不同组合的运动系数。QR运动分析器1和分段合并功能块2如下地运行。
QR运动分析器1执行包括矩阵运算的多个步骤。在PCT出版物WO97/16025和WO97/40628中详细地描述了这些步骤。在第一步骤中,预测帧被近似,这样,预测帧相对于运动矢量变成为线性的。在第二步骤,对于预测帧的每个段Sk构建矩阵Ek和矢量qk,以及它们被用于使平方预测误差最小化。在第三步骤,熟知的QR因式分解算法被使用来把矩阵Ek分解成两个矩阵Qk和Rk的乘积,其中Qk是酉矩阵,以及Rk是上三角矩阵。另外,从因子矩阵Qk和矩阵qk计算辅助矢量zk。部分的矩阵Rk和辅助矢量zk被加到分段合并功能块2。
分段合并功能块通过找出组合区域中的象素值是否可使用公共运动系数矢量被预测而对相邻的段Si和Sj执行合并操作。如果组合的段的区域可以通过使用运动系数的一个矢量被编码,而不过度地增加被规定为预测误差的失真,因此产生在重建误差与发送的比特数之间的更好的折衷,则这些段被合并。在矩阵运算中,首先形成矩阵方程,然后通过使用已知的矩阵计算方法处理因子矩阵。结果是一个矩阵方程,其中一个矩阵包括一些项,根据这些项,容易计算在合并段的区域中的平方预测误差。如果按照选择的准则这些平方预测误差的改变是可接受的,则这些段被合并。
在考虑了这些段的所有的分段对以后,分段合并功能块2的输出是:
i.带有减小数目的段的图象的新的划分,
ii.对于每个新的段,功能块输出矩阵R1 k,矢量z1 k
iii.合并信息,该信息被发送到译码器并帮助译码器识别被合并的段。
总之,运动区编码功能块的输出是:
-描述图象段的信息,
-关于哪些系数被发送到译码器的信息,
-对于发送的运动系数的量化的数值。
关键的是运动区编码在计算上是简单的,这使得编码器能以进入的速率处理数据。
发明内容
本发明建议在上述的运动区编码系统中引入改变。
因此,在一个方面,本发明提供视频编译码器,用于视频数据的运动补偿编码,该视频编译码器提供要被编码的当前帧的视频象素相对于参考帧的运动矢量区,以及它具有运动区编码器,用于编码运动矢量区以提供压缩的运动信息,运动区编码器包括运动分析器,后者包括用于计算和存储对于当前帧的每个段k的近似矩阵Ek和近似矢量qk的装置,这样,对于每个段的失真的预定的测量值Δek是(Ekck-qk)的函数,ck是把所述运动矢量区近似为一组多项式基函数fn的运动系数cn的一个矢量,以及运动分析器还包括用于产生包括输出矩阵Ak和输出矢量dk的运动分析器输出参量的装置,其中Ak是Ek转置与Ek的乘积,以及dk是Ek转置与qk的乘积。
这里,名称k是表示视频帧的任意段的通用名称。
借助于本发明,在运动分析器中的运动矢量区的表示是与现有技术系统中的表示不同的,以及该表示用低得多的计算复杂性被得出,因此,需要较小的计算功率、存储器和允许缩减。更具体地,这些改变大大地简化计算,而不牺牲性能,因此加速了编码处理过程。
优选地,运动区编码器包括用于接收运动分析器的输出的分段合并功能块,该分段合并功能块包括合并装置,用于在组合区中的象素值可以通过使用共同的运动系数矢量被预测时合并相邻的段的分段对Si和Sj。所述合并装置通过求解以下的线性方程,确定用于合并段Sk的共同的运动系数矢量ck
Akck=dk
其中Ak是通过运动分析器输出矩阵Ai和Aj的和值给出的合并的矩阵,以及dk是通过段Si和Sj各自的运动分析器输出矢量di和dj的和值给出的合并的矢量。
对于运动辅助合并的这样的解决方案提供运动系数的单个矢量,允许良好地预测组合的段。
在本发明的第二方面,提供了用于对视频数据进行运动补偿编码的方法,包括提供要被编码的当前帧的视频象素相对于参考帧的运动矢量区,以及编码运动矢量区以提供压缩的运动信息,所述编码运动矢量区包括:计算和存储对于当前帧的每个段k的近似矩阵Ek和近似矢量qk的装置,这样,对于每个段的失真的预定的测量值Δek是(Ekck-qk)的函数,ck是把所述运动矢量区近似为一组多项式基函数fn的运动系数cn的一个矢量;以及产生包括输出矩阵Ak和输出矢量dk的运动分析器输出参量,其中Ak是Ek转置与Ek的乘积,以及dk是Ek转置与qk的乘积。
本发明还包括一个按照本发明的原理运行的译码器。
附图说明
现在参照附图通过例子描述本发明,其中:
图1是已知编码器的示意图;
图2是已知译码器的示意图;
图3a显示对于基于块的运动补偿的当前帧的划分;
图3b显示对于基于分段的运动补偿的当前帧的划分;
图4是现有技术的运动区编码系统的示意图;
图5是按照本发明的优选实施例的运动区编码系统的示意图;以及
图6是按照图5的实施例的运动分析器的示意图。
具体实施方式
一开始参照图1,这里所示的视频编码器的输出是被分成段Sk的压缩帧,每个段Sk伴随有关对于各个段的每个象素(x,y)的运动矢量[(Δx(x,y),Δy(x,y))]的信息。然后,对于包含P个具有坐标(xi,yi),i=1,2,...P,的象素的一个段Sk,运动区编码器的任务是从由运动估值功能块输出的运动矢量区[(Δx(xi,yi),Δy(xi,yi))]找出运动系数。被表示为c=(c1,c2,...cN+M)的运动系数,代表压缩的运动矢量区
Figure C20051011844200101
Figure C20051011844200102
它通过使用以下形式的线性运动模型按需要来精确地近似[(Δx(x,y),Δy(x,y))]:
Δ ^ x ( x , y ) = Σ n = 1 N c n f n ( x , y ) , - - - ( 8 )
Δ ^ y ( x , y ) = Σ n = 1 N + M c n f n ( x , y ) , - - - ( 9 )
这样,平方预测误差最小化,SPE被给出为:
SPE = Σ i = 1 P ( I n ( x i , y i ) - R ref ( x i + Δ ^ x ( x i , y i ) , y i + Δ ^ y ( x i , y i ) ) ) 2 . - - - ( 10 )
图5显示按照本发明的运动区编码器的实施例。它的输入包括参考帧和当前帧。加到这个功能块的第三输入是由运动估值区功能块产生的运动矢量区[(Δx(x,y),Δy(x,y))]。
为了完成这个任务,运动区编码器包含四个主要的构建功能块,它们是运动分析器功能块1、分段合并功能块2、正交化功能块3、运动系数去除功能块4。分段合并功能块2、正交化功能块3和运动系数去除功能块4减小运动信息量,这会导致不太精确的预测,因此使平方预测误差增加。
运动分析器1的目标是找出运动区的代表,它适合于有效地判断分段合并、正交化和系数去除对预测误差的影响。这个代表后来在随后的三个功能块(分段合并功能块2、正交化功能块3和运动系数去除功能块4)中被使用于快速灵活地确定对于合并的段的运动系数,和用于去除系数。图6显示按照本发明的运动分析器的一个实施例。
在PCT出版物WO97/16025和W097/40628中详细地描述了正交化功能块3和系数去除块4,这样的说明在此引用,以供参考。
转到运动分析器,对于每个段Sk,运动分析器执行以下操作:
步骤1.误差近似
当对于包含P个具有坐标(xi,yi),i=1,2,...P,的象素的一个段Sk的运动矢量区被近似为下式时,
Δ ^ x ( x i , y i ) = Σ n = 1 N c n f n ( x i , y i ) , Δ ^ y ( x i , y i ) = Σ n = N + 1 N + M c n f n ( x i , y i ) - - - ( 11 )
结果的预测误差等于
SP E k = Σ i = 1 P ( I n ( x i , y i ) - R ref ( x i + Δ ^ x ( x i , y i ) , y i + Δ ^ y ( x i , y i ) ) ) 2 . - - - ( 12 )
在近似期间,等式12中的Rref(·)通过使用某些已知的近似方法被近似,以使得它成为线性地依赖于
Figure C20051011844200121
然后,等式12中的平方预测误差SPEk可被如下近似为:
SPE k ≈ Σ i = 1 P ( e i , 1 c 1 + e i , 2 c 2 + . . . + e i , N + M c N + M - q i ) 2 - - - ( 13 )
数值ei,1,...ei,N+M和qi取决于所使用的近似方法。
步骤2.矩阵的构建
由于在等式(13)中求平方的单元是系数cn的线性组合,所以等式(13)的最小化完全等效于以下的矩阵表示式的最小化
(Ekck-qk)T(Ekck-qk),    (14)
其中Ek,qk和ck由下式给出:
E k = e 1,1 e 1,2 . . . e 1 , N + M e 2,1 e 2,2 . . . e 2 , N + M . . . . . . . . . . . . e P , 1 e P , 2 . . . e P , N + M , q k = q 1 q 2 . . . q P , c k = c 1 c 2 . . . c N + M . - - - ( 15 )
步骤3.输出计算
运动分析器1的输出如下:
(1)矩阵Ak
A k = E k T E k . - - - ( 16 )
(2)矢量dk
d k = E k T q k . - - - ( 17 )
在分段合并功能块2中实行的合并操作确定,两个段Si和Sj是否能被组合成新的段Sk,以使得具有共同的运动系数矢量ck的运动补偿不会导致过分增加Sk中选择的误差测量值。
对于特定的段Si和Sj的分段对,合并操作包含以下步骤:
步骤1.共同的运动系数的估计
本发明的优选实施例利用先前未知的性质,即ck可通过求解线性方程的系统而被找到:
Akck=dk    (18)
其中
Ak=Ai+Aj,dk=di+dj.(19)
Ai,di和Aj,dj是由运动分析器功能块1分别对于段Si和Sj产生的。
步骤2.分段合并
通过使用运动系数矢量ck,判定段Si和Sj是否可被合并。如果它们可被合并,则新产生的段Sk的合并的矩阵Ak和矢量dk按照公式(19)被计算,即
Ak=Ai+Aj,dk=di+dj.(20)
步骤1-2被应用到所有相邻的段的分段对。
对于在分段合并以后得到的新的分段的每个段Sk,计算以下的数值:
(1)(N+M)×(N+M)上三角矩阵R1 k,即具有以下形式的矩阵:
Figure C20051011844200131
其中符号x表示非零元素,该矩阵是通过计算矩阵Ak的Cholesky因式分解得到的:
A k = ( R k 1 ) T R k 1 . - - - ( 21 )
(2)通过求解以下的方程组得出矢量z1 k
( R k 1 ) T z k 1 = d k . - - - ( 22 )
矩阵R1 k和矢量z1 k,连同分段信息一起,是加到例如正交化功能块3的输入参量。
在优选实施例中,使用以下的多项式基函数fn
f1(x,y)=f4(x,y)=1,f2(x,y)=f5(x,y)=y,f3(x,y)=f6(x,y)=x.(23)
通过利用Rref(·)的一阶Taylor(台劳)展开式,完成线性化步骤,
x′i=xi+Δx(xi,yi)               (24)
y′i=yi+Δy(xi,yi)
对于x和y:
R ref ( x i + Δ ^ x ( x i , y i ) , y i + Δ ^ y ( x i , y i ) ) ≈ R ref ( x i ′ , y i ′ ) +
                                      (25)
( Δ ^ x ( x i , y i ) - Δx ( x i , y i ) ) G x ( x i ′ , y i ′ ) + ( Δ ^ y ( x i , y i ) - Δy ( x i , y i ) ) G y ( x i ′ , y i ′ ) .
Gx(x’i,y’i)和Gy(x’i,y’i)是参考帧Rref(·)对于x和y的导数值。使用这样的近似,公式(15)中矩阵Ek和矢量qk的元素是:
e ij = f j ( x i , y i ) G x ( x i ′ , y i ′ ) , j = 1,2 , . . . , N f j ( x i , y i ) G y ( x i ′ , y i ′ ) , j = N + 1 , N + 2 , N + M , - - - ( 26 )
qi=In(xi,yi)-Rref(x′i,y′i)-Gx(x′i,y′i)Δx(xi,yi)-Gy(x′i,y′i)Δy(xi,yi).(27)
共同的运动系数估计被实现如下。
通过以下步骤求解方程18:
(1)计算(N+M)×(N+M)矩阵Ak的Cholesky因式分解
A k = ( R k 1 ) T R k 1 - - - ( 28 )
其中R1 k是(N+M)×(N+M)上三角矩阵。
(2)求解2个方程组,首先
( R k 1 ) T z k 1 = d k - - - ( 29 )
以便得到z1 k,然后
R k 1 c k = z k 1 - - - ( 30 )
以便得到实际的运动系数矢量。由于使用三角矩阵,二者都可通过回代而被解出。
分段合并如下地被执行:
分段Sk的拉格朗日花费(Lagrangian cost)被定义为:
L(Sk)=D(Sk)+λR(Sk).(31)
失真D(Sk)是在原先的和编码的段之间的平方误差。通过使用运动系数矢量ck预测段和随后压缩预测误差,而对该段进行编码。使用二维(2-D)离散余弦变换(DCT)来压缩预测误差。速率R(Sk)等于用在编码运动系数和DCT系数上的比特数。参量入具有某些预定的数值,它给出在编码帧的质量与对于它的压缩所需要的比特数之间的折衷参量。
为了决定段Si和Sj是否应当被合并,在这些段被合并成一个段Sk时拉格朗日花费的减小ΔLij被作为一个准则使用
ΔLij=(L(Si)+L(Sj))-L(Sk).(32)
对于得出段Sk的预测所必需的运动系数通过使用等式18进行计算。
分段合并程序过程从初始分段开始,以及进行如下:
(1)具有小于门限值(可能是负值)的ΔLij的那些相邻的段Si和Sj的分段对被定义为“非相邻”。(由于在以下步骤4中执行的更新数的很大减小,这个步骤对于减小总的计算花费特别重要)。
(2)在所有的分段对中间找出具有拉格朗日花费的最大减小的相邻的段的分段对。
(3)如果这个减小大于0合并,则这些段被合并。
(4)假定新的合并段的下标是k,对于新产生段Sk的所有的相邻的段Sl(l=1,...,L)的拉格朗日花费的减小,被重新计算如下:
(a)如果段Sk和Sl被合并而形成新的段Sm,则对于l=1,...,L,在段的组合区域中平方预测误差Δekl的增加,被计算为:
Δ e kl ≈ ( z k 1 ) T z k 1 + ( z l 1 ) T z l 1 - ( d k T + d k T ) c m . - - - ( 33 )
(b)计算拉格朗日花费的减小,该计算从其平方预测误差的增加是最小的段进行到其平方预测误差的增加是最大的段。如果遇到一个段Sl,使得ΔLkl是正的以及Δekl大于一个门限值(可能是自适应的),则计算停止。对于其余段,拉格朗日花费的减小被设置为某个负值。
(5)重复进行步骤1-3,直至对于所有可能的分段对,拉格朗日花费的减小是负值为止。
如果由于段SI和Sj合并成一个段Sk而引起的预测误差的增加小于某个预定的门限值,则矩阵Ak和矢量dk使用等式19被重新计算,以及共同的运动系数矢量ck使用等式18被计算。否则,
(1)通过使用运动估值找出段Sk的运动系数矢量ck
(2)矩阵Ak和矢量dk使用等式16-17被重新计算。
在估计象素值中,Rref(x,y)的数值只对于整数的坐标x和y被规定。当运动补偿预测需要估计在参考帧Rref中的非整数位置(x,y)处的亮度和色度值时,使用三次卷积内插。在x和y方向上的图象导数,(Gx(x,y)和Gy(x,y))也通过使用三次卷积被计算。通过三次卷积内插得出的连续函数的导数被计算,以及把它们解释为图象导数。
本发明可以在不背离它的本质的属性的情况下,以其它特定的形式被实施。因此当表示本发明的范围时,应当参考附属权利要求和这里的其它一般性说明,而不是以上的具体说明。
系统可以以各种方式被实施。以下部分可以作出变动:
(1)在等式11中可以使用不同的多项式基函数,
(2)在等式12中可以使用不同的方法进行线性化,
(3)不同的准则可被使用来判定是否合并或不合并两个段,
(4)不同的方法可被使用来求解方程组18。
而且,在本说明书(其包括权利要求)中揭示的和/或在附图上显示的每个特性在本发明中可以独立于其它揭示的和/或显示的特性而被引用。在这方面,本发明包括这里揭示的任何新颖的特性或特性的组合,或者是明显地或者是任何通用化地,不管它是否涉及要求权利的发明,或缓和了所针对的任何或所有的问题。
这里一起提交的附属的摘要被包括在说明书中,以供参考。

Claims (8)

1.用于视频数据的运动补偿编码的视频编码器,该视频编码器提供要被编码的当前帧的视频象素相对于参考帧的运动矢量区,以及该视频编码器具有运动区编码器,用于编码运动矢量区以提供压缩的运动信息,其中每个帧包括多个段,该运动区编码器包括运动分析器,该运动分析器包括用于计算和存储对于当前帧的每个段k的近似矩阵Ek和近似矢量qk的装置,这样,对于每个段的失真的预定的测量值Δek是Ekck-qk的函数,ck是一个矢量,该矢量包括与所述运动矢量区近似的一组多项式基函数fn的运动系数cn,以及运动分析器还包括用于从所述Ek和qk产生包括输出矩阵Ak和输出矢量dk的运动分析器输出参量的装置,其中Ak是Ek转置与Ek的乘积,以及dk是Ek转置与qk的乘积。
2.按照权利要求1的视频编码器,其中运动区编码器包括接收运动分析器的输出的分段合并功能块,分段合并功能块包括合并装置,用于在组合区域中的象素值能够通过使用共同的运动系数矢量被预测时合并相邻段Si和Sj的对,所述合并装置通过求解以下的线性方程,确定用于合并段Sk的共同的运动系数矢量ck
Akck=dk
其中Ak是通过运动分析器输出矩阵Ai和Aj的和值给出的合并的矩阵,以及dk是通过段Si和Sj各自的运动分析器输出矢量di和dj的和值给出的合并的矢量。
3.按照权利要求2的视频编码器,其中具有的拉格朗日花费的减小小于门限值的相邻的段被规定为非相邻的段,并不合并。
4.按照权利要求3的视频编码器,其中将段Si和Sj合并成一个段Sk是基于按照准则ΔLij=(L(Si)+L(Sj))-L(Sk)的拉格朗日花费减小ΔLij
其中,L(Si)是段Si的拉格朗日花费,L(Sj)是段Sj的拉格朗日花费,以及L(Sk)是段Sk的拉格朗日花费。
5.按照权利要求4的视频编码器,其中所述分段合并功能块包括:用于把根据所述准则具有低于预定门限值的拉格朗日花费减小ΔLij的段Si和Sj的那些对规定为非相邻的装置,用于在所有相邻段的对中间找出具有最大拉格朗日花费减小的一对相邻段的装置,以及用于在该减小超过零时合并所述相邻的段的装置。
6.按照权利要求5的视频编码器,包括用于重新计算新产生的段Sk的相邻的段S1的拉格朗日花费的装置,其中l=1,...L,它包括用于按照 Δe kl ≈ ( z k 1 ) T z k 1 + ( z l 1 ) T z l 1 - ( d k T + d l T ) c m 在段Sk和Sl被合并而形成新段Sm时针对l=1,...L计算在Sk和Sl的组合区域中对于相邻段的失真的预定测量值的增加、以及计算拉格朗日花费减小的装置,其中,该对于相邻段的失真的预定测量值是平方预测误差Δekl,该计算拉格朗日花费减小从其平方预测误差的增加是最小的段进行到其平方预测误差的增加是最大的段,直至遇到一个段Sl使得ΔLkl是正的以及所述组合区域的平方预测误差Δekl超过一个门限值,其中Cm是第m个新段的运动系数矢量,z1 k、z1 l是各相邻段l和k的第1组的辅助矢量。
7.按照权利要求2的视频编码器,其中如果确定段Si和Sj是要被合并的,则合并段Sk的输出矩阵Ak和输出矢量dk按照下式被计算:
Ak=Ai+Aj,dk=di+dj
8.按照权利要求2的视频编码器,其中对于每个合并的段,输出参量矩阵R1 k和矢量z1 k被提供,其中:
(1)矩阵R1 k按照下式被构建:
Figure C2005101184420003C2
其中符号x表示非零元素,以及通过计算矩阵Ak的因式分解而得到:
A k = ( R k 1 ) T R k 1 ,
以及
(2)通过求解以下的方程组得出矢量z1 k
( R k 1 ) T z k 1 = d k .
CNB2005101184427A 1998-10-27 1999-10-25 视频编码器 Expired - Fee Related CN100518328C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9823442A GB2343319B (en) 1998-10-27 1998-10-27 Video coding
GB9823442.0 1998-10-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB998127043A Division CN1235412C (zh) 1998-10-27 1999-10-25 对视频数据进行运动补偿编码的方法

Publications (2)

Publication Number Publication Date
CN1756366A CN1756366A (zh) 2006-04-05
CN100518328C true CN100518328C (zh) 2009-07-22

Family

ID=10841328

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB998127043A Expired - Fee Related CN1235412C (zh) 1998-10-27 1999-10-25 对视频数据进行运动补偿编码的方法
CNB2005101184427A Expired - Fee Related CN100518328C (zh) 1998-10-27 1999-10-25 视频编码器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB998127043A Expired - Fee Related CN1235412C (zh) 1998-10-27 1999-10-25 对视频数据进行运动补偿编码的方法

Country Status (9)

Country Link
US (1) US6507617B1 (zh)
EP (1) EP1127458B1 (zh)
JP (1) JP4573438B2 (zh)
KR (1) KR100637367B1 (zh)
CN (2) CN1235412C (zh)
AU (1) AU3420400A (zh)
DE (1) DE69904749T2 (zh)
GB (1) GB2343319B (zh)
WO (1) WO2000030352A2 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE241887T1 (de) * 1999-08-11 2003-06-15 Nokia Corp Adaptive bewegungsvektorfeldkodierung
US6735249B1 (en) 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US6738099B2 (en) * 2001-02-16 2004-05-18 Tektronix, Inc. Robust camera motion estimation for video sequences
GB2374479B (en) * 2001-04-12 2005-05-04 Snell & Wilcox Ltd Video signal processing
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US8218811B2 (en) 2007-09-28 2012-07-10 Uti Limited Partnership Method and system for video interaction based on motion swarms
US8891626B1 (en) * 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
WO2013006386A1 (en) 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
US20130083845A1 (en) 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
EP2595382B1 (en) 2011-11-21 2019-01-09 BlackBerry Limited Methods and devices for encoding and decoding transform domain filters
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10341561B2 (en) * 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1157079A (zh) * 1995-04-25 1997-08-13 菲利浦电子有限公司 用于编码视频图像的装置和方法
US6345145B1 (en) * 1995-08-25 2002-02-05 Sony Corporation Signal recording/reproducing method and apparatus, signal record medium and signal transmission/reception method and apparatus
DE69625790T2 (de) * 1995-09-01 2003-11-20 Philips Electronics Na Verfahren und vorrichtung für anpassbare operationen durch einen prozessor
KR100381061B1 (ko) * 1995-10-20 2003-08-19 노키아 모빌 폰즈 리미티드 모션벡터필드코딩
WO1997040628A1 (en) * 1996-04-19 1997-10-30 Nokia Mobile Phones Limited Video encoder and decoder using motion-based segmentation and merging
KR100239349B1 (ko) * 1996-12-20 2000-01-15 구자홍 역이산 코사인 변환기의 데이타 포멧 변환 회로
US6289053B1 (en) * 1997-07-31 2001-09-11 Lsi Logic Corporation Architecture for decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
US6266091B1 (en) * 1997-07-31 2001-07-24 Lsi Logic Corporation System and method for low delay mode operation video decoding

Also Published As

Publication number Publication date
WO2000030352A2 (en) 2000-05-25
WO2000030352A8 (en) 2000-08-17
CN1756366A (zh) 2006-04-05
EP1127458A2 (en) 2001-08-29
KR20010080914A (ko) 2001-08-25
JP4573438B2 (ja) 2010-11-04
GB2343319A (en) 2000-05-03
EP1127458B1 (en) 2003-01-02
CN1235412C (zh) 2006-01-04
CN1328745A (zh) 2001-12-26
GB9823442D0 (en) 1998-12-23
DE69904749T2 (de) 2003-09-11
DE69904749D1 (de) 2003-02-06
GB2343319B (en) 2003-02-26
AU3420400A (en) 2000-06-05
US6507617B1 (en) 2003-01-14
JP2003522432A (ja) 2003-07-22
WO2000030352A3 (en) 2000-10-12
KR100637367B1 (ko) 2006-10-20

Similar Documents

Publication Publication Date Title
CN100518328C (zh) 视频编码器
EP0801504B1 (en) Method for encoding a contour of an object in a video signal by using a contour motion estimation technique
US7292731B2 (en) Image encoder, image decoder, image encoding method, and image decoding method
US5737449A (en) Apparatus for encoding a contour of regions contained in a video signal
US7643690B2 (en) Image decoding and encoding apparatus, method and computer readable storage medium
US5686973A (en) Method for detecting motion vectors for use in a segmentation-based coding system
KR20110003438A (ko) 움직임 추정 방법, 시스템 및 컴퓨터 판독가능 매체
EP1523196A2 (en) Encoding system of motion image containing arbitrary object
WO2002065784A1 (en) Motion information coding and decoding method
EP1621022B1 (en) Method and apparatus for determining search range for adaptive motion vector for use in video encoder
KR100922510B1 (ko) 영상의 부호화 및 복호화 방법, 장치 및 그 애플리케이션
CN102595130B (zh) 图像编码装置和图像解码装置
CN100456836C (zh) 编码设备和方法
GB2327550A (en) Motion vector estimation using weighted block matching
CN102265615B (zh) 使用参考因果区的重新分区的图像预测、以及使用这样的预测的编码和解码
EP2034742A2 (en) Video coding method and device
KR100301849B1 (ko) 추정된 왜곡값을 사용하는 분수-화소 움직임 추정 방법 및 장치
JPH10276440A (ja) 映像信号の形状情報予測符号化方法及び装置
CN105338354A (zh) 一种运动向量估计方法和装置
CN1159236A (zh) 用于再生紧凑运动矢量场的方法与装置
JP5512696B2 (ja) ビデオピクチャ系列の動きパラメータを予測及び符号化する方法及び装置
Luo et al. A new algorithm on MPEG-2 target bit-number allocation at scene changes
JP2001224036A (ja) 動画像符号化装置
Gimeno et al. A new approach to texture coding using stochastic vector quantization
JPH0746595A (ja) 動画像符号化器および復号化器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NOKIA NETWORKS OY

Free format text: FORMER OWNER: NOKIA MOBIL CO., LTD.

Effective date: 20080711

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080711

Address after: Espoo, Finland

Applicant after: Nokia Oyj

Address before: Espoo, Finland

Applicant before: Nokia Mobile Phones Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090722

Termination date: 20111025