《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于TMS320DM642的AVS實時解碼軟件優化
基于TMS320DM642的AVS實時解碼軟件優化
摘要: 本文把AVS解碼軟件移植到TMS320DM642平臺上,并進行了優化。編碼數據通過網絡傳輸給DM642,完成視頻解碼后輸出到顯示器。目前,對于標清視頻(720×576),解碼速度達到了30fps,完全滿足實時需求。
Abstract:
Key words :

  AVS是中國自主制定的第二代音視頻編碼標準。從編碼效率上看,AVS與H.264/AVC相當,比MPEG-2高兩倍;從編碼的復雜度上看,AVS的編碼復雜度相當于H.264的70%,解碼復雜度相當于H.264的30%。同時,AVS不需要交納高額的專利費用,具有很廣闊的市場前景,如:數字音視頻存儲、IPTV和視頻監控等。

  TMS320DM642是TI公司推出的一款面向多媒體信號處理的DSP,采用了C64x核。它具有極強的處理能力、高度的靈活性和可編程性,同時又集成了音視頻和網絡通信等外設,特別適用于多媒體通信應用。DM642可應用于基于IP的音視頻傳輸、數字視頻記錄、機器視覺、醫學成像、安全監視和數字相機等領域。

  本文把AVS解碼軟件移植到DM642平臺上,并進行了優化,對于標清視頻,解碼速度達到30fps,完全滿足實時播放的要求。

  AVS標準

  AVS的解碼過程如圖1所示。

<a class=AVS解碼器" border="0" height="146" hspace="0" src="http://files.chinaaet.com/images/20100812/1108e0f1-19a6-476b-ba9a-2fbd144daf73.jpg" width="500" />

圖1 AVS解碼器

  AVS視頻編解碼標準中的核心技術包括:幀內預測、1/4精度像素插值、特殊的幀間預測運動補償、8×8整數變換、量化、二維熵編碼和去塊效應環內濾波等。

  AV

 

S亮度和色度幀內預測都是以8×8塊為單位的。亮度塊采用5種預測模式,色度塊采用4種預測模式。在編碼效率基本相同的情況下,AVS采用了更少的預測模式,使算法的復雜度大大降低。

 

  對于幀間的運動補償,AVS采用了4種塊:16×16,16×8,8×16及8×8,可以更好地刻畫物體運動,提高運動搜索的準確性,同時降低了運動矢量和塊模式傳輸的開銷,從而提高壓縮效率,降低了編解碼實現的復雜度。AVS與H.264、MPEG-4一樣,采用了1/4像素插值,但與H.264的6抽頭1/2像素插值和雙線性1/4像素插值不同,AVS采用了兩種4抽頭濾波器對1/2和1/4像素進行插值,在不降低性能的情況下減少了插值所需要的參考像素點,減小了數據存取帶寬需求。

  8×8的整數變換可以在16位處理器上無失真的實現,克服了早期的8×8變換不能無失真的缺點,同時又比H.264中4×4的整數變換有更好的去相關性。

  在AVS熵編碼過程中,所有的語法元素和殘差數據都是以指數哥倫布碼的形式映射成二進制比特流。采用指數哥倫布碼的優勢在于:一方面,它的硬件復雜度比較低,可以根據閉合公式解析碼字;另一方面,它可以根據編碼元素的概率分布,靈活地確定以k階指數進行哥倫布碼編碼,如果k選得恰當,則編碼效率可以逼近信息熵。利用解碼后的數據,通過查表得到殘差數據。

  AVS采用了兩個級別的環路濾波,只對邊界的兩個像素進行濾波。與H.264的4個級別和邊界3個像素的環路濾波相比,復雜度大為降低。

  TMS320 DM642平臺

  TMS320DM642/C64x系列芯片基于超長指令字結構VelociTI.2,在8個功能單元里擴展了88條新的指令,以增強其在視頻/圖像應用中的性能,并提高了視頻處理的并行性。

  本文的實驗平臺采用SEED公司的VPM642板卡,其主要配置如下:600MHz的TMS320DM642 DSP芯片;DM642外部擴展4MB Flash, 32MB SDRAM,可用于大量視頻圖像數據和程序的存儲;4路視頻端口(PAL/NTSC制式或S端子);10/100M以太網接口;板上JTAG仿真接口,通過JTAG仿真器可以方便地進行視頻壓縮算法的仿真調試。

  AVS在DM642上的實時解碼

  針對DSP的特點,本文采用了大量行之有效的優化方法,使得解碼速度大大提升。除了使用C6000編譯器提供的編譯選項-pm、-o3、-no debug以外,其他優化措施主要包括以下幾個方面。

  程序結構的調整

  為了滿足DSP結構的需要,本文對AVS解碼軟件的程序結構進行了調整。

  PC上的程序是在解碼一幀后再進行環路濾波,需要兩次把數據從片外搬移到片內。本文對此進行了修改,在每個宏塊解碼完成以后就對該宏塊進行濾波。如圖2所示。

