动画架构的制作方法

文档序号:12701274阅读:542来源:国知局
动画架构的制作方法与工艺

数据可视化是用于在例如图表、信息图、地图、量表等的可视化中图形化地表示数据的过程。当在可视化内渲染动画变化时,客户端利用异步动画平台来获得最佳性能,其中客户端设置层上的属性,然后在单独的线程上将属性动画化为其最终值。同步或“从属”动画通常需要在UI线程上运行紧密循环并且被避免,因为它们会在短时间段内挂起客户端或者可能具有较低的帧速率。然而,仍然需要同步动画,例如,当新数据被推送到时间序列动画上时,时间序列动画需要一系列来重建其底层几何。这样的改变不能通过在合成器中执行的简单仿射变换(即,保持关系)来近似,因此客户端必须编写从属动画循环来重绘每个帧。针对这些和其他考虑事项,做出了示例。



技术实现要素:

提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的所有特征,也不旨在用于限定所要求保护的主题的范围。

本公开的方面提供了一种动画架构,用于通过变形动画实现任何两个可视化状态之间的变化的动画。根据一个方面,可视化的之前、之后和中间的输出状态被捕获到故事板对象中。各方面允许输出状态的合并版本被自动计算并在故事板对象中缓存。在各个方面,故事板使得能够使用与用于绘制静态图表的逻辑相同的逻辑通过循环来渲染变化的动画。

示例可以被实现为计算机过程、计算系统,或作为诸如计算机程序产品或计算机可读介质的制品。计算机程序产品可以是计算机系统可读并且对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。

一个或多个方面的细节在附图和下面的描述中阐述。通过阅读以下具体实施方式和对相关图的阅览,其他特征和优点将是显而易见的。应当理解,以下具体实施方式仅是解释性的,并不限制本公开的其他方面。

附图说明

并入并且构成本公开的一部分的附图示出了本公开的各个方面。在图中:

图1说明了用于创建变形动画的故事板体系结构;

图2说明了变形动画的示例;

图3说明了用于提供对可视化的改变的变形动画的动画引擎的框图;

图4说明了示出用于提供对可视化的改变的变形动画的方法中所涉及的一般阶段的流程图;

图5说明了示出计算设备的示例物理组件的框图;

图6A和6B说明了移动计算设备的框图;以及

图7说明了分布式计算系统的框图。

具体实施方式

下面的具体实施方式参考了附图。在任何可能的情况下,相同的附图标记在附图和下面的说明中尽可能地用来指代相同或相似的元件。虽然描述了本公开的方面,修改方案、改造方案和其它的实现方式是可能的。例如,可以对图中所示的元件进行替代、添加或修改,并且可以通过替换、重定序或添加阶段到公开的方法来修改本文所描述的方法。因此,下面的具体实施方式不是限制本公开,而是,通过随附权利要求来限定本公开的适当的范围。示例可以采取硬件实现方式或完全软件实现方式的形式,或组合软件和硬件方面的实现方式。因此,以下具体实施方式不被认为是限制性的。

本公开的示例旨在通过对可视化的改变的故事板在数据可视化平台体系结构内提供动画架构。根据一个方面,该体系结构能够通过单独阶段的单向链来构建数据可视化(例如,图表、信息图、地图、量表等),每个阶段具有简单的输入接口和输出接口。

可视化(例如,图表、图形、信息图、量表、地图等)以图形方式表示数据。根据方面,数据在可视化中通过特定于给定可视化类型的几何形状(例如,通过饼图中的楔形,柱状图中的列等)来表示,并且相同的数据可以在不同的可视化类型中由不同的几何形状来表示。其他可视化元素(例如,图例,标题,轴等)由它们自己的几何形状表示。根据方面,这些几何形状包括可以直接传递到适当的渲染应用程序编程接口(API)的有限集合的基元(例如,线、贝塞尔(Bezier)曲线等)。从这些基元,可以近似任何几何形状。当可视化更改类型时,例如,当用户将条形图更改为饼形图时,几何形状也会改变。

