+ All Categories
Home > Documents > Digital Watermarking - UT Arlington – UTA · or frequency shift. The human eye has a limited...

Digital Watermarking - UT Arlington – UTA · or frequency shift. The human eye has a limited...

Date post: 12-Jun-2018
Category:
Upload: phamque
View: 215 times
Download: 0 times
Share this document with a friend
33
University of Texas at Arlington Spring-2011 Digital Watermarking Final Report Ehsan Syed
Transcript

University of Texas at Arlington

Spring-2011

Digital Watermarking Final Report

Ehsan Syed

Ehsan Syed

Digital Watermarking

2

DIGITAL WATERMARKING

- Final Report (EE 5359: Multimedia Processing)

Under the guidance of,

Dr. K. R. Rao

Submitted By,

Ehsan Syed

1000671971

[email protected]

The University of Texas at Arlington – Spring 2011

Ehsan Syed

Digital Watermarking

3

DIGITAL WATERMARKING

Introduction:

Watermarking is defined as the practice of altering a work to embed a message about that

work [1].

Embedding a digital signal (audio, video or image) with information which cannot be

removed easily is called digital watermarking.

Digital watermarking is based on the science of steganography [2] or data hiding.

Steganography comes from the Greek meaning ‘covered writing’. Steganography is

defined as the practice of undetectably altering a work to embed a secret message. It is an

area of research of communicating in a hidden manner.

Steganography and watermarking rely on imperfections of human senses. The eyes and

ears are not perfect detectors and cannot detect minor change therefore can be tricked into

thinking two images or sounds are identical but actually differ, for example in luminance

or frequency shift. The human eye has a limited dynamic range so low quality images

can be hidden within other high quality images [3].

Basic Principle:

There are three main stages in the watermarking process [4]:

• generation and embedding

• attacks

• retrieval/detection

Generation of watermarks is an important stage of the process. Watermarks contain

information that must be unique otherwise the owner cannot be uniquely identified. In

embedding, an algorithm accepts the host and the data to be embedded and produces a

watermarked signal. Various algorithms have been developed so far [5-14].The

watermarked signal is then transmitted or stored, usually transmitted to another person. If

this person makes a modification, this is called an attack. There are many possible

Ehsan Syed

Digital Watermarking

4

attacks. Detection is an algorithm which is applied to the attacked signal to attempt to

extract the watermark from it. If the signal is not modified during transmission, then the

watermark is still present and it can be extracted. If the signal is copied, then the

information is also carried in the copy. The embedding takes place by manipulating the

contents of the digital data, which means the information is not embedded in the frame

around the data, it is carried with the signal itself. Figure 1 shows the basic block diagram

of watermarking process.

Figure 1: Basic block diagram of watermarking

Embedding

Watermark

Image

Host

Image

Watermarked

Image

Extraction

Private Key

Private Key

Extracted

watermark

signal

Ehsan Syed

Digital Watermarking

5

Types of Watermarking:

There are mainly three types of watermarking [15]:

• Visible Watermarking

• Invisible Watermarking

• Dual watermarking

Below, are discussed the various types of digital watermarkings:

Visible Watermarking:

In visible watermarking of images, a secondary image (the watermark)

is embedded in a primary image such that watermark is intentionally

perceptible to a human observer [23].

Invisible Watermarking:

In invisible watermarking the embedded data is not perceptible, but may be

extracted by a computer program [23].

Invisible Robust Watermarking

Invisible Robust watermark cannot be manipulated without disturbing the host

signal. This is by far the most important requirement of a watermark. There are

various attacks, unintentional (cropping, compression, scaling) and unintentional

attacks which are aimed at destroying the watermark. So, the embedded

watermark should be such that it is invariant to various such attacks. They are

designed to resist any manipulations that may be encountered. All applications

where security is the main issue use robust watermarks

Ehsan Syed

Digital Watermarking

6

Invisible Fragile Watermarks

These watermarks are designed with very low robustness and are used to check

the integrity of objects.

Invisible Public and Private Watermark

They are differentiated in accordance with the secrecy requirements for the key

used to embed and retrieve watermarks. If the original image is not known during

