基于FPGA的AVS的環(huán)路濾波器的實(shí)現(xiàn)
精彩無(wú)限,盡在維庫(kù)技術(shù)資料www.dzsc.com/data
摘要:AVS 視頻標(biāo)準(zhǔn)中,自適應(yīng)環(huán)路器在實(shí)現(xiàn)時(shí)存在許多條件運(yùn)算(如濾波強(qiáng)度的計(jì)算、邊界閾值和跳轉(zhuǎn)等的計(jì)算)及其對(duì)于數(shù)據(jù)的訪問(wèn)比較繁瑣,使得濾波器的算法復(fù)雜度很高。并且塊效應(yīng)可能會(huì)出現(xiàn)在每個(gè)8x8 塊的邊界上。而該濾波器以8x8 塊為單位進(jìn)行濾波,減少對(duì)存儲(chǔ)器的訪問(wèn),加快了處理速度,大大節(jié)省了算法的硬件實(shí)現(xiàn)面積。并且適當(dāng)增加片上存儲(chǔ)空間來(lái)緩解外存的壓力來(lái)提高濾波模塊的效率,采用VHDL 語(yǔ)言進(jìn)行設(shè)計(jì)、仿真,通過(guò)FPGA驗(yàn)證。綜合仿真結(jié)果表明,該設(shè)計(jì)占用資源較少。最高頻率可達(dá)170MHz,可實(shí)時(shí)解碼D1 分辨率序列的AVS 碼流。
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)象,稱(chēng)為塊效應(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 所示。
維庫(kù)PDF下載:基于FPGA的AVS的環(huán)路濾波器的實(shí)現(xiàn) .rar
參考文獻(xiàn):[1].D1 datasheethttp://www.dzsc.com/datasheet/D1+_2060593.html.