提供了通过变形动画将对可视化所做的改变(例如,属性改变,数据改变,显示可视化内的元素,隐藏可视化内的元素,改变可视化类型等)动画化。例如,为了帮助用户语义上理解转换,各方面提供了在先前状态下在可视化中显示对象,然后变形为新状态。可以通过变形动画来转换任何可视化改变(即任何可视化改变是能够转换的),这样可以帮助用户理解对可视化进行的改变。

图1示出了用于创建变形动画的故事板体系结构100。根据一方面,故事板125用作记录机构或记录器,其从可视化中捕获输出状态的几何形状132、134、136。在一些方面,故事板125的接口暴露给客户端110,通过数据可视化平台API 115提供可视化。

根据各方面,拍取几何形状132、134、136的快照用于故事板。在各个方面,这些快照包括一组可视化元素(例如,图例、可视化标题、绘图区域等),其中每个元素包括几何基元和属性(例如,文本、颜色、虚线图案等)。例如,初始几何形状132的初始快照几何形状包括当开始记录要动画化的改变时所初始输出的可视化元素。根据方面,快照用于在变形动画中创建关键帧。

例如,当创建故事板125时,初始几何形状132被捕获并且作为初始关键帧142被缓存在故事板125内。随着客户端110修改可视化,故事板125可操作以便可选地快照(例如,记录)一个或多个中间几何形状134(被缓存为一个或多个中间关键帧144)。一旦进行了所有改变,最后的几何形状136被捕获并且作为最终关键帧146被缓存在故事板125内。客户端110然后可操作以选择结束记录或添加额外的改变,其中最终关键帧146然后将被视为正在进行的动画中的中间关键帧144。

要创建变形动画,计算表示快照之间的过渡状态的几何形状。根据方面,数据可视化平台120可操作以通过将一个关键帧中的每个可视化元素的几何形状与顺序关键帧中的那些相关联来计算关键帧的合并版本。例如,当客户端110正在产生多阶段动画时,在初始关键帧142、一个或多个中间关键帧144和最终关键帧146之间计算转换。根据各方面,在每个捕获的关键帧142、144、146之间创建多个合并帧148以产生平滑的动画,因为当在给定时间内计算和显示更多的合并帧148时,每个关键帧之间的转换可以更小。根据另一方面,故事板125可操作以节流合并帧148的创建,使得不再计算比以目标每秒帧数(FPS)速率生成动画所需的更多的合并帧148(例如,用于显示对于30FPS设定的1秒动画生成不超过生成30个合并帧148)。

数据可视化平台120可操作以在连续关键帧142、144、146之间的可视化中逻辑地将对象、几何图形和几何基元相关联。根据一个方面,初始几何形状132和最终几何形状136按以下优先级顺序匹配,表示包含/嵌套顺序:图表元素(由图表元素指针);图表元素属性(通过属性标识);图表元素数据点几何图形(按数据点索引);图表元素非数据点几何图形(按顺序位置);和图表元素几何图形段(按顺序位置)。根据另一方面,初始几何形状132和最终几何形状136可以通过对齐各系列线和贝塞尔(Bezier)簇来进行匹配,以防止当动画化时的变形。例如,初始状态下的一系列五条线(或Bezier)可以与最终状态下的一系列更多或更少线(或Bezier)对齐。在其他方面,包括用户定义的匹配在内的其他匹配顺序是可能的。

合并的几何形状138用于在各个方面产生合并帧148。根据一个方面,合并的几何形状138是几何形状的集合,其具有每个基元(例如,线,Bezier等)的每个顶点位置的前后输出状态。根据各个方面,合并的几何形状138被记录为用于计算连续流中的合并帧148的一对基元(例如,{初始,最终})。根据一个方面,一旦计算了合并帧148,它们根据时间线被缓存在故事板125内,使得由合并帧148表示的过渡状态可以在故事板的时间线内、以最小或减少的计算随时提供。各方面允许根据要使用与静态图像渲染相同的逻辑渲染的时间线来顺序地提供缓存在故事板125中的合并帧148。

根据一些方面,在合并帧148被缓存之后,丢弃初始关键帧状态142。根据一些方面,保留最终关键帧146,使得如果故事板体系结构100尚未被关闭(例如,客户端110还没有结束记录),则可以将其作为下一变形动画的初始关键帧142使用。

