專利名稱:數(shù)據(jù)幀動(dòng)畫的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)幀動(dòng)畫。
背景技術(shù):
經(jīng)常難以看到諸如隨時(shí)間變化的數(shù)據(jù)等按順序改變的數(shù)據(jù)中的模式。例如,銷售數(shù)據(jù)可展示某種季節(jié)性(例如,夏季的銷售數(shù)據(jù)比冬季高)。針對(duì)該問題的解決方案是隨著數(shù)據(jù)變化動(dòng)畫化該數(shù)據(jù)的可視表示。例如,圖表上的圖形元素可表示數(shù)據(jù),并且動(dòng)畫可示出這些圖形元素改變以表示該數(shù)據(jù)中的變化。
發(fā)明內(nèi)容
本文描述的工具和技術(shù)涉及表示數(shù)據(jù)幀的動(dòng)畫。例如,這些工具和技術(shù)可包括多源數(shù)據(jù)幀動(dòng)畫和/或具有增量動(dòng)畫幀的數(shù)據(jù)幀動(dòng)畫。 在一個(gè)實(shí)施例中,這些工具和技術(shù)可包括處理數(shù)據(jù)幀以產(chǎn)生表示這些數(shù)據(jù)幀的動(dòng)畫表不。動(dòng)畫表不可包括各自定義一個(gè)數(shù)據(jù)巾貞的完整圖形表不的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫中貞。動(dòng)畫表示還可包括各自定義一個(gè)或多個(gè)圖形更新而不定義一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀。動(dòng)畫表示可被發(fā)送到呈現(xiàn)環(huán)境以便呈現(xiàn)。在這些工具和技術(shù)的另一實(shí)施例中,可以從作為第一類型的數(shù)據(jù)源的第一數(shù)據(jù)源接收數(shù)據(jù),并且可以從作為第二類型的數(shù)據(jù)源的第二數(shù)據(jù)源接收數(shù)據(jù)??商幚頂?shù)據(jù)幀以產(chǎn)生表示這些數(shù)據(jù)幀的動(dòng)畫表示,其中這些數(shù)據(jù)幀包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)。動(dòng)畫表示可被發(fā)送到呈現(xiàn)環(huán)境以便呈現(xiàn)。提供本發(fā)明內(nèi)容是為了以簡化的形式介紹一些概念。這些概念將在以下具體實(shí)施例中進(jìn)一步描述。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。類似地,本發(fā)明不限于解決在背景、詳細(xì)描述、或附圖中討論的專用技術(shù)、工具、環(huán)境、缺點(diǎn)、或優(yōu)點(diǎn)的實(shí)現(xiàn)。附圖簡述圖I是其中可實(shí)現(xiàn)所描述的各實(shí)施例中的一個(gè)或多個(gè)實(shí)施例的合適的計(jì)算環(huán)境的框圖。圖2是數(shù)據(jù)幀動(dòng)畫環(huán)境的框圖。圖3是動(dòng)畫視圖的示例的圖示。圖4是用于具有增量動(dòng)畫幀的數(shù)據(jù)幀動(dòng)畫的技術(shù)的流程圖。圖5是用于多源數(shù)據(jù)幀動(dòng)畫的技術(shù)的流程圖。圖6是用于具有增量幀的多源數(shù)據(jù)幀動(dòng)畫的技術(shù)的流程圖。
具體實(shí)施例本文描述的各實(shí)施例涉及用于改進(jìn)數(shù)據(jù)幀的動(dòng)畫的技術(shù)和工具。這樣的改善可源于分開或組合地使用各種技術(shù)和工具。
這些技術(shù)和工具可包括在動(dòng)畫表示中使用增量動(dòng)畫幀。在采用這些增量幀的情況下,對(duì)圖形元素的處理可被限于由于數(shù)據(jù)幀之間的變化而變化的處理。在處理數(shù)據(jù)時(shí),可確定哪些圖形元素將在動(dòng)畫表示的下一圖形幀(增量動(dòng)畫幀)中改變。能夠簡化對(duì)動(dòng)畫的視圖確認(rèn),以使得正在生成動(dòng)畫表示的視圖對(duì)象知道什么圖形元素在幀之間變化并且僅更新那些圖形元素。增量幀可以按各種方式中的任一種表示已改變的圖形元素,諸如通過表示用于表示圖形特征(例如,圖形元素的大小、顏色、位置等)的一個(gè)或多個(gè)最終值和/或通過表示值在幀之間的一個(gè)或多個(gè)差。已改變和/或未改變的圖形元素可包括表示數(shù)據(jù)的圖形元素。圖形元素還可包括背景圖形元素,諸如繪圖區(qū)域形狀、圖表軸、標(biāo)簽等。圖形元素的布局可以增量式地完成,以使得只需更新已經(jīng)改變的背景圖形元素,并且增量幀可避免包括對(duì)動(dòng)畫幀的圖形元素的完整定義。使用增量動(dòng)畫幀可提高性能,尤其是在動(dòng)畫化隨時(shí)間變化的大型數(shù)據(jù)集時(shí)。如果對(duì)這樣的動(dòng)畫的視圖確認(rèn)涉及訪問和處理整個(gè)圖形表示(諸如圖形元素樹)以確定那些圖形元素實(shí)際上已經(jīng)在幀之間變化,則該確認(rèn)可能花費(fèi)較長時(shí)間。對(duì)增量幀的使用可允許在不更新對(duì)應(yīng)的圖形元素的情況下避免某些資源密集的操作(例如,用于三維圖形對(duì)象的網(wǎng)格的重新鑲嵌)。類似地,傳輸完整地定義每一幀中的所有圖形元素的動(dòng)畫表示可能消耗大量資源。增量動(dòng)畫幀可包括比同一圖形特征的關(guān)鍵動(dòng)畫幀少的信息。這些技術(shù)和工具可包括從不同類型的源獲取多個(gè)數(shù)據(jù)集。例如,數(shù)據(jù)集可以從不同類型的電子表格文件、從不同類型的數(shù)據(jù)庫等中獲取。諸如數(shù)據(jù)驅(qū)動(dòng)的圖表等動(dòng)畫可表示來自多個(gè)源(包括不同類型的源)的數(shù)據(jù)。例如,這可包括從不同的源檢索數(shù)據(jù)并將該數(shù)據(jù)轉(zhuǎn)換成單個(gè)數(shù)據(jù)格式以便在動(dòng)畫中表示這些數(shù)據(jù)幀。那些數(shù)據(jù)幀中的經(jīng)重新格式化的數(shù)據(jù)可被發(fā)送到與動(dòng)畫表示相同的呈現(xiàn)環(huán)境,以使得用戶能夠查看該動(dòng)畫的底層數(shù)據(jù)。由此,來自不同類型的數(shù)據(jù)源的數(shù)據(jù)可被匯集并被用于數(shù)據(jù)幀動(dòng)畫,并且數(shù)據(jù)本身還可被顯示和查看。由此,從此處描述的工具和技術(shù)中可以實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)質(zhì)的益處。所附權(quán)利要求中定義的主題不必限于本文描述的益處。本發(fā)明的專用實(shí)現(xiàn)可提供本文描述的益處的全部、一些、或未提供本文描述的益處。盡管本文出于呈現(xiàn)的目的以專用的順序次序描述了用于各種技術(shù)的操作,但應(yīng)理解除非要求專用的排序,否則這種描述方式涵蓋了操作順序上 的重新安排。例如,在某些情況下,可以重新安排或并發(fā)執(zhí)行順序地描述的操作。此外,為了簡單起見,流程圖可能未示出可結(jié)合其他技術(shù)來使用專用技術(shù)的各種方式。在此描述的技術(shù)可被用于在此描述的一個(gè)或多個(gè)系統(tǒng)和/或用于一個(gè)或多個(gè)其他系統(tǒng)。例如,本文描述的各種過程可用硬件或軟件、或兩者的組合來實(shí)現(xiàn)。例如,諸如應(yīng)用指定集成線路、可編程邏輯陣列以及其它硬件設(shè)備之類的專用硬件實(shí)現(xiàn)可被構(gòu)造來實(shí)現(xiàn)在此描述的一個(gè)或多個(gè)技術(shù)中的至少一部分。可包括各種實(shí)施例的裝置和系統(tǒng)的應(yīng)用可廣泛地包括各種電子和計(jì)算機(jī)系統(tǒng)??墒褂脙蓚€(gè)或更多互連接的專用硬件模塊或具有可在模塊之間并通過模塊傳遞的相關(guān)控制和數(shù)據(jù)信號(hào)的設(shè)備、或作為應(yīng)用指定集成線路的部分的設(shè)備來實(shí)現(xiàn)各技術(shù)。此外,在此描述的技術(shù)可通過由計(jì)算機(jī)系統(tǒng)執(zhí)行的軟件程序來實(shí)現(xiàn)。作為一個(gè)示例,實(shí)現(xiàn)可包括分布的處理、組件/對(duì)象分布的處理、以及平行處理。此外,可構(gòu)造虛擬計(jì)算機(jī)系統(tǒng)處理來實(shí)現(xiàn)在此描述的技術(shù)或功能中的一個(gè)或多個(gè)。示例性計(jì)算環(huán)境
圖I示出其中可實(shí)現(xiàn)所描述的各實(shí)施例中的一個(gè)或多個(gè)實(shí)施例的合適的計(jì)算環(huán)境(100)的一般化示例。例如,一個(gè)或多個(gè)這樣的計(jì)算環(huán)境可被用作通用動(dòng)畫表示生成器、動(dòng)畫表示轉(zhuǎn)換器和/或呈現(xiàn)環(huán)境。一般而言,可使用各種不同的通用或?qū)S糜?jì)算系統(tǒng)配置。適用于此處所描述的工具和技術(shù)的公知計(jì)算系統(tǒng)配置的示例包括,但不限于,服務(wù)器場(chǎng)和服務(wù)器群集、個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型計(jì)算機(jī)、包括上述系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算環(huán)境等。計(jì)算環(huán)境(100)不旨在對(duì)本發(fā)明的使用范圍或功能提出任何限制,因?yàn)楸景l(fā)明可以在完全不同的通用或?qū)S糜?jì)算環(huán)境中實(shí)現(xiàn)。
參考
圖1,計(jì)算環(huán)境(100)包括至少一個(gè)處理單元(110)和存儲(chǔ)器(120)。在圖I中,這一最基本的配置(130)被包括在虛線內(nèi)。處理單元(110)執(zhí)行計(jì)算機(jī)可執(zhí)行指令,并且可以是真實(shí)或虛擬處理器。在多處理系統(tǒng)中,多個(gè)處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行指令以提高處理能力。存儲(chǔ)器(120)可以是易失性存儲(chǔ)器(例如,寄存器、高速緩存、RAM)、非易失性存儲(chǔ)器(例如,R0M、EEPR0M、閃存)、或兩者的某種組合。存儲(chǔ)器(120)存儲(chǔ)實(shí)現(xiàn)具有多個(gè)源和/或增量動(dòng)畫幀的數(shù)據(jù)幀動(dòng)畫的軟件(180)。盡管為了清楚起見用線條示出了圖I的各框,但是,實(shí)際上,描繪各組件并不是那樣清楚,并且用比喻方法,圖I以及下文討論的其他附圖的線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等呈現(xiàn)組件認(rèn)為是I/o組件。而且,處理器具有存儲(chǔ)器。發(fā)明人關(guān)于此點(diǎn)認(rèn)識(shí)到,這是本領(lǐng)域的特性,并且重申,圖I的圖示只是例示可結(jié)合本發(fā)明的一個(gè)或多個(gè)實(shí)施例來使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖I的范圍之內(nèi)的并且被稱為“計(jì)算機(jī)”、“計(jì)算環(huán)境”、或“計(jì)算設(shè)備”。計(jì)算環(huán)境(100)可具有附加特征。在圖I中,計(jì)算環(huán)境(100)包括存儲(chǔ)(140)、一個(gè)或多個(gè)輸入設(shè)備(150)、一個(gè)或多個(gè)輸出設(shè)備(160)以及一個(gè)或多個(gè)通信連接(170)。諸如總線、控制器或網(wǎng)絡(luò)等互連機(jī)制(未示出)將計(jì)算環(huán)境(100)的各組件互連。通常,操作系統(tǒng)軟件(未示出)為在計(jì)算環(huán)境(100)中執(zhí)行的其它軟件提供操作環(huán)境,并協(xié)調(diào)計(jì)算環(huán)境(100)的各組件的活動(dòng)。存儲(chǔ)(140)可以是可移動(dòng)或不可移動(dòng)的,并可包括諸如磁盤、磁帶或磁帶盒、CD-ROM、CD-RW、DVD之類的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),或者可用于儲(chǔ)存信息并可在計(jì)算環(huán)境(100)內(nèi)訪問的任何其它介質(zhì)。存儲(chǔ)(140)存儲(chǔ)用于軟件(180)的指令。輸入設(shè)備(150)可以是諸如鍵盤、鼠標(biāo)、筆或跟蹤球等觸摸輸入設(shè)備;語音輸入設(shè)備;掃描設(shè)備;網(wǎng)絡(luò)適配器KD/DVD讀取器;或可向計(jì)算環(huán)境(100)提供輸入的另一設(shè)備。輸出設(shè)備(160)可以是顯示器、打印機(jī)、揚(yáng)聲器、⑶/DVD刻錄機(jī)、網(wǎng)絡(luò)適配器、或從計(jì)算環(huán)境(100)提供輸出的另一設(shè)備。通信連接(170)允許通過通信介質(zhì)與另一計(jì)算實(shí)體進(jìn)行通信。因此,計(jì)算環(huán)境
(100)可使用通往諸如個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或另一常見網(wǎng)絡(luò)節(jié)點(diǎn)等一個(gè)或多個(gè)遠(yuǎn)程計(jì)算設(shè)備的邏輯連接而工作在聯(lián)網(wǎng)環(huán)境中。通信介質(zhì)以已調(diào)制數(shù)據(jù)信號(hào)的形式傳達(dá)諸如數(shù)據(jù)或計(jì)算機(jī)可執(zhí)行指令或請(qǐng)求等信息。已調(diào)制數(shù)據(jù)信號(hào)是其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式設(shè)置或改變的信號(hào)。作為示例而非局限,通信介質(zhì)包括以電、光、RF、紅外、聲學(xué)或其他載波實(shí)現(xiàn)的有線或無線技術(shù)??稍诳梢允谴鎯?chǔ)介質(zhì)或通信介質(zhì)的計(jì)算機(jī)可讀介質(zhì)的一般上下文中描述工具和技術(shù)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)是能在計(jì)算環(huán)境內(nèi)被訪問的任何可用存儲(chǔ)介質(zhì),但是術(shù)語計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)并不指傳播的信號(hào)本身。作為示例而非限制,結(jié)合計(jì)算環(huán)境(100),計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)器(120 )、存儲(chǔ)(140 )、和以上的組合。這些工具和技術(shù)可在諸如程序模塊中所包括的在目標(biāo)真實(shí)或虛擬處理器上的計(jì)算環(huán)境中執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行專用任務(wù)或?qū)崿F(xiàn)專用抽象數(shù)據(jù)類型的例程、程序、庫、對(duì)象、類、組件、數(shù)據(jù)結(jié)構(gòu)等。程序模塊的功能可以如各實(shí)施例中所需的組合或在程序模塊之間分離。用于程序模塊的計(jì)算機(jī)可執(zhí)行指令可以在本地或分布式計(jì)算環(huán)境中執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。 出于演示的目的,具體實(shí)施方式
使用了如“確定”、“選擇”、“發(fā)送”和“呈現(xiàn)”等術(shù)語來描述計(jì)算環(huán)境中的計(jì)算機(jī)操作。這些以及其他類似術(shù)語是對(duì)計(jì)算機(jī)執(zhí)行的操作的高層抽象,并且不應(yīng)混淆于人類執(zhí)行的動(dòng)作,除非明確指出人類(諸如“用戶”)的動(dòng)作執(zhí)行。對(duì)應(yīng)于這些術(shù)語的實(shí)際的計(jì)算機(jī)操作取決于實(shí)現(xiàn)而不同。數(shù)據(jù)幀動(dòng)畫系統(tǒng)和環(huán)境具有通用動(dòng)畫表示的系統(tǒng)和環(huán)境圖2是數(shù)據(jù)幀動(dòng)畫環(huán)境(200)的框圖,可結(jié)合該環(huán)境來實(shí)現(xiàn)所描述的各實(shí)施例中的一個(gè)或多個(gè)。數(shù)據(jù)幀動(dòng)畫環(huán)境(200)可包括一個(gè)或多個(gè)數(shù)據(jù)源(205),該一個(gè)或多個(gè)數(shù)據(jù)源可以向通用動(dòng)畫表示生成器(220)提供數(shù)據(jù)幀(210)。數(shù)據(jù)幀(210)中的每一個(gè)都可包括表示一時(shí)間點(diǎn)(特定時(shí)刻、時(shí)間段等)的數(shù)據(jù)。數(shù)據(jù)幀(210)中的數(shù)據(jù)可以不是基于時(shí)間的,而是可表示除所設(shè)時(shí)間之外的順序。例如,數(shù)據(jù)幀(210)可表示來自多步驟過程中的一系列步驟的數(shù)據(jù),并且動(dòng)畫可將每一步驟表示為該動(dòng)畫中的時(shí)間點(diǎn)(時(shí)間段或特定時(shí)刻)。每一幀(210)可包括來自單個(gè)數(shù)據(jù)源(205 )或來自多個(gè)數(shù)據(jù)源(205 )的數(shù)據(jù)。而且,這些數(shù)據(jù)幀(210)中的一個(gè)或多個(gè)可以僅僅指示不存在來自數(shù)據(jù)源的對(duì)應(yīng)于該數(shù)據(jù)幀(210)的數(shù)據(jù)。通用動(dòng)畫表示生成器(220)可接收并處理來自不同類型的數(shù)據(jù)源(例如,不同類型的電子表格、不同類型的數(shù)據(jù)庫等)的數(shù)據(jù)字段,以供在相同的數(shù)據(jù)幀中使用和/或供在不同的數(shù)據(jù)幀中使用。通用動(dòng)畫表示生成器(220)還可接收定義如何動(dòng)畫化數(shù)據(jù)幀(210)的動(dòng)畫定義(230)。例如,動(dòng)畫定義(230)可接收自用戶輸入和/或按照默認(rèn)設(shè)置。作為示例,動(dòng)畫定義(230)可定義用于動(dòng)畫的標(biāo)題、軸標(biāo)簽、形狀、顏色等。這些動(dòng)畫定義(230)還可接收自數(shù)據(jù)源(205)中的一個(gè)或多個(gè)。通用動(dòng)畫表示生成器(220)可使用動(dòng)畫定義(230)來處理幀(210)以生成通用動(dòng)畫表示(240)。通用動(dòng)畫表示(240)可表示動(dòng)畫的圖形特征,并且還可包括底層數(shù)據(jù)幀
(210)的表示(可以用或不用與動(dòng)畫的圖形表示相同的語言來表示)。作為動(dòng)畫的圖形表示的示例,通用動(dòng)畫表示生成器(220)可以在通用動(dòng)畫表示(240)中包括一個(gè)或多個(gè)時(shí)間線以及一個(gè)或多個(gè)動(dòng)畫動(dòng)作。通用動(dòng)畫表示(240)可以用被配置成轉(zhuǎn)換成可表示動(dòng)畫的多種不同的專用語言中的任一種專用語言的通用語言。通用動(dòng)畫表不(240)可被傳遞至動(dòng)畫表不轉(zhuǎn)換器(250)。動(dòng)畫表不轉(zhuǎn)換器(250)可將通用動(dòng)畫表示(240)轉(zhuǎn)換成專用語言,以產(chǎn)生被配置成由專用呈現(xiàn)環(huán)境(270)使用的專用動(dòng)畫表示(260)。專用動(dòng)畫表示(260)可被發(fā)送到專用呈現(xiàn)環(huán)境(270)。例如,專用動(dòng)畫表示(260)可以在計(jì)算機(jī)網(wǎng)絡(luò)上通過計(jì)算機(jī)中的應(yīng)用編程接口來發(fā)送,或以某一其他方式發(fā)送。呈現(xiàn)環(huán)境(270)可呈現(xiàn)數(shù)據(jù)幀(210)的所表示的動(dòng)畫。呈現(xiàn)環(huán)境(270)可以在諸如個(gè)人計(jì)算機(jī)、平板計(jì)算機(jī)或諸如移動(dòng)電話等手持式移動(dòng)設(shè)備之類的許多不同類型的設(shè)備中的任一個(gè)中。而且,整個(gè)數(shù)據(jù)幀動(dòng)畫環(huán)境(200)可以駐留在單個(gè)設(shè)備上,或者它可以分布在多個(gè)設(shè)備上。例如,通用動(dòng)畫表不生成器(220)和動(dòng)畫表不轉(zhuǎn)換器(250)可被主存在一個(gè)或多個(gè)服務(wù)器上,諸如主存在web服務(wù)中,并且呈現(xiàn)環(huán)境(270)可被主存在利用瀏覽器程序來呈現(xiàn)的客戶機(jī)上。通用動(dòng)畫表不生成器(220)和動(dòng)畫表不轉(zhuǎn)換器(250)可形成核心動(dòng)畫運(yùn)行時(shí)工具,該工具可處理動(dòng)畫表示并將專用動(dòng)畫表示傳遞至被配置成處理該專用動(dòng)畫表示(260)的對(duì)應(yīng)的呈現(xiàn)環(huán)境(270)。增量式更新和增量幀如上所述,通用動(dòng)畫表示生成器(220)可表示隨時(shí)間對(duì)動(dòng)畫中的圖形元素進(jìn)行的改變。這可由定義順序圖形幀的通用動(dòng)畫表示(220)來完成,這些順序圖形幀各自定義動(dòng)畫視圖中對(duì)應(yīng)于特定時(shí)間點(diǎn)的所有圖形元素?;蛘撸ㄓ脛?dòng)畫表示(240)可定義關(guān)鍵動(dòng)畫幀(242),這些關(guān)鍵動(dòng)畫幀各自定義動(dòng)畫視圖中對(duì)應(yīng)于特定時(shí)間點(diǎn)的所有圖形元素。然后,為了節(jié)省計(jì)算資源,后續(xù)動(dòng)畫幀(包括關(guān)鍵幀(242)之間的幀)或增量動(dòng)畫幀(244)各自能夠通過定義從前一視圖改變的圖形特征(諸如圖形元素的屬性)來定義圖形視圖?!?br>
增量動(dòng)畫幀(244和264)可表示直接表示數(shù)據(jù)的已改變的圖形元素(條形圖上的條、圖線條、被調(diào)整大小以表示數(shù)據(jù)數(shù)量的圖形元素等)以及背景圖形元素(圖表軸、標(biāo)簽、標(biāo)題等)??梢酝茢喑鑫丛谠隽縿?dòng)畫巾貞(244或264)中表示的其他圖形元素將對(duì)前一動(dòng)畫幀保持不變。在專用動(dòng)畫表示(260)的專用語言中支持增量動(dòng)畫幀(264)的特征的情況下,在該專用動(dòng)畫表示(260)中也可使用類似的關(guān)鍵動(dòng)畫幀(262)和增量幀。為了確定什么圖形元素已經(jīng)在動(dòng)畫幀之間發(fā)生變化,通用動(dòng)畫表示生成器(220)可維護(hù)動(dòng)畫圖形元素到數(shù)據(jù)幀(210)中的數(shù)據(jù)字段的映射。因此,如果圖形元素的底層數(shù)據(jù)未改變,則通用動(dòng)畫表示生成器(220)無需在下一增量動(dòng)畫幀(244)中包括關(guān)于對(duì)應(yīng)的圖形元素的信息。類似地,如果能夠在不改變背景圖形元素的情況下示出數(shù)據(jù)幀(210)之間的數(shù)據(jù)變化,則能夠從下一增量動(dòng)畫幀(244)中省略關(guān)于那些背景圖形元素的新信息。例如,如果來自前一動(dòng)畫幀的軸對(duì)于下一數(shù)據(jù)幀(210)中的數(shù)據(jù)值是足夠的,則該軸可保持不變并且可以從下一增量動(dòng)畫幀(244)中省略關(guān)于該軸的信息。然而,如果例如下一數(shù)據(jù)幀(210)中的數(shù)據(jù)值超出現(xiàn)有軸的限制,則下一增量動(dòng)畫幀(244)可定義具有足夠大來處理新數(shù)據(jù)值的表示的值的新軸。應(yīng)當(dāng)注意,動(dòng)畫可以不是圖表,并且背景圖形元素可以是其它類型的元素。例如,動(dòng)畫可以是按照國家的州或省來顯示人口普查數(shù)據(jù)的該國家的數(shù)據(jù)驅(qū)動(dòng)的地圖。在一個(gè)實(shí)現(xiàn)中,每一個(gè)州或省的顏色可取決于人口數(shù)的大小來由一定范圍的顏色表示。該動(dòng)畫可表示100年的動(dòng)畫化的人口數(shù)據(jù),各個(gè)州/省的顏色改變以指示每一個(gè)十年期間的對(duì)應(yīng)人口變化。如果該動(dòng)畫是執(zhí)行尋找操作以轉(zhuǎn)到動(dòng)畫中的指定時(shí)間點(diǎn)或者該動(dòng)畫是倒帶至動(dòng)畫中的指定先前時(shí)間點(diǎn),并且在專用動(dòng)畫表示(260)中存在位于該時(shí)間點(diǎn)的增量動(dòng)畫中貞
(264),則該動(dòng)畫可轉(zhuǎn)到在該指定時(shí)間點(diǎn)之前的關(guān)鍵動(dòng)畫幀(262),并且可前進(jìn)播放到位于該動(dòng)畫中的指定時(shí)間點(diǎn)的增量動(dòng)畫巾貞(264 )。
批量化數(shù)據(jù)和動(dòng)畫幀在其中有有限數(shù)量的數(shù)據(jù)幀(210)要處理的情形中,可以在呈現(xiàn)對(duì)應(yīng)的動(dòng)畫圖形中的任一個(gè)之前處理所有數(shù)據(jù)幀(210),并且可將整個(gè)專用動(dòng)畫表示(260)—起發(fā)送到呈現(xiàn)環(huán)境(270)。然而,對(duì)于數(shù)據(jù)幀(210)的大型集合而言,或者在要處理的數(shù)據(jù)幀(210)的集合是無界的情況下(諸如在數(shù)據(jù)幀(210)正被流傳輸至通用動(dòng)畫表示生成器(220)的情況下),以下操作可以是有益的對(duì)數(shù)據(jù)幀(210)進(jìn)行批處理并將專用動(dòng)畫表示(260)的相應(yīng)的各批量化部分發(fā)送到呈現(xiàn)環(huán)境(270)以便呈現(xiàn),同時(shí)其他數(shù)據(jù)幀(210)仍然由通用動(dòng)畫表示生成器(220)和動(dòng)畫表示轉(zhuǎn)換器(250)來處理。呈現(xiàn)環(huán)境(270)可以在接收到專用動(dòng)畫表示(260)的各批量化部分時(shí)呈現(xiàn)那些批量化部分。
數(shù)據(jù)幀動(dòng)畫實(shí)現(xiàn)現(xiàn)在將描述用于數(shù)據(jù)幀動(dòng)畫的一些工具和技術(shù)的實(shí)現(xiàn)的具體示例?,F(xiàn)在參考圖3,示出動(dòng)畫視圖(300)的示例。動(dòng)畫視圖(300)是諸如上文討論的動(dòng)畫等所呈現(xiàn)的動(dòng)畫的用戶界面顯示。動(dòng)畫視圖(300)可包括數(shù)據(jù)驅(qū)動(dòng)的圖表(310)。圖表(310)可包括圖表標(biāo)題(312)、軸(320)、第一系列數(shù)據(jù)表不序列(330)和第二系列數(shù)據(jù)表示序列(332)。在該示例中,圖表可表示關(guān)于各個(gè)國家的信息。軸(320)可包括表示一個(gè)國家的人均收入的水平軸以及表示一個(gè)國家的預(yù)期壽命的垂直軸。第一系列數(shù)據(jù)表示序列(330)將第一國家表示為位于圖表中的具有一個(gè)方向的陰影線的點(diǎn),第二系列數(shù)據(jù)表示序列(332)將第二國家表示為位于圖表中的具有不同方向的陰影線的點(diǎn)(代替使用陰影線的不同方向,可使用不同顏色或某一其他外觀差異)。這些點(diǎn)的大小和位置可隨時(shí)間改變以表示相應(yīng)國家的特性隨時(shí)間的變化。例如,點(diǎn)的大小可表示國家的人口數(shù),而點(diǎn)相對(duì)于軸
(320)的位置可表示國家的人均收入和預(yù)期壽命。在圖2的圖示中,為每一個(gè)數(shù)據(jù)表示序列(330)示出了多個(gè)點(diǎn)。這是為了示出在播放圖表(310)的動(dòng)畫時(shí)這些點(diǎn)如何隨時(shí)間變化。例如,指示符T(N) (Tl、T2、T3、T4和T5)指示點(diǎn)對(duì)應(yīng)于底層數(shù)據(jù)幀的序列中的數(shù)據(jù)幀N。點(diǎn)可以在關(guān)于對(duì)應(yīng)序列的數(shù)據(jù)變?yōu)榭捎脮r(shí)被添加到圖表(310)。同樣,點(diǎn)可以在關(guān)于對(duì)應(yīng)序列的數(shù)據(jù)變?yōu)椴豢捎脮r(shí)被從圖表(310)中移除。例如,在多個(gè)國家的情況下,可能只收集了一個(gè)國家在所表示的總時(shí)間段的一部分期間的數(shù)據(jù)(例如,這可以在一個(gè)國家只在該時(shí)間段的一部分期間存在的情況下發(fā)生)。底層數(shù)據(jù)幀各自可包括對(duì)應(yīng)于圖表的表示的數(shù)據(jù)(人口數(shù)、人均收入、預(yù)期壽命,全都在一給定時(shí)間)。具有虛線的點(diǎn)可以是基于數(shù)據(jù)幀之間的時(shí)間的插值表示。這些插值表示可允許動(dòng)畫的移動(dòng)比僅僅示出實(shí)際數(shù)據(jù)幀的表示的情況平滑。對(duì)這些表示的插值可以按具有不同類型的插值的不同方式執(zhí)行。參考圖2,作為示例,通用動(dòng)畫生成器(220)可執(zhí)行插值并且在通用動(dòng)畫表示(240)中包括結(jié)果?;蛘?,插值可由動(dòng)畫表示轉(zhuǎn)換器(250)或由呈現(xiàn)環(huán)境(270)來執(zhí)行?;仡^參考圖3,動(dòng)畫視圖(300)還可包括用于圖表(310)的控件(250)。例如,控件(350)可包括能夠在“播放”(在當(dāng)前未播放動(dòng)畫時(shí))和“暫?!?在當(dāng)前正在播放動(dòng)畫時(shí))之間切換的播放/暫停按鈕(352)??丶?350)還可包括速度控件(354),該速度控件可包括用于控制圖表(310)中的動(dòng)畫的速度(可導(dǎo)致更改幀之間的時(shí)間)的指示符??丶?350)還可包括進(jìn)度條(356),該進(jìn)度條可包括用于跟蹤圖表(310)的動(dòng)畫在動(dòng)畫序列中的當(dāng)前位置的指示符。另外,進(jìn)度條(356)上的指示符可響應(yīng)于尋找到動(dòng)畫中的特定時(shí)間點(diǎn)的用戶輸入(例如,拖放指示符)來移動(dòng)。使用通用語言的示例實(shí)現(xiàn)回頭參考圖2,在一個(gè)示例中,通用動(dòng)畫表示(240)可以用通用語言來編寫。通用語言可允許指定時(shí)間線和動(dòng)畫動(dòng)作。動(dòng)畫動(dòng)作可涵蓋各種圖形場(chǎng)景。例如,一個(gè)動(dòng)作可以是創(chuàng)建形狀,而另一動(dòng)作可以是破壞形狀。該創(chuàng)建還可包括定義形狀屬性,包括形狀上的可由后續(xù)動(dòng)作參考的標(biāo)識(shí)。另一動(dòng)作可操縱或變換一個(gè)或多個(gè)形狀屬性。例如,這一操縱可包括從一個(gè)形狀變換成另一個(gè)形狀、改變顏色、改變形狀大小、改變形狀定向、改變形狀位置等。對(duì)形狀的操縱還可包括動(dòng)作之間的插值。例如,插值動(dòng)作可指定所操縱的屬性的初始和最終值,以及該操縱的一個(gè)或多個(gè)時(shí)鐘值。插值可以在這些初始和最終屬性之間執(zhí)行(例如,在初始和最終大小之間、在初始和最終位置之間等)??梢詫?duì)不同類型的動(dòng)畫動(dòng)作應(yīng)用不同的專用插值規(guī)則,并且指定一動(dòng)作可包括指定插值規(guī)則的至少一部分為應(yīng)用于該動(dòng)作的插值規(guī)則。如上所述,通用語言還可允許使用可管控動(dòng)畫動(dòng)作的執(zhí)行的時(shí)間線。在一個(gè)示例 中,可以為每一動(dòng)畫指定根時(shí)間線。根時(shí)間線可管理用于動(dòng)畫的時(shí)鐘,并且可驅(qū)動(dòng)總動(dòng)畫序列,包括管理子時(shí)間線。在一個(gè)示例中,時(shí)鐘的范圍可由關(guān)鍵幀的數(shù)量來定義,并且時(shí)鐘速率可由速度(例如,每秒多少幀)來定義。而且,無窮大的時(shí)鐘速率可導(dǎo)致只顯示關(guān)鍵幀,而不顯示關(guān)鍵幀之間的插值(針對(duì)子時(shí)間線的對(duì)應(yīng)于每一時(shí)鐘計(jì)時(shí)的時(shí)鐘值可以是零值)。根時(shí)間線可由諸如以上參考圖3討論的控件(350)等控件來操縱(播放、暫停、尋找、速度等)。根時(shí)鐘可以對(duì)子時(shí)間線發(fā)動(dòng)時(shí)鐘事件,并且每一子時(shí)間線都可控制一個(gè)或多個(gè)動(dòng)畫動(dòng)作。子時(shí)間線的開始和結(jié)束時(shí)間可相對(duì)于根時(shí)間線來指定,并且子時(shí)間線可以從根時(shí)間線接收時(shí)鐘計(jì)時(shí)值。子時(shí)間線可將根時(shí)間線時(shí)鐘計(jì)時(shí)值轉(zhuǎn)換成諸如O和I的兩個(gè)值之間的相對(duì)值(其中子時(shí)間線可開始于相對(duì)時(shí)間O并在相對(duì)時(shí)間I結(jié)束)。子時(shí)間線可以對(duì)由子時(shí)間線控制的動(dòng)畫動(dòng)作發(fā)動(dòng)子時(shí)間線時(shí)鐘計(jì)時(shí)事件。示例運(yùn)行時(shí)技術(shù)實(shí)現(xiàn)現(xiàn)在將討論在運(yùn)行時(shí)對(duì)動(dòng)畫執(zhí)行的技術(shù)的示例,但可使用不同的技術(shù)。運(yùn)行時(shí)技術(shù)可包括視圖確認(rèn)和轉(zhuǎn)換/呈現(xiàn)。這些動(dòng)作中的全部或部分可以在相同的計(jì)算機(jī)或不同的計(jì)算機(jī)上執(zhí)行。這些技術(shù)將參考數(shù)據(jù)驅(qū)動(dòng)的圖表來討論,但可以對(duì)從數(shù)據(jù)幀導(dǎo)出的其它類型的動(dòng)畫使用類似的技術(shù)。在視圖確認(rèn)期間,圖表對(duì)象可創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的根視圖元素并將其附加到視圖。該圖表對(duì)象可掃描所有關(guān)鍵幀以確定將用于圖表的軸的最小和最大值??蓜?chuàng)建根時(shí)間線并將其附加到根視圖元素。該圖表對(duì)象還可創(chuàng)建根時(shí)間線控件。例如,該創(chuàng)建可包括創(chuàng)建具有開始時(shí)間的子時(shí)間線并在該開始時(shí)間將該子時(shí)間線附加到根時(shí)間線。用于播放控制的創(chuàng)建動(dòng)畫動(dòng)作、用于速度控制的創(chuàng)建動(dòng)畫動(dòng)作以及用于進(jìn)度條的創(chuàng)建動(dòng)畫動(dòng)作全都可被附加到子時(shí)間線。圖表對(duì)象還可創(chuàng)建用于圖表上的靜態(tài)圖形的形狀。例如,這可包括創(chuàng)建用于靜態(tài)圖形的子時(shí)間線,并在該子時(shí)間線的開始時(shí)間將該子時(shí)間線附加到根時(shí)間線??缮捎糜陟o態(tài)圖形(例如,圖表標(biāo)題、繪圖區(qū)域、網(wǎng)格線、軸和軸標(biāo)簽)中的每一個(gè)的創(chuàng)建動(dòng)畫動(dòng)作,這些動(dòng)作具有這些圖形的屬性,并且這些創(chuàng)建動(dòng)畫動(dòng)作各自可被附加到用于靜態(tài)圖形的子時(shí)間線。
另外,圖表對(duì)象可迭代通過關(guān)鍵數(shù)據(jù)幀的集合并對(duì)每一數(shù)據(jù)幀執(zhí)行以下操作創(chuàng)建子時(shí)間線并在該子時(shí)間線的開始時(shí)間將該子時(shí)間線附加到根時(shí)間線;對(duì)于每一個(gè)新形狀,將具有該形狀的屬性的創(chuàng)建動(dòng)畫動(dòng)作附加到子時(shí)間線;對(duì)于正要離開的每一個(gè)現(xiàn)有形狀,將具有形狀標(biāo)識(shí)的破壞動(dòng)畫動(dòng)作附加到子時(shí)間線;以及對(duì)于將被改變的每一個(gè)持續(xù)形狀,將具有形狀標(biāo)識(shí)以及初始和最終屬性值的變換或操縱動(dòng)畫動(dòng)作附加到子時(shí)間線。對(duì)于本地應(yīng)用,可以與瀏覽器場(chǎng)景不同地完成變換/呈現(xiàn)。對(duì)于這兩種場(chǎng)景,根視圖元素均可解析根時(shí)間線。對(duì)于本地應(yīng)用場(chǎng)景,在解析時(shí)間線時(shí),對(duì)于具有當(dāng)前開始時(shí)間的每一子時(shí)間線,可處理用于該子時(shí)間線的每一個(gè)相關(guān)聯(lián)的 動(dòng)畫動(dòng)作。該處理可包括將動(dòng)畫動(dòng)作轉(zhuǎn)換成呈現(xiàn)環(huán)境專用的表示。例如,如果將用電子表格程序來完成呈現(xiàn),則動(dòng)畫動(dòng)作可被轉(zhuǎn)換成被該電子表格程序理解的專用語言(實(shí)際可包括一種或多種語言中的信息)。類似地,如果呈現(xiàn)將由數(shù)據(jù)庫程序或文字處理程序來完成,則動(dòng)畫動(dòng)作可被轉(zhuǎn)換成可被該程序理解的專用語言(同樣可以是一種或多種語言,諸如Java腳本和HTML)。經(jīng)轉(zhuǎn)換的專用表示可諸如通過在程序中傳遞或通過經(jīng)由應(yīng)用編程接口傳遞至程序來被提供給呈現(xiàn)引擎。對(duì)于瀏覽器場(chǎng)景,根和子時(shí)間線及其關(guān)聯(lián)動(dòng)畫動(dòng)作可被轉(zhuǎn)換成可被瀏覽器理解和處理的專用語言中的凈荷。每一凈荷都可以在完全生成該凈荷時(shí)被發(fā)送到瀏覽器,并且瀏覽器可以在凈荷到達(dá)時(shí)處理凈荷,即使并非所有凈荷都已到達(dá)。除了以上討論的瀏覽器場(chǎng)景和本地應(yīng)用場(chǎng)景之外,其他場(chǎng)景可以類似地工作。例如,可以存在諸如手持式設(shè)備等用于處理幀和執(zhí)行動(dòng)畫的專用設(shè)備??梢栽诓辉诮邮斩耸褂脼g覽器的情況下通過網(wǎng)絡(luò)來發(fā)送表示(例如,在不具有瀏覽器的專用動(dòng)畫設(shè)備接收到表示并呈現(xiàn)動(dòng)畫的情況下)。而且,不同的場(chǎng)景可涉及不同類型的設(shè)備,諸如平板設(shè)備、移動(dòng)電話、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)等。應(yīng)當(dāng)注意,本地應(yīng)用可使用上述用于遠(yuǎn)程瀏覽器場(chǎng)景的機(jī)制,而遠(yuǎn)程瀏覽器場(chǎng)景可使用上述用于本地應(yīng)用的機(jī)制。環(huán)境(200)可使用如上所述的通用動(dòng)畫表示(240)和專用動(dòng)畫表示(260)?;蛘?,環(huán)境(200)可生成動(dòng)畫表示并將該動(dòng)畫表示發(fā)送到呈現(xiàn)環(huán)境,而不在通用動(dòng)畫表示和專用動(dòng)畫表示之間進(jìn)行轉(zhuǎn)換。用于多源數(shù)據(jù)幀動(dòng)畫和/或具有增量幀的數(shù)據(jù)幀動(dòng)畫的技術(shù)現(xiàn)在將討論用于多源數(shù)據(jù)幀動(dòng)畫和/或具有增量幀的數(shù)據(jù)幀動(dòng)畫的若干技術(shù)??梢栽谟?jì)算環(huán)境中執(zhí)行這些技術(shù)中的每一個(gè)。例如,可在包括至少一個(gè)處理器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中執(zhí)行每種技術(shù),該存儲(chǔ)器包括存儲(chǔ)于其上的、在由該至少一個(gè)處理器執(zhí)行時(shí)使該至少一個(gè)處理器執(zhí)行該技術(shù)的指令(存儲(chǔ)器存儲(chǔ)指令(例如,對(duì)象代碼),并且當(dāng)處理器執(zhí)行這些指令時(shí),處理器執(zhí)行該技術(shù))。類似地,一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可具有收錄于其上的計(jì)算機(jī)可執(zhí)行指令,該些指令在由至少一個(gè)處理器執(zhí)行時(shí)使該至少一個(gè)處理器執(zhí)行該技術(shù)。參考圖4,將描述用于具有增量動(dòng)畫幀的數(shù)據(jù)幀動(dòng)畫的技術(shù)。該技術(shù)可包括處理(410)數(shù)據(jù)幀以產(chǎn)生表示這些數(shù)據(jù)幀的動(dòng)畫表示。對(duì)數(shù)據(jù)幀的處理(410)以及下文參考圖5-6討論的類似處理可包括將動(dòng)畫表示的全部或一部分轉(zhuǎn)換成另一種形式,如上所述。該動(dòng)畫表示可包括各自定義一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀以及各自定義一個(gè)或多個(gè)圖形更新而不定義一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀。處理(410)數(shù)據(jù)幀可包括處理第一數(shù)據(jù)幀以產(chǎn)生定義該第一數(shù)據(jù)幀的完整圖形表示的關(guān)鍵動(dòng)畫幀。處理(410)數(shù)據(jù)幀還可包括處理第二數(shù)據(jù)幀以產(chǎn)生定義一個(gè)或多個(gè)圖形更新以表示第二數(shù)據(jù)幀而不定義該第二數(shù)據(jù)幀的完整圖形表示的增量動(dòng)畫幀。例如,第二數(shù)據(jù)幀的圖形表示可由可包括增量動(dòng)畫幀和關(guān)鍵動(dòng)畫幀的信息的組合來定義。處理第二數(shù)據(jù)幀可包括標(biāo)識(shí)動(dòng)畫表示中的將由于第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)改變而更新的一個(gè)或多個(gè)圖形元素。處理第二數(shù)據(jù)幀還可包括標(biāo)識(shí)動(dòng)畫表示中的將由于第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)相似性而避免更新的一個(gè)或多個(gè)圖形元素。標(biāo)識(shí)將更新或避免更新的圖形元素可包括比較第一和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)數(shù)據(jù)字段中的一個(gè)或多個(gè)值,并且將數(shù)據(jù)字段與動(dòng)畫表示的一個(gè)或多個(gè)圖形元素進(jìn)行匹配。該匹配可包括訪問第一和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)數(shù)據(jù)字段到動(dòng)畫表示的一個(gè)或多個(gè)圖形元素的映射。將避免更新的圖形元素以及將更新的圖形元素各自可包括表示第一數(shù)據(jù)幀和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)值的一個(gè)或多個(gè)圖形元素和/或一個(gè)或多個(gè)背景圖形元素(諸如圖表中的一個(gè)或多個(gè)軸)。
圖4的技術(shù)可包括將動(dòng)畫表示發(fā)送(420)到呈現(xiàn)環(huán)境。該技術(shù)還可包括在呈現(xiàn)環(huán)境處接收動(dòng)畫表示并在顯示設(shè)備上呈現(xiàn)動(dòng)畫表示。動(dòng)畫表示可以在被發(fā)送到呈現(xiàn)環(huán)境之前、期間或之后改變形式(例如,通過從通用動(dòng)畫表示轉(zhuǎn)換成專用動(dòng)畫表示),并且仍被認(rèn)為是相同的動(dòng)畫表示,除非列舉了不同形式的動(dòng)畫表示(例如,通過列舉通用動(dòng)畫表示和專用動(dòng)畫表示)?,F(xiàn)在參考圖5,將討論用于多源數(shù)據(jù)幀動(dòng)畫的技術(shù)。該技術(shù)可包括從作為第一類型的數(shù)據(jù)源的第一數(shù)據(jù)源接收(510)數(shù)據(jù),并且從作為第二類型的數(shù)據(jù)源的第二數(shù)據(jù)源接收(520)數(shù)據(jù)。該技術(shù)還可包括處理(530)數(shù)據(jù)巾貞以產(chǎn)生表示這些數(shù)據(jù)巾貞的動(dòng)畫表示,這些數(shù)據(jù)幀包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)??蓪?dòng)畫表示發(fā)送(540 )到呈現(xiàn)環(huán)境。一個(gè)數(shù)據(jù)幀可包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)。該幀可被稱為第一幀,并且這些數(shù)據(jù)幀中的第二幀也可包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)。動(dòng)畫表示可定義表示來自源自第一數(shù)據(jù)源的數(shù)據(jù)的一個(gè)或多個(gè)值以及來自源自第二數(shù)據(jù)源的數(shù)據(jù)的一個(gè)或多個(gè)值的圖形元素。例如,圖形元素的一部分可表示來自一個(gè)數(shù)據(jù)源的值(例如,人口數(shù)值)并且該圖形元素的顏色可表示來自另一數(shù)據(jù)源的值(例如,國家名稱)。而且,動(dòng)畫表示可包括各自定義一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀以及各自定義一個(gè)或多個(gè)圖形更新而不定義完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀。圖5的技術(shù)還可包括在呈現(xiàn)環(huán)境處接收動(dòng)畫表示并在顯示設(shè)備上呈現(xiàn)動(dòng)畫表示?,F(xiàn)在參考圖6,將討論用于具有增量幀的多源數(shù)據(jù)幀動(dòng)畫的技術(shù)。該技術(shù)可包括從作為第一類型的數(shù)據(jù)源的第一數(shù)據(jù)源接收(610)數(shù)據(jù),并且從作為第二類型的數(shù)據(jù)源的第二數(shù)據(jù)源接收(620)數(shù)據(jù)。該技術(shù)還可包括處理(630)數(shù)據(jù)幀以產(chǎn)生表示這些數(shù)據(jù)幀的動(dòng)畫表示,這些數(shù)據(jù)幀包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)。該動(dòng)畫表示可包括各自定義一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀以及各自定義一個(gè)或多個(gè)圖形更新而不定義完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀。處理(630)數(shù)據(jù)幀可包括處理第一數(shù)據(jù)幀以產(chǎn)生定義該第一數(shù)據(jù)幀的完整圖形表示的關(guān)鍵動(dòng)畫幀,以及處理(634)第二數(shù)據(jù)幀以產(chǎn)生定義一個(gè)或多個(gè)圖形更新以表示該第二數(shù)據(jù)幀而不定義該第二數(shù)據(jù)幀的完整圖形表示的增量動(dòng)畫幀。處理(634)第二幀可包括標(biāo)識(shí)動(dòng)畫表示中的將由于第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)改變而更新的一個(gè)或多個(gè)圖形元素,并且標(biāo)識(shí)動(dòng)畫表示中的將由于第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)相似性而避免更新的一個(gè)或多個(gè)圖形元素。可將動(dòng)畫表示發(fā)送(640)到呈現(xiàn)環(huán)境。標(biāo)識(shí)將更新的一個(gè)或多個(gè)圖形元素以及將避免更新的一個(gè)或多個(gè)圖形元素可包括訪問第一和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)數(shù)據(jù)字段到動(dòng)畫表示的一個(gè)或多個(gè)圖像元素的映射??稍L問該該映射以比較第一和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)數(shù)據(jù)字段中的值并且將該一個(gè)或多個(gè)數(shù)據(jù)字段與動(dòng)畫表示的一個(gè)或多個(gè)圖形元素進(jìn)行匹配?!獢?shù)據(jù)幀可包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)。而且,動(dòng)畫表示可定義表示來自源自第一數(shù)據(jù)源的數(shù)據(jù)的一個(gè)或多個(gè)值以及來自源自第二數(shù)據(jù)源的數(shù)據(jù)的一個(gè)或多個(gè)值的圖形元素。 圖6的技術(shù)還可包括在呈現(xiàn)環(huán)境處接收(650)動(dòng)畫表示并在顯示設(shè)備上呈現(xiàn)(660)該動(dòng)畫表示。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動(dòng)作。更確切而言,上述具體特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開的。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括處理數(shù)據(jù)幀以產(chǎn)生表示所述數(shù)據(jù)幀的動(dòng)畫表示,所述動(dòng)畫表示包括各自定義所述數(shù)據(jù)幀中的一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀以及各自定義一個(gè)或多個(gè)圖形更新而不定義所述數(shù)據(jù)幀中的一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀; 將所述動(dòng)畫表示發(fā)送到呈現(xiàn)環(huán)境。
2.如權(quán)利要求I所述的方法,其特征在于,處理所述數(shù)據(jù)幀包括處理第一數(shù)據(jù)幀以產(chǎn)生定義所述第一數(shù)據(jù)幀的完整圖形表示的關(guān)鍵動(dòng)畫幀;處理第二數(shù)據(jù)幀以產(chǎn)生定義一個(gè)或多個(gè)圖形更新以表示所述第二數(shù)據(jù)幀而不定義所述第二數(shù)據(jù)幀的完整圖形表示的增量動(dòng)畫幀;其中處理所述第二幀包括標(biāo)識(shí)所述動(dòng)畫表示中的將由于所述第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)改變而更新的一個(gè)或多個(gè)圖形元素,并且標(biāo)識(shí)所述動(dòng)畫表示中的將由于所述第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)相似性而避免更新的一個(gè)或多個(gè)圖形元素。
3.如權(quán)利要求2所述的方法,其特征在于,標(biāo)識(shí)將更新的一個(gè)或多個(gè)圖像元素并且標(biāo)識(shí)將避免更新的一個(gè)或多個(gè)圖像元素包括比較所述第一和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)數(shù)據(jù)字段中的一個(gè)或多個(gè)值;以及將所述一個(gè)或多個(gè)數(shù)據(jù)字段與所述動(dòng)畫表示的一個(gè)或多個(gè)圖像元素進(jìn)行匹配,其中匹配包括訪問所述第一和第二數(shù)據(jù)幀中的一個(gè)或多個(gè)數(shù)據(jù)字段到所述動(dòng)畫表示的一個(gè)或多個(gè)圖像元素的映射。
4.如權(quán)利要求2所述的方法,其特征在于,所述將避免更新的一個(gè)或多個(gè)圖形元素包括表示所述第一數(shù)據(jù)幀和所述第二數(shù)據(jù)幀中的一個(gè)或多個(gè)值的一個(gè)或多個(gè)圖形元素。
5.如權(quán)利要求2所述的方法,其特征在于,所述將避免更新的一個(gè)或多個(gè)圖形元素包括一個(gè)或多個(gè)背景圖形元素。
6.—種或多種其上包含有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由至少一個(gè)處理器執(zhí)行時(shí)使所述至少一個(gè)處理器執(zhí)行以下動(dòng)作從作為第一類型的數(shù)據(jù)源的第一數(shù)據(jù)源接收數(shù)據(jù);從作為第二類型的數(shù)據(jù)源的第二數(shù)據(jù)源接收數(shù)據(jù);處理包括來自所述第一數(shù)據(jù)源的數(shù)據(jù)和來自所述第二數(shù)據(jù)源的數(shù)據(jù)的數(shù)據(jù)幀以產(chǎn)生表示所述數(shù)據(jù)巾貞的動(dòng)畫表示;以及將所述動(dòng)畫表示發(fā)送到呈現(xiàn)環(huán)境。
7.如權(quán)利要求6所述的一種或多種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述數(shù)據(jù)幀中的一幀包括來自所述第一數(shù)據(jù)源的數(shù)據(jù)和來自所述第二數(shù)據(jù)源的數(shù)據(jù)。
8.如權(quán)利要求6所述的一種或多種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述動(dòng)畫表示定義表示來自源自所述第一數(shù)據(jù)源的數(shù)據(jù)的一個(gè)或多個(gè)值以及來自源自所述第二數(shù)據(jù)源的數(shù)據(jù)的一個(gè)或多個(gè)值的圖形元素。
9.如權(quán)利要求6所述的一種或多種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述動(dòng)畫表示包括各自定義所述數(shù)據(jù)幀中的一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀,以及各自定義一個(gè)或多個(gè)圖形更新而不定義完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀。
10.一種計(jì)算機(jī)系統(tǒng),包括至少一個(gè)處理器;以及其上存儲(chǔ)指令的存儲(chǔ)器),所述指令在由所述至少一個(gè)處理器執(zhí)行時(shí)使得所述至少一個(gè)處理器執(zhí)行以下動(dòng)作從作為第一類型的數(shù)據(jù)源的第一數(shù)據(jù)源接收數(shù)據(jù);從作為第二類型的數(shù)據(jù)源的第二數(shù)據(jù)源接收數(shù)據(jù);處理包括來自所述第一數(shù)據(jù)源的數(shù)據(jù)和來自所述第二數(shù)據(jù)源的數(shù)據(jù)的數(shù)據(jù)幀以產(chǎn)生表示所述數(shù)據(jù)巾貞的動(dòng)畫表示,所述動(dòng)畫表示包括各自定義所述數(shù)據(jù)巾貞中的一個(gè)數(shù)據(jù)巾貞的完整圖形表示的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀以及各自定義一個(gè)或多個(gè)圖形更新而不定義完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫巾貞,處理所述數(shù)據(jù)巾貞包括處理第一數(shù)據(jù)幀以產(chǎn)生定義所述第一數(shù)據(jù)幀的完整圖形表示的關(guān)鍵動(dòng)畫幀;處理第二數(shù)據(jù)幀以產(chǎn)生定義一個(gè)或多個(gè)圖形更新以表示所述第二數(shù)據(jù)幀而不定義所述第二數(shù)據(jù)幀的完整圖形表示的增量動(dòng)畫幀,處理所述第二幀包括標(biāo)識(shí)所述動(dòng)畫表示中的將由于所述第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)改變而更新的一個(gè)或多個(gè)圖形元素, 并且標(biāo)識(shí)所述動(dòng)畫表示中的將由于所述第一和第二數(shù)據(jù)幀之間的一個(gè)或多個(gè)數(shù)據(jù)相似性而避免更新的一個(gè)或多個(gè)圖形元素;以及將所述動(dòng)畫表示發(fā)送到呈現(xiàn)環(huán)境。
全文摘要
本發(fā)明涉及數(shù)據(jù)幀動(dòng)畫??梢詮淖鳛榈谝活愋偷臄?shù)據(jù)源的第一數(shù)據(jù)源接收數(shù)據(jù),并且可以從作為第二類型的數(shù)據(jù)源的第二數(shù)據(jù)源接收數(shù)據(jù)??商幚頂?shù)據(jù)幀以產(chǎn)生表示這些數(shù)據(jù)幀的動(dòng)畫表示。數(shù)據(jù)幀可包括來自第一數(shù)據(jù)源的數(shù)據(jù)和來自第二數(shù)據(jù)源的數(shù)據(jù)。動(dòng)畫表示可包括各自定義一個(gè)數(shù)據(jù)幀的完整圖形標(biāo)識(shí)的一個(gè)或多個(gè)關(guān)鍵動(dòng)畫幀。動(dòng)畫表示還可包括各自定義一個(gè)或多個(gè)圖形更新而不定義一個(gè)數(shù)據(jù)幀的完整圖形表示的一個(gè)或多個(gè)增量動(dòng)畫幀。動(dòng)畫表示可被發(fā)送到呈現(xiàn)環(huán)境以便呈現(xiàn)。
文檔編號(hào)G06T13/00GK102930580SQ201210364160
公開日2013年2月13日 申請(qǐng)日期2012年9月26日 優(yōu)先權(quán)日2011年9月27日
發(fā)明者G·A·普里汀 申請(qǐng)人:微軟公司