專利名稱:數(shù)字視頻信號中的嵌入補充數(shù)據(jù)的制作方法
技術領域:
該發(fā)明涉及用于在數(shù)字視頻信號中嵌入補充數(shù)據(jù)的方法和裝置。該發(fā)明還涉及用于將嵌入補充數(shù)據(jù)解碼的裝置。
背景技術:
視頻和音頻信號越來越多地以數(shù)字編碼方式,例如MPEG比特流,來傳輸和記錄。這樣一種需求正在上升,即在信號中提供補充數(shù)據(jù),例如水印,來將信號分類為可靠的內容材料,標記上水印的數(shù)字信號在版權保護應用中尤其有用。其中的水印可以很有效地采用單比特的形式,該比特表明信號屬于版權受保護的材料,或者其中的水印采用表明該材料來源的多比特碼。
在已知的用于音頻和視頻壓縮的MPEG標準中,為了實現(xiàn)該目的定義了一個版權(copy protection)保護比特。然而,該已知方法的缺點是保護比特可以很容易地被修改以回避版權保護機制。
發(fā)明目標和概要該發(fā)明的目的是給出一種方法和裝置用來在視頻信號中以這樣一種方式嵌入一個水印,即,嵌入的水印可以被很容易地檢測到,但是刪除卻很困難。
因此,該發(fā)明給出一種在視頻信號中嵌入補充數(shù)據(jù)的方法,該方法包括將視頻信號編碼為幀組的步驟,其中的幀組包括幀內(I)編碼幀和一系列預測(P)編碼幀及雙向預測(B)編碼幀,其特征在于,以某種方式編碼視頻信號,在該方式中幀組(GOP)中的幀編碼類型模板代表一個補充數(shù)據(jù)的值。
通過該發(fā)明能夠很容易地檢測到水印。幀編碼類型被提供在MPEG比特流的幀頭中,并且很容易被讀到。然而,改變幀中的幀編碼類型來除去水印會使得幀數(shù)據(jù)不再遵從編碼標準。該MPEG比特流不再能被遵從標準的解碼器解碼。相關的幀必需被進行代碼轉換以遵從新的幀編碼類型,例如,通過將幀解碼后再編碼。
應該注意的是,在MPEG信號中產(chǎn)生預定順序的I,P和B幀從而標記某個數(shù)字視頻信號的一般思想已經(jīng)在專利申請者的國際專利申請WO97/13248中被提出。然而,這項發(fā)明在該發(fā)明的優(yōu)先日期之后被公布,并且沒能夠描述通過幀組中的幀編碼類型模板來表示補充數(shù)據(jù)的思想。
最好是,補充數(shù)據(jù)值由GOP中的B和P幀編碼類型的給定模板來表示,例如,通過GOP中的BPP模板的位置來表示。因此實現(xiàn)的是,改變幀編碼類型也改變了它對GOP中其它幀的相對參考性,從而影響到GOP中其它的幀。為了除去水印,GOP中的大部分幀而不是單個幀要被進行代碼轉換。這里有一個例外,P幀可以被代碼轉換為I幀而不需要其他幀也被進行代碼轉換。然而,I幀必須用P幀所使用的少量比特來編碼。這影響了I幀以及參考該幀的P幀的質量。因此,要除去水印就必須對GOP中剩余的幀進行代碼轉換或者GOP中剩余幀質量會嚴重降低。
附圖簡要描述
圖1-4表示了MPEG編碼的視頻信號GOP結構的例子,用來圖解說明根據(jù)該發(fā)明嵌入補充數(shù)據(jù)的方法。
圖5表示了將不同的補充數(shù)據(jù)值分配給GOP組中BPP模板各個位置的例子。
圖6表示根據(jù)該發(fā)明用來在MPEG視頻信號中嵌入補充數(shù)據(jù)的裝置示意圖。
圖7是說明圖6中所表示的控制電路操作的流程圖。
圖8是根據(jù)該發(fā)明用來將嵌入在MPEG編碼的視頻信號中的補充數(shù)據(jù)解碼的裝置示意圖。
實施方案描述首先,對于根據(jù)該發(fā)明的水印方法很基本的MPEG基礎理論將要被簡單描述。
為了實現(xiàn)有效的視頻壓縮,MPEG編碼器根據(jù)三個不同編碼方法中的一個來編碼幀。一些幀被獨立編碼,即,不參考視頻序列中任何其它幀。這些幀被表示為幀內編碼幀或I幀。其它幀被預測編碼。使用運動補償?shù)囊郧皫鳛閰⒖?預測)圖象。它們被表示為P幀。P幀參考的以前幀可以是I幀或另外的P幀。還有其它的幀是雙向預測編碼的。它們不僅參考以前的I或P幀,而且參考未來的I或P幀,并被表示為B幀。
一般的,I幀中需要用來表示幀的比特數(shù)是最多的,其次是P幀,最少的是B幀。壓縮量和解碼視頻序列的質量很大程度上取決于編碼器中的運動估計過程。運動估計是MPEG編碼器中最復雜而且計算強度最大的操作。正是這種操作使得專業(yè)的MPEG編碼器長期以來比成本低的商用編碼器更出眾。
為了使得MPEG解碼器知道接收到的幀是I,P還是B幀,MPEG視頻比特流的每個幀頭中的參數(shù)picture_type描述了相關的幀是如何被編碼的。如果幀編碼類型是I,那麼解碼器完全根據(jù)接收到的幀數(shù)據(jù)來重構圖象。如果幀編碼類型是P,那麼解碼器根據(jù)接收到的幀數(shù)據(jù)和已經(jīng)顯示的I或P幀來重構圖象。如果幀編碼類型是B,那麼解碼器基于前面及后面的I或P幀來重構圖象。應該注意的是,參數(shù)picture_type暗示了參考幀P幀參考最近的I或P幀,B幀參考最近的和下一個I或P幀。
一系列的I幀和連續(xù)的B,P幀被稱為幀組(GOP)。根據(jù)MPEG標準,編碼器可以隨意選取I,B和P幀編碼類型的最佳順序。然而,只有很少的GOP結構被用于實踐之中IPPP...被用于不需要訪問大量存貯器的廉價編碼器中。
IBPBP被用于比較先進的編碼器中。
IBBPBBP一般用在專業(yè)編碼器中。
處于開發(fā)中的MPEG編碼器使GOP結構比上面列出的傳統(tǒng)序列優(yōu)化了一些,其方式一般為當大部分場景發(fā)生變化時,選擇I幀。
圖1表示一般使用的GOP的IBBPBBP結構的例子,它包括12個幀,1,2...12。圖中的箭頭指向相關的參考幀。例如B幀2和3利用I幀1和P幀4進行預測編碼。B幀5,6利用P幀4和P幀7作為參考來編碼。同樣的,P幀4利用I幀1進行預測編碼。P幀7利用P幀4進行預測編碼等等。注意圖中所示是按顯示順序排列的幀。因為在其配置下,解碼器在解碼B幀時必須已經(jīng)接收到未來的P或I幀,所以發(fā)送順序是不同的。
如圖1所示,一般使用的GOP結構包括多個BBP模板。BPP模板很少用在GOP中。在該發(fā)明的優(yōu)選實施方案中,正是該模板被用來表示水印數(shù)據(jù)。圖2表示一個包括這種BPP模板(幀5,6和7)的GOP。
采用BPP形式的水印可以很容易被檢測到,因為幀編碼類型被包括在各個幀頭中。然而,僅通過改變參數(shù)picture-type來除去水印是不可能的。例如,如圖2的幀6中的參數(shù)picture-type被從P改變?yōu)閳D3中所示的B,那麼解碼器將參考P幀4和P幀7來解碼該幀,然而,編碼器僅使用P幀4作為預測圖象。幀7將不會被正確解碼,因為它現(xiàn)在參考P幀4而編碼器是參考幀6的。不用說,解碼器將會失敗或至少會產(chǎn)生錯誤的結果。
同樣的,如果通過將圖2中的幀7的參數(shù)picture-type從P改變?yōu)閳D4所示的B來除去水印,那麼解碼器將參考P幀6和10來解碼幀7,而編碼器僅參考幀6。幀8,9和10將不再會被正確地解碼,因為它們原來對P幀7的參考已經(jīng)被改變?yōu)閷幀6的參考。
P幀6或P幀7的參數(shù)picture-type都不能從P被變換為I,因為在這種情況下,預測編碼幀被解釋為獨立編碼幀(象素差值被解釋為象素)。
因此,為了除去水印,相關幀必須被進行代碼轉換,即,被解碼到象素域,然后再根據(jù)其修改后的幀編碼類型將之編碼。這樣對于″黑客″就不那麼有吸引力了,因為如前面提到的,除非可以接受質量的嚴重降低,否則高質量編碼涉及復雜的運動估計電路。在這方面,要注意的是,不僅picture-type參數(shù)被改變的幀必須要再編碼,參考修改后幀的幀也要被重新編碼。例如,如果圖2中的幀7象圖4所表示的那樣從P幀轉換為B幀。B幀8,9和P幀10也將要被進行代碼轉換,因為它們的參考幀已經(jīng)改變了。因此除非相關的P幀被轉換為I幀,否則代碼轉換的影響將波及GOP中剩余的幀。然而,在這種情況下,I幀必須被壓縮為與原來P幀中相同的(相對低)的比特數(shù)。
出現(xiàn)兩個連續(xù)P幀的情況幾乎不會是偶然的。因此,錯誤警告的數(shù)目(在非水印信號中檢測到水印)受到限制。為了進一步減少錯誤警告的可能性,可以對兩個加上水印的GOP之間的GOP最大數(shù)上施加一個條件。例如,如果加上水印的GOP發(fā)生在足夠小的間隔上,那麼該視頻流被指定為受版權保護。
以上描述的加水印GOP的概念使得任意長度的信息可以被嵌入到MPEG視頻信號中。因此,不同的補充數(shù)據(jù)值被分配給GOP中BPP模板中的不同位置上。有關的第一個例子在圖5中表示出來。在該例中,以BPP模板開始的GOP20表示一個同步碼來標記信息的開始。在一個單個P之后跟隨著BPP模板的GOP21表示二進制補充數(shù)據(jù)值″0″。在兩個P之后跟隨著BPP模板的GOP22表示二進制″1″,參考數(shù)23表示具有嵌入消息″0110...″的MPEG編碼的視頻信號段。注意到,從水印影響編碼效率的事實出發(fā),并不是每個GOP都傳送一個補充數(shù)據(jù)值(大部分GOP具有普通的IBBPBBP的結構)。在每個第n個GOP中嵌入一個補充數(shù)據(jù)值(n是一個預定值)來在相關GOP的辯識中輔助水印檢測器并降低錯誤警告率顯然是很有利的。還要注意到的是,視頻信號23中的GOPs具有可變長度。不僅GOP中的幀數(shù)會改變,每幀中的比特數(shù)也很大程度地取決于圖象內容。
要認識到的是,補充數(shù)據(jù)值的符號可以被進一步地擴大。例如,根據(jù)下表I,6個不同的消息符號0-5可以被分配給GOP結構
表I圖6是根據(jù)該發(fā)明用來在MPEG視頻信號中嵌入補充數(shù)據(jù)的裝置示意圖。該裝置包括一個傳統(tǒng)的MPEG視頻編碼器30和一個控制電路40。MPEG視頻編碼器被更詳細地表示出來,然而僅到理解該發(fā)明所須的程度。更特別的是,編碼器包括減法器31,該減法器接收將要被編碼的視頻信號x,并從中減去一個預測信號。差值信號被進行離散余弦變換,量化和變長編碼(在圖中統(tǒng)一表示為32)。MPEG編碼的輸出信號Y被發(fā)送給接收器或存儲在存儲媒體中(未表示出)。信號y也被通過本地解碼器33解碼,并通過加法器34被施加到運動估計和補償電路35。所述的運動估計和補償電路給出一個前向預測幀和一個雙向預測幀。
通過選擇開關36,圖6中三個MPEG編碼模型(I,P,B)被符號化,其中的開關36選擇施加到減法器31的預測信號,該選擇開關有三個輸入端,表示為I,P和B。如果I終端被選中,預測信號為零,這導致輸入信號x將被獨立編碼。如果P終端被選中,前向預測幀被施加到減法器。如果B終端被選中,雙向預測幀被施加到減法器。選中的預測信號也通過加法器34被反饋給運動估計和補償電路35。
當前編碼模型(I,P,B)被控制電路40控制,該電路根據(jù)將要被嵌入的接收到的水印消息w通過幀編碼類型信號PT來控制選擇開關36。圖7表示說明所述控制電路操作的流程圖。在該例中,假設根據(jù)前面描述的表I,水印符號wi(wi=0...5)被嵌入到每第8個GOP中。在步驟50確定當前GOP是否為第8個GOP。如果不是,在步驟51產(chǎn)生控制信號PT=IBBPBBP。為了響應這種情況,MPEG編碼器產(chǎn)生常規(guī)的GOP結構。然而,對于每個第8個GOP,將要被嵌入的水印消息w中的下一個水印符號wi在步驟52中被讀出。然后在存儲表I的存儲器中尋找被分配了所述符號的GOP結構,并在步驟53中產(chǎn)生相應的控制信號PT=I...BPP..。
圖8為根據(jù)該發(fā)明用來將嵌入到MPEG編碼的視頻信號中的補充數(shù)據(jù)解碼的裝置示意圖。該裝置包括一個GOP檢測器61,一個幀頭檢測器62,一個窗產(chǎn)生器63,門64,偏移寄存器64和查找表65。幀頭檢測器62檢測預定的32比特picture_start_code(16進制值00000100)在MPEG信號中的存在性并將幀頭信號PHDR施加給窗產(chǎn)生器63。為了響應這種情況,窗產(chǎn)生器63產(chǎn)生一個時序窗w。每次MPEG參數(shù)picture_coding_type被接收時,窗w打開門64并使得所述的參數(shù)被寫入偏移寄存器65。該參數(shù)表明當前幀是幀間編碼幀(I),預測編碼幀(P)還是雙向預測編碼幀(B)。GOP檢測器61檢測另一個預定的32比特參數(shù)group_start_code(16進制值000001B8)在MPEG信號中的存在性,該參數(shù)表明幀組的開始。為了響應這種情況,檢測器激活查找表66來將在偏移寄存器65中的當前幀編碼類型PTRN模板轉換為補充數(shù)據(jù)值wI。另外,GOP檢測器重置偏移寄存器65以便開始為下一個GOP收集幀編碼類型模板。
總之,該發(fā)明描述了一種在MPEG編碼視頻信號中嵌入水印的方法。MPEG編碼的視頻信號包括幀組(GOPs)。每個GOP包括一個幀間編碼(I)幀和一系列預測編碼(P)幀和雙向預測幀(B)。一般地,GOP結構IBBPBBP被使用。根據(jù)該發(fā)明,通過強迫MPEG編碼器來產(chǎn)生一個一般不會產(chǎn)生的GOP結構,例如包括BPP序列的GOP,視頻信號被加上了水印。不同的符號值可以被分配給GOP中BPP序列的不同位置。
權利要求
1.將補充數(shù)據(jù)嵌入視頻信號的方法,包括將視頻信號編碼成幀組的步驟,其中的幀組包括幀內編碼幀(I),一系列預測編碼幀(P)和雙向預測編碼幀(B);該方法的特征在于將視頻信號以下述方式編碼即幀組中的幀編碼類型(I,P,B)表示補充數(shù)據(jù)值。
2.如權利要求1所述的方法,其特征在于補充數(shù)據(jù)值由幀組中BPP模板的位置表示。
3.用來將補充數(shù)據(jù)嵌入視頻信號的裝置,該裝置包括用來將視頻信號編碼為幀組的裝置(30),其中的幀組包括幀內編碼幀(I),一系列預測編碼幀(P)和雙向預測編碼幀(B);該裝置的特征在于用來以下述方法編碼視頻信號的裝置(40)即幀組中的幀編碼類型(I,P,B)表示補充數(shù)據(jù)值。
4.如權利要求3所述的裝置,其特征在于補充數(shù)據(jù)值由幀組中BPP模板的位置表示。
5.將嵌入到視頻信號中的補充數(shù)據(jù)解碼的方法,其中的視頻信號被編碼為幀組,其中的幀組包括幀內編碼幀(I),一系列預測編碼幀(P)和雙向預測編碼幀(B);該方法的特征在于讀出幀組中的幀編碼類型(I,P,B)并確定所述幀組中由幀編碼類型模板表示的補充數(shù)據(jù)值的步驟。
6.如權利要求5所述的方法,其特征在于補充數(shù)據(jù)值由幀組中BPP模板的位置表示。
7.將嵌入到視頻信號中的補充數(shù)據(jù)解碼的裝置,其中的視頻信號被編碼為幀組,其中的幀組包括幀內編碼幀(I),一系列預測編碼幀(P)和雙向預測編碼幀(B);該裝置的特征在于用于讀出幀組中的幀編碼類型(I,P,B)并確定所述幀組中由幀編碼類型模板表示的補充數(shù)據(jù)值的裝置。
8.如權利要求7所述裝置,其特征在于補充數(shù)據(jù)值由幀組中BPP模板的位置表示。
9.具有嵌入補充數(shù)據(jù)的編碼視頻信號,該信號包括各組幀內編碼幀(I),預測編碼幀(P)和雙向預測編碼幀(B),其特征在于補充數(shù)據(jù)值由幀組中不同的預定幀編碼類型(I,B和P)的模板表示。
10.如權利要求9所述的信號,其特征在于補充數(shù)據(jù)值由幀組中BPP模板的位置表示。
11.一種存儲介質,如權利要求9或10所述的具有嵌入補充數(shù)據(jù)的編碼視頻信號被存儲在其中。
全文摘要
將水印嵌入到MPEG編碼的視頻信號中的方法,MPEG視頻編碼信號包括幀組(GOPs),每個幀組包括一個幀間編碼(I)幀和一系列預測編碼(P)幀和雙向預測幀(B)。一般地,GOP結構IBBPBBP…被使用。根據(jù)該發(fā)明,通過強迫MPEG編碼器產(chǎn)生一個一般不會產(chǎn)生的GOP結構,例如包括BPP序列的GOP,視頻信號被加上了水印。不同的符號值可以被分配給GOP中BPP序列的不同位置。
文檔編號H04N7/24GK1242907SQ98800027
公開日2000年1月26日 申請日期1998年1月12日 優(yōu)先權日1997年1月13日
發(fā)明者E·D·L·M·弗里茂特, S·J·J·尼森, J·P·M·G·林納茨 申請人:皇家菲利浦電子有限公司