code - thesis ma - digital watermarking - 26-33-40 - 45

55
Digital Watermarking Abrar Ahmed Syed 1000614216 [email protected] The University of Texas, Arlington Guided by Dr. K.R.Rao

Upload: luong-xuan-dan

Post on 29-Dec-2015

39 views

Category:

Documents


0 download

TRANSCRIPT

Digital Watermarking Abrar Ahmed Syed 1000614216

[email protected] The University of Texas, Arlington Guided by Dr. K.R.Rao

Digital Watermarking

2 Abrar Ahmed Syed 1000614216

EE 5359 MULTIMEDIA PROCESSING

PROJECT REPORT

DIGITAL

WATERMARKING

Under guidance of Dr.K.R.Rao

Submitted By,

Abrar Ahmed Syed

1000614216 [email protected]

The University of Texas at Arlington

Digital Watermarking

3 Abrar Ahmed Syed 1000614216

Table of Contents

Abstract .................................................................................................................................................. 7

1.0 Introduction of Digital Watermarking ................................................................................................ 7

2.0 Watermarking ................................................................................................................................... 8

2.1 Definition of Watermarking ........................................................................................................... 8

2.2 Principle of Watermarking ............................................................................................................. 9

3.0 Requirements .................................................................................................................................. 10

3.1 Transparency: .............................................................................................................................. 10

3.2 Robustness: ................................................................................................................................. 10

3.3 Capacity or Data Load: ................................................................................................................. 10

4.0 Applications ..................................................................................................................................... 10

4.1 Copyright Protection: ................................................................................................................... 10

4.2 Authentication: ............................................................................................................................ 10

4.3 Broadcast Monitoring: ................................................................................................................. 10

4.4 Content Labeling: ......................................................................................................................... 10

4.5 Tamper Detection: ....................................................................................................................... 10

4.6 Digital Fingerprinting: .................................................................................................................. 10

4.7 Content protection: ..................................................................................................................... 11

5.0 Classifications of Watermarking ....................................................................................................... 11

5.1 Visible .......................................................................................................................................... 11

5.2 Invisible ....................................................................................................................................... 11

5.2.1 Robust Watermarks .............................................................................................................. 11

5.2.2 Fragile Watermarks ............................................................................................................... 11

5.2.3 Public and Private Watermark ............................................................................................... 12

5.3 Capacity ....................................................................................................................................... 12

5.4 Perceptibility ............................................................................................................................... 12

5.5 Embedding Techniques: ............................................................................................................... 12

5.5.1 Spread Spectrum ................................................................................................................... 12

Digital Watermarking

4 Abrar Ahmed Syed 1000614216

5.5.2 Quantization ......................................................................................................................... 12

5.5.3 Amplitude Modification: ....................................................................................................... 12

6.0 Techniques or Schemes of Watermarking ........................................................................................ 13

6.1 Spatial Domain Techniques .......................................................................................................... 13

6.1.1 Least Significant Bit Coding (LSB) ........................................................................................... 13

6.1.2 Predictive Coding Schemes .................................................................................................... 13

6.1.3 Correlation-Based Techniques ............................................................................................... 13

6.1.4 Patchwork Techniques .......................................................................................................... 14

6.2 Frequency Domain techniques ..................................................................................................... 14

6.2.1 Discrete cosine transform (DCT) based technique: ................................................................ 14

6.3 Wavelet Transform based Watermarking ..................................................................................... 18

6.4 Simple Watermarking .................................................................................................................. 19

7.0 Attacks ............................................................................................................................................ 20

7.1 Basic ............................................................................................................................................ 20

7.2 Robustness .................................................................................................................................. 20

7.3 Presentation ................................................................................................................................ 20

7.4 Interpretation .............................................................................................................................. 21

7.5 Implementation ........................................................................................................................... 21

7.6 Removal....................................................................................................................................... 21

7.7 Geometrical ................................................................................................................................. 22

7.8 Cryptographic .............................................................................................................................. 22

7.9 Active & Passive ........................................................................................................................... 22

7.10 Forgery ...................................................................................................................................... 22

7.11 Collusion .................................................................................................................................... 22

7.12 Distortive ................................................................................................................................... 23

8.0 Counter Attacks ............................................................................................................................... 23

8.1 Power Spectrum Condition (PSC) ................................................................................................. 23

8.2 Noise Visibility Function (NVF): .................................................................................................... 24

9.0 Privacy Laws of Watermarking ......................................................................................................... 25

10.0 Project Goal ................................................................................................................................... 25

10.1 Invisible Watermarking (Least significant bit Watermarking) ...................................................... 25

10.1.1 Steps ................................................................................................................................... 25

Digital Watermarking

5 Abrar Ahmed Syed 1000614216

10.1.2 Program .............................................................................................................................. 26

10.1.3 Algorithm Explanation ......................................................................................................... 28

10.1.14 Flow-chart: ........................................................................................................................ 31

10.1.5 Results: ............................................................................................................................... 31

10.2 Visible Watermarking – Concatenation ...................................................................................... 33

10.2.1 Steps ................................................................................................................................... 33

10.2.2 Program: ............................................................................................................................. 33

10.2.3 Algorithm Explanation ......................................................................................................... 36

10.2.4 Flow-chart ........................................................................................................................... 38

10.2.5 Result .................................................................................................................................. 39

10.3 Visible Watermarking – Noise Addition ...................................................................................... 40

10.3.1 Steps ................................................................................................................................... 40

10.3.2 Program .............................................................................................................................. 41

10.3.3 Algorithm Explanation ......................................................................................................... 41

10.3.4 Flow-chart ........................................................................................................................... 42

10.3.5 Result .................................................................................................................................. 42

10.4 Visible Watermarking – JPEG Compression ................................................................................ 43

10.4.1 Steps ................................................................................................................................... 43

10.4.2 Flow-chart ........................................................................................................................... 43

10.4.3 Flow-chart (Jpeg Compression)............................................................................................ 44

10.4.4 Result .................................................................................................................................. 45

10.5 Visible Watermarking – Denoising .............................................................................................. 45

10.5.1 Steps ................................................................................................................................... 45

10.5.2 Program .............................................................................................................................. 46

10.5.3 Algorithm Explanation ......................................................................................................... 46

10.5.4 Flow-chart ........................................................................................................................... 47

10.5.5 Result .................................................................................................................................. 47

10.6 Visible Watermarking – Separating the Watermark .................................................................... 48

10.6.1 Steps ................................................................................................................................... 48

10.6.2 Program .............................................................................................................................. 48

10.6.3 Algorithm Explanation ......................................................................................................... 50

10.6.4 Flow-chart ........................................................................................................................... 50

Digital Watermarking

6 Abrar Ahmed Syed 1000614216

10.6.5 Results ................................................................................................................................ 50

11.0 Testing: .......................................................................................................................................... 51

