• 沒有找到結果。

基於離散餘弦轉換之恰可察覺失真度應用 高斯白雜訊於浮水印之應用

N/A
N/A
Protected

Academic year: 2022

Share "基於離散餘弦轉換之恰可察覺失真度應用 高斯白雜訊於浮水印之應用 "

Copied!
83
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

基於離散餘弦轉換之恰可察覺失真度應用 高斯白雜訊於浮水印之應用

The study of Applying WGN for Digital Watermark Based on the JND in DCT Domain

系 所 別:電機工程學系碩士班 學號姓名:M09801055 張峻維 指導教授:謝曜式 博士

中 華 民 國 一百零一 年 七 月

(2)

i

Abstract

In today’s world, digital media, audio, video and image can be easily shared by the computer network. The digital watermark is an important copyright enforcement scheme that protects and copyright ownership.

In this study, based on the properties of the Human Visual System (HVS), the White Gaussian Noise (WGN) is used to embed the watermark without degrading the visual quality. The JND(Just Noticeable Distortion), the tolerance of changes of scales of a image, in DCT domain(Watson’s model) is discussed. Applying Hadamard Transform, the high efficient approximated computation scheme for DCT domain JND is developed. Furthermore, the 2D watermarking structure for using WGN is proposed. The several applications of the proposed watermarking structure are presented.

Finally, the simulation results are used to verify the usefulness of this study.

(3)

ii

摘要

近年來,由於網際網路的盛行,數位資料的取得以及散佈都變得相當容易,

保護智慧財產權變成相當重要的課題。數位浮水印藉由將版權、數位影像等資訊 隱藏在數位資料中,來達到保護智慧財產權的目的,是目前被重視的技術。

在本論文中,利用高斯白雜訊相關性的特性,研究以高斯白雜訊為浮水印的 應用。於研究中主要考量人類視覺系統(HVS)之恰可察覺失真度(JND)。於本論 文中利用離散餘弦轉換(DCT)頻率域之恰可察覺失真度來滿足不可見的浮水印 之不易察覺性與強健性。此外,本論文中,高斯白雜訊不只可以當浮水印,還可 以應用於偵測原始影像有無受到攻擊,何處受到攻擊。亦可以推展至以影像為浮 水印之應用。

關鍵字;高斯白雜訊、相關性、恰可察覺失真度

(4)

iii

誌謝

在碩士生涯中,首先由衷感謝指導教授 謝曜式老師的指導。學生心中萬分 感激教授的細心指導與鼓勵,將我從毫無基礎的影像處理領域引領於研究所的學 術研究之中,並且專心致力於研究。指導教授對於學術研究的積極處事與嚴謹態 度,讓我有許多的啟示與領悟,也引領我朝向正確的方向邁進。

而在同學之間,也很感謝學長尚平、亞辰的指導,以及志軒、政佐、于賢、

培倫、紹恆、光硯,可以於學業的旅程上還能有同伴來一起奮鬥,並在遭遇到困 難時可以一起解決,真的是一份很高興且令人珍惜的回憶。最後感謝家人長久以 來的支持和鼓勵,願與他們共同分享這些成果和喜悅。

學生的生涯將結束,接下來將要面對社會上的考驗,相信一定是更加的具有挑戰 性,不過經由碩士生涯的歷練,對於未來也是沉穩了許多,相信只要一步一腳印,

不要妄想一步登天,成功的日子指日可待!

張峻維 謹致於 中華大學 電機工程研究所 民國一百零一年七月

(5)

iv

目錄

英文摘要... i

摘要... ii

誌謝... iii

目錄... iv

圖目錄... v

表目錄... vii

第一章 導論... 1

1.1 研究背景... 1

1.2 浮水印的特性... 1

1.3 浮水印的攻擊... 4

1.4 論文概述... 7

第二章 簡化頻率域中的恰可察覺失真度... 8

2.1 前言... 8

2.2 離散餘弦轉換(Discrete Cosine Transform;DCT) ... 8

2.3 Watson Perceptual Model ... 10

2.4 Hadamard matrix ... 12

2.5 原始和簡化後 Watson Perceptual Model 的差異 ... 15

第三章 利用高斯白雜訊當浮水印的架構... 18

3.1 前言... 18

3.2 高斯白雜訊之相關性特性... 18

3.3 適合嵌入高斯白雜訊的頻帶... 21

3.4 建立萃取高斯白雜訊隨機向量之機率模型... 34

3.4.1 隨機向量長度為 1×1024 的機率模型... 37

3.4.2 向量長度為 1×512 的機率模型... 43

3.4.3 向量長度為 1×256 的機率模型... 44

3.4.4 浮水印嵌入在頻帶的機率模型... 45

3.5 選取加權值... 46

3.6 實驗結果與討論... 51

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

4.1 前言... 57

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

4.3 以影像為浮水印之應用... 66

參考文獻... 74

(6)

v

圖目錄

圖 1-1 嵌入浮水印示意圖 ... 2

圖 1-2 萃取出浮水印示意圖 ... 2

圖 1-3 浮水印在通道傳輸過程中受到破壞的類型 ... 4

圖 2-1 原始影像資訊經由二維離散餘弦轉換 ... 9

圖 2-2 離散反轉換後還原的原始影像資訊 ... 10

圖 2-3 原始影像資訊經由二維哈達瑪轉換 ... 13

圖 2-4 哈達瑪反轉換還原後的原始影像資訊 ... 14

圖 3-1 常態分佈的曲線圖 ... 19

圖 3-2 DCT 的頻帶分布 ... 21

圖 3-3a Lena64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值 ... 22

圖 3-3b Peppers64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值 ... 22

圖 3-3c Cameraman64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比 值... 23

圖 3-3d Board64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值 ... 23

圖 3-4a 改變 Lena64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值 ... 24

圖 3-4c 改變 Cameraman64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均 的比值... 25

圖 3-4d 改變 Board64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比 值... 25

圖 3-5 自相關與交互相關的直方圖 ... 26

圖 3-6 8×8DCT 高頻部分及排列順序 ... 27

圖 3-7 Board256 C(0,7)block 依圖 3-6 所排列之序列 ... 28

圖 3-8 8×8DCT 選取高頻部分縮減及排列順序 ... 29

圖 3-9a Board256 C(0,0) block 依圖 3-8 所排列之序列 ... 30

圖 3-9b Board256 C(2,2) block 依圖 3-8 所排列之序列 ... 31

圖 3-9c Board256 C(6,2) block 依圖 3-8 所排列之序列 ... 31

圖 3-10 8×8DCT 高頻頻帶選取及排列順序 ... 32

圖 3-11 Board256 C(5,1) block 依圖 3-10 所排列之序列 ... 33

圖 3-12 最後的 8×8DCT 所選取頻帶及排列順序 ... 34

圖 3-13 256×256 影像所嵌入頻帶 ... 35

圖 3-14 64 個 block 當一個 group ... 35

圖 3-15a Cameraman256 第 15 個 group,β 值為 50 時的自相關與交互相關 ... 38

圖 3-15b Cameraman256 第 15 個 group,β 值為 60 時的自相關與交互相關... 38

圖 3-15c Cameraman256 第 15 個 group,β 值為 70 時的自相關與交互相關 ... 39

圖 3-16 判斷正確與錯誤的機率模型 ... 41

(7)

vi

圖 3-17 以式(3-6)條件下,累積運算正確和錯誤機率 ... 42

圖 3-18 相同正確 group 數,不同的 β 值的差異 ... 42

圖 3-19 每個 DCT 頻帶當一個 group ... 45

圖 3-20 Cameraman256 和 Board256 正確 group 數以及對應的加權值 β ... 52

圖 3-21 Cameraman256 和 Board256 最適合的正確 group 數以及對應的加權值 α .... 53

圖 3-22 水平嵌入長度為 1×512 之高斯白雜訊,Cameraman256 和 Board256 正確 group 數以及對應的加權值 β ... 56

圖 3-23 水平嵌入長度為 1×256 之高斯白雜訊, Cameraman256 和 Board256 正確 group 數以及對應的加權值 β ... 56

圖 4-1 浮水印嵌入架構 ... 58

圖 4-2a Lena256 原圖 ... 59

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

圖 4-3a Peppers256 原圖 ... 60

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

圖 4-4a Cameraman256 原圖 ... 61

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

圖 4-5a Board256 原圖 ... 62

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

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

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

圖 4-6c 水平 1×256 加權值 γ=110,破壞 7 個 block 才偵測的到 ... 64

