專利名稱::視頻編碼方法和裝置以及視頻解碼方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種運動補償預(yù)測幀間編碼方法裝置和運動補償預(yù)測幀間的解碼方法和裝置,其使用多個參考幀。
背景技術(shù):
:作為運動補償預(yù)測幀間編碼方法,MPEG-1(ISO/IEC11172-2)、MPEG-2(ISO/IEC13818-2)、MPEG-4(ISO/IEC14496-2)等等方法已經(jīng)被廣泛地使用。在這些編碼方法中,通過幀內(nèi)編碼圖像(I圖像)、向前預(yù)測增幀間編碼圖像(P圖像)、以及雙向預(yù)測編碼圖像(B圖像)。一個P圖像通過使用緊接著在前的P或I圖像作為一個參考圖像而被編碼。一個B圖像通過使用緊接著在前后和在后的P或I圖像作為參考圖像而被編碼。在MPEG中,一個預(yù)測圖像可以從一個或多個圖像幀中對每個宏塊有選擇地產(chǎn)生。在P圖像的情況中,一個預(yù)測圖像通常根據(jù)一個宏塊從一個參考幀產(chǎn)生。在B圖像的情況中,通過從正向參考圖像和反向參考圖像之一產(chǎn)生一個預(yù)測圖像的方法,或者從由一個正向參考圖像和一個反向參考圖像所提取的參考宏塊的平均值產(chǎn)生一個預(yù)測圖像的方法而產(chǎn)生一個預(yù)測圖像。但是,在這些預(yù)測編碼方法中,當(dāng)相同的圖像在等于或大于每個宏塊大的尺寸大的一個區(qū)域中在幀之間隨著時間水平運動時,可以獲得良好的預(yù)測結(jié)果。但是對于圖像隨時間而放大/縮小和選擇或信號幅度隨時間而抖動,例如淡入和淡出,通過上述預(yù)測編碼方法不能夠總是獲得較高的預(yù)測效率。在以固定的比特率編碼中,特別地,如果具有較差預(yù)測效率的圖像被輸入到編碼裝置中,則可能出現(xiàn)較大的圖象質(zhì)量下降。在以仿佛變化的比特率編碼中,較大的代碼量被分配給具有較差預(yù)測效率的圖像,以抑制圖像質(zhì)量的下降,導(dǎo)致編碼數(shù)位的總數(shù)增加。另一方面,通過視頻信號的仿射變換可以近似地進行圖像的淡入/淡出。因此,使用仿射變換的預(yù)測將大大地提高用于這些圖像的預(yù)測效率。為了估計用于仿射變換的參數(shù),在編碼時需要大量的參數(shù)估計計算。更加具體來說,參考圖像必須通過使用多個變換參數(shù)來變換,并且必須確定表現(xiàn)出最小預(yù)測剩余誤差的一個參數(shù)。這需要大量的變換計算。這導(dǎo)致大量的編碼計算或者大大增加的硬件成本等等。另外,一個變換參數(shù)本身以及一個預(yù)測剩余誤差必須被編碼,因此編碼的數(shù)據(jù)變大。另外,在解碼時需要反向的仿射變換,導(dǎo)致大量的解碼計算或者非常高的硬件成本。如上文所述,在例如MPEG這樣的常規(guī)視頻解碼方法中,對于除了平移之外的在視頻圖像中隨時間改變不能夠獲得足夠的預(yù)測效率。另外,在使用仿射變換的視頻編碼和解碼方法中,盡管的預(yù)測效率本身可以被提高,但是用于編碼數(shù)據(jù)的開銷增加并且編碼和解碼成本大大增加。
發(fā)明內(nèi)容本發(fā)明的一個目的是提供一種視頻編碼方法和裝置以及視頻解碼方法和裝置,其可以抑制計算量的增加以及用于編碼數(shù)據(jù)的開銷,并且特別對于淡入圖像大大提高預(yù)測效率,其中例如MPEG這樣的常規(guī)視頻編碼方法具有一個弱點。根據(jù)本發(fā)明的第一方面,在此提供一種視頻編碼方法,其通過參照用于每個宏塊的多個參考幀,執(zhí)行對一個要被編碼的幀的運動補償預(yù)測幀間編碼,其中包括從多個參考幀中產(chǎn)生多個宏塊;選擇使用多個參考宏塊、多個參考宏塊的平均值或多個參考宏塊之一通過線性插值預(yù)測或者線性外推預(yù)測所獲得的一個宏塊作為一個預(yù)測宏塊;以及編碼所選擇的預(yù)測宏塊和一個要被編碼的宏塊之間的預(yù)測誤差信號、預(yù)測模式信息和運動矢量。根據(jù)本發(fā)明第二方面,在此提供一種視頻解碼方法,通過參照用于每個宏塊的多個參考幀解碼運動補償預(yù)測幀間編碼數(shù)據(jù),其中包括接收編碼的運動矢量數(shù)據(jù)、編碼的預(yù)測模式信息、以及編碼的預(yù)測誤差信號,根據(jù)運動矢量數(shù)據(jù)和預(yù)測模式信息選擇是否(a)從多個參考幀的一個特定參考幀產(chǎn)生一個預(yù)測宏塊;(b)從多個參考幀產(chǎn)生多個宏塊,以產(chǎn)生作為一個預(yù)測宏塊的多個參考幀的平均值;或者(c)通過線性外推預(yù)測或線性插值預(yù)測產(chǎn)生一個預(yù)測宏塊;以及通過把所產(chǎn)生的預(yù)測宏塊與該預(yù)測誤差信號相加而產(chǎn)生一個解碼的幀。在例如MPEG這樣的常規(guī)視頻編碼制方法中,為了從多個參考幀產(chǎn)生一個預(yù)測宏塊,從各個參考幀提取參考宏塊,以及使用所提取的宏塊的信號的平均值。但是,根據(jù)這種常規(guī)的視頻編碼方法,當(dāng)由于淡入等等而導(dǎo)致圖像信號的幅度隨時間而改變時,預(yù)測效率下降。相反,根據(jù)本發(fā)明第一或第二方面的視頻編碼方法,由于通過基于線性預(yù)測的外推或插值從多個幀產(chǎn)生一個預(yù)測圖像,因此當(dāng)圖像信號的幅度隨時間而單調(diào)變化時,可以大大地提高預(yù)測效率。這可以實現(xiàn)較高的圖像質(zhì)量和較高效率的編碼。在幀間編碼中,通常,編碼的圖像被用作為在編碼方的參考幀,并且解碼的圖像被用作為在解碼方的參考幀。因此,在參考幀中的編碼噪聲的影響變?yōu)槭沟妙A(yù)測效率下降的一個因素。從多個參考層提取的參考宏塊的平均表現(xiàn)出噪聲消除效果,因此有助于提高編碼效率。該效果與在預(yù)測編碼中被稱為循環(huán)濾波器的技術(shù)相等效。根據(jù)本發(fā)明的第一和第二方面,可以根據(jù)輸入的圖像選擇具有高的環(huán)路濾波器效果的多個參考幀的平均處理、對于淡入圖像等等有效線性插值、或者用于線性插值的最佳預(yù)測模式。這可以提高用于任何輸入圖像的編碼效率。根據(jù)本發(fā)明第三方面,在此提供一種視頻編碼方法,其中在通過參照用于每個宏塊的多個參考幀而執(zhí)行的運動補償預(yù)測幀間編碼中,多個參考幀是緊接著在要被編碼的幀之前被編碼的兩個幀,以及在基于多個參考宏塊的線性外推預(yù)測中,通過從把由緊接著在前的參考幀產(chǎn)生的參考宏塊的信號幅度加倍所獲得的信號減去從相對于緊接著在前的參考幀提前一個幀的參考幀所產(chǎn)生的參考宏塊信號而產(chǎn)生該預(yù)測宏塊。根據(jù)本發(fā)明第四方面,在此提供一種視頻解碼方法,其中在通過參照用于每個宏塊的多個視頻幀所執(zhí)行的運動補償預(yù)測幀間解碼中,多個參考幀是緊接著在要被編碼的幀之前解碼的兩個幀,并且在基于參考宏塊的線性外推預(yù)測中,通過從把由緊接著在前的參考幀產(chǎn)生的參考宏塊的信號幅度加倍所獲得的信號減去從相對于緊接著在前的參考幀提前一個幀的參考幀所產(chǎn)生的參考宏塊信號而產(chǎn)生該預(yù)測宏塊。如上文所述,在例如MPEG這樣的常規(guī)視頻解碼方案中,但由于淡入等等似的圖像信號的幅度隨著時間而改變時,預(yù)測效率下降。例如,假設(shè)V(t)是在時間t的一個圖像幀,并且V’(t)是已經(jīng)受到淡化處理的在時間t的一個圖像幀,可以通過方程(1)和(2)實現(xiàn)淡入和淡出。在方程(1)中,(a)標(biāo)是一個淡化周期;淡入在時間t=0開始,并且在時間T結(jié)束。在方程(2)中,(b)表示一個淡化周期;淡出在時間T0開始并且在時間T0+T結(jié)束。Y′(t)=Y(t)×t/T(0≤t<T)(a)Y(t)(t≥Y)(b)---(1)]]>Y′(t)=Y(t)(t≤T0)(a)Y(t)×(T-t+T0)/T(T0<t<T0+T)(b)0(t≥T0+T)(c)---(2)]]>假設(shè)在執(zhí)行淡化處理時在時間t的一個幀Y’(t)是一個要被編碼的幀,并且在時間t-1和t-2受到相同淡化處理的兩個幀Y’(t-1)和Y’(t-2)是參考幀。首先考慮一種情況,其中從這兩個幀的平均值產(chǎn)生一個預(yù)測圖像P(t),如方程(3)所示。P(t)={Y′(t-1)+Y′(t-2)}/2(3)考慮在方程(1)和(2)中的淡化周期(a)和(b),由方程(3)所獲得的預(yù)測圖像由如下方程(4)和(5)所表示P(t)={Y(t-1)×(t-1)/T+Y(t-2)×(t-2)/T}/2(4)P(t)={Y(t-1)×(T-t+1+T0)/T+Y(t-2)×(T-t+2+T0)/T}/2(5)如果在淡化之前在原始信號Y(t)中沒有時間抖動,即Y(t)=C(常量),假設(shè)Y(t)是與t無關(guān)的常量,方程(4)和(5)被改變?yōu)榉匠?6)和(7)P(t)=C×(2t-3)/2T(6)P(t)=C×(2T-2t+3+2T0)/2T(7)另一方面,要被編碼的信號Y’(t)由方程(8)和(9)所表示Y′(t)=C×t/T(8)Y′(t)=C×(T-t+T0)/T(9)通過從由方程(8)和(9)給出的Y’(t)減去由方程(6)和(7)所給出的預(yù)測圖像P(t)所獲得的預(yù)測誤差信號D(t)由方程(10)和(11)所表示D(t)=C×3/2T(10)D(t)=-C×3/2T(11)根據(jù)本發(fā)明第三和第四方面的視頻編碼方法,產(chǎn)生由方程(12)所表示的預(yù)測圖像P(t)。P(t)=2×Y′(t-1)-Y′(t-2)(12)在上述情況中假設(shè)Y(t)=C,在由方程(1)所表達的淡入中的預(yù)測圖像和由方程(2)所表達的淡出中的預(yù)測圖像由如下方程所表達P(t)=C×t/T(13)P(t)=C×(T-t+T0)/T(14)方程(13)和(14)與由方程(8)和(9)所表示的要被編碼的圖像相一致。在任何一種情況中,通過從被編碼圖像減去預(yù)測圖像所獲得的預(yù)測誤差信號D(t)變?yōu)?。如上文所述,對于淡化圖像,例如MPEG這樣的常規(guī)運動補償技術(shù)造成剩余誤差信號。相反,顯然根據(jù)本發(fā)明第三和第四方面,沒有產(chǎn)生剩余誤差信號,并且大大提高預(yù)測效率。在方程(1)和(2)中,1/T表示在淡入和淡出中的速度改變。從方程(10)和(11)顯然可以看出,在常規(guī)的運動過程中,剩余誤差隨著淡化中的改變速度增加而增加,導(dǎo)致編碼效率的下降。根據(jù)本發(fā)明第三和第四方面的視頻編碼方法,可以獲得較高的預(yù)測效率而與淡化改變速度無關(guān)。根據(jù)本發(fā)明第五方面,除了對本發(fā)明第一和第三方面的視頻編碼方法之外,在此提供一種視頻編碼方法,其中要被編碼的運動矢量是與多個參考幀中的的另一個參考幀相關(guān)的運動矢量。除了本發(fā)明第二和第四方面的視頻編碼方法之外,根據(jù)本發(fā)明第六方面,在此提供一種視頻編碼方法,其中所接收的運動矢量數(shù)據(jù)是與多個參考幀中的一個特定參考幀相關(guān)的運動矢量,并且該運動矢量數(shù)據(jù)被根據(jù)要被解碼的幀和參考幀之間的幀間距離而縮放/轉(zhuǎn)換,以產(chǎn)生用于剩余的參考幀的運動矢量。通過根據(jù)本發(fā)明第一至第四方面的方法,通過使用多個參考圖像可以對于淡化圖像等等獲得比現(xiàn)有技術(shù)更高的預(yù)測效率。但是,如果用于多個參考圖像的運動矢量被復(fù)用到用于每個編碼宏塊的編碼數(shù)據(jù),該編碼開銷增加。根據(jù)例如ITU-TH.263這樣的編碼方案,可以使用被稱為直接模式的一種編碼方法,其中沒有用于B圖像的運動矢量被發(fā)送,并且根據(jù)參考圖像和要被編碼的圖像之間的幀間距離,通過縮放跨過B圖像的用于P圖像的運動矢量而獲得用于B圖像的運動矢量。這種直接模式編碼方法是這樣一種模式,其中在對應(yīng)于幾個幀的短時間周期中觀看時,要被編碼的視頻圖像被近似為運動矢量幾乎為常量或者為0的一個圖像。在許多情況中,該方法可以減小運動矢量的編碼位數(shù)。根據(jù)本發(fā)明第五和第六方面的方法,與用于B圖像的直接模式相同,在P圖像的情況中,僅僅用于多個參考幀的運動矢量的其中一個運動矢量被編碼,并且在解碼方,可以根據(jù)相對于一個參考圖像的幀間距離而縮放所接收的運動矢量。這樣可以獲得與根據(jù)本發(fā)明第一至第四方面的方法所獲得的相同的編碼效率的改進,而不增加編碼開銷。除了根據(jù)本發(fā)明第五方面的方法之外,在此提供一種根據(jù)本發(fā)明第七方面的方法,其中與特定參考幀相關(guān)的運動矢量是根據(jù)參考幀之間的幀間距離和要被編碼的幀而歸一化的一個運動矢量。除了根據(jù)本發(fā)明第六方面的方法之外,在此提供一種根據(jù)第八方面的方法,其中與所接收的特定參考幀相關(guān)的運動矢量是根據(jù)在該參考幀和要被編碼的幀之間的幀間距離而歸一化的一個運動矢量。根據(jù)本發(fā)明第七和第八方面,用于要被編碼的一個運動矢量的基準(zhǔn)標(biāo)度是常量,而與幀間距離是否改變無關(guān),并且用于各個參考幀的運動矢量的縮放處理可以通過僅僅使用每個參考幀和要被編碼的幀之間的幀間距離的信息而計算來實現(xiàn)。需要執(zhí)行除法運算來執(zhí)行任意縮放操作。但是,對要用幀間距離而編碼的一個運動矢量的歸一化使得僅僅通過乘法來執(zhí)行縮放處理成為可能。這可以減小編碼和解碼的成本。除了根據(jù)本發(fā)明第一和第三方面的方法之外,在此提供一種根據(jù)本發(fā)明第九方面的方法,其中要被編碼的運動矢量包括與多個參考幀中的的另一個參考幀相關(guān)的第一運動矢量和用于剩余的參考幀的多個運動矢量,并且多個運動矢量被編碼為在該多個運動矢量和通過根據(jù)要被解碼的幀和多個參考幀之間的幀間距離縮放第一運動矢量而獲得的運動矢量之間的差分矢量。除了根據(jù)第二和第四方面的方法之外,在此提供一種根據(jù)本發(fā)明第十方面的方法,其中所接收的運動矢量數(shù)據(jù)包括與多個參考幀中的一個特定參考幀相關(guān)的運動矢量和與剩余的參考幀相關(guān)的差分矢量。該運動矢量數(shù)據(jù)被根據(jù)要被解碼的幀和該參考幀之間的幀間距離而縮放/轉(zhuǎn)換。然后,所獲得的數(shù)據(jù)被添加到該差分矢量,以產(chǎn)生預(yù)取除了該特定一個幀之外的多個參考幀相關(guān)的運動矢量。根據(jù)本發(fā)明第五和第六方面的方法,在具有恒定運動速度的靜態(tài)圖像的情況中,可以通過使用多個參考層來提高預(yù)測效率,而不增加用于運動矢量信息的編碼開銷。但是,如果該運動速度不為常量,則僅僅通過簡單地縮放運動矢量不能夠獲得足夠的預(yù)測效率。根據(jù)作為在MPEG2視頻編碼中的一種預(yù)測模式的對偶素預(yù)測(dual-primeprediction),在使用中兩個連續(xù)區(qū)域的運動預(yù)測中,用于一個區(qū)域的運動矢量和通過根據(jù)區(qū)域間距離對該運動矢量進行縮放所獲得的一個運動矢量與用于其它區(qū)域的一個運動矢量之間的差分矢量被編碼。一個運動矢量由一個1/2像素分辨率所表示。通過對兩個區(qū)域平均該參考宏塊,由一個自適應(yīng)時空濾波器(spatiotemporalfilter)產(chǎn)生環(huán)路濾波器效果。另外,可以抑制編碼開銷的增加。這大大地有助于提高編碼效率。根據(jù)本發(fā)明第九和第十方面的方法,除了類似于由對偶素預(yù)測所獲得的效果之外,即由一個自適應(yīng)時空濾波器所產(chǎn)生的環(huán)路濾波器效果,可以提高用于淡化圖像等等的預(yù)測效率。這可以獲得比現(xiàn)有技術(shù)更高的編碼效率。除了第一、第三、第五、第七和第九方面的方法之外,在此提供根據(jù)本發(fā)明第11方面的一種方法,其中預(yù)測模式信息包括第一標(biāo)志和第二標(biāo)志,第一標(biāo)志表示使用一個特定參考幀的預(yù)測或者表示使用多個參考幀的預(yù)測,以及第二標(biāo)志表示使用多個參考幀的預(yù)測是根據(jù)多個參考宏塊的平均值的預(yù)測或根據(jù)多個參考宏塊的線性外推或線性插值的預(yù)測,并且該第二標(biāo)志被包含在一個編碼幀的標(biāo)頭數(shù)據(jù)或者多個編碼幀標(biāo)頭數(shù)據(jù)中。除了第二、第四、第六、第八和第十方面的方法之外,在此提供一種根據(jù)本發(fā)明第十方面的方法,其中預(yù)測模式信息包括第一標(biāo)志和第二標(biāo)志,第一標(biāo)志表示使用一個特定參考幀的預(yù)測或者表示使用多個參考幀的預(yù)測,以及第二標(biāo)志表示使用多個參考幀的預(yù)測是根據(jù)多個參考宏塊的平均值的預(yù)測或根據(jù)多個參考宏塊的線性外推或線性插值的預(yù)測,并且該第二標(biāo)志被接收作為一個編碼幀的標(biāo)頭數(shù)據(jù)或作為多個編碼幀的標(biāo)頭數(shù)據(jù)的一部分。如上文所述,實線本發(fā)明,通過自適應(yīng)地在對于一個編碼幀的每個宏塊從多個參考幀中的僅僅一個特定參考幀產(chǎn)生一個預(yù)測宏塊的操作、從多個參考圖像的平均值產(chǎn)生一個預(yù)測宏塊的操作、以及通過多個參考圖像的線性外推或線性插值產(chǎn)生一個預(yù)測宏塊的操作之間切換,可以實現(xiàn)較高圖像質(zhì)量的編碼。例如,僅僅從多個參考幀中的一個特定參考幀的預(yù)測(在這種情況中為預(yù)測模式1)對于其背景隨時間交替地出現(xiàn)和消失的單個幀中的一個圖像部分是有效的。對于具有較小的時間抖動的一個圖像部分,從多個參考圖像的平均值的預(yù)測(在這種情況中為預(yù)測模式2)可以獲得消除參考圖像中的編碼失真的環(huán)路濾波器效果。當(dāng)例如一個淡化圖像這樣的圖像信號的幅度隨時間變化時,通過多個參考圖像的線性外推或線性插值可以提高預(yù)測效率(在這種情況中為測試模式3)。通常,在常規(guī)的編碼方案中,當(dāng)最佳預(yù)測模式是按照這種方式有選擇地對每個宏塊進行切換時,為每個宏塊對表示一個預(yù)測模式的標(biāo)志進行編碼,并且包含在每個宏塊的標(biāo)頭數(shù)據(jù)中。如果有選擇地使用許多預(yù)測模式,則用于表示與該預(yù)測模式的標(biāo)志的編碼開銷增加。根據(jù)本發(fā)明第11和12方面的方法,要被使用的預(yù)測模式的組合被限制為每個編碼生的預(yù)測模式1和2組合或用于預(yù)測模式1和3的組合。與表示預(yù)測模式1、預(yù)測模式2或預(yù)測模式3的第一標(biāo)志一同準(zhǔn)備表示上述組合之一的第二標(biāo)志。表示預(yù)測模式的組合的該第二標(biāo)志被包含在一個編碼幀的標(biāo)頭數(shù)據(jù)中。表示預(yù)測模式的第二標(biāo)志可以對每個宏塊改變,并且包含在該宏塊的標(biāo)頭數(shù)據(jù)中。這可以減小與在編碼數(shù)據(jù)中的預(yù)測模式相關(guān)的開銷。當(dāng)例如淡化圖像這樣的圖像信號的幅度隨時間改變時,該幅度均勻地在該幀內(nèi)隨時間改變。因此,不需要在用于每個宏塊的預(yù)測模式2和預(yù)測模式3之間切換;即使對每個幀固定一個預(yù)測模式也不會出現(xiàn)預(yù)測效率的下降。一個背景等等隨時間交替地出現(xiàn)和消失,而與圖像信號的幅度隨時間改變無關(guān)。因此,如果一個背景對每個幀固定,則預(yù)測效率下降。這需要使用第一標(biāo)志對每個宏塊切換最佳預(yù)測模式。按照上述方式在一個幀和宏塊的標(biāo)頭中分離地設(shè)置表示預(yù)測模式的標(biāo)志,可以減小編碼開銷,而不降低預(yù)測效率。根據(jù)本發(fā)明第十三方面,在此提供一種視頻編碼方法,其中在通過參照用于每個宏塊的多個視頻幀執(zhí)行運動補償幀間編碼中,通過線性預(yù)測從多個參考幀產(chǎn)生一個預(yù)測宏塊,對于每個宏塊編碼預(yù)測宏塊和一個編碼宏塊之間的一個預(yù)測誤差信號和一個運動矢量,并且對于每個幀編碼用于線性預(yù)測的預(yù)測系數(shù)的組合。除了根據(jù)第十三方面的方法之外,根據(jù)本發(fā)明第十四方面,在此提供一種方法,其中多個參考幀相對于要被編碼的幀是過去幀。根據(jù)本發(fā)明第十五方面,在此提供一種視頻解碼方法,其中在通過參照用于每個宏塊的多個視頻幀解碼運動補償預(yù)測幀間編碼數(shù)據(jù)中,接收對每個宏塊編碼的運動矢量數(shù)據(jù)和預(yù)測誤差信號以及對每個幀編碼的預(yù)測系數(shù)的組合,根據(jù)該運動矢量和預(yù)測系數(shù)從多個參考幀產(chǎn)生一個預(yù)測宏塊,并且所產(chǎn)生的預(yù)測宏塊和預(yù)測誤差信號被相加。除了根據(jù)第五方面的方法之外,根據(jù)本發(fā)明第十六方面,在此提供一種方法,其中多個參考幀相對于要被編碼的幀是過去幀。根據(jù)本發(fā)明第十三至十六方面的方法,由于預(yù)測系數(shù)可以被設(shè)置在一個任意時間方向上,因此不但與淡化圖像的情況相同當(dāng)圖像信號的幅度隨時間改變時而且當(dāng)在幅度圖像信號的幅度中出現(xiàn)任意時間抖動時,通過在編碼方使用預(yù)測系數(shù)的最佳組合可以提高預(yù)測效率。另外,在編碼數(shù)據(jù)上復(fù)用之后,發(fā)送上述預(yù)測系數(shù)使得與編碼操作中相同的線性預(yù)測被在解碼操作中執(zhí)行,導(dǎo)致高效率的預(yù)測編碼。根據(jù)本發(fā)明,通過從多個參考幀進行預(yù)測可以獲得編碼效率的改進。但是,與MPEG中的B圖像的情況相同,通過使用多個過去和將來幀作為參考可以執(zhí)行對時間連續(xù)的幀的預(yù)測。另外,與MPEG中的I和P圖像的情況相同,僅僅過去幀被用作為參考幀。另外,多個過去P和I圖像可以被用作為參考圖像。這種方案可以實現(xiàn)用比常規(guī)的MPEG編碼更高的圖像質(zhì)量實現(xiàn)編碼。特別地,與現(xiàn)有技術(shù)不同,在僅僅使用過去幀編碼P圖像中,與通過使用多個過去參考幀的現(xiàn)有技術(shù)相比可以大大地提高編碼效率。在不使用B圖像的編碼操作中,不需要提供用于重新排列編碼幀的延遲的。這樣可以實現(xiàn)小延遲編碼。因此,根據(jù)本發(fā)明,可以獲得編碼效率的更大改進,甚至獲得比現(xiàn)有技術(shù)更小延遲的編碼。特別地,本發(fā)明還提供一種視頻編碼方法和裝置,其通過使用至少一個參考幀和要被編碼的宏塊與該參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼,包括對于每個要被編碼的宏塊,通過在使用至少一個編碼的過去幀作為參考幀的第一預(yù)測模式、使用一個編碼的將來幀作為該參考幀的第二預(yù)測模式、使用該編碼的過去和將來幀的線性和作為該參考幀的第三預(yù)測模式、以及使用多個編碼的過去參考幀的線性和作為該參考幀的第四預(yù)測模式之間切換,對視頻圖像執(zhí)行運動補償預(yù)測幀間編碼。此外,本發(fā)明還提供一種視頻解碼方法和裝置,其通過使用要被解碼的宏塊和至少一個參考幀之間的一個運動矢量,對一個視頻圖像的要被解碼的宏塊執(zhí)行運動補償預(yù)測幀間解碼,包括解碼被編碼的數(shù)據(jù),該被編碼的數(shù)據(jù)包括用于每個要被解碼的宏塊的預(yù)測誤差信號的信息、表示使用至少一個要被編碼的過去幀作為該參考幀的第一預(yù)測模式、使用要被編碼的將來幀作為該參考幀的第二預(yù)測模式、使用要被編碼的過去幀和將來幀的線性和作為該參考幀的第三預(yù)測模式、以及使用多個要被編碼的過去幀的線性和作為該參考幀的第四預(yù)測模式之一的預(yù)測模式信息、以及該運動矢量的信息;通過使用該預(yù)測模式信息和該運動矢量的信息產(chǎn)生一個預(yù)測宏塊信號;以及通過把該預(yù)測宏塊信號和解碼的預(yù)測誤差信號相加來再現(xiàn)一個視頻信號。圖1為示出根據(jù)本發(fā)明第一實施例的視頻編碼方法的方框圖;圖2為示出根據(jù)本發(fā)明第一實施例的視頻解碼方法的方框圖;圖3為示出根據(jù)本發(fā)明第二實施例的視頻編碼和解碼方法的幀間預(yù)測關(guān)系的示意圖;圖4為示出根據(jù)本發(fā)明第三實施例的視頻編碼和解碼方法中的幀間預(yù)測關(guān)系的示意圖;圖5為示出根據(jù)本發(fā)明第四實施例的視頻編碼和解碼方法中的幀間預(yù)測關(guān)系的示意圖;圖6為示出用于說明根據(jù)本發(fā)明第五實施例的矢量信息編碼和解碼方法的示意圖;圖7為示出用于說明根據(jù)本發(fā)明第六實施例的矢量信息編碼和解碼方法的示意圖;圖8為示出用于說明根據(jù)本發(fā)明第七實施例的矢量信息編碼和解碼方法的示意圖;圖9為示出根據(jù)本發(fā)明第八實施例的用于執(zhí)行視頻編碼方法的視頻編碼裝置的方框圖;圖10為示出根據(jù)本發(fā)明第九實施例的在視頻編碼方法中的一個程序的流程圖;圖11為示出在第九實施例中的要被編碼的視頻數(shù)據(jù)的圖像標(biāo)頭和片斷標(biāo)頭的數(shù)據(jù)結(jié)構(gòu)的一個例子的示意圖;圖12為示出在第九實施例中的要被編碼的視頻數(shù)據(jù)的宏塊的數(shù)據(jù)結(jié)構(gòu)的一個例子的示意圖;圖13為示出根據(jù)第九實施例的要被編碼的視頻數(shù)據(jù)的整體數(shù)據(jù)結(jié)構(gòu)的示意圖;圖14為示出根據(jù)第九實施例的視頻解碼方法中的一個程序的流程圖;圖15為示出用于說明在第九實施例中的時間線性插值的示意圖;圖16為用于說明在第九實施例中的時間線性插值的示意圖;圖17為示出根據(jù)第一和第八實施例的線性預(yù)測系數(shù)表的一個例子的示意圖;圖18為示出根據(jù)第一和第八實施例的線性預(yù)測系數(shù)表的一個例子的示意圖;圖19為示出根據(jù)第一和第八實施例的表示參考幀的表格的一個例子的示意圖;圖20為示出根據(jù)本發(fā)明第十實施例的視頻編碼裝置的方框圖;圖21為示出根據(jù)本發(fā)明第十實施例的視頻解碼裝置的方框圖;圖22為示出根據(jù)本發(fā)明的實施例的表示線性預(yù)測系數(shù)的語法的一個例子的示意圖;圖23為示出根據(jù)本發(fā)明的實施例的示出參考幀的一個表格的例子的示意圖;圖24為用于說明根據(jù)本發(fā)明的實施例的運動矢量信息預(yù)測編碼方法的示意圖;圖25為用于說明根據(jù)本發(fā)明的實施例的運動矢量信息預(yù)測編碼方法的示意圖;圖26為示出根據(jù)本發(fā)明第四實施例的一個視頻編碼裝置的結(jié)構(gòu)的方框圖;圖27為用于說明根據(jù)本發(fā)明的實施例的線性預(yù)測系數(shù)確定方法的一個例子的示意圖;圖28為用于說明根據(jù)本發(fā)明的實施例的線性預(yù)測系數(shù)確定方法的一個例子的示意圖;圖29為用于說明根據(jù)本發(fā)明的實施例的線性預(yù)測系數(shù)確定方法的一個例子的示意圖;圖30為用于說明根據(jù)本發(fā)明的實施例的線性預(yù)測系數(shù)確定方法的一個例子的示意圖;圖31為用于說明根據(jù)本發(fā)明的實施例的線性預(yù)測系數(shù)確定方法的一個例子的示意圖;圖32為用于說明根據(jù)本發(fā)明的實施例的運動矢量搜索方法的示意圖;圖33為用于說明根據(jù)本發(fā)明的實施例的運動矢量搜索方法的示意圖;圖34為用于說明根據(jù)本發(fā)明的實施例的運動矢量編碼方法的示意圖;圖35為用于說明根據(jù)本發(fā)明的實施例的運動矢量編碼方法的示意圖;圖36為示出根據(jù)本發(fā)明的實施例的幀間預(yù)測關(guān)系的示意圖;圖37為用于說明根據(jù)本發(fā)明的實施例的運動矢量編碼方法的示意圖;圖38為用于說明根據(jù)本發(fā)明的實施例的運動矢量編碼方法的示意圖;圖39為用于說明根據(jù)本發(fā)明的實施例的運動矢量編碼方法的示意圖;圖40為示出根據(jù)本發(fā)明的實施例的用于視頻編碼的程序的流程圖;圖41為用于說明根據(jù)本發(fā)明的實施例的加權(quán)預(yù)測的示意圖;圖42為示出根據(jù)本發(fā)明的實施例的圖像標(biāo)頭和片斷標(biāo)頭的數(shù)據(jù)結(jié)構(gòu)的示意圖;圖43為示出根據(jù)本發(fā)明的實施例的加權(quán)預(yù)測系數(shù)表的數(shù)據(jù)結(jié)構(gòu)的第一例子的示意圖;圖44為示出根據(jù)本發(fā)明的實施例的加權(quán)預(yù)測系數(shù)表的數(shù)據(jù)結(jié)構(gòu)的第二例子的示意圖;圖45為示出根據(jù)本發(fā)明的實施例的要被編碼的視頻數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖;以及圖46為示出根據(jù)本發(fā)明的實施例的用于視頻解碼的程序的流程圖。具體實施例方式圖1為示出執(zhí)行根據(jù)本發(fā)明一個實施例的視頻編碼方法的視頻編碼裝置的方框圖。根據(jù)該裝置,預(yù)測宏塊產(chǎn)生單元119從存儲在第一參考幀存儲器117和第二參考幀存儲器118中的幀產(chǎn)生一個預(yù)測圖像。預(yù)測宏塊選擇單元120從該預(yù)測圖像選擇一個最佳預(yù)測宏塊。減法器110通過計算輸入信號100和預(yù)測信號106之差而產(chǎn)生預(yù)測誤差信號101。DCT(離散余弦變換)單元112對于預(yù)測誤差信號101執(zhí)行DCT變換,以把該氣浮DCT信號發(fā)送到量化器113。量化器113把該DCT信號量化,以把量化的信號發(fā)送到可變長編碼器114。該可變長編碼器114把量化的信號進行可變長編碼,以輸出編碼數(shù)據(jù)102。該可變長編碼器114對運動矢量信息和預(yù)測模式信息(將在下文中描述)并且把結(jié)果數(shù)據(jù)與編碼數(shù)據(jù)102一同輸出。由該量化器113所獲得的量化信號還被發(fā)送到一個反量化器115,以被反量化。一個加法器121把反量化的信號與預(yù)測信號106相加,以產(chǎn)生一個本地解碼圖像103。該本地解碼圖像103被寫入在第一參考幀存儲器117中。在本實施例中,預(yù)測誤差信號101通過DCT變換、量化和可變長編碼而被編碼。但是,DCT變換可以由小波變換來代替,或者可變長編碼可以由算術(shù)編碼來代替。在本實施例中,緊接著在前編碼的幀的本地解碼圖像被存儲在第一參考幀存儲器117中,并且在上述幀之前被進一步編碼的幀的本地解碼圖像被存儲在第二參考幀存儲器118中。預(yù)測宏塊產(chǎn)生單元119產(chǎn)生一個預(yù)測宏塊信號130、預(yù)測宏塊信號131、預(yù)測宏塊信號132和預(yù)測宏塊信號133。該預(yù)測宏塊信號130是僅僅從在第一參考幀存儲器117中的圖像提取的一個信號。該預(yù)測宏塊信號131是僅僅從在第二參考幀存儲器118中的圖像提取的一個宏塊信號。預(yù)測宏塊信號132是通過對從第一和第二參考幀存儲器提取的參考宏塊信號求平均所獲得的信號。該預(yù)測宏塊信號133是通過從把由第一參考幀存儲器117提取的參考宏塊信號的幅度加倍所獲得的信號減去由第二參考幀存儲器118提取的參考宏塊信號所獲得的一個信號。這些預(yù)測宏塊信號被從各個幀中的多個位置提取,以產(chǎn)生多個預(yù)測宏塊信號。該預(yù)測宏塊選擇單元120計算由預(yù)測宏塊產(chǎn)生單元119所產(chǎn)生的多個預(yù)測宏塊信號的每一個信號與從輸入視頻信號100提取的要被編碼的宏塊信號之間的差值。該預(yù)測宏塊選擇單元120然后選擇該預(yù)測宏塊信號,其對每個要被編碼的宏塊表現(xiàn)出最小誤差,并且把所選擇的一個信號發(fā)送到減法器110。該減法器110計算所選擇的預(yù)測宏塊信號和輸入信號100之間的差值,并且輸出預(yù)測誤差信號101。所選擇的預(yù)測宏塊相對于要被編碼的宏塊的位置以及用于所選擇的預(yù)測宏塊信號(在圖1中的一個信號130至133)的產(chǎn)生方法被分別編碼為一個運動矢量和用于每個要被編碼的塊的預(yù)測模式??勺冮L編碼器114編碼通過DCT變換器112和量化器113所獲得的編碼的DCT系數(shù)數(shù)據(jù)102,以及包含從預(yù)測模式選擇單元120輸出的運動矢量信息和預(yù)測模式信息的側(cè)面信息107,并且把該結(jié)果數(shù)據(jù)作為編碼數(shù)據(jù)108輸出。該編碼數(shù)據(jù)108被發(fā)送到一個存儲系統(tǒng)或者發(fā)送系統(tǒng)(未示出)。在這種情況中,當(dāng)一個視頻信號由亮度信號和色度信號所形成時,該預(yù)測信號106通過把相同的運動矢量和預(yù)測模式施加到各個宏塊的信號分量而產(chǎn)生。圖2為一個視頻解碼裝置的方框圖,其執(zhí)行根據(jù)本發(fā)明一個實施例的視頻解碼方法。該圖2中的視頻解碼裝置接收和解碼根據(jù)圖1中所示的第一實施例由視頻編碼裝置所編碼的數(shù)據(jù)。更加具體來說,一個可變長解碼單元214解碼輸入編碼數(shù)據(jù)200的可變長代碼,以提取預(yù)測誤差信號201和預(yù)測模式信息202。該預(yù)測誤差信號201在反量化單元215和反DCT單元216中受到反量化和反DCT。該結(jié)果數(shù)據(jù)被添加到一個預(yù)測信號206,以產(chǎn)生一個解碼圖像203。該解碼圖像203被寫入在第一參考幀存儲器217中。該預(yù)測信號206由預(yù)測宏塊產(chǎn)生單元219和預(yù)測宏塊選擇單元220從圖像信號204和205根據(jù)由編碼數(shù)據(jù)200提取的運動矢量和預(yù)測模式而產(chǎn)生。該圖像信號204是緊接著在編碼數(shù)據(jù)200之前解碼并且記錄在第一參考幀存儲器217上的圖像信號。該圖像信號205是在圖像信號204之前解碼并且存儲在第二參考幀存儲器218中的一個圖像信號,該預(yù)測信號206是與在編碼時所用的預(yù)測宏塊信號相同的預(yù)測信號。圖3示意地示出在根據(jù)本發(fā)明第二實施例的視頻編碼和解碼方法中使用兩個參考幀的一個幀間預(yù)測的關(guān)系。圖3示出一個要被編碼的幀302、緊接著在要被編碼的幀302之前的幀301、以及進一步在幀302之前的幀300。當(dāng)幀302被編碼或解碼時,幀301的一個解碼圖像被存儲在圖2中的第一參考幀存儲器117或圖2中的第一參考幀存儲器217中,并且?guī)?00被存儲在圖1中的第二參考幀存儲器118或圖2中的第二參考幀存儲器218中。在圖3中的一個宏塊305是要被編碼的宏塊,其通過使用在參考幀300中的一個參考宏塊303和在參考幀301中的一個參考宏塊304而產(chǎn)生。矢量306和307是運動矢量,其分別表示參考宏塊303和304的位置。在編碼操作中,搜索用于要被編碼的宏塊305的最佳運動矢量和預(yù)測模式。在解碼操作中,一個預(yù)測宏塊信號通過使用包含在編碼數(shù)據(jù)中的運動矢量和預(yù)測模式而產(chǎn)生。圖4和5示出根據(jù)本發(fā)明第三和第四實施例使用三個或更多個參考幀的幀間預(yù)測的例子。圖4示出使用多個過去參考幀的一個例子,即,線性外推預(yù)測。圖5示出使用多個過去和將來參考幀的一個例子,即,線性插值預(yù)測。參見圖4。一個幀404是要被編碼的幀,并且?guī)?00和403是用于幀404的參考幀。在圖4中的參考數(shù)字413表示一個編碼宏塊413。在編碼操作中,參考宏塊(在圖4中的409至412)被根據(jù)用于各個參考幀的運動矢量(在圖4中的405至408)從用于每個要被編碼的宏塊的各個參考幀中提取。通過線性外推預(yù)測從多個參考宏塊產(chǎn)生一個預(yù)測宏塊。選擇在根據(jù)線性預(yù)測用于一個預(yù)測宏塊的一個預(yù)測模式中表現(xiàn)出最小預(yù)測誤差的一個預(yù)測模式和多個參考宏塊之一的組合。從幀之間隨著時間等等而改變的平均亮度,對于每個要被編碼的幀確定線性預(yù)測系數(shù)的一個組合。該所確定的預(yù)測系數(shù)的組合被編碼為用于要被編碼的幀的標(biāo)頭數(shù)據(jù)。對每個宏塊編碼每個宏塊的運動矢量、預(yù)測模式和預(yù)測誤差信號。在解碼操作中,最每個幀所接收的線性預(yù)測系數(shù)的組合被用于根據(jù)運動矢量和預(yù)測模式信息從多個參考幀產(chǎn)生用于每個宏塊的一個預(yù)測宏塊。通過把該預(yù)測宏塊添加到預(yù)測誤差信號而解碼該編碼數(shù)據(jù)。參照圖5,幀502是一個要被編碼的幀,并且?guī)?00、501、503和504是參考幀。在圖5中所示的情況中,在編碼操作和解碼操作中,幀500、501、503、504和502被按照該次序重新排列。在編碼的情況中,多個本地解碼圖像幀被用作為參考幀。在解碼的情況中,多個編碼幀被用作為參考幀。對于一個要被編碼的宏塊511,基于宏塊選擇和編碼參考宏塊509、510、512和513之一或者通過線性插值預(yù)測從它們獲得的一個預(yù)測信號,這與圖4中所示的實施例相同。圖6示出根據(jù)本發(fā)明第五實施例用于運動矢量信息的編碼和解碼方法。假設(shè)與圖3中所示的實施例相同,在使用多個參考幀的幀間編碼操作中,通過使用多個參考宏塊信號對每個要被編碼的宏塊產(chǎn)生一個預(yù)測宏塊信號。在這種情況中,必須對每個宏塊編碼多個運動矢量信息。因此,隨著要被引用的宏塊數(shù)目的增加,用于運動矢量信息的開銷增加。這導(dǎo)致編碼效率的下降,根據(jù)圖6中所示的方法,當(dāng)一個預(yù)測宏塊信號通過分別從兩個參考幀提取參考宏塊信號而產(chǎn)生一個預(yù)測宏塊信號,使用一個運動矢量和通過根據(jù)幀間距離縮放該運動矢量所獲得的運動矢量。一個幀602是要被編碼的幀,并且?guī)?01和600是參考幀。矢量611和610是運動矢量。每個黑點表示在垂直方向上的一個像素位置,并且每個白點表示具有1/4像素精度的一個插值點。圖6示出用1/4像素精度執(zhí)行運動補償預(yù)測的情況。對于每個編碼方案確定一個運動補償像素精度為1像素、1/2像素、1/8像素等等。通常,一個運動矢量由一個運動補償精度所表達。一個參考圖像通常通過對參考幀的圖像數(shù)據(jù)的插值而產(chǎn)生。。參見圖6,對于在要被編碼的幀602中的一個像素605,與在參考幀600中對應(yīng)于像素605的一個像素垂直相距2.5個像素的一個點603被引用,并且表示2.5像素的偏移的運動矢量610被編碼。另一方面,通過根據(jù)幀間距離縮放該編碼的運動矢量610而把一個運動矢量從該像素605延伸到參考幀601。在這種情況中,從像素605延伸到該幀601的運動矢量611是考慮到幀間距離相對于在幀601中對應(yīng)于像素605的一個像素偏移2.5/2=1.25像素的一個矢量。在該參考幀601中的一個像素604被用作為在要被編碼的幀602中用于像素605的一個參考像素。由于運動矢量在編碼和解碼操作中以相同精度而被縮放,因此即使當(dāng)要被編碼的宏塊引用多個幀時,對于每個宏塊僅僅有一個運動矢量需要被編碼。在這種情況中,如果利用該運動矢量補償精度在任何采樣點上不存在運動矢量縮放結(jié)果,則通過把其分數(shù)取整到最近的一個整數(shù)而對該縮放的運動進行舍入。圖7示出根據(jù)本發(fā)明第六實施例的運動矢量信息編碼和解碼方法,其不同于圖6中所示的實施例。在圖6中所示的實施例中,當(dāng)一個視頻圖像的時間運動速度為常量時,對于編碼數(shù)據(jù)用于運動矢量的開銷可以被有效地減小。在一種情況中,其中一個視頻圖像的時間運動是單調(diào)的,但是運動速度不為常量,簡單縮放運動矢量的使用可能導(dǎo)致預(yù)測效率的減小,因此導(dǎo)致編碼效率的減小。在圖7中所示的情況中,與圖6中所示的情況相同,通過使用一個像素706作為一個參考像素,從兩個參考幀700和產(chǎn)生一個預(yù)測像素。假設(shè)在該幀700中的一個像素703和在幀701中的一個像素705被引用。與圖6中所示第五實施例相同,對于該幀700的一個運動矢量710被編碼。在對于幀701的一個運動矢量711與通過縮放該運動矢量710所獲得的矢量之間的差分矢量720被編碼。也就是說,通過把該運動矢量710縮放為1/2所產(chǎn)生的矢量在該幀701中表示一個像素704,并且表示預(yù)測像素705和像素704之間的差值的差分矢量720被編碼。通常,上述差分矢量的幅度瞬時的單調(diào)運動減小。因此,即使該運動速度不為常量,該預(yù)測效率不減小,并且用于運動矢量的開銷增加被抑制。這可以執(zhí)行有效的編碼。圖8示出根據(jù)本發(fā)明第七實施例的另一個運動矢量信息編碼和解碼方法。在圖8中所示的實施例中,一個幀803是要被編碼的幀,并且?guī)?01和800被用作為參考幀,而跳過幀802。對于一個像素805,在該參考幀800中的一個像素804和在該參考幀801中的一個像素805被用作為參考像素,以產(chǎn)生一個預(yù)測像素。與圖6或7中所示的實施例相同,對于參考幀800的一個運動矢量811被編碼,對于參考幀801的一個運動矢量還可以通過使用縮放該運動矢量所獲得的運動矢量來產(chǎn)生。但是,在圖8中所示的情況中,該運動矢量811必須考慮到該參考幀和要被編碼的幀之間的距離而被縮放到2/3。在圖8中所示的實施例和其他實施例中,為了執(zhí)行任意縮放,需要執(zhí)行除法操作,因為分母變?yōu)槌?的次冪之外的一個任意整數(shù)。必須在編碼操作和解碼操作中縮放運動矢量。特別地,除法在硬件和軟件方面需要大量成本和計算時間,這導(dǎo)致編碼和解碼成本的增加。在圖8中所示的實施例中,通過用幀間距離對要被編碼的運動矢量811進行歸一化所獲得的一個運動矢量810被編碼,通過縮放該歸一化的運動矢量810所獲得的運動矢量與原始運動矢量之間的差分矢量被根據(jù)要被編碼的幀和每個參考幀之間的距離而編碼。也就是說,該參考像素804從把該歸一化的運動矢量810乘3倍所獲得的運動矢量和一個差分矢量820而產(chǎn)生。該參考像素805從通過把該歸一化的運動矢量810加倍所獲得的運動矢量和一個差分矢量821產(chǎn)生。圖8中所示的方法避免用于運動矢量的編碼開銷的增加,而不減小預(yù)測效率。另外,由于僅僅通過乘法可以執(zhí)行一個運動矢量的縮放,因此還可以抑制用于編碼和解碼的計算成本的增加。圖9為根據(jù)本發(fā)明第八實施例執(zhí)行視頻編碼方法的一個視頻編碼裝置的方框圖。在第八實施例中,用于輸入圖像900的淡化檢測單元900被根據(jù)圖1中所示的宏塊添加到該視頻編碼裝置。該淡化檢測單元900對于該輸入視頻信號的每個幀計算一個平均亮度值。如果亮度隨時間的變化具有預(yù)定斜率,則確定該圖像是一個淡化圖像。一個結(jié)果901被通知到一個預(yù)測模式選擇單元120。如果淡化檢測單元900確定該輸入圖像是一個淡化圖像,則一個預(yù)測模式被限于從一個參考幀預(yù)測,或者根據(jù)多個參考幀的線性外推或線性插值進行預(yù)測。然后對每個宏塊確定一個最佳運動矢量和預(yù)測模式。表示所確定的運動矢量和預(yù)測模式的第一標(biāo)志被寫入在一個宏塊的標(biāo)頭,并且一個預(yù)測誤差信號被編碼。同時,表示一個可能的預(yù)測模式組合的第二標(biāo)志被寫入到該幀的標(biāo)頭數(shù)據(jù)中。如果該淡化檢測單元900確定該圖像不是一個淡化圖像,則一個預(yù)測模式被限于從一個參考幀執(zhí)行預(yù)測,或者根據(jù)多個參考幀的平均值執(zhí)行預(yù)測。然后確定一個最佳運動矢量和預(yù)測模式。該運動矢量、預(yù)測模式和預(yù)測誤差信號101被編碼。當(dāng)由圖9中所示的實施例的方法編碼的數(shù)據(jù)要被解碼時,從表示一個預(yù)測模式的第一和第二標(biāo)志確定用于每個宏塊的預(yù)測模式。一個預(yù)測宏塊信號從為每個宏塊和所確定預(yù)測模式發(fā)送的一個運動矢量產(chǎn)生。該編碼預(yù)測誤差信號被解碼和添加到該對該編碼數(shù)據(jù)解碼的預(yù)測信號。該方法可以減小用于預(yù)測模式信息的編碼開銷。下面將參照圖10描述根據(jù)本發(fā)明第九實施例的視頻編碼方法的一個程序。要被編碼的視頻幀被一個接一個地輸入到一個視頻編碼裝置(未示出)。對從整個幀或在該幀中的多個像素塊形成的每個片斷,根據(jù)幀內(nèi)平均亮度值隨時間等等的變化,檢測一個淡化圖像(步驟S1)。選擇單幀預(yù)測模式或線性求和預(yù)測模式用于在一個幀中的每個像素塊。該單幀預(yù)測模式是通過從多個參考幀選擇一個最佳參考幀而產(chǎn)生一個預(yù)測像素塊信號的預(yù)測模式。該線性求和預(yù)測模式是通過根據(jù)兩個參考像素塊信號的線性和進行預(yù)測產(chǎn)生一個預(yù)測像素塊的預(yù)測模式。在線性求和預(yù)測模式中,當(dāng)一個輸入視頻圖像被檢測為一個淡化圖像時,執(zhí)行時間線性插值(基于一個幀間時間距離的插值或外推)預(yù)測,以產(chǎn)生一個預(yù)測像素塊。如果該輸入視頻圖像不是一個淡化圖像,則一個預(yù)測圖像塊從兩個參考像素塊信號的平均值產(chǎn)生。表示使用多個幀的線性求和預(yù)測是否為一個平均值預(yù)測或時間線性插值預(yù)測的第二要被編碼的模式信息被編碼作為一個幀(圖像)或片斷的標(biāo)頭數(shù)據(jù)(步驟S2)。檢查該輸入視頻圖像是否為一個淡化圖像(步驟S3)。如果該輸入視頻圖像是一個淡化圖像,則從在多個參考幀中選擇單個預(yù)測塊的一個編碼模式(步驟S5)和基于時間線性插值預(yù)測的一個編碼模式(步驟S4)中對每個像素塊確定表現(xiàn)出較高編碼效率和較少編碼位數(shù)的一個編碼模式(步驟S8)。包含表示單幀預(yù)測模式或線性求和預(yù)測模式的第一編碼模式信息以及關(guān)于所選擇的編碼模式(例如,要用于預(yù)測和運動矢量的參考幀的標(biāo)識信息)的一個宏塊被編碼(步驟S10)。最后,在所選擇預(yù)測塊信號和要被編碼的塊的信號之間的差分信號(預(yù)測誤差信號)被編碼(步驟S11),并且輸出編碼數(shù)據(jù)(S12)。如果在步驟S3中為“否”,則從單幀預(yù)測模式選擇一個最佳編碼模式(步驟S6)和平均值預(yù)測模式(步驟S7)(步驟S9)。然后,按照相同的方式,執(zhí)行關(guān)于編碼模式的信息的編碼(步驟S10)和差分信號的編碼(步驟S11)。當(dāng)在一個幀或片斷中的每個塊被根據(jù)在步驟S1中的淡化檢測結(jié)果而編碼,并且在一個幀(圖像)或一個片斷中的所有像素塊的編碼完成時(步驟S12),對于要被接著編碼的幀或片斷執(zhí)行淡化檢測(步驟S1)。通過類似的步驟執(zhí)行編碼。根據(jù)上文的描述,一個幀被編碼為一個圖像。但是,一個幀可以基于區(qū)域地被編碼為一個圖像。圖11和12示出根據(jù)本實施例的要被編碼的視頻數(shù)據(jù)的結(jié)構(gòu)。圖11示出該數(shù)據(jù)結(jié)構(gòu)的一部分,其中包括一個圖像或片斷的標(biāo)頭數(shù)據(jù)。圖12示出宏塊數(shù)據(jù)的一部分。在該圖像或片斷的標(biāo)頭區(qū)域中,如下信息被編碼關(guān)于要被編碼的幀的顯示時間的信息“要被顯示的時間信息”,以及作為表示一個平均值預(yù)測是否被選擇的第二編碼模式信息。在這種情況中,“線性加權(quán)預(yù)測標(biāo)志”=0表示一個平均值預(yù)測,以及“線性加權(quán)預(yù)測標(biāo)志”=1表示時間線性插值預(yù)測。該圖像或片斷的編碼數(shù)據(jù)包含多個編碼宏塊數(shù)據(jù)。每個宏塊數(shù)據(jù)具有類似于圖12中所示的結(jié)構(gòu)。在該宏塊數(shù)據(jù)的標(biāo)頭區(qū)域中,表示基于所選擇單個幀的單幀預(yù)測或者基于多個幀的線性求和的預(yù)測的信息(第一編碼模式信息)被與關(guān)于參考幀、運動矢量信息等等的選擇信息一同編碼為“宏塊類型”。圖13示出包含圖11和12中所示的結(jié)構(gòu)的要被編碼的視頻數(shù)據(jù)的整個時間序列結(jié)構(gòu)。在要被編碼的數(shù)據(jù)的開頭,例如圖像尺寸這樣的在一個編碼序列中保持恒定的多個編碼參數(shù)的信息被編碼為一個序列標(biāo)頭(SH)。每個圖像幀或區(qū)域被編碼為一個圖像,并且每個圖像被順序地編碼為一個圖像標(biāo)頭(PH)和圖像數(shù)據(jù)的組合。在該圖像標(biāo)頭(PH)中,關(guān)于圖11中所示的要被編碼的幀的顯示時間的信息“要被顯示的時間信息”和第二編碼模式信息“線性加權(quán)預(yù)測標(biāo)志”被分別編碼為DTI和LWP。該圖像數(shù)據(jù)被分為一個或多個片斷(SLC),并且該數(shù)據(jù)被對每個片斷順序編碼。在每個片斷SLC中,與在該片斷中的每個像素塊相關(guān)的編碼參數(shù)被編碼為一個片斷標(biāo)頭(SH),并且一個或多個宏塊數(shù)據(jù)(MB)在該片斷標(biāo)頭SH之后被順序地編碼。該宏塊數(shù)據(jù)MB包含作為圖12中所示第一編碼模式信息的“宏塊類型”的編碼數(shù)據(jù)MBT、例如運動矢量信息(MV)這樣關(guān)于在該宏塊中的每個像素的編碼的編碼信息、以及通過執(zhí)行要被編碼的像素信號或者預(yù)測誤差信號的正交變換(例如,離散余弦變換)并且對它編碼所獲得的正交變換系數(shù)(DCT)。在這種情況中,包含在該圖像標(biāo)頭HP中的第二編碼模式信息“線性加權(quán)預(yù)測標(biāo)志”可以通過用于每個片斷的片斷標(biāo)頭SH進行編碼。下面將參照圖14描述根據(jù)第九實施例的視頻解碼方法中的一個程序。在本實施例的視頻編碼方法中,通過圖10中所示視頻解碼方法進行編碼并且具有類似于圖11和12中所示的數(shù)據(jù)結(jié)構(gòu)的編碼數(shù)據(jù)被輸入和解碼。包含在該輸入編碼數(shù)據(jù)中的一個圖像或片斷的標(biāo)頭信息被解碼。更加具體來說,關(guān)于一個要被編碼的幀的顯示時間的信息“要被顯示的時間信息”和第二編碼模式信息“線性加權(quán)預(yù)測標(biāo)志”被解碼(步驟S30)。另外,在該圖像或片斷中的每個宏塊的標(biāo)頭信息被解碼。也就是說,包含一個參考幀、運動矢量信息和第一編碼模式信息等等的標(biāo)識信息的“宏塊類型”被解碼(步驟S31)。如果所解碼的第一編碼模式信息表示單幀預(yù)測,則根據(jù)參考幀的標(biāo)識信息和例如運動矢量信息這樣的預(yù)測模式信息產(chǎn)生一個預(yù)測塊信號(步驟S34)。假設(shè)該第一編碼模式信息表示基于多個增的線性和的預(yù)測。在這種情況中,根據(jù)該解碼的第二編碼模式信息(步驟S33),通過平均預(yù)測方法(步驟S35)或時間線性插值預(yù)測方法(步驟S36)產(chǎn)生一個預(yù)測信號。該編碼的預(yù)測誤差信號被解碼和添加到該預(yù)測信號。通過該操作,產(chǎn)生一個解碼的圖像(步驟S37)。當(dāng)在該圖像或片斷中的每個宏塊被順序地解碼時,從每個宏塊標(biāo)頭開始,并且在該圖像或片斷中的所有宏塊被完全解碼(步驟S38),從一個圖像或片斷標(biāo)頭開始再次順序執(zhí)行解碼。如上文所述,根據(jù)本實施例,關(guān)于編碼模式的信息被分為表示單幀預(yù)測或者基于多個幀的線性和的預(yù)測的第一編碼模式信息,以及表示基于一個線性和的預(yù)測是否為時間線性差值預(yù)測或平均預(yù)測的第二編碼模式信息。該第一編碼模式信息被對每個宏塊編碼。該第二編碼模式信息被對每個圖像或片斷編碼。這可以減小用于要被編碼的模式信息的編碼開銷,并且保持編碼效率。也就是說,該第二編碼模式信息表示在例如淡化圖像這樣的一個幀中的廣泛的特性。因此,如果第二編碼模式信息被對于每個片斷或幀編碼,則可以抑制在編碼該編碼模式信息本身所需的代碼量的增加,并且與編碼用于每個宏塊的信息的方法相比可以抑制編碼效率的下降。對用于每個宏塊的第一編碼模式信息進行編碼使得根據(jù)每個像素塊的各自特性確定適當(dāng)?shù)哪J匠蔀榭赡?例如,隨時間部分地出現(xiàn)和消失的一個圖像。)這可以進一步提高編碼效率。在本實施例中,由于該第一編碼模式信息和第二編碼模式信息的編碼頻率被考慮到視頻圖像的特性而確定,因此可以完成高效、高圖像質(zhì)量的編碼。下面將參照圖15和16詳細描述在本實施例中的一個時間線性差值預(yù)測。在圖15中的參考符號F0、F1和F2和在圖16中的參考符號F0、F2和F1表示時間上連續(xù)的幀。參照圖15和16,幀F(xiàn)2是一個要被編碼或要被解碼的幀,并且?guī)現(xiàn)0和F1是參考幀。假設(shè),在圖15和16中所示的實施例中,從兩個參考幀的線性和預(yù)測在一個要被編碼的幀或一個要被解碼的幀中的一個給定像素塊。如果該線性求和預(yù)測是一個平均值預(yù)測,則從由各個參考幀提取的參考塊的簡單平均產(chǎn)生一個預(yù)測像素塊。假設(shè)ref0和ref1分別是從幀F(xiàn)0和F1提取的參考像素塊信號,則在圖15和16中的每個預(yù)測像素塊信號pred2由下式給出pred2=(ref0+ref1)/2(15)如果該線性求和預(yù)測是一個時間線性差值預(yù)測,則根據(jù)一個要被編碼的幀或一個要被解碼的幀與每個參考幀之間的時間差計算一個線性和。如圖11中所示,關(guān)于在一個圖像或片斷標(biāo)頭區(qū)域中的顯示時間的信息“要被顯示的時間信息”被對于每個要被編碼的幀編碼。在解碼時,每個幀的顯示時間被根據(jù)該信息而計算。假設(shè)幀F(xiàn)0、F1和F2的顯示時間分別由Dt0、Dt1和Dt2所表示。圖15中所示的實施例示出用于從兩個過去幀預(yù)測當(dāng)前幀的一個線性外推預(yù)測。圖16中所示的實施例示出從將來和過去幀進行線性差值預(yù)測。參見圖15和16,假設(shè)Rr為兩個參考幀之間的時間距離,并且Rc為從相對于要被編碼的幀的最早參考幀到要被編碼的幀之間的時間距離,該時間距離Rr由下式給出Rr=Dt1-Dt0,Rc=Dt2-Dt0(16)在圖15和16中所示的情況中,基于上述時間距離的線性外推預(yù)測和線性差值預(yù)測通過下式計算pred2={(Rr-Rc)*ref0+Rc*ref1}/Rr(17)方程(17)可以被轉(zhuǎn)換為方程(18)Pred2=ref0+(ref1-ref0)*Rc/Rr(18)在例如淡化圖像或信號幅度隨時間在幀之間變化的交叉淡化圖像中,在信號幅度中的時間抖動可以在非常短的時間內(nèi)被近似為線性(例如,等效于三個幀)。因此,如在本實施例中,通過根據(jù)要被編碼的幀和兩個參考幀中的每個幀之間的時間距離執(zhí)行時間線性插值(線性外推或線性差值)可以產(chǎn)生一個更加精確的預(yù)測圖像。結(jié)果,提高幀間預(yù)測效率。這可以減小所產(chǎn)生的代碼量,而不降低圖像質(zhì)量。另外,這可以用相同位率執(zhí)行較高質(zhì)量的編碼。在本發(fā)明中的上述編碼和解碼處理可以用硬件實現(xiàn),或者部分或所有處理可以用軟件實現(xiàn)。圖17和18分別示出用于在基于多個參考幀的線性和的第一和第八實施例中的一個預(yù)測模式的預(yù)測系數(shù)表的一個例子。在第一實施例中,預(yù)測系數(shù)基于宏塊而改變,并且在第八實施例中,基于幀而改變。存在兩個系數(shù)“平均”和“線性外推”的組合。圖17和18中所示的一個指標(biāo)(代碼號(Code_number))被編碼為用于每個宏塊或幀的標(biāo)頭數(shù)據(jù)。在該第八實施例中,由于一個線性預(yù)測系數(shù)對每個幀是恒定的,可以僅僅通過使用一個幀的標(biāo)頭數(shù)據(jù)而執(zhí)行編碼。在圖17中所示的預(yù)測系數(shù)表中,明確定義該系數(shù)的數(shù)值。圖18中所示的預(yù)測系數(shù)表表示“平均值”或者“線性預(yù)測(插值或外推)”。通過對這個指標(biāo)進行編碼,可以減小要被編碼的信息量,因此與直接編碼線性預(yù)測系數(shù)的情況相比可以減小編碼開銷。圖19為示出與本發(fā)明第一和第八實施例中的各種預(yù)測模式相關(guān)的參考幀(Reference_frame)的組合。參見圖19,代碼號=0表示在從緊接著在前的幀預(yù)測的預(yù)測模式(一幀后(oneframeback))中的參考幀組合;代碼號=1表示在基于前兩幀(兩幀后(twoframeback))的預(yù)測模式中的參考幀組合。在代碼號=2的情況中,使用上述線性預(yù)測系數(shù)的預(yù)測模式被使用。在第一和第八實施例中,參考幀的組合可以基于宏塊而改變,并且在圖19中的表格內(nèi)的指標(biāo)可以基于宏塊而編碼。圖20和21示出根據(jù)本發(fā)明第十實施例的視頻編碼裝置和視頻解碼裝置的結(jié)構(gòu)。在第一和第八實施例中,基于兩個參考幀的最大值的線性和執(zhí)行預(yù)測。與此相反,第十實施例可以基于對每個宏塊選擇一個特定幀通過使用三個或更多的參考幀或多個參考幀的線性和而執(zhí)行預(yù)測。圖20中所示視頻編碼裝置包括對應(yīng)于最大參考幀計數(shù)值(n)的參考幀存儲器117、118和152。類似地,在圖21中的視頻解碼裝置包括對應(yīng)于最大參考幀計數(shù)值(n)的參考幀存儲器217、218和252。在本實施例中,在基于線性和的預(yù)測中,每個預(yù)測宏塊產(chǎn)生器151和251通過計算預(yù)測系數(shù)W1至Wn的預(yù)測系數(shù)的乘積與從各個參考幀提取的參考宏塊之和,并且把該結(jié)果向右偏移Wd位。可以對每個幀改變要被選擇的參考幀。線性預(yù)測系數(shù)的組合被編碼為用于一個幀的標(biāo)頭數(shù)據(jù),并且參考幀的選擇信息被編碼為用于每個宏塊的標(biāo)頭數(shù)據(jù)。圖22示出根據(jù)本實施例通過使用一個線性預(yù)測系數(shù)作為用于一個幀的標(biāo)頭進行編碼的數(shù)據(jù)語法。在編碼線性預(yù)測系數(shù)中,參考幀的最大數(shù)被首先編碼為最大參考的數(shù)目(Number_Of_Max_References)。然后編碼表示線性預(yù)測系數(shù)的計算精度的加權(quán)因子分母指數(shù)(在圖20和21中的Wd)。對應(yīng)于與最大參考的數(shù)目的各個參考幀的系數(shù)“加權(quán)因子分母指數(shù)[i]”(在圖20和21中的W1至Wn)被編碼。對應(yīng)于第i個參考幀的線性預(yù)測系數(shù)由下式給出Wi/2Wd(19)圖23示出表示根據(jù)本實施例對于每個宏塊編碼的參考幀的組合的表格。代碼號=0表示基于所有參考幀的線性和的預(yù)測。代碼號=1表示一個參考幀是一個特定的幀,并且是把在其之前的特定數(shù)目的幀作為一個參考幀的幀?;谒袇⒖紟木€性和的預(yù)測通過使用圖22中所示預(yù)測系數(shù)來執(zhí)行。這種情況中,一些預(yù)測系數(shù)被設(shè)置為0,使得基于任意參考幀的組合的線性預(yù)測可以在線性預(yù)測模式中基于幀而切換。在本發(fā)明的這一實施例中,通過按照如下方式在運動矢量之間使用空間或時間相關(guān)關(guān)系對運動矢量和差分矢量進行編碼,以進一步減小運動矢量代碼量。首先參照圖24描述使用一個空間相關(guān)關(guān)系的運動矢量壓縮方法。參見圖24,參考標(biāo)號A、B、C、D和F表示在一個幀中的相鄰宏塊。當(dāng)宏塊A的運動矢量或差分矢量要被編碼時,從相鄰宏塊B、C、D和F的運動矢量產(chǎn)生一個預(yù)測矢量。僅僅預(yù)測矢量的運動矢量和該宏塊A的運動矢量之間的誤差被編碼。在解碼方,按照與編碼操作相同的方式計算預(yù)測矢量。該宏塊A的運動矢量或差分矢量通過把該預(yù)測矢量與編碼的誤差信號相加而產(chǎn)生。通過可變長編碼或算術(shù)編碼方法對一個運動矢量誤差進行編碼可以高效率地壓縮該圖像。一個運動矢量例如可以通過使用該宏塊B、C、D和F的運動矢量的中值或平均值作為一個預(yù)測矢量。下面將參照圖25描述使用時間相關(guān)性的運動矢量壓縮方法。圖25示出兩個連續(xù)幀(F0、F1)。參見圖25,參考符號A、B、C、D和E表示在幀F(xiàn)1中的相鄰宏塊,以及在幀F(xiàn)0中與宏塊A、B、C、D和E相同位置的宏塊a、b、c、d和e。當(dāng)宏塊A的運動矢量或差分矢量要被編碼時,在與宏塊A相同位置處的宏塊a的運動矢量被設(shè)置為一個預(yù)測矢量??梢酝ㄟ^僅僅對該預(yù)測矢量和宏塊A的矢量之間的誤差進行編碼而壓縮該運動矢量信息。通過使用時空相關(guān)性和在幀F(xiàn)1中的宏塊B、C、D和E以及在幀F(xiàn)0中的宏塊a、b、c、d和e的運動矢量,可以進一步對宏塊A的運動矢量進行一個三維預(yù)測。該運動矢量可以通過僅僅編碼該預(yù)測矢量和要被編碼的矢量之間的誤差而壓縮。通過從該多個時空相鄰的運動矢量的中值、平均值等等產(chǎn)生一個預(yù)測矢量可以實現(xiàn)對一個運動矢量的三維預(yù)測。下面將描述根據(jù)本發(fā)明宏塊跳過的一個實施例。假設(shè)在運動補償預(yù)測編碼中具有宏塊,其中通過DCT和量化,所有預(yù)測誤差信號變?yōu)?。在這種情況中,為了減小編碼開銷,滿足預(yù)定條件的宏塊不被編碼,包括該宏塊的標(biāo)頭數(shù)據(jù),例如,預(yù)測模式和運動矢量。在視頻宏塊的標(biāo)頭中,僅僅對應(yīng)于被連續(xù)跳過的宏塊數(shù)目的宏塊被編碼。在解碼操作中,被跳過的宏塊被根據(jù)預(yù)定模式而解碼。在根據(jù)本發(fā)明的實施例的宏塊跳過的第一模式中,宏塊跳過被定義為滿足如下條件,即,要被用于預(yù)測的參考幀是一個預(yù)定幀,所有運動矢量單元為0,并且所有預(yù)測誤差信號為0。在解碼操作中,與運動矢量為0的情況相同,一個預(yù)測宏塊被從預(yù)定參考幀中產(chǎn)生。所產(chǎn)生的預(yù)測宏塊被重構(gòu)為一個解碼宏塊信號。假設(shè)作為參考幀的緊接著在前的兩個幀的線性和是用于一個參考幀的跳過條件。在這種情況中,與淡化圖像相同,即使對于信號強度隨時間改變的圖像也可以實現(xiàn)宏塊跳過,從而提高編碼效率。另外,可以通過把作為跳過條件的參考幀的指標(biāo)作為每個幀的標(biāo)頭數(shù)據(jù)而發(fā)送,以改變每個幀的跳過條件。通過對每個幀改變幀的跳過條件,可以根據(jù)一個輸入圖像的屬性設(shè)置最佳跳過條件,從而減小編碼開銷。在根據(jù)本發(fā)明的實施例的宏塊跳過的第二模式中,一個運動矢量被預(yù)測地解碼。假設(shè)一個宏塊跳過條件是一個運動矢量的誤差信號為0。其他條件與在上述第一模式中用于宏塊跳過的條件相同。在第二模式中,在解碼一個被跳過的宏塊時,首先產(chǎn)生一個預(yù)測運動矢量。通過使用所產(chǎn)生的預(yù)測運動矢量,從預(yù)定參考幀產(chǎn)生一個預(yù)測圖像,并且產(chǎn)生該宏塊的解碼信號。在根據(jù)本發(fā)明的實施例宏塊跳過的第三模式中,一個跳過條件是要被編碼的運動矢量信息與緊接著在前的宏塊中編碼的運動矢量信息相同。當(dāng)一個運動矢量要被預(yù)測編碼時,要被編碼的運動矢量信息是一個預(yù)測誤差矢量。剩余條件與上述第一模式相同。在宏塊跳過的第三模式中,當(dāng)被跳過的宏塊要被解碼時,要被編碼的運動矢量信息被作為0,并且該運動矢量被重構(gòu)。一個預(yù)測圖像被根據(jù)重構(gòu)的運動矢量從預(yù)定參考幀產(chǎn)生,并且產(chǎn)生該宏塊的解碼信號。假設(shè)在宏塊跳過的第四模式中,要用于預(yù)測的參考幀的組合與用于被立即編碼的宏塊相同。則其他跳過條件與上述第一模式中相同。假設(shè)在宏塊跳過的第五模式中,用于預(yù)測的參考幀的組合與用于被立即編碼的宏塊相同。剩余跳過條件與上述第一模式中相同。假設(shè)在宏塊跳過的第六模式中,用于預(yù)測的參考幀組合與用于被立即編碼的宏塊的參考幀相同。其他跳過條件與上述第三模式中的條件相同。根據(jù)上述第一至第六模式中的跳過條件,通過使用相鄰宏塊之間的運動相關(guān)性或信號強度隨時間改變較快的屬性,通過有效地進行宏塊跳過可以實現(xiàn)編碼開銷的減小和高效率的編碼。圖26示出一個實施例,其中線性預(yù)測系數(shù)701被添加到根據(jù)圖20中所示的實施例的視頻解碼裝置。在該線性預(yù)測系數(shù)701中,用于線性預(yù)測的預(yù)測系數(shù)被根據(jù)從每個參考幀到一個視頻幀的距離、在一個輸入幀中的直流分量的時間變化等等,從多個參考幀確定。下面將描述與特定預(yù)測系數(shù)的確定相關(guān)的多個實施例。圖27示出從兩個過去幀的線性和預(yù)測一個增的預(yù)測方法。參考幀F(xiàn)0和F1被用于視頻幀F(xiàn)2。參考符號Ra和Rb表示在各個參考幀F(xiàn)0和F1與視頻幀F(xiàn)2之間的幀間距離。假設(shè),W0和W1是用于參考幀F(xiàn)0和F1的線性預(yù)測系數(shù)。第一線性預(yù)測系數(shù)的組合是(0.5,0.5)。也就是說,可以從兩個參考幀的簡單平均獲得該組合。第二線性預(yù)測系數(shù)通過線性外推根據(jù)幀間距離而確定。在圖27(20)中所示的情況中,線性預(yù)測系數(shù)由方程(20)給出。如果,例如幀間間隔為常量,Rb=2×Ra,并且線性預(yù)測系數(shù)由下式給出(W0,W1)=(-RaRb-Ra,RbRb-Ra)---(20)]]>得出(W0,W1)=(-1,2)。根據(jù)方程(20),即使每個參考幀和視頻幀之間的幀間距離任意改變,也可以執(zhí)行適當(dāng)?shù)鼐€性預(yù)測。即使,例如通過使用幀跳過等等執(zhí)行可變幀率的編碼或者兩個任意的過去幀被選擇作為參考幀,也可以保持較高的預(yù)測效率。在一個編碼操作中,第一和第二預(yù)測系數(shù)之一可以永久使用,或者第一或第二預(yù)測系數(shù)可以自適應(yīng)地選擇。作為自適應(yīng)選擇的預(yù)測系數(shù)的一種實踐方法,可以使用通過使用在每個幀中的平均亮度值(DC值)選擇預(yù)測系數(shù)的方法。假設(shè)在幀F(xiàn)0、F1和F2中的平均亮度值分別為DC(F0)、DC(F1)和DC(F2)。對于一個幀內(nèi)的DC分量,通過使用各個線性預(yù)測系數(shù)所獲得的預(yù)測誤差的幅度由方程(21)和(22)來計算|DC(F2)-(DC(F0)+DC(F1)2)|---(21)]]>|DC(F2)-(RbRb-RaDC(F1)-RaRb-RaDC(F0))|---(22)]]>如果算術(shù)表達式(21)的數(shù)值小于算術(shù)表達式(22)的數(shù)值,則第一預(yù)測系數(shù)被選擇。如果算術(shù)表達式(22)的數(shù)值小于算術(shù)表達式(22)的數(shù)值,則第二預(yù)測系數(shù)被選擇。通過改變用于每個視頻幀的預(yù)測系數(shù),可以根據(jù)視頻信號的特性執(zhí)行光學(xué)線性預(yù)測。還可以根據(jù)方程(23)或(24)在該幀中使用DC數(shù)值的比率而確定第三和第四預(yù)測系數(shù)來實現(xiàn)有效線性預(yù)測(W0,W1)=(12·DC(F2)DC(F0),12·DC(F2)DC(F1))---(23)]]>(W0,W1)=(-RaRb-Ra·DC(F2)DC(F0),RbRb-Ra·DC(F2)DC(F1))---(24)]]>由方程(23)給出的該第三線性預(yù)測系數(shù)是考慮到在該幀中的DC值的比率而計算的加權(quán)平均。由方程方程(24)所給出的第四線性預(yù)測系數(shù)是考慮到在該幀中的DC值的比率和幀間距離而計算的線性預(yù)測系數(shù)。在使用上述第二至第四線性預(yù)測系數(shù)中,線性預(yù)測需要除法。但是,把在編碼時的計算精度與解碼時的計算精度相匹配允許基于除法和數(shù)位偏移來執(zhí)行線性預(yù)測,而不需要任何除法。一個實際語法可以被設(shè)置為使得每個線性預(yù)測系數(shù)由一個作為2的次冪的分母和一個整數(shù)分子來表達,如圖22中所示的情況。圖28示出從兩個時間相鄰的幀的線性和預(yù)測一個幀的方法。參見圖28,參考符號F1表示要被編碼的幀;F0和F2表示參考幀;以及Ra和Rb表示在各個參考幀和視頻幀之間的幀間距離。另外,用于參考幀F(xiàn)0和F2的線性預(yù)測系數(shù)分別由W0和W2所表示。各個幀的亮度值的幀內(nèi)平均值分別由DC(F0)、DC(F1)和DC(F2)所表示。類似于圖27(20)中的四種預(yù)測系數(shù)的組合由方程(25)至(28)給出(W0,W2)=(0.5,0.5)(25)(W0,W2)=(RaRb+Ra,RbRb+Ra)---(26)]]>(W0,W2)=(12·DC(F1)DC(F0),12·DC(F1)DC(F2))---(27)]]>(W0,W2)=(RaRb+Ra·DC(F1)DC(F0),RbRb+Ra·DC(F1)DC(F2))---(2.8)]]>方程(25)表示一個簡單平均預(yù)測;方程(26)表示基于幀間距離的加權(quán)平均預(yù)測;方程(27)表示基于DC值比率的加權(quán)平均預(yù)測;以及方程(28)表示基于DC值比率和幀間距離的加權(quán)預(yù)測。圖29示出根據(jù)三個過去幀的線性和執(zhí)行預(yù)定預(yù)測的方法。參考符號W0、F1和F2表示參考幀;F3表示視頻幀;以及Rc、Rb和Ra表示各個參考幀F(xiàn)0、F1和F2與視頻幀F(xiàn)3之間的幀間距離。在圖29中所示的情況中,可以設(shè)想多個線性預(yù)測系數(shù)的組合。下面是一個具體例子。假設(shè)用于各個參考幀的線性預(yù)測系數(shù)由W0、W1和W2所表示。第一預(yù)測系數(shù)的組合由方程(29)所給出。第一預(yù)測系數(shù)用于根據(jù)三個參考幀的簡單平均預(yù)測?;诘谝活A(yù)測系數(shù)的一個預(yù)測圖像F3012由方程(30)所表達(W0,W1,W2)=(13,13,13)---(29)]]>aF3012=13(F1+F2+F3)---(30)]]>與基于方程(20)進行預(yù)測的情況相同,第二、第三和第四預(yù)測系數(shù)是用于通過從三個參考幀選擇兩個幀根據(jù)線性外推執(zhí)行外推預(yù)測的系數(shù)。假設(shè)eF312是從參考幀F(xiàn)2和F1預(yù)測的視頻幀F(xiàn)3的預(yù)測圖像,eF302是從參考幀F(xiàn)2和F0預(yù)測的視頻幀F(xiàn)3的預(yù)測圖像,以及eF301是從參考幀F(xiàn)1和F0預(yù)測的視頻幀F(xiàn)3的預(yù)測圖像,這些預(yù)測圖像分別由方程(31)、(32)和(33)所表達eF312=RbRb-RaF2-RaRb-RaF1---(31)]]>eF302=RCRC-RaF2-RaRc-RaF0---(32)]]>eF301=RCRC-RbF1-RbRc-RbF0---(33)]]>假設(shè)eF3012是通過對由方程(31)至(33)所給出的數(shù)值求平均而獲得的預(yù)測數(shù)值,該預(yù)測數(shù)值eF3012可以由方程(34)的第五預(yù)測系數(shù)所給出eF3012=132RaRb-RbRc-RbRc(Rc-Ra)(Rc-Rb)F0]]>+13RaRb-2RaRc+RbRc(Rc-Rb)(Rb-Ra)F1---(34)]]>+13-RaRb-RaRc+2RbRc(Rc-Ra)(Rb-Ra)F2]]>可以使用第一至第五線性預(yù)測系數(shù)之一。另外,可以計算幀F(xiàn)0、F1、F2和F3的幀內(nèi)平均亮度值DC(F0)、DC(F1)、DC(F2)和DC(F3),并且可以通過使用上述五個預(yù)測系數(shù)中的每個系數(shù)預(yù)測視頻幀F(xiàn)3的幀內(nèi)平均亮度值。表現(xiàn)出最小預(yù)測誤差的一個預(yù)測系數(shù)可以被有選擇地用于每個視頻幀。后一種方案的使用允許根據(jù)輸入圖像的屬性基于幀而自動選擇最佳線性預(yù)測,并且可以實現(xiàn)高效率的編碼。另外,可以使用通過把第一至第五線性預(yù)測效率乘以各個幀的平均亮度值的比率而獲得該預(yù)測系數(shù)。如果,例如該第一預(yù)測系數(shù)乘以該平均亮度值的比率,則由下列方程方程(35)給出一個預(yù)測系數(shù)。這應(yīng)用于其他預(yù)測系數(shù)。(W0,W1,W2)=(13·DC(F3)DC(F0),13·DC(F3)DC(F1),13·DC(F3)DC(F2))---(35)]]>圖30示出根據(jù)兩個過去幀和一個將來幀的線性和執(zhí)行預(yù)測的方法。參考符號F0、F1和F3表示參考幀;F2表示一個視頻幀;以及Rc、Rb和Ra表示參考幀F(xiàn)0、F1和F3與視頻幀之間的幀間距離。在這種情況中,與圖29中所示的情況相同,多個預(yù)測系數(shù)組合可以通過使用在各個幀中的幀間距離和DC值的比率來確定。另外,可以從在該幀中的DC值的預(yù)測誤差確定一個最佳的預(yù)測系數(shù)組合。對應(yīng)于在圖30中的預(yù)測方法中的方程(30)至(35)的線性預(yù)測表達式或預(yù)測系數(shù)由方程(36)至(41)來表達aF2013=13(F0+F1+F3)---(36)]]>eF213=RbRb+RaF3+RaRb+RaF1---(37)]]>eF203=RcRc+RaF3+RaRc+RaF0---(38)]]>eF201=RcRc-RbF1-RbRc-RbF0---(39)]]>eF2013=13-2RaRb+RaRc-RbRc(Rc+Ra)(Rc-Rb)F0]]>+13-RaRb+2RaRc+RbRc(Rc-Rb)(Rb+Ra)F1---(40)]]>+13RaRb+RaRc+2RbRc(Rc+Ra)(Rb+Ra)F3]]>(W0,W1,W3)=(13·DC(F2)DC(F0),13·DC(F2)DC(F1),13·DC(F2)DC(F3))---(41)]]>圖31示出在根據(jù)本發(fā)明的實施例的視頻編碼中的運動矢量搜索的第一例子。圖32示出在通過使用兩個連續(xù)幀作為參考幀而進行預(yù)測的情況中的一種情況中的運動矢量搜索方法,并且一個代表性的運動矢量被編碼,如圖6中所示。在圖中的參考符號F2表示一個視頻幀;以及F0和F1表示參考幀。參考數(shù)字10表示一個視頻宏塊;以及12、14、16和18表示在該參考幀中的一些參考宏塊候選項。為了獲得用于該宏塊10的最佳運動矢量,用于在一個運動矢量搜索范圍內(nèi)的參考幀F(xiàn)1的運動矢量候選項(在圖31中的運動矢量候選項11和15)以及通過根據(jù)幀間距離縮放運動矢量候選項所獲得的運動矢量(在圖31中通過縮放運動矢量候選項11所獲得的運動矢量13以及通過縮放運動矢量候選項15所獲得的運動矢量17)被用作為用于參考幀F(xiàn)0的運動矢量。從兩個參考幀F(xiàn)0和F1提取的參考宏塊14和12或16和18的線性和產(chǎn)生一個預(yù)測宏塊。在該預(yù)測宏塊和要被編碼的宏塊10之間的差值被計算。當(dāng)該差值變?yōu)樽钚≈禃r,相應(yīng)的運動矢量被確定為用于每個宏塊的運動矢量搜索結(jié)果。然后通過使用所確定的運動矢量對每個宏塊執(zhí)行運動補償預(yù)測編碼??梢钥紤]到用于每個運動矢量本身的編碼開銷以及上述差值而確定一個運動矢量??梢赃x擇一個運動矢量,其表現(xiàn)出實際編碼一個差分信號和運動矢量所需最小代碼量。如上文所述,該運動矢量搜索方法可以利用比對參考幀F(xiàn)0和F1分別搜索最佳運動矢量的方法更小的計算量而獲得一個精確的運動矢量。圖32示出在根據(jù)本發(fā)明的實施例的視頻編碼中的運動矢量搜索的第二例子。圖32示出在通過使用兩個連續(xù)幀作為參考幀預(yù)測一個當(dāng)前幀的情況中的一個運動矢量搜索方法,并且通過與圖31相同的方法,一個代表性的運動矢量被編碼,或者一個代表性的運動矢量和一個差分矢量被編碼,如圖6中所示。參見圖32,參考符號F2表示一個視頻幀;以及F0和F1表示參考幀。參考數(shù)字10表示一個視頻宏塊;以及12、14、16和18表示在該參考幀中的參考宏塊候選項。在第二運動矢量搜索中,與第一運動矢量搜索相同,對兩個參考幀進行一個運動矢量的搜索。參見圖32,運動矢量11和通過縮放該運動矢量11所獲得的運動矢量13被選擇作為光學(xué)運動矢量。在運動矢量13附近的區(qū)域中,對于來自幀F(xiàn)0的一個參考宏塊,對一個運動矢量進行重新搜索。在重新搜索操作中,通過使用該運動矢量11從幀F(xiàn)1提取的參考幀12被固定。從幀F(xiàn)0的運動矢量13附近的一個區(qū)域提取的參考幀12和參考幀14的線性和產(chǎn)生一個預(yù)測宏塊。對于該幀F(xiàn)0重新搜索一個運動矢量,以使得在該預(yù)測宏塊和要被編碼的宏塊之間的差值最小化。假設(shè),一個視頻信號被設(shè)置為恒定的幀率,并且在幀F(xiàn)2和F1之間的間隔以及在幀F(xiàn)1和F0之間的間隔相等,在這種情況中,為了搜索一個恒定運動,對于參考幀F(xiàn)0的搜索范圍的面積比率比對于參考幀F(xiàn)1的搜索范圍大四倍。利用相同的精度對于兩個參考幀F(xiàn)0和F1的運動矢量的搜索的計算量比在僅僅從該參考幀F(xiàn)1進行預(yù)測中搜索一個運動矢量所需的計算量大四倍。根據(jù)該第二運動矢量搜索方法,首先,以全精度(fullprecision)對參考幀F(xiàn)1搜索一個運動矢量。然后對該參考幀F(xiàn)0搜索通過把該運動矢量縮放兩倍而獲得的運動矢量。利用全精度重新搜索該參考幀F(xiàn)0。這種兩步驟的搜索操作可以把用于運動矢量搜索的計算量減小到大約1/4。在該第二運動矢量搜索方法中,分別獲得用于參考幀F(xiàn)0和F1的運動矢量。在編碼這些運動矢量中,首先,用于參考幀F(xiàn)1的運動矢量11被編碼。在通過縮放該運動矢量11所獲得的運動矢量13與作為重新搜索該參考幀F(xiàn)0所獲得的運動矢量之間的差分矢量被編碼。這可以減小用于每個運動矢量的編碼開銷。對于在±1的重新搜索范圍中縮放該運動矢量11所獲得的運動矢量13被搜索,即,以1/2的粗略精度進行搜索。僅僅利用全精度對該運動矢量13進行重新搜索。在這種情況中,對于重新搜索的參考幀F(xiàn)0的運動矢量被縮放為1/2。這可以唯一地對該參考幀F(xiàn)1重構(gòu)該運動矢量11,而與重新搜索結(jié)果無關(guān)。因此,僅僅可以對參考幀F(xiàn)0的運動矢量進行編碼,在解碼操作中,對于該參考幀F(xiàn)1的運動矢量11可以通過把所接收的運動矢量縮放為1/2而獲得。圖33示出第三運動矢量搜索方法。在該運動矢量搜索方法中,與圖31中所示的方法相同,通過使用兩個連續(xù)幀作為參考幀而預(yù)測一個當(dāng)前幀,如圖6中所示。一個代表性的運動矢量被編碼,或者一個代表性的運動矢量和差分矢量被編碼。參見圖33,參考符號F2表示一個視頻幀;以及F0和F1表示參考幀。參考數(shù)字10表示一個視頻宏塊;以及12、14、16和18表示在該參考幀中的一些參考宏塊候選項。在第三運動矢量搜索中,與第一或第二例子相同,對于參考幀F(xiàn)0和F1搜索運動矢量,并且對于參考幀F(xiàn)1重新搜索一個運動矢量。通常,在一個視頻圖像中,在時間上相互接近的幀之間的相關(guān)性較強。根據(jù)該屬性,在第三運動矢量搜索中,可以通過對于時間上最接近該參考幀F(xiàn)2的參考幀F(xiàn)1,以更高的精度獲得獲得在時間上最接近于該參考幀F(xiàn)2的參考幀F(xiàn)1而提高預(yù)測效率。圖34示出根據(jù)本發(fā)明的實施例的一個運動矢量編碼方法。在圖中,F(xiàn)2示出一個視頻幀,F(xiàn)1示出緊接著在幀F(xiàn)2之前被編碼的一個幀,30和31示出要被分別編碼的宏塊。32和33示出處于與幀F(xiàn)1中的宏塊30和31相同位置處的宏塊。34和35示出該宏塊30和31的要被編碼的運動矢量,以及36和37是該宏塊32和33的被編碼的運動矢量。在該實施例中,如果要被編碼的運動矢量與用于在該緊接著在前的視頻幀中處于相同位置處的宏塊的運動矢量相同,則該運動矢量不被編碼,并且表示該運動矢量與用于在該緊接著在前的視頻幀中的相同位置處的宏塊的運動矢量相同的標(biāo)志被編碼作為一個預(yù)測模式。如果該運動矢量不與用于在該緊接著在前的視頻幀中的相同位置處的宏塊的運動矢量相同,則該運動矢量信息被編碼,在圖34中所示的方法中,該運動矢量34和36是相同的。因此,該運動矢量34不被編碼。另外,由于該運動矢量35不同于該運動矢量37,則該運動矢量35被編碼。按照上述方式編碼運動矢量減小對于靜止圖像或進行勻速運動的圖像的運動矢量的冗余度,因此可以提高編碼效率。圖35示出根據(jù)本發(fā)明的實施例的另一個運動矢量編碼方法。在圖35中所示的方法中,與圖34中所示的方法相同,如果用于該緊接著在前的視頻幀中的相同位置處的宏塊的運動矢量與用于一個視頻幀的運動矢量相同,則該運動矢量不被編碼。運動矢量是否互為相同是根據(jù)它們的運動角度是否相同而確定的。參見圖35,通過把一個緊接著在前的視頻幀F(xiàn)2設(shè)置為一個參考幀,并且使用運動矢量44和45,可以對一個視頻幀F(xiàn)3中的宏塊40和41執(zhí)行運動補償預(yù)測。對于在緊接著在幀F(xiàn)1之前的視頻幀F(xiàn)2中與宏塊40相同位置處的宏塊42,通過把一個幀F(xiàn)0設(shè)置為相對于作為參考幀的幀F(xiàn)2為基于前兩幀并且使用一個運動矢量46而執(zhí)行運動補償預(yù)測。盡管運動矢量46和44表現(xiàn)出相同的角度,該運動矢量46的大小是運動矢量44的兩倍。因此,運動矢量44可以通過根據(jù)幀間距離縮放該運動矢量46而重構(gòu)。因此,運動矢量44不被編碼,并且表示使用一個運動矢量用于緊接著在前的幀的模式的預(yù)測模式信息被設(shè)置。宏塊41的運動矢量45表現(xiàn)出與在前幀中相同位置處的宏塊43的運動矢量47相同的角度,因此與宏塊40的情況相同,該運動矢量45不被編碼。通過根據(jù)視頻幀和參考幀之間的幀間距離縮放在先前幀中的相同位置處的運動矢量所獲得的運動矢量,與上述情況相同運動矢量不被編碼的宏塊受到運動補償預(yù)測幀間編碼和解碼。圖36為用于說明根據(jù)本發(fā)明的實施例對表示參考幀的指標(biāo)的宏塊跳過和預(yù)測編碼的示意圖。參見圖36,參考符號F3表示一個視頻幀;A表示一個視頻宏塊;B、C、D和E表示已經(jīng)被編碼的相鄰宏塊;以及F0、F1和F2表示參考幀,其中一個或多個參考幀被選擇并且對每個宏塊受到運動補償預(yù)測編碼。對于宏塊A,通過使用幀F(xiàn)1作為一個參考幀根據(jù)一個運動矢量50執(zhí)行預(yù)測。對于宏塊B、C和E,分別通過使用幀F(xiàn)2、F1和F0作為參考幀根據(jù)運動矢量51、52和55執(zhí)行預(yù)測。通過使用該參考幀F(xiàn)1和F2預(yù)測宏塊D。當(dāng)宏塊A的運動矢量50要被編碼時,一個預(yù)測矢量被從相鄰宏塊B、C、D和E的運動矢量中選擇,并且在該預(yù)測矢量和運動矢量50之間的差分矢量被編碼。例如通過選擇對應(yīng)于相鄰宏塊B、C和E的運動矢量的中值的運動矢量的方法或者選擇表現(xiàn)出最小剩余誤差信號的一個相鄰宏塊B、C、D和E的運動矢量作為一個預(yù)測矢量的方法而確定一個預(yù)測矢量。假設(shè)在該預(yù)測矢量和要被編碼的宏塊的運動矢量之間差值變?yōu)?,具有其預(yù)測矢量被選擇的宏塊的參考幀與具有要被編碼的視頻宏塊的參考幀相一致,并且所有要被編碼的預(yù)測誤差變?yōu)?。在這種情況中,該宏塊被跳過而不被編碼。被連續(xù)跳過的宏塊數(shù)目被編碼為要被接著編碼的視頻宏塊的標(biāo)頭信息,而不被跳過。假設(shè)用于宏塊A的一個預(yù)測矢量變?yōu)楹陦KC的運動矢量52。在這種情況中,該宏塊A在參考幀方面與宏塊C相同,并且運動矢量50與運動矢量52相一致。如果宏塊A的所有預(yù)測誤差信號為0,則該宏塊被跳過而不被編碼。在解碼時,一個預(yù)測矢量由與在編碼時所用的方法相同的方法而選擇,并且通過使用其預(yù)測矢量被選擇的宏塊的參考幀而產(chǎn)生一個預(yù)測圖像。所產(chǎn)生預(yù)測圖像是被跳過的宏塊的解碼圖像。如果上述宏塊跳過條件之一不被滿足,則該視頻宏塊的預(yù)測矢量和運動矢量之間的差分矢量、預(yù)測誤差信號和表示參考幀的一個指標(biāo)被編碼。作為表示該參考幀的指標(biāo),在其預(yù)測矢量被選擇的一個相鄰宏塊的參考幀指標(biāo)和該視頻幀的參考幀指標(biāo)之間的差值被編碼。與上述情況相同,當(dāng)該宏塊C的運動矢量52被選擇作為該宏塊A的預(yù)測矢量時,在該運動矢量50和運動矢量52之間的差分矢量和該宏塊A的預(yù)測誤差信號被編碼。另外,例如,根據(jù)圖23中所示的表格,一個參考幀由一個指標(biāo)(代碼號)所表達。在表示用于兩幀后的宏塊C的參考幀的指標(biāo)2和宏塊A的指標(biāo)2之間的差值,即0,被編碼為一個參考幀指標(biāo)差值。圖37示出根據(jù)本發(fā)明的實施例的另一個運動矢量編碼方法。參見圖37,幀F(xiàn)2是要被編碼的視頻幀,其是被從時間上相鄰的幀執(zhí)行運動補償預(yù)測的B圖像。對于在幀F(xiàn)2中的一個宏塊61,幀F(xiàn)3被用作為用于向后預(yù)測的一個參考幀,并且?guī)現(xiàn)1被用作為用于向前預(yù)測的一個參考幀。因此,在幀F(xiàn)2被編碼或解碼之前,幀F(xiàn)3被編碼或解碼。在用于該視頻宏塊61的向后預(yù)測的參考幀F(xiàn)3中,在與視頻宏塊61在該幀中的位置相同的位置處的宏塊60將被考慮。如果基于該幀F(xiàn)0和F1的線性和的運動補償預(yù)測被使用,則對應(yīng)于用于該視頻宏塊61的向前預(yù)測的參考幀F(xiàn)1的宏塊60的運動矢量(在圖中為62)被根據(jù)幀間距離而縮放,并且該結(jié)果矢量被用作為用于該視頻宏塊61的向前和向后預(yù)測的一個矢量。假設(shè)R1是從幀F(xiàn)1到幀F(xiàn)2的幀間距離,并且R2是從幀F(xiàn)2到幀F(xiàn)3的幀間距離,通過把該運動矢量62乘以R1/(R1+R2)所獲得的運動矢量變?yōu)閷υ摵陦K61進行向前預(yù)測的一個運動矢量64。通過把該運動矢量乘以-R2/(R1+R2)所獲得的運動矢量變?yōu)閷υ摵陦K61進行反向預(yù)測的一個運動矢量65。對于該視頻宏塊61,上述運動矢量信息不被編碼,并且僅僅表示上述預(yù)測模式,即通過運動矢量縮放而執(zhí)行雙向預(yù)測,的一個標(biāo)志被編碼。在一個解碼操作中,該幀F(xiàn)3被首先解碼。該解碼幀F(xiàn)3的各個宏塊的運動矢量被暫時存儲。在該幀F(xiàn)2中,對于其表示上述預(yù)測模式的標(biāo)志被設(shè)置的宏塊,通過縮放在幀F(xiàn)3的相同位置處的宏塊的運動矢量,在該宏塊60用于向前和向后預(yù)測的運動矢量被計算,從而執(zhí)行雙向預(yù)測解碼。圖38示出圖37中所示的雙向預(yù)測的另一個例子。參見圖38,幀F(xiàn)0是用于一個視頻幀F(xiàn)2的視頻宏塊71的向前預(yù)測的一個參考幀,并且其他結(jié)構(gòu)與圖37中所示的相同。在這種情況中,通過根據(jù)幀間距離對于處在與視頻宏塊71相同位置處的幀F(xiàn)3的宏塊70的運動矢量73縮放到幀F(xiàn)0,而獲得用于該視頻宏塊71的向前和向后運動矢量。假設(shè)R1為從幀F(xiàn)0到幀F(xiàn)2的幀間距離,R2為從幀F(xiàn)3到幀F(xiàn)2的幀間距離,以及R3為從幀F(xiàn)0到F3的幀間距離,通過把該運動矢量73乘以R1/R3所獲得的矢量是用于該視頻宏塊71的向前運動矢量74。通過把該運動矢量73乘以-R2/R3所獲得的矢量是用于視頻宏塊71的向后運動矢量75。通過使用運動矢量74和75執(zhí)行該視頻宏塊71的雙向預(yù)測編碼和解碼。在圖37和38中所示的方法中,在用于要被編碼的雙向預(yù)測視頻宏塊的參考幀中,在該幀中與視頻宏塊相同位置處的一個宏塊將被考慮。當(dāng)該宏塊使用多個向前參考幀時,通過對于與用于雙向預(yù)測視頻宏塊的向前參考幀相同的參考幀縮放一個運動矢量而產(chǎn)生用于視頻宏塊的向前和向后運動矢量。如上文所示,通過按照上述方式進行縮放而產(chǎn)生運動矢量可以減小用于該運動矢量的編碼開銷,并且提高編碼效率。另外,如果存在作為縮放的依據(jù)的多個運動矢量,則通過選擇在向前參考幀方面具有一致性的運動矢量并且對它進行縮放而提高預(yù)測效率。這可以實現(xiàn)高效率的編碼。圖39示出用于圖37和38中所示雙向預(yù)測的另一個方法。參見圖39,幀F(xiàn)3是一個要被編碼的視頻幀,并且通過使用一個幀F(xiàn)4作為向后參考幀和使用幀F(xiàn)2作為一個向前參考幀進行雙向預(yù)測而預(yù)測一個要被編碼的視頻宏塊81。在位于與視頻宏塊81相同位置處的幀F(xiàn)4中的一個宏塊80通過兩個向前幀F(xiàn)0和F1的線性和而預(yù)測。因此,在圖39中所示的方法中,相同向前參考幀不被用于宏塊80和視頻宏塊81,這與圖37和38中所示的方法不同。在這種情況中,根據(jù)幀間距離縮放對于時間上接近于用于視頻宏塊81的向前參考幀F(xiàn)2的用于宏塊80的向前參考幀F(xiàn)0和F1之一的運動矢量。通過該操作,用于該視頻宏塊81的向前和向后矢量被產(chǎn)生。假設(shè)R1為從幀F(xiàn)2到幀F(xiàn)3的幀間距離,R2為從幀F(xiàn)4到幀F(xiàn)3的幀間距離,以及R3為從幀F(xiàn)1到F4的幀間距離,通過把對于幀F(xiàn)1的宏塊80的運動矢量82乘以R1/R3而獲得用于該視頻宏塊81的向前運動矢量84。通過把該運動矢量82乘以-R2/R3獲得用于要被編碼的宏塊81的一個向后運動矢量85。通過使用縮放所獲得的運動矢量84和85對該視頻宏塊81執(zhí)行雙向預(yù)測。如上文所示,通過按照上述方式縮放而產(chǎn)生運動矢量可以減小用于該運動矢量的編碼開銷,并且提高編碼效率。另外,如果存在作為縮放的依據(jù)的多個運動矢量,則不存在在向前參考幀方面具有一致性的運動矢量,對應(yīng)于在時間上最接近用于該視頻宏塊的向前參考幀的一個運動矢量被選擇和縮放。這可以提高預(yù)測效率并且實現(xiàn)高效率的編碼。圖40為根據(jù)本發(fā)明的實施例的視頻編碼方法的流程圖。圖41為用于說明根據(jù)本發(fā)明的實施例的一種加權(quán)預(yù)測的示意圖。下面將參照圖41說明根據(jù)該實施例的一種加權(quán)預(yù)測方法。然后將參照圖40描述一種加權(quán)因子確定方法。參見圖41,參考符號F0、F1、F2和F3表示時間上連續(xù)的幀。幀F(xiàn)3是要被編碼的視頻幀。幀F(xiàn)0、F1和F2是用于視頻幀F(xiàn)3的參考幀。在視頻幀F(xiàn)3的要被編碼的像素塊A、B、C和D中,對于快A、B和C,具有運動補償?shù)膮⒖枷袼貕K信號分別被從幀F(xiàn)1、F0和F2產(chǎn)生。對于這些參考像素塊信號,通過加權(quán)因子的乘法和DC偏移值的加法而產(chǎn)生一個預(yù)測像素塊信號。計算在該預(yù)測像素塊信號和要被編碼的像素塊信號之間的差值,以及該差分信號與參考幀的識別信息和運動矢量信息被編碼。對于快D,具有運動補償?shù)膮⒖級K信號被分別從幀F(xiàn)0和F1產(chǎn)生。一個預(yù)測像素塊信號通過把一個DC偏移值加到該參考像素塊的線性補償而產(chǎn)生一個預(yù)測像素塊信號。在該要被編碼的像素塊信號和該預(yù)測像素塊信號之間的差分信號與該參考幀的識別信息和運動矢量信息一同被編碼。另一方面,在一個解碼操作中,該參考幀的識別信息和運動矢量信息被解碼。上述參考像素塊信號被根據(jù)這些解碼信息塊而產(chǎn)生。通過對所產(chǎn)生的參考像素塊信號執(zhí)行加權(quán)因子的乘法和DC偏移值的加法而產(chǎn)生一個預(yù)測像素塊信號。該編碼的差分信號被解碼,并且解碼的差分信號被添加到該預(yù)測像素塊信號,以解碼該視頻圖像。通過如下計算在編碼和解碼操作中產(chǎn)生預(yù)測像素塊信號。假設(shè)predA是一個用于像素塊A的預(yù)測信號,并且ref[1]是一個從幀F(xiàn)1提取的參考像素塊信號,該信號predA被計算如下predA=w[1]·ref[1]+d[1](42)其中w[1]是用于該參考像素塊信號的加權(quán)因子,并且d[1]是一個DC偏移值。這些數(shù)值被在一個系數(shù)表中編碼為用于每個視頻幀或片斷的標(biāo)頭數(shù)據(jù)。為對應(yīng)于每個視頻幀的多個參考幀分別確定加權(quán)因子和DC偏移值。例如,對于在圖41中的像素塊B,由于參考像素塊信號ref被從幀F(xiàn)0中提取,通過如下方程給出一個預(yù)測信號predBpredB=w·red+d(43)對于像素塊D,從幀F(xiàn)0和F1分別提取參考像素塊。這些參考像素塊被乘以加權(quán)因子,并且DC偏移值被添加到該乘積。所獲得的信號然后被平均,以產(chǎn)生一個預(yù)測信號predDpredD={w·ref+w[1]·ref[1]+(d+d[1])}/2(44)在本實施例中,按照這種方式,對于每個參考幀確定一個加權(quán)因子和DC偏移值。下面將參照圖40描述在根據(jù)本實施例的編碼操作中確定上述加權(quán)因子和DC偏移值的方法。下面將參照圖40的流程圖描述確定加權(quán)因子和DC偏移值的方法,假設(shè)圖41中所示的幀間預(yù)測關(guān)系被保持,即,幀F(xiàn)3是一個視頻幀,并且?guī)現(xiàn)0、F1和F2是參考幀。對于多個參考幀,加權(quán)因子和DC偏移值被作為獨立數(shù)值,并且對每個視頻幀或片斷編碼加權(quán)因子/DC偏移數(shù)據(jù)表數(shù)據(jù)。例如,對于在圖41中的視頻幀F(xiàn)3,編碼對應(yīng)于幀F(xiàn)0、F1和F2的加權(quán)因子和DC偏移值(w,d)、(w[1],d[1])和(w[2],d[2])。這些數(shù)值可以對于在該視頻幀中的每個片斷改變。首先,如下計算在整個要被編碼的幀F(xiàn)3或在該幀中的每個片斷中的平均值DCcur(被稱為DC分量的DC分量強度)(步驟S10)。DCcur=Σx,yF3(x,y)N---(45)]]>其中F3(x,y)是在該幀F(xiàn)3中的一個坐標(biāo)位置(x,y)處的一個像素值,并且N是在該幀或片斷中的像素數(shù)目。然后如下計算在整個視頻幀F(xiàn)3或在該幀中的每個片斷中的AC分量強度(在下文中稱為AC分量值)(步驟S11)ACcur=Σx,y|F3(x,y)DCcur|N---(46)]]>在測量AC分量值中,可以使用類似于下文中所用的標(biāo)準(zhǔn)偏差。在這種情況中,在獲得一個AC分量值中的計算量增加。ACcur=Σx,y(F3(x,y)-DCcur)2N---(47)]]>從方程(46)和(47)之間的比較顯然可以看出,基于方程(46)的AC分量值測量方法在減小獲得一個AC分量值中的計算量方面有效。假設(shè)“ref_idx”是表示一個參考幀號的指標(biāo),根據(jù)方程(45)和(46)計算第(ref_idx)個的DC分量值DCref[ref_idx]和AC分量值A(chǔ)Cref[ref_idx](步驟S13和S14)。根據(jù)上述計算結(jié)果,對于第(ref_idx)個參考幀的一個DC偏移值d[ref_idx]被確定為在DC分量之間的差值如下(步驟S15)d[ref_idx]=DCcur-DCref[ref-idx](48)一個加權(quán)因子w[ref_idx]被確定為一個AC增益(步驟S16)。w[ref_idx]=ACcur/ACref[ref_idx](49)上述計算對于所有參考幀執(zhí)行(從ref_idx=0到MAX_REF_IDX)(步驟S17和S18)。MAX_REF_IDX表示參考幀的數(shù)目。當(dāng)所有加權(quán)因子和DC偏移值被確定時,它們被編碼為用于每個視頻幀或片斷的表數(shù)據(jù),并且各個像素塊的加權(quán)預(yù)測編碼被根據(jù)編碼的加權(quán)因子和DC偏移值而執(zhí)行。在編碼和解碼操作中的預(yù)測像素塊信號被根據(jù)上述方程(42)至(44)而產(chǎn)生。如上文所示,通過使用加權(quán)因子和對于每個參考幀變化的DC偏移值并且按照上述方式執(zhí)行預(yù)測編碼而產(chǎn)生預(yù)測信號,甚至對于每個幀或片斷隨時間改變信號幅度或改變DC偏移值的視頻信號,可以適當(dāng)?shù)貜亩鄠€參考幀產(chǎn)生預(yù)測信號,以及實現(xiàn)具有更高效率和高圖像質(zhì)量的高預(yù)測效率的編碼。下面將描述編碼加權(quán)因子和DC偏移值的方法的具體例子。圖42、43和44示出與加權(quán)因子和DC偏移值的信息的編碼相關(guān)的數(shù)據(jù)結(jié)構(gòu)。圖42示出要被編碼的視頻幀或片斷的標(biāo)頭數(shù)據(jù)結(jié)構(gòu)的一部分。表示用于該視頻幀或片斷的參考幀的最大指標(biāo)計數(shù)值“number_of_max_ref_idx”和表示加權(quán)因子和DC偏移值的信息的表數(shù)據(jù)“weighting_table()”被編碼。最大指標(biāo)計數(shù)值“number_of_max_ref_idx”與圖40中的MAX_REF_IDX相等效。圖43示出包含加權(quán)因子/DC偏移數(shù)據(jù)表的編碼數(shù)據(jù)結(jié)構(gòu)的第一例子。在這種情況中,對應(yīng)于每個參考幀的加權(quán)因子和DC偏移數(shù)據(jù)的數(shù)據(jù)被根據(jù)作為增或片斷的標(biāo)頭數(shù)據(jù)而發(fā)送的最大指標(biāo)計數(shù)值“number_of_max_ref_idx”而編碼。與第i個參考幀相關(guān)的DC偏移值d[i]被直接編碼為一個整數(shù)像素值。另一方面,與第i個參考幀相關(guān)的加權(quán)因子w[i]通常不被編碼為一個整數(shù)。因此,如方程(50)所示,加權(quán)因子w[i]由一個有理數(shù)w’[i]來近似,該有理數(shù)的分母變?yōu)?的次冪,以被編碼為用整數(shù)形式表達的分子[i]和2的w_exponential_denominator次冪的分母。w′[i]=w_numerator[i]2w_exponential_denominator---(50)]]>該分子和2的次冪的分母的數(shù)值可以通過如下方程(51)來獲得w_numerator[i]=(int)w[i]×2w_exponential_denominator]]>w_exponential_denominator=(int)log2(255maxi(w[i]))---(51)]]>在編碼和解碼操作中,一個預(yù)測圖像通過使用上述編碼的近似值w’[i]來產(chǎn)生。根據(jù)方程(50)和(51),可以獲得如下優(yōu)點。根據(jù)基于方程(50)的加權(quán)因子表達式,該加權(quán)因子的分子對于每個視頻幀為常量,而分子對于每個參考幀改變。該編碼方法可以減小要被編碼的加權(quán)因子的數(shù)據(jù)量,并且與把用于每個參考幀的加權(quán)因子獨立編碼為分母和分子的方法相比,提高編碼效率。如果分母被設(shè)置為2的次冪,由于通過整數(shù)乘法和數(shù)位偏移可以實現(xiàn)對于參考像素塊信號的加權(quán)因子的乘法,因此不需要浮點運算或除法。這可以減小硬件規(guī)模和用于編碼和解碼的計算量。上述計算將在下文中進一步詳細描述。方程(52)表示通過歸納由方程(42)和(43)表示的預(yù)測表達式所獲得的一個預(yù)測表達式,并且用于為對應(yīng)于一個參考幀號i的像素塊產(chǎn)生一個預(yù)測像素塊信號。假設(shè)Predi是一個預(yù)測信號,ref[i]是從第i個參考幀提取的參考像素塊信號,并且w[i]和d[i]是用于從第i個參考幀提取的參考像素塊的加權(quán)因子和DC偏移值。Predi=w[i]·ref[i]+d[i](52)在方程(52)中的加權(quán)因子w[i]由方程(50)所示的有理數(shù)所表示的情況中,方程(53)是一個預(yù)測表達式。在這種情況中,wn[i]在方程(50)表示w_numerator[i],并且wed表示w_exponential_denominator。Predi=((wn[i]·ref[i]+1<<(wed-1))>>wed)+d[i](53)通常,由于對于任意淡化圖像等等有效的加權(quán)因子w[i]不是整數(shù),因此在方程(52)中需要浮點乘法。另外,如果w[i]由一個任意有理數(shù)所表達,則需要整數(shù)乘法和除法。如果由方程(50)所表示的分母由作為2的次冪的一個有理數(shù)所表達,則通過如方程(53)中所示使用整數(shù)系數(shù)wn[i]的整數(shù)乘法、考慮到舍入的偏移量的加法、wed數(shù)位的向右位移、以及DC偏移值的整數(shù)加法,可以實現(xiàn)加權(quán)預(yù)測計算。并且,表示一個分母的大小的2的次冪通常對每個視頻幀或片斷設(shè)置,而與一個參考幀號i無關(guān)。因此,即使該參考幀號i對每個視頻幀采用多個數(shù)值,可以抑制編碼加權(quán)因子中的代碼量的增加。方程(54)表示一種情況,其中基于方程(50)的加權(quán)因子表達式被應(yīng)用到基于由方程(44)所表示的兩個參考幀的線性和的預(yù)測,如方程(53)的情況中所示。Pred=((wn*ref+wn[1]·ref[1]+1<<wed)>>(wed+1))+(d+d[1]+1)>>1(54)在上述基于兩個參考幀的線性和的預(yù)測中,由于一個加權(quán)因子通常不被編碼為一個整數(shù),則根據(jù)方程(44)需要兩個浮點乘法。但是,根據(jù)方程(54),可以通過僅僅執(zhí)行整數(shù)乘法、數(shù)位偏移和整數(shù)加法而通過兩個參考幀的線性和產(chǎn)生一個預(yù)測信號。另外,由于關(guān)于分母的大小的信息wed也被一般化,因此可以抑制在編碼加權(quán)因子中的代碼量的增加。并且,根據(jù)方程(54),一個加權(quán)因子的分子由8個數(shù)位所表達。因此,如果一個像素信號值由8個數(shù)位所表達,則可以用16位的固定計算精度而實現(xiàn)編碼和解碼。另外,在相同視頻幀中,一個分母,即偏移量,為常量,而與參考幀無關(guān)。因此,在編碼或解碼中,即使對于每個像素塊切換參考幀,不需要改變偏移量,從而減小計算量或硬件規(guī)模。如果用于所有參考幀的加權(quán)因子滿足w_numerator[i]=2n×Ki(55)則通過方程(54)計算的要被編碼的加權(quán)因子的分母和分子可以被變換為如下w_numerator[i]=w_numerator[i]>>nw_exponential_denominator(56)=w_exponential_denominator-n方程(56)具有把由一個有理數(shù)所表達的每個加權(quán)因子簡化為一個不可約分數(shù)。在這種變換之后的編碼可以減小加權(quán)因子的編碼數(shù)據(jù)的動態(tài)范圍,而不降低加權(quán)因子的精度,并且可以進一步減小在編碼加權(quán)因子中的代碼量。圖44示出與一個加權(quán)因子/DC偏移數(shù)據(jù)表相關(guān)的視頻數(shù)據(jù)結(jié)構(gòu)的第二例子。在圖44中所示的情況中,按照與圖43中所示的形式相同的方式編碼一個DC偏移值。但是,在編碼加權(quán)因子中,與圖43中所示的形式不同,表示一個分母的2的次冪不被編碼,并且僅僅由一個有理數(shù)所表達的加權(quán)因子的分子被編碼,并且該分子被設(shè)置為一個常量。按照圖44中所示的形式,例如一個加權(quán)因子可以由一個有理數(shù)所表達,并且僅僅一個分子w_numerator[i]可以被編碼如下。w′[i]=w_numerator[i]24---(57)]]>w_numerator[i=]1,ifw[i]≤116255,ifw[i]≥16(int)w[i]×24,else]]>w_exponential_denominator=4---(58)]]>在本實施例中,由于由2的次冪表示加權(quán)因子的分母,因此不需要對每個視頻幀把關(guān)于該分母的信息編碼為2的次冪,因此進一步減小在編碼一個加權(quán)因子表中的代碼量。假設(shè)使得一個有理數(shù)由一個常量分子(在上述情況中為“16”)所表示,該分子的數(shù)值被省略為8位。在這種情況中,例如如果一個像素信號由8位所表達,則可以用16位的固定計算精度執(zhí)行編碼和解碼。另外,在本實施例中,由于關(guān)于一個加權(quán)因子的乘法的偏移量為常量,因此不需要在編碼和解碼中最每個幀加載偏移量。這可以減小一個編碼或解碼裝置的實現(xiàn)成本或軟件或硬件的規(guī)模。圖45示意地示出包括圖42至44中所示的數(shù)據(jù)結(jié)構(gòu)的要被編碼的視頻數(shù)據(jù)的整個時間序列結(jié)構(gòu)。在要被編碼的視頻數(shù)據(jù)的頭部,在一個編碼序列中保持為常量的多個編碼參數(shù)的信息,例如圖像尺寸,被編碼為一個序列標(biāo)頭(SH)。每個圖像幀或區(qū)域被編碼為一個圖像,并且每個圖像被順序地編碼為一個圖像標(biāo)頭(PH)和圖像數(shù)據(jù)(Picturedata)的組合。在該圖像標(biāo)頭(PH)中,在圖42中所示的表示參考幀的最大指標(biāo)計數(shù)值“number_of_max_ref_idx”和加權(quán)因子/DC偏移數(shù)據(jù)表“weighting_table()”被分別編碼為MRI和WT。在“weighting_table()”(WT)中,表示對圖43中所示的各個加權(quán)因子共同的分母的大小的2的w_exponential_denominator次冪被編碼為WED,并且表示每個加權(quán)因子的分子大小的w_nominator[i]和DC偏移值在w_exponential_denominator之后被分別編碼為WN和D、對于加權(quán)因子分子和DC偏移值的組合,WN和D的多個組合被根據(jù)由包含在該圖像標(biāo)頭中的“number_of_max_ref_idx”所表示的數(shù)字而編碼,每個圖像數(shù)據(jù)被分為一個或多個片斷(SLC),以及該數(shù)據(jù)被對于每個片斷順序編碼。在每個片斷中,與該片斷中的每個像素塊相關(guān)的一個編碼參數(shù)被編碼為一個片斷標(biāo)頭(SH),并且一個或多個宏塊數(shù)據(jù)(MB)被在該片斷標(biāo)頭之后順序編碼。對于宏塊數(shù)據(jù),關(guān)于在該宏塊中的每個像素的編碼的信息被編碼,例如在該宏塊中的一個像素塊的預(yù)測模式信息(MBT)和運動矢量信息(MV)。最后,通過計算要被編碼的像素信號或預(yù)測誤差信號的正交變換(例如,離散余弦變換)所獲得的編碼的正交變換系數(shù)(DCT)被包含在該宏塊數(shù)據(jù)中。在這種情況中,包含在該圖像標(biāo)頭中的兩個或一個“number_of_max_ref_idx”和“weighting_table()”(WT)可以被編碼在該片斷標(biāo)頭(SH)中。在圖44中所示的加權(quán)因子表數(shù)據(jù)的結(jié)構(gòu)中,由于表示一個加權(quán)因子的分母的大小的數(shù)據(jù)的編碼可以被省略,因此可以省略在圖45中的WED的編碼。圖46為示出根據(jù)本發(fā)明的實施例的一個視頻解碼程序的流程圖。下面將描述用于輸入由視頻編碼裝置根據(jù)參照圖40所述的實施例編碼的該編碼數(shù)據(jù)并且對該數(shù)據(jù)解碼的程序。包括參照圖42至44描述的一個編碼幀或片斷的標(biāo)頭數(shù)據(jù)被從該輸入的編碼數(shù)據(jù)解碼(步驟S30)。包括用于對每個編碼塊識別一個參考幀的幀指標(biāo)的編碼塊的標(biāo)頭數(shù)據(jù)被解碼(步驟S31)。從用于每個像素塊的參考幀指標(biāo)所表示的參考幀提取一個參考像素塊信號(步驟S32)。通過參照基于編碼塊的參考幀指標(biāo)的解碼的加權(quán)因子/DC偏移數(shù)據(jù)表確定一個加權(quán)因子和DC偏移值。通過使用按照這種方式確定的該加權(quán)因子和DC偏移值,從該參考像素塊信號產(chǎn)生一個預(yù)測像素塊信號(步驟S33)。編碼的預(yù)測誤差信號被解碼,并且解碼的預(yù)測誤差信號被添加到該預(yù)測像素塊信號,以產(chǎn)生一個解碼的圖像(步驟S34)。當(dāng)順序解碼各個編碼的像素塊并且在編碼幀或片斷中的所有像素塊被解碼時,下一個圖像標(biāo)頭或片斷標(biāo)頭被連續(xù)解碼。即使對于信號幅度隨時間變化或者DC偏移值隨時間變化的視頻信號,在上述程序之后的編碼和解碼方法可以在編碼和解碼操作中產(chǎn)生適當(dāng)?shù)念A(yù)測圖像,從而以較高的預(yù)測效率實現(xiàn)高效、高圖像質(zhì)量的視頻編碼和解碼。下面將依次描述在上述實施例中公開的本發(fā)明的優(yōu)選形式。(1)在通過使用多個參考幀和要被編碼的宏塊與至少一個參考幀之間的運動矢量的預(yù)定組合執(zhí)行視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼的視頻編碼方法中,(a)至少一個參考宏塊被從多個參考幀的每個參考幀中提取,(b)通過使用加權(quán)因子的預(yù)定組合計算多個所提取的參考宏塊而產(chǎn)生一個預(yù)測宏塊,以及(c)產(chǎn)生該預(yù)測宏塊和要被編碼的宏塊之間的預(yù)測誤差信號,以編碼該預(yù)測誤差信號、表示多個參考幀的組合的第一指標(biāo)、表示該加權(quán)因子的組合的第二指標(biāo)以及該運動矢量的信息。<效果>按照這種方式用可變線性和加權(quán)因子根據(jù)多個參考幀的線性和執(zhí)行預(yù)測能夠?qū)绲@樣的信號強度隨時間改變進行正確地預(yù)測,這可以提高編碼的預(yù)測效率。另外,例如在暫時出現(xiàn)遮蔽(occlusion)(出現(xiàn)和消失)的部分中,通過選擇適當(dāng)?shù)膮⒖紟梢蕴岣哳A(yù)測效率。對這些線性預(yù)測系數(shù)和參考幀的組合進行編碼作為指標(biāo)可以抑制開銷。(2)在(1)中,表示線性和加權(quán)因子的組合的一個指標(biāo)被編碼為用于每個幀或每組幀的標(biāo)頭數(shù)據(jù),以及對每個宏塊編碼預(yù)測誤差信號、表示參考幀的組合的指標(biāo)和運動矢量。<效果>通常,在整個幀中出現(xiàn)例如淡化這樣信號強度隨時間改變的情況,并且在該幀的局部位置出現(xiàn)遮蔽等等。根據(jù)(2),對每個幀編碼對應(yīng)于信號強度隨時間的改變的線性預(yù)測系數(shù)的組合,并且表示參考幀的組合的一個指標(biāo)對每個宏塊是變化的。這可以提高編碼效率,并且減小編碼開銷,因此實現(xiàn)包括開銷在內(nèi)的編碼效率的改進。(3)在(1)或(2)中,要被編碼的運動矢量是與多個參考幀中的特定一個參考幀相關(guān)的運動矢量。<效果>在對每個宏塊使用多個參考幀執(zhí)行運動補償預(yù)測編碼中,當(dāng)用于每個宏塊的運動矢量被分別編碼時,編碼開銷增加。根據(jù)(3),用于特定參考幀的運動矢量被發(fā)送,并且通過根據(jù)要被編碼的幀和各個參考幀之間的幀間距離縮放所發(fā)送的運動矢量而獲得用于其他幀的運動矢量。這樣可以避免編碼開銷的增加并且提高編碼效率。(4)在(3)中,與特定參考幀相關(guān)的運動矢量是根據(jù)參考幀和要被編碼的幀歸一化的運動矢量。<效果>由于用單位幀間距離歸一化的運動矢量被用作為要按照這種方式編碼的運動矢量,則通過乘法或位移計算和加法處理可以低成本地執(zhí)行對任意參考幀的運動矢量縮放。假設(shè)時間上均勻的運動,用一個單位幀間距離進行歸一化可以減小參考矢量的信息量,因此獲得減小編碼開銷的效果。(5)在(3)中,與特定參考幀相關(guān)的運動矢量是用于多個參考幀中對應(yīng)于相對要被編碼的幀具有最大幀間距離的一個參考幀的運動矢量。<效果>根據(jù)(3),該運動矢量代碼量減小并且可以低成本地實現(xiàn)運動矢量的縮放。另一方面,當(dāng)一個參考幀和要被編碼的幀之間的幀間距離增加時,運動補償?shù)木认陆?。與此相反,根據(jù)(5),用于與最大幀間距離相對應(yīng)的多個參考幀之一的運動矢量被編碼,并且可以根據(jù)幀間距離通過編碼的運動矢量的內(nèi)部分割而產(chǎn)生用于剩余參考幀的運動矢量。這可以對于每個參考幀抑制運動補償精度的下降。這可以提高預(yù)測效率并且執(zhí)行高效編碼。(6)在(1)或(2)中,要被編碼的運動矢量是與多個參考幀的一個特定參考幀相關(guān)的第一運動矢量和用于另一個或其他參考幀的運動矢量,用于另一個或其他參考幀的運動矢量被編碼為另一個或其他運動矢量和通過根據(jù)要被編碼的幀與一個或多個參考幀之間的幀間距離縮放該第一運動矢量而獲得的運動矢量。<效果>如果在圖像中的局部變化可以通過平移來近似,可以使用一個運動矢量和通過根據(jù)幀間距離對其進行縮放所獲得的運動矢量,多個參考幀做出預(yù)測。但是,如果在圖像中的速度改變在時間上不是常量,則難以僅僅通過縮放而執(zhí)行適當(dāng)?shù)倪\動補償。根據(jù)(6),作為用于多個參考幀的運動矢量,一個代表性的矢量和通過縮放該代表性的矢量所獲得的運動矢量和用于每個參考幀的最佳運動矢量之間的差分矢量被編碼。這與多個運動矢量被編碼的情況相比可以減小運動矢量的代碼量。因此可以減小編碼開銷,并且提高預(yù)測效率。(7)在(6)中,該第一運動矢量是根據(jù)參考幀和要被編碼的幀之間的幀間距離而歸一化的一個運動矢量。(8)在(6)中,第一運動矢量是用于多個參考幀中與要被編碼的幀之間具有最大幀間距離的一個參考幀的運動矢量。(9)在(1)至(8)之一中,當(dāng)表示多個參考幀的組合的指標(biāo)為一個預(yù)定值時,編碼被跳過而不對宏塊輸出任何編碼數(shù)據(jù),所有要被編碼的運動矢量的元素為0,并且所有要被編碼的預(yù)測誤差信號為0。對于要被下一個編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>如果上述條件在發(fā)送方和接收方相一致作為用于跳過宏塊的條件,則可以在接收方上回放一個圖像,而不發(fā)送表示參考幀、具有0數(shù)值的運動矢量以及一個0誤差信號的組合的一個指標(biāo),它們在被編碼之后作為用于每個宏塊的編碼信息。這可以減小對應(yīng)于這些數(shù)據(jù)編碼數(shù)據(jù)量并且提高編碼效率。另外,根據(jù)一個圖像信號的特性,對與用于每個幀的信號強度的時間變化相對應(yīng)的預(yù)測系數(shù)進行編碼可以實現(xiàn)自適應(yīng)宏塊跳過,而不增加編碼開銷。(10)在(1)至(8)之一中,當(dāng)表示多個參考幀的組合的一個指標(biāo)是一個預(yù)定值時,編碼被跳過而不對一個宏塊輸出任何編碼數(shù)據(jù),要被編碼的運動矢量與用于緊接著在前編碼的宏塊的運動矢量相一致,并且所有要被編碼的預(yù)測誤差信號為0。對于要被下一個編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>例如當(dāng)比在一個幀中的宏塊更大的一個區(qū)域平移時,對應(yīng)的宏塊可以被編碼為一個跳過宏塊,而不發(fā)送任何運動矢量信息。這可以減小編碼開銷并且提高編碼效率。(11)在(9)或(10)中,表示參考幀的預(yù)定組合的一個指標(biāo)表示使用兩個緊接著在前編碼的幀作為參考幀。<效果>當(dāng)兩個緊接著在前編碼的幀的使用被設(shè)置為一個宏塊跳過條件,則即使在由于淡化等等使得信號強度隨時間改變的情況中,通過線性預(yù)測可以容易地產(chǎn)生一個精確的預(yù)測圖像。盡管信號強度隨時間改變,可以忽略宏塊的編碼。這兩個效果,即預(yù)測效率的提高和編碼開銷的減小,可以提高編碼效率。(12)在(9)或(10)中,表示參考幀的預(yù)定組合的一個指標(biāo)可以對每個要被編碼的幀改變,并且表示參考幀的預(yù)定組合的指標(biāo)被編碼作為用于要被編碼的幀的標(biāo)頭數(shù)據(jù)。<效果>該宏塊跳過條件可以根據(jù)圖像信號隨時間的變化而改變。通過根據(jù)圖像適當(dāng)?shù)馗淖冇糜诿總€幀的跳過條件,以在編碼時容易地進行宏塊跳過,可以減小編碼開銷,并且可以實現(xiàn)高效編碼。(13)在(1)至(8)之一中,當(dāng)表示多個參考幀的組合的指標(biāo)與用于緊接著在前編碼的宏塊的指標(biāo)相同時,編碼被跳過,而不對一個宏塊輸出任何編碼數(shù)據(jù),并且所有要被編碼的預(yù)測誤差信號為0。對于要被下一個編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>當(dāng)與用于緊接著在前的宏塊的參考幀的相同組合的使用被設(shè)置為一個宏塊跳過條件時,可以通過利用在與一個視頻信號相鄰的區(qū)域之間的時空特性而有效地執(zhí)行宏塊跳過。這可以提高編碼效率。(14)在(1)至(8)之一中,當(dāng)表示多個參考幀的組合的指標(biāo)與用于緊接著在前編碼的宏塊的指標(biāo)相同時,編碼被跳過而不對一個宏塊輸出任何編碼數(shù)據(jù),要被編碼的運動矢量與用于緊接著在前編碼的宏塊的運動矢量相一致。對于要被接著編碼的宏塊,所跳過的宏塊數(shù)目被編碼。<效果>把(14)中的結(jié)構(gòu)添加到(13)中,可以減小編碼開銷并且提高編碼效率。(15)在任何(1)至(8)之一中,從用于在該幀中的一個或多個相鄰宏塊的一個運動矢量預(yù)測要被編碼的運動矢量,并且要被編碼的運動矢量和該預(yù)測運動矢量之間的差分矢量被編碼。<效果>通過考慮到運動矢量之間的空間相關(guān)性從在該幀中的相鄰宏塊預(yù)測要被編碼的運動矢量,并且僅僅編碼差分矢量,與(1)至(8)相比,可以減小用于運動矢量的編碼開銷并且可以提高編碼效率。(16)在(1)至(8)之一中,在緊接著在前編碼的幀中,對于在相同位置處的一個宏塊,從一個運動矢量預(yù)測要被編碼的運動矢量,并且編碼要被編碼的運動矢量和該預(yù)測運動矢量之間的差分矢量。<效果>通過考慮到在運動矢量之間的時間相關(guān)性,從用于在緊接著在前編碼的幀中在相同位置處的宏塊的運動矢量預(yù)測要被編碼的運動矢量,可以減小用于運動矢量的編碼開銷,以及可以進一步提高編碼效果。(17)在(1)至(8)之一中,要被編碼的運動矢量從用于該幀中的一個或多個宏塊的運動矢量和用于在緊接著在前編碼的幀中在相同位置處的宏塊的運動矢量預(yù)測,并且要被編碼的運動矢量和預(yù)測的運動矢量之間的差分矢量被編碼。<效果>通過考慮到運動矢量之間的時空特性相關(guān)性預(yù)測在一個幀內(nèi)和在幀之間的一個運動矢量,可以獲得在(15)和(16)中的特性。這可以進一步提高用于運動矢量的編碼效率(18)在(15)至(17)之一中,當(dāng)表示多個參考幀的組合的一個指標(biāo)是一個預(yù)定數(shù)值時,編碼被跳過,而不對一個宏塊輸出任何編碼數(shù)據(jù),該要被編碼的運動矢量的差分矢量為0,并且所有要被編碼的預(yù)測誤差信號為0。對于要被接著編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>與(15)至(17)之一的結(jié)構(gòu)相配合,可以進一步減小編碼開銷,以提高編碼效率。(19)在(15)至(17)之一中,當(dāng)表示多個參考幀的組合的一個指標(biāo)是一個預(yù)定數(shù)值時,編碼被跳過,而不對一個宏塊輸出任何編碼數(shù)據(jù),該要被編碼的運動矢量與用于緊接著在前編碼的宏塊的差分矢量相一致,并且所有要被編碼的預(yù)測誤差信號為0。對于要被接著編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>與(15)至(17)之一以及(10)的結(jié)構(gòu)相配合,可以進一步減小編碼開銷,以提高編碼效率。(20)在(18)或(19),表示參考幀的預(yù)定組合的一個指標(biāo)表示使用兩個緊接著在前編碼的幀作為參考幀。<效果>與(18)或(19)以及(11)的結(jié)構(gòu)相配合,可以進一步減小編碼開銷,以提高編碼效率。(21)在(18)或(19)中,表示參考幀的預(yù)定組合的一個指標(biāo)可以對每個要被編碼的幀改變,并且表示參考幀的預(yù)定組合被編碼為用于要被編碼的幀的標(biāo)頭數(shù)據(jù)。<效果>與(18)或(19)和(12)的結(jié)構(gòu)相配合,可以進一步減小編碼開銷,以提高編碼效率。(22)在(15)至(17)之一中,當(dāng)表示多個參考幀的組合的一個指標(biāo)與用于緊接著在前編碼的宏塊相同,則編碼被跳過,而不對一個宏塊輸出任何編碼數(shù)據(jù),要被編碼的運動矢量的差分矢量的所有元素為0。并且所有要被編碼的預(yù)測誤差信號為0。對于要被接著編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>與(15)至(17)之一和(13)的結(jié)構(gòu)相配合,可以進一步減小編碼開銷,以提高編碼效率。(23)在(15)至(17)之一中,當(dāng)表示多個參考幀的組合的一個指標(biāo)與用于緊接著在前編碼的宏塊相同,則編碼被跳過,而不對一個宏塊輸出任何編碼數(shù)據(jù),要被編碼的運動矢量的差分矢量與用于緊接著在前編碼的宏塊的差分矢量相一致,并且所有要被編碼的預(yù)測誤差信號為0。對于要被接著編碼的宏塊,被跳過的宏塊數(shù)目被編碼。<效果>與(15)至(17)之一和(14)的結(jié)構(gòu)相配合,可以進一步減小編碼開銷,以提高編碼效率。(24)在(1)或(2)中,根據(jù)要被編碼的幀和多個參考幀之間的幀間距離確定線性求和加權(quán)因子的組合。<效果>可以根據(jù)要被編碼的幀和多個參考幀之間的幀間距離,通過對于例如淡化這樣的信號強度的時間抖動執(zhí)行線性插值和線性外推,而容易地容易地以低成本產(chǎn)生適當(dāng)?shù)念A(yù)測圖像。這樣可以通過高的預(yù)測效率實現(xiàn)高效率的編碼。(25)在(1)或(2)中,在一個輸入視頻信號中的一個幀或區(qū)域中的平均DC值被計算,并且根據(jù)在多個參考幀和要被編碼的幀中的DC值確定線性和加權(quán)因子。<效果>通過從在一個要被編碼的幀和多個參考幀中的DC值的時間改變計算線性預(yù)測系數(shù),不但可以對信號強度的恒定時間改變,而且還可以對信號強度任意時間抖動產(chǎn)生一個適當(dāng)?shù)念A(yù)測圖像。(26)在(1)或(2)中,假設(shè)一個輸入視頻信號具有可變的幀率,或者準(zhǔn)備一個編碼器,用于減小輸入視頻信號的任意幀,使其具有可變的幀率。在這種情況中,在編碼具有可變的幀率的視頻信號中,根據(jù)要被編碼的幀和多個參考幀之間的幀間距離的改變確定線性和加權(quán)因子的組合。<效果>通過根據(jù)幀間距離對于用可變的幀率編碼使用適當(dāng)?shù)木€性預(yù)測系數(shù),其中一個要被編碼的幀和多個參考幀之間的幀間距離動態(tài)改變,可以保持高預(yù)測效率,以執(zhí)行高效編碼。(27)在通過使用多個參考幀和要被編碼的宏塊與至少一個參考幀之間的運動矢量的預(yù)測組合,執(zhí)行一個視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼的視頻編碼方法中,(a)對應(yīng)于用于該運動矢量的候選項的第一參考宏塊被從該第一參考幀中提取,(b)根據(jù)至少一個第二參考幀和要被編碼的幀縮放用于該運動矢量的候選項,(c)從第二參考幀提取對應(yīng)于通過縮放所獲得的用于該運動矢量的候選項的至少一個第二參考宏塊,(d)通過使用用于第一和第二參考宏塊的加權(quán)因子的預(yù)定組合計算一個線性和而產(chǎn)生一個預(yù)測宏塊,(e)產(chǎn)生該預(yù)測宏塊和要被編碼的宏塊之間的預(yù)測誤差信號,(f)根據(jù)第一和第二參考宏塊的線性和與要被編碼的宏塊之間的預(yù)測誤差信號的大小確定運動矢量,以及(g)編碼該預(yù)測誤差信號、表示第一和第二參考幀的第一指標(biāo)、表示加權(quán)因子的組合的第二指標(biāo)、以及所確定的運動矢量的信息。<效果>假設(shè)對于一個要被編碼的宏塊從多個參考幀提取多個參考宏塊,并且從該線性和產(chǎn)生一個預(yù)測宏塊。在這種情況中,如果對每個參考幀確定一個最佳運動矢量,則計算量變大。根據(jù)(27)的結(jié)構(gòu),由于用于第一參考幀存儲器的運動矢量被縮放,以獲得用于其他參考幀的運動矢量,則可以用非常小的計算量搜索多個最佳運動矢量。這可以大大地減小編碼成本。(28)在(27)中,根據(jù)各個參考幀和要被編碼的幀之間的距離縮放所確定的運動矢量,并且用于至少一個參考幀參考宏塊被再次獨立地搜索,以減小在被縮放的運動矢量附近的適當(dāng)誤差信號。然后通過使用作為重新搜索的結(jié)果所獲得的運動矢量執(zhí)行運動補償預(yù)測。<效果>在縮放的運動矢量候選項附近重新搜索運動矢量可以用較小的計算量實現(xiàn)更高效率的運動矢量搜索,并且用略為增加的計算量實現(xiàn)高效率的運動補償預(yù)測。這可以執(zhí)行高效編碼。(29)在通過使用至少一個過去參考幀和要被編碼的宏塊與該參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被編碼的宏塊的運動補償幀間編碼的視頻編碼方法中,對每個要被編碼的宏塊,在使用用于與緊接著在包含要被編碼的宏塊的要被編碼的幀之前編碼的幀中的要被編碼的宏塊相同的幀內(nèi)位置處的一個要被編碼的宏塊的運動矢量的操作,與新確定和編碼該運動矢量的操作之間切換。<效果>如上文所述,在運動補償預(yù)測編碼中,用于運動矢量編碼的開銷影響編碼效率。特別地,當(dāng)具有高預(yù)測效率的圖像要被編碼或者由于小宏塊尺寸導(dǎo)致許多運動矢量要被編碼時,運動矢量的代碼量可能變?yōu)橹鲗?dǎo)地位。根據(jù)(29)的結(jié)構(gòu),在圖像運動之間的時間相關(guān)性被使用,使得如果可以使用該宏塊而沒有任何改變,則用于與緊接著在前的幀中要被編碼的宏塊相同位置處的宏塊的運動矢量不被編碼,并且當(dāng)用于緊接著在前的幀的運動矢量被使用時,僅僅用于受到預(yù)測效率下降的宏塊的運動矢量被編碼。這可以減小用于運動矢量編碼的開銷,并且實現(xiàn)高效編碼。(30)在通過使用至少一個參考幀和要被編碼的宏塊與該參考幀之間的運動矢量執(zhí)行視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼的視頻編碼方法中,在對于每個要被編碼的宏塊切換(a)使用至少一個編碼的過去幀作為參考幀的第一預(yù)測模式,(b)使用一個編碼的將來幀作為參考幀的第二預(yù)測模式,(c)使用編碼的過去幀和將來幀的線性和作為參考幀的第三預(yù)測模式,以及(d)使用多個編碼的過去參考幀作為參考幀的第四預(yù)測模式之后,執(zhí)行運動補償預(yù)測幀間編碼。<效果>在用于MPEG2視頻編碼的B圖像(雙向預(yù)測編碼)的情況中,對于每個宏塊切換從一個向前幀預(yù)測、從一個向后幀預(yù)測、以及從向前和向后幀平均預(yù)測。在平均預(yù)測中,平均處理函數(shù)作為一個環(huán)路濾波器,以在一個參考幀中除去原始圖像噪聲或編碼噪聲,從而提高預(yù)測效率。但是,請注意難以在一個場景改變之前和之后執(zhí)行雙向預(yù)測,因此從一個向前幀或向后幀進行預(yù)測。在這種情況中,環(huán)路濾波器效應(yīng)不起作用,因此預(yù)測效率下降。根據(jù)(30)的結(jié)構(gòu),即使僅僅從一個向前幀預(yù)測,由于從多個參考幀的線性和產(chǎn)生一個預(yù)測圖像,因此通過環(huán)路濾波器效應(yīng)可以提高預(yù)測效率。(31)在(30)中,基于線性和的預(yù)測包括對應(yīng)于幀間距離的線性插值和線性外推。<效果>即使由于淡化等等使得信號強度隨時間改變,通過從多個幀執(zhí)行線性插值或線性外推可以容易地產(chǎn)生適當(dāng)?shù)念A(yù)測圖像。這可以獲得高的預(yù)測效率。(32)在通過使用多個參考幀和要被編碼的宏塊與至少一個參考幀之間的運動矢量的預(yù)定組合執(zhí)行要被解碼的宏塊的運動補償預(yù)測幀間解碼的視頻解碼方法中,(a)包括用于要被解碼的宏塊的預(yù)測誤差信號的編碼數(shù)據(jù)、表示多個參考幀的組合的第一指標(biāo)、表示用于參考宏塊的線性和加權(quán)因子的組合的第二指標(biāo)、以及運動矢量的信息被解碼,(b)根據(jù)運動矢量的解碼信息和第一指標(biāo)的解碼信息,從多個參考幀中提取多個參考宏塊,(c)通過使用第二指標(biāo)的解碼信息所表示的加權(quán)因子的組合計算多個所提取的參考幀的線性和而產(chǎn)生一個預(yù)測宏塊,以及(d)通過把該預(yù)定宏塊和用于每個要被解碼的宏塊的解碼預(yù)測誤差信號相加而解碼一個視頻信號。<效果>可以解碼在(1)中編碼的數(shù)據(jù),并且可以獲得與(1)相同的提高編碼效率的效果。(33)在(32)中,表示線性求和加權(quán)因子的組合的指標(biāo)被接收作為用于每個幀或每組多個幀的標(biāo)頭數(shù)據(jù),并且對于每個宏塊接收和解碼該預(yù)測誤差信號、表示參考幀的組合的指標(biāo)、以及運動矢量。<效果>可以解碼在(2)中編碼的數(shù)據(jù),并且可以獲得與(2)相同的提高編碼效率的效果。(34)在(32)或(33)中,所接收的運動矢量是與多個參考幀中的一個特定參考幀相關(guān)的運動矢量,所接收的運動矢量被根據(jù)要被解碼的幀和該參考幀之間的幀間距離而縮放,并且通過使用縮放的運動矢量產(chǎn)生用于另一個或其他參考幀的運動矢量。<效果>可以解碼在(3)中編碼的數(shù)據(jù),并且可以獲得與(13相同的提高編碼效率的效果。(35)在(34)中,與特定參考幀相關(guān)的運動矢量是根據(jù)該參考幀和要被編碼的幀之間的幀間距離而歸一化的運動矢量。<效果>可以解碼在(4)中編碼的數(shù)據(jù),并且可以獲得與(4)相同的提高編碼效率的效果。(36)在(34)中,與特定參考幀相關(guān)的運動矢量是用于多個參考幀中與該要被編碼的幀相距最大幀間距離相對應(yīng)的一個參考幀的運動矢量。<效果>可以解碼在(5)中編碼的數(shù)據(jù),并且可以獲得與(5)相同的提高編碼效率的效果。(37)在(32)或(33)中,所接收的運動矢量是與多個參考幀中的特定參考幀相關(guān)的第一運動矢量和另一個或其他參考幀的運動矢量之間的差分矢量。該第一運動矢量被根據(jù)一個要被編碼的幀和一個或多個參考幀之間的幀間距離而縮放。通過把該縮放的運動矢量和用于所選擇的一個或多個參考幀的差分矢量相加而產(chǎn)生用于另一個或其他參考幀的運動矢量。<效果>可以解碼在(7)中編碼的數(shù)據(jù),并且可以獲得與(7)相同的提高編碼效率的效果。(38)在(37)中,所接收的第一運動矢量是根據(jù)參考幀和要被編碼的幀之間的幀間距離而歸一化的運動矢量。<效果>可以解碼在(7)中編碼的數(shù)據(jù),并且可以獲得與(7)相同的提高編碼效率的效果。(39)在(37)中,所接收的第一運動矢量是用于與特定參考幀相關(guān)的運動矢量是用于多個參考幀中與該要被編碼的幀相距最大幀間距離相對應(yīng)的一個參考幀的運動矢量。<效果>可以解碼在(8)中編碼的數(shù)據(jù),并且可以獲得與(8)相同的提高編碼效率的效果。(40)在(32)至(39)之一中,當(dāng)對于每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過時,解碼每個被跳過的宏塊所需的所有運動矢量元素被作為0。通過使用參考幀的預(yù)定組合,從多個參考幀提取參考宏塊。通過基于表示所接收線性和加權(quán)因子的組合的指標(biāo)的線性和,從多個參考宏塊產(chǎn)生一個預(yù)測宏塊。該預(yù)測宏塊被用作為一個解碼圖像。<效果>可以解碼在(9)中編碼的數(shù)據(jù),并且可以獲得與(9)相同的提高編碼效率的效果。(41)在(32)至(39)之一中,當(dāng)對于每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過,則通過使用用于不被跳過的緊接著在前編碼的幀的運動矢量和多個參考幀的預(yù)定組合,對每個被跳過的宏塊,從多個參考幀中提取參考宏塊。通過根據(jù)表示所接收線性和加權(quán)因子的組合的指標(biāo)的線性和,從多個參考幀產(chǎn)生一個預(yù)測宏塊。該預(yù)測宏塊然后被用作為一個解碼圖像。<效果>可以解碼在(10)中編碼的數(shù)據(jù),并且可以獲得與(10)相同的提高編碼效率的效果。(42)在(40)或(41)中,該參考幀的預(yù)定組合包括緊接著在前解碼的兩個幀。<效果>可以解碼在(11)中編碼的數(shù)據(jù),并且可以獲得與(11)相同的提高編碼效率的效果。(43)在(40)或(41)中,表示參考幀的預(yù)定組合的一個指標(biāo)被接收作為用于一個編碼幀的標(biāo)頭數(shù)據(jù),并且根據(jù)該指標(biāo)解碼被跳過的宏塊。<效果>可以解碼在(12)中編碼的數(shù)據(jù),并且可以獲得與(12)相同的提高編碼效率的效果。(44)在(32)至(39)之一中,當(dāng)對于每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且跳過一個或多個宏塊時,解碼每個被跳過的宏塊所需的所有運動矢量元素被作為0。通過使用表示在被編碼而不被跳過的緊接著在前的宏塊中的多個參考幀的組合的指標(biāo),從多個參考幀提取參考宏塊,并且通過基于所接收的線性和加權(quán)因子的組合的線性和,從多個參考宏塊產(chǎn)生一個預(yù)測宏塊。該預(yù)測宏塊被用作為一個解碼圖像。<效果>可以解碼在(13)中編碼的數(shù)據(jù),并且可以獲得與(13)相同的提高編碼效率的效果。(45)在(32)至(39)之一中,當(dāng)對于每個宏塊接收與被跳過的宏塊的數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過時,對于每個被跳過的宏塊,通過使用用于緊接著在前編碼而不被跳過的宏塊的運動矢量以及表示在被編碼而不被跳過的緊接著在前編碼的宏塊中的多個參考幀的組合的指標(biāo),從多個參考幀提取參考宏塊。通過基于表示所接收的線性和加權(quán)因子的組合的指標(biāo)的線性和,從多個參考幀產(chǎn)生一個預(yù)測宏塊。然后該預(yù)測宏塊被用作為一個解碼圖像。<效果>可以解碼在(14)中編碼的數(shù)據(jù),并且可以獲得與(14)相同的提高編碼效率的效果。(46)在(32)至(39)之一中,對于從在一幀內(nèi)的一個或多個相鄰宏塊預(yù)測一個運動矢量,所接收的運動矢量被編碼為一個差分矢量。對于多個相鄰宏塊從一個解碼的運動矢量產(chǎn)生一個預(yù)測運動矢量。該預(yù)測運動矢量被添加到所接收的運動矢量,以解碼用于相應(yīng)宏塊的運動矢量。<效果>可以解碼在(15)中編碼的數(shù)據(jù),并且可以獲得與(15)相同的提高編碼效率的效果。(47)在(32)至(39)之一中,下面是第47個特定特征。所接收的運動矢量被編碼為相對于從在緊接著在前的幀中在相同位置處的一個宏塊中的一個運動矢量預(yù)測的運動矢量的一個差分運動矢量。通過把所接收的運動矢量和從在與緊接著在前解碼的幀相同位置處的宏塊中的解碼運動矢量預(yù)測的運動矢量相加,用于相應(yīng)宏塊的運動矢量被解碼。<效果>可以解碼在(16)中編碼的數(shù)據(jù),并且可以獲得與(16)相同的提高編碼效率的效果。(48)在(32)至(39)之一中,所接收的運動矢量被編碼為相對于從用于在一幀中的一個或多個相鄰宏塊的運動矢量預(yù)測的一個運動矢量以及用于在緊接著在前的幀中在相同位置處的宏塊的一個運動矢量的差分矢量。從用于多個相鄰宏塊的一個解碼的運動矢量和用于在緊接著在前解碼的幀中在相同位置處的一個宏塊的一個解碼的運動矢量產(chǎn)生一個預(yù)測運動矢量。通過把該預(yù)測運動矢量與所接收運動矢量相加,解碼用于相應(yīng)宏塊的運動矢量。<效果>可以解碼在(17)中編碼的數(shù)據(jù),并且可以獲得與(17)相同的提高編碼效率的效果。(49)在(46)至(48)之一中,當(dāng)對每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過時,對于每個被跳過的宏塊,通過使用作為用于被跳過的宏塊的運動矢量的預(yù)測運動矢量和多個參考幀的預(yù)定組合,從多個參考幀提取參考宏塊。根據(jù)表示所接收線性和加權(quán)因子的組合的指標(biāo)的線性和,從多個參考幀產(chǎn)生一個預(yù)測宏塊。然后該預(yù)測宏塊被用作為一個解碼圖像。<效果>可以對在(18)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(18)中相同的提高編碼效率的效果。(50)在(46)至(48)之一中,當(dāng)對每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過時,則通過使用把用于緊接著在前編碼而不被跳過的宏塊的運動矢量與該預(yù)測運動矢量相加所獲得的運動矢量以及多個參考幀的預(yù)定組合,對每個被跳過的宏塊,從多個參考幀中提取參考宏塊。通過基于表示所接收線性和加權(quán)因子的組合的一個指標(biāo)的線性和,從多個參考幀產(chǎn)生一個預(yù)測宏塊。該預(yù)測宏塊然后被用作為一個解碼圖像。<效果>可以對在(19)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(19)中相同的提高編碼效率的效果。(51)在(49)或(50)中,參考幀的預(yù)定組合包括兩個緊接著在前解碼的幀。<效果>可以對在(20)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(20)中相同的提高編碼效率的效果。(52)在(49)或(50)中,表示參考幀的預(yù)定組合的一個指標(biāo)被接收作為用于一個編碼的幀的標(biāo)頭數(shù)據(jù),并且一個被跳過的宏塊被根據(jù)所接收的指標(biāo)而解碼。<效果>可以對在(21)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(21)中相同的提高編碼效率的效果。(53)在(46)至(48)之一中,當(dāng)對每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過時,則通過使用作為用于緊接著在前編碼而不被跳過的宏塊的運動矢量的預(yù)測運動矢量以及表示在緊接著在前編碼而不被跳過的多個參考幀的組合的一個指標(biāo),從多個參考幀中提取參考宏塊。通過基于表示所接收線性和加權(quán)因子的組合的一個指標(biāo)的線性和,從多個參考幀產(chǎn)生一個預(yù)測宏塊。該預(yù)測宏塊然后被用作為一個解碼圖像。<效果>可以對在(22)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(22)中相同的提高編碼效率的效果。(54)在(46)至(48)之一中,當(dāng)對每個宏塊接收與被跳過的宏塊數(shù)目相關(guān)的信息,并且一個或多個宏塊被跳過時,則通過使用把用于緊接著在前編碼而不被跳過的宏塊的運動矢量與該預(yù)測運動矢量相加所獲得的運動矢量以及表示在緊接著在前編碼而不被跳過的宏塊中的多個參考幀的組合的指標(biāo),對每個被跳過的宏塊,從多個參考幀中提取參考宏塊。通過基于表示所接收線性和加權(quán)因子的組合的一個指標(biāo)的線性和,從多個參考幀產(chǎn)生一個預(yù)測宏塊。該預(yù)測宏塊然后被用作為一個解碼圖像。<效果>可以對在(23)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(23)中相同的提高編碼效率的效果。(55)在通過使用預(yù)定多個參考幀的組合和要被解碼的宏塊與至少一個參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被解碼的宏塊的運動補償預(yù)測幀間解碼的視頻解碼方法中,(a)編碼數(shù)據(jù)包括用于每個要被解碼的宏塊的一個預(yù)測誤差信號,第一指標(biāo)表示多個參考幀的組合,第二指標(biāo)表示一個編碼幀的幀號,(b)根據(jù)運動矢量的解碼信息以及第一指標(biāo)的解碼信息從多個參考幀提取多個參考宏塊,(c)根據(jù)第二指標(biāo)的解碼信息,計算在多個參考幀和編碼幀之間的幀間距離,(d)通過使用根據(jù)所計算的幀間距離確定的加權(quán)因子計算多個所提取的參考宏塊的線性和,產(chǎn)生一個預(yù)測宏塊,以及(e)通過把預(yù)測宏塊和預(yù)測誤差信號相加而解碼一個視頻信號。<效果>可以對在(24)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(24)中相同的提高編碼效率的效果。(56)在通過使用至少一個過去參考幀和要被解碼的宏塊與至少一個參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被解碼的宏塊的運動補償預(yù)測幀間解碼的視頻解碼方法中,(a)接收和解碼包括用于每個要被解碼的宏塊和編碼的第一運動矢量或表示用于在與緊接著在前編碼的幀中相同幀內(nèi)位置處的宏塊的第二運動矢量的使用的標(biāo)志的編碼數(shù)據(jù),(b)通過使用用于被接收第一運動矢量的信息的要被解碼的宏塊的解碼的第一運動矢量,以及使用用于被接收該標(biāo)志的要被解碼的宏塊的第二運動矢量,產(chǎn)生一個預(yù)測宏塊,(c)通過把該預(yù)測宏塊和預(yù)測誤差信號相加而解碼一個視頻信號。<效果>可以對在(29)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(29)中相同的提高編碼效率的效果。(57)在通過使用在要被解碼的宏塊和至少一個參考幀之間的運動矢量執(zhí)行視頻圖像的要被解碼的宏塊的運動補償預(yù)測幀間解碼的視頻解碼方法中,(a)包括用于每個要被解碼的宏塊的預(yù)測誤差信號的信息;表示使用至少一個要被編碼的過去幀作為參考幀的第一預(yù)測模式、使用要被編碼的將來幀作為參考幀的第二模式、使用要被編碼的過去幀和將來幀的線性和作為參考幀的第三預(yù)測模式、以及使用多個要被編碼的過去幀的線性和作為參考幀的第四預(yù)測模式之一的預(yù)測模式信息;以及該運動矢量的信息的編碼數(shù)據(jù)被接收和解碼,(b)通過把該預(yù)測宏塊信號與解碼的預(yù)測誤差信號相加而解碼一個視頻信號。<效果>可以對在(30)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(30)中相同的提高編碼效率的效果。(58)在(57)中,基于線性和的預(yù)測包括對應(yīng)于幀間距離的線性插值和線性外推。<效果>可以對在(31)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(31)中相同的提高編碼效率的效果。(59)在通過使用從多個參考幀中選擇的至少一個參考幀以及要被編碼的宏塊和至少一個參考幀之間的運動矢量執(zhí)行視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼的視頻編碼方法中,當(dāng)該運動矢量與從用于與該視頻圖像的要被編碼的宏塊相鄰的多個宏塊的運動矢量中選擇的一個預(yù)測矢量相一致時,該運動補償預(yù)測幀間編碼被跳過,至少一個為要被編碼的宏塊選擇的參考幀與被選擇該預(yù)測矢量的宏塊相一致,并且在該運動補償預(yù)測幀間編碼中的所有要被編碼的預(yù)測誤差信號為0,并且在執(zhí)行下一個要被編碼的宏塊的運動補償預(yù)測幀間編碼中其運動補償預(yù)測幀間編碼被跳過的宏塊數(shù)目被編碼。<效果>與(22)中相同,通過在相鄰宏塊之間的幀間預(yù)測中使用運動矢量/參考幀選擇互相關(guān)而有效地執(zhí)行宏塊跳過。這可以減小編碼開銷,并且提高編碼效率。另外,當(dāng)與用于運動矢量的預(yù)測的相鄰宏塊相同的參考幀的使用被設(shè)置為一個跳過條件,則通過使用基于運動矢量和參考幀的組合的相鄰宏塊之間的相關(guān)性,可以更加有效地跳過宏塊。(60)在通過使用至少一個選自多個參考幀的第一參考幀和要被編碼的宏塊與第一參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼的視頻編碼方法中,通過運動補償預(yù)測幀間編碼所獲得的預(yù)測誤差信號、用于運動補償預(yù)測幀間編碼的運動矢量和選自第二參考幀和與要被編碼的宏塊相鄰的多個宏塊之間的多個運動矢量的一個預(yù)測矢量之間的差分矢量、以及在表示第一參考幀的指標(biāo)和表示第二參考幀的指標(biāo)之間的差分值被編碼。<效果>與(15)至(17)中相同,運動矢量信息是通過使用相鄰宏塊之間的運動矢量之間的相關(guān)性編碼的效率。另外,對于與每個宏塊所引用的多個參考幀中的一個幀相關(guān)的指標(biāo),在表示被選擇一個預(yù)測矢量的相鄰宏塊中的一個參考幀的指標(biāo)與表示在要被編碼的宏塊中的參考幀的指標(biāo)之間的差值被編碼。這可以通過使用基于運動矢量的相鄰宏塊和參考幀之間的相關(guān)性提高表示一個參考幀的指標(biāo)的編碼效率。這可以減小編碼開銷并且執(zhí)行高效視頻編碼。(61)在通過使用要被編碼的宏塊和選自多個參考幀的至少一個參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被解碼的宏塊的運動補償預(yù)測幀間解碼的視頻解碼方法中,(a)包括用于每個通過運動補償預(yù)測幀間編碼所獲得的要被解碼的宏塊的預(yù)測誤差信號、緊接著在前被跳過的宏塊數(shù)目以及表示至少一個被選擇的參考幀的指標(biāo)信息的編碼數(shù)據(jù)被接收和解碼,(b)對與被跳過的宏塊相鄰的多個宏塊從運動矢量中選擇一個預(yù)測矢量,(c)根據(jù)用于被選擇的預(yù)測矢量的宏塊的至少一個參考幀和該預(yù)測矢量,產(chǎn)生一個預(yù)測宏塊,以及(d)該預(yù)測宏塊被輸出作為被跳過的宏塊的解碼圖像信號。<效果>可以對在(59)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(59)中相同的提高編碼效率的效果。(62)在通過使用要被編碼的宏塊和選自多個參考幀的至少第一參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被解碼的宏塊的運動補償預(yù)測幀間解碼的視頻解碼方法中,(a)包括通過運動補償預(yù)測幀間編碼所獲得的預(yù)測誤差信號、在用于運動補償預(yù)測幀間編碼的運動矢量和在與要被解碼的宏塊相鄰的多個宏塊和第二參考幀之間的運動矢量中選擇的預(yù)測矢量之間的差分矢量、以及在表示第一參考幀的第一指標(biāo)和表示第二參考幀的第二指標(biāo)之間的差值的編碼數(shù)據(jù)被接收和解碼,(b)從與要被解碼的宏塊相鄰的多個宏塊中選擇該預(yù)測矢量,(c)通過把所選擇的預(yù)測矢量和解碼的差分矢量相加而重構(gòu)該運動矢量,(d)通過把用于被選擇該預(yù)測矢量的宏塊的參考幀的指標(biāo)與解碼的差值相加而重構(gòu)該第一指標(biāo),(e)根據(jù)重構(gòu)的運動矢量和重構(gòu)的第一指標(biāo)產(chǎn)生一個預(yù)測宏塊,以及(f)通過把所產(chǎn)生的預(yù)測宏塊和解碼的預(yù)測誤差信號相加而產(chǎn)生要被解碼的宏塊的解碼重構(gòu)圖像信號。<效果>可以對在(60)中編碼的數(shù)據(jù)進行解碼,并且可以獲得與(60)中相同的提高編碼效率的效果。如上文所述,視頻編碼和解碼處理可以作為硬件(裝置)而實現(xiàn),或者可以通過軟件使用計算機來實現(xiàn)。該處理的一部分可以通過硬件實現(xiàn),并且其他部分可以通過軟件實現(xiàn)。因此,根據(jù)本發(fā)明,也可以提供用于使計算機執(zhí)行(1)至(62)中所述的視頻編碼或解碼處理的程序。工業(yè)應(yīng)用性如上文所述,根據(jù)本發(fā)明,可以提供具有用于編碼數(shù)據(jù)的較低開銷的高圖像質(zhì)量、高效率的視頻編碼和解碼方案,其可以大大地提高例如在MPEG這樣在處理時具有困難的常規(guī)視頻編碼方案中用于淡入/淡出圖像等等的預(yù)測效率,而不明顯增加用于編碼和解碼的計算量和成本。權(quán)利要求1.一種視頻編碼方法,其通過使用至少一個參考幀和要被編碼的宏塊與該參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼,所述方法包括對于每個要被編碼的宏塊,通過在使用至少一個編碼的過去幀作為參考幀的第一預(yù)測模式、使用一個編碼的將來幀作為該參考幀的第二預(yù)測模式、使用該編碼的過去和將來幀的線性和作為該參考幀的第三預(yù)測模式、以及使用多個編碼的過去參考幀的線性和作為該參考幀的第四預(yù)測模式之間切換,對視頻圖像執(zhí)行運動補償預(yù)測幀間編碼。2.一種視頻解碼方法,其通過使用要被解碼的宏塊和至少一個參考幀之間的一個運動矢量,對一個視頻圖像的要被解碼的宏塊執(zhí)行運動補償預(yù)測幀間解碼,所述方法包括解碼被編碼的數(shù)據(jù),該被編碼的數(shù)據(jù)包括用于每個要被解碼的宏塊的預(yù)測誤差信號的信息、表示使用至少一個要被編碼的過去幀作為該參考幀的第一預(yù)測模式、使用要被編碼的將來幀作為該參考幀的第二預(yù)測模式、使用要被編碼的過去幀和將來幀的線性和作為該參考幀的第三預(yù)測模式、以及使用多個要被編碼的過去幀的線性和作為該參考幀的第四預(yù)測模式之一的預(yù)測模式信息、以及該運動矢量的信息;通過使用該預(yù)測模式信息和該運動矢量的信息產(chǎn)生一個預(yù)測宏塊信號;以及通過把該預(yù)測宏塊信號和解碼的預(yù)測誤差信號相加來再現(xiàn)一個視頻信號。3.一種視頻編碼裝置,其通過使用至少一個參考幀和要被編碼的宏塊與該參考幀之間的運動矢量執(zhí)行一個視頻圖像的要被編碼的宏塊的運動補償預(yù)測幀間編碼,所述裝置包括編碼器,對于每個要被編碼的宏塊,通過在使用至少一個編碼的過去幀作為參考幀的第一預(yù)測模式、使用一個編碼的將來幀作為該參考幀的第二預(yù)測模式、使用該編碼的過去和將來幀的線性和作為該參考幀的第三預(yù)測模式、以及使用多個編碼的過去參考幀的線性和作為該參考幀的第四預(yù)測模式之間切換,對視頻圖像執(zhí)行運動補償預(yù)測幀間編碼。4.一種視頻解碼裝置,其通過使用要被解碼的宏塊和至少一個參考幀之間的一個運動矢量,對一個視頻圖像的要被解碼的宏塊執(zhí)行運動補償預(yù)測幀間解碼,所述裝置包括解碼器,用于解碼被編碼的數(shù)據(jù),該被編碼的數(shù)據(jù)包括用于每個要被解碼的宏塊的預(yù)測誤差信號的信息、表示使用至少一個要被編碼的過去幀作為該參考幀的第一預(yù)測模式、使用要被編碼的將來幀作為該參考幀的第二預(yù)測模式、使用要被編碼的過去幀和將來幀的線性和作為該參考幀的第三預(yù)測模式、以及使用多個要被編碼的過去幀的線性和作為該參考幀的第四預(yù)測模式之一的預(yù)測模式信息、以及該運動矢量的信息;宏塊信號產(chǎn)生器,通過使用該預(yù)測模式信息和該運動矢量的信息產(chǎn)生一個預(yù)測宏塊信號;以及加法器,通過把該預(yù)測宏塊信號和解碼的預(yù)測誤差信號相加來再現(xiàn)一個視頻信號。全文摘要通過自適應(yīng)地在使用多個解碼的視頻信號作為參考幀并且為每個宏塊從多個參考幀產(chǎn)生一個預(yù)測宏塊圖像的操作、從多個參考幀提取參考宏塊并且使用該宏塊的平均值作為一個預(yù)測宏塊圖像的操作、以及從多個參考幀提取參考宏塊并且通過根據(jù)該參考幀和要被編碼的幀之間的幀間距離進行線性外推或線性插值而產(chǎn)生一個預(yù)測宏塊圖像的操作之間切換,而解碼一個視頻圖像。文檔編號G06T9/00GK1897709SQ20061010872公開日2007年1月17日申請日期2003年1月20日優(yōu)先權(quán)日2002年1月18日發(fā)明者古藤晉一郎,中條健,菊池義浩,永井剛,淺野涉申請人:株式會社東芝