the detection process then it is called a public or a blind watermark and if the

original image is known it is called a non blind watermark or a private watermark.

Dual watermarking:

The dual watermark is a combination of a visible watermark and an invisible

watermark.

A visible watermark is first inserted in the host image and then an invisible

watermark is added to the already visible-watermarked image. The final

watermarked image is the dual watermarked image [23].

Capacity

The length of the embedded message determines two different main classes of

digital watermarking schemes:

Zero-bit: The message is conceptually zero-bit long and the system is designed in

order to detect the presence or the absence of the watermark in the marked object.

This kind of watermarking scheme is usually referred to as zero-bit or presence

watermarking schemes. Sometimes, this type of watermarking scheme is called 1-

bit watermark, because a 1 denotes the presence (and a 0 the absence) of a

watermark.

N-bit: The message is a n-bit-long stream and is modulated in the watermark.

These kinds of schemes usually are referred to as multiple-bit watermarking or

non-zero-bit watermarking schemes.

Ehsan Syed

Digital Watermarking

7

Perceptibility:

A watermark is called imperceptible if the original cover signal and the marked

signal are perceptually indistinguishable. A watermark is called perceptible if its

presence in the marked signal is noticeable.

Techniques of Watermarking:

There are mainly two major techniques of watermarking [16]:

• Spatial domain: slightly modifies the pixels of one or two randomly selected

subsets of an image

• Frequency domain: this technique is also called transform domain. Values of

certain frequencies are altered from their original.

Spatial Domain:

In this type of watermarking, the pixels of one or two randomly selected subsets of

an image are modified. These modifications can even include the flipping of the low-

order bit of each pixel. But this technique is not considered reliable for normal media

operations like lossy compression or filtering [9].

- LSB Coding: The least significant bits of the host signals are modified by the

watermark signal.

- Correlation Based: Pseudo random noise (PN) with a pattern W(x, y) is added

to an image according to

����, �� = ���, �� + ∗���, ��

At the decoder the correlation between the random noise and the image is found. If

the value exceeds a threshold, watermark is detected.

Patchwork

This algorithm has been proposed as an image watermarking scheme at the outset.

This inserts the information into the time-domain signal. Original patchwork algorithm

[20] is refreshingly novel among many watermarking methods. Moreover, the population

Comment [s1]: Watermarked Image

Comment [s2]: Original Image

Comment [s3]: Gain

Ehsan Syed

Digital Watermarking

8

of each subset was very large: It was not adaptive to the signal: it added or subtracted

constant d independently of the signal strength. Nonetheless, it has provided a solid base

as an excellent tool for information hiding.

Frequency Domain

Discrete Cosine Transform (DCT): The sequence of data points in the spatial

domain are converted to the sum of sine and cosine waveforms with different amplitudes

in the frequency domain. Unlike Discrete Fourier Transform, this transform has only real

numbers when a cosine function is used. There are eight different variants of DCT with

slight modifications between them [17][18][19].

Discrete Wavelet Transform (DWT): In this transform the signal is decomposed into a

set of basic wavelets followed by the altering of lower frequencies at various resolutions

[17][18][19].

For this project, a form of spatial domain watermarking technique will be used.

Attacks:

Digital watermarking is immune to hacker attacks unlike data encryption. They are

broadly classified into the following categories:

• Removal attacks

• Geometrical attacks

• Cryptographic attacks

• Protocol attacks

Removal:

This aims at removing the watermark from the original data. This category includes

denoising, lossy compression, quantization, demodulation, collusion and averaging

attacks. Removes watermark from original signal.

Ehsan Syed

Digital Watermarking

9

Geometrical:

Instead of removing the watermark, the watermark is distorted using spatial or temporal

alteration of stego data.

Cryptographic:

If the image is watermarked such that it needs a key to decipher, brute force attacks are

used for exhaustive search to find the key to decipher. These are called cryptographic

attacks.

Basic:

In this attack, the attacker takes advantage of the limitations in design of the embedding

technique. The attack is very basic and can be easily resolved.

Robustness:

This may include removal attacks where the attacker aims at removing the watermark

