專利名稱:一種能同時抵抗多種攻擊的數(shù)字水印方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字水印領(lǐng)域,具體涉及一種能同時抵抗裁剪、縮放、濾波、噪聲等攻 擊的數(shù)字水印方法。
背景技術(shù):
目前已公開的大部分?jǐn)?shù)字水印技術(shù)都是只能抵抗一些普通幾何攻擊、噪聲攻擊、 濾波攻擊,其中幾何攻擊并不包含裁剪攻擊,而且一次只能抵抗一種攻擊,不能抵抗多種攻 擊的聯(lián)合攻擊。有人曾經(jīng)提出過抗裁剪的一些水印技術(shù),但是這些技術(shù)中涉及到的水印信 息都是一幅圖片,并沒有人提出針對水印信息是二值(01)的技術(shù)。如果水印信息是一幅圖 片的話,提取出來的水印可能是不完整的,只要恢復(fù)出一個大致的構(gòu)型,確定出圖像的版權(quán) 所有就行了。所以,對于具體長度二值比特位的水印信息的研究迫在眉睫,本發(fā)明所涉及到 的水印信息類型不限,可以是圖片,文字等任何可轉(zhuǎn)變?yōu)槎?1串的信息。
發(fā)明內(nèi)容
本發(fā)明的目的是研究出一種方案,能夠?qū)唧w長度的水印信息進行嵌入和提取, 并且提取出來的水印信息和嵌入的原水印誤碼率為0,即提取的水印要和原水印相同,無 誤差。其原理就是首先將載體圖像重定位為一個固定大小的圖像,原水印信息經(jīng)過糾錯編 碼加水印頭成為一個“偽水印”,根據(jù)偽水印的長度將載體圖像分塊,把偽水印按位嵌入到 對應(yīng)的塊中,重復(fù)循環(huán),直到將所有的塊都嵌入偽水印信息,這樣就能得到嵌入水印的帶水 印圖像。在人們的使用過程中,會將圖像裁剪掉一部分,把裁剪后的圖像按照嵌入時已分塊 的大小進行分塊,從中選取和偽水印信息嵌入時選擇的塊個數(shù)相同的塊個數(shù),根據(jù)這些水 印嵌入塊就能提取出偽水印信息,然后根據(jù)水印頭進行排序,得到水印信息,再經(jīng)過糾錯編 碼得到原水印信息。這種方案完成了上述過程。其總體實施過程如下水印嵌入過程(1)載體圖像預(yù)處理載體圖像預(yù)處理分為三個步驟來完成,分別是第一步對 原始載體圖像大小進行重新調(diào)整,轉(zhuǎn)變?yōu)榇笮镸*N的中間載體圖像,調(diào)整大小有兩個優(yōu) 點一是原始載體圖像大小未知,實現(xiàn)了盲嵌入,二是能夠更好的抵抗縮放攻擊,其中M和N 不是固定的;第二步對中間載體圖像進行分塊,每個圖像塊大小為m*n,共計(M/m)*(N/n) 塊,其中M、N有可以不是m、n的整倍數(shù),行末尾大小不足η的和列末尾大小不足m的均舍去 不計;第三步對(M/m)*(N/n)個圖像塊進行圖像塊分割,將圖像塊分成Tl行T2列,其中 Tl = M/m, T2 = Ν/η。這樣完成了載體圖像的預(yù)處理。(2)水印預(yù)處理水印預(yù)處理分為四個步驟來完成,分別是第一步對原始水印 進行編碼,得到Ll位二進制水印信息,此二進制水印信息經(jīng)過糾錯編碼,得到L2位水印信 息,目的就是防止在編碼時出現(xiàn)錯誤,如果出現(xiàn)編碼錯誤,可以檢測出錯誤所在處并且進行 糾錯;第二步L2位水印信息經(jīng)過加水印頭,得到WT位偽水印信息,加水印頭的作用是確定水印信息的順序,在實現(xiàn)過程中,水印頭長度和Li、L2并沒有特殊的關(guān)系,水印頭是由用戶 設(shè)定不固定長度的二進制信息,一般比較明顯,可以很簡單的判定出水印頭的位置,一般將 水印頭加在水印信息的頭部;第三步對WT位偽水印信息進行分塊,每塊大小為a位,共分 成WT/a塊,此處在選取a的時候,盡量使其滿足WT為a的倍數(shù),分塊作用是在水印嵌入時 將一個水印塊對應(yīng)嵌入到一個圖像塊中,相當(dāng)于一個圖像塊中嵌入a位偽水印信息;第四 步再對水印信息塊分割,分成WTl行WT2列,即WT1*WT2 = WT/a,之所以對水印信息塊進 行分割,主要是為了在提取水印信息時可以比較方便的去選取固定數(shù)量的圖像塊,亦即是 選取WTl行WT2列圖像塊,從中提取出WTl行WT2列偽水印信息。這樣就完成了水印信息 預(yù)處理。(3)嵌入將每一個水印信息塊按照一定的嵌入規(guī)則嵌入到相應(yīng)的每個載體圖 像塊中,具體的嵌入規(guī)則是第一行圖像塊,第一個圖像塊嵌入第一個水印信息塊,隨后增 加一循環(huán)嵌入,直到行末尾;第二行圖像塊,第一個圖像塊嵌入第1+WT2個水印信息塊,其 他同第一行一樣增加一循環(huán)嵌入,直到行末尾;在隨后的每行中首位嵌入的水印信息塊初 始為前一行首位嵌入的水印信息塊加WT2,直到WTl行;第n*WTl+l行和第一行一樣,第 n*WTl+2行和第二行一樣……第n*WTl+WTl-l行和第WTl-I行一樣,直到第Tl行。循環(huán)嵌 入直到每個圖像塊中都嵌入一個水印信息塊。另外在嵌入時,嵌入規(guī)則是唯一的,必須按照 上述規(guī)則嵌入,因為在對水印信息處理時在其頭部加入了水印頭,按照上述規(guī)則嵌入,只要 能找到水印頭就能完整的提取出全部水印信息,其他的水印嵌入規(guī)則在這里不適用。另外, 嵌入方法隨意,可以是DCT、FFT和小波變換等方法,不同的方法的效率也不同,這里就不限 定具體的方法。最后將全部圖像塊按照原來的順序重新排列組合,得到帶水印圖像。水印提取過程(1)圖像塊選取圖像塊提取分為三個步驟來完成,分別是第一步對經(jīng)攻擊后 圖像大小進行重新調(diào)整,變?yōu)镸*N,這里對圖像大小再次進行重新調(diào)整,是為了與之前的載 體圖像預(yù)處理中的重新調(diào)整形成對應(yīng),二者綜合實施可以更有效的抵抗縮放攻擊,這里的 M、N和之前的M、N大小相同;第二步對調(diào)整后圖像進行分塊,每個圖像塊大小為m*n,這里 的分塊大小m、η與載體圖像預(yù)處理中的分塊大小m、η相等,這樣是為了保證從每個圖像塊 中能夠提取出嵌入的水印信息;第三步選擇WT/a個圖像塊,圖像塊選取規(guī)則是選取連續(xù) 的未被攻擊的WTl行WT2列圖像塊,共計WT1*WT2 = WT/a個。(2)提取水印首先依次從每個圖像塊中提取出嵌入的一個a位水印信息塊,則 WT/a個圖像塊就能得到WT/a個a位的偽水印信息塊,將WT/a個偽水印信息塊排列在一行 上,就能得到WT位亂序的偽水印信息。(3)水印處理水印處理分為四個步驟來完成,分別是第一步從WT位亂序的 偽水印信息中查找水印頭,因為水印頭信息比較明顯,所以很容易找到;第二步找到水印 頭以后,按照水印頭進行排序,因為加水印頭的時候,將其加在了水印信息的頭部,所以可 以直接將水印頭前面的水印信息轉(zhuǎn)移到末尾,從而得到了順序的偽水印信息;第三步完 成了排序后,將水印頭信息去掉,得到L2位水印信息;第四步糾錯編碼,因為在提取水印 信息時可能出現(xiàn)微量的錯誤,經(jīng)過糾錯編碼可以將錯誤消除,進而得到Ll位二進制水印信 息,進行解碼后得到原始水印。本發(fā)明是一種解決方案,將具體長度的二值水印信息經(jīng)過處理變換得到偽水印,將偽水印信息嵌入到載體圖像中,完成水印嵌入過程。根據(jù)經(jīng)過攻擊后得到的帶水印圖像 從中提取出水印信息,完成水印提取過程。另外,只要在最后得到的帶水印圖像中能夠提取 出足夠數(shù)量的圖像塊,即可從每個圖像塊中提取出相應(yīng)長度的水印信息,進而得到原始水 印信息,這樣此方案就能很有效的抵抗裁剪攻擊。發(fā)明特點
, WTIa1.能夠抵抗裁剪攻擊,裁剪掉的比例可以達到P裁剪位置任意,其 中WT、a、M、m、N、n的含義見具體實施例。2.能夠抵抗縮放攻擊,而且這種縮放可以是長寬不等比的縮放。3.能夠同時抵抗裁剪和縮放攻擊,以及其他常見攻擊的復(fù)合攻擊,這些常見攻擊 包括濾波、加噪、壓縮等。4.提取出的水印信息誤碼率為0。5.可以用圖像做水印,也可以用序列號等其他能夠二值化的內(nèi)容做水印。
圖1 嵌入過程圖2:載體圖像預(yù)處理圖3 水印預(yù)處理圖4 嵌入規(guī)則圖5 提取過程圖6 選取規(guī)則圖7 提取水印圖8 水印處理圖9 原始載體圖像圖10:帶水印圖像圖11 裁剪且非等比縮放后帶水印圖像
具體實施例方式其具體的實施過程如下圖1是水印的嵌入過程,首先,原始載體圖像經(jīng)過載體預(yù)處理得到中間載體圖像, 原始水印信息經(jīng)過水印預(yù)處理得到偽水印信息,然后再將偽水印信息經(jīng)過一定的嵌入規(guī)則 嵌入到中間載體圖像中,進而得到帶水印圖像。其中總體包括載體預(yù)處理、水印預(yù)處理和水 印嵌入規(guī)則這三個技術(shù)要點。圖2是載體圖像預(yù)處理,首先,先對原始載體圖像進行重新調(diào)整,轉(zhuǎn)變?yōu)榇笮?M*N的中間載體圖像,然后對中間載體圖像進行分塊,每個圖像塊大小為m*n,共計(M/ m)*(N/n)塊(其中,M、N有可能不是m、η的整倍數(shù),行末尾大小不足η的和列末尾大小不 足m的均舍去),然后對(M/m)*(N/n)個圖像塊進行圖像塊分割,將圖像塊分成Tl行T2列, 其中T1 = M/m,T2 = Ν/η。其中總體包括圖像大小重新調(diào)整、圖像分塊、圖像塊分割這三個 技術(shù)要點。
圖3是水印預(yù)處理過程,首先對原始水印進行編碼,得到Ll位二進制水印信息,此 二進制水印信息經(jīng)過糾錯編碼,得到L2位水印信息(目的就是防止在編碼時出現(xiàn)錯誤,如 果出現(xiàn)編碼錯誤,可以檢測出錯誤所在處并且進行糾錯),然后L2位水印信息經(jīng)過加水印 頭,得到WT位偽水印信息(加水印頭的作用是確定水印信息的順序,在實現(xiàn)過程中,水印頭 是由用戶設(shè)定的固定長度的二進制信息,一般比較明顯,可以很簡單的判定出水印頭的位 置,一般將水印頭加在水印信息的頭部)。然后對WT位偽水印信息進行分塊,每塊大小為a 位,共分成WT/a塊(此處在選取a的時候,盡量使其滿足WT為a的倍數(shù),分塊作用是在水 印嵌入時將一個水印塊對應(yīng)嵌入到一個圖像塊中,相當(dāng)于一個圖像塊中嵌入a位偽水印信 息),最后再對水印信息塊分割,分成WTl行WT2列,即WT1*WT2 = WT/a(之所以對水印信 息塊進行分割,主要是為了在提取水印信息時可以比較方便的去選取一個固定大小的圖像 塊,這里可以選取一個WTl行WT2列的圖像塊,從中提取出WTl行WT2列的偽水印信息)。圖4是水印嵌入規(guī)則,在水印嵌入時,一個水印信息塊嵌入到一個圖像塊中,亦 即一個圖像塊中嵌入a位偽水印信息。其嵌入規(guī)則為第一行圖像塊,第一個圖像塊嵌 入第一個水印信息塊,隨后增加一循環(huán)嵌入,直到行末尾;第二行圖像塊,第一個圖像塊嵌 入第1+WT2個水印信息塊,其他同第一行一樣增加一循環(huán)嵌入,直到行末尾;在隨后的每 行中首位嵌入的水印信息塊初始為前一行首位嵌入的水印信息塊加WT2,直到WTl行;第
n*WTl+l行和第一行一樣,第n*WTl+2行和第二行一樣......第n*WTl+WTl_l行和第WTl-I行
一樣,直到第Tl行。循環(huán)嵌入直到每個圖像塊中都嵌入一個水印信息塊。偽水印信息嵌入 時,嵌入方法任意,可以是FFT、DCT等。最后將分散的圖像塊按照原來順序進行重新組合, 得到嵌入水印后的帶水印圖像。其中總體包括水印嵌入規(guī)則、圖像塊組合這兩個技術(shù)要點。圖5是水印的提取過程,首先從經(jīng)過攻擊后的帶水印圖像中按照一定的規(guī)則提取 出偽水印信息,偽水印信息再經(jīng)過水印處理就能得到原始水印信息。其中總體包括偽水印 信息的提取規(guī)則、水印信息的處理這兩個技術(shù)要點。圖6是圖像塊的選取,首先對經(jīng)攻擊后圖像大小進行重新調(diào)整,變?yōu)镸*N,然后對 調(diào)整后圖像進行分塊,每個圖像塊大小為m*n,在提取水印信息前,要先選擇WT/a個圖像 塊,圖像塊選取規(guī)則是選取連續(xù)的未被攻擊的WTl行WT2列圖像塊,共計WT1*WT2 = WT/a 個。圖7是從圖像塊中提取出水印信息,首先從每個圖像塊中提取出a位水印信息,則 WT/a個圖像塊就能得到WT/a個a位的偽水印信息塊,將WT/a個偽水印信息塊排列在一行 上,就能得到WT位亂序的偽水印信息。其中總體包括水印信息提取、水印信息塊排列這兩 個技術(shù)要點。圖6和圖7實現(xiàn)了從圖像塊中提取出亂序的偽水印信息。圖八是偽水印信息的處理過程,首先從WT位亂序的偽水印信息中查找水印頭,因 為水印頭信息比較明顯,所以很容易找到,找到水印頭以后,按照水印頭進行排序,因為加 水印頭的時候,將其加在了水印信息的頭部,所以可以直接將水印頭前面的水印信息轉(zhuǎn)移 到末尾,從而得到了順序的偽水印信息,然后將水印頭信息去掉,得到L2位水印信息,另外 在提取水印信息時可能出現(xiàn)微量的錯誤,經(jīng)過糾錯編碼可以將錯誤消除,進而得到Ll位二 進制水印信息,進行解碼后得到原始水印。其中總體包括偽水印信息排序、糾錯編碼、解碼 這三個技術(shù)要點。
其中圖1、2、3、4實現(xiàn)了水印信息的嵌入,圖5、6、7、8實現(xiàn)了水印信息的提取。圖9是原始載體圖像,原始大小為600*900,經(jīng)過重新調(diào)整后大小變?yōu)镸*N = 480*480,對調(diào)整后圖像進行分塊,每塊大小為m*n = 8*8,則共計08O/8)^K48O/8)= 60*60 = 3600個圖像塊,共Tl = 60行T2 = 60列個圖像塊。圖10是帶水印圖像,此時水印信息已經(jīng)嵌入到載體圖像中了,原始水印信息長度 為Ll = 32位,經(jīng)過糾錯編碼變?yōu)長2 = 48位,加12位水印頭形成WT = 60位偽水印信息, 每個圖像塊中嵌入一位水印信息,即a = 1,則形成了 60個水印信息塊,水印信息塊分割后 得到WT1 = 6行WT2 = 10列,將每個水印信息塊按照嵌入規(guī)則對應(yīng)嵌入到相應(yīng)的載體圖像 塊中,嵌入完成后,將所有的載體圖像塊按照順序重新組合,即得到帶水印圖像。圖11是裁剪且非等比縮放后帶水印圖像,帶水印圖像經(jīng)過裁剪和非等比縮放后 就形成經(jīng)攻擊后圖像,對攻擊后圖像進行一些相應(yīng)的處理,可以從中提取出原水印信息。案例一、水印嵌入過程(1)載體圖像預(yù)處理原始載體圖像大小為600*900,經(jīng)過重新調(diào)整后大小變?yōu)?M*N = 480*480,這里在選擇Μ、N時沒有特殊的要求,對調(diào)整后圖像進行分塊,每塊大小為 m*n = 8*8,這里在選擇m、n時也沒有特殊的要求,則共計(480/8) * (480/8) = 60*60 = 3600 個圖像塊,共Tl = 60行T2 = 60列圖像塊。(2)水印預(yù)處理水印預(yù)處理分為四個步驟來完成,分別是第一步原始水印信 息為 10101100101111001101001000010001,長度為 Ll = 32 位,經(jīng)過糾錯編碼變?yōu)?L2 = 48 位;第二步在48位水印信息頭部加12位水印頭形成WT = 60位偽水印信息,這里水印頭 長度和Li、L2并沒有特殊的關(guān)系,但是水印頭信息長度不宜過短,如果過短,在后面提取過 程查找水印頭可能會發(fā)生“碰撞”,以至于很難確定水印頭的位置。水印頭信息只要能夠容 易識別就可以,由用戶完全決定。第三步嵌入時,這里選擇每個圖像塊中嵌入一位水印信 息,即a = 1,則形成了 60個水印信息塊,當(dāng)然,a的選擇并不是固定的,但必須是60的因 子。第四步水印信息塊分害I],將水印信息塊分成WTl = 6行WT2 = 10列,這里WTl和WT2 的選擇也沒有特殊的要求,只要滿足WT1*WT2 = WT = 60即可。(3)嵌入按照上述嵌入規(guī)則,將每一個水印信息塊嵌入到相應(yīng)的每個載體圖像 塊中,嵌入方法任意,可以是FFT、DCT也可是小波變換。這樣60個水印信息塊就均勻的分 布在每個載體圖像塊中了,最后再將全部圖像塊按照順序重新排列組合,得到帶水印圖像。二、水印提取過程(1)圖像塊選取經(jīng)攻擊后圖像大小為500*600,大小經(jīng)重新調(diào)整后變?yōu)镸*N = 480*480,這里M、N的選擇是為了和載體圖像預(yù)處理中的M、N相對應(yīng),主要是為了抵抗縮放 攻擊;將帶水印圖像進行分塊,每塊大小為m*n = 8*8,這里的分塊大小m、η與載體圖像預(yù) 處理中的分塊大小m、η相等,這樣是為了保證從每個圖像塊中能夠正確的提取出嵌入的水 印信息;最后從中選取連續(xù)的未被攻擊的WTl = 6行WT2 = 10列圖像塊(2)提取水印從每一個選取的圖像塊中提取出一個水印信息塊,就能得到60個 水印信息塊,將這些水印信息塊依次排列在一行上,因為每個水印信息塊中包含一位水印 信息,即a = 1,因此能得到60位“亂序”的偽水印信息(3)水印處理從WT = 60位“亂序”的偽水印信息中找出水印頭,因為水印頭信息很明顯,所以能很容易找到,找到后,將水印頭前面的二進制信息碼移到水印信息末尾, 然后再去掉水印頭,得到L2 = 48位水印信息。在上述過程中可能會出現(xiàn)一些錯誤,所以再 經(jīng)過糾錯編碼,就能得到Ll = 32位原水印信息10101100101111001101001000010001。因 此,此方法可以完整無誤的提取出原水印信息。 在該實施案例中,帶水印圖像經(jīng)過裁剪且非等比縮放攻擊后,仍可以從中完整的 提取出原水印信息,可見,上述方案可以很有效的抵抗裁剪攻擊和縮放攻擊。另外現(xiàn)有的一 些數(shù)字水印方案,雖然能夠抵抗裁剪攻擊,但是存在一定的誤碼率,并且對原水印信息有一 定的要求,比如說原水印信息是一幅圖像,提取出來的水印可能是不完整的,提取出來的水 印信息只是一個大體的框架構(gòu)型,確定出圖像的版權(quán)所有就行了。但是,本方案可以完整的 將水印信息全部提取出來,并且誤碼率為0,另外,對水印信息沒有要求,可以是任何能夠轉(zhuǎn) 變?yōu)橐欢ㄩL度的二進制信息的水印信息。
權(quán)利要求
1. 一種能同時抵抗多種攻擊的數(shù)字水印方法,其特征在于,依次包括水印嵌入過程以 及水印提取過程,具體過程如下水印嵌入過程(1)載體圖像預(yù)處理載體圖像預(yù)處理分為三個步驟來完成,分別是第一步對原始 載體圖像大小進行重新調(diào)整,轉(zhuǎn)變?yōu)榇笮镸*N的中間載體圖像,其中M和N不是固定的; 第二步對中間載體圖像進行分塊,每個圖像塊大小為m*n,共計(M/m)*(N/n)塊,其中M、N 如果不是m、η的整倍數(shù),行末尾大小不足η的和列末尾大小不足m的均舍去不計;第三步 對(M/m)*(N/n)個圖像塊進行圖像塊分割,將圖像塊分成Tl行T2列,其中Tl = M/m,T2 = Ν/η ;(2)水印預(yù)處理水印預(yù)處理分為四個步驟來完成,分別是第一步對原始水印進行 編碼,得到Ll位二進制水印信息,此二進制水印信息經(jīng)過糾錯編碼,得到L2位水印信息;第 二步L2位水印信息經(jīng)過加水印頭,得到WT位偽水印信息;第三步對WT位偽水印信息進 行分塊,每塊大小為a位,共分成WT/a塊,此處在選取a的時候,盡量使其滿足WT為a的倍 數(shù),分塊作用是在水印嵌入時將一個水印塊對應(yīng)嵌入到一個圖像塊中,相當(dāng)于一個圖像塊 中嵌入a位偽水印信息;第四步再對水印信息塊分割,分成WTl行WT2列,即WT1*WT2 = WT/a,從中提取出WTl行WT2列偽水印信息;(3)嵌入將每一個水印信息塊按照以下嵌入規(guī)則嵌入到相應(yīng)的每個載體圖像塊中, 具體的嵌入規(guī)則是第一行圖像塊,第一個圖像塊嵌入第一個水印信息塊,隨后增加一循環(huán) 嵌入,直到行末尾;第二行圖像塊,第一個圖像塊嵌入第1+WT2個水印信息塊,其他同第一 行一樣增加一循環(huán)嵌入,直到行末尾;在隨后的每行中首位嵌入的水印信息塊初始為前一 行首位嵌入的水印信息塊加WT2,直到WTl行;第n*WTl+l行和第一行一樣,第n*WTl+2行 和第二行一樣……第n*WTl+WTl-l行和第WTl-I行一樣,直到第Tl行;循環(huán)嵌入直到每個 圖像塊中都嵌入一個水印信息塊;將全部圖像塊按照原來的順序重新排列組合,得到帶水 印圖像;水印提取過程(1)圖像塊選取圖像塊提取分為三個步驟來完成,分別是第一步對經(jīng)攻擊后圖像 大小進行重新調(diào)整,變?yōu)镸*N,這里的M、N和之前的M、N大小相同;第二步對調(diào)整后圖像進 行分塊,每個圖像塊大小為m*n,這里的分塊大小m、η與載體圖像預(yù)處理中的分塊大小m、η 相等;第三步選擇WT/a個圖像塊,圖像塊選取規(guī)則是選取連續(xù)的未被攻擊的WTl行WT2 列圖像塊,共計WT1*WT2 = WT/a個;(2)提取水印依次從每個圖像塊中提取出嵌入的一個a位水印信息塊,則WT/a個圖 像塊就能得到WT/a個a位的偽水印信息塊,將WT/a個偽水印信息塊排列在一行上,就能得 到WT位亂序的偽水印信息;(3)水印處理水印處理分為四個步驟來完成,分別是第一步從WT位亂序的偽水印 信息中查找水印頭,;第二步找到水印頭以后,按照水印頭進行排序,將水印頭前面的水印 信息轉(zhuǎn)移到末尾,從而得到了順序的偽水印信息;第三步完成了排序后,將水印頭信息去 掉,得到L2位水印信息;第四步糾錯編碼,進而得到Ll位二進制水印信息,進行解碼后得 到原始水印。
全文摘要
一種能同時抵抗多種攻擊的數(shù)字水印方法屬于數(shù)字水印領(lǐng)域,具體涉及一種能同時抵抗裁剪、縮放、濾波、噪聲等攻擊的數(shù)字水印方法。目前已公開的大部分?jǐn)?shù)字水印技術(shù)都是只能抵抗一些普通幾何攻擊、噪聲攻擊、濾波攻擊,其中幾何攻擊并不包含裁剪攻擊,而且一次只能抵抗一種攻擊,不能抵抗多種攻擊的聯(lián)合攻擊。本發(fā)明涉及到把不同類型的水印信息嵌入到載體圖像中,包括水印的嵌入和水印的提取,其中水印是可以轉(zhuǎn)變?yōu)榫唧w長度的二值信息,要把其經(jīng)過編碼糾錯加水印頭變成一種“偽水印”,然后將得到的偽水印嵌入到載體圖像中,在提取過程中,會先得到偽水印,進而得到原水印。此方法可以有效地抵抗裁剪攻擊和圖像縮放攻擊。
文檔編號G06T1/00GK102122385SQ20111004861
公開日2011年7月13日 申請日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者姜楠, 朱小陸, 郝利剛 申請人:北京工業(yè)大學(xué)