利用基于特征点的运动估算编码视频信号的方法

文档序号:7566388阅读:150来源:国知局
专利名称:利用基于特征点的运动估算编码视频信号的方法
技术领域
本发明涉及编码视频信号的方法;而更具体地涉及通过提供一个精确地预测的当前帧而能够高效地编码视频信号的方法。
传输数字视频信号能得到比传输模拟信号质量高得多的视频图象是众所周知的。当以数字形式表示由一序列图象“帧”构成的一个图象信号时,便生成了大量用于传输的数据,尤其是在高分辨率电视系统的情况中。然而,由于一条传统传输信道可资利用的频带宽度是有限的,为了通过它来传输大量的数字数据,不可避免地要压缩或减少传输数据量。在各种视频压缩技术中,将时间和空间压缩技术与统计编码技术结合在一起的所谓混合编码技术是已知最高效的。
大多数混合编码技术采用运动补偿的DPCM(差分脉冲编码调制)、二维DCT(离散余弦变换)、DCT系数的量化以及VLC(可变长度编码)。运动补偿DPCM是估算一个目标在当前帧与一个前面的帧之间的运动,及按照该目标的运动流预测当前帧以生成一个表示当前帧与其预测之间的差的一个误差信号的过程。这一方法在诸如Staffan Ericsson的“用于混合预测/变换编码的固定与自适应预测器(Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding)”,IEEE通信学报,COM-33,第12号(1985年12月)及Ninomiya与Ohtsuka的“电视画面的一种运动补偿帧间编码方案(A Motion-Compensated InterframeCoding Scheme for Television Pictures)”,IEEE通信学报,COM-30,第一号,(1982年1月)中有所描述。
减少或利用图象数据之间的空间冗余性的二维DCT将诸如8×8个象素的一块数字图象数据转换成一组变换系数数据。这一技术在诸如Chen与Pratt的“场景自适应编码器(scene Adaptive Coder),IEEE通信学报,COM-32,第3号(1984年3月)中有所描述。通过用量化器、折线扫描与VLC处理这种变换系数数据,便能有效地压缩要传输的数据量。
具体地,在运动补偿DPCM中,当前帧数据是根据当前帧与前面的帧之间的运动估算从对应的前面的帧的数据中预测出的。这种估算的运动可用表示前面帧与当前帧之间的象素的位移的二维运动矢量来描述。
已存在两种估算一个目标的象素的位移的基本方法其中之一为逐块估算而另一方法则为逐个象素的方法。
在逐块运动估算中,将当前帧中的一块与其前一帧中的块进行比较直到确定最佳匹配为止。从这一最佳匹配中,便能为正在传输的当前帧估算出该整个块的一个帧间位移矢量(表示该块象素在帧间移动了多少)。然而,在逐块运动估算中,如果块中的所有象素并不以同一方式移动,便有可能得出低劣的估算,从而降低总体画面质量。
另一方面,采用逐个象素的方法,为各个与每一个象素确定一个位移。这种技术能够得到象素值的更精确的估算并具有便予处理比例变化(诸如变焦、垂直于图象平面的运动等)的能力。然而,在逐个象素方法中,由于为各个与每一个象素确定一个运动矢量,实际上不可能将所有的运动矢量数据传输给一台接收机。
为改善处理逐个象素方法中导致的过多传输数据的问题而引入的技术之一为一种基于特征点的运动估算方法。
在基于特征点的运动估算技术中,将一组选择的象素,即特征点,的运动矢量传输给一台接收机,其中的特征点定义为能够代表一个目标的运动的前一帧或当前帧的象素,从而使当前帧中的象素的全体运动矢量都能在接收机上从这些特征点的矢量中恢复或趋近。采用基于特征点的运动估算技术的编码器公开在共同拥有、共同未决的美国专利申请序列号08/367,520“采用逐个象素运动估算编码视频信号的方法与装置”中,其中,首先从包含在前一帧中的象素中选择若干个特征点。然后,通过使用传统的块匹配技术为所选定的特征点确定运动矢量,其中各该运动矢量表示前一帧中的一个特征点与当前帧中的一个对应的匹配点,即一个最相似的象素,之间的空间位移。具体地,各该特征点的匹配点是在当前帧内的一个搜索区中搜索出的,其中的搜索区是定义为具有预定面积的包围与前一帧中的特征点位置相对应的当前帧位置的一个区域。当前帧中与前一帧中的特征点相对应的这些象素称作准特征点。从当前帧中的一个准特征点到前一帧中其对应的特征点的空间位移称作该准特征点的运动矢量。
此后,根据这些准特征点的运动矢量确定当前帧中其余象素的运动矢量。具体地,将当前帧分成以这些准特征点为顶点的多边形,诸如三角形。以将整个帧分成多边形的方式,从各准特征点向其它准特征点画不相交的直线。将从构成顶点的准特征点的运动矢量导出的运动矢量给予各该多边形内部的象素。然后,用赋予当前帧中各象素的运动矢量提供要包含在一个预测的当前帧中的各象素的值。预测的当前帧便是通过将前一帧中的各对应象素的象素值赋予当前帧中的各象素而构成的。
然而,从精度观点看,以预定方式将帧分成多边形是不好的,因为构成一个目标的一定部分的象素的运动矢量可能是相同的,而如果将它们包括在不同的多边形中,仍有可能将不同的运动矢量赋予这些象素。结果,将这种伪运动矢量赋予当前帧中的某些象素可导致总体编码效果的劣化。
因此,本发明的主要目的为提供一种能通过提供一个精确地预测的当前帧而高效地编码视频信号的改进的视频信号编码方法。
按照本发明,提供了用于在一个视频信号编码器中根据基于特征点的运动估算技术通过提供一个精确地预测的当前帧高效地编码数字视频信号的方法,所述数字视频信号具有包含一个当前帧及一个前面的帧在内的多个帧,该方法包括下述步骤(a)在前面的帧中选择多个象素作为特征点,并为这些特征点检测当前帧与前面帧之间的第一组运动矢量,所述特征点代表数字视频信号中的目标的运动;(b)用连接这些特征点的线段定义不重叠的四边形(c)通过在水平方向上分割各该四边形而定义水平分割的三角形并计算各该水平分割的三角形的象素值的一个方差值,及比较所有水平分割的三角形的方差值以选择最小的方差值作为第一方差值;(d)通过在垂直方向上分割各该四边形而定义垂直分割的三角形并计算各该垂直分割的三角形的象素值的方差值,及比较所有垂直分割的三角形的方差值以选择最小的方差值作为第二方差值;(e)比较第一与第二方差值并选择较小的方差值作为第三方差值,及提供表示具有该第三方差值的三角形的分割方向的三角形信息;(f)根据这些特征点及其运动矢量在当前帧上确定多个准特征点及这些准特征点的第二组运动矢量;(g)定义用连接这些准特征点的线段构成的不重叠的四边形,其中与构成前面的帧中的一个四边形的四个特征点相对应的四个准特征点构成当前帧中的一个四边形,以及响应三角形信息将各该四边形分割成两个三角形;(h)根据构成所述各三角形的准特征点与它们的对应特征点之间的位置关系,为包含在当前帧的各三角形中的各象素在前面的帧上确定一个预测位置;(i)根据象素位置与其预测位置之间的位移,为包含在当前帧的各三角形中的象素确定第三组运动矢量;以及(j)通过应用各该第二与第三组运动矢量,提供要包含在预测的当前帧中的各象素的一个值。
从下述结合附图给出的较佳实施例的描述中,本发明的上述与其它目的及特征将是显而易见的,附图中

