全景处理的制作方法

xiaoxiao2020-7-22  7

【专利下载】Tel:18215660330

全景处理的制作方法
【专利摘要】本公开涉及在手持式个人电子设备中执行全景摄影处理技术的设备、方法和计算机可读介质。本文描述的全景摄影处理技术可由以下几个的一般性步骤来实现:1.)获取来自电子设备的图像传感器的图像流的图像数据;2.)在设备的显示器上实时显示该图像数据的缩放的预览版本;3.)对获取的图像数据执行“运动滤波”;4.)生成没有被所述“运动滤波”处理滤除的图像部分的全分辨率版本和较低分辨率版本;5.)将全分辨率图像部分和较低分辨率图像部分两者基本同时“缝合”在一起以创建全景场景;以及6.)基本同时地将较低分辨率图像部分的经缝合版本发送至设备的显示器上的预览区域,并将全分辨率图像部分的经缝合版本存储至存储器。
【专利说明】全景处理
[0001]相关申请的交叉引用
[0002]本申请与具有律师案卷号P10712US1 (119-0224US)、P10713US1 (119-0225US)、P10714US1(119-0226US)和P10715US1 (119-0227US)的共同转让申请相关,这些申请全都于2011年5月17日提交,并且这些申请全都通过引用全文结合在此。
【技术领域】
[0003]本公开的实施例一般地涉及全景摄影。本公开的实施例尤其涉及改善具有图像传感器的手持式个人电子设备的实时全景摄影处理的技术。
【背景技术】
[0004]全景摄影一般地可被定义为使用加长视野捕捉图像的摄影技术。示出的视野近似或大于人眼视野(例如,约160度宽75度高)的图像可被称为是“全景的”。由此,全景图像一般具有2:1或更大的宽高比,这意味着图像的宽至少是其高的两倍(或者反过来,在垂直全景图像的情况下,高是宽的两倍)。在某些实施例中,全景图像甚至可以覆盖高达360度的视野,即“全旋转”全景图像。
[0005]存在与拍摄视觉上吸引人的全景图像关联的诸多挑战。这些挑战包括诸如以下各项的摄影问题:由跨全景场景的照明条件差异引起的难以确定合适曝光设置;由全景场景内的对象运动引起的跨图像接缝的模糊;以及视差问题,即归因于相机围绕其透视中心(COP)以外的轴旋转而由连续捕捉的图像中全景场景内对象明显位置的明显位移或差异引起的问题。COP可被认为是由相机观察的视线所聚集的点。COP有时也被称为“入射光瞳”。取决于相机的镜头设计,入射光瞳在相机光轴上的定位可以在镜头系统之后、之内、甚至之前。通常要求一定量的预捕捉实验,并且使用具有相机滑动组件的可旋转三脚架布置来确保在全景场景的捕捉期间相机围绕其COP旋转。这类预备和计算是手持式个人电子设备和自由(ad-hoc)全景图像捕捉领域中所不期望的。
[0006]与拍摄视觉上吸引人的全景图像关联的其他挑战还包括诸如以下各项的后处理问题:正确对齐用于构造整个全景图像的各图像;用于构造整个全景图像的各图像的重叠区域间的融合(blending);挑选不会使得全景照片的重要部分摄影变形的图像投影校正(例如,矩形、圆柱形、墨卡托(Mercator));以及校正连续捕捉的图像之间的透视变化。
[0007]此外,摄影者在全景扫视期间跟踪他或她的行进也会是挑战性的,这是因为行进可能会导致扫视期间相机的视野可能会逐渐向上或向下偏移(在水平全景扫视的情况下)。某些现有的全景摄影系统在组成图像(constituent image)已被捕捉很久之后才组装各组成图像来创建合成全景图像,并且通常使用昂贵的后处理软件。如果捕捉的组成图像的覆盖范围被证明不足以组装合成全景图像,用户将无处求助。迄今为止,全景摄影系统尚无法在全景扫视期间同时生成全景图像的全分辨率版本同时向用户提供有意义的全景图像预览,由此也无法在用户完成全景扫视的基本同时准备好全景图像的全分辨率版本以供存储和/或查看。[0008]因此,需要一种对诸如移动电话、个人数字助理(PDA)、便携式音乐播放器、数码相机、以及膝上型和平板计算机系统的手持式个人电子设备上的全景照片的捕捉和处理进行改进的技术。通过利用对捕捉图像的全分辨率部分和较低分辨率部分两者进行操作的分割图形处理流水线,可以使用诸如本文描述的更高效的全景摄影处理技术来实现视觉上吸引人的全景摄影结果并且以无缝和直观的方式提供有意义的全景预览图像。

【发明内容】

