拍摄全景画面的方法转让专利

申请号 : CN200810213358.7

文献号 : CN101377616B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金修均文载媛赵成大吴尚昱孙秉准洪泰和郑熙远赵南翊李相和河成钟

申请人 : 三星电子株式会社首尔大学校产学协力财团

摘要 :

提供了一种拍摄全景画面的方法。全景画面拍摄方法在不用附加装备或单独装置和硬件的情况下允许更准确拍摄对象的图像(具体地讲,对象的全景图像)。所述方法包括:在拍摄构成全景画面的每个图像中将在每个预定时间单位中连续输入的图像投影到具有相同焦距的虚曲面以获得投影的图像;通过使用应用了曝光校正的运动估计技术以将投影的图像和先前图像进行实时比较的方式来确认相应拍摄设备的移动;通过确认根据拍摄方向的相应拍摄设备的确认的移动达到预定临界值来确定每个图像的拍摄时刻;根据被动输入或自动地在每个图像的拍摄时刻拍摄每个图像。

权利要求 :

1.一种全景画面拍摄方法,包括以下步骤:

(a)在拍摄每个单独图像中将包括在每个预定时间单位中连续输入的多个单独图像帧的图像投影到具有相同焦距的虚曲面,并构成包括投影的图像的全景画面;

(b)通过使用应用了曝光校正的运动估计技术以将投影的图像中的当前图像帧和先前图像帧进行实时比较的方式来确认相应拍摄设备的移动;

(c)通过确认根据拍摄方向在步骤(b)中的确认的移动达到预定临界值来确定每个单独图像帧的拍摄时刻;

(d)自动或通过被动输入在拍摄时刻拍摄每个单独图像帧。

2.如权利要求1所述的全景画面拍摄方法,其中,在步骤(b)中使用曝光校正的运动估计技术中,通过使用将被相互比较的图像帧的块的像素之间的误差信息来获得彼此匹配的块之间的运动矢量,并根据每个相应块的平均值来校正每个块中的每个像素,以应用曝光校正。

3.如权利要求2所述的全景画面拍摄方法,其中,通过下面式(1)计算修改的绝对差之和SAD或修改的平方差之和SSD来获得误差信息:修改的SAD

修改的SSD

其中,I1和I2分别是先前图像帧和当前图像帧内块中(a,b)位置和(a+m,b+n)位置的像素值,和分别是先前图像帧和当前图像帧内块的相应像素的平均值。

4.如权利要求3所述的全景画面拍摄方法,其中,在获得了像素的平均值的情况下,预设针对当前图像帧的整个图像,并计算整个图像中包括的像素的平均值。

5.如权利要求1所述的全景画面拍摄方法,其中,虚曲面是具有距参考点相同焦距的圆柱面或球面。

6.如权利要求1所述的全景画面拍摄方法,其中,在步骤(a)的投影图像的过程中,根据下面的式(2)计算与将图像帧的中心作为原点的图像坐标系中的点(x,y)相应的像素:I(fuR2-u2,fvR2-u2.)...(2)其中,f是每个图像的焦距,θ是图像之间的旋转角度,将图像帧的中心作为原点的图像坐标系是(x,y),与点(x,y)的位置相应的像素是I(x,y),R是半径,基于该半径R形成的圆柱坐标是(u,v)=(Rθ,v)。

7.如权利要求6所述的全景画面拍摄方法,其中,与投影的图像中包括的像素相应的点(u,v)满足式(3)和式(4)中每一个范围:-W/2≤u≤W/2…(3)

这里,W是图像帧I的宽度,

-H/2≤v≤H/2…(4)

这里,H是图像帧I的高度。

8.如权利要求6所述的全景画面拍摄方法,其中,通过利用Bresenham类型算法的整数计算来获得

9.如权利要求6所述的全景画面拍摄方法,其中,通过使用针对(u,v)的y轴对称、x轴对称和原点对称来获得分别与(-u,v)、(u,-v)、(-u,-v)相应的像素值。

10.如权利要求6所述的全景画面拍摄方法,其中,通过下面的式(5)来获得计算圆柱坐标的半径R:R=f2+(W2)2...(5)其中,W是图像I的宽度。

11.如权利要求2所述的全景画面拍摄方法,其中,当获得每个块之间的运动矢量时,使用单个块搜索方案。

12.如权利要求2所述的全景画面拍摄方法,其中,根据预览性能、距对象的距离和/或拍摄模式信息来变化地设置块。

13.如权利要求12所述的全景画面拍摄方法,包括:与块一起变化地设置用于搜索匹配块的搜索区域。

14.一种确认全景画面拍摄设备的移动的方法,所述方法包括:

(a)将包括实时输入的多个单独图像帧的图像投影到具有相同焦距的虚曲面,并获得投影的图像;

(b)确认投影的图像的当前图像帧和先前图像帧之间的匹配块;

(c)通过获得确认的匹配块之间的运动矢量来确认拍摄设备的移动,其中,在确认块彼此匹配的步骤中,根据相应块的平均值来校正各个图像帧的块的各个像素,并通过使用关于在各个图像帧的块之间彼此进行比较的各个校正的像素的误差信息来从步骤(b)获得匹配块之间的运动矢量。

15.如权利要求14所述的方法,其中,在步骤(b)中的确认匹配块的步骤包括:确定在什么位置两个相应块的像素值之间的误差最小。

