專利名稱:用于水印檢測(cè)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字水印,更具體地,涉及在編碼內(nèi)容中嵌入、移除/置換和檢測(cè)數(shù)字水印。
背景技術(shù):
為了使用內(nèi)容,編碼內(nèi)容需要“解碼”過程。編碼內(nèi)容的一些示例包括MPEG-1, MPEG-2, H264/AVC, WMA, MPEG4, JPEG2000, MP3, PDF, Windows Word, Postscript 等,以及它 們的加密版本。為編碼內(nèi)容壓制水印的一種現(xiàn)有技術(shù)方法是在結(jié)構(gòu)和句法元素中插入水印信號(hào)。 US 6,687,384是在諸如MPEG-I和MPEG-2之類的編碼比特流的句法元素中嵌入數(shù)據(jù)的示 例。但是,這類水印無法經(jīng)受格式改變或數(shù)模轉(zhuǎn)換而繼續(xù)存在。為編碼內(nèi)容壓制水印的另一種現(xiàn)有技術(shù)方法是通過為用于MPEG編碼內(nèi)容的 DCT系數(shù)添加噪聲來嵌入水印。該方法的示例由F. Hartung和B. Girod描述于“Digital Watermarking of MPEG-2 Coded Video in the Bit Stream Domain",Proc. IEEE ICASSP, pp. 2621-4,April 1997。Hartung 和 B. Girod 的方法不使用感知技術(shù)。為編碼內(nèi)容壓制水印的又一種現(xiàn)有技術(shù)方法是直接修改編碼內(nèi)容。 US6, 373,960 (下文稱為“Conover”)描述了在MPEG壓縮視頻比特流內(nèi)通過以如下方式修 改某些DCT系數(shù)的水印壓制方法,即這些系數(shù)的熵編碼長(zhǎng)度在修改之后保持不變的方式。 Conover中未指定具體的水印嵌入方法。Conover中選擇水印地點(diǎn)的方法限制在具有O個(gè) 連零(run-zero)的系數(shù)。Conover的系數(shù)處于高頻域。Conover的方法既不包括預(yù)處理階 段,在描述的稍后階段也不存在用于實(shí)際水印插入的任何“替代值”。生成和使用“水印單 元”的概念在沒有在Conover中任何地方公開或予以教導(dǎo)。用于為編碼內(nèi)容壓制水印的現(xiàn)有技術(shù)方法不具有產(chǎn)生用于編碼內(nèi)容的某些部分 的“替代值”的預(yù)處理器。用于為編碼內(nèi)容壓制水印的現(xiàn)有技術(shù)方法不包括被進(jìn)一步掩飾 (mask)、模糊(obfuscate)、擾亂(scramble)或加密(統(tǒng)稱為“加密”)的編碼內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明通過在編碼內(nèi)容的選定位置嵌入水印來為編碼內(nèi)容壓制水印。這是通過將 編碼內(nèi)容中的原始值用它們的替代值來置換而完成的。每個(gè)原始值可具有一個(gè)或多個(gè)替代 值并且每個(gè)替代值包含一個(gè)水印信號(hào)。另外,可以通過用原始值置換替代值或者通過用另 一個(gè)替代值替換一個(gè)替代值來去掉水印。通過選擇多個(gè)替代值之一來替換編碼內(nèi)容中相應(yīng)位置的原始值,可以實(shí)現(xiàn)以下目 標(biāo)
-替代值與原始值尺寸相同,多個(gè)替代值的任何一個(gè)的置換創(chuàng)建符合限定的格式 的編碼內(nèi)容并且不在編碼內(nèi)容中引入感知假象。-替代值可以改善編碼內(nèi)容的質(zhì)量。例如,原始值可能是也可能不是有效值。換言 之,如果沒有其多個(gè)替代值之一的置換,編碼內(nèi)容將可能不是合法的格式。在原始值是有效 值的另一種情況下,若沒有替代值的置換,原始值將可能引入編碼內(nèi)容的降級(jí)。-每個(gè)替代值包含水印信號(hào)。這些水印信號(hào)可以和編碼內(nèi)容中其他位置處的其他 水印信號(hào)一起或者獨(dú)自具有一個(gè)或多個(gè)嵌入的信息單元。一個(gè)信息單元由一個(gè)或多個(gè)比特 組成。-替代值的數(shù)據(jù)量(由每個(gè)替代值的數(shù)據(jù)尺寸和替代值的個(gè)數(shù)定義)與編碼內(nèi)容 的數(shù)據(jù)量相比必須很小。直接為編碼內(nèi)容壓制水印的一個(gè)重要目標(biāo)是“局部加密”(localized encryption) 0局部加密允許明文和密文之間的對(duì)應(yīng)。例如,明文單元包括分量cl,c2,… cn。在局部加密后,密文由cl’,c2’,…,cn’組成,其中ci’是加密版本的ci(l < i < η)。 局部加密的簡(jiǎn)單示例是將內(nèi)容分成多個(gè)部分并分別加密每個(gè)部分。例如,在極端情況下,每 個(gè)系數(shù)或系數(shù)組被分別加密??梢詫?shí)現(xiàn)局部加密的一種類型的加密是選擇性加密或部分加 密。選擇性加密方法“理解”內(nèi)容句法結(jié)構(gòu)(例如,MPEG-2結(jié)構(gòu))并且只選擇性地加密內(nèi)容 的某些部分,而不是將內(nèi)容(音頻或視頻)視為二進(jìn)制數(shù)據(jù)流(也稱為“本地加密”)。選擇 性加密發(fā)生在壓縮之后。被加密內(nèi)容不得具有商業(yè)價(jià)值,雖然部分內(nèi)容可以是可見的。一 些選擇性加密方案可保留不被選擇性加密的內(nèi)容的格式、比特率和尺寸。其他選擇性加密 方案可增加比特率或要求專用解碼器。 以MPEG-2內(nèi)容為例,簡(jiǎn)單的選擇性算法只加密I幀。選擇性加密的MPEG可以是 有效的MPEG流。雖然沒有相應(yīng)的I幀的知識(shí),MPEG-2中的P和B幀將毫無價(jià)值,但是MPEG 視頻的大部分因?yàn)閹g相關(guān)的原因仍是可見的并且主要來自P和B幀中的未加密I塊。其 他選擇性加密方案包括MPEG-2首部的加密和/或DCT系數(shù)的加密。DCT系數(shù)分為“DC系 數(shù)”和“AC系數(shù)”。DC系數(shù)是在兩個(gè)維度中具有零頻率的系數(shù),AC系數(shù)是具有非零頻率的剩 余系數(shù)。所有I塊的AU DC系數(shù)或AC系數(shù)的部分值可以被加密。描述了一種用于在編碼內(nèi)容中插入水印的系統(tǒng)和方法,包括接收編碼內(nèi)容,接收 至少一個(gè)水印單元,以及直接用替代值置換從一個(gè)位置開始的多個(gè)比特,其中所述替代值 中嵌有水印信號(hào)。還描述了用于生成數(shù)字水印單元的裝置和方法,包括選擇如下位置,該位 置處編碼內(nèi)容的值將被替代值置換,以及計(jì)算替代值。另外還描述了用于置換編碼內(nèi)容中 的水印的系統(tǒng)和方法,包括接收編碼內(nèi)容,接收至少一個(gè)水印單元,以及用如下值置換從編 碼內(nèi)容中的如下位置開始的多個(gè)比特,其中所述值在所述至少一個(gè)水印單元中被指定,另 外其中所述位置在所述至少一個(gè)水印單元中被指定。另外還描述了用于在編碼內(nèi)容中插入水印的系統(tǒng)和方法,包括接收編碼內(nèi)容,接 收至少一個(gè)水印單元,接收比特序列(其中所述比特序列包括水印負(fù)載信息),以及執(zhí)行以 下操作之一直接用替代值置換從一個(gè)位置開始的多個(gè)比特,基于水印負(fù)載信息的比特序 列的比特值保持從該位置開始的多個(gè)比特不變,其中所述替代值中嵌入了水印信號(hào)。還描 述了用于水印檢測(cè)的系統(tǒng)和方法,包括接收至少一個(gè)水印單元,接收壓制有水印的內(nèi)容,從 壓制有水印的內(nèi)容中取回多個(gè)系數(shù)值,以及從所述系數(shù)值取回水印的比特值。
當(dāng)結(jié)合附圖來閱讀以下詳細(xì)說明時(shí),本發(fā)明將得到最好的理解。這些圖包括下面 簡(jiǎn)要描述的下圖
圖1是示出根據(jù)本發(fā)明的原理用于水印嵌入的預(yù)處理的工作流程的框圖2描繪了本發(fā)明的水印單元(U);
圖3是根據(jù)本發(fā)明的原理的水印檢測(cè)方法的流程圖4是回放設(shè)備的框圖,所述回放設(shè)備接收其中嵌入有水印單元的編碼內(nèi)容。
具體實(shí)施方式
為編碼內(nèi)容壓制水印可分為三個(gè)單獨(dú)步驟
位置選擇,這是對(duì)如下位置的選擇,所述位置處編碼內(nèi)容的值可以被包含水印 信號(hào)的替代值置換。
替代值計(jì)算,這是對(duì)替代值的確定,以便替代值具有與該替代值將要在編碼內(nèi) 容中置換的值相同的比特?cái)?shù),并且這類替換不會(huì)引起內(nèi)容的感知改變。另外,這些替代值包 含水印信號(hào)。
水印嵌入/插入,這是替代值之一對(duì)編碼內(nèi)容中值的實(shí)際置換。
第一二步可以被預(yù)處理。作為預(yù)處理的結(jié)果,一組水印單元(WU)產(chǎn)生。WU包含用 于實(shí)際嵌入/插入水印的所有信息。水印預(yù)處理器將編碼內(nèi)容當(dāng)作輸入和水印密鑰,并輸 出水印單元的序列。在僅為每個(gè)WU生成一個(gè)替代值的情況下,水印負(fù)載可變?yōu)轭A(yù)處理器的 附加輸入。這些水印單元作為編碼內(nèi)容的元數(shù)據(jù)、作為與內(nèi)容復(fù)用的分離信道,作為在句法 元素或內(nèi)容中隱藏的掩密(Steganographic)數(shù)據(jù)、或者作為在物理介質(zhì)(光盤、磁帶、硬盤 等)中存儲(chǔ)或通過網(wǎng)絡(luò)(TCP/IP、衛(wèi)星等)傳送的單獨(dú)文件被集成到最終內(nèi)容中。
通過從WU中的替代值中進(jìn)行選擇來嵌入水印負(fù)載信息。WU具有至少一個(gè)替代值。 當(dāng)每個(gè)WU只有一個(gè)替代值時(shí),有兩種方法來嵌入/插入水印信息(負(fù)載)。第一種方法是 通過將WU中的所有原始值用它們的替代值置換來嵌入單個(gè)固定的水印負(fù)載。第二種方法 允許通過在用于WU的置換或非置換之間進(jìn)行切換來嵌入各種水印負(fù)載。例如,置換指示正 比特值,非置換指示負(fù)比特值。為了嵌入水印負(fù)載“00101001”,第一和第二 WU中的原始值 不被置換,第三WU中的原始值被其替代值置換。對(duì)于具有多于一個(gè)替代值的WU,每個(gè)替代 值包含可能表示水印負(fù)載的不同信息單元的水印信號(hào)?;谒∝?fù)載來選擇用于替換的替 代值。例如,為了在WU中嵌入一個(gè)比特,只需要兩個(gè)替代值Vl和V2。為了嵌入比特值‘0’, 選擇Vl來置換編碼內(nèi)容中的原始值;為了嵌入比特值“1”,選擇V2。利用兩個(gè)值Vl和V2, 可以表達(dá)‘0’和‘1’比特。如果有四個(gè)替代值(VI、V2、V3和V4),則可以嵌入兩比特信息 (即‘00’、‘01’、‘10’和‘11’)。利用同一位置處的更多替代值,可以嵌入更多比特,這允 許非常有效的信息嵌入。
通常在第三步“水印插入”中接收水印負(fù)載。水印負(fù)載可以被水印壓制系統(tǒng)外部 的組件存儲(chǔ)或計(jì)算。水印負(fù)載信息通常是唯一地標(biāo)識(shí)接收方、回放設(shè)備(制造商、型號(hào)和/ 或序列號(hào))或內(nèi)容回放的日期和時(shí)間的標(biāo)識(shí)符。原始值V與其替代值之差可以存儲(chǔ)在WU 中以潛在地減小WU的尺寸。WU可被進(jìn)一步壓縮。
重要的是保護(hù)WU免受未經(jīng)授權(quán)的訪問或修改,因?yàn)橥ㄟ^該信息不僅水印壓制系 統(tǒng)易受到各種攻擊,而且黑客容易插入假水印,或者變更或去除現(xiàn)有水印。若WU作為掩密 (水印壓制)數(shù)據(jù)被存儲(chǔ)和發(fā)送,則可以通過水印壓制密鑰來控制訪問。若WU是通過任何 其他通道(channel)來存儲(chǔ)和傳送的,則需要對(duì)WU進(jìn)行加密。
如前所述,第一和第二步可以作為預(yù)處理步驟來執(zhí)行。因此,在第三步之前,不 為編碼內(nèi)容壓制水印。第三步通過用WU中指定的替代值置換編碼內(nèi)容中的某些值來執(zhí) 行水印嵌入。這些值可以是經(jīng)編碼的句法元素,如封裝標(biāo)識(shí)、首部、量化表、用于熵編碼的 Huffman表、經(jīng)編碼的系數(shù)或經(jīng)編碼的運(yùn)動(dòng)向量。WU通過選擇適當(dāng)?shù)奶娲祦碇付?替代 值中的)水印信號(hào)在哪里嵌入以及哪些可能的水印信號(hào)可以位于這些位置。
圖1是示出用于編碼內(nèi)容的生成WU的預(yù)處理的工作流程的框圖。圖2描繪了根 據(jù)本發(fā)明的原理的水印單元。每個(gè)WU由向量(P,L,C,{V},V1,V2,...,Vn)刻畫,其中P是 編碼內(nèi)容中將來可能被替代值置換的原始值V的位置,L是編碼內(nèi)容中開始于P的原始值 V所占據(jù)的比特?cái)?shù),C是在(編碼內(nèi)容的)L比特中利用熵編碼方法編碼的系數(shù)(例如,DCT 或小波量化系數(shù))的一組全局位置。諸如Huffman編碼之類的熵編碼通常應(yīng)用于編碼的最 后階段以產(chǎn)生編碼內(nèi)容。V1,V2,. . . Vn是V的有效替代值并且這些值的每一個(gè)包含水印信 號(hào)。每個(gè)系數(shù)位置用c(ch,f,b,co)表示,其中對(duì)于一個(gè)視頻內(nèi)容的單元而言,ch是通道 索引,f是幀索引,b是塊索引,co是塊內(nèi)的系數(shù)索引。如果當(dāng)替代值置換當(dāng)前值時(shí)它保持 格式符合性并且不存在對(duì)內(nèi)容的感知影響,則該替代值是有效的。另外,VI,V2,. . . Vn像V 在編碼內(nèi)容中一樣占據(jù)L比特。{V}指示原始值在嵌入/插入過程中是可選的。在水印去 除過程中可能需要原始值。
原始值V可以包含一個(gè)或多個(gè)編碼形式的系數(shù)。當(dāng)WU生成時(shí),若輸入是諸如 MPEG-2或MPEG-4之類的編碼內(nèi)容,則熵編碼(即可變長(zhǎng)度編碼(VLC))首先需要被“解 開”(undone)以訪問系數(shù),隨后找到適當(dāng)位置和替代值并存儲(chǔ)原始格式和這些替代值。替 代值Vi可以對(duì)應(yīng)于與V相同的系數(shù),但在某些情況下Vi可能對(duì)應(yīng)于比V更多或更少的系ο
下面示出MPEG-2中的量化的DCT系數(shù)的典型8X8塊。大多數(shù)高階系數(shù)已被量化為0。
1234 02 0000
870 01 0000
150 00 0000
00 00 0000
00 00 0000
00 00 0000
00 00 0000
00 00 0000
在‘‘之”字形掃描(Zig--zagscanning)后,待發(fā)送的DCT系數(shù)序列看起來像這樣
1234 87 16 00 2 00 00 00 1 0 0 0 0 0 0
第-一個(gè)DCT系婁 (12)經(jīng)由單獨(dú)的Huffman表發(fā)送。經(jīng)過連零位階(Rim-Level)解析之后,剩余系數(shù)和相關(guān)的連零為
34 I 87 I 16 I 0 0 2丨0 0 0 0 0 0 |θ 0 0 0 0 0......
利用MPEG-2標(biāo)準(zhǔn)指定的下面列出的DCT系數(shù)表零,這些系數(shù)被編碼成如下的6個(gè) 變長(zhǎng)碼(VLC)(用二進(jìn)制比特表示)
0000 0100 0000 0000 0010 001010000 0100 0000 0000 0101 011110000 00000111 110
MPEG-2DCT系數(shù)表零(部分)
權(quán)利要求
1.一種用于水印檢測(cè)的方法,所述方法包括接收經(jīng)預(yù)處理的水印單元;接收壓制有水印的內(nèi)容;從所述壓制有水印的內(nèi)容中取得多個(gè)系數(shù)值;以及從所述多個(gè)系數(shù)值中取得所述水印的比特值,其中所述比特值是通過將當(dāng)前系數(shù) 與在所述水印單元中編碼的多個(gè)系數(shù)值相關(guān)聯(lián)以確定最佳匹配而取得的。
2.根據(jù)權(quán)利要求1所述的方法,其中所述比特值是根據(jù)所述多個(gè)系數(shù)值之間/之中的 關(guān)系從所述多個(gè)系數(shù)值中取得的。
3.根據(jù)權(quán)利要求2所述的方法,其中所述關(guān)系是弱的且當(dāng)前系數(shù)被關(guān)聯(lián)以從在所述水 印單元中編碼的所述多個(gè)系數(shù)值中確定匹配。
4.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)預(yù)處理的水印單元是外部預(yù)處理單元的輸 出,并且多個(gè)系數(shù)值是基于所述經(jīng)預(yù)處理的水印單元中的位置信息從所述壓制有水印的內(nèi) 容中取得的。
5.一種用于水印檢測(cè)的系統(tǒng),包括用于接收經(jīng)預(yù)處理的水印單元的裝置;用于接收壓制有水印的內(nèi)容的裝置;用于從所述壓制有水印的內(nèi)容中取得多個(gè)系數(shù)值的裝置;以及用于從所述多個(gè)系數(shù)值中取得所述水印的比特值的裝置,其中所述比特值是通過將當(dāng) 前系數(shù)與在所述水印單元中編碼的多個(gè)系數(shù)值相關(guān)聯(lián)以確定最佳匹配而取得的。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述比特值是根據(jù)所述多個(gè)系數(shù)值之間/之中的 關(guān)系從所述多個(gè)系數(shù)值中取得的。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中所述關(guān)系是弱的且當(dāng)前系數(shù)被關(guān)聯(lián)以從在所述水 印單元中編碼的所述多個(gè)系數(shù)值中確定匹配。
8.根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述經(jīng)預(yù)處理的水印單元是外部預(yù)處理單元的輸 出,并且多個(gè)系數(shù)值是基于所述經(jīng)預(yù)處理的水印單元中的位置信息從所述壓制有水印的內(nèi) 容中取得的。
全文摘要
本發(fā)明公開了用于水印檢測(cè)的方法和系統(tǒng)。一種用于水印檢測(cè)的方法包括接收經(jīng)預(yù)處理的水印單元;接收壓制有水印的內(nèi)容;從所述壓制有水印的內(nèi)容中取得多個(gè)系數(shù)值;以及從所述多個(gè)系數(shù)值中取得所述水印的比特值,其中所述比特值是通過將當(dāng)前系數(shù)與在所述水印單元中編碼的多個(gè)系數(shù)值相關(guān)聯(lián)以確定最佳匹配而取得的。
文檔編號(hào)H04N7/50GK102036072SQ201010570558
公開日2011年4月27日 申請(qǐng)日期2005年12月5日 優(yōu)先權(quán)日2005年12月5日
發(fā)明者艾克哈德·科赫, 趙健 申請(qǐng)人:湯姆遜許可證公司