圖 4-7 浮水印嵌入架構 ... 66

圖 4-8 以影像為浮水印嵌入 ... 66

圖 4-9 Bayer Dithering 之簡要說明 ... 67

圖 4-10 得到 secret key 之後排列嵌入的順序 ... 68

圖 4-11 原始的嵌入順序 ... 68

圖 4-12 影像浮水印的還原 ... 68

圖 4-13 萃取排列嵌入的順序之 secret key ... 69

圖 4-14 8×8 的黑白影像浮水印 ... 70

圖 4-15a 嵌入過浮水印的圖 ... 71

圖 4-15b 嵌入過浮水印的圖 ... 71

圖 4-15c 嵌入過浮水印的圖 ... 72

圖 4-15c 嵌入過浮水印的圖 ... 72

圖 4-16 4 種影像還原後的影像浮水印 ... 73

(8)

vii

表目錄

表 2-1 DCT frequency sensitivity table ... 11

表 2-2 peppers256 (18,16)個 block 在 DCT 頻域不被人眼所查覺最大改變量(利用 Watson Perceptual Model 求得) ... 15

表 2-3 簡化 peppers256(18,16)個 block 在 DCT 頻域不被人眼所查覺最大改變量 (利用 Hadamard matrix 求得) ... 16

表 2-4 利用 NC 檢視原始 slack 為基礎和簡化後的 slack 之差異 ... 17

表 3-1 Board256 (μ2+2σ2)- (μ1+2σ1),γ=80 ... 28

表 3-2 Board256 (μ2+2σ2)- (μ1+2σ1),γ=80 ... 30

表 3-3 Board256 (μ2+2σ2)- (μ1+2σ1) γ=80 ... 32

表 3-4 β/2 為 threshold 做 10000 次正確的 group 數 ... 40

表 3-5 β/2 為 threshold,不同 β 值的機率模型 ... 40

表 3-6 β/2 為 threshold,不同 β 值的機率模型 ... 43

表 3-7 β/2 為 threshold,不同β值 Cameraman256 的機率模型 ... 43

表 3-8 β/2 為 threshold,不同β值 Board256 的機率模型 ... 44

表 3-9β/2 為 threshold,不同β值 Cameraman256 的機率模型 ... 44

表 3-10β/2 為 threshold,不同β值 Board256 的機率模型 ... 44

表 3-11α/2 為 threshold,不同α值 Cameraman256 的機率模型 ... 46

表 3-12α/2 為 threshold,不同α值 Board256 的機率模型 ... 46

表 3-13 Cameraman256DCT 頻帶的 slack 取平均 ... 47

表 3-14 Board256DCT 頻帶的 slack 取平均 ... 47

表 3-15 Cameraman256 的 γ 最大值,由式(3-6)求得 ... 48

表 3-16 Board256 的 γ 最大值,由式(3-6)求得 ... 49

表 3-17Cameraman256 的 γ 最大值,由式(3-7)求得 ... 49

表 3-18 Board256 的 γ 最大值,由式(3-7)求得 ... 50

表 3-19 Cameraman256 的 γ 最大值,由式(3-8)求得 ... 50

表 3-20 Board256 的 γ 最大值,由式(3-8)求得 ... 51

(9)

1

第一章 導論

1.1 研究背景

隨著科技的發展與進步,數位多媒體技術廣泛使用在網際網路上,網際網路使用 者可以方便在網際網路上分享個人的創作及數位多媒體的資訊,或利用網際網路進行 商業活動等。雖然網際網路的應用及數位多媒體技術的成熟帶給網際網路使用者方 便,但也帶來隱憂,因為數位多媒體資訊擁有容易傳送、複製以及修改的特性,且網 際網路的使用者很容易在網際網路上取得自己想要的數位多媒體資訊,並加以修改及 重製,將所取得的數位多媒體資訊占為己有,容易生成著作者與盜版者的問題,這樣 的行為也防不勝防。因此近年來,人們對數位多媒體資訊的版權問題以及資料保密的 問題受到重視,因此採用了各種不同的方式來保護數位多媒體資訊,如密碼學、資料 壓縮編碼、浮水印等方式。其中浮水印的應用也受到人們的熱烈討論。

浮水印可視為資訊隱藏的一種形式,所謂資訊隱藏就是將浮水印視為另一種資 訊,進而再放入另一份資訊中。藉由此方式,浮水印可以將著作權資訊附加於受保護 的多媒體資訊上。附加浮水印的多媒體資訊不僅能保護著作權外,還可以保留多媒體 資訊的完整性。

1.2 浮水印的特性

浮水印為一串文字或是一個影像的資訊[1][2][3],浮水印的要求是能禁得起在相 當程度的影像失真後,仍可以將其抽取出來以做為所有權認證之用。一般而言,浮水 印主要分成嵌入和萃取兩部分,如圖 1-1 為浮水印的嵌入示意圖[4],當浮水印嵌入至 被藏匿的資訊中時,我們可以選擇給予一個公開或不被公開的秘密鑰匙(Public Key or Secret Key),其不被公開的秘密鑰匙主要的目的是在保護浮水印的安全性,即使知道 浮水印的嵌入方式,但也無法輕易取出浮水印。圖 1-2 為浮水印的萃取示意圖,在萃

(10)

2

取過程中,除了嵌入的浮水印資訊,還需要當時公開或不公開的秘密鑰匙,才可以萃 取出藏匿在資訊中的浮水印。

Watermark

Cover Object

Public Key or Secret Key

Watermark Embedding

Watermarked Data

圖 1.1 嵌入浮水印示意圖

Watermarked Data

Public Key or Secret Key

Watermark Detection

Recovered Watermark

圖 1.2 萃取出浮水印示意圖

影像上的浮水印以人類的視覺系統(Human visual system;HVS)可區分為兩大類 型[2][5],第一類型為可見的浮水印(Visible watermark)[4],另一類型為不可見的浮水 印(Invisible watermark)。其中第一類型可見的浮水印是早期廣泛應用在鈔票和文件 等,可以直接用肉眼看出的防偽標籤或是商標的浮水印。

(11)

3

第二類不可見的浮水印,依據嵌入浮水印的領域不同,可以區分為嵌入至空間域 和頻率域兩種不同方式[6][7]。空間域的方法具有快速運算的優點,但比較不能夠抵 擋雜訊直接的攻擊,而頻率域的方法在轉換時需要大量的運算。而一個不可見的浮水 印技術必須具備如下的需求[3][8]:

1. 強健性(Robustness):

浮水印必須是不容易被破壞或刪除的,不管是一般的訊號處理或者刻意的攻 擊,在影像資訊經過破壞之後,隱藏在其中的浮水印資訊必須仍保有足夠的資訊,

以便於萃取浮水印後能便是當時所藏匿的資訊。

2. 不易被察覺(Imperceptibility or Transparency):

浮水印必須是人眼所感覺不到的,也就是說我們必須盡量的維持影像資訊在 人類視覺系統上的品質,盡可能的避免影像改變之後讓人眼能察覺出與原始資訊 不一樣。

3. 安全性(Security):

在浮水印的技術中,浮水印嵌入的方式可能會被知道,這時浮水印本身就沒 有安全性,所以要在浮水印嵌入影像資料同時加入不被公開的秘密鑰匙,此秘密 鑰匙只有嵌入時的使用者知道,須有此鑰匙才能順利取出浮水印,做一個雙重的 保護。

4. 容量(Capacity):

同一張影像對不同的浮水印技術所能容納的浮水印並不相同,能容納較多浮 水印資訊的我們稱容量較大的浮水印系統,由於能嵌入較多或較大的浮水印,會 使此系統有更多的應用層面。

(12)

4

1.3 浮水印的攻擊

對於影像資訊嵌入浮水印後,在傳送過程中,所要面臨的就是有意的攻擊或無意 的影像處理,如圖 1-3 所示。

Channel Embedded

image

Received image Compression

Smoothing Sharpening

Noise

Cropping

Equalization

Others

圖 1-3 浮水印在通道傳輸過程中受到破壞的類型

大部分的攻擊來自於修改影像,也就是等同在破壞浮水印,導致符水印不能萃取 或者是無法辨識。若浮水印依然能萃取出來且品質還不錯,這就表示浮水印的強健性 很好,攻擊破壞的類型有很多,以下便是依些可能的攻擊[9]:

1. 壓縮處理(Compression):

