视频信息编码和解码方法、运动补偿视频编码器和相应的解码器的制作方法

文档序号:7965407阅读:182来源:国知局
专利名称:视频信息编码和解码方法、运动补偿视频编码器和相应的解码器的制作方法
技术领域
本发明涉及视频编码。具体地说,涉及利用运动补偿预测对视频信息的压缩。
背景技术
视频序列包括大量的视频帧,视频帧又由大量的像素组成,每一个像素由一组数字位代表。因为典型的视频序列中有大量的视频帧,一个视频帧中又都有大量的像素,所以表示视频序列所需要的数据量迅速增大。例如,一个视频帧包括一个640乘480个像素的阵列,每一个像素有RGB(红、绿、蓝)彩色表示,每个色分量8位,总共每帧有7,372,800位。视频序列包括一系列静止图像,后者一般用每秒15-30帧的速率记录/显示。这样,单独地传输每帧中每个像素的信息,所需的数据量便非常庞大。
视频编码要处理减少传输信息量的问题,以便能以可以接受的图像质量呈现视频序列。例如,在视频电话中,编码的视频信息是利用传统的电话网络传输的,其中传输位速率一般为64kilobits/s(千位/秒)的倍数。在移动视频电话中,其中传输至少一部分是在无线电通信链路上进行的,可用的传输位速率可能低达20kilobits/s。
在一般的视频序列中,依次出现的帧内容的变化在很大程度上是场景运动的结果。这种运动可以是由于摄像机的运动或是由于场景中出现的物体的运动而造成的。因此,一般的视频序列的特征是具有明显的时间相关性,沿着运动轨迹该相关性最高。视频序列的有效压缩一般都利用视频序列的这个特性。运动补偿预测在视频压缩方面是一种被广泛接受的技术。它利用这样的一个事实,即在一般的视频序列中,给定这两帧之间的运动轨迹,一个特定帧片段中的图像强度/色度值便可以利用其他某个已经编码和发送的帧的图像的强度/色度值预测。有时最好发送整个帧,以防止误差累积致使图像质量下降,并提供附带的功能,例如,对视频序列的随机存取。
一个利用运动补偿预测的示例性视频编码系统的示意图示于附图的图1和2。图1举例说明利用运动补偿的编码器10,而图2举例说明相应的解码器20。利用运动补偿的编码器的工作原理是使预测误差帧En(x,y)最小化,误差帧是正在编码的当前帧In(x,y)和预测帧Pn(x,y)之间的差值。于是预测误差帧为En(x,y)=In(x,y)-Pn(x,y)(1)预测帧是利用基准帧Rn(x,y)的像素值和像素运动构造的,基准帧是以前编码和传输的一个帧(例如,当前帧的前一帧),而像素运动是当前帧和基准帧之间的像素运动。像素运动可以表达为当前帧In(x,y)中位置(x,y)处像素的水平和垂直位移值Δx(x,y)和Δy(x,y)。这对数值[Δx(x,y),Δy(x,y)]称为该像素的运动矢量。运动矢量一般利用某些已知的函数(称为基本函数)和系数(这在下文中将更详细讨论)表达,而近似的运动矢量场(Δx(x,y),Δy(x,y))可以利用系数和基本函数构造。
预测帧由下式给出Pn(x,y)=Rn[x+Δx(x,y),y+Δy(x,y)] (2)式中基准帧Rn(x,y)在给定瞬间在编码器10的帧存储器17和在解码器20的帧存储器24中已存在。携带有关运动矢量的信息的一条信息流2与有关预测误差(1)的信息在多路复用器16中结合,并向解码器20送去一般至少包含这两类信息的信息流(3)。
在预测误差编码框14中,预测误差帧En(x,y)一般通过将其表达为某个二维函数的有限序列(变换)而加以压缩。例如,可以采用二维离散余弦变换(DCT)。有关每个函数的变换系数在把它们被发送到解码器之前(图1中的信息流1)进行量化和熵编码。由于量化引入的误差,这个操作一般在预测误差帧En(x,y)中产生某种程度的退化。
解码器20的帧存储器24中存有前一次重构的基准帧Rn(x,y)。利用解码后的运动信息(Δx(x,y),Δy(x,y))和Rn(x,y),即可在解码器20的运动补偿预测框21中重构预测帧Pn(x,y)。所传输的预测误差帧En(x,y)的变换系数在预测误差解码框22中构造解码预测误差帧En(x,y)。通过把预测帧Pn(x,y)和解码的预测误差帧En(x,y)相加,即可重构解码的当前帧In(x,y)中的像素。
In(x,y)=Pn(x,y)+En(x,y)=Rn[x+Δx(x,y),y+Δy(x,y)]+En(x,y) (3)这个解码的当前帧可以作为下一个基准帧Rn+1(x,y)存储在帧存储器24中。
接着让我们更详细地讨论运动补偿和运动信息的传输。解码器10的运动补偿预测框13中预测帧Pn(x,y)的构造需要有关当前帧In(x,y)中运动的信息。在编码器10的运动场估计框11中计算运动矢量[Δx(x,y),Δy(x,y)]。当前帧中所有像素的一组运动矢量[Δx(.),Δy(.)]称作运动矢量场。由于一帧中像素的数量非常巨大,把每一个像素单独的运动矢量传输给解码器效率不高。在大多数视频编码方案中代之以把当前帧划分成较大的图像片段,并将有关片段的信息传输给解码器。
运动矢量场在编码器10的运动场编码框12中编码。运动场编码是指利用某些预定的函数来表达帧中的运动,或者,换句话说,用模型来表达它。
一般采用的几乎所有的运动矢量场模型都是加法运动模型。运动补偿视频编码方案可以用以下一般的公式来定义图像片段的运动矢量
Δx(x,y)=Σi=0N-1aifi(x,y)---(4)]]>Δy(x,y)=Σi=0M-1bigi(x,y)---(5)]]>式中系数ai和bi称作运动系数,它们被传送到解码器。函数fi和gi称作运动场基本函数,而它们对编码器和解码器来说都是已知的。
为了把运动系数发送到解码器所需的信息量减到最小,系数可以从相邻片段的系数预测。采用这种运动场预测时,运动场表达为预测运动场和精细化运动场的和。预测运动场采用与当前帧的相邻片段有关的运动矢量。预测是利用在编码器和解码器中都相同的一组规则和可能的某些辅助信息完成的。对精细化运动场进行编码,并将与这个精细化运动场相关的运动系数送到解码器。采用这种方法一般能节省传输位速率。图1中的虚线说明某些运动估计和编码方案在运动场估计框11和运动场编码框12中可能要求的信息的某些示例。
多项式运动模型是广泛应用的一组模型。(例如,见H.Nguyen和E.Dubois在Proc.Picture Coding Symposium,‘90,Cambridge,Massachusetts,March,26-18,1990,pp.841-845的《(图像编码用的运动信息的表达》一文和Centre de Morphologie Mathematique(CMM)《(采用多判据区域合并的分段算法》Document SIM(95)19,COST 211ter ProjectMeeting,May 1995)一文。运动矢量的数值用函数描述,该函数是两个二维多项式函数的线性方程组。平移运动模型是最简单的模型,描述每个片段的运动矢量只需要两个系数。运动矢量的数值由下式给出Δx(x,y)=a0Δy(x,y)=b0(6)这个模型广泛用于不同的国际标准(ISO MPEG-1,MPEG-2,MPEG-4,ITU-T建议H.261和H.263)来描述16×16和8×8像素块的运动。利用平移运动模型的系统一般以全像素分辨率或者例如,以1/2或1/3像素分辨率等全分辨率的某个整分数来完成运动估计。
两个其他广泛采用的模型是由以下方程式给出的仿射运动模型Δx(x,y)=a0+a1x+a2yΔy(x,y)=b0+b1x+b2y(7)和由下式给出的二次运动模型Δx(x,y)=a0+a1x+a2y+a3xy+a4x2+a4y2Δy(x,y)=b0+b1x+b2y+b3xy+b4x2+b4y2(8)仿射运动模型代表运动系数个数和预测性能之间非常方便的折衷。它只用少数系数就可以表达一般的现实生活的运动类型,诸如平移、旋转、缩放和剪切。二次运动模型提供良好的预测性能,但在编码中不如仿射模型用得普遍,因为二次模型要使用较多的系数,而同时预测性能并没有显著改进。此外,在计算上,估计二次运动的代价比估计仿射运动的代价高。
当运动场利用幂次较高的运动模型(诸如,例如,用方程式7和8表达的)时,运动场估计得出用实数表达的运动场。在这种情况下,运动系数须要在发送给解码器之前量化为离散的精确度。
运动场估计框11计算给定片段Sk中像素的运动矢量[Δx(x,y),Δy(x,y)],使该片段中的预测误差的某些量度减到最小。在最简单的情况下,运动场估计使用当前帧In(x,y)和基准帧Rn(x,Y)作为输入数值。一般运动场估计框向运动场编码框12输出运动场[Δx(x,y),Δy(x,y)]。运动场编码框在向解码器发送何种类型的运动矢量场和运动矢量场如何编码上作出最后判断。它可以改变运动模型和运动系数,以便把描述令人满意的运动矢量场所需的信息量减到最小。
发送的视频帧的图像质量取决于构造预测帧的精确度,换句话说,取决于发送的运动信息的精确度和所发送的预测误差信息的精确度。这里精确度一词不仅指运动场模型表达帧内运动的能力,而且指表达运动信息和预测误差信息用的数值精确度。以高精确度发送的运动信息可能由于预测误差帧的低精确度而在解码阶段被抵消,反之亦然。
如上所述,当前的视频编码系统使用各种运动估计和编码技术。运动信息的精确度和传输运动信息所需的传输位速率一般决定于运动估计和编码技术的选择,而选定的技术一般都应用到整个视频序列。一般说来,发送的信息量随着所发送的运动信息精确度的提高而增大。
总而言之,较高的图像质量要求较大的传输信息量。一般说来,若可用的传输位速率有限,则这个限制便决定了所传输的视频帧可能达到的最佳图像质量。也可以以某个目标图像质量为目标,于是传输位速率便取决于目标图像质量。在当前的视频编码和解码系统中,传输位速率和图像质量之间的折衷主要通过调整表达预测误差帧的精确度来实现。这个精确度可以,例如,随帧而变,甚至在同一个帧的不同片段之间也可以改变。
改变所发送的预测误差帧的精确度的问题在于,例如,在顺应新的可用的传输位速率时,它可能引起整个视频编码性能不可预测的下降。换句话说,所达到的图像质量并不像考虑传输位速率预期的那么好。当只有较低的传输位速率可用时,图像质量可能急剧下降,或者甚至采用较高的传输位速率,图像质量也可能得不到提高。

发明内容
本发明的目的是提供一种用于对视频信息进行编码/解码的灵活而通用的运动补偿方法;本发明的另一个目的是提供一种对不同的传输位速率都能保证良好的传输视频质量的方法;再一个目的是该方法可以采用不同的运动估计和编码技术。
这些目的和其他目的是通过选择运动系数的量化精确度来达到的,使得所传输的运动信息的精确度与预测误差信息的精确度兼容。
本发明的方法是一种用于对视频信息进行编码的方法,它包括以下步骤
-估计一段基准视频信息和一段当前的视频信息之间的图象单元的运动,-利用某一组基本函数和某些运动系数建立图象单元运动模型,-定义某一组量化器,-根据某个预定的选择判据从该组量化器中选择一个运动系数量化器,以及-利用所选择的运动系数量化器量化运动系数。
在按照本发明的方法中,估计某一段基准视频信息和一段当前视频信息之间的图象单元运动。利用某些基本函数和运动系数表示所得的运动矢量场。这些基本函数对编码器和解码器都是已知的,所以所述系数的传输使解码器能够决定图象单元运动的估计值。该系数值一般都是实数,因此为了利用某个位数把这些系数表达到某个离散的精确度,就需要量化。这些系数在传输到解码器之前或者在它们构造预测帧之前进行量化。
在按照本发明的方法中,提供一组量化器。这里,量化器一词指的是把实数映射到某个重构值的功能。对于每个重构值,都有一个决定映射到/量化为所述重构值的实数范围的量化间隔。例如,量化间隔的大小对于每个重构值可以都是相同的(均匀量化器),或者量化间隔的大小对于每个重构值可以是不同的(非均匀量化器)。量化间隔决定了系数的表达精确度。该组中的量化器可以全都是类似的,使得重构值和量化间隔的标度利用某个参数随量化器的变化而缩放。也可以一组量化器包括不同类型的量化器,例如,既有均匀的又有非均匀的。在详细描述本发明时还将讨论量化器。
在按照本发明的方法中,量化器的选择判据可以是,例如,目标图像质量或目标传输位速率。量化器的选择还可以受其他某些取决于目标图像质量和目标传输位速率的变量约束。每当目标传输位速率改变时可以选择新的量化器。例如,可以对同一个视频帧的不同部分使用不同的量化器。
按照本发明,当目标图像质量改变时,可以调整预测误差信息和被编码和传输的运动信息两者所具有的精确度。因此,对于每个图像质量或传输位速率,都可以获得良好的整体编码性能。例如,可以既调整预测误差信息的精确度,又调整运动信息的精确度,以便使利用某种位速率传输编码的视频流成为可能。例如,也可以由目标图像质量决定预测误差信息的精确度,并且,在按照本发明的方法中,调整运动信息的精确度,使之与预测误差精确度兼容量化不应太细,因为超出了预测误差信息所提供的精确度范围,运动信息并不能提高图像的质量,但也不应太粗,因为量化过粗的运动信息会降低预测误差信息所提供的图像质量。
按照本发明的方法对获取运动系数所用的运动场估计或运动场编码技术不加任何限制。因此可以和任何一种这样的技术一起应用。例如,可以用运动模型自适应技术,通过提供对不同精确度的运动场估计和/或编码技术的选择来避免利用精确度过高的运动场估计和运动场编码技术所带来的代价。于是可以根据目标图像质量或目标位速率选择适当的运动场估计和/或编码技术,而预测误差信息精确度和运动信息精确度之间的微调可以通过选择适当的量化器完成。
本发明可以直接用于现有的运动补偿视频编码方法和系统。在这样的先有技术系统中,运动系数的量化一般以对某个目标图像质量工作得很好的某个预定的精确度完成的。当目标图像质量或可用的传输位速率明显地不同于设计的图像质量时,视频编码器就会产生一个比原定的传输位速率下达到的图像质量更差的图像质量。按照本发明,这种影响可以通过选择运动系数用的更适合的量化器消除。
本发明还涉及用于对已编码的视频信息进行解码的方法,它包括以下步骤-接收描述图象单元运动的已量化的运动系数,-定义某一组反量化器,-确定量化所述运动系数用的所选的运动系数量化器,-利用与所选运动系数量化器相应的反量化器对已量化的运动系数进行反量化,-利用已反量化的运动系数和某些基本函数确定图象单元的运动,以及-利用一段基准视频信息和已确定的图象单元运动确定一段预测视频信息。
按照本发明的编码器是一种用于进行视频信息运动补偿编码的编码器,它包括-用于接收一段当前视频信息的装置,-用于存储一段基准视频信息的存储装置,-运动场估计装置,用以至少利用所述一段基准视频信息估计所述一段当前视频信息中图象单元的运动场,-运动场编码装置,它包括-用于产生描述所估计的运动场的运动系数的装置,-第一选择装置,用以从一组量化器中选择一个量化器,所述第一选择装置具有用以接收表示选择判据的信息的输入端和用以发送表示所选量化器的信息的输出端,-量化装置,用以利用所选量化器量化运动系数,所述量化装置具有用以接收表示所选量化器的信息的输入端、用以接收运动系数的第二输入端和用以发送量化后的运动系数的输出端,以及-运动补偿预测装置,它包括-第二选择装置,用以从一组反量化器中选择一个反量化器,所述第二选择装置具有用以接收表示选择判据的信息的输入端和用以发送表示所选反量化器的信息的输出端,-反量化装置,用以利用所选反量化器对已量化的运动系数进行反量化,所述反量化装置具有用以接收已量化的运动系数的输入端、用以接收表示所选反量化器的信息的第二输入端和用以发送已反量化的运动系数的输出端,以及-利用至少所述一段基准视频信息和已反量化的运动系数确定一段预测视频信息用的装置。
本发明还涉及一种用于对已编码的视频信息进行解码的解码器,它包括-用以存储一段基准视频信息的存储装置,-用以接收已量化的运动系数的输入装置,和
-运动补偿预测装置,它包括-选择装置,用以从一组反量化器中选择一个反量化器,所述第二选择装置具有用以接收表示选择判据的信息的输入端和用以发送表示所选反量化器的信息的输出端,-反量化装置,用以利用所选反量化器对已量化的运动系数进行反量化,所述反量化装置具有用以接收已量化的运动系数的输入端、用以接收表示所选反量化器的信息的第二输入端和用以发送已反量化的运动系数的输出端,以及-预测装置,用以利用至少所述一段基准视频信息和已反量化的运动系数决定一段预测视频信息。
在本发明一个有利的实施例中,编码器和解码器结合成编码解码器的形式。编码器和解码器的运动补偿预测部分是类似的,它们可以设置公用部分,例如,后者被安排成交替地作为编码器的一部分和解码器的一部分工作。
本发明还涉及计算机程序元件,用以对视频信息进行运动补偿编码,它包括-用于接收一段当前视频信息的装置,-用以存储一段基准视频信息的存储装置,-运动场估计装置,用以利用至少所述一段基准视频信息估计所述一段当前视频信息中图象单元的运动场,-运动场编码装置,它包括一用于产生描述所估计的运动场的运动系数的装置,-第一选择装置,用以从一组量化器中选择一个量化器,所述第一选择装置具有用以接收表示选择判据的信息的输入端和用以发送表示所选量化器的信息的输出端,-量化装置,用以利用所选量化器量化运动系数,所述量化装置具有用以接收表示所选量化器的信息的输入端、用以接收运动系数的第二输入端和用以发送量化后的运动系数的输出端,以及-运动补偿预测装置,它包括
-第二选择装置,用以从一组反量化器选择一个反量化器,所述第二选择装置具有用以接收表示选择判据的信息的输入端和用以发送表示所选反量化器的信息的输出端,-反量化装置,用以利用所选反量化器对已量化的运动系数进行反量化,所述反量化装置具有用以接收已量化的运动系数的输入端、用以接收表示所选反量化器的信息的第二输入端和用以发送已反量化的运动系数的输出端,以及-用以利用至少所述一段基准视频信息和已反量化的运动系数确定一段预测视频信息用的装置。
按照本发明的第二计算机程序元件是一种用以对已编码的视频信息进行解码的计算机程序元件,它包括-用以存储一段基准视频信息的存储装置,-用以接收已量化的运动系数的输入装置,和-运动补偿预测装置,它包括-选择装置,用以从一组反量化器选择一个反量化器,所述第二选择装置具有用以接收表示选择判据的信息的输入端和用以发送表示所选反量化器的信息的输出端,-反量化装置,用以利用所选反量化器对已量化的运动系数进行反量化,所示反量化装置具有用以接收已量化的运动系数的输入端、用以接收表示所选反量化器的信息的第二输入端和用以发送已反量化的运动系数的输出端,以及-预测装置,用以利用至少所述一段基准视频信息和已反量化的运动系数确定一段预测视频信息。
按照本发明一个有利的实施例,在计算机可读介质上安装一个计算机程序元件作为上面规定的计算机程序元件。
本发明提供了一种用于对视频信息进行运动补偿编码的编码器,该编码器包括-用于相对于一段基准视频信息估计一段当前视频信息中图象单元的运动的装置,
-用于利用一组基本函数和相关的运动系数表达所述图象单元的运动的装置,-用于从一预定运动系数量化器组中选择一个运动系数量化器的装置,-用于利用所选的运动系数量化器量化所述运动系数的装置,从而以一预定准确性表达运动系数,-用于反量化已量化的运动系数并利用所述一组基本函数和已反量化的运动系数从该段基准视频信息形成所述图象单元的一个预测的装置-用于形成所述图象单元的预测误差信息的装置,该预测误差信息表达所述图象单元的预测和所述图象单元的视频信息之间的差值,-用于利用预测误差量化器量化所述预测误差信息的装置,从而以预定的准确性表达所述预测误差信息,所述的编码器还包括用于根据一个预定的选择判据来选择所述运动系数量化器的装置,使得所述图象单元的运动系数所用以表达的预定准确性同所述的预测误差信息所用以表达的预定准确性匹配。
本发明还提供了一种用于对已编码的视频信息进行解码的解码器,该解码器包括-用于接收相对于一段基准视频信息的已编码视频信息和预测误差信息的装置,已编码的视频信息包含表达图象单元运动的已量化的运动系数,已量化的运动系数由预定的准确性来表达,该预测误差信息由预定准确性来表达,已在视频编码器中用一运动系数量化器来量化的已量化的运动系数是根据一个预定的选择判据来选择的,使得所述图象单元的运动系数所用以表达的预定准确性同所述的预测误差信息所用以表达的预定准确性相匹配;-用于定义一组反运动系数量化器的装置,-用于确定量化了所述运动系数的所选的运动系数量化器的装置,-用于从该组反量化器中选择一个反量化器的装置,所选的反运动系数量化器对应于所选的运动系数量化器,-用于利用所选的反量化器对已量化的运动系数反量化的装置,
-用于利用已反量化的运动系数和一组基本函数表达图象单元的运动的装置,从而形成一个表达所述图象单元的运动的模型,并-用于利用表达图象单元运动的所述模型从该段基准视频信息形成所述图象单元的预测视频信息的装置。
考虑作为本发明的特征的新型特征由后附权利要求书具体提出。结合附图阅读以下具体实施例的描述,就会明白本发明本身、它的构造和工作方法,及其附加的目标和优点。


图1举例说明按照先有技术的运动补偿视频编码用的编码器;图2举例说明按照先有技术的运动补偿视频编码用的解码器;图3举例说明一组均匀量化器;图4举例说明一个修改后的均匀量化器;图5举例说明按照本发明的运动补偿视频编码方法的流程图;图6举例说明按照本发明的运动补偿视频解码方法的流程图;图7举例说明按照本发明第一推荐实施例的编码器的运动场编码和运动补偿预测框;图8举例说明按照本发明第二推荐实施例的运动补偿视频编码用的编码器;图9举例说明按照本发明第二推荐实施例的运动补偿视频解码图10举例说明按照本发明第三推荐实施例的编码器的运动场编码框。
具体实施例方式
图1和2详细讨论按照先有技术的运动补偿视频编码和解码。
在按照本发明的编码和解码器中,定义了一组量化器。不同的量化器在重构值和间隔的选择方法上不同。运动系数的量化器ai,例如,可以利用以下方程式完成
式中q是量化参数,定义重构点之间间隔,而[X]是“floor”运算(不大于X的最大整数)。在这种情况下,量化输出ai是整数下标,后者可以熵编码并发送给解码器。在这个示例中,相应的反量化器操作可以由下式定义a~i=qa~i---(10)]]>而已反量化的运动系数ai用来近似原来的系数ai。方程式9和10定义具有平均分布的重构值和同样大小的重构间隔的均匀量化器。图3举例说明具有不同的qq1,q2和q3值的3个均匀量化器。
图4举例说明一个修改后的均匀量化器。在这个量化器中,参数q定义重构点。系数ai值映射到ai=0时的量化间隔大于其他恒定大小的量化间隔。这个量化器可以,例如,利用附加的参数ε定义,这是ai=0时的量化间隔增量的一半。按照修改的均匀量化器,例如,可以由下式定义 式中,sgn(ai)给出ai的符号。相应的反量化操作可以,例如,用方程式10定义。
采用修改过的均匀量化器时,量化的系数ai的传输很可能需要较少的位。这是因为相当于数值接近0的量化间隔大于均匀量化器,一般0值量化系数可以利用比具有非0值的量化系数少的位传输。
作为量化器的示例,上面描述了可以用于按照本发明的方法的两个不同的量化器。量化间隔的大小与表达量化系数ai所需的位数成反比。量化间隔还确定反量化后的系数ai对应于原来系数ai的精确度。于是量化间隔就是量化精确度和向解码器传输运动系数所需的信息量的折衷。在按照本发明的方法中,为了量化运动系数而定义了一组量化器。该组量化器可以包括例如具有各种q值的不同的均匀量化器。
图5是按照本发明的运动补偿视频编码方法的流程图。在步骤501,定义一组量化运动系数用的量化器。这些量化器可以,例如,是具有不同量化间隔,亦即不同q值的均匀量化器。采用均匀量化器时,在步骤501定义允许的量化间隔就够了。在步骤502定义选择量化器用的适当判据。这个判据可以,例如,是目标图像质量或目标位速率。还可以根据以前选择的预测误差量化器来选择运动信息。在步骤503,接收当前帧In(x,y)。在步骤504利用某些基本函数fi(x,y)和gi(x,y)和系数ai和bi,例如,逐个片段地估计当前帧中的运动,并建模。于是运动矢量场表达为Δx(x,y)=Σi=0N-1aifi(x,y)]]>Δy(x,y)=Σi=0M-1bigi(x,y).]]>选择按照本发明的量化器并不会对可以使用的运动场估计和/或编码方法加以任何限制。运动矢量场的估计和编码可以,例如,利用任何先有技术运动补偿视频编码方案中的任何技术来制造。对运动场矢量进行编码用的这些基本函数最好是正交的,因为正交函数对在解码后的运动系数中量化引起的误差不那么敏感。但是,任何基本函数都可以采用。另外,编码后的运动矢量场可以,例如,是用来校正利用该帧内邻近片段的运动预测运动矢量场的精细化运动矢量场。
当用平移模型表达运动矢量场时,运动矢量场的估计一般利用某个精确度进行。这个精确度是用以决定运动系数a0和b0的上限(亦即可能是最优的精确度)。利用按照本发明的量化,可以降低运动系数向接收器传输的精确度。
在步骤505,选择准备用于运动系数ai和bi量化的量化器,而在步骤506量化运动系数,得出量化系数ai和bi。在步骤511把它们传输到接收器。接收器最好参照,例如,编码预测误差信息用的量化器(QP)或编码的视频流的目标位速率来决定运动信息量化器。若运动系数量化器是参照编码预测误差信息用的编码器QP选择的,则接收器可以隐含地决定运动系数量化器。在这种情况下,例如,不必选定q值的明显表示。但是,这是在步骤512传输与q相关的信息的另一个方案。它可以作为编码视频帧的一部分发送,它还可以间接地向接收器发信号。另外,接收器可以从,例如,传输量化系数用的格式决定所选择的量化器。
在步骤507可以利用基准帧Rn(x,y)求出预测帧Pn(x,y)。
Pn(x,y)=Rn(x+Δx(x,y),y+Δy(x,y))反量化系数ai和bi一般用来构造Δx(x,y)=∑aifi(x,y)和Δy(x,y)=∑bigi(x,y)。然后可以决定预测误差帧En(x,y)=In(x,y)-Pn(x,y),可以对其进行编码(步骤509),编码后可以利用编码的预测误差系数ci表达预测误差帧。在步骤510,利用第二量化器对预测误差系数ci进行量化。所得量化的预测误差系数ci在步骤511发送给接收器。第二量化器的选择已超出了本发明的范围。一般说来,它的选择由目标图像质量决定。作为另一方案,可以按照视频图像标准,例如,ITU-T建议H.261和H.263的要求定义。
上面是用作一段视频信息的示例的一个帧。在按照本发明的编码和解码方法和设备中,除逐帧外,还可以,例如,逐块或逐片段地传输和处理视频信息。
图6举例说明按照本发明运动补偿编码的视频帧解码方法的流程图。在步骤601,定义一组反量化器,而在步骤602接收量化系数ai和bi。在步骤603决定运动信息量化器。这可以,例如,通过从所接收的预测误差编码数据决定预测误差量化器,或者按照预定的一组规则选择运动系数用的反量化器而决定运动信息量化器。作为另一个方案,反量化器可以按照所接收的位流的明确表示选择。然后,进行运动系数的反量化(步骤604),结果得出反量化的运动系数ai和bi。在步骤605,决定基本函数fi(x,y)和gi(x,y)。若运动估计和编码技术只使用某些基本函数,则基本函数可以用演绎方法决定。还可以这样若运动估计和编码技术采用运动模型自适应技术,则在这种情况下把关于所选的基本函数的信息传输给接收器。关于这些的信息可以是,例如,在编码帧内部传输,不然基本函数可以是对编码方法和解码方法都是已知的。
在步骤606,至少利用反量化运动系数和基本函数来决定图象单元运动。然后可以在步骤607决定预测帧Pn(x,y)。在步骤608,已量化的预测误差系数ci利用与预测误差相关的反量化器反量化。在步骤609,利用反量化的预测误差系数ci构造解码的预测误差帧En(x,y)。在步骤610,例如,利用In(x,y)=Pn(x,y)+En(x,y)计算解码的当前帧。
图7是按照本发明第一推荐实施例的运动补偿视频编码器的运动场编码框和运动补偿预测框的示意图。在运动场编码框12中运动场编码是利用运动矢量场编码框51进行的。运动矢量场编码框的输出包括运动系数ai和bi。量化框30负责运动系数的量化。它利用所选出的量化器31进行量化。量化器选择框32包括一组量化器33,并从量化器33中选出当前使用的量化器。量化器选择判据框34输出选择用的当前判据。它可以,例如,表示当前目标图像质量和目标位速率,而量化器选择框32根据该判据选出适当的量化器。
在按照本发明的运动补偿预测框13中,有一个反量化选择框42,它包括一组反量化器43。反量化在反量化框40中利用所选出的反量化器41进行。已反量化的运动系数ai和bi一般还进一步用于运动场解码框52,用以计算预测帧Pn(x,y)。
关于量化后的运动系数的信息从量化框30传输给运动补偿预测框13’中的反量化框40。在图7中,有关所选量化器的信息,从量化器选择框32传输给编码器中的运动补偿预测框13’中的反量化器选择框42。
按照本发明的解码器包括运动补偿预测框21’,后者类似于按照本发明的编码器中的运动补偿预测框13’。解码器中的反量化选择框42可以接收单独的信息,根据这些信息,可以从解码器确定正确的反量化器,或者它可以从解码器的某些其他部分接收信息。
图8是按照本发明第二推荐实施例的运动补偿视频编码器的示意图。在按照本发明的编码器10’中,有运动场编码框12’,后者包括量化框30和量化器选择框32。编码器10’的运动补偿预测框13’包括反量化框40和反量化器选择框42。量化后的系数(箭头2)和有关预测误差的信息(箭头1)发送给解码器。
在按照本发明第二推荐的实施例的编码器中,运动系数量化器的选择由编码器的预测误差编码框14中用的量化器QP决定。预测误差量化器QP可以,例如,根据目标图像质量选择。把量化运动系数所用的量化器选择结合到预测误差编码中用的量化器中,即能可靠地获得已编码的视频帧的目标图像质量。预测误差编码框14可以向量化器选择框32以及编码器10’中的反量化器选择框42表示当前预测误差量化器(QP)。另一方面,量化器选择框32可以把有关预测误差量化器通知编码器10’中的反量化选择框42。
量化器选择框32和反量化器选择框42还可以驻留在例如编码器中的预测误差编码框14中。
在按照本发明第二推荐的实施例的解码器中,该解码器接收有关预测误差帧编码所用的量化器的信息,因而一般没有必要传输有关运动系数的量化器的明显信息。解码器利用从预测误差编码框14(箭头1)所发送的信息或从相应的信号中决定运动系数量化器。信息流1和2一般多路转换到代表已编码的视频帧的信息流3。这个信息量发送给按照本发明的解码器。有关预测误差量化器的信息也可以驻留在解码器中,因而不必在编码器和解码器之间通信。
指向图8中的运动场编码框12’的虚线箭头表示编码器内信息流某些可能的示例。解码器的结构细节取决于所用的特定的运动场估计和编码技术。
图9是按照本发明第二推荐的实施例的对运动补偿已编码的视频帧进行解码用的解码器20’的示意图。它包括运动补偿预测框21’,其中有按照本发明的反量化框40和按照本发明的反量化器选择框42。一般来说预测误差解码框22’通知反量化器选择框42有关用以量化预测误差信息的所选的量化器的信息。然后这个反量化器选择框根据它从预测误差解码框接收的QP值为运动系数信息选择适当的反量化器。反量化器选择框42也可以,例如,驻留在解码器的预测误差解码框22内。
图10表示按照本发明第三推荐实施例的运动场编码框12’较为详细的示意图。这种运动场编码框的主要目的是把运动矢量场表达为两个矢量场之和可以从该帧中其他片段预测的矢量场Δxprd(x,y)和Δyprd(x,y)和精细化运动矢量场Δxrefinement(x,y)和Δyrefinement(x,y)。我们指的是有关按照本发明第三推荐的实施例的运动场编码框12*中的运动场矢量估计和编码细节,参考专利申请US 09/371641。这里我们只简略地在一般水平上描述框12*中的运动矢量场的编码。
在框12*中有运动分析框61和负责选择相邻片段并建造预测运动场用的框62。一般说来,预测某片段的运动时,至少使用一个相邻片段的运动。然后通过,例如,计算已经利用正交基本函数的仿射模型编码的精细化运动矢量场进行精细化。
运动系数删除框63基本上决定哪个运动系数可以设置为0而不会引起运动矢量场精确度下降到无法接收的水平。精细化运动系数在删除程序之后保留下来并在本发明的量化框30中被量化。
用以量化运动系数的量化器的选择可以由编码器的预测误差编码框中用的量化器的选择决定。预测误差编码可以按照ITU-T建议H.263、利用二维离散余弦变换进行,并且定义这个帧中的两个均匀量化器QPQPp在整个帧中是恒定不变的,而QPs则在帧中每个16×16的像素片段中变化。
根据本发明的第三实施例,量化器组中包含的均匀量化器具有不同的诳话间隔。因此,所选的运动系数由它的量化间隔来说明。接着,这个量化间隔又可以由参数q来定义。这个参数q可以取决于,例如,量化参数QPP。表1中,q表示运动系数量化的量化间隔,而QPP表示预测误差系数的量化间隔的一半。框12*中的运动系数可以按照表1量化,换句话说,通过在框30中根据QPP值选出的量化器来量化。然后,量化后的运动系数可以熵编码,并发送到解码器。
表1.与运动系数有关的量化间隔q和与预测误差系数有关的量化间隔QPP之间的关系。