16.如权利要求14所述的方法,其中,移动相机获得单独图像,以根据相机的移动来拍摄全景图像。

17.如权利要求16所述的方法,其中,用于获得单独图像的相机的移动是自动的。

18.如权利要求16所述的方法,还包括:通过用户接口通知用户移动相机以获得每个单独图像。

19.如权利要求18所述的方法,其中,通过提供听觉提示来执行通知用户。

20.如权利要求18所述的方法,其中,通过提供视觉提示来执行通知用户。

说明书 :

技术领域

本发明涉及一种在具有拍摄数字图像功能的多种复杂设备中的数字图像拍摄,所述多种复杂设备包括数码相机以及具有相机模块的移动通信终端。更具体地讲,本发明涉及一种拍摄全景图像和用于构成全景图像的多个图像的方法。

背景技术

通常,在数字图像拍摄设备中,图像捕获单元具有获得图像的功能,并可获得在其透镜的焦距内形成的图像。这里,获得的图像在比实际人的视角(大约在150°到200°之间)小的视角(对于普通相机大约在30°到50°之间)的范围内。
拍摄多个图像的传统方法包括:在适当改变视角的同时获取图像;使拍摄的图像顺序相互连接,以将这些图像识别为一个连续图像,从而获得具有与人的视角相似或比人的视角大的视角的画面。将这种传统方法称为全景图像拍摄方法。
在全景图像拍摄方法中,传统的数字图像拍摄设备捕获将被水平或垂直地相互连接的几个图像,然后将所述几个图像存储在存储器中。存储器中存储的图像稍后被提供给适当的内部/外部图像处理器,并被相互连接成一个连续图像。此时,为了消除图像之间的边界处的色差和图像的不一致,数字图像拍摄设备拍摄在图像的边界之间具有充足重叠的多个图像,然后通过调整它们的边界来对齐图像。其后,数字图像拍摄设备执行包括缝合和弯曲的图像处理。通过该处理,获得包括自然地相互连接的多个图像的单个图像。
因此,在拍摄全景图像中的高优先级与尽可能准确对齐的这些图像的捕获一致。为此,在用户手动拍摄中通常使用诸如三脚架的附属设备。最近,提出了这样一种方法,其中,将相应的拍摄设备安装在三脚架等上,并根据全景拍摄中各个图像来旋转安装的拍摄设备。在2003年7月29日提交的标题为“Camera And Method for Photographing Panorama Picture(用于拍摄全景画面的相机和方法)”第2003-0052444号韩国专利申请中公开了这种方法的示例,该申请的申请人是Samsung Techwin Co.Ltd,发明人是BAE,Sung-cheol。对于以上描述的方法,还提出了这样一种方法:具有检测旋转角度功能的设备可被另外安装在相应的拍摄设备上,用户预先设置拍摄设备的旋转角度,从而通过在全景拍摄中通过由用户预设的拍摄设备的旋转角度上的旋转位移来拍摄各个图像。
此外,为了当在相应的拍摄设备上没有安装附属部件或附加硬件的情况下拍摄全景图像时更准确地对齐各个图像,还提出了这样一种方法:当拍摄各个图像时,先前拍摄的图像的边界的部分区域与正拍摄的当前图像适当重叠地再现,从而用户可通过用当前拍摄的图像调整先前拍摄的图像来控制拍摄的适当位置。在2003年3月31日提交的发明人姓名为Gregory V.Hofer的标题为“Panoramic Sequence Guide(全景顺序指南)”的第2004/0189849号美国公开中公开了这种方法的示例。
与拍摄一般的单个图像相比,拍摄全景图像更复杂并需要更好的熟练程度,该过程较长,对操作和拍摄图像需要更好和更方便的解决方案。
同时,图1是示出在构成全景图像的各个拍摄的图像之间的关系的示图。在相机以其在水平方向上旋转θ度的方式获得图像的情况下,相机将实际的三维图像(例如,第一对象(subject)或第二对象等)转换成第一图像或第二二维图像,以对其进行显示。在将这些图像彼此组合以实现画面的情况下,由于透视不同产生了变形,从而难以估计彼此不同的图像之间的重叠部分。结果,无法形成真实自然的全景画面。
例如,在通过如图1所示的方法获得的第一图像和第二图像分别是图2A和图2B的图像,并且通过拍摄相同区域获得的两个图像的各个部分彼此重叠的情况下,如图3所示,通过拍摄相同区域获得的部分彼此不相等,并且重叠部分变形。
因此,需要一种以通过拍摄相同区域获得的多个图像的各个部分彼此相等的方式产生更准确的全景画面的方法。

发明内容