12.0 Conclusions: .................................................................................................................................. 53

References: ........................................................................................................................................... 53

Digital Watermarking

7 Abrar Ahmed Syed 1000614216

DIGITAL WATERMARKING

Abstract

Everyday tons of data is embedded on digital media or distributed over the internet. The data so distributed can easily be replicated without error, putting the rights of their owners at risk. Even when encrypted for distribution, data can easily be decrypted and copied. One way to discourage illegal duplication is to insert information known as watermark, into potentially vulnerable data in such a way that it is impossible to separate the watermark from the data. These challenges motivated researchers to carry out intense research in the field of watermarking.

A watermark is a form, image or text that is impressed onto paper, which provides evidence of its authenticity. Digital watermarking is an extension of the same concept. There are two types of watermarks: visible watermark and invisible watermark. In this project we have concentrated on implementing watermark in image. The main consideration for any watermarking scheme is its robustness to various attacks. Watermarking dependency on the original image increases its robustness but at the same time we need to make sure that the watermark is imperceptible. In this project a invisible watermarking technique (least significant bit) and an visible watermarking technique is implemented. An attack is also implemented on the visible watermarked image by adding a random noise to the watermarked image. The watermarked image is then compressed and decompressed using JPEG compression [1]. Finally noise is removed and the images are separated from the recovered watermarked image.

1.0 Introduction of Digital Watermarking

Information hiding can be mainly divided into three processes - cryptography, stenography and watermarks. Cryptography is the process of converting information to an unintelligible form so that only the authorized person with the key can decipher it. As many advances were made in the field of communication it became rather simple to decrypt a cipher text. Hence more sophisticated methods were designed to offer better security than what cryptography could offer. This led to the discovery of stenography and watermarking. Stenography is the process of hiding information over a cover object such that the hidden information cannot be perceived by the user. Thus even the existence of secret information is not known to the attacker. Watermarking is closely related to stenography, but in watermarking the hidden information is usually related to the cover object. Hence it is mainly used for copyright protection and owner authentication.

Digital Watermarking

8 Abrar Ahmed Syed 1000614216

2.0 Watermarking The history of watermark dates back to the 13th century. Watermarks were used to indicate the paper brand and the mill that produced it in Italy. By the 18th century watermarks began to be used as anti-counterfeiting measures on money and other documents and in 1995 interest in digital watermarking began to mushroom. Intense research has been carried out in this field for the past few years which has led to the discovery of various algorithms [1][2][3][4][5]. Throughout this report some of these techniques are discussed and one such technique is implemented.

As many advances are made in the field of communication it became rather simple to decrypt a cipher text. Hence more sophisticated methods are designed to offer better security than what cryptography can offer. This led to the discovery of stenography and watermarking. Stenography is the process of hiding information over a cover object such that the hidden information cannot be perceived by the user. Watermarking is closely related to steganography, but in watermarking the hidden information is usually related to the cover object. Hence it is mainly used for copyright protection and owner authentication. Figure 1 explains how watermarking is derived from steganography.

Fig.1 Types of Steganography [1]

2.1 Definition of Watermarking Embedding a digital signal (audio, video or image) with information which cannot be removed easily is called digital watermarking

Digital Watermarking

9 Abrar Ahmed Syed 1000614216

2.2 Principle of Watermarking

A watermarking system is usually divided into three distinct steps, embedding, attack and detection. In embedding, an algorithm accepts the host and the data to be embedded and produces a watermarked signal. 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 attacks. Detection is an algorithm which is applied to the attacked signal to attempt to extract the watermark from it. If the signal was 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 content 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 2 shows the basic block diagram of watermarking process.

Fig.2 Watermarking block diagram

The original image and the desired watermark are embedded using one of the various schemes that are currently available. The obtained watermarked image is passed through a decoder in which usually a reverse process to that employed during the embedding stage is applied to retrieve the watermark. The different techniques differ in the way in which it embeds the watermark on to the cover object. A secret key is used during the embedding and the extraction process in order to prevent illegal access to the watermark.

Digital Watermarking

10 Abrar Ahmed Syed 1000614216

3.0 Requirements

The major requirements of digital watermarking are:

3.1 Transparency: The embedded watermark should not degrade the original image. If visible distortions are introduced in the image, it creates suspicion and makes life ease for the attacker .It also degrades the commercial value of the image.

3.2 Robustness: 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.

3.3 Capacity or Data Load: This quantity describes the maximum amount of data that can be embedded into the image to ensure proper retrieval of the water during extraction.

4.0 Applications

4.1 Copyright Protection: This is by far the most prominent application of watermarks. With tons of images being exchanged over insecure networks every day, copyright protection becomes a very important issue. Watermarking an image will prevent redistribution of copyrighted images.

4.2 Authentication: Sometimes the ownership of the contents has to be verified. This can be done by embedding a watermark and providing the owner with a private key which gives him an access to the message. ID cards, ATM cards, credit cards are all examples of documents which require authentication. [2]

4.3 Broadcast Monitoring: As the name suggests broadcast monitoring is used to verify the programs broadcasted on TV or radio. It especially helps the advertising companies to see if their advertisements appeared for the right duration or not. [3]

4.4 Content Labeling: Watermarks can be used to give more information about the cover object. This process is named content labeling.

4.5 Tamper Detection: Fragile watermarks can be used to detect tampering in an image. If the fragile watermark is degraded in any way then we can say that the image or document in question has been tampered.

4.6 Digital Fingerprinting: This is a process used to detect the owner of the content. Every fingerprint will be unique to the owner. [3]

Digital Watermarking

11 Abrar Ahmed Syed 1000614216

4.7 Content protection: In this process the content stamped with a visible watermark that is very difficult to remove so that it can be publicly and freely distributed [2]

5.0 Classifications of Watermarking

5.1 Visible

The watermark is visible which can be a text or a logo used to identify the owner.

Any text or logo to verify or hide content

Fw= (1-α) F+ α*W [6]

Fw = Watermarked Image

α =constant; 0<=α<=1, IF α=0 No watermark, if α=1 watermark present

F =original image

W =watermark

5.2 Invisible

The watermark is embedded into the image in such a way that it cannot be perceived by human eye. It is used to protect the image authentication and prevent it from being copied.

Invisible watermark can be further divided into three types,

5.2.1 Robust Watermarks

Invisible 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.

5.2.2 Fragile Watermarks They are designed with very low robustness. They are used to check the integrity of objects.

Digital Watermarking

12 Abrar Ahmed Syed 1000614216

5.2.3 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.

5.3 Capacity

It is based on length of the embedded signal.

Zero-Bit: It denotes 1 or 0 based whether watermark is present or absent. Also called Italic zero bit watermarked signal.

N-Bit: It is N-Bit long. (m=m1…. … .. .. .. mn , with n = | m | ) or M = {0,1}n

