專利名稱:一種高速h.264視頻編解碼濾波器結構的制作方法
技術領域:
本實用新型涉及一種視頻編解碼處理技術,特別涉及視頻編解碼中的一種 濾波器結構。
背景技術:
在H.264視頻編解碼標準中,編解碼器反變換量化啟圖像會出現(xiàn)方塊效應, 方塊效應會使圖像塊之間的邊界上產生數(shù)據(jù)不連續(xù),視覺上感覺圖像很粗糙, 因此,必須在視頻編解碼器中增加去方塊效應濾波器。
在編解碼過程中,方塊效應的產生原因主要有兩個,最重要的一個原因在 于基于塊的幀內和幀間預測殘差的DCT變換,其變換系數(shù)的量化過程相對粗糙, 因而反量化過程恢復的變換系數(shù)帶有誤差,會造成在圖像塊邊界上的不連續(xù); 第二個原因來自于運動補償預測,運動補償塊可能從不同幀的不同位置上內插 點的數(shù)據(jù)復制得到,而運動補償?shù)钠ヅ浜茈y達到絕對精確,因此會在復制塊的 邊界上產生數(shù)據(jù)不連續(xù)。同時,參考幀中存在的邊界不連續(xù)也會被復制到需要 補償?shù)膱D像塊內。H.264標準一方面采用較小的變換尺寸4x4來盡量降低所述 不連續(xù)現(xiàn)象,另一方面增加去方塊效應濾波器,以最大程度的提高其編解碼性 能。
在基于11.264標準下,主要在編解碼環(huán)路中使用濾波器,從濾波效果和存儲 空間的不同來考慮, 一般選擇環(huán)路濾波器作為所述去方塊效應濾波器。所述環(huán) 路濾波器由于具有高度的自適應性,.需要對方塊邊界及樣點量化值進行條件判斷和處理,因而復雜度較高;而且由于在算法的主要內容循環(huán)中不可避免地出 現(xiàn)條件分支,因而比較耗時。另一方面,由于在濾波算法中,圖像中幾乎每個 像素點都要參與計算,其中的乘除法使編解碼器的計算復雜度大大增加。
現(xiàn)有的11264編解碼中,濾波器通常采用如圖1 (a)、 (b)所示的兩種結構, 其中,圖1 (a)所示的結構簡單,但操作較復雜,其中在數(shù)據(jù)分析處理中的讀 取數(shù)據(jù)及濾波完成后的寫回都需要訪問外部SDRAM (同步動態(tài)隨機存儲器), 且為不連續(xù)的訪問,需要耗費大量的讀寫及等待時間。
圖l (b)所示的結構中,相比圖l (a)所示的結構增加了兩個存儲單元 左邊垂直邊界緩存單元和頂部水平邊界緩存單元。在濾波過程開始后,先從外 部的SDRAM中讀取當前宏塊濾波所需要的左邊垂直邊界濾波點數(shù)據(jù)和頂部水 平邊界濾波點數(shù)據(jù),存儲在所述增加的兩個存儲單元中;濾波完成后,將這兩 個存儲單元中已濾波的數(shù)據(jù)寫回到SDRAM,所述結構防止了間斷性的訪問 SDRAM,頂部水平邊界連續(xù)數(shù)據(jù)可以實行連續(xù)讀寫,能夠節(jié)省一定的時間,但 是在整個過程中訪問SDRAM所要讀寫的信息量沒有發(fā)生改變,在時間消耗上 的節(jié)省十分有限。
在高速系統(tǒng)中,如果SoC的頻率足夠高,則所述兩種結構也被普遍采用, 然而,很多低速系統(tǒng)中,若采用所述兩種結構,則濾波器在處理速度上將成為 整個H.264編解碼的瓶頸,因此需要采用一種更有效的濾波器結構,在保證視 頻圖像濾波質量的前提下,盡可能的節(jié)省濾波器在濾波過程中所消耗的時間, 使得H.264視頻編解碼器更易于實現(xiàn)。
發(fā)明內容
本實用新型所要解決的技術問題是在低速系統(tǒng)中,減少H.264編解碼過程中濾波計算所需時間?;谒霈F(xiàn)有技術中存在的問題,本實用新型公開了一種
高速H.264視頻編解碼濾波器結構。
一種高速H.264視頻編解碼濾波器結構,該結構包括AHB總線(201)、宏 塊信息單元(202)、濾波器單元(203),所述三個單元順次相連,其中宏塊信 息單元(202)和濾波器單元(203)之間雙向連接,另外,該結構還包括內部 存儲單元(204),所述內部存儲單元(204)和濾波器單元(203)雙向連接, 且和AHB總線(201)單向連接,數(shù)據(jù)信號從內部存儲單元(204)寫入AHB 總線(201)。
所述內部存儲單元(204)的大小在幀場自適應模式下為不小于每行點數(shù)與 宏塊尺寸乘積的四倍。
所述內部存儲單元(204)的大小在非幀場自適應模式下為不小于每行點數(shù) 與宏塊尺寸乘積的兩倍。
本實用新型的有益效果在于本實用新型所述結構避免了濾波模塊對外部 SDRAM的頻繁讀寫,在整個系統(tǒng)的頻率較低的情況下,減少了濾波模塊直接對 外部SDRAM的零散數(shù)據(jù)費時的存取以及等待操作,進而節(jié)省了濾波過程所消 耗的時間,實現(xiàn)了低速系統(tǒng)中高速地對圖像濾波,減少方塊效應。
圖1 (a)和圖1 (b)為現(xiàn)有技術中兩種通用濾波器結構圖; 圖2為本實用新型所提出的濾波器結構圖3 (a)為本實用新型濾波器結構中存儲器單元結構;圖3 (b)為宏塊濾波數(shù)據(jù)結構示意圖4為本實用新型具體實施方式
中濾波過程整體流程圖5為本實用新型具體實施方式
中濾波操作流程圖6為本實用新型具體實施方式
中濾波邊界點濾波示意圖。
具體實施方式
下面參考附圖,對本實用新型的具體實施方式
作詳細說明。
圖2所示為本實用新型所述的一種高速R264視頻編解碼濾波器結構,該結構 包括AHB總線201、宏塊信息單元202、濾波器單元203和內部存儲單元204。所 述AHB總線201、宏塊信息單元202和濾波器單元203三個單元順次相連,其中宏 塊信息單元202和濾波器單元203之間雙向連接,另外,所述內部存儲單元204和 濾波器單元203之間雙向連接,且和AHB總線201單向連接,數(shù)據(jù)信號從內部存 儲單元204寫入AHB總線201 。
其中,AHB總線201為整個硬件架構的內部數(shù)據(jù)總線;宏塊信息單元202存 儲了當前宏塊濾波計算所需要的所有參數(shù)信息,以及當前宏塊數(shù)據(jù),其中所述 宏塊數(shù)據(jù)存放在16xl6x8bit大小的存儲單元內;濾波器單元203對當前圖像數(shù)據(jù) 進行濾波處理,其中包括濾波邊界分析,.濾波強度自適應計算,邊界濾波計算。
內部存儲單元204為本實用新型區(qū)別于圖1 (a)和(b)所示現(xiàn)有技術中濾波 器結構的單元,本實施例中選擇該存儲器大小為720X16X4個字節(jié)的一個內部 RAM (隨機存儲器),所述RAM能夠實現(xiàn)內部的最大128位的讀寫操作。當濾波 器開始工作,濾波模塊根據(jù)宏塊信息單元202中保存的參數(shù)信息,直接從內部存 儲單元204快速的讀取所需要的當前宏塊的邊界數(shù)據(jù),經過濾波處理寫回存儲 器,并且在水平濾波過程中直接將當前宏塊濾波完成數(shù)據(jù)直接寫入所述內部存儲單元204。在整個操作過程中,不需要繁瑣的訪問外部SDRAM讀寫數(shù)據(jù),因 而避免了大量的總線申請、仲裁、等待和讀寫的時間。最后,在幀場自適應情 況下,做完4行宏塊的濾波后,將前面兩行宏塊的連續(xù)數(shù)據(jù)通過AHB總線201采 用DMA方式(直接內存存取方式) 一次性寫出到外部的SDRAM中,由于是連續(xù) 地址的數(shù)據(jù)讀寫,使得操作的效率大大提高,而且,在整個處理過程中,每個 地址的數(shù)據(jù)只需要做一次的寫操作,而現(xiàn)有技術中所述結構最多需5次讀寫操 作,因此本實用新型所述濾波器結構效率明顯高于現(xiàn)有技術中濾波器結構,且 在本實用新型所述濾波器結構下,濾波器運算過程中的時間消耗大大降低了。. 同時,也大大地簡化了對SDRAM訪問的控制操作。
圖3 (a)即為本具體實施方式
采用的內部存儲單元204的結構圖,本賣施例 中,720表示一行視頻數(shù)據(jù)的像素點數(shù),每個宏塊的大小為16xl6個像素點,每 個像素點的數(shù)據(jù)為l個字節(jié),水平方向為一行的長度,垂直方向為四個宏塊的寬 度,即四行宏塊共16x4個字節(jié),如圖3 (a)所示,宏塊的放置是成對的.,其中 宏塊A0和宏塊A1、宏塊B0和宏塊B1、宏塊C0和宏塊C1及宏塊D0和宏塊D1分別 為四個不同的宏塊對。若為幀模式,則所述宏塊對A0和A1是逐行排列的四行中 的部分數(shù)據(jù);若為場模式,則所述宏塊對A0和A1為隔行數(shù)據(jù)。
另外,所述內部存儲單元204的大小不局限于本實施例中所述720x 16x4個字 節(jié),其它滿足在場模式下,內部存儲單元不小于每行點數(shù)與宏塊尺寸乘積的四 倍大??;幀模式下存儲單元不小于每行點數(shù)與宏塊尺寸乘積的兩倍大小的都屬 于本實用新型保護的范圍。
圖3 (b)為以宏塊AO為當前宏塊時,對該宏塊AO去方塊效應的濾波數(shù)據(jù)示 意圖,宏塊邊界上的濾波需要得到該宏塊左邊界外和頂部邊界外的已解碼的圖 像數(shù)據(jù),圖3 (b)中粗線條表示需要進行濾波的邊界共四條垂直邊界和四條水平邊界,其中宏塊A0所在圖像中的位置如圖3(a)所示,由于三個宏塊對A0/A1, B0/B1, C0/C1的幀場方式可能不一樣,按幀場自適應的匹配規(guī)則,對當前宏塊 A0濾波時需涉及該當前宏塊左邊垂直邊界B0或B1和頂部水平邊界C0或C1,若宏 塊對A0/A1和宏塊對B0/B1的幀場模式相同時,則需參考宏塊BO最右邊四個數(shù)據(jù) 和宏塊C1最底下四個數(shù)據(jù);若宏塊對A0/A1和宏塊對B0/B1的幀場模式不相同 時,則參考宏塊B0和宏塊B1最右邊隔行的四個數(shù)據(jù)以及宏塊C0和宏塊C1最底下 的四個隔行數(shù)據(jù)。
圖4所示為本實施例中濾波過程整體流程圖,先對垂直四個邊界進行濾波, 然后再對水平四個邊界進行濾波。而圖5所示為具體對一個邊界濾波的流程圖, 具體步驟如下
步驟S501:從內部存儲單元204中獲取整條邊界信息兩邊數(shù)據(jù),作為參與 濾波的數(shù)據(jù);如圖3 (b)所示,設垂直邊界為O、 1、 2、 3,水平邊界為a、 b、 c、 d。在做0邊界濾波的時候,需要得到當前宏塊左邊1列4個4x4小塊的所 有信息以及左邊界點外對應的宏塊對中對應的小塊信息;若當前宏塊是整個圖 像最左邊沿的宏塊,則其左邊宏塊不存在,O邊界不需要進行濾波,直接跳轉分 析1邊界的參數(shù)信息進行步驟S504的操作;否則,進入步驟S502。
步驟S502:對宏塊信息單元202中存儲的參數(shù)信息進行分析,計算濾波強 度。每一個邊界點的濾波強度決定了該點及其左右參與計算的點的修改程度。 本實用新型中,濾波強度的計算方法為現(xiàn)有技術中通用的算法,取BS表示所 需的濾波強度,則該濾波強度BS的值可取0到4,根據(jù)是否為幀內預測,是否 對殘差編碼,是否為宏塊邊界以及是否存在運動矢量幾個方面判斷所述濾波強 度BS的值,若濾波強度BS越大,則修改的邊界點越多。
步驟S503:根據(jù)由步驟S502得到的濾波強度BS,對邊界點進行濾波計算,如附圖6所示,先將P數(shù)據(jù)與當前宏塊內取來的Q數(shù)據(jù)進行邊界分析,分析邊 界兩邊數(shù)據(jù)是否連續(xù),如果不連續(xù),那么分兩種情況, 一是所述不連續(xù)部分為 圖像的物理邊界,則不需要作濾波處理;否則為第二種情況,需要根據(jù)濾波強 度對邊界點進行計算調整,在變化最大情況下(BS=4),最多可能使P0, Pl, P2, Q0, Ql, Q2數(shù)據(jù)點的值發(fā)生變化。濾波完成后,將已濾波調整的從內部 存儲單元204取來的數(shù)據(jù)寫回,宏塊內部濾波后數(shù)據(jù)也寫回到宏塊重構RAM等 待后面的處理。
步驟S504:判斷垂直和水平共八個邊界是否濾波結束,否則進入步驟S501 對下一個邊界濾波,是則進入步驟S505,整個宏塊的濾波完成。 步驟S505:整個宏塊濾波完成。
其中,所有步驟所需的數(shù)據(jù)均直接從內部存儲單元204中讀寫,而不需要 直接訪問外部的SDRAM,因此存取數(shù)據(jù)以及等待所需的時間都得到了節(jié)省。
本實用新型所述的濾波器結構中,內部存儲單元204存儲宏塊數(shù)據(jù)可以分 為兩種情況
第一種情況為在幀場自適應條件下,當初始狀態(tài)時,需完成4行宏塊后, 所述內部存儲單元204將前面兩行宏塊輸出到AHB總線201上,系統(tǒng)將會采用 DMA方式通過所述AHB總線201將該兩行宏塊數(shù)據(jù)導出到外部的SDRAM; 在中間處理過程中,每處理完兩行宏塊數(shù)據(jù)后將前兩行宏塊的數(shù)據(jù)導出到外部 的SDRAM;當最后的兩行宏塊數(shù)據(jù)濾波處理完畢后,則完成了整個圖像幀的重 構和濾波,將內部存儲單元204內的所有的4行宏塊數(shù)據(jù)通過AHB總線201 — 次性寫出到外部SDRAM,按照所述過程完成一幀圖像的濾波處理。
第二種情況是在非幀場自適應條件下,由于相鄰的宏塊對的幀場模式相同, 則內部存儲單元204只需存儲兩行宏塊的數(shù)據(jù),在初始狀態(tài)時,需完成2行宏塊數(shù)據(jù)的濾波處理后,所述內部存儲單元204將前面一行宏塊數(shù)據(jù)輸出到AHB 總線201上,系統(tǒng)采用DMA方式通過所述AHB總線201將該行宏塊數(shù)據(jù)導出 到外部的SDRAM;在中間處理過程中,每完成一行宏塊數(shù)據(jù)的濾波處理,則將 前一行宏塊數(shù)據(jù)導出到外部的SDRAM;當完成一幀的最后一個宏塊數(shù)據(jù)的濾波 處理后, 一次性輸出2行宏塊數(shù)據(jù)到外部的SDRAM,按照所述過程完成一幀圖 像的濾波處理。
以上內容是結合具體的優(yōu)選實施方式對本實用新型所作的進一步詳細說 明,不能認定本實用新型的具體實施只局限于這些說明。對于本實用新型所屬 技術領域的普通技術人員來說,在不脫離本實用新型構思的前提下,還可以做 出若干簡單推演或替換,都應當視為屬于本實用新型的保護范圍。
權利要求1、一種高速H.264視頻編解碼濾波器結構,該結構包括AHB總線(201)、宏塊信息單元(202)、濾波器單元(203),所述三個單元順次相連,其中宏塊信息單元(202)和濾波器單元(203)之間雙向連接,其特征在于,該結構還包括一內部存儲單元(204),所述內部存儲單元(204)和濾波器單元(203)之間雙向連接,且和AHB總線(201)單向連接,數(shù)據(jù)信號從內部存儲單元(204)寫入AHB總線(201)。
2、 根據(jù)權利要求1所述的一種高速11.264視頻編解碼濾波器結構,其特征 在于,所述內部存儲單元(204)的容量大小在幀場自適應模式下為不小于每行 點數(shù)與宏塊容量乘積的四倍。
3、 根據(jù)權利要求1所述的一種高速汪264視頻編解碼濾波器結構,其特征 在于,所述內部存儲單元(204)的容量大小在非幀場自適應模式下為不小于每 行點數(shù)與宏塊容量乘積的兩倍。
專利摘要本實用新型公開了一種高速H.264視頻編解碼濾波器結構,該結構包括AHB總線、宏塊信息單元、濾波器單元,所述三個單元順次相連,其中宏塊信息單元和濾波器單元之間雙向連接,另外,該結構還包括一內部存儲單元,所述內部存儲單元和濾波器單元之間雙向連接,且和AHB總線單向連接,數(shù)據(jù)信號從內部存儲單元寫入AHB總線。本實用新型所述結構避免了濾波模塊對外部SDRAM的頻繁讀寫,在整個系統(tǒng)的頻率較低的情況下,減少了濾波模塊直接對外部SDRAM的零散數(shù)據(jù)費時的存取操作以及等待,進而節(jié)省了濾波過程所消耗的時間,減少方塊效應。
文檔編號H04N7/26GK201222785SQ20082009209
公開日2009年4月15日 申請日期2008年2月3日 優(yōu)先權日2008年2月3日
發(fā)明者何鐵軍, 劉俊秀, 毅 汪, 甘焱林, 嶺 石, 夫 高 申請人:深圳艾科創(chuàng)新微電子有限公司