from the host data. Also the attacker may try to diminish the data.

Presentation:

These attacks modify the content of the file in order to prevent the detection of the

watermark.

Interpretation:

These attacks find a situation where ownership certification is prevented. They rely on

misinterpretating the data to comply with ownership certification

Implementation:

This attacks the detection software. A marking system can provide more opportunities for

attack than the marking technique itself. If the mark detection software is vulnerable it

may be possible for attackers to deceive it.

Active & Passive:

Attacker removes or spoils the watermark. Attacker just identifies the watermark and

does not damage it.

Ehsan Syed

Digital Watermarking

10

Forgery:

Attacker forges new watermark and replaces the old one with the new one there by

misleading the end receiver.

Collusion:

Attacker decodes different copies with different watermarks and joins them to make one

single watermark.

Distortive:

Attacker applies distortive transformation to make the watermark undetectable by any

other person.

Desired Characteristics:

Some of the desired characteristics are [24][25][26]:

Visible watermarking:

• A visible watermark should be obvious in both color and monochrome images.

• The watermark should spread in a large or important area of the host image in

order to prevent its deletion by clipping.

• The watermark should be visible yet must not significantly obscure the image

details beneath it.

• The watermark must be difficult to remove. Rather removing a watermark should

be more costly and labor intensive than purchasing the image from the owner.

• The watermark should be applied automatically with little human intervention and

labor.

Invisible Watermarking:

• The invisible watermark should neither be noticeable to the viewer nor should

degrade the quality of the content

Ehsan Syed

Digital Watermarking

11

• An invisible watermark must be robust to common signal distortions and must be

resistant to various intentional tampering solely intended to remove the

watermark.

• Retrieval of watermark should unambiguously identify the owner.

• While watermarking high quality images and art works the amount of pixel

modification should be minimal.

• Insertion of watermark should require little human intervention or labor

Project Goal:

This project aims at embedding a watermark into an image using a form of spatial

domain technique, which is least significant bit technique, and also through concatenation

followed by the addition of noise and then performing JPEG compression and

decompression and followed by the removal of noise from the watermarked image and

then separating the watermark image from the watermarked image.

The following are the subdivisions of the project:

� Embedding the Watermark image into the Host image by LSB technique:

• Host image is selected

• A watermark image is selected

• The least significant bits (LSBs) of the host image will be replaced by the most

significant bits (MSBs) of the watermark image

• A watermarked image is obtained which contains the LSBs of watermark image

and the MSBs of the host image. This technique is called the LSB technique.

� Concatenation – Visible watermarking:

• Host image and the watermark image are concatenated

• The resultant image obtained is the watermarked image

� Addition of the noise to the watermarked image:

• A noise is initialized

• This noise is added to the watermarked image to implement as a form of attack

Ehsan Syed

Digital Watermarking

12

� Compression and Decompression of the watermarked image with Noise:

• The watermarked image with noise added to it is now JPEG compressed using

JPEG compressor software.

• The compressed image will now be decompressed using JPEG compressor

software

� Removing the noise from the watermarked image:

• The noise which was added to the watermarked image will now be removed

� Separating the watermark from the watermarked image:

• The watermark from the watermarked image is separated

• It gives host image and the watermark image

The tools used in this project’s implementation are MATLAB, Visual Studio.

Program:

(LSB technique for invisible watermarking)

host_image = input('Enter the host image file name with extension : ', 's');

wmrk_image = input('Enter watermark image file name with extension: ', 's');

host = imread(host_image);

wmrk = imread(wmrk_image);

figure(1)

imshow(host,[])

title('Host Image')

figure(2)

imshow(wmrk,[])

title('Watermark Image')

host=double(host);

wmrk=double(wmrk);

bits=1;

wmrk_shifted=bitshift(wmrk,-(8-bits));

for i=1:bits

host=bitset(host,i,0);

end

watermarked_image = uint8(host+wmrk_shifted);

figure(3)

imshow(watermarked_image,[])

title('Invisible Watermarked Image')

Comment [s4]: Asking the user to give a host

image which is to be watermarked

Comment [s5]: Asking the user to enter the

image to be used as a watermark

