High Capacity Data Embedding in JPEG Bit Streams Using Visual Models Perry Nakar Ofer Hermoni Supervised By Dr. Ofer Hadar
Preface In order to understand this presentation one needs a basic knowledge of: Mathematics: the concept of modulo. Multimedia: JPEG image compression. The PSNR value.
Introduction This is the multimedia era!!! Digital images are widespread. Digital images need to be protected; one way is by adding an invisible signal known as a ‘digital watermark’. Many applications use the JPEG compression standard, so adding the digital watermark to the compressed image is essential. So far the known methods enabled only a small amount of data embedding, or reduced the image quality too much….
Method I - Main Idea modulo of summed DCT coefficients Our method uses modulo of summed DCT coefficients, after quantization and rounding, to store additional information by forcing modulo to a desired state by adjusting some of the DCT coefficients. Example N = 3 (no. of bits to embed per block 23 = 8 options) The data to embed is 5 = 101 2 3 Changing 2 coefficients + 2 3 1 1 2 Changing 6 coefficients - sum = 3 mod 8 sum = 5 mod 8
Problem Which DCT coefficients should be modified?
The Embedding Scheme Pre- processing and embedding JPEG Bit stream Original Image Quantization Table Division to blocks DCT Entropy coding Quantizer Transformed Image Modified DCT coefficients after rounding DCT coefficients before rounding Pre- processing and embedding Bi,j Source and Channel coding Watermark
Criterions I. Half Way Close Dq(z) – the DCT coefficient after Q before rounding Dr(z) – the DCT coefficient after Q after rounding Example 3 2 1 2.8 2.6 1.1 0.4 Dq(z)=2.8 Dr(z)=3 Erup=0.7 Erdn=0.3 Dq(z)=2.6 Dr(z)=3 Erup=0.9 Erdn=0.1 Dq(z)=1.1 Dr(z)=1 Erup=0.4 Erdn=0.6 Dq(z)=0.4 Dr(z)=0 Erup=0.1 Erdn=0.9
Criterions II. HVS based - Magnitude D(Z) – the absolute of the original DCT coefficient
Criterions III. HVS based – Coefficient Position 1
Criterions Total Error
Criterions - summary Eup(n) = {Eup(1) … Eup(Nmax_up)} Eup(n) < Eup(n+1) Edn(m) = {Edn(1) … Edn(Mmax_dn)} Edn(m) < Edn(m+1)
= Experiment Embedding Reconstruction Original Image Embedded Image 01100101000111010… Reconstruction Watermark = 01100101000111010… Reconstructed data
number of embedded bits is 6 per block, total of 24,576 per picture. Results I number of embedded bits is 6 per block, total of 24,576 per picture. PSNR of compressed host with hidden data (dB) 6 bits per block – total of 24,576 4 bits per block – total of 16,384 PSNR of compressed host without hidden data (dB) Quality Factor q Lena 512x512 33.9506 36.1524 36.2638 5 39.6359 41.7041 41.8155 10 46.1901 48.5525 48.6720 20 52.1126 54.4252 54.5368 40 55.4298 57.3704 57.4736 60 57.8772 59.6485 59.7451 80
Results I – cont. Original Image JPEG no embedding q=10 JPEG embedded 010001111010110000010111101000011010010111100001101110101010010011011011101101100000111101101011011100001111010010101011011010110110011100011110101100000101111010000110100101111000011011101010100100110110111011010110000011110110101101110000111101001010101101101011011001000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010101011011010110110011000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010101011011010110110011100011110101100000101111010000110100101111000011011101010100100110110111011010110000011110110101101110000111101001010101101101011011001101000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010101011011010110110011010001111010110000010111101000011010010111100001101110101010010011011011101101011000001111011010110111000011110100101010110110101101100110100011110101100000101111010000110100101111000011011101010100100110110111011010110000011110110101101110000111101001010101101101011011001101000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010001111010110000010111101000011010010111100001101110101010010011011011101101100000111101101011011100001111010010101011011010110110011100011110101100000101111010000110100101111000011011101010100100110110111011010110000011110110101101110000111101001010101101101011011001000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010101011011010110110011000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010101011011010110110011100011110101100000101111010000110100101111000011011101010100100110110111011010110000011110110101101110000111101001010101101101011011001101000111101011000001011110100001101001011110000110111010101001001101101110110101100000111101101011011100001111010010101011011010110110011010001111010110000010111101000011010010111100001101110101010010011011011101101011000001111011010110111000011110100101010110110101101100110100011110101100000101111010000110100100010100011111000000000000000000101001111101111111100010101110001100110000100110001100000111000011011101010100100110110111011010110000011110110101101110000111101001010101101101011011001101000111101011000001011110100001101000101100001111000100110101010111110101111000011011101010100111011011101101011000001111011010110111000011110100101010101000000111110101110001000110001011000011110100001110101011111011101001011110000110 Results I – cont. Original Image JPEG no embedding q=10 JPEG embedded M=6 ; q=10 Total of 24,576 bits PSNR = 41.8155 dB PSNR = 39.6359 dB
The Adaptive method The quantity of bits to be embedded in each block is based on the JND of the block itself. According to threshold levels based on JND, an adequate number of bits are embedded in each block, using the same parameters as method I. Reconstruction is done using the same threshold levels. The main problem – in the reconstruction procedure the threshold may be changed, therefore the quantity of bits which had been implanted may not be recollected. Solution – recalculate threshold levels after embedding and if changed embed the new number of bits.
Our adaptive method vs. the “gold-standard” J-Mark method. Results II Lenna 512x512 Our adaptive method vs. the “gold-standard” J-Mark method.
Our adaptive method vs. the “gold-standard” J-Mark method. Results II – cont. Lenna 512x512 Our adaptive method vs. the “gold-standard” J-Mark method.
Conclusions Our first method embeds a specifiable number of bits into an image. The embedded data is fully recoverable without using the original image. The compression rate is not affected. The image quality is hardly damaged. The standard JPEG coder/decoder is used. The algorithm is fast and can be used to embed data into M-JPEG movies. Etc. Etc…
Questions