基於dct算法數字圖像水印嵌入方法
2023-10-25 16:45:02 2
專利名稱:基於dct算法數字圖像水印嵌入方法
技術領域:
本發明屬於圖像水印嵌入技術領域,特別涉及一種基於DCT(離 散餘弦變換)算法數字圖像水印嵌入方法。
背景技術:
隨著時代的進步,網絡和通信技術的迅猛發展給人類的信息交 流帶來了極大的便利,而多媒體數據的數位化更是推動了多媒體信 息的存取,使信息的交流傳播達到了前所未有的廣度和深度,然而 隨之而來數字產品版權保護和安全認證問題也變得十分嚴重,傳統 的加密技術和數字籤名技術不能完全解決版權保護問題,難以滿足 當今時代的要求。變換域算法嵌入的水印信號能量能夠分布到空域 所有像素上,是應用較為廣泛的一類算法,但其嵌入位置為整個圖 像,不利於水印的不可見性。
發明內容
為了克服上述現有技術的不足,本發明的目的在於提出了一種基 於DCT (離散餘弦變換)算法數字圖像水印嵌入方法,具有防偽、 防篡改、認證、保障數據安全和完整性的特點。
為了實現上述目的,本發明採用的技術方案是 一種基於DCT 算法數字圖像水印嵌入方法,包括如下步驟
第一步,將原始公開圖像和黑白水印圖像分別讀取到二維數組I和W;
第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不
覆蓋的2 2W個圖像塊,計算子塊的平均灰度m和方差^,並對原始 圖像子塊進行DCT變換
formula see original document page 11
其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(ij)位置 的像素的灰度值;^代表子塊灰度的方差;
第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理
嵌入規則如下 -加法準則 v〃W' 或乘法準則 v:",(l + "",)
其中W分別是修改前和修改後的頻域係數,"是拉伸係數,",
是第f個信息位水印;
第四步,對嵌入水印信息後的圖像塊進行反DCT變換
formula see original document page 11式中m,v二0,1,…,7V —1, w,w = 0,l,...,7V-l , /(附,")是空域二維 向量中的元素,c(",力是變換後係數陣列的元素,陣列的大小為NXN。
對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;
第五步,合併圖像塊,得到嵌入黑白水印後的圖像
將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。
由於本發明採用DCT算法數字圖像水印嵌入方法,該算法將水 印嵌入到DCT域感覺容量最重要的係數DC分量上,具有防偽、防 篡改、認證、保障數據安全和完整性的特點。
圖1為本發明水印信息嵌入流程圖。
圖2為本發明原始水印信息樣圖。
圖3為樣圖,其中(a)水印嵌入前的樣圖;(b)為水印嵌入後 的樣圖。
具體實施例方式
下面結合附圖對本發明作進一步詳細說明。
參見附圖l、 2、 3, 一種基於DCT算法數字圖像水印嵌入方法, 包括如下步驟
第一步,將原始公開圖像和黑白水印圖像讀取到二維數組I與W;
第二步,將原始公開圖像I和黑白水印圖像w分別分割為互不 覆蓋的2Wx2W個圖像塊,計算子塊的平均灰度m和方差一,並對原始圖像子塊進行DCT變換:
其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;^代表子塊灰度的方差;
第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當^小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理
嵌入規則如下.
加法準則
或乘法準則 v:",(l + "w,)
其中v,、 v,'分別是修改前和修改後的頻域係數,"是拉伸係數,^ 是第/個信息位水印;
第四步,對嵌入水印信息後的圖像塊進行反DCT變換
式中i/,v二0,l,…,7V-l,附,w二O,l,...,AA-l , /(附,")是空域二維 向量中的元素,c(",v)是變換後係數陣列的元素,陣列的大小為NXN。 對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間
(2w + l)v;r
~~^~~
(2w + l)v;r ~~^~~域像素點;
第五步,合併圖像塊,得到嵌入黑白水印後的圖像
將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。 實施例一
以128X128像素點大小的原始圖像、30X30像素點大小的黑白水 印圖像為例說明本實施例的實施步驟
第一步,將128X128像素點大小的原始圖像、30X30像素點大 小的黑白水印圖像分別讀取到二維數組I和W;
第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的32x32個圖像塊,計算子塊的平均灰度m和方差一,並對原始 圖像子塊進行DCT變換
formula see original document page 14
其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(ij)位置 的像素的灰度值;一 代表子塊灰度的方差;
第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理
嵌入規則如下頁
加法準則 ^ 或乘法準則 v:",(l + fl^,)
其中v v:分別是修改前和修改後的頻域係數,"是拉伸係數,",
是第^個信息位水印;
第四步,對嵌入水印信息後的圖像塊進行反DCT變換
/、 / w 、Se" 、r(2附")""ir(2" + l)v;r, c(m,v) = "0)"(v)2^2^/(附,")cos[^~~]cos[^~~~]
/n=o"=o 27V
/(",V) = H "(")"0)c(", v) cos[^~^~] cos[^~~]
式中w,v二0,l,…,7V —1,附,"=0,1,...,^-1 , /(w,")是空域二維 向量中的元素,c(i/,v)是變換後係數陣列的元素,陣列的大小為NXN。
對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;
第五步,合併圖像塊,得到嵌入黑白水印後的圖像 將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。 實施例二
以256X256像素點大小的原始圖像、30X30像素點大小的水印圖 像為例說明本實施例的實施步驟
第一步,將256X256像素點大小的原始圖像、30X30像素點大 小的黑白水印圖像分別讀取到二維數組I和W;
第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的32x32個圖像塊,計算子塊的平均灰度m和方差^,並對原始圖像子塊進行DCT變換
1 t1"-1
"/ = 0 乂 = 0
1 f "—1
o"2 ="tS5][x("7) —w]2
其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;W代表子塊灰度的方差;
第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於O.Ol,認為塊均勻,反之認為塊包含著複雜的 紋理
嵌入規則如下
加法準則
或乘法準則 v:",(l + "w,)
其中\ "分別是修改前和修改後的頻域係數,"是拉伸係數,", 是第/個信息位水印;
第四步,對嵌入水印信息後的圖像塊進行反DCT變換
w—i w_i
c(w,v) = "0)a(v)12^/0,")cos[^~~~]cos[、 ,~]
/(",v) = 1L a(")a(v)c(w, v) cos[^~^~] cos[、 ,~]
式中M,v二0,l,…,iV —1, w,w = 0,l,...,7V —1, /0w,w)是空域二維 向量中的元素,c(w,v)是變換後係數陣列的元素,陣列的大小為NXN。 對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間
16域像素點;
第五步,合併圖像塊,得到嵌入黑白水印後的圖像
將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。 實施例三
以512X512像素點大小的原始圖像、58X58像素點大小的水印圖 像為例說明本實施例的實施步驟
第一步,將512X512像素點大小的原始圖像、58X58像素點大 小的水印圖像分別讀取到二維數組I和W。
第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的64x64個圖像塊,計算子塊的平均灰度m和方差^,並對原始 圖像子塊進行DCT變換
1 w-l w-l
"/=0 乂=0 1 "-l tt-1
—二iZX![x("力一附]2
其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;^代表子塊灰度的方差;
第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理
嵌入規則如下-加法準則 v'
或乘法準則 v:=v,(i+ w,)
其中v,、 ^分別是修改前和修改後的頻域係數,"是拉伸係數,",
是第/個信息位水印;
第四步,對嵌入水印信息後的圖像塊進行反DCT變換
/、/ 、 / 、^ ^^1 " 、r(2m + l)w7r (2" + l)v;z"i c(w,v) = flO)flO)2^2^/(附,")cos[^~~~〗cos[、 ,~〗
/(",v) = H a(咖0)c(w, v) cos[~~^~~] cos[~~~~]
式中w,v-0,l,…,iV —1,附,"二0,1,...,〃-1 , /(m,")是空域二維 向量中的元素,c(w,v)是變換後係數陣列的元素,陣列的大小為NXN。
對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;
第五步,合併圖像塊,得到嵌入黑白水印後的圖像 將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。 實施例四
以512X512像素點大小的原始圖像、32X32像素點大小的水印圖 像為例說明本實施例的實施步驟
第一步,將512X512像素點大小的原始圖像、32X32像素點大 小的水印圖像分別讀取到二維數組I和W;
第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的64x64個圖像塊,計算子塊的平均灰度m和方差cr2,並對原始
18圖像子塊進行DCT變換
1 f1"—1
附
"2 二lZZ[T("力—附]2
其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;一 代表子塊灰度的方差;
第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於O.Ol,認為塊均勻,反之認為塊包含著複雜的 紋理
嵌入規則如下
加法準則 ^"'+,
或乘法準則 v:",(i+咖,)
其中"、v,'分別是修改前和修改後的頻域係數,"是拉伸係數,",
是第/個信息位水印;
第四步,對嵌入水印信息後的圖像塊進行反DCT變換
/、 /w、^^/v、r(2w + l)";r,「(2" + l)v;r, c(m,v) = a(")"(v)X2^/(附,")cos[^^^]cos[^^^]
/(w, v) = 2L2^a(M)a(v)c(",v)C0S[^~]cos[,A,~]
式中w,v二0,l,…,H,附,w二0,l,…,7V-l , /(m,")是空域二維 向量中的元素,c(w,v)是變換後係數陣列的元素,陣列的大小為NXN。 對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間域像素點;
第五步,合併圖像塊,得到嵌入黑白水印後的圖像
將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。
權利要求
1、一種基於DCT算法數字圖像水印嵌入方法,其特徵在於,包括如下步驟第一步,將原始公開圖像和黑白水印圖像分別讀取到二維數組I和W;第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不覆蓋的2N×2N個圖像塊,計算子塊的平均灰度m和方差σ2,並對原始圖像子塊進行DCT變換其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置的像素的灰度值;σ2代表子塊灰度的方差;第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的子塊中,當σ2小於等於0.01,認為塊均勻,反之認為塊包含著複雜的紋理嵌入規則如下加法準則或乘法準則 其中vi、分別是修改前和修改後的頻域係數,α是拉伸係數,ωi是第i個信息位水印;第四步,對嵌入水印信息後的圖像塊進行反DCT變換式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二維向量中的元素,c(u,v)是變換後係數陣列的元素,陣列的大小為N×N。對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間域像素點;第五步,合併圖像塊,得到嵌入黑白水印後的圖像將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的圖像的重構。
2、根據權利要求1所述的一種基於DCT算法數字圖像水印嵌入 方法,其特徵在於,包括如下步驟第一步,將128X128像素點大小的原始圖像、30X30像素點大 小的黑白水印圖像分別讀取到二維數組I和W;第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的32x32個圖像塊,計算子塊的平均灰度m和方差^,並對原始 圖像子塊進行DCT變換formula see original document page 3其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素點數;i代表像素的橫坐標;j代表像素的縱坐標;X代表位於(i,j)位置 的像素的灰度值;^代表子塊灰度的方差;第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理嵌入規則如下加法準則 v'"'+, 或乘法準則 v;=V,(l + w,)其中\ v,'分別是修改前和修改後的頻域係數,"是拉伸係數,"-是第/個信息位水印;第四步,對嵌入水印信息後的圖像塊進行反DCT變換 /、 , w 、vS" 、r(2附+ l)"^r(2" + l)v;r,/(",v) = 11 "(")"O)c(", v) cos[~~^^] cos[、 ,~]式中m,v二0,1,…,7V —1 , m,"二0,l,…,A^ —1 , /(附,")是空域二維 向量中的元素,咖,v)是變換後係數陣列的元素,陣列的大小為NXN。對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;第五步,合併圖像塊,得到嵌入黑白水印後的圖像: 將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。
3、根據權利要求1所述的一種基於DCT算法數字圖像水印嵌入方法,其特徵在於,包括如下步驟第一步,將256X256像素點大小的原始圖像、30X30像素點大 小的黑白水印圖像分別讀取到二維數組I和W;第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的32x32個圖像塊,計算子塊的平均灰度附和方差一,並對原始 圖像子塊進行DCT變換formula see original document page 5其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;^代表子塊灰度的方差;第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當^小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理嵌入規則如下加法準則或乘法準則其中、v:分別是修改前和修改後的頻域係數,"是拉伸係數,", 是第/個信息位水印;第四步,對嵌入水印信息後的圖像塊進行反DCT變換v) = "(w)"(v)2^2^/(柳,")cos[^^~~]cos[、 ,~] /(",v) = L L "("M"c(m, v) cos[~~^^] cos[^^^]式中M,V:^0,l,…,iV —1, W,"二0,1,…,W—1 , /(w,")是空域二維向量中的元素,c(w,v)是變換後係數陣列的元素,陣列的大小為NXN。 對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;第五步,合併圖像塊,得到嵌入黑白水印後的圖像將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。
4、根據權利要求1所述的一種基於DCT算法數字圖像水印嵌入 方法,其特徵在於,包括如下步驟以512X512像素點大小的原始圖像、58X58像素點大小的水印圖 像為例說明本實施例的實施步驟第一步,將512X512像素點大小的原始圖像、58X58像素點大 小的水印圖像分別讀取到二維數組I和W。第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的64x64個圖像塊,計算子塊的平均灰度附和方差cx2,並對原始 圖像子塊進行DCT變換formula see original document page 0其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;一 代表子塊灰度的方差;第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理嵌入規則如下加法準則 或乘法準則其中V 、分別是修改前和修改後的頻域係數,"是拉伸係數,", 是第/個信息位水印;第四步,對嵌入水印信息後的圖像塊進行反DCT變換c(w,v) = "(w)"0)2^2^/(附,")cos[^~^~]cos[、 Z~〗 /(",v) H a(咖(v)cO, v) cos[^~^~〗cos[、 J~]式中M,"0,1,…,H,附,"二0,1,…,7V-1 , /(m,")是空域二維 向量中的元素,c(",v)是變換後係數陣列的元素,陣列的大小為NXN。對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;第五步,合併圖像塊,得到嵌入黑白水印後的圖像 將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。
5、根據權利要求1所述的一種基於DCT算法數字圖像水印嵌入方法,其特徵在於,包括如下步驟第一步,將512X512像素點大小的原始圖像、32X32像素點大 小的水印圖像分別讀取到二維數組I和W;第二步,將原始公開圖像I和黑白水印圖像W分別分割為互不 覆蓋的64x64個圖像塊,計算子塊的平均灰度m和方差^,並對原始 圖像子塊進行DCT變換-formula see original document page 8其中,N代表自然數;m代表子塊的平均灰度;n代表子塊中包含像素 點數;i代表像素的橫坐標;j代表像素的縱坐標;x代表位於(i,j)位置 的像素的灰度值;一 代表子塊灰度的方差;第三步,取黑白水印圖像W中的一個元素W(p,q)嵌入紋理複雜的 子塊中,當一小於等於0.01,認為塊均勻,反之認為塊包含著複雜的 紋理嵌入規則如下加法準則 "=v'+, 或乘法準則 v:",(l + "",)其中W分別是修改前和修改後的頻域係數,"是拉伸係數,", 是第/個信息位水印;第四步,對嵌入水印信息後的圖像塊進行反DCT變換c(m,v) = a(m)a(v)2^/(附,")cos[~~^~]cos[、 Z~]/(w,力=11 "O)"O)c(w, v) cos[^^——]cos[^~^~]式中w,v二0,l,…,7V —1, w,w = 0,l,...,iV —1 , /(w,")是空域二維 向量中的元素,c(",v)是變換後係數陣列的元素,陣列的大小為NXN。對每一個頻域點按上式進行運算,得到包含黑白水印信息的空間 域像素點;第五步,合併圖像塊,得到嵌入黑白水印後的圖像 將經過DCT變換的像素點,依然放置在原始位置(x,y)上,即完 成了嵌入水印信息的圖像的重構。
全文摘要
一種基於DCT算法數字圖像水印嵌入方法,包括如下步驟第一步,將原始公開圖像和黑白水印圖像分別讀取到二維數組I和W;第二步,將原始公開圖像I和水印圖像W分別分割為互不覆蓋的2N×2N個圖像塊,計算子塊的平均灰度m和方差σ2,並對原始圖像子塊進行DCT變換;第三步,取黑白水印圖像中的一個元素W(p,q)嵌入紋理複雜的子塊中;第四步,對嵌入水印信息後的圖像塊進行反DCT變換;第五步,合併圖像塊,得到嵌入黑白水印後的圖像;具有防偽、防篡改、認證、保障數據安全和完整性的特點。
文檔編號G06T9/00GK101504758SQ20091002156
公開日2009年8月12日 申請日期2009年3月17日 優先權日2009年3月17日
發明者兀旦暉, 李秦君, 萍 楊, 歆 譚, 趙晨飛 申請人:陝西科技大學