图1示出按照本发明的视频信号编码装置的方框图;图2示出图1的当前帧预测框的详细方框图;图3示出按照本发明的特征点选择操作的说明图;图4提供前一帧中所选定的特征点的说明图5描述图2的三角形确定框的详细方框图;图6提供展示当前帧中的若干四边形的图;图7A至7C例示按照本发明的三角形分割操作;图8描绘按照本发明的视频信号解码装置的方框图;以及图9表示图8中所示的当前帧预测框的详细方框图。
参见图1,其中示出了按照本发明的视频信号编码装置10的方框图。将一个输入数字视频信号作为一个当前帧信号存储在一个第一帧存储器100中,存储器100通过线L11连接在一个减法器102上并通过线L10连接在一个当前帧预测框150上。
在当前帧预测框150处,对从第一帧存储器100检索到的线L10上的一个当前帧信号及来自一个第二帧存储器124的线L12上的前一帧信号进行处理,在逐个象素的基础上预测当前帧,以将一个预测的当前帧信号生成到线L16上,将表示在生成预测的当前帧信号中采用的三角形构成的三角形信息生成到线L17上,并将特征点的一组运动矢量生成到线L18上。当前帧预测框150的细节将参照图2与9加以描述。
在减法器102处从线L11上的当前帧信号中减去线L16上的预测的当前帧信号,并将得出的数据,即表示当前帧与预测的当前帧之间的差分象素值的误差信号,输送给一个图象信号编码器105,在其中通过采用诸如DCT及任何已知的量化方法将误差信号编码成一组量化变换系数。
此后,将量化变换系数传输给一个熵编码器107及一个图象信号解码器113。在熵编码器107处,将来自图象信号编码器105的量化变换系数,经由线L17传输的三角形信息及通过线L18传输的运动矢量用诸如可变长度编码技术编码在一起;并以一种恒定的传输率通过一个缓冲器109将其传输给一个发送机(未示出)供传输。同时,图象信号解码器113通过采用逆量化及逆离散余弦变换将来自图象信号编码器105的量化变换系数转换回一个重构的误差信号。
在一个加法器115处,将来自图象信号解码器113的重构的误差信号及来自当前帧预测框150的线L16上的预测的当前帧信号进行组合,从而提供一个重构的当前帧信号,并将其存储在第二帧存储器124中作为下一帧的前一帧。为了使编码器监视接收机中的解码器的工作情况从而防止在编码器上重构的当前帧信号偏离接收机中的解码器的当前帧信号,重构误差信号是必要的。
参见图2,其中展示了图1中所示的当前帧预测框150的细节。如图2中所示,将来自第二帧存储器124的线L12上的前一帧信号输入到一个特征点选择框210、一个特征点运动矢量检测框212、一个三角形确定框214及一个运动补偿框218。
在特征点选择框210处,从包含在前一帧中的象素中选择若干个特征点。这些特征点是定义为能够代表该帧中的目标的运动的象素的。通常在特征点确定中使用了采用诸如矩形栅格或六边形栅格等各种栅格的栅格技术,其中的特征点位于栅格的节点上。在本发明的一个较佳实施例中,与这种栅格技术一起,采用了边缘检测技术。参见图3,其中为描绘在特征点选择框210处进行的特征点选择过程的说明图。首先在前一帧上生成六边形栅格,并为其中的各六边形栅格点(诸如G1至G5)设定最大且当不重叠的园形搜索范围(诸如SR1至SR5)。同时,用传统的梯度算子(诸如中和算子(sobel operator))检测前一帧中的边缘点。例如,用水平与垂直中和算子计算方向梯度,诸如在一个象素位置(x,y)上的水平与垂直梯度Gx(x,y)与Gy(x,y),并可得出象素位置(x,y)上的梯度幅值g(x,y)如下g(x,y)=|Gx(x,y)|+|Gy(x,y)|.然后,通过将前一帧中的各象素的梯度幅值g(x,y)与一个预定的阈值Te进行比较,便可检测出前一帧中的边缘点。这便是,如果g(x,y)超过Te,象素位置(x,y)便成为一个边缘点。此后,根据边缘点的梯度幅值及表示这些边缘点的位置的边缘信号,便可为各该边缘点(诸如E1至E9)建立在其中心上具有一个边缘点的一个诸如5×5个象素的块,这些象素块是与搜索范围重叠的。然后求出包含在各块中的象素的梯度幅值之和,并将得到的和值确定为在其中心上的边缘点的边缘值;并选定搜索范围中具有最大边缘值的边缘点作为该搜索范围的特征点。如果一个以上的边缘点具有相同的最大边缘值,则选定最靠近栅格点的边缘点作为特征点。如果在一个搜索范围内(诸如在SR1、SR2或SR4内)找不出边缘点,便选定包含在该搜索范围中的栅格点本身(诸如G1、G2或G4)作为特征点。在图4中,示例性地示出了如上选定的前一帧中的特征点,其中的圆点为选定作为特征点的栅格点,而星号则为选定作为特征点的边缘点。
参见图2,将来自特征点选择框210的关于所选定的特征点的位置的特征点信息输入到特征点运动矢量检测框212、三角形确定框214及当前帧运动矢量检测框216。将线L10上的当前帧信号提供给特征点运动矢量检测框212。
在特征点运动矢量检测框212处,检测选定的特征点的第一组运动矢量。第一组中的各该运动矢量表示前一帧中的一个特征点与当前帧中一个与之最相似的象素之间的空间位移。为所有特征点检测了运动矢量之后,便经由线L18将第一组运动矢量提供给当前帧运动矢量检测框214及熵编码器107(示出在图1中)。
与此同时,参见图5,三角形确定框214确定三角形构成方法如下。
将线L12上的前一帧信号及线L19上的特征点信息提供给第一与第二方差计算框511及512。在第一与第二方差计算框511与512处,通过连接诸如图6中所示的四个邻接的特征点而定义多个不重叠的四边形。然后,如图7A或7B中所示,通过在水平或垂直邻接的特征点之间增加一条新的线段(诸如BC或AD)在水平或垂直方向上分割各该四边形,以为各四边形生成两个三角形。然后,第一与第二方差计算框511与512计算各三角形中的象素值的方差值。
在本发明的较佳实施例中,第一方差计算框511通过增加图7A中所示新线段BC而在水平方向上分割各四边形,并为各三角形计算象素值的方差值及将其提供给第一比较框513。同时,第二方差计算框512通过增加图7B中所示的新线段AD而在垂直方向上分割各四边形,并为各三角形计算象素值的方差值及将其提供给第二比较框514。
第一比较框513比较来自第一方差计算框511的两个三角形的两个方差值,从而将较小的方差值提供给第三比较框515。第二比较框514执行与第一比较框513相同的功能。这便是,第二比较框514比较来自第二方差计算框512的两个三角形的两个方差值,然后将较小的方差值提供给第三比较框515。
第三比较框515比较来自第一与第二比较框513与514的两个方差值,并选择产生较小方差值的三角形构成方法,即四边形的水平或垂直分割,并将这一三角形构成方法作为三角形信息提供给图2中所示的当前帧运动矢量检测框216及图1中所示的熵编码器107。三角形中的象素值的方差值越小,三角形中没有目标或者三角形中全部象素或大多数象素属于同一个目标的概率越大。例如,如果一个目标在图7C中所示的水平分割三角形ABC中,则三角形BCD中的象素值的方差值为水平与垂直分割的三角形,即四个三角形ABC、BCD、ABD与ACD,中最小的。从而,第三比较框515提供表示水平分割方法的三角形信息。
应当指出,来自第一与第二方差计算框511与512的四个方差值可同时进行比较,并从中选出最小的方差值,从而提供与之对应的三角形信息。
参见图2,当前帧运动矢量检测框216经由线L19接收来自特征点选择框210的特征点信息,经由线L18接收来自特征点运动矢量检测框212的特征点运动矢量,及来自三角形确定框214的三角形信息。在当前帧运动矢量检测框214处,确定当前帧中所有象素的运动矢量。首先,确定表示从前一帧的特征点移动了第一组运动矢量的当前帧的象素点的“准特征点”的第二组运动矢量。一个准特征点的运动矢量与其对应的特征点的运动矢量大小相等、方向相反。确定了所有的准特征点的运动矢量之后,便确定作为当前帧中的其余象素点的非准特征点第三组运动矢量如下。
用连接这些准特征点的线段定义多个不重叠的四边形,其中与前一帧中构成一个四边形的四个特征点相对应的四个准特征点同样构成当前帧中的一个四边形,并响应三角形信息,将各该四边形分割成两个三角形。然后,根据构成所述各三角形的准特征点和其对应的特征点之间的位置关系确定包含在当前帧的各三角形中的各象素在前一帧上的一个预测位置。此后,从该象素与其预测位置之间的位移确定包含在当前帧的各三角形中的所述各象素的一个运动矢量。同时,将不包含在任何三角形中的象素的运动矢量设定为零。这一技术在例如共同拥有、共同未决的名为“编码/解码视频信号的方法与装置”的1995年5月4日提交的08/434,808号美国专利申请中有所描述,通过引用将其整个结合在此。
运动补偿框216通过应用包含在第二与第三组中的各个运动矢量从第二帧存储器124中检索出要包含在预测的当前帧中的各个象素值,从而经由线L16将预测的当前帧信号提供给减法器102及加法器115,如图1中所示。在一个运动矢量的X与Y分量(即Mx与My)不是整数的情况中,可通过插入邻接由该运动矢量指定的位置的象素的象素值而得到预测的象素值。
参见图8,其中示出了与本发明的图1中所示的视频信号编码装置10相对应的视频信号解码装置800。将视频信号编码装置10发送的一个编码的视频信号通过缓冲器810输送给熵解码器820。然后,熵解码器820解码该编码的视频信号并将特征点运动矢量及三角形信息提供给当前帧预测框850;并将量化的变换系数提供给图象信号解码器830。图象信号解码器830执行与视频信号编码装置10的图象信号解码器113相同的功能,从而将重构的误差信号提供给加法器840。当前帧预测框850具有与图2中所示的当前帧预测框150相似的结构,但诸如图2中所示的特征点运动矢量检测框212等三角形确定框及运动估算器除外,因为来自图1中所示的编码器10的三角形信息及特征点运动矢量是通过熵解码器820提供给它的。当前帧预测框850包括一个特征点选择框、一个当前帧运动矢量检测框及一个运动补偿框,它们的功能与上面对当前帧预测框150说明的功能相似。
具体地,如展示当前帧预测框850的细节的图9中所示,来自帧存储器860的前一帧信号被输入到特征点选择框952用于选择若干个特征点,这些特征点与图2中所示的特征点选择框210处所选择的特征点相同。响应来自特征点选择框952的选定的特征点及来自熵解码器820的特征点运动矢量及三角形信息,当前帧运动矢量检测框954以图2中所示的当前帧运动矢量检测框214中相同的方式确定包含在当前帧中的所有象素的运动矢量。运动补偿框956提供与来自图2中所示的运动补偿框216的信号相同的预测当前帧信号。
参见图8,在加法器840处将来自当前帧预测框850的预测的当前帧信号及来自图象信号解码器830的重构的误差信号相加,而将重构的当前帧信号提供给一个显示单元(未示出)及帧存储器860。在帧存储器860处,将重构的当前帧信号作为前一帧信号存储供解码下一帧时使用。
虽然已相对于具体的实施例展示与描述了本发明,熟悉本领域技术的人员显而易见可以作出许多改变与修正而仍不脱离所附的权利要求书中所定义的本发明的精神与范围。
权利要求
1.一种用在视频信号编码器中的方法,用于根据一种基于特征点的运动估算技术通过提供一个精确地预测的当前帧高效地编码一个数字视频信号,所述数字视频信号具有包括一个当前帧与一个前面的帧在内的多个帧,所述方法包括下述步骤(a)选择前面帧中的多个象素作为特征点,并为当前帧与前面帧之间的特征点检测第一组运动矢量,所述特征点代表数字视频信号中的目标的运动;(b)用连接这些特征点的线段定义不重叠的四边形;(c)通过在水平方向上分割各该四边形而定义水平分割的三角形并计算各该水平分割的三角形的象素值的一个方差值,及比较所有水平分割的三角形的方差值以选择最小的方差值作为第一方差值;(d)通过在垂直方向上分割各该四边形而定义垂直分割的三角形并计算各该垂直分割的三角形的象素值的方差值,及比较所有垂直分割的三角形的方差值以选择最小的方差值作为第二方差值;(e)比较第一与第二方差值并选择较小的方差值作为第三方差值,及提供表示具有该第三方差值的三角形的分割方向的三角形信息;(f)根据这些特征点及其运动矢量在当前帧上确定多个准特征点及这些准特征点的第二组运动矢量;(g)定义用连接这些准特征点的线段构成的不重叠的四边形,其中与构成前面的帧中的一个四边形的四个特征点相对应的四个准特征点构成当前帧中的一个四边形,以及响应三角形信息将各该四边形分割成两个三角形;(h)根据构成所述各三角形的准特征点和与其对应的特征点之间的位置关系,为包含在当前帧的各三角形中的各象素在前面的帧上确定一个预测位置;(i)根据象素位置与其预测位置之间的位移,为包含在当前帧的各三角形中的象确定第三组运动矢量;以及(j)应用各该第二与第三组运动矢量,提供要包含在预测的当前帧中的各象素的一个值。
全文摘要
精确预测当前帧的方法包括在前一帧中选择特征点并为其检测每一组运动矢量;连接特征点定义四边形;分割四边形分别定义水平和垂直分割的三角形并计算其方差及选择最小者作为第一和第二方差值;选择第三方差及提供分割方向的三角形信息;在当前帧上确定准特征点并为其确定第二组运动矢量;定义连接这些准特征点构成的四边形并将其分割成两个三角形;为三角形中的像素确定预测的位置及第三组运动矢量;应用第二与第三组运动矢量提供各像素的值。
文档编号H04N7/32GK1131877SQ9510860
公开日1996年9月25日 申请日期1995年8月7日 优先权日1995年3月20日
发明者李敏燮 申请人:大宇电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1