圖像的編解碼技術(shù)是多媒體技術(shù)的關(guān)鍵,H.264/AVC是國(guó)際上最先進(jìn)的視頻壓縮技術(shù),其主要特點(diǎn)是采用小尺寸整數(shù)余弦變換、1/4像素的運(yùn)動(dòng)估計(jì)精度、多參考幀預(yù)測(cè),基于上下文可變長(zhǎng)度編碼和環(huán)路內(nèi)去塊效應(yīng)濾波器等技術(shù)。由于去塊效應(yīng)濾波器大約占整個(gè)解碼器1/3的運(yùn)算量,因此該部分的設(shè)計(jì)成為整個(gè)解碼器設(shè)計(jì)的瓶頸,在此研究了一種新穎的環(huán)路內(nèi)去塊效應(yīng)濾波器設(shè)計(jì)。設(shè)計(jì)中采用5階流水線的去塊效應(yīng)模塊,利用混合濾波順序與打亂的存儲(chǔ)更新機(jī)制的方法提高了流水線暢順性,濾波一個(gè)16×16大小的宏塊僅需要198個(gè)時(shí)鐘周期。
1 H.264/AVC的去塊效應(yīng)
在基于塊的視頻編碼方法中,各個(gè)塊的編解碼是互相獨(dú)立的,由于預(yù)測(cè)、補(bǔ)償、變化、量化等引起塊與塊之間的邊界處會(huì)產(chǎn)生不連續(xù),因此新版H.264/AVC標(biāo)準(zhǔn)采用了環(huán)路內(nèi)去塊濾波器來(lái)解決每個(gè)16×16宏塊重建后的邊界扭曲問(wèn)題。去塊效應(yīng)濾波有兩種方法:后處理去塊效應(yīng)濾波;環(huán)路內(nèi)去塊效應(yīng)濾波。H.264/AVC采用環(huán)路內(nèi)去塊效應(yīng)濾波(見(jiàn)圖1),即濾波后的幀作為后面預(yù)測(cè)的參考幀。與之前的H.263或MPEG的濾波器相比較,新版H.264標(biāo)準(zhǔn)采用的濾波器基于更小的4×4的基本宏塊,基本宏塊的邊界根據(jù)片級(jí)/宏塊級(jí)的特性與根據(jù)像素穿過(guò)濾波邊界的漸變度,對(duì)需要濾波的宏塊邊界進(jìn)行有條件的濾波。重建幀的每個(gè)像素都需要從外部存儲(chǔ)器中重調(diào)出來(lái)以進(jìn)行濾波處理或作為相鄰像素來(lái)判斷當(dāng)前像素是否需要進(jìn)行濾波。顯然,這些操作需要消耗巨大的存儲(chǔ)器帶寬,對(duì)像素值進(jìn)行修改。
本文設(shè)計(jì)的去塊效應(yīng)濾波模塊采用流水線技術(shù)來(lái)提高系統(tǒng)吞吐量。理想流水線的高效率實(shí)現(xiàn)基于相鄰的濾波操作沒(méi)有數(shù)據(jù)性。文獻(xiàn)[3,4]采用了非流水線的架構(gòu),因此無(wú)法提高系統(tǒng)的吞吐量。而對(duì)于流水線架構(gòu),如若不優(yōu)化濾波順序與存儲(chǔ)器訪問(wèn)次序,則所產(chǎn)生的數(shù)據(jù)與結(jié)構(gòu)冒險(xiǎn)也將大大降低流水線的效率。有人使用雙端口的片上SRAM來(lái)減少片外存儲(chǔ)器的帶寬,增加了系統(tǒng)的吞吐量,但是雙端口存儲(chǔ)器面積較大且增加功耗。與流水線的濾波器相比,非流水線濾波器的操作(包括條件判斷、查表、像素計(jì)算等)是順序化的,即每個(gè)時(shí)鐘僅處理一個(gè)操作類型,因此它所能達(dá)到的最大系統(tǒng)頻率要低很多。