A Study of Digital Image Coding and Retrieving Techniques 數位影像編碼與擷取技術之研究 A Study of Digital Image Coding and Retrieving Techniques 指導教授: 張真誠 教授 研究生: 周永振 Dept. of Computer Science and Information Engineering, National Chung Cheng University
Outline Part 1: Compression domain data hiding Part 2: Data hiding using Sudoku Part 3: Reversible data hiding for color image Part 4: High payload data embedding for color image Part 5: SOC improvement Yung-Chen Chou
Introduction Steganography SOC improvement Secret data delivery Visual quality vs. embedding capacity Categories: Compression domain Spatial domain Frequency domain Grayscale image/color image SOC improvement Indicator Eliminate the indicator Yung-Chen Chou
Introduction (Cont.) Information hiding (Data hiding) Hiding system Stego image Cover image 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 Secret message Yung-Chen Chou
VQ domain data hiding Vector quantization Yung-Chen Chou
VQ domain data hiding (Cont.) Codeword pairing {d12, d13, d14, d15, d16, d23, d24, d25, d26 d34, d35, d36, d45, d46, d56} cw6 d12 d13 d14 d15 d16 cw2 cw5 cw4 cw1 cw3 G0 G1 G-1 d36>TH Yung-Chen Chou
VQ domain data hiding (Cont.) Data embedding NBVX = {x0, x1, x3, x4, X, X, X, x8, X, X, X, x12, X, X, X} Indicator = ‘0’ Indicator = ‘1’ Image If SMD(cwi,NBVX) < SMD(cwj, NBVX) then X is replaceable Else X is non-replaceable If secret bit = ‘0’ then encode X by cwi else encode X by cwj Encoded by cwi cwi cwj Yung-Chen Chou G0 G1
VQ domain data hiding (Cont.) Data extracting and restoring If SMD(cwi) < SMD(cwj) and indicator = ‘0’ restore X by cwi If SMD(cwi) < SMD(cwj) and indicator = ‘1’ restore X by cwj If SMD(cwi) SMD(cwj) and indicator = ‘0’ restore X by cwj If SMD(cwi) SMD(cwj) and indicator = ‘1’ restore X by cwi Image If X encoded by cwi then secret bit = ‘0’ If X encoded by cwj then secret bit = ‘1’ cwi cwj Yung-Chen Chou G0 G1
VQ domain data hiding (Cont.) Experimental results Yung-Chen Chou
VQ domain data hiding (Cont.) Experimental results Yung-Chen Chou
Data hiding using Sudoku Spatial domain data embedding Sudoku A logic-based number placement puzzle Yung-Chen Chou
Data hiding using Sudoku (Cont.) Property A Sudoku grid contains nine 3 × 3 matrices, each contains different digits from 1 to 9. Each row and each column of a Sudoku grid also contain different digits from 1 to 9. Possible solutions: 6,670,903,752,021,072,936,960 (i.e. ≈ 6.671×1021) Yung-Chen Chou
Data hiding using Sudoku (Cont Data hiding using Sudoku (Cont.) Review Zhang and Wang’s method (Embedding) Extracting function: 8 7 9 4 79 54 55 11 20 21 12 24 10 Secret data: 1000 1011… p2 255 1 2 3 4 1 2 3 4 1 : : : : : : : : : : : : : 10002 1 35 … 11 2 3 4 1 2 3 4 1 2 3 2 … 10 1 2 3 4 1 2 3 4 1 Cover image … 9 3 4 1 2 3 4 1 2 3 4 3 … 8 1 2 3 4 1 2 3 4 1 2 1 … 7 4 1 2 3 4 1 2 3 4 4 … 6 2 3 4 1 2 3 4 1 2 3 2 … 5 1 2 3 4 1 2 3 4 1 7 10 4 … 4 3 4 1 2 3 4 1 2 3 4 3 … 3 1 2 3 4 1 2 3 4 1 2 1 … 2 4 1 2 3 4 1 2 3 4 4 … 1 2 3 4 1 2 3 4 1 2 3 2 … 1 2 3 4 1 2 3 4 1 Stego image 1 2 3 4 5 6 7 8 9 10 11 … 255 p1 Magic Matrix Yung-Chen Chou
Data hiding using Sudoku (Cont Data hiding using Sudoku (Cont.) Review Zhang and Wang’s method (Extracting) p2 7 10 4 255 1 2 3 4 1 2 3 4 1 : : : : : : : : : : : : : … 11 2 3 4 1 2 3 4 1 2 3 2 … 10 1 2 3 4 1 2 3 4 1 … 9 3 4 1 2 3 4 1 2 3 4 3 … 8 1 2 3 4 1 2 3 4 1 2 1 Stego image … 7 4 1 2 3 4 1 2 3 4 4 … 1 35 6 2 3 4 1 2 3 4 1 2 3 2 … 5 1 2 3 4 1 2 3 4 1 … 4 3 4 1 2 3 4 1 2 3 4 3 … Extracted secret data: 10002 3 1 2 3 4 1 2 3 4 1 2 1 … 2 4 1 2 3 4 1 2 3 4 4 … 1 2 3 4 1 2 3 4 1 2 3 2 … 1 2 3 4 1 2 3 4 1 p1 1 2 3 4 5 6 7 8 9 10 11 … 255 Magic Matrix Yung-Chen Chou
Data hiding using Sudoku (Cont.) - 1 Reference Matrix M Yung-Chen Chou
Data hiding using Sudoku (Embedding) (Cont.) 8 7 11 12 79 54 55 20 21 24 10 9 Secret data: 011 001 10… 279 Cover Image 7 9 Stego Image min. d( , ) = ((8-8)2+(4-7)2)1/2=3 d( , ) = ((9-8)2+(7-7)2)1/2=1 d( , ) = ((6-8)2+(8-7)2)1/2=2.24 Yung-Chen Chou
Data hiding using Sudoku (Embedding) (Cont.) 8 7 11 12 79 54 55 20 21 24 10 9 Secret data: 011 001 10… 279 Cover Image d( , ) = ((11-11)2+(15-12)2)1/2=3 d( , ) = ((15-11)2+(12-12)2)1/2=4 d( , ) = ((9-11)2+(14-12)2)1/2=2.83 9 14 7 Stego Image min. Yung-Chen Chou
Data hiding using Sudoku (Extracting) (Cont.) 9 7 14 Stego Image Extracted data: 279 = 011 0012 Yung-Chen Chou
Experimental results Yung-Chen Chou
Experimental results (Cont.) Yung-Chen Chou
Data hiding for color images True color and color palette image Color pixel (Red, Green, Blue) Reversibility Yung-Chen Chou
Data hiding for color images (Cont.) Review Fridrich’s method R+G+B mod 2 = (115 + 216 + 112) mod 2 = 1 R+G+B mod 2 = (105 + 146 + 193) mod 2 = 0 Image Stego Secret: 010… Yung-Chen Chou
Data hiding for color images (Cont.) Proposed method (Embedding) ( R, G, B) pi = (112, 217, 110) pi+1=(115, 216, 112) (115, 216, 112) (115, 112, 216) (216, 115, 112) (216, 112, 115) (112, 115, 216) (112, 216, 115) d0 = 3.74 d1 = 149.23 d2 = 145.68 d3 = 147.87 d4 = 147.11 d5 = 5.1 If d0 is first one then embeddable Else non-embeddable Image Sorting d0 < d5 < d4 < d3 < d2 < d1 log2NG = log26 = 2 00 01 10 11 If d(pi+1, p’i+1) < TH=50 then embed secret Else non-embeddable require extra information Stego Secret: 011… Yung-Chen Chou
Data hiding for color images (Cont.) Proposed method (Extracting and restoring) ( R, G, B) (112, 217, 110) (112, 216, 115) (112, 216, 115) (112, 115, 216) (216, 112, 115) (216, 115, 112) (115, 112, 216) (115, 216, 112) d0 = 5.1 d1 = 147.11 d2 = 147.87 d3 = 145.68 d4 = 149.23 d5 = 3.74 Stego Sorting d5 < d0 < d3 < d1 < d2 < d4 log2NG = log26 = 2 00 01 10 11 Extracted data: 01 Restored image Yung-Chen Chou
Data hiding for color images (Cont.) Experimental results Yung-Chen Chou
Data hiding for color images (Cont.) Experimental results Yung-Chen Chou
High payload data hiding for color images Review Tzeng’s method v = 0.3 r + 0.59 g + 0.11 b v1 = 0.3 10+0.59 20+0.11 15 = 16.45 v2 = 8.17 v3 = 10.22 v4 = 15.21 vc = 18.17 Image c1 >c2, if (v1>v2) or (v1=v2 and r1>r2) or (v1 = v2 and r1=r2 and g1>g2) c1 = c2, if (r1=r2 and g1=g2 and g1=g2) c1 < c2, otherwise c1 c2 c3 c4 1 c Secret: 101… Yung-Chen Chou
High payload data hiding for color images (Cont.) The proposed (Embedding) 6 15 8 14 16 … 6 15 8 10 20 15 log2(8-6)=1 14+1=15 6 15 8 14 16 … Image 10 20 16 10+6 =16 log2(20-10)=3 Stego Secret: 11010010100… Yung-Chen Chou
High payload data hiding for color images (Cont.) The proposed (Extracting) 6 15 8 Stego 10 20 16 log2(20-10)=3 16-10 = 6 = 1102 log2(8-6)=1 6 15 8 14 16 … 14-15=1=12 1 110 Extracted secret: Yung-Chen Chou
High payload data hiding for color images (Cont.) Experimental results Yung-Chen Chou
High payload data hiding for color images (Cont.) Yung-Chen Chou
SOC improvement Scan-order coding (SOC) Compression code: …1 011… Indicator 52 State codebook Compression code: …1 011… 53 1 49 2 50 57 55 48 47 3 4 5 6 7 Index table Indicator Index table 52 State codebook Compression code: …0 01100010… 53 1 49 2 50 57 55 48 47 3 4 5 6 7 Yung-Chen Chou
SOC improvement (Cont.) Review Lin and Chang’s method NBVB = {b0, b1, b3, b4, X, X, X, b8, X, X, X, b12, X, X, X} If SMD(α, NBVB) <SMD(α, NBVB) If SMD(α, NBVB) SMD(α, NBVB) Secret = 0 Secret = 1 α 111 || α 000 ||α Yung-Chen Chou
SOC improvement (Cont.) The proposed method (Encoding) Index table Sorted SCB Can be compressed by SOC (i.e. indicator = 1) Index table Sorted SCB If SMD(cw50, NBVBi) < SMD(cw55, NBVBi) Compression code: …101 Else Compression code: … 111 010 For indicator = 0 For indicator = 1 Yung-Chen Chou
SOC improvement (Cont.) Index table Can be compressed by SOC (i.e. indicator = 1) For indicator = 0 For indicator = 1 Index table Sorted SCB For indicator = 0 For indicator = 1 If SMD(cw130, NBVBi) < SMD(cw3, NBVBi) Compression code: … 10000010 Else Compression code: … 11111111 10000010 Yung-Chen Chou
SOC improvement (Cont.) The proposed method (Decoding) Compression code: …101… The indicator for next block is ‘1’ Using cw50 to decode Bi SMD(cw55, NBVBi) SMD(cw50, NBVBi) Index table Sorted SCB For indicator = 0 For indicator = 1 Yung-Chen Chou
SOC improvement (Cont.) Compression code: …111 010… The indicator for next block is ‘1’ Using cw50 to decode Bi Index table Sorted SCB For indicator = 0 For indicator = 1 Yung-Chen Chou
SOC improvement (Cont.) Yung-Chen Chou
SOC improvement (Cont.) Experimental results
Conclusions Steganography Achieve high payload data embedding Reversibility Achieve high payload data embedding for color images Success eliminate the indicator of SOC Yung-Chen Chou