[0009]在此公开的全景摄影技术被设计用于应对全景场景由手持式个人电子设备捕捉时对全景场景的处理,同时还在全景图像捕捉期间向用户提供有用的全景预览图像。本文描述的全景摄影技术可由以下几个的一般性步骤来实现:1.)从电子设备的图像传感器的图像流中获取图像数据(该图像流可以以随着用户跨全景场景摇摄设备而连续捕捉的图像帧的形式出现);2.)在设备的显示器上实时显示该图像数据的缩放的预览版本;3.)对获取的图像数据执行“运动滤波”(例如,使用从嵌入在该手持式个人电子设备内的位置传感器返回的信息来通知图像数据的处理);4.)生成没有被所述“运动滤波”处理滤除的图像部分(例如,“狭缝”或“切片”)的全分辨率和较低分辨率版本;5.)将全分辨率和较低分辨率图像“狭缝”或“切片”两者基本同时分别“缝合”在一起以创建全景场景。该缝合处理例如可以涉及依次处理的图像“狭缝”或“切片”之间的重叠区域内图像数据的对齐、几何学校正和/或融合;以及6.)基本同时地将较低分辨率图像“狭缝”或“切片”的经缝合版本发送至设备的显示器上的全景预览区域,并将全分辨率图像“狭缝”或“切片”的经缝合版本存储至存储器。归因于图像投影校正、透视校正和对齐等,合成的经缝合的全分辨率全景图像可能具有不规则形状。于是在期望时,可以在最终存储之前可选地将合成的经缝合的全景图像裁剪成矩形形状。如下将详细描述这些一般性步骤中的每一个。
[0010]1.图像获取
[0011]某些现代相机的图像传感器能够以每秒30帧(fps)的速率捕捉图像帧,也就是说,约每0.03秒捕捉一帧。在这一高图像捕捉速率并且给出用户拍摄一般全景照片的摇摄速度的情况下,由图像传感器所捕捉的图像数据中的大部分数据是冗余的,即,前后捕捉的图像帧中的图像数据是重叠的。实际上,正如下文将进一步描述的,在某些实施例中,在每幅图像帧已被捕捉之后仅保留该帧的一个窄“狭缝”或“切片”会是有利的。在某些实施例中,狭缝可以仅包括图像帧中央的12.5%。只要在依顺序捕捉的图像狭缝之间保留足够量的重叠(所需的重叠量可以取决于被用来将各图像缝合在一起的图像配准算法的能力,所述算法使用期望限制所需处理量的更少的重叠量,同时仍然生成令人满意的图像对齐),在此描述的全景摄影技术就能够在归因于大量不需要和/或冗余数据可被丢弃而以提升的效率进行操作的同时仍然创建视觉愉悦的全景结果。现代的图像传感器可以捕捉低动态范围(LDR)和高动态范围(HDR)图像两者,并且在此描述的技术也可被应用于上述两者。
[0012]2.缩放的预览
[0013]现代图像捕捉个人电子设备的用户已经变得习惯于具有当前正由设备捕捉的图像的现场全帧预览。通过将从设备的图像传感器返回的数据按比例缩减到设备的显示器的分辨率并将这一数据沿分割图形处理流水线的第一部分向下传送,设备的用户可以保持知晓设备的当前视野,并且能够实时地对相机设置和/或全景扫视的方向、速度等做出任何需要的调整。预览图像的缩放允许将更多的处理带宽用于同时沿分割图形处理流水线向下发送的其他图像数据,从而用于组装成合成全景图像和/或全景图像预览。
[0014]3.运动滤波
[0015]当前在手持式个人电子设备上生成自由全景图像期间所需面对的问题之一是保持成生成全景图像中实际使用的数据量与设备的处理能力能够应对的数据量相一致。通过使用基于在前帧配准、加速度变化以及来自设备内或以其他方式与设备通信的嵌入式位置传感器(例如,陀螺仪和/或加速度计)的相机旋转信息的变化的相机运动探索,就能够“滤除”由于相机位置缺乏足够改变而仅产生冗余图像数据的图像狭缝。这一滤波的计算强度不高,并且减少了实际被传递至全景图像处理例程的计算强度更高部分的图像狭缝的量。运动滤波还降低了全景图像处理例程的存储器占用空间。
[0016]4.图像划分
[0017]因为由以例如15帧每秒(fps)或30fps的帧速率操作的图像传感器捕捉了大量冗余数据,所以可以如上参考“运动滤波”所描述的那样,从全景摄影处理中丢弃来自图像传感器图像流的许多帧,同时还提供对正被捕捉全景场景的足够覆盖。此外,发明人已经意外发现通过仅对由“运动滤波”针对附加处理选择的每个图像帧的一部分(例如,每个所选图像帧的中央部分)进行操作,一些诸如桶形或枕形失真、镜头阴影、渐晕之类的光学伪像(靠近捕捉图像边缘愈发明显)会一并消失或消除。此外,对每个所选图像帧的部分进行操作可以为全景摄影处理创建更小的存储器占用空间,如下将进一步描述的,这在组装全分辨率全景图像时会变得重要。在某些实施例中,图像部分可以包括图像帧中央的约12.5%,并且在此被称为图像“狭缝”或“切片”。
[0018]5.图像缝合
[0019]根据在此描述的一个实施例,被选择用于包括在合成全景图像内的每个图像狭缝可以相继被配准(即,对齐)、在重叠区域内融合并且与其他被选图像部分缝合在一起以产生合成全景图像部分。所选的图像帧部分可被置于组装缓冲器内,其中可以确定图像间的重叠区域,并且可以根据融合公式(例如,线性、多项式或阿尔法融合公式)将重叠区域内的图像像素数据融合成最终合成图像区域。两个相继捕捉图像部分之间的融合尝试隐藏各帧之间的小差异,但还是会产生模糊该区域内的图像的结果。根据在此公开的一个实施例,可以对全分辨率和较低分辨率图像“狭缝”或“切片”两者基本同时进行缝合处理以创建两个版本的全景场景。
[0020]6.双重预览流水线
[0021]全景摄影处理可以将较低分辨率图像“狭缝”或“切片”的经缝合版本发送至设备的显示器上的预览区,并基本同时地将全分辨率图像“狭缝”或“切片”的经缝合版本存储至存储器。由此,在此公开的全景摄影处理的一个实施例可以在全景扫视期间生成全景图像的全分辨率版本的同时向用户提供有意义的全景图像预览,由此在用户完成全景扫视的基本同时准备好全景图像的全分辨率版本以供存储和/或查看。
[0022]于是,在此描述的一个实施例中,公开了一种图像处理方法,包括:获取第一图像;在第一时刻在显不器的第一区域内显不所述第一图像的第一缩放版本;将第一图像的中央部分的全分辨率版本存储在存储器中;在第一时刻在显示器的第二区域内显示第一图像的中央部分的第二缩放版本;获取第二图像;在第二时刻用所述第二图像的第一缩放版本代替所述显示器第一区域内的所述第一图像的第一缩放版本;将第二图像的中央部分的全分辨率版本与第一图像的中央部分的全分辨率版本缝合在一起以生成第一合成缝合图像,第一图像的中央部分与第二图像的中央部分共享重叠区域;在存储器中存储所述第一合成缝合图像;将第一图像的中央部分的第二缩放版本与第二图像的中央部分的第二缩放版本缝合在一起以生成第二合成缝合图像,第一图像的中央部分的第二缩放版本与第二图像的中央部分的第二缩放版本一起共享所述重叠区域;以及在第二时刻在显示器的第二区域内显示所述第二合成缝合图像。
[0023]在此描述的另一个实施例中,公开了一种图像处理方法,包括:接收由与设备通信的相机捕捉的图像流,该图像流包括全景场景;以及对于每个接收到的图像:将表示所述图像的数据的第一部分沿第一图形流水线向下发送,用以在所述设备处生成并显示所述图像的实时预览;以及确定是否将所述图像滤波,并且对于确定为不会被滤波的每个图像:将表示所述图像的数据的第二部分沿第二图形流水线向下发送,用以生成所述图像的全景预览的一部分,其中所生成的所述图像的全景预览的一部分被缝合至所述图像的全景预览以创建所述图像的合成全景预览,并且其中在所述设备处实时显示所述图像的合成全景预览。
[0024]根据在此描述的各实施例的用于手持式个人电子设备的全景摄影处理技术可由设备的硬件和/或软件直接实现,由此使得这些鲁棒的全景摄影处理技术可被方便地应用于具有合适的位置传感器和处理能力的许多电子设备,诸如移动电话、个人数字助理(PDA)、便携式音乐播放器、数码相机、以及膝上型和平板计算机系统。
【专利附图】

