專利名稱:分段圖象序列編碼的方法和系統(tǒng),相應(yīng)的編碼信號(hào)和存儲(chǔ)介質(zhì),以及對(duì)這樣的編碼信號(hào)解 ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)由多個(gè)區(qū)域及相關(guān)標(biāo)號(hào)組成并定義連續(xù)分區(qū)的分段圖象序列進(jìn)行編碼的方法,所述方法包括估計(jì)運(yùn)動(dòng)模型的操作,該模型表征每個(gè)所述區(qū)域從前一分區(qū)到當(dāng)前分區(qū)的分段變化,還包括對(duì)所述當(dāng)前分區(qū)的每個(gè)區(qū)域的輪廓和紋理進(jìn)行編碼的操作。
本發(fā)明也涉及對(duì)由多個(gè)區(qū)域及相關(guān)標(biāo)號(hào)組成并定義連續(xù)分區(qū)的分段圖象序列進(jìn)行編碼的系統(tǒng),所述系統(tǒng)包括用于估計(jì)運(yùn)動(dòng)模型的裝置,該模型表征每個(gè)所述區(qū)域從前一分區(qū)到當(dāng)前分區(qū)的分段變化,還包括用于對(duì)所述當(dāng)前分區(qū)的每個(gè)區(qū)域的輪廓和紋理進(jìn)行編碼的裝置,并涉及在這樣的系統(tǒng)輸出處得到的編碼信號(hào)以及存儲(chǔ)這樣的編碼信號(hào)的存儲(chǔ)介質(zhì)。
本發(fā)明還涉及將對(duì)應(yīng)于分段圖象序列每個(gè)連續(xù)分區(qū)的區(qū)域的編碼信號(hào)進(jìn)行解碼的方法,以及實(shí)現(xiàn)所述解碼方法的解碼系統(tǒng)。
在下列描述中,名詞“圖象”必須根據(jù)它的最廣泛的含義來理解。確實(shí)很清楚的是本發(fā)明不僅處理常規(guī)的圖象,其中至少有一個(gè)亮度信號(hào)關(guān)聯(lián)于每個(gè)圖象元素(或象素),而且更一般地也處理任何三維數(shù)據(jù)(u,v,w)集,其中的兩個(gè)定義著預(yù)定幀內(nèi)的一類位置,第三個(gè)定義著與每一對(duì)相應(yīng)的數(shù)據(jù)相關(guān)聯(lián)的在給定范圍內(nèi)變化的一個(gè)值。無論如何,所建議的方法對(duì)所有基于分段的編碼技術(shù)都提供了相當(dāng)?shù)暮锰幉⑶姨貏e是可用于使用由分段所得分區(qū)的運(yùn)動(dòng)補(bǔ)償編碼的視頻終端。這樣的技術(shù)主要對(duì)極低比特率應(yīng)用是有用的,并注重MPEG4參考下的標(biāo)準(zhǔn)(MPEG是“運(yùn)動(dòng)圖象專家組”的縮寫,是國際標(biāo)準(zhǔn)化組織ISO的一個(gè)專家組)。
L.H.Chen和Y.K.Chen的文章“基于新分段技術(shù)的高壓縮圖象編碼方法”(“A high-compression image coding method based on a newsegmentation technique”),Proceedings of the National Science Council,中國臺(tái)灣,Part A物理科學(xué)和工程(Physical Science andEngineering),vol.16,n°5,1992年9月,403-421頁,涉及基于分段的編碼技術(shù),描述了將輸入視頻序列分成區(qū)域之后如何表示這些所得到的區(qū)域。所描述的編碼方法包括用于描述每個(gè)區(qū)域的輪廓點(diǎn)的輪廓編碼和用于估計(jì)分區(qū)的每個(gè)區(qū)域中每個(gè)象素值的紋理編碼。這種技術(shù)的一個(gè)特殊問題是,當(dāng)要編碼和發(fā)送的信息同時(shí)包括關(guān)于分區(qū)和所述分區(qū)的每個(gè)區(qū)域內(nèi)象素的運(yùn)動(dòng)信息時(shí),要把計(jì)算負(fù)荷和發(fā)送成本維持在較低水平上。
本發(fā)明的第一個(gè)目的是建議一種分區(qū)編碼方法,可使發(fā)送的信息量降低并因此而產(chǎn)生較低的(并且最終會(huì)是不太昂貴的)計(jì)算負(fù)荷。
為此本發(fā)明涉及本描述前言中所定義的一種方法,而且其中所述的編碼操作順序包括如下步驟—對(duì)根據(jù)以幀內(nèi)模式發(fā)送和/或存儲(chǔ)的區(qū)域的輪廓進(jìn)行編碼;—產(chǎn)生補(bǔ)償分區(qū),包括以幀內(nèi)模式發(fā)送的所述區(qū)域以及基于所述的運(yùn)動(dòng)模型補(bǔ)償?shù)膮^(qū)域;—從所述當(dāng)前及補(bǔ)償分區(qū)計(jì)算誤差分區(qū)并對(duì)所述誤差分區(qū)及被編碼的誤差分區(qū)的每個(gè)區(qū)域的標(biāo)號(hào)進(jìn)行編碼。
對(duì)于這樣的編碼方法,被傳送并發(fā)射的唯一運(yùn)動(dòng)信息確實(shí)只是紋理的運(yùn)動(dòng)以及區(qū)域的順序,它代表了很少的附加信息量,每區(qū)域的標(biāo)號(hào)是通過使用補(bǔ)償分區(qū)信息有效地進(jìn)行編碼的。而且,盡管補(bǔ)償誤差的編碼是基于幀而不是基于區(qū)域全局進(jìn)行的,但是編碼策略為每個(gè)區(qū)域分別定義了傳輸模式(幀內(nèi)或幀間模式),而不是認(rèn)為所有區(qū)域都以相同模式處理。結(jié)果,這個(gè)方法導(dǎo)致被發(fā)送的信息量降低并得到更好的圖象質(zhì)量。
根據(jù)本發(fā)明,這個(gè)方法可優(yōu)選地以下面方式實(shí)現(xiàn)(A)所述編碼步驟包括如下子步驟—選擇必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的所述當(dāng)前分區(qū)的區(qū)域集;—將所述的選擇區(qū)域編碼;—產(chǎn)生與這些選擇區(qū)域有關(guān)的掩模并對(duì)其編碼;(B)所述產(chǎn)生步驟包括如下子步驟—對(duì)于每個(gè)有關(guān)區(qū)域,對(duì)當(dāng)前分區(qū)的所有點(diǎn)指定為該有關(guān)區(qū)域所估計(jì)的運(yùn)動(dòng)模型;—對(duì)于每個(gè)有關(guān)區(qū)域,基于對(duì)當(dāng)前分區(qū)和考慮所述指定的運(yùn)動(dòng)模型而重構(gòu)的分區(qū)之間所作的比較而產(chǎn)生所述補(bǔ)償分區(qū);(C)所述計(jì)算和編碼步驟包括如下子步驟—從所述當(dāng)前及補(bǔ)償分區(qū)計(jì)算誤差分區(qū);—對(duì)和所述補(bǔ)償分區(qū)輪廓和所述誤差分區(qū)輪廓相關(guān)聯(lián)的所謂覆蓋分區(qū)的輪廓進(jìn)行編碼;—對(duì)所述被編碼的覆蓋分區(qū)的每個(gè)區(qū)域的標(biāo)號(hào)進(jìn)行編碼。
在上一個(gè)實(shí)現(xiàn)的改進(jìn)的實(shí)施中,所述產(chǎn)生步驟可在它的兩個(gè)第一子步驟和所述計(jì)算及編碼步驟的輸入之間順序地包括如下子步驟—根據(jù)第一預(yù)定判據(jù),為每個(gè)標(biāo)號(hào)選擇一個(gè)連接部分;—根據(jù)第二預(yù)定判據(jù),刪去對(duì)應(yīng)于未被選擇的連接部分的洞。
無論這個(gè)改進(jìn)的或前一個(gè)實(shí)施例,可以在計(jì)算及編碼步驟的所述計(jì)算和輪廓編碼子步驟之間提供一個(gè)附加的簡化子步驟,以便去掉或保留并編碼誤差分區(qū)的每個(gè)區(qū)域。
本發(fā)明的另一個(gè)目的是建議一個(gè)實(shí)現(xiàn)前面提出的編碼方法的系統(tǒng)。
為此本發(fā)明涉及本描述前言中所定義的一個(gè)系統(tǒng),且其中所述的編碼裝置包括—一個(gè)內(nèi)編碼裝置,用于產(chǎn)生根據(jù)幀內(nèi)模式發(fā)射和/或存儲(chǔ)的區(qū)域的編碼輪廓信息;—一個(gè)補(bǔ)償裝置,用于計(jì)算補(bǔ)償分區(qū),包括以幀內(nèi)模式發(fā)送的所述區(qū)域以及基于所述的估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;—一個(gè)中間編碼裝置,用于提取并編碼分區(qū)誤差,這樣的分區(qū)誤差是由對(duì)其中有不同的補(bǔ)償標(biāo)號(hào)與當(dāng)前標(biāo)號(hào)的誤差區(qū)域的提取來定義的。
本發(fā)明的另一個(gè)目的是定義像這樣的編碼系統(tǒng)所產(chǎn)生的一種編碼信號(hào),由多路復(fù)用信號(hào)組成的所述編碼信號(hào)包括(A)運(yùn)動(dòng)信息,對(duì)應(yīng)于運(yùn)動(dòng)模型的估計(jì),該模型表征所述連續(xù)分區(qū)之間分段的變化;(B)第一編碼輪廓信息,對(duì)應(yīng)于必須按幀內(nèi)模式發(fā)射和/或存儲(chǔ)的當(dāng)前分區(qū)的每個(gè)區(qū)域;(C)第二編碼輪廓信息,對(duì)應(yīng)于當(dāng)前誤差分區(qū)的每個(gè)區(qū)域,所述分區(qū)和其中有不同的當(dāng)前標(biāo)號(hào)與補(bǔ)償分區(qū)中觀察到的標(biāo)號(hào)的誤差區(qū)域相關(guān)聯(lián),而該補(bǔ)償分區(qū)則關(guān)聯(lián)于基于所述估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;(D)編碼標(biāo)號(hào)信息,包括以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的每個(gè)區(qū)域的標(biāo)號(hào)以及每個(gè)誤差區(qū)域的標(biāo)號(hào)。
本發(fā)明的另一個(gè)目的是建議存儲(chǔ)所述編碼信號(hào)的一種存儲(chǔ)介質(zhì)。
最后,本發(fā)明的另一個(gè)目的是建議對(duì)這樣的編碼信號(hào)進(jìn)行解碼的一種方法,所述解碼方法包括如下步驟(a)對(duì)以前以幀內(nèi)模式編碼的區(qū)域的輪廓進(jìn)行解碼并通過對(duì)這些區(qū)域指定相應(yīng)的標(biāo)號(hào)而對(duì)其它區(qū)域指定零標(biāo)號(hào)來產(chǎn)生相應(yīng)的掩模;(b)產(chǎn)生由幀內(nèi)編碼區(qū)域、運(yùn)動(dòng)補(bǔ)償區(qū)域及對(duì)應(yīng)于空區(qū)域的洞所得到的補(bǔ)償分區(qū),然后將誤差區(qū)域解碼并產(chǎn)生與所述補(bǔ)償區(qū)域的輪廓和所述誤差區(qū)域的輪廓相關(guān)聯(lián)的所謂覆蓋分區(qū);(c)解碼并指定所述覆蓋分區(qū)的區(qū)域的標(biāo)號(hào);并建議相應(yīng)的解碼系統(tǒng),該系統(tǒng)順序地包括區(qū)域內(nèi)解碼電路,用于對(duì)以幀內(nèi)模式發(fā)送的區(qū)域的解碼,補(bǔ)償電路,用于產(chǎn)生由幀內(nèi)編碼區(qū)域、運(yùn)動(dòng)補(bǔ)償區(qū)域及對(duì)應(yīng)于空區(qū)域的洞所構(gòu)成的補(bǔ)償分區(qū),以及區(qū)域解碼電路,包括誤差區(qū)域解碼級(jí),用于產(chǎn)生與所述補(bǔ)償區(qū)域的輪廓和所述誤差區(qū)域的輪廓相關(guān)聯(lián)的所謂覆蓋分區(qū),和標(biāo)號(hào)解碼子級(jí),用于解碼并指定所述覆蓋分區(qū)的區(qū)域的標(biāo)號(hào)。
本發(fā)明的這些及其它方面將參考后面描述的實(shí)施例闡述并變得更清楚。
圖1是可以結(jié)合到按照本發(fā)明的方法中的以前編碼方法的說明,圖2到13也涉及所述的以前方法;圖2是在考慮到當(dāng)前分區(qū)區(qū)域的運(yùn)動(dòng)估計(jì)時(shí),表示這樣的矢量,對(duì)于每個(gè)所表示的區(qū)域,這些矢量描述在后向模式中區(qū)域的時(shí)間變化;圖3說明用于定義當(dāng)前分區(qū)預(yù)測而提供的分區(qū)補(bǔ)償;圖4說明分區(qū)的前向運(yùn)動(dòng)補(bǔ)償,而圖5是分區(qū)的后向運(yùn)動(dòng)補(bǔ)償;圖6和7分別說明幀內(nèi)模式和幀間模式中的形狀編碼;圖8表示實(shí)現(xiàn)所述的以前方法的編碼系統(tǒng)的實(shí)施例,而圖9到11用更詳細(xì)的方式表示圖8的編碼系統(tǒng)的一些裝置;圖12是將按上述編碼的信號(hào)解碼的方法的說明,而圖13表示實(shí)現(xiàn)所述解碼方法的解碼系統(tǒng)中包括的解碼電路的實(shí)施例;圖14是根據(jù)本發(fā)明的編碼方法的說明;
圖15涉及圖2中所示編碼方法的第一步驟(A)并說明了輪廓信息的一個(gè)例子,該信息對(duì)應(yīng)于一個(gè)具有6個(gè)區(qū)域、其中僅4個(gè)是以幀內(nèi)模式發(fā)送的分區(qū);圖16表示一個(gè)掩模,它指明在其中標(biāo)號(hào)將以幀內(nèi)模式發(fā)送的那些位置,這個(gè)掩模對(duì)實(shí)現(xiàn)第二步驟(B)是有用的;圖17涉及第三步驟(C)且說明了分別由三個(gè)和兩個(gè)區(qū)域組成的當(dāng)前和補(bǔ)償分區(qū)的例子,以及包括分別帶標(biāo)號(hào)a、b、c的三個(gè)誤差分區(qū)的相應(yīng)的誤差掩模的例子;圖18是實(shí)現(xiàn)圖14的編碼方法的編碼系統(tǒng)的例子;圖19說明在實(shí)施圖14編碼方法情況下,(誤差區(qū)域)輪廓編碼的子步驟;圖20是對(duì)根據(jù)圖14編碼方法產(chǎn)生的編碼信號(hào)進(jìn)行解碼的有效解碼方法的說明;圖21表示實(shí)現(xiàn)圖14所示解碼方法的解碼系統(tǒng)的例子。
在下面的描述中,將描述借助于有關(guān)象素值運(yùn)動(dòng)的信息并且也借助于關(guān)于分區(qū)的鄰近區(qū)域的附加順序信息對(duì)涉及時(shí)變分區(qū)的信息進(jìn)行編碼的方法。例如,這個(gè)附加信息應(yīng)是通訊“用于基于分段的視頻編碼的運(yùn)動(dòng)和區(qū)域復(fù)蓋估計(jì)”(“Motion and region overlapping estimation forsegmentation-based video coding”),M.Pardas和P.Salembier,IEEEInternational Conference on Image Processing,Austin,Texas(USA),1994年11月,vol II,428-432頁中定義和描述的順序關(guān)系。盡管所述編碼方法可以例如應(yīng)用于這樣的順序關(guān)系定義方法,但是更特定地適用于與前歐洲專利申請(qǐng)n°9540183.1中描述的改進(jìn)排序類型一起實(shí)現(xiàn),該專利由申請(qǐng)人在1995年8月2日提交。
這個(gè)前歐洲專利申請(qǐng)后面還要提到,并使用如下符號(hào)—時(shí)間(T-1),T,…處的原始幀稱做ORIG(-1),ORIG(0),…,等等;—時(shí)間T處的當(dāng)前分區(qū)類似地稱做SEG(0),時(shí)間(T-1)處的以前分區(qū)為SEG(-1),有必要的話,其它時(shí)間處的其它分區(qū)依次類推(分段方法的實(shí)現(xiàn)在例如M.Pardas和P.Salembier的通訊“圖象序列的時(shí)間遞歸分段”(“Time-Recursive Segmentation of ImageSequence”)中描述,EUSIPCO 94,第7屆European Signal ProcessingConference,Edinburgh,United Kingdom,1994年9月13日);—類似地當(dāng)傳輸之后在接收機(jī)一側(cè)重構(gòu)以及在編碼一側(cè)得到時(shí),REC(0)和REC(-1)指明當(dāng)前的(時(shí)間T)和前面的(時(shí)間T-1)分區(qū);—MOT(0)是表明(T-1)和T之間分區(qū)變化的運(yùn)動(dòng)信息(即,它允許從SEG(-1)導(dǎo)出SEG(0)),并且一般由指定給前一分區(qū)SEG(-1)的每個(gè)區(qū)域的一組參數(shù)來表示(為了運(yùn)動(dòng)估計(jì)的目的,可建議用H.Sanson的文章“用于低比特率視頻編碼的基于區(qū)域的運(yùn)動(dòng)分析”(“Region-based motion analysis for video coding at low bit rates”)中描述的一種方法,見Proceedings of MPEG4 Seminar,Paris(France),1994年3月)。
在所述前面的歐洲專利申請(qǐng)中描述的編碼方法示意性地在圖1中表示。所述方法順序地包括如下第一和第二步驟每個(gè)區(qū)域傳輸模式的定義(從1a到3c),順序計(jì)算(從4a到5)。對(duì)于第一步驟——傳輸模式定義,輸入數(shù)據(jù)是當(dāng)前分段的分區(qū)SEG(0)(從相應(yīng)的原始圖象ORIG(0)得到)、以前重構(gòu)的分區(qū)REC(-1)以及與分區(qū)SEG(-1)有關(guān)的運(yùn)動(dòng)信息MOT(0)。這個(gè)第一步驟的目的是定義每個(gè)區(qū)域的傳輸模式(幀內(nèi)模式或幀間模式),其方法是通過發(fā)送二進(jìn)制信息,該二進(jìn)制信息用來告知接收機(jī)該區(qū)域是否以用于輪廓編碼的幀內(nèi)模式進(jìn)行發(fā)射,以及是否在例如運(yùn)動(dòng)信息MOT(0)內(nèi)存儲(chǔ)。這個(gè)運(yùn)動(dòng)信息MOT(0)因此包括每個(gè)區(qū)域的一組運(yùn)動(dòng)參數(shù)(已經(jīng)提到過)加上表示有關(guān)輪廓的傳輸模式的二進(jìn)制信息。有關(guān)這個(gè)傳輸模式的確定基于輪廓的代價(jià)而定,根據(jù)每個(gè)區(qū)域在幀內(nèi)模式或幀間模式發(fā)送的事實(shí)來比較其代價(jià)。如圖1所示,在這個(gè)第一步驟中考慮了三個(gè)子步驟。
第一子步驟(1a,1b)用于補(bǔ)償整個(gè)分區(qū)。基于以前重構(gòu)的分區(qū)REC(-1)、運(yùn)動(dòng)信息MOT(0)以及稱做ORD(0)的順序信息,這個(gè)包括兩個(gè)操作(1a)和(1b)的分區(qū)補(bǔ)償將產(chǎn)生稱做RECCOMP(0)的補(bǔ)償分區(qū)。盡管這兩個(gè)操作后面會(huì)更詳細(xì)地描述,但這個(gè)分區(qū)補(bǔ)償?shù)囊话阍砜梢月?lián)系圖2和3來回想。在補(bǔ)償之前,估計(jì)當(dāng)前分區(qū)SEG(0)的不同區(qū)域的運(yùn)動(dòng)。所得到的運(yùn)動(dòng)估計(jì)給出一組描述后向模式BM中每個(gè)區(qū)域?qū)r(shí)間變化的參數(shù)。在圖2中,SEG(0)的每個(gè)區(qū)域只由一個(gè)矢量(MOT1和MOT2)來代表,但是估計(jì)一般會(huì)給出更復(fù)雜的模型,每個(gè)區(qū)域的每個(gè)象素都定義一個(gè)運(yùn)動(dòng)矢量。注意到區(qū)域內(nèi)象素的運(yùn)動(dòng)(紋理運(yùn)動(dòng))和區(qū)域形狀的運(yùn)動(dòng)可能是不等價(jià)的(兩種運(yùn)動(dòng)在前景區(qū)域情況下是一致的,其中內(nèi)部和輪廓的象素都遵循相同的運(yùn)動(dòng),但是在背景區(qū)域情況下則不然,因?yàn)樾螤罨蜉喞母淖冇伤那熬爸械膮^(qū)域的運(yùn)動(dòng)而定),這里假定紋理運(yùn)動(dòng)用于同時(shí)補(bǔ)償分區(qū)和紋理。因此,分區(qū)補(bǔ)償問題示于圖3基于以前重構(gòu)分區(qū)REC(-1)并基于所發(fā)射的運(yùn)動(dòng)參數(shù),補(bǔ)償應(yīng)定義當(dāng)前分區(qū)REC(0)的一個(gè)預(yù)測。
補(bǔ)償本身既可工作在前向模式中也可工作在后向模式中。如圖4中所示,在前向模式中,REC(-1)的象素投向REC(0)。如果將后向模式中所做的估計(jì)所定義的運(yùn)動(dòng)矢量MOT1和MOT2求反(MOT1-1和MOT2-1),就可以做這個(gè)投影。如我們可看到的,區(qū)域的變換可能產(chǎn)生兩個(gè)問題。REC(0)的一些象素可能沒有標(biāo)號(hào),它們構(gòu)成了所謂空區(qū)域(在圖4中只有一個(gè),稱做EA)。相反,一些象素可能有幾個(gè)候選的標(biāo)號(hào),這些沖突區(qū)域稱做重疊區(qū)域(圖4中只有一個(gè),稱做OA)。為了解決沖突,使用順序信息來確定哪個(gè)區(qū)域應(yīng)該被認(rèn)為是在該區(qū)域的前景中(在標(biāo)號(hào)間有矛盾的情況下,前景區(qū)域給出正確的標(biāo)號(hào))。如果使用紋理運(yùn)動(dòng)來補(bǔ)償分區(qū),由于上面提到的區(qū)域間前景/背景關(guān)系問題,重疊區(qū)域的問題特別重要。但是,紋理運(yùn)動(dòng)和順序的使用是非常有效的解決辦法,因?yàn)榧y理運(yùn)動(dòng)信息產(chǎn)生很好的紋理補(bǔ)償而順序只表示很少量的信息。最后,剩下空區(qū)域是沒有標(biāo)號(hào)的,并作為補(bǔ)償誤差處理。
補(bǔ)償?shù)碾p模式在圖5中說明。對(duì)于REC(0)的每個(gè)象素,人們?cè)噲D在REC(-1)中找出應(yīng)該選擇哪個(gè)標(biāo)號(hào),在這個(gè)意義上這種模式是后向模式。在這種情況下,主要問題是當(dāng)考慮REC(0)的象素(i,j)時(shí)要規(guī)定使用哪個(gè)運(yùn)動(dòng)矢量。確實(shí),由于當(dāng)前分區(qū)在接收一側(cè)是未知的,不能知道該象素所屬區(qū)域以及相應(yīng)的運(yùn)動(dòng)模型。其解決方法在于考慮所有可能區(qū)域所定義的所有可能的矢量。在圖5的情況中,有兩個(gè)區(qū)域,每個(gè)點(diǎn)因此要考慮兩個(gè)矢量一個(gè)由區(qū)域1(MOT1)給出而另一個(gè)由區(qū)域2(MOT2)給出。每當(dāng)區(qū)域n定義的一個(gè)矢量不指向REC(-1)中屬于區(qū)域n的象素時(shí),就認(rèn)為補(bǔ)償是無效的而且相應(yīng)的矢量(INV)就被丟掉(在圖5中,是兩個(gè)矢量的情況)。但是,在前向運(yùn)動(dòng)補(bǔ)償?shù)那闆r下,一些象素沒有有效的補(bǔ)償(空區(qū)域EA)而其它的一些則具有超過一個(gè)的候選者(重疊區(qū)域OA)。同前面一樣,使用順序信息來解決沖突區(qū)域。
補(bǔ)償?shù)那跋蚝秃笙蚰J街g主要區(qū)別涉及象素位置的量化。確實(shí),一般運(yùn)動(dòng)矢量從整數(shù)的象素位置開始,但是指向一個(gè)非整數(shù)的位置。在前向情況,必須量化REC(0)的象素位置,而在后向情況,必須量化REC(-1)的象素位置。在運(yùn)動(dòng)模型包括標(biāo)尺變化(特別是縮放)的情況下,前向模式存在更多一些困難。確實(shí),在區(qū)域擴(kuò)展情況下,兩個(gè)象素之間的距離變化可能在補(bǔ)償幀中產(chǎn)生更多的空區(qū)域。這些問題可以解決,但是一般后向模式更簡單些。
如前所述,分區(qū)產(chǎn)生一個(gè)補(bǔ)償分區(qū)RECCOMP(0)。在第二子步驟(2)中,補(bǔ)償誤差ERR(0)通過在SEG(0)和RECCOMP(0)之間做減法而計(jì)算出來。最后,第三子步驟(3a、3b、3c)單獨(dú)用于估計(jì)并比較由SEG(0)(幀內(nèi)模式)或ERR(0)(幀間模式)定義的每個(gè)區(qū)域的編碼代價(jià)。幀內(nèi)模式和幀間模式中的估計(jì)(3a)可以通過實(shí)際對(duì)信息編碼并測量所產(chǎn)生的信息量或通過使用其它能提供代價(jià)概算的技術(shù)(例如,假設(shè)代價(jià)與區(qū)域輪廓的長度成比例)來進(jìn)行。一旦進(jìn)行了兩種估計(jì),比較和選擇(3b)就可以進(jìn)行而且所產(chǎn)生的判決作為更新運(yùn)動(dòng)信息MOT(0)的附加二進(jìn)制信息來存儲(chǔ)(3c)。
這個(gè)子步驟(3a、3b、3c)的目的是估計(jì)區(qū)域在幀內(nèi)模式或在幀間模式中編碼時(shí)形狀信息的編碼代價(jià)。該問題在圖6和7中說明。
根據(jù)第一個(gè)選擇(圖6),認(rèn)為區(qū)域以幀內(nèi)模式發(fā)送。在此情況下,形狀SH的所有輪廓必須被編碼??梢酝ㄟ^經(jīng)典的輪廓編碼技術(shù)對(duì)其實(shí)際進(jìn)行編碼并計(jì)算所產(chǎn)生的比特?cái)?shù),或者做一個(gè)估計(jì),例如認(rèn)為最后的代價(jià)與有關(guān)區(qū)域的輪廓長度L0成比例(代價(jià)可以按照Cintra=kL0做估計(jì))。第二個(gè)選擇(圖7)在于只對(duì)補(bǔ)償誤差編碼。在圖7的例子中,只有兩個(gè)小的輪廓段C1和C2需要編碼,因?yàn)樾螤钛a(bǔ)償與真正的形狀十分接近。為了得到其代價(jià),可以同前面一樣通過經(jīng)典的技術(shù)對(duì)長度為L1和L2的兩個(gè)段實(shí)際進(jìn)行編碼或者做一個(gè)估計(jì)(例如,Cinter=1,7(L1+L2))??紤]到開始點(diǎn)數(shù)目增加,乘數(shù)因子比以前要高。但是,這個(gè)因子依賴于實(shí)際將要使用的技術(shù)。一旦已經(jīng)計(jì)算或估計(jì)了兩種代價(jià),通過比較它們就可以作出判決(選擇代價(jià)較低的)。如果Cinter低于Cintra,該區(qū)域就以幀間模式發(fā)送,否則以幀內(nèi)模式發(fā)送。所得的判決作為更新運(yùn)動(dòng)信息MOT(0)的附加二進(jìn)制信息而被存儲(chǔ)(3c)。
定義發(fā)送模式的第一步驟之后是第二步驟順序計(jì)算,它可以按照?qǐng)D1所示分解為第一子步驟(4a、4b)和第二子步驟(5)。第一子步驟用于估計(jì)一組順序參數(shù),第二子步驟用于實(shí)現(xiàn)順序信息的量化以便發(fā)送。第一子步驟(4a,4b)依賴于一個(gè)雙循環(huán),一個(gè)掃描它們的標(biāo)號(hào)所定義的區(qū)域而另一個(gè)掃描圖象空間的位置(i,j),并且順序包括兩個(gè)操作。
第一個(gè)操作(4a)用于定義對(duì)應(yīng)于有關(guān)標(biāo)號(hào)的區(qū)域的每個(gè)位置(i,j)的運(yùn)動(dòng)矢量。運(yùn)動(dòng)信息MOT(0)確實(shí)給每個(gè)區(qū)域一個(gè)運(yùn)動(dòng)模型,它是位置(i,j)的函數(shù)。例如,如果給定區(qū)域的運(yùn)動(dòng)模型是平移(dx,dy),那么這個(gè)運(yùn)動(dòng)矢量就分配給圖象的所有點(diǎn)(i,j)。如果運(yùn)動(dòng)模型是一個(gè)仿射模型(帶參數(shù)a1,a2,a3,a4,a5,a6),那么在點(diǎn)(i,j)處的運(yùn)動(dòng)域由Vx(i,j)=a1i+a2j+a3以及Vy(i,j)=a4i+a5j+a6定義。如果區(qū)域必須在幀內(nèi)模式中發(fā)送,就不執(zhí)行這個(gè)運(yùn)動(dòng)域擴(kuò)展。
第二個(gè)操作(4b)用于更新對(duì)應(yīng)于有關(guān)區(qū)域的順序。順序信息由可能沖突區(qū)域的列表組成,即在運(yùn)動(dòng)補(bǔ)償中可能與其它區(qū)域重疊的REC(-1)區(qū)域的列表。這樣的順序列表在過程開始時(shí)被設(shè)置為0。如果用LABSEG(0)和LABREC(-1)表示當(dāng)前分區(qū)SEG(0)中當(dāng)前象素(i,j)和以前重構(gòu)的分區(qū)REC(-1)中象素(i-Vx(i,j),j-Vy(i,j))的區(qū)域標(biāo)號(hào),若滿足下列條件,則與標(biāo)號(hào)REGNUM(REGNUM是與在當(dāng)前分區(qū)SEG(0)中連續(xù)考慮的每個(gè)區(qū)域有關(guān)的工作標(biāo)號(hào))的區(qū)域和具有當(dāng)前標(biāo)號(hào)LABSEG(0)的區(qū)域之間的沖突相對(duì)應(yīng)的列表項(xiàng)被更新(a)當(dāng)前標(biāo)號(hào)LABSEG(0)與以幀內(nèi)模式發(fā)射的任何區(qū)域標(biāo)號(hào)不同在這種情況下(即,如果當(dāng)前分區(qū)SEG(0)中的點(diǎn)(i,j)對(duì)應(yīng)于以幀內(nèi)模式發(fā)射的區(qū)域),任何落入這個(gè)位置中的補(bǔ)償標(biāo)號(hào)都舍去;(b)以前標(biāo)號(hào)LABREC(-1)與標(biāo)號(hào)LABNUM相同那么當(dāng)前分區(qū)SEG(0)的點(diǎn)(i,j)是接收這個(gè)標(biāo)號(hào)REGNUM的候選點(diǎn);(c)當(dāng)前標(biāo)號(hào)LABSEG(0)不同于標(biāo)號(hào)LABNUM那么象素(i,j)的正確標(biāo)號(hào)不是REGNUM,而且?guī)М?dāng)前標(biāo)號(hào)LABSEG(0)以及標(biāo)號(hào)REGNUM(=LABREC(-1))的區(qū)域是沖突區(qū)域,該第一個(gè)在該第二個(gè)的前景中(對(duì)應(yīng)于標(biāo)號(hào)LABSEG(0)和REGNUM之間沖突的列表項(xiàng)于是增加一個(gè)單位)。
這個(gè)過程對(duì)所有點(diǎn)(i,j)和所有標(biāo)號(hào)REGNUM重復(fù),順序列表最后給出有可能認(rèn)為一個(gè)給定區(qū)域在另一個(gè)區(qū)域前景的出現(xiàn)次數(shù)。
接在第一步驟之后的第二步驟(5)用于將順序量化(接收機(jī)只需要一個(gè)二進(jìn)制判決以便能夠解決運(yùn)動(dòng)補(bǔ)償中標(biāo)號(hào)沖突的情況)。對(duì)每對(duì)標(biāo)號(hào),通過將認(rèn)為該第一個(gè)在該第二個(gè)的前景的出現(xiàn)次數(shù)與認(rèn)為該第二個(gè)在該第一個(gè)的前景的出現(xiàn)次數(shù)相比較,就可以實(shí)現(xiàn)這個(gè)量化。兩個(gè)有關(guān)區(qū)域之間的最后順序定義為與最大出現(xiàn)次數(shù)相對(duì)應(yīng)的那個(gè)區(qū)域。這個(gè)順序ORD(0)然后可以回送作為子步驟(1a,1b)的輸入,以便建立一個(gè)重復(fù)的循環(huán),在該循環(huán)中所述的順序信息允許更新輪廓發(fā)送模式的定義。如果不想增加計(jì)算量,要保持較少的循環(huán)次數(shù)。實(shí)際上,只要兩到三次循環(huán)就足夠了。必須注意的是,在這種循環(huán)的情況下,如果順序信息ORD(0)未知就不能進(jìn)行分區(qū)補(bǔ)償。為了解決這個(gè)問題,只要在第一次循環(huán)中假設(shè)所有新區(qū)域(即在SEG(0)中出現(xiàn)而在REC(-1)中未出現(xiàn)的區(qū)域)以幀內(nèi)模式發(fā)送而且所有其它區(qū)域以幀間模式發(fā)送,這等效于給ORD(0)一個(gè)由圖1中的參考號(hào)ORD0表示的初始值。最后,一旦定義了順序信息,就可以實(shí)現(xiàn)在圖1中用參考號(hào)(6)表示的編碼方法的編碼步驟,例如遵循已經(jīng)提到的文章“運(yùn)動(dòng)和區(qū)域重疊估算”(“Motion and region overlapping estimation”)IEEE-ICIP,94年11月,中描述的輪廓/紋理編碼方法。
上面提到的分區(qū)補(bǔ)償現(xiàn)在用更詳細(xì)的方式來描述。這個(gè)子步驟(1a,1b)用于實(shí)現(xiàn)以前重構(gòu)分區(qū)REC(-1)的補(bǔ)償并包括多個(gè)操作。由于補(bǔ)償分區(qū)的一個(gè)特定點(diǎn)(i,j)所屬的區(qū)域是未知的,必須連續(xù)假設(shè)該點(diǎn)屬于(標(biāo)號(hào)REGNUM的)所有可能區(qū)域,測試所有可能的運(yùn)動(dòng)參數(shù)。因此,當(dāng)使用指定給單個(gè)區(qū)域(標(biāo)號(hào)REGNUM的當(dāng)前區(qū)域)的運(yùn)動(dòng)參數(shù)時(shí),第一個(gè)操作(1a)是用于定義整個(gè)圖象的運(yùn)動(dòng)域的。對(duì)于操作(1a),暫時(shí)假設(shè)圖象的所有象素屬于區(qū)域REGNUM。一般這個(gè)操作(1a)可以很容易地執(zhí)行,因?yàn)檫\(yùn)動(dòng)信息給每個(gè)區(qū)域一個(gè)作為位置(i,j)函數(shù)的運(yùn)動(dòng)模型。至于操作(4a),如果給定區(qū)域的運(yùn)動(dòng)模型是平移,那么這個(gè)平移矢量就分配給圖象的所有點(diǎn)(i,j)。如果運(yùn)動(dòng)模型是仿射,那么在每點(diǎn)(i,j)處的運(yùn)動(dòng)域由這個(gè)模型定義。類似于前面描述過(第二步驟“順序計(jì)算”的第一子步驟的第一操作(4a))的這個(gè)定義操作之后是第二操作(1b)補(bǔ)償,根據(jù)補(bǔ)償操作,對(duì)于被補(bǔ)償分區(qū)RECCOMP(-1)的每個(gè)象素(i,j),被補(bǔ)償?shù)臉?biāo)號(hào)如下定義(該過程對(duì)所有象素(i,j)和所有區(qū)域重復(fù),即對(duì)所有的標(biāo)號(hào)REGNUM重復(fù))(a)如果象素(i,j)對(duì)應(yīng)于按幀內(nèi)模式發(fā)射的區(qū)域,該標(biāo)號(hào)就不被補(bǔ)償任何落入該區(qū)域的補(bǔ)償標(biāo)號(hào)都舍去;(b)如果以前的標(biāo)號(hào)LABREC(-1)(即,前一分區(qū)REC(-1)中象素(i-Vx(i,j),j-Vy(i,j))的區(qū)域號(hào))與當(dāng)前標(biāo)號(hào)REGNUM相同,補(bǔ)償就是有效的,而且象素(i,j)是接收標(biāo)號(hào)REGNUM的候選者;(c)如果被補(bǔ)償分區(qū)的位置(i,j)是空的,必須將標(biāo)號(hào)LABREC(-1)指定給那個(gè)位置;(d)如果位置(i,j)已經(jīng)分配了一個(gè)標(biāo)號(hào),這個(gè)補(bǔ)償標(biāo)號(hào)與前面的標(biāo)號(hào)LABREC(-1)沖突,但是這個(gè)沖突可以通過存儲(chǔ)在ORD(0)中的順序信息來解決該標(biāo)號(hào)是與由ORD(0)所定義的前景區(qū)域所對(duì)應(yīng)的那個(gè)。
對(duì)標(biāo)號(hào)REGNUM的所有點(diǎn)(i,j)和所有可能區(qū)域重復(fù)這個(gè)過程。最后,可以對(duì)補(bǔ)償信息進(jìn)行后處理以便生成一個(gè)分區(qū)。確實(shí),以前的補(bǔ)償技術(shù)不能保證對(duì)連接的區(qū)域的定義,而且實(shí)際上幾個(gè)被連接的部分可能具有相同的標(biāo)號(hào)。為了解決這個(gè)問題,可以使用一個(gè)兩步驟的過程。第一步驟為每個(gè)標(biāo)號(hào)選擇一個(gè)連接部分??梢允褂枚鄠€(gè)判據(jù)。簡單的一個(gè)判據(jù)包括選擇最大部分(注意這個(gè)選擇可以在接收機(jī)一側(cè)進(jìn)行而不需發(fā)送任何開銷信息)。一些連接部分的消除會(huì)在分區(qū)中產(chǎn)生一些洞,即一些區(qū)域既不對(duì)應(yīng)于以幀內(nèi)模式發(fā)送的區(qū)域,也不對(duì)應(yīng)于補(bǔ)償標(biāo)號(hào)。這些洞可以留下并作為單獨(dú)區(qū)域由后面的步驟處理,或者也可以刪除。例如,一個(gè)洞通過傳播鄰區(qū)標(biāo)號(hào)或者將其分配給最大的鄰區(qū)等辦法來消除。在這個(gè)過程的結(jié)尾,得到最后補(bǔ)償?shù)姆謪^(qū)RECCOMP(0)。
上面描述的編碼方法可以用幾種方式實(shí)施,例如借助于圖8中的編碼系統(tǒng),該系統(tǒng)在圖9到11中詳細(xì)描述。所說明的編碼系統(tǒng)順序地包括一個(gè)分段裝置81,用于產(chǎn)生待編碼的連續(xù)分區(qū),一個(gè)運(yùn)動(dòng)估計(jì)裝置82,用于對(duì)每個(gè)當(dāng)前分區(qū)區(qū)域相對(duì)于前一區(qū)域的運(yùn)動(dòng)進(jìn)行估計(jì),一個(gè)順序計(jì)算裝置83,用于在待編碼的當(dāng)前分區(qū)的區(qū)域之間規(guī)定優(yōu)先級(jí),一個(gè)編碼裝置84,用于對(duì)當(dāng)前分區(qū)的每個(gè)區(qū)域?qū)嵤┘y理和輪廓編碼步驟,以及一個(gè)分區(qū)重構(gòu)裝置85。
順序計(jì)算裝置83由以環(huán)路形式組織的面向判決的子系統(tǒng)組成,包括用于每個(gè)區(qū)域發(fā)送模式定義(幀內(nèi)或幀間)的第一電路91以及計(jì)算順序的第二電路92。第一電路91從裝置81接收當(dāng)前分區(qū)SEG(0),從裝置85接收前面的重構(gòu)分區(qū)REC(-1),從裝置82接收運(yùn)動(dòng)信息MOT(0),以及接收第二電路92輸出的順序信號(hào)。第二電路92接收第一電路81輸出端提供的更新過的運(yùn)動(dòng)信息輸出,接收當(dāng)前分區(qū)SEG(0),并接收前面的重構(gòu)分區(qū)REC(-1),它的輸出是順序信號(hào),該信號(hào)既發(fā)給第一電路91的第四個(gè)輸入而且也與所述的更新的運(yùn)動(dòng)信息一起發(fā)給編碼裝置84。
用于比較以幀內(nèi)和幀間模式輪廓信息編碼代價(jià)的第一電路91,包括一個(gè)選擇子組件(103到106),用于完成幀內(nèi)模式編碼代價(jià)估計(jì)(在編碼模塊103和104中,所得的信息量在其輸出端進(jìn)行測量),并且,在比較了兩個(gè)代價(jià)之后,選擇(模塊105)較小的一個(gè)及其對(duì)應(yīng)的更新運(yùn)動(dòng)信息(模塊106)。在電路104中,編碼代價(jià)直接由分區(qū)SEG(0)算出,而在電路103中,是在從補(bǔ)償分區(qū)的估計(jì)中推導(dǎo)出補(bǔ)償誤差的以前的運(yùn)算(在模塊102中)之后才能計(jì)算出來。所述補(bǔ)償分區(qū)在補(bǔ)償模塊101的輸出端提供。但是由于這個(gè)補(bǔ)償可能不能保證被連接區(qū)域的定義(幾個(gè)連接部分可能有相同的標(biāo)號(hào)),在模塊107中只能選擇一個(gè)連接部分(例如最大的一個(gè)),而且對(duì)應(yīng)于其它被去掉的部分(即,既不對(duì)應(yīng)于幀內(nèi)模式發(fā)送區(qū)域也不對(duì)應(yīng)于補(bǔ)償標(biāo)號(hào)的區(qū)域)的洞在后處理模塊108中可以保留并作為單個(gè)區(qū)域處理,或者去掉。
用于產(chǎn)生順序信號(hào)的第二電路92,包括一個(gè)運(yùn)動(dòng)域擴(kuò)展模塊111、一個(gè)更新模塊112以及一個(gè)量化模塊113。模塊111為整個(gè)圖象分配由指定給每個(gè)有關(guān)區(qū)域的運(yùn)動(dòng)參數(shù)所推導(dǎo)出來的運(yùn)動(dòng)域(Vx,Vy),模塊112則實(shí)現(xiàn)運(yùn)動(dòng)信息的更新。模塊113實(shí)現(xiàn)順序信息的量化,這種量化是通過為每對(duì)所檢查的標(biāo)號(hào)(即,所關(guān)心的區(qū)域)給對(duì)應(yīng)于發(fā)生如下情況次數(shù)較多的標(biāo)號(hào)產(chǎn)生一個(gè)二進(jìn)制數(shù)來實(shí)現(xiàn)的這種情況是所述標(biāo)號(hào)被認(rèn)為在另一個(gè)的前景上。
所述的以前歐洲專利申請(qǐng)也涉及對(duì)諸如上述編碼信號(hào)解碼的方法,以及相應(yīng)的解碼子系統(tǒng)。在圖12中說明的該解碼方法包括如下步驟內(nèi)解碼步驟121a、運(yùn)動(dòng)補(bǔ)償步驟122a、以及分區(qū)重構(gòu)步驟123a,其輸出既構(gòu)成了當(dāng)前重構(gòu)分區(qū)也用于下面的解碼循環(huán)。
如圖13中所示,由內(nèi)區(qū)域解碼電路130實(shí)現(xiàn)的第一解碼步驟121a用于以幀內(nèi)模式發(fā)送的區(qū)域輪廓的恢復(fù)。相應(yīng)的解碼電路包括輸入緩沖器131以及解碼級(jí)132,它允許根據(jù)發(fā)送端用于形狀編碼的特定技術(shù)重構(gòu)以幀內(nèi)模式發(fā)送的區(qū)域(例如,在鏈?zhǔn)骄幋a方法的情況下,例如P.N.Nicholl和R.J.Millar的通訊“以非限制鏈編碼方法實(shí)現(xiàn)螺旋圖象壓縮”(“Spiral image compression by an unrestricted chain codingmethod”)5th International Conference on Image Processing and itsApplications,UK,1995年7月4-6日,第564-568頁中描述的方法,這種重構(gòu)的基本方法是從輸入緩沖器中讀出輪廓的起點(diǎn)位置,然后讀鏈的相繼的位移,例如向右轉(zhuǎn)、向左轉(zhuǎn)、向前,從而畫出解碼過的輪廓)。一旦輪廓集合畫完,掩模定義級(jí)133允許給每個(gè)區(qū)域分配不同的標(biāo)號(hào)并給其它區(qū)域(將要以幀間模式發(fā)射的)分配0標(biāo)號(hào)。從而產(chǎn)生表示這些區(qū)域的掩模。
第二個(gè)運(yùn)動(dòng)補(bǔ)償步驟122a可以按前面說明進(jìn)行(因此相應(yīng)的補(bǔ)償電路140就不再用更詳細(xì)的方式描述),順序信息用于解決當(dāng)兩個(gè)不同標(biāo)號(hào)分配給同一位置而出現(xiàn)的沖突(對(duì)應(yīng)于所述順序信息所定義的前景區(qū)域的標(biāo)號(hào)被認(rèn)為是正確的標(biāo)號(hào))。補(bǔ)償分區(qū)由幀內(nèi)編碼區(qū)域、運(yùn)動(dòng)補(bǔ)償區(qū)域以及對(duì)應(yīng)于空區(qū)域(在補(bǔ)償過程中未分配標(biāo)號(hào)的區(qū)域)的洞組成。
一旦有了補(bǔ)償分區(qū),由解碼電路150實(shí)現(xiàn)的第三個(gè)分區(qū)重構(gòu)步驟123a允許在誤差區(qū)域解碼級(jí)151中來解碼構(gòu)成誤差區(qū)域的小輪廓段??梢允褂媒獯a級(jí)132中使用的類似過程,主要區(qū)別在于不再處理區(qū)域的整個(gè)輪廓而只是輪廓的片段。在解碼級(jí)151的輸出段提供所謂覆蓋分區(qū),它由補(bǔ)償區(qū)域和發(fā)射的誤差區(qū)域集合之間的交集構(gòu)成。然后標(biāo)號(hào)解碼級(jí)152允許解碼這個(gè)覆蓋分區(qū)的區(qū)域標(biāo)號(hào)并分配這些標(biāo)號(hào)。
一旦順序已作了估計(jì),例如通過作為所引用的歐洲專利申請(qǐng)的目的的所述前面提及的方法來實(shí)現(xiàn)這種估計(jì),則分區(qū)的編碼可以通過實(shí)施圖14中所示的編碼方法來進(jìn)行。根據(jù)本發(fā)明,這樣的方法順序包括如下步驟(A)用于選擇必須根據(jù)幀內(nèi)模式發(fā)射的區(qū)域輪廓并對(duì)其編碼的第一步驟;(B)用于產(chǎn)生補(bǔ)償分區(qū)的第二步驟,包括以幀內(nèi)模式發(fā)送的所述區(qū)域以及補(bǔ)償區(qū)域;(C)用于從所述當(dāng)前及補(bǔ)償分區(qū)計(jì)算分區(qū)誤差并對(duì)其編碼的第三步驟。
第一步驟(A)用于定義以幀內(nèi)模式發(fā)送的區(qū)域的輪廓信息以及相應(yīng)的二進(jìn)制掩模,該掩模表示該分區(qū)被認(rèn)為已經(jīng)定義,該步驟包括三個(gè)子步驟1101a、1101b及1101c。
第一子步驟1101a包括選擇一組必須以幀內(nèi)模式發(fā)射(及/或存儲(chǔ))的區(qū)域。這組區(qū)域包括兩種類型的區(qū)域新區(qū)域,該區(qū)域在當(dāng)前分區(qū)SEG(0)中出現(xiàn)但未出現(xiàn)在前一分區(qū)SEG(-1)被編碼后重構(gòu)的分區(qū)REC(-1)中,以及已知必須以幀內(nèi)模式發(fā)送的區(qū)域(后面這類區(qū)域包括,例如在所引用的歐洲專利申請(qǐng)描述的編碼方法的實(shí)施過程中,被定義為在輪廓編碼中以這樣的幀內(nèi)模式發(fā)送的區(qū)域)。正如前面所看到的,有關(guān)傳輸模式的信息已包括在全局信息MOT(0)之內(nèi),MOT(0)表明了前分區(qū)SEG(-1)和當(dāng)前分區(qū)SEG(0)之間分區(qū)的變化。因此這個(gè)區(qū)域選擇子步驟1101a定義了與視頻序列的每個(gè)圖象相對(duì)應(yīng)的空間的分區(qū)PART(0)。
因?yàn)榉謪^(qū)PART(0)必須發(fā)送到接收端,第二子步驟1101b用于根據(jù)多個(gè)已知技術(shù)之一實(shí)現(xiàn)相應(yīng)的編碼操作,例如根據(jù)通訊“輪廓圖象的形狀和位置編碼”(“Shape and location coding for contourimages”),Picture Coding Symposium,Lausanne(Switzerland),1993年3月,第18.6.1-18.6.2頁中描述的編碼方法(根據(jù)這樣一種傳統(tǒng)的方法,要產(chǎn)生、存儲(chǔ)、熵編碼、復(fù)接一組符號(hào)并將其發(fā)送到傳輸信道,這樣發(fā)射的信息允許在接收機(jī)一側(cè)恢復(fù)分區(qū)的輪廓)。存儲(chǔ)被稱做CPART(0)的所傳遞的編碼信息(子步驟200)。
由于這個(gè)第二子步驟1101b沒有表示哪個(gè)區(qū)域?qū)⒁詭瑑?nèi)模式發(fā)射,在下面子步驟1101c中將進(jìn)行這個(gè)操作。例如,參考圖15,如果假定輪廓信息的傳輸產(chǎn)生一個(gè)六區(qū)域分區(qū)而且這些區(qū)域中只有四個(gè)(1,2,4,6)將以幀內(nèi)模式發(fā)送,就產(chǎn)生一個(gè)圖16中所示的表示這些位置的掩模。這個(gè)掩模被稱做INTRAREG(0)并將可表明由于根據(jù)每個(gè)區(qū)域的傳輸模式而不同的編碼,必須以幀內(nèi)模式發(fā)送其標(biāo)號(hào)的多個(gè)位置在第二步驟(B)中將是有用的(每次在位于掩模之內(nèi)并因此對(duì)應(yīng)于以幀內(nèi)模式發(fā)射區(qū)域的位置處的標(biāo)號(hào)將被補(bǔ)償,這個(gè)被補(bǔ)償?shù)臉?biāo)號(hào)將不予考慮)。然后為了隨后的發(fā)送,存儲(chǔ)對(duì)應(yīng)于該掩模的編碼信息CINTRAREG(0)以及編碼的信息CPART(0)(子步驟200)。在所述第一和第三子步驟(1101a、1101c)實(shí)現(xiàn)之后分別出現(xiàn)的信號(hào)PART(0)及INTRAREG(0)一起構(gòu)成要計(jì)算的補(bǔ)償分區(qū)的第一版本。
根據(jù)以前用于所提到的歐洲專利申請(qǐng)中的類似過程(順序計(jì)算的第二步驟的第一子步驟的第一操作4a),提供了第二步驟(B)以用于從以前重構(gòu)的分區(qū)REC(-1)中計(jì)算補(bǔ)償分區(qū)RECCOMP(0),它包括兩個(gè)子步驟1102a和1102b。
第一子步驟1102a用于根據(jù)分配到一個(gè)單獨(dú)的區(qū)域(標(biāo)號(hào)REGNUM的當(dāng)前那個(gè)區(qū)域)的運(yùn)動(dòng)參數(shù)而為整個(gè)圖象定義一個(gè)運(yùn)動(dòng)域,即當(dāng)由其標(biāo)號(hào)定義的單個(gè)區(qū)域的運(yùn)動(dòng)參數(shù)專門用于整個(gè)圖象時(shí),該子步驟用于定義圖象的每個(gè)位置(i,j)的運(yùn)動(dòng)矢量。同前,運(yùn)動(dòng)信息MOT(0)為每個(gè)區(qū)域給出作為位置(i,j)函數(shù)的運(yùn)動(dòng)模型,而且具有水平和垂直部分Vx(i,j)和Vy(i,j)的所述運(yùn)動(dòng)矢量可以用所述的本地運(yùn)動(dòng)模型來定義。
第二子步驟1102b用于根據(jù)假設(shè)的由每個(gè)當(dāng)前象素(i,j)的所得矢量(Vx(i,j),Vy(i,j))所給出的運(yùn)動(dòng)實(shí)現(xiàn)分區(qū)REC(-1)的每個(gè)區(qū)域的補(bǔ)償。如果用(a)COMPMASK表示第一步驟(A)的第三子步驟1101c中定義的掩模INTRAREG(0)的值(COMPMASK定義了一種按幀內(nèi)模式發(fā)送的區(qū)域的圖);(b)PREVLAB表示前面分區(qū)REC(-1)中象素(i-Vx(i,j),j-Vy(i,j))的區(qū)域號(hào)碼;于是,對(duì)于補(bǔ)償分區(qū)RECCOMP(0)的每個(gè)象素(i,j),其補(bǔ)償標(biāo)號(hào)COMPLAB定義如下,這個(gè)標(biāo)號(hào)定義過程對(duì)于所有點(diǎn)(i,j)以及標(biāo)號(hào)REGNUM的所有區(qū)域重復(fù)(1)對(duì)于以幀內(nèi)模式發(fā)射的任何區(qū)域,不補(bǔ)償該標(biāo)號(hào)(更一般地,如果點(diǎn)(i,j)對(duì)應(yīng)于以幀內(nèi)模式發(fā)射的區(qū)域,任何落入這個(gè)區(qū)域的補(bǔ)償標(biāo)號(hào)都丟棄);(2)如果前面標(biāo)號(hào)PREVLAB等于REGNUM,補(bǔ)償分區(qū)的點(diǎn)(i,j)是接收這個(gè)標(biāo)號(hào)REGNUM的候選者;(3)如果補(bǔ)償分區(qū)的位置(i,j)是空的,那么前面標(biāo)號(hào)PREVLAB分配給該位置;(4)如果補(bǔ)償標(biāo)號(hào)已經(jīng)指定給補(bǔ)償分區(qū)的一個(gè)位置(i,j),這個(gè)補(bǔ)償標(biāo)號(hào)COMPLAB和前面標(biāo)號(hào)PREVLAB是沖突的,但是依靠上面提到的附加信息可以解決這個(gè)沖突,例如依靠所提到的專利申請(qǐng)中定義的順序信息ORD(0)。
在這個(gè)過程結(jié)束時(shí),得到最后的補(bǔ)償分區(qū),它同時(shí)包括INTRAREG(0)以及經(jīng)過運(yùn)動(dòng)補(bǔ)償并在RECCOMP(0)中存儲(chǔ)(子步驟200)的區(qū)域。
第三步驟(C),用于根據(jù)幀間模式對(duì)分區(qū)誤差編碼,它包括四個(gè)子步驟1103a到1103d。這些子步驟中的第二個(gè)(1103b)可以省略。
第一子步驟1103a,用于從當(dāng)前分區(qū)REG(0)和補(bǔ)償分區(qū)RECCOMP(0)計(jì)算誤差分區(qū)ERROR(0),它包括提取那些RECCOMP(0)的補(bǔ)償標(biāo)號(hào)與SEG(0)定義的當(dāng)前標(biāo)號(hào)不同的空間的位置。與以幀內(nèi)模式發(fā)送的區(qū)域相對(duì)應(yīng)的位置顯然不包括提取操作。如圖17所示,說明了一個(gè)非常簡單例子,其中由分段產(chǎn)生的分區(qū)SEG(0)包括三個(gè)區(qū)域(1、2、3),而以前計(jì)算的補(bǔ)償分區(qū)RECCOMP(0)只包括兩個(gè)區(qū)域(1、2)。誤差區(qū)域(也就是標(biāo)號(hào)不同的地方),在圖17中用a、b、c表示,是簡單地根據(jù)下表通過對(duì)每個(gè)象素計(jì)算分區(qū)之間的標(biāo)號(hào)差別而產(chǎn)生的SEG(0)標(biāo)號(hào)RECCOMP(0)標(biāo)號(hào)ERROR(0)1 1 無誤差1 2 誤差,區(qū)域b2 1 誤差,區(qū)域a2 2 無誤差3 2 誤差,區(qū)域c在這樣得到的誤差分區(qū)ERROR(0)的每個(gè)最終誤差區(qū)域a、b、c中,SEG(0)和RECCOMP(0)的標(biāo)號(hào)是不變的即在每個(gè)誤差區(qū)域中,產(chǎn)生同樣類型的誤差(例如,在區(qū)域a中補(bǔ)償標(biāo)號(hào)是1但應(yīng)該是2)并且允許——例如(如果必要,或者有要求)通過聲稱“所有類型a的誤差必須忽略”——去掉一些誤差區(qū)域。這個(gè)提取子步驟1103a產(chǎn)生所謂誤差掩模。
然后可以提供第二子步驟1103b。盡管不是強(qiáng)制的,這個(gè)子步驟對(duì)于檢查誤差分區(qū)的每個(gè)區(qū)域——以便根據(jù)一個(gè)預(yù)定的準(zhǔn)則了解它應(yīng)該被保留并編碼或相反地應(yīng)該被去掉——是有用的。實(shí)際上,最有用的準(zhǔn)則是一個(gè)幾何準(zhǔn)則,根據(jù)該準(zhǔn)則去掉例如小于一個(gè)給定大小的所有誤差區(qū)域(一個(gè)區(qū)域的大小可以認(rèn)為是它的面積、或它的最大長度、或它的最大寬度、等等),或者一個(gè)灰度準(zhǔn)則,根據(jù)該準(zhǔn)則去掉不會(huì)對(duì)灰度值(或者顏色值)引入大量修改的所有誤差區(qū)域。在后一種情況,可以這樣進(jìn)行判決,例如通過一方面假設(shè)誤差區(qū)域?qū)儆赗ECCOMP(0)定義的區(qū)域來考慮分配給該區(qū)域的值,另一方面,假設(shè)誤差區(qū)域?qū)儆赟EG(0)定義的區(qū)域來考慮分配給該區(qū)域的值,如果這些值之間的差別很小(例如小于給定的門限),所述誤差區(qū)域就被去掉。正如已經(jīng)看到的,誤差區(qū)域應(yīng)使用兩個(gè)不同的名字,原來的稱做ERRORI(0),代替第一個(gè)ERROR(0),而第二個(gè)稱做SIMERROR(0),代替第二個(gè)ERROR(0)——它是一個(gè)簡化的誤差。
第三個(gè)子步驟1103c用于對(duì)誤差區(qū)域輪廓進(jìn)行編碼,這時(shí)要利用一些已知的輪廓而得到好處,第四且最后一個(gè)子步驟1103d用于對(duì)所述覆蓋分區(qū)OVER(0)的每個(gè)區(qū)域的標(biāo)號(hào)編碼。如圖14中所示,這個(gè)子步驟1103d包括第一操作13a,在其中提取第二子步驟1102b的補(bǔ)償過程中所定義的補(bǔ)償標(biāo)號(hào),以及第二操作13b,在其中估計(jì)當(dāng)前分區(qū)SEG(0)最可能的標(biāo)號(hào)。由于誤差編碼過程一般是有損失的,覆蓋分區(qū)OVER(0)的每個(gè)區(qū)域一般包括當(dāng)前分區(qū)SEG(0)的幾個(gè)標(biāo)號(hào)。但是必須對(duì)有關(guān)OVER(0)的每個(gè)區(qū)域標(biāo)號(hào)做判決,例如可以這樣做,首先通過掃描OVER(0)有關(guān)區(qū)域而對(duì)所遇到的SEG(0)的標(biāo)號(hào)建立一個(gè)列表,確定對(duì)應(yīng)于每個(gè)SEG(0)標(biāo)號(hào)的區(qū)域或象素號(hào),并選擇對(duì)應(yīng)于最大值的一個(gè)標(biāo)號(hào)。這個(gè)標(biāo)號(hào),稱做DOMLAB(0)或最可能標(biāo)號(hào),定義為落入誤差區(qū)域的SEG(0)的主標(biāo)號(hào)。
主標(biāo)號(hào)可以直接在傳輸信道中發(fā)送,但是這樣一般會(huì)產(chǎn)生過多的信息量。為了降低信息量,可以使用如下編碼策略來提供第三操作13c(1)對(duì)于給定區(qū)域,產(chǎn)生鄰區(qū)補(bǔ)償標(biāo)號(hào)的順序列表,例如根據(jù)標(biāo)號(hào)的數(shù)字值或鄰區(qū)的幾何位置的列表;(2)分配下列碼以定義每個(gè)標(biāo)號(hào),情況(a)和(b)是最常見的(a)如果DOMLAB(0)=COMPLAB(0),標(biāo)號(hào)為碼0;
(b)如果DOMLAB(0)=補(bǔ)償標(biāo)號(hào)的所述順序列表中的一個(gè)標(biāo)號(hào),該標(biāo)號(hào)為所述順序列表中表示標(biāo)號(hào)位置的碼;(c)在所有其它情況,傳遞一個(gè)轉(zhuǎn)義碼,后跟實(shí)際標(biāo)號(hào)DOMLAB(0)。
本發(fā)明不僅限于上面描述的實(shí)施例,只要不背離本發(fā)明的范圍可以從中導(dǎo)出修正或改進(jìn)。例如,這個(gè)編碼方法很明顯可以用幾種方式來實(shí)現(xiàn),例如借助于連線的電子模塊,或者優(yōu)選地,以包括處理器或微處理器的實(shí)施例的形式,后者可保證執(zhí)行一系列指令,這些指令相當(dāng)于在所述的電子模塊中實(shí)現(xiàn)的至少一部分功能、計(jì)算以及其它操作。這樣的編碼系統(tǒng)的例子示于圖18。這個(gè)系統(tǒng)順序包括裝置170,用于估計(jì)表明所述每個(gè)區(qū)域從前面分區(qū)SEG(-1)到當(dāng)前分區(qū)SEG(0)分段變化的運(yùn)動(dòng)模型,后面跟著裝置180,用于對(duì)所述當(dāng)前分區(qū)的每個(gè)區(qū)域的輪廓和紋理進(jìn)行編碼。更精確地,這些編碼裝置180包括內(nèi)編碼裝置181,用于產(chǎn)生以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的區(qū)域的編碼輪廓信息,補(bǔ)償裝置182,用于計(jì)算包括所述以幀內(nèi)模式發(fā)送的區(qū)域以及根據(jù)所述估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域在內(nèi)的補(bǔ)償分區(qū),和內(nèi)編碼裝置183,用于提取并編碼分區(qū)誤差,這些分區(qū)誤差通過補(bǔ)償標(biāo)號(hào)和當(dāng)前標(biāo)號(hào)不同的誤差區(qū)域的提取來定義。
內(nèi)編碼裝置181本身包括第一選擇級(jí)191,它包括第一模塊192,用于定義必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的所述內(nèi)區(qū)域的列表,以及第二模塊193,用于產(chǎn)生關(guān)聯(lián)于所述區(qū)域的掩模。裝置181還包括第一編碼級(jí)201,它包括第一輪廓編碼模塊202,用于對(duì)所述內(nèi)區(qū)域的輪廓進(jìn)行編碼,以及第二標(biāo)號(hào)編碼模塊203,用于對(duì)掩模信息編碼。中間編碼裝置183包括第二選擇級(jí)211,用于定義關(guān)聯(lián)于所述誤差區(qū)域的誤差掩模,以及第二編碼級(jí)212,用于對(duì)誤差區(qū)域的輪廓以及關(guān)聯(lián)于所述補(bǔ)償分區(qū)輪廓和所述誤差區(qū)域輪廓的覆蓋分區(qū)的每個(gè)區(qū)域標(biāo)號(hào)進(jìn)行編碼。
在實(shí)現(xiàn)子步驟1101a到1101c并用于產(chǎn)生包括所有必須以幀內(nèi)模式發(fā)送區(qū)域的分區(qū)PART(0)的裝置181的級(jí)191中,第一模塊192分析運(yùn)動(dòng)信息MOT(0)、重構(gòu)的分區(qū)REC(-1)以及當(dāng)前分區(qū)SEG(0),并根據(jù)對(duì)SEG(0)的每個(gè)區(qū)域所實(shí)施的如下過程來產(chǎn)生所述這些區(qū)域的列表。如果某個(gè)區(qū)域沒有出現(xiàn)在REC(-1)中,即,如果相應(yīng)的標(biāo)號(hào)沒有出現(xiàn)在REC(-1)中,這個(gè)區(qū)域就必須以幀內(nèi)模式發(fā)送。否則,檢查運(yùn)動(dòng)信息MOT(0)在運(yùn)動(dòng)參數(shù)(包括轉(zhuǎn)換、縮放和旋轉(zhuǎn))中,用一個(gè)比特來表示這個(gè)區(qū)域必須以幀內(nèi)還是幀間模式發(fā)送。第二模塊193產(chǎn)生一個(gè)掩模,它只包括出現(xiàn)在所產(chǎn)生的列表中的SEG(0)的區(qū)域。沒有區(qū)域的地方保留為空并且例如,給它們的象素分配一個(gè)0標(biāo)號(hào)。
輪廓編碼模塊202可以使用任何已知的輪廓編碼技術(shù),例如,輪廓的多項(xiàng)式近似和表示,如歐洲專利申請(qǐng)EP-0587232以及本申請(qǐng)人以前提交的EP-0592029中所描述的。標(biāo)號(hào)編碼模塊203為每種區(qū)域發(fā)送一個(gè)特定碼,最簡單的方案是,例如內(nèi)區(qū)域?yàn)闃?biāo)號(hào)“1”。
補(bǔ)償裝置182允許實(shí)現(xiàn)圖14中所說明的編碼方法的第二步驟(B),以定義補(bǔ)償?shù)臉?biāo)號(hào),已經(jīng)指出,所得的分區(qū)RECCOMP(0)包括INTRAREG(0)(以幀內(nèi)模式發(fā)送的區(qū)域)及運(yùn)動(dòng)補(bǔ)償?shù)膮^(qū)域。中間編碼裝置183,它用于實(shí)現(xiàn)子步驟1103a到1103d,它包括第二選擇級(jí)211,后接由輪廓編碼裝置2121及標(biāo)號(hào)編碼裝置組成的編碼級(jí)212,標(biāo)號(hào)編碼裝置包括提取電路2122、計(jì)算電路2123和碼分配電路2124以實(shí)現(xiàn)操作13a、13b、13c。圖19表示裝置2121實(shí)現(xiàn)的誤差區(qū)域的輪廓編碼,如該圖19所示,對(duì)應(yīng)于以前計(jì)算的補(bǔ)償分區(qū)RECCOMP(0)的輪廓CC1、CC2、CC3(在此例中)確實(shí)是已知的,只有新(未知)輪廓NC1、NC2(在圖19中的虛線內(nèi))必須編碼(并發(fā)射)。類似于幀內(nèi)模式使用的技術(shù)(見子步驟1101b)也在這里使用,唯一區(qū)別是必須考慮到已知輪廓的存在(例如,當(dāng)新輪廓的起點(diǎn)或終點(diǎn)位于這些已知輪廓中時(shí),可能更有效地對(duì)其編碼)。事實(shí)上,對(duì)于每一段輪廓,必須發(fā)送它的位置和形狀。可以通過定義其起點(diǎn)位置(在圖19中為SP)來發(fā)送該位置,例如通過直接對(duì)該點(diǎn)(這個(gè)起點(diǎn)總是位于補(bǔ)償輪廓CC1、CC2、CC3上,其位置可以在這個(gè)補(bǔ)償輪廓本身上定義)的坐標(biāo)編碼。通過任何形狀編碼技術(shù)可以發(fā)送形狀,例如通訊“Spiralimage compression…”中描述的鏈?zhǔn)骄幋a方法,該文已經(jīng)結(jié)合與圖13的解碼電路130有關(guān)的描述提到。實(shí)際上,大量的編碼技術(shù)可以用于實(shí)現(xiàn)這個(gè)編碼子步驟,例如,已經(jīng)提到的歐洲專利EP-0587232和EP-0592029中所描述的那些技術(shù)。從這個(gè)第三子步驟1103c中得到的分區(qū)可以看作“覆蓋”分區(qū),它包括分區(qū)SEG(0)和補(bǔ)償分區(qū)RECCOMP(0)的輪廓并且例如被稱做OVER(0)。
必須強(qiáng)調(diào)的是本發(fā)明也涉及這樣的編碼系統(tǒng)(無論它的哪個(gè)實(shí)施例)的輸出處所規(guī)定的編碼信號(hào),并且因此涉及存儲(chǔ)該信號(hào)(如果它不是立即被發(fā)射,或者當(dāng)發(fā)射時(shí),在其接收一側(cè)不是立即被使用)的任何存儲(chǔ)介質(zhì)。在目前這種包括多個(gè)區(qū)域及其相關(guān)標(biāo)號(hào)并定義了連續(xù)分區(qū)的分段圖象序列的情況下,這個(gè)對(duì)應(yīng)于所述序列當(dāng)前分區(qū)的每個(gè)區(qū)域的編碼信號(hào)由復(fù)用的信號(hào)組成,它包括多種信息運(yùn)動(dòng)信息;對(duì)應(yīng)于所述連續(xù)分區(qū)之間分段的變化;第一編碼輪廓信息,對(duì)應(yīng)于必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的當(dāng)前分區(qū)的每個(gè)區(qū)域;第二編碼輪廓信息,對(duì)應(yīng)于當(dāng)前誤差分區(qū)的每個(gè)區(qū)域,所述分區(qū)和當(dāng)前標(biāo)號(hào)與補(bǔ)償分區(qū)(這個(gè)補(bǔ)償分區(qū)關(guān)聯(lián)于根據(jù)所述運(yùn)動(dòng)模型所補(bǔ)償?shù)膮^(qū)域)中觀察到的標(biāo)號(hào)不同的誤差區(qū)域相關(guān)聯(lián);以及編碼的標(biāo)號(hào)信息,包括以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的每個(gè)區(qū)域的標(biāo)號(hào)和每個(gè)誤差區(qū)域的標(biāo)號(hào)。
如果產(chǎn)生了這樣一個(gè)復(fù)雜的編碼信號(hào),但是不一定立即發(fā)射,而只是存儲(chǔ)起來用于以后發(fā)射,或者發(fā)射了但在接收一側(cè)不立即使用它。在這兩種情況下,這個(gè)編碼信號(hào)都需要存儲(chǔ),而且本發(fā)明涉及存儲(chǔ)根據(jù)本發(fā)明的信號(hào)的存儲(chǔ)介質(zhì)。
而且,本發(fā)明顯然不限于前面的實(shí)施例并且還涉及將上述這樣的編碼信號(hào)解碼的方法,還涉及相應(yīng)的解碼系統(tǒng)。在圖20中說明的這樣的解碼方法將緊密地遵循編碼方法的逆步驟。在讀出輸入緩沖器中編碼信息的步驟(步驟300)之后,以幀內(nèi)模式發(fā)送的區(qū)域的輪廓被恢復(fù)并考慮到補(bǔ)償而產(chǎn)生表示這些區(qū)域的相應(yīng)的二進(jìn)制掩模(步驟1201)。如圖21所示,該圖表示相應(yīng)的解碼系統(tǒng)的例子,這個(gè)解碼步驟1201通過區(qū)域內(nèi)解碼電路220實(shí)現(xiàn),該電路順序地包括緩沖存儲(chǔ)器221、輪廓解碼電路222以及用于以1或0填充這些區(qū)域以便表示它們是區(qū)域內(nèi)還是區(qū)域間的電路223。然后使用運(yùn)動(dòng)信息MOT(0)和順序信息ORD(0)補(bǔ)償前面的分區(qū)REC(-1)。這個(gè)補(bǔ)償步驟1202(這里是通過補(bǔ)償電路230實(shí)現(xiàn)的)與編碼部分中用到的完全相同,即帶有相同的子步驟1102(見圖14)。然后將新輪廓解碼,產(chǎn)生覆蓋分區(qū)OVER(0),解碼相應(yīng)區(qū)域的標(biāo)號(hào),并產(chǎn)生當(dāng)前重構(gòu)分區(qū)REC(0)(步驟1203)。同樣如圖21所示,這個(gè)解碼步驟1203由區(qū)域解碼電路240實(shí)現(xiàn)。電路240本身包括誤差區(qū)域解碼級(jí),它用于產(chǎn)生由補(bǔ)償區(qū)域和發(fā)射誤差區(qū)域集之間的交集組成的覆蓋分區(qū),它并且包括用于對(duì)誤差輪廓的起點(diǎn)解碼的子級(jí)241及用于對(duì)這些輪廓的形狀解碼(例如根據(jù)已經(jīng)提到的鏈?zhǔn)骄幋a方法的原理)的子級(jí)242,以及電路243,用于解碼每個(gè)標(biāo)號(hào)并用其標(biāo)號(hào)填充每個(gè)區(qū)域。
一些以前描述的操作可以被改進(jìn)。例如,可以注意到,在圖14說明的編碼方法的實(shí)施中,以前的第二步驟(B)不保證定義被連接的區(qū)域。實(shí)際上幾個(gè)連接的部分可能有相同的標(biāo)號(hào),而在一些應(yīng)用中希望每個(gè)標(biāo)號(hào)只有一個(gè)連接的部分。因此在第二步驟中包括兩個(gè)附加子步驟1102c和1102d,在圖14中用虛線表示,順序接于第一和第二子步驟1102a和1102b,然后取消子步驟1102b的輸出和子步驟1103a的輸入之間的直接連接。
(第三)子步驟1102c用于根據(jù)給定的準(zhǔn)則(一個(gè)最簡單的準(zhǔn)則是幾何準(zhǔn)則,即選擇最大部分),為每個(gè)標(biāo)號(hào)選擇唯一的連接部分。去掉一些連接部分可在分區(qū)中產(chǎn)生一些可以在(第四)子步驟102d中處理的洞,該子步驟用于根據(jù)給定的準(zhǔn)則去掉這些洞。幾何準(zhǔn)則在這里也是最值得注意的例如,通過傳播鄰區(qū)編號(hào)、或者通過將洞分配到最大的鄰區(qū)從而可以去掉洞。在這兩個(gè)附加子步驟的末尾,可以得到最后改進(jìn)的補(bǔ)償分區(qū),象以前一樣存儲(chǔ)在RECCOMP(0)中(子步驟200)。
權(quán)利要求
1.一種對(duì)由多個(gè)區(qū)域及相關(guān)標(biāo)號(hào)組成并定義連續(xù)分區(qū)的分段圖象序列進(jìn)行編碼的方法,所述方法包括用于估計(jì)運(yùn)動(dòng)模型的操作,該模型表征每個(gè)所述區(qū)域從前一分區(qū)到當(dāng)前分區(qū)的分段變化,還包括對(duì)所述當(dāng)前分區(qū)的每個(gè)區(qū)域的輪廓和紋理進(jìn)行編碼的操作。其特征在于,所述編碼操作順序包括如下步驟—對(duì)根據(jù)以幀內(nèi)模式發(fā)送和/或存儲(chǔ)的區(qū)域的輪廓進(jìn)行編碼;—產(chǎn)生補(bǔ)償分區(qū),包括以幀內(nèi)模式發(fā)送的所述區(qū)域以及基于所述的運(yùn)動(dòng)模型補(bǔ)償?shù)膮^(qū)域;—從所述當(dāng)前及補(bǔ)償分區(qū)計(jì)算誤差分區(qū)并對(duì)所述誤差分區(qū)及被編碼的誤差分區(qū)的每個(gè)區(qū)域的標(biāo)號(hào)進(jìn)行編碼。
2.根據(jù)權(quán)利要求1的編碼方法,其特征在于(A)所述編碼步驟包括如下子步驟—選擇必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的所述當(dāng)前分區(qū)的區(qū)域集;—將所述的選擇區(qū)域編碼;—產(chǎn)生與這些選擇區(qū)域有關(guān)的掩模并對(duì)其編碼;(B)所述產(chǎn)生步驟包括如下子步驟—對(duì)于每個(gè)有關(guān)區(qū)域,對(duì)當(dāng)前分區(qū)的所有點(diǎn)指定為該有關(guān)區(qū)域所估計(jì)的運(yùn)動(dòng)模型;—對(duì)于每個(gè)有關(guān)區(qū)域,基于對(duì)當(dāng)前分區(qū)和考慮所述指定的運(yùn)動(dòng)模型而重構(gòu)的分區(qū)之間所作的比較而產(chǎn)生所述補(bǔ)償分區(qū);(C)所述計(jì)算和編碼步驟包括如下子步驟—從所述當(dāng)前及補(bǔ)償分區(qū)計(jì)算誤差分區(qū);—對(duì)和所述補(bǔ)償分區(qū)輪廓和所述誤差分區(qū)輪廓相關(guān)聯(lián)的所謂覆蓋分區(qū)的輪廓進(jìn)行編碼;—對(duì)所述被編碼的覆蓋分區(qū)的每個(gè)區(qū)域的標(biāo)號(hào)進(jìn)行編碼。
3.根據(jù)權(quán)利要求2的編碼方法,其特征在于,所述產(chǎn)生步驟可在其兩個(gè)第一子步驟和所述計(jì)算及編碼步驟的輸入之間順序地包括如下子步驟—根據(jù)第一預(yù)定判據(jù),為每個(gè)標(biāo)號(hào)選擇一個(gè)連接部分;—根據(jù)第二預(yù)定判據(jù),刪去對(duì)應(yīng)于未被選擇的連接部分的洞。
4.根據(jù)權(quán)利要求2和3中的任意一個(gè)編碼方法,其特征在于,可以在計(jì)算及編碼步驟的所述計(jì)算和輪廓編碼子步驟之間提供一個(gè)附加的簡化子步驟,以便去掉或保留并編碼誤差分區(qū)的每個(gè)區(qū)域。
5.一種對(duì)由多個(gè)區(qū)域及相關(guān)標(biāo)號(hào)組成并定義連續(xù)分區(qū)的分段圖象序列進(jìn)行編碼的系統(tǒng),所述系統(tǒng)包括用于估計(jì)運(yùn)動(dòng)模型的裝置,該模型表征每個(gè)所述區(qū)域由從前分區(qū)到當(dāng)前分區(qū)的分段變化,還包括將所述當(dāng)前分區(qū)的每個(gè)區(qū)域的輪廓和紋理進(jìn)行編碼的裝置,其特征在于所述編碼裝置包括—一個(gè)內(nèi)編碼裝置,用于產(chǎn)生根據(jù)幀內(nèi)模式發(fā)射和/或存儲(chǔ)的區(qū)域的編碼輪廓信息;—一個(gè)補(bǔ)償裝置,用于計(jì)算補(bǔ)償分區(qū),包括以幀內(nèi)模式發(fā)送的所述區(qū)域以及基于所述的估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;—一個(gè)中間編碼裝置,用于提取并編碼分區(qū)誤差,這樣的分區(qū)誤差是由對(duì)其中有不同的補(bǔ)償標(biāo)號(hào)與當(dāng)前標(biāo)號(hào)的誤差區(qū)域的提取來定義的。
6.一個(gè)根據(jù)權(quán)利要求5的編碼系統(tǒng),其特征在于(A)所述內(nèi)編碼裝置包括(1)第一選擇級(jí),包括第一模塊,用于定義必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的所述內(nèi)區(qū)域的列表,以及第二模塊,用于產(chǎn)生和所述被選擇區(qū)域相關(guān)的掩模;(2)第一編碼級(jí),包括第一輪廓編碼模塊,用于對(duì)所述內(nèi)區(qū)域的輪廓編碼,以及第二標(biāo)號(hào)編碼模塊,用于對(duì)掩模信息編碼;(B)所述中間編碼裝置包括(1)第二選擇級(jí),用于定義和所述誤差區(qū)域相關(guān)的誤差掩模;(2)第二編碼級(jí),用于對(duì)誤差區(qū)域的輪廓以及和所述補(bǔ)償分區(qū)輪廓和所述誤差區(qū)域輪廓相關(guān)的覆蓋分區(qū)的每個(gè)區(qū)域標(biāo)號(hào)進(jìn)行編碼。
7.一種編碼信號(hào),該編碼信號(hào)在由多個(gè)區(qū)域及相關(guān)標(biāo)號(hào)組成并定義連續(xù)分區(qū)的分段圖象序列方面和所述序列當(dāng)前分區(qū)的每個(gè)區(qū)域相對(duì)應(yīng),該編碼信號(hào)由多路復(fù)用信號(hào)組成,該編碼信號(hào)包括(A)運(yùn)動(dòng)信息,對(duì)應(yīng)于運(yùn)動(dòng)模型的估計(jì),該模型表征所述連續(xù)分區(qū)之間分段的變化;(B)第一編碼輪廓信息,對(duì)應(yīng)于必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的當(dāng)前分區(qū)的每個(gè)區(qū)域;(C)第二編碼輪廓信息,對(duì)應(yīng)于當(dāng)前誤差分區(qū)的每個(gè)區(qū)域,所述分區(qū)和其中有不同的當(dāng)前標(biāo)號(hào)與補(bǔ)償分區(qū)中觀察到的標(biāo)號(hào)的誤差區(qū)域相關(guān)聯(lián),而該補(bǔ)償分區(qū)則關(guān)聯(lián)于基于所述估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;(D)編碼標(biāo)號(hào)信息,包括以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的每個(gè)區(qū)域的標(biāo)號(hào)以及每個(gè)誤差區(qū)域的標(biāo)號(hào)。
8.一種存儲(chǔ)編碼信號(hào)的存儲(chǔ)介質(zhì),該編碼信號(hào)在由多個(gè)區(qū)域及相關(guān)標(biāo)號(hào)組成并定義連續(xù)分區(qū)的分段圖象序列方面和所述序列當(dāng)前分區(qū)的每個(gè)區(qū)域相對(duì)應(yīng),該編碼信號(hào)由多路復(fù)用信號(hào)組成,該所述編碼信號(hào)包括(A)運(yùn)動(dòng)信息,對(duì)應(yīng)于運(yùn)動(dòng)模型的估計(jì),該模型表征所述連續(xù)分區(qū)之間分段的變化;(B)第一編碼輪廓信息,對(duì)應(yīng)于必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的當(dāng)前分區(qū)的每個(gè)區(qū)域;(C)第二編碼輪廓信息,對(duì)應(yīng)于當(dāng)前誤差分區(qū)的每個(gè)區(qū)域,所述分區(qū)和其中有不同的當(dāng)前標(biāo)號(hào)與補(bǔ)償分區(qū)中觀察到的標(biāo)號(hào)的誤差區(qū)域相關(guān)聯(lián),而該補(bǔ)償分區(qū)關(guān)聯(lián)于基于所述估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;(D)編碼標(biāo)號(hào)信息,包括以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的每個(gè)區(qū)域的標(biāo)號(hào)以及每個(gè)誤差區(qū)域的標(biāo)號(hào)。
9.一種用于將對(duì)應(yīng)于分段圖象序列每個(gè)連續(xù)分區(qū)的區(qū)域的編碼信號(hào)進(jìn)行解碼的方法,該編碼信號(hào)由多路復(fù)用信號(hào)組成,其中每個(gè)所述編碼信號(hào)包括(A)運(yùn)動(dòng)信息,對(duì)應(yīng)于運(yùn)動(dòng)模型的估計(jì),該模型表征所述連續(xù)分區(qū)之間分段的變化;(B)第一編碼輪廓信息,對(duì)應(yīng)于必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的當(dāng)前分區(qū)的每個(gè)區(qū)域;(C)第二編碼輪廓信息,對(duì)應(yīng)于當(dāng)前誤差分區(qū)的每個(gè)區(qū)域,所述分區(qū)和其中有不同的當(dāng)前標(biāo)號(hào)與補(bǔ)償分區(qū)中觀察到的標(biāo)號(hào)的誤差區(qū)域相關(guān)聯(lián),而該補(bǔ)償分區(qū)關(guān)聯(lián)于基于所述估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;(D)編碼標(biāo)號(hào)信息,包括以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的每個(gè)區(qū)域的標(biāo)號(hào)以及每個(gè)誤差區(qū)域的標(biāo)號(hào)。所述解碼方法包括如下步驟(a)將以前以幀內(nèi)模式編碼的區(qū)域的輪廓進(jìn)行解碼,并通過對(duì)這些區(qū)域指定相應(yīng)的標(biāo)號(hào)而對(duì)其它區(qū)域指定零標(biāo)號(hào)來產(chǎn)生相應(yīng)的掩模;(b)產(chǎn)生由幀內(nèi)編碼區(qū)域、運(yùn)動(dòng)補(bǔ)償區(qū)域及對(duì)應(yīng)于空區(qū)域的洞所得到的補(bǔ)償分區(qū),然后將誤差區(qū)域解碼并產(chǎn)生與所述補(bǔ)償區(qū)域的輪廓和所述誤差區(qū)域的輪廓相關(guān)聯(lián)的所謂覆蓋分區(qū);(c)解碼并指定所述覆蓋分區(qū)的區(qū)域的標(biāo)號(hào);
10.一種將對(duì)應(yīng)于分段圖象序列每個(gè)連續(xù)分區(qū)的區(qū)域的編碼信號(hào)進(jìn)行解碼的系統(tǒng),該編碼信號(hào)由多路復(fù)用信號(hào)組成,其中每個(gè)所述編碼信號(hào)包括(A)運(yùn)動(dòng)信息,對(duì)應(yīng)于運(yùn)動(dòng)模型的估計(jì),該模型表征所述連續(xù)分區(qū)之間分段的變化;(B)第一編碼輪廓信息,對(duì)應(yīng)于必須以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的當(dāng)前分區(qū)的每個(gè)區(qū)域;(C)第二編碼輪廓信息,對(duì)應(yīng)于當(dāng)前誤差分區(qū)的每個(gè)區(qū)域,所述分區(qū)和其中有不同的當(dāng)前標(biāo)號(hào)與補(bǔ)償分區(qū)中觀察到的標(biāo)號(hào)的誤差區(qū)域相關(guān)聯(lián),而該補(bǔ)償分區(qū)關(guān)聯(lián)于基于所述估計(jì)的運(yùn)動(dòng)模型而補(bǔ)償?shù)膮^(qū)域;(D)編碼標(biāo)號(hào)信息,包括以幀內(nèi)模式發(fā)射和/或存儲(chǔ)的每個(gè)區(qū)域的標(biāo)號(hào)以及每個(gè)誤差區(qū)域的標(biāo)號(hào)。所述解碼系統(tǒng)順序地包括區(qū)域內(nèi)解碼電路,用于以幀內(nèi)模式發(fā)送的區(qū)域的解碼,補(bǔ)償電路,用于產(chǎn)生由幀內(nèi)編碼區(qū)域、運(yùn)動(dòng)補(bǔ)償區(qū)域及對(duì)應(yīng)于空區(qū)域的洞所構(gòu)成的補(bǔ)償分區(qū),以及區(qū)域解碼電路,包括誤差區(qū)域解碼級(jí),用于產(chǎn)生將所述補(bǔ)償區(qū)域的輪廓和所述誤差區(qū)域的輪廓關(guān)聯(lián)起來的所謂覆蓋分區(qū),和標(biāo)號(hào)解碼子級(jí),用于解碼并指定所述覆蓋分區(qū)的區(qū)域標(biāo)號(hào)。
全文摘要
本發(fā)明涉及圖象序列編碼方法,包括的主要步驟為將圖象分段成為帶有相關(guān)標(biāo)號(hào)的分區(qū)之后,將以幀內(nèi)模式發(fā)送的區(qū)域輪廓進(jìn)行編碼、產(chǎn)生補(bǔ)償分區(qū)、以及從所述的補(bǔ)充分區(qū)和當(dāng)前分區(qū)計(jì)算出一個(gè)隨后被編碼的誤差分區(qū)。為降低計(jì)算負(fù)荷,允許借助象素移動(dòng)發(fā)送有關(guān)時(shí)變分區(qū)信息的這種方法最好通過編碼子組件來實(shí)現(xiàn),該子組件包括內(nèi)編碼裝置(181)、補(bǔ)償裝置(182)、以及中間編碼裝置(183),它提取并編碼由補(bǔ)償標(biāo)號(hào)與當(dāng)前標(biāo)號(hào)不同的誤差區(qū)域的提取所定義的分區(qū)誤差。應(yīng)用可視電話、以及所有使用計(jì)算機(jī)或電視機(jī)的交互式應(yīng)用。
文檔編號(hào)H04N7/32GK1166903SQ96191293
公開日1997年12月3日 申請(qǐng)日期1996年8月27日 優(yōu)先權(quán)日1995年9月6日
發(fā)明者P·塞蘭比爾 申請(qǐng)人:菲利浦電子有限公司