因此,本发明提供了一种全景画面拍摄方法,所述全景画面拍摄方法比以前已知的方法运行更简单,并在不用附加装备、单独装置或硬件的情况下允许用户拍摄对象的图像(具体地讲,对象的全景图像)。
另外,本发明提供了这样一种方法:所述方法以考虑相机捕获的图像与对象的实际图像之间的关系对相机捕获的图像进行校正的方式检测相机的移动,并反映校正的图像。
根据本发明的示例性方面,提供了一种全景画面拍摄方法,所述全景画面拍摄方法包括以下步骤:在拍摄构成全景画面的每个图像中将在每个预定时间单位连续输入的图像投影到具有相同焦距的虚曲面以获得投影的图像;通过使用应用了曝光校正的运动估计技术以将投影的图像和先前图像进行实时比较的方式来确认相应拍摄设备的移动;通过确认根据拍摄方向的相应拍摄设备的确认的移动达到预定临界值的事实来确定每个图像的拍摄时刻;根据被动输入或根据自动方式在每个图像的拍摄时刻拍摄每个图像。
根据本发明的另一示例性方面,提供了一种全景画面拍摄方法,在所述方法中,确认拍摄设备的移动,所述方法包括:将实时输入的图像投影到具有相同焦距的虚曲面,并获得投影的图像;确认投影的图像的当前输入帧和先前帧之间的匹配图像块;通过获得确认的匹配图像块之间的运动矢量来确认拍摄设备的移动,其中,在确认彼此匹配的图像块的步骤中,根据相应图像块的平均值来校正各个帧的图像块的各个像素,并通过使用关于在各个帧的图像块之间彼此进行比较的各个校正的像素的误差信息来获得匹配图像块之间的运动矢量。

附图说明

从下面结合附图的详细的描述,本发明的以上和其他方面、特征和优点将变得更清楚,其中:
图1是示出在拍摄全景画面中各个拍摄图像之间的关系的示图;
图2A和图2B是示出通过拍摄图1的第一图像和第二图像获得的画面的示例的示图;
图3是示出考虑图2的第一图像和第二图像的每个相同部分来布置第一图像和第二图像的画面的示图;
图4是应用了本发明的便携式终端的框图;
图5是示出根据本发明的一个示例性实施例的全景画面拍摄方法的示例性操作步骤的流程图;
图6A和图6B是示出通过将图2的第一图像和第二图像投影到圆柱体获得的合成图像的示图;
图7是示出根据依据本发明的一个示例性实施例的全景画面拍摄方法的图像帧、投影的图像和对象之间的关系的构思的示图;
图8是示出根据本发明的一个示例性实施例的在拍摄全景拼接画面中基于投影到圆柱体的曲面的图像的中心的画面的对称结构的示图;
图9是示出根据本发明的一个示例性实施例的将平方根计算实现为整数计算的构思的示图;
图10是图5中检查相机的移动的操作的详细流程图;
图11是示出用于检测图10中的运动矢量的具有可变大小的图像块的示例的示图;
图12A和图12B是示出整个图像的示例的示图。

具体实施方式

