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

基于嵌入式應(yīng)用的 SWF文件文本信息的提取研究*

2010-11-04 02:44:32李麗華毛淑華魏樹(shù)權(quán)
關(guān)鍵詞:嵌入式動(dòng)畫(huà)文本

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

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

基于嵌入式應(yīng)用的 SWF文件文本信息的提取研究*

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

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

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

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

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

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

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

1 flash動(dòng)畫(huà)介紹

Flash動(dòng)畫(huà)技術(shù)具有以下重要特點(diǎn):

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

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

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

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

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

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

2 SWF文件格式分析

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

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

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

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

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

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

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

依據(jù)以上對(duì) SWF動(dòng)畫(huà)文件格式的分析,對(duì) SWF文件的解析應(yīng)按照如下方式進(jìn)行:

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

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

3 文本信息提取算法

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

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

根據(jù)以上分析,針對(duì) Flash動(dòng)畫(huà)文件進(jìn)行文本信息的提取,應(yīng)當(dāng)考慮如下兩個(gè)方面的問(wèn)題:

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

(2)動(dòng)態(tài)文本和輸入文本:定義動(dòng)態(tài)文本對(duì)象和輸入文本對(duì)象使用 DefineEditText標(biāo)簽,這個(gè)標(biāo)簽中定義了動(dòng)態(tài)文本的邊界、是否設(shè)定了動(dòng)態(tài)文本的初值和文本周?chē)欠裣拗七吙虻刃畔?定義動(dòng)態(tài)文本中的字體類(lèi)型,采用的是 DefineFont2標(biāo)簽.

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

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

(2)遍歷整個(gè) SWF文件,正確解析每個(gè)標(biāo)簽的頭部信息,針對(duì)文本類(lèi)標(biāo)簽完整地解析整個(gè)標(biāo)簽;

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

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

其算法流程如圖所示:

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

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

(1)取得標(biāo)簽首部字段,判斷是否合法的標(biāo)簽;如果合法,則獲取其標(biāo)簽首部信息,即獲得標(biāo)簽的類(lèi)型值和標(biāo)簽長(zhǎng)度,接下來(lái)執(zhí)行 (2);如果不合法則報(bào)錯(cuò),執(zhí)行 (5);如果為 End標(biāo)簽,執(zhí)行 (5);

(2)根據(jù)標(biāo)簽類(lèi)別選擇相應(yīng)的處理方式,如果不是文本信息存儲(chǔ)所涉及到的標(biāo)簽,則可以直接根據(jù)獲取到的標(biāo)簽長(zhǎng)度直接跳過(guò);如果獲取到的是DefineFont、DefineFont2、DefineFont3這一類(lèi)標(biāo)簽 ,則需要詳細(xì)解析,以獲取到相應(yīng)的文本信息;

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

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

(5)結(jié)束.

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

4 總結(jié)

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

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

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

[3]劉菲,等.Flash動(dòng)畫(huà)的內(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動(dòng)畫(huà)的內(nèi)容分析與特征提取研究 [D].濟(jì)南:山東師范大學(xué),2008.

TP391

A

1008-4681(2010)02-0065-03

2010-03-22

東華理工大學(xué)校長(zhǎng)基金 (批準(zhǔn)號(hào):DHXK0916)資助項(xiàng)目.

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

(責(zé)任編校:簡(jiǎn)子)

猜你喜歡
嵌入式動(dòng)畫(huà)文本
做個(gè)動(dòng)畫(huà)給你看
動(dòng)畫(huà)發(fā)展史
我的動(dòng)畫(huà)夢(mèng)
文苑(2019年22期)2019-12-07 05:28:56
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識(shí)別
電子制作(2018年18期)2018-11-14 01:48:06
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
我是動(dòng)畫(huà)迷
文本之中·文本之外·文本之上——童話(huà)故事《坐井觀天》的教學(xué)隱喻
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 二级特黄绝大片免费视频大片| 欧美日韩国产成人在线观看| 国产永久无码观看在线| 强奷白丝美女在线观看 | 五月天久久综合国产一区二区| 亚洲国产欧美自拍| 欧美亚洲国产精品第一页| 欧美日韩动态图| 四虎成人精品在永久免费| 91久久偷偷做嫩草影院| 欧美www在线观看| 成人国产精品网站在线看| 少妇露出福利视频| 97国内精品久久久久不卡| 欧美日韩国产在线播放| 亚洲一区二区精品无码久久久| 中文字幕第4页| 久久久久久高潮白浆| 成人伊人色一区二区三区| 成人自拍视频在线观看| 亚欧美国产综合| 91精品人妻一区二区| 欧美爱爱网| 中文字幕在线欧美| 97在线国产视频| 国产精品第一区| 综1合AV在线播放| 黄色在线不卡| 99精品影院| 国产一区二区三区视频| 中文天堂在线视频| 97一区二区在线播放| 国产主播喷水| 国产成人精品高清不卡在线| 一本大道香蕉久中文在线播放| 日韩欧美国产另类| 一级一级一片免费| 国产欧美另类| 亚洲三级影院| 国产无遮挡裸体免费视频| 无码'专区第一页| 污污网站在线观看| 高清不卡毛片| 波多野结衣亚洲一区| 国产欧美日韩va另类在线播放 | 国产福利在线免费| 夜夜操国产| 日韩精品免费一线在线观看| 日韩无码视频网站| 亚洲日韩国产精品综合在线观看| 蜜桃臀无码内射一区二区三区| 在线观看91香蕉国产免费| 亚洲第一视频网| 国产区精品高清在线观看| 午夜成人在线视频| 91精品国产91久无码网站| 欧美.成人.综合在线| 99精品伊人久久久大香线蕉| 在线观看免费黄色网址| 亚洲男人天堂2018| 国产精品播放| 亚洲成人网在线播放| 亚洲专区一区二区在线观看| 男女精品视频| 亚洲IV视频免费在线光看| 成人国产三级在线播放| 亚洲av中文无码乱人伦在线r| 久久性视频| 大陆精大陆国产国语精品1024| 九色91在线视频| 色噜噜在线观看| 日韩免费毛片视频| 精品国产中文一级毛片在线看| 亚洲欧美日韩中文字幕在线一区| 欧美日韩中文国产| 国产国拍精品视频免费看 | 久久综合结合久久狠狠狠97色| 在线国产91| a亚洲天堂| 欧美区一区二区三| 色婷婷亚洲十月十月色天| 国产午夜无码片在线观看网站|