影像壓縮是常見的影像處理方式,因為影像資訊量往往相當龐大,在網路傳 輸前經常會先給予壓縮,以節省資訊再傳送時的時間,影像資訊的壓縮又可分為 失真壓縮(Lossy compression)與不失真壓縮(Lossless compression)。失真壓縮會破 壞資料,經常是浮水印常見的攻擊方法,其中,JPEG(Joint Photographic Experts Group)就是常見的失真壓縮方式。不失真壓縮的方法最常見的為霍夫曼編碼

(13)

5

(Huffman coding),此種壓縮方法主要降低影像資料中重複出現的機率,以達到資 料壓縮的目的,但此方法不會造成資料的破壞。

2. 平滑化(Smoothing):

平滑化可以讓影像變得比較模糊(Blurred),也可以減少影像中的雜訊,經常 使用在影像的「前處理」階段。低通濾波器(Low-pass Filter)與中位濾波器(Median Filter)對於影像資訊都有平滑化效果,相對的也會破壞浮水印。

3. 銳利化(Sharpening):

銳利化可以突顯影像邊緣(Edge),一般來說,浮水印隱藏在邊緣會有較高的 不可察覺性,可是若遭受到銳利化的攻擊,則容易遭到破壞。

4. 雜訊(Noise):

在影像處理時,基於考慮影像在傳輸過程中受到通道雜訊的影響而對影像的 破壞,例如高斯雜訊(Guassian Noise),亦會破壞浮水印。

5. 剪裁(Cropping):

基於使用時的需求,而將影像加以剪裁,取出想要的部分,這樣的處理也會 破壞浮水印。這樣破壞常常因為浮水印還原時,無法取得浮水印嵌入位置而顯得 特別嚴重。

6. 均等化(Equalization):

使用等化的方法來加強影像對比(Contrast),以突顯影像中的主題,也會破壞 浮水印。

7. 其餘常見的影像處理方式:

(14)

6

例如數位-類比轉換(D/A Conversion)、縮小放大(Scaling)、旋轉(Rotation)、轉 置(Translation)等等的方式,也都會破壞浮水印。

在人類視覺系統對影像在空間域上灰階值改變而不能辨識之灰階值改變量稱為 恰可察覺失真度(Jusr Noticeable Distortion;JND)。人類的視覺系統對於影像在不一樣 的亮度、紋理及頻率的資訊具有不一樣的敏感度,而依研究結果得知會影響人類視覺 系 統 主 要 有 背 景 亮 度 遮 罩 (Background luminance masking) 及 紋 理 遮 罩 (Texture masking)兩種因素。而 Watson Perceptual Model 為在頻率域的恰可察覺失真度。

本論文主要是利用影像轉頻率域後,在 Watson Perceptual Model 的最大可改變量 的前提下,以高斯白雜訊當浮水印嵌入。對影像而言,目的在於嵌入浮水印後不被察 覺。對浮水印而言,因為高斯白雜訊為一隨機向量,因此能使浮水印不容易被找出。

此外,利用高斯白雜訊正交特性,提出於固定長度下旋轉高斯白雜訊可快速且方便地 產生新的一組高斯白雜訊,而增加高斯白雜訊當浮水印的多元應用。如影像破壞之偵 測。此外本論文提出二維浮水印嵌入且經實驗驗證可行,此可為日後相關研究之基礎。

(15)

7

1.4 論文概述

第二章介紹離散餘弦轉換(Discrete Cosine Transform),以及用 Hadamard Matrix 簡化 Watson Perceptual Model。Watson Perceptual Model 是計算出影像經過離散餘弦轉 換後在人眼不被察覺的條件下能改變最大的容量,在此也稱為 slack,此簡化用途在 於可快速計算出 slack。

第三章介紹高斯白雜訊相關性的特性,以及將高斯白雜訊嵌入在頻率域,並且利 用簡化後的 Watson Perceptual Model 來尋求適合嵌入的頻帶。利用高斯白雜訊相關性 特性,正常而言自相關遠大於交互相關。針對不同的影像以及不同隨機向量長度來建 立浮水印萃取之正確和錯誤的機率模型。

第四章是討論利用高斯白雜訊 當浮水印的應用,在頻率域中,可 以 在水平 (Horizontal)嵌入和垂直(Vertical)嵌入,在這兩種嵌入的方法中延伸成無影像浮水印及 有影像浮水印, 進而再利用高斯白雜訊相關性的特性做影像破壞偵測。

(16)

8

第二章

簡化頻率域中的恰可察覺失真度

2.1 前言

近年來,離散餘弦轉換(Discrete Cosine Transform)在許多不同的領域廣泛地被應 用。包括了語音處理、影像處理、訊號分析、生物醫學等。在數位影像上,人類的視 覺系統對於低頻的影像資料比高頻的影像資料有更高的敏感度,且一般影像資訊之能 量大都集中在低頻,所以對於大部分的影像資訊利用低頻訊號就足可以描述。

2.2 節主要介紹離散餘弦轉換。2.3 節則由 Watson 所提出的視覺模組,利用離散 餘弦轉換將原始影像轉換到 DCT 頻率域上,並求出原始影像在 DCT 頻率域上所容許 被改變而不被人類視覺系統所查覺的最大改變量[10][11]。2.4 節主要介紹 Hadamad Matrix 的特性以及應用在簡化 Watson Perceptual Model 以便能快速運算出 slack。2.5 節討論原始和簡化後的 Watson Perceptual Model 的差異。

2.2 離散餘弦轉換(Discrete Cosine Transform;DCT)

離散餘弦轉換(Discrete Cosine Transform;DCT)[12]是一種將空間域中的數位影像 資訊轉至頻率域的一種轉換,其離散餘弦轉換相似於離散傅立葉轉換(Discrete Fourier Transform;DFT),然而離散餘弦轉換擁有下列特性[13];(1) 離散餘弦轉換矩陣上的 係數為實數;(2) 離散餘弦轉換擁有接近理想的能量壓縮;(3)在計算離散餘弦轉換上 可使用計算較快的快速傅立葉轉換(Fast Fourier Transform;FFT)。

離散餘弦轉換可以計算出影像資料上各頻率的能量,因此經常被廣泛的運用作為 影像資訊壓縮的一種方法。當輸入原始影像 X,大小為 N× N,可得到經由轉換後的 離散餘弦轉換頻率域的係數矩陣 V,二維的離散餘弦轉換如式(2-1)所示:

1 1

0 0

(2 1) (2 1) ( , ) ( ) ( ) ( , ) cos cos

2 2

N N

i j

i u j v

u v w u w v i j

N N

 

 



V X (2-1)

(17)

9

u v, 0,...,N1

其中,w(u)及 w(v)分別定義如下:

1 1

, 0 , 0

( ) , ( )

2 2

,1 1 ,1 1

u v

N N

w u w v

u N v N

N N

   

 

 

 

       

 

 

經過了離散餘弦轉換後的頻率域係數矩陣後 V,我們可以發現離散餘弦轉換的係 數矩陣 V 位於左上角 V(0,0)的係數,我們稱之為直流(DC)係數,就一般影像而言,

此點的係數為整個係數矩陣中能量最強的係數,而其餘的係數稱之為交流(AC)係數 [14]。如圖 2-1 所示,可得知影像經由二維的離散餘弦轉換(2D DCT)後的影像能量於 頻率上的分佈。

圖 2-1 原始影像資訊經由二維離散餘弦轉換

再將離散餘弦轉換頻率域的係數矩陣 V 經由離散餘弦反轉換(Inverse Discrete Cosine Transform;IDCT)後,便可還原得到原始影像,如圖 2-2 所表示:

(18)

10

圖 2-2 離散反轉換後還原的原始影像資訊

其二維離散餘弦反轉換(2D- IDCT)的數學式,如式(2-2)所示:

1 1

0 0

(2 1) (2 1)

( , ) ( ) ( ) ( , ) cos cos

2 2

N N

u v

i u j v

i j w u w v u v

N N

 

 



X V (2-2)

i j, 0,...,N1

2.3 Watson Perceptual Model

Watson[10][11]提出了一個影像在離散餘弦轉換後,頻率域裡的係數改變人類視 覺系統仍無法辨識出失真的最大改變量,不同頻率會有不同的改變量。Watson 提出 主要有兩種因子影響著人類視覺系統:(1)亮度遮罩(Luminance masking),(2)對比遮 罩(Contrast masking)。在 Watson 視覺模型中會受到知覺方程式的影像[10][11][15],[10]

提出了 8×8 離散餘弦轉換各頻率敏感度(DCT frequency sensitivity),如表 2-1。

