(通信與信息系統(tǒng)專業(yè)論文)嵌入式swf文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn).pdf_第1頁
(通信與信息系統(tǒng)專業(yè)論文)嵌入式swf文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn).pdf_第2頁
(通信與信息系統(tǒng)專業(yè)論文)嵌入式swf文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn).pdf_第3頁
(通信與信息系統(tǒng)專業(yè)論文)嵌入式swf文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn).pdf_第4頁
(通信與信息系統(tǒng)專業(yè)論文)嵌入式swf文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn).pdf_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

(通信與信息系統(tǒng)專業(yè)論文)嵌入式swf文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn).pdf.pdf 免費下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

北京郵電大學(xué)碩士研究生論文 獨創(chuàng)性( 或創(chuàng)新性) 聲明 本人聲明所呈交的論文是本人在導(dǎo)師指導(dǎo)下進行的研究工作及取得 的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝中所羅列的內(nèi)容 以外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為 獲得北京郵電大學(xué)或其他教育機構(gòu)的學(xué)位或證書而使用過的材料。與我 一同工作的同志對本研究所做的任何貢獻均己在論文中作了明確的說明 并表示了謝意。 申請學(xué)位論文與資料若有不實之處,本人承擔(dān)一切相關(guān)責(zé)任。 本人簽名: 氈隳一一 日期:鯊22 :2 21 三2 關(guān)于論文使用授權(quán)的說明 學(xué)位論文作者完全了解北京郵電大學(xué)有關(guān)保留和使用學(xué)位論文的規(guī) 定,i l p 研究生在校攻讀學(xué)位期間論文工作的知識產(chǎn)權(quán)單位屬北京郵電 大學(xué)。學(xué)校有權(quán)保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和磁盤, 允許學(xué)位論文被查閱和借閱;學(xué)校可以公布學(xué)位論文的全部或部分內(nèi)容, 可以允許采用影印、縮印或其它復(fù)制手段保存、匯編學(xué)位論文。( 保密 的學(xué)位論文在解密后遵守此規(guī)定) 保密論文注釋:本學(xué)位論文屬于保密在一年解密后適用本授權(quán)書。 非保密論文注釋:本學(xué)位論文不屬于保密范圍,適用本授權(quán)書。 本人簽名:堪! 粗 日期:絲絲:至:蘭 導(dǎo)師簽名: 北京郵電大學(xué)碩士研究生論文 北京郵電大學(xué)碩士研究生論文 摘要 嵌入式s w f 文件解碼器的高分辨率應(yīng)用設(shè)計與實現(xiàn) 摘要 近年來,f l a s h 技術(shù)越來越受到了人們的關(guān)注和喜愛,應(yīng)用領(lǐng)域也在 不斷擴展,它超越了計算機的界限,廣泛地應(yīng)用在各種設(shè)備中,各種支 持f l a s h 文件播放的嵌入式產(chǎn)品也應(yīng)運而生。同時,隨著三網(wǎng)融合的進一 步推進,高清數(shù)字電視和機頂盒的迅速普及,f l a s h 播放功能也將逐漸成 為高清數(shù)字電視和機項盒的標(biāo)準(zhǔn)配置,促進多媒體應(yīng)用的多樣化發(fā)展, 豐富人們的文化生活。 s w f 是f l a s h 矢量圖形文件格式的一個推薦版本,是一種支持矢量 和點陣圖形的動畫文件格式。其獨特的二維網(wǎng)頁多媒體技術(shù),將矢量動 畫、音頻壓縮編碼和動作腳本等多種要素結(jié)合在一起,從而創(chuàng)造出了一種 有聲有色、精彩互動的新的多媒體形式,成為真正意義上的新一代網(wǎng)絡(luò)動 畫標(biāo)準(zhǔn)。 本文主要研究設(shè)計了一種嵌入式s w f 文件解碼器。該系統(tǒng)主要應(yīng)用 于高清數(shù)字電視或機頂盒,是一種高分辨率的應(yīng)用解決方案。本文在對 s w f 文件的技術(shù)標(biāo)準(zhǔn)進行深入研究的基礎(chǔ)上,完成了以下工作:分析了 具體的解碼流程,同時對矢量圖形的渲染工作原理進行了分析。研究設(shè) 計了l i n u x 嵌入系統(tǒng)下的s w f 解碼器的整體構(gòu)架,并實現(xiàn)了s w f 文件 的解碼功能模塊。為達(dá)到良好的f l a s h 播放效果,本文結(jié)合了硬件開發(fā)環(huán) 境的性能情況,對解碼器進行優(yōu)化研究,主要采用了矩陣運算、幀間復(fù) 用和位圖緩存優(yōu)化方法。在按照上述設(shè)計方法并實現(xiàn)s w f 文件解碼播放 的前提下,完成對其性能的測試,在圖形渲染效果、功能實現(xiàn)和播放速 率等方面進行評估。該解決方案有效地解決了s w f 文件播放運行時占用 系統(tǒng)資源較多、播放不流暢等問題,可順利播放網(wǎng)絡(luò)上大部分動畫。 關(guān)鍵詞:嵌入式高分辨率s w f 解碼器矢量圖形 北京郵電大學(xué)碩士研究生論文摘要 l i , 基 且 北京郵電大學(xué)碩士研究生論文摘要 d e s i g na n di m p l e m e n t a t i o no f a ne m b e d d e ds w fd e c o d e r w i t h h i g h - r e s o l u t i o n a b s t r a c t i nr e c e n ty e a r s ,f l a s ht e c h n o l o g yi sw i n n i n gm o r ea n dm o r ea t t e n t i o na s w e l la sf a v o rf r o mp e o p l e ,a n di t sa p p l i c a t i o nf i e l di sa l s oe x p a n d i n g i th a s e x c e e d e dt h el i m i t a t i o no fc o m p u t e ra n di se x t e n s i v e l yu s e di nv a r i o u sk i n d s o fe q u i p m e n t s a sar e s u l t ,t h ee m b e d d e dp r o d u c t s ,w h i c hs u p p o r tf l a s hf i l e s , a p p e a r a tt h es a m et i m e ,a sf u r t h e rp r o p e l l i n go ft h em e r g e ro ft h et h r e e n e t w o r k sa n dr a p i dp r e v a i l i n go fh i g hd e f i n i t i o nd i g i t a lt va n ds e tt o pb o x , t h ep l a yf u n c t i o no ff l a s hw i l lg r a d u a l l yb e c o m eas t a n d a r dc o n f i g u r ef o rt h e h i g hd e f i n i t i o nd i g i t a lt va n ds e tt o pb o x ,w h i c ha c c e l e r a t e st h ed i v e r s i t y d e v e l o p m e n to fm u l t im e d i aa p p l i c a t i o na n de n r i c h e sp e o p l e sc u l t u r a ll i f e s 下i sar e c o m m e n d a t i o nv e r s i o no ff l a s hv e c t o rg r a p h i c sf i l ef o r m a t w h i c hi sak i n do fa n i m a t i o nf i l ef o r m a ts u p p o r t i n gv e c t o ra n dp o i n tl a t t i c e g r a p h i c s i t su n i q u e t w o - d i m e n s i o n w e b p a g e m u l t im e d i at e c h n o l o g y c o m b i n e sv a r i o u se l e m e n t ss u c ha sv e c t o ra n i m a t i o n ,v o i c ec o m p r e s s e d e n c o d i n ga n da c t i o ns c r i p te t c a l lt o g e t h e r , t oc r e a t ean e wm u l t im e d i a f o r m a tf u l lo fs o u n da n dc o l o rw i t hs p e c t a c u l a ri n t e r a c t i o n w h i c ha c t u a l l y b e c o m ean e wg e n e r a t i o no fc y b e ra n i m a t i o ns t a n d a r d t h i sa r t i c l em a i n l yf o c u s e so nt h er e s e a r c ha n dd e s i g no fa ne m b e d d e d s 下f i l ed e c o d e r t h ee m b e d d e ds 、肝f i l ed e c o d e rs y s t e mi sm a i n l ya p p l i e d i nh i g hd e f i n i t i o nd i g i t a lt vo rs e tt o pb o x ,a n di ti sa na p p l i c a t i o ns o l u t i o n w i t hh i g h r e s o l u t i o n i n i t i a l l y , t h i sa r t i c l ea n a l y z e st h et e c h n o l o g i c a ls t a n d a r d o fs 下f i l e a n de l a b o r a t e so nt h eg e n e r a ls t r u c t u r ed e s i g no fs 下f i l e d e c o d e ra n dt h er e a l i z a t i o no fs p e c i f i cf u n c t i o nm o d u l e ;t h e ni tp u t sf o r w a r d t h eo p t i m i z a t i o nm e t h o df o rt h ek e yp a r to fd e c o d e r ;f i n a l l y , b a s e do na b o v e m e n t i o n e dd e s i g nm e t h o da n dr e a l i z a t i o no fs w ff i l ed e c o d i n gp l a y i n g ,w i t h i i i a c c o m p l i s h e df u n c t i o nt e s t ,i te v a l u a t e st h eg r a p h i ce m b e l l i s h i n ge f f e c t , f u n c t i o nr e a l i z a t i o na n dp l a y i n g v e l o c i t ye t c t h i ss o l u t i o n c a ns o l v e p r o b l e m se f f e c t i v e l y , i n c l u d i n gt h ep r o b l e mo fo c c u p y i n gt o om u c hs y s t e m r e s o u r c e sw h i l es w ff i l ei sr u n n i n g ,t h ep r o b l e mo fd i s f l u e n c y , e t c a n d e n s u r et h a tm o s to ft h ea n i m a t i o nf i l e sc a nb ep l a y e do nt h ei n t e r n e t k e yw o r d s :e m b e d d e d h i 曲- r e s o l u t i o n s w fd e c o d e r v e c t o r g r a p h i c s i v 一 - 北京郵電大學(xué)碩士研究生論文 目錄 目錄 第一章緒論1 1 1 研究背景1 1 2 國內(nèi)外研究現(xiàn)狀2 1 3 本文主要工作及安排3 第二章s w f 技術(shù)分析5 2 1 矢量圖形簡介5 2 2s w f 文件簡介5 2 3s w f 文件結(jié)構(gòu)分析6 2 3 1 文件頭結(jié)構(gòu)7 2 3 2 標(biāo)簽( t a g ) 結(jié)構(gòu)8 2 3 3 元素字典( d i c t i o n a r y ) 結(jié)構(gòu)9 2 3 4 顯示列表( d i s p l a yl i s t ) 結(jié)構(gòu)1 0 2 3 5 矢量圖形結(jié)構(gòu),1 1 2 3 6 基本數(shù)據(jù)類型1 3 2 4 本章小結(jié)1 4 第三章s w f 解碼器的設(shè)計與實現(xiàn)1 5 3 1 嵌入式系統(tǒng)運行環(huán)境1 5 3 1 1 硬件環(huán)境1 5 3 1 2 軟件環(huán)境1 6 3 1 3 嵌入式開發(fā)方法1 7 3 2 解碼器總體設(shè)計1 8 3 2 1 解碼器整體構(gòu)架1 8 3 2 2 軟件工作流程1 9 3 3 標(biāo)簽解析模塊的實現(xiàn)2 0 3 1 1 文件頭解析2 0 3 1 2 標(biāo)簽解析2 0 3 4 播放邏輯控制模塊2 1 3 2 1 控制列表的生成2 1 3 2 2 聲音的控制處理2 3 3 2 3 用戶交互控制處理2 3 3 5 矢量圖形渲染引擎2 4 3 5 1 矢量庫的選擇2 4 3 5 2 圖形渲染流程2 5 3 5 3 矢量渲染的優(yōu)化分析2 6 3 6 本章小結(jié)2 7 第四章s w f 解碼器優(yōu)化技術(shù)2 8 北京郵電大學(xué)碩士研究生論文目錄 4 1 運算優(yōu)化2 8 4 1 1 浮點運算處理2 8 4 1 2 矩陣運算優(yōu)化2 9 4 2 幀間復(fù)用2 9 4 3 位圖緩存3 1 4 3 1 引入緩存3 l 4 3 2 緩存對象3 l 4 3 3 緩存設(shè)計3 2 4 3 4 緩存釋放3 3 4 4 本章小結(jié)3 3 第五章性能測試與分析3 5 5 1 測試系統(tǒng)說明3 5 5 2 圖形渲染測試3 5 5 3 功能實測3 7 5 4 性能實測3 8 5 5 本章小結(jié)3 9 第六章結(jié)束語4 1 參考文獻4 2 致謝4 4 作者攻讀學(xué)位期間參加的科研項目與發(fā)表的學(xué)術(shù)論文4 5 北京郵電大學(xué)碩士研究生論文 1 1 研究背景 第一章緒論 近幾年,國內(nèi)電視行業(yè)正在處在從模擬電視轉(zhuǎn)變到數(shù)字電視,從標(biāo)準(zhǔn)清晰度電視 ( s d t v ) 轉(zhuǎn)變到高清晰度電視( h d t v ) 的重要階段【l 】。高清數(shù)字電視是相對目前 國內(nèi)電視機普遍使用的“標(biāo)清”來定義的。高清是一種視頻標(biāo)準(zhǔn),物理分辨率在 1 2 8 0 x 7 2 0 以上,全高清物理分辨率高達(dá)1 9 2 0 x 1 0 8 0 像素,即1 0 8 0 i 和1 0 8 0 p ,是高清 的項級規(guī)格。與標(biāo)準(zhǔn)清晰度電視相比,高清晰度電視具有身臨其境的逼真性和感染力, 極大的滿足了家庭用戶欣賞水平日益提高的需求。此外,高清數(shù)字電視具有廣泛的外 延性,一方面現(xiàn)有的影視傳播網(wǎng)絡(luò)將可以開展游戲、數(shù)字增值服務(wù)等新業(yè)務(wù),另一方 面影視內(nèi)容可以通過移動寬頻等新手段進行傳輸。因此,除了在傳統(tǒng)廣播電視領(lǐng)域外, 高清數(shù)字電視在電子出版、廣告宣傳、視頻影院、教育、醫(yī)療等等需要高清晰度視頻 的場合也起到越來越重要的作用【2 1 。 隨著計算機技術(shù)的飛速發(fā)展,三網(wǎng)融合的進一步推進,有線廣播電視網(wǎng)正在向數(shù) 字化、網(wǎng)絡(luò)化、產(chǎn)業(yè)化方向發(fā)展,最終建成寬帶綜合信息網(wǎng)。依托有線廣播電視網(wǎng)提 供綜合信息業(yè)務(wù)的關(guān)鍵設(shè)備之一是用戶終端設(shè)備一數(shù)字機頂盒,數(shù)字電視機頂盒可 以支持幾乎所有的廣播和交互式多媒體應(yīng)用【3 】。高清數(shù)字電視機可以分為“一體機”和 “分體機 兩種類型。一體機就是在電視顯示器內(nèi)置高清機頂盒( 信源編碼、信道解 碼、條件接受) 的完整功能,可以標(biāo)識為h d t vr e c e i v e r 。分體機就是不內(nèi)置高清機 頂盒功能的數(shù)字電視顯示器,以h d t v r e a d y 來標(biāo)識,表示可以接收并正確顯示出高 清機頂盒輸出的h d t v 圖像格式信號【4 】。未來的機頂盒將能提供更多的業(yè)務(wù)功能:視 頻點播、上網(wǎng)瀏覽、電子郵件、互動游戲及i p 電話、可視電話等。作為越來越多功 能化的終端產(chǎn)品,因此它也必須支持更多的多媒體格式,現(xiàn)在市面上的機頂盒能夠支 持h 2 6 4 、m p e g 2 、m p e g - 4 和r m v b 等格式,但因為技術(shù)上的一些瓶頸,能夠支 持f l a s h 動畫文件播放的機頂盒還比較難見到壚】。 f l a s h 是一種交互式矢量多媒體技術(shù),集各類媒體元素、動態(tài)效果、用戶交互于 一體,通過內(nèi)部對象及其屬性特征表達(dá)豐富的語義信息,是i n t e r n e t 上高效傳遞矢量 圖形、文本、視頻和聲音的媒體格式1 6 。它的前身是f u t u r es p l a s h ,為早期網(wǎng)上流行 的矢量動畫插件,被m a c r o m e d i a 公司收購了后,便將其改造為f l a s h2 ?,F(xiàn)在,f l a s h 已經(jīng)被a d o b e 公司購買,最新的版本是f 1 a s h c s 4 ,也就是f l a s h l 0 。f l a s h 動畫也是 北京郵電大學(xué)碩士研究生論文 利用人的視覺暫留特性,快速播放一系列連續(xù)運動變化的圖形圖像,包括畫面的縮 放、旋轉(zhuǎn)、變換、淡入淡出等等特殊效果 7 1 。由于f l a s h 動畫的實用性、互動性和娛 樂性很強,它已經(jīng)逐漸融入人們的工作和生活【8 】。隨著嵌入式系統(tǒng)及軟硬件平臺的發(fā) 展,f l a s h 應(yīng)用領(lǐng)域也在不斷擴展,它超越了計算機的界限,廣泛地應(yīng)用在各種設(shè)備 中。然而,在某些嵌入式平臺上,由于種種條件的限制,按照通常思路設(shè)計出的解碼器, 在嵌入式平臺上運行時速度和效果遠(yuǎn)達(dá)不到實用要求。例如應(yīng)用于高清數(shù)字電視或機 頂盒等設(shè)備時,存在兼容性差、對硬件環(huán)境要求高、占用系統(tǒng)資源較多、播放不流暢 等缺陷。 s w f 是m a c r o m c d i a 公司的動畫設(shè)計軟件f l a s h 的專用格式,是基于s h o c k w a v e 技術(shù)的流式動畫格式,源文件為f l a 。由于其具有體積小,功能強,交互能力好,支 持多個層和時間線程等特點,故越來越多地應(yīng)用在網(wǎng)絡(luò)動畫中【9 】。s w f 文件采用曲線 方程描述其內(nèi)容,不是由點陣組成內(nèi)容,因此這種格式的動畫在縮放時不會失真,非 常適合描述由幾何圖形組成的動畫【1 0 1 。 在這樣的背景下,本課題通過分析s w f 文件規(guī)范和所使用的嵌入式平臺的軟硬 件資源情況,以及深入研究s w f 解碼器在高分辨率應(yīng)用( 比如高清數(shù)字電視) 下的 優(yōu)化方法,設(shè)計實現(xiàn)了一款s w f 解碼器,目前已經(jīng)應(yīng)用到p o w c r l a y c r 公司高清數(shù)字 多媒體s o c 芯片,取得出眾的使用效果和用戶反饋。 1 2 國內(nèi)外研究現(xiàn)狀 所謂嵌入就是將計算機的硬件或軟件嵌入其他電器設(shè)備中,構(gòu)成了一種新的系 統(tǒng),即嵌入式系統(tǒng)。如今,隨著信息技術(shù)的飛速發(fā)展,嵌入式技術(shù)和設(shè)備的應(yīng)用已經(jīng) 廣泛應(yīng)用到工業(yè)控制、仿真系統(tǒng)、醫(yī)療器材、信息家電、通信設(shè)備等眾多領(lǐng)域。目前, 圍繞嵌入式系統(tǒng)展開的研究和開發(fā),已經(jīng)成為計算機軟硬件技術(shù)發(fā)展最活躍的方向之 一【1 1 1 。而被稱為是“最為靈活的前臺”的f l a s h ,由于其小巧、可交互、跨平臺的特點, 越來越多的支持f l a s h 播放的嵌入式產(chǎn)品出現(xiàn)在人們的工作生活中,并逐漸成為各種 智能終端的標(biāo)準(zhǔn)配置。但是各類嵌入式硬件環(huán)境的c p u 計算能力和內(nèi)存的大小是一 定且各不相同的,故各大生產(chǎn)廠商推出的支持f l a s h 播放功能的多媒體終端,對各自 成熟平臺依賴性較強,移植較為困難。并且各廠商對f l a s h 播放功能的支持也參差不 齊,很多用戶只能受限對硬件資源要求不高的文件,比如f l a s h 中的游戲開發(fā)已經(jīng)進 行了多年的嘗試。但至今為止仍然停留在中、小型游戲的開發(fā)上。游戲開發(fā)的很大一 部份都受限于它的c p u 能力和大量代碼的管理。 m a c r o m e d i a 在2 0 0 3 年推出了手機播放f l a s h 的解決方案,但是由于兼容性差, 2 北京郵電大學(xué)碩士研究生論文 大多數(shù)的手機和機頂盒生產(chǎn)廠商無法受惠該技術(shù)【1 2 1 。直到2 0 0 9 年初,a d o b e 公司宣 布其最新的版本f l a s h 多媒體平臺,將在根本上把f l a s h 技術(shù)帶到連接i n t e r n e t 的電視 機、機頂盒、藍(lán)光播放器以及其他數(shù)字家庭設(shè)備。將f l a s h 引入這些設(shè)備的主要目的, 是使得用戶可以在他們的電視機上觀看高清視頻、運行互動程序以及獲得新的用戶界 面。目前,a d o b e 已經(jīng)尋求到多家公司的支持,計劃在他們的設(shè)備上使用這項技術(shù), 包括i n t e l ,c o m c a s t ,d i s n e yi n t e r a c t i v e ,n e t f l i x ,a t l a n t i cr e c o r d s ,以及n e wy o r kt i m 鶴 c o m p a n y 。a d o b e 同時也將f l a s h 技術(shù)移植到了智能手機平臺上,移動版本的f l a s h 使得用戶可以觀看采用f l a s h 技術(shù)的視頻。而現(xiàn)在a d o b e 則將注意力轉(zhuǎn)移到了起居室 中高清電視的大屏幕上面,這意味著人們可以在他們的電視上直接獲取內(nèi)容豐富的網(wǎng) 絡(luò)視頻資源,而不是一小部分針對電視特別編碼的資源。盡管何種電子消費產(chǎn)品將使 用新版本的f l a s h 還未公開,但是這項技術(shù)已經(jīng)對設(shè)備制造著與應(yīng)用開發(fā)者開放,預(yù) 計支持f l a s h 的電視機與機頂盒將在年內(nèi)上市。 近幾年,國內(nèi)也出現(xiàn)了一批嵌入式f l a s h 播放器產(chǎn)品,但由于硬件資源的限制, 往往僅限于播放運營商提供下載的f l a s h 動畫和游戲。使用戶無法利用互聯(lián)網(wǎng)上豐富 廉價的s w f 資源,也限制了產(chǎn)品對網(wǎng)頁瀏覽的支持。同時各廠商對s w f 技術(shù)的支持 強烈依賴各自的平臺,可移植性差,加大的開發(fā)成本u 引。 1 3 本文主要工作及安排 本文主要研究目前流行的f l a s h 動畫技術(shù)在高清數(shù)字電視或機頂盒中的應(yīng)用,基 于嵌入式l i n u x 設(shè)計并實現(xiàn)了嵌入式s w f 解碼器。具體工作如下: 1 在理解s w f 文件標(biāo)準(zhǔn)技術(shù)基礎(chǔ)上分析了具體的解碼流程,同時對矢量圖形的 渲染工作原理進行了分析; 2 研究設(shè)計l i n u x 嵌入系統(tǒng)下的s w f 解碼器的整體構(gòu)架,并實現(xiàn)了s w f 文件的 解碼功能模塊; 3 為達(dá)到良好的f l a s h 播放效果,結(jié)合了硬件開發(fā)環(huán)境的性能情況,對解碼器進 行優(yōu)化研究。主要采用了矩陣運算、幀間復(fù)用和位圖緩存優(yōu)化方法; 4 在按照上述設(shè)計方法并實現(xiàn)s w f 文件解碼播放的基礎(chǔ)上,完成對其性能的測 試,在圖形渲染效果、功能實現(xiàn)和播放速率等方面進行評估。 論文結(jié)構(gòu)安排如下: 第一章闡述了嵌入式s w f 解碼器應(yīng)用研究背景及意義,介紹了國內(nèi)外f l a s h 解 碼技術(shù)的發(fā)展及研究情況,然后歸納了本論文的研究工作和主要內(nèi)容; 第二章介紹了s w f 文件的技術(shù)標(biāo)準(zhǔn),首先引入了矢量圖形的原理及特點,然后 3 北京郵電大學(xué)碩士研究生論文 詳細(xì)分析介紹了s w f 文件的文件頭結(jié)構(gòu)、標(biāo)簽結(jié)構(gòu)、元素字典結(jié)構(gòu)、顯示列表結(jié)構(gòu) 和基本數(shù)據(jù)類型; 第三章介紹了s w f 解碼器的總體框架設(shè)計與具體功能模塊的實現(xiàn),以及解碼器 的軟硬件開發(fā)環(huán)境; 第四章介紹了三種優(yōu)化解決方法,并詳細(xì)說明了方案的可行性; 第五章介紹了系統(tǒng)功能和性能測試結(jié)果; 第六章進行總結(jié),提出需要進一步改進的方面。 4 北京郵電大學(xué)碩士研究生論文 2 1 矢量圖形簡介 第二章s w f 技術(shù)分析 計算機中所使用的圖像類型一般可以分為矢量圖和位圖兩種。所謂位圖,就是由 點陣所組成的圖像,一般用于照片品質(zhì)的圖像處理。位圖可以逼真的反映外界事物, 但放大時會引起圖像失真,并且文件占用空間大。而矢量圖是以矢量方式來記錄圖像 內(nèi)容的,由輪廓和填充組成,其構(gòu)造原理與位圖完全不同。例如,一段圓弧的數(shù)據(jù), 只記錄圓心和圓弧兩個端點的坐標(biāo),以及線條的粗細(xì)和色彩等【l 引。矢量圖使用一系列 計算機指令來表示一副圖像,如畫點、直線、曲線、圓形、矩形和多邊形等等,這種 方法實際上是通過數(shù)學(xué)公式計算獲得的,與分辨率無關(guān),這些公式中包括矢量圖形所 在的坐標(biāo)位置、大小、輪廓色和填充色等信息,當(dāng)放大或縮小圖形時,只需要在相應(yīng) 數(shù)字上乘以放大的倍數(shù)或除以縮小的倍數(shù)即可【l 剞。因此,矢量圖所占空間非常小,同 時將一張矢量圖形任意放大或縮小時,其邊緣都很平滑,也不會產(chǎn)生顏色塊,畫質(zhì)不 會隨圖形的放大或縮小而改變。它克服了位圖所固有的缺陷,具有無級縮放、不失真 的優(yōu)點,并可以方便的進行編輯修改。矢量圖具有位圖所不可比擬的優(yōu)勢,也正因為 如此,矢量圖在信息資源數(shù)字化過程中發(fā)揮著重要作用【1 5 1 。在計算機顯示矢量圖時, 也往往能看到畫圖的過程。 矢量圖形雖然文件體積小,畫面表達(dá)準(zhǔn)確,但是由于其本身的特性決定了它只適 合用來表達(dá)一些幾何形狀的信息。對于照片等層次豐富、細(xì)節(jié)復(fù)雜的畫面,矢量圖除 了增加文件大小,降低圖像效果外,絲毫不能體現(xiàn)出其優(yōu)勢,而這正是位圖圖像所擅 長的【1 6 1 。 2 2s w f 文件簡介 s w f j ( s h o c kw a v ef l a s h ) 是m a c r o m e d i a 公司( 現(xiàn)已被a d o b e 公司收購) 的動 畫設(shè)計軟件f l a s h 的專用格式,是一種支持矢量和點陣圖形的動畫文件格式。s w f 使 用矢量來顯示大量的動畫內(nèi)容,而矢量圖的筆觸和填充都是進行科學(xué)計算的,因此所 制作的動畫具有高度的精確性與靈活性。在圖像傳輸方面,s w f 不必等到文件全部下 載才能觀看,因此特別適合網(wǎng)絡(luò)傳輸。即使是在網(wǎng)絡(luò)傳輸速率不佳的情況下,也能取 得較好的效果。其獨特的二維網(wǎng)頁多媒體技術(shù)u 引,將矢量動畫、音頻壓縮編碼和動作 腳本等多種要素結(jié)合在一起,從而創(chuàng)造出了一種有聲有色、精彩互動的新的多媒體形 5 北京郵電大學(xué)碩士研究生論文 式,成為事實上的新一代網(wǎng)絡(luò)動畫標(biāo)準(zhǔn)。 其特點主要是【1 9 】: ( 1 ) 屏幕顯示:這種格式主要是為了在屏幕上顯示的需求,它支持任何顏色格式、 動畫和交互按鈕的位圖的快速顯示; ( 2 ) 可擴展性:s w f 文件是采用以標(biāo)簽為基本單元的文件結(jié)構(gòu),所以它能在實現(xiàn)新 的功能特性的同時兼容舊的版本; ( 3 ) 網(wǎng)絡(luò)傳輸:這種格式可以在有限的帶寬和不可預(yù)測的網(wǎng)絡(luò)狀態(tài)下傳輸。而且 文件被壓縮得非常小,并且支持流式播放。s w f 文件是一種二進制的文件,它并不像 h t m l 那樣是可閱讀的。s w f 文件還使用了一些諸如比特壓縮、復(fù)用素材等方法來 減小文件的尺寸; ( 4 ) 簡單性:這種格式簡單,使f l a s h 播放器小巧易移植。而且f l a s h 對具體操作系 統(tǒng)特性的依賴很小; ( 5 ) 文件獨立性:文件的渲染獨立,不依賴諸如字體之類的外部資源; ( 6 ) 靈活性:這種格式能在較差的硬件環(huán)境下工作,而且能夠盡可能的利用這些 硬件資源。而這一點非常重要,因為不同的設(shè)備有不同的分辨率和色深; ( 7 ) 速度:s w f 文件能夠?qū)崿F(xiàn)高速和高質(zhì)量的渲染; ( 8 ) 支持腳本:這種格式包含了約定格式的標(biāo)簽,標(biāo)簽規(guī)定了堆棧式機器解釋字 節(jié)碼的順序。字節(jié)碼支持a c t i o n s c r i p t ( 動作腳本) ,能夠控制渲染以及和服務(wù)器交互。 如今,曾經(jīng)只是基于網(wǎng)站制作的s w f ,不僅與其他任何在線媒體制作軟件相比是 一個巨大的突破,而且推動了交互式數(shù)字領(lǐng)域的發(fā)展。它廣泛的流行性和它顯著的性 能超越了在線領(lǐng)域,已經(jīng)被集成為移動設(shè)備、廣播媒體和控制臺游戲的多媒體開發(fā)工 具和平臺。但是s w f 標(biāo)準(zhǔn)的制定權(quán)在m a c r o m e d i a 公司,所以對s w f 的第三方支持 比較少。同時s w f 作為最終的動畫生成格式,其創(chuàng)作過程封裝在s w f 文件中,幾乎 無法再進行二次編輯。 2 3s w f 文件結(jié)構(gòu)分析 s w f 文件是由文件頭和一組標(biāo)簽( t a g ) 數(shù)據(jù)塊組成,最后以一個特殊的結(jié)束標(biāo) 簽( e n dt a g ) 結(jié)束文件。圖2 - 1 表示了s w f 文件的完整結(jié)構(gòu)圖。 b i _ 一文 團圓回國 圖2 - 1s w f 文件結(jié)構(gòu)【1 7 1 6 北京郵電大學(xué)碩士研究生論文 文件頭結(jié)構(gòu) w f 文件的文件頭定義了f l a s h 文件的格式、版本、文件長度、幀大小、幀播放 和幀總數(shù),其格式如表2 - 1 所示: 表2 - 1s w f 文件頭結(jié)構(gòu)【1 7 】 s w ff i l eh e a d e r f i e l d t y p e c o m m e n t f l a s h 文件頭,一般以無符號8 位整型數(shù)據(jù)0 x 4 6 、0 x 5 7 、0 x 5 3 ( f w s 簡稱“f ”) 或0 x 4 3 、0 x 5 7 、0 x 5 3 ( c w s 簡稱“c ”) 開始。如果標(biāo)識符是“f 表示該文件未被 壓縮,如果是“c 則表示在整個文件前八個字節(jié),即文件長度字段之后所有的內(nèi)容, 都是采用開放標(biāo)準(zhǔn)的z l i b 壓縮方法進行壓縮。因此,對于標(biāo)識符是“c 的文件, 在處理數(shù)據(jù)前必須先用z l i b 壓縮包進行解壓,取得原始數(shù)據(jù)后再進行數(shù)據(jù)解析1 1 7 j 。 在標(biāo)識符之后的一個字節(jié)是版本號這個版本號不是一個a s c i i 字符,而是一個 8 位的數(shù)字例如,s w f 4 文件的版本號是0 x 0 4 ,不是a s c i i 字符“4 ”( 0 x 3 5 ) 。 f i l e l e n g t h 字段代表包括文件頭整個文件的總長度,是無符號3 2 位整型數(shù)據(jù)。 如果是一個未壓縮的s w f 文件( f w s 標(biāo)識符) ,文件長度字段表示文件的精確大?。?如果是一個壓縮的s w f 文件( c w s 標(biāo)識) ,文件長度字段表示解壓后文件的大小, 這樣一般就不是實際文件的大小了讓未壓縮( 解壓后) 的大小可見,則可以使解壓 過程更加有效。 f r a m e s i z e 字段表示影片的寬度和高度它存在一個r e c t 結(jié)構(gòu)中,表示它的大 小可以根據(jù)坐標(biāo)( 四個點的坐標(biāo)) 數(shù)值的變化而變化文件大小r e c t 通常是這樣的 形式:x m i n 和y i n j n 成員都為0 ;x m a x 和y m a x 成員聲明寬度和高度。 f r a m e r a t e 字段表示理想的每秒播放幀數(shù)如果s w f 文件包含聲音流數(shù)據(jù),或 者f l a s h 播放器運行在一個慢的c p u 上,這個速率是不能保證的。 f r a m e c o u n t 字段表示s w f 動畫總幀數(shù)。 7 北京郵電大學(xué)碩士研究生論文 2 3 2 標(biāo)簽( t a g ) 結(jié)構(gòu) 文件頭之后是一些標(biāo)簽化的數(shù)據(jù)塊,這些數(shù)據(jù)塊的格式一致,當(dāng)播放器播放時如 果發(fā)現(xiàn)數(shù)據(jù)塊無法解析,就可以跳過,這樣就不會影響其它數(shù)據(jù)塊的播放。在每個塊 中的數(shù)據(jù)可以指向這個塊中的偏移量,但絕不能指向另外一個塊的偏移量。這樣,在 用工具處理s w f 文件的時候就任意可以刪除、插入和修改( 而s w f 文件不會被破壞) 。 標(biāo)簽是s w f 文件的主要內(nèi)容。每個標(biāo)簽是由標(biāo)簽類和標(biāo)簽長度兩個字段組成的。 標(biāo)簽類型決定了這個標(biāo)簽本身是短型( 3 2 式( 4 - 4 ) 因為路徑中的每個點都會參與坐標(biāo)轉(zhuǎn)換,所以定點化后的矩陣乘法運算效率很 高。尤其是在沒有浮點運算單元支持的嵌入式系統(tǒng),定點化工作就顯得更為必要。 4 2 幀間復(fù)用 北京郵電大學(xué)碩士研究生論文 由于f l a s h 動畫的幀間動作的連續(xù)性,在上一幀的基礎(chǔ)上只需要更新幀緩存中部 分區(qū)域,就可以得到新的一幀圖像,也可以達(dá)到減少渲染的目的。由于s w f 解碼過 程主要消耗時間的工作是由矢量圖形渲染一幀畫面的計算,尤其是在嵌入式平臺上的 s w f 文件解碼器,減少了圖形的渲染也就大大地減少了硬件資源的消耗,同時可以 提高s w f 文件播放的實時性。 從前面章節(jié)說明的矢量圖形渲染的過程了解到,需要渲染的形狀都定義有一個能 完全包圍該圖形對象的矩形,且該矩形的長寬是符合條件的矩形的最小值。當(dāng)描述該 圖形形狀的標(biāo)簽被加入顯示列表中時,矩形乘以p l a c e o b j e c t 標(biāo)簽所帶的m 矩陣以后 就得到該形狀在s w f 文件指定大小的顯示屏幕上的顯示位置。于是就可以知道一幀 中所有圖形對象的顯示范圍。這個矩形的顯示范圍會做為幀間復(fù)用的最要操作對象。 前后兩幀有變動的形狀由p l a c e o b j e c t 2 和r e m o v e o b j e c t 2 來控制。當(dāng)執(zhí)行每幀的 這兩類標(biāo)簽時,都要將該層的顯示區(qū)域與影片定義的區(qū)域相交的矩形區(qū)域加入 mo l di n v a l i d a t e dy a n g e s 的記錄中,如果該層在前一幀也出現(xiàn)過,則該層舊的區(qū)域也 要被記錄下來。然后將該幀所有矩形組合計算出該層的c l i p b o u n d s 記錄在顯示列表 中,形成盡可能大的互不交疊的矩形區(qū)域。當(dāng)顯示列表中的元素按深度進行渲染之前, 要遍歷c l i p b o u n d s 記錄中的所有矩形,并重新渲染該層在相交矩形中的部分。通常幀 之間更新的部分都很小,于是通過這種幀間復(fù)用方案可以極大地提高解碼效率。 具體復(fù)用算法步驟如下: ( 1 ) 當(dāng)執(zhí)行當(dāng)前幀的p l a c e o b j e c tc o n t r a l t a g 時,則判斷該層形狀的顯示區(qū)域是否 與文件頭定義的s w f 影片區(qū)域相交。如果不相交就說明該形狀圖形不會被顯示出來, 則可以忽略該層對象,不對其解碼;否則,就將該矩形區(qū)域加入該對象的 mo l di n v a l i d a t e d _ r a n g e s 成員中; ( 2 ) 如果同一層中的形狀在前一幀出現(xiàn)過,當(dāng)前幀中的該形狀移動了位置,這時 就要將該對象的mo l di n v a l i d a t e dr a n g e s 成員修改成前后兩個相交矩形的集合一并 記錄在mo l di n v a l i d a t e dr a n g e s 中; ( 3 ) 在顯示列表的執(zhí)行過程中,將各層中的元素對象逐一d i s p l a y 之前,有一步 計算該層形狀的c l i p b o u n d s ,為了得到各層的c l i p b o u n d s 就需要知道該層對象的 mo l di n v a l i d a t e dr a n g e s 以及s w f 文件影片矩形區(qū)域,將其相交部分加入d i p b o u n d s 中; ( 4 ) 在圖形渲染部分就只會按照該層的c l i p b o u n d s 成員指定區(qū)域進行渲染,即可 達(dá)到幀間復(fù)用的效果。 該算法的關(guān)鍵這處就在于計算矩形區(qū)域的準(zhǔn)確性,并只分析計算出幀間變化的區(qū) 北京郵電大學(xué)碩士研究生論文 域即可。 4 3 位圖緩存 4 3 1 引入緩存 緩存技術(shù)是一種經(jīng)典的以空間換取時間的方法,已廣泛應(yīng)用于計算機領(lǐng)域,如代 理服務(wù)器、網(wǎng)頁瀏覽器等【3 3 3 4 1 。在嵌入式s w f 解碼器里引入緩存技術(shù),以緩解矢量 圖形渲染過于耗時的問題。 通常f l a s h 中的圖形元素會在連續(xù)的許多幀里被反復(fù)使用,這也是在f l a s h 解碼 過程中建立字典的原因。f l a s h 動畫中的圖形元素是一個個矢量圖形,存儲圖形的輪廓 以及填充樣式等信息,在顯示時再動態(tài)地用渲染引擎生成相應(yīng)的位圖。然而,每次渲 染字典中相同矢量形狀時,都會完成同樣的矢量圖形渲染流程,因此存在大量的重復(fù) 計算。在重復(fù)渲染的形狀中,很多是保持原位置或平移,只有少部分是進行縮放或旋 轉(zhuǎn)。對于僅產(chǎn)生平移的形狀放置,就沒有必要再渲染該圖形,只需要將之前保存的位 圖使用硬件( 簡單的2 d 處理) 來搬移這塊數(shù)據(jù)到指定位置即可。 為了證明引入位圖緩存的方案可行,對大量的s w f 文件進行了分析,以下是統(tǒng) 計結(jié)果【2 7 】: ( 1 ) 統(tǒng)計s w f 文件中控制標(biāo)簽的數(shù)量,發(fā)現(xiàn)其中移動對象標(biāo)簽占了近9 0 ,而 放置新對象標(biāo)簽只占不到1 0 。 ( 2 ) 分析動畫中的每一幀,發(fā)現(xiàn)當(dāng)一個圖形元素被放置到顯示區(qū)域后,幾乎肯定 會出現(xiàn)在此后連續(xù)的幾幀或幾十幀中,它或保持原位置,或被平移、縮放或旋轉(zhuǎn),由 此形成連續(xù)的動畫效果。甚至有些s w f 文件制作有要求重復(fù)播放、跳至、回放等復(fù) 雜播放動作的可能。 ( 3 ) 每一幀中出現(xiàn)的矢量圖形中,特別復(fù)雜的圖形( 主要指輪廓復(fù)雜) 占2 0 左右, 而渲染它們所花費的時間超過總耗時的7 0 。 通過上述分析,f l a s h 中的圖形元素通常會被反復(fù)使用,且是在前后連續(xù)的許多幀 中被反復(fù)使用。因此在解碼器中引入緩存技術(shù)是提高解碼效率的重要途徑。 4 3 2 緩存對象 該方案主要是針對高分辨率應(yīng)用,因此較大的圖形渲染占用大量時間,影響播放 速度。于是緩存的對象主要是在屏幕上生成的較大圖形形狀。具體原因有以下幾點: ( 1 ) 對于大尺寸的矢量圖形渲染,從曲線擬合的過程開始就會直接增強處理的數(shù) 3 l 北京郵電大學(xué)碩士研究生論文 據(jù)量。尤其在掃描渲染與混和疊加的過程中,還會頻繁操作內(nèi)存,就更加耗時。因此 最好減少這類形狀渲染的處理。 ( 2 ) 在屏幕上越大的形狀,產(chǎn)生縮放旋轉(zhuǎn)變化的就越小,最終保存該形狀的利用 率就越大。尤其某些f l a s h 文件,有放置背景圖片的習(xí)慣,這樣就更有利可圖了。 ( 3 ) 較大的形狀不會很多,并且大塊的內(nèi)存區(qū)域使用利于緩存區(qū)域的管理。 4 3 3 緩存設(shè)計 在字典中的每個元素增加了兩個數(shù)據(jù)成員,一個用來指示該形狀的緩存首地址, 即變量s h a p e b m p ,另一個用來表明該地址緩存數(shù)據(jù)的位圖信息,包括尺寸( 長、寬) , a r g b 像素格式,還有形狀的m 變換矩陣( 即由p l a c e o b j e c t 2 指定的矩陣) 的s c a l e 和r o t a t e 相關(guān)參數(shù)。 在第一次放置某個元素時,它的緩存起始地址肯定是n u l l 。判斷該形狀是否具 備保存的條件( 指定為形狀范圍大于某個閾值) ,然后在緩存空間找出形狀大小的區(qū) 域,得到首地址保存在該元素的s h a p e b m p 成員變量內(nèi),并將該地址設(shè)置為渲染引擎 的繪圖空間首地址。然后就可以渲染該形狀,不過當(dāng)坐標(biāo)變換的時候多了一次,即將 坐標(biāo)原點平移到該形狀的左上角。這樣可以讓該形狀占用最少的緩存空間,最后將位 圖形狀搬移到指定位置。再遇到需要渲染該元素時,就可以從s h a p e b m p 成員變量中 得到該形狀的緩存地址,根據(jù)該元素中保存的s c a l e 和r o t a t e 相關(guān)參數(shù)判斷是否可以 直接使用。圖4 1 描述了該緩存優(yōu)化的工作流程。 3 2 一 :、 北京郵電大學(xué)碩士研究生論文 4 3 4 緩存釋放 圖4 1 位圖緩存的工作流程 當(dāng)某形狀需要緩存,但剩余緩存空間不足以保存該形狀位圖時,就需要釋放一些 過期的緩存。淘汰策略以最小化損耗為原則,以最大限度地發(fā)揮緩存的作用。在文件 解析過程中可以確定每一個元素最后一次使用時的幀號,因此某些緩存元素在過期以 后會將它的緩存信息加入一個過期鏈表e x p i r y l i s t 。當(dāng)遇到緩存不足時,就會釋放 e x p i r y l i s t 指定的緩存,以獲得較大的空閑區(qū)域。如果e x p i r y l i s t 已經(jīng)沒有可釋放的資 源,但還是不夠保存某形狀,這時就只能直接渲染形狀。 4 4 本章小結(jié) 矢量圖形渲染占用系統(tǒng)資源較多,由于嵌入式環(huán)境的c p u 主頻和內(nèi)存都是有限 的,因此該平臺上實現(xiàn)s w f 解碼器的技術(shù)難點是圖形解碼和渲染過程中的運算量大, 內(nèi)存消耗大,所以解決問題的方向就是盡量降低硬件消耗。如程序設(shè)計時要絕對避免 3 3 北京郵電大學(xué)碩士研究生論文 浮點運算,盡量采用移位運算來代替數(shù)學(xué)運算等方法來減少運算量。但有時采取這些 方法還不夠,還要根據(jù)應(yīng)用軟件的特點,巧妙地設(shè)計數(shù)據(jù)結(jié)構(gòu)來提高性能。該技術(shù)方 案利用s w f 技術(shù)的特點,充分發(fā)揮平臺資源的可用性,基本滿足了高分辨率要求下 的解碼器實現(xiàn)。 本章

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論