成像设备、成像方法以及程序转让专利

申请号 : CN200910226597.0

文献号 : CN101753813B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 山下纪之国兼宪太郎

申请人 : 索尼株式会社

摘要 :

一种成像设备包括:成像装置,该成像装置通过光学系统对被摄体图像进行成像;图像信号处理部分,具有使用给定的初始值将多个成像图像合成为一个合成图像的功能,所述成像图像是在移动成像设备的同时获得的;姿势传感器,能够获得成像设备的姿势信息;控制器,该控制器处理姿势传感器的信息,以基于处理结果和图像信号处理部分的处理结果来执行协同控制,其中图像信号处理部分通过图像识别来获得图像的相对位置关系;并且控制器基于姿势传感器的检测信息来获得图像的位置关系,基于所获得的位置关系和由图像信号处理部分获得的相对位置关系指定各个图像的绝对位置关系,并且将该绝对位置关系作为初始值提供给图像信号处理部分。

权利要求 :

1.一种成像设备,包括:

光学系统,具有使光轴改变的光轴改变元件;

成像装置,该成像装置通过光学系统对被摄体图像进行成像;

图像信号处理部分,具有使用给定的与各个图像的绝对位置关系有关的初始值将多个成像图像合成为一个合成图像的功能,所述成像图像是在移动成像设备的同时获得的;

姿势传感器,能够获得成像设备的姿势信息;

控制器,该控制器针对所述成像装置的中心方向上的部分线控制所述光轴改变元件的所述光轴,使得在与所述部分线的曝光时间和读出时间之和相对应的时间期间,使所述光轴向抵消所述成像装置的移动的方向改变,而在除上述时间期间以外的其它的时间期间,使所述光轴返回所述成像装置的移动的中心附近,并且,该控制器处理姿势传感器的信息,以基于处理结果和图像信号处理部分的处理结果来执行协同控制,其中图像信号处理部分通过图像识别来获得图像的相对位置关系;并且

控制器基于姿势传感器的检测信息来获得图像的位置关系,基于所获得的位置关系和由图像信号处理部分获得的相对位置关系指定各个图像的绝对位置关系,并且将该绝对位置关系作为初始值提供给图像信号处理部分。

2.根据权利要求1所述的成像设备,

其中,控制器通过对获得的位置关系和由图像信号处理部分获得的相对位置关系的选择性协同来获得相对位置关系,并且然后指定与各个图像的中心的取向相关的所述各个图像的绝对位置关系。

3.根据权利要求2所述的成像设备,其中

姿势传感器包括角速度传感器;并且

控制器使用角速度传感器的检测信息对移动量进行积分以便计算相对位置关系,执行由图像信号处理部分获得的相对位置关系的选择性协同校正以便对相对位置信息进行积分,从而指定绝对位置关系。

4.根据权利要求2所述的成像设备,其中

姿势传感器包括角速度传感器和加速度传感器;并且

控制器使用角速度传感器的检测信息对移动量进行积分以便计算相对位置关系,执行由图像信号处理部分获得的相对位置关系的选择性协同校正以便对相对位置信息进行积分,从而获得指定绝对位置关系的相对位置关系,并且,控制器根据加速度传感器的检测信息校正绝对位置。

5.根据权利要求1至4中的任一项所述的成像设备,

其中,图像信号处理部分使用图像的重叠区域来执行图像识别。

6.根据权利要求1至4中的任一项所述的成像设备,

其中,图像信号处理部分在多个被选图像的边界执行块匹配处理以便针对所述边界执行合成处理,从而使得被选图像的边界处于重叠关系,由此提取特定参数;基于该参数对要合成的所有边界执行块匹配处理;以同步和并行方式对所有边界评估块匹配处理的结果;

并且,执行合成处理,以便通过更新光轴方向来减少误差,从而减少在所有边界中的误差。

7.一种成像方法,包括下述步骤:

通过具有光轴改变元件的光学系统,使用成像装置来对被摄体图像进行成像,该光轴改变元件能够在移动成像设备的同时改变其光轴;

针对所述成像装置的中心方向上的部分线控制所述光轴改变元件的所述光轴,使得在与所述部分线的曝光时间和读出时间之和相对应的时间期间,使所述光轴向抵消所述成像装置的移动的方向改变,而在除上述时间期间以外的其它的时间期间,使所述光轴返回所述成像装置的移动的中心附近;

通过对成像图像执行图像识别来获得图像的相对位置关系;

基于姿势传感器的检测信息获得所述图像的位置关系;

基于所获得的位置关系和通过图像识别获得的相对位置关系,指定各个图像的绝对位置关系;以及使用被指定的绝对位置关系作为初始值来将多个成像图像合成为一个合成图像,所述成像图像是在移动成像设备的同时获得的。

8.根据权利要求7所述的成像方法,其中,经由对所获得的位置关系和通过图像识别获得的相对位置关系的选择性协同来获得相对位置关系,并且然后指定与各个图像的中心的取向相关的所述各个图像的绝对位置关系。

9.根据权利要求8所述的成像方法,其中,使用作为姿势传感器的角速度传感器的检测信息对移动量进行积分以便计算相对位置关系,对由图像信号处理部分获得的相对位置关系执行选择性协同校正以便对相对位置信息进行积分,从而指定绝对位置关系。

10.根据权利要求8所述的成像方法,其中,使用作为姿势传感器的角速度传感器的检测信息对移动量进行积分以便计算相对位置关系,对由图像信号处理部分获得的相对位置关系执行选择性协同校正以便对相对位置信息进行积分,从而获得指定绝对位置关系的相对位置关系,由此根据作为姿势传感器的角速度传感器的检测信息来校正绝对位置。

说明书 :

成像设备、成像方法以及程序

技术领域

[0001] 本发明涉及一种具有将多个图像合成在一起的功能的成像设备,并且涉及一种成像方法及其程序。

背景技术

[0002] 在使用摄像放像机(camcorder)(内置于VTR中的照相机)、数字照相机等的全景摄影中,当在每一个阶段中停止照相机的扫动运动或者具有连续的扫动运动的同时拍摄全景图像时,为了防止所得图像模糊,需要以低速扫动(sweep)该照相机。
[0003] 在后一种情况下,拍摄可能需要高速快门。
[0004] 对于这一点,日本专利No.3928222提出了这样一种拍摄方法,该拍摄方法能够在保持图像分辨率的同时快速扫动照相机。
[0005] 在这种拍摄方法中使用的技术是这样一种技术,该技术能够通过检测照相机的扫动方向和扫动的角速度并在扫动的反方向上以相同的角速度改变光轴从而抵消所得图像中的变化,使照相机好像它聚焦在一个点上的一样拍摄图像。
[0006] 尽管为了实施该控制方法需要使用加速度传感器或者角速度传感器,但是日本专利No.3925299提出了这样一种方法,即使在没有设置传感器和用于控制这些传感器的反馈电路时,该方法也能够适当地控制光轴。
[0007] 在这种情况下,该方法被用作监视系统,其中,施加到用于控制拍摄方向的步进电机的脉冲的数目被计数,并根据该计数值执行光轴控制。

发明内容

[0008] 然而,根据预期的全景摄影,图像的精确度高于诸如加速度传感器或角速度传感器的姿势传感器的精确度。
[0009] 因此,当只有姿势传感器的信息被用作姿势信息时,该信息变得太不精确以至于不能在产生全景图像中使用。
[0010] 因此,希望提供这样一种成像设备,以及成像方法及其程序,即使在执行全景摄影时,该成像设备也能够抑制图像畸变的出现并且获得高精确度图像。
[0011] 根据本发明的第一实施例,提供一种成像设备,该成像设备包括:成像装置,其通过光学系统对被摄体图像进行成像;图像信号处理部分,其具有使用给定的初始值将多个成像图像合成为一个合成图像的功能,所述成像图像是在移动成像设备的同时获得的;姿势传感器,其能够获得成像设备的姿势信息;控制器,其处理姿势传感器的信息,以便基于该处理结果和图像信号处理部分的处理结果执行协同控制(collaborative control),其中:图像信号处理部分通过图像识别获得图像的相对位置关系;并且,控制器基于姿势传感器的检测信息获得图像的位置关系,基于获得的位置关系和由图像信号处理部分获得的相对位置关系指定各个图像的绝对位置关系,并且将绝对位置关系作为初始值提供给图像信号处理部分。
[0012] 优选地,控制器通过获得的位置关系和由图像信号处理部分获得的相对位置关系的选择性协同(selective collaboration)来获得相对位置关系,并且然后指定与各个图像的中心方位相关的各个图像的绝对位置关系。
[0013] 优选地,姿势传感器包括角速度传感器;并且,控制器使用角速度传感器的检测信息来对移动量(shift amount)进行积分以便计算相对位置关系,对由图像信号处理部分获得的相对位置关系执行选择性协同校正以便对相对位置信息进行积分,从而指定绝对位置关系。
[0014] 优选地,姿势传感器包括角速度传感器和加速度传感器;并且,控制器使用角速度传感器的检测信息来对移动量进行积分以便计算相对位置关系,对由图像信号处理部分获得的相对位置关系执行选择性协同校正以便对相对位置信息进行积分,从而获得指定绝对位置关系的相对位置关系,并且控制器根据加速度传感器的检测信息来校正绝对位置。
[0015] 优选地,图像信号处理部分使用图像的重叠区域来执行图像识别。
[0016] 优选地,图像信号处理部分通过在多个被选图像的边界处执行块匹配处理来提取特定参数,以便对这些边界执行合成处理,从而使得被选图像的边界以重叠关系设置;基于该参数对所有要合成的边界执行块匹配处理;以同时并行的方式对所有边界评估块匹配处理的结果;并且,执行合成处理,以便通过更新光轴方向来减少误差,从而减少在所有边界中的误差。
[0017] 根据本发明的第二实施例,提供一种成像方法,该成像方法包括下述步骤:使用成像装置通过光学系统对被摄体图像进行成像,该光学系统具有能够在移动成像设备的同时改变其光轴的光轴改变元件;通过对成像图像执行图像识别来获得这些图像的相对位置关系;基于姿势传感器的检测信息,获得这些图像的位置关系;基于获得的位置关系和通过图像识别获得的相对位置关系指定各个图像的绝对位置关系;并且,使用绝对位置关系作为初始值,将多个成像图像合成为一个合成图像;成像图像是在移动成像设备的同时获得的。
[0018] 根据本发明的第三实施例,提供一种用于执行成像处理的程序,该程序使计算机执行下述处理:使用成像装置通过光学系统对被摄体图像进行成像,该光学系统具有能够在移动成像设备的同时改变其光轴的光轴改变元件;通过对成像图像执行图像识别来获得这些图像的相对位置关系;基于姿势传感器的检测信息,获得这些图像的位置关系;基于获得的位置关系和通过图像识别获得的相对位置关系指定各个图像的绝对位置关系;并且,使用绝对位置关系作为初始值,将多个成像图像合成为一个合成图像;成像图像是在移动成像设备的同时获得的。
[0019] 根据本发明的实施例,在移动成像设备的同时获得的多个成像图像被输入到图像信号处理部分。
[0020] 此外,由姿势传感器检测到的成像设备的姿势信息被输入到控制器。
[0021] 图像信号处理部分通过图像识别获得这些图像的相对位置关系并将获得的相对位置关系提供给控制器。
[0022] 控制器基于姿势传感器的检测信息获得这些图像的位置关系。此外,控制器基于获得的位置关系和由图像信号处理部分获得的相对位置关系指定各个图像的绝对位置关系,并将该绝对位置关系作为初始值提供给图像信号处理部分。
[0023] 图像信号处理部分使用绝对位置关系作为初始值来将多个成像图像合成为一个合成图像。
[0024] 因此,根据本发明的实施例,即使在执行全景摄影时,也可以抑制图像畸变的出现并获得高精确度图像。

