999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式應用的 SWF文件文本信息的提取研究*

2010-11-04 02:44:32李麗華毛淑華魏樹權(quán)
長沙大學學報 2010年2期
關(guān)鍵詞:嵌入式動畫文本

李麗華,毛淑華,魏樹權(quán)

(東華理工大學信息與電子工程學院,江西撫州 344000)

基于嵌入式應用的 SWF文件文本信息的提取研究*

李麗華,毛淑華,魏樹權(quán)

(東華理工大學信息與電子工程學院,江西撫州 344000)

在嵌入式多媒體技術(shù)中,如何實現(xiàn)從 SWF文件中獲取有用的媒體信息十分重要.我們以 ARM9+uCLinux為研究平臺,在分析 Flash動畫的技術(shù)特征、解析 SWF文件的構(gòu)成格式的基礎上,提出了一種能夠在嵌入式平臺上解析 SWF標簽,實現(xiàn)文本信息提取的算法.

嵌入式系統(tǒng);SWF文本提取;動畫;靜態(tài)文本

Flash是Web上重要的多媒體動畫技術(shù),是一種交互式矢量多媒體技術(shù).Flash的前身 Future Splash是早期互聯(lián)網(wǎng)上流行的矢量動畫插件.自Macromedia公司收購了 Future splash以后便將其改名為 Flash2,一直到現(xiàn)在的 Flash MX.目前,互聯(lián)網(wǎng)上已經(jīng)有成千上萬的 Flash站點,世界上很多大企業(yè)都不約而同地采用 Flash技術(shù)作為其用戶界面的核心,如著名的微軟MSN新聞站、迪士尼官網(wǎng)等就采用了大量的 Flash動畫.Macromedia還有專門的Shockwave站點,全部采用了 Shockwave Flash和 Director.

近年來,消費類電子產(chǎn)品成為世界電子產(chǎn)業(yè)的發(fā)展潮流,而嵌入式多媒體平臺在消費類電子產(chǎn)品中起到核心的作用,獲得了巨大的發(fā)展空間,如可視電話、PDA、電子詞典、機頂盒、數(shù)字相機、多媒體手機、導航儀器等[1].在這些潮流應用中,產(chǎn)品是否能夠支持豐富多彩的音視頻、動漫播放以及動漫游戲成為產(chǎn)品的核心發(fā)展方向[2].

對于 Flash動漫技術(shù)在嵌入式多媒體平臺中的應用來說,怎樣實現(xiàn)從 SWF文件中獲取自己需要的媒體信息十分重要.本文以提取 SWF文件中的文本信息為例,介紹其實現(xiàn)原理并進行算法設計,在嵌入式平臺中得以正確實現(xiàn).

1 flash動畫介紹

Flash動畫技術(shù)具有以下重要特點:

(1)它是基于矢量的圖形系統(tǒng),各元素都是矢量的,只需使用少量的向量數(shù)據(jù)就可以很好地描述一個復雜對象,而其占用的存儲空間比位圖要小很多,同時,矢量圖像可以做到真正的無級放大,無論用戶界面使用多大的窗口,圖像始終可以完全顯示,并且不會明顯降低畫面質(zhì)量.

(2)Flash所生成的 SWF文件的播放可以很容易地跨平臺播放,而不必像 Java那樣需要啟動虛擬機支持播放.另外,Flash生成的動畫一般都很小,所以,調(diào)用的時候速度很快.

(3)它還提供其他的一些增強功能,支持位圖、聲音、漸變色、Alpha、透明等.

(4)Flash動畫其實是一種“準”流 (stream)形式文件.用戶觀看一個大動畫的時候,可以不必等到影片全部傳送到本地端再觀看,而是隨時可以觀看,實現(xiàn)即達即播.

(5)使用 Flash能夠很容易地生成 AV I或者GIF動畫文件.

以上這些重要特征使得 Flash動畫非常適合在網(wǎng)絡上和數(shù)字媒體中使用.

2 SWF文件格式分析

