運(yùn)用定點(diǎn)DSP實(shí)現(xiàn)MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)快速量化的方法
;;; 摘要:以運(yùn)用TMS320C6200定點(diǎn)DSP芯片完成MPEG-4標(biāo)準(zhǔn)中DCT系數(shù)量化為例,簡要介紹MPEG-4標(biāo)準(zhǔn)的量化方法,提出一種用定點(diǎn)乘法和移位運(yùn)算代替量化過程中的除法和飽和運(yùn)算的方法,并實(shí)現(xiàn)了快速運(yùn)算。 ;;; 關(guān)鍵詞:量化 DCT變換 定點(diǎn)DSP芯片 MPEG-4 在基于DCT變換的圖像壓縮編碼方法中,對DCT系數(shù)必須做量化處理。量化過程是一個多對一的映射,例如對一個8×8塊的64個DCT變換系數(shù)分別除以量化步長后取整。由于大多數(shù)DCT變換系數(shù)量化后變?yōu)榱?,因而達(dá)到壓縮的目的。由于在量化過程中用到除法,因此通常需要進(jìn)行浮點(diǎn)運(yùn)算。 但是,可進(jìn)行浮點(diǎn)運(yùn)算的數(shù)字信號處理器(DSP)芯片結(jié)構(gòu)比定點(diǎn)DSP芯片復(fù)雜,價格一般也比定點(diǎn)DSP芯片高很多。所以數(shù)字圖像處理系統(tǒng)中通常采用定點(diǎn)DSP芯片來完成圖像壓縮運(yùn)算,這種方法已經(jīng)成為數(shù)字圖像處理技術(shù)的的一個趨勢。 可用于數(shù)字圖像處理的比較好的定點(diǎn)DSP芯片有德州儀器公司新一代高性能定點(diǎn)DSP芯片TMS320C6200系列。它具有VLIW(Very Long Instruction Word)結(jié)構(gòu),由8個可并行運(yùn)行的執(zhí)行單元構(gòu)成。這些單元使得該系列芯片在單周期內(nèi)可以并行執(zhí)行多條指令,例如在單周期內(nèi)并行完成2個16位×16位乘法和2個移位操作。它還具有流水線結(jié)構(gòu),使得若干條指令的不同執(zhí)行階段可以并行執(zhí)行。這些設(shè)計(jì)使得TMS320C6200系列芯片程序執(zhí)行速度更快、性能更高。如200MHx時鐘的TMS320C6201峰值性能可以達(dá)到1600MIPS。 在定點(diǎn)DSP上完成除法,通常的辦法是調(diào)用庫函數(shù)。但是調(diào)用庫函數(shù),勢必會打破循環(huán)中的流水線操作,嚴(yán)重影響量化的完成速度。所以提高量化過程速度的關(guān)鍵就在于避免任何函數(shù)調(diào)用、跳轉(zhuǎn)等操作。 本文以TMS320C6200系列定點(diǎn)DSP為例,提出一種用定點(diǎn)乘法和移位運(yùn)算來代替量化過程中除法和飽和運(yùn)算的方法,從而極大地提高了量化過程的運(yùn)行速度。該方法也同樣適用于其它各種定點(diǎn)微處理器。 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。則量化公式為: 對于幀內(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é)果;//表示先進(jìn)行除法運(yùn)算,然后對結(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)范圍內(nèi)的dc_scaler