Comment [s6]: Reading the images

Comment [s7]: Displaying the images

Comment [s8]: Doubling the images so they will

be able to store the results of the addition

operations done on them

Comment [s9]: Assigning the no. of bits of the

watermark image to be replaced in the base image

Comment [s10]: Shifting the watermark 8-bits

onto the right

Comment [s11]: LSB’s of the host image are made zero

Comment [s12]: Adding host image and

watermark image

Comment [s13]: Displaying the Watermarked

image

Ehsan Syed

Digital Watermarking

13

(LSB technique for Visible watermarking)

host_image = input('Enter the host image file name with extension : ', 's');

wmrk_image = input('Enter watermark image file name with extension: ', 's');

host = imread(host_image);

wmrk = imread(wmrk_image);

figure(1)

imshow(host,[])

title('Host Image')

figure(2)

imshow(wmrk,[])

title('Watermark Image')

host=double(host);

wmrk=double(wmrk);

bits=1;

wmrk_shifted=bitshift(wmrk,-(8-bits));

for i=1:bits

host=bitset(host,i,0);

end

watermarked_image = uint8(host+wmrk_shifted);

figure(3)

imshow(watermarked_image,[])

title('Invisible Watermarked Image')

Algorithm:

The aforementioned program is written in MATLAB and is executed. The

following points explain the program code:

• It asks the user to input the Host image and the Watermark image

• It reads the images input by the user and displays them

• It then doubles the images for the subsequent operations

• It then assigns the no. of bits of host image to be replaced by the

watermark image

• Each pixel is an 8-bit byte, hence the watermark image is shifted to 8-(no.

of bits assigned) places to the right

2�� 2�

� 2�� 2�

� 2�� 2�

� 2�� 2�

� Table 1: Watermark pixel before bit-shift

• The above (table 1) is the representation of the pixel of the watermark

image before the bit-shift. The following (table 2) is the representation of

the pixel after the bit-shift

2�� 2�

� 2��

Table 2: Watermark pixel after bit-shift (bits=3)

• The host image assigns its LSBs to zeroes as many as the no. of bits

assigned

Comment [s14]: Asking the user to give a host

image which is to be watermarked

Comment [s15]: Asking the user to enter the

image to be used as a watermark

Comment [s16]: Reading the images

Comment [s17]: Displaying the images

Comment [s18]: Doubling the images so they

will be able to store the results of the addition

operations done on them

Comment [s19]: Assigning the no. of bits of the

watermark image to be replaced in the base image

Comment [s20]: Shifting the watermark 8-bits

onto the right

Comment [s21]: LSB’s of the host image are made zero

Comment [s22]: Adding host image and

watermark image

Comment [s23]: Displaying the Watermarked

image

Ehsan Syed

Digital Watermarking

14

2�� 2�

� 2�� 2�

� 2�� 2�

� 2�� 2�

� Table 3: Host image before the LSBs are made zero

• The above (table 3) is the representation of the pixel of the host image before the

least significant bits are made zero. The following (table 4) is the representation

of the pixel after the LSBs are made zero

2�� 2�

� 2�� 2�

� 2�� 0 0 0

Table 4: Host image after the LSBs are made zero (bits=3)

• The host image and the watermark images area added to give the watermarked

image (shown in table 5)

2�� 2�

� 2��

+

2�� 2�

� 2�� 2�

� 2�� 0 0 0

=

��� ��

� ��� ��

� ��� ��

� ��� ��

Table 5: Watermarked image pixel with MSBs of host image and LSBs of watermark

Concatenation – Visible Watermarking:

A zero matrix 512x512 is defined

The host image is written in the zero matrix in the alternate row and column

indexes

The base image is written in the zero matrix in the alternate row and column

indexes

The remaining indexes of the zero matrix are kept zero, hence the concatenated

watermarked image has a mesh-like structure

Ehsan Syed

Digital Watermarking

15

H H H H H H

H H H H H H

H H H H H H

H H H H H H

H H H H H H

H H H H H H

H H H H H H

Table 6: Host image 256X256

The table.6 shown above is the representation of the 256x256 host image.

