專利名稱:用于插入數(shù)據(jù)的方法、用于讀取所插入的數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對在表示圖像序列的編碼數(shù)據(jù)流中插入的數(shù)據(jù)進(jìn)行傳輸?shù)囊话泐I(lǐng)域。
更具體地,本發(fā)明涉及一種用于將數(shù)據(jù)插入要被編碼的圖像數(shù)據(jù)塊中的方法以及一種用于 讀取該塊中插入的數(shù)據(jù)的方法。本發(fā)明還涉及一種實(shí)現(xiàn)數(shù)據(jù)插入方法的編碼設(shè)備和代碼轉(zhuǎn) 換設(shè)備。
背景技術(shù):
信號(hào)(特別是圖像序列)中數(shù)據(jù)的插入在諸如安全、認(rèn)證、元數(shù)據(jù)傳送等各個(gè)領(lǐng)域 具有多種應(yīng)用。 為此,在現(xiàn)有技術(shù)中已知使用水印方法來插入數(shù)據(jù),例如一連串比特。這種方法對 一組"承載"數(shù)據(jù)(典型地,視頻數(shù)據(jù))和特定數(shù)目的參數(shù)進(jìn)行處理。特別地,參數(shù)的數(shù)目 一般表示由M個(gè)二進(jìn)制元素(M > 1)序列表示的水印消息(即,要插入的數(shù)據(jù))。通常,找 到其他參數(shù),如提供特定安全級(jí)別的密鑰、標(biāo)記力等。根據(jù)這些參數(shù)和圖像序列本身,水印 方法對圖像數(shù)據(jù)進(jìn)行修改以產(chǎn)生加有水印的圖像序列。 已知的水印方法在頻域內(nèi)對圖像數(shù)據(jù)進(jìn)行修改。例如,將圖像劃分成圖像數(shù)據(jù)的 塊,每個(gè)塊是使用DCT(離散余弦變換)進(jìn)行變換的。水印方法在于根據(jù)要插入的數(shù)據(jù)的 值、秘密密鑰的值和標(biāo)記力,來對這些系數(shù)中的一些的值進(jìn)行修改。根據(jù)變型,僅在從視覺 角度來看幾乎不感興趣的圖像區(qū)中對系數(shù)進(jìn)行修改。然后,通過先前應(yīng)用的變換的反變換 (例如,IDCT(反離散余弦變換))來對由此修改的系數(shù)進(jìn)行變換,以返回到空間域中。進(jìn)而 對由此加水印的圖像進(jìn)行編碼。這種水印方法的缺點(diǎn)在于,對于數(shù)據(jù)的編碼和原始圖像數(shù) 據(jù)的修改而言不夠魯棒。事實(shí)上,在對加有水印的圖像進(jìn)行編碼期間,執(zhí)行DCT系數(shù)量化, 該DCT系數(shù)量化可以導(dǎo)致與DCT系數(shù)的特定值相聯(lián)系的水印信息丟失。
另一已知方法在于將數(shù)據(jù)直接插入空間域。通常,將數(shù)據(jù)插入從視覺角度來看幾 乎不感興趣的圖像區(qū)中,以不使該數(shù)據(jù)太明顯可見。然后,可以在表示圖像序列的編碼數(shù)據(jù) 流中對由此修改的圖像數(shù)據(jù)進(jìn)行編碼。該方法的缺點(diǎn)在于其修改了最初圖像序列并因此可 能使要插入的數(shù)據(jù)可見。此外,這種方法不會(huì)實(shí)現(xiàn)大量數(shù)據(jù)的插入。事實(shí)上,大量數(shù)據(jù)的插 入會(huì)冒著使所插入的數(shù)據(jù)可見的風(fēng)險(xiǎn)。此外,這種方法不能始終保證所有插入的數(shù)據(jù)的讀 取。事實(shí)上,在加水印前,原始圖像可以包含可被解釋為由水印讀取器插入的數(shù)據(jù)的圖像數(shù) 據(jù)。
發(fā)明內(nèi)容
本發(fā)明的目的是補(bǔ)償現(xiàn)有技術(shù)的至少一個(gè)缺點(diǎn)。 為此,本發(fā)明涉及一種用于將數(shù)據(jù)插入圖像序列的圖像數(shù)據(jù)的塊(被稱作當(dāng)前 塊)中的方法。所述當(dāng)前塊是以或者預(yù)定要以來自根據(jù)第一預(yù)測模式定義的預(yù)測圖像數(shù)據(jù) 的時(shí)間預(yù)測圖像數(shù)據(jù)的形式而編碼的。根據(jù)本發(fā)明,插入方法包括根據(jù)所述要插入的數(shù) 據(jù),將第一預(yù)測模式修改成與第一預(yù)測模式不同的第二預(yù)測模式,以根據(jù)第二預(yù)測模式來對當(dāng)前塊進(jìn)行編碼,所述第二預(yù)測模式被定義為使得利用所述第二預(yù)測模式獲得的預(yù)測圖 像數(shù)據(jù)與利用第一預(yù)測模式獲得的預(yù)測圖像數(shù)據(jù)相同。 根據(jù)本發(fā)明的特別有利的方面,根據(jù)本發(fā)明的用于插入數(shù)據(jù)的方法可以在不對從 壓縮圖像數(shù)據(jù)流重構(gòu)的圖像進(jìn)行修改的情況下,將數(shù)據(jù)插入該流。事實(shí)上,由于針對每個(gè)子 塊保留的運(yùn)動(dòng)向量是先前針對塊B而選擇的運(yùn)動(dòng)向量,因此所保留的第二預(yù)測模式不會(huì)改 變重構(gòu)的圖像。因此,在不插入任何數(shù)據(jù)的情況下重構(gòu)的圖像或在插入數(shù)據(jù)之后重構(gòu)的圖 像是嚴(yán)格相同的,這不是利用任何已知的用于插入數(shù)據(jù)的方法的情況。根據(jù)本發(fā)明的插入 方法還具有保證讀取全體插入數(shù)據(jù)的優(yōu)點(diǎn)。本發(fā)明的另一優(yōu)點(diǎn)在于便于以簡單方式插入 和/或替換數(shù)據(jù)。事實(shí)上,與已知方法相反,根據(jù)本發(fā)明的插入方法不需要在頻域內(nèi)對圖像 數(shù)據(jù)進(jìn)行變換或?qū)D像進(jìn)行具體處理。 根據(jù)具體實(shí)施例,第一預(yù)測模式定義了將當(dāng)前塊分割在與至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)相關(guān)
聯(lián)的至少一個(gè)子塊中的第一分割,第二預(yù)測模式定義了將當(dāng)前塊分割在至少2個(gè)子塊中的
第二分割,所述第二分割是所述第一分割的子分割。所述方法還包括將所述第一分割的相
應(yīng)所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與所述第二分割的至少2個(gè)子塊中的每一個(gè)相關(guān)聯(lián)。 根據(jù)具體實(shí)施例,所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)是運(yùn)動(dòng)向量和在序列中標(biāo)識(shí)參考圖像的索引。 根據(jù)本發(fā)明的具體特征,第一預(yù)測模式是幀間—16X16模式,并且,如果要插入的
數(shù)據(jù)是具有第一值的比特,則第二預(yù)測模式是幀間—8X16模式,而如果要插入的數(shù)據(jù)是具
有不同于第一值的第二值的比特,則第二預(yù)測模式是幀間—16X8模式。 根據(jù)本發(fā)明的另一具體特征,第一預(yù)測模式是幀間J6X8模式,并且,如果要插
入的數(shù)據(jù)是具有第一值的比特,則第二預(yù)測模式是幀間_8X8模式。 根據(jù)本發(fā)明的具體特征,第一預(yù)測模式是幀間J6X8模式,并且,如果要插入的
數(shù)據(jù)是具有不同于第一值的第二值的比特,則第二預(yù)測模式是幀間_8X8模式。 根據(jù)本發(fā)明的另一具體特征,第一預(yù)測模式是幀間_跳過模式,第二預(yù)測模式是
幀間_16乂16模式。 根據(jù)本發(fā)明的具體特征,第一預(yù)測模式是幀間—8X8模式,并且,如果要插入的數(shù) 據(jù)是具有第一值的比特,則第二預(yù)測模式是幀間—4X8模式,而如果要插入的數(shù)據(jù)是具有 不同于第一值的第二值的比特,則第二預(yù)測模式是幀間_8X4模式。 根據(jù)本發(fā)明的另一具體特征,第一預(yù)測模式是幀間—8X4模式,并且,如果要插入 的數(shù)據(jù)是具有第一值的比特,則第二預(yù)測模式是幀間_4X 4模式。 根據(jù)本發(fā)明的另一具體特征,第一預(yù)測模式是幀間—4X8模式,并且,如果要插入
的數(shù)據(jù)是具有不同于第一值的第二值的比特,則第二預(yù)測模式是幀間_4X4模式。 本發(fā)明還涉及一種用于對插入到編碼數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行讀取的方法,該編碼數(shù)
據(jù)流表示圖像序列的圖像數(shù)據(jù)塊(被稱為當(dāng)前塊)。該流包括表示定義了將當(dāng)前塊分割成
至少一個(gè)子塊的預(yù)測模式的信息,并包括針對所述至少一個(gè)子塊(被稱為第一子塊)的、表
示至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)的信息。根據(jù)本發(fā)明的實(shí)質(zhì)特征,讀取方法包括以下步驟-確定當(dāng)前塊的預(yù)測模式,并針對第一子塊確定來自編碼數(shù)據(jù)流的至少一個(gè)運(yùn)動(dòng)
數(shù)據(jù);-將所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與比較運(yùn)動(dòng)數(shù)據(jù)進(jìn)行比較;以及
5
-如果所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)和所述比較運(yùn)動(dòng)數(shù)據(jù)相同,則讀取所插入的數(shù)據(jù)。
本發(fā)明還涉及圖像序列的編碼設(shè)備,其中,每個(gè)圖像被劃分成圖像數(shù)據(jù)的i央,所述 編碼設(shè)備包括-運(yùn)動(dòng)估計(jì)模塊,能夠確定圖像數(shù)據(jù)的當(dāng)前塊與圖像數(shù)據(jù)的參考?jí)K之間的至少一 個(gè)運(yùn)動(dòng)數(shù)據(jù);-判定模塊,能夠針對當(dāng)前塊選擇定義了將當(dāng)前塊分割在至少一個(gè)子塊中的第一 分割的第一預(yù)測模式; _預(yù)測模塊,能夠根據(jù)第一預(yù)測模式,從使用所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)而標(biāo)識(shí)的參考 塊計(jì)算當(dāng)前塊的預(yù)測塊;-計(jì)算模塊,能夠從當(dāng)前塊中減掉預(yù)測塊以產(chǎn)生殘差;
-處理模塊,能夠?qū)埐钭儞Q并量化成量化殘差;以及-熵編碼模塊,能夠?qū)α炕瘹埐?、第一預(yù)測模式和編碼數(shù)據(jù)流中的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行編 碼。 根據(jù)本發(fā)明的特別有利的方面,編碼設(shè)備還包括數(shù)據(jù)插入模塊,所述數(shù)據(jù)插入模
塊能夠根據(jù)要插入的數(shù)據(jù),來將第一預(yù)測模式修改成定義了將當(dāng)前塊分割成至少一子塊的
第二分割的第二預(yù)測模式,所述第二分割與所述第一分割不同,并且所述數(shù)據(jù)插入模塊能
夠?qū)⑴c當(dāng)前塊相關(guān)聯(lián)的所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與第二分割的子塊相關(guān)聯(lián)。 本發(fā)明還涉及一種將表示圖像序列的第一編碼數(shù)據(jù)流轉(zhuǎn)換成表示相同圖像序列
的第二編碼數(shù)據(jù)流的代碼轉(zhuǎn)換設(shè)備,其中,每個(gè)圖像被劃分成圖像數(shù)據(jù)的塊。所述代碼轉(zhuǎn)換
設(shè)備包括-解碼模塊,能夠從表示當(dāng)前塊的第一流的一部分重構(gòu)出與當(dāng)前塊相關(guān)的圖像數(shù) 據(jù)、用于定義將當(dāng)前塊分割成至少一個(gè)子塊的第一分割的第一預(yù)測模式、以及針對每個(gè)子 塊的至少一個(gè)運(yùn)動(dòng)數(shù)據(jù);-預(yù)測模塊,能夠根據(jù)第一預(yù)測模式,從使用所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)而標(biāo)識(shí)的序列 參考?jí)K來計(jì)算預(yù)測塊;-計(jì)算模塊,能夠從當(dāng)前塊中減掉預(yù)測塊以產(chǎn)生殘差;
-處理模塊,能夠?qū)埐钭儞Q并量化成量化殘差;以及 _熵編碼模塊,能夠?qū)α炕瘹埐?、第一預(yù)測模塊和第二編碼數(shù)據(jù)流中的所述至少一 個(gè)運(yùn)動(dòng)數(shù)據(jù)進(jìn)行編碼。 根據(jù)本發(fā)明的重要特征,所述代碼轉(zhuǎn)換設(shè)備還包括數(shù)據(jù)插入模塊,所述數(shù)據(jù)插入
模塊能夠根據(jù)要插入的數(shù)據(jù),來將第一預(yù)測模式修改成定義了將當(dāng)前塊分割成至少一子塊
的第二分割的第二預(yù)測模式,所述第二分割與所述第一分割不同,并且所述數(shù)據(jù)插入模塊
能夠?qū)⑴c當(dāng)前塊相關(guān)聯(lián)的所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與第二分割的子塊相關(guān)聯(lián)。 本發(fā)明還涉及一種用于將數(shù)據(jù)插入表示圖像序列的第一編碼數(shù)據(jù)流中的設(shè)備,其
中,每個(gè)圖像被劃分成圖像數(shù)據(jù)塊,所述設(shè)備包括-熵解碼模塊,能夠從表示當(dāng)前塊的第一流的一部分重構(gòu)出與當(dāng)前塊相關(guān)的圖像 數(shù)據(jù)、用于定義將當(dāng)前塊分割成至少一個(gè)子塊的第一預(yù)測模式、以及針對每個(gè)子塊的至少 一個(gè)運(yùn)動(dòng)數(shù)據(jù);-熵編碼模塊,能夠?qū)εc當(dāng)前塊相關(guān)的圖像數(shù)據(jù)、第一預(yù)測模式和第二編碼數(shù)據(jù)流中的所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)進(jìn)行編碼。 有利地,數(shù)據(jù)插入設(shè)備還包括數(shù)據(jù)插入模塊,所述數(shù)據(jù)插入模塊能夠根據(jù)要插入 的數(shù)據(jù),來將第一預(yù)測模式修改成定義了將當(dāng)前塊分割成至少一子塊的第二分割的第二預(yù) 測模式,所述第二分割與所述第一分割不同,并且所述數(shù)據(jù)插入模塊能夠?qū)⑴c當(dāng)前塊相關(guān) 聯(lián)的所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與第二分割的子塊相關(guān)聯(lián)。 編碼設(shè)備、代碼轉(zhuǎn)換設(shè)備和數(shù)據(jù)插入設(shè)備提供了與關(guān)于數(shù)據(jù)插入方法而提及的優(yōu) 點(diǎn)相同的優(yōu)點(diǎn),即,特別是從插入了數(shù)據(jù)的編碼數(shù)據(jù)流重構(gòu)出的圖像。
參照附圖,通過非限制性的實(shí)施例和實(shí)現(xiàn)方式,將更好地理解和示意本發(fā)明,在附 圖中 圖1示出了根據(jù)現(xiàn)有技術(shù)的編碼設(shè)備;
圖2示出了將16 X 16塊劃分或分割成子塊;
圖3示出了將8X8塊劃分或分割成子塊;
圖4示出了圖像間預(yù)測方法;
圖5示出了根據(jù)本發(fā)明的數(shù)據(jù)插入方法; 圖6示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入16X 16塊中的方法; 圖7示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入被劃分成2個(gè)8X16子塊的
16X16塊中的方法; 圖8示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入被劃分成2個(gè)16X8子塊的 16X16塊中的方法; 圖9示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入預(yù)測模式是跳過模式的16X16 塊中的方法; 圖10示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入8X8塊中的方法; 圖11示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入被劃分成2個(gè)4X8子塊的8X8
塊中的方法; 圖12示出了根據(jù)本發(fā)明具體實(shí)施例的將數(shù)據(jù)插入被劃分成2個(gè)8X4子塊的8X8 塊中的方法; 圖13示出了根據(jù)本發(fā)明的對插入到編碼圖像數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行讀取的方法;
圖14和15示出了根據(jù)本發(fā)明具體實(shí)施例的用于讀取所插入的數(shù)據(jù)的方法;
圖16示出了根據(jù)本發(fā)明的包括數(shù)據(jù)插入模塊在內(nèi)的編碼設(shè)備;
圖17示出了根據(jù)本發(fā)明的包括數(shù)據(jù)插入模塊在內(nèi)的代碼轉(zhuǎn)換設(shè)備;以及
圖18示出了根據(jù)本發(fā)明的用于將數(shù)據(jù)插入編碼圖像數(shù)據(jù)流中的設(shè)備。
具體實(shí)施例方式
圖1用以圖解的方式示出了根據(jù)現(xiàn)有技術(shù)的編碼設(shè)備。典型地,編碼設(shè)備1對被 劃分成塊B的圖像進(jìn)行編碼。以幀內(nèi)或幀間模式對每個(gè)塊B進(jìn)行編碼。 一般而言,判定模 塊170針對當(dāng)前塊B選擇編碼模式。根據(jù)已知實(shí)施例,判定模塊170選擇提供了最佳比特 率/失真折衷的編碼模式。在幀內(nèi)或幀間模式的情況下,幀內(nèi)預(yù)測模塊100(也被稱為空間預(yù)測模塊)或幀間預(yù)測模塊110(也被稱為時(shí)間預(yù)測模塊)從存儲(chǔ)于存儲(chǔ)器120中的重構(gòu) 塊B^產(chǎn)生預(yù)測圖像P的數(shù)據(jù)塊。如果以幀內(nèi)模式對塊進(jìn)行編碼,則從位于當(dāng)前塊(S卩,已 編碼的、已重構(gòu)的且存儲(chǔ)于存儲(chǔ)器120中的塊)的因果相鄰區(qū)域中的塊的像素產(chǎn)生P。如果 以幀間模式對塊進(jìn)行編碼,則從已編碼的、已重構(gòu)的且存儲(chǔ)于存儲(chǔ)器120中的參考圖像的 一個(gè)或多個(gè)塊BM。產(chǎn)生P。幀間預(yù)測模塊110根據(jù)由運(yùn)動(dòng)估計(jì)模塊130估計(jì)出的運(yùn)動(dòng)向量 來執(zhí)行參考圖像的塊的運(yùn)動(dòng)補(bǔ)償。為了產(chǎn)生預(yù)測塊P,編碼設(shè)備1還包括適于產(chǎn)生重構(gòu)的殘 差I(lǐng)^。的塊的解碼回路。特別地,該解碼回路包括反量化和反變換模塊160。計(jì)算模塊135 逐像素地減掉從當(dāng)前塊B產(chǎn)生的預(yù)測塊P,以產(chǎn)生殘差塊R。然后,模塊140對殘差塊R進(jìn) 行變換和量化。然后,熵編碼模塊150對由此產(chǎn)生的殘差塊R的系數(shù)進(jìn)行編碼。熵編碼模 塊150產(chǎn)生表示圖像序列的編碼數(shù)據(jù)流F。 在文獻(xiàn)ISO/IEC 14496-10中描述的標(biāo)準(zhǔn)H. 264或MPEG-4AVC的特定情況下,將 以幀間模式編碼的每個(gè)塊B(即,根據(jù)屬于先前編碼的圖像(稱為參考圖像)的圖像數(shù)據(jù) 塊而預(yù)測的塊)劃分成子塊。對塊進(jìn)行劃分和預(yù)測的方式被稱為預(yù)測模式。從而,預(yù)測模 式定義將塊B分割成一個(gè)或多個(gè)子塊。塊B的分割是將該塊劃分成沒有交集的子塊,這些 子塊的并集形成塊B。該預(yù)測模式也由判定模塊170選擇。圖2和3示出了這樣的預(yù)測模 式。如果塊B具有16X16大小,則預(yù)測模式幀間j6X16指示不對其進(jìn)行劃分并以16X16 大小的塊的形式對其進(jìn)行預(yù)測和編碼。然而,如果塊B具有16X 16大小,則預(yù)測模式幀間 _16 X 8指示將其劃分成2個(gè)16 X 8大小的子塊。如果塊B具有16 X 16大小,則預(yù)測模式幀 間_8X 16指示將其劃分成2個(gè)8X 16大小的子塊。如果塊B具有16X 16大小,則預(yù)測模 式幀間_8X8指示將其劃分成4個(gè)8X8大小的子塊。在最后一種情況下,遵循圖3所示分 割,可以將每個(gè)子塊8 X 8本身劃分成8 X 4、4X 8或4X 4大小的子塊。然后,通過根據(jù)先前 編碼、重構(gòu)且存儲(chǔ)于存儲(chǔ)器120中的圖像數(shù)據(jù)進(jìn)行預(yù)測,來對塊的每個(gè)子塊進(jìn)行編碼。通過 至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)DMV(典型地是遵循圖4的運(yùn)動(dòng)向量MV)來針對塊或子塊B標(biāo)識(shí)這些預(yù) 測圖像數(shù)據(jù)P。根據(jù)變型,預(yù)測圖像數(shù)據(jù)P由運(yùn)動(dòng)向量以及參考圖像索引來標(biāo)識(shí)。該索引使 得能夠?qū)D像序列中的參考圖像(即,屬于預(yù)測圖像數(shù)據(jù)P的圖像)進(jìn)行標(biāo)識(shí)。事實(shí)上,可 以在與當(dāng)前塊B所屬的當(dāng)前圖像相距多于一個(gè)圖像的圖像中找到該預(yù)測圖像數(shù)據(jù)P。然后 使用索引方便地標(biāo)識(shí)該預(yù)測圖像數(shù)據(jù)P。在視頻編碼器的現(xiàn)有技術(shù)中已知,根據(jù)各使用運(yùn)動(dòng) 向量和可能使用參考圖像索引進(jìn)行標(biāo)識(shí)的2個(gè)預(yù)測圖像數(shù)據(jù)集合,可以對當(dāng)前塊B進(jìn)行預(yù) 測。該預(yù)測類型被命名為雙向預(yù)測。將能夠針對當(dāng)前塊B標(biāo)識(shí)預(yù)測圖像數(shù)據(jù)的運(yùn)動(dòng)數(shù)據(jù)與 所述當(dāng)前塊B相關(guān)聯(lián),并在具有與當(dāng)前塊相關(guān)的圖像數(shù)據(jù)的流F中對該運(yùn)動(dòng)數(shù)據(jù)進(jìn)行編碼。
此外,可以跳過塊B,在這種情況下,可能不根據(jù)圖2和3所示的分割之一來對塊 B進(jìn)行劃分。如果跳過塊B,即,其預(yù)測模式是模式"幀間_跳過",則在流F中不針對該塊B 傳輸運(yùn)動(dòng)數(shù)據(jù),也不針對該塊B傳輸任何殘差。在編碼器側(cè),從使用預(yù)測的運(yùn)動(dòng)向量而標(biāo)識(shí) 的參考圖像的塊重構(gòu)這種所跳過的塊。預(yù)測的運(yùn)動(dòng)向量是可以從與同塊B相鄰的塊相關(guān)聯(lián) 的運(yùn)動(dòng)向量產(chǎn)生的,例如,從與以下3個(gè)塊相關(guān)聯(lián)的運(yùn)動(dòng)向量的中間向量產(chǎn)生位于當(dāng)前塊 B的正上方、位于當(dāng)前塊的左角以及位于當(dāng)前塊B的正左側(cè);或者從與共同位于參考圖像中 的塊相關(guān)聯(lián)的運(yùn)動(dòng)向量產(chǎn)生。 在標(biāo)準(zhǔn)H. 264的具體情況下,將每個(gè)子塊與能夠標(biāo)識(shí)根據(jù)其而預(yù)測所述子塊的那 個(gè)圖像數(shù)據(jù)的運(yùn)動(dòng)數(shù)據(jù)相關(guān)聯(lián)。如前所述,參照圖1,判定模塊170選擇這些運(yùn)動(dòng)數(shù)據(jù)DMV,以最大化編碼質(zhì)量的同時(shí)最小化比特率。 圖5至12示出了用于將數(shù)據(jù)插入與圖像序列相關(guān)的編碼數(shù)據(jù)流F中的方法。更 具體地,圖5示出了將數(shù)據(jù)b(例如,比特)插入圖像數(shù)據(jù)塊B中,其中,以所預(yù)測的圖像數(shù) 據(jù)的形式對所述當(dāng)前塊進(jìn)行了編碼或要進(jìn)行編碼,所述圖像數(shù)據(jù)是根據(jù)第一預(yù)測模式Ml、 關(guān)于使用至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)DMV而標(biāo)識(shí)的參考圖像數(shù)據(jù)P的至少一個(gè)塊進(jìn)行預(yù)測的。第一 預(yù)測模式M1由模塊類型的判定模塊170來選擇。預(yù)測模式M1定義了塊B的第一分割。在 步驟EIO期間,根據(jù)要插入的數(shù)據(jù)b,將塊B的第一預(yù)測模式M1修改成第二預(yù)測模式M2。 第二預(yù)測模式M2定義了與第一分割不同的、塊B的第二分割。術(shù)語"塊"是在非常普遍的 意義上采用的,特別包括宏塊和子塊。事實(shí)上,塊B本身可以來自于將塊分割成子塊。特別 地,這種情況是塊B是通過16X16塊的先前分割而產(chǎn)生的塊8X8。 在步驟E12期間,為了對塊B進(jìn)行編碼,將最初與塊B相關(guān)聯(lián)的相同運(yùn)動(dòng)數(shù)據(jù)DMV 與由步驟EIO中對預(yù)測模式的修改而產(chǎn)生的子塊相關(guān)聯(lián),以便獲得與利用預(yù)測模式M1獲得 的表示等價(jià)的對塊B的表示。在這種情況下,預(yù)測模式Ml下塊B的預(yù)測數(shù)據(jù)與預(yù)測模式M2 下塊B的預(yù)測數(shù)據(jù)相同。還需要在普通的意義上理解術(shù)語"子塊"。因此,如果M1二幀間— 跳過且M2 =幀間_16X 16,則由步驟EIO中對預(yù)測模式的修改而產(chǎn)生的子塊是16X 16大小 的塊。 為了更準(zhǔn)確地描述本發(fā)明,如下表TAB l所示,針對數(shù)據(jù)的插入定義了編碼。
塊B的第一分割 (模式M1)要插入的數(shù)據(jù)(模式M2)比特'0'比特'r
幀間—16X16幀間—8X 16幀間—16X8
幀間一16X8幀間—8X8
幀間—8X16幀間—8X8
幀間一跳過幀間—16X16
幀間一8X8幀間—4X8幀間—8X4
幀間—8X4幀間—4X4
幀間一4X8幀間—4X4 除非另外說明,實(shí)施例是關(guān)于該編碼表而描述的。然而,在不質(zhì)疑本發(fā)明原理的情 況下,可以使用不同的編碼。利用第二預(yù)測模式M2而定義的分割是利用第一預(yù)測模式M2 而定義的分割的子分割。例如,塊16X16的分割可以用于傳輸比特'0'而不是比特'1'。
圖6示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是16X16大小的塊,Ml =幀間 _16X16。要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與0進(jìn)行比較。如果比特b等于 0,則該方法繼續(xù)至步驟El 10。在步驟El 10,將塊B劃分成2個(gè)子塊Bl和B2,每個(gè)的大小為 8 X 16,即,遵循TAB1 ,將塊B的預(yù)測模式從Ml =幀間—16 X 16修改成M2 =幀間_8 X 16。如 果在步驟EIOO,比特b等于1,則該方法繼續(xù)至步驟E120。在步驟E120,將塊B劃分成2個(gè) 子塊Bl和B2,每個(gè)的大小為16 X 8,即,遵循TAB1,將塊B的預(yù)測模式從Ml =幀間_16 X 16
9修改至M2 二幀間J6X8。在步驟E12,為了對B進(jìn)行編碼,將與塊B相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV 中的每一個(gè)與子塊B 1和B2相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)DMV的初始?jí)KB 16X16或者被劃分成 分別與運(yùn)動(dòng)數(shù)據(jù)匿V相關(guān)聯(lián)的2個(gè)子塊8 X 16的最終塊16 X 16都是塊B的等價(jià)表示,即,利 用第一預(yù)測模式M1 二幀間J6X16獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間_8乂16 獲得的預(yù)測數(shù)據(jù)相同。同樣,具有運(yùn)動(dòng)數(shù)據(jù)DMV的初始?jí)KB 16X16或者被劃分成分別與運(yùn) 動(dòng)數(shù)據(jù)匿V相關(guān)聯(lián)的2個(gè)子塊16X8的最終塊16X 16是塊B的2個(gè)等價(jià)表示,即,利用第 一預(yù)測模式M1 二幀間J6X16獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 二幀間j6X8獲 得的預(yù)測數(shù)據(jù)相同。根據(jù)使用與表TAB1中呈現(xiàn)的編碼不同的編碼的變型,在步驟E100,將 比特b與1進(jìn)行比較。如果比特b等于1,則該方法繼續(xù)至步驟EllO,而如果比特b不等于 1,則該方法繼續(xù)至步驟E120。 圖7示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是被劃分成2個(gè)子塊8X16的16X16 大小的塊,即M1 =幀間_8乂16。要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與0進(jìn)行 比較。如果比特b等于0,則該方法繼續(xù)至步驟E110。在步驟E110,將塊B劃分成4個(gè)子塊 B1、B2、B3和B4,每個(gè)的大小為8X8,即,遵循TAB1,將塊B的預(yù)測模式從Ml =幀間_8X 16 修改成M2二幀間—8X8。如果在步驟E100,比特b等于l,則不插入數(shù)據(jù)。在步驟E12,為了 對B進(jìn)行編碼,將與B的左部子塊8X16相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV1與子塊8X8 Bl和B3相 關(guān)聯(lián)。在步驟E12,為了對B進(jìn)行編碼,將與塊B的右部子塊8X 16相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV2 與子塊8X8B2和B4相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2的初始?jí)K16X 16或者被劃分成 與運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2相關(guān)聯(lián)的4個(gè)子塊8X8的最終塊16X 16是塊B的2個(gè)等價(jià)表 示,即,利用第一預(yù)測模式M1 二幀間—8X16獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀 間_8X8獲得的預(yù)測數(shù)據(jù)相同。 圖8示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是被劃分成2個(gè)子塊16X8的16X16 大小的塊,即,M1 二幀間J6X8。要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與l進(jìn)行 比較。如果比特b等于l,則該方法繼續(xù)至步驟E110。在步驟E110,將塊B劃分成4個(gè)子塊 B1、B2、B3和B4,每個(gè)的大小為8X8,即,遵循TAB1,將塊B的預(yù)測模式從Ml =幀間_16X8 修改成M2 =幀間_8乂8。如果在步驟E100,比特b等于0,則不插入數(shù)據(jù)。在步驟E12,為 了對B進(jìn)行編碼,將與塊B上部的子塊16X8相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV1與子塊4X4 Bl和 B2相關(guān)聯(lián)。在步驟E12,為了對B進(jìn)行編碼,將與塊B的下部子塊8 X 16相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù) 匿V2與子塊8X8B3和B4相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)匿V1和匿V2的初始?jí)K16X 16或者被劃 分成分別與運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2相關(guān)聯(lián)的4個(gè)子塊8 X 8的最終塊16 X 16是塊B的兩個(gè) 等價(jià)表示,即,利用第一預(yù)測模式M1 =幀間_16X8獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間_8X8獲得的預(yù)測數(shù)據(jù)相同。 圖9示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是預(yù)測模式為跳過模式的大小16X16 的土央,即,M1 =幀間_跳過。要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與0進(jìn)行比較。 如果比特b等于0,則該方法繼續(xù)至步驟EllO。在步驟EllO,遵循TAB1,將塊B的預(yù)測模式 從M1 二幀間—跳過修改成M2 =幀間_16乂16。如果在步驟E100,比特b等于l,則不插入 數(shù)據(jù)。在步驟E12,為了對塊B進(jìn)行編碼,將用于模式幀間_跳過的預(yù)測運(yùn)動(dòng)數(shù)據(jù)匿VP (即, 根據(jù)塊B的相鄰塊的運(yùn)動(dòng)數(shù)據(jù)或根據(jù)與在參考圖像中共同定位的塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)而 預(yù)測的運(yùn)動(dòng)數(shù)據(jù))與塊B相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)DMVP的初始跳過塊或者與運(yùn)動(dòng)數(shù)據(jù)DMVP相關(guān)聯(lián)的最終塊16 X 16是塊B的等價(jià)表示,即,利用第一預(yù)測模式Ml =幀間_跳過獲得的 預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間_16X 16獲得的預(yù)測數(shù)據(jù)相同。
圖IO示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是大小8X8的塊,M1 =幀間_8乂8。 要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與0進(jìn)行比較。如果比特b等于0,則該方 法繼續(xù)至步驟EllO。在步驟EllO,將塊B劃分成2個(gè)子塊Bl和B2,每個(gè)的大小為4X8, 即,遵循TAB1 ,將塊B的預(yù)測模式從Ml =幀間_8 X 8修改成M2 =幀間_4 X 8。如果在步驟 E100,比特b等于1 ,則該方法繼續(xù)至步驟E120。在步驟El 10,將塊B劃分成2個(gè)子塊Bl和 B2,每個(gè)的大小為8X4,即,遵循TAB1,將塊B的預(yù)測模式從M1 =幀間_8X8修改成M2 = 幀間_8X4。在步驟E12,為了對B進(jìn)行編碼,將與塊B相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV中的每一個(gè) 與子塊B1和B2相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)DMV的初始?jí)KB 8X8或者被劃分成分別與運(yùn)動(dòng)數(shù) 據(jù)匿V相關(guān)聯(lián)的2個(gè)子塊4X 8的最終塊8 X 8都是塊B的等價(jià)表示,即,利用第一預(yù)測模式 Ml =幀間_8X8獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間_4X8獲得的預(yù)測數(shù)據(jù)相 同。同樣,具有運(yùn)動(dòng)數(shù)據(jù)DMV的初始?jí)KB 8 X 8或者被劃分成分別與該運(yùn)動(dòng)數(shù)據(jù)相關(guān)聯(lián)的2 個(gè)子塊8 X 4的最終塊8 X 8是塊B的2個(gè)等價(jià)表示,即,利用第一預(yù)測模式Ml =幀間_8 X 8 獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間_8乂4獲得的預(yù)測數(shù)據(jù)相同。根據(jù)使用與 表TAB1中呈現(xiàn)的編碼不同的編碼的變型,在步驟E100,將比特b與l進(jìn)行比較。如果比特 b等于1,則該方法繼續(xù)至步驟E110,而如果比特b不等于1,則該方法繼續(xù)至步驟E120。
圖11示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是被劃分成2個(gè)子塊4X8的大小 8X8的塊,S卩,M1 =幀間_4乂8。要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與0進(jìn)行 比較。如果比特b等于0,則該方法繼續(xù)至步驟E110。在步驟E110,將塊B劃分成4個(gè)子塊 Bl、 B2、 B3和B4,每個(gè)的大小為4X 4,即,遵循TAB1,將塊B的預(yù)測模式從Ml =幀間_4乂8 修改至M2 =幀間_4乂4。如果在步驟E100,比特b等于l,則不插入數(shù)據(jù)。在步驟E12,為 了對B進(jìn)行編碼,將與B的左部子塊4X8相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV1與子塊4X4 Bl和B3相 關(guān)聯(lián)。在步驟E12,為了對B進(jìn)行編碼,將與塊B的右部子塊4X8相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV2 與子塊4X4B2和B4相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2的初始?jí)K8X8或者被劃分成與 運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2相關(guān)聯(lián)的4個(gè)子塊4X4的最終塊8 X 8是塊B的2個(gè)等價(jià)表示,即, 利用第一預(yù)測模式M1 二幀間—4X8獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間_4乂4 獲得的預(yù)測數(shù)據(jù)相同。 圖12示出了本發(fā)明的具體實(shí)施例。當(dāng)前塊B是被劃分成2個(gè)子塊8X4的大小 8X8的塊,S卩,M1 =幀間_8乂4。要插入的數(shù)據(jù)是比特b。在步驟E100,將比特b與l進(jìn)行 比較。如果比特b等于l,則該方法繼續(xù)至步驟EllO。在步驟E110,將塊B劃分成4個(gè)子 塊B1、B2、B3和B4,每個(gè)的大小為4X4,即遵循TAB1,將塊B的預(yù)測模式從Ml =幀間—8X4 修改至M2 =幀間_4乂4。如果在步驟E100,比特b等于0,則不插入數(shù)據(jù)。在步驟E12,為 了對塊B進(jìn)行編碼,將與塊B的上部子塊8X4相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV1與子塊4X4B1和 B2相關(guān)聯(lián)。在步驟E12,為了對塊B進(jìn)行編碼,將與塊B的下部子塊4X8相關(guān)聯(lián)的運(yùn)動(dòng)數(shù) 據(jù)匿V2與子塊4 X 4B3和B4相關(guān)聯(lián)。具有運(yùn)動(dòng)數(shù)據(jù)匿V1和匿V2的初始?jí)K8X8或者被劃 分成與運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2相關(guān)聯(lián)的4個(gè)子塊4X4的最終塊8 X 8是塊B的2個(gè)等價(jià)表 示,即,利用第一預(yù)測模式M1 二幀間—8X4獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2 =幀間 —4X4獲得的預(yù)測數(shù)據(jù)相同。
針對圖像數(shù)據(jù)的塊、參照圖5至12描述的插入方法有利地可以在圖像的幀間模式 中的所有塊上重復(fù)進(jìn)行,并且在序列中除幀內(nèi)圖像或圖像I以外的所有圖像上重復(fù)進(jìn)行。
由于沒有修改DCT系數(shù),因此根據(jù)本發(fā)明的數(shù)據(jù)插入方法有利地使得能夠既不修 改初始圖像數(shù)據(jù),也不修改已編碼的殘差。僅對一些預(yù)測模式進(jìn)行修改。此外,如果插入了 數(shù)據(jù),則在步驟E10針對塊B修改預(yù)測模式,然而,由于針對每個(gè)子塊保留的運(yùn)動(dòng)向量是先 前針對塊B選擇的運(yùn)動(dòng)向量,因此所保留的新預(yù)測模式M2不改變重構(gòu)的圖像。實(shí)際上,利 用第一預(yù)測模式Ml獲得的預(yù)測數(shù)據(jù)與利用第二預(yù)測模式M2獲得的預(yù)測數(shù)據(jù)相同。因此, 在沒有插入任何數(shù)據(jù)的情況下重構(gòu)的圖像或在插入了數(shù)據(jù)之后重構(gòu)的圖像是嚴(yán)格相同的, 這不是任何已知數(shù)據(jù)插入方法的情況。 最后,根據(jù)本發(fā)明的方法使得能夠?qū)?shù)據(jù)直接插入已經(jīng)存在的編碼數(shù)據(jù)流中,而 不必對流進(jìn)行完全解碼來重構(gòu)初始圖像。事實(shí)上,利用根據(jù)本發(fā)明的插入方法,為了插入數(shù) 據(jù)而要在流F中僅對編碼數(shù)據(jù)進(jìn)行修改是預(yù)測模式,從而是分割成子塊。
參照標(biāo)準(zhǔn)H. 264描述的本發(fā)明可以與實(shí)現(xiàn)將塊分割成子塊的任何其他標(biāo)準(zhǔn)一同 使用。為此,本發(fā)明還可以應(yīng)用在來自標(biāo)題為"VC-lCompressed Video Bitstream Format and Decoding Process"的SMPTE以及標(biāo)題為"VC_1 Bitstream Transport Encodings" 的SMPTE RP227-2006推薦禾口標(biāo)題為"VC-lDecoder and Bitstream Conformance"的 SMPTERP228-2006的文獻(xiàn)421M-2006中描述的標(biāo)準(zhǔn)VC1的上下文中。本發(fā)明還可以應(yīng)用在 中國標(biāo)準(zhǔn)AVS的上下文中。 本發(fā)明還涉及一種根據(jù)參照圖5至12描述的插入方法來對插入到編碼圖像的塊 中的數(shù)據(jù)進(jìn)行讀取的方法。圖13至15示出了根據(jù)本發(fā)明的讀取方法。
更具體地,圖13示出了對被插入到編碼數(shù)據(jù)流F形式的圖像數(shù)據(jù)塊B中的數(shù)據(jù) b(例如,比特)進(jìn)行讀取。在步驟E20期間,根據(jù)表示所述塊B的流F的編碼圖像數(shù)據(jù)的一 部分,來確定將塊B分割或劃分成子塊以及與塊B的子塊中的每一個(gè)相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)。
在步驟E22,將與塊B的子塊中的每一個(gè)相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行比較。根據(jù)變型, 將與塊B的一個(gè)子塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)與比較運(yùn)動(dòng)數(shù)據(jù)進(jìn)行比較。在當(dāng)前塊B的預(yù)測模 式是模式幀間_跳過的具體情況下,比較運(yùn)動(dòng)數(shù)據(jù)是DMVP,即,根據(jù)與相鄰塊相關(guān)聯(lián)的運(yùn)動(dòng) 數(shù)據(jù)而預(yù)測的運(yùn)動(dòng)數(shù)據(jù),或者與同序列的其他圖像中的當(dāng)前塊B并置的塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù) 據(jù)。 在步驟E24,如果對于當(dāng)前塊的一些子塊來說所述運(yùn)動(dòng)數(shù)據(jù)是相同的,則讀取所插 入的數(shù)據(jù)。 圖14示出了本發(fā)明的具體實(shí)施例。在步驟E20,根據(jù)表示所述塊B的流F的編碼 數(shù)據(jù)的一部分,來確定塊B的分割(即,劃分塊B的方式)和與塊B的每一個(gè)子塊相關(guān)聯(lián)的 運(yùn)動(dòng)數(shù)據(jù)DMV。如果塊B是16X 16塊,即,其預(yù)測模式是模式幀間_16X 16,則在步驟E22 期間,將與塊B相關(guān)聯(lián)且在步驟E20期間確定的運(yùn)動(dòng)數(shù)據(jù)匿V與比較運(yùn)動(dòng)數(shù)據(jù)進(jìn)行比較, 即,將該運(yùn)動(dòng)數(shù)據(jù)DMV與跳過模式的情況下的預(yù)測運(yùn)動(dòng)數(shù)據(jù)DMVP進(jìn)行比較。如果DMV = DMVP,則在該方法的步驟E24,遵循由表TAB1建立且對于讀取方法來說已知的代碼來讀取 比特'0',否則,不讀取數(shù)據(jù)。如果將塊B劃分成大小為8X 16的塊Bl和B2, S卩,其預(yù)測模 式是模式幀間_8X 16,則在步驟E22期間,將與子塊Bl和B2中的每一個(gè)相關(guān)聯(lián)且在步驟 E20期間確定的運(yùn)動(dòng)數(shù)據(jù)匿V1和匿V2進(jìn)行比較。如果匿V1和匿V2相同,則在該方法的步驟E24,根據(jù)由表TAB1建立且對于讀取方法來說已知的代碼來讀取比特'0'。如果DMV1和 DMV2是不同的,則不讀取數(shù)據(jù)。 然而,如果將塊B劃分成大小為16X8的塊B1和B2, S卩,其預(yù)測模式是模式幀間 _16X8,則在步驟E22期間,將與子塊Bl和B2中的每一個(gè)相關(guān)聯(lián)且在步驟E20期間確定的 運(yùn)動(dòng)數(shù)據(jù)匿V1和匿V2進(jìn)行比較。如果匿V1和匿V2相同,則在該方法的步驟E24,根據(jù)由 表TAB1建立且對于讀取方法來說已知的代碼來讀取比特'l'。如果DMV1和DMV2是不同 的,則不讀取數(shù)據(jù)。 如果將塊B劃分成大小為8X8的4個(gè)塊B1、B2、B3和B4并且不將8X8塊本身劃 分成子塊,即,如果其預(yù)測模式是模式幀間_8 X 8,則在步驟E22期間,將分別與子塊Bl、B2、 B3和B4中的每一個(gè)相關(guān)聯(lián)且在步驟E20期間確定的運(yùn)動(dòng)數(shù)據(jù)DMV1、DMV2、DMV3和匿V4進(jìn) 行比較。如果DMV1 = DMV2、DMV3 = DMV4并且DMV1與DMV3不同,則在該方法的步驟E24, 根據(jù)由表TAB1建立且對于讀取方法來說已知的編碼來讀取比特'l'。如果DMV1 = DMV3、 DMV3 = DMV4并且DMV1與DMV2不同,則在該方法的步驟E24,根據(jù)由表TAB1建立的編碼來 讀取比特'O',否則,不讀取數(shù)據(jù)。 如果將塊B劃分成大小為8X8的4個(gè)塊B1、B2、B3和B4,并且如果不對子塊本省 進(jìn)行劃分,則將圖15所示的方法應(yīng)用于8 X 8塊Bl、 B2、 B3和B4中的每一個(gè)。
因此,在步驟E20,根據(jù)表示所述塊B的流F的編碼數(shù)據(jù)的一部分來確定塊B的分 割(即,劃分塊B的方式)和與塊B的每個(gè)子塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)。如果將塊B劃分成大 小為4X 8的2個(gè)塊Bl和B2, S卩,如果其預(yù)測模式是模式幀間_4X 8,則在步驟E22期間,將 與子塊Bl和B2中的每一個(gè)相關(guān)聯(lián)且在步驟E20期間確定的運(yùn)動(dòng)數(shù)據(jù)DMV1和DMV2進(jìn)行比 較。如果DMV1和DMV2是相同的,則在該方法的步驟E24,根據(jù)由表TAB1建立且對于讀取方 法來說已知的編碼來讀取比特'0'。如果DMV1和DMV2是不同的,則不讀取數(shù)據(jù)。
然而,如果將塊B劃分成大小為8 X 4的2個(gè)塊Bl和B2, S卩,其預(yù)測模式是模式幀 間—8X4,則在步驟E22期間,將與子塊Bl和B2中的每一個(gè)相關(guān)聯(lián)且在步驟E20期間確定 的運(yùn)動(dòng)數(shù)據(jù)匿V1和匿V2進(jìn)行比較。如果匿V1和匿V2是相同的,則在該方法的步驟E24, 根據(jù)由表TAB1建立且對于讀取方法來說已知的編碼來讀取比特'1'。如果DMV1和DMV2不 同,則不讀取數(shù)據(jù)。 如果將塊B劃分成大小為4X4的4個(gè)塊Bl、 B2、 B3和B4,即,其預(yù)測模式是模式 幀間_4X4,則在步驟E22期間,將與子塊Bl、 B2、 B3和B4中的每一個(gè)相關(guān)聯(lián)且在步驟E20 期間確定的運(yùn)動(dòng)數(shù)據(jù)匿V1、DMV2、匿V3和匿V4進(jìn)行比較。如果DMV1 =匿V2、匿V3 = DMV4 并且DMV1與DMV3不同,則在該方法的步驟E24,根據(jù)由表TAB1建立且對于讀取方法來說已 知的編碼來讀取比特'1'。如果匿V1 = DMV3、 DMV2 = DMV4并且匿V1與匿V2不同,則在 該方法的步驟E24,根據(jù)由表TAB1建立的編碼來讀取比特'0'。否則不讀取數(shù)據(jù)。
針對圖像數(shù)據(jù)的塊、參照圖13至15描述的讀取方法有利地可以在圖像的幀間模 式下的所有塊上以及在序列中除幀內(nèi)圖像或I圖像以外的所有圖像上進(jìn)行重復(fù),以便重新 讀取多于一個(gè)插入數(shù)據(jù)的序列,例如,使得能夠標(biāo)識(shí)圖像序列出處的水印消息。
有利地,根據(jù)本發(fā)明,讀取方法不需要知道與所插入的數(shù)據(jù)相關(guān)的其他數(shù)據(jù)。特別 地,不需要知道在圖像中插入的數(shù)據(jù)的數(shù)目。事實(shí)上,根據(jù)本發(fā)明,在對與塊相關(guān)且表示將 塊分割成子塊的編碼數(shù)據(jù)以及與子塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行解碼的同時(shí),直接知道是否通
13過將與每個(gè)子塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行比較來將數(shù)據(jù)插入塊中。 本發(fā)明還涉及圖16所示的編碼設(shè)備2。在圖16中,使用相同的數(shù)字參考來標(biāo)識(shí)與 根據(jù)現(xiàn)有技術(shù)且由圖1示出的編碼設(shè)備1的模塊相同的、根據(jù)本發(fā)明的編碼設(shè)備的模塊,并 且不作進(jìn)一步描述。根據(jù)本發(fā)明的編碼設(shè)備2還包括能夠?qū)崿F(xiàn)插入方法的步驟E10和E12 的插入模塊180。為此,該插入模塊包括模塊1800,能夠根據(jù)要插入的數(shù)據(jù)b,將最初由判 定模塊170選擇的、當(dāng)前塊B的第一預(yù)測模式M1修改成第二預(yù)測模式M2。該插入模塊還包 括模塊1810,能夠?qū)⒆畛跖c塊B相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)DMV與由第二預(yù)測模塊M2定義的子塊 相關(guān)聯(lián),以對塊B進(jìn)行編碼。 根據(jù)具體實(shí)施例,編碼設(shè)備2還包括比特率調(diào)節(jié)設(shè)備190,針對每個(gè)圖像對要由 插入模塊180插入的數(shù)據(jù)的數(shù)目進(jìn)行固定,以限制與該插入相聯(lián)系的比特率的增大。這樣 的比特率調(diào)節(jié)模塊190能夠根據(jù)預(yù)定義的參數(shù)來限制被插入到圖像中的數(shù)據(jù)的數(shù)目。根據(jù) 具體實(shí)施例,比特率調(diào)節(jié)模塊190根據(jù)流的目標(biāo)比特率R(例如,R = 1Mbits/s)和每圖像 所插入的數(shù)據(jù)的最大數(shù)目U例如,N^二20bits)來限制被插入到圖像中的數(shù)據(jù)的數(shù)目。 根據(jù)目標(biāo)應(yīng)用來預(yù)定義這2個(gè)參數(shù)。當(dāng)達(dá)到比特率F時(shí)或當(dāng)在當(dāng)前圖像中插入的數(shù)據(jù)的數(shù) 目等于N^時(shí),則比特率調(diào)節(jié)模塊190向數(shù)據(jù)插入模塊發(fā)送信號(hào),以向其發(fā)信號(hào)通知停止在 當(dāng)前圖像中插入數(shù)據(jù)。 本發(fā)明還涉及圖17所示的代碼轉(zhuǎn)換設(shè)備3。該代碼轉(zhuǎn)換設(shè)備3包括表示代碼轉(zhuǎn)換 回路的第一模塊組DEC。該組DEC包括熵解碼模塊90、反量化和變換模塊80、時(shí)間和空間 預(yù)測模塊85以及存儲(chǔ)了重構(gòu)圖像數(shù)據(jù)的存儲(chǔ)器75。該代碼轉(zhuǎn)換設(shè)備3包括表示編碼回路 的第二模塊組ENC。該編碼回路包括與圖11的編碼設(shè)備2的模塊相同的模塊。在圖17上, 使用相同的數(shù)字參考來標(biāo)識(shí)與編碼設(shè)備2的模塊相同的、代碼轉(zhuǎn)換設(shè)備3的模塊,并且不作 進(jìn)一步詳細(xì)描述。該代碼轉(zhuǎn)換設(shè)備3在輸入處接收編碼數(shù)據(jù)流Fl,使用第一模塊組DEC中 的模塊來對流F1進(jìn)行解碼,并在表示與編碼數(shù)據(jù)流F1相同的圖像序列但具有不同比特率 的第二編碼數(shù)據(jù)流F2中對流F1進(jìn)行重新編碼。特別地,第一模塊組DEC包括熵解碼模塊 90。根據(jù)本發(fā)明的實(shí)質(zhì)特征,該代碼轉(zhuǎn)換設(shè)備3包括能夠?qū)崿F(xiàn)插入方法的步驟E10和E12 的插入模塊180。為此,插入模塊180包括模塊1800,能夠根據(jù)要插入的數(shù)據(jù)b,將由熵解 碼模塊90解碼的、當(dāng)前塊B的第一預(yù)測模式Ml修改成第二預(yù)測模式M2。該插入模塊180 還包括模塊1810,能夠?qū)⒆畛跖c塊B相關(guān)聯(lián)且由熵解碼模塊90解碼的運(yùn)動(dòng)數(shù)據(jù)DMV與由 第二預(yù)測模式M2定義的子塊相關(guān)聯(lián),以對塊B進(jìn)行編碼。 根據(jù)具體實(shí)施例,該代碼轉(zhuǎn)換設(shè)備2還包括比特率調(diào)節(jié)設(shè)備190,針對每個(gè)圖像 對要由插入模塊180插入的數(shù)據(jù)的數(shù)目進(jìn)行固定,以限制與該插入相聯(lián)系的比特率的增 大。這樣的比特率調(diào)節(jié)模塊190能夠根據(jù)預(yù)定義的參數(shù)來限制被插入到圖像中的數(shù)據(jù)的數(shù) 目。根據(jù)具體實(shí)施例,比特率調(diào)節(jié)模塊190根據(jù)流F2的目標(biāo)比特率R2(例如,R2 = 1Mbits/ s)和每圖像所插入的數(shù)據(jù)的最大數(shù)目U例如,Nm^ = 20bits)來限制被插入到圖像中的 數(shù)據(jù)的數(shù)目。根據(jù)目標(biāo)應(yīng)用來預(yù)定義這2個(gè)參數(shù)。當(dāng)達(dá)到比特率F時(shí)或當(dāng)在當(dāng)前圖像中插 入的數(shù)據(jù)的數(shù)目等于Nmax時(shí),則比特率調(diào)節(jié)模塊190向數(shù)據(jù)插入模塊發(fā)送信號(hào),以向其發(fā)信 號(hào)通知停止在當(dāng)前圖像中插入數(shù)據(jù)。 本發(fā)明還涉及圖18所示的用于在編碼圖像數(shù)據(jù)流Fl中插入數(shù)據(jù)4的設(shè)備。數(shù)據(jù) 插入設(shè)備4包括與圖17的代碼轉(zhuǎn)換設(shè)備3的模塊相同的模塊。在圖18中,使用相同的數(shù)字參考來標(biāo)識(shí)與代碼轉(zhuǎn)換設(shè)備3的模塊相同的、數(shù)據(jù)插入設(shè)備4的模塊,并且不作進(jìn)一步詳細(xì) 描述。特別地,數(shù)據(jù)插入設(shè)備4包括熵解碼模塊90、數(shù)據(jù)插入模塊180和熵編碼模塊150。 熵解碼設(shè)備90對流Fl進(jìn)行解碼。將第一預(yù)測模式Ml和與幀間模式下編碼的塊相關(guān)聯(lián)的 運(yùn)動(dòng)數(shù)據(jù)傳輸至數(shù)據(jù)插入模塊。在不進(jìn)行修改的情況下,將其他解碼數(shù)據(jù)直接從熵解碼模 塊90傳輸至熵編碼模塊150。熵編碼模塊150對運(yùn)動(dòng)數(shù)據(jù)、由數(shù)據(jù)插入模塊180修改的第 二預(yù)測模式M2和由熵解碼模塊90解碼的其他元素進(jìn)行編碼。 根據(jù)具體實(shí)施例,數(shù)據(jù)插入設(shè)備4還包括比特率調(diào)節(jié)設(shè)備190,針對每個(gè)圖像對 要由插入模塊180插入的數(shù)據(jù)的數(shù)目進(jìn)行固定,以便限制與該插入相聯(lián)系的比特率的增 大。
權(quán)利要求
一種用于將數(shù)據(jù)插入圖像序列的圖像數(shù)據(jù)塊中的方法,所述圖像數(shù)據(jù)塊被稱為當(dāng)前塊,其中,所述當(dāng)前塊是以或者預(yù)定要以來自根據(jù)第一預(yù)測模式定義的預(yù)測圖像數(shù)據(jù)的時(shí)間預(yù)測圖像數(shù)據(jù)的形式而編碼的,所述插入方法的特征在于,包括根據(jù)要插入的數(shù)據(jù),將所述第一預(yù)測模式修改成與所述第一預(yù)測模式不同的第二預(yù)測模式(E10、E100、E110、E120),以根據(jù)所述第二預(yù)測模式來對所述當(dāng)前塊進(jìn)行編碼,所述第二預(yù)測模式被定義為,使得利用所述第二預(yù)測模式獲得的預(yù)測圖像數(shù)據(jù)與利用所述第一預(yù)測模式獲得的預(yù)測圖像數(shù)據(jù)相同。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述第一預(yù)測模式定義了將所述當(dāng)前塊分割在 與至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)相關(guān)聯(lián)的至少一個(gè)子塊中的第一分割,并且,所述第二預(yù)測模式定義 了將所述當(dāng)前塊分割在至少兩個(gè)子塊中的第二分割,所述第二分割是所述第一分割的子分 割,所述方法還包括將所述第一分割的相應(yīng)的所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與所述第二分割的 所述至少兩個(gè)子塊中的每一個(gè)相關(guān)聯(lián)(E12)。
3. 根據(jù)權(quán)利要求2所述的方法,其中,所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)是運(yùn)動(dòng)向量和在所述序 列中標(biāo)識(shí)參考圖像的索引。
4. 根據(jù)權(quán)利要求2或3所述的方法,其中,所述第一預(yù)測模式是幀間_16X 16模式,并 且如果所述要插入的數(shù)據(jù)是具有第一值的比特,則所述第二預(yù)測模式是幀間_8X 16模式, 而如果所述要插入的數(shù)據(jù)是具有不同于所述第一值的第二值的比特,則所述第二預(yù)測模式 是幀間J6X8模式。
5. 根據(jù)權(quán)利要求2或3所述的方法,其中,所述第一預(yù)測模式是幀間_16 X 8模式,并且 如果所述要插入的數(shù)據(jù)是具有第一值的比特,則所述第二預(yù)測模式是幀間_8X8模式。
6. 根據(jù)權(quán)利要求2或3所述的方法,其中,所述第一預(yù)測模式是幀間_8 X 16模式,并且 如果所述要插入的數(shù)據(jù)是具有不同于所述第一值的第二值的比特,則所述第二預(yù)測模式是 幀間—8X8模式。
7. 根據(jù)權(quán)利要求1所述的方法,其中,所述第一預(yù)測模式是幀間跳過模式,并且所述第 二預(yù)測模式是幀間_16X 16模式。
8. 根據(jù)權(quán)利要求2或3所述的方法,其中,所述第一預(yù)測模式是幀間_8X8模式,并且 如果所述要插入的數(shù)據(jù)是具有第一值的比特,則所述第二預(yù)測模式是幀間—4X8模式,而 如果所述要插入的數(shù)據(jù)是具有不同于所述第一值的第二值的比特,則所述第二預(yù)測模式是 幀間—8X4模式。
9. 根據(jù)權(quán)利要求2或3所述的方法,其中,所述第一預(yù)測模式是幀間_8X4模式,并且 如果所述要插入的數(shù)據(jù)是具有第一值的比特,則所述第二預(yù)測模式是幀間—4X4模式。
10. 根據(jù)權(quán)利要求2或3所述的方法,其中,所述第一預(yù)測模式是幀間_4X 8模式,并且 如果所述要插入的數(shù)據(jù)是具有不同于所述第一值的第二值的比特,則所述第二預(yù)測模式是 幀間—4X4模式。
11. 一種用于對插入到表示圖像序列的圖像數(shù)據(jù)塊的編碼數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行讀取的 方法,所述圖像數(shù)據(jù)塊被稱為當(dāng)前塊,所述流包括對定義了將所述當(dāng)前塊分割成至少一個(gè) 子塊的預(yù)測模式進(jìn)行表示的信息,并且針對被稱為第一子塊的所述至少一個(gè)子塊,所述流 包括表示至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)的信息,所述讀取方法的特征在于,包括以下步驟_確定所述當(dāng)前塊的所述預(yù)測模式,以及針對所述第一子塊,確定來自所述編碼數(shù)據(jù)流的至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)(E20);-將所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)與比較運(yùn)動(dòng)數(shù)據(jù)進(jìn)行比較(E22);以及-如果所述至少一個(gè)運(yùn)動(dòng)數(shù)據(jù)和所述比較運(yùn)動(dòng)數(shù)據(jù)是相同的,則讀取所插入的數(shù)據(jù)(E24)。
12. 根據(jù)權(quán)利要求11所述的方法,其中,所述比較運(yùn)動(dòng)數(shù)據(jù)是根據(jù)與所述當(dāng)前塊的 相鄰塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)而預(yù)測的運(yùn)動(dòng)數(shù)據(jù);或與同所述當(dāng)前塊并置的塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù) 據(jù)。
13. 根據(jù)權(quán)利要求11所述的方法,其中,所述預(yù)測模式定義了將所述當(dāng)前塊分割成所 述第一子塊和第二子塊,并且,所述比較運(yùn)動(dòng)數(shù)據(jù)是與所述第二子塊相關(guān)聯(lián)的運(yùn)動(dòng)數(shù)據(jù)。
全文摘要
本發(fā)明公開了用于插入數(shù)據(jù)的方法和用于讀取所插入的數(shù)據(jù)的方法。本發(fā)明涉及一種用于將數(shù)據(jù)插入圖像序列的被稱為當(dāng)前塊的圖像數(shù)據(jù)塊中的方法。所述當(dāng)前塊是以或者預(yù)定要以來自根據(jù)第一預(yù)測模式定義的預(yù)測圖像數(shù)據(jù)的時(shí)間預(yù)測圖像數(shù)據(jù)的形式而編碼的。根據(jù)本發(fā)明,插入方法包括根據(jù)要插入的數(shù)據(jù),將第一預(yù)測模式修改成與第一預(yù)測模式不同的第二預(yù)測模式,以便根據(jù)第二預(yù)測模式對當(dāng)前塊進(jìn)行編碼,第二預(yù)測模式被定義為使得利用第二預(yù)測模式獲得的預(yù)測圖像數(shù)據(jù)與利用第一預(yù)測模式獲得的預(yù)測圖像數(shù)據(jù)相同。
文檔編號(hào)H04N7/50GK101754016SQ200910253479
公開日2010年6月23日 申請日期2009年12月16日 優(yōu)先權(quán)日2008年12月19日
發(fā)明者菲利普·博爾德, 阿尼塔·奧汗德 申請人:湯姆森許可貿(mào)易公司