It is a modulated watermark. Also known as non-zero length watermark.

5.4 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.

5.5 Embedding Techniques:

5.5.1 Spread Spectrum

If obtained by additive modification. It is robust. It has low information capacity due to host interference.

5.5.2 Quantization Marking is done by quantizing. It is less robust but can carry a large data since it has very little interference from the host signal.

5.5.3 Amplitude Modification:

If marked signal is embedded by additive modification. Similar to spread spectrum but is particularly done in spatial domain.

Digital Watermarking

13 Abrar Ahmed Syed 1000614216

6.0 Techniques or Schemes of Watermarking

6.1 Spatial Domain Techniques

Spatial domain watermarking slightly modifies the pixels of one or two randomly selected subsets of an image. Modifications might include flipping the low-order bit of each pixel. However, this technique is not reliable when subjected to normal media operations such as filtering or lossy compression [7]

6.1.1 Least Significant Bit Coding (LSB)

LSB coding is one of the earliest methods. It can be applied to any form of watermarking. In this method the LSB of the carrier signal is substituted with the watermark. The bits are embedded in a sequence which acts as the key. In order to retrieve it back this sequence should be known. The watermark encoder first selects a subset of pixel values on which the watermark has to be embedded. It then embeds the information on the LSBs of the pixels from this subset. LSB coding is a very simple technique but the robustness of the watermark will be too low. With LSB coding almost always the watermark cannot be retrieved without a noise component.

6.1.2 Predictive Coding Schemes

Predictive coding scheme was proposed by Matsui and Tanaka in [8] for gray scale images. In this method the correlation between adjacent pixels are exploited. A set of pixels where the watermark has to be embedded is chosen and alternate pixels are replaced by the difference between the adjacent pixels. This can be further improved by adding a constant to all the differences. A cipher key is created which enables the retrieval of the embedded watermark at the receiver. This is much more robust when compared to LSB coding.

6.1.3 Correlation-Based Techniques

In this method a pseudo random noise (PN) with a pattern W(x, y) is added to an image [4] [11], according to the equation

),(*),(),( yxWkyxIyxIw where,

Iw(x,y) = Watermarked image.

I(x,y)=Original image

k=gain factor

Digital Watermarking

14 Abrar Ahmed Syed 1000614216

Increasing k increases the robustness of the watermark at the expense of the quality of the watermarked image. At the decoder the correlation between the random noise and the image is found out and if the value exceeds a certain threshold value the watermark is detected else it is not.

6.1.4 Patchwork Techniques

In patchwork watermarking, the image is divided into two subsets. One feature or an operation is chosen and it is applied to these two subsets in the opposite direction. For instance if one subset is increased by a factor k, the other subset will be decreased by the same amount. If a[i] is the value of the sample at I in subset ‘A’ which is increased and b*i+ is the value of the sample in the subset ‘B’ whose value is decreased, then the difference between the two subsets would intuitively result in

∑(a[i]-b[i]) = 2N for watermarked images 1<=N<=∞

= 0 otherwise

6.2 Frequency Domain techniques

6.2.1 Discrete cosine transform (DCT) based technique:

Discrete cosine transform (DCT): It is a process which converts a sequence of data points in the spatial domain to a sum of sine and cosine waveforms with different amplitudes in the frequency domain. The DCT is a linear transform, which maps an n-dimensional vector to set of n coefficients. A linear combination of n known basis vectors weighted with the n coefficients will result in the original vector. The known basis vectors of transforms from this class are “sinusoidal“, which means that they can be represented by sinus shaped waves or, in other words, they are strongly localized in the frequency spectrum. Therefore one speaks about transformation to the frequency domain. The most popular member of this class is the Discrete Fourier Transformation (DFT).The difference between DCT and DFT is that DFT applies to complex numbers, while DCT uses just real numbers. For real input data with even symmetry DCT and DFT are equivalent. There are eight different variants of DCT. There is a very slight modification between these eight variants. [6] [9]

6.2.1.1 DCT –I

In JPEG compression the input data are two-dimensional, presented in 8x8 blocks. There's a need of using two-dimensional DCT. Since each dimension can be handled separately, the two-dimensional DCT follows straightforward form the one-dimensional DCT. A one-dimensional DCT is performed along the rows and then along the columns, or vice versa.

Digital Watermarking

15 Abrar Ahmed Syed 1000614216

The formula used for one-dimensional DCT:

6.2.1.2 DCT –II

The formula used for two-dimensional DCT:

Applying these formulas directly requires much computational resources therefore an implementation in hardware can be very efficient.

Digital Watermarking

16 Abrar Ahmed Syed 1000614216

The figure below, shows example of 8x8 block before DCT.

75 76 75 75 69 66 77 71

73 74 73 74 63 64 68 69

69 68 71 72 67 58 48 41

59 55 56 52 47 40 24 9

51 50 45 41 33 22 7 -5

43 37 32 24 15 5 -6 -25

29 21 9 -2 -10 -21 -44 -69

9 -4 -17 -35 -52 -61 -57 -35

Fig 3(1). 8X8 example block before DCT [10]

After Discrete Cosine Transform the block has following values:

251 118 -13 6 -2 6 -1 0

279 -68 -8 -7 -1 4 -4 -1

-51 -14 34 -14 5 0 -1 0

27 5 -10 8 -7 4 -5 1

-22 -7 14 -9 4 -2 1 1

-3 15 -18 15 -6 2 -1 2

7 -9 6 -6 4 0 0 2

3 7 -9 3 0 -2 -1 0

Fig.3(2) After 2D-DCT of the 8X8 block shown in Fig.3(1) [10]

Digital Watermarking

17 Abrar Ahmed Syed 1000614216

As it can be seen higher values of transform coefficients are concentrated on the top left corner. In the frequency domain it looks like low frequency has advantage over high frequency. It is shown on the figure 4

Fig.4 Frequency map [10]

As you can see only small amount of low frequency elements dominates over the rest of the coefficients. It allows reducing data during next stages of JPEG compression.

The main advantage of DCT which makes it attractive for watermarking is its energy compaction property. This property divides the image into distinct frequency bands which makes it easy to embed the watermark in the desired area of the image. Most of the energy in the DCT domain is concentrated in the low frequencies. As is known low frequencies are perceived very well by human eye, hence the chances of the watermark being perceptible is high where as high frequencies are prone to attacks such as compression and scaling. So, a tradeoff has to be made.

6.2.2 Basic Steps:

1. The image is segmented into non-overlapping blocks of 8x8.

2. Forward DCT is applied to each of the block.

3. Selection criteria are then applied.

4. This is followed by applying coefficient selection criteria.

5. Embed watermark by modifying the selected coefficients.

6. Inverse DCT is applied to obtain the final watermarked image.

u v

Digital Watermarking

18 Abrar Ahmed Syed 1000614216

6.2.3 Block Diagram:

Fig.5 Block diagram of watermarking steps using DCT

6.3 Wavelet Transform based Watermarking

The Fourier transform is an analysis of global frequency content in the signal. There are applications in digital image processing wherein we need the localized frequency components. This can be done by using the Short Time Fourier Transform [12]. This is similar to the concept of using windowing functions. The windowed transform is given as

Where ’ denotes the frequency and ‘ ‘ denotes the position of the window.[12]

This equation transforms the signal f(x) in a small window around ‘ ’.The STFT is then performed on the

signal and local information is extracted.

The wavelet transform based watermarking technique [8] divides the image into four sidebands – a low resolution approximation of the tile component and the component’s horizontal, vertical and diagonal frequency characteristics. The process can then be repeated iteratively to produce N scale transform.

Fig.6 Wavelet based transforms [8]

Image broken into 8X8

blocks

Forward 2D DCT Selection criteria

applied

Coefficient selection

criteria

Modifying selected

coefficients

Inv. 2D DCT

applied

Watermark

obtained

Digital Watermarking

19 Abrar Ahmed Syed 1000614216

One of the many advantages over the wavelet transform is that that it is believed to more accurately model aspects of the human visual system (HVS) as compared to the DCT. This allows us to use higher energy watermarks in regions that the HVS is known to be less sensitive to, such as the high resolution detail bands {LH, HL, HH). Embedding watermarks in these regions allow us to increase the robustness of our watermark, at little to no additional impact on image quality [13]. One of the most straightforward techniques is to use embedding technique similar to that used in the DCT,

HHLLvuW

LHHLvuxWWI

i

iii

vuW,,

,,,,

In the Wavelet Domain where iW denotes the coefficient of the transformed image, xi the bit of the

watermark to be embedded, and α a scaling factor. To detect the watermark the same process as that used in DCT is implemented.

Furthermore, as the embedding uses the values of the transformed value in embedded, the embedding process should be rather adaptive; storing the majority of the watermark in the larger coefficients. The author [14] claims that the technique should prove resistant to JPEG compression, cropping, and other types of attacks

6.4 Simple Watermarking A very simple yet widely used technique for watermarking images is to add a pattern on top of an existing image. Usually this pattern is an image itself - a logo or something similar, which distorts the underlying image [15]. The figure below shows a simple watermark applied to image, lena, using Bytescout software [35].

Fig.7 Simple watermaked image of lena

Digital Watermarking

20 Abrar Ahmed Syed 1000614216

7.0 Attacks

“Digital watermarking is not as secure as date encryption. Therefore, digital watermarking is not immune to hacker attacks” *16]