The table.7 shown below is the representation of the 256x256 watermark image.

W W W W W W

W W W W W W

W W W W W W

W W W W W W

W W W W W W

W W W W W W

W W W W W W

Table 7: Watermark image 256x256

Ehsan Syed

Digital Watermarking

16

A zero matrix 512x512 is initialized. It is shown below in the table.8

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

Table 8: Zero matrix initialized 512x512

The table.9 below shows the zero matrix representation after the host image indexes are placed

alternately on rows and columns

H 0 H 0 H 0

0 0 0 0 0 0

H 0 H 0 H 0

0 0 0 0 0 0

H 0 H 0 H 0

0 0 0 0 0 0

H 0 H 0 H 0

Table 9: Zero matrix 512x512 after Host image indexes placed alternately on row and column indexes

Ehsan Syed

Digital Watermarking

17

After the watermark image indexes are placed alternately on rows and columns of the zero matrix

indexes, the remaining indexes of the zero matrix are kept zero. Hence the concatenated watermarked

imaged has a mesh like structure. The table.10 below shows the representation of concatenation of the

host image and the watermark image.

H 0 H 0 H 0

0 W 0 W 0 W

H 0 H 0 H 0

0 W 0 W 0 W

H 0 H 0 H 0

0 W 0 W 0 W

H 0 H 0 H 0

Table 10: Zero matrix 512x512 after the watermark image indexes placed alternately on row and column indexes

Program:

(Visible watermarking by concatenation) host_image = 'albert.jpg'; wm_image = 'arlington.jpg';

host = imread(host_image); wm = imread(wm_image);

figure(1) imshow(host,[]) title('Host image')

figure(2) imshow(wm,[]) title('Watermark Image')

host=double(host);

Comment [s24]: Giving the host image

Comment [s25]: Giving the watermark image

Comment [s26]: Reading the given images

Comment [s27]: Displaying the Host image

Comment [s28]: Displaying the watermark

image

Ehsan Syed

Digital Watermarking

18

wm=double(wm);

rd = zeros([512 512]); m=1; n=1; rm = 1; rn = 1;

for i=1:256 for j=1:256 rd(rm,rn)=host(m,n); n=n+1; rn=rn+2; end m= m+1; n = 1; rm=rm+2; rn=1; end

m=1; n=1; rm = 2; rn = 2; for i=1:256 for j=1:256 rd(rm,rn)=wm(m,n); n=n+1; rn=rn+2; end m= m+1; n = 1; rm=rm+2; rn=1; end

rd =uint8(rd);

figure(3) imshow(rd,[]) title('Watermarked Image)') imwrite(rd,'Visible Watermarked.bmp');

(Adding noise to the watermarked image)

image = imread('Visible Watermarked.bmp');

noisy = 80*rand([512 512]); figure(4) imshow(noisy,[])

Comment [s29]: Converting the images to

double precision

Comment [s30]: Defining a matrix

Comment [s31]: Defining variables

Comment [s32]: Defining a loop to write the

base image on the alternate pixels

Comment [s33]: Defining a loop to write the

watermark image on the alternate pixels

Comment [s34]: Converting to 8-bit

Comment [s35]: Displaying the concatenated

watermarked image

Comment [s36]: Saving the watermarked image

Comment [s37]: Defining the watermarked

image to a variable for adding noise

Comment [s38]: Initializing noise as a random

matrix

Comment [s39]: Displaying noise matrix

Ehsan Syed

Digital Watermarking

19

image1= double(image) + double(noisy);

image2 = uint8(image1); figure(4) imshow(image2); title('Watermarked image with noise added to it') imwrite(image1,'Noise_img.jpg')

(Removing the noise from the watermarked image)

