运动矢量检测装置及运动矢量检测方法

文档序号:84403研发日期:2005年阅读:235来源:国知局
技术简介:
该专利针对传统运动矢量检测方法无法在比特量和差分量之间找到有效平衡的问题,提出了一种结合加权系数与预测矢量的计算模型,在第一阶段利用失真量和校正值评估评价值确定第1运动矢量,并生成预测矢量;第二阶段则仅依据各搜索块的失真度来检测最终运动矢量。这种双阶段流水线结构在保证运动估计精度的同时实现了高效处理,适用于视频编码等场景。
关键词:加权系数,预测矢量,双阶段处理
专利名称:运动矢量检测装置及运动矢量检测方法
技术领域
本发明涉及运动矢量检测装置及运动矢量检测方法,用于检测运动图像的图片间预测编码的运动矢量。
背景技术
对于像MPEG方式(运动图像专家组;Moving Picture image coding ExpartsGroup)那样,利用运动图像的图片间的相关性的图像压缩方式,需要以进行运动补偿的块为单位检测运动矢量。以往,作为检测其运动矢量的电路,提出了可以减少运动矢量的信息量的运动矢量检测电路(例如,参照专利文献1)。
图1是示出以往的运动矢量检测电路的结构的方框图。如图1所示,该运动矢量检测电路,具有帧存储器61、62、运动矢量存储用存储器63、块间差分运算部64、附加量运算部65以及比较器66。在此,块间差分运算部64具有256个块间差分运算电路64a、64b、……、64c,并且,附加量运算部65也具有256个附加量运算电路65a、65b、……、65c,因此进行256点的搜索。
首先,块间差分运算电路64a,计算从帧存储器62输入的原图宏块(以下又称为,原图MB)和从帧存储器61输入的搜索宏块(以下又称为,搜索MB)之间的差分,并将该差分作为差分量输出。并且,块间差分运算电路64b,输出原图MB和从在块间差分运算电路64a所使用的搜索MB偏移的下一个搜索MB之间的差分量,该原图MB与在块间差分运算电路64a所使用的原图MB相同。同样,第256个块间差分运算电路64c,输出原图MB和所偏移的搜索MB之间的差分量,该原图MB与在块间差分运算电路64a所使用的原图MB相同。而且,附加量运算电路65a、65b、……、65c,向各差分量加上附加量后输出校正差分量,并根据相邻的宏块的校正差分量来编码运动矢量。其次,比较器66,确定原图MB和搜索MB之间的相关性最高的最佳运动矢量。此时,在附加量运算电路,依赖于多个运动矢量具有的各水平成分及各垂直成分和编码状态,来确定附加量。具体而言,以在第n个搜索点的运动矢量Vn为Vn=(vnx、vny),并以根据存储在运动矢量存储用存储器63的1个搜索宏块前的运动搜索所确定的前运动矢量PV为PV=(pvx、pvy)时,由以下公式来可以得出块差分量的附加量Addn。
Addn=α·(|vnx-pvx|+|vny-pvy|)在此,α表示常数,||表示得出绝对值的运算。附加量被设定为如下,与前块运动矢量之间的变化量越多附加量也越多,并且,运动矢量,根据校正差分量来被编码,该校正差分量是由在图片中处于左边的搜索MB的前运动矢量所校正的。
专利文献1日本特开2001-197501号公报
发明内容
另外,对于通常的运动矢量检测,将原图MB和搜索MB的各像素的亮度的差分绝对值总和作为评价值求出,并求出其评价值为最小值的搜索MB的位置,从而算出运动矢量。对于此通常方法存在以下问题当以低比特率进行编码时,不能变更与运动矢量有关的比特量,因此通过减少与差分量有关的比特量来降低比特率,导致画质的明显恶化。
另外,对于上述的现有技术,根据针对以前所检测的运动矢量的搜索位置的运动矢量的变化量求出附加量,并求出加上其附加量的评价值为最小值的搜索MB的位置算出运动矢量,从而求出与运动矢量及差分量分别有关的比特量成为最佳的点。
然而,根据此方法,为了确定附加量而使用的以前所检测出的运动矢量,需要确定运动矢量和编码的状态,因此难以实现流水线(pipeline)结构。
于是,本发明鉴于上述情况,其目的在于提供一种运动矢量检测装置及运动矢量检测方法,可以通过运动矢量的比特量和差分量的折衷(trade-off)来求出最佳运动矢量,也可以通过流水线结构高速进行运动矢量检测。
为了实现上述目的,本发明涉及的运动矢量检测装置是一种运动矢量检测装置,将输入图像分割为规定大小的块,并通过n级(n为2以上的自然数)的流水线处理检测与各输入块的针对参考图像的运动矢量,其特征在于,包括第1运动矢量检测单元,根据失真量和校正值,按每个上述搜索块算出评价值,并根据上述输入块的位置和上述评价值为最小的搜索块的位置,检测上述输入块的第1运动矢量,其中,该失真量是由在上述参考图像的规定搜索范围内的以上述块为单位的多个搜索块和上述输入块所算出的值,该校正值是由上述搜索块位置的运动矢量、第1预测矢量和加权系数所算出的值;第k+1运动矢量检测单元,按每个搜索块,由在以第k运动矢量检测单元(k为从1至n-1的自然数)中所检测的第k运动矢量来指定的位置为中心的搜索范围内的多个搜索块和上述输入块所算出的失真量,而以该失真量为评价值,并根据上述输入块的位置和上述评价值为最小的搜索位置,检测上述输入块的第k+1运动矢量;以及,第1预测矢量生成单元,根据由上述第1运动矢量检测单元已被检测出的其他输入块的第1运动矢量生成上述第1预测矢量,并将所生成的上述第1预测矢量通知给上述第1运动矢量检测单元。
据此,在第1运动矢量检测单元,即便是向失真量加上校正值的评价值检测运动矢量的结构,也可以实现流水线结构,并可以高速进行运动检测。并且,根据向失真量加上校正值的评价值检测运动矢量,从而可以通过运动矢量的比特量和差分量的折衷来求出最佳运动矢量。
并且,也可以是这样,上述第1预测矢量生成单元,将所生成的上述第1预测矢量通知给上述第k+1运动矢量检测单元,上述第k+1运动矢量检测单元,根据上述失真量和校正值算出上述评价值,该校正值是由上述搜索块位置的运动矢量、上述第1预测矢量和加权系数所算出的。
据此,除了第1运动矢量检测单元以外,还在第k+1运动矢量检测单元,即便是向失真量加上校正值的评价值检测运动矢量的结构,也可以实现流水线处理,并可以高速进行运动检测。并且,在各运动矢量检测单元算出校正值时,通过使用第1预测矢量,可以简化结构。
并且,也可以这样,上述第1运动矢量检测单元和上述第k+1运动矢量检测单元,以上述输入块为单位,或以输入子块为单位,检测上述运动矢量,该输入子块是将上述输入块分割成规定大小的块。
据此,在各运动矢量检测单元,不仅可以以输入块为单位检测运动矢量,还可以以输入子块为单位检测运动矢量。
并且,也可以是这样,上述运动矢量检测装置,还包括第k+1预测矢量生成单元,根据由上述第k+1运动矢量检测单元已检测出的其他输入块的第k+1运动矢量生成上述第k+1预测矢量,并将所生成的上述第k+1预测矢量通知给上述第k+1运动矢量检测单元;上述第k+1运动矢量检测单元,根据上述失真量和校正值算出上述评价值,该校正值是由上述搜索块位置的运动矢量和上述第1预测矢量和加权系数所算出的。
据此,除了第1运动矢量检测单元以外,还在第k+1运动矢量检测单元,即便是向失真量加上校正值的评价值检测运动矢量的结构,也可以实现流水线处理,并可以高速进行运动检测。并且,在各运动矢量检测单元根据向失真量加上校正值的评价值检测运动矢量,从而可以求出最佳运动矢量。
并且,本发明除了如上所述的运动矢量检测装置可以实现以外,也可以作为以下方法或程序来实现,即,将上所述的运动矢量检测装置具有的特征性单元作为步骤的运动矢量检测方法,使计算机执行这些步骤的程序。显然,这些程序也可以通过CD-ROM等记录媒体或因特网等传输媒介进行分发。
按照上述说明可见,根据本发明涉及的运动矢量检测装置及运动矢量检测方法,可以通过运动矢量的比特量和差分量的折衷来求出最佳运动矢量,并且通过流水线结构高速进行运动矢量检测。
图1是以往的运动矢量检测电路的结构的方框图。
图2是根据本发明的实施方式1的运动矢量检测装置的结构的方框图。
图3是用于说明2级流水线结构的运动矢量检测的概念图。
图4(a)及图4(b)是用于说明使用周边宏块的运动矢量的预测矢量确定的图。
图5是根据本发明的实施方式1的运动矢量检测装置的变形例的结构的方框图。
图6是根据本发明的实施方式2的运动矢量检测装置的结构的方框图。
图7是根据本发明的实施方式3的运动矢量检测装置的结构的方框图。
图8是根据本发明的实施方式4的运动矢量检测装置的结构的方框图。
具体实施方式以下,根据本发明的各实施方式。
实施方式1图2是根据本发明的实施方式1的运动矢量检测装置的结构的方框图。
运动矢量检测装置100是一种用于通过2级流水线来检测运动矢量的装置,,并如图2所示具有帧存储器101、第1运动检测部102、加权系数计算部103、预测矢量生成部104以及第2运动检测部105。其中,第1运动检测部102以整数像素精度进行运动矢量搜索,第2运动检测部105以在第1运动检测部102所检测的第1运动矢量MV1为中心,且以半像素精度进行运动矢量搜索。并且,以如下情况为例子,即,以16×16像素的块大小的宏块为单位进行运动矢量检测,并且参考图像为1个帧。同时以在MPEG2方式下进行编码的情况为例子来说明。
首先,根据图3说明通过2级流水线结构进行运动矢量检测的情况的概念。
在以宏块为单位检测运动矢量的情况下,将输入图像IP在垂直及水平方向分别按16个像素分割,并将在画面的左上方的宏块作为第1个编码对象宏块CMB,以宏块为单位,且按照光栅扫描顺序进行运动矢量的检测,该运动矢量指出针对编码对象宏块CMB的参考图像的运动。在此,在时刻n,第1运动检测部102输出第n-1个编码对象宏块CMB的整数精度的运动矢量,并开始检测第n个编码对象宏块CMB的整数精度的运动矢量。在同一时刻n,第2运动检测部105输出第n-2个编码对象宏块CMB的半像素精度的运动矢量,并开始检测第n-1个编码对象宏块CMB的半像素精度的运动矢量。如此,在流水线结构的情况下,可以使两个运动检测部同时工作,并可以使性能增加约一倍。
帧存储器101,存储输入图像IP,根据作为编码对象宏块CMB的位置信息的MB位置信息LI,以宏块为单位,将输入图像IP的亮度数据作为编码对象宏块CMB输出。并且,帧存储器101,将已经进行运动矢量MB的检测的、且被进行运动补偿的图像数据作为参考图像存储,并根据MB位置信息LI,以检测运动矢量MV的搜索范围为单位,将参考图像的亮度数据作为参考图像数据RI输出。
第1运动检测部102,在参考图像数据RI内,选择与编码对象宏块CMB的块大小相同的相关性最高的参考宏块,根据参考宏块位置和MB位置信息LI算出编码对象宏块CMB的运动矢量,并作为第1运动矢量MV1输出。第1运动检测部102,当搜索运动矢量时,计算各搜索宏块和编码对象宏块CMB的各像素的差分绝对值,该各搜索宏块是从搜索范围的左上方,以光栅扫描顺序,分别偏移了1个像素的位置的各搜索宏块,并将向其总和加上后述的校正值的值作为评价值,还将该评价值为最小值的位置的搜索宏块作为参考宏块。
第2运动检测部105进行与第1运动检测部102相同的运动矢量的检测,但搜索范围的中心不是编码对象宏块CMB的位置,而在从第1运动检测部102所输出的第1运动矢量MV1所指示的整数像素位置为中心的搜索范围内,且以半像素精度进行搜索。对于第2运动检测部105,仅将失真量作为评价值,进行运动矢量检测,该失真量是各搜索宏块和编码对象宏块CMB的各像素的差分绝对值的总和。对于本实施方式,此结构为将以整数像素精度检测出的运动矢量为中心、且以半像素精度搜索运动矢量,仅对整数像素位置的周边8个半像素位置等较窄的范围进行搜索,故可以设想相当于运动矢量的代码量的校正值的变动较小,因此在第2运动检测部105仅将失真量作为评价值。
其次,对于在第1运动检测部102所使用的校正量进行说明。如上所述,各像素的差分绝对值的总和是相当于差分宏块的失真量的部分,校正值是相当于运动矢量的代码量的部分。在MPEG 2标准下,编码运动矢量时,与运动矢量(预测矢量)的各成分的差分量进行编码,该运动矢量(预测矢量)的各成分的差分量是依赖左边相邻宏块的编码模式(Intra/Inter编码;帧内/帧间编码)来确定的。考虑如上所述的内容,根据以下公式1求出校正量。
校正值=λ×(|vmx-pmvx|)+(|vmy-pmvy|)…(公式1)在这里,λ表示加权系数,Vm=(vmx,vmy)表示在第m个搜索位置的运动矢量,Pmv1=(pmvx,pmvy)表示作为左边相邻宏块的运动矢量的第1预测矢量,||表示绝对值的计算。
加权系数λ是,由加权系数计算部103所算出的值。加权系数计算部103,例如照原样使用量化值Q,或加工(例如0.85×Q2等)量化值Q等的方法来算出加权系数λ。另外,加权系数λ可以固定为如下,例如P帧时固定为4,B帧时固定为8。
预测矢量生成部104,根据从第1运动检测部102输出的整数精度的第1运动矢量MV1生成第1预测矢量Pmv1。在MPEG 2标准下,将在时刻n所输出的第n-1的编码对象宏块CMB的第1运动矢量MV1为第n的编码对象宏块CMB的第1预测矢量Pmv1。但在编码对象宏块CMB的位置处于输入图像IP的左端的情况下,第1运动检测部102将第1预测矢量Pmv1的各成分为0,并算出校正值。
如上所述,在第1运动检测部102,根据向失真量加上校正值的评价值来检测运动矢量时,使用根据左边相邻宏块的第1运动矢量MV1的第1预测矢量Pmv1来算出校正值,从而可以实现流水线结构,并可以高速进行运动矢量检测。
另外,预测矢量生成部104,也可以不使用左边相邻宏块的第1运动矢量MV1作为第1预测矢量Pmv1,而利用周边宏块的运动矢量来确定第1预测运动矢量Pmv1。例如,也可以将以下值作为第1预测矢量Pmv1,如图4(a)所示,在对象宏块X的上方、右上方、左方的3个宏块B、C、D的运动矢量的各成分的中央值(median value),如图4(b)所示,在对象宏块X的左上方、上方、右上方、左方的4个宏块A、B、C、D的运动矢量的各成分的平均值,或在周边宏块的运动矢量的方向中朝一方向最多的运动矢量的各成分的平均值或中央值等。在此情况下,如图5所示,除了上述结构以外,还具有运动矢量存储部,存储由第2运动检测部105所检测的运动矢量。据此,预测矢量生成部104,除了可以使用由第1运动检测部102所检测的第1运动矢量MV1以外,还可以利用周边宏块的运动矢量来确定第1预测矢量Pmv1。
并且,第1运动检测部102构成为如下时,即,同时检测宏块可以取得的帧矢量和场(Field)矢量等的多个类型的运动矢量的构成时,预测矢量生成部104,也可以将帧矢量或场矢量的任一个固定、或适应性转换,来作为第1预测矢量Pmv1输出。
并且,在本实施方式中,流水线的级数为2级、检测运动矢量的块大小为16×16像素、参考图像的张数为1,但3级以上的流水线的级数、其他大小的块大小、2张以上的参考图像也可以同样构成。可以构成为如下,在n级(n是3以上的自然数)的流水线结构的情况下,在从第1级至第k级(k是从1至n-1的自然数)根据向失真量加上校正值的评价值来进行运动矢量检测,在第k+1级以后仅根据失真量来进行运动矢量检测。
并且,对于运动矢量检测的评价值,失真量是差分绝对值的总和,但也可以是差分平方误差或方差等的值。
实施方式2对于实施方式1,在第1级的运动检测部中,根据向失真量加上校正值的评价值来检测运动矢量,并在第2级的运动检测部中,以失真量为评价值来检测运动矢量,但本实施方式说明,在第1级及第2级的运动检测部中,根据向失真量加上校正值的评价值来检测运动矢量的情况。
图6是根据本发明的实施方式2的运动矢量检测装置的结构的方框图。
运动矢量检测装置200是一种用于通过2级流水线来检测运动矢量的装置,如图6所示具有帧存储器201、第1运动检测部202、第1加权系数计算部203、第1预测矢量生成部204、第2运动检测部205、第2加权系数计算部206以及第2预测矢量生成部207。在此,与实施方式1相同,第1级的第1运动检测部202以整数像素精度进行运动矢量搜索,第2级的第2运动检测部105以第1运动检测部102所检测的第1运动矢量MV1为中心,且以半像素精度进行运动矢量搜索。并且,以如下情况为例子,即,以16×16像素的块大小的宏块为单位进行运动矢量检测,且参考图像为1个帧。同时以在MPEG 2方式下进行编码的情况为例子来说明。
与实施方式1不同的结构是第2运动检测部205、第2加权系数计算部206以及第2预测矢量生成部207,因此对这部分进行说明,对与实施方式1相同的结构的部分省略详细说明。
与第1运动检测部202相同,第2运动检测部205,进行运动矢量的搜索时,将向失真量加上校正值的值作为评价值,并根据该评价值为最小值的参考宏块位置和MB位置信息LI来算出并输出编码对象宏块CMB的运动矢量,该失真量是各像素的差分绝对值的总和,该校正值相当于运动矢量的代码量。此时,第2运动检测部205,以通过上述公式1来算出的值作为校正值来使用。
第2加权系数计算部206,例如照原样使用量化值Q,或加工(例如0.85×Q2等)量化值Q等的方法来算出加权系数λ。另外,加权系数λ可以固定为如下,例如P帧时固定为4,B帧时固定为8。
第2预测矢量生成部207,根据从第2运动检测部205输出的半像素精度的运动矢量来生成第2预测矢量Pmv2。在MPEG2标准下,将在时刻n所输出的第n-1的编码对象宏块CMB的运动矢量作为第n的编码对象宏块CMB的第2运动矢量Pmv2。但在编码对象宏块CMB的位置处于输入图像IP的左端的情况下,第2运动检测部205将第2预测运动矢量Pmv2的各成分为0,并算出校正值。
如上所述,在第1运动检测部202,根据向失真量加上校正值的评价值来检测运动矢量时,使用根据左边相邻宏块的第1运动矢量MV1的第1预测矢量Pmv1来算出校正值,在第2运动检测部205,根据向失真量加上校正值的评价值来检测运动矢量时,使用根据左边相邻宏块的运动矢量的预测矢量来算出校正值,从而可以实现流水线结构,并可以高速进行运动矢量检测。
另外,如实施方式1的说明相同,第2预测矢量生成部207,也可以不使用左边相邻宏块的运动矢量作为第2预测矢量Pmv2,而使用周边宏块的运动矢量确定第2预测运动矢量Pmv2。例如,也可以将以下值作为第2预测矢量Pmv2,如图4(a)所示,在对象宏块X的上方、右上方、左方的3个宏块B、C、D的运动矢量的各成分的中央值,如图4(b)所示,在对象宏块X的左上方、上方、右上方、左方的4个宏块A、B、C、D的运动矢量的各成分的平均值,或在周边宏块的运动矢量的方向中朝一方向最多的运动矢量的各成分的平均值或中央值。在此情况下,除了上述结构以外,还具有运动矢量存储部,存储由第2运动检测部205所检测的运动矢量。据此,第2预测矢量生成部207,除了可以使用由第2运动检测部205所检测的运动矢量以外,还可以利用周边宏块的运动矢量来确定第2预测矢量Pmv2。
并且,第2运动检测部205构成为如下时,即,同时检测宏块可以取得的帧矢量和场矢量等的多个类型的运动矢量的构成时,第2预测矢量生成部207,也可以将帧矢量或场矢量的任一个固定、或适应性转换,来作为第2预测矢量Pmv输出。
并且,在本实施方式中,流水线的级数为2级、检测运动矢量的块大小为16×16像素、参考图像的张数为1,但3级以上的流水线的级数、其他的块大小、2张以上的参考图像也可以同样构成。可以构成为如下,在n级(n是3以上的自然数)的流水线结构的情况下,在从第1级至第k级(k是从1至n-1的自然数)根据向失真量加上校正值的评价值来进行运动矢量检测,在第k+1级以后仅根据失真量来进行运动矢量检测。
并且,对于运动矢量检测的评价值,失真量是差分绝对值的总和,但也可以是差分平方误差或方差等的值。
实施方式3对于实施方式2,在第1级和第2级的运动检测部中,根据向失真量加上校正值的评价值来检测运动矢量时,分别使用由相对应的预测矢量生成部所生成的预测矢量来算出校正值,但本实施方式说明,在第1级和第2级的运动检测部中算出校正值时使用的共同的预测矢量的情况。
图7是根据本发明的实施方式3的运动矢量检测装置的结构的方框图。
运动矢量检测装置300是一种用于通过2级流水线来检测运动矢量的装置,如图7所示具有帧存储器301、第1运动检测部302、加权系数计算部303、预测矢量生成部304以及第2运动检测部305。在此,与实施方式1相同,第1级的第1运动检测部302以整数像素精度进行运动矢量搜索,第2级的第2运动检测部305以第1运动检测部302所检测的第1运动矢量MV1为中心,且以半像素精度进行运动矢量搜索。并且,以如下情况为例子,即,以16×16像素的块大小的宏块为单位进行运动矢量的检测,且参考图像为1个帧。同时以在MPEG2方式下进行编码的情况为例子来说明。
与实施方式1不同的结构是,加权系数计算部303和预测矢量生成部304的输出不仅输入到第1运动检测部302而且还输入到第2运动检测部305,因此对这部分进行说明,对与实施方式1、2相同的结构的部分省略详细说明。
与第1运动检测部302相同,第2运动检测部305,进行运动矢量的搜索时,将向失真量加上校正值的值作为评价值,并根据该评价值为最小值的参考宏块位置和MB位置信息LI来算出并输出编码对象宏块CMB的运动矢量,该失真量是各像素的差分绝对值的总和,该校正值相当于运动矢量的代码量。此时,第2运动检测部305,以通过上述公式1来算出的值作为校正值来使用。
加权系数计算部303,例如照原样使用量化值Q,或加工(例如0.85×Q2等)量化值Q等的方法来算出加权系数λ,并将所算出的加权系数λ向第1运动检测部302及第2运动检测部305输出。另外,加权系数λ可以固定为如下,例如P帧时固定为4,B帧时固定为8。
预测矢量生成部304,根据从第1运动检测部302输出的整数精度的第1运动矢量MV1来生成第1预测矢量Pmv1,并将所生成的第1预测矢量Pmv1向第1运动检测部302及第2运动检测部305输出。在MPEG2标准下,将在时刻n所输出的第n-1的编码对象宏块CMB的运动矢量作为第n的编码对象宏块CMB的第1运动矢量Pmv1。但在编码对象宏块CMB的位置处于输入图像IP的左端的情况下,第1运动检测部302及第2运动检测部305将第1预测运动矢量Pmv1的各成分为0,并算出校正值。
如上所述,对于第1运动检测部302及第2运动检测部305,根据向失真量加上校正值的评价值检测运动矢量时,通过使用根据左边相邻宏块的第1运动矢量MV1的第1预测矢量Pmv1算出校正值,从而可以实现流水线结构,并可以高速进行运动矢量的检测,并且,在第1运动检测部302及第2运动检测部305中算出校正值时,共同使用第1预测矢量Pmv1,从而可以简化结构。
另外,与实施方式1的说明相同,预测矢量生成部304,也可以不使用左边相邻宏块的运动矢量作为第1预测矢量Pmv1,而使用周边宏块的运动矢量确定第1预测运动矢量Pmv1。例如,也可以将以下值作为第1预测矢量Pmv1,如图4(a)所示,在对象宏块X的上方、右上方、左方的3个宏块B、C、D的运动矢量的各成分的中央值,如图4(b)所示,在对象宏块X的左上方、上方、右上方、左方的4个宏块A、B、C、D的运动矢量的各成分的平均值,或在周边宏块的运动矢量的方向中朝一方向最多的运动矢量的各成分的平均值或中央值。在此情况下,除了上述结构以外,还具有运动矢量存储部,存储由第2运动检测部305所检测的运动矢量。据此,预测矢量生成部304,除了可以使用在第1运动检测部302所检测的第1运动矢量MV1以外,还可以利用周边宏块的运动矢量来确定第1预测矢量Pmv1。
并且,第1运动检测部302构成为如下时,即,同时检测宏块可以取得的帧矢量和场矢量等的多个类型的运动矢量的构成时,预测矢量生成部304,也可以将帧矢量或场矢量的任一个固定、或适应性转换,来作为第1预测矢量Pmv1输出。
并且,在本实施方式中,流水线的级数为2级、检测运动矢量的块大小为16×16像素、参考图像的张数为1,但3级以上的流水线的级数、其他块大小、2张以上的参考图像也可以同样构成。可以构成为如下,在n级(n是3以上的自然数)的流水线结构的情况下,在从第1级至第k级(k是从1至n-1的自然数)根据向失真量加上校正值的评价值来进行运动矢量检测,在第k+1级以后仅根据失真量来进行运动矢量检测。
并且,对于运动矢量检测的评价值,失真量是差分绝对值的总和,但也可以是差分平方误差或方差等的值。
实施方式4对于实施方式1至3,在第1级和第2级的运动检测部中,以宏块为单位检测运动矢量,但本实施方式说明,以宏块为单位或以块为单位检测运动矢量的情况,该块是将宏块进一步分割而成的。
图8是根据本发明的实施方式4的运动矢量检测装置的结构的方框图。
运动矢量检测装置400是一种用于通过2级流水线来检测运动矢量的装置,如图8所示具有帧存储器401、第1运动检测部402、第1加权系数计算部403、第1预测矢量生成部404、第2运动检测部405、第2加权系数计算部406、第2预测矢量生成部407以及运动矢量存储部408。在此,与实施方式1相同,第1级的第1运动检测部402以整数像素精度进行运动矢量搜索,第2级的第2运动检测部405以第1运动检测部402所检测的第1运动矢量MV1为中心,且以半像素精度进行运动矢量搜索。并且,以如下情况为例子,即,以16×16像素大小的块大小的1个宏块为单位,或以将宏块进一步分割后获得的8×8像素大小的4个块为单位进行运动矢量检测,且参考图像为1个帧。同时以在MPEG4方式下进行编码的情况为例子来说明。
与实施方式1至3不同的结构是,在第1运动检测部402及第2运动检测部405,不仅检测宏块,还检测每个块的运动矢量。并且,在第1运动检测部402及第2运动检测部405算出校正值的方法不同,因此对这部分进行说明,但对与实施方式1至3相同的结构的部分省略详细说明。
第1运动检测部402求出,编码对象宏块CMB的第1运动矢量和4个块的第1运动矢量。即,与实施方式1至3相同,第1运动检测部402算出编码对象宏块CMB的第1运动矢量。并且,第1运动检测部402,对于各块,也在参考图像数据RI内按每个相同块大小的搜索块,将向失真量加上校正值的值为评价值,并根据该评价值为最小值的参考块位置和MB位置信息LI分别求出各块的运动矢量,该失真量是各像素的差分绝对值的总和。在此,第1运动检测部402,以通过上述公式1算出的值作为校正值来使用。
预测矢量生成部404,根据从第1运动检测部402输出的整数精度的第1运动矢量MV1来生成第1预测矢量Pmv1,并将所生成的第1预测矢量Pmv1向第1运动检测部402输出。此时,4个块的预测矢量最好使用相邻的块的矢量,但在以宏块为单位的流水线处理中检测运动矢量,因此需要在未检测左边相邻块的运动矢量的情况下检测4个块的运动矢量。据此,将第2预测矢量Pmv2作为左边相邻的宏块的运动矢量来算出校正值。
与第1运动检测部402相同,第2运动检测部405算出评价值,并求出编码对象宏块CMB的运动矢量和4个块的运动矢量。
第2预测矢量生成部407,根据从第2运动检测部405输出的半像素精度的运动矢量MV、或从第1运动检测部402输出的整数精度的第1运动矢量MV1,来算出由MPEG4所规定的附近块位置的运动矢量的中央值,并将此中央值作为第2预测矢量Pmv2。
如上所述,对于第1运动检测部402,通过使用根据左边相邻宏块的第1运动矢量MV1的第1预测矢量Pmv1来算出校正值,并且,对于第2运动检测部405,通过使用根据运动矢量MV或第1预测矢量Pmv1的第2预测矢量Pmv2来算出校正值,即使在以分割宏块的块为单位进行运动矢量检测的情况下,也可以实现流水线结构,并可以高速进行运动矢量的检测。
另外,第1预测矢量生成部404及第2预测矢量生成部407,也可以不使用左边相邻宏块的运动矢量作为第1预测矢量Pmv1及第2预测矢量,而利用周边宏块的运动矢量来确定暂时预测矢量。例如,也可以将以下值作为暂时预测矢量,如图4(a)所示,在对象宏块X的上方、右上方、左方的3个宏块B、C、D的运动矢量的各成分的中央值,如图4(b)所示,在对象宏块X的左上方、上方、右上方、左方的4个宏块A、B、C、D的运动矢量的各成分的平均值,或在周边宏块的运动矢量的方向中朝一方向最多的运动矢量的各成分的平均值或中央值。此时,第1预测矢量生成部404,除了可以使用由第1运动检测部402所检测的第1运动矢量MV1以外,还可以使用存储在运动矢量存储部408的周边宏块的运动矢量来确定第2预测矢量Pmv2。
并且,第1运动检测部402及第2运动检测部405构成为如下时,即,同时检测宏块可以取得的帧矢量和场矢量等的多个类型的运动矢量的构成时,第1预测矢量生成部404及第2预测矢量生成部407,也可以将帧矢量或场矢量的任一个固定或适应性转换,来作为第1预测矢量Pmv1及第2预测矢量Pmv2输出。
并且,在本实施方式中,流水线的级数为2级、检测运动矢量的块大小为16×16像素及子块大小为8×8像素、参考图像的张数为1,但3级以上的流水线的级数、其他块大小、2张以上的参考图像也可以同样构成。可以构成为如下,在n级(n是3以上的自然数)的流水线结构的情况下,在从第1级至第k级(k是从1至n-1的自然数)根据向失真量加上校正值的评价值来进行运动矢量检测,在第k+1级以后仅根据失真量来进行运动矢量检测。
并且,对于运动矢量检测的评价值,失真量是差分绝对值的总和,但也可以是差分平方误差或方差等的值。
此外,在上述各实施方式中图2、图5至图8所示的方框图的各功能块典型的是以作为集成电路的LSI来实现。该LSI可以单片化,也可以多片化(例如,可以对存储器以外的功能块进行单片化)。上述所说的LSI,根据集成度的不同,有时也称为IC、系统LSI、超级(super)LSI、极超级(ultra)LSI。
此外,集成电路化的方法不限于LSI,也可以以专用电路或通用处理器来实现。也可以利用,制造LSI后,可编程的FPGA(现场可编程门阵列;FieldProgrammable Gate Array),或可重新构成LSI内部的电路单元的连接或设定的重组处理器(reconfigurable processor)。
再者,随着半导体技术的进展或派生的另一个技术,出现可代替LSI的集成电路化的技术时,当然,也可以通过此技术进行功能块的集成化。有生物技术的应用等的可能性。
如上所述,本发明涉及的运动矢量检测装置,可以通过块之间的失真量和运动矢量的代码量的折衷来检测运动矢量,也可以适用于例如在移动电话、DVD装置、个人计算机等中进行运动图像编码时等的流水线结构的运动矢量检测等。
权利要求
1.一种运动矢量检测装置,将输入图像分割为规定大小的块,并通过n级(n是2以上的自然数)流水线处理来检测针对各输入块的参考图像的运动矢量,其特征在于,包括第1运动矢量检测单元,根据由上述以块为单位的多个搜索块和上述输入块所算出的失真量和校正值,按每个上述搜索块算出评价值,并根据上述输入块的位置和上述评价值为最小的搜索块的位置,检测上述输入块的第1运动矢量,该多个搜索块是在上述参考图像的规定搜索范围内的多个搜索块,该校正值是由上述搜索块位置的运动矢量、第1预测矢量和加权系数所算出的值;第k+1运动矢量检测单元,以失真量为评价值,根据上述输入块的位置和上述评价值为最小的搜索位置,检测上述输入块的第k+1运动矢量,该失真量是,根据规定搜索范围内的多个搜索块和上述输入块按每个搜索块所算出的,该规定搜索范围是以由第k运动矢量检测单元(k是从1至n-1的自然数)所检测的第k运动矢量来指定的位置为中心的范围;以及第1预测矢量生成单元,根据由上述第1运动矢量检测单元已经检测出的其他输入块的第1运动矢量生成上述第1预测矢量,并将所生成的上述第1预测矢量通知给上述第1运动矢量检测单元。
2.如权利要求
1所述的运动矢量检测装置,其特征在于,上述第1预测矢量生成单元,将所生成的上述第1预测矢量通知给上述第k+1运动矢量检测单元;上述第k+1运动矢量检测单元,根据上述失真量和校正值算出上述评价值,该校正值是由上述搜索块位置的运动矢量、上述第1预测矢量和加权系数所算出的。
3.如权利要求
1所述的运动矢量检测装置,其特征在于,上述第1运动矢量检测单元和上述第k+1运动矢量检测单元,以上述输入块为单位,或以输入子块为单位,检测上述运动矢量,该输入子块是将上述输入块分割为规定大小的块。
4.如权利要求
1所述的运动矢量检测装置,其特征在于,上述失真量是,根据构成上述输入块及上述搜索块的各像素的像素值所算出的差分绝对值的总和、差分的方差、以及平方误差中的任一个。
5.如权利要求
1所述的运动矢量检测装置,其特征在于,上述第1预测矢量生成单元,将由上述第1运动矢量检测单元所检测出的、与上述输入块左边相邻的输入块的第1运动矢量,作为上述第1预测矢量。
6.如权利要求
1所述的运动矢量检测装置,其特征在于,上述第1预测矢量生成单元,将由上述第1运动矢量检测单元已经检测出的、与上述输入块相邻的一个以上的输入块的第1运动矢量的平均值、中央值、众数中的任一个作为上述第1预测矢量。
7.如权利要求
1所述的运动矢量检测装置,其特征在于,上述运动矢量检测装置还包括第k+1预测矢量生成单元,根据由上述第k+1运动矢量检测单元已经检测出的其他输入块的第k+1运动矢量生成第k+1预测矢量,并将所生成的上述第k+1预测矢量通知给上述第k+1运动矢量检测单元;上述第k+1运动矢量检测单元,根据上述失真量和校正值算出上述评价值,该校正值是由上述搜索块位置的运动矢量、上述第k+1预测矢量和加权系数所算出的。
8.如权利要求
7所述的运动矢量检测装置,其特征在于,上述第k+1预测矢量生成单元,将由上述第k+1运动矢量检测单元已经检测出的、与上述输入块左边相邻的输入块的第k+1运动矢量作为上述第k+1预测矢量。
9.如权利要求
7所述的运动矢量检测装置,其特征在于,上述第k+1预测矢量生成单元,将由上述第k+1运动矢量检测单元已经检测出的、与上述输入块相邻的一个以上的输入块的第k+1运动矢量的平均值、中央值、众数中的任一个作为上述第1预测矢量。
10.如权利要求
7所述的运动矢量检测装置,其特征在于,上述第1运动矢量检测单元及上述第k+1运动矢量检测单元,分别以不同的计算方法算出上述加权系数。
11.如权利要求
7所述的运动矢量检测装置,其特征在于,上述第1预测矢量生成单元及上述第k+1预测矢量生成单元,分别以不同的计算方法生成上述第1预测矢量及上述第k+1预测矢量。
12.一种运动矢量检测装置,将输入图像分割为规定大小的块,并通过2阶段的处理来检测针对各输入块的参考图像的运动矢量,其特征在于,包括第1运动矢量检测单元,根据由上述以块为单位的多个搜索块和上述输入块所算出的失真量和校正值,按每个上述搜索块算出评价值,并根据上述输入块的位置和上述评价值为最小的搜索块的位置,检测上述输入块的第1运动矢量,该多个搜索块是在上述参考图像的规定搜索范围内的多个搜索块,该校正值是由上述搜索块位置的运动矢量、第1预测矢量和加权系数所算出的值;第2运动矢量检测单元,以失真量为评价值,根据上述输入块的位置和上述评价值为最小的搜索位置,检测上述输入块的第2运动矢量,该失真量是,根据规定搜索范围内的多个搜索块和上述输入块按每个搜索块所算出的,该规定搜索范围是以由第1运动矢量检测单元所检测的第1运动矢量来指定的位置为中心的范围;以及第1预测矢量生成单元,根据由上述第1运动矢量检测单元已经检测出的其他输入块的第1运动矢量生成上述第1预测矢量,并将所生成的上述第1预测矢量通知给上述第1运动矢量检测单元。
13.如权利要求
12所述的运动矢量检测装置,其特征在于,上述第1运动矢量检测单元,以整数精度检测上述第1运动矢量;上述第2运动矢量检测单元,以小数精度检测上述第2运动矢量。
14.如权利要求
13所述的运动矢量检测装置,其特征在于,上述运动矢量检测装置还包括第2预测矢量生成单元,根据由上述第2运动矢量检测单元已经检测出的其他输入块的第2运动矢量生成上述第2预测矢量,并将所生成的上述第2预测矢量通知给上述第2运动矢量检测单元;上述第2运动矢量检测单元,根据上述失真量和校正值算出上述评价值,该校正值是由上述搜索块位置的运动矢量、上述第2预测矢量和加权系数所算出的。
15.一种运动矢量检测方法,将输入图像分割为规定大小的块,并通过n级(n是2以上的自然数)流水线处理来检测针对各输入块的参考图像的运动矢量,其特征在于,包括第1运动矢量检测步骤,根据由上述以块为单位的多个搜索块和上述输入块所算出的失真量和校正值,按每个上述搜索块算出评价值,并根据上述输入块的位置和上述评价值为最小的搜索块的位置,检测上述输入块的第1运动矢量,该多个搜索块是在上述参考图像的规定搜索范围内的多个搜索块,该校正值是由上述搜索块位置的运动矢量、第1预测矢量和加权系数所算出的值;第k+1运动矢量检测步骤,以失真量为评价值,根据上述输入块的位置和上述评价值为最小的搜索位置,检测上述输入块的第k+1运动矢量,该失真量是,根据规定搜索范围内的多个搜索块和上述输入块按每个搜索块所算出的,该规定搜索范围是以由第k运动矢量检测步骤(k是从1至n-1的自然数)所检测的第k运动矢量来指定的位置为中心的范围;以及第1预测矢量生成步骤,根据由上述第1运动矢量检测步骤已经检测出的其他输入块的第1运动矢量生成上述第1预测矢量,并将所生成的上述第1预测矢量通知给上述第1运动矢量检测步骤。
16.一种程序,将输入图像分割为规定大小的块,并通过n级(n是2以上的自然数)流水线处理来检测针对各输入块的参考图像的运动矢量,其特征在于,使计算机执行以下步骤第1运动矢量检测步骤,根据由上述以块为单位的多个搜索块和上述输入块所算出的失真量和校正值,按每个上述搜索块算出评价值,并根据上述输入块的位置和上述评价值为最小的搜索块的位置,检测上述输入块的第1运动矢量,该多个搜索块是在上述参考图像的规定搜索范围内的多个搜索块,该校正值是由上述搜索块位置的运动矢量、第1预测矢量和加权系数所算出的值;第k+1运动矢量检测步骤,以失真量为评价值,根据上述输入块的位置和上述评价值为最小的搜索位置,检测上述输入块的第k+1运动矢量,该失真量是,根据规定搜索范围内的多个搜索块和上述输入块按每个搜索块所算出的,该规定搜索范围是以由第k运动矢量检测步骤(k是从1至n-1的自然数)所检测的第k运动矢量来指定的位置为中心的范围;以及第1预测矢量生成步骤,根据由上述第1运动矢量检测步骤已经检测出的其他输入块的第1运动矢量生成上述第1预测矢量,并将所生成的上述第1预测矢量通知给上述第1运动矢量检测步骤。
17.一种集成电路,将输入图像分割为规定大小的块,并通过n级(n是2以上的自然数)流水线处理来检测针对各输入块的参考图像的运动矢量,其特征在于,包括第1运动矢量检测单元,根据由上述以块为单位的多个搜索块和上述输入块所算出的失真量和校正值,按每个上述搜索块算出评价值,并根据上述输入块的位置和上述评价值为最小的搜索块的位置,检测上述输入块的第1运动矢量,该多个搜索块是在上述参考图像的规定搜索范围内的多个搜索块,该校正值是由上述搜索块位置的运动矢量、第1预测矢量和加权系数所算出的值;第k+1运动矢量检测单元,以失真量为评价值,根据上述输入块的位置和上述评价值为最小的搜索位置,检测上述输入块的第k+1运动矢量,该失真量是,根据规定搜索范围内的多个搜索块和上述输入块按每个搜索块所算出的,该规定搜索范围是以由第k运动矢量检测单元(k是从1至n-1的自然数)所检测的第k运动矢量来指定的位置为中心的范围;以及第1预测矢量生成单元,根据由上述第1运动矢量检测单元已经检测出的其他输入块的第1运动矢量生成上述第1预测矢量,并将所生成的上述第1预测矢量通知给上述第1运动矢量检测单元。
专利摘要
本发明提供一种运动矢量检测装置及运动矢量检测方法,通过运动矢量的比特量和差分量的折衷来求出最佳运动矢量,并且以流水线结构可以高速进行运动矢量检测。运动矢量检测装置(100)包括第1运动检测部(102),根据失真量和校正值算出评价值,并根据输入块的位置和评价值为最小的搜索块的位置检测输入块的第1运动矢量,该失真量是由各搜索块和输入块所算出的,该校正值是由搜索块位置的运动矢量、第1预测矢量和加权系数所算出的;加权系数计算部(103),用于算出加权系数;预测矢量生成部(104),根据第1运动矢量生成第1预测矢量;第2运动检测部(105),仅将由各搜索块和输入块所算出的失真量作为评价值进行运动矢量检测。
文档编号H04N7/32GK1993994SQ200580026581
公开日2007年7月4日 申请日期2005年8月3日
发明者大古濑秀之, 稻垣寻纪, 角野真也 申请人:松下电器产业株式会社
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1