The Study of Vector Quantization and Its Applications to Information Hiding 向量量化技術之研究及其在訊息隱藏之應用 Advisor: Chin-Chen Chang1, 2 Student: Wen-Chuan Wu2 1 Dept. of Information Engineering and Computer Science, Feng Chia University 2 Dept. of Computer Science and Information Engineering, National Chung Cheng University
The Fields of Vector Quantization “VQ": Block-based quantizer Applications: Signal compression (i.e. Image, Speech, …) Feature recognition Information security Video-based event detection Anomaly intrusion detection … 一種區塊的量化技術; Feature: face, speech
Outline Part I: Design and Analysis of VQ- Based Algorithms Part II: VQ Applications to Information Hiding Fixed Embedding Adaptive Embedding Reversible Embedding
Part I: Design and Analysis of VQ-Based Algorithms Fast Planar-Oriented Ripple Search Algorithm for Hyperspace VQ Codebook
VQ Overview: X 512 Squared Euclidean distance 16 rounds of “-” 15 rounds of “+” 16 rounds of “×” 512 Issue: How to speed up the search?
The sorted projected points in DTPC method [8] Related works Full-search equivalents Rough distortion elimination to filter impossible codewords Partial-search methods Organize the codebook by some data structures to label a local search domain (Array, Binary Tree, …) The sorted projected points in DTPC method [8]
Comparison Full-search equivalents Partial-search methods To get the best result. To consume much computation time on-line for a rejection test. Partial-search methods Some operations are off-line. (Fast searching) To need extra memory space. To get a closer result.
Perpendicular bisector Planar-Oriented Ripple Search (Planar Voronoi Diagram Search; PVDS [15]) How to construct a Voronoi diagram: Perpendicular bisector Only one point in a cell PX
An example of planar Voronoi diagram with 13 points Planar-Oriented Ripple Search (Planar Voronoi Diagram Search; PVDS [15]) The adjacency list of one ripple An example of planar Voronoi diagram with 13 points
Experiments (Without LUT operation) Ripples Images 1 2 3 4 5 DTPC FSVQ Lena PSNR (dB) 26.910 30.920 31.254 31.313 31.334 31.336 30.623 31.338 Time (sec.) 0.111 0.233 0.623 1.298 2.140 3.687 0.375 9.937 Count 6.9 19.2 37.5 62.4 95.2 5.7 256 Boat 24.990 28.853 29.227 29.295 29.308 29.314 28.438 29.321 0.142 0.265 0.597 1.232 2.173 3.766 0.391 9.922 6.8 18.8 37.3 62.9 95.1 6.1 Jet 25.797 30.085 30.438 30.504 30.513 30.515 29.529 30.517 0.141 0.250 0.531 1.141 1.936 3.332 0.343 9.891 6.3 17.9 34.7 56.3 86.4 5.1 Codebook size: 256
Experiments (Without duplication) Methods Images TSVQ [25] CPTSVQ [4] SCS [51] DTPC [8] HOSM [56] PVDS [15] FSVQ Lena PSNR (dB) 28.238 29.225 30.658 30.623 30.005 31.254 31.338 Time (sec.) 1.656 1.797 0.647 0.375 0.687 0.623 9.937 Count 52 56 17.2 5.7 17.3 19.2 256 Boat 26.539 27.436 28.493 28.438 28.246 29.227 29.321 1.781 0.619 0.391 0.671 0.597 9.922 11.8 6.1 18.8 Jet 27.532 28.494 29.671 29.529 29.448 30.438 30.517 0.621 0.343 0.640 0.531 9.891 12.0 5.1 16.1 17.9 Codebook size: 256
Experiments (With duplication) Methods Images SCS [51] HOSM [56] PVDS [15] FSVQ Lena PSNR (dB) 31.338 Time (sec.) 0.971 1.448 0.910 9.937 Count 28.2 38.5 29.2 256 Pepper 30.596 30.707 30.708 30.712 0.866 1.433 0.950 9.890 25.0 37.8 27.5 Baboon 24.038 24.068 24.078 24.104 1.501 1.278 9.907 28.3 39.4 32.9 Codebook size: 256
Experiments Methods TSVQ CPTSVQ SCS DTPC HOSM PVDS FSVQ Encoding complexity O(k× log2N) O(log2GD + NG) O(TH×k + log2N) O(log4N + NH) O(log2N + NV) O(k×N) Duplication ability No Yes
Part II: VQ Applications to Information Hiding Hiding secrets in VQ (SMVQ) codes Adaptive embedding Reversible data hiding
Data Hiding Compressed codes: 10111011 11….. 11010110 01….. Information (187)10 (214)10 Internet Sender Receiver Information
Data Hiding in VQ Codes (Jo and Kim [29]) 18 Pair 46 46 18 19
Side Match VQ (SMVQ) Assumption: Neighboring pixel intensities in an image are pretty similar. Seed Block Residual Block VQ (PSNR=29.11) SMVQ (PSNR=31.27) Block artifacts
Codebook (512) State codebook (16) X = (81, 15, 53, 34, 51,?, ?, ?, 91, ?, ?, ?, 49,?, ?, ?) Codebook (512) State codebook (16)
Data Hiding in SMVQ and VQ Codes [12] (a) (b) (c) indicator 1 3 1 THSMVQ THVQ Bit=1
Experiments SMVQ: 9253 VQ: 6473 No secrets: 403 Methods Images Jo and Kim’s method [29] Our method [12] Secrets PSNR Bit Rate Lena 14905 28.39 0.5 15735 28.67 0.44 Boat 13893 27.74 15649 28.38 0.43 Jet 14288 28.81 15676 29.61 0.41 Pepper 15023 28.72 15726 29.37 0.42 Baboon 12162 23.54 13891 23.77 0.55 Sailboat 13863 27.50 15756 27.76 0.45 Codebook size: 256 State codebook size: 16 SMVQ: 9253 VQ: 6473 No secrets: 403
Experiments
Data Hiding in VQ Codes Not every image block has the same capacity. MELG (mean value) PNNE (Euclidean distance) ACE [20] (Cartesian product) Codebook
ACE method (Du and Hsu, 2003) Secret data = (001 1110)2 = (30)10 Clustering result Modified index table: 5 3 8 6
Adaptive Embedding (1) Data reuse: [13] To avoid the codeword waste in a group. 6 1 8 5 2 s2 s1 s3 s2 s1 Index table 5 6 7 00 1 2 3 4 8 5 6 7 00 1 2 3 4 1 01 1 01 10 10 11 11 Secret data = (0 01 1 11)2 Clustering result Modified index table: 7 2 8 6 4
The number of clustering groups Experiments TH The number of clustering groups Lena Jet Pepper Capacity (bit) PSNR (dB) 9 475 5926 32.16 11422 31.446 4689 31.339 12 449 10286 32.028 13014 31.382 9046 31.225 20 389 19658 31.532 19843 31.133 18623 30.798 35 287 32212 30.285 37244 29.869 29178 29.786 60 154 51444 27.664 45815 27.785 47339 27.409 90 73 65623 25.153 67842 25.258 66944 24.541 130 28 78935 21.798 73487 23.125 76689 21.894 Codebook size: 512
Experiments
Average payload (bit/block) Experiments VQ compressed image Payload (kb) Average payload (bit/block) PSNR (dB) MGLE PNNE ACE Our method Lena (PSNR = 32.243 dB) 4 0.25 28.834 31.053 31.487 32.185 32.189 8 0.5 26.866 30.178 30.492 32.039 32.078 16 1 24.555 28.778 29.817 31.683 31.762 32 2 - 28.588 29.942 30.311 48 3 27.613 26.994 27.867 64 26.401 24.220 25.153 80 5 24.610 18.641 21.968 Codebook size: 512 Non-reuse reuse
Experiments PSNR results at different embedding capacities for the “Lena” image
Experiments Local results in the “Lena” image produced by different hiding methods (capacity = 16 kilobit)
Adaptive Embedding (2) Codeword movement: [17] To increase payload capacity
Adaptive Embedding (2) Adaptive alternatives: [17] To hide the secret bits in SMVQ codes
Experiments Utility rate of codewords in the sorted state codebook by SMVQ
Experiments Codebook: 512 State codebook: 16
Experiments PSNR results at different embedding capacities for the “Lena” image
Reversible Data Hiding Compressed codes: 10111011 11….. 11010110 01….. Information Internet Sender Original codes 10111011 11….. Information Receiver
Reversible Data Hiding Clustering of codeword-trios Embeddable indicator × ×
Two-bit extendable embedding
Experiments Codebook size: 256
Experiments Codebook size: 256 Methods Images VQ (0.5 bpp) Jo and Kim’s method Our method (1 bit / index) Our method (2 bits / index) PSNR PNSR Payload Rate Lena 31.338 28.514 15650 12016 0.54 23884 0.67 Jet 30.517 28.270 15388 13163 0.53 26170 Toys 29.862 26.520 15344 14316 0.51 28606 0.68 Pepper 30.712 27.758 15803 13248 26284 GoldHill 28.803 26.694 15656 9803 0.57 19420 Zelda 32.869 28.826 16115 12012 23754 Codebook size: 256
Experiments
Future Research Directions Fast VQ codebook search Other projection + Voronoi diagram = full-search equivalent SMVQ efficiency Reversible data hiding Construct a unique relation of one-to-one mapping Apply to other codes (SOC, STC, …) Other VQ applications
Thanks for your attention
HOSM scheme (Wang and Yang [56], 2005) Hierarchy-Oriented Searching Method Use the iterated-clustering concept to put the hierarchical structure together in order to create representative virtual codewords (non-leaf nodes) in a Tree structure. Miss
SCS scheme (Tai et al. [51], 1996)
Block diagram of the embedding procedure in [46] Shie et al.’s scheme (2006) Block diagram of the embedding procedure in [46]
GoldHill