專利名稱:信息處理裝置及其控制方法、計(jì)算機(jī)程序和存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于標(biāo)識(shí)和鑒別數(shù)字信息的信息處理方法和裝置及存儲(chǔ)介質(zhì)。
背景技術(shù):
近年來,計(jì)算機(jī)和網(wǎng)絡(luò)飛速發(fā)展,多種數(shù)字信息例如文本數(shù)據(jù)、圖像數(shù)據(jù)、音頻數(shù)據(jù)等被利用。這些數(shù)據(jù)信息不會(huì)因?yàn)槔缋匣鴵p壞,并且能被永久地、良好地保存。而且數(shù)字信息能被容易的編輯和處理。這種做法對(duì)于編輯和處理數(shù)字信息的用戶來說會(huì)更有利。
然而,對(duì)于在意外事件處理中使用證據(jù)照片的保險(xiǎn)公司或是記錄建筑場(chǎng)所的進(jìn)展情況的建筑公司,數(shù)字?jǐn)?shù)據(jù)比模擬數(shù)據(jù)的可靠性低,而且數(shù)字?jǐn)?shù)據(jù)作為證據(jù)的證明力比較弱。
因此,檢查任何篡改和/或偽造數(shù)字?jǐn)?shù)據(jù)的視頻輸入裝置和系統(tǒng)被提了出來。
例如,眾所周知的一種使用數(shù)字簽名的系統(tǒng)是用于檢測(cè)任何篡改和/或偽造的系統(tǒng)。以下將簡(jiǎn)要介紹數(shù)字簽名。
通過使用數(shù)字簽名,發(fā)送器可以同時(shí)發(fā)送數(shù)據(jù)以及與該數(shù)據(jù)相應(yīng)的特征數(shù)據(jù),并且接收器通過檢驗(yàn)特征數(shù)據(jù)而檢查數(shù)據(jù)的可靠性。如下所述,利用散列函數(shù)和公共密碼術(shù)而產(chǎn)生的數(shù)字簽名檢驗(yàn)數(shù)據(jù)的可靠性。
令Ks為一個(gè)密鑰,Kp為一公共密鑰。那么,發(fā)送器通過利用散列函數(shù)來壓縮純文本數(shù)據(jù)M以執(zhí)行一種算術(shù)運(yùn)算,該算術(shù)運(yùn)算用于計(jì)算出給定長(zhǎng)度(例如128字節(jié))的輸出h。發(fā)送器在經(jīng)過這樣的算術(shù)運(yùn)算來產(chǎn)生數(shù)字簽名數(shù)據(jù)s用密鑰Ks變換h,也就是,D(Ks,h)=s。之后,發(fā)送器發(fā)送數(shù)字簽名數(shù)據(jù)s以及純文本數(shù)據(jù)M。
另一方面,接收器產(chǎn)生這樣一種算術(shù)運(yùn)算用公共密鑰Kp對(duì)接收到的數(shù)字簽名數(shù)據(jù)s進(jìn)行變換,即,E(Kp,s)=E(Kp,D(Ks,h″))=h″,同時(shí)產(chǎn)生這樣一種算術(shù)運(yùn)算通過使用與發(fā)送器相同的散列函數(shù)來壓縮接收到的純文本數(shù)據(jù)M以計(jì)算h′。如果h′和h″相匹配,接收器確定接收到的數(shù)據(jù)M′是可靠的。
如果純文本數(shù)據(jù)M在發(fā)送器和接收器之間被篡改了,E(Kp,s)=E(Kp,D(Ks,h″))=hh″與通過使用與發(fā)送器同樣的散列函數(shù)壓縮接收到的純文本數(shù)據(jù)M′而得到的h′不相匹配,則檢測(cè)出數(shù)據(jù)被篡改。
如果對(duì)數(shù)字簽名數(shù)據(jù)s的篡改和對(duì)純文本數(shù)據(jù)M的篡改相一致,那么將無法檢查到這種篡改。然而在這種情況下,純文本數(shù)據(jù)M必須從h計(jì)算得出,但由于散列函數(shù)的單向性而不能產(chǎn)生這樣的操作。如上所述,通過使用利用了公共密碼術(shù)和散列函數(shù)的數(shù)字簽名可以正確的鑒別數(shù)據(jù)。
下面將解釋散列函數(shù),散列函數(shù)用來以高速產(chǎn)生數(shù)字簽名等。散列函數(shù)具有這樣一種功能,它可以處理任意長(zhǎng)度的純文本數(shù)據(jù)M,并輸出一確定長(zhǎng)度的輸出h。注意輸出量h稱為純文本數(shù)據(jù)M的散列值(或者信息摘要,數(shù)字指紋)。散列函數(shù)需要有單向性和抗沖突性。單向性意味著如果h是確定的,在計(jì)算上就不可能得出滿足h=H(M)的文本數(shù)據(jù)M??箾_突性意味著如果文本數(shù)據(jù)M是確定的,在計(jì)算上就不可能得出滿足H(M)=H(M′)的純文本數(shù)據(jù)M′(M≠M(fèi)′),也不可能計(jì)算出滿足H(M)=H(M′)和M≠M(fèi)′的純文本數(shù)據(jù)M和M′。
作為散列函數(shù),MD-2,MD-4,MD-5,SHA-1,RIPEMD-128,RIPEMD-160等等是公知的,并且這些算法是普遍的。
下面將介紹公共密碼術(shù)。在公共密碼術(shù)中,加密和解密密鑰是不同的,加密密鑰是公知的,而解密密鑰是保密的。公共密碼術(shù)具有如下特征,(a)既然加密和解密密鑰是不同的而且加密密鑰是公知的,那么不需要加密傳送加密密鑰,且很容易進(jìn)行密鑰傳送;(b)既然每一個(gè)用戶的加密密鑰是公開的,用戶只需將他或她的解密密鑰保密;(c)可以實(shí)現(xiàn)接收器使用的一個(gè)鑒別函數(shù)來鑒別信息發(fā)送者是否是非法的,且信息是否被篡改;例如,如果使用公共加密密鑰Kp對(duì)純文本數(shù)據(jù)M進(jìn)行加密由E(Kp,M)表示,使用私人解密密鑰Ks進(jìn)行解密由D(Ks,M)表示,則公共密碼術(shù)的算法滿足下列兩個(gè)條件(1)如果Kp已知,容易得到E(Kp,M),如果Ks已知,容易得到D(Ks,M)。
(2)如果Ks未知,即使Kp,E,C=E(Kp,M)能夠確定,在算法上也不能確定M。
如果在滿足上述條件(1)和(2)的同時(shí),滿足下面條件(3),則保密通信能夠?qū)崿F(xiàn)。
(3)可以將E(Kp,M)定義為用于所有文本數(shù)據(jù)M且D(Ks,E(Kp,M)))=M。那就是說,既然Kp為公眾所知,任何人都能得到E(Kp,M),但是只有知道私人密鑰Ks的人才能通過計(jì)算D(Ks,E(Kp,M)))而得出M。如果在滿足上述條件(1)和(2)的同時(shí),滿足下面條件(4),則能夠?qū)崿F(xiàn)鑒別通信。
(4)可以將D(Ks,M)定義為用于所有文本數(shù)據(jù)M且E(Kp,D(Ks,M))=M。那就是說,只有知道私人密鑰s的人能夠得到D(Ks,M),如果第三者將他或她偽裝成了解密鑰Ks的人,通過使用一個(gè)錯(cuò)誤的密鑰Ks′計(jì)算D(Ks′,M),則由于E(Kp,D(Ks′,M))≠M(fèi),所以接收器能夠確定接收到的信息是非法的。甚至當(dāng)D(Ks,M)被篡改時(shí),也會(huì)由于E(Kp,D(Ks′,M))≠M(fèi),使接收器能夠確定接收到的信息是非法的。
作為能夠?qū)崿F(xiàn)保密通信和鑒別通信的典型實(shí)施例,RSA密碼學(xué),R密碼學(xué),W密碼學(xué)等都是熟知的。
現(xiàn)代廣泛使用的RSA密碼學(xué)的加密和解密提供如下加密加密密鑰(e,n)加密變換C=Me(mod n)解密解密密鑰(d,n)解密變換M=Cd(mod n)n=p·q(這里p和q是兩個(gè)完全不同的素?cái)?shù))如上所述,由于RSA密碼學(xué)在加密和解密中都要進(jìn)行冪和余數(shù)的數(shù)學(xué)運(yùn)算,所以與公共密碼術(shù)例如DES等進(jìn)行比較,需要巨大的數(shù)學(xué)運(yùn)算量,也就不容易達(dá)到高速處理。
如上所述,為了發(fā)現(xiàn)在前的數(shù)據(jù)是否被篡改和/或偽造,除了數(shù)字?jǐn)?shù)據(jù)之外還需要一數(shù)字簽名。一般的,數(shù)字簽名被附加到數(shù)字?jǐn)?shù)據(jù)的首部而發(fā)送。然而,添加的數(shù)字簽名很容易隨著數(shù)字?jǐn)?shù)據(jù)的格式變換而被消除。如果數(shù)字簽名被消除了,數(shù)字?jǐn)?shù)據(jù)將不能被鑒別。
日本專利公開號(hào)10-164549所披露的方法能解決上述問題。在日本專利10-164549中,數(shù)字信息被分成兩個(gè)字段,數(shù)字簽名產(chǎn)生于分割的第一字段,并且所述數(shù)字簽名被嵌入分割的第二字段作為數(shù)字水印,從而產(chǎn)生簽名的數(shù)字信息。另一方面,鑒別裝置將標(biāo)記信息分割為第一、第二字段,從第一字段產(chǎn)生一第一數(shù)字簽名,并且從第二字段提取出作為數(shù)字簽名而被嵌入的一個(gè)第二標(biāo)記。如果第一、第二數(shù)字簽名相匹配,可以認(rèn)定數(shù)字信息沒有被篡改和偽造。
如上所述,為了鑒別數(shù)字?jǐn)?shù)據(jù),重要的一點(diǎn)是不能拋開數(shù)字信息而單獨(dú)設(shè)定鑒別信息。在日本專利10-164549公開的方法中,由于為了鑒別原始圖像簽名信息是作為數(shù)字水印而被嵌入的,而且數(shù)字水印不能消除,所以不能獲得原始圖像。一些應(yīng)用和用戶可能將嵌入數(shù)字水印本身作為“篡改”。
發(fā)明內(nèi)容
本發(fā)明是在考慮了前面提到的問題而提出的,本發(fā)明的目的是提供一種信息處理裝置和控制方法、計(jì)算機(jī)程序和存儲(chǔ)介質(zhì),能夠在不脫離數(shù)字信息而設(shè)置鑒別信息的同時(shí)確定數(shù)字信息是否被篡改,并且只要數(shù)字信息不被篡改,就可恢復(fù)出原始的數(shù)字信息。
為了實(shí)現(xiàn)上述目的,例如, 按照本發(fā)明,能夠附加鑒別信息的信息處理裝置包括下列結(jié)構(gòu)。
也就是在數(shù)字信息處理裝置中嵌入鑒別信息的信息處理裝置包括在將要嵌入鑒別信息的數(shù)字信息的基礎(chǔ)上產(chǎn)生鑒別信息的裝置;和將所產(chǎn)生的鑒別信息嵌入到可恢復(fù)的數(shù)字信息的數(shù)字標(biāo)記裝置。
另外,能夠鑒別信息的信息處理裝置包括如下結(jié)構(gòu)。
即,能夠鑒別其中嵌入有作為數(shù)字水印的鑒別信息的數(shù)字信息的信息處理裝置包括從數(shù)字信息中提取出所嵌入的作為數(shù)字水印的鑒別信息作為第一鑒別信息的提取裝置;數(shù)字水印消除裝置用于消除從數(shù)字信息提取的作為數(shù)字水印的鑒別信息并暫時(shí)恢復(fù)原始數(shù)字信息;依據(jù)由數(shù)字水印裝置消除數(shù)字水印、從而暫時(shí)恢復(fù)出的原始數(shù)字信息產(chǎn)生第二鑒別信息的發(fā)生裝置;和第一鑒別信息和第二鑒別信息比較單元。
通過參考附圖所作的以下說明將使本發(fā)明的其它特征和有點(diǎn)更加明顯,在所有附圖中相同的參考標(biāo)記表示相同或相似的部件。
圖1為應(yīng)用于本發(fā)明實(shí)施例中的計(jì)算機(jī)方框圖;圖2為本發(fā)明實(shí)施例的簽名裝置的方框圖;圖3為本發(fā)明實(shí)施例中鑒別裝置的方框圖;圖4為圖2所示數(shù)字水印裝置的詳細(xì)方框圖;圖5為拼湊方法的原理解釋圖;圖6表示關(guān)于提取數(shù)字水印的可靠性間隔d的頻率分布狀態(tài)圖;
圖7為本發(fā)明實(shí)施例中數(shù)字水印單元的方框圖;圖8為應(yīng)用于本發(fā)明另一個(gè)實(shí)施例中的信息處理裝置的方框圖;圖9為本發(fā)明另一個(gè)實(shí)施例中的數(shù)字水印形成裝置的方框圖;圖10為本發(fā)明另一個(gè)實(shí)施例中的圖像恢復(fù)裝置的方框圖;圖11示出了本發(fā)明另一實(shí)施例中的代碼序列w的例子;圖12為本發(fā)明又一實(shí)施例中的數(shù)字水印形成裝置的方框圖;圖13為本發(fā)明又一實(shí)施例中的圖像恢復(fù)裝置的方框圖;圖14示出了嵌入數(shù)字水印的過程的要點(diǎn);圖15示出了恢復(fù)原始數(shù)據(jù)的過程的要點(diǎn);圖16示出了嵌入數(shù)字水印時(shí)發(fā)生溢出的例子;圖17示出了溢出發(fā)生時(shí)原始數(shù)據(jù)不能恢復(fù)的例子;圖18為在本發(fā)明的另一個(gè)實(shí)施例中數(shù)字水印形成順序的流程圖;圖19為本發(fā)明另一個(gè)實(shí)施例中原始數(shù)據(jù)恢復(fù)順序的流程圖;圖20示出了本發(fā)明又一實(shí)施例中的代碼序列w的例子;圖21示出了本發(fā)明又一實(shí)施例中用于解釋糾錯(cuò)過程的像素分布狀態(tài)的例子;具體實(shí)施例下面將結(jié)合相關(guān)的附圖來描述本發(fā)明的最佳實(shí)施例。
下面將說明用于把鑒別信息嵌入信息的簽名裝置和用于鑒別所述信息的鑒別裝置。
<簽名裝置>
下面將結(jié)合圖2說明本實(shí)施例的簽名裝置。
參照?qǐng)D2,代號(hào)201代表圖像輸入單元;202代表散列值計(jì)算單元;203代表加密單元;204代表數(shù)字水印單元;205代表圖像輸出單元。
圖像信號(hào)以光柵掃描順序輸入到圖像輸入單元201。任何圖像掃描儀、存儲(chǔ)圖像的存儲(chǔ)介質(zhì)、借助于通信接收來自于遠(yuǎn)程碟片的圖像的通信裝置等都可作為圖像輸入單元201的輸入源。下面介紹表示單色多值圖像的圖像信號(hào)。如果圖像信號(hào)表示含有許多色彩分量的彩色圖像等的圖像,可將R、G、B色彩分量中的每一個(gè)或者亮度和色度分量中的一個(gè)當(dāng)作單色分量來處理。
輸入圖像信號(hào)I被輸入到散列值計(jì)算單元202和數(shù)字水印形成單元204。
散列值計(jì)算單元202計(jì)算并輸出一輸入圖像信號(hào)I的散列值H。使用散列函數(shù)來計(jì)算散列值H。本發(fā)明并未限定為特殊散列函數(shù),并且使用了例如MD-2、MD-4、MD-5、SHA-1、PIPEMD-128、RIPEMD-160等類似的、對(duì)公眾也是熟知的不同算法。算出的散列值H被輸入到加密單元203。
加密單元203利用私人密鑰S給輸入的散列值H加密并輸出加密的散列值。并未將本發(fā)明限制為用來加密的任何特殊的加密算法,可以使用RSA密碼術(shù)等作為公共密碼術(shù)。經(jīng)過加密的散列值Es(H)輸入到數(shù)字水印形成單元204。
數(shù)字水印形成單元204將加密的散列值Es(H)作為可逆的數(shù)字水印嵌入到輸入的圖像信號(hào)I,并且輸出該圖像信號(hào)(可逆的數(shù)字水印將在后面介紹)。將嵌有數(shù)字水印的圖像信號(hào)wI輸出到圖像輸出單元205。輸出的對(duì)象沒有特殊限制并且該圖像信號(hào)可以輸出到存儲(chǔ)介質(zhì)、通信線等上面。
<鑒別裝置>
下面將通過圖3介紹本實(shí)施例的鑒別裝置。
參見圖3,標(biāo)號(hào)301表示圖像輸入單元;302表示數(shù)字水印提取單元;303表示解密單元;304表示散列值運(yùn)算單元;305表示比較單元。
一圖像輸入信號(hào)wI′以光柵掃描的順序被輸入到圖像輸入單元301。該輸入圖像wI′又被輸出到數(shù)字水印提取單元302。注意wI′最好能與圖2所示的特征單元的輸出wI相等,但是由于該輸入圖像信號(hào)可能被篡改或偽造,所以它用wI′表示。
數(shù)字水印提取單元302從輸入的圖像信號(hào)wI′提取被嵌入的數(shù)字水印E′s(H),并消除可逆的數(shù)字水印。然后輸出被提取的數(shù)字水印E′s(H)和消除了數(shù)字水印的圖像信號(hào)I′。
如果wI′等于wI,將提取Es(H)作為數(shù)字水印(即Es(H)=E′s(H))。此外,在這種情況下,可逆的數(shù)字水印將被完全消除,并輸出圖像數(shù)據(jù)I(即I=I′)。另外,如果wI′與wI不同,則不同于Es(H)的數(shù)據(jù)將被作為數(shù)字水印輸出(即Es(H)≠E′s(H))。此外,在這種情況下,并沒有完全消除可逆的數(shù)字水印(即I≠I′)。
而且,如果數(shù)字水印被嵌入到輸入的圖像,數(shù)字水印提取單元302還有檢測(cè)的功能。利用這項(xiàng)功能,如果其中沒有作為數(shù)字信號(hào)而嵌入的數(shù)字簽名的圖像數(shù)據(jù)輸出為wI′,則數(shù)字水印提取單元輸出“無信息”,并且在稍后不執(zhí)行鑒別處理。在這種情況下,將利用例如顯示器輸出一條信息“圖像數(shù)據(jù)不能被鑒別”。
提取的數(shù)字水印E′s(H)被輸出到解密單元303,消除了數(shù)字水印的圖像數(shù)據(jù)I′被輸出到散列值運(yùn)算單元304。
解密單元303對(duì)輸入的數(shù)據(jù)E′s(H)解密并將其輸出。關(guān)于解密,將使用與在簽名裝置中使用的私人密鑰s相對(duì)應(yīng)的公共密鑰p。被解密的數(shù)據(jù)H被輸入到比較單元305。
散列值運(yùn)算單元304將對(duì)輸入的圖像數(shù)據(jù)I′的散列值H′進(jìn)行計(jì)算并將其輸出。作為用來計(jì)算散列值的散列函數(shù),該散列函數(shù)與在簽名裝置中使用的散列函數(shù)等同。計(jì)算得出的散列值H′將被輸出到比較單元305。
比較單元305對(duì)輸入的散列值H和H′進(jìn)行比較以檢驗(yàn)wI′是否被篡改或偽造了。如果H和H′彼此相等,則wI=wI′,也就是能夠確定輸入的數(shù)據(jù)沒有被篡改或偽造。如果H和H′彼此不等,則wI≠wI′,也就是說能夠確定輸入的數(shù)據(jù)被篡改或偽造了。在這種情況下,將在顯示設(shè)備上顯示表明這一點(diǎn)的信息。
<數(shù)字水印形成單元>
下面將介紹本實(shí)施例的數(shù)字水印形成單元204的細(xì)節(jié)。簡(jiǎn)要的介紹一個(gè)過程,數(shù)字水印裝置嵌入信息以便在嵌入數(shù)字水印之前完全恢復(fù)圖像數(shù)據(jù)。
圖4示出了數(shù)字水印形成單元204的內(nèi)部結(jié)構(gòu)。下面將參照?qǐng)D4介紹處理流程。
圖像數(shù)據(jù)I被輸入到數(shù)字水印形成單元204,并且一嵌入位置確定單元401確定將被嵌入到圖像數(shù)據(jù)I的數(shù)字水印的嵌入位置。該圖像數(shù)據(jù)I被輸入到附加信息嵌入單元402,并且依照附加的信息Es(H)在由嵌入位置確定單元401確定的位置嵌入數(shù)字水印。
為了實(shí)現(xiàn)上述目的,嵌入位置確定單元401將輸入的圖像數(shù)據(jù)I和指示圖像位置的數(shù)據(jù)(指定了每一個(gè)區(qū)域的坐標(biāo)和大小)輸出到附加信息嵌入單元402,其中所述的圖像位置是將要嵌入附加信息Es(H)的一個(gè)位置。
除了圖像信息I之外,附加信息嵌入單元402還接收附加信息Es(H)(若干位的信息)。通過使用數(shù)字水印技術(shù),附加的信息Es(H)將在所確定的圖像數(shù)據(jù)I的嵌入位置被嵌入。隨后將介紹利用數(shù)字水印技術(shù)嵌入附加信息Es(H)。附加信息嵌入單元402輸出嵌入了附加信息Es(H)并且經(jīng)數(shù)字水印處理的數(shù)據(jù)wI。
在本實(shí)施例中,為了簡(jiǎn)化的目的,輸入到數(shù)字水印裝置的數(shù)據(jù)為每像素(256個(gè)灰度級(jí))具有8比特灰度精度的灰度圖像數(shù)據(jù)。然而,輸入圖像數(shù)據(jù)可能為彩色圖像數(shù)據(jù)。當(dāng)輸入彩色圖像時(shí),利用彩色圖像的一個(gè)信道的像素值或彩色圖像的亮度值,則可以執(zhí)行一個(gè)相似的嵌入處理。
當(dāng)輸入音頻信號(hào)時(shí),圖像的2維位置信息將被作為時(shí)間的1維信息,可以使用相同的執(zhí)行方案。當(dāng)輸入移動(dòng)圖像數(shù)據(jù)時(shí),由于它可被看作是沿時(shí)間軸方向的多個(gè)二維圖像,所以能用相同的方案處理每一個(gè)二維圖像,基本應(yīng)用了本發(fā)明。因此,本發(fā)明的范圍也包括數(shù)字水印嵌入到彩色圖像、音頻和活動(dòng)圖像的情況。
下面將介紹本實(shí)施例中數(shù)字水印的嵌入和分離(提取)的基本原理。
<拼湊方法>
本實(shí)施例使用稱為拼湊方法的原理來嵌入附加的信息Inf(與上述實(shí)施例中的Es(H)一致)。拼湊方法在1997年2月24日出版的NikkeiElctronics,由Walter Bender、Daniel Gruhl、Norishige Morimoto和Anthony Lu等提出的“Data Hiding Technique that SupportsDigital Watermarking(Vol.1)”有所披露。首先將介紹拼湊方法的原理。
在拼湊方法中,通過在統(tǒng)計(jì)上偏離圖像,可以嵌入附加信息Es(H)。
下面將通過圖5來介紹拼湊原理。圖5中,A和B是從一原始圖像中選出的兩個(gè)子集。假定子集A是由許多子集ai501表示的子集組成的,而子集B是由許多子集bi502表示的子集組成的。
如果這兩個(gè)子集不互相重疊,那么通過本實(shí)施例的拼湊方法可以嵌入附加信息Inf。
假定子集A和B中的每一個(gè)都包含N個(gè)元素(A={a1,a2,...,aN},B={b1,b2,...,bN})。子集A和B中的元素ai和bi表示具有像素值的像素或一組這樣的像素。
下一個(gè)指數(shù)d定義為d=1/N·∑(ai-bi),此處∑為i=1至N的和。
這就表示出了兩組像素值之間不同的期望值。
當(dāng)從一般自然的圖像中適當(dāng)選擇子集A和B并且定義指數(shù)d,如果N的值足夠大,我們將得到d≈0在下文中d將被作為可靠性間隔。
另一方面,作為組成附加信息Es(H)的各個(gè)位嵌入操作,例如,當(dāng)嵌入位信息“1”時(shí),將產(chǎn)生這樣的操作a′i=ai+cb′i=bi-c這樣的操作將在子集A的所有元素的像素值加上“c”,而對(duì)子集B的所有元素的像素值都減去“c”。在本實(shí)施例的下文中“c”將被作為“嵌入深度”。
象上面的情況,當(dāng)從一圖像中選擇了嵌入附加信息Es(H)的子集A和B,指數(shù)d為d=1/N·∑(ai-bi)
=1/N·∑{(ai+c)-(bi-c)}=1/N·∑{(ai-bi)+2c)}≈2c(∑為i=1至N的和)也就是說,d呈現(xiàn)為這樣一個(gè)值,它與0相差一給定間隔。
為了嵌入其它的位信息(位信息“0”),將執(zhí)行以下操作a′i=ai-cb′i=bi+c那么可靠性間隔d為d=1/N·∑(ai-bi)=1/N·∑{(ai-c)-(bi+c)}=1/N·∑{(ai-bi)-2c)}≈-2c也就是間隔d假定為這樣一個(gè)值,它在負(fù)方向上與0相差一個(gè)給定的距離。
當(dāng)給定了某一圖像,通過計(jì)算圖像的可靠性距離d,就能夠確定圖像中是否嵌入了附加信息。
即如果可靠性距離d≈0,則沒有嵌入附加信息Es(H);如果可靠性距離d為一預(yù)先確定的正值或?yàn)楸?大得多的值,則嵌入位信息“1”;如果可靠性距離d為一預(yù)先確定的負(fù)值或?yàn)楸?小得多的值,則嵌入位信息“0”。
本實(shí)施例中,通過利用先前提到的拼湊方法原理,可以在單一的圖像中嵌入大量位信息片段。
本實(shí)施例中,在單一圖像的不同區(qū)域,不但可以采用子集A和B的組合,而且可以采用許多子集A′和B′、A ″和B ″、...的組合來嵌入包含有許多位的附加信息Es(H)。注意子集A和B、A′和B′、A″和B″...的分布不能重疊。
下面將檢驗(yàn)從其中嵌入了大量位信息的數(shù)據(jù)中提取位信息的方法。
圖6中標(biāo)號(hào)601表示從沒有嵌入數(shù)字水印的數(shù)據(jù)中計(jì)算得出的可靠性距離d的分布狀態(tài)。分布曲線601示出了最有可能出現(xiàn)的可靠性距離d的值,因?yàn)閷?duì)應(yīng)該可靠性距離d的出現(xiàn)頻率的分布較大。
分布曲線602和603分別為由嵌入了位信息“1”和位信息“0”的數(shù)據(jù)計(jì)算得到的可靠性分布距離d。
同樣地,每個(gè)分布曲線602和603分別示出了最有可能出現(xiàn)的可靠性距離d的值,因?yàn)閷?duì)應(yīng)該可靠性距離d的出現(xiàn)頻率的分布較大。注意一個(gè)位信息對(duì)應(yīng)一個(gè)可靠性距離d。
圖6中的分布曲線601、602、603都為正態(tài)分布狀態(tài)。下面將利用中心極限定理來介紹該正態(tài)分布曲線的組成原因。
<中心極限定理>
該定理揭示了當(dāng)從具有均值mc和標(biāo)準(zhǔn)誤差δc的全體域(不需要為正態(tài)分布)中隨機(jī)抽取大小為nc的樣本時(shí),具有樣本均值sc的分布近似于具有增大的nc的正態(tài)分布N(mc,sc/√nc)2)。
一般地,全體域的標(biāo)準(zhǔn)誤差δc是未知的,然而,如果樣本數(shù)nc足夠大,且全體域中的數(shù)Nc足以比樣本數(shù)nc更大,那么在常規(guī)的做法中,可以使用樣本的標(biāo)準(zhǔn)誤差sc來代替δc。
本實(shí)施例中,每個(gè)子集A和B都包括N個(gè)元素(A={a1,a2,...,aN},B={b1,b2,...,bN}),且這些集合為具有子集A和B元素的像素值,如圖5所示。如果設(shè)定N足夠大且像素值ai和bi沒有關(guān)聯(lián),則可靠性間隔d(∑(ai-bI)/N)的期望值變?yōu)?。正如從中心極限定理能夠得知該可靠性間距d構(gòu)成了一正態(tài)的分布。
因此當(dāng)從可靠性間距d確定嵌入的位信息時(shí),將在0到可靠性間距2c之間引入一個(gè)適當(dāng)?shù)拈T限值,并且當(dāng)可靠性間距的絕對(duì)值比門限值大時(shí),則確定信息已被嵌入,則在統(tǒng)計(jì)上完成了信息的可靠提取。
例如,令δ為正態(tài)分布601的標(biāo)準(zhǔn)誤差。那么,如果沒有嵌入附加信息,則在圖6陰影部分所示出的-1.96δ到+1.96δ(95%的可靠性范圍)的范圍內(nèi),可靠性間距有95%出現(xiàn)的可能性。
因此,在門限值范圍以外出現(xiàn)可靠性間距d的概率隨著門限值的增加而降低,則能夠提取高可靠性信息。
另外,如果設(shè)定一個(gè)大的嵌入深度“c”,則正態(tài)分布602和603將從分布狀態(tài)601分離開,因而能設(shè)置一個(gè)大的臨界值。
如果子集A和B中的元素?cái)?shù)N是大的,則正態(tài)分布601、602和603的標(biāo)準(zhǔn)誤差δ變小,并且如果嵌入深度c保持不變,則能確定更高的可靠性。
已經(jīng)介紹了拼湊方法的基本思想。
本實(shí)施例中,數(shù)字水印形成單元204和數(shù)字水印提取單元30就是使用前述的拼湊方法。
下面將介紹常規(guī)的述字水印嵌入、提取和消除方法。
<嵌入位置確定單元>
由于拼湊方法嵌入包括許多位的附加信息,每個(gè)位信息都需要子集A和B。因此,為了嵌入多條位信息,必須確定A和B、A′和B′、A″和B″、...的位置。
圖4的嵌入位置確定單元401確定需要嵌入若干條位信息的嵌入位置。作為一個(gè)簡(jiǎn)單的嵌入位置確定方法,可能使用利用隨機(jī)數(shù)來確定位置的方法。許多比特以良好的穩(wěn)定性嵌入整個(gè)圖像,以便相應(yīng)的子集元素幾乎是均勻分布的,而且子集之間不互相重疊。
例如,簡(jiǎn)要介紹使用與圖像具有同樣大小的白噪聲掩碼的方法。
白噪聲掩碼是由二維分布的掩碼像素組成的,每個(gè)掩碼都有一個(gè)在0至255范圍內(nèi)的系數(shù)。在0至255之間的白噪聲掩碼的每個(gè)系數(shù)都被賦予了差不多相同數(shù)目的掩碼像素。
例如,當(dāng)原始圖像具有2000×2000像素(=4000000個(gè)像素)時(shí),由于一個(gè)白噪聲掩碼配置了與原始圖像像素?cái)?shù)相同的掩碼像素?cái)?shù),則有15625(=4000000/256)個(gè)掩碼像素具有“0”值。這樣的掩碼像素是隨機(jī)分布的,以形成白噪聲掩碼。
因此,一旦嵌入1比特附加信息,則當(dāng)將具有奇數(shù)灰度級(jí)的掩碼像素指定給子集A,而將具有偶數(shù)灰度級(jí)的掩碼像素指定給子集B時(shí),則子集A和B具有相同的像素?cái)?shù)且互相不重疊,而附加信息能以良好的穩(wěn)定性嵌入整個(gè)圖像。
當(dāng)嵌入許多(M)條位信息時(shí),像素?cái)?shù)被均勻的分配給每個(gè)位信息(1至M)(例如,將設(shè)定的白噪聲掩碼的范圍除以2M,余數(shù)均勻的分配給子集A或B),則嵌入多條位信息。
如果每個(gè)像素都用8比特表示,則由于灰度級(jí)數(shù)為256,因而能嵌入的最大的比特?cái)?shù)M為128。該最大值僅滿足一個(gè)散列值(64或128比特),但如果加入另外的信息(如版權(quán)保護(hù)信息),該值將不充分。然而,當(dāng)一幅圖像被分割為四部分,且為相關(guān)的分割塊配置白噪聲掩碼,則能嵌入128×4=512比特。如果分割塊數(shù)大于4,嵌入的比特?cái)?shù)也會(huì)增加。然而,如果分割塊數(shù)增加,則由于正態(tài)分布很難形成,所以嵌入信息的提取可能會(huì)經(jīng)常失敗。因此,確定分割塊數(shù)應(yīng)與原始圖像的大小相應(yīng)。
因此嵌入位置確定裝置僅需產(chǎn)生事先準(zhǔn)備的掩碼模式。注意在嵌入中使用的、相同的掩碼是在提取和分離數(shù)字水印的一側(cè)準(zhǔn)備并使用的。
<附加信息嵌入單元>
附加信息嵌入單元402接收?qǐng)D像數(shù)據(jù)I、附加信息ES(H),以及如上所述的由嵌入位置確定單元401確定且與相應(yīng)的比特一致的嵌入位置。
按照組成輸入的附加信息ES(H)的位信息,計(jì)算與每個(gè)二進(jìn)制數(shù)相對(duì)應(yīng)的子集A和B的像素的像素值。
如在拼湊方法部分中介紹的,如果位信息為“1”。則從子集A的像素的像素值加上“C”,而從子集B的像素的像素值減去“C ”。如果位信息為0,則從子集A的像素的像素值減去“C” ,而把子集B的像素的像素值加上“C”。通過前述的處理,附加信息嵌入單元402嵌入附加信息ES(H)。
通過前述方法可以嵌入附加信息。然而,如果執(zhí)行上面的方法,同時(shí)滿足c>ai或ai>255-c和c>bi或bi>255-c的嵌入的像素的像素值ai′和bi′變?yōu)閍i′(bi′)<0或ai′(bi′)>255。因此數(shù)字水印消除單元(后面將介紹)在這些像素位置不能恢復(fù)原始圖像的像素(即ai和bi)。
本實(shí)施例用于實(shí)現(xiàn)滿足這樣的條件的像素的嵌入處理c≤ai≤255-c和c≤bi≤255-c,而對(duì)落在該范圍之外的像素值不執(zhí)行任何嵌入。所以,在上面的敘述中,當(dāng)嵌入M比特時(shí),“白噪聲掩碼呈現(xiàn)的范圍被劃分成2M份”,但必須提前排除那些范圍。注意不進(jìn)行嵌入處理的像素的位置信息必須作為溢出位置信息輸出,并輸入到數(shù)字水印提取單元和數(shù)字水印消除單元(后面將介紹)。
<數(shù)字水印提取裝置>
下面將介紹本實(shí)施例中的數(shù)字水印提取裝置302。數(shù)字水印提取裝置302具有如圖7所示的結(jié)構(gòu)。
如圖7所示,數(shù)字水印提取裝置302包括嵌入位置確定單元701、附加信息提取單元702、統(tǒng)計(jì)測(cè)試單元703、比較單元704和附加信息消除單元705。
數(shù)字水印提取裝置接收數(shù)字水印嵌入數(shù)據(jù)wI′。嵌入位置確定單元701產(chǎn)生在該位置處嵌入數(shù)字水印(與在數(shù)字水印形成裝置204中使用的白噪聲掩碼相同的模式)的位置信息。在輸入的將要從其嵌入數(shù)字水印的位置信息的基礎(chǔ)上,對(duì)于數(shù)字水印嵌入數(shù)據(jù),附加信息提取單元702執(zhí)行一預(yù)定的過程,則計(jì)算與嵌入到圖像數(shù)據(jù)wI′內(nèi)的附加信息E′S(H)相對(duì)應(yīng)的可靠性間距d。統(tǒng)計(jì)測(cè)試單元703統(tǒng)計(jì)測(cè)試與由附加信息提取單元702計(jì)算的附加信息E′S(H)相對(duì)應(yīng)的數(shù)據(jù)的精度。如果確定附加信息E′S(H)足夠精確,則比較單元704提取附加信息ES(H)。如果附加信息不準(zhǔn)確,則輸出“無信息”。如果嵌入了信息,附加信息消除單元705利用輸入的圖像數(shù)據(jù)wI′、來自于嵌入位置確定單元701的嵌入位置信息和溢出位置信息來消除數(shù)字水印。
下面將詳細(xì)介紹用于從嵌入有數(shù)字水印的圖像數(shù)據(jù)wI′來提取附加信息E′S(H)的數(shù)字水印提取單元的操作。
<嵌入位置確定單元>
嵌入位置確定單元701確定從其提取出附加信息E′S(H)的圖像數(shù)據(jù)wI′的區(qū)域。嵌入位置確定單元701執(zhí)行與嵌入位置確定單元401相同的操作。由此單元401和801確定相同的嵌入位置。確定的嵌入位置信息被輸出到附加信息提取單元702和附加信息消除單元705。
<附加信息提取單元>
附加信息提取單元702計(jì)算與每個(gè)比特相對(duì)應(yīng)的可靠性間距d,該比特來自于嵌入位置確定單元701確定的嵌入位置。在這種情況下,由于像素中沒有嵌入附加信息,單元702不使用在計(jì)算可靠性距離d中由輸入的溢出位置信息表示的像素。
<統(tǒng)計(jì)測(cè)試單元>
統(tǒng)計(jì)測(cè)試單元703統(tǒng)計(jì)的分析與從附加信息提取單元702輸出的每個(gè)比特相對(duì)應(yīng)的可靠性距離d的精度。如果嵌入了多條位信息,將獲得多個(gè)可靠性間距d。如果嵌入附加信息E′S(H),則可靠性間距d出現(xiàn)在與圖6內(nèi)中心O相距2c的一個(gè)位置上。
這時(shí),隨著增大的嵌入深度c,可靠性距離d出現(xiàn)在離圖6中心O更遠(yuǎn)的位置上。因此,如果門限值限定在位置c,而且獲得比c大的可靠性間距d,則確定嵌入的位信息為“1”;如果獲得可靠性距離d比-c小,則確定嵌入的位信息為“0”。
因此,,隨著嵌入深度“c”的增加,一旦嵌入附加信息,正態(tài)分布601、602和603之間的間隔也隨之增加,并確保提取信息的更高可靠性。同時(shí),隨著子集A和B的元素?cái)?shù)N的增大,正態(tài)分布601、602和603的標(biāo)準(zhǔn)誤差隨之下降。因此,通過增加嵌入深度“c”以及子集A和B的元素的數(shù)目N,即使在門限值為“c”時(shí),也能得到高可靠性的提取信息。
注意當(dāng)沒有嵌入信息時(shí),可靠性間距d(更可能的)出現(xiàn)在從-c到c的一個(gè)窄范圍內(nèi)而且通過利用該因素可以確定這樣的情況。
尤其是,當(dāng)與若干比特相應(yīng)的給定數(shù)目的或更多數(shù)目的可靠性距離d出現(xiàn)在范圍-c到c之間時(shí),本實(shí)施例的統(tǒng)計(jì)測(cè)試單元703確定沒有嵌入信息,并顯示一條消息來表示這樣的結(jié)果。
<比較單元>
圖7中的比較單元704被提供有與經(jīng)過附加信息提取單元702和統(tǒng)計(jì)測(cè)試單元703輸出的各條位信息相對(duì)應(yīng)的可靠性間距d的值。
由于與輸入到比較單元704的若干條位信息相對(duì)應(yīng)的可靠性間距d是高度可靠的,那么僅僅依據(jù)與每個(gè)位信息相應(yīng)的可靠性間距d的正負(fù)號(hào)來確定是“1”或“0”。
尤其是,如果給定的用于組成附加信息E′S(H)的位信息的可靠性間距d比“c”大,則確定出該位信息為“1”,如果可靠性間距d比“-c”小,則確定該位信息為“0”。
<附加信息消除單元>
下面介紹附加信息消除單元705執(zhí)行的操作。附加信息消除單元705接收附加信息E′S(H)的嵌入位置、圖像數(shù)據(jù)wI′和溢出位置信息,并輸出其中消除了附加信息的圖像數(shù)據(jù)I′。
在與數(shù)字水印形成單元中附加信息嵌入單元402嵌入的位置相同的位置上,在嵌入時(shí)通過改變嵌入深度“c”的符號(hào)將嵌入深度“c”加到與相應(yīng)的比特相匹配的子集,以此來消除附加信息并恢復(fù)原始圖像。
尤其在組成附加信息E′S(H)的預(yù)定的位信息的嵌入位置,如果位信息為“1”,則執(zhí)行操作a′i=ai-cb′i=bi+c如果位信息為“0”,則執(zhí)行操作a′i=ai+cb ′i=bi-c則在嵌入前恢復(fù)像素值。在這種情況下,利用了輸入的溢出位置信息。因此,由于在溢出位置上的像素中沒有嵌入附加信息,該像素不用進(jìn)行消除。
通過前面提到的運(yùn)算,附加信息消除單元705從嵌入了數(shù)字水印的數(shù)據(jù) wI′中消除了數(shù)字水印并輸出其中的消除了數(shù)字水印的圖像數(shù)據(jù)I′。
在前述的實(shí)施例中介紹了使用數(shù)字簽名作為鑒別信息的方法。然而,本發(fā)明不局限于該特殊的方法,包括例如,使用MAC(消息鑒別碼)作為鑒別信息的方法。另外,除了數(shù)字簽名和MAC,還可能包括至少一個(gè)或更多的日期信息、位置信息、時(shí)間信息、裝置的獨(dú)特信息和簽名人的專有信息。
此外,在上面的實(shí)施例中,使用的附加信息可以轉(zhuǎn)換為糾錯(cuò)碼。通過這種方式可以進(jìn)一步改善提取的附加信息Inf的可靠性。
注意在嵌入信息的一端和鑒別嵌入的信息的一端可以通過軟件來實(shí)現(xiàn)裝置的大部分組合元件,即圖2和圖3中所示的相關(guān)處理裝置能由軟件來實(shí)現(xiàn)。
在這種情況下,裝置的結(jié)構(gòu)可以是這樣一種通用的裝置普通個(gè)人電腦或類似裝置,例如,能使用圖1所示的結(jié)構(gòu)。
圖1示出了應(yīng)用于本實(shí)施例的圖像處理裝置的總體結(jié)構(gòu)。參照?qǐng)D1,主機(jī)101為例如廣泛使用的個(gè)人電腦。
在主機(jī)101內(nèi),通過總線107把下面將要介紹的相關(guān)部分連接起來以交換不同的數(shù)據(jù)。
參照?qǐng)D1,標(biāo)號(hào)103表示CPU,它能控制相關(guān)內(nèi)部單元的操作或執(zhí)行內(nèi)部存儲(chǔ)的程序。標(biāo)號(hào)104表示一能存儲(chǔ)引導(dǎo)程序和BIOS的ROM。標(biāo)號(hào)105表示一暫時(shí)存儲(chǔ)用于CPU執(zhí)行操作時(shí)的程序或?qū)⒁幚淼膱D像數(shù)據(jù)的RAM。標(biāo)號(hào)106表示一硬盤(HD),它能預(yù)先存儲(chǔ)將要傳送到RAM或類似單元的程序和圖像數(shù)據(jù),并能保存處理過的圖像數(shù)據(jù)。當(dāng)主機(jī)作為簽名裝置使用時(shí),硬盤106存儲(chǔ)與圖2相應(yīng)的、在操作時(shí)被調(diào)入RAM 105的程序。當(dāng)主機(jī)作為鑒別裝置使用時(shí),硬盤106存儲(chǔ)與圖3相應(yīng)的、在操作時(shí)被裝入RAM 105的程序。
標(biāo)號(hào)108表示一CD驅(qū)動(dòng)裝置它能裝入存儲(chǔ)在作為一種外置的存儲(chǔ)介質(zhì)CD(CD-R)上的數(shù)據(jù),或者將數(shù)據(jù)寫在CD-R上。標(biāo)號(hào)109表示一與CD驅(qū)動(dòng)裝置108類似的且能從FD裝入數(shù)據(jù)或?qū)?shù)據(jù)寫入FD的FD驅(qū)動(dòng)裝置。標(biāo)號(hào)110表示一與CD驅(qū)動(dòng)裝置108相似的且能從DVD裝入數(shù)據(jù)或?qū)?shù)據(jù)寫入DVD的DVD驅(qū)動(dòng)裝置。注意當(dāng)圖像編輯程序或打印機(jī)驅(qū)動(dòng)程序存儲(chǔ)在CD、FD、DVD或類似物上時(shí),這樣的程序在需要時(shí)被裝入HD 106并傳送到RAM 105。這些存儲(chǔ)介質(zhì)用來存儲(chǔ)原始圖像,并在存儲(chǔ)的圖像中嵌入特征信息,或者鑒別存儲(chǔ)在現(xiàn)有存儲(chǔ)介質(zhì)上的標(biāo)識(shí)圖像。
標(biāo)號(hào)113表示一連接到鍵盤111和鼠標(biāo)112以接收從其輸入的指令的接口(I/F)。標(biāo)號(hào)114表示一包括有圖像控制器和視頻存儲(chǔ)器(未示出)的顯示控制器,用以產(chǎn)生與顯示有關(guān)的控制,并通過把映射到視頻存儲(chǔ)器上的圖像輸出到顯示設(shè)備115來顯示圖像。標(biāo)號(hào)115表示用于連接到互聯(lián)網(wǎng)的通訊接口(例如,調(diào)制解調(diào)器、以太網(wǎng)轉(zhuǎn)換器或類似裝置)。通過通信接口115能發(fā)送或接收附加有特征信息的信息。
注意用于輸入圖像數(shù)據(jù)的裝置不局限于前面提到的裝置,也可代之以掃描儀或類似物。
如上所述的,依據(jù)本實(shí)施例,數(shù)字信息和簽名信息以不可分割的狀態(tài)設(shè)置,而且簽名信息經(jīng)過類似的格式變換而被發(fā)送到鑒別裝置。
在上述實(shí)施例中,應(yīng)用了拼湊方法。下面的敘述中將介紹本申請(qǐng)的其它例子。
如上所述,“數(shù)字水印”是公知的一種版權(quán)保護(hù)技術(shù)。數(shù)字水印是用于以一種看不見的形式在數(shù)字圖像數(shù)據(jù)、音頻數(shù)據(jù)、文本數(shù)據(jù)或類似的數(shù)據(jù)中嵌入版權(quán)所有者的名字或買主的ID,并且跟蹤利用非法拷貝進(jìn)行的不預(yù)先通知所使用。由于數(shù)字可能遭受不同的破壞,則它必須具有抵抗破壞的強(qiáng)度。
另外提出了從圖中提取嵌入的作為數(shù)字水印的信息并且從該圖像完全恢復(fù)原始圖像的技術(shù)。
一種嵌入方法簡(jiǎn)單的表示為I′j,i=Ij,i+cj×ai×xi(1)其中j為表示附加信息Inf的區(qū)域和比特位置的正數(shù),i為表示像素位置的正數(shù),I′j,I為嵌入了數(shù)字水印的圖像,如果Infj=“1”,則cj為常數(shù)+1,如果Infj=“0”,則cj為常數(shù)-1,ai為加權(quán)系數(shù),而xi為落在-1到+1之間的偽隨機(jī)數(shù)序列。xi稱為用來嵌入數(shù)字水印的載波信號(hào)。
在恢復(fù)操作時(shí),首先提取嵌入的數(shù)字水印。利用提取的數(shù)字水印,通過下述等式恢復(fù)原始圖像I″j,i=I′j,i-cj×ai×xi(2)其中I″j,i為被恢復(fù)的圖像數(shù)據(jù),I′j,i為輸入到圖像恢復(fù)裝置的圖像數(shù)據(jù),如果由數(shù)字水印提取單元提取的附加信息Inf中的位元為“1”,則cj為常數(shù)+1,如果位元為“0”,則cj為常數(shù)-1,而ai和xi與等式(1)中表示的相同。
下面將詳細(xì)介紹等式(1)給出的數(shù)字水印的形成和等式(2)給出的原始圖像恢復(fù)。
圖14示出了由等式(1)給出的數(shù)字水印的形成的例子。各個(gè)矩陣表示圖像的各個(gè)部分。圖14示出了位信息為1即cj=+1的情況。
在恢復(fù)端,首先提取數(shù)字水印。下面簡(jiǎn)要介紹該提取算法。檢測(cè)在輸入圖像I′的一個(gè)4×4的像素區(qū)域內(nèi)的像素值和一個(gè)偽隨機(jī)數(shù)序列xi(如上所述的,與在嵌入側(cè)產(chǎn)生的隨機(jī)數(shù)序列相同)之間的相關(guān)性。如果輸入的圖像I′和偽隨機(jī)數(shù)序列xi之間的相關(guān)性高,則確定嵌入的位元為“1”。另外,如果輸入的圖像I′和-xj(通過改變相應(yīng)的偽隨機(jī)數(shù)序列的元素的符號(hào)而獲得的結(jié)果)之間的相關(guān)性高,則確定嵌入的位元為“0”。如果兩個(gè)相關(guān)性都低,則確定沒有嵌入數(shù)字水印信息。在圖14中解釋了4×4像素區(qū)。然而,如果一個(gè)位元僅僅嵌入到一個(gè)區(qū)域,則不能期望得到高精度,如圖14所示,對(duì)許多區(qū)域(例如n像素區(qū))采取這樣的方法來改善整體的精度。如果嵌入了m個(gè)位元,則重復(fù)m次向n像素區(qū)中嵌入一個(gè)位元這樣的過程。
在以這樣的方式提取數(shù)字水印之后,執(zhí)行消除該數(shù)字水印信息的過程。
圖15示出了消除圖14所示的例子中嵌入的數(shù)字水印的過程。在這種情況下,嵌入的位信息為“1”。如圖14和15所示,一般情況下可完全消除嵌入的數(shù)字水印并恢復(fù)原始圖像。
另外,圖16也示出了由等式(1)給出的數(shù)字水印形成的例子。在圖16所示的例子中,嵌入有數(shù)字水印的圖像數(shù)據(jù)包括溢出的像素(那些在數(shù)字水印的形成之后具有像素值“262”和“261”的像素)。在這種情況下,采取了圖16所示的舍入處理。數(shù)字水印可能從沒有進(jìn)行任何舍入處理的圖像中被正確的提取,但是原始圖像不能從進(jìn)行了舍入處理的部分完美的恢復(fù)。
本質(zhì)上,通過前面提到的方法,可從嵌入有數(shù)字水印的數(shù)字?jǐn)?shù)據(jù)恢復(fù)在數(shù)字水印形成之前的數(shù)字?jǐn)?shù)據(jù),但是如果由于數(shù)字水印的形成而發(fā)生了溢出,則不可能完全的恢復(fù)在數(shù)字水印形成之前的數(shù)字?jǐn)?shù)據(jù),如上所述。注意溢出是這樣一種現(xiàn)象如果Ii,j由0到255之間的整數(shù)(8位)表示,在經(jīng)過等式(1)的處理后,I′i,j具有落在該范圍之外的值。小于0的值通常被舍入為0,大于255的值通常被舍入為255。如果執(zhí)行了這樣的舍入處理,則不可能通過數(shù)字水印消除裝置完全的消除數(shù)字水印。
由于這個(gè)原因,則很難在發(fā)生溢出的地方完全恢復(fù)原始圖像部分。
因此本實(shí)施例能夠?qū)崿F(xiàn)原始數(shù)字?jǐn)?shù)據(jù)的完美再現(xiàn)。
下面將介紹本實(shí)施例中的數(shù)字水印形成裝置。本實(shí)施例中的數(shù)字水印形成裝置嵌入附加信息以便能夠完美的再現(xiàn)在數(shù)字水印形成之前的圖像數(shù)據(jù)。
圖9示出了數(shù)字水印形成裝置的內(nèi)部結(jié)構(gòu)。下面將利用圖9來解釋數(shù)字水印形成裝置的處理流程圖。
圖像I被輸入到數(shù)字水印形成裝置。為了簡(jiǎn)化,圖像I為具有每像素8比特精度的灰度多值圖像數(shù)據(jù)。然而,本發(fā)明不局限于這樣的特定數(shù)據(jù),而且可能輸入具有預(yù)定數(shù)目比特的灰度多值圖像數(shù)據(jù)。另外,當(dāng)輸入一包括有許多元素的彩色圖像時(shí),可以選擇一個(gè)或許多元素作為輸入的圖像或圖像組。該輸入的圖像I被輸入到溢出區(qū)域檢測(cè)單元2201和數(shù)字水印形成單元2203。
首先將介紹溢出區(qū)域檢測(cè)單元2201。該溢出區(qū)域檢測(cè)單元2201接收?qǐng)D像I,并且如果由下一個(gè)數(shù)字水印形成單元2203進(jìn)行的數(shù)字水印形成處理后發(fā)生了溢出,則檢測(cè)用于組成輸入的圖像I的所有像素,提取發(fā)生溢出的所有像素的位置。同時(shí)輸出這些像素的坐標(biāo)信息。
在下面的敘述中,發(fā)生溢出的像素(0,1,或在某些情況下更多)的位置信息將用溢出信息R來指代。溢出信息R將被輸出到編碼單元2202和數(shù)字水印形成單元2203。后面將更詳細(xì)的介紹溢出區(qū)域檢測(cè)單元的操作。
下面將介紹編碼單元2202。編碼單元2202接收溢出信息R和附加信息Inf,并把該溢出信息R和附加信息Inf組合為一簡(jiǎn)單的代碼序列,并輸出該組合的代碼序列w。例如,w具有圖11所示的格式。注意w用來將作為數(shù)字水印的代碼序列由數(shù)字水印提取單元2203嵌入到圖像I。由于這個(gè)原因,為了實(shí)現(xiàn)有效的數(shù)字水印形成處理,可以對(duì)w進(jìn)行壓縮編碼。另外,如果附加信息Inf為私人信息,可加密w。為了即使在嵌入了作為數(shù)字水印的附加信息Inf和將把該附加信息作為不同破壞的結(jié)果而變更為另一種信息之后,也可以正確提取附加信息Inf,可把w轉(zhuǎn)換為糾錯(cuò)碼。在任何情況下,從嵌入處理開始,都包含有由溢出信息R所指示的像素位置,并且利用了在那些位置的原始圖像的像素值。
下面將介紹數(shù)字水印形成單元2203。數(shù)字水印形成單元2203接收?qǐng)D像數(shù)據(jù)I、溢出信息R和代碼序列w,把代碼序列w作為數(shù)字水印嵌入到圖像I,并輸出嵌入有數(shù)字水印的圖像I′。注意由溢出信息R所指示的像素不進(jìn)行數(shù)字水印的形成處理。因此數(shù)字水印形成單元2203不會(huì)產(chǎn)生任何由于數(shù)字水印的形成而引起的溢出。后面將更詳細(xì)的介紹數(shù)字水印形成單元2203的操作。
如上所述的,將作為數(shù)字水印的附加信息嵌入到圖像I,則產(chǎn)生嵌入有數(shù)字水印的圖像I′。
下面將用圖10來介紹本實(shí)施例的圖像恢復(fù)裝置。圖像恢復(fù)裝置執(zhí)行這樣的過程,用以把嵌入有數(shù)字水印的圖像恢復(fù)為在數(shù)字水印形成之前的圖像數(shù)據(jù)。
圖像恢復(fù)裝置通過前面提到的方法接收嵌入有數(shù)字水印的圖像I′。該輸入的圖像I′被輸入到數(shù)字水印提取單元2301和數(shù)字水印消除單元2303。
首先解釋數(shù)字水印提取單元2301。數(shù)字水印提取單元2301接收嵌入有數(shù)字水印的圖像I′,提取嵌入的代碼序列w,并輸出該提取的代碼序列w。數(shù)字水印提取單元2301使用輸入的圖像I′的所有真實(shí)像素來提取數(shù)字水印。也就是說,對(duì)所有像素連同那些由溢出信息R(在由溢出信息R所述的位置沒有嵌入數(shù)字水印)表示的并排除在數(shù)字水印嵌入目標(biāo)之外的像素進(jìn)行數(shù)字水印提取。后面將更詳細(xì)介紹數(shù)字水印提取單元2301的操作。提取的代碼序列w輸出到譯碼單元2302。
下面將介紹譯碼單元2302。譯碼單元2302接收由單元2301提取的代碼序列w,把它分為組成代碼序列w的溢出信息R和附加信息Inf,并輸出該分割的溢出信息R和附加信息Inf。當(dāng)編碼單元2202對(duì)w進(jìn)行壓縮編碼,譯碼單元2302執(zhí)行解壓譯碼的處理。同時(shí),當(dāng)編碼單元2202對(duì)w進(jìn)行加密后,譯碼單元2302執(zhí)行一個(gè)解壓譯碼的處理以對(duì)加密數(shù)據(jù)解密。另外,當(dāng)編碼單元2202把w轉(zhuǎn)換為糾錯(cuò)碼時(shí),譯碼單元2302執(zhí)行糾錯(cuò)譯碼處理以便糾正錯(cuò)誤。溢出信息R和附加信息Inf被輸出到數(shù)字水印消除單元2303。
下面將介紹數(shù)字水印消除單元2303。數(shù)字水印消除單元2303接收嵌入有數(shù)字水印、溢出信息R和附加信息Inf的圖像I′,利用附加信息Inf在執(zhí)行數(shù)字水印之前從嵌有數(shù)字水印的圖像I′中恢復(fù)出原始圖像,并輸出該恢復(fù)的圖像I。在該恢復(fù)處理中,排除了由溢出信息R指示的像素。這是因?yàn)樵谕ㄟ^前述的數(shù)字水印形成單元2203由溢出信息R指示的像素沒有嵌入數(shù)字水印。后面將更詳細(xì)的介紹數(shù)字水印消除單元2303的操作。
如上所述的,從嵌入有數(shù)字水印的圖像I′恢復(fù)出在形成數(shù)字水印之前的圖像I。
下面將舉例說明形成數(shù)字水印的細(xì)節(jié)。
下面將分析n比特信息Inf嵌入圖像I(即嵌入上述實(shí)施例的信息w)的情況。在這種情況下,圖像I被分割為n個(gè)不重疊的區(qū)域Ij(j=1,2,...,n)。那么數(shù)字水印的形成過程給定為I′j,i=Ij,i+cj×ai×xi(4)其中j為表示附加信息Inf的區(qū)域和位元位置的正數(shù),I為表示像素位置的正數(shù),I′j,i為嵌入有數(shù)字水印的圖像,如果Infj=“1 ”,則cj為常數(shù)+1,如果Infj=“0”,則cj為常數(shù)-1,ai為加權(quán)系數(shù),而xi為落在范圍-1到+1之間的一偽隨機(jī)數(shù)序列。xi稱為用于實(shí)現(xiàn)嵌入數(shù)字水印的載波信號(hào)。
令amax為加權(quán)系數(shù)呈現(xiàn)的最大值(正值),而xmax為xi所能達(dá)到的最大值(正值)。那么僅當(dāng)滿足條件amax×xmax≤I≤255-amax×xmax(4)時(shí)執(zhí)行等式(3)給定的算術(shù)操作。
在這種情況下,由于aI和xi的相應(yīng)元素值是同步出現(xiàn)的,并且在用于嵌入數(shù)字水印的裝置和提取數(shù)字水印的裝置中時(shí)已知的,等式(4)可進(jìn)一步擴(kuò)展為ai×xi≤I≤255-ai×xi(4′)如果不滿足等式(4)(或等式(4′))的條件,則把像素位置記錄為溢出信息R。在普通的自然圖像中,不滿足等式(4)給定的條件的像素?cái)?shù)(也就是排除嵌入的像素?cái)?shù))比整個(gè)圖像的像素總數(shù)小的多。這表明溢出信息R有相對(duì)小的信息量。因此,當(dāng)通過編碼單元2202將溢出信息R作為代碼序列w進(jìn)行組合而后通過數(shù)字水印形成單元2203將代碼序列w作為數(shù)字水印嵌入時(shí),該信息大小也是忽略不記的。如上所述,由于在滿足等式(4)(或等式(4′))給定的條件下通過等式(1)嵌入數(shù)字水印,則能沒有溢出地執(zhí)行數(shù)字水印形成過程。
下面將舉例說明圖像恢復(fù)處理的細(xì)節(jié)。
代碼序列w作為數(shù)字水印而嵌入到輸入的圖像I′。為了使用等式(3)來提取數(shù)字水印,從用于嵌入數(shù)字水印的載體信號(hào)x和輸入到數(shù)字水印提取單元的圖像I′來計(jì)算PFA,而且無論是否嵌入了數(shù)字水印,也無論位元為“0”還是“1”,在計(jì)算結(jié)果的基礎(chǔ)上確定是否嵌入了數(shù)字水印。
注意PFA表示實(shí)際上沒有嵌入數(shù)字水印時(shí),錯(cuò)誤檢查數(shù)字水印的概率。為了計(jì)算該概率,使用了稱為統(tǒng)計(jì)測(cè)試的方法。統(tǒng)計(jì)測(cè)試對(duì)于本領(lǐng)域技術(shù)人員來說是公知技術(shù)。關(guān)于提取數(shù)字水印時(shí)使用統(tǒng)計(jì)測(cè)試的例子的更詳細(xì)的說明,參考1996年9月出版的I.C.I.I.P會(huì)刊,215至218頁I.Pitas著的“A method for signature casting on digitalimages”。利用統(tǒng)計(jì)測(cè)試,為每個(gè)位元進(jìn)行計(jì)算以測(cè)試值qj。該測(cè)試值qj遵循零均值和誤差=1的標(biāo)準(zhǔn)正態(tài)分布,但當(dāng)數(shù)字?jǐn)?shù)據(jù)中嵌入有數(shù)字水印時(shí),它遵循非零均值和誤差=1的正態(tài)分布。依據(jù)計(jì)算出的分析值qj和0之間的距離,確定出是否嵌入了數(shù)字水印。
另外,使用該計(jì)算得到的測(cè)試值qj則能計(jì)算作為數(shù)字水印而被嵌入的信息。當(dāng)用等式(3)嵌入數(shù)字水印時(shí),如果qj為正,則確定位元為“1”,或者如果qj為負(fù),則位元為“0”。
如同用于提取數(shù)字水印的原理,參考現(xiàn)有技術(shù)的內(nèi)容。
前述的數(shù)字水印提取處理,用于實(shí)現(xiàn)所有的像素,也包括那些由于其不滿足等式(4)(或等式(4′))給定的條件通過數(shù)字水印形成單元2203而沒有嵌入數(shù)字水印的像素。由于不滿足等式(4)(或等式(4′))給定的條件的像素?cái)?shù)比整個(gè)圖像的像素總數(shù)小,在提取數(shù)字水印時(shí),即使包括上述的那些像素,也能正確的提取數(shù)字水印。
以這種方式提取的數(shù)字水印為由溢出信息R和附加信息Inf組成的代碼序列w,而且代碼序列w被分割為溢出信息R和附加信息Inf。之后,數(shù)字水印消除單元執(zhí)行If icR then I″=I′else I″=I′j,i-cj×ai×xi(5)其中I″i,j為恢復(fù)的圖像數(shù)據(jù),I′i,j為輸入到圖像恢復(fù)裝置的圖像數(shù)據(jù),如果由數(shù)字水印提取單元提取的附加信息Inf中的位元為1,則Cj為常數(shù)+1,或者如果該位元為“0”,則Cj為常數(shù)-1,而ai和xi與等式(3)中的意義相同。也就是,如果i不包括在溢出信息R中,則執(zhí)行與等式(3)相反的處理;如果i包括在溢出信息R中,則沒有執(zhí)行任何處理。
當(dāng)通過前述的處理正確提取出代碼序列w時(shí),該恢復(fù)的圖像I″與原始圖像I相同。
對(duì)于本領(lǐng)域技術(shù)人員來說,通過執(zhí)行前述處理的程序,容易實(shí)現(xiàn)用于嵌入數(shù)字水印的裝置和用于提取該嵌入的數(shù)字水印并恢復(fù)原始圖像的裝置。
圖8示出了該裝置的實(shí)用結(jié)構(gòu),以及與數(shù)字水印的嵌入相關(guān)聯(lián)的過程(程序),并且在介紹圖8之后,介紹恢復(fù)處理(程序)。
參照?qǐng)D8,主機(jī)2101例如為一廣泛使用的個(gè)人電腦。
下面將要介紹的,在主機(jī)2101內(nèi)部的相應(yīng)單元經(jīng)過總線2107連接起來以交換不同的數(shù)據(jù)。
參照?qǐng)D8,標(biāo)號(hào)2102代表一監(jiān)視器(顯示設(shè)備),而2103代表一CPU,它能控制相應(yīng)的內(nèi)部單元的操作或執(zhí)行內(nèi)部存儲(chǔ)的程序。標(biāo)號(hào)2104表示一存儲(chǔ)引導(dǎo)程序和BIOS的ROM。標(biāo)號(hào)2105代表在由CPU執(zhí)行一處理時(shí),暫時(shí)存儲(chǔ)程序或?qū)⒁幚淼膱D像數(shù)據(jù)的RAM。標(biāo)號(hào)2106代表一硬盤,它能預(yù)先存儲(chǔ)將要傳遞到RAM或類似單元的程序(OS和圖像處理程序)和圖像數(shù)據(jù),并能保存處理過的圖像數(shù)據(jù)。
標(biāo)號(hào)2108表示一CD驅(qū)動(dòng)裝置它能裝入存儲(chǔ)在作為一種外置的存儲(chǔ)介質(zhì)CD(CD-R)上的數(shù)據(jù),或者將數(shù)據(jù)寫在CD-R上。標(biāo)號(hào)2109表示一與CD驅(qū)動(dòng)裝置2108類似的且能從FD裝入數(shù)據(jù)或?qū)?shù)據(jù)寫入FD的FD驅(qū)動(dòng)裝置。標(biāo)號(hào)2110表示一與CD驅(qū)動(dòng)裝置2108相似的且能從DVD裝入數(shù)據(jù)或?qū)?shù)據(jù)寫入DVD的DVD驅(qū)動(dòng)裝置。注意當(dāng)CD、FD、DVD或類似物存儲(chǔ)圖像編輯程序或打印機(jī)驅(qū)動(dòng)程序時(shí),這樣的程序在需要時(shí)被裝入HD 106并傳送到RAM 105。標(biāo)號(hào)2113代表一與鍵盤2111和鼠標(biāo)2112相連的并能接收從其輸入的指令的接口(I/F)。標(biāo)號(hào)2114代表用于連接至網(wǎng)絡(luò)例如互聯(lián)網(wǎng)的通信接口。
嵌入有數(shù)字水印的圖像的輸出終端可能是類似HD、FD的存儲(chǔ)介質(zhì),或者是網(wǎng)絡(luò)上的文件服務(wù)器。也同樣應(yīng)用于接收嵌入有數(shù)字水印的信息的介質(zhì)。
當(dāng)前述的裝置用做數(shù)字水印嵌入裝置時(shí),則按照?qǐng)D18的流程執(zhí)行。注意下面將要介紹的同該流程關(guān)聯(lián)的程序被安裝在HD 2106上。同時(shí),將要嵌入的信息從例如鍵盤輸入?;蛘咭部墒褂妙A(yù)先存儲(chǔ)在HD2106、ROM 21047、RAM 2105或類似物上的信息。
在步驟S101中,輸出將要嵌入數(shù)字水印的圖象數(shù)據(jù)。輸入源沒有特別的限定,圖象數(shù)據(jù)可以是從網(wǎng)絡(luò)下載的,或是使用圖象掃描儀之類的裝置輸入的。在步驟S102中,檢測(cè)來自于輸入的圖象數(shù)據(jù)的所有溢出像素的位置,并且作為溢出信息R保存在RAM 2105中。預(yù)先輸入的附加信息Inf和溢出信息R被組合編碼(通過可逆編碼)來產(chǎn)生將要在應(yīng)用時(shí)嵌入的信息w,且該信息暫時(shí)保存在RAM 2105中。
輸入的圖象數(shù)據(jù)中的每個(gè)像素被選做要研究的像素,并校驗(yàn)所要研究的像素是否包含在溢出信息R中。如果該像素的位置不包括在溢出信息R中,則從信息w中提取1個(gè)比特,并且執(zhí)行與該比特狀態(tài)相一致的數(shù)字水印形成過程。
另外,如果所研究的像素位置包括在溢出信息R中,則沒有執(zhí)行任何數(shù)字水印形成過程。
這個(gè)過程重復(fù)于所有的位信息和像素(步驟S106和S107)。一旦完成用于所有的位信息和所有的像素的處理,則嵌入有數(shù)字水印的圖象數(shù)據(jù)被輸出到RAM 2105或HD 2106(步驟S108)。
如果信息w的所有比特的嵌入是在所有像素的嵌入完成之前完成的,可能嵌入假程序信息或信息w可能被重復(fù)嵌入。
其結(jié)果,嵌入之后的圖象信息I′產(chǎn)生在RAM上。該圖象I′作為文件最后被存儲(chǔ)在例如HD或類似介質(zhì)上。之后,該圖象I′可能經(jīng)過網(wǎng)絡(luò)傳遞或存儲(chǔ)在例如可拆裝的介質(zhì)上。
下面將用圖19來解釋用于提取數(shù)字水印和恢復(fù)原始圖象的過程。
嵌入有數(shù)字水印的圖象數(shù)據(jù)I′輸入到RAM 2105(步驟S1201)。如上所述的,輸入源并未受到特定限制。之后,在步驟S1202中,從嵌入圖像I′中提取出數(shù)字水印信息。數(shù)字水印的提取原理與上面介紹的相同。
在步驟S1203中,該提取的信息被譯碼以將信息w(=溢出信息R+嵌入的信息Inf)存儲(chǔ)在RAM 2105中,這樣就完成了提取處理。注意嵌入的信息Inf可能顯示在顯示屏上。
在步驟S1204中,圖象數(shù)據(jù)中的每個(gè)像素都被選做為要研究的像素,并校驗(yàn)所研究的像素位置是否包含于溢出信息R中。
如果所研究的像素不包含在溢出信息R中,則在步驟S1205中執(zhí)行數(shù)字水印消除處理。
另外,如果所研究的像素包含在溢出信息R中,則跳過用于該像素的數(shù)字水印消除處理,并且利用所輸入的圖象數(shù)據(jù)的像素值。
所執(zhí)行的這種處理用于所有的像素(步驟S1206)。一旦完成用于所有像素的處理,則通過消除數(shù)字水印,重現(xiàn)原始圖象。在需要時(shí),該結(jié)果(原始圖象數(shù)據(jù))被輸出到RAM 2105、HD 2106或類似的裝置,并且將之顯示。
在上面的實(shí)施例中,溢出像素?cái)?shù)比整個(gè)圖象的像素總數(shù)相對(duì)小的多。即,溢出信息R的信息容量相對(duì)較小,并且隨數(shù)字水印一起相對(duì)穩(wěn)定的嵌入信息R。例如,這種情況適用于類似照片之類的自然圖象。
另外,隨圖象數(shù)據(jù)的類型,溢出信息R可以有大信息容量。例如,當(dāng)數(shù)字水印嵌入亮度值時(shí),當(dāng)圖象的整個(gè)亮度或高或低時(shí),溢出信息R變大。
當(dāng)溢出信息R的容量變得很大時(shí),包含溢出信息R的代碼序列W的信息容量也變得很大,并且該代碼序列w不能作為數(shù)字水印被嵌入。因此,溢出信息R的信息容量最好減至最小。下面將介紹用于減少溢出信息R的容量的過程的例子。
圖12示出了數(shù)字水印形成裝置的內(nèi)部結(jié)構(gòu)。與圖9所示裝置的不同之處在于增加了校正單元2501和用于處理信息的編碼單元2503。由于其它操作同圖9所示的相同,由此將其省去。
圖象數(shù)據(jù)I被輸入到校正單元2501,該單元執(zhí)行一校正過程以減少溢出信息R的信息容量,并輸出校正后的圖象數(shù)據(jù)I和表示執(zhí)行校正類型的校正信息C。
校正的過程是用于減少溢出信息R的信息容量的過程。例如,當(dāng)整個(gè)圖象的亮度為高時(shí),則執(zhí)行從所有的像素值減去一給定的量(d)的過程。在這種情況下,表示“從整個(gè)圖象的像素值中減去給定的量(d)”的信息作為校正信息C被輸出。
另外,除了溢出信息R和附加信息Inf之外,編碼單元2503還對(duì)校正信息C編碼。如圖20所示,編碼后的代碼序列w包括校正信息C、溢出信息R和附加信息Inf。
通過前述的過程嵌入數(shù)字水印。下面將介紹圖象恢復(fù)裝置。
圖13示出了本實(shí)施例中的圖象恢復(fù)裝置的內(nèi)部結(jié)構(gòu)。同圖10所示裝置的不同之處在于增加了反向校正單元2604和處理存儲(chǔ)信息的譯碼單元2602。由于其它操作同圖13和10中的相同,則將其省略。
譯碼單元2602接收由數(shù)字水印提取單元2601提取的代碼序列w,并對(duì)該輸入的序列w進(jìn)行譯碼以獲取附加信息Inf、溢出信息R和校正信息C,并將它們輸出。
反向校正單元2604接收通過數(shù)字水印消除單元從中將數(shù)字水印消除的圖象數(shù)據(jù)I和由譯碼單元2602對(duì)其進(jìn)行譯碼的校正信息C,并且該單元執(zhí)行同校正單元2503執(zhí)行的過程相反的過程,并輸出校正后的圖象數(shù)據(jù)I。例如,如果表示“從整個(gè)圖象的像素值減去給定的量(d)”的信息作為校正信息被輸入,則校正單元2604執(zhí)行這樣的處理將一給定量(d)加到整個(gè)圖象的像素值。
通過上面的過程,能從輸入到圖象恢復(fù)裝置的圖象數(shù)據(jù)I′完美的再現(xiàn)數(shù)字水印形成之前的圖象數(shù)據(jù)I。
下面將舉例介紹校正信息C的確定方法。
檢測(cè)將嵌入數(shù)字水印的圖象的亮度分布。例如,如果亮度值的出現(xiàn)率比在低亮度區(qū)的大,則產(chǎn)生校正以變換發(fā)光率至低亮度區(qū)。相反地,如果低度值的出現(xiàn)率比在高亮度區(qū)的大,則產(chǎn)生校正以變換發(fā)光率至高亮度區(qū)。
在一些情況下,可能進(jìn)行下述處理。為了容易理解,下面將分析使用圖象掃描儀(每像素8比特)來讀取印有文本的紙張且該讀取的圖象作為圖象I而被使用的情況。
一般的,如圖21所示,當(dāng)讀取印有文本的文件(二元圖象)且用亮度值來表示相應(yīng)的像素時(shí),像素的分布集中在最高和最低亮度值部分,且在它們之間幾乎沒有像素。
在這種情況下,如果所有的像素值加上或減去一給定的值,則在高或低亮度側(cè)發(fā)生溢出。因此,執(zhí)行以下處理。
由于低亮度范圍分布在亮度值0至a之間,則找出與0出現(xiàn)率相一致且滿足等式(4)(或等式(4′))的中間亮度值,且用找出的亮度值來代替低亮度值。例如,如果找出50到50+a之間的亮度值,則0至a的亮度值轉(zhuǎn)換為50至50+a之間的值(0轉(zhuǎn)換為50,1轉(zhuǎn)換為51,...)。對(duì)于高亮度范圍也進(jìn)行了相似的處理。即高亮度范圍變換為較低的亮度范圍。
作為上述過程的結(jié)果,尤其在類似于文本的二元圖象的情況下,如果校正信息C表明亮度值0至a和亮度區(qū)b至255之間的轉(zhuǎn)換值,則能完美的恢復(fù)原始圖象。在上面的敘述中,圖象用亮度分量表示,然而,本發(fā)明不局限于此,圖象也可用其它類似色度的分量表示。
如上所述的,按照上面的實(shí)施例,當(dāng)溢出像素(數(shù)字?jǐn)?shù)據(jù)的組成元素)沒進(jìn)行嵌入處理且作為數(shù)字水印的信息嵌入到任何沒有溢出的像素時(shí),能完美的恢復(fù)原始圖象數(shù)據(jù)。
注意如上所述的,本發(fā)明能通過運(yùn)行在計(jì)算機(jī)上的程序來實(shí)現(xiàn)。因此,本發(fā)明包括一計(jì)算機(jī)程序。由于本發(fā)明能通過給計(jì)算機(jī)提供程序來實(shí)現(xiàn),則用于將程序代碼輸給計(jì)算機(jī)的裝置即用于存儲(chǔ)程序代碼的存儲(chǔ)介質(zhì)也在本發(fā)明范圍內(nèi)。
類似這樣的存儲(chǔ)程序代碼的存儲(chǔ)介質(zhì),例如,可以使用軟盤、硬盤、光盤、磁光盤、CD-ROM、磁帶、永久性存儲(chǔ)器卡、ROM或類似物。
可以獨(dú)自控制與提供的程序代碼相匹配的不同設(shè)備的計(jì)算機(jī),不但可以通過這樣的計(jì)算機(jī)來實(shí)現(xiàn)上述實(shí)施例的功能時(shí),而且在協(xié)同運(yùn)行在計(jì)算機(jī)上的程序代碼和OS(操作系統(tǒng))或其它軟件來實(shí)現(xiàn)該實(shí)施例的功能時(shí),這樣的程序代碼都包括在本發(fā)明的范圍內(nèi)。
另外本發(fā)明的范圍還包括這樣一種情況提供的程序代碼存儲(chǔ)于安裝在計(jì)算機(jī)主板上的存儲(chǔ)器或與計(jì)算機(jī)相連的功能擴(kuò)充裝置,安裝于該功能擴(kuò)充板或裝置上的CPU在程序代碼指令的基礎(chǔ)上執(zhí)行一些或所有的有效過程,并通過這些過程實(shí)現(xiàn)本實(shí)施例。
如上所述的,依據(jù)本發(fā)明,當(dāng)鑒別信息與數(shù)字信息不可分開的設(shè)置時(shí),總能檢測(cè)到信息是否被篡改,而且只要原始數(shù)據(jù)不被篡改總能將其恢復(fù)。
可以嵌入數(shù)字水印,而且嵌入有數(shù)字水印的原始數(shù)字?jǐn)?shù)據(jù)能被再現(xiàn)。
因?yàn)榭梢栽诓幻撾x本發(fā)明精神和范圍的情況下,產(chǎn)生許多不同的實(shí)施例,所以可以理解本發(fā)明不局限于所限定的具體實(shí)施例而是由所附的權(quán)利要求來限定。
權(quán)利要求
1.一種用于將附加信息嵌入到組成數(shù)字?jǐn)?shù)據(jù)的元素的信息嵌入裝置,該數(shù)字?jǐn)?shù)據(jù)是通過從所述元素加上/減去一個(gè)值而得到的,該裝置包括檢測(cè)裝置,用于檢測(cè)這樣的元素在加運(yùn)算/減運(yùn)算之后,其值超越了能夠認(rèn)定的元素范圍;通過結(jié)合附加信息和由所述檢測(cè)裝置檢測(cè)的信息而產(chǎn)生有效的嵌入信息的產(chǎn)生裝置;和嵌入裝置,用于排除這樣的元素在嵌入到數(shù)字?jǐn)?shù)據(jù)時(shí),經(jīng)過嵌入處理的加運(yùn)算/減運(yùn)算之后,其值超越了認(rèn)定的元素范圍,并將由所述產(chǎn)生裝置產(chǎn)生的有效的嵌入信息作為數(shù)字水印嵌入到落在認(rèn)定的元素范圍之內(nèi)的元素。
2.根據(jù)權(quán)利要求1的裝置,其中的數(shù)字?jǐn)?shù)據(jù)為圖像數(shù)據(jù),并且所述檢測(cè)裝置用于檢測(cè)這樣的像素位置該像素在加運(yùn)算/減運(yùn)算之后其值超越了設(shè)定的像素值范圍。
全文摘要
依據(jù)本發(fā)明,當(dāng)鑒別信息從數(shù)字信息以不可分割的方式設(shè)置時(shí),總能檢測(cè)到信息是否被干擾,而且只要數(shù)字?jǐn)?shù)據(jù)沒受干擾,就能將其恢復(fù)。為了實(shí)現(xiàn)這個(gè)目的,當(dāng)將鑒別信息嵌入到由圖像輸入單元(201)輸入的數(shù)字信息時(shí),散列值計(jì)算單元(202)產(chǎn)生基于該數(shù)字信息的鑒別信息,加密單元(203)使用加秘密鑰對(duì)鑒別信息加密,以及數(shù)字水印形成單元(204)將加密的信息作為數(shù)字水印嵌入到數(shù)字信息。
文檔編號(hào)H04N1/00GK1893530SQ20061008448
公開日2007年1月10日 申請(qǐng)日期2002年2月9日 優(yōu)先權(quán)日2001年2月9日
發(fā)明者林淳一 申請(qǐng)人:佳能株式會(huì)社