首页> 中国专利> 用于俘获和移动真实世界对象的3D模型和真实比例元数据的方法和系统

用于俘获和移动真实世界对象的3D模型和真实比例元数据的方法和系统

摘要

在一些实施例中,提供用于辅助用户设想经修改真实世界环境将如何呈现的方法和系统。成像装置可俘获一个或一个以上对象或环境的多个图像。可基于所述图像产生每一对象或环境的三维模型。接着可使用这些模型产生经修改环境的逼真图像。举例来说,图像可以环境(例如,起居室)中的额外对象(例如,躺椅)来显示所述环境。所述图像可为逼真的,因为其可准确地表示所述对象相对于所述环境中的维度的维度。因为可针对所述环境和对象两者产生三维模型,所以用户可能够操纵所述图像以例如在所述环境内再定位和/或再定向所述对象且从不同视角检视所述环境。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-24

    授权

    授权

  • 2014-12-10

    实质审查的生效 IPC(主分类):G06T15/20 申请日:20121127

    实质审查的生效

  • 2014-08-06

    公开

    公开

说明书

相关申请案的交叉参考

本申请案主张2011年12月1日申请的标题为“用于俘获和移动真实世界对象的3D 模型和真实比例元数据的方法和系统(METHODS AND SYSTEMS FOR CAPTURING AND MOVING3D MODELS AND TRUE-SCALE METADATA OF REAL WORLD OBJECTS)”的第61/565,663号美国临时申请案以及2012年7月27日申请的标题为“用 于俘获和移动真实世界对象的3D模型和真实比例元数据的方法和系统(METHODS AND SYSTEMS FOR CAPTURING AND MOVING3D MODELS AND TRUE-SCALE METADATA OF REAL WORLD OBJECTS)”的第13/560,678号美国非临时申请案的权益 和优先权。这些参考的每一者全文出于所有目的以引用的方式并入本文中。

背景技术

想象不同环境中的对象是各种情形中经常遇到的一项困难的任务。举例来说,潜在 购买者可能希望想象商店内呈列的躺椅在他的起居室内将看上去如何。虽然他可能喜欢 商店内躺椅的颜色,但可能难以想象此颜色将如何与房间的其它元素匹配。

发明内容

在一些实施例中,提供用于辅助用户设想经修改真实世界或虚拟环境将如何呈现的 方法和系统。成像装置可俘获一个或一个以上对象或环境的多个图像。可基于所述图像 产生每一对象或环境的三维模型。接着可使用这些模型产生经修改环境的逼真图像。举 例来说,图像可以环境中的额外对象来显示所述环境(例如,以新躺椅扩增真实世界起居 室环境的模型,或以真实世界货车扩增虚拟视频游戏环境的模型)。所述图像可为逼真的, 因为其可准确地表示对象相对于环境中的维度的维度。此外,基于图像的模型产生可允 许环境和对象的颜色、纹理等的准确描绘,使得用户可准确地想象对环境的潜在修改。 另外,一个或一个以上对象可包含其它物理性质(例如,质量或密度)的估计值,使得例 如可估计特定位置中的对象是否稳定、其是否将挤压另一对象、其是否可在给定特定力 的施加的情况下移动等。因为可针对环境和对象两者产生三维模型,所以用户可能够操 纵图像以例如在环境内再定位和/或再定向对象且从不同视角检视环境。在一些实施例 中,图像俘获、模型产生、经修改环境产生和经修改环境的显示全部在单一移动装置上 执行。

在一些实施例中,提供一种用于使用移动装置呈现经扩增真实世界环境的表示的方 法。所述方法可包含存取指示真实世界对象的多个图像的第一信息,以及存取指示真实 世界环境的多个图像的第二信息。所述方法还可包含基于第一信息产生对象的对象模 型,以及基于第二信息产生环境的环境模型。所述方法还可包含接收指示识别扩增所述 环境的请求的用户输入的第三信息,以及基于对象模型和环境模型产生经修改环境模 型。所述方法可更进一步包含使用移动装置呈现经修改环境模型。

在一些实施例中,提供一种用于共享真实世界对象的模型的方法。所述方法可包含 存取指示真实世界对象的多个图像的第一信息。所述方法还可包含基于第一信息产生对 象的对象模型,以及接收指示识别对象的三维模型与另一用户共享的请求的用户输入的 第二信息。所述方法还可包含经由网络将三维模型发射到另一移动装置。

在一些实施例中,提供一种用于使用移动装置呈现经扩增真实世界环境的表示的系 统。所述系统可包含成像装置,其经配置以俘获真实世界环境的图像和真实世界对象的 图像。所述系统还可包含模型产生器,其经配置以基于真实世界对象的图像产生真实世 界对象的对象模型,且基于真实世界环境的图像产生真实世界环境的环境模型。所述系 统可进一步包含用户输入组件,其经配置以接收指示识别扩增所述环境的请求的用户输 入的信息。所述系统可额外包含:模型交互器,其经配置以基于对象模型和环境模型产 生经修改环境模型;以及显示器,其经配置以呈现经修改环境模型。

在一些实施例中,提供一种用于使用移动装置呈现经扩增真实世界环境的表示的系 统。所述系统可包含用于存取指示真实世界对象的多个图像的第一信息的装置,以及用 于存取指示真实世界环境的多个图像的第二信息的装置。所述系统还可包含用于基于第 一信息产生对象的对象模型的装置,以及用于基于第二信息产生环境的环境模型的装 置。所述系统可进一步包含用于接收指示识别扩增所述环境的请求的用户输入的第三信 息的装置,以及用于基于对象模型和环境模型产生经修改环境模型的装置。所述系统可 更进一步包含用于呈现经修改环境模型的装置。

在一些实施例中,提供一种含有程序的计算机可读媒体,所述程序执行以下步骤: 存取指示真实世界对象的多个图像的第一信息;以及存取指示真实世界环境的多个图像 的第二信息。所述程序还可执行以下步骤:基于第一信息产生对象的对象模型;以及基 于第二信息产生环境的环境模型。所述程序可进一步执行以下步骤:接收指示识别扩增 所述环境的请求的用户输入的第三信息;基于对象模型和环境模型产生经修改环境模 型;以及呈现经修改环境模型。

在一些实施例中,提供一种用于使用移动装置呈现经扩增真实世界环境的表示的方 法。所述方法可包含:基于真实世界对象的多个图像存取所述对象的对象模型,所述对 象模型已基于对象的多个图像产生;以及基于真实世界环境的多个图像存取所述环境的 环境模型,所述环境模型已基于环境的多个图像产生。所述方法还可包含接收指示识别 所述环境为经扩增的请求的用户输入的信息,以及基于环境模型和对象模型产生经修改 环境模型。所述方法可进一步包含呈现经修改环境模型。

附图说明

图1说明根据一个实施例用于允许用户设想经修改逼真环境的方法。