根据各方面,在之前输出状态和之后输出状态中存在的几何基元将彼此合并,使得它们的端点相关联。如果一对中合并基元的类型不相似,则方面提供在动画过程中将进行适当转换。例如,当在初始线和最终的贝塞尔之间过渡时,该线将被转换为贝塞尔曲线并且合并,其中可能包括向转换所添加的任何贝塞尔控制点的线添加额外的{初始,最终}对。

在各种示例中,每个对象可以存在或可以不存在于可视化的之前输出状态或之后输出状态中(例如,作为对可视化进行的改变的一部分添加或移除对象)。根据方面,应用各种规则来处理被移除或添加的元素的合并几何形状138的关联。例如,添加的可视化元素将具有空的初始值,并且将通过在插值期间更改所有颜色属性(例如,线、填充、文本等)的alpha通道而动画化为淡入。在一个对比的例子中,被移除的元素将具有空的最终值,并且将通过在插值期间更改所有颜色属性(例如,线、填充、文本等)的alpha通道来将其动画化为淡出。作为另一个例子,添加的元素将或者从中心点“爆炸”,或者源自相邻元素,取决于基于可视化元素的类型的预配置策略。进一步的对比是,根据基于可视化元素类型的预先配置的策略,被移除的元素将或者“内向爆炸”到中心点,或者将“折叠”到相邻的元素中。作为又一示例,添加的基元将从相邻基元的端点发出,从而使其看起来从零长度“增长”到其最终长度。在进一步的对比中,移除的基元将“折叠”到相邻基的端点中,从而使其消失,因为它缩小到零长度。

一旦故事板125完成,其可操作以向客户端110发送,将变化动画化。根据各方面,客户端110写入在指定持续时间(例如,1秒,0.5秒等)中迭代帧的动画循环。根据方面,在动画循环的每次迭代期间,客户端110向故事板125指定故事板的时间线内的哪个点应该被渲染。根据各方面,客户端110能够使用与用于绘制静态图表的相同的代码/逻辑在时间线上的指定点渲染帧。

根据若干方面,可视化与故事板125相关联,这使得可视化将其渲染从可视化中所存储的几何形状(处于其最终状态)重定向到故事板的合并帧148中的合并几何形状138。将故事板125和可视化相关联的方面使得客户端110能够重用静态可视化的渲染逻辑,并且添加动画循环,动画循环指定故事板的时间线中要渲染可视化的位置。各种方面允许故事板125在动画循环完成之后被丢弃或再次用于重复回放。

根据方面,客户端110可操作以在使用故事板125时使用定制定时曲线。在各个方面中,定时曲线可以是线性的或非线性的,并且指定在动画持续时间中的给定点处的各种元素的位置或属性。定时曲线的方面使得客户端110能够指定沿着故事板的时间线提供给定元素或属性的位置以及提供元素的下一次迭代的速度。例如,从可视化的左边界移动到右边的元素的线性定时曲线将以恒定的速率移动元素,使得在持续时间的n%处,在距右边的行程的n%处提供元素(其中n是0与100之间的任意数字)。相比之下,非线性定时曲线(例如,贝塞尔)可操作来提供元素的渲染,就好像其加速并且以与初始关键帧142不同的速率移动到最终关键帧146。类似地,各方面允许定时曲线应用于元素的非位置属性(例如,文本,颜色,虚线图案等)。

故事板体系结构100可操作以对若干动画类型启用变形动画。例如,交互地放大数据的动画,交互式地平移过可视化,数据系列变化的时间动画,“股票行情”风格的动画,可视化的风格或格式的变化的动画等。

图2示出了变形动画的示例。在所示的示例中,故事板125记录图表210的两个变化:(1)将图表标题220从图表210的顶部边缘移动到右边缘,以及(2)从柱形图切换到饼形图可视化类型。可视化元素230a-c以图形方式表示数据,并且当可视化类型时被示出为变形。所示的帧包括关键帧0(初始关键帧142),关键帧1(最终关键帧146)以及沿着故事板的时间线在关键帧0+25%处选择的(第一合并帧148)以及沿着故事板的时间线在关键帧0+75%处选择的(第二个合并帧148)两个合并帧148。如将理解的,可以使用比这里所示的更多或更少的帧。

根据一个方面,图2所示的动画是根据定时曲线进行渲染,其中每个帧经由客户端110在定时曲线指定的时间段内以顺序的次序显示。定时曲线指定在故事板的时间线中选择合并几何形状138以用于显示的位置。例如,当使用线性定时曲线时,客户端110在变形动画的持续时间的25%处渲染关键帧0+25%(第一合并帧148),但是当使用非线性定时曲线时,可以在动画持续时间的不同点(例如,30%、50%、80%等)处渲染关键帧0+25%(第一合并帧148)。

各方面使定时曲线能够应用于合并帧148中的所有几何形状或应用于单个元素。在一个示例中,合并帧148被缓存在故事板125中并通过元素特定的定时曲线来渲染。特定于元素的定时曲线可操作以应用于共享对象(例如,图表标题220)、应用于表示数据系列的元素(例如,可视化元素230a)或应用于多个共享对象和可视化元素。继续该示例,当通过元素特定的定时曲线渲染变形动画时,在变形动画的中途点处根据比可视化元素230a-c更快的定时曲线来动画化图表标题220的情况下,合并几何形状138从第二合并帧148提供用于图表标题220,但是从第一合并帧148提供用于可视化元素230a-c。

根据各方面,一旦改变动画得出结论,无论是对于元素还是整个可视化,最终几何形状136保持显示在可视化中,直到应用另一个改变或者不再显示可视化(例如,用户关闭客户端110,等等)。

图3示出了用于提供对可视化的改变的变形动画的动画引擎300的框图。动画引擎300被示为包括快照模块310,其可操作以响应于对可视化的改变而捕获和缓存几何形状;补间器(tweener)模块320,其可操作以生成表示所捕获的几何形状之间的“几何形状”的合并的几何形状138;以及成帧模块330,其可操作以生成代表所捕获和生成的几何形状的帧;以及缓冲器模块340,其可操作以存储和排序帧以供稍后渲染。

根据各方面,快照模块310可操作以捕获和缓存用于在可视化中表示数据的几何形状。如将理解的那样,可以从客户端110或用于生成或发送用于客户端100的几何形状的数据可视化平台120的模块检索几何形状。还可以理解的是,可以产生几何形状以整体地表示可视化,或者可以被生成来表示可视化中的各个数据系列(例如,表示各个数据系列的可视化元素230,共享对象(例如,轴,标题,图例等)等)。

从可视化的初始状态、最终状态和任何中间状态捕获和缓存的几何形状(即,分别为初始几何形状132,最终几何形状136和中间几何形状134)被传递到成帧模块330以创建代表几何形状的帧(即,分别为初始关键帧142,最终关键帧146和中间关键帧144)。捕获的几何形状也被传递给补间器模块320。

根据各方面,补间器模块320可操作以生成代表所捕获的几何形状之间的几何形状的合并的几何形状138。根据各方面,补间器模块320使用逻辑将初始阶段中的对象与最终阶段中的对象相关联,以确定哪个初始几何形状132变形成哪个最终几何形状136,使得各个数据点变形成它们的最终输出状态中的相同数据点。根据一个方面,要合并的几何形状之间的关联是通过几何形状中的注释来进行的。通过检查绑定到每个几何形状的数据或数据系列,通过用户输入,等等。

根据各方面,补间器模块320可操作以为从可视化添加或移除(即,不显示在关键帧中)的对象创建合并的几何形状138。几个方面使补间器模块320能够为对象缺失的阶段使用任意几何形状,使得该对象例如通过任意点淡入/淡出、生长/收缩,通过与相邻元素共享的共同的几何形状来合并/拆分,等等。

根据各方面,定时曲线由客户端110指定以规定几何形状如何在所捕获的几何形状之间变化。例如,线性定时曲线指定可视化内的受影响元素在整个变形动画中以稳定的速度变化,使得在定时曲线的中点处的元素已具有在其初始几何形状132和其最终几何形状136中间的合并的几何形状138。在替代的示例中,贝塞尔定时曲线允许对象在不同的开始时间进行动画处理,并且以不同的速率在初始几何形状132和最终几何形状136之间改变。

根据各方面,当使用捕获的中间几何形状134来创建合并的几何形状138时,补间器模块320可操作以在每个关键帧的几何形状之间使用相同或分开的定时曲线。例如,为了将饼形图(初始几何形状132)变形成柱形图(最终几何形状136)动画化,爆炸的饼形图的中间阶段(即,表示数据系列的楔形不接触的饼形图)可以被指定为被捕获为中间几何形状134。因此,从初始阶段到中间阶段的“爆炸”可以根据线性曲线进行动画化,并且从中间阶段到最后阶段的图表类型过渡可以根据贝塞尔曲线进行动画化。本领域技术人员将认识到共享/分开的定时曲线的几种组合是可能的,并且所示示例仅是一种可能的实现方式。

根据一个方面,补间器模块320可操作以合成多个合并的几何形状138,其中该数量基于由客户端110指定的动画持续时间和FPS速率。根据其他方面,当提供用于“实况(live)”改变的动画时,补间器模块320可操作用于以尽可能接近指定的FPS速率的稳定速率合成合并的几何形状138。例如,相关联的合并的几何形状138和帧148必须至少每16.67ms合成以满足60FPS,但是如果合成相关联的合并的几何形状138和帧148的时间超过16.67ms,则补间器模块320可操作以将FPS速率设定成合并的几何形状138和帧148能够稳定合成的最高速率,其中在提供变形动画的过程中生产率基本上不改变。根据另一方面,不再合成比指定回放速率所需的多的合并的几何形状138(以及因此合并帧148)(例如,对于在60FPS下的1秒的动画,需要不超过60个不同的合并的几何形状138)。

根据一个方面,补间器模块320可操作以保持最终几何形状136用作随后动画中的初始几何形状132。

合并的几何形状被传递到成帧模块330以创建代表性的帧。然后,帧从成帧模块330传递到缓冲模块340,在缓冲模块340中帧被排序和存储以供稍后渲染作为变形动画的一部分。根据各方面,当“实况”变化被动画化时,不超过一个合并帧148被存储在缓冲器中,使得合并帧148在FPS速率的范围内当其被产生时传递给客户端110。这些帧可由客户端110使用与渲染静态图像相同的逻辑来渲染。根据一方面,由于客户端110已经渲染初始关键帧142(即,当改变开始时,它正在显示具有初始几何形状132的可视化),所以缓冲模块340可操作以丢弃初始关键帧142。

根据一个方面,缓冲器模块340提供具有多个子缓冲器的交换链缓冲器,使得独立于屏幕渲染来生成帧,从而提供平滑的动画。根据各方面,交换链缓冲器用作成帧模块330的节流机制,使得不创建比实现目标FPS速率所需的更多的帧。

图4是示出用于提供对可视化的改变的变形动画的方法400中涉及的一般步骤的流程图。方法400从开始框401开始,并进行到创建故事板125的操作410。

方法400进行到操作420,其中可视化元素输出的初始快照(包括初始几何形状132)被捕获并且在故事板125内被缓存为初始关键帧142。如上所述,在各方面,可视化元素输出包括几何形状和属性。

从操作420,方法400进行到操作430,其中客户端110对可视化进行改变。例如,如图2所示,可视化类型可以从柱形图改变为饼形图,或者表示为可视化元素230的数据的值可能已经改变。在各方面中,故事板125可选地记录一个或多个中间输出状态,并将输出状态缓存为一个或多个中间关键帧144。

一旦进行了改变,方法400进行到操作440,其中输出(包括最终几何形状136)的后快照被捕获并在故事板125内被缓存为最终关键帧146。

方法400进行到操作450,其中计算输出(包括合并的几何形状138)的合并版本,根据各方面,该合并版本组合并关联每个图表元素的初始输出状态和最终输出状态(或序列中的任何中间输出状态之间)。如上所述,在各方面中,每个图表元素被分解为基元,并且合并的几何形状138包括基元的一对值{初始,最终}。

在操作460中,初始关键帧142被丢弃,并且在操作470中,客户端110写入一个动画循环,其指定应当在故事板的时间线内的哪些点渲染可视化。如上所述,在各方面中,客户端110可以包括用于动画的定时曲线,其可以是平台特定的。在故事板的时间线内的指定点处,对应于合并的几何形状138创建合并帧148。根据各方面,指定的点数由客户端110指定的动画的FPS速率限制,使得创建合并帧148所需的时间不超过回放时间(例如,对于60FPS的回放速率,每16.67毫秒,帧定时回放)。根据另一方面,不再创建比指定回放速率所需的更多的帧(例如,对于在60FPS下的1秒动画,需要不超过60帧)。

方法400进行到操作480,其中通过重播故事板125来渲染可视化改变的动画。方法400在结束(END)499结束。

虽然已经在结合运行于计算机上的操作系统上的应用程序而执行的程序模块的总的上下文中描述了本公开,本领域技术人员将理解,本公开还可以与其它程序模块相结合地实现。一般地,程序模块包括例程、程序、组件、数据结构以及执行特定任务或者实现特定抽象数据类型的其它类型的结构。

本文所描述的方面和功能可以经由多个计算系统来操作,计算系统包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板设备或板式计算机、笔记本计算机和膝上型计算机)、手持式设备、多处理器系统、基于微处理器或可编程消费电子设备、微型计算机以及大型计算机。

另外,本文所描述的方面和功能可以运行于分布式系统(例如,云计算系统)上,其中应用功能、存储器、数据存储和检索以及各种处理功能可以在分布式计算网络如因特网或内联网上彼此远程地操作。各种类型的用户界面和信息可以经由板上计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息可在各类型的用户界面和信息所投影到的壁面上显示和交互。与可实现本公开的方面的多种计算系统的交互包括击键输入、触摸屏输入、语音或其它音频输入、姿势输入,在姿势输入中关联的计算设备配备有检测(例如,照相机)功能,用于捕获和解释用于控制计算设备的功能等的用户姿势。

图5-7以及相关的说明提供了可实现本公开的示例的各种操作环境的论述。然而,参考图5-7所图示和论述的设备和系统是为了示例和说明的目的,而不是对可用于实现本文所述的本公开的方面的大量的计算设备配置的限制。

图5是示出可实现本公开的示例的计算设备500的物理组件(即,硬件)的框图。下述的计算设备组件可适合于上述的客户端设备。在基本的配置中,计算设备500可以包括至少一个处理单元502以及系统存储器504。根据计算设备的配置和类型,系统存储器504可包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器或这些存储器的任意组合。系统存储器504可包括适合运行软件应用550的操作系统505以及一个或多个编程模块506,例如客户端110。根据一个方面,系统存储器504可以包括数据可视化平台120。例如操作系统505可适于控制计算设备500的操作。此外,本公开的方面可与图形库、其它操作系统或任何其它应用程序相结合来实现,而不限于任何特定的应用或系统。该基本配置通过虚线508内的那些组件图示在图5中。计算设备500可以具有附加的特征或功能。例如,计算设备500还可以包括附加的数据存储设备(可移除和非可移除),诸如例如磁盘、光盘或磁带。该附加的存储由可移除存储设备509和非可移除存储设备510显示在图5中。

如上所述,多个程序模块和数据文件可存储在系统存储器504中。在处理单元502上执行的同时,程序模块506(例如,客户端110、数据可视化平台120)可以执行的处理包括但不限于图4中所示的方法400的一个或多个阶段。可根据本公开的示例使用的其它程序模块可包括应用,诸如电子邮件以及通讯录应用、文本处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等等。

此外,本公开的示例可以实现于包括离散的电子元件的电路、包含逻辑门的封装或集成电子芯片、使用微处理器的电路或者包含电子元件或微处理器的单个芯片中。例如,本公开的示例可通过片上系统(SOC)来实现,在SOC中,图5所示的每个或多个组件可集成到单个集成电路中。该SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,全部这些都集成(或“烧制”)到芯片基板上作为单个集成电路。当经由SOC来操作时,本文所描述的功能可以经由与单个集成电路(芯片)上的计算设备500的其它组件集成的专用逻辑来操作。本公开的示例还可以利用能够执行诸如例如与(AND)、或(OR)或非(NOT)的逻辑运算的其它技术来实现,包括但不限于机械技术、光学技术、流体技术以及量子技术。另外,本公开的方面可以实现在通用计算机内或者任何其它电路或系统内。

