專利名稱:不用重新計算運動矢量就可修改壓縮圖象的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及依據(jù)利用了暫時冗余度的運動補償預測方案的數(shù)據(jù)壓縮。本發(fā)明還涉及對壓縮數(shù)據(jù)流的復制的防護。
象DVD播放器這樣的高容量盤播放器可以提供具有高品質(zhì)視頻圖象和高保真度音響的寬屏幕電影。這種DVD播放器的高品質(zhì)格式可給家庭帶來類似劇院的娛樂效果。
一個完整長度的電影可以被存儲在單獨一張DVD上。之所以能如此,是因為DVD具有高存儲容量。目前,單個一張DVD可存儲幾千兆字節(jié)的數(shù)據(jù)。之所以能如此的另一個原因是依據(jù)了基于MPEG的壓縮方案對視頻序列進行壓縮。象MPEG這樣的時髦的壓縮方案可以將數(shù)據(jù)存儲的需要量減少到原來的1/15到1/80,而不會明顯降低重建的視頻序列的品質(zhì)。
但是,用于計算機的讀/寫DVD驅(qū)動器的出現(xiàn)使得能將DVD出版物復制到空白DVD上,因而提供了機會來制作DVD出版物的未經(jīng)授權(quán)的拷貝。在缺少復制防護方案時,這些未經(jīng)授權(quán)的拷貝的品質(zhì)能與零售店中所賣的DVD發(fā)行物的品質(zhì)相比。因此,對DVD發(fā)行物的未經(jīng)授權(quán)的復制及發(fā)行對試圖保護其資金投入和知識產(chǎn)權(quán)的藝術(shù)家、生產(chǎn)者和版權(quán)所有者形成了挑戰(zhàn)。
不同的復制防護方案可以用來阻止對DVD發(fā)行物的未經(jīng)授權(quán)的復制及發(fā)行。例如,可將彈力水印“印”在被壓縮的視頻序列中。這樣,DVD播放器可使用該水印來確定是否是包含了未經(jīng)授權(quán)的拷貝的一張盤正在被播放。該水印可以表明該盤是否能與存儲于其上的視頻序列相兼容。如果該水印表明該視頻序列應(yīng)僅能存在于被壓膜成型的盤上,DVD播放器就察覺到一個不兼容的“寫”盤,并將其關(guān)閉。
然而,通過增加水印來修改視頻序列有可能產(chǎn)生問題,特別是在視頻序列已經(jīng)被壓縮為一個遵循MPEG的視頻流的情況下。將遵循MPEG的視頻流解壓縮為空間象素域表示、修改象素域表示、之后將經(jīng)修改的象素域表示重新壓縮為一個遵循MPEG的視頻流,這一系列操作都需要高強度運算。
在已經(jīng)將水印加入視頻序列之后,有可能還需要改變已存在的水印。甚至可能還需要從視頻序列中刪除已存在的水印。這里,對視頻序列的修改也是高強度計算的,特別是在視頻序列已經(jīng)被壓縮為一個遵循MPEG的視頻流的情況下。
對于修改一個遵循MPEG的視頻流,需要一種對其進行更低強度計算的方法。
這種需求在本發(fā)明中得到了滿足。依據(jù)象MPEG這樣的運動補償預測方案將第一數(shù)據(jù)流解壓縮為一個非壓縮域表示。之后,修改非壓縮域表示,而不需對該表示中的空間關(guān)系做出重大的改變。之后,經(jīng)修改的表示被重新壓縮為一個第二數(shù)據(jù)流。在第二數(shù)據(jù)流中使用了第一數(shù)據(jù)流中的運動矢量。
通過聯(lián)系附圖而對本發(fā)明原理進行舉例說明的以下詳細的說明,可以使本發(fā)明的其它方面和優(yōu)點更加突出。
圖1a是一個遵循MPEG視頻流的樣本幀的圖例,所顯示的幀是依照了顯示順序;圖1b是一個遵循MPEG視頻流的樣本幀的圖例,所顯示的幀是依照了編碼順序;圖2是依據(jù)本發(fā)明的一個系統(tǒng)的方框圖;圖3是重新壓縮一個經(jīng)修改的空間象素域表示的方法流程圖;圖4是一個依據(jù)本發(fā)明的用于修改遵循MPEG視頻流的計算機的方框圖;以及圖5是修改視頻流的另一種方法的流程圖。
正如用于說明目的的附圖所示,是聯(lián)系用來修改一個視頻流的系統(tǒng)對本發(fā)明進行說明的,所述的視頻流可以是一個遵循MPEG的視頻流。該系統(tǒng)允許以某種方法修改所述的視頻流,這種方法比只簡單地將MPEG視頻流解壓縮為一種非壓縮表示、修改該非壓縮圖象中的表示、之后產(chǎn)生一個全新的包含新運動矢量的遵循MPEG的視頻流的做法具有更低的計算強度。因此,該系統(tǒng)允許以低計算強度的方式將水印加入到視頻流中,或從中將其刪去。
在以下段落中,將給出對依據(jù)本發(fā)明的系統(tǒng)的說明。將主要在空間象素域說明該系統(tǒng)。但是,首先將給出對于在空間域中的視頻序列以及一個遵循MPEG的視頻流的說明。
在空間象素域,一個視頻序列將被描述為一個層級的單元。一個視頻序列是由一組圖象(“GOP”)構(gòu)成的。每一個GOP是由許多連續(xù)圖象構(gòu)成,而每個圖象又是由許多片段組成。每個片段包括許多宏塊,而每個宏塊又包括一個象素塊。每個MPEG宏塊一般包括一個或多個8×8的象素塊。
MPEG是一種塊運動補償預測方案,它減少了視頻序列中固有的暫時的和空間的冗余度。MPEG編碼一般是如下執(zhí)行的視頻序列的圖象被編碼為幀內(nèi)幀(“I幀”)、前向預測幀(“P幀”)和雙向預測幀(“B幀”)。一般都是通過將GOP內(nèi)第一圖象編碼為一個I幀,從而實現(xiàn)每一個GOP對臨時預測的刷新。在GOP內(nèi)的第一圖象被以從左到右、從上到下的方式進行搜索。每一個塊(即8×8塊)都被編碼。在I幀中沒有使用預測。
通常使用幀內(nèi)(預測)編碼技術(shù)對上述GOP中的剩余圖象進行編碼。以下是對此種情況的一種簡單說明。在上述GOP的每個剩余圖象中的多個塊被以從左到右、從上到下的方式搜索。將一個塊和與其相鄰圖象中相似大小的部分相比。如果發(fā)現(xiàn)這一部分與該塊匹配良好,則僅處理該塊與該匹配部分之間不同之處,并處理對于該匹配部分的矢量指向(即運動矢量)。上述塊與上述匹配部分之間的不同一般被稱為“不同塊”。這種運動分析的實現(xiàn)是一種高強度的計算。
一般來說,為每個前向預測或后向預測塊定義一個運動矢量,為每個雙向預測塊定義兩個運動矢量。這樣,每個P幀可包括與一個在先的幀相關(guān)的多個運動矢量,而每個B幀可包括與相鄰幀相關(guān)的前向和后向運動矢量。
在P幀中,可使用前向預測或幀內(nèi)編碼技術(shù)對每個塊進行編碼。在B幀中,可使用前向預測編碼技術(shù)或幀內(nèi)編碼技術(shù)對每個塊進行編碼。
MPEG體系允許一個GOP包含有靈活數(shù)目的圖象,但一般GOP的容量范圍在15到35幅幀之間。用于每個GOP的I、P和B幀是以靈活的順序排列的。在圖1a中顯示了依照顯示順序排列的一個典型的IPB圖案,而圖1b顯示了依照編碼順序排列的一個典型的IPB圖案。數(shù)據(jù)是被依照編碼順序放置到一個視頻流中的。
這樣,原始幀內(nèi)幀塊和不同(即剩余幀內(nèi)幀)塊被從空間域變換到頻域。MPEG使用離散余弦變換(“DCT”)編碼將幀內(nèi)幀及剩余幀內(nèi)幀塊變換為8×8的DCT系數(shù)塊。
所得到的DCT系數(shù)被量化。量化通常會導致數(shù)據(jù)的稀疏表示,即通常被量化的DCT系數(shù)的大部分幅值等于零。對經(jīng)量化的DCT系數(shù)進行游程編碼,之后使用霍夫曼編碼對其進行可變長度的編碼。另外,還用可變長度編碼技術(shù)對運動矢量進行壓編。
一個遵循MPEG的視頻流包括經(jīng)編碼的DCT系數(shù)和經(jīng)編碼的運動矢量。DCT系數(shù)和運動矢量被聚集在GOP中。視頻流還包括每個GOP的頭信息。
圖2顯示了用來修改遵循MPEG的視頻流10的一個系統(tǒng)12。依從MPGE的視頻流10被加到MPEG譯碼器14,該譯碼器能將所述視頻流10完全解壓縮為經(jīng)MPEG編碼的視頻序列的一個象素域表示。譯碼器14以傳統(tǒng)方式將視頻流10解壓縮。視頻流10被解碼為量化系數(shù)及運動矢量,所述量化系數(shù)被重建,并且所述運動矢量和重建的DCT系數(shù)被用于重建視頻序列的象素域表示。除了執(zhí)行對視頻流10的傳統(tǒng)譯碼外,譯碼器14還在緩沖器16中存儲運動矢量,以便后續(xù)應(yīng)用。
之后,傳統(tǒng)的視頻編輯器18修改該視頻序列的象素域表示。但是,所作的修改應(yīng)該沒有顯著改變象素域表示的空間關(guān)系。這種修改可以包括但并不僅限于以下步驟調(diào)整象素域表示中的亮度和色度;向象素域表示中加入人工信號、從象素域表示中刪除已存在的人工信號、減小噪聲以及改變已存在于象素域表示中的人工信息。
例如,可以從一個視頻序列中刪去已存在的水印?;蚩商砑右粋€水印,以阻止對該視頻序列未經(jīng)授權(quán)的復制??梢砸詡鹘y(tǒng)方式將一個水印加到所述象素域表示上。該水印可被當作噪聲分布在所述表示中,當重放該視頻序列時,該水印對觀看者來說時是看不見的。但是,使用一個拷貝防護使能系統(tǒng)就可檢測出所述水印。該水印包含有信息,該信息表明一個盤是否與存儲于其中的視頻序列相兼容。如果一個包含了未經(jīng)授權(quán)的視頻序列拷貝的盤被插入拷貝防護使能播放器,并且該水印表明該視頻序列應(yīng)只能存在于一個壓膜成型的盤上時,該播放器將不播放這張盤。相反,它可能會關(guān)閉。
一個重編碼器20將經(jīng)修改的象素域表示重壓縮為一個遵循MPEG的視頻流。重編碼器20不在經(jīng)修改的象素域表示執(zhí)行運動分析。取而代之的是,重編碼器20重新使用存儲在緩沖器16中的運動矢量。使用經(jīng)緩沖的運動矢量,重編碼器20產(chǎn)生了一個遵循MPEG的視頻流22,用于經(jīng)修改的象素表示(所述“經(jīng)修改的”視頻流22)。這樣,對經(jīng)修改的象素域表示的重新壓縮要比用來產(chǎn)生原始視頻流10的壓縮具有更小的計算強度。另外,這種重壓縮與譯碼器14所執(zhí)行的解壓縮具有大致相同的計算強度。之后,經(jīng)修改的視頻流22可被用來創(chuàng)建一個主DVD,或經(jīng)修改的視頻流22可被存儲在一張盤上。
現(xiàn)在請參見圖3,它顯示了重譯碼器20是如何對一個P或B幀進行編碼的。所述重編碼器搜索圖象中的塊(方框100)并訪問存儲在緩沖器16中的相應(yīng)的運動矢量(方框102)。該重編碼器20利用這些運動矢量來發(fā)現(xiàn)相鄰幀中的匹配部分,以及重新計算不同塊(方框104)。在這種方式中,運動矢量被重新使用。這樣,不用重新計算運動矢量就能重新計算出不同塊。
用于宏塊的新DCT系數(shù)得到重新計算(方框106)。將新DCT系數(shù)量化(方框108),且對該經(jīng)量化的系數(shù)進行游程長度編碼及可變長度編碼(方框110)。對經(jīng)緩沖的運動矢量進行可變長度編碼(方框112)。之后,加入頭信息(方框114)以產(chǎn)生經(jīng)修改的視頻流22。
如果保留了幾幅幀的相同序列,則頭和某些I、P和B幀也可被緩存在緩沖器16中,并在重壓縮時得到重新使用。由于重編碼器20不重新計算運動矢量,所以它以較低計算強度的方式產(chǎn)生了一個遵循MPEG的流。
可以通過硬件部分和軟件部分相結(jié)合來實現(xiàn)系統(tǒng)12,這些部分例如可以是基于軟件的一個視頻編輯器,也可以是基于硬件的編碼器和重編碼器。另一種方案是可在軟件中實現(xiàn)該系統(tǒng)。
圖4顯示了一種軟件實現(xiàn)方案。計算機200包括使用若干執(zhí)行命令對其進行編碼的一個處理器202和一個存儲器204。當執(zhí)行時,命令指示處理器202訪問(例如是來自外圍設(shè)備、硬盤驅(qū)動器、互連網(wǎng)等的)視頻流10,之后執(zhí)行如上所述的解壓縮、視頻編輯和重壓縮。存儲器204也可提供緩存。之后,經(jīng)修改的視頻流22被送到數(shù)據(jù)貯存裝置206(例如一個硬盤驅(qū)動器或DVD播放器),或被送到用于與其它計算機進行通信的一個輸出卡208(例如一個調(diào)制解調(diào)器或網(wǎng)卡)。
所公開的是這樣一種發(fā)明,它將一個視頻流解壓縮為一個空間域圖象,允許對該空間域表示進行修改,之后重新使用運動矢量來重新壓縮經(jīng)修改的空間域表示。對經(jīng)修改的象素域表示的重新壓縮要比產(chǎn)生原始視頻流的壓縮具有更低的計算強度,而且它與產(chǎn)生象素域表示的解壓縮具有大致相同的計算強度。這樣,本發(fā)明允許以某種方式修改視頻流,這種方式比僅簡單地解壓縮一個視頻流、在空間象素域進行修改、之后產(chǎn)生一個全新的包括新運動矢量的視頻流具有更高的計算效率。因此,可以以較低計算強度的方式將水印加入一個遵循MPEG的視頻流、將其從視頻流中刪去、或?qū)ζ溥M行更改。與此相似,也可以以較低計算強度的方式調(diào)整視頻流的色度和亮度。
當進行象調(diào)整色度或引入少量空間改變這樣的修改時,被緩沖的運動矢量很可能不再是理想的。因此,不同的塊有可能不能進行很好的編碼。但是,處理效率可能會補償品質(zhì)中的輕微損耗。
本發(fā)明可應(yīng)用于象MPEG-1和MPEG-2的各種MPEG編碼標準,同時還有其它依賴于運動補償?shù)木幋a標準(例如運動JPEG、H.261、H.263)。但是,本發(fā)明并不僅限于這類編碼標準。所提供的遵循MPEG的視頻流10的例子僅僅為便于理解本發(fā)明。本發(fā)明可與使用運動矢量或與其等價的任何一個壓縮方案一起使用。
本發(fā)明并不僅限于DVD播放器。DVD播放器的例子也僅僅是為理解本發(fā)明提供幫助。
此外,本發(fā)明并不僅限于上述所說明及圖示的特定實施例。例如,重編碼器可產(chǎn)生獨立譯碼器的運動矢量。這種重譯碼器可解析所述視頻流,以重新產(chǎn)生運動矢量。這樣作可除去緩沖器16,并允許使用一個流行的譯碼器。
本發(fā)明并不僅限于空間域表示。例如,可在頻域內(nèi)修改視頻序列。至于圖5,通過反可變長度編碼、反游程長度編碼等,可將視頻流解壓縮為一個頻域表示(方框300)。之后,可通過直接地修改重建的DCT系數(shù),從而修改頻域圖象(方框302)。之后,可通過對DCT系數(shù)量化(方框304),以及對該量化系數(shù)的游程長度編碼和可變長度編碼(方框306),而將經(jīng)修改的頻域表示重新壓縮為一個經(jīng)修改的流。運動矢量沒有被修改;它們僅僅被執(zhí)行了可變長度編碼(方框308)。這樣,在修改后的視頻流中使用了原始視頻流中的運動矢量。
這樣,與執(zhí)行解壓縮和重新壓縮有關(guān)的步驟有可能包括也有可能不包括進行DCT變換和DCT反變換。代之以,解壓縮和重新壓縮步驟將依賴于所編輯的域的類型。
因此,本發(fā)明不僅限于上述所說明及圖示的具體實施例。而應(yīng)依據(jù)以下權(quán)利要求書解釋本發(fā)明。
權(quán)利要求
1.一種用于允許修改依從第一運動矢量的數(shù)據(jù)流(10)的裝置(12),該裝置包括響應(yīng)所述第一流的一個譯碼器(14),該譯碼器提供一個非壓縮域表示,在對所述第一數(shù)據(jù)流進行解壓縮時,該譯碼器進一步提供若干運動矢量;以及一個響應(yīng)于所述運動矢量和經(jīng)修改的非壓縮域表示的重編碼器(20),該重編碼器提供依從第二運動矢量的數(shù)據(jù)流(22),在所述第二流中,所述重譯碼器提供多個運動矢量。
2.如權(quán)利要求1的裝置,進一步包括一個視頻編輯器(20),用來修改所述非壓縮表示,所述視頻編輯器向重編碼器提供經(jīng)修改的表示。
3.如權(quán)利要求2的所述裝置,其特征在于所述譯碼器、視頻編輯器和重編碼器是由包含了處理器(202)和存儲器(204)的一臺計算機(200)實現(xiàn)的,其中使用了若干命令對該存儲器進行了編碼,在執(zhí)行所述命令時,這些命令指示所述處理器將所述流解壓縮為非壓縮域表示,并允許修改該非壓縮域表示,并將經(jīng)修改的表示重新壓縮為經(jīng)修改的數(shù)據(jù)流。
4.如權(quán)利要求1的裝置,其特征在于所述譯碼器使用若干運動矢量來提供一個非壓縮空間域表示,并且其中所述重編碼器使用多個運動矢量來壓縮一個經(jīng)修改的空間域表示。
5.如權(quán)利要求1的裝置,其特征在于所述譯碼器提供一個非壓縮頻域表示,并且其中所述重編碼器壓縮一個經(jīng)修改的頻域表示。
6.如權(quán)利要求1的裝置,進一步包括一個緩沖器(16),用于緩存在對第一數(shù)據(jù)流進行解壓縮時所產(chǎn)生的運動矢量,在所述第二流的產(chǎn)生中,所述重譯碼器使用了上述經(jīng)緩沖的運動矢量。
7.如權(quán)利要求1的所述裝置,其特征在于所述譯碼器依據(jù)一個MPEG標準來執(zhí)行譯碼,并且其中所述重編碼器依據(jù)一個MPEG標準來執(zhí)行編碼,而且其中所述第一和第二數(shù)據(jù)流是遵循MPEG的視頻流。
全文摘要
一個顯示出暫時冗余度的經(jīng)壓縮的視頻流被解壓縮為一個非壓縮域圖象,在不用明顯改動該圖象中的空間關(guān)系的情況下就可修改該非壓縮域圖象,這種修改可包括向非壓縮域圖象中加入水印、從非壓縮域圖象中刪去水印、在所述非壓縮域圖象中變更水印以及調(diào)整該非壓縮域圖象中的色度和亮度。之后,使用在產(chǎn)生原始視頻流時所用的相同的運動矢量,將所述經(jīng)修改的圖象重新壓縮。這樣,不用重新計算新的運動矢量就可重新壓縮非壓縮域圖象,因此避免了高計算強度處理。
文檔編號H04N7/32GK1255021SQ99118118
公開日2000年5月31日 申請日期1999年8月23日 優(yōu)先權(quán)日1998年11月23日
發(fā)明者J·N·霍甘 申請人:惠普公司