基于處理器的去方塊濾波器的實現(xiàn)及優(yōu)化_第1頁
基于處理器的去方塊濾波器的實現(xiàn)及優(yōu)化_第2頁
基于處理器的去方塊濾波器的實現(xiàn)及優(yōu)化_第3頁
基于處理器的去方塊濾波器的實現(xiàn)及優(yōu)化_第4頁
基于處理器的去方塊濾波器的實現(xiàn)及優(yōu)化_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于處理器的去方塊濾波器的實現(xiàn)及優(yōu)化引言在已有的基于塊的視頻編解碼系統(tǒng)中,當碼率較低時都存在方塊效應,新的視頻編碼標準 陰亦是如此。產(chǎn)生這種方塊效應的主要原因有兩個:一是由于對變換后的殘差系數(shù)進行的基于塊的整數(shù)變換后,以大的量化步長對變換系數(shù)進行量化會使得解碼后的重建圖像的方塊邊緣出現(xiàn)不連續(xù);二是在運動補償中插值運算引起的誤差使得編解碼器反變換后的重建圖像會出現(xiàn)方塊效應。如果不進行處理,方塊效應還會隨著重構幀積累下去,從而嚴重地影響圖像的質(zhì)量和壓縮效率。為了解決這一問題, 財?shù)娜シ綁K濾波技術采用較為復雜的自適應濾波器來有效地去除這種方塊效應。因此,如何在實時視頻解碼中優(yōu)化去方塊濾波算法,降低計算復雜度,提高重建圖像質(zhì)量,就成了 解碼的一個關鍵問題。22去方塊濾波濾波原理大的量化步長會造成相對較大的量化誤差,這就可能將原來相鄰塊“接壤”處像素間灰度的連續(xù)化變成了“臺階”變化,主觀上就有”偽邊緣”的方塊效應。去方塊效應的方法就是在保持圖像總能量不變的條件下,把這些臺階狀的階躍灰度變化重新復原成臺階很小或者近似連續(xù)的灰度變化,同時還必須盡量減少對真實圖像邊緣的損傷。自適應濾波過程在中4去方塊濾波器是按照16X16像素的宏塊為單位順序進行的,在宏塊中按照每個4X4子塊之間的邊緣以先垂直后水平的順序進行,從而對整個重建圖像中的所有邊緣圖像邊緣除外進行濾波。具體的邊緣示意圖如圖1所示。對于16X16像素的亮度宏塊,共有4條垂直邊緣,4條水平邊緣,每條邊緣又分為16條像素邊緣。而對應8X8像素的色度宏塊有垂直邊緣和水平邊緣各條,每條邊緣分為8條像素邊緣。像素邊緣是進行濾波的基本單元。圖】16x16像素宏塊內(nèi)圖像邊繚1.2.濾1波器在兩個層次上的自適應性中的去方塊濾波所以有較好的濾波效果,是由于它在以下兩個層次上的自適應性。1濾波器在4X4子塊級別的自適應性濾波是基于各個子塊中的像素邊緣進行的,通過對每一條像素邊緣定義一個參數(shù)邊緣強度來自適應地調(diào)節(jié)濾波的強弱和涉及的像素點。色度塊的像素邊緣強度與相應的亮度像素邊緣強度相同。假設和為兩個相鄰的4X4子塊,其中的像素邊緣強度通過圖的步驟獲得。的值越大,則對相應的邊緣兩側進行的濾波越強,這是根據(jù)產(chǎn)生方塊效應的原因來設定的,如采用幀內(nèi)預測模式的子塊的方塊現(xiàn)象較明顯,則對該子塊中的對應邊緣設定較大的像素邊緣強度值來進行強濾波。濾波器在像素點級別上的白適應性正確區(qū)分由于量化誤差、運動補償產(chǎn)生的虛假邊緣和圖像中的真實邊界才能得到好的濾波效果。通常,真實邊界兩側的像素梯度差值要比虛假邊界兩側的像素梯度差值大,因此,濾波器通過對邊緣兩側像素點的灰度值的梯度差值設定門限a、對同一側的相鄰像素點的灰度值的梯度差值設定門限P來進行真?zhèn)芜吔绲呐卸?。a和B的值主要與量化步長有關,當量化步長大時,量化誤差也大,方塊效應就明顯,易產(chǎn)生虛假邊界,因此門限值隨之變大,放寬濾波條件。反之,量化步長小時門限值也變小,體現(xiàn)了自適應性。采樣點的設置見圖3。若條件都滿足,則進開始濾波。!pi;苗由『叫曲QIj加i也

