運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法_第1頁
運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法_第2頁
運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法_第3頁
運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、    運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法    運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法    類別:單片機/DSP      作者:南京大學(xué)電子科學(xué)與工程系1177信箱(210093)邱    鋼 季曉勇 陸 珉    來源:電子技術(shù)應(yīng)用    &#

2、160;                            運用定點DSP實現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)     快速量化的方法             

3、            摘要:以運用TMS320C6200定點DSP芯片完成MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)量化為例,簡要介紹MPEG-4標(biāo)準(zhǔn)的量化方法,提出一種用定點乘法和移位運算代替量化過程中的除法和飽和運算的方法,并實現(xiàn)了快速運算。                 關(guān)鍵詞:量化    D

4、CT變換 定點DSP芯片 MPEG-4         在基于DCT變換的圖像壓縮編碼方法中,對DCT系數(shù)必須做量化處理。量化過程是一個多對一的映射,例如對一個8×8塊的64個DCT變換系數(shù)分別除以量化步長后取整。由于大多數(shù)DCT變換系數(shù)量化后變?yōu)榱?,因而達到壓縮的目的。由于在量化過程中用到除法,因此通常需要進行浮點運算。    但是,可進行浮點運算的數(shù)字信號處理器(DSP)芯片結(jié)構(gòu)比定點DSP芯片復(fù)雜,價格一般也比定點DSP芯片高很多。所以數(shù)字圖像處理系統(tǒng)中通常采

5、用定點DSP芯片來完成圖像壓縮運算,這種方法已經(jīng)成為數(shù)字圖像處理技術(shù)的的一個趨勢。    可用于數(shù)字圖像處理的比較好的定點DSP芯片有德州儀器公司新一代高性能定點DSP芯片TMS320C6200系列。它具有VLIW(Very    Long Instruction Word)結(jié)構(gòu),由8個可并行運行的執(zhí)行單元構(gòu)成。這些單元使得該系列芯片在單周期內(nèi)可以并行執(zhí)行多條指令,例如在單周期內(nèi)并行完成2個16位×16位乘法和2個移位操作。它還具有流水線結(jié)構(gòu),使得若干條指令的不同執(zhí)行階段可以并行執(zhí)行。這些設(shè)計使得TMS3

6、20C6200系列芯片程序執(zhí)行速度更快、性能更高。如200MHx時鐘的TMS320C6201峰值性能可以達到1600MIPS。    在定點DSP上完成除法,通常的辦法是調(diào)用庫函數(shù)。但是調(diào)用庫函數(shù),勢必會打破循環(huán)中的流水線操作,嚴(yán)重影響量化的完成速度。所以提高量化過程速度的關(guān)鍵就在于避免任何函數(shù)調(diào)用、跳轉(zhuǎn)等操作。    本文以TMS320C6200系列定點DSP為例,提出一種用定點乘法和移位運算來代替量化過程中除法和飽和運算的方法,從而極大地提高了量化過程的運行速度。該方法也同樣適用于其它各種定點微處理器。

7、0;   1 MPEG-4標(biāo)準(zhǔn)中采用的量化技術(shù)及程序優(yōu)化    MPEG-4標(biāo)準(zhǔn)中定義了兩種量化方式:H.263量化方式和MPEG-4量化方式。這里為簡單起見,只介紹TMN2.0編碼器所用到的一種量化策略:AC系數(shù)和幀間宏塊的DC系數(shù)用H.263量化方式,而幀內(nèi)宏塊的DC系數(shù)用MPEG-4量化方式中的DC系數(shù)非線性量化方式。    1.1 H.263量化方式    量化參數(shù)QP可以取值1,3,量化步長為2QP。則量化公式為:  

8、;  對于幀內(nèi)宏塊,LEVEL=|COF|/(2QP)    對于幀間宏塊,LEVEL=(|COF|-QP/2)/(2QP)式中,COF表示即將被量化的DCT變換系數(shù),LEVEL表示量化結(jié)果的絕對值。    1.2 MPEG-4DC系數(shù)非線性量化方法    量化公式為:LEVEL=DC_COF/dc_scaler    式中,DC_COF表示即將被量化的DCT變換DC系數(shù);LEVEL表示量化結(jié)果;/表示先進行除法運算

9、,然后對結(jié)果四舍五入取整。    在內(nèi)部宏塊內(nèi),定義亮度塊為類型    1塊,色差塊為類型2塊,類型1塊的C系數(shù)由類型1的非線性標(biāo)尺量化;類型2的DC系數(shù)由類型2的非線性標(biāo)尺量化。    表1為定義DC非線性量化標(biāo)尺dc_scaler。     表1 幀內(nèi)宏塊DC系數(shù)標(biāo)尺        類 型    量化參數(shù)(QP)范

10、圍內(nèi)的dc_scaler        14    58    924    2531        亮度:Type1    8    2QP    QP+8   

