基于VHDL的AVS環(huán)路濾波器設(shè)計(jì)
0 引言
我國(guó)數(shù)字音頻編解碼技術(shù)標(biāo)準(zhǔn)AVS 第二部分主要是針對(duì)高清晰度數(shù)字電視廣播和高密度存儲(chǔ)媒體應(yīng)用,采用了與H.264 類(lèi)似的技術(shù)框架,包括變換、量化、熵編碼、幀內(nèi)預(yù)測(cè)、幀間預(yù)測(cè)、環(huán)路濾波等技術(shù)模塊,與H.264 性能相同,當(dāng)技術(shù)簡(jiǎn)潔,實(shí)現(xiàn)復(fù)雜度低。但在低碼率的情況下,由于不同圖像塊做了不同的量化處理,有時(shí)是量化步長(zhǎng)不同,有時(shí)是舍入的高頻分量不一樣,這樣就造成圖像塊之間的相關(guān)性被破壞,在塊的邊界處就出現(xiàn)不連續(xù)或整塊的塊斑現(xiàn)象,稱為塊效應(yīng)。
為了減小塊效應(yīng),AVS 引入了環(huán)路濾波器。根據(jù)AVS 視頻標(biāo)準(zhǔn)可知,環(huán)路濾波的復(fù)雜度很高,包含了很多的條件跳轉(zhuǎn)運(yùn)算和數(shù)學(xué)運(yùn)算,對(duì)存儲(chǔ)數(shù)據(jù)有大量且頻繁的讀寫(xiě)操作,完成一個(gè)16×16 的宏塊濾波,對(duì)同一個(gè)子塊需要讀寫(xiě)四次。并且運(yùn)動(dòng)補(bǔ)償、幀間插值等運(yùn)算已經(jīng)占用很大部分的帶寬資源。對(duì)整個(gè)系統(tǒng)而言,由于總線本身的利用效率的因素,在一定的時(shí)鐘頻率下,系統(tǒng)實(shí)際可用的帶寬是很有限的。
本文正是基于降低環(huán)路濾波的計(jì)算復(fù)雜度,減少與片外存儲(chǔ)器的數(shù)據(jù)交換,提高濾波速率,實(shí)現(xiàn)實(shí)時(shí)解碼的應(yīng)用需求,對(duì)AVS 解碼標(biāo)準(zhǔn)進(jìn)行了研究。依據(jù)AVS 環(huán)路濾波算法的特點(diǎn)提出以8x8 塊為單位進(jìn)行濾波,適當(dāng)增加片上存儲(chǔ)空間的方式來(lái)提高濾波模塊的效率,以實(shí)現(xiàn)實(shí)時(shí)解碼。
1 環(huán)路濾波算法
AVS 環(huán)路濾波器放在幀間預(yù)測(cè)和運(yùn)動(dòng)補(bǔ)償之前,用濾波后的幀做后續(xù)幀的參考幀。參考幀性能的提高能提高預(yù)測(cè)效果,從而提高編碼效率。環(huán)路濾波去除了虛假的塊邊界,使得重構(gòu)圖像的主觀質(zhì)量有了明顯地提高。
AVS 視頻標(biāo)準(zhǔn)中, 變換采用了8×8 的整數(shù)DCT 變換, 運(yùn)動(dòng)估計(jì)的最小塊尺寸也是8×8,因此塊效應(yīng)可能會(huì)出現(xiàn)在每個(gè)8×8 塊的邊界上。標(biāo)準(zhǔn)中規(guī)定,除圖像邊界及條帶的邊界之外宏塊的所有邊界都應(yīng)進(jìn)行濾波。這里的宏塊邊界定義為宏塊內(nèi)部各個(gè)8×8 塊的邊界以及當(dāng)前宏塊與與相鄰宏塊的上邊界和左邊界。
環(huán)路濾波以宏塊為單位, 按照光柵掃描順序依次處理。每個(gè)宏塊對(duì)亮度和色度分別進(jìn)行環(huán)路濾波, 首先從左到右對(duì)垂直邊界濾波, 然后從上到下對(duì)水平邊界濾波。當(dāng)前宏塊的上邊或者左邊像素值可能在以前的環(huán)路濾波過(guò)程中被修改,當(dāng)前宏塊的濾波處理的輸入為這些可能被修改的像素值,并且當(dāng)前宏塊的環(huán)路濾波還可能進(jìn)一步修改這些像素值。
1.1 濾波算法流程
AVS 標(biāo)準(zhǔn)的去塊濾波操作大致可以分為兩個(gè)步驟:首先,進(jìn)行邊界濾波強(qiáng)度(Bs)的判別;然后根據(jù)不同的Bs 取值來(lái)進(jìn)行相應(yīng)的強(qiáng)濾波(STrONg Filter)、標(biāo)準(zhǔn)濾波(Normal Filter)或者不濾波(Skip)的操作。濾波算法流程如圖1 所示。
基于FPGA的AVS的環(huán)路濾波器的實(shí)現(xiàn)+.pdf
評(píng)論