图2说明根据一实施例用于产生模型的方法。

图3A-3C展示识别和匹配图像上的特征的实例。

图4说明根据一实施例用于产生一个或一个以上模型的方法。

图5A-5C展示用于以新对象扩增环境模型的用户接口的实例。

图6A-6B展示用于与模型产生和/或修改系统交互的用户接口的实例。

图7展示根据一实施例扩增虚拟环境模型的方法。

图8展示根据一个实施例用于产生、修改和/或显示三维模型的系统。

图9展示根据一个实施例用于产生、修改和/或显示三维模型的系统。

图10说明计算机系统的实施例。

具体实施方式

在一些实施例中,提供用于辅助用户设想经修改真实世界或虚拟环境将如何呈现的 方法和系统。成像装置可俘获一个或一个以上对象或环境的多个图像。举例来说,可俘 获多个离散图像(例如,图片),或可俘获视频且可识别多个帧(例如,可自动提取所有帧, 可提取规则间隔的帧,或可提取具有例如可区分性、清晰性等特征的帧)。可基于图像产 生每一对象或环境的三维模型。接着可使用这些模型产生经修改环境的逼真图像。举例 来说,图像可以环境汇中的额外对象来显示所述环境(例如,以新躺椅扩增真实世界起居 室环境的模型,或以真实世界货车扩增虚拟视频游戏环境的模型)。所述图像可为逼真的, 因为其可准确地表示对象相对于环境中的维度的维度。此外,基于图像的模型产生可允 许环境和对象的颜色、纹理等的准确描绘,使得用户可准确地想象对环境的潜在修改。 另外,一个或一个以上对象可包含其它物理性质(例如,质量或密度)的估计值,使得例 如可估计特定位置中的对象是否稳定、其是否将挤压另一对象、其是否可在给定特定力 的施加的情况下移动等。因为可针对环境和对象两者产生三维模型,所以用户可能够操 纵图像以例如在环境内再定位和/或再定向对象且从不同视角检视环境。在一些实施例 中,图像俘获、模型产生、经修改环境产生和经修改环境的显示全部在单一移动装置上 执行。

图1说明根据一个实施例用于允许用户设想经修改逼真环境的方法100。在105处, 俘获多个图像。所述图像可包含数字图像或非数字图像。所述图像可由相机(例如,移动 装置或移动电话上的相机)或另一成像装置俘获。所述多个图像可均包含单一对象、多个 对象和/或一环境。所述多个图像可在不同视角俘获。所述多个图像可包含至少2个、至 少3个或更多图像。在一些例子中,仅俘获单一图像。在一些例子中,俘获视频,其可 转换为多个图像。

在一个例子中,系统确定或建议俘获若干图像。可接着指示用户俘获所述若干图像 (例如,经由移动装置上的显示器)。系统可推荐固定或动态数目的图像。举例来说,如 果所俘获对象或环境较大或复杂,先前图像质量较差,先前图像不俘获对象或环境的实 质部分(例如,归因于变焦、图像重叠或图像视角)等,那么可推荐或需要更多图像。系 统可指示或建议用户拍摄什么类型的图像(例如,“俘获对象的背部的图像”)。在一个例 子中,用户确定俘获多少和/或什么类型的图像。可告知用户俘获对象的全部或一部分的 更多细节可改进后续产生的模型的估计。在一个例子中,用户输入(例如,所俘获图像的 数目、环境等)可指定模型中的细节程度和/或处理努力(例如,产生和/或使用模型的计算 处理努力)。用户输入可包括细节程度与处理努力之间的平衡。

一股来说,在适当图像俘获质量和多样性的情况下,俘获额外细节可允许后续产生 的模型包含关于所成像模型或环境的视觉外观和/或结构的额外细节。然而,处理要求、 存储空间和图像俘获时间也可随额外图像俘获细节而增加。系统和/或用户可基于所要细 节、处理速度、模型目标等调整所要或所建议图像俘获数目。

在110处,接收请求模型产生的用户输入。在一些例子中,在俘获所述多个图像之 后接收所述输入。举例来说,装置可俘获三个图像,装置可存储所述图像,用户可选择 所述图像,且用户可指示将基于图像产生模型。作为另一实例,装置可俘获两个图像, 且用户可接着指示将基于最近俘获的图像产生模型。在一些例子中,在俘获所述多个图 像之前接收所述输入。举例来说,用户可选择模型产生选项且继续使用装置俘获图像。 在一些例子中,接收多个输入(例如,一个输入请求在俘获图像之前的模型选择,且第二 输入识别图像内待建模的对象)。所述输入可包含待产生的模型的类型(例如,环境或对 象)。所述输入可识别一个或一个以上图像内待建模的特定对象。举例来说,用户可指向 (例如,经由鼠标、触摸屏或箭头选择)图像内的对象,或用户可在图像中的对象周围画 出边界。

在115处,可使用所述多个图像产生模型。可使用所述多个图像的一些或全部。举 例来说,可排除具有较差图像质量或实质上为其它图像的副本的图像。在一些例子中, 使用至少两个或至少三个图像来产生模型。如下文进一步详细描述,可至少部分基于所 述多个图像和/或固有成像装置参数(例如,焦距、歪斜系数、失真、主点等)产生模型。 所述模型可包含一个或一个以上对象和/或环境的模型。在一些例子中,环境的模型包含 一个或一个以上对象的模型。举例来说,起居室的模型可包含躺椅、咖啡桌、灯和电视 机的模型;对象之间的距离的估计值、房间尺寸等。所产生的模型的类型可基于用户输 入(例如,指示模型的类型)、图像性质(例如,多少对象存在于所俘获图像内)等。

在120处,可存储模型。所存储的模型可包含例如:一个或一个以上对象的逼真三 维表示、模型的真实世界维度的估计值、与模型相关联的名称、与模型相关联的的图形 表示(例如,对象的一个视图)、模型产生参数、用于产生模型的图像的识别、模型产生 的时间和/或图像俘获等。

所述模型可存储在数据库中。在一些实施例中,存在多个数据库,例如对象数据库 和环境数据库。模型可存储在所述多个数据库的一者中,数据库之间的选择基于例如用 户输入、所产生模型的类型等。举例来说,110处接收的用户输入可请求产生对象的模 型。所产生的模型可接着存储在对象数据库中。在一些实施例中,存在单一数据库。在 一个实例中,环境数据库包含将对象数据库内的对象识别为在环境中的参数、对象间距 离、对象位置、环境参数(例如,房间大小、墙壁颜色、地毯纹理等)。

用户可能够检视、添加和/或删除存储在一个或一个以上数据库中的模型。举例来说, 用户可能够检视存储在对象数据库中的所有模型的表示(例如,图标或名称)且删除特定 模型对象。在一些例子中,用户可能够检视和/或认可在其存储之前或之后所产生的模型。 举例来说,用户可能够检视模型对象的表示且使其旋转。如果用户对模型不满意,那么 特定输入可指示将如何改进模型(例如,指定躺椅的长度、更改颜色等),或用户可俘获 替代或额外图像以允许产生新模型。

