图像处理装置和方法、记录介质和程序的制作方法

文档序号:7963721阅读:81来源:国知局
专利名称:图像处理装置和方法、记录介质和程序的制作方法
技术领域
本发明涉及图像处理装置和方法、记录介质和程序,具体涉及用于通过便携成像装置而减小在拍摄中的摄像机抖动的影响的图像处理装置和方法、记录介质和程序。
背景技术
便携摄像机正在得到普遍使用。在普通的摄像机中使用的固态成像装置包括以CCD(电荷耦合器件)传感器为代表的电荷传送固态成像装置和以CMOS(互补金属氧化物半导体)传感器为代表的X-Y寻址固态成像装置。
CMOS传感器具有比CCD传感器低的功耗。而且,CMOS传感器被单个低压电源驱动,并且容易与外围电路集成。因此,正在考虑将CMOS传感器并入诸如摄像机的图像处理装置。
但是,难于使用CMOS传感器来作为诸如摄像机的图像处理装置的成像装置而记录高质量的运动图像或静止图像。原因之一是所捕获的图像由于摄像机抖动而失真。对于已经被用作图像处理装置的成像装置的CCD传感器,根据在一个场或一个帧中获得的摄像机抖动信息而计算的单个值被用作执行减少摄像机抖动的影响的处理所需要的校正量。因为所有像素的曝光时间是一致的,因此图像不失真。因此,可以使用所述单个值来校正由摄像机抖动引起的移位。
另一方面,CMOS传感器按照下面的机制来捕获主体的图像和处理所捕获的图像。所述图像由于摄像机抖动而失真。所述失真可能由于下面的原因引起。
在诸如CCD传感器的电荷传送固态成像装置中,所有像素同时被曝光,以便可以读出像素数据。在诸如CMOS传感器的X-Y寻址固态成像装置中,每个像素读出数据,或者每条线依序读出数据。在固态成像装置中,当每个像素依序读出数据的时候,在一条线中的像素之间的读出时间之间的差比线之间的要小,可忽略。在下面的说明中,如图1所示,将考虑在线之间的读出时间的差。
例如,现在说明CMOS传感器。所述传感器具有这样的结构,如图1所示,其中,所有像素的读出时间是1/60秒,并且每个帧包括线1-N。参见图2,时间t1是曝光线1的起点,事件t2是其结束点。时间t3是曝光线2的结束点。事件t4是曝光线3的结束点。
时间t2和时间t3之间的差对应于时间差Δt。时间t3和时间t4之间的差也对应于时间差Δt。换句话说,对于曝光时间,每条线出现时间差。因此,在这种情况下,在一个帧中顶线1和底线N之间的时间差大约是对应于曝光时间的1/60秒。当在读出一个帧中底线N的曝光时间相对于顶线1的曝光时间延迟的条件下给出摄像机抖动的时候,不幸的是,由于在线之间的曝光时间的差而导致主体的图像失真。
现在参照图3和图4来说明主体的捕获图像失真的问题。图3和4示出了在帧的中心一个固定长方形被捕获作为主体的情况的示例。图3的中间图示出了不失真的正常图像,所述图像是通过经由没有摄像机抖动的图像处理装置来拍摄主体而被获得的。所述主体被捕获为长方形。
图3的右图示出了由于在拍摄主体中图像处理装置的右向移动而失真的图像。类似地,图3的左图示出了由于在拍摄主体中图像处理装置的左向移动而失真的图像。
图4的中间图示出了不失真的正常图像,所述图像是通过经由没有摄像机抖动的图像处理装置拍摄主体而被获得的。所述主体被捕获为长方形。图4的上图示出了由于在拍摄主体中图像处理装置的上移而垂直扩展的图像。图4的下图示出了由于在拍摄主体中图像处理装置的下移而垂直收缩的图像。
如上所述,在CMOS传感器中,每条线的曝光时间移位(即成像时间被延迟)。如果使用从在一个场或一个帧中获得的摄像机抖动信息计算的单个值来校正由摄像机抖动引起的移位,则不能完全地消除摄像机抖动的影响。不幸的是,要提供给用户的图像可能失真。
为了校正由摄像机抖动引起的图像失真,提出了一种图像处理装置,用于改变每条线的读出位置以便校正在水平方向上的移位,并且改变在垂直方向上要读取的线的位置以便校正在垂直方向上的移位(参见例如日本未审查专利申请出版物第2001-358999号)。
按照在日本未审查专利申请出版物第2001-358999号中公开的方法,假定在构成帧的每条线获得摄像机抖动信息。不利的是,难于以用于检测摄像机抖动的传感器的采样频率的形式来获得每条线的摄像机抖动信息。
另外,按照在日本未审查专利申请出版物第2001-358999号中公开的方法,不幸的是,以像素为单位来校正由摄像机抖动引起的移位。
传统的图像处理装置必须暂时存储所捕获的图像的图像数据。因此,传统的图像处理装置需要具有能够存储至少一个帧的数据的容量的存储器。因此,不能降低所述存储器的容量。