附图说明

[0025] 图1是示出采用根据本发明实施例的图像处理设备的照相机设备的配置的例子的框图;
[0026] 图2是概念性地示出通过根据该实施例的照相机设备执行广角成像的情况的视图;
[0027] 图3是精确合成处理单元的框图;
[0028] 图4是以曲线图的形式示出姿势传感器的输出(扫动角速度)的视图;
[0029] 图5A和图5B是用于解释根据本实施例的第一配置的成像模式的视图;
[0030] 图6是示出CMOS图像传感器的曝光时间、存储电荷的读出时间,以及光轴控制时间之间的关系的视图;
[0031] 图7A和图7B是示出使用互功率谱(cross power spectrum)(CPS)在平移中的拼接(stitching)图像的视图;
[0032] 图8是用于解释通过块匹配(BM)提取参数的处理的视图,具体示出选择四个条件良好的图像的处理;
[0033] 图9是用于解释通过BM提取参数的处理的视图,具体示出在边界上的三个位置处执行BM的例子;
[0034] 图10是用于解释通过BM提取参数的处理的视图,具体示出由于存在透镜畸变而导致BM的弓形结果;
[0035] 图11是用于解释通过BM提取参数的处理的视图,具体示出由于不合适的倾斜角而导致左右方向上的误差的情况;
[0036] 图12是用于解释通过BM提取参数的处理的视图,具体示出这样一种情况,其中,由于在左右边界中存在垂直扩展和收缩而产生横向偏差;
[0037] 图13是用于解释通过块匹配(BM)处理提取参数的处理的视图,具体示出在旋转图像时产生的误差的例子;
[0038] 图14A和图14B是用于解释下述处理的视图:在执行通过BM提取参数的处理后,通过将BM扩展到大量的图像并且执行平移,可以使误差最小化;
[0039] 图15是示出基于连续成像的图像和传感器信息的空间布置的方法的功能框图;
[0040] 图16是示出通过将连续成像的图像和传感器信息相关联来实现高精确度的方法的功能框图,具体示出静态传感器值的零校正;
[0041] 图17是示出通过将连续成像的图像和传感器信息相关联来实现高精确度的方法的功能框图,具体示出用于通过对移动信息(shiftinformation)的协同来实现高精确度的方法;
[0042] 图18是角速度传感器的零点校正处理的流程图;
[0043] 图19是角速度传感器的移动量校正处理的流程图;
[0044] 图20是移动量获取方法的流程图;
[0045] 图21是从成像图像分配空间坐标的方法的流程图;以及
[0046] 图22A到图22D是用于解释用于计算扫动速度的处理的例子的视图。

具体实施方式

