CN117501316A - 用于在增强现实环境中添加效果的系统、方法和图形用户界面 - Google Patents
用于在增强现实环境中添加效果的系统、方法和图形用户界面 Download PDFInfo
- Publication number
- CN117501316A CN117501316A CN202280041623.6A CN202280041623A CN117501316A CN 117501316 A CN117501316 A CN 117501316A CN 202280041623 A CN202280041623 A CN 202280041623A CN 117501316 A CN117501316 A CN 117501316A
- Authority
- CN
- China
- Prior art keywords
- physical environment
- cameras
- virtual
- view
- virtual effect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000694 effects Effects 0.000 title claims abstract description 413
- 238000000034 method Methods 0.000 title claims description 124
- 230000003190 augmentative effect Effects 0.000 title description 43
- 230000004044 response Effects 0.000 claims abstract description 79
- 230000000007 visual effect Effects 0.000 claims description 70
- 238000004891 communication Methods 0.000 claims description 43
- 230000006854 communication Effects 0.000 claims description 43
- 230000000977 initiatory effect Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 10
- 230000010365 information processing Effects 0.000 claims description 10
- 239000011859 microparticle Substances 0.000 claims description 3
- 230000033001 locomotion Effects 0.000 description 48
- 230000008569 process Effects 0.000 description 30
- 230000003287 optical effect Effects 0.000 description 29
- 230000001976 improved effect Effects 0.000 description 28
- 241001050985 Disco Species 0.000 description 23
- 230000002093 peripheral effect Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 239000002245 particle Substances 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 241000699666 Mus <mouse, genus> Species 0.000 description 7
- 238000012384 transportation and delivery Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000021317 sensory perception Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 241001422033 Thestylus Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000008846 dynamic interplay Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 229920001746 electroactive polymer Polymers 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000001795 light effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Abstract
一种计算机系统显示一个或多个相机的视场的表示,该视场的该表示包括三维物理环境的位于该一个或多个相机的该视场中的一部分的表示。该计算机系统接收将第一虚拟效果添加到该一个或多个相机的该视场的所显示的表示的请求。响应于接收到将该第一虚拟效果添加到该一个或多个相机的该视场的所显示的表示的该请求并且根据确定该第一虚拟效果需要对该物理环境的扫描,该计算机系统发起对该物理环境的扫描以检测该物理环境的一个或多个特征并且显示指示对该物理环境的该扫描的进度的用户界面。
Description
相关专利申请
本申请是2022年4月13日提交的美国专利申请17/720,227号的继续申请,其要求2021年4月18日提交的美国临时专利申请63,176,322号的优先权。
技术领域
本发明整体涉及用于虚拟/增强现实的计算机系统,包括但不限于产生虚拟/增强现实环境的电子设备。
背景技术
近年来,用于虚拟/增强现实的计算机系统的发展显著增加。但用于与包括至少一些虚拟元素的环境(例如,增强现实环境、混合现实环境和虚拟现实环境)进行交互的方法和界面麻烦且低效。
使用增强现实添加虚拟效果的常规方法不智能地确定物理环境的表面和对象,使得虚拟效果被显示为随着增强现实设备的位置的改变而与物理环境的各个部分交互。在一些情况下,显示虚拟效果的常规方法不考虑物理环境内的个体,使得虚拟效果基于物理环境的各个静止部分以及个体的特征来动态地更新。另外,这些方法花费比必要时间更长的时间,从而浪费能量和/或产生与由设备或计算机系统的一个或多个相机产生的物理环境的“实况视图”未良好同步的虚拟效果。能源使用的考虑在电池驱动的设备中是特别重要的。
发明内容
因此,需要具有用于使用增强现实环境显示虚拟效果的更快速、更有效的方法和界面的计算机系统。此类方法和界面减少了来自用户的输入的数量、程度、和/或性质,并且产生更有效的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
通过所公开的计算机系统减小或消除了与用于虚拟/增强现实的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,计算机系统包括台式计算机。在一些实施方案中,计算机系统是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,计算机系统包括个人电子设备(例如,可穿戴电子设备,诸如手表)。在一些实施方案中,计算机系统具有触控板(和/或与触控板通信)。在一些实施方案中,计算机系统具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)或显示生成部件(和/或与触敏显示器或显示生成部件通信)。在一些实施方案中,计算机系统具有图形用户界面(GUI)、一个或多个处理器、存储器和一个或多个模块、存储在存储器中用于执行多个功能的程序或指令集。在一些实施方案中,用户部分地通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能任选地包括玩游戏、图像编辑、绘图、演示、文字处理、电子表格制作、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、记笔记和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在与显示生成部件和一个或多个相机通信的计算机系统处执行一种方法。该方法包括经由该显示生成部件显示该一个或多个相机的视场的表示,该视场的表示包括三维物理环境的位于该一个或多个相机的该视场中的一部分的表示。该方法还包括接收将第一虚拟效果添加到该一个或多个相机的该视场的所显示的表示的请求。该方法包括响应于接收到将该第一虚拟效果添加到该一个或多个相机的该视场的所显示的表示的该请求并且根据确定该第一虚拟效果需要对该物理环境的扫描,发起对该物理环境的扫描以检测该物理环境的一个或多个特征并且显示指示对该物理环境的该扫描的进度的用户界面。
根据一些实施方案,在与显示生成部件和一个或多个相机通信的计算机系统处执行一种方法。该方法包括经由该显示生成部件显示该一个或多个相机的视场的表示,该视场的表示包括三维物理环境的位于该一个或多个相机的该视场中的一部分的表示。该方法还包括接收添加虚拟效果的请求。该方法包括响应于接收到添加该虚拟效果的该请求,将该虚拟效果添加到该一个或多个相机的该视场的所显示的表示。该方法包括根据确定人类主体处于该一个或多个相机的该视场内的第一位置处,以第一方式显示该虚拟效果,其中以该第一方式显示该虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:该三维物理环境中与该人类主体分离的一个或多个检测到的表面的位置和/或形状和该人类主体在该物理空间中的该第一位置。该方法还包括根据确定该人类主体处于该一个或多个相机的该视场内的第二位置处,以不同于该第一方式的第二方式显示该虚拟效果,其中以该第二方式显示该虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:该三维物理环境中与该人类主体分离的一个或多个检测到的表面的该位置和/或形状和该人类主体在该物理空间中的该第二位置。
根据一些实施方案,一种计算机系统包括显示生成部件(例如,显示器、投影仪、头戴式显示器、平视显示器等)、一个或多个相机(例如,连续地或以固定间隔重复地提供相机视野内的至少一部分内容的实时预览并且任选地生成包括捕获相机视野内的内容的一个或多个图像帧流的视频输出的摄影机)、以及一个或多个输入设备(例如,触敏表面,诸如触敏遥控器,或者也用作显示生成部件的触摸屏显示器、鼠标、操纵杆、棒控制器和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机)、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、任选的一个或多个触觉输出发生器、一个或多个处理器、以及存储一个或多个程序的存储器(并且/或者与这些部件通信);一个或多个程序被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行或引起执行本文所述方法中的任一种方法的操作的指令。
根据一些实施方案,一种计算机可读存储介质在其中存储有指令,这些指令在由包括显示生成部件、一个或多个相机、一个或多个输入设备、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的一个或多个触觉输出发生器(并且/或者与这些部件通信)的计算机系统执行时,使得计算机系统执行本文所述的任一方法的操作或使得本文所述的任一方法的操作被执行。
根据一些实施方案,在包括显示生成部件、一个或多个相机、一个或多个输入设备、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、任选的一个或多个触觉输出发生器、存储器、以及用于执行存储在存储器中的一个或多个程序的一个或多个处理器(并且/或者与这些部件通信)的计算机系统上的图形用户界面包括在本文所述的任一方法中显示的一个或多个元素,该一个或多个元素响应于输入而更新,如本文所述的任一方法所述。根据一些实施方案,一种计算机系统包括(并且/或者与以下部件通信):显示生成部件、一个或多个相机、一个或多个输入设备、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、任选的一个或多个触觉输出发生器、以及用于执行本文所述的任一方法的操作或使得本文所述的任一方法的操作被执行的装置。根据一些实施方案,一种在包括显示生成部件、一个或多个相机、一个或多个输入设备、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的一个或多个触觉输出发生器(并且/或者与这些部件通信)的计算机系统中使用的信息处理装置包括用于执行本文所述的任一方法的操作或使得本文所述的任一方法的操作被执行的装置。
因此,具有显示生成部件、一个或多个相机、一个或多个输入设备、任选的一个或多个姿势传感器、任选的用以检测与触敏表面的接触的强度的一个或多个传感器和任选的一个或多个触觉输出发生器(和/或与这些部件通信)的计算机系统被设置有用于使用增强现实环境添加虚拟效果的改进的方法和界面,从而提高此类计算机系统的有效性、效率和用户满意度。此类方法和界面可补充或替换用于使用增强现实环境添加虚拟效果的常规方法。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1A是示出根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。
图2A示出了根据一些实施方案的具有触摸屏的便携式多功能设备。
图2B示出了根据一些实施方案的具有光学传感器和深度传感器(例如,飞行时间传感器)的便携式多功能设备。
图3A是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
图3B至图3C是根据一些实施方案的示例性计算机系统的框图。
图4A示出了根据一些实施方案的便携式多功能设备上的应用程序菜单的示例性用户界面。
图4B示出了根据一些实施方案的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图5A至图5AK示出了根据一些实施方案的用于使用增强现实环境添加虚拟效果的示例性用户界面。
图6A至图6D是根据一些实施方案的用于将虚拟效果添加到物理环境的表示的过程的流程图。
图7A至图7B是根据一些实施方案的将虚拟效果添加到包括人类主体的物理环境的表示的过程的流程图。
具体实施方式
如上所述,增强现实环境对于添加虚拟效果是有用的,即使在增强现实设备的位置改变时,虚拟效果也会智能地应用于物理环境的表面和对象。常规的显示虚拟效果的方法在使用增强现实应用虚拟效果之前不扫描物理环境的特征。在一些情况下,常规方法不考虑物理环境内的个体,使得虚拟效果基于物理环境的各个静止部分以及个体的特征来动态地更新。
本文所述的系统、方法和GUI以多种方式改进与虚拟/增强现实环境进行的用户界面交互。例如,这些系统、方法和GUI可以通过自动发起扫描过程来检测物理环境内的表面,并通过智能检测物理环境内的人类主体来提供基于人类主体的状态更新的虚拟效果,从而更轻松地将交互式虚拟效果应用于增强现实环境。
下面,图1A至图1B、图2A至图2B以及图3A至图3C提供了对示例性设备的描述。图4A至图4B和图5A至图5AK示出了用于与增强现实环境交互的示例性用户界面。图6A至图6D示出了将虚拟效果添加到物理环境的表示的方法的流程图。图7A至图7B示出了将虚拟效果添加到包括人类主体的物理环境的表示的方法的流程图。图5A至图5AK中的用户界面用于示出图6A至图6D和图7A至图7B中的过程。
示例性设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”后“在……时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
用于虚拟/增强现实的计算机系统包括产生虚拟/增强现实环境的电子设备。本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的进程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc.,Cupertino,California的iPod/>和/>设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板电脑。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机,其还包括一个或多个相机或与其通信。
在下面的讨论中,描述了一种计算机系统,其包括具有显示器和触敏表面(和/或与这些部件通信)的电子设备。然而,应当理解,该计算机系统可选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标、操纵杆、触笔控制器和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机。
该设备通常支持各种应用程序,诸如以下中的一者或多者:游戏应用程序、笔记记录应用程序、绘图应用程序、演示文稿应用程序、文字处理应用程序、电子表格应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频相机应用程序、网页浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及由所述设备显示的对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在将注意力转到具有触敏显示器的便携式设备的实施方案。图1A是示出根据一些实施方案的具有触敏显示器系统112的便携式多功能设备100的框图。触敏显示器系统112有时为了方便而被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、外围设备接口118、RF电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其他输入、或控制设备116吗、和外部端口124。设备100可选地包括一个或多个光学传感器164(例如,作为一个或多个相机的一部分)。设备100任选地包括用于检测设备100上的接触的强度的一个或多个强度传感器165(例如,触敏表面,诸如设备100的触敏显示系统112)。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器163(例如,在触敏表面诸如设备100的触敏显示器系统112或设备300的触控板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。使用触觉输出向用户提供触觉反馈增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),这还通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
应当理解,设备100仅仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件在硬件、软件、固件、或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
外围设备接口118可用于将设备的输入外围设备和输出外围设备耦接到CPU 120和存储器102。一个或多个处理器120运行或执行存储器102中所存储的各种软件程序和/或指令集以执行设备100的各种功能并处理数据。
在一些实施方案中,外围设备接口118、CPU 120和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其他实施方案中,它们任选地在独立的芯片上实现。
RF(射频)电路108接收和发送也被称作电磁信号的RF信号。RF电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备进行通信。RF电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路108任选地通过无线通信来与网络和其他设备进行通信,这些网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如,蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。该无线通信任选地使用多种通信标准、协议和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS))、和/或短消息服务(SMS)、或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
音频电路110、扬声器111和麦克风113提供用户与设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听到的声波。音频电路110还接收由麦克风113从声波转换的电信号。音频电路110将电信号转换为音频数据,并且将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110与可移除音频输入/输出外围设备之间的接口,该外围设备为诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到该其他输入或控制设备。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选的实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至该触敏显示器系统。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频以及它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出对应于用户界面对象。如本文所用,术语“示能表示”是指用户交互式图形用户界面对象(例如,被配置为对被引向图形用户界面对象的输入进行响应的图形用户界面对象)。用户交互式图形用户界面对象的示例包括但不限于按钮、滑块、图标、可选择菜单项、开关、超链接或其他用户界面控件。
触敏显示器系统112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器、或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一些实施方案中,在触敏显示器系统112和用户之间的接触点对应于用户的手指或触笔。
触敏显示器系统112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一些实施方案中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的iPod/>和/>中发现的技术。
触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏视频分辨率超过400dpi(例如,500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等来与触敏显示系统112接触。在一些实施方案中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备100任选地还包括用于激活或去激活特定功能的触摸板。在一些实施方案中,触摸板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板任选地是与触敏显示器系统112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示符(例如,发光二极管(LED))以及与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
设备100任选地还包括一个或多个光学传感器164(例如,作为一个或多个相机的一部分)。图1A示出与I/O子系统106中的光学传感器控制器158耦接的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),一个或多个光学传感器164任选地捕获静态图像和/或视频。在一些实施方案中,光学传感器位于设备100的与设备前部上的触敏显示系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如,用于自拍、用于当用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出了与I/O子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气式力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的与位于设备100的前部上的触敏显示系统112相背对的后部上。
设备100任选地还包括一个或多个接近传感器166。图1A示出了与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与I/O子系统106中的输入控制器160耦接。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。
设备100任选地还包括一个或多个触觉输出发生器163。图1A示出了与I/O子系统106中的触觉反馈控制器161耦接的触觉输出发生器。在一些实施方案中,一个或多个触觉输出发生器163包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器、或其他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。一个或多个触觉输出发生器163从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示系统112相背对的后部上。
设备100任选地还包括用于获得关于设备的姿势(例如,位置和取向或姿态)的信息的一个或多个加速度计167、陀螺仪168和/或磁力仪169(例如,作为惯性测量单元(IMU)的一部分)。图1A示出了与外围设备接口118耦接的传感器167、168和169。另选地,传感器167、168和169任选地与I/O子系统106中的输入控制器160耦接。在一些实施方案中,基于对从该一个或多个加速度计所接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图来显示信息。设备100任选地包括用于获得关于设备100的位置的信息的GPS(或GLONASS或其他全球导航系统)接收器。
在一些实施方案中,存储于存储器102中的软件部件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图在1A和图3中所示的。设备/全局内部状态157包括以下中的一者或多者:活动应用程序状态,其指示哪些应用程序(如果有的话)当前是活动的;显示状态,其指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区;传感器状态,其包括从设备的各个传感器和其他输入或控制设备116获得的信息;以及关于设备的姿势(例如,位置和/或姿态)的位置和/或位置信息。
操作系统126(例如,iOS、Android、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
通信模块128有利于通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些iPod/>和/>设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些/>iPod/>和/>设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些电子设备中所使用的USB C型连接器相同或类似和/或兼容的USB C型连接器。
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触控板或物理点击轮)的接触。接触/运动模块130包括各种软件部件以用于执行与(例如通过手指或触笔)接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪跨触敏表面的移动(例如,检测一个或多个手指拖动事件),以及确定接触是否已停止(例如,检测手指抬离事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。
接触/运动模块130任选地检测由用户进行的手势输入。触敏表面上的不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,检测触敏表面上的手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
在一些实施方案中,检测手指轻击手势取决于检测手指按下事件与手指抬起事件之间的时间长度,但是与检测手指按下事件与手指抬起事件之间的手指接触强度无关。在一些实施方案中,根据确定手指按下事件与手指抬起事件之间的时间长度小于预先确定的值(例如,小于0.1秒、0.2秒、0.3秒、0.4秒或0.5秒),检测轻击手势,而不管轻击期间手指接触的强度是否达到给定的强度阈值(大于标称接触检测强度阈值),诸如轻按压或深按压强度阈值。因此,手指轻击手势可以满足特定输入标准,该特定输入标准不要求接触的特征强度满足给定强度阈值以满足特定输入标准。为清楚起见,轻击手势中的手指接触通常需要满足标称接触检测强度阈值以检测到手指按下事件,低于该标称接触检测强度阈值时,不会检测到接触。类似的分析适用于通过触笔或其他接触检测轻击手势。在设备能够检测在触敏表面上方悬停的手指或触笔接触的情况下,标称接触检测强度阈值任选地不与手指或触笔与触敏表面之间的物理接触对应。
同样的概念以类似方式适用于其他类型的手势。例如,可基于满足与手势中包括的接触的强度无关或者不要求执行手势的一个或多个接触达到强度阈值以便被识别的标准来任选地检测轻扫手势、捏合手势、展开手势和/或长按压手势。例如,基于一个或多个接触的移动的量来检测轻扫手势;捏合手势基于两个或更多个接触朝彼此的移动来检测;展开手势基于两个或更多个接触背离彼此的移动来检测;长按压手势基于触敏表面上具有少于阈值移动量的接触的持续时间来检测。因此,关于特定手势识别标准不要求接触强度满足相应的强度阈值以满足特定手势识别标准的陈述意味着特定手势识别标准能够在手势中的接触未达到相应的强度阈值时被满足,并且还能够在手势中的一个或多个接触达到或超过相应的强度阈值的情况下被满足。在一些实施方案中,基于确定在预定义时间段内检测到手指按下事件和手指抬起事件来检测轻击手势,而不考虑在预定义时间段期间接触是高于还是低于相应的强度阈值,并且基于确定接触移动大于预定义量值来检测轻扫手势,即使在接触移动结束时接触高于相应的强度阈值也是如此。即使在对手势的检测受到执行手势的接触的强度的影响的具体实施中(例如,当接触的强度高于强度阈值时,设备更快地检测到长按压,或者当接触的强度更高时,设备会延迟对轻击输入的检测),只要在接触未达到特定强度阈值的情况下可以满足识别手势的标准,则对这些手势的检测也不会要求接触达到特定强度阈值(例如,即使识别手势所需的时间量发生变化)。
在某些情况下,接触强度阈值、持续时间阈值和移动阈值以各种不同组合进行组合,以便创建启发式算法来区分针对相同输入元素或区域的两个或更多个不同手势,使得与相同输入元素的多个不同交互能够提供更丰富的用户交互和响应的集合。关于一组特定手势识别标准不要求一个或多个接触的强度满足相应的强度阈值以便满足特定手势识别标准的陈述不排除对其他强度相关手势识别标准进行同时评估,以识别具有当手势包括具有高于相应强度阈值的强度的接触时被满足的标准的其他手势。例如,在某些情况下,第一手势的第一手势识别标准(其不要求接触的强度满足相应的强度阈值以满足第一手势识别标准)与第二手势的第二手势识别标准(其取决于达到相应强度阈值的接触)竞争。在此类竞争中,如果第二手势的第二手势识别标准首先得到满足,则手势任选地不被识别为满足第一手势的第一手势识别标准。例如,如果在接触移动预定义的移动量之前接触达到相应的强度阈值,则检测到深按压手势而不是轻扫手势。相反,如果在接触达到相应的强度阈值之前接触移动预定义的移动量,则检测到轻扫手势而不是深按压手势。即使在此类情况下,第一手势的第一手势识别标准仍然不要求接触的强度满足相应的强度阈值以满足第一手势识别标准,因为如果接触保持低于相应的强度阈值直到手势结束(例如,具有不会增大到高于相应强度阈值的强度的接触的轻扫手势),手势将被第一手势识别标准识别为轻扫手势。因此,不要求接触的强度满足相应的强度阈值以满足特定手势识别标准的特定手势识别标准将会(A)在某些情况下,忽略相对于强度阈值的接触强度(例如,对于轻击手势而言)和/或(B)在某些情况下,如果在特定手势识别标准识别与输入对应的手势之前,一组竞争的强度相关手势识别标准(例如,对于深按压手势而言)将输入识别为与强度相关手势对应,则不能满足特定手势识别标准(例如,对于长按压手势而言),从这个意义上来讲,仍然取决于相对于强度阈值的接触强度(例如,对于与深按压手势竞争识别的长按压手势而言)。
结合加速度计167、陀螺仪168和/或磁力仪169,姿势模块131任选地检测关于设备的姿势信息,诸如在特定参考系中设备的姿势(例如,滚转、仰俯、偏航和/或位置)。姿势模块131包括用于执行与检测设备位置和检测设备姿势变化相关的各种操作的软件组件。
图形模块132包括用于在触敏显示器系统112或其他显示器上渲染和显示图形的各种已知软件组件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储表示待使用的图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
触觉反馈模块133包括用于生成指令(例如,由触觉反馈控制器161使用的指令)的各种软件部件,以响应于用户与设备100的交互而使用一个或多个触觉输出发生器163在设备100上的一个或多个位置处产生触觉输出。
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、IM 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置并提供该信息以在各种应用程序中使用(例如,提供至电话138以用于基于位置的拨号;提供至相机143作为图片/视频元数据;以及提供至提供基于位置的服务的应用程序诸如天气桌面小程序、当地黄页桌面小程序和地图/导航桌面小程序)。
虚拟/増强现实模块145向实现増强现实特征,并且在一些实施方案中实现虚拟现实特征的应用程序136提供虚拟和/或増强现实逻辑部件。虚拟/增强现实模块145促进虚拟内容诸如虚拟用户界面对象在一个或多个相机的视场的至少一部分的表示上的叠加。例如,在虚拟/增强现实模块145的帮助下,一个或多个相机的视场的至少一部分的表示可以包括相应的物理对象,并且虚拟用户界面对象可以在显示的增强现实环境中显示在基于一个或多个相机的视场中的相应物理对象确定的位置处,或显示在基于计算机系统的至少一部分的姿势(例如,用于向计算机系统的用户显示用户界面的显示设备的姿势)确定的虚拟现实环境中。
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
·联系人模块137(有时称为通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·健身支持模块142;
·用于静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、词典桌面小程序149-5、和由用户获取的其他桌面小程序、以及用户创建的桌面小程序149-6;
·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
·搜索模块151;
·任选地由视频播放器模块和音乐播放器模块构成的视频和音乐播放器模块152;
·记事本模块153;
·地图模块154;和/或
·在线视频模块155。
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持JAVA的应用程序、加密、数字权益管理、语音识别和语音复制。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137包括可执行指令用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行归类和分类;提供电话号码和/或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或IM 141的通信;等。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一种。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令来发起、进行和终止用户与一个或多个其他参与者之间的视频会议的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于进行以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(SMS)或多媒体消息服务(MMS)协议或者使用针对基于互联网的即时消息的XMPP、SIMPLE、Apple推送通知服务(APNs)或IMPS)、接收即时消息,以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件、和/或MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、APNs或IMPS发送的消息)两者。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154以及视频和音乐播放器模块152,健身支持模块142包括可执行指令用于创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与(体育设备和智能手表中的)健身传感器通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择和播放音乐;以及显示、存储和传输健身数据。
结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操纵、加标签、删除、展示(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括用于根据用户指令浏览互联网(包括搜索、链接到、接收和显示网页或其部分,以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4和词典桌面小程序149-5)或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施方案中,小组件包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,小组件包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!小组件)。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令搜索存储器102中的与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如,MP3或AAC文件)存储的所录制的音乐和其他声音文件的可执行指令,以及用于(例如,在触敏显示器系统112上,或在无线连接或经由外部端口124连接的外部显示器上)显示、呈现或以其他方式回放视频的可执行指令。在一些实施方案中,设备100任选地包括MP3播放器诸如iPod(Apple Inc.的商标)的功能。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,记事本模块153包括用于根据用户指令来创建和管理笔记、待办事项等的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135和浏览器模块147,地图模块154包括用于根据用户指令接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾驶方向;特定位置处或附近的商店和其他兴趣点的数据;和其他基于位置的数据)的可执行指令。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如,在触摸屏112上,或在无线连接或经由外部端口124连接的外部显示器上)、发送具有指向特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式诸如H.264的在线视频的可执行指令。在一些实施方案中,使用即时消息模块141而不是电子邮件客户端模块140来发送特定在线视频的链接。
上述所识别的每个模块和应用程序对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子组。此外,存储器102任选地存储上文未描述的另外的模块和数据结构。
在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触摸板作为用于操作设备100的主要输入控制设备,任选地减少设备100上的物理输入控制设备(例如,下压按钮、拨盘等等)的数量。
唯一地通过触摸屏和/或触摸板来执行的预定义的一组功能任选地包括在用户界面之间的导航。在一些实施方案中,触摸板在被用户触摸时将设备100从设备100上显示的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触敏表面来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触敏表面。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(图1A中)或存储器370(图3A)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136-1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施方案中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时在触敏显示器系统112上显示的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息递送到的应用程序视图191。
在一些实施方案中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示信息正被显示或准备好用于被应用程序136-1显示的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器系统112上的用户触摸)的信息。外围设备接口118传输其从I/O子系统106或传感器诸如接近传感器166、一个或多个加速度计167和/或麦克风113(通过音频电路110)接收的信息。外围设备接口118从I/O子系统106所接收的信息包括来自触敏显示器系统112或触敏表面的信息。
在一些实施方案中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施方案中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
在一些实施方案中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器系统112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户能够在显示器上看到的控件和其他元素构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被辨别为正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,所述初始触摸开始基于触摸的手势。
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块172将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图便通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块173确定仅命中视图应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,分级结构中的较高视图将仍然保持为活跃参与的视图。
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施方案中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施方案中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
在一些实施方案中,操作系统126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在又一个实施方案中,事件分类器170是独立模块,或者是存储在存储器102中的另一个模块(诸如,接触/运动模块130)的一部分。
在一些实施方案中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中的每一个都包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施方案中,事件识别器180中的一个或多个事件识别器是独立模块的一部分,该独立模块为诸如用户界面工具包或应用程序136-1从中继承方法和其他属性的更高级别的对象。在一些实施方案中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、GUI更新器178、和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个应用程序视图包括一个或多个相应事件处理程序190。另外,在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178中的一者或多者被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施方案中,事件识别器180还包括元数据183和事件传递指令188(其任选地包括子事件递送指令)的至少一个子集。
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前姿势(例如,位置和取向)的对应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件,或者确定或更新事件或子事件的状态。在一些实施方案中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施方案中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1(187-1)的定义是被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬起(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)以及预先确定时长的第二次抬起(触摸结束)。在另一个示例中,事件2(187-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器系统112上的移动、以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
在一些实施方案中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器184执行命中测试以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器系统112上显示三个用户界面对象的应用程序视图中,当在触敏显示器系统112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示对象与相应事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施方案中,相应事件187的定义还包括延迟动作,这些延迟动作延迟事件信息的递送,直到已确定子事件序列确实对应于或不对应于事件识别器的事件类型之后为止。
当相应事件识别器180确定子事件序列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
在一些实施方案中,相应事件识别器180包括具有指示事件递送系统应当如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标记和/或列表的元数据183。在一些实施方案中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施方案中,相应事件识别器180将与事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器180抛出与所辨别出的事件相关联的标记,并且与该标记相关联的事件处理程序190获取该标记并执行预定义进程。
在一些实施方案中,事件递送指令188包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的进程。
在一些实施方案中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频或音乐播放器模块152中所使用的视频文件进行存储。在一些实施方案中,对象更新器177创建并更新在应用程序136-1中使用的对象。例如,对象更新器177创建新的用户界面对象或更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132用以显示在触敏显示器上。
在一些实施方案中,事件处理程序190包括数据更新器176、对象更新器177和GUI更新器178,或具有对该数据更新器、该对象更新器和该GUI更新器的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触控板上的接触移动,诸如轻击、拖动、滚动等;触控笔输入;基于对由一个或多个相机获得的视频图像的实时分析的输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要辨别的事件的子事件的输入。
图2A示出了根据一些实施方案的具有触摸屏(例如,触敏显示系统112,图1A)的便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在这些实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中未按比例绘制)或一个或多个触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“主桌面”或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。作为另外一种选择,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的GUI中的软键。
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204(有时称为主屏幕按钮204)、用于使设备通电/断电和用于锁定设备的下压按钮206、音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212和对接/充电外部端口124。下压按钮206任选地用于通过压下该按钮并且将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁进程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或停用某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触强度的一个或多个接触强度传感器165,和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器163。
图2B示出了任选地包括光学传感器164-1和164-2以及深度传感器220(例如,一个或多个飞行时间(“ToF”)传感器、结构光传感器(也称为结构光扫描器)等)的便携式多功能设备100(例如,设备100的背部的视图)。当光学传感器(例如,相机)164-1和164-2同时捕获物理环境的表示(例如,图像或视频)时,便携式多功能设备可以根据由光学传感器同时捕获的信息之间的差异(例如,捕获的图像之间的差异)来确定深度信息。由使用光学传感器164-1和164-2确定的(例如,图像)差异提供的深度信息可能缺乏准确性,但通常提供高分辨率。为了提高由图像之间的差异提供的深度信息的准确度,深度传感器220任选地与光学传感器164-1和164-2结合使用。在一些实施方案中,深度传感器220发射波形(例如,来自发光二极管(LED)或激光器的光),并且测量波形(例如,光)的反射返回到ToF传感器220所花费的时间。根据光返回到深度传感器220所花费的测量时间来确定深度信息。深度传感器通常提供高准确度(例如,相对于测量的距离或深度1cm或更好的准确度),但可能缺乏高分辨率(例如,深度传感器220的分辨率任选地为光学传感器164的分辨率的四分之一,或小于光学传感器164的分辨率的四分之一,或为光学传感器164的分辨率的十六分之一,或小于光学传感器164的分辨率的十六分之一)。因此,将来自深度传感器(例如,深度传感器220,诸如ToF传感器)的深度信息与由使用光学传感器(例如,相机)确定的(例如,图像)差异提供的深度信息相结合,提供既准确又具有高分辨率的深度图。
图3A是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型计算机、台式计算机、平板计算机、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于将这些部件互联的一根或多根通信总线320。通信总线320任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有时称作芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器可选地为触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触控板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器163)、传感器359(例如,光学传感器、加速度传感器、接近传感器、触敏传感器、和/或类似于以上参考图1A所述的一个或多个接触强度传感器165的接触强度传感器)。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器370任选地包括远离CPU 310定位的一个或多个存储设备。在一些实施方案中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子集。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3A中上述所识别的元件中的每个元件任选地存储在先前提到的存储器设备中的一个或多个存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的指令集。上述所识别的模块或程序(即,指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子组。此外,存储器370任选地存储上文未描述的附加模块和数据结构。
图3B-3C为根据一些实施方案的示例性计算机系统301的框图。
在一些实施方案中,计算机系统301包括以下部件和/或与之通信:
·输入设备(302和/或307,例如,触敏表面,诸如触敏遥控器,或者也用作显示生成部件的触摸屏显示器、鼠标、操纵杆、触笔控制器,和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机;
·虚拟/増强现实逻辑部件303(例如,虚拟/増强现实模块145);
·显示生成部件(304和/或308,例如,显示器、投影仪、头戴式显示器、平视显示器等),用于向用户显示虚拟用户界面元素;
·用于捕获设备的视野的图像的相机(例如,305和/或311),例如,用于确定虚拟用户界面元素的放置、确定设备的姿势和/或显示相机所在物理环境的一部分的图像;并且
·姿势传感器(例如,306和/或311),用于确定设备相对于物理环境的姿势和/或设备姿势的变化。
在一些计算机系统(例如,图3B中的301-a)中,输入设备302、虚拟/增强现实逻辑部件303、显示生成部件304、相机305以及姿势传感器306均集成到计算机系统(例如,图1A至图1B中的便携式多功能设备100或图3中的设备300,诸如智能电话或平板电脑)中。
在一些计算机系统(例如,301-b)中,除了集成输入设备302、虚拟/增强现实逻辑部件303、显示生成部件304、相机305;和姿势传感器306之外,计算机系统还与独立于计算机系统的附加设备通信,诸如独立的输入设备307,诸如触敏表面、触笔、遥控器等和/或独立的显示生成部件308,诸如虚拟现实头戴耳机或覆盖物理环境上的虚拟对象的增强现实眼镜。
在一些计算机系统(例如,图3C中的301-c)中,输入设备307、显示生成部件309、相机311和/或姿势传感器312与计算机系统分离并与计算机系统通信。在一些实施方案中,使用计算机系统301中的并与该计算机系统通信的部件的其他组合。例如,在一些实施方案中,显示生成部件309、相机311和姿势传感器312结合在与计算机系统集成或与计算机系统通信的头戴式耳机中。
在一些实施方案中,下文参考图5A至图5AK描述的所有操作在具有虚拟/增强现实逻辑部件303的单个计算设备(例如以下参考图3B描述的计算机系统301-a)上执行。然而,应当理解,经常将多个不同的计算设备链接在一起以执行在下面参考图5A至图5AK描述的操作(例如,具有虚拟/增强现实逻辑部件303的计算设备与具有显示器450的独立计算设备和/或具有触敏表面451的独立计算设备通信)。在任何这些实施方案中,下面参考图5A至图5AK描述的计算设备是包含虚拟/增强现实逻辑部件303的一个或多个计算设备。另外,应当理解,在各种实施方案中,虚拟/增强现实逻辑部件303可被划分在多个不同模块或计算设备之间;然而,出于本文描述的目的,虚拟/增强现实逻辑部件303将主要被称为驻留在单个计算设备中,以避免不必要地模糊实施方案的其他方面。
在一些实施方案中,虚拟/增强现实逻辑部件303包括一个或多个模块(例如,一个或多个事件处理程序190,包括如上文参考图1B更详细地描述的一个或多个对象更新器177和一个或多个GUI更新器178),所述一个或多个模块接收解释输入,并且响应于这些解释输入,根据解释输入生成用于更新图形用户界面的指令,所述解释输入随后用于更新显示器上的图形用户界面。在一些实施方案中,已经被检测(例如,通过图1A和图3中的接触运动模块130)、识别(例如,通过图1B中的事件识别器180)和/或分配(例如,通过图1B中的事件分类器170)的输入的解释输入用于更新显示器上的图形用户界面。在一些实施方案中,解释输入由计算设备上的模块生成(例如,计算设备接收原始接触输入数据,以便从原始接触输入数据识别手势)。在一些实施方案中,解释输入的一些或全部被计算设备接收为解释输入(例如,包括触敏表面451的计算设备处理原始接触输入数据,以便从原始接触输入数据识别手势并且将指示手势的信息发送到包括虚拟/增强现实逻辑部件303的计算设备)。
在一些实施方案中,显示器和触敏表面两者均与包含虚拟/增强现实逻辑部件303的计算机系统(例如,图3B中的301-a)集成。例如,该计算机系统可以是具有集成显示器(例如,图3中的340)和触控板(例如,图3中的355)的台式计算机或膝上型计算机。又如,该计算设备可以是具有触摸屏(例如,图2中的112)的便携式多功能设备100(例如,智能电话、PDA、平板电脑等)。
在一些实施方案中,触敏表面与计算机系统集成,而显示器不与包含虚拟/增强现实逻辑部件303的计算机系统集成。例如,该计算机系统可以是具有集成触控板(例如,图3中的355)的设备300(例如,台式计算机或膝上型计算机等),其中该集成触控板与独立显示器(例如,计算机监视器、电视等)相连(通过有线或无线连接)。又如,该计算机系统可以是具有触摸屏(例如,图2中的112)的便携式多功能设备100(例如,智能电话、PDA、平板电脑等),其中该触摸屏与独立显示器(例如,计算机监视器、电视等)相连(通过有线或无线连接)。
在一些实施方案中,显示器与计算机系统集成,而触敏表面不与包含虚拟/增强现实逻辑部件303的计算机系统集成。例如,该计算机系统可以是具有集成显示器(例如,图3中的340)的设备300(例如,台式计算机、膝上型计算机、带集成式机顶盒的电视),其中该集成显示器与独立触敏表面(例如,远程触控板、便携式多功能设备等)相连(通过有线或无线连接)。又如,该计算机系统可以是具有触摸屏(例如,图2中的112)的便携式多功能设备100(例如,智能电话、PDA、平板电脑等),其中该触摸屏与独立触敏表面(例如,远程触控板、另一个触摸屏作为远程触控板使用的便携式多功能设备等)相连(通过有线或无线连接)。
在一些实施方案中,显示器和触敏表面两者均不与包含虚拟/增强现实逻辑部件303的计算机系统(例如,图3C中的301-c)集成。例如,该计算机系统可以是连接(通过有线或无线连接)到独立触敏表面(例如,远程触控板、便携式多功能设备等)和独立显示器(例如,计算机监视器、电视等)的独立计算设备300(例如,机顶盒、游戏控制台等)。
在一些实施方案中,计算机系统具有集成音频系统(例如,便携式多功能设备100中的音频电路110和扬声器111)。在一些实施方案中,计算设备和独立于计算设备的音频系统通信。在一些实施方案中,音频系统(例如,集成在电视单元中的音频系统)与单独显示器集成。在一些实施方案中,音频系统(例如,立体音响系统)是与该计算机系统和显示器分开的独立系统。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施方案。
图4A示出根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面400包括以下元件或者其子集或超集:
·一种或多种无线通信诸如蜂窝信号和Wi-Fi信号的一个或多个信号强度指示符;
·时间;
·蓝牙指示符;
·电池状态指示符;
·具有针对常用应用程序的图标的托盘408,该图标诸如:
ο电话模块138的被标记为“电话”的图标416,该图标416任选地包括未接来电或语音信箱的数量的指示符414;
ο电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;
ο浏览器模块147的标记为“浏览器”的图标420;并且
ο视频和音乐播放器模块152的被标记为“音乐”的图标422;并且
·其他应用程序的图标,诸如:
οIM模块141的被标记为“消息”的图标424;
ο日历模块148的被标记为“日历”的图标426;
ο图像管理模块144的被标记为“照片”的图标428;
ο相机模块143的被标记为“相机”的图标430;
ο在线视频模块155的被标记为“在线视频”的图标432;
ο股市桌面小程序149-2的被标记为“股市”的图标434;
ο地图模块154的被标记为“地图”的图标436;
ο天气桌面小程序149-1的被标记为“天气”的图标438;
ο闹钟桌面小程序149-4的被标记为“时钟”的图标440;
ο健身支持模块142的被标记为“健身支持”的图标442;
ο记事本模块153的标记为“记事本”的图标444;
ο设置应用程序或模块的被标记为“设置”的图标446,该图标提供对设备100及其各种应用程序136的设置的访问;
ο剪辑应用程序或模块的被标记为“剪辑”的图标448,该图标提供对可应用于使用一个或多个相机捕获媒体的虚拟效果和滤波器的访问;并且
ο测量应用程序或模块的被标记为“测量”的图标450。
应当注意,图4A中示出的图标标签仅仅是示例性的。例如,其他标签任选地用于各种应用程序图标。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图4B示出了具有与显示器450分开的触敏表面451(例如,图3A中的平板电脑或触控板355)的设备(例如,图3A中的设备300)上的示例性用户界面。尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的许多示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施方案中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴线(例如,图4B中的453)对应的主轴线(例如,图4B中的452)。根据这些实施方案,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(例如,图4B中的450)是分开的时侯,由设备在触敏表面上所检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
附加地,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一个输入设备的输入(例如,基于鼠标的输入或触笔输入)替换。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
用户界面和相关联的过程
现在将注意力转向可在包括显示生成部件(例如,显示器、投影仪、头戴式显示器、平视显示器等)、一个或多个相机(例如,连续提供相机的视场内的至少一部分内容的实时预览并且任选地生成包括捕获相机的视场内的内容的一个或多个图像帧流的视频输出的摄影机),以及一个或多个输入设备(例如,触敏表面,诸如触敏遥控器,或者也用作显示生成部件的触摸屏显示器、鼠标、操纵杆、触笔控制器和/或跟踪用户的一个或多个特征诸如用户的手部的位置的相机)、任选的一个或多个姿势传感器、任选的用以检测与触敏表面的接触的强度的一个或多个传感器,以及任选的一个或多个触觉输出发生器(和/或与这些部件通信)的计算机系统(例如,便携式多功能设备100、或设备300)上实现的用户界面(“UI”)和相关过程的实施方案。
图5A至图5AK示出了根据一些实施方案的用于在AR环境中显示虚拟效果的示例性用户界面。这些附图中的用户界面用于示出下面介绍的过程,包括图6A至6D和7A至图7B中的过程。为了便于解释,将参考在具有触敏显示器系统112的设备上执行的操作来论述实施方案中的一些实施方案。在此类实施方案中,焦点选择器为任选地:相应手指或触笔接触、对应于手指或触笔接触的表示点(例如,相应接触的重心或与相应接触相关联的点)、或在触敏显示器系统112上所检测到的两个或更多个接触的重心。然而,响应于当在显示器450上显示附图中示出的用户界面连同焦点选择器时检测到触敏表面451上的接触,任选地在具有显示器450和独立的触敏表面451的设备上执行类似的操作。
图5A至图5AK示出了根据一些实施方案的用于在AR环境中显示虚拟效果的示例性用户界面。图5A示出了用于在设备100上启动被标记为“剪辑”448的应用程序的示例性用户界面。例如,设备100在用户界面上对应于“剪辑”应用程序的位置处检测用户输入502(例如,轻击输入),并且响应于检测到用户输入502,启动“剪辑”应用程序448。在一些实施方案中,图5A所示的示例性用户界面是应用程序启动界面,该应用程序启动界面至少包括上文参考图4A所讨论的应用程序图标的子集(例如,应用程序图标中的一个或多个、两个或更多个、若干或全部应用程序图标)。
图5B示出便携式多功能设备100响应于检测到用户输入502而显示用户界面511-1。例如,用户界面511-1对应于“剪辑”应用程序448的用户界面。图5B还示出了物理环境501,该物理环境包括物理特征(例如,物理对象),这些物理特征包括电视503、沙发507和门口505。用户界面511-1显示位于设备100的一个或多个相机(例如,光学传感器164,如图1A和图2B所示)的视场内的物理环境的表示,在本文中也被称为在设备100的用户界面上显示的相机视图。例如,在图5B中,设备100的一个或多个相机的视场包括电视503,但不包括沙发507或门口505。因此,用户界面511-1包括电视的表示,但不包括沙发507或门口505的表示。当设备100在物理环境内移动(例如,沿方向旋转,或者在物理环境内移动)时,用户界面511-1被更新以显示物理环境的位于设备100的一个或多个相机的视场内的当前表示。
图5B还示出了在用户界面511-1内显示的多个用户界面元素。例如,用户界面511-1包括录制按钮509,该录制按钮在被激活时,使设备100录制如由设备100的一个或多个相机所捕获的图像和/或视频。用户界面511-1还包括效果按钮512,该效果按钮在诸如通过轻击输入513被激活时,使设备显示用于修改所显示相机视图的选项,如图5C中所显示。在一些实施方案中,用户界面511-1还包括媒体访问按钮508,该媒体访问按钮用于打开存储在设备100上的媒体(例如,照片和/或视频)。
在一些实施方案中,响应于轻击输入513,设备100将用户界面511-1更新为用户界面511-2,如图5C所示。用户界面511-2显示用于修改所显示相机视图的多个选项,包括用于应用滤波器的选项(在图5C中示出)以及用于向相机视图添加虚拟效果的选项515。在一些实施方案中,响应于效果按钮512的激活,显示多个滤波器类型。例如,用户界面511-2显示一个或多个可选滤波器。在一些实施方案中,响应于选择相应的滤波器,将颜色、亮度、渐弱或其他修改应用于所显示的相机视图。在一些实施方案中,用于修改所显示的相机视图的多个选项包括用于应用滤波器的选项、用于添加字幕的选项、用于将媒体(例如,文本、标签和/或表情)添加到相机视图的选项、用于改变背景场景的选项和/或用于将虚拟效果(例如,AR效果)添加到相机视图的选项。例如,按钮515对应于向相机视图添加虚拟效果的选项。响应于接收到按钮515上的用户输入517,设备100显示用户界面511-3,如图5D所示。
图5D示出了包括AR空间部分518的用户界面511-3。AR空间部分518包括用于将不同虚拟效果应用于显示在用户界面511-3中的相机视图的多个选项。例如,AR空间部分518显示用于在相机视图上方应用不同虚拟效果的多个可选选项,包括用于应用五彩纸屑虚拟效果520-1的选项、用于应用心形虚拟效果520-2的选项以及用于应用迪斯科虚拟效果520-3的选项。在一些实施方案中,可能虚拟效果的子集最初显示在部分518中。例如,本文未描述的附加和/或其他虚拟效果也可供用户选择以作为虚拟效果来显示。
在一些实施方案中或在一些情况下,设备检测选择迪斯科虚拟效果520-3的用户输入519,并且响应于用户输入519,设备确定所选择的虚拟效果是否需要对物理环境的扫描。例如,基于虚拟效果的类型(例如,要为虚拟效果显示的虚拟元素的类型),设备确定哪些虚拟效果与物理环境的表示交互。例如,与物理环境的表示交互的虚拟效果要求设备100在应用虚拟效果之前检测物理环境的对象和/或表面(例如,墙壁、地板和/或天花板)。在一些实施方案中,包括以动画方式显示表面或与表面交互的虚拟效果(例如,将虚拟对象或效果动画添加到物理环境中的表面)要求设备100检测房间的表面。在一些实施方案中,至少一种虚拟效果不需要设备100检测物理环境的对象和/或表面。例如,不与表面交互的虚拟效果(例如,微粒虚拟效果,诸如下面描述的心形虚拟效果)(例如,填充与相机视图内的空间相对应的体积的虚拟效果)不需要设备100扫描物理环境。
由于迪斯科虚拟效果520-3包括应用与物理环境的一个或多个表面交互的虚拟效果(例如,来自迪斯科球的模拟光应用于相机视图中的墙壁和/或虚拟迪斯科球看起来安装到相机视图中的天花板),因此设备100提示用户扫描物理环境,使得设备100能够检测(例如,并且例如存储作为虚拟蓝图)物理环境的对象和/或表面。
在一些实施方案中,响应于对迪斯科虚拟效果520-3的选择,设备100为用户提供开始扫描的选项,如图5E所示。例如,用户经由用户输入521选择“开始扫描”按钮。
在一些实施方案中,设备100不向用户提供选择图5E所示的“开始扫描”按钮的选项,而是响应于接收到对迪斯科虚拟效果520-3的选择,自动发起扫描模式并开始扫描物理环境,如图5F所示。在一些实施方案中,响应于检测到设备的移动而发起扫描模式。例如,当用户开始在物理环境内转动(例如,旋转)设备和/或移动设备时,设备100自动发起对物理环境的位于当前相机视图内的部分的扫描。
图5F示出了用于扫描物理环境的用户界面511-5。在一些实施方案中,在扫描物理环境501时,用户界面511-5通过将网格(例如,栅格)覆盖应用于已由设备检测到的物理环境501的特征来指示扫描的进度。在一些实施方案中,网格覆盖(或扫描进度的其他视觉指示器)包括应用于物理环境中检测到的表面上方的纹理。例如,维持对象和表面的形状和/或轮廓的显示,同时在检测到的表面和/或轮廓上方显示网格(例如,栅格)效果。
在一些实施方案中,用户界面511-5还包括取消按钮523和重新扫描按钮525。例如,响应于检测到对取消按钮523的选择,设备100退出扫描模式并返回到用于应用图5D所示的效果的选项。在一些实施方案中,响应于检测到对重新扫描按钮525的选择,设备放弃先前的扫描并开始(例如,重新发起)扫描物理环境的位于当前相机视图内的部分。例如,希望将虚拟效果应用于第二房间的用户能够在第一房间中处于扫描模式时进入第二房间,选择重新扫描按钮525,并且设备100将放弃对第一房间的扫描并发起对第二房间的扫描。
在一些实施方案中,当设备100在房间内四处移动(例如,由用户持有该设备在房间内四处移动)时,如图5G所示,设备100继续扫描物理环境的被带入相机视图内的部分,并且指示扫描的进度的网格(或其他)覆盖根据扫描被连续更新。
当设备100扫描物理环境的不同部分时,设备100要求满足一个或多个条件以便获得扫描(例如,获得准确扫描)。在一些实施方案中,设备100必须以低于阈值移动速率的速率围绕物理环境移动和/或旋转。根据确定设备100以超过阈值移动速率的速率移动,触发错误状况。例如,响应于触发错误状况(例如,移动设备100过快),设备100显示用户界面511-6,如图5G所示,该用户界面包括显示错误消息527(“移动较慢”)以指示用户已超过移动设备的阈值移动速率。在一些实施方案中,一旦错误状况已得到解决,错误消息527就自动消失。例如,响应于用户减慢设备100的移动速率,错误消息527消失。在一些实施方案中,当触发错误状况时,设备不继续扫描物理环境,并且进度指示器不更新。例如,当设备移动太快时,网格覆盖不会扩展到相机视图内的附加特征。在一些实施方案中,在解决错误状况后,设备100继续扫描物理环境。
图5H示出了用户界面511-7,该用户界面包括当前相机视图,该当前相机视图包括门口505的表示(例如,当设备已被旋转以捕获门口而不是电视时)。图5H示出了根据正被触发的第二错误状况的第二错误消息529(“需要更多光”)。例如,设备100需要由一个或多个相机(或设备100的其他传感器)检测阈值量的光以便扫描物理环境。在一些实施方案中,响应于检测到没有足够的光存在以供设备扫描物理环境而生成错误消息529。在一些实施方案中,设备100根据正在解决的错误状况自动停止显示错误消息529。例如,在用户添加光(例如,打开灯)以解决错误状况之后,不再显示错误消息529,并且设备100继续扫描物理环境,如图5I所示。
图5I示出了用户界面511-8,其示出了物理环境的扫描的进度。在一些实施方案中,当用户继续相对于物理环境移动设备时,设备继续扫描物理环境。图5J示出了当前相机视图内的所有表面都已被扫描(例如,检测到),如网格覆盖显示的所有表面和对象所指示。
在一些实施方案中,根据确定设备不再相对于物理环境移动(例如,设备在阈值时间量内保持静止在相同位置),设备确定扫描完成。例如,响应于检测到设备100已维持其相对于物理环境的位置达阈值时间量(例如,并且因此扫描完成),设备100显示用户界面511-9,如图5J所示。
在一些实施方案中,响应于确定扫描已完成,设备100显示通知。例如,用户界面511-9包括通知533(“扫描完成”)。在一些实施方案中,用户界面511-9还包括重新扫描按钮(例如,如果选择该按钮,则使设备放弃已完成的扫描并重新开始扫描过程)和取消按钮(例如,如果选择该按钮,则使设备退出扫描模式并返回到图5D所示的用户界面511-3)。用户界面511-9还包括用于发起虚拟效果(例如,迪斯科虚拟效果520-3,如图5D中所选择)的显示的按钮522(“开始效果”)。响应于用户经由用户输入521选择按钮522,设备发起虚拟效果,如图5K所示。
图5K示出了用户界面511-10,该用户界面包括应用在相机视图上方的所选虚拟效果。在一些实施方案中,虚拟效果包括多个虚拟效果元素。例如,迪斯科虚拟效果包括显示虚拟对象(例如,虚拟迪斯科球536-1)、向一个或多个表面添加梯度(例如,如墙壁上的阴影所示)、以及在一个或多个表面(例如,墙壁)上显示模拟光(例如,光束537)。在一些实施方案中,基于对物理环境的扫描,设备100标识特定对象和/或表面。例如,设备100将墙壁标识为与地板、天花板和门口开口不同的表面。在一些实施方案中,相应的虚拟效果元素被应用在已标识的相应表面上。例如,模拟光显示在墙壁上,而不显示在所标识的地板、天花板或门口开口上。应当理解,虚拟效果的虚拟元素的任何组合可应用于由设备100从扫描所标识或检测到的任何部分,其中根据所选择的虚拟效果和已由计算机系统检测到的物理环境的部分来确定物理环境的特定虚拟效果和特定部分。
在一些实施方案中,虚拟效果元素移动当前相机视图中的表面和/或与当前相机视图中的表面交互。例如,模拟光(例如,光束537)看起来闪烁并且看起来跨墙壁行进(例如,好像光从迪斯科球536-1投射在墙壁上一样)。在一些实施方案中,虚拟对象在相对于物理环境的预定义位置处保持静止。在一些实施方案中,基于物理环境的特征(例如,表面)来确定虚拟对象的预定义位置。例如,迪斯科球536-1被定位成看起来从天花板悬挂(例如,如由设备100从扫描物理环境所检测到的)。用户界面511-10任选地包括重新扫描按钮535,以放弃先前的扫描并使用设备的当前位置重新开始扫描过程。
图5L示出了进入相机视图的人538。在一些实施方案中,设备100识别出(例如,检测到)人538是人(例如,使得设备100能够区分人与移动对象或动物)。例如,人539的表示被显示在用户界面511-11中以指示人538现在处于一个或多个相机的视场中。如图5L所示,在一些实施方案中,虚拟效果(或虚拟效果元素的至少一部分)不应用于人539的表示。例如,梯度和/或模拟光(例如,光束537)不显示在人的表示上方。相反,虚拟效果被应用于在物理环境内检测到(例如,通过扫描)的表面和/或静止对象而不被应用于人的表示。
图5M示出了用户界面511-12,该用户界面包括显示基于人的位置应用的迪斯科虚拟效果(例如,与图5L相反,在图5L中,虚拟对象的预定义位置基于物理环境的特征(表面))。例如,基于人的位置来确定虚拟对象(例如,虚拟迪斯科球536-2)的预定义位置,使得虚拟对象看起来位于相对于人的某个位置处。在图5M中,虚拟迪斯科球536-2被显示在人的头部上方预定义距离处。图5M还示出了选择效果按钮512的用户输入541。
响应于对效果按钮512的选择,用户界面511-13显示部分518(“AR空间”)以提供用于改变应用于相机视图的虚拟效果的选项,如图5N所示。在一些实施方案中,部分518包括用于虚拟效果的与当前应用的虚拟效果不同的选项。例如,迪斯科虚拟效果当前被应用在用户界面511-13中的相机视图上方,并且部分518包括用于改变为心形虚拟效果520-2、棱镜虚拟效果520-4、彗星虚拟效果520-5或舞池虚拟效果520-6的选项。响应于选择彗星虚拟效果520-5的用户输入541,显示用户界面511-14,如图5O所示。
图5O至图5Q示出了当人538相对于物理环境501移动时应用在相机视图上方的彗星虚拟效果520-5。例如,当人538在物理环境内移动时,显示在设备100上的人539的表示也移动(例如,根据人538在一个或多个相机的视场内的位置)。在一些实施方案中,彗星虚拟效果520-6包括多个虚拟效果元素。例如,彗星虚拟效果任选地包括将梯度(例如,阴影)应用于一个或多个墙壁(例如,和/或其他检测到的表面,诸如电视)的表示,并且任选地包括看起来填充位于相机视图内的物理环境的体积的一个或多个虚拟对象(例如,微粒),这两种情况都在图5O至图5Q中示出。例如,星形(例如,星形540-1,图5O)被显示为悬浮在一个或多个相机的视场的表示内。在一些实施方案中,微粒(例如,星形)是动态的并且看起来在物理环境的表示周围漂浮和/或移动。
在一些实施方案中,一个或多个虚拟对象被显示在人539的表示的前面(例如,部分地覆盖人的表示)。例如,与迪斯科虚拟效果的看起来仅位于表面上的模拟光不同,彗星效果的星形的至少一部分看起来位于人539的表示的前面。此外,显示彗星虚拟效果包括在相对于人539的表示确定的位置处显示虚拟对象543(例如,虚拟彗星)。例如,当人539的表示在相机视图内移动时(如图5O至图5Q之间所示),虚拟对象543也被更新为移动以看起来好像虚拟对象543正跟随人539的表示。
图5P示出了在效果按钮512上接收用户输入545,该效果按钮在被激活时提供用户能选择的择来改变虚拟效果的选项(例如,经由AR空间部分518)。例如,图5Q示出了选择五彩纸屑虚拟效果520-1的用户输入547。响应于显示五彩纸屑虚拟效果520-1的请求,显示用户界面511-17,如图5R所示。
图5R示出了应用在用户界面511-17中的相机视图上方的五彩纸屑虚拟效果。在一些实施方案中,五彩纸屑虚拟效果包括看起来从天花板落下的多个微粒(例如,每个微粒对应于一块虚拟五彩纸屑550)(例如,如从物理环境的扫描所标识的,如上所述)。在一些实施方案中,多个微粒包括各种尺寸、形状和/或颜色的微粒。在一些实施方案中,多个微粒被显示为看起来占据(例如,填充)相机视图的物理环境的一部分的体积。例如,一些微粒看起来落在人539的表示的前面,而其他微粒隐藏在人539的表示的后面(例如,以提供人站在房间的中央,房间有五彩纸屑落下的视觉效果)。在一些实施方案中,五彩纸屑虚拟效果包括在相机视图内的物理环境501的一个或多个表面(例如,水平表面)上显示一个或多个虚拟五彩纸屑堆。例如,虚拟五彩纸屑堆549显示在放置电视的桌面的表示上。在一些实施方案中,虚拟五彩纸屑堆549被显示为看起来是微粒(例如,从天花板落下的微粒)在一个或多个表面上(诸如在桌面和/或地板上)的积聚。
图5R还示出了接收选择录制按钮509的用户输入553。在一些实施方案中,用户输入553为轻击输入。在一些实施方案中,用户输入553为按压和保持输入(例如,当录制正在进行时,用户保持与按钮的接触,如图5S的用户界面511-18中所示)。例如,图5S示出响应于激活录制按钮509,设备100捕获(例如,并存储)媒体诸如照片或视频,该媒体示出应用于相机视图上方的虚拟效果。例如,定时器555(图5S中示出)指示设备100正在捕获的当前视频的长度(例如,2秒)。用户界面511-18还示出了看起来积聚在相机视图内的地板上的虚拟五彩纸屑堆554的另一示例。
在一些实施方案中,响应于用户离开用户输入553,视频的录制停止。在一些实施方案中,在已录制视频之后,在用户界面511-19内显示表示所捕获的视频的缩略图556,如图5T所示。
图5U示出了用户界面511-20,其中用户输入557选择效果按钮512,这使得设备显示用户界面511-21,如图5V所示。用户界面511-21包括AR空间部分518以向用户提供改变应用于相机视图的虚拟效果的选项。例如,用户输入559选择舞池虚拟效果520-6。响应于舞池虚拟效果520-6的选择,显示用户界面511-22,如图5W所示,其中舞池看起来位于由设备确定为物理环境501的地板的表面上。在一些实施方案中,舞池虚拟效果包括在地板表面上显示模拟光(例如,灯箱)(例如,如从物理环境的扫描中检测到的)。在一些实施方案中,模拟光显示在地面表面上的各个位置处(例如,随着时间的推移照亮地面表面的不同部分)。
图5W还示出了选择心形虚拟效果520-2的用户输入561。响应于对心形虚拟效果520-2的选择,设备100显示用户界面511-23,如图5X所示。在一些实施方案中,心形虚拟效果包括看起来在一个或多个相机的视场的表示内漂浮的多个虚拟心形。在一些实施方案中,多个虚拟心形中的每个虚拟心形独立地移动或看起来独立地移动(例如,虚拟心形各自遵循围绕物理空间的表示移动的不同路径)。例如,虚拟心形围绕相机视图移动。在一些实施方案中,虚拟心形围绕相对于人的区域移动。例如,响应于设备100检测到人出现在当前相机视图中,虚拟心形看起来避开了人。在一些实施方案中,应用心形虚拟效果而不考虑物理环境的一个或多个表面和/或检测到的特征。由于虚拟效果不依赖于物理环境的表面,因此设备100不需要在应用心形虚拟效果之前扫描物理环境来检测表面。因此,在一些实施方案中,设备100显示心形虚拟效果,而不发起扫描过程,如参考图5E至图5J所述。
图5X还示出了部分518上的用户输入563(例如,拖动输入),以便扩展所显示的虚拟效果选项集(例如,通过扩展用户界面区域,该用户界面区域在图5X中标记为AR空间部分),用户可从该虚拟效果选项集中选择以应用不同的虚拟效果。
图5Y示出了包括扩展的AR空间部分564的用户界面511-24,该扩展的AR空间部分显示可应用的附加虚拟效果的表示。在一些实施方案中,扩展的AR空间部分564包括用于返回到用于发起扫描模式的用户界面的选项566(例如,图5F中所示)。设备100接收选择棱镜虚拟效果520-4的用户输入565。
图5Z示出了响应于选择棱镜虚拟效果的用户输入565而显示的用户界面511-25。在一些实施方案中,棱镜虚拟效果包括围绕物理环境的各个表面(例如,如通过扫描所检测的)进行轮廓绘制的多条线(例如,以多种颜色)。在一些实施方案中,如图5Z至图5AA之间所示,多条线看起来跨各个表面移动(例如,在设备100保持静止时)。例如,线566-1和566-2看起来从图5Z向右移动到图5AA,并且随着线跨相机视图行进而继续描绘相应线看起来所位于的任何表面的轮廓。
例如,图5AA示出了新的线566-3看起来位于最左侧,而线566-1和566-2已向右移动。在一些实施方案中,用于棱镜虚拟效果的线等距间隔开。在一些实施方案中,用于棱镜虚拟效果的线包括颜色序列(例如,每条线以与相邻的一条或多条线不同的相应颜色显示)。
图5AB示出了设备100相对于物理环境移动,使得电视503不再处于相机视图中,并且门口505现在处于相机视图中。如图5J所示,门口505被包括在对房间的扫描中。因此,当相机视图包括门口505(例如,该门口已被扫描)时,设备100能够在相机视图上方应用棱镜虚拟效果。图5AB还示出棱镜虚拟效果被应用于房间的表面,但未被应用于人539的表示上方(例如,棱镜线看起来不位于人539的表示上方)。例如,线566-4看起来被相机视图中的人539的表示遮挡(例如,遮挡在该表示后面)。
图5AC示出了设备在物理环境501内移动位置(例如,向右),使得电视503再次位于相机视图内,并且棱镜虚拟效果继续被应用于相机视图上方。
图5AD示出当用户继续向右移动设备时,相机视图开始包括物理环境的未被包括在扫描中的部分(例如,诸如沙发507的一部分)。因此,设备100无法将虚拟效果应用于当前相机视图,因为当前相机视图包括设备尚未检测到的物理环境的部分,这触发了错误状况。在一些实施方案中,根据确定物理环境的当前相机视图的至少阈值部分尚未被扫描而生成查看物理环境的尚未被扫描的部分的错误状况。例如,图5AD示出物理环境的被扫描部分(例如,电视503的右侧)位于一个或多个相机的视场内,但由于当前相机视图的至少阈值量(例如,50%、60%等)尚未被扫描,因此触发了错误状况。根据错误状况被触发,设备100显示错误消息568“返回被扫描区域或重新扫描该位置”。
图5AE示出了设备继续向右移动,这使得一个或多个相机检测到物理环境的未被包括在扫描中的附加部分。由于当用户继续向右移动设备时维持错误状况(例如,试图将虚拟效果应用于尚未被扫描的区域的错误),因此继续显示错误消息568。
图5AF示出了设备已移回其中相机视图仅包括房间的先前扫描的一部分(例如,电视503)的位置,并且因此设备100能够将虚拟效果应用于相机视图,并且错误消息568被自动移除(例如,响应于错误状况已得到解决)。
图5AG示出如果设备被定位成使得相机视图包括物理环境501的尚未被扫描的阈值部分,则在用户界面511-32中显示重新扫描按钮525(例如,代替显示错误消息568,或者除了显示该错误消息之外)。响应于选择重新扫描按钮525的用户输入569,设备发起针对物理环境的当前位于相机视图内的部分的扫描过程,如图5AH中的用户界面511-33所示(例如,并停止错误消息568的显示)。
在一些实施方案中,响应于在重新扫描按钮525上的用户输入,设备放弃对物理环境的先前扫描。在一些实施方案中,例如,如果满足预定义标准(例如,当前相机视图与先前扫描的区域重叠至少阈值量),则设备执行对当前相机视图的扫描并将扫描添加到同一房间的所存储扫描(例如,先前扫描)(例如,以扩展所扫描的区域)。
图5AI示出了相对于图5AH所示的扫描进度的当前相机视图的扫描进度,如由应用于在扫描期间检测到的表面的网格覆盖所表示。例如,用户界面511-34示出在扫描期间已检测到墙壁、沙发、电视和地板。响应于确定扫描完成(例如,根据设备未相对于物理环境移动达阈值时间量),设备100任选地显示用户界面511-35,如图5AJ所示。
图5AJ示出了扫描已完成的确认571,并且任选地提供“开始效果”的选项。响应于开始虚拟效果的用户输入572,设备100将虚拟效果应用于物理环境的现在已被扫描的部分的相机视图,如图5AK所示。
在一些实施方案中,在确定扫描完成后,设备100直接显示图5AK所示的虚拟效果(例如,而不显示图5AJ中的用户界面)。因此,在一些实施方案中,设备在扫描物理环境之后自动显示虚拟效果,而无需来自用户的附加输入(例如,无需用户输入572)。
图6A至图6D是示出根据一些实施方案的将虚拟效果添加到物理环境的表示的方法600的流程图。方法600在计算机系统(例如,电子设备,诸如便携式多功能设备100或设备300)处执行,该计算机系统包括显示生成部件、一个或多个相机、和一个或多个输入设备、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的一个或多个触觉输出发生器(和/或与这些部件通信)。方法600中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
如本文所述,方法600确定在系统能够将虚拟效果应用于物理环境的表示之前,用户请求的相应虚拟效果何时需要对物理环境的扫描,并且响应于来自用户的将相应虚拟效果应用于物理环境的表示的请求,智能地扫描物理环境的物理特征,而无需用户提供输入来指定对象和特征在物理环境内位于何处(例如,通过扫描物理环境自动检测特征)。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
计算机系统经由显示生成部件显示(602)一个或多个相机的视场的表示,该视场的该表示包括在一个或多个相机的视场中的三维物理环境的一部分的表示。例如,图5B示出在设备100的一个或多个相机的视场内的物理环境501的一部分被显示在用户界面511-1上。
计算机系统接收(604)将第一虚拟效果添加到一个或多个相机的视场的所显示的表示的请求。在一些实施方案中,添加第一虚拟效果的请求并非扫描物理环境的请求。例如,计算机系统自动确定所请求的第一虚拟效果是否需要对物理环境的扫描(例如,和/或发起对物理环境的扫描),而无需请求扫描物理环境的附加用户输入。例如,图5D示出了设备100经由用户输入519接收添加迪斯科虚拟效果520-3的请求。
响应于接收到将第一虚拟效果添加到一个或多个相机的视场的显示表示的请求并且根据确定第一虚拟效果需要对物理环境的扫描(606),计算机系统发起(608)对物理环境的扫描以检测物理环境的一个或多个特征并且显示(610)指示物理环境的扫描的进度的用户界面。在一些实施方案中,响应于应用图5D中的迪斯科虚拟效果520-3的请求,计算机系统直接显示扫描用户界面,诸如图5F所示的扫描用户界面(例如,不显示图5E所示的用户界面)。然而,在一些实施方案中,响应于接收到添加第一虚拟效果的请求,显示具有用于发起对物理环境的扫描的选项或示能表示的用户界面(诸如图5E所示的用户界面),并且响应于对用于发起扫描的选项或示能表示的用户选择,发起对物理环境的扫描。
在一些实施方案中,当用户在物理环境周围移动计算机系统时扫描物理环境,如图5F至图5I所示。在一些实施方案中,使用LiDAR或其他深度传感器来获得对物理环境的扫描。扫描使用在扫描期间从深度传感器获得的信息来检测物理环境的特征,包括以下中的一者或多者:表面、对象、墙壁、天花板、地板等。在一些实施方案中,计算机系统标识(例如,识别)通过扫描检测到的一个或多个表面和/或对象。在一些实施方案中,计算机系统存储对物理环境的扫描(例如,作为物理环境的虚拟蓝图)。在一些实施方案中,物理环境的扫描的进度在所显示的用户界面中表示为网格(例如,栅格)视图,如图5F至图5J所示,使得用户界面随着物理环境的附加部分被扫描而更新(例如,在已扫描的部分上显示附加网格)。
在一些实施方案中,响应于接收到将第一虚拟效果添加到一个或多个相机的视场的所显示的表示的请求,并且根据确定第一虚拟效果不需要对物理环境的扫描,计算机系统显示(612)第一虚拟效果。例如,根据不与在物理环境中检测到的一个或多个表面交互的第一虚拟效果,计算机系统显示第一虚拟效果而不发起对物理环境的扫描。在一些实施方案中,包括填充物理环境的位于一个或多个相机的视场内的部分的体积的虚拟元素的微粒虚拟效果(诸如图5X所示的心形虚拟效果)不需要对物理环境的扫描。
确定虚拟效果何时不需要关于物理环境的特征的信息,并且自动显示虚拟效果而无需扫描物理环境来检测物理环境的特征(例如,因为显示虚拟效果不需要这种扫描)并且无需来自用户的输入,向用户提供视觉反馈,该视觉反馈指示能够应用虚拟效果并且不需要用户发起对物理环境的扫描。在一组条件已被满足时为用户提供改进的视觉反馈并且(例如,自动地)执行操作而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,当响应于接收到将第一虚拟效果添加到一个或多个相机的视场的所显示的表示的请求并且根据确定第一虚拟效果不需要对物理环境的扫描来显示第一虚拟效果时(614),计算机系统接收将不同于第一虚拟效果的第二虚拟效果添加到一个或多个相机的视场的所显示的表示的请求。在一些实施方案中,响应于接收到将第二虚拟效果添加到一个或多个相机的视场的所显示的表示的请求并且根据确定第二虚拟效果需要对物理环境的扫描,计算机系统发起对物理环境的扫描以检测物理环境的一个或多个特征并且显示指示对物理环境的扫描的进度的用户界面。在一些实施方案中,添加第二虚拟效果的请求并非扫描物理环境的请求。在一些实施方案中,使用LiDAR或其他深度传感器扫描来获得对物理环境的扫描,该LiDAR或其他深度传感器检测物理环境的特征,包括以下中的一者或多者:表面、对象、墙壁、天花板、地板等。在一些实施方案中,计算机系统标识(例如,识别)通过扫描检测到的一个或多个表面和/或对象。在一些实施方案中,计算机系统存储对物理环境的扫描(例如,由扫描产生的结果)(例如,作为物理环境的虚拟蓝图)。在一些实施方案中,物理环境的扫描的进度的所显示的表示包括网格(例如,栅格)视图,如图5F至图5J所示,使得用户界面随着物理环境的附加部分被扫描而更新(例如,在已扫描的部分上显示附加网格)。在一些实施方案中,响应于接收到将第二虚拟效果添加到一个或多个相机的视场的所显示的表示的请求并且根据确定第二虚拟效果不需要对物理环境的扫描,计算机系统显示第二虚拟效果(例如,无需扫描物理环境来检测物理环境的特征)。
允许用户在来自显示当前所选虚拟效果的同一用户界面的不同虚拟效果之间切换,并且如果需要显示虚拟效果,则自动发起扫描模式以检测物理环境的特征,而无需用户导航复杂菜单来改变所选虚拟效果或者当用户想要改变虚拟效果时手动发起扫描,通过提供连续视觉反馈使得用户可看到已选择哪个虚拟效果以及是否已启用所选虚拟效果以供立即显示(例如,或者是否必须发起扫描模式)来改进用户体验。在一组条件已经被满足时为用户提供改进的视觉反馈并且(例如,自动地)提供附加控制选项而不会使用户界面由于附加显示的控件而杂乱且无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在完成对物理环境(例如,或在一个或多个相机的视场中的物理环境的至少一部分,或物理环境的(一部分)的至少阈值量)的扫描之后,计算机系统在(例如,结合)一个或多个相机的视场上方显示(616)第一虚拟效果。例如,图5J至图5K示出在扫描完成之后,在用户界面511-10上(例如,自动地)显示迪斯科虚拟效果。在一些实施方案中,计算机系统根据确定计算机系统是静止的(例如,不移动的)(例如,以及对物理环境的在一个或多个相机的视场中的部分的扫描)来确定物理环境的扫描完成。例如,当用户在物理环境周围移动设备时,对物理环境的扫描继续。
显示如从环境的扫描所检测到的与物理环境的表面和特征交互的虚拟效果向用户提供连续视觉反馈并改进用户体验,使得用户可实时看到虚拟效果如何与物理环境的不同特征交互。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,在完成对物理环境的扫描的至少预定义部分之后,计算机系统提供(618)指示第一虚拟效果准备好被显示的通知。例如,图5J示出了扫描完成的通知533。
自动向用户提供通知以指示物理环境的一部分已被设备成功扫描和检测到,而无需来自用户的附加输入,向用户提供了提示视觉反馈并改进了用户体验。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,在完成对物理环境的扫描的至少预定义部分之后,计算机系统提供(620)用户能选择的用户界面元素,该用户能选择的用户界面元素在被选择时使得第一虚拟效果被显示。在一些实施方案中,响应于检测到对用户界面元素的选择,计算机系统显示第一虚拟效果。例如,图5J示出了开始显示第一虚拟效果的用户能选择的选项522(“开始效果”)。响应于选择“开始效果”的用户输入521,计算机系统显示虚拟效果,如图5K所示。在一些实施方案中,第一虚拟效果显示在一个或多个相机的视场的表示上方(例如,与其同时显示)。在一些实施方案中,计算机系统还提供用于录制媒体的用户界面元素,该用户界面元素包括所显示的虚拟效果(例如,图5K所示的“录制”按钮)。例如,捕获在物理环境的在一个或多个相机的视场内的部分内的所显示的第一虚拟效果的视频(例如,有时被称为剪辑或视频剪辑)和/或图像。
自动显示设备已成功扫描物理环境的一部分的指示,并且提供用户能选择的择以发起效果的显示的按钮,向用户提供实时视觉反馈并改进用户体验。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,当扫描物理环境时,计算机系统显示(622)进度指示器,该进度指示器指示已检测到的物理环境的一个或多个特征。在一些实施方案中,一个或多个特征包括空间的一个或多个表面(例如,墙壁、地板、天花板、桌面等)。例如,图5F至图5I示出了在扫描期间已检测到的物理环境内的表面和/或对象上的网格覆盖(例如,进度指示器)(例如,仅在扫描期间已检测到的物理环境内的那些表面和/或对象上显示网格重叠或其他进度指示器)。
自动更新示出扫描的进度的视觉指示器向用户提供连续视觉反馈,使得即使用户已相对于物理环境移动了设备,用户也意识到物理环境的在一个或多个相机的视场内的一部分的扫描的进度。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,计算机系统显示(624)用于放弃对物理环境的扫描的选项。例如,图5J示出了在扫描完成之后显示的“取消”按钮(例如,放弃已完成的扫描)。在一些实施方案中,在扫描时显示用于放弃(例如,取消)对物理环境的扫描的选项。在一些实施方案中,用于放弃扫描的选项是取消当前扫描的选项和/或取消当前扫描并重新开始扫描过程的选项。例如,图5I示出了用于“取消”扫描和“重新扫描”的选项。在一些实施方案中,在显示第一视觉效果的同时显示用于放弃扫描的选项(例如,如图5K中的“重新扫描”按钮535所示),并且对放弃扫描的选项的选择使得计算机系统返回到指示扫描的进度的用户界面(例如,如图5F所示)。例如,“重新扫描”选项允许用户扫描物理环境的不同部分(例如,区域)和/或基于以“网格”效果显示哪些特征来查看区域的哪个部分已被扫描。
自动为用户提供扫描物理环境的不同部分或从当前位置开始重新扫描物理环境的选项,同时维持已扫描的物理环境的部分的显示,而无需用户导航复杂菜单来重新扫描物理环境,通过提供视觉反馈和控制改进了用户体验。在一组条件已经被满足时为用户提供改进的视觉反馈并且(例如,自动地)提供附加控制选项而不会使用户界面由于附加显示的控件而杂乱且无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,计算机系统显示(626)指示错误状况的一个或多个视觉提示。在一些实施方案中,根据确定第一错误状况得到满足,计算机系统显示第一错误状况得到满足的第一视觉提示。根据确定第二错误状况得到满足,计算机系统显示不同于第一视觉提示的第二视觉提示。例如,图5G和图5H示出了相应的错误状况:移动过快(图5G)和光不足(图5H)。在一些实施方案中,在扫描物理环境的同时显示指示错误状况的视觉提示(如图5G和图5H所示)。在一些实施方案中,错误状况包括由光不足引起的错误(例如,并且视觉提示包括需要更多光来扫描的文本通知)。在一些实施方案中,当试图显示第一虚拟效果时(例如,在扫描之后),显示指示错误状况的视觉提示。在一些实施方案中,错误状况包括由于将计算机系统移出被扫描区域而导致的错误(例如,由于当前区域尚未被扫描,因此无法将虚拟效果应用于当前区域)。例如,图5AD示出了在已扫描物理环境的一部分之后发生的错误状况(例如,并且计算机系统正试图将棱镜虚拟效果应用于不同的区域)。在一些实施方案中,视觉提示包括用于发起对当前物理环境的扫描的用户能选择的选项。例如,重新扫描按钮525显示在图5AG中,当选择该按钮时,使得计算机系统发起对物理环境的尚未扫描的部分的扫描。在一些实施方案中,根据计算机系统移动到尚未扫描的区域,显示视觉提示,同时计算机系统自动发起对当前环境的扫描(例如,在无附加用户输入的情况下自动发起)。在一些实施方案中,计算机系统根据确定错误状况已被补救,停止一个或多个视觉提示的显示。例如,如图5AE至图5AF所示,当用户已返回到已扫描区域(例如,诸如图5AF所示的具有电视的区域)时,不再显示指示用户在已扫描区域之外的错误的视觉提示。在一些实施方案中,当错误状况基于光量时,根据确定检测到更多光,不再显示指示缺少光的视觉提示(例如,计算机系统停止显示视觉提示)。
自动检测当存在时防止扫描物理环境或防止显示虚拟效果的错误状况,并且向用户显示关于如何校正相应错误状况的指示而无需来自用户的输入,向用户提供视觉反馈并改进用户体验。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,当扫描物理环境时,计算机系统显示(628)进度指示器,该进度指示器指示已检测到的物理环境的两个或更多个特征。在一些实施方案中,两个或更多个特征包括在物理环境中检测到的对象(例如,固定对象)和/或表面。例如,如图5F所示,进度指示器(例如,网格覆盖)显示在物理环境的多个特征上方,包括电视、桌子、墙壁的一部分、天花板的一部分以及地板的一部分。
自动更新示出扫描的进度的视觉指示器向用户提供连续视觉反馈,使得即使用户已相对于物理环境移动了设备,用户也意识到物理环境的在一个或多个相机的视场内的一部分的扫描的进度。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,计算机系统在一个或多个相机的视场的表示上方显示(630)第一虚拟效果。在一些实施方案中,当在一个或多个相机的视场上方显示第一虚拟效果时,计算机系统提供用于切换到不同于第一虚拟效果的第三虚拟效果的用户界面元素。例如,计算机系统提供允许用户切换到一个或多个不同虚拟效果的一个或多个用户界面元素。例如,AR空间部分518在图5N中显示以允许用户从当前显示的虚拟效果(例如,迪斯科虚拟效果)切换到另一虚拟效果(例如,彗星虚拟效果,如图5O所示)。在一些实施方案中,在一个或多个相机的视场的表示上方显示第一虚拟效果时,显示用户界面元素。在一些实施方案中,用于切换到第三虚拟效果的用户界面元素位于单独的用户界面内(例如,在一个或多个相机的视场上方不显示第一虚拟效果的情况下显示)。例如,图5Y所示的扩展AR部分566被显示为与一个或多个相机的视场的表示的至少一部分重叠。然而,在一些实施方案中,当显示单独的用户界面时,计算机系统放弃显示第一虚拟效果(例如,图5Y所示的心形虚拟效果)。
为用户提供切换到另一虚拟效果同时继续显示当前选择的虚拟效果的选项提供了附加的控制选项,而无需在复杂的菜单分级结构中导航。在一组条件已经被满足时为用户提供改进的视觉反馈并且(例如,自动地)提供附加控制选项而不会使用户界面由于附加显示的控件而杂乱且无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,计算机系统接收(632)选择用于切换到不同于第一虚拟效果的第三虚拟效果的用户界面元素的用户输入。在一些实施方案中,响应于选择用于切换到第三虚拟效果的用户界面元素的用户输入,计算机系统显示第三虚拟效果而不发起扫描。例如,图5N示出用户输入541选择彗星虚拟效果(例如,同时维持迪斯科虚拟效果的显示),并且更新显示以在图5O中显示所选择的彗星虚拟效果(例如,不发起扫描)。在一些实施方案中,第三虚拟效果需要扫描环境(例如,彗星虚拟效果需要扫描环境,以便将梯度(例如,阴影)应用于被检测为墙壁的一个或多个表面),并且计算机系统使用在应用第一虚拟效果之前进行的扫描,而不是模仿重新扫描物理环境的相同部分的过程。例如,由于计算机系统在图5N和图5O中处于相同位置,因此计算机系统不需要获得另一次扫描来显示第三虚拟效果。在一些实施方案中,第三虚拟效果不需要扫描,并且无需扫描环境即可显示(例如,因为无论设备是否已获得对物理环境的在一个或多个相机的视场内的当前部分的扫描,都应用第三虚拟效果)。
为用户提供用于切换到另一虚拟效果的选项,同时继续显示当前选择的虚拟效果,并基于先前扫描自动显示所选的虚拟效果,而无需对物理环境的另一次扫描,提供附加的控制选项,而无需在复杂的菜单分级结构中导航。在一组条件已经被满足时为用户提供改进的视觉反馈并且(例如,自动地)提供附加控制选项而不会使用户界面由于附加显示的控件而杂乱且无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,计算机系统显示(634)用户界面,该用户界面包括要添加到(例如,应用于或覆盖有)一个或多个相机的视场的所显示的表示的一个或多个能够被选择的虚拟效果的一个或多个表示以及所扫描物理环境的能够被选择的表示。例如,图5Y示出了扩展的AR空间部分564,该扩展的AR空间部分包括用户可请求显示的虚拟效果的多个表示。在一些实施方案中,扩展的AR空间部分564包括返回到扫描视图(例如,表示566)的选项。例如,扫描视图包括被扫描物理环境的表示,该表示包括叠加在物理环境的被扫描部分上的网格(例如,栅格)。例如,当用户扫描物理环境时,网格(例如,栅格)显示在相应特征上方以指示已扫描的相应特征,如参考图5F至图5I所述。在一些实施方案中,用户对所显示的一个或多个表示的相应表示的选择使得计算机系统发起所选择的虚拟效果的显示和/或显示所扫描的物理环境的所选择的表示。例如,响应于用户输入565在图5Y中选择的棱镜虚拟效果,计算机系统显示如图5Z所的棱镜虚拟效果。
为用户提供切换到另一虚拟效果同时继续显示当前选择的虚拟效果的选项提供了附加的控制选项,而无需在复杂的菜单分级结构中导航。在一组条件已经被满足时为用户提供改进的视觉反馈并且(例如,自动地)提供附加控制选项而不会使用户界面由于附加显示的控件而杂乱且无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当扫描物理环境时,计算机系统检测(636)物理环境内的一个或多个表面,并且当显示第一虚拟效果时,第一虚拟效果改变一个或多个表面中的至少一个表面的外观。例如,第一虚拟效果跨一个或多个表面移动,如图5Z至图5AA所示的棱镜虚拟效果所示(例如,线向右移动,以看起来跨一个或多个表面移动)。在一些实施方案中,第一虚拟效果向检测到的表面中的一个或多个表面添加颜色和/或光(例如,图5W所示的舞池虚拟效果、图5L所示的迪斯科虚拟效果中示出的光束)。在一些实施方案中,第一虚拟效果改变第一类型的表面(例如,诸如地板、桌面等的水平表面)的外观,而不改变第二类型的表面(例如,诸如墙壁等的竖直表面)的外观。在一些实施方案中,计算机系统标识一个或多个表面(例如,天花板、墙壁、地板等)并且基于所标识的表面应用不同的虚拟效果(例如,第一虚拟效果被应用于天花板(例如,虚拟迪斯科球被安装到天花板)并且第二虚拟效果被应用于墙壁(例如,动画光被显示在墙壁上以指示来自迪斯科球的光,如图5L至图5N所示))。
在扫描过程期间自动检测物理环境的表面允许设备虚拟地映射物理环境的特征,使得设备能够基于物理环境的当前位于一个或多个相机的视场中的特征来自动连续更新虚拟效果的外观。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,第一虚拟效果将一个或多个虚拟对象添加(638)到一个或多个相机的视场的表示的显示(例如,将一个或多个虚拟对象添加到相对于位于一个或多个相机的视场中的(例如,检测到的或自动检测到的)表面或其他物理对象的(例如,预定义的)位置处)。例如,如图5L所示,虚拟迪斯科球被添加到一个或多个相机的视场的表示。在一些实施方案中,多个虚拟对象(例如,图5X中所示的多个虚拟心形)被添加到一个或多个相机的视场的表示的显示。
在相对于表面或一个或多个相机的视场中的其他物理对象的位置处显示虚拟对象为用户提供虚拟对象的位置如何相对于物理环境的表示改变其位置(或保持在固定位置处)的连续视觉反馈,即使设备相对于一个或多个相机的视场的当前表示移动时也是如此。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,当扫描物理环境时,计算机系统检测(640)物理环境内的一个或多个表面,并且当显示第一虚拟效果时,第一虚拟效果添加仅在对应于在扫描期间检测到的一个或多个表面的区域内显示的一个或多个虚拟对象。在一些实施方案中,通过在某些类型的表面上显示虚拟对象来实现相应的虚拟效果。例如,如参考图5R所述,虚拟五彩纸屑堆549显示在一个或多个水平表面(例如,桌面和地板)上,而不将虚拟纸屑堆显示在竖直表面(例如,墙壁)上。在一些实施方案中,基于检测到的表面来绑定(例如,限制)一个或多个虚拟对象。例如,虚拟五彩纸屑堆不延伸超过水平表面(例如,桌面),以避免出现漂浮在空间中的五彩纸屑虚拟堆。
改变虚拟效果的外观以考虑扫描物理环境时检测到的不同表面向用户提供视觉反馈,该视觉反馈指示检测到哪些表面和特征。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,当扫描物理环境时,计算机系统检测(642)物理环境内的一个或多个表面,并且第一虚拟效果包括显示与检测到的表面中的一个或多个表面交互的一个或多个虚拟对象。例如,如图5U至图5V所示,五彩纸屑虚拟效果包括多个虚拟五彩纸屑碎片,该多个虚拟五彩纸屑碎片落下(例如,从检测到的天花板下落到检测到的地板)并且看起来落在检测到的水平表面上(例如,作为纸屑堆)。在一些实施方案中,应用不同的光效果来指示一个或多个表面上的光泽(例如,在迪斯科虚拟效果中将模拟光应用于墙壁)。在一些实施方案中,虚拟效果已模拟与一个或多个表面的物理交互(例如,图5Z所示的棱镜虚拟效果包括围绕一个或多个表面的轮廓线)。
在扫描过程期间自动检测物理环境的表面允许设备映射物理环境的特征(例如,生成物理环境特征图),使得设备能够基于物理环境的当前在一个或多个相机的视场中的特征来自动且连续地更新虚拟效果的外观,即使当设备相对于物理环境移动时也是如此。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,计算机系统捕获(644)媒体项(例如,图像和/或视频),该媒体项包括结合一个或多个相机的视场的表示显示的第一虚拟效果。例如,捕获(例如,录制并持久存储)示出与位于一个或多个相机的视场内的一个或多个表面和/或特征(例如,包括人类主体)动态交互的虚拟效果的视频或图像,如参考图5R至图5T所述。
为用户提供用于拍摄视频或图像的选项,同时继续显示应用了虚拟效果的一个或多个相机的视场的表示,为用户提供连续视觉反馈,使得用户知道所捕获的视频或图像将包括什么。附加地,显示使设备在显示虚拟效果的同一用户界面上录制视频或图像的按钮允许用户立即捕获媒体,而无需在复杂菜单分级结构中导航。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,当显示第一虚拟效果时,计算机系统接收(646)用于在物理环境内移动计算机系统的输入。在一些实施方案中,响应于接收到用于移动计算机系统的输入,计算机系统将一个或多个相机的视场的所显示的表示更新为包括三维物理环境的位于一个或多个相机的(更新的)视场中的当前部分的更新表示,并且根据确定三维物理环境的位于一个或多个相机的视场中的当前部分尚未被扫描,并且根据确定第一虚拟效果需要对物理环境的扫描:计算机系统(例如,自动)发起对物理环境的当前部分的扫描,以检测物理环境的当前部分的一个或多个特征并且显示指示对物理环境的扫描的进度的用户界面。在一些实施方案中,当计算机系统在物理环境内移动时,第一虚拟效果(其需要对物理环境的扫描)不能根据一个或多个相机的包括尚未被扫描的物理环境的部分的视场来显示。在一些实施方案中,计算机系统自动确定物理环境的位于一个或多个相机的当前(例如,更新的)视场中的部分尚未被扫描,并且在将第一虚拟效果应用于一个或多个相机的当前视场之前,发起用于扫描物理环境的位于一个或多个相机的当前视场中的部分的过程。例如,如参考图5AD至图5AK所述,在扫描物理环境的表示的附加部分之后,棱镜虚拟效果仅应用于物理环境的包括沙发的部分(例如,棱镜虚拟效果不能应用于尚未被扫描的物理环境的表示的区域)。
当一个或多个相机的移动将物理环境的附加部分带入一个或多个相机的场中时,自动检测物理环境的当前部分何时尚未被设备扫描,并且自动发起扫描过程以便检测物理环境的当前部分的特征而无需来自用户的附加输入,向用户提供视觉反馈并改进用户体验。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
应当理解,对图6A至图6D中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法700)描述的其他过程的细节同样以类似的方式适用于上文参考图6A至图6D描述的方法600。例如,上文参考方法600描述的虚拟效果任选地具有本文参考本文所述的其他方法(例如,方法700)描述的虚拟效果的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图7A至图7B是示出根据一些实施方案的将虚拟效果添加到包括人类主体的物理环境的表示的方法700的流程图。方法700在计算机系统(例如,便携式多功能设备100或设备300)处执行,该计算机系统包括显示生成部件、一个或多个相机、和一个或多个输入设备、任选的一个或多个姿势传感器、任选的用于检测与触敏表面的接触的强度的一个或多个传感器、以及任选的一个或多个触觉输出发生器(和/或与这些部件通信)。方法700中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
如本文所述,方法700确定何时在位于一个或多个相机的视场内的物理环境内检测到人,并且响应于将虚拟效果应用于物理环境的表示的请求,基于在物理环境内检测到的对象的特征并且基于人的位置(例如,通过自动检测人在物理环境内的位置)在物理环境的表示内智能地显示虚拟效果。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
计算机系统经由显示生成部件显示(702)一个或多个相机的视场的表示,该视场的该表示包括三维物理环境的位于一个或多个相机的视场中的一部分的表示。
计算机系统接收(704)添加虚拟效果的请求。
响应于接收到添加虚拟效果的请求,计算机系统将虚拟效果(例如,虚拟动画)添加(706)到一个或多个相机的视场的所显示的表示,包括:根据确定人类主体处于一个或多个相机的视场内的第一位置处,计算机系统以第一方式显示(708)虚拟效果,其中以第一方式显示虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:三维物理环境中与人类主体分离的一个或多个检测到的表面的位置和/或形状和人类主体在物理空间中的第一位置。
将虚拟效果添加到一个或多个相机的视场的所显示的表示还包括根据确定人类主体处于一个或多个相机的视场内的第二位置处,计算机系统以不同于第一方式的第二方式显示(710)虚拟效果,其中以第二方式显示虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:三维物理环境中与人类主体分离的一个或多个检测到的表面的位置和/或形状和人类主体在物理空间中的第二位置。
在一些实施方案中,响应于选择虚拟效果的用户输入来添加虚拟效果(例如,如参考图5D所述)。在一些实施方案中,在添加虚拟效果之前,计算机系统扫描物理环境的至少一部分(例如,如参考图5F至图5J所述),并且根据该扫描来显示虚拟效果。在一些实施方案中,至少部分地基于通过扫描或在扫描期间检测到的人类主体和表面的相应位置来更新虚拟效果。例如,虚拟效果包括围绕(例如,包围)人类主体显示的一个或多个对象(例如,如参考图5L所述,虚拟光束和梯度效果不显示在人539的表示上方)。在一些实施方案中,虚拟效果包括在距人类主体的相应位置预定义距离处显示的一个或多个对象(例如,跟随人类主体的移动并且始终看起来位于人类主体后面预定义距离处的虚拟对象)。例如,如图5P至图5Q所示,虚拟彗星看起来被显示为跟随人539的表示的移动。
在一些实施方案中,一个或多个虚拟元素显示(712)在相对于人类主体的相应位置的预定位置处。在一些实施方案中,一个或多个虚拟元素包括一个或多个动画对象,诸如虚拟迪斯科球(例如,虚拟迪斯科球536-2,图5M)。例如,如图5M所示,虚拟元素的预定位置包括距人的头部的表示的距离。在一些实施方案中,虚拟效果被维持在相对于人类主体的位置的预定位置处。例如,即使人类主体在物理环境中移动,迪斯科球也被维持在距人类主体的头部预定距离处。
自动更新虚拟效果的显示以维持虚拟效果相对于物理环境内的人的位置的位置向用户提供指示虚拟效果仍被应用的连续视觉反馈,即使人相对于物理环境中的设备移动时也是如此。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,根据确定人类主体改变位置,计算机系统基于人类主体的位置的改变来更新(714)一个或多个虚拟元素中的第一虚拟元素的显示。例如,当人类主体移动时,至少一个虚拟元素(例如,图5P至图5Q所示的虚拟彗星)跟随用户。在一些实施方案中,第一虚拟元素移动与用户相同的量(例如,以维持第一虚拟元素与用户之间的相对位置)。在一些实施方案中,一个或多个虚拟元素中的至少一个虚拟元素根据人类主体的位置的改变而在显示中移动(例如,一个或多个虚拟元素被移动,以便随着人类主体改变位置而看起来继续位于人类主体后面)。例如,对于心形虚拟效果,虚拟心形看起来基于人类主体的位置而彼此分离(例如,好像分开以包围人类主体而不遮挡人类主体的视野)。
继续显示虚拟效果以维持其相对于人的位置的位置向用户提供指示人已相对于设备移动的改进的视觉反馈。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,一个或多个虚拟元素中的至少一个虚拟元素在相对于人类主体的相应位置定义的预定义区域内在视觉上被淡化(716)。例如,虚拟效果仅显示在被确定为位于人类主体上方(例如,或包围人类主体)的位置处。例如,包括将虚拟烟花显示为看起来位于人类主体的头部上方的虚拟效果在人类主体旁边、在人类主体前方或在人类主体后方的位置处渐弱(例如,或以其他方式在视觉上被淡化)。
自动检测一个或多个相机的视场内的人,并且使在物理环境中看起来至少部分隐藏在被检测到的人后面或者以其他方式被显示为包围该人的一个或多个虚拟元素自动渐弱,为用户提供指示已检测到该人的视觉反馈,而无需用户提供输入来手动标识该人或者手动移除虚拟效果的覆盖该人的部分。(例如,自动地)执行操作并向用户提供改进的视觉反馈使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,一个或多个虚拟元素中的至少一个虚拟元素在视觉上被人类主体遮挡(718)(例如,看起来隐藏在人类主体后面)。例如,一个或多个虚拟元素中的第一虚拟元素被在一个或多个相机的视场内检测到的人类主体遮挡或隐藏在该人类主体后面。例如,在一个或多个表面(例如,墙壁)上显示的模拟光不显示在用户的表面上方,如参考图5L所述。模拟光被绑定到一个或多个表面(例如,墙壁),使得阻挡一个或多个表面的至少一部分的(例如,一个或多个相机的)视野的人类主体导致虚拟元素不显示在一个或多个表面的被阻挡部分上。在一些实施方案中,虚拟元素显示在一个或多个相机的视场的表示内的预定义位置处(例如,虚拟迪斯科球被锚固到天花板上的位置);并且根据确定人类主体处于一个或多个相机的视场内的将阻挡锚固位置处的虚拟迪斯科球的视野的位置处,虚拟迪斯科球看起来至少部分地被人类主体覆盖。
自动检测一个或多个相机的视场内的人,并且自动隐藏在物理环境中看起来隐藏在被检测到的人后面的一个或多个虚拟元素,为用户提供指示已检测到人的视觉反馈,而无需用户提供输入来手动标识人或者手动移除虚拟效果的覆盖人的部分。(例如,自动地)执行操作并减少用户界面的杂乱增强了系统的可操作性,并且向用户提供改进的视觉反馈使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,一个或多个虚拟元素包括(720)在一个或多个相机的视场的表示中显示的多个微粒。例如,图5R所示的五彩纸屑虚拟效果包括多个五彩纸屑块,该多个五彩纸屑块看起来填充一个或多个相机的视场内的物理空间的表示的体积。在另一示例中,在图5O所示的彗星虚拟效果期间显示多个漂浮的星形。图5X所示的心形虚拟效果还示出了多个虚拟心形(例如,微粒),该多个虚拟心形看起来填充一个或多个相机的视场内的物理空间的表示的体积。
显示看起来悬浮并填充物理环境的体积的虚拟微粒或对象(诸如虚拟五彩纸屑或虚拟心形)为用户提供了如应用于物理环境的表示的改进的虚拟效果深度感知。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,一个或多个虚拟元素包括(722)显示在三维物理环境中的一个或多个检测到的表面中的至少一个表面上的模拟光。在一些实施方案中,计算机系统将检测到的表面标识为表面类型(例如,水平表面、竖直表面、天花板、墙壁、地板等),并基于表面类型(例如,检测到的表面的位置和/或形状)来显示模拟光。例如,迪斯科虚拟效果的模拟光显示在检测到的墙壁上(例如,如图5K所示)。例如,图5W所示的舞池虚拟效果包括在检测到的地板的不同部分上显示光(例如,看起来在地板上移动的闪烁光)。
显示看起来反射在已在物理环境中检测到的表面上的虚拟光束,为用户提供了已扫描的相应表面的指示以及设备在物理环境内的移动如何改变反射光的连续视觉反馈(如从用户的角度来看)。自动更新光的位置和强度以创建光图案向用户提供连续视觉反馈以指示用户正在相对于反射光图案的表面移动。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,计算机系统捕获(724)媒体项(例如,照片和/或视频),该媒体项包括结合一个或多个相机的视场的表示而显示的虚拟效果。例如,捕获(例如,录制并持久存储)示出与位于一个或多个相机的视场内的一个或多个表面和/或特征(例如,包括人类主体)动态交互的虚拟效果的视频或图像,如参考图5R至图5T所述。
为用户提供用于拍摄视频或图像的选项,同时继续显示应用了虚拟效果的一个或多个相机的视场的表示,为用户提供连续视觉反馈,使得用户知道所捕获的视频或图像将包括什么。附加地,显示使设备在显示虚拟效果的同一用户界面上录制视频或图像的按钮允许用户立即捕获媒体,而无需在复杂菜单分级结构中导航。向用户提供改进的视觉反馈而无需进一步的用户输入增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作系统/与系统交互时的用户错误),这另外通过使用户能够更快速且高效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,显示虚拟效果包括显示同时应用于一个或多个相机的视场内的物理环境的表示的多个虚拟元素(或虚拟效果)。例如,虚拟效果包括同时显示的多个虚拟效果(例如,包括一个或多个虚拟元素)。在一些实施方案中,一个或多个虚拟元素包括以下中的两者或更多者:在一个或多个相机的视场的表示中显示的多个微粒、在一个或多个检测到的表面中的至少一个表面上显示的虚拟元素、以及在相对于人类主体的相应位置的预定位置处显示的虚拟元素。例如,微粒系统(五彩纸屑)与显示在一个或多个水平表面上的虚拟五彩纸屑堆同时显示,如参考图5R所述。例如,彗星虚拟效果包括应用于一个或多个表面(墙壁)的梯度、看起来漂浮在空间体积内的虚拟星形(例如,星形包括微粒系统)、以及在相对于人类主体的(例如,预定义)位置处显示的虚拟彗星(例如,虚拟物体)(例如,当人类主体在物理环境周围移动时,虚拟彗星跟随),如图5P至图5Q所示。
应当理解,对图7A至图7B中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文参考本文所述的其他方法(例如,方法600)描述的其他过程的细节同样以类似的方式适用于上文参考图7A至图7B描述的方法700。例如,上文参考方法700描述的虚拟效果任选地具有本文参考本文所述的其他方法(例如,方法600)描述的虚拟效果的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。
上文参考图6A至图6D和图7A至图7B所述的操作任选地由图1A至图1B中所描绘的部件来实施。例如,显示操作602、接收操作604和提供操作618任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测在触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义事件或子事件时,事件识别器180激活与该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用程序所显示的内容。类似地,本领域的技术人员会清楚地知道基于在图1A-图1B中所描绘的部件可如何实现其他过程。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。
Claims (45)
1.一种方法,包括:
在与显示生成部件和一个或多个相机通信的计算机系统处:
经由所述显示生成部件显示所述一个或多个相机的视场的表示,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
接收将第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的请求;
响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第一虚拟效果需要对所述物理环境的扫描:
发起对所述物理环境的扫描以检测所述物理环境的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面。
2.根据权利要求1所述的方法,还包括响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第一虚拟效果不需要对所述物理环境的扫描,显示所述第一虚拟效果。
3.根据权利要求2所述的方法,还包括:
在响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求并且根据所述确定所述第一虚拟效果不需要对所述物理环境的扫描来显示所述第一虚拟效果时:
接收将不同于所述第一虚拟效果的第二虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的请求;
响应于接收到将所述第二虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第二虚拟效果需要对所述物理环境的扫描:
发起对所述物理环境的扫描以检测所述物理环境的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面;以及
响应于接收到将所述第二虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第二虚拟效果不需要对所述物理环境的扫描,显示所述第二虚拟效果。
4.根据权利要求1至3中任一项所述的方法,还包括在完成对所述物理环境的所述扫描之后,在所述一个或多个相机的所述视场上方显示所述第一虚拟效果。
5.根据权利要求1至4中任一项所述的方法,还包括在完成对所述物理环境的所述扫描的至少预定义部分之后,提供指示所述第一虚拟效果准备好被显示的通知。
6.根据权利要求1至5中任一项所述的方法,还包括:
在完成对所述物理环境的所述扫描的至少预定义部分之后,提供用户能选择的用户界面元素,所述用户能选择的用户界面元素在被选择时,使所述第一虚拟效果被显示;以及
响应于检测到对所述用户界面元素的选择,显示所述第一虚拟效果。
7.根据权利要求1至6中任一项所述的方法,还包括在扫描所述物理环境时,显示指示已检测到的所述物理环境的一个或多个特征的进度指示器。
8.根据权利要求1至7中任一项所述的方法,还包括显示用于放弃对所述物理环境的所述扫描的选项。
9.根据权利要求1至8中任一项所述的方法,还包括显示指示错误状况的一个或多个视觉提示。
10.根据权利要求1至9中任一项所述的方法,还包括在扫描所述物理环境时,显示指示已检测到的所述物理环境的两个或更多个特征的进度指示器。
11.根据权利要求1至10中任一项所述的方法,还包括:
在所述一个或多个相机的所述视场的所述表示上方显示所述第一虚拟效果;以及
在所述一个或多个相机的所述视场上方显示所述第一虚拟效果时,提供用于切换到不同于所述第一虚拟效果的第三虚拟效果的用户界面元素。
12.根据权利要求11所述的方法,还包括:
接收选择用于切换到不同于所述第一虚拟效果的所述第三虚拟效果的所述用户界面元素的用户输入;以及
响应于选择用于切换到所述第三虚拟效果的所述用户界面元素的所述用户输入,显示所述第三虚拟效果而不发起扫描。
13.根据权利要求1至12中任一项所述的方法,还包括显示用户界面,所述用户界面包括要添加到所述一个或多个相机的所述视场的所显示的表示的一个或多个能够被选择的虚拟效果的一个或多个表示以及所扫描的物理环境的能够被选择的表示。
14.根据权利要求1至13中任一项所述的方法,还包括在扫描所述物理环境时,检测所述物理环境内的一个或多个表面,其中所述第一虚拟效果改变所述一个或多个表面中的至少一个表面的外观。
15.根据权利要求1至14中任一项所述的方法,其中所述第一虚拟效果将一个或多个虚拟对象添加到所述一个或多个相机的所述视场的所述表示的所述显示。
16.根据权利要求1至15中任一项所述的方法,还包括在扫描所述物理环境时,检测所述物理环境内的一个或多个表面,其中所述第一虚拟效果添加仅在对应于在所述扫描期间检测到的一个或多个表面的区域内显示的一个或多个虚拟对象。
17.根据权利要求1至16中任一项所述的方法,还包括在扫描所述物理环境时,检测所述物理环境内的一个或多个表面,其中所述第一虚拟效果包括显示与一个或多个表面交互的一个或多个虚拟对象。
18.根据权利要求1至17中任一项所述的方法,还包括捕获媒体项,所述媒体项包括结合所述一个或多个相机的所述视场的所述表示而显示的所述第一虚拟效果。
19.根据权利要求1至18中任一项所述的方法,还包括:
在显示所述第一虚拟效果时,接收用于在所述物理环境内移动所述计算机系统的输入;
响应于接收到用于移动所述计算机系统的所述输入:
将所述一个或多个相机的所述视场的所显示的表示更新为包括三维物理环境的位于所述一个或多个相机的所述视场中的当前部分的更新表示;以及
根据确定所述三维物理环境的位于所述一个或多个相机的所述视场中的所述当前部分尚未被扫描,并且根据确定所述第一虚拟效果需要对所述物理环境的扫描:
发起对所述物理环境的所述当前部分的扫描,以检测所述物理环境的所述当前部分的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面。
20.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;
一个或多个处理器;和
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于进行以下操作的指令:
经由所述显示生成部件显示所述一个或多个相机的视场的表示,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
接收将第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的请求;
响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第一虚拟效果需要对所述物理环境的扫描:
发起对所述物理环境的扫描以检测所述物理环境的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面。
21.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信的计算机系统执行时,使所述计算机系统:
经由所述显示生成部件显示所述一个或多个相机的视场的表示,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
接收将第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的请求;
响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第一虚拟效果需要对所述物理环境的扫描:
发起对所述物理环境的扫描以检测所述物理环境的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面。
22.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;和
用于经由所述显示生成部件显示所述一个或多个相机的视场的表示的装置,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
用于接收将第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的请求的装置;
响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第一虚拟效果需要对所述物理环境的扫描而启用的用于进行以下操作的装置:
发起对所述物理环境的扫描以检测所述物理环境的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面。
23.一种在计算机系统中使用的信息处理装置,所述计算机系统包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信,所述信息处理装置包括:
用于接收将第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的请求的装置;
响应于接收到将所述第一虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的所述请求,并且根据确定所述第一虚拟效果需要对所述物理环境的扫描而启用的用于进行以下操作的装置:
发起对所述物理环境的扫描以检测所述物理环境的一个或多个特征;以及
显示指示对所述物理环境的所述扫描的进度的用户界面。
24.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;
一个或多个处理器;和
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至19中的任一项所述的方法的指令。
25.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信的计算机系统执行时,使所述计算机系统执行根据权利要求1至19中的任一项所述的方法。
26.一种在计算机系统上的图形用户界面,所述计算机系统包括显示生成部件、一个或多个相机和一个或多个输入设备、存储器以及用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备、所述存储器以及所述用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器通信,所述图形用户界面包括根据权利要求1至19中的任一项所述的方法显示的用户界面。
27.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;和
用于执行根据权利要求1至19中的任一项所述的方法的装置。
28.一种在计算机系统中使用的信息处理装置,所述计算机系统包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信,所述信息处理装置包括:
用于执行根据权利要求1至19中的任一项所述的方法的装置。
29.一种方法,包括:
在与显示生成部件和一个或多个相机通信的计算机系统处:
经由所述显示生成部件显示所述一个或多个相机的视场的表示,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
接收添加虚拟效果的请求;
响应于接收到添加所述虚拟效果的所述请求,将所述虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示,包括:
根据确定人类主体处于所述一个或多个相机的所述视场内的第一位置处,以第一方式显示所述虚拟效果,其中以所述第一方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第一位置;以及
根据确定所述人类主体处于所述一个或多个相机的所述视场内的第二位置处,以不同于所述第一方式的第二方式显示所述虚拟效果,其中以所述第二方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的所述位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第二位置。
30.根据权利要求29所述的方法,其中所述一个或多个虚拟元素显示在相对于所述人类主体的所述相应位置的预定位置处。
31.根据权利要求29至30中任一项所述的方法,还包括根据确定所述人类主体改变位置,基于所述人类主体的所述位置的所述改变来更新所述一个或多个虚拟元素中的第一虚拟元素的显示。
32.根据权利要求29至31中任一项所述的方法,其中所述一个或多个虚拟元素中的至少一个虚拟元素在相对于所述人类主体的所述相应位置定义的预定义区域内在视觉上被淡化。
33.根据权利要求29至32中任一项所述的方法,其中所述一个或多个虚拟元素中的至少一个虚拟元素在视觉上被所述人类主体遮挡。
34.根据权利要求29至33中任一项所述的方法,其中所述一个或多个虚拟元素包括多个微粒,所述多个微粒显示在所述一个或多个相机的所述视场的所述表示中。
35.根据权利要求29至34中任一项所述的方法,其中所述一个或多个虚拟元素包括模拟光,所述模拟光显示在所述三维物理环境中的所述一个或多个检测到的表面中的至少一个表面上。
36.根据权利要求29至35中任一项所述的方法,还包括捕获媒体项,所述媒体项包括结合所述一个或多个相机的所述视场的所述表示而显示的所述虚拟效果。
37.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;
一个或多个处理器;和
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于进行以下操作的指令:
经由所述显示生成部件显示所述一个或多个相机的视场的表示,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
接收添加虚拟效果的请求;
响应于接收到添加所述虚拟效果的所述请求,将所述虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示,包括:
根据确定人类主体处于所述一个或多个相机的所述视场内的第一位置处,以第一方式显示所述虚拟效果,其中以所述第一方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第一位置;以及
根据确定所述人类主体处于所述一个或多个相机的所述视场内的第二位置处,以不同于所述第一方式的第二方式显示所述虚拟效果,其中以所述第二方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的所述位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第二位置。
38.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信的计算机系统执行时,使所述计算机系统:
经由所述显示生成部件显示所述一个或多个相机的视场的表示,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
接收添加虚拟效果的请求;
响应于接收到添加所述虚拟效果的所述请求,将所述虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示,包括:
根据确定人类主体处于所述一个或多个相机的所述视场内的第一位置处,以第一方式显示所述虚拟效果,其中以所述第一方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第一位置;以及
根据确定所述人类主体处于所述一个或多个相机的所述视场内的第二位置处,以不同于所述第一方式的第二方式显示所述虚拟效果,其中以所述第二方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的所述位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第二位置。
39.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;和
用于经由所述显示生成部件显示所述一个或多个相机的视场的表示的装置,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
用于接收添加虚拟效果的请求的装置;
响应于接收到添加所述虚拟效果的所述请求而启用的用于将所述虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的装置,包括:
根据确定人类主体处于所述一个或多个相机的所述视场内的第一位置处,以第一方式显示所述虚拟效果,其中以所述第一方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第一位置;以及
根据确定所述人类主体处于所述一个或多个相机的所述视场内的第二位置处,以不同于所述第一方式的第二方式显示所述虚拟效果,其中以所述第二方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的所述位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第二位置。
40.一种在计算机系统中使用的信息处理装置,所述计算机系统包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信,所述信息处理装置包括:
用于经由所述显示生成部件显示所述一个或多个相机的视场的表示的装置,所述视场的所述表示包括三维物理环境的位于所述一个或多个相机的所述视场中的一部分的表示;
用于接收添加虚拟效果的请求的装置;
响应于接收到添加所述虚拟效果的所述请求而启用的用于将所述虚拟效果添加到所述一个或多个相机的所述视场的所显示的表示的装置,包括:
根据确定人类主体处于所述一个或多个相机的所述视场内的第一位置处,以第一方式显示所述虚拟效果,其中以所述第一方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第一位置;以及
根据确定所述人类主体处于所述一个或多个相机的所述视场内的第二位置处,以不同于所述第一方式的第二方式显示所述虚拟效果,其中以所述第二方式显示所述虚拟效果包括显示具有基于以下项而确定的外观的一个或多个虚拟元素:
所述三维物理环境中与所述人类主体分离的一个或多个检测到的表面的所述位置和/或形状;和
所述人类主体在所述三维物理环境中的所述第二位置。
41.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;
一个或多个处理器;和
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求29至36中的任一项所述的方法的指令。
42.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信的计算机系统执行时,使所述计算机系统执行根据权利要求29至36中的任一项所述的方法。
43.一种在计算机系统上的图形用户界面,所述计算机系统包括显示生成部件、一个或多个相机和一个或多个输入设备、存储器以及用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备、所述存储器以及所述用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器通信,所述图形用户界面包括根据权利要求29至36中的任一项所述的方法显示的用户界面。
44.一种计算机系统,包括:
显示生成部件;
一个或多个相机;
一个或多个输入设备;和
用于执行根据权利要求29至36中的任一项所述的方法的装置。
45.一种在计算机系统中使用的信息处理装置,所述计算机系统包括显示生成部件、一个或多个相机和一个或多个输入设备和/或与所述显示生成部件、所述一个或多个相机和所述一个或多个输入设备通信,所述信息处理装置包括:
用于执行根据权利要求29至36中的任一项所述的方法的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/176,322 | 2021-04-18 | ||
US17/720,227 | 2022-04-13 | ||
US17/720,227 US11941764B2 (en) | 2021-04-18 | 2022-04-13 | Systems, methods, and graphical user interfaces for adding effects in augmented reality environments |
PCT/US2022/024894 WO2022225795A1 (en) | 2021-04-18 | 2022-04-14 | Systems, methods, and graphical user interfaces for adding effects in augmented reality environments |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501316A true CN117501316A (zh) | 2024-02-02 |
Family
ID=89671313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280041623.6A Pending CN117501316A (zh) | 2021-04-18 | 2022-04-14 | 用于在增强现实环境中添加效果的系统、方法和图形用户界面 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117501316A (zh) |
-
2022
- 2022-04-14 CN CN202280041623.6A patent/CN117501316A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740755B2 (en) | Systems, methods, and graphical user interfaces for interacting with augmented and virtual reality environments | |
CN113223563B (zh) | 用于基于深度的注释的设备、方法和图形用户界面 | |
DK180842B1 (en) | Devices, procedures, and graphical user interfaces for System-Wide behavior for 3D models | |
EP3469470B1 (en) | Accelerated scrolling | |
US11941764B2 (en) | Systems, methods, and graphical user interfaces for adding effects in augmented reality environments | |
US20220092861A1 (en) | Systems, Methods, and Graphical User Interfaces for Sharing Augmented Reality Environments | |
AU2019101597A4 (en) | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models | |
AU2022201389B2 (en) | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models | |
US20240153219A1 (en) | Systems, Methods, and Graphical User Interfaces for Adding Effects in Augmented Reality Environments | |
AU2020201629A1 (en) | Devices, methods, and graphical user interfaces for navigating, displaying, and editing media items with multiple display modes | |
US20240053859A1 (en) | Systems, Methods, and Graphical User Interfaces for Interacting with Virtual Reality Environments | |
CN117501316A (zh) | 用于在增强现实环境中添加效果的系统、方法和图形用户界面 | |
CN117296309A (zh) | 自适应视频会议用户界面 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |