对数据帧动画的通用表示的制作方法

文档序号:6377813阅读:203来源:国知局
专利名称:对数据帧动画的通用表示的制作方法
技术领域
本发明涉及产生表示数据帧的通用动画表示。
背景技术
经常难以看到诸如随时间变化的数据等按顺序改变的数据中的模式。例如,销售数据可展示某种季节性(例如,夏季的销售数据比冬季高)。针对该问题的解决方案是随着数据变化动画化该数据的可视表示。例如,图表上的图形元素可表示数据,并且动画可示出这些图形元素改变以表示该数据中的变化。发明内容
存在其中可呈现数据的动画的许多不同类型的呈现环境。这些呈现环境中的某一些可被配置为客户机一服务器系统中的客户机环境,其中对动画的处理的某一部分可由服务器执行。其他呈现环境可被配置成使用本地应用来本地地生成并运行动画。例如,呈现环境可包括基于浏览器的环境、本地企业生产力软件环境和/或其他环境。数据动画的表示传统上不适用于可以不同地配置并且可使用不同的语言来表示动画的不同类型的呈现环境。本文描述的工具和技术涉及通用动画表示,该通用动画表示可被转换成适于其中表示将被呈现为动画的呈现环境的专用动画表示。
作为示例,在一个实施例中,这些工具和技术可包括处理多个数据帧以产生表示这些数据帧的通用动画表示。该通用动画表示可以用适于被转换成多种不同的专用语言中的任一种的通用语言。该通用动画表示可被转换成用适于由呈现环境处理的专用语言的专用动画表示。该专用动画表示可被发送到呈现环境,其中该专用动画表示可被呈现在显示设备上。
提供本发明内容是为了以简化的形式介绍一些概念。这些概念将在以下具体实施例中进一步描述。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。类似地,本发明不限于解决在背景、详细描述、或附图中讨论的专用技术、工具、环境、缺点、或优点的实现。
附图简述
图I是其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境的框图。
图2是数据帧动画环境的框图。
图3是动画视图的示例的图示。
图4是一种用于对数据帧动画的通用表示的技术的流程图。
图5是另一种用于对数据帧动画的通用表示的技术的流程图。具体实施例
本文描述的各实施例涉及用于改进数据帧的动画的技术和工具。这样的改善可源4于分开或组合地使用各种技术和工具。
这些技术和工具可包括创建可被转换成不同的专用语言的图形动画元素的抽象或通用表示。用不同的专用语言的动画表示各自能够在不同类型的呈现环境中使用。例如, 专用语言可包括标记语言,诸如基于XML的语言(例如,GVML)、基于HTML的语言(例如,HTML5)以及包括XAML的语言。用于动画的专用语言可包括全都由呈现环境识别的不同语言的组合。
允许数据帧的动画用通用语言来定义并且然后被转换成专用语言可允许甚至对将被呈现在不同类型的呈现环境中的动画使用用于定义通用动画表示的相同技术。例如, 无论动画将在基于客户机一服务器浏览器的环境中使用,还是在不使用浏览器的本地环境中使用,都可使用用于定义通用动画表示的相同技术。
所附权利要求中定义的主题不必限于本文描述的益处。本发明的专用实现可提供本文描述的益处的全部、一些、或未提供本文描述的益处。尽管本文出于呈现的目的以专用的顺序次序描述了用于各种技术的操作,但应理解除非要求专用的排序,否则这种描述方式涵盖了操作顺序上的重新安排。例如,在某些情况下,可以重新安排或并发执行顺序地描述的操作。此外,为了简单起见,流程图可能未示出可结合其他技术来使用专用技术的各种方式。
在此描述的技术可被用于在此描述的一个或多个系统和/或用于一个或多个其他系统。例如,本文描述的各种过程可用硬件或软件、或两者的组合来实现。例如,诸如应用指定集成线路、可编程逻辑阵列以及其它硬件设备之类的专用硬件实现可被构造来实现在此描述的一个或多个技术中的至少一部分。可包括各种实施例的装置和系统的应用可广泛地包括各种电子和计算机系统。可使用两个或更多互连接的专用硬件模块或具有可在模块之间并通过模块传递的相关控制和数据信号的设备、或作为应用指定集成线路的部分的设备来实现各技术。此外,在此描述的技术可通过由计算机系统执行的软件程序来实现。作为一个示例,实现可包括分布的处理、组件/对象分布的处理、以及平行处理。此外,可构造虚拟计算机系统处理来实现在此描述的技术或功能中的一个或多个。
示例性计算环境
图I示出其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境(100)的一般化示例。例如,一个或多个这样的计算环境可被用作通用动画表示生成器、 动画表示转换器和/或呈现环境。一般而言,可使用各种不同的通用或专用计算系统配置。 适用于此处所描述的工具和技术的公知计算系统配置的示例包括,但不限于,服务器场和服务器群集、个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、 基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
计算环境(100)不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考

