从电子表格数据生成场景和游览转让专利

申请号 : CN201380042548.6

文献号 : CN104541271B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : E·W·帕特森A·达维咖I·P·伍德

申请人 : 微软技术许可有限责任公司

摘要 :

本文描述了用于提供三维(“3D”)注释面层工具的概念和技术。根据本文公开的一些概念和技术,3D注释面层工具向用户提供了一种控制与3D环境中的生产力数据相关联的注释的取向的方式。3D注释面层工具可以向用户提供沿着一个或多个方向轴锁定注释取向的能力。3D注释面层工具还可向用户提供将注释的取向维持在面向相机的视图中的能力。

权利要求 :

1.一种计算机,包括:

处理器;以及

与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质具有存储于其上的计算机可执行指令,所述计算机可执行指令在被所述处理器执行时使得所述处理器:在三维3D环境中渲染数据的图形表示;

在所述3D环境中渲染至少一个注释,其中所述至少一个注释与所述数据相关联,并且其中所述注释包括在所述3D环境中在沿三个方向轴的第一方向轴的第一取向可见且在所述3D环境中在沿所述三个方向轴的第二方向轴的第二取向可见的图形表示;

接收改变在所述3D环境中渲染的所述数据的图形表示的取向的输入;

响应于改变所述数据的图形表示的取向的所述输入,确定经改变的所述图形表示的取向使得所述至少一个注释在所述至少一个注释内渲染不清晰内容;

响应于确定所述至少一个注释通过对所述至少一个注释的所述第一取向和所述第二取向进行改变来保持在所述至少一个注释内的所述内容的清晰度,基于改变所述图形表示的取向的所述输入来改变在所述3D环境中的所述至少一个注释的所述第一取向和所述第二取向;以及响应于确定所述至少一个注释通过使用特殊注释取向来保持在所述至少一个注释内的所述内容的清晰度,通过改变所述第一取向或所述第二取向同时增加或减少在所述至少一个注释中渲染的信息量,将所述特殊注释取向应用于所述至少一个注释,其中如果改变所述图形表示的取向的所述输入是放大所述数据的请求则在所述至少一个注释中渲染的信息量基于所述至少一个注释的尺寸被增加,并且如果改变所述图形表示的取向的所述输入是缩小所述数据的请求则在被渲染的所述至少一个注释中渲染的信息量基于所述至少一个注释的尺寸被减少。

2.如权利要求1所述的计算机,其特征在于,要改变第一取向的输入包括要放大、缩小、平摇或倾斜的输入。

3.如权利要求1所述的计算机,其特征在于,所述特殊注释取向包括面向相机视图,其中第二取向相对于要改变第一取向的输入被维持恒定。

4.如权利要求1所述的计算机,其特征在于,所述特殊注释取向包括通过将第二取向的至少一个旋转轴相对于要改变第一取向的输入维持恒定来沿着至少一个旋转轴来锁定第二取向。

5.一种用于提供用户界面以搜索和获取内容的方法,所述方法包括:

在三维3D环境中渲染数据的图形表示;

在所述3D环境中渲染至少一个注释,其中所述至少一个注释与所述数据相关联,并且其中所述数据包括在所述3D环境中在沿三个方向轴的第一方向轴的第一取向可见且在所述3D环境中在沿所述三个方向轴的第二方向轴的第二取向可见的图形表示;

接收改变在所述3D环境中渲染的所述数据的图形表示的输入,其中,所述改变是在所述第一取向放大在所述3D环境中渲染的所述数据的图形表示、缩小所述数据、平摇所述第一取向、或者倾斜所述第一取向;

响应于改变所述数据的图形表示的所述输入,确定对所述图形表示的所述改变使得所述至少一个注释在所述至少一个注释内渲染不清晰内容;

响应于确定所述至少一个注释通过对所述至少一个注释的所述第一取向和所述第二取向的改变来保持在所述至少一个注释内的所述内容的清晰度,基于所述输入来改变在所述3D环境中的所述至少一个注释的所述第一取向和所述第二取向;

响应于确定所述至少一个注释通过使用特殊注释取向来保持在所述至少一个注释内的所述内容的清晰度,通过改变所述第一取向或所述第二取向同时增加或减少在所述至少一个注释中渲染的信息量,将所述特殊注释取向应用于所述至少一个注释,其中如果所述输入是放大所述数据的请求则在所述至少一个注释中渲染的信息量基于所述至少一个注释的尺寸被增加,并且如果所述输入是缩小所述数据的请求则在被渲染的所述至少一个注释中渲染的信息量被减少。

6.如权利要求5所述的方法,其特征在于,所述特殊注释取向包括面向相机视图,其中第二取向相对于要改变第一取向的输入被维持恒定。

7.如权利要求5所述的方法,其特征在于,所述特殊注释取向包括沿着至少一个旋转轴锁定第二取向。

8.如权利要求5所述的方法,其特征在于,沿着至少一个旋转轴锁定第二取向包括将第二取向的至少一个旋转轴相对于所述输入维持恒定。

9.一种用于提供用户界面以搜索和获取内容的系统,包括:

用于在三维3D环境中渲染数据的图形表示的装置;

用于在所述3D环境中渲染至少一个注释的装置,其中所述至少一个注释与所述数据相关联,并且其中所述数据包括在所述3D环境中在沿三个方向轴的第一方向轴的第一取向以及在所述3D环境中在沿所述三个方向轴的第二方向轴的第二取向可见的图形表示;

用于接收改变在所述3D环境中渲染的所述数据的图形表示的取向的输入的装置;

用于响应于改变所述数据的图形表示的取向的所述输入,确定经改变的所述图形表示的取向使得所述至少一个注释在所述至少一个注释内渲染不清晰内容的装置;

用于响应于确定所述至少一个注释通过对所述至少一个注释的所述第一取向和所述第二取向进行改变来保持在所述至少一个注释内的所述内容的清晰度,基于改变所述图形表示的取向的所述输入来改变在所述3D环境中的所述至少一个注释的所述第一取向和所述第二取向的装置;以及用于响应于确定所述至少一个注释通过使用特殊注释取向来保持在所述至少一个注释内的所述内容的清晰度,通过改变所述第一取向或所述第二取向同时增加或减少在所述至少一个注释中渲染的信息量,将所述特殊注释取向应用于所述至少一个注释的装置,其中如果改变所述图形表示的取向的所述输入是放大所述数据的请求则在所述至少一个注释中渲染的信息量基于所述至少一个注释的尺寸被增加,并且如果改变所述图形表示的取向的所述输入是缩小所述数据的请求则在被渲染的所述至少一个注释中渲染的信息量基于所述至少一个注释的尺寸被减少。