Watermarking attacks are broadly divided into the following categories:

Fig.8 Types of watermarking attacks

7.1 Basic In basic attack, the attacker takes advantage of the limitations in design of the embedding technique. As

the name suggests the attack is very basic and can be easily resolved.

7.2 Robustness

This may include removal attacks where the attacker aims at removal of the watermark from the cover data. Also the attacker may try to diminish the data.

7.3 Presentation

These attacks modify the content of the file in order to prevent the detection of the watermark. The mosaic attack takes advantage of size requirements for embedding a watermark. By splitting the marked file into small sections, the mark detection can be confused. Many web browsers will draw images together with no visible split enabling the full image to be effectively restored while hiding the mark. If the minimum size for embedding the mark is small enough the mosaic attack is not practical. This attack can defeat web crawlers which download pictures from the Internet and check them for the presence of a watermark.

Removal Attacks Geometrical Attacks Cryptographic Attack Protocol Attacks

Watermarking Attack

Digital Watermarking

21 Abrar Ahmed Syed 1000614216

Fig.9 The mosaic attack [1]

In the example shown in Fig.9, an image had a simple watermark embedded in it. The image was then separated into 16 tiles, each of which was then checked for the presence of the watermark. Tiles are shown separated here for clarity and those surrounded by the red border no longer contain the watermark. However this does show how small the tiles need to be in order to lose all watermark information as 6 tiles still contain the watermark at this size. If the tiles are made small enough, the watermark could be lost.

7.4 Interpretation

These attacks find a situation where ownership certification is prevented. They rely on misinterpretating the data to comply with ownership certification

7.5 Implementation

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.

7.6 Removal

This aims at removal of a watermark from the cover data. This category includes denoising, lossy compression, quantization, demodulation, collusion and averaging attacks. Removes watermark from cover signal.

Digital Watermarking

22 Abrar Ahmed Syed 1000614216

7.7 Geometrical

Instead of removing the watermark, the watermark is distorted using spatial or temporal alteration of stego data.

7.8 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.

7.9 Active & Passive

Attacker removes or spoils the watermark. Attacker just identifies the watermark and does not damage it.

7.10 Forgery

Attacker forges new watermark and replaces the old one with the new one. Fig.10 shows the original watermarked image, which is replaced by the attacker with Fig.11 which may look like the original image but is not the original data. Thereby misleading the end receiver.

Fig.10 Original watermarked image Fig.11 Forged watermarked image

7.11 Collusion

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

Digital Watermarking

23 Abrar Ahmed Syed 1000614216

7.12 Distortive

Attacker applies distortive transformation to make the watermark undetectable by any other person. Fig.12 shows a typical contrast distortion done by the attacker to distort the contrast ratio of the original watermarked image (lena.bmp 256X256 in this case) making it unreadable by the end receiver.

Fig.12 Contrast distortion to make watermark unreadable

8.0 Counter Attacks

8.1 Power Spectrum Condition (PSC)

The mean-squared error E between the original watermark and the estimated watermark provides a convenient way to measure how well a watermark resists estimation.

It can be shown that E is maximized if and only if the watermark power spectrum is directly proportional to the power spectrum of the original signal. This requirement is called the power-spectrum condition (PSC). [17]

[17]

For any dimensionality M, the maximum MSE is

Digital Watermarking

24 Abrar Ahmed Syed 1000614216

[17]

where

[17]

The original signal (also called “host data” or “cover data”) is represented by the process , which

has variance , autocorrelation function , and power spectrum . Similarly,

denotes the watermark, which has variance and power spectrum .We assume that

and are independent. The support of a realization is denoted by , and N is the number of

samples in . [17]

The watermark embedding is simply,

[17]

x[n] is host or cover data and w[n]is the watermark data. The watermarked image obtained is y[n].

A watermark whose power spectrum satisfies the PSC is the most resistant against estimation. If distortion is measured by the mean-squared difference between the attacked data and the un-watermarked, original data, then the PSC has another important consequence: For any output of the matched filter, a watermark that fulfills the PSC causes the above attack to incur the greatest distortion. To drive the correlation to zero, the attack must make the distortion as large as the power of the original data, so the attacked data is unlikely to be useful. [17]

8.2 Noise Visibility Function (NVF):