(19)

11

表 2-1 DCT frequency sensitivity table

DCT frequency sensitivity table , t

1.40 1.01 1.16 1.66 2.40 3.43 4.79 6.56 1.01 1.45 1.32 1.52 2.00 2.71 3.67 4.93 1.16 1.32 2.24 2.59 2.98 3.64 4.60 5.88 1.66 1.52 2.59 3.77 4.55 5.30 6.28 7.60 2.40 2.00 2.98 4.55 6.15 7.46 8.71 10.17 3.43 2.71 3.64 5.30 7.46 9.62 11.58 13.51 4.76 3.67 4.60 6.28 8.71 11.58 14.50 17.29 6.56 4.93 5.88 7.60 10.17 13.51 17.29 21.15

表 2-1 為一張大小為 8×8 的表,裡面的值和一個 8×8 的離散餘弦轉換(DCT)互相 對應著,離散餘弦轉換最左上角的 DC 值對應著表 2-1 最左上角的值 1.40。表裡面的 值代表著對於人類視覺系統對於改變量敏感的程度。值越小,容許的改變量就越小,

相反的,值越大,人眼對於容忍的改變量就越大。由表可以發現,在最右下角,也就 是最高頻的地方較其他地方可以容許更多的改變量。

亮度遮罩跟對比遮罩決定了 Watson 的視覺模組,而這兩個因子如下式(2-3)所表 示:

     

0

0, 0, , , ,

T

L

C k

t i j k t i j

C

 

  

  (2-3a)

, ,

max

L

, ,

 

, , ,

w i j[ , ] L

, ,

1 w i j[ , ]

s i j kt i j k C i j k t i j k (2-3b)

式(2-3a)表示將一張影像經由離散餘弦轉換處理時將,該影像以 8×8 為一區 塊(block)分別進行 8×8 二維離散餘弦轉換,設影像分成了 k 個 8×8 的區塊。tL[i,j,k]

是在第 k 個離散餘弦轉換區塊的亮度遮罩,t[i,j]為表 2-1 所示數值,C[0,0,k]及

(20)

12

C0分別是第 k 個離散餘弦轉換區塊的 DC 直流係數及所有離散餘弦轉換區塊的 DC 直流係數平均,而 s[i,j,k]是在第 k 個離散餘弦轉換區塊的對比遮罩,我們稱 它為 slack。s[i,j,k]代表著每一個方塊於離散餘弦轉換後不會被人類視覺系統所查 覺的最大係數改變量。Watson 建議αT及 w[i,j]分別為 0.649 及 0.7。

2.4 Hadamard matrix

哈達瑪轉換(Hadamard Transform,HT)或稱華許-哈達瑪轉換(Walsh-Had amard transform,WHT)。哈達瑪轉換也是將空間域中的數位影像資訊轉至頻率 域再進行應用,其為一種快速運算的影像演算法,主要特徵為其矩陣的元素是由 +1 和-1 所組成,大小為 N×N,N=2n,以 N=8 為例,如式(2-4)表示:

8

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1

1 1 1 1 1 1 1 1

2 2

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

H

 

     

 

     

     

 

      

 

   

 

     

 

   

 

 

(2-4)

式(2-4)所表示者稱為 8×8 的 Hadamard matrix,Hadamard matrix 有遞迴的性 質,如式(2-5)表示:

2

1 1 1 1

 

   

H (2-5a)

2

N N

N

N N

  

  

 

H H

H H H (2-5b)

式(2-5)中,H2為 2×2 的 Hadamard matrix,H2N為 2N×2N 的 Hadamard matrix。

(21)

13

而 1-D HT 及 1-D IHT 定義如式(2-6)所示:

1

v x

N H (2-6a) 1

x v

N H (2-6b)

式(2-6)中,v 為做一維哈達瑪轉換的向量,H 為哈達瑪的矩陣,x 為一 N×1 的向量,而 2-D HT 及 2-D IHT 定義如式(2-7)所示:

1 T 1

N N

 

V HXH HXH (2-7a)

1

N

X H V H (2-7b)

式(2-7)中,V 為二維哈達瑪轉換的係數矩陣,X 為 N×N 的影像,因為 Hadamard matrix 為一實數、對稱和正交的矩陣,因此 HHT=I,H=HT。經過了 HT 轉換後有 相似於 DCT 的特質,其直流(DC)係數與 DCT 者完全相同。如圖 2-3 所示,可得 知影像經由二維的哈達瑪轉換(2D HT)後的影像能量於頻率上的分佈。

圖 2-3 原始影像資訊經由二維哈達瑪轉換

再 將 經 過 哈 達 瑪 轉 換 的 影 像 再 經 由 哈 達 瑪 反 轉 換 (Inverse Hadamard Transform,IHT)後,便可還原得到原始影像,如圖 2-4 所示:

(22)

14

圖 2-4 哈達瑪反轉換還原後的原始影像資訊

在式(2-3a)中,Watson Perceptual Model 最主要影響值的大小取決於 DC 值,而哈 達瑪轉換跟離散餘弦轉換有相同的 DC 值的特性,且哈達瑪轉換有運算簡單快速的優 點,因此在這使用哈達瑪轉換來簡化 Watson Perceptual Mode,如式(2-6)所示:

     

0

0 , 0 ,

, , ,

T

L

Y k

t i j k t i j

Y

 

  

  (2-6a) sH

i j k, ,

max

t i j kL

, ,

 

,Y i j k, ,

w i j[ , ]t i j kL

, ,

1w i j[ , ]

(2-6b)

式(2-6a)中將一張影像經由哈達瑪轉換處理時,將該影像以 8×8 為一區塊 (block)分別進行 8×8 二維哈達瑪轉換,分成了 k 個 8×8 的區塊,tL[i,j,k]是在第 k 個哈達瑪轉換區塊的亮度遮罩,t[i,j]為表 2-1 所示數值,Y[0,0,k]及 Y0分別是第 k 個哈達瑪轉換區塊的 DC 直流係數及所有哈達瑪轉換轉換區塊的 DC 直流係數平 均,而 sH[i,j,k]為簡化後的 slack,αT及 w[i,j]沿用 Watson 建議,分別為 0.649 及 0.7。

(23)

15

2.5 原始和簡化後 Watson Perceptual Model 的差異

在上一節我們利用哈達瑪轉換取代離散餘弦轉換來簡化 Watson Perceptual Model,雖然兩者在 DC 直流係數有相同的特性,但其他值亦有所差,本節將討 論兩者的差異。Watson Perceptual Model 主要是求得在離散餘弦轉換後的頻率域 裡,能改變不被人眼所查覺的最大改變量,這裡我們通稱為 slack。一般而言,

影像經過離散餘弦轉換後,以不被人類視覺系統所察覺為前提,DC 值都比其他 頻帶有更大的改變量,以 Peppers256 第(18,16)個 block 為例,如表 2-2 所示:

表 2-2 peppers256 (18,16)個 block 在 DCT 頻域不被人眼所查覺最大改變量(利用 Watson Perceptual Model 求得)

148.94 32.79 22.21 5.41 5.02 5.35 5.51 7.55 5.62 49.65 27.65 4.94 8.77 5.98 5.71 5.79 25.80 21.77 9.81 25.13 16.65 8.57 10.92 7.21 29.78 2.46 30.28 35.44 20.33 6.10 7.22 8.74 2.76 8.11 19.69 20.55 7.08 10.45 10.02 11.70 9.08 12.82 14.58 6.10 17.48 16.82 13.33 15.55 8.13 4.24 5.29 10.55 10.24 13.33 16.69 19.90 15.34 7.61 6.76 8.74 11.70 15.55 19.90 24.34

然而利用哈達瑪轉換取代離散餘弦轉換後所求得的簡化 slack DC 值皆一樣,而 其他頻帶有差異如表 2-3 所示:

(24)

16

表 2-3 簡化 peppers256(18,16)個 block 在 DCT 頻域不被人眼所查覺最大改變量(利用 Hadamard matrix 求得)

148.94 30.42 20.80 20.07 5.02 3.94 18.36 18.30 10.57 40.83 28.77 27.05 2.77 4.03 20.11 20.17 25.15 22.84 6.06 6.07 17.17 21.12 11.48 8.26 26.88 30.63 7.31 7.64 23.87 25.94 8.75 8.74 2.76 2.30 18.55 21.45 7.08 8.58 14.20 11.70 16.70 9.14 27.39 29.06 8.58 11.07 20.11 15.55 16.43 18.28 5.77 15.75 10.02 13.33 16.69 19.90 23.07 24.83 7.60 8.74 11.70 15.55 19.90 24.34

