• 沒有找到結果。

在本論文我們原本打算使用我們所提出的改良演算法-Improved Two-Steps-RDE of Quads 與前人的方法-Enhance-Two-Steps-RDE of Quads [14]做實驗,並在輸出圖片 的品質以及容量上做比較。不過在第二章第八節有提到Enhance-RDE of Quads 因 為某些方程式寫法上的問題,有時候沒有辦法將建好的新圖像完全轉換成原圖 像。所以我們將使用先前在第三章第一節我們針對Enhance-RDE of Quads 進行修 改、功能也相近的修正演算法-Fixed Enhance-RDE of Quads 來代替前人的方法 進行實驗。

本章的實驗將以Improved Two-Steps-RDE of Quads 以及 Fixed Enhance-RDE of Quads 這兩個演算法來做實驗(圖表上顯示的結果分別以 ITS-RDE 跟 FE-RDE 來區分),其目標是要比較使用該演算法輸出圖片的品質以及容量狀況為何。我們 將執行兩個不同的實驗:

1. 在只嵌入一層的情況下,兩個演算法的圖片品質為何?

2. 在多層嵌入的情況下,兩個演算法輸出的圖片在各層的品質及容量為 何?

在執行實驗的時候,也同時記錄輸出圖片每一層的每種像素組嵌入模式各使 用多少次,以及每一層所使用的位置地圖容量有多大等其他統計資料。

實驗環境

在演算法實作上,我們使用搭載Windows 10 作業系統的筆記型電腦作為實 作演算法程式碼的環境,編寫我們要做Improved Two-Steps-RDE of Quads 及 Fixed Enhance-RDE of Quads 雙方的程式碼,之後編譯成程式檔並運行比較兩個 演算法程式實際輸出圖片的狀況。程式開發是使用Code::Blocks 16.01 軟體,並 外部嵌入OpenCV 函式庫用來讀取及儲存圖片。正式實驗我們將會用到下面 6 張 大小都是512 × 512的灰階圖片作為實驗用載體圖片,如圖 33:

44

(a) baboon (b) car (c) elaine

(d) flower (e) fruits (f) lena 圖 33 實驗用載體圖片

我們使用了 BMP (Bit map)圖片格式作實驗。BMP 在儲存圖片時因為沒有壓 縮而變質的特性,所以可以精確地儲存圖片上每一個像素值,使用 BMP 不用考 慮圖片儲存後會有像素值變質,並導致提取的資料不正確的問題。

在品質的探測上,直接使用人眼偵測難免會因主觀認知上的不同而使得檢測 的結果有所差異。如圖 34 及圖 35,以 baboon 跟 elaine 為例,從原圖輸出的新 圖像乍看之下跟原圖外觀幾乎沒什麼差別,除非把圖片放大並仔細看像素狀況,

否則就連憑肉眼也很難看出實驗用的兩個演算法所輸出的圖片品質到底互相差在 哪裡。

45

圖 34 原圖與雙方演算法輸出圖片比較(以 baboon 為例)

圖 35 原圖與雙方演算法輸出圖片比較(以 elaine 為例)

所以在這實驗上,我們使用了峰值信噪比(Peak signal-to-noise ratio,簡稱 PSNR)公式作為判定圖片品質的標準,以利檢查輸出圖片實質上的品質有多少:

𝑃𝑆𝑁𝑅 = 10 log10(255)2

𝑀𝑆𝐸 (4.1)

原圖

Fixed Enhance-RDE of Quads 輸出圖片

Improved Two-Steps-RDE of Quads 輸出圖片

原圖

Fixed Enhance-RDE of Quads 輸出圖片

Improved Two-Steps-RDE of Quads 輸出圖片

46

Non-changeable Changeable Expandable

baboon FE-RDE 33.2255 0 5054 56240 475190

47

根據表 6 上的實驗結果可得知:Fixed Enhance-RDE of Quads 製造的圖片其 PSNR 能夠到約 30~40dB 的程度,但 Improved Two-Steps-RDE of Quads 卻可以普 遍到達40dB 以上,而且比 Fixed Enhance-RDE of Quads 還要好上約 1.2~1.3 倍的 程度,這顯示我們的改良演算法能有效提高輸出圖片的品質。