图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图I 中,这一最基本的配置(130)被包括在虚线内。处理单元(110)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPR0M、闪存)、或两者的某种组合。存储器(120)存储实现对数据帧动画的通用表示的软件(180)。
尽管为了清楚起见用线条示出了图I的各框,但是,实际上,描绘各组件并不是那样清楚,并且用比喻方法,图I以及下文讨论的其他附图的线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等呈现组件认为是I/o组件。而且,处理器具有存储器。 发明人关于此点认识到,这是本领域的特性,并且重申,图I的图示只是例示可结合本发明的一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图I的范围之内的并且被称为“计算机”、“计算环境”、或“计算设备”。
计算环境(100)可具有附加特征。在图I中,计算环境(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(100)的各组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软件提供操作环境,并协调计算环境(100) 的各组件的活动。
存储(140)可以是可移动或不可移动的,并可包括诸如磁盘、磁带或磁带盒、 CD-ROM、CD-RW、DVD之类的计算机可读存储介质,或者可用于储存信息并可在计算环境 (100)内访问的任何其它介质。存储(140)存储用于软件(180)的指令。
输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备;语音输入设备;扫描设备;网络适配器KD/DVD读取器;或可向计算环境(100)提供输入的另一设备。 输出设备(160)可以是显示器、打印机、扬声器、⑶/DVD刻录机、网络适配器、或从计算环境 (100)提供输出的另一设备。
通信连接(170)允许通过通信介质与另一计算实体进行通信。因此,计算环境(100)可使用通往诸如个人计算机、服务器、路由器、网络PC、对等设备或另一常见网络节点等一个或多个远程计算设备的逻辑连接而工作在联网环境中。通信介质以已调制数据信号的形式传达诸如数据或计算机可执行指令或请求等信息。已调制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非局限,通信介质包括以电、光、RF、红外、声学或其他载波实现的有线或无线技术。
可在可以是存储介质或通信介质的计算机可读介质的一般上下文中描述工具和技术。计算机可读存储介质是能在计算环境内被访问的任何可用存储介质,但是术语计算机可读存储介质并不指传播的信号本身。作为示例而非限制,结合计算环境(100),计算机可读介质包括存储器(120 )、存储(140 )、和以上的组合。
这些工具和技术可在诸如程序模块中所包括的在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行专用任务或实现专用抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。
出于演示的目的,详细描述使用了如“确定”、“选择”、“生成”、“接收”和“发送”等术语来描述计算环境中的计算机操作。这些以及其他类似术语是对计算机执行的操作的高层抽象,并且不应混淆于人类执行的动作,除非明确指出人类(诸如“用户”)的动作执行。对应于这些术语的实际的计算机操作取决于实现而不同。
数据帧动画系统和环境
具有通用动画表示的系统和环境
图2是数据帧动画环境(200)的框图,可结合该环境来实现所描述的各实施例中的一个或多个。数据帧动画环境(200)可包括一个或多个数据源(205),该一个或多个数据源可以向通用动画表示生成器(220)提供数据帧(210)。数据帧(210)中的每一个都可包括表示一时间点(特定时刻、时间段等)的数据。数据帧(210)中的数据可以不是基于时间的,而是可表示除所设时间之外的顺序。例如,数据帧(210)可表示来自多步骤过程中的一系列步骤的数据,并且动画可将每一步骤表示为该动画中的时间点(时间段或特定时刻)。 每一帧(210)可包括来自单个数据源(205 )或来自多个数据源(205 )的数据。而且,这些数据帧(210)中的一个或多个可以仅仅指示不存在来自数据源的对应于该数据帧(210)的数据。通用动画表示生成器(220)可接收并处理来自不同类型的数据源(例如,不同类型的电子表格、不同类型的数据库等)的数据字段,以供在相同的数据帧中使用和/或供在不同的数据帧中使用。通用动画表示生成器(220)还可接收定义如何动画化数据帧(210)的动画定义(230)。例如,动画定义(230)可接收自用户输入和/或按照默认设置。作为示例,动画定义(230)可定义用于动画的标题、轴标签、形状、颜色等。这些动画定义(230)还可接收自数据源(205)中的一个或多个。
通用动画表示生成器(220)可使用动画定义(230)来处理帧(210)以生成通用动画表示(240)。通用动画表示(240)可表示动画的图形特征,并且还可包括底层数据帧 (210)的表示(可以用或不用与动画的图形表示相同的语言来表示)。作为动画的图形表示的示例,通用动画表示生成器(220)可以在通用动画表示(240)中包括一个或多个时间线以及一个或多个动画动作。通用动画表示(240)可以用被配置成转换成可表示动画的多种不同的专用语言中的任一种专用语言的通用语言。
通用动画表不(240)可被传递至动画表不转换器(250)。动画表不转换器(250)可将通用动画表示(240)转换成专用语言,以产生被配置成由专用呈现环境(270)使用的专用动画表示(260)。专用动画表示(260)可被发送到专用呈现环境(270)。例如,专用动画表示(260)可以在计算机网络上通过计算机中的应用编程接口来发送,或以某一其他方式发送。呈现环境(270)可呈现数据帧(210)的所表示的动画。呈现环境(270)可以在诸如个人计算机、平板计算机或诸如移动电话等手持式移动设备之类的许多不同类型的设备中的任一个中。而且,整个数据帧动画环境(200)可以驻留在单个设备上,或者它可以分布在多个设备上。例如,通用动画表不生成器(220)和动画表不转换器(250)可被主存在一个或多个服务器上,诸如主存在web服务中,并且呈现环境(270)可被主存在利用浏览器程序来呈现的客户机上。
通用动画表示生成器(220)和动画表示转换器(250)可形成核心动画运行时工具,该工具可处理动画表示并将专用动画表示传递至被配置成处理该专用动画表示(260) 的对应的呈现环境(270)。
增量式更新和增量帧
如上所述,通用动画表示生成器(220)可表示随时间对动画中的图形元素进行的改变。这可由定义顺序图形帧的通用动画表示(220)来完成,这些顺序图形帧各自定义动画视图中对应于特定时间点的所有图形元素。或者,通用动画表示(240 )可定义关键动画帧(242),这些关键动画帧各自定义动画视图中对应于特定时间点的所有图形元素。然后, 为了节省计算资源,后续动画帧(包括关键帧(242)之间的帧)或增量动画帧(244)各自能够通过定义从前一视图改变的图形特征(诸如图形元素的属性)来定义图形视图。
增量动画帧(244和264)可表示直接表示数据的已改变的图形元素(条形图上的条、图线条、被调整大小以表示数据数量的图形元素等)以及背景图形元素(图表轴、标签、 标题等)。可以推断出未在增量动画巾贞(244或264)中表示的其他图形元素将对前一动画帧保持不变。在专用动画表示(260)的专用语言中支持增量动画帧(264)的特征的情况下, 在该专用动画表示(260)中也可使用类似的关键动画帧(262)和增量帧。为了确定什么图形元素已经在动画帧之间发生变化,通用动画表示生成器(220)可维护动画图形元素到数据帧(210)中的数据字段的映射。因此,如果图形元素的底层数据未改变,则通用动画表示生成器(220)无需在下一增量动画帧(244)中包括关于对应的图形元素的信息。类似地,如果能够在不改变背景图形元素的情况下示出数据帧(210)之间的数据变化,则能够从下一增量动画帧(244)中省略关于那些背景图形元素的新信息。例如,如果来自前一动画帧的轴对于下一数据帧(210)中的数据值是足够的,则该轴可保持不变并且可以从下一增量动画帧(244)中省略关于该轴的信息。然而,如果例如下一数据帧(210)中的数据值超出现有轴的限制,则下一增量动画帧(244)可定义具有足够大来处理新数据值的表示的值的新轴。 应当注意,动画可以不是图表,并且背景图形元素可以是其它类型的元素。例如,动画可以是按照国家的州或省来显示人口普查数据的该国家的数据驱动的地图。在一个实现中,每一个州或省的颜色可取决于人口数的大小来由一定范围的颜色表示。该动画可表示100年的动画化的人口数据,各个州/省的颜色改变以指示每一个十年期间的对应人口变化。
如果该动画是执行寻找操作以转到动画中的指定时间点或者该动画是倒带至动画中的指定先前时间点,并且在专用动画表示(260)中存在位于该时间点的增量动画中贞 (264),则该动画可转到在该指定时间点之前的关键动画帧(262),并且可前进播放到位于该动画中的指定时间点的增量动画巾贞(264 )。
批量化数据和动画帧
在其中有有限数量的数据帧(210)要处理的情形中,可以在呈现对应的动画图形中的任一个之前处理所有数据帧(210),并且可将整个专用动画表示(260)—起发送到呈现环境(270)。然而,对于数据帧(210)的大型集合而言,或者在要处理的数据帧(210)的集合是无界的情况下(诸如在数据帧(210)正被流传输至通用动画表示生成器(220)的情况下),以下操作可以是有益的对数据帧(210)进行批处理并将专用动画表示(260)的相应的各批量化部分发送到呈现环境(270)以便呈现,同时其他数据帧(210)仍然由通用动画表示生成器(220)和动画表示转换器(250)来处理。呈现环境(270)可以在接收到专用动画表示(260)的各批量化部分时呈现那些批量化部分。
数据帧动画实现
现在将描述用于数据帧动画的一些工具和技术的实现的具体示例。
现在参考图3,示出动画视图(300)的示例。动画视图(300)是诸如上文讨论的动画等所呈现的动画的用户界面显示。动画视图(300)可包括数据驱动的图表(310)。图表(310)可包括图表标题(312)、轴(320)、第一系列数据表不序列(330)和第二系列数据表示序列(332)。在该示例中,图表可表示关于各个国家的信息。轴(320)可包括表示一个国家的人均收入的水平轴以及表示一个国家的预期寿命的垂直轴。第一系列数据表示序列(330)将第一国家表示为位于图表中的具有一个方向的阴影线的点,第二系列数据表示序列(332)将第二国家表示为位于图表中的具有不同方向的阴影线的点(代替使用阴影线的不同方向,可使用不同颜色或某一其他外观差异)。这些点的大小和位置可随时间改变以表示相应国家的特性随时间的变化。例如,点的大小可表示国家的人口数,而点相对于轴 (320)的位置可表示国家的人均收入和预期寿命。
在图2的图示中,为每一个数据表示序列(330)示出了多个点。这是为了示出在播放图表(310)的动画时这些点如何随时间变化。例如,指示符T(N) (Tl、T2、T3、T4和T5) 指示点对应于底层数据帧的序列中的数据帧N。点可以在关于对应序列的数据变为可用时被添加到图表(310)。同样,点可以在关于对应序列的数据变为不可用时被从图表(310)中移除。例如,在多个国家的情况下,可能只收集了一个国家在所表示的总时间段的一部分期间的数据(例如,这可以在一个国家只在该时间段的一部分期间存在的情况下发生)。底层数据帧各自可包括对应于图表的表示的数据(人口数、人均收入、预期寿命,全都在一给定时间)。具有虚线的点可以是基于数据帧之间的时间的插值表示。这些插值表示可允许动画的移动比仅仅示出实际数据帧的表示的情况平滑。对这些表示的插值可以按具有不同类型的插值的不同方式执行。参考图2,作为示例,通用动画生成器(220)可执行插值并且在通用动画表示(240)中包括结果。或者,插值可由动画表示转换器(250)或由呈现环境(270) 来执行。
回头参考图3,动画视图(300)还可包括用于图表(310)的控件(250)。例如,控件 (350)可包括能够在“播放”(在当前未播放动画时)和“暂停”(在当前正在播放动画时)之间切换的播放/暂停按钮(352)。控件(350)还可包括速度控件(354),该速度控件可包括用于控制图表(310)中的动画的速度(可导致更改帧之间的时间)的指示符。控件(350)还可包括进度条(356),该进度条可包括用于跟踪图表(310)的动画在动画序列中的当前位置的指示符。另外,进度条(356)上的指示符可响应于寻找到动画中的特定时间点的用户输入(例如,拖放指示符)来移动。
使用通用语言的示例实现
回头参考图2,在一个示例中,通用动画表示(240)可以用通用语言来编写。通用语言可允许指定时间线和动画动作。
动画动作可涵盖各种图形场景。例如,一个动作可以是创建形状,而另一动作可以是破坏形状。该创建还可包括定义形状属性,包括形状上的可由后续动作参考的标识。另一动作可操纵或变换一个或多个形状属性。例如,这一操纵可包括从一个形状变换成另一个形状、改变颜色、改变形状大小、改变形状定向、改变形状位置等。对形状的操纵还可包括动作之间的插值。例如,插值动作可指定所操纵的属性的初始和最终值,以及该操纵的一个或多个时钟值。插值可以在这些初始和最终属性之间执行(例如,在初始和最终大小之间、 在初始和最终位置之间等)。可以对不同类型的动画动作应用不同的专用插值规则,并且指定一动作可包括指定插值规则的至少一部分为应用于该动作的插值规则。
如上所述,通用语言还可允许使用可管控动画动作的执行的时间线。在一个示例中,可以为每一动画指定根时间线。根时间线可管理用于动画的时钟,并且可驱动总动画序列,包括管理子时间线。在一个示例中,时钟的范围可由关键帧的数量来定义,并且时钟速率可由速度(例如,每秒多少帧)来定义。而且,无穷大的时钟速率可导致只显示关键帧,而不显示关键帧之间的插值(针对子时间线的对应于每一时钟计时的时钟值可以是零值)。根时间线可由诸如以上参考图3讨论的控件(350)等控件来操纵(播放、暂停、寻找、速度等)。
根时钟可以对子时间线发动时钟事件,并且每一子时间线都可控制一个或多个动画动作。子时间线的开始和结束时间可相对于根时间线来指定,并且子时间线可以从根时间线接收时钟计时值。子时间线可将根时间线时钟计时值转换成诸如O和I的两个值之间的相对值(其中子时间线可开始于相对时间O并在相对时间I结束)。子时间线可以对由子时间线控制的动画动作发动子时间线时钟计时事件。
示例运行时技术实现
现在将讨论在运行时对动画执行的技术的示例,但可使用不同的技术。运行时技术可包括视图确认和转换/呈现。这些动作中的全部或部分可以在相同的计算机或不同的计算机上执行。这些技术将参考数据驱动的图表来讨论,但可以对从数据帧导出的其它类型的动画使用类似的技术。
在视图确认期间,图表对象可创建数据驱动的根视图元素并将其附加到视图。该图表对象可扫描所有关键帧以确定将用于图表的轴的最小和最大值。可创建根时间线并将其附加到根视图元素。
该图表对象还可创建根时间线控件。例如,该创建可包括创建具有开始时间的子时间线并在该开始时间将该子时间线附加到根时间线。用于播放控制的创建动画动作、用于速度控制的创建动画动作以及用于进度条的创建动画动作全都可被附加到子时间线。
图表对象还可创建用于图表上的静态图形的形状。例如,这可包括创建用于静态图形的子时间线,并在该子时间线的开始时间将该子时间线附加到根时间线。可生成用于静态图形(例如,图表标题、绘图区域、网格线、轴和轴标签)中的每一个的创建动画动作,这些动作具有这些图形的属性,并且这些创建动画动作各自可被附加到用于静态图形的子时间线。
另外,图表对象可迭代通过关键数据帧的集合并对每一数据帧执行以下操作创建子时间线并在该子时间线的开始时间将该子时间线附加到根时间线;对于每一个新形状,将具有该形状的属性的创建动画动作附加到子时间线;对于正要离开的每一个现有形状,将具有形状标识的破坏动画动作附加到子时间线;以及对于将被改变的每一个持续形状,将具有形状标识以及初始和最终属性值的变换或操纵动画动作附加到子时间线。
对于本地应用,可以与浏览器场景不同地完成变换/呈现。对于这两种场景,根视图元素均可解析根时间线。对于本地应用场景,在解析时间线时,对于具有当前开始时间的每一子时间线,可处理用于该子时间线的每一个相关联的动画动作。该处理可包括将动画动作转换成呈现环境专用的表示。例如,如果将用电子表格程序来完成呈现,则动画动作可被转换成被该电子表格程序理解的专用语言(实际可包括一种或多种语言中的信息)。类似地,如果呈现将由数据库程序或文字处理程序来完成,则动画动作可被转换成可被该程序理解的专用语言(同样可以是一种或多种语言,诸如Java脚本和HTML)。经转换的专用表示可诸如通过在程序中传递或通过经由应用编程接口传递至程序来被提供给呈现引擎。
对于浏览器场景,根和子时间线及其关联动画动作可被转换成可被浏览器理解和处理的专用语言中的净荷。每一净荷都可以在完全生成该净荷时被发送到浏览器,并且浏览器可以在净荷到达时处理净荷,即使并非所有净荷都已到达。除了以上讨论的浏览器场景和本地应用场景之外,其他场景可以类似地工作。例如,可以存在诸如手持式设备等用于处理帧和执行动画的专用设备。可以在不在接收端使用浏览器的情况下通过网络来发送表示(例如,在不具有浏览器的专用动画设备接收到表示并呈现动画的情况下)。而且,不同的场景可涉及不同类型的设备,诸如平板设备、移动电话、台式计算机、膝上型计算机等。应当注意,本地应用可使用上述用于远程浏览器场景的机制,而远程浏览器场景可使用上述用于本地应用的机制。
用于对数据帧动画的通用表示的技术
现在将讨论用于对数据帧动画的通用表示的若干技术。可以在计算环境中执行这些技术中的每一个。例如,可在包括至少一个处理器和存储器的计算机系统中执行每种技术,该存储器包括存储于其上的、在由该至少一个处理器执行时使该至少一个处理器执行该技术的指令(存储器存储指令(例如,对象代码),并且当处理器执行这些指令时,处理器执行该技术)。类似地,一个或多个计算机可读存储介质可具有收录于其上的计算机可执行指令,该些指令在由至少一个处理器执行时使该至少一个处理器执行该技术。
参考图4,将描述一种用于对数据帧动画的通用表示的技术。该技术可包括处理 (410)多个数据帧以产生表示这些数据帧的通用动画表示。通用动画可将数据帧表示为诸如图表等动画的图形元素集随时间的变化。图表可包括一组轴。
可将通用动画表示转换(420)成用适于由呈现环境处理的专用语言的专用动画表示。通用动画表示和/或专用动画表示可将每一个数据巾贞表示为动画中的时间点,但在数据帧之间可以存在插值。转换(420)可包括从通用动画表示中移除专用语言不支持的一个或多个特征。转换可包括从通用动画表示中标识专用语言不支持的一个或多个特征,并用专用动画表示中的一个或多个特征来替换通用动画表示中的不支持的特征。例如,如果通用动画表示要求一形状在动画动作中淡出,但专用语言不支持淡出,则淡出动画动作可被移除或被替换为用于立即移除该形状的动作。
可将专用动画表示发送(430)到呈现环境。例如,专用动画表示可通过计算机网络来发送,并且呈现环境可包括浏览器。专用动画表示可被发送到计算机中的程序模块,该计算机还包括处理多个数据帧、转换通用动画表示和/或将专用动画表示发送到呈现环境的一个或多个程序模块。
通用动画表示可定义一个或多个动画动作以及用于动画动作的一个或多个时间线。例如,通用动画表示可包括根时间线以及一个或多个子时间线。专用动画表示可以用标记语言。通用动画表示可以用被配置成转换成多种不同的专用语言中的任一种语言的通用语目。
为了让本段清楚,数据帧可被称为数据帧的第一集合,通用动画表示可被称为用通用语言的第一通用动画表示,呈现环境可被称为第一呈现环境,而专用动画表示可被称为用第一专用语言的第一专用动画表示。该技术可包括处理多个数据帧的第二集合以产生用通用语言的第二通用动画表示。第二通用动画表示可表示数据帧的第二集合。第二通用动画表示可被转换成用与第一专用语言不同的第二专用语言的第二专用动画表示。第二专用语言可适于由第二呈现环境来处理。第二专用动画表示可以与用于呈现第二专用动画表示的指令一起被发送到第二呈现环境。
仍旧参考图4,该技术还可包括在呈现环境处接收(440)专用动画。呈现环境可以在显示设备上呈现(450)专用动画。该呈现环境可包括参与呈现的程序。该程序可选自下组浏览器程序、文字处理程序、电子表格程序、数据库程序、演示程序及其组合。
现在参考图5,将描述另一种用于对数据帧动画的通用表示的技术。该技术可包括处理(510)多个数据帧的第一集合以产生用通用语言的第一通用动画表示。第一通用动画可将数据帧的第一集合表示为第一动画的图形元素集(诸如数据驱动的图表)随时间的变化。第一通用动画表示可定义一个或多个时间线以及一个或多个动画动作。可将第一通用动画表示转换(520)成用适于由第一呈现环境处理的第一专用语言的第一专用动画表示。 可将第一专用动画表示发送(530)到第一呈现环境。
该技术还可包括处理(540)多个数据帧的第二集合以产生用通用语言的第二通用动画表示。第二通用动画表示可将数据帧的第二集合表示为第二动画的图形元素集随时间的变化。第二通用动画表示可定义一个或多个时间线以及一个或多个动画动作。可将第二通用动画表示转换(550)成用适于由第二呈现环境处理的第二专用语言的第二专用动画表示。可将第二专用动画表示发送到第二专用呈现环境(560)。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种计算机实现的方法,包括处理多个数据帧以产生表示所述数据帧的通用动画表示;将所述通用动画表示转换成用适于由呈现环境处理的专用语言的专用动画表示;以及将所述专用动画表示发送到所述呈现环境。
2.如权利要求I所述的方法,其特征在于,所述通用动画表示定义一个或多个动画动作以及用于所述一个或多个动画动作的一个或多个时间线。
3.如权利要求I所述的方法,其特征在于,所述通用动画表示用被配置成转换成多种不同的专用语言中的任一种语言的通用语言。
4.如权利要求I所述的方法,其特征在于,所述数据帧是数据帧的第一集合,所述通用动画表示是用通用语言的第一通用动画表示,所述呈现环境是第一呈现环境,所述专用动画表示是用第一专用语言的第一专用动画表示,并且所述方法还包括处理多个数据帧的第二集合以产生用所述通用语言的第二通用动画表示,所述第二通用动画表示表示所述数据帧的第二集合;将所述第二通用动画表示转换成用与所述第一专用语言不同的第二专用语言的第二专用动画表示,所述第二专用语言适于由第二呈现环境来处理;以及将所述第二专用动画表示发送到所述第二呈现环境。
5.如权利要求I所述的方法,其特征在于,转换包括从所述通用动画表示中移除所述专用语言不支持的一个或多个特征。
6.如权利要求I所述的方法,其特征在于,转换包括从所述通用动画表示中标识所述专用语言不支持的一个或多个特征,并用所述专用动画表示中的一个或多个特征来替换所述通用动画表示中的不支持的特征。
7.如权利要求I所述的方法,其特征在于,所述方法还包括在所述呈现环境处接收所述专用动画表示;以及在显示设备上呈现所述专用动画表示。
8.如权利要求I所述的方法,其特征在于,所述通用动画表示和所述专用动画表示两者都将所述数据巾贞中的每一个表示为动画中的时间点。
9.一种或多种其上包含有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在由至少一个处理器执行时使所述至少一个处理器执行以下动作处理多个数据帧以产生通用动画表示,所述通用动画表示将所述数据帧表示为动画的图形元素集随时间的变化,所述通用动画表示定义一个或多个时间线以及一个或多个动画动作;将所述通用动画表示转换成用适于由呈现环境处理的专用语言的专用动画表示;以及将所述专用动画表示发送到所述呈现环境。
10.一种计算机实现的方法,包括处理多个数据帧的第一集合以产生用通用语言的第一通用动画表示,所述第一通用动画表示将所述数据帧的第一集合表示为第一动画的图形元素集随时间的变化,所述第一通用动画表示定义一个或多个时间线以及一个或多个动画动作;将所述第一通用动画表示转换成用适于由第一呈现环境处理的第一专用语言的第一专用动画表示;将所述第一专用动画表示发送到所述第一呈现环境; 处理多个数据帧的第二集合以产生用所述通用语言的第二通用动画表示,所述第二通用动画表示将所述数据帧的第二集合表示为第二动画的图形元素集随时间的变化,所述第二通用动画表示定义一个或多个时间线以及一个或多个动画动作; 将所述第二通用动画表示转换成用适于由第二呈现环境处理的第二专用语言的第二专用动画表示;以及· 将所述第二专用动画表示发送到所述第二呈现环境。
全文摘要
本发明公开了对数据帧动画的通用表示。可处理多个数据帧以产生表示这些数据帧的通用动画表示。该通用动画表示可以用适于被转换成多种不同的专用语言中的任一种语言的通用语言。该通用动画表示可被转换成用适于由呈现环境处理的专用语言的专用动画表示。该专用动画表示可被发送到呈现环境,其中该专用动画表示可被呈现在显示设备上。
文档编号G06T13/00GK102930581SQ20121036454
公开日2013年2月13日 申请日期2012年9月26日 优先权日2011年9月27日
发明者G·A·普里汀 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1