The PSC is attractive because it can be proven rigorously and has a convenient mathematical form. For image watermarking, image de-noising provides a natural way to develop estimation-based attacks optimized for the statistics of images, although optimality might be difficult to prove. The watermarked image is treated as a noisy version of the original image, and the watermark represents noise that should be eliminated. Thus, the estimated watermark is the same as the estimated noise.

Digital Watermarking

25 Abrar Ahmed Syed 1000614216

9.0 Privacy Laws of Watermarking

The following are few privacy laws defined for watermarking according to the center for democracy

technology [18]

1. Privacy by design 2. Avoid embedding independently useful identifying information directly in watermark 3. Provide notice to end users 4. Control access to reading capability 5. Respond appropriately when algorithms are compromised 6. Provide security and access controls for back-end databases 7. Limit uses for secondary purposes

8. Provide reasonable access and correction procedures for personally identifiable information

10.0 Project Goal

The goal of this project can be broadly classified into five steps. The first step is to implement two forms of watermarking techniques. One being invisible and the other being visible. The second step of the project is to add a noise to the images as a form of attack. The third step is to implement another attack which is in the form of compressing and decompressing the combined watermarked image. The fourth and the final steps are to remove the noise and extract both the base and watermark images from the watermarked image. The final step is to compare the extracted base and watermark images to the original images in order to see the difference in their PSNR, SSIM and SSIM maps.

10.1 Invisible Watermarking (Least significant bit Watermarking)

10.1.1 Steps

1. A raw bitmap image ‘A’ will be selected from the set of standard test images. Let this be the base image on which the watermark will be added.

2. A raw bitmap image ‘B’ will be selected from the set of standard test images. This will be the watermark image which will be added to the base image.

3. The most significant bit henceforth will be mentioned as MSB, of watermark image ‘B’ will be read and these will be written on the least significant bit, henceforth will be mentioned as LSB, of base image ‘A’.

4. Thus, ‘A’ will be watermarked with ‘B’ resulting in a combined image ‘C’. 5. ‘C’ therefore will now contain an image ‘A’ which has its LSBs replaced with the MSBs of

‘B’. 6. The technique used will be LSB technique which is a form of spatial domain technique. 7. This technique is used to add an invisible and visible watermark in the image.

Digital Watermarking

26 Abrar Ahmed Syed 1000614216

For block diagram please refer to Fig. 13

10.1.2 Program

% EE 5359 Project

% Abrar Ahmed Syed. UTA ID# 1000614216

% Watermark is added into another image by substituting the least

% significant bits of the image with the most significant bit of the

% watermark. The watermarked image is then added with a random matrix,

% which serves as noise. This watermarked image with noise is compressed

% using jpeg noise compression

% First step: ask the user to select an image to be used as a base image or

% cover image.

base_image = input('Enter base image file name with extension : ', 's');

% Second step: ask the user for an image to be used as a watermark

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

% Reading the images and displaying them

base = imread(base_image);

watermark = imread(watermark_image);

% Displaying the cover image on screen as figure 1

figure(1)

Digital Watermarking

27 Abrar Ahmed Syed 1000614216

imshow(base,[])

title('Original Image (Cover Image/Base Image)')

% Displaying the watermark image on screen as figure 2

figure(2)

imshow(watermark,[])

title('Watermark Image (Image which will hide in cover image)')

% Changing both the images to double, so that they will be able to store

% the results of the addition operations which will be performed on them

base=double(base);

watermark=double(watermark);

% Now, assigning the no. of bits of the watermark image which will be

% replaced in the base image

bits=1;

% Now, we shift the watermark image over 8(-)bits to the right

watermark_shifted=bitshift(watermark,-(8-bits));

%Now those least significant bits of the base signal will be made zero

%where the most significant bits of the watermark are expected to come.

for i=1:bits

base=bitset(base,i,0);

end

% Now add message image and cover image

Digital Watermarking

28 Abrar Ahmed Syed 1000614216

watermarked_image = uint8(base+watermark_shifted);

% Displaying the watermarked image

figure(3)

imshow(watermarked_image,[])

title('Watermarked Image (Final watermarked image)')

imwrite(watermarked_image,'invsible watermarked image.bmp'); % Save modified image

By changing the value of the variable ‘bits’ from 1 to 6, we can change the watermarking from invisible to visible.

10.1.3 Algorithm Explanation

The tool used for the execution of this algorithm was ‘Matlab’. The aim of the program is to replace the LSB of the base image with the MSB of the watermark. First, the program asks the user for the images to be read. The user will then enter the name of the images, both the base and the watermark, with their extension. Both these images will be read and stored by the tool, which is ‘Matlab’ in our case. The tool will also display these images to the user with their respective titles. The program will then change the image size to double. This is done so as inform the tool to provide double data-type space for the images. The reason for doing so, is to provide decimal storage for the subsequent additional operations which will be performed on the base and watermark image

The next step is to assign the number of most significant bits of the watermark which will be used to overwrite on the least significant bit spaces of the base signal. Once the user provides this, the watermark signal bits are shifted to the right by the specified bits.

Digital Watermarking

29 Abrar Ahmed Syed 1000614216

An exact number of these bits will be made zero in the LSB of the base image. The reason for making them zero, is to provide space for the MSB of watermark to be stored.

The bits of both the images, i.e. watermark image which now has its MSB shifted to its LSB, and the base image, which has its LSBs are set zero, are added. The added image gives us the watermarked signal.

It’s an 8 bit image; every pixel is represented by one 8-bit byte. Considering bits=3 in our

Algorithm. If 3 bits are selected, then 8-3=5, therefore the whole frame is moved by 5 places to

the right, thereby pushing the MSBs to the LSBs.

Digital Watermarking

30 Abrar Ahmed Syed 1000614216

The final image obtained.

Digital Watermarking

31 Abrar Ahmed Syed 1000614216

10.1.14 Flow-chart:

Fig.13 Block diagram of adding invisible watermark

10.1.5 Results:

Fig.14 Base Image ‘A’

Fig.15 Watermark Image ‘B’

Digital Watermarking

32 Abrar Ahmed Syed 1000614216

Fig.16 Watermarked Image , using bits=1. Since it is an invisible watermarking scheme, only the base image is visible.

Fig.17 Watermarked Image ‘C’, using bits=5. This is a visible watermarking scheme, both base and watermark images are seen in the watermarked image.

Digital Watermarking

33 Abrar Ahmed Syed 1000614216

10.2 Visible Watermarking – Concatenation

10.2.1 Steps

1. A raw bitmap image ‘A’ will be selected from the set of standard test images. Let this be the base image on which the watermark will be added.

2. A raw bitmap image ‘B’ will be selected from the set of standard test images. This will be the watermark image which will be added to the base image.

3. Now both images ‘A’ and ‘B’ will be concatenated to get a watermarked image ‘D’ 4. ‘D’ therefore will now contain the base image ‘A’ and the watermark image ‘B’. 5. This technique is used to add visible watermark in the image.