Flash在網(wǎng)絡上最終體現(xiàn)為 SWF格式的動畫文件.如果需要從 SWF文件中提取媒體信息,也需要了解 SWF格式的詳細信息,先對 SWF文件進行解析.

SWF文件格式由文件頭和許多個標簽組成,最后以一個特殊的結(jié)束標簽來結(jié)束文件,其基本結(jié)構(gòu)見下圖 (如圖 1所示):

圖1 SWF文件的基本結(jié)構(gòu)

SWF動畫文件中的標簽由兩部分組成:標簽頭和標簽內(nèi)容[3,4].根據(jù)標簽內(nèi)容的長度不同,標簽頭又分兩種:短型標簽頭和長型標簽頭[5].當標簽的內(nèi)容長度不超過 62個字節(jié)時,標簽采用短型標簽頭;大于等于 63個字節(jié)時采用長型標簽頭.短型標簽頭占 2個字節(jié),長型標簽頭占 6個字節(jié),因此,計算標簽結(jié)束的位置時需要加上標簽頭的字節(jié)數(shù).

SWF動畫文件的文件頭部是由一個三字節(jié)的標識符開始 ,為 0x46、0x57、0x53(“FWS”)或者0x43、0x57、0x53(“CWS”).“FWS”標識符說明該文件是未壓縮的 SWF文件,“CWS”標識符則說明該文件前 8個字節(jié)之后 (即文件長度字段之后)的全部數(shù)據(jù)為開源的標準 ZL I B方式壓縮.標識符之后是版本號,版本號占用一個字節(jié)的空間,采用數(shù)字的形式描述,例如,對應于 Flash 8采用的是 0x08標識.接下來是文件長度字段,對應于未壓縮的 SWF文件,其長度字段應該是和文件大小恰好匹配.對應于 Flash來說,在創(chuàng)建 flash文件時,如果只是單純的設置場景的背景色及場景的長度與寬度,則所生成的 SWF文件默認采用 FWS形式存儲,生成的文件大小為 36字節(jié),對應的文件長度字段的值為0x24、0x00、0x00、0x00.接下來是 RECT字段 ,該字段采用 SWF文件格式規(guī)范中定義的“位值”(bit_value)進行存儲,這種存儲特征是可以節(jié)約字節(jié)數(shù)的,但數(shù)值是跨字節(jié)的.該段存儲內(nèi)容是使用“twip”(1 pixel=20twips)為單位,表示播放窗口的尺寸.分為N bits,表示后面字段的 bit_value位長;Xmin,Xmax,Ymin,Ymax分別表示 X、Y軸方向上的最小和最大值.

以 68 00 1F 40 00 07 D0 00 00為例進行分析:以上十六進制代碼轉(zhuǎn)化為 2進制為:01101000 00000000 00011111 01000000 00000000 00000111 11010000 00000000 00000000(這里使用下劃線僅表示分段).Xmin=0,Xmax=4000,Ymin=0,Ymax=4000,由此可以算出舞臺的寬度為 (4000-0)/20=200象素,高度為 (4000-0)/20=200象素.

在獲取 SWF文件的相關(guān)信息時,首先提取 SWF的文件頭信息:文件頭、壓縮標識、文件版本、文件長度、舞臺大小、幀數(shù)、幀率等,獲取動畫的總體特征;然后依次提取文件主體包含的所有標簽,直到標識文件結(jié)束的 END標簽.

依據(jù)以上對 SWF動畫文件格式的分析,對 SWF文件的解析應按照如下方式進行:

(1)讀取前 3個字節(jié),通過 ASCII碼翻譯成字母,以判斷 SWF文件是否采用壓縮格式存儲,接下來取第 4個字節(jié)的值,獲得 SWF文件格式的版本,在這里記錄下 SWF文件是否壓縮和其版本,獲取文件的長度信息等,為后面進行的標簽解析做好準備;

(2)繼續(xù)讀取信息直到 SWF文件頭結(jié)束,在讀取信息的過程中要根據(jù)前面獲取的壓縮標記來決定是否對信息進行解壓,最終將獲取到所有的標簽信息.