[0047] 将参考附图对本发明的实施例进行描述。
[0048] 图1是示出作为根据本发明实施例的图像处理设备的照相机设备的配置的例子的框图。
[0049] 如图2所示,本实施例的照相机设备10被配置为通过从一个点处在不同方向上自动地或手动地多次成像,从而获得大量图像(在图2中为16×8=128个)。
[0050] 照相机设备10被配置为在没有褶皱(wrinkle)的情况下精确地合成大量的(例如几千个)图像,从而构成所谓的全景图像。
[0051] 也就是说,照相机设备10具有从由数字照相机成像的图像产生全景图像的功能,在该数字照相机上安装有例如CMOS图像传感器(CIS)的固态成像装置,并且该数字照相机以高速垂直或水平地扫动。
[0052] 根据本实施例的照相机设备10具有下述的第一到第五特征配置和功能。
[0053] 将描述第一配置。
[0054] 当通过在移动照相机设备10的同时拍摄多个图像并然后将成像图像合成在一起而生成全景图像时,使图像聚焦的透镜(移位透镜(shift lens))的光轴被控制为抵消照相机的移动方向及其角速度。
[0055] 以这种方式,被移动的照相机可以如同其聚焦在一个点上的一样拍摄图像。
[0056] 在本配置中,CIS(CMOS图像传感器)被用作固态成像装置,并且图像是通过对CIS的中心方向上的部分线执行上述操作来被成像的。
[0057] 也就是说,在与部分线的曝光时间和读出时间之和相对应的时间期间执行光轴控制,并且,在除了该对应的时间以外的其它时间期间,光轴被控制为返回到中心附近。此时照相机的拍摄方向垂直于CIS的线。
[0058] 照相机设备10将CIS的一部分分割成条状(strip shape),并且对条状部分执行光轴控制,从而即使当照相机以高速移动时,也在不降低分辨率的情况下以高帧率生成全景图像。
[0059] 将描述第二配置。
[0060] 照相机设备10采用这样一种技术,该技术使用通过图像识别技术获得的帧移动信息和从姿势传感器获得的移动信息来空间布置连续成像的图像。
[0061] 其信息不能通过该图像识别获取的部分由姿势传感器信息代替,并且姿势传感器信息用作用于在图像识别中确认成功或者在图像识别失败时被使用的辅助坐标。被空间布置的图像被合成为一个全景图像。
[0062] 在这种情况下,照相机设备10被配置为这样的照相机,该照相机通过从大约一个点处在不同方向成像多次,在主要被手持的状态下使多个图像成像。
[0063] 照相机设备10包含姿势传感器,该姿势传感器为三轴(或两轴)加速度传感器和三轴(或两轴)角速度传感器的其中之一或两者。
[0064] 照相机设备10具有记录关于拍摄方向的姿势信息和就地将多个成像图像合成为一个图像的功能,在该拍摄方向上各个图像在成像中同时地被成像。
[0065] 照相机设备10借助于诸如块匹配的图像识别功能使用图像的重叠区域来计算图像的相对位置关系,并且基于各种姿势传感器数据计算图像的位置关系。
[0066] 然后,照相机设备10通过对计算得到的图像的相对位置关系和位置关系的选择性协同来计算图像的更精确的相对位置关系。
[0067] 其后,照相机设备10指定与各个图像的中心方位例如光轴周围的摇头角(经度)、倾斜角(纬度)、以及滚动角(rolling angle)(倾斜度)相关的各个图像的绝对位置关系,并且将它们作为初始值来执行精确的自动合成。
[0068] 将描述第三配置。
[0069] 照相机设备10采用这样一种技术,该技术通过用图像识别技术获得的帧移动信息和从姿势传感器获得的移动信息相互关联来记录连续成像的图像。
[0070] 照相机设备10计算由通过用图像识别技术获得的帧移动信息和从姿势传感器获得的移动信息中的一种不能确定的如下信息,例如,图像的像素视角、姿势传感器的静态值,以及姿势传感器值的对应像素视角。照相机设备10具有例如偏移量(offset)和增益的参数,因此能够通过改变参数使得信息基本上与实际方向相同。
[0071] 照相机设备10通过三轴(或两轴)加速度传感器相对于重力方向的角度来静态地检测静态位置数据,并且将该位置数据用作姿势信息的初始值。
[0072] 照相机设备10主要通过例如三轴角速度传感器的时间积分值来计算在照相机的垂直和水平方向上的旋转运动量,并且在使各个图像成像时将该旋转运动量用作方向数据。
[0073] 借助于诸如块匹配的图像识别功能,照相机设备10使用图像的重叠区域来计算图像的相对位置关系。照相机设备10同时确定计算结果是否正确,并计算图像的位置关系。
[0074] 当计算结果正确时,照相机设备10基于该位置关系的信息校正参数。
[0075] 当计算结果不正确时,照相机设备10使用基于已经校正的参数获得的姿势传感器值来布置图像。
[0076] 将描述第四配置。
[0077] 照相机设备10具有一旦检测到运动被摄体的影响即输出敦促用户重新拍摄的警告信号的功能。
[0078] 对于运动被摄体的方向,照相机设备10具有这样的功能:确保被摄体的任意部分将出现在具有重叠比为50%或更大的至少两个图像中,以便借助于相邻图像之间的运动矢量的相似性匹配来检测视差或被摄体的影响。
[0079] 也就是说,一旦检测到运动被摄体或视差的影响,照相机设备10输出敦促用户重新拍摄的警告信号。
[0080] 在通过单个扫动使宽范围被摄体的多个条状图像成像并且将其合成为一个图像的照相机设备10中,检测在近距离的被摄体受到了多少视差的影响,并且敦促用户基于检测结果重新拍摄在照相机视点附近的被摄体。
[0081] 将描述第五配置。
[0082] 照相机设备10通过下述方式敦促用户重新拍摄:向用户告知扫动角速度(用户扫动照相机的速度)的适当值,并且,如果扫动太快的话,则输出警告信号。
[0083] 照相机设备10以曲线图的形式将时间和姿势传感器(陀螺传感器)的输出(扫动角速度)分别显示在例如LCD的显示单元18的屏幕的横轴和纵轴上。由于在设置水平视角、水平像素数和快门速度时确定最大扫动角速度,因此最大扫动角速度的60%到80%作为适当范围显示在曲线图上。
[0084] 具有上述特征的照相机设备10的更详细的配置和功能将在下文描述。
[0085] 照相机设备10被配置为包括:光学系统11、成像装置12、模拟前端(AFE)电路13、姿势传感器单元14、驱动器15、系统控制器16、存储器17、显示单元18、操作单元19,以及扬声器单元20。
[0086] 光学系统11将被摄体图像聚焦到成像装置12的成像平面上。
[0087] 光学系统11被配置为包括:普通透镜111、作为光轴改变元件的移位透镜112,以及机械快门113。
[0088] 除了使图像聚焦的功能外,移位透镜112还具有通过驱动器15的驱动来改变光轴方向的功能。
[0089] 成像装置12由例如CMOS(互补型金属氧化物半导体)装置或CCD(电荷耦合器件)构成。
[0090] 在本实施例中,将CMOS图像传感器作为例子进行描述。在上述的第一配置中,CMOS图像传感器用作固态成像装置。
[0091] 成像装置12借助于按矩阵布置在半导体基底上的光学传感器检测由光学系统11获得的被摄体图像从而生成信号电荷,通过垂直信号线和水平信号线读取该信号电荷,然后输出被摄体的图像信号。
[0092] 当成像装置12由CMOS图像传感器构成时,由作为电子快门的卷帘快门(rolling shutter)和整体快门(global shutter)来执行曝光控制。曝光控制由系统控制器16执行。
[0093] AFE电路13从成像装置12去除例如包含在图像信号中的固定模式噪声,通过自动增益控制的操作稳定信号电平,并将所得图像信号输出到系统控制器16。
[0094] 姿势传感器14检测照相机设备10的位置以将检测结果提供给系统控制器16。
[0095] 例如,姿势传感器14由三轴加速度传感器141和三轴角速度传感器142构成。
[0096] 加速度传感器141能够静态地获知其相对于重力方向的角度,因此检测倾斜角和滚动角。然而,加速度传感器141不能检测摇头角。
[0097] 因此,角速度传感器142用于获得偏移角(shift angle)。角速度传感器142也称为陀螺传感器,并且能够在旋转期间将角速度作为电压信号检测,并且通过对该电压信号积分来计算角度。此外,由于角速度传感器142被配置为三轴传感器,因此其可以检测摇头角、倾斜角,以及滚动角。
[0098] 驱动器15在系统控制器16的控制下改变光学系统11的移位透镜112的光轴。
[0099] 系统控制器16是用于对来自AFE电路13的输出信号执行颜色校正处理、多个图像的合成处理、自动曝光控制和自动白平衡控制等的电路。
[0100] 系统控制器16被配置为包括图像信号处理部分161和作为控制器的微型计算机(μ-CON)162。
[0101] 图像信号处理部分161具有精确合成处理单元,该精确合成处理单元被配置为能够在没有褶皱的情况下精确合成从一个点处在不同方向上多次拍摄的大量图像。
[0102] 如图3所示,精确合成处理单元1611包括:第一颜色校正功能部分16111、合成功能单元16112,以及第二颜色校正功能单元16113。
[0103] 图像信号处理部分161将多个成像图像合成在一起,从而生成全景图像,这些图像是在移动照相机设备10的同时获得的。
[0104] 微型计算机162根据姿势传感器14的检测结果控制使图像聚焦的透镜(移位透镜)的光轴,从而抵消照相机的移动方向和角速度。
[0105] 当CMOS图像传感器被用作固态成像装置时,微型计算机162控制驱动器15,以在与CMOS图像传感器的部分线的曝光时间和读出时间之和相对应的时间期间执行上述光轴控制,并在除了该对应的时间以外的其它时间期间将光轴返回到中心附近。此时照相机的拍摄方向垂直于CMOS图像传感器的线。
[0106] 微型计算机162将CMOS图像传感器的一部分分割成条状,并且对条状部分执行光轴控制,从而即使当照相机以高速移动时,也可以在不降低分辨率的情况下以高帧率生成全景图像。
[0107] 微型计算机162对角速度传感器142的检测信号进行积分从而计算照相机设备10的旋转角,并根据计算得到的旋转角控制移位透镜112的光轴的变化量。
[0108] 或者,图像信号处理部分161可以检测相邻成像图像的运动分量,并且微型计算机162可以根据检测到的运动分量控制光轴的变化量。
[0109] 或者,微型计算机162可以基于计算得到的旋转角和运动分量控制光轴的变化量。
[0110] 微型计算机162将关于使各个成像图像成像的拍摄方向的姿势信息记录在存储器17中。
[0111] 图像信号处理部分161和微型计算机162借助于诸如块匹配的图像识别功能使用图像的重叠区域来计算各个图像的相对位置关系,并且基于各种姿势传感器数据计算图像的位置关系。
[0112] 然后,微型计算机162通过对计算得到的图像的相对位置关系和位置关系的选择性协同来计算图像的更精确的相对位置关系。
[0113] 其后,微型计算机162指定与各个图像的中心方位例如光轴周围的摇头角(经度)、倾斜角(纬度)、以及滚动角(倾斜度)相关的各个图像的绝对位置关系。
[0114] 图像信号处理部分161将它们作为初始值来执行精确的自动合成。
[0115] 微型计算机162计算由通过用图像识别技术获得的帧移动信息和从姿势传感器获得的移动信息中的一种不能确定的如下信息,例如:图像的像素视角、姿势传感器的静态值,以及姿势传感器值的对应像素视角。微型计算机162具有例如偏移量和增益的参数,因此能够通过改变参数来使得该信息基本上与实际方向相同。
[0116] 微型计算机162通过三轴(或两轴)加速度传感器相对于重力方向的角度来静态地检测静态位置数据,并且将该位置数据用作姿势信息的初始值。
[0117] 微型计算机162主要通过例如三轴角速度传感器142的时间积分值来计算在照相机的垂直和水平方向上的旋转运动量,并且在使各个图像成像时将该旋转运动量用作方向数据。
[0118] 微型计算机162借助于诸如块匹配的图像识别功能使用图像的重叠区域来计算图像的相对位置关系,而且还在计算图像的位置关系时同时确定计算结果是否正确。
[0119] 当计算结果正确时,微型计算机162基于该位置关系的信息校正参数。
[0120] 当计算结果不正确时,微型计算机162使用基于已经校正的参数获得的姿势传感器值来布置图像。
[0121] 微型计算机162借助于显示单元18和/或扬声器单元20通过显示提示和/或输出警告声音来输出警告信号,从而在一旦检测到移动被摄体的影响时敦促用户重新拍摄。
[0122] 关于对运动被摄体的检测,微型计算机162确保被摄体的任意部分将出现在具有重叠比为50%或更大的至少两个图像中,以便借助于相邻图像间的运动矢量的相似性匹配来检测视差或被摄体的影响。
[0123] 也就是说,一旦检测到被摄体或视差的影响,微型计算机162输出敦促用户重新拍摄的警告信号。
[0124] 微型计算机162基于检测结果检测在近距离的被摄体受到了多少视差的影响,从而敦促用户重新拍摄在照相机视点附近的被摄体
[0125] 微型计算机162通过下述方式来敦促用户重新拍摄:向用户告知扫动角速度(用户扫动照相机的速度)的适当值,并且,如果扫动太快,则借助于显示单元18和/或扬声器单元20通过显示提示和/或输出警告声音来输出警告声音。
[0126] 微型计算机162以曲线图的形式将时间和姿势传感器(陀螺传感器)的输出(扫动角速度)分别显示在例如LCD的显示单元18的屏幕的横轴和纵轴上。由于在设置水平视角、水平像素数和快门速度时确定最大扫动角速度,因此如图4所示,最大扫动角速度的60%到80%作为适当范围RNG显示在曲线图上。
[0127] 对操作流程的概述如下。
[0128] 【1】在操作单元19的开始按钮(start button)被按下的情况下扫动照相机,然后开始按钮被释放。
[0129] 【2】如图4所示,在开始按钮处于按下状态的期间的扫动角速度显示在显示单元18的屏幕上。
[0130] 【3】当扫动角速度低于适当范围RNG时不输出警告信号,但是当扫动角速度高于该适当范围时将输出警告信号。
[0131] 在下文中,将详细描述上述的第一配置到第五配置。
[0132] 第一配置到第五配置中的控制主要由系统控制器16执行。
[0133] 【第一配置】
[0134] 在第一配置中,由于CMOS图像传感器被用作固态成像装置,因此没有诸如帧/场的这些概念,并且采用渐进方法(progressivemethod),在该渐进方法中所有线被顺序读出。
[0135] 图5A和图5B是用于解释根据本实施例的第一配置的成像模式的视图。
[0136] 作为移动照相机设备10的方法,假定照相机基本上在如图5A所示的垂直方向上或者在如图5B所示的水平方向上扫动。也就是说,照相机在与CMOS图像传感器的读出线垂直的方向上移动。
[0137] 如图5A和图5B中的暗条状部分30所示出的,在本实施例中,微型计算机162对从CMOS图像传感器的成像范围的中心部分分割的条状部分执行光轴控制。
[0138] 这样的条带成像(strip imaging)有以下优点。
[0139] (a)更窄的条带对视差具有更有利的影响。
[0140] (b)更窄的条带对CMOS图像传感器的异步读出具有更有利的影响。
[0141] (a)更窄的条带对环境光减少具有更有利的影响。
[0142] (a)更窄的条带对透镜畸变具有更有利的影响。
[0143] 微型计算机162根据姿势传感器14的检测结果控制使图像聚焦的透镜(移位透镜)的光轴,从而抵消照相机的移动方向和角速度。
[0144] 当CMOS图像传感器被用作固态成像装置时,微型计算机162控制驱动器15,以在与CMOS图像传感器的部分线的曝光时间和读出时间之和相对应的时间期间执行上述光轴控制,并在除了上述对应的时间以外的其它时间期间将光轴返回到中心附近。
[0145] 也就是说,光轴控制需要在如图5A和图5B所示的条状部分30被曝光时的时间期间执行。
[0146] 图6是示出CMOS图像传感器的曝光时间、存储电荷的读出时间,以及光轴控制时间之间的关系的视图。
[0147] 电荷从CMOS图像传感器的各个线顺序读出以便曝光,并且在某一条线的电荷读出完成后,对于随后的线,执行电荷读出和曝光。在当该操作被重复执行从而对所有的条状部分都执行电荷读出处理时的时间期间执行光轴控制。
[0148] 例如,当使用每一条线的读出时间都是7.8微秒/线的CMOS图像传感器,快门速度是1/1000秒(即,曝光时间为1毫秒),并且条带宽为200条线时,在图6中,总读出时间变为1.56毫秒,并且光轴控制时间变为2.56毫秒。这对应于图22A至图22D中的条件【3】,其中,当给出各种参数时,计算模糊像素计数或帧率。另外,当成像的帧率是60fps(每一个图像大约16.66毫秒)时,通过在专利文献1的图3中采用对应数值,Son变为2.56毫秒,并且Soff变为14.1毫秒(=16.66-2.56)。
[0149] 尽管在专利文献1中公开的技术中,光轴控制的可允许的极限角(limit angle)在±1.2度的范围内,但是可允许的极限角可以在±0.5度的范围内变化,并且使用在0到0.3度范围内的值。这对应于最大可变范围的大约60%。
[0150] 通过这种方式成像而获得的条状图像由图3中的精确合成处理单元1611合成在一起,由此生成全景图像。在下文中,将描述精确合成处理单元1611的图像合成处理。
[0151] 因此,根据本实施例的系统控制器16具有这样的功能(例如,软件),用该功能可以通过校正颜色的非均匀性将从一个点处在不同方向多次拍摄的图像精确地合成为一个图像中。
[0152] 本实施例的精确合成的特征功能将在下面详细描述。
[0153] 第一颜色校正功能单元16111在提取诸如透镜畸变校正系数的参数时为每一个边界执行至少三次块匹配(BM)处理,并且对至少四个边界执行合成,从而确定透镜畸变校正系数从而允许精确合成。
[0154] 换句话说,第一颜色校正功能单元16111从原始图像中提取诸如透镜畸变校正系数的参数。
[0155] 随后,第一颜色校正功能单元16111对于所有的局部图像一样执行环境光减少校正、对比度增强、饱和度增强和伽马校正。
[0156] 在第一颜色校正功能单元16111确定诸如透镜畸变校正系数的参数并且执行环境光减少校正、对比度增强、饱和度增强和伽马校正后,合成功能单元16112对所有边界中的每一个执行至少一次(例如,3次)BM。
[0157] 然后,合成功能单元16112通过对所有边界同时评估BM结果并更新光轴方向以便减少在所有边界中的误差,来执行对多个图像的精确合成。
[0158] 第二颜色校正功能单元16113执行颜色(颜色非均匀性)校正,为了减少由合成功能单元16112精确合成的多个图像中的相邻图像间的颜色差,为每个局部图像独立地执行该颜色校正。
[0159] 第二颜色校正功能单元16113还执行颜色校正,以便将相邻图像间的颜色不连续性(dicontinuity)减小到检测极限值(detection limit)以下。
[0160] 对精确合成处理单元1611中的精确合成处理的理论概念将在下面描述。
[0161] 本实施例基本上采用了基于傅立叶分析的相位相关技术。
[0162] 也就是说,所采用的技术是基于傅立叶变换定理,即空间函数的变换(shift)只在谱区域的相位上改变。
[0163] 具体地说,两个函数f1和f2应当满足下列关系。
[0164] 【等式1】
[0165] f2(x,y)=f1(x+xt,y+yt)
[0166] 还有下面的谱特征。
[0167] 【等式2】
[0168] F2(u,v)=F1(u,v)exp(-2πi(uxt+vyt))
[0169] 上述等式可以通过使用互功率谱(CPS)如下等价地写出。
[0170] 【等式3】
[0171]*
[0172] 在该等式中,F2 是复函数F2的共轭函数。
[0173] 实际上,如图7A和图7B所示,图像是诸如两个图像的互功率谱的比特噪声(bit noise)。
[0174] 因此希望寻找CPS的峰值并且从该峰值得到平移参数(xt,yt)。
[0175] 图7A和图7B是示出使用互功率谱(CPS)在平移中的拼接图像的视图。
[0176] 图7A示出拼接两个图像的结果。如图7B所示,可以通过检测CPS的峰值获得二维平移。这里,如果CPS是可读取的,那么这些图像是完全匹配的。
[0177] 由于难以在具有很多噪声的图像中检测到最大的峰值,因此可以选择一些峰值。
[0178] 下面,将参考图8到图14描述使用块匹配(BM)处理提取参数的原理。
[0179] BM包括推导出上述互功率谱(CPS)的峰值的功能。
[0180] 现在参考图8,选择四个条件良好的图像IM0、IM1、IM2和IM3。
[0181] 例如,假定布置在左下角的图像是第零图像IM0,其右手边图像是第一图像IM1,左上角图像是第二图像IM2,并且其右手边图像是第三图像IM3。图像IM0到图像IM3的这些图像被布置为在相邻图像间的边界中包含重叠部分。
[0182] 在图8中,布置在边界区域中的矩形是块BLK。
[0183] 因此,在上面提到的布置条件下执行BM。
[0184] 于是,透镜畸变、视角和倾斜角的信息分别从在下边、左边、右边和上边的区域中的四个边界BDR01、BDR02、BDR13和BDR23获得。
[0185] 将进一步描述BM(块匹配)。
[0186] 如图9所示,对边界中的三个位置执行BM。
[0187] 如图10所示,透镜畸变的存在导致BM的弧形结果。
[0188] 如图11所示,任何不合适的倾斜角都将导致BM结果中的横向倾斜误差。
[0189] 如图12所示,当透镜畸变的中心垂直地偏离时,在上下边界中发生横向扩展和收缩。在左右边界中的垂直扩展和收缩是由于透镜畸变中心的横向偏离而导致的。
[0190] 当图像随着其向上而被旋转时,如图13所示,产生垂直的倾斜误差。也就是说,图13示出当照相机没有被定向为相对于机械倾斜轴的前方时的结果。
[0191] 各种参数被确定为使这些误差最小化。
[0192] 即使将任何四个图像连接在一起,这也能减小误差。
[0193] 例如,应用快速相位相关匹配来在图像中执行对应的BM。可以通过获得矢量位移(xij,yij)来量化各个参数,然后分析这三个块的位移的行为。
[0194] 在对上述四个执行BM后,如图14A和图14B所示,BM被扩展到大量的图像,并且同时,对所有边界评估BM的结果。通过更新光轴方向来执行对多个图像的精确合成,从而减少在所有边界上的误差。
[0195] 在这种情况下,确定一个参考图像,并且将其它图像进行平行平移,从而会聚在这些位置以便最小化误差。
[0196] 基本上根据下面的处理执行精确合成处理,下面对其进行详细说明。
[0197] 通过平移为移动找到最佳的位置。
[0198] 在这种情况下,旋转环(loop)。
[0199] 指示总移动量的参数fxy设置为0.0。
[0200] 对上下左右(垂直的和横向的)图像中的全部进行处理。
[0201] 参考图像保持不动。
[0202] 从BM结果找到与相邻图像的位置关系。基于此,计算移动量。
[0203] 其方法如下。将直接在上面的图像和其右边相邻的图像相加,并且减去直接在下面的图像和其左边相邻的图像以获得平均值,该平均值表达为f[y][x].x、f[y][x].y。
[0204] 其80%被添加到当前图像的中心位置,并且被当作新图像的中心位置。
[0205] 所有图像的移动量的绝对值之和被输入到fxy中。
[0206] 进行计算以便确定上述移动如何改进垂直的和横向的位置关系。
[0207] fxy具有通过重复上述移动而变小的特性(性质)。
[0208] 换句话说,fxy被会聚到再也没有不能执行移动的状态。
[0209] 当fxy足够小时,终止处理。
[0210] 将对即使当连接数千个图像时也没有褶皱的图像合成的特定处理的示例性实施例进行描述。
[0211] 现在考虑四个图像的情况。
[0212] 如图8所示,假定在左下角的图像是第零图像IM0,其右边相邻的图像是第一图像IM1,左上角的图像是第二图像IM2,并且其右边相邻的图像是第三图像IM3。
[0213] 第零图像IM0保持不动。也就是说,第零图像IM0被用作参考图像。
[0214] BM结果的横向分量表达为bx1[0]、bx1[1]、bx2[0]和bx2[1]。
[0215] 垂直分量也被单独地处理;但是,出于描述的目的,下面只描述横向分量的处理。
[0216] bx1表示右边和左边,bx2表示上边和下边。“[]”中的数字0是指下边或左边。
[0217] 当相对于参考图像IM0的右边或上边的图像被置于右边或上边时,BM结果是正值。
[0218] 作为极端的例子,假定只有一个异常值,并且bx1[0]=10、bx1[1]=0、bx2[0]=0并且bx2[1]=0。
[0219] 考虑到,在第一行具有横向的10个像素的偏差,并且其它三个边界没有偏差。
[0220] 如果第一图像IM1的位置由第零图像IM0和第一图像IM1的BM结果确定,那么第三图像IM3的位置由第一图像IM1和第三图像IM3的BM结果确定。此外,第二图像IM2的位置由第二图像IM2和第三图像IM3的BM结果确定,在第零图像IM0和第二图像IM2之间的位置关系中,可能作为褶皱发生10个像素的大值。
[0221] 本实施例的系统指示异常值“10”的影响被2.5分散。根据程序执行该处理,将在稍后描述该程序的一部分。
[0222] 通过xypos2()从与相邻图像的位置关系中找到要被平行平移的量。
[0223] 第一次,计算得出第一图像IM1应当被移动-5个像素。
[0224] 第一图像被平行平移move()。
[0225] 实际移动量是上述量的80%,即4个像素。
[0226] 除了第零图像IM0以外的图像IM1、图像IM2和图像IM3的移动量分别是pox[1]=4、pox[2]=0和pox[3]=0。
[0227] 由此,BM结果bx1[0]从10变为6。
[0228] 从而,bx2[1]从0变为4。
[0229] 第二次,计算得出第一图像IM1应当被移动-1个像素。
[0230] 计算得出第三图像IM3应当被移动-2个像素。
[0231] 当其80%,即0.8被增加时,pox[1]=4.8。
[0232] 随后,从第三次到第32次继续相似的计算。第32次,总移动量fxy低于0.001个像素,终止处理。
[0233] 此时,要被平行平移的像素数为7.5、2.5和5.0。各个图像的位置关系改变如下。即,bx1[0]=10变为bx1[0]=2.5,bx1[1]=0变为bx1[1]=-2.5,bx2[0]=0变为bx2[0]=-2.5,以及bx2[1]=0变为bx2[1]=2.5。可以看出误差被分散了。
[0234] 下面的列表是当ii=32、fxy=0.00083(即fxy不大于0.001)时的次数和值。
[0235] n ix fx[n] fy[n]
[0236] 0 0 0.000000 0.000000
[0237] 1 2 -0.000244 0.000000
[0238] 2 2 -0.000244 0.000000
[0239] 3 2 -0.000344 0.000000
[0240] n pox[n] poy[n] fz[n] 要被平行平移的像素数[0241] 0 0.00 0.00
[0242] 1 7.50 0.00
[0243] 2 2.50 0.00
[0244] 3 5.00 0.00
[0245] 下面是该程序的例子的一部分。
[0246] ----the part of the program(from here)-----------------
[0247] clrpos();//Enter 0 in an amount to be parallel-translated[pixel][0248] pox[],fzx[],and rolla[].
[0249] for(ii=0;ii<1000;ii++){
[0250] xypos2();//Find an amount to be parallel-translated from the[0251] positional relationship with an adjacent image.
[0252] if(fxy<0.001){break;}
[0253] move();//Parallel-translation.
[0254] }
[0255] fprintf(inf,”ii=1230484,fxy=0.00000 the number of times and[0256] the value thereof when fxy is not more than 0.001\n”,
[0257] ii,fxy);
[0258] xypos();//Find a parallel-translation amount from the[0259] positional relationship with an adjacent image.
[0260] move();//Parallel-translation.
[0261] dsppos();//Display a correction amount.
[0262] angle();//Convert the correction amount to an angle,and[0263] update qq[n],pp[n].
[0264] dsppos();//Display the correction amount.
[0265] dsperr();//Display those having a value exceeding 1 in the error[0266] between a pair of small images.
[0267] step();//Create a step angle from qq[n],pp[n]
[0268] --the part of the program(till here)------------------[0269] 下面是主要的子程序。
[0270] --Main subroutine----------------------------
[0271] void xypos2(){//Find parallel-translation amounts fx[n],fy[n][0272] from the positional relationship with the adjacent image,[0273] //Find a flag fz[n]that cannot be parallel-translated.[0274] (Delete fprin tf)
[0275] int m,n,m2,n2,h,v,ix;
[0276] double cx,cy;
[0277] //fprintf(inf,”n ix fx[n]fy[n]\n”);
[0278] fxy=0;
[0279] for(v=0;v<ny;v++){//about all images
[0280] for(h=0;h<nx;h++){
[0281] m=(nx-1)*v+h;//right and left boundaries
[0282] n=nx*v+h;//upper and lower boundaries
[0283] ix=0;
[0284] if((0<skip[h][v])||((v==(ny-1)/2)&&(h==(nx-1)/2))){//[0285] The central image and determined flag image remain unmoved.[0286] fx[n]=0;fy[n]=0;fz[n]=4;//fz[n]is a flag that cannot be[0287] parallel-translated
[0288] if(skip[h][v]==2){fz[n]=2;}//Determined flag image is 2.[0289] }else{
[0290] cx=0;cy=0;
[0291] if(v!=0){//when not the lowermost row
[0292] n2=n-nx;//directly below
[0293] if(0<fok2[n2]){
[0294] ix++;
[0295] cx-=bx2[n2];//subtract that directly below
[0296] cy-=by2[n2];
[0297] }
[0298] }
[0299] if(v!=ny-1){//when notthe top row
[0300] if(0<fok2[n]){
[0301] ix++;
[0302] cx+=bx2[n];//add its own
[0303] cy+=by2[n2];
[0304] }
[0305] }
[0306] if(h!=0){//when not the leftmost end
[0307] m2=m-1;//left neighbor
[0308] if(0<fok1[m2]){
[0309] ix++;
[0310] cx-=bx1[m2];//Subtract left neighbor
[0311] cy-=by1[m2];
[0312] }
[0313] }
[0314] if(h!=nx-1){//when not the rightmost end
[0315] if(0<fok1[m]){
[0316] ix++;
[0317] cx+=bx1[m];//add its own
[0318] cy+=by1[m];
[0319] }
[0320] }
[0321] if(ix==0){
[0322] fx[n]=0;fy[n]=0;fz[n]=1;
[0323] }else{
[0324] fx[n]=cx/ix;
[0325] fy[n]=cy/ix;
[0326] fz[n]=0;
[0327] }
[0328] fxy+=fabs(fx[n])+fabs(fy[n]);
[0329] }
[0330] }
[0331] }
[0332] }
[0333] //**************************************
[0334] void move(){//Parallel-translation.
[0335] int m,n,h,v;
[0336] for(v=0;v<ny;v++){//central position of image(pixel)
[0337] for(h=0;h<nx;h++){
[0338] n=nx*v+h;
[0339] if(fz[n]==0){//when not isolated from surroundings
[0340] pox[n]+=-fx[n]*0.8;
[0341] poy[n]+=-fy[n]*0.8;
[0342] }
[0343] }
[0344] }
[0345] for(v=0;v<ny;v++){//Lateral positional relationship
[0346] for(h=0;h<nx-1;h++){
[0347] m=nx*v+h;
[0348] n=(nx-1)*v+h;
[0349] bx1[n]+=-(fx[m]-fx[m+1])*0.8;
[0350] by1[n]+=-(fy[m]-fy[m+1])*0.8;
[0351] }
[0352] }
[0353] for(v=0;v<ny-1;v++){//Vertical positional relationship[0354] for(h=0;h<nx;h++){
[0355] n=nx*v+h;
[0356] bx2[n]+=-(fx[n]-fx[n+nx])*0.8;
[0357] by2[n]+=-(fy[n]-fy[n+nx])*0.8;
[0358] }
[0359] }
[0360] }
[0361] //***********************************************
[0362] 如上所述,根据本实施例的第一配置,即使当使用其上安装有CMOS图像传感器的数字照相机时,也可以在不降低分辨率的情况下以高帧率对图像进行成像,从而减少视差、环境光减弱以及透镜畸变的影响此外,可以产生高质量的全景图像。
[0363] 不管要合成的图像的数目是多少,这都能够实现精确合成并且抑制颜色非均匀的发生。
[0364] 透镜畸变校正系数可以从实际成像的图像中提取。这消除了对复杂的校准操作的需要,从而显著地提高了精确度。
[0365] 由于即使当连接数千个图像时该方法也不会导致褶皱,因此,在不注意拍摄的次数的情况下,可以以所需的分辨率来拍摄所需的范围。
[0366] 下面,将描述第二配置。
[0367] 【第二配置】
[0368] 将描述连续成像的图像的空间位置的记录。
[0369] <概述>
[0370] 基于连续成像的图像的全景摄影是分割空间以便将多个图像合成一个图像的操作。当从多个图像产生全景图像时,通过使用在成像时的空间信息执行逆计算,可以获得高精确度的全景图像。
[0371] 在本实施例中,关于在其中执行成像的成像空间的信息是从传感器和在对图像进行成像时的图像计算得到的,并且该信息被分配给每一个图像,从而使该信息可以用于生成全景图像。
[0372] <分配关于成像空间的信息>
[0373] 例如,当执行全景摄影时,以视点固定在一个点的方式由电机驱动透镜,并且改变拍摄方向。
[0374] 在这种条件下成像的图像中,照相机设备10的位置,即焦点位置是固定的,并且只有拍摄方向不同。因此,在本例中,描述被局限于对图像进行成像的情况,这些图像是通过从某个点以固定的视角对被摄体的周围进行成像而获得的。
[0375] 在这样的成像方法中,将存在如下的两种关于成像空间的信息。
[0376] 即,一种是关于作为成像目标的点的信息(视点矢量),另一个是关于视点矢量周围的旋转角(滚动角)的信息。
[0377] <投影球和空间的定义>
[0378] 空间的图像被投影到一个平面上。
[0379] 为了处理在对空间的全景图像进行成像时的所有方位,从容易图像处理的角度看,假定摄影者周围有一个球并且全景图像被投影到该球上是有帮助的。当使用该球定义视点矢量时,也确定了坐标空间。
[0380] 具有半径1的投影球被定义为以原点(0,0,0)作为焦点位置,照相机设备10位于该焦点位置。
[0381] 假定在水平状态上向前的方向定义为位于Z轴上距离为1的坐标f(0,0,1),视点矢量可以表达为从原点(0,0,0)向点(0,0,1)定向的矢量。
[0382] 视点矢量变为具有长度为1的单位矢量,并且在任何方位上长度都将是1。
[0383] 由于帧的滚动信息不能仅仅使用视点矢量v1记录,因此还必须记录另一个滚动矢量v2。这是表示图像向上方向的信息,并且这些矢量的相减,v2-v1,变为表示图像向上方向的矢量。
[0384] 这使得能够使用两个矢量(在投影球上的两个点)表示图像的拍摄方向,并且在不产生任何密度差的情况下在所有方位上定位任意点。
[0385] <相对移动和绝对坐标>
[0386] 关于成像空间的信息包括两种信息,即相对信息和绝对信息。
[0387] 从产生全景图像的角度出发,尽管具有关于对图像进行成像的方向的绝对位置关系是有利的,但是由于难以获得精确的绝对信息,因此从相对信息积分或者使用粗略的绝对信息校正来得到姿势信息。
[0388] 在透镜驱动全景照相机中,尽管移动透镜的情景(scenario)是绝对信息,但是由于诸如在成像时的抖动、在驱动透镜时并入误差、姿势传感器的精确度的不同的相对信息被增加到其中,因此通过计算获得精确的绝对值。
[0389] <相对移动的空间扩展>
[0390] 现在,假定精确的相对信息是在图像识别和姿势传感器的帮助下获得的。
[0391] 在当前图像帧f1从前一个图像帧f2在位置上移动(dx,dy)并且该帧滚动rz的量时,从视角来看,在x轴和y轴周围的旋转量可以被计算为rx和ry。此时,帧f1的视点矢量v1变为将帧f2的视点矢量v2旋转(rx,ry,rz)的量而得到的结果。
[0392] 尽管投影球上的绝对位置可以基于该信息进行计算,但是通过从矢量v2的位置旋转(rx,ry,rz)的量来计算绝对位置的计算有点复杂。
[0393] 因此,最新的图像f1固定在前平面矢量v1(0,0,1)处,并且,被布置在投影球上、且包括前一个图像f2并在前一个图像f2之后的图像对于每个球旋转(-rx,-ry,-rz)的量。也就是说,相对于最新图像f1移动其它图像。
[0394] 通过重复这一操作,最新图像的位置将位于坐标(0,0,1),并且将获得所有其余的图像的绝对坐标。
[0395] 用视点矢量和旋转矢量的两个矢量表示旋转信息的原因在于:易于执行相对旋转(旋转球本身)。
[0396] <相对移动积分值和绝对信息之间的偏差>
[0397] 尽管只有相对信息被用于图像的空间布置,但是实际上可以从姿势传感器14等获得诸如滚动信息或垂直倾度的绝对信息。然而,与生成全景图像所需的精确度相比,可以从姿势传感器14获得的绝对信息比较粗略,因此难以原样使用这些值。
[0398] 另一方面,尽管由于相对信息是通过图像识别获得的,所以其具有高的精确度,但是其中并入了误差。当对相对信息进行积分时,可能会出现小误差,并且由于积分误差而导致大误差。
[0399] 因此,从姿势传感器14获得的绝对信息用于确定是否发生积分误差。
[0400] 在相对移动的空间扩展处理期间的某个间隔,相对信息与姿势传感器的绝对值进行比较。如果相对移动与姿势传感器的绝对值差得太远,那么使用姿势传感器的绝对值校正相对移动。此外,移动量是从该位置相对积分得到的。
[0401] 图15是示出基于连续成像的图像和传感器信息的空间布置的方法的功能框图。
[0402] 在图15中,功能块41相对于角速度传感器142的检测信号设置零参考值,并且移动量积分部分42对移动量进行积分。
[0403] 此外,检测部分43将通过成像装置12成像的帧间图像互相比较并且检测移动量。
[0404] 协同校正逻辑电路44基于移动量积分部分42和检测部分43的输出执行协同校正,并且相对位置积分部分45对相对位置进行积分以获得焦点位置信息。
[0405] 此外,基于加速度传感器141的检测结果,绝对位置校正部分46校正绝对位置信息,并且布置部分47确定帧的空间位置并布置这些帧。
[0406] <空间坐标信息和全景图像>
[0407] 上述计算是在成像期间执行的,并且空间坐标信息,即拍摄方向被同时记录为元数据。
[0408] 尽管可以只使用元数据来生成全景图像,但是当在后续处理中执行精确调整和授权(authoring)时,可以将空间坐标信息用作基本数据。
[0409] 由于还没有表示空间中的拍摄方向的元数据,因此不可能获得更精确的全景图像。然而,在本实施例中,为了解决这一问题,在成像时分配坐标信息。
[0410] 如上所述,在第二配置中,使用通过图像识别技术获得的帧移动信息和从姿势传感器获得的移动信息,将连续成像的图像进行空间布置。其信息不能通过这一图像识别获得的部分由姿势传感器信息代替,并且姿势传感器信息用作用于在图像识别中确认成功的辅助坐标,或者在图像识别失败时被使用。被空间布置的图像被合成为一个全景图像。
[0411] 本方法不仅能够正确地表示在前方附近处的图像,而且能够正确地表示直接在上面和直接在下面的图像,并能够与所有方位或天球上的成像相对应。
[0412] 可以在没有误差的情况下再现前方附近的更宽的场景。
[0413] 不必说,可以与手持成像相对应并获得高精确度的图像。
[0414] 下面,将描述第三配置。
[0415] 【第三配置】
[0416] 将描述基于连续成像的图像的位置识别的校正。
[0417] <概述>
[0418] 为了给连续成像的图像赋予拍摄姿势信息,本配置使用所谓的动态校准,即合并姿势传感器和图像识别的方法。
[0419] <连续成像和拍摄姿势信息>
[0420] 当全景图像是使用连续成像的图像合成时,存在高频分量不包含在图像中并且不能从该图像指定连续性的情况。
[0421] 在这种情形下,不能获得关于有多少连续帧被移动的信息,从而使得不能生成完整的全景图像。
[0422] 为了能够从这样的情形下获得姿势信息,在借助姿势传感器14进行成像时,移动信息和姿势信息与图像一起被记录。
[0423] <姿势传感器的使用>
[0424] 姿势传感器14以同时并行的方式使用三轴加速度传感器141和三轴角速度传感器142。
[0425] 角速度传感器142检测照相机的旋转速度,并且加速度传感器141检测水平加速度。
[0426] 尽管尽可能从成像图像获得移动信息,但是在由于图像的条件而不能执行图像识别的情形中,从姿势传感器14获得来自前一个帧的移动量。
[0427] 通过比较姿势传感器14的检测结果中的总变化量与通过图像识别获得的移动量,可以获得更精确的姿势信息。
[0428] <使用姿势传感器的问题>
[0429] 然而,根据期望的全景摄影,图像的精确度高于姿势传感器14的精确度。因此,当只有姿势传感器14的信息被用作姿势信息时,该信息变得太不精确以至于不能用于产生全景图像。
[0430] 因此,当实际上难以获得姿势信息而不期待高精确度时,姿势传感器信息被用作辅助信息。
[0431] 与普通物理传感器一样,在没有保持稳定输出的情况下,姿势传感器的输出会发生波动。
[0432] 此外,根据情况改变静态的零位置,并且需要通过在成像之前建立静态条件来测量零位置处的值。在测量该值后,通过与零点值的偏差测量移动量。
[0433] <图像识别及其校正>
[0434] 在本配置中,在连续使全景图像成像的同时,姿势传感器信息被被记录为元数据。
[0435] 在本方法中,由于姿势传感器14的输出波动太大,因此在合成为全景图像时有难以使用元数据信息的问题。
[0436] 因此,通过图像识别获得的元数据在成像时被校正并记录。
[0437] 当元数据被记录时,关于相机方位的空间信息被保持在其中并被更新;但是,由于各种原因,元数据值的精确度劣化。
[0438] 因此,在本实施例中,基于来自图像识别和姿势传感器的信息,在其中保持的空间信息被实时地校正和更新;本处理是动态校准。
[0439] 当使连续的全景图像成像时,可以考虑下述两种情况:一种情况是已经存在通过电机的驱动来移动照相机的移动情形,另一种情况是由于用手扫动照相机而所以没有移动情形。
[0440] 在存在通过电机的驱动而导致的移动情景的情况下,尽管可以事先检测到粗略的拍摄位置,但是也难以考虑成像期间的抖动或移动。姿势传感器14用于在成像期间检测这样的变化。
[0441] 当由姿势传感器14检测拍摄期间的变化时,对通过图像识别得到的与实际移动情形的检测结果的偏差进行精密检查。当姿势传感器14的移动量被用作精密检查的基础时,可以使图像识别变得简单。
[0442] 当可以从预期的移动情形计算偏差时,偏差被添加到移动情形的值,并且关于实际拍摄位置的信息作为成像图像的元数据被记录。
[0443] 由于当用手扫动照相机时移动情形不可用,因此不管在什么时候使帧成像,都通过比较当前帧和前一个帧的图像识别来计算移动量。
[0444] 在这种情况下,由于难以知晓移动量,因此从姿势传感器14的信息获得粗略的移动量,并且基于该移动量执行图像识别,由此可以计算具有高精确度的移动量。
[0445] 如果难以执行图像识别,那么从姿势传感器获得的移动量被记录,并且随后使用前面和后面的帧的位置关系被校对(collate),由此确定坐标。
[0446] 图16是示出通过将连续成像的图像和传感器信息相关来实现高精确度的方法的功能框图,具体示出静态传感器值的零校正。
[0447] 在图16中,检测部分51将通过成像装置12成像的帧间图像相互比较并且检测移动量。
[0448] 静态检测部分52基于角速度传感器142的检测信号、加速度传感器141的检测信号以及检测部分51的检测信号执行静态检测,由此获得静态的角速度传感器的参考值。
[0449] 然后,记录部分53确定该参考值并将该参考值记录在存储器17中。
[0450] 图17是示出通过将连续成像的图像和传感器信息相关来实现高精确度的方法的功能框图,具体示出用于通过对移动信息的协同来实现高精确度的方法。
[0451] 在图17中,功能块54针对角速度传感器142的检测信号设置零参考值,并且移动量积分部分55对移动量进行积分。
[0452] 此外,检测部分51将通过成像装置12成像的帧间图像相互比较并且检测移动量。
[0453] 协同校正逻辑56基于移动量积分部分55和检测部分51的输出执行协同校正,从而获得高精确度的相对移动信息。
[0454] 如上所述,在第三配置中,当记录连续成像的图像时,通过图像识别技术获得的帧移动信息与从姿势传感器获得的移动信息相关联。此外,计算由通过用图像识别技术获得的帧移动信息和从姿势传感器获得的移动信息中的一种不能确定的如下信息,例如:图像的像素视角、姿势传感器的静态值,以及姿势传感器值的对应像素视角。
[0455] 因此,通过对通过图像识别获得移动信息的方法和从姿势传感器检测移动信息的方法(该方法独自不能提供期望的精确度)进行协同的技术,可以显著地提高精确度和稳定性。
[0456] 将关于图18到图21进一步描述上述的第二配置和第三配置。
[0457] <成像的图像和摄影者的旋转运动>
[0458] 当在使全景图像成像时改变拍摄位置时,由于视差可能会出现不连续性。
[0459] 在成像后不能通过图像处理校正由于视差而导致的不连续性。
[0460] 因此,当使全景图像成像时,摄影者和照相机被固定在某个位置,并且摄影者在该位置旋转时拍摄图像,从而使照相机聚焦到一个点。
[0461] 在这种情况下,从两个不同的成像图像所看的视点的移动距离与拍摄时的旋转量成比例。如果图像是数字图像并且其尺寸可以由像素计数表示,那么两个图像之间移动的像素可以从在拍摄时的旋转移动的距离被逆计算得到;在这种情况下,视角可以用作逆计算所必需的参数。
[0462] 视角是用在拍摄空间中的角度范围表示在图像中成像的场景的水平或垂直宽度的数值。
[0463] 视角是在拍摄前通过测量给出并且在拍摄期间不会改变的参数。
[0464] 当水平视角是30度并且成像的数字图像的水平像素计数是1000时,每一个像素的拍摄空间角将是0.03度。也就是说,当识别出两个图像之间的像素移动量是800个像素时,可以计算出照相机的实际旋转(扫动)角是24度。
[0465] 每一个像素的视角被用作最重要的初始值。
[0466] 每一个像素的视角=(帧视角)/(帧像素计数)
[0467] 每两次图像拍摄的旋转量=(两个图像间的像素移动量)*(每一个像素的视角)
[0468] 每一个像素的实际视角事先通过测量作为初始值被保持。
[0469] <角速度传感器和旋转量>
[0470] 角速度传感器输出当前角速度。
[0471] 由于输出值随时间改变,因此可以检测到角速度的改变;然而,该值不直接表示旋转量。为了从角速度传感器获得旋转角,需要定义积分值的单位。
[0472] 使用角速度传感器以预定的时间间隔执行测量,并且测量间隔被固定作为重要的参数。
[0473] 测量的角速度对时间积分,同时,需要通过测量从外部获得实际旋转量。积分的角速度除以实际旋转量,以便计算每一度的角速度积分值。
[0474] 其后,通过将角速度积分值除以每一度的角速度积分值,可以按比例计算旋转移动量。
[0475] 每一度的实际角速度积分值事先通过测量作为初始值被保持。
[0476] <动态校准>
[0477] 尽管角速度传感器的输出是相对角速度,但是除非角速度传感器是极好的以外,否则该输出可以根据环境而变化。由于该变化对实际测量有影响,因此输出的每一次测量都需要被校正。
[0478] 专用于全景摄影以便根据来自成像的全景图像的反馈信息自动校正输出的处理将被称为动态校准。
[0479] 角速度传感器具有根据环境而改变的两个输出值;一个是静态零点位置,另一个是每一度的角速度积分值。另一个项是用相对移动而累积的积分误差;因此,这三个项被校正。
[0480] <角速度传感器和零点校正>
[0481] 图18是角速度传感器的零点校正处理的流程图。
[0482] 在角速度传感器142的零点校正处理中,执行图18中步骤ST1到步骤ST16的操作。
[0483] 如果不知道角速度传感器142的准确的静态输出值,则不可能检测到角速度。此外,该静态的零点将根据诸如温度的环境而改变。
[0484] 基于图像匹配的结果校正该零点漂移,从而在拍摄时计算精确的零点。事先设定的初始值被用作在开始时角速度传感器142的零点输出值。
[0485] 两个帧之间的图像匹配被执行(ST1到ST3)。如果匹配结果是包含高频分量并且示出在X轴、Y轴和Z轴方向上没有移动的可靠的结果,那么角速度传感器的X轴、Y轴和Z轴分量的输出值被作为零点值被采样。
[0486] 此时,使用作为零点值被采样的值执行校正(ST4到ST15)。
[0487] 当在任何轴方向上检测到移动时,由于这不是零点,所以既不执行采样也不执行零点校正。
[0488] 当执行采样时,在增加采样计数时校正零点值。
[0489] 通过计算计算结果的平均值来执行校正,该计算结果的平均值是将当前零点值和采样值之间的差除以采样计数所得到的。
[0490] 校正零点值=(零点值)+(采样值)·(零点值)·(采样计数)
[0491] <角速度传感器的移动量校正>
[0492] 图19是角速度传感器的移动量校正处理的流程图。
[0493] 在角速度传感器的移动量校正处理中,执行图19中的步骤ST21到步骤ST26的操作。
[0494] 每一度的角速度积分值是用于从角速度传感器的角速度积分值计算旋转角的参数,并且该参数将根据诸如温度的环境而改变。
[0495] 基于匹配结果执行图像匹配(ST21到ST23)以便校正并更新每一度的角速度积分值,由此计算在拍摄期间的精确值(ST24到ST26)。
[0496] 如果两个帧之间的图像匹配的结果是包括高频分量的可靠的结果,那么从通过图像匹配获得的在X轴、Y轴和Z轴方向上的移动量和在此时的角速度积分值计算每一度的角速度积分值。
[0497] 每一度的角速度积分值=(角速度积分值)/(每一个像素的视角)*(X轴周围的像素移动量)
[0498] 每一度的校正角速度积分值=(每一度的角速度积分值)+(采样值)·(每一度的角速度积分值)/(采样计数)
[0499] <由加速度传感器辅助的角速度传感器>
[0500] 角速度传感器输出相对角移动量。
[0501] 通过对迄今为止获得的的相对值进行积分来计算关于当前位置的绝对位置信息。
[0502] 当相对值包括小偏差或噪声时,随着积分时间增加,可能出现大的偏差。
[0503] 尽管角速度传感器能够通过检测重力加速度获得Y轴旋转(倾斜)和Z轴旋转(滚动)的绝对值,角速度传感器只能在对全景图像进行成像的情况下检测其集总值(lumped value),并且因此在可用性方面劣于加速度传感器。
[0504] 然而,由于角速度传感器具有能够输出绝对值的优点,因此可以通过周期性地将积分值和绝对值与相对移动距离的积分值进行比较来校正积分值和绝对值。
[0505] 当照相机被移动的绝对量使其能够足以被加速度传感器检测到时,如果需要,通过将该绝对量与此时基于相对移动距离的积分值而计算得到的绝对位置相比来校正绝对量。
[0506] <从图像和传感器获得的的移动信息>
[0507] 图20是移动量获取方法的流程图。
[0508] 在移动量获取方法中,执行图20中的步骤ST31到步骤ST35的操作。
[0509] 当角速度传感器142的分辨率与通过图像匹配获得的移动量的分辨率进行比较时,图像匹配提供高得多的精确度值。因此,从图像匹配计算得到的移动量尽可能地被用作相对移动距离(ST33和ST34)。
[0510] 由于匹配不是在诸如不包含高频分量的相同颜色的天空的图像的图像间实现的,因此,在这种情况下,通过使用角速度传感器142的输出值来计算相对移动量(ST33和ST35)。
[0511] <分配来自成像图像的空间坐标的方法>
[0512] 图21是从成像图像分配空间坐标的方法的流程图。
[0513] 在从成像图像分配空间坐标的方法中,执行图21中的步骤ST41到步骤ST47的操作。
[0514] 对于所有的以上述方式成像的全景图像,可以计算来自前一个帧的通过图像匹配和角速度传感器获得的相对旋转移动量(ST41到ST43)。
[0515] 为了产生全景图像,必需为这些相对旋转移动量分配绝对空间坐标。
[0516] 由于成像图像具有相同的视角,所以可以按焦点位于成像图像的中心点上的方式分配坐标,即照相机的方位矢量。
[0517] 来自前一帧的相对旋转移动量可以用照相机相对于前一个帧的视点矢量的方位方向的角度(即拍摄视点矢量)来表示。
[0518] 当只通过视点矢量来简化布置时,难以表示帧的Z轴方向周围的旋转,即滚动。
[0519] 因此,帧的滚动用另一个矢量来表示,该矢量正好在该帧之上的Y轴上移位。
[0520] 这两个矢量表示照相机的拍摄方向和在Z轴周围的滚动,并且即使在坐标被旋转后,帧的信息仍然被连续地保持。
[0521] 当图像被布置在空间中时,新的帧将总是被定位于空间前方位置a(0,0,1.0)。
[0522] 当相对旋转移动量可用时,所有的以前的帧沿着反方向旋转该量,然后,布置空间前方位置a(0,0,1.0)(ST44到ST46)。
[0523] 以这样的方式处理相对旋转移动量,该量不是通过前一帧和当前帧的差被计算的,而是通过当前帧和过去的帧的差被计算的。
[0524] 当前成像帧将被表示为A,前一个成像帧将被表示为B。
[0525] 通过帧A和帧B的差计算相对旋转移动量(ST43)。
[0526] 当计算结果示出,在从当前帧A的照相机位置到前一帧B的照相机位置计算时,照相机围绕X轴、Y轴和Z轴旋转地移动rx、ry和rz时,rx、ry和rz的旋转被施加到除了帧A以外的所有的过去成像帧的拍摄方向矢量和滚动指数矢量(rolling index vector)上。
[0527] 旋转矩阵可能是典型的三维空间。
[0528] 在Z轴方向上的旋转
[0529] x2=x*cos(rx)-y*sin(rx)
[0530] y2=y*sin(rx)+z*cos(rx)
[0531] z2=z
[0532] 在Y轴方向上的旋转
[0533] x2=x*cos(ry)-z*sin(ry)
[0534] y2=y
[0535] z2=x*sin(ry)+z*cos(ry)
[0536] 在X轴方向上的旋转
[0537] x2=x
[0538] y2=y*cos(rz)-z*sin(rz)
[0539] z2=y*sin(rz)+z*cos(rz)
[0540] 当以这种方式旋转所有帧从而使新帧被布置在固定位置(即前方位置)时,相对旋转移动量可以被转移为绝对空间坐标。
[0541] 当所有的帧都被处理时,所有的帧将具有适当的绝对坐标。
[0542] 然而,由于最后一帧被用作参考点,所以可能会有任意帧必须被相对地移动到参考点的情况。
[0543] 下面,将描述第四配置。
[0544] 【第四配置】
[0545] 在第四配置中,当检测到视差的影响或移动被摄体时,通过显示单元18或扬声器单元20输出警告信号,以便敦促用户重新拍摄。
[0546] 对于运动被摄体的方向,在第四配置中,可以确保被摄体的任意部分将出现在具有重叠比为50%或更大的至少两个图像中,以便借助于相邻图像间的运动矢量的相似性匹配来检测视差的影响或被摄体。
[0547] 在通过单个扫动使宽范围图像的多个条状图像成像并且将其合成为一个图像的照相机设备10中,检测近距离的被摄体受到多少视差的影响,并且敦促用户基于检测结果重新拍摄在照相机视点附近的被摄体。
[0548] 由于典型的广角照相机正好在其透镜后具有视点,因此用户手持该照相机围绕用户的手腕旋转该照相机是理想的。
[0549] 当在照相机的视点周围对图像进行成像时,即使当近距离的被摄体包含在图像中时,这些图像也可以被合成为一个图像。
[0550] 由于根据本实施例的照相机设备10使多个条状图像成像,所以照相机设备10具有这样一个优点,即,即使当在稍微偏移照相机视点的位置处对图像进行成像时,其影响也不太可能出现。
[0551] 然而,当使用手持的且围绕肩膀旋转的照相机对图像进行成像时,将围绕在后方远离照相机视点的位置处旋转照相机,因此,所得到的图像将受到视差的强烈影响。
[0552] 尽管当场景具有位于远距离的所有被摄体时基本上没问题,但是如果在场景中包含近距离的被摄体,那么与远距离的被摄体不同,与相邻图像的位置关系不能被正确地合成。
[0553] 因此,在第四配置中,当检测到由于视差的影响而不能正确地合成图像时,通过指示将照相机围绕照相机的视点旋转来敦促用户重新拍摄。
[0554] 【视差检测方法】
[0555] 将描述视差检测方法。
[0556] 在时间上相邻的两个图像的重叠范围内多次执行块匹配,以计算所得到的移动矢量。
[0557] 通常,如果照相机被适当地扫动,则BM结果将产生大致相同的矢量。
[0558] 当照相机围绕肩膀旋转并且近距离的被摄体被包含在远距离的场景中时,所得到的矢量将具有不同的值。
[0559] 由于图像中的变化在近距离被摄体和远距离被摄体的边界处剧烈,因此难以获得正确的BM结果。通过本方法检测视差。
[0560] 下面将描述视差检测的具体处理例。
[0561] 下面的处理是通过微型计算机162和系统控制器16的图像信号处理部分161以协同的方式执行的。
[0562] <视差检测方法>
[0563] 【粗略合成】
[0564] 照相机设备10从左向右旋转,并且对应于大约120度的范围的几十个图像被成像。
[0565] 这确保了存在足够的其中同一被摄体出现在相邻图像中的区域(重叠区域)。
[0566] 在拍摄期间的照相机设备10的运动由姿势传感器14检测,并且以非常小的时间间隔被记录。
[0567] 由于传感器数据与成像图像同步记录,因此可以知道各个图像的拍摄方向;然而,数据的精确度不高。
[0568] 基于这一信息,各个图像被布置在经纬度平面上。
[0569] 在这种状态下,相邻图像的每一个重叠区域都包括大约100个像素,并且被布置在大致正确的位置。
[0570] 从这一点来看,执行了精确自动合成程序的处理。
[0571] 【精确自动合成】
[0572] 在重叠范围内的多个区域中执行运动检测(ME:运动搜索或运动评价)。
[0573] 在运动检测ME中,使用基于FFT的只相位校正方法(FET basedphase-only correction method)。或者,可以使用特征点提取方法或其它方法。
[0574] 在只有平移的情况下,只有一个ME区域就够了。
[0575] 两个ME区域可以给出相互倾斜信息。
[0576] 三个ME区域可以给出透镜畸变系数。
[0577] 如果在重叠区域内没有运动被摄体并且在背景中没有被检测到手抖的影响,那么ME的数目可以小。
[0578] 然而,如果ME的数目太小,那么将难以处理被摄体被包含在重叠区域中或者视差的影响在近距离中被检测到的情况。
[0579] 因此,在重叠区域中的尽量多的区域中执行ME。
[0580] 当作为ME的结果而获得的很多的运动矢量基本上具有相同的值时,可以通过将与其它图像相关的一个图像进行平移来合成这些图像。
[0581] 尽管运动矢量不具有基本相同的值,但是如果这些值从上部到下部一样改变,那么可以通过将与其它图像相关的一个图像倾斜来合成这些图像。
[0582] 然而,当从重叠区域获得不同的ME结果时,实际上不可能将图像合成在一起。
[0583] 这是由于存在运动被摄体,或者由于在近距离和远距离同时存在被摄体从而导致了以移动的视点对图像进行成像。
[0584] 【ME的方法】
[0585] 首先,通过减少经受ME的图像来粗略地执行ME。
[0586] 减少率逐渐地降低,最终,使用实际尺寸的图像执行ME。
[0587] ME的块尺寸被改变,或者,块的中心到中心的距离被减小,从而可以获取更详细的运动矢量。
[0588] 【ME结果的评估】
[0589] 基于很多ME的结果确定能否正确地执行拼接,并且,如果确定为不可能,那么这样的确定结果被显示以敦促用户重新拍摄。
[0590] 如果确定为可能,那么执行拼接,并且,合成的结果被显示且被记录到记录介质(存储器)中。
[0591] 【运动被摄体的行为】
[0592] 下面,将描述运动被摄体的行为。
[0593] 在时间上相邻的两个图像的重叠范围内多次执行块匹配(BM),以便计算所得到的移动矢量。
[0594] 这一矢量对应于运动被摄体,因此可以从静止部分分离。
[0595] 由于在运动被摄体和静止被摄体的边界处图像变化剧烈,因此难以获得正确的BM结果。当在水平方向上扫动照相机时,难以区分由于在近距离存在静止被摄体而出现视差的情况和存在在水平方向上移动的被摄体的情况。
[0596] 因此,在这种情况下,在不区分视差和运动被摄体的情况下输出警告信号。
[0597] 当在图像中检测到视差或运动被摄体时,对于现有技术,实际上不可能在不对用户产生任何不便的情况下拼接这些图像。
[0598] 因此,在本实施例中,输出警告信号以敦促用户“重新拍摄(reshoot)”或“以改变拍摄的方法重新拍摄(reshoot with changedshooting method)”。
[0599] 例如,输出诸如“在图像中出现了视差或运动被摄体的影响。请以减小的旋转半径重新拍摄(The influence of parallax or movingobjects appeared in the image.Please reshoot with a reduced radiusof rotation.)”的警告信号。”[0600] 如上所述,在第四配置中,由于能够在拍摄后立即检测到运动被摄体的存在,因此可以重新拍摄。
[0601] 结果,由于能够在拍摄后立即检测到视差的影响,因此可以重新拍摄。
[0602] 下面,将描述第五配置。
[0603] 【第五配置】
[0604] 在第五配置中,扫动角速度(用户扫动照相机的速度)的适当的值被告知用户,并且如果扫动太快则输出警告信号,由此敦促用户重新拍摄。
[0605] 如上所述,微型计算机162以曲线图的形式将时间和姿势传感器(陀螺传感器)的输出(扫动角速度)分别显示在例如LCD的显示单元18的屏幕的横轴和纵轴上。
[0606] 由于最大扫动角速度是在水平视角、水平像素数和快门速度被设置时确定的,因此如图4所示,最大扫动角速度的60%到80%作为适当范围RNG显示在曲线图上。
[0607] 对操作流程的概述如下。
[0608] 【1】在操作单元19的开始按钮被按下的情况中扫动照相机,然后开始按钮被释放。
[0609] 【2】如图4所示,在开始按钮处于按下状态的期间扫动角速度显示在显示单元18的屏幕上。
[0610] 【3】当扫动角速度低于适当范围RNG时不输出警告信号,但是当扫动角速度高于适当范围时将输出。
[0611] 如上所述,在第五配置中,由于将适当的速度告知了用户,因此消除由于扫动太快造成没有重叠区域以及由于扫动太慢造成成像场景窄的不便。
[0612] 将参考图22A到图22D描述用于计算扫动速度的处理的例子。
[0613] <扫动速度的计算>
[0614] 将描述一种方法,其用于在确定曝光时间、像素计数、每一条线的读出时间、视角、重叠比和帧率时计算用于消除模糊角度、模糊像素计数中的任何问题的这样的扫动速度。
[0615] 能够从三个公式中获得的最低的扫动速度值是在这种情况下的最大的角速度。
[0616] 在图22A到图22D中示出的表格示出当给出诸如视角和扫动速度的各种参数时的模糊像素计数和帧率的计算结果。
[0617] 计算结果是在不同的条件【1】到条件【6】下获得的。
[0618] 将在下面描述在图22A到图22D中的条件【1】下的计算结果。
[0619] 使用扫动速度vp、视角th、水平像素计数H和重叠比k,通过图22A到图22D的表格的右边的计算公式对模糊角ab2、模糊像素计数nb2和帧率f计算如下。
[0620] ab2=vp·(ts+n·rs)·1000
[0621] nb2=vp·(ts+n·rs)·H/th
[0622] f=100/(100-k)·H·vp/n/th
[0623] 通过这些等式,得到扫动速度vp如下。
[0624] vp=1000·ab2/(ts+n·rs)[度]…(1)
[0625] vp=nb2·th/H/(ts+n·rs)[度/秒]…(2)
[0626] vp=(100-k)/100·n·th·f/H…(3)
[0627] 这里,当模糊角ab2为0.28度,曝光时间为1msec,短边的像素计数n为400个像素,并且每一条线的读出时间rs是7.8微秒时,扫动速度vp变为68度/秒。
[0628] 此外,当模糊角ab2为19.9度,长边的视角th为50度,并且水平像素计数H是3560个像素时,扫动速度vp变为68度/秒。
[0629] 此外,当重叠比k为20%并且帧率f为15.13时,扫动速度vp变为68度/秒。
[0630] 因此,当公式(1)、(2)和(3)的右边的参数改变时,扫动速度将受到公式的限制。
[0631] 在以比通过公式(1)获得的扫动速度vp快的速度扫动照相机时,可能会超出光学图像稳定化元件的工作限制。
[0632] 在以比由公式(2)获得的扫动速度vp快的速度扫动照相机时,模糊量可能会超出可允许的限制。
[0633] 在以比由公式(3)获得的扫动速度vp快的速度扫动照相机时,重叠范围减少,并且甚至在某些情况中消失。
[0634] 在上文中详细地描述的第一配置至第五配置可以单独地或全部地用于照相机设备10,并且可以适当地组合在一起以便用于其中。
[0635] 在上文中详细地描述的方法可以被实施为与要由诸如CPU的计算机执行的上述过程相对应的程序。
[0636] 这样的程序可以通过诸如半导体存储器、磁盘、光盘或软盘(注册商标)的记录介质或者通过设置有这样的记录介质的计算机进行访问,从而执行该程序。
[0637] 本申请包括与2008年12月17日在日本专利局提交的日本在先专利申请JP2008-320663中公开的主题相关的主题,该专利申请的全部内容以引用的方式并入本文。
[0638] 本领域的技术人员应该理解,根据设计要求和其它因素,可以进行各种修改、组合、子组合和替换,只要它们在所附的权利要求或其等同形式的范围内即可。