j'"*博就地擇

hPfl-QDIJPi-印IV0:-QO1中:

a根米坡間的門眼聿代表境內(nèi)的口限

圖3得誄灌像素示意圖除了這兩種自適應性,還可以通過設置位于片級的系數(shù) 、 來調(diào)整濾波的強度。例如當傳輸碼率較低時,方塊效應較明顯,接收端想要主觀質(zhì)量相對較好的圖像,則編碼端可通過設置位于片頭信息中的濾波偏移量 、為正值,以此增大a和p來加強濾波,通過去除方塊效應來提高圖像主觀質(zhì)量。或者對于高分辨率的圖像,可以通過傳送負值偏移來減弱濾波,盡量保持圖像的細節(jié)。依據(jù)各像素邊緣值對相鄰的像素濾波若當前像素邊緣符合濾波條件,則根據(jù)其相應的值選取對應的濾波器進行濾波并且進行適當?shù)募羟胁僮鳎苑乐箞D像的模糊當值是,,時,采用一個抽頭的線性濾波器,對輸入的、、、進行濾波調(diào)整得到新的、,如果內(nèi)部有虛假邊界,則進一步調(diào)整、的值。當值是時,則對應的是采用幀內(nèi)編碼模式的宏塊邊緣,應采用較強的濾波以達到增強圖像質(zhì)量的目的。對于亮度分量,若條件 ?a》 成立,則選擇拙頭濾波器對、進行濾波,使用較強的抽頭濾波器對進行濾波;若條件不成立,則只使用較弱的抽頭濾波器對進行濾波,而、 的值保持不變。對于色度分量,若上述條件滿足,則對進行抽頭濾波,若條件不滿足,則所有的像素值都不修改。對、、的濾波操作與、、的濾波操作相同。的5特3點3和結構我們的 去方塊濾波是在 公司的 處理器上實現(xiàn)的。 系列 主要具有以下特點:高度并行的計算單元。 系列 體系架構的核心是數(shù)據(jù)算術單元)包括個位的乘法累加器)個位的算術邏輯單元)個位單桶形的移位器,個位視頻。每個 能在單一時鐘周期內(nèi)對個獨立的數(shù)據(jù)操作數(shù)執(zhí)行位乘位的乘法運算。位的可累加個位的數(shù)字或者個位的數(shù)字。這種體系架構可靈活地進行值、位、位的數(shù)據(jù)運算。動態(tài)電源管理。處理器可以通過改變電壓和工作頻率,消耗比其他更少的功耗。 系列體系架構的允許電壓和頻率獨立調(diào)整,使得每一項任務的消耗能量最小,在性能和功耗間有較好的平衡,適合實時視頻編/解碼器的開發(fā),特別是對功耗有嚴格要求的實時運動視頻處理。高性能的地址產(chǎn)生器。具有個 數(shù)據(jù)地址產(chǎn)生器)用于產(chǎn)生支持高級 濾波運算的地址的復合裝入或存儲單元。支持位倒序?qū)ぶ泛脱h(huán)緩沖以及其他多種尋址方式,提高了編程的靈活性。分層結構的內(nèi)存。分層結構的內(nèi)存縮短了內(nèi)核對內(nèi)存的訪問時間,以獲得最大的數(shù)據(jù)吞吐量、較少的延遲和縮短的處理空載時間。特有的視頻操作指令。提供適合 離散余弦變換)霍夫曼編碼等視頻壓縮標準中常用的操作指令,這些視頻指令還消除了主處理器與一個獨立的視頻編解碼器之間的復雜和易混和通信問題。這些特點有助于為終端應用縮短產(chǎn)品上市時間,同時降低了系統(tǒng)的總體成本。我們使用的 可以實現(xiàn) 的持續(xù)工作,具有: 的統(tǒng)一尋址空間; 的指令指令存儲器,其中 可配置成路的聯(lián)合 c個 的數(shù)據(jù)存儲器,其中一半可配置為 c集成豐富的外圍設備和接口?;诘?去方塊濾波優(yōu)化實現(xiàn)去方塊濾波器在 優(yōu)化實現(xiàn)主要分為系統(tǒng)級別的優(yōu)化、算法級別的優(yōu)化、匯編級別的優(yōu)化個級別。系統(tǒng)級別的優(yōu)化打開 平臺中編譯器的優(yōu)化選項并將優(yōu)化速度設置為最快,打開 開關自動內(nèi)聯(lián)開關以及開關優(yōu)化過程開關)通過以上的一些設置充分發(fā)揮 的硬件性能。算法級別的優(yōu)化將 參考模型中的去方塊濾波部分進行適當?shù)南到y(tǒng)修改,移植到原有的基于 的 基本擋次的解碼器中,并通過圖像序列對其進行耗時分析。選用碼率為 /左右的 、 、 、 序列,去方塊濾波所耗費的時鐘周期約為 ? 0即使在經(jīng)過系統(tǒng)優(yōu)化后,計算復雜度仍然相當大,效率很低,對于 處理器 的持續(xù)工作頻率是相當大的負擔。通過分析 中去方塊濾波程序,其效率低下的主要原因是:、)算法中的函數(shù)邏輯關系復雜,判斷、跳轉(zhuǎn)、函數(shù)調(diào)用等情況特別多;最耗時的部分,即函數(shù)循環(huán)的內(nèi)部存在大量的重復計算,造成計算復雜度劇增;算法中用到的不少數(shù)據(jù),例如運動矢量、圖像的亮度和色度數(shù)據(jù)等存放在速度較慢的片外 中,但在濾波過程中的頻繁調(diào)用,使數(shù)據(jù)搬運時間劇增。針對耗時的原因,對算法進行了以下改進:.將1原程序中復雜的函數(shù)及循環(huán)簡單化指令長度和運算速度是相互制約的,往往將代碼通過條件判斷可以進行高度精簡,但由于增加了機器的判斷工作量而使得速度變慢;反之,將代碼中的判斷去除,程序進行展開,往往可以減少耗費的指令周期,但代碼長度會增加。 中的去方塊濾波代碼較短,將其中的函數(shù)間關系簡單化,以代碼長度增加換取執(zhí)行速度的增加。對于系統(tǒng)運行最耗時的循環(huán)體,采取適當改寫循環(huán)形式、多重循環(huán)體展開等方法有效地減少運算的復雜度。此外,減少調(diào)用函數(shù)次數(shù),改寫語句也是有效的優(yōu)化手段。去2除參考代碼中的大量冗余代碼和重復計算因為使用的參考代碼是 中的去方塊濾波模塊,該模塊可以對 的各種擋次和級別的碼流進行濾波,而解碼器是基于基本擋次的,僅僅涉及到幀、幀的濾波操作,因此可以將參考代碼中的關于幀、/幀、場模式和幀場自適應模式的相關濾波部分去除。繁調(diào)用片外數(shù)據(jù)的時間,提高了運行速度;另一方面通過對待濾波宏塊的細分,減少了參考代碼中的判斷引起的流水線中斷,也在一定程度上提升了程序速度。匯編級別的優(yōu)化處理器的內(nèi)核支持或語言,但由系統(tǒng)自動將程序翻譯成匯編語言效率比較低下,因此對一些系統(tǒng)調(diào)用比較頻繁、耗時較多的模塊,可以用人工將其轉(zhuǎn)化成高效率的匯編語言來提高運行速度。主要通過以下幾個方面來提高程序的速度:以寄存器變量代替局部變量。在語言中,子程序和函數(shù)中往往使用局部變量來暫時存放數(shù)據(jù)。當程序運行時,編譯器為聲明的所有局部變量開辟臨時內(nèi)存空間,對于局部變量的存取操作都涉及到內(nèi)存的存取,而內(nèi)存訪問的速度相對于寄存器訪問是很慢的。因此,可以利用系統(tǒng)中的數(shù)據(jù)寄存器、指針寄存器來替代僅僅起暫存作用的局部變量,從而大大節(jié)省系統(tǒng)訪問內(nèi)存帶來的時間延遲。但由于系統(tǒng)中的寄存器數(shù)量對于局部變量來說相當有限,因此必須合理高效地使用寄存器。以硬件循環(huán)代替軟件循環(huán)。軟件循環(huán)是指在或 等循環(huán)的開始或結尾處設置判斷條件來控制循環(huán)的開始、繼續(xù)、結束。軟件循環(huán)的條件判斷指令會動態(tài)地選擇分支,一旦發(fā)生跳轉(zhuǎn),會阻塞流水線,而保持流水線的暢通是保持高效運行的關鍵因素。 處理器有專用的硬件支持兩級嵌套的零開銷硬件循環(huán),這種方式不需要判斷條件轉(zhuǎn)移,硬件根據(jù)預定的循環(huán)次數(shù)自動執(zhí)行循環(huán)并結束循環(huán),從而保證了流水線的暢通,提高速度。充分利用數(shù)據(jù)總線寬度。 外部數(shù)據(jù)總線寬度位,一次可存取字節(jié)。因此,充分利用數(shù)據(jù)總訪問寬度,特別在操作大量數(shù)據(jù)時,保持一次存取4字節(jié),可減少指令周期數(shù),從而提高執(zhí)行速度。高效使用并行指令和向量指令。并行指令和向量指令是 系列 的一大特點。通過對并行指令的使用,可以充分發(fā)揮處理器的系統(tǒng)結構的優(yōu)點及硬件資源的并行處理能力,減少指令數(shù),從而提高程序執(zhí)行效率。往往通過對程序的合理安排可以做到使用條并行指令來替代2條或3條非并行指令。向量指令則充分利用指令寬度,同時對多個數(shù)據(jù)流進行相同操作,如要進行2個16位的算術或移位操作,完全可以通過個位的向量指令來實現(xiàn),從而以個時鐘周期來實現(xiàn)原來個周期的工作。例如 就用個指令周期同時實現(xiàn)個16位數(shù)據(jù)的求絕對值操作。合理配置數(shù)據(jù)存儲空間。限于片內(nèi)和片外數(shù)據(jù)存儲空間的訪問速度和容量特點,片內(nèi)空間存取速度快但容量很小,而片外空間較大但訪問速度慢,因此,合理地分配數(shù)據(jù)存放位置對于提高程序的運行速度是十分關鍵的。對于使用頻率高的數(shù)據(jù)盡量放在片內(nèi)空間中,而不常用的數(shù)據(jù)放在片外空間中。若要存取位于片外的數(shù)據(jù)時,應將待存取的數(shù)據(jù)盡量安排成連續(xù)分布,一次將大塊的片外數(shù)據(jù)讀進片內(nèi)緩存,避免頻繁讀取片外數(shù)據(jù)帶來的時間浪費。

