本發(fā)明屬于數(shù)字視頻壓縮領(lǐng)域,具體涉及到視頻信號(hào)的時(shí)域運(yùn)動(dòng)補(bǔ)償編碼。
背景技術(shù):數(shù)字視頻是通過對(duì)時(shí)域和空域連續(xù)的自然場(chǎng)景進(jìn)行時(shí)域和空域連續(xù)采樣所得。如圖1所示,數(shù)字視頻由一系列時(shí)域上的視頻幀所組成,每個(gè)視頻幀表示自然場(chǎng)景在某個(gè)時(shí)間的空域采樣,它由二維均勻采樣的視覺像素組成。每個(gè)像素由一系列描述像素亮度和色彩的數(shù)字組成,在視頻編碼中,最廣泛被使用的格式是YUV格式,這種格式中,每個(gè)像素由一個(gè)亮度分量Y,兩個(gè)色差分量U和V組成,一般對(duì)U和V分量水平和垂直方向各進(jìn)行一次下采樣,這樣每相鄰的4個(gè)像素共用1個(gè)U和V分量,這就是YUV4:2:0格式。最廣泛被使用的視頻編碼技術(shù)是塊基混合運(yùn)動(dòng)補(bǔ)償DCT變換視頻編碼技術(shù)。如圖2所示,輸入幀被劈分成一個(gè)個(gè)16x16的宏塊,然后從左到右,從上到下依次進(jìn)行編碼。對(duì)每個(gè)輸入的待編碼當(dāng)前宏塊,首先從重構(gòu)的幀中選擇一個(gè)對(duì)當(dāng)前塊的預(yù)測(cè),并與當(dāng)前塊相減,殘差依次執(zhí)行DCT變換、量化,然后反量化、反DCT變換得到重構(gòu)宏塊,存入重構(gòu)幀序列中,用于對(duì)其后編碼的宏塊產(chǎn)生預(yù)測(cè)信號(hào)。在實(shí)際的預(yù)測(cè)過程中,宏塊常常被分割成更小的8x8或4x4塊來進(jìn)行精確的預(yù)測(cè)。在塊基混合運(yùn)動(dòng)補(bǔ)償視頻編碼技術(shù)中,共有3種不同類型的幀,I幀、P幀和B幀。I幀中只使用當(dāng)前幀中已編碼塊的信息來作為當(dāng)前塊的預(yù)測(cè)。在P幀中,時(shí)域上顯示順序在當(dāng)前幀前的重構(gòu)幀也可以作為當(dāng)前幀中待編碼塊的預(yù)測(cè)。如圖3所示,顯示時(shí)間為t的幀是當(dāng)前編碼幀,黑色塊是當(dāng)前編碼塊。顯示時(shí)間為t-t0、t-2*t0、t-3*t0幀是重構(gòu)幀,其中具有點(diǎn)狀邊界的灰色塊是與當(dāng)前編碼塊同一位置的塊。在P幀中,顯示時(shí)間為t-t0、t-2*t0、t-3*t0幀都可以作為當(dāng)前編碼塊的預(yù)測(cè)。運(yùn)動(dòng)估計(jì)模塊在重構(gòu)幀中與當(dāng)前塊相同位置附近搜索與當(dāng)前塊匹配的塊作為當(dāng)前塊的預(yù)測(cè)。如圖3所示,當(dāng)前編碼塊通過運(yùn)動(dòng)向量MV0指向顯示時(shí)間為t-t0中的塊BLK0作為當(dāng)前塊的預(yù)測(cè)。編碼器將MV0編入碼流,然后將當(dāng)前塊與預(yù)測(cè)塊相減得到預(yù)測(cè)殘差,對(duì)預(yù)測(cè)殘差依次進(jìn)行DCT變換、量化后把量化系數(shù)寫入碼流,并進(jìn)行反量化、反DCT后與預(yù)測(cè)相加,得到重構(gòu)塊,用于后續(xù)編碼塊的預(yù)測(cè)。在B幀中,當(dāng)前編碼塊不僅可以使用顯示順序在當(dāng)前幀前的重構(gòu)幀作為當(dāng)前塊的預(yù)測(cè),也可以使用顯示順序在當(dāng)前幀后的重構(gòu)幀作為當(dāng)前塊的預(yù)測(cè)。如圖4、5、6和7所示,顯示時(shí)間為t的幀是當(dāng)前編碼幀,黑色塊是當(dāng)前編碼塊。顯示時(shí)間為t-t0、t-2*t0、t+t0幀是重構(gòu)幀,其中具有點(diǎn)狀邊界的灰色塊是與當(dāng)前編碼塊同一位置的塊。顯示時(shí)間為t-t0、t-2*t0、t+t0幀都可以作為當(dāng)前編碼塊的預(yù)測(cè)。在圖3中,運(yùn)動(dòng)向量MV0指向當(dāng)前塊的前向預(yù)測(cè)塊BLK0。在圖4中,運(yùn)動(dòng)向量MV1指向當(dāng)前塊的后向預(yù)測(cè)塊BLK1。在圖5中,運(yùn)動(dòng)向量MV指向當(dāng)前塊的前向預(yù)測(cè)塊BLK0,MV的反方向指向后向預(yù)測(cè)塊BLK1,BLK0和BLK1的平均作為當(dāng)前塊的預(yù)測(cè)。在圖6中,運(yùn)動(dòng)向量MV0指向當(dāng)前塊的前向預(yù)測(cè)塊BLK0,運(yùn)動(dòng)向量MV1指向當(dāng)前塊的后向預(yù)測(cè)塊BLK1,BLK0和BLK1的平均作為當(dāng)前塊的預(yù)測(cè)。在前向預(yù)測(cè)、后向預(yù)測(cè)和對(duì)稱預(yù)測(cè)中,只有一個(gè)運(yùn)動(dòng)參數(shù)(包括運(yùn)動(dòng)向量和參考圖像)需要編碼,而在雙向預(yù)測(cè)模式中,2個(gè)運(yùn)動(dòng)參數(shù)需要編碼。在多假設(shè)運(yùn)動(dòng)補(bǔ)償理論中,增加預(yù)測(cè)的數(shù)目可以增加預(yù)測(cè)效率,但同時(shí)需要付出編碼更多運(yùn)動(dòng)參數(shù)的代價(jià)。本發(fā)明描述了一種時(shí)域高階預(yù)測(cè)方法,不僅可以增加預(yù)測(cè)效率,所付出的編碼運(yùn)動(dòng)參數(shù)的代價(jià)卻更小。
技術(shù)實(shí)現(xiàn)要素:所述的用于視頻編碼中P或B圖像的時(shí)域預(yù)測(cè)方法,包含5種時(shí)域預(yù)測(cè)模式,如圖8、圖9所示的高 階時(shí)域預(yù)測(cè)模式、圖10所示的一致高階預(yù)測(cè)模式、圖11所示時(shí)域合并預(yù)測(cè)模式、圖12所示一般化高階預(yù)測(cè)模式和圖13所示一般化一致高階預(yù)測(cè)模式。一致預(yù)測(cè)模式和一般化一致預(yù)測(cè)模式本質(zhì)也是一種高階時(shí)域預(yù)測(cè)模式。對(duì)當(dāng)前圖像中的每個(gè)編碼塊,編碼器通過對(duì)包括如上所述5種模式在內(nèi)的多種模式分別進(jìn)行評(píng)估,選擇其中一種模式作為當(dāng)前塊的可能的編碼預(yù)測(cè)模式。在圖8、圖9、圖10、圖11、圖12和圖13中,時(shí)間為t的是當(dāng)前編碼幀,時(shí)間為t-t0、t-2*t0、t-3*t0、t-n*t0和t+t0均為已編碼幀,它們也是當(dāng)前編碼幀的參考幀。在t幀中標(biāo)識(shí)為BLKC的淡黑色塊為當(dāng)前編碼塊,在參考幀中的深灰色塊BLKR0和BLKR1是當(dāng)前編碼塊的參考?jí)K,淺灰色塊是參考幀中與當(dāng)前編碼塊空域位置相同的塊。大的透明的線段方框是運(yùn)動(dòng)估計(jì)搜索范圍。對(duì)于一致預(yù)測(cè)模式和一般化一致預(yù)測(cè)模式,所有參考幀的顯示順序都位于當(dāng)前編碼幀之前。如圖8所示是第一種高階時(shí)域預(yù)測(cè)模式,這種情況下所有參考幀均在顯示順序上先于當(dāng)前編碼幀。當(dāng)前編碼塊通過運(yùn)動(dòng)向量MV0指向參考?jí)KBLKR0,而在在先編碼幀t-2*t0時(shí),塊BLKR0的運(yùn)動(dòng)向量為MV1,通過MV1可以獲得BLKR0的參考補(bǔ)償塊BLKR1。當(dāng)前塊BLKC的時(shí)域補(bǔ)償信號(hào)就是塊BLKR0和塊BLKR1的加權(quán)平均,其中最簡(jiǎn)單的一種情況就是算術(shù)平均。如圖9所示是第二種高階時(shí)域預(yù)測(cè)模式,這種情況下部分參考幀在顯示順序上先于當(dāng)前編碼幀,另外一部分參考幀顯示順序上后于當(dāng)前編碼幀。當(dāng)前編碼塊通過運(yùn)動(dòng)向量MV0指向顯示順序上后于當(dāng)前編碼幀中的參考?jí)KBLKR0,而在在先編碼幀t+t0時(shí),塊BLKR0的運(yùn)動(dòng)向量為MV1,指向塊BLKR1。當(dāng)前塊BLKC的時(shí)域補(bǔ)償信號(hào)就是塊BLKR0和塊BLKR1的加權(quán)平均,其中最簡(jiǎn)單的一種情況就是算術(shù)平均。圖12所示是一般化的高階時(shí)域預(yù)測(cè)模式。BLKC通過運(yùn)動(dòng)向量MV0指向參考?jí)KBLKR0,塊BLKR0通過自身的運(yùn)動(dòng)向量MV1(即編碼BLKR0時(shí)使用的運(yùn)動(dòng)向量)指向塊BLKR1,塊BLKR1通過自身的運(yùn)動(dòng)向量MV2指向塊BLKR2,...,塊BLKRn-1通過運(yùn)動(dòng)向量MVn指向塊BLKRn。當(dāng)前塊BLKC的時(shí)域補(bǔ)償信號(hào)就是塊BLKR0、塊BLKR1、...塊BLKRn的加權(quán)平均,其中最簡(jiǎn)單的一種情況就是算術(shù)平均。對(duì)于圖8、圖9和圖12所示三種高階預(yù)測(cè)模式,編碼器在當(dāng)前參考幀的搜索范圍內(nèi),對(duì)某一個(gè)點(diǎn),根據(jù)當(dāng)前運(yùn)動(dòng)向量指向的第一補(bǔ)償塊BLKR0,從內(nèi)存中獲得這個(gè)第一補(bǔ)償塊編碼時(shí)使用的運(yùn)動(dòng)向量MV1,然后獲得第二個(gè)補(bǔ)償塊BLKR1,以此類推,依次求出BLKR2、...、BLKRn。然后求出這些參考?jí)K的加權(quán)和,即當(dāng)前塊的補(bǔ)償塊,再求出當(dāng)前點(diǎn)的花費(fèi)。編碼器在參考范圍內(nèi)對(duì)部分或所有點(diǎn)進(jìn)行評(píng)估后,求出最佳運(yùn)動(dòng)向量MV0。圖10所示是一致高階預(yù)測(cè)模式。在一致高階預(yù)測(cè)模式中,所有參考幀的顯示順序都在當(dāng)前編碼幀之前。當(dāng)前編碼塊BLKC通過一個(gè)運(yùn)動(dòng)向量MV0指向距離當(dāng)前編碼幀較遠(yuǎn)的一個(gè)參考幀中的塊BLKR1。與MV0方向相同,但在距離當(dāng)前編碼幀較近的一個(gè)參考幀中,當(dāng)前編碼塊的補(bǔ)償塊是BLKR0。當(dāng)前塊BLKC的時(shí)域補(bǔ)償信號(hào)就是塊BLKR0和塊BLKR1的加權(quán)平均,其中最簡(jiǎn)單的一種情況就是算術(shù)平均。圖13是一般化的一致高階預(yù)測(cè)模式,當(dāng)前編碼塊BLKC通過MV0指向參考幀t-n*t0中的參考?jí)KBLKRn,在一系列顯示距離與當(dāng)前編碼幀更近的參考幀中,根據(jù)MV0的方向,可以得出一系列參考?jí)KBLKR1、BLKR2、...、BLKRn-1。當(dāng)前塊BLKC的時(shí)域補(bǔ)償信號(hào)就是塊BLKR1、塊BLKR2、...塊BLKRn的加權(quán)平均,其中最簡(jiǎn)單的一種情況就是算術(shù)平均。對(duì)于一致預(yù)測(cè)模式,編碼器對(duì)一個(gè)較遠(yuǎn)距離的參考幀,在一個(gè)搜索范圍內(nèi),評(píng)估部分或全部參考點(diǎn)的花費(fèi)函數(shù),選擇出最優(yōu)的一個(gè)作為最佳運(yùn)動(dòng)向量。對(duì)于每個(gè)參考點(diǎn),根據(jù)當(dāng)前運(yùn)動(dòng)向量MV0,在一系列參考幀中分別求出在同一個(gè)方向上的所有參考?jí)KBLKR0、BLKR1、...BLKRn,然后求出它們的加權(quán)平均作為當(dāng)前塊的補(bǔ)償塊,然后就能求出這個(gè)點(diǎn)的花費(fèi)。圖11所示是時(shí)域合并補(bǔ)償模式。當(dāng)前編碼塊通過運(yùn)動(dòng)向量MV0指向參考?jí)KBLKR0,而在在先編碼幀t-2*t0時(shí),塊BLKR0的運(yùn)動(dòng)向量為MV1,指向塊BLKR1。如果將運(yùn)動(dòng)向量MV1平移,直接應(yīng)用于當(dāng)前編碼塊,那么所得到的補(bǔ)償塊是BLKR2。當(dāng)前塊BLKC的時(shí)域補(bǔ)償信號(hào)就是塊BLKR0和塊BLKR2的加權(quán)平均,其中最簡(jiǎn)單的一種情況就是算術(shù)平均。對(duì)于時(shí)域合并補(bǔ)償模式,編碼器對(duì)一個(gè)參考幀在一定范圍內(nèi)的所有或部分點(diǎn)進(jìn)行花費(fèi)計(jì)算,求出最佳運(yùn)動(dòng)向量。對(duì)于每個(gè)點(diǎn),首先根據(jù)當(dāng)前運(yùn)動(dòng)向量MV0獲得BLKR0,然后根據(jù)這個(gè)點(diǎn)的運(yùn)動(dòng)向量MV1獲得BLKR2,計(jì)算BLKR0和BLKR2的加權(quán)平均,然后得到當(dāng)前塊的花費(fèi)。上面幾種模式中都需要對(duì)若干參考?jí)K進(jìn)行加權(quán)平均。在一個(gè)實(shí)際的編碼器中,加權(quán)系數(shù)是固定的一種如算術(shù)平均,或有限的幾種。在編碼器決定上述預(yù)測(cè)模式時(shí),一般需要使用率失真運(yùn)動(dòng)估計(jì)。在最終決定編碼模式時(shí),需要使用簡(jiǎn)單的率失真花費(fèi)比較方法,或者也可以采用復(fù)雜的率失真花費(fèi)比較方法。如果編碼器選擇了上述五種時(shí)域預(yù)測(cè)模式中的一種,編碼器需要向碼流中寫入信息以區(qū)分具體是五種的哪一種。不管采用了五種中的那種時(shí)域預(yù)測(cè)模式,編碼器都需要獲得預(yù)測(cè)殘差,依次進(jìn)行DCT變換,量化得到量化系數(shù),并和唯一的運(yùn)動(dòng)向量MV0一起寫入碼流。量化系數(shù)經(jīng)過反量化、反DCT變換后加上預(yù)測(cè)信號(hào),得到當(dāng)前塊的重構(gòu),用于后續(xù)編碼塊的預(yù)測(cè)。附圖說明圖1為數(shù)字視頻示例,其中指示1表示時(shí)域采樣,指示2表示空域采樣。圖2為塊基運(yùn)動(dòng)補(bǔ)償DCT變換視頻編碼器,其中指示1表示劈分為16x16宏塊,指示2表示幀內(nèi)預(yù)測(cè)信息,指示3表示運(yùn)動(dòng)向量信息,指示4表示控制信息,指示5表示量化DCT系數(shù),指示6表示編碼碼流。圖3是P圖像中的運(yùn)動(dòng)補(bǔ)償。圖4是B圖像中的前向運(yùn)動(dòng)補(bǔ)償。圖5是B圖像中的后向運(yùn)動(dòng)補(bǔ)償。圖6是B圖像中的對(duì)稱運(yùn)動(dòng)補(bǔ)償。圖7是B圖像中的雙向運(yùn)動(dòng)補(bǔ)償。圖8是本發(fā)明所述的時(shí)域高階預(yù)測(cè)模式第一種情況。圖9是本發(fā)明所述的時(shí)域高階預(yù)測(cè)模式第二種情況。圖10是本發(fā)明所述的一致高階預(yù)測(cè)模式。圖11是本發(fā)明所述的時(shí)域合并模式。圖12是本發(fā)明所述一般化的時(shí)域高階預(yù)測(cè)模式。圖13是本發(fā)明所述一般化的一致高階預(yù)測(cè)模式。實(shí)施方式在一個(gè)實(shí)際的視頻編碼器中,P或B圖像中的編碼塊可以選擇很多種編碼模式,如本發(fā)明所述五種模式,跳過模式、幀內(nèi)編碼模式、單向補(bǔ)償模式、對(duì)稱補(bǔ)償模式或雙向補(bǔ)償模式等。對(duì)于當(dāng)前編碼塊,編碼器對(duì)其中幾種或全部模式進(jìn)行評(píng)估,選擇一種作為當(dāng)前編碼塊的最終的編碼模式。對(duì)于某一種模式的評(píng)估一般是通過計(jì)算率失真花費(fèi)函數(shù)來進(jìn)行的,對(duì)于幀間預(yù)測(cè)模式,要首先進(jìn)行運(yùn)動(dòng)估計(jì),求出最佳運(yùn)動(dòng)向量,然后求出率失真函數(shù)。下面依次對(duì)五種模式的率失真花費(fèi)函數(shù)的計(jì)算進(jìn)行描述。在本發(fā)明中,用BLKi,j表示塊BLK中坐標(biāo)為(i,j)的像素,當(dāng)前塊所有坐標(biāo)的集合用Ω表示。圖8和圖9是時(shí)域高階預(yù)測(cè)模式。對(duì)于當(dāng)前塊的一個(gè)可行的運(yùn)動(dòng)向量MV0,指向參考?jí)KBLKR0。然后取出塊BLKR0的運(yùn)動(dòng)向量MV1,計(jì)算出BLKR0的參考?jí)KBLKR1。由于BLKR1塊可以指向子像素位置并且覆蓋多個(gè)采用不同運(yùn)動(dòng)向量區(qū)域,所以MV1定義為BLKR1的左上第一個(gè)像素,采用四舍五入法得到的最近整像素的運(yùn)動(dòng)向量。當(dāng)前塊的預(yù)測(cè)是塊BLKR0和BLKR1的加權(quán)平均。在時(shí)域高階預(yù)測(cè)模式下,編碼器在搜索范圍內(nèi)的所有或部分運(yùn)動(dòng)向量中搜索最佳的運(yùn)動(dòng)向量MV0,使下式最小化:其中abs表示絕對(duì)值操作,λmotion是拉格朗日參數(shù),它是由量化參數(shù)決定的。rateh是選擇時(shí)域高階預(yù)測(cè)模 式的碼率,ratemv0是運(yùn)動(dòng)參數(shù)MV0的碼率。c0和c1是加權(quán)參數(shù),如果是雙線性平均,那么就都是1。圖10所示是一致高階預(yù)測(cè)模式。對(duì)于參考幀t-2*t0中的一個(gè)當(dāng)然的運(yùn)動(dòng)向量MV0,根據(jù)MV0先求出補(bǔ)償塊BLKR1,然后求出和MV0方向相同的,應(yīng)用于參考幀t-t0的運(yùn)動(dòng)向量它指向塊BLKR0。在實(shí)際的編碼中,由于運(yùn)動(dòng)向量最多為四分之一像素或八分之一像素,所以MVx也要四舍五入到這個(gè)精度。在一致高階預(yù)測(cè)模式中,編碼器在一定搜索范圍內(nèi)搜索MV0,使下式最小化:其中abs表示絕對(duì)值操作,λmotion是拉格朗日參數(shù),它是由量化參數(shù)決定的。ratec是選擇時(shí)域高階預(yù)測(cè)模式的碼率,ratemv0是運(yùn)動(dòng)參數(shù)MV0的碼率。c0和c1是加權(quán)參數(shù),如果是雙線性平均,那么就都是1。圖11是時(shí)域合并預(yù)測(cè)模式。對(duì)于當(dāng)前塊的一個(gè)可行的運(yùn)動(dòng)向量MV0,指向參考?jí)KBLKR0。然后取出塊BLKR0的運(yùn)動(dòng)向量MV1,將其應(yīng)用于當(dāng)前塊,計(jì)算出下一個(gè)補(bǔ)償塊BLKR2。當(dāng)前塊的預(yù)測(cè)是塊BLKR0和BLKR2的加權(quán)平均。在時(shí)域合并預(yù)測(cè)模式下,編碼器在允許的所有或部分運(yùn)動(dòng)向量中搜索最佳的運(yùn)動(dòng)向量MV0,使下式最小化:其中abs表示絕對(duì)值操作,λmotion是拉格朗日參數(shù),它是由量化參數(shù)決定的。rateb是選擇時(shí)域合并預(yù)測(cè)模式的碼率,ratemv0是運(yùn)動(dòng)參數(shù)MV0的碼率。c0和c1是加權(quán)參數(shù),如果是雙線性平均,那么就都是1。圖12是一般化的時(shí)域高階預(yù)測(cè)模式。對(duì)于當(dāng)前塊的一個(gè)可行的運(yùn)動(dòng)向量MV0,指向參考?jí)KBLKR0。然后取出塊BLKR0的運(yùn)動(dòng)向量MV1,計(jì)算出BLKR0的參考?jí)KBLKR1,再取出塊BLKR1的運(yùn)動(dòng)向量MV2,計(jì)算出BLKR1的參考?jí)KBLKR2,這樣依次計(jì)算到BLKRn。當(dāng)前塊的預(yù)測(cè)是塊BLKR0、BLKR1、…BLKRn的加權(quán)平均。在一般化時(shí)域高階預(yù)測(cè)模式下,編碼器在搜索范圍內(nèi)搜索最佳的運(yùn)動(dòng)向量MV0,使下式最小化:其中abs表示絕對(duì)值操作,λmotion是拉格朗日參數(shù),它是由量化參數(shù)決定的。ratehg是選擇一般化時(shí)域高階預(yù)測(cè)模式的碼率,ratemv0是運(yùn)動(dòng)參數(shù)MV0的碼率。ci是加權(quán)參數(shù),如果是雙線性平均,那么就都是1。圖13是一般化的一致高階預(yù)測(cè)模式。對(duì)于當(dāng)前塊的一個(gè)可行的運(yùn)動(dòng)向量MV0,指向參考幀t-n*t0中的參考?jí)KBLKRn。然后對(duì)于中間的其余參考幀t-k*t0,其中0<k<n,計(jì)算出與MV0相同方向的運(yùn)動(dòng)向量然后依次求出相應(yīng)的補(bǔ)償塊BLKRk。當(dāng)前塊的預(yù)測(cè)是塊BLKR1、…BLKRn的加權(quán)平均。在一般化的一致高階預(yù)測(cè)模式下,編碼器在允許的所有或部分運(yùn)動(dòng)向量中搜索最佳的運(yùn)動(dòng)向量MV0,使下式最小化:其中abs表示絕對(duì)值操作,λmotion是拉格朗日參數(shù),它是由量化參數(shù)決定的。ratecg是選擇一般化一致高階預(yù)測(cè)模式的碼率,ratemv0是運(yùn)動(dòng)參數(shù)MV0的碼率。ci是加權(quán)參數(shù),如果是雙線性平均,那么就都是1。在所有模式?jīng)Q定完成后,需要選擇一種作為當(dāng)前塊的時(shí)域預(yù)測(cè)模式。這個(gè)過程一般采用率失真最優(yōu)化的方法,即對(duì)于每種模式,首先求出其殘差,然后變換、量化、反量化、反變換,求出重構(gòu)誤差,并將量化系數(shù)熵編碼求的總碼率,然后選擇率失真花費(fèi)最小的那個(gè)模式。當(dāng)后續(xù)塊編碼需要引用當(dāng)前編碼塊的運(yùn)動(dòng)向量時(shí),當(dāng)前塊運(yùn)動(dòng)向量定義為MV0。當(dāng)編碼器選擇上述五種模式中的一種時(shí),編碼器向碼流中寫入信息以區(qū)分具體是那種預(yù)測(cè)模式。然后編碼唯一的運(yùn)動(dòng)參數(shù)MV0和殘差信息。如果加權(quán)參數(shù)不止一種情況,還要向碼流中寫入信息以表示使用哪一種加權(quán)參數(shù)。在一個(gè)視頻解碼器中,解碼器從碼流中讀取信息,判斷當(dāng)前塊是否為時(shí)域預(yù)測(cè)模式。如果是,那么繼續(xù)從碼流中讀取信息以決定是否是本發(fā)明所述五種模式中的一種。如果是,那么從碼流中讀取運(yùn)動(dòng)參數(shù)MV0和殘差信息。根據(jù)模式信息導(dǎo)出需要的附加的運(yùn)動(dòng)參數(shù),和MV0一起進(jìn)行多次運(yùn)動(dòng)補(bǔ)償,然后將多個(gè)運(yùn)動(dòng)補(bǔ)償信號(hào)執(zhí)行加權(quán)平均得到當(dāng)前塊的預(yù)測(cè)塊。然后對(duì)殘差信息反量化,反DCT變換,加上預(yù)測(cè)就是當(dāng)前塊的重構(gòu)。當(dāng)后續(xù)塊解碼需要引用當(dāng)前解碼塊中任何一個(gè)整像素的運(yùn)動(dòng)向量時(shí),當(dāng)前塊的唯一運(yùn)動(dòng)向量定義為MV0。