TMS320C6201在MPEG-4視頻解碼器中的應(yīng)用
引言
隨著網(wǎng)絡(luò)和多媒體技術(shù)的發(fā)展,視覺通信的重要性和需求急劇增加,如桌面視頻會議、移動終端、基于因特網(wǎng)的視音頻通信等。隨之而來的是視頻壓縮技術(shù)的迅速發(fā)展和視頻壓縮標準的不斷推出。國際運動圖像編碼專家組(MPEG)先后推出了MPEG-1、MPEG-2和MPEG-4.MPEG-4是由國際運動圖像專家組于1998年11月制定的。它是一個面向多媒體應(yīng)用的壓縮標準,其應(yīng)用覆蓋范圍遠大于MPEG-1和MPEG-2等標準。從移動可視電話到專業(yè)視頻編輯,既支持自然圖像,也支持計算機合成圖像。最重要的是它支持交互功能。這是由于MPEG-4采用了與其它標準不同的、基于對象的圖像描述方式。目前,國內(nèi)有關(guān)MPEG-4應(yīng)用技術(shù)的研究及開發(fā)的工作正在悄然興起。筆者在研究了MPEG-4視頻標準之后,充分利用TMS320C6201的硬件資源和軟件優(yōu)化,實時實現(xiàn)了嵌入式MPEG-4視頻解碼器。
1 MPEG-4視頻碼流及主要算法
MPEG-4采用了基于對象的壓縮編碼技術(shù)。在編碼前,首先要對視頻序列進行分析,從原理圖像中分割出各個視頻對象,然后南分別對每個視頻對象單獨編碼。每個對象都有自己的形狀信息(shape)、運動信息(motion)、紋理信息(texture)。對視頻對象的編碼就是對這3種信息進行編碼。MPEG-4通過運動預(yù)測和運行補償來去除連續(xù)幀之間的時間冗余。運動預(yù)測與運動補償?shù)木瓤梢詾檎袼?、半像素?/4像素,另外還增了重疊運動補償方式。與形狀相關(guān)算法有:基于鄰近信息的算術(shù)編碼、水平和垂直填補、擴張?zhí)钛a等。與紋理編碼相關(guān)的算法有:離散余弦變換(DCT)、量化、DCT系數(shù)的DC/AC差分預(yù)測、Zig-Zag掃描、游程編碼、霍夫曼變長編碼等。
筆者實現(xiàn)的是MPEG-4的SVP(Simple Visual Profile)視頻解碼。視頻序列全部為矩形,所以不存在任意形狀編碼。視頻序列按照視頻對象層VOL(Video Object Layer)、視頻對象平臺VOP(Video Object Plane)、宏塊MB(Macro Block)視順序編成一串碼流。1個VOL中包含多個VOP,1個VOP中包含多個MB。MB是碼流中的基本單位。MB又分為幀內(nèi)MB(intraMB)、幀間MB(imterMB)。幀間4VMB(inter4VMB)等幾種。在I-VOP中,所有的宏塊都是intraMB。P-VOP中宏塊有多種可能,可以是intraMB、interMB或inter4VMB。P-VOP中的interMB或inter4VMB的碼流描述如下:
MB碼流=MB形狀+MB頭信息+MV+DCT紋理信息(Y1+Y2+Y3+Y4+U+V)由于是矩形幀,所以無形狀編碼MB shape部分。
MB頭信息中主要包括4個參數(shù):not_coded(本MB是否編碼的標志位)、mcbpc(色度塊U和V是否編碼的標志位)、cbpy(亮度塊Y1~Y4是否編碼的標志位)、dquant(本MB中DCT系數(shù)量化步長的增量值)。
MV為運動矢量,實際寫入碼流的是運動矢量誤差值(ΔMV),這是因為編碼中MV采用差分編碼。如果MB是一個interMB,則表示本MB只有1個運動矢量,所以在碼流中只傳1個ΔMV;如果MB是一個inter4VMB,則表示本MB有4個運行矢量,即每個子塊(block)有1個運動矢量,所以在碼流中需傳送4個ΔMV,即mvd1、mvd2、mvd3和mvd4。
最后是一連串經(jīng)過量化、Zig-Zag掃描、游程編碼和霍夫曼變長編碼的DCT系數(shù),按照Y1、Y2、Y3、Y4、U和V的先后順序編碼。
{{分頁}}
2 TMS320C6201 DSP及EVM板介紹
2.1 TMS320C6201 DSP
TMS320C6201是美國TI公司的C6000系列新一代數(shù)字信號處理器中的第1個產(chǎn)品,于1997年3月發(fā)布。它是一個32bit的定點DSP芯片。該芯片具有8個相互獨立的功能單元,可以工作在200MHz的CPU時鐘頻率,全速運行時可達到1600 MIPS。其主要特性包括:
芯片內(nèi)核采用VelociTI TM先進的超長指令字(VLIW)結(jié)構(gòu),具有高度的并行性和快速的運行能力,每個時鐘周期最多可同時執(zhí)行8條32位指令,并且所有的指令都可以有條件執(zhí)行;
具有豐富的指令系統(tǒng)且可對字節(jié)操作,支持16位的乘法運算;
有4個彼此獨立的快速的DMA通道,可以進行多種形式的數(shù)據(jù)傳輸。
片內(nèi)數(shù)據(jù)存儲區(qū)和程序存儲區(qū)各64KB,并支持多種數(shù)據(jù)寬度8位/16位/32位;32位的外部存儲器接口,提供與片外SDRAM、SDSRAM和SRAM的直接接口。
TMS320C6201的以上特點,能滿足視頻圖像處理的實時性要求。例如:TMS320C6201 DSP計算1塊8
評論