发明内容
本发明考虑到上述情况而被作出,并且本发明的一个目的是根据在一个场或一个帧中获得的摄像机抖动信息来每条线产生一个校正量,以高精度地校正由摄像机抖动引起的移位。本发明的另一个目的是根据摄像机抖动信息来确定像素内插的系数,以产生用于内插的像素数据,由此更高精度地校正由摄像机抖动引起的移位。本发明的另一个目的是短时间执行摄像机抖动检测以降低用于存储图像数据的存储器的容量。
本发明提供了一种图像处理装置,处理通过X-Y寻址型的固态成像元件拍摄的被摄体图像,其特征在于,该装置包括存储部件,存储由所述成像部件拍摄的所述被摄体图像;输出部件,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换部件,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;计算部件,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量;所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时,所述控制部件根据所述校正量校正被存储在所述存储部件中的所述图像数据,并进行输出校正后的被摄体图像的控制。
本发明还提供一种图像处理方法,是包括通过X-Y寻址型的固态成像元件拍摄被摄体图像的成像部件;以及存储由所述成像部件拍摄的所述被摄体图像的存储部件的图像处理装置的图像处理方法,其特征在于,该方法包括输出步骤,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换步骤,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;以及计算步骤,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量,进行控制,使得所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时进行控制,使得根据所述校正量校正被存储在所述存储部件中的被摄体图像区域,并输出校正后的被摄体图像。
本发明还提供一种记录有程序的记录介质,该程序是控制具有通过X-Y寻址型的固态成像元件拍摄被摄体图像的成像部件;以及存储由所述成像部件拍摄的所述被摄体图像的存储部件的图像处理装置的计算机的程序,其特征在于,该程序包括输出步骤,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换步骤,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;以及计算步骤,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量,进行控制,使得所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时进行控制,使得根据所述校正量校正被存储在所述存储部件中的被摄体图像区域,并输出校正后的被摄体图像。
本发明还提供一种程序,该程序是控制具有通过X-Y寻址型的固态成像元件拍摄被摄体图像的成像部件;以及存储由所述成像部件拍摄的所述被摄体图像的存储部件的图像处理装置的计算机可读取的程序,其特征在于,该程序包括输出步骤,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换步骤,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;以及计算步骤,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量,进行控制,使得所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时进行控制,使得根据所述校正量校正被存储在所述存储部件中的被摄体图像区域,并输出校正后的被摄体图像。
按照本发明,根据与给定振动相关联的信息,通过计算和内插在构成帧的每条线获得用于校正以抵消振动所需要的校正量。