但就嵌入模式個數的統計上,似乎不符合我們的理想。雖然大部分的狀況 下,嵌入資料都會用到全部的像素組,但在Expandable 嵌入模式的個數上,

Improved Two-Steps-RDE of Quads 相比 Fixed Enhance-RDE of Quads 就少用了一 些。我們最希望的就是:經過我們的改良演算法再度降低差值後,可以增加 Expandable 的使用機會,阻止更多的像素組因使用擴張差值後差值過大而使得新 像素變異更多甚至溢位、導致資料無法嵌入的狀況。但沒想到就表 6 嵌入一層資 料的實驗結果來看,反而帶來了反效果。

另外,在位置地圖容量方面,Improved Two-Steps-RDE of Quads 要儲存的位 置地圖容量大小至少需要比Fixed Enhance-RDE of Quads 還要儲存約 2~3 倍大的 位置地圖數據。

嵌入多層資料的比較

在該實驗,我們做了另外一項實驗測試,改成使用嵌入多層資料的方式,同 樣分別在六張圖片上檢測並計算在圖片每次嵌入一層隱藏資料時,其目前圖片品 質(PSNR),以及該層可儲存的資料容量、嵌入模式個數跟位置地圖容量大小等諸 多數據。我們使用比上一次實驗用的隱藏資料還要大的隨機檔案做為要隱藏的資 料,該檔案大小為165,765 位元組(相當於 1,326,120 bits),其可以使所有實驗場 合下都能讓整個隱藏資料在一張圖片上分成7 層儲存在圖片像素的差值內。使用 各種載體圖片做成的結果如以下圖表所示(要記住:每一層嵌入動作都是由前一層 所動過的圖片拿來作為載體繼續嵌入資料,其PSNR 數值會呈現遞減現象。而其 餘數值則是檢測從該層所計算出來的數值,而非全部層所統計出來的。另外,因 為在最後一層僅儲存所剩不多的隱藏資料,所以不會檢查到所有像素組,最後一

48 Non-changeable Changeable Expandable

1

FE-RDE 196608

(0.750000bpp) 0 5792 59744 506912

ITS-RDE 196602

(0.749977bpp) 2 6105 59429 1350177

2

FE-RDE 196587

(0.749920bpp) 7 4695 60834 510161

ITS-RDE 196599

(0.749966bpp) 3 4123 61410 1379887

3

FE-RDE 196542

(0.749748bpp) 22 5119 60395 508799

ITS-RDE 196599

(0.749966bpp) 3 2884 62649 1398472

4

FE-RDE 196452

(0.749405bpp) 52 6529 58955 504389

ITS-RDE 196605

(0.749989bpp) 1 2175 63360 1409147

5 FE-RDE 196314

(0.748878bpp) 98 8342 57096 498674

1 2 3 4 5 6 7

FE-RDE 33.1573 28.6689 26.3532 24.622 23.373 22.4297 21.8029 ITS-RDE 44.5413 41.9551 40.3439 39.2865 38.4573 37.7919 37.3449

0

49 ITS-RDE 196599

(0.749966bpp) 3 1754 63779 1415422

6

FE-RDE 196182

(0.748375bpp) 142 10297 55097 492545

ITS-RDE 196596

(0.749954bpp) 4 1440 64092 1420112

7

FE-RDE 147435

(0.562420bpp) 167 10135 39010 363089

ITS-RDE 146520

(0.558929bpp) 0 821 48019 1062165

圖 37 以 baboon 為例,嵌入多層資料時各層資料容量比較(最後一層除外) (b) car:

圖 38 以 car 為例,嵌入多層資料時 PSNR 的比較

1 2 3 4 5 6

FE-RDE 196608 196587 196542 196452 196314 196182 ITS-RDE 196602 196599 196599 196605 196599 196596 195900

FE-RDE 37.9208 33.6432 31.2319 29.3715 28.0682 27.0302 26.5227 ITS-RDE 47.3003 44.6185 42.9983 41.9565 41.1985 40.5726 40.208

0

50 Non-changeable Changeable Expandable

1

FE-RDE 195816

(0.746979bpp) 264 21939 43333 456887

ITS-RDE 195561

(0.746006bpp) 349 25164 40023 1057352

2

FE-RDE 195777

(0.746830bpp) 277 16996 48263 471638

ITS-RDE 195426

(0.745491bpp) 394 19100 46042 1147412

3

FE-RDE 195744

(0.746704bpp) 288 13674 51574 481538

ITS-RDE 195216

(0.744690bpp) 464 14832 50240 1210032

4

FE-RDE 195675

(0.746441bpp) 311 11517 53708 487871

ITS-RDE 195186

(0.744576bpp) 474 11961 53101 1252897

5

FE-RDE 195690

(0.746498bpp) 306 10234 54996 491750

ITS-RDE 195069

(0.744129bpp) 513 9874 55149 1283422

6

FE-RDE 195657

(0.746372bpp) 317 9309 55910 494459

ITS-RDE 195075

(0.744152bpp) 511 8374 56651 1305962

7

FE-RDE 151761

(0.578922bpp) 329 7778 42809 382020

ITS-RDE 154587

(0.589703bpp) 499 7041 44488 1029021

51 Non-changeable Changeable Expandable

1

FE-RDE 196608

(0.750000bpp) 0 11814 53722 488846

ITS-RDE 196608

(0.750000bpp) 0 13489 52047 1239457

2

FE-RDE 196602

(0.749977bpp) 2 7481 58053 501833

ITS-RDE 196608

(0.750000bpp) 0 9409 56127 1300657

1 2 3 4 5 6

FE-RDE 195816 195777 195744 195675 195690 195657 ITS-RDE 195561 195426 195216 195186 195069 195075 194600

FE-RDE 41.3067 37.143 34.8653 33.2715 32.1317 31.2918 30.777 ITS-RDE 47.6872 44.9196 43.2567 42.1869 41.4281 40.8777 40.5236

0

52 3

FE-RDE 196605

(0.749989bpp) 1 5018 60517 509228

ITS-RDE 196608

(0.750000bpp) 0 6750 58786 1340542

4

FE-RDE 196599

(0.749966bpp) 3 3652 61881 513314

ITS-RDE 196608

(0.750000bpp) 0 5316 60220 1362052

5

FE-RDE 196593

(0.749943bpp) 5 2893 62638 515579

ITS-RDE 196608

(0.750000bpp) 0 4341 61195 1376677

6

FE-RDE 196581

(0.749897bpp) 9 2523 63004 516665

ITS-RDE 196608

(0.750000bpp) 0 3621 61915 1387477

7

FE-RDE 146532

(0.558975bpp) 6 1699 47145 385667

ITS-RDE 146472

(0.558746bpp) 0 2314 46510 1039418

圖 41 以 elaine 為例,嵌入多層資料時各層資料容量比較(最後一層除外) (d) flower:

1 2 3 4 5 6

FE-RDE 196608 196602 196605 196599 196593 196581 ITS-RDE 196608 196608 196608 196608 196608 196608 196565

53 Non-changeable Changeable Expandable

1

FE-RDE 196608

(0.750000bpp) 0 12833 52703 485789

ITS-RDE 196608

(0.750000bpp) 0 15693 49843 1206397

2

FE-RDE 196605

(0.749989bpp) 1 8236 57299 499574

ITS-RDE 196608

(0.750000bpp) 0 11188 54348 1273972

3

FE-RDE 196602

(0.749977bpp) 2 5516 60018 507728

ITS-RDE 196608

(0.750000bpp) 0 8190 57346 1318942

4

FE-RDE 196593

(0.749943bpp) 5 4086 61445 512000

ITS-RDE 196608

(0.750000bpp) 0 6251 59285 1348027

5

FE-RDE 196584

(0.749908bpp) 8 3398 62130 514046

ITS-RDE 196608

(0.750000bpp) 0 5022 60514 1366462

6 FE-RDE 196557

(0.749805bpp) 17 3098 62421 514892

1 2 3 4 5 6 7

FE-RDE 39.6909 35.5102 33.2183 31.4794 30.222 29.2283 28.5853 ITS-RDE 47.5694 44.837 43.202 42.117 41.3163 40.7409 40.365

0

54 ITS-RDE 196608

(0.750000bpp) 0 4179 61357 1379107

7

FE-RDE 146571

(0.559124bpp) 20 2461 46396 383513

ITS-RDE 146472

(0.558746bpp) 0 2745 46079 1032953 Non-changeable Changeable Expandable

1 FE-RDE 196608

(0.750000bpp) 0 18099 47437 469991

1 2 3 4 5 6

FE-RDE 196608 196605 196602 196593 196584 196557 ITS-RDE 196608 196608 196608 196608 196608 196608 196530

FE-RDE 37.896 33.7342 31.315 29.4163 27.9481 26.7864 26.2979 ITS-RDE 46.8373 44.1406 42.4627 41.3726 40.5673 39.9236 39.5874

0

55 ITS-RDE 196608

(0.750000bpp) 0 19705 45831 1146217

2

FE-RDE 196581

(0.749897bpp) 9 14074 51453 482012

ITS-RDE 196608

(0.750000bpp) 0 15140 50396 1214692

3

FE-RDE 196533

(0.749714bpp) 25 11436 54075 489830

ITS-RDE 196608

(0.750000bpp) 0 12224 53312 1258432

4

FE-RDE 196494

(0.749565bpp) 38 9828 55670 494576

ITS-RDE 196605

(0.749989bpp) 1 10256 55279 1287932

5

FE-RDE 196428

(0.749313bpp) 60 8943 56533 497099

ITS-RDE 196605

(0.749989bpp) 1 8844 56691 1309112

6

FE-RDE 196389

(0.749165bpp) 73 8464 56999 498458

ITS-RDE 196590

(0.749931bpp) 6 7612 57918 1327492

7

FE-RDE 147087

(0.561092bpp) 48 6603 42426 372519

ITS-RDE 146496

(0.558838bpp) 5 6323 42509 979469

圖 45 以 fruits 為例,嵌入多層資料時各層資料容量比較(最後一層除外)

1 2 3 4 5 6

FE-RDE 196608 196581 196533 196494 196428 196389 ITS-RDE 196608 196608 196608 196605 196605 196590 196250

56 Non-changeable Changeable Expandable

1

FE-RDE 196608

(0.750000bpp) 0 14753 50783 480029

ITS-RDE 196608

(0.750000bpp) 0 17172 48364 1184212

2

FE-RDE 196608

(0.750000bpp) 0 9222 56314 496622

ITS-RDE 196608

(0.750000bpp) 0 11439 54097 1270207

3

FE-RDE 196608

(0.750000bpp) 0 5952 59584 506432

ITS-RDE 196608

(0.750000bpp) 0 7900 57636 1323292

4

FE-RDE 196605

(0.749989bpp) 1 4278 61257 511448

ITS-RDE 196608

(0.750000bpp) 0 5986 59550 1352002

5

FE-RDE 196593

(0.749943bpp) 5 3366 62165 514160

ITS-RDE 196608

(0.750000bpp) 0 4763 60773 1370347

1 2 3 4 5 6 7

FE-RDE 41.1234 36.9086 34.6309 32.8869 31.6277 30.693 30.1566 ITS-RDE 48.0102 45.329 43.6909 42.655 41.8981 41.3446 41.0107

0

57 6

FE-RDE 196581

(0.749897bpp) 9 2873 62654 515615

ITS-RDE 196608

(0.750000bpp) 0 3953 61583 1382497

7

FE-RDE 146517

(0.558918bpp) 15 2008 46831 384718

ITS-RDE 146472

(0.558746bpp) 0 2534 46290 1036118

圖 47 以 lena 為例,嵌入多層資料時各層資料容量比較(最後一層除外) 在以上圖 36~圖 47 以及表 7~表 12 所檢測出的結果上我們可以看出:

1. 在品質檢測方面,從嵌入第一層資料時,Improved Two-Steps-RDE of Quads 輸出圖片的 PSNR 值會比 Fixed Enhance-RDE of Quads 的多約 1.2 倍。但隨著嵌入的層數越高,兩個演算法算出來的的PSNR 相差會越 大。到嵌入最後一層(第七層)的時候,Improved Two-Steps-RDE of Quads 的圖片大約可以掌控到約40dB 左右的程度,且比 Fixed Enhance-RDE of Quads 的還要多約 1.4~1.5 倍。由此可知我們的改良演算法對降低圖片失 真度。

2. 在每層資料容量的檢測下,原本在嵌入第一層時,雙方演算法的嵌入容 量幾乎是同樣的大小,甚至在某些圖片的場合下,Improved Two-Steps-RDE of Quads 在第一層儲存的容量會比 Fixed Enhance-Two-Steps-RDE of Quads 還 要低。但在大部分的圖片載體的場合上,在層數增高的時候,Improved

1 2 3 4 5 6

FE-RDE 196608 196608 196608 196605 196593 196581 ITS-RDE 196608 196608 196608 196608 196608 196608 196565

58

Two-Steps-RDE of Quads 可嵌入容量反而繼續維持高容量,甚至沒有降 低的現象。反觀Fixed Enhance-RDE of Quads 因為擴張差值越來越大的 關係,隨著層數增加,可用的容量就因為大多數像素可能幾乎造成溢位 而跟著下降一些。雖然看似我們的改良演算法對圖片每層容量的提升有 幫助,但因為雙方演算法在每層的容量落差也沒很大,有些圖片在 Fixed Enhance-RDE of Quads 上,第六層資料容量也頂多只下降了近百 個位元的程度,對於本身可以儲存近十萬多個位元的圖片來說,我們的 改良演算法對改善圖片容量的幫助其實並不大。

3. 從嵌入一層的比較得知,Improved Two-Steps-RDE of Quads 的

Expandable 在第一層上的使用個數是會比 Fixed Enhance-RDE of Quads 的還要少,但是在嵌入多層比較就不同了,隨著層數增加,使用

Improved Two-Steps-RDE of Quads 往後的層級 Expandable 的使用次數就 跟著增加。在部分圖片的場合上,Expandable 使用次數隨層數增加而增 加的趨勢上,Improved Two-Steps-RDE of Quads 逐層增加頻度甚至追過 了Fixed Enhance-RDE of Quads。這稍微符合了我們對改良演算法的期 望。

4. 製造新圖片所製造的位置地圖容量大小,Improved Two-Steps-RDE of Quads 最少儲存大小仍舊比 Fixed Enhance-RDE of Quads 多存了約 2~3 倍的容量,而且有時會因為Expandable 使用次數隨層級越大,使用次數 就越多,該層的位置地圖容量大小也有呈現增加的趨勢。

至於car 是一個比較特別的例子:在每層的容量比較上,Improved Two-Steps-RDE of Quads 的容量大小仍然處於比 Fixed Enhance-RDE of Quads 的還要小 的劣勢,且隨著層數越多,越後面層級的容量大小也就跟著變小。其可能的原因 是因為在car 圖片上,其顏色相近或相同的區域會比較大,導致某些像素組在掃 到相近顏色的區塊時,其算出的差值就會變的非常小,此時會造成嵌入模式變成 changeable 或 non-changeable 的可能性會很高。又因為 car 圖片上過白及過黑的區

59

域也很大,這可能造成某些像素組在擴增差值的同時,很有可能不小心造成像素 的溢位,而必須強制變成non-changeable,禁止在該像素組上嵌入資料,導致圖 片可以嵌入的一層資料量變少。另外,隨著嵌入層數增多,原本圖片上過白及過 黑的地方可能會有被增大的現象,致使non-changeable 發生的機率會被增高。

實驗數據跟圖片的關係

從以上嵌入一層以及多層資料後統計出來的實驗數據來看,使用作為載體的 圖片其圖片內容會影響整體實驗結果,有些圖片會導致其結果不符合理想,有些 則對整體嵌入效果有顯著的提升。

嵌入多層資料的baboon 即是一個嵌入效果提升最好的一個例子:baboon 圖 片的內容上,極端值的像素(亦指灰階度接近極白或極黑的像素)是呈平均分散的 程度,各個像素組的平均像素值差異較大。Fixed Enhance-RDE of Quads 上,

expandable 最大仍然還是會使得新差值被擴張了約原差值的 1/2 倍,加上平均像

expandable 最大仍然還是會使得新差值被擴張了約原差值的 1/2 倍,加上平均像

相關文件