簡化後的 Watson Perceptual Model 比原始的 Watson Perceptual Model 更快速求得 slack,但需要犧牲誤差。以原始的 Watson Perceptual Model 求得之 slack 為基礎,利 用 Normalized correlation(NC)如式(2-7)所示,來檢視簡化後的 Watson Perceptual Model 與原始的 Watson Perceptual Model 在不同的影像之 slack 差異。如表 2-4 所示。

 

 

1 1

2

1 1

( , ) ( , ) ( , ) , 1, 2,..., , 1, 2,...,

M N

H i j

M N

i j

s i j s i j NC

s i j

i M j N

 





(2-7)

在式(2-7)中,若使用 256×256 影像,則 M=256,N=256,s(i,j)為原始的 Watson Perceptual Model 在每一個 8×8 的 block 求出 slack 後,再把每一個 block 組合成 256×

256 的 slack,sH(i,j)為簡化後的 Watson Perceptual Model,照原始的 Watson Perceptual Model 處理,利用 NC 來計算的結果越趨近於 1 表示相似,反之越趨近於 0 表示不相 似。

(25)

17

表 2-4 利用 NC 檢視原始 slack 為基礎和簡化後的 slack 之差異

Lena256 Peppers256 Board256 Cameraman256 NC 0.9992 1.0021 0.9555 0.9947

由表 2-4 中可以看出 NC 值皆趨近於 1,就是簡化後的 slack 和原始 slack 整體看 是相當近似。

(26)

18

第三章

利用高斯白雜訊當浮水印的架構

3.1 前言

本章將介紹利用高斯白雜訊當浮水印的架構,主要是利用高斯白雜訊的自相關 (autocorrelation)以及交互相關(crosscorrelation)的特性,來嵌入及萃取浮水印。而在不 可見的浮水印中,最主要的目的就是將浮水印影像如何藏匿至原始影像中,不被人類 的視覺系統所察覺出。尤其在 DCT 頻率域中嵌入浮水印,不同的頻帶嵌入浮水印有 不同的優缺點,所以選擇頻率域裡嵌入的頻帶是很重要的。3.2 節主要是介紹利用高 斯白雜訊相關性特性來判斷正確與錯誤,高斯白雜訊加上一已知向量的自相關(正確) 與交互相關(錯誤),說明高斯白雜訊的特徵。3.3 節中先利用上一章簡化的 Watson Perceptual Model 找出最適合嵌入的頻帶。3.4 節主要介紹在不同的白雜訊長度下,如 何找出的正確浮水印機率,以及建立浮水印萃取正確和錯誤的機率模型。3.5 節主要 在介紹如何選取加權值,從建立的機率模型中調整加權值可以提高頻帶嵌入高斯白雜 訊後以相關性做為判斷依據的正確性。然而加權值又受 slack 所影響。3.6 節主要介紹 此架構的研究結果與結論。

3.2 高斯白雜訊之相關性特性

常態分佈(Normal Distribution)又稱高斯分佈(Gauss Distribution)。一個連續隨機變 數 X 若屬常態分佈,常以 X~N(μ,σ2)表示,此隨機變數如式(3-1)所示:

 

2 2

( )

2 2

1 2

X

f X e



(3-1)

μ為隨機變數 X 的平均值,σ為隨機變數 X 的標準差,而常態分佈的特徵為一個左

(27)

19

右對稱於μ的鐘型曲線,而約有 68%數值分佈在距離平均值有 1 個標準差之內的範 圍,約有 95%數值分佈在距離平均值有 2 個標準差之內的範圍,約有 99%數值分佈在 距離平均值有 3 個標準差之內的範圍,如圖 3-1 所示:

(a) (b)

(c)

圖 3-1 常態分佈的曲線圖

白雜訊的特性就是對於兩個不同的時間做取樣,結果是不相關,只有跟本身有相 關。而高斯白雜訊(White Gauss Noise;WGN)就是指為白雜訊又符合常態分佈的隨機 向量。本研究初始概念如下式(3-2)所示:

( )

1

T T T

T

x z x x x z x z x

     

   (3-2a)

(28)

20

( )

0

T T T

T

x z y x y z y z y

     

   (3-2b) x 和 y 為兩正規化之高斯白雜訊,z 為一已知的向量,三者長度皆相同,式(3-2a) 中,一個高斯白雜訊 x 加上一已知向量 z,在對 x 做相關性,理論上會等於 1 加上已 知向量 z 與高斯白雜訊 x 的內積,如果已知向量之長度∣z∣不大則 z 與 x 的內積亦 不大。式(3-2b)中,如果對不是 x 的高斯白雜訊 y 做相關性,則理論上會等於 0 加上 已知向量 z 與高斯白雜訊 y 的內積,相對的,如果已知向量之長度∣z∣不大則 z 與 y 的內積亦不大。此時,式(3-2a)大於式(3-2b),在此稱判斷正確,反之稱判斷錯誤。

本論文是使用高斯白雜訊嵌入頻帶中, z 為影像頻帶係數所組成之向量,所以

∣z∣大小不一,將頻帶所組成的向量帶入式(3-2a)與式(3-2b)中,式(3-2a)的結果不一 定大於式(3-2b)的結果。所以在此做兩種處理,一種是在加上高斯白雜訊前乘上一個 加權值γ,如式(3-3)所示:

( ) T T T

T

x z x x x z x z x

 

     

   (3-3a)

( )

0

T T T

T

x z y x y z y z y

      

   (3-3b)

如果向量 z 與高斯白雜訊 y 的內積大於向量 z 與高斯白雜訊 x 的內積而造成判斷 錯誤,則此時γ可以降低判斷錯誤,如式(3-3a) 與(3-2b)即使 zyT大於 zxT,但γ大於 zyT減去 zxT,則提高判斷正確性。雖然γ值越大越能降低判斷錯誤,但γ值大會使影 像失真,即超出 slack 範圍,所以提高γ值後最主要還是要降低 z 值。第二種方式為 選擇 DCT 係數較小的頻帶做嵌入。本論文兼用上述兩種方法以提高判斷正確性。

(29)

21

3.3 適合嵌入高斯白雜訊的頻帶

上一節介紹使用高斯白雜訊來判斷正確與錯誤的方法,並說明 DCT 係數不能太 大,本節將討論如何選取適合嵌入的頻帶。由[16]所提出,在影像轉 DCT 頻率域後,

在 DC 值嵌入浮水印有最好的強健性,但影像容易失真,且可嵌入的浮水印資訊少,

而在低頻嵌入浮水印有好的強健性,影像也不容易失真,且可嵌入的浮水印資訊多,

而在中低頻嵌入浮水印有最不好的強健性,但影像最不容易失真,且可嵌入浮水印資 訊也多,圖 3-2 為[16]所提出的頻帶定義 L 為低頻、M 為中低頻、H 為高頻。

DC

L

M

H

圖 3-2 DCT 的頻帶分布

除了強健性、失真度與容量外,還須考慮到 DCT 值不能太大,因為要應用在以 高斯白雜訊當浮水印的架構,在此符合我們選取的條件是,slack 大且 DCT 值小,slack 越大表示可放浮水印容量大,相對 DCT 值要小如上一節所述。在此用 4 種 64×64 影 像去分析,每張影像先做以 8×8 為一個 block 的 DCT 轉換,每張影像有 64 個 block,

將一影像中每個頻帶係數取平均後,可得一代表整體影像之 8×8 之 DCT 係數。使用 簡化後的 Watson Perceptual Model 求出每一個 block 的 slack,再將 64 個 block 中每個 頻帶的 slack 平均,如此可得一代表整體影像之 8×8 之 slack 值。在此 8×8slack 值以

(30)

22

點運算除以 8×8 之 DCT 係數。結果如圖 3-3 所示。

圖 3-3a Lena64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

圖 3-3b Peppers64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

(31)

23

圖 3-3c Cameraman64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

圖 3-3d Board64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

(32)

24

從圖 3-3a、圖 3-3b、圖 3-3c、圖 3-3d 中可以看出部分比值較高,而其他值都較 平緩,即比值相對較低,因此可能忽略其他適合的頻帶,在此將較高的值設低,把大 於 100 的值設為 0,如圖 3-4 所示:

圖 3-4a 改變 Lena64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

(33)

25

圖 3-4c 改變 Cameraman64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