计算设备500还可以具有一个或多个输入设备512,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等输出设备514。前述设备是示例,可使用其它设备。计算设备500可以包括允许与其它计算设备518通信的一个或多个通信连接516。适合的通信连接516的示例包括但不限于RF发射机、接收机和/或收发机电路、通用串行总线(USB)、并行端口和/或串行端口。

本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可以包括易失性和非易失性的、可移除和非可移除的介质,它们以用于诸如计算机可读指令、数据结构或程序模块的信息的存储的任何方法或技术来实现。系统存储器504、可移除存储设备509和非可移除存储设备510都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光学存储、磁盒、磁带、磁盘存储或其它磁存储设备、或任何其它能够用于存储信息且能够由计算设备500访问的制品。任何这样的计算机存储介质可以是计算设备500的部分。计算机存储介质不包括载波或其它传播数据信号。

通信介质可通过计算机可读指令、数据结构、程序模块、或调制数据信号中的其他数据如载波或其他传输机制来具体实施,并且包括任何信息输送介质。术语“调制数据信号”可以描述其一个或多个特性以将信息编码到信号中的方式进行设定或改变的信号。通过示例而不是限制的方式,通信介质可以包括诸如有线网或直接连线连接的有线介质以及诸如声波、射频(RF)、红外和其他无线介质的无线介质。

图6A和6B示出了可以实现本公开的方面的移动计算设备600,例如,移动电话、智能电话、平板个人计算机和膝上型计算机等。参考图6A,示出了用于实现各方面的移动计算设备600的一个示例。在基本配置中,移动计算设备600是具有输入元件和输出元件的手持式计算机。移动计算设备600典型地包括显示器605以及允许用户输入信息到移动计算设备600的一个或多个输入按钮610。移动计算设备600的显示器605还可以充当输入设备(例如,触摸屏显示器)。如果包含,可选的侧部输入元件615允许另外的用户输入。侧部输入元件615可以是旋转开关、按钮或任何其它类型的手动输入元件。在可替代的示例中,移动计算设备600可以包含更多或更少的输入元件。例如,在一些示例中显示器605可以不是触摸屏。在可替代的示例中,移动计算设备600是便携式电话系统,诸如蜂窝电话。移动计算设备600还可以包括任选的键板635。任选的键板635可以是物理键板或产生于触摸屏显示器上的“软”键板。在各个方面中,输出元件包括用于示出图形用户界面(GUI)的显示器605、可视指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)。在一些示例中,移动计算设备600包含了用于为用户提供触反馈的振动换能器。在又一实施例中,移动计算设备600包含外围设备端口640,诸如音频输入(例如,麦克风插口)、音频输出(例如,耳机插口)以及视频输出(例如,HDMI端口),用于发送信号到外部设备或者从外部设备接收信号。

图6B是示出了移动计算设备的一个示例的体系结构的框图。也即,移动计算设备600可以包含实现一些示例的系统(即,体系结构)602。在一个示例中,系统602实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、通讯录管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能手机”。在一些示例中,系统602集成为计算设备,诸如集成的个人数字助理(PDA)以及无线电话。

一个或多个应用程序550(例如,客户端110)可以加载到存储器662中以及运行于操作系统664上或者与操作系统664关联。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。根据一个方面,数据可视化平台120可以加载到存储器662中。系统602还包括位于存储器662内的非易失性存储区668。非易失性存储区668可用于存储在系统602掉电的情况下不应丢失的永久性信息。应用程序550可使用信息且存储信息于非易失性存储区668中,诸如电子邮件应用使用的电子邮件或其它消息,等等。同步应用(未示出)也位于系统602上并且被编程以与位于主机上的对应的同步应用交互以保持存储在非易失性存储区668中的信息与存储在主机中的对应信息同步。应当意识到,其它应用可以加载到存储器662中且运行于移动计算设备600上。

