亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

B圖像的直接模式運動矢量計算方法

文檔序號:7762580閱讀:335來源:國知局
專利名稱:B圖像的直接模式運動矢量計算方法
技術領域
本發(fā)明涉及運動圖像編碼方法,尤其涉及用于計算在下一代運動圖像壓縮技術中定義的B(雙向預測)圖像的直接模式運動矢量的技術。
現(xiàn)有技術傳統(tǒng)的B圖像具有五種類型的預測模式,包括前向模式、后向模式、雙向模式、直接模式和幀內模式。在前向模式、后向模式和雙向模式中,因為方向信息包含在模式名稱中,所以可以從模式名稱中識別出運動矢量的方向。在直接模式中,基于時間冗余特征,即在兩個相鄰圖像之間不變地保持運動連續(xù)性,從相鄰圖像的相同位置塊的運動中,可以得出兩個方向的兩個運動矢量。此直接模式在編碼效率方面具有優(yōu)點,因為不把運動信息發(fā)送到解碼器。
另一方面,在諸如H.264或者MPEG-4第10部分的下一代運動圖像壓縮技術中所采用的B圖像具有如下特征,即因為能夠將B圖像存儲在參考圖像緩沖器中,所以允許將B圖像用作參考圖像。該B圖像還具有如下特征,即,其具有5種類型的預測模式,即序列0模式,序列1模式,雙向預測模式,直接模式和幀內模式。
序列0模式與傳統(tǒng)的前向模式類似,分別使用ref_id×_l0和mvd_l0指示諸如參考圖像索引和運動矢量差值的運動信息。序列1模式與傳統(tǒng)的后向模式類似,分別使用ref_id×_l1和mvd_l1指示諸如參考圖像索引和運動矢量差值的運動信息。雙向預測模式具有兩個參考圖像,兩個參考圖像在時間上可以同時處于B圖像之前或之后,或者分別處于B圖像之前和之后。在此情況下,分別使用ref_id×_l0,ref_id×_l1,mvd_l0和mvd_l1指示兩個參考圖像索引和兩個運動矢量差值,并且每一個參考圖像都具有圖像順序計數(shù)(POC)數(shù)據(jù),這是一個時間位置信息。
在直接模式中,通過選擇空間技術和時間技術中的任意一種而獲得運動矢量??臻g直接模式技術用于從所要編碼的宏塊的相鄰塊中得出序列0和序列1參考圖像索引和運動矢量。時間直接模式技術通過對直接模式的序列1參考圖像中相同位置塊的序列0運動矢量進行縮放(該參考圖像與傳統(tǒng)的B圖像類似),從而得出序列0運動矢量MVF和序列1運動矢量MVB。此處,直接模式的序列1參考圖像是這樣一個圖像序列1預測的索引為0,直接模式序列0參考圖像是直接模式序列1參考圖像中的相同位置塊的運動矢量所指向的序列0參考圖像。
圖1a到1c分別顯示的是,當可用的序列0和序列1參考圖像的數(shù)目(或者短期緩沖器的大小)為6時,在IBBBP模式中,序列0預測的缺省索引,序列1預測的缺省索引和各個B圖像的直接模式序列1參考圖像。此處,序列0預測的缺省索引和序列1預測的缺省索引取決于先前解碼的參考圖像的輸出順序,或POC值,而與解碼順序無關。在圖1中,所有的B圖像使用在時間上緊隨的P圖像作為直接模式序列1參考圖像。
圖2a到2c分別顯示的是,在僅使用B圖像的IBBB模式中,序列0預測的缺省索引,序列1預測的缺省索引和各個B圖像的直接模式序列1參考圖像。在圖2a中,當要編碼的B圖像為B8時,具有序列1索引0的、在時間上超前的B5為直接模式序列1參考圖像。如圖2b所示,接著要解碼的B7的直接模式序列1參考圖像是時間上落后的B8。最后,如圖2C所示,接著要解碼的B9的直接模式序列1參考圖像是時間上超前的B7。
因此,如圖1a到2c所示,直接模式序列1參考圖像可以是在時間上落后于所要編碼的B圖像的P或B圖像,或者在時間上超前于它的B圖像。
圖3a到3h顯示的是當序列1參考圖像在時間上落后于B圖像時,直接模式序列1參考圖像中的相同位置塊所可以具有的模式。在這種情況下,因為序列1參考圖像可以是P圖像或者是B圖像,從而它的相同位置塊具有一個或者兩個運動矢量,或者幀內模式。下一代的運動圖像壓縮技術,諸如H.264或者MPEG-4第10部分,允許在“片(slice)”的級別上對參考圖像索引進行重新排序,從而將序列1預測的索引0分配給B圖像之后的圖像。即,由于序列1參考圖像能夠緊隨B圖像之后,所以相同位置塊的運動矢量可以指向前或者后。
圖4a到4h顯示的是當序列1參考圖像在時間上超前于B圖像時,直接模式序列1參考圖像中的相同位置塊所可以具有的模式。如上所述,在這種情況下,相同位置塊具有一個或者兩個運動矢量,或者幀內模式。序列1參考圖像和B圖像之間可以有其它的參考圖像,從而相同位置塊的運動矢量可以指向時間上超前或者落后的方向。
如圖3a到4h所示,直接模式序列1參考圖像可以具有不同的預測模式,使得需要開發(fā)出一種方法,用于根據(jù)不同的情況,計算直接模式運動矢量。

