EE 5359 FALL 2010DIGITAL WATERMARKINGAbrar Ahmed [email protected] the guidance ofDr. K. R. RaoKEY POINTS What is digital watermarking ? Why do we need digital watermarking ? What are the different types of watermarking ? What are its characteristics and requirements ? What are the different techniques and schemes used to watermark ? What are the different types of attacks it is susceptible to ? What are the ways of counter-attacking a watermarking attack ?PROJECT GOALThe goal of this project can be broadly classified into six steps: 1. Implementing two forms of watermarking techniques-Visible & Invisible2. Implementing an attack on the visible watermark image (For the sake of this project, adding noise is used as a means of attack)3. The watermarked image with noise added to it is then compressed and decompressed using JPEG compression technique. This acts as another form of attack.4. The next step is to remove the noise from the decompressed watermarked image.5. Next, seperating both the base and the watermark images from the concatenated watermarked image. 6. Finally, a benchmarking of original and recovered images is done based on PSNR, SSIM and SSIM map.DIGITAL WATERMARKING As advances are made in field of communication, it became necessary to cipher and decipher. This led to discovery of stenography and watermarking. Stenography: Hiding information over cover. Watermarking: Hiding information related to cover. Embedding is done by manipulating contents in the signal itself and is made imperceptible.DIGITAL WATERMARKINGEmbedding a digital signal (audio, video or image) with information which cannot be removed easily is called digital watermarking. Figure 1 shows the block diagram of embedding digital watermark.Figure 1: Block diagram of embedding digital watermark Attacking function Detecting and retrieving functionSignalAny embedding function ‘E’SignalEMBEDDINGFor example sake, figure 2 shows the block diagram for audio watermark encoding.Figure 2: Encoding block diagram of audio watermarking techniqueFramingSpectral analysis DC Carrier removalWatermark additionOriginal signalWatermarked signalRETREIVINGFor example sake, figure 3 shows the block diagram of audio watermark decoding.Figure 3: Decoding block diagram of audio watermarking.FramingSpectral analysis Watermark processingWatermarked signalOriginal signalAPPLICATIONS Ownership assertion: Watermarking is used to establish ownership of content. Fingerprinting: Watermarking is used to avoid illegal distribution of media. Authentication and integrity verification: Content which is protected by key verification should not be accessible without authentication. Content labeling: Bits embedded in data giving extra information Usage control: To limit copies creation of copyrighted data, by blocking using watermark. Content protection: Visible watermark block is used for this purpose. No universal technique to satisfy all of these.(Source: [23] N. Memo and P. W. Wong, “Protecting digital media content,” Communications of the ACM, Vol. 41, pp. 35-43, 1998)CLASSIFICATIONS Visible Invisible Robust Fragile Public and Private Capacity Perceptibility Embedding techniques Spread spectrum Quantization Amplitude modificationTECHNIQUES OR SCHEMES OF WATERMARKING Spatial domain techniques Least significant bit coding (LSB) Predictive coding schemes Correlation-based techniques Patchwork techniques Frequency domain techniques Discrete cosine transform (DCT) based technique Wavelet transform based watermarking Simple watermarkingATTACKS Basic Robustness Presentation Interpretation Implementation Removal Geometrical Cryptographic Active & Passive Forgery Collusion DistortiveCOUNTER ATTACKS Power spectrum condition Noise visiblity functionPROJECT PART 1(INVISIBLE)From slide 3, the part 1 of this project is: Implementing two forms of watermarking techniques- Visible & InvisibleInvisible Watermarking An image „A‟ will be selected as base image. An image „B‟ will be selected as watermark image. The MSB of „B‟ will be read and these will be written on the LSB of „A‟. Thus, „A‟ will be watermarked with „B‟ resulting in a combined image „C‟. „C‟ therefore will now contain an image „A‟ which has its LSB‟s replaced with the MSBs of „B‟. The technique used will be LSB technique which is a form of spatial domain technique.PART 1 (INVISIBLE)Image ‘A’ and watermark ‘B’ are read.MSBs of ‘B’ will be are transferred to the LSBs of ‘A’Watermarked image ‘C’, contains MSBs of ‘B’ and LSBs of ‘A’Figure 4: Block diagram of invisible watermarking.PART 1 (INVISIBLE) PROGRAM1. base_image = input('Enter base image file name with extension : ', 's');2. watermark_image = input('Enter watermark image file name with extension: ', 's');3. base = imread(base_image);4. watermark = imread(watermark_image);5. figure(1)6. imshow(base,[])7. title('Original Image (Cover Image/Base Image)')8. figure(2)9. imshow(watermark,[])10. title('Watermark Image (Image which will hide in cover image)')11. base=double(base);12. watermark=double(watermark);13. bits=1;14. watermark_shifted=bitshift(watermark,-(8-bits));15. for i=1:bits16. base=bitset(base,i,0);17. End18. watermarked_image = uint8(base+watermark_shifted);19. figure(3)20. imshow(watermarked_image,[])21. title('Watermarked Image (Final watermarked image)')22. imwrite(watermarked_image,'invsible watermarked image.bmp'); % Save modified imagePART 1 (INVISIBLE) EXPLANATIONsPART 1 (INVISIBLE) EXPLANATIONPART 1 (INVISIBLE) EXPLANATIONPART 1 (INVISIBLE) EXPLANATIONPART 1 (INVISIBLE) RESULTFigure 5: Base ImageFigure 6: Watermark ImageFigure 7: Watermarked ImagePROJECT PART 1(VISIBLE)From slide 3, the part 1 of this project is: Implementing two forms of watermarking techniques- Visible & InvisibleVisible Watermarking A raw bitmap base image „A‟ will be selected from the set of standard test images. A raw bitmap watermark image „B‟ will be selected from the set of standard test images. Now both images „A‟ and „B‟ will be concatenated to get a watermarked image „D‟ „D‟ therefore will now contain the base image „A‟ and the watermark image „B‟. This technique is used to add visible watermark in the
View Full Document