image3=imread(decompressed_img.jpg');

image3 = image1(:,:,1); image4 = double(image1) - double(noisy); image4 = uint8(image4);

figure(5) imshow(image4,[]); title('Recovered image from noise') imwrite(image4,'Watermarked Image Recovered.bmp') image4=double(image4);

(Separation of the watermark image from the host image) rm = 1; rn = 1;

for i=1:256 for j=1:256 host(i,j)=rd(rm,rn); rn=rn+2; end rn=1; rm=rm+2; end rm = 2; rn = 2;

for i=1:256 for j=1:256 wm(i,j)=rd(rm,rn); rn=rn+2; end rn=1; rm=rm+2; end

host=uint8(host); wm=uint8(wm);

figure(6) imshow(host,[])

Comment [s40]: Doubling the images to make

them of the same size

Comment [s41]: Converting to 8-bit

Comment [s42]: Displaying the watermarked

image with noise added to it

Comment [s43]: Saving the watermarked image

with noise

Comment [s44]: Reading the saved

watermarked image with noise

Comment [s45]: Removing the noise from the

watermarked image with noise

Comment [s46]: Displaying the image after

removing the noise

Comment [s47]: Saving the recovered image

Comment [s48]: Loops for reading and

separating the watermark image and the host image

from the concatenated watermarked image

Comment [s49]: Converting watermark and host

images to 8-bit

Ehsan Syed

Digital Watermarking

20

title('Separated Host Image’)

figure(7) imshow(wm,[]) title('Separated Watermark Image')

Results:

LSB:

The Host image is shown in the fig. 2

The watermark image is shown in the fig. 3

The invisible watermarked images are shown in the fig. 4

The visible watermarked image is shown in fig. 5

Concatenation:

The host image is shown in the fig. 6

The watermark image is shown in the fig. 7

The concatenated watermarked image is shown in fig. 8

The random noise generated is shown in fig. 9

The watermarked image with noise added to it is shown in fig. 10

JPEG compressed image is shown in fig. 11

Decompressed image is shown in fig. 12

Watermarked image with noise removed is shown in fig. 13

Separated host image is shown in fig. 14

Separated watermark image is shown in fig. 15

Comment [s50]: Displaying the separated host

image

Comment [s51]: Displaying the separated

watermark image

Ehsan Syed

Digital Watermarking

21

LSB Technique

Figure 2: Host image

Figure 3: Watermark image

Ehsan Syed

Digital Watermarking

22

Figure 4: Invisible watermarked image by LSB technique

Figure 5: Visible watermarked image by LSB technique

Ehsan Syed

Digital Watermarking

23

Concatenation – visible watermarking

Figure 6: Host image (256x256)

Figure 7: Watermark image (256x256)

Ehsan Syed

Digital Watermarking

24

Figure 8: Concatenated visible watermarked image 512x512

Ehsan Syed

Digital Watermarking

25

Figure 9: Random noise 512x512 initiated as a form of attack to the watermarked image

Ehsan Syed

Digital Watermarking

26

Figure 10: Watermarked image after the addition of Noise 512x512

Ehsan Syed

Digital Watermarking

27

Figure 11: JPEG compressed watermarked image as another form of attack 512x512

Ehsan Syed

Digital Watermarking

28

Figure 12: JPEG decompressed image 512x512

Ehsan Syed

Digital Watermarking

29

Figure 13: Watermarked image after the removal of the noise 512x512

Ehsan Syed

Digital Watermarking

30

Figure 14: Separated Host image 256x256 from the concatenated watermarked image

Figure 15: Separated watermark image 256x256 from the concatenated watermarked image

Ehsan Syed

Digital Watermarking

31

Conclusions:

� A MATLAB code was written and successfully implemented

� Visible and invisible watermarking types were implemented

� LSB technique and concatenation methods were implemented

� Noise and JPEG compression was done to the watermarked image as attack forms

� Noise was removed from the concatenated image and the host image and the

watermark images were successfully separated

References:

1. I. Cox et al, "Digital Watermarking", Journal of Electronic Imaging, Vol. 11,

No.3, July 2002

2. L.M. Marnel et al, “Spread spectrum image steganography”, IEEE Transactions on

Image Processing, pp 1075-1083, Aug 1999

3. J.J.K O-Ruanaidh et al, “Watermarking digital images for copyright protection,

IEE Proceedings in Vision”, Image and Signal Processing, pp250-256, Aug 1996

4. I. J. Cox and M. L. Miller, “A review of watermarking and the importance of

perceptual modeling”, Proceedings of Electronic Imaging, February 1997

5. H.J. Wang et al, “Wavelet based digital image watermarking “, Optics Express, PP

491-496, Dec 1998

6. P.-T.Yu et al, “ Digital watermarking based on neural networks for color images”,

Signal Processing, PP 663-671, Mar 2001

Ehsan Syed

Digital Watermarking

32

7. J. O-Ruanaidh et al, “Cryptographic copyright protection for digital images based

on watermarking techniques”, Theoretical Computer Science, pp 117-142, Sep

1999

8. C. Fornaro and A.Sanna, “Public key watermarking for authentication of CSG

models”, Computer-Aided design, pp 727-735, Oct 2000

9. M. Barni et al, “Copyright protection of digital images by embedded

unperceivable marks”, Image and Vision Computing, pp897-906, Aug 1998

10. J.R. Hernandez et al, “Improving the performance of spatial watermarking of

images using channel coding”, Signal Processing, pp 1261-1279, July 2000

11. S. Pereira et al, “Optimal transform domain watermark embedding via linear

programming”, Signal Processing, pp 1251-1260, July 2001

12. F. Perez-Gonzalez et al, “Approaching the capacity limit in image watermarking: a

perspective on coding techniques for data hiding applications”, Signal Processing,

pp 1215-1238, July 2001

13. R. Baitello et al, “From watermark detection to watermark decoding: a PPM

approach”, Signal Processing, pp 1261-1271 , July 2001

14. M. Barni et al, “A DCT-domain system for robust image watermarking”, Signal

Processing, pp 357-372, May 1998

15. S. P. Mohanty, et al, “A Dual Watermarking Technique for images”, Proceedings

of the seventh ACM international conference on Multimedia, pp 49-51, 1999

16. F. Hartung and M. Kutter, “Multimedia watermarking techniques”, Proceedings of

the IEEE, Vol. 87, No. 7, pp 1079 – 1107, July 1999

17. N. Ahmed, et al, "Discrete cosine transform", IEEE Trans. Computers, Vol. 23(1),

pp. 90-93, Jan. 1974

18. V. Britanak, et al, “Discrete Cosine Transform: Properties, Algorithms,

Advantages, Applications”, Academic Press Publications, ISBN 978-0-12-

373624-6, Boston, 1990.

19. J. Cummins, et al, “Steganography and digital watermarking”, School of

Computer Science, The University of Birmingham, 2004 Website:

http://www.cs.bham.ac.uk/~mdr/teaching/modules03/security/students/SS5/Stegan

ography.pdf

20. W. Bender et al, “Techniques for data hiding,” IBM Systems Journal, Vol. 35,

Nos. 3&4, 1996

21. R. Popa, “An analysis of steganographic techniques”, The Politehnica University

of Timisoara, Faculty of Automatics and Computers, Department of Computer

Science and Software Engineering, Website: http://ad.informatik.uni-

freiburg.de/mitarbeiter/will/dlib_bookmarks/digital-watermarking/popa/popa.pdf,

1998

22. T. Natarajan, and K. R. Rao, "Discrete cosine transform", IEEE Trans. Computers,

Vol. 23(1), pp. 90-93, Jan. 1974

23. S. P. Mohanty et al, “A dual watermarking technique for images”, ACM, 1999.

24. M. Yeung et al, “Digital Watermarking for High-Quality Imaging”, Proc. IEEE

First Workshop on Multimedia Signal Processing, Princeton, New Jersey, pp- 357-

362, June 1997

Ehsan Syed

Digital Watermarking

33

25. F. Mintzer et al, “Effective and Ineffective Digital Watermarks”, IEEE

International Conference on Image Processing, ICIP-97, Vol.3, pp. 9-12 , 1997.

26. I. J. Cox et al, “Secure Spread Spectrum Watermarking of Images, Audio and

Video”, Proc. IEEE International Conference on Image Processing, ICIP-96,

Vol.3, pp. 243-246, 1996

27. Advanced JPEG compressor, Website: http://www.winsoftmagic.com/ajc.html

28. MATLAB, Mathworks, Website:

http://www.mathworks.com/products/matlab/tryit.html


Recommended