發(fā)明內容
因此,本發(fā)明已經考慮了上述問題,并且本發(fā)明的一個目的是提供一種計算在下一代運動圖像壓縮技術中定義的B(雙向預測)圖像的直接模式運動矢量的方法,其中,提出了一種用于計算B圖像的直接模式運動矢量的方法,以提高將直接模式選作為宏塊預測模式的概率,從而提高B圖像編碼效率。
根據(jù)本發(fā)明的一個方面,通過提供一種在運動圖像編碼系統(tǒng)中計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,從而實現(xiàn)本發(fā)明的上述和其它目的,該方法包括如下步驟如果直接模式序列1參考圖像中的相同位置塊具有兩個運動矢量,則選擇兩個運動矢量中的任何一個(序列0運動矢量或者序列1運動矢量),并且從所選擇的運動矢量中得出B圖像的直接模式運動矢量。
優(yōu)選地,上述步驟包括如下步驟選擇序列0和序列1運動矢量中的一個,其指向在時間上接近于直接模式序列1參考圖像的圖像,作為運動矢量以得出直接模式運動矢量;如果兩個運動矢量指向相同的參考圖像,則將序列0運動矢量選作為運動矢量,以得出直接模式運動矢量;將所選擇的運動矢量指向的參考圖像確定為直接模式序列0參考圖像;并且計算B圖像的直接模式運動矢量。作為選擇,上述步驟可以包括如下步驟與時間距離無關地,無條件地將序列0運動矢量選擇作為運動矢量以計算直接模式運動矢量;將序列0運動矢量所指向的參考圖像確定為直接模式序列0參考圖像;并且計算B圖像的直接模式運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,從而實現(xiàn)本發(fā)明的上述和其它目的,該方法包括如下步驟與相同位置塊的運動矢量的模式(序列0模式和/或序列1模式)無關地,將直接模式序列1參考圖像的相同位置塊的任何一個運動矢量確定為運動矢量,以得出直接模式運動矢量;將所選擇的運動矢量所指向的參考圖像確定為直接模式序列0參考圖像;計算B圖像的直接模式運動矢量。已經提出過一種傳統(tǒng)的方法,該方法用于從相同位置塊的序列0運動矢量中,計算直接模式運動矢量。如果將此傳統(tǒng)方法應用到在序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量的情況,則因為序列0運動矢量為0,所以所有的直接模式運動矢量將成為0。然而,本發(fā)明能夠解決此問題。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,從而實現(xiàn)本發(fā)明的上述和其它目的,該方法包括如下步驟如果直接模式序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量,考慮到相同位置塊具有零運動,將在時間上正好位于B圖像之前的解碼圖像確定為直接模式序列0參考圖像,并且得出B圖像的直接模式運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,從而實現(xiàn)本發(fā)明的上述和其它目的,該方法包括如下步驟如果在直接模式序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量,則將相同位置塊的序列1運動矢量用作為運動矢量以計算直接模式運動矢量;將在時間上正好位于B圖像之前的解碼圖像確定為直接模式序列0參考圖像;并且計算B圖像的直接模式運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,該方法包括如下步驟如果在直接模式序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量,則將相同位置塊的序列1運動矢量用作為運動量以計算直接模式運動矢量;將相同位置塊的序列1運動矢量所指向的參考圖像確定為直接模式序列0參考圖像;并且計算B圖像的直接模式運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,該方法包括如下步驟將最新解碼的圖像設定為直接模式序列1參考圖像,對直接模式序列1參考圖像中的相同位置塊的運動矢量進行縮放,以得出序列0運動矢量MVF和序列1運動矢量MVB,并且計算B圖像的直接模式運動矢量。在傳統(tǒng)方法中,將具有序列1預測的索引0的圖像定義為直接模式序列1參考圖像。當在B圖像和具有索引0的圖像之間解碼不同的圖像時,必須保持具有索引0的圖像的運動信息和參考圖像信息,這導致使用附加的存儲器。然而,本方法能夠避免使用附加的存儲器。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,該方法包括如下步驟如果直接模式序列1參考圖像在時間上超前于B圖像,則對直接模式序列1參考圖像中的相同位置塊的運動矢量進行縮放,以得到序列0運動矢量MVF和序列1運動矢量MVB,并且計算B圖像的直接模式運動矢量。
優(yōu)選地,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則按照下面的公式計算B圖像的直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示在直接模式序列1參考圖像中的相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算B圖像的直接模式運動矢量MVF和MVBMVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD或者Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考圖像中的相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i
或者Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于場模式,序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于場模式,序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i+TDD)×MV/TDD或者Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于幀模式,序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中只用序列1參考幀的場1中的相同位置塊的運動信息來計算直接模式運動矢量MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1或者Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,MV1表示直接模式序列1參考幀的場1中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于幀模式,序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算直接模式運動矢量MVF=-TDB×MV1/TDD,1MVB=-(TDB,+TDD,1)×MV1/TDD,1或者Z=-TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,MV1表示直接模式序列1參考幀的場1中相同位置塊的運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,該方法包括如下步驟如果直接模式序列0參考圖像和序列1參考圖像均在時間上落后于B圖像,則對直接模式序列1參考圖像中的相同位置塊的運動矢量進行縮放,以得到序列0運動矢量MVF和序列1運動矢量MVB,并且計算B圖像的直接模式運動矢量。
優(yōu)選地,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算B圖像的直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考圖像中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊都處于幀模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則按照下面的公式計算B圖像的直接模式運動矢量MVF和MVBMVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD或者Z=-TDB×256/TDDMVF=(Z×MV+128)>>8
W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考圖像中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊都處于場模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,iMVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊和序列1參考圖像的相同位置宏塊都處于場模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i或者Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于場模式,序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于場模式,序列1參考圖像的相同位置宏塊處于幀模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i+TDD)×MV/TDD或者Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于幀模式,而序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上落后于序列1參考圖像,則由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場0中的相同位置塊的運動信息來計算直接模式運動矢量MVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0或者Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,MV0表示直接模式序列1參考幀的場0中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于幀模式,而序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上超前于序列1參考圖像,則由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場0中的相同位置塊的運動信息來計算直接模式運動矢量MVF=-TDB×MV0/TDD,0MVB=-(TDB+TDD,0)×MV0/TDD,0或者Z=-TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,MV0表示直接模式序列1參考幀的場0中相同位置塊的運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,該方法包括如下步驟為圖像間時間距離值指定符號,與直接模式的序列0和序列1參考圖像的位置無關地,對直接模式序列1參考圖像中相同位置塊的運動矢量進行縮放,以得到序列0運動矢量MVF和序列1運動矢量MVB,并且計算B圖像的直接模式運動矢量。
優(yōu)選地,上述步驟可以包括如下步驟如果B圖像宏塊和序列1參考圖像的相同位置宏塊都處于幀模式,則按照下面的公式計算B圖像的直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,TDD表示序列1參考幀和序列0參考幀之間的時間距離,如果從序列1參考幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,MV表示直接模式序列1參考圖像中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像宏塊和序列1參考圖像的相同位置宏塊都處于場模式,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,如果從B場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD,i表示序列1參考場和序列0參考場之間的時間距離,如果從序列1參考場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于場模式,而序列1參考圖像的相同位置宏塊處于幀模式,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,如果從B場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD表示序列1參考幀和序列0參考幀之間的時間距離,如果從序列1參考幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于幀模式,序列1參考圖像的相同位置宏塊處于場模式,而序列1參考圖像在時間上落后于B圖像,則由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0或者Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,如果從序列1參考幀的場0進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MV0表示直接模式序列1參考幀的場0中相同位置塊的運動矢量。
另外,上述步驟可以包括如下步驟如果B圖像的宏塊處于幀模式,序列1參考圖像的相同位置宏塊處于場模式,而直接模式序列0參考圖像在時間上超前于所述的B圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1或者Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,如果從序列1參考幀的場1進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MV1表示直接模式序列1參考幀的場1中相同位置塊的運動矢量。
根據(jù)本發(fā)明的另外一個方面,提供了一種在運動圖像編碼系統(tǒng)中,用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量,該方法包括如下步驟如果直接模式序列1參考圖像的相同位置宏塊處于幀內模式,則基于空間冗余,從所要編碼的B圖像的宏塊的相鄰塊中,預測和計算序列0和序列1參考圖像和運動矢量,并且計算B圖像的直接模式運動矢量。
優(yōu)選地,上述步驟可以包括如下步驟如果所要編碼的所述宏塊的相鄰塊A,B和C涉及不同的參考圖像,則選擇具有最小索引的參考圖像作為各個序列的參考圖像。
另外,上述步驟可以包括如下步驟如果所要編碼的所述宏塊的相鄰塊中,兩個或多個相鄰塊涉及具有相同索引的參考圖像,則選擇該參考圖像作為各個序列的參考圖像。
另外,上述步驟可以包括如下步驟如果所要編碼的所述宏塊的相鄰塊A,B和C處于幀內模式,則將其序列0和序列1運動矢量設定為0;在相鄰塊中,選擇具有和各個序列的參考圖像的時間位置相同方向的運動矢量;并且通過中值操作,獲得各個序列的運動矢量,或者如果相鄰塊具有方向相同的兩個運動矢量,則從該塊的兩個運動矢量中僅選擇一個,并且通過包含所選擇的運動矢量在內的中值操作,獲得各個序列的運動矢量。
另外,上述步驟可以包括如下步驟如果不能獲得各個序列模式的有效參考圖像索引,則將序列0和序列1參考圖像索引指定為0,并且將各個序列模式的運動矢量設定為0。