圖 3-4d 改變 Board64 以 8×8 為一個 block 表示的 slack 與 DCT 係數取平均的比值

(34)

26

由圖 3-3 以及圖 3-4 中,可以看出除了最大值之外,四張影像中最適合高斯白雜 訊當浮水印的頻帶是高頻,因此我們初步選擇高頻嵌入浮水印。但並不是所有高頻都 適合嵌入浮水印,在此我們在利用相關性的特性如圖 3-5 所示,從高頻中找尋更恰當 嵌入的頻帶。

圖 3-5 自相關與交互相關的直方圖

圖 3-5 是利用式(3-3)應用在 Cameraman256 其中一個 bock 之高頻的 DCT 係數且 使用不同的 x 和 y 值做 10000 次所得到。圖 3-5 中橫軸為自相關與交互相關的值,縱 軸為自相關與交互相關的值出現的次數,兩者皆為高斯分佈,黑色部分為交互相關所 以平均值約為 0,灰色部分為自相關,而加權值為 50,所以平均值約為 50。黑色和 灰色重疊部分就是容易判斷錯誤。重疊部分的大小是由兩高斯分佈的標準差所決定,

標準差越大高斯分佈越寬,圖 3-5 中重疊部分越大,越容易判斷錯誤。若高頻係數越 大,則標準差越大,越易錯誤。因此,本論文選擇 DCT 高頻係數較高的 Board256,

利用平均值及標準差來找尋更適合的頻帶。為了方便起見,圖 3-6 表示高頻部分之頻 相關性(Correlation)

出現次數

(35)

27

帶及排列順序。

圖 3-6 8×8DCT 高頻部分及排列順序

Board256 經過 8×8 的 DCT 可以得到 32×32 個 block,每個 block 有 1×25 的 DCT 值所排列的向量,再利用式(3-3)做 10000 次,隨機向量長度也為 1×25,可得到每個 block 的平均值及標準差,再利用 2 倍的標準差去判斷重疊的部分,進而選取適當的 頻帶。如表 3-1 所示:

(36)

28

表 3-1 Board256 (μ2+2σ2)- (μ1+2σ1),γ=80

111.17 42.83 31.76 -21.73 58.80 132.77 67.92 148.92 59.81 21.53 33.06 -26.44 4.38 75.13 21.81 69 -31.81 -7.13 109.69 -4.8 72.57 51.32 58.38 44.16 -21.20 -11.01 30.22 -20.99 6.97 45.6 6.75 10.65 -0.01 -22.08 -5.03 62.59 112.26 89.54 44.13 43.58 33.27 81.58 88.45 51.92 -33.37 74.43 33.42 47.67 68.26 122.67 116.36 62.54 104.06 98.5 33.71 15.59 21.7 18.89 0.5 -22.1 70.01 15.38 68.81 29.04

表 3-1 中為(μ2+2σ2)- (μ1+2σ1)的值,μ1為自相關的平均值,μ2為交互相關 的平均值,σ1為自相關的標準差,σ2為交互相關的標準差,γ為加權值,表 3-1 中 可以得知加網底者(0,7)重疊最多。把該 block 的 DCT 係數依圖 3-6 中之數目值順序所 排列加以檢視,如圖 3-7 所示:

圖 3-7 Board256 C(0,7)block 依圖 3-6 所排列之序列 於圖 3-6 中之編號

DCT係數

(37)

29

從圖 3-7 中,可以發現在第 1 個 DCT 係數值較大,容易造成判斷錯誤,即兩高 斯分佈容易重疊,故不選取此頻帶,因為 DCT 頻域有對稱性,所以於圖 3-6 中不選 取對稱於第 1 個 DCT 係數的第 25 個 DCT 係數,結果如圖 3-8 所示。

圖 3- 8 8×8DCT 選取高頻部分縮減及排列順序

圖 3-8 中,黑色部分為上一次處理過程不選取之頻帶部分,有數字部分為縮減選 取的高頻部分,再利用相同方法找尋適合頻帶。此時有數字部分所組成向量長度為 1

×23,再利用相同方式求出兩倍標準差如表 3-2 所示。

(38)

30

表 3-2 Board256 (μ2+2σ2)- (μ1+2σ1),γ=80

87.82 20.89 11.13 -22.78 40.37 72.98 20.89 49.08 45.46 10.37 28.12 -27.19 6.71 43.85 25.21 15.42 -30.70 -11.64 84.14 -2.37 53.52 57.97 14.99 22.98 -20.19 -8.76 35.3 -19.1 7.66 26.58 -5.13 -5.62 2.64 -21.34 -14.81 66.17 -33.05 54.4 -17.23 14.06 3.672 69.26 71.11 -10.35 -36.36 -18.44 27.39 21.96 0.95 40.74 73.73 15.12 -28.68 2.5 2.58 1.7 22.54 7.3 0.29 -31.32 29.33 -3.85 17.07 15.15

於表 3-2 中,(0,0)的值為 87.82 重疊最大,如表 3-2 加網底所示,且(2,2)及(6,2) 也有類似情形,所以把該 block 的 DCT 所排列向量提取並檢視,如圖 3-9 所示。

圖 3-9a Board256 C(0,0) block 依圖 3-8 所排列之序列 於圖 3-8 中之編號

DCT係數

(39)

31

圖 3-9b Board256 C(2,2) block 依圖 3-8 所排列之序列

圖 3-9c Board256 C(6,2) block 依圖 3-8 所排列之序列

經由觀察發現圖 3-9a 中的第 18 個 DCT 係數,圖 3-9b 中第 13 個 DCT 係數以及 圖 3-9c 中的第 23 個 DCT 係數之絕對值都超過 100,故縮減如圖 3-10 所示。檢測重

於圖 3-8 中之編號

DCT係數

於圖 3-8 中之編號

DCT係數

(40)

32

疊如表 3-3 所示。

圖 3-10 8×8DCT 高頻頻帶選取及排列順序

表 3-3 Board256 (μ2+2σ2)- (μ1+2σ1) γ=80

67.24 15.11 -8.25 -19.21 24.05 64.59 2.08 56.24 40.94 9.96 14.95 -23.39 8.23 32.86 25.25 10.79 -24.29 -12.86 51.04 3.31 50.95 62.61 7.32 7.85 -20.72 -6.4 49.4 -18.83 10.55 35.54 -2.74 -3.18

-0.29 -21.11 -23.67 39.7 -35.73 9.7 -13.15 -3.33 15.36 73.06 68.84 -10.47 -30.07 -14.42 18.4 20.23 -6.38 26.86 50.65 -5.3 -23.01 3.76 3.32 -12.53 16.49 10.53 -6.9199 -30.89 27.99 -11.18 26.26 -2.06

(41)

33

表 3-3 中,(5,1)重疊較大,故看其 DCT 係數如圖 3-11 所示:

圖 3-11 Board256 C(5,1) block 依圖 3-10 所排列之序列

圖 3-11 中,DCT 係數絕對值都低於 100。當然此時重疊問題與加權值有關,但 加權值之影響是全面性的,於頻帶選取上只需考慮相對應之能量亦可。因此初步使用 此選取的高頻頻帶以嵌入高斯白雜訊,但考慮選取方便,我們將選取的高頻頻帶略做 調整最後結果,如圖 3-12 所示:

於圖 3-10 中之編號

DCT係數

(42)

34

圖 3-12 最後的 8×8DCT 所選取頻帶及排列順序

3.4 建立萃取高斯白雜訊隨機向量之機率模型

上一節中我們選定嵌入浮水印的頻帶,一般 256×256 的影像如圖 3-13 所示,每 一個 block 可以組成 1×16 的向量如圖 3-12 所示,相對高斯白雜訊也為 1×16 的隨機向 量。以一 1×16 正規化後的向量,理論上向量元素之值為 0.25。於式(3-3)計算,由實 驗結果顯示容易判斷錯誤,在前一節我們提到可以增加加權值來降低判斷錯誤,但在 這裡我們也可以增加高斯白雜訊的長度,即把多個 block 當一個 group 嵌入,如圖 3-14。

(43)

35

圖 3-13 256×256 影像所嵌入頻帶

圖 3-14 64 個 block 當一個 group

圖 3-14 中為本論文的第一種選取方式,選取 64 個 block 當一個 group,G1到 G16

都是 1×1024 的向量,此長度之正規化之向量其元素值為 0.0313,比之前小很多,如 此可減少判斷錯誤,第二種為選取 32 個 block 當一個 group,每個 group 可以組成 1

