用于運動補償預測的方法和設備的制造方法
【專利說明】用于運動補償預測的方法和設備
[0001]本申請是原案申請號為201280031173.9的發明專利申請(國際申請號:PCT/US2012/043674,申請日:2012年6月22日,發明名稱:用于運動補償預測的方法和設備)的分案申請。
[0002]相關申請
[0003]本專利文獻要求2011年6月24日提交的臨時美國專利申請N0.6,501,112的在35U.S.C.§ 119(e)下的申請日的利益,其完整內容以引用方式并入本文。
[0004]發明背景
技術領域
[0005]本發明涉及用于幀間預測的運動補償,具體地講,涉及實現低復雜度和高精度的運動補償中使用的分數樣本(fract1nal sample)插值。
【背景技術】
[0006]數字視頻需要大量數據來以未壓縮方式表示數字視頻序列(例如,一系列幀)中的每一幀。由于帶寬限制,對于大多數應用而言通過計算機網絡發送未壓縮的數字視頻不可行。另外,未壓縮的數字視頻需要大量存儲空間。通常以一些方式對數字視頻進行編碼,以降低存儲要求并降低帶寬要求。
[0007]對數字視頻進行編碼的一種技術是幀間預測。幀間預測利用了不同幀之間的時間冗余。視頻的時間上相鄰的幀通常包括基本上保持相同的像素塊。在編碼處理過程中,運動矢量使一個幀中的像素塊的移動與另一幀中的類似像素塊相互關聯。因此,系統不需要對像素塊編碼兩次,而是對像素塊編碼一次并提供運動矢量以預測另一像素塊。
[0008]對數字視頻進行編碼的另一技術是幀內預測。幀內預測在不參照其它幀中的像素的情況下對幀或其一部分進行編碼。幀內預測利用了幀內的像素塊之間的空間冗余。由于空間上相鄰的像素塊通常具有相似的屬性,所以通過參照相鄰塊之間的空間相關來提高編碼處理的效率。可通過基于相鄰塊中使用的預測模式預測目標塊來利用這種相關。
[0009]在幀間預測中,基于運動估計和補償預測接收的圖片。視頻中的運動對象常常從一個幀到一個幀地出現,使得它的全部或一部分在那些后續幀中重新定位。不管那些重新定位,幀序列之間的相關較高,導致冗余。可通過將當前幀中的樣本與基準幀中的相同對象的位置進行比較并相關來降低這種時間冗余。具體地講,在運動估計過程中,將當前幀或其分區與基準幀進行比較,所述基準幀在時間上可在當前幀之前或前面。將相應基準幀中設置的搜索范圍內的像素圖案與當前幀中展現的像素圖案進行比較,直至找到包含與待編碼的當前幀中的像素圖案最匹配的像素圖案的基準幀為止。基于比較結果,來估計幀間位移矢量或運動矢量。利用估計的運動矢量,運動補償生成當前幀的預測。
[0010]可通過對基準圖片中的像素(稱為整數位置處的樣本,或簡稱為整數樣本)應用插值以增加基準圖片的分辨率,來增加運動矢量準確度和編碼效率。插值是為了利用整數樣本的值生成各個整數樣本之間的分數樣本。整數樣品之間生成越多分數樣本,基準圖片的分辨率變得越高,可越精確和準確地補償分數樣本位移。例如,為了準確地補償僅為半個像素的位移的運動對象的移動,需要至少半像素插值。可利用許多種不同的塊尺寸來執行運動估計和補償。可針對具有4X4、4X8、8X4、8X8、8X16、16X8或16X16像素的分區確定各個運動矢量。提供小的運動補償分區提高了處理精細運動細節的能力。
[0011]H.264/AVC采用2步驟方法并實現高達四分之一像素分辨率的運動補償。在
H.264/AVC中,第一步驟使用6抽頭濾波器來從周圍整數樣本的值生成半像素分辨率的中間值。在第二步驟中,對整數樣本的值和中間值取平均,或者在中間值之間取平均,以生成四分之一像素位置處的分數樣本(或簡稱為四分之一像素樣本)。在B切片中,可對來自兩個預測的兩個預測分數樣本進一步取平均。然而,請注意,多重平均運算在級聯時會引入舍入誤差,其對運動補償的準確度和效率有不利影響。視頻編碼聯合協作組(JCT-VC)的提案D321和E242解決了與雙向平均關聯的舍入誤差問題。這些文獻提出增加舍入操作,所述舍入操作被限制在兩個預測之后的雙向平均的最后步驟處進行。
[0012]JCT-VC草案E603公開了使用8抽頭濾波器來實現四分之一像素分辨率。在E603中,一些四分之一像素樣本通過將8抽頭濾波器應用于最近的整數樣本并將濾波結果截斷為預定比特深度來導出。剩余四分之一像素樣本通過兩個處理來導出。在第一處理中,中間值通過在垂直方向上將8抽頭濾波器應用于最近整數樣本來導出。在第二處理中,在水平方向上將8抽頭濾波器應用于中間值,并將濾波結果截斷至預定比特深度。此2處理方法的優點在于,第二處理中的垂直濾波和水平濾波不要求固定順序,因此沒有必要向解碼器提供有關第二處理中的垂直濾波和水平濾波的順序的信令。然而,E603中討論的運動補償需要定義附加濾波操作來生成中間值。應用于中間值的濾波操作開銷高,且需要高計算復雜度,尤其是對于具有高比特深度的視頻數據而言。
[0013]另外,在E603討論的運動補償中,中間值沒有被截斷為確保從其計算的四分之一像素樣本的準確度。因此,在E603討論的運動補償過程中,所計算出的值的按位精度不恒定。在上述第一處理的結尾,所得樣本值的精度增加了由8抽頭濾波器的增益確定的量。通過將8抽頭濾波器應用于中間值,在截斷至預定精度之前精度再次增加了與第一處理中相同的量。因此,第二處理中需要截斷的分辨率是第一處理所需要的兩倍,以便在第二步驟的結尾使分辨率回到原始比特深度。
【發明內容】
[0014]鑒于上述現有技術,本發明提供了一種用于幀間預測的新穎的運動補償操作。該運動補償對樣本應用分數樣本插值以生成分數樣本。在根據本發明的運動補償中,在第一方向上對樣本應用第一分數樣本插值以生成第一組分數樣本。在第二方向上對第一組分數樣本應用第二分數樣本插值,以生成第二組分數樣本。在本發明中,利用與樣本的表示精度無關的精度來表示第一組分數樣本。
[0015]在本發明的一方面中,所述分數樣本插值應用具有以下三組系數中的一個的8抽頭FIR濾波器來生成四分之一像素樣本:
[0016][-1,4,-10,58, 17,-5, 1,0];
[0017][-1,4,-11,40,40,-11,4,-1];以及
[0018][0,1,-5,17,58,-10,4,-1] ο
[0019]在本發明的一方面中,所述分數樣本插值包括截斷各個濾波結果,使得所述分數樣本具有期望的精度。貫穿所述第一分數插值處理和第二分數插值處理,所述期望的精度可以是恒定的。
[0020]截斷處理可涉及使截斷結果朝負無窮大舍入。這通過不將任何偏移增加到截斷處理之前的濾波結果來實現。
[0021]另外,在本發明的另一方面中,可獨立于樣本的原始比特深度將所述樣本按比例放大至第二比特深度,該第二比特深度對于所述樣本而言是恒定的。所述第二比特深度可被設置為等于可用于表示樣本的比特數,按比例放大因子被設置為等于可用于表示樣本的比特數減去樣本的原始比特深度。
[0022]另外,在本發明的另一方面中,用按比例放大的樣本減去偏移。
【附圖說明】
[0023]圖1是示出可實現本發明的示例性硬件體系結構的框圖。
[0024]圖2是示出可應用本發明的視頻編碼器的總體視圖的框圖。
[0025]圖3是示出可應用本發明的視頻解碼器的總體視圖的框圖。
[0026]圖4是示出根據本發明的實施方式的編碼器的功能模塊的框圖。
[0027]圖5是示出根據本發明的實施方式的視頻編碼器所執行的編碼處理的流程圖。
[0028]圖6是示出根據本發明的實施方式的分數樣本插值的處理的流程圖。
[0029]圖7是用于分數樣本插值的濾波的示意圖。
[0030]圖8是示出根據本發明的實施方式的解碼器的功能模塊的框圖。
[0031]圖9是示出根據本發明的實施方式的視頻解碼器所執行的解碼處理的流程圖。
【具體實施方式】
[0032]圖1示出可實現本發明的計算機100的示例性硬件體系結構。請注意,圖1所示的硬件體系結構可以是實現本發明的實施方式的視頻編碼器和視頻解碼器這二者共有的。計算機100包括處理器101、存儲器102、存儲裝置105以及經由本地接口 107以通信方式耦合的一個或更多個輸入和/或輸出(I/O)裝置106 (或外設)。如本領域已知的,本地接口 107可以是(例如,但不限于)一個或更多個總線或其它有線或無線連接。
[0033]處理器101是用于執行軟件(尤其是存儲在存儲器102中的軟件)的硬件裝置。處理器101可以是任何定制或市售的處理器、中央處理單元(CPU)、與計算機100關聯的多個處理器