正如从表1可以看到的,量化运动系数用的量化间隔的大小与量化预测误差系数用的量化间隔有关。这意味着,当预测误差利用较高的精确度传输时,运动信息自动利用较高的精确度传输,反之亦然。QPP值可以,例如,根据目标图像质量选择。一旦QPP值已知,就可以直接决定与所述QPP值对应的量化器和和反量化器。
还可以具有既包括均匀量化器又包括非均匀量化器的一组量化器。在这种情况下,还可以根据QPP值选择量化器。
按照本发明的编码器或解码器可以利用硬件或软件实现,或者利用两者的适当结合实现。用软件实现的编码器和解码器可以是,例如,单独的程序或可以用于各种程序的软件构件。量化框、量化器选择框和量化器选择判据框已在上文中描述过,并且在附图中表现为一个单独的单元,但是这些框的功能可以用一个软件程序单元实现,这个程序单元负责量化器的选择和运动系数的量化。
还可以用同一个功能单元实现按照本发明的编码器和按照本发明的解码器。这样的单元称作编码解码器。按照本发明的编码解码器可以是一个计算机程序,或者计算机程序元件,或者至少一部分用硬件实现。
鉴于以上描述,对于一个本专业的技术人员,显然可以在不脱离本发明的范围的情况下作出各种各样的改变。尽管对本发明推荐的几个实施例作了详细的描述,但显然可以对其作出许多落在本发明真正精神和范围内的修改和变化。
权利要求
1.一种用于对视频信息进行编码的方法,它包括-估计图象单元在一段当前的视频信息中相对于一段基准视频信息的运动,-利用一组基本函数和相关的运动系数表达所述图象单元的运动,-从一预定运动系数量化器组中选择一个运动系数量化器,-利用所选运动系数量化器量化运动系数,从而以预定的准确性表示所述运动系数,-反量化已量化的运动系数,而且,利用该组基本函数和经反量化的运动系数,从该段基准视频信息形成所述图象单元的一个预测,形成所述图象单元的预测误差信息,该预测误差信息表达所述图象单元的预测和所述图象单元的视频信息之间的差值,利用预测误差量化器量化所述预测误差信息,从而以预定的准确性表达所述预测误差信息,所述的运动系数量化器是根据一个预定的选择判据来选择的,使得所述图象单元的运动系数所用以表达的预定准确性同所述的预测误差信息所用以表达的预定准确性匹配。
2.如权利要求1所述的方法,其特征在于,所述预定的选择判据是用于所述编码的一个参数值。
3.如权利要求1所述的方法,其特征在于,所选的运动系数量化器的一个量化间隔与预测误差量化器的一个量化间隔相关。
4.如权利要求1所述的方法,其特征在于,所述预定的选择判据是一种目标图像质量。
5.如权利要求1所述的方法,其特征在于,所述预定的选择判据是用以传送所述的已编码视频信息的一个目标位率。
6.如权利要求1所述的方法,其特征在于,所述图象单元的运动利用一组正交基本函数表达出来。
7.如权利要求6所述的方法,其特征在于,所述图象单元的运动利用一组仿射正交基本函数建模。
8.如权利要求6所述的方法,其特征在于,图象单元的运动通过根据所选的相邻图象单元的运动来预测所述图象单元的运动,并通过确定所述图象单元的精细化运动来表达的。
9.如权利要求8所述的方法,其特征在于,精细化运动是利用一组仿射正交基本函数建模的。
10.如权利要求1所述的方法,其特征在于,还包括向接收器发送已量化的运动系数。
11.如权利要求10所述的方法,其特征在于,还包括向接收器发送指定所选运动系数量化器的信息。
12.如权利要求1所述的方法,其特征在于,所述运动系数量化器组包括若干均匀量化器,每个均匀量化器有不同的量化间隔。
13.如权利要求1所述的方法,其特征在于,所述运动系数量化器组包括若干个经过修改的均匀量化器,每个均匀量化器有不同的量化间隔。
14.一种用于对已编码的视频信息进行解码的方法,它包括-接收相对于一段基准视频信息的已编码视频信息和预测误差信息,已编码的视频信息包含表达图象单元运动的已量化的运动系数,已量化的运动系数由预定的准确性来表达,该预测误差信息由预定准确性来表达,已在视频编码器中用一运动系数量化器来量化的已量化的运动系数是根据一个预定的选择判据来选择的,使得所述图象单元的运动系数所用以表达的预定准确性同所述的预测误差信息所用以表达的预定准确性匹配。-定义一组反运动系数量化器,-确定量化所述运动系数用的一个所选的运动系数量化器,-从该组反运动系数量化器中选择一个反运动系数量化器,所选的反运动系数量化器对应于所选的运动系数量化器,-利用所选的反运动系数量化器对已量化的运动系数反量化,-利用已反量化的运动系数和一组基本函数表达图象单元的运动,从而形成一个表达所述图象单元的运动的模型,并-利用表达图象单元运动的所述模型从该段基准视频信息形成所述图象单元的预测视频信息。
15.如权利要求14所述的方法,其特征在于还包括确定所述的用以为所述图象单元运动建立模型的基本函数。
16.如权利要求14所述的方法,其特征在于,从所发送的、与用于编码所述的已编码的视频信息中的一个参数有关的信息确定所选运动系数量化器。
17.如权利要求14所述的方法,还包括-确定预测误差量化器,该预测误差量化器被利用来量化了预测误差信息,以及-确定所选的运动系数量化器,该量化器被利用根据已确定的预测误差量化器来量化了该运动系数。
18.如权利要求14所述的方法,其特征在于,所述已编码的视频信息包括表示所选运动系数量化器的信息。
19.如权利要求14所述的方法,其特征在于还包括以下步骤接收表示所选运动系数量化器的信令信息。
20.一种用于对视频信息进行运动补偿编码的编码器,该编码器包括-用于相对于一段基准视频信息估计一段当前视频信息中图象单元的运动的装置,-用于利用一组基本函数和相关的运动系数表达所述图象单元的运动的装置,-用于从一预定运动系数量化器组中选择一个运动系数量化器的装置,-用于利用所选的运动系数量化器量化所述运动系数的装置,从而以一预定准确性表达运动系数,-用于反量化已量化的运动系数并利用所述一组基本函数和已反量化的运动系数从该段基准视频信息形成所述图象单元的一个预测的装置-用于形成所述图象单元的预测误差信息的装置,该预测误差信息表达所述图象单元的预测和所述图象单元的视频信息之间的差值,-用于利用预测误差量化器量化所述预测误差信息的装置,从而以预定的准确性表达所述预测误差信息,所述的编码器还包括用于根据一个预定的选择判据来选择所述运动系数量化器的装置,使得所述图象单元的运动系数所用以表达的预定准确性同所述的预测误差信息所用以表达的预定准确性匹配。
21.如权利要求20所述的编码器,其特征在于,预定的选择判据是用于所述编码中的一个参数值。
22.如权利要求20所述的编码器,其特征在于,所述预定的选择判据是一目标图像质量。
23.如权利要求20所述的编码器,其特征在于,所述的预定选择判据是用在传送已编码的视频信息的一目标位速率。
24.一种用于对已编码的视频信息进行解码的解码器,该解码器包括-用于接收相对于一段基准视频信息的已编码视频信息和预测误差信息的装置,已编码的视频信息包含表达图象单元运动的已量化的运动系数,已量化的运动系数由预定的准确性来表达,该预测误差信息由预定准确性来表达,已在视频编码器中用一运动系数量化器来量化的已量化的运动系数是根据一个预定的选择判据来选择的,使得所述图象单元的运动系数所用以表达的预定准确性同所述的预测误差信息所用以表达的预定准确性相匹配;-用于定义一组反运动系数量化器的装置,-用于确定量化了所述运动系数的所选的运动系数量化器的装置,-用于从该组反量化器中选择一个反量化器的装置,所选的反运动系数量化器对应于所选的运动系数量化器,-用于利用所选的反量化器对已量化的运动系数反量化的装置,-用于利用已反量化的运动系数和一组基本函数表达图象单元的运动的装置,从而形成一个表达所述图象单元的运动的模型,并-用于利用表达图象单元运动的所述模型从该段基准视频信息形成所述图象单元的预测视频信息的装置。
25.如权利要求24所述的解码器,其特征在于,所述已编码的视频信息包括表示所述选择判据的信息。
26.如权利要求24所述的解码器,还包括用于接收表示所述选择判据的信令信息的装置。
27.如权利要求24所述的解码器,其特征在于,所述解码器还包括-用于确定一个预测误差量化器的装置,该量化器被利用对所述预测误差信息进行了量化,以及-用于确定所选的运动系数量化器的装置,所述运动系数量化器被利用根据所确定的预测误差量化器量化了所述的运动系数。
全文摘要
提出一种运动补偿视频编码方法,它特别适用于利用低的传输位速率传输视频流。在该运动补偿编码方法中,对一段基准视频信息和一段当前视频信息之间的像素运动进行估计,然后利用某些基本函数和系数建模。对系数进行量化,而量化器是按照某个选择判据,例如,根据目标图像质量或目标传输位速率选择的。选择判据最好是这样的,即它自动调整像素运动的表达精确度,以便与预测误差信息的表达精确度相联系。还描述了解码方法、编码器和相应的解码器。
文档编号H04N7/50GK1897710SQ20061010570
公开日2007年1月17日 申请日期2001年1月19日 优先权日2000年1月21日
发明者J·莱尼马, M·卡策维茨 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1