如图1所示,可产生和/或存储(例如,通过重复105-120)多个模型。因此,可产生 多个模型(例如,至少一个环境模型和/或至少一个对象模型)的数据库。

虽然图1说明用于基于用户俘获的图像产生和存储模型的技术,但模型也可或替代 地以其它方式发起。举例来说,系统可具有一个或一个以上默认模型(例如,“躺椅”、“起 居室”、“克尔维特汽车”等)。可接收(例如,经由无线网络)从其他用户的图像或从其他 用户的代码发起的模型。

在125处,可接收请求产生经修改模型的用户输入。所请求的修改不同于上文描述 的用户请求的模型改进。模型改进涉及改进模型的准确性,而模型修改不会。举例来说, 模型修改可包含更改环境模型以在环境中包含额外对象(环境相关图像中不存在的),从 环境移除对象,在环境内移动对象,将环境内的一个对象与另一对象交换等。125处接 收的用户输入可包含例如接收请求特定类型的修改(例如,“修改环境以包含额外对象”)、 一股修改(“修改环境”)等的用户输入。

在130处,接收选择一个或一个以上模型的用户输入。举例来说,用户可选择待修 改的环境、待添加到环境的对象、待从环境移除的对象、待在环境内移动的对象等。在 一个例子中,向用户呈现对象和/或环境的表示(例如,文本或图形表示)以允许进行选择。 举例来说,在用户指示其希望将对象添加到环境之后,可向用户呈现(例如,经由装置显 示器)环境模型和对象模型的视觉表示以允许选择环境和对象。作为另一实例,在用户指 示其希望在环境内移动对象之后,可向其呈现环境模型的表示,且随后向其呈现环境内 的对象的(独立或环境内)表示以允许选择环境内待移动的对象。

在一个例子中,用户可选择环境模型(例如,用于扩增、对象移除、对象转译等)。 在一个例子中,将环境模型设定为默认值。举例来说,用户可正在玩视频游戏。视频游 戏可包含可以真实世界对象扩增的环境。用户可接着选择真实世界对象的模型(例如,从 其图像发起、经由无线网络从另一用户接收等),且对象可添加到虚拟环境。

可接收额外用户输入。举例来说,用户可能够识别环境内将插入对象的位置。用户 可能够在将对象插入到环境中之前或之后旋转对象。用户可能够识别环境内对象将移动 到的最终目的地点,或可将对象从第一位置拖拽到另一位置。

在135处,可根据用户输入修改选定模型的至少一者(例如,环境模型)。经修改模 型可包含假如真实生活中发生所述修改则模型将如何呈现的逼真表示。举例来说,如果 产生8英尺长躺椅的第一对象模型,且产生具有墙壁与门道之间7英尺空间的起居室的 第二环境模型,那么包含躺椅的经修改起居室环境模型应反映在墙壁与门道之间纵向定 向的情况下躺椅不合适。作为另一实例,如果虚拟默认模拟战场模型可经扩增以包含用 户鞋的模型,那么用户可因而能够在视频游戏中投掷他的鞋。

在140处,可显示经修改模型。所述显示可包含模型的二维表示。所述显示可包含 当所请求修改不可能时(例如,将大对象插入到小环境中)对用户的警告。所述显示可包 含在修改后环境将如何呈现的视觉估计。所述显示还可包含非逼真和/或文本特征(例如, 指示环境内各个对象之间的距离)。

在145处,可允许用户与经修改模型交互。举例来说,用户可能够旋转所显示经修 改模型,以便展示模型的新视角。用户可能够在经修改模型内移动(例如,滑动、投掷、 丢弃)对象,从经修改模型移除对象,改变经修改模型内的颜色(例如,墙漆)等。用户可 进一步能够保存或删除经修改模型。

在一些例子中,130-145在动态和易变过程中组合。举例来说,用户可选择待修改 的环境模型。可显示环境的相对大的表示。可在所选择环境模型的较大表示附近显示对 象模型的较小表示。用户可因而能够将对象拖拽和丢弃到环境中,从环境拖拽和丢弃对 象,在环境内移动对象等。

在一些实施例中,可例如经由网络(例如,无线网络)发射原始和/或经修改模型。在 一些例子中,可将一个或一个以上模型发送到一个或一个以上因特网站点和/或与其他用 户共享。举例来说,模型可经发射以投递到文件共享站点、社交网络站点、拍卖站点(例 如,克雷格列表)、销售站点(例如,www.amazon.com)等上。类似地,用户可能够下载 模型。举例来说,用户可访问家具店网站。其可接着能够将躺椅的模型下载到计算机或 移动装置。所述对象可接着用于修改环境模型(例如,以估计躺椅在用户自己的起居室中 将看上去如何)。作为另一实例,一组用户可参与玩视频游戏。可允许每一用户产生真实 世界对象的模型,且所述模型可经由无线网络交换(例如,免费、在用户在团队内的情况 下免费、收费、仅在许可的情况下等)。游戏可经配置以用经建模对象扩增环境。

图2说明根据一实施例用于产生模型的方法200。在205处,接收多个图像(例如, 经由网络和/或从本地或远程数据库)。这些图像可包含例如105处俘获的图像。所述图 像可各自包含一个或一个以上对象或环境的部分或完全描绘。所述图像可处于不同视 角。所述多个图像可包含至少或确切地两个或三个图像。图像的数目可为固定的或动态 的且/或由用户或系统确定,如参看图1中的105描述。图3A展示躺椅对象的一个图像 的实例。

在210处,可识别图像特征。在一些例子中,识别图像特征包含处理一个或一个以 上图像。举例来说,图像可经滤波、裁剪等。图像特征可接着检测为图像的具有以下性 质的部分:展现高或高于阈值空间对比度,与其它特征分离,展现与图像中的其它像素 强度相比不同的像素强度,展现与图像中的其它像素强度样式相比不同的空间像素强度 样式,包含直线等。图像特征可包含一种或一种以上定性类型的特征。举例来说,一个 或一个以上特征可对应于边缘、不同纹理、隅角、颜色样式、不同颜色等。在一些例子 中,图像特征与任何特定类型的定性特征相关联。计算机视觉技术和/或定量像素分析可 用于识别特征。

在一些例子中,图像的多个部分或区的每一者使用多维空间表征。因此,举例来说, 第一维度可识别区内对比度,第二维度可识别平均相对像素强度等。所述区可为相同或 不同形状(例如,圆形)或大小,且可或可不重叠。最不同区可基于多维空间内的分析识 别。图3B展示具有经识别特征(每一者以红色勾勒)的一个图像的实例。