優(yōu)化實現(xiàn)的結果測試優(yōu)化效果的方法是將參考代碼 中的去方塊濾波程序模塊加到原有的解碼器中進行測試,并與經(jīng)過系統(tǒng)、算法、匯編個級別優(yōu)化e測試數(shù)據(jù)見表e測試數(shù)據(jù)見表兼I在方塊逮該枳塊優(yōu)就商后的冏期比較閏到苫林口㈤禧下二^逋二,優(yōu)正一

¥門即之初閏到苫林口㈤禧下二^逋二,優(yōu)正一

¥門即之初底」的:彘SW<205,72t509,30).TNAl4*ilr.rij25 4:I N訃JMM傲1:4防口即 總陽州 f£ft鼻白L-優(yōu)化心~憂itii丁 "'植舊;f信看1 2 I — . IT -蛔工&*1.相I 137,7^.324 1 .S2S,216,?12 標5.知明040 7.12Iia.4W.W2 I J6S,<M6,fl25 乎R.&lO/M ft5573H.4?6,237 J15,3㈢465 1.66:覺蟲困 2.^.953.33(1 亂噴由表可以看出,與未優(yōu)化前的中的程序代碼相比,經(jīng)過優(yōu)化后的去方塊濾波匯編模塊效率提高了倍左右5結束語本文通過系統(tǒng)、算法及匯編個級別優(yōu)化實現(xiàn)了中的去方塊濾波功能,特別是通過改進去方塊濾波的實現(xiàn)算法,對待濾波的宏塊進行分類以及充分地利用并行指令、向量指令等匯編級別的優(yōu)化手段,取得了較好的優(yōu)化效果。優(yōu)化實現(xiàn)的去方塊濾波

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論