附圖幫助更好地理解本發(fā)明,并在此結合構成本申請的一部分,

本發(fā)明的實施例并和說明書一起解釋本發(fā)明的原理,附圖中圖1a到1c顯示的是在傳統(tǒng)的IBBBP模式中,直接模式的序列1參考圖像;圖2a到2c顯示的是在普通的IBBB模式中,直接模式的序列1參考圖像;圖3a到3h顯示的是直接模式序列1參考圖像在時間上落后于B圖像時的情況(L0 MV序列0運動矢量,L1 MV序列1運動矢量);圖4a到4h顯示的是直接模式序列1參考圖像在時間上超前于B圖像時的情況(L0 MV序列0運動矢量,L1 MV序列1運動矢量);圖5顯示的是在考慮普通的空間冗余時,使用相鄰塊A,B和C的運動矢量的塊E運動矢量預測;圖6a到6c顯示的是當B圖像的宏塊和直接模式序列1參考圖像的相同位置宏塊均處于幀模式,并且序列1參考圖像在時間上落后于B圖像時的情況;圖7a到7d顯示的是當B圖像的宏塊和直接模式序列1參考圖像的相同位置宏塊均處于場模式,并且序列1參考圖像在時間上落后于B圖像時的情況;圖8a到8c顯示的是當B圖像的宏塊處于場模式,直接模式序列1參考圖像的相同位置宏塊處于幀模式,并且序列1參考圖像在時間上落后于B圖像時的情況;圖9a到9c顯示的是當B圖像的宏塊處于幀模式,直接模式序列1參考圖像的相同位置宏塊處于場模式,并且序列1參考圖像在時間上落后于B圖像時的情況;圖10a到10b顯示的是當B圖像的宏塊和直接模式序列1參考圖像的相同位置宏塊均處于幀模式,并且序列1參考圖像在時間上超前于B圖像時的情況;圖11a到11d顯示的是當B圖像的宏塊和直接模式序列1參考圖像的相同位置宏塊均處于場模式,并且序列1參考圖像在時間上超前于B圖像時的情況;圖12a到12b顯示的是當B圖像的宏塊處于場模式,普通直接模式序列1參考圖像的相同位置宏塊處于幀模式,并且序列1參考圖像在時間上超前于B圖像時的情況;圖13a到13c顯示的是當B圖像的宏塊處于幀模式,普通直接模式序列1參考圖像的相同位置宏塊處于場模式,并且序列1參考圖像在時間上超前于B圖像時的情況。
優(yōu)選實施例詳細說明本發(fā)明提出了一種當直接模式序列1參考圖像中的相同位置宏塊處于幀內模式時,用于計算直接模式運動矢量的方法,以及在序列1參考圖像在時間上落后于B圖像的情況下,和在序列1參考圖像在時間上超前于B圖像的情況下,用于計算直接模式運動矢量的方法。
本發(fā)明還提出了一種與直接模式序列0和序列1參考圖像的位置無關地計算直接模式運動矢量的方法,其通過為圖像間時間距離值指定符號而簡化了計算直接模式運動矢量的算法。
另一方面,在圖像的級別上進行幀模式和場模式的轉換,從而能夠將B圖像和序列1參考圖像編碼成為幀模式或者場模式。結果,B圖像的宏塊和序列1參考圖像的相同位置宏塊具有四種類型的幀/場編碼組合。
序列1參考圖像的相同位置宏塊處于幀內模式的情況如圖3f和4f所示,不管參考圖像的時間位置,直接模式序列1參考圖像中的相同位置宏塊可以處于幀內模式。由于在此模式下的宏塊沒有運動信息,所以傳統(tǒng)的方法只是簡單地將直接模式運動矢量設置為0,而將序列0參考圖像定義為最新解碼的圖像。然而,傳統(tǒng)的方法不能保證很高的編碼效率。因此,本發(fā)明基于空間冗余,從所要編碼的B圖像的宏塊的相鄰塊中,對序列0和序列1參考圖像和運動矢量進行預測和計算。
以下面的方式獲得各個序列模式的參考圖像索引。圖5顯示的是在考慮普通的空間冗余時,使用相鄰塊A,B和C的塊E運動矢量預測。
——如果相鄰塊A,B和C具有不同的參考圖像索引,則將參考圖像索引中最小的一個確定為直接模式參考圖像索引。
——如果相鄰塊中的兩個具有相同的參考圖像索引,則將此索引確定為直接模式參考圖像索引。
——如果所有的相鄰塊具有相同的參考圖像索引,則將此索引確定為直接模式參考圖像索引。
另外,通過下面的運動矢量預測而獲得各個序列模式的運動矢量。此時,如果相鄰塊A、B和C中的任何一個處于幀內模式,則將其序列0和序列1運動矢量設定為0。
——從相鄰塊中,選擇具有與如上得到的各個序列模式的參考圖像的時間位置方向相同的運動矢量,并且通過中值操作獲得各個序列模式的運動矢量。
——如果相鄰塊具有方向相同的兩個運動矢量,則在該塊中僅選擇兩個運動矢量中的一個,并且進行中值操作。
另一方面,如果不能從相鄰塊中得到任何一個有效的序列0和序列1參考圖像索引,則將其設定為0,并且將各個序列模式的運動矢量設定為0。
直接模式序列1參考圖像時間上落后于B圖像第1種情況B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于幀模式如圖3a到3h所示,序列1參考圖像的相同位置塊可以具有一個運動矢量或者兩個運動矢量。在本發(fā)明中,如果相同位置塊具有兩個運動矢量,則選擇兩個運動矢量中的一個(L0 MV或者L1 MV),并且由所選擇的運動矢量得到直接模式運動矢量(下文中根據(jù)選擇L0MV(序列0運動矢量)的情況進行描述)。
因此,可以分別將圖3a和3c簡化為圖6a,將圖3b,3d和3e簡化為圖6c,將圖3g和3h簡化為圖6b。
如果直接模式序列0參考圖像和序列1參考圖像分別在時間上超前于或者落后于B圖像(圖6a),或者如果直接模式的序列0和序列1參考圖像在時間上都落后于B圖像,且序列0參考圖像在時間上落后于序列1參考圖像(圖6b),則按照下面的公式計算直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離。
為了方便,對直接模式運動矢量MVF和MVB的計算結果進行位操作,則上述公式表示為Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8如果直接模式序列0和序列1參考圖像均在時間上落后于B圖像,而序列0參考圖像在時間上超前于序列1參考圖像(圖6c),則按照下面的公式計算直接模式運動矢量MVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD此公式可以表示如下Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8第2種情況B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于場模式圖7a到7d顯示的是B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于場模式的情況。由相同奇偶性的序列1參考場中的相同位置塊的運動矢量,得到B圖像的宏塊的各個運動矢量。
如果直接模式序列0和序列1參考圖像分別在時間上超前或者落后于B圖像(圖7a),或者如果直接模式序列0和序列1參考圖像在時間上均落后于B圖像,而序列0參考圖像在時間上落后于序列1參考圖像(圖7b),則按照下面的公式計算B幀的各個場i的直接模式序列0和序列1運動矢量MVF,i和MVB,i(i=0表示第1個場,i=1表示第2個場)MVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i其中,MVi表示在序列1參考幀中,場i的相同位置塊的運動矢量,TDB,i表示當前B場和序列0參考場之間的時間距離,而TDD,i表示序列1參考場和序列0參考場之間的時間距離。
上面的公式可以表示如下Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256MVB,i=(W×MVi+128)>>8如果,因為序列1參考幀中的場i的相同位置塊的運動矢量指向一個在時間上落后于B圖像的幀中的場,所以直接模式序列0和序列1參考圖像均在時間上落后于B圖像,且序列0參考圖像在時間上超前于序列1參考圖像(圖7c和7d),則按照下面的公式計算直接模式序列0和序列1運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i上面的公式可以表示如下Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8第3種情況B圖像的宏塊處于場模式,而序列1參考圖像的相同位置宏塊處于幀模式圖8a到8c顯示的是B圖像的宏塊處于場模式,而序列1參考圖像的相同位置宏塊處于幀模式的情況。此處,設當前宏塊的縱坐標為ycurrent,設序列1參考圖像的相同位置宏塊的縱坐標為yco-located,在兩個坐標之間建立yco-located=2×ycurrent的關系。另外,在相同奇偶性的序列0和序列1參考幀中分別出現(xiàn)序列0和序列1參考場。
如果直接模式序列0和序列1參考圖像分別在時間上超前于和落后于B圖像(圖8a),或者如果直接模式序列0和序列1參考圖像在時間上均落后于B圖像,且序列0參考圖像在時間上落后于序列1參考圖像(圖8b),則按照下面的公式計算B幀的各個場i的直接模式序列0和序列1運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD上面的公式可以表示如下Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8如果,由于序列1參考圖像中的相同位置塊的運動矢量指向一個在時間上落后于B圖像的幀,所以直接模式序列0和序列1參考圖像均在時間上落后于B圖像,且序列0參考圖像在時間上超前于序列1參考圖像(圖8c),則按照下面的公式計算B幀各個場i的直接模式序列0和序列1運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i-TDD)×MV/TDD上面的公式可以表示如下Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,而MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
第4種情況B圖像宏塊處于幀模式,而序列1參考圖像的相同位置宏塊處于場模式圖9a到9c顯示的是B圖像宏塊處于幀模式,而序列1參考圖像的相同位置宏塊處于場模式的情況。此處,設當前宏塊的縱坐標為ycurrent,設序列1參考圖像的相同位置宏塊的縱坐標為yco-located,在兩個坐標之間建立yco-located=y(tǒng)current/2的關系。另外,由于序列1參考幀的場0在時間上比場1更接近于B圖像,所以使用場0的相同位置塊的運動信息來計算直接模式運動矢量。
如果直接模式序列0和序列1參考圖像分別在時間上超前于和落后于B圖像(圖9a),或者如果直接模式序列0和序列1參考圖像在時間上均落后于B圖像,且序列0參考圖像在時間上落后于序列1參考圖像(圖9b),則按照下面的公式計算B幀的直接模式序列0和序列1運動矢量MVF和MVBMVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0上面的公式可以表示如下Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8如果,由于序列1參考幀的場0的相同位置塊的運動矢量指向在時間上落后于B圖像的幀中的一個場,所以直接模式序列0和序列1參考圖像均在時間上落后于B圖像,且序列0參考圖像在時間上超前于序列1參考圖像(圖9c),則按照下面的公式計算B幀各個場i的直接模式序列0和序列1運動矢量MVF和MVBMVF=-TDB×MV0/TDD,0MVB=-(TDB+TDD,0)×MV0/TDD,0上面的公式可以表示如下Z=-TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8
其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,而MV0表示直接模式序列1參考幀的場0中相同位置塊的運動矢量。
直接模式序列1參考圖像在時間上超前于B圖像在此情況下,序列0和序列1參考圖像均在時間上超前于B圖像。
第1種情況B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于幀模式如圖4a到4h所示,序列1參考圖像中的相同位置塊可以具有一個或者兩個運動矢量。在本發(fā)明中,如果相同位置塊具有兩個運動矢量,則選擇兩個運動矢量中的一個(L0 MV或者L1 MV),并且由所選擇的運動矢量得到直接模式運動矢量(在下文中,基于選擇了L0 MV(序列0運動矢量)的情況進行描述)。
因此,可以分別將圖4a,4c,4e,4g和4h簡化為圖10a,將圖4b和4d簡化為圖10b。
如果直接模式序列0參考圖像在時間上超前于直接模式序列1參考圖像,則按照下面的公式計算直接模式運動矢量MVF和MVB(圖10a)MVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考圖像中相同位置塊的運動矢量。
上面的公式可以表示如下Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256MVB=(W×MV+128)>>8
如果序列0參考圖像在時間上落后于序列1參考圖像,則按照如下公式計算直接模式運動矢量MVF和MVB(圖10b)MVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD該公式可以表示如下Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考圖像中相同位置塊的運動矢量。
第2種情況B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于場模式如果直接模式序列0參考圖像在時間上超前于直接模式序列1參考圖像,則按照下面的公式計算B幀各個場i的直接模式序列0和序列1運動矢量MVF,i和MVB,I(圖11a和11b)MVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i上面的公式可以表示如下Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256MVB,i=(W×MVi+128)>>8其中TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MV;表示直接模式序列1參考場中相同位置塊的運動矢量。
如果,因為序列1參考幀中的場i的相同位置塊的運動矢量指向時間上落后的幀中的一個場,所以序列0參考圖像在時間上超前于序列1參考圖像,則按照如下公式計算直接模式序列0和序列1運動矢量MVF,i和MVB,i(圖11c和11d)MVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i上面的公式可以表示如下Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
第3種情況B圖像的宏塊處于場模式,而序列1參考圖像的相同位置宏塊處于幀模式如果直接模式序列0參考圖像在時間上超前于直接模式序列1參考圖像,則按照下面的公式計算B幀各個場i的直接模式序列0和序列1運動矢量MVF,i和MVB,I(圖12a)MVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD上面的公式可以表示如下Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
如果,因為序列1參考幀中的相同位置塊的運動矢量指向一個時間上落后的幀,所以序列0參考圖像在時間上落后于序列1參考圖像,則按照如下公式計算B幀各個場i的直接模式序列0和序列1運動矢量MVF,i和MVB,i(圖12b)
MVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i+TDD)×MV/TDD上面的公式可以表示如下Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
第4種情況B圖像的宏塊處于幀模式,而序列1參考圖像的相同位置宏塊處于場模式因為序列1參考幀的場1 f1比場0 f0在時間上更接近于B圖像,所以使用場1 f1的相同位置塊的運動信息來計算直接模式運動矢量。
如果直接模式序列0參考圖像在時間上超前于直接模式序列1參考圖像,則按照下面的公式計算B幀各個場i的直接模式序列0和序列1運動矢量MVF和MVB(圖13a)MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1上面的公式可以表示如下Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,1表示序列1參考圖像的場1和序列0參考場之間的時間距離,而MV1表示直接模式序列1參考幀的場1中相同位置塊的運動矢量。
如果,因為序列1參考幀的場1 f1的相同位置塊的運動矢量指向時間上落后的幀中的一個場,所以序列0參考圖像在時間上落后于序列1參考圖像,則按照下面的公式計算直接模式序列0和序列1運動矢量MVF和MVB(圖13b)MVF=-TDB×MV1/TDD,1MVB=-(TDB+TDD,1)×MV1/TDD,1上面的公式可以表示如下Z=-TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,1表示序列1參考圖像的場1和序列0參考場之間的時間距離,而MV1表示直接模式序列1參考幀的場1中相同位置塊的運動矢量。
通過為圖像間時間距離值指定符號而計算直接模式運動矢量的情況對于直接模式序列1參考圖像在時間上超前或者落后于B圖像的情況,對各種情況均給出了兩種類型的算法。此算法可以簡單地表示為向圖像間時間距離值指定符號,如下所示。
第1種情況B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于幀模式如果B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于幀模式,則按照下面的公式計算直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,TDD表示序列1參考幀和序列0參考幀之間的時間距離,如果從序列1參考幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,MV表示直接模式序列1參考圖像中相同位置塊的運動矢量。
第2種情況B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于場模式如果B圖像的宏塊和序列1參考圖像的相同位置宏塊均處于場模式,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,如果從B場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD,i表示序列1參考場和序列0參考場之間的時間距離,如果從序列1參考場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MVi表示直接模式序列1參考場中相同位置塊的運動矢量。
第3種情況B圖像的宏塊處于場模式,序列1參考圖像的相同位置宏塊處于幀模式如果B圖像的宏塊處于場模式,而序列1參考圖像的相同位置宏塊處于幀模式,則按照下面的公式計算B幀各個場的直接模式運動矢量MVF,i和MVB,i;MVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,如果從B場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD表示序列1參考幀和序列0參考幀之間的時間距離,如果從序列1參考幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,MV表示直接模式序列1參考幀中相同位置塊的運動矢量。
第4種情況B圖像的宏塊處于幀模式,序列1參考圖像的相同位置宏塊處于場模式如果B圖像的宏塊處于幀模式,而序列1參考圖像的相同位置宏塊處于場模式,且序列1參考圖像在時間上落后于B圖像,序列1參考幀的場0比場1在時間上更接近于B圖像,則使用場0的相同位置塊的運動信息來計算直接模式運動矢量。從而,由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算直接模式運動矢量MVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0或者Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,如果從序列1參考幀的場0進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MV0表示直接模式序列1參考幀的場0中相同位置塊的運動矢量。
如果序列1參考圖像在時間上超前于B圖像,序列1參考幀的場1比其場0在時間上更接近于B圖像,則使用場1的相同位置塊的運動信息來計算直接模式運動矢量。從而,由下面的公式計算B幀的直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1或者Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,如果從序列1參考幀的場1進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MV1表示直接模式序列1參考幀的場1中相同位置塊的運動矢量。
從上面的描述中可以明晰,本發(fā)明提供了一種用于計算B(雙向預測)圖像的直接模式運動矢量的方法,這里的B圖像是在下一代運動圖像壓縮技術中定義的。提出了一種用于計算B圖像的直接模式運動矢量的技術,以提高將直接模式選擇為宏塊預測模式的概率,從而提高了B圖像編碼效率。
盡管說明性地公布了本發(fā)明的優(yōu)選實施例,但是對于本領域技術人員而言,在不脫離所附權利要求書中限定的精神或本質特征的情況下,顯然可以有各種替換、改進和變化。
權利要求
1.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟選擇直接模式的序列1參考圖像中的相同位置塊的任何一個運動矢量作為運動矢量以得到所述直接模式運動矢量,而不論所述相同位置塊的所述運動矢量的模式(序列0模式和/或序列1模式),將所選擇的運動矢量所指向的參考圖像確定為所述直接模式的序列0參考圖像,并計算所述B圖像的所述直接模式運動矢量。
2.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量,則使用所述的序列1運動矢量作為運動矢量以得到所述直接模式運動矢量,將所述序列1運動矢量所指向的參考圖像確定為所述直接模式的序列0參考圖像,并計算所述B圖像的所述直接模式運動矢量。
3.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式的序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量,則認為所述的相同位置塊具有零運動,將在時間上緊接所述B圖像之前的解碼圖像確定為所述直接模式的序列0參考圖像,并得出所述B圖像的所述直接模式運動矢量。
4.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式的序列1參考圖像中的相同位置塊僅具有一個序列1運動矢量,則使用所述相同位置塊的所述序列1運動矢量作為運動矢量以得到所述直接模式運動矢量,將在時間上緊接所述B圖像之前的解碼圖像確定為所述直接模式的序列0參考圖像,并得出所述B圖像的所述直接模式運動矢量。
5.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式的序列1參考圖像中的相同位置塊具有兩個運動矢量,則選擇所述兩個運動矢量中的任意一個(序列0運動矢量或者序列1運動矢量),并由所選擇的運動矢量得出所述B圖像的所述直接模式運動矢量。
6.根據(jù)權利要求5所述的方法,其中,所述的步驟包括如下步驟無論時間距離的大小,無條件地選擇所述的序列0運動矢量作為運動矢量來得出所述直接模式運動矢量,將所述的序列0運動矢量所指向的參考圖像確定為所述直接模式的序列0參考圖像,并且得出所述B圖像的所述直接模式運動矢量。
7.根據(jù)權利要求5所述的方法,其中,所述的步驟包括如下步驟從所述的序列0和序列1運動矢量中,選擇一個指向在時間上更接近于所述直接模式的所述序列1參考圖像的圖像的運動矢量,作為運動矢量來得出所述直接模式運動矢量,如果所述的兩個運動矢量指向同一個參考圖像,則選擇所述的序列0運動矢量作為用于計算所述直接模式運動矢量的運動矢量,將所選擇的運動矢量指向的參考圖像確定為所述直接模式的序列0參考圖像,并且計算所述B圖像的所述直接模式運動矢量。
8.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟將最新解碼的圖像設定為直接模式的序列1參考圖像,對所述直接模式序列1參考圖像中的相同位置塊的運動矢量進行縮放,以得出序列0運動矢量MVF和序列1運動矢量MVB,并且計算所述B圖像的所述直接模式運動矢量。
9.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式的序列1參考圖像在時間上超前于所述的B圖像,則對所述直接模式序列1參考圖像中的相同位置塊的運動矢量進行縮放,以得出序列0運動矢量MVF和序列1運動矢量MVB,并且計算所述B圖像的所述直接模式運動矢量。
10.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于幀模式,且所述直接模式的序列0參考圖像在時間上超前于所述的序列1參考圖像,則按照下面的公式計算所述B圖像的所述直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考圖像中,所述相同位置塊的運動矢量。
11.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊處于幀模式,且所述直接模式的序列0參考圖像在時間上落后于所述的序列1參考圖像,則按照下面的公式計算所述B圖像的所述直接模式運動矢量MVF和MVBMVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD或者Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考圖像中,所述相同位置塊的運動矢量。
12.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于場模式,且所述直接模式的序列0參考圖像在時間上超前于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示所述直接模式的序列1參考場中相同位置塊的運動矢量。
13.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于場模式,且所述直接模式的序列0參考圖像在時間上落后于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i或者Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示所述直接模式的序列1參考場中,相同位置塊的運動矢量。
14.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于場模式,而所述序列1參考圖像的相同位置宏塊處于幀模式,且所述直接模式的序列0參考圖像在時間上超前于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考幀中相同位置塊的運動矢量。
15.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于場模式,所述序列1參考圖像的相同位置宏塊處于幀模式,且所述直接模式的序列0參考圖像在時間上落后于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i+TDD)×MV/TDD或者Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考幀中相同位置塊的運動矢量。
16,根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于幀模式,所述序列1參考圖像的相同位置宏塊處于場模式,且所述直接模式的序列0參考圖像在時間上超前于所述的序列1參考圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1或者Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,MV1表示所述直接模式的序列1參考幀的場1中相同位置塊的運動矢量。
17.根據(jù)權利要求9所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于幀模式,所述序列1參考圖像的相同位置宏塊處于場模式,且所述直接模式的序列0參考圖像在時間上落后于所述的序列1參考圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=-TDB×MV1/TDD,1MVB=-(TDB+TDD,1)×MV1/TDD,1或者Z=-TDB×256/TDD,1-MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,MV1表示所述直接模式的序列1參考幀的場1中相同位置塊的運動矢量。
18.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式的序列0參考圖像和序列1參考圖像均在時間上落后于所述的B圖像,則對所述直接模式的所述序列1參考圖像中的相同位置塊的運動矢量進行縮放,以得出序列0運動矢量MVF和序列1運動矢量MVB,并且計算所述B圖像的所述直接模式運動矢量。
19,根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于幀模式,且所述直接模式的所述序列0參考圖像在時間上落后于所述的序列1參考圖像,則按照下面的公式計算所述B圖像的所述直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考圖像中,所述相同位置塊的運動矢量。
20.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于幀模式,且所述直接模式的所述序列0參考圖像在時間上超前于所述的序列1參考圖像,則按照下面的公式計算所述B圖像的所述直接模式運動矢量MVF和MVBMVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD或者Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考圖像中,所述相同位置塊的運動矢量。
21.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊處于場模式,且所述直接模式的所述序列0參考圖像在時間上落后于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中, TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示所述直接模式的序列1參考場中,相同位置塊的運動矢量。
22.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于場模式,且所述直接模式的所述序列0參考圖像在時間上超前于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i或者Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD,i表示序列1參考場和序列0參考場之間的時間距離,MVi表示所述直接模式的序列1參考場中,相同位置塊的運動矢量。
23.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于場模式,所述序列1參考圖像的相同位置宏塊處于幀模式,且所述直接模式的所述序列0參考圖像在時間上落后于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考幀中,相同位置塊的運動矢量。
24.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于場模式,而所述序列1參考圖像的相同位置宏塊處于幀模式,且所述直接模式的所述序列0參考圖像在時間上超前于所述的序列1參考圖像,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i+TDD)×MV/TDD或者Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,TDD表示序列1參考幀和序列0參考幀之間的時間距離,MV表示所述直接模式的序列1參考幀中,相同位置塊的運動矢量。
25.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于幀模式,所述序列1參考圖像的相同位置宏塊處于場模式,且所述直接模式的所述序列0參考圖像在時間上落后于所述的序列1參考圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0或者Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,MV0表示所述直接模式的序列1參考幀的場0中,相同位置塊的運動矢量。
26.根據(jù)權利要求18所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于幀模式,所述序列1參考圖像的相同位置宏塊處于場模式,且所述直接模式的所述序列0參考圖像在時間上超前于所述的序列1參考圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場0中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=-TDB×MV0/TDD,0MVB=-(TDB+TDD,0)×MV0/TDD,0或者Z=-TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,MV0表示所述直接模式的序列1參考幀的場0中,相同位置塊的運動矢量。
27.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟為圖像間的時間距離值指定符號,不論直接模式的序列0和序列1參考圖像的位置,對直接模式的序列1參考圖像中相同位置塊的運動矢量進行縮放,以得出序列0運動矢量MVF和序列1運動矢量MVB,并且計算所述B圖像的所述直接模式運動矢量。
28.根據(jù)權利要求27所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于幀模式,則按照下面的公式計算所述B圖像的所述直接模式運動矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,TDD表示序列1參考幀和序列0參考幀之間的時間距離,如果從序列1參考幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,MV表示所述直接模式的序列1參考圖像中,所述相同位置塊的運動矢量。
29.根據(jù)權利要求27所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊和所述序列1參考圖像的相同位置宏塊都處于場模式,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,如果從B場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD,i表示序列1參考場和序列0參考場之間的時間距離,如果從序列1參考場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MVi表示所述直接模式的序列1參考場中,相同位置塊的運動矢量。
30.根據(jù)權利要求27所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于場模式,所述序列1參考圖像的相同位置宏塊處于幀模式,則按照下面的公式計算B幀各個場i的所述直接模式運動矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示當前B場和序列0參考場之間的時間距離,如果從B場進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,TDD表示序列1參考幀和序列0參考幀之間的時間距離,如果從序列1參考幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,MV表示所述直接模式的序列1參考幀中,相同位置塊的運動矢量。
31.根據(jù)權利要求27所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于幀模式,而所述序列1參考圖像的相同位置宏塊處于場模式,且所述序列1參考圖像在時間上落后于所述的B圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0或者Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,TDD,0表示序列1參考幀的場0和序列0參考場之間的時間距離,如果從序列1參考幀的場0進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MV0表示所述直接模式的序列1參考幀的場0中,相同位置塊的運動矢量。
32.根據(jù)權利要求27所述的方法,其中,所述的步驟包括如下步驟如果所述B圖像的宏塊處于幀模式,而所述序列1參考圖像的相同位置宏塊處于場模式,且所述直接模式的所述序列1參考圖像在時間上超前于所述的B圖像,則由下面的公式計算B幀的所述直接模式運動矢量MVF和MVB,其中使用序列1參考幀的場1中的相同位置塊的運動信息來計算所述的直接模式運動矢量MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1或者Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示當前B幀和序列0參考幀之間的時間距離,如果從B幀進行測量,則指定為正(+)號,如果從序列0參考幀進行測量,則指定為負(-)號,TDD,1表示序列1參考幀的場1和序列0參考場之間的時間距離,如果從序列1參考幀的場1進行測量,則指定為正(+)號,如果從序列0參考場進行測量,則指定為負(-)號,MV1表示所述直接模式的序列1參考幀的場1中,相同位置塊的運動矢量。
33.在運動圖像編碼系統(tǒng)中,一種計算B(雙向預測)圖像的直接模式運動矢量,以提取B圖像的直接模式運動矢量的方法,包括如下步驟如果直接模式的序列1參考圖像中的相同位置塊處于幀內模式,則基于空間冗余,由所要編碼的所述B圖像的宏塊的相鄰塊,預測和計算序列0和序列1參考圖像和運動矢量,并且計算所述B圖像的所述直接模式運動矢量。
34.根據(jù)權利要求33所述的方法,其中,所述的步驟包括,如果所要編碼的所述宏塊的相鄰塊A、B和C涉及不同的參考圖像,則選擇具有最小索引的參考圖像作為各個序列的所述參考圖像。
35.根據(jù)權利要求33所述的方法,其中,所述的步驟包括,如果所要編碼的所述宏塊的相鄰塊中,兩個或者更多的相鄰塊涉及具有相同索引的參考圖像,則選擇該參考圖像作為各個序列的所述參考圖像。
36.根據(jù)權利要求33所述的方法,其中,所述的步驟包括,如果所要編碼的所述宏塊的相鄰塊A、B和C中任何一個處于幀內模式,則將其序列0和序列1運動矢量設定為0,從相鄰塊中,選擇與各個序列的所述參考圖像的時間位置具有相同方向的運動矢量,并且通過中值操作,獲得各個序列的所述運動矢量,或者,如果相鄰塊具有方向相同的兩個運動矢量,則僅從該塊中選擇兩個運動矢量中的一個,并且通過包含所選擇的運動矢量在內的中值操作,獲得各個序列的所述運動矢量。
37.根據(jù)權利要求33所述的方法,其中,所述的步驟包括,如果不能獲得各個序列模式的有效參考圖像索引,則將序列0和序列1參考圖像索引指定為0,并且將各個序列模式的所述運動矢量設定為0。
全文摘要
在運動圖像編碼系統(tǒng)中,一種用于計算B(雙向預測)圖像的直接模式運動矢量的方法,以提取B圖像的直接模式運動矢量。當直接模式序列1參考圖像在時間上超前或者落后于B圖像時,則不論相同位置塊的運動矢量的模式(序列0模式和/或序列1模式),將序列1參考圖像中的相同位置塊的任何一個運動矢量確定為運動矢量,以得到直接模式運動矢量。對所確定的運動矢量進行縮放,以得到序列0運動矢量MV
文檔編號H04N7/32GK1487748SQ0310162
公開日2004年4月7日 申請日期2003年1月10日 優(yōu)先權日2002年10月4日
發(fā)明者全炳文 申請人:Lg電子株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1