【附图说明】
[0025]图1示出了根据一个实施例的用于全景摄影的系统。
[0026]图2示出了根据一个实施例的用于在位置传感器的辅助下创建全景图像的处理。
[0027]图3示出了根据一个实施例的由电子设备捕捉的示例性全景场景。
[0028]图4示出了根据一个实施例的执行用于全景摄影的位置传感器辅助的运动滤波的处理。
[0029]图5A示出了根据一个实施例的由以恒定速度跨场景摇摄的电子设备捕捉的示例性全景场景。
[0030]图5B示出了根据一个实施例的由以非恒定速度跨场景摇摄的电子设备捕捉的示例性全景场景。
[0031]图6示出了根据一个实施例的图像部分,即图像“狭缝”或“切片”。
[0032]图7示出了根据一个实施例的利用特征检测的图像配准技术。
[0033]图8示出了根据现有技术的示例性缝合图像。
[0034]图9示出了根据一个实施例的包括图像狭缝的示例性缝合图像。
[0035]图10以流程图的形式示出了根据一个实施例的全景摄影处理技术。
[0036]图1lA示出了根据一个实施例的实时全景预览图像。
[0037]图1lB示出了根据一个实施例的用于全景摄影的示例性分割图形处理流水线。
[0038]图12示出了根据一个实施例的用于全景摄影的分割图形处理流水线系统。
[0039]图13示出了包括显示器的代表性电子设备的简化功能性框图。【具体实施方式】
[0040]本公开涉及用于在手持式个人电子设备中执行全景摄影处理技术的设备、方法和计算机可读介质。本文描述的全景摄影处理技术可采用以下几个一般性步骤来实现:1.)从电子设备的图像传感器的图像流中获取图像数据(该图像流可以以随着用户跨全景场景摇摄设备而连续捕捉的图像帧的形式出现);2.)在设备的显示器上实时显示该图像数据的缩放的预览版本;3.)对获取的图像数据执行“运动滤波”(例如,使用从嵌入在该手持式个人电子设备内的位置传感器返回的信息来通知图像数据的处理);4.)生成没有被所述“运动滤波”处理滤除的图像部分(例如,“狭缝”或“切片”)的全分辨率和较低分辨率版本;5.)将全分辨率和较低分辨率图像“狭缝”或“切片”两者基本同时分别“缝合”在一起以创建全景场景;以及6.)基本同时地将较低分辨率图像“狭缝”或“切片”的经缝合版本发送至设备的显示器上的预览区域,并将全分辨率图像“狭缝”或“切片”的经缝合版本存储至存储器。
[0041]在此公开的技术可应用于具有光学传感器的许多电子设备,诸如数码相机、数码摄像机、移动电话、个人数字助理(PDA)、便携式音乐播放器、以及膝上型和平板计算机系统。
[0042]出于清楚的考虑,没有在本说明书中描述实际实现的所有特征。当然将会理解的是,在任何这类实际实现的研发过程中(如同在任何研发项目中),必须做出众多决定以实现研发人员的特定目标(例如,与系统和商业相关的限制兼容),并且这些目标将会随着不同的实现而改变。还将会理解的是,虽然这些研发努力可能是复杂且费时的,但无非是从本公开获益的本领域普通技术人员进行的常规性工作。
[0043]在随后的描述中,将出于解释的目的阐述各种特定细节,由此提供对本发明原理的透彻理解。作为说明书的一部分,某些结构和设备可以按框图形式示出以避免混淆本发明。此外,本公开中使用的语言已主要出于可读性和指导目的而被选择,并且可能并未被选择用于对本发明主题进行划界或限定,对本发明主题的确定需要诉诸于权利要求书。本说明书中对“一个实施例”或“实施例”的引用意味着结合实施例所描述的具体特征、结构或特性包括在本发明至少一个实施例中,并且对“一个实施例”或“实施例”的多次引用不应被理解为必须全都指向同一实施例。
[0044]现在参考图1,示出了根据一个实施例的用于全景摄影的系统100。图1描绘的系统100可在逻辑上被分成三个分开的层。简单地作为从逻辑上组织全景摄影系统功能的方式来呈现这些层。实践中,各层可以位于同一设备内或跨多个设备分布。作为替换,某些层在某些实施例中可能根本不存在。
[0045]首先将描述相机层120。相机层120包括具有能够捕捉图像数据流126(例如,以各单个图像帧128的图像流或视频流的形式)的一个或多个图像传感器的个人电子设备122。在某些实施例中,图像可由设备122的图像传感器以30fps的速率捕捉。如图像流126中的图像帧128所示,树对象130已在设备122跨全景场景摇摄时由设备122捕捉。图1中的实箭头表示图像数据的移动。
[0046]接下来,将以常规术语描述全景处理层160。如上所述,系统100可以包括接收来自相机层120的图像流128作为输入的全景处理模块162。全景处理模块162可以优选地驻留于在设备122的操作系统内运行的应用层级上。全景处理模块162可以执行诸如如下的任务:图像配准、几何学校正、对齐以及“缝合”或融合。最后,全景处理模块162可选地可以在将最终全景图像发送至存储层180以供在存储单元182中永久或临时存储之前裁剪该最终全景图像。存储单元182可以包括例如一种或多种不同类型的存储器,例如高速缓存、ROM和/或RAM。
[0047]如上所述,执行全景摄影处理的设备可以包括某些位置传感器。位置传感器例如可以包括允许计算从帧到帧的相机设备的旋转变化的MEMS陀螺仪,或是MEMS加速度计,诸如超紧凑低功率三轴线性加速度计。加速度计可以包括感测元件以及能够通过串行接口提供测得的设备加速度的集成电路(IC)接口。与执行全景摄影处理的设备通信的运动滤波模块可以接收来自设备的位置传感器的输入。从位置传感器接收到的这类信息随后可由运动滤波模块使用以确定高效地构建合成全景场景将会需要图像流126中的哪些图像帧128。在某些实施例中,运动滤波可以仅保留由设备122的图像传感器捕捉的每大约三幅图像帧128中的一幅图像,由此降低那三分之二的处理的存储器占用空间。通过以智能高效的方式消除冗余图像数据(例如,通过从设备122的位置传感器接收到的位置信息的驱动),运动滤波模块可以具有滤除足够量的无关图像数据的能力,由此使得全景处理层160接收具有理想重叠的图像帧并且能够对图像数据的高分辨率和/或低分辨率版本执行实时全景处理,可选地在组装该全景图像时向设备122的显示屏实时显示该全景图像。
[0048]现参见图2,以流程图的形式高层级地示出了根据一个实施例的在位置传感器的辅助下创建全景图像的说明性处理200。首先,例如手持式个人电子设备的电子设备包括一个或多个图像传感器以及一个或多个位置传感器,使用其一个或多个图像传感器捕捉图像数据,其中捕捉到的图像数据可以采取图像帧的图像流的形式(步骤202)。接下来,对获取的图像数据执行运动滤波,例如使用相机的位置传感器来辅助运动滤波决定(步骤204)。一旦创建了经运动滤波的图像流,处理200就可以尝试在来自图像流的相继捕捉的图像帧之间执行图像配准(步骤206)。通过使用从设备内的位置传感器接收到的信息,图像配准处理206可被简化并变得更有效率,如在具有律师案卷号P10714US1 (119-0226US)的美国专利申请中进一步详细解释的那样,该申请通过上述引用而被并入。接下来,可以对捕捉的图像数据执行任何必须的几何学校正(步骤208)。对捕捉的图像帧进行几何学校正的需要可由例如相机在相继捕捉的图像帧之间的运动或旋转导致,上述运动或旋转在相机没有围绕其COP点旋转的情况下会改变相机的透视并导致视差错误。接下来,全景图像处理200可以对获取的图像数据执行“缝合”和/或融合(步骤210)。如果还剩有要被添加至合成全景图像的图像数据(步骤212),处理200可以返回至步骤202并且执行该处理200以获取要被处理并添加至全景图像的下一图像帧。如果相反地,在步骤212没有图像数据剩余,则最终图像可被可选地裁剪(步骤214)和/或存储在某一形式的易失性或非易失性存储器中(步骤216)。还应注意到的是,作为图像获取步骤的步骤202在实际情况下可在全景图像捕捉处理期间持续发生,即与步骤204-210的执行是同时发生的。于是,图2仅仅是出于说明的目的,而非指示捕捉图像数据的动作是在步骤204-210执行期间停止的分立事件。在相机设备的用户指示期望停止全景图像捕捉处理或在相机设备用尽分配给该处理的可用存储器的情况下,图像获取持续到步骤212。
[0049]现在已经从系统方面和步骤方面在高层级上描述了全景图像处理200,接下来将更详细地关注在图像捕捉设备本身的位置传感器的辅助下高效且有效地创建全景照片的处理,以及对捕捉图像的全分辨率部分和较低分辨率部分两者进行操作的分割图形处理流水线。
[0050]现转向图3,示出了根据一个实施例的由电子设备308捕捉的示例性全景场景300。如图3所示,全景场景300包括构成城市空中轮廓线的一系列建筑。城市空中轮廓线是经常期望以全景照片捕捉的广视野场景的一个例子。理想地,全景照片可以按照人眼在此场景下观看的近似方式来描绘场景,即具有接近180度的视野。如图3所示,全景场景300包括160度的视野。
[0051]用“x”标记的轴306表示相机设备308在捕捉全景场景300期间的定向移动轴。如图3所示,相机设备308在给定时间间隔trt5上相对于X轴向右平移,随着相机设备308沿着其全景路径移动来捕捉全景场景300的连续图像。在其他实施例中,全景扫视可以涉及相机设备绕轴旋转,或是相机绕轴旋转和相机沿轴平移的组合。如相机设备308的虚线版本所示,在如图3所示的假想全景场景捕捉期间,相机设备308将在时刻^处于位置308:,随后在时刻t2处于位置3082,以此类推,直到在时刻t5到达位置3085,全景路径将在该位置3085结束,并且相机设备308的用户将指示相机设备停止捕捉全景场景300的连续图像。
[0052]图像帧31(^-31(^表示由相机设备308在图3所示的假想全景场景捕捉期间在对应时刻和位置捕捉的图像帧。也就是说,图像帧SlO1对应于由相机设备308在位置308:和时刻h捕捉的图像帧。注意到相机设备308在位置SOS1时的视野(被标记为302J与用户304和正被捕捉的全景场景300之间的距离结合,决定了可以在单个图像帧310内捕捉的全景场景的量。在传统的全景摄影中,摄像者可以在多个不同的设定位置处拍摄全景场景的一系列独立照片,尝试完全覆盖该全景场景,并在同时实现相邻照片之间的足够重叠以使这些照片可被对齐并“缝合”在一起,例如使用在计算机或相机设备本身上运行的后处理软件。在某些实施例中,期望相邻照片间具有足量的重叠,以使得后处理软件可以确定相邻照片彼此对齐的方式,从而可以在随后将这些照片缝合在一起并且可选地在它们的重叠区域内进行融合以创建合成全景场景。如图3所示,单个帧310展现出与相邻图像帧约25%的重叠。在某些实施例中,取决于相机设备的存储器和处理限制以及所使用的图像配准算法,可能会期望相邻图像帧之间具有更大的重叠。
[0053] 在相机设备308是视频捕捉设备的情况下,相机可以具有每秒捕捉30帧或更多帧的能力。如下将会更详细解释的,以这一捕捉速率,大部分的图像数据是冗余的,并且提供比缝合软件创建合成全景图像所需的大得多的相邻图像间的重叠。因此,使用位置传感器辅助的全景摄影技术,设备可以智能且高效地确定哪些捕捉到的图像帧可以在合成全景图像的创建中使用以及哪些捕捉到的图像帧可以作为过度冗余被丢弃。
[0054]现参见图4,以流程图的形式示出了根据一个实施例的用于执行用于全景摄影的位置传感器辅助的运动滤波的说明性处理204。图4提供了如上参考图2描述的运动滤波步骤204的更多细节。首先,从例如手持式个人电子设备的电子设备的图像传感器获取图像帧,并且将该图像帧指定为针对运动滤波目的的“当前图像帧”(步骤400)。接下来,获取位置数据,例如使用设备的陀螺仪或加速度计(步骤402)。在此,处理204可能需要在时间上对从加速度计和/或陀螺仪获取的位置数据和获取的图像帧进行校正(即,时间同步),如果还没有进行的话。因为相机设备的图像传感器和位置传感器可能具有不同的采样速率和/或具有不同的数据处理速率,所以确切知晓给定的一组位置传感器数据链接到哪个或哪些图像帧会是重要的。在一个实施例中,处理204可将第一系统中断用作参考点以将图像数据与位置数据同步,并在随后依赖对各位置传感器的采样速率的知识继续保持图像数据与位置数据的正确时间同步。在另一个实施例中,可以使用周期性系统中断来更新或维持同步信息。[0055]接下来,运动滤波处理204可以使用位置传感器数据(以及来自图像配准处理206的反馈)确定当前图像帧和在前分析的图像帧(如果有的话)之间的旋转角(步骤406)。例如,运动滤波处理204可以通过对在前捕捉的图像帧持续时间的旋转角进行积分并且计算当前图像帧平均旋转角来计算旋转角。在某些实施例中,可以咨询“查找表”(LUT)。在这一实施例中,LUT可以具有各种旋转量的项,其中的旋转量与可能从合成全景图像的组装中滤除的多个图像相关。如果当前图像帧的旋转角已经超过了旋转阈值(步骤408),则处理204可以行进至图2所示处理流程图中的步骤206以执行图像配准(步骤410)。如果相反地,在步骤408,确定当前图像帧尚未超过旋转阈值量,则可以丢弃该当前图像帧(即,从合成全景图像的组装中滤除)(步骤412),并且处理204可以回到步骤400以获取下一个捕捉的图像帧,在此处理204可以重复运动滤波分析以确定所述下一帧是否值得为合成全景图像保留。换句话说,使用运动滤波,图像帧不是仅仅每三帧或每五帧地丢弃;相反地,要丢弃的图像帧由用于计算哪些图像帧可能会提供组装的合成全景图像的完全覆盖的运动滤波模块所确定。
[0056]现转向图5A,示出了根据一个实施例由以恒定速度跨全景场景摇摄的电子设备308捕捉的示例性全景场景300。图5A示出了可由运动滤波模块在恒定速度跨全景场景进行全景扫视期间作出的示例性决定。如图5A所示,全景扫视在设备位置308stakt开始并在位置308stcp结束。与轴306平行的虚线表示设备308全景扫视的路径,并由〃 (dx/dt>0,d2x/dt2=0)〃标记以指示在设备以某一速度移动时,其速度在该全景扫视期间不改变。
[0057]在图5A的示例性实施例中,设备308以例如30帧每秒的帧速率捕捉视频图像流500。由此并且出于例示的目的,持续2.5秒的扫视可以如图5A所示捕捉75幅图像帧502。图像帧502由下标范围在502^502^的编号标记,以指示图像帧502在全景场景300的全景扫视期间被捕捉的次序。正如可从捕捉的众多图像帧502可见,后处理软件仅需要图像帧的个别子集来组装合成全景照片。通过智能消除冗余数据,全景摄影处理200可以在设备308上更为平滑地运行,甚至允许设备308随着全景场景被捕捉实时提供预览并组装合成全景照片。
[0058]选择捕捉的图像帧以包括在合成全景照片的组装中的频率可以取决于许多因素,包括:设备308的视野302 ;相机设备308和正被捕捉的全景场景300之间的距离;以及相机设备308摇摄的速度和/或加速度。在图5A的示例性实施例中,运动滤波模块已经确定图像帧5022,50220) 50238) 50256和50274需要被包括在合成全景照片的构造中。换句话说,在图5A的示例中,大约每第18个捕捉的图像帧可被包括在合成全景照片的构造中。如下将参考图5B可见的,在由运动滤波模块选择用于包括的图像帧之间的捕捉的图像帧的数量可以大于或小于18,并且实际上可以基于例如相机设备308在扫视期间的速度、扫视期间的加速度或减速度、以及相机设备308在全景扫视期间的旋转,在整个全景扫视过程中或在全景扫视期间改变。
[0059]如图5A所示,相邻所选图像帧之间存在约25%的重叠。在某些实施例中,取决于相机设备的存储器和处理限制以及使用的图像配准算法,将会期望相邻所选图像帧之间更多的重叠。如下将参考图6更为详细描述的,使用足够大的帧每秒的捕捉速率,甚至可以通过仅分析每个捕捉到的图像帧的“狭缝”或“切片”而非整个捕捉到的图像帧来实现更高效率的全景摄影处理200。
[0060]现转向图5B,示出了根据一个实施例由以非恒定速度跨全景场景摇摄的电子设备308捕捉的示例性全景场景300。图5B示出了可由运动滤波模块在非恒定速度跨全景场景进行全景扫视期间作出的示例性决定。如图5B所示,全景扫视在设备位置308stakt开始并在位置308STOP结束。与轴306平行的虚线表示设备308全景扫视的路径,并由〃 (dx/dt>0,d2x/dt2幸0)〃标记以指示设备以某一非零速度移动且其速度沿着全景路径改变。
[0061]在图5B的示例性实施例中,设备308以例如30帧每秒的帧速率捕捉视频图像流504。由此并且出于例示的目的,持续2.1秒的扫视可以如图5B所示捕捉63幅图像帧506。图像帧506由下标范围在506^506^的编号标记,以指示图像帧506在全景场景300的全景扫视期间被捕捉的次序。
[0062]在图5B的示例性实施例中,运动滤波模块已经确定图像帧5062,5068,50626,50644和50662需要被包括在合成全景照片的构造中。换句话说,在由运动滤波模块选择的图像帧之间的捕捉的图像帧的数量可以基于例如相机设备308在扫视期间的速度、扫视期间的加速度或减速度、以及相机设备308在全景扫视期间的旋转,在整个全景扫视过程中或在全景扫视期间改变。
[0063]如图5B所示,设备308的移动在全景扫视的第一个四分之一期间较快(将全景扫视开始处虚线中较长的虚线与全景扫视结束处虚线中较短的虚线相比)。由此,运动滤波模块已经确定在选择图像帧5062之后,到相机设备308刚好已捕捉后面六个图像帧之时,相机已经移动通过了足够的全景场景300 (归因于相机设备的旋转、平移或两者的结合)而必须选择图像帧5068以包括在合成全景照片内。在捕捉了图像帧5068之后,相机设备308在全景扫视期间的移动减慢到与上述参考图5A描述的全景扫视的步调更为类似的水平。由此,运动滤波模块可以再次确定每18个帧的捕捉是否能提供足够的全景场景覆盖。由此,选择图像帧50626,50644和50662以包括在合成全景照片的构造内。通过实时对相机设备308的运动做出反应,全景摄影处理200可以智能且高效地选择图像数据以发送至全景摄影处理200中计算量更大的配准和缝合部分。换句话说,运动滤波动作发生的速率可以与设备在图像捕捉期间加速和/或旋转的速率直接相关。
[0064]如上所述,现代图像传感器能够以相当高的捕捉速率(例如,30帧每秒)捕捉相当大的图像(例如,八百万像素的图像)。给定平均全景照片的摇摄速度,这些图像传感器就能够在极短的时间内产生极大量的数据(虽然不是必须处理的数据)。这样产生的大部分图像数据在相继捕捉的图像帧之间具有大量的重叠。由此,发明人就已意识到可以仅对每个所选图像帧的一部分(例如,图像帧的“狭缝”或“切片”)进行操作,这样可获得更高的效率。在一个优选实施例中,狭缝可以包括每幅图像帧中央的12.5%。
[0065]现转到图6,示出了根据一个实施例的图像“狭缝”或“切片”604。在图6中,业已经由标记为602:-60?的所选图像帧序列捕捉了全景场景600。正如以上参考运动滤波所讨论的,标记为602:-6024^所选图像帧可以表示实现全景场景600的一部分的全覆盖所需的图像帧。标记线606指示了全景场景600中与第一捕捉图像帧602:相对应的部分。每个捕捉图像帧602的中央部分604表示将被用于构建合成全景照片的所选图像狭缝或切片。如图6所示,图像狭缝包括图像帧中央的约12.5%。图像帧602的阴影区域可以作为其他捕捉图像数据的过度冗余而被类似地丢弃。根据在此描述的一个实施例,标记为601-601的每个所选图像狭缝可被相继对齐,缝合在一起,并且在其重叠区域内被融合,以产生合成全景图像部分608。部分608表示在四个图像狭缝604-601中捕捉的全景场景区域。此外,发明人已经意外发现通过仅对由运动滤波针对附加处理选择的每个图像帧的一部分(例如,每个所选图像帧的中央部分)进行操作,一些诸如桶形或枕形失真、镜头阴影、渐晕之类的光学伪像(靠近捕捉图像边缘愈发明显)会一并消失或消除。此外,仅对每个所选图像帧的部分进行操作可以为全景摄影处理200创建更小的临时存储器占用空间,如下将进一步描述的,这在组装全分辨率全景图像时会变得重要。
[0066]现将以高层级描述如在位置传感器辅助的全景摄影的一个实施例中所应用的图像配准处理206。有关该图像配准处理的进一步的细节在具有律师案卷号N0.P10714USl(119-0226US)的美国专利申请中有着进一步详细解释,该申请通过上述引用并入。
[0067]于是,以一般性的术语,该配准处理206可以获取要被配准的两幅图像(或图像狭缝),并在随后将各幅图像分割成多个分段。除了图像信息之外,处理206还可以获取与要被配准的图像帧相对应的位置信息。通过使用例如包括特征检测算法(或,交叉相关算法)的图像配准算法,可以为图像的每个分段计算搜索矢量。分段搜索矢量可被定义为表示转换的矢量,该转换将会需要被应用给来自第一图像的所述分段以给出其在第二图像中的位置。一旦搜索矢量被算出,处理206就可以考虑从设备的位置传感器获取的位置信息,并且丢弃其中算出的搜索矢量与获取的位置数据不一致的分段的任何搜索矢量。也就是说,处理206可以丢弃与位置信息指示的移动方向相反或基本相反的任何搜索矢量。例如,如果位置信息指示相机已经在相继图像帧之间向右旋转并且该图像内的对象向右移动(即,在给定相机移动的情况下与期望的方向相反)或者甚至是从一张捕捉图像到下一张捕捉图像保持不动,则处理206可以确定该特定分段是否表示异常亦或是无用的搜索矢量。于是可以从整个图像配准计算中丢弃与给定位置传感器信息的情况下的期望运动相反的分段搜索矢量。
[0068]现在转向图7,示出了根据一个实施例的位置信息辅助的特征检测。在图7中,示出第一帧700并将其标记为〃帧1〃,并且示出第二帧750并将其标记为〃帧2〃。帧I表示在相机摇摄移动至右侧期间紧接在帧2之前或接近紧接在帧2之前捕捉的图像。由此,图像中固定对象的期望运动将会是相对于图像的观察者向左。于是,与相机运动方向相反的局部主体运动将会是向右(或者在对象相对于相机正以相同速度运动的情况下甚至看上去是固定的)。当然,局部主体运动可以处于许多方向内,具有任意速度并位于整个图像上。做出的重要观察在于局部主体运动不取决于相继捕捉图像之间的多数运动,并且由此局部主体运动会妨碍图像配准计算而不是辅助图像配准计算。
[0069]现将对位于帧I和帧2中的五个示例性特征(编号为1-5)的搜索矢量进行更详细分析。特征I和2对应于全景场景中建筑物之一的边或角。如帧2中所示,这两个特征在两个帧之间向左移动。这是在给定相机方向向右运动的情况下的预期移动。特征3类似地表示在给定相机运动方向的情况下已经在帧之间以预期方向移动的固定特征,例如树。特征4和5对应于鸟的翼尖附近的边缘。随着全景场景被捕捉,这只鸟可能以相机的运动方向飞行,由此使得针对特征4和5计算的搜索矢量指向右,与特征1、2和3的方向相反。这类局部主体运动可能会劣化图像配准确定,这是因为它并未实际表明从帧I至帧2的整体平移矢量。由此并且使用从捕捉全景场景的设备内的位置传感器接收到的提示,可以从图像配准确定中丢弃这些特征(或者更确切地,围绕这些特征的图像数据的区域)。
[0070]讨论现将转至用于全景摄影的图像缝合处理的一般性概览。该图像缝合处理在具有律师案卷号N0.P10715US1 (119-0227US)的美国专利申请中有着进一步详细解释,该申请通过上述引用并入。首先,缝合处理210获取要被缝合在一起的两个或更多个图像帧并将其布置在例如组装缓冲器内以用于对其进行处理。在全景摄影处理200的这一点处,如果期望并且如上根据各实施例所述,这两幅图像可能已经被运动滤波、配准和几何学校正
坐寸o
[0071]在某些全景摄影后处理软件系统中,缝合处理210的部分包括在两个相继捕捉图像帧之间的重叠区域内的融合以尝试隐藏帧之间的小差异。处理210可以根据许多合适的融合方程来对图像间重叠区域内的图像数据进行融合。例如,可以基于正被融合的像素相距相关源图像的中心的距离,根据阿尔法融合方案或简单线性或多项式融合函数来跨该重叠融合区域融合图像数据。最后,可将合成的缝合图像(包括在前图像、当前图像和融合的重叠区域)存储在相机设备本身或别处的存储器上。
[0072]现参考图8,示出了根据现有技术的示例性的经缝合全景图像800。图9中示出的全景图像800包括来自如下三幅不同图像的图像数据:图像A、图像B和图像C。每幅图像的轮廓由粗黑线示出,并且每幅图像的范围由具有相应图像标记的波浪括号示出。此外,还用具有相应标记“A/B重叠”和“B/C重叠”的波浪括号示出图像中的重叠区域。在全景图像800中从左向右移动,存在包括仅来自图像A的图像数据的区域(标记为“A”),之后是包括来自图像A和B两者的融合图像数据的重叠区域(标记为“A/B”),之后是包括仅来自图像B的图像数据的区域(标记为“B”),之后是包括来自图像B和C两者的融合图像数据的重叠区域(标记为“B/C”),而最后是包括仅来自图像C的图像数据的区域(标记为“C”)。
[0073]现在参考图9,示出了根据一个实施例的由图像狭缝组成的示例性的经缝合全景图像900。图9中示出的全景图像900包括来自如下九幅不同图像的图像数据:狭缝A-狭缝I。注意到虽然由图像狭缝组成的全景图像900包含有来自更多个尺寸更小的组成图像部分的信息,但是图像800和900中捕捉的全景场景的量是相同的。如上所提到的,图像狭缝的使用可以从临时存储器占用空间观点和处理观点两者提供改善。
[0074]现参考图10,以流程图的形式示出了根据一个实施例的全景摄影处理技术。首先,处理1000通过从图像传感器的图像流获取下一图像开始(步骤1002)。其随后可以在设备的显示器上实时显示该图像帧的缩放的预览版本,使得用户知晓相机设备的当前视野的范围(步骤1004)。此处,处理1000可以通过运动滤波模块馈入图像数据,并且如上参考图4描述执行运动滤波处理204 (步骤1006)。针对每个捕捉的图像帧,可以做出是保持还是丢弃图像帧的决定(步骤1008)。如果在步骤1008例如因冗余将图像丢弃,处理1000可以返回至步骤1002并且获取来自图像流的下一图像帧以使其可以类似地由运动滤波模块预览和分析。如果相反在步骤1008确定该图像帧是合成全景图像充分覆盖全景场景所必须的,则处理1000可以前进至生成图像部分(步骤1010)。在一个实施例中,该图像部分可包括一个全分辨率的图像“狭缝”或“切片”。在某些实施例中,该图像部分可以包括图像帧的中央四分之一。
[0075]在处理1000的这一点处,图像数据可以沿两个分开的路径向下行进。沿着一个路径,处理1000前进至步骤1012,其中可以生成该图像部分的较低分辨率版本。当前图像部分的这一较低分辨率版本随后可以与任何在前组装的较低分辨率图像部分缝合在一起以创建较低分辨率的全景图像预览(步骤1014)。随着每个引入的较低分辨率图像部分与增长的全景图像预览缝合在一起,合成全景预览图像可被发送至设备的显示器以向用户提供当前正捕捉的全景图像的实时或接近实时的进展指示(步骤1016)。在某些实施例中,增长的全景图像预览可以与上文步骤1004中涉及的缩放的图像的预览版本在设备的显示器上重叠。
[0076]回到步骤1010,全分辨率图像部分数据可以沿其向下行进的第二路径前进至步骤1018。在某些实施例中,图像数据可以基本同时地沿这两个路径向下行进(即,从步骤1010到步骤1012和1018)。在步骤1018,处理1000可以将全分辨率图像部分数据图像与任何在前组装的全分辨率图像部分缝合在一起以创建全分辨率全景图像。随着每个引入的全分辨率图像部分与增长的全景图像缝合在一起,合成全景图像可被存储在设备存储器(易失性或非易失性)中,从而在在全景扫视已由用户完成之时,合成全分辨率全景图像就已经被组装、存储,并且准备好由用户查看或进行其他操纵(步骤1020)。通过将全图像帧的分开的缩放版本实时发送至设备的显示器,同时使用运动滤波并对图像部分执行缝合,在此描述的全景摄影处理200可以向用户提供包括对正被捕捉的全景场景的实时进展的反馈、同时基本实时地执行图像缝合的无缝用户体验,而这一效果在前被认为是处理强度太高而无法使用手持式个人电子设备实现的。
[0077]现在参考图11A,示出了根据一个实施例的实时全景预览图像1102。如图1lA所示,设备308用于沿着X轴306从时刻h持续至t5的全景扫视。在时刻t5,设备308的视野由箭头1108表示。由此,全景场景300在设备308的视野1108内的部分被作为全屏预览图像1100显示在设备308的显示器上。除了该全屏预览图像1100之外,全景预览图像1102也重叠在设备308的显示器上。全景预览图像1102表示在时刻和t5之间已被设备捕捉的整个组装的全景图像。如上参考图10提及的,在某些实施例中,全景预览图像1102可以包括来自由设备308的图像传感器捕捉的图像帧的多个经缝合的较低分辨率图像部分。在向用户显示该较低分辨率全景预览图像的同时,可以“在后台”由设备中的处理器将各图像部分的全分辨率版本组装并缝合在一起。全景预览窗口 1104表示全景预览图像1102中与当前正被显示的预览图像1100相对应的部分。箭头1106指示(仅出于说明目的)全景扫视方向,以及由此的全景预览图像增长的方向。如果用户在全景扫视期间使相机设备移动方向反转,或以其他方式覆盖该场景的已被捕捉部分,则运动滤波模块可以确定这些数据是冗余的并且跳过处理步骤206-210。
[0078]现在参考图11B,示出了根据一个实施例的用于全景摄影的示例性分割图形处理流水线1150。流水线1150的顶部是相机层120 (首先参考图1介绍的)。在该相机层中表示的是由相机设备308的图像传感器捕捉的示例性全分辨率图像。在图1lB的例子中,全分辨率图像具有1024像素宽乘768像素高的示例性尺寸。实践中,图像传感器可以捕捉大得多的图像,例如八百万像素图像,其可以具有诸如3456像素宽乘2304像素高的尺寸。在图IlB中,示例性全分辨率图像沿着分割图形处理流水线向下发送至样本缓冲处理器(SBP)1152,其中该处理流水线上的一个路径生成用于在设备的显示器上预览的缩放的图像,而另一路径则将该图像数据发送至运动滤波模块142。虽然用于预览的缩放图像可以按512像素宽乘384像素高的尺寸示出,但是原始图像传感器数据可以以适于显示器尺寸和设备的显示器分辨率的任意因素缩放。缩放的预览图像可由SBPl 152直接发送至设备308以作为预览图像1100实时显示。
[0079]图像数据的被发送至运动滤波模块142的部分可以根据如上参考图4描述的运动滤波例程来处理。当运动滤波模块确定需要将给定图像帧包括在合成全景图像内时,分割图形处理流水线就可以生成全分辨率图像“狭缝”或“切片”。如图1lB所示,该全分辨率狭缝具有256像素宽乘768像素高的尺寸。换句话说,该全分辨率狭缝具有与由图像传感器捕捉的全分辨率图像相同的高度,但仅具有其四分之一的宽度。在其他实施例中,狭缝甚至可以更窄,例如全分辨率捕捉图像宽度的八分之一。一旦该全分辨率狭缝已由SBP1152创建,则包括该全分辨率狭缝的图像数据部分就可被发送至全景处理层160。
[0080]在全景处理层160,可以基本同时执行两个分开的缝合处理。在一个缝合处理中,可以将该全分辨率狭缝与在前接收并缝合的全分辨率狭缝缝合在一起。合成全分辨率全景图像于是可被存储在存储层180的存储单元182中。在另一缝合处理中,可以生成狭缝的较低分辨率版本。如图1lB所示,该狭缝的较低分辨率版本具有26像素宽乘77像素高的尺寸。换句话说,该较低分辨率狭缝具有全分辨率狭缝的十分之一宽度和十分之一高度。由此,可以将该较低分辨率狭缝与在前接收并缝合的较低分辨率狭缝缝合在一起并将其以全景预览图像1102的形式实时显示给设备。归因于全景预览图像使用的较低分辨率图像狭缝的相对较小的尺寸,这一处理可以凭借比全分辨率缝合处理少得多的处理能力来完成。通过对图像狭缝进行操作,处理200可以具有处理自由的全景扫视(即无需预定义开始和停止时刻的全景扫视)同时还提供显示完整全景扫视的全景预览图像并且在后台进行全分辨率全景图像创建的能力。
[0081]现在参考图12,示出了根据一个实施例的用于全景摄影的示例性分割图形处理流水线系统1200。如上参考图1描述的全景摄影系统中的那样,相机设备122包括能够捕捉图像数据流126 (例如,以各单独图像帧128的图像流或视频流的形式)的一个或多个图像传感器。如图12所示,设备122还包括位置传感器124。位置传感器124例如可以包括允许计算从帧到帧的相机设备的旋转变化的MEMS陀螺仪,或是能够通过串行接口提供测得的设备加速度的MEMS加速度计。如图像流126中的图像帧128所示,树对象130已在设备122跨全景场景摇摄时由设备122捕捉。图12中的实心箭头表示图像数据的移动,而虚线箭头则表示描述实际图像数据的元数据或其他信息的移动。
[0082]接下来,将描述样本缓冲处理(SBP)层1152。SBP层1152可以包括接收来自设备122的位置传感器124的输入146的运动滤波模块142。从位置传感器124接收到的这类信息随后由运动滤波模块142使用以确定将要使用图像流126中的哪些图像帧128来构建合成全景场景。通过分析示例性的经运动滤波的图像流144可知,运动滤波仅保有由设备122的图像传感器捕捉的每大约三个图像帧128中的一个图像帧。通过以智能高效的方式消除冗余图像数据(例如,通过从设备122的位置传感器124接收到的位置信息的驱动),运动滤波模块142可以具有滤除足够量的冗余图像数据的能力,由此使得全景处理层160接收具有理想或接近理想重叠的图像帧,并且因此能够对图像数据的高分辨率和/或低分辨率版本实时执行全景处理,可选地可在组装该全景图像预览1102时向与设备122通信的显示屏1204实时显示该全景图像预览1102。
[0083]全景处理层160如上所述具有接收来自SBP层1152的经运动滤波的图像流144作为输入的全景处理模块162。全景处理模块162可以优选地驻留于在设备122的操作系统内运行的应用层级上。全景处理模块162可以执行诸如如下的任务:如上参考图10、11A和IlB所述的那样,以基本同时的方式对全分辨率和较低分辨率图像部分两者进行图像配准、几何学校正、对齐、缝合和融合。
[0084]如上所讨论的,较低分辨率的全景图像预览可以采用全景图像预览覆盖1102的形式而被直接发送至显示层1202,由此可以实时或接近实时地在显示器1204上显示。全分辨率全景图像可以由全景处理模块162类似地组装。最后,当用户已经指示他或她完成对全景图像的捕捉时,全景处理模块162可以可选地在将最终全景图像发送至存储层180以在存储单元182中永久或临时存储之前裁剪该最终全景图像。由于使用在此描述的技术获得的高效性,全景图像可以在正被组装的同时实时地在设备上存储和/或显示。这类存储器灵活性还允许用户定义进行中的全景扫视的起始点和停止点,甚至允许大于360度的全景旋转。
[0085]全景处理模块162还可以向运动滤波模块142提供反馈图像配准信息164以允许运动滤波模块142更为精确地做出关于将设备位置移动与图像流中相继图像帧之间的重叠量相关的决定。该反馈信息还可允许运动滤波模块142更高效地选择置于经运动滤波的图像流144内的图像帧。该反馈处理在具有律师案卷号N0.P10714USl(119-0226US)的美国专利申请中有着进一步详细解释,该申请通过上述引用并入。
[0086]现参考图13,示出了根据一个说明性实施例的包括显示器1300的代表性电子设备(例如相机设备308)的简化功能框图。电子设备1300可以包括处理器1316、显示器1320、接近传感器/环境光传感器1326、麦克风1306、音频/视频编解码器1302、扬声器1304、通信电路1310、位置传感器1324、图像传感器和相关联的相机硬件1308、用户接口 1318、存储器1312、存储设备1314和通信总线1322。处理器1316可以是任何合适的可编程控制设备,并且可以控制许多功能的操作,诸如图像元数据的生成和/或处理,以及由电子设备1300执行的其他功能。处理器1316可以驱动显示器1320并且可以从用户接口 1318接收用户输入。诸如具有ARM? V7-A架构的Cortex? A8之类的嵌入式处理器提供可被用于执行所公开技术的多功能且鲁棒的可编程控制设备。(CORTEX?和ARM?是英国ARM有限公司的注册商标。)
[0087]存储装置1314可以存储媒体(例如,图像和视频文件)、软件(例如,用于实现设备1300上的各种功能)、偏好信息、设备简档信息、和任何其他合适的数据。存储设备1314可以包括用于实体地记录图像数据和程序指令的一个或多个存储介质,包括例如硬盘驱动器、诸如ROM的永久性存储器、诸如RAM的半永久性存储器、或高速缓存。程序指令可以包括由任何期望语言(例如,C或C++)编码的软件实现。
[0088]存储器1312可以包括可用以执行设备功能的一个或多个不同类型的存储器。例如,存储器1312可以包括高速缓存、ROM和/或RAM。通信总线1322可以提供用于向或从至少存储设备1314、存储器1312和处理器1316传输数据或在它们之间传输数据的数据传输路径。用户接口 1318可以允许用户与电子设备1300交互。例如,用户输入设备1318可以采取多种形式,诸如按钮、小键盘、拨号盘、滚轮或触摸屏等。
[0089]在一个实施例中,个人电子设备1300可以是能够处理并显示诸如图像和视频文件等媒体的电子设备。例如,个人电子设备1300可以是诸如移动电话、个人数字助理(PDA)、便携式音乐播放器、监视器、电视、膝上型计算机、桌上型计算机和平板计算机、或其他合适的个人设备的设备。
[0090]对优选实施例和其他实施例的在前描述并不旨在限制或限定由 申请人:设想的本发明概念的范围或可应用性。作为一例,虽然本公开关注手持式个人电子设备,但将会理解的是,本公开的教导也能应用于诸如传统数码相机的其他实现。作为公开在此包含的本发明的概念的交换, 申请人:期望得到由所附权利要求限定的全部专利权。因此,所附权利要求旨在最大程度上包括在所附权利要求或其等效方案的范围内的所有修改和变更。
【权利要求】
1.一种图像处理方法,包括: 获取第一图像; 在第一时刻在显示器的第一区域内显示所述第一图像的第一缩放版本; 将第一图像的中央部分的全分辨率版本存储在存储器中; 在第一时刻在显示器的第二区域内显示所述第一图像的中央部分的第二缩放版本; 获取第二图像; 在第二时刻用所述第二图像的第一缩放版本代替所述显示器的第一区域内的所述第一图像的第一缩放版本; 将第二图像的中央部分的全分辨率版本与第一图像的中央部分的全分辨率版本缝合在一起以生成第一合成缝合图像,第一图像的中央部分与第二图像的中央部分共享重叠区域; 在存储器中存储所述第一合成缝合图像; 将第一图像的中央部分的第二缩放版本与第二图像的中央部分的第二缩放版本缝合在一起以生成第二合成缝合图像,第一图像的中央部分的第二缩放版本与第二图像的中央部分的第二缩放版本一起共享所述重叠区域;以及 在第二时刻在显示器的第二区域内显示所述第二合成缝合图像。
2.如权利要求1所述的方法,其中获取第一图像的动作包括: 由图像传感器捕捉场景的全分辨率图像;以及 将所述全分辨率图像存储在存储器中。
3.如权利要求1所述的方法,其中在显示器的第一区域内显示所述第一图像的第一缩放版本的动作包括:在图像捕捉设备的预览显示器的第一区域内显示所述第一图像的第一缩放版本。
4.如权利要求1所述的方法,其中将第一图像的中央部分的全分辨率版本存储在存储器中的动作包括:将所述第一图像的约12.5%存储在所述存储器中。
5.如权利要求1所述的方法,其中所述第一合成缝合图像和所述第二合成缝合图像被基本同时生成。
6.一种可编程控制设备可读的程序存储设备,包括其上存储的用于使得所述可编程控制设备执行如权利要求1所述的方法的指令。
7.如权利要求6所述的程序存储设备,还包括其上存储的用于使得所述可编程控制设备执行如权利要求5所述的方法的指令。
8.—种电子设备,包括: 存储器; 图像传感器; 位置传感器; 通信耦接至所述存储器的显示器;以及 通信耦接至所述存储器、显示器、位置传感器和图像传感器的可编程控制设备,其中所述存储器包括用于使得所述可编程控制设备执行如权利要求1所述的方法的指令。
9.如权利要求8所述的电子设备,其中所述存储器还包括用于使得所述可编程控制设备执行如权利要求5所述的方法的指令。
10.一种图像处理方法,包括: 接收由与设备通信的图像传感器捕捉的图像流,所述图像流包括全景场景;以及 对于每个接收到的图像: 将表示所述图像的数据的第一部分沿第一图形流水线向下发送,用以在所述设备处生成并显示所述图像的实时预览;以及 确定是否将所述图像滤波,并且对于确定为不会被滤波的每个图像: 将表示所述图像的数据的第二部分沿第二图形流水线向下发送,用以生成所述图像的全景预览的一部分, 其中所生成的所述图像的全景预览的一部分被缝合至所述图像的已有的全景预览,以创建所述图像的合成全景预览,并且 其中在所述设备处实时显示所述图像的合成全景预览。
11.如权利要求10所述的方法,其中确定将特定图像滤波至少部分基于在所述设备处接收到的位置信息。
12.如权利要求10所述的方法,其中所述图像的实时预览和所述图像的全景预览被同时显示在显示器上。
13.如权利要求10所述的方法,其中所述图像的全景预览重叠在所述图像的实时预览上。
14.如权利要求10所述的方法,其中所述第二部分包括所述图像的约12.5%。
15.如权利要求14所述的方法,其中所述第二部分进一步包括所述图像中央的约12.5%。
16.如权利要求10所述的方法,还包括: 使用所述第二图形流水线生成所述场景的全景图像的一部分;以及 将所生成的所述全景图像的一部分附加至所述场景的所述全景图像, 其中所述场景的所述全景图像具有比所述图像的所述全景预览更高的分辨率。
17.如权利要求16所述的方法,还包括将所述场景的所述全景图像存储至存储器。
18.如权利要求16所述的方法,其中所生成的所述全景图像的一部分具有与相机的全分辨率基本相同的分辨率。
19.如权利要求16所述的方法,其中所述场景的所述全景图像具有与相机的全分辨率基本相同的分辨率。
20.如权利要求16所述的方法,其中所述实时预览包括所述图像的缩放版本。
21.如权利要求20所述的方法,其中所述实时的缩放版本具有与所述设备的显示器的分辨率基本相同的分辨率。
22.如权利要求16所述的方法,其中所生成的所述图像的全景预览的一部分具有基本小于所述图像的分辨率。
23.一种可编程控制设备可读的程序存储设备,包括其上存储的用于使得所述可编程控制设备执行如权利要求10所述的方法的指令。
24.如权利要求23所述的程序存储设备,还包括其上存储的用于使得所述可编程控制设备执行如权利要求16所述的方法的指令。
25.—种电子设备,包括:存储器; 图像传感器; 位置传感器; 通信耦接至所述存储器的显示器;以及 通信耦接至所述存储器、显示器、位置传感器和图像传感器的可编程控制设备,其中所述存储器包括用于使得所述可编程控制设备执行如权利要求10所述的方法的指令。
26.如权利要求25所述的设备,其中所述存储器还包括用于使得所述可编程控制设备执行如权利要求16所述的方法 的指令。
【文档编号】G06T3/40GK103534727SQ201280023138
【公开日】2014年1月22日 申请日期:2012年4月11日 优先权日:2011年5月17日
【发明者】N·伯加尔, F·多普克 申请人:苹果公司

最新回复(0)