3 文本信息提取算法

Flash中的文本除了字體、字號等基礎屬性外,還包括一些效果如旋轉(zhuǎn)、縮放等動畫效果.在 SWF文件中,用定義標簽來定義文本的基礎屬性,用控制標簽來定義動畫效果.Flash動畫的文本對象是矢量格式的,可以根據(jù) SWF文件的結(jié)構(gòu)特征,利用內(nèi)容分析的方法,通過數(shù)學計算從定義型標簽中提取出文字,并通過從控制型標簽中提取動態(tài)效果.在這里主要的工作是提取 SWF文件中的文本信息,所以對應于控制標簽的效果可以不用考慮,直接可以跳過對應的控制標簽.

Flash中的文本分為三種類型:靜態(tài)文本、動態(tài)文本、輸入文本.輸入文本可以看成動態(tài)文本的一種特殊形式.靜態(tài)文本使用 DefineText標簽、動態(tài)文本使用 DefineEditText標簽.而 SWF中支持兩種文本:定義文本和設備文本.其中定義文本使用 DefineFont、DefineFont2或 DefineFont3標簽.設備文本同時使用 DefineFont和 DefineFontInfo標簽,或者DefineFont2標簽.

根據(jù)以上分析,針對 Flash動畫文件進行文本信息的提取,應當考慮如下兩個方面的問題:

(1)靜態(tài)文本:Flash中的靜態(tài)文本描述了文本的字體、大小、顏色等文本的相關(guān)信息.一般情況下,靜態(tài)文本涉及到DefineText和 TextRecords標簽.

(2)動態(tài)文本和輸入文本:定義動態(tài)文本對象和輸入文本對象使用 DefineEditText標簽,這個標簽中定義了動態(tài)文本的邊界、是否設定了動態(tài)文本的初值和文本周圍是否限制邊框等信息,定義動態(tài)文本中的字體類型,采用的是 DefineFont2標簽.

依據(jù) SWF文件“首部 ->標簽 ->…->標簽->結(jié)束標簽”的結(jié)構(gòu),確定文本信息的提取算法應當分為以下幾個步驟進行:

(1)SWF文件頭解析,根據(jù)文件頭信息獲取文件的版本信息和壓縮信息;

(2)遍歷整個 SWF文件,正確解析每個標簽的頭部信息,針對文本類標簽完整地解析整個標簽;

(3)根據(jù)獲取到的文本標簽的信息,提取文本;

(4)正確地結(jié)束解析過程.

其算法流程如圖所示:

圖2 文本信息提取算法流程圖

SWF文件文本信息提取算法的解析如下:

(1)取得標簽首部字段,判斷是否合法的標簽;如果合法,則獲取其標簽首部信息,即獲得標簽的類型值和標簽長度,接下來執(zhí)行 (2);如果不合法則報錯,執(zhí)行 (5);如果為 End標簽,執(zhí)行 (5);

(2)根據(jù)標簽類別選擇相應的處理方式,如果不是文本信息存儲所涉及到的標簽,則可以直接根據(jù)獲取到的標簽長度直接跳過;如果獲取到的是DefineFont、DefineFont2、DefineFont3這一類標簽 ,則需要詳細解析,以獲取到相應的文本信息;

(3)如果獲取到了文本信息,則進行保存;

(4)將讀取指針指向下一個標簽,執(zhí)行 (1);

(5)結(jié)束.

根據(jù)嵌入式多媒體平臺軟件的開發(fā)特點,結(jié)合SWF動畫文件的特征,在 ARM9+uCLinux平臺上,使用 C語言進行編碼,實現(xiàn)了以上算法,因此正確地實現(xiàn)了對 SWF動畫中的文本信息提取.

4 總結(jié)

