一種用于并行結構的多視點視頻編碼強濾波實現方法
【技術領域】
[0001]本發明涉及視頻編碼技術領域,特別是多視點視頻編碼(Mult1-view VideoCoding,簡稱MVC)中的去塊效應強濾波算法并行化。
技術背景
[0002]多視點視頻的編碼(Mult1-view Video Coding,簡稱MVC)是由國際電信聯盟遠程通信標準化組織(ITU-T)的視頻編碼專家組(VCEG)和國際標準化組織/國際電工委員會(IS0/IEC)的動態圖像專家組組成的聯合視頻工作組對已經標準化的技術(即AVC)的擴展。MVC為一個視頻場景中的多個視點提供了一種的緊湊的表示形式,例如多個同步攝像機。3-D可視的立體聲配對視頻是MVC的一個重要特例。該標準使用視圖間預測來提高壓縮能力,同時也支持原始的時間和空間預測。MVC繼承了 H.264的優異性能:高質量的編碼效率,自由的編碼結構,良好的網絡兼容性,同時MVC還增加了時間的可分級性視點可分級性,光照補償,視點間預測等編碼工具,非常適用于立體視頻的壓縮編碼。
[0003]MVC采用基于塊的DCT變換、量化、運動補償,這些技術都會不可避免的在塊邊界引入快效應,嚴重影響圖像的主管質量,因此,MVC標準采用去塊效應環路濾波來去除塊效應,以提高圖像的主觀質量和編碼效率。
[0004]去塊濾波在整個視頻解碼過程中位于重建之后,對每個解碼完成的宏塊按光柵掃描順序進行濾波,圖像邊界不用濾波。而去塊濾波的運算量大約占解碼器計算總量的1/3。使之成為解碼器設計中的瓶頸之一。除此之外,與單視點視頻相比。多視點視頻在不同視點捕獲同一場景,而且還要給觀眾呈現出3D的立體感受。這一技術所需要的巨大數據量已成為制約其廣泛應用的另一個瓶頸。如何快速有效的進行去塊濾波對降低其計算復雜度十分重要。
【發明內容】
[0005]本發明的目的是針對上述問題,提出一種用于并行結構的多視點視頻編碼強濾波實現方法。本發明在不降低編碼效率的清況下可以大大的降低視頻編碼計算的復雜度。
[0006]為實現上述目的,本發明所采用的技術方法如下:一種用于并行結構的多視點視頻編碼強濾波實現方法,根據塊之間的數據相關性,在鄰接互連的4X4 二維處理元陣列(PE00-PE15)上對16X16的宏塊(1_16)進行去塊效應強濾波的并行處理。
[0007]使用鄰接互連的4X4 二維處理元陣列(PE00-PE15)分別加載4個4X4塊邊界(V0、V1、V2、V3、H0、Hl、H2、H3)兩側的 16 組、每組 8 個像素點(p3、p2、pl、p0、q0、ql、q2、q3),以并行方式依次完成垂直邊界和水平邊界16組像素點的去塊效應強濾波。
[0008]其宏塊垂直邊界的濾波計算方法:處理元陣列(PE00-PE15)分別對亮度分量Y的垂直邊界(V0)兩側16組、每組8個像素點(p3、p2、pl、p0、q0、ql、q2、q3)進行數據加載,等數據記載完成,分別根據所加載的數據進行并行濾波運算,待濾波運算完成后,對亮度分量的邊界(V0)的濾波計算完畢;
[0009]處理元陣列(PE00-PE07)分別對色度分量U的垂直邊界(V0)兩側8組、每組8個像素點(p3、p2、pl、p0、q0、ql、q2、q3)進行數據加載,與此同時,處理元陣列(PE08-PE15)分別對色度分量V的垂直邊界(V0)兩側8組、每組8個像素點(p3、p2、pl、p0、q0、ql、q2、q3)進行數據加載,等數據記載完成,分別根據所記載的數據進行并行濾波計算,待濾波運算完成后,對色度分量的邊界(V0)的濾波計算完畢,在整個過程中4X4 二維處理元陣列(PE00-PE07)用于對色度分量U的邊界處理,而4X4 二維處理元陣列(PE08-PE15)用于對色度分量V的邊界處理,且固定不變;
[0010]當處理亮度分量Y的垂直邊界(VI)時,由于在邊界(V0)處理過程中已經對邊界(VI)左側(即邊界(V0)右側)4個像素點的數據進行加載,所以只需加載邊界(VI)右側的4個像素點,并對邊界(VI)兩側16組、每組8個像素點進行并行濾波計算,待濾波運算完成后,對亮度分量的邊界(VI)的濾波計算完畢;
[0011]分量Y的垂直邊界(V2)按照邊界(VI)的處理方式進行濾波計算;
[0012]同樣在處理色度分量U、V各自的垂直邊界(VI)時,只需分別加載其邊界(VI)右側的4個像素點的數據,等數據加載完成,對應的PE對邊界兩側的8個像素點進行并行濾波計算,待濾波計算完成后,便完成了分量U、V的邊界(VI)濾波完畢;
[0013]同理,剩余分量Y的垂直邊界(V3)也按照邊界(VI)的處理方式進行濾波計算;需要強調的是,整個濾波順序按照標準中所規定的順序執行。
[0014]宏塊水平邊界的濾波計算方法:水平邊界的濾波需要用到垂直邊界濾波后的數據信息,所以需待完成整個宏塊的垂直邊界濾波后才能進行水平邊界濾波;處理元(PE00-PE15)分別對亮度分量Y的垂直邊界(H0)兩側16組、每組8個像素點(p3、p2、pl、p0、q0、ql、q2、q3)進行數據加載,等數據記載完成,分別根據所加載的數據進行并行濾波運算,待濾波運算完成后,對亮度分量的邊界(H0)的濾波計算完畢;
[0015]處理元(PE00-PE07)分別對色度分量U的垂直邊界(H0)兩側8組、每組8個像素點(p3、p2、pl、p0、q0、ql、q2、q3)進行數據加載,與此同時,處理元(PE08-PE15)分別對色度分量V的垂直邊界(H0)兩側8組、每組8個像素點(p3、p2、pl、p0、q0、ql、q2、q3)進行數據加載,等數據記載完成,分別根據所記載的數據進行并行濾波計算,待濾波運算完成后,對色度分量的邊界(H0)的濾波計算完畢,在整個過程中4X4二維處理元陣列(PE00-PE07)用于對色度分量U的邊界處理,而4X4 二維處理元陣列(PE08-PE15)用于對色度分量V的邊界處理,且固定不變;
[0016]當處理亮度分量Y的垂直邊界(H1)時,由于在邊界(H0)處理過程中已經對邊界(H1)上側(即邊界(H0)下側)16組,每組4個像素點的數據進行加載,所以只需加載邊界(H1)下側的16組,每組4個像素點,并對邊界(H1)兩側16組、每組8個像素點進行并行濾波計算,待濾波運算完成后,對亮度分量的邊界(H1)的濾波計算完畢;
[0017]亮度分量Y的水平邊界(H2)按照其水平邊界(H1)的處理方式進行濾波計算;
[0018]同樣在處理色度分量U、V各自的垂直邊界(H1)時,只需分別加載其邊界(H1)下側的8組,每組4個像素點的數據,等數據加載完成,對應的處理元(PE)對邊界兩側的8組,每組8個像素點進行并行濾波計算,待濾波計算完成后,便完成了分量U、V的邊界(H1)濾波完畢;
[0019]同理,剩余亮度分量Y的水平邊界(H3)也按照其水平邊界(H1)的處理方式進行濾波計算;
[0020]本發明提出了一種用于并行結構的多視點視頻編碼強濾波實現方法,有效縮短去塊濾波算法的處理時間,加快了編、解碼過程。并且,快速有效的進行去塊濾波,也降低了計算復雜度。
【附圖說明】
[0021]圖1為鄰接互連的4X4 二維處理元陣列。
[0022]圖2為16 X 16的宏塊。
[0023]圖3為塊邊界的定義。
[0024]圖4為亮度分量Y的濾波順序。
[0025]圖5為色度分量U的濾波順序。
[0026]圖6為色度分量V的濾波順序。
【具體實施方式】
[0027]4X4 二維處理元陣列PE00-PE15 (圖1),這16個處理單元通過近鄰互聯組成4X4的二維處理元陣列。
[0028]宏塊1-16 (圖2),英文Macroblock,是視頻編碼技術中的一個基本概念。在視頻編碼中,一個編碼圖像通常劃分成若干宏塊組成,一個宏塊由一個亮度像素塊和附加的兩個色度像素塊組成。一般來說,亮度塊為16X16大小的像素塊,而兩個色度圖像像素塊的大小依據其圖像的采樣格式而定,如:對于YUV420采樣圖像,色度塊為8X8大小的像素塊。每個圖象中,若干宏塊被排列成片的形式,視頻編碼算法以宏塊為單位,逐個宏塊進行編碼,組織成連續的視頻碼流。
[0029]在MVC中圖像是以16X16