亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

動畫處理方法和裝置與流程

文檔序號:11063957閱讀:663來源:國知局
本申請涉及計算機
技術領域
:,尤其涉及動畫處理方法和裝置。
背景技術
::在現(xiàn)今的計算機技術中,動畫技術正逐步成為互聯(lián)網(wǎng)應用的一個熱點。特別是隨著在線直播業(yè)務的興起,更推動了對高性能低消耗動畫構成技術的需求。相關技術中通常采用A-PNG(AnimatedPortableNetworkGraphics,動畫式便攜網(wǎng)絡圖像)、Flash(交互式矢量圖和Web動畫標準)、SVG(ScalableVectorGraphics,可縮放矢量圖形)等技術制作動畫。但加載播放上述相關技術制作的動畫,對處理器和內(nèi)存的消耗極大,動畫處理效率較低。技術實現(xiàn)要素:本申請?zhí)峁┮环N動畫處理方法和裝置,能夠降低加載播放動畫時對處理器和內(nèi)存的消耗,提高動畫處理效率。根據(jù)本申請實施例的第一方面,提供一種動畫處理方法,包括以下步驟:獲取待播放動畫的SVG格式的序列幀;將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素;獲取每項動畫元素的位圖圖像為該項動畫元素對應的元素位圖;根據(jù)每幀圖像所含的動畫元素以及所含動畫元素在該幀圖像內(nèi)的動畫參數(shù),生成動畫描述文件,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù);確定將所述動畫描述文件以及各項動畫元素對應的元素位圖:作為所述待播放動畫的動畫源文件。在一個實施例中,所述獲取待播放動畫的SVG格式的序列幀,包括:通過Flash編輯器將Flash格式的待播放動畫轉換為SVG格式的序列幀;或者,通過BodyMovin將AE格式的待播放動畫轉換為SVG格式的序列幀。在一個實施例中,所述將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素,包括:逐幀比較各序列幀,獲取各相鄰幀之間的比較信息,其中,所述比較信息包括相鄰幀之間的相同動畫對象、相同動畫對象之間的變化參數(shù)、不同動畫對象以及不同動畫對象之間的位置關系;基于所述比較信息,將每個動畫對象中矢量未發(fā)生過變化的部分以及矢量發(fā)生過變化的各部分:分別作為不同的動畫元素。在一個實施例中,所述動畫參數(shù)包括位置參數(shù)、透明度參數(shù)、尺寸參數(shù)、圖層順序參數(shù)。在一個實施例中,所述動畫屬性包括動畫的總幀數(shù)、各幀圖像的標識、FPS、動畫大小。在一個實施例中,所述方法還包括以下步驟:對所述動畫源文件進行文件壓縮;將壓縮后的動畫源文件傳輸?shù)街付ǖ刂?,以便動畫播放端從該指定地址獲取所述動畫源文件。根據(jù)本申請實施例的第二方面,提供一種動畫處理方法,包括以下步驟:獲取待播放動畫的動畫源文件,其中,所述動畫源文件包括動畫描述文件和各元素位圖,所述元素位圖為所述待播放動畫所含的動畫元素的位圖圖像,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù);渲染所有的元素位圖,生成各項動畫元素的動畫圖層;從所述動畫描述文件中獲取動畫播放信息,所述動畫播放信息包括動畫屬性、每幀圖像所含的動畫元素、以及所含動畫元素在該幀圖像中的動畫參數(shù);基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。在一個實施例中,所述基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放,包括:通過逐幀比較各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù),獲取各相鄰幀圖像之間比較信息,其中,所述比較信息包括相鄰幀圖像之間的相同動畫元素、相同動畫元素之間的變化參數(shù)、不同動畫元素以及各項動畫元素之間的層級關系;基于獲取的比較信息,通過調整在先的一幀圖像的動畫圖層種類、各動畫圖層的疊加順序、各動畫圖層的疊加位置以及各動畫圖層的其他動畫參數(shù),實現(xiàn)在后的一幀圖像的播放。根據(jù)本申請實施例的第三方面,提供一種動畫處理裝置,包括:序列幀獲取模塊,用于獲取待播放動畫的SVG格式的序列幀;元素劃分模塊,用于將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素;位圖獲取模塊,用于獲取每項動畫元素的位圖圖像為該項動畫元素對應的元素位圖;文件生成模塊,用于根據(jù)每幀圖像所含的動畫元素以及所含動畫元素在該幀圖像內(nèi)的動畫參數(shù),生成動畫描述文件,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù);源文件確定模塊,用于確定將所述動畫描述文件以及各項動畫元素對應的元素位圖:作為所述待播放動畫的動畫源文件。在一個實施例中,所述序列幀獲取模塊包括:第一獲取模塊,用于通過Flash編輯器將Flash格式的待播放動畫轉換為SVG格式的序列幀;或者,第二獲取模塊,用于通過BodyMovin將AE格式的待播放動畫轉換為SVG格式的序列幀。在一個實施例中,所述元素劃分模塊包括:逐幀比較模塊,用于逐幀比較各序列幀,獲取各相鄰幀之間的比較信息,其中,所述比較信息包括相鄰幀之間的相同動畫對象、相同動畫對象之間的變化參數(shù)、不同動畫對象以及不同動畫對象之間的位置關系;元素劃分子模塊,用于基于所述比較信息,將每個動畫對象中矢量未發(fā)生過變化的部分以及矢量發(fā)生過變化的各部分:分別作為不同的動畫元素。在一個實施例中,所述動畫參數(shù)包括位置參數(shù)、透明度參數(shù)、尺寸參數(shù)、圖層順序參數(shù)。在一個實施例中,所述動畫屬性包括動畫的總幀數(shù)、各幀圖像的標識、FPS、動畫大小。在一個實施例中,所述裝置還包括:文件壓縮模塊,用于對所述動畫源文件進行文件壓縮;文件傳輸模塊,用于將壓縮后的動畫源文件傳輸?shù)街付ǖ刂?,以便動畫播放端從該指定地址獲取所述動畫源文件。根據(jù)本申請實施例的第四方面,提供一種動畫處理裝置,包括:源文件獲取模塊,用于獲取待播放動畫的動畫源文件,其中,所述動畫源文件包括動畫描述文件和各元素位圖,所述元素位圖為所述待播放動畫所含的動畫元素的位圖圖像,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù);位圖渲染模塊,用于渲染所有的元素位圖,生成各項動畫元素的動畫圖層;信息獲取模塊,從所述動畫描述文件中獲取動畫播放信息,所述動畫播放信息包括動畫屬性、每幀圖像所含的動畫元素、以及所含動畫元素在該幀圖像中的動畫參數(shù);動畫播放模塊,用于基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。在一個實施例中,所述動畫播放模塊包括:比較信息獲取模塊,用于通過逐幀比較各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù),獲取各相鄰幀圖像之間比較信息,其中,所述比較信息包括相鄰幀圖像之間的相同動畫元素、相同動畫元素之間的變化參數(shù)、不同動畫元素以及各項動畫元素之間的層級關系;圖層調整模塊,用于基于獲取的比較信息,通過調整在先的一幀圖像的動畫圖層種類、各動畫圖層的疊加順序、各動畫圖層的疊加位置以及各動畫圖層的其他動畫參數(shù),實現(xiàn)在后的一幀圖像的播放。本申請實施例,獲取待播放動畫的SVG格式的序列幀,然后將每幀圖像所含的動畫對象拆分為多項動畫元素,再獲取每項動畫元素的位圖圖像,然后生成用于描述動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)的動畫描述文件,最終確定將所述動畫描述文件以及各項動畫元素的位圖圖像:作為所述待播放動畫的動畫源文件。因為動畫源文件僅包括動畫元素的位圖圖像、以及動畫描述文件,其所占空間大小遠遠小于:原來重復包含各項動畫元素的位圖圖像的各幀圖像,所以可以有效減小動畫文件的體積,能解決現(xiàn)有技術中動畫文件體積過大的弊端。此外,通過對動畫源文件進行處理實現(xiàn)動畫播放時,獲取包括動畫描述文件和各項動畫元素的位圖圖像的動畫源文件,渲染所有的位圖圖像,生成各項動畫元素的動畫圖層,然后從所述動畫描述文件中獲取動畫播放信息,再基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。這樣在播放不同幀動畫時無需重復渲染相同的動畫元素的位圖圖像,因此能在快速實現(xiàn)動畫播放的同時可以有效降低處理器和內(nèi)存的消耗。附圖說明圖1是本申請動畫處理方法的一個實施例流程圖;圖2a是本申請動畫處理方法的另一個實施例的流程圖;圖2b是本申請根據(jù)一示例性實施例示出的動畫元素的第一示意圖;圖2c是本申請根據(jù)一示例性實施例示出的動畫元素的第二示意圖;圖3是本申請動畫處理裝置的一個實施例框圖;圖4是本申請動畫處理裝置的另一個實施例的框圖;圖5是本申請動畫處理裝置的硬件結構圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。隨著網(wǎng)絡技術的發(fā)展,靜態(tài)的文字和圖片開始無法滿足網(wǎng)絡應用環(huán)境中內(nèi)容展示的需要,可以動態(tài)展示場景信息的動畫技術應運而生。特別是在線直播業(yè)務的興起,推動行業(yè)對高性能低消耗的動畫構成技術的需求。例如:在線直播場景中,當用戶購買了一種虛擬物品,可以在直播頁面中加載慶祝動畫,帶給用戶充分的成就感。而使用慶祝動畫會消耗服務端的一定資源來構建并加載慶祝動畫,當存在大量的類似慶祝動畫的內(nèi)容需要加載時,一種高性能低消耗的動畫構成技術就顯得尤為重要。在網(wǎng)絡應用環(huán)境中,服務端、客戶端的運算資源都是有限的,網(wǎng)絡傳輸帶寬本身也是有限的,所以在應用動畫技術時,動畫構成和播放的過程不宜過于復雜,以降低對服務端和客戶端較高的硬件需求;動畫的體積不宜過大,以避免高額的帶寬消費。擴展到網(wǎng)頁、桌面應用程序、智能終端的移動平臺應用程序等環(huán)境中,涉及到使用動畫內(nèi)容的應用場景,都需要一種高性能低消耗的動畫構成技術。而本申請?zhí)岢鲆环N動畫處理方法,將待播放動畫的SVG(ScalableVectorGraphics,可縮放的矢量圖形)格式的序列幀中:每幀圖像所含的動畫對象拆分為多項動畫元素,再獲取每項動畫元素的位圖圖像,然后生成用于描述動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)的動畫描述文件,最終確定將所述動畫描述文件以及各項動畫元素的位圖圖像:作為所述待播放動畫的動畫源文件。而動畫源文件僅包括動畫元素的位圖圖像、以及動畫描述文件,其所占空間大小遠遠小于:原來重復包含各項動畫元素的位圖圖像的各幀圖像,所以可以有效減小動畫文件的體積,能解決現(xiàn)有技術中動畫文件體積過大的弊端。此外,通過對動畫源文件進行處理實現(xiàn)動畫播放時,獲取包括動畫描述文件和各項動畫元素的位圖圖像的動畫源文件,渲染所有的位圖圖像,生成各項動畫元素的動畫圖層,然后從所述動畫描述文件中獲取動畫播放信息,再基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。這樣在播放不同幀動畫時無需重復渲染相同的動畫元素的位圖圖像,因此能在快速實現(xiàn)動畫播放的同時可以有效降低處理器和內(nèi)存的消耗。本申請涉及的動畫中存在幀的概念,用來表示動畫中最小單位的單幅影像畫面。例如一個動畫1秒20幀,即這個動畫在每1秒鐘內(nèi)由20張圖片組成,可以是1張圖片占一幀,也可以是同一張圖片重復多幀。每幀表示角色或者物體運動或變化中的動作,每幀中的角色或物體,在本申請中以“動畫對象”的概念表征。下面通過具體實施例并結合具體的應用場景對本申請進行描述。圖1是本申請動畫處理方法的一個實施例流程圖,該實施例可以用于終端中,包括以下步驟101-105:步驟101:獲取待播放動畫的SVG格式的序列幀。本申請實施例涉及的終端可以是具有動畫編輯功能的終端,如:動畫播放器、臺式電腦、平板電腦、掌上電腦、數(shù)字電視機、智能手機等類似設備,所涉及的動畫可以是直播應用中的禮物動畫、特效動畫、彈幕動畫等,還可以是本領域的其他類型的動畫,本申請對此不做限制。在所述待播放的動畫為直播應用中的禮物動畫時,一般情況下是動畫設計人員編輯的動畫原稿,如:Photoshop格式、Flash格式、或者AE格式的動畫原稿。對于不同格式的待播放動畫,可以通過不同的轉換手段將其轉換為SVG格式的序列幀,在一個可選實現(xiàn)方式中,可以通過以下操作獲取待播放動畫的SVG格式的序列幀:通過Flash編輯器將Flash格式的待播放動畫轉換為SVG格式的序列幀;或者,通過BodyMovin將AE格式的待播放動畫轉換為SVG格式的序列幀。在本申請的其他實施例中,對于其他格式的待播放動畫,可以采用相應的動畫編輯器轉換為SVG格式的序列幀。步驟102:將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素。在待播放動畫的相鄰序列幀中,一個動畫對象在前后兩個序列幀中,相對來說可能只有局部產(chǎn)生變化,其他部分保持不變。如果渲染在后的序列幀時,為了渲染一個動畫對象局部的變化,將整個對象進行渲染,顯然未產(chǎn)生變化的部分是被重復渲染的,由此會造成額外的動畫文件體積增加和加載資源浪費。為了減少動畫體積和降低加載資源的浪費,本申請實施例可以將待播放動畫分解為各幀圖像,將每幀圖像內(nèi)的動畫對象按照符合其構成方式的規(guī)則拆分為若干動畫元素,從而將每幀圖像分解為各項動畫元素以及各項動畫元素在該幀圖像內(nèi)的動畫參數(shù)。例如:待播放動畫的各幀圖像包含的動畫對象為一人物對象,可以將該人物對象拆分為頭、軀干、手、腳等元素。在將圖像分解為動畫元素時,需要逐幀比較圖像,找到相鄰幀之間的相同之處和不同之處,然后再分解,在一個例子中,可以通過以下操作將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素:逐幀比較各序列幀,獲取各相鄰幀之間的比較信息,其中,所述比較信息包括相鄰幀之間的相同動畫對象、相同動畫對象之間的變化參數(shù)、不同動畫對象以及不同動畫對象之間的位置關系。基于所述比較信息,將每個動畫對象中矢量未發(fā)生過變化的部分以及矢量發(fā)生過變化的各部分:分別作為不同的動畫元素。本例子中,劃分完每幀圖像后,查找相同的動畫元素,再從多個相同的動畫元素中保留一個動畫元素為一項動畫元素,并記錄各項動畫元素分別屬于哪一幀圖像,以及各項動畫元素在每幀圖像中的組合關系、動畫參數(shù)等,所述組合關系用于描述如何將不同的動畫元素組合成每幀圖像原來所含的動畫對象,所述動畫參數(shù)用于描述各項動畫元素在每幀圖像中的特征信息,可以包括位置參數(shù)、透明度參數(shù)、尺寸參數(shù)、圖層順序參數(shù)等。步驟103:獲取每項動畫元素的位圖圖像為該項動畫元素對應的元素位圖。本申請實施例中,位圖圖像也可以稱為點陣圖像或繪制圖像,是由稱作像素的單個點組成的,這些點可以進行不同的排列和染色以構成圖樣??梢员绢I域的相關技術手段獲取各項動畫元素的位圖圖像。對于相同的動畫元素,只獲取其中一個的位圖圖像。步驟104:根據(jù)每幀圖像所含的動畫元素以及所含動畫元素在該幀圖像內(nèi)的動畫參數(shù),生成動畫描述文件,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)。本申請實施例中,所述動畫參數(shù)可以包括位置參數(shù)、透明度參數(shù)、尺寸參數(shù)、圖層順序參數(shù)等。所述動畫屬性用于描述所述待播放動畫的整體動畫特征,可以包括動畫的總幀數(shù)、各幀圖像的標識、FPS(圖像領域中的定義,是指畫面每秒傳輸幀數(shù),通俗來講就是指動畫或視頻的畫面數(shù))、動畫大小等。各幀圖像的標識可以包括各幀圖像的名稱、播放順序等。步驟105:確定將所述動畫描述文件以及各項動畫元素對應的元素位圖:作為所述待播放動畫的動畫源文件。本申請實施例中,為了減小動畫描述文件的體積,相同的多個動畫元素中可以保留一個動畫元素的元素位圖,因此所含的元素位圖可以互不相同。確定所述待播放動畫的動畫源文件后,可以對所述動畫源文件進行文件壓縮;將壓縮后的動畫源文件傳輸?shù)街付ǖ刂?,以便動畫播放端從該指定地址獲取所述動畫源文件。這里提到的指定地址可以是動畫數(shù)據(jù)庫的地址、動畫服務器的地址、或者動畫共享網(wǎng)盤的地址等等。圖2a是本申請動畫處理方法的另一個實施例流程圖,該實施例可以用于終端中,包括以下步驟201-204:步驟201:獲取待播放動畫的動畫源文件,其中,所述動畫源文件包括動畫描述文件和各元素位圖,所述元素位圖為所述待播放動畫所含的動畫元素的位圖圖像,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)。本申請實施例涉及的終端可以是具有動畫播放功能的終端,如:動畫播放器、臺式電腦、平板電腦、掌上電腦、數(shù)字電視機、智能手機等類似設備,所涉及的動畫可以是直播應用中的禮物動畫、特效動畫、彈幕動畫等,還可以是本領域的其他類型的動畫,本申請對此不做限制。所涉及的具有動畫播放功能的終端可以裝設有SVGA播放器,需要播放動畫前,可以從指定地址下載待播放動畫的動畫源文件。所下載的動畫源文件由附圖1對應的動畫處理方法所生成。下載到動畫源文件后,如果動畫源文件為壓縮文件,可以通過解壓縮獲取到其所含的畫描述文件和各元素位圖。步驟202:渲染所有的元素位圖,生成各項動畫元素的動畫圖層。本申請實施例中,生成各項動畫元素的動畫圖層后,同一圖層可以在待播放動畫的不同幀圖像中重復使用。步驟203:從所述動畫描述文件中獲取動畫播放信息,所述動畫播放信息包括動畫屬性、每幀圖像所含的動畫元素、以及所含動畫元素在該幀圖像中的動畫參數(shù)。本申請實施例中,所述動畫屬性和所述動畫參數(shù)與圖1所示的動畫處理方法中所述的動畫屬性、動畫參數(shù)相應。可以直接從所述動畫描述文件中讀取動畫播放信息。步驟204:基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。本申請實施例中,基于所述動畫播放信息,可以獲得各幀圖像的播放順序、所含的動畫元素的動畫圖層、各動畫圖層的加載順序、各動畫圖層的位置關系、各動畫圖層在各幀圖像中的動畫參數(shù),然后基于這些信息按順序加載動畫圖層和設置各動畫圖層的動畫參數(shù),渲染各幀圖像,實現(xiàn)動畫播放。此外,在渲染各幀圖像時,通過比較各幀圖像的播放順序、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù),可以獲得相鄰幀圖像之間的不同之處和相同之處,基于這些不同之處和相同之處,可以只渲染產(chǎn)生變化的這部分動畫元素,未產(chǎn)生變化的動畫元素不做處理,進而節(jié)約加載資源的開銷。本申請為了節(jié)約動畫體積和處理器開銷,引入描述文件的機制,集中記錄各幀圖像的加載順序(播放順序),每項動畫元素在當前關鍵幀幀圖像預設被渲染的變化形態(tài)的變化參數(shù)(動畫參數(shù))。通過讀取描述文件,執(zhí)行描述文件中的內(nèi)容,即可依次渲染出每個關鍵幀幀圖像上內(nèi)每項動畫元素的變化形態(tài),按照加載順序調用各幀圖像進行加載,構成動畫。由于描述文件集中記錄每項動畫元素的變化參數(shù),使得在渲染第一幀圖像前,即可預加載渲染每項動畫元素的形態(tài)變化時需要調用的資源。避免了在渲染每幀圖像時,實時的計算該幀圖像中需要渲染哪些動畫元素,動態(tài)查詢渲染這部分動畫元素的形態(tài)變化所需要的資源,進而避免實時、動態(tài)的查詢、加載、運算過程,對構成動畫的運算資源的消耗,因此,引入描述文件機制,對構成動畫的過程予以優(yōu)化,可以降低構成動畫的運算資源的消耗。在一個可選實現(xiàn)方式,可以通過以下操作基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放:通過逐幀比較各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù),獲取各相鄰幀圖像之間比較信息,其中,所述比較信息包括相鄰幀圖像之間的相同動畫元素、相同動畫元素之間的變化參數(shù)、不同動畫元素以及各項動畫元素之間的層級關系?;讷@取的比較信息,通過調整在先的一幀圖像的動畫圖層種類、各動畫圖層的疊加順序、各動畫圖層的疊加位置以及各動畫圖層的其他動畫參數(shù),實現(xiàn)在后的一幀圖像的播放。本方式中,一類動畫圖層對應一種動畫元素,各動畫圖層的疊加順序、疊加位置由設計者在設計動畫時根據(jù)動畫呈現(xiàn)效果設置。所述其他動畫參數(shù)可以是動畫圖層的透明度、形變量、位移、容器尺寸等。此外,在動畫的加載過程(渲染過程)中,某些動畫元素在第一幀圖像中就首次顯示在動畫中,某些動畫元素直到第十幀圖像才首次出現(xiàn)在動畫中。如圖2b所示,對于第一幀圖像需要首次顯示的動畫元素A1,其初始狀態(tài)在第一幀圖像即可見;對于在第一幀圖像之后的圖像中被首次渲染顯示的動畫元素B1、C1,在第一幀圖像中變化初始形態(tài)可以為不可見,當描述文件執(zhí)行加載到預設該項這些動畫元素首次被渲染的顯示的一幀圖像時,通過設置這些動畫元素的動畫參數(shù),將這些動畫元素的變化形態(tài)設置為可見,如圖2c所示,動畫元素A1在該圖中為仍處于可見狀態(tài)的動畫元素A2,通過設置動畫元素B1的動畫參數(shù),使其在首次出現(xiàn)的圖像中形態(tài)如動畫元素B2的可見狀態(tài),動畫元素C1在該圖中仍為不可見狀態(tài)的動畫元素C2。因此,在渲染動畫第一幀圖像前即對所有動畫元素進行預渲染,不在第一幀圖像顯示的動畫元素可以設置為不可見),當加載到需要顯示之前未顯示的動畫元素的一幀圖像時,只需要通過設置這些動畫元素的動畫參數(shù)來修改其可見狀態(tài),即可顯示這些動畫元素,無需將這些動畫元素重新渲染為可顯示狀態(tài)。單獨就渲染動畫元素的資源開銷而言,在顯示第一幀圖像前對動畫元素的靜態(tài)預渲染,資源開銷顯著低于在渲染各幀圖像時對動畫元素的動態(tài)渲染。而且相對于重新渲染動畫的一項動畫元素,僅改變動畫元素的可見狀態(tài),可顯著降低動畫的加載開銷。一般情況下,通過設置動畫元素的以下位置參數(shù)、透明度、容器尺寸(尺寸參數(shù))、形變量、位移量、圖層順序等,可以改變其可見狀態(tài):設置動畫元素的位置參數(shù),可以控制動畫元素出現(xiàn)在各幀圖像中的初始位置。設置動畫元素的透明度,可以控制動畫元素在序列幀中是否可見,如透明度為100%時,動畫元素完全可見;透明度為0%時,動畫元素完全不可見;透明度介于100%-0%之間時,動畫元素表現(xiàn)出不同程度的透視效果。設置動畫元素的透明度,還可以控制動畫元素的顏色,通過改變動畫元素的紅、黃、藍三原色的透明度,實現(xiàn)類同于調色的過程,達到改變動畫元素的顏色的效果。設置動畫元素的形變量,可以控制動畫元素的形態(tài)變化。設置動畫元素的容器尺寸,可以控制動畫元素在序列幀中的顯示范圍。設置動畫元素的位移量,可以控制動畫元素的相對初始位置的移動距離。設置動畫元素的同層順序,可以區(qū)分控制同一幀圖像中相同動畫元素(可以指同一序列幀中處于不同圖層的相同動畫元素),還可以控制各幀圖像中各項動畫元素的相互遮擋關系。由上述實施例可知:獲取待播放動畫的SVG格式的序列幀,然后將每幀圖像所含的動畫對象拆分為多項動畫元素,再獲取每項動畫元素的位圖圖像,然后生成用于描述動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)的動畫描述文件,最終確定將所述動畫描述文件以及各項動畫元素的位圖圖像:作為所述待播放動畫的動畫源文件。因為動畫源文件僅包括動畫元素的位圖圖像、以及動畫描述文件,其所占空間大小遠遠小于:原來重復包含各項動畫元素的位圖圖像的各幀圖像,所以可以有效減小動畫文件的體積,能解決現(xiàn)有技術中動畫文件體積過大的弊端。此外,通過對動畫源文件進行處理實現(xiàn)動畫播放時,獲取包括動畫描述文件和各項動畫元素的位圖圖像的動畫源文件,渲染所有的位圖圖像,生成各項動畫元素的動畫圖層,然后從所述動畫描述文件中獲取動畫播放信息,再基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。這樣在播放不同幀動畫時無需重復渲染相同的動畫元素的位圖圖像,因此能在快速實現(xiàn)動畫播放的同時可以有效降低處理器和內(nèi)存的消耗。應用到直播領域后,播放動畫時CPU占用率僅為原播放方案的一半,GPU占用率升幅不大,內(nèi)存占用亦僅為原播放方案的一半。動畫源文件的體積僅為原播放方案的10%。與前述動畫處理方法的實施例相對應,本申請還提供了動畫處理裝置的實施例。參見圖3,圖3是本申請動畫處理裝置的一個實施例框圖,該裝置可包括:序列幀獲取模塊310、元素劃分模塊320、位圖獲取模塊330、文件生成模塊340和源文件確定模塊350。其中,序列幀獲取模塊310,用于獲取待播放動畫的SVG格式的序列幀。元素劃分模塊320,用于將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素。位圖獲取模塊330,用于獲取每項動畫元素的位圖圖像為該項動畫元素對應的元素位圖。文件生成模塊340,用于根據(jù)每幀圖像所含的動畫元素以及所含動畫元素在該幀圖像內(nèi)的動畫參數(shù),生成動畫描述文件,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)。源文件確定模塊350,用于確定將所述動畫描述文件以及各項動畫元素對應的元素位圖:作為所述待播放動畫的動畫源文件。在一個可選的實現(xiàn)方式中,序列幀獲取模塊310還可以包括(圖3中未示出):第一獲取模塊,用于通過Flash編輯器將Flash格式的待播放動畫轉換為SVG格式的序列幀。或者,第二獲取模塊,用于通過BodyMovin將AE格式的待播放動畫轉換為SVG格式的序列幀。在另一個可選的實現(xiàn)方式中,元素劃分模塊320還可以包括(圖3中未示出):逐幀比較模塊,用于逐幀比較各序列幀,獲取各相鄰幀之間的比較信息,其中,所述比較信息包括相鄰幀之間的相同動畫對象、相同動畫對象之間的變化參數(shù)、不同動畫對象以及不同動畫對象之間的位置關系。元素劃分子模塊,用于基于所述比較信息,將每個動畫對象中矢量未發(fā)生過變化的部分以及矢量發(fā)生過變化的各部分:分別作為不同的動畫元素。在另一個可選的實現(xiàn)方式中,所述動畫參數(shù)包括位置參數(shù)、透明度參數(shù)、尺寸參數(shù)、圖層順序參數(shù)。在另一個可選的實現(xiàn)方式中,所述動畫屬性包括動畫的總幀數(shù)、各幀圖像的標識、FPS、動畫大小。在另一個可選的實現(xiàn)方式中,本申請實施例的動畫處理裝置還可以包括(圖3中未示出):文件壓縮模塊,用于對所述動畫源文件進行文件壓縮。文件傳輸模塊,用于將壓縮后的動畫源文件傳輸?shù)街付ǖ刂?,以便動畫播放端從該指定地址獲取所述動畫源文件。參見圖4,圖4是本申請動畫處理裝置的另一個實施例框圖,該裝置可包括:源文件獲取模塊410、位圖渲染模塊420、信息獲取模塊430和動畫播放模塊440。其中,源文件獲取模塊410,用于獲取待播放動畫的動畫源文件,其中,所述動畫源文件包括動畫描述文件和各元素位圖,所述元素位圖為所述待播放動畫所含的動畫元素的位圖圖像,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù)。位圖渲染模塊420,用于渲染所有的元素位圖,生成各項動畫元素的動畫圖層。信息獲取模塊430,從所述動畫描述文件中獲取動畫播放信息,所述動畫播放信息包括動畫屬性、每幀圖像所含的動畫元素、以及所含動畫元素在該幀圖像中的動畫參數(shù)。動畫播放模塊440,用于基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。在一個可選的實現(xiàn)方式中,動畫播放模塊440還可以包括(圖4中未示出):比較信息獲取模塊,用于通過逐幀比較各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù),獲取各相鄰幀圖像之間比較信息,其中,所述比較信息包括相鄰幀圖像之間的相同動畫元素、相同動畫元素之間的變化參數(shù)、不同動畫元素以及各項動畫元素之間的層級關系。圖層調整模塊,用于基于獲取的比較信息,通過調整在先的一幀圖像的動畫圖層種類、各動畫圖層的疊加順序、各動畫圖層的疊加位置以及各動畫圖層的其他動畫參數(shù),實現(xiàn)在后的一幀圖像的播放。上述裝置中各個單元(或模塊)的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元或模塊可以是或者也可以不是物理上分開的,作為單元或模塊顯示的部件可以是或者也可以不是物理單元或模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元或模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。本申請動畫處理裝置的實施例可以應用在電子設備上。具體可以由計算機芯片或實體實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)中,電子設備為計算機,計算機的具體形式可以是個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數(shù)字助理、媒體播放器、導航設備、電子郵件收發(fā)設備、游戲控制臺、平板計算機、可穿戴設備、互聯(lián)網(wǎng)電視、智能機車、智能家居設備或者這些設備中的任意幾種設備的組合。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在電子設備的處理器將非易失性存儲器等可讀介質中對應的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖5所示,為本申請動畫處理裝置所在電子設備的一種硬件結構圖,除了圖5所示的處理器、內(nèi)存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的電子設備通常根據(jù)該電子設備的實際功能,還可以包括其他硬件,對此不再贅述。電子設備的存儲處理器可以是可執(zhí)行指令的存儲器;處理器可以耦合存儲器,用于讀取所述存儲器存儲的程序指令,并作為響應,執(zhí)行如下操作:獲取待播放動畫的SVG格式的序列幀;將所述序列幀內(nèi)各幀圖像所含的動畫對象劃分為多項動畫元素;獲取每項動畫元素的位圖圖像為該項動畫元素對應的元素位圖;根據(jù)每幀圖像所含的動畫元素以及所含動畫元素在該幀圖像內(nèi)的動畫參數(shù),生成動畫描述文件,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù);確定將所述動畫描述文件以及各項動畫元素對應的元素位圖:作為所述待播放動畫的動畫源文件。在另一實施例中,電子設備的存儲處理器可以是可執(zhí)行指令的存儲器;處理器可以耦合存儲器,用于讀取所述存儲器存儲的程序指令,并作為響應,執(zhí)行如下操作:獲取待播放動畫的動畫源文件,其中,所述動畫源文件包括動畫描述文件和各元素位圖,所述元素位圖為所述待播放動畫所含的動畫元素的位圖圖像,所述動畫描述文件包括動畫屬性、各幀圖像所含的動畫元素以及所含動畫元素在各幀圖像內(nèi)的動畫參數(shù);渲染所有的元素位圖,生成各項動畫元素的動畫圖層;從所述動畫描述文件中獲取動畫播放信息,所述動畫播放信息包括動畫屬性、每幀圖像所含的動畫元素、以及所含動畫元素在該幀圖像中的動畫參數(shù);基于所述動畫播放信息,將每幀圖像所含的動畫元素的動畫圖層按照所述動畫參數(shù)進行組合,實現(xiàn)所述待播放動畫的播放。在其他實施例中,處理器所執(zhí)行的操作可以參考上文方法實施例中相關的描述,在此不予贅述。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內(nèi)。當前第1頁1 2 3 當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1