環路濾波示意圖

圖2 環路濾波示意圖

  在解碼一個宏塊完成以后,先對每個8×8亮度塊的垂直邊界BsV00、BsV01、BsV10、BsV11和色度塊BsV00(U)、BsV01(V)進行濾波,濾波的結果作為輸入,再對水平邊界進行濾波。

  使用內聯指令和數據打包

  C6000編譯器提供了許多內聯函數(instrinsics),如_add2、_avgu4、_dotpsu4等。內聯函數是直接與C6000匯編指令映射的在線函數。不易用C/C++語言實現功能的匯編指令都有對應的內聯函數。

  對C6000的存儲器進行訪問是很費時的。要提高C6000的數據處理效率,應使1條Load/Store指令能夠訪問多個數據。當程序需要對一連串的字符型、短型數據進行訪問時,可以使用數據打包,一次讀寫4個字符型、2個短型數據,并使用_dotpsu4、_add2等指令進行處理。

 

  本文在優化過程中廣泛采用了內聯指令和數據打包,對于水平位置1/2像素插值,使用內聯指令和數據打包的效果如表1所示。

  使用線性匯編

  經過C語言優化的解碼程序如果仍然達不到實時的要求,則需要繼續進行匯編優化。與標準的匯編語言相比,采用線性匯編語言進行編程不用考慮并行指令的安排、指令延遲和寄存器的使用,以上工作均由匯編優化器自動完成,而且,所產生的代碼效率可以達到手工匯編的95%~100%。

  由于IDCT在程序中使用頻繁,比較占用時間,且程序相對簡單。本文對此進行了線性匯編優化,優化前和優化后的時間比較見表2。

  QDMA的合理使用

  QDMA(快速存儲器直接訪問)是DMA和EDMA的進一步發展,其提交傳輸申請的速度比DMA和EDMA快很多。實際上,QDMA是C6000中搬移數據效率最高的手段之一。QDMA支持靈活的數據傳輸,它可以完成一維到一維的數據傳輸,也可以完成二維到一維或一維到二維的數據傳輸。

  對于數據量較大的傳輸,要盡量采用

 

