一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于使用增强现实进行建模、测量和绘图的系统、方法和图形用户界面与流程

2022-04-27 02:49:37 来源:中国专利 TAG:

用于使用增强现实进行建模、测量和绘图的系统、方法和图形用户界面
1.相关专利申请
2.本技术要求2020年1月24日提交的美国临时申请序列号62/965,710、2019年9月27日提交的美国临时申请序列号62/907,527和2020年9月23日提交的美国专利申请序列号17/030,209的优先权,并且是2020年9月23日提交的美国专利申请序列号17/030,209的延续。
技术领域
3.这整体涉及用于虚拟/增强现实的计算机系统,包括但不限于用于使用虚拟/增强现实环境对物理环境和/或对象进行建模和注释的电子设备。


背景技术:

4.增强和/或虚拟现实环境可用于对物理环境和其中的对象进行建模和注释,方法是提供物理环境和其中的对象的不同视图并且使用户能够将注释诸如测量和绘图叠加在物理环境和其中的对象上,并且可视化注释与物理环境和其中的对象之间的交互。但是使用增强和/或虚拟现实对物理环境和对象进行建模和注释的常规方法繁琐、低效且有限。在某些情况下,使用增强和/或虚拟现实对物理环境和对象进行建模和注释的常规方法在功能上受到限制。在某些情况下,使用增强和/或虚拟现实对物理环境和对象进行建模和注释的常规方法需要多个单独的输入(例如,一系列手势和按钮按下等)来实现预期的结果(例如,通过激活多个显示的用户界面元素来访问不同的建模、测量和/或绘图功能)。在某些情况下,使用增强和/或虚拟现实对物理环境和对象进行建模和注释的常规方法仅限于实时的实施方式;在其他情况下,常规方法限于使用先前捕获的媒体的实施方式。在一些实施方案中,对物理环境和对象进行建模和注释的常规方法仅提供物理环境/对象以及虚拟对象和物理环境/对象之间的交互的有限视图。此外,常规方法花费比所需时间更长的时间,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。


技术实现要素:

