專利名稱:運動補償方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將子像素內(nèi)插到參考畫面和根據(jù)內(nèi)插參考畫面進行運動補償?shù)倪\動 補償方法。
背景技術(shù):
運動畫面廣泛地使用在從視頻電話和視頻會議到DVD和數(shù)字電視的日益增多的 應(yīng)用領(lǐng)域中。當發(fā)送運動畫面時,必須通過有限的可用頻帶寬度的常規(guī)傳輸信道發(fā)送大量 的數(shù)據(jù)。為了通過有限的信道帶寬發(fā)送數(shù)字數(shù)據(jù),不可避免地要壓縮或減小傳輸數(shù)據(jù)的量。為了允許在任何給定應(yīng)用的不同制造商設(shè)計的系統(tǒng)之間能夠交互操作,開發(fā)了壓 縮視頻數(shù)據(jù)量的視頻編碼標準。遵循這些標準的大多數(shù)的編碼方法包括以下主要步驟(1)將每個視頻幀分割成像素塊,以便能夠在塊級別上進行視頻幀的處理;(2)通過對每個塊的視頻數(shù)據(jù)進行變換、量化和熵編碼,減小視頻幀內(nèi)的空間冗 余;(3)利用連續(xù)幀的塊之間的時間依賴關(guān)系,以便僅發(fā)送連續(xù)幀之間的不同部分。連續(xù)幀之間的塊的時間依賴關(guān)系是通過采用運動估算和補償技術(shù)確定的。對于任 何給定塊,在編碼和發(fā)送幀之前進行搜索,以確定編碼裝置和解碼裝置為預(yù)測塊的圖像數(shù) 據(jù)而使用的運動向量。圖1中示出了一種視頻編碼裝置的示例配置。所示的用參考號900總體代表的 視頻編碼裝置包括變換/量化單元920,用于通過將空間圖像數(shù)據(jù)變換到頻域并量化變換 的圖像數(shù)據(jù)來輸出量化變換系數(shù)QC ;熵編碼單元990,用于對量化變換系數(shù)QC進行熵編碼 (可變長度編碼)并輸出比特流BS ;和視頻緩存器(未示出),用于使具有可變比特率的壓 縮視頻數(shù)據(jù)應(yīng)用于可以具有固定比特率的傳輸信道。圖1中所示的編碼裝置通過僅發(fā)送連續(xù)場或幀之間的差異而使用了 DPCM(差分脈 碼調(diào)制)。減法器910通過接收被編碼為輸入信號IS的視頻數(shù)據(jù),并從中減去由預(yù)測信號 PS指示的在前圖像而得到這些差異。在前圖像是通過對在前編碼圖像解碼而得到的。這 是通過結(jié)合在視頻編碼裝置900中的解碼裝置完成的。解碼裝置以相反的方式執(zhí)行編碼 步驟。更具體地講,解碼裝置包括逆量化/變換單元930,和加法器935,用于將解碼差異 (差分解碼信號DSS)加到在前解碼的畫面(預(yù)測信號PS)以產(chǎn)生要在解碼側(cè)獲得的圖像。在運動補償DPCM中,根據(jù)對當前和在前圖像之間的運動的估算,從在前幀或場的 圖像數(shù)據(jù)中預(yù)測當前幀或場。這種估算的運動可以根據(jù)代表在前和當前圖像之間的像素的 位移的2-維運動向量來描述。通常,運動估算是在一塊接一塊的基礎(chǔ)上執(zhí)行的。圖2中示 出了將當前圖像分割成多個塊的示例。在運動估算期間,將當前幀的一個塊與在前幀中的塊比較,直到確定一個最佳匹配。根據(jù)比較結(jié)果,可以對當前幀估算整個塊的幀間位移向量。為此目的,將運動估算單元 970與包括在解碼路徑中的對應(yīng)運動補償單元960 —同結(jié)合在編碼裝置中。圖1的視頻編碼裝置900執(zhí)行如下的操作。將輸入信號IS指示的給定視頻圖像 分割成多個小塊,通常表示為“宏塊(macro blocks)。例如,圖2中所示的視頻圖像被分割 成多個宏塊,每個宏塊通常具有16x16像素的尺寸。當僅通過減小圖像內(nèi)的空間冗余來對圖像的視頻數(shù)據(jù)進行編碼時,將產(chǎn)生的幀稱 為I-畫面。一般是通過將變換直接應(yīng)用于幀的宏塊而對I-畫面進行編碼。由于沒有采用 時間信息來減小數(shù)據(jù)量,所以I-畫面尺寸比較大。為了利用連續(xù)圖像之間存在的時間冗余,根據(jù)運動估算和補償來執(zhí)行連續(xù)場或幀 之間的預(yù)測編碼。當運動估算中一個被選擇的參考幀是在前編碼幀時,將這個要編碼的幀 稱為P-畫面。在這兩種情況下,選擇一個在前編碼幀和一個未來幀作為參考幀,把這個要 編碼的幀稱為B-畫面。盡管是基于一個16x16宏塊來說明運動補償?shù)?,但可以使用多個不同塊尺寸執(zhí)行 運動估算和補償??梢詾榫哂?x4,4x8,8x4,8x8,8x16,16x8,或16x16像素的塊確定各個運 動向量。小運動補償塊的提供改善了處理細微運動細節(jié)的能力。根據(jù)運動估算操作的結(jié)果,運動補償操作根據(jù)確定的運動向量提供預(yù)測。然后,在 變換/量化單元920中,將包含在從預(yù)測塊得到的預(yù)測錯誤塊中的信息變換成變換系數(shù)。通 常,使用2-維DCT(離散余弦變換)。量化得到的變換系數(shù),并最終在熵編碼單元990中進 行熵編碼(VLC)。解碼裝置接收發(fā)送的壓縮視頻數(shù)據(jù)的比特流BS,并根據(jù)接收的數(shù)據(jù)再現(xiàn)編碼視頻 圖像的序列。解碼裝置的配置對應(yīng)于包括在圖1中所示的編碼裝置中的解碼裝置的配置。 因此,省略了對解碼裝置的配置的詳細說明。為了改進運動補償?shù)木?,廣泛使用參考幀的子像素精度。例如,在MPEG-2格式 中使用了 1/2子像素精度運動補償。為了進一步提高運動向量精度和編碼效率,在專利文獻EP 1073276中建議使用 1/3和1/6子像素向量精度。通過在運動估算和補償中使用內(nèi)插濾波器而產(chǎn)生1/8子像素位移,可以進一步提 高運動向量精度和編碼效率。但是,這樣的子像素分辨率要求較高的計算復(fù)雜性,特別是, 需要具有高達25比特長度的計算寄存器。這種復(fù)雜實現(xiàn)可以基于一種兩步法。在第一步中,使用8-抽頭濾波器計算1/4子 像素圖像。在第二步中,利用雙線性濾波根據(jù)1/4子像素圖像獲得1/8子像素圖像。產(chǎn)生具有1/4子像素精度的濾波操作包括水平和后續(xù)垂直濾波的步驟。水平內(nèi)插 可以根據(jù)以下公式⑴至⑶執(zhí)行= -3 A4+12 B4-37 C4+229 D4+71 E4_21 F4+6 G4_l H4. (1)h2 = -3 A4+12 B4_39 C4+158 D4+158 E4_39 F4+12 G4_3 H4. (2)= -1 A4+6 B4-21 C4+71 D4+229 E4_37 F4+12 G4_3 H4. (3)在以上公式中,h至h3代表1/4子像素值,AX_HX代表原始全像素像素值,即,來自 原始圖像的像素。應(yīng)用于上述AX_HX的系數(shù)是以執(zhí)行信號處理來防止發(fā)生由上抽樣造成成像的方
7式,也就是說,消除通過內(nèi)插產(chǎn)生的不需要的高頻分量的方式而設(shè)定的。圖3中示出了水平濾波。根據(jù)原始像素210的像素值執(zhí)行8-抽頭濾波,并且計算 三個中間像素220的像素值,以獲得水平方向上的1/4子像素精度。在水平濾波完成之后,對得到的垂直方向上具有全像素精度和水平方向上具有 1/4子像素精度的圖像數(shù)據(jù)進行垂直濾波。為此目的,使用以下具有與上述水平濾波器的系 數(shù)對應(yīng)的系數(shù)的公式⑷至(6)。Vl = -3 Di+12 D2-37 D3+229 D4+71 D「21 D6+6 D7_l D8. . . (4)v2 = -3 Di+12 D2-39 D3+158 D4+158 D5_39 D6+12 D7_3 D8. . . (5)v3 = -1 Di+6 D2-21 D3+71 D4+229 D「37 D6+12 D7_3 D8. . . (6)在以上公式中,Vl至 代表計算的垂直1/4子像素值,01,02,03,04,05,06,07和08 代表全像素分辨率像素,即,原始像素210的像素值。如同上述情況一樣,應(yīng)用于化的系數(shù)是以執(zhí)行信號處理來防止通過上抽樣發(fā)生成 像的方式,也就是說,消除通過內(nèi)插產(chǎn)生的不需要的高頻分量的方式而設(shè)置的。得到的像素值具有高達25比特的長度。為了獲得落入預(yù)先定義的允許像素值范 圍內(nèi)的每個像素值的圖像數(shù)據(jù),如圖所示地對計算結(jié)果進行下移位和舍入。下面的公式(7) 示出了像素值Vl的示例情況
‘( 256^v, = v +- 16 ...(7)
V 2 >在此,Vl代表從水平和垂直濾波得到的像素值,而v/代表下移位的像素值。將下 移位的像素值進一步限制到0至255的范圍。圖4中示出了垂直濾波。在垂直濾波過程中得到的像素230的像素值完成了以原 始像素d4,D5,E4和E5之間的濾波示例的為例而示出的子像素陣列。在完成了 1/4子像素圖像之后,通過對1/4子像素分辨率進行雙線性濾波來計算 1/8子像素幀。以這種方式,產(chǎn)生每個1/4分辨率像素之間的中間像素。在兩個步驟中應(yīng)用雙線性濾波,并且在圖5和圖6中以示例的方式示出。從1/4 子像素分辨率開始,圖5示出了水平和垂直濾波的應(yīng)用。為此目的,從各個相鄰像素值計算 出一個平均值,以獲得1/8子像素分辨率的中間像素值。當對這個處理使用二進制表示時, 可以使用下面的公式(8)。注意公式(8)中的“>>1”代表1-比特下移位。A = (B+C+l) >> 1. . . (8)用圖6中所示的對角線濾波計算要內(nèi)插的其余1/8子像素值。這種方式的一個特 別的優(yōu)點是,在雙線性濾波中,最大可能地使來源于多個濾波的子像素值的數(shù)量最小。為此 目的,優(yōu)選的是,僅把內(nèi)插像素中直接從原始像素值210得到的那些像素值納入考慮。也就 是說,那些得到的像素值是位于原始像素之間的內(nèi)插像素的像素值。當附加地考慮到子像素陣列的中心像素240的時候,可以從其計算出所有的中間 像素值,也就是說,從原始像素210的像素值和從原始像素值得出的中間像素值計算出所 有中間像素值。附加1/8子像素值的計算操作分別基于1/4子像素分辨率值中的兩個。在 圖6中通過相應(yīng)的箭頭示出了中間像素值的計算所考慮的單個像素值。每個箭頭示出了根 據(jù)其計算兩個像素的每個中間像素值的像素的兩個像素值。根據(jù)考慮用于內(nèi)插的像素的距 離,使用了下面的公式(9)和(10)
D = (E+F+l) >> 1. . . (9)G = (3H+I+2) >> 1. . . (10)在上面的公式中,D和G代表圖6中所示的新的中間像素值,E、F、H和I代表從 1/4分辨率圖像得到的像素值。上述公式中“1”和“2”的附加值僅用于正確地舍入計算結(jié)^ o但是,在1/4子像素內(nèi)插的濾波處理中,上述現(xiàn)有技術(shù)的運動補償方法需要記錄 25比特的長操作值。這造成這種內(nèi)插方法的一個特別的不利因素,即,需要長的寄存器,從 而導(dǎo)致高的硬件復(fù)雜性和計算量。本發(fā)明是要克服這種缺陷。本發(fā)明的目的是要提供一種能夠減小操作工作負擔和 簡化硬件配置的運動補償方法。
發(fā)明內(nèi)容
為了達到上述目的,本發(fā)明的運動補償方法包括將子像素內(nèi)插到參考畫面中; 和根據(jù)經(jīng)內(nèi)插的參考畫面執(zhí)行運動補償,在所述方法中,所述內(nèi)插包括通過將系數(shù)與包括 在所述參考畫面中的像素的像素值相乘,計算作為子像素的子像素值的基準的基準值的第 一計算步驟;和在計算其它子像素的子像素值中,不是直接使用所述基準值,而是通過舍入 第一計算步驟中計算的所述基準值獲得所述子像素的子像素值的第一舍入步驟;和運動補 償?shù)膱?zhí)行包括根據(jù)具有帶有對應(yīng)地得到的子像素值的內(nèi)插子像素的所述參考畫面來執(zhí)行 運動補償。例如,在現(xiàn)有技術(shù)的方法中,在計算其它子像素的子像素值中,直接使用已經(jīng)計算 出的子像素的基準值。但是,在本發(fā)明中,將第一計算步驟中計算出的子像素的基準值舍 入,而不是直接在計算其它子像素值的子像素值中使用。因此,即使在使用舍入的基準值計 算其它子像素的子像素值的情況下,也可以比現(xiàn)有方式更大地減少計算中使用的比特數(shù)。 結(jié)果是,能夠減輕操作工作負擔和簡化硬件配置。此外,在本發(fā)明的第一方面中,在運動補償方法中,第一計算步驟可以包括計算要 在第一方向內(nèi)插的子像素的基準值,并且第一舍入步驟可以包括通過舍入第一計算步驟中 計算的基準值得出要在第一方向內(nèi)插的子像素的子像素值。此時,在本發(fā)明的第二方面中, 在運動補償方法中,內(nèi)插可以進一步包括利用在第一舍入步驟中得出的子像素的子像素 值計算要在與第一方向不同的第二方向內(nèi)插的子像素的基準值的第二計算步驟;和通過舍 入在第二計算步驟中計算的基準值得出要在第二方向內(nèi)插的子像素的子像素值的第二舍 入步驟。以這種方式,在計算要在第一方向和第二方向內(nèi)插的子像素的子像素值的過程 中,可以將計算中使用的比特數(shù)從,例如,現(xiàn)有方法中需要的25比特減少到16比特。此外,在本發(fā)明的第四方面中,在運動補償方法中,第一計算步驟可以包括當把 第一方向上排列的像素的八個像素值分別表示為A,B, C,D,E,F(xiàn),G和H,并且三個四分之一 子像素值分別表示為h2和h3時,利用下面的公式計算三個四分之一子像素的基準值= -1 A+3 B-10 C+59 D+18 E-6 F+1 G-0 H ;h2 = -1 A+4 B-10 C+39 D+39 E-10 F+4 G_1 H ;禾口h3 = -0 A+l B-6 C+18 D+59 E-10 F+3 G_1 H。
9
在這里,在本發(fā)明的第五方面中,在運動補償方法中,第二計算步驟可以包括當 第二方向中排列的像素的八個像素值分別表示為Dp D2,D3,D4,D5,D6,D7和D8,并且三個四 分之一子像素值分別表示為Vl,v2和v3時,利用下面的公式計算三個四分之一子像素的基 準值Vl = -3 Di+12 D2-37 D3+229 D4+71 D「21 D6+6 D7_l D8 ;v2 = -3 Di+12 D2-39 D3+158 D4+158 D「39 D6+12 D7_3 D8 ;禾口v3 = -1 Di+6 D2-21 D3+71 D4+229 D「37 D6+12 D7_3 D8。以這種方式,計算子像素的子像素值中使用的系數(shù)小于現(xiàn)有技術(shù)中使用的系數(shù)。 這使得能夠進一步減少計算子像素值中使用的比特數(shù)。此外,在本發(fā)明的第四方面中,所述運動補償方法可以進一步包括,通過對具有帶 有對應(yīng)得出的子像素值的內(nèi)插子像素的參考畫面施加雙線性濾波而提高子像素精度的雙 線性濾波。以這種方式,子像素精度的提高使得能夠在畫面編碼處理和畫面解碼處理過程中 防止畫面質(zhì)量降低。應(yīng)當指出,本發(fā)明可以作為一種運動補償方法、一種運動估算方法、一種利用運動 補償方法的運動畫面編碼方法和運動畫面解碼方法、使計算機執(zhí)行各個方法的這些步驟的 程序、存儲程序的記錄介質(zhì)、和執(zhí)行根據(jù)這些方法的操作的裝置來實現(xiàn)。有關(guān)本申請的技術(shù)背景的進一步的信息2004年7月13日提交的EP申請No. 04016437. 8中披露的,包括說明書、附圖和權(quán) 利要求在內(nèi)的全部內(nèi)容,結(jié)合在此作為參考。
從以下結(jié)合示出了本發(fā)明的一種特定的實施方式的附圖的說明中,可以清楚地了 解本發(fā)明的這些和其它目的、優(yōu)點和特征。在附圖中圖1是顯示運動畫面編碼裝置的結(jié)構(gòu)的方框圖;圖2是如何將視頻圖像分割成塊的說明圖;圖3是計算水平方向上1/4子像素精度的水平濾波的說明圖;圖4是計算垂直方向上1/4子像素精度的垂直濾波的說明圖;圖5是計算1/8子像素精度的水平和垂直濾波的說明圖;圖6是計算1/8子像素精度的對角線方向上的雙線性濾波的說明圖;圖7是顯示本發(fā)明實施方式中的運動畫面編碼裝置的配置的方框圖;圖8是顯示實施方式中由運動畫面編碼裝置執(zhí)行的運動補償操作的流程圖;圖9是說明本發(fā)明中第一圖像編碼結(jié)果與利用現(xiàn)有技術(shù)的方法得到的另一個圖 像的編碼結(jié)果之間的差別的比較曲線圖;圖10是說明本發(fā)明中第二圖像的編碼結(jié)果與利用現(xiàn)有技術(shù)的方法得到的另一個 圖像的編碼結(jié)果之間的差別的比較曲線圖;圖11是顯示本發(fā)明實施方式中運動畫面解碼裝置的結(jié)構(gòu)的方框圖;和圖12是有關(guān)實施方式的變化的內(nèi)插方法的說明圖。
具體實施例方式以下參考
本發(fā)明實施方式中的運動畫面編碼裝置和運動畫面解碼裝置。在視頻編碼中,通過在預(yù)測編碼中應(yīng)用運動估算和運動補償來提高編碼效率。通 過減小編碼的圖像數(shù)據(jù)與預(yù)測圖像數(shù)據(jù)之間存在的差異,可以改善運動估算和運動補償。 特別是,1/8子像素運動向量精度可以進一步提高編碼效率。本發(fā)明改進了運動估算和補償,而不需要相應(yīng)地增加硬件的復(fù)雜性和計算量。這 是由于本發(fā)明允許僅把中間計算結(jié)果的16-比特精度用于此目的。圖7是顯示本實施方式中運動畫面編碼裝置的配置的方框圖。這個運動畫面編碼裝置100包括減法器110 ;變換/量化單元120 ;逆量化/逆 變換單元130 ;加法器135 ;解塊濾波器137 ;存儲器140 ; 16-比特操作內(nèi)插濾波器150 ;運 動補償/預(yù)測單元160 ;運動估算單元170 ;和熵編碼單元190。減法器110從指示運動畫面的輸入信號IS中減去預(yù)測信號PS,并把差值輸出到變 換/量化單元120。變換/量化單元120獲得來自減法器110的差值,并且利用差值執(zhí)行頻率變換(例 如,DCT變換)和量化的編碼處理。此后,變換/量化單元120將作為處理結(jié)果的量化變換 系數(shù)QC輸出到熵編碼單元190和逆量化/逆變換單元130。逆量化/逆變換單元130利用從變換/量化單元120輸出的量化變換系數(shù)QC執(zhí) 行逆量化和逆DCT變換的解碼處理。此后,逆量化/逆變換單元130將作為處理結(jié)果的差 分解碼信號DDS輸出到加法器135。加法器135將差分解碼信號DDS加到從運動補償預(yù)測單元160得到的預(yù)測信號 PS,并將作為結(jié)果得到的畫面輸出到解塊濾波器137。解塊濾波器137去除從加法器135輸出的畫面中的塊失真,并將沒有塊失真的畫 面作為參考畫面存儲在存儲器140中。16-比特操作內(nèi)插濾波器150從存儲器140提取參考畫面,并對參考畫面的1/8進 行子像素內(nèi)插。運動估算單元170根據(jù)輸入信號IS指示的畫面和對其利用16-比特操作內(nèi)插濾 波器150執(zhí)行了 1/8子像素內(nèi)插的參考畫面來估算運動向量。此后,運動估算單元170將 指示檢測的運動向量的運動數(shù)據(jù)MD輸出到運動補償/預(yù)測單元160和熵編碼單元190。運動補償/預(yù)測單元160根據(jù)運動數(shù)據(jù)MD指示的運動向量和利用16-比特操作 內(nèi)插濾波器150對其進行了 1/8子像素內(nèi)插的參考畫面來執(zhí)行運動補償。以這種方式,運 動補償/預(yù)測單元160預(yù)測輸入信號IS指示的當前畫面,并將指示預(yù)測畫面的預(yù)測信號PS 輸出到減法器110。熵編碼單元190對變換/量化單元120輸出的量化變換系數(shù)QC和運動估算單元 170輸出的運動數(shù)據(jù)MD進行熵編碼,并輸出結(jié)果作為比特流BS。在像這樣的實施方式中,運動畫面編碼裝置100具有包括16-比特操作內(nèi)插濾波 器150的特征。換句話說,本實施方式中的運動補償方法具有通過這個16-比特操作內(nèi)插 濾波器,利用1/8子像素內(nèi)插執(zhí)行運動補償?shù)奶卣?。?yīng)當注意,在本實施方式的運動畫面編碼裝置100中,除了 16-比特操作內(nèi)插濾波 器150之外的各個功能單元與包括在上述現(xiàn)有運動畫面編碼裝置中的相應(yīng)功能單元具有相同的功能。16-比特操作內(nèi)插濾波器150利用除了現(xiàn)有技術(shù)的方法之外的方法來計算1/4子 像素值,然后,如同現(xiàn)有技術(shù)方法中的情況一樣,利用1/4子像素值計算1/8子像素值。以 下詳細說明這種16-比特操作內(nèi)插濾波器150如何計算1/4子像素值的方法。利用一種兩步過程來獲得1/8像素精度。在包括兩個內(nèi)插步驟的第一階段中,依 次使用水平和垂直濾波。為了在水平方向上內(nèi)插1/4子像素值,采用了下面的公式(11)至 (13)= -1 Ah+3 Bh-10 Ch+59 Dh+18 Eh_6 Fh+1 Gh_0 Hh. (11)h2 = -1 Ah+4 Bh-10 Ch+39 Dh+39 Eh_10 Fh+4 Gh_l Hh. (12)h3 = -0 Ah+1 Bh-6 Ch+18 Dh+59 Eh_10 Fh+3 Gh_l Hh. (13)在上面的公式中,h至h3代表要內(nèi)插的1/4子像素值,AX_HX代表原始全像素像素 值。在這里,在本實施方式中,適當?shù)卦O(shè)置AX_HX的相應(yīng)系數(shù),以便消除像現(xiàn)有技術(shù)方 法中那樣通過內(nèi)插產(chǎn)生的不需要的高頻分量。更具體地講,在編碼和解碼處理中畫面質(zhì)量 不會降低的條件下,將系數(shù)設(shè)置到小于現(xiàn)有技術(shù)中的系數(shù)。也就是說,本實施方式中的相應(yīng) 系數(shù)被設(shè)置為成比例地小于現(xiàn)有技術(shù)的公式(1)至(3)的相應(yīng)系數(shù)。在完成水平濾波之后,通過下移位舍入計算的值。例如,利用下面的公式(14)舍 入、的中間值。h、= (/z, + — 6 ...(14)
V 二 J在這里,、代表從水平濾波得到的內(nèi)插像素值,和h/代表對應(yīng)的下移位像素值。 對從水平濾波產(chǎn)生的所有內(nèi)插像素值應(yīng)用對應(yīng)的處理。應(yīng)該指出公式(14)中的“>>6” 代表6-比特下移位。在第一階段的第二步驟中,在垂直方向上也獲得水平地提高的子像素精度。為此 目的,使用一個垂直濾波。在前執(zhí)行的下移位操作提供在垂直濾波步驟中沒有任何中間計 算超過16-比特精度。如同下面的公式(15)至(17)中所示的那樣,利用濾波系數(shù)執(zhí)行垂 直濾波。其中公式(15)至(17)對應(yīng)于水平濾波情況中的公式(11)至(13)。Vl = -1 DV_3+3 DV_2-10 D^+59 Dv+18 Dv+1-6 Dv+2+l Dv+3_0 Dv+4. (15)v2 = -1 Dv_3+4 Dv_2-10 D^+39 Dv+39 Dv+1-10 Dv+2+4 Dv+3_1 Dv+4. (16)v3 = -0 Dv_3+1 Dv_2-6 D^+18 Dv+59 Dv+1_10 Dv+2+3 Dv+3_1 Dv+4. (17)在這里,Vl至v3代表垂直方向上的1/4子像素值,Dv_3,Dv_2,,Dv,Dv+1,Dv+2,Dv+3和 Dv+4代表垂直方向上的全像素像素。也就是說,全像素像素是來自圖3的像素210和220。在這里,如同上面Ax-Hx的對應(yīng)系數(shù)的情況一樣,本實施方式中Dx (Dv_3至Dv+4)的相 應(yīng)系數(shù)被設(shè)置為成比例地小于現(xiàn)有技術(shù)的公式(4)至(6)中的相應(yīng)系數(shù)。利用下面的僅作為Vl的示例情況示出的公式(18),對來自垂直濾波的計算結(jié)果, 即,像素值230,進行下移位v, =〔、+*)>>6...(18)在下移位操作過程中,通過將值26/2 = 64/2加到內(nèi)插像素值完成舍入。
12
盡管在上面的說明中,連同對應(yīng)的下移位操作一起,首先使用了水平濾波,其次使 用了垂直濾波,但是本領(lǐng)域的技術(shù)人員應(yīng)當知道,水平和垂直操作可以互換并取得相同的 結(jié)果。因此,可以在水平濾波之前執(zhí)行垂直濾波。限制(clip)最終得到的具有1/4子像素精度的子像素值,以便落入到0與255之 間的范圍內(nèi)。如同結(jié)合圖5和圖6說明的那樣,使得到的1/4子像素值經(jīng)受雙線性濾波,以便獲 得1/8子像素分辨率。下面的實施例示出了本發(fā)明的處理不需要任何超過16-比特精度的中間像素值 的寄存器。假設(shè)像素值落入0與255之間的范圍,當把下面的公式(19)用于計算中間像素值 h2時,水平8-抽頭濾波過程中產(chǎn)生最大可能值h2 = -1. 0+4 255+(-10) 0+39 255+39 255+(-10) 0+4 255-1 0. . . (19)h2 = 21930 <32768 = 215 => \5bit + \bit{sign)...(20)以這種方法,本實施方式可以消除在1/4子像素值的計算處理中對執(zhí)行超過16比 特的計算的需要。如下面公式(21)所示,將產(chǎn)生的像素值下移位
f似、21930 +二 >>6 = 343...(21) V 2)將下移位操作的結(jié)果限制到0至255的范圍。如上所示,在濾波操作過程中所需要的最大可能值的像素精度不超過16-比特。 盡管上述操作實施例是僅對水平方向計算的,但是對應(yīng)的系數(shù)也用于垂直濾波,因此,垂直 濾波也有相同的優(yōu)點。上述實施例僅涉及1/4子像素分辨率計算。產(chǎn)生1/8子像素分辨率的雙線性濾波 僅需要10-比特的最大精度。因此,16-比特的最大精度足以用來執(zhí)行本發(fā)明的所有計算。 因此,可以用簡單的方式改善數(shù)據(jù)運動畫面的運動估算,運動補償,和編碼和解碼。圖8是顯示本實施方式中運動畫面編碼裝置100執(zhí)行的運動補償操作的流程圖。首先,運動畫面編碼裝置100的16-比特操作內(nèi)插濾波器150計算從存儲器140 提取的參考畫面的水平方向的1/4子像素值(作為子像素值的基準的基準值)(S100)。然 后,16-比特操作內(nèi)插濾波器150對步驟100中得到的像素值進行下移位,并且舍入所述像 素值(步驟102)。接下來,16-比特操作內(nèi)插濾波器150使用步驟102中舍入的像素值計算垂直方向 的1/4子像素值(步驟104)。然后,16-比特操作內(nèi)插濾波器150對步驟104中得到的像 素值進行下移位,并舍入所述像素值(步驟106)。通過步驟100到步驟106的操作,將參考畫面的1/4子像素內(nèi)插到水平方向和垂
直方向。當內(nèi)插1/4子像素時,16-比特操作內(nèi)插濾波器150如同現(xiàn)有技術(shù)的情況一樣,利 用內(nèi)插1/4子像素通過執(zhí)行雙線性濾波來計算1/8子像素,也就是說,16-比特操作內(nèi)插濾 波器150將參考畫面的像素精度從1/4子像素精度提高到1/8子像素精度(步驟108)。通過16-比特操作內(nèi)插濾波器150如此執(zhí)行的步驟100到步驟108,產(chǎn)生了帶有內(nèi)插1/8子像素值的參考畫面。此后,運動補償/預(yù)測單元160利用帶有內(nèi)插1/8子像素的參考畫面執(zhí)行運動補 償,并輸出指示結(jié)果的預(yù)測信號PS (步驟110)。為了演示在應(yīng)用本發(fā)明時能夠取得的與現(xiàn)有的內(nèi)插操作類似的結(jié)果,將本發(fā)明的 算法提供到H.264/MPEG編碼器處理軟件(JM4.2)中。在圖9和圖10中,通過指示對于感 知的畫面質(zhì)量的影響的速率失真曲線,示出了計算結(jié)果。兩個圖的差別僅是由于使用了不 同的圖像序列作為實施例。通過在X-軸上的比特率和Y-軸上代表引起失真的測量的峰值信號與噪聲比 (PSNR),示出了圖9和圖10中的速率失真曲線。圖9和圖10顯示了,盡管JM4. 2算法需要較長的寄存器,與現(xiàn)有技術(shù)的JM4. 2算 法(1/8像素25-比特)相比,1/8子像素濾波器的16-比特實現(xiàn)(1/8像素16-比特)沒有 導(dǎo)致圖像質(zhì)量下降。此外,本發(fā)明的方法實際上比1/4子像素20-比特編碼(1/4-像素20 比特)執(zhí)行的更好。圖11是顯示本發(fā)明的實施方式中運動畫面解碼裝置的配置的方框圖。該運動畫面解碼裝置300包括熵解碼單元310 ;逆量化/逆變換單元320 ;加法 器330 ;解塊濾波器340 ;存儲器350,和運動補償單元360。熵解碼單元310獲得從運動畫面編碼裝置100輸出的比特流BS,并對比特流進行 熵解碼處理。結(jié)果是,熵解碼單元310將量化變換系數(shù)QC輸出到逆量化/逆變換單元320, 并將指示運動向量的運動數(shù)據(jù)MD輸出到運動補償單元360。逆量化/逆變換單元320利用量化變換系數(shù)QC執(zhí)行逆量化和逆DCT變換的解碼 處理。然后,逆量化/逆變換單元320將作為處理結(jié)果的差分解碼信號DDS輸出到加法器 330。加法器330將差分解碼信號DDS加到從運動補償單元360得到的預(yù)測信號PS,并 將產(chǎn)生的畫面輸出到解塊濾波器340。解塊濾波器340除去從加法器330輸出的畫面中的塊失真,并將沒有塊失真的畫 面存儲到存儲器350。從存儲器350提取解碼畫面作為輸出信號OS。運動補償單元360包括16_比特操作內(nèi)插濾波器361,用于提取存儲在存儲器 350中的畫面作為參考畫面和對參考畫面執(zhí)行1/8子像素內(nèi)插;和運動補償預(yù)測單元361, 用于預(yù)測當前畫面。這個運動補償預(yù)測單元361根據(jù)運動數(shù)據(jù)MD指示的運動向量和利用 16-比特操作內(nèi)插濾波器361對其執(zhí)行了 1/8子像素內(nèi)插的參考畫面來執(zhí)行運動補償。以 這種方式,運動補償/預(yù)測單元361預(yù)測當前畫面,并將指示預(yù)測畫面的預(yù)測信號PS輸出 到加法器330。如同運動畫面編碼裝置100的情況一樣,這種運動畫面解碼裝置300也具有包括 16-比特操作內(nèi)插濾波器361的特征。這個16-比特操作內(nèi)插濾波器361與運動畫面編碼 裝置100的16-比特操作內(nèi)插濾波器150具有相同的功能。因此,利用這個運動畫面解碼 裝置300,可以減小操作工作負擔和簡化硬件配置,而不用在計算像素值的過程中使用超過 16比特的像素值。總之,本發(fā)明通過僅使用一種簡化的硬件配置和較小的計算量,提供了改進的運 動估算和補償。這是通過在獲得1/4子像素分辨率圖像時,使用特殊的濾波器系數(shù)和附加的下移位操作而取得的。因此,可以利用更簡單的硬件配置取得更有效的編碼和解碼。(變化)以下說明本實施方式中用于內(nèi)插1/4子像素值的方法的一種變化。在上述實施方式中,用下面的方式執(zhí)行兩步內(nèi)插在水平方向內(nèi)插1/4子像素值; 然后,在垂直方向內(nèi)插其它1/4子像素值。但是,在這種變化中,可以執(zhí)行一個單步內(nèi)插來 取代兩步內(nèi)插,這個單步內(nèi)插可以與通過在水平方向和垂直方向的兩個方向上的內(nèi)插取得 相同的效果。也就是說,這種變化的16-比特操作內(nèi)插濾波器150具有二維濾波器的功能。圖12是有關(guān)本實施方式的改變的內(nèi)插方法的說明圖。在圖12中,白色圓圈示出了參考畫面中存在的全像素單元的像素,并且將處于 水平位置h和垂直位置ν的像素的像素值表示為Ph, v。此外,二維濾波器的抽頭的數(shù)量是 36 (在水平方面和垂直方向上都是6)。在這種情況下,16-比特操作內(nèi)插濾波器150利用下面的公式(22)計算要內(nèi)插的 子像素的像素值Phviij (i,j = 0至3,不包括“i = 0和j = 0”)。在這里Cij (m,η)是濾波 器系數(shù)(m,η = -2至3),并且一般根據(jù)要內(nèi)插的像素的位置(i,j)而改變。此后,將如此 計算的子像素值下移位。
3 權(quán)利要求
一種運動補償方法,包括將子像素內(nèi)插到參考畫面中;和根據(jù)內(nèi)插的參考畫面執(zhí)行運動補償,其中所述內(nèi)插包括第一計算步驟,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像素的子像素值基準的基準值;和第一舍入步驟,在計算其它子像素的子像素值的過程中,通過舍入所述第一計算步驟中計算的所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,和所述運動補償?shù)膱?zhí)行包括根據(jù)具有帶有相應(yīng)得出的子像素值的所述內(nèi)插子像素的參考畫面來執(zhí)行運動補償。
2.根據(jù)權(quán)利要求1所述的運動補償方法,其中所述第一計算步驟包括計算要在第一方向內(nèi)插的子像素的基準值,和 所述第一舍入步驟包括通過舍入在所述第一計算步驟中計算的所述基準值來得出要 在第一方向內(nèi)插的所述子像素的子像素值。
3.根據(jù)權(quán)利要求2所述的運動補償方法, 其中所述內(nèi)插進一步包括第二計算步驟,利用在所述第一舍入步驟中得出的所述子像素的所述子像素值,計算 要在與所述第一方向不同的第二方向內(nèi)插的子像素的基準值;和第二舍入步驟,通過舍入在所述第二計算步驟中計算的所述基準值,得出要在所述第 二方向內(nèi)插的所述子像素的所述子像素值。
4.根據(jù)權(quán)利要求3所述的運動補償方法,其中所述第一計算步驟包括計算在所述第二方向排列的四分之一子像素的三個基準 值,和所述第二計算步驟包括計算在所述第二方向排列的四分之一子像素的三個基準值。
5.根據(jù)權(quán)利要求4所述的運動補償方法,其中所述第一計算步驟包括,當把排列在所述第一方向的像素的八個像素值分別表示 為A,B, C,D,E,F(xiàn),G和H,并且把三個四分之一子像素值分別表示為h1; h2,和h3時,利用以 下的公式計算所述三個四分之一子像素的所述基準值hi = -1 · A+3 · B-IO · C+59 · D+18 · E_6 · F+l · G-O · H ; h2 = -1 · A+4 · B-IO · C+39 · D+39 · E-IO · F+4 · G_1 · H ;禾口 h3 = -0 · A+l · B-6 · C+18 · D+59 · E-IO · F+3 · G-I · H。
6.根據(jù)權(quán)利要求5所述的運動補償方法,其中所述第二計算步驟包括當把排列在第二方向的像素的八個像素值分別表示為D1, D2, D3, D4, D5, D6, D7和D8,并且把所述三個四分之一子像素值分別表示為V1, V2和V3時,利用 以下公式計算三個四分之一子像素的所述基準值V1 = -3 · Di+12 · D2-37 · D3+229 · D4+71 · D5_21 · D6+6 · D7-I · D8 ; v2 = -3 · Di+12 · D2-39 · D3+158 · D4+158 · D5_39 · D6+12 · D7_3 · D8 ;禾口 V3 = -1 · Di+6 · D2-21 · D3+71 · D4+229 · D5_37 · D6+12 · D7_3 · D80
7.根據(jù)權(quán)利要求6所述的運動補償方法,其中所述第一計算步驟包括計算要在水平方向內(nèi)插的所述子像素的基準值,所述水平 方向被確定為所述第一方向,和所述第二計算步驟包括計算要在垂直方向內(nèi)插的所述子像素的基準值,所述垂直方向 被確定為所述第二方向。
8.根據(jù)權(quán)利要求4所述的運動補償方法,進一步包括雙線性濾波,通過對具有帶有相應(yīng)得出的子像素值的所述內(nèi)插子像素的所述參考畫面 進行雙線性濾波而提高子像素精度。
9.根據(jù)權(quán)利要求8所述的運動補償方法,其中所述雙線性濾波包括將所述參考畫面的所述子像素精度從四分之一子像素精度 提高到八分之一子像素精度。
10.根據(jù)權(quán)利要求1所述的運動補償方法,其中所述第一舍入步驟包括借助下移位來舍入所述子像素的所述基準值。
11.根據(jù)權(quán)利要求1所述的運動補償方法,其中所述第一計算步驟包括,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相 乘,計算應(yīng)當排列在水平方向和垂直方向的子像素的基準值。
12.—種運動估算方法,包括 將子像素內(nèi)插到參考畫面中;和 根據(jù)內(nèi)插參考畫面執(zhí)行運動估算, 其中所述內(nèi)插包括計算步驟,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入步驟,在計算其它子像素的子像素值的過程中,通過舍入所述計算步驟中計算的 所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,和 所述運動估算的執(zhí)行包括根據(jù)具有帶有相應(yīng)得出的子像素值的內(nèi)插子像素的所述參考畫面來執(zhí)行運動估算。
13.一種運動畫面編碼方法,包括 獲得要編碼的畫面;將子像素內(nèi)插到參考畫面中; 根據(jù)內(nèi)插參考畫面執(zhí)行運動補償;和 根據(jù)所述參考畫面對畫面進行編碼, 其中所述內(nèi)插包括計算步驟,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入步驟,在計算其它子像素的子像素值的過程中,通過舍入所述計算步驟中計算的 所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,和 所述運動補償?shù)膱?zhí)行包括根據(jù)具有帶有相應(yīng)得出的子像素值的內(nèi)插子像素的所述參考畫面來對所述畫面執(zhí)行 運動補償,和所述編碼包括對于在所述畫面獲得中得到的要編碼的畫面與已經(jīng)在所述運動補償?shù)膱?zhí)行中執(zhí)行了 運動補償?shù)乃鰠⒖籍嬅嬷g的差值進行編碼。
14.一種運動畫面解碼方法,包括獲得從編碼一個畫面與另一個畫面之間的差值而產(chǎn)生的差分畫面;將子像素內(nèi)插到參考畫面中;根據(jù)內(nèi)插參考畫面執(zhí)行運動補償;和根據(jù)一個參考畫面編碼的畫面進行解碼,其中所述內(nèi)插包括計算步驟,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入步驟,在計算其它子像素的子像素值的過程中,通過舍入所述計算步驟中計算的 所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,和 所述運動補償?shù)膱?zhí)行包括根據(jù)具有帶有相應(yīng)得出的子像素值的內(nèi)插子像素的所述參考畫面來對所述畫面執(zhí)行 運動補償,和所述解碼包括對在所述差分畫面獲得中得到的所述差分畫面進行解碼,和把解碼的差分畫面加到已 經(jīng)在所述運動補償?shù)膱?zhí)行中執(zhí)行了運動補償?shù)膮⒖籍嬅妗?br>
15.一種運動補償裝置,包括內(nèi)插單元,用于將子像素內(nèi)插到參考畫面中;和 運動補償單元,用于根據(jù)內(nèi)插參考畫面執(zhí)行運動補償, 其中所述內(nèi)插單元包括計算單元,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入單元,用于在計算其它子像素的子像素值的過程中,通過舍入所述計算單元計算 的所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,和所述運動補償單元,根據(jù)具有帶有相應(yīng)地得出的子像素值的內(nèi)插子像素的所述參考畫 面來對所述畫面執(zhí)行運動補償。
16.一種運動估算裝置,包括內(nèi)插單元,用于將像素內(nèi)插到參考畫面中;和 運動估算單元,用于根據(jù)內(nèi)插參考畫面執(zhí)行運動補償, 其中所述內(nèi)插單元包括計算單元,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入單元,用于在計算其它子像素的子像素值的過程中,通過舍入所述計算單元計算 的所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,和所述運動估算單元,根據(jù)具有帶有相應(yīng)地得出的子像素值的內(nèi)插子像素的所述參考畫 面來執(zhí)行運動補償。
17.一種運動畫面編碼裝置,包括畫面獲得單元,用于獲得要編碼的畫面; 內(nèi)插單元,用于將子像素內(nèi)插到參考畫面中; 運動補償單元,根據(jù)內(nèi)插參考畫面來執(zhí)行運動補償;和 編碼單元,用于根據(jù)參考畫面來對畫面進行編碼, 其中所述內(nèi)插單元包括計算單元,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入單元,用于在計算其它子像素的子像素值的過程中,通過舍入所述計算單元計算 的所述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,所述運動補償單元,根據(jù)具有帶有相應(yīng)地得到的子像素值的內(nèi)插子像素的所述參考畫 面來對畫面執(zhí)行運動補償,和所述編碼單元,對通過所述畫面單元獲得得到的要編碼的畫面與已經(jīng)由所述運動補償 單元執(zhí)行了運動補償?shù)乃鰠⒖籍嬅嬷g的差值進行編碼。
18.一種運動畫面解碼裝置,包括差分畫面獲得單元,用于獲得從編碼一個畫面與另一個畫面之間的差值而產(chǎn)生的差分 畫面;內(nèi)插單元,用于把子像素內(nèi)插到參考畫面中; 運動補償單元,用于根據(jù)內(nèi)插參考畫面執(zhí)行運動補償;和 解碼單元,用于根據(jù)參考畫面對編碼畫面進行解碼, 其中所述內(nèi)插單元包括計算單元,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入單元,在計算其它子像素的子像素值的過程中,通過舍入所述計算單元計算的所 述基準值,而不是直接利用所述基準值,來得出所述子像素的所述子像素值,所述運動補償單元,根據(jù)具有帶有相應(yīng)地得到的子像素值的內(nèi)插子像素的所述參考畫 面來對畫面執(zhí)行運動補償,和所述解碼單元,對所述差分畫面獲得單元得到差分畫面進行解碼,和把解碼的差分畫 面加到已經(jīng)由所述運動補償單元進行運動補償?shù)乃鰠⒖籍嬅妗?br>
19.一種運動補償程序,用于使計算機執(zhí)行將子像素內(nèi)插到參考畫面中并根據(jù)內(nèi)插參 考畫面執(zhí)行運動補償,其中所述內(nèi)插包括計算步驟,通過將系數(shù)與包括在所述參考畫面中的像素的像素值相乘來計算作為子像 素的子像素值基準的基準值;和舍入步驟,在計算其它子像素的子像素值的過程中,舍入所述計算步驟中計算的所述 子像素的所述子基準值,而不是直接利用所述基準值, 和所述運動補償?shù)膱?zhí)行包括根據(jù)具有帶有相應(yīng)地得到的子像素值的內(nèi)插子像素的所述參考畫面來對畫面執(zhí)行運 動補償。
全文摘要
一種能夠?qū)崿F(xiàn)減輕操作工作負擔和簡化硬件配置的運動補償方法包括內(nèi)插,具有(i)通過將系數(shù)與包括在參考畫面中的像素的像素值相乘來計算子像素值的基準值的第一計算步驟(S100),和(ii)在計算其它子像素的子像素值的過程中,通過舍入所述計算步驟計算的基準值,而不是直接利用基準值,來得出子像素的子像素值的第一舍入步驟(S102);和具有帶有得出的子像素值的內(nèi)插子像素的參考畫面的運動補償(S110)。
文檔編號H04N7/36GK101945290SQ20101022462
公開日2011年1月12日 申請日期2005年7月6日 優(yōu)先權(quán)日2004年7月13日
發(fā)明者托馬斯·威第, 斯蒂芬·威特曼, 近藤敏志 申請人:松下電器產(chǎn)業(yè)株式會社