以下,将参照附图描述根据本发明的示例性实施例。在这里以下的描述中,仅为了示出的目的描述了许多具体项(例如,详细的部件装置)以向本领域的普通技术人员提供本发明的一般理解,要求保护的拍摄全景画面的方法不限于这里显示和描述的示例。另外,本领域的普通技术人员理解和明白,在不脱离本发明的精神和权利要求的范围的情况下,可在本发明的形式和细节方面进行各种改变。
图4是应用了本发明的便携式终端的示例性框图。在本发明中,如图4所示,首先,便携式终端是在可执行以下描述的数字图像拍摄功能的各种设备之中基于硬件类型的设备的示例。
参照图4,具有数字图像拍摄功能的便携式终端包括:相机20、图像处理器22、显示单元24、控制器14、存储单元16、键输入单元18、无线单元10和无线数据处理器12。
无线(RF)单元10将用户的语音、字符和控制数据转换成无线信号,以将它们发送到移动通信网络的基站(未示出)。另外,无线单元10从基站接收无线信号,并将它们解调成语音、字符、控制数据等,以将它们输出。通过控制器14操作无线数据处理器12。无线数据处理器12对由无线单元10接收的语音数据解码,并通过扬声器将其向用户输出为可听声。另外,无线数据处理器12将通过麦克风输入的用户的语音信号转换成数据,并将其输出到无线单元10。另外,无线数据处理器12将输入的字符和控制数据提供给控制器14。本领域的普通技术人员理解并明白,图4中示出的RF单元10和无线数据处理器12的功能可组合成单个方框。
相机20在控制器14的控制下执行数码相机功能,从而相机20接收从对象反射的特定波段的可见光信号。相机20具有由例如电荷耦合装置(CCD)等构成的拍摄单元20-2。另外,相机20可包括用于测量对象的焦距的距离传感器20-6等。图像处理器22处理从相机20输出的图像数据,并将该数据转换成合适的数字图像数据格式。
输入单元18是用于接收用户输入的电话号码或字符的设备。输入单元18通常包括用于输入数字信息或字符信息的功能键和用于安装各种功能的功能键,并将通过这些键输入的信号输出到控制器14。在权利要求的范围和本发明的精神内,输入还可包括语音激活功能,所述语音激活功能补充或代替所述功能键的一些/全部。显示单元24可以是诸如液晶显示器(LCD)等的显示设备,并在控制器14的控制下,显示通过拍摄获得的数字图像数据以及与相应终端的各种操作状态有关的消息。
通过控制器14的操作,以整体控制每个功能单元的操作的方式来控制移动通信终端的整体操作。具体地讲,控制器14根据通过键输入单元18输入的数字和菜单选择信号执行处理,通过相机20接收外部拍摄信号,根据外部拍摄信号执行相应处理,并输出各种操作所需的图像输出信号(包括通过显示单元24输出相机拍摄图像)。此时,根据需要,控制器14使存储在存储单元16中的内容输出,或将内容存储在存储单元16中。存储单元16存储与控制器14的操作有关的多个程序和数据,还存储使用便携式终端所需的信息和相机拍摄图像信息。
具有这种配置的便携式终端执行与移动通信服务有关的典型操作(包括相机功能)。此时,除了以上描述的功能,控制器14执行根据本发明的全景图像拍摄功能。另外,存储单元16存储用于在控制器14中执行的根据本发明的全景图像拍摄操作的操作程序和相关信息,并将相应信息输出到控制器14。
根据本发明的示例性方面,当执行全景拍摄操作时,便携式终端实时接收对象的图像(与运动画面类似)。另外,在便携式终端移动(可由用户引起根据拍摄方向引起的移动)或由单独的设备移动便携式终端(所述单独的设备以所述终端与该设备一起装配的方式允许便携式终端自动旋转)的情况下,便携式终端通过将正输入的当前图像与先前图像进行比较来确定/计算相应便携式终端的移动,并检测移动方向和移动程度。接着,便携式终端执行为获得用于产生适当的全景图像的顺序图像的操作。以下,将参照附图更详细地描述根据本发明的图像拍摄操作。
图5是示出根据本发明的示例性实施例的全景图像拍摄操作的一个具体示例性操作的流程图。参照图5,首先,在步骤200,设置用于全景图像拍摄的各种拍摄环境,这在执行实际全景图像拍摄操作之前预先执行。
在步骤200,设置连接方向(例如,构成全景画面的每个图像的上、下、左和右方向),即拍摄方向。另外,设置将被连接以构成全景画面的拍摄图像的数量。
在步骤200,响应于检测到的通常由便携式终端执行的设置各种功能的菜单项(例如,在相机拍摄菜单的子菜单中的“全景画面拍摄环境设置模式”菜单)的选择来执行全景画面拍摄环境设置操作,从而将每个环境设置值设置为用户的选择。当然,在便携式终端中预先准备了配置和操作程序,所述配置和操作程序为这种菜单选择操作显示相应菜单项,并确认从用户到键输入单元的键输入。另外,在步骤200由用户设置的全景画面拍摄环境项的一些或全部可被固定为合适的值,例如,由开发人员预先设置和提供的默认值。
然后,在步骤210,响应于检测到的在便携式终端的菜单项中(例如,在相机拍摄菜单的子菜单中)的“全景图像拍摄模式”的选择,可通过拍摄全景照片的第一全景图像开始执行全景拍摄。此时,通过类似于通常拍摄方法的方法通过从用户输入的快门来存储全景画面的第一图像。然后,可基于将被描述的根据本发明的全景图像拍摄方法来执行后面的图像拍摄处理。同样地,当开始全景画面拍摄时,从开始点每预定时间单位(例如,一秒的1/15)实时地将输入到拍摄设备的图像存储在存储器中。即,输入到拍摄设备中的图像类似于运动画面被输入,从而构成图像的帧被存储到每个存储器中。这里,构成图像的帧是用于确认相机的移动的图像。该帧可以仅用于运动确认,或可以是全景画面的一部分。因此,所述帧可以是与构成全景画面的图像不同的图像。在所述帧仅用于确认相机的移动的情况下,如果所述帧的图像的质量是在确认相机的移动的步骤(这将在下面进行描述)中所需的质量,则所述质量足够。
换句话讲,可将帧的像素数量设置为确认相机的移动所需的像素数量。
在步骤215,如果从拍摄设备输入了帧,则转换帧,以将所述帧投影到具有相同焦距的曲面(例如,圆柱面、球面等)。即,在步骤215,将构成图像帧的每个像素的色度值和颜色值应用于图像投影算法,从而产生被投影到圆柱面或球面的新图像。例如,如果通过步骤210输入的帧是图2A和2B示出的图像,则通过步骤215产生的新图像可以是被转换为与图6A和图6B示出的图像相同的图像。
然后,在步骤220中使用通过步骤215产生的图像。即,在以实时转换按预定时间单位顺序地输入的图像帧的方式产生的图像中,通过使用在当前时间单位输入的图像和在前一时间单位输入的图像来确认相应设备(即,相机)的移动。
优选地,在步骤220,获得块之间的运动矢量,并可确认相机的移动。另外,可通过将当前帧和先前帧的具有适当设置大小的图像块进行相互比较和匹配来获得块之间的运动矢量。例如,可通过与当对运动画面编码和解码时传统运动估计和运动补偿技术中使用的方法类似的方法来获得块之间的运动矢量。在本发明的描述中,将与横向方向(即,x轴)相应的运动矢量定义为mi,x将与垂直方向(即,y轴)相应的运动矢量定义为mi,y(这里,i是帧号)。
然后,在步骤230,通过合适的用户接口(UI)使用视觉或听觉提示或者二者通知用户移动方向(相机需要在所述移动方向上移动,以根据在步骤220检查到的相机的移动拍摄全景图像)。此时,可通过使用合适的图标等通过显示单元来显示相机优选移动的当前方向。
例如,在从左边到右边执行当前全景画面拍摄的情况下,如果检测到当前相机正在左方向/停止/右方向移动了x轴的运动矢量mi,x,则相机可在预览屏幕上显示指示右方向的箭头的图标,以引导用户在合适的全景画面拍摄方向上移动相机。例如,代替视觉提示或除了视觉提示之外,还可输出听觉提示(例如,诸如“向右移动”的字或短语)。
另外,在根据下面的式(1)将y轴的运动矢量mi,y累加从而当前相机的位置值向向上或向下方向偏离预定临界值(下面式(1)中的τ2)的情况下,可在预览屏幕上显示用于警告用户相机偏离的合适形状的图标。
|∑mi,y|≤τ2...(1)
然后,在步骤240,根据在步骤220确认的相机的移动来确认当前时间是否为每个图像必须被拍摄的时刻。如果是每个图像被拍摄的时刻,则步骤240进行到步骤250,否则,步骤240进行到步骤220,从而重复执行以上描述的过程。
例如,在从左方向到右方向执行当前全景图像拍摄的情况下,根据式(2)累加x轴的运动矢量mi,x。如果如式(2)所示累加的值达到预定临界值(下面式(2)中的τ1),则可确定现在是当前图像的拍摄时刻。
∑mi,x≥τ1...(2)
然后,在步骤250,获得相应图像,此时,可与关于相机方向的通知类似地通过合适的UI通知用户相机的当前位置对应于图像拍摄时刻的事实。另外,通过基于预定拍摄环境(例如,基于以被动方式还是以自动方式拍摄全景画面)根据通过用户输入的快门执行图像拍摄操作来获得图像,或可自动执行图像拍摄操作。当然,在步骤200,可与全景画面拍摄环境的设置一起来执行全景画面被动/自动拍摄的设置。此外,在自动执行拍摄操作的情况下,没有任何改变地使用输入以确认相机的移动的图像帧,或可获得被投影到圆柱面或球面的图像帧作为构成全景画面的图像。另外,可以以将拍摄获得的图像投影到具有相同焦距的曲面的方式来生成构成全景画面的图像。
接着,在拍摄图像的步骤250之后,在步骤260,确认拍摄的当前图像的数量是否达到预定图像的总数量。如果确认拍摄的当前图像的数量没有达到总数量,则步骤260返回步骤220,以重复执行上述过程。如果确认拍摄的当前图像的数量已达到总数量,则全景拍摄完成。此时,当步骤260返回步骤220时,将运动矢量(具体地讲,作为x轴的运动矢量mi,x的总和的∑mi,x)的值复位为初始值(0)。另外,在完成全景拍摄之后,将拍摄的全景图像彼此连接,以产生一个全景画面。为了平滑地连接这些图像,可应用通常的图像处理方法(例如,对齐、缝合或弯曲)。
根据图5示出的整个过程,可理解,例如在拍摄全景的过程中可根据拍摄方向从左边到右边来移动拍摄设备。尽管以上将移动公开为由用户实现,但可存在图像捕获的自动移动,并且视觉或听觉提示不是必须的。
在本发明中,假设以预定速度输入图像帧,以在全景画面拍摄的操作期间将所述图像帧投影到圆柱面或球面。另外,假设在所有输入的图像帧上没有发生运动模糊现象。因此,尽管相机执行全景画面拍摄,但相机以预定速度从左边移动到右边,以获得具有预定宽度的图像,所述图像彼此自动重叠。另外,将根据拍摄方向(例如,从左边到右边的方向)的输入图像的运动矢量(例如,x轴的运动矢量mi,x)累加。因此,每当累加的值达到预定临界值(τ1)时,可获得每个图像。基于此,如果当设置全景画面拍摄环境时设置全景画面被自动拍摄,则当用户移动拍摄设备时构成全景画面的每个图像在适当的位置处被自动获得(根据临界值τ1)。
同时,以下将描述包括步骤215的详细过程的通过投影输入的图像帧来获得新图像(以下,称为投影的图像)的方法。尽管描述了根据将在下面描述的方法将图像帧投影到圆柱空间,但这仅为了示出的目的以帮助理解,而不限制本发明。
图7是示出根据依据本发明的一个示例性实施例的全景画面拍摄方法的图像帧、投影的图像和对象之间的关系的构思的示图。参照图7,通过使用坐标(X,Y,Z)指示对象的三维空间的点,通过使用(x,y)指示通过相机被处理为二维的图像帧的点。图像坐标系将图像帧的中心作为原点。将图像帧I的宽度定义为W,将图像帧I的高度定义为H。将与通过相机输入的图像帧的坐标(x,y)相应的像素定义为I(x,y)。在(x,y)为整数的情况下,I(x,y)准确地指示与(x,y)相应的像素值,在(x,y)为实数的情况下,I(x,y)指示通过使用从四个周围的像素通过线性插值获得的结果来表示的像素值。
可通过使用下面的式(3)将作为三维空间的坐标的P=(X,Y,Z)转换成作为半径为R的圆柱体的圆柱坐标的(u,v)=(Rθ,v)。
u = R tan - 1 ( x z )
v = Ry x 2 + z 2 . . . ( 3 )
此时,假设相机朝着z轴,而相机的中心被设置为三维空间的坐标的中心,相机的y轴旋转平行地对应于圆柱面的水平方向上的移动,从而三维的点P=(X,Y,Z)可对应于图像和圆柱坐标的点,如下面的式(4)所示。
( f X Z , f Y Z ) ( tan - 1 X Z , RY X 2 + Z 2 ) . . . ( 4 )
因此,位于拍摄的图像帧的点(x,y)对应于圆柱坐标上的 ( u , v ) = ( R tan - 1 x f , Ry f 2 + x 2 ) , 相反,圆柱坐标上的点(u,v)=(Rθ,v)对应于拍摄的图像帧上的点 ( f tan u R , f v R cos ( u / R ) ) . 结果,圆柱体上的点(u,v)可被表示为 I ( f tan u R , f v R cos ( u / R ) ) , 可将代入了 I ( f tan u R , f v R cos ( u / R ) ) 的位于通过计算的拍摄的图像帧的点(x,y)转换成圆柱体上的点(u,v)。基于此,可将位于拍摄的图像帧的点(x,y)转换成圆柱体上的点(u,v),从而可将拍摄的图像帧(I)投影到圆柱体空间。
此外,在通过使用以上描述的方案将拍摄的图像帧投影到圆柱体空间的情况下,计算量大,从而会难以在有限硬件水平下实时实现这种计算。优选地,通过使用该方案将图像帧投影到圆柱体空间,这将在下面进行描述。
如果通过使用反投影方案获得圆柱体空间的投影的结果,则如上所述,结果与式(5)相同,从而可针对圆柱体空间上的特定点获得适当的像素值。
I ( f tan u R , f v R cos ( u / R ) ) . . . ( 5 )
然而,难以仅通过固定点计算来获得式(5)。因此,在本发明中,为了解决实现传统浮点计算的问题,可按将式(5)近似为式(6)的方式来将式(5)改变成适合固定点计算。
( f tan u R , f v R cos ( u / R ) )
= ( f R sin ( u / R ) R cos ( u / R ) , f v R cos ( u / R ) )
= ( f R sin ( u / R ) R 2 - R 2 sin 2 ( u / R ) , f v R 2 - R 2 sin 2 ( u / R ) ) . . . ( 6 )
以下,在式(6)中实现近似u≈Rsin(u/R),可将圆柱体空间坐标的点(u,v)=(Rθ,v)表示为根据下面的式(7)定义的拍摄的图像。
( f u R 2 - u 2 , f v R 2 - u 2 ) . . . ( 7 )
近似式(例如,式(7))的最大优点是不用实数计算就可实现。不用实数计算就可计算平方根式。因此,在无法进行浮点计算的情况下,可按较简单的方式实现这种近似式。同时,根据下面的式(8)可定义R,以使输出图像的放大大约等于输入图像的放大。
R = f 2 + ( W 2 ) 2 . . . ( 8 )
最后,当在近似满足-W/2≤u≤W/2、-H/2≤v≤H/2的范围内(u,v)变成式(9)的值时,可获得投影到圆柱体空间的图像。即,可通过下面的式(9)的计算来获得投影到圆柱体空间的图像。
I ( f u R 2 - u 2 , f v R 2 - u 2 ) . . . ( 9 )
此外,如果执行以上计算的程序被实现为伪代码,则可被表示为下面的表(1)。
表1