图1是说明从X-Y寻址成像装置读出图像数据的图;图2是说明在线之间的读出的差的图。
图3包括说明由摄像机移动而引起的主体图像的失真的图。
图4包括说明由摄像机移动而引起的主体图像的失真的图。
图5是按照本发明的一个实施例的图像处理装置的结构的方框图。
图6是说明移位的图。
图7是说明由摄像机抖动引起的主体图像的失真的图。
图8是说明图像处理装置的操作的流程图。
图9A是说明移位的内插的图。
图9B是说明移位的内插的图。
图9C是说明移位的内插的图。
图10A是说明校正量的图。
图10B是说明校正量的图。
图10C是说明校正量的图。
图11是说明读取位置的图。
图12是说明读出的图。
图13A是说明像素内插的图。
图13B是说明像素内插的图。
图14是说明读出的图。
图15A是说明像素内插的图。
图15B是说明像素内插的图。
图16是说明包括内插的像素的图像的图。
图17是说明图像处理装置的另一种操作的流程图。
图18A是说明像素读出的图。
图18B是说明像素读出的图。
图18C是说明像素读出的图。
图18D是说明像素读出的图。
图19是说明计算移位所需要的信息的时序图。
图20是说明计算移位所需要的信息的图。
图21是说明移位的预测的图。
图22是说明介质的图。
具体实施例方式
现在参照附图来说明本发明的一个实施例。图5是按照本发明的一个实施例的图像处理装置的结构的方框图。图像处理装置10包括成像装置11,它是例如X-Y寻址固态成像装置(诸如COMS图像传感器)。由成像装置11捕获的主体的图像的数据被提供到AFE(模拟前端)12。
AFE 12将所提供的图像数据转换为数字图像数据,然后将结果产生的数据提供到信号处理单元13。信号处理单元13从所提供的图像数据计算亮度信号和色差信号,然后向图像内插单元14提供所计算的信号。
虽然被提供到图像内插单元14的图像数据对应于由成像装置11捕获的主体的图像的数据段,但是不是由成像装置11捕获的图像的所有数据段被提供到图像内插单元14。仅仅在由TG(定时产生器)15产生的定时被读取的数据段被提供到图像内插单元14。
被提供到图像内插单元14的数据在存储器控制器16的控制下被暂时存储在存储器17中。另一方面,按照存储器控制器16的指令来读取在存储器17中存储的数据,然后将其提供到图像内插单元14。在图像内插单元14中,所提供的数据进行下面详细描述的内插处理,用于校正由摄像机抖动引起的移位。结果产生的数据从图像内插单元14被输出到记录介质(未示出)或显示器(未示出),以便记录或显示数据。
作为被提供到图像处理装置10的振动,用户摄像机抖动将被描述为一个示例。即使当除了摄像机抖动之外的振动被给出时,本发明也可以被应用到那个情况。
图像内插单元14、定时产生器15和存储器控制器16根据由校正计算单元19计算的校正量来控制相应的操作,所述校正量是根据由摄像机抖动检测单元18获得的移位而被获得的。
摄像机抖动检测单元18检测在拍摄中被提供到图像处理装置10的摄像机抖动。使用诸如角速度传感器的传感器的方法或基于图像处理的无传感器的摄像机抖动检测方法被用于摄像机抖动检测。例如,当摄像机抖动检测单元18包括角速度传感器时,角速度传感器向校正计算单元19提供用于指示在平摇(yawing)方向中的角速度的数据和用于指示俯仰(pitching)方向中的角速度的数据。
根据由摄像机抖动引起的所检测的移位,校正计算单元19计算用于指示用于校正由摄像机抖动引起的移位的校正量的数据。换句话说,校正计算单元19使用所提供的数据来对于每条线计算用于指示像素数量的校正量,图像通过移动所述校正量而降低给定的摄像机抖动的影响。
如上参照图1和2所述,在诸如COMS图像传感器的固态成像装置中每条线依序读取图像数据。因此,每条线计算校正量。
必须计算每条线的校正量。当获得指示移位的数据时的定时依赖于摄像机抖动检测单元18的采用频率。不总是每条线提供用于指示用于计算校正量所需要的移位的数据。
假定摄像机抖动检测单元18的采样频率与由成像装置11捕获的图像的每条线的数据读取频率不同。为了获得每条线的校正量,必须在根据从摄像机抖动检测单元18提供的用于指示移位的数据而不执行计算的同时、通过任何方式来内插摄像机抖动检测单元18的采样点的数据,以获得校正量。
假定摄像机抖动检测单元18的采用频率匹配由成像装置11捕获的图像的每条线的数据读取频率,但是频率不同相。为了获得每条线的校正量,必须在摄像机抖动检测单元18的采样点之间内插用于指示校正量的数据。
现在说明用于指示校正量的数据的内插。举例而言,假定在读出100条线的同时执行三次摄像机抖动检测(当从摄像机抖动检测单元18向校正计算单元19提供指示移位的数据时的定时)。为了方便说明,假定可以在图6所示的每条线1’、50’、100’获得由摄像机抖动检测单元18检测的移位。作为在说明中的基准线的线1是构成所捕获的图像的线之一。
参见图6,在读取线1’中的移位对应于像素P1,在读取线50’中的移位对应于像素P2,在读取线100’中的移位对应于像素P3。
移位是通过经由校正计算单元19将从摄像机抖动检测单元18提供的信息转换为以像素为单位的值而获得的值。由校正计算单元19获得的移位包括一个像素的小部分。在随后的处理步骤中,可以通过一个像素或更小来校正移位。
移位P1-P3表示与在预定定时获得的基准移位相关联的差。所述预定定时是例如仅仅在捕获图像开始后。参见图6,在所述基准和线1’之间发生右向移动。其后,在线1’和50’之间发生右向移动。然后,在线50’和100’之间发生左向移动。
例如,假定将固定长方形捕获为主体。当引起图6的移位的摄像机抖动被提供到图像处理装置10的时候,图7所示的图像被捕获(被提供到用户),除非数据被校正。由摄像机抖动引起的移位被校正,以便校正失真图像,并且最后将所述长方形作为长方形图像提供给用户。
在本实施例中,使用诸如CMOS图像传感器的X-Y寻址固态成像装置来作为成像装置11的示例(图5)。假定诸如CCD图像传感器的电荷传送固态成像装置被用作成像装置11,则使用单个值来校正在一个帧中每条线的由摄像机抖动引起的图像失真。按照本发明的系统可以被应用到那个情况(在一个帧中使用同一值)。
为了校正每条线的移位,必须获取每条线的校正量。但是,再次参见图6,仅仅获取线1’、50’、100’的移位。为什么获取离散数据的原因是所述获取依赖于摄像机抖动检测单元18的摄像机抖动检测定时(采样频率)。在这种情况下,不获得线2’到49’的移位和线51’到99’的移位。因此,必须通过内插来获得相应线的移位,以便执行校正处理。
现在参照图8的流程图来说明校正计算单元19的内插处理(校正计算处理)。在步骤S11中,校正计算单元19获取用于指示由摄像机抖动检测单元18检测的移位的数据(用于计算移位的摄像机抖动信息)。
如上所述,校正计算单元19获取在线1’到100’中的三个移位。在步骤S12中,根据所述三个移位来计算在线2’到99’(排除线50’)中的移位。现在参照图9A-9C来说明所述计算。参照图9A。例如,关于线1’的移位被用于线2’到40’,关于线50’的移位被用于线41’到60’,关于线100’的移位被用于线61’到99’。换句话说,可以使用一种方法,将关于一条线的移位应用于在前的和随后的线以执行内插。
参见图9B,可以使用线性函数来获得所述移位。在图9B的示例中,按照线性函数根据关于线1’和50’的两个移位来计算关于线2’到49’的移位。按照线性函数根据关于线50’和100’的两个移位来获得关于线51’到99’的移位。
另外,参见图9C,可以使用不是线性函数的另一个函数来计算移位。图9C中所示的一个示例是基本上类似的如图9B所示的示例。除了使用非线性函数的函数。一般,不在相同方向以相同速度以相同幅度而发生摄像机抖动。因此,如果使用具有恒定变化率的线性函数执行内插,则可能发生误差。为了以较高的精度更适当地执行内插(校正),优选地使用表示如图9C所示的曲线的函数。
通过校正计算单元19的通过量来确定使用图9A-9C所示的哪种方法来计算校正量。当校正计算单元19包括微计算机时,可以按照微计算机的通过量而使用图9A-9C的任何一种方法来计算(内插)校正量。
具体上,如果校正计算单元19的通过量低,则可以按照图9A所示的具有小计算量的方法来计算(内插)校正量。当校正计算单元19的通过量较高时,可以按照图9C所示的具有较大计算量的方法来计算(内插)校正量。
如上所述,在根据离散移位每条线获得移位后,在准备S13计算校正量。校正量是以像素为单位的指示所校正的对应移位如何抵消移位(减小摄像机抖动的影响)的值。
例如,如图6所示,线1’的移位对应于像素P1。为了抵消对应于像素P1的移位,可以将具有相同绝对值和不同符号的数量、即像素-P1计算为校正量。
图10A-10C是示出由校正计算单元19计算的校正量的图。图10A示出了当校正计算单元19按照参照图9A所述的方法内插移位时计算的校正量。图10B示出了当校正计算单元19按照参照图9AB所述的方法内插移位时计算的校正量。图10C示出了当校正计算单元19按照参照图9C所述的方法内插移位时计算的校正量。
如上所述,在计算校正量后,在步骤S14确定读取位置(图8)。在确定读取位置后,如果两个像素位于那个位置,则在步骤S15通过内插而获得新的像素。现在说明在步骤S14的读取位置的确定和在步骤S15的像素内插。为了方便说明,下面一起说明步骤S14和S15。通过校正计算单元19来执行步骤S14和在前的步骤(图5),通过图像内插单元14来执行步骤S15。
参见图11,左部分示出了由校正计算单元19计算的水平方向上的校正量的图。右方部分示出了当未校正在捕获长方形主体时给出的摄像机抖动时获得的图像A的示例。中间部分示出了在右部分中示出的图像的放大部分。
图像A的所述部分包括10条线20’-29’。要读取的像素b位于线23’。每条线计算校正量。根据用于指示对应线的校正的数据、即多少像素用于移位读取位置来确定在每条线中的读出开始位置。
绘制读出开始位置以形成在图11的中间部分所示的读取开始线b。在图11的中间部分的读取开始线b是线性的。但是,它不总是线性的。在一些情况下,预定线的读出开始位置可能偏离其他线的读出开始位置。为了图解而示出了读取开始线b。它不是被形成为校正计算单元19的处理的结果的线或执行所述处理所需要的线。
参见图12,当沿着读取开始线b开始读出时,发现将与作为长方形的一侧的一段的部分相对应的图像校正为无失真图像,如图12的下部所示。
按照本实施例,可以校正对应于一个像素或更小的移位。当注意垂直方向和水平方向的任何一个时,要读取的像素b可以位于一个像素或两个像素中。首先,将说明其中注意水平方向的情况。图13A示出了其中像素b位于一个像素中的示例。在图13A的情况下,像素G3的像素数据被读出作为像素b的像素数据。
图13B示出了其中像素b位于两个或更多的像素中的示例。参见图13B,像素b位于像素G2和G3上。在这种情况下,根据相邻像素来产生像素b的数据,并且结果产生的数据被读取作为像素b的像素数据。
现在参照图13B来说明根据相邻像素来产生像素b的数据的情况。当像素b位于像素G2和G3上的时候,使用像素G2和像素G3的像素数据来产生像素b的像素数据。在这种情况下,将像素G2的像素数据乘以像素G2的总面积和与像素b重叠的面积的比率,并且将像素G3的像素数据乘以像素G3的总面积和与像素b的重叠面积的比率,由此产生像素b的像素数据。
例如,假定像素G2的像素数据是数据D2,像素G3的像素数据是数据D3,并且像素G2的总面积和与像素b的重叠面积的比率是Kb(0<Kb<1)。通过下面的表达式来计算像素b的像素数据像素b的像素数据=D2×Kb+D3×(1-Kb)。
如上所述,可以通过将像素b重叠的每个像素的数据乘以重叠比率来产生要读取的像素b的像素数据。或者,除了重叠像素的数据之外,还可以根据像素b不重叠的像素的数据来产生像素b的像素数据。
参见图13B。例如,使用像素G1-G4来产生像素b的像素数据。在这种情况下,将像素G1-G4的像素数据段(D1-D4)乘以从重叠像素G2的像素b的比率唯一获得的相应系数(K1-K4)。相加结果产生的值。换句话说,根据下面的表达式来计算像素b的数据=D1×K1+D2×K2+D3×K3+D4×K4。
图像内插单元14或校正计算单元19在与重叠像素G2的像素b的比率(即在校正包括对应于一个像素的一部分的像素段的情况下对应于一个像素的一部分的值(例如当所计算的校正量是1.5像素时是0.5))相关联的表格中存储系数K1-K4。可以从所述表格读取系数。
如上所述,当使用多个像素来产生像素b的像素数据时,可以较高精度地校正由摄像机抖动引起的移位。如果像素b位于一个像素,则可以根据相邻像素的像素数据段来产生其像素数据。
以那个方式,执行确定水平读取位置的处理和必要时内插(产生)要读取的像素数据的处理。现在说明确定垂直读取位置的处理和必要时内插(产生)要读取的像素的数据的处理。垂直方向的处理基本上类似于关于水平方向的上述处理。
参见图14,左部分包括示出了由校正计算单元19计算的垂直方向中的校正量的图。图14的右部分示出了当未校正向上的摄像机移动的影响时通过捕获长方形主体而获得的图像A的示例,所述长方形图像被拉长。图14的中间部分示出了在右部分中图像的放大的部分a的图。
图像A的部分a包括七条线20’-26’。要读取的像素b位于线23’内。在图14的中间部分,向其中在没有摄像机抖动的情况下捕获主体时定位图像的线(以下在适当时称为原始线)分配附图标号。为了方便说明,形成在线之间的间隙。在图14的示例中,因为原始线不与所捕获的图像的线重合,因此,在线之间的间隙中包括图像。
在上述的水平方向的移位校正中。在一条线中的读取开始位置被移位以校正移位。在垂直方向的移位校正中,选择线本身来校正移位。换句话说,以下述方式来校正在垂直方向中的移位将用于指示多少像素被用于向上或向下移位所捕获的线的数据计算为校正量以获得没有摄像机抖动下捕获的原始图像,并且根据校正量来执行读出。
类似于在水平方向的移位校正量,在垂直方向中,要读取的像素b可以位于图15A所示的一个像素(线)中或图15B所示的多个像素(线)中。关于用于当像素b位于多个像素上时产生像素b的像素数据的手段,因为可以以类似于在参照图13B所述的水平方向中的移位校正的方式使用系数来计算像素数据,因此将省略所述手段的说明。
在执行上述内插(校正)后,所捕获的图像的线匹配原始线,如图16的左部所示。结果,如图16的右部所示,校正所捕获的图像,以便作为矩形的一侧的一段的一部分位于原始线上。如上所述,即使当在捕获图像中给出垂直摄像机抖动的时候,也可以减少摄像机抖动的影响,并且可以向用户提供结果产生的图像。
如上所述,按照本实施例,执行在水平方向中的移位校正和在垂直方向上的移位校正(图8的步骤S14和S15)。
在上述的本实施例中,在步骤S12内插所述移位,并且在步骤S13计算校正量。换句话说,内插由摄像机抖动检测单元18获得的离散数据段以每条线产生移位。其后,每条线计算校正量。
也可以按照图17所示的流程图来校正摄像机抖动的效果。在步骤S21中,从摄像机抖动检测单元18获得移位。在步骤S22,通过校正计算单元19来计算移位的校正量。在步骤S23中,内插所计算的校正量以每条线产生校正量。
换句话说,根据由摄像机抖动检测单元18获得的离散数据段来计算离散校正量。摄像机抖动校正量被内插以获得每条线的校正量。如上所述,当计算校正量和然后内插校正量时,可以获得与内插移位和然后使用通过内插的移位来计算校正量的情况一样的优点。
因为步骤S24和下面的步骤与步骤S14和下面的步骤相同,因此将省略其说明。对于步骤S22和S23,因为基本处理——例如使用线性函数或非线性函数来计算校正量——与上述的图8的流程图中相同,因此省略其说明。
如上所述,校正计算单元19计算校正量。如图5所示,向图像内插单元14、定时产生器15和存储器控制器16提供每个校正量。现在说明通过相应的分量基于校正量的像素读出。参见图18A,举例而言,将读取开始位置R0设置为在像素G1中的预定位置。现在说明这个示例。
在这种情况下,定时产生器15控制从成像装置11向AFE 12提供的像素数据的读出。以像素为单位来执行通过定时产生器15的像素数据读出的控制,其数量是一个像素的整数倍。于是,从图18B所示的读取开始位置R1开始读出。在这种情况下,读取开始位置R1对应于像素G1的首部。因此,像素G1的像素数据段和后面的像素被提供到图18C所示的AFE 12和随后的部件。
换句话说,在定时产生器15的控制下执行粗略的移位校正。
随后,图像内插单元14和存储器控制器16以一个像素的一部分来校正移位。首先,图18C所示的像素数据在存储器控制器16的控制下通过图像内插单元14被依序存储在存储器17中。存储器控制器16在必要时读取在存储器17中存储的像素数据,并且向图像内插单元14提供所读取的数据。
将说明在存储器控制器16的控制下的读出和图像内插单元14的处理。在这种情况下,如图18D的上部所示,从位于像素G1的中间的读取开始位置R2读取像素数据。但是,不能从所述像素的中部读取数据。因此,如图18D的下部所示,制造(内插)而不是读出像素G1’、G2’、...的像素数据段,然后产生它们。
执行已经参照图13A、B和15A、B上述的内插处理,以便将每个像素数据乘以系数等。在水平和垂直方向产生(内插)像素。按照所述处理,执行精细的移位校正。需要用于存储像素数据的存储器17来精细校正。也需要存储器控制器16来控制对于存储器17的写入和读取。因此,本装置具有图5所示的结构。
在图5的示例中,从信号处理单元13输出的像素数据(图像数据)在存储器控制器16的控制下通过图像内插单元14被存储在存储器17中。按照所述结构,在通过图像内插单元14的上述像素内插之前(当从信号处理单元13向存储器控制器16提供数据时),图像的分辨率被转换,并且可以将具有所转换的分辨率的图像进行摄像机抖动校正。
换句话说,图像内插单元14可以转换输入数据的分辨率或内插输出数据的像素。如上所述,当图像内插单元14可以处理要存储在存储器17中的像素数据(图像数据)和所存储的像素数据时,可以实现处理变化。
在上述的实施例中,已经作为示例说明了图像处理装置10包括定时产生器15的情况。定时产生器15不总是移位校正所需要的。本发明可以被应用到图像处理装置10不包括定时产生器15的情况。
当图像处理装置10不包括定时产生器15时,可以通过图像内插单元14和存储器控制器16来执行上述的像素内插(读出和产生)。当基于由校正计算单元19计算的校正的读取开始位置对应于在图18A中的读取开始位置R0的时候,可以从像素G1开始图18D所示的像素数据产生而不使用通过定时产生器15的粗略校正。换句话说,可以通过图像内插单元14和存储器控制器16来执行粗略校正和精细校正。
在上述实施例中,没有说明存储器17的容量。例如,如果存储器17可以存储一个图像的数据,则存储器17具有足够的容量。如下所述,即使当存储器17具有不能存储一个图像的数据的容量时,只要处理校正量,则可以执行移位校正处理。换句话说,如果存储器17的容量小,则可以高精度地执行上述的移位校正处理。
现在说明在水平方向中的移位校正。所述说明将基于假设图像处理装置10包括摄像机抖动检测单元18(图5),用于如图19所示八次检测在一个场或一个帧中的摄像机抖动信息。当曝光时间被如图19设置时,可以根据信息段a1-a6来计算线1的摄像机抖动信息。在这种情况下,假定设置了上述条件。
如上所述,按照本实施例,使用涉及预定线的数据段来内插(计算)用于校正由给定的摄像机抖动引起的移位的校正量,以提供每条线的校正量。再次参见图9B,当通过内插获得移位或校正量时,不能不使用关于两条线1’和50’的摄像机抖动信息段来获得关于线2’-49’的移位或其校正量。
但是,参见图19,当信息段a1-a6被用作线1(例如线1’)的摄像机抖动信息段、即当使用可以在对应线的曝光时间获得的摄像机抖动信息段(在这种情况下是六个段)的时候,在获取下一个信息a7之前不能计算下一个移位。在这种情况下,一旦读取线i(例如线50’)就获得信息a7。
因此,在使用六个摄像机抖动信息段来计算移位的情况下,不能对于在线1和i之间的线2至(i-1)(例如线2’-49’)执行内插处理,直到获得在线i中的数据a7。换句话说,按照如上所述的摄像机抖动检测,当读取在预定位置的线时,不获得线的摄像机抖动信息。不幸的是,不能通过移位校正来确定读取像素数据的位置。因此,必须在图像数据被暂时存储在存储器17中并且计算校正后执行读取操作(和内插处理)。
但是,按照本实施例,根据信息段a2-a5来计算关于线1的移位。换句话说,从摄像机抖动信息消除在两端的信息段,所述摄像机抖动信息段可以在曝光时间被获得,并且从四个中间信息段计算移位。
如上所述,在使用中间信息段(时间序列信息段的中间信息段和在前和随后的信息段)计算移位的情况下,在线1的曝光时间过去后,计算线i的移位所需要的信息段a3-a6已经被检测(获得)。因此,可以在当线1的曝光时间过去时的时间计算关于线i的移位。因此,可以在当线1的曝光时间过去时的时间基于关于线1的移位和关于线i的移位来获得(计算)关于线2-(i-1)的每个的移位。
因此,如果图像数据不暂时被存储在存储器17以便计算移位,则可以计算移位和校正量。因此,即使当图像数据不被存储在存储器17的时候,也可以执行在水平方向的移位校正。
如果使用中间信息段a3和a4来计算关于线1的移位、即如果使用仅仅两个中间信息段来获得线1的移位,则可以在当获得线1的移位时的时间(线1的曝光时间过去)来计算线i到j的移位。
在这种情况下,根据很少的信息来产生线1的移位。当使用其他线(例如相对于线1的线i和j)的移位、即多条线的移位来另外对每条线校正移位时,可以高精度地计算线1的移位。因此,可以高精度地获得校正量。
随后,将说明在垂直方向上的移位校正。因为垂直移位校正与上述的水平移位校正基本上类似,因此现在说明其间的差。将再次参照图19来说明垂直移位校正。类似于上述的水平移位校正,使用例如信息段a2-a5来计算关于第一线(线1)的移位。在第一线的曝光时间过去后,用于计算线i的移位所需的信息段a3-a6已经被检测(获得)。
于是,图像处理装置10不必向在上述的水平移位校正的情况下那样包括具有用于存储一个图像的容量的存储器17。如果存储器17具有小容量,则可以高精度地执行应用了本发明的移位校正。
但是,垂直移位校正不同于水平移位校正之处在于需要参照图14和15如上所述处理多条线。因此,图像处理装置10必须包括具有用于存储与内插移位和像素所需像素(例如十条线)相对应的像素(图像)数据的容量的存储器17。
如上所述,虽然图像处理装置10需要包括存储器17,但是存储器17具有用于存储一个图像的容量或更小容量。可以降低存储器17的容量。因此,可以将除了存储用于移位校正的图像数据所需要的容量之外的、存储器17的容量来用于另一个处理。或者,降低存储器17的容量,由此减少存储器17的成本。
如上所述,摄像机抖动检测单元18(图5)根据短时间获得的信息段来计算移位(校正量),由此降低存储器17的容量。在上述的实施例中,为了容易说明,在一个场或一个帧中检测八个摄像机抖动信息段。在本发明的应用中,不限制摄像机抖动检测次数。本发明可以被应用到具有任何摄像机抖动检测次数的移位校正。
在通过使用X-Y寻址固态成像装置的成像装置捕获的图像中,仅仅在曝光时间过去后才读取每个像素的图像信息。当如上所述使用其中可以降低存储器17的容量的方法时,可能出现下列问题如果曝光时间降低(快门速度提高、即满足摄像机抖动检测间隔>曝光时间的一半的关系式),则在一些情况下,在读取像素信息的定时不检测下一次的移位。
现在参照图20来说明所述问题。在第一区域中,每条线的曝光中心位于关于摄像机抖动检测的信息段a4和a5之间。此时,需要根据信息段a4和a5来内插移位。但是,当读取在第一区域中的每条线时,未检测关于摄像机抖动的信息段a5。于是,不能通过在第一区域的内插而获得移位。
在第二区域中,每条线的读取时间是在信息段a5的检测时间后。因为每条线的曝光的中间位于关于摄像机抖动检测的信息段a4和a5之间,并且已经检测了关于摄像机抖动的信息段a4和a5,因此可以根据作为信息段a4和a5的摄像机抖动信息通过内插来获得每条线的移位。
在第三区域中,每条线的曝光的中心位于信息段a5的检测时间之后,即在摄像机抖动信息段a5和信息段a6之间。需要根据信息段a5和a6通过内插来获得每条线的移位。但是,当读取在第三区域中的每条线时,未检测关于摄像机抖动的信息段a6。因此,不能在第三区域中通过内插而获得移位。
如上所述,当满足所述条件(摄像机抖动检测间隔)>(曝光时间的一半)时,可能出现其中不能通过内插获得每条线的移位的一些区域。
当提高用于摄像机抖动检测的采样频率时,降低摄像机抖动检测间隔,以便可以防止上述问题。但是,计算复杂度和通信复杂度提高,导致系统负荷增加。
作为用于降低系统负荷和解决上述问题的手段,使用预测移位。参见图21,例如,为了计算移位F1,使用过去的移位P1和P2,根据移位P1和P2来获得直线1,并且计算移位F1来作为在直线1的扩展上的一个点。
所述方法是一个示例。用于预测的过去的摄像机抖动数据段的数量和预测算法不受限。
按照上述的实施例,在通过内插执行获得帧的上端或下端附近的移位(校正量)的处理中,可以使用在前的和随后的场或帧的移位数据段来进行用于内插的计算。因此,可以高精度地计算用于校正移位的校正量。因此,可以高精度地校正移位。
在上述实施例中,还没有详细说明要捕获的图像。静止图像或运动图像可以被用作要捕获的图像。换句话说,本发明可以被应用到用于捕获静止图像的摄像机和用于捕获运动图像的摄像机。
如上所述,按照本发明,可以获得校正移位的数据,通过内插小数量关于摄像机抖动的检测数据获得构成图像的每条线。另外,内插像素数据以便校正一个像素或更小的移位。因此,可以以一个像素或更小的精度来校正每条线的图像的失真,所述失真是由被提供到诸如使用X-Y寻址固态成像装置的摄像机——例如CMOS图像传感器——的图像处理装置的摄像机抖动引起的。
而且,按照本发明,可以降低用于存储所捕获的图像的图像数据的存储器17的容量。自然地,除了诸如CMOS图像传感器之类的的X-Y寻址固态成像装置的摄像机之外,本发明还可以被应用到使用诸如CCD图像传感器的电荷传送固态成像装置的摄像机。
可以通过具有相应功能的硬件来执行校正摄像机抖动的上述处理。也可以软件来执行所述处理。当通过软件来执行一系列处理步骤时,使用其中在专用硬件中安装了包括所述软件的程序的计算机。或者,从在例如通用计算机上的记录介质安装所述程序,在所述计算机上安装了各种程序以执行各种功能。
为了说明记录介质,现在简要说明使用记录介质的个人计算机。图22示出了通用个人计算机的内部结构。个人计算机的CPU(中央处理单元)201按照在ROM(只读存储器)202中存储的程序来执行各种处理。通过CPU 201执行各种处理所需要的数据和程序被适当地存储在RAM(随机存取存储器)203中。包括键盘和/或鼠标的输入单元206连接到输入-输出接口205,它向CPU 201输出信号,所述信号被提供到输入单元206。包括显示器和/或扬声器的输出单元207连接到输入-输出接口205。
而且,包括硬盘的存储单元208和用于通过诸如因特网的网络对于另一个装置发送和接收数据的通信单元209连接到输入-输出接口205。驱动器210用于向/从诸如磁盘221、光盘222、磁光盘223和半导体存储器224的记录媒体写入和读出数据。
如图22所示,记录介质包括封装介质,其中记录了程序,并且它独立地从个人计算机被分发以向用户提供程序,所述封装介质诸如磁盘231(包括软盘)、光盘232(包括CD-ROM(致密盘-只读存储器)或DVD(数字多用途盘))、磁光盘233(包括MD(微型盘)(注册商标))或半导体存储器234。或者,记录介质包括在被提供给用户的计算机中内置的、其中存储了程序的硬盘,所述硬盘包括ROM 202或存储单元208。
在本说明书中,描述通过介质提供的程序的步骤不仅包括要在时序基础上以所述顺序执行的处理,而且包括不总是在时序基础上被执行而是同时或独立地被执行的处理。
产业上的应用按照本发明,可以校正由在图像捕获中给出的摄像机抖动引起的移位。
按照本发明,可以高精度地校正移位。
按照本发明,可以校正一个像素或更小的移位。
按照本发明,可以减少用于存储用于校正由摄像机抖动引起的移位所需要的图像数据的存储器的容量。
按照本发明,即使当降低曝光时间时,也可以降低用于存储校正移位所需要的图形数据的存储器的容量。
权利要求
1.一种图像处理装置,处理通过X-Y寻址型的固态成像元件拍摄的被摄体图像,其特征在于,该装置包括存储部件,存储由所述成像部件拍摄的所述被摄体图像;输出部件,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换部件,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;计算部件,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量;所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时,所述控制部件根据所述校正量校正被存储在所述存储部件中的所述图像数据,并进行输出校正后的被摄体图像的控制。
2.一种图像处理方法,是包括通过X-Y寻址型的固态成像元件拍摄被摄体图像的成像部件;以及存储由所述成像部件拍摄的所述被摄体图像的存储部件的图像处理装置的图像处理方法,其特征在于,该方法包括输出步骤,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换步骤,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;以及计算步骤,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量,进行控制,使得所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时进行控制,使得根据所述校正量校正被存储在所述存储部件中的被摄体图像区域,并输出校正后的被摄体图像。
3.一种记录有程序的记录介质,该程序是控制具有通过X-Y寻址型的固态成像元件拍摄被摄体图像的成像部件;以及存储由所述成像部件拍摄的所述被摄体图像的存储部件的图像处理装置的计算机的程序,其特征在于,该程序包括输出步骤,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换步骤,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;以及计算步骤,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量,进行控制,使得所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时进行控制,使得根据所述校正量校正被存储在所述存储部件中的被摄体图像区域,并输出校正后的被摄体图像。
4.一种程序,该程序是控制具有通过X-Y寻址型的固态成像元件拍摄被摄体图像的成像部件;以及存储由所述成像部件拍摄的所述被摄体图像的存储部件的图像处理装置的计算机可读取的程序,其特征在于,该程序包括输出步骤,输出与被施加到所述图像处理装置的振动有关的振动检测信息;变换步骤,将所述振动检测信息变换为表示对所述图像处理装置施加的振动的大小的振动量;以及计算步骤,根据所述振动量,计算用于降低所述振动对所述被摄体图像的影响的校正量,进行控制,使得所述存储部件不是存储一张所述被摄体图像,而是存储用于降低所述振动对所述被摄体图像的影响的校正所需要的被摄体图像的线部分的图像数据,同时进行控制,使得根据所述校正量校正被存储在所述存储部件中的被摄体图像区域,并输出校正后的被摄体图像。
全文摘要
一种图像处理装置和方法、记录介质和程序,能够校正在成像期间施加的摄像机抖动。获取离散摄像机抖动数量数据,并且从离散摄像机抖动数量数据对于每条线内插摄像机抖动数量数据。通过这个内插,从对于每条线准备的摄像机抖动量计算每条线的摄像机抖动校正量。按照所述摄像机抖动校正量,确定像素数据读取位置,并且按照所确定的读取位置来读出像素数据。当在要读出的位置的像素是在两个像素上的位置的像素时,从多个像素数据产生(内插)位于要读出的位置的像素的像素数据。因此,校正摄像机抖动的影响。本发明可以被应用到摄像机。
文档编号H04N5/374GK1988601SQ200610093840
公开日2007年6月27日 申请日期2004年1月21日 优先权日2003年1月22日
发明者稻叶靖二郎, 田中健二, 木下雅也 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1