系统602具有电源670,电源670实现为一个或多个电池。电源670可能进一步包括外部电源,诸如AC适配器或为电池补电或再充电的电力对接拖座。

系统602还可以包括执行发送和接收射频通信的功能的无线电672。无线电672促进系统602与“外界”之间经由通信载波或服务提供商的无线连接。向无线电672发送以及从无线电672接收是在操作系统664的控制下进行的。换言之,由无线电672接收到的通信可以经由操作系统664散播到应用程序550,反之亦然。

可视指示器620可以用于提供可视通知或音频接口674可用于经由音频换能器625产生可听的通知。在图示的示例中,可视指示器620是发光二极管(LED),音频换能器625是扬声器。这些设备可以直接与电源670耦合,从而当被激活时,它们在通知机制所规定的持续期间内保持接通,即使处理器660和其他组件可能为了节约电池电力而关闭。LED可以被编程以保持无限接通直至用户采取措施来指示设备的加电状态。音频接口674用来提供可听信号到用户以及从用户接收可听信号。例如,除了与音频换能器625耦合之外,音频接口674还可以与麦克风耦合以接收可听输入,例如促进电话对话。系统602可进一步包括使得板上照相机630的操作能够记录静像、视频流等的视频接口676。

实现系统602的移动计算设备600可以具有额外的特征或功能。例如,移动计算设备600还可以包括额外的数据存储设备(可移除的和非可移除的),诸如磁盘、光盘或磁带。该额外的存储由非易失性存储区668图示在图6B中。

通过移动计算设备600生成或捕获以及经由系统602存储的数据/信息可以本地地存储在移动计算设备600上,如上所述,或者数据可以存储在可由设备经由无线电672或者经由移动计算设备600与关联于移动计算设备600的单独的计算设备(例如,诸如因特网的分布式计算网络中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应当意识到,这些数据/信息可以通过移动计算设备600经由无线电672或者经由分布式计算网络来访问。类似地,根据公知的数据/信息传输和存储手段,包括电子邮件和协作数据/信息共享系统,这些数据/信息可轻易地在计算设备之间传输以便存储和使用。

图7示出用于如上所述提供数据可视化的系统的体系结构的一个示例。与客户端110或数据可视化平台120关联地开发的内容、交互的内容或编辑的内容可以存储在不同的通信信道或其它存储类型中。例如,可利用目录服务722、web入口724、邮箱服务726、即时消息传递库728或社交网站730来存储各个文档。客户端110或数据可视化平台120可使用这些类型的系统等中的任一种用于提供如本文所述的数据可视化。服务器715可以为客户端705A-C提供客户端110或数据可视化平台120。作为一个示例,服务器715可以是通过web提供客户端110或数据可视化平台120的web服务器。服务器715可以通过网络710在web上将客户端110或数据可视化平台120提供给客户端705。通过示例的方式,客户端计算设备可以实现且体现在个人计算机705A、平板计算设备705B和/或移动计算设备705C(例如,智能手机)或其它计算设备中。客户端计算设备的这些示例中的任一个均可以从库716获得内容。

上文参考根据本公开的方面的方法、系统和计算机程序产品的框图和/或操作图示描述了本本公开的方面。在框中提到的功能/行为可以不按如任意流程图中所示的顺序发生。例如,连续示出的两个框实际上可以基本同时执行或者框有时可以按相反的顺序执行,取决于所涉及到的功能/行为。

在本申请中提供的一个或多个示例的说明和图示不意在以任何方式限制或限缩如本公开的范围。在该申请中提供的方面、示例和细节被视为足以传达所有权以及使得其他技术人员能够实现和使用本公开的最佳方式。本公开不应解释为限于在本申请提供的任何方面、示例或细节。无论是组合地或者单独地显示和描述,各个特征(结构上的和方法上的)都意在被选择性地包含或省去以产生具有特定特征集合的示例。已经提供了本申请的描述和图示说明,本领域技术人员可以设想落入在本申请实施的总的发明构思的较宽方面的主旨内的、没有背离本公开的较宽范围的变型例、修改例和可替代的示例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1