For block diagram please refer to Fig.22

10.2.2 Program:

% EE 5359 Project

% Abrar Ahmed Syed. UTA ID# 1000614216

% Watermark is added into another image by substituting the least

% significant bits of the image with the most significant bit of the

% watermark. The watermarked image is then added with a random matrix,

% which serves as noise. This watermarked image with noise is compressed

% using jpeg noise compression

% First step: ask the user to select an image to be used as a base image or

% cover image.

base_image = input('Enter base image file name with extension : ', 's');

Digital Watermarking

34 Abrar Ahmed Syed 1000614216

% Second step: ask the user for an image to be used as a watermark

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

% Reading the images and displaying them

base = imread(base_image);

watermark = imread(watermark_image);

% Displaying the cover image on screen as figure 1

figure(1)

imshow(base,[])

title('Original Image (Cover Image/Base Image)')

% Displaying the watermark image on screen as figure 2

figure(2)

imshow(watermark,[])

title('Watermark Image (Image which will hide in cover image)')

% Changing both the images to double, so that they will be able to store

% the results of the addition operations which will be performed on them

base=double(base);

watermark=double(watermark);

realdata = zeros([512 512]);

indexi=1;

indexj=1;

Digital Watermarking

35 Abrar Ahmed Syed 1000614216

realIndexi = 1;

realIndexj = 1;

for i=1:256

for j=1:256

realdata(realIndexi,realIndexj)=base(indexi,indexj);

indexj=indexj+1;

realIndexj=realIndexj+2;

end

indexi= indexi+1;

indexj = 1;

realIndexi=realIndexi+2;

realIndexj=1;

end

indexi=1;

indexj=1;

realIndexi = 2;

realIndexj = 2;

for i=1:256

for j=1:256

realdata(realIndexi,realIndexj)=watermark(indexi,indexj);

indexj=indexj+1;

realIndexj=realIndexj+2;

end

Digital Watermarking

36 Abrar Ahmed Syed 1000614216

indexi= indexi+1;

indexj = 1;

realIndexi=realIndexi+2;

realIndexj=1;

end

%preparing to write

realdata =uint8(realdata);

% Displaying the watermarked image

figure(3)

imshow(realdata,[])

title('Watermarked Image (Final watermarked image)')

imwrite(realdata,'Visible Watermarked.bmp'); % Save modified image

10.2.3 Algorithm Explanation

The tool used for the execution of this algorithm is ‘Matlab’. In this part of the program, the cover or base image is read and the watermark image is read. A zero matrix of 512x512 is defined. The base image is written in the zero matrixes by placing the indexes of the base image in alternate indexes of the zero matrixes. Similarly the watermark is also placed in the remaining spaces. We defined the zero matrixes as 512x512 for the same reason, since the base and watermark images are 256x256 each. The concatenated image is then displayed and stored as ‘Visible Watermarked Image’ in bitmap format. The original base and watermark images are also in bitmap form.

To better understand the concatenation process, depicting the original base image as a block ‘Fig.18’ and original watermark image as a block ‘Fig.19’. The original blocks, or images in our case are 256X256. The base image will have ‘X’ elements and the watermark image have ‘Y’ elements.

Digital Watermarking

37 Abrar Ahmed Syed 1000614216

X X X

X X X

X X X

Fig.18 Base Image block

Fig.19 Watermark block

Now a zero matrix, Fig,20, of 512x512 size is initialized. This is the double of our base and watermark image 256x256.

0 0 0

0 0 0

0 0 0

Fig.20 Zero block Now in the program 10.2.2, the base image is concatenated with the watermark image to form the watermarked image. This is done by reading the first element of the base matrix and writing it in the first element of the zero matrix. It then reads the second element of base matrix and instead of writing it in the second element of the zero matrix, it writes the base element into the third element of the zero matrix, thus skipping one space in between. This step is repeated till all the elements of the base matrix are written in the zero matrix (i.e. by skipping the alternate rows and alternate columns). Similarly the watermark is added in the next row in alternate columns. The remaining elements are kept zero. That is the reason why the watermark has a black colored mesh like structure on it. Thus a concatenated matrix of both base and watermark images is obtained at the end of execution of the whole program.

Y Y Y

Y Y Y

Y Y Y

Digital Watermarking

38 Abrar Ahmed Syed 1000614216

X 0 X 0 X

0 Y 0 Y 0

X 0 X 0 X

0 Y 0 Y 0

X 0 X 0 X

Fig.21 Watermarked block

10.2.4 Flow-chart

Fig. 22 Block diagram of creating a concatenated visible watermark

Digital Watermarking

39 Abrar Ahmed Syed 1000614216

10.2.5 Result

Fig.23 Base Image ‘A’.

Fig.24 Watermark Image ‘B’

Digital Watermarking

40 Abrar Ahmed Syed 1000614216

Fig.25 Watermarked Image ’D’ with Base Image ‘A’ concatenated with Watermark Image ‘B’.

The size of the concatenated watermarked image is 512x512, since it has 256x256 elements of the base image and 256x256 elements of the watermark image.

10.3 Visible Watermarking – Noise Addition

10.3.1 Steps

1. Now, noise is added to concatenate watermarked image ‘D’. 2. The noise is a random matrix of order [512x512]. 3. The resulting image after the addition of noise is displayed and stored as ‘Noisy Image,

E’. For block diagram please refer to Fig.26

Digital Watermarking

41 Abrar Ahmed Syed 1000614216

10.3.2 Program

% Add noise to watermarked image

%imdata is the variable assigned to watermarked image

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

%initialize noise as a random matrix

noisy = rand([512 512]);

%Adding noise to the existing watermarked image

%The reason to double both the images is to make them of same size

imdata1= double(imdata) + double(noisy);

imdata1 = uint8(imdata1);

% Display the watermarked image with noise added to it

figure(4)

imshow(imdata1,[])

title('Watermarked image with noise added to it')

imwrite(imdata1,'Noisy.bmp')% Save the newly modified image

% Now, the saved watermarked image with the noise added to it is compressed

% using JPEG compressing technique.

10.3.3 Algorithm Explanation

Digital Watermarking

42 Abrar Ahmed Syed 1000614216

The tool used for the execution of this algorithm is ‘Matlab’. In this part of the program, a random matrix Noisy of [512x512] dimension is defined with random elements. This matrix will be used as noise in upcoming steps. The watermarked image, defined with variable “imdata1” is added to “Noisy”, thus resulting in a watermarked image with noise in it. This is also displayed and saved as “Noisy.bmp.”

10.3.4 Flow-chart

Fig.26 Block diagram for adding noise to the watermark

10.3.5 Result

Fig.27 Concatenated watermarking with Noise added to it ‘E’.

Digital Watermarking

43 Abrar Ahmed Syed 1000614216

