• 沒有找到結果。

棋盤式直方圖的可逆式隱藏資訊

二. 文獻回顧

2.2 棋盤式直方圖的可逆式隱藏資訊

Yang 等人在 2009 年提出了棋盤式預測法應用於直方圖的可逆式隱藏技術 [17],利用自然影像中相鄰的像素值相差不大的特性,從周圍的像素值進行指定 像素點𝑃𝑖,𝑗的預測,利用周遭的像素值產生預測值𝑆𝑖,𝑗,接著將指定像素點𝑃𝑖,𝑗與預 測值𝑆𝑖,𝑗相減獲得預測誤差值𝐷𝑖,𝑗,藉以提升可隱藏的資訊量。Yang 等人首先將影 像分為兩部分,一次只對一個部分進行預測及隱藏。第一次預測時,Yang 等人 利用周遭的白底與黑底的指定像素值相減獲得預測值𝑃𝑖,𝑗。以下用例子說明 Yang 等人所提出的方法。

首先,Yang 等人將影像分為兩個部分,如圖 1,一次只對一個部分進行運算。

圖 1. 5*5 影像

第一次預測時如圖 2,Yang 等人用白底的指定像素點𝑃𝑖,𝑗將周圍的黑底像素 值產生集合𝑆𝑖,𝑗,如公式 2.5 所示。將集合內的預測值加總,使用公式 2.6 將指定 像素值減掉預測值產生預測誤差值𝐷𝑖,𝑗

𝑆𝑖,𝑗 = {𝑃𝑖+1,𝑗 , 𝑃𝑖+1,𝑗, 𝑃𝑖−1,𝑗, 𝑃𝑖,𝑗−1} (2.5) 𝐷𝑖,𝑗 = 𝑃𝑖,𝑗 − ⌊𝑝∈𝑆𝑖,𝑗|𝑆 𝑝

𝑖,𝑗| ⌋ (2.6)

圖 2. 計算完白底預測值的影像

7

8

圖 5. 藏入機密資訊的直方圖

根據圖 5,可以轉換回原來的影像矩陣如圖 6。

圖 6. 轉換後的影像矩陣

使用公式 2.9,將預測值轉換回像素值,即可得到偽裝影像,如圖 7 所示。

𝑃𝑖,𝑗 = 𝐷𝑖,𝑗 + ⌊𝑝∈𝑆𝑖,𝑗|𝑆 𝑝

𝑖,𝑗| ⌋ (2.9)

圖 7. 將預測值轉換成像素值

如果機密資訊尚未嵌入完畢,則對黑底部分進行同樣的步驟,直到所有的機 密資訊藏匿完畢,完成資訊隱藏。一般而言,演算法執行完畢將產生四組高點與 零點資訊、機密資訊長度及偽裝影像,必須傳給特定使用者,使用者可以藉由這 些資訊經由萃取演算法取出機密資訊,並還原影像。

0 1 2 -1

-2 -3

5

1 3

1 1 1

9

2.3 九宮格式直方圖的可逆式隱藏[1,12]

林學者等人在 2009 年基於 Yang 等人的方法[17]提出了九宮格預測法於直方 圖的可逆式資訊隱藏。與 Yang 等人的方法一樣,也是利用周遭的像素值對目標 像素值𝑃𝑖,𝑗進行預測,所不同的是從預測範圍從周圍四格到周圍八格,如圖 8,為 了避免像素值更動互相干擾,分區也從兩區變成四區,如圖 9。

圖 8. 九宮格預測法的取樣範圍

圖 9. 九宮格預測法的分區方式

首先,從第一個區塊運算,一次只對一個區塊作處理。掃描方向從左至右,

從上而下,將同一區塊的全部像素值𝑃𝑖,𝑗進行預測,特定像素值的周遭的像素值 集合為𝑆𝑖,𝑗,藉由公式 2.10 算出預測值𝐷𝑖,𝑗,之後以直方圖進行統計。

𝐷𝑖,𝑗 = 𝑃𝑖,𝑗 − ⌊𝑝∈𝑆𝑖,𝑗|𝑆 𝑝

