基于OMAP3的視頻解碼器的通用解碼方案
分析了0MAP平臺(tái)的硬件結(jié)構(gòu)與軟件編程特點(diǎn);總結(jié)了TI公司提供的專用圖像圖形處理庫(kù)(IMGLIB)的使用技巧,并與OMAPl510進(jìn)行了部分比較;在流行的視頻編解碼標(biāo)準(zhǔn)的基礎(chǔ)上,提出了基于OMAP3的視頻解碼器的通用解碼方案。
本文引用地址:http://www.ex-cimer.com/article/269123.htm1 OMAP平臺(tái)簡(jiǎn)介
開放式多媒體應(yīng)用平臺(tái)OMAP結(jié)合高性能、低功耗的DSP核與控制性能強(qiáng)大的ARM內(nèi)核,是一種開放式的、可編程的體系結(jié)構(gòu),目前主要有OMAP1X、OMAP2X和OMAP3X系列。以OMAP3530為例,硬件結(jié)構(gòu)如圖1所示。
1.1 OMAP3530的硬件平臺(tái)
0MAP3530的硬件平臺(tái)主要由ARM內(nèi)核、DSP內(nèi)核以及流量控制器(Traffic Controler,TC)組成。
(1)ARM內(nèi)核
OMAP3530采用ARM Cortex-A8核,工作主頻最高可達(dá)720 MHz。它包括存儲(chǔ)器管理單元、16 KB的高速指令緩沖存儲(chǔ)器、16 KB的數(shù)據(jù)高速緩沖存儲(chǔ)器和256K字的二級(jí)Cache;片內(nèi)有64 KB的內(nèi)部SRAM,為液晶顯示等應(yīng)用提供了大量的數(shù)據(jù)和代碼存儲(chǔ)空間。CortexA8內(nèi)核采用13級(jí)流水線、32位的RISC處理器架構(gòu)。系統(tǒng)中的控制寄存器對(duì)MMU、Cache和讀寫緩存控制器進(jìn)行存取操作。ARM內(nèi)核具有整個(gè)系統(tǒng)的控制權(quán),可以設(shè)置DSP、TC以及各種外設(shè)的時(shí)鐘及其他工作參數(shù),控制DSP的運(yùn)行停止。OMAP3530平臺(tái)可支持包含繪圖、多媒體內(nèi)容和Java程序的先進(jìn)應(yīng)用。
(2)DSP內(nèi)核
TMS320C64X+內(nèi)核具有最佳的功耗性能比,工作主頻最高為520 MHz;它具有高度的并行能力,32位讀寫和功能強(qiáng)大的EMIF,雙流水線的獨(dú)立操作以及雙MAC的運(yùn)算能力。它采用3項(xiàng)關(guān)鍵的革新技術(shù):增大的空閑省電區(qū)域、變長(zhǎng)指令和擴(kuò)大的并行機(jī)制。其結(jié)構(gòu)針對(duì)多媒體應(yīng)用高度優(yōu)化,適合低功耗的實(shí)時(shí)語(yǔ)音圖像處理。另外,TMS320C64X+內(nèi)核增加了固化了算法的硬件加速器,來(lái)處理運(yùn)動(dòng)估計(jì)、8×8的DCT/IDCT和1/2像素插值,降低了視頻處理的功耗。
(3)流量控制器
流量控制器TC用于控制ARM、DSP、DMA以及本地總線對(duì)OMAP3530內(nèi)所有存儲(chǔ)器(包括SRAM,SDRAM、Flash和ROM等)的訪問(wèn)。
OMAP3530具有豐富的外圍接口,如液晶控制器、存儲(chǔ)器接口、攝像機(jī)接口、空中接口、藍(lán)牙接口、通用異步收發(fā)器、I2C主機(jī)接口、脈寬音頻發(fā)生器、串行接口、主客戶機(jī)USB口、安全數(shù)字多媒體卡控制器接口、鍵盤接口等。這些豐富的外圍接口使應(yīng)用OMAP的系統(tǒng)具有更大的靈活性和可擴(kuò)展性。
1.2 OMAP3530的軟件平臺(tái)
利用OMAP可以建立兩個(gè)操作系統(tǒng):基于ARM的操作系統(tǒng)(如WinCE、Linux等),以及基于DSP的DSP/BIOS。連接兩個(gè)操作系統(tǒng)使用的核心技術(shù)是DSP/BIOS橋。0MAP支持多種實(shí)時(shí)多任務(wù)操作系統(tǒng)在ARM微處理器上工作,用來(lái)對(duì)ARM微處理器進(jìn)行實(shí)時(shí)多任務(wù)調(diào)度管理,對(duì)TMS320C64X+進(jìn)行控制和通信;同時(shí),支持多種實(shí)時(shí)多任務(wù)操作系統(tǒng)在TMS320C64X+上工作,實(shí)現(xiàn)復(fù)雜的多媒體信號(hào)處理。DSP/BIOS橋包含DSP管理器、DSP管理服務(wù)器、DSP和外圍接口鏈接驅(qū)動(dòng)器。DSP/BIOS橋提供運(yùn)行在Cortex-A8上的應(yīng)用程序和運(yùn)行TMS320C64X+上的算法之間的通信管理服務(wù)。開發(fā)者可以利用DSP/BIOS橋中的應(yīng)用編程接口控制在DSP中實(shí)時(shí)任務(wù)的執(zhí)行,并同DSP交換任務(wù)運(yùn)行結(jié)果和狀態(tài)消息。在這個(gè)環(huán)境下,開發(fā)者可以調(diào)用局部DSP網(wǎng)關(guān)組件來(lái)實(shí)現(xiàn)諸如視頻、音頻和語(yǔ)音等功能。因此,開發(fā)者不需要了解DSP和DSP/BIOS橋,就能開發(fā)新的應(yīng)用軟件。使用標(biāo)準(zhǔn)應(yīng)用編程接口開發(fā)的應(yīng)用軟件,與基于0MAP的未來(lái)無(wú)線設(shè)備兼容。
2 視頻編碼標(biāo)準(zhǔn)與OMAP圖形圖像庫(kù)應(yīng)用
2.1 視頻編碼標(biāo)準(zhǔn)
從1988年開始,ISO/IEC MPEG和ITU-T針對(duì)不同的應(yīng)用制訂了一系列視頻編碼國(guó)際標(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月,我國(guó)信息產(chǎn)業(yè)部制訂了我國(guó)的數(shù)字音視頻編碼技術(shù)標(biāo)準(zhǔn)(Audio-Video Coding Standard,AVS)。AVS是我國(guó)具備自主知識(shí)產(chǎn)權(quán)的第二代信源編碼標(biāo)準(zhǔn)。與目前比較流行的標(biāo)準(zhǔn)(如MPEG-2、MPEG-4、H.263、H.264)相比,從編碼效率來(lái)看,MPEG-4是MPEG-2的1.4倍,AVS和H.264都是MPEG-2的2倍以上;從算法復(fù)雜度上來(lái)看,H.264的算法在編碼端比MPEG-2復(fù)雜4~5倍,在解碼端復(fù)雜2~3倍,而AVS在復(fù)雜度上比H.264有較大幅度降低,且不需要交納高昂的專利費(fèi)用。
目前,應(yīng)用比較廣泛的視頻編碼標(biāo)準(zhǔn)中,基本上都有如下的步驟:將圖像序列編碼為幀內(nèi)模式和幀問(wèn)模式兩種,并且分別進(jìn)行編碼。采用幀內(nèi)編碼時(shí),直接對(duì)8×8的像素塊進(jìn)行DCT變換,然后將量化系數(shù)進(jìn)行變長(zhǎng)編碼后形成輸出碼流;另一路經(jīng)反量化、反DCT變換后形成恢復(fù)圖像,直接存入幀存儲(chǔ)器。采用幀間編碼時(shí),對(duì)原始數(shù)據(jù)的每個(gè)塊先進(jìn)行運(yùn)動(dòng)估計(jì),并與經(jīng)運(yùn)動(dòng)估計(jì)后的預(yù)測(cè)圖像相減,產(chǎn)生差分圖像,接著進(jìn)行DCT變換和量化,并同運(yùn)動(dòng)矢量數(shù)據(jù)一起編碼形成碼流;另一路經(jīng)反量化、反DCT變換后形成恢復(fù)圖像,存入幀存儲(chǔ)器,用于下一步的運(yùn)動(dòng)估計(jì)。
不同的標(biāo)準(zhǔn)具有各自的特點(diǎn),例如MPEGl與H.261采用整像素,MPEG4和H.263采用半像素,H.264與AVS采用1/4至1/8像素精度的運(yùn)動(dòng)估計(jì),H.261采用單參考幀,H.264與AVS采用多參考幀等。特別是目前的H.264標(biāo)準(zhǔn),采用整數(shù)DCT/IDCT、幀內(nèi)預(yù)測(cè)、多模式運(yùn)動(dòng)估計(jì)、去塊效應(yīng)濾波器等先進(jìn)技術(shù),造成了極大的算法復(fù)雜度,對(duì)硬件實(shí)時(shí)解碼提供了很高的要求。
2.2 OMAP圖形圖像庫(kù)(IMGLIB)應(yīng)用
針對(duì)圖像與視頻處理的需要,TI提供了IMGLIB庫(kù)供C程序調(diào)用。庫(kù)里內(nèi)容主要有2部分:
?、儆布铀俨糠?。由匯編語(yǔ)言編寫,但是計(jì)算由硬件的加速模塊來(lái)實(shí)現(xiàn),無(wú)法修改。例如DCT/IDCT都是針對(duì)8×8塊進(jìn)行的,變換矩陣已經(jīng)固定,硬件加速指令共有16種,其中DCT/IDCT各1條,運(yùn)動(dòng)估計(jì)指令10條,插值指令4條。
?、谲浖铀俨糠?。用匯編語(yǔ)言編寫,包括矩陣量化反量化、JPEG變長(zhǎng)編碼、一維/二維離散小波變換反變換及小波包變換反變換,以及圖像的直方圖計(jì)算、邊緣檢測(cè)、帶移位操作的3×3掩模操作等。這些軟件加速指令都提供了標(biāo)準(zhǔn)的C接口,用戶可以直接調(diào)用,也可以模仿編寫規(guī)則編譯生成自己的庫(kù)文件。
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
矢量控制相關(guān)文章:矢量控制原理
評(píng)論