10.4 Visible Watermarking – JPEG Compression

10.4.1 Steps

1. Once the noise is added, the program halts and waits for the JPEG compression to be done 2. Once the compression is done, the program is informed by pressing enter key that the

compression is done and it can proceed by removing the noise. 3. JPEG Compression is done by running the .exe file available at [19] 4. The watermarked image added with noise ‘E’ which is in bitmap format is compressed into JPEG

format ‘F’. 5. The size of the original image is 257KB. 6. The JPEG compressed image is 92.2KB.

10.4.2 Flow-chart

Fig. 28 Block diagram to show program response

Digital Watermarking

44 Abrar Ahmed Syed 1000614216

10.4.3 Flow-chart (Jpeg Compression)

Fig. 29 Block diagram to show JPEG compression

[19]

Digital Watermarking

45 Abrar Ahmed Syed 1000614216

10.4.4 Result

Fig.30 JPEG compressed watermarked image with noise ‘F’. Size 92.2KB

10.5 Visible Watermarking – Denoising

10.5.1 Steps

1. The JPEG compressed image, is now denoised. 2. The program which was on hold is triggered by pressing the ‘Enter Key’. 3. The program runs by reading the JPEG compressed noised and watermarked image. 4. The noise is now removed from the JPEG compressed image. The resulting image will be ‘G’.

For block diagram please refer to Fig.31

Digital Watermarking

46 Abrar Ahmed Syed 1000614216

10.5.2 Program

% After the watermark has been compressed by JPEG

% compression software, we now remove the noise from the compressed image.

question = input('If you have completed the JPEG compression of image press enter: ', 's');

imdata2=imread('Noise.jpg');

% Noise Removal

imdata2 = imdata2(:,:,1);

imdata3 = double(imdata2) - double(noisy);

imdata3 = uint8(imdata3);

%Displaying and storing the recovered image

figure(5)

imshow(imdata3,[]);

title('Recovered image from noise')

imwrite(imdata3,'Watermarked Image Recovered.bmp')

10.5.3 Algorithm Explanation

The tool used for the execution of this algorithm is ‘Matlab’. After adding noise to the watermarked image, the program halts and waits for the user to trigger it to continue executing the remaining part. Once the compression is done, the user presses ‘Enter’ key to inform the program to continue execution. The program now reads the JPEG image which was obtained from the JPEG decompression. Thus the image ‘Noise.jpg’ is read. The noise is now removed from ‘Noise.jpg’. This is done by subtracting the noise matrix which is defined in the previous stage from the ‘Noise.jpg’ image. The recovered image is stored as ‘Watermarked Image Recovered.bmp.’

Digital Watermarking

47 Abrar Ahmed Syed 1000614216

10.5.4 Flow-chart

Fig.31 Block diagram showing watermark recovery

10.5.5 Result

Fig.32 Watermarked Image, after compression and noise removal. ‘G’

Digital Watermarking

48 Abrar Ahmed Syed 1000614216

10.6 Visible Watermarking – Separating the Watermark

10.6.1 Steps

1. Finally the base image ‘A’ and the watermark image ‘B’ are separated from the concatenated recovered watermarked image ‘G’

2. The images are in JPEG format, when compared to the original images, which were in Bitmap formats. Therefore their sizes are less.

For block diagram please refer to Fig.33

10.6.2 Program

imdata3=double(imdata3);

realIndexi = 1;

realIndexj = 1;

for i=1:256

for j=1:256

base(i,j)=realdata(realIndexi,realIndexj);

realIndexj=realIndexj+2;

end

realIndexj=1;

realIndexi=realIndexi+2;

end

Digital Watermarking

49 Abrar Ahmed Syed 1000614216

realIndexi = 2;

realIndexj = 2;

for i=1:256

for j=1:256

watermark(i,j)=realdata(realIndexi,realIndexj);

realIndexj=realIndexj+2;

end

realIndexj=1;

realIndexi=realIndexi+2;

end

%preparing to write

base=uint8(base);

watermark=uint8(watermark);

% Displaying the watermarked image

figure(6)

imshow(base,[])

title('Recovered Base Image at the End')

imwrite(base,'RBI.jpg'); % Save modified image

% Displaying the watermarked image

figure(7)

imshow(watermark,[])

title('Recovered Watermark Image at the End')

imwrite(watermark,'RWI.jpg'); % Save modified image

Digital Watermarking

50 Abrar Ahmed Syed 1000614216

10.6.3 Algorithm Explanation The tool used for the execution of this algorithm is ‘Matlab’. Finally, the images are separated from the concatenated recovered watermarked image. Thus, the original base and watermark images are recovered. They are saved as ‘Recovered Base Image.jpg’ and ‘Recovered Watermark Image.jpg’.

10.6.4 Flow-chart

Fig.33 Block diagram showing recovery of base and watermark from watermarked image

10.6.5 Results

Fig.34 Recovered Base Image. Size 19KB

Digital Watermarking

51 Abrar Ahmed Syed 1000614216

Fig.35 Recovered Watermark Image. Size 20.2KB.

11.0 Testing:

The recovered base image and the original base image are compared to find their SSIM, SSIM maps and PSNR. SSIM is a recently proposed approach for image quality assessment (earlier traditional metrics like MSE and PSNR were used to assess images qualities). The structural similarity index (SSIM) is a method for measuring the similarity between two images. Value lies between [0,1].

Fig.36 Structural similarity (SSIM) measurement system [20]

Digital Watermarking

52 Abrar Ahmed Syed 1000614216

The program used to benchmark these details is available on [21]. It is a single scale version of the SSIM indexing measure, which is most effective if used at the appropriate scale. The precisely “right” scale depends on both the image resolution and the viewing distance and is usually difficult to be obtained. The SSIM index map provides a measurement of local image quality over space. Note that severe JPEG compression produces annoying pseudo-contouring effects (In Lena’s background) and blocking artifacts (along the boundaries of the Lena’s hat), which are successfully captured by the SSIM index map. The following tables show the results obtained.

FORMAT PSNR SSIM SSIM MAPS

Initial

Lena 65KB

Recovered

Lena 19KB

Bitmap

JPEG

34.9805 0.9483

FORMAT PSNR SSIM SSIM MAPS

Original

Baboon 65KB

Recovered

Baboon 20.2KB

Bitmap

JPEG

29.3579 0.9196

Digital Watermarking

53 Abrar Ahmed Syed 1000614216

12.0 Conclusions:

Thus, using Matlab, two forms of watermarking techniques are implemented. One being invisible and the other being visible. Noise is added to the images as a form of attack. The images are compressed and decompressed as another form of attack. The noise is later removed and the base and watermark images are separated from the watermarked image. Finally, a benchmarking of original and recovered image is done based on PSNR, SSIM and SSIM map.