在215处,可识别图像对应性。可识别图像对应性以试图识别多个图像中存在的同 一真实世界特征。识别图像对应性可包含例如识别多个图像的每一者中的图像特征,以 及匹配所述特征的一者或一者以上。(例如)如果图像在不同视角俘获,那么所述特征可 不存在于图像内的同一位置。因此,可基于特征质量的分析匹配图像特征(例如,识别多 个图像中的类似空间样式)。在一些实施例中,图像可经处理以例如具有类似亮度、比例 等。图3C展示经识别图像对应性的实例。特定来说,所描绘的线展示为将一个图像中 的特征与另一图像中的对应特征连接。

在220处,可估计固有成像装置参数(例如,相机的焦距、透镜失真、歪斜系数、主 点)。这些可为已知特性。举例来说,这些参数可经存储且与所接收图像的每一者相关联。 作为另一实例,执行方法200的装置可为俘获图像的相同装置,且可知晓当俘获图像时 使用的参数。

在225处,可基于图像和对应性估计对象形状。所述形状可包含包括逼真比例的部 分或完整三维形状。所述形状可通过考虑图像的不同视角来估计。举例来说,相机可倾 斜且当俘获第一图像时处于与其在第二图像处的位置相比不同的高度。在识别图像对应 性后,可即刻估计视角以允许估计逼真比例的对象形状。在一个例子中,估计所述多个 图像的每一者的变换。所述变换可允许将二维图像变换到三维图像空间中。所述变换可 至少部分基于经识别图像对应性和/或固有成像装置参数来计算。在一些实施例中,225 涉及三角测量技术。

在230处,可基于参数识别真实生活对象维度。在一些实施例中,在图像空间中产 生三维模型。图像空间可接着基于参数转换为真实生活或绝对空间。举例来说,通过识 别相机的焦距,可估计对象的一个或一个以上逼真维度。特定来说,传感器处的所成像 维度可近似为焦距乘以实际对象维度除以透镜至对象距离。因此,通过使用焦距和展示 所述对象的多个对象,可估计实际对象维度。类似技术可允许估计可施加到225处估计 的三维形状的多个维度的放大或缩放因数。

图像可包含多个对象。因此,在一些实施例中,225包含识别图像内的不同对象。 举例来说,每一图像可经分析以识别图像中的对象。足够数目的图像中表示的对象可接 着建模(例如,通过估计对象的形状和维度)。在一些实例中,将对象建模,而不管多少 图像展示所述对象。置信度量度可与每一模型相关联例如以指示基于单一图像的模型不 可能准确。这在用户对建模复杂环境感兴趣且对环境中的每一对象的详细说明不感兴趣 时尤其有利。

方法200可进一步包含估计其它对象特性,例如演色、空间颜色分布、纹理等。

图4说明根据一实施例用于产生一个或一个以上模型的方法400。在405处,接收 多个图像。这些图像可包含例如105处俘获的图像。所述图像可各自包含一个或一个以 上对象或环境的部分或完全描绘。所述图像可处于不同视角。所述多个图像可包含至少 或确切地两个或三个图像。图像的数目可为固定的或动态的,如参看图1中的105描述。

在410处,可确定图像是对象还是环境的。此确定可部分或完全基于用户输入(例如, 在俘获之前或之后将图像表征为“对象”或“环境”;以例如“起居室”或“桌子”等 对象类型或环境类型描述符表征图像)而作出。此确定可部分或完全基于图像分析而作 出。举例来说,如果边缘检测算法估计单一对象消耗一个、一个以上或所有照片的较大 百分比,那么可确定所述图像为对象的,或如果中心像素或大部分像素相当恒定(例如, 颜色、纹理等方面),那么可确定所述图像为对象的。

如果确定所述图像为对象的,那么方法400继续到415,在此处使图像匹配。特定 来说,可在图像的一者、两者或两者以上中检测一个或一个以上对象特征的每一者。举 例来说,可确定对象的顶部在第一图像中从像素(5,5)延伸到像素(5,505),且在第二图像 中从像素(10,15)延伸到像素(20,395)。对象特征可包含非定性像素群组和/或例如边缘、 不同纹理、隅角等的一者或一者以上。

至少部分基于所匹配图像,可在420处估计对象的形状。所述形状可包含三维形状。 模型可逼真地设定比例。举例来说,如果沙发的长度是宽度的三倍,那么沙发的模型可 表示此特性。

在425处,可估计对象维度。所估计的维度可为逼真的。举例来说,如果躺椅为7 英尺长,那么模型可包含类似长度。在一些例子中,所估计的维度包含估计待施加到420 处估计的形状的一个或一个以上缩放因数。所述维度可至少部分基于俘获所述多个图像 的成像装置所固有的参数来估计。举例来说,可使用相机固有特性和/或相机设置(例如, 焦距、透镜失真、歪斜系数、主点等)将所成像维度转换为真实生活维度。在一些例子中, 不估计真实世界维度。举例来说,可改为仅在图像空间内估计(例如,基于相机固有特性) 维度。

在430处,可估计对象的其它非维度物理学相关特性。举例来说,可估计对象的质 量或密度。物理学相关特性可涉及移动或提升对象所需的必要力、对象的挤压特性等。 可例如基于对象的所估计材料(例如,基于所成像表面估计对象由木材制成)、数据库匹 配和/或用户输入估计物理学相关特性。举例来说,用户可输入对象由铝制成。可通过查 找铝的密度且基于420和425处估计的形状和维度估计对象的体积来估计对象的质量。 作为另一实例,对象数据库可包含多个对象的形状和材料。因此,所成像对象可例如基 于其形状和颜色而识别为对应于数据库对象的一者,且可接着在数据库中查找所述材 料。数据库可包含所有类型的对象,或单独数据库可用于不同类型的对象。

在435处,对象模型可存储在数据库中。所述模型可包含多个隅角点、边缘、表面、 颜色、纹理、边界、维度、缩放、重量、密度等。所存储的模型可包含一个完整的三维 模型(例如,包含所估计形状和真实世界维度两者)。举例来说,躺椅的模型可包含躺椅 的形状,连同躺椅的平坦基底为八英尺长、躺椅的前部为两英尺高,躺椅的垫子为一英 尺深等的指示。所存储的模型可包含多个组件(例如,一个组件表示对象的形状,且另一 组件表示可施加到所述形状以将其转换为真实世界维度的缩放因数)。所存储的模型还可 包含置信度指示符,其可指示模型不能准确反映维度、纹理等,或模型不完全反映对象 的所有部分。举例来说,如果405处的图像具有较差质量且不包含对象的后部的描绘, 那么与对象相关联的置信度指示符可为低。

