首页> 中国专利> 移动和服务器端计算摄影

移动和服务器端计算摄影

摘要

实现自动摄影捕获辅助和分析以辅助用户捕获所需图像场景的充足和最佳图像以便用于摄影最终产品中。摄影捕获辅助在包括用户的相机的设备上被实现。图像捕获辅助可以包括在包括所述用户的相机的设备本地实时生成的音频和/或图像信息,并且通知所述用户所述图像场景的另外的图像应当在何处被捕获和/或对于所述图像场景当前是否存在充足的已捕获图像。

著录项

  • 公开/公告号CN102948140A

    专利类型发明专利

  • 公开/公告日2013-02-27

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201180030162.4

  • 发明设计人 B.陈;E.奥菲克;

    申请日2011-06-04

  • 分类号H04N5/225(20060101);H04N5/262(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人董宁;汪扬

  • 地址 美国华盛顿州

  • 入库时间 2024-02-19 17:23:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    专利权的转移 IPC(主分类):H04N5/225 变更前: 变更后: 登记生效日:20150429 申请日:20110604

    专利申请权、专利权的转移

  • 2015-02-11

    授权

    授权

  • 2013-04-03

    实质审查的生效 IPC(主分类):H04N5/225 申请日:20110604

    实质审查的生效

  • 2013-02-27

    公开

    公开

说明书

背景技术

例如蜂窝电话的移动设备现今具有日益复杂和增强的相机,所述相机支持用户捕获高质量的摄影图像和视频,其中,摄影图像和视频在本文中统称为图像。此外,移动设备现今进一步具有日益丰富、高性能的计算能力,即是其自身具有可被输送给无数应用的大量计算能力的计算机设备。

照片合成是可从移动设备的技术进步中获益的技术的示例。照片合成使用户能够使用其照片创建三维(3D)浏览体验,即照片合成。为创建照片合成,用户通过捕获一组图像或照片开始,所述一组图像或照片必须重叠、覆盖将在3D中生成的场景,并且包含用于允许生成丰富的照片合成的充足纹理(textural)细节。由于移动设备中的相机的高质量,现今用户可以使用其移动设备来捕获用于照片合成的图像。

一旦被捕获,则用于照片合成的图像被下载到计算机或计算机设备以便被处理。取决于图像的质量和分辨率、照片合成的主题的详情以及计算设备处理器的能力,图像的处理或合成可能花费许多小时。在合成之后,图像和关联的元数据被上传到照片合成服务器。此时,用户可以最终在3D中浏览和体验其图像,或者可替换地,发现其未能捕获充足数量和/或可接受质量的、用于渲染其3D或高质量3D图像的主题图像。

因为用户不能预测最终产生的照片合成的质量,所以在生成照片合成和发现该生成未能达到预期目标这两者时,都可能出现失望。例如,为试图确保用户捕获用于主题的适当覆盖和重叠的全部必要图像,他们可以摄取同一图像的比最终必要的多得多的冗余照片。该冗余捕获活动可能大大增加用户捕获照片所花费的的时间。过度冗余照片捕获可能还使用大量存储空间,所述大量存储空间可能阻碍整个过程和/或导致其自己的问题,例如,相同拍摄(shot)的过多图像可以导致没有存储可用于主题的其它必要拍摄的图像。最后,过度冗余照片捕获可能产生用户厌倦,减损该活动和用户的最终乐趣以及去创建例如照片合成的基于图像项目的欲望,导致除最狂热的爱好者之外没人这么做。

此外,因为用户不能预测最终产生的例如照片合成的基于图像项目的质量,并且例如在本文中也称为合成(synthing)的合成(synthesizing)的实际项目生成可能是耗时的,所以,当其后的项目生成失败,例如最终产生的3D图像质量低劣或由于缺失和/或低质量图像而根本不能被生成时,可能导致用户的厌倦。在此情况下,用户可能不得不返回到主题的场景,并且尝试捕获缺失的图像,这施加额外的用户时间和努力。并且,在某些情况下,用户可能不能够捕获所需的额外图像,例如,主题场景不再对用户在逻辑上可访问,结果导致浪费的用户努力和额外的用户不满。

由此,期望使用用户的移动设备的计算和通信能力来辅助用户捕获用于照片合成或其它基于图像项目的主题的所需、高质量图像。

发明内容

提供本发明内容来以简化形式介绍下面在具体实施方式中进一步描述的概念的选摘。本发明内容不旨在标识所要保护的主题的关键或必要特征,也不旨在被用于辅助确定所要保护的主题的范围。

本文中讨论的实施例包括系统和方法,所述系统和方法用于实现,对将被用于生成摄影最终产品的针对图像场景的当前已捕获图像充足性的实时、自动确定。

本文中讨论的实施例包括系统和方法,所述系统和方法用于实现,在已确定为能够产生完整的摄影最终产品应当捕获额外的图像的情况下,对图像场景的区域的实时、自动识别。

在实施例中,从识别出的所需图像场景的当前已捕获图像中挖掘出元数据。在实施例中,所述元数据在执行一个或多个捕获算法时被使用,所述捕获算法导致生成信息,所述信息可以包括用于生成摄影最终产品的已捕获图像的充足性,和/或建议针对其捕获一个或多个图像的所需图像场景的一个或多个区域或所需图像场景的部分的标识。在实施例中,生成的信息用于向用户提供关于区域的位置的信息,其中,建议针对所述区域捕获一个或多个图像。

在实施例中,元数据在包括用于捕获图像的相机的用户移动设备的本地被挖掘出。在实施例中,捕获算法的执行也在所述用户移动设备的本地被执行。

附图说明

现在将参考旨在示例并且不旨在限制的特定实施例和示例的图描述这些和其它特征,并且其中:

图1示出了实施例照片图像情景。

图2示出了在本文中也称为md 照片 cap app的实施例移动设备照片捕获应用。

图3示出了可以用于确定一组已捕获图像的充足性的实施例比较算法。

图4A和4B示出了由实施例方向算法生成的示例性图像比较结果。

图5A和5B示出了由实施例单应性(homography)算法生成的示例性图像比较结果。

图6示出了示例性增强的现实可视化,其通知用户关于用于示例性图像场景的已捕获图像的充足性以及对应的不充足性。

图7A-7C示出了针对实施例md 照片 cap应用的实施例逻辑流,其中,实施例比较算法在用户的移动设备上被执行。

图8A-8B示出了针对实施例md照片cap应用的实施例逻辑流,其中,实施例比较算法在除用户的移动设备之外的计算设备上被执行。

图9A-9C示出了针对实施例计算设备与用户移动设备进行通信以便捕获所需图像的实施例逻辑流。

图10A是可以处理软件,即程序代码或指令的示例性基础计算设备系统的框图。

具体实施方式

在以下说明书中,出于解释的目的,为提供对本文中所描述实施例的透彻理解而阐述了众多特定细节,然而,对本领域的技术人员将显而易见,实施例可以在没有这些特定细节的情况下被实践。在其它情况下,为避免不必要的模糊,众所周知的结构和设备或者被简单地引用,或者以框图形式被示出。贯穿始终所使用的任意和全部标题仅是为了易于阐述,并不是用于任何限制性使用。

图1示出了实施例照片图像情景。在一个实施例中,用户110想摄取其前面的示例性图像场景100的照片或视频,所述照片或视频在本文中也称为照片或统称为图像。在一个实施例中,用户110想摄取图像以用于照片合成;即,主题图像场景的三维(3D)浏览体验。在其它实施例中,用户110想摄取图像用于其它用途,例如用于生成全景十字绣(panoramic stitch),即,被缝合到一起以生成主题图像场景100的全景视图的相关图像的无缝集合;用于生成外观捕获图像,即,从一个或多个相关图像创建的显示或突出显示主题的外观的图像,所述主题的外观例如是苹果有光泽的表面、浸湿的抹布的湿纹理等;等等。

在一个实施例中,用户110使用例如是蜂窝电话、智能电话等的移动设备120的相机190来捕获图像场景100的图像170。在一个实施例中,移动设备120具有无线地与计算设备130进行通信140的功能。在一个实施例中,计算设备130是计算机或任意能够执行软件指令的设备,例如服务器、云、该用户的计算机等。

在实施例中,移动设备120由于多种原因中的一个或多个而与计算设备130进行通信140,所述多种原因包括但不限于:将捕获的图像170发送到计算设备130进行存储和/或处理,接收有关一个或多个捕获的图像170的反馈,获取同一图像场景100的之前捕获的图像或图像场景100的一个或多个片段180即部分,接收关于图像场景100的已捕获图像170的集合以便生成例如照片合成、全景十字绣等的摄影最终产品115的信息,接收关于仍然需要被捕获图像170的图像场景100的方面或片段180以帮助确保摄影最终产品115质量的信息等,等等。

在另一实施例中,用户110使用具有与用户110并且无线地与计算设备130进行通信的能力的相机来捕获图像场景100的图像170。

在一个实施例中,在任一时间,移动设备120具有期望图像场景100或期望图像场景100的片段180的图像视图150。在图1的示例性图像场景100中,移动设备120被示为具有一组树160的当前图像视图150,该视图包含整个示例性图像场景100的片段180。

在一个实施例中,在移动设备120上执行的、在本文中也称为md照片cap app的移动设备照片捕获应用帮助用户110捕获用于本文中也称为摄影最终产品115的基于图像项目的期望图像场景100的必需图像170,例如以用于生成照片合成、照片十字绣等。一个实施例md照片cap app 200的实施例部件在图2中示出。

参考图2,一个实施例md照片cap app 200具有图像处理管理器210,该图像处理管理器210具有管理或引导对图像场景100的图像170的捕获和处理的能力。在一个实施例中,图像处理管理器210还具有这一能力:检索图像场景100的预捕获的图像270,以便结合本地获得的已捕获图像170用于建立在基于图像的项目115中使用的一组图像170。

在一个实施例中,md照片cap app 200具有,可访问或关联于(在本文中统称为具有)已存储图像265的本地照片数据库220。在一个实施例中,已存储图像265是图像场景100的已由移动设备120的相机190本地摄取的图像170。在一个实施例中,已存储图像265是由移动设备120的相机190本地摄取并存储在其中的全部图像170,其可以包括所需图像场景100的图像170和其它图像场景的图像。在一个实施例中,已存储图像265可以包括从计算设备130检索出的图像270,例如,示出当前所需图像场景100的一个或多个方面180的、存储在位于服务器或云上或者服务器或云可访问的全局数据库中的图像270,示出当前所需图像场景100的一个或多个方面180的、存储在用户的计算设备上或用户的计算设备可访问的图像270等。

在一个实施例中,md照片cap app 200具有服务器通信接口235,该接口235具有与计算设备130进行通信140的能力。在一个实施例中,服务器通信接口235用于将一个或多个已捕获图像170和/或已存储图像265发送到计算设备130进行存储和/或处理。在一个实施例中,服务器通信接口235用于将一个或多个图像270从计算设备130下载到本地照片数据库220。

在本实施例的一方面中,服务器通信接口235下载一个或多个图像270,所述一个或多个图像270示出当前所需图像场景100或当前所需图像场景100的一个或多个方面180,例如图像视图150。在本实施例的一方面中,md照片cap app 200使用已下载图像270来识别是否存在应当被捕获的当前图像场景100的额外图像170。在本实施例的一方面中,md照片cap app 200使用已下载图像270来确定,如果额外图像170应当被摄取,那么哪些额外图像170应当被摄取,即,哪些图像视图150或图像场景方面180还未被捕获。

在一个实施例中,服务器通信接口与计算设备130进行通信140,以便为计算设备130提供针对一个或多个已存储图像265的元数据和/或从对一个或多个已存储图像265的分析导出的信息。

在一个实施例中,服务器通信接口235从计算设备130接收信息,所述信息是从对图像场景100的一个或多个图像170的分析产生的,被md照片cap app 200用于自动捕获图像场景100的一个或多个额外图像170,和/或指示用户100捕获一个或多个额外图像170。

在一个实施例中,md照片cap app 200具有相机传感器控制器225,相机传感器控制器225具有跟踪和控制用于移动设备120的相机190的一个或多个方向传感器的能力。在一个实施例中,用于移动设备相机190的方向传感器是指南针,该指南针提供相机镜头当前指向的距地球北方向轴的方向。在一个实施例中,用于移动设备相机190的其它方向传感器是一个或多个回转仪传感器,所述一个或多个回转仪传感器跟踪和控制相机镜头在垂直通道(access)上的倾斜(tilt)和在水平通道上的摇摄(pan)。在一个实施例中,用于移动设备相机190的另一方向传感器是GPS(全球定位系统)传感器,其识别移动设备相机190的位置。在实施例中,这些方向传感器的子集、例如焦距传感器等的另外和/或其它方向传感器被实施例移动设备相机190包括和使用。

在一个实施例中,相机传感器控制器225将从一个或多个方向传感器收集的信息中继到图像处理管理器210以用于引导用户110捕获所需图像170。在一个实施例中,相机传感器控制器225将从一个或多个方向传感器收集的信息中继到图像处理管理器210以用于向用户110显示所需图像场景100的那些已被或还未被足够多地捕获(例如摄取)的方面180,如本文中参考图6进一步讨论的那样。在一个实施例中,相机传感器控制器225将从一个或多个方向传感器收集的信息中继到图像处理管理器210,以用于听觉上通知用户110针对所需图像场景100用户110应当捕获哪些额外(多个)图像170。

在一个实施例中,相机传感器控制器225将从一个或多个方向传感器收集的信息中继到图像处理器管理器210以便上传到计算设备130。在一个实施例中,计算设备130针对特定一个或多个已捕获图像170分析从一个或多个方向传感器收集的信息,以用于确定针对所需图像场景100令人满意的图像170是否已被捕获,或者可替换地,是否图像场景100的一个或多个额外图像170应当被捕获。

在一个实施例中,从一个或多个方向传感器收集的信息被作为元数据与对应已捕获图像170包括在一起。

在一个实施例中,相机传感器控制器225将从一个或多个方向传感器收集的信息中继到图像处理管理器210,以用于分析如何修改相机镜头定位来针对图像场景100捕获所需图像视图150。在本实施例的一方面中,图像处理管理器210使用由相机传感器控制器225收集的信息来确定相机镜头当前被对准哪里,即计算出的相机镜头位置,以及由此导致的当前图像视图150,并且将此与用于针对所需图像场景100的一个或多个已存储图像265的信息进行比较。在本实施例的一方面中,图像处理管理器210使用所述比较数据来计算,为获取基于图像的项目115所需的图像170的图像视图150,相机镜头应当被指向哪里。

在一个实施例中,图像处理管理器210经由用户音频接口250为用户110提供计算出的相机镜头位置或例如音频方向的从其导出的信息,以便引导用户110将其移动设备相机190对准预定位置以获取当前所需图像视图150并随后捕获所需图像170。在另一实施例中,图像处理管理器210经由GUI 245为用户110提供计算出的相机镜头位置或从其导出的信息(例如方向、地图、具有指向其一方面的指针的图像场景100的图等),以便引导用户110将其移动设备相机190对准预定位置以获取当前所需图像视图150并随后捕获所需图像170。

在一个可替换实施例中,图像处理管理器210使用计算出的相机镜头位置来引导相机传感器控制器225自动重定位相机镜头。在该可替换实施例的一方面中,图像处理管理器210此后命令相机控制器260,该相机控制器260具有自动捕获当前图像视图150的图像170的能力。在该可替换实施例的一方面中,md照片cap app 200将自动捕获的图像170存储在本地照片数据库220中。

如已指出的,在一个实施例中,相机传感器控制器225将从一个或多个方向传感器收集的信息中继到图像处理管理器210,其中,图像处理管理器210连续复查并与关于所需图像场景100的已存储图像265的信息进行比较。在第二可替换实施例中,当图像处理管理器210识别出推导(entail)待捕获的图像视图150的相机镜头位置时,图像处理管理器210引导相机控制器260自动捕获图像170。

在第三可替换实施例中,当图像处理管理器210识别出包含将被捕获的图像视图150的相机镜头位置时,图像处理管理器210通知用户110捕获图像170,例如摄取照片170。

在该第三可替换实施例的一方面中,图像处理管理器210在特定相机镜头位置处命令用户音频接口250通知用户110捕获一个或多个图像170。例如,用户音频接口250可以在用户110使移动设备相机镜头指向针对所需图像视图150的正确位置处时向用户110发出例如嘟声的音频信号。作为第二示例,用户音频接口250可以随着用户110将其移动设备相机镜头移动到指向所需图像视图150而改变音频信号输出,例如,当相机镜头不在图像视图位置处时输出的断续嘟声,其在相机镜头位于所需图像视图150处时逐渐改变为一个连续嘟声。作为第三示例,用户音频接口250可以随着用户110将移动相机镜头放置得更靠近并最终位于所需图像视图150处而提高音频信号的音调和/或响度。

在该第三可替换实施例的一个可替换方面中,图像处理管理器210在一个或多个相机镜头位置处命令视觉GUI 245生成并向用户110输出显示,以通知用户110捕获一个或多个图像170。例如,视觉GUI 245可以带有颜色覆盖地显示当前图像视图150,该颜色覆盖从当相机镜头不在适当位置处时的清晰改变为当用户110将相机镜头指向图像170捕获所需的图像视图150时的黑色。作为第二示例,视觉GUI 245可以用第一指针和第二指针显示所需图像场景100或其方面180,其中,第一指针指示相机镜头当前所指向的地方以及第二指针指示所需图像视图150,并且视觉GUI 245随着用户110改变相机镜头位置而重定向第一指针,直到第一指针和第二指针被覆盖,其指示相机镜头位于针对所需图像视图150的正确位置处。

在一个实施例中,md照片cap app 200具有图像质量控制器230,该图像质量控制器230具有命令相机传感器控制器225改变相机镜头的位置以便为已捕获图像170的质量控制进行调节的能力。例如,图像质量控制器230可以命令相机传感器控制器225向下倾斜相机镜头一度或多度,以便针对眩光(glare)进行调节,其中,该眩光否则将导致过度感光的已捕获图像170。

在一个实施例中,图像质量控制器230具有修改已捕获图像170以便针对质量控制进行调整的能力,例如,调整已捕获图像170的色调、颜色、饱和度、明暗等以增强已捕获图像170并将其渲染为可用于摄影最终产品115。在一个实施例中,图像质量控制器230将修改过的已捕获图像170存储为本地照片数据库220中的已存储图像265。

在一个实施例中,md照片cap app 200具有照片数据库组织器205,该照片数据库组织器205组织、分析并跟踪本地照片数据库260中的已存储图像265。在一个实施例中,照片数据库组织器205将已存储图像265组织为,使得同一图像场景100的已存储图像265——已捕获的170和已下载的270这两者——被分组或组织在一起。在一个实施例中,照片数据库组织器205分析已存储图像265并从其挖掘或收集元数据。在一个实施例中,照片数据库组织器205存储来自已存储图像265的挖掘出的元数据。在一个实施例中,来自已存储图像265的元数据被md照片cap app 200用于辅助确定图像场景100的方面180,其中,针对该图像场景100的方面180存在对应的已存储图像265。

在一个实施例中,照片数据库组织器205与图像处理管理器210进行通信,以便为图像处理管理器210提供关于针对所需图像场景100的现有已存储图像265的信息,所述信息例如是已存储图像265的内容的标识,包括其特征、已存储图像265的主题、已存储图像265被捕获的日期、已存储图像265被捕获所在的一天中的时间、已存储图像265中所示的任何个人的识别、捕获已存储图像265的用户110的身份等。

在一个实施例中,md照片cap app 200具有照片合成器215,该照片合成器215具有这样的能力:分析针对图像场景100的一个或多个已存储图像265,并生成对于为渲染例如照片合成、照片缝合等的摄影最终产品115是否存在所需图像场景100的足够图像的分析。在一个实施例中,照片合成器215可以实时地确定,存在针对所需图像场景100或所需图像场景100的一个或多个方面180的充足已存储图像265,或可替换地,针对图像场景100的一个或多个额外图像170应当被捕获。

在一个实施例中,照片合成器215的分析被md照片cap app 200用于在用户110仍然在所需图像场景100处时实时地通知用户110其应当捕获一个或多个额外图像170。在一个实施例中,照片合成器215的分析被md照片cap app 200用于引导或指示用户110其应当捕获所需图像场景100的哪个(些)额外图像170。

在一个实施例中,照片合成器215使用一个或多个比较算法来实施分析,所述分析是针对已存储图像265的集合或子集对于图像场景100的完整性。在一个实施例中,由照片合成器215执行的(多个)比较算法通过一个或多个因素来确定,所述因素包括但不限于:执行md照片cap app 200的微处理器的计算能力,对md照片cap app 200施加的用于实施图像或照片集合分析确定的时间限制,实施的图像集合分析确定的所需精确度等。

图3示出了被实施例照片合成器215用于实施图像集合分析确定的一组实施例比较算法300,其中,所述图像集合分析确定指示针对图像场景100或图像场景100的方面180存在足够的已存储图像265,或者可替换地,一个或多个额外图像170应当被捕获。在其它实施例中,更多、更少或不同的比较算法300可以被实施例照片合成器215用于实施图像集合分析确定。

参考图3,第一实施例比较算法300是方向算法310。在一个实施例中,方向算法310使用来自移动设备的位置方向传感器的信息来从至少一个角度识别已捕获图像170的图像视图150。在一个实施例中,例如GPS、指南针、倾斜、摇摄范围等的位置方向传感器信息被作为包括在每个已存储图像265的数据中的元数据而存储。在一个实施例中,照片合成器215执行一个实施例方向算法310来比较针对所需图像场景100的两个或多个已存储图像265的位置方向传感器信息。在一个实施例中,比较导致针对一个已存储图像265生成的视图150的计算出的区域然后用至少一个其它已存储图像265的视图150的计算出和生成的区域覆盖或与其并置。在一个实施例中,视图覆盖或其缺少的结果区域可确定,是否存在用于生成令人满意的摄影最终产品115的图像场景100或图像场景100的方面180的充足的已存储图像265,或者可替换地,一个或多个额外图像170还应当被捕获。

例如并且参考图4A,假设存在针对所需图像场景100的两个已存储图像A 400和B 410。在一个实施例中,当已存储图像A 400和已存储图像B 410这两者都被捕获时,通知每个图像的例如GPS、指南针、焦距、摇摄范围、倾斜等的视图区域的元数据被识别和存储。在一个实施例中,图像的视图区域或图像视图150描述关于当对应图像170被捕获时相机正在摄取图片所处的相机镜头的位置方向的信息。在该示例的第一实例中,图像A的视图区域420仅略微重叠440图像B的视图区域430。在一个实施例中,在该第一示例性实例中,方向算法310确定图像A 400与图像B 410之间存在不充足的重叠440,并且由此,一个或多个额外图像170应当在图像A 400的图像视图420与图像B 410的图像视图430之间被捕获。

参考图4B,在该示例的第二实例中,图像A的视图区域450现在显著得多地与图像B的视图区域460重叠470。在一个实施例中,在该第二示例性实例中,方向算法310确定图像A 400与图像B 410之间存在充足的覆盖470,并且由此,不再需要在图像A 400的图像视图450与图像B 410的图像视图460之间捕获任何额外图像170。

在一个实施例方向算法310中,将最后捕获的图像170与之前捕获的已存储(多个)图像265进行比较。在该实施例的一方面中,相比较的之前已捕获的已存储图像265是在最后捕获的图像170之前紧挨着被捕获的图像170。在该实施例的另一方面中,相比较的之前已捕获的已存储图像265是这样的图像170,该图像170的位置方向元数据将其图像视图150标识为处在最靠近由最后捕获的图像170的位置方向元数据定义的图像视图150的位置处。在该实施例的其它方面中,相比较的之前已捕获的已存储图像265针对其它特征或特征的组合来选择,例如最新近捕获的具有位置上最靠近最后捕获的图像170的图像视图150的图像视图150的图像等。

在一个实施例方向算法310中,基于两个或多个已存储图像265的各种组合的比较,已存储图像265的链被组织(或生成)并且存储。在一个实施例中,已存储图像265链是图像场景100的位置上邻近的已捕获图像170的集合,即示出图像场景100的位置上邻近的方面180的图像170的集合。

在一个实施例中,第二比较算法300是特征枚举算法320。在一个实施例中,特征枚举算法320识别并比较两个或多个已存储图像265中示出的类似特征的数量,即(多个)同类型项或(多个)同类型项的(多个)方面的数量。在一个实施例中,产生的已识别类似特征的量被用于确定是否存在用于生成令人满意的摄影最终产品115的图像场景100或图像场景100的方面180的充足的已存储图像265,或者可替换地,一个或多个额外图像170还应当被捕获。

在一个实施例中,特征枚举算法320提取或识别最后捕获的图像170中的一个或多个预定的兴趣点,例如转角、角度、墙、树等。在一个实施例中,特征枚举算法320将来自最后捕获的图像170的已识别兴趣点与一个或多个之前捕获的已存储图像265中的已提取兴趣点比较,并实施对被比较图像具有多少共同兴趣点的确定。在一个实施例中,如果被比较的已存储图像265具有阈值数量的共同兴趣点,例如三个、四个等,则特征枚举算法320确定存在针对图像场景100或图像场景100的方面180的充足已存储图像265。在一个实施例中,如果被比较的已存储图像265具有少于阈值数量的共同兴趣点,则特征枚举算法320确定存在一个或多个仍将被捕获的图像170。

在一个实施例中,特征枚举算法320在这一前提下运行:如果在图像场景100或图像场景100的方面180的两个或多个已存储图像265之间存在充足的共享兴趣点,则特征枚举算法320可以计算出被比较的已存储图像265在何处与一个或多个其他被比较的存储图像265一致或重叠。

在一个实施例特征枚举算法320中,将最后捕获的图像170与之前捕获的已存储(多个)图像265进行比较。在该实施例的一方面中,被比较的之前已捕获的已存储图像265是在最后捕获的图像170之前紧挨着捕获的图像170。在该实施例的另一方面中,被比较的之前捕获的已存储图像265是这样的图像170,该图像170的位置方向元数据将其图像视图150识别为处在最接近由最后捕获的图像170的位置方向元数据定义的图像视图150的位置处。在该实施例的其它方面中,针对其它特征或特征的组合选择被比较的之前捕获的已存储图像265,例如最新近捕获的这样的图像,该图像具有位置最邻近最后捕获的图像170的图像视图150的图像视图150,等等。

在一个实施例中,特征枚举算法320知道其正在已存储图像265中识别的兴趣点。在一个实施例的该方面中,特征枚举算法320不关心确定被比较的已存储图像265之间的兴趣点——例如在两个被比较的已存储图像265的每个中识别的转角——是严格相同的兴趣点。换句话说和例如,在该实施例的一方面中,特征枚举算法320识别例如图像A和B的两个或更多个被比较图像中的转角的数量,并且确定图像A具有四个转角并且图像B具有三个转角,但特征枚举算法320并不确定图像A中的四个转角中的任一个是否是与图像B中所示的三个转角中的任一个相同的转角。

在一个实施例特征枚举算法320中,基于对两个或更多个已存储图像265的各种组合的比较,已存储图像265链被组织(或生成)并且存储。在一个实施例中,已存储图像265链是位置上邻近的图像场景100的已捕获图像170的集合。

在一个实施例中,第三比较算法300是特征跟踪算法330。在一个实施例中,特征跟踪算法330跟踪两个或更多个已存储图像265之间的一个或多个特征,即兴趣点。在该实施例的一方面中,特征跟踪算法330跟踪最后捕获的图像170与一个或多个之前捕获的已存储图像265之间的一个或多个特征。在一个实施例中,特征跟踪算法330实施这样的确定:被比较图像265是否共享充足的所跟踪特征以指示图像场景100或图像场景100的方面180的令人满意的细节已被捕获,或可替换地,一个或多个图像170还应当被捕获。

在一个实施例特征跟踪算法330中,将最后捕获的图像170与一个或多个之前捕获的已存储图像265进行比较。在该实施例的一方面中,被比较的之前捕获的已存储图像265是这样的图像170,该图像170在最后捕获的图像170之前紧挨着被捕获。在该实施例的另一方面中,被比较的之前捕获的已存储图像265是这样的图像,该图像的位置方向元数据将其图像视图150识别为处在最邻近由最后捕获的图像170的位置方向元数据定义的图像视图150的位置处。在该实施例的其它方面中,针对其它特征或特征的组合选取被比较的之前捕获的已存储图像265,例如,最新近捕获的这样的图像,该图像具有位置最靠近最后捕获的图像170的图像视图150的图像视图150,等等。

在一个实施例中,特征跟踪算法330知道其正在各种已存储图像265中识别的特定兴趣点,例如,特征跟踪算法330知道在两个被比较的已存储图像265的每个中识别的三个转角中的两个是精确相同的建筑的精确相同的转角。换句话说和例如,在一个实施例中,特征跟踪算法330识别两个图像A和B中的建筑的转角的数量,并且确定,图像A具有四个转角,该四个转角中的三个示出与图B中所示的五个转角中相同建筑的相同三个转角。

在一个实施例中,如果通过特征跟踪算法330比较的已存储图像265具有阈值数量的共同特征,例如三个、四个等,则特征跟踪算法330确定,存在针对图像场景或图像场景100的方面180的充足已存储图像265。在一个实施例中,如果被比较的已存储图像265具有少于阈值数量的共享特征,则特征跟踪算法330确定,还存在一个或多个将被捕获的图像170。

在一个实施例中,特征跟踪算法330在这一前提下操作:如果图像场景100或图像场景100的方面180的两个或更多个已存储图像265中示出了充足的共享特征,则特征跟踪算法330可以计算出已存储图像265在何处与一个或多个其他被比较的已存储图像265一致或重叠。

在一个实施例特征跟踪算法330中,基于对两个或更多个已存储图像265的各种组合的比较,已存储图像265的链被组织并且存储。在一个实施例中,已存储图像265的链是位置上邻近的图像场景100的已捕获图像170的集合。

在一个实施例中,第四比较算法300是单应算法340。在一个实施例中,单应算法340使用投影几何学来生成从图像视图150的真实投影平面到在两个被比较的已存储图像265之间将直线映射到直线的投影平面的可逆变换。在一个实施例中,单应算法340三维(3D)平面视图中映射两个已存储图像265中的已识别的共同特征到以提取共享共性。在一个实施例中,对所提取的共享共性进行分析,以便实施这样的确定:被比较的已存储图像265是否共享用于生成足够的摄影最终产品115的图像场景100或图像场景100的方面180的充足的量,或可替换地,一个或多个额外图像170应当被捕获。

在一个实施例中,在空间中的同一平面表面中具有共享图像视图150或图像视图150的共享部分的两个已存储图像265通过单应性进行相关,所述单应性用于确定为生成产生的摄影最终产品115的被比较的已存储图像265中的共同细节的充足性。

例如并且参考图5A,假设存在两个已存储图像——图像A 400和图像B 410,该两个已存储图像具有某种程度的针对图像场景100的其图像视图150的共性。在一个实施例中,单应算法340分析图像A 400和图像B 410,并且生成图像A 400中所示的特征510和图像B 410中所描绘的特征520的三维映射或单应500。在图5A的示例中,图像A 400中所示的一个或多个特征510在二维平面中被连接515,并且图像B 410中所示的一个或多个特征520也在二维平面中被连接525,这导致每个图像的特征关系的图形化。在示例性单应500中,图像A 400和图像B 410中所描绘的相同特征在第三维平面中被连接530,所述第三维平面施加在分别特征化图像A 400和图像B 410的特征关系的二维平面上。在图5A的示例中,如由图像A 400中所示的特征510与图像B 410中所示的特征520之间的最小连接530所表示的,图像A 400的图像视图150与图像B 410的图像视图150之间存在不充足的特征捕获重叠,从而导致确定额外的图像170应当被捕获。

在图5B的示例中,图像A 400中所示的一个或多个特征560在二维平面中在示例性单应550中被连接565,并且图像B 410中所图示的一个或多个特征570也在二维平面中被连接575。在示例性单应550中,图像A 400和图像B 410中描绘的(多个)相同特征在第三维平面中被连接580,该第三维平面施加在分别特征化图像A 400和图像B 410的特征关系的二维平面上。与图5A的示例相反,在图5B的示例中,在针对图像A 400和图像B 410的单应550中存在多得多的连接580,指示图像A 400与图像B 410之间多得多的特征捕获重叠。在图5B的示例中,一个实施例单应算法340实施确定:针对图像场景100或图像场景100的方面180,已捕获了充足的图像170。

在一个实施例单应算法340中,将最后捕获的图像170与之前捕获的已存储图像265进行比较。在该实施例的一方面中,被比较的之前捕获的已存储图像265是这样的图像170,该图像170在最后捕获的图像170之前紧挨着被捕获。在该实施例的另一方面中,被比较的之前捕获的已存储图像265是这样的图像,该图像的位置方向元数据将其图像视图150识别为处在最邻近由最后捕获的图像170的位置方向元数据定义的图像视图150的位置处。在该实施例的其它方面中,针对其它特征或特征的组合选取被比较的之前捕获的已存储图像265,例如,最新近捕获的这样的图像,该图像具有位置最邻近最后捕获的图像170的图像视图150的图像视图150,等等。

在一个实施例单应算法340中,基于对两个或更多个已存储图像265的各种组合的比较,位置相邻的已存储图像265的链被组织并存储。

在一个实施例中,第五比较算法300是K最近邻捆绑算法350。在一个实施例中,K最近邻捆绑算法350捆绑或合成已存储图像265的例如两个、三个等的子集,所述子集然后被用于实施这样的确定:被比较的已存储图像265是否共同显示所需图像场景100或所需图像场景100的方面180的充足的量,或可替换地,一个或多个额外图像170应当被捕获。

在一个实施例中,捆绑或合成的过程涉及识别将被捆绑的已存储图像265集合中的特定特征,例如窗框的转角、门把手等。在一个实施例中,K最近邻捆绑算法350将一个已存储图像265中识别出的特征与将被捆绑的集合中一个或多个其它已存储图像265中识别出的特征进行比较和匹配特征,以便识别在被比较的已存储图像265的每个中捕获的图像场景100的或方面180的相同区域。在一个实施例中,K最近邻捆绑算法350将例如角度、距离等的已匹配特征之间的关系中已识别出的差别进行比较,并且识别每个已匹配特征的三维位置,以及每个已存储图像265被捕获所处的位置和角度。在一个实施例中,K最近邻捆绑算法350使用从所捆绑的已存储图像265收集的所生成信息来实施这样的确定:图像场景100或图像场景100的方面180的充足细节是否已被捕获,或可替换地,一个或多个额外图像170应当被摄取。

在一个实施例K最近邻捆绑算法350中,将最后捕获的图像170与一个或多个之前捕获的已存储图像265进行比较。在该实施例的一方面中,被比较的之前捕获的已存储图像265是这样的图像170,该图像170在最后捕获的图像170之前紧挨着被捕获。在该实施例的另一方面中,被比较的之前捕获的已存储图像265是这样的图像,该图像的位置向元数据将其图像视图150识别为处在最邻近由最后捕获的图像170的位置方向元数据定义的图像视图150的位置处。在该实施例的其它方面中,针对其它特征或特征的组合选取被比较的之前捕获的已存储图像265,例如,最新近捕获的这样的图像,该图像具有位置最近邻最后捕获的图像170的图像视图150的图像视图150,等等。

在一个实施例中,使用实施例比较算法300中任一个进行比较的图像170是由移动设备120的相机190本地捕获的已存储图像265,其中,实施例md照片cap app 200在移动设备120上执行。在一个实施例中,使用实施例比较算法300中任一个进行比较的图像170是本地捕获的已存储图像265和/或由当前用户110或某个其它用户110捕获的从计算设备130检索出的图像270。

在其它实施例中,可以存在更少、另外和/或不同的用于确定一组已捕获图像170的充足性的比较算法300,例如捆绑图像场景100的全部已知图像170的捆绑算法等。

在一个实施例中,md照片cap app 200执行一个或多个比较算法300,所述比较算法导致这样的确定:针对图像场景100或图像场景100的方面180是否存在充足的已存储图像265,或可替换地,是否一个或多个额外图像170应当被捕获。在一个可替换实施例中,md照片cap app 200将在移动设备120上本地捕获的图像170上传到执行一个或多个比较算法300的计算设备130,并且将其结果和/或从其导出的信息下载到移动设备120,以便用于自动捕获或可替换地引导用户110捕获一个或多个额外图像170。

如前面指出的,在一个实施例中,md照片cap app 200具有这样的能力:通知或指示用户110关于当前缺少充足的已捕获图像170图像场景100的方面180。在一个实施例中,增强的真实可视化被生成并经由视觉GUI 245输出给用户110。针对图1的图像场景100的图像视图150的示例性增强的真实可视化600在图6中显示出。

参考图6,在本文中也称为可视化600的增强的真实可视化600向用户110显示移动设备120的相机190所见内容的图像预览610,即相机190的当前图像视图150的图像预览610。在一个实施例中,在图像预览610的顶上覆盖了加阴影的多边形620。在一个实施例中,每个加阴影的多边形620标识图像预览610的区域或范围,并且因此是当前图像视图150的区域,其中,所述区域之前已被正确捕获,即,通过一个或多个比较算法300的执行,已实施这样的确定:存在所述图像视图区域的现有充足已捕获图像170。在一个实施例中,未被加阴影的多边形620覆盖的图像预览610的区域标识当前未被充足地捕获的当前图像视图150的区域,即那些用户110还应当针对其捕获一个或多个图像170的区域。

在一个实施例中,用户110可以参考可视化600,并且快速和高效地将其移动设备相机190导航到那些未被充足捕获的区域,并且用一个或多个额外图像170捕获它们。在一个实施例中,随着针对之前未被充足捕获的图像视图150的区域的额外图像170被捕获,并使用一个或多个实施例比较算法300进行分析,md照片cap app 200生成适用的加阴影多边形620,所述加阴影多边形620其后被包括在显示给用户110的可视化600之内。这样,在一个实施例中,当可视化600组成被完全用加阴影多边形620覆盖的图像预览610时,用户110可以确定,针对图像视图150和产生的图像场景方面180存在充足的已捕获图像170。

在可替换实施例中,可以向用户110显示多种可替换的可视化图形,以用于标识被充足地捕获图像的图像视图150的区域,以及因此针对其还应当捕获一个或多个图像170的图像视图150的区域。所述可替换实施例可视化图形可以包括但不限于:覆盖图像预览610的不同加阴影形状,例如正方形、圆形、三角形等;对覆盖图像预览的形状的不同填充,例如红色圆形、绿色三角形、棋盘填充的多边形等;具有指向需要额外图像捕获的区域的箭头的图像视图150的地图;针对用户110应当如何放置其相机镜头以捕获所需额外图像170的书面指导,例如“向右转四十五度,向前走三步,摄取图片”等,等等。

在一个实施例中,md照片cap app 200具有这样的能力:通过用经由用户音频接口250输出给用户110的音频信息增强所显示的可视化,或可替换地代替所显示的可视化而输出音频信息,通知或指示用户110,关于当前缺少充足的已捕获图像170的图像场景100的方面180。在一个实施例中,当md照片cap app 200的图像处理管理器210识别出包含将被捕获的图像视图150的相机镜头位置时,图像处理管理器210通知用户110捕获一个或多个图像170,其是通过例如:发出例如嘟声、铃音、旋律片段等的声音,经由输出例如“现在摄取图片”等的语音录音指示用户110捕获一个或多个图像170等。在实施例中,md照片cap app 200可以使用其它音频输出来通知用户110捕获一个或多个图像170,例如:向用户110输出描述用户110应当在何处和如何放置其相机190以捕获所需(多个)图像170的指导录音,例如“向左转九十度”、“向前走10英尺”等;当用户110将相机190移动到指向所需图像视图150时改变输出的音频信号,例如,当相机镜头未在图像视图位置处时输出的断续嘟声,其在相机镜头被放置在所需图像视图150处时逐渐变为一个连续嘟声;当用户110将移动相机镜头放置得更靠近并且最终位于所需图像视图150处时,提高输出的音频信号的音调和/或响度等。

在一个实施例中,作为标识将被捕获的所需图像视图150的包括地图的任意指导的一部分,md照片cap app 200经由视觉GUI 245和/或用户音频接口250向待引导用户110输出建议的最优路径,通过此建议的最优路径使用户110能够用最少数量的已捕获图像170和/或用户部分的最优移动来捕获当前未覆盖或欠覆盖的图像场景100的区域。

在一个其中照片合成是产生的摄影最终产品115的实施例中,md照片cap app 200将已捕获图像170上传到计算设备130,该计算设备130正在执行捆绑所需图像场景100的全部已知图像170的捆绑算法。在一个实施例中,当计算设备130接收到针对图像场景100的新捕获图像170时,其把新捕获的图像170包括在捆绑算法执行中。在一个实施例中,计算设备130在时间t将通过捆绑算法生成的结果当前照片合成下载到移动设备120,该移动设备120经由在移动设备120上执行的md照片cap app 200的视觉GUI 245将当前照片合成输出给用户110。在该实施例中,用户110可以获取即时或接近即时的关于照片合成的质量的反馈,所述关于照片合成的质量的反馈可以使用所需图像场景100的当前现有已捕获图像170来生成。

在该实施例的一方面中,移动设备120可以被放入照片合成模式,其中,计算设备130每预定的时间段将生成的当前照片合成下载到用户的移动设备120,例如每三十秒、每分钟、每五分钟等。在该实施例的其它方面中,当移动设备120被放入照片合成模式时,计算设备130在其它事件时将生成的当前照片合成下载到移动设备120,例如,每当新的照片合成从一个或多个额外捕获的图像170被创建时,当用户110经由其移动设备120请求更新时等。

图7A-7C示出了针对实施例md照片cap app 200的一个实施例逻辑流,其中,该实施例md照片cap app 200可运行在用户的移动设备120上,并且在其上执行一个或多个实施例计算算法300。尽管针对本文中描绘的系统进行下面的讨论,但所描述的操作可以在其它系统中实现。本文中描述的操作不限于所示的顺序。另外,在其它可替换实施例中,可以执行更多或更少的操作。进一步地,所示的操作可以由实施例md照片cap app 200或由实施例md照片cap app 200结合一个或多个其它图像捕获系统实体或部件来执行。

参考图7A,在一个实施例中,在某个时刻,用户的移动设备被打开或激活,700。在一个实施例中,在判断框702处,做出这样的确定:移动设备上是否存储了任何新图像,即任何还未针对例如照片合成、照片缝合等的基于图像项目被处理的已捕获图像。如果是,则在一个实施例中,针对保存在移动设备上的新图像,元数据被挖掘和存储,704。在一个实施例中,存储在移动设备上的新图像依照其描绘的图像场景、使用挖掘出的元数据进行组织、排序或排列,706。

在一个实施例中,不论在判断框702处移动设备上是否存储了任何新图像,在判断框708处,做出对用户是否已捕获图像的确定。如果是,则在一个实施例中,针对新捕获的图像,元数据被挖掘和存储,710。在一个实施例中,新捕获的图像被依照其描绘的图像场景视图、使用挖掘出的元数据进行组织、排序或排列,712。

在一个实施例中,不论在判断框708处用户是否已捕获图像,在判断框714处,作出对移动设备是否处在照片合成模式下的确定,即,用户是否正使用移动设备来辅助或支持用户捕获用于摄影最终产品的图像,所述摄影最终产品例如但不限于是照片合成、照片缝合等。在该实施例的一方面中,用户可以将移动设备引导到处于照片合成模式下。如果在判断框714处移动设备不在照片合成模式下,则在一个实施例中,在判断框708处,作出对用户是否已捕获图像的确定。

如果在判断框714处移动设备处在照片合成模式下,则在一个实施例中,在判断框716处,作出对移动设备是否已刚刚被打开的确定,即,自上次移动设备被打开起md照片cap app是否已有机会尝试从计算设备检索针对当前图像场景的图像。如果移动设备已刚刚被打开,则在一个实施例中,md照片cap app与计算设备进行通信,以便尝试检索之前针对当前图像场景已捕获的任何现有和可访问图像,718。

在判断框720处,作出对是否存在任何检索出的图像的确定,即,在与md照片cap app所执行于的移动设备进行通信的计算设备上或对该计算设备可访问的某个其它计算或存储设备上,是否存在当前图像场景的一个或多个已捕获图像。如果是,则在一个实施例中,针对从计算设备新检索出的图像,元数据被挖掘和存储,722。参考图7B,在一个实施例中,新检索出的图像依照其描绘的图像场景、使用挖掘出的元数据进行组织、排序或排列,并被存储在移动设备上,730。

在一个实施例中,不论在判断框720处是否存在当前图像场景的任何检索出的图像,md照片cap app对针对当前图像场景的两个或更多个已存储图像执行一个或多个捕获算法,以便确定已捕获图像集合对于例如照片合成等的摄影最终产品的充足性,和/或识别一个或多个针对将被捕获的所需图像的图像视图,732。在一个实施例中,相机传感器信息被收集和分析,以便识别用于用户的移动设备的相机镜头当前指向哪里,734。在一个实施例中,相机传感器信息和/或捕获算法导出的信息用来向用户提供关于将相机指向哪里和/或关于具有充足已捕获图像的当前图像场景或图像视图的区域以及一个或多个图像还应当在其处被捕获的区域的信息和/或指令、音频和/或图形,736。

在一个实施例中,在判断框738处,作出对移动设备是否处在自动图片模式下的确定。在该实施例的一方面中,用户可以将移动设备引导到处在自动图片模式下。

如果在判断框738处移动设备处在自动图片模式下,则在一个实施例中,在判断框742处,作出对移动设备的相机镜头是否正指向要捕获的所需图像视图的确定。在该实施例的一方面中,使用从至少一个相机传感器生成的信息和/或从至少一个捕获算法的执行生成的信息作出对相机镜头是否正指向要捕获的所需图像视图的确定742。如果相机镜头正指向要捕获的所需图像视图,则在一个实施例中,图像被自动捕获,744。在一个实施例中,针对新捕获的图像,元数据被挖掘和存储,746。在一个实施例中,新捕获的图像依照其描绘的图像场景视图、使用挖掘出的元数据进行组织、排序或排列,并被存储在移动设备上,748。

参考图7C,在一个实施例中,md照片cap app对针对当前图像场景的两个或更多个已存储图像执行一个或多个捕获算法,以便确定已捕获图像集合对于摄影最终产品的充足性,754。在一个实施例中,在判断框756处,作出对是否存在针对摄影最终产品的充足已捕获图像的确定。如果是,则在一个实施例中,经由音频和/或图形通知用户,存在充足的已捕获图像。在一个实施例中并且再次参考图7A,在判断框708处,作出对用户是否已捕获图像的确定。

如果在图7C的判断框756处确定了存在针对当前图像场景的不充足的已捕获图像,则在一个实施例中并且再次参考图7B,收集和分析相机传感器信息,以便识别用户的移动设备的相机镜头当前指向哪里,734。在一个实施例中,使用相机传感器信息和/或捕获算法导出的信息向用户提供关于将相机指向哪里和/或关于具有充足已捕获图像的当前图像场景或图像视图的区域以及一个或多个图像还应当在其处被捕获的区域的信息和/或指令、音频和/或图形,736。

再次参考图7A,如果在判断框716处确定了移动设备不是刚刚被打开,则在一个实施例中,md照片cap app对针对当前图像场景的两个或更多个已存储图像执行一个或多个捕获算法,以便确定已捕获图像集合对于摄影最终产品的充足性,754。在一个实施例中,在判断框756处,作出对是否存在充足的已捕获图像的确定。

参考图7B,如果在判断框742处确定了相机镜头未被指向所需图像视图,则在一个实施例中并且参考图7A,在判断框708处,作出对用户是否已捕获图像的确定。

如果在图7B的判断框738处确定了移动设备不在自动图片模式下,则在一个实施例中,关于还应当针对其捕获图像的所需图像(多个)视图的信息和/或指令被通过音频或图形输出给用户,例如,用于将相机镜头指向要捕获的所需图像视图的指令,示出当前图像场景的已充分捕获的图像视图以及随之的未充分捕获的图像视图的地图或图等。在一个实施例中并且再次参考图7A,在判断框708处,作出对用户是否已捕获图像的确定。

图8A-8B示出了针对可运行在用户的移动设备120上的实施例md照片cap app 200的一个实施例逻辑流,其中,该md照片cap app 200从(多个)计算算法300所运行于的计算设备130获取通过一个或多个实施例计算算法300的执行生成的信息。尽管关于本文中描绘的系统进行下面的讨论,但所描述的操作可以在其它系统中实现。本文中描述的操作不限于所示的顺序。另外,在其它可替换实施例中,可以执行更多或更少的操作。进一步地,所示的操作可以由实施例md照片cap app 200或由md照片cap app 200结合一个或多个其它图像捕获系统实体或部件来执行。

参考图8A,在一个实施例中,在某个时刻用户的移动设备被打开或激活,800。在一个实施例中,在判断框802处,作出对移动设备是否处在照片合成模式下的确定,即,用户是否正使用移动设备来辅助或支持用户捕获用于摄影最终产品的图像,其中,所述摄影最终产品例如但不限于是照片合成、照片缝合等。在该实施例的一方面中,用户可以将移动设备引导到处于照片合成模式下。如果在判断框802处移动设备处在照片合成模式下,则在一个实施例中,照片合成请求被发送到计算设备804。在该实施例的一方面中,照片合成请求向计算设备指示,移动设备可操作为与计算设备一起工作以指示或辅助用户捕获用于所需摄影最终产品的图像。

在一个实施例中,不论在判断框802处移动设备是否处在照片合成模式下,在判断框806处,作出对用户是否已捕获图像的确定。如果是,则在一个实施例中,捕获的图像被存储在移动设备上,808。在一个实施例中,新捕获的图像被上传到计算设备,810。

在一个实施例中,在判断框812处,作出对来自计算设备的通知是否已被接收的确定,其中,所述通知指示存在针对当前图像场景的充足的已捕获图像。如果是,则在一个实施例中,经由音频和/或显示输出通知用户,针对当前图像场景存在充足的图像,814。

不论在判断框812处来自计算设备的通知是否已被接收,其中,所述通知指示存在针对当前图像场景的充足已捕获图像,在一个实施例中,在判断框816处,作出对从计算设备输出的、捕获算法生成的信息和/或从其导出的信息是否已被接收的确定。如果否,则在判断框806处,作出对用户是否已捕获图像的确定。

如果在判断框816处捕获算法生成的信息和/或从其导出的信息已被接收,则在一个实施例中,对相机传感器信息进行收集和分析,以便识别用户移动设备的相机镜头当前被指向哪里,818。在一个实施例中,使用相机传感器信息和/或捕获算法导出的信息来经由音频和/或显示输出向用户提供信息和/或指令,其中,所述信息和/或指令是关于将相机指向哪里,和/或关于具有充足已捕获图像的当前图像场景或图像视图的区域以及还应当在其处捕获一个或多个图像的区域,820。

在一个实施例中,在判断框822处,作出对移动设备是否处在自动图片模式下的确定。在该实施例的一方面中,用户可以将移动设备引导为处在自动图片模式下。

如果在判断框822处移动设备处在自动图片模式下,则在一个实施例中并且参考图8B,在判断框830处,作出对移动设备的相机镜头是否正指向要捕获的所需图像视图的确定。如果是,则在一个实施例中,图像被自动捕获,832。在一个实施例中,捕获的图像被存储在移动设备上,834。在一个实施例中,新捕获的图像被上传到计算设备,810。在一个实施例中,控制返回到图8A的判断框806,在此处,作出对用户是否已捕获图像的确定。

再次参考图8B,如果在判断框830处确定了移动设备的相机镜头并非正指向要捕获的所需图像视图,则在一个实施例中并且参考图8A,收集和分析相机传感器信息以便识别用户的移动设备的相机镜头当前被指向哪里,818。

在图8A的判断框822处,如果确定了移动设备未处在自动图片模式下,则在一个实施例中并且参考图8B,经由音频或显示向用户输出信息和/或指令,所述信息和/或指令是关于具有充足已捕获图像的当前图像场景或图像视图的区域,和/或还应当在其处捕获一个或多个图像的区域,838。在一个实施例中,控制返回到图8A的判断框806,在此处,作出对用户是否已捕获图像的确定。

图9A-9C示出了针对实施例计算设备130的一个实施例逻辑流,其中,计算设备130与例如移动设备120的第二设备进行通信以辅助用户110捕获所需图像170。尽管关于本文中描绘的系统进行下面的讨论,但所描述的操作可以在其它系统中实现。本文中描述的操作不限于所示的顺序。另外,在其它可替换实施例中,可以执行更多或更少的操作。进一步地,所示的操作可以由实施例计算设备130或计算设备130、或由实施例计算设备130结合一个或多个其它图像捕获系统实体或设备来执行。

参考图9A,在一个实施例中,在判断框900处,作出对所指示的图像场景的图像请求是否已被接收的确定。如果是,则在一个实施例中,在判断框902处,作出对是否存在响应图像的确定,所述响应图像即存储在计算设备上或计算设备可访问的、示出所指示的图像场景的一个或多个区域的图像。如果是,则在一个实施例中,响应的已存储图像被下载到或提供给例如移动设备的请求设备或使得该请求设备可访问该已存储图像,904。

在一个实施例中,不论在判断框902处是否确定计算设备存储或可访问响应图像,计算设备搜索互联网、万维网(www),并检索识别出的、所指示的图像场景的可用图像,906。在一个实施例中,在判断框908处,作出对是否存在任何经由互联网定位的响应图像的确定。如果是,则在一个实施例中,经由互联网检索出的响应图像被下载到或提供给例如移动设备的、关于图像与计算设备进行通信的设备或者使得该设备可访问该响应图像,910。

在一个实施例中,不论在判断框908处是否确定了存在经由互联网可用的响应图像,在判断框912处,作出对照片合成请求是否已被接收的确定,其中,所述照片合成请求指示,计算设备将对针对所指示图像场景的一组图像中的一个或多个执行实施例捕获算法。在一个实施例中,照片合成请求指示,想要例如但不限于是照片合成、照片缝合等的摄影最终产品。

如果指示计算设备将执行实施例捕获算法的照片合成请求已被接收,则在一个实施例中并且参考图9B,在判断框920处,作出对当前计算设备是否存储或可访问所述指示的图像场景的任何图像的确定。如果是,则在判断框922处,作出对各个已存储图像是否之前已被处理的确定,所述处理例如是对相关元数据进行挖掘,以及依照其描绘的图像场景或图像场景的区域进行组织。如果不是,则在一个实施例中,针对计算设备存储或可访问的所指示图像场景的图像中的每个,相关元数据被从中挖掘并存储,924。在一个实施例中,计算设备存储或可访问的各个图像被依照其描绘的图像场景或图像场景的区域、使用挖掘出的元数据进行组织、排序或排列,926。

在一个实施例中,计算设备搜索互联网、万维网(www)并检索所指示图像场景的已识别的可用图像,928。在一个实施例中,在判断框930处,作出对是否存在经由互联网定位的任何响应图像的确定。如果是,则在一个实施例中,针对从互联网检索出的响应图像,元数据被挖掘并存储,932。在一个实施例中,从互联网检索出的所指示图像场景的图像被依照其描绘的图像场景或图像场景的区域、使用挖掘出的元数据进行组织、排序或排列,并被存储在计算设备上或使该计算设备可访问,934。

在一个实施例中,在判断框936处,作出对图像是否已从例如移动设备被接收或上传的确定。如果是,则在一个实施例中,针对接收的图像,元数据被挖掘并存储,938。在一个实施例中,接收的图像被依照其描绘的图像场景或图像场景的区域、使用挖掘出的元数据进行组织、排序或排列,并且接收的图像被存储在计算设备上或使该计算设备可访问,940。

在一个实施例中并且参考图9C,在判断框948处,作出对计算设备是否将对指示的图像场景的一个或多个图像执行一个或多个实施例捕获算法的确定。如果否,则在一个实施例中并且再次参考图9A,在判断框900处,作出对图像场景的图像请求是否已被接收的确定。如果否,则在一个实施例中,在判断框912处,作出对照片合成请求是否已被接收的确定,其中,该照片合成请求指示计算设备将对针对指示的图像场景的一组图像的一个或多个执行实施例捕获算法。在一个实施例中,照片合成请求指示,想要例如但不限于是照片合成、照片缝合等的摄影最终产品。

再次参考图9C,如果在判断框918处计算设备将对一个或多个图像执行一个或多个实施例捕获算法,则在一个实施例中,计算设备使用针对指示的图像场景的一个或多个图像执行一个或多个实施例捕获算法,950。在一个实施例中,执行捕获算法以便确定是否存在针对摄影最终产品的充足已捕获图像,和/或识别在其处存在充足已捕获图像的图像场景的区域和/或在其处(多个)额外图像应当被捕获的图像场景的区域,950。

在一个实施例中,在判断框952处,作出对是否存在针对图像场景的充足已捕获图像的确定。如果是,则在一个实施例中,计算设备向例如移动设备发出通知:当前存在针对指示的图像场景的充足已捕获图像,956。在一个实施例中,计算设备输出捕获算法生成的信息和/或从其导出的信息,958。在一个实施例中,捕获算法生成的信息可以被移动设备用于:显示摄影最终产品或摄影最终产品的仿真或模型;显示所需图像场景或所需图像场景的一个或多个区域的地图、图表、图示或其它表示,所述地图、图表、图示或其它表示标识在其处充足图像已被捕获的区域;等。

在一个实施例中,控制返回到图9A的判断框900,在此处作出对图像场景的一个或多个图像请求是否已被接收的确定。

如果在图9C的判断框952处确定了当前存在针对图像场景的不充足的已捕获图像,则在一个实施例中,计算设备提供或输出捕获算法生成的信息和/或从其导出的信息,以便用于例如经由用户或自动地指导或协调捕获一个或多个额外图像,954。在该实施例的各方面中,所输出的信息包括用户用于定位一个或多个图像还应当针对其被捕获的图像场景的一个或多个区域;例如要遵循的指导、地图等。在一个实施例中,控制返回到图9A的判断框900,在此处,作出对对于图像场景的一个或多个图像的请求是否已被接收的确定。

如果在图9A的判断框912处没有任何照片合成请求已被接收,或者在图9B的判断框930处没有任何所需图像场景的图像经由对互联网的搜索被发现,则在一个实施例中,在判断框936处,作出对计算设备是否已接收或上传图像的确定。

计算设备系统配置

图10是示出一个实施例可以在其上被实现的示例性计算设备系统1000的框图。计算设备系统1000包括总线1005和其它用于传输信息的机制,以及耦接到总线1005用于处理信息的处理单元1010。计算设备系统1000还包括系统存储器1015,可以是例如随机访问存储器(RAM)的易失性或动态的、例如只读存储器(ROM)或闪存器的非易失性或静态的、或这两者的某种组合。系统存储器1015耦接到总线1005以便存储信息和将被处理单元1010执行的指令,并且可以还用于存储处理单元1010执行指令期间的临时变量或其它中间信息。系统存储器1015通常包含操作系统和一个或多个程序,并且可以还包括程序数据。

在一个实施例中,例如磁盘或光盘的存储设备1020也耦接到总线1005,以便存储包括由指令和/或数据组成的程序代码的信息。

计算设备系统1000一般包括一个或多个显示设备1035,所述显示设备1035例如但不限于是例如阴极射线管(CRT)或液晶显示器(LCD)的显示屏、打印机以及一个或多个扬声器,以用于向计算设备用户提供信息。计算设备系统1000一般还包括一个或多个输入设备1030,所述输入设备1030例如但不限于是键盘、鼠标、轨迹球、笔、(多个)语音输入设备和触摸输入设备,用户可以使用其向处理单元1010传输信息和命令选择。这些设备的全部是本领域众所周知的,并且不需要在这里详细讨论。

处理单元1010执行包含在系统存储器1015中的一个或多个程序指令的一个或多个序列。这些指令可以被从包括但不限于存储设备1020的另一计算设备可读介质读入系统存储器1015。在可替换实施例中,硬连线电路可以代替或结合软件程序指令而被使用。计算设备系统环境不限于硬件电路和/或软件的任意特定组合。

本文中使用的术语“计算设备可读介质”是指任何可以参与向处理单元1010提供程序指令以便执行的介质。所述介质可以采用许多形式,包括但不限于存储媒介和传输媒介。存储媒介的示例包括但不限于RAM、ROM、EEPROM、闪存、CD-ROM、数字多功能盘(DVD)、磁盒、磁带、磁盘存储或任意其它磁性介质,软盘、柔性盘、穿孔卡片、纸带或任意其它具有孔图案的物理介质,存储器芯片或卡带。计算设备系统1000的系统存储器1015和存储设备1020是存储媒介的进一步示例。传输媒介的示例包括但不限于例如(多个)同轴线缆、铜线和光纤的有线媒介以及例如光信号、声信号、RF信号和红外信号的无线媒介。

计算设备系统1000还包括一个或多个耦接到总线1005的通信连接1050。(多个)通信连接1050提供局域网(LAN)1065和/或包括万维网或互联网1070的广域网(WAN)中从计算设备系统1000耦接到其它计算设备的双向数据通信。(多个)通信连接1050的示例包括但不限于综合业务数字网(ISDN)卡、调制解调器、LAN卡以及任何能够发送和接收电、电磁、光、声、RF或红外信号的设备。

被计算设备系统1000接收的通信可以包括程序指令和程序数据。被计算设备系统1000接收的程序指令可以在其被接收时被处理单元1010执行,和/或被存储在存储设备1020或其它非易失性存储中以便稍后执行。

总结

尽管本文中描述了各种实施例,但这些实施例仅作为示例被呈现,并且不旨在限制所要保护的主题的范围。许多变形是可能的,其仍然在下面的权利要求的范围内。在检查本文中的说明书、附图和权利要求之后,所述变形是显而易见的。相应地,所要保护的主题的广度和范围除了使用下面的权利要求或其等价项所定义的之外不受限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号