QDMA。本文對QDMA進行了實驗,在將兩場數據合并為一幀數據時,分別采用memcpy和QDMA,其時間統計見表3。

 

  Cache的合理分配

  TMS320DM642提供了256KB的片上RAM,它既可以當作普通RAM使用,也可以配置為Cache。DM642的Cache設置可以是32KB、64KB、128KB、256KB不等。設置的Cache越大,命中率越高,但留給程序使用的片內RAM也就越少。為了可以把使用頻率較高的數據和代碼放置在片內,本文采用了128KB的Cache和128KB片內RAM的配置方案。

  采用了以上的優化策略,AVS標清視頻在DM642上的解碼速度達到30fps,完全滿足了IPTV(25fps)實時播放的要求。

  結語

  AVS解碼在DSP上的實時實現具有重要的意義,它可以應用到IPTV、數字視頻監控等領域,具有很好的市場應用前景。

  參考文獻

  1. 李方慧等. TMS320C6000系列DSPs原理與應用(第2版). 電子工業出版社,2005年6月

  2. 中華人民共和國國家標準信息技術 先進音視頻編碼 第2部分:視頻 2006年2月

  3. 楊陽,基于OMAP平臺的AVS解碼實現. 電子設計應用,2006.No.4

  4. 畢厚杰. 新一代視頻壓縮編碼標準—H.264/AVC. 人民郵電出版社,2005(M)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产电影| 在线中文字幕一区| 日韩特黄影片| 在线观看视频欧美| 欧美日韩1区2区3区| 猛男gaygay欧美视频| 久久久久久久久久久久久久一区 | 国产欧美日韩在线播放| 国产精品欧美经典| 国产精品美女主播在线观看纯欲| 欧美天天影院| 国产精品久久久久国产a级| 欧美特黄一级| 国产精品久久久久久福利一牛影视| 欧美日韩在线播| 欧美色图麻豆| 国产精品日韩欧美一区二区| 国产精品欧美日韩一区| 国产精品麻豆成人av电影艾秋| 欧美体内she精视频在线观看| 欧美系列电影免费观看| 欧美性片在线观看| 国产精品影片在线观看| 国产日韩专区| 一区二区三区在线免费播放| 亚洲国产91| 亚洲免费久久| 亚洲欧美国产三级| 午夜视频精品| 亚洲国产精品久久| 日韩亚洲精品视频| 亚洲一区日韩在线| 欧美一级视频| 久久综合九色综合久99| 欧美国产日本韩| 欧美性一二三区| 国产视频精品xxxx| 亚洲国产成人av| 99re8这里有精品热视频免费 | 91久久久久久久久久久久久| 日韩一级精品视频在线观看| 中文在线资源观看网站视频免费不卡 | 亚洲免费观看高清完整版在线观看熊 | 欧美日韩精品二区| 欧美连裤袜在线视频| 国产精品jvid在线观看蜜臀 | 亚洲欧洲在线一区| 一区二区三区日韩精品视频| 午夜精品在线观看| 亚洲人成在线观看网站高清| 亚洲视屏一区| 久久久亚洲一区| 欧美精品成人在线| 国产精品自在线| 亚洲国产精品一区二区www| 中日韩视频在线观看| 久久激情五月婷婷| 亚洲视频一区二区| 老司机精品福利视频| 欧美色另类天堂2015| 激情国产一区| 99精品热视频| 久久精品国产精品亚洲精品| 亚洲色图自拍| 久久综合久久久| 国产精品v日韩精品v欧美精品网站| 国内精品视频在线播放| 日韩一区二区精品在线观看| 欧美一区在线视频| 在线一区二区三区做爰视频网站| 久久精品亚洲精品| 欧美午夜寂寞影院| 在线日本高清免费不卡| 亚洲在线观看视频| 日韩亚洲欧美成人| 久久久精品一区| 欧美四级在线观看| 激情综合激情| 亚洲一区二区三区在线视频| 亚洲精品一区二| 久久精品理论片| 欧美日韩在线三级| 亚洲第一区在线| 羞羞视频在线观看欧美| 一区二区三区日韩在线观看| 久久午夜羞羞影院免费观看| 国产精品久久久久久久久免费桃花| 在线观看一区二区精品视频| 午夜国产精品视频免费体验区| 夜夜嗨av一区二区三区中文字幕 | 玖玖玖免费嫩草在线影院一区| 中日韩视频在线观看| 欧美日韩在线播放三区四区| 亚洲精品一区中文| 久久精品国产99国产精品| 欧美日韩精品免费在线观看视频| 红桃视频一区| 午夜精品久久久久| 亚洲综合色婷婷| 欧美老女人xx| 亚洲国产日韩一级| 亚洲福利视频免费观看| 久久久国产91| 国产欧美一区二区在线观看| 国产精品99久久久久久白浆小说| 一本久道久久综合狠狠爱| 免费h精品视频在线播放| 国产亚洲精品一区二555| 亚洲在线中文字幕| 亚洲女人小视频在线观看| 欧美女同视频| 最新国产乱人伦偷精品免费网站| 亚洲高清视频的网址| 久久久www免费人成黑人精品| 国产欧美大片| 午夜精品视频一区| 欧美一区二区三区免费视频| 国产精品久在线观看| 国产精品99久久99久久久二8| 亚洲性感美女99在线| 欧美日韩一区二区三区四区在线观看| 亚洲日本成人网| 日韩视频精品在线| 欧美精品91| 99国产一区| 亚洲自拍三区| 国产精品五区| 欧美一区2区视频在线观看 | 亚洲免费在线视频| 国产精品国产三级国产aⅴ浪潮| 一区二区三区产品免费精品久久75 | 欧美一区日韩一区| 国产精品videosex极品| 一本色道久久综合狠狠躁篇的优点| 亚洲人成亚洲人成在线观看图片| 欧美激情 亚洲a∨综合| 亚洲精品久久久久久久久久久久| 日韩一级网站| 国产精品久久77777| 亚洲欧美欧美一区二区三区| 久久精品论坛| 亚洲福利专区| 亚洲午夜精品17c| 国产精品视频专区| 久久国产直播| 欧美国产视频在线观看| 99精品免费视频| 欧美影院在线| 影音先锋成人资源站| 亚洲免费观看高清在线观看 | 99热精品在线| 久久成人免费| 激情久久久久久久| 一级成人国产| 国产毛片精品视频| 亚洲欧洲日本国产| 欧美日韩综合久久| 亚洲男女自偷自拍| 久久综合色影院| 亚洲精品国产欧美| 午夜精品久久久久久久久久久久久| 国产亚洲精品7777| 日韩午夜在线视频| 国产九九视频一区二区三区| 亚洲国产成人一区| 欧美日韩国产三级| 香蕉成人久久| 欧美电影在线观看完整版| 一区二区三区欧美在线| 久久久久久久精| 日韩视频在线一区二区| 久久av一区| 亚洲精品一区二区三区不| 欧美有码在线视频| 国产日韩一区二区三区在线| 正在播放欧美一区| 久久久久久999| 韩国av一区二区三区在线观看 | 亚洲综合第一页| 在线精品亚洲一区二区| 亚洲欧美国产三级| 亚洲第一黄网| 久久成人免费| 日韩视频不卡中文| 老牛国产精品一区的观看方式| 亚洲天堂网在线观看| 欧美成人午夜| 性欧美xxxx视频在线观看| 欧美精品七区| 欧美一区二区在线看| 欧美日韩一区二区三区在线看| 久久国产精品99精品国产| 国产精品九九| 99re热这里只有精品免费视频| 国产一级揄自揄精品视频| 一区二区三区福利| 在线播放豆国产99亚洲| 欧美专区一区二区三区| 一区二区成人精品| 欧美成人在线影院|