專利名稱:一種數(shù)字水印嵌入和提取方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤指一種用于數(shù)字圖像權(quán)限管理的數(shù)字水印嵌入 和提取方法及裝置。
背景技術(shù):
隨著國際互聯(lián)網(wǎng)(Internet)技術(shù)的發(fā)展,網(wǎng)頁瀏覽器呈獻(xiàn)給用戶越來越多的圖 片、音樂和視頻供用戶使用和下載,由于其資源廉價且使用方便,不需要倉儲和庫存,交易 幾乎可以在瞬間完成,快捷便利。因此,Internet逐漸發(fā)展為一個優(yōu)秀、龐大的數(shù)字媒體發(fā) 行系統(tǒng)。互聯(lián)網(wǎng)絡(luò)加速了數(shù)字媒體的傳播,方便了用戶使用數(shù)字媒體文件,但由于網(wǎng)絡(luò)上 資源的權(quán)限保護(hù)相對薄弱,侵權(quán)行為(例如媒體文件的非法復(fù)制、盜版、隨意篡改等)變得 日益猖獗。這給媒體內(nèi)容所有者帶來了很多困擾和麻煩,尤其是電影制片廠和音樂錄制棚 等數(shù)字媒體文件的版權(quán)所有者開始高度關(guān)注并采取各種措施對版權(quán)進(jìn)行保護(hù),以保護(hù)自身 的合法權(quán)益。在圖像中嵌入數(shù)字水印作為版權(quán)保護(hù)的一種新技術(shù),越來越多的受到用戶的關(guān) 注。目前,數(shù)字水印雖然也有一些商業(yè)應(yīng)用。但由于其技術(shù)發(fā)展還不夠成熟、完善,使用數(shù) 字水印會造成圖像失真的程度比較大,而限制了其大規(guī)模應(yīng)用。尤其是一些對圖像保真要 求比較高的應(yīng)用環(huán)境中,比如醫(yī)學(xué)圖像,軍事圖像等,嵌入數(shù)字水印帶來的失真可能會誤 導(dǎo)醫(yī)生或者部隊指揮官,導(dǎo)致錯誤的操作和決定。可逆水印的使用,使得擁有水印提取和圖像恢復(fù)授權(quán)的用戶可以在對圖像進(jìn)行恢 復(fù)后得到真實的圖像。但使用起來卻很麻煩,每次使用時還必須得對數(shù)字圖像進(jìn)行恢復(fù)處 理。而對于未授權(quán)的其他用戶,則還是只能看到含有水印的、失真的圖像?,F(xiàn)有技術(shù)中,為了防止非法復(fù)制、盜版、隨意篡改等非法侵權(quán)行為而嵌入的可逆水 印,仍然會給圖像帶來較大的改變,造成較大程度的圖像失真。而對于在具有高保真要求的 應(yīng)用環(huán)境中應(yīng)用的數(shù)字圖像,較嚴(yán)重的失真給圖像使用者帶來了很多不便,因此,使得可逆 水印在數(shù)字圖像的權(quán)限管理中的應(yīng)用依然具有很大的局限性。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種數(shù)字水印嵌入和提取方法及裝置,用以解決現(xiàn)有技術(shù)中存 在的可逆水印嵌入造成數(shù)字圖像失真較大的問題。一種數(shù)字水印嵌入方法,包括將待嵌入水印的原始圖像的一維像素值向量劃分為三個分向量包含設(shè)定數(shù)量的 像素值的第一分向量和第二分向量、及包含剩余像素值的第三分向量;根據(jù)設(shè)定的水印模板將劃分出的第三分向量中的像素值劃分為若干像素值組,并 計算所述像素值組的預(yù)測值;以及根據(jù)包含像素值0的所述像素值組的預(yù)測值確定第一閾 值和根據(jù)包含像素值255的所述像素值組的預(yù)測值確定第二閾值;
將第一閾值和第二閾值采用替換的方式分別嵌入劃分出的第一分向量和第二分 向量中;并根據(jù)待嵌入的水印信息以及從第一分向量和第二分向量中替換出的二進(jìn)制碼, 確定待嵌入二進(jìn)制碼;根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確定候選像素值組,并 計算各所述候選像素值組的預(yù)測誤差;根據(jù)所述待嵌入二進(jìn)制碼、所述預(yù)測誤差和設(shè)定的預(yù)測誤差閾值,對所述候選像 素值組進(jìn)行像素值調(diào)整。一種數(shù)字水印嵌入裝置,包括向量劃分模塊,用于將待嵌入水印的原始圖像的一維像素值向量劃分為三個分 向量包含設(shè)定數(shù)量的像素值的第一分向量和第二分向量、及包含剩余像素值的第三分向 量;預(yù)測計算模塊,用于根據(jù)設(shè)定的水印模板將劃分出的第三分向量中的像素值劃分 為若干像素值組,并計算所述像素值組的預(yù)測值;以及根據(jù)包含像素值0的所述像素值組 的預(yù)測值確定第一閾值和根據(jù)包含像素值255的所述像素值組的預(yù)測值確定第二閾值;替換模塊,用于將第一閾值和第二閾值采用替換的方式分別嵌入劃分出的第一分 向量和第二分向量中;并根據(jù)待嵌入的水印信息以及從第一分向量和第二分向量中替換出 的二進(jìn)制碼,確定待嵌入二進(jìn)制碼;誤差計算模塊,用于根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確 定候選像素值組,并計算各所述候選像素值組的預(yù)測誤差;嵌入模塊,用于根據(jù)所述待嵌入二進(jìn)制碼、所述預(yù)測誤差和設(shè)定的預(yù)測誤差閾值, 對所述候選像素值組進(jìn)行像素值調(diào)整。本發(fā)明實施例提供的數(shù)字水印嵌入和提取方法及裝置,通過將待嵌入水印的原始 圖像的一維像素值向量劃分為三個分向量;根據(jù)設(shè)定的水印模板將劃分出的第三分向量中 的像素值劃分為若干像素值組,并計算所述像素值組的預(yù)測值;根據(jù)包含像素值0的所述 像素值組的預(yù)測值確定第一閾值和根據(jù)包含像素值255的所述像素值組的預(yù)測值確定第 二閾值,將第一閾值和第二閾值采用替換的方式分別嵌入劃分出的第一分向量和第二分向 量中;并根據(jù)待嵌入的水印信息以及從第一分向量和第二分向量中替換出的二進(jìn)制碼,確 定待嵌入二進(jìn)制碼;根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確定候選像 素值組,并計算各所述候選像素值組的預(yù)測誤差;根據(jù)所述待嵌入二進(jìn)制碼、所述預(yù)測誤差 和設(shè)定的預(yù)測誤差閾值,對所述候選像素值組進(jìn)行像素值調(diào)整。通過水印模板的設(shè)置,使得 對圖像像素值的最大改變?yōu)? ;通過嵌入水印的像素值組的篩選,對圖像中像素值調(diào)整時, 能夠保證由設(shè)定比例的像素值不被改變,從而使得嵌入水印后的圖像能夠滿足高保真應(yīng)用 環(huán)境的要求,且通過上述方法嵌入的水印能夠正確提取和恢復(fù)原圖像,具有很好的應(yīng)用靈 活性。
圖1為本發(fā)明實施例中數(shù)字水印嵌入方法的流程圖;圖2為本發(fā)明實施例中對圖像進(jìn)行往復(fù)式掃描的示意圖;圖3為本發(fā)明實施例中數(shù)字水印提取方法的流程圖4為本發(fā)明實施例中數(shù)字水印嵌入裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例中數(shù)字水印提取裝置的結(jié)構(gòu)示意圖。
具體實施例方式針對現(xiàn)有技術(shù)中可逆水印嵌入時,沒有充分考慮圖像保真的要求,存在的圖像失 真問題。本發(fā)明實施例基于對圖像保真度的兩個基本要求指標(biāo)^almost-lossless”和 “near-lossless”,提供了一種數(shù)字水印嵌入和提取方法及裝置,用以解決現(xiàn)有技術(shù)中存在 的問題,使得嵌入數(shù)字水印后的圖像能夠滿足高保真應(yīng)用環(huán)境中對圖像保真度的要求。其 中,“almost-lossless”是指對圖像進(jìn)行處理時,至少要有的像素點保持不變,其中,ρ 根據(jù)保真度設(shè)定的能夠滿足保真度要求一個比例值?!皀ear-lossless”,是指對圖像進(jìn)行處 理時,對其中每個像素點像素值的最大修改只能為1。本發(fā)明實施例提供的數(shù)字水印嵌入方法,其流程如圖1所示,執(zhí)行步驟如下步驟SlO 獲取待嵌入水印的原始圖像所對應(yīng)的一維像素值向量。對待嵌入水印的原始圖像進(jìn)行往復(fù)式掃描,得到由其包含的所有像素點的像素值 組成的一維像素值向量。例如如圖2所示的一個8位灰度圖像,按照圖中帶箭頭的折線所指的路徑,對圖 像中的各像素點進(jìn)行逐一掃描,依次記錄掃描到的各像素點的像素值,得到該圖像對應(yīng)的 一維像素值向量I。步驟Sll 將得到的一維像素值向量劃分為三部分,得到三個分向量。依次獲取得到的一維像素值向量的前m個像素值組成第一分向量,然后,獲取接 下來的m個像素值組成第二分向量,剩余的像素值組成第三分向量。其中,m的大小需要考 慮選定的水印模板、以及下面確定出的第一閾值和第二閾值的二進(jìn)制碼的位數(shù)。根據(jù)像素值的取值范圍可以知道第一閾值和第二閾值不會大于255,當(dāng)水印模板 為W = (-L l·,-D,取4倍的第一閾值和第二閾值的二進(jìn)制碼,其均不會大于16位,所以一 般可以選取m為16或大于等于16的值。當(dāng)選用其他水印模板時,需要取得的倍數(shù)t可能 會不同,從而需要選擇的m值也不同。沿用上邊的例子,將圖2所示的圖像對應(yīng)的一維像素值向量劃分為三個分向量Ip 12、13。分割方法如下提取該一維像素值向量的前16個像素值,得到I1 ;提取接下來的16 個像素值,得到I2,剩余的像素值組成13。步驟S12 根據(jù)設(shè)定的水印模板,將劃分出的第三分向量中的像素值劃分為若干 像素值組。具體包括根據(jù)設(shè)定的水印模板確定每個像素值組中包含的像素值的數(shù)量,然后根據(jù)確定出 的上述數(shù)量,將第三分向量中的像素值按順序分為若干像素值組。例如設(shè)定的水印模塊為W= (_1,1,_1),則每個像素值組中包含的像素值的數(shù)量 3 ;若設(shè)定的水印模板W = (-1,-1,1,-1,-1),則每個像素值組中包含的像素值的數(shù)量5。下面以將三個像素值分為一組為例,將第三分向量中的像素值按順序每三個分成 一組,得到若干像素值組。假設(shè)第三分向量中包含η個像素值,則第三分向量分組后可以表示為Z3 =(Ci)Il
其中,Ci = (Xi, yi Zi) ;Xi = a3i_2, Yi = 卜” Zi = a3i ;k = η/3的整數(shù)部分,i為大于等于1的正整數(shù);a31_2, Ct31^, a31為第三分向量中的第3i_2,3i_l,3i三個像素值。步驟S13 計算各像素值組的預(yù)測值。根據(jù)選定的水印模板和各像素值組中包含的像素值的數(shù)量,確定一個使得嵌入水 印前后預(yù)測值能夠保持不變的預(yù)測值計算公式,使用確定出的公式計算各像素值組的預(yù)測值。例如當(dāng)設(shè)定的水印模板為W= (-1,1, -1),可以使用公式義=(\.+狄+2,)/4來計算各像素值組的預(yù)測值;容易發(fā)現(xiàn)當(dāng)嵌入水印時,使用該水印模板對像素值組中的像 素值進(jìn)行調(diào)整后,該像素值組的預(yù)測值可以保持不變。當(dāng)然,當(dāng)設(shè)定的水印模板為W = (_1,_1,1,-1,_1),也可以使用類似的公式實現(xiàn)預(yù) 測值的計算。沿用上邊的例子,對于上述劃分出的每個像素值組,由于其中包含的是三個像素 值,所以可以通過公式計算每個像素值組的預(yù)測值(也可以說是中間像 素值1的預(yù)測值)。步驟S14 根據(jù)包含像素值0的各像素值組的預(yù)測值確定第一閾值和根據(jù)包含像 素值255的各像素值組的預(yù)測值確定第二閾值。首先,確定出上述得到的像素值組中包含像素值0的第一像素值組集合和包含像 素值255的第二像素值組集合。由于本申請中是對像素值進(jìn)行加上或減去一個水印模板W的處理來實現(xiàn)嵌入水 印的,且本申請中對像素值的調(diào)整不會大于1;例如w= (1,-1,1)。對于包含像素值0和 像素值255的像素點在嵌入水印、對像素值進(jìn)行調(diào)整時,可能會出現(xiàn)小于0和大于255的 值,即其像素值可能出現(xiàn)-1或者256的情況。而這對于8位灰度圖像來說是非法的。因此 嵌入水印前需要將包含像素值0和像素值255的像素點組先剔除掉。具體為將得到的像素值組中包含像素值0的像素值組提取出來,得到第一像素值組集合 N。。即N。中包含的每個像素值組中至少有一個像素值為0。將得到的像素值組中包含像素值255的像素值組提取出來,得到第二像素值組集 合Nu。即Nu中包含的每個像素值組中至少有一個像素值為255。然后,確定出第一像素值組集合中各像素值組的預(yù)測值的最大值,作為第一閾值; 確定出第一像素值組集合中各像素值組的預(yù)測值的最小值,作為第二閾值。max Λmin Λ例如,確定出集合N。的最大值為 {少,}和凡的最小值 {只},則第一閾值Ci e I\QC,, e Jyumax Λmin Λ為 =c eNo {^,},第二閾值為 =Ci€N 。步驟S15 將確定出的第一閾值和第二閾值分別嵌入到劃分出的第一分向量和第 二分向量中?!憧梢圆捎貌捎锰鎿Q的方式嵌入。由于第一閾值和第二閾值有可能不是整數(shù), 因此,可以采用嵌入tTmin和tTmax(即t倍的Tmin和Tmax)的方式,實現(xiàn)將第一閾值和第二閾值的分別嵌入到劃分出的第一分向量和第二分向量中。其中,t根據(jù)選用的水印模板確定, 當(dāng)選用不同水印模板時,每個像素值組中的像素值個數(shù)會不同,導(dǎo)致計算預(yù)測值的計算公 式不同,因此為了保證嵌入的的值為整數(shù),需要擴(kuò)大的倍數(shù)t也不同。較佳的,可以采用替換最低有效位(Least Significant Bit, LSB)的方式實現(xiàn)。 具體為將確定出的第一閾值的t倍所對應(yīng)的二進(jìn)制碼依次替換到第一分向量的各像素 值的最低有效位LSB中;以及將確定出的第二閾值的t倍所對應(yīng)的二進(jìn)制碼依次替換到第 二分向量的各像素值的最低有效位LSB中。步驟S16 根據(jù)待嵌入的水印信息以及從第一分向量和第二分向量中替換出的二 進(jìn)制碼,確定待嵌入二進(jìn)制碼。從第一分向量和第二分向量替換出的二進(jìn)制碼,將作為后續(xù)要嵌入第三分向量中 的待嵌入二進(jìn)制碼的一部分,嵌入到第三分向量中,以便在水印提取時能夠恢復(fù)第一分向 量和第二分向量中的像素值。因此,待嵌入的二進(jìn)制碼中依次包括從第一分向量中替換出的二進(jìn)制碼、第二分 向量中替換出的二進(jìn)制碼和根據(jù)待嵌入的水印信息轉(zhuǎn)化得到的二進(jìn)制碼。例如,當(dāng)采用替換最低有效位的方式時,上述從第一分向量中替換出的二進(jìn)制碼 即為第一分向量中各像素值的最低位,從第二分向量中替換出的二進(jìn)制碼即為第二分向量 中各像素值的最低位。步驟S17 根據(jù)確定出的第一閾值、第二閾值和各像素值組的預(yù)測值,確定候選像 素值組。具體為選取預(yù)測值大于第一閾值且小于第二閾值的像素值組,組成候選像素值組。即所 選取的像素值組的預(yù)測值滿足rmin <yt <rmax。由于確定出的第一閾值為包含像素值0的像素值組的預(yù)測值的最大值,第二閾值 為包含像素值255的像素值組的預(yù)測值的最小值,因此,選取預(yù)測值大于第一閾值且小于 第二閾值的像素值組,這些像素值組中必然不包含像素值0和255。由于本申請中,對像素值的調(diào)整值不會大于1 ;因此,對這樣的像素值組的像素值 進(jìn)行調(diào)整處理(加上或減去W)后,不會出現(xiàn)像素值小于0和大于255的情況。步驟S18 計算確定出的各候選像素值組的預(yù)測誤差。根據(jù)設(shè)定的水印模板確定計算預(yù)測誤差時所需要的像素值組中的參照像素點。例 如當(dāng)水印模板為W= (-1,1,-1)或W= (-1,-1,1,-1,-1)時,選擇水印模板中像素值調(diào) 整量為1的中間像素點作為參照像素點。將參照像素點的像素值減去該像素值組的預(yù)測值得到的差值作為預(yù)測誤差。各像 素值組的預(yù)測誤差Cli的計算公式如下dn其中,Yi為選定的參照像素點的像素值;;;,.為像素值組的預(yù)測值。步驟S19 并根據(jù)確定出的待嵌入二進(jìn)制碼、預(yù)測誤差和設(shè)定的預(yù)測誤差閾值,對候選像素值組進(jìn)行像素值調(diào)整,實現(xiàn)水印的嵌入。根據(jù)計算出的預(yù)測誤差,選擇預(yù)測誤差絕對值大于等于N-I且小于N的像素值組, 依次嵌入需嵌入的水印信息的二進(jìn)制碼。嵌入水印信息時,對各像素值組像素值的改變是 通過加減水印模板W= (-1,1,-1)來實現(xiàn)的。注由于預(yù)測值是通過公式^計算得到的,所以再加減水印模板 后每個像素值組Ci的預(yù)測值λ是保持不變的。也就是說首先需要依次將每個候選像素值組的預(yù)測誤差絕對值與預(yù)測誤差閾值 N進(jìn)行比較。若候選像素值組的預(yù)測誤差絕對值小于Ν-1,則確定該像素值組中不嵌入待嵌入 的二進(jìn)制碼,且不對該像素值組中的像素值進(jìn)行調(diào)整。若候選像素值組的預(yù)測誤差絕對值大于等于N-I且小于N,則確定該像素值組中 嵌入待嵌入的二進(jìn)制碼;且根據(jù)需嵌入的二進(jìn)制碼的值和預(yù)測誤差,確定不對該像素值組 中的像素值進(jìn)行調(diào)整,或?qū)υ撓袼刂到M進(jìn)行加上或減去水印模板的調(diào)整。若候選像素值組的預(yù)測誤差絕對值大于等于N,則確定該像素值組中不嵌入待嵌 入的二進(jìn)制碼,且根據(jù)預(yù)測誤差,對該像素值組進(jìn)行加上或減去所述水印模板的調(diào)整。即嵌入水印時,對各像素值組中像素值的修改滿足下列關(guān)系式其中,C「表示對像素值組Ci進(jìn)行像素值調(diào)整后的像素值組;sign (Cli)表示Cli值的正負(fù)符號;b為需嵌入的水印信息中的一個二進(jìn)制碼。上式表明,攜帶水印信息的像素值組為滿足限制條件N-I ( IdiI <N的像素值組, 而為了避免嵌入水印信息之后,含有水印信息像素值組的預(yù)測誤差Cli和未嵌入水印信息的 像素值組的預(yù)測誤差Cli沖突,必需把所有I Cli I ^ N的像素值組的像素值進(jìn)行調(diào)整,以改變 其預(yù)測誤差。采用本發(fā)明實施例提供的上述水印嵌入方法嵌入水印信息后,即對像素值進(jìn)行調(diào) 整后第三分向量13中各像素值組的預(yù)測誤差的分布,可以包括下列四種情況(1)若果某個像素值組的預(yù)測誤差< e (-(#-l),iV-l),則說明該像素值組中的像 素值沒有被修改,且該像素值組也未攜帶水印信息。(2)若果某個像素值組的預(yù)測誤差< e[iV-l,iV),則說明該像素值組中的像素值 沒有被修改,且該像素值組攜帶的水印信息為二進(jìn)制碼b = 0。(3)若果某個像素值組的預(yù)測誤差+ ,則說明該像素值組加上或減去 了一個水印模板W,即像素值被修改了,且該像素值組攜帶的水印信息為二進(jìn)制碼b = 1。(4)若果某個像素值組的預(yù)測誤差< e[iV + l,oo),則說明該像素值組加上或減去 了一個水印模板W,即像素值被修改了,且該像素值組也未攜帶水印信息。本發(fā)明實施例還提供的一種數(shù)字水印提取方法,用于提取通過上述提供的數(shù)字水 C;C, CiCi +Sign(Cii)-W, C^sign(Jdi)-W,ifif N-\<\d\<N and b = 0\ if N-\<\d\<N and b = \\ if Kl ^ A^;印嵌入方法嵌入圖像中的水印,恢復(fù)原始圖像。其流程如圖3所示,執(zhí)行步驟如下步驟S20 獲取已嵌入水印的圖像所對應(yīng)的一維像素值向量。對已嵌入水印的圖像進(jìn)行往復(fù)式掃描,得到由其包含的所有像素點的像素值組成 的一維像素值向量。具體實現(xiàn)過程同步驟S10,此處不再贅述。步驟S21 采用與嵌入水印時相同的劃分方式,將得到的一維像素值向量劃分為 三部分,得到三個分向量。其中,第一分向量和第二分向量中包含設(shè)定數(shù)量的像素值,第三 分向量中包含劃分出第一分向量和第二分向量后剩余的像素值。例如依次獲取一維像素值向量的前m個值和接下來的m個值,分別組成第一分向 量和第二分向量,剩余的像素值組成第三分向量;即將獲取的一維像素值向量劃分為三個 分向量Γ、/;、廠。其中,m與嵌入水印時的取值相同。具體實現(xiàn)過程同步驟S11,此處不再贅述。步驟S22 根據(jù)嵌入水印時使用的水印模板,將劃分出的第三分向量中的像素值 劃分為若干像素值組。根據(jù)嵌入水印時使用的水印模板確定每個像素值組中包含的像素值的數(shù)量,然后 根據(jù)確定出的上述數(shù)量,將第三分向量中的像素值按順序分為若干像素值組。例如設(shè)定的水印模塊為W= (-1,1,-1),則每個像素值組中包含的像素值的數(shù)量 3 ;若設(shè)定的水印模板W = (-1,-1,1,-1,-1),則每個像素值組中包含的像素值的數(shù)量5。下面以將三個像素值分為一組為例,將第三分向量中的像素值按順序每三個分成 一組,得到若干像素值組。假設(shè)第三分向量中包含η個像素值,則第三分向量分組后可以表示為r = {cnU其中,C<=< ;k = η/3的整數(shù)部分,i為大于等于1的正整數(shù);’ <_,,<為第三分向量中的第3i-2,3i_l,3i三個像素值。步驟S23 計算上述確定出的像素值組的預(yù)測值。根據(jù)嵌入水印時使用的預(yù)測值計算公式。沿用上邊的例子,當(dāng)嵌入水印時使用的水印模板為W = (-1,1,_1),所使用的計算 公式為乃=(χ. + 2少+ /4。則將嵌入水印后的第三分向量中各像素值組的像素值帶入上述公式中,即可以通 過公式;^ = (χ;計算每個像素值組的預(yù)測值。且嵌入水印后計算出的預(yù)測值 與嵌入水印前計算出的預(yù)測值相同。步驟S24:根據(jù)嵌入水印時所采用的替換方式,從劃分出的第一分向量和第二分 向量中提取出第一閾值和第二閾值其中,由于為了保證嵌入時的值為整數(shù),在將第一閾值和第二閾值嵌入時,嵌入的 是第一閾值和第二閾值的t倍,因此,提取出嵌入的二進(jìn)制碼后需要作除以t的處理后,確 定出第一閾值和第二閾值。
當(dāng)嵌入水印時,采用替換最低有效位的方式將第一閾值和第二閾值嵌入到第一分 向量和第二分向量中時,則從嵌入水印后的第一分向量中依次提取出其各像素值的最低有 效位LSB,并確定由提取出的最低有效位組成的二進(jìn)制碼的Ι/t為第一閾值;以及從嵌入水 印后的第二分向量中依次提取出其各像素值的最低有效位LSB,并確定由提取出的最低有 效位組成的二進(jìn)制碼的Ι/t為第二閾值。其中,t根據(jù)所述水印模板確定,與嵌入水印時的 取值相同。即得到嵌入水印時,嵌入第一分向量和第二分向量中的第三分向量中包含像素值 0的像素值組的預(yù)測值的最大值Tmin和包含像素值255的像素值組的預(yù)測值的最小值Tmax。步驟S25 根據(jù)提取出的第一閾值、第二閾值和各像素值組的預(yù)測值,確定候選像 素值組。選取預(yù)測值大第一閾值且小于第二閾值的像素值組,組成候選像素值組。即所選 取的像素值組的預(yù)測值滿足
權(quán)利要求
1.一種數(shù)字水印嵌入方法,其特征在于,包括將待嵌入水印的原始圖像的一維像素值向量劃分為三個分向量包含設(shè)定數(shù)量的像素 值的第一分向量和第二分向量、及包含剩余像素值的第三分向量;根據(jù)設(shè)定的水印模板將劃分出的第三分向量中的像素值劃分為若干像素值組,并計算 所述像素值組的預(yù)測值;以及根據(jù)包含像素值0的所述像素值組的預(yù)測值確定第一閾值和 根據(jù)包含像素值255的所述像素值組的預(yù)測值確定第二閾值;將第一閾值和第二閾值采用替換的方式分別嵌入劃分出的第一分向量和第二分向量 中;并根據(jù)待嵌入的水印信息以及從第一分向量和第二分向量中替換出的二進(jìn)制碼,確定 待嵌入二進(jìn)制碼;根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確定候選像素值組,并計算 各所述候選像素值組的預(yù)測誤差;根據(jù)所述待嵌入二進(jìn)制碼、所述預(yù)測誤差和設(shè)定的預(yù)測誤差閾值,對所述候選像素值 組進(jìn)行像素值調(diào)整。
2.如權(quán)利要求1所述的方法,其特征在于,所述將待嵌入水印的原始圖像的一維像素 值向量劃分為三個分向量,具體包括對所述原始圖像進(jìn)行往復(fù)式掃描,得到由其包含的所有像素點的像素值組成的一維像 素值向量;依次獲取該一維像素值向量的前m個像素值和接下來的m個像素值,組成第一分向量 和第二分向量,剩余的像素值組成第三分向量;其中,所述m根據(jù)所述水印模板、第一閾值 和第二閾值的二進(jìn)制碼的位數(shù)確定。
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)設(shè)定的水印模板將劃分出的第三 分向量中的像素值劃分為若干像素值組,具體包括根據(jù)設(shè)定的水印模板確定每個像素值組中包含的像素值的數(shù)量;根據(jù)確定出的所述數(shù)量,將所述第三分向量中的像素值按順序分為若干像素值組。
4.如權(quán)利要求3所述的方法,其特征在于,所述計算所述像素值組的預(yù)測值,具體包括根據(jù)所述水印模板和各像素值組中包含的像素值的數(shù)量,確定一個使得嵌入水印前后 預(yù)測值能夠保持不變的預(yù)測值計算公式,使用確定出的公式計算各像素值組的預(yù)測值。
5.如權(quán)利要求1所述的方法,其特征在于,所述第一閾值為包含像素值0的所述像素 值組的預(yù)測值的最大值;所述第二閾值為包含像素值255的所述像素值組的預(yù)測值的最小值。
6.如權(quán)利要求1所述的方法,其特征在于,將第一閾值和第二閾值的分別嵌入劃分出 的第一分向量和第二分向量中,具體包括將確定出的第一閾值的t倍所對應(yīng)的二進(jìn)制碼依次替換到所述第一分向量的各像素 值的最低有效位LSB中;以及將確定出的第二閾值的t倍所對應(yīng)的二進(jìn)制碼依次替換到所述第二分向量的各像素 值的最低有效位LSB中;所述t根據(jù)所述水印模板確定。
7.如權(quán)利要求1所述的方法,其特征在于,所述確定候選像素值組,具體包括選取預(yù)測值大于所述第一閾值且小于所述第二閾值的所述像素值組,組成所述候選像素值組。
8.如權(quán)利要求1所述的方法,其特征在于,所述計算各所述候選像素值組的預(yù)測誤差, 具體包括根據(jù)設(shè)定的水印模板確定計算所述預(yù)測誤差時所需要的像素值組中的參照像素點,將 所述參照像素點的像素值減去該像素值組的預(yù)測值得到的差值作為所述預(yù)測誤差。
9.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述待嵌入二進(jìn)制碼、所述預(yù)測誤 差和設(shè)定的預(yù)測誤差閾值,對所述候選像素值組進(jìn)行像素值調(diào)整;具體包括依次將每個所述候選像素值組的預(yù)測誤差絕對值與所述預(yù)測誤差閾值N進(jìn)行比較; 若所述候選像素值組的預(yù)測誤差絕對值小于N-1,則確定該像素值組中不嵌入所述待 嵌入的二進(jìn)制碼,且不對該像素值組中的像素值進(jìn)行調(diào)整;若所述候選像素值組的預(yù)測誤差絕對值大于等于N-I且小于N,則確定該像素值組中 嵌入所述待嵌入的二進(jìn)制碼;且根據(jù)需嵌入的二進(jìn)制碼的值和所述預(yù)測誤差,確定不對該 像素值組中的像素值進(jìn)行調(diào)整,或?qū)υ撓袼刂到M進(jìn)行加上或減去所述水印模板的調(diào)整;若所述候選像素值組的預(yù)測誤差絕對值大于等于N,則確定該像素值組中不嵌入所述 待嵌入的二進(jìn)制碼,且根據(jù)所述預(yù)測誤差,對該像素值組進(jìn)行加上或減去所述水印模板的 調(diào)整。
10.如權(quán)利要求1-9任一所述的方法,其特征在于,所述待嵌入二進(jìn)制碼中依次包括 從第一分向量中替換出的二進(jìn)制碼、第二分向量中替換出的二進(jìn)制碼以及所述水印信息轉(zhuǎn) 化得到的二進(jìn)制碼。
11.一種數(shù)字水印嵌入裝置,其特征在于,包括向量劃分模塊,用于將待嵌入水印的原始圖像的一維像素值向量劃分為三個分向量 包含設(shè)定數(shù)量的像素值的第一分向量和第二分向量、及包含剩余像素值的第三分向量;預(yù)測計算模塊,用于根據(jù)設(shè)定的水印模板將劃分出的第三分向量中的像素值劃分為若 干像素值組,并計算所述像素值組的預(yù)測值;以及根據(jù)包含像素值0的所述像素值組的預(yù) 測值確定第一閾值和根據(jù)包含像素值255的所述像素值組的預(yù)測值確定第二閾值;替換模塊,用于將第一閾值和第二閾值采用替換的方式分別嵌入劃分出的第一分向量 和第二分向量中;并根據(jù)待嵌入的水印信息以及從第一分向量和第二分向量中替換出的二 進(jìn)制碼,確定待嵌入二進(jìn)制碼;誤差計算模塊,用于根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確定候 選像素值組,并計算各所述候選像素值組的預(yù)測誤差;嵌入模塊,用于根據(jù)所述待嵌入二進(jìn)制碼、所述預(yù)測誤差和設(shè)定的預(yù)測誤差閾值,對所 述候選像素值組進(jìn)行像素值調(diào)整。
12.如權(quán)利要求11所述的裝置,其特征在于,所述向量劃分模塊,具體包括向量組成單元,用于對所述原始圖像進(jìn)行往復(fù)式掃描,得到由其包含的所有像素點的 像素值組成的一維像素值向量;劃分單元,用于依次獲取該一維像素值向量的前m個像素值和接下來的m個像素值,組 成第一分向量和第二分向量,剩余的像素值組成第三分向量;其中,所述m根據(jù)所述水印模 板、第一閾值和第二閾值的二進(jìn)制碼的位數(shù)確定。
13.如權(quán)利要求11所述的裝置,其特征在于,所述預(yù)測計算模塊,具體包括數(shù)量確定單元,用于根據(jù)設(shè)定的水印模板確定每個像素值組中包含的像素值的數(shù)量;分組單元,用于根據(jù)所述數(shù)量確定單元確定出的所述數(shù)量,將所述第三分向量中的像 素值按順序分為若干像素值組;預(yù)測計算單元,用于根據(jù)所述水印模板和各像素值組中包含的像素值的數(shù)量,確定一 個使得嵌入水印前后預(yù)測值能夠保持不變的預(yù)測值計算公式,使用確定出的公式計算各像 素值組的預(yù)測值;閾值確定單元,用于確定包含像素值0的像素值組的預(yù)測值的最大值作為第一閾值, 以及確定包含像素值255的像素值組的預(yù)測值的最小值作為第二閾值。
14.如權(quán)利要求11所述的裝置,其特征在于,所述替換模塊,具體包括閾值嵌入單元,用于將確定出的第一閾值的t倍所對應(yīng)的二進(jìn)制碼依次替換到所述第 一分向量的各像素值的最低有效位LSB中;以及將確定出的第二閾值的t倍所對應(yīng)的二進(jìn) 制碼依次替換到所述第二分向量的各像素值的最低有效位LSB中;其中,t根據(jù)設(shè)定的水印 模板確定;信息確定單元,用于從第一分向量中替換出的二進(jìn)制碼、第二分向量中替換出的二進(jìn) 制碼以及所述待嵌入的水印信息轉(zhuǎn)化得到的二進(jìn)制碼,確定出所述待嵌入二進(jìn)制碼。
15.如權(quán)利要求11所述的裝置,其特征在于,所述誤差計算模塊,具體包括選取確定單元,用于選取預(yù)測值大于所述第一閾值且小于所述第二閾值的所述像素值 組,組成所述候選像素值組;誤差計算單元,用于根據(jù)設(shè)定的水印模板確定計算所述預(yù)測誤差時所需要的像素值組 中的參照像素點,將所述參照像素點的像素值減去該像素值組的預(yù)測值得到的差值作為所 述預(yù)測誤差。
16.如權(quán)利要求11-15任一所述的裝置,其特征在于,所述嵌入模塊,具體包括比較單元,用于依次將每個所述候選像素值組的預(yù)測誤差絕對值與所述預(yù)測誤差閾值 N進(jìn)行比較;調(diào)整執(zhí)行單元,用于若所述候選像素值組的預(yù)測誤差絕對值小于N-1,則確定該像素值 組中不嵌入所述待嵌入的二進(jìn)制碼,且不對該像素值組中的像素值進(jìn)行調(diào)整;若所述候選 像素值組的預(yù)測誤差絕對值大于等于N-I且小于N,則確定該像素值組中嵌入所述待嵌入 的二進(jìn)制碼,且根據(jù)需嵌入的二進(jìn)制碼的值和所述預(yù)測誤差,確定不對該像素值組中的像 素值進(jìn)行調(diào)整,或?qū)υ撓袼刂到M進(jìn)行加上或減去所述水印模板的調(diào)整;若所述候選像素值 組的預(yù)測誤差絕對值大于等于N,則確定該像素值組中不嵌入所述待嵌入的二進(jìn)制碼,且根 據(jù)所述預(yù)測誤差,對該像素值組進(jìn)行加上或減去所述水印模板的調(diào)整。
17.—種水印提取方法,其特征在于,包括采用與嵌入水印時相同的劃分方式,將已嵌入水印圖像的一維像素值向量劃分為三個 分向量;根據(jù)嵌入水印時使用的水印模板將劃分出的第三分向量中的像素值劃分為若干像素 值組,并計算所述像素值組的預(yù)測值;根據(jù)嵌入水印時所采用的替換方式,從劃分出的第一 分向量和第二分向量中提取出嵌入的第一閾值和第二閾值;根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確定候選像素值組,并計算各所述候選像素值組的預(yù)測誤差;根據(jù)所述預(yù)測誤差和嵌入水印時設(shè)定的預(yù)測誤差閾值, 從所述候選像素值組中提取出嵌入的二進(jìn)制碼并恢復(fù)各像素值組中的像素值;根據(jù)所述嵌入的二進(jìn)制碼得到嵌入的水印信息和從所述第一分向量、第二分向量中替 換出的二進(jìn)制碼;將所述替換出的二進(jìn)制碼還原至第一分向量和第二分向量中的對應(yīng)位置 處,得到原始圖像。
18.如權(quán)利要求17所述的方法,其特征在于,所述將已嵌入水印圖像的一維像素值向 量劃分為三個分向量,具體包括對所述已嵌入水印圖像進(jìn)行往復(fù)式掃描,得到由其包含的所有像素點的像素值組成的一維像素值向量;依次獲取該一維像素值向量的前m個像素值和接下來的m個像素值,組成第一分向量 和第二分向量,剩余的像素值組成第三分向量;其中,所述m與嵌入水印時的取值相同。
19.如權(quán)利要求17所述的方法,其特征在于,所述根據(jù)嵌入水印時使用的水印模板將 劃分出的第三分向量中的像素值劃分為若干像素值組,具體包括根據(jù)嵌入水印時使用的水印模板確定每個像素值組中包含的像素值的數(shù)量; 根據(jù)確定出的所述數(shù)量,將所述第三分向量中的像素值按順序分為若干像素值組。
20.如權(quán)利要求19所述的方法,其特征在于,所述計算所述像素值組的預(yù)測值,具體包括采用和嵌入水印時相同的計算公式,計算所述像素值組的預(yù)測值;所述計算公式根據(jù) 所述水印模板確定,且使得嵌入水印前后預(yù)測值能夠保持不變。
21.如權(quán)利要求17所述的方法,其特征在于,根據(jù)嵌入水印時所采用的替換方式,從劃 分出的第一分向量和第二分向量中提取出包含的第一閾值和第二閾值,具體包括從所述第一分向量中依次提取出其各像素值的最低有效位LSB,確定由提取出的最低 有效位組成的二進(jìn)制碼的Ι/t為所述第一閾值;以及從所述第二分向量中依次提取出其各像素值的最低有效位LSB,確定由提取出的最低 有效位組成的二進(jìn)制碼的Ι/t為所述第二閾值; 所述t根據(jù)所述水印模板確定。
22.如權(quán)利要求17所述的方法,其特征在于,所述確定候選像素值組,具體包括選取預(yù)測值大于所述第一閾值且小于所述第二閾值的所述像素值組,組成所述候選像素值組。
23.如權(quán)利要求17所述的方法,其特征在于,所述計算各所述候選像素值組的預(yù)測誤 差,具體包括根據(jù)嵌入水印時所使用的水印模板,確定計算所述預(yù)測誤差時所需要的像素值組中的 參照像素點,將所述參照像素點的像素值減去該像素值組的預(yù)測值得到的差值作為所述預(yù) 測誤差。
24.如權(quán)利要求17所述的方法,其特征在于,所述從所述候選像素值組中提取出嵌入 的二進(jìn)制碼,具體包括依次將每個所述候選像素值組的預(yù)測誤差絕對值與所述預(yù)測誤差閾值N進(jìn)行比較; 若所述候選像素值組的預(yù)測誤差絕對值大于等于N-I且小于N,則確定該像素值組中 嵌入的二進(jìn)制碼的值為0并提取;若所述候選像素值組的預(yù)測誤差絕對值大于等于N且小于N+1,則確定該像素值組中嵌入了二進(jìn)制碼的值為1并提取; 所述恢復(fù)各像素值組中的像素值,具體包括若所述候選像素值組的預(yù)測誤差絕對值小于N,則不對該像素值組中的像素值進(jìn)行調(diào)整;若所述候選像素值組的預(yù)測誤差絕對值大于等于N,則根據(jù)所述預(yù)測誤差,對該像素值 組中進(jìn)行減去或加上所述水印模板的調(diào)整,得到嵌入水印前的的原始像素值。
25.如權(quán)利要求17-M任一所述的方法,其特征在于,所述根據(jù)所述嵌入的二進(jìn)制碼得 到嵌入的水印信息和從所述第一分向量和第二分向量中替換出的二進(jìn)制碼,具體包括根據(jù)第一分向量和第二分向量中包含的像素值的個數(shù),依次獲取對應(yīng)數(shù)量的提取出的 二進(jìn)制碼,得到第一分向量和第二分向量中替換出的二進(jìn)制碼;以及 由提取出的剩余的二進(jìn)制碼得到嵌入的水印信息。
26.如權(quán)利要求25所述的方法,其特征在于,所述將所述替換出的二進(jìn)制碼還原至第 一分向量和第二分向量中的對應(yīng)位置處,具體包括將得到從第一分向量中替換出的二進(jìn)制碼,依次還原至第一分向量的各像素值的最低 有效位LSB中;以及將得到從第二分向量中替換出的二進(jìn)制碼,依次還原至第二分向量的各像素值的最低 有效位LSB中。
27.—種水印提取裝置,其特征在于,包括向量劃分模塊,用于采用與嵌入水印時相同的劃分方式,將已嵌入水印圖像的一維像 素值向量劃分為三個分向量;預(yù)測計算模塊,根據(jù)嵌入水印時使用的水印模板將劃分出的第三分向量中的像素值劃 分為若干像素值組,并計算所述像素值組的預(yù)測值;閾值提取模塊,用于根據(jù)嵌入水印時所采用的替換方式,從劃分出的第一分向量和第 二分向量中提取出嵌入的第一閾值和第二閾值;誤差計算模塊,用于根據(jù)所述第一閾值、第二閾值和各所述像素值組的預(yù)測值,確定候 選像素值組,并計算各所述候選像素值組的預(yù)測誤差;水印提取模塊,用于根據(jù)所述預(yù)測誤差和嵌入水印時設(shè)定的預(yù)測誤差閾值,從所述候 選像素值組中提取出嵌入的二進(jìn)制碼并恢復(fù)各像素值組中的像素值;信息還原模塊,根據(jù)所述嵌入的二進(jìn)制碼得到嵌入的水印信息和從所述第一分向量和 第二分向量中替換出的二進(jìn)制碼;將所述替換出的二進(jìn)制碼還原至第一分向量和第二分向 量中的對應(yīng)位置處,得到原始圖像。
28.如權(quán)利要求27所述的裝置,其特征在于,所述向量劃分模塊,具體包括向量生成單元,用于對所述已嵌入水印圖像進(jìn)行往復(fù)式掃描,得到由其包含的所有像 素點的像素值組成的一維像素值向量;向量劃分單元,用于依次獲取該一維像素值向量的前m個像素值和接下來的m個像素 值,組成第一分向量和第二分向量,剩余的像素值組成第三分向量;其中,所述m與嵌入水 印時的取值相同。
29.如權(quán)利要求27所述的裝置,其特征在于,所述預(yù)測計算模塊,具體包括數(shù)量確定單元,用于根據(jù)嵌入水印時使用的水印模板確定每個像素值組中包含的像素值的數(shù)量;分組單元,用于根據(jù)確定出的所述數(shù)量,將所述第三分向量中的像素值按順序分為若 干像素值組;預(yù)測計算單元,用于采用和嵌入水印時相同的計算公式,計算所述像素值組的預(yù)測值; 所述計算公式根據(jù)所述水印模板確定,且使得嵌入水印前后預(yù)測值能夠保持不變。
30.如權(quán)利要求27所述的裝置,其特征在于,所述誤差計算模塊,具體包括選取單元,用于選取預(yù)測值大于所述第一閾值且小于所述第二閾值的所述像素值組, 組成所述候選像素值組;誤差計算單元,用于根據(jù)嵌入水印時所使用的水印模板,確定計算所述預(yù)測誤差時所 需要的像素值組中的參照像素點,將所述參照像素點的像素值減去該像素值組的預(yù)測值得 到的差值作為所述預(yù)測誤差。
31.如權(quán)利要求27所述的裝置,其特征在于,所述水印提取模塊,具體包括誤差比較單元,用于依次將每個所述候選像素值組的預(yù)測誤差絕對值與所述預(yù)測誤差 閾值N進(jìn)行比較;水印提取單元,用于若所述候選像素值組的預(yù)測誤差絕對值大于等于N-I且小于N,則 確定該像素值組中嵌入的二進(jìn)制碼的值為0并提??;若所述候選像素值組的預(yù)測誤差絕對 值大于等于N且小于N+1,則確定該像素值組中嵌入了二進(jìn)制碼的值為1并提取;像素恢復(fù)單元,用于若所述候選像素值組的預(yù)測誤差絕對值小于N,則不對該像素值組 中的像素值進(jìn)行調(diào)整;若所述候選像素值組的預(yù)測誤差絕對值大于等于N,則根據(jù)所述預(yù) 測誤差,對該像素值組中進(jìn)行減去或加上所述水印模板的調(diào)整,得到嵌入水印前的的原始 像素值。
32.如權(quán)利要求27-31任一所述的裝置,其特征在于,所述信息還原模塊,具體包括提取分離單元,用于根據(jù)第一分向量和第二分向量中包含的像素值的個數(shù),依次獲取對應(yīng)數(shù)量的提取出的二進(jìn)制碼,得到第一分向量和第二分向量中替換出的二進(jìn)制碼;以及 由提取出的剩余的二進(jìn)制碼得到嵌入的水印信息;信息還原單元,用于將所述第一分向量和第二分向量中替換出的二進(jìn)制碼分別還原至 第一分向量和第二分向量中的對應(yīng)位置處。
全文摘要
本發(fā)明公開了一種數(shù)字水印嵌入和提取方法及裝置,該方法包括將原始圖像的一維像素值向量劃分為三個分向量;將第三分向量中的像素值劃分為若干像素值組,并計算各像素值組的預(yù)測值;根據(jù)包含像素值0的像素值組的預(yù)測值確定第一閾值和根據(jù)包含像素值255的像素值組的預(yù)測值確定第二閾值,分別嵌入第一分向量和第二分向量中;并根據(jù)待嵌入的水印信息、從第一分向量和第二分向量中替換出的二進(jìn)制碼,確定待嵌入二進(jìn)制碼;根據(jù)第一閾值、第二閾值和各像素值組的預(yù)測值,確定候選像素值組并計算其預(yù)測誤差;根據(jù)待嵌入二進(jìn)制碼、預(yù)測誤差和設(shè)定的預(yù)測誤差閾值,對候選像素值組進(jìn)行像素值調(diào)整。使得嵌入水印后的圖像能夠滿足高保真應(yīng)用環(huán)境的要求。
文檔編號G06T1/00GK102044054SQ200910236058
公開日2011年5月4日 申請日期2009年10月19日 優(yōu)先權(quán)日2009年10月19日
發(fā)明者李曉龍, 楊斌, 王祥, 郭宗明 申請人:北京北大方正電子有限公司, 北京大學(xué), 北大方正集團(tuán)有限公司