返回到410,如果确定图像为一环境的,那么方法400继续到440。在440处,使 图像匹配。440处执行的匹配可包含例如415处描述的一种或一种以上技术。在一些例 子中,匹配技术与415和440处的相同或类似。在一些例子中,440处的匹配包括使来 自图像上的多个环境内对象的每一者的特征匹配。环境边界(例如,地板、墙壁、天花板、 地面等)可在440处在图像上匹配。因此,在一些实施例中,匹配图像包含识别环境内的 一个或一个以上对象和/或边界,以及使对象和/或边界在图像上匹配。

在445处,估计环境内的形状。所述形状可包含环境内的对象或边界的形状。每一 对象形状可包含一个或一个以上三维形状。边界形状可包含二维形状和定向。举例来说, 可估计墙壁为具有3乘4纵横比的矩形且相对于地板垂直。

在450处,可估计环境维度。环境维度可包含对象维度(例如,如425处描述)。环 境维度可包含对象间距离和/或对象间定向(其可为表示较大数目的一个对象到另一对象 的距离的较简洁方式)。

在455处,可估计一个或一个以上环境物理学相关特性。举例来说,可估计环境中 的一个或一个以上对象的质量、密度、刚性或稀疏度(例如,如430处描述)。

在460处,环境模型可存储在环境数据库中。环境数据库可部分或完全独立于对象 数据库。在一个例子中,环境内的每一对象独立地建模且存储在对象数据库中。环境数 据库可接着存储额外数据,例如哪些对象与特定环境相关联、对象间距离、边界形状等 的指示。所存储的环境模型数据可包含置信度指示符,例如上文相对于对象模型数据库 描述的置信度指示符。

在一些实施例中,410处的确定不包含在方法400中。举例来说,可始终分析所有 图像,仿佛其描绘一环境。一个或一个以上对象可在环境内识别且独立地建模。可进一 步确定和/或存储除对象数据以外的环境数据。作为另一实例,可始终分析所有图像,仿 佛其描绘一对象。这在默认环境模型已经产生(例如,视频游戏编程者产生的环境模型, 且用户仅具有以一个或一个以上对象扩增环境的能力)的情形中可能尤其合乎需要。

图5A-5C说明可用于向用户呈现模型且/或允许用户经由装置与模型交互的用户接 口。

在图5A中向用户呈现菜单屏幕。向用户呈现多个环境模型的表示。如图所示,所 述表示包含环境或对象的二维图形表示。所述表示可包含例如用于产生相关联环境或对 象的模型的原始图像、环境或对象的二维描绘、环境或对象的纹理描述(例如,“起居室” 或“环境1”)等。在一些例子中,以类似方式呈现所有模型。在一些例子中,单独呈现 对象和环境模型。在一些例子中,仅呈现一个环境模型。用户可能够例如通过使用鼠标 或指针在模型表示上点击,通过使用装置按键(例如,箭头)选择环境,通过触摸屏幕上 表示环境之处等而选择模型。可向用户呈现其它选项(例如,组合模型、添加一个或一个 以上模型、删除模型、重命名模型等)。图5A展示用户选择(通过触摸相关联图像)所呈 现环境模型的一者的实例。

在图5B中,向用户呈现环境的经扩展表示(例如,响应于特定环境模型的选择)。用 户可能够例如通过旋转环境、从环境放大或缩小、改变墙壁颜色、改变地毯等而与环境 交互。可提供一个或一个以上比例尺条和/或虚拟测量装置,使得用户可识别环境维度或 环境内对象维度和/或对象间距离。

用户可进一步能够修改环境的三维方位。举例来说,环境中的三维对象可移动和/ 或重定向,可将新三维对象添加到环境,可从环境移除三维对象。图5B展示用户通过 触摸电视机且将其拖拽到所要目的地而在环境内移动电视机的实例。

图5B还展示用户指示咖啡桌对象将添加到环境的实例。在此例子中,用户正将对 象的表示拖拽到环境中。在一些例子中,用户可通过仅选择(例如,敲击或点击)对象的 表示而将对象添加到一个或一个以上默认位置(例如,中心位置或空位置)。

在一些例子中,用户指定新对象将定位的位置,或环境中已显示的对象的新位置。 用户可输入三维坐标(例如,房间内的真实生活坐标)以指定对象的一部分(例如,中心、 隅角、基底等)的位置。在另一例子中,用户指定二维坐标。举例来说,用户可识别环境 的二维描绘内的位置(例如,通过在定位上触摸或点击)。可假定用户希望对象经放置使 得对象的基底安置在环境的地面或地板上。可进一步假定经识别的位置是对象的基底或 中心的位置。在一些例子中,用户在环境上或向环境中拖拽对象。因此,用户在对象的 第一部分上点击且将其拖拽到环境中的一位置。最终位置可为对象的第一部分将定位的 位置。举例来说,如果用户选择咖啡桌的顶部且将其拖拽到环境中,那么环境可经修改 使得咖啡桌的基底安置在环境中的地板上,且选定的咖啡桌顶部点位于最终目的地点。

如图所示,用户还可能够移除环境中的对象(例如,通过将其拖拽出环境或选择与每 一环境内对象特定关联的移除选项)。从环境移除对象或在环境内移动对象可包含推断环 境的一部分。举例来说,如果在图5B中从环境移除躺椅,那么可预测环境的地板在躺 椅下方将看上去如何,尽管无图像特定提供此信息。在一些例子中,此推断在任何用户 修改之前执行。举例来说,环境模型的产生可包含估计基底环境周围情况(依赖于不可用 环境部分的估计和/或推断)以及产生环境中的个别对象模型。

用户可能够修改环境中的对象的模型。举例来说,用户可能够有意将对象重新设定 大小或重新设定颜色为非逼真大小或颜色,例如将7英尺躺椅扩展为8英尺躺椅。

在一些实施例中,所呈现(例如,呈现为在环境中或额外对象)的对象和/或环境可为 至少部分基于用户提供、装置提供或装置处理的图像而建模的对象。即,举例来说,对 象可为特定对象(例如,用户关注的特定类型/风格/大小/样式的躺椅)而非一股对象。作 为进一步实例,起居室环境可包含特定地毯铺装、墙壁装饰等,作为用户的起居室。在 一些实施例中,所呈现的对象额外或作为替代包含不基于用户提供、装置提供或装置处 理的图像的较一股模型。举例来说,可呈现一股躺椅或起居室。用户可能够定制这些一 股对象和/或环境(例如,通过改变维度、颜色等)且与其交互(如上文针对基于图像的对象 和/或环境描述)。

在图5C中,向用户呈现环境的经修改表示。在此例子中,响应于图5B所示的用户 动作,经修改的环境包含在俘获对应模型产生图像时实际上不存在于环境中的咖啡桌, 以及在俘获对应模型产生图像时电视机的与其实际位置相比的经修改位置。用户可能够 保存经修改环境、恢复到未经修改环境、与环境交互(例如,旋转环境、放大、添加额外 对象、移除对象、移动对象等)等。

