專利名稱:隔行二進制形狀編碼方法和裝置的制作方法
技術領域:
本發(fā)明涉及用來編碼二進制形狀信號的方法和裝置,更具體地,涉及用來編碼隔行的二進制形狀信號的方法和裝置。
代表目標的位置和形狀的二進制形狀信號能夠表達為例如一幀(或一VOP)之內的16×16二進制像素的二進制α塊(BAB),其中每個二進制象素均有一二進制值,例如代表或者是背景像素或者是目標像素的0或255。使用諸如基于上下文算術編碼(CAE)方法的一傳統(tǒng)基于比特圖的形狀編碼方法能夠對BAB編碼。
例如,對于幀內,當前BAB通過使用傳統(tǒng)的幀內(intra)CAE方法來編碼,其中根據從當前幀選擇的一組像素構成的幀內-上下文對當前BAB中的每個像素進行算術地編碼。對于幀間,當前BAB可用幀內CAE或幀間(inter)CAE技術來編碼,據此CAE技術產生少量編碼數據來定。按照幀間-CAE技術,首先計算代表當前BAB和先前幀中包括的每個預定候選BAB之間差值的誤差,然后用運動估算技術找到最近似的候選BAB和運動矢量,其中最近似候選BAB代表在候選的BAB之中的產生最少誤差的一候選BAB,而運動矢量表示當前BAB和最近似候選BAB之間的位移。此后,根據幀間上下文算術地編碼當前BAB中的每個像素,且通過使用例如可變長度編碼(VLC)方案編碼表示該運動矢量與其運動矢量預測值(MVDP)之間的差的運動矢量差(MVD),其中幀間上下文由兩個像素子集構成,一個像素子集選自當前幀之中,而另一個像素子集根據運動矢量從先前幀中選出。需要更詳細的CAE技術和MVD,請參考MPEG-4視頻驗證模型版本7.0,國際標準化組織,運動圖象及相關音頻信息的編碼,ISO/IECJJCL/SC29/WG11 MPEG97/N1642,布里斯托爾,1997年4月。
為進一步增強二進制形狀信號的編碼效率,為每個BAB分配一個表1中列出的模式信號。
表1編碼模式模式1代表BAB的MVD是0,并且能用其最近似候選BAB來代表該BAB,而模式2表示BAB的MVD有一非零值,且能用一最近似候選BAB來代表此BAB。對于模式1的BAB只有模式信號被編碼,而模式2的BAB由模式信號和其MVD來代表。在確定“沒有更新”的過程中,由最近似BAB的每個像素與當前BAB中其相應像素之間的差形成差值BAB,并檢驗差值BAB中包括的4×4像素的任何4×4子塊的誤差是否小于預定閾值,子塊的誤差是例如子塊中絕對像素值之和。如果所有子塊的誤差值等于或小于此閾值,則依據其MVD的值宣布BAB為模1或2。
類似地,如果在BAB中的像素都變?yōu)?時任何4×4子塊的誤差等于或小于閾值,將BAB編碼為“全為0”模式,即模式3。如果在BAB中的像素都變?yōu)?55時任何4×4子塊的誤差等于或小于閾值,則將BAB編碼為“全為255”模式,即模式4。對于模式3或4的BAB,只為BAB編碼模式信號。當BAB不屬于模式1到4中的任何一個時,采用“幀內-CAE”或“幀間-CAE”來編碼BAB,其中模式5的BAB由模式信號和幀內-CAE編碼的BAB數據來代表。模式6的BAB由模式信號和幀間-CAE編碼的BAB數據來表示;而模式7的BAB由模式信號、幀間-CAE編碼的BAB數據和MVD來表示。
在MPEG-4中,已在逐個幀的基礎上而不是在逐個場的基礎上編碼二進制形狀信號中提出上述模式確定方案,但其中沒有公開能夠對二進制形狀信號進行編碼的方法及裝置。在逐幀的基礎上編碼二進制形狀信號時,如果一幀或VOP內目標的運動相當大則會降低編碼效率。參照
圖1A到1C,說明了分別代表場中和幀中的具有較大運動的目標。
圖1A表示頂部場;圖1B表示底部場;而圖1C表示二進制形狀信號中的一幀,其中這些場和該幀中的每個方塊是一個像素,一陰影方塊為目標中的一像素,而一空白方塊為背景中的一像素。通過一行一行地排列每個場行構成該幀,也就是例如將頂部場的各行放在具有第0到第(2N-1)行的幀中偶數行處,而將底部場的各行放在幀中奇數行處,每個場有N行,N為正整數。傳統(tǒng)的采用逐行編碼方法的二進制形狀信號編碼技術在逐個幀的基礎上編碼二進制形狀信號。然而,當幀中目標的運動很大時,如圖1A到1C所示,對其空間相關性很低的二進制形狀信號進行編碼會導致很差的編碼效率。
由此可見,已有技術參考文獻沒有公開能夠在一場的基礎之上編碼二進制形狀信號的方法和裝置。
因此,本發(fā)明的主要目的是提供一種用于編碼二進制形狀信號的方法和裝置。
本發(fā)明的另一目的是提供一種用于在逐個場的基礎上編碼二進制形狀信號且能提高編碼效率的方法和裝置。
按照本發(fā)明的一個方面,提供一種編碼二進制形狀信號的目標塊的方法,其中二進制形狀信號包括多個畫面,而每個畫面分為多個M×N各具有第一和第二二進制值中的一個的像素的塊,目標塊代表要編碼的當前畫面的一個塊,M和N分別為正整數;該方法包括下列步驟(a)如果目標塊相對于第一基準塊的誤差不大于預定閾值則確定第一模式為該目標塊的模式,而如果目標塊相對于第二基準塊的誤差不大于此閾值則確定第二模式為該目標塊的模式,各個基準塊有M×N個像素,并且第一和第二基準塊的所有像素分別是第一和第二二進制值;(b)如果在步驟(a)中第一和第二模式都沒有被確定,則相對于當前畫面的一個或多個先前的畫面運動估算和補償此目標塊,由此產生包括一運動矢量的運動矢量信息和一運動補償塊,該運動補償塊包括該目標塊的最近似塊;(c)計算目標塊和最近似塊之間的運動補償誤差(MCE)及該運動矢量和其預測值之間的運動矢量差(MVD);(d)如果MVD不為零則編碼MVD,以便提供編碼的MVD數據;(e)如果MVD等于零且MCE不大于閾值則將第三模式設置為目標塊的模式,而如果MVD不為零且MCE不大于所比較的閾值則將第四模式設置為目標塊的模式;(f)如果在步驟(d)中第三和四模式都沒有確定為目標塊的模式,則產生幀內編碼的數據和幀間編碼的數據,該幀內編碼的數據是通過根據當前畫面的預定像素編碼目標塊的像素而產生的,而該幀間編碼的數據則是根據當前畫面中包括的預設像素和運動補償塊對目標塊的像素進行編碼而提供的;(g)比較幀內編碼的數據的比特數和幀間編碼的數據的比特數;(h)如果幀內編碼的數據的比特數不大于幀間編碼的數據的比特數,則確定第五模式為目標塊的模式;及(i)如果在步驟(h)中沒有確定第五模式,則如果MVD為零將第六模式設置為目標塊的模式,而如果MVD不為零,將第七模式設置為目標塊的模式。
按照本發(fā)明的另一方面,提供一種編碼二進制形狀信號的目標塊的裝置,其中二進制形狀信號包括多個畫面,每個畫面分為各多個M×N具有第一和第二二進制值中的一個的像素的塊,目標塊代表要編碼的當前畫面的一個塊,M和N分別為正整數;該裝置包括模式檢測裝置,對目標塊作出響應,用來如果該目標塊相對于第一和第二基準塊的誤差都不大于預定閾值時分別產生類型1和類型2的第一指示信號,各個基準塊有M×N像素,并且第一和第二基準塊的所有像素分別是第一和第二二進制值;重建裝置,用來重建編碼的二進制形狀信號,由此產生并存儲該重建的二進制形狀信號;運動估算和補償裝置,用來相對于與當前畫面的一個或多個先前畫面相對應的重建的二進制形狀信號來運動估算該目標塊,由此產生運動矢量信息和運動補償塊,該運動矢量信息包括一運動矢量,而該運動補償塊包括該目標塊的最近似塊;模式選擇裝置,用來計算該目標塊和該最近似塊之間的運動補償誤差(MCE),且如果MCE不大于閾值時產生第二指示信號;運動矢量差(MVD)確定裝置,用來計算該運動矢量和其預測值之間的MVD,并編碼該MVD,以產生編碼的MVD數據;編碼裝置,響應于該目標塊、運動補償塊和重建的二進制形狀信號,用來對該目標塊分別進行幀內和幀間編碼,以產生幀內和幀間編碼的數據,由此根據幀內和幀間編碼的數據的比特數選擇幀內和幀間編碼的數據中的一個,并且如果選擇幀內編碼的數據則提供類型3的第三指示信號,如果選擇幀間編碼的數據則提供類型4的第三指示信號;格式化裝置,響應于該MVD、編碼的MVD數據、編碼的數據及指示信號,用來確定該目標塊的模式并根據確定的模式產生編碼的目標塊數據。
根據下面參照附圖給出的對優(yōu)選實施例的說明,本發(fā)明的上述及其它目的和特征將變得顯而易見圖1A、1B及1C分別說明二進制形狀信號的頂部場、底部場和一幀;圖2說明按照本發(fā)明的隔行二進制形狀信號編碼裝置。
圖3表示按照本發(fā)明的場BAB的運動估算過程;及圖4A和4B提供表示按照本發(fā)明的編碼過程的流程圖。
按照本發(fā)明,提供一種用來在逐個畫面的基礎上有效地編碼二進制形狀信號的方法和裝置,其中一個畫面表示一幀場。在本發(fā)明的優(yōu)選實施例中,將一畫面視作一場,將參照在逐個場基礎上編碼二進制形狀信號來說明本發(fā)明,以便適應目標的大量運動。二進制形狀信號包括一先前幀的和一當前幀,將該先前幀分為一先前頂部和一先前底部場。而將該當前幀分為一當前頂部和一當前底部場。按照本發(fā)明的方法和裝置按該先前頂部場、先前底部場、當前頂部場及當前底部場的順序處理這些場。每個場分割為P×Q二進制像素塊,P和Q都是正整數,其中每個塊被稱為頂部場BAB或底部場BAB。在本發(fā)明優(yōu)選實施例中,P和Q都設置為16,而在另一優(yōu)選實施例中,P和Q分別設置為8和16。
參照圖2,說明按照本發(fā)明用于編碼隔行的二進制形狀信號的裝置。當前頂部場BAB數據或當前底部場BAB數據被提供給場BAB模式檢測單元10,其中當前頂部場BAB數據包含當前頂部場BAB的二進制像素數據;而當前底部場BAB數據包含當前底部場BAB的二進制像素數據。在二進制像素數據中,目標和背景像素分別由例如255和0的二進制數來表示。
場BAB模式檢測單元10檢查當前場BAB的編碼模式是否為“全為0”或“全為255”。具體地說,當前場BAB分割為T×S像素,例如4×4像素,T和S都是正整數,其中第一實施例中16×16像素的場BAB在其中包括4×4的子塊,而8×16像素的場BAB包括2×4的子塊。如果當前場BAB的任何子塊與全為0場BAB的子塊之間的誤差小于或等于預定閾值,則類型1的指示信號S1從場BAB模式檢測單元10提供給格式化單元60中的模式確定單元62,所謂類型1表示當前場BAB的編碼模式為“全為0”,其中全為0場BAB是其內每個像素值均為0的場BAB。如果當前場BAB的任何子塊與全為255場BAB的子塊之間的誤差小于或等于預定閾值,則表示當前場BAB的編碼模式是“全為255”的類型2的指示信號S1從場BAB模式檢測單元10提供給模式檢測單元62,其中全為255的場BAB是其每個像素值均為255的場BAB。
如果確定當前場BAB的編碼模式既不是“全為0”也不是“全為255”,則場BAB模式檢測單元10將當前場BAB數據經線L10提供給場BAB模式選擇單元20、運動估算和補償單元30中的運動估算單元32及場重建單元70中的第一多路復用器(MUX)72。還經線L30從運動估算和補償單元30中的運動補償單元34向場BAB模式選擇單元20提供運動補償的場BAB數據。將分別針對當前場BAB對應于頂部場BAB和底部場BAB兩種不同情況來說明運動估算和補償過程。
在場重建單元70中的場存儲器74中,存儲重建的場數據,其中重建的場數據表示有關正好在當前場之前的兩個先前編碼的場的信息。如果當前場BAB是當前頂部場中包含的頂部場BAB,則運動估算單元32經線L70從場存儲器74中提取重建的先前頂部場數據和重建的先前底部場數據;而如果當前場BAB是當前底部場中包含的底部場BAB,則運動估算單元32經線L70從場存儲器74中提取重建的先前底部場數據和重建的當前頂部場數據。當前場BAB數據還經線L10從場BAB模式檢測單元10提供給運動估算單元32。
參照圖3,說明按照本發(fā)明的優(yōu)選實施例的運動估算和補償過程。當前幀100包括當前頂部場110和當前底部場120,而先前幀200包括先前頂部場210和一先前底部場220。
如果當前場BAB是當前頂部場110中包含的頂部場BAB,例如當前頂部場BAB112,則運動估算單元32檢測先前底部場220中的第一先前底部場BAB222,其中第一先前底部場BAB222位于該先前底部場220中與當前頂部場110中當前頂部場BAB112相同的位置。然后在先前底部場220中形成的第一先前底部檢索區(qū)226中以逐個像素為基礎地位移當前頂部場BAB112,其中第一先前底部檢索區(qū)226有包括第一先前底部場222的多個候選場BAB。在各位移處,計算當前頂部場BAB112與相應候選場BAB之間的誤差。
并且然后運動估算單元32檢測先前頂部場210中的先前頂部場BAB212,其中先前頂部場BAB212位于與當前頂部場BAB112相同的位置。然后在前頂部場210中形成的先前頂部檢索區(qū)214中以逐個像素為基礎地位移當前頂部場BAB112,其中先前頂部檢索區(qū)214有包括先前頂部場BAB212的多個候選場BAB。在各位移處,也計算當前頂部場BAB112與相應候選場BAB之間的誤差。
類似地,如果當前場BAB是當前底部場120中包含的底部場BAB,例如當前底部場BAB122,則運動估算單元32檢測當前頂部場110中的當前頂部場BAB114,其中當前頂部場BAB114位于與當前底部場BAB122相同的位置,然后,在當前頂部場110中形成的當前頂部檢索區(qū)116之中以逐個像素為基礎地位移當前底部場BAB122,其中當前頂部檢索區(qū)116有包括當前頂部場BAB114的多個候選場BAB。在各位移處,計算當前底部場BAB122與相應候選場BAB之間的誤差。
且然后運動估算單元32檢測先前底部場220中的先前底部場BAB224,其中先前底部場BAB224位于與當前底部場BAB122相同的位置。然后在先前底部場220中形成的第二先前底部檢索區(qū)228之中以逐個像素為基礎地位移當前底部場BAB122,其中第二先前底部檢索區(qū)228有包括先前底部場BAB224的多個候選場BAB。在各位移處,也計算當前底部場BAB與相應候選場BAB之間的誤差。
如上述,運動估算單元32相對于當前場BAB的兩先前場來執(zhí)行該當前場BAB的運動估算,并選擇產生最小誤差的候選場BAB作為最優(yōu)候選場BAB或最近似場BAB。運動估算單元32的輸出是當前運動矢量和場指示標志,它們經線L34引入運動矢量差值(MVD)確定單元40中的運動矢量存儲器(MV存儲器)42和運動矢量差值計算單元44以及運動補償單元34,其中當前運動矢量表示當前場BAB和最優(yōu)候選場BAB之間的位移,而場指示標志表示最優(yōu)候選場BAB所屬于的場。
運動補償單元34經線L72從場存儲器74提取帶邊場BAB數據,其中帶邊界BAB數據代表最優(yōu)候選場BAB和其周圍1個像素寬度的邊界上的像素;并經線L30將作為運動補償的場BAB數據的帶邊場BAB數據提供給場BAB模式選擇單元20及第一MUX72。
MVD計算單元44,響應于經線L34從運動估算單元32傳來的當前運動矢量和場指示標志,從MV存儲器42中提取運動矢量預測值,其中運動矢量預測值是按上文中MPEG-4確定的當前場BAB的預設相鄰場BAB中一個的運動矢量。然后計算當前運動矢量和相應運動矢量預測值之間的運動矢量差值(MVD)。MVD和場指示標志被提供給運動矢量差值確定單元40中的MVD編碼單元46和模式確定單元62。
當且僅當MVD有非零值時MVD編碼單元46編碼來自MVD計算單元44的此MVD以及場指示標志,并且如果有一個的話,將編碼的MVD和作為編碼的MVD數據的編碼場指示標志經線L40提供給基于上下文算術編碼(CAE)單元50中的幀間比特計算單元54-2和選擇單元58以及格式化單元60中的第二多路復用器(MUX)66,其中CAE單元50包括幀內-CAE和幀間-CAE單元52-1及52-2,幀內-比特和幀間-比特計算單元54-1和54-2,比較器56和選擇單元58。
同時,響應于在線L10上傳來的當前場BAB數據和在線L30上傳來的運動補償的場BAB數據,場BAB模式選擇單元20將當前場BAB和運動補償的場BAB中包括的最優(yōu)候選場BAB分為4×4像素的子塊。如果當前場BAB中的任何子塊與最優(yōu)候選場BAB中其相應子塊之間的誤差小于或等于預定閾值,則場BAB模式選擇單元產生一指示信號S2,它表示當前BAB場不必被編碼,并將此信號提供給模式確定單元62。
如果當前場BAB中各個子塊與最優(yōu)候選場BAB中它們相應的子塊之間的任何誤差大于預定閾值,則場BAB模式選擇單元20將當前場BAB數據提供給幀內-CAE單元52-1和幀間-CAE單元52-2,而將運動補償的場BAB數據提供給幀間-CAE單元52-2。
幀內-CAE單元52-1根據當前場BAB本身和自第一MUX72在線L76上傳送來的位于其周圍的預先重建的場BAB產生該當前場BAB中每個像素的幀內上下文,并根據產生的幀內上下文,使用傳統(tǒng)幀內-CAE技術對當前場BAB編碼。當前場BAB的幀內-CAE數據被供給幀內-比特計算單元54-1和選擇單元58。
幀內-比特計算單元54-1計算幀內-CAE數據的比特數,并將計算的比特數供給比較器56。
幀間-CAE單元52-2根據在線L76上傳來的先前重建的場BAB和來自場BAB模式選擇單元20的運動補償的場BAB產生當前場BAB中每個像素的幀間上下文;并根據傳統(tǒng)的幀間-CAE技術對當前場BAB編碼。當前場BAB的幀間-CAE數據被供給幀間-比特計算單元54-2和選擇單元58。
幀間比特計算單元54-2響應于在線L40上傳來的編碼的MVD數據和來自幀間-CAE單元52-2的幀間-CAE數據,計算編碼的MVD數據和幀間-CAE數據組合的比特數,并將計算的比特數提供給比較器56。
比較器56將幀內-CAE數據的比特數與幀間-CAE數據和編碼的MVD數據的比特數相比較。如果幀內-CAE數據的比特數小于幀間-CAE數據和編碼的MVD數據的比特數,則比較器56將類型3的指示信號S3提供給選擇單元58和模式確定單元62;而如果不是這樣,則比較器56將類型4的指示信號S3提供給選擇單元58和模式確定單元62。
選擇單元58響應類型3或類型4的指示信號S3選擇或者幀內-CAE數據或者幀間-CAE數據及編碼的MVD數據,由此提供選擇的結果給格式化單元60中的第二MUX66。
模式確定單元62根據分別來自場BAB模式檢測單元10、場BAB模式選擇單元20、比較器56和MVD計算單元44的指示信號S1、S2、S3和MVD來確定當前場BAB的編碼模式,并將確定的模式信號提供給格式化單元60中的模式編碼單元64和第二MUX66及第一MUX72。表2表示按照發(fā)明如何確定當前場BAB的編碼模式。
表2確定編碼模式具體地,當存在S2且MVD=0時確定當前場BAB為模式1,當存在S2且MVD≠0時,為模式2;當存在類型1的S1時,為模式3;當存在類型2的S1時,為模式4;當不管MVD的值而存在類型3的S3時,為模式5;當存在類型4的S3且MVD=0時,為模式6;當存在類型4的S3且MVD≠0時,為模式7,其中參照記號“×”表示相應信號不適用。
第一MUX72響應來自模式確定單元62的模式信號,重建與當前場BAB對應的場BAB數據。換言之。第一MUX72響應模式3信號將全為0場BAB經線L76提供給場存儲器74;響應模式4信號,提供全為255場BAB;響應模式5、6或7信號,提供當前場BAB;以及響應模式1或2信號,提供最優(yōu)候選場BAB。
模式編碼單元64例如通過使用傳統(tǒng)VLC技術來編碼來自模式確定單元62的模式信號,并將編碼的模式信號提供給第二MUX66。
響應來自模式確定單元62的模式信號,第二MUX66選擇地多路復用輸入給它的信號,并將多路復用的信號作為編碼的當前場BAB數據提供給用來發(fā)射的發(fā)射器(未示出)。編碼的當前場BAB數據在模式1或2信號的情況下是編碼的模式信號和編碼的MVD數據;在模式3或4信號的情況下僅是編碼的模式信號;在模式5信號的情況下是幀內-CAE數據;而在模式6或7信號的情況下是編碼的模式信號、幀間-CAE數據及編碼的MVD數據。請注意當在模式1或6的情況下MVD等于零時編碼的MVD數據包括編碼的場指示信號。
參照圖4A和4B,說明按照本發(fā)明的以場為基礎編碼二進制形狀信號的程序。在步驟S1,判斷當前場BAB中的像素能否由全為255或全為0的像素來表示,然后在步驟S2,如果當前場BAB中的全部像素能由0來代表則確定當前場BAB的模式為模式3;而如果全部像素由255來代表則為模式4,同在圖2所示場BAB模式檢測單元10處所作一樣。如果當前場BAB的模式被確定是模式3或4,在步驟S3編碼該模式信號,通過發(fā)射此編碼的模式信號終止此程序。
如果在步驟S1判斷的結果是否定的,則程序進到步驟S4,其中在圖2中的運動估算和補償單元30中進行當前場BAB的運動估算和補償,由此產生運動補償的場BAB、當前運動矢量及場指示標志(FIF)。在步驟S5,在場BAB模式選擇單元20中計算運動補償誤差(MCE)和MVD,其中MCE表示當前場BAB和運動補償的場BAB中包括的最優(yōu)候選場BAB之間的誤差。
在步驟S6,將MCE與預定閾值(TH)相比較;并且如果MCE等于或小于TH,則程序進到步驟S7。在步驟S7,如果MVD是零則確定當前場BAB的模式為模式1,如果不是則為模式2。在步驟S8,檢查當前場BAB的模式是模式1還是模式2。如果發(fā)現已將模式1分配給當前場BAB,則在步驟S9編碼在步驟S4產生的模式1信號和FIF,然后程序終止。如果發(fā)現當前場BAB的模式是模式2,則在步驟S10編碼模式2信號、FIF和MVD,然后發(fā)射編碼的數據終止該程序。
參照步驟S6,如果判斷MCE大于TH,程序經節(jié)點B進到步驟S11。在步驟S11,通過幀內-CAE和幀間-CAE編碼方案對當前場BAB進行編碼,并生成對應幀內-CAE數據的比特數和幀間-CAE數據的比特數,如同參照圖2所示幀內-CAE和幀間-CAE單元52-1、52-2及幀內一比特計算和幀間-比特計算單元54-1、54-2所述的一樣。如果在步驟S12判定幀內-CAE比特數等于或小于幀間-CAE比特數,則程序進到步驟S13,而如果不是這樣則進到步驟S15。
在步驟S13,將當前場BAB的模式設置為模式5,而在步驟S14,編碼該模式5信號,而后發(fā)射編碼的模式信號和幀內-CAE數據來終止此程序。在步驟S15,如果MVD等于0則確定當前場BAB的模式為模式6,而如果不是這樣則為模式7,而后程序進到步驟S16。在步驟S16,檢查該模式是否為6。如果在步驟S16該模式被確定為6,則在步驟S17該模式6信號和FIF與幀間-CAE數據一起被編碼和發(fā)射,而后程序終止。另一方面,如果發(fā)現當前場BAB的模式是模式7,則程序進到步驟S18。最終在步驟S18,模式7信號、FIF和MVD與幀間-CAE數據一起被編碼并被發(fā)送到發(fā)射器,而后程序終止。
盡管本發(fā)明已通過參照在逐個場的基礎上編碼二進制形狀信號得到了說明,但同樣的方法可以延伸到在逐個幀的基礎上編碼二進制形狀信號。在這樣的情況下,參照代替兩先前場的一先前幀來進行運動估算和補償過程。
本發(fā)明僅針對某些優(yōu)選實施例來加以說明,只要不偏離如下面權利要求書中提出的本發(fā)明的精神和范圍可以做出其他修改和變化。
權利要求
1.一種用來編碼二進制形狀信號的目標塊的方法,其中二進制形狀信號包括多個畫面,而每個畫面分為多個M×N像素塊,各像素具有第一和第二二進制值中的一個,目標塊代表要編碼的當前畫面的這些塊中的一個,M和N分別為正整數,該方法包括下列步驟(a)如果該目標塊相對于第一基準塊的誤差不大于預定閾值則確定第一模式為該目標塊的模式,而如果該目標塊相對于第二基準塊的誤差不大于此閾值則確定第二模式為該目標塊的模式,各個基準塊有M×N個像素,并且第一和第二基準塊的所有像素分別是第一和第二二進制值;(b)如果在步驟(a)中第一和第二模式都沒有被確定,則相對于該當前畫面的一個或多個先前畫面對此目標塊運動估算和補償,由此產生包括一運動矢量的運動矢量信息和一運動補償的塊,該運動補償的塊包括該目標塊的一最近似塊;(c)計算該目標塊和該最近似塊之間的運動補償誤差(MCE)及該運動矢量和其預測值之間的運動矢量差(MVD);(d)如果該MVD不為零則編碼該MVD,以提供編碼的MVD數據;(e)如果該MVD等于零且該MCE不大于閾值則將第三模式設置為該目標塊的模式,而如果該MVD不為零且該MCE不大于該閾值則將第四模式設置為該目標塊的模式;(f)如果在步驟(e)中第三和第四模式都沒有被確定為該目標塊的模式,則產生幀內編碼的數據和幀間編碼的數據,該幀內編碼的數據是通過根據當前畫面的預定像素編碼該目標塊的像素而產生的,而該幀間編碼的數據則是根據當前畫面中包括的預設的像素和該運動補償的塊對該目標塊的像素進行編碼而提供的;(g)比較該幀內編碼的數據的比特數和該幀間編碼的數據的比特數;(h)如果該幀內編碼的數據的比特數不大于該幀間編碼的數據的比特數,則確定第五模式為該目標塊的模式;及(i)如果在步驟(h)中沒有確定第五模式,則如果該MVD為零將第六模式設置為該目標塊的模式,而如果該MVD不為零,將第七模式設置為該目標塊的模式。
2.按照權利要1的方法,步驟(i)之后還包括下列步驟(j)編碼該目標塊的模式以產生一編碼的模式信號;及(R)根據其模式產生編碼的該目標塊數據。
3.按照權利要求2的方法,其中編碼的該目標塊數據包括編碼的模式信號,并且還包括第四模式的編碼的MVD數據;第五模式的幀內編碼的數據;第六模式的幀間編碼的數據和第七模式的編碼的MVD數據。
4.按照權利要求3的方法,其中通過基于幀內上下文的算術編碼(CAE)方法提供該幀內編碼的數據。
5.按照權利要求4的方法,其中通過幀間-CAE方法提供該幀間編碼的數據。
6.按照權利要求5的方法,其中一個畫面對應一幀。
7.按照權利要求6的方法,其中參照該當前幀的一先前幀進行運動估算和補償步驟(b)。
8.按照權利要求5的方法,其中一個畫面對應一個場。
9.按照權利要求8的方法,其中參照該當前場的兩先前場進行運動估算和補償步驟(b)。
10.按照權利要求9的方法,其中步驟(b)中的運動矢量信息還包括指示包括該運動補償的塊的場的場指示標志。
11.按照權利要求10的方法,其中編碼步驟(d)包括對該場指示標志進行編碼以產生一編碼的標志信號的步驟(d1)。
12.按照權利要求11的方法,其中在步驟(h)中,如果幀內-編碼的數據的比特數不大于幀間-編碼的數據、編碼的MVD數據和編碼的標志信號的組合比特數,則判定為第五模式。
13.一種用來編碼二進制形狀信號的目標塊的裝置,其中二進制形狀信號包括多個畫面,而每個畫面分為多個M×N像素塊,各像素具有第一和第二二進制值中的一個,目標塊代表要編碼的當前畫面的這些塊中的一個塊,M和N分別為正整數,該裝置包括模式檢測裝置,對目標塊作出響應,用來在該目標塊相對于第一和第二基準塊的誤差都不大于預定閾值時分別產生類型1和類型2的第一指示信號,各自基準塊有M×N個像素,并且第一和第二基準塊的所有像素分別是第一和第二二進制值;重建裝置,用來重建一編碼的二進制形狀信號,由此產生并存儲該重建的二進制形狀信號,其中該重建的二進制形狀信號包括預先編碼的畫面;運動估算和補償裝置,用來相對于與當前畫面的一個或多個先前的畫面相對應的該重建的二進制形狀信號來運動估算該目標塊,由此產生運動矢量信息和一運動補償的塊,該運動矢量信息包括一運動矢量,而該運動補償的塊包括該目標塊的一最近似塊;模式選擇裝置,用來計算該目標塊和該最近似塊之間的運動補償誤差(MCE),并在MCE不大于該閾值時產生第二指示信號;運動矢量差(MVD)確定裝置,用來計算該運動矢量和其預測值之間的MVD,并編碼該MVD,以產生編碼的MVD數據;編碼裝置,響應于該目標塊、運動補償的塊和重建的二進制形狀信號,用來對該目標塊分別進行幀內和幀間編碼,以產生幀內和幀間編碼的數據,由此根據該幀內和幀間編碼的數據的比特數來選擇幀內和幀間編碼的數據中的一個,并且如果選擇幀內編碼的數據則提供類型3的第三指示信號,如果選擇幀間編碼的數據則提供類型4的第三指示信號;格式化裝置,響應于該MVD、編碼的MVD數據、編碼的數據及這些指示信號,用來確定該目標塊的模式并根據確定的模式產生編碼的目標塊數據。
14.按照權利要求13的裝置,其中MVD確定裝置包括用來存儲當前畫面的預先編碼的塊的運動矢量的裝置;用來從存儲裝置中取出存儲的運動矢量之一作為該目標塊的運動矢量的預測值,由此計算MVD的裝置;用來編碼該MVD以提供編碼的MVD數據的MVD裝置。
15.按照權利要求14的裝置,其中編碼裝置包括幀內編碼裝置,用來根據與當前畫面對應的重建的二進制形狀信號中一部分中包括的像素,對該目標塊進行幀內編碼,由此產生幀內編碼的數據;幀間編碼裝置,根據重建的二進制形狀信號的該部分中包括的像素和該運動補償的塊,對該目標塊進行幀間編碼,由此產生幀間編碼的數據;用來發(fā)現該幀內編碼的數據的比特數的裝置;用來計算該幀間編碼的數據的比特數和該編碼的MVD數據的比特數之和的裝置;用來比較該幀內編碼的數據的比特數和該和值,從而如果該和值大于該幀內編碼的數據的比特數,就產生類型3的第3指示信號;如果不是這樣,就產生類型4的第3指示信號的裝置;及選擇裝置,響應類型3的第3指示信號,選擇幀內編碼的數據為該編碼的數據;響應類型4的第3指示信號,選擇該幀間編碼的數據為該編碼的數據。
16.按照權利要求15的裝置,其中格式化裝置包括判定裝置,用來響應第1到第3指示信號及MVD,確定該目標塊的模式,其中如果接收到類型1的第一指示信號,確定第1模式為該目標塊的模式,如果接收到類型2的第1指示信號,確定第2模式為該目標塊的模式,如果接收到第2指示信號且MVD為零,確定第3模式為該目標塊的模式,如果接收到第2指示信號且MVD不為零,確定第4模式為該目標塊的模式,如果接收到類型3的第3指示信號,確定第5模式為該目標塊的模式,如果接收到類型4的第3指示信號且MVD為零,確定第6模式為該目標塊的模式,如果接收到類型4的第3指示信號且MVD不為零,確定第7模式為目標塊的模式;用來編碼該目標塊的模式,以提供一個編碼的模式信號的裝置;及供給裝置,用來響應該確定的模式、編碼的數據和編碼的模式信號,產生編碼的目標塊的數據,其中如果確定的模式為第1、第2和第3模式中的1個,生成編碼的模式信號作為該編碼的目標塊數據,如果確定的模式為第4模式,生成編碼的模式信號和編碼的MVD數據作為該編碼的目標塊數據,如果確定的模式是第5和第6模式中任何一個,生成編碼的模式信號和編碼的數據作為該編碼的目標塊數據,如果確定的模式為第7模式,生成編碼的模式信號、編碼的MVD數據和編碼的數據作為該編碼的目標塊數據。
17.按照權利要求16的裝置,其中一個畫面對應一個場,且該目標塊參照當前場的兩先前場而被運動估算。
18.按照權利要求17的裝置,其中該運動矢量信息還包括一表示包括該最近似塊的一個場的場指示標志。
19.按照權利要求18的裝置,其中MVD裝置包括用來編碼該場指示標志,以提供編碼的標志信號的裝置。
20.按照權利要求19的方法,其中如果確定的模式對應于第3、第4、第6或第7模式,該編碼的目標塊數據還包括該編碼的標志信號。
全文摘要
提供一種用于在逐個場的基礎上編碼二進制形狀信號且能提高編碼效率的方法和裝置。
文檔編號H04N7/32GK1221290SQ9712207
公開日1999年6月30日 申請日期1997年12月22日 優(yōu)先權日1997年12月22日
發(fā)明者趙晟烈 申請人:大宇電子株式會社