數字水印嵌入裝置和方法以及數字水印檢測裝置和方法
2023-09-22 05:20:15 1
專利名稱:數字水印嵌入裝置和方法以及數字水印檢測裝置和方法
技術領域:
本發明涉及一種用於將數字水印信息嵌入到內容例如數位化的靜止圖像數據、活動圖象數據、語音數據以及音樂數據中的數字水印嵌入裝置和方法,以及一種用於檢測內容中的數字水印信息的數字水印檢測裝置和方法。
背景技術:
(數字水印)數字水印是一種用於通過將內容改變到其品質不會很大退化的程度而將某些信息嵌入到數字內容(數字書面作品數據)例如數位化的靜止圖像數據、活動圖象數據、語音數據以及音樂數據中的技術。例如,版權人或內容用戶的識別信息、涉及版權人權利的信息、使用內容的條件、使用內容所需的秘密信息,或複製控制信息等(在下文稱作「水印信息」)被嵌入,使得它不容易被察覺。必要時,這樣嵌入的水印信息在內容中檢測,並且用於控制內容的使用或者用於促進內容的二次使用。此外,已經提議將水印信息用於這種目的例如版權人的識別或認證、指紋識別、內容的認證,以及廣播的監控。
(數字水印的要求)為了水印信息用來防止數字內容的非法使用,必須使信息對於可能對內容施加的各種操作或攻擊企圖是穩健的(防止內容丟失或者被非法改變)。
(幾何畸變)如果數字內容是圖像數據(靜止圖像或活動圖象),有通過幾何畸變來擦除嵌入到其中的數字水印的攻擊企圖。幾何畸變意味著圖像的坐標變換。也就是,幾何畸變改變像素的位置。在像素位置的改變之後,某些類型的數字水印信息不能正確地檢測。
幾何畸變大體上分類為全局變換和局部變換。全局變換意味著整個圖像的按比例縮放、旋轉和平行位移。全局變換表示為仿射變換。另一方面,局部變換包括由局部參數表示的變換和由與位置無關的參數表示的變換例如全局變換。換句話說,全局變換是局部變換的特例。
(拓撲數字水印)已知同形空間具有稱作「拓撲不變量」的恆定性質。同倫類是其中的實例(參見例如Iwanami Mathematic Dictionary 3rdEdition,Topological Space,pp.22-34;Homotopy Theory,pp.1142-1150)。
數字水印可以通過把局部幾何畸變看作同形映射而與拓撲不變量相關。拓撲數字水印系統是一種用於實現對局部幾何畸變的穩健性的技術(參見例如日本專利申請公開發表2002-142094號)。在拓撲數字水印中,數字水印是在局部幾何畸變下不變的拓撲不變量(例如同倫類),並且由與預先確定的同倫類b相對應的函數Ψb來表示。數字水印通過從所檢測的函數Ψ』b計算同倫類b來檢測。
在常規數字水印技術中,數字水印信息以簡單方式作為拓撲不變量而嵌入到內容中。
發明內容
本發明已經根據上面而研製,並且旨在提供數字水印嵌入和檢測裝置,其顯示對StirMark攻擊或局部變換例如D-A-D轉換的穩健性,並且即使數字水印算法的全部或部分被公開,其仍然是可靠的。本發明也旨在提供在裝置中使用的數字水印嵌入和檢測方法和程序。
根據本發明第一方面,提供一種數字水印嵌入裝置,包括獲取單元,配置以獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入到其中的目標內容;函數產生單元,配置以產生與拓撲不變量相對應的拓撲函數;隨機化函數產生單元,配置以基於密鑰信息產生隨機化函數,並且通過隨機化函數和拓撲函數的複合來計算複合函數;以及函數嵌入單元,配置以將複合函數嵌入到目標內容中。
根據本發明第二方面,提供一種數字水印檢測裝置,包括獲取單元,配置以獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入到其中的目標內容;函數檢測單元,配置以檢測嵌入到目標內容中的嵌入函數;有序化函數產生單元,配置以基於密鑰信息產生有序化函數,並且通過有序化函數和嵌入函數的複合來計算複合函數;以及拓撲不變量計算單元,配置以基於複合函數來計算拓撲不變量,該拓撲不變量用作數字水印信息。
根據本發明第三方面,提供一種數字水印嵌入方法,包括獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入到其中的目標內容;產生與拓撲不變量相對應的拓撲函數;基於密鑰信息產生隨機化函數;通過隨機化函數和拓撲函數的複合來計算複合函數;以及將複合函數嵌入到目標內容中。
根據本發明第四方面,提供一種數字水印檢測方法,包括獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入到其中的目標內容;檢測嵌入到目標內容中的嵌入函數;基於密鑰信息產生有序化函數;通過有序化函數和嵌入函數的複合來計算複合函數;以及基於複合函數來計算拓撲不變量,該拓撲不變量用作數字水印信息。
根據本發明第五方面,提供一種存儲在計算機可讀媒體中以使計算機能夠用作數字水印嵌入裝置的程序,包括用於指示計算機獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入到其中的目標內容的手段;用於指示計算機產生與拓撲不變量相對應的拓撲函數的手段;用於指示計算機基於密鑰信息產生隨機化函數的手段;用於指示計算機通過隨機化函數和拓撲函數的複合來計算複合函數的手段;以及用於指示計算機將複合函數嵌入到目標內容中的手段。
根據本發明第六方面,提供一種存儲在計算機可讀媒體中以使計算機能夠用作數字水印檢測裝置的程序,包括用於指示計算機獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入其中的目標內容的手段;用於指示計算機檢測嵌入到目標內容中的嵌入函數的手段;用於指示計算機基於密鑰信息產生有序化函數的手段;用於指示計算機通過有序化函數和嵌入函數的複合來計算複合函數的手段;以及用於指示計算機基於複合函數來計算拓撲不變量的手段,該拓撲不變量用作數字水印信息。
圖1是說明包括根據本發明實施方案的數字水印嵌入和檢測裝置的內容循環系統的配置的示意框圖;圖2是說明實施方案的數字水印嵌入裝置的配置實例的框圖;圖3是說明實施方案的數字水印嵌入裝置的過程實例的流程圖;圖4是說明實施方案的數字水印檢測裝置的配置實例的框圖;圖5是說明實施方案的數字水印檢測裝置的過程實例的流程圖;圖6是用於解釋基空間如何看作等價於二維球面的視圖;圖7是用於解釋當活動圖象是目標內容時在實施方案中使用的用於計算亮度差值的方法實例的視圖;
圖8顯示基空間和目標空間的實例;圖9是用於解釋環繞基空間中赤道的一個圓與環繞目標空間中赤道的一個圓之間的對應的視圖;圖10是用於解釋環繞基空間中赤道的一個圓與環繞目標空間中赤道的一個圓之間的對應的視圖;圖11是用於解釋環繞基空間中赤道的一個圓與環繞目標空間中赤道的一個圓之間的對應的視圖;圖12是用於解釋環繞基空間中赤道的一個圓與環繞目標空間中赤道的一個圓之間的對應的視圖;圖13是用於解釋實施方案中使用密鑰信息的隨機化的視圖;圖14是用於解釋實施方案中使用密鑰信息的有序化方法的視圖;圖15是用於解釋實施方案的數字水印嵌入裝置的過程實例的流程圖;圖16顯示函數隨機化單元的配置實例;圖17是用於解釋實施方案的數字水印檢測裝置的過程實例的流程圖;圖18顯示實施方案中函數有序化單元的配置實例;以及圖19顯示實施方案中同倫類計算單元的配置實例。
具體實施例方式
本發明的實施方案將關於附隨附圖詳細地描述。
本發明可適用於為了各種目的(例如版權保護,包括使用或複製的控制、二次使用的加速等)將各種類型的水印信息嵌入到內容(例如數位化的靜止圖像數據、活動圖象數據、語音數據,以及音樂數據)中,以及檢測它們的情況。各種類型的水印信息包括,例如關於內容的版權人或用戶的識別信息、關於版權人的所有權信息、使用內容的條件、使用內容所需的秘密信息、複製控制信息等,單獨地或組合地。
圖1是說明包括根據本發明實施方案的數字水印嵌入和檢測裝置的系統的方案視圖;數字水印嵌入裝置1用來將水印信息嵌入到目標內容中。裝置1接收目標內容、待嵌入到目標內容中的數字水印信息,以及密鑰信息,並且輸出嵌入水印信息的內容。數字水印嵌入裝置1在內容供應者方提供並管理。
由數字水印嵌入裝置1獲得的嵌入數字水印的內容通過由例如存儲媒體、通信媒體等形成的分發通道3來分發。此刻,在分發通道3中,局部幾何畸變例如StirMark攻擊或D-A-D轉換可能施加到內容上(局部變換可能有意或無意地施加)。
數字水印檢測裝置2用來從目標內容檢測數字水印信息。數字水印檢測裝置2接收目標內容和密鑰信息,並且輸出在內容中檢測到的水印信息。數字水印檢測裝置2可以在用戶方內容使用裝置中提供,以便當內容被使用時保護內容的版權。可選地,裝置2可以在內容供應者方提供,使得內容供應者可以檢測所分發內容中的數字水印信息。
如隨後將詳細描述的,數字水印嵌入裝置1嵌入水印信息,使得即使StirMark攻擊或D-A-D轉換施加到水印信息,水印信息的內容也可以保持。因此,即使StirMark攻擊或D-A-D轉換施加到分發通道3中的目標內容,數字水印檢測裝置2也可以正確地檢測由數字水印嵌入裝置1嵌入的水印信息。
此外,僅當數字水印檢測裝置2使用合法的密鑰信息(例如,如果使用公用密鑰加密系統,與由數字水印嵌入裝置1用於目標內容的密鑰信息相同的密鑰信息)時,它可以正確地檢測嵌入到目標內容中的數字水印信息。因此,即使數字水印的算法被公開,系統仍然是安全的,除非密鑰信息被公開。
雖然在實施方案中,數字水印嵌入裝置1接收數字內容並且數字水印檢測裝置2輸出數字內容,數字水印嵌入裝置1可以具有在嵌入水印信息之前將輸入的模擬內容轉換為數字內容的功能。可選地或者同時,數字水印檢測裝置2可以具有在檢測水印信息之前將輸入的模擬內容轉換為數字內容的功能。
數字水印嵌入裝置1可以由硬體或軟體(程序)來實現。類似地,數字水印檢測裝置2可以由硬體或軟體(程序)來實現。
如果內容供應者使用數字水印嵌入裝置1和數字水印檢測裝置2,裝置1和2可以作為集成單元來實現。
如果數字水印檢測裝置2在用戶方內容使用裝置中提供,需要安全地構建數字水印檢測裝置2,以防止用戶操作、分析或攻擊數字水印檢測裝置2。
下面描述的配置可以是硬體的配置,或者功能模塊或軟體過程(程序)的配置。
雖然在實施方案中,活動圖像數據主要用作數字內容的實例,其他媒體,例如靜止圖像數據、語音數據等可以使用。關於活動圖像數據,如果數據以幀為單位來處理,局部變換例如StirMark攻擊或D-A-D轉換意味著幾何畸變。另一方面,如果活動圖像數據根據其時間位置在多個幀上處理,局部變換意味著幾何畸變以及具有時間消逝的變換(時空變換)。在靜止圖像數據的情況下,局部變換意味著數據的幾何畸變。此外,在語音數據的情況下,局部變換意味著具有時間消逝的變換。
在實施方案中,為了賦予對局部變換例如StirMark攻擊或D-A-D轉換的穩健性,水印信息作為拓撲不變量而嵌入到目標內容中(例如目標內容的像素值被改變,使得從目標內容獲得的拓撲不變量對應於水印信息)。在下面的描述中,假設拓撲不變量直接用作水印信息,並且同倫不變量用作拓撲不變量的實例。
代替直接使用拓撲不變量作為水印信息,用於將給定的水印信息轉換為待嵌入拓撲不變量的水印信息/拓撲不變量轉換單元可以在數字水印嵌入裝置1方提供。此外,在這種情況下,用於將所檢測的拓撲不變量轉換為相應的水印信息的拓撲不變量/水印信息轉換單元可以在數字水印檢測裝置2方提供。
關於拓撲不變量、同倫不變量或同倫類到數字水印信息的應用,可以利用在日本專利申請公開發表2002-142094號中公開的思想。
圖2顯示根據實施方案的數字水印嵌入裝置的配置實例。
實施方案的數字水印嵌入裝置接收數字內容(在該實施方案中,活動圖象)、作為待嵌入數字水印信息的同倫類,以及密鑰信息,並且輸出具有嵌入到其中的數字水印信息的內容。
如從圖2看到的,實施方案的數字水印嵌入裝置包括函數產生單元11、函數隨機化單元12和函數嵌入單元13。
圖3顯示實施方案的數字水印嵌入裝置的過程實例。
首先,輸入數字水印信息待嵌入到其中的目標圖像、密鑰信息以及水印信息(在該實施方案中,同倫類)(步驟S1)。
隨後,產生與輸入的同倫類相對應的拓撲函數(步驟S2)。
隨機化函數根據輸入的密鑰信息來產生,並且複合函數從該隨機化函數以及與同倫類相對應的拓撲函數來產生(步驟S3)。
這樣產生的複合函數嵌入到目標圖像中(步驟S4)。
輸出具有嵌入到其中的數字水印信息的圖像(步驟S5)。
函數產生單元11的功能將被描述。
這裡,圖像由像素構成。並且圖像包括活動圖象。
每個像素由圖像中的相應位置和該位置處的顏色來定義。
由圖像中的像素位置形成的空間B稱作基空間,而由像素顏色形成的空間C稱作色空間。例如,在一幀靜止或活動圖像的情況下,基空間B是二維有限區域。在彩色圖像的情況下,色空間C是三維有限區域。
假設預先確定子空間TCn]]>在由n(n≥1)個色空間C形成的乘積空間Cn(=C×C×...×C)中創建,並且稱作「目標空間T」。此外,假設包含目標空間T的預先確定子空間ST]]>在色空間C中設置,並且稱作隨機化空間。嚴格上,空間T,S,Cn不是拓撲空間,因為它們是離散的。但是,在實施方案中,它們被近似地看作拓撲空間。
在實施方案中,與基空間B的同形相對應的不變量看作水印信息。更具體地說,從基空間B到目標空間T的映射對應的同倫類用作拓撲不變量。
當作為待嵌入信息的同倫類b已經輸入時,函數產生單元11產生與同倫類b相對應的拓撲函數ΨbB→T。
函數隨機化單元12的功能現在將描述。
函數隨機化單元12產生從一個隨機化空間S到另一個隨機化空間S的映射,即根據輸入的密鑰信息k而變化的函數(隨機化函數)gkS→S。其後,單元12產生基於密鑰信息k的函數gk以及與同倫類b相對應的並且由函數產生單元11產生的函數Ψb的複合函數gk○ΨbB→S(符號「○」表示在該符號之前和之後指定的函數的複合函數)。
函數嵌入單元13的功能將被描述。
函數嵌入單元13將由函數隨機化單元12產生的複合函數gk○Ψb嵌入到目標圖像中。該嵌入操作被執行以改變圖像,使得與基空間B中的每個點相對應的隨機化空間S中的值由該複合函數給出。其後,輸出具有嵌入到其中的數字水印信息的目標圖像。
圖4顯示實施方案的數字水印檢測裝置的配置實例。
實施方案的數字水印檢測裝置接收數字內容(在實施方案中,活動圖象)和密鑰信息,並且輸出檢測到的同倫類作為數字水印信息。
如從圖4看到的,實施方案的數字水印檢測裝置包括函數檢測單元21、函數有序化單元22和同倫類計算單元23。
圖5顯示實施方案的數字水印檢測裝置的過程實例;首先,輸入待檢測數字水印信息的目標圖像以及密鑰信息(步驟S11)。
隨後,檢測嵌入到目標圖像中的函數(步驟S12)。
與上述隨機化函數相對應的有序化函數根據輸入的密鑰信息來產生,並且該有序化函數和嵌入函數的複合函數被產生(步驟S13)。
計算與所產生的複合函數相對應的同倫類(步驟S14)。
輸出所計算的同倫類作為數字水印信息(步驟S15)。
函數檢測單元21的功能將被描述。
當接收到目標圖像時,函數檢測單元21在圖像中檢測與基空間S中的每個點相對應的隨機化空間S中的值,從而獲得嵌入函數ΦB→S。
函數有序化單元22的功能將被描述。
像函數隨機化單元12一樣,函數有序化單元22產生從一個隨機化空間S到另一個隨機化空間S的映射,即根據輸入的密鑰信息k而變化的函數gk-1S→S。gk-1是gk的反函數。也就是,gk-1○gk=1。
此外,函數有序化單元22產生基於密鑰信息k的有序化函數gk以及由函數產生單元11產生的嵌入函數Φ的複合函數gk-1○ΦB→S。
如果檢測目標是具有嵌入到其中的數字水印信息的圖像,並且函數有序化單元22使用與數字水印嵌入裝置1的函數隨機化單元12所使用的密鑰信息相同的密鑰信息,由函數有序化單元22產生的複合函數ΞB→S是Ξ=gk-1○Φ=gk-1○gk○Ψb=Ψb。Ψb表示與作為數字水印信息而給出的同倫類b相對應的函數(ΨbB→T)。因此,複合函數Ξ的範圍應該處於目標空間T中。換句話說,ΞB→T。
當對於目標圖像,函數有序化單元22使用與數字水印嵌入裝置1的函數隨機化單元12所使用的密鑰信息不同的密鑰信息k』時,Ξ』=gk』-1○Φ=gk』-1○gk○Ψb被建立。一般地,Ξ』≠Ψb。這不能保證複合函數Ξ』的範圍處於目標空間T中。因此,難以確定目標內容是否包含數字水印信息,並且難以檢測正確的Ξ(因此,難以知道所嵌入的數字水印信息的正確內容)。
同倫類計算單元23的功能將被描述。
同倫計算單元23從由函數有序化單元22獲得的複合函數ΞB→T來計算與複合函數相對應的同倫類,並且輸出計算結果作為所獲得的數字水印信息。
在實施方案中,已經給出由數字水印嵌入裝置1用來確定隨機化函數的密鑰信息與由數字水印檢測裝置2用來確定有序化函數的密鑰信息相同的情況的描述。但是,如果可以使由嵌入裝置1產生的隨機化函數與由檢測裝置2產生的有序化函數互為反函數時,裝置1和2可以使用不同的密鑰信息項。
實施方案將更詳細地描述。
由包含在圖像中的像素的位置形成的基空間B開始是由例如(512×512)像素形成的二維有限區域。但是,如果基空間S畸變使得其周邊可以看作等價於一個點,那麼它可以看作二維球面S2。圖6說明該思想。
作為上面設想的結果,基空間B的坐標可以由二維球面的極坐標,歐拉角,(θ,)來表示(θ∈
,(∈
]。假設基空間B的原始坐標是(x,y),並且x∈
,∈
1/2密度差用來代替像素顏色的差(即單色圖像用作實例)。因此,色空間C是僅與亮度有關的一維區域C=
,Y∈[-256g,256g],Z∈[-256g,256g](嚴格地,X,Y,Z∈[-255g,255g])。
具有直徑ε的二維球面S2在空間S中創建,並且設為目標空間T。
極坐標(Θ,Φ)表示目標空間T(Θ∈
]>的隨機化空間S。在這種情況下,即使使用相同的檢測算法,也不能獲得有意義信息,因為環繞基空間中赤道的一個圓僅僅對應於目標空間中的隨機位置。換句話說,不僅正確的同倫類即數字水印信息不能被獲得,而且數字水印信息的存在本身也不能被檢測到。僅當用於嵌入的密鑰信息已知時,如圖14中所示的有序化可以執行來檢測與每個像素位置相對應的嵌入值,因此正確的同倫類即數字水印信息可以獲得。
因而,即使用於獲得數字水印信息的算法被公開,數字水印信息也不能被檢測到,除非密鑰信息被公開。
圖15是用於解釋實施方案的數字水印嵌入裝置的過程實例的流程圖。
首先,數字水印信息待嵌入到其中的目標圖像、作為待嵌入數字水印信息的同倫類,以及密鑰信息被提供給數字水印嵌入裝置(S21)。
隨後,函數產生單元11產生與所提供的同倫類相對應的函數(S22)。
函數產生單元11的操作實例將被描述。
函數產生單元11包括X分量產生部分、Y分量產生部分和Z分量產生部分(沒有顯示)。可以使用各種類型的函數。例如,可以使用下面的函數Θ=θ(1)Φ=b(mod 2π) (2)其中b表示作為數字水印信息的同倫類,並且b∈ZZ==π2(S2)。
除上面以外的函數也可以用作與同倫類相對應的函數。此外,可以使用非周期函數。
此外,函數可以選自先行準備的函數,其通過使用相應的函數設置內容的拓撲不變量來估算以最小地影響內容。
與目標空間T中的點相對應的值(X,Y,Z)通過某個函數而與值(Θ,Φ)相關。通過上面的等式,值(Θ,Φ)與看作等價於基空間B的空間S2中的值(θ,)相關。與基空間B中的每個點相對應的值(X,Y,Z)可以通過聯合等式中的基本函數來計算。使用基本函數的計算可以參考關於函數的輸入/輸出對應表來實現。
因而,當數字水印信息b∈ZZ被輸入時,函數產生單元11輸出與基空間B中的每個點相對應的值(X,Y,Z)。
其後,函數隨機化單元12根據提供給它的密鑰信息來產生隨機化函數,從而計算該函數與由函數產生單元11產生的函數的複合函數(S23)。
函數隨機化單元12的操作實例將被描述。
當密鑰信息k被輸入時,函數隨機化單元12產生隨機化函數。
隨機化函數是從一個空間S到另一個空間S的映射,該映射根據密鑰信息的值而變化。
一個實例將被描述。
空間S被分成256個塊。
為了標明每個坐標中的256個塊,需要8位。因此,為了標明三個坐標(X,Y,Z)的全部塊,需要24位。當表示坐標(X,Y,Z)的24位信息被標明時,一個空間S中的全部區域被標明。在這種情況下,區域的替換根據密鑰信息來執行。為此,使當已接收到24位信息時輸出24位信息的雙射映射函數依賴密鑰信息是足夠的。根據這一點,實施方案使用一種用於構造分組密碼的方法。
利用Feistel網絡的方法是分組密碼構造方法的一種。例如,DES(數據加密標準)是該方法的一種。
實施方案使用如圖16中所示的利用Feistel網絡的結構。
在圖16中,參考數字121表示逐位異或單元。在由參考數字122表示的單元中,參考數字1221表示S盒,並且1222表示逐位異或單元。S盒是8輸入/8輸出的雙射函數單元並且執行隨機變換。通過重複相同的操作r次,S盒的輸入和輸出可以具有隨機關係。「k1」~「kr」表示構成密鑰信息k的密鑰信息項。密鑰信息k具有8r位的長度。隨機化函數gk用來替換上述區域。
從圖16中所示結構的上部,使用由函數產生單元11產生的函數而計算的值被輸入。從圖16結構的下部,基於輸入到隨機化函數的值而計算的值被輸出。
函數隨機化單元12從由函數產生單元11產生的用於從基空間B映射到目標空間T的函數Ψb以及用於從一個空間S映射到另一個空間S(ST)]]>的隨機化函數gk來產生用於從基空間B映射到空間S的複合函數gk○Ψb。這通過根據由隨機化函數確定的對應,將與基空間B中的每個點相對應的目標空間T中的點轉換到空間S中的相應點來執行。
雖然在上面的描述中,對X,Y和Z分量使用相同的隨機化函數,可以對它們使用不同的隨機化函數。在這種情況下,在隨後描述的有序化過程中,對X,Y和Z分量使用與不同的隨機化函數相對應的不同的有序化函數。
複合函數的X,Y和Z分量的每個基於每組包括g個幀的兩個組來求出並嵌入(S24-1,S24-2,S24-3)。最後,具有嵌入到其中的數字水印信息的目標圖像被輸出(S25)。
函數嵌入單元13的操作實例將被描述。
函數嵌入單元13將從函數隨機化單元12輸出的複合函數gk○ΨbB→S嵌入到目標圖像中。
如上所述,6g個幀分成六個組G0-G5,並且複合函數的X,Y和Z分量以下面方式嵌入到組G0和G1,G2和G3,以及G4和G5的相應對中[X分量]組G0f0→f0+(ε/2)[gk○Ψb]x組G1f1→f1-(ε/2)[gk○Ψb]x[Y分量]組G2f2→f2+(ε/2)[gk○Ψb]y組G3f3→f3-(ε/2)[gk○Ψb]y[Z分量]組G4f4→f4+(ε/2)[gk○Ψb]z組G5f5→f5-(ε/2)[gk○Ψb]z如果,例如關於X分量,在嵌入之前檢測的組G0的亮度差是f0,嵌入通過改變每個幀的每個像素值來執行,使得嵌入之後獲得的亮度差將是f0+(ε/2)[gk○Ψb]x。
數據嵌入到每個fi中可以被執行,使得嵌入對於屬於一組的g個幀均勻地執行,或者使得嵌入強度以幀為單位而變化。此外,是均勻嵌入還是非均勻嵌入被執行可以以基空間B中的點為單位來確定。可選地,嵌入強度可以以基空間B中的點為單位來改變。
此外,數字水印信息可以嵌入到包含在與全部像素相對應的全部位中的預先確定中間位平面(其通常包含許多位),如果該位平面不容易受噪聲影響,並且水印信息嵌入到位平面中不會顯著地退化圖像品質。
圖17說明實施方案的數字水印檢測裝置的過程實例。
首先,數字水印檢測裝置被提供待檢測數字水印信息的目標圖像,以及用於嵌入數字水印信息的密鑰信息(S31)。
隨後,函數檢測單元21基於每組包含g個幀的相應兩個組來求出嵌入函數的X,Y和Z分量(S32-1,S32-2,S32-3)。
函數檢測單元21的操作實例將被描述。
函數檢測單元21從如圖7中所示的6g個幀來計算X,Y和Z分量。因為當分量被嵌入時常量「ε」乘以每個分量,所以當檢測時1/ε乘以每個分量。
因而,函數ΦB→S被確定。
作為函數的表示實例,有一種方法用於列出與基空間B中的各個點相關的函數值。
其後,函數有序化單元22根據所提供的密鑰信息來產生有序化函數,並且計算該有序化函數和由函數檢測單元21求出的函數的複合函數(S33)。
函數有序化單元22根據所提供的密鑰信息k來產生有序化函數。如果與用於嵌入的密鑰信息相同的密鑰信息被提供,有序化函數是隨機化函數的反函數。
函數隨機化單元12通過圖16中所示的使用Feistel網絡的配置來實現隨機化函數。另一方面,隨機化函數的反函數可以通過圖18中所示的配置來實現。
在圖18中,參考數字221表示逐位異或單元。在由參考數字222表示的單元中,參考數字2221表示S盒,並且參考數字2222表示逐位異或單元。「k1~「kr」表示密鑰信息項。
從圖18中所示結構的上部,使用由函數檢測單元21產生的函數而檢測的值被輸入。從圖18結構的下部,基於輸入到有序化函數的值而計算的值被輸出。
其後,同倫類計算單元23從所獲得的複合函數來計算同倫類(S34)。最後,所計算的同倫類作為數字水印信息而輸出(S35)。
由函數有序化單元22計算的複合函數由下面給出ff=(X,Y,Z)=(sinΘ·cosΦ,sinΘ·sinΦ,cosΘ)如果與用於嵌入的密鑰信息相同的密鑰信息提供給函數有序化單元22,作為結果的複合函數是與同倫類b相對應的由數字水印嵌入裝置的函數產生單元11產生的函數(ΨbB→T),並且作為數字水印信息而給出。
與複合函數相對應的同倫類b(ff)由下面給出b(ff)=(1/4π)∫02πdθ∫0πdff·ff/θ×ff/其中θ和表示被看作等價於基空間B的二維球面S2中的坐標。此外,在向量運算中,當X,Y和Z坐標看作直角坐標時「·」和「×」在空間S中分別表示「內積」和「外積」。∫02π的「0」和「2π」表示積分的範圍是0~2π如果同倫類b(ff)由原始基空間B中的積分來表示,下面的等式被給出b(ff)=(1/4π)∫0Wdx∫0Hdyff·ff/x×ff/y在實際圖像中,基空間B是離散空間,因此在上面的等式中,每個積分用求和來代替,並且每個微分用差分來代替。在這種情況下,同倫類b(ff)由下面給出b(ff)=(1/4π)∑x=0W-1∑y=0H-1ff·Δxff×Δyff其中
Δxff(x,y)=ff(x+1,y)-ff(x,y)(x≠W-1)Δxff(x,y)=ff(0,y)-ff(W-1,y)(x=W-1)Δyff(x,y)=ff(x,y+1)-ff(x,y)(x≠H-1)Δyff(x,y)=ff(x,0)-ff(x,H-1)(x=H-1)∑x=0W-1中的「x=0」和「W-1」表示求和的範圍是x=0~W-1。
最後,最接近計算結果的整數作為數字水印值而輸出。
圖19顯示同倫類計算單元23的配置實例。
第一微分單元231計算x方向微分,並且第二微分單元232計算y方向微分。外積計算單元233計算兩個微分(差分)的外積,並且內積計算單元234計算上述內積和原函數的內積。最後,積分單元235在整個基空間B中積分所獲得的內積。必要時,積分結果捨入為整數。
在上面實施方案中,處理基於6g個幀來執行。但是,四個幀可以垂直和水平地連接並且看作一個幀(在這種情況下,處理基於24g個幀來執行)。可選地,一個幀可以垂直和水平地分成看作串行幀的四個幀(在這種情況下,處理基於6g/4個幀來執行)。
雖然在實施方案中,單色圖像已經用作實例,該實施方案也適用於彩色圖像。在這種情況下,類似於上面的處理可以使用例如g個第一像素的Y分量,g個第二像素的Y分量,g個第一像素的U分量,g個第二像素的U分量,g個第一像素的V分量,以及g個第二像素的U分量分別作為組G0,G1,G2,G3,G4和G5來執行。可選地,類似的處理可以在僅使用Y分量的情況下執行。該處理可以以各種方式來修改。同樣在彩色圖像中,可以使用任何類型的分組。如果分量、幀和組之間的附屬關係預先設置就足夠了。
雖然在實施方案中,活動圖象數據用作實例,該實施方案也適用於靜止圖像數據。在這種情況下,例如靜止圖像分成6g個部分,並且每個部分在處理過程中看作一個幀。
此外,在實施方案中,關於相鄰兩個組(每組包含例如g個像素)的像素值的差用來嵌入數字水印信息。但是,數字水印信息可以直接地嵌入到單個組(其包含例如g個像素)。
上述嵌入方法僅是實例,並且其他嵌入方法也可以使用。
在實施方案中,當水印信息嵌入到目標數字內容(例如圖像數據)時,與待嵌入到目標內容中的水印信息相對應的預先確定的拓撲不變量(例如同倫不變量)被獲得,並且通過改變預先確定的目標內容部分來設置到目標內容中。
此外,在實施方案中,當嵌入到內容中的水印信息被檢測時,設置在內容中的預先確定的拓撲不變量基於預先確定的內容部分來檢測,並且與所檢測的拓撲不變量相對應的水印信息被輸出。
例如,當允許複製的控制信息作為水印信息而嵌入時,如果例如整個同倫類和整個整數Z是同構的,改變像素值,使得滿足同倫類=+1(除+1以外的值可以設置)。另一方面,如果複製不允許,改變像素值,使得滿足同倫類=-1(除-1以外的值可以設置)。此外,當例如版權人的識別號碼作為水印信息而嵌入時,改變像素值,使得如果指定識別號碼1,滿足同倫類=1(除1以外的值可以設置)。此外,如果指定識別號碼2,滿足同倫類=2(除2以外的值可以設置)。
在實施方案中,因為與待嵌入水印信息相對應的拓撲不變量設置到目標內容中,設置在內容中的拓撲不變量被維持並被保護,即使在例如分發通道中,對內容施加局部變換例如StirMark攻擊或D-A-D轉換。不管是否對內容施加局部變換,正確的拓撲不變量可以在內容中檢測,並且相應的正確水印信息可以獲得。
此外,對內容的影響可以通過將表示拓撲不變量的數據寫入到內容中來達到最小,使得內容的位串中的變化範圍小。
另外,在實施方案中,當水印信息被嵌入時,拓撲函數(即與拓撲不變量相對應的函數)(值)不被嵌入,但是通過基於密鑰信息隨機化拓撲函數而獲得的第一複合函數(即通過複合隨機化函數和拓撲函數的而產生的函數)(值)被嵌入。因此,當水印信息被檢測時,拓撲不變量不能從嵌入函數(即嵌入到目標內容中的函數)(值)中檢測到。僅當與用於嵌入的密鑰信息相對應的密鑰信息被提供時,基於該密鑰信息的有序化處理被執行,從而獲得第二複合函數(即通過複合有序化函數和嵌入函數而產生的函數)(值)(如果密鑰信息正確,第二複合函數(值)=拓撲函數(值)),並且從第二複合函數(值)獲得正確的拓撲不變量。難以從嵌入函數(值)中檢測甚至數字水印信息的存在。即使嵌入函數被先行檢測,正確的拓撲不變量也不能檢測到。沒有正確的密鑰信息,正確的拓撲不變量甚至不能從第二複合函數(值)中獲得。
在實施方案中使用的隨機化和有序化處理不同於常規的不規則化和去不規則化處理。在現有技術中,如果圖像數據在被不規則化之後經歷幾何畸變,它甚至不能通過去不規則化來恢復到原始圖像。另一方面,在實施方案中,即使圖像數據在基於密鑰信息而被隨機化之後經歷幾何畸變,它可以通過基於密鑰信息的有序化處理來恢復到原始圖像。
如上所述,實施方案可以提供對局部變換例如StirMark攻擊或D-A-D轉換顯示高度穩健性的數字水印信息,並且即使用於產生數字水印信息的算法的全部或部分被公開,它仍然是安全的。
實施方案的進一步修改現在將詳細描述。
在上述配置的每個中,已經做了把基空間和目標空間看作空間S2的描述。但是,其他類型的空間例如非明顯拓撲基空間或目標空間也可以使用。
例如,基空間可以通過設想圖像的上端和下端是等價的,並且圖像的左端和右端是等價的來看作圓環面T2。
表示嵌入圖像的函數中的變化現在將描述。
表示嵌入圖像的函數被設置,使得函數在圖像周邊附近的改變是溫和的,並且使得函數具有這樣的值,這些值逐漸更接近於在更接近周邊的位置處的某個值。通過這樣做,如果在圖像中心附近的一部分圖像被剪切,失去的周邊部分對積分值具有較小影響。因此,如果圖像或內容具有集中在其中心附近的重要內容(據估計有許多這種類型的內容),可以在某種程度上實現對剪切的抵抗。通常,即使僅重要部分被剪切,可以留下通過設置函數而設置的數字水印,以對圖像的重要部分具有大的改變。
在語音數據上執行的處理的改變將被描述。
已經給出圖像用作目標內容的情況的描述。但是,實施方案也適用於其他媒體的數字內容。例如在日本專利申請公開發表2002-142094號中公開的方法可以用於語音或音樂數字內容。
拓撲不變量的改變將被描述。
雖然實施方案使用同倫類作為拓撲不變量,其他類型的拓撲不變量也可以使用。
很多元素已知為不變量,像同倫群的元素一樣。它們包括,例如,同倫群,上同調群,特徵類例如向量絲中的Stiefel-Whitney類、Chern類和Pontryagin類,簇的歐拉數、指數或籤名。它們也包括關於有節線的Alexander不變量,以及關於盤繞線的Milnor不變量。關於上面,參見例如由日本數學協會編輯並且由IwanamiShoten出版社出版的Iwanami Mathematic Dictionary 3rd Edition。
關於同倫群,由例如Gauss-Bonnet定理給出的積分在實施方案中使用。但是,在特徵類例如Chern類的情況下,由Atiyah-Singer指數定理給出的積分可以使用。在這種情況下,如果用於求出同倫群的不變量的積分量代替用作同倫群實例的積分量就足夠了。
在實施方案中使用的硬體和軟體配置將被描述。
實施方案的數字水印嵌入裝置可以僅通過硬體或通過使用軟體(用於指示計算機執行預先確定的手段,或者用於指示計算機用作預先確定的手段,或者用於指示計算機實現預先確定的功能的程序)來實現。當數字水印嵌入裝置使用軟體來實現時,程序可以通過記錄媒體或通信媒體來傳輸。對於數字水印檢測裝置也是同樣的。
此外,當數字水印嵌入和檢測裝置由硬體來實現時,它們可以做成半導體裝置。
另外,當根據本發明的數字水印嵌入裝置或程序被構建時,如果它們包括相同配置的塊或模塊,這些塊或模塊可以單獨地準備。可選地,代替準備相同配置的所有塊或模塊,一個或一些塊或模塊可以共用,當執行算法的某些部分時。對於數字水印檢測裝置或程序是也是同樣的。此外,當包括數字水印嵌入和檢測裝置的系統或者包括數字水印嵌入和檢測程序的系統被準備時,相同配置的一個或一些塊或模塊可以被算法的某些部分共用。
當數字水印嵌入和檢測裝置使用軟體來實現時,多處理器可以用來執行並行處理,從而增加處理速度。
另外的優點和修改將容易由本領域技術人員想到。因此,本發明在其更廣泛的方面並不局限於這裡所顯示和描述的具體細節和典型實施方案。因此,可以不背離由附加權利要求書及其等價物定義的一般發明概念的本質或範圍而做各種修改。
權利要求
1.一種數字水印嵌入裝置,包括獲取單元,配置成用來獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息將要嵌入到其中的目標內容;函數產生單元,配置成用來產生與拓撲不變量相對應的拓撲函數;隨機化函數產生單元,配置成基於密鑰信息產生隨機化函數,並且通過隨機化函數和拓撲函數的複合來計算複合函數;以及函數嵌入單元,配置成用來將複合函數嵌入到目標內容中。
2.根據權利要求1的數字水印嵌入裝置,其中拓撲函數包括從關於目標內容中的位置的基空間到關於嵌入量的目標空間的映射,該映射基於拓撲不變量。
3.根據權利要求2的數字水印嵌入裝置,其中目標內容包括靜止圖像數據和活動圖象數據的一種;基空間由與目標內容相對應的像素位置來確定;以及目標空間包含在與構成目標內容的像素的一組賦值相對應的拓撲空間中。
4.根據權利要求1的數字水印嵌入裝置,其中函數產生單元產生表達拓撲函數的拓撲函數值。
5.根據權利要求4的數字水印嵌入裝置,其中隨機化函數產生單元通過將隨機化函數應用到拓撲函數值來產生複合函數值,該複合函數值表達複合函數。
6.根據權利要求5的數字水印嵌入裝置,其中拓撲函數值和複合函數值的每個表示與目標內容中的位置相對應的嵌入量。
7.根據權利要求5的數字水印嵌入裝置,其中隨機化函數產生單元基於密鑰信息使用分組密碼來隨機化拓撲函數值,以產生複合函數值。
8.根據權利要求5的數字水印嵌入裝置,其中函數嵌入單元通過基於複合函數值改變目標內容來嵌入拓撲不變量。
9.根據權利要求1的數字水印嵌入裝置,其中函數產生單元產生與包括同倫不變量的拓撲不變量相對應的拓撲函數。
10.一種數字水印檢測裝置,包括獲取單元,配置成用來獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息將要嵌入到其中的目標內容;函數檢測單元,配置成用來檢測嵌入到目標內容中的嵌入函數;有序化函數產生單元,配置成基於密鑰信息產生有序化函數,並且通過有序化函數和嵌入函數的複合來計算複合函數;以及拓撲不變量計算單元,配置成基於複合函數來計算拓撲不變量,該拓撲不變量用作數字水印信息。
11.根據權利要求10的數字水印檢測裝置,其中複合函數包括從關於目標內容中的位置的基空間到關於嵌入量的目標空間的映射,該映射基於拓撲不變量。
12.根據權利要求11的數字水印檢測裝置,其中目標內容包括靜止圖像數據或活動圖象數據的一種;基空間由與目標內容相對應的像素位置來確定;以及目標空間包含在與構成目標內容的像素的一組賦值相對應的拓撲空間中。
13.根據權利要求10的數字水印檢測裝置,其中函數檢測單元檢測表達嵌入函數的嵌入函數值。
14.根據權利要求13的數字水印檢測裝置,其中有序化函數產生單元通過將有序化函數應用到嵌入函數值來產生複合函數值,該複合函數值表達複合函數。
15.根據權利要求14的數字水印檢測裝置,其中嵌入函數值和複合函數值的每個表示與目標內容中的位置相對應的嵌入量。
16.根據權利要求14的數字水印檢測裝置,其中有序化函數產生單元基於密鑰信息使用分組密碼來有序化嵌入函數值,以產生複合函數值。
17.根據權利要求14的數字水印檢測裝置,其中複合函數包括從關於目標內容中的位置的基空間到關於嵌入量的目標空間的映射,該映射基於拓撲不變量,複合函數包括與拓撲不變量有關並確定該映射的參數;以及拓撲不變量計算單元通過基於複合函數值獲取參數來計算拓撲不變量。
18.根據權利要求10的數字水印檢測裝置,其中拓撲不變量計算單元計算包括同倫不變量的拓撲不變量。
19.一種數字水印嵌入方法,包括獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息將要嵌入到其中的目標內容;產生與拓撲不變量相對應的拓撲函數;基於密鑰信息產生隨機化函數;通過隨機化函數和拓撲函數的複合來計算複合函數;以及將複合函數嵌入到目標內容中。
20.一種數字水印檢測方法,包括獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息將要嵌入到其中的目標內容;檢測嵌入到目標內容中的嵌入函數;基於密鑰信息產生有序化函數;通過有序化函數和嵌入函數的複合來計算複合函數;以及基於複合函數來計算拓撲不變量,該拓撲不變量用作數字水印信息。
全文摘要
一種數字水印嵌入裝置,包括獲取單元,配置成用來獲取作為數字水印信息的拓撲不變量、與數字水印信息相對應的密鑰信息,以及數字水印信息待嵌入到其中的目標內容;函數產生單元,配置成用來產生與拓撲不變量相對應的拓撲函數;隨機化函數產生單元,配置成用來基於密鑰信息來產生隨機化函數,並且通過隨機化函數和拓撲函數的複合來計算複合函數;以及函數嵌入單元,配置成用來將複合函數嵌入到目標內容中。
文檔編號H04N7/081GK1512756SQ20031012444
公開日2004年7月14日 申請日期2003年12月26日 優先權日2002年12月27日
發明者村谷博文 申請人:株式會社東芝