图6A-6B展示用于与模型产生和/或修改系统交互的用户接口的其它实例。如图所 示,便携式电子装置600可包含可展示图像的显示器605。所述图像可包含装置俘获的 图像。所述装置可包含模型程序选项610。

当用户选择模型程序选项(例如,通过触摸屏幕上的相关联视觉图标)时,可向用户 呈现一个或一个以上选项,如图6B所示。举例来说,可呈现(例如,通过显示模型产生 图标)模型产生选项。此选项的选择可致使处理器产生图像中正显示的一个或一个以上对 象的模型。在图6B所示的例子中,可产生雕像的模型。

可呈现(例如,通过显示测量图标620)测量选项。此选项的选择可致使处理器确定 图像中的维度的测量和/或显示所述测量。举例来说,可呈现正显示的对象的维度(例如, 大卫雕像的高度和/或宽度)。在一些例子中,此图标的选择可允许用户识别其希望测量 的维度(例如,通过选择屏幕上的端点)。在一些例子中,虚拟尺将出现在屏幕上以允许 用户测量图像中的维度。

可呈现(例如,通过显示扩增图标625)扩增选项。此选项的选择可允许修改图像或 环境(例如,正成像)以包含额外对象。举例来说,装置可存储一个或一个以上对象的模 型。用户可选择对象。还可对图像中的环境建模。环境模型可接着经扩增以包含所述对 象,且可向用户显示经扩增模型。

可呈现(例如,通过显示移除图标630)对象移除选项。此选项的选择可致使从环境 或图像移除一个或一个以上对象。举例来说,用户可能够在对象上点击或在对象周围形 成虚拟框以指示其应从环境移除。环境的模型可经修改以移除经识别对象,且可向用户 显示经识别模型。

图7说明根据一实施例用于扩增虚拟环境模型的方法700。在705处,产生虚拟环 境模型。虚拟环境模型可包含视频游戏环境,例如假想城镇、建筑物、房间、战场等。 虚拟环境模型可包含多个无生命对象。在一些例子中,虚拟环境模型还包含一个或一个 以上有生命对象,例如视频游戏角色(例如,用户角色、敌人角色等)。虚拟环境模型可 由多个维度(例如,场景维度、环境内对象维度等)表征。所述维度可至少部分合理地为 真实世界,使得如果用另一真实世界对象模型扩增环境模型,那么相对维度是可感知的。 虚拟环境中的无生命和/或有生命对象可与例如质量、密度、强度、刚性等物理学相关特 性相关联。

在710处,一个或一个以上用户可产生真实世界对象的一个或一个以上模型。可例 如使用如本文描述的技术产生所述模型。举例来说,用户可俘获真实世界对象的一个、 两个或两个以上图像,且可基于所俘获图像产生模型。

对象模型可存储在用户装置上和/或远程服务器上。对象模型可或可不与起始其产生 的用户唯一地相关联。在一些例子中,在715处,用户可共享一个或一个以上对象模型。 所述共享可在用户起始共享之后和/或自动发生。举例来说,模型可在团队成员之间自动 共享。对象模型的共享可或可不需要用户许可和/或对用户或系统的支付。对象模型可在 网络上共享。举例来说,网站(例如,社交网络网站)可允许用户共享对象模型。所述网 站可或可不由视频游戏公司拥有或控制。

在一些例子中,共享模型本身为最终目标。举例来说,代替于告知某人你正考虑购 买汽车或向该人发送汽车的图片,可将模型发送给该人。这可改进接受者对主题对象的 理解。因此,其可用作用于共享图片的优良且更详细替代。在一些例子中,接收者可自 身使用对象的所接收模型。举例来说,模型可用于3D印刷或用作制造规范。作为其它 实例,接收者可与模型交互。

在720处,可向用户呈现可用对象模型。举例来说,正玩视频游戏的用户可能够检 视识别可供用户使用的对象模型的图标、图像或描述。

在725处,接收用户输入,所述用户输入选择所呈现对象模型的一者。举例来说, 用户可使用鼠标、操纵杆、视频游戏控制器或触摸屏来选择对象模型的表示。

在730处,用选定对象模型扩增虚拟环境模型。虚拟环境模型可归因于环境模型与 对象模型之间的合理维度比例而至少半逼真出现。对象可例如作为虚拟环境中存在的对 象上的覆盖物而呈现。

在735处,可允许用户与经扩增环境模型交互(例如,通过与经扩增环境模型内的对 象交互)。用户可能够从环境模型移动、旋转、提升、投掷或移除对象,且/或用户可能 够致使模型中的其它对象(例如,虚拟环境内对象)接触所添加对象。举例来说,用户可 能够在虚拟现实中移动、丢弃或投掷所添加对象。这些虚拟动作的效应可至少在某种程 度上为真实的(给定对象模型和环境模型的维度和物理学相关特性)。因此,举例来说, 系统可能够估计在给定对象的所估计重量和角色的力量的情况下视频游戏角色可投掷 对象多远;或系统可能够估计基于两个对象之间的碰撞引起的破坏量。举例来说,用户 可用其电视机的模型扩增虚拟环境。视频游戏角色可接着向电视机投掷虚拟环境愤怒小 鸟、球等,且电视机可基于与电视机相关联的所估计物理学相关特性引起逼真但虚拟的 损坏或破坏(通过在给定降落对象的所估计质量和环境内对象的力量的情况下对象降落 在另一环境内对象上)。

图8展示根据一个实施例用于产生、修改和/或显示三维模型的系统800。系统可包 含一装置,其可为电子装置和/或移动装置(例如,蜂窝式电话、智能电话、个人数字助 理、平板计算机、膝上型计算机、数码相机、手持式游戏装置等)。如图所示,系统800 包含可由用户810使用的蜂窝式电话805。装置805可包含收发器815,其可允许装置 发送和/或接收数据和/或语音通信。装置805可连接(例如,经由收发器815)到网络820(例 如,无线网络和/或因特网)。经由无线网络,装置805可能够与外部服务器825通信。

装置805可包含麦克风830。麦克风830可允许移动装置805收集或俘获来自装置 的周围物理环境的音频数据。装置805可包含扬声器835以发射音频数据(例如,呼叫期 间在另一装置上从用户接收,或由装置产生以指示或告知用户810)。装置805可包含显 示器840。显示器840可包含显示器,例如图5A-5C所示的显示器。显示器840可向用 户呈现原始或经修改模型的表示、周围环境的动态图像(例如,在用户使用装置俘获图像 之前)等。显示器840可向用户810呈现交互选项(例如,以允许用户810产生新模型、 修改模型、保存经修改模型、旋转模型的视图等)。装置805可包含用户输入组件845。 用户输入组件845可包含例如按钮、键盘、数字键区、触摸屏、鼠标等。用户输入组件 845可允许例如用户810修改环境模型和/或与正产生或修改的三维模型交互,例如通过 允许图4A-4C所示的交互。尽管未图示,但装置805还可包含成像组件(例如,相机)。 成像组件可包含例如透镜、光源等。

