CN101123684B - 拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置 - Google Patents
拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置 Download PDFInfo
- Publication number
- CN101123684B CN101123684B CN200710128843XA CN200710128843A CN101123684B CN 101123684 B CN101123684 B CN 101123684B CN 200710128843X A CN200710128843X A CN 200710128843XA CN 200710128843 A CN200710128843 A CN 200710128843A CN 101123684 B CN101123684 B CN 101123684B
- Authority
- CN
- China
- Prior art keywords
- image
- vector
- picture
- mobile
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 302
- 239000013598 vector Substances 0.000 claims abstract description 822
- 230000008859 change Effects 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 634
- 238000006073 displacement reaction Methods 0.000 claims description 221
- 238000001514 detection method Methods 0.000 claims description 90
- 230000008602 contraction Effects 0.000 claims description 30
- 230000010354 integration Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000000750 progressive effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 108
- 230000015654 memory Effects 0.000 description 92
- 230000014509 gene expression Effects 0.000 description 54
- 238000003860 storage Methods 0.000 description 47
- 238000005516 engineering process Methods 0.000 description 37
- 238000006243 chemical reaction Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 24
- 238000005070 sampling Methods 0.000 description 22
- 238000002203 pretreatment Methods 0.000 description 19
- 238000007796 conventional method Methods 0.000 description 17
- 230000003321 amplification Effects 0.000 description 14
- 238000009826 distribution Methods 0.000 description 14
- 238000003199 nucleic acid amplification method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000009825 accumulation Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 12
- 238000003672 processing method Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000001235 sensitizing effect Effects 0.000 description 9
- 238000000926 separation method Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 6
- 238000005286 illumination Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 244000287680 Garcinia dulcis Species 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 210000000056 organ Anatomy 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 229910044991 metal oxide Inorganic materials 0.000 description 3
- 150000004706 metal oxides Chemical class 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- TVEXGJYMHHTVKP-UHFFFAOYSA-N 6-oxabicyclo[3.2.1]oct-3-en-7-one Chemical compound C1C2C(=O)OC1C=CC2 TVEXGJYMHHTVKP-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009931 harmful effect Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000002932 luster Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/684—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/689—Motion occurring during a rolling shutter mode
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了拍摄图像信号失真补偿方法和装置以及图像拍摄方法和装置。所述拍摄图像信号失真补偿方法包括如下步骤:将图像的一屏区域划分成多个图片划分(division);并根据与两个屏中的一个上的具体图片划分和所述两个屏中的另一个上的具体图片划分之间的图像差有关的信息对于每个具体的图片划分检测图像的移动矢量。该方法还包括如下步骤:找出任何特定图片划分与临近该图片划分的图片划分之间的所检测的移动矢量之差,以便对于所述特定图片划分检测图像失真的变化速度;以及根据作为图像失真的变化速度的所检测出的每个图片划分的速度,针对每个图片划分,补偿图像的失真。
Description
相关申请的交叉参考
本发明包含于2006年2月1日向日本专利特许厅提交的日本专利申请JP2006-024065所涉及的主题,这里通过引用并入其所有内容。
技术领域
本发明涉及一种用于对成像器所成(imager-created)图像补偿该成像器所成图像中产生的失真的方法,所述失真诸如在使用拍摄(image taking)装置为拍摄对象照相的过程中发生手移动而导致的失真,本发明还涉及补偿成像器所成图像中的这种失真的装置。更具体地,本发明适用于采用诸如CMOS(互补金属氧化物半导体)固态图像拾取器件的X-Y寻址固态图像拾取器件的拍摄装置以及具有拍摄功能的记录/再现装置。采用X-Y寻址固态图像拾取器件的拍摄装置的例子是摄像机和数字静态照相机,它们每一个都采用X-Y寻址固态图像拾取器件。在以下描述中,CMOS固态图像拾取器件也称为CMOS成像器。
背景技术
在将拍摄对象的电子成像器所成图像存储在电子拍摄装置所采用的图像拾取器件中并且以后从图像拾取器件读取图像的电子拍摄装置的情形中,由于某些原因,诸如拍摄者的所谓手移动以及在类似船舶上这种不平稳的地方进行拍摄操作的情形,在进行拍摄操作的同时,图像拾取器件可能物理地移动,导致在拍摄对象的水平和/或垂直方向上以相当高的速度改变位置,因而在成像器所成图像中产生失真。
然而,在电子拍摄装置中,可以进行称为失真补偿处理的数字处理,以便对从图像拾取器件读取的成像器所成图像补偿尤其是由于拍摄者的所谓手移动造成的失真。
通常,在诸如传统摄像机或传统数字静态照相机这种传统拍摄装置以及具有拍摄功能的记录/再现装置中采用的图像拾取器件大部分都是采用CCD(电荷耦合器件)的固态拍摄元件。具有拍摄功能的记录/再现装置的例子是具有内置照相机的手机和包含内置照相机的个人电脑。在以下描述中,采用CCD的固态拍摄元件也称为CCD成像器。
以前,包括在本专利说明书中作为专利文献1的美国专利第3,384,459号在内的多篇文献公开了许多使用CCD成像器作为图像拾取器件的手移动补偿技术。另外,世界上已经广泛使用采用手移动补偿技术的产品。
传统手移动补偿技术的特征在于,对CCD成像器结构中的所有像素,同时采样所有像素中存储的光通量。也就是说,一帧的光通量被采样一次。在以下描述中,帧又称为屏(screen)。
换言之,CCD成像器在同一时期曝光其所有像素,并且在同一时刻从成像器获取一帧像素数据。因而,需要将图58中所示箭头所代表的仅仅一个手移动位移Vcs考虑作为一帧的所有像素的手移动位移。也就是说,在图58中,由于手移动,应当自然地存储在实线矩形表示的区域Fla中的拍摄对象移动到由虚线矩形表示的区域FLb。在这种情况下,检测到拍摄对象的成像器所成图像的帧的手移动位移Vcs,通过将读取像素位置(或采样像素位置)校正手移动位移Vcs,可以对成像器所成图像补偿由于手移动引起的失真。
需要注意的是,在很多情况下,通常并不是将图像拾取器件的所有像素都作为有效像素来处理,而是只有部分像素被用作有效像素。在图58所示的例子中,覆盖所有像素的区域AFL的周边区域被排除,只有在剩余区域EFL内的像素才作为有效像素来处理。覆盖所有像素的区域AFL称为可用的图像区域,而不包括周边区域的剩余区域EFL称为有效图像区域。如图所示,有效图像区域EFL是包含在可用图像区域AFL内的中间区域,即具有由水平有效尺寸限定的宽度和由垂直有效尺寸限定的高度的区域。
如果采用上述成像器,如果表示手移动的距离的位移Vcs在小于有效图像区域EFL与可用图像区域AFL之差的范围内,则通过利用成像器中原始存储的像素数据,可以在手移动处理中针对由于读取像素位置改变引起的失真而对成像器中存储的图像进行补偿。因而,与诸如产生用于补偿由于手移动造成的图像失真的数据的内插处理等处理相比,图片劣化处理的量较小。
顺便说说,近年来,关于图像拾取器件,电子拍摄装置采用X-Y寻址固态图像拾取器件,其通过指定像素的水平方向位置(或X方向位置)和垂直方向位置(或Y方向位置),能使拍摄装置读取图像拾取器件上的任何像素的数据,即从成像器读取像素单元中的数据。X-Y寻址固态图像拾取器件的例子是CMOS固态图像拾取器件,以下称为CMOS成像器。
CMOS成像器具有以下特征:
(a):CMOS成像器是放大型成像器,允许从成像器读取放大信号以便提供高灵敏度。
(b):由于CMOS成像器采用CMOS电路,因而能耗低。
(c):CMOS成像器能以低成本制造。
(d):原理上,CMOS成像器允许其数据以像素为单位随机存取(或读取)。
尽管CMOS成像器如上所述允许其拍摄图像数据以像素为单位随机存取(或读取),但是在实际应用中,数据通常以每一个对应于水平线的像素组为单元从CMOS成像器读取(采样)和输出。
如果如上所述数据以每一个对应于水平线的像素组为单元从CMOS成像器读取(采样)和输出,如图59所示,水平线的曝光周期从紧前面的水平线的曝光周期位移读取时间差Δt,这是读取水平线单元的数据所需要的时间。应当注意,如果以像素为单位从CMOS成像器读取(采样)和输出拍摄数据,另一方面,像素的曝光周期从紧前面的像素的曝光周期位移像素间读取时间差,这远小于线间读取时间差Δt,因而可忽略像素间读取时间差。不过,即使以像素为单位从CMOS成像器读取(采样)和输出拍摄数据,也存在像素间读取时间差。
因而,当用采用CMOS成像器的拍摄装置在例如行驶的火车内的位置拍摄景物的图片时,原本像图60A中所示的那样的画面会得到像图60B中所示的图片。在作为拍照操作的结果而实际得到的如图60B所示的图片中,诸如房子和树这些原本在垂直方向上向上直立的东西是倾斜的。拍摄对象的这些倾斜图像每一个都是所谓焦平面现象的结果,这是CMOS成像器固有的现象。
图60B所示的典型图片是拍摄者在水平方向上移动时进行拍摄操作所得到的结果。另一方面,如果在拍摄者在垂直方向上移动时进行拍摄操作,则在作为拍摄操作的结果而得到的图片中,拍摄对象的图像在垂直方向上缩短或伸长。然而,应当注意,作为这种拍摄操作的结果而得到的图片并未在图60A至60C中示出。
当拿着采用CMOS成像器的拍摄装置的拍摄者在进行拍摄操作的同时以高速移动时,或者另一方面,当拍摄者稳定地站在固定位置上拍摄高速移动着的拍摄对象时,会产生焦平面现象。拍摄者与拍摄对象之间的移动速度差越大,焦平面现象就越明显。然而,可以说,在通常的拍摄操作中,存在拍摄者与拍摄对象之间的移动速度差的情况很少见。
然而,如果拍摄者用手拿着拍摄装置进行拍摄而拍摄者的手以高抖动速度抖动了一点,即,如果手移动,就会产生上述焦平面现象。
这是因为,与CCD成像器的情形不同,CMOS成像器的手移动不是由一个帧中的单个数值表示的,而是因为如上所述的采样时间因像素而异或因水平线而异的事实而由因像素而异或者因帧中的水平线而异的数值表示。在以下描述中,CMOS成像器的手移动称为CMOS手移动。因而,使用采用CMOS成像器的拍摄装置拍摄的图像中由于前述的焦平面现象而产生的失真无法消除,并将无法避免地保留在图像中,即使用手移动距离对各个帧进行补偿处理亦是如此。
图60C示出了用采用CMOS成像器的拍摄装置对拍摄对象进行拍摄操作、经历焦平面现象的发生而获得的典型图片。因为焦平面现象中手移动的方向、大小和速度在图像的一帧中是不均匀的,因而得到图中所示的具有海绵一样的古怪失真的图片。
另外,在用于进行拍摄操作以获得静止图片的装置的情况下,由CMOS手移动造成的焦平面现象的作用可轻易地在相当程度上被抑制,因为从一开始就假设拍摄者只用装置拍摄静物拍摄对象,因而限制了手移动的距离。对由于CMOS手移动造成的焦平面现象作用的轻易抑制也是由于装置采用机械快门这个事实引起的。前述数字静态照相机是进行拍摄操作以获得静止图片的典型装置。
另一方面,假设为用于执行拍摄操作以获得动态图片的装置的拍摄装置的专业应用模式或高性能模式可采用基本上去除由CMOS手移动造成的焦平面现象的方法。根据这种方法,在极短的时间内进行从CMOS成像器读取图像数据的操作,以便减小一帧中的最大采样时间差。最大采样时间差是CMOS成像器上的顶水平线与底水平线之间的采样时间差。前述摄像机是假设执行拍摄操作以获得动态图片的装置的典型拍摄装置。
另外,与成像器所成图像相关的手移动距离的大小与光学变焦镜头的放大率成正比。因而,即使在拍摄装置的动态图片拍摄应用中,CMOS手移动对于没有光学变焦功能或具有小光学变焦放大率的拍摄装置模式来说不是大问题。从刚开始,CMOS手移动的不良影响较小,对于大部分廉价拍摄装置来说不会出现问题,这些装置甚至没有使用加速度传感器的手移动补偿功能,而是具有使用传统CCD成像器的手移动补偿功能。
发明内容
为了解决上述问题,需要为除了静止图片拍摄应用之外主要为了动态图片拍摄应用的、具有内置高放大率的光学变焦功能的拍摄装置提供诸如机械快门的特殊功能或者提供一种高速时钟功能。然而,具有这种构造的拍摄装置的精度极高,产生了高制造成本的问题。
另外,通常采用使用诸如回转仪传感器(或角速度传感器)的机械元件的方法作为检测手移动的传统方法。然而,在拍摄装置中使用的回转仪传感器会带来阻碍减小拍摄装置的尺寸、重量和制造成本的努力的问题。
此外,过去,即使回转仪传感器本身的低精度是通过使用回转仪传感器对图像补偿由于手移动造成的失真的方法的缺点,但是回转仪传感器的低精度不会带来动态图片拍摄中的问题,动态图片拍摄是使用回转仪传感器的拍摄装置的主要应用。然而,近年来,数字静物照相机的快速普及趋势以及作为图像拾取器件中使用的像素数的突然增加趋势而与所述速普及趋势同时观察到的趋势开始带来新的问题。在需要长时间曝光周期的低亮度的拍摄环境中通过使用数字静物照相机拍摄的静止图片也带来了对图片补偿由于手移动造成的失真的强烈要求。然而,这些问题仅通过使用诸如回转仪传感器来解决。结果,还是没有解决前述回转仪传感器的缺点及其它问题。
通过使用公知的回转仪传感器或公知的加速度传感器测量手移动位移矢量、并反馈给高速控制中的机构以防止投影在诸如CCD(电荷耦合器)或CMOS(互补金属氧化物半导体)成像器的图像传感器上的图像受到手移动的影响,对通过使用普通消费者在静止图片拍摄应用的市场上能买到的照相机所拍摄的静止图片补偿由于手移动造成的失真。
作为上述的机构,已经提出一种包括透镜、棱镜和成像器(或者包含成像器的集成模块)的机构。在以下描述中,透镜、棱镜和成像器分别称为透镜变换、棱镜变换和成像器变换。
即使如上所述对图像补偿了由于手移动造成的失真之后,也没有校正回转仪传感器的上述精度误差。另外,由于手移动位移矢量向机构的反馈所造成的延迟或者用于消除反馈延迟的估计误差及机构的控制误差叠加在回转仪传感器的精度误差上。因而根本不可能以像素精度水平对图像补偿由于手移动造成的失真。
尽管通过使用现代的传感器对图像补偿由于手移动造成的失真的方法存在原则上不能追求精度的大问题,但是采用这种方法的拍摄装置在市场上很受欢迎,因为即使不能完全消除失真也会降低失真。
然而,在将来,像素的大小将会减小,而像素数将会越来越多。伴随着像素大小的减小,一定会给像素精度带来对失真补偿的限制,市场意识到必须要给像素精度带来失真补偿以伴随对于增加像素数的像素减小的事实只是时间的问题。
针对上述问题,本发明的发明人已经发现了一种拍摄方法,能够减小特别是由于手移动造成的焦平面现象中成像器所成图像中产生的失真并提供解决上述问题的方案,发明人还发现了一种拍摄装置,用于在通过使用诸如CMOS成像器的X-Y寻址图像拾取器件且不使用前述包括回转仪传感器的机构的元件、以高精确度进行的数字信号处理中以低成本实现所述拍摄方法。
根据本发明的实施例,提供一个实施例,其实现一种对一屏图像的信号补偿在该一屏图像的水平和/或垂直方向上的失真的方法。该方法包括如下步骤:将图像的一屏区域分成多个图片划分;根据与两个屏中的每一个上的具体图片划分之间的图像差有关的信息,对于所述图片划分中每个具体的图片划分检测所述图像的移动矢量。该方法还包括如下步骤:找出任何特定图片划分与临近该图片划分的图片划分之间的所检测的移动矢量之差,以便对于特定图片划分检测图像失真的变化速度;以及根据作为图像失真变化速度的所检测出的所述每个图片划分的速度,针对每个所述图片划分补偿所述图像的失真。
根据本发明的上述实施例,对于通过划分图像的一屏区域得到的多个图片划分中的每一个特定的图片划分,根据图片划分的图像信息而不使用诸如回转仪传感器这种机械元件来检测特定图片划分中的移动矢量。
然后,找出对于任何特定图片划分检测出的移动矢量与对于临近该特定图片划分的每个图片划分检测出的移动矢量之间的差,以便计算特定图片划分的图像失真的变化速度。随后,根据作为每个图片划分的图像失真的变化速度而检测到的速度,对图像补偿诸如由焦平面现象造成的失真等失真。
根据本发明的另一实施例,使用根据本发明上述实施例的方法,将对于每个特定的图片划分的图像失真的变化速度的时间积分值作为在用作图像的失真补偿目标的特定图片划分中产生的失真造成的位移,并且通过使用该关于时间的积分值对图像补偿失真。
根据本发明另一实施例的方法,如上所述,将对于每个特定的图片划分的图像失真的变化速度的时间积分值作为在用作图像的失真补偿目标的特定图片划分中产生的失真造成的位移,并且通过使用该关于时间的积分值对图像补偿失真。因此,可以对图像补偿例如由于焦平面现象而造成的失真,而不会导致较长的处理时间延迟。另外,由于使用关于时间的积分值,即使在一屏图像的两个相邻图片划分之间的边界上,也不产生图像位移,尽管在这种边界上的图像失真中的变化速度有改变。
根据本发明的另一实施例,提供实现一种对一屏图像的信号补偿在参考屏的水平和/或垂直方向上的失真的方法的另一实施例。该方法包括如下步骤:
将图像的一屏区域分成多个图片划分;
根据与用作参考屏的观察屏上的具体图片划分与参考屏前面的原始屏上的具体图片划分之间的图像差相关的信息,对于图片划分中每个具体的图片划分检测图像的移动矢量;
以及根据对于每个图片划分检测的移动矢量,对每个图片划分补偿图像的失真。
对每个具体的图片划分检测图像的移动矢量的步骤包括以下子步骤:
在原始屏上的每个图片划分内的预定位置设定至少一个目标块,该目标块具有与多个像素的大小相等的预定大小;
对于每个目标块,在参考屏内设定的搜索范围中设定多个大小与所述目标块的所述预定大小相同的参考块;
从多个参考块检测与特定目标块具有最强相关性的参考块,以及
通过进行以下步骤检测表示在所述参考屏上从对应于所述特定目标块的位置到所述检测的参考块的位置的位移的大小和方向的所述移动矢量:
对参考块中每个特定参考块的差异绝对值总和计算处理,作为找出特定参考块中的所有像素与位于特定目标块上的相应位置上的所有像素之间的像素值之差的绝对值总和的处理缩小矢量设定处理;
缩小参考矢量设定处理,设定每个都表示在参考屏上从对应于所述特定目标块的位置到一个所述参考块的位置的位移的大小和方向的参考矢量,并以预定的缩小因子缩小所述参考矢量以得到缩小参考矢量;
绝对差总和表创建处理,创建包括表元素的收缩的绝对差总和表,表元素数目根据所述缩小参考矢量的数目及所述缩小因子来确定,并分配各个所述表元素作为用于存储由总和计算得出的数值的位置,所述总和的每一个都是为一个所述参考块找出的并作为所述像素值之差的绝对值的所述总和;以及
移动矢量计算处理,至少使用缩小参考矢量来计算每个所述图片划分的所述移动矢量作为所述参考屏与所述原始屏之间的移动矢量,所述缩小参考矢量对应于存储在所述收缩的绝对差总和表内作为所述像素值之差的绝对值的所述总和的各个值中最小的一个。
通过执行以下处理来进行绝对差总和表创建处理:
邻近参考矢量检测子处理,确定多个邻近参考矢量,每一个都具有与在所述缩小参考矢量设定处理中得到的所述缩小的参考矢中相应一个的矢量大小接近的矢量大小;
总和分量计算子处理,根据参考块的所述差异绝对值总和计算处理中计算出的总和计算多个总和分量作为所述像素值之差的绝对值的所述总和,每个总和分量都与在所述邻近参考矢量检测子处理中确定为对应于一个特定的所述缩小参考矢量的所述邻近参考矢量的一个邻近参考矢量相关,由此缩小所述特定缩小参考矢量;以及
分量总数计算子处理,通过将每个所述总和分量与对于所述特定邻近参考矢量迄今为止所得到的累加总数相累加来计算总和分量的总数,所述总和分量已经在所述总和分量计算子处理中计算出,作为每一个都与一个特定的所述邻近参考矢量相关的所述总和分量。
在根据本发明另一实施例的对图像信号补偿失真的方法中,在作为检测移动矢量的步骤的步骤处,为每个特定的参考块进行差异绝对值总和计算处理,作为找出特定参考块内的所有像素与目标块上的相应位置上的所有像素之间的像素值之差的绝对值总和处理。在以下描述中,将特定参考块内的所有像素与目标块上的相应位置上的所有像素之间的像素值之差的绝对值总和称为特定参考块与目标块之间的SAD(绝对差的总和)值。
根据本发明另一实施例的方法,特定参考块与目标块之间的SAD值不存储在由与特定参考块相关的参考矢量所指向的表元素中。取而代之的是,SAD值与在缩小参考矢量设定处理中收缩参考矢量所得到的缩小参考矢量相关地存储。
在这种情况下,缩小参考矢量不与SAD表的表元素一对一地相关。由于这个原因,首先通过邻近参考矢量检测子处理的执行来进行SAD表创建处理,所述邻近参考矢量检测子处理确定多个邻近参考矢量,每个邻近参考矢量具有接近于与在缩小参考矢量设定处理中得到的一个缩小参考矢量相对应的矢量大小的矢量大小。
然后,进行总和分量计算子处理,以便根据对于由参考矢量所指向的参考块的差异绝对值总各计算处理中计算出的总和计算多个总和分量作为SAD值,每个总和分量都与在邻近参考矢量检测子处理中确定为对应于一个特定的所述缩小参考矢量的所述邻近参考矢量的一个邻近参考矢量相关,由此缩小特定缩小参考矢量。然后,通过将每个所述总和分量与对于所述特定邻近参考矢量迄今为止所得到的累加总数相累加来计算总和分量的总数,所述总和分量已经在所述总和分量计算子处理中计算出,作为每一个都与一个特定的所述邻近参考矢量相关的所述总和分量。
作为上述处理的结果得到的SAD表是由与邻近参考矢量相关的表元素构成的SAD表,每一个所述表元素都具有接近于与缩小参考矢量一一对应的矢量大小的矢量大小。SAD表具有由缩小因子确定的小的大小,参考矢量按该缩小因子缩小成缩小参考矢量。
换言之,通过以与将参考矢量缩小成缩小参考矢量的缩小因子对应的缩小因子减小对于参考帧中的参考块产生的原始SAD表的大小来产生作为上述处理的结果而得到的SAD表。然而,在这种情况下,目标块和每个参考块的大小没有减小,只是所产生的SAD表的大小变小了。
在具有减小的大小的SAD表中搜索最小SAD值,并确定与最小SAD值相关的邻近参考矢量。然后,根据邻近参考矢量识别移动矢量。更详细地说,识别代表邻近参考矢量的缩小参考矢量,并将缩小参考矢量乘以缩小因子的倒数值以得到移动矢量。
另外,按照根据本发明另一实施例的方法,不必缩小图像本身。因而,处理时间不因为缩小图像的处理而增加,也不需要存储处理数据的成像器的更大存储空间。此外,根据原始帧中的所有像素找出SAD值,然后计算为参考矢量找出的SAD值的多个分量,这些分量与位于作为缩小参考矢量的结果所得到的缩小参考矢量的附近的邻近参考矢量相关。通过拆分为参考矢量所计算的SAD值找出为邻近参考矢量的参考矢量所计算的SAD值的分量的处理本身等于适应于缩小因子的适当滤波处理,所述邻近参考矢量位于作为缩小参考矢量的结果所得到的缩小参考矢量的附近。因而,不需要像在缩小图像中所需要的低通滤波器的实现。
根据本发明,可以提供一种拍摄方法,能够减小特别是由于例如手移动造成的焦平面现象中的成像器所成图像中产生的失真并提供解决上述问题的方案,还可以提供一种拍摄装置,用于在通过使用诸如CMOS成像器的X-Y寻址图像拾取器件且不使用前述包括回转仪传感器的机构的元件、以高精确度进行的数字信号处理中以低成本实现所述拍摄方法。
附图说明
图1A至1D每一个都是用于描述本发明提供的图像失真补偿方法的概要的解释说明图;
图2是用于描述本发明提供的图像失真补偿方法的元素的概要的解释说明图;
图3是用于描述采用块匹配技术检测移动矢量的处理的解释说明图;
图4是用于描述采用块匹配技术检测移动矢量的处理的解释说明图;
图5是用于描述采用块匹配技术检测移动矢量的处理的解释说明图;
图6是用于描述根据本发明实施例、检测移动矢量的处理的概要的解释说明图;
图7A和7B每一个都是用于描述根据本发明实施例、检测移动矢量的处理的概要的解释说明图;
图8是用于描述根据本发明实施例、检测移动矢量的处理的概要的解释说明图;
图9A和9B每一个都是用于描述根据本发明实施例的图像处理方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图10是用于描述根据本发明实施例的图像处理方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图11是用于描述根据本发明实施例的、检测移动矢量的处理的概要的解释说明图;
图12是用于描述根据本发明实施例的、检测移动矢量的处理的概要的解释说明图;
图13A和13B每一个都是用于描述根据本发明实施例的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图14是用于描述根据本发明实施例的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图15是用于描述根据本发明实施例的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图16A和16B每一个都是用于描述根据本发明实施例的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图17A、17B、17C和17D每一个都是用于描述根据本发明实施例的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图18是用于描述根据本发明实施例的的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图19是用于描述根据本发明实施例的移动矢量检测方法的第一典型实施例的、检测精确移动矢量的处理的解释说明图;
图20A和20B每一个都是用于描述根据本发明的实施例的移动矢量检测方法的第二典型实施例的、检测精确移动矢量的处理的解释说明图;
图21是用于描述根据本发明实施例的移动矢量检测方法的第二典型实施例的、检测精确移动矢量的处理的解释说明图;
图22是用于描述根据本发明实施例的移动矢量检测方法的第二典型实施例的、检测精确移动矢量的处理的解释说明图;
图23A、23B、23C和23D每一个都是用于描述根据本发明实施例的移动矢量检测方法的第二典型实施例的、检测精确移动矢量的处理的解释说明图;
图24是用于描述根据本发明实施例的移动矢量检测方法的特性的解释说明图;
图25是将根据本发明实施例的移动矢量检测方法的特征与传统方法的特征进行比较的解释说明图;
图26是将根据本发明实施例的移动矢量检测方法的特征与传统方法的特征进行比较的解释说明图;
图27是将根据本发明实施例的移动矢量检测方法的特征与传统方法的特征进行比较的解释说明图;
图28是用于描述根据本发明实施例的检测移动矢量的处理的概要的解释说明图;
图29是用于描述根据本发明实施例的检测移动矢量的处理的概要的解释说明图;
图30是显示根据本发明第一实施例的、采用对图像信号失真进行补偿的方法的拍摄装置的典型结构的框图;
图31是代表根据本发明第一实施例的拍摄装置的第一典型实施例的、检测移动矢量所进行的处理的流程图;
图32是代表根据本发明第一实施例的拍摄装置的第一典型实施例的、检测移动矢量所进行的处理的流程图的续图;
图33是代表根据本发明第一实施例的拍摄装置的第二典型实施例的、检测移动矢量所进行的处理的流程图;
图34是代表根据本发明第一实施例的拍摄装置的第二典型实施例的、检测移动矢量所进行的处理的流程图的续图;
图35是代表根据本发明第一实施例的拍摄装置的第二典型实施例的、检测移动矢量所进行的处理的流程图;
图36是代表根据本发明第一实施例的拍摄装置的第三典型实施例的、检测移动矢量所进行的处理的流程图的续图;
图37是代表根据本发明第一实施例的拍摄装置的第二典型实施例的、检测移动矢量所进行的处理的流程图的另一续图;
图38是代表根据本发明第一实施例的拍摄装置的第二典型实施例的、检测移动矢量所进行的处理的流程图的又一续图;
图39是显示作为根据本发明第一实施例的拍摄装置而在图30中示出的拍摄装置的部分结构的更加详细的典型结构的框图;
图40是显示作为根据本发明第一实施例的拍摄装置而在图30中示出的拍摄装置的部分结构的更加详细的典型结构的框图;
图41表示由作为根据本发明第一实施例的拍摄装置而在图30中示出的拍摄装置的部分结构进行的处理操作的流程图;
图42是用于描述作为采用根据本发明实施例的图像失真补偿方法对图像失真进行补偿的部分处理所进行的内插处理的解释说明图;
图43是用于描述作为采用根据本发明实施例的图像失真补偿方法对图像失真进行补偿的部分处理所进行的内插处理的解释说明图;
图44是用于描述作为采用根据本发明实施例的图像失真补偿方法对图像失真进行补偿的部分处理所进行的内插处理的解释说明图;
图45是示出根据本发明实施例的拍摄装置中采用的水平手移动补偿量积分单元所进行的处理操作的框图;
图46是示出根据本发明实施例的拍摄装置中采用的水平图像处理单元的典型详细结构进行的处理操作的框图;
图47A和47B每个都是示出图45和46中所示的处理操作的时序图的解释说明图;
图48是示出根据本发明实施例的拍摄装置中采用的垂直手移动补偿量积分单元所进行的处理操作的框图;
图49是示出根据本发明实施例的拍摄装置中采用的垂直图像处理单元的典型详细结构进行的处理操作的框图;
图50A和50B每一个都是显示图48和49中所示的处理操作的时序图的解释说明图;
图51是显示作为根据本发明第一实施例的装置在图30中示出的图像失真补偿装置中采用的单元所进行的处理操作中所处理的图像数据流的解释框图;
图52是显示作为根据本发明第一实施例的装置在图30中示出的图像失真补偿装置中采用的信号处理单元的寄存器组采用的寄存器的操作的时序图的解释说明图;
图53是采用根据本发明第二实施例的补偿图像信号失真的方法的拍摄装置的典型结构的框图;
图54是用于描述根据本发明第二实施例的拍摄装置中的检测移动矢量的处理的解释说明图;
图55是用于描述根据本发明第二实施例的拍摄装置中的检测移动矢量的处理的解释说明图;
图56是代表在根据本发明第二实施例的拍摄装置中检测移动矢量所进行的处理的流程图;
图57是代表在根据本发明第二实施例的拍摄装置中检测移动矢量所进行的处理的流程图的续图;
图58是用于描述传统方法对由于手移动造成的图像失真进行补偿的解释说明图;
图59是用于描述作为CMOS成像器中创建的帧中的失真的、由于手移动造成的失真的解释说明图;图60A至60C每一个都是用于描述作为CMOS成像器中创建的帧中的失真的、由于手移动造成的失真的解释说明图;以及
图61A至61D每一个都是用于描述对由于手移动造成的CMOS成像器中创建的图像中的失真进行补偿的方法的解释说明图。
具体实施例
通过参照附图,以下描述解释了每一个由本发明提供作为一个实施例的多个实施例,这些实施例分别对拍摄方法以及使用CMOS成像器作为图像拾取器件来实施该拍摄方法的拍摄装置应用失真补偿方法和采用该失真补偿方法的失真补偿装置,所述失真补偿方法用于补偿代表成像器所成图像的信号的失真。
[对由于CMOS手移动造成的焦平面现象中产生的失真进行补偿的实施例]
日本专利公开第2004-266322号公开了一种对成像器所成图像补偿由于CMOS手移动造成的焦平面现象中产生的失真的技术,本说明书中将其作为专利文献2。
根据专利文献2中公开的失真补偿方法,在从水平线单元中的CMOS成像器中读取成像器所成图像的数据的处理中,对每个水平线检测由手移动造成的位移,并从在与手移动的方向相反的方向上从当前位置移位了检测的位移的位置读取当前位置的拍摄数据,所述位移在下文中也将称为手移动距离。
然而,面对由于包括检测手移动的传感器的采样频率在内的条件造成的难以获得每个水平线的手移动距离的现实,根据专利文献2中公开的失真补偿方法,以一定间隔离散地检测手移动距离,所述每个间隔对应于在如图61A所示的屏幕(或帧)的垂直方向上设定的多个水平线。在如图61A至61D所示的检测手移动距离的典型处理中,以一定间隔离散地检测手移动距离Q1、Q2、Q3等,所述每一个间隔对应于如图61B中所示的50个水平线。然而,应当注意,图中只示出了水平方向上的手移动距离。
不直接检测被受过处理以检测手移动距离的水平线夹在中间的每个间隔内的49个水平线的手移动距离。取而代之的是,依据直接检测到的手移动距离Q1、Q2、Q3等通过内插找到49个水平线的手移动距离中的每一个。如图61C所示,存在一些对于49个水平线找到手移动距离的内插方法。根据图61C所示的内插方法,基本上,依据49个水平线前紧邻的一个水平线的手移动距离Qn以及49个水平线后紧邻的一个水平线的手移动距离Qn+l找到不直接经受检测手移动距离的处理的49个水平线的手移动距离,其中n是至少等于一的整数。
例如,根据内插方法(1),49个水平线前紧邻的一个水平线的手移动距离Qn用作属于49个水平线的前一半水平线的手移动距离。另一方面,49个水平线后紧邻的一个水平线的手移动距离Qn+1用作属于49个水平线的后一半水平线的手移动距离。
另一方面,根据内插方法(2),49个水平线中每一个具体的水平线的手移动距离由位于连接49个水平线前紧邻的一个水平线的手移动距离Qn与49个水平线后紧邻的一个水平线的手移动距离Qn+1的直线上的点代表,该点作为对应于具体的水平线的点。也就是说,内插方法(2)是基于平均值内插的方法。
根据专利文献2中所述的内插方法,可以对成像器所成图像补偿CMOS成像器中产生的由于CMOS手移动造成的焦平面现象中产生的失真。
然而,根据专利文献2中所述的内插方法,首先在预定离散采样位置检测手移动距离Q1、Q2、Q3等,通过依据直接检测到的手移动距离Q1、Q2、Q3等进行内插来推断在除了预定离散采样位置之外的每个点处的手移动距离。
因而,根据专利文献2中所述的内插方法,在内插处理中找到位于对应于水平线n和(n+1)的预定离散采样位置之间的点处的手移动距离,这只有在检测了对应于该点的水平线前的水平线n的手移动距离Qn以及对应于该点的水平线后的水平线(n+1)的手移动距离Qn+1之后才能进行。结果,水平线n之后的水平线的手移动补偿处理延迟一延迟时间,该延迟时间的最大值对应于在水平线n和(n+1)的之间的采样间隔内存在的多个离散水平线。
另外,在内插方法(1)的情况下,有可能由于用内插为水平线找到的手移动距离因为内插值的突然改变而与水平线的真实手移动距离相差很多的事实,而从未从当前位置正确移位的位置读取成像器中的当前位置的拍摄数据。
另外,在内插方法(2)的情况下,从一个采样间隔中的水平线前紧邻的一个水平线的手移动距离Qn到该采样间隔中的水平线后紧邻的一个水平线的的手移动距离Qn+1找到代表手移动距离中的变化的线的斜度,仅通过将斜度乘以特定水平线与前面紧邻的水平线之间存在的水平线的个数就能找到前面紧邻的水平线后特定水平线的手移动距离。因而,需要一个乘法器,并且需要提供独立于乘法器的、存储乘法参数的寄存器。结果,硬件变复杂,电路的尺寸增大。而且,由于乘法误差,在手移动距离的采样点附近的点上,通过内插找到的距离不连续改变。例如,在图61C所示的内插方法(2)的情况下,在手移动距离Q2的采样点附近的点上,用内插找到的距离不连续改变,因而很有可能从由于内插值的突然改变而未正确地从当前位置移位的位置读取成像器中的当前位置的图像数据。
在将如下描述成通过采用诸如CMOS成像器的X-Y寻址图像拾取器件来解决上述问题的拍摄装置的实施例的实施例中,可以对成像器所成图像补偿CMOS成像器中产生的由于CMOS手移动造成的焦平面现象中产生的失真。
首先,参照图1,以下说明解释了在实施根据本发明的补偿图像信号失真的方法的实施例中减少由于焦平面现象造成的成像器所成图像上产生的失真的方法的概要。下面要描述的实施例是对成像器所成图像补偿由于前述CMOS手移动造成的失真的实施例。作为使用CMOS成像器进行拍摄处理的结果得到成像器所成图像,其是前述X-Y寻址固态图像拾取器件的典型代表。应当注意,本发明可应用于作为拍摄处理的结果所得到成像器所成图像是动态或静止图片的情况。
在说明减少失真的方法的概要时参照的图1的解释说明图中,图1A示出不存在由于CMOS手移动造成的失真的原始图像,以便使图像失真容易理解。原始图像被成像为包括大量矩形的格子图案。因而,由于CMOS手移动在成像器所成图像中产生的失真表现为构成格子图案的每个矩形的变形。
应当注意,同样在该实施例中,CMOS成像器用于创建具有有效图像区域EFL的一屏的图像数据,其是包含在有效图像区域AFL中的中间区域,尺寸大于有效图像区域EFL的尺寸,例如图58所示具有由水平有效尺寸限定的宽度和由垂直有效尺寸限定的高度的区域。还应当注意,图1A至1D所示的一屏图像是容纳在图58所示的有效图像区域EFL中的图像。
在该实施例中,假设水平方向上的像素时钟信号扫描像素的速度足够高于手移动的速度,顺序进行从水平线单元中的CMOS成像器读取图像数据的操作。因而,也对每个水平线进行失真补偿处理。
在该实施例中,CMOS成像器的有效图像区域EFL的图块(picture segment)在垂直方向上分成多个图片划分(picture division)Pdiv,如图1B至1D所示。假设每个图片划分Pdiv中的图像数据由于手以一定速度移动而移动相同距离。在这种情况下,划分的个数被确定使得每个图片划分Pdiv的尺寸足够小,以在失真补偿处理中起到足够需要的作用。在以下要描述的实施例中,CMOS成像器的有效图像区域EFL的图块在垂直方向上分成八个图片划分Pdiv_0至Pdiv_7。也就是说,在该实施例中,每个图片划分Pdiv的高度是前述有效图像区域EFL的垂直有效尺寸的1/8。
每个图片划分Pdiv包括多个上述水平线。假设属于相同图片划分Pdiv的每个水平线上的图像数据由于手以一定速度移动(即施加到图片划分Pdiv的图像数据的手移动)而移动相同距离来进行失真补偿处理。
图1B左侧所示的各个箭头表示施加到八个图片划分Pdiv_0至Pdiv_7之一中的第一水平线上的手移动的速度矢量,其与箭头相关。由配置用于检测手移动的速度的矢量的手移动速度检测单元检测手移动速度矢量。也就是说,在该实施例中,在八个离散位置检测一屏的成像器所成图像的手移动速度矢量。
图1B所示的图像具有由图左侧所示的每个箭头表示的手移动造成的拍摄失真,以将手移动速度矢量表示为每一个都施加到图片划分Pdiv的手移动。在该实施例中,通过进行分成水平方向和垂直方向处理的失真补偿处理来处理手移动造成的拍摄失真,以便对成像器所成图像补偿水平和垂直方向上的失真。
如下面将详细描述的,在该实施例中,首先,对失真的水平方向上的分量进行用于失真的失真补偿处理的水平方向处理。然后,对失真的垂直方向分量进行用于失真的失真补偿处理的垂直方向处理。在失真补偿处理中,一旦能对失真的垂直方向分量进行垂直方向失真补偿处理,即使还没有对1屏中整个成像器所成图像的数据完成水平方向失真补偿处理,也开始垂直方向失真补偿处理。以这种方式,能与水平方向失真补偿处理同时进行垂直方向失真补偿处理,以便以高效率进行失真补偿处理。
在该实施例中,首先,为了对成像器所成图像补偿由水平方向上的手移动造成的失真,进行水平方向失真补偿处理,以找到相反符号分量X_STB_0至X_STB_7。对于图片划分Pdiv检测到的手移动速度矢量Vec的相反符号分量X_STB是与手移动速度矢量Vec的水平方向分量的方向相反的方向上的分量。在该实施例的情况下,分别为图片划分Pdiv_0至Pdiv_7检测手移动速度矢量Vec_0至Vec_7,分别为手移动速度矢量Vec_0至Vec_7找出相反符号分量X_STB_0至X_STB_7。
相反符号分量X_STB_0至X_STB_7示出在图1C和2的左侧。在以下的描述中,在与手移动速度矢量Vec的水平方向分量的方向相反的方向上的相反符号分量X_STB称为水平补偿速度分量VecH,其是在上述水平方向失真补偿处理中找到(found)的。
将对应于图片划分Pdiv的第一水平线的时间点作为积分起点,对如上所述对于每个图片划分Pdiv找到的相反符号分量X_STB(或水平补偿速度分量VecH)关于覆盖图片划分Pdiv的所有水平线的时间进行积分,以便对于所有水平线计算用于对图像数据补偿水平方向上的手移动距离的补偿量。更具体地,如上所述分别为图片划分Pdiv_0至Pdiv 7找出的相反符号分量X_STB_0至X_STB_7中的每一个关于时间积分。在图2的右侧,示出积分结果SX_ADD以表示水平方向手移动补偿量,以下将其简称为水平手移动补偿量。
从图2中明显可以看出,在图片划分Pdiv_0至Pdiv_7每一个中,表示对于图片划分中的所有水平线的补偿量的水平补偿位移量SX_ADD以固定斜度变化。另外,由于水平补偿位移量SX_ADD作为积分的结果而得到,水平补偿位移量SX_ADD平滑变化,即使水平补偿位移量SX_ADD在任何两个相邻图片划分Pdiv_n与Pdiv_(n+1)之间的边界点上形成虚曲线,其中n是至少等于0的整数。也就是说,水平补偿位移量SX_ADD没有显示突然改变。
在补偿拍摄数据失真的水平方向失真补偿处理中,作为图片划分中的所有水平线的补偿量的、如上所述计算的水平补偿位移量SX_ADD用于找出正确的水平方向读取起始位置,以从CMOS成像器读取用于每个水平线的图像数据。也就是说,如图1B所示施加到水平线上的、手移动造成的在水平方向上移动的位置作为水平线的正确水平方向读取起始位置。因而,对成像器所成图像补偿在水平方向上的失真,导致图1C中所示的图像。
图1C中所示的图像是对图1B中所示的图像补偿水平方向上的图像失真而得到的。在该图像中,还未补偿垂直方向中的失真。
因而,为了对成像器所成图像补偿由垂直方向上的手移动造成的失真,进行垂直方向失真补偿处理,以找到相反符号分量Y_STB_0至Y_STB_7。为图片划分Pdiv检测到的手移动速度矢量Vec的相反符号分量Y_STB是与手移动速度矢量Vec的垂直方向分量的方向相反的方向上的分量。在该实施例的情况下,分别为图片划分Pdiv_0至Pdiv_7检测手移动速度矢量Vec_0至Vec_7,分别为手移动速度矢量Vec_0至Vec_7找出相反符号分量Y_STB_0至Y_STB_7。相反符号分量Y_STB_0至Y_STB_7示出在图1D的左侧。在以下的描述中,在与手移动速度矢量Vec的垂直方向分量的方向相反的方向上的相反符号分量Y_STB被称为垂直补偿速度分量VecV,其是在上述垂直方向失真补偿处理中找到的。
将对应于图片划分Pdiv的第一水平线的时间点作为积分起点,对如上所述对于每个图片划分Pdiv找到的相反符号分量Y_STB(或垂直补偿速度分量VecH)关于覆盖图片划分Pdiv的所有水平线的时间进行积分,以便对于所有水平线计算用于对图像数据补偿垂直方向上的手移动距离的补偿量。更具体地,如上所述分别为图片划分Pdiv_0至Pdiv_7找出的相反符号分量Y_STB_0至Y_STB_7中的每一个关于时间积分。在图2的右侧,示出积分结果SY_ADD以表示垂直方向手移动补偿量,以下将其简称为垂直手移动补偿量。
在图片划分Pdiv_0至Pdiv_7每一个中,表示对于图片划分中的所有水平线的补偿量的垂直补偿位移量SY_ADD以固定斜度变化。另外,由于垂直补偿位移量SY_ADD作为积分的结果而得到,垂直补偿位移量SY_ADD平滑变化,即使垂直补偿位移量SY_ADD在任何两个相邻图片划分Pdiv_n与Pdiv_(n+1)之间的边界点上形成虚曲线。也就是说,垂直补偿位移量SY_ADD没有显示突然改变。
在补偿拍摄数据失真的垂直方向失真补偿处理中,作为图片划分中的所有水平线的补偿量的、如上所述计算的垂直补偿位移量SY_ADD用于找出正确的垂直方向读取起始位置,以从CMOS成像器读取用于每个水平线的图像数据。也就是说,如图1C所示施加到水平线上的、手移动造成的在垂直方向上移动的位置作为水平线的正确垂直方向读取起始位置。因而,对成像器所成图像补偿在垂直方向上的失真,导致图1D中所示的图像。
通过使用水平和垂直手移动补偿量对CMOS成像器中产生的图像数据进行补偿由于焦平面现象造成的失真的水平和垂直失真补偿处理后得到的状态与前述专利文献2中所述的相同。
然而,根据专利文献2中所公开的失真补偿方法,以每一个都对应于设定在屏幕的垂直方向上的多个水平线的间隔来离散地检测手移动距离。不直接检测被经受检测手移动距离的处理的水平线夹入中间的每个间隔中的水平线的手移动距离。取而代之的是,依据直接检测到的手移动距离通过内插找出每个间隔中的水平线的手移动距离。另一方面,根据该实施例的失真补偿方法与专利文献2中所述的失真补偿方法有很大不同,因为根据按照该实施例的失真补偿方法,以一定间隔离散地检测手移动速度,每一个所述间隔对应于在屏幕的垂直方向上设定的多个水平线,且每一个所述间隔关于覆盖被经受检测手移动速度的处理的水平线夹入中间的每个间隔中的所有水平线的时间积分,以便找出每个水平线的手移动距离(或手移动补偿量)。
如上所述,在该实施例中,在图片划分Pdiv_0至Pdiv_7的每一个中,作为积分的结果获得表示图片划分中的所有水平线的手移动距离(或手移动补偿量)的水平补偿位移SX_ADD,水平补偿位移量SX_ADD平滑变化,即使水平补偿位移量SX_ADD在任何两个相邻图片划分Pdiv_n与Pdiv_(n+1)之间的边界点上形成虚曲线,其中n是至少等于0的整数。也就是说,水平补偿位移量SX_ADD没有显示突然改变。
应当注意,根据该实施例,在从手移动速度矢量中提取水平和垂直分量的处理中,通过反向(inverting)手移动速度矢量的分量的符号找到相反符号分量,并用作补偿速度分量。手移动速度矢量的分量的符号可被反向以在任何时候产生补偿速度分量或者手移动补偿量,只要在对成像器所成图像的数据补偿由于手移动造成的失真之前进行该符号反向处理。
[手移动位移矢量及手移动速度矢量的计算]
该实施例采用用于找到2屏之间的相关性的块匹配技术作为检测成像器所成图像的手移动位移矢量的方法。由于块匹配方法不需要诸如回转仪传感器(或角速度传感器)等机械元件,所以该方法具有拍摄装置尺寸小及制造装置的成本低的优点。
图3和4每一个是描述块匹配方法的概要时要参照的图。另一方面,图5示出了代表基于块匹配方法的典型处理的流程图。
块匹配方法是计算拍摄单元产生的成像器所成图像的参考屏中的每个块(以下也称为参考块)与同一成像器所成图像的原始屏中的预定块(以下称为目标块)之间的相关性的方法,以试图找出参考屏与原始屏之间的相关性,作为表示参考屏与原始屏之间的屏单元位移矢量的相关性。成像器所成图像的参考屏是当前观察的屏。另一方面,成像器所成图像的原始屏是比参考屏领先对应于1屏的时间差的屏。也就是说,原始屏是参考屏前紧邻的一屏。屏中的块是具有预定尺寸的矩形区域。
应当注意,在这种情况下,一屏是由一帧或一场的图像数据构成的图像。然而,在本专利说明书中,一屏定义为由一帧的图像数据构成的图像,以便使解释易于理解。因而,屏也称为帧。也就是说,参考屏及原始屏也分别称为参考帧及原始帧。
例如,参考帧的图像数据是图像数据,其由拍摄单元输出作为当前帧的图像数据或已经在帧存储器中存储了对应于从当前帧出现到呈现一帧的延迟时间的经过。另一方面,原始帧的图像数据是图像数据,其已经由拍摄单元输出,并在帧存储器中存储了对应于从当前帧出现到呈现两个连续帧的延迟时间的经过,作为紧邻在前面的一帧的图像。
如上所述,图3和4每一个是在描述传统块匹配技术的概要时参照的图。图5示出了表示采用传统块匹配技术的典型处理的流程图。
根据传统块匹配技术,如图3所示,在原始帧101(也称为目标帧101)上的任何任意预定位置,设定目标块103。目标块103是具有预定尺寸的矩形区域。目标块103具有排列在水平方向上以形成线的多个像素和排列在垂直方向上的多个这种线。
另一方面,在作为目标块103的位置的参考帧102上的相同位置,目标块投影图像块104将作为目标块103。在图3中,目标块投影图像块104被画成由虚线围成的块。然后,设定搜索范围105,其中心与目标块投影图像块104重合。在图3中,搜索范围105被画成由点线围成的块。另外,假设参考块106是在搜索范围105内要从一个位置移动到另一位置的块,如下所述。
然后,参考块106在参考帧102上的位置在搜索范围105上尽力改变,以在搜索范围105内找一个位置,该位置示出在该位置的参考块106中包含的图像数据与在目标块103中包含的图像数据之间的最强相关性,即,找一个移动参考块106与目标块103之间的相关性变得最强的位置。检测表示参考块106与目标块103之间的最强相关性的位置,作为参考块106的最强相关性位置或者目标块103在参考帧102上的实际位置。检测测得的参考块106的最强相关性位置或目标块103在参考帧102上的实际位置从目标块投影图像块104的位置的位移大小,作为上述手移动位移矢量110,以下也简称为移动矢量110,其包括移动方向。
在处理中,参考块106在参考帧102上的位置在搜索范围105上典型地在垂直和水平方向上一次改变对应于一个像素或多个像素的距离。因而,在搜索范围105内预先设定多个参考块位置的每一个,作为在寻找处理过程中参考块106将要移动到的位置。
在搜索范围105上从一个位置移动到另一个位置的参考块106与目标块103之间的最强相关性基本上依据参考块106在其每个当前位置上的像素及目标块103的相应像素来计算。SAD(绝对差的总和)值是参考块106中的所有像素与目标块103中的所有相应像素之间的亮度值之差的绝对值之和。最强相关性由来自目标块投影图像块104的位置的移动矢量110表示的最强相关性位置的最小SAD代表。
根据块匹配技术,预先设定参考块106将要在搜索范围105上移动到的多个位置,在这些位置中寻找特定的一个,这个位置表示参考块106与目标块103之间的最强相关性,或者具有参考块106与目标块103之间的最小SAD值,并且包括移位方向的参考矢量107用作代表从目标块103在原始帧101上的位置或者目标块投影图像块104在参考帧102上的位置到表示参考块106与目标块103之间的最强相关性的特定位置或者到具有参考块106与目标块103之间的最小SAD值的特定位置的移动的矢量,如图3所示。因而指向参考块106的参考矢量107具有由参考块106在参考帧102上的最强相关性位置决定的值,并且在块匹配技术的情况下,参考块106的最强相关性位置是显示最小SAD值的位置。
根据块匹配技术,对于参考块106要在搜索范围105上移动到的多个位置中的每一个,参考块106与目标块103之间的计算的SAD值基本上与指向参考块106的位置的参考矢量107相关地记录在存储器中。如图4所示。为了使解释简单,在以下说明中,参考块106与目标块103之间的SAD值也称为参考块SAD值。指向参考块106具有最小SAD值的位置的参考矢量107是前述的移动矢量110。因而,通过在存储在存储器中的所有参考块SAD值中寻找最小参考块SAD值,能找到与具有最小SAD值的参考块106相关的移动矢量110。
如上所述,对于参考块106要在搜索范围105上移动到的多个位置的每一个,参考块106与目标块103之间的参考块SAD值与参考矢量107相关地在相关值表108中记录成表元素109,该表108以下也称为SAD表108。参考块SAD值表示参考块106与目标块103之间的相关性。如图4所示,相关值表108的每个元素109是位于对应于该元素的地址的位置处的参考块106的相关值或者该位置的参考块SAD值。在以下描述中,可交换地使用SAD值和相关值以表示相同数量。
应当注意,在上述描述中,目标块103或参考块106的位置分别是目标块103或参考块106的特定部分的位置。特定部分的例子是目标块103或参考块106的中心。同样如上所述,包括移位方向的参考矢量107是表示从目标块103在原始帧101上的位置或者目标块投影图像块104在参考帧102上的位置到表示参考块106与目标块103之间的最强相关性的位置或者到具有参考块106与目标块103之间的最小SAD值的位置的移位量的矢量。在图3和4所示的例子中,目标块103和目标块投影图像块104每一个都位于帧的中心。
指向参考块106并包括移位方向的参考矢量107是代表从目标块103在原始帧101上的位置或者目标块投影图像块104在参考帧102上的位置到表示参考块106与目标块103之间的最强相关性的位置或者到具有参考块106与目标块103之间的最小SAD值的位置的移位量的矢量。因而,如果表示参考块106与目标块103之间的最强相关性的位置或者具有参考块106与目标块103之间的最小SAD值的位置是相同的,那么参考矢量107的值也是相同的。也就是说,如果存储器中的相关值表108的元素的地址是相同的,那么参考矢量107的值也是相同的。
下面参照图5所示的流程图更加详细地解释上述传统块匹配处理。
流程图从步骤S1开始,在该步骤,由图3中的附图标记106指示的参考块Ii被指定在搜索范围105中具有(vx,vy)坐标的位置。在搜索范围105中指定参考块Ii的操作等价于指定对应于参考块Ii的参考矢量107的操作。在图5所示的流程图所表示的典型处理中,(vx,vy)坐标是由指定参考矢量107指向的位置的坐标,(0,0)坐标作为原点位置的坐标。(0,0)坐标是目标块103在原始帧101上的的置的坐标,或者目标块投影图像块104在参考帧102上的位置的坐标。坐标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)表示参考矢量107本身,其中符号vx和vy都是整数。因而,在以下描述中,指向位置(vx,vy)的参考矢量107表示成参考矢量(vx,vy),该位置具有坐标(vx,vy)。
如前所述,搜索范围105的中心位置作为目标块投影图像块104的中心位置或原点位置(0,0)。参考块106在搜索范围105上从一个位置移动到另一个位置,在水平方向上移动了在定义搜索范围105的水平极限的范围±Rx内的距离,且在垂直方向上移动了在定义搜索范围105的垂直极限的范围±Ry内的距离。在这种情况下,量(vx,vy)满足以下关系:
-Rx≤vx≤+Rx并且-Ry≤vy≤+Ry
在下一个步骤S2中,坐标为(x,y)的点(或像素)指定为图3中用附图标记103指示的目标块Io中的点。让我们用符号Io(x,y)指示位于指定点(x,y)的像素值,而用符号Ii(x+vx,y+vy)指示位于在步骤S3中设在块位置(vx,vy)处的参考块Ii中的点(x+vx,y+vy)的像素值。在以下描述中,参考块Ii中的点(x+vx,y+vy)说成是对应于目标块Io中的点(x,y)的点。然后,在下一步骤S3中,像素值Io(x,y)与像素值Ii(x+vx,y+vy)之间的差的绝对值α根据以下公式(1)来计算:
α=|Io(x,y)-Ii(x+vx,y+vy)|(1)
为目标块Io中的所有点(x,y)与它们在参考块Ii中所有的相应点(x+vx,y+vy)计算上述差的绝对值α,代表为目标块Io和参考块Ii计算的差的绝对值α的和的SAD值存储在与指向参考块Ii的当前位置的参考矢量(vx,vy)相关的表元素的地址。也就是说,SAD值存储为作为相关值表108的元素的、与参考块Ii相关的参考值表元素。为了计算这种SAD值,在下一个步骤S4,在步骤S3找出的差的绝对值α累加到临时SAD值,该临时SAD值已经作为与由作为迄今为止所计算的SAD值的参考矢量(vx,vy)所指向的参考块Ii相关的参考值表元素109而被存储。作为将所有差的绝对值α累加的处理的结果而得到最终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,在该步骤坐标为(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产生的确定结果表明还没有对搜索范围105中的所有参考块位置,即,对所有参考矢量(vx,vy)进行步骤S2至S5的处理,传统块匹配处理的流程返回到步骤S1,在该步骤由另一参考矢量(vx,vy)指向的另一参考块Ii被设定在搜索范围105中的另一块位置(vx,vy)处。然后,重复步骤S 1及后续步骤的处理。
另一方面,如果在步骤S6产生的确定结果表明已经对搜索范围105中的所有参考块位置,或对所有参考矢量(vx,vy)进行了步骤S2至S5的处理,也就是说,相关值表108的所有元素已经被充填了最终SAD值(vx,vy),则传统块匹配处理的流程继续到下一步骤S7,在该步骤,检测相关值表108的所有元素中存储的所有最终SAD值(vx,vy)中的最小的一个值作为最小值。然后,在下一个步骤S8,将指向作为用于存储最小最终SAD值(vx,vy)的元素的、相关值表108中包含的元素的地址的参考矢量(vx,vy)识别为前述的移动矢量110。让我们用符号SAD(mx,my)指示最小最终SAD值(vx,vy),而用符号矢量(mx,my)指示指向元素109的地址的参考矢量(vx,vy)或者指示移动矢量110,所述元素109包括在相关值表108中,作为用于存储SAD值(vx,vy)的元素。
如上所述,执行对目标块103的传统块匹配处理,以便为目标块103确定矢量(mx,my)。
根据如上所述使用块匹配技术检测手移动位移矢量(以下也称为移动矢量)的不用传感器的方法,原则上,能以像素精度水平检测手移动位移矢量。另外,由于该方法不需要诸如传感器和透镜变换的机械元件,所以从降低成本的角度来看该方法非常好。
然而,在依靠传统块匹配技术的技术范围内,构成前述相关值表108(或SAD表108)的元素的个数与一屏上的像素数成比例地增加。因而很难实施一种处理,即通过使用具有现实规模的电路对显示在具有大于5,000,000像素的大小的现代显示屏上的静止图片检测移动矢量。
过去,制造商对拍摄装置做了很多努力,却在尝试消除用于检测显示在大小不超过170,000像素的显示屏上的NTSC(全国电视系统委员会)动态图片的手移动位移矢量的电路时遭受痛苦的失败,在这种背景下,在检测以60fps(帧每秒)的速率产生的NTSC动态图片的手移动位移矢量的处理中可以使用窄手移动搜索范围。然而,在静止图片的情况下,采用3fps的速率作为先决条件,使得变得极大的手移动搜索范围作为一个原因,这使存在的问题更加难以解决。这是因为构成相关值表108的元素的个数与一屏上的像素数以及手移动搜索范围的大小成比例地增加。
在某些文献中,特别是在作为专利文献3的日本专利公开待审第Hei7-283999号中已经公开了实施静止图片的无传感器手移动补偿技术的方法。根据专利文献3公开的技术,公开了一种算法,由此在没有发生手移动的短曝光时间内拍摄一些连续的静止图片,找到静态图片之间的手移动位移矢量。在曝光时间内连续拍摄的多个静止图片在根据它们的手移动位移矢量平行移动的同时彼此重叠(或在曝光时间内连续拍摄的静止图片平均化),以便产生最终的高质量静止图像,没有由于手移动造成的失真,也没有低照明噪声。
作为专利文献4的日本专利公开待审第2005-38396号提出了一种可以实现的实用技术。专利文献4公开的技术包括配置用于找出作为转换处理的结果而得到的图片尺寸的移动矢量、以缩小原始图片的单元,以及配置用于允许普通SAD表被多个块共享的单元。缩小原始图片并允许普通SAD表被多个块共享的技术是减小相关值表108的大小的非常好的方法,并且还用于诸如MPEG(动态图像专家组)图片压缩系统中的移动矢量的检测以及场景变化的检测等其它领域。
然而,在专利文献4中公开的算法存在一个问题,即,它需要时间来进行缩小原始图片的转换处理以及访问在处理中用作大尺寸存储器的存储器。存储器的例子是DRAM(动态RAM(随机存取存储器))。访问存储器的时间变得很长,因为所述算法以分时为基础使用配置用来访问相关值表108(或者SAD表108)的单元,所述相关值表108被多个块共享。访问存储器需要的很长时间也不可避免地增加了依据算法进行处理的时间。由于对拍摄装置补偿因手移动造成的失真的处理必须以实时方式进行,以便缩短系统延迟时间,所以用来依据算法进行处理的长时间显著地带来了问题。
另外,为了进行缩小原始图片的转换处理,必需在转换处理之前使用用于去除混淆现象和低照明噪声的低通滤波器进行预处理。由于低通滤波器的特征根据转换处理的缩小因子而改变,并且,特别是在垂直方向低通滤波器的情况下,使用多抽头(multi-tap)的数字滤波器,然而,需要许多行存储器和处理逻辑电路,这带来了电路尺寸增大的问题。
另一方面,诸如作为专利文献5的日本专利公开待审第Hei 6-86149号以及作为专利文献6的日本专利公开待审第2004-343483号等文献中也已经提出了每一个都使用非块匹配技术的多个算法。所提出的算法的每一个使用配置用于检测多个点的单元,这些点的每一个由于某些原因而被认为是两个连续帧图像上的特征点,并依据所检测到的特征点使两个连续帧图像彼此关联以便找出球形矢量,其是每个帧图像整个表面的手移动位移矢量。或者,只检测两个连续帧图像中的一个的特征点,并且只对每个都围绕着一个被检测特征点的区域进行关于另一帧图像的块匹配处理。
专利文献5和6中公开的算法每一个都减小了处理电路的尺寸,每个都很有效,所以是理想的。然而,算法的有效性非常依赖于有多少实际上作为两个帧图像的整个表面的特征以及两个连续帧图像共同的特征的所识别的特征点能以高效率被减少。只要世界上所有的东西都作为用户拍摄装置的拍摄对象,在健壮方面,块匹配技术被认为比专利文献5和6中公开的算法稍好一些。
如前所述,在诸如数码相机这种拍摄装置中,越来越努力地增大成像器的像素密度,因为预想到未来会要求更好的性能。在这种条件下,实施通过采用不使用无回转仪(或角速度)传感器的无传感器技术来对拍摄装置补偿由于在拍摄静止图片的操作中产生的手移动造成的失真的处理是很有意义的。
为了实施这种处理,如前所述,有前途的方法是通过采用块匹配技术以无传感器方式识别手移动位移矢量,并使用所识别的矢量对对拍摄装置补偿由于手移动造成的失真。然而,在当前状态下,采用块匹配技术的解决办法存在一个问题,即,没有一种建议能满足小处理电路尺寸、高处理速度和优良的健壮性这些所有要求。
块匹配技术的最大问题是由相关值表大小的增大造成的。如前面已经描述过的,目前作为前提,数码相机中产生的图像需要具有至少5,000,000像素的大小,相关值表的大小不可避免地与构成图像的像素的数目成比例地增加,除此之外,在静止图片的情形中采用大约3fps的速率。因而,对于静止图片,需要尺寸为以60fps速率产生的动态图片的手移动搜索范围的尺寸的大约10倍的手移动搜索范围。手移动搜索范围的增大尺寸等价于相关值表的增大,相关值表的增大被认为是由块匹配技术带来的最大问题。
由大量用户给出的评估结果明显表明,假定帧的整个区域是100,在3fps的速率的静止图片的情况下,手移动搜索区域的尺寸是大约±10%。在高性能拍摄装置的情况下,已经假定构成图像的像素数是12,000,000,并且使用目前提出的这种技术,所需要的SAD表的大小估计大约是80兆位。另外,如果试图满足现实处理速度,需要SRAM(静态RAM(随机存取存储器))作为用于存储包含在相关值表内的信息的存储器。尽管半导体处理标准说成是进行处理,但是这个大约80兆位的大小与现实水平相差很远,比现实值大大约三个位数(digit)。
针对上述问题,本发明的发明人已经提出了一种图像处理方法,允许在通过采用块匹配技术识别两个连续帧之间的移动矢量的处理中使用的SAD表的大小充分地减小,并提出了一种采用该图像处理方法的图像处理装置。
另外,在块匹配领域中提出的传统方法中,对于作为通过进行图像转换处理以缩小图像来减小相关值表的大小的技术的、在专利文献4中公开的技术,发明人指出以下两个问题。一个问题是增加的处理时间及增大的存储器尺寸,这是由缩小图像的图像转换处理造成的。另一个问题是由实现适当的低通滤波器以避免执行缩小图像的图像转换处理时的混淆现象而造成的处理电路尺寸增大。因而希望下述实施例解决这些问题。
[实施例采用的新块匹配技术的概要]
同样在该实施例中,采用上述块匹配技术来检测两个连续帧之间的移动矢量。然而,在该实施例的情况下,在目标块与参考块之间找出的每个SAD值分别存储成相关值表TBLo中的表元素tb1,而不将SAD值与指向已经为其找出了SAD值的参考块的参考矢量RV相关。取而代之,如图6所示,为原始SAD表TBLo原始提供的每个参考矢量RV缩小成用于大小远远小于原始SAD表TBLo的收缩(shrunk)SAD表TBLs的缩小参考矢量。然后,原始存储在作为由与SAD值关联的参考矢量RV所指向的表元素的、原始SAD表TBLo中包含的表元素中的SAD值现在被分成分量SAD值,然后再存储在作为与缩小参考矢量CV关联的表元素的收缩SAD表TBLs中包含的多个表元素中。如图所示,与缩小参考矢量CV关联的表元素位于由缩小参考矢量CV所指向的位置的附近。与缩小参考矢量CV关联的每一个表元素也与另一缩小参考矢量CV关联。因而,每个表元素与多个缩小参考矢量CV关联,并用于存储分量SAD值的和,这些分量SAD值的每一个都是通过拆分为参考矢量RV找出的SAD值得到的,所述参考矢量RV被缩小成缩小参考矢量CV中的一个。
如上所述,收缩SAD表TBLs的大小远远小于原始SAD表TBLo的大小。
图6至8每一个都是用于描述该实施例采用的新块匹配技术的概要的解释说明图。图6是显示传统SAD表TBLo与该实施例采用的新块匹配技术中产生的收缩SAD表TBLs之间的关系的图。
同样在该实施例的情况下,与前面参照图3描述的传统方法很像,搜索范围在参考帧中设定成集中在对应于原始帧中的目标块103的目标块投影图像块104的中心位置的范围,所述原始帧是目标帧101。然后,在搜索范围中,设定前述多个参考块106,计算每个参考块106中的像素的照明值与目标块103中的相应像素的照明值之间的SAD值。如上所述,SAD值是参考块106中的所有像素与目标块103中的所有对应像素之间的照明值之差的绝对值的和。
根据传统块匹配方法,如图6所示,计算的SAD值存储在SAD表TBLo中,作为位于由参考块的参考矢量RV所指向的地址的表元素tb1,其中已经为所述参考块计算了SAD值。
因而,在传统块匹配技术的情况下,表示从目标帧上的目标块移动到参考帧上的参考块的大小的参考矢量RV与作为参考块的表元素tb1存储在SAD表TBLo中的SAD值一对一地相关。也就是说,构成传统SAD表TBLo的表元素的数目等于能在搜索范围内设定的参考矢量RV的数目。
另一方面,在根据该实施例的块匹配技术的情况下,如图6、7A和7B所示,指向被处理的参考块的每个参考矢量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)。因而,即使预缩小的原始参考矢量RV(vx,vy)的水平方向和垂直方向分量(vx,vy)每一个是整数,缩小参考矢量CV(vx/n,vy/n)的水平方向和垂直方向分量(vx/n,vy/n)也不必是整数。也就是说,在有些情况下,它们每一个可以是包含分数部分的数值。因而,如果为预缩的小原始参考矢量RV计算出的SAD值仅仅作为与具有最接近于该实施例中的缩小参考矢量CV的非整数vx/n和vy/n值的整数vx/n和vy/n的缩小参考矢量相关的元素存储成收缩SAD表中包含的元素,就会产生错误。
在该实施例中,定义由缩小参考矢量CV(vx/n,vy/n)的邻近参考矢量所指向的多个位置(表元素)。然后,为参考矢量RV指出的参考块计算出的SAD值被分成与位于缩小参考矢量CV附近的临近参考矢量一样多的分量SAD值。然后,每个分量SAD值累积地存储在收缩相关值表中,作为与邻近参考矢量之一相关的表元素。
在这种情况下,缩小参考矢量CV(vx/n,vy/n)不与收缩相关值表的表元素相关。然而,邻近参考矢量一对一地与收缩相关值表的表元素相关。因而,在该实施例中,根据缩小参考矢量CV指向的位置与位于缩小参考矢量CV附近的邻近参考矢量NV所指向的位置之间的距离计算出的临近参考矢量的分量SAD值累积地存储在与邻近参考矢量相关的表元素中。更具体地,通过将数值与为另一预缩小的原始参考矢量计算的已经存储的SAD值累加,将SAD值存储在表元素中。
作为每一个都与缩小参考矢量CV相关的元素而包含在收缩相关值表中的每个表元素也与另一缩小参考矢量CV相关。因而,每个表元素与多个缩小参考矢量CV相关,并用于存储通过拆分为参考矢量RV找到的SAD值得到的分量SAD值的总和,所述参考矢量RV分别被缩小成缩小参考矢量CV。通过累加分量SAD值,分量SAD值的总和存储在表元素中。
应当注意,如果缩小参考矢量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)的多个邻近参考矢量。
下面,通过给出下述的例子来解释上述处理。如前所述,对应于目标块的目标块投影图像块位于原点位置(0,0)。在这种的情况下,让我们假定图7A中所示的参考矢量RV(-3,-5)在水平和垂直方向上同时以1/n(=1/4)的缩小因子缩小,得到缩小参考矢量CV(-0.75,-1.25),如图7B所示。
由缩小参考矢量CV指向的位置的值包括分数部分,表明该位置不同于由参考矢量指向的位置。
在图8所示的例子中,选择多个这种邻近参考矢量,每一个所述邻近参考矢量的值都是最接近于缩小参考矢量的值的整数。如图8所示,对于上述缩小参考矢量CV(-0.75,-1.25)确定四个邻近参考矢量NV1(-1,-1),NV2(-1,-2),NV3(0,-1)和NV4(0,-2)。
在图8所示的例子中,四个邻近参考矢量NV1,NV2,NV3和NV4是从原点(0,0)分别指向每个都用圆圈示出的位置P1,P2,P3和P4的矢量。另一方面,缩小参考矢量CV是从原点(0,0)指向如符号X所示的点P0的矢量。
然后,在该实施例的情况下,对为作为缩小参考矢量CV的原点的参考矢量RV找出的相关值应用线性加权分布技术,计算四个邻近参考矢量NV1,NV2,NV3和NV4的分量相关值。然后,邻近参考矢量NV1的分量相关值累积地存储在包含在收缩相关值表中的、作为与邻近参考矢量NV1相关的元素的表元素中。同样地,邻近参考矢量NV2,NV3和NV4的分量相关值累积地存储在包含在收缩相关值表中的、作为与邻近参考矢量NV2,NV3和NV4相关的元素的表元素中。
例如,如下确定将在找出邻近参考矢量NV1,NV2,NV3和NV4的分量相关值的处理中使用的分量。如上所述,缩小参考矢量CV指向点P0,而邻近参考矢量NV1,NV2,NV3和NV4分别指向位置P1,P2,P3和P4。因而,(位置P0与P1之间的距离)∶(位置P0与P2之间的距离)∶(位置P0与P3之间的距离)∶(位置P0与P4之间的距离)=1∶3∶3∶9。
让我们假定为作为缩小参考矢量CV的原点的预缩小原始参考矢量RV计算的相关值是Sα。在这种的情况下,如下找出分别指向位置P1,P2,P3和P4的邻近参考矢量NV1,NV2,NV3和NV4的分量相关值SADp1,SADp2,SADp3和SADp4:
SADp1=Sαx9/16
SADp2=Sα×3/16
SADp3=Sα×3/16
SADp4=Sα×1/16
四个邻近参考矢量NV1,NV2,NV3和NV4的分量相关值SADp1,SADp2,SADp3和SADp4的最终分量相关值通过将当前计算的值与它们各自的临时总和相加来计算,并存储在SAD表中包含的、作为提供给分别指向位置P1,P2,P3和P4的四个邻近参考矢量NV1,NV2,NV3和NV4的元素的表元素中。
在该实施例中,对每一个都指向在搜索范围内设定的参考块的所有参考矢量进行上述处理。
如从到目前为止给出的描述可以明显看出,在该实施例中,以缩小因子1/n进行将每个参考矢量RV缩小成缩小参考矢量CV的处理,以伴随以同样的缩小因子1/n在水平和垂直方向上收缩SAD表TBLo以便产生具有缩小大小的收缩SAD表TBLs的处理,所述SAD表TBLo其具有原始大小并包括一对一地与参考矢量RVs相关的元素。然后,通过拆分为作为与元素相关的缩小参考矢量CV的原点的参考矢量RV所指向的参考块而计算SAD值,为收缩SAD值表TBLs的每个元素计算分量SAD值。关于更多信息,建议读者参考图6。
因而,在该实施例的情况下,构成收缩SAD表TBLs的元素的数目是构成原始相关值表TBLo的元素的数目的(1/n2)倍。也就是说,可以显著地减小相关值表的大小。
根据该实施例的以上描述,对于收缩SAD值表TBLs中的每个元素,选择缩小参考矢量CV的附近的四个邻近参考矢量NV,然后,从为由作为缩小参考矢量CV的原点的参考矢量RV所指向的处理过的参考块计算的相关值中找出所选邻近参考矢量NV的分量相关值。在基于所谓线性加权分布技术的处理中找出位于缩小参考矢量CV附近的邻近参考矢量NV的分量相关值,所述处理用于拆分为由作为缩小参考矢量CV的原点的参考矢量RV所指向的参考块计算出的相关值。然而,应当注意,选择在缩小参考矢量CV附近的邻近参考矢量的方法以及找出收缩SAD表TBLs的各个元素的分量相关值的线性加权分布技术不限于该实施例中采用的那些。
例如,作为替换,对收缩SAD表TBLs中的每个元素,选择缩小参考矢量CV附近的9或16个邻近参考矢量NV,然后,从为由作为缩小参考矢量CV的原点的参考矢量RV所指向的处理过的参考块计算的相关值找出所选邻近参考矢量NV的分量相关值。然而,在这种的情况下,在基于所谓三次差值技术的处理中找出位于缩小参考矢量CV附近的邻近参考矢量NV的分量相关值,所述处理用于拆分为由作为缩小参考矢量CV的原点的参考矢量RV所指向的参考块计算出的相关值。通过进行这些处理,提高了分量相关值的精度。然而,如果更强的强调加在实时需求和减小的处理电路数上,则仅找出四个邻近参考矢量NV的分量相关值的处理更加有效。
同样在该实施例的情形中,在以与传统块匹配技术相同的方式进行的累加处理中,分量相关值存储为收缩SAD表的元素,由此相关值存储为搜索范围中包含的每个位置的原始相关值表的元素,所述各位置作为参考块要移动到的位置。
然而,在传统块匹配技术的情况下,参考矢量一对一地与构成相关值表的元素的地址相关,从而为对应于参考矢量的每个参考块计算相关值,且相关值仅存储在相关值表中作为与参考矢量相关的元素。另一方面,在根据该实施例的情况下,参考矢量并不一对一地与构成收缩SAD表(或收缩SAD表)的元素的地址相关。因而,为参考块计算出的相关值被拆分成多个分量参考值,它们中的每一个都累积地存储在收缩SAD表中作,为对应于与分量参考值关联的邻近参考矢量之一的元素。与相关值表的每个元素很像,每一个都用于存储计算出的分量参考值的存储器位置的每一个在初始时间被初始化为0。
在前述的传统块匹配技术的情况下,在相关值表中寻找用于存储最小SAD值的表元素。然后,将指向用于存储最小SAD值的表元素的地址的参考矢量作为代表从目标帧的位置到参考帧的位置的移动。
另一方面,在该实施例的情况下,根据该实施例存储在收缩SAD表中作为收缩SAD表的元素的相关值是分量相关值,也是SAD值。然后,在收缩SAD表中寻找用于存储最小SAD值的表元素,该最小SAD值表示目标帧上的目标块与包含在参考帧中的多个参考块之间的最强相关性,所述多个参考块作为由它们各自的邻近参考矢量所指向的块,必须从其中识别出移动矢量,因为由于每个邻近参考矢量并非必须是精确的移动矢量的事实,邻近参考矢量本身不能被识别成移动矢量。
作为从每一个都与收缩SAD表的表元素相关的邻近参考矢量识别移动矢量的最合理的技术,通过将收缩SAD表的大小乘以整数n(其是缩小因子1/n的倒数)将收缩SAD表恢复成原始相关值表,然后,识别作为对应于收缩SAD表的检测到的元素的元素的、原始相关值表中包含的元素。最后,确定指向原始相关值表的选择的元素的移动矢量。然而,只能对允许一定程度误差的图像处理装置采用该技术。
然而,为了以更高精度检测移动矢量,必需对存储在收缩SAD表中存的元素值进行下述的一个典型内插处理。通过进行一个典型内插处理,可以以原始精度检测准确的移动矢量。
[以更高精度检测移动矢量的第一典型内插处理]
以更高精度检测移动矢量的第一典型内插处理采用一种技术,使得存储在收缩SAD表的元素中的多个相关值近似地由二次曲面表示。该技术是通过对收缩SAD表施加前述专利文献1所述的方法得到的技术。
在该实施例中,由于SAD值用作相关值,所以相关值越小,由相关值指示的相关性就越强。因而,在该实施例中,在收缩相关值表中寻找存储最小相关值的特定表元素,该最小相关值指示目标帧上的目标块与作为由它们各自邻近参考矢量所指向的块的参考帧中包含的多个参考块之间的最强相关性。可以以表地址精度搜索收缩相关值表的表元素,该精度是整数水平的精度。另外,表区域中的多个邻近表元素的每一个也以整数水平的精度被识别,所述表区域以已经以整数水平精度检测的特定表元素为中心,并作为收缩相关值表中的区域。然后,通过采用最小平方方法,找出二次曲面,作为表示作为表区域中检测到的特定表元素和邻近表元素、存储在收缩相关值表中的相关值的表面。随后,确定表示相关值的二次曲面的最小值,识别确定为最小值的相关值的位置,作为从原点位置(0,0)移动的位置。识别为最小值的相关值的识别位置对应于包含在参考帧上的搜索区域内的位置,该位置作为显示与目标块具有最强相关性的参考块的位置。识别位置是包含在缩小相关值表(或缩小的SAD表)中的位置,作为具有分数水平的精度的地址处的位置。最后,检测指向识别位置的缩小参考矢量,作为指向以分数水平的精度识别出的位置的矢量。
设定二次曲面的处理的例子如图9A或9B所示。在这两个例子的任何一个中,符号tm表示收缩相关值表中的特定表元素,该元素以整数水平精度识别为代表最小相关值的表元素。另一方面,符号t1,t2,t3和t4的每一个表示也以整数水平精度在以特定表元素tm为中心的表区域中识别出的表元素。至少需要在两个方向上把特定表元素tm夹在中间的四个表元素。
然后,如图10所示,假定坐标空间在缩小参考矢量的范围内(或收缩相关值表的范围内)。缩小参考矢量的范围对应于参考帧的搜索范围。采用目标帧的位置(或者,严格说来,图3所示的目标块投影图像块104的位置)作为坐标空间的原点位置(0,0,0),该坐标空间有以下三个轴。垂直Z轴(或相关值轴)作为表示相关值的轴,其和参考块与目标块之间的相关性成反比地减小。在该实施例中,相关值是SAD值。水平X轴(或vx/n轴)作为表示参考块在X方向上从目标块的移动的轴,或者表示缩小参考矢量的值vx/n的轴。同样,水平Y轴(或vy/n轴)作为表示参考块在垂直于X方向的Y方向上从目标块的移动的轴,或者表示缩小参考矢量的值vy/n的轴。垂直Z轴垂直于水平X和Y轴所在的平面。
然后,从以整数水平的精度识别出的最小值表元素的相关值以及也以整数水平精度识别出的、作为在特定方向上把最小值表元素夹在中间的表元素的两个表元素t1和t3的相关值,在图10所示的坐标空间中建立二次曲线。同样,从最小值表元素tm的相关值以及也以整数水平的精度识别出的、作为在垂直于所述特定方向的方向上将最小值表元素夹在中间的表元素的两个表元素t2和t4的相关值,在坐标空间中建立另一二次曲线。然后,通过采用最小平方方法,在图10所示的坐标空间中找出包括这两个二次曲线的近似二次曲面201。
随后,在位于X-Y平面上的位置203检测近似二次曲面201的最小值点202,所述位置203作为具有如图10所示的坐标为(vx/n,vy/n)的位置。位置(vx/n,vy/n)是以分数水平精度识别出的位置,作为在收缩相关值表中具有最小相关值的表元素(或表元素地址)的位置。最后,确定指向以分数水平精度识别出的位置(vx/n,vy/n)的最小值矢量204,通过将最小值矢量204与缩小因子的倒数值n相乘计算具有原始数量和原始方向的移动矢量205,如图11所示。
例如,通过收缩原始相关值表得到图12所示的收缩相关值表TBLs以伴随以1/4的缩小因子缩小参考矢量的处理,从以分数水平精度识别出的最小值表元素的地址找出附图标记204指示的移动矢量(-0.777,-1.492)。在这种情况下,最小值矢量204乘以4以得到由附图标记205表示的原始移动矢量(-3.108,-5.968)。移动矢量205是按照原始图像的比例尺的移动矢量。
根据上述本发明,在收缩相关值表中搜索用于存储表示最强相关性的最小相关值的特定表元素tm以及以特定表元素tm为中心的表区域中的四个邻近表元素。然而,为了设定相关值的近似二次曲面,最好在这种表区域中找出更多邻近表元素。由于这个原因,通常,找出中心为以整数水平精度检测出的特定表元素tm的矩形表区域中的邻近表元素,该区域作为在水平和垂直方向上包括m×m(其中m表示至少等于3的整数)表元素的区域。
然而,更多邻近表元素不一定更好。这是因为在这种大表区域中的邻近表元素导致处理量的增加。另外,如果邻近表元素的数目增加,就更有可能不可避免地检测到依赖于图像图案的错误的局部最小值。因而,选择包括适当数量的邻近表元素的矩形表区域中的表元素。
以下描述解释了在收缩相关值表中包含的、作为包含适当数量的邻近表元素的区域的矩形表区域的两个例子。根据该实施例的一个例子是一个矩形表区域,该区域的中心是以整数水平精度找出的最小值表元素tm,并且该区域作为包含在水平和垂直方向上围绕着最小值表元素tm的3×3邻近表元素的区域。根据该实施例的另一例子是一个矩形表区域,该区域的中心是以整数水平精度找出的最小值表元素tm,并作为包含在水平和垂直方向上围绕着最小值表元素tm的4×4邻近表元素的区域。
[包括3×3表元素的矩形表区域]
图13是示出使用矩形表区域找出移动矢量的技术的示图,该区域的中心是以整数水平精度找出的最小值表元素tm,并作为包含在水平和垂直方向上围绕最小值表元素tm的3×3邻近表元素的区域。在图13A中,表区域如灰色块所示。
根据图13A和13B所示的技术,基于以整数水平精度找出的最小值表元素tm的相关值以及围绕图13A所示的最小值表元素tm的八个邻近表元素,通过采用最小平方方法设定图13B所示的近似二次曲面201。随后,在位于X-Y平面上的位置203处检测近似二次曲面201的最小值点202,该位置203作为具有坐标(vx/n,vy/n)的位置,如图13B所示。位置(vx/n,vy/n)是以分数水平精度识别出的位置,作为在收缩相关值表中对应于具有最小相关值的表元素(或表元素地址)的位置。
最后,确定指向以分数水平精度识别出、作为表元素的位置的位置203的最小值矢量204,通过将最小值矢量204与图11所示的缩小因子的倒数值n相乘计算具有原始大小和原始方向的移动矢量205(或最小值矢量)。
采用下述方法进行找出对应于近似二次曲面201上的最小值点202的位置203的处理。如图14所示,(x,y)坐标系设计成这样一个系统,其中以整数水平精度找出的最小值表元素tm的中心的位置作为原点(0,0)。在这种情况下,围绕以整数水平精度找出的最小值表元素tm的八个邻近表元素位于下述位置:具有在水平方向上由x=-1,x=0和x=+1表示的x轴坐标,在垂直方向上由y=-1,y=0和y=+1表示的y轴坐标,且除了在坐标(x=0,y=0)处的位置。也就是说,围绕以整数水平精度找出的最小值表元素tm的八个邻近表元素位于坐标(-1,-1),(0,-1),(1,-1),(-1,0),(0,1),(-1,1),(0,-1)和(1,1)处。
让我们用符号Sxy表示图14所示坐标系中的表元素的相关值。例如,以整数水平精度在原点位置(0,0)找出的最小值表元素的相关值用符号S00表示,而位于最小值表元素tm右侧且在最小值表元素下方的位置(1,1)处的邻近表元素的相关值用符号S11表示。
因而,可以根据图15所示的等式(A)和(B)找出以整数水平精度在(x,y)坐标系的原点位置(0,0)找到最小值表元素tm的、以分数水平精度在(x,y)坐标系中观察到的位置203的坐标(dx,dy)。
在图15所示的等式(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)是以整数水平精度在(x,y)坐标系的原点位置(0,0)找到最小值表元素tm的、以分数水平精度在(x,y)坐标系中观察到的位置的坐标(dx,dy),所以,从以分数水平精度在(x,y)坐标系中观察到的位置(dx,dy)以及以整数水平精度在(x,y)坐标系的原点位置(0,0)找出的最小值表元素tm的位置,可以检测作为远离识别出的最小值表元素tm的中心的位置的位置203。
[包括4×4表元素的矩形表区域]
图16是示出使用矩形表区域找出移动矢量的技术的示图,该区域的中心是以整数水平精度找出的最小值表元素tm,并作为包含在水平和垂直方向上围绕着最小值表元素tm的4×4邻近表元素的区域。在图16A中,表区域如筛样块(screening block)所示。
在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作为该列的第二表元素,而在包括最小值表元素的四个邻近表元素中具有最小相关值的表元素作为该列的第四邻近表元素。
在图16A所示的例子中,以整数水平精度找出的最小值表元素tm被在同一行的分别具有相关值177和173的两个相邻的邻近表元素夹在中间。在这种情况下,最小值表元素tm作为该行的第二表元素,而在具有较小相关值173的邻近表元素右侧的邻近表元素作为该行的第四表元素。同样,以整数水平精度找出的最小值表元素tm被在同一列的分别具有SAD值168和182的两个相邻的邻近表元素夹在中间。在这种情况下,最小值表元素tm作为该列的第二表元素,而在具有较小相关值168的邻近表元素上方的邻近表元素作为该列的第四表元素。
然后,在图16A和16B所示的例子中,依据如图16A所示以整数水平精度找出的最小值表元素tm的相关值以及围绕最小值表元素tm的15个邻近表元素,采用最小平方方法设定图16B所示的近似二次曲面201。随后,在位于X-Y平面上的位置203检测近似二次曲面201的最小值点202,该位置作为具有坐标(vx/n,vy/n)的位置,如图16B所示。位置(vx/n,vy/n)是以分数水平精度识别出的位置,作为在收缩相关值表中对应于具有最小相关值的表元素(或表元素地址)的位置。
最后,确定指向以分数水平精度识别出、作为表元素的位置的位置203的最小值矢量204,并通过如图11所示将最小值矢量204的缩小因子的倒数值n相乘计算出具有原始大小和原始方向的移动矢量205(或最小值矢量)。
通过采用下述方法进行找出对应于近似二次曲面201上的最小值点202的位置203的处理。如图17所示,(x,y)坐标系设计成这样一个系统,其中将以整数水平精度找出的最小值表元素tm的中心的位置作为原点(0,0)。
在图17A、17B、17C和17D所示的例子中,存在四个矩形表区域,包括以不同方式布置16个表元素造成以整数水平精度找出的最小值表元素tm的不同位置。在矩形表区域中以整数水平精度找出的最小值表元素tm的位置取决于包括最小值表元素tm的行的前述第四表元素是否是最小值表元素tm的右侧或左侧的邻近表元素以及包括最小值表元素tm的列的前述第四表元素是否是最小值表元素tm的上方或下方的邻近表元素。
在这种情况下,如从图17A、17B、17C和17D所显见的,虽然以整数水平精度找出的最小值表元素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表示图17所示坐标系中的表元素的相关值。例如,以整数水平精度在原点位置(0,0)找出的最小值表元素的相关值用符号S00表示,而位于最小值表元素tm右侧并在最小值表元素tm下方的位置(1,1)处的表元素的相关值用符号S11表示。
因而,可以根据图18所示的等式(C)和(D)找出以整数水平精度在(x,y)坐标系的原点位置(0,0)找到最小值表元素tm的、以分数水平精度在(x,y)坐标系中观察到的位置203的坐标(dx,dy)。(x,y)坐标系的原点位置(0,0)与覆盖16个表元素的矩形区域的中心重合,所述16个表元素包括以整数水平精度在(x,y)坐标系的原点位置(0,0)找到的最小值表元素tm。
在图18所示的等式(C)和(D)中,Kx和Ky的值是分别由图19所示的(Kx,Ky)坐标系的水平和垂直轴表示的值,该坐标系作为在矩形表区域上的坐标系,其包括以整数水平精度找出的最小值表元素tm以及位于最小值表元素tm附近的15个邻近表元素,以这种方式使得矩形表区域的中心与Kx,Ky)坐标系的原点(0,0)重合。Kx和Ky的值取决于分别作为表元素的分布的图17A、17B、17C和17D中所示的四个不同分布(A)、(B)、(C)和(D)。
更加详细地说,在图17A所示的坐标系的情况下,图19所示的(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。
在图17B所示的坐标系的情况下,图19所示的(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。
在图17C所示的坐标系的情况下,图19所示的(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。
在图17D所示的坐标系的情况下,图19所示的(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。
图18中所示的等式(C)中用的符号Δx是对于图19中所示的(Kx,Ky)坐标系中的坐标Kx,图17A、17B、17C和17D所示的(x,y)坐标系中的表元素的位置的坐标x的位移。同样地,图18中所示的等式(D)中用的符号Δy是对于图19中所示的(Kx,Ky)坐标系的坐标Ky,图17A、17B、17C和17D所示的(x,y)坐标系中的表元素的位置的坐标y的位移。位移Δx和Δy具有如下值:
在图17A的情况下,Δx=-0.5和Δy=-0.5;
在图17B的情况下,Δx=-0.5和Δy=0.5;
在图17C的情况下,Δx=0.5和Δy=-0.5;和
在图17D的情况下,Δx=0.5和Δy=0.5。
由于坐标(dx,dy)是以整数水平精度在(x,y)坐标系的原点位置(0,0)找到最小值表元素tm的、以分数水平精度在(x,y)坐标系中观察到的位置的坐标,所以,从以分数水平精度在(x,y)坐标系中观察到的位置(dx,dy)以及以整数水平精度在(x,y)坐标系的原点位置(0,0)找出的最小值表元素tm的位置,可以检测作为远离识别出的最小值表元素tm的中心的位置的位置203。
[以更高精度检测移动矢量的第二典型内插处理]
以更高精度检测移动矢量的第二典型内插处理采用一种技术,使得在包括收缩SAD表中以整数水平精度找出的最小值表元素tm的行上的水平方向上设定的元素中存储的多个相关值(它们分别是该实施例中的最终分量SAD值)用于建立在朝向水平方向上的平面上的三次曲线,而在包括收缩SAD表中的最小值表元素tm的列上的垂直方向上设定的元素中存储的多个相关值用于建立在朝向垂直方向上的平面上的三次曲线。然后,检测三次曲线的最小值的位置(vx,vy),并将其作为具有分数水平精度的最小值地址。
图20A和20B是在下面描述以更高精度检测移动矢量的第二典型内插处理的说明中所参考的解释图。与以更高精度检测移动矢量的第一典型内插处理很像,通过使用一矩形表区域来进行第二典型内插处理以找出移动矢量,该矩形表区域的中心是以整数水平精度找出的最小值表元素tm,并作为包含在水平和垂直方向上围绕着最小值表元素tm的邻近表元素的区域。在图20所示的例子中,邻近表元素的数目设成16(=4×4)。在图20A中,表区域如筛样块所示。
下面,与以更高精度检测移动矢量的第一典型内插处理很像,如图20B所示,假定坐标空间在缩小参考矢量的范围内(或收缩SAD表的范围)。缩小参考矢量的范围对应于参考帧的搜索范围。采用目标帧的位置作为坐标空间的原点位置(0,0,0),该坐标空间有以下三个轴。垂直Z轴(或相关值轴)作为表示相关值的轴,其和参考块与目标块之间的相关性成反比地减小。在该实施例中,相关值是SAD值。水平X轴(或vx/n轴)作为表示参考块在X方向上从目标块的移动的轴,或者表示缩小参考矢量的值vx/n的轴。同样,水平Y轴(或vy/n轴)作为表示参考块在垂直于X方向的Y方向上从目标块的移动的轴,或者表示缩小参考矢量的值vy/n的轴。垂直Z轴垂直于水平X和Y轴所在的平面。
然后,在最小值表元素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,用最小值矢量209乘以如图11所示的缩小因子的倒数值n计算出具有原始大小和原始方向的移动矢量(或最小值矢量)。
也就是说,第二典型内插处理采用一种技术,使得通过采用与第一典型内插处理相同的技术在水平方向的行中以及以垂直方向的列中各选择四个表元素,然后,依据在行上选择的四个表元素建立施加在水平方向的平面上的三次曲线,同时依据在列上选择的四个表元素建立施加在垂直方向的平面上的三次曲线,如图20B所示。
采用下述方法进行找出对应于水平三次曲线206和垂直三次曲线207上的最小值点202的分数精度最小值表地址208的处理。让我们用符号S0,S1,S2和S3表示在水平方向的行以及垂直方向的列上所选择的四个表元素的相关值。如上所述,在该实施例中,相关值是最终分量SAD值。相关值S0,S1,S2和S3对应于沿着水平方向上的水平三次曲线206或垂直方向上的垂直三次曲线207连续分布的四个相邻点。如图21所示,符号Ra,Rb和Rc分别表示代表点S0与S1之间的轴向距离的线段、代表点S1与S2之间的轴向距离的线段、以及代表点S2与S3之间的轴向距离的线段。线段部分u是包含在最小相关值的位置处的坐标值中的分数部分。根据一个等式找出线段部分u,根据该等式,图21所示的三个线段Ra,Rb和Rc包括作为包含在最小相关值位置处的坐标值中的分数部分的线段部分u。
如上所述,线段Ra是对应于相关值(或SAD值)S0的位置与对应于相关值S1的位置之间的线段,线段Rb是对应于相关值S1的位置与对应于相关值S2的位置之间的线段,而线段Rc是对应于相关值S2的位置与对应于相关值S3的位置之间的线段。如上所述,在该实施例中,相关值是最终分量SAD值。
如果最小相关值的分数精度位置位于图21所示的段Ra,就用图22所示的等式(E)找出表示从段Ra到该位置的距离的线段部分u作为分数。
同样,如果最小相关值的分数精度位置位于图21所示的段Rb,就用图22所示的等式(F)找出表示从线段Rb到该位置的距离的线段部分u作为分数。
同样,如果最小相关值的分数精度位置位于图21所示的线段Rc,就用图22所示的等式(G)找出表示从段Rc到该位置的距离的线段部分u作为分数。
以下描述解释用于确定图21所示的三个线段Ra,Rb和Rc中哪一个包括分数部分u的处理。
图23A至23D是描述用于确定图21所示的三个线段Ra,Rb和Rc中哪一个包括分数部分u的技术时参考的解释说明图。首先,符号Smin表示以整数水平精度检测出的位置处的最小相关值,而符号Sn2表示位于整数精度位置处的相关值,该值作为与所有四个表元素的整数精度位置的相关值中的最小相关值Smin具有最小差异的相关值。在图23A、23B和23C中由符号x表示的真实最小相关值必须位于以分数水平精度检测出的位置,该位置作为最小相关值Smin与相关值Sn2的位置之间的位置。然后,通过识别21所示的相关值S0,S1,S2和S3中的哪一个作为最小相关值Smin和相关值Sn2,可以确定三个线段Ra,Rb和Rc中哪一个包括分数部分u。
应当注意,还存在一种情况,其中最小相关值Smin的整数精度位置是包含图23D所示四个表元素的相关值的位置的范围的边缘。在这种情况下,不能确定真实最小相关值x的位置,该实施例找不出真实最小相关值x的位置,这种情况按照错误来处理。然而,即使在像图23D所示的这种情况下仍然能找出真实最小相关值x的位置。
如上所述,根据上述实施例,通过使用大小按1/n2的缩小因子而按比例缩小了的收缩相关值表,可以检测原始图像比例的移动矢量。图24是显示如下事实的示图:尽管使用大小按1/n2的缩小因子而按比例缩小了的收缩相关值表,但能够得到与传统图像处理装置几乎一样的矢量检测结果。
图24的水平轴表示在水平或垂直方向上缩小相关值表中使用的一维缩小因子1/n。另一方面,垂直轴表示矢量误差,这是检测到的移动矢量的误差。图24所示的矢量误差的值按像素来表示。
在图24中,曲线301表示为不同缩小因子检测的矢量误差的平均值。曲线302表示为不同缩小因子检测的矢量误差的方差(variance)σ的3倍值(3σ(99.7%)值)。曲线303是曲线302的近似曲线。
图24所示的曲线表示以不同的一维缩小因子1/n检测出的矢量误差。然而,由于相关值表是两维表,所以表的大小(即,构成相关值表的元素的个数)以等于图24中使用的一维缩小因子1/n的平方的比率缩小。然而,从指示矢量误差的平均值的曲线不改变以及矢量误差的方差只随着缩小因子的改变而线性增加的曲线,可以明显看出根据该实施例的技术的有用性。
另外,即使当n=64(或缩小因子1/64)时,矢量误差的平均值也很小,证明没有由不正确的移动矢量的检测造成的错误。因而,我们可以说,可以用1/4,096的缩小因子充分减小相关值表的大小。
此外,如前所述,在对动态图片补偿由手移动造成的失真的处理中,非常需要实时响应及时间延迟的减小。然而,检测出的移动矢量的误差可以容许到一定程度,只要该误差不是由不完全不正确的移动矢量的检测造成的错误。因而,能充分地减小SAD表的大小而不造成错误。结果,这些实施例可以说是非常有用。
与专利文献4公开的作为对具有减小的尺寸的图像检测移动矢量的方法的传统方法相比,根据上述这些实施例的图像处理方法具有以下与传统方法不同的显著优点。
首先,与专利文献4公开的传统方法不同,根据这些实施例的图像处理方法根本不需要缩小图像的处理。这是因为,根据由这些实施例提供的图像处理方法,在将对于参考块计算的分量相关值存储在收缩SAD表中作为表元素的处理中,同时进行转化元素地址的处理。如上所述,对于参考块计算的相关值实际上是为参考块计算的最终分量SAD值。
因而,与比专利文献4公开的传统方法相比,根据这些实施例的图像处理方法提供诸如消除缩小图像的逻辑、用于在存储器中存储缩小图像的时间、在存储器中存储缩小图像的处理的带宽以及存储缩小图像的存储器等优点。
第二,专利文献4公开的传统方法带来另一严重的问题,如前所述,所述方法需要去除在收缩图像的处理中产生的混淆现象以及低照明噪声的低通滤波器。也就是说,在收缩图像的处理中,图像数据在被再次采样之前必须提供给适当的低通滤波器。否则,会发生混淆现象,并且通过使用收缩图像检测的移动矢量的精度会显著变差。
由在收缩图像的处理中使用的低通滤波器展示为类似正弦函数的函数的函数已经在理论上被证明是低通滤波器的理想特性。正弦函数本身是具有以sin(xII)/(xII)表示的截止频率f/2的无限-抽头(tap)的FIR(有限脉冲响应)滤波器的函数。在对于缩小因子1/n具有理想截止频率f/(2n)的低能滤波器的情况下,截止频率由sin(xII/n)/(xII/n)表示,虽然其也能用作正弦函数的形式。
图25、26和27上侧的图分别显示缩小因子1/2、1/4和1/8的正弦函数(或低通滤波器的理想特性)的形状。从图25至27可以明显看出,缩小因子越大,函数在抽头轴方向上扩展的因子就越大。换言之,即使在只用主要系数近似无限抽头正弦函数的情况下,我们也可以说FIR滤波器的抽头的个数一定会增大。
另外,公知地,通常,频带中的截止频率越低,与滤波器形状的支配相比,抽头个数在低通滤波器的性能中的支配越多。
因而,使用根据专利文献4公开的传统方法产生的收缩图像的移动矢量识别方法通常表现出这样的矛盾,即,尽管图像的缩小因子越大,减小相关值表的大小的效果就越明显,但是我们遇到成本与缩小因子的增大成比例地增加的事实。
通常,在高阶抽头FIR滤波器的执行中,处理逻辑的成本与抽头的个数的平方成比例地增加,这带来了大问题。然而,更大的问题是由于用于实现垂直滤波器的行成像器的增加的个数造成的。在近年来制造的数字照相机中,为了减小行存储器的尺寸以跟上增加的像素数,进行所谓的带处理(strapprocessing)。然而,即使例如减小每个存储器行的尺寸,当行存储器本身的数目增加,则如果物理布置区域转换成成本,总成本显著上升。
如上所述,大家公知依据根据专利文献4公开的传统方法的图像缩小办法在特别是垂直低通滤波器的执行过程中遇到很大的障碍。另一方面,根据这些实施例的图像处理方法已经以完全不同的方式有效地解决了该问题。
图25至27下侧的框图的每一个示出根据由本发明提供的图像处理方法的低通滤波器的图像。根据由本发明提供的图像处理方法,不进行收缩图像的处理。然而,产生收缩相关值表的处理包括低通滤波器的处理,其图像示出在任何一个图中。
如同从图25至27下侧的图中可以明显看出的那样,该低通滤波器的特性是简单滤波器特性,其中正弦函数的主要系数部分可被线性近似,但是抽头的数目以与缩小因子联锁的方式增加。简单滤波器特性和抽头数的增加方式适合于截止频率越低,抽头的数目在通滤波器的性能中支配越多的事实。也就是说,根据本发明的找出分量相关值(每一个是分量SAD值)的处理等同于低通滤波器的实现,所述低通滤波器作为简单电路、以与缩小因子联锁的方式显示出高性能。如前所述,根据这些实施例进行找出分量相关值的处理,该处理作为依据线性加权分布技术找出分量相关值的处理。
关于低通滤波器,实施低通滤波器的简单电路与专利文献4公开的传统方法相比提供另一优点。也就是说,根据专利文献4公开的传统方法,在图像通过低通滤波器之后,图像在采样处理中收缩。以该收缩处理中,丢失了很多图像信息。更具体地,在低通滤波器进行的处理中,图像信息的亮度值的字长在图像信息存储进存储器中之前大量地舍入的。因而,像素信息的大多数低阶位对收缩图像没有影响。
另一方面,根据按照实施例的图像处理技术,在计算作为表元素存储在收缩SAD表中的最终分量相关值的处理中同样地使用目标块中所有像素的亮度值。也就是说,最终分量相关值是每一个都是为目标块中的一个像素找出的相关值的累加和。因而,仅通过增大收缩相关值表的各元素的字长,就可能进行这种相关值计算处理,即使最后计算出的最终相关值根本不包括舍入处理误差。由于收缩相关值表的大小比帧存储器的大小要小,所以构成收缩相关值表的各元素的字长的延长不会带来大问题。结果,可以以高精度实现收缩相关值表以及确定移动矢量的处理。
如上所述,在观察的参考帧102中设定以原始帧101中考虑的目标块103的目标块投影图像块104为中心的搜索范围105,检测指向搜索范围105中具有最小SAD值的参考块的移动矢量110。然而,在对图像补偿由手移动造成的失真的真实系统中,原始帧101划分为多个图像子区域,目标块103的每一个在一个图像子区域中考虑。然后,每一个都以每个被考虑的目标块103的目标块投影图像块104为中心的搜索范围105设定在被观察的参考帧102中,并且为每个搜索范围105检测搜索范围105中的移动矢量205。
另外,在使用CCD成像器作为图像拾取器件来对图像补偿由手移动造成的失真的真实系统中,在统计处理中,也通过考虑每一个都由来自过去帧的一个移动矢量指示的转变,为设在参考帧中的多个搜索范围内的多个参考块检测多个移动矢量,以确定参考帧的整体移动矢量,即,参考帧的手移动位移矢量。
另一方面,在该实施例的情况下,对作为目标帧的每个原始帧,确定多个目标块103,并为每个目标块103设定多个搜索范围105。然后,每一个都是为一个目标块103检测的多个移动矢量110分别用于为上述图像子区域中的一个找出手移动速度矢量。
在该实施例中,一帧图像区域典型地划分为在垂直方向上排列的八行和在水平方向上排列的八列以得到64个图像子区域。在这种的情况下,该帧可以是目标帧101或图28所示的参考帧102。
在参考帧102的情况下,要分别为64个图像子区域检测64个移动矢量205。然后,如图28所示,设定64个搜索范围SR1、SR2...和SR64,其分别以64个移动矢量205的64个参考位置PO1、PO2...和PO64为中心。在搜索范围SR1、SR2...和SR64中,想像目标块投影图像块IB1、IB2...和IB64。即使相邻的目标块投影图像块IB1、IB2...和IB64彼此不重叠,如从图28可以明显看出的,相邻的搜索范围SR1、SR2...和SR64也会彼此重叠。
然后,每一个都具有与目标块投影图像块IB1、IB2...和IB64相同大小的64个参考块分别设在64个搜索范围SR1、SR2...和SR64中,以在它们各自的搜索范围SR1、SR2...和SR64上移动,以便产生如上所述的收缩相关值(SAD)表。随后,分别从收缩相关值表检测用于没有在任何一个图中示出的目标块TG1、TG2...和TG64的、图29中示出的总共64个移动矢量205V1、205V2...205V64。
然后,在该实施例中,对在对应于前述图片划分Pdiv_0的垂直图像子区域中包含的八个目标块TG1至TG8检测的八个手移动位移矢量(以下也将它们的每一个称为移动矢量)经历平均处理,以得到手移动位移矢量(或移动矢量)VCdiv_0。以同样的方式对图片划分Pdiv_1至Pdiv_7进行该平均处理,以计算如图29所示的手移动位移矢量(或移动矢量)VCdiv_1至VCdiv_7。
更详细地说,八个移动矢量205V1至205V8经历平均处理以得到图片划分Pdiv_0的手移动位移矢量VCdiv_0。同样地,八个移动矢量205V9至205V16经历平均处理以得到图片划分Pdiv_1的手移动位移矢量VCdiv_1。以相同的方式,八个移动矢量205V17至205V24经历平均处理以得到图片划分Pdiv_2的手移动位移矢量VCdiv_2。同样,八个移动矢量205V25至205V32经历平均处理以得到图片划分Pdiv_3的手移动位移矢量VCdiv_3。类似地,八个移动矢量205V33至205V40经历平均处理以得到图片划分Pdiv_4的手移动位移矢量VCdiv_4。同样地,八个移动矢量205V41至205V48经历平均处理以得到图片划分Pdiv_5的手移动位移矢量VCdiv_5。以相同的方式,八个移动矢量205V49至205V56经历平均处理以得到图片划分Pdiv_6的手移动位移矢量VCdiv_6。同样,八个移动矢量205V57至205V64经历平均处理以得到图片划分Pdiv_7的手移动位移矢量VCdiv_7。
如果八个移动矢量205Vi至205V(i+7)包括一个异常移动矢量,就从平均处理中排除该异常移动矢量,其中i=1、9、17、25、33、41、49或57。
该实施例通过将特定移动矢量与为垂直或水平邻近特定目标块的目标块检测的其它移动矢量进行比较,产生关于为特定目标块检测的特定移动矢量是否为异常矢量的确定结果,如果确定结果表示特定和任何其它移动矢量之间的差大于预先确定的阈值,就认定该特定移动矢量是异常矢量并将其从平均处理中排除。
应当注意,每一种用于产生关于为特定目标块检测的特定移动矢量是否是异常矢量的确定结果的方法不限于上述技术。例如,在产生关于为特定目标块检测的特定移动矢量是否异常的确定结果的处理中,找出为特定图片划分和水平邻近特定图片块划分的图片划分检测的移动矢量的平均值和方差,通过确定特定移动矢量与平均值之间的差是否超出了以方差为中心的预定范围而产生关于特定移动矢量是否异常的确定结果。
然后,在该实施例中,按照以下等式、如图29所示找出特定图片划分Pdiv_i的手移动速度矢量Vec_i,其中i是0至6范围内的整数,作为特定图片划分Pdiv_i与紧跟着特定图片划分Pdiv_i的图片划分Pdiv_(i+1)之间的手移动位移矢量VCdiv中的差(或变化):
Vec_0=VCdiv_1-VCdiv_0
Vec_1=VCdiv_2-VCdiv_1
Vec_2=VCdiv_3-VCdiv_2
Vec_3=VCdiv_4-VCdiv_3
Vec_4=VCdiv_5-VCdiv_4
Vec_5=VCdiv_6-VCdiv_5
Vec_6=VCdiv_7-VCdiv_6(3)
然而,由于不存在位于帧图像底部的图片划分Pdiv_7后面的图片划分Pdiv,所以不能通过使用计算差异的上述公式找出位于图像底部的图片划分Pdiv_7的手移动速度矢量Vec_7。
在该实施例中,通过基于前述手移动速度矢量或为对应于手移动速度矢量Vec_7的图片划分Pdiv_7前面的图片划分找出的多个手移动速度矢量进行估算,来计算位于图像底部的图片划分Pdiv_7的手移动速度矢量Vec_7。应当注意,对于对应于手移动速度矢量Vec_7的图片划分Pdiv_7前面的图片划分Pdiv_6找到的多个手移动速度矢量Vec_6也能原样地用作手移动速度矢量Vec_7。
还值得注意的是,如前面参照图1所述,通过将图片划分Pdiv_0至Pdiv_7的手移动速度矢量Vec_0至Vec_7的符号反向得到的相反符号分量用于对所述帧补偿由于手移动以及焦平面现象造成的失真。
另外,在该实施例中,一帧的任何图片划分Pdiv_i的手移动位移矢量VCdiv_i用作该帧的图片划分Pdiv_i的移动矢量。通过从一个图像位置开始的读取操作,从用于存储图像数据的图像存储器读取帧的图片划分Pdiv_i的图像数据,所述图像位置是从物理地对应于图片划分Pdiv_i的位置移动依据图片划分Pdiv_i的手移动位移矢量VCdiv_i计算出的位移后的位置。移动后的图像位置也称为要从图像存储器读取的图片划分图像数据的存储器地址位置。
更详细地说,在该实施例中、对帧补偿由于手移动和焦平面现象造成的失真的处理中,通过从一个图像位置开始读取操作而从图像存储器读取帧的图片划分Pdiv_0的图像数据,所述图像位置是在水平和垂直方向上从物理地对应于图片划分Pdiv_0的位置移动了图像失真位移的位置,其中依据对根据前面给出的等式(3)从图片划分Pdiv_0的手移动位移矢量VCdiv_0推导出的手移动速度矢量Vec_0的相反符号分量关于时间进行积分处理得到的值计算出所述图像失真位移。分别以同样方式依据手移动速度矢量Vec_1至Vec_7对其它图片划分Pdiv_1至Pdiv_7进行该读取操作。
[作为补偿图像信号失真的装置而由本发明提供的装置的第一实施例]
通过参照附图,以下描述解释使用上述特征实现对图像信号补偿由于手移动造成的失真的失真补偿装置的第一实施例。图30是示出第一实施例的方框图,第一实施例实现作为本发明提供的失真补偿装置的拍摄装置。
如图30所示,根据该实施例的拍摄装置10包括拍摄信号处理系统、CPU(中央处理单元)1、用户操作输入单元3、图像存储器单元4和记录/再现装置5,这些部件由系统总线2彼此连接。拍摄信号处理系统包括拍摄镜头10L、图像拾取器件11、定时信号产生单元12、预处理单元13、数据转换单元14、手移动位移矢量检测单元15、失真补偿分辩率转换单元16、编码/解码单元17、NTSC编码器18和监控器6。应当注意,本专利说明书中描述的CPU 1包括用于存储被CPU 1当作处理程序执行的各种软件的ROM(只读存储器)和被CPU1用作工作区的RAM(随机存取存储器)。
接到用户通过用户操作输入单元3输入的、作为启动拍摄和记录处理命令的操作命令,图30所示的拍摄装置10进行记录后面将描述到的拍摄数据的处理。接到用户通过用户操作输入单元3输入的、作为启动再现记录的拍摄图像数据的处理的命令的操作命令,图30所示的拍摄装置10进行再现在记录/再现装置5中使用的记录介质上记录的拍摄数据的处理。
用户输入到用户操作输入单元3的输入被提供给作为控制单元的CPU 1。输入的例子是图像放大/收缩命令、分辨率指定输入和变焦放大指定输入。CPU 1依据用户输入的输入产生控制信号,并将控制信号提供给定时信号产生单元12及其它处理单元。
如图30所示,通过使用拍摄镜头10L的照相机光学系统从拍摄对象进入的光束射向对光束进行拍摄处理的图像拾取器件11。应当注意,照相机光学系统本身并没有显示在图中。在该实施例中,图像拾取器件11配置为CCD(电荷耦合器件)成像器。应当注意,图像拾取器件11也可以配置为CMOS(互补金属氧化物半导体)成像器。
在根据的该实施例的拍摄装置中,当用户通过用户操作输入单元3向拍摄装置10输入开始拍摄及记录处理的命令时,图像拾取器件11输出包括三原色,即红(R)、绿(G)和蓝(B)色的bayer阵列的RAW(写后读取)信号。
在该实施例中,作为模拟拍摄图像信号的RAW信号是根据定时信号产生单元12产生的定时信号进行采样处理后得到的信号。
图像拾取器件11向预处理单元13提供模拟拍摄信号,以进行诸如缺陷补偿处理和γ补偿处理的处理。预处理单元13将预处理结果输出给数据转换单元14。
数据转换单元14将提供至其的模拟拍摄信号转换成包括亮度信号分量Y和色度信号分量Cb/Cr的数字拍摄信号(YC数据),通过系统总线2将数字拍摄信号提供给图像存储器单元4。
在图30所示的实施例中,图像存储器单元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系统的标准彩色视频信号的NTSC(全国电视系统委员会)编码器18。然后,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也可以实现为由CPU1执行的软件。同样地,失真补偿分辩率转换单元16可以实施为硬件或DSP(数字信号处理器)。可替换的,失真补偿分辨率转换单元16也可以实现为由CPU 1执行的软件。
[手移动位移矢量检测单元15的操作]
<第一典型实施方式>
如下参照图31和32解释实现手移动位移矢量检测单元15的操作的第一典型实施方式的处理流程图。
流程图从步骤S101开始,在该步骤,在搜索范围105中具有坐标(vx,vy)的位置指定由图3或28中的附图标记106指示的参考块Ii。在搜索范围105中指定参考块Ii的操作也是指定对应于参考块Ii的参考矢量的操作。如前所述,(vx,vy)坐标是由指定参考矢量107指向的位置的坐标,并用(0,0)坐标作为原点位置的坐标。(0,0)坐标是目标块103在原始帧101上的位置的坐标或者目标块投影图像块104在参考帧102上的位置的坐标。坐标vx表示由指定参考矢量107指向的位置从坐标为(0,0)的原点位置的水平方向位移,而坐标vy表示由指定参考矢量107指向的位置从指向的位置从原点位置的垂直方向位移。与前述传统方法很像,位移vx和vy都按照像素来表示。
如前所述,搜索范围105的中心位置作为目标块投影图像块104的中心位置或原点位置(0,0)。参考块106在搜索范围105上从一个位置移动到另一个位置,在水平方向上移动了在定义搜索范围105的水平极限的范围±Rx内的距离,且在垂直方向上移动了在定义搜索范围105的垂直极限的范围±Ry内的距离。在这种情况下,量(vx,vy)满足以下关系:
-Rx≤vx≤+Rx以及-Ry≤vy≤+Ry
在下一个步骤S102中,坐标为(x,y)的点(或像素)指定为图3中用附图标记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中,像素值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的处理。
除了在步骤S103和S104的情况下SAD值存储在临时存储位置以外,步骤S101至S105的处理分别与图5所示的流程图的步骤S1至S5的处理完全一样。
另一方面,如果步骤S105产生的确定结果表示已经对目标块Io中的所有点(x,y)以及它们在参考块Ii中的所有对应点(x+vx,y+vy)进行了步骤S3和S4的处理,根据第一典型实施方式的处理流程继续到步骤S106,在该步骤通过缩小参考矢量(vx,vy)来计算缩小参考矢量(vx/n,vy/n)。具体地,通过将参考矢量(vx,vy)乘以缩小因子1/n计算缩小参考矢量(vx/n,vy/n)。
然后,在下一步骤S107,识别位于缩小参考矢量(vx/n,vy/n)附近的多个邻近参考矢量。邻近参考矢量的每一个是具有整数vx/n值和整数vy/n值的缩小参考矢量(vx/n,vy/n),它们分别最接近于缩小参考矢量(vx/n,vy/n)的x方向和y方向值(vx/n,vy/n)。在该实施方式中,邻近参考矢量的个数设定为4。然后,在下一个步骤S108,如前所述,基于由邻近参考矢量所指向的位置与缩小参考矢量(vx/n,vy/n)所指向的位置之间的关系,采用线性加权分布技术,将在步骤S104存储在临时位置的SAD值拆分成四个分量SAD值。随后,在下一步骤S109,这四个分量SAD值在包括在缩小相关值表中作为分别与四个邻近参考矢量相关的四个表元素的四个表元素中进行分发。
在完成步骤S109的处理以后,根据第一典型实施方式的处理流程进行到图32所示的流程图的步骤S111,以产生关于是否已经对搜索范围105中的所有参考块位置,即对所有参考矢量(vx,vy),进行了步骤S101至S109的处理的确定结果。
如果步骤S111产生的结果表明还没有对所有参考矢量(vx,vy)进行了步骤S101至S109的处理,根据第一典型实施方式的处理流程退回到步骤S101,在该步骤由另一参考矢量(vx,vy)所指向的另一参考块Ii设定在搜索范围105中的另一块位置(vx,vy)处。然后,重复步骤S101及随后步骤的处理。
另一方面,如果在步骤S111产生的确定结果表明已经对所有参考矢量(vx,vy)进行了步骤S101至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)乘以如图6所示的缩小因子的倒数值n计算出具有原始大小和原始方向的移动矢量(px×n,py×n)。
图31和32中所示的流程图表示根据依照第一典型实施方式的块匹配技术来进行以检测一个目标块的移动矢量的处理。对于分段的帧,需要如图28所示为帧片段检测多个移动矢量。在这种的情况下,对于每个要被检测的移动矢量或每个帧片段,必须重新设定搜索范围和缩小因子1/n,以便进行由图31和32所示的流程图代表的处理。
请记住,不必说,使用上述位于朝向垂直和水平方向的平面上的三次曲线的方法也能用来找出指向以分数水平的精度在搜索范围上检测到的位置的最小值矢量(px,py)的技术。
<第二典型实施方式>
在上述第一典型实施方式的情况下,通过采用线性加权分布技术,为参考块或参考矢量找出SAD值,然后将SAD值拆分为多个邻近参考矢量的多个分量SAD值,所述多个邻近参考矢量的每一个靠近作为收缩参考矢量的结果而得到的收缩参考矢量。
另一方面,在第二典型实施方式的情况下,计算作为目标块上的像素与参考块上的对应像素之间的像素值之差的相关值。因而所计算的相关值不是SAD值。然后,通过采用线性加权分布技术,将所计算的相关值拆分为多个邻近参考矢量的多个分量相关值,所述多个邻近参考矢量的每一个靠近作为缩小指向参考块的参考矢量的结果而得到的收缩参考矢量。为目标块中的所有像素(或参考块中的所有对应像素)重复计算相关值的处理以及将所计算的相关值拆分成多个分量相关值的处理,以便通过采用累加技术找出多个最终分量相关值。当对参考块中的所有对应像素完成了计算相关值的处理以及将所计算的相关值拆分成多个分量相关值的处理时,所得到的缩小相关值表(或所得到的收缩SAD表)的状态与通过第一典型实施方式产生的缩小相关值表的相同。
如下通过参照图33和34解释实现手移动位移矢量检测单元15的操作的第二典型实施方式的处理流程。
由于图33所示的流程图的步骤S121至S123的处理分别与图31所示的步骤S101至S103的处理相同,所以不再详细解释步骤S121至S123的处理。
在第二典型实施方式的流程的下一步骤S123,根据等式(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值的缩小参考矢量(vx/n,vy/n),它们分别最接近于缩小参考矢量(vx/n,vy/n)的x方向和y方向值(vx/n,vy/n)。在该实施方式中,邻近参考矢量的个数设定为4。然后,在下一个步骤S126,如前所述,基于由邻近参考矢量所指向的位置与由缩小参考矢量(vx/n,vy/n)所指向的位置之间的关系,采用线性加权分布技术,将像素值差异的绝对值的、在步骤S123发现的绝对值α分成四个分量差异。
随后,在下一步骤S127,这四个分量差异分布在包含在缩小相关值表中的四个表元素中,该四个表元素作为分别与四个邻近参考矢量相关的四个表元素。
在完成步骤S127的处理以后,根据第二典型实施方式的处理流程继续到下一步骤S128,以产生关于是否已经对目标块Io中的所有点(x,y)以及它们在参考块Ii中的所有对应点(x+vx,y+vy)进行了步骤S122至S127的处理的确定的结果。如果确定的结果表明还没有对目标块Io中的所有像素(x,y)以及它们在参考块Ii中的所有对应像素(x+vx,y+vy)进行步骤S122至S127的处理,则根据第二典型实施方式的处理流程退回到步骤S122,在该步骤坐标为(x,y)的另一点被指定为目标块Io中的另一个点。然后,重复步骤S122之后的步骤S123至S127的处理。
另一方面,如果在步骤S128产生的确定结果表明已经对目标块Io中的所有像素(x,y)以及它们在参考块Ii中的所有对应像素(x+vx,y+vy)进行了步骤S123至S127的处理,则根据第二典型实施方式的处理流程继续到图34所示的流程图的步骤S131,以产生关于是否已经对搜索范围105中的所有参考块位置,即对所有参考矢量(vx,vy),进行了步骤S122至S128的处理的确定的结果。
如果在步骤S131产生的确定结果表明还没有对搜索范围105中的所有参考块位置,即对所有参考矢量(vx,vy)进行步骤S122至S128的处理,则根据第二典型实施方式的处理流程退回到步骤S121,在该步骤由另一参考矢量(vx,vy)指向的另一参考块Ii被设定在搜索范围105中的另一块位置(vx,vy)处。然后,重复步骤S122及后续步骤的处理。
另一方面,如果在步骤S131产生的确定结果表明已经对搜索范围105中的所有参考块位置或对参考矢量(vx,vy)进行了步骤S122至S128的处理,也就是说,如果缩小相关值表的所有元素已经被充填了最终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)乘以如图6所示的缩小因子的倒数值n计算出具有原始大小和原始方向的移动矢量(px×n,py×n)。
图33和34中所示的流程图表示根据依照第二典型实施方式的块匹配技术来进行以检测一个目标块的移动矢量的处理。对于分段的帧,需要如图28所示为帧片段检测多个移动矢量。在这种的情况下,对于每个要被检测的移动矢量或每个帧片段,必须重新设定搜索范围和缩小因子1/n,以便进行由图33和34所示的流程图代表的处理。
请切记,不必说,即使在第二典型实施方式中,代替上述二次曲面方法,基于如上所述分别位于朝向垂直和水平的平面上的两个三次曲线的三次曲线方法也能用来找出指向以分数水平的精度在搜索范围上检测到的位置的最小值矢量(px,py)的技术。
<第三典型实施方式>
如果采用根据该实施例的确定移动矢量的任何一种方法,确定移动矢量的处理都不会有诸如检测到完全不正确的移动矢量的错误,即使是对用于缩小参考矢量的一维缩小因子1/64,这从图24所示的方法展示的效果可以明显看出。因而,实际上,能以1/4096=(1/64×1/64)的两维缩小因子成功地减小用作典型相关值表的SAD表的大小。
事实上,可以尝试进一步减小收缩SAD表(用作典型相关值表)的大小,其中已经作为利用两维收缩因子1/4096或一维缩小因子1/64进行的缩小处理的结果得到所述收缩SAD表。也就是说,首先,通过以1/64的一维缩小因子1/na进行检测移动矢量的第一处理得到收缩SAD表。然后,在以一般为1/8的一维缩小因子1/nb进行检测移动矢量的第二处理之前,进一步减小搜索范围(对应于相关值表)的大小,得到其中心与检测到的移动矢量所指向的位置重合的新搜索范围。因而,通过减小一维缩小因子(即,增大1/n的数值)进行检测移动矢量的处理,以便将所得到的矢量误差减小到容许范围内的数值。通过对于第二处理适当地设定一维缩小因子以便以适当值检测移动矢量,能以很高的精度检测移动矢量。
如下参照图35至38所述的流程图解释实现手移动位移矢量检测单元15的操作的第三典型实施方式的处理流程。
由图35至38所示的流程图表示为根据第三典型实施方式的处理的处理基本上依据根据第一典型实施方式检测移动矢量的处理。因而,图35所示的流程图的步骤S141至S149的处理分别与图31所示的流程图的步骤S101至S109的处理完全一样,而图36所示的流程图的步骤S151至S155的处理分别和图32所示的流程图的步骤S111至S115的处理完全一样。
然而,在第三典型实施方式的情况下,检测移动矢量的处理不在图36所示的流程图的步骤S155结束。取而代之的是,在步骤S155检测的移动矢量用作第一移动矢量。然后,在下一步骤S156,通过将由检测出的第一移动矢量所指向的位置用作具有减小的大小的新搜索范围的中心,并通过将在检测移动矢量的第一处理中使用的一维缩小因子从1/na减小成在第二处理中使用的1/nb(其中na>nb),进一步减小在同一参考帧内的搜索范围的尺寸以得到新搜索范围。
详细地说,在第一移动矢量检测处理中检测的移动矢量指向包括与目标块具有一定程度的相关性的参考块的近似块范围。然后,可以新设定一个较窄的搜索范围作为在检测另一移动矢量的第二处理中使用的新块范围,所述搜索范围以包括与目标块具有一定程度的相关性的参考块的近似块范围为中心。通过使用较小缩小矢量,可以期望能检测具有较小误差的第二移动矢量。
因而,如上所述,在步骤S156,使用较窄搜索范围和减小的一维缩小进行第二处理,以在图36所示的流程图的步骤S157和S158、图37所示的流程图的步骤S161至S168和图38所示的流程图的步骤S171至S174以与第一移动矢量检测处理完全相同的方式检测另一移动矢量。这些步骤的处理与图31所示流程图的步骤S101至S109的处理以及图32所示的流程图的步骤S111至S115的处理是完全相同。
通过执行上述第二移动矢量检测处理,最后,在步骤S174检测第二移动矢量作为所需的最终移动矢量。
通过重复执行两次根据第一典型实施方式的检测移动矢量的方法来实现根据第三典型实施方式的检测移动矢量的方法。然而不用说,以逐渐减小的搜索范围以及,如果需要的话,逐渐减小的缩小因子,可以重复执行两次以上根据第一典型实施方式的检测移动矢量的方法。
另外,也不用说,在实施根据第三典型实施方式的检测移动矢量(px,py)的方法时,可以执行根据第二典型实施方式的检测移动矢量(px,py)的方法,来代替根据第一典型实施方式的检测移动矢量(px,py)的方法。此外,与前述第一和第二典型实施方式的情况一样,取代上述二次曲面方法,也可以采用基于分别朝向垂直和水平方向的平面上的两个三次曲线的三次曲线方法,作为以分数水平精度检测指向一位置的移动矢量(px,py)的方法。
[失真补偿分辩率转换单元16的典型构造及其处理操作]
图39是示出根据该实施例的失真补偿分辨率转换单元16的典型构造的框图。
如图所示,失真补偿分辩率转换单元16包括信号处理单元50、图像存储器60、初始坐标计算单元70和速度矢量处理单元80。图像存储器60、初始坐标计算单元70和速度矢量处理单元80连接至信号处理单元50。
信号处理单元50是这样的一个部件,用于对从在图像存储器单元4中使用的帧存储器42接收的成像器所成图像数据Din进行补偿处理,同时执行从连接到信号处理单元50的图像存储器60读取数据以及向图像存储器60写入数据,以便产生具有特定分辩率的输出图像数据Dout的处理的控制。信号处理单元50进行的处理包括对成像器所成图像数据Din补偿由手移动造成的失真的处理,以及成像器所成图像数据Din的电子变焦(zoom)处理。成像器所成图像数据Din的电子变焦处理是电子地放大和收缩成像器所成图像数据Din的处理。
为了水平同步信号H-SYNC、垂直同步信号V-SYNC和1像素周期时钟信号CLK的同步,信号处理单元50用由处理定时信号St确定的定时从定时信号产生单元12接收诸如水平同步信号H-SYNC、垂直同步信号V-SYNC和1像素周期时钟信号CLK的信号。水平同步信号H-SYNC是与输出图像数据Dout的水平周期同步的信号,而垂直同步信号V-SYNC是与输出图像数据Dout的垂直周期同步的信号。应当注意,水平同步信号H-SYNC、垂直同步信号V-SYNC、1像素周期时钟信号CLK、时钟信号和处理定时信号St本身未显示在附图中。
速度矢量处理单元80是从前述手移动位移矢量检测单元15接收移动矢量的部件。在该实施例的情况下,速度矢量处理单元80从手移动位移矢量检测单元15接收图29所示的64个移动矢量205V1至205V64。速度矢量处理单元80可以实现为硬件或由CPU 1执行的软件。
如图39所示,速度矢量处理单元80包括速度矢量产生单元81、水平补偿速度分量检测单元82和垂直补偿速度分量检测单元83。速度矢量产生单元81是根据从接收自手移动位移矢量检测单元15的64个移动矢量205V1至205V64产生八个图片划分Pdiv_0至Pdiv_7的八个手移动速度矢量Vec_0至Vec_7的部件。速度矢量产生单元81将八个手移动速度矢量Vec_0至Vec_7提供给水平补偿速度分量检测单元82和垂直补偿速度分量检测单元83。
图40是显示速度矢量产生单元81的典型硬件构造的示图。如图40所示,速度矢量产生单元81包括:平均化处理单元810、811、812、813、814、815、816和817,它们分别与八个图片划分Pdiv_0至Pdiv_7相关;减法单元821、822、823、824、825、826和827;手移动矢量输出单元830;以及速度矢量输出单元840。减法单元821、822、823、824、825、826和827的每一个是进行减法、以便找出从位于前一阶段的两个平均化处理单元接收的两个手移动位移矢量VCdiv之间的差异的部件。
平均化处理单元810是这样一个部件:用于从手移动位移矢量检测单元15接收与平均化处理单元810相关的图片划分Pdiv_0的8个移动矢量205V1至205V8,并对8个移动矢量205V1至205V8进行包括前述异常排除处理的平均化处理,以产生图片划分Pdiv_0的手移动位移矢量Vcdiv。同样地,其他平均化处理单元811、812、813、814、815、816或817是这样的部件:分别从手移动位移矢量检测单元15接收与平均化处理单元811、812、813、814、815、816或817相关的图片划分Pdiv_1、Pdiv_2、Pdiv_3、Pdiv_4、Pdiv_5、Pdiv_6或Pdiv_7的8个移动矢量205Vi至205V(i+7),并对8个移动矢量205Vi至205V(i+7)进行包括前述异常排除处理的平均化处理,以分别产生图片划分Pdiv_1、Pdiv_2、Pdiv_3、Pdiv_4、Pdiv_5、Pdiv_6或Pdiv_7的手移动位移矢量VCdiv_1、VCdiv_2、VCdiv_3、VCdiv_4、VCdiv_5、VCdiv_6或VCdiv_7,其中i是分别具有值9、17、25、33、41、49或57的整数。
减法单元821是这样一个部件:用于通过依据前述等式(3)计算分别从平均化处理单元810和811接收的手移动位移矢量VCdiv_0和VCdiv_1之间的差异来找出图片划分Pdiv_0的手移动速度矢量Vec_0,并向速度矢量输出单元840提供手移动速度矢量Vec_0。同样地,其它减法单元822、823、824、825、826或827是这样的部件:用于通过依据前述等式(3)计算分别从平均化处理单元8li和81(i+1)接收的手移动位移矢量VCdiv_i和VCdiv_(i+1)之间的差异来分别找出图片划分Pdiv_1、Pdiv_2、Pdiv_3、Pdiv_4、Pdiv_5或Pdiv_6的手移动速度矢量Vec_1、Vec_2、Vec_3、Vec_4、Vec_5或Vec_6,并向速度矢量输出单元840提供手移动速度矢量Vec_1、Vec_2、Vec_3、Vec_4、Vec_5或Vec_6,其中i是范围1至6内的整数。
速度矢量输出单元840是用于找出前述位于图像底部的图片划分Pdiv_7的手移动速度矢量Vec_7的部件。在该实施例的情况下,速度矢量输出单元840基于手移动速度矢量Vec_0、Vec_1、Vec_2、Vec_3、Vec_4、Vec_5和Vec_6、通过采用评估技术找出位于图像底部的图片划分Pdiv_7的手移动速度矢量Vec_7。速度矢量输出单元840将手移动速度矢量Vec_7连同分别从减法单元821至827接收的手移动速度矢量Vec_0至Vec_6一起提供给水平补偿速度分量检测单元82和垂直补偿速度分量检测单元83。
图41示出代表为了进行速度矢量产生单元80的处理而执行的软件的流程图。应当注意,在图41所示的流程图的以下描述中,移动矢量205Vi至205V(i+7)称为矢量V(x,y),其中x和y每一个都是范围1至8内的整数。
如图所示,流程图从步骤S181开始,在该步骤从手移动位移矢量检测单元15找回(retrieve)移动矢量V(x,y)。然后,在下一个步骤S182,通过找出所比较的移动矢量之间的差将找回的移动矢量V(x,y)与同一图片划分的另一找回的移动矢量V(0至7,y)进行比较。随后,在下一个步骤S183,通过找出所比较的移动矢量之间的差,将找回的移动矢量V(x,y)与垂直靠近已经从其中找回移动矢量V(x,y)的图片划分的图片划分的找回的移动矢量V(0至7,y±1)进行比较。
然后,处理的流程前进到下一步骤S184,以便通过确认作为在步骤S182和S183进行的比较处理的结果而得到的每个差不大于事先确定的阈值,产生关于找回的移动矢量V(x,y)是否是异常矢量的确定结果。
如果由作为步骤S182和S183进行的比较处理的结果得到的差异中的任何一个大于阈值的事实证明,步骤S184产生的确定结果表明找回的移动矢量V(x,y)是异常矢量,则处理流前进到步骤S185,在该步骤将找回的移动矢量V(x,y)排除在平均化处理之外。然后,处理流返回步骤S181以重复该处理及后续步骤。
另一方面,如果由作为步骤S182和S183进行的比较处理的结果得到的差异中没有一个大于阈值的事实证明,在步骤S184产生的确定结果表明找回的移动矢量V(x,y)不是异常矢量,则处理流前进到步骤S186,在该步骤作出在平均化处理中包括找回的移动矢量V(x,y)的决定。然后,处理流进行到步骤S187,以产生关于是否已经对整个屏的所有移动矢量进行了步骤S181至S186的处理的确定结果。
如果步骤S187产生的确定结果表明还没有对整个屏的所有移动矢量进行步骤S181至S186的处理,处理流退回到步骤S181,对重复该处理及后续步骤。
另一方面,如果步骤S187产生的确定结果表明已经对整个屏的所有移动矢量进行了步骤S181至S186的处理,处理流前进到步骤S188,在该步骤进行平均化处理以计算每个图片划分Pdiv的平均移动矢量VCdiv。
然后,在下一步骤S189,找出任何两个相邻图片划分之间、在平均化处理中计算的平均移动矢量的差,并作为手移动速度矢量Vec。随后,处理流进行到步骤S190,以产生关于是否已经对Pdiv_0至Pdiv_6完成了计算平均移动矢量VCdiv的平均处理以及找出手移动速度矢量Vec的处理的确定结果。
如果在步骤S190产生的确定结果表明还没有对所有图片划分Pdiv_0至Pdiv_6完成计算平均移动矢量VCdiv的平均化处理以及找出手移动速度矢量Vec的处理,处理流就返回到步骤S188以重复该处理及后续步骤。另一方面,如果在步骤S190产生的确定结果表明已经对所有图片划分Pdiv_0至Pdiv_6完成了计算平均移动矢量VCdiv的平均化处理以及找出手移动速度矢量Vec的处理,处理流就前进到步骤S191,在该步骤通过采用前述评估技术找出位于图像底部的图片划分Pdiv_7的手移动速度矢量Vec_7。最后,结束处理。
如前所述,速度矢量输出单元840将通过进行上述处理找出的图片划分Pdiv_0至Pdiv_7的手移动速度矢量Vec_0至Vec_7提供给水平补偿速度分量检测单元82和垂直补偿速度分量检测单元83。
水平补偿速度分量检测单元82是这样一个部件:用于提取分别为图片划分Pdiv_0至Pdiv_7找出的手移动速度矢量Vec_0至Vec_7的每一个的水平方向分量,并找出每个水平方向分量的相反符号分量。让我们将该相反符号分量称为水平补偿速度分量X_sTB_0至X_STB_7。水平补偿速度分量检测单元82将水平补偿速度分量X_STB_0至X_STB_7提供给信号处理单元50。
另一方面,垂直补偿速度分量检测单元83是这样一个部件:用于提取分别为图片划分Pdiv_0至Pdiv_7找出的手移动速度矢量Vec_0至Vec_7的每一个的垂直方向分量,并找出每个垂直方向分量的相反符号分量。让我们将该相反符号分量称为垂直补偿速度分量Y_STB_0至Y_STB_7。垂直补偿速度分量检测单元83将垂直补偿速度分量Y_STB_0至Y_STB_7提供给信号处理单元50。
另外,速度矢量产生单元81通过手移动矢量输出单元830将由平均化处理单元810为图片划分Pdiv_0找出的平均移动矢量VCdiv_0照原样提供给初始坐标计算单元70。
初始坐标计算单元70从手移动速度矢量VCdiv_0找出用于存储被处理的帧的图像数据的图像存储器中的读取位置的初始坐标(SX,SY),并将该初始坐标(SX,SY)提供给信号处理单元50。
然后,如后面将详细描述的,在控制向图像存储器60写入图像数据及从图像存储器60读取图像数据的同时,信号处理单元50从接收自速度矢量处理单元80中使用的水平补偿速度分量检测单元82的水平补偿速度分量X_STB_0至X_STB_7为每个水平线计算水平补偿位移量SX_ADD,并从接收自速度矢量处理单元80中使用的垂直补偿速度分量检测单元83的垂直补偿速度分量Y_STB_0至Y_STB_7为每个水平线计算垂直补偿位移量SY_ADD。然后,信号处理单元50使用水平补偿位移量SX_ADD和垂直补偿位移量SY_ADD,进行对接收自图像存储器单元4的成像器所成图像数据Din补偿由手移动造成的图像失真的处理,以便产生输出图像数据Dout。
应当注意,如前所述,除了电子变焦(图像放大和收缩)处理,信号处理单元50也进行诸如根据包括标准精细度和高精细度的预定量的分辩率转换处理的处理。
也就是说,信号处理单元50配备有用于进行失真补偿处理、电子变焦处理和输出数据产生处理的水平处理块51、垂直处理块52和寄存器块53。水平处理块51包括水平手移动补偿量积分单元511和水平图像处理单元512,而垂直处理块52包括垂直水平手移动补偿量积分单元521和垂直图像处理单元522。
水平处理块51是对成像器所成图像数据Din进行水平方向处理的部件。水平方向处理包括水平方向失真补偿处理。另一方面,垂直处理块52是对成像器所成图像数据Din进行垂直方向处理的部件。垂直方向处理包括垂直方向失真补偿处理。寄存器块53是用于进行如下处理的部件:将作为每个手移动速度矢量Vec的分量的、每一个都在速度矢量处理单元80中使用的水平补偿速度分量检测单元82中检测的水平补偿速度分量X_STB传给水平处理块51,并将作为每个手移动速度矢量Vec的分量的、每一个都在速度矢量处理单元80中使用的垂直补偿速度分量检测单元83中检测的垂直补偿速度分量Y_STB传给垂直处理块52。
在该实施例的情况下,水平补偿速度分量X_STB_0至X_STB_7和垂直补偿速度分量Y_STB_0至Y_STB_7的每一个是每水平线周期时间长度的手移动补偿量。
也就是说,水平补偿速度分量X_STB(X_STB_0至X_STB_7)在数量上表达如下:
X_STB=水平补偿量/水平线周期的时间长度
同样地,垂直补偿速度分量Y_STB(Y_STB_至Y_STB_7)在数量上表达如下:
Y_STB=垂直补偿量/水平线周期的时间长度
水平补偿速度分量X_STB_0至X_STB_7每一个是水平方向像素间隔dx的倍数,该间隔定义为2个水平相邻像素之间的水平方向距离。在以下描述中,水平方向像素间隔dx的倍数的值可包括分数部分。也就是说,水平补偿速度分量X_STB_0至X_STB_7的每一个是在下文中呈现为一个值的像素数,其可包括分数部分。同样地,垂直补偿速度分量Y_STB_0至Y_STB_每一个是垂直方向像素间隔dy的倍数,该间隔定义为2个垂直相邻像素之间的垂直方向距离。在以下描述中,垂直方向像素间距dy的倍数的值可包括分数部分。也就是说,垂直补偿速度分量Y_STB_0至Y_STB_7的每一个是在下文中呈现为一个值的像素数,其可包括分数部分。
通过使用用于将速度矢量产生单元81输出的手移动速度Vec的水平分量转换成在下文中呈现为一个值的像素数的表,可以在水平补偿速度分量检测单元82中找出水平补偿速度分量X_STB_0至X_STB_7,其可包括分数部分。更具体地,从该表中搜索对应于从速度矢量产生单元81输入的手移动速度Vec的水平分量的像素数。然后,具有与手移动速度Vec的水平分量的方向相反方向的符号被附加到像素数上,以便得到水平补偿速度分量X_STB。同样地,通过使用用于将速度矢量产生单元81输出的手移动速度Vec的垂直分量转换成在下文中呈现为一个值的像素量数表,可以在垂直补偿速度分量检测单元83中找出垂直补偿速度分量Y_STB_0至Y_STB_7,其可包括分数部分。更具体地,从该表中搜索对应于从速度矢量产生单元81输入的手移动速度Vec的垂直分量的像素量。然后,具有与手移动速度Vec的垂直分量的方向相反的标记被附加到像素量上,以便得到垂直补偿速度分量Y_STB。
在该实施例中,每个水平补偿速度分量X_STB_0至X_STB 7都用于在时间轴积分处理中找出水平手移动补偿位移量SX_ ADD,其实际上是对于与水平补偿速度分量X_STB相关的水平线的简单累加处理。也就是说,如图2所示,关于时间的积分处理是如下找出水平手移动补偿位移量SX_ADD的处理:
SX_ADD=X_STB的累加和
同样地,在该实施例中,每个垂直补偿速度分量Y_STB_0至Y_STB_7都用于在时间轴积分处理中找出垂直手移动补偿位移量SY_ADD,其实际上是对于与垂直补偿速度分量Y_STB相关的水平线的简单累加处理。也就是说,如图2所示,关于时间的积分处理是如下找出垂直手移动补偿位移量SY_ADD的处理:
SY_ADD=Y_STB的累加和
然后,在例如由定时信号产生单元12产生的定时信号St设定的定时,将水平补偿速度分量检测单元82产生的水平补偿速度分量X_STB_0至X_STB_7以及垂直补偿速度分量检测单元83产生的垂直补偿速度分量Y_STB_0至Y_STB_7顺序提供给在信号处理单元50中使用的寄存器块53的IF(接口)寄存器。应当注意,IF寄存器本身未显示在图39中。
随后,在作为除了由定时信号St设定的上述定时的、为水平处理块51产生的处理定时,将水平补偿速度分量X_STB_0至X_STB_7顺序地从IF(接口)寄存器传给在寄存器块53中使用的寄存器。同样地,在作为除了由定时信号St设定的上述定时的、为垂直处理块52产生的处理定时,将垂直补偿速度分量Y_STB_0至Y_STB_7顺序地从接口寄存器传给寄存器块53中使用的寄存器。应当注意,图39中未示出该水平处理寄存器和该垂直处理寄存器。
对于图片划分Pdiv_0至Pdiv_7,水平处理块51中使用的水平手移动补偿量积分单元511分别对寄存器块53中使用的水平处理寄存器中存储的水平补偿速度分量X_STB_0至X_STB_7进行前述关于时间的积分处理,以便找出图2中所示的图片划分Pdiv_0至Pdiv_7的水平手移动补偿位移量SX_ADD。同样地,对于图片划分Pdiv_0至Pdiv_7,垂直处理块52中使用的垂直手移动补偿量积分单元521分别对寄存器块53中使用的垂直处理寄存器中存储的垂直补偿速度分量Y_STB_0至Y_STB_7进行前述关于时间的积分处理,以便找出图片划分Pdiv_0至Pdiv_7的垂直手移动补偿位移量SY_ADD。
水平处理块51中使用的水平图像处理单元512进行补偿处理,以便通过使用由水平手移动补偿量积分单元511计算的水平手移动补偿位移量SX_ADD对图像补偿由手移动在水平方向上造成的失真。同样地,垂直处理块52中使用的垂直图像处理单元522进行补偿处理,以便通过使用由垂直手移动补偿量积分单元521计算的垂直手移动补偿位移量SY_ADD对图像补偿由于手移动在垂直方向上造成的失真。水平处理块51中使用的水平图像处理单元512和垂直处理块52中使用的垂直图像处理单元522进行补偿处理,同时控制向图像存储器60写入图像数据及从图像存储器60读取图像数据的操作。
在该实施例中,图像存储器60具有水平处理FIFO行存储器61和垂直处理FIFO行存储器62。在该实施例的情况下,水平处理FIFO行存储器61具有存储一个水平线的数据的存储器容量。另一方面,垂直处理FIFO行存储器62具有如后面所述的、与垂直方向内插处理的FIR(有限脉冲响应)滤波器的抽头一样多的水平线的数据的存储容量。
水平处理块51中使用的水平图像处理单元512具有均未显示在图39中的FIFO存储器控制器和水平方向内插处理单元。FIFO存储器控制器是用于控制向水平处理FIFO行存储器61写入图像数据及从水平处理FIFO行存储器61读取图像数据的操作的部件。水平方向内插处理单元是这样一个部件,假定计算出的水平手移动补偿位移量SX_ADD具有表示像素的后补偿位置与从像素的真实位置水平方向偏移重合的分数部分,来进行内插处理。如后所述,根据该实施例的水平方向内插处理单元使用后面简称为水平FIR滤波器的水平方向数字FIR滤波器。
同样地,垂直处理块52中使用的垂直图像处理单元522具有均未显示在图39中的存储器控制器和垂直方向内插处理单元。存储器控制器是用于控制向垂直处理FIFO行存储器62写入图像数据及从垂直处理FIFO行存储器62读取图像数据的操作的部件。垂直方向内插处理单元是这样一个部件,假定计算出的垂直手移动补偿位移量SY_ADD具有表示像素的后补偿位置与从像素的真实位置垂直方向偏移重合的分数部分,来进行内插处理。如后所述,根据该实施例的垂直方向内插处理单元使用后面简称为垂直FIR滤波器的垂直方向数字FIR滤波器。
以下的描述解释在假定计算的水平手移动补偿位移量SX_ADD和计算的垂直手移动补偿位移量SY_ADD中任何一个具有分数部分的前提下所进行的内插处理。
让我们想像一种典型情况,其中手移动的水平方向分量速度分量X_STB引起如图42中所示的图像失真。也就是说,在图42中所示的例子中,如果没有手移动,像素G11、G21、G31等、像素G12、G22、G32等以及像素G13、G23、G33等分别位于垂直与水平虚线交叉处。然而,因为有手移动,所以像素G11、G21、G31等、像素G12、G22、G32等以及像素G13、G23、G33等分别位于倾斜实线与水平虚线的交叉处。
为了对图像补偿由于手移动造成的失真,必需将移位的像素位置恢复到它们的原始位置。如图42所示,水平线的像素位置偏移大小是为该线计算的水平手移动补偿位移量SX_ADD。如果所计算的水平手移动补偿位移量SX_ADD是像素间隔dx的倍数,则为了对图像补偿由于手移动造成的失真,从特定位置读取的图像数据作为从特定位置移位一定距离后的位置处的像素的图像数据,所述距离等于所计算的水平手移动补偿位移量SX_ADD,其是像素间隔dx的倍数。
然而,如果所计算的水平手移动补偿位移量SX_ADD不是像素间隔dx的倍数,即,如果所计算的水平手移动补偿位移量SX_ADD具有分数部分,像素不存在于从特定位置偏移一定距离的位置上,所述距离等于所计算的水平手移动补偿位移量SX_ADD。在这种情况下,需要基于每一个从观察位置移位一定距离的多个位置上的像素的图像数据、通过执行内插技术,得到在观察位置处的像素的图像数据,所述距离等于像素间隔dx的倍数并且最接近于所计算的水平手移动补偿位移量SX_ADD。
图43是示出上述内插技术的图。具有分数部分的所计算的水平手移动补偿位移量SX_ADD对应于从上述观察位置到特定像素G1和G2之间的不存在像素的位置Gs的距离。在这种情况下,基于每一个从观察位置移位一定距离的位置上存在的像素G1和G2的图像数据、通过进行内插技术,得到位于观察位置上的像素的图像数据,所述距离等于像素间隔dx的倍数并且最接近所计算的水平手移动补偿位移量SX_ADD。让我们假定,G1与Gs之间的距离k1与Gs与G2之间的距离k2之比k1∶k2是W∶(1-W),即,k1∶k2=W∶(1-W)。在这种情况下,根据下面的内插等式找到的内插图像数据作为观察位置上的像素的图像数据:
Gs处的内插图像数据=G1s图像数据×(W-1)+G2s图像数据×W
取代如图43所示的例子中在内插处理中仅使用两个像素G1和G2的像素数据的情况,可以使用多于两个像素的图像数据。在图44所示的另一例子中,在内插处理中使用四个像素G0至G3的像素数据。与图43所示的例子很像,像素G0至G3存在于每一个从观察位置移位一定距离的位置,该距离等于像素间隔dx的倍数并且最接近所计算的水平手移动补偿位移量SX_ADD。在这种情况下,依据从不存在的像素位置Gs分别到像素G0、G1、G2和G3的位置的距离k0、k1、k2和k3,分别确定像素G0、G1、G2和G3的插值权重W0、W1、W2和W3,根据以下内插等式找到的内插图像数据作为观察位置上的像素的图像数据:
Gs处的内插图像数据=G0×W0+G1×W1+G2×W2+G3×W3
通常,分别从具有每一个都显示一组前述插值权重W0、W1、W2和W3的条目的插值权重表找出像素G0、G1、G2和G3的插值权重W0、W1、W2和W3。然后,通过使用从不存在的像素位置Gs至像素G1或G2的位置的距离ds作为检索关键字,在插值权重表中搜索显示对应于检索关键字的一组前述插值权重W0、W1、W2和W3的条目。应当注意,如从图44明显看出的那样,从不存在像素位置Gs至像素G1或G2的位置的距离ds对应于所计算的水平手移动补偿位移量SX_ADD的分数部分。
在该实施例中,通过使用水平FIR滤波器进行内插处理。也就是说,在上述插值权重表中搜索对应于所计算的水平手移动补偿位移量SX_ADD的分数部分的一组插值权重。然后,插值权重被提供给水平FIR滤波器以便进行内插处理。
除了在垂直方向内插处理中用垂直方向代替在水平方向处理中用作内插方向的水平方向之外,垂直方向内插处理与上述水平方向处理一样。
[水平处理块51的处理操作]
[产生水平手移动补偿位移量SX_ADD的积分]
图45示出代表由水平手移动补偿量积分单元511进行的积分处理操作以产生作为积分结果的水平手移动补偿位移量SX_ADD的流程图。
如图所示,该流程图包括步骤S201,在该步骤对于水平同步信号H-SYNC的每个脉冲,将值‘step’累加到初始y轴坐标SY上。在这种情况下,y轴表示水平线的位置,而水平同步信号H-SYNC表示包含在普通水平扫描信号中的定时信号,该扫描信号作为掩蔽有效像素区域外部的区域的信号。
初始y轴坐标SY表示输出屏的第一水平线在CMOS成像器上的所有像素坐标系中的位置。通常,初始y轴坐标SY不对应于所有像素坐标系的y轴坐标0。在以下描述中,所有像素坐标系称为绝对坐标系。
除了初始坐标(SX,SY)包括由施加到上述帧的手移动造成的初始位移这个事实以外,依据以下因素确定初始坐标(SX,SY)。也就是说,在动态图片的情况下,通常,CMOS成像器上的所有像素的图像数据不按原样提供给信号处理单元50。取而代之的是,在提供到位于在后阶段的信号处理单元50之前,对于排列在CMOS成像器中的垂直方向上的每个图片划分,图像数据经历平均化处理。另外,即使在被提供给信号处理单元50以后,图像数据也再次经历一些处理。出于这个原因,在很多情况下第一线的绝对坐标不对应于0。而且,如果对输入图像数据进行垂直方向部分放大处理,初始y轴坐标SY变成屏中间的水平线的位置。因而,初始y轴坐标SY可以具有极大的值,而不是等于0。
在步骤S201,对于水平同步信号H-SYNC的每个脉冲,将值‘step’累加到初始y轴坐标SY上,表示绝对坐标系的垂直坐标的行间插入增加。由于位于前一阶段的平均处理块关于CMOS成像器中垂直方向上排列的多个水平线对图像数据进行平均化处理,所以值‘step’很有可能不是1。例如,值‘step’是2或4。
在步骤S201,通过对于水平同步信号H-SYNC的每个脉冲将值‘step’累加到初始y轴坐标SY上,可以找出当前被处理的水平线的绝对坐标。然后,在步骤S202,找出绝对坐标的整数分量vp_i。整数分量对应于在积分处理中到当前时间点为止对水平补偿速度分量X_STB_*进行的累加次数。符号*是0至7范围内的整数。也就是说,在以下描述中,水平补偿速度分量X_STB_*表示水平补偿速度分量X_STB_0至X_STB_7中的任何一个。符号X_STB_*在以下描述中用作代表水平补偿速度分量X_STB_0至X_STB_7的符号。在积分处理中对水平补偿速度分量进行的累加次数是屏的积分值。
然后,在步骤S203,将目前正被处理的水平线的绝对坐标的整数分量vp_i与直到紧邻在当前正被处理的水平线之前的水平线为止所进行的积分处理中对水平补偿速度分量进行的累加次数进行比较。顺便提及,在以下描述中,当前正被处理的水平线称为当前处理线,而直到紧邻在当前正被处理的水平线之前水平线为止所进行的积分处理中对水平补偿速度分量进行的累加次数称为累加计数hstb_cnt。整数分量分vp_i与累加计数vstb_cnt之间的差表示还需要对该当前处理线的积分处理中的水平补偿速度分量进行多少额外累加。然后,分别为每个处理单元周期产生与所需要的积分处理的额外累加一样多的触发脉冲TG1,所述处理单元周期短于一个水平周期。
然后,在步骤S204和S205,每当产生一个触发脉冲TG1,水平累加计数hstb_cnt就加1。
随后,在步骤S206,通过每产生一个触发脉冲TG1就将水平补偿速度分量X_STB_*累加到到目前为止得到的累加和,进行积分处理以产生水平手移动补偿位移量SX_ADD,所述水平补偿速度分量X_STB_*是从作为包括当前处理线的图片划分的分量的水平补偿速度分量X_STB_0至X_STB_7中选择的。图45的流程图的步骤S206所示的符号stb_x表示从水平补偿速度分量X_STB_0至X_STB_7中选择的水平补偿速度分量X_STB_*。也就是说,在图45的流程图的步骤S206所示的符号stb_x表示当前处理线所属的图片划分的水平补偿速度分量X_STB_*。
如果在步骤S201对于水平同步信号H-SYNC的每个脉冲累加到初始y轴坐标SY上的值‘step’是1(即,step=1),且输出图像的处理是不放大图像的处理或其它普通处理,则对水平同步信号H-SYNC的每个脉冲产生触发脉冲TG1。因而,在步骤S206,在积分处理中对于每个水平线累加代表水平补偿速度分量X_STB_*的stb_x。
如前所述,以这种方式得到的水平补偿位移量SX_ADD用作CMOS成像器中的每个水平线的读取开始位置的水平方向补偿量。也就是说,水平补偿位移量SX_ADD正是由水平处理块51进行的水平方向图像失真处理中的每个水平线的水平初始位置(或水平偏移)。
如上所述,在步骤S206进行的积分处理中,必须根据当前处理线属于八个图片划分Pdiv_0至Pdiv_7中的哪一个来选择水平补偿速度分量X_STB_0至X_STB_7之一作为处理对象。如前所述,八个图片划分Pdiv_0至Pdiv_7是作为在垂直方向上划分1屏(或一帧,其为垂直同步周期)的结果得到的划分。在图45所示流程图的剩余部分中进行的处理中实现选择水平补偿速度分量X_STB_0至X_STB_7之一的机制。
在该实施例中,在步骤S207,找出水平补偿速度分量的水平累积线计数hstb_grid。水平累积线计数hstb_grid的初始值是表示一个图片划分中的水平线的数目的线计数DIV。
在步骤S208,将水平累积线计数hstb_grid与水平累加计数hstb_cnt进行比较。在步骤S208,每次水平累加计数hstb_cnt超过水平累积线计数hstb_grid,就产生触发脉冲TG2。在步骤S209,每次产生触发脉冲TG2,就通过将代表一个图片划分中的水平线的数目的线计数DIV加入到水平累加计数hstb_cnt,来更新水平累加计数hstb_cnt。
在上述处理中,每次当前处理线从一个图片划分转变到下一图片划分,就产生触发脉冲TG2。因而,在步骤S210,找出代表在积分处理中到目前为止产生的触发脉冲TG2的数目或到目前为止已经处理的图片划分的数目的水平图片划分值HDIV_CNT。也就是说,水平图片划分值HDIV_CNT代表图片划分Pdiv_0至Pdiv_7中的哪一个正在经历积分处理。在步骤S211,每次产生触发脉冲TG2,水平图片划分值HDIV_CNT就增加1。因而,水平图片划分值HDIV_CNT具有在分别对应于图片划分Pdiv_0至Pdiv_7的范围0至7内的整数值。也就是说,水平图片划分值HDIV_CNT是示出水平积分处理中的进展程度的指示符。因而,参照水平图片划分值HDIV_CNT来确定作为选择的水平补偿速度分量X_STB_*的、在步骤S206示出的符号stb_x的值。
应当注意,在该实施例中,水平图片划分值HIDIV_CNT=8表示已经完成了对一帧图像数据进行的积分处理。另外,如果水平图片划分值HDIV_CNT=8增加1,则水平图片划分值HDIV_CNT=8重设回0。
水平图片划分值HDIV_CNT被提供给垂直处理块52和寄存器块53,作为示出当前处理线属于图片划分Pdiv_0至Pdiv_7中的哪一个或者水平处理块51所进行的水平积分处理的进展程度的指示符。
[水平图像处理块512的处理操作]
图46是示出水平图像处理单元512的典型构造的图。在图46所示的典型构造中,加法器5101包含在水平图像处理单元512中,作为对于图45中流程图所示的水平同步信号H-SYNC的每个脉冲,将值‘step’累加到初始y轴坐标SY的单元。由于这个原因,初始y轴坐标SY被提供给水平图像处理单元512。另外,初始x轴坐标SX也被提供给水平图像处理单元512。初始y轴坐标SY和初始x轴坐标SX是一帧的开始的坐标,并且通常由作为控制单元的CPU1设定。
作为对于水平同步信号H-SYNC的每个脉冲将值‘step’累加到初始y轴坐标SY的结果而由加法器5101产生的y轴坐标SY’被提供给水平手移动补偿量积分单元511。响应于y轴坐标SY’,水平手移动补偿量积分单元511将SX_ADD返回给水平图像处理单元512,作为当前处理线的开始的x轴坐标的偏移。
水平图像处理单元512中使用的加法器5102仅在每个水平线的开始处将从水平手移动补偿量积分单元511接收的水平补偿位移量SX_ADD加到初始x轴坐标SX上一次。
然后,对于像素处理时钟信号CLK的每个脉冲,加法器5103将作为水平放大/收缩参数的值hmag加到加法器5102的输出。加法器5103的输出X_ADD被提供给比较单元5104和5015以及分数部分提取单元5106和整数部分提取单元5107。
比较单元5104将从加法器5103接收的当前输出X_ADD与在比当前输出X_ADD提前像素处理时钟信号CLK的一个周期的时刻从加法器5103接收的输出X_ADD的整数部分进行比较。如果发现从加法器5103接收的当前输出X_ADD与比当前输出X_ADD提前像素处理时钟信号CLK的一个周期的输出X_ADD的整数部分的差大于1,即,如果像素位置跳跃至少等于一个像素间隔的距离,比较单元5104输出表示该跳跃的信号SKIP。在该实施例中,通过获知表示跳跃的信号SKIP的存在,可能获知具有通过像素处理时钟信号CLK表示的定时的下一个要处理的跳跃目的像素位置。信号SKIP被提供给FIFO存储器控制器5108。
另外,比较单元5105对从加法器5103接收的当前输出X_ADD与在比当前输出X_ADD提前像素处理时钟信号CLK的一个周期的时刻从加法器5103接收的输出X_ADD的整数部分进行比较。如果发现从加法器5103接收的当前输出X_ADD与比当前输出X_ADD提前像素处理时钟信号CLK的一个周期的输出X_ADD的整数部分的差小于1,比较单元5105就输出信号HOLD,该信号表示从加法器5103接收的当前输出X_ADD与比当前输出X_ADD提前像素处理时钟信号CLK的一个周期的输出X_ADD的整数部分的差小于1的事实。因而,通过获知信号HOLD的存在,可能获知当前读取的像素是与在比当前时刻提前像素处理时钟信号CLK的一个周期的时刻读取的像素一样的像素。信号HOLD也提供给FIFO存储器控制器5108。
分数部分提取单元5106对于像素处理时钟信号CLK的每个脉冲提取从加法器5103接收的输出X_ADD的分数部分,并将提取的分数部分的值X_PHASE输出给具有水平FIR滤波器5110的水平内插处理单元5109。依据值X_PHASE,水平内插处理单元5109在乘法系数表中搜索将要提供给水平FIR滤波器5110的乘法系数。
整数部分提取单元5107根据水平同步信号H-SYNC,在每个水平线的开始处提取从加法器5103接收的输出X_ADD的整数部分,并将提取的整数部分的值ST_POS输出给FIFO存储器控制器5108,作为当前处理线的初始x轴坐标。
FIFO存储器控制器5108通过使用水平处理FIFO行存储器61、基于输入图像数据上的水平补偿位移量SX_ADD进行水平手移动补偿处理以及水平方向放大或收缩处理。如后面会描述到的,仅当考虑支持图像的部分放大处理的情况时,水平处理FIFO行存储器61才实际上需要具有容纳一个水平线的图像数据的存储容量。
详细地说,FIFO存储器控制器5108通过使用整数部分的值ST_POS确定输入图像数据的每个水平线的图像数据的初始x轴坐标。另外,在确定要从水平处理FIFO行存储器61读取的像素数据时,FIFO存储器控制器5108对于图像处理时钟信号CLK的每个脉冲参照信号SKIP和HOLD。
然后,FIFO存储器控制器5108将作为每个水平线的图像数据而从上述水平处理FIFO行存储器61中读取的图像数据与数据启用信号(data enablesignal)EN一起提供给水平内插处理单元5109。
只有在数据启用信号EN处于活跃状态时水平内插处理单元5109才将输入图像数据作为有效数据处理,并通过使用水平FIR滤波器5110对有效数据进行水平方向内插处理。如前所述,在那时,基于提供给水平内插处理单元5109作为分数部分的值的值X_PHASE,水平内插处理单元5109在乘法系数表中搜索要提供给水平FIR滤波器5110的乘法系数。
这样,作为根据水平补偿位移量SX_ADD进行的水平手移动补偿处理的结果以及水平方向放大或收缩处理的结果,水平内插处理单元5109产生图像数据DHout,并将图像数据DHout提供给垂直处理块52。
顺便提及,上面的描述不具体涉及由水平手移动补偿量积分单元511进行的找出水平补偿位移量SX_ADD的积分处理与由水平图像处理单元512进行的水平方向放大或收缩处理之间的共有处理时间。以简单处理序列无时间延迟地进行找出水平补偿位移量SX_ADD的积分处理和水平方向放大或收缩处理所带来的便利几乎限于如后面描述到的图47上部的图47A所示的不支持水平方向剪切处理和部分放大处理的情况。在图47中,符号V-SYNC表示垂直同步信号,符号ST_TG表示代表有效水平线的起点的脉冲。另外,在图47中,由阴影矩形圈起的每个片断表示处理片断。
另一方面,如果支持垂直方向剪切处理和/或部分放大处理,初始y轴坐标SY具有极大的值。因而很有可能在帧开始处的像素处理周期的个数(即,积分处理中需要的周期数)很大。图47下部的图47B的序列中所示的符号tm表示在帧开始处的积分处理的周期。
通过一个长的第一积分处理,如图47上部的图47A所示的简单处理序列中的第一水平方向放大或收缩处理会超过水平同步信号H_SYNC的一个周期,从而必需提供行存储器,用于存储对应于垂直同步信号的第二脉冲的输入的第二水平线的图像数据。
在该实施例中,为了解决上述问题,如图47下部的图47B的处理序列所示,在对应于水平同步信号H_SYNC脉冲的前一个水平同步信号H_SYNC脉冲的周期中进行积分处理,以开始在积分处理之后一个水平同步信号H_SYNC周期的水平方向放大或收缩处理。也就是说,该实施例采用一个图像处理序列,其中总是在比开始在积分处理之后一个水平同步信号H_SYNC周期的水平方向放大或收缩处理的时刻提前的时刻进行积分处理。因而,该实施例使用一水平处理FIFO行存储器61,其具有用于容纳1个水平周期的图像数据的存储容量。
通过采用总是用于对所有输入线进行水平处理的结构,可以避免上述问题,而不用关心图像部分放大处理或类似处理。然而,在任一情况下,如果试图实现如图47上部的图47A中所示的处理序列,需要产生积分处理的新终止信号,并必须检测该信号以便开始图像处理,从而构造变得相当复杂。换言之,上述实施例中使用的技术提供下述优点:该技术可以被实现,而不用为图像处理电路提供额外部件。
应当注意,对于绝对坐标系的垂直大小大于1周期的水平同步信号H_SYNC中的图像处理周期个数的情况,不能采用上述实施例中使用的技术。对于这种情况,必需采用前述体系,以便总是对所有输入线进行水平处理。
[垂直处理块52的处理操作]
[产生垂直手移动补偿位移量SY_ADD的积分]
以下描述解释了由垂直手移动补偿量积分单元521进行的、用于产生作为积分结果的垂直手移动补偿位移量SY_ADD的积分处理操作。图48示出了代表积分处理操作的流程图,所述积分处理操作由垂直手移动补偿量积分单元521进行,以产生作为积分结果的垂直手移动补偿位移量SY_ADD。
除了以下不同,由垂直手移动补偿量积分单元521进行并产生垂直手移动补偿位移量SY_ADD作为积分结果的积分处理操作与前面参照图45解释的、由水平手移动补偿量积分单元511进行的并产生水平手移动补偿位移量SX_ADD作为积分结果的的积分处理操作类似。
在积分处理操作的情况下,对于水平同步信号H_SYNC的每个脉冲,将值vmag累加到初始y轴坐标SY上,通过考虑代表水平处理中的进展状态的水平图片划分值HDIV_CNT建立等待状态,并产生表示每个线的积分处理的完成的积分终止信号STB_RDY,以提供给垂直图像处理模块。
在该实施例中,假定垂直图像处理包括垂直方向放大或收缩处理,值vmag是代表放大或收缩因子的值。因而,取代由水平处理块51输出所有图像数据的处理,垂直处理块52通过将放大或收缩处理后输出的线的垂直坐标作为参照而进行处理。
因此,同样在垂直方向积分处理中,需要在垂直方向积分处理后输出在经历垂直图像处理的坐标处的积分值的操作,从而对于水平同步信号H_YNC的每个脉冲,将垂直方向坐标增加参数累加到初始y轴坐标SY上。应当注意,不考虑关心图像放大或收缩处理,只要将进行CMOS手移动补偿处理,值vmag就可设定为1(vmag=1)。
作为第二个差异,在由垂直手移动补偿量积分单元521进行积分处理操作以产生垂直手移动补偿位移量SY_ADD的情况下,需要观察代表水平处理中的进展状态的水平图片划分值HDIV_CNT,因为垂直处理中的进展不许超越水平处理中的进展。在普通图像的放大或收缩处理中,当对还未产生的图像进行垂直处理时,垂直处理中的进展被说成是超越了水平处理中的进展。为了防止垂直处理中的进展超越水平处理中的进展,需要通过其本身来设定等待状态的机制。同样地,在垂直方向积分处理中,需要防止垂直处理中的进展超越水平处理中的进展的机制,即使不直接处理图像也是如此。
稍详细些说,水平补偿速度分量X_STB_*是将接近当前正被处理的水平线的采样时间的手移动速度矢量的水平分量的符号反向后得到的水平积分参数。符号*是0至7范围内的整数。也就是说,在以下描述中,水平补偿速度分量X_STB_*表示水平补偿速度分量X_STB_0至X_STB_7中的任何一个。同样地,垂直补偿速度分量Y_STB_*是将接近当前正被处理的水平线的采样时间的手移动速度矢量的垂直分量的符号反向后得到的垂直积分参数。符号*是0至7范围内的整数。也就是说,在以下描述中,垂直补偿速度分量Y_STB_*表示垂直补偿速度分量Y_STB_0至Y_STB_7中的任何一个。严格地说,采样时间对应于时间的曝光周期的中心点。手移动的手移动速度矢量是代表手移动的大小和方向的矢量。因而,如果将时间的极短曝光周期也考虑在内的话,直到紧邻在输入水平线的图像数据的操作前的时刻为止,不可能确认水平线的水平补偿速度分量X_STB_*和垂直补偿速度分量Y_STB_*。
考虑到上述情况,在参照指示水平方向积分处理中当前正被处理的水平线所属的图片划分的水平图片划分值HDIV_CNT之后,水平线的水平补偿速度分量X_STB_*和垂直补偿速度分量Y_STB_*分别被锁存在后面将会详细描述的寄存器块53的水平处理块寄存器和垂直处理块寄存器中。因而,水平处理块51可以顺序地处理输入图像,而不需要提供特殊的机制。
另一方面,在由垂直处理块52进行的积分处理中,将积分处理的结果用作在随后的阶段进行的垂直方向图像处理的初始偏移坐标。因而,即使已知还没有在一个时间点接收到由线的水平处理输出的图像,在该时间点,线的垂直方向积分处理已经完成。也就是说,已经对未确认的垂直补偿速度分量进行了垂直方向积分处理。
为了解决上述问题,在积分处理阶段,依据水平处理中的进展的状态,必需确定作为要被处理的积分参数的垂直补偿速度分量Y_STB_*是否已经被确认。
作为用于依据水平处理中的进展的状态来确定作为要被处理的水平线的积分参数的垂直补偿速度分量Y_STB_*是否已经被确认的机制,在图48所示的流程图的步骤S312,如果表示垂直处理中的进展的状态的垂直图片划分值VDIV_ CNT超越了表示水平处理中的进展的状态的水平图片划分值HDIV_CNT,就产生WAIT信号。选择确认的垂直补偿速度分量Y_STB_*,在图48底部左侧的步骤S306,对于包括在水平积分处理中当前正被处理的水平线的图片划分,将表示图片划分的的垂直方向补偿速度分量的符号stb_y累加到图片划分的垂直补偿速度分量Y_STB_ADD上。然而,产生信号WAIT,选择未确认的垂直补偿速度分量Y_STB_*时,防止在步骤S306将图片划分的垂直方向补偿速度分量的符号stb_y累加到在水平积分处理中当前正被处理的水平线中包括的图片划分的垂直补偿速度分量Y_STB_ADD上。
作为产生作为图48所示积分结果的垂直手移动补偿位移量SY_ADD、由垂直手移动补偿量积分单元521进行的积分处理操作与产生作为图45所示积分结果的水平手移动补偿位移量SX_ADD、由水平手移动补偿量积分单元511进行的积分处理操作之间的第三个差异,在产生如图48所示的垂直手移动补偿位移量SY_ADD、由垂直手移动补偿量积分单元521进行的积分处理操作的情况下,产生代表当前正被处理的水平线的积分处理的完成的积分终止信号STB_RDY,以提供到在后面的阶段用作垂直图像处理单元522d垂直图像处理模块。作为对图片划分进行的垂直积分处理的结果,当前被处理的水平线的绝对坐标的整数部分vp_i变得等于垂直累加计数vstb_cnt。那时,找出也将被提供给垂直图像处理模块的垂直偏移SY_ADD,并且积分终止信号STB_RDY用于激活垂直图像处理模块。
在前述水平方向积分处理中,在比输入有效图像的定时提前水平同步信号H_SYNC的一个周期的定时开始积分处理,从而能在对有效图像进行水平图像处理之前完成积分处理。在大多数情况下,能确保这样的系统:其中能在对有效图像进行进行水平图像处理之前,完成对有效图像进行的积分处理。然而,在垂直方向积分处理中,很有可能建立上述等待状态从而不能确保在所有情况下在水平同步信号H_SYNC紧邻的前一周期中完成积分处理。也就是说,通过建立等待状态,当产生积分终止信号STB_ RDY时,进行包括垂直手移动校正处理和垂直放大或收缩处理的垂直图像处理。
通过参照图48所示的流程图,以下描述解释通过使用具有上述功能的垂直方向积分电路进行的垂直方向积分处理。
如图所示,流程图包括步骤S301,在该步骤对于水平同步信号H-SYNC的每个脉冲,值‘vmag’被累加到代表水平线的位置的初始y轴坐标SY上。
通过在步骤S301对于水平同步信号H-SYNC的每个脉冲,将值‘vmag’累加到初始y轴坐标SY上,可以找出当前正被处理的水平线的绝对坐标。然后,在步骤S302,找出绝对坐标的整数分量vp_i。该整数分量对应于在到当前时间点为止的积分处理中,对表示垂直补偿速度分量Y_STB_0至Y_STB_7的垂直补偿速度分量Y_STB_*进行的累加次数。在积分处理中对垂直补偿速度分量进行的累加次数是屏的积分值。
然后,在步骤S303,将目前正被处理的水平线的绝对坐标的整数分量vp_i与到当前正被处理的水平线前面紧邻的一个水平线为止所进行的积分处理中对垂直补偿速度分量进行的累加计数进行比较。顺便提及,到当前正被处理的水平线前面紧邻的一个水平线为止所进行的积分处理中对垂直补偿速度分量进行的累加次数称为垂直累加计数vstb_cnt。整数分量vp_i与垂直累加计数vstb_cnt之间的差表示还需要对当前处理的线的积分处理中的垂直补偿速度分量进行多少额外累加。然后,对于每个处理单元周期,产生与积分处理所需的额外累加一样多的触发脉冲TG3,所述处理单元周期比一个水平周期要短。
然后,在步骤S304和S305,每当产生一个触发脉冲TG3,垂直累加计数vstb_cnt就力加1。
随后,在步骤S306,通过每产生一个触发脉冲TG3就将垂直补偿速度分量Y_TB_*累加到到目前为止得到的累加和,进行积分处理以产生垂直手移动校正位移量SY_ADD,所述垂直补偿速度分量Y_STB_*是从作为包括当前处理的线的图片划分的分量的垂直补偿速度分量Y_STB_0至Y_STB_7中选择的。图48的流程图的步骤S306所示的符号stb_y表示从垂直补偿速度分量Y_STB_0至Y_STB_7中选择的垂直补偿速度分量Y_STB_*。也就是说,在图48的流程图的步骤S306所示的符号stb_y表示当前处理的线所属的图片划分的垂直补偿速度分量Y_STB_*。
如果在步骤S301中对于垂直同步信号H-SYNC的每个脉冲累加到初始y轴坐标SY上的值‘vmag’是1(即,vmag=1),且输出图像的处理是不放大图像的处理或其它普通处理,则对垂直同步信号H-SYNC的每个脉冲产生触发脉冲TG1。因而,在步骤S306,在每个水平线的积分处理中,累加代表垂直补偿速度分量Y_STB_*的stb_y。
如前所述,以这种方式得到的垂直补偿位移量SY_ADD用作CMOS成像器中的每个水平线的读取开始位置的垂直方向补偿量。也就是说,垂直补偿位移量SY_ADD就是由垂直处理块52进行的垂直方向图像失真处理中的每个水平线的垂直初始位置(或垂直偏移)。
如上所述,在步骤S306进行的积分处理中,必须根据当前处理的线属于八个图片划分Pdiv_0至Pdiv_7中的哪一个,选择垂直补偿速度分量Y_STB_0至Y_STB_7中的一个作为处理目标。如前所述,八个图片划分Pdiv_0至Pdiv_7是作为在垂直方向上划分一屏(或一帧,其为垂直同步周期)的结果得到的划分。
在该实施例中,在步骤S307,找出垂直补偿速度分量的垂直累积线计数vstb_grid。垂直累积线计数vstb_grid的初始值是表示一个图片划分中的水平线的数目的线计数DIV。
在步骤S308,将垂直累积线计数vstb_grid与垂直累加计数vstb_cnt进行比较。在步骤S308,每当垂直累加计数vstb_cnt超过垂直累积线计数vstb_grid,就产生触发脉冲TG4。在步骤S309,每当产生触发脉冲TG4,就通过将代表一个图片划分中的水平线数目的线计数DIV加到垂直累加计数hstb_cnt来更新垂直累加量hstb_cnt。
在上述处理中,每当当前处理的线从一个图片划分转变到下一图片划分,就产生触发脉冲TG4。因而,在步骤S310,找出代表在积分处理中到目前为止产生的触发脉冲TG4的个数或到目前为止已经处理过的图片划分的个数的垂直图片划分值VDIV_CNT。也就是说,垂直图片划分值VDIV_CNT代表图片划分Pdiv_0至Pdiv_7中的哪一个正在经历积分处理。在步骤S311,每当产生触发脉冲TG4,垂直图片划分值VDIV_CNT就增加1。因而,垂直图片划分值VDIV_CNT具有分别对应于图片划分Pdiv_0至Pdiv_7的范围0至7内的一个整数值。也就是说,垂直图片划分值VDIV_CNT是显示垂直积分处理中的进展程度的指示符。
应当注意,在该实施例中,垂直图片划分值VDIV_CNT=8表示已经完成了对一帧图像数据进行的积分处理。另外,如果垂直图片划分值VDIV_CNT=8增加1,则垂直图片划分值VDIV_CNT重设回0。
在步骤S312,将指示垂直积分处理中的进展程度的垂直图片划分值VDIV_CNT与作为显示水平积分处理中进展程度的指示符而从水平处理块51接收的水平图片划分值HDIV_CNT进行比较。垂直图片划分值VDIV_CNT大于水平图片划分值HDIV_CNT表示垂直处理的进展超越水平处理的进展。因而,在这种情况下,建立等待状态以便延迟触发脉冲TG3的产生。也就是说,延迟触发脉冲TG3的产生以便在等待状态结束后产生触发脉冲TG3。
在该实施例中,在步骤S313,将在步骤S302得到的整数部分vp_i与垂直累加计数vxtb_cnt进行比较以产生关于整数分量vp_i是否等于垂直累加计数vxtb_cnt的确定结果。如果确定的结果表明整数分量vp_i等于垂直累加计数vxtb_cnt,则产生积分终止信号STB_RDY,作为指示对当前处理的线进行的垂直积分处理已经完成的信号。积分终止信号STB_RDY被提供给垂直图像处理单元522,以便通知垂直图像处理单元522可以对当前处理的线开始垂直方向手移动补偿处理。因此,垂直图像处理单元522在水平同步信号H-SYNC的下一脉冲指示的定时开始垂直方向手移动补偿处理。
[垂直图像处理块522的处理操作]
图49是示出垂直图像处理单元522的典型构造的示图。在图49所示的典型构造中,垂直图像处理单元522包含加法器5201,作为对于图48中的流程图所示的水平同步信号H-SYNC的每个脉冲、将值‘vmag’累加到初始y轴坐标SY的单元。由于这个原因,初始y坐标SY被提供给垂直图像处理单元522。
作为对于水平同步信号H-SYNC的每个脉冲、将值‘vmag’累加到初始y轴坐标SY的结果而由加法器5201产生的y轴坐标SY’被提供给垂直手移动补偿量积分单元521。响应于y轴坐标SY’,垂直手移动补偿量积分单元521将SY_ADD返回给垂直图像处理单元522,作为当前处理的线的起点的y轴坐标的偏移。
仅在每个水平线的起点,垂直图像处理单元522中使用的加法器5202将从垂直手移动补偿量积分单元521接收的垂直补偿位移量SY_ADD加到初始y轴坐标SY上一次。加法器5202向分数部分提取单元5203和整数部分提取单元5204输出值Y-ADD。
分数部分提取单元5203对于水平同步信号H-SYNC的每个脉冲,提取从加法器5202接收的输出Y_ADD的分数部分,并将提取出的分数部分的值Y_PHASE输出给具有垂直FIR滤波器5207的垂直内插处理单元5206。
垂直FIR滤波器5207是通过使用在垂直方向上排列的多个水平线的图像数据进行内插处理的部件。依据分数部分的值Y_PHASE,垂直内插处理单元5206在乘法系数表中寻找要提供给垂直FIR滤波器5207的乘法系数。在这种情况下,只在垂直方向上进行内插。因而,内插处理几乎与前面参照图42至44解释的、通过使用水平FIR滤波器5109在水平方向上进行的内插处理一样。
整数部分提取单元5204根据水平同步信号H-SYNC在每个水平线的开始处提取从加法器5202接收的输出值Y_ADD的整数部分,并将提取出的整数部分的值Y_POS输出给存储器控制器5205,作为当前处理的线的初始x轴坐标。
存储器控制器5205通过使用垂直处理FIFO行存储器62,基于从水平处理块51接收的图像数据DHout上的垂直补偿位移量SY_ADD进行垂直手移动补偿处理以及垂直方向放大或收缩处理。垂直处理FIFO行存储器62需要具有至少能容纳在垂直FIR滤波器5207进行的内插处理中使用的水平线的图像数据的、足够大的存储容量。也就是说,垂直处理FIFO行存储器62需要具有对应于垂直FIR滤波器5207的抽头个数的存储容量。
存储器控制器5205临时存储垂直处理FIFO行存储器62中的图像数据DHout,并使用整数部分的值Y_POS以确定作为多个水平线的数据片的输出图像数据片DYout_0、DYout_1...和Dyout_n。然后,存储器控制器5205从垂直处理FIFO行存储器62读取水平线的输出图像数据片DYout_0、DYout_1...和Dyout_n,并将图像数据片DYout_0、DYout_1...和DYout_n输出给垂直内插处理单元5206。
垂直内插处理单元5206通过使用垂直FIR滤波器5207对图像数据片DYout_0、DYout_1...和Dyout_n进行垂直方向内插处理。如前所述,依据分数部分的值Y_PHASE,垂直内插处理单元5206在乘法系数表中搜索要提供给垂直FIR滤波器5207的乘法系数。
这样,作为根据垂直补偿位移量SY_ADD进行的垂直手移动补偿处理的结果以及作为垂直方向放大或收缩处理的结果,垂直内插处理单元5206产生图像数据Dout,并输出图像数据Dout。
图50示出上述垂直方向积分处理与垂直图像处理的定时关系。更具体地,图50上部的图50A示出其中不支持垂直方向剪切处理和部分放大/收缩处理的情况。在这种情况下,不建立前述等待状态。当前处理的线的垂直方向累加次数的上限最多设为稍小的值。因而,可以在水平同步信号H-SYNC的一个周期内顺序进行同一水平线的垂直方向积分处理与垂直图像处理。结果,在这种情况下,不必麻烦地提供积分终止信号STB_RDY。
另一方面,图50下部的图50B示出其中支持垂直方向剪切处理和/或垂直方向部分放大处理的情况。在这种情况下,很有可能在对第一水平线进行的积分处理过程中建立等待状态。另一方面,如果支持垂直方向部分收缩处理,很有可能在对第一水平线后面的任何水平线进行积分处理的过程中建立等待状态。
在任一情况下,由于等待状态,对同一水平线进行的积分处理挂起与水平同步信号H-SYNC的1个周期一样长的时间或者甚至更长的时间。因而,必需产生积分终止信号STB_RDY,用于通知已经完成了积分处理。然后,如图50B最下面两个时序图所示,在等待状态末端、积分终止信号STB_RDY的脉冲之后的水平同步信号H-SYNC的脉冲定时开始垂直方向部分放大处理。
另外,当还未完成对特定水平线进行的垂直图像处理时,水平同步信号H-SYNC的下一脉冲被掩蔽成图50B中的虚线脉冲。也就是说,掩蔽在等待状态生成为水平同步信号H-SYNC的脉冲。
图51是显示由包括水平处理块51和垂直处理块52的记录/再现装置5进行的上述处理的流程的示图。也就是说,由用户操作输入单元3提供的图像数据Din临时存储在水平处理FIFO行存储器61中,以便在以后经历通过使用水平手移动补偿量积分单元511和水平图像处理单元512的水平手移动补偿处理和水平放大或收缩处理时被读取。然后,作为水平图像处理单元512产生的处理结果得到的图像数据被存储在垂直处理FIFO行存储器62中。
随后,存储在垂直处理FIFO行存储器62中的图像数据在经历通过使用水平手移动补偿量积分单元521和垂直图像处理单元522的垂直手移动补偿处理和垂直放大或收缩处理时被读取。然后,作为由垂直图像处理单元522执行的处理的结果得到的图像数据被存储回垂直处理FIFO行存储器62中。最后,从垂直处理FIFO行存储器62读取图像数据并作为图像数据Dout输出。
作为由记录/再现装置5执行的处理的最终结果而得到的、图51右下角所示的图像数据Dout是补偿手移动造成的失真的图像中的数据。
如上所述,垂直处理FIFO行存储器62需要具有对应于垂直FIR滤波器5207的抽头数的最小存储容量。然而,实际上,如果进行垂直方向部分放大处理,水平处理的速度会变得高于垂直处理的速度,从而垂直处理FIFO行存储器62需要具有足够大的存储容量,以容纳作为将要经历放大处理的结果的水平处理的结果。
另外,即使不进行垂直方向部分放大处理,如果在向上方向上垂直建立垂直补偿速度分量Y_STB_*,则操作会与进行垂直方向部分放大处理的情况中的那些操作一样。因而,垂直处理FIFO行存储器62需要具有将垂直方向的手移动变化考虑在内的存储容量。
应当注意,在上述实施例的情况下,如果1个垂直周期是1/60秒,则每个图片划分Pdiv的时间长度DIV是(1/60)/8=1/480秒。根据实验结果,用每一个具有1/480秒的时间长度DIV的图片划分Pdiv,基于检测出的手移动速度矢量对图像补偿由于手移动造成的失真的处理提供充分的所需补偿效果,已经证明作为补偿处理的结果得到的图像是良好的图像。
图52示出作为在水平处理和垂直处理过程中的锁存时间、在寄存器块53中使用的寄存器的锁存定时,这在前述描述过。
如图所示,在该实施例中,在对应于垂直同步信号V-SYNC的一个周期中的每个图片划分Pdiv_0至Pdiv_7的第一水平线的时间点产生微机中断。
当发生微机中断时,在速度矢量处理单元80产生水平补偿速度分量X_STB_*和垂直补偿速度分量Y_STB_*,并存储在寄存器块53中使用的IF寄存器中。
如果水平补偿速度分量X_STB_*和垂直补偿速度分量Y_STB_*的值要通过CPU执行软件来计算,图52所示的周期性产生中断的技术是一种有效方法。
在寄存器块53中,观察图片划分值HDIV_CNT的变化,并用作产生锁存脉冲的基础。然后,已经如前所述由CPU_1在上述IF寄存器中设置的水平补偿速度分量X_STB_*和垂直补偿速度分量Y_STB_*分别被传给水平处理寄存器和垂直处理寄存器,并且以如上述产生的锁存脉冲设定的定时锁存在水平处理寄存器和垂直处理寄存器中。也就是说,将在水平处理块51中使用的水平补偿速度分量X_STB_*在其使用前锁存在水平处理寄存器中。同时,要在垂直处理块52中使用的垂直补偿速度分量Y_STB_*也锁存在垂直处理寄存器中。
基本上,要在垂直处理块52中使用的垂直补偿速度分量Y_STB_*持续保持为垂直补偿速度分量Y_STB_*的值,其与要在水平处理块51中使用的水平补偿速度分量X_STB_*同时锁存在垂直处理寄存器中。
然而,垂直处理块52持续保持为这个数值的事实仅在垂直处理块52的帧处理激活脉冲VL1的激活状态与水平处理块51的帧处理激活脉冲VL0的激活状态之间的周期的情况中存在。帧处理激活脉冲VL1的激活状态是帧处理激活脉冲VL1设定为高水平的状态。同样地,帧处理激活脉冲VL0的激活状态是帧处理激活脉冲VL0设定为高水平的状态。帧处理激活脉冲VL1的激活状态与帧处理激活脉冲VL0的激活状态之间的周期是锁存启动信号RV处于激活状态或设定在高水平的状态。
这是因为垂直处理时间会变长,不仅延长至输入图像的垂直同步信号V-SYNC,而且延长至作为水平处理块51的帧处理激活脉冲VL0的、为下一帧产生的脉冲。
[本发明提供的图像信号失真补偿装置的第二实施例]
在图30所示的实施例中,图像存储器单元4包括两个帧存储器41和42。首先,从数据转换单元14接收到的数字拍摄信号作为原始帧存储在帧存储器41中。然后,在经过对应于一帧的时间以后,存储在帧存储器41中的原始帧转移到帧存储器42中,并且从数据转换单元14接收到的新数字拍摄信号作为参考帧存储在帧存储器41中。也就是说,原始帧存储在帧存储器42中,参考帧存储在帧存储器41中。因而,手移动位移矢量检测单元15所采用的、作为用于检测原始和参考帧之间的移动矢量的定时的定时比原始帧滞后对应于一帧的时间段。
另一方面,在第二实施例的情况下,观察图像拾取器件11输出的图像数据,并将其作为允许对光泽扫描(luster scan)的流数据计算SAD值的结构中的参考帧的图像数据来处理。
图53是表示实现拍摄装置10的第二实施例的框图。如从图53中可以清楚看出,拍摄装置10的结构与图30所示的第一实施例所实现的拍摄装置10的结构完全一样,只是在第二实施例的情况中,图像存储器单元4只包括一个帧存储器43。
在第二实施例中,作为目标帧的原始帧存储在行存储器43中,作为流而由数据转换单元14输出的流作为参考帧。前述第一实施例中使用的手移动位移矢量检测单元15进行依据分别存储在帧存储器41和42中的两个帧中的图像数据计算SAD值的处理,将该值作为表示目标块与参考块之间的相关性的典型相关值。另一方面,在图53所示的该第二实施例的情况下,帧存储器43中存储的图像数据作为用作目标帧的原始帧的图像,而来自数据转换单元14的流图像数据用作参考帧的图像数据,手移动位移矢量检测单元15依据这两帧的图像数据进行计算SAD值的处理,将该值作为表示目标块与参考块之间的相关性的典型相关值。
然后,分辨率转换单元16依据手移动位移矢量检测单元15检测的移动矢量从帧存储器43中剪切图像数据。这样,可以输出没有由于手移动造成的失真的图像数据。其余的结构和操作与第一实施例相同。
如上所述,在第二实施例的情况下,来自数据转换单元14的流图像数据用作参考帧的图像数据。结果,对于输入参考帧上的特定像素,包括作为特定像素的拷贝的像素的多个参考块同时存在于参考帧上。参照图54解释这些参考块的存在。
从图54中可以清楚看出,参考帧102上的搜索范围105包括输入像素Din,其是原始帧101上的目标块103上的像素D2的拷贝像素。输入像素Din是由参考矢量1071指向的参考块1061的左侧上包含的像素以及由参考矢量1072指向的参考块1062的右上角处包含的像素。
因而,在计算像素间的像素值的差异的处理中处理参考块1061中时,输入像素Din的像素值必须与目标块103上的像素D1进行比较。另一方面,在计算像素间的像素值的差异的处理中处理参考块1062时,输入像素Din的像素值必须与目标块103上的像素D2进行比较。
为了使解释易于理解,后面要描述的图54和图55中的每一个只示出两个参考帧。然而,现实中,参考块的数目包括存在的输入像素Din。
在根据第二实施例计算目标块与参考块之间的SAD值的处理中,通过找出正被处理的参考块106上的输入像素Din的亮度值Y与作为对应于输入像素Din的点的点的、目标块103上存在的点处的像素的亮度值Y之间的差的绝对值,来计算像素值的差。每次计算这个差的绝对值时,差的绝对值就累加到之前存储在表元素中的临时和上作为所述差的绝对值的和,所述临时和作为表元素根据与参考块106相关的参考矢量107包含在SAD表108中。对与包括输入像素Din的参考帧106相关的每个参考矢量107进行计算像素值中的差的绝对值的处理以及在表元素中存储绝对值的处理。
让我们假定,例如,参考块1061是当前正被处理的参考块。在这种情况下,通过找出参考块1061上的输入像素Din的亮度值Y与作为对应于输入像素Din的点的点的、目标块103上存在的点处的像素D1的亮度值Y之间的差的绝对值,来计算像素值的差。然后,将计算出的差的绝对值累加到之前存储在相关值表元素(或SAD表元素)1091中的临时和上作为所述差的绝对值的和,所述临时和根据与参考块1061相关的参考矢量1071、作为表元素包含在图55所示相关值表(或SAD表)108中。对与包括输入像素Din的参考帧106相关的每个参考矢量107进行计算像素值中的差的绝对值的处理以及将计算出的绝对值累加到之前计算出并存储在SAD表元素1091中的临时和上的处理。例如,参考矢量1072和也包括输入像素Din的参考块1062相关。在这种情况下,如下对参考矢量1072进行计算像素值中的差的绝对值的处理以及将计算出的绝对值累加到之前计算并存储在SAD表元素1092中的临时和上的处理,所述临时和根据与参考块1062相关的参考矢量1072、作为表元素包含在图55所示的相关值表(或SAD表)108中。当处理参考块1062时,通过找出参考块1062上的输入像素Din的亮度值Y与作为对应于像素Din的点的点的、目标块103上存在的点处的像素D2的亮度值Y之间的差的绝对值来计算像素值的差。然后,计算出的差的绝对值累加到之前存储在SAD表元素1092中的临时和上作为所述差的绝对值的和,所述临时和根据与参考块1062相关的参考矢量1072、作为表元素包含在图35所示SAD表108中。
对搜索范围105内的所有输入像素Din进行对每个包括输入像素Din的所有参考块106进行的处理,并且,当对所有输入像素Din进行了处理时,SAD表108的每个表元素109包含最终SAD值并完成SAD表108的创建。
参照图55的解释适用于将传统技术来应用于以实时方式计算SAD值的处理的情况。如前面参照图55进行的描述,SAD表元素1091和1092每一个是包含在SAD表108中的典型SAD表元素109,作为分别与参考矢量1071和1072相关的元素。另一方面,在该第二实施例的情况下,相关值表(或SAD表)108的每个表元素109不是最终SAD值,其是如上所述的像素中的差异的绝对值的累加和。取而代之的是,与前述第一实施例很像,SAD表108被缩小成缩小相关值表(或收缩SAD表),缩小相关值表(或收缩SAD表)的每个表元素是通过执行如下步骤得到的值:
计算参考帧106上的搜索范围内的输入像素与目标帧上的对应像素之间的像素值的差异的绝对差;
以缩小因子1/n缩小指向参考块106的参考矢量107;
采用线性加权分布技术将计算出的绝对差拆分成多个分量绝对差;以及
将分量绝对差累加到之前计算出并存储在与多个邻近缩小参考矢量相关的多个表元素中的暂时和上,所述邻近缩小参考矢量接近缩小参考矢量107后得到的缩小矢量。
为指向包括输入像素的参考块106的每个参考矢量107执行上述步骤,以得到表元素中存储的值。为每个输入像素重复对指向分享输入像素的参考块106的所有参考矢量107执行的步骤。当对包含在搜索范围内的每个输入像素执行了这些步骤时,完成缩小相关值表(或收缩SAD表)。
在完成收缩SAD表以后,可以通过采用与第一实施例完成相同的技术进行根据第二实施例的检测准确可移动矢量的处理。如前所述,由第一实施例采用的典型技术是二次曲面技术以及基于在朝向垂直和水平方向的平面上施加的三次曲线的技术。
图56和57示出了代表由在根据第二实施例的拍摄装置10中使用的手移动位移矢量检测单元15进行的检测移动矢量的处理的流程。
流程从步骤S401开始,在该步骤手移动位移矢量检测单元15接收包含在作为参考帧的输入图像中的帧上的任何点(x,y)处的像素的像素数据Din(x,y)。然后,在下一个步骤S402,指定指向每一个都包括位置(x,y)处的输入像素Din(x,y)的多个参考块Ii之一的参考矢量(vx,vy)。
让我们用符号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)的点。然后,在下一步骤S403中,像素值Ii(x,y)与像素值Io(x-vx,y-vy)之间的差的绝对值α根据以下公式(3)来计算:
α=|Io(x-vx,y-vy)-Ii(x,y)|(3)
然后,在下一步骤S404,通过以缩小因1/n缩小指向参考块Ii的参考矢量(vx,vy)来计算缩小参考矢量(vx/n,vy/n)。
随后,在步骤S405,识别位于缩小参考矢量(vx/n,vy/n)附近的多个邻近参考矢量。如前所述,邻近参考矢量的每一个是具有整数vx/n值和整数vy/n值的缩小参考矢量。在该实施例中,邻近参考矢量的数目设定为四。然后,在下一个步骤S406,依据由邻近参考矢量所指向的位置与由前述缩小参考矢量(vx/n,vy/n)所指向的位置之间的关系,采用线性加权分布技术,将作为像素值差异的、在步骤S403发现的绝对值α拆分成四个分量差异。随后,在下一步骤S407,所述四个分量差异在缩小相关值表中包含的四个表元素中进行分配,作为分别与四个邻近参考矢量相关的四个表元素。
在完成步骤S407的处理以后,根据第二实施例的处理流程继续到下一步骤S408,以产生关于确定是否已经对每一个都指向包括输入像素Din(x,y)的参考块Ii的所有参考矢量(vx,vy)进行了步骤S402至S407的处理的结果。如果确定的结果表明还没有对每一个都指向包括输入像素Din(x,y)的参考块Ii的所有参考矢量(vx,vy)进行了步骤S402至S407的处理,根据处理流程退回到步骤S402,在该步骤指定指向每一个都包括输入像素Din(x,y)的多个参考块Ii之一的另一参考矢量(vx,vy)。然后,重复步骤S402之后的步骤S403至S407的处理。
另一方面,如果在步骤S408产生的确定结果表明已经对每一个都指向包括输入像素Din(x,y)的参考块Ii的所有参考矢量(vx,vy)进行了步骤S402至S407的处理,则根据第二实施例的处理流程继续到图57所示的流程的步骤S411,以产生关于是否已经对搜索范围105中的所有输入像素Din(x,y)进行了步骤S402至S408的处理的确定结果。如果确定结果表明还没有对搜索范围105中的所有输入像素Din(x,y)进行步骤S402至S408的处理,根据第二实施例的处理流程退回到步骤S401,在该步骤接收帧上另一点(x,y)处的另一像素的像素数据Din(x,y)。然后,进行后续步骤的处理。
另一方面,如果在步骤S411产生的确定结果表明已经对搜索范围105中的所有输入像素Din(x,y)进行了步骤S402至S408的处理,根据第二实施例的处理流程继续到步骤S412,在该步骤在表元素地址(mx,my)检测缩小相关值表或收缩SAD表的所有元素中存储的所有分量最终SAD值中的最小值。
然后,在下一个步骤S413,建立二次曲面,作为近似在表元素地址(mx,my)检测的最小相关值以及作为表元素地址(mx,my)附近的表元素的、在缩小相关值表中存储的多个相关值的曲面。如上所述,相关值的每一个是SAD值。在该第二实施例的情况下,存储在缩小相关值表中作为表元素地址(mx,my)附近的表元素的相关值的数目设定为15。然后,在下一个步骤S414,检测以分数水平精度指向X-Y平面上的位置的最小值矢量(px,py),作为对应于二次曲面上的最小SAD值的矢量。由最小值矢量(px,py)所指向的位置是对应于二次曲面上的最小SAD值的位置。
然后,在最后的步骤S415,用最小值矢量(px,py)乘以如图6所示的缩小因子的倒数值n计算出具有原始大小和原始方向的移动矢量(px×n,py×n)。
应当注意,同样在第二实施例的情况下,代替上述二次曲面方法,基于施加在分别面向垂直和水平方向的两个三次曲线的三次曲线方法也能用作检测以分数水平的精度指向一个位置的移动矢量(px,py)的方法,如在前述的第一实施例的第一至第三典型实现中那样。
另外,不必说,同样在第二实施例的情况下,通过使用缩小的SAD表检测移动表的处理可以按两个或更多阶段重复地进行,同时减小搜索范围,并且如有必要,改变缩小因子,如在前述的第一实施例的第三典型实施例中那样。
第二实施例具有与第一实施例相比帧存储器的尺寸可以减小一帧的优点,所以,可以缩短在帧存储器中存储输入图像的时间。不必说,可以证明存储器尺寸减小的效果。然而,近年来,其用于在帧存储器中存储输入图像的较短时间被认为是重要的特性。特别是,在处理动态图片的系统中,其自身用于在帧存储器中存储输入图像的较短导致系统延迟的缩短。因而,消除由拍摄的真实目标与其在显示面板上显示的图像之间的差异造成的不兼容的感觉对引起用户对产品的兴趣的努力有很大作用。
[其它实施例和不同的例子]
在上述第一和第二实施例的情形中,每个图片划分在水平方向上被分成多个部分,并在每个部分中设定目标块。然后,找出每一个都为设定在每个图片划分的部分中的目标块之一而检测的移动矢量的平均值,作为图片划分的移动矢量。然而,不必说,这些实施例的每一个也能分别变成具有以下构造的实施例,即,其中在每个图片划分中只设定一个目标块,并且为每个目标块检测参考矢量,而不是找出为目标块检测的参考矢量的平均。
另外,在上述第一和第二实施例的情形中,水平补偿速度分量X_STB_*用于在时间轴积分处理中对于水平线周期找出水平手移动补偿位移量SX_ADD,其实际上是与水平补偿速度分量X_STB_*相关的水平线的简单累加处理。也就是说,如图2所示,关于时间的积分处理是如下找出水平手移动补偿位移量SX_ADD的处理:
SX_ADD=X_STB_*的累加和
同样地,垂直补偿速度分量Y_STB_*用于在时间轴积分处理中对于垂直线周期找出垂直手移动补偿位移量SY_ADD,其实际上是与垂直补偿速度分量Y_STB_*相关的水平线的简单累加处理。也就是说,关于时间的积分处理是如下找出垂直手移动补偿位移量SY_ADD的处理:
SY_ADD=Y_STB_*的累加和
然而,代替进行上述积分处理,不必说,这些实施例的每一个也可以变成具有如下构造的实施例,即,其中如下通过用手移动补偿量SY_ADD乘以1水平线的周期找出垂直手移动补偿量:
SX_ADD=X_STB_*×线的周期
SY_ADD=Y_STB_*×线的周期
此外,在上述第一和第二实施例的情况下,拍摄装置对图像补偿由于操作装置的用户的手移动造成的失真。然而,不必说,这些实施例也可以变成具有如下构造的实施例,即,其中拍摄装置对图像补偿由于抖动的偏压力导致在成像器所成图像的水平和/或垂直方向上相对于图像拾取器件的位移所引起的失真。
此外,在上述第一和第二实施例的情况下,CMOS成像器用作X-Y地址固态图像拾取器件。然而,不必说,图像拾取器件并不限于CMOS成像器。
而且,本发明不仅能应用于照相机,而且还能应用于其它拍摄装置,诸如手机和便携式信息终端,它们中的每一个都配备有图像拾取器件。另外,本发明不仅能应用于作为用于对拍摄对象进行拍摄的装置的、用户的手操作的装置,而且也能应用于可能受到诸如抖动之类的外力影响的固定位置上的装置,以及作为用图像拾取器件对拍摄对象进行拍摄的装置的、安装在交通工具等上的装置。安装在固定位置上的装置的例子是个人计算机和TV电话。
顺便提及,本领域技术人员应当理解,根据设计需要和其它因素可以进行各改修改、组合、子组合和变换,只要它们落入所附权利要求及其等同物的范围内。
Claims (25)
1.一种对一屏图像的信号补偿在该一屏图像的水平和/或垂直方向上的失真的方法,该方法包括如下步骤:
将所述图像的一屏区域分成多个图片划分;
根据与两个屏中的一个上的具体图片划分和所述两个屏中的另一个上的具体图片划分之间的图像差有关的信息,对于所述图片划分中每个具体的图片划分检测所述图像的移动矢量;
找出任何特定图片划分与临近该特定图片划分的图片划分之间的所检测的移动矢量之差,以便对于所述特定图片划分检测图像失真的变化速度;以及
根据作为图像失真的变化速度的所检测出的所述每个图片划分的速度,针对每个所述图片划分补偿所述图像的失真。
2.如权利要求1所述的补偿图像信号的方法,其中作为图像失真的变化速度的、所检测出的所述图像的所述图片划分中每个特定的图片划分的速度的时间积分值用作要被补偿的所述特定图片划分的失真移动量,并且用所述时间积分值对所述图像的所述特定图片划分补偿失真。
3.如权利要求1所述的补偿图像信号的方法,其中所述图像的所述失真是由于图像拾取器件在拍摄时在拍摄对象的水平和/或垂直方向上的位置改变而在所述图像拾取器件中产生的图像失真。
4.如权利要求3所述的补偿图像信号的方法,其中:
每个所述图片划分包括多个线;
以线为单位从所述图像拾取器件中读取所述图像的数据;以及
在所述图片划分的每个具体图片划分中,将作为图像失真中的所述变化速度的、对于所述具体图片划分检测的速度关于时间进行积分,直到所述线单元中任何一个特定的线单元,以给出移动量,其用作在所述特定线单元位置上的移动量,以便补偿所述图像失真。
5.如权利要求3所述的补偿图像信号的方法,其中:
图像失真中的所述变化速度分成水平方向速度分量和垂直方向速度分量;
用所述水平方向速度分量补偿所述图像的水平方向失真;以及
用所述垂直方向速度分量补偿所述图像的垂直方向失真。
6.如权利要求4所述的补偿图像信号的方法,其中:
图像失真中的所述变化速度分成水平方向速度分量和垂直方向速度分量;
在所述图片划分的每个具体图片划分中,对所述具体图片划分的所述水平方向速度分量关于时间进行积分,直到所述线单元中的任何一个特定的线单元,以给出水平方向移动量,其用作在所述特定线单元位置上的水平方向移动量,以便补偿所述图像的水平方向失真;以及
在所述图片划分的每个具体图片划分中,对所述具体图片划分的所述垂直方向速度分量关于时间进行积分,直到所述线单元中的任何一个特定的线单元,以给出垂直方向移动量,其用作在所述特定线单元位置上的垂直方向移动量,以便补偿所述图像的垂直方向失真。
7.如权利要求6所述的补偿图像信号的方法,其中:
彼此同时地进行补偿所述图像的水平方向失真的处理和补偿所述图像的垂直方向失真的处理;以及
对所述垂直方向速度分量关于时间进行积分,同时总是检查所述补偿所述图像拾取器件中创建的图像的水平方向的失真的处理的进展程度。
8.如权利要求1所述的补偿图像信号的方法,其中为所述图片划分中的每个具体图片划分检测所述图像的移动矢量的所述步骤包括如下子步骤:
使用图像,该图像是用作参考屏的观察屏以及所述参考屏之前的原始屏,以检测所述移动矢量;
在所述原始屏上的每个所述图片划分内的预定位置设定至少一个目标块,该目标块具有与多个像素的大小相等的预定大小;
对于每个所述目标块,在所述参考屏内设定的搜索范围中设定多个具有与所述目标块相同大小的参考块;
从所述多个参考块中检测与所述特定目标块具有最强相关性的参考块,以及
检测表示在所述参考屏上从对应于所述特定目标块的位置到所述检测的参考块的位置的位移的大小和方向的所述移动矢量。
9.如权利要求8所述的补偿图像信号的方法,其中
通过进行以下步骤为每个所述图片划分检测所述图像的所述移动矢量:
找出所述特定参考块中的所有像素与位于所述特定目标块上的相应位置上的所有像素之间的像素值之差的绝对值总和的处理,作为所述参考块中每个特定参考块的差异绝对值总和计算处理;
缩小参考矢量设定处理,设定每个都表示在所述参考屏上从对应于所述特定目标块的位置到一个所述参考块的位置的位移的大小和方向的参考矢量,并以预定的缩小因子缩小所述参考矢量以得到缩小参考矢量;
绝对差总和表创建处理,创建包括表元素的收缩的绝对差总和表,表元素数目根据所述缩小参考矢量的数目及所述缩小因子来确定,并分配每个所述表元素作为用于存储由以下总和计算得出的数值的位置:所述总和的每一个都是为一个所述参考块找出的,作为所述像素值之差的绝对值的所述总和;以及
移动矢量计算处理,至少使用缩小参考矢量来计算每个所述图片划分的所述移动矢量作为所述参考屏与所述原始屏之间的移动矢量,所述缩小参考矢量对应于每一个都存储在所述收缩的绝对差总和表内作为所述像素值之差的绝对值的所述总和的多个值中最小的一个,以及
通过执行以下处理来进行所述绝对差总和表创建处理:
邻近参考矢量检测子处理,确定多个邻近参考矢量,每一个都具有与在所述缩小参考矢量设定处理中得到的所述缩小参考矢量中相应一个的矢量大小接近的矢量大小;
总和分量计算子处理,从对于参考块的所述差异绝对值总和计算处理中计算出的总和计算多个总和分量作为所述像素值之差的绝对值总和,每个总和分量都与一个邻近参考矢量相关,并且是通过拆分针对所述一个邻近参考矢量的参考块找出的差异绝对值总和得到的,该一个邻近参考矢量在所述邻近参考矢量检测子处理中被确定作为与一个特定的所述缩小参考矢量对应的邻近参考矢量,由此缩小所述特定缩小参考矢量;以及
分量总数计算子处理,通过将每个所述总和分量与对于所述特定邻近参考矢量迄今为止所得到的累加总数相累加来计算总和分量的总量,所述总和分量已经在所述总和分量计算子处理中计算出,作为每一个都与一个特定的所述邻近参考矢量相关的所述总和分量。
10.如权利要求8或9所述的补偿图像信号的方法,其中:
每个所述图片划分还分成多个图片子划分;
所述目标块设在每个所述图片子划分中;
对于每个所述目标块检测所述移动矢量;以及
从每一个对于在所述特定图片划分中设定的一个所述目标块被检测的多个所述移动矢量中来检测任何一个特定的所述图片划分的移动矢量。
11.如权利要求10所述的补偿图像信号的方法,其中将每一个对于在任意一个特定的所述图片划分中设定的一个所述目标块被检测的多个所述移动矢量的平均矢量作为所述特定图片划分的移动矢量。
12.如权利要求11所述的补偿图像信号的方法,其中,在计算每一个对于所述目标块之一被检测的多个所述移动矢量的平均矢量的处理中,检验所述多个移动矢量以产生关于所述移动矢量是否包括异常移动矢量的确定结果,如果所述确定的所述结果表明所述移动矢量包括异常移动矢量,则从计算所述移动矢量的平均矢量的所述处理中排除所述异常移动矢量。
13.一种拍摄方法,用于对成像器所成图像补偿由作为图像拾取器件的位置改变的、手移动造成的位置改变产生的失真,并用于在记录介质上记录所述补偿图像的信息,所述拍摄方法包括以下步骤:
将所述图像的一屏区域分成多个图片划分;
根据与两个屏中的一个上的具体图片划分和所述两个屏中的另一个上的具体图片划分之间的图像差异有关的信息,对所述图片划分中每个具体的图片划分检测所述图像的移动矢量;
根据与用作参考平的观察屏上的所述具体图片划分与所述参考屏前面的原始屏上的所述具体图片划分之间的图像差相关的信息,对于所述图片划分中每个具体的图片划分检测所述成像器所成图像的移动矢量;
找出任何特定图片划分与临近该特定图片划分的图片划分之间的所述检测的移动矢量之差,以便检测所述特定图片划分的所述位置改变的速度;
根据作为所述位置改变的所述速度的、对于每个所述图片划分检测的速度,为每个所述图片划分补偿所述成像器所成图像的失真;以及
将所述补偿的成像器所成图像的图像信息记录到记录介质上。
14.一种对一屏的图像的信号补偿在该一屏图像的水平和/或垂直方向上的失真的装置,包括:
移动矢量检测单元,配置用于根据与用作参考屏的观察屏上的具体图片划分与所述参考屏前面的原始屏上的具体图片划分之间的图像差相关的信息,对于作为划分一屏图像的一屏区域的结果得到的图片划分中每个具体的图片划分检测所述图像的移动矢量;
速度检测单元,配置用于通过找出经由所述移动矢量检测单元对于所述特定图片划分检测出的所述移动矢量与经由所述移动矢量检测单元对于与所述特定图片划分相邻的图片划分检测出的所述移动矢量之差,来对所述图片划分中每个具体的图片划分检测图像失真的改变速度;以及
失真补偿单元,配置用于根据作为所述特定图片划分的图像失真的所述变化速度的、由所述速度检测单元检测的速度,对于所述图片划分中每个具体的图片划分补偿所述图像失真。
15.如权利要求14所述的补偿图像信号的装置,其中所述失真补偿单元还包括:
移动量积分单元,配置用于计算作为图像失真中的所述变化速度的、对于所述图片划分中每个具体的图片划分检测的速度的时间积分值,并将所述时间积分值作为要被补偿的所述特定图片划分的失真移动量;以及
图像补偿单元,配置用于通过使用由所述移动量积分单元计算出的所述时间积分值来补偿所述图像的失真。
16.如权利要求14所述的补偿图像信号的装置,其中所述图像的所述失真是由于所述图像拾取器件在拍摄时在拍摄对象的水平和/或垂直方向上的位置改变而在图像拾取器件中产生的图像失真。
17.如权利要求16所述的补偿图像信号的装置,其中,
每个所述图片划分包括多个线;
以每一个分别对应于所述线中的任何一个的线为单元,从所述图像拾取器件中读取所述图像的数据;以及
所述失真补偿单元还包括:
移动量积分单元,配置用于在所述图片划分的每个具体图片划分中,将作为图像失真中的所述变化速度的、对于所述具体图片划分检测的速度关于时间进行积分,直到所述线单元中任何一个特定的线单元,以给出移动量;以及
图像补偿单元,配置用于使用由所述移动量积分单元找到的、作为
在所述特定线单元的位置处的移动量的所述移动量来补偿所述图像失真。
18.如权利要求16所述的补偿图像信号的装置,其中所述失真补偿单元还包括:
速度拆分单元,配置用于将图像失真的所述变化速度分成水平方向速度分量和垂直方向速度分量;
水平补偿处理单元,配置用于用所述速度拆分单元输出的所述水平方向速度分量补偿所述图像的水平方向的失真;以及
垂直补偿处理单元,配置用于用所述速度拆分单元输出的所述垂直方向速度分量补偿所述图像的垂直方向的失真。
19.如权利要求17所述的补偿图像信号的装置,其中:
所述失真补偿单元中使用的所述移动量积分单元还包括:
速度拆分单元,配置用于将图像失真中的所述变化速度分成水平方向速度分量和垂直方向速度分量;
水平方向移动计算单元,配置用于在所述图片划分的每个具体图片划分中,关于时间对对于所述所述图片划分中的任何一个具体图片划分获得的所述水平方向速度分量进行积分,直到所述线单元中的任何一个特定的线单元,以给出将被用作在所述特定线单元位置上的水平方向移动量的水平方向移动量;以及
垂直方向移动计算单元,配置用来在所述图片划分的每个具体图片划分中,关于时间对对于所述所述图片划分中的任何一个具体图片划分获得的所述垂直方向速度分量进行积分,直到所述线单元中的任何一个特定的线单元,以给出将被用作在所述特定线单元位置上的垂直方向移动量的垂直方向移动量;以及
所述失真补偿单元中使用的所述图像补偿单元还包括:
水平方向补偿单元,配置用于在每个所述图像划分中,通过使用作为在每个所述线单元位置上的所述水平方向移动量的、由所述水平方向移动计算单元找出的水平方向移动量,补偿所述图像的水平方向失真;以及
垂直方向补偿单元,配置用于在每个所述图片划分中,通过使用作为在每个所述线单元位置上的所述垂直方向移动量的、由所述垂直方向移动计算单元找出的垂直方向移动量,补偿所述图像的垂直方向失真。
20.如权利要求14所述的补偿图像信号的装置,其中:
所述移动矢量检测单元是用于对每个所述图像划分找出用作参考屏的观察屏与所述参考屏之前的原始屏之间的移动矢量的单元;
在所述原始屏上的每个所述图片划分内的预定位置设定至少一个目标块,该目标块具有与多个像素的大小相等的预定大小;
对于每个所述目标块,在所述参考屏内设定的搜索范围中设定多个具有与所述目标块的所述预定大小相同大小的参考块;
在对所述目标块的每个特定目标块设定的所述搜索范围中寻找与所述特定目标块具有最强相关性的参考块,以及
检测表示在所述参考屏上从对应于所述特定目标块的位置到所述寻找的参考块的位置的位移的大小和方向的所述移动矢量。
21.如权利要求20所述的补偿图像信号的装置,其中:
所述移动矢量检测单元包括:
差异绝对值总和计算单元,配置用于找出在搜索范围中设定的所述参考块中的每个特定参考块中的所有像素与位于所述特定目标块上的相应位置上的所有像素之间的所述像素值之差的绝对值总和,作为每个特定参考块的差异绝对值总和;
缩小参考矢量设定单元,配置用于设定每个都表示在所述参考屏上从对应于所述特定目标块的位置到一个所述参考块的位置的位移的大小和方向的参考矢量,并以预定缩小因子缩小所述参考矢量以得到缩小参考矢量;
绝对差总和表创建单元,配置用于创建包括表元素的收缩的绝对差总和表,表元素数目根据所述缩小参考矢量的数目及所述缩小因子来确定,并分配每个所述表元素作为用于存储由总和计算得出的数值的位置,所述总和的每一个都是为一个所述参考块找出的并作为所述像素值之差的绝对值的所述总和;以及
移动矢量计算单元,配置用于至少使用缩小参考矢量来计算每个所述图片划分的所述移动矢量作为所述参考屏与所述原始屏之间的移动矢量,所述缩小参考矢量对应于存储在所述收缩的绝对差总和表内作为所述像素值之差的绝对值的所述总和的各个值中最小的一个,以及
所述绝对差总和表创建单元包括,
邻近参考矢量检测单元,配置用于确定多个邻近参考矢量,每一个都具有与在所述缩小参考矢量设定单元中得到的所述缩小的参考矢量中相应一个的矢量大小接近的矢量大小;
总和分量计算单元,配置用于根据所述差异绝对值总和计算单元对于由参考矢量指出的参考块所计算出的总和,来计算多个总和分量,作为所述像素值之差的绝对值总和,每个总和分量都与一个邻近参考矢量相关,并且是通过拆分针对所述一个邻近参考矢量的参考块找出的差异绝对值总和得到的,该一个邻近参考矢量被所述邻近参考矢量检测单元确定作为与一个特定的所述缩小参考矢量对应的邻近参考矢量,由此缩小所述特定缩小参考矢量;以及
分量总数计算单元,配置用于通过将每个所述总和分量与对于所述特定邻近参考矢量迄今为止所得到的累加总数相累加来计算总和分量的总数,所述总和分量已经由所述总和分量计算单元计算出,作为每一个都与一个特定的所述邻近参考矢量相关的所述总和分量。
22.如权利要求20所述的补偿图像信号的装置,其中所述移动矢量检测单元包括:
进一步将每个所述图片划分分成多个图片子划分;
在每个所述图片子划分中设定所述目标块;
对于每个所述目标块检测所述移动矢量;以及
从每一个对于在任何一个特定的所述图片划分中设定一个所述目标块被检测的多个所述移动矢量来检测所述特定图片划分的移动矢量。
23.如权利要求22所述的补偿图像信号的装置,其中所述移动矢量检测单元将每一个对于在任意一个特定的所述图片划分中设定的一个所述目标块被检测的多个所述移动矢量的平均矢量作为所述特定图片划分的移动矢量。
24.如权利要求23所述的补偿图像信号的装置,其中所述移动矢量检测单元在计算每一个对于所述目标块之一被检测的多个所述移动矢量的平均矢量的处理中,检验所述多个移动矢量以产生关于所述移动矢量是否包括异常移动矢量的确定结果,如果所述确定的所述结果表明所述移动矢量包括异常移动矢量,则所述移动矢量检测单元从计算所述移动矢量的平均矢量的所述处理中排除所述异常移动矢量。
25.一种拍摄装置,用于对成像器所成图像补偿由作为图像拾取器件的位置改变的、手移动造成的位置改变产生的失真,并用于在记录介质上记录所述补偿图像的信息,所述拍摄装置包括:
移动矢量检测单元,配置用于根据与两个屏中的一个上的具体图片划分和所述两个屏中的另一个上的所述具体图片划分之间的图像差异有关的信息,对于作为划分图像的一屏区域的结果而获得的图片划分中每个具体的图片划分检测所述图像的移动矢量;
速度计算单元,配置用于找出任何特定图片划分与临近该特定图片划分的图片划分之间的、由所述移动矢量检测单元检测的所述检测的移动矢量之差,以便检测所述特定图片划分的所述位置改变的速度;
图像失真补偿单元,配置用于根据作为所述位置改变的所述速度的、对于每个所述图片划分检测的速度,为每个所述图片划分补偿所述成像器所成图像的失真;以及
记录单元,配置用于将所述补偿的成像器所成图像的图像信息记录到所述记录介质上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP024065/06 | 2006-02-01 | ||
JP2006024065A JP4340915B2 (ja) | 2006-02-01 | 2006-02-01 | 撮像画像信号の歪み補正方法、撮像画像信号の歪み補正装置、撮像方法および撮像装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101123684A CN101123684A (zh) | 2008-02-13 |
CN101123684B true CN101123684B (zh) | 2012-02-01 |
Family
ID=37964967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710128843XA Expired - Fee Related CN101123684B (zh) | 2006-02-01 | 2007-02-01 | 拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8009872B2 (zh) |
EP (1) | EP1816857B1 (zh) |
JP (1) | JP4340915B2 (zh) |
KR (1) | KR101350193B1 (zh) |
CN (1) | CN101123684B (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4304528B2 (ja) * | 2005-12-01 | 2009-07-29 | ソニー株式会社 | 画像処理装置および画像処理方法 |
KR100936862B1 (ko) * | 2007-12-31 | 2010-01-15 | 삼성에스디아이 주식회사 | 디스플레이 계조 표현 장치 및 계조 표현 방법 |
JP4689687B2 (ja) | 2008-01-29 | 2011-05-25 | 株式会社モルフォ | 撮像方法および撮像装置 |
JP5075757B2 (ja) * | 2008-08-05 | 2012-11-21 | オリンパス株式会社 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
US20100220215A1 (en) * | 2009-01-12 | 2010-09-02 | Jorge Rubinstein | Video acquisition and processing systems |
TWI369908B (en) * | 2009-01-20 | 2012-08-01 | Mstar Semiconductor Inc | Image processing circuit and image processing method |
JP4915424B2 (ja) * | 2009-02-19 | 2012-04-11 | ソニー株式会社 | 画像処理装置、カメラモーション成分算出方法、画像処理プログラム及び記録媒体 |
JP4915423B2 (ja) | 2009-02-19 | 2012-04-11 | ソニー株式会社 | 画像処理装置、フォーカルプレーン歪み成分算出方法、画像処理プログラム及び記録媒体 |
JP2011003985A (ja) * | 2009-06-16 | 2011-01-06 | Hoya Corp | 撮像装置 |
JP5272916B2 (ja) * | 2009-06-17 | 2013-08-28 | ペンタックスリコーイメージング株式会社 | 撮像装置 |
CZ2010650A3 (cs) * | 2010-08-31 | 2012-03-07 | Vysoké ucení technické v Brne | Zpusob a zarízení pro digitální korekci obrazu |
CN102404492B (zh) * | 2010-09-14 | 2014-07-02 | 北京大学 | 一种图形噪音的删除方法及系统 |
JP5655626B2 (ja) | 2011-02-24 | 2015-01-21 | ソニー株式会社 | 画像処理装置、および画像処理方法、並びにプログラム |
JP5351200B2 (ja) * | 2011-03-24 | 2013-11-27 | 株式会社東芝 | 画像処理装置、画像処理システムおよび画像処理方法 |
DE102011007644A1 (de) * | 2011-04-19 | 2012-10-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Bestimmung von zur Entzerrung eines Bildes geeigneten Werten und zur Entzerrung eines Bildes |
TW201303745A (zh) * | 2011-07-14 | 2013-01-16 | Novatek Microelectronics Corp | 動態偵測方法及顯示裝置 |
JP5701733B2 (ja) | 2011-10-13 | 2015-04-15 | 株式会社東芝 | 画像処理装置、画像処理システムおよび画像処理方法 |
JP6089424B2 (ja) * | 2012-03-21 | 2017-03-08 | セイコーエプソン株式会社 | 画像処理装置、プロジェクター、およびプロジェクターの制御方法 |
JP5842694B2 (ja) | 2012-03-21 | 2016-01-13 | セイコーエプソン株式会社 | 画像処理装置、プロジェクター、およびプロジェクターの制御方法 |
US8913141B2 (en) | 2012-06-28 | 2014-12-16 | Gopro, Inc. | Edge-based electronic image stabilization |
JP5984574B2 (ja) | 2012-08-14 | 2016-09-06 | キヤノン株式会社 | 撮像システム及びその制御方法、撮像装置 |
JP5798696B2 (ja) * | 2012-11-30 | 2015-10-21 | 富士フイルム株式会社 | 画像処理装置、方法、記録媒体及びプログラム並びに撮像装置 |
KR102020941B1 (ko) * | 2013-02-08 | 2019-09-11 | 삼성전자주식회사 | 움직임 추정 장치 및 추정 방법 |
JP6203515B2 (ja) * | 2013-03-29 | 2017-09-27 | 株式会社メガチップス | 画像処理装置 |
JP2015033108A (ja) | 2013-08-07 | 2015-02-16 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
KR102080525B1 (ko) * | 2013-08-14 | 2020-02-25 | 삼성디스플레이 주식회사 | 표시 패널 |
US9462189B2 (en) * | 2014-07-31 | 2016-10-04 | Apple Inc. | Piecewise perspective transform engine |
JP5901812B1 (ja) * | 2015-03-05 | 2016-04-13 | 三菱電機株式会社 | 車両画像処理装置 |
US9967461B2 (en) * | 2015-10-14 | 2018-05-08 | Google Inc. | Stabilizing video using transformation matrices |
US10007990B2 (en) * | 2015-12-24 | 2018-06-26 | Intel Corporation | Generating composite images using estimated blur kernel size |
US10102668B2 (en) * | 2016-05-05 | 2018-10-16 | Nvidia Corporation | System, method, and computer program product for rendering at variable sampling rates using projective geometric distortion |
KR101775967B1 (ko) * | 2016-07-29 | 2017-09-07 | 현대오트론 주식회사 | 영상 변환 장치 및 방법 |
CN107682694B (zh) * | 2017-07-07 | 2020-02-04 | 西安万像电子科技有限公司 | 图像编解码方法、装置及系统 |
US10462370B2 (en) | 2017-10-03 | 2019-10-29 | Google Llc | Video stabilization |
EP3564917B1 (en) * | 2018-05-04 | 2020-07-01 | Axis AB | A method for detecting motion in a video sequence |
US10171738B1 (en) | 2018-05-04 | 2019-01-01 | Google Llc | Stabilizing video to reduce camera and face movement |
CN110233964A (zh) * | 2019-05-29 | 2019-09-13 | 天津大学 | 一种应用于tdi cmos图像传感器的防抖动方法 |
US11190689B1 (en) | 2020-07-29 | 2021-11-30 | Google Llc | Multi-camera video stabilization |
CN112819710B (zh) * | 2021-01-19 | 2022-08-09 | 郑州凯闻电子科技有限公司 | 基于人工智能的无人机果冻效应自适应补偿方法及系统 |
CN113343347B (zh) * | 2021-02-01 | 2022-06-17 | 复旦大学 | 一种翼型前缘cst的垂直补偿修正方法及装置 |
US11829756B1 (en) | 2021-09-24 | 2023-11-28 | Apple Inc. | Vector cumulative sum instruction and circuit for implementing filtering operations |
CN114785969B (zh) * | 2022-05-30 | 2025-04-01 | 维沃移动通信有限公司 | 拍摄方法和装置 |
CN114697557B (zh) * | 2022-06-01 | 2022-09-13 | 合肥埃科光电科技股份有限公司 | 信号时序控制方法及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6734901B1 (en) * | 1997-05-20 | 2004-05-11 | Canon Kabushiki Kaisha | Vibration correction apparatus |
US6778210B1 (en) * | 1999-07-15 | 2004-08-17 | Olympus Optical Co., Ltd. | Image pickup apparatus with blur compensation |
EP1605691A2 (en) * | 2004-06-08 | 2005-12-14 | Nikon Corporation | Vibration reduction apparatus having feedback path for motion signal and camera system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2239575B (en) * | 1989-10-17 | 1994-07-27 | Mitsubishi Electric Corp | Motion vector detecting apparatus and image blur correcting apparatus, and video camera including such apparatus |
US5237405A (en) | 1990-05-21 | 1993-08-17 | Matsushita Electric Industrial Co., Ltd. | Image motion vector detecting device and swing correcting device |
JP3103894B2 (ja) | 1991-02-06 | 2000-10-30 | ソニー株式会社 | ビデオデータの手振れ補正装置およびその方法 |
US6741652B1 (en) * | 1992-02-21 | 2004-05-25 | Canon Kabushiki Kaisha | Movement vector detecting device |
JP3384459B2 (ja) | 1992-04-17 | 2003-03-10 | ソニー株式会社 | 撮像装置 |
JPH0686149A (ja) | 1992-08-31 | 1994-03-25 | Sony Corp | 動きベクトル検出装置及びビデオカメラ |
JPH07283999A (ja) | 1994-04-07 | 1995-10-27 | Sony Corp | 画像合成装置及び画像撮影装置 |
JPH10322585A (ja) * | 1997-05-20 | 1998-12-04 | Canon Inc | 撮像装置及び撮像システム |
US6630950B1 (en) * | 1998-03-19 | 2003-10-07 | Canon Kabushiki Kaisha | Apparatus for improving image vibration suppression |
JP2001204038A (ja) | 2000-01-21 | 2001-07-27 | Hitachi Ltd | 撮像装置 |
JP3679988B2 (ja) * | 2000-09-28 | 2005-08-03 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
US7791641B2 (en) * | 2001-09-12 | 2010-09-07 | Samsung Electronics Co., Ltd. | Systems and methods for utilizing activity detection information in relation to image processing |
JP3925415B2 (ja) | 2003-01-22 | 2007-06-06 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
JP2004343483A (ja) | 2003-05-16 | 2004-12-02 | Acutelogic Corp | 手振れ補正装置および方法、手振れ検出装置 |
JP4613510B2 (ja) | 2003-06-23 | 2011-01-19 | ソニー株式会社 | 画像処理方法および装置、並びにプログラム |
JP4261381B2 (ja) | 2004-02-10 | 2009-04-30 | 株式会社シバソク | 映像信号処理装置 |
US20060007201A1 (en) | 2004-07-06 | 2006-01-12 | Her-Ming Jong | Image display controller with processing data protection |
JP4389779B2 (ja) | 2004-12-27 | 2009-12-24 | ソニー株式会社 | 撮像画像信号の歪み補正方法および撮像画像信号の歪み補正装置 |
-
2006
- 2006-02-01 JP JP2006024065A patent/JP4340915B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-31 US US11/669,726 patent/US8009872B2/en not_active Ceased
- 2007-02-01 CN CN200710128843XA patent/CN101123684B/zh not_active Expired - Fee Related
- 2007-02-01 KR KR1020070010471A patent/KR101350193B1/ko not_active Expired - Fee Related
- 2007-02-01 EP EP07101587A patent/EP1816857B1/en not_active Not-in-force
-
2012
- 2012-12-04 US US13/693,779 patent/USRE45231E1/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6734901B1 (en) * | 1997-05-20 | 2004-05-11 | Canon Kabushiki Kaisha | Vibration correction apparatus |
US6778210B1 (en) * | 1999-07-15 | 2004-08-17 | Olympus Optical Co., Ltd. | Image pickup apparatus with blur compensation |
EP1605691A2 (en) * | 2004-06-08 | 2005-12-14 | Nikon Corporation | Vibration reduction apparatus having feedback path for motion signal and camera system |
Also Published As
Publication number | Publication date |
---|---|
KR20070079324A (ko) | 2007-08-06 |
EP1816857A3 (en) | 2008-11-05 |
KR101350193B1 (ko) | 2014-01-09 |
CN101123684A (zh) | 2008-02-13 |
US20070177037A1 (en) | 2007-08-02 |
JP2007208580A (ja) | 2007-08-16 |
USRE45231E1 (en) | 2014-11-04 |
EP1816857B1 (en) | 2012-04-11 |
US8009872B2 (en) | 2011-08-30 |
JP4340915B2 (ja) | 2009-10-07 |
EP1816857A2 (en) | 2007-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101123684B (zh) | 拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置 | |
CN100556082C (zh) | 拍摄图像的失真校正方法和装置、拍摄方法和拍摄装置 | |
JP4178480B2 (ja) | 画像処理装置、画像処理方法、撮像装置および撮像方法 | |
JP4178481B2 (ja) | 画像処理装置、画像処理方法、撮像装置および撮像方法 | |
KR101287482B1 (ko) | 화상 처리 장치 및 화상 처리 방법 | |
CN101668125B (zh) | 成像装置、固态成像器件、图像处理装置、方法 | |
US9538085B2 (en) | Method of providing panoramic image and imaging device thereof | |
JP2009071689A (ja) | 画像処理装置、画像処理方法および撮像装置 | |
WO2011129249A1 (ja) | 画像処理装置、撮像装置、プログラム及び画像処理方法 | |
JP2007215114A (ja) | 撮像画像の歪み補正方法、撮像画像の歪み補正装置および撮像装置 | |
JP2009105533A (ja) | 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法 | |
US8723969B2 (en) | Compensating for undesirable camera shakes during video capture | |
JP2008028500A (ja) | 画像処理装置、方法、およびプログラム | |
JP4904925B2 (ja) | 画像処理装置および画像処理方法 | |
JP2010245691A (ja) | 複眼撮像装置 | |
JP2007323458A (ja) | 画像処理装置および画像処理方法 | |
CN100559843C (zh) | 图像处理装置和图像处理方法 | |
JP4998134B2 (ja) | 画像処理装置および画像処理方法 | |
JP4606218B2 (ja) | 歪補正装置 | |
JP4403409B2 (ja) | 画像データ処理方法および画像データ処理装置 | |
WO2012002102A1 (ja) | 撮像装置 | |
JPH07177426A (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: 20120201 Termination date: 20150201 |
|
EXPY | Termination of patent right or utility model |