• 沒有找到結果。

第四章 高斯白雜訊隨機向量於浮水印之應用

4.2 以隨機向量為浮水印之應用

圖 4-1 浮水印嵌入架構

圖 4-1 為高斯白雜訊當浮水印的原始架構,一張影像 X 經過 DCT 轉換分成水平 區塊跟垂直區塊,分別嵌入 RnH和 RnV兩種高斯白雜訊,γ為加權值,在經過 IDCT 得到嵌入過浮水印的影像 X’。而接收端要是不知道 RnH和 RnV以及水平與垂直區塊 的嵌入順序,則找不到原始影像 X。若於接收端給予 RnH和 RnV以及水平與垂直區塊 的嵌入順序,以隨機向量之相關性作為判斷依據,若與相對應的 RnH和 RnV為自相 關很強,此時若要提取原始影像,只需要於嵌入的頻帶減掉 RnH和 RnV乘上加權值 再執行 IDCT 即找出原始影像。而影像利用此方法嵌入浮水印,需要以第三章所得知 正確之 group 數以及γ之關係為基礎。而此方法的優點是嵌入的浮水印不易被發現,

也不易被破解。利用高斯白雜訊當浮水印水平嵌入與垂直嵌入的實驗結果。圖 4-2a 為 Lena256 原圖、圖 4-2b 為 Lena256 經過此嵌入浮水印方法後的圖、圖 4-3a 為 Peppers256 原圖、圖 4-3b 為 Peppers256 經過此嵌入浮水印方法後的圖、圖 4-4a 為 Cameraman256 原圖、圖 4-4b 為 Cameraman256 經過此嵌入浮水印方法後的圖、圖 4-5a 為 Board256 原圖、圖 4-5b 為 Board256 經過此嵌入浮水印方法後的圖。

59

圖 4-2a Lena256 原圖

圖 4-2b 嵌入浮水印後的 Lena256

60

圖 4-3a Peppers256 原圖

圖 4-3b 嵌入浮水印後的 Peppers256

61

圖 4-4a Cameraman256 原圖

圖 4-4b 嵌入浮水印後的 Cameraman256

62

圖 4-5a Board256 原圖

圖 4-5b 嵌入浮水印後的 Board256

63

圖 4-2b、圖 4-3b、圖 4-4b、圖 4-5b 都是嵌入垂直和水平 1×1024 的高斯白雜訊,

Lena256 的加權值依第三章求得為 112,嵌入浮水印後的影像與原始影像的 MSE 為 6.1523,PSNR 為 40.2404。Peppers256 的加權值由第三章求得為 110,嵌入浮水印後 的影像與原始影像的 MSE 為 5.8607,PSNR 為 40.4513。Cameraman256 的加權值由 第三章求得為 100,嵌入浮水印後的影像與原始影像的 MSE 為 4.9401,PSNR 為 41.1934。Board256 的加權值由第三章求得為 220,嵌入浮水印後的影像與原始影像 的 MSE 為 23.8591,PSNR 為 34.8543。

而在水平嵌入浮水印的應用下,可延伸另外的應用,那就是在水平嵌入部分用來 當作影像受攻擊之偵測。在此本論文依水平之向量長度分別為 1×1024、1×512、1×256 進行實驗。發現 1×256 的偵測效果最好,因為 1×256 能分成 64 個 group,影像一有變 動較易偵測出來,相對的 1×1024 只能分成 16 個 group,要變動較多影像才能偵測出 來。以圖 3-14 的選取方式來測試 group 要變動幾個 block 才能偵測出來其變動。於此 變動方式為把該 block 的 DCT 值都設為 0,判斷方式為對應的高斯白雜訊做相關性計 算後自相關不強,如圖 4-6a、圖 4-6b、圖 4-6c 所示。

圖 4-6a 水平 1×1024 加權值γ=110,破壞 20 個 block 才偵測的到

64

圖 4-6b 水平 1×512 加權值γ=110,破壞 16 個 block 才偵測的到

圖 4-6c 水平 1×256 加權值γ=110,破壞 7 個 block 才偵測的到 在圖 4-6 中破壞條件為該 block 的 DCT 係數都設為 0。

65

1 1 1 1 1 1 1

(G K)K 'G K 'K K ' (4-1a)

1 1 2 1 2 1 2

(G K)K 'G K 'K K ' (4-1b)

式(4-1a)為 autocorrelation,式(4-1b)為 crosscorrelation,G1為水平 1×256 的第一個 group,K1為所相對應的高斯白雜訊,K2為另一個交互相關的高斯白雜訊,γ=110,

G1是由 16 個 block 所組成,由實驗結果得知如果把 DCT 係數設成 0 為,那需要變動 8 個 block 才能偵測到變動,原因為 8 個 block 設為 0 時 autocorrelation 小於γ/2,如 果以把 DCT 係數設成 50,那需要變動 8 個 block 才能偵測到變動,原因為 8 個 block 設為 50 時 autocorrelation 大於γ/2,如果以把 DCT 係數設成 100,那需要變動 1 個 block 才能偵測到變動,原因為 1 個 block 設為 100 時 autocorrelation 大於γ/2,如果 以把 DCT 係數設成 200,那需要變動 1 個 block 才能偵測到變動,原因為 1 個 block 設為 200 時 autocorrelation 大於γ/2,因此我們可以看出若 DCT 係數變動改成大於 100 時,只要變動 1 個 block 即可偵測出。

66

相關文件