装置805可包含处理器850,且/或装置805可利用处理器855耦合到外部服务器825。 处理器850和/或855可执行任何上述过程的一部分或全部。在一些例子中,在装置本地 执行模型产生和模型修改。在一些例子中,外部服务器的处理器855不参与产生、修改 或显示模型。在一些例子中,使用外部服务器的处理器855产生模型且使用远程处理器 850修改模型。

装置805可包含存储装置860,且/或装置805可利用存储装置865耦合到外部服务 器825。存储装置860和/或865可存储模型,例如环境模型和/或对象模型。环境模型(其 可包含原始和/或经修改环境模型)可存储在环境模型数据库870中,环境模型数据库870 独立于存储对象模型的对象模型数据库875。或者,所有模型存储在单一数据库中。在 一个例子中,所有模型可分解为对象模型。环境模型数据库可存储将对象连接到环境的 参数(例如,识别环境中的对象、环境维度、对象间距离等)。存储装置860和/或865可 包含图像数据库880以存储图像,例如用于产生模型的所有图像、装置805拍摄的所有 图像、用户810保存的所有图像等。

图9展示根据一个实施例用于产生、修改和/或显示三维模型的系统900。系统900 的一部分或全部可例如并入到一个或一个以上移动装置和/或电子装置(例如,移动电话) 中。系统900的一部分或全部可并入到远程服务器和/或云服务器中。

系统900包含成像装置905,其可经配置以俘获图像和/或视频。成像装置905可包 含相机,例如手机相机。成像装置905可经配置以在经由用户输入组件910从用户接收 命令后俘获图像和/或视频。举例来说,用户可点击图像收集按钮。

成像装置905俘获的图像可由模型产生器915处理。模型产生器915可自动或在经 由用户输入组件910从用户接收命令后处理图像。模型产生器915可经配置以基于一个 或一个以上图像产生环境和/或对象模型。本文描述的模型产生技术可由模型产生器915 实施。

模型产生器915可包含用以识别和定位图像内的特征的特征识别器920。举例来说, 特征识别器920可包含边缘检测器、隅角检测器、高对比度检测器等。

模型产生器915可包含经配置以使图像上的特征匹配的图像对应性识别器925。对 于每一匹配的特征,图像对应性识别器925可使图像的每一者中的特征的基于图像的位 置彼此相关联。在一些例子中,图像对应性识别器925基于所匹配的特征识别图像之间 和/或图像与真实生活之间的变换。

模型产生器915可包含形状/维度估计器930。形状/维度估计器930可估计表征对象、 环境内的对象或环境的形状和/或一个或一个以上维度。所估计的形状和/或维度可基于 成像装置参数、特征的基于图像的维度、特征之间的基于图像的距离等。

