专利名称:利用基于特征点的运动估算编码视频信号的方法
技术领域:
本发明涉及一种编码视频信号的方法;并且,更具体地,涉及一种可通过根据目标的运动自适应地选取特征点而有效地编码视频信号的方法。
众所周知,数字视频信号的传输可获得比模拟信号传输质量高得多的视频图象。当包括有一序列图象“帧”的图象信号以数字形式表示时,将生成大量用于传输的数据,特别在高清晰度电视系统的情况中,然而,一常规传输信道的可用频带宽度是有限的,因此,为了发送大量的数字数据,必须压缩或减少传输数据的量,在各种视频压缩技术中,将时间及空间压缩技术与统计编码技术相结合的所谓的混合编码技术是所知最为有效的。
大多数混合编码技术采用运动补偿DPCM(差分脉冲码调制),二维DCT(离散余弦变换)、DCT系数的量化及VLC(可变长度编码)。运动补偿DPCM是对在一当前帧和一先前帧之间的目标的运动进行估算,并根据该目标的运动流预测当前帧以产生一个代表当前帧及其预测之间的差的误差信号的处理。这种方法在例如Staffan Ericsson的“用于混合预测/变换编码的固定及自适应预测器,”IEEE Transactions on Communications,COM-33,NO.12(1985年12月);及在Ninomiya和Ohtsuka的“一种用于电视画面的运动补偿帧间编码方案”,IEEE Iransactions on Communications,COM-30,NO.1(1982年1月)中被描述。
二维DCT减少或利用图象数据间的空间冗余,将一例如为8×8象素块的数字图象数据块变换成一组变换系数数据。这种技术在例如Chen和Pratt的“场景自适应编码器”IEEE Transactions on Communications,COM-32,NO.3,(1984年3月)中被描述。通过量化器、折线扫描及VLC对这些变换系数数据的处理,侍传输的数据量可被有效地压缩。
特别地,在运动补偿DPCM中,基于对当前帧及先前帧间的运动的估算,当前帧数据自相应的先前帧被预测。
该被估算的运动可用代表先前帧及当前帧间的象素的位移的二维运动矢量描述。
已有两种基本方法估算目标的象素的位移一种是逐块估算,另一种是逐象素的方法。
在逐块运动估算中,将一当前帧中的一块与其先前帧中的各块进行比较直至确定最佳匹配。自此,可以为被传输的当前帧估算整个块的帧间位移矢量(代表该象素块已在帧间移动了多少)。然而,在逐块运动估算中,如果块中所有象素不以相同的方式移动,可导致差的估算,从而降低了整个画面的质量。
采用逐象素的方法,在另一方面,可确定用于各个及每个象素的位移。这种技术可取得象素值的更精确的估算并能容易地处理标度改变(例如变焦、垂直于图象平面的运动)。然而,在逐象素的方法中,由于是确定各个及每个象素的运动矢量,因此几乎不可能将所有的运动矢量数据传输给一接收机。
引入的用于改善涉及由逐象素方法导致的剩余或多余的传输数据的问题的一种技术是基于特征点的运动估算方法。
在该基于特征点的运动估算技术中,用于一组被选取的象素,即特征点的运动矢量被传输给一接收机,其中特征点被定义为能够代表目标的运动的一先前帧或一当前帧的象素以便当前帧中的象素的全部运动矢量可从接收机中特征点的运动矢量中被还原或近似。在采用在美国流水号为08/367,520,题目为“利用逐象素运动估算编码视频信号的方法和装置”的共有未决申请中公开的基于特征点的运动估算技术的编码器中,首先从包含在先前帧中的全部象素中选取一些特征点。接着,通过使用常规的块匹配技术确定被选取的特征点的运动矢量,其中各个运动矢量代表先前帧中的一特征点与当前帧中的一对应匹配点即最相似的象素间的空间位移。特别地,在当前帧内的一搜索区中搜索对于各个特征点的匹配点,其中搜索区被定义为包围了对应特征点的位置的预定区域的一个区。然后,基于特征点的运动矢量确定对于当前帧中所有象素的全部运动矢量。
不过,在上述基于特征点的运动估算技术中,特征点被确定时没有充分考虑到两个目标间可能不同的运动的细节,因此,不是总可以充分地估算运动或准确地再现图象。
因此,本发明的主要目的是提供一种改进的能够通过根据目标的运动自适应地选取特征点而有效地编码视频信号的视频信号编码方法。
根据本发明,提供有一种用在视频信号编码器中根据基于特征点的运动估算技术,通过根据当前帧和参考帧间的目标的运动自适应地选取特征点编码数字视频信号的方法,所述数字视频信号有多个包括一个当前帧和一参考帧的帧,该方法包括(a)检测在当前帧与参考帧间当前帧中的各个象素的运动矢量;(b)根据当前帧中的各个象素的运动矢量提供来自该参考帧的一个象素值;(c)自当前帧的所述各象素的象素值中减去自参考帧提供的象素值,从而提供一差分象素值;(d)在逐象素的基础上将该差分象素值和与一阈值TH进行比较,并选取一个或多个区,各个所选取的区由具有其各自的大于阈值TH的差分象素值的象素组成;(e)在所选取的区内将象素移位至由其各自的运动矢量指示的位置,从而提供移位区;(f)从参考帧检测边缘点;(g)自移位区中确定一个或多个处理区,其中这些处理区是与部分边缘点重叠的移位区;(h)在参考帧上生成第一网格并生成用于各个处理区的第二网格,其中第二网格由部分第一网格的网格点和新增加的网格点构成,各个新增加的网格点位于在一水平或垂直方向上第一网格的一对相邻网格点的中心;及(i)基于第一和第二网格及边缘点在参考帧中选取多个象素作为特征点。
本发明的上述及其它目的和特征在下面结合附图给出的优选实施例的描述中将变得明显,其中
图1是根据本发明的一视频信号编码装置的方框图;图2示出了图1的当前帧预测块的详细方框图;图3给出了图2的特征点选取块的详细方框图;图4A和4B提供了基于运动矢量的当前帧信号的转换的图;图5表示边缘在参考帧内具有大的差分象素值的区的重叠;图6说明了在选取区中自适应网络生成处理;图7为用于说明根据本发明的特征点选取操作的说明图;图8给出了根据本发明的视频信号解码装置的方框图;以及图9为图8中所示当前帧预测块的详细方框图。
参照图1,示出了根据本发明的视频信号编码装置10的方框图。一输入数字视频信号被作为当前帧信号存储在第一帧存储器100中,第一帧存储器100通过线L11与一减法器102连接并通过线L10与一当前帧预测块150连接。
在当前帧预测块150,取自第一帧存储器100在线L10上的一当前帧信号和来自第二帧存储器124在线L12上的一先前或一参考帧信号被处理,以在逐象素的基础上预测该当前帧,以生成一预测当前帧信号到线L16上、生成一组特征点的运动矢量到线17上及生成代表具有目标的不规则及局部移动并因此要求详细的运动补偿的区的位置的网格信息到线L18上。当前帧预测块150的细节将在后面参照图2和图9予以叙述。
在减法器102,从线L11上的当前帧信号中减去线L16上的预测当前帧信号,并且该结果数据,即表示当前帧和预测的当前帧间的差分象素值的误差信号被发送至图象信号编码器105,其中该误差信号通过使用例如DCT及任何已知的量化方法被编码成多组量化变换系数。
然后,该量化的变换系数被传输至熵编码器107和图象信号解码器113。在熵编码器107,来自图象信号编码器105的量化变换系数、线L17上的运动矢量及线L18上的网格信息通过使用例如可变长度编码技术被一起编码,以恒定的传输速率通过缓冲器109被传输至发射机(未示出)用于发射。
同时,图象信号解码器113通过采用逆量化和离散反余弦变换将该组来自图象信号编码器105的量化的变换系数变换回为重建误差信号。
该来自图象信号解码器113的重建误差信号及来自当前帧预测块15线的在L16上的预测的当前帧信号在加法器115上被组合以提供重建的当前帧信号作为下一帧的参考存储进第二帧存储器124中。为了使编码器监视接收机中解码器的行为,误差信号需要重建,从而防止在编码器重建的当前帧信号与接收机中的解码器的重建当前帧信号出现偏差。
参照图2,举例说明了图1中所示的当前帧预测块150的细节。如图2中所示,来自第二帧存储器124的线L12上的参考帧信号被输入到特征点选取块210、特征点运动矢量检测块212和运动补偿块216。
在特征点选取块210,在参考帧包含的象素中选取一些特征点。这些特征点被定义为能够代表帧中目标的运动的象素。
现在参照图2,提供有图2中所示的特征点选取块210的详细的方框图。来自图1中所示的第一帧存储器100的线L10上的当前帧信号被输入到基于块的运动矢量估算块310和加法器312,同时来自图1中所示的第二帧存储器124的线L12上的参考帧信号被输入基于块的运动矢量估算块310、基于块的运动补偿块311和边缘检测块315。
该基于块的运动矢量估算块310通过使用现有技术中公知的常规块匹配技术检测代表当前帧中各搜索块与参考帧中与其最相似的块之间的空间位移的运动矢量并通过线L31将该运动矢量提供给基于块的运动补偿块311和区选取块316。该搜索块的运动矢量被指定为包含在该搜索块内的象素的运动矢量。基于块的运动补偿块311通过利用当前帧中的所有象素的运动矢量从图1中所示的第二帧存储器124中取出象素值,从而将预测信号提供给减法器312。
在减法器312中从当前帧信号中减去该预测的信号,并且结果数据,即表示当前帧信号与预测的信号之间的差分象素值的差信号被送给比较块313。比较块313在逐象素的基础上将差信号中所包括的各个差分象素值与阈值TH进行比较,该阈值TH可根据缓冲器占有率,即在图1中所示的缓冲器109中存储的数据量被预定或自适应地确定。如果差分象素值小于该阈值TH,它被设置成变换值0。否则,该差分象素值被设置成变换值1。该变换值被提供给第三帧存储器314。在图4中,通过存储在第三帧存储器314中的变换值所形成的误差帧41被举例地示出。在误差帧41中有两个不同的区一个是带有变换值1的区(例如A、B和C);另一个是带有变换值0的区。
返回参照图3,现有技术中众所周知的边缘检测块315通过使用常规的梯度算子,例如Sobel算子检测在参考帧中的边缘点。例如,通过使用水平和垂直Sobel算子计算位于象素位置(X,Y)的方向梯度,即水平和垂直梯度Gx(X,Y)和Gy(X,Y),并且位于该象素位置(x,y)的梯度的幅值g(xy)可由下式得到g(x,y)=|Gx(x,y)|+|Gy(x,y)|并且然后通过将用于参考帧中各象素的梯度幅值g(x,y)与预定的阈值Te进行比较,参考帧中的边缘点被检测。即如果g(x,y)大于Te,该象素位置(x,y)则是边缘点。
随后,一表示该边缘点位置的边缘信号eg(x,y)被提供给区选取块316且用于各边缘点的梯度幅值g(x,y)与边缘信号eg(x,y)一起被提供给特征点定义块318。
响应来自基于块的运动矢量估算块310的运动矢量,区选取块316将具有变换值1的各象素,即对应于图4中所示的误差帧41的区A、B和C的象素移动到由其运动矢量所指示的位置,从而生成一转换误差帧43。各个区A、B和C被分别移位到区A’、B’或C’。然后,如图5中所示,基于具有变换值1的区A’、B’和C’与自边缘检测块315提供的边缘点的位置之间的位置关系,处理区被选取。例如,与一部分边缘点重叠的区A’和B’是由区选取块316确定的处理区。因为未与参考帧中的任何边缘点重叠,区C’未被选取为处理区。表示处理区位置的处理区信息被提供给网格点生成块317。
现在返回到图3,网格点生成块317在参考帧上生成第一网格。并相应处理区信息,生成用于各处理区的第二网格,其中第二网格的网格点的密度大于第一网格的网格点的密度。在本发明的优选实施例中,首先在整个帧上形成一六角形网格;并为各处理区构成一三角形网格,其中该三角形网格的尺寸最小,仅覆盖住处理区并由六角形网格的部分网格点和附加的网格点形成,各个附加的网格点是在水平或垂直方向上一对相邻六角形网格点的中心处新增加的。例如,如图6中所示,为处理区A’和B’生成更密集的网格,即三角形网格61和63。且然后代表各三角形网格的位置数据的网格信息。例如左上方象素位置及各三角形网格的尺寸通过线L18被提供给熵编码器107和特征点定义块318。在特征点定义块318,从包含在参考帧中的象素中选取一些特征点。
参照图7,示出了根据本发明在特征点定义块318实现特征点选取处理的说明性视图。响应于来自网格点生成块318的网格信息,最大的且不重叠的圆形搜索区,例如SR1至SR4,为位于其中的各自的网格点,例如G1至G4被设置。然后,基于边缘点的梯度幅值和代表来自边缘检测块315的边缘点位置的边缘信号,为各边缘点例如E1至E9设置在其中心有一边缘点的例如5×5象素的块,,其与搜索区重叠。各块中所包括的象素的梯度幅值然后被求和且该得到的和值被指定作为在块中心的边缘点的边缘值;并且在搜索区中具有最大边缘值的边缘点被选取作为搜索区的特征点。如果存在多于一个具有相等的最大边缘值的边缘点,则与网格点最近的边缘点被选取作为特征点。且如果在一搜索区内未包括边缘点。例如SR1或SR3,搜索区内所包括的网格点本身,例如G1或G3,被选取作为特征点。
返回参照图2和图3,来自特征点定义块318的表示选取的特征点的位置的特征点信息被输入特征点运动矢量检测块212和当前帧运动矢量检测块214。并且,线L10上的当前帧信号及线L12上的参考帧信号也被提供给特征点运动矢量检测块212。
在特征点运动矢量检测块212,选取的特征点的第一组运动矢量被检测。第一组中的各运动矢量代表参考帧中特征点与当前帧中与该特征点最相似的象素之间的空间位移。在检测完所有特征点的运动矢量后,该第一组运动矢量通过线L17被提供给当前帧运动矢量检测块214和熵编码器107(图21中所示)。
在当前帧运动矢量检测块214,当前帧中所有象素的第二组运动矢量通过使用第一组运动矢量和来自特征点选取块210的特征点信息被确定。为了确定该第二组运动矢量,首先,一组“准特征点”矢量,即代表自参考帧的特征点移过该第一组运动矢量的当前帧的象素点的一组矢量被确定。准特征点的运动矢量的大小等于用于其对应的特征点的运动矢量,但该两运动矢量的方向相反。在确定了所有准特征点的运动矢量后。非准特征点即当前帧中剩余的象素点的运动矢量被如下确定。
首先,多个非重叠的多角形,例如三角形通过与准特征点相连的线段被定义。然后,基于形成所述多角形的准特征点与它们对应的特征点之间的位置关系,当前帧的各多角形中包含的各象素的参考帧上的预测位置被确定。然后,当前帧中所述各象素的运动矢量由该象素与其预测位置之间的位移被确定。该确定的第二组运动矢量被提供给运动补偿块216以在逐象素的基础上预测当前帧。这种技术在例如在此引入作为参考的,美国流水号为08/434,808,1995年5月4日申请的,题为“用于编码/解码视频信号的方法和装置”的共有未决申请中进行了描述。
美国流水号为08/367,520于1994年12月30日申请的题为“利用逐象素运动预测编码视频信号的方法和装置”的一件共有未决申请中公开了另一例适于确定非准特征点的运动矢量的视频信号编码装置,在此也被引入作为参考。在该参考的视频信号编码装置中,非准特征点的运动矢量通过对准特征点的运动矢量进行平均而被确定,这些准特征点位于一圆形边界内,该圆有从象素位置到最近的准特征点的距离求和定义的半径以及在计算该运动矢量中所使用的包括其它特征点的预定的扩展半径。
运动补偿块216通过使用第二组中所包含的各运动矢量,自第二帧存储器124取出包含在该预测当前帧中的各象素的值,因此提供该预测当前帧信号通过线L16至图1中所示的减法器102和加法器125。
参照图8,示出了本发明的对应于图1中所示的视频信号编码装置10的视频信号解码装置800。来自视频信号编码装置10的编码的视频信号通过缓冲器810被馈送给熵解码器820。然后,熵解码器820解码该经编码的视频信号以提供特征点运动矢量和网格信息至当前帧预测块850;并提供量化的变换系数至图象信号解码器830。图象信号解码器830执行与视频信号编码装置10的图象信号解码器113相同的功能,因此可提供重建的误差信号至加法器840。除了没有如图2中所示的例如特征点运动矢量检测块212的运动估算器外,当前帧预测块850具有与图2中所示的当前帧预测块150相似的结构,因为来自编码器10的特征点运动矢量通过熵解码器820被提供给当前帧预测块850。该当前帧预测块850包括有与上述当前帧预测块150所说明的各块功能相似的特征点选取块,当前帧运动矢量检测块和运动补偿块。
特别地,如说明当前帧预测块850的细节的图9中所示,来自熵编码器820的网格信息和来自帧存储器860的参考帧信号被输入特征点选取块950以选取一些与图2中所示的特征点选取块210所选取的特征点相同的特征点,其中特征点选取块952包括有与编码器的特征点选取块210中所包括的各块完全相同的边缘检测块和特征点定义块。响应于来自特征点选取块952表示所选取的特征点的位置的特征点信息和来自熵解码器820的特征点运动矢量,当前帧运动矢量检测块954以与图2中所示的当前帧运动矢量检测块214相同的方式确定当前帧中所包含的所有象素的运动矢量。运动补偿块956提供与来自图2中所示的运动补偿块216的预测的当前帧信号相同的预测的当前帧信号。
返回参照图8,来自当前帧预测块850的预测的当前帧信号和来自图象信号解码器830的重建误差信号在加法器840被相加在一起以提供该重建当前帧信号至一显示单元(未示出)及帧存储器860。在帧存储器860,该重建当前帧信号被存储作为下一个待被解码的帧的参考帧信号。
本发明已结合具体实施例进行了示出和叙述,在不超出所附权利要求所定义的本发明的精神和范围的前提下,对于本技术领域的熟练技术人员显然可以作出许多变化和修改。
权利要求
1.一种在视频信号编码器中使用的根据基于特征点的运动估算技术,通过根据当前帧和参考帧间目标的运动自适应地选取特征点编码数字视频信号的方法,所述数字视频信号有多个包括有一当前帧和一参考帧的帧,包括(a)检测当前帧和参考帧之间的当前帧中各象素的运动矢量;(b)基于当前帧中各象素的运动矢量,提供来自参考帧的象素值;(c)从当前帧的所述各象素的象素值中减去来自参考帧的象素值,从而提供差分象素值;(d)在逐象素的基础上将该差分象素值与阈值TH进行比较并选取一个或多个区,各个被选取的区由具有各自大于阈值TH的差分象素值的象素组成;(e)在所选取的区内将象素移位至由其各自的运动矢量指示的位置,从而提供移位区;(f)从参考帧检测边缘点;(g)自移位区中确定一个或多个处理区,其中处理区是与部分边缘点重叠的移位区;(h)在参考帧上生成第一网格并生成用于各处理区的第二网格,其中第二网格由第一网格的部分网格点和新增加的网格点形成,各新增加的网格点位于在水平或垂直方向上第一网格的一对相邻网格点的中心;且(i)基于第一和第二网格及边缘点,选取参考帧中的多个象素作为特征点。
2.根据权利要求1的方法,其中所述用于检测边缘点的步骤(f)包括生成参考帧中各象素的梯度幅值的步骤;所述选取特征点的步骤(i)包括有以下步骤(i1)为第一和第二网格的各网格点指定非重叠的搜索区;(i2)为各边缘点提供一个边缘值,其中该边缘值是通过将包括所述各边缘点的象素块中的象素梯度幅值求和而获得的;且(i3)将在其搜索区内不包括有边缘点的各网格点和在一搜索区的一个或多个边缘点中具有最大边缘值的各边缘点确定为特征点,从而提供特征点。
3.根据权利要求2的方法,其中所述检测运动矢量的步骤(a)是通过利用块匹配技术实现的。
4.根据权利要求2的方法,其中第一和第二网格分别是六角形和三角形网格。
全文摘要
根据当前帧和参考帧间目标的运动自适应地选取特征点的方法,包括检测当前帧和参考帧间的当前帧内各象素的运动矢量;基于该运动矢量自参考帧提供象素值并将该象素值从当前帧的各象素值中减去以提供差分象素值以比较选取大于阈值TH的区;将所选取区内的象素移位至由其运动矢量指示的位置以提供移位区,从中确定处理区,生成在其参考帧上的第一网格及第二网格;检测自参考帧的边缘点;基于各网格及边缘点,选取参考帧中的多个象素作为特征点。
文档编号H04N7/36GK1135148SQ95109998
公开日1996年11月6日 申请日期1995年7月13日 优先权日1995年4月29日
发明者李敏燮 申请人:大宇电子株式会社