(44)

36

×512 的向量,第三種為為選取 16 個 block 當一個 group,每個 group 可以組成 1×256 的向量。如式(3-4)為第一種選取方式,,在此嵌入的 group 長度決定高斯白雜訊的長 度。

1 , 1

1 , 2 1

1 , 1 0 2 4

g G g

g

 

 

 

  

 

 

 

(3-4a)

1 , 1

1 , 2 1

1 , 1 0 2 4

k K k

k

 

 

 

  

 

 

 

(3-4b)

式(3-4)中,G1為第一個 group 的 DCT 值,K1為嵌入第一個 group 的高斯白雜訊,

因此,(G1

+βK1

) K1為 autocorrelation,(G1

+βK1

) KN,N=2,3,..,15,16 為

crosscorrelation,為了易於判斷起見,加入加權值β。對於多個高斯白雜訊為隨機向 量之取得。本論文採用一種方便的方法取得,先取出一個高斯白雜訊,再對它做一個 位元的旋轉作為第二個高斯白雜訊,因此一個 1×1024 的高斯白雜訊做旋轉可以得到 1024 個高斯白雜訊,如式 3-5 所示。

1 , 2

1 , 3

2

1 , 1 0 2 4

1 , 1

k k K

k k

 

 

 

 

 

 

 

 

(3-5a)

(45)

37

1 , 1 0 2 4

1 , 1

1024

1,1022

1,1023

k k K

k k

 

 

 

 

 

 

 

 

(3-5b)

在圖 3-14 中,總共有 16 個 group 要嵌入 16 個不同的高斯白雜訊,在嵌入後每 一個 group 要對 16 個高斯白雜訊做相關性比時,才能知道是否為對應的高斯白雜訊。

以自相關大於交互相關為正確定義下,不同的影像以及不同的高斯白雜訊都會影響到 正確的機率。再者,相同的影像不同的加權值也會影響,因此要在本論文研究如何於 常用的影像中找出一個能通用的正確的機率模型。我們使用高頻係數較高的

Cameraman256 和 Board256 來建立通用的機率模型,因為其高頻係數較大,較容易產 生判斷錯誤,而在驗證則多加了 Lena256 及 Peppers256。

3.4.1 隨機向量長度為 1×1024 的機率模型

在實驗結果中發現不只有高斯白雜訊向量的長度影響判斷,加權值也影響判斷,

加權值越大做 10000 次所呈現的直方圖自相關與交互相關越分離,3.2 節中提到加權 值越大越不容易判斷錯誤,但加權值值越大影像越容易影像失真因此加權值要用 slack 來選取,在此加權值使用β來表示。如圖 3-15a,圖 3-15b,圖 3-15c 為 Cameraman256 的第 15 個 group 利用式(3-3)在不同加權值下自相關與交互相關的直方 圖。橫軸為做相關性後的值,縱軸為該值出現的次數,在此每一個 group 嵌入高斯白 雜訊後,要利用相關性來找出所嵌入的高斯白雜訊,所以一個 group 要做 16 次相關 性,然而只有一個是自相關其他都為交互相關,而每一個自相關以及交互相關的直方 圖都類似,因此只做一次自相關與交互相關的直方圖來表示。

(46)

38

圖 3-15a Cameraman256 第 15 個 group,β值為 50 時的自相關與交互相關

圖 3-15b Cameraman256 第 15 個 group,β值為 60 時的自相關與交互相關 相關性(Correlation)

出現次數

相關性(Correlation)

出現次數

(47)

39

圖 3-15c Cameraman256 第 15 個 group,β值為 70 時的自相關與交互相關

由圖 3-15a,圖 3-15b,圖 3-15c 可以發現β值越大,自相關與交互相關越分開,

表示越不容易有誤差,且自相關與交互相關重疊部分越大即表示判斷錯誤可能性越 高,而重疊部分的中心點大約為β/2,因此我們設此值為相關性判斷之 threshold,以 大於β/2 為正確,小於β/2 為錯誤。此外,重疊部分的β/2 右邊也有可能為錯誤,因 此我們在正確的判斷上要加上自相關要比交互相關大才方為正確。以此條件及考慮一 張影像中正確的 group 數和β值大小來建立正確的機率模型。如表 3-4 所示為

Cameraman256 分成 16 個 group 利用式(3-3),加權值從 40 到 100 間隔為 10。表 3-4 為做 10000 次的實驗結果,表中呈現為 10000 次實驗中出現之次數,表 3-5 為利用表 3-4 建立的機率模型。

相關性(Correlation)

出現次數

(48)

40

表 3-4 β/2 為 threshold 做 10000 次正確的 group 數

表 3-5 β/2 為 threshold,不同β值的機率模型

建立好如表 3-5 之機率模型後,觀察表 3-5,發現若全部 group 皆要正確,則β 值要大,於是考慮於一張影像中可允許判斷錯誤的 group 數,如此就可以降低β值就 可以符合 slack 要求。以 Pe(β*)表示錯誤機率,1- Pe(β*)為正確機率如圖 3-16 所示,

在此機率模型會隨著β而改變,即β值越大則正確之機率越高。可預測做 10000 次的 結果中,在相同的正確 group 下不同的β的機率,如圖 3-17 所示。

(49)

41

圖 3-16 判斷正確與錯誤的機率模型

圖 3-16 為判斷正確與錯誤的機率模型,知道正確和錯誤機率後,可以預測做 10000 次的正確或錯誤次數,例:C100005 (Pe(*))5(1Pe(*))9995P{10000 張測試中 錯 5 張}=P{10000 張對 9995 張} 。而如果重錯 1 張累積正確或錯誤到錯 5 張正確或 錯誤會如式(3-6)所示。

1 0 0 0 0 * 0 * 1 0 0 0 0

0

1 0 0 0 0 * 1 * 9 9 9 9

1

1 0 0 0 0 * 2 * 9 9 9 8

2

1 0 0 0 0 * 3 * 9 9 9 7

3

1 0 0 0 0 * 4 * 9 9 9 6

4

1 0 0 0 0 * 5 * 9 9 9 5

5

( ( ) ) ( 1 ( ) ) ( ( ) ) ( 1 ( ) ) ( ( ) ) ( 1 ( ) ) ( ( ) ) ( 1 ( ) ) ( ( ) ) ( 1 ( ) ) ( ( ) ) ( 1 ( ) )

P C P e P e

C P e P e

C P e P e

C P e P e

C P e P e

C P e P e

 

 

 

 

 

 

 

 

 

 

 

 

(3-6)

由式(3-6)假設一錯誤機率為 0.0005,在對 10000 次到對 9995 次累積正確和錯誤機率 如圖 3-17 所示。

(50)

42

圖 3-17 以式(3-6)條件下,累積運算正確和錯誤機率

圖 3-17 中,當做 10000 次實驗,對 10000 張的機率為 0.616,對 9999 張的機率 為 0.3703,而兩次累積機率為 0.9863,對 9998 張的機率為 0.0136,三次累積機率為 0.9999,對 9997 張以上機率為 1,表示對低於 9997 張都不會出錯。

圖 3-18 相同正確 group 數,不同的β值的差異 做 10000 次實驗,累積正確張數

Probability

做 10000 次實驗,累積正確張數

Probability

(51)

43

利用上述所計算,圖 3-18 表示β=100 時,做 10000 次實驗結果,在正確低於 9970 次的機率都近似 1,表示做 10000 次中,最多只會錯 30 張,在β=90 時,做 10000 次實驗結果,在正確低於 9910 次的機率都近似 1,表示做 10000 次中,最多只會錯 90 張,在β=80 時,在正確 9740 次到正確的機率都近似 0,故錯誤太高並不能使用,

而圖 3-18 主要說明在相同的正確 group 數中,β值的不同可以提高正確的機率,圖 3-19 為相同的β且不同的正確 group 數。

表 3-6 β/2 為 threshold,不同β值的機率模型

3.4.2 向量長度為 1×512 的機率模型

跟上一節的做法一樣,只是選取的 block 變少,相對的能嵌入的高斯白雜訊變多,

總共有 32 個 group,如表 3-7 為 Cameraman256 的機率模型,表 3-8 為 Board256 的機 率模型。

表 3-7 β/2 為 threshold,不同β值 Cameraman256 的機率模型

(52)

44

表 3-8 β/2 為 threshold,不同β值 Board256 的機率模型

3.4.3 向量長度為 1×256 的機率模型

表 3-9β/2 為 threshold,不同β值 Cameraman256 的機率模型