11、60;2QP-16        色度:Type2    8    (QP+12)/2    QP-6     從表1中可以看到亮度塊和色差塊的DC系數(shù)有獨立的量化標(biāo)尺,亮度塊具有較大的標(biāo)尺而色度塊具有較小的標(biāo)尺。這種分段線性的非線性量化策略是一種高效的量化方式,它在保證圖像質(zhì)量的基礎(chǔ)上提高了壓縮效率。    1.3

12、將量化除法改定點乘法的方式    以內(nèi)部宏塊的AC系數(shù)量化公式為例,將其改寫為:    LEVEL=|COF|/2QP=|COF|(2 n/2QP)/2 n    定義量化參數(shù)ac_cocff=2n/2QP,x表示對x截尾取整,則:    LEVEL=|COF|×ac_coeff/2n    在QP的取值都范圍1,31內(nèi),要使截尾取整后的每一個2   

13、60;n/2QP的值都能夠用量化參數(shù)ac_coeff一一對應(yīng)地表示,n必須足夠大。通過計算得出:當(dāng)n11時滿足要求。    取n=11得到ac_coeff的計算公式為:    ac_coeff=2 11/2QP    其實質(zhì)就是用一個字(32 bit)的低11位(0Q11)來表示1/2QP的小數(shù)部分。    由于QP在1,31之間,可以用上述公式計算出對應(yīng)于幀內(nèi)宏塊AC系數(shù)量化的量化系數(shù)的查找表:ac_coeff=AcQConffQP。

14、用C語言表示為(假設(shè)QP=0時ac_coeff=0):    const short int AcQConeff32=    0x000,0x400,0x200,0x155,0x100,0x0cc,0x0aa,0x092,    0x080,0x071,0x066,0x05d,0x055,0x04e,0x049,0x044,    0x040,0x03c,0x038,0x035,0x033,0x030,0x02e,0x02c, 

15、;   0x02a,0x028,0x027,0x025,0x024,0x023,0x022,0x021;    計算表明,AC系數(shù)量化系數(shù)、亮度塊DC系數(shù)量化系數(shù)和色差塊DC量化系數(shù)都可以統(tǒng)一用一個字的低11位(0Q11)來表示。這樣就可以分別計算出它們的量化系數(shù)的查找表,從而實現(xiàn)用乘法運算代替除法運算。    而除以2 n的操作可以用右移n位的辦法來完成。    對于8bit無符號二進制數(shù)表示的象素值,在經(jīng)過DCT變換后,其DCT變換系數(shù)的值域

16、為-2048,2047,最大有12位二進制數(shù)。同時,由上述分析可知量化系數(shù)最大有11位。所以DCT變換系數(shù)與量化系數(shù)相乘的結(jié)果最大將有11+12共23位。由于TMS320C62xDSP芯片中集成的乘法器是16位×16位的乘法器,乘法運算結(jié)果存放到32位的寄存器中。所以用本文方法計算出的量化系數(shù)與DCT變換系數(shù)相乘后,結(jié)果不會溢出。    根據(jù)MPEG-4 Visual標(biāo)準(zhǔn)TMN 2.0的要求,量化后AC系數(shù)值要飽和到-2048,2047之間。這可以利用TMS320C62x芯片指令集中的飽和左移指令SSHL來實現(xiàn),只需兩條指令即可完成飽和運算,無

17、需使用比較指令和跳轉(zhuǎn)指令。    下面給出內(nèi)部宏塊量化的TMS320C62x線性匯編程序:    cmpeq type,1 /type定義的是當(dāng)前塊的類型    type ldh *+DcLumQCoeffQP,dc_coeff /得到類型1的DC系數(shù)的量化參數(shù)    !type ldh *+DcChromQCoeffQP,dc_coeff /得到類型2的DC系數(shù)的量化參數(shù)    lde *coe

18、ff0,level /取出DCT變換DC系數(shù)    mpy level,dc_coeff,level /用乘法進行量化    addk 0x400,level /加 0x400,對結(jié)果進行四舍五入    shr level,11,level /右移11位    cmpgt level,maxDC,tmp /對量化后的DC系數(shù)進行飽和運算    tmp mv maxDC,level /將其限制在1,

19、maxDC之間cmplt    level,1,tmp    tmp mvk 1,level    ldh *+AcQcoeffQP,ac_coeff /得到AC系數(shù)的量化參數(shù)    mvk 63,cntr /63次循環(huán),只對AC系數(shù)進行量化    loop: .trip 63 ldh *coeff+1,cof /取出DCT變換AC系數(shù)    abs cof,level    mpy level,ac_coeff,level /對AC系數(shù)絕對值用乘法進行量化    shru level,11,level /右移11位    cmplt cof,0,tmp    tmp neg level,result    !tmp mv level,result    sshl result,20,result /將量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論