CN100559843C - 图像处理装置和图像处理方法 - Google Patents
图像处理装置和图像处理方法 Download PDFInfo
- Publication number
- CN100559843C CN100559843C CNB2006101609440A CN200610160944A CN100559843C CN 100559843 C CN100559843 C CN 100559843C CN B2006101609440 A CNB2006101609440 A CN B2006101609440A CN 200610160944 A CN200610160944 A CN 200610160944A CN 100559843 C CN100559843 C CN 100559843C
- Authority
- CN
- China
- Prior art keywords
- relevance values
- reduction
- vector
- approaching
- block
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供了一种图像处理装置,其用于通过执行设置多个参考块、搜索特定参考块和检测运动矢量的步骤来识别运动矢量。该图像处理装置包括相关性值计算装置、表生成装置和运动矢量计算装置。
Description
技术领域
本发明涉及用于检测两个不同画面之间的运动矢量的图像处理装置和图像处理方法。更具体而言,本发明适于检测如下画面之间的运动矢量的情形,所述画面在通过使用诸如数字照相机或摄像机等的图像拾取装置执行的图像拾取过程中所获得的图像信息中包括所谓的手颤抖(hand-trembling)分量。
背景技术
一般而言,在通过使用手持的诸如数字照相机(或摄像机)等图像拾取设备执行图像拾取操作时,图像拾取设备由于图像拾取操作期间的手颤抖而抖动,导致所拍摄图像的每个画面的抖动。一种已知的针对作为所拍摄图像的抖动的由手颤抖导致的抖动,对所拍摄图像进行补偿的方法是检测所拍摄图像的每个画面的运动矢量,并且基于检测出的运动矢量,图像存储器中存在的作为图像拾取数据读取位置的位置被偏移,以便针对手的颤抖导致的抖动,对图像进行补偿。
此外,作为检测所拍摄图像的每个画面的运动矢量的方法,已知一种用于找出两画面的所拍摄图像之间的相关性的块匹配技术。由于块匹配技术不需要诸如充当角速度传感器的陀螺仪传感器(gyro sensor)等的机械组件,因此该技术提供了可以实现体积小、重量轻的图像拾取设备的优点。
图42和图43是描述块匹配技术的概况时参考的示图。图44示出了表示采用块匹配技术的典型处理的流程图。
块匹配技术是这样的方法,其中,由图像拾取单元输出的所拍摄图像的原始画面上的单位块和所拍摄图像的参考画面上的同一单位块之间的运动矢量被与原始画面上的块和参考画面上的相同块之间的相关性相关联。由图像拾取单元输出的所拍摄图像的参考画面被定义为当前正被处理的画面,而也被称为目标画面的原始画面被定义为紧挨参考画面的前一画面或在参考画面之前隔了一个画面间隔的画面。
应当注意,在此情形下,画面是由一帧或一场图像数据组成的图像。但是在本发明说明书中,画面被定义为由一帧图像数据组成的图像,以便使得说明易于理解。因此,画面也被称为帧。也就是说,参考画面和原始画面也分别被称为参考帧和原始帧。
例如,参考帧的图像数据是这样的图像数据,其已被图像拾取单元输出,并作为当前帧的图像数据,自当前帧的显现,在帧存储器中存储了与出现一帧相对应的延迟时间。另一方面,原始帧的图像数据是这样的图像数据,其作为紧挨着的前一帧的图像,自当前帧的显现,在帧存储器中存储了与出现两帧相对应的延迟时间。
如上所述,图42和图43是在描述块匹配技术的概况时参考的图形。图44示出了代表采用块匹配技术的典型处理的流程图。
根据块匹配技术,如图42所示,在原始帧101(也被称为目标帧101)上的任意预定位置处设置目标块103。目标块103是具有预定大小的矩形区域。目标块103具有多个像素,这些像素在水平方向上排列为形成行,多个这种行在垂直方向上排列。
另一方面,在参考帧102上与目标块103的位置(或坐标)相同的位置(或相同的坐标)处,如果手不颤抖,则目标块投影图像块104将充当目标块103。在图42中,目标块投影图像块104被绘制为被虚线围绕的块。于是,搜索范围105被设置为其中心与目标块投影图像块104重合。在图42中,搜索范围105被绘制为被点划线围绕的块。此外,参考块106被假设为在搜索范围105上要从一个位置到另一个位置移动的块,如下面将描述的。当参考块106位于参考帧102上存在的下述位置时,移动的参考块106和目标块103之间的相关性变为最强:所述位置是没有由于手颤抖而从原始帧101上的目标块103的位置偏移的位置,如图所示。
然后,参考帧102上的参考块106的位置在搜索范围105上改变,努力搜索搜索范围105以便找出表现出该位置的参考块106中包括的图像数据与目标块103中包括图像数据之间的最强相关性的位置,即,找出移动的参考块106和目标块103之间的相关性变为最强的位置。表现出最强相关性的位置被检测为参考块106的最强相关性位置,或者目标块103在参考帧102上的实际位置。检测出的参考块106的最强相关性位置或目标块103在参考帧102上的实际位置从目标块投影图像块104的位置的偏移量值被检测为运动矢量110,其包括移动方向。
在搜索搜索范围105以找出表现出最强相关性的位置的过程中,参考块106在参考帧102上的位置在搜索范围105上一般以一次对应于一个像素或多个像素的距离,在垂直和水平方向上改变。因此,多个参考块位置中的每一个都被预先设置在搜索范围105中,作为参考块106要在搜索过程期间被移动到的位置。
在搜索范围105上从一个位置移动到另一个位置的参考块106和目标块103之间的最强相关性基本上是在参考块106的每个目前位置处的参考块106的像素和目标块103的相应像素的基础上计算的。作为计算移动的参考块106和目标块103之间的最强相关性的方法,已经提出了多种技术,包括均方方法。通过使用将在后面作为用于存储通过采用将相关性表达为SAD(绝对差之和)的典型方法来找到最强相关性的过程的结果的表而被描述的表,上述运动矢量110被检测为代表从目标块投影图像块104的位置到参考块106的最强相关性位置的距离的大小和方向的参考矢量。SAD是参考块106中的所有像素和目标块103中的所有相应像素之间的亮度值之差的绝对值的和。最强相关性由用于从目标块投影图像块104的位置开始的运动矢量110所指示的最强相关性位置的最小SAD代表。
如果SAD值被用于代表相关性值,则SAD值越小,相关性越强。因此,在将参考块106在搜索范围105上从一个位置移动到另一个位置的过程中,搜索范围105中的位置被检测作为参考块106的最强相关性位置,即,作为表现出参考块106和目标块103之间的最强相关性的位置,或具有参考块106和目标块103之间的最小SAD值的位置。运动矢量110是代表从原始帧101上的目标块103的位置或参考帧102上的目标块投影图像块104的位置到表现出最强相关性的检测出的位置或具有最小SAD值的检测出的位置的偏移的矢量。
根据块匹配技术,参考块106将在搜索范围105上移动到的多个位置被预先设置,这些位置被搜索,以找出表现出参考块106和目标块103之间的最强相关性的特定位置,或具有参考块106和目标块103之间的最小SAD值的特定位置,并且包括偏移方向的参考矢量107被用作代表从原始帧101上的目标块103的位置或参考帧102上的目标块投影图像块104的位置到表现出参考块106和目标块103之间的最强相关性的特定位置,或到具有参考块106和目标块103之间的最小SAD值的特定位置的偏移的矢量,如图42所示。因此,指向参考块106的参考矢量107具有由参考帧102上的参考块106的最强相关性位置确定的值,并且在块匹配技术的情形下,参考块106的最强相关性位置是表现出最小SAD值的位置。
根据块匹配技术,对于参考块106要在搜索范围105上移动到的多个位置中的每一个位置,计算出的参考块106和目标块103之间的SAD值通过被与指向参考块106的位置的参考矢量107相关联而被记录为存储在存储器中的相关性值表108中的表元素,如图43所示。为了简化说明,在下文中,参考块106和目标块103之间的SAD值也被称为参考块SAD值,而指向参考块106的位置的参考矢量107也被称为运动矢量110。因此,可以通过搜索在存储器中存储的所有参考块SAD值以找出最小参考块SAD值,来从相关性值表108找到与最小参考块SAD值相关联的运动矢量110。
如上所述,对于参考块106要在搜索范围105上移动到的多个位置中的每一个位置,通过被与参考矢量107相关联,参考块106和目标块103之间的参考块SAD值被记录为相关性值表108中的表元素,相关性值表108以后也称为SAD表108。参考块SAD值代表参考块106和目标块103之间的相关性。由于参考块SAD值是参考块106中的所有像素和目标块103中的所有相应像素之间的亮度值之差的绝对值的和,因此用于记录这种差的绝对值的每个和的相关性值表108也称为SAD表108。
如图43所示,相关性值表108中的每个元素都是相关性值,该相关性值是与该元素的地址相对应的位置处的参考块106的相关性值,或者是该位置的参考块SAD值。
应当注意,在上文中,目标块103或参考块106的位置分别是目标块103或参考块106的特定部分的位置。特定部分的示例是目标块103或参考块106的中心。同样如上所述,包括偏移方向的参考矢量107是代表从原始帧101上的目标块103的位置或参考帧102上的目标块投影图像块104的位置到表现出最强相关性的位置或具有最小SAD值的位置的偏移量的矢量。在图42和图43所示的示例中,目标块103和目标块投影图像块104都位于帧的中心。
指向参考块106并且包括偏移方向的参考矢量107是代表从目标块103的位置或目标块投影图像块104的位置到表现出最强相关性的位置或具有最小SAD值的位置的偏移量的矢量。因此,如果识别出了表现出参考块106和目标块103之间的最强相关性的位置或具有参考块106和目标块103之间的最小SAD值的位置,那么也就识别出了参考矢量107的值。也就是说,如果识别出了存储器中的相关性值表108的元素的地址,那么也就识别出了参考矢量107的值。
下面通过参考图44所示的流程图,更详细地说明上述现有技术中的块匹配处理。
该流程图开始于步骤S1,在这里,图42中的标号106所标示的参考块Ii被指定为在搜索范围105中具有坐标(vx,vy)的位置处。在搜索范围105中指定参考块Ii的操作等同于指定与参考块Ii相对应的参考矢量107的操作。在图44所示的流程图所代表的典型处理中,坐标(vx,vy)是在以坐标(0,0)为原点位置坐标的情况下,指定的参考矢量107所指向的位置的坐标。坐标(0,0)是原始帧101上的目标块103的位置坐标或参考帧102上的目标块投影图像块104的位置坐标。坐标vx代表指定的参考矢量107所指向的位置从原点位置开始的水平方向偏移,而坐标vy代表指定的参考矢量107所指向的位置从具有坐标(0,0)的原点位置开始的垂直方向偏移。
每个偏移量(vx,vy)都是以像素为单位表达的量。例如,表达式vx=+1表达了从原点位置(0,0)在水平方向向右偏移等于一个像素的距离的位置。另一方面,表达式vx=-1表达了从原点位置(0,0)在水平方向向左偏移等于一个像素的距离的位置。此外,表达式vy=+1表达了从原点位置(0,0)在垂直向下方向偏移等于一个像素的距离的位置。另一方面,表达式vy=-1表达了从原点位置(0,0)在垂直向上方向偏移等于一个像素的距离的位置。
如上所述,坐标(vx,vy)是作为相对于原点位置(0,0)的位置的由参考矢量107指向的位置的坐标。在下文中,作为相对于原点位置(0,0)的位置的由参考矢量107指向的位置被简称为参考矢量107指向的位置,以便使得说明易于理解。参考矢量107指向的每个位置被说成是与参考矢量107相对应的位置。即,量(vx,vy)(其中标记vx和vy都是整数)代表参考矢量107本身。因此,在下文中,指向位置(vx,vy)(具有坐标(vx,vy)的位置)的参考矢量107被表达为参考矢量(vx,vy)。
如前所述,以搜索范围105的中心位置作为目标块投影图像块104的中心位置或原点位置(0,0)。在水平方向上根据定义了搜索范围105的水平限度的范围±Rx中的距离,并在垂直方向上根据定义了搜索范围105的垂直限度的范围±Ry中的距离,参考块106在搜索范围105上从一个位置移动到另一个位置。在此情形下,量(vx,vy)满足以下关系:
-Rx≤vx≤+Rx并且-Ry≤vy≤+Ry
在下一步骤S2中,具有坐标(x,y)的点(或像素)被指定为图42中由标号103标示的目标块Io中的点。令标记Io(x,y)标示指定的点(x,y)处的像素值,令标记Ii(x+vx,y+vy)标示在步骤S1中在块位置(vx,vy)处设置的参考块Ii中的点(x+vx,y+vy)处的像素值。在下文中,参考块Ii中的点(x+vx,y+vy)被说成是与目标块Io中的点(x,y)相对应的点。然后,在下一步骤S3中,根据以下的等式(1)计算像素值Io(x,y)和像素值Ii(x+vx,y+vy)之间的差的绝对值α:
α=|Io(x,y)-Ii(x+vx,y+vy)| ——(1)
对于目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy),计算上述差的绝对值α,并且代表对目标块Io和参考块Ii计算的差的绝对值α的和的SAD值被存储在与指向参考块Ii的当前位置的参考矢量(vx,vy)相关联的表元素的地址处。也就是说,SAD作为与参考块Ii相关联的参考值表元素109被存储为相关性值表108的元素。为了计算这样的SAD值,在下一步骤S4,在步骤S3找到的差的绝对值α被累积地添加到已被存储为与参考矢量(vx,vy)所指向的参考块Ii相关联的参考值表元素109的临时SAD值,以作为目前为止计算得到的SAD值。作为对所有差的绝对值α累积求和的过程的结果,获得最终SAD值SAD(vx,vy),所述所有差的绝对值α是如上所述地对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)计算的。因此,最终SAD值SAD(vx,vy)可以由以下等式(2)表达:
SAD(vx,vy)=∑α=∑|Io(x,y)-Ii(x+vx,y+vy)| ——(2)
然后,现有技术中的块匹配处理的流程进行到下一步骤S5,产生关于是否已经对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)都执行了步骤S3和S4的过程的判断结果。如果判断结果指示尚未对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)都执行步骤S3和S4的过程的判断结果,则现有技术中的块匹配处理的流程返回步骤S2,在步骤S2,具有坐标(x,y)的另一个点被指定为目标块Io中的另一个点。然后,重复步骤S2之后的步骤S3和S4的过程。
如果在步骤S5产生的判断结果指示已经对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)都执行了步骤S3和S4的过程,则参考矢量(vx,vy)的最终SAD值SAD(vx,vy)已经被找到。现有技术中的块匹配处理的流程进行到步骤S6,产生关于是否对搜索范围105中的所有参考块位置(即对所有参考矢量(vx,vy))都已执行了步骤S2到S5的过程的判断结果。
如果在步骤S6处产生的判断结果指示尚未对所有参考矢量(vx,vy)执行步骤S2到S5的过程,则相关有技术中的块匹配处理的流程返回步骤S1,在步骤S1,另一参考矢量(vx,vy)所指向的另一参考块Ii被设置在搜索范围105中的另一块位置(vx,vy)处。然后,重复步骤S1和后续步骤的过程。
如果在步骤S6产生的判断结果指示对搜索范围105中的所有参考块位置或对所有参考矢量(vx,vy)都已执行了步骤S2到S5的过程,则相关性值表108的所有元素都已被填充以最终SAD值(vx,vy)。现有技术中的块匹配处理的流程进行到步骤S7。在相关性值表108的所有元素中存储的所有最终SAD值(vx,vy)之中的最小值被检测为代表目标块103和参考块106之间的最强相关性的最小值。然后,在下一步骤S8,指向包括在相关性值表108中的作为用于存储最小的最终SAD值(vx,vy)的元素的元素地址的参考矢量(vx,vy)被识别为前述运动矢量110。令标记SAD(mx,my)标示最小的最终SAD值(vx,vy),而标记矢量(mx,my)标示指向包括在相关性值表108中的作为存储SAD(mx,my)的元素的元素地址的参考矢量(vx,vy)或标示运动矢量110。
如上所述,执行用于目标块103的现有技术中的块匹配处理,以确定目标块103的矢量(mx,my)。
现有技术中的块匹配处理技术具有很长的历史。该技术最初是在20世纪80年代末作为用于针对手颤抖的影响来补偿图像拾取装置的无传感器技术而被引入的。因此,在发明数字消费品之前,该技术本身已经被使用了很长时间。
此后,虽然已经提出了很多发明,包括诸如USP 3303312(专利文献1)和日本专利申请早期公开No.Hei 6-86149(专利文献2)等文献中描述的发明,但是针对手颤抖的影响来补偿图像拾取装置的无传感器技术被开发来在某种程度上提供摄像机的成功结果。但是,由于具有更好性能和更小体积的低成本陀螺仪传感器已经进入市场,所以目前用于针对手颤抖的影响来补偿图像拾取装置的无传感器技术的市场位置已经几乎完全被作为利用陀螺仪传感器的技术的用于针对该影响来补偿图像拾取装置的技术所取代。
用于针对手颤抖的影响来补偿图像拾取装置的无传感器技术的市场位置渐失的最大原因是:难以提高从通过采用块匹配技术识别出的运动矢量检测误差的过程的精度,以及通过利用陀螺仪传感器获得的方便性的显著提高。
另一个原因是以下事实:被认为是作为利用陀螺仪传感器的技术的用来针对手颤抖的影响来补偿图像拾取装置的技术的缺点的普通检测精度,在作为该技术的主要应用的运动图片拍摄领域并不造成问题。也就是说,即使诸如陀螺仪传感器等传感器不能提供显示出高精度(例如像素精度)的特性,但是,检测运动矢量的过程并不需要以像素精度所提供的高精度执行。另一方面,在拍摄运动图片的操作期间,在没有传感器的情况下针对手颤抖的影响来补偿图像拾取装置的过程中,有时被错误地识别的运动矢量导致的大误差并不造成问题。
另一方面,近年来,数字照相机的迅速普及和提高组成图片的像素数的潮流中的飞速进展,已经开始造成由以下需要导致的新问题:需要针对手颤抖的影响来补偿在具有低光照的环境中拍摄(因此需要长曝光时间)的静止图片,尽管利用诸如陀螺仪传感器等传感器的图像拾取装置是可用的。也就是说,近年来在工业中逐渐暴露的新问题是先前作为陀螺仪传感器的缺点而说明的缺点所导致的问题,或者说陀螺仪传感器的缺点逐渐成为问题。
在针对手颤抖的影响来补偿当前市场中可获得的消费装置的过程中,手颤抖的量通过使用倾斜陀螺仪传感器或加速度传感器而被测量,并被反馈到执行高速控制的机械系统,以防止投射在诸如CCD(电荷耦合器件)成像器或CMOS(互补金属氧化物半导体)成像器等成像器上的图像颤抖。
作为机械系统,已经提出了包括透镜、棱镜和成像器的系统(或包括其中集成有成像器的模块)。透镜、棱镜和成像器被分别称为透镜偏移、棱镜偏移和成像器偏移。
如果通过采用上述方法针对手颤抖的影响来补偿图像拾取装置,则该过程将产生到机械系统的反馈的延迟误差,或用于避免反馈延迟的估计误差和控制误差。反馈延迟误差和控制误差被叠加在作为陀螺仪传感器本身的误差的前述精度误差上。因此,在针对手颤抖的影响来补偿图像拾取装置的过程中,基于像素精度的补偿是非常困难的。
尽管存在严重的问题,即,通常,通过仅执行前述通过利用同时代的传感器来针对手颤抖的影响来补偿图像拾取装置的过程很难获得精度,但是如果不能摆脱手颤抖的影响的话,市场喜欢这样的经补偿的图像拾取装置,因为它能够减少手颤抖的影响。
但是,随着像素大小减小以应对未来预期的越来越多的像素数增加,市场意识到以下事实仅仅是个时间问题,所述事实是,通过利用同时代的传感器来针对手颤抖的影响来补偿图像拾取装置的过程的限制,与像素大小减小和像素数增加而造成的像素精度提高之间的差距越来越大。
在无传感器手颤抖补偿技术试图不使用传感器来针对手颤抖的影响来补偿摄像机时体验到苦涩的失败的情形下,另一方面,通常,可以实现对包括滚动轴(roll-axis)方向上的旋转分量的具有高像素精度的手颤抖矢量的检测,还可以去掉传感器和诸如透镜偏移等机械。因此,从成本角度看来,无传感器手颤抖补偿技术是非常出色的。
尽管如此,在依赖于现有技术的块匹配技术的技术的扩展中,组成前述相关性值表108(或SAD表108)的元素数量与一个画面上的像素数成比例地增加。因此,很难通过使用具有可实现的规模的电路来实现用于检测大小超过五百万像素的同时代显示画面上显现的静止图片的运动矢量的过程。
在过去图像拾取装置制造商尝试各种努力来试图去掉用于检测在大小不超过170,000个像素的显示画面上显现的NTSC(国家电视系统委员会)运动图片的手颤抖矢量的电路时遭遇苦涩失败的背景下,在检测以60fps(帧每秒)的速率产生的NTSC运动图片的手颤抖矢量的过程中可以使用窄的手颤抖搜索范围,但是在静止图片的情形下,3fps的速率被当作先决条件,使得手颤抖搜索范围变得非常大,这使得已经存在的问题变得更难以解决。这是因为组成相关性值表108的元素数与一个画面上的像素数和手颤抖搜索范围的大小成比例地增加。
一些文献已经公开了实现用于静止图片的无传感器手颤抖补偿技术的方法,具体而言,所述文献是日本专利申请早期公开No.Hei 7-283999(专利文献3)。根据专利文献3中公开的技术,公开了一种算法,其中在不发生手颤抖的短曝光时间期间拍摄一些连续的静止图片。静态图片之间的手颤抖矢量被找到,并且在曝光期间连续拍摄的多个静止图片在被根据它们的手颤抖矢量平行移动的同时被彼此叠加(或被叠加在曝光期间连续拍摄的静止图片的平均值上),以产生没有手颤抖的影响和没有低光照噪声的最终高质量静止图像。
日本专利申请早期公开No.2005-38396(专利文献4)提出了在可以实现的水平上的可实现技术。专利文献4公开的技术包括用于找到用于作为缩减原始图片的转换处理的结果而获得的图片大小的运动矢量的装置,以及允许公共SAD表被多个块共享的装置。缩减原始图片和允许公共SAD表被多个块共享的技术是实现减小SAD表108的大小的非常好的方法,该方法也用于诸如检测MPEG(运动图像专家组)图片压缩系统中的运动矢量和检测画面改变等其他领域。
但是,专利文献4中公开的算法具有这样的问题,即它花费很多时间来执行缩减原始图片的转换过程和进行对在该过程中使用的具有很大大小的存储器的访问。存储器的一个示例是DRAM(动态RAM(随机访问存储器))。由于该算法使用被配置为在时间共享的基础上由多个块共享的相关性值表108(或SAD表108)进行访问的装置,因此对存储器进行访问的时间变得非常长。对存储器进行访问的非常长的时间还不可避免地增加了执行基于该算法的处理的时间。由于为了缩短系统延迟时间,针对手颤抖的影响来补偿图像拾取装置的过程是以实时方式执行的,因此执行基于该算法的处理所花费的长时间造成了问题。
此外,为了执行缩减原始图片的转换处理,必须在转换处理之前使用低通滤波器执行预处理,以便去除折叠(aliasing)和低光照噪声。由于低通滤波器的特性根据转换过程的缩减因子而改变,具体而言,在垂直方向低通滤波器的情形下,多抽头数字滤波器被使用,但是,若干个行存储器和处理逻辑电路是必要的,造成了电路大小增加的问题。
另一方面,诸如日本专利申请早期公开No.Hei 6-86149(专利文献5)和日本专利申请早期公开No.2004-343843(专利文献6)等文献已经提出了不使用块匹配技术的算法。所提出的算法中的每一个都利用被配置为检测多个点(每个点都由于某些原因而被当作两帧图像上的特性点)并在检测出的特性点的基础上将两帧图像彼此相关联以便找到全局矢量的装置,所述全局矢量是用于每帧图像的整个面貌的手颤抖矢量。或者,检测两个帧图像之一的特性点,并且对于每个都围绕检测出的一个特性点的多个区域,相对于另一帧图像执行块匹配处理。
专利文献5和6公开的算法都减小了处理电路的大小,并且都是非常有效的因此也是理想的。但是,这些算法的效果非常依赖于有多少个真正充当两帧图像的整个面貌的特性和两帧图像公共的特性的识别出的特性点能够被高效地高程度地减少。只要宇宙中的所有事物都被当作消费图像拾取装置的图像拾取对象,块匹配技术就会在鲁棒性方面被认为是稍微领先于专利文献5和6公开的算法。
发明内容
如前所述,在诸如数字照相机等图像拾取装置中,在预期到对更好性能的要求时,未来将投入越来越多的努力来增加图像的像素密度。在此情况下,通过采用不使用陀螺仪(或加速器)传感器的无传感器技术来实现针对在拍摄静止图片的操作中发生的手颤抖的影响来补偿图像拾取装置的过程是很有意义的。
为了实现这样的过程,如前所述,采用作为通过采用块匹配技术以无传感器方式识别手颤抖运动矢量并且通过使用识别出的矢量来针对手颤抖的影响来补偿图像拾取装置的方法被认为是很有前途的方法。但是,在当前情况下,采用块匹配技术的解决方案具有这样的问题,即尚未作出满足小处理电路规模、高处理速度和出色的鲁棒性的所有要求的提案。
块匹配技术的最大问题是由相关性值表的增大的大小引起的。在上述示例中,相关性值表是SAD表。如前所述,在目前在数字照相机中生成的图像必须具有至少五百万像素的大小这个前提下,相关性值表的大小的不可避免地与组成图像的像素数量成比例地增加,另外,在静止图片的情形下采用大约3fps的速率。因此,对于静止图片而言,大小大约为以60fps的速率生成的运动图片的手颤抖搜索范围的大小的10倍的手颤抖搜索范围是必要的。手颤抖搜索范围的大小增加等同于相关性值表大小的增加,相关性值表的大小增加被认为是块匹配技术出现的最大问题。
许多用户给出的评估结果很明显地指示,假设帧的整个面积是100,则手颤抖搜索范围的大小大约是±10%。在高性能图像拾取装置的情形下,组成图像的像素数量已经被假设为12,000,000,并且原样利用被采用的现有技术,必要的相关性值表的大小被估计为大约80兆比特。此外,如果试图满足理想的处理速度,则必须使用SRAM(静态RAM(随机访问存储器))作为用于存储相关性值表的存储器。尽管半导体工艺规程据说已经取得了进展,但是大约80兆比特的大小还是远远超出了现实的水平,其比现实的值高大约3个数位。
为了解决上述问题,本发明的发明者提供了这样的图像处理方法和装置,其允许在通过采用块匹配技术来识别两帧之间的运动矢量的过程中所使用的相关性值表的大小显著缩小。
此外,在块匹配领域的现有技术中建议的方法中,关于作为通过执行图像转换过程来缩减图像以缩小相关性值表的大小的技术的在专利文献4中公开的技术,发明人指出了以下两个问题。一个问题是增加了处理时间和增大了存储器大小,它们是由缩减图像的图像转换过程导致的。另一个问题是实现如下的适当鲁棒的滤波器导致处理电路大小的增大,该滤波器用于避免在执行缩减图像的图像转换过程中的折叠。因此,希望解决这些问题。
为了解决上述问题,作为根据实施例的发明,一种用于识别运动矢量的图像处理装置执行以下步骤:
在参考画面上设置的搜索范围中设置多个参考块作为这样的参考块,所述参考块中的每一个具有与目标块相等的大小,所述目标块作为具有覆盖多个像素的预定大小的目标块被设置在目标画面上的预定位置处;
搜索特定参考块,所述特定参考块具有在参考块和目标块之间的相关性中的最强相关性;以及
基于在参考画面上的搜索范围上特定参考块从与目标画面上的目标块的预定位置相对应的位置的偏移,检测运动矢量。该图像处理装置具有:
相关性值计算装置,其被配置为基于位于每个参考块上的点处的多个像素的像素值和位于目标块上的相应点处的多个像素的像素值,计算相关性值,每个相关性值代表参考块中的一个和目标块之间的相关性;
表生成装置,其被配置为通过以下操作生成经缩减相关性值表:
将由相关性值计算装置针对参考矢量计算得到的相关性值原样存储在被包括在经缩减相关性值表中的表元素中,作为与作为以预定缩减因子缩减参考矢量的结果而获得的经缩减参考矢量相关联的表元素,所述参考矢量代表在参考画面上参考块从与目标画面上的目标块的预定位置相对应的位置的偏移;或者
通过划分由相关性值计算装置针对被缩减以产生经缩减参考矢量的参考矢量计算得到的相关性值,找到多个分量相关性值,所述多个分量相关性值中的每一个与位置接近经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将分量相关性值中的每一个存储在被包括在经缩减相关性值表中的表元素中,作为与特定的接近的经缩减参考矢量相关联的表元素;以及
运动矢量计算装置,其被配置为基于存储在经缩减相关性值表中的分量相关性值,找到目标画面和参考画面之间的运动矢量。
根据另一实施例的第二发明是根据上述实施例的发明。表生成装置还具有:
分量相关性值计算装置,其被配置为如果存在位置接近经缩减参考矢量的多个接近的经缩减参考矢量,则通过划分由相关性值计算装置针对被缩减以产生经缩减参考矢量的前述参考矢量计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近经缩减参考矢量的多个接近的经缩减参考矢量中特定一个相关联,并且将分量相关性值中的每一个存储在被包括在经缩减相关性值表中的表元素中,作为与特定的接近的经缩减参考矢量相关联的表元素;以及
最终分量相关性值计算装置,其被配置为找到最终分量相关性值,所述最终分量相关性值代表通过将由分量相关性值计算装置新计算得到的新分量相关性值累加到作为由分量相关性值计算装置先前计算得到的分量相关性值而已经被存储在经缩减相关性值表的表元素中的先前分量相关性值上而获得的累积和。
具有根据上述本发明的配置的图像处理装置中采用的相关性值计算装置以与现有技术中的图像处理装置相同的方式,计算代表目标帧上的目标块和参考帧上的搜索范围中的每个参考块之间的相关性的相关性值。
但是,具有根据本发明的配置的图像处理装置包括表生成装置,用于计算与作为对缩减前原始参考矢量进行缩减的过程的结果而获得的经缩减参考矢量相关联的分量相关性值,并且存储作为对缩减前原始相关性值表进行缩减的过程的结果而获得的计算得到的分量相关性值,而不是存储代表目标块和参考块之间的相关性的相关性值作为与对应于参考块的缩减前原始参考矢量相关联的表元素。
对缩减前原始相关性值表进行缩减的过程是缩小表的大小的过程,其得到了更少的表元素。另一方面,对缩减前原始参考矢量进行缩减的过程是缩小缩减前原始参考矢量的过程,其得到了与该过程之前的原始参考矢量一样多的经缩减参考矢量。因此,经缩减相关性值表的每个表元素都与经缩减参考矢量或位置接近经缩减参考矢量的多个接近的经缩减参考矢量之一相关联。经缩减相关性值表中的表元素数量是由对相关性值表进行缩减的过程中所使用的缩减因子确定的。
换言之,经缩减相关性值表是用于经缩减的帧图像的表,该经缩减的帧图像将是作为以经缩减参考矢量的缩减因子来对原始帧图像进行缩减的假定过程的结果而获得的。但是,实际上,目标帧图像、参考帧图像、目标块和每个参考块的大小并不改变。相关性值表的大小和每个参考矢量的长度缩小了。
经缩减相关性值表被搜索,以找出用于存储代表目标块和参考块之间的最强相关性的最终分量相关性值的特定表元素。一般地,代表目标块和参考块之间的最强相关性的最终分量相关性值是存储在经缩减相关性值表中的所有最终分量相关性值中的最小值。如上所述,经缩减相关性值表的每个表元素与经缩减参考矢量或位置接近经缩减参考矢量的多个经缩减参考矢量之一相关联。因此,从与特定的表元素相关联的经缩减参考矢量或与特定的表元素相关联的接近的经缩减参考矢量之一,选择所需的经缩减参考矢量,并且通过将所需的经缩减参考矢量乘以缩减因子来找到原始运动矢量。
根据本发明,缩减图像的过程是不必要的。因此,既没有缩减图像的过程,也没有该过程所需的存储器容量增加。
如上所述,经缩减相关性值表的每个表元素与经缩减参考矢量或位置接近经缩减参考矢量的多个接近的经缩减参考矢量之一相关联。因此,经缩减参考矢量不在一对一基础上与经缩减相关性值表的表元素相对应。如果表元素不与经缩减参考矢量相对应,即,如果表元素与位置接近经缩减参考矢量的多个经缩减参考矢量中特定的一个相对应,则根据另一实施例的本发明所采用的表生成装置计算对于该特定的接近的经缩减参考矢量的分量相关性值。然后,表生成装置将计算得到的分量相关性值存储在与该特定的接近的经缩减参考矢量相关联的表元素中。
以与现有技术的块匹配技术相同的方式,相关性值计算装置通过执行累加过程,重复地将计算得到的值累加到临时和,直到与经缩减参考矢量相关联的参考块中的所有像素都被考虑,从而找到任何经缩减参考矢量的相关性值。
如上所述,通过执行将计算得到的值累加到临时和的累加过程,针对与参考块相关联的任何特定的经缩减参考矢量,计算了代表原始帧中的目标块和参考帧中的参考块之间的相关性的相关性值。代替将针对特定经缩减参考矢量计算的相关性值原样存储在经缩减相关性值表的表元素中,可以通过划分针对特定的经缩减参考矢量计算的相关性值,来针对位置接近特定的经缩减参考矢量的经缩减参考矢量,找到多个分量相关性值。通过划分针对特定的经缩减参考矢量计算的相关性值来针对位置接近特定的经缩减参考矢量的经缩减参考矢量来找到分量相关性值的过程本身等同于适应于缩减因子的合适过滤过程。因此,类似于对图像进行缩减所必需的滤波器的低通滤波器实现不是必要的。
根据本发明,在通过采用块匹配技术检测代表参考帧从目标帧的偏移的运动矢量的过程中,在过程中使用的相关性值表的大小可以明显缩小。此外,由于对图像进行缩减的过程不是必要的,所以既没有对图像进行缩减的过程导致的处理时间增加,也没有缩减过程导致的存储器容量增加。另外,由于可以在目标帧的目标块中的所有像素的基础上找到相关性值,所以类似于对图像进行缩减所必需的滤波器的低通滤波器实现是不必要的,因此不会产生处理电路规模增加这样的问题。
附图说明
图1是在描述根据本发明的实施例的图像处理方法的概况时参考的说明图;
图2A和图2B都是在描述根据本发明的实施例的图像处理方法的概况时参考的说明图;
图3是在描述根据本发明的实施例的图像处理方法的概况时参考的说明图;
图4A和图4B都是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图5是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图6是在描述根据本发明的实施例的图像处理方法的概况时参考的说明图;
图7是在描述根据本发明的实施例的图像处理方法的概况时参考的说明图;
图8A和图8B都是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图9是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图10是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图11A和图11B都是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图12A、图12B、图12C和图12D都是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图13是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图14是在描述依据根据本发明的实施例的图像处理方法的第一典型实现的用于检测准确运动矢量的过程时参考的说明图;
图15A和图15B都是在描述依据根据本发明的实施例的图像处理方法的第二典型实现的用于检测准确运动矢量的过程时参考的说明图;
图16是在描述依据根据本发明的实施例的图像处理方法的第二典型实现的用于检测准确运动矢量的过程时参考的说明图;
图17是在描述依据根据本发明的实施例的图像处理方法的第二典型实现的用于检测准确运动矢量的过程时参考的说明图;
图18A、图18B、图18C和图18D都是在描述依据根据本发明的实施例的图像处理方法的第二典型实现的用于检测准确运动矢量的过程时参考的说明图;
图19是在描述根据本发明的实施例的图像处理方法的性能时参考的说明图;
图20是在描述根据本发明的另一实施例的图像处理方法的概况时参考的说明图;
图21是将根据本发明的实施例的图像处理方法的特性与现有技术中的方法的特性进行比较的说明图;
图22是将根据本发明的实施例的图像处理方法的特性与现有技术中的方法的特性进行比较的说明图;
图23是将根据本发明的实施例的图像处理方法的特性与现有技术中的方法的特性进行比较的说明图;
图24是示出了根据本发明的第一实施例的图像处理装置的典型配置的框图;
图25示出了代表依据根据本发明的第一实施例的图像处理装置中的第一典型实现的被执行来检测运动矢量的处理的流程图;
图26示出了代表依据根据本发明的第一实施例的图像处理装置中的第一典型实现的被执行来检测运动矢量的处理的流程图的继续部分;
图27示出了代表依据根据本发明的第一实施例的图像处理装置中的第二典型实现的被执行来检测运动矢量的处理的流程图;
图28示出了代表依据根据本发明的第一实施例的图像处理装置中的第二典型实现的被执行来检测运动矢量的处理的流程图的继续部分;
图29示出了代表依据根据本发明的第一实施例的图像处理装置中的第三典型实现的被执行来检测运动矢量的处理的流程图;
图30示出了代表依据根据本发明的第一实施例的图像处理装置中的第三典型实现的被执行来检测运动矢量的处理的流程图的继续部分;
图31示出了代表依据根据本发明的第一实施例的图像处理装置中的第三典型实现的被执行来检测运动矢量的处理的流程图的另一继续部分;
图32示出了代表依据根据本发明的第一实施例的图像处理装置中的第三典型实现的被执行来检测运动矢量的处理的流程图的又一继续部分;
图33是示出了根据本发明的第二实施例的图像处理装置的典型配置的框图;
图34是在描述根据本发明的第二实施例的图像处理装置中的检测运动矢量的处理时参考的说明图;
图35是在描述根据本发明的第二实施例的图像处理装置中的检测运动矢量的处理时参考的说明图;
图36示出了代表在根据本发明的第二实施例的图像处理装置中被执行来检测运动矢量的处理的流程图;
图37示出了代表在根据本发明的第二实施例的图像处理装置中被执行来检测运动矢量的处理的流程图的继续部分;
图38是示出了根据本发明的第三实施例的图像处理装置的典型配置的框图;
图39是在描述根据本发明的第三实施例的图像处理装置中针对手颤抖的影响来补偿图像的处理时参考的说明图;
图40是示出了根据本发明的第四实施例的图像处理装置的典型配置的框图;
图41是在描述根据本发明的另一实施例的图像处理装置时参考的说明图;
图42是在描述通过采用现有技术的块匹配技术来检测运动矢量的处理时参考的说明图;
图43是在描述通过采用现有技术的块匹配技术来检测运动矢量的处理时参考的说明图;以及
图44是在描述通过采用现有技术的块匹配技术来检测运动矢量的处理时参考的说明图。
具体实施方式
下面参考附图说明实现本发明提供的图像处理方法和图像处理装置的实施例。
[实现本发明提供的图像处理方法的实施例的概况]
在实现本发明提供的图像处理方法的实施例中,两帧之间的运动矢量也是通过采用上述块匹配技术识别的。不是将代表目标块和参考块之间的相关性的相关性值存储为与对应于参考块的参考矢量相关联的表元素,而是相关性值表被缩减为较少的表元素,并且每个参考矢量被缩减为经缩减参考矢量。经缩减相关性值表和每个参考矢量的过程获得了较少的表元素和与该过程之前的矢量同样多的经缩减参考矢量。因此,不是把针对特定的经缩减参考矢量计算得到的相关性值原样存储在表元素中,而是通过分割相关性值,多个分量相关性值可能必须针对位置接近特定的经缩减参考矢量的经缩减参考矢量而被找到,并且作为与接近的经缩减参考矢量相关联的元素被存储在不同的表元素中。
根据实施例的相关性值表的大小与现有技术中的图像处理装置中使用的相关性值表的大小相比是相当小的。应当注意,在下文说明的实施例中,相关性值是SAD值,因此,SAD表被生成作为相关性值表。因此,在实施例中,代表目标块和参考块之间的最强相关性的相关性值是最小SAD值。
图1到图3是在说明根据实施例的图像处理方法的概况时参考的图。更具体而言,图1是示出了现有技术中的相关性值表TBLo(在本实施例中是SAD表)和由根据实施例的图像处理方法生成的作为经缩减相关性值表TBLs的经缩减SAD表的关系图。
如前面参考图42所述,同样在本实施例中,搜索范围被设置为该范围的中心与参考帧的中心重合,并且参考帧的中心与要与参考矢量比较的目标帧的中心相对应。目标帧的中心还与目标帧中包括的作为要与在搜索范围上从一个位置移动到另一个位置的参考块比较的块的目标块的中心重合。位于一个位置处的参考块的SAD值是目标块上的每个像素的像素值和参考块上的相应像素的像素值之间的差的绝对值之和。
在现有技术的图像处理装置中,计算出的相关性值作为位于与正被处理的参考块的参考矢量RV相对应的地址处的表元素tbl被存储在SAD表TBLo中,如图1所示。
因此,在块匹配技术中,代表帧图像上从目标块到参考块的偏移的量值的参考矢量RV被与相关性值相关联,所述相关性值在一对一基础上在相关性值表TBLo中被存储为用于参考块的表元素。也就是说,现有技术中组成相关性值表TBLo的表元素的数量等于可在搜索范围中设置的参考矢量RV的数量。
另一方面,在根据本实施例的块匹配技术中,如图1,图2A和图2B所示,指向正被处理的参考块的每个参考矢量RV都以缩减因子1/n被缩减为经缩减参考矢量CV,其中标记n标示一个整数。
在下文中,为了使说明易于理解,水平方向缩减因子被假设为等于垂直方向缩减因子。但是,水平方向缩减因子和垂直方向缩减因子也可以彼此独立地被设置为彼此不同的值。此外,如下文所述,水平方向缩减因子和垂直方向缩减因子甚至被彼此独立地设置为任意分数(例如1/m和1/n,其中标记m和n都标示整数),以便提供更高程度的灵活性和更高程度的方便性。
此外,在本实施例中,与现有技术中的图像处理方法非常类似,目标块的位置被作为搜索范围的中心处的原点位置(0,0)。参考矢量RV的水平方向和垂直方向分量(vx,vy)分别是代表从原点位置(0,0)测量的水平方向和垂直方向的量值的整数。在下文中,具有水平方向和垂直方向分量(vx,vy)的参考矢量RV被称为参考矢量RV(vx,vy)。
参考矢量RV(vx,vy)以缩减因子1/n被缩减为经缩减参考矢量CV(vx/n,vy/n)。因此,经缩减参考矢量CV(vx/n,vy/n)的水平方向和垂直方向分量(vx/n,vy/n)未必是整数。也就是说,在某些情形下,它们都可以是包括分数部分的值。因此,如果仅仅将针对缩减前的原始参考矢量RV计算出的相关性值作为与本实施例中的经缩减参考矢量CV的非整数vx/n和vy/n值最接近的经缩减参考矢量相关联的元素被存储为经缩减相关性值表中包括的元素,则将会生成误差。此外,虽然经缩减相关性值表中的元素数量小于原始相关性值表中的元素数量,但是经缩减参考矢量CV的数量等于缩减前的原始参考矢量RV的数量。因此,经缩减参考矢量CV不是在一对一的基础上与经缩减相关性值表中的元素相关联。
接近的参考矢量NV(vx/n,vy/n)被定义为这样的经缩减参考矢量:其具有与被缩减的参考矢量RV(vx/n,vy/n)的非整数vx/n值最接近的整数vx/n值,或与被缩减的参考矢量RV(vx/n,vy/n)的非整数vy/n值最接近的整数vy/n值。每个被缩减的参考矢量RV存在多个接近的参考矢量NV。由于如上所述,经缩减参考矢量CV不在一对一基础上与元素相关联,因此在本实施例中,针对经缩减参考矢量CV的缩减前的原始参考矢量计算出的SAD值不被原样存储在经缩减相关性值表的元素中。而是,通过采用线性加权分配技术,针对经缩减参考矢量CV的缩减前的原始参考矢量计算得到的SAD值被分割为与位置接近经缩减参考矢量CV的接近的参考矢量NV一样多的分量SAD值。
具有非整数vx/n和vy/n值的经缩减参考矢量CV(vx/n,vy/n)不与经缩减表元素的表元素tbl相关联。但是,每个都具有整数vx/n和vy/n值的接近的参考矢量NV(vx/n,vy/n)在一对一基础上与经缩减表元素的表元素tbl相关联。因此,在本实施例中,在以与根据现有技术的块匹配技术的将SAD值存储为与缩减前的原始参考矢量相关联的元素的过程相同的方式执行的累加过程中,通过采用线性加权分配技术计算得到的分量SAD值被存储在与接近的参考矢量NV相关联的表元素tbl中。线性加权分配技术是基于由经缩减参考矢量CV指向的位置和由位置接近经缩减参考矢量CV的接近的参考矢量NV指向的位置之间的距离的方法。
更具体而言,用于在通过采用线性加权分配技术来找到接近的参考矢量NV的分量相关性值的过程中使用的权重是在由经缩减参考矢量CV指向的位置和由位置接近经缩减参考矢量CV的接近的参考矢量NV指向的位置之间的距离的基础上确定的,如上所述。因此,以与前述向临时的和累加当前计算得到的值的现有技术的块匹配技术相同的方式,找到每个接近的参考矢量NV的最终分量相关性值。
应当注意,如果经缩减参考矢量CV(vx/n,vy/n)的值(vx/n,vy/n)都是整数,则经缩减参考矢量CV(vx/n,vy/n)本身在一对一基础上与经缩减相关性值表的元素相关联。因此,在与经缩减参考矢量CV(vx/n,vy/n)相关联的表元素中,可以存储与参考矢量RV(vx,vy)本身相对应的SAD值。此外,在这种经缩减参考矢量CV(vx/n,vy/n)的情形下,没有必要确定经缩减参考矢量CV(vx/n,vy/n)的多个接近的参考矢量NV。
接下来通过给出以下示例说明上述处理。如前所述,目标块被防治在原点位置(0,0)处。在此情形下,假设图2A所示的参考矢量RV(-3,-5)以缩减因子1/n(=1/4)在水平和垂直两个方向上缩减,以得到图2B所示的经缩减参考矢量CV(-0.75,-1.25)。
如上所述,每个得到的经缩减参考矢量CV的值都包括分数部分,指示有必要确定经缩减参考矢量CV的多个接近的参考矢量NV。
在图3所示的示例中,针对经缩减参考矢量CV(-0.75,-1.25),确定出四个接近的参考矢量NV1(-1,-1)、NV2(-1,-2)、NV3(0,-1)和NV4(0,-2)。从图3的示例可以很明显地看出,多个这种接近的参考矢量被选择,从而每个接近的参考矢量的值都是与经缩减参考矢量的值最接近的整数。
在图3所示的示例中,四个接近的参考矢量NV1、NV2、NV3和NV4是从原点位置(0,0)分别指向位置P1、P2、P3和P4(每个都被示为一个圆)的矢量。另一方面,经缩减参考矢量CV是从原点位置(0,0)指向示为标记X的点P0的矢量。
因此,在本实施例的情形下,通过采用上述线性加权分配技术计算了四个接近的参考矢量NV1、NV2、NV3和NV4中每一个的分量相关性值,并且以与向临时的和累加当前计算得到的值的现有技术的块匹配技术相同的方式,找到每个接近的参考矢量NV的最终分量相关性值。
接下来,如下所述地确定找到接近的参考矢量NV1、NV2、NV3和NV4的分量相关性值的过程中使用的权重。如上所述,经缩减参考矢量CV指向点P0(-0.75,-1.25),而接近的参考矢量NV1、NV2、NV3和NV4分别指向位置P1(-1,-1)、P2(-1,-2)、P3(0,-1)和P4(0,-2)。因此,(位置P0和P1之间的距离)∶(位置P0和P2之间的距离)∶(位置P0和P3之间的距离)∶(位置P0和P4之间的距离)=1∶3∶3∶9。因为权重与距离成反比,因此典型权重9/16、3/16、3/16和1/16被分别指派给四个接近的参考矢量NV1、NV2、NV3和NV4。
假设针对充当经缩减参考矢量CV的原始值的缩减前的原始参考矢量RV计算得到的相关性值是Sα。在此情形下,分别指向位置P1、P2、P3和P4的接近的参考矢量NV1、NV2、NV3和NV4的分量相关性值SADp1、SADp2、SADp3和SADp4被找到如下:
SADp1=Sα×9/16
SADp2=Sα×3/16
SADp3=Sα×3/16
SADp4=Sα×1/16
以与向临时的和累加当前计算得到的值的现有技术的块匹配技术相同的方式,四个接近的参考矢量NV1、NV2、NV3和NV4的分量相关性值SADp1、SADp2、SADp3和SADp4的最终分量相关性值被计算,并被存储在经缩减相关性值表中包括的表元素中,作为为分别指向位置P0、P1、P2、P3和P4的四个接近的参考矢量NV1、NV2、NV3和NV4提供的元素。
在本实施例中,为每个都指向在搜索范围中设置的参考块的所有参考矢量,执行将参考矢量缩减为经缩减参考矢量的过程,和为在经缩减相关性值表中所包括的作为与接近的参考矢量相关联的元素的元素计算分量SAD的过程。
从已经给出的描述可以很清楚地看出,在本实施例中,以缩减因子1/n执行将每个参考矢量RV缩减为经缩减参考矢量CV的过程,以伴随以相同的缩减因子1/n在水平和垂直两个方向上对相关性值表TBLo缩减的过程,以便生成具有被缩减的大小的经缩减相关性值表TBLs。相关性值表TBLo具有原始大小,并且包括在一对一基础上与参考矢量RV相关联的元素。然后,为经缩减相关性值表TBLs的每个元素计算分量SAD值,该计算是通过分割针对由充当与该元素相关联的经缩减参考矢量CV的原始值的参考矢量RV所指向的参考块而计算的SAD值来执行的。读者可参考图1以获得更多信息。
因此,在本实施例中,组成经缩减相关性值表TBLs的元素数量是组成原始相关性值表TBLo的元素数量的(1/n2)倍。也就是说,相关性值表的大小可以显著减小。
根据上述实施例,对于经缩减相关性值表TBLs的每个元素而言,接近的经缩减参考矢量CV中的四个接近的参考矢量NV被选择,于是,从针对由充当经缩减参考矢量CV的原始值的参考矢量RV所指向的被处理的参考块而计算的相关性值,找到所选择的接近的参考矢量NV的分量相关性值。在基于所谓的线性加权分配技术来分割针对由充当经缩减参考矢量CV的原始值的参考矢量RV所指向的参考块而计算的相关性值的过程中,找到了位置接近经缩减参考矢量CV的接近的参考矢量NV的分量相关性值。但是应当注意,选择接近经缩减参考矢量CV的接近的参考矢量NV的方法和为经缩减相关性值表TBLs的每个元素找到分量相关性值的线性加权分配技术绝不限于本发明所采用的那些。
例如,作为替换,对应经缩减相关性值表TBLs的每个元素而言,接近经缩减参考矢量CV的9个或16个接近的参考矢量NV被选择,然后,从针对由充当经缩减参考矢量CV的原始值的参考矢量RV所指向的被处理的参考块而计算的相关性值,找到所选择的接近的参考矢量NV的分量相关性值。但是,在此情形下,在基于所谓的三次插值(cubicinterpolation)技术来分割针对由充当经缩减参考矢量CV的原始值的参考矢量RV所指向的参考块而计算的相关性值的过程中,找到位置接近经缩减参考矢量CV的接近的参考矢量NV的分量相关性值。通过执行这些过程,分量相关性值的精度提高了。如果更加强调实时的必要性和降低处理电路数,则找到四个接近的参考矢量NV的分量相关性值的过程将更有效。
此外,在本实施例的情形下,分量相关性值在以与现有技术相同的方式执行的累加过程中,被存储作为经缩减相关性值表(经缩减SAD表)的元素,在现有技术中,对于作为参考块要被移动到的位置的在搜索范围中包括的位置中的每一个,相关性值被存储为原始相关性值表的元素。
但是,在现有技术的块匹配技术中,参考矢量在一对一基础上与组成相关性值表的元素的地址相关联,从而为对应于参考矢量的每个参考块计算相关性值,并且所述相关性值仅被存储在相关性值表中作为与参考矢量相关联的元素。另一方面,在根据本实施例的技术的情况中,参考矢量不在一对一基础上与组成经缩减相关性值表(或经缩减SAD表)的元素的地址相关联。因此,为参考块计算的相关性值被分为多个分量参考值,然后每个分量参考值都被存储在经缩减相关性值表中,作为与和分量参考值相关联的接近的参考矢量之一相对应的元素。非常类似于相关性值表中的每个元素,每个都用于存储计算得到的分量参考值的存储器位置中的每一个在最初也被初始化为0。
如前所述,根据现有技术的块匹配技术作为相关性值表的元素而被存储在相关性值表中的相关性值是SAD值。然后,在现有技术的块匹配技术的情况中,相关性值表被搜索,以找出用于存储指示目标帧上的目标块和参考帧上的参考块之间的最强相关性的最小SAD值的表元素。然后,指向用于存储最小SAD值的表元素的地址的参考矢量被当作代表了从目标帧的位置到参考帧的位置的移动的运动矢量。
另一方面,在实施例的情况中,根据实施例作为经缩减相关性值表的元素而被存储在经缩减相关性值表中的相关性值是分量相关性值,它也是SAD值。然后,经缩减相关性值表被搜索,以找出用于存储最小SAD值的表元素和参考帧中包括的作为由它们各自的接近的参考矢量所指向的块的多个参考块,从这些接近的参考矢量识别出运动矢量,因为这些接近的参考矢量中的每一个不必是准确的运动矢量。
作为从与经缩减相关性值表的这种表元素相关联的接近的参考矢量识别运动矢量的最合理的技术,通过把经缩减相关性值表的大小乘以整数n(缩减因子1/n的倒数),经缩减相关性值表被恢复为原始相关性值表。然后,识别作为与经缩减相关性值表的检测出的元素相对应的元素的被包括在原始相关性值表中的元素。最后,确定指向原始相关性值表的所选择的元素的运动矢量。但是,这种技术可以用于在某种程度上容许误差的图像处理装置。
为了以较高程度的准确性检测运动矢量,必须在存储在经缩减相关性值表中的元素值上执行下述典型插值过程之一。通过执行典型插值过程之一,可以以原始程度的精度检测准确的运动矢量。
[具有较高程度的准确性的用于检测运动矢量的第一典型插值过程]
具有较高程度的准确性的用于检测运动矢量的第一典型插值过程采用这样的技术,其中通过使用二次曲面来近似在经缩减相关性值表的元素中存储的多个相关性值。该技术是通过向经缩减相关性值表应用前面引用的专利文献1中描述的方法而获得的技术。
在本实施例中,由于SAD值被用作相关性值,因此相关性值越小,相关性值所指示的相关性越强。因此,在本实施例中,经缩减相关性值表被搜索,以找出用于存储指示最强相关性的最小相关性值的特定表元素,和作为由其各自的接近的参考矢量指示的块的在参考帧中包括的多个参考块。可以以表地址精度,搜索经缩减相关性值表的表元素,所述表地址精度是整数级别的精度。此外,作为经缩减相关性值表中的区域的如下表区域中的多个接近的表元素中的每一个也以整数级别的精度被识别,所述表区域以已经以整数级别的精度被检测出的特定表元素为中心。然后,通过采用最小二乘法,找到二次曲面作为代表作为特定表元素和在表区域中检测出的接近的表元素而存储在经缩减相关性值表中的相关性值的曲面。接下来,代表相关性值的二次曲面的最小值被确定,并且被确定为最小值的相关性值的位置被识别为从原点位置(0,0)偏移的位置。识别出的被确定为最小值的相关性值的位置与作为显示出与目标块的最强相关性的参考块的位置的在参考帧上的搜索区域中包括的位置相对应。识别出的位置是作为具有分数级别的精度的地址处的位置而包括在经缩减相关性值表(或经缩减SAD表)中的位置。最后,指向识别出的位置的经缩减参考矢量被检测为指向以分数级别的精度识别出的位置的矢量。
图4A或图4B示出了设置二次曲面的过程的示例。在其中的任一示例中,标记tm标示作为代表最小相关性值的表元素的以整数级别的精度识别出的特定表元素。另一方面,标记t1、t2、t3和t4中的每一个都标示在以特定表元素tm为中心的表区域中也以整数级别的精度识别出的表元素。需要在两个方向上夹住特定表元素tm的至少四个表元素。
然后,如图5所示,坐标空间被假设在经缩减参考矢量的范围内(或经缩减相关性值表的范围内)。经缩减参考矢量的范围与参考帧的搜索范围相对应。目标帧的位置(严格地说,是图42所示的目标块投影图像块104的位置)被当作坐标空间的原点位置(0,0)。垂直Z轴(或相关性值轴)被当作代表相关性值的轴,其随参考块和目标块之间的相关性呈反比地减小。水平x轴(或vx/n轴)被当作代表参考块在x方向上从目标块的偏移的轴,或代表经缩减参考矢量的值vx/n的轴。同样地,水平y轴(或vy/n轴)被当作代表参考块在垂直于x方向的y方向上从目标块的偏移的轴,或代表经缩减参考矢量的值vy/n的轴。
因此,从以整数级别的精度识别出的最小值表元素tm的相关性值以及作为在特定方向上夹住最小值表元素tm的表元素的也以整数级别的精度识别出的两个表元素t1和t3的相关性值,在图5所示的坐标空间中创建了二次曲线。同样地,从最小值表元素tm的相关性值以及在垂直于该特定方向的另一方向上作为夹住最小值表元素tm的表元素的也以整数级别的精度识别出的两个表元素t2和t4的相关性值,在坐标空间中创建了另一条二次曲线。然后,通过采用最小二乘法,在图5所示的坐标空间中找到包括这两条二次曲线的近似二次曲面201。
接下来,在X-Y平面上的作为具有坐标(vx/n,vy/n)的位置的位置203处,检测出近似二次曲面201的最小值点202,如图5所示。位置(vx/n,vy/n)是作为具有经缩减相关性值表中的最小相关性值的表元素(或表元素地址)的位置,以分数级别的精度识别出的的位置。最后,确定指向以分数级别的精度识别出的位置(vx/n,vy/n)的最小值矢量204,并且通过用缩减因子的倒数值n乘最小值矢量204,来计算具有原始大小和原始方向的运动矢量205,如图6所示。
例如,通过缩减原始相关性值表以伴随以缩减因子1/4对参考矢量进行缩减的过程,来获得图7所示的经缩减相关性值表TBLs,并从以分数级别的精度识别出的最小值表元素的地址,找到运动矢量204(-0.777,-1.492)。在此情形下,最小值矢量204被乘以4,以获得原始运动矢量205(-3.108,-5.968)。运动矢量205是图像的原始比例的运动矢量。
根据上述本发明,经缩减相关性值表被搜索,以找出用于存储指示最强相关性的最小相关性值的特定表元素tm,和以特定表元素tm为中心的表区域中的四个接近的表元素。但是,为了设置相关性值的近似二次曲面,最好找出在这样的表区域中的更多数量的接近的表元素。因此,一般地,找出如下矩形表区域中的接近的表元素,所述矩形区域包括水平和垂直方向上的m×m个表元素(其中标记m标示至少等于3的整数),其中心在以整数级别的精度检测出的特定表元素tm处。
但是,更大数量的接近的表元素不一定更好。这是因为这种大的表区域中的接近的表元素导致处理量增加。此外,如果接近的表元素的数量增加,则很有可能不可避免地检测出依赖于图像模式的错误的局部最小值。因此,选择包括适当数量的接近的表元素的矩形表区域中的表元素。
下文说明了作为包含适当数量的接近的表元素的区域的被包括在经缩减相关性值表中的矩形表区域的两个示例。根据该实施例的一个示例是这样的矩形表区域,其中心在以整数级别的精度找到的最小值表元素tm处,并包含在水平和垂直方向上围绕该最小值表元素tm的3×3个接近的表元素。根据该实施例的另一示例是中心在以整数级别的精度找到的最小值表元素tm处的作为包含在水平和垂直方向上围绕该最小值表元素tm的4×4个接近的表元素的区域的矩形表区域。
[包括3×3个表元素的矩形表区域]
图8A和图8B是示出了通过使用如下矩形表区域来找到运动矢量的技术的图,该举行区域的中心在以整数级别的精度找到的最小值表元素tm处,并包含在水平和垂直方向上围绕该最小值表元素tm的3×3个接近的表元素。在图8A中,表区域被示为灰色块。
根据图8A和图8B所示的技术,通过采用基于以整数级别的精度找到的最小值表元素tm和围绕最小值表元素tm的8个接近的表元素(如图8A所示)的相关性值的最小二乘法,设置图8B所示的近似二次曲面201。接下来,如图8B所示,在作为具有坐标(vx/n,vy/n)的位置的X-Y平面上的位置203处,检测出近似二次曲面201的最小值点202。位置(vx/n,vy/n)是作为与具有经缩减相关性值表中的最小相关性值的表元素(或表元素地址)相对应的位置,以分数级别的精度识别出的位置。
最后,确定指向作为表元素的位置的以分数级别的精度识别出的位置203的最小值矢量204,并且通过用缩减因子的倒数值n乘最小值矢量204,来计算具有原始大小和原始方向的运动矢量205(或最小值矢量),如图6所示。
通过采用下文所述的方法,执行找到与近似二次曲面201上的最小值点202相对应的位置203的过程。如图9所示,坐标(x,y)系统被设计为这样的系统,其中以整数级别的精度找到的最小值表元素tm的中心的位置被当作原点位置(0,0)。在此情形下,围绕以整数级别的精度找到的最小值表元素tm的8个接近的表元素位于具有在水平方向上由x=-1、x=0和x=+1代表的x轴坐标以及在垂直方向由y=-1、y=0和y=+1代表的y轴坐标的位置处,坐标(x=0和y=0)的位置除外。也就是说,围绕以整数级别的精度找到的最小值表元素tm的8个接近的表元素位于坐标(-1,-1)、(0,-1)、(1,-1)、(-1,0)、(0,1)、(-1,1)、(0,1)和(1,1)处。
令标记Sxy标示图9所示的坐标系中的表元素的相关性值。例如,以整数级别的精度在原点位置(0,0)找到的最小值表元素tm的相关性值由符号S00标记,而在最小值表元素tm的右侧并且低于最小值表元素tm的位置(1,1)处的接近的表元素的相关性值由符号S11标记。
因此,根据图10所示的等式(A)和(B),可以找到利用以整数级别的精度在(x,y)坐标系的原点位置(0,0)处找到的最小值表元素tm,以分数级别的精度在(x,y)坐标系中观察到的位置的坐标(dx,dy)。
在图10所示的等式(A)和(B)中,Kx和Ky的值给出如下:
对于x=-1,Kx=-1;
对于x=0,Kx=0;
对于x=1,Kx=1;
对于y=-1,Ky=-1;
对于y=0,Ky=0;以及
对于y=1,Ky=1。
坐标(dx,dy)是从分数级别的精度的位置(dx,dy)和以整数级别的精度在原点位置(0,0)处找到的最小值表元素tm的位置,利用以整数级别的精度在原点位置(0,0)处找到的最小值表元素tm,以分数级别的精度在(x,y)坐标系中观察到的位置的坐标。位置203可以被检测为与识别出的最小值表元素tm的中心分离的位置。
[包括4×4表元素的矩形表区域]
图11A和图11B是通过使用如下矩形表区域来找到运动矢量的技术的图,该矩形区域的中心在以整数级别的精度找到的最小值表元素tm处,并包含在水平和垂直方向上围绕该最小值表元素tm的4×4个接近的表元素。在图11A中,表区域被示为灰色块。
在m×m表区域(包括m×m个接近的表元素,其中m是奇数)(例如上述包括9个(=3×3)接近的表元素的表区域和包括25=5×5个接近的表元素的表区域)的情形下,以整数级别的精度找到的最小值表元素tm位于作为接近的表元素的中心表元素处。因此,可以很容易地设置用于确定运动矢量的矩形表区域。
另一方面,在m×m表区域(包括m×m个接近的表元素,其中m是偶数)(例如包括以整数级别的精度找到的最小值表元素tm和15个接近的表元素的包括4×4个表元素的表区域)的情形下,最小值表元素tm不位于作为接近的表元素的中心表元素处。因此,很难容易地设置用于确定运动矢量的矩形表区域,因此可以进行下面设计的一些努力。
在此情形下,在经缩减相关性值表的与以整数级别的精度找到的最小值表元素tm同一行上的包括最小值表元素tm的接近的表元素的相关性值(在本实施例中,它们都是最终分量SAD值)被彼此比较。作为比较的结果,这样的矩形表区域被设置,其中最小值表元素tm充当该行中的第二个表元素。在包括最小值表元素tm的四个相邻的接近的表元素中的具有最小相关性值的表元素充当该行的第四接近的表元素。同样地,在经缩减相关性值表的与以整数级别的精度找到的最小值表元素tm同一列上的包括最小值表元素tm的接近的表元素的相关性值被彼此比较。作为比较的结果,这样的矩形表区域被设置,其中最小值表元素tm充当该列中的第二个表元素。在包括最小值表元素tm的四个相邻的接近的表元素中的具有最小相关性值的表元素充当该列的第四接近的表元素。
在图11A和图11B所示的示例中,以整数级别的精度找到的最小值表元素tm被同一行上分别具有相关性值177和173的两个相邻的接近的表元素夹住。在此情形下,最小值表元素tm被当作该行的第二表元素,而在具有较小的相关性值173的接近的表元素右侧的接近的表元素被当作该行的第四接近的表元素。同样地,以整数级别的精度找到的最小值表元素tm被同一列上分别具有SAD值168和182的两个相邻的接近的表元素夹住。在此情形下,最小值表元素tm被当作该列的第二表元素,而在具有较小的相关性值168的接近的表元素上方的接近的表元素被当作该列的第四接近的表元素。
然后,在图11A和图11B所示的示例中,基于以整数级别的精度找到的最小值表元素tm和围绕最小值表元素tm的15个接近的表元素(如图11A所示)的相关性值,通过采用最小二乘法,设置图11B所示的近似二次曲面201。接下来,如图11B所示,在作为具有坐标(vx/n,vy/n)的位置的X-Y平面上的位置203处,检测出近似二次曲面201的最小值点202。位置(vx/n,vy/n)是作为与具有经缩减相关性值表中的最小相关性值的表元素(或表元素地址)相对应的位置,以分数级别的精度识别出的的位置。
最后,确定指向作为表元素的位置的以分数级别的精度识别出的位置203的最小值矢量204,并且通过用缩减因子的倒数值n乘最小值矢量204,来计算具有原始大小和原始方向的运动矢量205(或最小值矢量),如图6所示。
通过采用下文所述的方法执行找到与近似二次曲面201上的最小值点202相对应的位置203的过程。如图9所示,坐标(x,y)系统被设计为这样的系统,其中以整数级别的精度找到的最小值表元素tm的中心的位置被当作原点位置(0,0)。
在图11A和图11B所示的示例的情形下,如图12A、图12B、图12C和图12D所示,以不同方式布局的包括16个表元素的四个矩形表区域产生了以整数级别的精度找到的最小值表元素tm的不同位置。以整数级别的精度找到的最小值表元素tm在矩形表区域中的位置依赖于前述包括最小值表元素tm的行的第四表元素是在最小值表元素tm的右侧还是左侧的接近的表元素,以及前述包括最小值表元素tm的列的第四表元素是在最小值表元素tm的上方还是下方的接近的表元素。
在此情形下,从图12A、图12B、图12C和图12D可以很明显地看出,以整数级别的精度找到的最小值表元素tm的位置固定在坐标系的位置(0,0)处。位置接近最小值表元素tm的15个接近的表元素的位置具有在水平方向上的由x=-2或x=-1、x=0和x=+1或x=+2代表的x轴坐标,和和垂直方向上的由y=-2或y=-1、y=0和y=+1或y=+2代表的y轴坐标。
令标记Sxy标示图12A到图12D所示的坐标系中的表元素的相关性值。例如,以整数级别的精度在原点位置(0,0)处找到的最小值表元素tm的相关性值由符号S00标示,而在最小值表元素tm的右侧并且低于最小值表元素tm的位置(1,1)处的表元素的相关性值由符号S11标记。
因此,根据图13所示的等式(C)和(D),可以找到利用以整数级别的精度在(x,y)坐标系的原点位置(0,0)处找到的最小值表元素tm,以分数级别的精度在(x,y)坐标系中观察到的位置的坐标(dx,dy)。(x,y)坐标系的原点位置(0,0)与覆盖包括以整数级别的精度在(x,y)坐标系的原点位置(0,0)处找到的最小值表元素tm在内的16个表元素的矩形区域的中心重合。
在图13所示的等式(C)和(D)中,Kx和Ky的值是分别由图14所示的(Kx,Ky)坐标系的水平和垂直轴代表的值,该坐标系作为放置在一个矩形表区域上的坐标系,所示矩形表区域包括以整数级别的精度找到的最小值表元素tm和位置接近该最小值表元素tm的15个接近的表元素。该矩形区域的中心与(Kx,Ky)坐标系的原点位置(0,0)重合。Kx和Ky的值是依赖于作为表元素的布局的图12A到图12D所示的4种不同布局的值。
具体而言,在图12A所示的坐标系的情形下,图14所示的(Kx,Ky)坐标系的坐标Kx和Ky具有以下值:
对于x=-2,Kx=-1.5;
对于x=-1,Kx=-0.5;
对于x=0,Kx=0.5;
对于x=1,Kx=1.5;
对于y=-2,Ky=-1.5;
对于y=-1,Ky=-0.5;
对于y=0,Ky=0.5;以及
对于y=1,Ky=1.5。
在图12B所示的坐标系的情形下,图14所示的(Kx,Ky)坐标系的坐标Kx和Ky具有以下值:
对于x=-2,Kx=-1.5;
对于x=-1,Kx=-0.5;
对于x=0,Kx=0.5;
对于x=1,Kx=1.5;
对于y=-1,Ky=-1.5;
对于y=0,Ky=-0.5;
对于y=1,Ky=0.5;以及
对于y=2,Ky=1.5。
在图12C所示的坐标系的情形下,图14所示的(Kx,Ky)坐标系的坐标Kx和Ky具有以下值:
对于x=-1,Kx=-1.5;
对于x=0,Kx=-0.5;
对于x=1,Kx=0.5;
对于x=2,Kx=1.5;
对于y=-2,Ky=-1.5;
对于y=-1,Ky=-0.5;
对于y=0,Ky=0.5;以及
对于y=1,Ky=1.5。
在图12D所示的坐标系的情形下,图14所示的(Kx,Ky)坐标系的坐标Kx和Ky具有以下值:
对于x=-1,Kx=-1.5;
对于x=0,Kx=-0.5;
对于x=1,Kx=0.5;
对于x=2,Kx=1.5;
对于y=-1,Ky=-1.5;
对于y=0,Ky=-0.5;
对于y=1,Ky=0.5;以及
对于y=2,Ky=1.5。
图13所示的等式(C)中使用的标记Δx是图12A、图12B、图12C或图12D所示的(x,y)坐标系中的表元素的位置的坐标x相对图14所示的(Kx,Ky)坐标系中的坐标Kx的偏移。同样地,图13所示的等式(D)中使用的标记Δy是图12A、图12B、图12C或图12D所示的(x,y)坐标系中的表元素的位置的坐标y相对图14所示的(Kx,Ky)坐标系中的坐标Ky的偏移。偏移Δx和Δy具有以下值:
在图12A的情形下,Δx=-0.5,Δy=-0.5;
在图12B的情形下,Δx=-0.5,Δy=0.5;
在图12C的情形下,Δx=0.5,Δy=-0.5;以及
在图12D的情形下,Δx=0.5,Δy=0.5。
坐标(dx,dy)是利用以整数级别的精度在(x,y)坐标系的原点位置(0,0)处找到的最小值表元素tm,以分数级别的精度在(x,y)坐标系中观察到的位置的坐标。从以分数级别的精度在(x,y)坐标系中观察到的位置(dx,dy)和以整数级别的精度在(x,y)坐标系的原点位置(0,0)处找到的最小值表元素tm的位置,位置203可被检测为与识别出的最小值表元素tm的中心相分离的位置。
[具有较高程度的准确性的检测运动矢量的第二典型插值过程]
具有较高程度的准确性的检测运动矢量的第二典型插值过程采用以下技术。在经缩减相关性值表中包括以整数级别的精度找到的最小值表元素tm的行上的以水平方向布置的元素中所存储的多个相关性值(其中在本实施例中,每个都是最终分量SAD值)被用来创建定向于水平方向上的平面上的三次曲线。在经缩减相关性值表中包括最小值表元素tm的列上以垂直方向布置的元素中所存储的多个相关性值被用来创建定向于垂直方向上的平面上的三次曲线。然后,三次曲线的最小值的位置(vx,vy)被检测,并被当作具有分数级别的精度的最小值地址。
图15A和图15B是在下面描述具有较高程度的准确性的检测运动矢量的第二典型插值过程时参考的说明图。非常类似于具有较高程度的准确性的检测运动矢量的第一典型插值过程,通过使用如下矩形表区域,第二典型插值过程被执行以找到运动矢量,所述矩形表区域以整数级别的精度找到的最小值表元素tm为中心,并包括在水平和垂直方向上围绕最小值表元素tm的接近的表元素。在图15A和图15B所示的示例中,接近的表元素的数量被设置为16(=4×4)。在图15A中,表区域被示为灰色块。
接下来,非常类似于具有较高程度的准确性的检测运动矢量的第一典型插值过程,如图15B所示,坐标空间被假设为在经缩减参考矢量的范围(或经缩减相关性值表的范围)内。经缩减参考矢量的范围对应于参考帧的搜索范围。目标帧的位置(或者更严格地说,图42所示的目标块投影图像块104的位置)被当作坐标空间的原点位置(0,0)。垂直Z轴(或相关性值轴)被当作代表相关性值的轴,其随参考块和目标块之间的相关性成反比地减小。在本实施例中,相关性值是最终分量SAD值。水平x轴(或vx/n轴)被当作代表在x方向上参考块从目标块的偏移的轴,或代表经缩减参考矢量的值vx/n的轴。同样地,垂直y轴(或vy/n轴)被当作代表在垂直于x方向的y方向上参考块从目标块的偏移的轴,或代表经缩减参考矢量的值vy/n的轴。
然后,从接近以整数级别的精度找到的最小值表元素tm的16个表元素中选择包括最小值表元素tm的水平方向行上的四个表元素。接下来,四个被选择的表元素的相关性值(其中每个都是最终分量SAD值)被用来创建坐标系中定向于水平方向上的平面上的水平三次曲线206。然后,以分数级别的精度在表元素的区域中选择水平三次曲线206上的最小值的水平方向位置vx/n。
同样地,从接近以整数级别的精度找到的最小值表元素tm的16个表元素中选择包括最小值表元素tm的垂直方向列上的四个表元素。接下来,四个被选择的表元素的相关性值(其中每个都是最终分量SAD值)被用来创建坐标系中定向于垂直方向上的平面上的垂直三次曲线207。然后,以分数级别的精度在表元素的区域中选择垂直三次曲线207上的最小值的垂直方向位置vy/n。
然后,从以分数级别的精度选择的水平方向位置vx/n和以分数级别的精度选择的垂直方向位置vy/n,以分数级别的精度找到最小值表地址208。分数精度最小值表地址208是与水平三次曲线206和垂直三次曲线207上的最小值相对应的表元素地址。最后,确定作为表元素的位置的指向以分数级别的精度识别出的分数精度最小值表地址208的最小值矢量209。通过用缩减因子的倒数值n乘最小值矢量209,计算具有原始大小和原始方向的运动矢量(或最小值矢量),如图6所示。
也就是说,第二典型插值过程采用这样的技术,其中通过采用与第一典型插值过程相同的技术在定向于水平方向上的行和定向于垂直方向上的列的每一个中选择四个表元素。然后,基于在行上选择的四个表元素创建定向于水平方向上的平面上的三次曲线,而基于在列上选择的四个表元素创建定向于垂直方向上的平面上的三次曲线,如图15B所示。
通过下述方法执行找到与水平三次曲线206和垂直三次曲线207上的最小值点202相对应的分数精度最小值表地址208的过程。令标记S0、S1、S2和S3标示在定向于水平方向上的行或定向于垂直方向上的列上选择的四个表元素的相关性值。如上所述,在本实施例中,相关性值是最终分量SAD值。相关性值S0、S1、S2和S3对应于连续地沿水平方向上的水平三次曲线206或垂直方向上的垂直三次曲线207布局的四个相邻点。如图16所示,标记Ra、Rb和Rc分别标示代表点S0和S1之间的轴向距离的线段、代表点S1和S2之间的轴向距离的线段,和代表点S2和S3之间的轴向距离的线段。线段部分u是最小相关性值的位置的坐标值中包括的分数部分。根据依赖于图16所示的三个线段Ra、Rb和Rc中的哪个包括充当最小相关性值的位置的坐标值中所包括的分数部分的线段部分u的等式,来找到线段部分u。
如上所述,线段Ra是与相关性值(或SAD值)S0相对应的位置和与相关性值S1的相对应的位置之间的线段。线段Rb是与相关性值S1相对应的位置和与相关性值S2的相对应的位置之间的线段。线段Rc是与相关性值S2相对应的位置和与相关性值S3的相对应的位置之间的线段。如上所述,在本实施例中,相关性值是最终分量SAD值。
如果最小相关性值的分数精度位置存在于图16所示的线段Ra中,则通过使用图17所示的等式(E),找到作为分数的代表了从线段Ra的开始处到该位置的距离的线段部分u。
同样地,如果最小相关性值的分数精度位置存在于图16所示的线段Rb中,则通过使用图17所示的等式(F),找到作为分数的代表了从线段Rb的开始处到该位置的距离的线段部分u。
以相同的方式,如果最小相关性值的分数精度位置存在于图16所示的线段Rc中,则通过使用图17所示的等式(G),找到作为分数的代表了从线段Rc的开始处到该位置的距离的线段部分u。
下文描述了用于确定图16所示的三条线段Ra、Rb和Rc中的哪一条包括分数部分u的技术。
图18A到图18D是在描述用于确定图16所示的三条线段Ra、Rb和Rc中的哪一条包括分数部分u的技术时参考的说明图。首先,标记Smin标示以整数级别的精度检测出的位置的最小相关性值。标记Sn2标示位于整数精度位置处的这样的相关性值:其在所有四个表元素的整数精度位置处的相关性值中,与最小相关性值Smin的相差最小。图18A、图18B和图18C中的符号x所标示的真实的最小相关性值可以存在于以分数级别的精度检测出的这样的位置处:在最小相关性值Smin的位置和相关性值Sn2的位置之间的位置。然后,通过辨别图16所示的相关性值S0、S1、S2和S3中的哪个充当最小相关性值Smin和相关性值Sn2,可以确定三条线段Ra、Rb和Rc中的哪条包括分数部分u。
应当注意,还存在这种情形,其中最小相关性值Smin的整数精度位置是包括四个表元素的相关性值的位置的范围的边缘,如图18D所示。在此情形下,真实的最小相关性值x的位置很难确定,并且该实施例不找出真实的最小相关性值x的位置,将该情况处理为误差。但是,即使在如图18D所示的情形下,也能找到真实的最小相关性值x的位置。
如上所述,根据上述实施例,通过使用利用缩小因子1/n2缩小了大小的经缩减相关性值表,可以检测出原始图像比例的运动矢量。图19是示出了以下事实的图,即虽然使用了利用缩小因子1/n2缩小了大小的经缩减相关性值表,但是能获得几乎与现有技术的图像处理装置相同的矢量检测结果。
图19的水平轴代表在水平或垂直方向上对相关性值表进行缩减时使用的一维缩减因子1/n。另一方面,垂直轴代表矢量误差,即检测出的运动矢量的误差。图19所示的矢量误差的值是以像素表达的。
在图19中,曲线301代表针对不同的缩减因子检测出的矢量误差的平均值。曲线302代表针对不同的缩减因子检测出的矢量误差的方差σ的三倍值(3σ[99.7%]值)。曲线303是曲线302的近似曲线。
图19所示的曲线代表以不同的一维缩减因子1/n检测出的矢量误差。但是,由于相关性值表是二维表,因此表的大小(即组成相关性值表的元素数量)以如下比率缩小,该比率等于图19中使用的一维缩减因子1/n的平方。但是,从指示矢量误差的平均值没有改变并且矢量误差的方差随缩减因子变化而线性增加的曲线,可以很明显地看出根据本实施例的技术的作用。
此外,即使对于n=64(或缩减因子1/64)来说,矢量误差的平均值也是很小的,证明了不存在不正确的运动矢量的检测所导致的失败。因此,可以说相关性值表的大小可以利用缩小因子1/4096缩小。
另外,如前所述,在针对手颤抖的影响来补偿运动图片的过程中,实时响应和减小时间延迟是非常必要的。但是,只要检测出的运动矢量的误差不是由不完全的不正确的运动矢量的检测造成的失败,该误差就是在某种程度上可容忍的。因此,相关性值表的大小可以显著减小,而不导致失败。因此,这些实施例可以说是非常有用的。
在用于针对手颤抖的影响来补偿图像的实际系统中,参考帧102被划分为多个局部区域,并且对于每个局部区域检测运动矢量205。这是因为图像拾取的移动对象非常有可能被包括在参考帧102中。例如,在一个参考帧102中检测出16个运动矢量205,如图20所示。然后,在考虑到转变(每个转变由从过去的图像开始的一个运动矢量205指示)的同时,执行统计过程,以便确定参考帧102的全局矢量,即参考帧102的手颤抖运动矢量。
在此情形下,如图20所示,预先分别设置要检测的16个运动矢量205的以原点位置PO1,PO2,...,和PO16为中心的16个搜索范围SR1,SR2,...,和SR16,并且目标块投影图像块IB1,IB2,...,和IB16被假设为分别存在于搜索范围SR1,SR2,...,和SR16的中心处。
然后,在搜索范围SR1,SR2,...,和SR16中的每一个中,将与目标块投影图像块IB1,IB2,…,和IB16中的每一个具有相同大小的参考块分别设置为要在搜索范围SR1,SR2,…,和SR16上从一个位置移动到另一个位置的块。然后,生成经缩减SAD表,以便以与前述本发明提供的技术相同的方式,在搜索范围SR1,SR2,…,和SR16中的每一个中找到运动矢量205。
与作为用于检测具有缩小了的大小的图像的运动矢量的方法的在专利文献4中公开的现有技术方法相比,根据上述实施例的图像处理方法具有不同于现有技术方法的以下显著优点。
首先,与专利文献4公开的现有技术方法不同,根据实施例的图像处理方法根本不需要缩减图像的过程。这是因为根据实施例所提供的图像处理方法,在将为参考块计算的分量相关性值作为表元素存储在经缩减相关性值表的过程中,同时执行转换元素地址的过程。如上所述,为参考块计算的相关性值实际上是为参考块计算的最终分量SAD值。
因此,与专利文献4公开的现有技术方法相比,根据实施例的图像处理方法提供了如下优点,例如去掉了缩减图像的逻辑、用于在存储器中存储被缩减图像所需的时间、用于在存储器中存储被缩减图像的过程的带宽,以及用于存储被缩减图像的存储器。
其次,专利文献4公开的现有技术方法产生了另一严重问题,如前所述,该方法需要低通滤波器来消除在缩减图像的过程中生成的折叠和低光照噪声。也就是说,在缩减图像的过程中,图像数据可能在被重采样之前被提供给适当的低通滤波器。否则将会发生折叠,并且使用缩减的图像检测出的运动矢量的精度将会显著恶化。
作为类似sinc函数的函数的在缩减图像的过程中使用的低通滤波器所展现的功能已在理论上被证明为是低通滤波器的理想特性。sinc函数本身是具有由sin(x∏)/(x∏)表达的截止频率f/2的无限抽头(infinite-tap)FIR(有限脉冲响应)滤波器的函数。在对于缩减因子1/n具有理想截止频率f/(2n)的低通滤波器的情形下,截止频率由sin(x∏/n)/(x∏/n)表达,虽然其也可被用作sinc函数的形式。
图21、图22和图23的上方的图分别示出了用于缩减因子1/2、1/4和1/8的sinc函数的形状(或低通滤波器的理想特性)。从图21到图23可以很明显地看出,缩减因子越大,函数在抽头轴(tap-axis)方向上扩展的因子越大。换言之,即使对于用主系数来近似无限抽头sinc函数的情形下,也可以说FIR滤波器的抽头数可能增加。
此外,已知如果频带中的截止频率越低,则抽头数对低通滤波器的性能的影响相比于滤波器形状的影响就越大。
因此,使用根据专利文献4公开的现有技术方法生成的被缩减图像的运动矢量识别方法一般显示出这样的矛盾:尽管图像的缩减因子越大,缩小相关性值表的大小的效果就越大,但是我们遇到了这样的事实,即成本随缩减因子的增大成比例地增大。
一般地,在实现高阶抽头FIR滤波器时,处理逻辑的成本随抽头数量的平方成比例地增加,从而造成很大的问题。但是,用于实现垂直滤波器的行存储器的数量增加造成了更大的问题。在近年来制造的数字照相机中,为了缩小行存储器的大小以便跟上不断增加的像素数量,执行所谓的带(strap)处理。但是,即使例如每存储器行的大小被缩小,但是行存储器本身数量增加了,如果物理布局区域被转换为成本的话,则总成本会显著增加。
如上所述,已知基于根据专利文献4公开的现有技术方法的图像缩减的手段面临很大的障碍,尤其是在实现垂直低通滤波器时。另一方面,根据本实施例的图像处理方法以完全不同的方式有效地解决了这个问题。
图21到图23的下方的图分别示出了根据本发明实施例提供的图像处理方法的低通滤波器的图像。根据本发明实施例提供的图像处理方法,不执行缩减图像的处理。但是,生成经缩减相关性值表的过程包括低通滤波器的处理,其图像在这些图中的任一图中示出。
从图21到图23的下方的图可以很明显地看出,该低通滤波器的特性是简单滤波器特性,其中sinc函数的主系数部分可以被线性近似,而抽头数量以与缩减因子联锁的方式增加。简单滤波器特性和抽头数的增加方式适合于这样的事实:截止频率越低,抽头数对低通滤波器的性能的影响越大。也就是说,根据本发明实施例找到分量相关性值(其中每个都是分量SAD值)的过程等同于以与缩减因子联锁的方式将展现高性能的低通滤波器实现为简单电路。如前所述,找到分量相关性值的过程是作为基于用于找到分量相关性值的线性加权分配技术的过程的根据实施例执行的处理。
实现低通滤波器的简单电路相比于专利文献4公开的现有技术方法提供了另一优点。也就是说,根据专利文献4公开的现有技术方法,图像在通过低通滤波器之后在采样过程中被缩减。在缩减过程中,丢失了很多图像信息。更具体而言,在低通滤波器执行的处理中,图像信息的亮度值的字长在图像信息被存储在存储器中之前被显著地舍入。因此,像素信息的大多数低位对缩减图像没有影响。
另一方面,依据根据实施例的图像处理技术,目标块中的所有像素的亮度值都在用于计算作为表元素存储于经缩减相关性值表中的最终分量相关性值的过程中被同等地使用。也就是说,最终分量相关性是相关性值的累积和,所述相关性值中的每一个是针对目标块中的像素之一被找到的。因此,通过仅增加经缩减相关性值表的每个元素的字长,可以执行这样的相关性值计算过程:即使最后计算得到的最终相关性值也根本不包括舍入处理误差。由于经缩减相关性值表的大小与帧存储器的大小相比很小,因此组成经缩减相关性值表的每个元素的字长扩展不会产生大问题。结果,经缩减相关性值表和确定运动矢量的处理可以以较高程度的精度实现。
[本发明提供的图像处理装置的实施例]
参考附图,下文说明了其中每个都实现了作为采用本发明实施例提供的图像处理方法的图像处理装置的图像拾取装置的实施例。
[第一实施例]
图24是示出了实现了作为采用本发明实施例提供的图像处理方法的图像处理装置的图像拾取装置的第一实施例。
如图24所示,根据本实施例的图像拾取装置10包括图像拾取信号处理系统、CPU(中央处理单元)1、用户操作输入单元3、图像存储器单元4,和记录/再现装置5,它们通过系统总线2彼此相连。图像拾取信号处理系统包括图像拾取透镜10L、图像拾取器件11、定时信号生成单元12、预处理单元13、数据转换单元14、手颤抖运动矢量检测单元15、分辨率转换单元16、编码/解码单元17、NTSC编码器18,以及监视显示单元6。应当注意,本专利说明书中描述的CPU 1包括用于存储作为处理程序的供CPU 1执行的各种软件的ROM(只读存储器)和被CPU 1用作工作区的RAM(随机访问存储器)。
在接收到作为开始图像拾取和记录过程的命令的经由用户操作输入单元3由用户输入的操作命令时,图24所示的图像拾取装置10执行下文将描述的记录图像拾取数据的过程。在接收到作为开始再现已记录的图像拾取数据的过程的命令的经由用户操作输入单元3由用户输入的操作命令时,图24所示的图像拾取装置10执行再现在记录/再现装置5中使用的记录介质上记录的图像拾取数据的过程。
如图24所示,经由使用图像拾取透镜10L的照相机光学系统从图像拾取对象进入的光束被照射到用于对光束上执行图像拾取过程的图像拾取器件11。应当注意,照相机光学系统本身未在图中示出。在本实施例中,图像拾取器件11被配置为CCD(电荷耦合器件)成像器。应当注意,图像拾取器件11也可以被配置为CMOS(互补金属氧化物半导体)成像器。
在根据本实施例的图像拾取装置中,当用户经由用户操作输入单元3向图像拾取装置10输入作为开始图像拾取和记录过程的命令的操作命令时,图像拾取器件11输出包括三原色(即红色(R)、绿色(G)和蓝色(B))的bayer阵列的原始信号。作为模拟图像拾取信号的原始信号是作为根据定时信号生成单元12生成的定时信号的采样过程的结果获得的信号。图像拾取器件11将模拟图像拾取信号提供给预处理单元13,以便执行诸如检测补偿过程和γ补偿过程等预处理。数据转换单元14将预处理的结果输出到数据转换单元14。
数据转换单元14将提供给它的模拟图像拾取信号转换为包括亮度信号分量Y和色度信号分量Cb/Cr的数字图像拾取信号(YC数据),通过系统总线2将数字图像拾取信号提供给图像存储器单元4。
在图24所示的实施例中,图像存储器单元4包括两个帧存储器41和42。首先,从数据转换单元14接收的数字图像拾取信号被存储在帧存储器41中。然后,在对应于一帧的时间过去之后,存储在帧存储器41中的数字图像拾取信号被传送到帧存储器42,并且从数据转换单元14接收的新数字图像拾取信号被存储在帧存储器41中。因此,由存储在帧存储器42中的数字图像拾取信号代表的帧是刚好前一帧,它比由存储在帧存储器41中的数字图像拾取信号代表的帧领先一帧。
然后,手颤抖运动矢量检测单元15通过系统总线2访问这两个帧存储器41和42,以便从帧存储器41和42读出数字图像拾取信号。然后,手颤抖运动矢量检测单元15执行用于如前所述地检测数字图像拾取信号之间的运动矢量的过程。在该运动矢量检测过程中,存储在帧存储器41中的数字图像拾取信号所代表的帧被当作参考帧,而存储在帧存储器42中的数字图像拾取信号所代表的帧被当作充当目标帧的原始帧。
然后,手颤抖运动矢量检测单元15将作为运动矢量检测过程的结果而获得的检测出的运动矢量作为控制信号提供给分辨率转换单元16。
根据从手颤抖运动矢量检测单元15接收的运动矢量,分辨率转换单元16执行用于裁剪出由存储在帧存储器42中的数字图像拾取信号所代表的延迟帧的图像数据,并将帧转换为具有必要的分辨率和必要的大小的帧的过程。通过根据从手颤抖运动矢量检测单元15接收的运动矢量,裁剪出存储在帧存储器42中的数字图像拾取信号所代表的帧的图像数据,作为转换过程的结果获得的图像是没有手颤抖的影响的图像。
作为不包括手颤抖的影响的图像数据的由分辨率转换单元16产生的图像数据被提供给NTSC(国家电视系统委员会)编码器18,以便将图像数据转换为符合NTSC系统的标准彩色视频信号。然后,NTSC编码器18将标准彩色视频信号提供监视显示单元6,该监视显示单元6充当用于在屏幕上显示所拍摄图像以供监视目的的电子取景器。
与在监视显示单元6的屏幕上显示所拍摄图像以供监视目的的过程同时地,分辨率转换单元16还将不包括手颤抖影响的图像数据提供给编码/解码单元17,以便执行诸如调制记录等编码过程。然后,编码/解码单元17将作为编码过程的结果获得的图像数据提供给记录/再现装置5,以便在记录介质上记录图像数据。记录介质的示例是诸如DVD(数字多功能盘)等的光盘和硬盘。
当用户经由用户操作输入单元3向图像拾取装置10输入作为开始再现被记录的图像拾取数据的过程命令的操作命令时,从记录/再现装置5的记录介质再现数据,并该数据被提供给编码/解码单元17。此时,编码/解码单元17对图像拾取数据执行解码/再现过程。然后,编码/解码单元17将作为解码/再现过程的结果而获得的图像数据通过NTSC编码器18提供给监视显示单元6,以便在屏幕上显示被再现的图像。应当注意,NTSC编码器18也能够通过视频输出端将从其输出的视频信号提供给外部信号接收者,虽然这个特征未在图24中示出。
手颤抖运动矢量检测单元15可被实现为硬件或DSP(数字信号处理器)。或者,手颤抖运动矢量检测单元15也可被实现为由CPU 1执行的软件。
[手颤抖运动矢量检测单元15的操作]
<第一典型实现>
下面参考图25和图26所示的流程图,说明实现手颤抖运动矢量检测单元15的操作的第一典型实现的处理流程。
该流程图开始于步骤S101,在这里,图42中的标号106所标示的参考块Ii被指定在搜索范围105中的具有坐标(vx,vy)的位置处。在搜索范围105中指定参考块Ii的操作也是指定与参考块Ii相对应的参考矢量(vx,vy)的操作。如前所述,坐标(vx,vy)是在以坐标(0,0)为原点位置坐标的情况下,指定的参考矢量107所指向的位置的坐标。坐标(0,0)是原始帧101上的目标块103的位置坐标或参考帧102上的目标块投影图像块104的位置坐标。坐标vx代表指定的参考矢量107所指向的位置从具有坐标(0,0)的原点位置的水平方向偏移。坐标vy代表指定的参考矢量107所指向的位置从原点位置的垂直方向偏移。非常类似于前述现有技术方法,偏移vx和vy是以像素形式表达的。
如前所述,以搜索范围105的中心位置作为目标块投影图像块104的中心位置或原点位置(0,0)。在水平方向上以定义了搜索范围105的水平限度的范围±Rx中的距离和在垂直方向上以定义了搜索范围105的垂直限度的范围±Ry中的距离,参考块106在搜索范围105上从一个位置移动到另一个位置。在此情形下,量(vx,vy)满足以下关系:
-Rx≤vx≤+Rx并且-Ry≤vy≤+Ry
在下一步骤S 102中,具有坐标(x,y)的点(或像素)被指定为图42中由标号103标示的目标块Io中的点。令标记Io(x,y)标示指定的点(x,y)处的像素值,令标记Ii(x+vx,y+vy)标示在步骤S101在块位置(vx,vy)处设置的参考块Ii中的点(x+vx,y+vy)处的像素值。在下文中,参考块Ii中的点(x+vx,y+vy)被说成是与目标块Io中的点(x,y)相对应的点。然后,在下一步骤S103中,根据以下的等式(1)计算像素值Io(x,y)和像素值Ii(x+vx,y+vy)之间的差的绝对值α:
α=|Io(x,y)-Ii(x+vx,y+vy)| ——(1)
对于目标块Io中的所有点(x,y)以及它们在参考块Ii中的所有相应点(x+vx,y+vy),计算上述差的绝对值α,并且代表对目标块Io和参考块Ii计算的差的绝对值α的和的SAD值被存储在与指向参考块Ii的当前位置的参考矢量(vx,vy)相关联的临时存储器位置处。为了计算这样的SAD值,在下一步骤S104,在步骤S103找到的差的绝对值α被累加到已被存储在临时存储器位置处的临时SAD值上,以作为目前计算得到的SAD值。作为对所有差的绝对值α累积求和的过程的结果,获得最终SAD值SAD(vx,vy),所述所有差的绝对值α是如上所述地对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)计算的。因此,最终SAD值SAD(vx,vy)可以由以下等式(2)表达:
SAD(vx,vy)=∑α=∑|Io(x,y)-Ii(x+vx,y+vy)| ——(2)
然后,根据第一典型实现的处理的流程进行到下一步骤S105,产生关于是否已经对目标块Io中的所有像素(x,y)和它们在参考块Ii中的所有相应像素(x+vx,y+vy)都执行了步骤S103和S104的过程的判断结果。如果判断结果指示尚未对目标块Io中的所有像素(x,y)和它们在参考块Ii中的所有相应像素(x+vx,y+vy)都执行了步骤S103和S104的过程,则根据第一典型实现的处理的流程返回步骤S102。具有坐标(x,y)的另一个像素被指定为目标块Io中的另一个像素。然后,重复步骤S102之后的步骤S103和S104的过程。
步骤S101到S105的过程分别刚好与图44所示的流程图的步骤S1到S5的过程相同,除了在步骤S103和S104的情形下,SAD值被存储在临时存储器位置。
另一方面,如果在步骤S105产生的判断结果指示已经对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)都执行了步骤S103和S104的过程,即如果当前参考矢量(vx,vy)的最终SAD值SAD(vx,vy)已被找到,则根据第一典型实现的处理的流程进行到步骤S106。通过对参考矢量(vx,vy)进行缩减,计算经缩减参考矢量(vx/n,vy/n)。具体而言,通过将参考矢量(vx,vy)乘以缩减因子1/n,计算经缩减参考矢量(vx/n,vy/n)。一般地,经缩减参考矢量(vx/n,vy/n)的x方向和y方向的值(vx/n,vy/n)都具有分数部分。
然后,在下一步骤107,识别位置接近经缩减参考矢量(vx/n,vy/n)的多个接近的参考矢量。每个接近的参考矢量都是具有整数vx/n值和整数vy/n值的经缩减参考矢量。在本实施例中,接近的参考矢量的数量被设置为4。然后,在下一步骤S108,通过采用前述基于接近的参考矢量所指向的位置和经缩减参考矢量(vx/n,vy/n)所指向的位置之间的关系的线性加权分配技术,在步骤S104处存储在临时位置的SAD值被划分为四个分量SAD值。接下来,在下一步骤S109,四个分量值在经缩减相关性值表中包括的四个表元素之间分配,作为分别与四个接近的参考矢量相关联的四个表元素。
在步骤S109的过程完成之后,根据第一典型实现的处理的流程进行到图26所示的流程图的步骤S111,以产生关于是否已经对搜索范围105中的所有参考块位置(即对所有参考矢量(vx,vy))执行了步骤S102到S109的过程的判断结果。
如果在步骤S111产生的判断结果指示尚未对搜索范围105中的所有参考块(即对所有参考矢量(vx,vy))执行步骤S102到S109的过程,则根据第一典型实现的处理的流程返回步骤S101。另一参考矢量(vx,vy)所指向的另一参考块Ii被设置在搜索范围105中的另一块位置(vx,vy)处。然后,重复步骤S102和后续步骤的过程。
如果在步骤S111产生的判断结果指示对搜索范围105中的所有参考块位置或对所有参考矢量(vx,vy)都已执行了步骤S102到S109的过程,即,如果经缩减相关性值表的所有元素都已被填充了最终分量SAD值,则根据第一典型实现的处理的流程进行到步骤S112。在表元素地址(mx,my)处检测出存储在经缩减相关性值表的所有元素中的所有分量最终SAD值中的最小值。
然后,在下一步骤S113,创建作为近似如下相关性值的曲面的二次曲面,所述相关性值是在表元素地址(mx,my)处检测到的最小相关性值以及作为接近表元素地址(mx,my)的表元素的存储在经缩减相关性值表中的多个相关性值。如上所述,每个相关性值都是SAD值。在本实施例中,作为接近表元素地址(mx,my)的表元素的存储在经缩减相关性值表中的相关性值的数量被设置为15。然后,在下一步骤S114,指向分数级别的精度的X-Y平面上的位置的最小值矢量(px,py)被检测为与二次曲面上的最小SAD值相对应的矢量。最小值矢量(px,py)指向的位置是与二次曲面上的最小SAD值相对应的位置。
然后,在最后一个步骤S115,通过将最小值矢量(px,py)乘以缩减因子的倒数值n,计算具有原始大小和原始方向的运动矢量(px×n,py×n),如图6所示。
图25和图26所示的流程图代表了依据根据第一典型实现的块匹配技术执行的用于检测用于一个目标块的运动矢量的处理。对于分段的帧来说,如图20所示,需要对帧片段检测多个运动矢量。在此情形下,对于要被检测的每个运动矢量或每个帧片段来说,搜索范围和缩减因子1/n可以被重新设置,以便执行图25和图26所示的流程图代表的处理。
请注意,不言而喻,除了上述二次曲面方法以外,三次曲线方法也可被用作用于找到指向以分数级别的精度在搜索范围上检测出的位置的最小值矢量(px,py)的技术。
<第二典型实现>
在上述第一典型实现的情况中,找到用于参考块和参考矢量的SAD值,并且通过采用线性加权分配技术,SAD值然后被划分为用于多个接近的参考矢量的多个分量SAD值,所述接近的参考矢量中的每一个的位置接近作为对参考矢量进行缩减的结果而获得的经缩减参考矢量。也就是说,SAD值代表目标块和参考块之间的相关性值。在上述第一典型实现的情况中,对于与参考矢量相关联的参考块找到相关性值,并且通过采用线性加权分配技术,相关性值随后被划分为用于多个接近的参考矢量的多个分量相关性值,所述接近的参考矢量中的每一个的位置接近作为对参考矢量进行缩减的结果而获得的经缩减参考矢量。
另一方面,在第二典型实现的情况中,相关性值被计算为目标块上的像素和参考块上的相应像素之间的像素值之差。因此,计算得到的相关性值不是SAD值。然后,通过采用线性加权分配技术,计算得到的相关性值被划分为用于多个接近的参考矢量的多个分量相关性值,所述接近的参考矢量中的每一个的位置接近作为对指向参考块的参考矢量进行缩减的结果而获得的经缩减参考矢量。对目标块中的所有像素(或参考块中的所有相应像素),重复计算相关性值的过程,和将计算得到的相关性值划分为多个分量相关性值的过程,以通过采用累加技术,找到多个最终分量相关性值。当对参考块中的所有像素完成了计算相关性值的过程和将计算得到的相关性值划分为多个分量相关性值的过程时,得到的经缩减相关性值表(或得到的经缩减SAD表)的状态与通过第一典型实现生成的经缩减相关性值表(或经缩减SAD表相同)。
下面通过参考图27和图28所示的流程图说明实现手颤抖运动矢量检测单元15的操作的第二典型实现的处理流程。
由于图27所示的流程图的步骤S121到S123的过程分别与图25所示的流程图的步骤S101到S103相同,因此不详细说明步骤S121到S123的过程。
在第二典型实现的流程图的下一步骤S 123中,根据等式(1)计算目标块Io上的像素(x,y)的像素值Io(x,y)和参考块Ii上的相应像素的像素值Ii(x+vx,y+vy)之间的差的绝对值α。然后,在步骤S124,通过以缩减因子1/n缩减指向参考块Ii的参考矢量(vx,vy),来计算经缩减参考矢量(vx/n,vy/n)。
接下来,在下一步骤S125,识别位置接近经缩减参考矢量(vx/n,vy/n)的多个接近的参考矢量。接近的参考矢量中的每个都是具有整数vx/n值和整数vy/n值的经缩减参考矢量。在本实施例中,接近的参考矢量的数量被设置为4。然后,在下一步骤S126,通过采用前述基于接近的参考矢量所指向的位置和经缩减参考矢量(vx/n,vy/n)所指向的位置之间的关系的线性加权分配技术,作为像素值之差的绝对值的在步骤S123找到的绝对值α被划分为四个分量差。
接下来,在下一步骤S127,在经缩减相关性值表中包括的四个表元素之间分配四个分量差,作为分别与四个接近的参考矢量相关联的四个表元素。
在步骤S127的过程完成之后,根据第二典型实现的处理的流程图进行到下一步骤S128,以产生关于是否已经对目标块Io中的所有点(x,y)和它们在参考块Ii中的所有相应点(x+vx,y+vy)执行了步骤S123到S127的过程的判断结果。如果判断结果指示尚未对目标块Io中的所有像素(x,y)和它们在参考块Ii中的所有相应像素(x+vx,y+vy)执行了步骤S123到S127的过程,则根据第二典型实现的处理的流程返回步骤S122。具有坐标(x,y)的另一像素被指定为目标块Io中的另一像素。然后,重复步骤S122之后的步骤S123到S127的过程。
如果步骤S128产生的判断结果指示已经对目标块Io中的所有像素(x,y)执行了这些过程,即已经找到了用于当前参考矢量(vx,vy)的最终SAD值SAD(vx,vy),则处理的流程进行到图28所示的流程图的步骤S131,以产生关于是否已经对所有参考矢量(vx,vy)执行了步骤S122到S128的过程的判断结果。
如果在步骤S131产生的判断结果指示尚未对所有参考块(即对所有参考矢量(vx,vy))执行步骤S122到S128的过程,则处理的流程返回步骤S121。在搜索范围105的另一块位置(vx,vy)处设置由另一参考矢量(vx,vy)指向的另一参考块Ii。然后,重复步骤S122和后续步骤的过程。
如果在步骤S131产生的判断结果指示已经对所有参考块位置或对所有参考矢量(vx,vy)执行了这些过程,即,如果经缩减相关性值表的所有元素都已被填充了最终分量SAD值,则处理的流程进行到步骤S132。在表元素地址(mx,my)处检测到存储在经缩减相关性值表或经缩减SAD表的所有元素中的所有分量最终SAD值中的最小值。
然后,在下一步骤S133,创建二次曲面,作为近似在表元素地址(mx,my)处检测到的最小相关性值和作为接近表元素地址(mx,my)的表元素而存储在经缩减相关性值表中的多个相关性值的曲面。如上所述,每个相关性值都是SAD值。在本实施例的情况中,作为接近表元素地址(mx,my)的表元素而存储在经缩减相关性值表中的相关性值的数量被设置为15。然后,在下一步骤S134,指向分数级别的精度的X-Y平面上的位置的最小值矢量(px,py)被检测为与二次曲面上的最小SAD值相对应的矢量。最小值矢量(px,py)所指向的位置是与二次曲面上的最小SAD值相对应的位置。
然后,在最后一个步骤S135,通过将最小值矢量(px,py)乘以缩减因子的倒数值n,计算具有原始大小和原始方向的运动矢量(px×n,py×n),如图6所示。
图27和图28所示的流程图代表了依据根据第二典型实现的块匹配技术执行的用于检测用于一个目标块的运动矢量的处理。对于分段帧来说,如图20所示,需要对帧片段检测多个运动矢量。在此情形下,对于要被检测的每个运动矢量或每个帧片段来说,搜索范围和缩减因子1/n可以被重新设置,以便执行图27和图28所示的流程图代表的处理。
请注意,不言而喻,即使在第二典型实现的情况中,除了上述二次曲面方法以外,基于分别在定向于垂直和水平方向上的平面上的两条三次曲线的三次曲线方法也可被用作用于找到指向以分数级别的精度在搜索范围上检测出的位置的最小值矢量(px,py)的技术。
<第三典型实现>
如果采用根据实施例的确定运动矢量的任一方法,则即使对于用于缩减参考矢量的一维缩减因子1/64,确定运动矢量的过程不会以例如检测出完全不正确的运动矢量这样的失败而结束,如从图19所示的方法展现的效果可以很明显地看出。因此,本质上,被用作典型相关性值表的SAD表的大小可以成功地以二维缩减因子1/4096(=1/64×1/64)缩小。
事实上,可以尝试进一步缩小经缩减SAD表(用作为典型相关性值表)的大小,所述经缩减SAD表是作为使用二维缩减因子1/4096或一维缩减因子1/64的缩减过程而获得的。也就是说,首先,通过执行以一维缩减因子1/64检测运动矢量的第一过程来获得经缩减SAD表。然后,在执行以一维缩减因子(典型值是1/8)检测运动矢量的第二过程之前,搜索范围(对应于相关性值表)的大小被进一步缩小,以得到中心与检测出的运动矢量所指向的位置重合的新搜索范围。因此,通过缩小一维缩减因子(即增加1/n的量值)来执行检测运动矢量的过程,以便将得到的矢量误差缩小到容限范围之内的值。通过适当地设置一维缩减因子以便第二过程以适当值检测运动矢量,可以以高程度的精度检测运动矢量。
下面通过参考图29和图32的流程图,说明实现手颤抖运动矢量检测单元15的操作的第三典型实现的处理流程。
作为根据第三典型实现的处理的图29和图32所示的流程图所代表的处理基本上是基于根据第一典型实现的检测运动矢量的处理。因此,图29所示的流程图的步骤S141到S149的过程分别与图25所示的流程图的步骤S101到S109的过程正好相同,而图30所示的流程图的步骤S151到S155的过程分别与图26所示的流程图的步骤S111到S115的过程正好相同。
但是,在第三典型实现的情形下,检测运动矢量的处理没有在图30所示的流程图的步骤S155处结束。而是,在步骤S155检测出的运动矢量被用作第一运动矢量。然后,在下一步骤S156,通过使用由检测出的运动矢量所指向的位置作为具有缩小了大小的新搜索范围的中心,并且通过将一维缩减因子从第一处理中使用的用于检测运动矢量的1/na缩小到第二处理中使用的1/nb(其中na>nb),同一参考帧中的搜索范围的大小被进一步缩小,以得到新搜索范围。
具体而言,在第一运动矢量检测处理中检测出的运动矢量指向包括在某种程度上与目标块具有相关性的参考块的近似块范围。然后,可以新设置以包括在某种程度上与目标块具有相关性的参考块的近似块范围为中心的更窄的搜索范围,作为要在检测另一运动矢量的第二处理中使用的新的块范围。通过使用更小的缩减矢量,可以预期,可以检测出具有更小误差的第二运动矢量。
这样,如上所述,在步骤S156,更窄的搜索范围和缩小了的一维缩减因子被用来以与图30所示的流程图的步骤S157和S158、图31所示的流程图的步骤S161到S168、以及图32所示的流程图的步骤S171到S174的第一运动矢量检测处理完全相同的方式,执行检测另一运动矢量的第二处理。这些步骤的过程与图25所示的流程图的步骤S101到S109的过程以及图26所示的流程图的步骤S111到S115的过程完全相同。
通过执行上述第二运动矢量检测处理,最终在步骤S174检测出第二运动矢量,作为所需的最终运动矢量。
通过重复两次执行根据第一典型实现的检测运动矢量的方法,实现了根据第三典型实现的检测运动矢量的方法。但是,不言而喻,可以利用逐渐减小的搜索范围(如有必要的话利用逐渐减小的缩减因子),多于两次地重复执行根据第一典型实现的检测运动矢量的方法。
此外,不言而喻,在实现根据第三典型实现的检测运动矢量(px,py)的方法时,根据第二典型实现的检测运动矢量的方法可以被执行,来取代根据第一典型实现的检测运动矢量(px,py)的方法。此外,与前述第一和第二典型实现的情形一样,基于分别定向于垂直和水平方向上的平面上的两条三次曲线的三次曲线方法可以取代上述二次曲面方法而被用作用于检测指向分数级别的精度的位置的运动矢量(px,py)的方法。
[第二实施例]
在实现作为如图24所示的图像拾取装置的图像处理装置的第一实施例中,作为前提,被手颤抖运动矢量检测单元15访问的图像存储器单元4包括分别用于存储原始帧(充当目标帧)和参考帧两者的图像的两个帧存储器。因此,利用从目标帧延迟了对应于一帧的时间段的定时,检测运动矢量。
另一方面,在第二实施例中,图像处理装置具有这样的配置,其中来自图像拾取器件11的当前图像数据被当作参考帧,从而对于光栅扫描仪的流数据来说,可以以实时方式计算SAD值。
图33是示出了实现作为图像拾取装置的图像处理装置的第二实施例的框图。从图33可以很明显地看出,图像拾取装置10的配置与图24所示的第一实施例实现的图像拾取装置10的配置相同,除了在第二实施例中,图像存储器单元4包括一个帧存储器43。
在第二实施例中,充当目标帧的原始帧被存储在帧存储器43中,并且从数据转换单元14作为流输出的帧充当参考帧。前述第一实施例中采用的手颤抖运动矢量检测单元15基于分别存储在帧存储器41和42中的两个帧的图像数据,执行计算作为代表参考块和参考块之间的相关性的典型相关性值的SAD值的过程。另一方面,在图33所示的第二实施例中,存储在帧存储器43中的图像数据被当作充当参考帧的原始帧的图像。来自数据转换单元14的流图像数据被用作参考帧的图像数据,并且手颤抖运动矢量检测单元15基于这两帧的图像数据,执行计算作为代表目标帧上的目标块和参考帧上的参考块之间的相关性值的典型相关性值的SAD值的过程。
然后,分辨率转换单元16基于由手颤抖运动矢量检测单元15检测出的运动矢量,从帧存储器43裁剪出帧图像数据。以此方式,可以输出没有手颤抖的影响的图像数据。其余的配置和其他的操作与第一实施例相同。
如上所述,在该第二实施例的情形下,来自数据转换单元14的流图像数据被用作参考帧的图像数据。因此,对于传入的参考帧上的某个像素来说,包括充当某个像素的拷贝的像素的多个参考块在参考帧上同时存在。参考图34说明这种参考块的存在。
从图34可以很明显地看出,参考帧102上的搜索范围105包括输入像素Din,它是原始帧101上的目标块103上的像素D2的拷贝像素。输入像素Din是在参考矢量1071所指向的参考块1061的左侧上包括的像素,也是在参考矢量1072所指向的参考块1062的右上角包括的像素。
因此,在计算像素之间的像素值差的过程期间处理参考块1061时,输入像素Din的像素值被与目标块103上的像素D1比较。另一方面,在计算像素之间的像素值差的过程期间处理参考块1062时,输入像素Din的像素值被与目标块103上的像素D2比较。
为了使说明便于理解,下面描述图34和图35,它们都示出了两个参考帧。但是,事实上,存在包括输入像素的多个参考块。
在根据该第二实施例计算目标块和参考块之间的SAD值时,通过找到被处理的参考块106上的输入像素Din的亮度值Y和作为与输入像素Din的点相对应的点的在目标块103上的点处的像素值的亮度值Y之间的差的绝对值,计算像素值差。每次计算这种差的绝对值,差的绝对值就被累加到先前存储在表元素中的临时和上,作为这些差的绝对值之和,所述表元素被包括在SAD表108中作为根据与参考块106相关联的参考矢量107的表元素。对与包括输入像素Din的参考帧106相关联的每个参考矢量107,执行计算像素值差的绝对值的过程和在表元素中存储绝对值的过程。
例如,假设参考块1061是当前被处理的参考块。在此情形下,通过找到参考块1061上的输入像素Din的亮度值Y和作为与输入像素Din的点相对应的点的在目标块103上的点处的像素D1的亮度值Y之间的差的绝对值,计算像素值差。然后,计算出的差的绝对值被累加到先前存储在相关性值表元素(或SAD表元素)1091中的临时和上,作为这些差的绝对值之和,所述表元素被包括在图35所示的相关性值表(或SAD表)108中作为根据与参考块1061相关联的参考块1071的表元素。对与包括输入像素Din的参考帧106相关联的每个参考矢量107,执行计算像素值差的绝对值的过程和将计算得到的绝对值累加到计算得到的并在先前存储在SAD表元素1091中的临时和的过程。例如,参考矢量1072与也包括输入像素Din的参考块1062相关联。在此情形下,如下所述,对与参考块1062相关联的参考矢量参考矢量1072,执行计算像素值差的绝对值的过程和将计算得到的绝对值累加到计算得到的并在先前存储在SAD表元素1092中的临时和的过程,所述表元素被包括在图35所示的相关性值表(或SAD表)108中作为根据参考矢量1072的表元素。
当参考块1062被处理时,通过找到参考块1062上的输入像素Din的亮度值Y和作为与输入像素Din的点相对应的点的在目标块103上的点处的像素D2的亮度值Y之间的差的绝对值,计算像素值差。然后,计算得到的差的绝对值被累加到先前存储在SAD表元素1092中的临时和上,作为这些差的绝对值之和,该表元素被包括在图35所示的SAD表108中作为根据与参考块1062相关联的参考矢量1072的表元素。
上述对其中每个都包含输入像素Din的所有参考块106(例如参考块1061和1062)执行的处理对搜索范围105中的所有输入像素Din执行,并且,当对搜索范围105中的所有输入像素Din完成该处理时,SAD表108的每个表元素109都包含最终SAD值,SAD表108的创建完成。
参考图35的说明对于如下情况同样成立:将现有技术的技术应用到以实时方式计算SAD值的过程。如前面参考图35所述,SAD表元素1091和1092中的每一个是作为分别与参考矢量1071和参考矢量1072相关联的元素的在SAD表108中包括的典型SAD表元素109。另一方面,在该第二实施例中,相关性值表(或SAD表)108的每个表元素109不是最终SAD值,所述最终SAD值是上述像素值差的绝对值的累积和。而是,非常类似于上述第一实施例,SAD表108被缩减为经缩减相关性值表(或经缩减SAD表),并且经缩减相关性值表(或经缩减SAD表)的每个表元素都是通过执行以下步骤获得的值:
计算参考帧106上的搜索范围中的输入像素和目标帧上的相应像素之间的像素值差的绝对差;
以缩减因子1/n缩减指向参考块106的参考矢量107;
通过采用线性加权分配技术,将计算得到的绝对差划分为多个分量绝对差;以及
将分量绝对差累加到先前计算和存储在多个表元素中的临时和,所述多个表元素与多个相应的接近的经缩减参考矢量相关联,所述接近的经缩减参考矢量接近作为对参考矢量107进行缩减的结果而获得的经缩减矢量而存在。
对于指向包括输入像素的参考块106的每个参考矢量107,执行上述步骤,以获得存储在表元素中的值。对每个输入像素重复对指向共享输入像素的参考块106的所有参考矢量107执行的步骤。当对搜索范围中包括的每个输入像素都完成了这些步骤的执行时,经缩减相关性值表(或经缩减SAD表)被完成。
在经缩减SAD表完成之后,可以通过采用与第一实施例完全相同的技术,执行根据第二实施例的检测准确的运动矢量的过程。如前所述,第一实施例采用的典型技术是二次曲面技术和基于定向于垂直和水平方向上的平面上的三次曲线的技术。
图36和图37示出了代表用于检测运动矢量的根据第二实施例的图像拾取装置10中采用的手颤抖运动矢量检测单元15所执行的处理的流程图。
流程图开始于步骤S181,在步骤S181,手颤抖运动矢量检测单元15接收作为参考帧的输入图像中包括的帧上的任意点(x,y)处的像素的像素数据Din(x,y)。然后,在下一步骤S182,指定指向多个参考块Ii之一的参考矢量(vx,vy),其中每个参考块Ii都包括位置(x,y)处的输入像素Din(x,y)。
令标记Ii(x,y)标示由参考矢量(vx,vy)所指向的参考块Ii上的点(x,y)处的像素的像素值,令标记Io(x-vx,y-vy)标示目标块Io上的点(x-vx,y-vy)处的像素的像素值。在下文中,目标块Io中的点(x-vx,y-vy)被说成是与参考块Ii中的点(x,y)相对应的点。然后,在下一步骤S183,根据以下等式(3)计算像素值Ii(x,y)和像素值Io(x-vx,y-vy)之间的差的绝对值α:
α=|Ii(x,y)-Io(x-vx,y-vy)| ——(3)
然后,在下一步骤S184,通过以缩减因子1/n缩减指向参考块Ii的参考矢量(vx,vy),计算经缩减参考矢量(vx/n,vy/n)。一般地,每个得到的经缩减参考矢量的x方向和y方向值(vx/n,vy/n)都包括分数部分。
接下来,在下一步骤S185,识别出多个位置接近经缩减参考矢量(vx/n,vy/n)的接近的参考矢量。如前所述,每个接近的参考矢量都是具有整数vx/n值和整数vy/n值的经缩减参考矢量。在本实施例中,接近的参考矢量的数量被设置为4。然后,在下一步骤S186,通过采用如前所述的基于接近的参考矢量指向的位置和经缩减参考矢量(vx/n,vy/n)指向的位置之间的关系的线性加权分配技术,作为像素值差在步骤S183找到的绝对值α被划分为四个分量差。接下来,在下一步骤S187,四个分量差在被包括在经缩减相关性值表中的四个表元素之间分配,作为分别与四个接近的参考矢量相关联的四个表元素。
在完成步骤S187的过程之后,根据第二实施例的处理的流程进行到下一步骤S188,以产生关于判断是否已经对其中每个都指向包括输入像素Din(x,y)的参考块Ii的所有参考矢量(vx,vy)都执行了步骤S183到S187的过程的判断结果。如果判断结果指示尚未对其中每个都指向包括输入像素Din(x,y)的参考块Ii的所有参考矢量(vx,vy)都执行步骤S183到S187的过程,则处理的流程返回步骤S182。指定指向其中每个都包括输入像素Din(x,y)的多个参考块Ii之一的另一参考矢量(vx,vy)。然后,重复步骤S182之后的步骤S183到S187的过程。
另一方面,如果在步骤S188产生的判断结果指示已经对其中每个都指向包括输入像素Din(x,y)的参考块Ii的所有参考矢量(vx,vy)都执行了步骤S183到S187的过程,则根据第二实施例的处理流进行到图37所示流程图的步骤S191,以产生关于是否已经对搜索范围105中的所有输入像素Din(x,y)都执行了步骤S182到S188的过程的判断结果。如果判断结果指示尚未对搜索范围105中的所有输入像素Din(x,y)都执行步骤S182到S188的过程,则根据第二实施例的处理的流程返回步骤S181,在步骤S181,接收一帧上另一点(x,y)处的另一像素的像素数据Din(x,y)。然后,执行后续步骤的过程。
另一方面,如果在步骤S191产生的判断结果指示已经对搜索范围105中的所有输入像素Din(x,y)都执行了步骤S182到S188的过程,则根据第二实施例的处理的流程进行到步骤S192。在表元素地址(mx,my)处检测出经缩减相关性值表或经缩减SAD表的所有元素中存储的所有分量最终SAD值中的最小值。
然后,在下一步骤S193,创建作为近似如下相关性值的曲面的二次曲面,所述相关性值是在表元素地址(mx,my)处检测到的最小相关性值和作为接近表元素地址(mx,my)的表元素的存储在经缩减相关性值表中的多个相关性值。如上所述,每个相关性值都是SAD值。在第二实施例中,作为接近表元素地址(mx,my)的表元素的存储在经缩减相关性值表中的相关性值的数量被设置为15。然后,在下一步骤S194,指向分数级别的精度的X-Y平面上的位置的最小值矢量(px,py)被检测为与二次曲面上的最小SAD值相对应的矢量。最小值矢量(px,py)所指向的位置是与二次曲面上的最小SAD值相对应的位置。
然后,在最后一个步骤S195,通过将最小值矢量(px,py)乘以缩减因子的倒数值n,计算具有原始大小和原始方向的运动矢量(px×n,py×n),如图6所示。
应当注意,同样在第二实施例的情况中,与前述第一实施例的第一到第三典型实现的情形一样,取代上述二次曲面方法,基于分别定向于垂直和水平方向上的平面上的两条三次曲线的三次曲线方法也可以被用作检测指向分数级别的精度的位置的运动矢量(px,py)的方法。
此外,不言而喻,同样在第二实施例的情况中,与前述第一实施例的第三典型实现一样,可以在缩窄搜索范围以及如果有必要的话改变缩减因子的同时,在两个或多个阶段重复执行通过使用经缩减SAD表检测运动矢量的处理。
第二实施例提供了这样的优点:与第一实施例相比,帧存储器的大小可以减小一帧,因此,可以缩短在帧存储器中存储输入图像所需的时间。不言而喻,可以说明存储器大小缩小的效果。但是,在帧存储器中存储输入图像所需的短时间也在近年来被认为是重要的特征。具体而言,在处理运动图片的系统中,在帧存储器中存储输入图像所需的短时间本身使得系统延迟缩短。因此,消除图片拾取的实际对象与其在显示面板上显现的图像之间的差异所导致的不相适应的感觉对引起用户对产品的兴趣有很大效果。
[第三实施例]
在上述第一和第二实施例中,假设了用于针对手颤抖的影响来补偿运动图片的系统,并通过将该假设作为前提给出了对实施例的描述。但是,本发明实施例提供的块匹配技术也可以很容易地扩展到该技术对用于针对手颤抖的影响来补偿静止图片的系统的应用。第三实施例是将本发明应用于针对手颤抖的影响来补偿静止图片的系统的实施例。
在第三实施例中,非常类似于第二实施例,利用被当作要被处理的参考帧的输入图像帧,检测这样的运动矢量,其指示与比输入图像帧领先了对应于一帧的时间段的目标图像帧有关的输入图像帧的移动。但是,在第三实施例中,通过在针对手颤抖的影响来补偿图像时,将以典型速率为3fps的图像拾取操作中连续拍摄的多个图像彼此叠加,来执行针对手颤抖的影响来补偿静止图片的过程。
由于可以通过在针对手颤抖的影响来补偿图像时,将图像拾取操作中连续拍摄的多个图像彼此叠加,来执行根据第三实施例的针对手颤抖的影响补偿来静止图片的过程,因此不允许大于一个像素的误差的像素精度是必要的。也就是说,在第三实施例的情况中,作为手颤抖运动矢量,除了代表水平和垂直方向上的平行移动的分量之外,还有必要检测旋转分量。
图38是根据第三实施例的图像拾取装置的典型配置的框图。通过向作为第二实施例的配置的图33所示的配置添加在手颤抖运动矢量检测单元15和分辨率转换单元16之间的旋转添加单元19,以及向已包括帧存储器43的图像存储器单元4添加帧存储器44,获得了图38所示的典型配置。帧存储器44被用作检测运动矢量的旋转分量和将帧图像彼此叠加的存储器。其余部分与图33所示的配置相同。
以与作为处理运动图片的实施例的前述第二实施例相同的方式,通过将从数据转换单元14接收的输入像素数据作为参考帧的图像数据,并使用存储在帧存储器43中的图像数据作为充当目标帧的原始帧的图像数据,来执行检测运动矢量的处理。在第三实施例的情况中,对于一帧,检测类似于图20所示的多个运动矢量。
此外,在第三实施例的情况中,手颤抖运动矢量检测单元15将手颤抖运动矢量检测单元15检测出的多个运动矢量的信息提供给旋转添加单元19。旋转添加单元19综合处理这些运动矢量,以便检测出代表平行移动分量和旋转角度的手颤抖运动矢量。
然后,在一帧延迟之后,旋转添加单元19根据手颤抖运动矢量和旋转角度,裁剪出存储在帧存储器43中的图像帧,同时,在旋转裁剪出的帧的同时,将裁剪出的帧添加到存储在帧存储器44中的图像帧上,或计算裁剪出的帧和存储在帧存储器44中的图像帧的平均。通过重复执行这些过程,可以将图像帧120存储在帧存储器44中,作为不表现出手颤抖的影响和具有较高S/N比以及较高图像分辨率的静止图像。图39示出了在旋转和平移叠加帧的同时将帧彼此叠加的过程。
然后,分辨率转换单元16从存储在帧存储器44中的帧图像,裁剪出具有预定的图像分辨率和预定的图像大小的图像部分,被如前所述地将该部分提供给编码/解码单元17,作为要记录的所拍摄图像的数据。分辨率转换单元16还将该图像部分提供给NTSC编码器18,作为要被监视的图像的数据。
同样在第三实施例的情况中,通过使用经缩减相关性值表(或经缩减SAD表)来检测每个运动矢量的处理可以在缩窄搜索范围并且如果有必要的话改变缩减因子的同时,在两个或更多阶段重复执行。在根据第三实施例检测静止图片的手颤抖运动矢量的过程中和针对手颤抖的影响来补偿静止图片的过程中,对过程的实时特性几乎没有限制。像素数量增加使得有必要以高程度的精度检测运动矢量,但是,对于这样的必要性,在多个阶段检测分层的运动矢量的处理变得很有效。
在上述第三实施例中,通过采用与第二实施例相同的方法检测运动矢量。但是应当注意,也可以通过采用与第一实施例相同的方法,在第三实施例中检测运动矢量。
[第四实施例]
上述第三实施例采用通过将输入图像与领先输入图像一帧的图像进行比较来检测手颤抖运动矢量和旋转角度的方法。但是,事实上,第一帧被当作基础,后续帧如图39所示被叠加在该基础上。因此,第一帧作为检测运动矢量的过程中的基础被更加谨慎地对待,以便减小误差。第四实施例是考虑到这一点的实施例。图40是示出了根据第四实施例的图像拾取装置的典型配置的框图。
在第四实施例中,除了帧存储器43和44之外,图像存储器单元4还包括的额外的帧存储器45。数据转换单元14输出的图像数据被存储在帧存储器43和45中。
第四实施例是具有这样的配置的系统,其中帧存储器45被用于存储第一帧来充当目标帧,目标帧也被称为原始帧,并且作为代表与基础帧的图像有关的输入图像的移动的矢量的运动矢量被检测。在该配置中,图像添加过程的结果被存储在帧存储器44中。其余部分与第三实施例相同。
通过将输入图像的第一帧当作基础图像,第四实施例实现了能够执行无限添加过程或无限平均/添加过程的系统。但是应当注意,如果存储器充分可用或者允许在记录/再现装置5中临时保存数据的操作,则要经历无限添加过程或无限平均/添加过程的所有图像可以被预先保存在存储器或记录/再现装置5中,然后在竞赛(tournament)基础上对图像执行过程。
[第五实施例]
通过组合根据第一到第四实施例的针对手颤抖的影响来补偿图像的无传感器方法和在当代技术基础上针对手颤抖的影响来补偿图像的技术,可以获得更好的效果。
本专利说明书的开始部分说明了通过使用陀螺仪传感器针对手颤抖的影响来补偿图像的过程仅得到粗略的补偿,而旋转补偿技术难于实现。另一方面,通过采用块匹配技术针对手颤抖的影响来补偿图像的无传感器过程提供了包括旋转补偿的高程度的精度。但是,如果搜索范围变宽,则SAD表的成本迅速升高,或者,即使采用根据实施例的块匹配方法,在多个阶段执行检测运动矢量的过程也延长了执行整个处理所需的时间。
为了解决上述问题,必须通过执行以下步骤来提供以低成本、很高程度的精度和高处理速度的针对手颤抖的影响来补偿图像的系统:
针对手颤抖的光学影响来补偿图像,以获得粗略补偿;
缩小在检测用于在传感器级别针对手颤抖的影响来补偿图像的运动矢量时使用的搜索范围的大小;
检测搜索范围中的运动矢量;以及
以无传感器方式针对手颤抖的影响来补偿图像。
如上所述,通过采用根据第一到第五实施例的块匹配技术,可以解决针对手颤抖的影响来补偿图像的现有技术系统所产生的问题。现有技术系统产生的问题包括相关性值表规模大以及由于相关性值表规模大导致几乎难以进行静止图像补偿。但是,根据实施例,不仅可以显著缩小相关性值表的大小,而且可以很容易地实现针对手颤抖的影响补偿静止图片的方法。
此外,与目前提出的用于针对手颤抖的影响来补偿静止图片的各种无传感器技术相比,根据第一到第五实施例的基于块匹配技术的无传感器手颤抖补偿方法的实现提供了包括如下的优点:低成本、高程度的精度、短的处理时间以及很好的鲁棒性。
作为针对手颤抖的影响来补偿静止图像的装置的当前市场上可获得的每种装置都是采用包括陀螺仪传感器方法和透镜偏移方法的组合光学补偿技术的系统。但是,这样的系统引入了大的误差和不理想的图片质量。但是,另一方面,根据本发明实施例提供的技术,可以去掉传感器和其他机械组件,以便允许系统被实现为以低成本和很高程度的精度针对手颤抖的影响来补偿静止图像的装置。
[其他实施例]
在上述实施例的情况中,参考矢量以相同的缩减因子在垂直和水平方向上被缩减。但是,参考矢量也可以以不同的缩减因子在垂直和水平方向上被缩减。
此外,在上述实施例中,在参考块和目标块中的所有像素的像素值的基础上计算SAD值,其被用作代表参考和目标块之间的相关性的相关性值。但是,也可以在参考块中的每个像素和目标块中的每k个像素(其中k是整数)的像素值的基础上计算SAD值,其被用作代表参考和目标块之间的相关性的相关性值。
另外,被用作以实时方式检测运动矢量的系统缩小了执行处理所需的处理成本和时间。因此,在这样的系统中,常常必须搜索目标块,以找出上述有代表性的点,并在目标块中的有代表性的点处的像素值和在参考块中包括的点处的像素值的基础上,计算诸如SAD值之类的相关性值。
具体而言,例如,目标块103被划分为多个子块,每个子块包括a×b个像素,或者每个包括“a”个像素列和“b”个像素行,如图41所示,其中a和b都是至少等于1的整数。然后,每个子块中的多个像素之一被当作子块的有代表性的点(或目标点)TP。然后,在目标块103中包括的被选择的有代表性的点TP的像素值和参考块106中包括的点处的像素值的基础上,计算诸如SAD值之类的相关性值。
但是,参考块106中的所有像素的像素值仍在计算诸如SAD值等相关性值的过程中被使用。具体而言,参考块106被划分为多个像素范围AR,每个像素范围AR包括作为目标块103中的子块(或目标点TP)的a×b个像素,并且像素范围AR中的所有a×b个像素都与对应于像素范围AR的子块中的目标点TP处的像素值结合起来在计算诸如SAD值等相关性值的过程中被使用。
更具体而言,计算目标块103上的子块中的目标点TP和参考块106上的像素范围AR中的a×b个像素中的每个像素之间的像素值差的绝对值,然后找到针对a×b个像素计算的这种绝对值的子块和。对目标块103上的每个子块(或每个目标点TP)找到该子块和,然后,计算针对目标块103上的所有子块(或所有目标点TP)找到的这种子块和的块和。计算得到的块和是目标块103和参考块106的SAD值,并且被存储在相关性值表(或SAD表)108中作为表108的元素。
然后,对为目标块103提供的搜索范围105中的每个参考块106,如上所述地在目标块103中的目标点TP的基础上,找到目标块103和参考块106的块和(或SAD值),并将其存储在相关性值表(或SAD表)108中作为表108的元素,以便填充表108,即以便完成表108的创建。但是,在这种另外的实施例的情况中,由于在搜索范围105中设置的多个参考块106中的每一个都包括a×b个像素,因此参考块106的中心彼此偏移了与a×b个像素或a×b的倍数个像素相对应的距离。
在其中目标块中的有代表性的点被用于计算充当代表目标块和参考块之间的相关性的值的SAD值的装置的情况中,对于包括参考块中的多个像素的每个像素范围AR,访问存储器一次,以找出目标块上的目标点TP。因此,对存储器的访问次数可以被大大减少,因为目标块上的目标点TP需要被访问。
此外,在使用目标块中的有代表性的点的装置的情况中,目标块上的目标点TP处的像素的图像数据需要被存储在存储器中。也就是说,不需要存储目标块上的所有像素的图像数据。因此,用于存储充当包括目标块的目标帧的原始帧的帧存储器的大小也可以大大缩小。
另外,除了帧存储器以外,被实现为SRAM的有代表性的点存储器也可以在本地被提供,作为用于存储用作目标帧的原始帧上的目标块的图像数据的本地存储器。以此方式,可以减小对被实现为DRAM的图像存储器单元4的访问的带宽。
上面通过参考图42到图44,针对前面说明的技术,描述了采用使用目标块的有代表性的点的技术的过程。但是,不言而喻,对采用使用有代表性的点的技术的过程的说明也适用于作为根据第二实施例的方法的前面通过参考图34到图37描述的方法。
通过执行以下步骤,使用目标块的有代表性的点的技术被应用于根据第二实施例的方法:
对于整个搜索范围中的每个输入像素,检测共享包括了输入参考帧的像素(称为输入像素)的像素范围AR的所有参考块;以及
确定目标块上的多个有代表性的点作为这样的点,其中每个点对应于所有检测出的参考块中每个参考块中的像素范围AR之一。应当注意,像素范围AR中的输入像素的位置随AR而异。
然后,对于像素范围AR中的输入像素,位于目标块的有代表性的点之一处的像素的像素值被从用于存储充当目标帧的原始帧的图像数据的存储器读出,并且被与输入像素的像素值一起用于计算位于有代表性的点处的像素的像素值和输入像素的像素值之间的差的绝对值。然后,绝对值的每个分量值被累加到在充当相关性值表的SAD表中所包括的元素中所存储的先前计算得到的分量值,作为与指向参考块的参考矢量相对应的元素。
在上述处理中,对存储器进行访问以读出其中每个都位于有代表性的点之一处的像素的像素值。因此,对存储器的访问次数可以显著减少。
注意,不言而喻,在已经描述的实施例的情况中,基于有代表性的点的处理被应用到使用经缩减相关性值表(或经缩减SAD表)的情况中。
此外,在上述实施例中,像素值之差的绝对值和SAD值每个通过处理亮度值Y而作为相关性值被计算。但是,为了检测运动矢量,被处理的像素值不限于亮度值Y。也就是说,色度值Cb/Cr也可被当作被处理的像素值。此外,被转换为亮度值Y和色度值Cb/Cr之前的原始数据也可在检测运动矢量的处理中被当作被处理的像素值。
另外,如前所述,手颤抖运动矢量检测单元15不限于由硬件执行检测运动矢量的处理的配置。也就是说,检测运动矢量的处理也可由软件执行。
根据任一实施例的检测运动矢量的处理在所拍摄图像上执行。但是注意,不言而喻,本发明的实施例被应用到的信息不限于所拍摄图像。
此外,如在本发明说明书开始处所述的,代表目标块和参考块之间的相关性的值不限于SAD值。
此外,已经给出的描述说明了向检测由图像拾取装置拍摄的图像的手颤抖运动矢量的情形应用本发明实施例的示例。但是,本发明的范围不限于检测由图像拾取装置拍摄的图像的手颤抖运动矢量。也就是说,本发明也可应用于检测代表从任一画面位置到画面的另一位置的移动的手颤抖运动矢量。将该位置和另一位置处的画面分别称为目标和参考画面(或目标和参考帧)。在此情形下,目标画面或参考画面中的任一个可被当作时间轴上的在先画面,而另一画面被当作在后画面。在上述实施例中,因为手颤抖运动矢量被检测,所目标画面被当作在先画面。但是,在参考画面被当作在先画面时,也可针对临时记录的画面检测运动矢量。
此外,本领域的技术人员应当理解,依赖于设计需要和其他因素,可能发生多种修改、组合、子组合和替换,它们落在所附权利要求或其等同物的范围内。
本发明包含与分别于2005年12月1日和2006年7月18日向日本专利局提交的日本专利申请JP 2005-347437和JP 2006-195047相关的主题,这两份申请的全部内容都通过引用被包含于此。
Claims (32)
1.一种用于通过执行以下步骤识别运动矢量的图像处理装置:
在参考画面上设置的搜索范围中设置多个参考块作为这样的参考块,所述参考块中的每一个具有与目标块相等的大小,所述目标块作为具有覆盖多个像素的预定大小的目标块被设置在目标画面上的预定位置处,其中,所述目标画面和参考画面每个是作为由图像拾取装置执行的图像拾取操作的结果而获得的画面,所述目标画面是领先于或落后于所述参考画面的画面,并且所述搜索范围被设置为其中心与所述目标块在所述参考画面上的目标块投影图像块的中心重合;
搜索特定参考块,所述特定参考块具有在所述多个参考块和所述目标块之间的相关性中的最强相关性;以及
基于所述特定参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移,检测所述运动矢量,
所述图像处理装置包括:
相关性值计算装置,所述相关性值计算装置被配置为基于位于每个所述参考块上的点处的多个像素的像素值和位于所述目标块上的相应点处的多个像素的像素值,计算相关性值,每个相关性值代表所述参考块中的一个和所述目标块之间的相关性;
表生成装置,所述表生成装置被配置为通过以下操作生成经缩减相关性值表:
将由所述相关性值计算装置针对参考矢量计算得到的相关性值原样存储在被包括在所述经缩减相关性值表中的表元素中,作为与作为以预定缩减因子缩减所述参考矢量的结果而获得的经缩减参考矢量相关联的表元素,所述参考矢量代表在所述参考画面上参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移;或者
通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量计算得到的相关性值,找到多个分量相关性值,所述多个分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将所述分量相关性值中的每一个累积存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素;以及
运动矢量计算装置,所述运动矢量计算装置被配置为基于存储在所述经缩减相关性值表中的所述分量相关性值,找到所述目标画面和所述参考画面之间的运动矢量。
2.根据权利要求1所述的图像处理装置,其中,所述表生成装置还包括:
分量相关性值计算装置,所述分量相关性值计算装置被配置为如果存在位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量,则通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中特定一个相关联,并且将所述分量相关性值中的每一个存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素,所述存储操作是通过将所述分量相关性值添加到所述表元素来进行的;以及
最终分量相关性值计算装置,所述最终分量相关性值计算装置被配置为找到最终分量相关性值,所述最终分量相关性值代表通过将由所述分量相关性值计算装置新计算得到的新分量相关性值累加到作为由所述分量相关性值计算装置先前计算得到的分量相关性值而已经被存储在所述经缩减相关性值表的表元素中的先前分量相关性值上而获得的累积和。
3.根据权利要求1所述的图像处理装置,其中,所述相关性值计算装置针对每个所述参考块计算相关性值,所述计算是通过找到位于所述参考块上的点处的多个像素的像素值和位于所述目标块上的相应点处的多个像素的像素值之间的差的绝对值之和来进行的。
4.一种用于通过执行以下步骤识别运动矢量的图像处理装置:
在参考画面上设置的搜索范围中设置多个参考块作为这样的参考块,所述参考块中的每一个具有与目标块相等的大小,所述目标块作为具有覆盖多个像素的预定大小的目标块被设置在目标画面上的预定位置处,其中,所述目标画面和参考画面每个是作为由图像拾取装置执行的图像拾取操作的结果而获得的画面,所述目标画面是领先于或落后于所述参考画面的画面,并且所述搜索范围被设置为其中心与所述目标块在所述参考画面上的目标块投影图像块的中心重合;
搜索特定参考块,所述特定参考块具有在所述多个参考块和所述目标块之间的相关性中的最强相关性;以及
基于所述特定参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移,检测所述运动矢量,
所述图像处理装置包括:
相关性值计算装置,所述相关性值计算装置被配置为针对位于每个所述参考块上的点处的多个像素中每一个像素的像素值和位于所述目标块上的相应点处的多个像素中每一个像素的像素值,计算相关性值;
表生成装置,所述表生成装置被配置为通过以下操作生成经缩减相关性值表:
将由所述相关性值计算装置针对参考矢量所指向的参考块上的像素的像素值计算得到的相关性值原样存储在被包括在所述经缩减相关性值表中的表元素中,作为与作为以预定缩减因子缩减所述参考矢量的结果而获得的经缩减参考矢量相关联的表元素,所述参考矢量代表在所述参考画面上参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移;或者
通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量所指向的参考块上的像素的像素值计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将所述分量相关性值中的每一个累积存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素;以及
运动矢量计算装置,所述运动矢量计算装置被配置为基于存储在所述经缩减相关性值表中的所述分量相关性值,找到所述目标画面和所述参考画面之间的运动矢量。
5.根据权利要求4所述的图像处理装置,其中,所述表生成装置还具有:
分量相关性值计算装置,所述分量相关性值计算装置被配置为如果存在位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量,则通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量所指向的参考块上的像素的像素值计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将所述分量相关性值中的每一个存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素,所述存储操作是通过将所述分量相关性值添加到所述表元素来进行的;以及
最终分量相关性值计算装置,所述最终分量相关性值计算装置被配置为找到最终分量相关性值,所述最终分量相关性值代表通过将由所述分量相关性值计算装置新计算得到的新分量相关性值累加到作为由所述分量相关性值计算装置先前计算得到的分量相关性值而已经被存储在所述经缩减相关性值表的表元素中的先前分量相关性值上而获得的累积和。
6.根据权利要求4所述的图像处理装置,其中,所述相关性值计算装置针对位于每个所述参考块上的点处的多个像素中每一个像素的像素值和位于所述目标块上的相应点处的多个像素中每一个像素的像素值,计算相关性值,所述计算是通过找到所述参考块上的所述像素的像素值和所述目标块上的所述像素的像素值之间的差的绝对值来进行的。
7.根据权利要求1所述的图像处理装置,其中,所述目标画面和参考画面每个是作为由图像拾取装置执行的图像拾取操作的结果而获得的画面,并且所述目标画面是领先于所述参考画面的画面。
8.根据权利要求4所述的图像处理装置,其中,所述目标画面和参考画面每个是作为由图像拾取装置执行的图像拾取操作的结果而获得的画面,并且所述目标画面是领先于所述参考画面的画面。
9.根据权利要求1所述的图像处理装置,其中
基于由所述运动矢量计算装置找到的所述运动矢量,所述参考画面上的所述搜索范围被缩窄,并且所述预定缩减因子被缩小;并且
通过使用所述被缩窄的搜索区域和所述被缩小的缩减因子,由所述相关性值计算装置、所述表生成装置和所述运动矢量计算装置所执行的过程被重复。
10.根据权利要求4所述的图像处理装置,其中:
基于由所述运动矢量计算装置找到的运动矢量,所述参考画面上的所述搜索范围被缩窄,并且所述预定缩减因子被缩小;并且
通过使用所述被缩窄的搜索区域和所述被缩小的缩减因子,由所述相关性值计算装置、所述表生成装置和所述运动矢量计算装置所执行的过程被重复。
11.根据权利要求2所述的图像处理装置,其中,所述分量相关性值计算装置基于所述经缩减参考矢量所指向的位置和所述接近的经缩减参考矢量所指向的位置之间的距离,找到所述分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的一个相关联。
12.根据权利要求5所述的图像处理装置,其中,所述分量相关性值计算装置基于所述经缩减参考矢量所指向的位置和所述接近的经缩减参考矢量所指向的位置之间的距离,找到所述分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的一个相关联。
13.根据权利要求1所述的图像处理装置,其中,所述预定缩减是可以彼此独立设置的垂直方向缩减因子和水平方向缩减因子。
14.根据权利要求4所述的图像处理装置,其中,所述预定缩减是可以彼此独立设置的垂直方向缩减因子和水平方向缩减因子。
15.根据权利要求1所述的图像处理装置,其中,所述相关性值与由所述相关性值代表的相关性成反比地减小,并且所述运动矢量计算装置包括:
曲面生成装置,所述曲面生成装置被配置为基于在所述经缩减相关性值表中存储的相关性值中的最小值和作为与用于存储所述最小值的元素位置接近的元素而被存储在所述相关性值表中的接近的相关性值,创建近似高阶曲面;
最小点检测装置,所述最小点检测装置被配置为检测与所述近似高阶曲面的最小值相对应的点;以及
矢量检测装置,所述矢量检测装置被配置为检测代表从与所述目标块相对应的位置到作为与所述最小值相对应的所述检测出的点的被所述最小点检测装置检测出的点的位置偏移的矢量,并从所述检测出的矢量计算运动矢量。
16.根据权利要求4所述的图像处理装置,其中,所述相关性值与由所述相关性值代表的相关性成反比地减小,并且所述运动矢量计算装置包括:
曲面生成装置,所述曲面生成装置被配置为基于在所述经缩减相关性值表中存储的相关性值中的最小值和作为与用于存储所述最小值的元素位置接近的元素而被存储在所述相关性值表中的接近的相关性值,创建近似高阶曲面;
最小点检测装置,所述最小点检测装置被配置为检测与所述近似高阶曲面的最小值相对应的点;以及
矢量检测装置,所述矢量检测装置被配置为检测代表从与所述目标块相对应的位置到作为与所述最小值相对应的所述检测出的点的被所述最小点检测装置检测出的点的位置偏移的矢量,并从所述检测出的矢量计算运动矢量。
17.根据权利要求15所述的图像处理装置,其中,所述近似高阶曲面是由所述曲面生成装置,基于所述最小值和所述接近的相关性值,通过采用最小二乘法而创建的二次曲面。
18.根据权利要求16所述的图像处理装置,其中,所述近似高阶曲面是由所述曲面生成装置,基于所述最小值和所述接近的相关性值,通过采用最小二乘法而创建的二次曲面。
19.根据权利要求17所述的图像处理装置,其中,所述接近的相关性值是分别存储在以用于存储所述最小值的元素为中心的8个元素中的8个相关性值。
20.根据权利要求18所述的图像处理装置,其中,所述接近的相关性值是分别存储在以用于存储所述最小值的元素为中心的8个元素中的8个相关性值。
21.根据权利要求19所述的图像处理装置,其中,所述接近的相关性值是分别存储在以用于存储所述最小值的元素为中心的8个元素中的15个相关性值。
22.根据权利要求20所述的图像处理装置,其中,所述接近的相关性值是分别存储在以用于存储所述最小值的元素为中心的8个元素中的15个相关性值。
23.根据权利要求1所述图像处理装置,其中,所述相关性值与由所述相关性值代表的相关性成反比地减小,并且所述运动矢量计算装置包括:
水平方向曲线生成装置,所述水平方向曲线生成装置被配置为基于在所述经缩减相关性值表中存储的相关性值中的最小值和作为在水平方向上包括的与用于存储所述最小值的元素接近的元素而被存储在所述相关性值表中的水平方向接近的相关性值,创建水平方向近似高阶曲线;
水平方向最小点检测装置,所述水平方向最小点检测装置被配置为检测与所述水平方向近似高阶曲线的水平方向最小值相对应的点;
垂直方向曲线生成装置,所述垂直方向曲线生成装置被配置为基于在所述经缩减相关性值表中存储的相关性值中的最小值和作为在垂直方向上包括的与用于存储所述最小值的元素接近的元素而被存储在所述相关性值表中的水平方向接近的相关性值,创建垂直方向近似高阶曲线;
垂直方向最小点检测装置,所述垂直方向最小点检测装置被配置为检测与所述垂直方向近似高阶曲线的垂直方向最小值相对应的点;以及
运动矢量检测装置,所述运动矢量检测装置被配置为检测代表从与所述目标块相对应的位置到与双方向最小值相对应的点的位置偏移的矢量,并从所述检测出的矢量计算运动矢量,所述双方向最小值被认为是基于作为与所述水平方向最小值相对应的点而被所述水平方向最小点检测装置检测出的点和作为与所述垂直方向最小值相对应的点而被所述垂直方向最小点检测装置检测出的点的水平和垂直方向最小值。
24.根据权利要求4所述图像处理装置,其中,所述相关性值与由所述相关性值代表的相关性成反比地减小,并且所述运动矢量计算装置包括:
水平方向曲线生成装置,所述水平方向曲线生成装置被配置为基于在所述经缩减相关性值表中存储的相关性值中的最小值和作为在水平方向上包括的与用于存储所述最小值的元素接近的元素而被存储在所述相关性值表中的水平方向接近的相关性值,创建水平方向近似高阶曲线;
水平方向最小点检测装置,所述水平方向最小点检测装置被配置为检测与所述水平方向近似高阶曲线的水平方向最小值相对应的点;
垂直方向曲线生成装置,所述垂直方向曲线生成装置被配置为基于在所述经缩减相关性值表中存储的相关性值中的最小值和作为在垂直方向上包括的与用于存储所述最小值的元素接近的元素而被存储在所述相关性值表中的水平方向接近的相关性值,创建垂直方向近似高阶曲线;
垂直方向最小点检测装置,所述垂直方向最小点检测装置被配置为检测与所述垂直方向近似高阶曲线的垂直方向最小值相对应的点;以及
运动矢量检测装置,所述运动矢量检测装置被配置为检测代表从与所述目标块相对应的位置到与双方向最小值相对应的点的位置偏移的矢量,并从所述检测出的矢量计算运动矢量,所述双方向最小值被认为是基于作为与所述水平方向最小值相对应的点而被所述水平方向最小点检测装置检测出的点和作为与所述垂直方向最小值相对应的点而被所述垂直方向最小点检测装置检测出的点的水平和垂直方向最小值。
25.根据权利要求23所述的图像处理装置,其中,所述水平方向近似高阶曲线是由所述水平方向曲线生成装置基于所述最小值和3个所述水平方向接近的相关性值而创建的三次曲线,而所述垂直方向近似高阶曲线是所述垂直方向曲线生成装置基于所述最小值和3个所述垂直方向接近的相关性值而创建的三次曲线。
26.根据权利要求24所述的图像处理装置,其中,所述水平方向近似高阶曲线是由所述水平方向曲线生成装置基于所述最小值和3个所述水平方向接近的相关性值而创建的三次曲线,而所述垂直方向近似高阶曲线是所述垂直方向曲线生成装置基于所述最小值和3个所述垂直方向接近的相关性值而创建的三次曲线。
27.一种用于通过执行以下步骤识别运动矢量的图像处理方法:
在参考画面上设置的搜索范围中设置多个参考块作为这样的参考块,所述参考块中的每一个具有与目标块相等的大小,所述目标块作为具有覆盖多个像素的预定大小的目标块被设置在目标画面上的预定位置处,其中,所述目标画面和参考画面每个是作为由图像拾取装置执行的图像拾取操作的结果而获得的画面,所述目标画面是领先于或落后于所述参考画面的画面,并且所述搜索范围被设置为其中心与所述目标块在所述参考画面上的目标块投影图像块的中心重合;
搜索特定参考块,所述特定参考块具有在所述多个参考块和所述目标块之间的相关性中的最强相关性;以及
基于所述特定参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移,检测所述运动矢量,
所述图像处理方法还包括以下步骤:
基于位于每个所述参考块上的点处的多个像素的像素值和位于所述目标块上的相应点处的多个像素的像素值,计算相关性值,每个相关性值代表所述参考块中的一个和所述目标块之间的相关性;
通过以下操作生成经缩减相关性值表:
将由所述相关性值计算装置针对参考矢量计算得到的相关性值原样存储在被包括在所述经缩减相关性值表中的表元素中,作为与作为以预定缩减因子缩减所述参考矢量的结果而获得的经缩减参考矢量相关联的表元素,所述参考矢量代表在所述参考画面上参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移;或者
通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量计算得到的相关性值,找到多个分量相关性值,所述多个分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将所述分量相关性值中的每一个累积存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素;以及
基于存储在所述经缩减相关性值表中的所述分量相关性值,找到所述目标画面和所述参考画面之间的运动矢量。
28.根据权利要求27所述的图像处理方法,其中,所述生成经缩减相关性值表的步骤还包括以下步骤:
如果存在位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量,则通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中特定一个相关联,并且将所述分量相关性值中的每一个存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素,所述存储操作是通过将所述分量相关性值添加到所述表元素来进行的;以及
找到最终分量相关性值,所述最终分量相关性值代表通过将由所述分量相关性值计算装置新计算得到的新分量相关性值累加到作为由所述分量相关性值计算装置先前计算得到的分量相关性值而已经被存储在所述经缩减相关性值表的表元素中的先前分量相关性值上而获得的累积和。
29.一种用于通过执行以下步骤识别运动矢量的图像处理方法:
在参考画面上设置的搜索范围中设置多个参考块作为这样的参考块,所述参考块中的每一个具有与目标块相等的大小,所述目标块作为具有覆盖多个像素的预定大小的目标块被设置在目标画面上的预定位置处,其中,所述目标画面和参考画面每个是作为由图像拾取装置执行的图像拾取操作的结果而获得的画面,所述目标画面是领先于或落后于所述参考画面的画面,并且所述搜索范围被设置为其中心与所述目标块在所述参考画面上的目标块投影图像块的中心重合;
搜索特定参考块,所述特定参考块具有在所述多个参考块和所述目标块之间的相关性中的最强相关性;以及
基于所述特定参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移,检测所述运动矢量,
所述图像处理方法还包括以下步骤:
针对位于每个所述参考块上的点处的多个像素中每一个像素的像素值和位于所述目标块上的相应点处的多个像素中每一个像素的像素值,计算相关性值;
通过以下操作生成经缩减相关性值表:
将由所述相关性值计算装置针对参考矢量所指向的参考块上的像素的像素值计算得到的相关性值原样存储在被包括在所述经缩减相关性值表中的表元素中,作为与作为以预定缩减因子缩减所述参考矢量的结果而获得的经缩减参考矢量相关联的表元素,所述参考矢量代表在所述参考画面上参考块从与所述目标画面上的所述目标块的所述预定位置相对应的位置的偏移;或者
通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量所指向的参考块上的像素的像素值计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将所述分量相关性值中的每一个累积存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素;以及
基于存储在所述经缩减相关性值表中的所述分量相关性值,找到所述目标画面和所述参考画面之间的运动矢量。
30.根据权利要求29所述的图像处理方法,其中,所述生成经缩减相关性值表的步骤还包括以下步骤:
如果存在位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量,则通过划分由所述相关性值计算装置针对被缩减以产生所述经缩减参考矢量的所述参考矢量所指向的参考块上的像素的像素值计算得到的相关性值,找到多个分量相关性值,所述分量相关性值中的每一个与位置接近所述经缩减参考矢量的多个接近的经缩减参考矢量中的特定一个相关联,并且将所述分量相关性值中的每一个存储在被包括在所述经缩减相关性值表中的表元素中,作为与所述特定的接近的经缩减参考矢量相关联的表元素,所述存储操作是通过将所述分量相关性值添加到所述表元素来进行的;以及
找到最终分量相关性值,所述最终分量相关性值代表通过将由所述分量相关性值计算装置新计算得到的新分量相关性值累加到作为由所述分量相关性值计算装置先前计算得到的分量相关性值而已经被存储在所述经缩减相关性值表的表元素中的先前分量相关性值上而获得的累积和。
31.根据权利要求27所述的图像处理方法,其中:
基于在所述运动矢量计算步骤中找到的运动矢量,所述参考画面上的所述搜索范围被缩窄,并且所述预定缩减因子被缩小;并且
通过使用所述被缩窄的搜索区域和所述被缩小的缩减因子,所述相关性值计算、所述表生成和所述运动矢量计算的步骤被重复。
32.根据权利要求29所述的图像处理方法,其中:
基于在所述运动矢量计算步骤中找到的运动矢量,所述参考画面上的所述搜索范围被缩窄,并且所述预定缩减因子被缩小;并且
通过使用所述被缩窄的搜索区域和所述被缩小的缩减因子,所述相关性值计算、所述表生成和所述运动矢量计算的步骤被重复。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005347437 | 2005-12-01 | ||
JP2005347437 | 2005-12-01 | ||
JP2006195047 | 2006-07-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1976399A CN1976399A (zh) | 2007-06-06 |
CN100559843C true CN100559843C (zh) | 2009-11-11 |
Family
ID=38126169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101609440A Expired - Fee Related CN100559843C (zh) | 2005-12-01 | 2006-12-01 | 图像处理装置和图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100559843C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4882956B2 (ja) * | 2007-10-22 | 2012-02-22 | ソニー株式会社 | 画像処理装置および画像処理方法 |
JP4813517B2 (ja) * | 2008-05-29 | 2011-11-09 | オリンパス株式会社 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
CN102685371B (zh) * | 2012-05-22 | 2015-04-08 | 大连理工大学 | 基于多分辨率块匹配和pi控制的数字视频稳像方法 |
JP5798696B2 (ja) * | 2012-11-30 | 2015-10-21 | 富士フイルム株式会社 | 画像処理装置、方法、記録媒体及びプログラム並びに撮像装置 |
-
2006
- 2006-12-01 CN CNB2006101609440A patent/CN100559843C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1976399A (zh) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1793346B1 (en) | Image processing apparatus and image processing method | |
CN100556082C (zh) | 拍摄图像的失真校正方法和装置、拍摄方法和拍摄装置 | |
CN101123684B (zh) | 拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置 | |
JP4178480B2 (ja) | 画像処理装置、画像処理方法、撮像装置および撮像方法 | |
JP4178481B2 (ja) | 画像処理装置、画像処理方法、撮像装置および撮像方法 | |
US7692688B2 (en) | Method for correcting distortion of captured image, device for correcting distortion of captured image, and imaging device | |
CN101790031B (zh) | 图像处理装置、图像处理方法和成像装置 | |
JP2009071689A (ja) | 画像処理装置、画像処理方法および撮像装置 | |
CN100559843C (zh) | 图像处理装置和图像处理方法 | |
JP2009105533A (ja) | 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法 | |
JP4904925B2 (ja) | 画像処理装置および画像処理方法 | |
JP4670630B2 (ja) | 画像処理装置、画像処理方法、撮像装置および撮像方法 | |
JP2007323458A (ja) | 画像処理装置および画像処理方法 | |
WO2010141533A1 (en) | Generating images with different fields of view | |
JP2009116763A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091111 Termination date: 20211201 |
|
CF01 | Termination of patent right due to non-payment of annual fee |