𝑖,𝑗| ⌋ (2.10) 藉由直方圖統計之後,下一步是選取高點及零點,每一區塊都各選擇兩組高 點及零點(𝐻11, 𝐻12, 𝑍11, 𝑍12),林學者等人的方法不像 Yang 等人的方法[16],高點

10

11

2.4 二維直方圖的可逆式資訊隱藏技術[8]

2012 年,Chen 等人提出了利用二維直方圖的概念結合直方圖的可逆式資訊 隱藏[8]。跟 Yang 等人提出的方法一樣[17],Chen 等人將影像分為兩個區塊如圖 10,一次只對一個區塊進行運算。接著利用自然影像中相鄰的像素值相差不大的 特性,利用指定像素點𝑃𝑖,𝑗,周遭的像素值的平均做為參考值,分別為𝑋𝑖,𝑗與𝑌𝑖,𝑗。 𝑋𝑖,𝑗是目標像素點左右的像素值的集合,𝑌𝑖,𝑗是目標像素點上下的像素值集合。接 著用指定的像素值分別對兩個參考值進行計算,得到兩個預測值分別為𝐷𝑥𝑖,𝑗與 𝐷𝑦𝑖,𝑗。計算方式如公式 2.14 所示。

圖 10. 分區範例影像

{

𝐷𝑥𝑖,𝑗 = 𝑃𝑖,𝑗− ⌊𝑝∈𝑋𝑖,𝑗|𝑋 𝑝

𝑖,𝑗| ⌋ 𝐷𝑦𝑖,𝑗 = 𝑃𝑖,𝑗 − ⌊𝑞∈𝑌𝑖,𝑗|𝑌 𝑞

𝑖,𝑗|

(2.14)

首先對白底部分進行預測,利用公式 2.14 求出白底上所有像素點的𝐷𝑥𝑖,𝑗跟 𝐷𝑦𝑖,𝑗,並利用二維直方圖進行統計得到圖 11,為了方便了解,轉成數值,如圖 12 所示。

圖 11. 二維直方圖的統計圖

12

圖 12. 用座標的方式表示二維直方圖

接著利用位移在第一象限(+, +)及第三象限(−, −)空出能讓機密資訊嵌入的 空間,如圖 13,利用公式 2.15,即可進行資訊隱藏。

圖 13. 進行位移,產生可隱藏資訊的空間

𝑃𝑖,𝑗 = {𝑃𝑖,𝑗 + 1, 𝑖𝑓 𝐷𝑥𝑖,𝑗, 𝐷𝑦𝑖,𝑗 > 0, (𝐷𝑥𝑖,𝑗, 𝐷𝑦𝑖,𝑗) ≠ (1,1)

𝑃𝑖,𝑗 − 1, 𝑖𝑓 𝐷𝑥𝑖,𝑗, 𝐷𝑦𝑖,𝑗 < 0 (2.15)

最後利用位於 X 軸及 Y 軸上的點來隱藏機密資訊,如圖 14。如果機密資訊 為 1,則進行位移。如果機密資訊為 0,則不進行任何動作。如公式 2.16

13

14

𝑃𝑖,𝑗 = {𝑃𝑖,𝑗 + 1, 𝑖𝑓 𝐷𝑥𝑖,𝑗, 𝐷𝑦𝑖,𝑗 > 0, (𝐷𝑥𝑖,𝑗, 𝐷𝑦𝑖,𝑗) ≠ (1,1)

𝑃𝑖,𝑗 − 1 , 𝑖𝑓 𝐷𝑥𝑖,𝑗, 𝐷𝑦𝑖,𝑗 < 0 (2.18)

接著,則對白底再進行一次同樣的步驟,直到所有的機密資訊被取出,並將 取出的機密資訊進行合併,即完成機密資訊的萃取。

一般的直方圖的可逆式資訊隱藏技術受限於一維的限制,所有的像素值都幾 乎會被移動,而 Chen 等人提出的方法位移的區塊只有第一及第三象限,所以被 位移的像素點只有 50%。由於位移的像素點大幅減少,所以偽裝影像的品質大幅 提高,又能保持高藏量的特性,達到高隱藏量、高品質的目的。

15

三. 基於三維直方圖的可逆式資訊隱藏技術

在進入第三章節之前,先簡單介紹本章節的結構。首先在 3.1 節,定義符號 並簡單介紹本論文所提出的方法與概念,並詳述三種參考值的取樣範圍。在 3.2 節中,將提出資訊隱藏演算法及資訊萃取與回覆演算法,在 3.3 節中,為了改善 此方法的缺點,我們提出新的策略。

3.1 簡介

在這個章節中,我們將詳細介紹我們所提出的演算法,並利用一個簡單的例 子來解釋所提出的方法。首先,我們先定義在本章節會使用到的符號,本論文使 用的影像大小皆為 512*512,原始影像位置(i, j)對應像素值𝑃𝑖,𝑗,而0 ≤ 𝑖, 𝑗 ≤ 511、

且0 ≤ 𝑃𝑖,𝑗 ≤ 255。𝑋𝑖,𝑗、𝑌𝑖,𝑗、𝑍𝑖,𝑗分別是用來計算𝑃𝑖,𝑗的 X、Y、Z 維度的參考值,

根據預測方法的不同計算範圍而有所不同。𝑇𝑥𝑖,𝑗是指 X 方向的預測值,也作為𝑃𝑖,𝑗 的 X 維度的座標,𝑇𝑦𝑖,𝑗是指 Y 方向的預測值,也作為𝑃𝑖,𝑗的 Y 維度的座標,𝑇𝑧𝑖,𝑗指 Z 方向的預測值,也作為𝑃𝑖,𝑗的 Z 維度的座標。

其次,我們將影像分為四區如圖 15,一次只對一區進行運算,接著在計算預 測值之前,我們要先進行參考值範圍的定義,預測方法跟參考值的範圍是環環相 扣的。於是,本論文提出了三種參考值取樣的方法:

圖 15. 三維直方圖預測法的影像分區

16

(1) 預測法 1

如圖 16 所示,由左至右分別是𝑋𝑖,𝑗、𝑌𝑖,𝑗、𝑍𝑖,𝑗的參考值範圍,用簡單的 3*3 影像作為例子。影像正中間是目標像素值𝑃𝑖,𝑗,參考值範圍如同灰色區塊所示。𝑋𝑖,𝑗 是取𝑃𝑖,𝑗上、下、左、右的像素值如同灰色範圍,𝑌𝑖,𝑗是取𝑃𝑖,𝑗左上、左下、右上、

右下的像素值,𝑍𝑖,𝑗是取𝑃𝑖,𝑗周邊八格的像素值。

圖 16. 預測法 1 的取樣範圍 (2) 預測法 2

如圖 17 所示,由左至右分別是𝑋𝑖,𝑗、𝑌𝑖,𝑗、𝑍𝑖,𝑗的參考值範圍,用簡單的 3*3 影像作為例子。影像正中間是目標像素值𝑃𝑖,𝑗,參考值範圍如同灰色區塊所示。𝑋𝑖,𝑗 是取𝑃𝑖,𝑗左上、上、左、右、右下、下的像素值,𝑌𝑖,𝑗是取𝑃𝑖,𝑗、左下、左、下、右、

右上、上的像素值,𝑍𝑖,𝑗是取𝑃𝑖,𝑗周邊八格的像素值。

圖 17. 預測法 2 的取樣範圍

(3) 預測法 3

如圖 18 所示,由左至右分別是𝑋𝑖,𝑗、𝑌𝑖,𝑗、𝑍𝑖,𝑗的參考值範圍,用簡單的 3*3 影像作為例子。影像正中間是目標像素值𝑃𝑖,𝑗,參考值範圍如同灰色區塊所示。𝑋𝑖,𝑗 是取𝑃𝑖,𝑗左、左上、左下、右、右上、右下的像素值,𝑌𝑖,𝑗是取𝑃𝑖,𝑗、左上、上、右 上、左下、下、右下的像素值,𝑍𝑖,𝑗是取𝑃𝑖,𝑗周邊八格的像素值。

17

圖 18. 預測法 3 的取樣範圍

參考值取樣完畢之後,下一步就是計算預測值,計算方法為用特定像素值跟 參考值的平均值之地板函數值相減,其公式如下:

{

𝑇𝑥𝑖,𝑗 = 𝑃𝑖,𝑗− ⌊𝑝∈𝑋𝑖,𝑗|𝑋 𝑝

𝑖,𝑗| ⌋ 𝑇𝑦𝑖,𝑗 = 𝑃𝑖,𝑗− ⌊𝑞∈𝑌𝑖,𝑗|𝑌 𝑞

𝑖,𝑗| ⌋ 𝑇𝑧𝑖,𝑗 = 𝑃𝑖,𝑗− ⌊𝑟∈𝑍𝑖,𝑗𝑟

|𝑍𝑖,𝑗|

(3.1)

利用所計算出來三個的參考值𝑇𝑥𝑖,𝑗、𝑇𝑦𝑖,𝑗、𝑇𝑧𝑖,𝑗作為三個維度的座標,進行統 計可以得到用來進行資訊隱藏的三維直方圖。將第一象限(+, +, +)與第七象限 (−, −, −)的指定像素值位移,而空出的位置可用來隱藏機密資訊。我們利用X、

Y、Z軸進行隱藏,如機密資訊為 1,則將軸上的像素值往剛才空出來的區域位 移。反之則不進行動作。該區塊藏匿完畢之後就利用反向的演算法將參考值還原 成像素值,完成隱藏動作。

如機密資訊尚未隱藏完畢,則對其餘的第二、三、四區塊進行相同的動作,

直到機密資訊藏匿完畢。三維直方圖總共有八個象限,而我們的演算法只會移動 兩個象限的像素值,也就是說有約 75%的像素值不會被移動,加上機密資訊隨機 產生,需要進行位移而藏入的機密資訊約二分之一,可維持高度的影像品質。

18

3.2 演算法

在本章節中,依序詳述演算法內容,第一部分是將機密資訊藏入於原始影像 中的資訊隱藏演算法,第二部分是從偽裝影像中取出機密資訊並將偽裝影像還原 成原始影像的資訊萃取與回復演算法。

3.2.1 資訊隱藏演算法

輸入:原始影像 O,機密資訊 B 輸出:偽裝影像 S,機密資訊長度|𝐵|

步驟 1.:將影像 O 分成四個區塊 I、II、III、IV,依序對同一區塊進行預測與隱 藏。

步驟 2.:計算第一區塊 I 所有像素的𝑇𝑥𝑖,𝑗、𝑇𝑦𝑖,𝑗、𝑇𝑧𝑖,𝑗,進行統計產生三維直方圖,

以供資訊隱藏使用。

步驟 3.:將預測值座標坐落於第一象限及第七象限的像素值進行位移,空出可藏 入資訊的空間,公式如下:

𝑃𝑖,𝑗 = {𝑃𝑖,𝑗+ 1, 𝑖𝑓𝑇𝑥𝑖,𝑗> 0, 𝑇𝑦𝑖,𝑗> 0 , 𝑇𝑧𝑖,𝑗> 0, (𝑇𝑥𝑖,𝑗, 𝑇𝑦𝑖,𝑗, 𝑇𝑧𝑖,𝑗) ≠ (1,1,1)

𝑃𝑖,𝑗− 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗< 0, 𝑇𝑦𝑖,𝑗 < 0, 𝑇𝑧𝑖,𝑗< 0 (3.2)

步驟 4.:利用位移方式使用預測座標坐落於 X 軸、Y 軸、Z 軸的像素值𝑃𝑖,𝑗藏入 機密資訊 Bk,Bk 是 B 中第 k 個位元,範圍從 1 至|𝐵|。𝐵𝑘 ∈ 𝐵,1 ≤ k ≤

|𝐵|。公式 3.3 是利用 X 軸、Y 軸、Z 軸的上半部的像素值𝑃𝑖,𝑗往第一象 限位移藏匿機密資訊。

19

𝑃𝑖,𝑗 = {

𝑃𝑖,𝑗 + 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 > 0, 𝐵𝑘 = 1 𝑃𝑖,𝑗 + 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 > 0, 𝑇𝑧𝑖,𝑗 = 0, 𝐵𝑘 = 1 𝑃𝑖,𝑗 + 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 > 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 = 0, 𝐵𝑘 = 1 𝑃𝑖,𝑗 + 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 1, 𝑇𝑦𝑖,𝑗 = 1, 𝑇𝑧𝑖,𝑗 = 1, 𝐵𝑘 = 1

(3.3)

公式 3.4 是 X 軸、Y 軸、Z 軸的下半部的像素值𝑃𝑖,𝑗往第七象限位移藏 匿機密資訊。

𝑃𝑖,𝑗 = {

𝑃𝑖,𝑗 − 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 < 0, 𝐵𝑘 = 1 𝑃𝑖,𝑗 − 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 < 0, 𝑇𝑧𝑖,𝑗 = 0, 𝐵𝑘 = 1 𝑃𝑖,𝑗 − 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 < 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 = 0, 𝐵𝑘 = 1 𝑃𝑖,𝑗 − 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 = 0, 𝐵𝑘 = 1

(3.4)

如果機密資訊為 0,如公式 3.5 所示,不進行任何動作。

𝑃𝑖,𝑗 = 𝑃𝑖,𝑗, 𝑖𝑓 𝐵𝑘 = 0 (3.5)

步驟 5.:如果機密資訊尚未藏入完畢,則對其他區塊進行步驟 2 至步驟 4,直到 機密資訊藏入完畢。產生偽裝影像 S 並將機密資訊長度|𝐵|一並傳給指 定使用者。

20

21

𝐵𝑘 =

{

1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 < 0, 𝑇𝑦𝑖,𝑗 = −1, 𝑇𝑧𝑖,𝑗 = −1 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = −1, 𝑇𝑦𝑖,𝑗 < 0, 𝑇𝑧𝑖,𝑗 = −1 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = −1, 𝑇𝑦𝑖,𝑗 = −1, 𝑇𝑧𝑖,𝑗 < 0 0, 𝑖𝑓 𝑇𝑥𝑖,𝑗 ≤ 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 = 0 0, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 ≤ 0, 𝑇𝑧𝑖,𝑗 = 0 0, 𝑖𝑓 𝑇𝑥𝑖,𝑗 = 0, 𝑇𝑦𝑖,𝑗 = 0, 𝑇𝑧𝑖,𝑗 ≤ 0

(3.7)

步驟 4. 還原在第一及第七象限中,為了空出隱藏空間而被位移的像素值𝑃𝑖,𝑗

𝑃𝑖,𝑗= {𝑃𝑖,𝑗+ 1, 𝑖𝑓𝑇𝑥𝑖,𝑗< 0, 𝑇𝑦𝑖,𝑗< 0 , 𝑇𝑧𝑖,𝑗< 0

𝑃𝑖,𝑗− 1, 𝑖𝑓 𝑇𝑥𝑖,𝑗 > 0, 𝑇𝑦𝑖,𝑗 > 0, 𝑇𝑧𝑖,𝑗> 0, (𝑇𝑥𝑖,𝑗, 𝑇𝑦𝑖,𝑗, 𝑇𝑧𝑖,𝑗) ≠ (1,1,1) (3.8)

步驟 5. 對其他部分進行步驟 2 至步驟 4,直到將長度為|𝐵|的機密資訊字元𝐵𝑘取 出,並合併成機密資訊 B。最後將偽裝影像還原,取得原始影像 O。

我們提出的方法由於預測法的緣故,像素值的預測座標大部分坐落於第一及 第七象限,並沒有達到當初預估 75%的像素值不會被位移。因此在下一個章節,

我們會提出一個新的策略改良我們所提出的方法,提升偽裝影像品質並保持影像 的資訊隱藏量。

22

23

四. 實驗結果

在本章節中,我們會對本論文提出的方法進行驗證並將跟 Chen 等人提出的 方法進行比較。首先,在本章節開始之前先介紹實驗環境,使用語言是 Matlab R2010a,總共使用 10 張 512*512 灰影像進行實驗如圖 4.1,每張影像至多藏入 五萬筆位元資訊。

第一部分我們使用 Chen 等人提出的二維直方圖的可逆式隱藏資訊與我們 於本論文提出的方法進行比較,而本論文提出的三種預測法都會去進行比較,第

第一部分我們使用 Chen 等人提出的二維直方圖的可逆式隱藏資訊與我們 於本論文提出的方法進行比較,而本論文提出的三種預測法都會去進行比較,第

相關文件