全景图像的实时预览的制作方法

文档序号:2726204阅读:541来源:国知局
专利名称:全景图像的实时预览的制作方法
全景图像的实时预览背景技术领域本方面涉及全景图像的构建,尤其涉及在捕获构建全景图像时所用的图像期 间向用户提供实时交互辅助的诸如静态数码相机或数码摄像机的图像捕捉设备。相关技术一般而言,马赛克全景图像是通过结合多个重叠的图像帧来在一个或多个维 度扩展以生成全景的图像。结果,全景图像通常大于常规图像捕捉设备(诸如静态 数码相机或数码摄像机)能够在单个图像帧中捕捉的尺寸。己经开发了许多用以生成这种全景图像的常规技术。例如,基本方法是简单 地拍摄多个规则图片或视频图像以便覆盖整个所需査看空间。然后,使用许多常规 图像"马赛克"或"拼接(stitch)"算法中的任一种将这些图像对齐并合成为完整 的全景图像。早期拼接方案通常要求小心控制相机的运动以便得到图像之间的已知重叠。 然而,最近的拼接方案允许用户如此拍摄照片用以任意次序拍摄的图片来覆盖随 机的2D场。在任一情形中,如本领域技术人员所公知的,这种系统通常摄取由静 态数码相机或数码摄像机捕捉的一组图像并对这些图像进行后处理操作,包括例如对齐、合成、去重影(deghost)、重叠区域混合、自动调节色彩、亮度、对比度等以生成马赛克图像,然后这些图像通常被剪切成矩形区域或帧以创建最终的全景图 像。然而,这种图像后处理的一个问题是用户一直无法确切地知道已经达到足够 的场景覆盖来确保可从所捕捉的图像帧集构建所需全景直至随后实际生成全景。结 果,用户很难看到"大画面"。具体而言,使用常规图像拼接方案,直到从相机向计算设备(诸如PC型计算 机等)上传图像时用户才能发现结果全景有缺陷。例如,如果用户错过一个或多个 点则在全景中出现间隙。如果由于例如图片之间重叠太少、缺乏纹理、图像聚焦问题(图像过于模糊)等,拼接程序无法将一个或多个所捕捉的图像插入到全景中则 也将出现间隙。此外,虽然全景边缘处的间隙可通过剪切全景来消除,但是这会导 致剪切边缘以外的其它所需图像元素丢失。在最坏的情形中,原本希望单个全景, 却最终得到总图像的多个不能连接(以及不规则形状)块。常规后处理方法的另一问题涉及"重影"问题,其中在为全景拍摄图像时物 体在帧拍摄期间发生运动。虽然用户能够用取景器标识图片中的缺陷(例如散焦) 并重新拍摄,但是照相之间的诸如重影或灯光不同等缺陷很难在拍摄时发现。遗憾 的是,在用户注意到这种缺陷时,对重新拍摄缺少或缺陷图像帧来说通常都太晚了。用户可通过在图像之间使用更大的重叠并通过对易于重影的区域拍摄多个副 本来减小诸如间隙的缺陷的风险。然而,这种基于冗余的方法在时间上、尤其在存 储空间(随着拍摄更多图片)上是昂贵的,并且这并不能确保成功生成结果全景图 像。至少一个常规方案部分地解决了这些问题中的一些。例如, 一种称为"VideoBrushW"的常规方案提供了对从由数码摄像机捕捉的图像所构建的全景图 像的近实时预览。然而,VideoBrushTM系统只支持平移运动,而不支持全视图的全 景。具体而言,VideoBrush"^系统提供使用参数来对齐1D和2D视频马赛克的技 术,它包括用近似固定的相机位置捕捉视频,或任意运动的相机捕捉近似平坦的场 景。此外,诸如由VideoBrush,提供的系统的另一问题是它们不对问题提供显式 指示,这些问题诸如所需场景元件是否在剪切成常规矩形格式中保留或者结果全景 是否存在重影。类似地,某些数字消费相机提供"拼接辅助模式"之类,其中LCD (或其它 电子显示)示出相机"取景器"和拍摄来作为视觉参考的上一帧的一部分。例如, 诸如"佳能PowershotS230"的数码相机提供近似1D的全景拼接辅助,它需要用 户对准相机使得取景器与在取景器的子区域中显示的参考图像(通常是所捕捉的上 一图像)成一条直线。然后,最新帧成为下一次拍摄的参考,依此类推。该方法通 过保证恰当重叠量来确保成功拼接。而且,帧之间的已知空间关系可简化使用分离 计算设备进行的最终的事后拼接。遗憾的是,由这种相机提供的方法在若干方面受限。首先,这种方法不能很 好地扩展到2D全景。具体而言,即使用户选择图像之间它们移动所沿的连接方向, 通过在行中来回刷而拍摄较大的2D图像只能确保前趋图像和后续图像之间的连接 性,而非行自身之间的连接性。第二,这些方法不能保证所需场景元素免于剪切。第三,这些方法往往限制了用户的自由,因为用户需要一直关注相机的LCD显示。 此外,诸如重影和聚焦的问题并未被这种系统完全解决。"HP PhotosmartR707"相机提供类似系统,该相机提供类似于上述"佳能 PowershotS230"的拼接辅助模式,所以拍摄全景图片受到同样的限制。然而,此 外,诸如HP Photosmart R707的相机允许用户以回放方式在相机LCD屏幕上预览 整个全景。这允许用户在现场时查看缺陷。遗憾的是,修复这些缺陷仍需要用户重 新拍摄整个全景,因为不能向现有全景插入图像来修复任何已标识的缺陷。概述提供本概述来以简化形式引入在以下详细描述中进一步描述的概念精选。本 概述并非旨在标识所要求保护主题的关键特征或本质特征,也非旨在用于帮助确定 所要求保护主题的范围。如本文所述的"全景取景器"以交互式取景器显示的形式提供用于捕捉在从 场景图像集构建全景马赛克图像期间使用的图像的直观界面。 一般而言,全景取景 器的交互式取景器显示在静态数码相机或数码摄像机的取景器显示屏幕上操作,以 在捕捉构建马赛克图像中使用的图像时向用户提供实时交互辅助。更具体而言,全 景取景器允许用户以任何次序"刷(brush)"场景的全景图像,同时向用户提供视 觉反馈,以帮助用户确保所需场景元素出现在最终全景图像上。特别地,全景取景器的交互式取景器显示为全景构建提供交互式系统,该系 统在拍摄图像时向用户提供全景的拼接预览。全景取景器的经测试的实施方式在图 像捕捉设备上提供取景器显示,该图像捕捉设备被更改成包括组合起来允许用户捕 捉完成期望全景所需的确切的那些场景片而无需再次拍摄已经覆盖的区域(除非需 要)的独特界面组件集合。 一般而言,这些界面元件包括"马赛克预览";表示相 机取景器的"当前内容"的实况显示窗口;以及重叠到马赛克预览上的全景"剪切 框"。整体马赛克预览通常提供可从对当前全景捕捉的所有图像构建的拼接图像的 预览。该整体马赛克预览未被剪切成矩形区域,但取而代之示出可从已由相机捕捉 的图像集构建的马赛克图像的全部范围。在不同实施方式中,这些马赛克预览图像 的部分被着重,或以其它方式更改以提醒用户在该马赛克中将在最终全景图像中明 显的潜在问题,例如该马赛克中的重影、聚焦问题或间隙。此外,在附加实施方式 中,由于马赛克预览图像相对于单个图像帧的尺寸变得越来越大,可相对于取景器显示的当前内容显示窗口对马赛克预览图像进行縮放、摇摄(pan)或变焦(zoom)。 "当前内容"显示窗口基本上是整体相机显示窗口的动态子区域。 一般而言, 当前显示窗口是表示下次将要捕捉的图像的显示的实况窗口,类似于常规数码相机 的LCD "取景器"显示。然而,与常规数码相机的取景器显示不同,该实况当前 内容窗口在它可被自动映射到整体马赛克预览图像内的匹配位置这方面上是动态 的。结果,用户可立即查看当前图像安置于现有整体马赛克的何处。此外,因为取 景器的当前内容被显示在该实况动态窗口中,所以它向用户提供参考系统并帮助它 们将相机对准所需全景的未覆盖区域。还应该注意,在不同实施方式中,"马赛克 预览"和"当前内容"窗口之一或两者可进行縮放以更好地适合于数码相机的整体 取景器显示窗口。最终,上述全景"剪切框"只是在"马赛克预览"内被着重的矩形区域。一 般而言,该剪切框表明将从马赛克图像剪切一矩形而得到的内容。随后,该剪切框 向用户示出那些场景元素将在剪切成矩形之后出现在最终图像中。此外,该剪切框 在它自动移动、缩放和调节(在X和Y轴上)成可从现有马赛克预览图像剪切的 最大可能矩形尺寸这方面上是动态的。在以上概述的观点中,清楚的是本文所述的全景取景器提供了一种用于使用 数码相机生成场景的马赛克全景图像的独特系统和方法。除了所述的优点之外,全 景取景器的其它优点将在结合附图的同时从下文的详细描述中变得显而易见。附图描述本专利的文件包含至少一幅彩色附图。本专利的带有彩色附图的副本在请求 以及必要费用缴纳下由专利商标局提供。参照以下描述、所附权利要求和附图,本方面的具体特征、方面和优点将得 到更好的理解,在附图中