说明书 :

从电子表格数据生成场景和游览

[0001] 背景
[0002] 电子表格应用、报告应用、或其他数据演示应用可以在二维(“2D”)和三维(“3D”)饼图、图形、柱状图等中呈现数据,以便用户获得对数据以及其中所包含的关系的洞察。然而,当数据具有地理分量时,对数据的这些演示可能不足以揭露地理上下文中的数据关系。
[0003] 本文所做出的本公开正是关于这些和其他考虑事项而提出的。

发明内容

[0004] 本文描述了用于提供3D注释面层工具的概念和技术。根据本文公开的一些概念和技术,3D注释面层工具向用户提供了一种控制与3D环境中呈现的数据相关联的注释的取向的方式。当3D环境中呈现的数据的取向被改变时,与数据的各个方面相关联的注释的取向也可被改变。本文公开了允许控制注释的取向以便实现各个目标(包括但不限于维持注释的清晰度)的能力的概念和技术。在一种配置中,作为示例,3D注释面层工具能够向用户提供沿着一个或多个方向轴锁定注释的取向的能力。3D注释面层工具还能够向用户提供将注释的取向维持在面向相机的视图中的能力。
[0005] 根据本文公开的一个方面,一说明性计算机包括处理器以及与该处理器通信的计算机可读存储介质,该计算机可读存储介质其上存储有计算机可执行指令,该计算机可执行指令在由该处理器执行时使得该处理器:接收要在3D环境中渲染的数据,接收与数据相关联的至少一个注释,在3D环境中以第一取向渲染数据,以及在3D环境中以第二取向渲染至少一个注释。该计算机可执行指令可进一步包括用于使得该处理器执行以下操作的指令:接收要改变第一取向的输入,以及确定至少一个注释是否接收到与要改变第一取向的输入有关的特殊注释取向。
[0006] 该计算机可执行指令可进一步包括用于使得该处理器执行以下操作的指令:如果至少一个注释未接收到与要改变第一取向的输入有关的特殊注释取向,则基于该输入来改变第一取向和第二取向。该计算机可执行指令还可包括用于使得处理器执行以下操作的指令:如果至少一个注释的确接收到与要改变第一取向的输入有关的特殊注释取向,则将该特殊应用取向应用于至少一个注释,基于该输入来改变第一取向,以及基于该输入和该特殊注释取向来改变第二取向。
[0007] 根据本文公开的另一方面,一说明性方法包括:接收要在3D环境中渲染的数据,接收与数据相关联的至少一个注释,在3D环境中以第一取向来渲染数据并且以第二取向来渲染至少一个注释,以及接收要放大数据、缩小数据、平摇(pan)第一取向或倾斜第一取向的输入。该说明性方法还可包括确定至少一个注释是否接收到与该输入有关的特殊注释取向。
[0008] 该说明性方法可进一步包括:如果至少一个注释未接收到与该输入有关的特殊注释取向,则基于该输入来改变第一取向和第二取向,以及如果至少一个注释的确接收到与该输入有关的特殊注释取向,则将该特殊注释取向应用于至少一个注释,基于该输入来改变第一取向,以及基于该输入和该特殊注释取向来改变第二取向。该说明性方法可附加地包括基于改变第一取向来改变数据的至少一个方面,该方面包括数据的高度或数据的取向。
[0009] 根据本文公开的另一方面,与处理器通信的一说明性计算机可读存储介质,该计算机可读存储介质其上存储有计算机可执行指令,该计算机可执行指令在由该处理器执行时使得该处理器:接收要在3D环境中渲染的数据,接收与数据相关联的至少一个注释,在3D环境中以第一取向来渲染数据并且以第二取向来渲染至少一个注释,以及接收要改变第一取向的输入。
[0010] 该说明性计算机可读存储介质其上可进一步存储有指令,该指令在由处理器执行时使得处理器:确定至少一个注释是否接收到与要改变第一取向的输入有关的特殊注释取向,该特殊注释取向包括面向相机的视图,其中第一取向相对于要改变第一取向的输入被维持恒定或者沿着至少一个旋转轴锁定第二取向,其中沿着至少一个旋转轴锁定第二取向包括将第二取向的至少一个旋转轴相对于要改变第一取向的输入维持恒定。
[0011] 该说明性计算机可读存储介质其上可进一步存储有指令,该指令在由处理器执行时使得处理器:如果至少一个注释未接收到与要改变第一取向的输入有关的特殊注释取向,则基于该输入来改变第一取向和第二取向。该说明性计算机可读存储介质其上可进一步存储有指令,该指令在由处理器执行时使得处理器:如果至少一个注释的确接收到与要改变第一取向的输入有关的特殊注释取向,则将该特殊应用取向应用于至少一个注释,基于该输入来改变第一取向,以及基于该输入和该特殊注释取向来改变第二取向。
[0012] 应该了解,上文所描述的主题还可以作为计算机控制的设备、计算机进程、计算系统或作为诸如计算机可读取的存储介质之类的产品来实现。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
[0013] 提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。

附图说明

[0014] 图1是解说用于实现本文呈现的各实施例的说明性操作环境的各方面的框图。
[0015] 图2是示出根据一些实施例的渲染数据以及与该数据相关联的注释的图解。
[0016] 图3是示出根据一些实施例的在放大数据时渲染数据以及与该数据相关联的注释的图解。
[0017] 图4是示出根据一些实施例的在3D空间中渲染数据以及与该数据相关联的注释的图解。
[0018] 图5是示出根据一些实施例的在3D空间取向被旋转时渲染数据以及与该数据相关联的注释的图解,其中注释处于面向相机的视图。
[0019] 图6是示出根据一些实施例的在3D空间取向被旋转时渲染数据以及与该数据相关联的注释的图解,其中注释不具有应用于该注释的特殊注释取向。
[0020] 图7是示出根据一些实施例的在3D空间取向被旋转时渲染数据以及与该数据相关联的注释的图解,其中注释在Y轴中被锁定。
[0021] 图8是示出根据一些实施例的用于提供3D注释面层工具的方法的各方面的流程图。
[0022] 图9是解说能够实现本文中所呈现的各实施例的各方面的计算系统的说明性计算机硬件和软件体系架构的计算机体系架构图。
[0023] 图10是解说能够实现本文呈现的各实施例的各方面的分布式计算环境的图示。
[0024] 图11是解说能够实现本文呈现的各实施例的各方面的计算设备体系结构的计算机体系结构图。
[0025] 图12是示出本文呈现的实施例的各个方面在平板设备上的实现的图解。

具体实施方式