模型产生器915可包含物理学特性估计器935,其可估计对象、环境内的对象或场 景的物理学相关特性。举例来说,物理学特性估计器935可估计对象的质量、密度、刚 性、强度等。所述估计可基于经由图像显现的视觉特性(例如,对象表面上的纹理),或 基于经由用户输入组件910接收的用户输入。在一些例子中,物理学特性估计器935存 取包含对象和材料特性的数据库。物理学特性估计器935估计正成像的对象的身份(例 如,“三抽屉桌#459”)、查找对象的材料,且基于材料的密度估计对象的质量。数据库 可包含此类型的信息用于普遍可用的项目(例如,家具项目)和/或用于存储在选择商店中 的项目(使得,例如商店可为在其店内销售的项目提供经扩增模型能力)。

模型产生器915产生的模型可存储在模型数据库940中,模型数据库940可包含(在 一些例子中)对象和环境的模型。在一些例子中,单独数据库存储模型和环境。在一些例 子中,一个数据库存储对象的模型,且另一数据库存储关于对象如何组合以形成环境的指 示。在一些例子中,存储仅对象模型或仅环境模型。

用户可接着经由模型交互器945与存储在模型数据库940中的模型交互。因此,用 户可经由用户输入组件910输入输入,且借此与一个或一个以上模型交互。

模型交互器945可包含模型修改器950。模型修改器950可允许用户修改例如所产 生模型的颜色、维度、形状等。举例来说,用户可将躺椅对象模型从白色修改为褐色。 因此,经由模型修改器950,用户可能够修改与对象或环境的物理特性相关的模型特性。

模型交互器945可包含环境模型扩增器955。环境模型扩增器955可经配置以用对 象模型扩增环境模型。用户可选择待扩增的环境模型和将扩增环境模型的对象模型。经 扩增环境模型可包含归因于与两个模型相关联的所估计维度的环境和对象之间的逼真 比例。

模型交互器945可包含环境内对象移除器960。环境模型可包含模型中的多个对象。 用户可选择一个对象(例如,经由用户输入组件910)且请求将其移除。环境内对象移除 器960可接着从环境移除对象。

模型交互器945可包含环境内对象操纵器965。经由环境内对象操纵器965(以及例 如,用户输入组件910),用户可能够在环境内移动、丢弃、滑动、旋转(等)对象。所述 对象可为原始存在于环境中的对象或添加到环境的对象。模型交互估计器970可估计此 类操纵的效应。举例来说,如果用户试图将对象彼此堆叠定位,那么模型交互估计器970 可估计下伏对象是否将被挤压,或如果用户试图向一个对象投掷另一对象,那么模型交 互估计器970可估计所接触对象是否将被损坏、毁坏、倾倒、不受影响等。在一些例子 中,操纵的效果取决于角色力量。举例来说,操纵可包含视频游戏角色试图操纵对象。 所述操纵的效果可部分取决于角色的力量。

模型(例如,如所产生,或在用户与模型交互以修改模型、扩增模型、从模型移除对 象或在环境内操纵对象之后)可由模型收发器975接收和/或发射。举例来说,模型可在 模型共享或社交网络网站上共享。

系统900可进一步包含显示器980。显示器980可显示成像装置90俘获的图像、模 型产生器915产生的模型940的表示、交互后或如模型交互器945修改的经修改模型的 表示等。显示器980可进一步向用户呈现指令。

图10提供可执行如本文描述的各个实施例提供的方法且/或可包含如本文描述的一 个或一个以上系统组件的计算机系统1000的一个实施例的示意说明。应注意,图10仅 意图提供各个组件的一股化说明,其任一者或全部可适当利用。因此,图10广义上说 明可如何以相对分离或相对较集中方式实施个别系统元件。

计算机系统1000展示为包括可经由总线1005电耦合(或可以其它方式通信,视需要) 的硬件元件。所述硬件元件可包含一个或一个以上处理器1010,包含(不限于)一个或一 个以上通用处理器和/或一个或一个以上专用处理器(例如,数字信号处理芯片、图形加 速度处理器和/或类似物);一个或一个以上输入装置1015,其可包含(不限于)鼠标、键 盘和/或类似物;以及一个或一个以上输出装置1020,其可包含(不限于)显示器装置、打 印机和/或类似物。

计算机系统1000可进一步包含(和/或与之通信)一个或一个以上存储装置1025,其 可包括(不限于)本地和/或网络可接入存储装置,且/或可包含(不限于)磁盘驱动器、驱动 器阵列、光学存储装置、固态存储装置(例如,随机存取存储器(“RAM”)和/或只读存 储器(“ROM”))(其可为可编程的、快闪可更新的和/或类似物)。此类存储装置可经配置 以实施任何适当数据存储,包含(不限于)各种文件系统、数据库结构和/或类似物。

计算机系统1000可能还包含通信子系统1030,其可包含(不限于)调制解调器、网 卡(无线或有线)、红外线通信装置、无线通信装置和/或芯片组(例如,BluetoothTM装置、 802.11装置、WiFi装置、WiMax装置、蜂窝式通信设施等)和/或类似物。通信子系统1030 可允许与网络(例如,下文描述的网络,仅举一例)、其它计算机系统和/或本文描述的任 何其它装置交换数据。在许多实施例中,计算机系统1000将进一步包括工作存储器1035, 其可包含RAM或ROM装置,如上文描述。

计算机系统1000还可包括软件元件,展示为当前位于工作存储器1035内,包含操 作系统1040、装置驱动器、可执行库和/或其它代码(例如,一个或一个以上应用程序 1045),所述代码可包括各个实施例提供的计算机程序,且/或可经设计以实施其它实施 例提供的方法和/或配置其它实施例提供的系统,如本文描述。仅借助实例,相对于上文 论述的方法描述的一个或一个以上程序可能实施为可由计算机(和/或计算机内的处理器) 执行的代码和/或指令;在一方面中,因而,此类代码和/或指令可用于配置和/或调适通 用计算机(或其它装置)以执行根据所描述的方法的一个或一个以上操作。

这些指令和/或代码的集合可能存储在计算机可读存储媒体上,例如上文描述的存储 装置1025。在一些情况下,存储媒体可能并入在计算机系统内,例如系统1000。在其 它实施例中,存储媒体可能与计算机系统分离(例如,可装卸媒体,例如压缩光盘),且/ 或提供在安装封装中使得存储媒体可用于以其上存储的指令/代码编程、配置和/或调适 通用计算机。这些指令可能采取可由计算机系统1000执行的可执行代码的形式,且/或 可能采取源和/或可安装代码的形式,所述源和/或可安装代码在计算机系统1000上(例 如,使用多种通常可用编译程序、安装程序、压缩/解压缩实用程序等的任一者)编译和/ 或安装后接着采取可执行代码的形式。

所属领域的技术人员将了解,可根据特定要求作出实质变化。举例来说,还可能使 用定制硬件,且/或特定元件可能实施在硬件、软件(包含便携式软件,例如小应用程序 等)或两者中。此外,可采用到例如网络输入/输出装置等其它计算装置的连接。

如上文提及,在一个方面中,一些实施例可采用计算机系统(例如,计算机系统1000) 来执行根据各个实施例的方法。举例来说,计算机系统可执行方法100、方法200、方 法400或方法700的一部分或全部。此外,系统800或900的一个或一个以上组件可(个 别或总体)包含计算机系统(例如,计算机系统1000)。根据一组实施例,此类方法的一些 或所有程序由计算机系统1000响应于处理器1010执行工作存储器1035中包含的一个 或一个以上指令(其可能并入到操作系统1040和/或其它代码中,例如应用程序1045)的 一个或一个以上序列而执行。此类指令可从另一计算机可读媒体(例如,存储装置1025 的一者或一者以上)读取到工作存储器1035中。仅借助实例,工作存储器1035中包含的 指令的序列的执行可能致使处理器1010执行本文描述的方法的一个或一个以上程序。

如本文使用的术语“机器可读媒体”和“计算机可读媒体”指代参与提供致使机器 以特定方式操作的数据的任何媒体。计算机可读媒体和存储媒体不指代暂时性传播信 号。在使用计算机系统1000实施的实施例中,各种计算机可读媒体可能参与向处理器 1010提供指令/代码以供执行,且/或可能用于存储此类指令/代码。在许多实施方案中, 计算机可读媒体是物理和/或有形存储媒体。此媒体可采取非易失性媒体或易失性媒体的 形式。非易失性媒体包含例如光盘和/或磁盘,例如存储装置1025。易失性媒体包含(不 限于)动态存储器,例如工作存储器1035。

物理和/或有形计算机可读媒体的常见形式包含例如软盘、柔性磁盘、硬盘、磁带, 或任何其它磁性媒体、CD-ROM、任何其它光学媒体、穿孔卡、纸带、任何其它具有孔 图案的物理媒体、RAM、PROM、EPROM、快闪EPROM、任何其它存储器芯片或盒等。

上文论述的方法、系统和装置为实例。各种配置可视需要省略、替换或添加各种程 序或组件。举例来说,在替代配置中,所述方法可以与所描述不同的次序执行,且/或可 添加、省略和/或组合各个阶段。并且,相对于某些配置描述的特征可在各种其它配置中 组合。所述配置的不同方面和元件可以类似方式组合。并且,技术进步,且因此许多元 件为实例且不限制揭示内容或权利要求书的范围。

描述中给出特定细节以提供对实例配置(包含实施方案)的彻底理解。然而,可在没 有这些特定细节的情况下实践配置。举例来说,已在无不必要细节的情况下展示众所周 知的电路、过程、算法、结构和技术以免混淆所述配置。此描述仅提供实例配置,且不 限制权利要求书的范围、适用性或配置。而是,所述配置的先前描述将向所属领域的技 术人员提供实施所描述技术的启发性描述。可在不脱离本发明的精神和范围的情况下作 出元件的功能和布置方面的各种改变。

并且,配置可描述为过程,其描绘为流程图或框图。尽管每一者可将操作描述为循 序过程,但许多操作可并行或同时执行。另外,操作的次序可重新布置。过程可具有图 中未包含的额外步骤。此外,方法的实例可由硬件、软件、固件、中间件、微代码、硬 件描述语言或其任何组合实施。当实施在软件、固件、中间件或微代码中时,用以执行 必要任务的程序代码或代码片段可存储在例如存储媒体等非暂时性计算机可读媒体中。 处理器可执行所描述的任务。

已描述若干实例配置,可在不脱离本发明的精神的情况下使用各种修改、替代构造 和等效物。举例来说,以上元件可为较大系统的组件,在较大系统中其它规则可优先于 或以其它方式修改所述应用。并且,可在考虑以上元件之前、期间或之后进行若干步骤。 因此,以上描述不限制权利要求书的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号