图1是示出构成用于实现如本文所述的全景取景器的示例性系统的通用计算 设备的通用系统示图。图2是示出具有简化的计算和I/0能力以与数码相机或其它图像输入源一起使 用来实现本文所述的全景取景器的通用计算设备的通用系统示图。图3是示出具有集成的计算和I/O能力以及集成显示屏的、用于实现如本文所 述的全景取景器的数码相机的通用系统示图。图4是三个图片的序列,示出A)华盛顿州西雅图市区地平线的图像集的拼接马赛克;B)拼接马赛克的矩形剪切中的间隙;以及C)示出因拼接马赛克中的间隙而丢失所需内容(西雅图"SpaceNeedle (太空针塔)"的顶部被剪切)的最终剪 切全景图像。图5示出表示用于实现如本文所述的全景取景器的示例性程序模块的示例性 架构系统示图。图6示出在用于实现本文所述的全景取景器的嵌入到数码相机中的示例性用 户界面,其中用户界面示出集成LCD显示、"马赛克预览"、表示相机取景器的"当 前内容"的实况显示窗口以及任选全景"剪切框"。图7示出图6的LCD显示的更大示图,示出马赛克预览、相机取景器的当前 内容窗口和全景剪切框。图8是在其上实现全景取景器的显示装置的四张图片序列,示出A)第一捕捉场景图像;B)附加场景图像的捕捉、可视剪切框和相机取景器的当前内容窗口;c)附加场景图像的捕捉、可视剪切框和相机取景器的当前内容窗口 (其中当前内容 窗口巻曲以反映当前图像相对于其结合到马赛克预览中的巻曲);以及D)附加场景 图像的捕捉,可视剪切框以及相机取景器的当前内容窗口 (其中当前内容窗口巻曲 以反映当前图像相对于其结合到马赛克预览中的巻曲)。图9示出基于图8的图像(D)所示的全景预览和剪切框所构建的最终剪切全 景图像。图IOA是在其上实现全景取景器的显示装置的十二张图片序列,示出图像集 的连续捕捉、相应马赛克预览的增加、以及相机取景器的当前内容窗口的动态映射。图IOB是图IOA的四张图像的子集,示出全景取景器的不同实施方式,包括 使用剪切框、以及对马赛克预览和相机取景器的当前内容窗口中处于剪切框范围外 的区域进行弱化。图11示出从场景图像集生成360度柱面全景马赛克预览。图12示出其中可向用户标识拼接失败(当前图像相对于现有马赛克的跟踪丢 失)的全景取景器的实施方式。详细描述在以下本方面的较佳实施方式的描述中,对作为其一部分的附图进行参考, 在这些附图中作为说明示出了实施本方面的具体实施方式
。应该理解,可以使用其 它实施方式,且可作出结构变化而不背离本方面的范围。1.0示例性操作环境-图1、图2和图3示出可在其上实现如本文所述的"全景取景器"的各种实施 方式和元件的合适计算环境的各个示例。例如,图1示出通用计算系统环境100的示例。计算系统环境100只是合适计算环境的一个示例,并不旨在对本方面的使用范围和功能作出任何限制。计算环境100不应解释为具有相关于在示例性操作环境100中示出的组件中任一个或组合 的任何依赖性或要求。本方面可与许多其它通用或专用计算系统环境或配置一起使用。适用于本发明的公知计算系统环境和/或配置包括,但不限于个人计算机、服务器计算机、手持式设备、膝上型或移动计算机、或诸如蜂窝式电话和PDA的通信设备、多处 理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型 计算机、大型计算机、包括以上系统或设备中任一种的分布式计算环境等。本发明可在可由计算机执行的诸如程序模块的计算机可执行指令结合包括麦 克风阵列198的组件的硬件模块的一般上下文中描述。通常程序模块包括执行特定 任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明还 可在分布式计算环境中实践,其中由通过通信网络链接的远程处理设备来执行任 务。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算 机存储介质中。参照图l,用于实现本发明的示例性系统包括计算机110形式的通 用计算设备。计算机110的组件可包括但不限于处理单元120、系统存储器130以及将包 括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线 121可以是若干类型总线结构中的任一种,这些总线结构包括存储器总线或存储器 控制器、外围总线和使用各种总线架构中任一种的局域总线。作为示例而非限制, 这种架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA (EISA)总线、视频电子技术标准协会(VESA)局域总线以及也被称为Mezzanine 总线的外围组件互连(PCI)总线。计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算 机110访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动 介质。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算 机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、 ROM、 EPROM、闪存或其它存储技 术;CD-ROM、数字多功能盘(DVD)或其它光盘存储;盒式磁带、磁带、磁盘 存储或其它磁性存储设备;或可用于存储所需信息并可由计算机110访问的任何其 它介质。通信介质通常具体化为诸如载波或其它传输机制等的调制数据信号中的计 算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传输介质。术语 "已调制数据信号"表示以在信号中编码信息的方式设置或改变其一个或多个特征 的信号。作为示例而非限制,通信介质包括诸如有线网络或直接接线连接的有线介 质,以及诸如声学、RF、红外线的无线介质和其它无线介质的无线介质。以上中 任一个的组合也应包含在计算机可读介质的范围内。系统存储器130包括诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132的易失性和/或非易失性存储器形式的计算机存储介质。包含在诸如启动期间帮 助在计算机110内元件之间传递信息的基本例程的基本输入/输出系统133 (BIOS) 通常存储在ROM 131中。RAM 132通常包含可由处理单元120即时访问和/或正 在其上操作的数据和/或程序模块。作为示例而非限制,图1示出操作系统134、应 用程序135、其它程序模块136和程序数据137。计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。 仅作为示例,图l示出向不可移动、非易失性磁性介质读写的硬盘驱动器141、向 可移动、非易失性磁盘152读写的磁盘驱动器151、和向诸如CD ROM或其它光 学介质的可移动、非易失性光盘156读写的光盘驱动器155。可用于示例性操作环 境的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带 盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动 器141通常经由诸如接口 140等的不可移动存储器接口连接到系统总线121,而磁 盘驱动器151和光盘驱动器155则通常经由诸如接口 150的可移动存储器接口连接 至系统总线121。以上描述和图1中示出的驱动器及其关联计算机存储介质为计算机110提供 了计算机可读指令、数据结构、程序模块和其它数据的存储。例如在图1中,硬盘 驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数 据147。注意,这些组件可与操作系统134、应用程序135、其它程序模块136和 程序数据137相同或不同。在此为操作系统144、应用程序145、其它程序模块146 和程序数据147被赋予不同的附图标记至少说明它们是不同的副本。用户可通过诸如键盘162和定点设备161 (通常指的是鼠标、跟踪球或触摸垫)的输入设备向计 算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪、 无线电接收机和电视或广播视频接收器等。这些和其它输入设备通常经由耦合至系统总线121的有线或无线用户输入接口 160连接到处理单元120,但是也可通过诸 如并行端口、游戏端口、通用串行总线(USB)、 IEEE 1394接口、 BluetoothTM无 线接口、 IEEE 802.11无线接口等其它常规接口和总线结构连接。此外计算机110 还可包括经由音频接口 199链接的诸如麦克风或麦克风阵列198的话音或音频输入 设备,以及扬声器197或其它声音输出设备,音频接口可包括诸如并行、串行、 USB、正EE 1394、 Bluetooth 等常规的有线或无线接口 。监视器191或其它类型的显示设备也可经由诸如视频接口 190的接口连接到 系统总线121。除了监视器191之外,计算机还可包括可以通过输出外围接口 195 连接的诸如打印机196的其它外围输出设备。此外,计算机IIO还可包括作为输入设备的能够捕捉图像序列193的相机192(诸如数字/电子静态相机或数码摄像机,或者胶片/照片扫描仪)。此外,虽然只 示出一个相机192,但是多个不同类型的相机可作为输入设备包括在计算机110中。 多个相机的使用提供同时或连续捕捉多个图像视图的能力、捕捉三维或深度图像的 能力、或捕捉全景的场景图像的能力。可经由使用包括例如USB、 IEEE 1394、 Blueto0th 、 IEEE 802.11等的常规有线或无线接口的适当相机接口 194将来自一 个或多个相机192的图像193输入到计算机110。该接口连接于系统总线121,由 此允许图像193被路由并存储到RAM 132中,或者与计算机110相关联的其它上 述数据存储设备中。然而,注意,也可将预先存储的图像数据从上述计算机可读介 质的任一种输入到计算机110中而无需直接使用相机192。计算机110可在使用到一个或多个诸如远程计算机180的远程计算机的逻辑 连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、 网络PC、对等设备或其它公共网络节点,并且通常包括以上相关于计算机110描 述的元件中多个或全部,但是在图1中仅仅示出了存储器存储设备181。在图1中 所示的逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但是也可以包括 其它网络。这种网络环境在办公室、企业内部计算机网络、内联网和因特网中十分 常见。当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或 用于在诸如因特网的WAN 173上建立通信的其它装置。或为内置或为外置的调制 解调器172可经由用户输入接口 160或其它适当机制连接到系统总线121。在网络 化环境中,相关于计算机UO描述的程序模块或其部分可存储在远程存储器存储设 备中。作为示例而非限制,图1示出驻留在存储器设备181上的远程应用程序185。 应该理解,所示网络连接是示例性的,且可以使用在计算机之间建立通信链路的其 它装置。参照图2,该图示出描绘耦合于数码相机的简化计算设备的通用系统示图。这 种计算设备通常可在与通信接口结合的具有至少一些最小计算能力的设备中找到。适用于本发明的公知的简化计算系统、环境、和/或配置的示例包括,但不限于 手持式、膝上型或移动计算机、诸如蜂窝电话和PDA的通信设备等。应该注意,图2中虚线表示的任何框表示简化计算设备的替换实施方式,如 本文所述,并且以下描述的这些替换实施方式的任一个或全部可与在本文档中描述 的其它替换实施方式结合使用。至少,为了使计算设备能够实现"全景取景器"(如以下进一步详细描述), 计算设备200必需具有最小计算能力以及用于连接数码相机2^)或其它图像输入源 的有线或无线接口 240。特别地,如图2所示,计算设备200的计算能力通常由处理单元210 (与以上 关于图1描述的处理单元120大致类似)和系统存储器220示出。注意,与图1 的通用计算设备的处理单元120不同,图2所示的处理单元210可能是诸如DSP、 VLIW处理器或其它微控制器的专用(和不昂贵)的微处理器而非如上所述的PC 型计算机的通用处理单元等。此外,图2的简化计算设备200还可包括其它组件,诸如一个或多个输入设 备240 (与相关于图l所述的输入设备类似)的连接。图2的简化计算设备还可包 括其它任选组件,诸如一个或多个输出设备250 (与相关于图l所述的输出设备类 似),诸如外部显示设备280。最后,图2的简化计算设备还可分别包括可移动和/ 或不可移动存储260和270 (与相关于图1所述的存储设备类似)。最后,参照图3,该图是示出具有集成计算340和I/O能力345以及诸如LCD 屏幕的显示装置310的用于实现如本文所述的全景取景器的数码相机300的通用系 统示图。一般而言,如本领域技术人员所公知的,常规数码相机包括诸如以上所述的那些组件(例如I/O、计算和显示),以及或为可移动325或为不可移动330的相 机存储器320。这种相机还包括透镜305和一个或多个控件315的集合。此外,如 相关于图2所描述的简化计算设备,数码相机的计算能力340可用诸如DSP、VLIW 处理器或其它微控制器等价格低廉的专用处理器而非以上参照图1所述的PC型计 算机的通用处理器单元等来实现。如以下进一步详细描述的,这些组件可结合使用, 以在独立数码相机中实现全景取景器的功能。现已经讨论了示例性计算环境,本描述的剩余部分将致力于体现"全景取景 器"的程序模块和例程的讨论。2.0艇如本文所述的"全景取景器"提供用于捕捉要在从场景图像集构建全景马赛 克图像时使用的图像的交互式取景器显示形式的直观界面。 一般而言,全景取景器 的交互式取景器显示在静态数码相机或数码摄像机(或图像捕捉设备)的取景器显 示屏幕上操作,以在捕捉用以构建全景图像的图像时向用户提供辅助。此外,在附加实施方式中,全景取景器的交互式取景器显示在直接耦合到数 码相机或经由分离计算设备耦合到数码相机的外部显示设备上实现。然而,在这些 情形的每个中,本文所述的全景取景器以实质上相同的方式操作。因此,虽然全景 取景器在本文中一般描述为在数码相机中实现,但是应该理解,本文提供的全景取 景器的细节描述同样可用于涉及外部显示设备和/或外部计算设备的附加实施方 式。2.1系统总览如上所述,本文所述的全景取景器提供用于捕捉在从场景图像集构建全景图 像时使用的图像的交互式取景器显示形式的直观界面。一般而言,全景取景器允许用户以任何次序"刷"全景场景图像,同时向用 户提供视觉反馈以帮助用户确保所需场景元素将出现在最终全景图像中。该视觉反 馈通过在拍摄将用于构建全景的场景图像时向用户呈现全景的实时拼接预览来提 供。由全景取景器所提供的取景器显示向图像捕捉设备提供使用户能够捕捉完成期 望全景所需的那些确切场景块而无需重新拍摄已覆盖的区域(除非需要)的独特能 力。嵌入到全景取景器中的界面组件包括呈现所捕捉图像的拼接马赛克预览的"马赛克预览";展现相机取景器的"当前内容"的实况显示窗口,该窗口被映射 到马赛克预览中的匹配位置;以及重叠在马赛克预览上、示出马赛克的将免于马赛 克矩形剪切的部分的任选全景"剪切框"或"剪切窗"。一般而言,整体马赛克预览通常提供可从对当前全景捕捉的所有图像构建的 拼接图像的预览。该整体马赛克预览不被剪切成矩形区域,而是相反示出可从已由 相机捕捉的图像集构建的马赛克图像的整个范围。更具体地,马赛克预览是在用户拍摄全景时从由用户捕捉的图像构建的马赛 克的实况、实时预览。如在数码相机中所实现的,相机的内建LCD屏幕会示出当 前完成状态下的全景预览。该预览通过在用户拍摄这些图像时将照片或视频英尺数 编译成单个工作中全景图片来产生(关于图像拼接的细节参见3.3节)。在各种实施方式中,该马赛克预览图像的部分被着重,或者以其它方式更改 以提醒用户将在最终全景图像中明显的潜在问题,诸如马赛克中的重影、聚焦问题 或间隙。此外,在附加实施方式中,随着马赛克预览图像相对于单个图像帧的尺寸 变得越来越大,可对马赛克预览图像进行縮放、摇摄或变焦以允许用户查看马赛克 预览以及取景器的当前内容显示窗口。上述"当前内容"显示窗口基本上是整体相机显示屏幕的动态子区域。 一般 而言,当前显示窗口是表示接下来捕捉什么图像的显示的实况窗口,这类似于与常 规数码相机的LCD "取景器"显示。然而,与常规数码相机的取景器显示不同, 该实况当前内容窗口在它被自动映射到整体马赛克预览图像中的匹配位置这方面 上是动态的。结果,用户可立即查看当前图像安置于现有整体马赛克的何处。在一 实施方式中,如3节中进一步详细描述的,相对于马赛克预览将当前内容窗口着重, 使得新图像安置于现有马赛克的何处对用户更加即时地显而易见。此外,因为取景器的当前内容显示在该实况动态窗口中,所以它向用户提供 帮助它们将相机对准所需全景的未覆盖区域的参考系统。还应该注意,在各个实施 方式中,"当前内容"窗口可与马赛克预览一起縮放以在数码相机的整体显示中更 好地适应。最后,上述全景"剪切框"只是在"马赛克预览"中被着重的矩形区域。一 般而言,该剪切帧简单地指示将从马赛克图像的矩形剪切中得到的内容。特别地, 如本领域技术人员所公知的,由于各个图像片段之间的可能错位以及由于常规图像 拼接期间发生的变形,原始全景常常是"流苏状(fringy)"的。因此,为了获得无 流苏的矩形输出图像,在一实施方式中,全景取景器将全景自动剪切成由图像(或图像片段)覆盖的最大可能矩形区域。该矩形区域的内容预览由剪切框向用户示出。 一般而言,剪切框向用户示出哪些场景元素将在其被剪切成矩形形状之后落在最终图像中。此外,该剪切框在它自动移动、縮放和调节(在X和Y轴上)成 可从现有马赛克预览图像剪切的最大可能矩形尺寸这方面是动态的。应该注意,因 为剪切框是动态的,所以这意味着该剪切框并不在用户的直接控制下。相反,用户 通过他们拍摄的图像材料间接地控制剪切框。这种特征的一个优点是用户在构建全 景图像中的体验通过复杂程度大大减少的用户界面而得以改进。例如,图4提供三个图片的序列,示出A)华盛顿州西雅图市区地平线的图 像集的拼接马赛克400; B)拼接马赛克的矩形剪切420中的间隙410和415;以及 C)示出因拼接马赛克中的间隙而丢失所需内容430 (西雅图"Space Needle (太空 针塔)"的顶部被剪切)的最终剪切全景图像430。这是未向用户提供最终全景会 包含哪些的向导的情况下实现的典型结果,但是用户仍有机会捕捉附加图像。特别 地,当使用剪切框作为实时马赛克预览上的覆盖时,用户可立即发现在马赛克的矩 形剪切之后会损失信息(诸如"太空针塔")。因此,用户有机会填充马赛克中由剪 切框示出的间隙(通过简单地捕捉附加图像),以避免所需图像内容的这种丢失。在另一实施方式中,马赛克预览中处于剪切框外的区域被弱化(诸如通过降 低剪切框外区域的亮度)。马赛克预览的所选部分的弱化可用于着重马赛克预览图 像中将在最终马赛克图像的矩形剪切之后被保留的部分。在全景取景器的已测试的实施方式中,用户与全景取景器的交互被设计成以 与常规数码相机的正常使用一致的方式操作。例如,在全景取景器的一实施方式中, 用户通过拍摄第一图像来以相机的正常照片模式启动,相机LCD示出取景器所看 到的,并且用户一按快门按钮就捕捉该图像。然后, 一旦用户决定以全景形式包括 附加场景元件,则用户通过使用相机控件选择"全景模式"等。 一旦该全景模式被 选择,则所捕捉的任何附加图像被自动包括在马赛克预览中。注意,在各个实施方 式中,附加图像可在用户拍摄单独照片时手动捕捉,或者在用户使相机摇摄场景时 自动捕捉。本文所述的全景取景器的一个优点是用户捕捉用于构建图像马赛克的简易 性。例如,为了扩展以上提供的示例, 一种用于使用经测试的全景取景器实施方式 来构建全景图像的简单策略被发现是特别有效,它通过用户简单地手动捕捉对整体 全景所需的边界或边界附近的任何"地标"(或其它场景元素)的图像作为开始。 以与拍摄单独元素的正常图片的方式完全相同来捕捉这些地标。然后,在这些边界地标之间进行简单的附加图像捕捉,以将全部地标实际连接成单个全景。此外,由于上述剪切框,结果马赛克预览提供参考帧,该参考帧使用户能够 易于通过在将相机移动过地标之间马赛克预览图像的"黑"或空白区域时简单地捕 捉附加图像来填充马赛克的缺失区域。最终全景的边缘(相对于剪切框)可得到修 补(通过简单地沿由剪切框示出的边界捕捉附加图像)直到所有所需场景元素包含 在剪切框中。最终,全景的扩展通过简单地包括附加"地标"并如上所述地填充任何空白空间来容易地实现。注意,如3节中进一步详细描述的,存在与处于全景模式中时附加图像的捕 捉相关的若干其它实施方式。例如,在一实施方式中,仅当用户按相机的快门按钮 时捕捉附加图像。在另一实施方式中,在用户将相机绕场景摇摄时自动捕捉图像。 该自动捕捉可以预定帧速率操作或者根据当前内容显示窗口中的新材料的量(和重 叠)(相对于现有马赛克预览)来操作。或者,在数码摄像机的情形中,通常在给 定帧速率下自动捕捉图像,然后这些图像用于生成马赛克预览。然而,在不同实施 方式中,这些数码摄像机还可根据当前内容显示窗口中的新材料(和重叠)(相对 于现有马赛克预览)的量来捕捉图像。全景取景器的上述特征提供优于常规数码相机的许多优点,包括这些相机提 供"拼接辅助模式"等。例如,全景取景器的一个优点是通过对所得全景完成情况提供清晰的视觉反 馈(剪切框中的所需场景元素),全景取景器允许用户得到有保证的结果。剪切框 解决了事后剪切遇到的问题。没有剪切框,用户通常发现自己要面对在示出所有所需场景元素的的全景与无流苏的全景之间作出折衷。原因是没有剪切框,全景提供 错误的示能性尤其,全景通常向用户示出比实际的(一旦被剪切)要更大,这使 用户过早地停止捕捉图像。剪切框修复这种破坏的容耐,因为它向用户确切地示出 一旦图像被剪切则所实际获得的。因此全景取景器向用户确切地示出为了得到所需 的输出需要作什么。全景取景器的另一优点是图像马赛克的实时预览使诸如重影或不能被拼接的 帧之类的缺陷在发生时就是可见的。这允许用户重新拍摄这些区域,由此从马赛克 消除这些问题。全景取景器的又一优点是帮助用户最大化为全景捕捉图像所花费的时间利用 率,同时最小化用户的工作量。具体而言,马赛克预览允许用户避免己被覆盖的区 域。此外,马赛克预览还帮助用户避免拍摄非必要的图像材料,即位于地标所跨度空间之外的材料。另外,剪切框允许用户在完成时停止,而仅在图像不足以构建所 需全景的情形中才拍摄附加图像。剪切框还支持以最小化浪费的形状(矩形)的方 式进行拍摄。这对拍摄细长镜头摇摄是特别有用的。在没有支架(诸如三脚架或其 它相机架)的情况下,这些类型的相机镜头摇摄常常产生稍微倾斜或巻曲的图像马 赛克,这可能会在任何矩形剪切过程中去除全景的大部分。全景取景器的另一优点是帮助最小化存储空间要求,允许用户用给定存储量 来拍摄更多、更大的全景。 一个原因是避免了拍摄非必要图像材料,因为用户可以 实时地确切看到最终全景中将包含什么。此外,在一实施方式中,为数码相机提供 足够的计算能力(内部或通过外部连接的计算设备)允许近似实时地进行最终或半 最终拼接和剪切,由此允许相机自动丢弃更多的消耗空间的原始图像材料。然而, 虽然该特征允许用户通过最小化存储要求来捕捉更大的全景,但是用户通常期望保 留原始帧的子集以供后续处理。在这种情况下,不启用图像材料的自动丢弃。最后,由全景取景器提供的再一优点是通过立刻向用户提供最终结果,全景 取景器向用户提供"即时满意"。这种即时满意是典型用户通常偏好数码照片而非常规照片(需要冲洗相机胶片并随后处理该胶片以产生图像)的主要原因。这样, 全景取景器使用户拍摄全景时的体验与拍摄常规照片的体验可以比拟。2.2系统架构总览以上总结的进程由图5的通用系统示图示出。特别地,图5的系统示图示出 用于实现本文所述的全景取景器的程序模块之间的关系。应该注意,图5中由虚线 表示的任何框和框之间的互连表示本文所述的全景取景器的替换实施方式,并且以 下所述的替换实施方式的任一个或全部可与本文献中通篇所述的其它替换实施方 式结合使用。此外,还应该注意,出于说明清楚的目的,图5中所示的全景取景器 示出全景取景器的整体系统外部的相机或图像源500。然而,如上所述,在不同实 施方式中,图5所示的组件和程序模块的某些或全部可与相机500 —体化。一般而言,如图5所示,全景取景器通常通过从数码相机或其它图像源500 向实时拼接模块510提供已记录图像505来操作。实时拼接模块510实时工作以生 成表示针对所需全景图像捕捉的已记录图像505的拼接的马赛克预览图像。如本文 进一步详细描述的,该马赛克预览图像随着更多图像被捕获并由实时拼接模块510 拼接在一起而随时间增长。然后在显示装置515 (例如数码相机500的集成LCD 显示)上实时显示该马赛克预览图像。此外,实况输入映射模块520分析来自相机500的输入(即通过相机的透镜 到达相机取景器的视图),并且结合实时拼接模块510将该输入映射到显示装置515 上相对于在该显示装置上正被显示的整体马赛克预览图像的相对应位置上。注意, 相机取景器的实况或"当前内容"的这种映射实时地进行而实际上无需捕捉用于存 储的图像。结果,用户可及时查看将要拍摄的下一张图片处于何处将适于整体马赛 克预览图像而无需实际拍摄该图片。这种特性使用户能够容易地捕捉最终全景图像 所需的那些场景元素。此外,为了使相机取景器的当前内容窗口的查看和识别更加 可视化,在已测试实施方式中,当前内容窗口通过用清晰可见的边框围绕来着重。如上所述,在一实施方式中,"剪切窗"用于向用户指示马赛克预览图像将免 于矩形剪切的那个部分。 一般而言,该剪切窗由剪切窗重叠模块525生成,该模块 分析实时拼接模块510的输出以确定可在马赛克预览图像上画出而沿马赛克预览 图像的任何边框都没有间隙(丢失图像信息)的最大矩形的范围。 一旦计算完成, 剪切窗就被简单地显示为马赛克预览图像上的覆盖。在相关实施方式中,马赛克着重模块535用于强调剪切窗中的区域或者弱化 剪切窗外的区域,使得免于剪切的区域对用户更加明显。弱化剪切窗外的区域的一 个示例是简单地降低马赛克预览中剪切窗外的区域相对于剪切窗内的区域的亮度。 类似地,在紧密相关的实施方式中,相机取景器的当前内容窗口中落在当前剪切窗 范围外的任何部分也被弱化,使得用户及时看到当前示图将对整体全景作出的贡 献。在另一实施方式中,提供拼接警告模块530以提醒用户与己记录图像的拼接 (或者来自相机500的实况输入的映射)相关的问题。例如,如3节中进一步详细 描述,任何图像拼接技术都有可能不知道图像(包括已记录图像505或来自相机 500的实况输入)应该安置于整体马赛克的何处。这种失败的原因可以包括,但不 限于,图像细节或纹理不足以进行精确映射(诸如不包括地标的洁净蓝天)。可由 拼接警告模块标识的其它可能问题包括诸如马赛克预览中重影效果的检测、剪切窗 内边界之内的间隙、 一个或多个图像的图像聚焦问题等。在由拼接警告模块530标识任何这些问题的事件中,在显示装置515上提供 提示以在仍有时间修复问题时将用户的注意力吸引到具体问题上。通常,修复任何 特定问题的解决方案是重新拍摄覆盖马赛克预览中已标识出问题的区域的一个或 多个图像。此外,在实时拼接模块510不知道图像应该安置于整体马赛克预览的何 处的事件中,拼接警告模块530将建议用户将相机移动到已被捕捉并成功拼接的区域,然后从该区域移出并朝失去线索的区域移动时重新拍摄附加图像。在纹理是问题的情形中,诸如的洁净蓝天的示例,拼接警告模块也可建议用 户拉远镜头以捕捉除了某些已映射地标之外的低纹理区域的更宽视场。应该注意, 实时拼接模块能够縮放(如果必要则巻曲)输入图像以将它们映射到马赛克预览图 像,即使在图像之间的变焦水平不同的情形中。在相关实施方式中,拼接警告模块530与马赛克着重模块535协作以着重或以其它方式强调马赛克预览图像内的特定问题区域。如上所述,马赛克预览图像随着更多的图像被捕捉并由实时拼接模块510拼 接在一起而随时间增长。因此,在一实施方式中,縮放/摇摄模块540縮放马赛克 预览图像的范围,使得整个马赛克预览图像适于显示装置515的范围。然而,因为 实况输入映射模块520将来自相机500的输入映射到相对于整体马赛克预览图像的 对应位置,所以该实况输入的示图(即当前内容窗口)也被縮放。因此,随着马赛 克预览的增长,当前内容窗口随时间縮小成其中用户难以查看该窗口中的内容的一 点。因此,在另一相关实施方式中,当前内容窗口不会縮放到最小尺寸以下,而是 与马赛克预览上其中图像如果被捕获则被拼接的区域重叠(这一点的附加讨论参见 3.4节)。在另一相关实施方式中,与统一縮放整个马赛克预览(以及当前内容窗口) 不同,縮放/摇摄模块540在一定的公差内縮放和/或巻曲马赛克预览的部分以将马 赛克预览的边缘压縮同时保持当前内容窗口较大并且大致靠近显示装置515的中 心。类似地,在另一实施方式中,縮放/摇摄模块540提供马赛克预览的摇摄以允 许马赛克预览的部分"在屏幕外"同时使当前显示窗口保持在屏幕上以避免将马赛 克预览(以及当前内容窗口)縮小至其中难以参看马赛克预览或当前内容窗口中的 足够细节的一点。注意,以上相关于缩放/摇摄模块540描述的特征通常对与数码相机一体化的 显示屏幕更重要,因为这种屏幕通常在尺寸和分辨率两方面受限。在全景取景器的又一实施方式中,数据存储减少模块545用于从己记录图像 505自动去除冗余图像信息。例如,在为马赛克捕捉图像时,在图像之间自然存在 某种程度的重叠。因此,在一实施方式中,在实时拼接模块510的拼接之后,数据 存储减少模块545将从已记录图像数据505删除任何冗余图像信息的某些或全部。实施方式由数据存储减少模块实现的一个优点是当使用诸如数码相机内部存 储器的相对有限的图像存储空间时,附加空间变得可用于捕获更大的全景图像马赛克。相反,本实施方式的一个缺点是独立图像的某些或全部不再是由单独使用的完整(矩形)图像。注意,在不同实施方式中,数据存储减少模块545可由用户手动 启用或停用,或者可根据数码相机500内剩余存储空间来自动启用。一旦特定全景所需的所有图像都已被实时拼接模块510拼接并可任选地剪切 成对应于由剪切窗覆盖模块525提供的剪切窗的图像范围,则按需将所得全景存储 到全景图像550的文件或数据库以供后续使用。然而,在另一实施方式中,实时拼接模块510仅执行初步拼接以生成马赛克 用于在显示装置515上显示的"仅预览"版本。在本实施方式中,将在计算己记录 图像505的最终拼接中使用的图像之间的基本相关信息,诸如图像映射、巻曲和縮 放信息,存储在550而非最终全景图像马赛克中。然后,该己存储信息550用于离 线拼接模块555对已记录图像的非实时离线拼接中。实施方式由离线拼接模块555提供的一个优点是包括常规混合、羽化、对比 度和亮度调节、去重影操作等的最终图像拼接可能在计算上是昂贵的,因此很难在 由典型数码相机提供的相对有限计算能力下实现。然而,用以生成最终图像马赛克 的简单预览的初步低分辨率拼接在计算上是不昂贵的,由此在计算能力有限的情形 中提供更好的性能。实施方式由离线拼接模块提供的另一优点是已完成全景的最终 拼接版本的存储可能需要相当的存储空间量,极限下接近在构建最终全景中使用的 每个单独图像的存储空间的总和。然而,用于最终全景的离线构建的图像之间的关 系信息的存储与实际全景图像相比占据相对极少的空间。因此,本实施方式在相机 存储器有限的情形中也很有用。3.0操作总览上述程序模块用于实现本文所述的全景取景器。如上所概述的,该全景取景 器提供用于捕捉在从场景图像集构建全景马赛克图像时使用的图像的交互式取景 器显示形式的直观界面。以下各节提供全景取景器的操作以及用于实现2节中所述 程序模块的示例性方法的详细讨论。3.1全景取景器的操作细节以下各段详细描述本文所述全景取景器的具体操作实施方式。特别地,以下 各段描述与全景取景器一起使用的相机和输入图像;使用常规拼接技术的图像马赛 克的一般构建;全景取景器用户界面的元素;用户与全景取景器的交互;以及全景取景器的附加实施方式。3.2相机和图像或视频流如上所述,在一实施方式中,全景取景器可嵌入到静态数码相机或数码摄像 机内,静态数码相机或数码摄像机具有足够的集成计算能力以生成实时马赛克预 览、将当前取景器内容映射到马赛克预览以及生成剪切框以示出可免于图像马赛克 的矩形剪切的最大内容。然而,除了在静态数码相机或数码摄像机内实现全景取景 器之外,许多常规相机类型或视频馈送中的任一个可与全景取景器组合使用。实际上,可以使用能够与外部计算设备接口并可扩展到全景取景器的任何数 码相机和视频流馈送。此外,许多较新的静态相机或摄像机可直接连接到计算机的现有端口 (USB接口、 IEEE 1394接口、 Bluetooth 无线接口 、 IEEE 802.11无线接口等)。全景取景器可以使用任何这种相机。此外,如果全景取景器的功能并不集成到相机的功能上,则全景取景器可通 过相同方式在附连计算机的显示装置上来实例化,就如同全景取景器被显示在数码 相机的LCD屏幕上一样。例如,用户可以使用连接到台式、笔记本或手持式计算 设备的常规"web相机"等(没有集成计算能力)来以基本上相同的方式生成全景 图像,如同由具有集成全景取景器能力的专用数码相机所捕捉的一样。然而,如上所述,与描述连接到分离计算设备以实现全景取景器的外部相机 的每一可能组合不同,全景取景器在本文中一般被描述为在数码相机中实现。然而, 应该理解,本文提供的全景取景器的详细描述同样可应用于涉及耦合到可能包括或 不包括集成显示装置或计算能力的相机的外部显示装置和/或外部计算设备的附加 实施方式。3.3图像马赛克的构建从类似或相关图像帧的集合或群集生成马赛克是本领域技术人员公知的概 念,并且在本文中只是一般描述。 一般而言,常规马赛克技术的基本理念是在给定 空间相关图像帧的集合或序列的情况下获得广视场(FOV)或全景场景图像。该全 景通常通过在相机移动时捕捉图像,然后对图像应用事后拼接以获得更大的图像来 构建。例如,许多数码相机附带有用于从由相机获得的图像自动事后构建全景图像 马赛克的软件(事后处理在分离的计算设备上进行)。 一般而言,数码相机的马赛克的几何结构问题已经相当清楚,并且通常包括对每个图像估计相对较小的相机矩阵或单应性(homography)。这种估计进程通常通过自动或经由用户输入对图像大 致排序而初始化。典型的马赛克方案常常使用基于特征或直接方法。常规的基于特征的方法通常从在图像中检测到的点、线或其它几何实体之间 建立对应开始。例如,典型的基于特征的方法会提取Harris角点(Harris corner) 并使用经归一化的局部强度值交叉相关来对它们进行匹配。直接方法与基于特征的方法的不同之处在于直接方法尝试通过最小化基于重 叠区域的强度差异的误差函数来迭代估算相机参数。直接方法具有的优点是使用所 有可用数据并因此提供非常精确的配准。然而,这种方法的以供缺点是依赖于可能 并不正确的"亮度不变"假设。此外,这种方法通常还要求初始化。此外,许多这种拼接技术能够产生360度全景,即其左端在逻辑上连接于右 端的全景。因此,在一实施方式中,当全景取景器的拼接进程确定全景已巻曲时, 它改变马赛克预览图像的外观以表明该全景实际上是360度的连续图像。在经测试 的实施方式中,通过将马赛克预览的显示的左、右两边缘作标记为符号拉链来表明 两端是逻辑连接的,以此将马赛克预览更改成360度全景。应当清楚,在不同实施 方式中可以使用诸如文本、箭头等其它标记来表明全景的末端如此连接以形成360 度全景。无论用于拼接图像的方法如何, 一旦特征在各个图像之间实现匹配,则通常 用常规的混合、巻曲和縮放技术来在图像之间提供平滑过度同时保留细节锐度来构 建马赛克图像,即使在图像之间存在强度变化的情形中,即使不同图像之间存在小 的配准误差。许多这种常规拼接技术适用于生成马赛克的实时预览而没有必要生成最终的 拼接马赛克。此外,在给定足够的计算能力的情况下,许多常规拼接技术适用于实 时或近似实时地生成马赛克图像的最终拼接版本。应该注意,以上概述的马赛克技 术仅为大量常规技术中的少许,并且大量常规马赛克技术中的任一种能够适用于由 本文所述的全景取景器捕捉的图像的实时和/或离线拼接(使用拼接马赛克的实时 预览版本)。3.4全景取景器的用户界面如上所述,全景取景器的用户界面通常包括显示或相机取景器屏幕中的拼接 马赛克的视觉预览(即"马赛克预览"),表示相机取景器的"当前内容"的实况显示窗口;以及覆盖到马赛克预览上的任选全景"剪切框"。此外,在不同实施方式 中,全景取景器的用户界面还包括与拼接马赛克中所标识的特定问题相关的各种视 觉提示、警告或指令。假设这些元素的每一个(马赛克、当前取景器显示、剪切框)可在受限空间(诸如数码相机的较小LCD屏幕)中共存、重叠以及彼此独立地变化,则存在视觉干扰的危险。因此,虽然可以实现这些元素的复杂显示,但是己经 发现保持这些元素的组合尽可能的简单将增强用户在全景图像马赛克捕捉图像时 的体验。例如,如图6所示,在一实施方式中,马赛克预览620自动縮放以适应数码 相机600的LCD显示屏幕610。然后,表示相机取景器630的"当前内容"(透镜 当前所观察的)的实况显示窗口被映射到马赛克预览620内的对应位置。此外,剪 切框640覆盖在马赛克预览640之上。相机600还可包括用于以常规方式操作相机 或者用于手动选择特定选项(诸如在本文所述的全景取景器模式下拍摄)的一组常 规控件660。图7示出图6的LCD显示的更大视图(图6所示屏幕的不同视图), 示出了马赛克预览720、相机取景器的当前内容窗口 730和任选全景剪切框740。参照图8-10B在3.4.3和3.4.4节详细描述这些特征(马赛克预览、当前内容 窗口以及剪切框)的操作示例。3.4.1相机显示装置如本文所述,在一实施方式中,全景取景器的用户界面在静态数码相机或数 码摄像机的LCD屏幕上实现。通常,这种集成相机显示器是大小约在2.5英寸(对 角线)量级上并根据相机类型而具有不同的分辨能力的LCD显示器。然而,在本 文所提供的讨论的角度上,应该清楚,相机显示器的讨论也只在涵盖其它可直接连 接到相机或者经由相机自身所连接的外部计算设备而连接到相机的外部显示装置。在一实施方式中,相机的LCD显示器上包括"边框"。边框的一般目的是为 用户提供通过在覆盖用户感兴趣场景的某些预定区域上"刷"相机而进行填充的区 域。马赛克预览可相对于边框縮放,使得一旦所有图像被拼接则整个场景适于边框。 然而,虽然这种边框对某些应用是有益的,但是它往往由于要求首先定义边框范围 的额外步骤而打扰用户。因此,在另一实施方式中,不使用边框。实际上,由于 LCD显示屏幕的大小自身是有限的,因此它本质上充当了其内再现马赛克预览的 隐式边框。在另一实施方式中,相机显示屏幕的背景可以不同色彩和样式再现在马赛克预览图像的范围外。然而,已经发现在马赛克预览图像范围外使用空白(或黑色) 背景提供最简单、最直观的用户界面。3.4.2马赛克预览图像如上所述,全景取景器在相机显示屏幕上提供实时或近似实时的马赛克预览 图像,且该马赛克图像随着一有新图像添加就向该马赛克预览中拼接附加图像而增 长。在显示屏幕上显示图像马赛克时,视觉表示被设计成尽可能简单以最小化对用 户的视觉干扰。在经测试的实施方式中,马赛克预览由诸如白色实线或着色线的定义边框围 绕以确保马赛克预览与诸如剪切框或当前内容窗口的全景取景器其它元素或者只 是相机显示屏幕的未填充区域之间清晰的视觉分离。此外,如上所述,全景取景器能够构建360全景图像。因此,在一实施方式 中,如图11所示,全景取景器通过在马赛克预览图像的左、右外延上示出左、右 符号拉链(1120和1130)来表示360度柱面全景马赛克1100的存在。在本情形中, 对马赛克预览图像使用摇摄,使得当前内容窗口 IIOO示出来自相机取景器的实况 输入保持成大致靠近相机显示的中心。注意,这种符号拉链只是指示360度全景的 众多方法之一。其它方法包括使用文本、箭头、连接线等。此外,如上所述,马赛克预览图像随着图像被捕捉并拼接在一起以在相机LCD 屏幕上显示马赛克预览图像而随时间增长。作为图像增长的结果,马赛克预览图像 可能很快达到过大而不适合相机LCD显示的范围这一点。因此,在一实施方式中, 随着马赛克预览图像随附加图像的结合而随时间增长,全景取景器对马赛克预览图 像进行縮放、巻曲和/或摇摄。例如,在一实施方式中,全景取景器縮放马赛克预览图像的范围(在一个或 多个维度上),使得整个马赛克预览图像将适于显示装置的范围。在只要新图像拼 接到马赛克预览中则按需应用该縮放这一方面,该縮放是自动且动态的。此外,如 以下进一步描述,在不同实施方式中,来自相机的对应于当前内容窗口的实况输入 也被縮放以匹配马赛克预览的縮放。具体而言,给定相机取景器对用户的重要性(因此用户能够实际查看用相机 捕捉到什么),全景取景器提供允许用户增大表示相机取景器的当前内容窗口的尺 寸的不同附加实施方式。在其它实施方式中,与同一縮放整个马赛克预览不同,全 景取景器缩放和/或巻曲马赛克预览的部分以压縮马赛克预览的边缘。这种縮放的优点之一是允许相机取景器的当前内容窗口被显示在相对于总的马赛克预览图像 而言更大的窗口中。例如,在一实施方式中,"鱼眼模式"用于通过縮小取景器窗口外的某些内容 以为更大取景器创造附加空间来提供更大的相机取景器窗口。该变形可以是显性的 或非线性的。此外,在一实施方式中,为了确保向用户提供完成图像马赛克期望部 分所需的视觉辅助,将保留水平和垂直线的变形应用于马赛克预览中在相机取景器 的当前内容窗口外的哪些区域。具体而言,马赛克预览图像在相机取景器的当前内 容窗口上方和下方的部分被垂直压縮,并且马赛克预览图像在相机取景器的当前内 容窗口的左侧和右侧的部分被水平压縮。在相关实施方式中,"覆盖模式"用于允许相机取景器的当前内容窗口填满整 个屏幕。在本实施方式中,马赛克预览被縮小成在相机取景器的当前内容窗口上方 覆盖的一条线。然后,马赛克预览轮廓、任选剪切窗轮廓和示出相机取景器的当前 内容窗口的相对映射位置和大小的轮廓都表示为覆盖相机取景器的当前内容窗口 的显示的线。这些线可以是任何所需厚度、样式和色彩。然而,在紧密相关的实施 方式中,覆盖相机取景器的当前内容窗口的这些线是使用常规图像处理技术的"浮 雕"以最小化对相机取景器的使用的视觉干扰。在又一相关实施方式中,使用"调出模式",其中相机的LCD显示屏幕示出 正常马赛克预览图像,但是当相机取景器的当前内容窗口縮小到最小阈值以下(由 于马赛克预览图像的增长),相机取景器的当前内容窗口的更大副本在屏幕的最不 密集的填充区域中示出。然而,诸如只有轮廓的橡皮带、箭头、线等的调出指示符 将相机取景器的当前内容窗口的更大副本连接到被映射到整体马赛克预览图像内 的对应位置的较小副本。在又一实施方式中,摇摄马赛克预览以允许马赛克预览的部分"在屏幕外" 同时使当前显示窗口保持在屏幕上以避免将马赛克预览縮小到其中难以査看马赛 克预览或当前内容窗口中足够的细节。注意,以上相关于马赛克预览(以及相机取景器的当前内容窗口)的縮放和/ 或摇摄描述的特征通常对集成到数码相机的显示屏幕更加重要,因为这种屏幕通常 受限于尺寸和分辨率。然而,相同的特征可用于任何类型或尺寸的屏幕或显示器。3.4.3相机取景器("当前内容"显示窗口)如上所述,上述"当前内容"窗口基本上是表示接下来要捕捉的哪些图像的显示的整体相机显示的动态子区域,与常规数码相机的专用LCD "取景器"显示 屏幕类似。然而,与常规数码相机的取景器显示不同,在它自动映射到整体马赛克 预览图像的匹配位置这一方面,该实况当前内容窗口是动态的。结果,用户可立即 査看当前图像安置于现有整体马赛克的何处。在已测试实施方式中,使用诸如着色矩形的视觉边框来着重当前内容窗口。 然而,任何色彩、厚度或样式的线可用于此目的。此外,在相关实施方式中,与使 用线来划定当前内容窗口不同,该窗口只是简单地覆盖在整体马赛克图像上其对应 位置,该整体马赛克图像自身暗淡或以其它方式弱化以平衡当前内容窗口相对于该 整体马赛克预览图像的可视性。在任一情形中,重点是使用户立即明白要捕捉的任 何新图像将安置于现有马赛克的何处。如上所述,随着马赛克预览图像增长,相机取景器的当前内容窗口縮小。于 是该取景器窗口被映射到整体马赛克预览图像内的匹配位置。然而,同样如上所述(参看3.4.2节),包括上述"鱼眼"、"覆盖"和"调出"模式的不同附加实施方式用于避免将相机取景器的当前内容窗口縮小到其中用户难以参看该窗口内容的尺 寸以下。此外,由于其中相机取景器的当前内容窗口被自动映射到整体马赛克预览图像内的匹配位置所用的方式,当前内容窗口有可能部分在屏幕外(或者在360度马 赛克的情形中的甚至"断开")。因此,在一实施方式中,为了确保取景器在显示整 个马赛克预览图像时总是一片(并且完整),马赛克预览图像被摇摄(在任何必要 方向上)以便使当前内容窗口大致保持在屏幕的中心。然而,为了使当前内容窗口 免于在整体显示屏幕内移动过多,使用滞后来减小摇摄运动,即允许取景器离开中 心特定量(在经测试的实施方式中为50%);然后,仅当相机取景器的当前内容窗 口要超过该阈值时才对屏幕进行摇摄。注意,该摇摄可与3.4.2节中所述的马赛克 预览縮放技术中任一种结合使用。例如,图8示出马赛克预览图像的增长以及相机取景器的当前内容窗口的对 应收縮和映射。特别地,图8提供其上实现全景取景器的显示装置的四张图片序列。 如图8的图像(A)所示,场景810的第一捕捉图像被显示为基本上填满整个LCD 显示屏幕800。然而,如图(B)中所示,第二图像811—被捕捉,LCD显示800 的内容就以若干方式变化。首先,相机一为马赛克捕捉到第二(或后续)图像8U, 马赛克预览图像820就通过将新图像拼接到现有(或新的)马赛克中来生成。注意, 如红色轮廓线所示,图像(B)中的当前内容窗口 811中捕捉到的图像811的尺寸比图像(A)中的对应窗口 (810)小得多。接着,如图8的图像(C)和(D)所示,马赛克图像820随着在对应当前内 容窗口中捕捉附加图像812和813而继续增长。此外,显示为马赛克预览的覆盖的 任选剪切框830也继续增长。相反,在这些图像的每个中,当前内容窗口 (812和 813)的尺寸相对于其在整体马赛克预览图像820中的映射位置继续縮小。此外,随着马赛克增长,通常有必要巻曲图像以将这些图像拼接到增长的马 赛克中。该巻曲通常对说明改变用以捕捉不同图像所使用的相机角度和远景是有必 要的。因此,如图8中图像的进展中所示,当前内容窗口中图像的巻曲(从810 进行到811、到812、最后到813)通过增大的非矩形当前内容窗口示出。值得注 意的是,在图8中图像的进展中,并未以任何特定次序或方向捕捉用于构建马赛克 预览820的图像(810、 811、 812和813)。全景取景器简单地标识这些图像的适当 位置、缩放和巻曲并将它们拼接成整体马赛克,而无需用户以特定方向、重叠或取 向来捕捉图像。在图9中示出了基于图8的图像(D)中的剪切框830和马赛克预览820而生 成的经剪切的最终马赛克全景。此外,应该注意,虽然包含图8的图像(D)中的 马赛克预览的各种拼接图像显示不同的亮度水平,但是图9中所示的最终马赛克全 景将这些图像无缝地混合成整体全景的单个一致视图。图10A示出了与参照图8描述的示例类似的马赛克预览图像的增长以及相机 取景器的当前内容窗口的相应縮小和映射的概念示例。然而,与图8的图像不同, 在图10A中提供的12图像(图像(A)至图像(I))序列示出相机取景器的当前 内容窗口是固定的矩形(但不是固定大小)。在本实施方式中,当前内容窗口保持 其矩形同时马赛克预览自身绕矩形的当前内容窗口巻曲。如图8所示,图10A中所示的图像序列通常示出马赛克预览图像的创建、增 长和縮放以及当前内容窗口的对应映射和縮放。注意,任选剪切框并未在该图像序 列中显示。再次地,如图8的序列一样,为图IOA所示马赛克预览的创建所捕捉 的图像并未以任何特定次序或方向捕捉。全景取景器简单地标识这些图像的适当位 置、縮放和巻曲并将它们拼接成整体马赛克,而无需用户以特定方向、重叠或取向 来捕捉图像。3.4.4剪切框如上所述,任选"剪切框"只是在马赛克预览中着重的、用于指示马赛克预览中将免于对矩形区域的自动剪切的部分的矩形区域。通过分析马赛克预览以确定 可从马赛克预览提取而沿任一边缘无任何间隙的最大连续矩形部分,以此确定剪切 框的范围。此外,在它自动移动、縮放和调节(在X和Y轴上)成有任何新的图 像拼接到马赛克预览中时可从现有马赛克预览图像剪切的最大可能矩形尺寸这一 方面,剪切框是动态的。注意,在一实施方式中,马赛克内部的间隙是允许的而不影响剪切框的范围。然而,在一实施方式中(如3.4.5节中进一步详细描述的),向 用户自动提示这种间隙。存在许多使用剪切框着重将免于剪切的内容的方法。例如,在一实施方式中, 通过弱化马赛克预览中在剪切框内部区域外的部分,使用或不使用视觉线来实现剪 切框。在另一实施方式中,用"行进中的蚂蚁(marching ant)"型矩形框来实现剪 切框,其中动画点线选取框用于指示对马赛克预览的一部分的矩形选择。使用这类 剪切框的一个优点是许多用户熟悉使用诸如常规行进中的蚂蚁型选择指示符的动 画点线技术来在图像中选择物体。此外,弱化和线(固定或动画)可结合使用,以 指示剪切框的范围。例如,如图10B所示,剪切框的使用可与剪切框边界外的区域的弱化一起使 用。特别地,图IOB示出来自图10a的四张图像的子集(图像(G)、 (H)、 (I)和 (J))。然而,虽然在图10A提供的图像中关闭了剪切框1020,但是在图10B中已 打开。此外,图10B示出马赛克预览在剪切框1020之外的区域1010通过减小马 赛克预览的这些区域的亮度或辉度来进行弱化。此外,在另一实施方式中,也如图 IOB所示,如果当前内容窗口的映射位置落在剪切框1020之外,则当前内容窗口 1030中的内容(或内容的部分)也被弱化。在经测试的实施方式中,剪切框之外的区域,即将要丢弃的区域通过降低亮 度和对比度约57%的量级来弱化,即黑色被映射成黑色,而白色被映射成57%的 灰色(在0-255标度中=147)。此外,在相关实施方式中,弱化可由用户手动关闭, 例如以在明亮的阳光下实现LCD显示器的更好可视性或者简单地由于用户偏好。 在经测试的实施方式中,剪切框自身通过将受影响像素的亮度偏移128来再现,计 算为亮度=(亮度+128) %256。这意味着"蚂蚁(ant)"在亮背景上更暗,在黑背 景上更亮,并将辉度陡然变成50%亮度。然而,相机取景器的可读性(当前内容窗口)尤其重要,因为用户依赖它来 定位场景元素以及证实这些帧是否被正确拍摄。因此,为了确保可读性,在一实施 方式中,当前内容窗口从不被弱化,即使部分或全部位于剪切框之外。然而,在相关实施方式中,剪切框的"行进中的蚂蚁"视觉符号作为当前内容窗口上的覆盖而 保持可见,以便保持剪切框的一致性以及向用户示出新的帧安置于增长马赛克的何 处。此外,虽然剪切帧从不与马赛克预览的边缘交叉(由于这种交叉将导致结果 全景中的间隙或缺陷),但是它常常在延长线上与该边缘重合。在这种情况下,仅 再现剪切框的行进中的蚂蚁,并且在该位置上不再现绕马赛克预览的实线边框。这 种方法的一个优点是与例如通过将剪切框縮小几个像素或者通过使剪切框的边角 圆滑来尝试分离边缘和剪切框相比,存在更少的视觉干扰。最终,当剪切框通过增长步骤或通过改变形状而变化(作为附加图像的拼接 的结果)时,它即时采用其新的形状。虽然在一实施方式中已经实现慢入慢出(slow-in slow-out)类动画的使用,但是已经发现这种动画明显减小全景取景器的响应性。在经测试的实施方式中,对剪切框进行实时计算,因为全景取景器下的用户 界面十分依赖于其快速更新剪切框使得用户可及时査看所得全景范围的能力。以下 讨论描述了用于提供剪切框的实时计算的技术。具体而言,在一实施方式中,全景取景器的拼接算法将全景作为alpha编织合 成位像。为了调整剪切框的大小对其定位,系统计算只包含所有不透明像素的 最大内部矩形。计算任意形状多边形的最大内接矩形的问题在计算几何学界已有研 究。然而,常规技术需要将几何图形描述成多边形,这并不包括涉及内部透明区域 的情形(诸如马赛克中需要通过捕捉附加图像来填充的间隙)。而且,将经圆滑的 全景轮廓(由将输入图像巻曲以将它们映射到全景而得到)转换成多边形可能在计 算上比较昂贵。因此,在经测试的实施方式中,剪切框的计算在全景的基于像素表 示的基础上执行。例如,在最高水平上,剪切框的计算通过测试左上角和右下角的所有可能组 合来进行,由此测试可在给定区域中内接的所有可能的矩形。该技术通过用比运动 上边界低的期望区域来消除盒的左上角以及通过将对右下角的搜索限制在线性数 目的可能候选来获得实时性能。通过如此操作,确定剪切框的计算复杂度具有适于实时使用的大致0*。的复杂度,其中"是图片的宽度。该进程的详细步骤描述如下步骤l一下采样:为了性能更快,剪切框的计算通过创建下采样的全景位图版 本来开始。在经测试的实施方式中,位图通过因子4来下采样。然而,取决于可用的计算处理能力,也可以使用其它下采样因子。然后,在该下采样的位图版本上采 取所有进一步计算。步骤2 —预计算跨距长度:当计算矩形表面时,使用关于跨距长度的信息。由 于反复使用同一跨距信息,它按如下高速缓存。首先,创建两个阵列,出于说明目 的,第一阵列称为"宽度图像",而第二图像称为"高度图像"。对于每个像素,宽 度图像存储到该像素的右侧的水平跨距的长度,高度图像存储该下述下方的垂直跨 距的长度。两个图像通过从最后一行到达第一行并且在每行中从最后一列到第一列 而遍历全景来同时创建。由于每个跨距值基于其右邻居或下邻居产生,该步骤需要 0(^)操作。步骤3 —计算矩形表面:然后,剪切框的计算通过搜索最大的内部矩形来继续。 该搜索通过将找到的最大矩形初始化为区域O来开始。然后,从上至下、从左至右 地遍历该图像(a) 在每个像素位置,计算其左上角位于该像素位置上的最大可能矩形的尺 寸的上边。该上边被计算为水平跨距与垂直跨距的乘积一两者在宽度图像和高度图 像阵列中查找。(b) 如果上边小于当前的最佳(最大),则该像素不是所寻找的矩形的左上 角,评估下一像素。(C)如果该上边大于当前最佳,则用该特定左上角计算真实的最大矩形。为 了如此,该计算通过向下遍历宽度图像阵列的当前列以查找会导致最大矩形表面的 左下角来进行。在该遍历中,标识由任何左下角创建的最大矩形。该计算也跟踪正 在遍历的列中目前为止最短水平跨距的长度。具有给定左下角的矩形的宽度是从上 可见的最短跨距。对于该列中的每个像素,计算具有相应像素作为右下角的矩形的表面,即该 宽度与其距左上角的距离的乘积。更新最佳(最大)值直到所有像素被遍历。在最坏的情况下,如上所述,步骤3进行0&"次操作。然而,由于能够早些 结束,发现实际上它接近Ofn^并且适于实时要求。有意思的是,性能分析表明上 述计算技术在步骤1花费其时间的80%。因此,在一实施方式中,上述剪切框计 算进程通过在向增长全景添加新的输入图像时迭代计算宽度图像和高度图像来进 一步优化,而非对每个新的图像重新计算整个阵列。结果,步骤l中用于计算最大 剪切框的计算开销得到减小。3.4.5提醒用户马赛克中的问题如上所述,全景取景器的用户界面还包括与拼接马赛克中所标识的特定问题 相关的视觉提示、警告或指令。例如,在为全景拍摄图像时可能发生若干问题,诸 如拼接算法跟不上相机取景器(因此无法拼接在此时捕捉到的图像);可检测到 诸如重影或聚焦问题的缺陷;或者可能检测到剪切框内部中的间隙或其它不足。将实时的工作中的剪切与耦合到数码相机的用户界面组合的主要益处之一是全景取 景器可立即向用户通知这些问题并可帮助互动地解决它们。例如,当全景取景器标识了马赛克中的诸如缺失场景区域、重影问题、用于 成功拼接和混合的重叠不足等的缺陷时,一种方法是简单地将剪切框縮小以避开问 题区域。然而,通常比较可靠的是假设如果用户在较大区域捕捉图片则该用户可能 期望捕捉较大的全景。因此,在一实施方式中,在所标识的缺陷不与剪切框的边框 交叉的情形中,全景取景器假设用户宁愿拍摄带有所标识缺陷的较大马赛克图片而 不是一致但相对较小的马赛克。结果,全景取景器允许剪切框在缺陷上增大。然而,为了使用户在太迟之前 校正该缺陷,用动画图案和/或文字提示来着重该缺陷以将用户的注意力吸引到该 缺陷。然后,用户可简单地将相机取景器摇摄该区域,并按需重新拍摄一张或多张 图片,由此填充缺失或缺陷材料,并在随后消除该警告,因为问题己得到校正。注 意,当对标识为有问题的区域重新拍摄图像或"刷过"该区域时,全景取景器将分 析任何冗余图像信息并在校正全景中的缺陷期间从冗余信息自动选择最佳内容。对于重影,如果在拍摄全景时场景元素运动,则物体可在帧上不连续地出现 (即"重影")。全景取景器的拼接算法基于匹配帧的两个重叠版本之间的差异检测 重影。如果全景取景器检测到"重影",则对重影区域作标记或以其它方式着重, 诸如通过用鲜红色矩形或者其它提示或图标来覆盖该区域。然后,当用户通过在该 区域上再次刷过来修复该重印,则重影警告消失。如上所述,在重建图像马赛克期间可能发生的另一可能的问题是对于若干原 因中的任一种,拼接算法有时不知道图像应该安置于整体马赛克的何处。因此,向 用户提供的另一提示是"拼接失败"或"失去线索"型的提示。特别地,在一实施方式中,当拼接算法失败,从而无法将帧连接到全景的剩 余部分,则向用户提示。在实时拼接的情形中,待拼接的帧总是取景器的内容,所 以无法拼接也总是意味着系统也不知道相机透镜相对于整体马赛克在査看何处。当 这发生时,全景取景器继续示出取景器内容,但是它不知道将该图像安置到马赛克中的何处。当失去线索时,全景取景器的拼接算法继续尝试将通过取景器所参看到 的匹配到马赛克,但是还提醒用户该问题,以使用户可帮助全景取景器的拼接算法 重新获得线索。例如,如图12所示,当失去线索时,全景取景器继续显示整体马赛克预览1210的任选剪切框1220,并且还通过屏幕上的错误消息1230向用户通知拼接断开问题,诸如文本消息声明"失去线索。为了重新连接,将相机对准已经捕捉的区域。"同时,取景器框改变成提醒用户该问题。这种提示的一个示例是增加绕相机取景器的当前内容窗口 1240的轮廓大小并且任选地在非动画图标上添加附加的动画图标以 指示该问题(例如图12所示的闪电,或其它图标或指示符)。此外,由于当前内容 窗口不再映射到马赛克,所以它移动到尽可能地远离最后所捕捉(以及成功拼接) 的帧的位置以防止其阻挡最有可能帮助重新连接拼接算法的区域,即最后一帧。此外,在一实施方式中,全景取景器尝试告诉用户如何防止相同的错误再次 发生。因此,向用户提供的具体错误消息取决于拼接算法的其为何失去线索的假设。 例如,如果第一不匹配帧包含很少的结果(即洁净的蓝天),则拼接算法认为缺乏 纹理而导致了失去线索。由于这意味着它会在该区域反复失去线索,所以显示问题 的具体建议,有时该建议声明类似于"区域具有过少的待匹配纹理。尝试在捕捉附加图像之前变长焦。"变长焦有可能帮助拼接算法,因为它增加了在移回到低纹 理区域时包括远距离地标的机会。再次地,应该注意,全景取景器的拼接算法能够 縮放和巻曲图像以将它们拼接成全景。因此,变长焦和捕捉图像在构建马赛克时不 会造成问题(虽然变长焦区域的分辨率相对于未变焦区域的分辨率略为减小)。 或者,如果帧具有足够的纹理,则帧之间的过少重叠是失去线索的最可能解释。在这种情形中,全景取景器将再次提供问题的具体建议,有时建议类似于"再 试一次,但是更慢地移动相机或者提供更大面积的图像重叠"。注意,当在用户摇 摄相机自动拍摄图片时,全景取景器继续监视用户的摇摄速度。在相关实施方式中, 当用户移动过快使得帧之间的重叠降到某个预定阈值之下时,全景取景器将提醒该 用户摇摄速度超过最大允许摇摄速度。然后,全景取景器警告用户减小摇摄速度或 者不要操作当前摇摄速度。在另一相关实施方式中,动态"速度测量仪"等用于相 对于最高可能摇摄速度向用户示出速度(作为当前帧速率下图像之间的测量重叠的 函数)。结果,用户立即能够确定是可加速还是应当减慢摇摄速度。3.5用户与全景取景器的交互如上所述,全景取景器的优点之一是用户与全景取景器的交互与数码相机的 大多数用户所熟悉的交互类似。例如,常规数码相机的控件通常包括所示选择器和 快门按钮。在最简单的实施方式中,通过提供自动拍摄模式(在用户摇摄相机时) 以及通过向全景施加剪切框而不需要用户标识或划定剪切框的范围,本文所述的全 景取景器提供这些相同的基本控件。此外,如上所述,用户直接控制剪切框,即通过简单地拍摄更多图片来扩展 剪切框。然而,在一实施方式中,在用户已捕捉更多图像或者旨在更大的全景的事 件中,提供用于减小剪切框尺寸的相机控件。在这样的情况下,向用户呈现用于水 平和/或垂直地縮小剪切框以实现对最终全景的所需覆盖的控件。然而,应该注意, 在一方面,这种控件可被视为冗余,因为用户总是能够使用对由全景取景器生成的 任何全景进行事后处理来简单地将全景图像剪切成任何所需尺寸。3.7全景取景器的附加实施方式如上所述,全景取景器的不同实施方式包括附加能力,诸如通过自动删除冗 余图像内容来减小存储要求的能力;通过执行最终离线图像拼接来减小存储要求的 能力(在捕捉图像时向用户提供实时预览拼接);以及用于在图像被捕捉时用于触 发的各种方法。给定这些不同附加实施方式,存在用户可以完成或启用以便为附加图像或更 大的马赛克提供更多存储空间的若干操作。例如,以下是用户如何配置全景取景器 以执行实时和/或事后操作的选择
1. 实时拼接图像,当马赛克完成时将马赛克自动剪切到剪切框的边界并丢 弃原始图像。
2. 实时拼接图像,并剪切或不剪切,但是还保存原始图像。
3. 执行初步拼接,存储图像的空间关系数据,保留原始图像并使用所存储 的空间关系信息来初始化离线拼接以进行事后拼接。3.7.1通过删除冗余信息来减小存储/存储器如上所述,在一实施方式中, 一旦由于拼接和图像重叠而标识任何冗余信息, 用于存储附加图像的可用存储器就通过实时删除冗余图像信息而得到自动增大。在 操作中,本实施方式可由用户手动启用或停用,或者根据数码相机中的剩余存储空 间来自动启用。在相关实施方式中,简单地完全不记录冗余图像信息。特别地,如上所述, 在一实施方式中,在用户对为生成全景而捕捉的场景摇摄相机时自动捕捉图像。然 而,与以特定帧速率捕捉图像不同,在相机在场景上移动时,根据所计算的现有和 新的图像帧之间的重叠来捕捉图像。此外,在一实施方式中,当在已遍历区域上"刷 过"时,全景取景器的拼接算法根据不同参数只保持两遍中较好的一个,这些参数 包括例如每个图像与现有马赛克匹配的良好程度、所计算的图像焦点、以及图像中每一个是否向马赛克中引入重影。3.7.2通过使用离线拼接来减小存储/存储器如上所述,用于节省储存空间的另一方法是执行离线拼接,以避免在数码相 机的潜在有限的存储器中保存经拼接的全景。在本实施方式中,以一方式来执行初步拼接,该方式足以进行两个操作1)为相机LCD (或者其它显示装置)屏幕上 的显示生成马赛克预览图像;以及2)确定正在初步拼接的图像之间的空间关系。一旦确定了图像的相对位置,则该空间信息可作为数值信息而被简单地存储 并用于初始化随后的离线图像拼接。此外,与确定图像之间的空间关系一起,重叠 量也自然作为该工作的一部分来确定。因此,在相关实施方式中,如上所述,删除 冗余图像信息,以便为附加图像释放更多的相机储存空间。出于说明和描述目的在以上示出全景取景器的描述。这不旨在排除,或将本 发明限制于所公开的精确形式。根据以上示教,许多更改和变化都有可能。此外, 应该注意,以上替换实施方式的任一个或全部可在形成全景取景器的附加混合实施 方式所需的任何组合中使用。本发明的范围并非旨在由本详细描述限制,而是由所 附权利要求书限制。
权利要求
1.一种用于从场景图像集自动生成马赛克图像的相机,包括用于从由所述相机捕捉的图像执行马赛克图像的实时生成的装置,所述装置用于执行马赛克图像的实时生成而无需所述图像具有任何预定的空间关系;用于显示所述马赛克图像的显示屏幕;以及示出可能由所述相机捕捉的下一图像帧的通过所述相机的透镜的当前视图的显示窗口,所述显示窗口被实时地自动映射到所述显示屏幕上所显示的所述马赛克图像上的对应位置。
2. 如权利要求l所述的相机,其特征在于,还包括用于将剪切框映射到所述 马赛克图像上的装置。
3. 如权利要求2所述的相机,其特征在于,所述剪切框表示可从所述马赛克 提取而沿所述剪切框的任何边框没有图像数据间隙的最大可能的连续全景的范围。
4. 如权利要求l所述的相机,其特征在于,还包括用于在所述显示装置上自 动显示关于所述马赛克图像中缺陷的警告的装置。
5. 如权利要求l所述的相机,其特征在于,还包括用于根据在用户将所述相 机在场景上摇摄时所计算的图像重叠来自动触发图像捕捉的装置。
6. 如权利要求l所述的相机,其特征在于,还包括用于在所述马赛克图像的 实时生成过程中向所述马赛克图像添加每个图像时自动标识和删除冗余图像信息 的装置。
7. 如权利要求l所述的相机,其特征在于,还包括用于在向所述马赛克添加 图像时实时地自动縮放所述马赛克图像以适应所述显示装置的范围的装置。
8. 如权利要求7所述的相机,其特征在于,还包括用于根据所述马赛克图像 的所述縮放来自动縮放被映射到所述马赛克图像的所述显示窗口的装置。
9. 如权利要求l所述的相机,其特征在于,还包括用于在所述显示装置上自 动显示关于示出通过所述相机透镜的所述当前视图的所述显示窗口与在所述显示 屏幕上显示的所述马赛克图像之间的线索丢失的提示的装置,所述提示包括关于如 何重新获得将所述显示窗口自动映射到所述马赛克图像上的所述对应位置的所述 线索的建议。
10. —种具有用于自动生成实时马赛克预览图像的计算机可执行指令的计算机可读介质,所述计算机可执行指令包括 从输入相机接收多个输入场景图像;在从所述输入相机接收每个图像时从所述输入图像实时地构建马赛克图像, 并在耦合到所述输入相机的显示装置上显示所述马赛克图像;将所述输入相机的当前视图实时地作为所显示的马赛克图像上已映射覆盖来 显示;以及显示作为所述马赛克图像上已映射覆盖的经自动调整尺寸的剪切框,所述剪 切框示出马赛克图像上在对所述马赛克图像的自动剪切之后将保留的区域。
11. 如权利要求IO所述的计算机可读介质,其特征在于,还包括自动检测所 述马赛克图像上的缺陷,并且经由所述显示装置提供自动提示,所述提示针对所标 识的缺陷的类型。
12. 如权利要求IO所述的计算机可读介质,其特征在于,所标识的缺陷的所 述类型包括以下的任一个重影相关的缺陷; 图像间隙相关的缺陷;以及线索丢失缺陷,与将所述输入相机的所述当前视图映射到所述马赛克图像以 及将所述输入图像之一映射到所述马赛克图像以用于构建所述马赛克图像中的任 一个相关。
13. 如权利要求10所述的计算机可读介质,其特征在于,所构建的所述马赛 克图像是低保真度的预览图像,并且关于用于构建所述低保真度预览图像的所述输 入图像之间的空间关系的初步图像拼接信息被存储并用于初始化所述输入图像的 事后拼接以构建最终的马赛克图像。
14. 如权利要求IO所述的计算机可读介质,其特征在于,所述马赛克图像是 最终马赛克图像,并且在向所述最终马赛克图像添加每个图像时,用于构建所述最 终马赛克图像的所述输入图像被自动丢弃。
15. 如权利要求IO所述的计算机可读介质,其特征在于,还包括根据在所述 相机摇摄场景时所计算的图像重叠,从所述输入相机自动触发图像捕捉。
16. —种用于经由迭代取景器显示来生成马赛克图像的系统,包括 在由相机设备捕捉多个输入图像时,从所述相机装置向计算装置实时地提供所述图像;在由所述计算装置从所述相机装置接收每个图像时,从所述输入图像实时地构建马赛克图像;在从所述输入图像实时地构建所述马赛克时,在耦合于所述计算装置的显示 装置上实时地显示所述马赛克图像;显示示出通过所述相机装置的相机透镜的当前视图的取景器窗口,所述取景 器窗口被实时地自动映射到在所述显示装置上显示的所述马赛克图像上的对应位 置;以及显示作为所述马赛克图像上的己映射覆盖的经自动调整尺寸的剪切框,所述 剪切框示出所述马赛克图像上在所述马赛克图像的自动剪切之后将保留的区域。
17. 如权利要求16所述的系统,其特征在于,所述计算装置与所述相机一体化。
18. 如权利要求16所述的系统,其特征在于,还包括在所述马赛克图像的实 时构建过程中向所述马赛克图像添加每个图像时,从所述输入图像自动标识和删除 冗余图像信息。
19. 如权利要求16所述的系统,其特征在于,所述马赛克图像是360度马赛 克图像。
20. 如权利要求16所述的系统,其特征在于,还包括自动检测所述马赛克图 像中的缺陷,并且经由所述显示装置提供自动提示,所述提示针对所标识的缺陷的 类型。
全文摘要
“全景取景器”提供在数码相机显示屏幕上操作的直观交互式取景器显示。该直观取景器在捕捉用于构建全景图像马赛克时提供实时帮助。全景取景器从以任何次序捕捉的图像“刷”全景,同时向用于提供视觉反馈用于确保所需场景元素出现在最终全景中。该视觉反馈示出捕捉图像时全景的实时拼接预览。在一实施方式中,全景取景器的取景器显示包括示出所捕捉图像的拼接马赛克预览的“马赛克预览”;表示相机取景器的“当前内容”的实况显示窗口,它被映射到马赛克预览中的匹配位置;以及覆盖马赛克预览上的任选全景“剪切框”,它示出马赛克上将免于马赛克的矩形剪切的部分。
文档编号G03B17/18GK101228477SQ200680027234
公开日2008年7月23日 申请日期2006年7月28日 优先权日2005年7月28日
发明者C·保尔, D·斯蒂勒, D·谭, E·鲁多夫, M·尤特纳达勒, P·巴蒂舒, R·茨勒利姿 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1