另外,如上所述,尽管可按通过计算获得与图像的二维表面上的 I ( f u R 2 - u 2 , f v R 2 - u 2 ) 相应的像素值的方式获得与圆柱面上的(u,v)相应的像素值,但按通过使用y轴对称性、x轴对称性和原点对称性获得位于 I ( f - u R 2 - u 2 , f v R 2 - u 2 ) , I ( f u R 2 - u 2 , f - v R 2 - u 2 ) I ( f - u R 2 - u 2 , f - v R 2 - u 2 ) 的像素值的方式,不用单独计算就可获得与(-u,v)、(u,-v)和(-u,-v)相应的像素值。
另外,以下将简要描述只通过整数计算来产生的表的过程。在 R 2 - u 2 = z 的情况下,可通过对 R 2 - u 2 = z 的两边平方来获得u2+z2=R2,从而u2+z2=R2可以是一个圆的表达式。通常,u和z具有实数值。然而,为了表示圆,u和z必须总为整数,如图9所示。因此,基于以上描述的事实,优选地通过将Bresenham类型算法应用于本发明来获得根据本发明的图像投影所需的平方根。
详细地讲,为了通过将Bresenham类型算法应用于本发明来获得根据本发明的图像投影所需的平方根,首先,可如下面的式(10)来定义误差函数。
RadiusError ( z i , u i ) = | z i 2 + u i 2 - R 2 | . . . ( 10 )
在u和z存在于圆周上的情况下,如上所述定义的误差函数的值变成0。同时,在u和z不在圆周上的情况下,随着它们接近圆周,误差函数的值变成接近0的值。
参照图9,u的值总是增加1。同时,z的值等于先前值,或者是比先前值小1的值。通过使用该特性,用误差函数的z和z-1来代替u,而u的值增加1,并且将两个值进行相互比较,然后,采用可使误差函数较小的x值。可将这种方案示出为表2中公开的伪代码。
表2
ui+1=ui+1
Compare RadiusError(zi,ui+1)& RadiusError(zi-1,ui+1)
if RadiusError(zi,ui+1)zi+1=zi
else zi+1=zi-1
u和z的初始值(例如,u0和z0)分别是0和R。这是与黑颜色像素对应的位置。为了找到下一像素的位置,将与黑颜色像素的上边和左上边相应的坐标的值输入到如上描述定义的误差函数,并将获得的两个值进行相互比较。即,用1代替ui,用R和R-1代替zi,从而将误差函数的两个值进行相互比较。将误差函数的两个值中较小的一个中zi的值定义为zi+1的值。
在图9中,zi+1变成R。可通过这种计算来获得与每个u相应的z的值。因此,不需要直接获得平方根,如果输入了中u的值,则可获得相应z值(即,的值)。同样地,可获得根据本发明的图像投影所需的平方根。
同时,通过在步骤220使用当前输入图像和先前输入图像来确认拍摄设备的移动就是根据本发明检测帧的图像块之间的运动矢量。以下,将更详细地描述该方法。
作为一种匹配帧之间的图像块并检测它们之间的运动矢量的技术,可应用通常在运动图像(通常,广播图像)压缩技术(例如,MPEG-4、H.264等)中使用的运动估计技术。然而,因为实际全景图像拍摄使用预览图像,所以与理想广播图像相比,预览图像不具有预览帧之间的低的相关性和较高的曝光校正。
因此,在应用通常的运动估计技术的情况下,难以找到准确的匹配块。此外,通常的运动估计技术是基于有效压缩方案的技术,从而该技术需要非常复杂的计算方案(例如,用于检测运动矢量的方案),该技术方案将块(宏块)的大小进行再分。因此,需要一种适合于全景画面拍摄的具体情况的运动矢量检测方案。
因此,当捕获输入图像的先前帧和当前帧之间的运动时,通过使用预定区域中的图像块来捕获该运动。此时,不使用通常的运动估计技术,而是提出了考虑相机拍摄的具体环境的基于曝光校正的运动估计技术。此时,当执行拍摄操作时,以足够快以允许预览通常与计算操作同时操作的速度来进行获得运动矢量的计算。因此,为了减小计算量,可使用整个图像。另外,根据预览速度、对象的相关大小和距对象的距离,尽可能多地变化地控制用于找到运动矢量的参考块。由于预览图像的特性,预览图像的帧之间的相关性不高于压缩图像的帧之间的相关性。因此,为了使预览图像的帧之间的相关性最大化,可使用单个块搜索方法。
图10是详细示出图5的相机移动确认操作(例如,步骤220中的操作)的示例性步骤的流程图。以下,参照图10,将更详细地描述根据本发明的运动估计操作。在步骤222,设置具有可变形状的块,以获得当前帧和先前帧之间的运动矢量。
在预览图像中执行运动估计的情况下,具体地讲,在拍摄设备具有性能差的传感器并引起用户的手强烈抖动的情况下,如果应用了使用大小较小、与在运动图像压缩方法中使用的块类似的块(通常,具有4~16个像素大小的矩形块)的运动估计,则将块之间的矢量误差累加,从而难以找到准确的运动矢量值。因为块之间的矢量误差的累加,在本发明的示例性实施例中,使用少量大小相对大的块(例如,一个块)的方法,以找到使用的运动矢量值。
此时,通过使用预览装置的预览性能、对象的大小、距对象的距离和关于将被搜索的空间的距离信息来变化地控制一个块的大小。图11是示出在帧中被变化地确定的块的大小的示例的示图。在图11中,搜索范围(SR)是搜索区域,块大小(BK)是块的大小。
SR是用于搜索将与相应帧内的参考块匹配的块的区域,可将帧的整个区域设置为SR。然而,可将基于相应帧内的参考块的位置的适当的区域设置为SR,而不使用帧的整个图像。前面提到的可将适当的区域设置为SR的原因是因为预先阻止了对将被预测为不必要区域的区域(例如,帧的边缘)的搜索操作,以增加效率。
在本发明的示例性实施例中,可变化地设置这种SR和块的大小。例如,在拍摄短距离对象或具有相对大的大小的对象的情况下,如果块的大小变大,并且SR减小,则可获得更准确的运动矢量。另一方面,在拍摄长距离对象或具有相对小的大小的对象的情况下,如果块的大小变小,并且SR扩大,则可获得更准确的运动矢量。
另外,在拍摄设备的预览性能不好的情况下,例如,如果SR被过分扩大,则计算量增加。因此,找到运动矢量花费的时间长,从而帧的速度相对较慢。另外,即使获得准确的运动矢量,如果帧的速度慢以使帧之间的图像差较大,则由图像差引起的误差也可被累加。
因此,当在相机预览中提取运动矢量时,通过使用诸如对象检测器的方法,或通过使用自动输入信息(例如,焦距等)或来自用户的被动输入信息(可在用户设置信息中被预测的距离信息或对象信息,例如,短距离拍摄模式或风景模式、用户模式等)来获得与将被拍摄的对象有关的基本信息。基于该基本信息,可根据拍摄距离和对象的大小来设置SR。另外,可根据相应拍摄设备的预览性能考虑计算量来设置块的标准大小。
如果没有设置当前块的大小(例如,在第一次执行运动提取操作的情况下),则只执行一次在步骤222中设置具有不同大小的块的操作,并且使用具有最初设置的大小的块,直到相应的全景图像拍摄操作被顺序地完成。
然后,在步骤224,通过使用具有在步骤222中设置的大小的块来执行确认当前帧和先前帧之间的匹配块的操作。用于找到匹配块的方案基本上使用将被相互比较的块的像素的误差信息。在两块之间的误差最小的情况下,相应块被认为是匹配块。
可通过计算数学函数(例如,绝对差之和(SAD)、平方差之和(SSD)等)来获得误差信息。例如,可通过计算下面的式(11)来获得误差信息。即,可通过计算在步骤224中的运动画面压缩技术中通常使用的SAD和SSD来获得误差信息。
SAD