本文提出了一種適合在嵌入式多媒體平臺上提取 SWF文件中文本信息的方法,同時為嵌入式平臺處理 SWF動畫中的其他信息指明了技術(shù)方向.可以說,通過對 SWF文件中各項信息的提取,為實現(xiàn)基于 Flash動畫內(nèi)容的索引、基于內(nèi)容的 Flash動畫檢索帶來了新的發(fā)展途徑.

[1]田華健,等.一種嵌入式 SWF解碼器的設計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2009,19(5):198-201.

[2]沈靜,等.移動 Flash播放器的設計與實現(xiàn) [J].計算機系統(tǒng)應用,2009,23(2):83-86.

[3]劉菲,等.Flash動畫的內(nèi)容特征分析與圖像信息提取研究[J].現(xiàn)代教育技術(shù),2009,19(12):91-94.

[4]SWF File For mat Specification(Version 10)[EB/OL].http://www.adobe.com/devnet/swf/?promoid=DJHD H,2009-05-15.

[5]劉磊.Flash動畫的內(nèi)容分析與特征提取研究 [D].濟南:山東師范大學,2008.

TP391

A

1008-4681(2010)02-0065-03

2010-03-22

東華理工大學校長基金 (批準號:DHXK0916)資助項目.

李麗華 (1982-),女,河北臨西人,東華理工大學信息與電子工程學院助教,碩士生.研究方向:計算機圖形學與計算機網(wǎng)絡技術(shù).

(責任編校:簡子)

猜你喜歡
嵌入式動畫文本
做個動畫給你看
動畫發(fā)展史
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 中文字幕久久波多野结衣| 毛片a级毛片免费观看免下载| 国产69囗曝护士吞精在线视频| 色播五月婷婷| 欧洲免费精品视频在线| 97久久人人超碰国产精品| 99精品热视频这里只有精品7| 国产一区免费在线观看| 国产成人免费观看在线视频| 人人91人人澡人人妻人人爽| 美女潮喷出白浆在线观看视频| 国产综合精品一区二区| 色久综合在线| 特级精品毛片免费观看| 波多野结衣一区二区三区88| 欧美国产精品不卡在线观看| 久久一日本道色综合久久| 97精品久久久大香线焦| 亚洲日本在线免费观看| 国产精品三级专区| 在线国产资源| 国产不卡一级毛片视频| 3D动漫精品啪啪一区二区下载| 国产大片喷水在线在线视频| 好吊妞欧美视频免费| 噜噜噜久久| 国产一级毛片高清完整视频版| 亚洲成年人网| 天堂成人av| 91在线精品麻豆欧美在线| 国产激情影院| 日韩精品成人网页视频在线| 久久亚洲国产最新网站| 91亚瑟视频| 日韩欧美国产另类| 亚洲不卡影院| 色婷婷亚洲十月十月色天| 国产激情在线视频| 免费精品一区二区h| 精品成人免费自拍视频| 成人精品区| 国产精品3p视频| 成人在线欧美| 国产综合精品一区二区| 国产黑人在线| 国产精品女主播| 亚洲国产精品无码AV| 91丝袜乱伦| 国产三级视频网站| 亚洲成人黄色在线| 欧美日韩中文国产va另类| 欧美自慰一级看片免费| 国产一级α片| 色婷婷综合激情视频免费看| 草草影院国产第一页| 国产无码在线调教| 国产一区二区三区在线观看免费| 456亚洲人成高清在线| av一区二区人妻无码| 日本道中文字幕久久一区| 亚洲欧美一区二区三区图片| 亚洲国产成人精品一二区 | 国产精品免费入口视频| 国内精品小视频在线| 国产一区二区三区日韩精品| 国产女人爽到高潮的免费视频 | 国产专区综合另类日韩一区| 亚洲第一成年免费网站| 永久天堂网Av| 成人国产精品视频频| 91久久国产综合精品| 青青青国产精品国产精品美女| 五月激情综合网| h视频在线播放| 97在线公开视频| 伊人久久大线影院首页| 欧美高清三区| 日韩天堂视频| 日韩精品无码免费专网站| 99视频在线观看免费| 久久国产精品77777| 国产噜噜在线视频观看|