<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于ADSP-BF533處理器的去方塊濾波器的實(shí)現(xiàn)及優(yōu)化

          基于ADSP-BF533處理器的去方塊濾波器的實(shí)現(xiàn)及優(yōu)化

          作者: 時(shí)間:2008-03-20 來(lái)源:網(wǎng)絡(luò) 收藏

            引言

            在已有的基于塊的視頻編解碼系統(tǒng)中,當(dāng)碼率較低時(shí)都存在方塊效應(yīng),新的視頻編碼標(biāo)準(zhǔn)H.264中亦是如此。產(chǎn)生這種方塊效應(yīng)的主要原因有兩個(gè):一是由于對(duì)變換后的殘差系數(shù)進(jìn)行的基于塊的整數(shù)變換后,以大的量化步長(zhǎng)對(duì)變換系數(shù)進(jìn)行量化會(huì)使得解碼后的重建圖像的方塊邊緣出現(xiàn)不連續(xù);二是在運(yùn)動(dòng)補(bǔ)償中插值運(yùn)算引起的誤差使得編解碼器反變換后的重建圖像會(huì)出現(xiàn)方塊效應(yīng)。如果不進(jìn)行處理,方塊效應(yīng)還會(huì)隨著重構(gòu)幀積累下去,從而嚴(yán)重地影響圖像的質(zhì)量和壓縮效率。為了解決這一問(wèn)題,H.264中的去方塊濾波技術(shù)采用較為復(fù)雜的自適應(yīng)來(lái)有效地去除這種方塊效應(yīng)。因此,如何在實(shí)時(shí)視頻解碼中優(yōu)化去方塊濾波算法,降低,提高重建圖像質(zhì)量,就成了H.264解碼的一個(gè)關(guān)鍵問(wèn)題。

            1 H.264的去方塊濾波

            1.1 濾波原理

            大的量化步長(zhǎng)會(huì)造成相對(duì)較大的量化誤差,這就可能將原來(lái)相鄰塊“接壤”處像素間灰度的連續(xù)化變成了“臺(tái)階”變化,主觀上就有”偽邊緣”的方塊效應(yīng)。去方塊效應(yīng)的方法就是在保持圖像總能量不變的條件下,把這些臺(tái)階狀的階躍重新復(fù)原成臺(tái)階很小或者近似連續(xù)的,同時(shí)還必須盡量減少對(duì)真實(shí)圖像邊緣的損傷。

            1.2 自適應(yīng)濾波過(guò)程

            在H.264中,去方塊是按照16×16像素的宏塊為單位順序進(jìn)行的,在宏塊中按照每個(gè)4×4之間的邊緣以先垂直后水平的順序進(jìn)行,從而對(duì)整個(gè)重建圖像中的所有邊緣(圖像邊緣除外)進(jìn)行濾波。具體的邊緣示意圖如圖1所示。對(duì)于16×16像素的亮度宏塊,共有4條垂直邊緣,4條水平邊緣,每條邊緣又分為16條像素邊緣。而對(duì)應(yīng)8×8像素的色度宏塊有垂直邊緣和水平邊緣各2條,每條邊緣分為8條像素邊緣。像素邊緣是進(jìn)行濾波的基本單元。

            

            

            1.2.1 在兩個(gè)層次上的自適應(yīng)性

            H.264中的去方塊濾波所以有較好的濾波效果,是由于它在以下兩個(gè)層次上的自適應(yīng)性。

            1) 濾波器在4×4級(jí)別的自適應(yīng)性

            濾波是基于各個(gè)中的像素邊緣進(jìn)行的,通過(guò)對(duì)每一條像素邊緣定義一個(gè)參數(shù)BS()來(lái)自適應(yīng)地調(diào)節(jié)濾波的強(qiáng)弱和涉及的像素點(diǎn)。色度塊的像素與相應(yīng)的亮度像素相同。假設(shè)P和Q為兩個(gè)相鄰的4×4子塊,其中的像素邊緣強(qiáng)度通過(guò)圖2的步驟獲得。BS的值越大,則對(duì)相應(yīng)的邊緣兩側(cè)進(jìn)行的濾波越強(qiáng),這是根據(jù)產(chǎn)生方塊效應(yīng)的原因來(lái)設(shè)定的,如采用幀內(nèi)預(yù)測(cè)模式的子塊的方塊現(xiàn)象較明顯,則對(duì)該子塊中的對(duì)應(yīng)邊緣設(shè)定較大的像素邊緣強(qiáng)度值來(lái)進(jìn)行強(qiáng)濾波。

            

            

            2) 濾波器在像素點(diǎn)級(jí)別上的白適應(yīng)性

            正確區(qū)分由于量化誤差、運(yùn)動(dòng)補(bǔ)償產(chǎn)生的虛假邊緣和圖像中的真實(shí)邊界才能得到好的濾波效果。通常,真實(shí)邊界兩側(cè)的像素梯度差值要比虛假邊界兩側(cè)的像素梯度差值大,因此,濾波器通過(guò)對(duì)邊緣兩側(cè)像素點(diǎn)的灰度值的梯度差值設(shè)定門限α、對(duì)同一側(cè)的相鄰像素點(diǎn)的灰度值的梯度差值設(shè)定門限β來(lái)進(jìn)行真?zhèn)芜吔绲呐卸ā&梁挺碌闹抵饕c量化步長(zhǎng)有關(guān),當(dāng)量化步長(zhǎng)大時(shí),量化誤差也大,方塊效應(yīng)就明顯,易產(chǎn)生虛假邊界,因此門限值隨之變大,放寬濾波條件。反之,量化步長(zhǎng)小時(shí)門限值也變小,體現(xiàn)了自適應(yīng)性。采樣點(diǎn)的設(shè)置見(jiàn)圖3。若條件都滿足,則進(jìn)開(kāi)始濾波。

            

            

            除了這兩種自適應(yīng)性,還可以通過(guò)設(shè)置位于片級(jí)的系數(shù)LoopFilterAlphaC0Offset、LoopFilterBetaOffset來(lái)調(diào)整濾波

            的強(qiáng)度。例如當(dāng)傳輸碼率較低時(shí),方塊效應(yīng)較明顯,接收端想要主觀質(zhì)量相對(duì)較好的圖像,則編碼端可通過(guò)設(shè)置位于片頭信息中的濾波偏移量LoopFil-terAlphaC0Offset,LoopFilterBetaOffset為正值,以此增大α和β來(lái)加強(qiáng)濾波,通過(guò)去除方塊效應(yīng)來(lái)提高圖像主觀質(zhì)量?;蛘邔?duì)于高分辨率的圖像,可以通過(guò)傳送負(fù)值偏移來(lái)減弱濾波,盡量保持圖像的細(xì)節(jié)。

            1.2.2 依據(jù)各像素邊緣BS值對(duì)相鄰的像素濾波

            若當(dāng)前像素邊緣符合濾波條件,則根據(jù)其相應(yīng)的BS值選取對(duì)應(yīng)的濾波器進(jìn)行濾波并且進(jìn)行適當(dāng)?shù)募羟胁僮?,以防止圖像的模糊。

            當(dāng)BS值是1,2,3時(shí),采用一個(gè)4抽頭的線性濾波器,對(duì)輸入的P1、P0、Q0、Q1進(jìn)行濾波調(diào)整得到新的Q0、P0,如果內(nèi)部有虛假邊界,則進(jìn)一步調(diào)整Q1、P1的值。

            當(dāng)BS值是4時(shí),則對(duì)應(yīng)的是采用幀內(nèi)編碼模式的宏塊邊緣,應(yīng)采用較強(qiáng)的濾波以達(dá)到增強(qiáng)圖像質(zhì)量的目的。對(duì)于亮度分量,若條件(| P0~Q0 | ((α》2)+2))abs(P2-P0)成立,則選擇5拙頭濾波器對(duì)P0、P2進(jìn)行濾波,使用較強(qiáng)的4抽頭濾波器對(duì)P1進(jìn)行濾波;若條件不成立,則只使用較弱的3抽頭濾波器對(duì)P0進(jìn)行濾波,而P1、P2的值保持不變。對(duì)于色度分量,若上述條件滿足,則對(duì)P0進(jìn)行3抽頭濾波,若條件不滿足,則所有的像素值都不修改。對(duì)Q0、Q1、Q2的濾波操作與P0、P1、P2的濾波操作相同。

            2 BF533的特點(diǎn)和結(jié)構(gòu)

            我們的H.264去方塊濾波是在ADI公司的Blackfin ADSP-BF533處理器上實(shí)現(xiàn)的。Blackfin系列DSP主要具有以下特點(diǎn):

            a) 高度并行的計(jì)算單元。Blackfin系列DSP體系架構(gòu)的核心是DAU(數(shù)據(jù)算術(shù)單元),包括2個(gè)16位的MAC(乘法累加器)、2個(gè)40位的(算術(shù)邏輯單元),1個(gè)40位單桶形的移位器,4個(gè)8位視頻。每個(gè)MAC能在單一時(shí)鐘周期內(nèi)對(duì)4個(gè)獨(dú)立的數(shù)據(jù)操作數(shù)執(zhí)行16位乘16位的乘法運(yùn)算。40位的可累加2個(gè)40位的數(shù)字或者4個(gè)16位的數(shù)字。這種體系架構(gòu)可靈活地進(jìn)行8值、16位、32位的數(shù)據(jù)運(yùn)算。

            b) 動(dòng)態(tài)電源管理。處理器可以通過(guò)改變電壓和工作頻率,消耗比其他DSP更少的功耗。Blackfin系列DSP體系架構(gòu)的允許電壓和頻率獨(dú)立調(diào)整,使得每一項(xiàng)任務(wù)的消耗能量最小,在性能和功耗間有較好的平衡,適合實(shí)時(shí)視頻編/解碼器的開(kāi)發(fā),特別是對(duì)功耗有嚴(yán)格要求的實(shí)時(shí)運(yùn)動(dòng)視頻處理。

            c) 高性能的地址產(chǎn)生器。具有2個(gè)DAG(數(shù)據(jù)地址產(chǎn)生器

            ),用于產(chǎn)生支持高級(jí)DSP濾波運(yùn)算的地址的復(fù)合裝入或存儲(chǔ)單元。支持位倒序?qū)ぶ泛脱h(huán)緩沖以及其他多種尋址方式,提高了編程的靈活性。

            d) 分層結(jié)構(gòu)的內(nèi)存。分層結(jié)構(gòu)的內(nèi)存縮短了內(nèi)核對(duì)內(nèi)存的訪問(wèn)時(shí)間,以獲得最大的數(shù)據(jù)吞吐量、較少的延遲和縮短的處理空載時(shí)間。

            e) 特有的視頻操作指令。提供適合DCT(離散余弦變換)、霍夫曼編碼等視頻壓縮標(biāo)準(zhǔn)中常用的操作指令,這些視頻指令還消除了主處理器與一個(gè)獨(dú)立的視頻編解碼器之間的復(fù)雜和易混和通信問(wèn)題。這些特點(diǎn)有助于為終端應(yīng)用縮短產(chǎn)品上市時(shí)間,同時(shí)降低了系統(tǒng)的總體成本。

            我們使用的ADSP-BF533可以實(shí)現(xiàn)600 MHz的持續(xù)工作,具有:4 GB的統(tǒng)一尋址空間;80 kB SRAM的L1指令指令存儲(chǔ)器,其中16 kB可配置成4路的聯(lián)合Cache;2個(gè)32 kB SRAM的L1數(shù)據(jù)存儲(chǔ)器,其中一半可配置為Cache;集成豐富的外圍設(shè)備和接口。

            3 基于BF533的H.264去方塊濾波優(yōu)化實(shí)現(xiàn)

            去方塊濾波器在Blackfin BF533優(yōu)化實(shí)現(xiàn)主要分為系統(tǒng)級(jí)別的優(yōu)化、算法級(jí)別的優(yōu)化、匯編級(jí)別的優(yōu)化3個(gè)級(jí)別。

            3.1 系統(tǒng)級(jí)別的優(yōu)化

            打開(kāi)DSP平臺(tái)中編譯器的優(yōu)化選項(xiàng)并將優(yōu)化速度設(shè)置為最快,打開(kāi)Automatic Inlining開(kāi)關(guān)(自動(dòng)內(nèi)聯(lián)開(kāi)關(guān))以及Interprocedural optimization開(kāi)關(guān)(優(yōu)化過(guò)程開(kāi)關(guān)),通過(guò)以上的一些設(shè)置充分發(fā)揮Blackfin BF533的硬件性能。

            3.2 算法級(jí)別的優(yōu)化

            將JM8.6參考模型中的去方塊濾波部分進(jìn)行適當(dāng)?shù)南到y(tǒng)修改,移植到原有的基于Blackfin BF533的H.264基本擋次的解碼器中,并通過(guò)圖像序列對(duì)其進(jìn)行耗時(shí)分析。選用碼率為400 kbit/s左右的Paris.cif、Mobile.cif、Foreman.cif、Claire.cif序列,去方塊濾波所耗費(fèi)的時(shí)鐘周期約為1 600 MHz~1 800 MHz,即使在經(jīng)過(guò)系統(tǒng)優(yōu)化后,仍然相當(dāng)大,效率很低,對(duì)于Blackfin BF533處理器600 MHz的持續(xù)工作頻率是相當(dāng)大的負(fù)擔(dān)。

            通過(guò)分析JM8.6中去方塊濾波程序,其效率低下的主要原因是:


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();