References: *1+ G. K. Wallace, “The JPEG still picture compression standard”, IEEE Trans. on Consumer Electronics, Vol. 38, pp.18-34, Feb. 1992.

[2+ 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.

[3] P. Vidyasagar, S. Han and E. Chang. "A survey of digital image watermarking techniques”, 3rd IEEE International Conference on Industrial Informatics (INDIN 2005), edited by T. Dillon, X. Yu. and E. Chang, pp. 495-502, Perth, Western Australia, 2005.

[4] J. Dugelay and S. Roche, “A Survey of Current Watermarking Techniques” in Information Techniques for Steganography and Digital Watermarking, S.C. Katzenbeisser et al, Eds. Northwood, MA: Artec House, pp. 121-145, Dec. 1999.

[5] I. J. Cox, et al, "Digital watermarking and steganography" (Second Edition), Morgan Kaufmann, 2008.

[6] K. R. Rao and P. Yip, “Discrete Cosine Transform: Properties, Algorithms, Advantages, Applications”, Academic Press, Massachusetts, 1990.

[7+ A. Khan and A.M. Mirza, “Genetic perceptual shaping: utilizing cover image and conceivable attack information during watermark embedding”. Inf. Fusion, Vol. 8, pp. 354-365, Oct. 2007.

[8+ T. C. Lin and C. M. Lin, “Wavelet based copyright protection scheme for digital images based on local features”, Information Sciences: an International Journal, Vol. 179, Sept. 2009.

[9] N. Ahmed, T. Natarajan, and K. R. Rao, "Discrete cosine transform", IEEE Trans. Computers, Vol. 23, pp. 90-93, Jan. 1974.

[10] Prime Core Solutions, website: http://www.pcs-ip.eu/index.php/main/edu/5

[11] I.J. Cox, M.L. Miller, J.M.G. Linnartz and T. Kalker, “A Review of Watermarking Principles and Practices” in Digital Signal Processing for Multimedia Systems, K.K. Parhi and T. Nishitani, New York, Marcel Dekker, New York, pp. 461-482, 1999.

Digital Watermarking

54 Abrar Ahmed Syed 1000614216

[12+ S. F. Marseken L. M. Surhone and M. T. Timpledon, “Short-time Fourier transform: Window Function, Complex Analysis, Modified Discrete Cosine Transform, Wavelet Series”, Betascript Publishers, 2009.

[13] G. Langelaar, I. Setyawan and R.L. Lagendijk, “Watermarking Digital Image and Video Data”, in IEEE Signal Processing Magazine, Vol. 17, pp. 20-43, Sept. 2000.

[14] H. Inoue, A. Miyazaki and T. Katsura, “An Image Watermarking Method Based on the Wavelet Transform”, IEEE Conf. on Image Processing, Vol. 1, pp. 296-300, 1999.

[15] J. Cummins, P. Diskin, S. Lau and R. Parlett, “Stegnography 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/Steganography.pdf

[16+ M. Yeung, B. Yeo and M. Holliman, “Digital watermarks: shedding light on the invisible”, IEEE Micro, Vol. 18, pp. 32-41. Nov. 1998.

[17] K. S. Jonathan and B. Girod,”Power-Spectrum Condition for Energy-Efficient Watermarking”, IEEE Trans. on Multimedia, Vol. 4, pp. 551, Dec. 2002.

*18+ “Privacy principles for digital watermarking”, Ver. 1.0, May 2008. Website: http://www.cdt.org

[19] http://www-ee.uta.edu/dip/Courses/EE5355/jpeg.html

[20] X. Shang, “Structural similarity based image quality assessment: pooling strategies and applications to image compression and digit recognition”, M.S. Thesis, EE Department, The University of Texas at Arlington, Aug. 2006.

[21] Z. Wang, A. C. Bovik, H. R. Sheikh and E. P. Simoncelli, "Image quality assessment: From error visibility to structural similarity", IEEE Trans. on Image Processing, Vol. 13, no. 4, pp. 600-612, Apr. 2004.

[22] Z. Wang, A. C. Bovik, H. R. Sheikh and E. P. Simoncelli, "Image quality assessment Matlab Program” Website: http://www.ece.uwaterloo.ca/~z70wang/research/ssim

[23+ N. Memon and P. W. Wong, “Protecting digital media content”, Communications of the ACM, Vol. 41, pp. 35-43, Feb. 1998.

[24+ J. S. Pan, H. C. Huang and L. C. Jain, “Intelligent watermarking techniques - series on innovative intelligence”, Vol. 7, World Scientific Publication, 2004.

[25] S. Voloshynovskiy, S. Pereira and T. Pun, “Attacks on digital watermarks: classification, estimation-based attacks and benchmarks,” IEEE Comm. Mag., Vol. 39, pp. 2–10, Aug. 2001.

[26] X. Jian-hui, W. Li-na and Z. Huan-guo, “Wavelet based denoising attack on image watermarking”, Wuhan University Journal of Natural Sciences, Vol.10, pp. 279-83, Oct. 2005.

[27+ M. Arnold, M. Schmucker and S. D. Wolthusen. “Techniques & Application of Digital Watermarking and Content Protection”, Artech House Publications, Boston, London, 2003

[28+ F. Jin, P. Fieguth, L. Winger, and E. Jernigan, “Adaptive Wiener filtering of noisy images and image sequences,” Proc. IEEE Int. Conf. on Image Process, pp. 349–352, Sept. 2003.

Digital Watermarking

55 Abrar Ahmed Syed 1000614216

[29+ F. Mintzer and G. W. Braudaway, “If one watermark is good or more better?”, IEEE, Int. Conf. on Acoustics, Speech and Signal Processing- ICASSP, pp. 2067–2070, 1999.

[30] Electrical and Computer Engineering, University of Victoria, British Columbia. Website: http://www.ece.uvic.ca/~aupward/w/watermarking.html

[31] R.C. Gonzalez and R.E. Woods, “Digital Image Processing”, Prentice Hall Inc., Upper Saddle River, New Jersey, 2002.

[32] J.R. Hernandez, M.Amado, and F. Perez-Gonzalez, “DCT-Domain Watermarking Techniques for Still Images: Detector Performance Analysis and a New Structure”, in IEEE Trans. Image Processing, Vol. 9, pp. 55-68, Jan. 2000.

[33+ S.C. Katzenbeisser, “Principles of Steganography” in Information Techniques for Steganography and Digital Watermarking, S.C. Katzenbeisser et al, Eds. Northwood, MA, pp. 2-40, Dec. 1999.

[34] M. Kutter and F. Hartung, “Introduction to Watermarking Techniques” in Information Techniques for Steganography and Digital Watermarking, S.C. Katzenbeisser et al, Eds. Norwood, MA, pp. 97-119, Dec. 1999.

[35] Bytescout watermarking software. Website: http://bytescout.com/?q=/products/enduser/watermarking/watermarking.html