SSD

在上面的式(11)中,I1和I2分别是帧(即,先前帧和当前帧)内块的相应位置(将先前帧中参考块的像素位置定义为a、b,将当前块中将被搜索的块的像素位置定义为a+m、b+n)的像素值(亮度或每种颜色)。
然而,作为理想方案,可通过计算以上描述的函数来获得两块之间的误差信息。然而,在实际拍摄环境下,可存在彼此相邻的两帧(例如,从对象直接输入的图像帧)之间的曝光差异。因此,无法准确地获得两块之间的误差信息。因此,需要一种考虑曝光差异来获得误差信息的方法。因此,在本发明中,如式(12)所示,可通过使用考虑曝光差异的误差函数来获得两块之间的误差信息。
修改的SAD

修改的SSD

这里,I1和I2分别是帧(即,先前帧和当前帧)内的块的像素的平均值。
参照式(12),作为为了获得误差信息的本发明中提出的方案,以根据相应图像块的平均值校正每个帧的相应块的每个像素值的方式(以在上面的式(12)中排除平均值的方式)来执行曝光校正。
此外,因为在先前帧中固定了块的位置(即,参考块为一个),所以只一次就可获得I1。然而,为了找到将与先前帧的块最佳程度匹配的块,必须搜索具有相同大小的所有块。因此,每当执行这种搜索时,必须获得相应块的像素的平均值。具体地讲,对所有块计算I2(m,n)。
另外,在每次将块中所有像素相加并获得所有像素的平均值中需要大量计算。因此,本发明公开了一种通过使用整个图像减小计算量的方案。整个图像是从图像的左上端到相应坐标的像素构成的图像,整个图像的值是整个图像中包括的像素值的总和。例如,在图6A中,整个图像是由虚线指示的块区域的图像,整个区域的值表示区域中包括的像素的总和。具体地讲,Iintg(0,0)是(0,0)处的像素值,可通过计算Iintg(width-1,height-1)来获得给定图像的所有像素的总和。
当使用这种整个图像时,通过利用与期望区域的四个顶点相应的像素值之间的差和总和,可获得所述区域内的像素值的总和。可通过使用作为四个顶点的(a1,b1)、(a2,b2)、(a3,b3)、(a4,b4)的像素值来获得与图12B中由虚线指示的块区域相应的像素值的总和,如式(13)所示。
Iintg(a4,b4)+Iintg(a1,b1)-Iintg(a2,b2)-Iintg(a3,b3)...(13)
根据本发明的示例性实施例,在如上所述预先测量针对当前帧的整个图像之后,可通过使用这种整个图像来简单地获得块的所有像素的平均值,即I2(m,n)。
如果在步骤224中检查当前帧和先前帧之间的匹配块,则然后获得两块之间的运动矢量(即,与x轴相应的运动矢量作为mi,x,与y轴相应的运动矢量作为mi,y)。同样,可如上所述执行全景图像拍摄操作。同时,尽管在本发明中描述了详细的实施例,但在不脱离本发明的范围的情况下,可对这些实施例进行各种修改。
例如,为了以通常方式找到运动矢量,使用用于找到关于平面图像的运动矢量的方案。通过该方案,可在通常的压缩图像或广播图像的范围内获得较好结果。
然而,在获得运动矢量以执行全景图像拍摄的情况下,获得运动矢量的原因在于获得更准确的全景画面。
此外,优选地,可考虑设备的预览速度特性通过使用跳帧来获得运动矢量。具体地讲,在压缩运动画面的情况下,在每一帧中矢量信息是重要的,从而在每一帧中执行运动估计操作。然而,在用于根据本发明的全景画面拍摄的运动估计操作中,每一帧中的信息并非必然是重要的。
因此,根据本发明的另一示例性实施例,在根据每种情况适当地跳帧(例如,一帧或两帧)的同时执行运动估计操作。在这种情况下,可减小计算所用的时间量以及根据跳帧的计算量,以保证较大的搜索区域。同样,可执行更准确的运动矢量计算操作。
另外,尽管描述了在拍摄全景画面中由用户移动根据本发明的拍摄设备,但在根据本发明的拍摄设备装配有单独的移动设备的状态下,将没有任何改变的本发明应用于所述拍摄设备自动移动的情况是在本发明的精神和权利要求的范围内。另外,尽管描述了在拍摄全景画面中全景图像拍摄方向是水平方向或垂直方向,但将本发明应用于全景图像拍摄方向是用水平方向和垂直方向混合的方向的情况(在将构成全景画面的多个图像在垂直和横向方向上布置成拼接形状的情况下)是在本发明的精神和权利要求的范围内。另外,应该理解,除了以上描述的方式之外,还可以以各种方式来显示各种UI。
另外,本领域的技术人员将理解,可进行各种修改、添加和替换。因此,以上示例性实施例不限制本发明的范围。