增强现实呈现的制作方法

文档序号:31401535发布日期:2022-09-03 04:43阅读:68来源:国知局
增强现实呈现的制作方法
增强现实呈现


背景技术:

1.系统可以使用三维(“3d”)模型来表示对象。例如,增强现实(“ar”)系统、虚拟现实(“vr”)系统或web浏览器可以使用3d模型来表示对应环境中的对象。模型可以在视场之外并且影响视场内的对象(例如在椅子上弹跳的球)的呈现。


技术实现要素:

2.本说明书描述了用于呈现增强现实体验的技术、方法、系统和其他方法。增强现实体验可以涉及将虚拟对象显示在真实世界场景的视图内,并且可以使用配备有摄像装置并且使得能够提供这样的体验的移动计算设备来执行。然而,在web资源上呈现对象的图像的一些在线会话是在诸如台式计算机、信息站计算机和其他这样的设备的无法启用增强现实的计算设备上进行的。例如,由在台式计算设备上运行的web浏览器呈现的网页可以呈现用户想要参与增强现实体验的对象的图像。在本示例中,用户可以将对象、用户、会话信息或这些的组合从无法启用增强现实的设备传送至另一启用增强现实的计算设备例如智能电话。为了传送信息,例如,用户可以选择由运行在台式计算设备上的web浏览器呈现的网页上的控件,并且作为响应,网页可以生成对对象、用户、会话信息或者这些中的两个或更多个的组合进行编码的图像。然后,智能电话可以例如基于用户输入使用摄像装置来捕获编码图像,并且解码编码信息,并且使用该信息来启动包括对象的增强现实体验并将智能电话上的在线会话与台式计算设备上的在线会话相关联。作为另一示例,可以启动包括对象的虚拟现实体验,并且由启用虚拟现实的设备促进的虚拟现实体验可以与台式计算设备上的在线会话相关联。
3.通常,本说明书中描述的主题的一个创新方面可以体现在包括以下动作的方法中:由移动设备web浏览器接收网页的数据,所述网页的数据与统一资源指示符相关联并且包括用于多个增强现实呈现的增强现实数据;由移动设备web浏览器通过以下步骤从网页的多个增强现实呈现中选择增强现实呈现:(i)解析统一资源指示符,(ii)检测所解析的统一资源指示符中的一个或更多个增强现实呈现参数,以及(iii)从用于多个增强现实呈现的增强现实数据中选择由一个或更多个增强现实呈现参数标识的用于增强现实呈现的特定增强现实数据;由移动设备web浏览器使用用于多个增强现实呈现中的增强现实呈现的特定增强现实数据以及来自运行移动设备web浏览器的移动设备中包括的摄像装置的数据,来自动呈现网页的增强现实呈现;在自动呈现增强现实呈现之后,由移动设备web浏览器接收指示增强现实呈现应当结束的数据;以及在接收到指示增强现实呈现应当结束的数据之后,由移动设备web浏览器使用网页的数据来呈现网页。
4.该方面的其他实施方式包括记录在一个或更多个计算机存储设备上的对应计算机系统、装置、计算机程序产品以及计算机程序,各自被配置成执行所述方法的动作。一个或更多个计算机的系统可以被配置成借助具有安装在系统上的软件、固件、硬件或其组合来执行特定的操作或动作,该软件、固件、硬件或其组合在操作中使系统执行所述动作。一个或更多个计算机程序可以被配置成借助包括指令执行特定操作或动作,所述指令由数据
处理装置执行时使该装置执行所述动作。
5.前述和其他实施方式可以各自可选地单独或组合地包括以下特征中的一个或更多个。接收网页的数据可以包括接收独立于移动设备的底层操作系统的数据。增强现实数据可以特定于移动设备、移动设备的用户的账户或上述两者。增强现实数据可以包括对象的三维模型。一个或更多个增强现实呈现参数可以包括呈现角度参数,该呈现角度参数用于指定对象的三维模型的初始呈现角度。一个或更多个增强现实呈现参数可以包括颜色参数,该颜色参数用于指定对象的三维模型的初始呈现颜色。一个或更多个增强现实呈现参数可以包括尺寸参数,该尺寸参数用于指定对象的三维模型的初始呈现尺寸。可以从移动设备的摄像装置接收对统一资源指示符进行编码的图像数据。移动设备可以根据图像数据确定统一资源指示符,并且将统一资源指示符提供给移动设备web浏览器。可以根据由不同于移动设备的计算设备在视觉上呈现并且由移动设备的摄像装置捕获的图像来确定图像数据。在由计算设备在视觉上呈现的图像数据中编码的统一资源指示符可以包括会话标识符,并且移动设备web浏览器可以将计算设备的第一用户会话与移动设备上的第二用户会话相关联。可以响应于确定移动设备被启用以生成增强现实呈现而自动呈现增强现实呈现。在接收到指示增强现实呈现应当结束的数据之后,呈现网页可以在移动设备不向服务器系统请求附加内容的情况下发生。对于两个或更多个网页组件中的每一个,可以由移动设备web浏览器生成组件。对于两个或更多个网页组件中的第一网页组件,可以检测统一资源指示符中的网页组件的标识符。可以使用统一资源指示符中的检测到的网页组件的标识符来选择第一网页组件的增强现实呈现。对于第二网页组件,可以响应于第一网页组件的确定确定跳过对统一资源指示符的分析。
6.本说明书中描述的主题可以在各种实施方式中实现,并且可以产生以下优点中的一个或更多个。在一些实现方式中,本文档中描述的特征例如通过向客户端设备提供完整的网页内容(例如,与补充内容一起)来改进系统,然后,客户端设备能够动态地调整基于url呈现的内容,同时仍然具有呈现“基本”网页的选项。例如,url可以指示客户端应当加载基本网页并且启动ar体验,在加载和启动之后,客户端设备可以在不向服务器请求附加内容的情况下呈现基本网页。在一些实现方式中,例如均基于单个url在呈现ar体验的同时在后台加载网页的客户端设备改进了加载时间。在一些实现方式中,通过使用相同的网页内容来在不同的计算设备上渲染网页并且/或者将增强现实呈现与用于在不同网页上启动特定于对象的增强现实体验的控件(例如,按钮)相关联,可以在例如服务器上维护一致的网页代码库,同时提供不同设备之间的一致、灵活的用户体验、用户选择的高效应用或上述两者。例如,这可以减小需要维护的网页代码库的大小。在一些实现方式中,通过例如使用编码图像来连接在不同计算设备上进行的用户会话,使得系统能够应用用于对网站转换进行归属、确定跨越多个不同设备的用户交互或上述两者的分析技术。在一些实现方式中,可以提供从台式web浏览体验到ar体验的一键式转换。例如,一键式转换不仅可以包括从由摄像装置捕获的编码图像打开链接,而且可以直接打开ar体验。
7.本说明书中描述的主题的一个或更多个实现方式的细节在附图和以下说明书中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得明显。
附图说明
8.图1是用于呈现增强现实体验的示例环境。
9.图2是用于呈现增强现实体验的示例过程的流程图。
10.图3a至图3b是用于选择增强现实体验的示例界面。
11.图4a至图4b是用于呈现增强现实体验的示例界面。
12.图5是可以结合本文档中描述的计算机实现的方法使用的计算系统的框图。
13.各个附图中的相同附图标记和名称指示相同的元件。
具体实施方式
14.增强现实体验可以涉及将虚拟对象显示在真实世界场景的视图内,并且可以使用配备有摄像装置并且使得能够提供这样的体验的移动计算设备来执行。然而,在web资源上呈现对象的图像的一些在线会话是在诸如台式计算机、信息站计算机和其他这样的设备的无法启用增强现实的计算设备上进行的。本文档中描述的技术可以提供用于以几乎无缝的方式将用于在线会话的对象、用户、会话信息或这些的组合从无法启用以进行增强现实体验的设备传送至启用增强现实的设备的技术。
15.图1是用于呈现增强现实体验的示例环境100。在其他示例中,环境100可以被配置成用于呈现虚拟现实体验。在所描绘的示例中,环境100包括与一个或更多个在线计算设备104以及一个或更多个移动计算设备106通信的一个或更多个计算机服务器102。计算服务器102、在线计算设备104和移动计算设备106之间的通信例如可以通过包括lan(局域网)、wan(广域网)和/或因特网的一个或更多个通信网络(未示出)进行。
16.在一些示例中,计算服务器102可以表示各种形式的服务器,包括但不限于网络服务器、web服务器、应用服务器、云计算服务器或其他合适的计算服务器。计算服务器102例如可以访问来自各种源(例如,数据库、文件系统和/或高速缓存数据源)的数据,可以执行处理所访问的数据的软件,并且可以向在线计算设备104和/或移动计算设备106提供基于所访问/处理的数据的信息。例如,计算服务器102可以访问来自网站数据源110的数据,该网站数据源包括用于提供一个或更多个网站的数据,例如网页数据、用户历史数据;用于提供增强现实体验的数据以及其他合适的数据。
17.在一些示例中,在线计算设备104可以表示各种形式的固定或移动处理设备,包括但不限于台式计算机、信息站计算机、膝上型计算机、平板计算机、个人数字助理(pda)、智能电话或其他处理设备。在一些示例中,移动计算设备106可以表示各种形式的移动处理设备,包括但不限于平板计算机、个人数字助理(pda)、智能电话、头戴式计算机或其他处理设备。在线计算设备104和移动计算设备106例如可以运行web浏览器,web浏览器可以执行提供有资源数据的脚本。
18.图1还示出了在阶段(a)至(e)中示出的用于呈现增强现实体验和/或虚拟现实体验的示例处理流程。阶段(a)至(e)可以以示出的顺序发生,或者它们可以以与所示出的顺序不同的顺序发生,并且/或者两个或更多个阶段(a)至(e)可以是同时的或部分同时的。
19.现在参照图2,示出了用于呈现增强现实体验的示例过程200。在其他示例中,过程200可以呈现虚拟现实体验。例如,过程200可以由环境100的部件来执行,并且将参照图1来进行描述。然而,可以使用其他系统来执行相同或相似的过程。
20.在(210)处,计算设备204(例如,类似于图1所示的在线计算设备104)可以向web服务器202(例如,类似于图1所示的计算服务器102)请求网页。例如,计算设备204的用户可以提供标识网页的输入(例如,使用物理或虚拟键盘来输入统一资源定位符(“url”)、使用麦克风来指定在线资源的地址或关键字、使用指向设备或触摸屏来选择资源链接或者使用另一种输入设备),并且计算设备204可以将该输入提供给向web服务器202请求网页的web浏览器。在本示例中,所请求的网页可以是来自电子商务网站的页面,然而在其他示例中可以请求其他种类的web资源。
21.在(212)处,web服务器202可以接收请求,并且作为响应,可以向计算设备204发送网页数据(214)。再次参照图1,例如,在阶段(a)期间,计算服务器102可以访问网站数据存储装置110,可以检索所请求网页的网页内容112并且可以响应于该请求向在线计算设备104提供网页内容112。
22.在(216)处,计算设备204可以呈现所请求的网页。再次参照图1,例如,在线计算设备104可以使用所接收的网页内容112来渲染网页120以在设备显示器上呈现。
23.现在参照图3a,示出了用于选择增强现实体验的示例界面300(例如,类似于网页120)。在本示例中,界面300包括便于用户(例如,用户a)进行的在线购物会话的各种控件310,例如用于登录或退出网站、访问在线购物车、向购物车添加物品、收藏物品等的一个或更多个控件。
24.本示例中的界面300还包括图像选择控件312a和312b。例如,通过与图像选择控件312a、312b交互,用户可以切换呈现在界面300上的对象(例如,椅子)的各种图像314,其中在图像呈现区域320处更详细地呈现对象的当前所选图像。作为另一示例,用户可以直接选择(例如,点击)对象的图像314之一,并且在图像呈现区域320处可以更详细地呈现对象的所选图像。在本示例中,对象的各种可选图像314包括不同的呈现角度(例如,前面、侧面、后面等),然而在其他示例中,各种可选图像314可以包括对象的不同颜色、对象的不同尺寸和/或其他不同的对象属性值。在一些实现方式中,可以在界面300上可选择多个不同对象的图像。例如,各种可选图像314可以包括不同对象的图像,例如椅子的图像、桌子的图像、灯的图像等。
25.在本示例中,界面300包括控件330,该控件330用于促进在界面300上呈现对象(例如,诸如椅子的物品)的增强现实体验。在一些实现方式中,界面300可以包括多个控件330,例如,用于不同的对象、对象的不同颜色、对象的不同尺寸或这些中的两个或更多个的组合。通常,增强现实体验可以涉及在真实世界场景的视图内实时显示一个或更多个虚拟对象。例如,可以由计算设备渲染对象的3d模型,并且可以使对象的虚拟图像与真实世界场景(例如,用户的环境)成为一体,使得对象的虚拟图像对用户而言看起来是真实世界场景的一部分。
26.用于实现增强现实体验的硬件部件可以包括处理器、显示器和输入设备(例如摄像装置)以及其他硬件部件。例如,诸如平板计算机、个人数字助理、智能电话、头戴式计算机或其他移动计算设备的移动计算设备可以包括:摄像装置,其捕获现实世界场景的实时图像;处理器,其渲染对象的3d模型以生成虚拟图像并且在现实世界场景内配准虚拟图像;以及显示器,其呈现包括现实世界场景和对象的虚拟图像的合成图像。移动计算设备可以优选的是固定计算设备,以促进增强现实体验。例如,当移动计算设备移动时,真实世界场
景可能改变,并且对象的虚拟图像可能被处理器连续地修改以保持对象相对于场景的取向。此外,一些固定计算设备(例如,台式计算机)可能不配备摄像装置,或者可能不另外被配置成促进增强现实体验。然而,经常使用这样的固定计算设备来发起在线购物会话。例如,通过与控件330交互,用户可以启动用于发起增强现实体验的精简过程,包括将对象和/或会话信息从未被配置成促进体验的计算设备(例如,固定计算设备)传送至被配置成促进体验的计算设备(例如,移动计算设备)。
27.再次参照图2,在(218)处,计算设备204(例如,未被配置成促进增强现实体验的固定计算设备)可以接收增强现实控件选择(例如,图3所示的用户对控件330的选择)。响应于接收到增强现实控件选择,例如,计算设备204可以呈现编码图像(220)。
28.现在参照图3b,例如,示出了用于促进增强现实体验的示例界面350(例如,类似于网页120或网页120的一部分)。在本示例中,界面350包括对资源(例如,网页)的地址进行编码的编码图像360(例如,qr码、智能图像或另一合适的编码图像),该编码图像可以为用户通过界面300(图3a所示)选择的一个或更多个对象(例如,椅子)提供增强现实体验。作为另一示例,对于一个或更多个对象中的每一个,所提供的资源(例如,促销电子邮件)可以包括用于对该对象启动增强现实体验的对应编码图像。包括在所提供的资源中的对象例如可以由推荐引擎(未示出)来选择。作为另一示例,打印页面可以包括用于对对象启动增强现实体验的一个或更多个编码图像。
29.在一些实现方式中,编码图像可以对一个或更多个增强现实呈现参数、一个或更多个用户参数以及/或者一个或更多个会话参数进行编码。例如,编码图像360中的增强现实呈现参数可以指定对象和/或对象的各种呈现属性,例如呈现角度、呈现颜色、呈现尺寸和/或其他合适的呈现属性。呈现参数例如可以对应于在启动用于发起增强现实体验的过程之前由用户选择的对象的属性。在本示例中,用户已经从各种可选图像314(图3a示出)中选择了处于正面角度的椅子的图像。用户参数和/或会话参数例如可以包括由用户在计算设备204上进行的在线会话的用户标识符和/或会话标识符。例如,用户可以使用计算设备204登录到在线购物网站,并且web服务器202可以针对用户的当前会话生成唯一的会话标识符。作为另一示例,呈现参数、用户参数和/或会话参数可以包括在其他种类的资源中(例如包括在促销电子邮件、打印页面等中提供的编码图像中),使得可以识别已经从其启动增强现实呈现的资源。
30.在(222)处,可以由移动设备206(例如,类似于图1中所示的移动计算设备106)捕获编码图像。例如,移动设备206的用户(例如,可能是计算设备204的同一用户或不同用户)可以使用移动设备206的捕获设备来捕获编码图像。再次参照图1,例如,在阶段(b)期间,移动计算设备106可以通过使用摄像装置130或另一合适的图像捕获或扫描设备捕获网页120(例如,类似于图3b中所示的界面350)上的编码图像160(例如,类似于也在图3b中所示的编码图像360)来接收图像数据122。
31.在(224)处,移动设备206可以对所捕获的编码图像进行解码,并且解析所解码的数据以根据数据确定统一资源标识符(“uri”)。再次参照图1,例如,移动计算设备106可以对从摄像装置130接收的图像数据122进行解码,可以确定uri并且可以向设备的web浏览器132提供uri。例如,web浏览器132可以是由移动计算设备106执行的完全本地web应用、由设备106执行的另一应用加载的web容器或另一适当类型的web浏览器实例。
32.在(226)处,移动设备206可以向web服务器202请求网页。再次参照图1,例如,在阶段(c)期间,在移动计算设备106上运行的web浏览器132可以基于根据图像数据122解码的uri向计算服务器102中的一个或更多个提供内容请求134。例如,web浏览器132可以请求由uri指示的资源(例如,网页),uri可以可选地包括一个或更多个增强现实呈现参数、一个或更多个用户参数以及/或者一个或更多个会话参数。
33.在(228)处,web服务器202可以接收请求,并且作为响应,可以发送网页数据(230)以被移动设备206接收(232)。再次参照图1,例如,在阶段(d)期间,计算服务器102可以在网站数据源110中访问所请求的网页的网页内容136,并且可以响应于该请求向移动计算设备106提供网页内容136。网页内容136例如可以包括与根据图像数据122解码的uri相关联的网页140的数据。例如,网页140的数据可以包括用于多个增强现实呈现的增强现实数据。在本示例中,用于渲染网页140的网页内容136可以是用于渲染网页120(例如,描绘椅子的在线购物界面300)的同一网页内容112。在一些示例中,用于渲染网页140的网页内容136可以不同于用于渲染网页120的网页内容112。
34.在一些实现方式中,接收网页的数据可以包括接收独立于移动设备的底层操作系统的数据。例如,网页内容136可以包括用于在各种不同的计算设备上渲染网页140和/或用于提供增强现实体验142(例如,在网页140或另一应用内)的数据,并且同样地,可以响应于类似的内容请求来提供相同的网页内容136。例如,当处理网页内容136以渲染网页140并且/或者提供增强现实体验142时,移动计算设备106可以使用特定的操作系统和/或web浏览器来处理所接收的数据。例如,这可以使得计算服务器102能够向不同的移动计算设备106提供相同的网页内容136,而与接收移动计算设备106的底层硬件、操作系统、web浏览器或这些中的两个或更多个的组合无关。
35.在一些实现方式中,可以基于移动设备、移动设备用户的账户或这两者来选择增强现实数据。例如,内容请求134可以包括指示移动计算设备106的一个或更多个规范(例如,型号、操作系统、web浏览器等)的信息,并且一个或更多个计算服务器102可以提供包括被配置成在特定设备上使用的增强现实数据的网页内容136。作为另一示例,内容请求134可以包括用户账户标识符(例如,来自在图像数据122中接收的编码图像160以及/或者来自移动计算设备106),并且一个或更多个计算服务器102可以提供包括基于用户账户的增强现实数据的网页内容136。例如,一个或更多个计算服务器102可以访问网站数据110,并且可以识别先前已经由用户选择并且先前已经由用户在增强现实体验中使用的对象的增强现实呈现参数(例如,角度、颜色和/或尺寸),并且可以向移动计算设备106提供这样的参数(以及/或者可以提供具有这样的参数的对象的模型)以用于生成增强现实体验142。例如,用户可能先前已经参与了与其他对象(例如,其他椅子)的增强现实体验,并且先前针对其他对象指定了增强现实呈现参数,例如呈现角度(例如,正面)、呈现颜色(例如,棕色)和呈现尺寸(例如,大)。当呈现对象的虚拟图像时,例如,当未通过编码图像160明确指定这样的参数时,可以应用先前指定的呈现参数,使得针对用户账户的增强现实体验在若干不同对象之间可以是一致的。
36.在一些实现方式中,增强现实数据可以包括对象的三维模型。例如,包括增强现实数据的网页内容136可以包括由用户在界面300(图3a所示)上选择的对象(例如,椅子)的三维模型。在本示例中,可以在增强现实数据中提供对象的基本模型,当在增强现实体验142
中呈现模型的虚拟图像时,可以由移动计算设备106根据各种呈现参数(例如,角度、颜色、尺寸等)来渲染对象的基本模型。作为另一示例,可以在增强现实数据中提供对象的多个不同模型(例如,图3a中所示的各种可选图像314中的每一个的不同模型),并且可以根据呈现参数选择并渲染模型中的适当一个模型。在一些示例中,计算服务器102可以选择多个不同模型中的一个,并且将所选择的模型的数据包括在增强现实数据中。所选择的模型可以基于计算设备104呈现编码图像160的界面300中的控件330。
37.在一些实现方式中,在在线计算设备104上进行的用户会话可以与在移动计算设备106上进行的用户会话相关联。例如,根据图像数据122解码的uri可以包括:在网页120上呈现编码图像160时在在线计算设备104上进行的会话的用户账户标识符和/或会话标识符。移动计算设备106例如可以在内容请求134中提供用户账户/会话标识符,并且计算服务器102可以提供促进在移动计算设备106上的用户会话的连接和/或继续的网页内容136。例如,如果在登录用户账户时计算设备104呈现特定网站的数据,则网页内容136可以促进将用户账户登录到同一网站的过程,或者可以在使用移动计算设备106时自动将用户账户登录到网站。例如,可以由计算服务器102提供针对在线计算设备104上的用户的会话生成的会话标识符,以供在移动计算设备106上的用户的会话期间使用。例如,通过连接在线计算设备104和移动计算设备106上进行的用户会话,本文档中描述的系统可以提高转换跟踪准确性,如果要孤立地考虑用户会话,则该转换跟踪准确性可能丢失。
38.在(234)处,移动设备206可以确定其是否被启用以进行增强现实体验。再次参照图1,例如,移动计算设备106(例如,web浏览器132)可以检查设备的规范(例如,型号、操作系统、web浏览器等),以确定设备、浏览器或两者是否是启用增强现实的。作为另一示例,如果移动计算设备106不能本地确定设备/浏览器是否是启用增强现实的,则设备106与可以做出该确定的web服务(未示出)通信。
39.例如,如果移动设备206不是启用增强现实的,则移动设备206可以呈现网页(240)。再次参照图1,例如,移动计算设备106的web浏览器132可以使用包括在网页内容136中的网页数据来呈现没有增强现实体验142的网页140。在一些实现方式中,可以提供移动设备不是启用增强现实的通知。例如,移动计算设备106可以在网页140上呈现该设备不启用促进增强现实体验的消息。
40.例如,如果移动设备206是启用增强现实的,则移动设备206可以呈现增强现实体验(236)。在一些示例中,呈现增强现实体验可以包括由web浏览器从网页的多个增强现实呈现中选择特定的增强现实呈现。再次参照图1,例如,在阶段(e)期间,移动计算设备106可以使用web浏览器132来从多个不同的增强现实呈现中选择可能出现在网页140上的增强现实呈现,并且可以选择用于增强现实体验142的适当增强现实呈现。例如,为了选择增强现实呈现,web浏览器132可以执行解析网页140的uri的代码,并且检测所解析的uri中的一个或更多个增强现实呈现参数。例如,基于一个或更多个增强现实呈现参数,web浏览器132可以从接收自一个或更多个计算服务器102的网页内容136中选择由参数标识的用于增强现实呈现的特定增强现实数据。例如,选择特定增强现实数据可以包括根据参数从对象的多个不同模型中进行选择以及/或者根据参数修改基本模型。
41.在一些实现方式中,一个或更多个增强现实呈现参数可以包括用于指定对象的三维模型的初始呈现角度的呈现角度参数。例如,当渲染对象的虚拟图像以在增强现实体验
142中呈现时,对象的三维模型可以根据呈现角度参数沿x、y和/或z轴旋转。例如,可以由与网页120交互(例如,图3a所示的通过选择可选图像314之一)的用户来指定呈现角度参数。作为另一示例,可以由一个或更多个计算服务器102基于用于在先前的增强现实体验期间向用户呈现另一对象的虚拟图像的呈现角度参数来指定呈现角度参数。例如,当利用家具网站参与增强现实体验时,用户可能先前已经定向了对象(例如家具)的虚拟图像,使得对象处于正面或描绘对象的另一特定侧(例如左侧、右侧或后方)。这样的用户偏好数据可以由计算服务器102维护在网站数据存储装置110中,并且在向移动计算设备106提供包括增强现实数据的网页内容136时被引用,以指示随后的虚拟对象将最初以与先前虚拟对象类似的取向来呈现。
42.在一些实现方式中,一个或更多个增强现实呈现参数可以包括用于指定对象的三维模型的初始呈现颜色的颜色参数。例如,当渲染对象的虚拟图像以在增强现实体验142中呈现时,可以根据呈现颜色参数以各种不同颜色来渲染对象的三维模型。例如,呈现颜色可以包括各种颜色属性(例如色调、饱和度、明度和其他合适的颜色属性),并且/或者可以包括例如模拟诸如皮革、布、铁、铬等的材料的各种颜色图案(例如粗糙度、凹凸度、光泽和其他合适的颜色图案)。例如,可以由与网页120交互(例如,图3a所示的通过选择可选图像314之一)的用户来指定呈现颜色参数。作为另一示例,可以由一个或更多个计算服务器102基于用于在先前的增强现实体验期间向用户呈现另一对象的虚拟图像的呈现颜色参数来指定呈现颜色参数。例如,当利用家具网站参与增强现实体验时,用户可能先前已经指定了对象(例如家具)的虚拟图像以棕色呈现。这样的用户偏好数据可以由计算服务器102维护在网站数据存储110中,并且在向移动计算设备106提供包括增强现实数据的网页内容136时被引用,以指示随后的虚拟对象将最初以与先前虚拟对象类似的颜色来呈现。
43.在一些实现方式中,一个或更多个增强现实呈现参数可以包括用于指定对象的三维模型的初始呈现尺寸的尺寸参数。例如,当渲染对象的虚拟图像以在增强现实体验142中呈现时,可以根据呈现尺寸参数以各种不同的尺寸渲染对象的三维模型。例如,可以由与网页120交互(例如,图3a所示的通过选择可选图像314之一)的用户来指定呈现尺寸参数。作为另一示例,可以由一个或更多个计算服务器102基于用于在先前的增强现实体验期间向用户呈现另一对象的虚拟图像的呈现尺寸参数来指定呈现尺寸参数。例如,当利用家具网站参与增强现实体验时,用户可能先前已经指定了对象(例如,家具或其他种类的对象)的虚拟图像以大尺寸呈现。这样的用户偏好数据可以由计算服务器维护在网站数据存储装置110中,并且在向移动计算设备106提供包括增强现实数据的网页内容136时被引用,以指示随后的虚拟对象将最初以与先前虚拟对象类似的尺寸来呈现。
44.在一些实现方式中,可以使用分立的网页组件来执行选择和呈现增强现实呈现。例如,网页140(图1中所示)可以包括各种网页组件(例如,诸如按钮330的控件),每个组件通过网页内容136中提供的一部分代码(例如,脚本)来实现。例如,一些组件可以包括用于选择网页上的对象的图像(例如,图3a所示的可选择图像314)的网页按钮。例如,当渲染网页140时,web浏览器132可以生成页面组件中的每一个。例如,对于网页组件之一(例如,图1中所示,在对应网页120上已经选择的对应网页组件),web浏览器132可以检测uri中的网页组件的标识符,并且可以基于标识符的检测来选择网页组件的增强现实呈现。
45.在选择增强现实呈现之后,例如,web浏览器132可以确定跳过对其他网页组件的
uri的分析。例如,通过使用相同的网页内容112、136来渲染相应设备104、106上的网页,并且将增强现实呈现与用于在相应的网页120、140上启动特定于对象的增强现实体验的控件(例如,按钮)相关联,可以维持一致的网页代码库,同时提供跨不同设备的一致且灵活的用户体验以及用户选择的高效应用。这还可以减少计算服务器102的存储器存储要求,因为它们向任何设备提供相同的网页内容112、136。
46.在一些实现方式中,呈现增强现实体验可以包括由网页140的分立组件分析是否呈现增强现实体验142。在这些实现方式中,网页内容112、136可以包括仅用于单个增强现实体验的数据。网页140组件可以分析uri以确定哪个组件应当发起增强现实体验。例如,发起增强现实体验142的组件可以影响增强现实体验142的呈现、在增强现实体验142结束之后呈现的内容或者两者。例如,用于面向右侧的立体图对象的组件可以在所渲染的对象面向右侧的情况下发起增强现实体验,而用于面向左侧的立体图对象的组件将在所渲染的对象面向左侧的情况下发起增强现实体验。例如,当用于面向右侧的对象的增强现实体验结束时,网页140可以呈现与该面向右侧的立体图相关联的组件,例如对象的立体面向右侧图像。相比之下,当用于面向左侧对象的增强现实体验结束时,网页140可以呈现与该面向左侧的立体图相关联的组件,例如对象的立体面向左侧图像。
47.在选择增强现实呈现之后,例如,移动计算设备106的web浏览器132可以自动呈现网页140的增强现实呈现,并且可以(例如,在网页140或另一应用内)进行增强现实体验142。在一些实现方式中,可以响应于确定移动设备被启用以生成增强现实呈现而自动呈现增强现实呈现。例如,在移动计算设备106使用摄像装置130捕获图像数据122之后,移动计算设备106可以在没有用户输入的情况下向计算服务器102提供内容请求134,从计算服务器接收网页内容136并且渲染具有增强现实体验142的网页140。
48.现在参照图4a,示出了用于呈现增强现实体验的示例界面400(例如,类似于图1所示的网页140)。例如,界面400并入了对象(例如,椅子)的虚拟图像410,该虚拟图像最初根据所解析的统一资源指示符中的一个或更多个增强现实呈现参数(例如,正面角度、棕色、大尺寸)来渲染。本示例中的增强现实呈现还包括来自移动计算设备106(在图1中示出)的用于捕获真实世界场景420的摄像装置130(也在图1中示出)的数据。如本示例中所示,对象的虚拟图像410集成到现实世界场景420中,并且图像410和场景420的合成图像呈现在界面400上。例如,可以在真实世界场景420内配准虚拟图像410,使得由摄像装置130的位置改变引起的场景420中的改变可以引起对象的虚拟图像410的适当改变,以反映来自摄像装置的视点的不同视角。
49.再次参照图2,在(238)处,移动设备206可以接收指示增强现实呈现应当结束的数据,并且作为响应,可以呈现网页(240)。如图4a所示,例如,界面400可以包括控件430,用户可以通过该控件430结束增强现实呈现。响应于用户对控件430的选择,例如,移动计算设备106的web浏览器132可以结束增强现实呈现并且可以呈现网页450(图4b所示)。
50.在一些实现方式中,在接收到指示增强现实呈现应当结束的数据之后,呈现网页可以在移动设备不向服务器系统请求附加内容的情况下发生。例如,web浏览器132可以在不向计算服务器102请求附加数据的情况下使用包括在先前由移动计算设备106接收的网页内容136中的网页数据来呈现网页450。用户可以继续与网页450交互,例如,通过选择对象的另一可选图像454,并且开始另一增强现实体验,该另一增强现实体验包括与对象的所
选图像对应的模型的虚拟图像。与可以用于生成编码图像360(图3b中所示)以启动另一设备上的对象的增强现实体验的控件330(图3a中所示)相比,例如,用户对控件460(图4b中所示)的选择可以使得用户能够输入同一设备上的对象的增强现实体验。例如,增强现实启动控件(例如,330、460)的功能可以由呈现该控件的web浏览器来确定,并且可以基于设备/浏览器能力而改变。用于增强现实体验的用户选择可以由移动计算设备106(图1中示出)提供给计算服务器102(也在图1中示出),例如,以与网站数据110(也在图1中示出)中的用户账户信息一起维护。例如,当在随后的增强现实体验期间最初呈现对象的虚拟图像时,这样的用户选择可以用于选择和/或修改对象的模型。
51.以上关于过程200描述的操作顺序仅是说明性的,并且可以以不同的顺序执行。例如,移动计算设备206可以在呈现增强现实体验(236)之前呈现网页(240)。作为另一示例,移动设备206可以在请求网页(226)之前确定该设备是否是启用增强现实的(234)。
52.在一些实现方式中,过程200可以包括附加的操作、更少的操作或者操作中的一些可以被划分成多个子操作。例如,计算设备204可以在不接收增强现实控件选择(218)的情况下呈现编码图像(220)。作为另一示例,计算设备204可以在计算设备204不呈现图像的情况下捕获编码图像(222)(例如,编码图像可以在打印页面上)。
53.对于此处讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况,可以向用户提供机会来控制程序或特征是否收集个人信息(例如,关于用户的web活动或用户的偏好的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。另外,某些数据可以在被存储或使用之前以一种或更多种方式被匿名化,使得去除个人可识别信息。例如,可以将用户的身份匿名化,使得不能确定用户的个人可识别信息,或者可以将用户的地理位置概括为获得位置信息(例如城市、邮政编码或州级)的地方,使得不能确定用户的特定位置。因此,用户可以控制如何收集关于他或她的信息并且如何由内容服务器使用该信息。
54.本说明书中描述的主题和功能操作的实施方式可以在数字电子电路中、在有形体现的计算机软件或固件中、在包括本说明书中公开的结构及其等同结构的计算机硬件中或它们中一种或更多种的组合中实现。本说明书中描述的主题的实施方式可以被实现为一个或更多个计算机程序,即,在有形的非暂态程序载体上编码的计算机程序指令的一个或更多个模块,以由数据处理装置执行或控制数据处理装置的操作。替选地或附加地,程序指令可以被编码在人工生成的传播信号例如机器生成的电、光或电磁信号上,所述人工生成的传播信号被生成以用于对信息进行编码以传输至合适的接收器装置,从而由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们中的一个或更多个的组合。
55.术语“数据处理装置”指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者还可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或更多个的组合的代码。
56.计算机程序(也被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以包括编译语言或解译语言或者声明语言或过程语言的任何形式的编程语言编
写,并且可以以包括作为独立程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元的任何形式部署。计算机程序可以但不需要与文件系统中的文件相对应。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或更多个脚本)的文件的一部分中,可以被存储在专用于所讨论的程序的单个文件中,或者可以被存储在多个协作文件(例如,存储一个或更多个模块、子程序或部分代码的文件)中。计算机程序可以被部署成在一个计算机上执行或者在位于一个站点处或分布在多个站点上并通过通信网络互连的多个计算机上执行。
57.可以由执行一个或更多个计算机程序以执行功能的一个或更多个可编程计算机通过对输入数据进行操作并且生成输出来执行本说明书中描述的处理和逻辑流程。还可以由专用逻辑电路例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行处理和逻辑流程,并且装置也可以被实现为专用逻辑电路例如fpga(现场可编程门阵列)或asic(专用集成电路)。
58.例如,适合于执行计算机程序的计算机包括通用微处理器或专用微处理器或上述两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或上述两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或更多个存储器设备。通常,计算机还将包括或在操作上耦接至用于存储数据的一个或更多个大容量存储设备例如磁盘、磁光盘或光盘以从其接收数据或向其传送数据或两者兼具。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入到另一设备中,例如移动电话、智能电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备例如通用串行总线(usb)闪存驱动器,仅举几例。
59.适合于存储计算机程序指令和数据的计算机可读介质包括:所有形式的非易失性存储器、介质和存储设备,以半导体存储设备为例包括例如eprom、eeprom和闪速存储器设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或者并入专用逻辑电路中。
60.为了提供与用户的交互,本说明书中描述的主题的实施方式可以在如下计算机上实现,该计算机具有:用于向用户显示信息的显示设备,例如lcd(液晶显示器)、oled(有机发光二极管)或其他监视器;以及用户可以通过其向计算机提供输入的键盘和指向设备,例如鼠标或轨迹球。也可以使用其他类型的设备来提供与用户的交互:例如,向用户提供的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以包括听觉、语音或触觉输入的任何形式接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互,例如,通过响应于从web浏览器接收到的请求,将网页发送至用户的客户端设备上的web浏览器。
61.本说明书中描述的主题的实施方式可以在如下计算系统中实现,该计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户可以通过所述图形用户界面或web浏览器与本说明书中描述的主题的实现方式进行交互;或者一个或更多个这样的后端组件、中间件组件或前端组件的任何组合。系统的部件可以通过数字数据通信的任何形式或介质例如通信网络而互连。通信网络的示例包括局域网(lan)和广域网(wan)例如因特
网。
62.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络来进行交互。客户端和服务器的关系借助于在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器向用户设备发送数据例如超文本标记语言(html)页面,例如,为了向与充当客户端的用户设备进行交互的用户显示数据以及从与用户设备进行交互的用户接收用户输入。可以在服务器处从用户设备接收在用户设备处生成的数据,例如用户交互的结果。
63.图5是作为客户端或者作为服务器或多个服务器的计算设备500、550的框图,计算设备500、550可以用于实现本文档中描述的系统和方法。计算设备500旨在表示各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型主机和其他适当的计算机。计算设备550旨在表示各种形式的移动设备,例如个人数字助理、蜂窝电话、智能电话、智能手表、头戴式设备和其他类似的计算设备。此处所示的部件、它们的连接和关系以及它们的功能仅意在是示例性的,而不意在限制本文档中描述和/或要求保护的实现方式。
64.计算设备500包括:处理器502、存储器504、存储设备506、连接至存储器504和高速扩展端口510的高速接口508、以及连接至低速总线514和存储设备506的低速接口512。部件502、504、506、508、510和512中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其他方式安装。处理器502可以处理用于在计算设备500内执行的指令,包括存储在存储器504中或存储设备506上的指令,以在诸如耦接至高速接口508的显示器516的外部输入/输出设备上显示gui的图形信息。在其他实现方式中,可以适当地将多个处理器和/或多个总线与多个存储器和多种类型的存储器一起使用。另外,多个计算设备500可以与提供一部分必要操作的每个设备(例如,服务器组、一组刀片服务器或多处理器系统)连接。
65.存储器504将信息存储在计算设备500内。在一个实现方式中,存储器504是计算机可读介质。在一个实现方式中,存储器504是一个或多个易失性存储器单元。在另一实现方式中,存储器504是一个或多个非易失性存储器单元。
66.存储设备506能够为计算设备500提供大容量存储。在一个实现方式中,存储设备506是计算机可读介质。在各种不同的实现方式中,存储设备506可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备或者包括存储区域网络或其他配置中的设备的设备阵列。在一个实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含下述指令,当执行所述指令时执行诸如如上所述的那些方法的一种或更多种方法。信息载体是计算机可读介质或机器可读介质,例如存储器504、存储设备506或处理器502上的存储器。
67.高速控制器508管理计算设备500的带宽密集型操作,而低速控制器512管理较低的带宽密集型操作。这样的职责分配仅是示例性的。在一个实现方式中,高速控制器508耦接至存储器504、显示器516(例如,通过图形处理器或加速器),并且耦接至高速扩展端口510,高速扩展端口510可以接纳各种扩展卡(未示出)。在实现方式中,低速控制器512耦接至存储设备506和低速扩展端口514。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦接至一个或更多个输入/输出设备,例如键盘、指向设备、扫描仪或诸如交换机或路由器的联网设备。
68.如附图中所示,计算设备500可以以多种不同的形式实现。例如,计算设备500可以实现为标准服务器520,或者被多次实现在一组这样服务器中。计算设备500也可以实现为机架式服务器系统524的一部分。另外,计算设备500可以在诸如膝上型计算机522的个人计算机中实现。替选地,来自计算设备500的部件可以与诸如设备550的移动设备(未示出)中的其他部件组合。这样的设备中的每一个可以包含计算设备500、550中的一个或更多个,并且整个系统可以由彼此通信的多个计算设备500、550组成。
69.计算设备550包括处理器552、存储器564、诸如显示器554的输入/输出设备、通信接口566和收发器568以及其他部件。设备550还可以设置有诸如微驱动器或其他设备的存储设备,以提供附加的存储。部件550、552、564、554、566和568中的每一个使用各种总线互连,并且若干部件可以适当地安装在公共主板上或以其他方式安装。
70.处理器552可以处理用于在计算设备550内执行的指令,包括存储在存储器564中的指令。处理器还可以包括单独的模拟和数字处理器。处理器例如可以提供设备550的其他部件的协作,例如用户界面的控制、通过设备550运行的应用以及通过设备550的无线通信。
71.处理器552可以通过耦接至显示器554的控制接口558和显示接口556与用户通信。显示器554可以是例如tft lcd显示器或oled显示器,或者其他适当的显示技术。显示接口556可以包括用于驱动显示器554以向用户呈现图形和其他信息的适当电路。控制接口558可以接收来自用户的命令并且将它们转换以提交给处理器552。另外,可以提供外部接口562与处理器552通信,以使得设备550能够与其他设备近区域通信。外部接口562可以提供例如有线通信(例如,经由停靠过程)或无线通信(例如,经由蓝牙或其他这样的技术)。
72.存储器564将信息存储在计算设备550内。在一个实现方式中,存储器564是计算机可读介质。在一个实现方式中,存储器564是一个或多个易失性存储器单元。在另一实现方式中,存储器564是一个或多个非易失性存储器单元。还可以提供扩展存储器574并且扩展存储器574通过扩展接口572连接至设备550,扩展接口572可以包括例如simm卡接口。这样的扩展存储器574可以为设备550提供额外的存储空间,或者还可以存储用于设备550的应用或其他信息。具体地,扩展存储器574可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器574可以被提供为设备550的安全模块,并且可以用允许安全使用设备550的指令来编程。另外,可以经由simm卡提供安全应用以及附加的信息,例如以不可被黑客攻击的方式将标识信息置于simm卡上。
73.存储器可以包括例如闪存和/或mram存储器,如下所述。在一个实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含下述指令,当执行所述指令时执行诸如如上所述的那些方法的一种或更多种方法。信息载体是计算机可读介质或机器可读介质,例如存储器564、扩展存储器574或处理器552上的存储器。
74.设备550可以通过通信接口566进行无线通信,通信接口566在必要时可以包括数字信号处理电路。通信接口566可以提供各种模式或协议(例如gsm语音呼叫、sms、ems或mms消息传递、cdma、tdma、pdc、wcdma、cdma 2000或gprs等)下的通信。这样的通信可以例如通过射频收发器568发生。另外,短程通信可以诸如使用蓝牙、wifi或其他这样的收发器(未示出)而发生。另外,gps接收器模块570可以向设备550提供附加的无线数据,该无线数据可以由在设备550上运行的应用适当地使用。
75.设备550还可以使用音频编解码器560可听地通信,音频编解码器560可以从用户
接收语音信息并将其转换成可用的数字信息。音频编解码器560同样可以例如通过例如在设备550的手机中的扬声器生成针对用户的可听声音。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备550上操作的应用生成的声音。
76.如附图中所示,计算设备550可以以多种不同的形式实现。例如,计算设备550可以实现为蜂窝电话580。计算设备550还可以实现为智能电话582、个人数字助理或其他类似移动设备的一部分。
77.此处描述的系统和技术的各种实现方式可以在数字电子电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现方式可以包括一个或更多个计算机程序中的实现方式,一个或更多个计算机程序能够在包括至少一个可编程处理器的可编程系统上执行和/或解释,可编程处理器可以是专用的或通用的,可编程处理器被耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
78.这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编语言/机器语言实现。如本文中所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。
79.虽然本说明书包含许多特定的实现细节,但是这些细节不应当被解释为对可以要求保护的范围的限制,而应当被解释为可以特定于特定实施方式的特征的描述。本说明书中在单独的实施方式的上下文中描述的某些特征也可以以在单个实施方式中组合的方式实现。反之,在单个实施方式的上下文中描述的各个特征也可以在多个实施方式中单独地或以任何合适的子组合的方式来实现。此外,虽然特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或更多个特征可以在一些情况下从该组合中去除,并且所要求保护的组合可以涉及子组合或子组合的变型。
80.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或以连续顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实现方式中的各种系统模块和部件的分离不应被理解为在所有实施方式中都需要这样的分离,并且应当理解,所描述的程序部件和系统通常可以一起集成在单个软件产品中或者打包到多个软件产品中。
81.已经描述了本主题的特定实施方式。其他实施方式在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中所描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1