[0026] 以下详细描述涉及用于提供3D注释面层工具的概念和技术,该3D注释面层工具用于控制3D环境中渲染的数据注释的视觉表现和/或内容。除了其他可能方面,3D环境中渲染的数据注释的视觉表现和/或内容可以被控制以维持注释中的一者或多者的清晰度。如此处所使用的,“清晰度”意味着用户读取、译解、辨别或区分注释的能力。如下文讨论的,文本的取向可以影响注释的清晰度以及其他定量或定性测量。在一些示例中,3D注释面层工具可以沿着一个或多个方向轴锁定注释的取向。在其他示例中,3D注释面层工具可以将注释的取向维持在面向相机的视图中。在还有一些示例中,3D注释面层工具可以基于要改变其中渲染注释的3D环境的取向的一个输入来改变注释的各个方面。
[0027] 尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
[0028] 在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。现在参考附图(全部若干附图中相同的标号表示相同的元素),将提出用于3D注释面层工具的计算系统、计算机可读存储介质和计算机实现的方法的各方面和其他方面。如本文所使用的,术语3D包括三维空间的模拟。在一些示例中,三个维度由空间坐标系来表示,诸如具有三个方向轴(即X、Y和Z)的3维欧几里得空间。如本文所使用的,元素在3D环境中的“取向”基于沿三个方向轴的坐标。此外,如本文所使用的,元素在3D环境中的取向的改变包括改变该元素沿三个方向轴中的至少一个方向轴的坐标。
[0029] 现在参考图1,将描述用于文本呈现的各实施例的一个操作环境100的各方面。图1中示出的操作环境100包括与网络104通信地操作的计算设备102。在一些实施例中,计算设备102是台式计算机,膝上型计算机,笔记本计算机,超便携计算机,上网本计算机,或诸如移动电话、平板设备、板式设备、便携式视频游戏设备等计算设备,等等。下面参考图9和11在本文中解说并描述了计算设备102的说明性体系结构。
[0030] 操作系统101在计算设备102上执行。操作系统101执行生产力应用106。在一些实施例中,生产力应用106包括但不限于,作为MICROSOFT OFFICE应用程序套件的一部分的一个或多个生产力应用程序,诸如MICROSOFT WORD应用程序、MICROSOFT EXCEL应用程序、MICROSOFT POWERPOINT应用程序、MICROSOFT ACCESS应用程序、MICROSOFT VISIO应用程序、MICROSOFT OUTLOOK应用程序等。例如,生产力应用106可包括MICROSOFT EXCEL应用程序。MICROSOFT EXCEL应用程序是以各种功能为特征的电子表格应用,这些功能包括但不限于计算、图表工具、数据透视表、以及称为VISUAL BASIC for APPLICATIONS(用于应用的VISUAL BASIC)(“VBA”)的宏编程语言。生产力应用106可以被用作独立应用,但也可结合MICROSOFT EXCHANGE服务器来操作以向企业内的多个用户提供增强功能,诸如但不限于企业范围内的协作。
[0031] 在一些示例中,生产力应用106可用于接收和分析各种格式的数据。应当领会,仅仅出于描述目的本公开在某些配置中被描述为使用“生产力数据”,因为本公开不限于任何一种类型的数据。在一些示例中,生产力数据可以是与各种条件、事件、工作流过程、商业环境等相关联的数据,用户可以通过这些数据来使用生产力应用106。
[0032] 在各个实施例中,生产力应用106包括数据探索组件108。数据探索组件108向操作计算设备102或与计算设备102对接的用户提供从各个源搜索和检索数据并且将该数据集成到正使用生产力应用106来执行的工作中的能力。数据探索组件108可以从电子表格数据110本地地检索数据或者从一个或多个远程数据库(诸如外部数据112)检索数据。应当领会,电子表格数据110和外部数据112可包括位于一个或多个本地或远程计算设备上的一个或多个数据库,本公开的这一方面不限于任何特定的配置。
[0033] 在一个实施例中,在执行对来自电子表格数据110的数据搜索时,数据探索组件108由生产力应用106访问。另外,数据探索组件108可用于其他各种目的,包括但不限于,挖掘数据、确定数据中的关系或模式、理解数据群集。数据探索组件108还可用于搜索外部数据112并且发现对外部数据112的各种洞察。在一个示例中,数据探索组件108通过各种接口与网络104对接以从外部数据112检索数据。
[0034] 如先前所讨论的,对于用户而言使得生产力应用106在3D环境中渲染电子表格数据110和/或外部数据112中的某些数据可能是有利的。生产力应用106的图形可视化组件114接收要在3D环境中渲染的所选数据并且使得该所选数据在3D环境中被渲染。数据在3D环境中的渲染可以使用各种技术来实现,本公开的这一方面不限于任何特定种类。例如,生产力应用106可以具有向各种类型的数据指派3D值的各种默认设置。例如,生产力应用106可以具有将电子表格中的第一列数据指派给一个空间坐标、将第二列数据指派给第二空间坐标、以及将第三列数据指派给第三空间坐标的默认设置。每一行所选数据之后可以使用空间坐标在3D环境中被渲染为位置。在另一示例中,用户可以将空间坐标指派给各个数据。
[0035] 在一些实例中,在3D环境中渲染了所选数据之后,用户可能想要插入用于查看(即注释)关于3D环境中渲染的数据的附加信息。用户可以结合图形可视化组件114来使用注释器组件116来注释各种所选数据并且使这些注释在3D环境中被渲染。例如,用户可以选择电子表格中具有包括在特定城市销售特定项目的商店、商店的位置、以及与商店相关联的附加数据的数据的某些数据。用户可以使用图形可视化组件114以使得所选数据在3D环境中被渲染。为了提供附加的视觉信息,用户可能想要对3D环境中渲染的数据进行注释。为此,用户可以使用注释器组件116以使得各种类型的注释与所选数据一起在3D环境中被渲染。注释可以由图形可视化组件114创建、由用户创建、或其各种组合。
[0036] 如上所述,用户可能想要操纵数据在其中被渲染的3D环境的取向或“游览”该3D环境。在一些配置中,用户可以输入各种导航控制以改变3D环境的取向,该导航控制包括但不限于平摇、俯仰、滚动、偏航、缩放、倾斜和/或旋转3D环境的输入。如此处所使用的,“游览”包括在一个以上的查看方面中对数据的可视化。此外,如此处所使用的,“查看方面”包括对于查看3D环境的用户而言3D环境的视觉表现。
[0037] 如果3D环境包括地理信息,则数据探索组件108可以与网络104对接以从地理编码组件118检索地理数据。地理编码组件118可以提供与各种地理和位置有关的数据。地理编码组件118可以从各个源检索数据,包括外部数据112或其他数据源(诸如由微软公司提供的BING地图服务)。来自地理编码组件118的数据可以与电子表格数据110中包含的数据集成以提供数据的3D地理可视化。
[0038] 在使用地理信息的示例中,用户可以选择来自电子表格数据110的数据并且用接收自地理编码组件118的地理信息来扩充该数据。此外,用户可以使用注释器组件116来确定要与要在3D环境中渲染的数据相关联的一个或多个注释。图形可视化组件114接收所选数据、地理信息、和注释,并且使用图形可视化组件114将它们在3D环境中渲染。在这一示例中,通过用地理信息来扩充所选数据,数据可以被呈现在模拟真实位置的虚拟3D空间中。下面更详细地提供3D地理可视化的各个实施例和示例。
[0039] 一旦被渲染,用户可能想要通过沿各个方向轴改变数据取向来游览数据。3D环境的取向改变可以影响与3D环境中渲染的一个或多个数据相关联的注释。在一些实例中,确定注释取向如何受到要通过使用注释面层组件120来改变3D环境的取向的输入影响可能是优选的。注释面层组件120由生产力应用106用来确定一个或多个注释的取向如何被要改变注释在其中被渲染的3D环境的取向的输入改变。
[0040] 图形可视化组件114从数据探索组件108接收已经接收到要改变3D环境的取向的输入的输入。注释面层组件120向图形可视化组件114提供关于3D环境中的注释中的一者或多者的取向应当如何基于要改变3D环境的取向的输入来改变的输入。图形可视化组件114接收来自注释面层组件120的输入并且基于接收自注释面层组件120的输入来改变注释的取向。应当理解,尽管注释面层组件120被解说为图形可视化组件114的一部分,但注释面层组件120如同本文描述的其他组件或特征一样可以由独立的系统或组件来提供,本公开的这一方面不限于任何一种特定配置。
[0041] 图2解说了其中带注释数据可以被呈现在3D可视化中的示例性显示200。生产力应用(诸如图1的生产力应用106)在显示200内渲染3D可视化202。图2中解说的是与“商店1”有关的数据204、与“商店2”有关的数据206以及与“商店3”有关的数据208。如关于图1所描述的,地理数据可以通过使用地理编码组件118与数据204、数据206、或数据208相关联。如所解说的,数据204、数据206和数据208关于地图210上的地理位置来被注释。数据204已经用注释212被注释,该注释212示出商店名称(即“商店1”)和销售数据(即“销售$2”)。以类似方式,数据206已经用注释214被注释,该注释214示出商店名称(即“商店2”)和销售数据(即“销售$1”)。另外,以类似方式,数据208已经用注释216被注释,该注释216示出商店名称(即“商店3”)和销售数据(即“销售$0.05”)。
[0042] 如上所述,用户可能想要游览3D环境中渲染的数据。当用户游览数据时,注释的取向以及注释的其他方面可以取决于注释的配置来改变。例如,移动可能受影响的一种方式是放大数据的3D可视化以聚焦于一个或多个数据。因而,用户可以使用图形可视化组件(诸如图1的图形可视化组件114)中提供的缩放特征以更详细地和/或以更大尺寸示出一个或多个数据。
[0043] 图3是在接收到放大输入之后图2的地图210的图解。地图210其上已经显示了数据204和数据206。数据204和数据206使用地理数据被注释并且在3D可视化中被渲染。当用户在地图210上放大时,与数据204和/或数据206相关联的注释可被修改。例如,带注释数据
312是与数据204相关联的带注释数据212的“经缩放”版本。尽管图2的地图210中的带注释数据212可能已经显示了商店名称和销售,带注释数据212的经缩放版本(即注释312)具有商店名称(即“商店1”)、销售数据(即“销售$2”)、所有者名称(即“A”)以及商店评级(即“高”)。
[0044] 以类似方式,数据206具有注释314,注释314具有商店名称(即“商店2”)、销售数据(即“销售$1”)、所有者名称(即“B”)以及商店评级(即“低”)。如图3所解说的,注释可以基于3D环境的取向如何而改变。在图2和3解说的示例中,放大和缩小可以增加或减少注释312或注释314中显示的信息量。应当理解,注释312或注释314可以用其他方式来修改,本公开的这一方面不限于任何特定方式。图4-7及其伴随描述提供了3D环境中的注释可以如何基于要改变3D环境的取向的输入被控制或改变的其他示例。
[0045] 图4是示出带注释数据的初始3D可视化的图解。显示400其上渲染了包括3D可视化410的3D环境402。以与图2或3的地图210类似的方式,3D可视化410可以涵盖3D体验的各个方面。在图4解说的示例中,3D可视化410是对与注释412相关联的带注释数据404以及与注释414相关联的带注释数据406的渲染。带注释数据404和406以及注释412和414被解说为在
3D空间420中渲染。
[0046] 用户可以操纵3D空间420的取向以围绕各个轴(在图4中被表示为空间轴422)平摇、缩放、倾斜、俯仰、偏航和旋转3D空间420等等。例如,用户可以沿空间轴422的X轴、Y轴和/或Z轴来移动3D空间420以将3D空间420移动至3D可视化410内的各个位置。另外,用户可以围绕空间轴422的X轴、Y轴和/或Z轴旋转3D空间420以平摇、俯仰、偏航或旋转3D空间420。
[0047] 注释412和414被示为关于空间轴422处于某一取向。注释412和414的初始取向可以是默认设置,或者可以取决于用户希望如何查看初始3D空间来调整,本公开的这一方面不限于任何特定初始配置。此外,应当理解,尽管注释412和414被示为最初处于相同或类似取向,但本公开不限于这种特定类型的配置,因为注释412和414的初始取向可以例如通过设计或由用户来调整。
[0048] 图5解说了注释的取向可如何被确定(或控制)的一个示例。图5解说了可被称为“面向相机的视图”的实施例。在比较如图4所解说的注释412和414与如图5所解说的注释412和414时,可以看到注释412和414具有相同取向,尽管它们所呈现的信息有所改变。因而,在这一示例中,尽管3D空间420围绕空间轴422的一个或多个轴被旋转和移动,但注释
412和414被维持在相同取向。这可以向用户提供若干益处,诸如但不限于恒定的查看体验。
[0049] 图5还解说了被渲染的数据和/或注释的形状和尺寸可如何基于要改变3D空间420的取向的输入而改变。如前所述,3D空间420已经围绕空间轴422的Z轴被旋转。带注释数据404在3D可视化410的背景中被放置得更深,而带注释数据406被移动至更靠近3D可视化410的前景的位置。在一些配置中,当3D环境中的对象关于位于背景中的另一类似尺寸的对象被置于前景中时,将前景中的对象以大于在背景中渲染的对象的尺寸来渲染可能是有利的。因而在这一示例中,带注释数据404被示为相对于带注释数据406具有较小的高度。
[0050] 图5还解说了注释中显示的信息可如何基于注释位置的改变而修改。在图5所解说的示例中,带注释数据406更“靠近”(即被置于更靠近前景)3D空间420的查看者,而带注释数据404更“远离”(即相对于带注释数据406被置于更靠近背景)3D可视化410的查看者。响应于3D可视化410的位置改变,注释412已经被修改为显示更少数据。另外,响应于3D可视化410的位置改变,注释414已经被修改为显示更多数据。如所解说的,注释412显示商店名称和销售,这是图4中的注释412所显示的数据的缩减。以类似方式,图5中的注释414显示比图
4中所显示的注释414更多的信息,包括位置和商店开业日期。
[0051] 图6解说了注释的取向可以被改变(或控制)的另一方式,其中注释中的一者或多者在某一取向上“被锁定”。如此处所使用的,“被锁定”包括基于对3D空间420的取向的指定改变而将注释维持在某一取向上。如果注释412和/或414未沿着某一取向被锁定或者如图5所解说的被置于“面向相机的视图”,则当3D空间420的取向被改变时,注释412和/或414可能以视觉上令人不快的方式来渲染,如图6所解说的。在图6中,3D空间420按照与图5类似的方式被旋转,只是代替注释412和414被置于“面向相机的视图”(藉此维持注释412和414的取向),在图6中,注释412和414按照与应用于3D空间420的旋转类似的方式被旋转。因而,带注释数据404的注释412以及带注释数据406的注释414的取向被解说为偏斜,这对于查看者进行查看来说可能是困难的并且至少在视觉上是令人不快的。尽管应当理解在一些示例中,锁定注释412和/或414的取向以提供例如增强的3D体验可能是合乎需要的。
[0052] 图7解说了其中注释412和/或414的取向可相对于3D空间420的取向被修改的另一示例可以是围绕某一轴锁定注释412和/或414,如作为示例在图7中所解说的。图7是示出图4的3D空间420围绕空间轴422的Y轴被旋转的图解。带注释数据404的注释412被示为具有与图4中的注释412的视图相比偏斜的视图。在图7中提供的示例中,该原因在于注释412的视图已经在围绕空间轴422的Y轴的旋转方面被锁定。因而,当用户围绕空间轴422的Y轴旋转
3D空间420时,相同的旋转被应用于注释412。作为比较,带注释数据406的注释414被示为处于面向相机的示图配置,藉此注释414的取向被维持在相同位置而不管应用于3D空间420的任何旋转。
[0053] 如上文关于图2、3和5所描述的,当3D可视化内的带注释的数据的视图被改变时,在该注释内呈现的信息可被改变。应当注意,本公开不限于当视图被改变时其信息被改变的注释,因为注释内显示的信息可以被配置成保持恒定。如作为示例在图2、3和5中所解说的,当带注释数据404和406的视图被改变时,注释412和414中显示的信息也可被改变。图7解说了改变信息的另一示例。因为3D空间420围绕空间轴422的Y轴被旋转,并且因为注释412在Y轴上被锁定,所以注释412的尺寸可以改变,如图7所解说的。因为注释412的尺寸已经被改变,所以改变其中显示的信息可能是合乎需要的。如所解说的,藉此注释414显示商店名称、销售数据、所有者、评级、位置以及商店开业日期,注释412已经被修改成仅显示商店名称、销售数据和商店所有者。
[0054] 现在转向图8,解说了根据一说明性实施例的用于提供和修改3D环境内的注释的方法800的各方面。应该理解,不一定按任何特定次序来呈现此处公开的方法的操作,并且用替换次序来执行部分或全部操作是可能的且可构想的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
[0055] 还应当理解,所示方法可在任何时间结束且不必完整地执行。所述方法的部分或全部操作和/或基本上等价的操作可以通过执行计算机存储介质上所包括的计算机可读指令来执行,如本文所定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
[0056] 因此,应该理解,本文所述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行于计算系统上的程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
[0057] 方法800的操作在下文中被描述为至少部分地由生产力应用106、数据探索组件108、图形可视化组件114、注释器组件116和注释面层组件120或其某种组合来实现。作为替换或补充,方法800的操作中的一个或多个可至少部分地由计算设备102或相似地配置的计算机中的相似组件来实现。
[0058] 方法800开始于操作802并且前进至操作804,其中接收要在3D环境中渲染的所选数据。如上所述,用户可以选择要在3D环境中在图形上可视化的一个或多个数据。在一些示例中,不仅在图形上表示数据而且用信息来注释数据可能是有益的。
[0059] 方法800从操作804前进至操作806,其中接收要在3D环境中渲染的所选数据的注释。注释可取决于特定配置或生产力应用106中可用的特征而改变,或者可由用户使用生产力应用106来选择。注释类型可以改变,本公开的这一方面不限于任何特定种类。例如,注释可以是与操作804中选择的数据相关联或有关的特定数据。在另一示例中,注释可以是视觉注释,诸如应用于与操作804中选择的数据相关联的一个或多个视觉图形的色彩、形状、或尺寸。
[0060] 方法800从操作804前进至操作808,其中在3D环境中渲染数据和注释。对数据和注释的渲染可取决于特定配置或生产力应用106中可用的特征而改变,或者可由用户或实现文本公开的技术的其他人来选择。渲染视图可取决于选择用于渲染的数据而改变。例如,图2和3解说在3D环境中渲染数据和注释,其中该3D环境具有用于在地图上渲染数据的地理编码信息。
[0061] 如果用户或另一个体希望探索或“游览”该3D环境,则用户可以操纵一个或多个控件来修改3D可视化的视图。如果在操作810处接收到要改变3D环境的视图的输入,则方法800前进至操作812,其中作出关于注释是否应当接收到关于应用于3D环境的取向改变的特殊取向的确定。如果确定不应当向注释应用特殊取向,则方法800前进至操作814,其中以类似的方式向3D环境和注释应用取向改变,并且方法800前进至操作820处的结束。
[0062] 如果确定3D环境内的一个或多个注释要接收与3D环境的取向改变有关的特殊取向,则方法800从操作812前进至操作816,其中检索该特殊取向。如上所述,注释的视图可以被改变以容适各种特征。在一个示例中,注释中的一者或多者可被配置成保持“面向相机的视图”,其中注释的取向保持恒定而不管对3D环境的任何取向改变。
[0063] 在另一示例中,注释中的一者或多者可以在一个或多个旋转轴中“被锁定”但可以在其他方向轴上被维持。例如,图7的注释412被示为在Y方向上锁定至3D空间420的旋转。因此,在Y轴上应用于3D空间420任何改变将被类似地应用于注释412。但如果3D空间420在其他轴上被旋转,则那些改变不会被反映在对注释412的改变中,除非注释412也被锁定至这些轴。
[0064] 另外,在注释中的一者或多者中提供的信息可以在操作816处被改变。例如,3D空间或环境可以由用户放大。取决于生产力应用的配置或其他设置,所解说的注释可被更改。一个示例通过图2和3来解说。图3中的注释312和注释314示出比在图2中提供的信息更多的信息。在该示例中,缩放特征被应用并且两个数据204和206被放大。在该示例中,确定在放大带注释数据时附加信息是有价值的。应当注意,可以在其他取向修改中应用对数据的相同增加或减少,本公开的这一方面不限于任何一种类型的取向修改。在操作816处检索特殊注释取向,并且方法800前进至操作818,其中结合操作814处的方法来应用特殊注释取向。
方法800前进至操作820处的结束。
[0065] 图9解说能够执行本文所描述的用于提供3D注释面层工具的软件组件的设备的说明性计算机体系架构900。由此,图9所示的计算机体系结构900示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的体系结构。计算机体系结构900可用于执行本文所呈现的软件组件的任何方面。
[0066] 图9所示的计算机体系结构900包括中央处理单元1002(“CPU”)、包括随机存取存储器1006(“RAM”)和只读存储器(“ROM”)1008的系统存储器1004、以及将存储器1004耦合至CPU 1002的系统总线1010。基本输入/输出系统被存储在ROM 908中,该系统包含帮助诸如在启动期间计算机体系结构1000中的元件之间传递信息的基本例程。计算机体系结构900还包括用于存储来自图1的操作系统101以及一个或多个应用程序(包括但不限于生产力应用106)的大容量存储设备912。
[0067] 大容量存储设备912通过连接至总线910的大容量存储控制器(未示出)连接至CPU 902。大容量存储设备912及其相关联的计算机可读介质为计算机体系结构900提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构900访问的任何可用计算机存储介质或通信介质。
[0068] 通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
[0069] 作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机架构900访问的任何其他介质。为了声明的目的,短语“计算机存储介质”及其变型不包括波或信号本身和/或通信介质。
[0070] 根据各实施例,计算机体系结构900使用通过诸如网络104等网络与远程计算机的逻辑连接在联网环境中操作。计算机体系结构900可以通过连接至总线910的网络接口单元916来连接到网络104。应当理解,网络接口单元916还可用于连接到其他类型的网络和远程计算机系统。计算机架构900还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器918,这些设备包括键盘、鼠标或者电子指示笔(作为示例在图9中解说)。类似地,输入/输出控制器918可以向显示屏、打印机或其他类型的输出设备提供输出。
[0071] 应当理解,本文所描述的软件组件在被加载到CPU 902中并被执行时可以将CPU 902和总体计算机体系结构900从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 902可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体而言,CPU 902可以响应于包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU 902如何在各状态之间转换来变换CPU 902,由此变换了构成CPU 902的晶体管或其它分立硬件元件。
[0072] 对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
[0073] 作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可包括更改给定磁性介质内的特定位置的磁性特征。这些变换还可以包括更改给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于此描述。
[0074] 鉴于以上内容,应当理解,在计算机体系结构900中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构900可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可构想计算机体系结构900可以不包括图9所示的全部组件,可以包括未在图9中明确示出的其它组件,或者可利用完全不同于图9所示的体系结构。
[0075] 图10解说能够执行本文所描述的用于提供3D注释面层工具的软件组件的说明性分布式计算环境1000。因而,图10中解说的分布式计算环境1000可用于提供本文描述的功能。分布式计算环境1000由此可用于执行本文所呈现的软件组件的任何方面。
[0076] 根据各种实现,分布式计算环境1000包括在网络104上操作、与该网络通信、或者作为该网络的一部分的计算环境1002。网络104还可包括各种接入网络。一个或多个客户端设备1006A-1006N(在下文中统称和/或通称为“客户端1006”)可经由网络104和/或其他连接(在图10中未示出)与计算环境1002通信。在所示的实施例中,客户机1006包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备1006A;板式或平板计算设备(“平板计算设备”)1006B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备1006C;服务器计算机1006D;和/或其他设备1006N。应当理解,任意数量的客户机1006可与计算环境1002通信。应当理解,所示客户机1006以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
[0077] 在所示的实施例中,计算环境1002包括应用服务器1008、数据存储1010、以及一个或多个网络接口1012。根据各种实现,应用服务器1008的功能可由作为网络104一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器1008可主存各种服务、虚拟机、门户、和/或其他资源。在所示的实施例中,应用服务器1008主存一个或多个虚拟机1014以供主存应用或其他功能。根据各个实现,虚拟机1014主存一个或多个应用和/或软件模块,用于提供本文描述的用于提供3D注释面层工具的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。应用服务器1008还主存或提供对一个或多个web门户、链接页面、网站、和/或其他信息(“web门户”)1016的访问。
[0078] 根据各种实现,应用服务器1008还包括一个或多个邮箱服务1018以及一个或多个消息收发服务1020。邮箱服务1018可包括电子邮件(“email”)服务。邮箱服务1018还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务1020可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
[0079] 应用服务器1008还可包括一个或多个社交联网服务1022。社交联网服务1022可包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务,用于评论或显示对文章、产品、博客、或其他资源的兴趣的服务,和/或其他服务。在一些实施例中,社交联网服务1022可包括脸谱(FACEBOOK)社交联网服务、LINKEDIN专业人士联网服务、MYSPACE社交联网服务、FOURSQUARE地理联网服务、YAMMER办公同事联网服务等,或者可由这些服务提供。在其他实施例中,社交联网服务1022由其他服务、站点、和/或可明确或可不明确地称为社交联网供应商的供应商提供。例如,一些网站允许用户在各种活动和/或情境(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
[0080] 社交联网服务1022还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU查看服务、OFFICETALK企业微博服务、TWITTER消息服务、GOOGLE BUZZ服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交联网服务1022。由此,以上实施例是说明性的,并且不应被解释为以任何方式进行限制。
[0081] 如图10所示,应用服务器1008还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)1024。其他资源1024可包括但不限于,数据探索组件108、图形可视化组件114、以及注释面层组件120。由此,应当理解,计算环境1002可通过各种邮箱、消息收发、社交联网、和/或其他服务或资源提供概念和技术的集成。例如,本文公开的概念和技术可以将社交联网信息集成到各个搜索中并且结合内部知识向用户提供那些结果。
[0082] 如上所述,计算环境1002可包括数据存储1010。根据各种实现,数据存储1010的功能由在网络1004上操作的或者与该网络通信的一个或多个数据库提供。数据存储1010的功能也可由被配置成主存用于计算环境1002的数据的一个或多个服务器计算机提供。数据存储1010可以包括、主存或提供一个或多个实际或虚拟数据存储器1026A-1026N(下文统称和/或一般地称为“数据存储器1026”)。数据存储器1026被配置成主存由应用服务器1008使用或创建的数据和/或其他数据。尽管未在图10中解说,但数据存储1026还可主存或存储图2中所示的数据库224中的数据库224A-224N。
[0083] 计算环境1002可与网络接口1012通信或由该网络接口访问。网络接口1012可包括各种类型的网络硬件和软件,以支持包括但不限于客户机1006和应用服务器1008的两个或更多个计算设备之间的通信。应当理解,网络接口1012还可用于连接到其他类型的网络和/或计算机系统。
[0084] 应当理解,本文中所描述的分布式计算环境1000可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文中所公开的概念和技术的各种实现,分布式计算环境1000向客户机1006提供本文中所描述的软件功能作为服务。应当理解,客户机1006可包括实际或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话、和/或其他设备。由此,本文公开的概念和技术的各个实施例使被配置成访问分布式计算环境1000的任何设备能够使用本文中所述的功能来提供3D注释面层工具。
[0085] 现在转到图11,能够执行本文所述的用于提供3D注释面层工具的各个软件组件的计算设备的一说明性计算设备体系架构1100。计算设备体系架构1100可适用于部分地由于形状因数、无线连接、和/或电池供电操作而便于移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。此外,计算设备体系架构1100可用于图10所示的客户机1006中的任一个。此外,计算设备体系结构1100的各方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及诸如本文参考图1所描述的其他计算机系统。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于利用触摸屏或某种其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
[0086] 图11所示的计算设备体系架构1100包括处理器1102、存储器组件1104、网络连接组件1106、传感器组件1108、输入/输出组件1110、以及电源组件1112。在所示的实施例中,处理器1102与存储器组件1104、网络连接组件1106、传感器组件1108、输入/输出(I/O)组件1110、以及电源组件1112通信。虽然在图11所解说的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些实施例中,这些组件被安排成经由一条或多条总线(未示出)通信。
[0087] 处理器1102包括中央处理单元(“CPU”),该CPU被配置成处理数据、执行一个或多个应用程序的计算机可执行指令、并且与计算设备体系结构1100的其他组件通信以执行本文中所描述的各种功能。处理器1102可用于执行本文中所提出的软件组件的各方面,特别是至少部分地利用启用触摸的输入的那些方面。
[0088] 在一些实施例中,处理器1102包括被配置成加速由CPU执行的操作的图形处理单元(GPU),包括但不限于通过执行通用科学和工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高)、视频游戏、三维(3D)建模应用)等等而执行的操作。在一些实施例中,处理器1102被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
[0089] 在一些实施例中,处理器1102连同在下文中所描述的其他组件中的一个或多个为片上系统(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器1102、GPU、网络连接组件1106中的一个或多个、以及传感器组件1108中的一个或多个。在一些实施例中,可部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器1102。此外,处理器1102可以是单核或多核处理器。
[0090] 处理器1102可根据可从英国剑桥市ARM HOLDINGS许可购得的ARM体系结构来创建。替换地,处理器1102可根据诸如可从美国加利福尼亚州芒廷维尤市英特尔公司购得的x86体系结构以及其他体系结构来创建。在一些实施例中,处理器1102是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
[0091] 存储器组件1104包括随机存取存储器(“RAM”)1114、只读存储器(“ROM”)1116、集成存储器(“集成存储”)1118、以及可移动存储存储器(“可移动存储”)1120。在一些实施例中,RAM 1114或其一部分、ROM 1116或其一部分、和/或RAM 1114和ROM 1116的某一组合可集成在处理器1102中。在一些实施例中,ROM 1116被配置成存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储1118或可移动存储1120加载操作系统内核的引导装入器(bootloader)。
[0092] 集成存储1118可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储1118可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器1102以及本文中所描述的其他组件。由此,集成存储1118集成在计算设备中。集成存储1118被配置成存储操作系统或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
[0093] 可移动存储1120可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些实施例中,提供可移动存储1120来代替集成存储1118。在其他实施例中,提供可移动存储1120作为附加的任选存储。在一些实施例中,可移动存储1120在逻辑上与集成存储1118组合,以使全部可用的存储变得可用且示出给用户作为集成存储1118和可移动存储1120的总组合容量。
[0094] 可移动存储1120被配置成插入通过其插入和紧固可移动存储1120以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储1120可与诸如处理器1102之类的计算设备其他组件通信。可移动存储1120可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM”))、专用格式等。
[0095] 可以理解,存储器组件1104的一个或多个可存储操作系统。根据各个实施例,操作系统包括但不限于来自SYMBIAN有限公司的SYMBIAN OS、来自美国华盛顿州雷蒙德市微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEBOS、来自加拿大安大略省沃特卢市的运动研究有限公司(Research IN Motion Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。可构想其他操作系统。
[0096] 网络连接组件1106包括无线广域网组件(“WWAN组件”)1122、无线局域网组件(“WLAN组件”)1124、以及无线个域网组件(“WPAN组件”)1126。网络连接组件1106便于与网络104的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然示出单个网络104,但是网络连接组件1106可便于与多个网络的同时通信。例如,网络连接组件1106可便于经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
[0097] 网络104可以是WWAN,诸如利用一种或多种移动电信技术经由WWAN组件1122向利用计算设备体系架构1100的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)系统、CDMA2000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax)。”此外,网络104可利用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA”)等。可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络104可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络104可被配置成或适配成根据未来代的技术提供语音和/或数据通信。
[0098] 在一些实施例中,WWAN组件1122被配置成提供到网络104的双模、多模连接。例如,WWAN组件1122可被配置成提供到网络104的连接,其中网络104经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件1122可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件1122可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
[0099] 网络104可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE 802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些实施例中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些实施例中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件1124被配置成经由WI-FI接入点连接到网络104。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
[0100] 网络104可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些实施例中,WPAN组件1126被配置成便于经由WPAN与诸如外围设备、计算机、或者其他计算设备之类的其他设备的通信。
[0101] 传感器组件1108包括磁力计1128、环境光传感器1130、邻近传感器1132、加速度计1134、陀螺仪1136、以及全球定位系统传感器(“GPS传感器”)1138。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构1100中。
[0102] 磁力计1128被配置成测量磁场的强度和方向。在一些实施例中,磁力计1128向存储在存储器组件1104之一内的罗盘应用程序提供测量值以向用户提供包括基本方向、北、南、东和西的参照系中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计1128所获取的测量值的其他用途。
[0103] 环境光传感器1130被配置成测量环境光。在一些实施例中,环境光传感器1130提供对存储在一个存储器组件1104内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器1130所获取的测量值的其他用途。
[0104] 邻近传感器1132被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些实施例中,邻近传感器1132检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件1104之一内的应用程序,该存储器组件利用邻近信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近传感器1132检测到的接近度的其他用途。
[0105] 加速度计1134被配置成测量准确的加速。在一些实施例中,来自加速度计1134的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计1134接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些实施例中,将来自加速度计1134的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速或检测下降。可构想加速度计1134的其他用途。
[0106] 陀螺仪1136被配置成测量和维持定向。在一些实施例中,来自陀螺仪1136的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪1136可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些实施例中,应用程序利用来自陀螺仪1136和加速度计1134的输出来增强对应用程序的一些功能的控制。可构想陀螺仪1136的其他用途。
[0107] GPS传感器1138被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器1138计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器1138计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的引导、或者从目的地到该位置的引导。此外,GPS传感器1138可用于将位置信息提供给外部基于位置的服务,诸如E911服务。GPS传感器1138可利用网络连接组件1106中的一个或多个辅助GPS传感器1138来获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息以帮助获取位置确定。GPS传感器1138还可用于辅助GPS(“A-GPS”)系统中。
[0108] I/O组件1110包括显示器1140、触摸屏1142、数据I/O接口组件(“数据I/O组件”)1144、音频I/O接口组件(“音频I/O组件”)1146、视频I/O接口组件(“视频I/O组件”)1148、以及相机1150。在一些实施例中,显示器1140和触摸屏1142组合。在一些实施例中,数据I/O组件1144、音频I/O组件1146、以及视频I/O组件1148中的两个或更多个组合。I/O组件1110可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括内置于处理器
1102中的处理功能。
[0109] 显示器1140是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器1140可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器1140是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器1140是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
[0110] 触摸屏1142是被配置成检测触摸的存在和位置的输入设备。触摸屏1142可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏1142结合到显示器1140的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器1140上所呈现的对象或其他信息交互。在其他实施例中,触摸屏1142是结合到不包括显示器1140的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器1140的顶部的触摸屏以及与显示器1140相对的表面上的触摸垫。
[0111] 在一些实施例中,触摸屏1142是单点触摸触摸屏。在其他实施例中,触摸屏1142是多点触摸触摸屏。在一些实施例中,触摸屏1142被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为姿势。现在将描述若干姿势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏1142一起使用。由此,开发者可创建特定应用程序专用的姿势。
[0112] 在一些实施例中,触摸屏1142支持轻拍姿势,其中用户在显示器1140上所呈现的项目上轻拍触摸屏1142一次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户轻叩的任何事物。在一些实施例中,触摸屏1142支持双轻击姿势,其中用户在显示器1140上所呈现的项目上轻击触摸屏1142两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些实施例中,触摸屏1142支持轻叩并保持姿势,其中用户轻叩触摸屏1142并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持姿势,这些原因包括但不限于打开上下文特定的菜单。
[0113] 在一些实施例中,触摸屏1142支持平移姿势,其中用户将手指放置在触摸屏1142上并维持与触摸屏1142的接触,同时在触摸屏1142上移动手指。出于各种原因,可使用平移姿势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移姿势。在一些实施例中,触摸屏1142支持轻拂姿势,其中用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂姿势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏1142支持收窄和张开姿势,其中用户在触摸屏1142上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用收窄和张开姿势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
[0114] 虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏1142交互。如此,以上姿势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
[0115] 图12是可以与本文公开的概念和技术的一个或多个特征结合使用的台面设备1200的触摸屏1142的图解。台面设备1200可具有提供输入的触摸屏1142,如上文参考图1所描述的。用户1202可以使用平板设备1200来根据本文公开的各个实施例来注释数据以及修改其中渲染带注释数据的3D环境。在一个示例性实施例中,用户1202可以使用指示笔、他或她的手指、脚趾、或位于触摸点1204的其他身体部位来改变3D空间1206的取向。应当注意,触摸点1204仅仅是示例性的,因为平板设备1200可以具有允许用户1202触摸触摸屏1142的各个位置并且执行各种任务的功能。应当注意,图12的平板设备1200仅仅是说明性的,本公开的这一方面不限于任何特定配置。
[0116] 现在转向图11,数据I/O接口组件1144被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些实施例中,例如出于同步操作的目的,数据I/O接口组件1144包括被配置成提供计算设备和计算机系统之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些实施例中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
[0117] 音频I/O接口组件1146被配置成向计算设备提供音频输入和/或输出能力。在一些实施例中,音频I/O接口组件1144包括被配置成收集音频信号的话筒。在一些实施例中,音频I/O接口组件1144包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些实施例中,音频I/O接口组件1146包括用于输出音频信号的扬声器。在一些实施例中,音频I/O接口组件1144包括光学音频电缆输出。
[0118] 视频I/O接口组件1148被配置成向计算设备提供视频输入和/或输出能力。在一些实施例中,视频I/O接口组件1148包括被配置成接收视频作为来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些实施例中,视频I/O接口组件1148包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些实施例中,视频I/O接口组件1148或其一部分与音频I/O接口组件1146或其一部分组合。
[0119] 相机1150可被配置成捕捉静止图像和/或视频。相机1150可利用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕捉图像。在一些实施例中,相机1150包括在低光环境中辅助拍摄图片的闪光灯。相机1150的设置可被实现为硬件或软件按钮。
[0120] 虽然未示出,但是还可在计算设备体系结构1100中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
[0121] 所示的电源组件1112包括可连接到电池量表(gauge)1154的一个或多个电池1152。电池1152可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池1152可由一个或多个电池单元制成。
[0122] 电池量表1154可被配置成测量电池参数,诸如电流、电压、以及温度。在一些实施例中,电池量表1154被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些实施例中,电池量表1154向应用程序提供测量值,该应用程序被配置成利用这些测量值将有用的功率管理数据呈现给用户。功率管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
[0123] 电源组件1112还可包括电源连接器,该电源连接器可与上述I/O组件1110中的一个或多个组合。电源组件1112可经由电源组件1112与外部电源系统或充电装备对接。
[0124] 基于上述内容,应当意识到,本文已经公开了用于提供3D注释面层工具的概念和技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
[0125] 以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。