5.因此,需要具有用于使用虚拟/增强现实环境进行建模、测量和绘图的改进的方法和界面的计算机系统。此类方法和界面任选地补充或替换用于使用虚拟/增强现实环境进行建模、测量和绘图的常规方法。此类方法和界面减少了来自用户的输入的数量、程度、和/或性质,并且产生更有效的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
6.利用所公开的计算机系统减少或消除了与用于使用虚拟/增强现实进行建模、测量和绘图的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,计算机系统包括台式计算机。在一些实施方案中,计算机系统是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,计算机系统包括个人电子设备(例如,可穿戴电子设备,诸如
手表)。在一些实施方案中,计算机系统具有触控板(和/或与触控板通信)。在一些实施方案中,该计算机系统具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)(并且/或者与触敏显示器通信)。在一些实施方案中,计算机系统具有图形用户界面(gui)、一个或多个处理器、存储器和一个或多个模块、存储在存储器中用于执行多个功能的程序或指令集。在一些实施方案中,用户部分地通过触笔和/或手指接触以及触敏表面上的手势来与gui进行交互。在一些实施方案中,除了基于虚拟/增强现实的建模、测量和绘图功能之外,这些功能任选地包括玩游戏、图像编辑、绘图、演示、文字处理、电子表格制作、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、记笔记和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
7.根据一些实施方案,在具有显示生成部件、输入设备和处于物理环境中的一个或多个相机的计算机系统处执行一种方法。该方法包括经由一个或多个相机捕获物理环境的表示,包括更新表示以包括当一个或多个相机的视野移动时在一个或多个相机的视野中的物理环境的相应部分的表示。该方法包括在捕获物理环境的表示之后,显示包括用于请求显示物理环境的第一正交视图的可激活用户界面元素的用户界面。该方法包括经由输入设备接收对应于可激活用户界面元素的用于请求显示物理环境的第一正交视图的用户输入;以及响应于接收到用户输入,基于物理环境的一个或多个部分的捕获的表示来显示物理环境的第一正交视图。
8.根据一些实施方案,在具有显示生成部件、输入设备和处于物理环境中的一个或多个相机的计算机系统处执行一种方法。该方法包括经由一个或多个相机捕获指示物理环境的信息,该信息包括指示当一个或多个相机的视野移动时在一个或多个相机的视野中的物理环境的相应部分的信息。物理环境的相应部分包括物理环境的多个主要特征和物理环境的一个或多个次级特征。该方法包括在捕获指示物理环境的信息之后,显示用户界面,包括同时显示:以对物理环境的对应的多个主要特征的第一保真度水平生成的多个主要特征的图形表示;以及以与物理环境的对应的一个或多个次级特征的第二保真度水平生成的次级特征的一个或多个图形表示,其中第二保真度水平低于第一保真度水平。
9.根据一些实施方案,在具有显示生成部件和一个或多个输入设备的计算机系统上执行方法。该方法包括经由显示生成部件显示:物理环境的表示,其中物理环境的表示包括第一物理对象的表示,该第一物理对象占据物理环境中的第一物理空间并且具有第一相应的对象属性;以及虚拟对象,该虚拟对象在物理环境的表示中的对应于物理环境中与第一物理空间不同的第二物理空间的位置处。该方法包括检测对应于虚拟对象的第一输入,其中该第一输入的移动对应于相对于第一物理对象的表示在物理环境的表示中移动虚拟对象的请求。该方法包括在检测第一输入时,基于第一输入的移动在物理环境的表示中至少部分地移动虚拟对象。根据确定第一输入的移动对应于将虚拟对象移动通过物理环境表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中未被具有第一相应的对象属性的物理对象占据的物理空间,在物理环境的表示中至少部分地移动虚拟对象包括将虚拟对象移动第一量。根据确定第一输入的移动对应于将虚拟对象移动通过物理环境表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间,在物理环境的表示中至少部分地移动虚拟对象包括
将虚拟对象移动小于第一量的第二量,通过对应于物理环境中的与第一物理对象的第一物理空间至少部分地重叠的物理空间的一个或多个位置的至少一个子集。
10.根据一些实施方案,在具有显示生成部件和一个或多个输入设备的计算机系统上执行方法。该方法包括经由显示生成部件显示第一先前捕获的媒体的第一表示,其中第一媒体的第一表示包括物理环境的表示。该方法包括,在显示第一媒体的第一表示时,接收对应于对与物理环境的第一部分相对应的第一表示的一部分进行注释的请求的输入。该方法包括响应于接收到输入,在对应于物理环境的第一部分的第一表示的部分上显示注释,该注释具有基于物理环境确定的位置、取向或比例中的一者或多者。该方法包括在接收到输入之后,在所显示的第二先前捕获的媒体的第二表示的一部分上显示注释,其中第二先前捕获的媒体不同于第一先前捕获的媒体,并且第二表示的部分对应于物理环境的第一部分。
11.根据一些实施方案,在具有显示生成部件、输入设备和处于物理环境中的一个或多个相机的计算机系统处执行一种方法。该方法包括经由显示生成部件显示一个或多个相机的视野的第一表示,并且经由输入设备接收第一绘图输入,该第一绘图输入对应于将第一注释添加到视野的第一表示的请求。该方法包括,响应于接收到第一绘图输入:在一个或多个相机的视野的第一表示中,沿对应于第一绘图输入的移动的路径显示第一注释;以及在沿对应于第一绘图输入的移动的路径显示第一注释之后,根据确定第一注释的相应部分对应于距物理环境中物理对象的边缘的阈值距离内的一个或多个位置,显示被约束为对应于物理对象的边缘的注释。
12.根据一些实施方案,在具有显示生成部件和一个或多个输入设备的计算机系统上执行方法。该方法包括经由显示生成部件显示第一先前捕获的媒体项目的表示。第一先前捕获的媒体项目的表示与对应于其中捕获第一媒体项目的物理环境的深度信息相关联(例如,包括)。该方法包括在显示第一先前捕获的媒体项目的表示时,经由一个或多个输入设备接收对应于在第一先前捕获的媒体项的表示中显示对应于在第一媒体项目中捕获的物理环境的第一相应部分的第一测量的第一表示的请求的一个或多个第一输入。该方法包括响应于接收到对应于在第一先前捕获的媒体项目的表示中显示第一测量的第一表示的请求的一个或多个第一输入:经由显示生成部件,基于与第一先前捕获的媒体项目相关联的深度信息,在对应于在第一媒体项目的表示中捕获的物理环境的第一相应部分的第一先前捕获的媒体项目的表示的至少一部分上显示第一测量的第一表示;以及经由显示生成部件显示对应于第一测量的第一表示的第一标签,该第一标签基于与第一先前捕获的媒体项目相关联的深度信息来描述第一测量。
13.根据一些实施方案,在具有显示生成部件和一个或多个输入设备的计算机系统上执行方法。该方法包括经由显示生成部件从第一视点显示包括第一物理环境的表示的第一先前捕获的媒体项目的表示。该方法包括经由一个或多个输入设备接收对应于从第二视点显示包括第二物理环境的表示的第二先前捕获的媒体项目的表示的请求的输入。该方法包括响应于接收到对应于显示项目第二先前捕获的媒体的表示的请求的输入,根据确定第二先前捕获的媒体项目的一个或多个属性相对于第一先前捕获的媒体项目的一个或多个对应属性满足接近度标准,显示从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡。动画过渡基于第一个先前捕获的媒体项目的第一视点和第二先前捕
获的媒体项目的第二视点之间的差异。
14.根据一些实施方案,在具有显示生成部件和一个或多个相机的计算机系统上执行方法。该方法包括经由显示生成部件显示一个或多个相机的视野的表示。视野的表示包括在一个或多个相机的视野中的物理环境中的第一个体的表示,并且视野的表示中的第一个体的表示的相应部分对应于第一个体上的第一锚点。该方法包括在显示视野的表示时:基于视野中的变化而随时间推移更新视野的表示。视野中的变化包括移动第一锚点的第一个体的移动,并且当第一锚点沿物理环境中的路径移动时,对应于第一锚点的第一个体的表示的相应部分沿对应于第一锚点的移动的视野的表示中的路径变化。该方法包括在视野的表示中显示与对应于第一锚点的第一个体的表示的相应部分的路径的至少一部分相对应的注释。
15.根据一些实施方案,一种计算机系统(例如,电子设备)包括显示生成部件(例如,显示器、投影仪、头戴式显示器、平视显示器等)、一个或多个相机(例如,连续地或以固定间隔提供相机视野内的至少一部分内容的实时预览并且任选地生成包括捕获相机视野内的内容的一个或多个图像帧的视频输出的摄影机),以及一个或多个输入设备(例如,触敏表面,诸如触敏遥控器,或者也用作显示生成部件的触摸屏显示器、鼠标、操纵杆、棒控制器和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机)、可选的一个或多个姿势传感器、可选的检测触敏表面的接触的强度的一个或多个传感器、可选的一个或多个触觉输出发生器、一个或多个处理器,以及存储一个或多个程序的存储器(和/或与这些部件通信);一个或多个程序被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行或引起执行本文所述方法中的任一种方法的操作的指令。根据一些实施方案,计算机可读存储介质在其中存储有指令,这些指令当由包括显示生成部件、一个或多个相机、一个或多个输入设备、可选的一个或多个姿势传感器、可选的用于检测与触敏表面的接触的强度的一个或多个传感器,以及可选的一个或多个触觉输出发生器(和/或与这些部件通信)的计算机系统执行时,使得该计算机系统执行本文所述的任何方法的操作或使得本文所述任何方法的操作被执行。根据一些实施方案,在包括显示生成部件、一个或多个相机、一个或多个输入设备、可选的一个或多个姿势传感器、可选的用于检测与触敏表面的接触的强度的一个或多个传感器、可选的一个或多个触觉输出发生器、存储器以及用于执行存储在存储器中的一个或多个程序的一个或多个处理器(和/或与这些部件通信)的计算机系统上的图形用户界面包括在本文所述任何方法中所显示的一个或多个元素,该一个或多个元素响应于输入进行更新,如本文所述的任何方法中所描述的。根据一些实施方案,计算机系统包括显示生成部件、一个或多个相机、一个或多个输入设备、可选的一个或多个姿势传感器、可选的用于检测与触敏表面的接触的强度的一个或多个传感器、可选的一个或多个触觉输出发生器以及用于执行本文所述的任何方法的操作或使得本文所述任何方法的操作被执行的装置(并且/或者与这些部件通信)。根据一些实施方案,用于在包括显示生成部件、一个或多个相机、一个或多个输入设备、可选的一个或多个姿势传感器、可选的用于检测与触敏表面的接触的强度的一个或多个传感器以及可选的一个或多个触觉输出发生器(和/或与这些部件通信)的计算机系统中使用的信息处理装置包括用于执行本文所述的任何方法的操作或使得本文所述任何方法的操作被执行的装置。
16.因此,具有显示生成部件、一个或多个相机、一个或多个输入设备、可选的一个或
多个姿势传感器、可选的用于检测与触敏表面的接触的强度的一个或多个传感器和可选的一个或多个触觉输出发生器(和/或与之通信)的计算机系统具有用于使用虚拟/增强现实来建模、测量和绘图的改进的方法和界面,从而提高此类计算机系统的有效性、效率和用户满意度。此类方法和界面可以补充或替代使用虚拟/增强现实进行建模、测量和绘图的常规方法。
附图说明
17.为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
18.图1a是示出根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。
19.图1b是示出根据一些实施方案的用于事件处理的示例性部件的框图。
20.图2a示出根据一些实施方案的具有触摸屏的便携式多功能设备。
21.图2b示出了根据一些实施方案的具有光学传感器和飞行时间传感器的便携式多功能设备。
22.图3a是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
23.图3b至图3c为根据一些实施方案的示例性计算机系统的框图。
24.图4a示出了根据一些实施方案的便携式多功能设备上的应用程序菜单的示例性用户界面。
25.图4b示出了根据一些实施方案的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
26.图5a至图5ll示出了根据一些实施方案的用于与增强现实环境交互的示例性用户界面。
27.图6a至图6t示出了根据一些实施方案的用于向媒体项目添加注释的示例性用户界面。
28.图7a至图7b是根据一些实施方案的用于提供物理环境的不同视图的过程的流程图。
29.图8a至图8c是根据一些实施方案的用于以对物理环境的不同保真度水平提供物理环境的表示的过程的流程图。
30.图9a至图9g是根据一些实施方案的用于显示虚拟对象/注释与物理环境之间的建模空间交互的过程的流程图。
31.图10a至图10e是根据一些实施方案的用于将与虚拟对象/注释的建模空间交互应用于多个媒体项目的过程的流程图。
32.图11a至图11jj示出了根据一些实施方案的用于扫描物理环境并且将注释添加到物理环境的捕获的媒体项目的示例性用户界面。
33.图12a至图12rr示出了根据一些实施方案的用于扫描物理环境并且添加对应于物理环境的捕获的媒体项目中的对象的测量的示例性用户界面。
34.图13a至图13hh示出了根据一些实施方案的用于在显示的媒体项目与由用户选择以供查看的不同媒体项目之间转变的示例性用户界面。
35.图14a至图14ss示出了根据一些实施方案的用于查看对应于移动个体的表示的运
动跟踪信息的示例性用户界面。
36.图15a至图15b为根据一些实施方案的用于扫描物理环境并且将注释添加到物理环境的捕获的媒体项目的过程的流程图。
37.图16a至图16e是根据一些实施方案的用于扫描物理环境并且添加对应于物理环境的捕获的媒体项目中的对象的测量的过程的流程图。
38.图17a至图17d是根据一些实施方案的用于在显示的媒体项目与由用户选择以供查看的不同媒体项目之间转变的过程的流程图。
39.图18a至图18b是根据一些实施方案的用于查看对应于移动个体的表示的运动跟踪信息的过程的流程图。
具体实施方式
40.如上所述,增强现实环境可用于对物理环境空间和其中的对象进行建模和注释,方法是提供物理环境和其中的对象的不同视图并且使用户能够将注释诸如测量和绘图叠加在物理环境和其中的对象上,并且可视化注释与物理环境和其中的对象之间的交互。利用增强现实环境进行建模和注释的常规方法通常在功能上受到限制。在某些情况下,使用增强和/或虚拟现实对物理环境和对象进行建模和注释的常规方法需要多个单独的输入(例如,一系列手势和按钮按下等)来实现预期的结果(例如,通过激活多个显示的用户界面元素来访问不同的建模、测量和/或绘图功能)。在某些情况下,使用增强和/或虚拟现实对物理环境和对象进行建模和注释的常规方法仅限于实时的实施方式;在其他情况下,常规方法限于使用先前捕获的媒体的实施方式。在一些实施方案中,对物理环境和对象进行建模和注释的常规方法仅提供物理环境/对象以及虚拟对象和物理环境/对象之间的交互的有限视图。本文所公开的实施方案为用户提供了一种使用增强和/或虚拟现实对物理环境进行建模和注释的直观方式(例如,通过使用户能够用更少的输入在增强和/或虚拟现实环境中执行不同的操作,以及/或者通过简化用户界面)。另外,本文的实施方案提供改进的反馈,该改进的反馈向用户提供关于物理环境的附加信息和与虚拟对象的交互的附加信息和视图,以及关于在增强/虚拟现实环境中执行的操作的信息。
41.本文所述的系统、方法和gui以多种方式改进与虚拟/增强现实环境进行的用户界面交互。例如,它们通过为物理环境的不同视图提供选项,呈现物理对象和虚拟对象之间的直观交互,并且将在物理环境的一个视图中进行的注释应用到物理环境的其他视图,使对物理环境进行建模和注释变得更加容易。
42.下面,图1a至图1b、图2a至图2b以及图3a至图3b提供了对示例性设备的描述。图4a至图4b、图5a至图5ll以及图6a至图6t示出了用于与增强现实环境和媒体项目进行交互和注释的示例性用户界面。图7a至图7b示出了提供物理环境的不同视图的方法的流程图。图8a至图8c示出了以对物理环境的不同保真度水平提供物理环境的表示的方法的流程图。图9a至图9g示出了显示虚拟对象/注释与物理环境之间的建模空间交互的方法的流程图。图10a至图10e示出了将与虚拟对象/注释的建模空间交互应用于多个媒体项目的方法的流程图。图11a至图11jj示出了用于扫描物理环境并且将注释添加到物理环境的捕获的媒体项目的示例性用户界面。图12a至图12rr示出了用于扫描物理环境并且添加对应于物理环境的捕获的媒体项目中的对象的测量的示例性用户界面。图13a至图13hh示出了用于在显示
的媒体项目与由用户选择以供查看的不同媒体项目之间转变的示例性用户界面。图14a至图14ss示出了用于查看对应于移动个体的表示的运动跟踪信息的示例性用户界面。图15a至图15b示出了扫描物理环境并且向物理环境的捕获的媒体项目添加注释的方法的流程图。图16a至图16e示出了扫描物理环境并且添加对应于物理环境的捕获的媒体项目中的对象的测量的方法的流程图。图17a至图17d示出了在显示的媒体项目与由用户选择以供查看的不同媒体项目之间转变的方法的流程图。图18a至图18b示出了查看对应于移动个体的表示的运动跟踪信息的方法的流程图。图5a至图5ll、图6a至图6t、图11a至图11jj、图12a至图12rr、图13a至图13hh和图14a至图14ss中的用户界面用于示出图7a至图7b、图8a至图8c、图9a至图9g、图10a至图10e、图15a至图15b、图16a至图16e、图17a至图17d和图18a至图18b中的过程。
43.示例性设备
44.现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
45.还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一元素可被命名为第二元素并且类似地第二元素可被命名为第一元素,而不脱离各种所述实施方案的范围。第一元素和第二元素均为接触,但它们不是同一个元素,除非上下文另外明确指示。
46.在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
47.如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当
……
时”后“在
……
时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定
……”
或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定
……
时”或“响应于确定
……”
或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0048]
用于虚拟/增强现实的计算机系统包括产生虚拟/增强现实环境的电子设备。本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如pda和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自apple inc.(cupertino,california)的ipod和设备。任选地使用其他便携式
电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板计算机。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机,其还包括一个或多个相机或与其通信。
[0049]
在下面的讨论中,描述了一种计算机系统,其包括具有显示器和触敏表面(和/或与这些部件通信)的电子设备。然而,应当理解,该计算机系统可选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标、操纵杆、触笔控制器和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机。
[0050]
该设备通常支持各种应用程序,诸如以下中的一者或多者:游戏应用程序、笔记记录应用程序、绘图应用程序、演示文稿应用程序、文字处理应用程序、电子表格应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频相机应用程序、网页浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
[0051]
在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及由所述设备显示的对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
[0052]
现在将注意力转到具有触敏显示器的便携式设备的实施方案。图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进行通信。
[0053]
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽
然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。使用触觉输出向用户提供触觉反馈增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0054]
应当理解,设备100仅仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1a中所示的各种部件在硬件、软件、固件、或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
[0055]
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如cpu 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
[0056]
外围设备接口118可用于将设备的输入外围设备和输出外围设备耦接到cpu 120和存储器102。一个或多个处理器120运行或执行存储器102中所存储的各种软件程序和/或指令集以执行设备100的各种功能并处理数据。
[0057]
在一些实施方案中,外围设备接口118、cpu 120和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其他实施方案中,它们任选地在独立的芯片上实现。
[0058]
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)(例如,ieee 802.11a、ieee 802.11ac、ieee 802.11ax、ieee 802.11b、ieee 802.11g和/或ieee 802.11n)、互联网协议语音技术(voip)、wi-max、电子邮件协议(例如,互联网消息访问协议(imap)和/或邮局协议(pop))、即时消息(例如,可扩展消息处理和存在协议(xmpp)、用于即时消息和存在利用扩展的会话发起协议(simple)、即时消息和存在服务(imps))、和/或短消息服务(sms)、或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
[0059]
音频电路110、扬声器111和麦克风113提供用户与设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到
扬声器111。扬声器111将电信号转换为人类可听到的声波。音频电路110还接收由麦克风113从声波转换的电信号。音频电路110将电信号转换为音频数据,并且将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或rf电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2a中的212)。耳麦插孔提供音频电路110与可移除音频输入/输出外围设备之间的接口,该外围设备为诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
[0060]
i/o子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。i/o子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到该其他输入或控制设备。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选的实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、usb端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2a中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的增大/减小按钮。一个或多个按钮任选地包括下压按钮(例如,图2a中的206)。
[0061]
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至该触敏显示器系统。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频以及它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出对应于用户界面对象。如本文所用,术语“示能表示”是指用户交互式图形用户界面对象(例如,被配置为对被引向图形用户界面对象的输入进行响应的图形用户界面对象)。用户交互式图形用户界面对象的示例包括但不限于按钮、滑块、图标、可选择菜单项、开关、超链接或其他用户界面控件。
[0062]
触敏显示器系统112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器、或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一些实施方案中,在触敏显示器系统112和用户之间的接触点对应于用户的手指或触笔。
[0063]
触敏显示器系统112任选地使用lcd(液晶显示器)技术、lpd(发光聚合物显示器)技术、或led(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一些实施方案中,使用投射式互电容感测技术,诸如从apple inc.(cupertino,california)的ipod和中发现的技术。
[0064]
触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触
摸屏视频分辨率超过400dpi(例如,500dpi、800dpi或更大)。用户任选地使用任何合适的对象或附加物诸如触笔、手指等来与触敏显示器系统112接触。在一些实施方案中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所期望的动作。
[0065]
在一些实施方案中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触控板。在一些实施方案中,触控板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板任选地是与触敏显示器系统112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
[0066]
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(ac))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示符(例如,发光二极管(led))以及与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
[0067]
设备100可选地还包括一个或多个光学传感器164(例如,作为一个或多个相机的一部分)。图1a示出与i/o子系统106中的光学传感器控制器158耦接的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),一个或多个光学传感器164任选地捕获静态图像和/或视频。在一些实施方案中,光学传感器位于设备100的与设备前部上的触敏显示系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如,用于自拍、用于当用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
[0068]
设备100任选地还包括一个或多个接触强度传感器165。图1a示出了与i/o子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气式力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的与位于设备100的前部上的触敏显示系统112相背对的后部上。
[0069]
设备100任选地还包括一个或多个接近传感器166。图1a示出了与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与i/o子系统106中的输入控制器160耦接。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。
[0070]
设备100任选地还包括一个或多个触觉输出发生器163。图1a示出了与i/o子系统106中的触觉反馈控制器161耦接的触觉输出发生器。在一些实施方案中,一个或多个触觉输出发生器163包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器、或其
他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。一个或多个触觉输出发生器163从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示系统112相背对的后部上。
[0071]
设备100任选地还包括用于获得关于设备的姿势(例如,位置和取向或方位)的信息的一个或多个加速度计167、陀螺仪168和/或磁力仪169(例如,作为惯性测量单元(imu)的一部分)。图1a示出了与外围设备接口118耦接的传感器167、168和169。另选地,传感器167、168和169任选地与i/o子系统106中的输入控制器160耦接。在一些实施方案中,基于对从该一个或多个加速度计所接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图来显示信息。设备100任选地包括用于获得关于设备100的位置的信息的gps(或glonass或其他全球导航系统)接收器。
[0072]
在一些实施方案中,存储于存储器102中的软件组件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(gps)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图在1a和图3中所示的。设备/全局内部状态157包括以下中的一者或多者:活动应用程序状态,其指示哪些应用程序(如果有的话)当前是活动的;显示状态,其指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区域;传感器状态,包括从设备的各个传感器和其他输入或控制设备116获得的信息;以及关于设备的姿势(例如,位置和/或方位)的位置和/或定位信息。
[0073]
操作系统126(例如,ios、android、darwin、rtxc、linux、unix、os x、windows、或嵌入式操作系统诸如vxworks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
[0074]
通信模块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型连接器。
[0075]
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其
他触敏设备(例如,触控板或物理点击轮)的接触。接触/运动模块130包括各种软件组件以用于执行与(例如通过手指或触笔)接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪跨触敏表面的移动(例如,检测一个或多个手指拖动事件),以及确定接触是否已停止(例如,检测手指抬离事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触控板上的接触。
[0076]
接触/运动模块130任选地检测由用户进行的手势输入。触敏表面上的不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,检测触敏表面上的手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
[0077]
在一些实施方案中,检测手指轻击手势取决于检测手指按下事件与手指抬起事件之间的时间长度,但是与检测手指按下事件与手指抬起事件之间的手指接触强度无关。在一些实施方案中,根据确定手指按下事件与手指抬起事件之间的时间长度小于预先确定的值(例如,小于0.1、0.2、0.3、0.4或0.5秒),检测轻击手势,而不管轻击期间手指接触的强度是否达到给定的强度阈值(大于标称接触检测强度阈值),例如轻按压或深按压强度阈值。因此,手指轻击手势可以满足特定输入标准,该特定输入标准不要求接触的特征强度满足给定强度阈值以满足特定输入标准。为清楚起见,轻击手势中的手指接触通常需要满足标称接触检测强度阈值以检测到手指按下事件,低于该标称接触检测强度阈值时,不会检测到接触。类似的分析适用于通过触笔或其他接触检测轻击手势。在设备能够检测在触敏表面上方悬停的手指或触笔接触的情况下,标称接触检测强度阈值任选地不与手指或触笔与触敏表面之间的物理接触对应。
[0078]
同样的概念以类似方式适用于其他类型的手势。例如,可基于满足与手势中包括的接触的强度无关或者不要求执行手势的一个或多个接触达到强度阈值以便被识别的标准来任选地检测轻扫手势、捏合手势、展开手势和/或长按压手势。例如,基于一个或多个接触的移动的量来检测轻扫手势;缩放手势基于两个或更多个接触朝彼此的移动来检测;扩放手势基于两个或更多个接触背离彼此的移动来检测;长按压手势基于触敏表面上具有少于阈值移动量的接触的持续时间来检测。因此,关于特定手势识别标准不要求接触强度满足相应的强度阈值以满足特定手势识别标准的陈述意味着特定手势识别标准能够在手势中的接触未达到相应的强度阈值时被满足,并且还能够在手势中的一个或多个接触达到或超过相应的强度阈值的情况下被满足。在一些实施方案中,基于确定在预定义时间段内检测到手指按下事件和手指抬起事件来检测轻击手势,而不考虑在预定义时间段期间接触是高于还是低于相应的强度阈值,并且基于确定接触移动大于预定义量值来检测轻扫手势,
即使在接触移动结束时接触高于相应的强度阈值也是如此。即使在对手势的检测受到执行手势的接触的强度的影响的具体实施中(例如,当接触的强度高于强度阈值时,设备更快地检测到长按压,或者当接触的强度更高时,设备会延迟对轻击输入的检测),只要在接触未达到特定强度阈值的情况下可以满足识别手势的标准,则对这些手势的检测也不会要求接触达到特定强度阈值(例如,即使识别手势所需的时间量发生变化)。
[0079]
在某些情况下,接触强度阈值、持续时间阈值和移动阈值以各种不同组合进行组合,以便创建启发式算法来区分针对相同输入元素或区域的两个或更多个不同手势,使得与相同输入元素的多个不同交互能够提供更丰富的用户交互和响应的集合。关于一组特定手势识别标准不要求一个或多个接触的强度满足相应的强度阈值以便满足特定手势识别标准的陈述不排除对其他强度相关手势识别标准进行同时评估,以识别具有当手势包括具有高于相应强度阈值的强度的接触时被满足的标准的其他手势。例如,在某些情况下,第一手势的第一手势识别标准(其不要求接触的强度满足相应的强度阈值以满足第一手势识别标准)与第二手势的第二手势识别标准(其取决于达到相应强度阈值的接触)竞争。在此类竞争中,如果第二手势的第二手势识别标准首先得到满足,则手势任选地不被识别为满足第一手势的第一手势识别标准。例如,如果在接触移动预定义的移动量之前接触达到相应的强度阈值,则检测到深按压手势而不是轻扫手势。相反,如果在接触达到相应的强度阈值之前接触移动预定义的移动量,则检测到轻扫手势而不是深按压手势。即使在此类情况下,第一手势的第一手势识别标准仍然不要求接触的强度满足相应的强度阈值以满足第一手势识别标准,因为如果接触保持低于相应的强度阈值直到手势结束(例如,具有不会增大到高于相应强度阈值的强度的接触的轻扫手势),手势将被第一手势识别标准识别为轻扫手势。因此,不要求接触的强度满足相应的强度阈值以满足特定手势识别标准的特定手势识别标准将会(a)在某些情况下,忽略相对于强度阈值的接触强度(例如,对于轻击手势而言)和/或(b)在某些情况下,如果在特定手势识别标准识别与输入对应的手势之前,一组竞争的强度相关手势识别标准(例如,对于深按压手势而言)将输入识别为与强度相关手势对应,则不能满足特定手势识别标准(例如,对于长按压手势而言),从这个意义上来讲,仍然取决于相对于强度阈值的接触强度(例如,对于与深按压手势竞争识别的长按压手势而言)。
[0080]
结合加速度计167、陀螺仪168和/或磁力仪169,姿势模块131任选地检测关于设备的姿势信息,诸如在特定参考系中设备的姿势(例如,滚转、仰俯、偏航和/或位置)。姿势模块131包括用于执行与检测设备位置和检测设备姿势变化相关的各种操作的软件组件。
[0081]
图形模块132包括用于在触敏显示器系统112或其他显示器上渲染和显示图形的各种已知软件组件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
[0082]
在一些实施方案中,图形模块132存储表示待使用的图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
[0083]
触觉反馈模块133包括用于生成指令(例如,由触觉反馈控制器161使用的指令)的各种软件部件,以响应于用户与设备100的交互而使用一个或多个触觉输出发生器163在设备100上的一个或多个位置处产生触觉输出。
[0084]
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、im 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
[0085]
gps模块135确定设备的位置并提供该信息以在各种应用程序中使用(例如,提供至电话138以用于基于位置的拨号;提供至相机143作为图片/视频元数据;以及提供至提供基于位置的服务的应用程序诸如天气桌面小程序、当地黄页桌面小程序和地图/导航桌面小程序)。
[0086]
虚拟/增强现实模块145向实现增强现实特征,并且在一些实施方案中实现虚拟现实特征的应用程序136提供虚拟和/或增强现实逻辑部件。虚拟/增强现实模块145促进虚拟内容诸如虚拟用户界面对象在一个或多个相机的视野的至少一部分的表示上的叠加。例如,在虚拟/增强现实模块145的帮助下,一个或多个相机的视野的至少一部分的表示可以包括相应的物理对象,并且虚拟用户界面对象可以在显示的增强现实环境中显示在基于一个或多个相机的视野中的相应物理对象确定的位置处,或显示在基于计算机系统的至少一部分的姿势(例如,用于向计算机系统的用户显示用户界面的显示设备的姿势)确定的虚拟现实环境中。
[0087]
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
[0088]
·
联系人模块137(有时称作通讯录或联系人列表);
[0089]
·
电话模块138;
[0090]
·
视频会议模块139;
[0091]
·
电子邮件客户端模块140;
[0092]
·
即时消息(im)模块141;
[0093]
·
健身支持模块142;
[0094]
·
用于静态图像和/或视频图像的相机模块143;
[0095]
·
图像管理模块144;
[0096]
·
浏览器模块147;
[0097]
·
日历模块148;
[0098]
·
桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、字典桌面小程序149-5和由用户获得的其他桌面小程序,以及用户创建的桌面小程序149-6;
[0099]
·
用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
[0100]
·
搜索模块151;
[0101]
·
视频和音乐播放器模块152,任选地由视频播放器模块和音乐播放器模块构成;
[0102]
·
备忘录模块153;
[0103]
·
地图模块154;
[0104]
·
在线视频模块155
[0105]
·
建模和注释模块195;以及/或者
[0106]
·
飞行时间(“tof”)传感器模块196。
[0107]
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持java的应用程序、加密、数字权益管理、语音识别和语音复制。
[0108]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137包括可执行指令用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行归类和分类;提供电话号码和/或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或即时消息141的通信;等等。
[0109]
结合rf电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一种。
[0110]
结合rf电路108、音频电路110、扬声器111、麦克风113、触敏显示系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令来发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
[0111]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
[0112]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于进行以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(sms)或多媒体消息服务(mms)协议或者使用针对基于互联网的即时消息的xmpp、simple、apple推送通知服务(apns)或imps)、接收即时消息,以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件、和/或mms和/或增强消息服务(ems)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用sms或mms发送的消息)和基于互联网的消息(例如,使用xmpp、simple、apns或imps发送的消息)两者。
[0113]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、gps模块135、地图模块154以及视频和音乐播放器模块152,健身支持模块142包括可执行指令用于创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与(体育设备和智能手表中的)健身传感器通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择和播放音乐;以及显示、存储和传输健身数据。
[0114]
结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行
以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
[0115]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、展示(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
[0116]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括根据用户指令来浏览互联网(包括搜索、链接到、接收和显示网页或其部分,以及链接到网页的附件和其他文件)的可执行指令。
[0117]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
[0118]
结合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!桌面小程序)。
[0119]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
[0120]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
[0121]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、音频电路110、扬声器111、rf电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如mp3或aac文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触敏显示器系统112上或在经由外部端口124无线连接的外部显示器上)的可执行指令。在一些实施方案中,设备100任选地包括mp3播放器诸如ipod(apple inc.的商标)的功能。
[0122]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,备忘录模块153包括用于根据用户指令来创建和管理备忘录、待办事项等的可执行指令。
[0123]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、gps模块135和浏览器模块147,地图模块154包括用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾车路线;特定位置处或附
近的商店和其他兴趣点的数据;和其他基于位置的数据)的可执行指令。
[0124]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、音频电路110、扬声器111、rf电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏112上或在无线连接的或经由外部端口124连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式诸如h.264的在线视频的可执行指令。在一些实施方案中,使用即时消息模块141而不是电子邮件客户端模块140来发送特定在线视频的链接。
[0125]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、相机模块143、图像管理模块152、视频和音乐播放器模块152以及虚拟/增强现实模块145,建模和注释模块195包括允许用户对物理环境和/或其中的物理对象进行建模并且在增强和/或虚拟现实环境中注释(例如,测量、绘制和/或添加虚拟对象并且在其中操纵虚拟对象)物理环境和/或其中的物理对象的(例如,实时或先前捕获的)表示的可执行指令,如本文更详细描述的。
[0126]
结合相机模块143,tof传感器模块196包括用于捕获物理环境的深度信息的可执行指令。在一些实施方案中,tof传感器模块196与相机模块143结合操作以提供物理环境的深度信息。
[0127]
上述所识别的每个模块和应用对应于用于执行上述一种或多种功能以及在本技术中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子组。此外,存储器102任选地存储上文未描述的另外的模块和数据结构。
[0128]
在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行的设备。通过使用触摸屏和/或触控板作为用于操作设备100的主要输入控制设备,任选地减少设备100上的物理输入控制设备(例如,下压按钮、拨盘等等)的数量。
[0129]
唯一地通过触摸屏和/或触控板来执行的预定义的一组功能任选地包括在用户界面之间的导航。在一些实施方案中,触控板在被用户触摸时将设备100从设备100上显示的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触敏表面来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触敏表面。
[0130]
图1b是示出根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(图1a中)或存储器370(图3a)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136-1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
[0131]
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施方案中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态
指示当应用程序是活动的或正在执行时在触敏显示器系统112上显示的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息递送到的应用程序视图191。
[0132]
在一些实施方案中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示信息正被显示或准备好用于被应用程序136-1显示的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
[0133]
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器系统112上的用户触摸)的信息。外围设备接口118传输其从i/o子系统106或传感器诸如接近传感器166、一个或多个加速度计167和/或麦克风113(通过音频电路110)接收的信息。外围设备接口118从i/o子系统106所接收的信息包括来自触敏显示器系统112或触敏表面的信息。
[0134]
在一些实施方案中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施方案中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
[0135]
在一些实施方案中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
[0136]
当触敏显示器系统112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户能够在显示器上看到的控件和其他元素构成。
[0137]
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被识别为正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,所述初始触摸开始基于触摸的手势。
[0138]
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块172将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图便通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
[0139]
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块173确定仅命中视图应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,分级
结构中的较高视图将仍然保持为活跃参与的视图。
[0140]
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施方案中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施方案中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
[0141]
在一些实施方案中,操作系统126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在又一个实施方案中,事件分类器170是独立模块,或者是存储在存储器102中的另一个模块(诸如,接触/运动模块130)的一部分。
[0142]
在一些实施方案中,应用程序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中。
[0143]
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施方案中,事件识别器180还包括元数据183和事件传递指令188(其任选地包括子事件递送指令)的至少一个子集。
[0144]
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前姿势(例如,位置和取向)的对应信息。
[0145]
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件,或者确定或更新事件或子事件的状态。在一些实施方案中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施方案中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1(187-1)的定义是被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬起(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)以及预先确定时长的第二次抬起(触摸结束)。在另一个示例中,事件2(187-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器系统112上的移动、以及触摸的抬离(触摸结束)。在一些实
施方案中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
[0146]
在一些实施方案中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器184执行命中测试以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器系统112上显示三个用户界面对象的应用程序视图中,当在触敏显示器系统112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示对象与相应事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
[0147]
在一些实施方案中,相应事件187的定义还包括延迟动作,这些延迟动作延迟事件信息的递送,直到已确定子事件序列确实对应于或不对应于事件识别器的事件类型。
[0148]
当相应事件识别器180确定子事件序列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
[0149]
在一些实施方案中,相应事件识别器180包括具有指示事件递送系统应当如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标记和/或列表的元数据183。在一些实施方案中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
[0150]
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施方案中,相应事件识别器180将与事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器180抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序190获取该标记并执行预定义过程。
[0151]
在一些实施方案中,事件递送指令188包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
[0152]
在一些实施方案中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频或音乐播放器模块152中所使用的视频文件进行存储。在一些实施方案中,对象更新器177创建并更新在应用程序136-1中使用的对象。例如,对象更新器177创建新的用户界面对象或更新用户界面对象的位置。gui更新器178更新gui。例如,gui更新器178准备显示信息,并且将显示信息发送到图形模块132用以显示在触敏显示器上。
[0153]
在一些实施方案中,事件处理程序190包括数据更新器176、对象更新器177和gui更新器178,或具有对该数据更新器、该对象更新器和该gui更新器的访问权限。在一些实施方案中,数据更新器176、对象更新器177和gui更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
[0154]
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触控板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;基于对由一个或多个相机获得的视频图像的实时分析的输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事件的输入。
[0155]
图2a示出了根据一些实施方案的具有触摸屏(例如,触敏显示器系统112,图1a)的便携式多功能设备100(例如,设备100的前部的视图)。触摸屏任选地在用户界面(ui)200内显示一个或多个图形。在这些实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中未按比例绘制)或一个或多个触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。
[0156]
设备100任选地还包括一个或多个物理按钮,诸如“主桌面”或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。作为另外一种选择,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的gui中的软键。
[0157]
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204(有时称为主屏幕按钮204)、用于使设备通电/断电和用于锁定设备的下压按钮206、音量调节按钮208、用户身份模块(sim)卡槽210、耳麦插孔212和对接/充电外部端口124。下压按钮206任选地用于通过压下该按钮并且将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或停用某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触强度的一个或多个接触强度传感器165,和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器163。
[0158]
图2b示出了任选地包括光学传感器164-1和164-2以及飞行时间(“tof”)传感器220的便携式多功能设备100(例如,设备100的背面的视图)。当光学传感器(例如,相机)164-1和164-2同时捕获物理环境的表示(例如,图像或视频)时,便携式多功能设备可以根据由光学传感器同时捕获的信息之间的差异(例如,捕获的图像之间的差异)来确定深度信息。由使用光学传感器164-1和164-2确定的(例如,图像)差异提供的深度信息可能缺乏准确性,但通常提供高分辨率。为了提高由图像之间的差异提供的深度信息的准确性,飞行时间传感器220任选地与光学传感器164-1和164-2结合使用。tof传感器220发射波形(例如,来自发光二极管(led)或激光器的光),并且测量波形(例如,光)的反射返回到tof传感器220所花费的时间。根据光返回到tof传感器220所花费的测量时间来确定深度信息。tof传感器通常提供高准确度(例如,相对于测量的距离或深度,准确度为1cm或更高),但可能缺
乏高分辨率。因此,结合来自tof传感器的深度信息与由使用光学传感器(例如,相机)确定的(例如,图像)差异提供的深度信息,提供既准确又具有高分辨率的深度图。
[0159]
图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所述的类似传感器的光学、加速度、接近、触敏和/或接触强度传感器,以及任选地以上参考图2b所述的飞行时间传感器220)。存储器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任选地不存储这些模块。
[0160]
图3a中上述所识别的元件中的每个元件任选地存储在先前提到的存储器设备中的一个或多个存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的指令集。上述所识别的模块或程序(即,指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子组。此外,存储器370任选地存储上文未描述的附加模块和数据结构。
[0161]
图3b-3c为根据一些实施方案的示例性计算机系统301的框图。
[0162]
在一些实施方案中,计算机系统301包括以下部件和/或与之通信:
[0163]
·
输入设备(302和/或307,例如,触敏表面,诸如触敏遥控器,或者也用作显示生成部件的触摸屏显示器、鼠标、操纵杆、触笔控制器,以及/或者跟踪用户的一个或多个特征诸如用户的手的位置的相机);
[0164]
·
虚拟/增强现实逻辑部件303(例如,虚拟/增强现实模块145);
[0165]
·
显示生成部件(304和/或308,例如,显示器、投影仪、头戴式显示器、平视显示器等),用于向用户显示虚拟用户界面元素;
[0166]
·
用于捕获设备的视野的图像的相机(例如,305和/或311),例如,用于确定虚拟用户界面元素的放置、确定设备的姿势和/或显示相机所在物理环境的一部分的图像;以及
[0167]
·
姿势传感器(例如,306和/或311),用于确定设备相对于物理环境的姿势和/或
设备姿势的变化。
[0168]
在一些计算机系统中,相机(例如,305和/或311)包括飞行时间传感器(例如,飞行时间传感器220,图2b),用于如上文参考图2b所述捕获深度信息。
[0169]
在一些计算机系统(例如,图3b中的301-a)中,输入设备302、虚拟/增强现实逻辑部件303、显示生成部件304、相机305;以及姿势传感器306均集成到计算机系统(例如,图1a至图图1b中的便携式多功能设备100或图3中的设备300,诸如智能电话或平板电脑)中。
[0170]
在一些计算机系统(例如,301-b)中,除了集成的输入设备302、虚拟/增强现实逻辑部件303、显示生成部件304、相机305;以及姿势传感器306之外,计算机系统还与独立于计算机系统的附加设备通信,诸如独立的输入设备307,诸如触敏表面、触笔、遥控器等和/或独立的显示生成部件308,诸如虚拟现实头戴耳机或覆盖物理环境上的虚拟对象的增强现实眼镜。
[0171]
在一些计算机系统(例如,图3c中的301-c)中,输入设备307、显示生成部件309、相机311;以及/或者姿势传感器312与计算机系统分开并且与计算机系统通信。在一些实施方案中,使用计算机系统301中的并与该计算机系统通信的部件的其他组合。例如,在一些实施方案中,显示生成部件309、相机311和姿势传感器312结合在与计算机系统集成或与计算机系统通信的头戴式耳机中。
[0172]
在一些实施方案中,以下参考图5a至图5ll和图6a至图6t描述的所有操作在具有虚拟/增强现实逻辑部件303的单个计算设备(例如,以下参考图3b描述的计算机系统301-a)上执行。然而,应当理解,经常将多个不同的计算设备链接在一起以执行在下面参考图5a至图5ll和图6a至图6t描述的操作(例如,具有虚拟/增强现实逻辑部件303的计算设备与具有显示器450的独立计算设备和/或具有触敏表面451的独立计算设备通信)。在任何这些实施方案中,下面参考图5a至图5ll和图6a至图6t描述的计算设备是包含虚拟/增强现实逻辑部件303的一个或多个计算设备。另外,应当理解,在各种实施方案中,虚拟/增强现实逻辑部件303可被划分在多个不同模块或计算设备之间;然而,出于本文描述的目的,虚拟/增强现实逻辑部件303将主要被称为驻留在单个计算设备中,以避免不必要地模糊实施方案的其他方面。
[0173]
在一些实施方案中,虚拟/增强现实逻辑部件303包括接收解释输入的一个或多个模块(例如,一个或多个事件处理程序190,包括如上文参考图1b更详细地描述的一个或多个对象更新器177和一个或多个gui更新器178),并且响应于这些解释输入,根据解释输入生成用于更新图形用户界面的指令,该解释输入随后用于更新显示器上的图形用户界面。在一些实施方案中,已经被检测(例如,通过图1a和图3中的接触运动模块130)、识别(例如,通过图1b中的事件识别器180)和/或分配(例如,通过图1b中的事件分类器170)的输入的解释输入用于更新显示器上的图形用户界面。在一些实施方案中,解释输入由计算设备上的模块生成(例如,计算设备接收原始接触输入数据,以便从原始接触输入数据识别手势)。在一些实施方案中,解释输入的一些或全部被计算设备接收为解释输入(例如,包括触敏表面451的计算设备处理原始接触输入数据,以便从原始接触输入数据识别手势并且将指示手势的信息发送到包括虚拟/增强现实逻辑部件303的计算设备)。
[0174]
在一些实施方案中,显示器和触敏表面两者均与包含虚拟/增强现实逻辑部件303的计算机系统(例如,图3b中的301-a)集成。例如,该计算机系统可以是具有集成显示器(例
如,图3中的340)和触控板(例如,图3中的355)的台式计算机或膝上型计算机。又如,该计算设备可以是具有触摸屏(例如,图2a中的112)的便携式多功能设备100(例如,智能电话、pda、平板电脑等)。
[0175]
在一些实施方案中,触敏表面与计算机系统集成,而显示器不与包含虚拟/增强现实逻辑部件303的计算机系统集成。例如,该计算机系统可以是具有集成触控板(例如,图3中的355)的设备300(例如,台式计算机或膝上型计算机等),其中该集成触控板与独立显示器(例如,计算机监视器、电视等)相连(通过有线或无线连接)。又如,该计算机系统可以是具有触摸屏(例如,图2a中的112)的便携式多功能设备100(例如,智能电话、pda、平板电脑等),其中该触摸屏与独立显示器(例如,计算机监视器、电视等)相连(通过有线或无线连接)。
[0176]
在一些实施方案中,显示器与计算机系统集成,而触敏表面不与包含虚拟/增强现实逻辑部件303的计算机系统集成。例如,该计算机系统可以是具有集成显示器(例如,图3中的340)的设备300(例如,台式计算机、膝上型计算机、带集成式机顶盒的电视),其中该集成显示器与独立触敏表面(例如,远程触控板、便携式多功能设备等)相连(通过有线或无线连接)。又如,该计算机系统可以是具有触摸屏(例如,图2中的112)的便携式多功能设备100(例如,智能电话、pda、平板电脑等),其中该触摸屏与独立触敏表面(例如,远程触控板、另一个触摸屏作为远程触控板使用的便携式多功能设备等)相连(通过有线或无线连接)。
[0177]
在一些实施方案中,显示器和触敏表面两者均不与包含虚拟/增强现实逻辑部件303的计算机系统(例如,图3c中的301-c)集成。例如,该计算机系统可以是连接(通过有线或无线连接)到独立触敏表面(例如,远程触控板、便携式多功能设备等)和独立显示器(例如,计算机监视器、电视等)的独立计算设备300(例如,机顶盒、游戏控制台等)。
[0178]
在一些实施方案中,计算机系统具有集成音频系统(例如,便携式多功能设备100中的音频电路110和扬声器111)。在一些实施方案中,计算设备和独立于计算设备的音频系统通信。在一些实施方案中,音频系统(例如,集成在电视单元中的音频系统)与单独显示器集成。在一些实施方案中,音频系统(例如,立体音响系统)是与该计算机系统和显示器分开的独立系统。
[0179]
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“ui”)的实施方案。
[0180]
图4a示出根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面400包括以下元件或者其子集或超集:
[0181]
·
无线通信(诸如蜂窝信号和wi-fi信号)的信号强度指示符;
[0182]
·
时间;
[0183]
·
蓝牙指示符;
[0184]
·
电池状态指示符;
[0185]
·
具有常用应用程序图标的托盘408,图标诸如:
[0186]
o电话模块138的被标记为“电话”的图标416,该图标416任选地包括未接来电或语音留言的数量的指示符414;
[0187]
o电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未
读电子邮件的数量的指示符410;
[0188]
o浏览器模块147的被标记为“浏览器”的图标420;以及
[0189]
o视频和音乐播放器模块152的被标记为“音乐”的图标422;以及
[0190]
·
其他应用程序的图标,诸如:
[0191]
o im模块141的被标记为“消息”的图标424;
[0192]
o日历模块148的被标记为“日历”的图标426;
[0193]
o图像管理模块144的被标记为“照片”的图标428;
[0194]
o相机模块143的被标记为“相机”的图标430;
[0195]
o在线视频模块155的被标记为“在线视频”的图标432;
[0196]
o股市桌面小程序149-2的被标记为“股市”的图标434;
[0197]
o地图模块154的被标记为“地图”的图标436;
[0198]
o天气桌面小程序149-1的被标记为“天气”的图标438;
[0199]
o闹钟桌面小程序149-4的被标记为“时钟”的图标440;
[0200]
o健身支持模块142的被标记为“健身支持”的图标442;
[0201]
o备忘录模块153的被标记为“备忘录”的图标444;以及
[0202]
o设置应用程序或模块的被标记为“设置”的图标446,该图标提供对设备100及其各种应用程序136的设置的访问。
[0203]
应当注意,图4a中示出的图标标签仅仅是示例性的。例如,其他标签任选地用于各种应用图标。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
[0204]
图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以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
[0205]
附加地,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一个输入设备的输入(例如,基于鼠标的输入或触笔输入)替换。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触
任选地被同时使用。
[0206]
如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的用户界面的当前部分的输入元件。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图3a中的触控板355或图4b中的触敏表面451)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调整。在包括使得能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1a中的触敏显示器系统112或图4a中的触摸屏)的一些具体实施中,在触摸屏上检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,通过接触的按压输入)时,根据所检测到的输入来调整特定用户界面元素。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据焦点在用户界面的不同区域之间的移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制以便传送与用户界面的用户期望的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触控板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备显示器上示出的其他用户界面元素)。在一些实施方案中,经由显示设备显示焦点指示符(例如,光标或选择指示符)以指示用户界面的将受到从一个或多个输入设备接收的输入影响的当前部分。
[0207]
用户界面和相关联的过程
[0208]
现在将注意力转向可以在包括显示生成部件(例如,显示器、投影仪、头戴式显示器、平视显示器等)、一个或多个相机(例如,连续提供相机的视野内的至少一部分内容的实时预览并且任选地生成包括捕获相机的视野内的内容的一个或多个图像帧的视频输出的摄影机),以及一个或多个输入设备(例如,触敏表面,诸如触敏遥控器,或者也用作显示生成部件的触摸屏显示器、鼠标、操纵杆、棒控制器和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机)、可选的一个或多个姿势传感器、可选的检测触敏表面的接触的强度的一个或多个传感器以及可选的一个或多个触觉输出发生器(和/或与这些部件通信)的计算机系统(例如,电子设备,诸如便携式多功能设备100(图1a)或设备300(图3a)或计算机系统301(图3b至图3c))上实现的用户界面(“ui”)和相关过程的实施方案。
[0209]
图5a至图5ll和图6a至图6t示出了根据一些实施方案的用于与增强现实环境和媒体项目进行交互和注释的示例性用户界面。这些附图中的用户界面用于示出下文所述的过程,包括图7a至图7b、图8a至图8c、图9a至图9g、图10a至图10e、图15a至图15b、图16a至图16e、图17a至图17d和图18a至图18b中的过程。为了便于解释,将参考在具有触敏显示器系统112的设备上执行的操作来论述实施方案中的一些实施方案。在此类实施方案中,焦点选择器为任选地:相应手指或触笔接触、对应于手指或触笔接触的表示点(例如,相应接触的重心或与相应接触相关联的点)、或在触敏显示器系统112上所检测到的两个或更多个接触的重心。然而,响应于当在显示器450上显示附图中示出的用户界面连同焦点选择器时检测
到触敏表面451上的接触,任选地在具有显示器450和独立的触敏表面451的设备上执行类似的操作。
[0210]
图5a至图5ll示出了用户经由计算机系统301-b上的相机305(如图3b所示)扫描房间。这些相机(任选地结合飞行时间传感器,诸如飞行时间传感器220,图2b)获取房间的深度数据,用于创建扫描的房间的三维表示。可以通过移除扫描的房间的一些非必要方面来简化扫描的房间,或者用户可以将虚拟对象添加到扫描的房间。三维深度数据还用于增强与扫描的环境的交互(例如,防止虚拟对象与房间中的现实世界对象重叠)。此外,为了增强虚拟对象的真实感,虚拟对象可以引起现实世界对象的变形(例如,虚拟保龄球559使枕头509/558变形,如图5ii至图5kk所示,如下所述)。
[0211]
图5a示出了用户501经由计算机系统301-b的相机305对房间502进行扫描。为了示出计算机系统301-b正在扫描房间,阴影区域503被投影到房间502上。房间502包括多个结构特征(例如,壁和窗口)和非结构特征。房间502包括4个围墙504-1、504-2、504-3和504-4。壁504-2包括窗口505,其示出了房间502外部的区域的视图。另外,房间502还包括地板506和天花板507。房间502还包括搁置在房间502的地板506上的多个物品。这些物品包括落地灯508、枕头509、地毯510和木桌511。在房间502中还示出了木桌511,该木桌引起地毯510上的压痕512-1和512-2。房间还包括杯子513、智能家居控制设备514和杂志515,它们都搁置在木桌511的顶部。此外,通过窗口505进入的自然光导致分别投射在地板506和地毯510上的阴影516-1和516-2。
[0212]
图5a还示出了用户501在扫描房间502时当前正在看到的计算机系统301-b的显示生成部件308。显示器308示出了用户界面517,该用户界面示出了相机305当前正在捕获的内容的实时表示518(在本文中有时被称为实时视图表示)。用户界面517还包括指令519和/或方向标记520,用于指导用户房间的哪些部分仍需要被扫描。在一些实施方案中,用户界面517还包括“楼层平面”可视化521以向用户指示房间502的哪些部分已被扫描。所示出的该“楼层平面”可视化521为等轴视图,但是可以代替地显示正交视图或倾斜的自顶向下视图。在一些实施方案中,可以显示多于一个视图。
[0213]
图5b示出了用户501仍在执行房间502的扫描,但是现在将计算机系统301-b置于不同的取向(例如,用户501正在遵循扫描指令519和方向标记520,并且在向上和向右移动设备)。为了表示这种位置变化,阴影区域503现在根据设备移动了多少来定向。由于设备已经移动,因此实时表示518也被更新以显示房间502的当前正在扫描的新部分。另外,“楼层平面”可视化521现在被更新以显示房间502的已被扫描的新部分。“楼层平面”可视化521还聚合了迄今为止已扫描的所有部分。最后,显示新的方向标记522,该新的方向标记向用户示出接下来需要扫描房间的哪个部分。
[0214]
响应于房间502被扫描,示出房间的简化表示。简化表示是房间502或其他物理环境的表示,其中从特征中移除了一些细节,并且不显示非必要的非结构特征(例如,杯子)。多级简化可能是可能的,图5c-1、图5c-2、图5c-3和图5c-4表示这些简化中的一些简化的示例。
[0215]
图5c-1示出了显示包括房间524-1的简化表示的用户界面523的计算机系统301-b。在房间524-1的简化表示中显示的房间502的部分对应于在房间502中的设备的用户取向。用户501在房间502中的取向显示在小的用户方取向描述中。如果用户501改变他们的计
算机系统301-b的取向,那么房间524-1的简化表示也将改变。用户界面523包括控制区域525中的三个控件,其中每个控件调整房间502的视图。对照如下:
[0216]“第一人称视图”控件525-1,当该控件被选择时,将房间的显示的表示定向在第一人称视图,以便模仿用户在房间中在其取向中看到的内容。设备放置在房间中控制所示出的内容。
[0217]“自顶向下视图”控件525-2,当该控件被选择时,将房间的显示的表示定向在自顶向下视图中。换句话讲,用户界面将显示鸟瞰图(例如,自顶向下的正交视图)。
[0218]“等轴视图”控件525-3,当该控件被选择时,将房间的显示的表示定向在等轴视图中。
[0219]“侧视图”控件525-4,该控件在被选择时显示环境的扁平正交侧视图。尽管该模式切换到正交侧视图,但它也可能是用于将视图更改为另一个正交视图的另一个控件(例如,另一个侧视图或底视图)。
[0220]
尽管图5c-1、图5c-2、图5c-3和图5c-4描绘了第一人称视图,但应当理解,简化可以在由设备显示的任何其他视图发生(例如,正交视图和/或等轴视图)。
[0221]
在图5c-1中,在房间524-1的简化表示内,与图5a至图5b中的房间502中扫描的内容相比未示出多个项目。在房间524的该简化表示中,枕头509、地毯510、杯子513、杂志514都被移除。然而,一些较大的非结构特征仍然存在,诸如落地灯508和木桌511。这些剩余的较大的非结构特征现在显示为没有其纹理。具体地,移除落地灯508的灯罩颜色,木桌511不再显示其木纹,窗口505不再显示房间外区域的视图。此外,检测到的建筑物/家庭自动化对象和/或智能对象在房间524-1的简化表示中显示为图标。在一些情况下,图标完全替换检测到的对象(例如,“home控件”图标526-1替换家庭控制设备514)。然而,也可能同时显示检测到的建筑物/家庭自动化对象和/或智能对象的图标以及对应的对象(例如,落地灯508和对应的智能灯图标526-2在图5c-1中同时显示)。在一些实施方案中,虽然同时显示一个对象及其对应的自动化或智能对象,但对于另一个对象(例如,同样考虑到计算机系统301-b的相机305),仅显示对应的自动化或智能对象。在一些实施方案中,使用预定义标准来确定是用对象的对应的自动化或智能对象来替换对象,还是同时显示两者。在一些实施方案中,预定义标准部分取决于所选择或确定的简化水平。
[0222]
图5c-2显示了房间524-2的另一个简化表示,其中移除了多个项目。房间524-2的简化表示与房间524-1的简化表示之间的差异是落地灯508不再显示。然而,仍然显示对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,智能灯图标526-2)。
[0223]
图5c-3显示了房间524-3的另一个简化表示,其中所有项目都已移除。相反地,边界框被放置在房间524-3的简化表示中,以示出大型非结构特征。在此,示出了用于木桌527-1的边界框和用于落地灯527-2的边界框。这些边界框示出了这些非结构特征的大小。仍然显示对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,“home控件”图标526-1和智能灯图标526-2)。
[0224]
图5c-4显示了房间524-4的另一个简化表示,其中较大的非结构特征被计算机辅助设计(“cad”)表示所替换。在此,示出了木桌528-1的cad表示和落地灯528-2的cad表示。这些cad表示示出了一些非结构特征的计算机化渲染。在一些实施方案中,仅当计算机系统301-b将非结构对象标识为与cad表示相对应的项目时才显示cad表示。仍然显示对应于检
测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,“home控件”图标526-1和智能灯图标526-2)。图5c-4还示出了cad椅子529,这是占位符家具的示例。在一些实施方案中,占位家具被放置在一个或多个房间(例如,一个或多个其他空房间)中,以便虚拟地“展示”一个或多个房间。
[0225]
图5d示出了基于用户的位置显示房间502中显示的内容的实时表示518。如果用户要移动计算机系统301-b,则显示的内容将根据此类移动而变化(例如,如图5kk至图5ll中所示)。实时表示518不是简化视图并且显示了由相机305捕获的所有纹理。图5d还示出了“自顶向下视图”控件525-2上的用户输入530。在该示例中,对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,“home控件”图标526-1和智能灯图标526-2)被显示在实时视图的增强现实表示中。图5e示出了对“自顶向下视图”控件525-2上的用户输入530的响应。图5e示出了房间531的简化表示的自顶向下视图。与图5c-1至图5c-4(和图5d中所示的实时表示518)不同,房间531的简化表示相对于用户501在房间502中的取向全面地显示。在房间531的简化表示的该正交的自顶向下视图中,仍然显示窗口505、落地灯508和木桌511的表示,但在“自顶向下视图”中显示。此外,显示对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,与实时视图的增强现实表示中所示相同的图标)(例如,“home控件”图标526-1和智能灯图标526-2)。尽管自顶向下视图被示出为没有纹理(例如,房间中的对象的表示被示出为没有纹理),但应当理解,在其他实施方案中,该自顶向下视图包括具有纹理的对象的表示。
[0226]
图5f示出了与图5e中所示的房间531的简化表示相同的自顶向下视图。然而,图5f示出了“等轴视图”控件525-3上的用户输入532。图5g示出了房间533的简化表示的等轴视图。与图5c-1至图5c-4(和实时表示518)不同,房间533的简化表示的等轴视图相对于(例如,独立于)用户501在房间502中的取向全面地显示。在房间533的简化表示的该正交等轴视图中,仍然显示窗口505、落地灯508和木桌511的表示,但在等轴视图中显示。此外,显示对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,与实时视图的增强现实表示中所示相同的图标)(例如,“home控件”图标526-1和智能灯图标526-2)。尽管等轴视图被显示为没有纹理,但应当理解,在其他实施方案中,等轴视图包括具有纹理的对象的表示。
[0227]
图5h示出了房间533的简化表示的与图5g中所示的相同的等轴视图。然而,图5h示出了“第一人称视图”控件525-1上的用户输入534。作为响应,图5i示出了基于用户501的位置显示房间502中显示的内容的实时表示518。
[0228]
图5j示出了实时表示518中的智能光图标526-2上方的用户输入535。图5k示出了响应于智能灯图标526-2上的用户输入535(例如,长按压)的所得的用户界面。在一些实施方案中,轻击智能灯图标526-2打开或关闭智能灯,而不同的输入手势,诸如长按压,导致显示光控制用户界面536,其包括用于调整由落地灯508输出的光的颜色的颜色控件537,或用于控制由落地灯508输出的光的亮度的亮度控件538,或两者(如图5k所示)。颜色控件537包括多种可用颜色,用户可以从中选择使落地灯508发射的光。另外,光控制用户界面任选地包括退出用户界面元素539,在该示例中在光控制用户界面536的左上角示出。
[0229]
图5l示出了从光控制用户界面536中的亮度控件538开始的拖动用户输入540-1(例如,拖动手势)。响应于拖动输入,光的亮度增加。在图5l中,这由分别由灯罩干扰落地灯
508的发射光和木桌511干扰落地灯508的发射光引起的阴影516-3和516-4表示。
[0230]
图5m示出了拖动用户输入540-1继续到亮度控件上的第二位置540-2。响应于在第二位置540-2的拖动用户输入,落地灯508中的光的亮度增加。另外,灯泡符号541也更新以示出它正在发射更亮的光。图5n示出了退出用户界面元素539上的输入561,其关闭光控制用户界面536,如图5o所示。
[0231]
图5o至图5r示出了虚拟对象与现实世界对象的表示进行交互的交互。如上所述,计算机系统301-b上的相机305,任选地结合飞行时间传感器,能够记录深度信息,并且正因为如此,计算机系统301-b可以使虚拟对象抵抗移动到现实世界对象中。以下对图5o至图5r的讨论示出了虚拟对象抵制(例如,输入以与虚拟对象移动到现实世界对象中的速率不同的速率移动)进入现实世界对象的空间。在下面的图5o至图5z的整个讨论中,虚拟凳子542应该被理解为虚拟对象的示例,并且现实世界的木桌511/544为现实世界对象的示例。
[0232]
图5o还示出了添加到房间502的实时表示518的虚拟对象的示例,在这种情况下为虚拟凳子542。图5o还示出了开始拖动手势543-1以在实时表示518内移动虚拟对象(例如,虚拟凳子542)。出于解释的目的,虚拟凳子542被示出为没有纹理,但应当理解,在一些实施方案中,虚拟家具的一个或多个实例以实时表示或其他表示显示,带有纹理。
[0233]
图5p示出了输入543-2继续到木桌544的表示,该木桌对应于现实世界的木桌511。图5p示出了虚拟凳子542开始进入木桌544的表示。当虚拟凳子542开始进入木桌544的表示时,输入543-2不再以与虚拟凳子542相同的速率移动(例如,虚拟凳子以比输入更慢的速率移动)。虚拟凳子542现在与木桌544的表示重叠。当虚拟对象(例如,虚拟凳子542)与现实世界对象(例如,桌子544)的表示重叠时,虚拟对象的一部分(例如,虚拟凳子542)消失,或者另选地以半透明不强调的状态显示,或者在另外的替代方案中,显示与现实世界对象的表示重叠的虚拟对象的部分的轮廓。
[0234]
图5q示出了输入543-3继续,但是虚拟凳子542再次没有以与输入543-3移动的速率相同的速率移动。虚拟凳子542不会将某个阈值传递到木桌544的表示中。换句话讲,首先虚拟对象(例如,虚拟凳子542)将抵制移动到现实世界对象(例如,木桌544)的表示中(例如,允许一些重叠),但是在满足一定量的重叠之后,输入的移动不再导致虚拟对象(例如,虚拟凳子542)移动。
[0235]
图5r示出不再接收到输入,并且响应于不再接收到输入,虚拟对象(例如,虚拟凳子542)将出现在远离现实世界对象(例如,桌子)的位置,不再导致重叠。
[0236]
图5s示出了另一个拖动输入545-1,不同于先前在图5o至图5r中所示的那个。与先前的手势不同,以下一系列手势显示,如果用户在虚拟对象(例如,虚拟凳子542)上拖动得足够远,则虚拟对象(例如,虚拟凳子542)将快速移动穿过现实世界对象(例如,木桌544)的表示。图5s至图5v表示此类交互。然而,与先前的拖动输入一样,虚拟凳子542在输入移动的位置移动,除非输入导致与现实世界对象的表示(例如,木桌544的表示)重叠。
[0237]
图5t示出了输入545-2继续到木桌544的表示中。图5t示出了虚拟对象(例如,虚拟凳子542_开始进入现实世界对象(例如,木桌544)的表示中)。当虚拟凳子542开始进入木桌544的表示时,输入545-2不再以与虚拟凳子542相同的速率移动(例如,虚拟凳子以比输入更慢的速率移动)。虚拟凳子542现在与木桌544的表示重叠。如上所述,当虚拟凳子542与桌子544重叠时,虚拟凳子542的一部分消失,或者另选地以半透明不强调的状态显示,或者在
另外的替代方案中,显示与现实世界对象的表示重叠的虚拟对象的部分的轮廓。
[0238]
图5u示出了输入545-3继续,但是虚拟凳子542再次没有以与输入545-3移动的速率相同的速率移动。虚拟凳子542不会将某个阈值传递到木桌544的表示中。换句话讲,首先虚拟凳子542将抵制移动到木桌544的表示中(例如,允许一些重叠),但是在满足一定量的重叠之后,输入的移动不再导致虚拟凳子542移动。
[0239]
图5v示出了输入545-4满足阈值距离(并且也不干扰任何其他现实世界对象)。响应于满足经过现实世界对象(例如,木桌544)的表示的阈值距离(并且不干扰任何其他现实世界对象),使虚拟对象(例如,虚拟凳子542)快速移动穿过现实世界对象(例如,木桌544)的表示。当虚拟对象(例如,虚拟凳子542_快速移动穿过现实世界对象(例如,木桌544)的表示时,虚拟对象(例如,虚拟凳子542)将自身与输入545-4对准。
[0240]
图5w示出了现在位于快速移动的位置的虚拟对象(例如,虚拟凳子542)(例如,在满足经过现实世界对象(例如,木桌544)的表示之后的距离阈值之后发生抬离的位置)。
[0241]
图5x示出了另一个拖动输入546-1,不同于先前在图5s至图5w中所示的那个。与先前的手势不同,以下一系列手势显示,如果用户在虚拟对象(例如,虚拟凳子542)上拖动得足够快(例如,高的加速度和/或较高的速度),虚拟对象(例如,虚拟凳子542)将快速移动穿过现实世界对象(例如,木桌544)的表示。图5s至图5v示出了此类交互。然而,与先前的拖动输入一样,虚拟对象(例如,虚拟凳子542)在输入移动的位置移动,除非输入导致与现实世界对象或项目(例如,木桌544的表示)重叠。
[0242]
图5y示出了输入546-2继续到木桌544的表示中。图5y示出了虚拟凳子542开始进入木桌544的表示。当虚拟凳子542开始进入木桌544的表示时,输入546-2不再以与虚拟凳子542相同的速率移动(例如,虚拟凳子以比输入更慢的速率移动)。虚拟凳子542现在与木桌544的表示重叠。当虚拟凳子542与桌子重叠时,虚拟凳子542的一部分消失(或显示为半透明的不强调状态),但虚拟凳子542的轮廓将保留。
[0243]
图5z示出了当输入546-3满足阈值加速度、速度或加速度和速度的组合(并且也不干扰任何其他现实世界对象)时产生的结果。响应于满足阈值加速度、速度或组合(并且不干扰任何现实世界对象),计算机系统301-b使虚拟凳子542快速移动穿过木桌544的表示。当虚拟凳子542快速移动穿过木桌544的表示时,计算机系统301-b使虚拟凳子542与输入546-3对准。
[0244]
图5aa至图5cc示出了用户将虚拟桌子547添加到实时表示518并且调整虚拟桌子547的大小的交互。另外,图5cc示出虚拟桌子547自动调整大小以邻接木桌544的表示。在下面图5aa至图5ll的整个讨论中,虚拟桌子547、虚拟凳子542和虚拟保龄球559应理解为虚拟对象的示例,并且木桌544、地毯558和枕头562为现实世界对象的示例。
[0245]
具体地,图5aa示出了在插入到实时表示518中的虚拟桌子547上方的第一位置548-1处的拖动输入。拖动输入548正在朝向木桌544的表示的方向移动。另外,该拖动输入548-1出现在虚拟桌子547的边缘549处,并且输入548-1的移动方向远离虚拟桌子547内部的位置。
[0246]
图5bb示出了拖动输入继续到第二位置548-2,并且虚拟桌子547调整大小到与第二位置548-2处的拖动输入相对应的位置。虚拟桌子547的尺寸调整对应于拖动输入548-1和548-2的方向(例如,如果拖动手势向右,则家具项目将向右调整尺寸)。尽管虚拟桌子547
在图5bb中显示为扩展,但在一些实施方案中,沿与拖动输入548-1和548-2相反的方向的输入(例如,沿朝向虚拟桌子547内的位置的方向)将导致虚拟桌子547的大小减小。
[0247]
图5cc示出不再接收拖动输入548-2,但示出桌子扩展(例如,快速移动)以邻接木桌544的表示。当用户的输入(例如,拖动输入548-2)满足与另一个(虚拟或现实世界)对象的边缘的阈值接近度时,该扩展自动发生,而不需要来自用户的任何附加输入以使虚拟对象精确地扩展正确的量,以便邻接另一个(例如,虚拟或现实世界)对象的表示。
[0248]
图5dd至图5hh示出了在正交视图(例如,自顶向下视图和侧视图)之间切换的能力。此外,这些图还示出了在选择不同视图时如何保持虚拟对象。
[0249]
图5dd示出了用于选择“第一人称视图”控件525-1、“自顶向下视图”控件525-2或“侧视图”控件525-4的控件。“侧视图”控件525-4在被选择时显示环境的扁平侧视图(例如,侧面正交视图)。图5dd示出了“侧视图”控件525-4上的输入551。尽管在图5dd的示例中示出的侧视图没有纹理(例如,侧视图中的对象的表示显示为没有纹理),但在一些实施方案中,侧视图显示为带有纹理(例如,侧视图中的一个或多个对象的表示显示为带有纹理)。
[0250]
图5ee示出了响应于在“侧视图”控件525-4上接收输入551而产生的用户界面。图5ee示出了具有虚拟家具(例如,虚拟凳子542和虚拟桌子547)和现实世界家具的侧视图简化表示552。此外,显示对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,与实时视图的增强现实表示中所示相同的图标)(例如,“home控件”图标526-1和智能灯图标526-2)。
[0251]
图5ff示出了与图5ee相同的侧视图简化表示552。图5ff还示出了“自顶向下视图”控件525-2上的输入553。
[0252]
图5gg示出了响应于在“自顶向下视图”控件525-2上接收输入553而产生的用户界面。图5gg示出了具有虚拟家具(例如,虚拟凳子542和虚拟桌子547)和现实世界家具的自顶向下视图简化表示554。此外,显示对应于检测到的建筑物/家庭自动化对象和/或智能对象的图标(例如,与实时视图的增强现实表示中所示相同的图标)(例如,“home控件”图标526-1和智能灯图标526-2)。尽管自顶向下视图被示出为没有纹理(例如,自顶向下视图中的对象的表示被示出为没有纹理),但应当理解,该自顶向下视图也可以被示出为带有纹理(例如,自顶向下视图中的对象的表示显示为带有纹理)。
[0253]
图5hh示出了与图5gg相同的自顶向下视图简化表示554。图5ff还示出了“第一人称视图”控件525-1上的输入555。
[0254]
图5ii至图5kk示出了房间502的增强现实表示(例如,具有一个或多个添加的虚拟对象的实时表示518)。这些图示出了虚拟对象如何改变现实世界对象的视觉外观。图5ii示出了房间502中特征的所有纹理,并且还示出了非必要特征(例如,对应于枕头508的枕头562的表示)。图5ii还示出了房间502的实时表示518中的虚拟对象(例如,虚拟凳子542和虚拟桌子547)。这些虚拟对象与物理对象进行交互,并且对它们的外观产生影响。在该示例中,虚拟桌子547在地毯558(对应于地毯509)的表示上形成压痕557-1(例如,地毯的压缩)。虚拟凳子542还在地毯558的表示上形成压痕557-2(例如,地毯的压缩)。图5ii还示出了虚拟保龄球559经由输入563被插入到枕头562的表示上方的房间502的非简化表示中。
[0255]
图5jj示出了用户在枕头562的表示上方的房间502的实时表示518中释放(例如,不再接收输入563)虚拟保龄球559。响应于释放虚拟保龄球559,虚拟保龄球559开始下落至
枕头562的表示,遵循房间502的物理特性。
[0256]
图5kk示出了虚拟保龄球559降落在枕头562的表示上,并且响应于降落,枕头562的表示显示它变形。枕头562的表示的变形由枕头562的表示的压缩线560示出。
[0257]
图5ll示出用户在房间内移动到新位置,同时计算机系统正在显示房间502的实时表示518。因此,房间502的实时表示518已更新为用户501将从新位置感知的内容。因此,计算机系统301-b显示新的实时视图表示564。当设备的位置、偏航、俯仰和滚动发生变化时,房间的实时表示将实时更新以对应于设备的当前位置、偏航、俯仰和滚动。因此,实时表示518的显示在用户握持设备时不断调整以适应设备位置和取向的微小变化。换句话讲,实时表示将看起来好像用户正在通过相机的取景器观看,但是可以在实时表示中添加或包括虚拟对象。
[0258]
图6a至图6t示出了允许用户将虚拟对象插入到现实世界的第一表示中的示例性用户界面。如果设备检测到现实世界的第一表示对应于(例如,其他表示的部分与第一表示匹配)其他表示,则虚拟对象将被放置在对应的其他表示中。尽管以下照片是车辆的照片,但也应当理解,所示出的照片可以是图5a至图5ll中所示出的环境的照片。
[0259]
图6a描绘了示出“媒体”用户界面601-1,其包括四个媒体缩略图项目:媒体缩略图项目1 602-1、媒体缩略图项目2 602-2、媒体缩略图项目3 602-3和媒体缩略图项目4 602-4。这些媒体缩略图项目可以表示照片、带有实时内容的照片(例如,live photo,这是加利福尼亚州库比蒂诺市的苹果公司的注册商标)、视频或图形交换格式(“gif”)。在该示例中,媒体缩略图项目是汽车624的表示。
[0260]
图6b示出了在“媒体”用户界面601-1中描绘的媒体缩略图项目3 602-3上的输入603。图6c示出了对媒体缩略图项目3 602-3上方的输入603的响应。图6c示出了另一个“媒体”用户界面601-2,其示出了与“媒体”用户界面601-1中描绘的媒体缩略图项目3 602-3相对应的扩展媒体项目604。此外,图6c还示出了包含媒体缩略图项2 602-2、媒体缩略图项3 602-3和媒体缩略图项4 602-4的媒体缩略图擦除器605。在媒体缩略图擦除器605的中心显示的缩略图表明哪个缩略图项目602对应于正在显示的扩展媒体项目604。可以滚动通过和/或点击媒体缩略图擦除器605中所示的媒体缩略图项目,以在显示为扩展媒体项目604的媒体项目之间变化。
[0261]
图6d示出了表明通过输入607-1将“ev turbo”添加到扩展媒体项目604的注释606。在没有接收到输入607的抬离的情况下,更新媒体缩略图擦除器605中描绘的媒体缩略图项目2 602-2、媒体缩略图项目3 602-3和媒体缩略图项目4 602-4,以显示表明添加到扩展媒体项目604的“ev turbo”的注释606。图6d还示出输入607-1是基本上向右方向的拖动输入。
[0262]
图6e示出输入607-1继续到第二输入位置607-2。响应于该拖动输入(607-1至607-2)的位置变化,表明“ev turbo”的注释606移动至扩展媒体项目604内的第二位置。另外,在没有接收到输入607的抬离的情况下,更新媒体缩略图擦除器605中描绘的媒体缩略图项目2 602-2、媒体缩略图项目3 602-3和媒体缩略图项目4 602-4,以在对应于扩展媒体项目604中的第二位置的第二位置处显示表明“ev turbo”的注释606。
[0263]
图6f在图6m示出了在不同媒体项目之间切换时的示例性用户界面。在一些实施方案中,当切换媒体项目时,显示说明取向变化的物理环境的三维模型的过渡表示。此类交互
允许用户看到媒体项目在三维空间中彼此相关的方式。
[0264]
图6f示出了在媒体缩略图擦除器605中描绘的媒体缩略图项目3 602-3上方开始的位置608-1处的拖动输入608。拖动输入向右移动并且向右拉动媒体缩略图项目。当媒体缩略图项目向右移动时,媒体缩略图项目的部分停止显示,并且未显示的媒体缩略图项目的新部分进入视野。
[0265]
图6g示出了拖动输入608继续到位置608-2。当位置改变时,扩展媒体项目604开始淡出,并且扩展媒体项目609的物理环境的底层三维模型的表示开始淡入。在一些实施方案中,扩展媒体项目609的物理环境的三维模型的表示基于物理环境的非结构化三维模型,该非结构化三维模型可以使用二维单元类型(例如,三角形和/或四边形)的组合来近似任何几何形状。在一些实施方案中,使用三维单元类型(例如,四面体、六面体、棱锥和/或楔形件)。当拖动输入发生时,擦除器605被滚动通过,并且媒体缩略图项目602-1开始出现,并且媒体缩略图项目602-4开始消失。
[0266]
图6h示出了拖动输入608继续到位置608-3。当位置改变时,扩展媒体项目604完全淡出,并且扩展媒体项目609的物理环境的三维模型的表示完全淡入。当拖动输入608发生时,擦除器605被滚动通过,并且显示媒体缩略图项目602-1的附加部分,而显示更少的媒体缩略图项目602-4(或其更少部分)。
[0267]
图6i示出了拖动输入608继续到位置608-4。当位置改变时,显示物理环境610的三维模型的中间表示。物理环境610的三维模型的这种中间表示示出媒体项目的视角随着另一个媒体项目开始显示而变化。在一些实施方案中,物理环境610的三维模型的中间表示是可以使用二维单元类型(例如,三角形和/或四边形)的组合来近似任何几何形状的非结构化三维模型。在一些实施方案中,使用三维单元类型(例如,四面体、六面体、棱锥和/或楔形件)。当拖动输入608进行时,擦除器605被滚动通过,显示更多的媒体缩略图项目602-1,并且显示更少的媒体缩略图项目602-4。
[0268]
图6j示出了拖动输入608继续到位置608-5。当位置改变时,不再显示物理环境的三维模型610的中间表示,并且显示另一个扩展媒体项目612的物理环境的三维模型的另一个表示。在该示例中,其他扩展媒体项目对应于媒体缩略图项目2 602-2。在一些实施方案中,另一个扩展媒体项目612的物理环境的三维模型的另一个表示是可以使用二维单元类型(例如,三角形和/或四边形)的组合来近似任何几何形状的非结构化三维模型。在一些实施方案中,使用三维单元类型(例如,四面体、六面体、棱锥和/或楔形件)。当拖动输入608进行时,擦除器605被滚动通过,显示更多的媒体缩略图项目602-1,并且显示更少的媒体缩略图项目602-4。
[0269]
图6k示出了拖动输入608继续到位置608-6。当位置改变时,另一个扩展媒体项目612的物理环境的三维模型的另一个表示开始淡出,并且对应于媒体缩略图项目2 602-2的另一个扩展媒体项目613开始淡入。当拖动输入608进行时,擦除器605被滚动通过,显示更多的媒体缩略图项目602-1,并且显示更少的媒体缩略图项目602-4。
[0270]
图6l示出了拖动输入608继续到位置608-7。当位置改变时,其他扩展媒体项目613完全淡入,并且扩展媒体项目612的物理环境的三维模型的表示完全淡出。图6m显示拖动输入608不再显示,并且其他扩展媒体项目613完全淡入。当拖动输入608结束时,擦除器605停止滚动,完全显示媒体缩略图项目602-1,并且媒体缩略图项目602-4在擦除器中根本不再
消失。
[0271]
图6n示出了位于另一个“媒体”用户界面601-2内的返回按钮615上的输入614。图6o示出,响应于通过返回按钮615接收输入614,显示“媒体”用户界面601-3。
[0272]
图6p至图6t示出了被添加到与媒体缩略图项目4 602-4相对应的扩展媒体项目616的另一个虚拟对象。这些图示出媒体项目中的任何一个媒体项目都可以添加注释,并且这些注释显示在其他相关联的媒体项目中。
[0273]
图6p示出了媒体缩略图项目4 602-4上方的输入617。图q示出,响应于在媒体缩略图项目4 602-4上方接收输入617,显示“媒体”用户界面601-4。图6q示出了对媒体缩略图项目4 602-4上方的输入617的响应。图6q示出了“媒体”用户界面601-4,其包括与“媒体”用户界面601-3(图6p)中描绘的媒体缩略图项目3 602-4相对应的扩展媒体项目618。此外,图6q还示出了包含媒体缩略图项目3 602-3和媒体缩略图项目4 602-4的媒体缩略图擦除器619。显示在媒体缩略图擦除器619中心的缩略图表明正在显示对应的扩展媒体项目。可以滚动通过和/或点击媒体缩略图擦除器619中所示的这些媒体缩略图项目,以在媒体项目之间变化。
[0274]
图6r示出了通过输入621添加到汽车624的机翼元件(例如,扰流板)注释620。在没有接收到输入621的抬离的情况下,更新媒体缩略图擦除器619中描绘的项目3 602-3和媒体缩略图项目4 602-4,以显示添加到扩展媒体项目618的机翼元件注释620。
[0275]
图6s示出了添加到汽车624的机翼元件(例如,扰流板)注释620,并且还示出了位于“媒体”用户界面601-3内的返回按钮623上的输入622。图6t示出响应于通过返回按钮623接收输入622,显示“媒体”用户界面601-5。在“媒体用户界面601-5”内,媒体缩略图项目1 602-1、媒体缩略图项目2 602-2、媒体缩略图项目3 602-3和媒体缩略图项目4 602-4都包含机翼元件(例如,扰流板)注释620。
[0276]
图7a至图7b是示出根据一些实施方案的提供物理环境的不同视图的方法700的流程图。方法700在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统带有显示生成部件(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))、(例如,一个或多个输入设备中的)输入设备(例如,触摸屏112(图1a)、触控板355(图3a)、输入设备302(图3b)或与显示器分开的物理按钮),以及在物理环境中的一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))(一个或多个相机任选地包括一个或多个深度传感器诸如飞行时间传感器220(图2b)或与其通信)(702)。方法700中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
[0277]
如下所述,方法700描述了用户界面和在经由一个或多个相机捕获物理环境的表示之后发生的交互。在捕获物理环境的表示之后显示的用户界面包括用于在正交视图中显示捕获的物理环境的可激活用户界面元素。可激活用户界面元素提供了用于操纵物理环境表示的视图的简单控件,并且不需要用户进行多次输入来实现正交视图。减少在正交视图中查看物理环境的表示所需的输入数量增强设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并且减少操作设备/与设备交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0278]
该方法包括经由一个或多个相机以及任选地经由一个或多个深度传感器捕获(704)物理环境的表示,包括更新表示以包括当一个或多个相机的视野移动时在(例如,进
入)一个或多个相机的视野中的物理环境的相应部分的表示;在一些实施方案中,表示包括对应于物理环境的模拟三维模型的深度数据。在一些实施方案中,响应于捕获的示能表示的激活而执行捕获。
[0279]
该方法还包括,在捕获物理环境的表示之后,显示(706)用户界面,该用户界面包括用于请求显示物理环境的第一正交视图(例如,前正交视图,也称为前正视图)的可激活用户界面元素;并且在一些实施方案中,物理环境的前正交视图为物理环境的二维表示,其中物理环境被投影到位于物理环境前面(例如,并且平行于其前平面)的平面(例如,站立并且直接观察物理环境的人的正面平面,如图5e、图5ee和图5ff所示)上。在一些实施方案中,前正交视图既不是等轴视图也不是物理环境的透视图。在一些实施方案中,物理环境的前正交视图不同于一个或多个相机中的任何一个相机在捕获期间具有的物理环境的一个或多个(例如,任何)视图。
[0280]
该方法还包括经由输入设备接收(708)与用于请求显示物理环境的第一正交视图的可激活用户界面元素(例如,图5c-1中的控制区域525)相对应的用户输入;以及响应于接收到用户输入,基于物理环境的一个或多个部分的捕获的表示来显示(710)物理环境的第一正交视图。
[0281]
在一些实施方案中,基于物理环境的一个或多个部分的捕获的表示的物理环境的第一正交视图为简化的正交视图,其中该简化的正交视图简化物理环境的一个或多个部分的表示的外观(712)。在一些实施方案中,当物理环境的一个或多个部分的捕获的表示内的物理项目低于某个大小阈值时,简化的正交视图将这些物理项目从物理环境的一个或多个部分的表示中移除(例如,在简化的正交视图中查看时,挂着图片的壁会消失)。在一些实施方案中,当物理项目被标识为项目(例如,器具和家具(例如,木桌511和落地灯508))时,计算机系统用物理项目的简化表示来替换物理环境中的物理项目(例如,用简化的冰箱来替换物理冰箱(例如,平滑化的冰箱,仅具有最少的特征,以便将其识别为冰箱)。例如,参见图5b中的木桌511和图5gg中的简化木桌511。自动显示简化物理环境的一个或多个部分的表示的外观的简化的正交视图,为用户提供了快速标识他们正在与之进行交互的物理项目的表示的能力。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0282]
在一些实施方案中,标识(714)物理环境中的一个或多个壁、一个或多个地板和/或一个或多个天花板(例如,结合捕获物理环境的表示,或在捕获物理环境的表示之后),以及物理环境的特征的边缘。物理环境的第一正交视图包括所标识的一个或多个壁、地板、天花板和特征的表示,由垂直于所识别的一个或多个壁、地板、天花板和特征显示的投影线表示(例如,图5ee至图5hh中所示的用户界面)。在一些实施方案中,至少部分地基于确定物理环境中的物理对象超过预定义的大小阈值来标识壁、地板或天花板(例如,以免将较小的平坦表面诸如桌子与壁、地板和天花板混淆)。自动标识物理环境中的一个或多个壁、一个或多个地板和/或一个或多个天花板,并且当选择第一正交视图时在物理环境中自动对准一个或多个壁、一个或多个地板和/或一个或多个天花板,为用户提供不必手动标识壁、地板
或天花板的能力。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0283]
在一些实施方案中,第一正交视图基于第一视角(716)。并且,在一些实施方案中,在基于物理环境的一个或多个部分的捕获的表示显示物理环境的第一正交视图之后,经由输入设备接收与用于请求显示物理环境的第二正交视图(例如,控件525-2上的输入553)相对应的第二可激活用户界面元素的第二用户输入。响应于接收到第二用户输入(例如,控件525-2上的输入553),基于物理环境的一个或多个部分的捕获的表示(例如,图5gg中的自顶向下视图)显示物理环境的第二正交视图,其中该第二正交视图基于不同于(物理环境的)第一视角的(物理环境的)第二视角。在一些实施方案中,其中第一正交视图为前正交视图(例如,图5hh),第二正交视图为顶部正交视图(例如,图5gg)、侧面正交视图(例如,图5hh)或等距正交视图(例如,图5h)。在捕获物理环境的表示之后显示的用户界面包括用于在另一个正交视图中显示捕获的物理环境的第二可激活用户界面元素。第二可激活用户界面元素提供了用于操纵物理环境表示的视图的简单控件,并且不需要用户进行多次输入来实现正交视图。减少在正交视图中查看物理环境的表示所需的输入数量增强设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并且减少操作设备/与设备交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0284]
在一些实施方案中,视野的捕获的表示包括一个或多个边缘(例如,物理对象的表示的边缘),每个边缘与视野的捕获的表示的边缘形成相应的(例如,非零并且在一些实施方案中为倾斜的)角度(例如,由于视角)(718)。例如,由于用户从一个角度观察物理环境,因此用户视野中的线不平行;然而,正交投影示出了物理环境的表示的投影,使得以一定角度呈现给用户的线在正交投影中是平行的。并且,各自形成与视野的捕获的表示的边缘的相应角度的一个或多个边缘对应于平行于第一正交视图的边缘显示的一个或多个边缘。显示与第一正交视图的边缘平行的视野的捕获的表示的边缘允许用户理解捕获的表示的几何特性(例如,通过显示表示,而没有视角),这为用户提供了期望的正交视图,而无需提供多个输入来改变捕获的表示的视图。减少在期望的正交视图中查看物理环境的表示所需的输入数量增强设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并且减少操作设备/与设备交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0285]
在一些实施方案中,视野的捕获的表示包括形成斜角(例如,非零角度,该非零角度不是直角或直角的倍数)的至少一组(例如,两个或更多个)边缘(例如,在用户从斜角观察物理环境之前,因此线条不是直角,但正交投影从平行于线条的角度显示物理环境的表示)。在一些实施方案中,在视野的捕获的表示中形成斜角的至少一组边缘对应于正交视图中的至少一组垂直边缘。将在视野的捕获的表示中形成斜角的一组边缘显示为正交视图中的垂直边缘,使用户能够查看期望的正交视图,而不必提供多个输入来改变捕获的表示的视图。减少在期望的正交视图中查看物理环境的表示所需的输入数量增强设备的可操作
性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并且减少操作设备/与设备交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0286]
应当理解,对图7a至图7b中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法800、900、1000、1500、1600、1700和1800)所描述的其他过程的细节同样以类似的方式适用于上文相对于图7a至图7b所描述的方法700。例如,上文参考方法700描述的物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图任选地具有参考本文所述的其他方法(例如,方法800、900、1000、1500、1600、1700和1800)描述的物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0287]
图8a至图8c是示出根据一些实施方案的以对物理环境的不同保真度水平提供物理环境的表示的方法800的流程图。方法800在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统带有显示生成部件(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))、输入设备(例如,触摸屏112(图1a)、触控板355(图3a)、输入设备302(图3b)或与显示器分开的物理按钮),以及在物理环境中的一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b)),任选地结合一个或多个深度传感器(例如,飞行时间传感器220(图2b))(802)。
[0288]
如下所述,方法800自动区分物理环境的主要特征和次级特征,其中经由相机提供的信息来标识主要特征和次级特征。在区分主要特征和次级特征之后,显示包括主要特征(例如,结构不可移动特征,诸如壁、地板、天花板等)和次级特征(例如,离散的固定装置和/或可移动特征,诸如家具、电器和其他物理对象)的用户界面。在物理环境的表示中,主要特征以第一保真度显示,并且次级特征以第二保真度显示。区分主要特征和次级特征为用户提供了不必标识(例如,分类)物理环境中的项目的能力(例如,设备将标识椅子,并且用户不需要指定该项目为椅子)。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0289]
该方法包括,经由一个或多个相机捕获(804)指示物理环境的信息,包括指示在一个或多个相机的视野移动时处于(例如,进入)一个或多个相机的视野中的物理环境的相应部分的信息,其中物理环境的相应部分包括物理环境的多个主要特征(例如,图5a中的围墙504-1、504-2、504-3和504-4)和物理环境的一个或多个次级特征(例如,图5a中的木桌544和落地灯508的表示)。在一些实施方案中,指示物理环境的信息包括关于使用一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))和一个或多个深度传感器(例如,飞行时间传感器220(图2b))捕获的物理环境的深度信息。在一些实施方案中,指示物理环境的信息用于生成物理环境的主要(例如,结构)特征的一个或多个表示和一个或多个次级(例如,非结构)特征(例如,离散的固定装置和/或可移动特征,诸如家具、电器和其他物理对
象)的表示。
[0290]
该方法包括在捕获(806)指示物理环境的信息之后(例如,响应于捕获指示物理环境的信息或响应于基于指示物理环境的信息显示物理环境的表示的请求),显示用户界面。该方法包括同时显示:以对物理环境的对应的多个主要特征的第一保真度水平生成的多个主要特征的图形表示(808);以及以与物理环境的对应的一个或多个次级特征的第二保真度水平生成的次级特征的一个或多个图形表示,其中第二保真度水平低于用户界面中的第一保真度水平(810)。
[0291]
在一些实施方案中,物理环境的多个主要特征包括一个或多个壁和/或一个或多个地板(例如,图5a中的围墙504-1、504-2、504-3和504-4)(812)。在一些实施方案中,当壁和/或地板被归类为主要特征并且以第一保真度水平表示时,装饰物品诸如挂在壁上的相框或放置在地板上的纺织品(例如,图5ii至图5kk中地毯558的表示)被归类为次级特征并且以第二保真度水平表示。在一些实施方案中,物理环境中的多个主要特征包括一个或多个天花板。将壁和地板标识为物理环境的主要特征为用户提供了环境,该环境可以快速指示哪些对象能够被操作,并且哪些项目不能被操作,这为用户提供了不必标识壁和地板的能力,因为这些由计算机系统自动完成。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0292]
在一些实施方案中,物理环境的主要特征包括一个或多个门和/或一个或多个窗口(例如,图5a中所示的窗口505)(814)。自动将门和窗标识为物理环境的主要特征为用户提供不必指定物理环境中的每个特征是什么以及它如何与物理环境中的其他特征进行交互。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0293]
在一些实施方案中,物理环境的一个或多个次级特征包括一件或多件家具(例如,图5ii至图5kk中的木桌544的表示)(816)。在一些实施方案中,根据确定对象在预定义的阈值大小(例如,体积)内,将物理对象(诸如一件家具)分类为次级特征。在一些实施方案中,满足或超过预定义阈值大小的物理对象被分类为主要特征。家具可包括桌子、台灯、书桌、沙发、椅子和灯具等任何物品。自动将多件家具标识为物理环境的主要特征为用户提供不必指定物理环境中的每个特征是什么以及它如何与物理环境中的其他特征进行交互。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0294]
在一些实施方案中,以对物理环境的对应的一个或多个次级特征的第二保真度水平生成的一个或多个次级特征的一个或多个图形表示包括表示一个或多个次级特征的一个或多个图标(818)(例如,表示物理环境中的椅子的椅子图标,任选地显示在用户界面中
相对于多个主要特征的图形表示的位置处,该位置对应于椅子相对于物理环境中的多个主要特征的位置)(例如,图5c-1和图5j至图5n中的落地灯508和智能灯图标526-2)。在一些实施方案中,表示次级特征的图标是可选择的,并且在一些实施方案中,响应于图标的选择,显示包括用于与次级特征进行交互的一个或多个用户界面元素的用户界面(例如,图5k至图5n中的光控制用户界面536)。相应的用户界面元素允许控制次级特征的一个方面(例如,智能灯的亮度或颜色)。在一些实施方案中,显示关于次级特征的信息(例如,次级特征的描述、跳转至所标识(已知)家具的网站的链接等)。自动显示用于表示一个或多个次级特征(例如,智能灯、智能扬声器等)的图标为用户提供在物理环境中已标识次级特征的指示。换句话讲,用户不必导航到不同的用户界面来控制每个次级特征(例如,智能的智能灯、智能扬声器等),而是可以用最少的输入来控制建筑物自动化设备。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0295]
在一些实施方案中,一个或多个次级特征的一个或多个图形表示包括在用户界面中勾勒出与物理环境的一个或多个次级特征所占据的物理环境相对应的相应区域的相应的三维几何形状(820)。相应的三维几何形状(例如,有时称为边界框,参见例如图5c-3中)包括多面体或任何其他三维形状。在一些实施方案中,相应的三维几何形状显示为线框,显示为部分透明,显示为虚线或虚线轮廓,以及/或者以适合指示相应的三维几何形状仅仅是物理环境的对应的次级特征的轮廓表示的任何其他方式显示。在一些实施方案中,相应的三维几何形状基于或对应于物理环境的三维模型(例如,基于包括在指示物理环境的信息中的深度数据生成)。显示用于表示一个或多个次级特征(例如,台灯、椅子和其他具有预先确定的大小的家具)的边界框使用户能够快速了解物理环境中次级特征的大小,这允许用户以最少的输入操纵物理环境。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0296]
在一些实施方案中,其中一个或多个次级特征的一个或多个图形表示包括预定义的占位符家具(例如,图5c-4中的cad椅子529)(822)。在一些实施方案中,根据确定房间不包含家具,房间自动填充有家具。在此类实施方案中,确定正在捕获什么类型的房间(例如,厨房、卧室、客厅、办公室、驾驶室或商业空间),并且将对应的占位符家具定位/放置在该确定类型的房间中。
[0297]
在一些实施方案中,一个或多个次级特征的一个或多个图形表示包括一个或多个次级特征的计算机辅助设计(cad)表示(例如,图5c-4中的木桌528-1的cad表示和落地灯528-2的cad表示)(824)。在一些实施方案中,一个或多个次级特征的一个或多个cad表示为一个或多个次级特征提供预定义模型,该预定义模型包括超出在指示物理环境的信息中捕获的附加的形状和/或结构信息。在物理环境的表示中显示预定义的占位符家具为用户提供有效的方式来查看可以如何利用物理空间。用户不再需要导航菜单来添加家具(例如,次级非结构特征),而是可以用占位符家具自动填充物理环境。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入
并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0298]
在一些实施方案中,一个或多个次级特征的一个或多个图形表示部分透明(826)。在一些实施方案中,次级特征的图形表示显示为部分透明,而主要特征的图形表示不显示为部分透明。在一些实施方案中,次级特征在某些视图(例如,简化视图)中是部分透明的,但在完全纹理化的视图中是不透明的。有时可能难以理解物理环境的大小,并且为用户提供部分透明的次级特征允许用户查看物理环境的表示的约束。这减少了用户到处移动次级特征来了解物理环境的需要。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0299]
在一些实施方案中,一个或多个次级特征包括一个或多个建筑物自动化设备(例如,也称为家庭自动化设备或智能家居设备,特别是当安装在用户家中时,诸如智能灯(例如,图5c-1中的智能灯图标526-2)、智能电视、智能冰箱、智能恒温器、智能扬声器(例如,图5c-1中的“家庭控件”图标526-1)等或其他无线控制的电子设备),并且一个或多个次级特征的一个或多个图形表示包括对应于一个或多个建筑物自动化设备(828)的图形指示。在一些实施方案中,表示相应的建筑物自动化设备的相应图标显示在用户界面中相对于多个主要特征的图形表示的位置处,该位置对应于相应的建筑物自动化设备相对于物理环境中的多个主要特征的位置。(例如,灯泡图标显示在用户界面中与对应的智能灯的物理位置相对应的位置)。在一些实施方案中,计算机系统确定次级特征为建筑物自动化设备,并且根据该确定显示该次级特征的图标(例如,并且在一些实施方案中,根据确定次级特征不是建筑物自动化设备,不显示该次级特征的图标)。在一些实施方案中,响应于对应于图标的选择的输入,计算机系统显示用于控制建筑物自动化设备的一个或多个方面的控制用户界面。在检测到多个建筑物自动化设备的一些实施方案中,显示多个相应的图标,任选地指示可以通过选择相应的对应的图标来控制每个相应的建筑物自动化设备。在一些实施方案中,当相应的建筑物自动化设备的状态改变时(例如,智能灯打开),更新表示相应的建筑物自动化设备的图标以反映状态的变化(例如,智能灯的图标从关闭的灯泡图形变为打开的灯泡图形)。显示用于表示一个或多个建筑物自动化设备(例如,智能灯、智能扬声器等)的图标为用户提供了用于与物理环境中的所有建筑物自动化设备进行交互的单个用户界面。换句话讲,用户不必导航到不同的用户界面来控制每个建筑物自动化设备(例如,智能的智能灯、智能扬声器等),而是可以用最少的输入来控制建筑物自动化设备。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0300]
在一些实施方案中,响应于在对应于相应的建筑物自动化设备的相应的图形指示处接收输入,显示(830)用于控制相应的建筑物自动化设备的至少一个方面的至少一个控件(例如,改变智能恒温器上的温度,或改变智能灯的亮度和/或颜色(例如,图5j至图5n中的光控制用户界面536)等)。在一些实施方案中,响应于检测到的对应于表示相应的建筑物自动化设备的相应的图标的输入,显示用于控制相应的建筑物自动化设备的至少一个方面
的至少一个控件。图标响应于被选择而改变外观(例如,与选择指示一起显示)。显示用于表示一个或多个建筑物自动化设备(例如,智能灯、智能扬声器等)的控件使用户能够快速更改建筑物自动化设备的多个方面,而无需在设置菜单中打开多个用户界面。换句话讲,用户不必导航到不同的用户界面来控制每个建筑物自动化对象(例如,智能的智能灯、智能扬声器等),而是可以用最少的输入来控制建筑物自动化设备。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0301]
在一些实施方案中,用户界面为第一用户界面,该第一用户界面包括物理环境的第一视图(例如,等轴视图)和第一用户界面元素(例如,图5dd中的“第一人称视图”控件525-1),其中响应于第一用户界面元素的激活而显示物理环境的第一视图;(在一些实施方案中,响应于检测到第一用户界面元素的激活,显示作为包括物理环境的第一视图(例如,等轴视图)的第一用户界面的用户界面)(832)。用户界面包括第二用户界面元素(例如,图5dd中的“自顶向下视图”控件525-2),其中响应于第二用户界面元素的激活,显示物理环境的不同于第一视图的第二视图(例如,鸟瞰图、三维俯视图或二维(正交)蓝图或楼层平面视图);(在一些实施方案中,响应于检测到第二用户界面元素(例如,图5dd中的“侧视图”控件525-4)的激活,显示作为第二用户界面的用户界面,该用户界面包括物理环境的不同于第一视图的第二视图(例如,鸟瞰图、三维俯视图或二维(正交)蓝图或楼层平面视图))并且该用户界面包括第三用户界面元素,其中响应于第三用户界面元素的激活,显示物理环境的不同于第一视图和第二视图的第三视图(例如,从物理环境中移除至少一些纹理和细节的简化线框视图)。在一些实施方案中,响应于检测到第三用户界面元素的激活,显示作为物理环境的不同于第一视图和第二视图的第三视图(例如,从物理环境中移除至少一些纹理和细节的简化线框视图)的用户界面)。在一些实施方案中,用户界面包括第四用户界面元素,其中响应于第四用户界面元素的激活而显示物理环境的不同于第一视图、第二视图和第三视图的第四视图(例如,侧视图、三维侧视图或二维(正交)侧视图)和第四用户界面元素。具有多个用户界面元素的用户界面,其中每个用户界面元素对应于改变物理环境的视图,为用户提供了用于操纵物理环境的视图的简单控件。通过此类控件,用户不需要手动进行多个输入来改变物理环境的视图。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0302]
应当理解,对图8a至图8c中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、900、1000、1500、1600、1700和1800)所描述的其他过程的细节同样以类似的方式适用于上文相对于图8a至图8c所描述的方法800。例如,上文参考方法800描述的物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图任选地具有参考本文所述的其他方法(例如,方法700、900、1000、1500、1600、1700和1800)描述的物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图的特性中的一个或多个特性。为了简明起
见,此处不再重复这些细节。
[0303]
图9a至图9g是示出根据一些实施方案的显示虚拟对象/注释与物理环境之间的建模空间交互的方法900的流程图。方法900在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统带有显示生成部件(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))和一个或多个输入设备(例如,触摸屏112(图1a)、触控板355(图3a)、输入设备302(图3b)或与显示器分开的物理按钮)(902)。方法900中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
[0304]
如下所述,方法900描述了将虚拟对象添加到物理环境的表示,并且向用户指示虚拟对象正在物理环境中与物理对象进行交互(例如,部分地重叠)。显示此类交互的一个指示是当虚拟对象与物理环境中的物理对象(例如,现实世界对象)部分重叠时,显示该虚拟对象正在以较慢的速率移动(例如,被用户拖动)。此类交互向用户表明虚拟对象正在与占据物理环境中的物理空间的物理对象进行交互。向用户提供此类反馈有助于用户对虚拟对象进行定向,因此它们不会与现实世界对象重叠,因为虚拟对象与现实世界对象的重叠在物理环境中不可能发生。在没有此类特征的情况下,用户将不得不进行多次输入以避免虚拟对象与物理对象重叠。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0305]
该方法包括经由显示生成部件显示(904)物理环境的表示(例如,二维表示,诸如一个或多个相机的实时视图,或先前捕获的静止图像或先前捕获的视频的帧)。物理环境的表示包括在物理环境中占据第一物理空间的第一物理对象的表示(例如,图5o中的木桌511)并且具有第一相应的对象属性(例如,是“实心的”(例如,刚性和/或硬的)对象)。在一些实施方案中,物理环境的表示是计算机系统的一个或多个相机的视野的实时视图(例如,图5o中的第一人称视图)。在一些实施方案中,物理环境的表示是先前捕获的静止图像(例如,先前捕获的照片或先前捕获的视频的帧)(906)。该方法还包括虚拟对象(例如,虚拟凳子542),该虚拟对象在物理环境的表示中的对应于物理环境中与第一物理空间不同的第二物理空间的位置处(908)。在一些实施方案中,物理环境的表示包括或与使用一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))和一个或多个深度传感器(例如,飞行时间传感器220(图2b))捕获的物理环境的深度信息相关联。
[0306]
该方法包括检测(910)对应于虚拟对象的第一输入,其中该第一输入的移动对应于相对于第一物理对象的表示在物理环境的表示中移动虚拟对象的请求。该方法包括在检测(912)第一输入时,基于第一输入的移动在物理环境的表示中至少部分地移动虚拟对象。根据确定第一输入的移动对应于将虚拟对象移动通过物理环境的表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中未被具有第一相应对象属性的物理对象占据的物理空间,在物理环境的表示中至少部分地移动虚拟对象包括将虚拟对象移动第一量(例如,图5o中的拖动手势543-1)(916)。根据确定第一输入的移动对应于将虚拟对象移动通过物理环境的表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间,在物理环境的表示中至少部分
地移动虚拟对象包括将虚拟对象移动小于第一量的第二量,通过对应于物理环境中的与第一物理对象的第一物理空间至少部分地重叠的物理空间的一个或多个位置的至少一个子集(例如,在不再与图5p至图5q中的虚拟凳子542重叠的位置处的拖动手势543-1)。在一些实施方案中,虚拟对象与物理环境的表示中的物理对象的一个或多个表示之间的重叠(例如,二维表示中的视觉重叠)不一定意味着虚拟对象移动通过对应于重叠的物理空间(例如,三维空间中的空间重叠)的位置。例如,虚拟对象移动穿过物理对象后方或下方(例如,与物理对象的部分相比处于不同的深度)的对应的空间,在物理环境和虚拟对象的(例如,二维)表示中,在虚拟对象和物理对象的表示之间(例如,由于虚拟对象被物理对象表示的至少一部分明显遮挡)产生(例如,视觉上的)重叠,即使虚拟对象(例如,在虚拟意义上)不占据由任何物理对象占据的任何相同的物理空间也是如此。在一些实施方案中,虚拟对象的移动(通过物理环境的表示中对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间的位置)量值随着对应的物理空间和第一物理空间之间的重叠程度增加而减小。
[0307]
在一些实施方案中,物理环境的表示对应于物理环境的第一(例如,视角)视图,并且该方法包括:根据确定虚拟对象位于物理环境的表示中的相应位置,使得虚拟对象的一个或多个部分与物理环境中相应的物理对象的一个或多个表示重叠,并且对应于物理环境中的物理空间,从物理环境的第一视角来看,该物理空间被一个或多个相应的物理对象遮挡,从而改变(918)外观(例如,虚拟凳子542在图5p至图5q中以不强调状态显示),以便不强调(例如,例如通过显示为至少部分透明、放弃显示以及/或者显示(例如,仅)轮廓)与相应的物理对象的一个或多个表示重叠的虚拟对象的一个或多个部分(例如,以表示虚拟对象的一部分被第一物理对象的表示部分遮蔽(例如,遮挡)而无法看到)。在一些实施方案中,被遮挡的虚拟对象的一部分不被强调,而虚拟对象的另一部分未被遮挡并且因此不被取消强调(例如,显示纹理)。虚拟对象的视觉变化(例如,不强调)向用户示出了虚拟对象被物理对象遮挡,这为用户提供了物理环境中虚拟对象的深度信息。通过向用户提供关于虚拟对象的增强的深度信息,用户可以轻松地以最少的输入将虚拟对象放置在物理环境中。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0308]
在一些实施方案中,物理环境的表示对应于物理环境的第一(例如,视角)视图。该实施方案包括,响应于检测到对应于虚拟对象的第一输入,(920)显示虚拟对象周围的轮廓。在继续显示虚拟对象周围的轮廓时,根据确定虚拟对象在物理环境的表示中的相应位置,使得虚拟对象的一个或多个部分与物理环境中的相应的物理对象的一个或多个表示重叠,并且对应于物理环境中的物理空间,从物理环境的第一视角来看,该物理空间被一个或多个相应的物理对象遮挡,放弃显示与相应的物理对象的一个或多个表示重叠的虚拟对象的一个或多个部分(例如,在保持显示虚拟对象周围的轮廓的同时,例如不考虑是否显示虚拟对象的轮廓部分)。在一些实施方案中,放弃显示与相应的物理对象的一个或多个表示重叠的虚拟对象的一个或多个部分包括显示没有纹理的虚拟对象的一个或多个重叠部分(例如,包括虚拟对象的形状以外的视觉特性,诸如材料属性、图案、设计、饰面)。在一些实施方案中,光和/或阴影不被认为是纹理并且保持显示)。在一些实施方案中,用纹理和轮廓来显
示虚拟对象的非重叠部分(例如,根据确定虚拟对象的那些部分未被遮挡)。放弃显示虚拟对象的一部分,但仍保持显示虚拟对象周围的轮廓,向用户示出了虚拟对象被物理对象部分遮挡,从而为用户提供了物理环境中的虚拟对象的深度信息。通过向用户提供关于虚拟对象的增强的深度信息,用户可以轻松地以最少的输入将虚拟对象放置在物理环境中。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0309]
在一些实施方案中,停止(922)检测第一输入;响应于停止检测第一输入,根据确定当虚拟对象在物理环境的表示中对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间的相应位置时,停止检测第一输入,将虚拟对象移动(例如,如图5r中的虚拟凳子542所示的相关互动式移动)至物理环境的表示中对应于物理环境中的第一物理对象附近的物理空间的位置,该物理空间不与第一物理对象的第一物理空间(例如,或与物理环境中任何相应的物理对象的物理空间)重叠。(在一些实施方案中,靠近第一物理对象的物理空间是不与第一物理对象(或任何物理对象)的物理空间重叠并且受到各种约束诸如第一输入的路径和/或第一物理对象和虚拟对象的形状的物理空间。在一些实施方案中,第一物理对象附近的物理空间是距与虚拟对象的相应位置对应的物理空间具有最小距离(例如,在物理环境中)的非重叠物理空间(例如,使得将需要最少量的移动以将对象直接(例如,沿最短路径)从对应于虚拟对象的物理空间移动到最近的物理空间)。在一些实施方案中,基于输入的初始位置与输入的结束位置之间的向量来确定在第一物理对象附近的物理空间,并且对应于沿向量的一个点,该点尽可能靠近输入的结束位置,但不会导致虚拟对象占据与一个或多个(例如,任何)物理对象重叠的空间。在一些实施方案中,虚拟对象快速移动(例如,返回)到与靠近第一物理对象的未占据物理空间对应的位置的速度和/或加速度取决于对应于虚拟对象的物理空间与物理对象占据的物理空间的重叠程度(例如,一个或多个位置中有多少个位置对应于虚拟对象移动通过的重叠的物理空间)。例如,虚拟对象从与物理对象所占据的物理空间和对应于虚拟对象(例如,在虚拟意义上被其“占据”)的物理空间之间的较大重叠相对应的位置开始,以较高的速度和/或加速度快速移动到对应于靠近第一物理对象的未占据虚拟空间的位置;在另一个示例中,虚拟对象从与物理对象所占据的物理空间和对应于虚拟对象的物理空间之间的较小重叠相对应的位置开始,以较低的速度和/或加速度快速穿过至对应于靠近第一物理对象的未占据虚拟空间的位置。在检测到导致虚拟对象与物理对象部分重叠的手势之后,计算机设备自动将虚拟对象移动到物理环境中不会导致重叠的最近的物理空间,这为用户提供了有关如何将虚拟物品放置在物理环境中并且与物理环境的物理方面(例如,物理对象彼此不能重叠)保持一致的上下文。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0310]
在一些实施方案中,在虚拟对象移动小于第一量的第二量,通过对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间的一个或多个位置的至少一个子集之后,根据确定第一输入的移动满足距离阈值,将虚拟对象移动(924)通过第一物
理对象的第一物理空间(例如,移动至物理环境的表示中对应于物理环境中未被物理对象占据的物理空间的位置,如图5s至图5v所示)。在一些实施方案中,当第一输入的移动对应于将虚拟对象移动通过对应于与第一物理对象的第一物理空间至少部分地重叠的物理空间的一个或多个位置到对应于不与任何物理对象的物理空间重叠(例如,并且任选地相距至少阈值距离)的物理空间的位置的请求时满足距离阈值。例如,如果用户试图将虚拟椅子拖动穿过与物理桌子占据的空间相对应的空间,则根据确定用户正在试图将椅子移动通过桌子以将椅子放置在桌子的另一侧,椅子在先前被显示为抵抗移动“进入”桌子之后,被显示为快速移动(例如,移动)“穿过”桌子。在检测到使虚拟对象与物理对象部分重叠的手势满足距离阈值之后,将虚拟对象移动通过第一物理对象的第一物理空间,这在设备确定这实际上是用户的意图时,为用户提供通过一个输入来将对象移动通过物理对象的能力。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0311]
在一些实施方案中,根据确定第一输入的移动对应于将虚拟对象移动通过物理环境的表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间。根据确定第一输入满足速度阈值(例如,以及/或者在一些实施方案中,如图5x至图5z所示的加速度阈值和/或距离阈值),以及确定第一输入对应于将虚拟对象移动到对应于物理环境中的不与第一物理对象的第一物理空间重叠的物理空间的相应位置的请求,将虚拟对象移动(926)通过对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间的一个或多个位置到相应位置。在一些实施方案中,根据确定输入不满足速度阈值(例如,以及/或者加速度阈值和/或距离阈值)来将虚拟对象移动小于第一量的第二量。在检测到输入使虚拟对象与物理对象部分重叠之后,确定输入是否满足速度阈值,并且如果输入满足速度阈值,将虚拟对象移动通过第一物理对象的第一物理空间。该交互为用户提供了在设备确定这是用户意图时进行一次输入以将对象移动通过物理对象的能力。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0312]
在一些实施方案中,根据确定第一输入的移动对应于将虚拟对象移动通过物理环境的表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间。根据确定第一输入不满足速度阈值(例如,以及/或者在一些实施方案中,加速度阈值和/或距离阈值),以及/或者确定第一输入对应于将虚拟对象移动到对应于物理环境中的不与第一物理对象的第一物理空间重叠的物理空间的相应位置的请求,放弃将虚拟对象移动(928)通过对应于物理环境中与第一物理对象的第一物理空间至少部分地重叠的物理空间的一个或多个位置到相应位置。在检测到输入使虚拟对象与物理对象部分重叠之后,确定输入是否满足速度阈值,并且如果输入不满足速度阈值,不将虚拟对象移动通过第一物理对象的第一物理空间。该交互为用户提供了在用户不希望这样做时不会意外地将对象移动通过物理对象的能力。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适
当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0313]
在一些实施方案中,第一输入的初始位置在虚拟对象的显示区域内(例如,并且与虚拟对象的边缘相距至少预定义的阈值距离)(930)。在一些实施方案中,第一输入的移动对应于在物理环境的表示中移动虚拟对象的情况至少部分地基于确定第一输入的初始位置在虚拟对象的显示区域内(例如,而不是在虚拟对象的边缘处或附近,如图5o和图5x的输入所示)。响应于虚拟对象的显示区域内的输入而改变虚拟对象的位置,向用户提供直观的独特区域以提供输入,该输入引起对象的位置的变化。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0314]
在一些实施方案中,检测对应于虚拟对象的第二输入。响应于检测到第二输入,根据确定第二输入对应于在物理环境的表示中调整虚拟对象(例如图5aa中的虚拟桌子547)大小的请求(例如,图5aa中的输入549)(例如,相对于第一物理对象的表示(例如,图5aa中的木桌544的表示),基于第二输入的移动在物理环境的表示中调整虚拟对象的大小(932),其中根据确定第二输入的移动对应于调整虚拟对象的大小使得虚拟对象的至少一部分(例如,边缘)在第一物理对象的边缘(例如,或多个边缘)的预定义距离阈值内的请求,(例如,自动地)基于第二输入的移动在物理环境的表示中调整虚拟对象的大小(932)包括调整虚拟对象的大小以快速移动到第一物理对象的边缘(例如,或多个边缘)(例如,如图5aa至图5cc中的虚拟桌子所示,响应于拖动输入而调整大小,并且快速移动到木桌544的表示)。在一些实施方案中,如果在多个方向(例如,长度和宽度)上请求调整大小,则在每个请求的方向上调整虚拟对象的大小,并且可以任选地“快速移动”以在每个方向上邻接一个或多个虚拟对象。在一些实施方案中,只要对象在对象快速移动到的阈值距离内,就移动到相对于该对象的预定义位置。当输入对应于调整虚拟对象大小的请求,并且调整虚拟对象大小的请求在物理对象的边缘的预定义距离阈值内结束时,设备将自动调整虚拟对象的大小以使其邻接物理对象。这为用户提供了调整对象大小以使边缘对准的能力,并且不需要用户进行精细调整以达到所需的虚拟对象大小。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0315]
在一些实施方案中,确定(934)第二输入对应于调整虚拟对象大小的请求包括确定第二输入的初始位置对应于虚拟对象的边缘(例如,输入548-1在图5aa中的虚拟桌子547的边缘549处发生)。在一些实施方案中,从虚拟对象的拐角发起的输入(例如,拖动)的移动在多个方向(例如,长度、宽度和/或高度的任何组合)上调整虚拟对象的大小。在虚拟对象的边缘处发生的导致调整虚拟对象的大小的输入为用户提供调整大小的直观控制,并且减少调整虚拟对象大小所需的输入量。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0316]
在一些实施方案中,根据确定第二输入包括沿第一方向的移动,调整虚拟对象的大小包括沿第一方向调整(936)虚拟对象的大小(例如,而不沿一个或多个其他方向调整虚拟对象的大小,或者换句话讲,不保持沿第一方向(例如,第一维度,诸如长度)的虚拟对象的大小和沿其他方向(例如,沿其他维度,诸如宽度或高度)的虚拟对象的大小之间的纵横比)。根据确定拖动手势包括沿第二方向的移动,调整虚拟对象的大小包括沿第二方向调整虚拟对象的大小(例如,而不沿一个或多个其他方向调整虚拟对象的大小,或者换句话讲,不保持沿第二方向(例如,第二维度,诸如宽度)的虚拟对象的大小和沿其他方向(例如,沿其他维度,诸如长度或高度)的虚拟对象的大小之间的纵横比)。沿输入正在移动的方向调整虚拟对象的大小为用户提供了用于调整虚拟对象不同部分的大小的直观控件(例如,维度诸如宽度或高度)。直观控件导致更少的错误输入。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0317]
在一些实施方案中,在物理环境的表示中显示(938)来自改变第一物理对象和虚拟对象的表示(例如,图5ii至图5kk中的虚拟对象(例如,虚拟桌子547和虚拟凳子542)在物理对象(例如,地毯558的表示)上投射阴影)的视觉外观的光源(例如,来自物理环境或虚拟光的光)的光。根据确定虚拟对象在物理环境的表示中对应于物理环境中的光源和第一物理对象(例如,由其占据的第一物理空间)之间的物理空间的位置(例如,虚拟对象至少部分地“阻挡”否则光源在物理对象上投射的光的路径),在第一物理对象的表示的至少一部分上方显示阴影区域(例如,模拟阴影)(例如,在第一物理对象的表示的一部分上方,该部分被虚拟对象“遮蔽”光,如同虚拟对象在第一物理对象上方投射阴影)。
[0318]
根据确定(例如,第一物理对象所占据的第一物理空间)在光源和对应于虚拟对象在物理环境表示中的位置的物理空间之间(例如,物理对象至少部分地阻挡否则被光源“投射”到虚拟对象上的光的路径),在虚拟对象的至少一部分上显示阴影区域(例如,模拟阴影)(例如,在虚拟对象的被第一物理对象“遮蔽”光的部分上方,如同第一物理对象在虚拟对象上方投射阴影)。在一些实施方案中,光源可以为虚拟光源(例如,模拟光,包括例如响应于智能灯的颜色改变而显示的模拟彩色光)。在一些实施方案中,光源在物理环境中(例如,阳光、来自物理灯泡的照明)。在一些实施方案中,在光源处于物理环境中的情况下,计算机系统确定光源的位置并且根据所确定的光源的位置来显示阴影。在物理对象和虚拟对象两者上自动显示阴影区域为用户提供真实的物理环境的表示。当虚拟对象看起来很真实时,用户无需进入单独的应用程序并且编辑物理环境的表示来增强虚拟对象的“真实性”。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0319]
在一些实施方案中,在物理环境的表示中显示(940)来自光源的改变第一物理对象和虚拟对象的表示的视觉外观的光(例如,来自物理环境的光或来自虚拟光)(例如,如图5l;图5ii至图5kk所示)。根据确定虚拟对象在物理环境的表示中与物理环境中的物理空间相对应的位置,该物理空间在来自光源的光路中,从而增加虚拟对象的区域的亮度(例如,
显示从光源投射到虚拟对象上的至少一些光)。响应于来自光源的光而自动增加虚拟对象的区域的亮度,为用户提供不必进入单独的媒体编辑应用程序来使虚拟对象看起来真实的能力。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0320]
在一些实施方案中,物理环境的表示包括在物理环境中占据第三物理空间并且具有第二相应的对象属性(例如,是“软的”或弹性对象,由虚拟桌子547和虚拟凳子542显示,使对象变形)的第二物理对象的表示。在检测到(942)对应于相对于第二物理对象的表示移动物理环境表示中的虚拟对象的请求的相应输入(例如,相应输入为第一输入的一部分,或与第一输入不同的输入)时,基于相应输入的移动,至少部分地移动物理环境表示中的虚拟对象。根据确定相应输入的移动对应于将虚拟对象移动通过物理环境的表示中的一个或多个位置的请求,该一个或多个位置对应于物理环境中与第二物理对象的第三物理空间至少部分地重叠的物理空间(例如,并且任选地根据确定虚拟对象具有第一相应的对象属性)。将虚拟对象至少部分地移动通过对应于物理环境中与第二物理对象的第三物理空间至少部分地重叠的物理空间的一个或多个位置的至少一个子集;并且在一些实施方案中,对于相应输入的给定移动量,虚拟对象移动通过与具有第二相应对象属性的物理对象重叠的物理空间的量大于虚拟对象将被移动通过与具有第一相应对象属性的物理对象重叠的物理空间的对应量。例如,响应于输入的移动所请求的相同程度的重叠,可以移动虚拟对象以使其看起来比刚性物理对象更多地“嵌入”到软物理对象中。
[0321]
在一些实施方案中,显示对应于与虚拟对象的至少部分重叠的第二物理对象的表示的至少一部分的视觉外观(例如,模拟变形)的一个或多个变化。在一些实施方案中,视觉外观的变化(例如,模拟变形的程度)至少部分地基于第二虚拟对象的第二相应的对象属性,并且任选地还基于虚拟对象的模拟物理特性,诸如刚度、重量、形状和速度和/或运动加速度)。在一些实施方案中,当虚拟对象保持在对应于与第二物理对象的物理空间至少部分重叠的物理空间的位置时,保持变形。在一些实施方案中,在虚拟对象被移动使得该虚拟对象不再“占据”与第二物理对象所占据的物理空间重叠的一个或多个物理空间之后,停止显示第二物理对象的至少一部分表示的视觉外观的一个或多个变化(例如,并且任选地,显示一组不同的更改(例如,一个或多个更改被反转),使得第二物理对象看起来恢复到由虚拟对象模拟变形之前的原始外观)。例如,当(例如,刚性、重的)虚拟对象放置在沙发垫上时显示物理沙发垫的模拟变形,并且在虚拟对象被移除后沙发垫恢复其形状时变形逐渐减少(例如,反转)。在一些实施方案中,物理对象的对象属性(例如,物理特性,诸如材料硬度、刚度、弹性等)由计算机系统确定,并且基于物理对象的所确定的对象属性,将显示物理对象和虚拟对象之间的不同的模拟交互。响应于虚拟对象而使物理对象自动变形为用户提供更真实的物理环境的表示。当虚拟对象看起来很真实时,用户无需进入单独的应用程序并且编辑物理环境的表示来增强虚拟对象的“真实”。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了
电力使用并且延长了设备的电池寿命。
[0322]
在一些实施方案中,显示(944)对应于与虚拟对象的至少部分重叠的第二物理对象的表示的至少一部分的视觉外观的一个或多个变化基于物理环境中第二物理对象的一个或多个对象属性(例如,物理特性)(例如,基于与第二物理对象相关联的深度数据)。自动检测物理对象的对象属性为用户提供真实的物理环境的表示。当虚拟对象看起来很真实时,用户无需进入单独的应用程序并且编辑物理环境的表示来增强虚拟对象的“真实性”。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入减少了执行操作所需的输入的数量,这增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0323]
应当理解,对图9a至图9g中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、800、1000、1500、1600、1700和1800)所描述的其他过程的细节同样以类似的方式适用于上文相对于图9a至图9g所描述的方法900。例如,上文参考方法900描述的物理环境、特征和对象、虚拟对象、对象属性、输入、用户界面和物理环境的视图任选地具有参考本文所述的其他方法(例如,方法700、800、1000、1500、1600、1700和1800)描述的物理环境、特征和对象、虚拟对象、对象属性、输入、用户界面和物理环境的视图的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0324]
图10a至图10e是示出根据一些实施方案的将与虚拟对象/注释的建模空间交互应用于多个媒体项目的方法1000的流程图。方法1000在具有显示生成部件和一个或多个输入设备(以及可选地,一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))以及一个或多个深度感测设备(例如,飞行时间传感器220(图2b)))的计算机系统处执行(1002)。
[0325]
如下所述,方法1000描述了在物理环境的表示中进行注释(例如,标记照片或视频),其中在物理环境内确定注释位置、取向或比例。使用表示中的注释位置、取向或比例,可以更新包括相同物理环境的后续表示以包括相同的注释。该注释将放置在相对于物理环境的相同位置。具有此类特征避免了需要用户重复注释相同环境的多个表示。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0326]
该方法包括经由显示生成部件显示(1004)第一先前捕获的媒体的第一表示(例如,包括一个或多个图像(例如,图6c中的扩展媒体项目604),并且在一些实施方案中,与深度数据一起存储),其中第一媒体的第一表示包括物理环境的表示。在显示第一媒体的第一表示时,接收(1006)对应于对对应于物理环境的第一部分的第一表示的一部分进行注释(例如,通过添加虚拟对象或修改现有显示的虚拟对象,如图6d至图6e所示,其中注释606被添加到扩展媒体项目604)的请求的输入。
[0327]
响应于接收到输入,在第一表示的对应于物理环境的第一部分的部分上显示注释,该注释具有基于物理环境(例如,其物理特性和/或物理对象)(例如,使用对应于第一媒体的深度数据)确定的位置、取向或比例中的一者或多者(1008)。
[0328]
在(例如,响应于)接收输入之后,在第二先前捕获的媒体的显示的第二表示的部分上显示注释,其中第二先前捕获的媒体不同于第一先前捕获的媒体,并且第二表示的部分对应于物理环境的第一部分(例如,注释显示在具有基于物理环境确定的位置、取向或比例中的一者或多者的第二先前捕获的媒体的第二表示的部分上,如第二先前捕获的媒体的第二表示中所示)(1010)(参见例如图5o,该图示出了媒体缩略图项目1 602-1、媒体缩略图项目2 602-2、媒体缩略图项目3 602-3和媒体缩略图项目4 602-4,每一者均包含注释606)。在一些实施方案中,使用对应于第二媒体的深度数据将注释显示在第二先前捕获的媒体的第二表示的部分上。在一些实施方案中,其中在第二先前捕获的媒体的第二表示中表示的物理环境的第一部分的视图的视点与第一媒体的第一表示相对于物理环境的第一部分的视点不同,注释(例如,虚拟对象)的位置、取向和/或比例根据第一表示和第二表示的相应视点在第一表示和第二表示之间不同。
[0329]
在一些实施方案中,在(例如,响应于)接收(1012)对应于对第一表示的该部分进行注释的请求的输入之后,并且在第二媒体的所显示的第二表示的该部分上显示该注释之前,该方法包括显示第一动画过渡,从第一媒体的第一表示的显示(例如,响应于对应于第二媒体的选择的输入)到显示在第一媒体的第一表示中表示的物理环境的三维模型的第一表示(例如,图6f至图6h示出此类动画过渡)(例如,由计算机系统从指示与第一媒体相关联(例如一起存储)的物理环境的深度信息生成),并且表示至少部分地显示在第一媒体的第一表示中的一个或多个(例如,任何)注释(例如,包括停止显示,例如通过淡出第一媒体的第一表示,并且任选地通过(例如,同时)淡入物理环境的三维模型的第一表示)。在一些实施方案中,响应于对应于第二媒体的选择的输入来显示第一动画过渡。在一些实施方案中,物理环境的三维模型的过渡表示相对于媒体的第一表示和第二表示进行了简化。在一些实施方案中,物理环境的三维模型的过渡表示是基于检测到的物理特征诸如边缘和表面生成的物理环境的三维模型的线框表示。
[0330]
在一些实施方案中,该方法还包括显示第二动画过渡,从显示三维模型的第一表示到显示在第二媒体的第二表示中表示的物理环境的三维模型的第二表示(例如,图6i至图6j示出此类动画过渡)(例如,由计算机系统从指示与第二媒体相关联(例如一起存储)的物理环境的深度信息生成),并且表示至少部分地显示在第二媒体的第二表示中的一个或多个(例如,任何)注释。在一些实施方案中,从3d模型的第一表示到3d模型的第二表示的动画过渡包括执行3d模型的一个或多个变换,包括例如3d模型的旋转、平移和/或重新缩放。
[0331]
在一些实施方案中,该方法还包括显示从三维模型的第二表示的显示到第二媒体的第二表示的显示的第三动画过渡(例如,6k至6l示出了此类动画过渡)(例如,包括停止显示,例如通过淡出三维模型的第二表示,并且任选地通过(例如,同时)淡入第二媒体的第二表示)。当在物理环境的不同表示之间切换时显示动画过渡(例如,物理环境的三维模型的表示)为用户提供了关于捕获表示的不同位置、取向和/或放大率的上下文信息。提供改进的反馈增强了设备的可操作性,并且使用户-设备界面更有效(例如,通过帮助用户提供合适的输入并减少操作设备/与设备进行交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0332]
在一些实施方案中,在显示第一动画过渡、第二动画过渡和第三动画过渡时显示(1014)注释(例如,图6f至图6m示出正在显示的注释606)。当在物理环境的不同表示之间切
换时显示带有注释的动画过渡(例如,物理环境的三维模型的表示)为用户提供了关于表示被捕获的不同位置、取向、放大率以及注释将放置在何处的上下文信息。提供改进的反馈增强了设备的可操作性,并且使用户-设备界面更有效(例如,通过帮助用户提供合适的输入并减少操作设备/与设备进行交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0333]
在一些实施方案中,根据确定第一动画过渡从第一媒体的第一表示的显示(例如,响应于对应于第二媒体的选择的输入)到第一媒体的第一表示中表示的物理环境的三维模型的第一表示的显示包括视角的第一变化,从而响应于视角的第一变化来更新(1016)注释的显示(例如,图6f至图6h示出此类动画过渡)(例如,显示具有位置、取向或比例中的一者或多者的注释,该位置、取向或比例基于物理环境确定,如在第一动画过渡期间的视角的第一变化期间所表示的)。
[0334]
在一些实施方案中,根据确定第二动画过渡从显示三维模型的第一表示到在第二媒体的第二表示中表示的物理环境的三维模型的第二表示的显示包括视角的第二变化,该方法包括响应于视角的第二变化来更新注释的显示(例如,图6i至图6j示出此类动画过渡)(例如,显示具有位置、取向或比例中的一者或多者的注释,该位置、取向或比例基于物理环境确定,如在第二动画过渡期间的视角的第一变化期间所表示的)。
[0335]
在一些实施方案中,根据确定第三动画过渡从显示三维模型的第二表示到显示第二媒体的第二表示包括视角的第三变化,响应于视角的第三变化来更新注释的显示(例如,图6k至图6l示出此类动画过渡)(例如,显示具有位置、取向或比例中的一者或多者的注释,该位置、取向或比例基于物理环境确定,如在第一动画过渡期间的视角的第三变化期间所表示的)。显示包括注释的视角变化的多个动画为用户提供了查看在一个表示中进行的注释将如何出现在其他表示中的能力。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0336]
在一些实施方案中,在(例如,响应于)接收到与注释第一表示的部分的请求相对应的输入之后,并且在第二媒体的所显示的第二表示的部分上显示注释之前:接收(1018)对应于第二媒体的选择的输入;并且响应于接收到与第二媒体的选择相对应的输入,显示第二媒体的相应表示(例如,图6f中的媒体缩略图擦除器605)。在一些实施方案中,在第二媒体的第二表示的部分上显示注释是在(例如,响应于)接收到与第二媒体的选择相对应的输入之后执行。在一些实施方案中,第二媒体的相应表示是至少部分地对应于物理环境的至少第一部分的视频的图像或表示(例如,初始帧)。在一些实施方案中,第二媒体的相应表示是第二媒体的第二表示,并且在一些此类实施方案中,响应于接收到对应于第二媒体的选择的输入,在第二表示的部分(例如,其作为相应表示)上显示注释。在一些实施方案中,第二媒体的相应表示是与第二媒体的第二表示不同的视频帧,并且在一些此类实施方案中,在播放视频的至少一部分之后显示第二媒体的第二表示。在第二媒体的相应表示不对应于物理环境的第一部分的一些此类实施方案中,注释不显示在第二媒体的相应表示中。在一些此类实施方案中,直到视频的回放到达第二媒体的初始帧(例如,第二表示)才显示注释,该初始帧至少对应于物理环境的第一部分,并且响应于接收到与第二媒体的选择相
对应的输入,结合显示第二媒体,在第二媒体的第二表示的部分上显示注释。在一些实施方案中,计算机系统在用户界面中显示第一媒体的第一表示,该用户界面还包括媒体(例如,图像或视频)选择器,该媒体选择器包括一个或多个相应的媒体表示,诸如缩略图(例如,显示在可滚动列表或阵列中),并且对应于选择第二媒体的输入是对应于媒体选择器中显示的第二媒体的表示的输入。在一些实施方案中,在接收到对应于注释对应于物理环境的第一部分的第一表示的一部分的请求的输入之后,更新与物理环境的至少第一部分相对应的媒体的相应表示以反映对第一表示的注释的添加。
[0337]
在用户界面中包括媒体选择器(例如,媒体缩略图擦除器605)为用户提供了用于在媒体项目之间切换的快速控件,并且不需要用户导航多个用户界面来与每个媒体项目进行交互。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0338]
在一些实施方案中,在对应于物理环境的第一部分的第一表示的部分上显示注释之后,接收(1020)与查看物理环境的实时表示的请求相对应的输入(例如,来自相机的实时馈送)。响应于接收到对应于查看物理环境的当前状态的表示的请求(例如,当物理环境在一个或多个相机的视野中变化或当一个或多个相机的视野在物理环境周围变化时变化的一个或多个相机的视野的表示):显示物理环境当前状态的表示。根据确定物理环境的当前状态的表示至少对应于物理环境的第一部分,在对应于物理环境的第一部分的物理环境的当前状态的表示的一部分上显示注释,其中注释以基于物理环境来确定的位置、取向或比例中的一者或多者来显示,如在物理环境的当前状态的表示中所表示的(例如,基于实时表示的视点与第一表示或第二表示的视点之间的差异,注释在实时表示中看起来与在第一表示或第二表示中不同)。显示多个表示为用户提供了查看在一个表示中进行的注释将如何出现在其他表示中的能力。同时查看这些表示,避免了用户必须在表示之间切换。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0339]
在一些实施方案中,第一表示和第二表示同时显示(例如,图6o示出媒体项目的同时显示,并且图6d至图6e示出了媒体项目与注释同时移动);对应于注释第一表示的一部分的请求的输入包括输入的移动;并且响应于接收到输入,同时:至少部分地基于输入的移动,修改(1022)(例如,移动、调整大小、扩展等)第一表示的对应于物理环境的第一部分的部分中的注释的第一表示。还至少部分地基于输入的移动来同时修改(例如,移动、调整大小、扩展等)第二表示的与物理环境的第一部分相对应的部分中的注释的第二表示。在一些实施方案中,其中在第二媒体的第二表示中表示的物理环境的第一部分的视图的视点与第一媒体的第一表示相对于物理环境的第一部分的视点不同,注释(例如,虚拟对象)的位置、取向和/或比例根据第一表示和第二表示的相应视点在第一表示和第二表示之间不同。显示多个表示为用户提供了查看在一个表示中进行的注释将如何出现在其他表示中的能力。同时查看这些表示,避免了用户必须在表示之间切换。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减
少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0340]
在一些实施方案中,注释的一部分未显示在来自第二媒体的第二表示上(1024)(例如,因为注释被遮挡、遮蔽或超出了第二表示的框架,如图6o所示,其中注释未显示在媒体缩略图项目1 602-1中,并且部分显示在媒体缩略图项目2 602-2中)。在一些表示中,注释的部分被部分显示,因为注释的一部分在表示的框架之外。具有部分显示的注释向用户表明捕获表示的位置变化、取向变化和放大率变化。提供改进的反馈增强了设备的可操作性,并且使用户-设备界面更有效(例如,通过帮助用户提供合适的输入并减少操作设备/与设备进行交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0341]
在一些实施方案中,当从第二先前捕获的媒体显示第二表示时,接收(1026)与注释(例如,通过添加虚拟对象或修改现有显示的虚拟对象)对应于物理环境的第二部分的第二表示的一部分的请求相对应的第二输入。响应于接收到第二输入,在第二表示的对应于物理环境的第二部分的部分上显示第二注释,该第二注释具有基于物理环境(例如,其物理属性和/或物理对象)(例如,使用对应于第一图像的深度数据)确定的位置、取向或比例中的一者或多者(例如,图6r示出了通过输入621添加到汽车624的机翼元件(即,扰流板)注释620)。
[0342]
在(例如,响应于)接收到第二输入之后,第二注释显示在(例如,添加到)第一媒体的第一表示的对应于物理环境的第二部分的部分上(例如,图6t在媒体缩略图项目1 602-1、媒体缩略图项目2 602-2、媒体缩略图项目3 602-3和媒体缩略图项目4 602-4中显示机翼元件注释620)。在一些实施方案中,响应于接收到第二输入(例如,当第一表示与第二表示同时显示时)在第一表示上显示第二注释。在一些实施方案中,响应于接收到与(重新)显示第一媒体的第一表示的请求相对应的中间输入,在第一表示上显示第二注释。当在物理环境的表示中进行注释(例如,标记照片或视频)时,在物理环境内确定注释位置、取向或比例。使用注释位置、取向或比例,可以更新包括相同物理环境的后续表示以包括注释。该注释将放置在相对于物理环境的相同位置。具有此类特征避免了需要用户重复注释相同环境的多个表示。减少执行操作所需的输入数量增强了设备的可操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0343]
在一些实施方案中,第二注释的至少一部分未显示在第一媒体的第一表示上(例如,因为它被遮挡或在第一表示的框架之外)(参见例如图6t,其中机翼元件注释620部分地未显示在媒体缩略图项目1 602-1中)(1028)。使注释的一部分不可见为用户提供了关于注释是否被物理环境遮挡的信息。提供改进的反馈增强了设备的可操作性,并且使用户-设备界面更有效(例如,通过帮助用户提供合适的输入并减少操作设备/与设备进行交互时的用户错误),这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
[0344]
应当理解,对图10a至图10e中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方
式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、800、900、1500、1600、1700和1800)所描述的其他过程的细节同样以类似的方式适用于上文相对于图10a至图10e所描述的方法1000。例如,上文参考方法1000描述的物理环境、特征和对象、虚拟对象和注释、输入、用户界面和物理环境的视图任选地具有参考本文所述的其他方法(例如,方法700、800、900、1500、1600、1700和1800)描述的物理环境、特征和对象、虚拟对象和注释、输入、用户界面和物理环境的视图的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0345]
图11a至图11jj、图12a至图12rr、图13a至图13hh和图14a至图14ss示出了根据一些实施方案的用于与增强现实环境和媒体项目交互并注释增强现实环境和媒体项目的实例用户界面。这些附图中的用户界面用于示出本文所述的过程,包括图7a至图7b、图8a至图8c、图9a至图9g、图10a至图10e、图15a至图15b、图16a至图16e、图17a至图17d和图18a至图18b中的过程。为了便于解释,将参考在具有触敏显示器系统(例如,图1a的触敏显示器系统112)的设备上执行的操作来论述实施方案中的一些实施方案。在此类实施方案中,焦点选择器为任选地:相应手指或触笔接触、对应于手指或触笔接触的表示点(例如,相应接触的重心或与相应接触相关联的点),或在触敏显示器系统上检测到的两个或更多个接触的重心。然而,响应于当在显示器上显示附图中示出的用户界面连同焦点选择器时检测到触敏表面上的接触,任选地在具有显示器(例如,图4b的显示器450)和独立的触敏表面(例如,图4b的触敏表面451)的设备上执行类似的操作。
[0346]
图11a至图11jj示出了经由计算机系统(例如,图1a的设备100或图3b的计算机系统301)的一个或多个相机(例如,图1a的光学传感器164或图3b的相机305)对物理环境的扫描和捕获物理环境的各种媒体项目(例如,物理环境的表示,诸如图像(例如,照片))。根据所选择的捕获模式,捕获的媒体项目可以为物理环境的实时视图表示或物理环境的静止视图表示。在一些实施方案中,使用显示生成部件(例如,图1a的触敏显示器112或图3b的显示生成部件304或308)来显示捕获的媒体项目。在一些实施方案中,相机(任选地结合一个或多个飞行时间传感器,诸如图2b的飞行时间传感器220)获取物理环境的深度数据,该深度数据用于(例如,基于使用深度数据生成的物理环境的三维模型)创建具有扫描的物理环境的表示的媒体项目。深度数据还用于增强用户与扫描的物理环境的交互,例如,通过显示物理对象的维度信息(例如,测量),将用户提供的注释限制在物理环境的表示中的预定义位置,显示物理环境的不同视图等。在扫描和捕获期间,可以移除物理环境的一些特征以提供将在显示器上显示的物理环境的简化表示(例如,简化的实时视图表示或简化的静止视图表示)。
[0347]
图11a示出了物理环境1100。物理环境1100包括多个结构特征,包括两个壁1102-1和1102-2与地板1104。另外,物理环境1100包括多个非结构对象,包括桌子1106和放置在桌子1106顶部的杯子1108。系统显示包括物理环境1100的实时视图表示的用户界面1110-1。用户界面1110-1还包括具有多个控件的控制条1112,用于与物理环境1100的实时视图表示进行交互并且用于切换到物理环境1100的不同视图。
[0348]
为了示出在扫描期间系统的相机在物理环境1100中的位置和取向,图11a还包括示出相机相对于物理环境1100的自顶向下的示意图的图例1114。自顶向下示意图指示相机位置1116-1、相机视野1118-1和桌子1106的示意图表示1120。
[0349]
图11b示出设备100及其相机在扫描期间已经移动至不同的位置。为了表明相机位置的这种变化,图例1114显示更新的自顶向下示意图,包括更新的相机位置1116-2。作为相机移动到相机位置1116-2的结果,系统在更新的用户界面1110-2中从相机位置1116-2处的相机的角度显示物理环境1100的不同实时视图表示。
[0350]
图11c示出用户通过将接触1122放置在用户界面1110-2中的记录控件1124上来捕获物理环境1100的静止视图表示。
[0351]
图11d示出响应于记录控件1124上的接触112进行的用户输入,物理环境1100的静止视图表示被捕获,并且系统显示更新的用户界面1110-3,从而显示静止视图表示和更新的控制条1112。在控制条1112中,记录控件1124(如图11c所示)被返回控件1126替换,当该返回控件被激活时导致物理环境1110的实时视图表示的显示(例如,重新显示)。
[0352]
图11e示出即使在相机移动至不同的相机位置1116-3时(例如,与相机移动时更新的实时视图表示(图11a至图11b)不同),物理环境1110的静止视图表示的显示(如图11c至图11d中捕获的)保持在用户界面1110-3中。
[0353]
图11f示出了包括物理环境1110的静止视图表示的用户界面1110-3的放大视图。控制条1112包括用于与物理环境1110的静止视图表示进行交互的多个控件,包括测量控件1128、注释控件1130、“滑动以淡入淡出”控件1132、“第一人称视图”控件1134、“自顶向下视图”控件1136和“侧视图”控件1138。在图11f所示的示例中,“第一人称视图”控件1134被选择(例如,在控制条1112中突出显示)。因此,用户界面1110-3包括从相机位置1116-3处的相机的角度捕获的物理环境1100的第一人称视图(例如,前透视图)(图11e)。
[0354]
图11g至图11l示出了向物理环境1100的静止视图表示添加注释。图11g示出了通过接触1140(例如,由用户)对注释控件1130的选择。图11h示出了响应于选择注释控件1130,突出显示注释控件1130。用户界面1110-3然后进入允许用户将注释添加到物理环境1100的静止视图表示的注释会话(例如,注释模式)。
[0355]
图11h示出了发起用户界面1110-3注释的接触1142在用户界面1110-3中的位置开始,该位置对应于物理环境1100中沿桌子1148(例如,桌子1106的表示,图11a)的边缘1146(例如,边缘的表示)的物理位置。图11h中的边界框1144指示边缘1146的阈值距离内的区域。在一些实施方案中,响应于接触1142,系统在物理环境1100的静止视图表示的一部分上方显示边界框1144(例如,包含桌子1148的边缘1146)。在一些实施方案中,边界框1144不被显示,并且被包括在图11h中,仅仅是为了指示不可见阈值。在一些实施方案中,边界框1144的一个或多个属性(例如,大小、位置、取向等)基于接触1142的位置和/或移动以及物理环境1100的静止视图表示中的对应(例如,最近的)特征来确定。例如,在图11h中,边缘1146是与接触1142的位置最接近的特征。因此,边界框1144包含边缘1146。在一些实施方案中,当两个或更多个特征(例如,桌子的两个边缘)与接触1142的位置等距(或在距接触1142位置的预定义阈值距离内)时,可以使用两个或更多个边界框,每个边界框包含相应的特征。在一些实施方案中,从物理环境记录的深度数据(例如,由一个或多个相机和/或一个或多个深度传感器)用于标识物理环境1100的静止视图(或实时视图)表示中的特征。
[0356]
图11i至图11j示出了沿对应于边缘1146的路径跨用户界面1110-3的接触1142的移动。接触1142的路径完全在边界框1144内。当接触1142移动时,沿接触1142的路径显示注释1150。在一些实施方案中,注释1150以预定义的(或在一些实施方案中,用户选择的)颜色
和厚度显示以将注释1150与包括在物理环境1110-3的静止视图表示中的特征(例如,边缘1146)区分开来。
[0357]
图11k至图11l示出了将注释1150转换为被约束为对应于边缘1146的过程。在图11k中,用户通过将接触1142提离显示器来完成添加注释1150。由于注释1150完全包含在边界框1144中,因此在提离之后,注释1150被转换为约束到边缘1146的不同注释1150',如图11l所示。此外,在添加注释1150时显示边界框1144的实施方案中,在接触1142的提离之后,停止在用户界面1110-3中显示边界框1144。指示注释1150'的长度测量(例如,标注1150’所对应的边缘1146的物理长度)的标签1152显示在用户界面1110-3的靠近注释1150'的部分中。在一些实施方案中,用户可以添加对应于二维物理区域或三维物理空间的注释,任选地带有指示注释的其他物理特性诸如面积(例如,用于对应于二维区域的注释)或体积(例如,用于对应于三维空间的注释)的测量的对应标签。
[0358]
图11m至图11p示出了用户将第二注释1154添加到物理环境1100的静止视图表示的过程。在图11m中,再次示出了边界框1144以指示边缘1146的阈值距离内的区域(例如,其中将转换注释,如本文参考图11k至图11l所述)。在图11n至图11o中,当接触1142-2跨显示器移动时,沿接触1142-2的路径显示注释1154。接触1142-2的路径的一些部分延伸超过边界框1144。因此,在接触1142-2的提离之后,在图11p中,注释1154保持在其原始位置并且未被转换为被约束到边缘1146。在一些实施方案中,不显示用于指示注释1154所对应的物理空间的物理特性(例如,长度)的测量的标签(例如,因为注释1154不限于物理环境1100的静止视图表示中的任何特征。
[0359]
图11q至图11t示出了物理环境1100的实时视图表示的显示(例如,重新显示)。在图11q中,用户使用用户界面1110-3上的接触1156来选择返回控件1126。作为响应,如图11r所示,系统停止显示用户界面1110-3,该用户界面包括物理环境1100的静止视图表示,相反地显示包括物理环境1100的实时视图表示的用户界面1110-4。图11r还示出了指示对应于捕获用户界面1110-4中物理环境1100的实时视图表示的视点的相机位置1116-4的图例1114。在一些实施方案中,在切换到实时视图表示之后,先前添加的注释(例如,注释1150'和1154)和标记(例如,标签1152)相对于物理环境1100的静止视图表示中的特征(例如,边缘)保持显示(例如,当相机相对于物理环境1100移动时,注释在物理环境1100的显示的表示中移动,使得注释继续显示在物理环境1100中的对应特征上方)。如图11r至图11s所示,当显示物理环境1100的实时视图表示时,在用户界面1110-4中反映(例如,实时显示)相机的视野的变化(例如,足球1158滚入相机视野1118-4)。图11t示出相机已移动至物理环境1100内的不同位置1116-5。因此,用户界面1110-4从位置1116-5从相机的视角显示物理环境的不同实时视图表示(例如,物理环境1100的不同部分)。
[0360]
图11u至图11x示出了向物理环境1100的实时视图表示添加注释。图11u示出了在选择(例如,突出显示)注释控件1130时在对应于用户界面1110-4中靠近杯子1159的位置的位置处检测到的接触1160。包含杯子1159的顶部边沿的边界1162指示在杯子1159的边沿的阈值距离内的区域。如本文参考边界框1144所述,在一些实施方案中,边界1162不被显示并且被包括在图11u中仅仅是为了指示不可见阈值,而在其他实施方案中,边界1162被显示(例如,任选地在检测接触1160时)。图11v示出用户已经(例如,通过沿环绕边沿的路径移动接触1160)在杯子1159的边沿周围添加了注释1164。注释1164完全在边界1162内。因此,图
11w至图11x示出在提离接触1160之后,注释1164被转换为被约束到杯子1159的边沿的注释1164'。标签1166显示在注释1164'旁边,以指示注释1164’所对应的杯子1159的边沿的圆周。
[0361]
图11y至图11z示出了物理环境1100的不同类型的表示视图(例如,实时视图表示或静止视图表示)之间的切换。在图11y中,当选择(例如,突出显示)“第一人称视图”控件1134并且显示从相机位置1116-4处的相机的视角捕获的物理环境1100的第一人称视图(例如,前透视图)时,用户使用接触1166来选择“自顶向下视图”控件1136。响应于使用接触1166对“自顶向下视图”控件1136的选择,系统显示更新的用户界面1110-5,从而示出物理环境1100的自顶向下视图表示。在用户界面1110-5中,“自顶向下”控件1136被突出显示并且先前添加的注释和标签显示在物理环境1100的自顶向下视图表示中的相应位置处,这些相应位置对应于它们在图11y中物理环境1100的第一人称视图中的相应位置。例如,在第一人称视图中被约束到边缘1146的注释1150'在自顶向下视图中也被显示为被约束到边缘1146。在另一个示例中,在第一人称视图中沿边缘1146无约束地延伸的注释1154在自顶向下视图中还沿边缘1146显示,但不限于该边缘。在一些实施方案中,自顶向下视图是使用由相机收集的深度数据的物理环境的模拟表示。在一些实施方案中,在自顶向下视图中省略物理环境的一个或多个实际特征,诸如对象表面纹理或表面图案。
[0362]
图11aa至图11ff示出了用户将注释添加到物理环境1100的自顶向下视图表示的过程。在图11aa中,当注释控件1130保持被选择时,用户使用接触1170发起将注释添加到物理环境1100的自顶向下视图表示。边界框1172指示边缘1174的阈值距离内的区域。图11bb至图11cc示出了接触1170沿边缘1174的移动以及注释1176沿对应于接触1170的移动的路径的显示。因为注释1176完全包含在边界框1172内,所以在如图11dd所示抬离接触1170之后,注释1176被转换为被约束为对应于边缘1174的注释1176',如图11ee所示。此外,标签1178显示在注释1176'旁边以指示注释1176’所对应的物理区域(例如,边缘1174)的测量,在这种情况下该测量为长度。
[0363]
图11ff至图11gg示出了切换回显示物理环境1100的第一人称视图表示。在图11ff中,用户使用接触1180选择“第一人称视图”控件1134。作为响应,在图11gg中,系统用物理环境1100的第一人称视图表示(例如,在图11gg的示例中也是实时视图表示)显示更新的用户界面1110-6。第一人称视图表示在其相应的位置显示所有先前添加的注释和标签,包括如前所述的注释1150'、1154和1164'(图11r和图11z),还包括在显示自顶向下视图时添加的注释1176'(图11ee)。
[0364]
图11hh至图11jj示出了使用“滑动以淡入淡出”控件1132在相机视野的真实感视图和相机视野的模型视图(例如,画布视图)之间转变物理环境1100的表示。当用户用输入1180(例如,触摸输入,诸如拖动输入)沿“滑动以淡入淡出”控件1132拖动滑块拇指时,物理环境1100的表示的一个或多个特征从视图中淡出。特征淡出的程度与滑块拇指沿“滑动以淡入淡出”控件1132的移动程度成比例,如由输入1180控制(例如,图11ii示出了根据滑块拇指从“滑动以淡入淡出”控件1132的左端到中间的移动的部分过渡到模型视图,并且图11jj示出了根据滑块拇指移动到“滑动以淡入淡出”控件1132的右端的完全过渡到模型视图)。在一些实施方案中,被淡化的特征包括颜色、纹理、表面图案等,在物理环境1100的表示中仅留下对象的维度信息(例如,边缘和形状)。在一些实施方案中,在模型视图中显示先
前添加的注释。在一些实施方案中,(例如,在响应于“自顶向下视图”控件1134的选择而查看自顶向下视图时或者在响应于“侧视图”控件1136的选择而查看侧视图时)可以在物理环境1100的静止视图表示和/或其他视图中执行使用“滑动以淡入淡出”控件1132的真实感相机视图和模型视图之间的转变。
[0365]
图12a至图12o示出了在物理环境的表示(例如,静止视图表示或实时视图表示)中测量一个或多个对象(例如,桌子的边缘)的一个或多个属性。
[0366]
图12a示出了物理环境1200。物理环境1200包括多个结构特征,包括两个壁1202-1和1202-2与地板1204。另外,物理环境1200包括多个非结构对象,包括桌子1206和放置在桌子1206顶部的杯子1208。
[0367]
物理环境1200中的设备100在设备100的触敏显示器112上的用户界面1210-1中显示物理环境1200的实时视图表示。设备100经由设备100的一个或多个相机(例如,图1a的光学传感器164或图3b的相机305)捕获物理环境1200的实时视图表示(或者在计算机系统诸如图3b的计算机系统301的一些实施方案中)。用户界面1210-1还包括具有用于与物理环境1200的实时视图表示进行交互的多个控件的控制条1212。
[0368]
图12a还包括示出物理环境1200的自顶向下示意图的图例1214。图例1214中的自顶向下示意图经由相机位置1216-1和相机视野1218分别相对于桌子1206的示意图1220指示设备100的一个或多个相机相对于物理环境1200的位置和视野。
[0369]
图12b示出了接触1222在控制条1212中选择记录控件1224。响应于记录控件1224的选择,设备100捕获物理环境1200的静止视图表示(例如,图像)并且显示更新的用户界面1210-2,如图12c所示,包括捕获的物理环境1200的静止视图表示。
[0370]
图12c示出了响应于用户选择图12b中的记录控件1224而生成的用户界面1210-2的放大视图。用户界面1210-2包括从相机位置1216-1(图12a)处的相机的视角捕获的物理环境1200的静止视图表示。用户界面1210-2中的控制条1212包括测量控件1228,用于激活(例如,进入)测量模式,以将测量添加到物理环境1200的捕获的静止视图表示中的对象。图12c示出了通过接触1222-2对测量控件1228的选择。
[0371]
图12d示出了响应于图12c中的接触1222-2对测量控件1228的选择,设备100显示更新的用户界面1210-3。在用户界面1210-3中,测量控件1228被突出显示以指示测量模式已被激活。此外,用户界面1210-3包括用于执行测量功能以测量对象的多个控件,包括位于用户界面1210-3中心的标线1229、用于添加测量点(例如,测量区段的端点)的添加测量点控件1233,以及用于移除(例如,清除)先前添加的测量的“清除”控件1231。
[0372]
图12e至图12f示出了用户对物理环境1200的静止视图表示执行放大操作的过程。在一些实施方案中,用户通过在用户界面1210-3上放置两个接触1234-1和1234-2并且使两个接触1234-1和1234-2彼此远离来执行放大操作(例如,捏拉缩放,或更具体地,捏拉放大)。因此,在图12f中,设备100显示更新的用户界面1210-4,该更新的用户界面包括物理环境1200的静止视图表示的放大部分。多个测量相关控件,诸如标线1229、“清除”控件1231和添加测量点控件1233,保持在它们相应的位置,如保持在图12e的用户界面1210-3中。
[0373]
图12g至图12i示出了用户在物理环境1200的静止视图表示上执行平移操作的过程。在图12g中,用户将接触1235放置在用户界面1210-4上并且向右移动接触1235。因此,设备100在图12h中显示更新的用户界面1210-5。与在用户界面1210-4中显示的部分相比,用
户界面1210-5包括物理环境1200的静止视图表示的不同部分(例如,在左侧显示物理环境的部分)。然后用户在用户界面1210-5上放置另一个接触1237并且将物理环境1200的静止视图表示的另一部分移动到图12i中更新的用户界面1210-6中的视图中。在图12i中,桌子1206的表示的拐角(例如,第一拐角)与标线1229的中心对准。为了添加第一测量点,用户然后用接触1239激活添加测量点控件1233。
[0374]
图12j至图12o示出了用户测量物理环境1200的静止视图表示的一部分的过程。在用户激活图12i中的添加测量点控件1233之后,第一测量点1240出现在用户界面1210-6上对应于标线1229的中心的位置处,如图12j所示。然后用户将另一个接触1241放置在用户界面1210-6上并且将接触1241向左移动。因此,在图12k中,测量区段1242出现在更新的用户界面1210-7上。测量区段1242将第一测量点1240与标线1229的中心连接,因为第一测量点1240根据接触1241的移动与物理环境1200的表示一起移动。标签1244显示在用户界面1210-7的预定义位置(例如,底部中心)以指示测量区段1242的当前长度。当测量区段1242改变长度时(例如,当物理环境1200的静止视图表示与接触1241一起移动时),不断更新标签1244以指示测量区段1242的当前长度。在图12l中,用户用接触1243选择添加测量点控件1233。因此,在图12m中,第二测量点1246出现在对应于标线1229的中心的位置处,该位置还对应于桌子1206的表示的拐角(例如,与第一拐角不同的第二拐角)在一些实施方案中,当标线1229在物理环境1200的静止视图表示中的所标识特征的预定义阈值内移动时(例如,对象的拐角),用户界面更新以自动将标线1229的中心与所标识的特征对准以有利于添加测量点。在图12m中,标签1244指示连接两个添加的测量点1246和1240的测量区段1242现在测量到7'的长度(例如,桌子1206的长边的长度)。
[0375]
图12n至图12o示出了用户对物理环境1200的静止视图表示执行缩小操作以通过移动接触1251和1249来生成更新的用户界面1210-8的过程(例如,捏拉缩小)。当测量区段1242的至少一个阈值部分(例如,阈值小部分)保持在视野中,并且测量区段1242在显示器上至少是阈值大小时,继续显示标签1244,以指示测量区段1242的长度,即7'。
[0376]
图12p至图12t示出了用户从物理环境1200的静止视图表示(例如,在该示例中的第一人称视图)切换到不同视图的过程。在图12p中,用户用接触1243来选择“自顶向下视图”控件1236。因此,在图12q中,设备100显示更新的用户界面1210-9,其示出物理环境1200的自顶向下视图表示,其中测量区段1242显示在相对于物理环境1200的相同位置(例如,与桌子1206的长边重叠)。在一些实施方案中,测量标签在对应的测量区段旁边显示,而不是在用户界面的预定义区域(例如,底部中心)中。因此,图12q示出标签1244在自顶向下视图表示中显示在测量区段1242旁边。在一些实施方案中,在可以对物理环境的表示一次仅进行一个测量的实施方案中,测量标签显示在用户界面的预定义区域中。在一些实施方案中,在可以对物理环境的表示进行多个同时测量的实施方案中,测量标签显示在其对应的测量区段旁边,以便更紧密地将特定标签与其相应的测量区段相关联(例如,在单个标签显示在预定义区域的情况下,可能会混淆标签是指多个测量区段中的哪一个测量区段)。另选地或任选地,在一些实施方案中,当切换到自顶向下视图表示时,更新的用户界面1210-9在自顶向下的视图表示中自动显示对象的所有维度信息(例如,所有可用的测量),如图12r所示。图12s示出了用户用接触1245来选择“第一人称视图”控件1234。因此,设备100切换回显示第一人称视图,包括先前添加的测量区段1242和标签1244,如图12t中的用户界面1210-8所
示。
[0377]
图12u至图12y示出了一个过程,其中自动测量先前已测量的对象的相关维度信息。在图12u中,在生成测量区段1242之后(例如,在用户添加第二测量点1246之后),提示1247出现在用户界面1210-10中,询问用户是否愿意自动测量与测量段区段1242测量的相关的附加的维度信息。在一些实施方案中,基于由设备100的相机或深度传感器收集的深度数据来确定相关的维度信息。例如,由于测量区段1242在物理环境1200的静止视图表示中测量桌子1206的边缘,因此相关信息可以是同一桌子1206的其他边缘。在一些实施方案中,在显示提示1247时,显示视觉指示符诸如虚线1248-1和1248-2以指示可用的附加的维度信息(例如,用于桌子1206的其他边缘的可用测量)。图12v至图12w示出了如果用户(例如,通过选择图12v中的“是”选项)接受自动测量相关维度信息的选项,则(例如,在桌子1206的其他边缘上方)显示对应于附加的维度信息的附加测量区段(例如,图12w中的1250-1和1250-2)。此外,更新标签1244以指示这些附加测量。另选地,图12x至图12y示出如果用户拒绝自动测量相关维度的选项(例如,通过在图12x中选择“否”选项),那么不添加测量区段,并且仅在用户界面1210-11(例如,与用户界面1210-8相同的用户界面)中显示先前添加的测量区段1242和对应的标签1244。
[0378]
图12z至图12ff示出了用户手动测量物理环境1200的静止视图表示的不同部分的过程。在图12z中,用户通过用接触1252选择“清除”控件1231来清除先前添加的测量区段1242。因此,如图12aa所示,设备100显示更新的用户界面1210-12,其中测量区段1242和标签1244被移除。在图12bb至图12ff中,用户通过在图12bb中用接触1254平移用户界面1201-9来测量物理环境1200的静止视图表示的不同部分(例如,桌子的另一个边缘),在图12cc中用接触1256添加第一测量点(如图12dd所示),在图12dd至图12ee中用接触1258继续平移更新的用户界面,并且在图12ff中用接触1260添加第二测量点。在图12z至图12ff中执行的测量过程类似于在图12j至图12m中执行的测量过程。连续地更新标签1259以显示测量区段1261的当前信息(例如,长度)。
[0379]
图12gg至图12jj示出了用户用接触1262-1和1262-2对物理环境1200的静止视图表示执行缩放操作(例如,通过捏拉缩放进行放大和缩小)。在一些实施方案中,当物理环境1200的静止视图表示已经被放大超过预定义阈值时(例如,物理环境1200的静止视图表示被放大到大小极限或缩放因子极限以上),指示测量的维度信息的标签1259不再显示在用户界面1210-13中,如图12hh所示。图12ii示出一旦捕获的媒体项目被缩小至低于预定义阈值(例如,捕获的媒体项目的比例从大小极限以上被缩小至大小极限以下,或者从缩放因子极限以上被缩小至缩放因子极限以下),在用户界面1210-14中重新显示标签1259,并且在用户继续将捕获的媒体项目缩小至原始大小(例如,缩放因子1.0)时保持不变,如图12jj所示。图12kk至图12ll示出了一个过程,其中用户通过选择“清除”控件1231和接触1264来清除添加的测量。图12ll还示出用户用接触1264选择返回控件1226。返回控件1226当被激活时,使设备100停止显示物理环境1200的静止视图表示(例如,捕获的媒体项目),而是显示物理环境1200的实时视图表示。
[0380]
图12mm至图12nn示出了用户与物理环境的实时视图表示进行交互的过程。图12mm示出了用户界面1210-15,其示出了物理环境1200的实时视图表示,并且图例1214示出了相机和相机视野相对于物理环境1200的示意性俯视图。在一些实施方案中,如图12nn所示,当
用户用设备100的相机扫描物理环境时,物理环境1200的表示中的所有可测量物理特征都被自动测量,其中测量区段叠加在可测量物理特征上并且对应的测量标签显示在它们相应的测量区段旁边。
[0381]
图12oo至图12rr示出了自动测量物理环境1200的静止视图表示中的维度信息的过程。在图12oo中,捕获的媒体项目中的桌子1206的表示由虚线框1266勾勒,以指示关于桌子1206的信息(例如,深度信息)可用,使得可以对桌子1206进行测量。在一些实施方案中,可用信息由相机和/或深度传感器在捕获物理环境1200的静止视图表示期间确定。提示1268向用户提供关于如何发起自动测量过程的指令。在图12pp中,用户使用接触1270轻击虚线框1266。因此,测量区段1271-1、1271-2和1271-3显示在桌子1206的表示的边缘上方,以指示桌子1206的维度信息(例如,高度、长度和宽度),如图12qq所示。标签1272显示在捕获的媒体项目的预定义部分以指示测量结果。在一些实施方案中,其中所捕获的媒体项目包括维度信息不可用的一个或多个对象,使得无法对这些对象进行测量(例如,图12rr中捕获的媒体项目背景中的台灯1272),相对于具有可用于进行测量的信息的对象,淡化没有可用于进行测量的信息的一个或多个对象(例如,使变灰)(例如,使用虚线1274-1和1274-2强调图12rr中的桌子1206的表示和杯子1208的表示)。
[0382]
图13a至图13gg示出了在显示的媒体项目(例如,图像,诸如rgb图像,或视频的初始帧或代表性帧)和(例如,当用户滚动通过多个媒体项目时)由用户选择以供查看的不同媒体项目之间的各种基于视角的动画过渡,包括多种过渡效果。在一些实施方案中,媒体项目包括由系统的一个或多个相机捕获并且使用系统的显示生成部件显示的物理环境的静止视图表示。在一些实施方案中,基于媒体项目是在相同的捕获会话中还是在预定义时间内或彼此的接近度阈值内被捕获,来显示不同的过渡。不同的过渡效果提供了关于捕获媒体项目的不同相机视角的视觉指示。
[0383]
图13a示出了物理环境1300,该物理环境包括结构特征诸如地板1302-1和墙壁1302-2和1302-3,以及非结构特征诸如对象1304-1至1304-5(例如,挂在壁1302-2和1302-3上的画作)和对象1306-1和1306-2(例如,放在地板1302-1上的椅子)。此外,设备100位于物理环境1300中并且包括显示器112和一个或多个相机。显示器112显示用户界面1303,该用户界面包括在设备100的相机的视野中的物理环境1300的一部分的实时视图表示1308。用户界面1303还包括多个控件,包括用于捕获媒体项目诸如图像和/或视频的记录控件1312,以及用于查看最近捕获的媒体项目(例如,或在一些实施方案中,包括最近捕获的媒体项目的多个先前捕获的媒体项目)的缩略图1313。图13a还示出了在用户界面1303中用接触1310-1对记录控件1312的激活。响应于记录控件1312的激活,物理环境1300的表示1308被设备100捕获并且存储为媒体项目,并且因此缩略图1313被更新以显示新捕获的媒体项目的预览1316,如图13b所示。另外,图13a包括示出物理环境1300的示意性自顶向下视图的图例1301。图例1301包括相机位置1303-1、相机视野1305-1和物理环境1300中各种对象的示意性表示(例如,分别对应于对象1304-1、1304-2和/或1304-3、1304-4、1304-5、1306-1和1306-2的示意性表示1307-1、1307-2、1307-4、1307-5、1309-1和1309-2)。相机位置1303-1和相机视野1305-1分别指示在捕获媒体项目时设备100的相机相对于物理环境1300和其中的其他对象的位置和视野。
[0384]
图13b至图13f示出了在物理环境1300中的各种不同位置处的附加媒体项目的捕
获(例如,由图例1301中的相机位置1303-2至1303-5指示)。特别地,图13b示出了响应于在相机位于相机位置1303-2时使用接触1310-2激活记录控件1312,捕获对应于相机视野1305-2的媒体项目。图13c示出了响应于在相机位于相机位置1303-3时使用接触1310-3激活记录控件1312,捕获对应于相机视野1305-3的媒体项目。图13d示出了响应于在相机位于相机位置1303-4时使用接触1310-4激活记录控件1312,捕获对应于相机视野1305-4的媒体项目。图13e至图13f示出了两个媒体项目的捕获,同时相机都位于相同的相机位置1303-5。在图13e中,设备100保持直立,并且捕获的媒体项目对应于图例1301中指示的相机视野1305-5。然而,在图13f中,设备100被保持在一个角度以便具有不同的相机视野(例如,其相对于图13e中的设备100的相机视野旋转),如图例1301中的相机视野1305-6所示。
[0385]
图13g示出了用接触1310-7对缩略图1318的激活。缩略图1318包括最新捕获的媒体项目的预览(例如,响应于接触1310-6捕获的媒体项目,如参考图13f所述)。
[0386]
图13h示出了响应于缩略图1318的激活,设备100显示用户界面1314,其包括最近捕获的媒体项目1315(例如,静止视图表示,诸如照片),表示在图13f中捕获的物理环境1300的部分。图例1319指示媒体项目1315是在物理环境1300中的相机位置1303-5以相机视野1305-6(例如,与图13f中的相同的位置和视野)捕获。更新的缩略图1321示出了紧接在媒体项目1315之前捕获的另一媒体项目的预览(例如,图13e中捕获的媒体项目)。用户界面1314还包括在媒体项目1315中显示(或另选地,显示在上方)以指示对应于至少一个其他媒体项目的位置(例如,也可以使用在图13e中捕获的媒体项目来查看的位置)的视觉指示符1317。在一些实施方案中,根据确定在显示的媒体项目和相应的视觉指示符所对应的另一个媒体项目之间基于视角的动画过渡可用来显示视觉指示符,诸如视觉指示符1317。在一些实施方案中,当在接近度阈值(例如,从在彼此的预定义距离内的相应的相机位置)和/或时间阈值内(例如,在彼此的预定义时间量内以及/或者在相同的相机会话内)捕获两个媒体项目,并且/或者在两个媒体项目中捕获的物理环境1300的部分重叠至少预定义的量时,基于视角的动画过渡可用。
[0387]
图13i至图13k示出了经由基于视角的动画过渡来显示不同的捕获的媒体项目。在图13i中,用户通过用接触1320在显示器112上向右轻扫来请求显示与当前显示的媒体项目不同的媒体项目。在图13i所示的示例中,接触1320的向右轻扫对应于在媒体项目的集合中显示紧接在所显示的媒体项目1315之前的媒体项目的请求(例如,通过作为紧接在媒体项目1315之前捕获的媒体项目,或作为在媒体项目的有序列表中紧接在媒体项目1315之前的媒体项目),在该示例中,该媒体项目是响应于接触1310-5捕获的媒体项目,如本文参考图13e所述。由于在图13e中捕获的媒体项目(在本文中也称为“媒体项目1326”,如图13k所示)和媒体项项目1315满足基于视角的过渡标准(例如,它们在时间阈值和接近度阈值内被捕获,并且在两个媒体项目中捕获的物理环境1300的相应部分之间存在足够的重叠),所以显示基于视角的动画过渡,如图13j所示。如上所述,媒体项目1315是在设备100保持直立的情况下捕获的,媒体项目1326是在设备100以一定角度保持的情况下捕获的。因此,媒体项目1315的相机视角与媒体项目1326的相机视角之间的差异包括相机的旋转(例如,倾斜),并且因此,基于视角的动画过渡包括将媒体项目1315旋转对应于相机倾斜角度的差异的量,使得媒体项目1315中对象的表示与媒体项目1326中的对象的表示对准。换句话讲,基于视角的动画过渡模拟相机从当前显示的第一媒体项目的相机姿势(例如,位置和/或取向)到
不同媒体项目的相机姿势的移动。在图13i至图13j中的示例中,动画过渡模拟从对应于媒体项目1315(图13i)的视野1305-6的相机取向移动到对应于媒体项目1326的视野1305-5的相机取向(图13k),因为相机位置1303-5对于媒体项目1315和媒体项目1326相同。
[0388]
图13j示出了动画过渡中途的旋转效果的快照。任选地,如图13j所示,当旋转媒体项目1315时,对应于在媒体项目1326中捕获的物理环境1300的部分的区域1322至少部分地显示、部分旋转,使得媒体项目1326中对象的表示在媒体项目1315的旋转期间与媒体项目1315中对象的对应表示对准。换句话讲,在一些实施方案中,当媒体项目1315从默认取向(例如,旋转角度零)旋转到对应于捕获媒体项目1326的相机角度的取向(例如,非零旋转角度)时,媒体项目1326同样从对应于捕获1315的相机角度的取向(例如,媒体项目1315的非零旋转角度的负值)同时旋转到其默认取向(例如,旋转角度零)。在一些实施方案中,在动画过渡期间,对应于在任一媒体项目中未捕获的物理环境1300的部分的区域1324是空白的(或可另选地,用阴影或类似的填充图案和/或模糊显示)以指示关于物理环境1300的对应部分的信息。普通技术人员将认识到,尽管图13j示出了动画过渡中途的单个中间步骤的快照,但在一些实施方案中,动画过渡包括多个中间步骤,以便呈现模拟相机的平滑旋转的持续更新的动画过渡。
[0389]
图13k示出了被更新以显示媒体项目1326的用户界面1314,其表示在完成动画过渡之后,在图13e中捕获的物理环境1300的部分。图13d中捕获的媒体项目(在本文中也称为“媒体项目1332”,如图13n所示)是紧接在所显示的媒体项目1326之前的媒体项目,并且因此媒体项目1332的预览显示在缩略图1323中。显示了两个视觉指示符1328-1和1328-2,指示与其他捕获的媒体项目相对应的位置(例如,在其他媒体项目中捕获的和可查看的位置)。例如,视觉指示符1328-1指示媒体项目1315中心处的位置,并且视觉指示符1328-2指示媒体项目1332中心处的位置。本领域普通技术人员将认识到作为在对应于其他媒体项目中的中心位置的显示的媒体项中的相应位置处显示一个或多个视觉指示符的替代方案,视觉指示符可以显示在与其他媒体项目相关联的其他类型的位置处,诸如指示其他媒体项目被捕获的相应的相机位置的位置。
[0390]
图13l至图13n示出了另一个基于视角的动画过渡。在图13l中,用户通过用接触1330在显示器112上向右轻扫来请求显示与当前显示的媒体项目不同的媒体项目。在图13l所示的示例中,通过接触1330进行的向右轻扫对应于显示紧接在前的媒体项目,即媒体项目1332的请求。因此,媒体项目1332显示在用户界面1314中,如图13n所示。由于媒体项目1326和媒体项目1332满足基于视角的过渡标准(例如,在时间和接近度阈值内捕获两个图像,并且其分别捕获的物理环境1300的部分重叠至少预定义量),因此在从显示媒体项目1326切换为显示媒体项目1332时显示基于视角的动画过渡。基于视角的动画过渡包括过渡效果,这些过渡效果取决于捕获两个媒体项目时相机的位置和视角之间的差异。在图13l至13n的实例中,媒体项目1326对应于相机位置1303-5和相机视野1305-5(如图13l中图例1319中所示),而媒体项目1332对应于相机位置1303-4和相机视野1305-4(如图13n中的图例1319中所示)。媒体项目1326的相机视角与媒体项目1332的相机视角之间的差异包括平面外旋转(例如,类似于一个人转动他或她的头部)和相机从相机位置1303-5到相机位置1303-4的侧向移动。因此,从媒体项目1326到媒体项目1332的动画过渡模拟相机从相机位置1303-5和视野1305-5到相机位置1303-4和视野1305-4的旋转和侧向移动。
[0391]
图13m示出了动画过渡过程中旋转和移动效果的快照。媒体项目1326被倾斜,以模拟相机的旋转以具有在视野1305-5和视野1305-4之间的中间的模拟视野1334,并且被向右移动,以模拟相机向左侧向移动至位于相机位置1303-5和相机位置1303-4中间的模拟相机位置1336。任选地,如图13m所示,还显示媒体项目1332,其偏斜以对应于模拟视野1334并且向右移位以对应于模拟相机位置1336。在一些实施方案中,当媒体项目1326逐渐移出用户界面1314时,动画过渡模拟媒体项目1332逐渐移入用户界面1314。如上文参考图13j所述,图13m是动画过渡中途的中间步骤的非限制性示例;可以显示附加的中间步骤,以呈现模拟相机的平滑旋转和移动的动画过渡。图13n示出了在完成从媒体项目1326的动画过渡之后在用户界面1314中显示的媒体项目1332,并且图例1319指示媒体项目1332被捕获的相机位置1303-4和视野1305-4。图13c中捕获的媒体项目(在本文中也称为“媒体项目1337”,如图13r所示)是紧接在所显示的媒体项目1332之前的媒体项目,并且因此媒体项目1337的预览显示在缩略图1325中)。需注意,在媒体项目1332上没有显示视觉指示符,因为在媒体项目1332中对应于其他媒体项目的位置不可见。
[0392]
图13o至图13r示出了不同的捕获的媒体项目的显示,而未显示基于视角的动画过渡。在图13o中,用户通过用接触1335在显示器112上向右轻扫来请求显示的媒体项目1332之外的媒体项目的显示。在图13o所示的示例中,通过接触1335进行的向右轻扫对应于显示紧接在所显示的媒体项目1332之前的紧接在前的媒体项目,即媒体项目1337(图13r)的请求。由于轻扫,媒体项目1335经由视角独立过渡在图13r中的用户界面1314中显示。当在不满足基于视角的过渡标准的媒体项目之间切换时,显示视角独立过渡。如图13p至图13q中的示例所示,视角独立过渡为滑动过渡,其中媒体项目1332向右移动以便看起来向右移动“离开”显示器112(例如,根据通过接触1335进行的轻扫的移动方向),媒体项目1337向右移动以便看起来向右移动“至”显示器112以代替媒体项目1332(例如,也根据通过接触1335进行的轻扫的移动方向),并且显示边界1339以将媒体项目1332的左后边缘与媒体项目1337的右前边缘分开。不显示对应于媒体项目1332(图13o)的相机位置1303-4和视野1305-4与对应于媒体项目1337(图13r)的相机位置1303-3和视野1305-3之间的基于视角的动画过渡,因为在该示例中,媒体项项目1337和媒体项目1332不满足基于视角的过渡标准(例如,在两个媒体项目中捕获的物理环境1300的相应部分不重叠至少阈值量)。因此,图13p至图13q中的图例1319在视角独立过渡期间不指示任何模拟的相机位置或模拟的视野。在图13r中,在完成从媒体项目1332的视角独立滑动过渡之后,媒体项目1337显示在用户界面1314中,并且图例1319指示媒体项目1337被捕获的相机位置1303-3和视野1305-3。图13b中捕获的媒体项目(在本文中也称为“媒体项目1348”,如图13y所示)是紧接在所显示的媒体项目1337之前的媒体项目,并且因此媒体项目1348的预览显示在缩略图1327中。图13r还示出了用接触1340选择注释控件1338以激活用于将注释添加到显示的媒体项目1337的注释模式。
[0393]
图13s至图13u示出了将注释添加到媒体项目1337。响应于在图13r中通过接触1340选择注释控件1338,在图13s中突出显示注释控件1338,并且启用在用户界面1314中显示的媒体项目的注释。然后,用户通过跨显示器112移动接触1342在媒体项目1336上绘制。因此,注释1344沿接触1342的路径显示在媒体项目1337上方,如图13t所示。然后,在图13u中用户通过用接触1346选择突出显示的注释控件1338来退出注释模式。
[0394]
图13v至图13y示出了两个捕获的媒体项目之间的另一个基于视角的动画过渡。在
图13v中,用户通过用接触1346在显示器112上向右滑动来请求显示不同于当前显示的媒体项目的媒体项目,该请求对应于显示紧接在前的媒体项目1348的请求(图13y中示出)。因此,在图13y中更新用户界面1314以显示媒体项目1348,并且由于媒体项目1348和媒体项目1337满足基于视角的过渡标准,基于相应相机位置与媒体项目1337和1348的视野之间的差异,媒体项目1337的显示经由基于视角的过渡被替换为媒体项目1348的显示,如图13w至图13x所示。特别地,动画过渡模拟相机从对应于媒体项目1337(图13v)的相机位置1303-3和视野1305-3到对应于媒体项目1348的相机位置1303-2和视野1305-2(图13y)的移动,包括移动通过模拟的中间相机位置1350-1(图13w)和1350-2(图13x)。因为媒体项目1337是从位于捕获媒体项目1348的相机位置1303-2(图13y)的前面的相机位置1303-3(图13v)捕获的,并且因为媒体项目1337捕获完全在由媒体项目1348捕获的视野1305-2(图13y)内的视野1305-3(图13v),所以在媒体项目1337中捕获的物理环境1300的部分是在媒体项目1348中捕获的物理环境1300的部分的子集。因此,从媒体项目1337到媒体项目1348的基于视角的动画过渡包括“缩小”过渡效果,如通过图13w中的媒体项目1337的收缩(例如,减小比例)和图13x中的媒体项目1337的进一步收缩所示。
[0395]
任选地,如图13w所示,当媒体项目1337按比例减小时,(例如,逐渐地)显示媒体项目1348中与物理环境1300的超出由媒体项目1337捕获的部分相对应的部分的区域,最初至少部分地放大,使得媒体项目1348中的对象的表示在媒体项目1337的收缩期间与媒体项目1337中的对象的表示对准。换句话讲,在一些实施方案中,媒体项目1337的比例从第一比例(例如,如图13v所示)缩小到第二比例,在第二比例处,媒体项目1337中的对象的表示与媒体项目1348中的对象的对应表示以默认显示比例对准(例如,媒体项目1348适配显示器112(或更具体地适合显示器112上的媒体项目显示区域)的比例,如图13y所示)。在一些实施方案中,同时,媒体项目1348的比例从媒体项目1348中的对象的表示与以第一比例显示的媒体项目1337中的对象的对应表示对准的初始比例缩小到媒体项目1348适配显示器112(例如,显示区域)的默认显示比例,在该默认显示比例处,媒体项目1348在图13y中完全显示,并且缩略图1329显示在图13a中捕获的媒体项目的预览,该媒体项目是紧接在所显示的媒体项目1348之前的媒体项目。另外,在动画过渡期间,注释1344被显示在媒体项目1337上方,以便继续对应于最初添加注释1344的物理环境1300的相同部分,包括随着媒体项目1337按比例缩小而按比例缩小。在图13y中,注释1344以减小的比例显示在媒体项目1348上方,以便对应于物理环境1300的相同部分,因为该部分在媒体项目1348中表示(例如,即使注释1344被添加到媒体项目1337上方)。
[0396]
图13z至图13dd示出了两个捕获的媒体项目之间的另一个基于视角的动画过渡。在图13z中,用户通过用接触1352在显示器112上向右滑动来请求显示不同于当前显示的媒体项目的媒体项目,该请求对应于显示紧接在前的媒体项目1354的请求。因此,媒体项目1354显示在用户界面1314中,如图13dd所示,并且由于媒体项目1354和媒体项目1348满足基于视角的过渡标准,基于相应相机位置与媒体项目1348和1354的视野之间的差异,媒体项目1348的显示经由基于视角的动画过渡被替换为媒体项目1354的显示,如图13aa至图13cc所示。特别地,动画过渡模拟相机从对应于媒体项目1348(图13z)的相机位置1303-2和视野1305-2到对应于媒体项目1354的相机位置1303-1和视野1305-1(图13dd)的侧向移动。因为媒体项目1348是从位于捕获媒体项目1354的相机位置1303-1的右侧和上方(例如,从
更高的高度)的相机位置1303-2捕获的,所以显示动画过渡包括在显示器112上向右和向下移动媒体项目1348,包括逐渐停止显示已经移动“离开”显示器112的媒体项目1348的部分。显示动画过渡还任选地包括通过最初显示媒体项目1354的右下部分并且逐渐在所显示的部分的上方和左侧显示媒体项目1354的附加部分直到媒体项目1354被完全显示,将媒体项目1354向左和向下“移动到”显示器112上,如图13dd所示。先前捕获的媒体项目(在本文中也称为“媒体项目1358”,如图13hh所示)是紧接在所显示的媒体项目1354之前的媒体项目,并且因此媒体项目1358的预览显示在缩略图1331中。
[0397]
图13ee至图13hh示出了两个捕获的媒体项目之间的过渡,而没有显示基于视角的动画过渡。在图13ee中,用户通过用接触1356在用户界面1314上向右轻扫来请求显示与当前显示的媒体项目不同的媒体项目。因此,用户界面1314被更新以显示媒体项目1358,如图13hh所示。由于媒体项目1358未与媒体项目1354(例如,媒体项目1358在不同的位置和不同的时间被捕获,并且在重新启动相机应用程序以开始相机会话之前结束的先前的相机会话期间,在该先前的相机会话期间捕获媒体项目1354、1348、1337、1332、1326和1315)在相同的相机会话中被捕获,因此媒体项目1354和媒体项目1358不满足基于透视的过渡接近标准。因此,没有显示基于视角的动画过渡。相反,显示本文参考图13o至图13r描述的视角独立滑动过渡,如图13ff至图13gg所示。
[0398]
尽管图13a至图13hh示出了响应于基于向右轻扫手势显示不同媒体项的请求的媒体项目之间的过渡(例如,请求在用户界面1314中可查看的媒体项目集合中显示紧接在前的媒体项目,并且使用显示在用户界面1314的左下角的缩略图进行索引),但本领域的普通技术人员将认识到,可以使用其他方式来请求显示不同的媒体项目。例如,向左轻扫手势可以对应于在集合中显示紧接在后的媒体项目的请求。在另一个示例中,多个缩略图可以与显示的媒体项目一起显示(例如,在下面),并且多个缩略图中的一个缩略图上的输入(例如,轻击手势)可以对应于显示由缩略图表示的对应媒体项目的请求。在此类示例中,可以执行上述基于视角的动画过渡以基于相应的相机位置和视野从当前显示的媒体项目改变为所请求的媒体项目,而不考虑请求改变的输入类型(例如,不考虑输入是否对应于对下一个媒体项目、前一个媒体项目或其他非连续媒体项目的请求)。
[0399]
图14a至图14as示出了用于查看对应于移动的个体(例如,正在完成网球挥杆的人)的表示(例如,实时视图表示或静止视图表示)的运动跟踪信息的各种过程。
[0400]
在图14a中,设备100显示用户界面1404,该用户界面包括对应于个体1402在物理环境1401中的实时视图的表示1406。使用设备100的相机和/或深度传感器来捕获表示1406。用户界面1404还包括用于在表示1406上方显示关于个体1402的运动跟踪信息的多个控件,包括跟踪控件1408、图形控件1410、模型控件1412和视角控件1414。用户界面1404还包括用于记录和查看物理环境1401和个体1402的表示(例如,视频)的控件,诸如记录控件1407和缩略图1416。
[0401]
图14b至图14g示出了用户在其中记录物理环境1401和个体1402的表示(例如,视频)以及运动跟踪信息的过程。在图14b中,用户用接触1418来选择跟踪控件1408。因此,如图14c所示,跟踪控件1408被突出显示,并且启用对个体1402的跟踪。图14c还示出了使用接触1420来选择记录控件1407以开始记录过程。为了添加运动跟踪信息,用户随后使用接触1421在表示1406中选择对应于个体1402上的点的点(例如,用户选择个体1402的腕,如表示
1406中所表示的),如图14d所示。图14e至图14g示出当个体1402在物理环境1401中移动时,注释1422被显示在表示1406上方以跟踪先前选择的点(例如,个体1402的腕)在表示1406中的移动。在一些实施方案中,注释1422基于个体1402上的所选择的点的跟踪运动的一个或多个特性(例如,速度、加速度等)以变化的视觉属性诸如变化的颜色和/或厚度来显示。例如,注释1422可以沿对应于个体1402的腕的快速移动的部分加宽,并且/或者可以用比沿注释1422的部分更亮或更暖的颜色(例如,红色)显示,这些部分对应于个体1402的腕的较慢移动,该腕可以是锥形的并且/或者用较冷的颜色显示(例如,黄色或绿色)。用户在记录控件1407上使用接触1423来停止记录过程,如图14g所示。
[0402]
图14h至图14m示出了用户回放个体1402的移动的先前记录的视频1425的过程(例如,参考图14b至图14g描述的记录)。在图14h中,用户用接触1424来选择缩略图1416。作为响应,视频1425的帧(例如,初始帧)显示在显示器上,如图14i所示。然后,在图14i中,用户用接触1428来选择回放控件1426。图14j至图14m示出了先前记录的视频1425的所得回放。在记录的视频1425的回放期间,注释1422显示为覆盖在显示先前选择的点(例如,个体1402的腕)的运动的视频上。特别地,如图14j中所示,在显示视频1425的初始帧时,在记录所选择的点的移动之前,不显示注释1422。当视频1425的回放如图14k所示进行时,注释1422被显示在个体1402上的选择的点的移动路径上。类似地,注释1422的附加部分随着视频1425的回放进行显示以显示所选择的点的进一步移动,如图14l和图14m所示。
[0403]
图14n至图14s示出了用于查看物理环境1401和其中的个体1402的实时视图表示的运动跟踪信息的过程。图14n与图14a相同。图14o示出了通过接触1429来选择跟踪控件1408;作为响应,启用移动跟踪,如被突出显示的跟踪控件1408所指示,如图14p所示。此外,如图14p所示,用户使用接触1430选择表示1406中对应于个体1402上的点的点,该点不同于图14d中选择的点(例如,用户选择个体1402的肘部,如表示1406所表示)。在图14q至图14s中,当个体1402移动时,注释1432被显示在表示1406中个体1402的表示上以跟踪选择的点的移动。
[0404]
图14t至图14z示出了用于查看物理环境1401的实时视图表示的运动跟踪信息的过程。图14t至图14z中所示的过程类似于图14n至图图14s中的过程。图14t与图14n相同。图14u示出了通过接触1433来选择跟踪控件1408;作为响应,启用移动跟踪,如由图14v中突出显示的跟踪控件1408所指示。另外,用户在图14v中用接触1434来选择图形控件1410。因此,在图14w中,图形控件1410被突出显示,并且用户界面1404被更新以包括除个体1402在物理环境1401中的表示1406之外的一个或多个图。图1436绘制被选择用于跟踪的点(例如,个体1402的腕,如表示1406中所表示并且使用图14w中的接触1435选择)相对于时间(例如,在查看实时视图表示时实时地,并且在回放记录的视频时对应于当前时间戳)的移动的属性(例如,位移、速度、加速度等)。在图14w至图14z所示的示例中,图1436包括跟踪点随时间推移的位移、速度和加速度的曲线图。在图14x中,物理环境1401中的个体1402的移动在实时视图表示1406中在用户界面1404中反映,并且注释1437在实时视图表示1406中显示(例如,叠加)在选择的点(例如,个体1402的腕)的表示上。此外,图1436被更新以绘制在所选择的点的移动期间所选择的点的位移、速度和加速度(例如,对应于注释1437)。类似地,在图14y至图14z中,个体1402的进一步移动反映在用户界面1404中的表示1406中,注释1437在表示1406中的所选择的点(例如,个体1402的腕)的表示上逐渐延伸以跟踪进一步的移动,并且
图形1436被逐渐更新以绘制在所选择的点的进一步移动期间所选择的点的位移、速度和加速度(例如,对应于注释1437)。
[0405]
图14aa至图14gg示出了使用对应于个体1402的模型而不是个体1402的实时视图表示来查看运动跟踪信息的过程。图14aa至图14gg所示的过程类似于图14n至图图14s中的过程。特别地,图14aa与图14n相同,并且图14bb示出了响应于哪个移动跟踪被启用,通过接触1439来选择跟踪控件1408,如图14cc中突出显示的跟踪控件1408所示。另外,图14cc示出了接触1442选择个体1402的腕的表示,如表示1406中所示,用于运动跟踪。图14dd示出通过接触1444来选择模型控件1412。作为响应,在图14ee中,模型控件1412被突出显示,并且模型查看模式被启用。因此,如图14ee所示,模型—人形模型1438—显示在用户界面1404的实时视图表示1406中,而不是个体1402的真实感实时视图表示。在一些实施方案中,用人形模型1438代替表示1406中的个体1402的表示不影响物理环境1401的其他方面(例如,物理环境1401中的一个或多个特征的真实感表示,诸如球拍1450的表示1448,继续显示)。在一些实施方案中,人形模型1438上的参考点被映射到个体1402上的对应参考点,使得人形模型1438在用户界面1404中移动(例如,动画)以跟踪并且对应于个体1402在物理环境1401中的移动,如图14ff至图14gg所示。此外,在图14ff至图14gg中,当个体1402移动时,显示注释1446并且在表示1406中逐渐更新,以跟踪人形模型1438上的所选择的点的移动。需注意,尽管所选择的点相对于个体1402的实时真实感视图(例如,图14cc中的表示1406中的个体1402的腕的表示)被选择,但是所选择的点保持相对于人形模型1438上的对应点(例如,图14ee至图14gg中的人形模型1438的腕)被跟踪。
[0406]
图14hh至图14nn示出了使用另一种类型的模型—骨骼模型1440—而不是个体1402的实时视图表示来查看运动跟踪信息的过程。图14hh至图14nn中所示的过程类似于图14aa至图14gg中的过程,除了响应于在图14kk至图14ll中选择模型控件1412,显示骨骼模型1440而不是人形模型1438。如同图14ee至图14gg中的人形模型1438,图14ll至图14nn中的骨骼模型1440跟踪并且对应于对象1402在物理环境1401中的移动,并且如同图14ff至图14gg中的注释1446,图14mm至图14nn中的注释1452在表示1406中显示并且逐渐更新以跟踪骨骼模型1440上所选择的点(例如,个体1402的腕)的移动(例如,即使相对于图14jj中的个体1402的实时视图表示而不是直接相对于骨骼模型1440来选择所选择的点)。此外,在一些实施方案中,在表示1406中用模型代替对象1402的表示会影响物理环境1401的其他方面;特别地,在图14ll至图14nn所示的示例中,不显示球拍1450的表示1448,而响应于模型控件1412的激活而显示骨骼模型1440(例如,与图14ee至图14gg中所示的示例不同,其中即使在显示人形模型1438时也继续显示球拍1450的表示1448)。
[0407]
图14oo至图14ss示出了用于从多个查看角度观察个体的运动跟踪信息的过程。在图14oo中,启用移动跟踪,如突出显示的跟踪控件1408所指示(例如,响应于对跟踪控件1408的用户选择,如本文参考图14n至图14p所述)。另外,用户使用图14pp中的接触1454来选择视角控件1414。响应于用户选择视角控件1414,用户界面1404被更新以显示个体1402的多个视图,如图14qq所示。在图14qq所示的示例中,用户界面1404包括个体1402的前视图表示1406和个体1402的顶视图表示1456。普通技术人员将容易理解,可以呈现个体1402的其他类型的视图(例如,侧视图表示)。在一些实施方案中,基于由设备100的相机和/或深度传感器收集的深度信息生成不同视图。例如,因为设备100及其相机位于个体1402的前面而
不是个体1402的上方,因此顶视图表示1456不是当前由设备100的相机捕获的视图,并且因此从上方观察的个体1402的真实感表示不可用。相反,顶视图表示1456为使用基于从前方查看的个体1402的移动而被动画化的模型(例如,在此为人形模型1438)生成(例如,根据从前方捕获的关于个体1402的深度信息)的个体1402的模拟顶视图。
[0408]
图14qq还示出了通过接触1458选择人形模型1438的腕以进行跟踪(例如,与在显示模型视图之前在对象1402的真实感表示上选择所选择的点的较早示例相反)。根据对人形模型1438的腕的选择,注释1460在前视图表示1406中显示,如图14rr至图14ss所示。注释1460跟踪人形模型1438的腕的移动,该移动对应于个体1402的腕在物理环境1401中的移动。此外,如图14rr至图14ss所示,注释1462在顶视图表示1456中显示,并且在顶视图表示1456中跟踪人形模型1438的腕的移动(例如,该移动对应于对象1402在物理环境1401中的移动,如上所述,在一些实施方案中,基于从前方捕获的关于个体1402的深度信息来模拟)。
[0409]
图15a至图15b是示出根据一些实施方案的用于扫描物理环境并且将注释添加到物理环境的捕获的媒体项目的方法1500的流程图。方法1500在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统具有显示生成部件(例如,显示器、投影仪、平视显示器等)(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))和输入设备(例如,一个或多个输入设备中的输入设备,包括触敏表面,诸如触敏遥控器,或也用作显示生成部件的触屏显示器、鼠标、触控笔、操纵杆、棒控制器和/或跟踪用户的一个或多个特征诸如用户的手的位置的相机)(例如,触摸屏112(图1a)、触控板355(图3a)或输入设备302(图3b))、处于物理环境中的一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))并且任选地具有一个或多个深度感测设备(例如,一个或多个深度传感器,诸如飞行时间传感器220(图2b))。在一些实施方案中,经由输入设备检测输入(或经由一个或多个输入设备)包括检测输入的移动,在一些实施方案中包括输入相对于输入设备或计算机系统的移动(例如,触摸输入相对于触敏表面的移动,或用户的一部分诸如用户的手指或手相对于一个或多个相机的移动)、输入设备相对于物理环境的移动(例如,鼠标、操纵杆、触控笔、棒或系统的一个或多个相机的移动)或它们的组合。方法1500中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
[0410]
如下所述,方法1500响应于用户输入,基于用户输入是否满足基于接近度的标准而显示物理环境的表示中的注释。特别地,系统确定是否约束注释(例如,图11i中的注释1150)对应于物理环境中的边缘(例如,桌子1106的边缘、图11a,如图11h中的桌子1148的边缘1146所表示)。如果注释跟踪物理环境中的(例如,物理对象的)边缘,同时保持在边缘的阈值距离内(在物理环境的表示中)(例如,如图11i中的边界框1144所示),则注释被约束为对应于边缘。当用于添加注释的用户输入保持在边缘的阈值距离内时,将注释约束为对应于物理边缘,而不是将注释保持为自由形式的注释,智能地产生与用户可能的意图一致类型的注释,使得用户可以更快地提供输入(例如,不需要缓慢而仔细地沿循边缘),并且用户不需要更改为不同的注释模式或工具。在一组条件已经被满足时(例如,自动地)执行操作,同时减少执行操作所需的输入数量和范围增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0411]
系统经由显示生成部件显示(1502)一个或多个相机的视野的第一表示。
[0412]
在一些实施方案中,一个或多个相机的视野的第一表示为(1504)实时视图表示(例如,视野的实时视图表示基于一个或多个相机的视野中物理环境的变化,以及一个或多个相机的移动)连续地或持续地(例如,以固定间隔重复)更新)(例如,在图11a至图11e中的用户界面1110-1至1110-3上显示的实时视图表示)。例如,如果一个或多个相机移动至物理环境中的不同位置(例如,从图11a至图11b中的相机位置1116-1到相机位置1116-2),则在显示生成部件上显示一个或多个相机的视野的不同的第二表示。在一些实施方案中,如果注释(例如,图11l中的注释1150')已被添加到视野的第一表示,则注释在视野的表示中继续显示在当一个或多个相机移动时相对于物理环境中的物理位置固定的位置处,而物理位置保持在一个或多个相机的视野内(例如,当用户界面1110-4中的实时视图表示被更新时,如图11r至图11y所示,注释1150'保持显示为约束到边缘1146)。将注释限制在实时视图表示中的物理对象的边缘实现用户当前所处的环境的同期注释并且智能地产生与用户可能的意图一致的类型的注释,使得用户可以更快地提供输入(例如,不需要缓慢而仔细地沿循边缘),并且用户不需要更改为不同的注释模式或工具。提供附加的控制选项并且在一组条件已经被满足时(例如,自动地)执行操作,同时减少执行操作所需的输入数量和范围增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0413]
在一些实施方案中,一个或多个相机的视野的第一表示是(1506)静止视图表示(例如,静止图像,在一些实施方案中是先前捕获的图像)(例如,图11f中的用户界面1110-3上示出的静止视图表示)。在一些实施方案中,静止视图表示包括或与对应于在静止视图表示中捕获的物理环境的深度数据相关联。例如,可以基于深度数据来测量在静止视图表示中捕获的物理环境的一个或多个特性。将注释约束到静止视图表示中的(例如,物理对象的)边缘允许用户在稍后使用捕获的环境的表示来对环境进行注释,无需连续操作相机,并且智能地生成与用户可能的意图一致类型的注释,使得用户可以更快地提供输入(例如,不需要缓慢而仔细地沿循边缘),并且使得用户不需要更改为不同的注释模式或工具。提供附加的控制选项并且在一组条件已经被满足时(例如,自动地)执行操作,同时减少执行操作所需的输入数量和范围增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0414]
系统经由输入设备接收(1508)第一绘图输入(例如,用触笔或用户手指在触敏表面上绘制)(例如,图11h的接触1142),该第一绘图输入对应于将第一注释(例如,测量线、注释、标签、手绘等)添加到视野的第一表示的请求(例如,注释将被添加到物理环境的一部分或物理环境中的对象)。
[0415]
响应于接收到第一绘图输入(1510),系统在一个或多个相机的视野的第一表示中显示(1512)沿对应于第一绘图输入的移动的路径的第一注释(例如,图11i的注释1150)(例如,沿由触控笔或用户手指在触敏表面上的移动的路径显示注释)。
[0416]
另外,响应于接收到第一绘图输入(1510),在沿对应于第一绘图输入的移动的路径显示第一注释之后,根据确定第一注释的相应部分对应于物理环境中物理对象的边缘(例如,图11h中桌子1148的边缘1146,表示图11a中桌子1106的边缘)的阈值距离(例如,由
图11i的边界框1144表示)内的一个或多个位置(例如,注释的相应部分是跟踪物理对象边缘的自由图形),系统显示(1514)被约束为对应于物理对象的边缘的注释(例如,图11l中的注释1150')。在一些实施方案中,显示被约束到物理对象的边缘的注释包括将第一注释的相应部分的显示替换为被约束为对应于物理对象的边缘的注释的显示。在一些实施方案中,显示被约束到物理对象的边缘的注释包括将第一注释的相应部分的显示变形为被约束为对应于物理对象的边缘的注释的显示。在一些实施方案中,被约束为对应于物理环境的边缘的注释在没有首先沿对应于绘图输入的移动的路径显示注释的情况下显示(例如,根据确定绘图输入的移动对应于物理对象的边缘的阈值距离内的位置)。在一些实施方案中,物理对象的边缘是直线、曲线或不规则图案,诸如z形线。例如,使用在物理环境中跟踪桌子的边缘(例如,直线边缘、弯曲边缘或不规则形状边缘)的自由形式的绘图输入来创建注释,并且任选地在(例如,响应于)自由形式的绘图输入结束(例如,接触从触敏表面诸如触敏显示器的提离)之后将注释约束到桌子的边缘,即使自由形式的绘图输入的路径不完全沿循桌子的边缘(但在边缘的阈值距离内)也是如此。
[0417]
在一些实施方案中,在(例如,响应于)检测到第一绘图输入的结束之后执行(1516)显示被约束为对应于物理对象的边缘的注释(例如,在第一绘图输入包括触控笔或用户手指在触敏表面上的接触的情况下,在(例如,响应于)检测到接触从触敏表面提离之后,自由图形(例如,沿与接触的移动相对应的路径显示的注释)被约束到相应的边缘)(例如,图11j至图11k中接触1142的提离)。在检测到第一绘图输入的结束之后,将注释的相应部分的显示替换为被约束为对应于物理对象的边缘的注释的显示智能地产生与用户可能的意图一致类型的注释,使得用户可以更快地提供输入(例如,不需要缓慢而仔细地沿循边缘),并且使得用户不需要改变为不同的注释模式或工具,并且还为用户提供视觉反馈,即在确定是否将注释约束到边缘时考虑用第一绘图输入绘制的注释的整个范围(例如,而不是在第一绘图输入进行时在约束注释和不约束注释之间切换)。在一组条件已经被满足时(例如,自动地)执行操作而无需进一步的用户输入,并且提供改进的反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0418]
在一些实施方案中,在沿对应于第一绘图输入的移动的路径显示注释(例如,图11k中的注释1150)的同时,系统显示(1518)对应于注释的一个或多个特征的测量的表示。在一些实施方案中,当绘制注释时,连续更新测量的表示。例如,如果注释是一维对象诸如线段,则测量的表示显示线段的当前长度,在绘制线时任选地带有(例如,线性)刻度,诸如标尺标记。在另一个示例中,如果注解为二维对象诸如矩形,则测量的表示示出了任选地连续更新的二维测量信息(例如,面积),并且任选地以二维对象的一维或二维的刻度显示。在一些实施方案中,相对于受约束注释显示测量的表示(例如,标签1152显示为用于图11l中的注释1150’)。在沿对应于第一绘图输入的移动的路径显示注释的同时显示对应于注释的一个或多个特征(例如,距离、面积和/或体积等)的测量的表示提供了指示关于注释的附加信息(例如,测量)的视觉反馈,而不需要用户改变到不同的注释模式或工具或者提供请求关于注释的附加信息的附加输入。用更少的用户输入提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统
进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0419]
在一些实施方案中,一个或多个相机的视野的第一表示为(1520)第一类型的视图(例如,如图11y中的用户界面1110-4上所示的第一人称视图)。在一些实施方案中,系统接收第二输入(例如,图11y中“自顶向下视图”控件1136上的接触1166),该第二输入对应于显示一个或多个相机的第二表示(例如,在图11z中用户界面1110-5所示的顶视图)的请求,该第二表示是不同于第一类型的视图的第二类型的视图(例如,触敏表面上的接触,选择对应于第二类型的视图的图形用户界面元素)。在一些实施方案中,响应于接收到第二输入,该系统:经由显示生成部件显示从一个或多个相机的视野的第一表示到一个或多个相机的视野的第二表示的动画过渡(例如,从第一表示到第二表示的逐渐过渡);并且经由显示生成部件显示一个或多个相机的视野的第二表示,包括在一个或多个相机的视野的第二表示中显示第一注释,其中该第一注释在一个或多个相机的视野的第二表示中的位置处显示,该位置对应于第一注释在一个或多个相机的视野的第一表示中显示的位置(例如,当显示器从显示图像视图切换为显示不同类型的视图,诸如三维模型视图或正交视图时,第一注释在三维的物理空间中保持静止)。例如,在图11z中的自顶向下视图中,与图11x中的第一人称视图中一样,沿桌子1148的相同边缘1146显示注释1150'。
[0420]
在一些实施方案中,第一类型的视图是对应的物理环境(例如,如图11hh所示)的图像视图(例如,真实的、真实感视图)。在一些实施方案中,第二类型的视图是对应物理环境的三维模型视图(例如,三维模型的非真实感渲染),其包括物理环境中的物理对象的三维模型的表示(例如,如图11jj所示)。在一些实施方案中,当显示三维模型视图时,物理环境和物理环境中的任何物理对象的一个或多个视觉属性,诸如颜色、色调和/或纹理,虽然存在于图像视图中,但从三维模型视图中省略(例如,在视觉细节上强调结构和/或维度信息)。
[0421]
在一些实施方案中,第二输入(对应于显示第二表示的请求)包括在滑块用户界面元素(例如,图11hh中的“滑动以淡入淡出”控件1132)上的控制元素(例如,拇指)的移动,动画过渡诸如逐渐过渡的范围取决于滑块上控制元素的位置(例如,控制元素沿滑块在一个方向上的移动将进行动画过渡,并且控制元素沿滑块沿相反方向的移动将反转该动画过渡)。例如,滑块拇指沿图11hh中的“滑动以淡入淡出”控件1132向右移动,使动画过渡从图11hh所示的状态向图11jj所示的状态进行,而滑块拇指沿“滑动以淡入淡出”控件1132向左移动将反转动画过渡(例如,使动画过渡从图11jj中所示的状态进行到图11hh中所示的状态)。
[0422]
在一些实施方案中,注释被锚定到物理空间中相对于视野的第一表示中的物理环境的固定位置,使得注释在视野的第二表示中在对应于物理空间中与视野的第二表示中表示的相同固定位置的位置显示(例如,基于第一表示的视点和第二表示的视点之间的差异,注释可以显示在相对于显示生成部件的不同位置并且任选地以不同的取向和/或比例显示)(例如,图11y中显示的注释1150'和1154,相比于图11z中显示的注释1150'和1154)。相反,如果在对应于物理空间中的特定位置的位置处在除了图像视图(例如,三维模型视图或正交视图)之外的相应视图中绘制注释,并且稍后重新显示图像视图,则注释将在对应于物理空间中相同特定位置的图像视图中显示在位置(例如,和取向和/或比例)处。
[0423]
显示从一个或多个相机的视野的第一表示到一个或多个相机的视野的第二表示的动画过渡,并且在一个或多个相机的视野的第二表示中的对应位置处显示第一注释,为用户提供不同类型的视图,从而为用户提供有关物理环境和物理环境上下文中注释的更多信息,并且使用户能够轻松地在不同视图之间过渡。用更少的用户输入提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0424]
在一些实施方案中,当显示作为不同于第一类型的视图的相应类型的视图的相应表示(例如,如图11z中所示的自顶向下视图)时,系统经由输入设备接收(1522)第二绘图输入(例如,类似于第一绘图输入,该第二绘图输入可以是使用触控笔或用户手指在触敏表面上的绘图输入)(例如,通过图11aa中的接触1170),该第二绘图输入对应于将第二注释(例如,图11bb至图11cc中的注释1176)添加到视野的相应表示(例如,正交视图中的注释)的请求。在一些实施方案中,响应于接收到第二绘图输入,系统在一个或多个相机的视野的相应表示中沿对应于第二绘图输入的移动的路径显示第二注释(例如,图11bb至图11cc中的注释1176),并且在接收到第二绘图输入之后,在一个或多个相机的视野的第一表示中显示第二注释,该第二注释沿对应于第二绘图输入的移动的路径。
[0425]
在一些实施方案中,响应于与重新显示第一表示的请求相对应的后续输入,显示视野的第一表示(例如,触敏表面上的接触,选择与第一类型的视图相对应的用户界面元素)(例如,图11ff中的“第一人称视图”控件1134上的接触1180)。在一些实施方案中,视野的第一表示与视野的第二表示同时显示(例如,如本文参考方法1000所述)。在一些实施方案中,根据确定第二注释的相应部分对应于在一个或多个相机的视野视图的相应表示中的对象(例如,三维模型视图或正交视图中的对象)的边缘(例如,图11cc中的边缘1174)内的阈值距离(例如,图11cc中的边界框1172所示)内的一个或多个位置,系统显示注释(例如,图11ee中的注释1176'),该注释被约束为对应于视野的第二表示中的对象的边缘(例如,任选地替换第二注释的相应部分的自由格式版本的显示)(例如,在其他类型的视图中绘制注释类似于在上面参考操作1514描述的在第一类型的视图中绘制注释)。
[0426]
沿与在视野的第一表示中的第二绘图输入的移动相对应的路径显示第二注释提供视觉反馈,指示一个或多个相机的视野的第一表示和第二表示之间的空间对应关系。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0427]
在一些实施方案中,系统接收(1524)第三输入,该第三输入对应于显示一个或多个相机的视野的第三表示的请求,该第三表示是与第一类型的视图不同的第三类型的视图(例如,并且不同于第二类型的视图)。在一些实施方案中,第三输入是触敏表面上的接触,选择对应于第三类型的视图的用户界面元素。在一些实施方案中,第三类型的视图是正交视图,诸如顶部正交视图。在一些实施方案中,响应于接收到第三输入,设备基于视野中的一个或多个检测到的边缘来显示作为第三类型的视图的第三表示。在一些实施方案中,注释被锚定到物理空间中相对于视野的第一表示中的物理环境的固定位置,使得注释在视野的第三表示中在对应于物理空间中与视野的第三表示中表示的相同固定位置的位置显示
(例如,基于第一表示的视点和第三表示的视点之间的差异,注释可以显示在相对于显示生成部件的不同位置并且任选地以不同的取向和/或比例显示)。响应于接收到第三输入,基于视野中的一个或多个检测到的边缘显示第三表示,为用户提供不同类型的视图,从而提供有关物理环境的更多信息。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0428]
在一些实施方案中,物理对象的边缘为(1526)弯曲边缘。例如,弯曲边缘是圆形对象(例如,圆形桌面或图11u中的杯子1159的边沿)的周边的一部分。在一些实施方案中,注释沿循物理对象的弯曲的和/或不规则的表面(例如,注释不限于以下直线边缘)。显示约束到物理对象的弯曲边缘(或表面)的注释允许注释其他类型的对象(例如,弯曲对象),并且提供添加的注释对应于弯曲边缘的视觉反馈。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0429]
应当理解,对图15a至图15b中的操作进行描述的特定次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、800、900、1000、1600、1700和1800)所描述的其他过程的细节同样以类似的方式适用于上文相对于图15a至图15b所描述的方法1500。例如,物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图以及上文参考方法1500描述的注释任选地具有物理环境、特征和对象、虚拟对象、输入、用户界面、物理环境的视图以及参考本文所述的其他方法(例如,方法700、800、900、1000、1600、1700和1800)描述的注释的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0430]
图16a至图16e是示出根据一些实施方案的扫描物理环境并且添加对应于物理环境的捕获的媒体项目中的对象的测量的方法1600的流程图。方法1600在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统具有显示生成部件(例如,显示器、投影仪、平视显示器等)(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))和一个或多个输入设备(例如,触摸屏112(图1a)、触控板355(图3a)或输入设备302(图3b)),任选地具有一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))并且任选地具有一个或多个深度感测设备(例如,一个或多个深度传感器,诸如飞行时间传感器220(图2b))。方法1600中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
[0431]
如下所述,方法1600在先前捕获的媒体项目诸如图像的至少所选择的部分上显示(例如,距离、面积、体积等的)虚拟测量(例如,图12o中的测量区段1242)和对应的标签(例如,图12m中的标签1244)。在先前捕获的媒体项目的所选择的部分上方显示虚拟测量和对应的标签提供了指示物理环境的部分的维度信息的视觉反馈。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少
了电力使用并且延长了系统的电池寿命。
[0432]
系统经由显示生成部件显示(1602)第一先前捕获的媒体项目的表示(例如,先前捕获的照片或先前捕获的视频的帧,在显示时间之前的时间捕获)(例如,图12c中的用户界面1210-2上的静止视图)。第一先前捕获的媒体项目的表示与对应于其中捕获第一媒体项目的物理环境的深度信息相关联(例如,包括)。在一些实施方案中,先前捕获的静止图像被存储在计算机系统的存储器中并且响应于指示选择先前捕获的静止图像的用户输入而被显示(例如,对应于缩略图的用户输入或对应于先前捕获的静止图像的其他用户界面元素,任选地在对应于多个先前捕获的静止图像的缩略图或用户界面元素的集合中)。在一些实施方案中,先前捕获的静止图像包括独立于(例如,不同于)物理环境的模拟三维模型的物理环境的表示。
[0433]
在显示第一先前捕获的媒体项目的表示时,系统经由一个或多个输入设备接收(1604)对应于在第一先前捕获的媒体项的表示中显示对应于在第一媒体项目(例如,图12a中的桌子1206的边缘)中捕获的物理环境的第一相应部分的第一测量的第一表示(例如,图12o中的测量区段1242)的请求的一个或多个第一输入。在一些实施方案中,一个或多个输入包括对应于在使用放置用户界面元素(例如,标线,如图12d中的标线1229)选择的图像内的第一位置处添加第一测量点(例如,图12j中的第一测量点1240)的请求的输入、对应于相对于图像移动放置用户界面元素以选择图像内的第二位置的请求的输入(例如,对应于执行一个或多个变换的请求的输入,诸如平移或缩放放置用户界面元素后面的图像),以及对应于添加第二测量点的请求的输入(例如,图12m中的第二测量点1246)在图像内的第二位置处(在一些实施方案中,这增加了从第一位置延伸到第二位置的测量区段)。在一些实施方案中,一个或多个输入(例如,仅)包括选择对应于图像中表示的不同物理元件,诸如物理边缘、表面或对象的图像或图像区域中的位置的单个输入,这(例如,自动地)添加沿物理元件延伸的测量(例如,沿表面的边缘的测量区段、分别沿表面的两个或更多个边缘的两个或更多个测量区段和/或表面上方的测量区域)。在一些实施方案中,基于图像分析,任选地基于图像的可用深度数据来确定测量的放置,以标识边缘、表面和/或对象。
[0434]
响应于接收到对应于在第一先前捕获的媒体项目(1606)的表示中显示第一测量的第一表示的请求的一个或多个第一输入,该系统:基于与第一先前捕获的媒体项目相关联的深度信息(例如,与先前捕获的媒体项目同时捕获或在时间上紧邻捕获的深度信息),经由显示生成部件在第一先前捕获的媒体项目的表示的与在第一媒体项目的表示中捕获的物理环境的第一相应部分相对应的至少一部分上显示(1608)第一测量的第一表示(例如,测量区段或区域,诸如图12o中的测量区段1242);并且经由显示生成部件显示(1610)对应于第一测量(例如,文本标签)的第一表示的第一标签,该第一标签(例如,至少部分低)基于与第一先前捕获的媒体项目相关联的深度信息来描述第一测量。在一些实施方案中,第一标签指示测量区段的长度。在一些实施方案中,第一标签指示测量区域的面积。
[0435]
在一些实施方案中,响应于接收到对应于对第一媒体项目的表示执行缩放操作(例如,放大操作)的请求的缩放输入(例如,输入设备上的捏合或松开手势,例如触敏表面)(1612),系统:重新缩放先前捕获的第一媒体项目的表示(例如,通过在保持纵横比的同时放大或缩小第一媒体项目的表示),根据第一先前捕获的媒体项目的表示的重新缩放,重新缩放第一测量的第一表示;并且经由显示生成部件显示第一先前捕获的媒体项目的重新缩
放表示的至少一部分和第一测量的重新缩放的第一表示的至少一部分。
[0436]
在缩放输入对应于缩放到先前捕获的媒体项目的表示的请求的一些实施方案中,先前捕获的媒体项目的原始表示被先前捕获的媒体项目的表示的一部分替换(例如,放大媒体项目的表示仅导致所显示的放大表示的一部分),并且第一测量的原始第一表示被替换为基于先前捕获的媒体项目的表示的(例如,重新缩放的)部分捕获物理环境的第一相应部分的程度的第一测量的第一表示的至少一部分(例如,在某些情况下,根据缩放先前捕获的媒体项目的表示,物理环境的第一相应部分被部分地缩小到视野之外,在这种情况下,第一测量的第一表示的部分相应地被部分地缩小到视野之外)。在一些实施方案中,缩放的程度取决于捏拉缩放手势的位移,并且待放大的表示的部分的位置取决于捏拉缩放手势的位置。在一些实施方案中,当显示媒体项目的放大表示时,系统接收一个或多个用户输入以移动(例如,重新定位)第一测量的(例如,放大的)第一表示的一个或多个部分。
[0437]
响应于接收到缩放输入,将第一先前捕获的媒体项目的重新缩放的表示与第一测量的重新缩放的第一表示一起显示为用户提供对媒体项目视图的增强的控制,同时自动地将虚拟测量与媒体项目一起缩放。特别地,使用户能够扩大媒体项目的表示使用户能够更精确地重新定位测量或其部分的表示。提供附加的控件选项,同时减少执行操作所需的输入数量,并且提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0438]
在一些实施方案中(例如,在显示先前捕获的媒体项目的表示时,包括显示第一测量的第一表示),系统接收(1614)一个或多个第二输入,该一个或多个第二输入对应于在第一先前捕获的媒体项目的表示中显示对应于在第一媒体项目中捕获的物理环境的第二相应部分的第二测量的第二表示(例如,图12ff中的测量区段1261)的请求。在一些实施方案中,一个或多个第二输入类似于一个或多个第一输入(例如,是与一个或多个第一输入相同类型的输入),并且被定向到媒体项目的表示内的不同位置(例如,不同对象的表示)。在一些实施方案中,响应于接收到对应于在第一先前捕获的媒体项目的表示中显示第二测量的第二表示的请求的一个或多个第二输入,系统:停止显示第一测量的第一表示(例如,图12o中的测量区段1242)和第一标签(例如,图12m中的标签1244);经由显示生成部件在对应于在第一媒体项目的表示中捕获的物理环境的第二相应部分的第一先前捕获的媒体项目的表示的至少一部分上显示第二测量的第二表示(例如,测量区段或区域,诸如图12ff中的测量区段1261);并且经由显示生成部件显示对应于第二测量(例如,文本标签)的第二表示的第二标签(例如,图12ff中的标签1259),该第二标签基于与第一先前捕获的媒体项目相关联的深度数据描述第二测量。在一些实施方案中,第二标签指示测量区段的长度。在一些实施方案中,第二标签指示测量区域的面积。
[0439]
响应于接收到与显示第二测量的第二表示的请求相对应的一个或多个第二输入,停止显示第一测量和第一标签的第一表示并且显示第二测量和第二标签的第二表示,提供物理环境对不同部分的维度信息,而不会使用户界面因可能不再感兴趣的维度信息而混乱。提供改进的视觉反馈而不使用户界面混乱增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿
命。
[0440]
然而,在一些实施方案中,代替停止显示第一测量和第一标签的第一表示,显示生成部件显示测量的表示和一个或两个标签两者(例如,保持显示第一测量的第一表示,并且任选地在显示第二测量的第二表示和第二标签时,显示第一标签),能够在先前捕获的媒体项目的表示中进行多次测量。
[0441]
在一些实施方案中,一个或多个第一输入包括(1616)对应于在第一先前捕获的媒体项目的表示上的由显示在第一个先前捕获的媒体项目的表示上的放置用户界面元素(例如,诸如图12d中的标线1229的放置指示符)指示的相应位置添加测量点的请求的输入,其中放置用户界面元素显示在相对于显示生成部件的预定义位置处(例如,预定义位置是固定的,而不考虑在先前捕获的媒体项目的表示中捕获了物理环境的哪些部分)。在一些实施方案中,响应于接收到显示变换输入,该显示变换输入对应于对第一先前捕获的媒体项目的表示执行一个或多个变换(例如,放大、缩小、平移、旋转和/或对其执行其他变换的输入)的请求,与在相对于显示生成部件的预定义位置保持放置用户界面元素的显示的同时(例如,使得放置指示符相对于显示生成部件保持静止),系统经由显示生成部件根据显示变换输入来显示第一先前捕获的媒体项目的表示的一个或多个变换。
[0442]
例如,如果显示变换输入对应于放大或缩小第一先前捕获的媒体项目的表示的请求,第一媒体项目的表示分别被放大或缩小到一定程度并且相对于基于显示变换输入确定的位置(例如,媒体项目的表示通过缩放被重新缩放的相对的原点),无需直接基于显示变换输入重新缩放放置用户界面元素。在另一个示例中,如果显示变换输入对应于平移第一先前捕获的媒体项目的表示的请求,第一媒体项目的表示被平移(例如,执行平移操作)基于显示变换输入确定的量,而无需直接基于显示变换输入改变放置用户界面元素在用户界面中的位置。在一些情况下(例如,在显示变换输入至少对应于平移先前捕获的媒体项目的表示的请求的情况下),在平移先前捕获的媒体项目的表示之前,由放置用户界面元素指示的先前捕获的媒体项目的表示中的位置对应于物理环境中的第一位置;以及在平移先前捕获的媒体项目的表示之后,由放置用户界面元素指示的先前捕获的媒体项目的表示中的位置对应于物理环境中不同于第一位置的第二位置。
[0443]
根据显示变换输入显示第一先前捕获的媒体项目的表示的一个或多个变换,同时将放置用户界面元素的显示保持在相对于显示生成部件的预定义位置处,从而为用户提供对媒体项目(例如,图像)内将添加测量点的位置的增强控制,同时保持关于用户可以期望看到测量点出现在显示器上的位置的可预测性。提供附加控制选项而不由于附加显示的控件使用户界面杂乱吧提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0444]
在一些实施方案中,第一测量的第一表示(例如,图12t中的测量区段1242)对应于(1618)在第一媒体项目中捕获的物理环境中的对象的第一维度(例如,在媒体项中捕获的框的高度),并且在接收到一个或多个第一输入之后,系统基于与第一先前捕获的媒体项目相关联的深度数据来显示对应于对象的一个或多个附加维度(例如,不同于第一维度)的一个或多个测量指示(例如,图12u的视觉指示符1248-1和1248-2)。在一些实施方案中,计算机系统在没有附加的用户输入的情况下检测和测量附加维度(例如,自动)。在一些实施方
案中,响应于选择一个或多个指示(例如,或任何相应的指示)(例如,图12u中的提示1247)的用户输入,系统:经由显示生成部件显示与对象的一个或多个附加维度相对应的测量的表示,并且结合显示第一测量的第一表示(例如,显示盒子的所有三个维度的测量);以及经由显示生成部件显示与对应于一个或多个附加维度的测量的表示相对应的一个或多个附加标签,其中一个或多个附加标签描述对应于一个或多个附加维度的测量(例如,除了第一标签之外还显示一个或多个附加标签,或者另选地,更新第一标签以描述所有测量)。
[0445]
基于与第一先前捕获的媒体项目相关联的深度数据显示对应于对象的一个或多个附加维度的测量的一个或多个指示,在接收到一个或多个第一输入之后,向用户提供有关可针对相同的对象的其他自动检测的维度进行的附加测量的反馈(例如,基于用户已经在一个维度中测量了对象,用户可能也感兴趣)。在一组条件已经被满足时(例如,自动地)提供改进的视觉反馈增强了设备的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少操作设备/与设备交互时的用户错误),从而通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
[0446]
在一些实施方案中,系统经由显示生成部件显示(1620)与物理环境的相应部分相关联的相应的视觉指示符(例如,图12oo中的虚线框1266),该视觉指示符包括相应的深度信息(例如,其中物理对象诸如物理环境中的框具有相应的深度信息,显示视觉指示符以警告用户与物理对象相关联的深度信息)。在一些实施方案中,响应于用户输入(例如,图12pp中的接触1270)对视觉指示符的选择,基于深度信息显示物理对象的测量。显示与包括相应深度信息的物理环境的相应部分相关联的相应视觉指示符为用户提供了与物理对象相关联的深度信息可用并且可以对物理对象进行测量的视觉反馈。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0447]
在一些实施方案中,响应于接收到与显示第二先前捕获的媒体项目(例如,第二先前捕获的照片或视频)的表示的请求相对应的输入,系统经由显示生成部件显示(1622)第二先前捕获的媒体项目的表示,包括根据确定第二先前捕获的媒体项目与对应于物理环境的第一相应部分的至少一部分的深度信息相关联(例如,包括)深度信息(例如,第一测量所对应的物理空间中的相同位置),在第二先前捕获的媒体项项目中捕获的物理环境的第一相应部分的至少一部分上显示第一测量的第一表示的至少一部分(例如,以及第一标签)。在一些实施方案中,第一测量的第一表示显示在第二先前捕获的媒体项目上方,以便对应于与在第一先前捕获的媒体项目中的物理空间中的位置相同的位置。更一般地,在一些实施方案中,接收对应于显示第二对象的请求的输入(例如,诸如不同(例如,先前捕获的)媒体项的表示、三维模型视图、正交视图等),并且作为响应显示第二对象,包括基于对应于在第一先前捕获的媒体项目和第二对象的第一表示中捕获的物理环境的重叠部分的一个或多个注释,显示来自第二对象中的第一先前捕获的媒体项目的第一表示的一个或多个注释(例如,绘图注释、测量的表示、虚拟对象等)。
[0448]
在捕获在第一媒体项目中添加虚拟测量的物理环境的部分或全部相同部分的第二媒体项目(例如,第二图像)中显示虚拟测量时,使用户能够在不同表示之间切换时在上下文中可视化虚拟测量,而无需用户重复添加虚拟测量的过程。提供改进的视觉反馈增强
了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0449]
在一些实施方案中,系统接收(1624)一个或多个输入,该一个或多个输入对应于对在上方显示第一测量的第一表示的第一先前捕获的媒体项目的表示的部分执行一个或多个变换的请求(例如,对应于收缩(例如,缩小)第一先前捕获的媒体项目的表示的部分和/或平移或滚动第一先前捕获的媒体项目的表示的请求的输入,使得第一先前捕获的媒体项目的表示的部分部分地移出视野,或者,在涉及一个或多个相机的实时取景的实施方案中,对应于缩小或移动一个或多个相机的视野的请求的输入,使得显示第一测量的第一表示的实时视图的部分缩小和/或部分地移出视图)。在一些实施方案中,响应于接收到对应于对执行第一先前捕获的媒体项目的表示的部分的一个或多个变换的请求的一个或多个输入,系统:执行第一先前捕获的媒体项目的表示的至少一部分的一个或多个变换(例如,同时在第一先前捕获的媒体项目的表示的变换部分上保持显示第一测量的第一表示);并且根据确定响应于接收到一个或多个输入而执行的一个或多个变换将第一先前捕获的媒体项目的表示的部分的大小减小到低于阈值大小的大小(例如,使得第一测量的第一表示相应地减小至低于阈值显示大小),停止显示对应于第一测量的第一表示的第一标签。
[0450]
在一些实施方案中,根据确定与物理环境的第一相应部分相对应的第一测量的第一表示以至少为阈值的视觉属性(例如,长度或面积)来显示,显示对应于第一测量的第一表示的第一标签(例如,达到或超过显示器上的最小阈值距离或面积)。换句话讲,在一些实施方案中,根据确定响应于接收到一个或多个输入而执行的一个或多个变换将第一先前捕获的媒体项目的表示的部分的大小减小到高于阈值大小的大小,系统保持显示对应于第一测量的第一表示的第一标签。在一些实施方案中,根据确定对应于在媒体项目中捕获的物理环境的第一相应部分的第一测量的第一表示以低于阈值的视觉属性(例如,长度或面积)来显示(例如,低于,或等于或低于显示器上的最小阈值距离或面积),系统放弃显示第一标签。
[0451]
在一些实施方案中,对于对应于显示对应于物理环境的相应部分的测量的表示的请求的任何相应输入,如果测量满足阈值测量值,则计算机系统显示测量的所请求表示和对应的标签;如果测量结果不满足阈值测量值,则计算机系统显示测量的所请求的表示并且放弃显示对应的标签(例如,或另选地,放弃显示测量的请求的表示和对应的标签两者)。
[0452]
在媒体项目的平移/滚动或缩放导致测量的表示以低于阈值大小的大小显示时停止显示媒体项目测量的标签(例如,由于平移/滚动使得所显示的测量区段太少以及/或者缩小得太远以至于测量区段收缩得太小),向用户提供视觉反馈,指示第一测量已达到阈值显示大小,并且避免用户界面因测量的标签而混乱,这些标签相对于所显示的媒体项目的其余部分来讲太小。提供改进的视觉反馈而不使用户界面混乱增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0453]
在一些实施方案中,系统接收(1626)输入,该输入对应于放大(例如,缩放放大)第一先前捕获的媒体项目的表示的显示第一测量的第一表示(例如,图12ff中的测量段1261)
的部分的请求,并且,响应于接收到与放大显示第一测量的第一表示的第一先前捕获的媒体项目的表示的部分的请求相对应的输入:系统放大第一先前捕获的媒体项目的表示,包括显示第一测量的第一表示的部分;并且,根据确定第一先前捕获的媒体项目的放大表示的显示部分被放大超过预定义放大阈值(例如,用户已经过度放大到先前捕获的媒体项目的表示中,使得先前捕获的媒体项目的表示的剩余所显示的部分以高于阈值缩放因子的缩放因子或另一种方式显示,使得先前捕获的媒体项目的表示的剩余所显示的部分表示小于先前捕获的媒体项目的整个表示的阈值分数或百分比),系统停止显示第一标签(例如,图12ff中的标签1259)(例如,并且在一些实施方案中,停止在第一媒体项目的放大的表示的所显示部分内显示所有标签)。在一些实施方案中,根据确定放大的第一先前捕获的媒体项目的显示部分未放大超出预定义放大阈值,系统维持第一标签的显示。
[0454]
在一些实施方案中(例如,在放大第一媒体项目的表示时),第一测量的第一表示也被放大(例如,以对应的量,使得在缩放期间保持第一测量的第一表示在第一先前捕获的媒体项目的表示的对应部分上的显示)。例如,对象的表示根据放大第一媒体项目的表示而被放大,并且对应于对象的测量的表示也被放大,使得对象的测量的表示继续显示在对象的(例如,放大的)表示上方。在一些实施方案中,放大第一媒体项目的表示包括停止显示第一媒体项目的表示的在显示器之外放大的部分。类似地,在一些实施方案中,放大第一测量的第一表示包括停止显示在显示器之外放大的第一测量的第一表示的部分。
[0455]
根据确定媒体项目已被放大成使得第一媒体项目的放大的表示的所显示部分被放大超过阈值停止显示第一标签,向用户提供改进的视觉反馈,指示第一媒体项目的表示已达到阈值放大程度(例如,阈值缩放因子),并且避免使用相对于媒体项目的所显示(例如,放大)部分过大的测量标签使用户界面混乱。提供改进的视觉反馈而不使用户界面混乱增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0456]
在一些实施方案中,对应于第一测量的第一表示的第一标签(例如,图12y中的标签1244)(1628)显示在显示生成部件的预先确定的部分(例如,显示区域)中(例如,显示在显示器的底部,如图12y所示)。更一般地,在一些实施方案中,用于测量的相应表示的(例如,被选择或用户进行交互的)一个或多个标签显示在显示生成部件的预先确定的部分中。在显示生成部件的预定部分中显示对应于第一测量的第一表示的第一标签,在用户界面中提供呈一致并且可预测的位置的测量信息,而不是要求用户在视觉上搜索用户界面以获得测量信息。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0457]
在一些实施方案中,一个或多个第一输入包括(1630)在第一先前捕获的媒体项目的表示中选择对象(例如,深度信息可用的对象)的表示(例如,图12pp中的桌子1206的表示),并且第一测量的第一表示包括对象的一个或多个测量(例如,维度信息)。响应于选择对象的表示而显示对象的一个或多个测量(例如,通过图12pp中的接触1270),响应于最小数量的输入而提供关于对象的信息(例如,一个或多个测量)。减少执行操作所需的输入的数量增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期
结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0458]
在一些实施方案中,一个或多个第一输入包括(1632)一个输入(例如,仅一个输入,例如图12pp中的接触1270),并且在第一媒体项目的表示的至少部分上显示第一测量的第一表示包括在包括对象的表示的第一媒体项目的表示的一部分上显示对象的多个维度的测量的多个相应表示(例如,如图12qq所示的测量区段1271-1、1271-2和1271-3)。例如,如果对象为长方体,对第一媒体项目中长方体表示的单次选择,例如在触敏表面上与显示的长方体相对应的位置处的轻击,导致显示立方体的多维测量,诸如高度、宽度和/或长度,如本文参考图12oo至图12qq所述。在一些实施方案中,设备响应于显示第一媒体项目的请求而显示对象的多维测量,而无需附加的输入(例如,当显示媒体项目时,自动显示具有深度信息的对象的维度测量)。响应于一个输入而显示对象的多个维度的多个测量减少了对对象进行多次测量所需的输入数量和时间量。减少执行操作所需的输入的数量增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0459]
在一些实施方案中,系统接收(1634)对应于显示物理环境的正交视图的请求的输入,并且响应于接收到对应于显示物理环境的正交视图(例如,楼层平面视图)的请求的输入,系统经由显示生成部件显示物理环境的正交视图(例如,图12r中的用户界面1210-9上的顶部正交视图),包括在正交视图中显示在正交视图中对应于物理环境的第一相应部分的位置处的第一测量的表示。响应于显示物理环境的正交视图的请求,在先前视图中显示已经添加的正交视图和虚拟测量结果两者为用户提供不同类型的视图,并且因此提供关于物理环境和添加的测量的更多信息,而无需用户重复添加虚拟测量的过程。为用户提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0460]
在一些实施方案中,在对应于在第一媒体项的表示中捕获的物理环境的第一相应部分的第一先前捕获的媒体项的表示的至少一部分上显示第一测量的第一表示时,系统接收(1636)输入,该输入对应于在物理环境中显示对象的分解视图的请求,并且响应于在分解视图中接收到对应于在物理环境中显示对象的请求的输入,系统经由显示生成部件显示对象的多个子组件,这些子组件彼此之间的间距大于子组件在物理空间中的间距。换句话讲,对象的多个子组件在分解视图中显示,其中对象的元素在空间中按距离略微分开显示,并且一个或多个元素任选地标记有基于关于对象的深度信息的测量。在一些实施方案中,分解视图被显示为正交视图(例如,分离的多个子部件的二维表示)。在一些实施方案中,分解视图被显示为图像视图(例如,分离的多个子部件的真实感视图,或者另选地,三维模型视图)。在一些实施方案中,对应于显示分解视图的请求的输入包括移动滑块用户界面元素的控制元件(例如,滑块拇指)的请求,并且控制元件在滑块上的位移对应于分解视图的程度(例如,子组件分开的程度)。
[0461]
显示对象的分解视图不仅为用户提供不同类型的视图,因此提供关于物理对象的更多信息,而且还使用户能够单独可视化物理对象的不同部分,并且为用户提供有关这些
部分的更详细信息。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0462]
在一些实施方案中,计算机系统包括一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b)),并且系统经由显示生成部件显示(1638)在一个或多个相机的视野中的相应的物理环境的至少一部分的表示(例如,当一个或多个相机的视野由于一个或多个相机的移动和/或一个或多个对象在一个或多个相机的视野中的移动而改变时的实时表示),其中在一个或多个相机的视野中的相应物理环境的部分的表示与对应于相应物理环境的至少一部分的深度信息相关联(例如,包括)。在一些实施方案中,在显示一个或多个相机的视野中的相应物理环境的部分的表示时,系统经由一个或多个输入设备接收对应于在一个或多个相机的视野中的相应物理环境的部分的表示中显示对应于相应物理环境的相应部分的第三测量的第三表示的请求的一个或多个第三输入。在一些实施方案中,响应于接收到一个或多个第三输入,该一个或多个第三输入对应于在一个或多个相机的视野中的相应物理环境的部分的表示中显示第三测量的第三表示的请求,系统:经由显示生成部件显示在对应于相应物理环境的相应部分的一个或多个相机的视野中的相应物理环境的部分的表示的至少一部分上的第三测量的第三表示;并且经由显示生成部件显示对应于第三测量的第三表示的第三标签,该第三标签基于与一个或多个相机的视野中的相应物理环境的部分的表示相关联的深度数据描述第三测量。
[0463]
在物理环境的实时视图上显示虚拟测量使得用户能够进行用户当前所处的物理环境的同期测量。提供附加的控制选项和改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0464]
在一些实施方案中,显示相应物理环境的至少一部分的表示包括(1640)更新一个或多个相机的视野中的相应物理环境的部分的表示,以包括在一个或多个相机的视野移动时处于(例如,进入)一个或多个相机的视野中的物理环境的相应部分的表示。在一些实施方案中,当更新一个或多个相机的视野中的相应物理环境的部分的表示时,系统在一个或多个相机的视野中的相应物理环境的部分的表示中显示在一个或多个相机的视野移动时处于(例如,进入)一个或多个相机的视野中的对应于一个或多个物理对象的相应测量(例如,或者在一些实施方案中,测量的一个或多个表示,任选地带有标签,诸如图12nn中的测量区段)的一个或多个指示。当相机移动时,在更新物理环境的实时视图时显示测量的指示,为用户提供关于物理环境的附加信息和可以在用户用相机扫描物理环境时进行的测量的指示。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0465]
应当理解,对图16a至图16e中的操作进行描述的特定次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、800、900、1000、1500、1700和1800)所描述的其他过程的细节同样以类似的
方式适用于上文相对于图16a至图16e所描述的方法1600。例如,上文参考方法1600描述的物理环境、特征和对象、虚拟对象、输入、用户界面、物理环境的视图、媒体项目和注释(例如,测量的表示)任选地具有参考本文所述的其他方法(例如,方法700、800、900、1000、1500、1700和1800)描述的物理环境、特征和对象、虚拟对象、输入、用户界面、物理环境的视图、媒体项目和注释(例如,测量的表示)的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0466]
图17a至图17d是示出根据一些实施方案的在显示的媒体项目与由用户选择以供查看的不同媒体项目之间转变的方法1700的流程图。方法1700在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统具有显示生成部件(例如,显示器、投影仪、平视显示器等)(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))和一个或多个输入设备(例如,触摸屏112(图1a)、触控板355(图3a)或输入设备302(图3b)),任选地具有一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))并且任选地具有一个或多个深度感测设备(例如,一个或多个深度传感器,诸如飞行时间传感器220(图2b))。方法1700中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
[0467]
如下所述,方法1700基于第一先前捕获的媒体项目的第一视点和第二先前捕获的媒体项目的第二视点之间的差异来显示从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡,从而为用户提供视觉反馈,该视觉反馈不仅指示在表示两个不同物理环境的两个先前捕获的媒体项目之间正在发生过渡,而且还使用户能够更快地确定每个媒体项目相对于彼此以及相对于物理环境被捕获的视点之间的关系。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0468]
系统经由显示生成部件从第一视点(例如,由相机位置1303-5和视野1305-5指示)显示(1702)第一先前捕获的媒体项目(例如,图13k中的用户界面1314中的rgb图像,诸如媒体项目1326)的包括第一物理环境(例如,物理环境1300的第一部分)的表示的表示。
[0469]
系统经由一个或多个输入设备接收(1704)输入(例如,触敏显示器上的轻扫手势,诸如通过图13l中的接触1330的向右轻扫),该输入对应于显示包括从第二视点(例如,由图13n中的相机位置1303-4和视野1305-4指示)的第二物理环境(例如,物理环境的第二部分1300)的表示的第二先前捕获的媒体项目(例如,图13n中的其他rgb图像,诸如媒体项目1332)的表示的请求。在一些实施方案中,显示第二先前捕获的媒体项目的表示的请求是用第二先前捕获的媒体项目的表示来替换第一先前捕获的媒体项目的表示的显示的请求。在一些实施方案中,第一先前捕获的媒体项目和第二先前捕获的媒体项目的表示是从不同视点(例如,不同视角)获取的静止图像(例如,或视频的初始帧)。
[0470]
响应于接收到对应于显示第二先前捕获的媒体项目的表示的请求的输入(1706):根据确定第二先前捕获的媒体项目的一个或多个属性(例如,设备在物理环境中的确定的位置、物理环境的可见部分、物理环境的视点、捕获时间或时间戳等)相对于第一先前捕获的媒体项目的一个或多个对应属性(例如,物理环境、视点、时间戳等)满足接近度标准(1708):系统显示(1710)基于第一先前捕获的媒体项目的第一视点和第二先前捕获的媒体
项目的第二视点之间的差异确定的从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡(例如,图13m中所示的动画过渡)(例如,根据确定在第一先前捕获的媒体项目的第一视点和第二先前捕获的媒体项目的第二视点之间存在第一差异,动画过渡具有第一外观,并且根据确定在第一先前捕获的媒体项目的第一视点和第二先前捕获的媒体项目的第二视点之间存在不同于第一差异的第二差异,动画过渡具有不同于第一外观的第二外观)。
[0471]
在一些实施方案中,接近度标准包括环境重叠要求,要求在第一静止图像中表示的第一物理环境的至少一部分和在第二静止图像中表示的第二物理环境的至少一部分对应于相同物理环境的相同部分(任选地要求至少阈值程度或重叠量)。在一些实施方案中,接近标准包括视点接近要求,要求捕获第一图像的第一视点(例如,相机位置)和捕获第二图像的第二视点(例如,相机位置)彼此相距在预定义的阈值距离内。在一些实施方案中,接近标准包括捕获时间接近要求,要求第一图像和第二图像在彼此的预定义的阈值量的时间内被捕获(例如,对应于第一图像的捕获时间的时间戳在对应于第二图像的捕获时间的时间戳的预定义的阈值量的时间内)。在一些实施方案中,接近标准包上文所讨论的(例如,两个或更多个)要求的任何组合,任选地不考虑是否满足未包括在接近标准中的任何要求(例如,接近标准包括任选地在不考虑是否满足环境接近要求的视点接近要求(例如,不考虑第一图像是否包括物理环境的任何部分的在第二图像中也表示的表示))。本领域的普通技术人员将认识到,包括在接近标准中的要求不限于以上讨论的那些要求。
[0472]
在一些实施方案中,动画过渡包括基于第一视点和第二视点之间的差异的第一先前捕获的媒体项目的一个或多个变换(例如,在图13j和图13m中旋转,在图13w至图13x中放大,以及/或者在图13aa至图13cc中平移)。在一些实施方案中,动画过渡包括基于第一视点与第二视点之间的差异的第二先前捕获的媒体项的一个或多个变换(例如,旋转、缩放和/或平移,任选地对应于对第一先前捕获的媒体项目的变换)。在一些实施方案中,从第一静止图像过渡到第二静止图像涉及以下各项中的任何组合:平移(例如,从第一视点到第二视点的视角转变,使得第一静止图像开起来从显示生成部件的视野移出,并且第二静止图像看起来在与第一向量相反的方向上移动到显示生成部件的视野中);缩放(例如,从第一视点到第二视点的视角转变,表现为朝向或远离第一静止图像中的对象的移动,而在第二静止图像中分别表现为更近或更远);旋转(例如,其中第二视点相对于出现在第一静止图像和第二静止图像中的对象,相对于第一视点相对于第一静止图像中的个体旋转),以及/或者以其他方式扭曲第一静止图像以模拟朝向第二静止图像的第二视点的移动(例如,以模拟在物理空间中从第一视点到第二视点的移动期间的视图变化)。示例性变换,它们的任何组合都可以包括在两个媒体项目之间的动画过渡中,在本文中关于操作1714、1716、1718和1720以及图13j、图13m、图13p至图13q、图13w至图13x和图13aa至图13cc更详细地描述。
[0473]
在一些实施方案中,响应于接收到对应于显示第二先前捕获的媒体项目的表示的请求的输入(1706):根据确定第二先前捕获的媒体项目的一个或多个属性不满足相对于第一先前捕获的媒体项目的一个或多个对应属性的接近度标准(1712):系统显示第二先前捕获的媒体项目的表示,而不显示基于第一先前捕获的媒体项目的第一视点和第二先前捕获的媒体项目的第二视点之间的差异确定的从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡(例如,当在图13o中的媒体项目1332和图13r中的媒体
项目1337之间切换时,不显示基于视角的动画过渡,因为媒体项目1332和媒体项目1337不满足接近度标准)。在一些实施方案中,显示生成部件显示不同的过渡,该过渡不是基于视点的过渡,诸如滑动显示风格过渡(例如,图13p至图13q中的过渡不是基于视角的动画过渡)。在一些实施方案中,显示生成部件不显示从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的任何过渡。
[0474]
在一些实施方案中,确定第二先前捕获的媒体项目的一个或多个属性不满足相对于第一先前捕获的媒体项目的一个或多个对应属性的接近标准包括,确定第一先前捕获的媒体项目和第二先前捕获的媒体项目重叠小于阈值量(例如,基于第一物理环境与第二物理环境之间的重叠程度确定)。在一些实施方案中,确定第二先前捕获的媒体项目的一个或多个属性不满足相对于第一先前捕获的媒体项目的一个或多个对应属性的接近标准包括,确定第一先前捕获的媒体项目和第二先前捕获的媒体项目未在彼此的预定义阈值距离内被捕获。在一些实施方案中,确定第二先前捕获的媒体项目的一个或多个属性不满足相对于第一先前捕获的媒体项目的一个或多个对应属性的接近标准包括,确定第一先前捕获的媒体项目和第二先前捕获的媒体项目未在彼此的预定义的阈值量的时间内被捕获。在一些实施方案中,确定第二先前捕获的媒体项目的一个或多个属性不满足相对于第一先前捕获的媒体项目的一个或多个对应属性的接近标准包括,确定第一先前捕获的媒体项目和第二先前捕获的媒体项目未在相同的相机会话中被捕获。
[0475]
显示第二先前捕获的媒体项目的表示,而不显示根据确定第二先前捕获的媒体项目的一个或多个属性不满足接近度标准的从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡为用户提供改进的视觉反馈,指示未满足接近度标准(例如,两个媒体项目被捕获的时间或空间太远)并且避免显示由于可用物理环境信息不足而可能不准确或不定向的动画过渡(例如,在第一视点和第二视点之间的物理环境的部分的信息不可用的情况下)。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0476]
再次参考操作1710,在一些实施方案中,显示动画过渡包括(1714)逐渐淡化第一先前捕获的媒体项目的表示的一个或多个视觉属性。在一些实施方案中,在先前捕获的媒体项目的第一表示和先前捕获的媒体项目的第二表示两者为rgb(例如,并且在一些实施方案中是真实感的)图像的情况下,在动画过渡期间,第一表示的颜色、纹理、色调和其他视觉属性逐渐淡化以在动画过渡期间仅显示维度信息(例如,呈黑白或灰度)。在动画过渡期间逐渐淡化第一先前捕获的媒体项目的表示的一个或多个视觉属性通过指示正在发生媒体项目之间的过渡并且更快速地将用户定向到第二媒体项目的视点(例如,通过强调媒体项目中的主要特征并且在过渡期间省略过多的细节)来向用户提供改进的视觉反馈。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0477]
在一些实施方案中,第一视点和第二视点之间的差异包括(1716)从第一视点到第二视点的向前或向后移动(例如,相机或观看者沿z方向相对于第一先前捕获的媒体项目的
移动)并且显示动画过渡包括至少部分地通过重新缩放第一先前捕获的媒体项目的表示来模拟沿从(例如,开始于)第一视点延伸到(例如,结束于)第二视点的向量的移动(例如,以第一方式,例如从第一视点放大以向前移动,或从第一视点缩小以向后移动,并且,在一些实施方案中,任选地以相同的第一方式重新缩放第二先前捕获的媒体项目的表示(例如,放大以朝向第二视点向前移动,或缩小以朝向第二视点向后移动)),同时逐渐停止显示第一先前捕获的媒体项目的表示并且逐渐显示第二先前捕获的媒体项目的表示(例如,图13w至图13x中所示的过渡)。
[0478]
例如,在视点的变化对应于从第一视点到第二视点的向后移动(例如,使得第一媒体项目的表示对应于来自第二视点的视野的子集)的情况下,动画过渡包括收缩(例如,缩小,任选地保持纵横比)第一媒体项目的表示,并且任选地,将第二媒体项目的表示从第二媒体项目的表示的部分视图(例如,对应于第一视点的部分)缩小到第二媒体项目的表示的完整视图。在另一个示例中,在视点的变化对应于从第一视点到第二视点的向前移动的情况下,动画过渡包括放大(例如,缩放放大,任选地保持纵横比)第一媒体项目的表示,并且任选地,将第二媒体项目的表示从第二媒体项目的表示的缩小视图放大(例如,使得第二媒体项目的表示仅占据显示器的一部分并且与第一媒体项目的表示的对应部分重叠)到第二媒体项目的表示的全显示视图。
[0479]
显示包括重新缩放第一媒体项目,同时用第二媒体项目逐步替换第一媒体项目的动画过渡向用户提供视觉反馈,指示捕获第二媒体项目的视点对应于捕获第一媒体项目的视点在物理环境内的向前或向后移动。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0480]
在一些实施方案中,第一视点和第二视点之间的差异包括(1718)从第一视点旋转到第二视点(例如,对应于相机围绕其滚动轴(相对于第一先前捕获的媒体项目的z轴)的旋转,类似于一个人向左或向右倾斜其头部,从而导致例如水平线相对于相机的视野边缘的旋转,诸如媒体项目1315(图13h)和1326(图13k)的相机视点之间的差异;相机围绕其俯仰轴(相对于第一先前捕获的媒体项目的x轴)旋转,类似于人抬起或低下头来向上或向下看;以及/或者相机围绕其偏航轴(相对于第一先前捕获的媒体项目的y轴)的旋转,类似于人转头向左或向右看,诸如媒体项目1326和1332的相机视点之间的差异)。在一些实施方案中,显示动画过渡包括将第一先前捕获的媒体项目的表示从与第一先前捕获的媒体项目的表示的第一视点相关联的第一视图旋转和/或倾斜到与第二先前捕获的媒体项目的表示的第二视点相关联的第二视图(任选地同时逐渐停止显示第一先前捕获的媒体项目的表示并且逐渐显示第二先前捕获的媒体项目的表示)。在一些实施方案中,在逐步显示第二先前捕获的媒体项目的表示时,第二先前捕获的媒体项目的表示被(例如,也)从与第一视点相关联的视图旋转和/或倾斜到与第二视点相关联的视图(例如,如图13j中从媒体项目1315到媒体项目1326的过渡中,以及在图13m中从媒体项目1326到媒体项目1332的过渡中)。
[0481]
显示包括第一媒体项目的旋转的从第一媒体项目到第二媒体项目的动画过渡,向用户提供视觉反馈,指示捕获第二媒体项目的视点在物理环境中相对于捕获第一媒体项目的视点旋转。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效
(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0482]
在一些实施方案中,第一视点和第二视点之间的差异包括(1720)从第一视点到第二视点的侧向移动(例如,相机或观察者的)(例如,对应于相机在物理空间中的物理位移,同时将透镜保持在恒定角度(沿x轴和/或y轴相对于第一先前捕获的媒体项目的平移),诸如媒体项目1348和媒体项目1354的相机视点之间的差异),并且显示动画过渡包括基于从第一视点到第二视点的侧向移动将第一先前捕获的媒体项目的表示(例如,并且沿某一方向)侧向移动(例如,平移)一定量(任选地同时逐渐停止显示第一先前捕获的媒体项目的表示并且逐渐显示第二先前捕获的媒体项目的表示)(例如,图13aa至图13cc中的过渡)。在一些实施方案中(例如,当逐渐显示第二先前捕获的媒体项目的表示时),第二先前捕获的媒体项目的表示基于第一视点与第二视点之间的差异而侧向偏移一定量。例如,当第二视点在第一视点的右侧时,第一先前捕获的媒体项目从显示器的中心向左移位,看起来朝向左侧移动“远离”显示器,而任选地,第二先前捕获的媒体项目朝向显示器的中心向左移位,看起来从右侧移动“到”显示器上。
[0483]
在一些实施方案中,动画过渡中的移位在基于第一视点与第二视点之间的差的方向上,而不考虑对应于显示第二先前捕获的媒体项目的表示的请求的输入的方向。例如,尽管输入可包括向左轻扫手势,但如果第二视点在第一视点的左侧,则动画过渡包括第一先前捕获的媒体项目和第二先前捕获的媒体项目的向右移动,而不考虑输入的方向(在该示例中为向左),使得第一先前捕获的媒体项目从显示器的中心向右移动,看起来向右移动“离开”显示器,而第二先前捕获的媒体项目朝向显示器的中心向右移动,看起来从左侧移动“到”显示器上,从而模拟从第一视点到第二视点的移动。
[0484]
显示包括第一媒体项目的侧向平移的从第一媒体项目到第二媒体项目的动画过渡,向用户提供视觉反馈,指示捕获第二媒体项目的视点在物理环境中侧向移动(例如,到捕获第一媒体项目的视点的一侧)。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0485]
再次参考操作1712,在一些实施方案中,确定第二先前捕获的媒体项目的一个或多个属性相对于第一先前捕获的媒体项目的一个或多个对应属性不满足接近度标准包括(1722),确定第一先前捕获的媒体项目的捕获时间(例如,由与第一先前捕获的媒体项目相关联的时间戳指示)与第二先前捕获的媒体项目的捕获时间(例如,由与第一先前捕获的媒体项目相关联的时间戳指示)之间的时间量大于(另选地,大于或等于)预定义阈值量的时间。如果在第一先前捕获的媒体项目的捕获时间与第二先前捕获的媒体项目的捕获时间之间的时间量大于预定义阈值时间量,那么通过指示不满足接近度标准(例如,两个媒体项目被捕获的时间间隔太远)并且避免显示可能由于有关可用物理环境的信息不足或不准确而可能不完整或不定向的动画过渡为用户提供改进的视觉反馈(例如,由于视觉里程计的限制,当相机捕获暂时中断或发生的时间间隔太远时,导致对物理环境的捕获或评估不准确)。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够
更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0486]
在一些实施方案中,确定第二先前捕获的媒体项目(例如,图13hh中的媒体项目1358)的一个或多个属性相对于第一先前捕获的媒体项目(例如,图13ee中的媒体项目1354)的一个或多个对应属性不满足接近度标准包括(1724),确定其中捕获第一先前捕获的媒体项目的第一相机会话与捕获第二先前捕获的媒体项目的第二相机会话不同。在一些实施方案中,当响应于请求显示相机应用程序用户界面的用户输入而最初显示相机应用程序用户界面时发起相机捕获会话,并且在相机应用程序用户界面被解除时结束(例如,而不存在相机应用程序用户界面的任何干预性解除)。可以在相机捕获会话期间捕获和/或记录一个或多个媒体项目。根据确定捕获第一先前捕获的媒体项目的第一相机会话与捕获第二先前捕获的媒体项目的第二相机会话不同而放弃显示动画过渡,通过避免显示由于可用物理环境信息不足或不准确而可能不完整或不定向的动画过渡为用户提供了改进的视觉反馈(例如,由于需要通过相机持续查看物理环境的视觉里程计的限制,导致当相机会话结束时相机捕获中断时,对物理环境的评估不准确)。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0487]
在一些实施方案中,确定第二先前捕获的媒体项目(例如,图13hh中的媒体项目1358)的一个或多个属性不满足相对于第一先前捕获的媒体项目(例如,图13ee中的媒体项目1354)的一个或多个对应属性的接近度标准包含(1726),确定第一先前捕获的媒体项目的捕获位置(例如,由与第一先前捕获的媒体项目相关联的地理位置标识符(例如gps坐标)指示)和第二先前捕获的媒体项目的捕获位置(例如,如由与第二先前捕获的媒体项目相关联的地理位置标识符指示)之间的距离大于(另选地,大于或等于)预定义阈值距离。根据确定第一先前捕获的媒体项目的捕获位置与第二先前捕获的媒体项目的捕获位置之间的距离大于预定义阈值距离放弃显示动画过渡,为用户提供改进的视觉反馈,指示不满足接近度标准(例如,两个媒体项目被捕获的空间间隔太远),并且避免显示由于关于第一视点和第二视点之间的物理环境的部分的信息不可用而可能不准确或不定向的动画过渡。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0488]
在一些实施方案中,确定第二先前捕获的媒体项目的一个或多个属性相对于第一先前捕获的媒体项目(例如,图13o中的媒体项目1332)的一个或多个对应属性不满足接近度标准包括(1728),确定第一先前捕获的媒体项目中表示的第一物理环境与第二先前捕获的媒体项目(例如,图13r中的媒体项目1337)中表示的第二物理环境之间的空间重叠量小于空间重叠的预定义阈值量。在一些实施方案中,通过将指示在第一媒体项目中表示的第一物理环境的深度信息(例如,包括在第一媒体项目中的深度信息)与指示在第二媒体项目中表示的第二物理环境的深度信息(例如,包括在第二媒体项目中的深度信息)进行比较来确定空间重叠量。例如,在确定空间重叠的量期间,第二先前捕获的媒体项目的一部分被映射到第一先前捕获的媒体项目的一部分。
[0489]
根据确定在第一先前捕获的媒体项中表示的第一物理环境与在第二先前捕获的
媒体项中表示的第二物理环境之间的空间重叠量小于预定义阈值,放弃显示动画过渡,为用户提供了改进的视觉反馈,指示不满足接近度标准(例如,两个媒体项目被捕获的空间间隔太远),并且避免由于有关第一视点和第二视点之间的物理环境部分的信息不可用而显示可能不准确或不定向的动画过渡(例如,如果第一媒体项目的右下角至多与第二媒体项目的左上角重叠,则由第一媒体项目捕获的部分右侧和由第二媒体项目捕获的部分上方的物理环境信息将丢失,并且类似地,关于由第一媒体项目捕获的部分下方和由第二媒体项目捕获的部分左侧的物理环境的信息也将丢失)。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0490]
在一些实施方案中,根据确定已经在第一物理环境中的一个或多个第一位置处捕获一个或多个第一附加的媒体项目(例如,不同于第一先前捕获的媒体项目),系统在第一先前捕获的媒体项目的表示中显示(1730)指示物理环境中的一个或多个第一位置的一个或多个第一指示符(例如,图13h中的视觉指示符1317)。在一些实施方案中,根据确定一个或多个第二附加的媒体项目(例如,不同于第二先前捕获的媒体项目;任选地,一个或多个第二附加的媒体项目包括在第二物理环境中的一个或多个第二位置处捕获的第一附加的媒体项目中的一个或多个第一附加的媒体项目,系统在第二先前捕获的媒体项目的表示中显示指示第二物理环境中的一个或多个第二位置的一个或多个第二指示符。在一些实施方案中,指示符被显示为部分透明,以免完全遮挡上方显示指示符的相应媒体项目的表示的部分。在媒体项目的相应表示中显示指示已经捕获其他媒体项目的一个或多个指示符为用户提供改进的视觉反馈,指示从用户可以探索物理环境的附加视点捕获的附加的先前捕获的媒体项目。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0491]
在一些实施方案中,在显示第一先前捕获的媒体项目的表示时,系统在对应于第一物理环境的一部分的第一先前捕获的媒体项目的一部分上方显示(1732)虚拟对象(例如,虚拟文本框、虚拟字符、虚拟贴纸等)(例如,在接收对应于显示第二先前捕获的媒体项目的表示的请求的输入之前)。在一些实施方案中,响应于一个或多个用户输入(例如,接触1342,图13s至图13t)而显示虚拟对象(例如,注释1344,图13t)。例如,用户激活“添加虚拟对象”图形用户界面元素以选择一个或多个虚拟对象并且将其放置在第一先前捕获的媒体项目的表示中(例如,根据与第一媒体项目相关联的深度信息)。在一些实施方案中,响应于(例如,随后)接收到对应于显示第二先前捕获的媒体项目的表示的请求的输入:根据确定第一物理环境的部分被包括在第二物理环境中,系统在对应于第一物理环境的部分的第二先前捕获的媒体项目的表示的一部分上显示虚拟对象(例如,使得虚拟对象看起来相对于第一媒体项目和第二媒体项目的表示中的物理环境保持静止,并且在第一媒体项目与第二媒体项目之间的动画过渡期间);并且,根据确定第一物理环境的部分不包括在第二物理环境中,系统放弃在第二先前捕获的媒体项目的表示(例如,任何部分)上方显示虚拟对象。例如,图13v中的媒体项目1337上的注释1344也显示在图13y中的媒体项目1348上方,以便对应于物理环境1300的相同部分。
[0492]
在一些实施方案中,确定第一物理环境的部分包括在第二物理环境中包括,确定在第一先前捕获的媒体项目的表示中捕获的第一物理环境和在第二先前捕获的媒体项目的表示中捕获的第二物理环境之间存在至少阈值量的重叠,并且确定虚拟对象对应于至少部分地在重叠区域内的物理空间(例如,媒体项目1337(如图13t至图13v所示)和媒体项目1348(如图13w至图13cc所示)具有阈值量的重叠,并且媒体项目1348包括在媒体项目1337中表示的物理环境1300的相同部分的表示,并且注释1344被添加到该部分,参见图13t)。在一些实施方案中,确定第一物理环境与第二物理环境之间存在至少阈值量的重叠是基于与第一先前捕获的媒体项目和第二先前捕获的媒体项目的三维模型相关联(例如,包括在三维模型中以及/或者对应于三维模型)的深度信息。在一些实施方案中,由于第二先前捕获的媒体项目的表示不包括“包括”虚拟对象的物理环境部分(例如,包括对应于虚拟对象的物理空间),系统放弃在第二先前捕获的媒体项目的表示上方显示虚拟对象。在一些实施方案中,确定第二先前捕获的媒体项目不包括物理环境的包括虚拟对象的部分,至少部分地通过比较与第一先前捕获的媒体项目和第二先前捕获的媒体项目相关联(例如,包括)的深度信息来执行。
[0493]
根据确定具有虚拟对象的第一物理环境的一部分被包括在第二物理环境中,在第二先前捕获的媒体项目的表示上显示虚拟对象,并且如果不存在第一物理环境和第二物理环境之间的此类重叠,则放弃在第二先前捕获的媒体项目的表示上显示虚拟对象,则通过将虚拟对象保持在相对于对应的物理环境的一致的位置和取向,并且具有针对相应媒体项目的特定视点进行调整的外观来为用户提供改进的视觉反馈,以帮助用户在对应的物理环境的上下文中准确地可视化虚拟对象。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0494]
在一些实施方案中,显示从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡包括(1734),根据第一先前捕获的媒体项目的一个或多个变换来变换(例如,旋转、缩放和/或平移)显示在第一先前捕获的媒体项目的表示的部分上的虚拟对象(例如,虚拟对象以类似于第一先前捕获的媒体项目的方式进行变换,使得当显示第一先前捕获的媒体项目的变换时,虚拟对象看起来继续显示在与第一物理环境的部分相对应的第一先前捕获的媒体项目的表示的部分上)。例如,注释1344被放大(例如,重新缩放)并且在动画过渡期间(如图13v至图13y所示)从媒体项目1337转换到媒体项目1348,因为动画过渡包括媒体项目1337的缩放和重新缩放。
[0495]
在一些实施方案中,显示从第一先前捕获的媒体项目的表示到第二先前捕获的媒体项目的表示的动画过渡包括,根据确定第一物理环境的该部分被包括在第二物理环境中,根据第二先前捕获的媒体项目的一个或多个变换来变换显示在第二先前捕获的媒体项目的表示的部分上的虚拟对象(例如,虚拟对象以类似于第二先前捕获的媒体项目的方式进行变换,使得当显示第二先前捕获的媒体项目的变换时,虚拟对象看起来继续显示在与第一物理环境的部分相对应的第二先前捕获的媒体项目的表示的部分上)。在一些实施方案中,在第二先前捕获的媒体的表示的一部分上显示虚拟对象包括,基于第一先前捕获的媒体项目的第一视点和第二先前捕获的媒体项目的第二视点之间的差异(例如,由于旋转、
缩放或平移),以第二外观显示虚拟对象,该第二外观不同于虚拟对象被显示在第一先前捕获的媒体项目的表示的部分上的第一外观。
[0496]
在动画过渡期间根据第一物理环境的表示的一个或多个变换,在虚拟对象显示在第一(和第二)物理环境上时变换虚拟对象,向用户提供改进的视觉反馈,指示视点从第一视点到第二视点的变化,并且将虚拟对象保持在相对于对应的物理环境的一致的位置和取向,其外观不仅针对相应的媒体项目的特定视点进行调整,而且针对两个媒体项目之间的动画过渡期间的模拟视点进行调整。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0497]
在一些实施方案中,第一先前捕获的媒体项目(例如,图13i中的媒体项目1315)和第二先前捕获的媒体项目(例如,图13k中的媒体项目1326)是(1736)时间序列中两个连续捕获的媒体项目(例如,在相同的捕获会话中被一个接一个地捕获),并且在一些实施方案中,对应于显示第二先前捕获的媒体项目的表示的请求的输入是一个或多个输入设备的相应输入设备上的轻扫手势。响应于相应输入设备上的轻扫手势显示第二先前捕获的媒体项目使得能够使用单个直观手势来显示不同的先前捕获的媒体(例如,紧接在当前显示的媒体项目之前或之后捕获的媒体项目)。减少执行操作所需的输入的数量增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0498]
在一些实施方案中,第一先前捕获的媒体项目(1738)由第一用户捕获并且第二先前捕获的媒体项目由第二用户捕获(例如,相同用户或与捕获第一先前捕获的媒体项目的用户不同的用户)。在一些实施方案中,第一先前捕获的媒体项目和第二先前捕获的媒体项目两者由第一用户使用图像捕获设备(例如,相机)捕获。另选地,第一先前捕获的媒体项目由第一用户捕获,并且第二先前捕获的媒体项目由第二用户使用不同的图像捕获设备(例如,相机)捕获。在一些实施方案中,第二用户与第一用户共享第二先前捕获的媒体项目(例如,通过连接图像捕获设备或存储相应的媒体项目的其他相应的电子设备的有线或无线网络)。显示由不同用户捕获的媒体项目之间的动画过渡使得能够从不同视点探索物理环境,而无需响应于来自使用计算机系统的用户的输入而由相同的计算机系统捕获这些媒体项目。减少执行操作所需的输入的数量增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户获得预期结果并减少与系统交互时的用户错误),从而通过使用户能够更快速且高效地使用系统进一步减少了电力使用并且延长了系统的电池寿命。
[0499]
应当理解,对图17a至图17d中的操作进行描述的特定次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、800、900、1000、1500、1600和1800)所描述的其他过程的细节同样以类似的方式适用于上文相对于图17a至图17d所描述的方法1700。例如,物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图以及上文参考方法1700描述的动画过渡任选地具有物理环境、特征和对象、虚拟对象、输入、用户界面、物理环境的视图以及参考本文所述
的其他方法(例如,方法700、800、900、1000、1500、1600和1800)描述的动画过渡的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0500]
图18a至图18b是示出根据一些实施方案的用于查看对应于移动个体的表示的运动跟踪信息的方法1800的流程图。方法1800在计算机系统(例如,便携式多功能设备100(图1a)、设备300(图3a)或计算机系统301(图3b))处执行,该计算机系统具有显示生成部件(例如,触摸屏112(图1a)、显示器340(图3a)或显示生成部件304(图3b))和一个或多个相机(例如,光学传感器164(图1a)或相机305(图3b))并且任选地具有一个或多个深度感测设备(例如,一个或多个深度传感器,诸如飞行时间传感器220(图2b))。方法1800中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
[0501]
如下所述,方法1800显示对应于当个体移动时个体上的锚点的移动的注释,从而提供改进的视觉反馈,这使得更容易跟踪个体上的感兴趣点的移动。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0502]
系统经由显示生成部件显示(1802)一个或多个相机的视野的表示(例如,实时视图)。视野的表示(例如,图14a中的表示1406)包括在一个或多个相机的视野中的物理环境中的第一个体(例如,活的、有生命的个体,诸如人)(例如,图14a中的个体1402)的表示,并且视野的表示中的第一个体的表示的相应部分对应于第一个体上的第一锚点(例如,锚点是对象上已被选择用于运动跟踪的点或个体的一部分)(例如,包括其表示)。在一些实施方案中,使用对视野的表示的图像分析来确定对应于第一个体上的锚点的视野的表示的相应区域,任选地基于对应于视野的表示的可用深度数据。在一些实施方案中,基于对视野的表示的相应区域的用户选择(例如,图14d中的表示1406中的个体1402的腕的表示的选择)(例如,通过图14d中的接触1421)来选择第一个体上的锚点。在一些实施方案中,即使第一个体移动(例如,个体1402的腕保持锚点,即使个体1402移动,任选地直到选择不同的锚点),锚点也不相对于第一个体移动。
[0503]
在显示视野(1804)的表示时,系统基于视野的变化而随时间推移更新(1806)视野的表示。视野中的变化包括(例如,相对于一个或多个相机的视野)移动第一锚点的第一个体的移动,并且当第一锚点沿物理环境中的路径移动时,对应于第一锚点的第一个体的表示的相应部分沿对应于第一锚点的移动的视野的表示中的路径变化(例如,如图14e至图14g中的注释1422所示)。另外,在显示视野(1804)的表示时,系统在视野的表示中显示(1808)(例如,叠加在视野的表示的至少一部分上方)注释(例如,图14e至图14g中的注释1422),该注释对应于与第一锚点的第一个体的表示的相应部分相对应的路径的至少一部分。在一些实施方案中,路径包括视野的表示中的多个(例如,一系列)位置,并且注释同时显示在位置中的至少两个位置上方。在一些实施方案中,当视野中发生变化时(例如,当第一锚点沿物理环境中的路径移动时)(实时)更新包括注释的视野的表示的显示。
[0504]
在一些实施方案中,改变注释的一个或多个视觉属性以表示锚点的对应移动的一个或多个属性。例如,如本文参考图14e至图14g中的注释1422所述,注释的相应区域的第一视觉属性(例如,颜色、宽度等)表示锚点的对应移动的第一属性的第一值(例如,位置、速度、加速度等)。在一些实施方案中,注释的相应视觉属性沿注释变化,因为对应的移动属性
的值随锚点的移动而变化(例如,注释的颜色和/或宽度沿注释的长度变化以表示锚点的移动速度的变化)。
[0505]
在一些实施方案中,在显示注释时,系统显示(1810)锚点的移动的一个或多个属性(例如,相对于另一属性诸如时间的位置、速度、加速度等)的图(例如,图14x中的图1436)。在一些实施方案中,当视野中发生变化(例如,当锚点移动)时,更新图(例如,实时地逐渐添加附加的图形点)。在显示注释时显示锚点的移动的一个或多个属性的图提供有关锚点移动的不同属性(例如,位置、速度、加速度等)的附加信息,而无需用户导航到不同的用户界面来查看此信息。用更少的用户输入提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0506]
在一些实施方案中,系统(例如,在作为计算机系统的任选地部分的非暂态计算机可读存储介质中)存储(1812)媒体(例如,图14i中的视频1425),该媒体基于包括移动锚点的第一个体的移动的变化,在视野的表示随时间推移的更新的至少一部分期间包括视野的表示。在一些实施方案中,所存储的媒体包括对应于与第一锚点的第一主体的表示的相应部分的路径的至少一部分相对应的注释(例如,跟踪第一锚点的移动的至少一部分的注释,例如图14k至图14m中的注释1422)。在一些实施方案中,在还显示图的情况下(例如,如上文参考操作1810所描述的),在回放记录时更新图(例如,逐渐添加附加的图点)(例如,图的显示部分对应于记录的重新播放部分,并且任选地,图不包括对应于尚未重新播放的记录的任何部分的任何部分)。记录个体的移动以及与个体上锚点的移动相对应的注释为用户提供改进的视觉反馈(例如,锚点的注释移动)以及稍后重新播放记录的选项,而无需重复实时查看和分析个体的移动。提供附加的控件选项和改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0507]
在一些实施方案中,显示包括第一个体的表示的视野的表示包括(1814)显示与第一个体相对应的虚拟模型(例如,图14ee中的人形模型1438或图14ll中的骨骼模型1440)(例如,代替由一个或多个相机捕获的第一对象的实时视图,任选地不替换在实时视图中的除第一对象之外的元素,使得虚拟模型出现在物理环境中的第一对象的位置处)。在一些实施方案中,虚拟模型是可以被动画化(例如,基于第一对象的移动)的人形模型(例如,化身、表情符号或骨骼模型)。在一些实施方案中,虚拟模型具有第一个体的外观(例如,由一个或多个相机捕获的第一个体的外观被映射或投影到虚拟模型上)。在一些实施方案中,虚拟模型具有不同于第一个体(例如,化身、表情或骨骼模型)的外观。在一些实施方案中,第一个体的移动被检测为与特定活动(例如,挥动球杆或球拍)相关联,并且虚拟模型是用于检测到的活动的预先确定的模型(例如,与在运动时通常或可能执行的预定义行为相关联的虚拟模型)。显示对应于个体的虚拟模型而不是个体的实时视图,向用户提供改进的视觉反馈,指示个体已经被标识和建模,并且在一些情况下,减少用户界面中的细节水平,使得对应于个体上的锚点的移动的注释更突出,并且因此更容易被感知。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并
且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0508]
在一些实施方案中,第一锚点是(1816)第一个体上的多个锚点中的一个锚点,虚拟模型(例如,图14ll中的骨骼模型1440)包括多个对应的虚拟锚点,并且显示对应于第一个体的虚拟模型包括显示虚拟模型,使得虚拟模型上的虚拟锚点分别对应于(例如,叠加在)第一主体上的多个锚点(例如,包括更新虚拟模型的显示,使得当第一对象移动时,虚拟锚点继续分别对应于第一个体上的多个锚点)。显示虚拟模型使得虚拟模型上的多个锚点显示在对象上的相应锚点上(例如,使得虚拟模型叠加在个体上方并且尽可能紧密地适配在个体上方),即使在个体移动时也提供改进的视觉反馈,向用户指示个体已经被标识和建模,并且在一些情况下,降低用户界面中的细节水平,使得对应于个体上锚点的移动的注释更突出,并且因此更容易被感知。提供改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0509]
在一些实施方案中,所显示的视野表示(例如,在移动第一锚点的第一对象的移动期间被显示和更新)基于(1818)一个或多个相机的第一视角。在一些实施方案中,在基于一个或多个相机的第一视角显示视野的表示(例如,图14qq中的表示1406)并且基于视野的变化(例如,从一个或多个相机的第一视角)随时间推移更新视野的表示的同时,系统显示对应于物理环境的第二视角的第二视图(例如,图14qq中的顶视图表示1456),该第二视角不同于一个或多个相机的第一视角(例如,第二视角不是一个或多个相机对第一对象的透视图,例如,其中一个或多个相机的第一视角为第一对象的前视图,并且第二视角为第一对象的侧视图或俯视图)。在一些实施方案中,第二视图包括第一个体的第二表示(例如,从第二视角)和对应于物理环境中锚点的路径的至少一部分的第二注释(例如,锚点的路径,因为从第二视角会看到它,基于设备从第一视角收集的深度信息确定或计算)(例如,注释1462、图14rr至图14ss)。
[0510]
在一些实施方案中,第二视图基于关于第一个体和物理环境的深度信息以及结合显示和更新基于第一个体的移动的视野的表示而生成)。在一些实施方案中,至少部分地使用对应于第一个体的虚拟模型来生成第二视图(例如,替换从第一视角的第一个体的实时视图)。在一些实施方案中,从一个或多个相机的视角可获得关于第一个体的部分信息(例如,小于360度视图),并且从一个或多个相机的角度无法获得关于从其他视角的第一个体的信息(例如,关于第一个体的远侧的信息);虚拟模型提供第一个体的表示,其可以从除一个或多个相机之外的多个其他视角呈现(例如,并且可以根据从一个或多个相机的视角中检测到的第一个体的移动而针对其他视角动画化)。在一些实施方案中,在显示基于第一视角的视野的表示的同时,显示来自不同相应视角的任何数量的附加视图(例如,来自第二视角的第二视图、来自不同的第三视角的第三视图等)。
[0511]
同时从不同视角显示主体的多个视图,以及从这些视角对主体运动的对应注释,向用户提供关于个体移动的多种类型的信息,而不需要用户在不同的用户界面之间导航以查看每种不同类型的信息,并且不需要从每个不同的视角重复查看和分析个体的运动。提供附加的控件选项实现改进的视觉反馈增强了系统的可操作性,并且使用户-设备界面更
高效(例如,通过帮助用户实现预期结果并且减少与系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用系统而减少了电力使用并且延长了系统的电池寿命。
[0512]
应当理解,对图18a至图18b中的操作进行描述的特定顺序仅为示例性的,并非旨在表明所述顺序是可以执行这些操作的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法700、800、900、1000、1500、1600和1700)所描述的其他过程的细节同样以类似的方式适用于上文相对于图18a至图18b所描述的方法1800。例如,物理环境、特征和对象、虚拟对象、输入、用户界面和物理环境的视图以及上文参考方法1800描述的注释任选地具有物理环境、特征和对象、虚拟对象、输入、用户界面、物理环境的视图以及参考本文所述的其他方法(例如,方法700、800、900、1000、1500、1600和1700)描述的注释的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
[0513]
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献