《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于OMAP3的視頻解碼器的通用解碼方案
基于OMAP3的視頻解碼器的通用解碼方案
來源:單片機與嵌入式系統(tǒng)
王偉 劉培德
山東經(jīng)濟學(xué)院
摘要:   本文以O(shè)MAP3530為例,分析了0MAP平臺的硬件結(jié)構(gòu)與軟件編程特點;總結(jié)了TI公司提供的專用圖像圖形處理庫(IMGLIB)的使用技巧,并與OMAPl510進行了部分比較;在流行的視頻編解碼標(biāo)準(zhǔn)的基礎(chǔ)上,提出了基于OMAP3的視頻解碼器的通用解碼方案。
關(guān)鍵詞: IPTV|VoIP OS 驅(qū)動 ARM DSP GUI 軟件
Abstract:
Key words :

  本文以O(shè)MAP3530為例,分析了0MAP平臺的硬件結(jié)構(gòu)與軟件編程特點;總結(jié)了TI公司提供的專用圖像圖形處理庫(IMGLIB)的使用技巧,并與OMAPl510進行了部分比較;在流行的視頻編解碼標(biāo)準(zhǔn)的基礎(chǔ)上,提出了基于OMAP3的視頻解碼器的通用解碼方案。
  1 OMAP平臺簡介
  開放式多媒體應(yīng)用平臺OMAP結(jié)合高性能、低功耗的DSP核與控制性能強大的ARM內(nèi)核,是一種開放式的、可編程的體系結(jié)構(gòu),目前主要有OMAP1X、OMAP2X和OMAP3X系列。以O(shè)MAP3530為例,硬件結(jié)構(gòu)如圖1所示。
  

  1.1 OMAP3530的硬件平臺
  0MAP3530的硬件平臺主要由ARM內(nèi)核、DSP內(nèi)核以及流量控制器(Traffic Controler,TC)組成。
  (1)ARM內(nèi)核
  OMAP3530采用ARM Cortex-A8核,工作主頻最高可達720 MHz。它包括存儲器管理單元、16 KB的高速指令緩沖存儲器、16 KB的數(shù)據(jù)高速緩沖存儲器和256K字的二級Cache;片內(nèi)有64 KB的內(nèi)部SRAM,為液晶顯示等應(yīng)用提供了大量的數(shù)據(jù)和代碼存儲空間。CortexA8內(nèi)核采用13級流水線、32位的RISC處理器架構(gòu)。系統(tǒng)中的控制寄存器對MMU、Cache和讀寫緩存控制器進行存取操作。ARM內(nèi)核具有整個系統(tǒng)的控制權(quán),可以設(shè)置DSP、TC以及各種外設(shè)的時鐘及其他工作參數(shù),控制DSP的運行停止。OMAP3530平臺可支持包含繪圖、多媒體內(nèi)容和Java程序的先進應(yīng)用。
  (2)DSP內(nèi)核
  TMS320C64X+內(nèi)核具有最佳的功耗性能比,工作主頻最高為520 MHz;它具有高度的并行能力,32位讀寫和功能強大的EMIF,雙流水線的獨立操作以及雙MAC的運算能力。它采用3項關(guān)鍵的革新技術(shù):增大的空閑省電區(qū)域、變長指令和擴大的并行機制。其結(jié)構(gòu)針對多媒體應(yīng)用高度優(yōu)化,適合低功耗的實時語音圖像處理。另外,TMS320C64X+內(nèi)核增加了固化了算法的硬件加速器,來處理運動估計、8×8的DCT/IDCT和1/2像素插值,降低了視頻處理的功耗。
  (3)流量控制器
  流量控制器TC用于控制ARM、DSP、DMA以及本地總線對OMAP3530內(nèi)所有存儲器(包括SRAM,SDRAM、Flash和ROM等)的訪問。
  OMAP3530具有豐富的外圍接口,如液晶控制器、存儲器接口、攝像機接口、空中接口、藍牙接口、通用異步收發(fā)器、I2C主機接口、脈寬音頻發(fā)生器、串行接口、主客戶機USB口、安全數(shù)字多媒體卡控制器接口、鍵盤接口等。這些豐富的外圍接口使應(yīng)用OMAP的系統(tǒng)具有更大的靈活性和可擴展性。
  1.2 OMAP3530的軟件平臺
  利用OMAP可以建立兩個操作系統(tǒng):基于ARM的操作系統(tǒng)(如WinCE、Linux等),以及基于DSP的DSP/BIOS。連接兩個操作系統(tǒng)使用的核心技術(shù)是DSP/BIOS橋。0MAP支持多種實時多任務(wù)操作系統(tǒng)在ARM微處理器上工作,用來對ARM微處理器進行實時多任務(wù)調(diào)度管理,對TMS320C64X+進行控制和通信;同時,支持多種實時多任務(wù)操作系統(tǒng)在TMS320C64X+上工作,實現(xiàn)復(fù)雜的多媒體信號處理。DSP/BIOS橋包含DSP管理器、DSP管理服務(wù)器、DSP和外圍接口鏈接驅(qū)動器。DSP/BIOS橋提供運行在Cortex-A8上的應(yīng)用程序和運行TMS320C64X+上的算法之間的通信管理服務(wù)。開發(fā)者可以利用DSP/BIOS橋中的應(yīng)用編程接口控制在DSP中實時任務(wù)的執(zhí)行,并同DSP交換任務(wù)運行結(jié)果和狀態(tài)消息。在這個環(huán)境下,開發(fā)者可以調(diào)用局部DSP網(wǎng)關(guān)組件來實現(xiàn)諸如視頻、音頻和語音等功能。因此,開發(fā)者不需要了解DSP和DSP/BIOS橋,就能開發(fā)新的應(yīng)用軟件。使用標(biāo)準(zhǔn)應(yīng)用編程接口開發(fā)的應(yīng)用軟件,與基于0MAP的未來無線設(shè)備兼容。
  2 視頻編碼標(biāo)準(zhǔn)與OMAP圖形圖像庫應(yīng)用
  2.1 視頻編碼標(biāo)準(zhǔn)

  從1988年開始,ISO/IEC MPEG和ITU-T針對不同的應(yīng)用制訂了一系列視頻編碼國際標(biāo)準(zhǔn)。MPEG的有MPEG-1、MPEG-2、MPEG-4標(biāo)準(zhǔn),ITU-T的有H.261、H.263、H_263+/H.263++以及H.264標(biāo)準(zhǔn)。2001年12月,ISO和ITU-T正式成立聯(lián)合視頻小組(Joint Video Team,JVT)共同制定新的H.264編碼標(biāo)準(zhǔn)。2002年6月,我國信息產(chǎn)業(yè)部制訂了我國的數(shù)字音視頻編碼技術(shù)標(biāo)準(zhǔn)(Audio-Video Coding Standard,AVS)。AVS是我國具備自主知識產(chǎn)權(quán)的第二代信源編碼標(biāo)準(zhǔn)。與目前比較流行的標(biāo)準(zhǔn)(如MPEG-2、MPEG-4、H.263、H.264)相比,從編碼效率來看,MPEG-4是MPEG-2的1.4倍,AVS和H.264都是MPEG-2的2倍以上;從算法復(fù)雜度上來看,H.264的算法在編碼端比MPEG-2復(fù)雜4~5倍,在解碼端復(fù)雜2~3倍,而AVS在復(fù)雜度上比H.264有較大幅度降低,且不需要交納高昂的專利費用。
  目前,應(yīng)用比較廣泛的視頻編碼標(biāo)準(zhǔn)中,基本上都有如下的步驟:將圖像序列編碼為幀內(nèi)模式和幀問模式兩種,并且分別進行編碼。采用幀內(nèi)編碼時,直接對8×8的像素塊進行DCT變換,然后將量化系數(shù)進行變長編碼后形成輸出碼流;另一路經(jīng)反量化、反DCT變換后形成恢復(fù)圖像,直接存入幀存儲器。采用幀間編碼時,對原始數(shù)據(jù)的每個塊先進行運動估計,并與經(jīng)運動估計后的預(yù)測圖像相減,產(chǎn)生差分圖像,接著進行DCT變換和量化,并同運動矢量數(shù)據(jù)一起編碼形成碼流;另一路經(jīng)反量化、反DCT變換后形成恢復(fù)圖像,存入幀存儲器,用于下一步的運動估計。
  不同的標(biāo)準(zhǔn)具有各自的特點,例如MPEGl與H.261采用整像素,MPEG4和H.263采用半像素,H.264與AVS采用1/4至1/8像素精度的運動估計,H.261采用單參考幀,H.264與AVS采用多參考幀等。特別是目前的H.264標(biāo)準(zhǔn),采用整數(shù)DCT/IDCT、幀內(nèi)預(yù)測、多模式運動估計、去塊效應(yīng)濾波器等先進技術(shù),造成了極大的算法復(fù)雜度,對硬件實時解碼提供了很高的要求。
  2.2 OMAP圖形圖像庫(IMGLIB)應(yīng)用
  針對圖像與視頻處理的需要,TI提供了IMGLIB庫供C程序調(diào)用。庫里內(nèi)容主要有2部分:
  ①硬件加速部分。由匯編語言編寫,但是計算由硬件的加速模塊來實現(xiàn),無法修改。例如DCT/IDCT都是針對8×8塊進行的,變換矩陣已經(jīng)固定,硬件加速指令共有16種,其中DCT/IDCT各1條,運動估計指令10條,插值指令4條。
  ②軟件加速部分。用匯編語言編寫,包括矩陣量化反量化、JPEG變長編碼、一維/二維離散小波變換反變換及小波包變換反變換,以及圖像的直方圖計算、邊緣檢測、帶移位操作的3×3掩模操作等。這些軟件加速指令都提供了標(biāo)準(zhǔn)的C接口,用戶可以直接調(diào)用,也可以模仿編寫規(guī)則編譯生成自己的庫文件。
  在視頻編解碼過程中,運動估計、DCT/IDCT和像素插值占據(jù)了大量的運算時間,0MAP平臺提供的硬件加速單元可以高效地完成上述運算,而幾乎不占用CPU時鐘(這里,不占用是指運算過程,實際上數(shù)據(jù)的輸入輸出仍需要花費少量時間);同時,優(yōu)化的軟件加速單元也可以較快地完成運算。以DCT/IDCT為例,耗時情況如表1所列。
  
 
  由表1可知,硬件DCT耗時約為軟件DCT的1/7,硬件IDCT耗時約為軟件IDCT的1/4.5。因此,采用硬件加速模塊可以極大地提高運算速度并降低功耗。
  對于最新的H.264以及AVS標(biāo)準(zhǔn),需要采用OMAP3530才能發(fā)揮0MAP系列的硬件加速優(yōu)勢。OMAP3530的硬件加速器集成了加速模塊的半像素插值,采用的整數(shù)DCT/IDCT類變換硬件加速模塊,而且集成了去塊效應(yīng)濾波器。在通用計算機上,H.264的解碼過程中各部分所需的時間如表2所列。
  
 
  從表2中可以看出,在H.264的解碼過程中,環(huán)路濾波、插值以及反變換反量化占據(jù)了超過70%的計算時間。因此,用0MAP3530來進行H.264以及AVS的解碼時,如果能有效地利用0MAP3530的硬件加速資源,可以提高計算效率,實現(xiàn)實時解碼。另外,除了硬件加速器之外,0MAP3530的體系結(jié)構(gòu)比較適合于視頻處理,這主要基于以下考慮:
  ①目前市場上推出的整合了ARM與DSP的多媒體專用芯片并不多,OMAP可以使用單一芯片實現(xiàn)嵌入式操作系統(tǒng)(Linux、WinCE等)的功能,并且可以獲得TI廣大的第三方提供的豐富的算法支持。基于操作系統(tǒng)的編程更靈活方便,便于產(chǎn)品的軟件升級。相比之下,單一的DSP無法實現(xiàn)操作系統(tǒng)的功能,若額外采用ARM構(gòu)建操作系統(tǒng),成本以及硬件軟件復(fù)雜度無疑會大于采用OMAP平臺。
  ②功耗的考慮。表3列出了OMAPl510上運行MPEG4解碼時的功耗情況。
  
 
  可以看出,在OMAPl510平臺上,對于QCIF(常用的標(biāo)準(zhǔn)化圖像格式)、15 fps的應(yīng)用來說,功耗在9.9~28.5mW。對于常見的650 mAh時的手機電池,大概可以連續(xù)工作34~59小時,這對一般的應(yīng)用來說顯然是夠用的。而TI的另一款專用多媒體處理芯片DM642,其功耗為1.5W,是OMAP的50~150倍。對于便攜式的多媒體終端而言,由于并不需要太高的運算處理能力,采用OMAP平臺既能滿足需要,又可以節(jié)約電池電力。
  ③速度的考慮。TMS320C64X+最多可以并行執(zhí)行8條指令,所以理論上的最大速度是4 160 MIPS(520MHz)。這一點相比目前最快的多媒體處理芯片DM642(4 800 MIPS,600 MHz)來說稍低,但兩者的目標(biāo)定位不同。DM642主要用于實時編碼等對速度要求較高的場合,而0MAP主要用于手持設(shè)備的解碼。以H.264算法的Base Profilc為例,復(fù)雜度比MPEG-4高20%~30%。對于MPEG4,在QCIF、15 fps下需要28 MIPS;對應(yīng)的H.264算法的Base Profile要求40 MIPS的運算速度。
  ④程序結(jié)構(gòu)的考慮。DSP的片內(nèi)內(nèi)存速度最快,但是非常有限,所以必須將片外的數(shù)據(jù)倒入內(nèi)存。由于目前的編碼方式全都是采用基于宏塊的,每個宏塊至多16×16,所以比較通用的辦法是采用,DMA方式將要用到的數(shù)據(jù)提前倒入片內(nèi)。DMA傳送速度很快,所以可以并行也可以串行傳送。
  ⑤軟件加速的考慮。可以仿照IMGLIB的編寫規(guī)則用匯編語言對耗時最多的部分進行重寫,同時結(jié)合TI公司的數(shù)據(jù)手冊進行C語言級以及匯編級的程序優(yōu)化。由于TI公司編譯器的編譯效率一直在提高,從通用及可讀性的角度上講,推薦采用C語言。
  3 實時視頻解碼在OMAP上的軟件實現(xiàn)
  在OMAP上開發(fā)程序通常分為兩部分:ARM端負(fù)責(zé)控制、顯示等;DSP端負(fù)責(zé)數(shù)據(jù)處理。采用TI公司提供的DSP開發(fā)工具CCS在這兩端分別開發(fā),視頻解碼流程如圖2所示。
  
 
  ARM端:初始化整個OMAP3530芯片,包括ARM、DSP、TC等的時鐘設(shè)置,DSP的開啟關(guān)閉以及復(fù)位,LCD、定時器等各個外設(shè)的初始化。在啟動完成后,ARM內(nèi)核就一直查詢共享內(nèi)存中的某一標(biāo)志位,當(dāng)查詢到一幀解碼結(jié)束時,就啟動LCD專用DMA,在LCD上進行顯示。
  DSP端:負(fù)責(zé)壓縮的解碼。將壓縮碼流放置在SDRAM中。與基于PC的解碼程序的主要區(qū)別在于,由于DSP的片內(nèi)內(nèi)存有限,所以不可能將當(dāng)前幀以及參考幀都放在片內(nèi),所以以宏塊為單位在SDRAM與片內(nèi)內(nèi)存之間進行數(shù)據(jù)傳遞。另外,由于在液晶屏上顯示時需要轉(zhuǎn)換成RGB圖像,所以,在每一幀結(jié)束后都要通過YUV轉(zhuǎn)RGB來實現(xiàn)實時顯示。
  4 實驗結(jié)果
  在0MAP3530平臺上實現(xiàn)了AVS解碼,表4給出了OMAP3530上的實驗數(shù)據(jù)。
  
 
  結(jié)語
  TI公司提出的0MAP體系結(jié)構(gòu)開放性好,在這種體系結(jié)構(gòu)下編寫的程序移植方便,適合于多媒體平臺的應(yīng)用。越來越多的廠商選用OMAP芯片作為移動多媒體視頻的載體,OMAP與流行的視頻標(biāo)準(zhǔn)的結(jié)合在移動通信與多媒體信號處理方面也將有良好的應(yīng)用前景。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区精品久久911| 嫩草影视亚洲| 亚洲电影第1页| 亚洲欧美在线看| 亚洲无线一线二线三线区别av| 尤物99国产成人精品视频| 国产亚洲精品久| 国产女同一区二区| 国产精品久久影院| 国产精品久99| 欧美性事免费在线观看| 欧美日韩在线三级| 欧美日韩一区二区三区免费看| 欧美另类视频| 欧美乱大交xxxxx| 欧美激情va永久在线播放| 欧美成人亚洲成人日韩成人| 欧美成人午夜激情视频| 欧美国产一区二区在线观看| 欧美成人午夜激情| 欧美精品v国产精品v日韩精品| 欧美激情亚洲国产| 欧美精品一级| 欧美日韩爆操| 欧美偷拍一区二区| 国产精品美女午夜av| 国产精品美女视频网站| 国产日韩一区二区| 激情视频一区二区| 亚洲高清视频一区二区| 亚洲精品一品区二品区三品区| 一本大道久久a久久精品综合| 在线视频欧美精品| 亚洲永久网站| 久久精品二区三区| 亚洲精品乱码久久久久久久久 | 欧美在线观看一区二区| 亚洲国产精品黑人久久久| 最新69国产成人精品视频免费 | 一本在线高清不卡dvd | 亚洲黄色成人久久久| 亚洲欧洲综合另类在线| 中文欧美在线视频| 欧美一级大片在线观看| 亚洲国产一区二区三区a毛片| 日韩一级在线| 先锋资源久久| 蜜桃av一区二区三区| 欧美日韩亚洲一区二区三区| 国产伦精品一区| 激情文学综合丁香| 日韩性生活视频| 欧美一区二区三区视频在线观看| 亚洲精品国久久99热| 亚洲无毛电影| 久久久综合网站| 欧美人妖在线观看| 国产日本欧美一区二区三区| 亚洲大胆人体在线| 国产精品99久久久久久久女警| 欧美一区二区性| 99xxxx成人网| 久久精品国产综合精品| 欧美日韩视频免费播放| 国产午夜精品一区理论片飘花| 亚洲狠狠婷婷| 欧美亚洲三区| 在线中文字幕不卡| 久久久夜夜夜| 国产精品www| 亚洲国产成人在线播放| 午夜精品福利在线| 亚洲美女免费视频| 久久成人免费视频| 欧美日韩国产麻豆| 黑人一区二区| 亚洲小视频在线| 亚洲美女啪啪| 久久久久成人网| 国产精品国色综合久久| 亚洲国产精品va在线看黑人动漫| 午夜精品久久久久久久蜜桃app| 亚洲另类在线一区| 久久精品视频网| 国产精品igao视频网网址不卡日韩| 尤物精品国产第一福利三区| 亚洲欧美成人网| 一区二区三区精品在线| 免费欧美在线| 国内精品久久久| 亚洲欧美日韩综合| 亚洲图中文字幕| 欧美精品一区二区三区很污很色的 | 羞羞色国产精品| 欧美日韩免费一区| 亚洲第一毛片| 欧美影片第一页| 午夜精品国产| 欧美视频在线观看免费| 亚洲国产综合视频在线观看| 亚洲福利小视频| 久久精品国产96久久久香蕉| 国产精品久久久久久久久| 日韩亚洲一区二区| 91久久国产自产拍夜夜嗨| 小黄鸭视频精品导航| 国产精品99免费看| 99国产精品视频免费观看| 亚洲精品之草原avav久久| 美女黄毛**国产精品啪啪| 国产综合一区二区| 欧美影片第一页| 久久精品视频导航| 国产日韩欧美成人| 亚洲主播在线观看| 亚洲欧美卡通另类91av| 国产精品va| 中文有码久久| 亚洲在线视频网站| 国产精品久久久久久久久婷婷 | 久久久国产精品一区二区中文| 国产美女搞久久| 亚洲欧美日韩一区二区在线| 香蕉成人啪国产精品视频综合网| 欧美三级小说| 中文无字幕一区二区三区| 亚洲影院免费观看| 国产精品九九| 亚洲欧美日韩精品一区二区| 午夜一区不卡| 国产欧美成人| 欧美一级二区| 久久深夜福利免费观看| 黄色综合网站| 最新日韩欧美| 欧美精品一区二区久久婷婷| 亚洲精品九九| 亚洲一区二区三区777| 国产精品国产三级国产普通话99 | 一区二区av在线| 欧美特黄a级高清免费大片a级| 一区二区免费看| 亚洲欧洲av一区二区| 国产欧美精品国产国产专区| 久久精品亚洲精品| 欧美激情亚洲一区| 亚洲私人影院在线观看| 欧美一区亚洲一区| 精品99一区二区三区| 99精品免费视频| 国产精品区二区三区日本 | 欧美一区二区三区另类| 国产一区二区三区在线观看网站| 久久精品国产精品亚洲综合| 欧美成人黑人xx视频免费观看| 亚洲肉体裸体xxxx137| 亚洲尤物影院| 国内精品写真在线观看| 亚洲精品日韩激情在线电影| 欧美视频精品在线观看| 亚洲欧美伊人| 欧美大胆a视频| 一区二区电影免费观看| 久久久久国产精品人| 亚洲精品一区二区三区樱花| 亚洲欧美在线磁力| 伊人婷婷久久| 亚洲砖区区免费| 国产综合一区二区| 夜夜嗨av一区二区三区| 国产精品亚洲综合久久| 亚洲欧洲日本mm| 国产精品亚洲成人| 亚洲激情一区二区三区| 国产精品成人v| 亚洲国产成人不卡| 欧美午夜性色大片在线观看| 久久激情五月激情| 欧美日韩一卡| 亚洲高清不卡在线| 欧美性片在线观看| 亚洲黄色在线看| 国产精品亚洲综合一区在线观看 | 亚洲美女在线观看| 久久久国产91| 夜夜嗨av色综合久久久综合网| 久久久欧美精品| 一区二区冒白浆视频| 免播放器亚洲| 亚洲欧美日本日韩| 欧美精品在线观看播放| 欧美一区三区三区高中清蜜桃| 欧美精品大片| 久久疯狂做爰流白浆xx| 欧美日韩小视频| 91久久午夜| 国产亚洲一区二区三区| 亚洲尤物视频在线| 亚洲精品影视| 男女精品网站|