表 3-10β/2 為 threshold,不同β值 Board256 的機率模型

由表 3-7、表 3-8、表 3-9、表 3-10 中可以看出向量長度越小,可嵌入資訊越多,

但也越容易錯誤,提高加權值β值可以改善此問題,但β值又受 slack 影響。

(53)

45

3.4.4 浮水印嵌入在頻帶的機率模型

在 3.4.1 到 3.4.3 中,我們使用高斯白雜訊嵌入在以 block 做區分的 group 上,如 圖 3-13 及圖 3-14 所示,本論文稱之為 Horizontal(水平)嵌入。但在每個頻帶也可以嵌 入高斯白雜訊,我們稱為 Vertical(垂直)嵌入,如圖 3-19 所示。

圖 3-19 每個 DCT 頻帶當一個 group

在圖 3-19 中,一張 256×256 影像共可用為 32×32=1024 個 8×8 之 block,將此 1024 個 block 疊在一起,每個 DCT 頻帶當一個 group,總共有 16 個 group,每個頻帶所組成 1 個 1×1024 的向量,跟前面選取 16 個 group 嵌入的方是一樣,且利用 Cameraman256 以及 Board256 建立機率模型,為了讓水平與垂直嵌入的加權值有所分別,在這裡垂 直的加權值使用α來表示,如表 3-11、表 3-12 所示。

(54)

46

表 3-11α/2 為 threshold,不同α值 Cameraman256 的機率模型

表 3-12α/2 為 threshold,不同α值 Board256 的機率模型

3.5 選取加權值

在上一節中我們使用 Cameraman256 以及 Board256 建立機率模型,因為這兩張 影像是四張中嵌入高斯白雜訊後錯誤最多的影像,因此,要找一個通用在這四張影像 的機率模型必須從這兩張找出共通點。在上一節所建立的機率模型中能看得知最後水 平嵌入時若提高β值可以提升判斷正確的機率。此情形亦同時適用於垂直嵌入時之α 值。但最後要選定加權值還是要依 slack 來決定。為了讓加權值之分析及選定簡單化,

把加權值都以γ表示,再從 slack 中找出加權值。因為不管是垂直嵌入或水平嵌入,

同一個 DCT 係數都會加兩次高斯白雜訊的值,因此我們利用每個頻帶所求的 slack 來決定適合的加權值。

(55)

47

表 3-13 Cameraman256DCT 頻帶的 slack 取平均

7.7267 8.8317 9.3952 10.6784 12.0958 13.5073 7.6550 9.6971 12.1509 14.6707 16.9360 8..4753 10.5373 13.5247 16.9166 20.4714

表 3-14 Board256DCT 頻帶的 slack 取平均

15.0434 14.2235 15.0317 14.7506 16.4035 16.9344 15.5042 15.4421 16.8259 17.7727 19.4844 14.5756 15.3381 16.8596 19.1449 21.9572

表 3-13 和表 3-14 為利用簡化後的 Watson Perceptual Model 求出每一個 block 的 slack,如圖 3-20 所表示者,將 1024 個 block 中相同頻帶之 slack 取平均,表示每頻 帶能嵌入的容量。加網底為兩影像最小之 slack,也為兩影像通用之 slack,在這裡可 以看出,雖然 Board256 高頻係數值大,但相對 slack 大,且 Cameraman256 之通用 slack 約為 Board256 之通用 slack 二分之一。在得到 slack 後,利用高斯白雜訊的理論值,

(56)

48

就可以求出最大的加權值γ,在垂直跟水平長度為 1×1024 的向量時,如式(3-6)所示。

0.0313 0.0313 0,

0.0313 2 slk

slk

    

      

  

(3-6)

式(3-6)中的 slk 為該頻帶的最大容量,而 0.0313 為高斯白雜訊長度為 1×1024 做

正規化後,向量元素的理論值為 1

1024 ,γ為加權值。表 3-15 和表 3-16 為式(3-6) 的每個頻帶的γ最大值。因為就同影像或一影像中之一 block 而言,取一相同之γ值 為最方便,所以表中要選取最保守值,即為最小值如加網底所示。

表 3-15 Cameraman256 的γ最大值,由式(3-6)求得

123.43 141.08 150.08 170.58 193.22 215.77 122.28 154.90 194.10 234.35 270.54 135.38 168.32 216.04 270.23 327.01

(57)

49

表 3-16 Board256 的γ最大值,由式(3-6)求得

240.30 227.21 240.12 235.63 262.03 270.51 247.67 246.67 268.78 289.90 311.25 232.83 245.01 269.32 305.82 350.75

而水平長度為 1×512 它的高斯白雜訊理論值為 1

512和垂直長度為 1×1024 也是 一樣的算法,如式(3-7)所示。在看γ的最小值如表 3-17 和表 3-18 加網底所示。

0.0313 0.0442 0,

0.0313 0.0442 slk

slk

    

      

  

(3-7)

表 3-17Cameraman256 的γ最大值,由式(3-7)求得

102.34 116.97 124.43 141.43 160.20 178.90 101.39 128.43 160.93 194.31 224.31 112.25 139.56 179.13 224.06 271.14

(58)

50

表 3-18 Board256 的γ最大值,由式(3-7)求得

199.24 188.39 199.09 195.37 217.26 224.29 205.35 204.53 222.86 235.39 258.07 193.05 203.15 223.30 253.57 290.82

而水平長度為 1×256 它的高斯白雜訊理論值為 1

256 和垂直長度為 1×1024,如式 (3-8)所示。在看γ的最小值如表 3-19 和表 3-20 加網底所示。

0.0313 0.0625 0,

0.0313 0.0625 slk

slk

    

      

  

(3-8)

表 3-19 Cameraman256 的γ最大值,由式(3-8)求得

82.37 94.15 100.16 113.84 128.95 144 81.60 103.38 129.54 156.40 180.55 90.35 112.33 144.18 180.34 218.24

(59)

51

表 3-20 Board256 的γ最大值,由式(3-8)求得

160.37 151.63 160.25 157.18 174.87 180.53 165.28 164.62 179.38 189.47 207.72 155.39 163.51 179.73 204.10 234.08

由表 3-15 及 3-16 中若欲得對任一影像具有共通性之γ值,則於水平嵌入之高斯 白雜訊長度為 1×1024 和垂直嵌入之高斯白雜訊長度為 1×1024 的條件下,可選擇以 Cameraman256 為基礎之γ值為 122.28,而此時

21 . 227 60 . min 81

min

56 Cameraman2

Board256

Board256  

slk

slk ,約為 Cameraman256γ值的兩倍。相同的,

水平嵌入之高斯白雜訊長度為 1×512 與 1×256 也有相同結果,可由表 3-17、3-18、

3-19、3-20 看出。

3.6 實驗結果與討論

由表 3-15、表 3-16、表 3-17、表 3-18、表 3-19、表 3-20 可以找到各個不同高斯 白雜訊長度下最適當的γ值。從 Cameraman256 和 Board256 的實驗中選定γ值之後 期望能據此找到通用的γ值。在此我們設定於 10000 次實驗中錯誤不能超過 20 次當 基礎,來找尋通用的γ值。由上一節中可以發現,Board256 的γ值近似兩倍的 Cameraman256 的γ值。因此可以整理出 Cameraman256 和 Board256 最適合的正確 group 數以及對應的加權值,如圖 3-20。

參考文獻

相關文件

對於給定的一個 x 值,經過某一對應方式後得到「唯一」的 y 值,這種對應方式我們稱 為函數,其中 x 是自變數,y 是應變數。. 而在表

每10個白色積木可以換成1條橘色積 木,直到剩下的白色積木無法換成橘 色積木為止。.

之後每次從 heap 取 出一個 item, 放入 sorted list.. array of items 想是

D5.1 應用1個具體圖像代表 1個單位,製作象形圖 D5.2

Motion 動畫的頭尾影格中只能有一個 Symbol 或是群組物件、文字物件;換 言之,任一動畫須獨佔一個圖層。.. Motion

則根據公式(3-1)即可求得產品 A 之第 一個瓶頸迴圈可能被往後 推平之時間為 2 天,而產品 A 之第 二個瓶頸迴圈可能被往後推平之 時間為 2 天﹔至於產品

Mutual information is a good method widely used in image registration, so that we use the mutual information to register images.. Single-threaded program would cost

It allows a much wider range of algorithms to be applied to the input data and can avoid problems such as the build-up of noise and signal distortion during processing.. Since