專利名稱::視頻內容自適應的亞像素插值方法和裝置的制作方法
技術領域:
:本發明涉及一種插值方法,特別涉及視頻內容自適應的亞像素插值方法;另外本發明還涉及一種實現上述方法的視頻內容自適應的亞像素插值裝置。技術背景數字視頻消耗大量的存儲和傳輸容量,一般而言,視頻壓縮技術通過壓縮空間和時間兩個維度的信息冗余,以達到數字視頻比特率的目標。幀間編碼壓縮技術參考前面幀和后面幀以壓縮編碼預測幀,從而消除時間維上的冗余。在基于塊的視頻編解碼系統中,工程師們使用壓縮編碼技術來降低數字視頻的比特率,解壓是壓縮的逆過程。幀間壓縮技術參考多個前面或后面的幀來壓縮多個幀(一般稱當前被壓縮(解壓)幀為預測幀,P幀或B幀,稱用以參考的幀為參考幀)。它們的幀間壓縮都是使用基于塊的運動補償預測編碼,隨之編碼殘差。它們的P幀/B幀編碼技術的共同點是采用運動向量估計得到運動矢量,然后以宏塊或亞宏塊為單位基于運動補償進行幀間預測,接著對幀間預測得到的殘差塊進行二維變換,隨之對變換域系數量化,'最后熵編碼成碼流。采用各種抽頭的線性濾波器進行亞像素位置像素值的內插,以提高運動估計的準確性,在運動補償過程中得到較低的殘差能量,從而提高視頻壓縮效率。一般像素內插精度為二分之一,四分之一亮度像素,八分之一色度像素。八分之一的色度像素精度是理論值,其'運動矢量以對應亮度像素位置之矢量推斷而來,所以只詳細解釋亮度像素的插值過程。如圖1所示,標識了有全部可能的亞像素位置。陰影框A至D表示整數像素,而空白框a、bl、b2、cl、c2、dl至d4、el至e4、s、m表示內插像素,即亞像素。對圖1各個亞像素值的取得,比較典型的實施方案解釋如下。結合圖2解釋其插值過程。如圖2所示,顯示了亞像素示例位置pl,p2,a,其值由整數像數位置A至T插值來取得。用于這三個位置的六抽頭濾波器是bl=((0-5G+20B+20A-5L+T)+16)>>5(1)b2=((N-5F+20B+20C-51+Q)+16)〉〉5(2)其s,m,a0至a7位置的插值同于bl,b2。a=((al-5a0+20bl+20m-5a2+a3)+16)>>5或((a5-5a4+20b2+20s-5a6+a7)+16)〉>5(3)上述三式中,加16然后右移5位是取整控制。如果pl至p3,a0至a7暫時不做取整控制,直接用以(3)式,則式(3)變為a=((al-5a0+20bl+20m-5a2+a3)+512)》10或((a5-5a4+20b2+20s-5a6+a7)+512)》10(4)如果用0至255范圍的整數表示整數像素值,那么就同樣應該用0至255范圍的整數表示亞像素。所以應該將式(l)-(4)得到的值調整到0至255這個范圍,箝位運算可以實現這個任務。Qlip(O,255,x)=0;如果x<0.=255;如果x>255.=x;其它除以上敘述的之外,還有幾個與視頻壓縮和解壓有關的國際標準。盡管它們使用的壓縮技術細節上一般各有不同,.但都為在給定預定系數條件下,使用不同抽頭的濾波器,輸入不同的亞像素相鄰像素值從而得到插值結果。對亞像素位置插值的目的正是為了有效提高運動預測與補償的精確度,而具體實施的插值方法決定了亞像素位置像素值的擬合度。一般來說插值算法的擬合度越好,那么以之為基礎的運動估計與補償精確度也就越高。另外,插值算法的運算復雜度不能隨著其擬合度提高而大幅度增加,否則該方法和系統就不具有太高的實用價值,或者說不具有普適的實用價值,而只會在壓縮率要求很高而計算量很寬容的環境下有用。現有的應用于運動估計與補償中的亞像素插值技術如上所述,因之有幾項顯著的缺點,包括(上)其插值方法的擬合度相當受限于視頻內容。在進行亞像素插值時,使用預定給出系數的線性濾波器。一般它們的插值方法具體實施后,其系數也就固定不能改變。然而,數字視頻技術所處理的視頻內容千變萬化,其統計模型異常豐富。從信息理論上講,一種統計模型可以對相應數據源生成的數據有較高的擬合度,而對另一種統計特征的數據,其擬合度有可能急劇的下降。所以,對所有視頻內容都有不錯擬合度的而系數固定線性濾波器,那么對于有顯著特征而嚴重偏離高斯統計模型的視頻內容,必然有較大的改進空間。(2)插值方法里的濾波器的輸入特定于插值像素點水平或垂直方向相鄰像素點。而視頻內容并沒有特定于水平和垂直方向。良好的視頻幀內插值方法對于平面上的方向應該是透明的。受限于數字視頻內容表達方式,至少斜對角方向相鄰像素點也可以輸入以提高擬合度。(3)對四分之一亞像素a的插值,運算復雜度急劇升高。如前述舉例的典型實施方案中,bl,b2需要6次乘法,6次加法,一次移位運算。而插值a,需要42次乘法,36次加法,一次移位運算。復雜度多出近6倍。在有的實施方案中,需要從垂直方向與水平方向如此計算兩次,則運算復雜度多出近12倍。
發明內容本發明的目的在于提供一種運動估計匹配度好、壓縮率高、計算量小和視頻內容自適應的亞像素插值方法;本發明的另一個目的是提供一種實現上述方法的視頻內容自適應的亞像素插值裝置。本發明的目的可通過以下的技術措施來實現一種視頻內容自適應的亞像素插值方法,其特征在于包括以下步驟-(1)、根據輸入整數像素位置與待插值亞像素位置的距離,把輸入整數像素分三類獲得線性濾波器的基礎系數;(2)、根據輸入整數像素值與本次插值濾波加權均值的距離,修正步驟(1)的基礎系數;(3)、使用修正后的基礎系數對目標亞像素位置做插值濾波。如果亞像素插值位置的水平或垂直方向有四分之一或四分之三像素時,其濾波系數不變。本發明所述步驟(1)的輸入整數像素按如下分為三類輸入整數像素位置與待插值亞像素位置的距離最小的是第一類像素點,其次是第二類像素點,距離最大的是第三類像素點。本發明所述步驟(1)的基礎系數滿足如下兩約束條件a)w〈i,j'o〉=(一i)"^^g—rfV2ff2其中n表示輸入整數像素的類別號,對第一類像素點『1,第二類像素點『2,第三類像素點『3,C7表示方差,d為當前輸入像素位置到待插亞像素位置的距離;(2)w〈ij,0〉為整數,近似前一約束條件的值,且所有w〈i,j,0〉之和是2的冪。本發明所述步驟(2)的加權均值為(2Co〈i,j〉*L〈i,j〉+l/2*2Co<i,j〉)/SCo〈i,j〉(i,j遍歷輸入像素位置)其中L〈i,j〉為輸入像素值,Co〈i,j〉為加權均值系數。本發明所述加權均值系數Co〈i,j〉滿足高斯模型。本發明所述步驟(2)當輸入整數像素值與本次插值為濾波加權均值的距離大于或等于距離閥值,對輸入的第一、二和三類整數像素修正的基礎系數分別為1/9*W〈i,j,0〉、1/3*W〈i,j,0〉和0,其中W〈i,j,0〉修正前基礎系數;當輸入整數像素值與本次插值為濾波加權均值的距離小于距離閥值,對輸入的各類整數像素修正后的基礎系數不變。本發明所述的距離閥值所述的距離閥值設為16。本發明所述步驟(3)的插值濾波輸出為(SW〈i,j,1〉*L〈i,j〉+1/2*SW〈i,j,0〉)/2W〈i,j,0〉(i,j遍歷輸入像素位置)其中LXi,j〉為輸入像素值,W〈i,j,0〉、W〈i,j,l〉分別為修正前后的基礎系必/r數。實現上述方法的一種視頻內容自適應的亞像素插值裝置,包括用于生成當次插值系數的濾波系數生成器、插值濾波器和亞像素位置插值結果存儲器,輸入的亞像素插值位置和整數像素矩陣輸入所述的濾波系數生成器,濾波系數生成器根據插值位置的不同生成當次插值的濾波系數,輸出的濾波系數再和輸入端的整數像素^陣輸入至插值濾波器執行插值濾波,插值濾波后的輸出結果最后儲存在亞像素位置插值結果存儲器中并輸出。與現有技術相比,本發明具有以下的優點1、插值擬合度不會隨著視頻內容變化而急劇變化,本發明的技術方法有效的自適應于視頻內容的統計特征,從而運動估計匹配度,編碼壓縮率對應變化異常豐富的視頻內容保持在一個穩定的較優水平;同時計算復雜度也沒有相應的急劇增加。2、本發明的插值方法,是二維插值,不特定于水平或垂直方向上,所以具有更好的插值擬合度。3、對于a亞像素插值位置,運算復雜度并沒有較之bl,b2亞像素插值位置急劇增加,且其運算復雜度小于現有技術在a亞像素插值位置的運算復雜度。4、當本發明應用在解碼器系統里,對以4X4像素的塊為單位進行插值運動補償中,每次所需要的取得的參考幀塊大小為7X7,49個像素,小于現有技術所需要的9X9參考幀塊,81個像素,減少近37%的數據傳輸量。如果應用在編解碼芯片中,通過DMA方式獲取參考幀數據,減少37W的DMA數據傳輸量,效率將得到很大的提高。圖1為可能的亞像素位置示意圖;圖2為亞像素示例位置示意圖;圖3為a亞像素插值示意圖;圖4為bl亞像素插值示意圖;圖5為b2亞像素插值示意圖;圖6為現有技術中視頻編碼器中插值裝置示意圖;圖7為現有技術中另一視頻編碼器中插值裝置示意圖;圖8為本發明的視頻內容自適應的亞像素插值裝置。具體實施方式本發明采用的方法通過對濾波輸入像素點中嚴重偏離均值的像素,適合的減小其對應權重,減少其對線性濾波器產生震蕩效應,從而提高輸出值的擬合度。具體為依據相鄰亞像素點距離所決定的相關性,給出線性濾波器的基礎系數;繼之通過自適應于視頻內容的統計方法來修正基礎系數;用修正系數后的濾波器來對目標亞像素位置插值。如圖1中的a,bl,b2,s,m等五個亞像素,它們插值時濾波系數要隨著視頻內容改變而改變。其中如圖3、圖4和圖5所示,分別為a亞像素插值、bl亞像素插值和b2亞像素插值的示意圖。其中該方法具體步驟包括-(1)、根據輸入整數像素位置與待插值亞像素位置的距離,把輸入整數像素分三類獲得線性濾波器的基礎系數,其中輸入整數像素按如下分為三類輸入整數像素位置與待插值亞像素位置的距離最小的是第一類像素點,其次是第二類像素點,距離最大的是第三類像素點。對于a,bl,b2三個亞像素插值時,像素點類別如表格1。<table>tableseeoriginaldocumentpage10</column></row><table>表格la,bl,b2三個亞像素插值時,像素點類別基礎系數W〈i,j,0〉矩陣可以通過離線統計訓練的方法搏出。用于訓練學習的視頻數據庫不應局限在特定的幾種視頻密度統計模型,應充分涵蓋具有各種統計特征的視頻內容。基礎系數矩陣是對所有視頻內容都能有較穩定插值擬合度的濾波系數。在基礎系數矩陣訓練學習的初始值應滿足混合高斯模型約束,即輸入整數像素位置與待插值亞像素位置的距離d和對該輸入整數像素位置的基礎系數w〈i,j,G〉應該滿足<formula>formulaseeoriginaldocumentpage10</formula>(1)這里n表示輸入整數像素的類別號,對第一類像素『1,第二類像素『2,第三類像素『3;C7表示方差,其值一般為第一類像素點到待插亞像素位置距離的^;2d表示當前輸入像素位置到待插亞像素位置的距離。為了實際應用計算復雜度盡量減小,基礎系數W〈i,j,G〉矩陣其值應滿足的另一約束條件為所有系數為整數,且選擇近似前一約束條件的值,使所有系數總和為2的冪。舉例來說,遵循上述兩個約束條件,而通過一視頻數據庫訓練學習優化而得的系數矩陣可以如下對a亞像素位置插值時,輸入整數像素矩陣為:[V,F,E,U;G,B,A,L;H,C,D,K;W,I,J,X],基礎系數W〈i,j,0〉矩陣為:[1或2,-9或-8,-9或-8,1或2;-9或-8,81或64,81或64,-9或-8;-9或-8,81或64,81或64,-9或-8;1或2,-9或-8,-9或-8,1或2].對bl亞像素位置插值時,輸入整數像素矩陣為[*,F,E,*;G,B,A,L;*,C,D,*](*表示沒有輸入),基礎系數W〈i,j,0〉矩陣為:.對b2亞像素位置插值時,輸入整數像素矩陣為[*,G,H,*;F,B,C,I;*,A,D,*](*表示沒有輸入),基礎系數W〈i,j,0〉矩陣為.(2)、根據輸入整數像素值與本次插值濾波加權均值的距離,修正步驟(1)的基礎系數。其中,加權均值的系數Co〈i,j〉矩陣的獲得類似基礎系數矩陣的獲取,即輸入整數像素位置與待插值亞像素位置的距離d和對該輸入整數像素位置的加權均值的系數Co〈iJ〉應該滿足高斯模型Co〈iJ〉=e辜2.(2)這里cr表示方差,其值一般為第一類像素點到待插亞像素位置距離的丄;d2表示當前輸入像素位置到待插亞像素位軍的距離。舉例類說,遵循約束條件而可以通過離線訓練學習優化而得到的加權均值的系數矩陣可以如下對于a亞像素位置插值時,加權均值的系數Co〈i,j〉矩陣為[1,11,11,1;11,105,105,11;11,105,105,11;l'll,ll,l]。對于bl,b2亞像素位置插值時,加權均值的系數Co〈i,j〉矩陣相同為。本次插值濾波的加權均值公式為<formula>formulaseeoriginaldocumentpage11</formula>(i,j遍歷輸入像素位置)舉例來說,應用前述通過訓練學習而給出的加權均值系數矩陣,可以實施的加權均值計算為對于a亞像素位置插值時,加權均值為<formula>formulaseeoriginaldocumentpage12</formula>對于bl亞像素位置插值時,加權均值為<formula>formulaseeoriginaldocumentpage12</formula>對于b2亞像素位置插值時,加權均值為<formula>formulaseeoriginaldocumentpage12</formula>當輸入整數像素值與本次插值為濾波加權均值的距離H〈i,j>=|L<i,j>-M0|(i,j遍歷輸入像素位置,L<i,j〉代表該輸入像素值)大于或等于距離閥值,對輸入的第一、二和三類整數像素修正的基礎系數分別為W〈i,j,1〉=1/9*W〈i,j,0〉;W〈i,j,1〉=1/3*W〈i,j,0〉;W〈i,j,1〉=0;當某像素值L〈i,j〉同該次輸入的加權均值距離H〈i,j〉低于閥值Ht時,貝廿W〈U1〉=W〈ij,0〉。(i,j表示矩陣中索引位置,W〈i,j,0〉為〉修正前基礎系數)。本發明所述的距離閥值取決于依據編碼器參數、被編碼視頻內容的邊緣銳化程度,在只有前向預測的編碼器中,對每一個I幀,計算出一個距離閥值,隨后參考該I幀的所有P幀都釆用這同一距離閥值;在有前向和后向預測的編碼器中,對每一個I幀,計算出一個距離閥值,而B幀所使用的距離閥值應從該幀所參考多個I幀的距離閥值中獲得。每個I幀的距離閥值Ht應被編碼入視頻碼流,在解碼器端,所有P幀和B幀依據對應關系使用相應閥值Ht。其中為了減少計算復雜度,編碼器對一個視頻序列可應用唯一距離閥值,一個經驗距離閥值可以設為Ht^16。(3)、使用修正后的基礎系數對目標亞像素位置做插值濾波。根據修正后的系數W〈i,j,l〉矩陣做常規的線性插值。用Lo代表本次插值輸出,則有Lo=(2W〈i,j,1〉*L〈i'j〉+l/2*SW<i,丄0〉)/2W〈i,j,0>(i,j遍歷輸入像素位置)舉例來說,一種可能的最終插值方案為-對于a亞像素位置插值時,插值輸出為Lo=(2W〈i,j,1〉*L〈i,j〉+128)>>8;(i,j遍歷輸入像素位置)對于bl,b2亞像素位置插值時,插值輸出為Lo=(2W〈i,丄l〉*L〈i,j〉+64).〉>7;(i,j遍歷輸入像素位置)另外,對于圖1所示的亞像素插值位置,如果水平或垂直方向有四分之一或四分之三像素時,其濾波系數不變。通過如下方法得到c2=(B+bl+〗)》1;cl=(A+bl+]L)》l;c3=(B+b2+]L)》l;c4=(c+b2+]L)》l;dl=(a+bl+]L)》l;d2=(a+b2+,0》1;d3=(a+m+1)》1;d4=(a+s+1:>〉1;el二(A+a+i:>>〉1;e2=(B+a+1>〉〉1;e3=(c+a+1)〉〉1;e4=(D+3+1)〉>1。這些亞像素位置插值依賴于a,bl,b2,s,m等五個亞像素的預先插值。如圖8所示,為實現上述方法的一種視頻內容自適應的亞像素插值裝置,包括用于生成當次插值系數的濾波系數生成器、插值濾波器和亞像素位置插值結果存儲器,輸入的亞像素插值位置和整數像素矩陣進入所述的濾波系數生成器,濾波系數生成器根據插值位置的不同生成當次插值的濾波系數,輸出的濾波系數再和輸入端的整數像素矩陣輸入至插值濾波器執行插值濾波,插值濾波后的輸出結果最后儲存在亞像素位置插值結果存儲器中并輸出。編解碼器調用本插值裝置,負責輸入整數像素矩陣和亞像素插值位置,根據插值位置不同而分類采用濾波系數會變化和不會變化兩種,但都是在濾波系數生產器中;濾波系數生成后,連同開始的整數像素矩陣一起作為插值濾波器的輸入,做實際的插值運算,最后送出插值結果。如圖6所示,為現有技術中視頻編碎器中插值裝置示意圖,圖中運動補償器對圖象運動數據的運動向量誤差進行補償,該運動補償器可使用本發明插值裝置,在圖像數據上執行內插以提高圖像數據分辨率進而提高運動向量誤差補償精度。如圖7所示,為現有技術中另一視頻編碼器中插值裝置示意圖,圖中運動補償器為圖像數據的運動進行補償,可以使用本發明插值裝置,在參考圖像幀上執行內插以提高圖像分辨率,進而提高補償精度。權利要求1.一種視頻內容自適應的亞像素插值方法,其特征在于包括以下步驟(1)、根據輸入整數像素位置與待插值亞像素位置的距離,把輸入整數像素分三類獲得線性濾波器的基礎系數;(2)、根據輸入整數像素值與本次插值濾波加權均值的距離,修正步驟(1)的基礎系數;(3)、使用修正后的基礎系數對目標亞像素位置做插值濾波。2、根據權利要求1所述的亞像素插值方法,其特征在于如果亞像素插值位置的水平或垂直方向有四分之一或四分之三像素時,其濾波系數不變。3、根據權利要求1所述的亞像素插值方法,其特征在于所述步驟(1)的輸入整數像素按如下分為三類輸入整數像素位置與待插值亞像素位置的距離最小的是第一類像素點,其次是第二類像素點,距離最大的是第三類像素點。4、根據權利要求1或3所述的亞像素插值方法,其特征在于所述步驟(1)的基礎系數滿足如下兩約束條件(1)<formula>formulaseeoriginaldocumentpage2</formula>其中n表示輸入整數像素的類別號,對第一類像素點rp4,第二類像素點『2,第三類像素點『3,c表示方差,d為當前輸入像素位置到待插亞像素位置的距離;(2)w〈i,j,0〉為整數,近似前一約束條件的值,且所有w〈i,j,0〉之和是2的冪。5、根據權利要求1所述的亞像素插值方法,其特征在于所述步驟(2)的加權均值為(2Co〈i,j〉*L〈i,j〉+l/2*2Co〈i,j〉)/2Co〈i,j>;其中i,j遍歷輸入像素位置,L〈i,j〉為輸入像素值,Co〈i,j〉為加權均值系數。6、根據權利要求5所述的亞像素插值方法,其特征在于所述加權均值系數Co〈i,j〉滿足高斯模型。7、根據權利要求1所述的亞像素插值方法,其特征在于所述步驟(2)當輸入整數像素值與本次插值為濾波加權均值的距離大于或等于距離閥值,對輸入的第一、二和三類整數像素修正的基礎系數分別為1/9*W〈i,j,0〉、1/3*W〈i,j,0〉禾口O,其中W〈i,j,0〉修正前基礎系數;當輸入整數像素值與本次插值為濾波加權均值的距離小于距離閥值,對輸入的各類整數像素修正后的基礎系數不變。8、根據權利要求7所述的亞像素插值方法,其特征在于所述的距離閥值設為16。9、根據權利要求7所述的亞像素插值方法,其特征在于所述步驟(3)的插值濾波輸出為(SW〈i,丄l〉*L〈i,j〉+1/2*2W〈i,j,0〉)/2W〈i,丄0>;其中i,j遍歷輸入像素位置,L〈i,j〉為輸入像素值,W〈i,j,0〉、W〈i,j,1〉分別為修正前后的基礎系數。10、一種視頻內容自適應的亞像素插值裝置,其特征在于包括用于生成當次插值系數的濾波系數生成器、插值濾波器和亞像素位置插值結果存儲器,輸入的亞像素插值位置和整數像素矩陣輸入所述的濾波系數生成器,濾波系數生成器根據插值位置的不同生成當次插值的濾波系數,輸出的濾波系數再和輸入端的整數像素矩陣輸入至插值濾波器執行插值濾波,插值濾波后的輸出結果最后儲存在亞像素位置插值結果存儲器中并輸出。全文摘要本發明公開一種視頻內容自適應的亞像素插值方法,包括(1)根據輸入整數像素位置與待插值亞像素位置距離把輸入整數像素分三類獲得基礎系數;(2)根據輸入整數像素值與本次插值濾波加權均值的距離修正基礎系數;(3)使用修正后的基礎系數對目標亞像素位置做插值濾波。實現上述方法的一種視頻內容自適應的亞像素插值裝置,包括濾波系數生成器、插值濾波器和亞像素位置插值結果存儲器,輸入的亞像素插值位置和整數像素矩陣進入濾波系數生成器生成濾波系數,濾波系數和輸入的整數像素矩陣輸入至插值濾波器執行插值濾波,輸出結果儲存在亞像素位置插值結果存儲器并輸出。本發明所述方法運動估計匹配度好、壓縮率高,而且實現視頻內容自適應。文檔編號H04N7/26GK101212672SQ20061013245公開日2008年7月2日申請日期2006年12月30日優先權日2006年12月30日發明者馮云慶,婷張,曠開智,袁梓瑾申請人:安凱(廣州)軟件技術有限公司