專利名稱:用于無線網(wǎng)絡和無線手持式設備的動畫壓縮方法
技術領域:
本發(fā)明涉及一種動畫壓縮方法,尤其是涉及一種適用于無線網(wǎng)絡和PDA、手機、PDA手機等無線手持式設備的動畫壓縮方法。
另外如MPEG-4動畫壓縮方法,在許多方面都取得了突破,也考慮到了無線網(wǎng)絡通訊中的一些問題;它采用了基于對象(Object-Based)的編碼、基于模型(Model-based)的編碼等編碼技術,對象是指在一個場景中能夠訪問和操縱的實體,可以根據(jù)不同的紋理、運動、形狀、模型和高層語義來劃分對象,所以這是一種基于內容的數(shù)據(jù)壓縮方式,與以前的壓縮方法只是去掉幀內和幀間的冗余相比,MPEG-4則要求對圖像和視頻作更多的分析,甚至是理解。如將圖像分割為運動物體對象和靜止不動的背景對象平面,并對這兩個對象進行分別處理。背景對象采用壓縮比較高、損失比較大的辦法進行編碼,運動物體對象采用壓縮比較低、損失比較小的辦法,這樣就在壓縮效率和解碼圖像質量間得到較好的平衡;MPEG-4動畫壓縮方法主要包括對象的提取、對象的合成、對象的管理。但MPEG-4標準龐大,對象提取本身難度較大、過程處理復雜,由于現(xiàn)有無線手持式設備的CPU處理能力較低、內存空間較少、耗電量不能太高,以現(xiàn)有的無線手持式設備資源是難以滿足MPEG-4動畫壓縮方法的需求,所以MPEG-4動畫壓縮方法在無線手持式設備上并不實用。因此現(xiàn)有的無線網(wǎng)絡和PDA、手機、PDA手機等手持式設備上只能傳遞聲音、數(shù)字、靜止圖象等信息,無法傳遞諸如動畫等連續(xù)媒體信息。
本發(fā)明的目的可通過以下的技術措施來實現(xiàn)依次包括以下步驟1、以Flash文件為數(shù)據(jù)源,從中提取原始幀,并以彩色BMP圖象文件的格式保存這些原始幀;2、將步驟1中生成的彩色BMP圖象轉換成256灰度級的BMP圖象;3、根據(jù)幀中各個灰度級的象素點的比例差別,從已轉換成256灰度級的BMP圖象的原始幀中提取關鍵幀;4、對關鍵幀進行差分處理獲取差異圖象,并以指定的命名方式存為BMP差異圖象文件;5、將步驟4中所生成BMP差異圖象文件轉換成PNG圖象文件;該PNG文件名為l_f_x_y.PNG,其中PNG表示文件類型,f由1開始,表示這個文件是屬于第幾幀,x、y分別表示這個差異圖片在這一幀中的左上角的坐標;6、對PNG圖象文件序列進行了重新拼裝,生成一個大的PNG圖象文件及其相關的圖片數(shù)據(jù)列表;再將該大PNG圖象文件、數(shù)據(jù)列表及動畫播放器一并打包。
本發(fā)明中提取關鍵幀的步驟為首先要對所有灰度級圖象計算各個灰度級的像素點在該幀中所占有的比例;然后從第二幀開始將該幀的比例值與前一幀相應的比例值進行比較并得出該差異值,最后將該差異值與預先設定的限定值作比較,若大于等于限定值,則該幀為關鍵幀。
本發(fā)明中獲取差異圖象的步驟為根據(jù)兩幅圖象求出對應的差異矩陣,當?shù)谝环鶊D象中某個點與另一幅圖象中的對應點的差異大于指定的限定值時,則差異矩陣中相應的元素值為1;反之,元素值為0;然后圈定差異矩陣中那些只包含元素值為1的最大區(qū)域,并記錄這些區(qū)域的最大內接矩形的左上角坐標和右下角坐標;該內接矩形集合所圈定的圖象即為差異圖象。
本發(fā)明中PNG圖象文件序列重新拼裝的步驟為對生成的小矩形PNG圖片按矩形長邊的尺寸大小進行排序,先取出其中尺寸最大的矩形,將尺寸第二大的矩形按各種可能的情況與尺寸最大的矩形進行邊貼邊的組合,選取各種組合中面積最小的多邊形;再將尺寸第三大的矩形在上述面積最小的多邊形的基礎上進行邊貼邊的組合,選取各種組合中面積最小的多邊形;依次不斷地組合,最終形成一個包含了所有的小矩形PNG圖片且其外接矩形面積最小的多邊形,該多邊形所圈定的區(qū)域即為拼裝生成的大PNG圖象文件。
本發(fā)明具有以下的優(yōu)點(1)Flash文件小、表達動畫效果突出,通過對Flash文件的處理,容易獲得一個彩色動畫幀序列,以BMP文件的格式保存,并將彩色BMP文件轉換成256灰度級的BMP文件,灰度級圖象比彩色圖象數(shù)據(jù)量小,達到壓縮的效果,且灰度級圖象適合現(xiàn)有PDA、手機、PDA手機等手持式設備的黑白液晶顯示屏上顯示。(2)關鍵幀的提取是對原始幀進行了篩選與取舍,達到了再次壓縮的效果;在提取過程中綜合了關鍵幀時間間隔與像素差異對比等因素,提高了采集的效果與逼真度,這樣可根據(jù)用戶要求實現(xiàn)數(shù)據(jù)采集定制;同時通過設定幀的間隔時間、總采集幀數(shù)、播放窗口大小等參數(shù),也可方便地為不同用戶定制各種多媒體數(shù)據(jù)。(3)在得到了關鍵幀序列之后,在不降低顯示質量的同時,利用差分矩陣求取圖象序列中的差異子圖象,這樣在傳送前后兩幀圖象時只需傳送前一幀及后一幀與前一幀的差異圖象即可完整表達原來兩幀圖象的內容,又一次極大地壓縮了動畫的數(shù)據(jù)量,有效地減少了冗余數(shù)據(jù)傳輸?shù)娜哂鄶?shù)據(jù)量。(4)對PNG文件名格式作了規(guī)定,這樣在文件打包時就自動附加了每個文件所屬的幀號及顯示的相對位置等信息,使在動畫幀的播放序列與PNG文件名序列之間建立了對應關系,也就是說利用PNG文件名將播放的相對時間和相對位置信息引入到一個PNG文件包中,實現(xiàn)了動畫,從而既利用PNG的存儲圖象方面的優(yōu)勢,也使PNG文件格式能實現(xiàn)動畫效果。(5)對最終圖象采用了PNG的圖象文件格式保存,同時將各個小的PNG圖片組裝成一個大的PNG文件,并使其占用的矩形面積最小,實現(xiàn)了更進一步的壓縮。
從具體的實驗數(shù)據(jù)也能顯示本發(fā)明在無線手持式設備中的應用是相當有效的。通常用于動畫操作的初始Flash文件大小約100K字節(jié),需要另外的Flash動畫播放軟件,約360K字節(jié),才能在PC機上播放。經過本發(fā)明的處理后,可生成一個約25K字節(jié)的PNG文件,打包之后可生成約40K字節(jié)的Jar文件包,適合在現(xiàn)有無線網(wǎng)絡上傳輸;下載到手持式設備中,經解壓可生成約90K字節(jié)的文件,在不超過200K字節(jié)的內存空間內即可實現(xiàn)動畫播放,現(xiàn)有PDA、手機、PDA手機等無線手持式設備足以滿足它的需求,使PDA、手機、PDA手機能實現(xiàn)連續(xù)媒體信息的傳遞。
2、將步驟1中生成的彩色BMP圖象轉換成256灰度級的BMP圖象?;叶燃増D象比彩色圖象數(shù)據(jù)量小,并能在當前主流的黑白液晶顯示屏上表現(xiàn)出用戶可以接受的圖象效果。該步驟的最終結果是得到一些256灰度級的BMP圖象,達到了壓縮的效果。
3、根據(jù)幀中各個灰度級的象素點的比例差別,從已轉換成256灰度級的BMP圖象的原始幀中提取關鍵幀。由于受顯示設備資源限制及人眼的視覺時延影響,在手持式設備上顯示一個動畫并不需要播放第一步中所提取中的所有幀,有些相鄰幀之間由于差別不大,在資源有限的情況下可以將其忽略。衡量幀與幀之間差異大小的尺度是該幀中各個灰度級的點數(shù)在整個幀中所占有的比例。如果兩個幀中各個灰度級的象素點構成比例差別很大,則這兩幀的差別很大,當它們的差別超過某個限定值時,也就是當它們之間的差別有足夠大時,就認為它們是關鍵幀。另外原始幀中的第一幀與最后一幀具有不可替代的作用,它們是理所當然的關鍵幀。其它幀能否入選關鍵幀則通過計算來判定,首先要對第二步中的所有灰度級圖象計算各個灰度級的像素點在該幀中所占有的比例,然后從第二幀開始將該幀的比例值與前一幀相應的比例值進行比較并求出該差異值,最后將該差異值與預先設定的限定值作比較,若大于等于限定值,則該幀為關鍵幀,否則該幀不是關鍵幀。這樣就可以得出所有的關鍵幀。通過該步操作就對原有幀進行了篩選與取舍,客觀上也達到了壓縮效果。
4、對關鍵幀進行差分處理獲取差異圖象,并以指定的命名方式存為BMP差異圖象文件。動畫播放時連續(xù)的兩個前后幀之間差別很少有突變,即前后兩幀中有較大一部分圖象內容是相同的,重復的,變化的只是幀中的一小部分。采用計算差異圖象的方法使壓縮后文件中盡量減少上述重復的部分,這對增進壓縮效果有重要的意義。調用差分矩形模塊,首先根據(jù)兩幅圖象求出對應的差異矩陣,當?shù)谝环鶊D象中某個點與另一幅圖象中的對應點的差異大于指定的限定值時,則差異矩陣中相應的元素值為1;反之,元素值為0。之后圈定差異矩陣中那些只包含元素值為1的最大區(qū)域,并記錄這些區(qū)域的最大內接矩形的左上角坐標和右下角坐標,該內接矩形集合所圈定的圖象就是所說的差異圖象。這樣在傳送前后兩幀圖象時只需傳送前一幀及后一幀與前一幀的差異圖象即可完整表達原來兩幀圖象的內容,極大地壓縮了動畫的數(shù)據(jù)量。
5、將步驟4中所生成BMP差異圖象文件轉換成PNG圖象文件。轉換PNG文件可調用BMP2PNG圖象格式轉換模塊,同時對轉換成的PNG文件名格式作了特殊的規(guī)定,文件名規(guī)定為l_f_x_y.PNG,其中PNG表示文件類型,f由1開始,表示這個文件是屬于第幾幀,x、y分別表示這個圖片在這一幀中的左上角的坐標。這樣,在文件打包時就自動附加了每個文件所屬的幀號及顯示的相對位置等信息,在動畫幀的播放序列與PNG文件名序列之間建立了對應關系,也就是說利用PNG文件名將播放的相對時間和相對位置信息引入到一個PNG文件包中,實現(xiàn)了動畫,從而既利用PNG的存儲圖象方面的優(yōu)勢,也使PNG文件格式能實現(xiàn)動畫效果。
6、對PNG圖象文件序列進行了重新拼裝,生成一個大的PNG圖象文件及其相關的圖片數(shù)據(jù)列表;再將該大PNG圖象文件、數(shù)據(jù)列表及動畫播放器一并打包。調用圖片拼裝模塊,對步驟5中生成的小矩形圖片按矩形長邊的尺寸大小進行排序,取出其中尺寸最大的矩形(定名為矩形A),讓尺寸次小的矩形(定名為矩形B)按各種可能的情況與矩形A進行邊貼邊的組合,不同的組合將產生不同多邊形,計算并選擇該多邊形的外接矩形面積最小的組合方式并產生一個新的多邊形(定名為多邊形C);也就是說矩形A與矩形B進行邊貼邊組合,形成一個新的多邊形C,多邊形C的外接矩形在各種組合中面積最小。按尺寸遞減的順序對其余的矩形進行類似的操作,它們在多邊形C的基礎上不斷地組合生成新的多邊形,最終將形成一個多邊形(定名為多邊形P)。多邊形P包含了第5步中生成的所有小圖片,并且它的外接矩形面積最小。該外接矩形所圈定的區(qū)域就是最終生成的一個大的PNG文件,這樣實現(xiàn)了更進一步的壓縮,只需維護一個大圖片就可以完成各種操作了。在拼裝時還生成一個數(shù)據(jù)列表,它記錄了每一個小PNG圖片在大PNG圖片中的位置及其文件名;最后可將該數(shù)據(jù)列表、大PNG文件及動畫播放器一并打包傳送。本實施例在KJava平臺下,調用Jar包生成模塊,將該大PNG文件、數(shù)據(jù)列表、動畫解碼播放工具打包生成Jar文件,這樣動畫壓縮后打包生成的Jar文件放到指定網(wǎng)站供用戶下載播放。
在播放器播放時,先將壓縮的數(shù)據(jù)包解壓,并利用數(shù)據(jù)列表將PNG文件分割成一系列小的PNG文件圖片,其文件名也由數(shù)據(jù)列表指定。先根據(jù)PNG文件名找到動畫第一幀;之后利用文件名找到第二幀的文件,這些文件是第二幀與第一幀的差異圖象,所以將該差異圖象覆蓋到第一幀的指定坐標上,坐標值由PNG文件名給出,這樣就得到了實際動畫的第二幀。按同樣的方法就可以顯示動畫包中的所有關鍵幀,還原各個圖片的相對時間與相對位置信息,播放這些幀就產生了動畫效果。將上述Jar文件下載到如Motorola6288這些基于KJava平臺的手持式設備中,進行Jar解包,大圖片文件分解,然后利用附帶的播放工具即可播放該動畫。
權利要求
1.一種用于無線網(wǎng)絡和無線手持式設備的動畫壓縮方法,其特征在于依次包括以下步驟(1)以Flash文件為數(shù)據(jù)源,從中提取原始幀,并以彩色BMP圖象文件的格式保存這些原始幀;(2)將步驟1中生成的彩色BMP圖象轉換成256灰度級的BMP圖象;(3)根據(jù)幀中各個灰度級的象素點的比例差別,從已轉換成256灰度級的BMP圖象的原始幀中提取關鍵幀;(4)對關鍵幀進行差分處理獲取差異圖象,并以指定的命名方式存為BMP差異圖象文件;(5)將步驟4中所生成BMP差異圖象文件轉換成PNG圖象文件;該PNG文件名為l_f_x_y.PNG,其中PNG表示文件類型,f由1開始,表示這個文件是屬于第幾幀,x、y分別表示這個差異圖片在這一幀中的左上角的坐標;(6)對PNG圖象文件序列進行了重新拼裝,生成一個大的PNG圖象文件及其相關的圖片數(shù)據(jù)列表;再將該大PNG圖象文件、數(shù)據(jù)列表及動畫播放器一并打包。
2.根據(jù)權利要求1所述的用于無線網(wǎng)絡和無線手持式設備的動畫壓縮方法,其特征在于提取關鍵幀的步驟為首先要對所有灰度級圖象計算各個灰度級的像素點在該幀中所占有的比例;然后從第二幀開始將該幀的比例值與前一幀相應的比例值進行比較并得出該差異值,最后將該差異值與預先設定的限定值作比較,若大于等于限定值,則該幀為關鍵幀。
3.根據(jù)權利要求1所述的用于無線網(wǎng)絡和無線手持式設備的動畫壓縮方法,其特征在于獲取差異圖象的步驟為根據(jù)兩幅圖象求出對應的差異矩陣,當?shù)谝环鶊D象中某個點與另一幅圖象中的對應點的差異大于指定的限定值時,則差異矩陣中相應的元素值為1;反之,元素值為0;然后圈定差異矩陣中那些只包含元素值為1的最大區(qū)域,并記錄這些區(qū)域的最大內接矩形的左上角坐標和右下角坐標;該內接矩形集合所圈定的圖象即為差異圖象。
4.根據(jù)權利要求1所述的用于無線網(wǎng)絡和無線手持式設備的動畫壓縮方法,其特征在于PNG圖象文件序列重新拼裝的步驟為對生成的小矩形PNG圖片按矩形長邊的尺寸大小進行排序,先取出其中尺寸最大的矩形,將尺寸第二大的矩形按各種可能的情況與尺寸最大的矩形進行邊貼邊的組合,選取各種組合中面積最小的多邊形;再將尺寸第三大的矩形在上述面積最小的多邊形的基礎上進行邊貼邊的組合,選取各種組合中面積最小的多邊形;依次不斷地組合,最終形成一個包含了所有的小矩形PNG圖片且其外接矩形面積最小的多邊形,該多邊形所圈定的區(qū)域即為拼裝生成的大PNG圖象文件。
全文摘要
本發(fā)明公開了一種用于無線網(wǎng)絡和無線手持式設備的動畫壓縮方法,以Flash文件為數(shù)據(jù)源,從中獲取原始幀。在對原始幀進行色彩轉換的基礎上從中提取關鍵幀;之后對關鍵幀進行差分處理,將結果以PNG包格式保存,并將PNG文件及播放器一起打包。本發(fā)明使得其壓縮后的動畫圖象數(shù)據(jù)能在無線通訊網(wǎng)絡上傳輸,并能在無線手持式設備上顯示接收的動畫圖象,實現(xiàn)了在PDA、手機、PDA手機上連續(xù)媒體信息的傳遞。
文檔編號H04N7/26GK1361630SQ0211478
公開日2002年7月31日 申請日期2002年1月25日 優(yōu)先權日2002年1月25日
發(fā)明者萬享, 胡源, 嚴更真, 胡勝發(fā) 申請人:安凱(廣州)軟件技術有限公司