Date post: | 24-Nov-2014 |
Category: |
Documents |
Upload: | nnehasingh |
View: | 109 times |
Download: | 1 times |
CHAPTER 1
INTRODUCTION
Over the past few years, there has been tremendous growth in computer networks
and more specifically, the World Wide Web demonstrating the commercial potential
of offering multimedia resources through the digital networks. This phenomenon,
coupled with the exponential increase of computer performance, has facilitated the
distribution of multimedia data such as images [1-6]. Since commercial interests seek
to use the digital networks to offer digital media for profit, a strong interest in
protecting the ownership rights arises. Publishers, artists, and photographers,
however, are unwilling to distribute pictures over the internet due to a lack of
security; images can be easily duplicated and distributed without the owner’s
consent. Digital watermarks [4,14,26], have been proposed as a way to tackle these
issues. The digital watermarks could discourage copyright violation, prevent
duplication and authenticate the contents.
The aim of watermarking [7,8,13,18,26] is to include subliminal information (i.e.,
imperceptible) in a multimedia document to ensure a security service or simply a
labeling application. It would be then possible to recover the embedded message at
any time, even if the document was altered by one or more nondestructive attacks,
whether malicious or not. A digital watermark [6] is a digital signal or pattern
inserted into a digital image. Since this signal or pattern is present in each unaltered
copy of the original image, the digital watermark may also serve as a digital
signature for the copies. A given watermark may be unique to each copy (e.g. to
identify the intended recipient), or common to multiple copies (e.g. to identify the
document source). In either case, the watermarking of the document involves the
transformation of the original into another form. This distinguishes digital
watermarking from digital fingerprinting, where the original file remains intact and a
new created file 'describes' the original file's content. The information embedded as a
watermark can be a bit string representing copyright message, serial number,
1
grayscale or colored image, plain text, etc. The watermark is not always hidden but
sometimes visible watermarks are used such as a company logo.
Digital watermarking is also to be contrasted with public-key encryption [11-13,26],
which also transforms original files into another form. It is a common practice
nowadays to encrypt digital documents so that they are not viewable without the
decryption key. Unlike encryption, digital watermarking leaves the original image
(or file) intact and recognizable. In addition, digital watermarks, as signatures, may
not be validated without special software. Further, decrypted documents are free of
any residual effects of encryption, whereas digital watermarks are designed to be
persistent in viewing, printing, or subsequent retransmission or dissemination.
It is desirable that the watermark is irremovable from the cover image. However,
several intentional and unintentional operations with the watermarked image may
provide possibility for disabling the watermark. Commonly, these operations
(especially the intentional ones) are referred as attacks [16,26,29,36] against
watermarks.
This thesis presents a performance analysis of digital watermarking techniques in
spatial and transform domain for grayscale image. The work is carried on the
Lena.bmp image. Various techniques of watermark embedding in both the domains
are implemented in MATLAB and their performance is analyzed based on the
following:
1. Computational cost in terms of the time required for embedding and recovery
of the watermark.
2. Imperceptibility in terms of signal to noise ratio.
3. Robustness in terms of ratio of bits of the watermark retrieved correctly.
4. Capacity in terms of allowable size of watermark to be embedded.
5. Tamper resistance in terms of tolerance to geometrical distortions like scaling
and cropping; and in terms of signal processing applications like histogram
equalization, Gaussian noise, median filtering.
2
The outline of the thesis is as follows:
Chapter 2 covers the history of watermarking, models, types, characteristics and
applications of watermarking systems focusing on the grayscale images. Various
attacks, intentional and unintentional are also covered in this chapter.
Chapter 3 covers the image watermarking techniques in spatial domain.
Chapter 4 covers the image watermarking techniques in transform domain. The
transform domains covered are Discrete Cosine Transform, Singular Value
Decomposition and Discrete Wavelet Transform.
Chapter 5 gives the performance parameters for which the techniques discussed in
chapter 3 and 4 are analyzed.
Chapter 6 contains the results of implementation of these techniques with analysis
and discussions.
Chapter 7 gives the conclusion of the work with future scope.
3
CHAPTER 2
2.0 INTRODUCTION
The general idea of hiding some information in digital content has a wide class of
application. The techniques involved in such applications are collectively referred to
as information hiding techniques. For example, an image printed on a document is
annotated by metadata that could lead a user to its high resolution version. In general,
metadata provides additional information about an image. Usually, when a file is
transformed to another format (e.g., from TIFF to JPEG or to BMP), the metadata is
lost. Similarly, cropping or any other form of image manipulation destroys the
metadata. Also, metadata can only be attached to an image as long as the image
exists in the digital form and is lost once the image is printed. Information hiding
allows the metadata to travel with the image regardless of the file format and image
state (digital or analog).
2.1 HISTORY OF INFORMATION HIDING
The idea of communicating secretly is as old as communication itself. The earliest
allusion to secret writing in the West appears in Homer’s Iliad. Steganographic
methods made their record debut a few centuries later in several tales by Herodotus,
the father of history. Herodotus tells how around 440 B.C. Histiaeus [3,8,11] shaved
the head of his most trusted slave and tattooed it with a message which disappeared
after the hair had regrown. The purpose of this message was to instigate a revolt
against the Persians. Another slave could be used to send a reply.
During the American Revolution, invisible ink [3,8], made from milk, vinegar, fruit
juices and urine, which would glow over a flame was used by both the British and
Americans to communicate secretly. Later, chemically affected sympathetic inks
were developed. This was used in World Wars I and II. German spies hid text by
using invisible ink to print small dots above or below letters and by changing the
4
heights of letter-strokes in cover texts. In World War I, prisoners of war would hide
Morse code messages in letters home by using the dots and dashes on i, j, t and f.
Censors intercepting the messages were often alerted by the phrasing and could
change them in order to alter the message. A message reading “Father is dead” was
modified to read “Father is deceased” and when the reply “Is Father dead or
deceased?” came back the censor was alerted to the hidden message. During World
War II, the Germans would hide data as microdots. Microdots are text or
photographic images that are shrunk down to the size and shape of a period or the dot
of an i or j. Microdots were usually sent by writing a letter containing periods, i's, or
j's, and the intended recipient could read the messages using a microscope. Because
of the extremely small size of the microdots the messages typically went unnoticed
by inspectors. FBI director J. Edgar Hoover described the use of microdots as “the
enemy’s masterpiece of espionage”.
A message sent by a German spy during World War II [39,41] read:
“Apparently neutral’s protest is thoroughly discounted and ignored. Isman hard hit.
Blockade issue affects for pretext embargo on by-products, ejecting suets and
vegetable oils.”
By taking the second letter of every word the hidden message retrieved is
“Pershing sails for NY June 1”
2.2 INFORMATION HIDING TERMINOLOGY
Information hiding, steganography and watermarking are three closely related fields
that have a great deal of overlap and share many technical approaches [7,40]. This
section discusses different information hiding terminologies. Figure 2.1 gives the
classification [9] of the information hiding techniques.
5
Information hiding [40] is a general term encompassing a wide range of problems
beyond that of embedding messages in contents, the term hiding may refer to either
making the information imperceptible or keeping the existence of information secret.
Information Hiding
Steganography Cryptography Watermarking
Technical Linguistic
Figure 2.1: Classification of information hiding techniques
Steganography
Steganography is the art / science /study of communicating in a way which hides a
secret message in the main information. The origin of steganography is biological
and physiological. The term steganography came into use in 1500’s after the
appearance of Trithemius’ book on the subject “Steganographia”. The word
steganography is derived from two Greek words [39], “Stegos” meaning hidden or
covered and “Graphia” meaning writing. The goal of steganography is to avoid
drawing attention to the transmission of a hidden message. If suspicion is raised, then
this goal is defeated. In steganography an issue of concern is bandwidth for the
hidden message whereas robustness is of more concern with watermarking.
Steganography hides messages in plain sight rather than encrypting the message; it is
embedded in the data and doesn’t require secret transmission. The message is carried
inside data. Steganography is therefore broader than cryptography. Figure 2.2 (a)
shows the model of steganography [4].
The Steganographic techniques are classified as Technical and Linguistic
Steganography. The former, such as invisible ink tries to hide data physically while
the later one uses linguistic or language forms of hidden writing. Linguistic
6
Steganography, also called acrostic was one of the popular ancient Steganographic
techniques. The secret messages were encoded [40] as initial letters of sentences or
successive tersest in a poem. These are the semagrams and the open code.
Semagrams hide information by the use symbols or signs. A visual semagram uses
innocent-looking or everyday physical objects to convey a message, such as doodles
or the positioning of items on a desk (or Web site). A text semagram hides a message
by modifying the appearance of the carrier text, such as subtle changes in font size or
type, adding extra spaces, or different flourishes in letters or handwritten text. Open
codes hide a message within a legitimate carrier message in ways that are not
obvious to an unsuspecting observer. The carrier message is sometimes called the
covert communication while the hidden message is the covert communication.
(a)
(b)
7
Figure 2.2: (a) Steganography (b) Cryptography
Cryptography
Cryptography is the study of methods of sending messages in distinct form so that
only the intended recipients can remove the disguise and read the message. The
message we want to send is called plain text and disguised message is called cipher
text. The process of converting a plain text to a cipher text is called enciphering or
encryption, and the reverse process is called deciphering or decryption. Encryption
protects contents during the transmission of the data from the sender to receiver.
However, after receipt and subsequent decryption, the data is no longer protected and
is the clear. The schematic representation of the cryptography is given in Fig. 2.2 (b).
Steganography differs from cryptography in the sense that where cryptography is the
practice of scrambling a message to an obscured form to prevent others from
understanding it, steganography is the study of obscuring the message so that it
cannot be seen. Steganography and cryptography are both ways to protect
information from unwanted parties but neither technology alone is perfect and can be
compromised. Once the presence of hidden information is revealed or even
suspected, the purpose of steganography is partly defeated. The strength of
steganography can thus be amplified by combining it with cryptography.
Digital watermarking
A special case of steganography is digital watermarking. Watermarking is the
process that embeds data called a watermark, tag or label into a multimedia object
such that watermark can be detected or extracted to make an assertion about the
object may an image or video or audio may also be text only. A watermark is
perceived as an attribute of the carrier (cover). It may contain information such as
copyright, license and authorship etc. Whereas in case of steganography, the
embedded message may have nothing to do with the cover. The key difference
between steganography and watermarking is the absence of an active adversary. In
watermarking applications like copyright protection and authentication, there is an
active adversary that would attempt to remove, invalidate or forge watermarks. In
8
steganography there is no such active adversary as there is no value associated with
the act of removing the information hidden in the content. Nevertheless,
steganography techniques need to be robust against accidental distortions.
2.2.1 DIFFERENCES BETWEEN STEGANOGRAPHY AND DIGITAL
WATERMARKING
Digital Information Hiding is the protection or concealing of digital information.
Steganography and Digital Watermarking are both sub-disciplines of information
hiding. Steganography is a way of hiding pertinent information. An example of
Steganography is sending a message containing invisible ink. The message appears
to be saying one thing but the invisible ink contains the true message. Watermarking
unlike Steganography focuses on the robustness of the information being hidden or
protected. The goal of Watermarking is for the watermarked information to be
irremovable. In fact, although primary focus is on invisible watermarks, this is not a
requirement. Watermarking focuses [15, 31] on protecting digital content and
therefore the watermarked information is always related to the digital content it is
applied to. Steganography does not follow this criterion while it is possible that the
information being hidden is related to the digital content itself, in many cases the
digital content is simply a decoy to hide the pertinent hidden information.
Steganography is usually applied to a one-to-one relationship and it is a two-way
communication. Information is hidden by one individual for another individual to
decode. Watermarking is usually applied to a one-to-many relationship and the
communication is one-way. Information is watermarked by one to prevent the theft
by many.
Thus, to summarize, the differences between Steganography and watermarking are:
Digital Watermarking:
Main goals are copyright protection and information authentication.
Inserts information related either to the host signal or its owner.
9
Is either visible or imperceptible.
Is for communications point-to-multiple points.
Capacity is not an important issue.
Robustness is an important issue.
Digital Steganography:
Main goal is covert communication.
Inserts any kind of information.
Must not only be imperceptible but also statistically undetectable.
Is for communications point-to-point.
Capacity is an important issue.
May be robust (not necessary).
2.3 THE PRISONER’S PROBLEM: MODERN FORMULATION OF
STEGANOGRAPHY
Watermarking technique has evolved from steganography. The use of watermarks is
almost as old as paper manufacturing. Paper Watermarks have been in wide use since
the late middle Ages. Their earliest use seems to have been to record the
manufacturer’s trademark on the product so that the authenticity could be clearly
established without degrading the aesthetics and utility of the stock. Today most
developed countries also watermark their paper, currencies and postage stamps to
make forgery more difficult. The digitization of our world has expanded our concept
of watermarking to include immaterial digital impressions for use in authenticating
ownership claims and protecting proprietary interests. However, in principle digital
watermarks are like their paper ancestors. They signify something about the token of
a document or file in which they inherit. Whether be the product of paper press or
discrete cosine transformations, watermarks of varying degree of visibility are added
to presentation media as a guarantee of authenticity, quality ownership and source.
10
Although steganography is an ancient subject, the modern formulation of it is often
given in terms of the prisoner’s problem [1,6,15,33] proposed by Simmons, where
two inmates, Alice and Bob, wish to communicate in secret to hatch an escape plan.
All of their communication passes through a warden, Wendy, who will throw them in
solitary confinement should she suspect any covert communication. The warden,
who is free to examine all communication exchanged between the inmates, can either
be passive or active [33]. A passive warden simply examines the communication to
try and determine if it potentially contains secret information. If she suspects a
communication to contain hidden information, a passive warden takes note of the
detected covert communication, reports this to some outside party and lets the
message through without blocking it. An active warden, on the other hand, will try to
alter the communication with the suspected hidden information deliberately, in order
to remove the information. The scenario is modeled as in figure 2.3. Alice wants to
send a secret message ‘m’ to Bob. In order to do so, she embeds ‘m’ into a cover
object ‘c’ and obtains a stego object ‘s’, which is sent over a public channel. Thus,
cover object refers to the object used as carrier to embed the secret message into and
the stego object is the object that contains the hidden message. In a pure
Steganographic scenario, the technique for embedding the message is unknown to
Wendy and shared as a secret between Alice and Bob. Sometimes it is considered
that the algorithm for embedding message is known but the key used by the
algorithm is kept as a secret between the two parties. Now Wendy has to find out if
the message sent is a stego object or not? In this context, Steganalysis refers to the
techniques that aid Wendy to distinguish between stego object and cover object,
sometimes even without knowing the algorithm used for embedding the secret
message, just determining a hidden message will do the work.
11
Figure 2.3: General model for Steganography
2.4 GENERAL WATERMARKING SYSTEM
Digital Watermarking is a promising solution of content copyright protection in the
global network. It imposes extra robustness on embedded information. To put into
words, digital watermarking is the art and science of embedding copyright
information in the original files, the information embedded is called watermarks.
Digital watermarks don’t leave a noticeable mark on the content and not affect its
appearance. These are imperceptible and can be detected only by proper authorities.
Digital watermarks are difficult to remove without noticeably degrading the content
and are a covert means in situations where cryptography fails to provide robustness.
A watermarking system can be viewed as a communication system [30,34,35]
consisting of three main elements:
an embedder (insertion algorithm),
a communication channel and
a detector (verification or extraction or detection algorithm).
12
Watermark information is embedded within the host signal before the watermarked
signal is transmitted over the communication channel, so that the watermark can be
detected at the receiving end, that is, at the detector.
Figure 2.4: A general watermarking system
A watermarking system is illustrated in figure 2.4. The dotted lines represent the
optional components, which may or may not be required according to the
application.
First of all, a watermark Wo is generated by the watermark generator with a secret
watermark generation key Kg. The watermark Wo can be a logo, or a pseudo-random
signal. Instead of directly embedding it into the host signal, the watermark Wo can be
pre-coded to optimize the embedding process, i.e. to increase robustness against
possible signal processing operations or imperceptibility of the watermark. This is
done by an information coder, which may require the original signal S0.
The outcome of the information coding component is denoted by symbol W that,
together with the original signal S0 and a secret key K, are taken as input of the
13
embedder. The secret key K is intended to differentiate between authorized users and
unauthorized users at the detector in the absence of Kg. The embedder takes in W, S0
and K, so as to hide W within S0 in a most imperceptible way with the help of K, and
produce the watermarked signal Sw. Afterwards, Sw enters into the communication
channel where a series of unknown signal processing operations and attacks may
take place. The outcome of the communication channel is denoted by the symbol S’w.
At the receiving end, the detector works in an inversely similar way as the embedder,
and it may require the secret key Kg, K, and the original signal S0. Then the detector
reads S´w and decides if the received signal has the legal watermark. Each owner has
a unique watermark or an owner can also put different watermarks in different
objects the marking algorithm incorporates the watermark into the object. The
verification algorithm authenticates the object determining both the owner and the
integrity of the object. A watermark must be detectable or extractable to be useful.
Depending on the way the watermark is inserted and depending on the nature of the
watermarking algorithm, the method used can involve very distinct approaches. In
some watermarking schemes, a watermark can be extracted in its exact form, a
procedure we call watermark extraction. In other cases, we can detect only whether a
specific given watermarking signal is present in an image, a procedure we call
watermark detection. It should be noted that watermark extraction can prove
ownership whereas watermark detection can only verify ownership.
2.5 CLASSIFICATION OF WATERMARKING
A digital watermark [34] is a digital signal or pattern inserted into a digital image.
Since this signal or pattern is present in each unaltered copy of the original image,
the digital watermark may also serve as a digital signature for the copies. A
watermark may be unique to each copy or may be common to multiple copies. In
either case, the watermarking of the image involves the transformation of the original
into another form.
14
The classification of watermarks and watermarking techniques is very broad. These
are divided into various categories [8, 11, 12] based on different criterions as shown
in figure 2.5.
Figure 2.5: Types of watermarking techniques
According to the type of Document
Watermarking techniques can be divided into four categories according to the type of
document [18] to be watermarked as follows.
Image Watermarking
Video Watermarking
Audio Watermarking
Text Watermarking
15
According to the prior exchange of data
The watermarking system is said to be pure watermarking system [33,35,37] if it
does not require prior exchange of data like shared secret keys while it is said to be
shared-key or shared-secret watermarking system if there is required a prior
exchange of keys. Depending on the exchange and availability of keys these shared
key systems are further classified. Public- key steganography [29, 31,35, 37] does
not rely on shared-key exchange. Instead it is based on the public-key cryptography
principle in which there are two keys, one being the public key which can be usually
obtained from a public database and the other a private key. Usually in this case the
public key is used in the embedding process and the private key in the decoding
process. A typical watermarking system is a shared-secret system. Private-key
steganography no public key and the intended recipient is to be supplied with the
key separately.
According to how watermark is detected and extracted
Many of the watermarking algorithms initially published required that the original
data be available to the detector. It would typically be subtracted from the
watermarked data to reveal the watermark itself. These are referred to as private
watermarks [29]. Watermark detection and extraction that do not depend on the
availability of original image are referred to as Blind watermarking [12,31,35]
techniques. The drawback is when the watermarked image is seriously destroyed;
watermark detection will become very difficult. Nonblind-extracting [12,29,35]
watermark can only be detected by those who have a copy of original image. It
guarantees better robustness but may lead to multiple claims of ownerships.
According to the domain for watermark embedding
On the basis of domain used for watermarking the techniques fall in two categories:
those which use spatial domain and those which use transform domain. Spatial-
domain watermarking [12,18] technologies change the intensity of original image or
16
gray levels of its pixels. This kind of watermarking is simple and with low
computing complexity, because no frequency transform is needed. However, there
must be tradeoffs between invisibility and robustness, and it is hard to resist common
image processing and noise. Transform-domain watermarking [12,18] embeds the
watermark into the transformed image. It is complicated but has the merits which the
former approach lacks.
According to the ability of watermark to resist attack
Fragile watermarks [12,18,29,35] are ready to be destroyed by random image
processing methods. The change in watermark is easy to be detected, thus can
provide information for image completeness. Robust watermarks [12,18,29,35] are
unaffected under most image processing methods and can be extracted from heavily
attacked watermarked image. Thus it is preferred in copyright protection.
According to the human perception
According to the human perception [8,11,18,35], the digital watermarks can be
divided into different types as follows.
Visible watermark
Invisible-Robust watermark
Invisible-Fragile watermark
Dual watermark
Visible watermark is a secondary translucent overlaid into the primary image. The
watermark appears visible to a casual viewer on a careful inspection. The invisible-
robust watermark is embedded in such a way that an alternation made to the pixel
value is perceptually not noticed and it can be recovered only with appropriate
decoding mechanism. The invisible-fragile watermark is embedded in such a way
that any manipulation or modification of the image would alter or destroy the
watermark. An invisible robust private watermarking scheme requires the original or
reference image for watermark detection; whereas the public watermarks do not. The
class of invisible robust watermarking schemes that can be attacked by creating a
17
counterfeit original is called invertible watermarking scheme. .Dual watermark [42]
is a combination of a visible and an invisible watermark .In this type of watermark an
invisible watermark is used as a back up for the visible watermark as clear from the
following diagram shown in figure 2.6.
Figure 2.6: Schematic representation of dual watermarking
According to the application
From application point of view digital watermark is either source based or
destination based. Source-based watermark are desirable for ownership identification
or authentication where a unique watermark identifying the owner is introduced to all
the copies of a particular image being distributed. A source-based watermark could
be used for authentication and to determine whether a received image or other
electronic data has been tampered with. The watermark could also be destination
based where each distributed copy gets a unique watermark identifying the particular
buyer. The destination -based watermark could be used to trace the buyer in the case
of illegal reselling.
2.6 APPLICATIONS OF WATERMARKING
The requirements that a watermarking system needs to comply with depends upon
the specific type of application. A few most common applications [2,3,15,38]
involve:
1. Owner Identification: The owner identification [2,3,15,18] can be printed on the
covers or mentioned somewhere on the item. Examples are the identification mark of
an audio company on the CD case or the mark of the paper manufacturer on top
18
corner of the paper. These types of watermarks can be easily removed by cropping
the image or by tearing the part that has the identification. Digital watermarking
helps to overcome this problem by embedding the watermark in the form of bits and
forming an integral part of the content. The device reads the CD and identifies the
watermark. For having further access to the CD the owner should have a license or
he should have paid a fee to access the copyrighted work.
2. Copy Protection: To prevent the data from being copied [3,15,18] a watermark
can be introduced in the data with a copy protect bit. When the copying device reads
the data, the watermark detecting circuitry should detect the watermark and stop
recording. This would need all the copying machines to have the watermark circuitry
to identify the watermark and act accordingly.
3. Broadcast Monitoring: A commercial advertisement may be watermarked
putting a unique watermark in each video or sound clip prior to broadcast [3].
Automated monitoring systems can then receive broadcasts and check for these
watermarks, identifying when and where each clip appears. This proves very helpful
for the advertisers as they actually pay for only the number of times the
advertisement was actually relayed.
4. Medical applications: Names of the patients can be printed on the X-ray reports
and MRI scans using techniques of visible watermarking. The medical reports play a
very important role in the treatment offered to the patient. If there is a mix up in the
reports of two patients this could lead to a disaster.
5. Fingerprinting: A fingerprinting [15] technique can be used to trace the source of
illegal copy. Every copy available can be watermarked with a unique bit sequence.
Now, if a copy is made illegally the source can be easily tracked since each original
copy had a unique bit sequence embedded into it.
6. Data Authentication: A given set of data (images) can be easily tampered
without even being detected. To avoid this [18] and maintain the originality of the
19
image a watermark like signature, a set of words, may be embedded into the image.
If the image is now being tampered it can be easily detected as the pixel values of the
embedded data would change and not match the original pixel values. If the image is
being copied it would lose its authentication as the embedded data would not be
copied along with the image.
Different types of watermarks are used for different applications depending upon
their characteristics as follows.
2.6.1 Applications of visible watermark
Visible watermarks can be used in following cases:
Visible watermarking for enhanced copyright protection [35]. In such
situations, where images are made available through Internet and the content
owner is concerned that the images will be used commercially (e.g. imprinting
coffee mugs) without payment of royalties. Here the content owner desires an
ownership mark, that is visually apparent, but which does not prevent image
being used for other purposes.
Visible watermarking used to indicate ownership [35] originals. In this case
images are made available through the Internet and the content owner desires to
indicate the ownership of the underlying materials (library manuscript), so an
observer might be encouraged to patronize the institutions that own the material.
2.6.2. Applications of invisible robust watermark
Invisible robust watermarks find application in following cases.
Invisible watermarking to detect misappropriated images [35]. In this
scenario, the seller of digital images is concerned, that his, fee-generating images
may be purchased by an individual who will make them available for free, this
would deprive the owner of licensing revenue.
Invisible watermarking as evidence of ownership [35]. In this scenario, the
seller that of the digital images suspects one of his images has been edited and
published without payment of royalties. Here, the detection of the seller’s
20
watermark in the image is intended to serve as evidence that the published image
is property of seller.
2.6.3 Applications of Invisible fragile watermarks
Following are the applications of invisible fragile watermarks.
Invisible watermarking for a trustworthy camera. In this scenario, images are
captured with a digital camera for later inclusion in news articles. Here, it is the
desire of a news agency to verify that an image is true to the original capture and
has not been edited to falsify a scene. In this case, an invisible watermark is
embedded at capture time; its presence at the time of publication is intended to
indicate that the image has not been attended since it was captured.
Invisible watermarking to detect alternation [35] of images stored in a digital
library. In this case, images (e.g. human fingerprints) have been scanned and
stored in a digital library; the content owner desires the ability to detect any
alternation of the images, without the need to compare the images to the scanned
materials.
2.7 ATTACKS ON WATERMARKS
A watermarked image is likely to be subjected to certain manipulations [3,18,21,40],
some intentional such as compression and transmission noise and some intentional
such as cropping, filtering, etc. They are summarized in figure 2.7.
Lossy Compression: Many compression schemes like JPEG and MPEG can
potentially degrade the data’s quality through irretrievable loss of data.
Geometric Distortions [3]: Geometric distortions are specific to images videos
and include such operations as rotation, translation, scaling and cropping.
Common Signal Processing Operations: They include the followings.
o D/A conversion
o A/D conversion
o Resampling
21
o Requantization
o Dithering distortion
o Recompression
o Linear filtering such as high pass and low pass filtering
o Addition of a constant offset to the pixel values
o Addition of Gaussian and Non Gaussian noise
o Local exchange of pixels
Other intentional attacks:
o Printing and Rescanning
o Watermarking of watermarked image (rewatermarking)
o Collusion: A number of authorized recipients of the image should not be
able to come together (collude) and like the differently watermarked
copies to generate an un-watermarked copy of the image (by averaging all
the watermarked images).
o Forgery: A number of authorized recipients of the image should not be
able to collude to form a copy of watermarked image with the valid
embedded watermark of a person not in the group with an intention of
framing a 3rd party.
22
Figure 2.7: Attacks on watermarks
These attacks may also be classified as active attacks, passive attacks, collusion
attacks and forgery attacks.
Active Attacks: Here, the hacker tries deliberately to remove the watermark or
simply make it undetectable. This is a big issue in copyright protection,
fingerprinting or copy control for example.
Passive attacks: In this case, the attacker is not trying to remove the watermark but
simply attempting to determine if a given mark is present or not. As the reader
should understand, protection against passive attacks is of the utmost importance in
23
covert communications where the simple knowledge of the presence of watermark is
often more than one want to grant.
Collusion attacks: In collusive attacks [3], the goal of the hacker is the same as for
the active attacks but the method is slightly different. In order to remove the
watermark, the hacker uses several copies of the same data, containing each different
watermark, to construct a new copy without any watermark. This is a problem in
fingerprinting applications (e.g. In the film industry) but is not the widely spread
because the attacker must have access to multiple copies of the same data and that
the number needed can be pretty important.
Forgery attacks: This is probably the main concern in data authentication. In
forgery attacks, the hacker aims at embedding a new, valid watermark rather than
removing one. By doing so, it allows him to modify the protected data as he wants
and then, re-implants a new given key to replace the destructed (fragile) one, thus
making the corrupted image seems genuine.
These four types of malicious attacks are only a categorization of what has been
encountered in the past. Of course, a lot of new attacks can be designed and it is
impossible to know what will come out next from hackers’ imagination. To those
malicious attacks, one must add all signal processing operations involved in the
transmission or storage of data, which can naturally degrade the image and alter the
watermarked information to the point of not being detectable anymore. In fact, the
identification and classification of attacks, as well as the implantation of a standard
benchmark for robustness testing is of great importance and will be a key issue in the
future development of watermarking.
2.8 DESIRED CHARACTERISTICS OF WATERMARKS
This section focuses on a number of watermarking system requirements
[13,15,18,21,38] as well as the tradeoffs among them.
24
Security: The security requirement of a watermarking system can differ slightly
depending on the application. Watermarking security implies that the watermark
should be difficult to remove or alter without damaging the host signal. As all
watermarking systems seek to protect watermark information, without loss of
generality, watermarking security [2] can be regarded as the ability to assure
secrecy and integrity of the watermark information, and resist malicious attacks.
Imperceptibility: The imperceptibility [2, 3] refers to the perceptual
transparency of the watermark. Ideally, no perceptible difference between the
watermarked and original signal should exist. A straightforward way to reduce
distortion during watermarking process is embedding the watermark into the
perceptually insignificant portion of the host signal. However, this makes it easy
for an attacker to alter the watermark information without being noticed.
However, other techniques, such as spread spectrum [3], can be used to add
imperceptible or unnoticeable watermarks in perceptually significant regions.
Capacity: Watermarking capacity [2] normally refers to the amount of
information that can be embedded into a host signal. Generally speaking,
capacity requirement always struggle against two other important requirements,
that is, imperceptibility and robustness as shown in figure 2.8. A higher capacity
is usually obtained at the expense of either robustness strength or
imperceptibility, or both.
Figure 2.8: The tradeoffs among imperceptibility, Robustness, and capacity
Robustness: Robustness[2,3,18] actually comprises two separate issues:
1) Whether or not the watermark is still present in the data after distortion.
2) Whether the watermark detector can detect it.
25
For example, watermarks inserted into images by many algorithms remain in the
signal after geometric distortions such as scaling, but the corresponding detection
algorithms can only detect the watermark if the distortion is first removed. In this
case, if the distortion cannot be determined and/or inverted, the detector cannot
detect the watermark even though the watermark is still present albeit in a
distorted form. Apart from malicious attacks, common signal processing
operations can pose a threat to the detection of watermark, thus making it
desirable to design a watermark that can survive those operations. For example, a
good strategy to robustly embed a watermark into an image is to insert it into
perceptually significant parts of the image. Therefore, robustness is guaranteed
when we consider the case of lossy compression which usually discards
perceptually insignificant data, thus data hidden in perceptual significant portions
is likely to survive lossy compression operation. However, as this portion of the
host signal is more sensitive to alterations, watermarking may produce visible
distortions in the host signal. The exact level of robustness an algorithm must
possess cannot be specified without considering the application scenario. Not all
watermarking applications require a watermark to be robust enough to survive all
attacks and signal processing operations. Indeed, a watermark needs only to
survive the attacks and those signal processing operations that are likely to occur
during the period when the watermarked signal is in communication channel. In
an extreme case, robustness may be completely irrelevant in some case where
fragility is desirable.
Tamper-resistance: Watermarks are often required to be resistant to signal
processing that is solely intended to remove them, in addition to being robust
against the signal distortions that occur in normal processing. We refer to this
property as tamper-resistance [3]. Tamper-resistance can be visualized in the
same way that we visualize robustness.
Key restrictions: An important distinguishing characteristic is the level of
restriction placed on the ability to read a watermark. The watermarks in which
the key is available to a very large number of detectors are described as
26
“unrestricted-key” watermarks, and those in which keys are kept secret by one or
a small number of detectors are described as “restricted-key” watermarks. Some
watermarking methods create a unique key for each piece of data that is
watermarked. Such algorithms can be used for restricted-key applications, where
the owner of the original data can afford to keep a database of keys for all the
data that has been watermarked. But they cannot be used for unrestricted-key
applications, since this would require every detector in the world having a
complete list of all the keys. Thus, algorithms for use as unrestricted-key systems
must employ the same key for every piece of data.
Computational cost: The speed requirements are highly application dependent.
In general, there is often an asymmetry between the requirement for speed of
insertion and speed of detection. This is particularly true when watermarks need
to be inserted or detected in real-time video or audio. Another issue to consider in
relation to computational cost is the issue of scalability [3,18]. It is well known
that computer speeds are increasing and it is therefore very desirable to design a
watermark whose detector and/or inserter is scalable with each generation of
computers.
2.8.1 Desired characteristics of visible watermarks [15]
A visible watermark should be obvious in both color and monochrome images.
The watermark should spread in a large or important area of the 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.
27
2.8.2 Desired characteristics of invisible robust watermarks [15]
The invisible watermark should neither be noticeable to the viewer nor should
degrade the quality of the content.
An invisible robust 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.
It is desirable to design a watermark whose decoder is scalable with each
generation of computer.
While watermarking high quality images and art works the amount of pixel
modification should be minimum.
Insertion of watermark should require little human intervention or labor.
The robust watermark must be able to reliably carry higher number of
information bits in the presence of attacks.
2.8.3 Desired characteristics of invisible fragile watermarks [15]
The invisible watermark should neither be noticeable to the viewer nor should
degrade the quality of the content.
An invisible fragile watermark should be readily modified when the image pixel
values have been altered.
The watermark should be secure. This means that it is impossible to recover the
changes, or regenerate the watermark after image alternations, even when the
watermarking procedure, and/or the watermark itself is known.
For high quality images, the amount of individual pixel modification should be as
small as possible.
2.9 IMAGE STEGANOGRAPHY
28
There have been a number of image steganography algorithms proposed which find
wide use in the image watermarking domain. These algorithms could be categorized
in a number of ways [6,35]:
1. Spatial or Transform, depending on redundancies used from either domain for
the embedding process.
2. Model based or ad-hoc, if the algorithm models statistical properties before
embedding and preserves them, or otherwise.
3. Active or Passive Warden, based on whether the design of embedder-detector
pair takes into account the presence of an active attacker.
2.9.1 SPATIAL DOMAIN WATERMARKING
The techniques for spatial domain watermarking [21] insert the watermark into the
intensity values of the predefined regions of the image. The best widely known
watermarking algorithm is based on modifying the least significant bit layer of
images, hence known as the LSB technique. This technique makes use of the fact
that the least significant bits in an image could be thought of random noise and
changes to them would not have any effect on the image. Although the image seems
unchanged visually after the LSBs are modified, the statistical properties of the
image changes significantly. In the LSB technique, the LSB of the pixels is replaced
by the message to be sent. The message bits are permuted before embedding, this has
the effect of distributing the bits evenly, thus on average only half of the LSB's will
be modified. Different tools vary in their approach for hiding information. Some
algorithms change LSB of pixels visited in a random walk, others modify pixels in
certain areas of images, or instead of just changing the last bit they increment or
decrement the pixel value.
Spatial domain technique for watermarking can also be applied using color
separation. In this way, the watermark appears in only one of the color bands. This
renders the watermark visibly subtle such that it is difficult to detect under regular
viewing. However, the mark appears immediately when the colors are separated for
29
printing. This renders the document useless for the printer unless the watermark can
be removed from the color band. This approach is used commercially for journalists
to inspect digital pictures from a photo-stock house before buying unmarked
versions.
Another approach for embedding in spatial domain is that, noise that statistically
resembles common processing distortion, e.g., scanner noise, or digital camera noise,
is introduced to pixels on a random walk. The noise is produced by a pseudo random
noise generator using a shared key. A parity function is designed to embed and detect
the message signal modulated by the generated noise. These are referred to as
Correlation based techniques. The next chapter discusses different spatial domain
watermark embedding techniques in detail.
2.9.2 TRANSFORM DOMAIN EMBEDDING
Another category for embedding techniques for which a number of algorithms have
been proposed is the transform domain [2,21,30] embedding category. Most of the
work in this category has been concentrated on making use of redundancies in the
DCT (discrete cosine transform) domain, which is used in JPEG compression.
Embedding in DCT domain is simply done by altering the DCT coefficients [6,30].
Although changing the DCT coefficients will cause unnoticeable visual artifices,
they do cause detectable statistical changes. But there have been other algorithms
which make use of other transform domains, such as the frequency domain, by
quantizing the coefficients in the frequency domain in order to embed messages.
Since high frequencies will be lost by compression or scaling, the watermark signal
is applied to lower frequencies, or better yet, applied adaptively to frequencies that
contain important information of the original picture. Since watermarks applied to
the frequency domain will be dispersed over the entirety of the spatial image upon
inverse transformation, this method is not as susceptible to defeat by cropping as the
spatial technique. However, there is more a tradeoff here between invisibility and
decodability, since the watermark is in effect applied indiscriminately across the
spatial image. The other important and upcoming methods use Discrete Wavelet
30
Transform, Fast Wavelet Transform and Singular Value Decomposition. The basic
principle of use of these transforms remains the same. The transform coefficients are
altered.
Some other transforms used are Radon Transform, Hartley Transform [22], Discrete
Laguerre Transform[25], Steerable Pyramid Transform[26]. There are many more
algorithms proposed lately which use more than one transform[23] i.e. there exists a
class of hybrid techniques to embed a watermark. The simplest example is modifying
Singular Values of the Discrete Cosine Transform of an image to put in watermark
secretly.
The table 2.1 shows the comparison of the spatial domain and Transform domain
watermarking techniques depending upon various characteristics. The data is
practically evaluated in Chapter 6.
Characteristics Spatial Domain Transform Domain
Computation Cost Low High
Robustness Fragile More robust
Perceptual quality High Control Low control
Capacity High(depends on image size) Low
Example of Application Mainly authentication Copyright
Table 2.1: Comparison between watermarking techniques
2.9.3 MODEL BASED TECHNIQUES
Unlike previously discussed techniques, model based techniques [6,24] try to model
statistical properties of an image, and preserve them in the embedding process. For
example, the transformed image coefficients are divided into two parts and the
perceptually insignificant component is replaced with the coded message signal.
Another model based technique proposed to process the message signal so that it
31
would exhibit the properties of an arbitrary cover signal. This approach is called data
masking.
As argued if Alice wants to send an encrypted message to Bob, the warden Wendy
would be able to detect such a message as an encrypted stream since it would exhibit
properties of randomness. In order for a secure channel to achieve covertness, it is
necessary to preprocess the encrypted stream at the end points to remove randomness
such that the resulting stream defeats statistical tests for randomness and the stream
is reversible at the other end.
CHAPTER 3
IMAGE WATERMARKING IN SPATIAL DOMAIN
The most straight-forward method of watermark embedding would be to embed the
watermark into the least-significant-bits of the cover object. This technique lies
under spatial domain watermarking techniques. Given the extraordinarily high
32
channel capacity of using the entire cover for transmission in this method, a smaller
object may be embedded multiple times. Even if most of these are lost due to attacks,
a single surviving watermark would be considered a success. The resulting
watermark may be visible or invisible depending upon the value (large or small,
respectively) of the watermark intensity.
3.1 SIMPLE LSB SUBSTITUTION
A naive algorithm for LSB substitution would be to take the first M cover pixels
where M is the length of the secret message to be hidden in bits. And then every
pixel's last bit is replaced [1,2,6,13] by one of the message bit because this has
negligible effect to the appearance of the carrier message. This can be observed in
figure 3.1.
Image 1 grayscale pixel value=128
Image 2 grayscale pixel value=129
Image 3 grayscale pixel value=000
Figure 3.1: Effect of changing LSB and MSB on grayscale pixel value
Consider that the grayscale value at any arbitrary pixel is 128 represented with 8 bits
as 10000000. Now, if LSB is changed from zero to one, the grayscale pixel value
changes from 128 to 129, which is undetectable to human eye. However if MSB is
changed, the change in gray level is from 128 to 0 which is a significant change to be
detected by human eye. This is the simplistic case; we could get away with replacing
more than one bit also.
X w = 0 1
…………
7 = 0111 y = 6 = 0110 7 = 0111
1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
33
D = 1 = 0
8 = 1000 y = 8 = 1000 9 = 1001
D = 0 = 1
…………
Table 3.1: Distortion for R=1
x w = 00 01 10 11
…………..
4 = 0100 y=4=0100 5=0101 6=0110 7=0111
D = 0 = 1 = 2 =3
5 = 0101 y=4=0100 5=0101 6=0110 7=0111
D = 1 = 0 = 1 =2
6 = 0110 y=4=0100 5=0101 6=0110 7=0111
D = 2 = 1 = 0 =1
7 = 0111 y=4=0100 5=0101 6=0110 7=0111
D = 3 = 2 = 1 =0
8 = 1000 y=8=1000 9 = 1001 10=1010
11=1011
D = 0 = 1 = 2 = 3
9 = 1001 y=8=1000 9 = 1001 10=1010
11=1011
D = 1 = 0 = 1 = 2
10 = 1010 y=8=1000 9 = 1001 10=1010
11=1011
D = 2 = 1 = 0 = 1
11 = 1011 y=8=1000 9 = 1001 10=1010
11=1011
D = 3 = 2 = 1 = 0
………….
Table 3.2: Distortion for R = 2
If we assume the set of permissible gray levels is represented with B number of
bits, the number of bit used for message embedding as R and the value of bit(s) as w,
then say the gray level changes from x to y. Then the distortion [13] introduced due
34
to change in LSB can be given with the help of the following tables. From table 3.1
[13], for R=1 the distortion is and from table 3.2 [13], for R= 2 the average
distortion is .
To recover the watermark, the LSB of the watermarked image are extracted. LSB
substitution however despite its simplicity brings a host of drawbacks. Although it
may survive transformations such as cropping, any addition of noise or lossy
compression is likely to defeat the watermark. An even better attack would be to
simply set the LSB bits of each pixel to 1 or 0 fully defeating the watermark with
negligible impact on the cover object. Furthermore, once the algorithm is discovered,
the embedded watermark could be easily modified by an intermediate party.
This technique is a pure watermarking technique as it does not require a key to be
shared between the sender and the receiver but only the number of bits used for
hiding the data. One solution to improve the robustness of the watermark is to use a
pseudo random number generator [4] to determine the pixels to be used for
embedding. This is discussed in the following section. The security is increased but it
does require a key or a password to be sent with the image or shared between the
users.
3.2 VISITING PIXELS IN A RANDOM WALK FOR LSB SUBSTITUTION
An improvement on basic LSB substitution would be to use a pseudo-random
number generator [2,4,12] to determine the pixels to be used for embedding based on
a given “seed” or key.
Security of the watermark would be improved as the watermark could no longer be
easily viewed by intermediate parties. The algorithm however would still be
vulnerable to replacing the LSBs with a constant. Even in locations that were not
used for watermarking bits, the impact of the substitution on the cover image would
be negligible. LSB modification proves to be a simple and fairly powerful tool for
35
stenography, however lacks the basic robustness that watermarking applications
require.
To recover the watermark, the same key is used to regenerate the pseudo-random
number generator to determine the pixel where watermark was embedded. Extracting
the LSB of these pixels gives back the watermark.
3.3 OTHER LSB SUBSTITUTION TECHNIQUES
Many other LSB substitution techniques are found in the literature where different
coding schemes like Hamming Codes and Golay Codes for example are used as they
affect the LSB of each gray scale symbol. These techniques find the modified forms
in literature with the use of ternary embedding [13]. These methods have lower
distortion rates.
3.4 ADVANTAGES AND DISADVANTAGES OF LSB SUBSTITUTION
Advantages:
1. It is a well-rounded method and lends itself to a variety of information hiding
applications.
2. A large quantity of embedded information can be included in even the most
modestly sized images.
3. LSB can also allow for the hiding of photographic images and even audio
recordings.
4. Calculation complexity is relatively low.
Disadvantages [12]:
1. Any attack or noise distortion of the composite image will seriously damage
the imbedded data.
2. Cropping or translation of the composite image will destroy an equal portion
of the imbedded image.
3. Robustness limits the overall effectiveness.
36
3.5 CORRELATION BASED TECHNIQUES
These techniques for watermark embedding exploit the correlation properties of
additive pseudo-random noise patterns as applied to an image [11]. Pseudo-
random noise sequences are a good tool for watermarking because
of the following reasons:
PN generator produces periodic sequences that appear to be
random.
PN sequences are generated by an algorithm that uses an
initial seed.
The PN sequence generated is actually not statically random
but will pass many tests of randomness.
Unless the algorithm and seed are known, the sequence is
impractical to predict.
A pseudo-random noise (PN) pattern, W(x,y) is added to the cover image, I(x,y)
according to the equation shown below
, 3.1
Where, k is the gain factor, and is the watermarked image. Increasing k increases
the robustness of the watermark at the expense of the quality of the watermarked
image. To retrieve the watermark, the same pseudo-random noise generator
algorithm is seeded with the same key, and the correlation between the noise pattern
and possibly watermarked image computed. If the correlation exceeds a certain
threshold T, the watermark is detected, and a single bit is set. This method can easily
be extended to a multiple-bit watermark by dividing the image up into blocks, and
performing the above procedure independently on each block.
37
This basic algorithm can be improved in a number of ways. First, the notion of a
threshold being used for determining a logical “1” or “0” can be eliminated by using
two separate pseudo-random noise patterns. One pattern is designated a logical “1”
and the other a “0”. The above procedure is then performed once for each pattern,
and the pattern with the higher resulting correlation is used. This increases the
probability of a correct detection, even after the image has been subject to attack.
We can further improve the method by pre-filtering the image before applying the
watermark. If we can reduce the correlation between the cover image and the PN
sequence, we can increase the immunity of the watermark to additional noise. By
applying the edge enhancement filter shown below in figure 3.2, the robustness of
the watermark can be improved with no loss of capacity and very little reduction of
image quality.
. 3.2
Figure 3.2: FIR edge enhancement pre-filter
Rather then determining the values of the watermark from “blocks” in the spatial
domain, we can employ CDMA spread-spectrum techniques to scatter each of the
bits randomly throughout the cover image, increasing capacity and improving
resistance to cropping. The watermark is first formatted as a long string rather then a
2D image. For each value of the watermark, a PN sequence is generated using an
independent seed. These seeds could either be stored, or themselves generated
through PN methods. The summation of all of these PN sequences represents the
watermark, which is then scaled and added to the cover image.
To detect the watermark, each seed is used to generate its PN sequence, which is then
correlated with the entire image. If the correlation is high, that bit in the watermark is
set to “1”, otherwise a “0”. The process is then repeated for all the values of the
watermark. CDMA improves on the robustness of the watermark significantly, but
requires several orders more of calculation.
38
3.6 EMBEDDING CHECKSUM IN LSB
Another variation in the approach for exploiting the spatial domain for information
hiding can be to hide the checksum [5, 30] for the cover image divided into blocks
instead of the binary logo or file directly. A checksum is the modulo-2 addition of a
sequence of fixed-length binary words; it is a special type of hash function. The
technique divides the cover image into blocks and for each block then selects a
pseudorandom group of pixels according to a secret key. The checksum is calculated
by summing the numbers determined by the seven most significant bits of selected
pixels which is then embedded in the LSB. As proposed in [5], the checksum can be
calculated using all the pixels in the block and selecting a large integer N using the
following equation.
, 3.3
where, M is the number of pixels in each block, ai is pseudorandom sequence of M
integers comparable in size to N and g(pi) is the gray level of pixel determined by the
seven MSBs. Further before embedding this checksum, the binary form of it is
encrypted. The checking process is similar to the embedding process. It consists of
comparing, for each block, the check-sum determined by the MSB of the tested
image with the original check-sum value recovered from the LSB. The main
advantages of this method are that it does not produce visible changes in the image
and provides a very high probability of tamper detection. For example, if we swap
only two pixels of any block, the check-sum will be modified because each pixel pi
of the block is multiplied by a different coefficient ai . Furthermore the random walk
of the pixels pi and the coefficients ai are block dependent, thus making it impossible
to swap or duplicate entire blocks without making undetected changes.
Advantages
39
1. Embedding W only changes (on average) half of the pixels covered by W. This not
only reduces visual distortion but also increases security.
2. An image may hold many W as long as they do not overlap.
3. This method is very fast.
Disadvantages
1. This watermarking method is fragile. Any change to either the image data itself or
the embedded checksum can cause the verification procedure to fail.
2. The checksum method does not detect pixel swaps or similar attacks. A forger
could replace a section of watermarked block with one of equal size and checksum.
3. An attacker could remove the entire watermark by replacing the LSB plane.
3.7 SPATIAL WATERMARKING USING BITMAP PARITY CHECKING
APPROACH
This approach [19] does not directly embed the information in the LSB but does so
with a certain criterion. This is achieved by using the mean gray value and bitmap in
the block to hide the logo in a secret, undetectable and unambiguous way. The
technique is fragile and blind in nature. In this technique the image f(x,y) is broken
down into blocks and the corresponding bitmaps are obtained by comparing the pixel
values with the block mean value according to the following equations:
. 3.4
The pixel values may be modified to embed logos by checking the even or odd parity
of the block bitmap using sum (S) of the binary values of the bitmap and a random
number R such that the following relation is satisfied for each block, k.
. 3.5
40
A secret key and a random number generator are used to enhance the logo in a secret,
undetectable, and unambiguous way. If sum does not satisfy the above relation, a
pixel with value f(x,y) is chosen and is modified to f’(x,y)
, 3.6
where, is pre-selected random value between 0 and standard deviation for each
block. By choosing a modified pixel near to the mean value of the block and
diffusing the errors of modifications the neighborhood pixels, we can obtain the
smallest value of the mean absolute error in the watermarked image. For retrieving
the watermark, the watermarked image is divided into the same sized non-
overlapping blocks as for embedding process. For each block the bitmap and the sum
is calculated and using the following relation the watermark bit is decided.
, 3.7
where, R produced by a random number generator using the original secret
key.
41
CHAPTER 4
IMAGE WATERMARKING IN TRANSFORM DOMAIN
An advantage of the spatial domain techniques discussed in the previous chapter is
that they can be easily applied to any image regardless of subsequent processing
(whether they survive this processing however is a different matter entirely). But the
disadvantage of spatial techniques is they do not allow for the exploitation of this
subsequent processing in order to increase the robustness of the watermark.
In addition to this, adaptive watermarking techniques are a bit more difficult in the
spatial domain. Both the robustness and quality of the watermark are improved if the
properties of the cover image are exploited. For instance, it is generally preferable to
hide watermarking information in noisy regions and edges of images, rather then in
smoother regions. The benefit is two-fold; Degradation in smoother regions of an
image is more noticeable to the Human Visual System (HVS), and becomes a prime
target for lossy compression schemes.
Taking these aspects into consideration, working in a transform domain becomes
very attractive. The classic and still most popular domain for image processing is that
of the Discrete-Cosine-Transform, or DCT. Although changing the DCT coefficients
will cause unnoticeable visual artifices, they do cause detectable statistical changes.
Another transform domain which is being exploited is Singular Value
Decomposition (SVD) due to its simplicity in implementation and attractive
mathematical features. It is one of the most powerful numerical analysis technique
and used in various applications. Some SVD based algorithms are purely SVD based
in a sense that only SVD domain is used to embed watermark into image. Recently
some hybrid SVD algorithms have been proposed where different types of
transforms are used including discrete Cosine Transform, Discrete Wavelet
Transform and Fast Hadamard Transform. There are two types of pure SVD based
42
algorithms where in some watermarking schemes watermark is embedded into the
whole cover image and in some other schemes the cover image is divided into
several blocks and the watermark is embedded into each block of the cover image
separately.
Another domain exploited for embedding the watermark is the wavelet domain. The
DWT (Discrete Wavelet Transform) separates an image into a lower resolution
approximation image (LL) as well as horizontal (HL), vertical (LH) and diagonal
(HH) detail components. The process can then be repeated to computes multiple
“scale” wavelet decomposition.
One of the many advantages over the wavelet transform is that that it is believed to
more accurately model aspects of the HVS as compared to the FFT or 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
4.1 DISCRETE COSINE TRANSFORM
The transform domain watermarking techniques use a DCT to transform successive 8
X 8 pixel blocks of the image into 64 DCT coefficients each. The DCT coefficients
F(u, v) of an 8 X 8 block of image pixels f(x, y) are given by
, 4.1
where C(x) = 1/√2 where x equals to zero and C(x) is 1 otherwise.
The corresponding inverse DCT transformation is given by
43
. 4.2
The DCT allows an image to be broken up into different frequency bands, making it
much easier to embed watermarking information into the middle frequency bands of
an image. The middle frequency bands are chosen such that they have minimize they
avoid the most visual important parts of the image (low frequencies) without over-
exposing themselves to removal through compression and noise attacks (high
frequencies), FL is used to denote the lowest frequency components of the block,
while FH is used to denote the higher frequency components. FM is chosen as the
embedding region as to provide additional resistance to lossy compression
techniques, while avoiding significant modification of the cover image,
Figure 4.1: Definitions of DCT regions
Embedding in DCT domain is simply done by altering the DCT coefficients, for
example by changing the least significant bit of each coefficient as for JSteg
algorithm [7]. One of the constraints of embedding in DCT domain is that many of
the 64 coefficients are equal to zero, and changing two many zeros to non-zeros
values will have an effect on the compression rate. That is why the number of bit one
could embed in DCT domain, is less that the number of bits one could embed by the
LSB method. Also the embedding capacity becomes dependent on the image type
used in the case of DCT embedding, since depending on the texture of image the
number of non-zero DCT coefficients will vary. The two methods using the above
discussed statistical anomalies are F5 and Outguess [6, 7].
44
A widely accepted point now is the frequency-domain watermark should be
embedded into the mid-band of the transformed host image. Watermarks in high
frequency band tend to have less influence on the quality of original image, while
watermarks in low band will achieve a better robustness (since a large portion of
high frequency components may be quantized to zero under JPEG compression, as
shown in figure 4). And the mid-bind scheme is right a tradeoff between the
imperceptibility and robustness.
4.1.1 USEFUL PROPERTIES OF DCT
1. The cosine transform is real and orthogonal.
2. The cosine transform is fast transform. The cosine transform of a vector of N
elements can be calculated in O(N log2 N) operations via an N-point FFT.
4.1.2 EMBEDDING WATERMARK IN HIGH FREQUENCY BANDS OF
DCT
The simplest algorithm to hide a watermark using DCT is to directly embed the DCT
coefficient of the watermark into the high frequency band of the DCT coefficient
matrix of the cover image. The important thing is that, that the size of watermark
should be small as compared to the cover image. For a cover image of size 2nX2n,
the watermark size should at most be nXn. As previously discussed, most of the
components in the DCT coefficient matrix are zero and thus a small sized watermark
is easily embedded in this high frequency band of DCT coefficient as shown in the
figure 4.2.
45
Figure 4.2: Embedding watermark into the high frequency bands of DCT coefficient matrix of
cover image
The DCT of watermark is though flipped during embedding so that its low frequency
components fall to the high frequency side of the DCT matrix of cover image. The
watermark is recovered by taking the DCT of the lower right square of the
watermarked image. This works well if 8 bit image is hidden in a 16 bit image.
4.1.3 WATERMARK EMBEDDING USING COMPARISON OF MID BAND
COEFFICIENT OF DCT
The DCT allows an image to be broken up into different frequency bands, making it
much easier to embed watermarking information into the middle frequency bands of
an image. The middle frequency bands are chosen such that they have minimize they
avoid the most visual important parts of the image (low frequencies) without over-
exposing themselves to removal through compression and noise attacks (high
frequencies).
One such technique utilizes the comparison of middle-band DCT coefficients to
encode a single bit into a DCT block. The middle-band frequencies (FM) of an 8x8
DCT block as shown below in figure 4.1.
Next, two locations Bi (u1, v1) and Bi (u2, v2) are chosen from the FM region for
comparison. Rather then arbitrarily choosing these locations, extra robustness to
compression can be achieved if we base the choice of coefficients on the
recommended JPEG quantization table for a blocksize of 8 X 8 shown below in table
4.1. If two locations are chosen such that they have identical quantization values, we
can be sure that any scaling of one coefficient will scale the other by the same factor
preserving their relative size.
16 11 10 26 24 40 51 61
12 12 14 19 26 58 60 55
46
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
Table 4.1 - Quantization values used in JPEG compression scheme
Based on the table, we can observe that coefficients (4,1) and (3,2) or (1,2) and (3,0)
would make suitable candidates for comparison, as their quantization values are
equal. The DCT block will encode a “1” if Bi(u1,v1) > Bi(u2,v2); otherwise it will
encode a “0”. The coefficients are then swapped if the relative size of each
coefficient does not agree with the bit that is to be encoded.
The swapping of such coefficients should not alter the watermarked image
significantly, as it is generally believed that DCT coefficients of middle frequencies
have similar magnitudes. The robustness of the watermark can be improved by
introducing a watermark “strength” constant k, such that Bi(u1,v1) - Bi(u2,v2) > k.
Coefficients that do not meet this criteria are modified though the use of random
noise as to then satisfy the relation. Increasing k thus reduces the chance of detection
errors at the expense of additional image degradation.
4.1.4 WATERMARK EMBEDDING USING THRESHOLD BASED
CORRELATION FOR DCT BLOCK
Another possible technique is to embed a PN sequence W into the middle
frequencies of the DCT block. We can modulate a given DCT block using the
following equations.
47
. 4.3
For each 8x8 block of the image W(x,y), the DCT for the block is first calculated
IW(x,y)(u,v). In that block, the middle frequency components FM are added to the pn
sequence W(x,y) (u,v), multiplied by a gain factor k. Coefficients in the low and middle
frequencies are copied over to the transformed image unaffected. Each block is then
inverse-transformed to give us our final watermarked image IW.
The watermarking procedure can be made somewhat more adaptive by slightly
altering the embedding process to the following method
. 4.4
This slight modification scales the strength of the watermarking based on the size of
the particular coefficients being used. Larger k’s can thus be used for coefficients of
higher magnitude in effect strengthening the watermark in regions that can afford it;
weakening it in those that cannot.
For detection, the image is broken up into those same 8x8 blocks, and a DCT
performed. The same PN sequence is then compared to the middle frequency values
of the transformed block. If the correlation between the sequences exceeds some
threshold T, a “1” is detected for that block; otherwise a “0” is detected. Again k
denotes the strength of the watermarking, where increasing k increases the
robustness of the watermark at the expense of quality.
For further modification to increase the robustness of the watermark, instead of one,
two highly uncorrelated pn sequences for zero and one respectively are used. The
procedure can be given by the following equation set.
48
. 4.5
For recovering the watermark, the same pn sequences for zero and one are used. For
every 8 X 8 block obtained by taking the DCT of the same block of the watermarked
image, a pn sequence is generated using the mid band coefficients. The correlation of
this pn sequence is calculated with those for zero and one respectively. Whichever
has higher correlation, that bit is assigned to the recovered watermark.
4.2 SINGULAR VALUE DECOMPOSITION
Singular Value Decomposition (SVD) is a mathematical tool used to analyze
matrices. In SVD, a matrix is decomposed into three matrices of same size. Let A be
M X N matrix with M ≥ N. One form of singular value decomposition of A is
A= UDVT. 4.6
Here U and V are orthogonal and D is square diagonal. That is, UUT = Irank(A), VVT=
Irank(A), U is rank(A) X M, V is rank(A) X N and D is a rank(A) X rank(A) diagonal
matrix.
. 4.7
49
These diagonal entries σi' s are called singular values of A and their number is equal
to the rank of A. These singular values satisfy the relation
σ 1 ≥ σ 2 ≥ σ 3......σrank ( A) > 0. 4.8
Each singular value specifies [16, 17] the luminance of an image layer while the
corresponding pair of singular vectors specifies the geometry of the image. For
majority of the attacks, the change in the largest singular value is very small. The
columns of U are called the left singular vectors of A, and the columns of V are
called the right singular vectors of A.
This decomposition is known as the Singular Value Decomposition (SVD) of A, and
can be written as
SVD(A) = [U D V ]. 4.9
SVD (A) = λ1U1V1T + λ 2U2V2
T + ...... + λ U V
A' =UDVT. 4.10
4.2.1 PROPERTIES OF SVD
The properties of SVD [16] are reviewed below which make the technique useful for
watermarking.
1. If AЄRmxn , then there exist orthogonal matrices U = [u1,...,um ] Є Rmxn and V
= [v1,...,vn ] Є Rmxn such that UTAV = diag (σ1 σ2 …..σp)Where, p = min (m, n)
= rank (A), σ1 ≥σ 2 ≥ ...σ p ≥ 0. σ i, i=1,2,…p are the singular values of A. The
singular values are the square roots of the Eigen values λi of AAH or AHA,
that is σi = √λi.
2. The stability of singular value indicates that, when there is a little disturbance
with A, the variation of its singular value is not greater than 2-norm of
disturbance matrix. 2-norm is equal to the largest singular value of the matrix.
50
3. If the singular values of Amxn are σ1, σ 2, ...σ k , the singular values of α *Amxn
are σ1* ,σ 2
* ,...σ k*, then . This is referred
to as scaling property of SVD.
4. If P is a unitary and rotating matrix, the singular values of PA (rotated matrix)
are the same as those of A. This is referred to as rotation invariance property.
5. The translation invariance property states that the original image A and its
rows or columns interchanged image have the same singular values.
6. Transposition Invariance property of SVD states that if AATu = u, then
AATv = v, so that A and AT have same singular values.
These properties of stability, scaling, rotation invariance, translation invariance and
transposition invariance are much desirable in watermarking. When the watermarked
image undergoes rotation, scaling or noise addition, these properties enable the
watermark embedded in the SVD to be retrieved effectively. This makes the
techniques robust against these attacks.
4.2.2 DITHER QUANTIZATION
In an ideal watermarking scheme, one signal (a digital watermark) is embedded
within another signal (host image) signal to form a third signal (watermarked image)
signal. The embedding should be done in such a way that minimizes the distortion
between the host signal and watermarked signal and maximizes the information
embedding rate and robustness of the embedding. All the three requirements are
usually conflicting, and hence embedding process must be designed to efficiently
tradeoff these requirements. In the Dither quantization[16,17] based watermarking
schemes, the embedded information modulates a dither signal and the host signal is
quantized with an associated dithered quantizer. Dither quantization based schemes
have considerable performance advantages over conventional spread spectrum based
schemes [16]. The conventional spread spectrum embedding function combines the
51
host image and the watermark image in a linear way, and hence the watermark image
can be extracted with ease. In contrast, dither quantization based schemes effectively
hide the exact value of the host signal.
The concept of dither quantization[16,17] was introduced to digital watermarking
community by Chen and Wornell. Dither quantizers are set of basic quantizers. Each
quantization cell in the set is constructed from a basic quantizer. The basic quantizer
is shifted to get the reconstruction point. The shift depends on the watermark bit. The
basic quantizer is a uniform scalar quantizer with a fixed step size T.
4.2.3 NON-BLOCK BASED PURE SVD ALGORITHMS
Many of the earlier algorithms, based on SVD, used to embed the watermark signal
directly into the SVD domain. The simplest approach is where the watermark image
is embedded directly in the SVD domain. A single image is used as watermark which
is embedded in the whole image. This method is blind but requires the singular
values or the orthogonal matrices for retrieving the watermark. This algorithm is
resistant to some of the attacks like compression, filtering, cropping etc. but is not
robust against the attacks including rotation and translation.
Another algorithm uses basic M-sequence as the watermark[17]. Considering the
visible quality and robustness criteria, watermark has been embedded in middle
singular values maintaining the original order. This algorithm is blind i.e. does not
require the original image or any other information of original singular values to
detect the watermark. This method can resist some attacks like JPEG compression,
median filtering, rescaling, Gaussian low-pass filtering but is not robust against some
other attacks including rotation, cropping etc.
4.2.4 BLOCK BASED PURE SVD ALGORITHMS
A naïve block based pure SVD algorithm divides the original image into blocks and
then embed the watermark in the singular values of each blocks separately. The
52
watermark can be a pseudorandom number or an image. The method was found to be
robust against attacks like JPEG compression, cropping, Gaussian noise, resizing and
rotation. However this method could not resist translation. If the cover image size is
not fully divisible by the block size, then it requires adjustments before embedding
the watermark. The following part discusses a few of block based SVD algorithms.
4.2.5 EMBEDDING WATERMARK IN ‘D’ MATRIX
The main idea is to find the SVD of the image and modify its singular values to
embed the watermark. The largest coefficients of these block SVD transformations
are so modified according to the message bits such that the image quality is not
degraded.
Two Dither quantizers [16] were used to shift the quantization levels to T/2 with
respect to each other. The largest coefficients of the D matrices of 8X8 blocks are
quantized using either quantizer1 or quantizer 2 depending upon the watermark bit to
be embedded. The number of 8X8 blocks in the host image partition should be equal
to the size of the watermark. The entire range of these largest coefficients is divided
into ‘n’ number of bins with a step size of T as shown in table 4.2. Each of the
coefficients is modified either to or
depending on the value of the watermark bit which is
either 0 or 1 respectively.
Bin Number dlow dhigh
1 dmin-T dmin
2 dmin dmin+T
….. ….. …..
bn-1 dmax-T dmax
bn dmax dmax+T
53
Table 4.2: Quantization table for n bins with step size T
Here, low (n) and high (n) represent the low and high levels of the bin ‘n’ to which
each coefficient belongs. The new quantized value is the center of the quantizer.
After the modification of the singular values, inverse SVD is applied.
For retrieving the embedded watermark the block SVD transformation on the
watermarked image is applied and the largest coefficients of these matrices are
extracted and checked for the bin position in the quantization table. Now if the
coefficient value lies in the range the watermark bit is
suggestively 1 or if it lies in the range the
corresponding watermark bit is 0.
Robustness of the method against attacks and imperceptibility can be improved with
the number of bins and decrease in the step size. Security can be enhanced by using a
secret key for permuting the watermark before embedding and then using the same
key at the retrieving side to permute the watermark obtained to obtain the original
watermark.
A modified approach was proposed in [17] by using edge detector before taking the
block SVD transformation. Canny edge detector was applied on the entire cover
image and then number of edges was calculated for all 8 X 8 non overlapping blocks.
Now using a threshold
4.2.6 EMBEDDING WATERMARK IN ‘U’ MATRIX
A modification is proposed in the algorithm presented in [16] for embedding the
watermark in U matrix of SVD. The image is divided into 8 X 8 blocks and
watermark image is embedded in the columns of each block of U matrix. For each
block of U matrix the first row, first column element and second row, first column
elements are modified based on their difference compared with a threshold.
54
The difference of these two elements is found and modified according to the
following proposed equations.
If watermark bit is 1 and the difference is greater than a threshold or watermark bit is
0 and the difference is less than the threshold,
. 4.11
And, . 4.12
If watermark bit is 1 and the difference is less than threshold or watermark bit is 0
and the difference is less than the threshold,
. 4.13
And, . 4.14
After the coefficients of the U matrix are modified, the inverse SVD is applied to
each block. To recover the embedded watermark, SVD transformation is applied on
each block of the watermarked image. The number of blocks in which the
watermarked image is divided at the retrieving end should be same as that used at the
embedding end. For each block, the first row, first column and the second row, first
column elements are compared. The watermark bit is suggestively 1 if the first row,
first column element is greater and is not the watermark bit is suggestively 0.
To increase the security, the watermark can be permuted before embedding using a
secret key[16]. The same key is used at the other end to recover the original
watermark. To increase the robustness of the algorithm discussed in section 4.2.5, the
edge detector[17] can be first applied to the image blocks to choose the block to
embed the watermark in, according to some threshold value based on number of
edges present in each block..
55
4.3 DISCRETE WAVELET TRANSFORM
Although the Fourier Transform has been the mainstay of transform based image
processing, but the Wavelet Transform makes it even easier to compress, transmit
and analyze many images. Discrete Wavelet Transform (DWT) allows images to be
viewed and processed at multiple resolutions and provides a powerful insight into an
image’s spatial and frequency characteristics. It separates an image into a lower
resolution approximation image (LL) as well as horizontal (HL), vertical (LH) and
diagonal (HH) detail components. The process can then be repeated to computes
multiple “level” wavelet decomposition [12], as in the level 2 wavelet transform
shown below in figure 4.3.
Figure 4.3: Level 2 Discrete Wavelet Transform
The term Discrete Wavelet Transform refers to a class of transformations that differ
not only in the transformation kernels employed, but also the fundamental nature of
those functions and in the way in which they are applied. Since the DWT
encompasses a variety of unique but related transformations, a single equation cannot
completely describe it. Instead each DWT is characterized by a transform kernel pair
or set of parameters that defines the pair. The basis functions of DWT are based on
small waves, called wavelets, of varying frequency and limited duration.
The Fast Wavelet Transform (FWT) is a computationally efficient implementation of
the DWT that exploits the relationship between the coefficients of the DWT at
adjacent scales.
4.3.1 WAVELETS
56
The first recorded mention of what we now call a "wavelet" seems to be in 1909, in a
thesis by Alfred Haar. The attention of researchers gradually turned from frequency-
based analysis to scale-based analysis when it started to become clear that an
approach measuring average fluctuations at different scales might prove less
sensitive to noise.
Any discussion of wavelets begins with Haar wavelet, the first and simplest. Haar
wavelet is discontinuous, and resembles a step function.
Ingrid Daubechies, one of the brightest stars in the world of wavelet research,
invented what are called compactly supported orthonormal wavelets -- thus making
discrete wavelet analysis practicable. The names of the Daubechies family wavelets
are written dbN, where N is the order, and db the "surname" of the wavelet. The db1
wavelet is the same as Haar wavelet.
The third family of wavelets, called biorthogonal wavelets, exhibits the property of
linear phase, which is needed for signal and image reconstruction. By using two
wavelets, one for decomposition and the other for reconstruction instead of the same
single one, interesting properties are derived.
4.3.2 PROPERTIES OF DISCRETE WAVELET TRANSFORM
The DWT kernels possess the following general properties:
1. Separability, scalability and translatability:
The kernels can be represented as three separable 2-D wavelets,
, 4.15
57
where , and are called horizontal, vertical and
diagonal wavelets respectively and one separable 2-D scaling function
. 4.16
Each of these 2-D functions is the product of two 1-D real, square-integrable
scaling and wavelet functions
. 4.17
Translation k determines the position of these 1-D functions along the x-axis,
scale j determines their width along x and 2j/2 controls their height or amplitude.
2. Multiresolution compatibility:
The 1-D scaling function satisfies the following requirements of multiresolution
analysis:
(a) is orthogonal to its integer translates.
(b) The set of functions that can be represented as a series expansion of
at low scales or resolutions is contained within those that can be
represented at higher scales.
(c) The only function that can be represented at every scale is f(x) = 0.
(d) Any function can be represented with arbitrary precision as .
When these conditions are met, there is a companion wavelet , that together
with its integer translates and binary scalings, spans the difference between any
two sets of representable functions at adjacent scales.
3. Orthogonality:
58
The expansion function forms an orthonormal or biorthogonal basis for the set of
1- D measurable, square integrable functions. To be called a basis, there must be
a unique set of expansion coefficients for every representable function.
4.3.2 ADVANTAGES AND DISADVANTAGES OF DWT OVER DCT
Advantages of DWT over DCT [12]
1) Wavelet transform understands the HVS more closely than the DCT.
2) Wavelet coded image is a multi-resolution description of image. Hence an image
can be shown at different levels of resolution and can be sequentially processed from
low resolution to high resolution.
3) Visual artifacts introduced by wavelet coded images are less evident compared to
DCT because wavelet transform doesn't decompose the image into blocks for
processing. At high compression ratios blocking artifacts are noticeable in DCI;
however, in wavelet coded images it is much clearer.
4) DFT and DCI are full frame transform, and hence any change in the transform
coefficients affects the entire image except if DCT is implemented using a block
based approach. However DWT has spatial frequency locality, which means if signal
is embedded it will affect the image locally. Hence a wavelet transform provides
both frequency and spatial description for an image.
Disadvantages of DWT over DCT
1) Computational complexity of DWT is more compared to DCT' . As Feig (1990)
pointed out it only takes 54 multiplications to compute DCT for a block of 8x8,
unlike wavelet calculation depends upon the length of the filter used, which is at least
1 multiplication per coefficient.
4.3.3 EMBEDDING CDMA WATERMARK INTO HORIZONTAL AND
VERTICAL SUB-BAND
59
Figure 4.3: model to embed watermark into the DWT coefficients.
The main idea of embedding CDMA watermark is to embed randomly generated PN
sequence into the horizontal, vertical or diagonal components [21] of the DWT
coefficients as shown in figure 4.3.
The PN sequences are embedded into the horizontal and vertical component
coefficients with certain gain k, when the watermark bit is zero, according to the
following equation:
Hz = Hz + k * PN sequence for horizontal component
Vz = Vz + k * PN sequence for vertical component
where, Hz represents the coefficients of horizontal component and Vz represents the
coefficients of vertical component.
The method used for recovery of the watermark is also very simple. The two PN
sequences for horizontal and vertical component respectively are regenerated and
their correlations with the horizontal and vertical component coefficients are found.
If the average correlation crosses the threshold set at the mean correlation, the
watermark bit is assumed to be 0 else 1.
4.3.4 WATERMARK EMBEDDING USING SECOND LEVEL DWT
DECOMPOSITION
Some of the conventional DWT watermarking techniques as discussed in section
4.3.2, embeds the watermark in the coefficients of first level DWT. The second level
decomposition [36] is performed by either decomposing the approximation sub-band
obtained from the first level decomposition as shown in figure 4.4 (a) or it is
60
performed on the detail sub-band resulting from the first level decomposition as
shown in figure 4.4 (b). Here, L represents the approximation sub-band, HL
represents the horizontal sub-band, LH represents the vertical, and HH represents
diagonal sub-band.
(a) (b)
Figure 4.4: (a) Second level decomposition of approximation sub-band. (b) Second level decomposition of horizontal sub-band.
To embed the watermark in the horizontal sub-band [36] of the second level
decomposition, the horizontal detail information is obtained by decomposing the
image using DWT. These horizontal details are further decomposed using DWT.
Now, as for CDMA technique, a PN sequence is generated and whenever the
watermark bit is 0, the PN sequence is added to these coefficients with some gain, k.
Lastly, Inverse DWT is taken twice to obtain the watermarked image.
To recover the watermark [36] back, the watermarked image is decomposed using
DWT and the obtained horizontal detail is decomposed again. PN sequence is
generated and its correlation with the horizontal detail coefficients is computed. If
the correlation is greater than a threshold the watermark bit is set to 0, else 1.
Horizontal sub-band [36] is chosen because embedding in the approximation sub-
band produces perceptible artifacts in the watermarked image. The technique can be
made secure by using a secret key for embedding and recovery of the watermark.
4.4 HYBRID WATERMARK EMBEDDING TECHNIQUES
61
Many techniques have been proposed using two or more of the transforms. [23] gives
an algorithm which uses DCT and SVD together to watermark the image, such that
the watermark is embedded in all frequencies of DCT. After applying the DCT to the
cover image, we map the DCT coefficients in a zig-zag order into four quadrants as
shown in figure 4.5, and apply the SVD to each quadrant. These four quadrants
represent frequency bands from the lowest to the highest. The singular values in each
quadrant are then modified by the singular values of the DCT-transformed visual
watermark.
Figure 4.5: Mapping of DCT coefficients into the 4 blocks.
The four sets of modified DCT coefficients are mapped back to their respective
positions and inverse DCT is calculated to obtain watermarked image.
For recovery of the four watermarks, the coefficients of the DCT transformed
watermarked image are mapped into the four quadrants and SVD are calculated for
each. The DCT coefficients of the four watermarks are obtained using the the
singular vectors and inverse DCT is obtained.
Another example of hybrid watermarking technique is presented in [22] which uses
Discrete Cosine Transform and Discrete Hartley transform along with edge
detection. The technique divides the image into non-overlapping blocks and then
these blocks are sorted in decreasing order of the number of edges present. The
watermark is embedded block by block in different blocks of the image. The decision
whether to embed in DHT domain or in DCT domain is based on the number of
edges which exist in a given block in the image to be watermarked.
Yet another variation in the combination of techniques used is presented in [27],
which combines the spatial domain LSB technique with the transform domain DCT
and compression technique on raw images to increase the security of the payload.
62
Initially, the LSB algorithm is used to embed the payload bits into the cover image to
derive the stego image which is then transformed from spatial domain to the
frequency domain using DCT. Finally quantization and run length coding algorithms
are used for compressing the stego image to enhance the security.
CHAPTER 5
PERFORMANCE ANALYSIS OF
WATERMARKING TECHNIQUES
Each of the watermarking technique discussed so far has its own pros and cons.
However to judge the performance of these, they should be analyzed on the same
platform. The performance evaluation is based on various performance metrics.
5.1 Measuring Imperceptibility
Imperceptibility of an embedded watermark can be expressed either as fidelity or
quality measure. Fidelity represents a measure of similarity between the original and
watermarked cover.
An important way of evaluating watermarking algorithms for fidelity is to compare
the amount of distortion introduced into a host image by a watermarking algorithm.
The widely used peak signal-to-noise ratio (PSNR) measurement [8,12,40] which
measures the maximum signal to noise ratio found on an image is used as an
objective measure for the distortions introduced by the watermarking system. The
PSNR is given by [8,12]:
5.1
where MSE is mean square error between the original image Iorg and the watermarked
one Iw. The MSE is defined as [8]:
63
5.2
Where, M and N are the image dimensions. When SNR approaches infinity, the
original image and output image are totally the same. SNR provides only a rough
approximation of the quality of the watermark as it does not take into account, the
Human Visual System (HVS). The evaluation relies strictly on the observations
under varied conditions.
5.2 Measuring Robustness
Some of the early literature considered a binary robustness metric that only allows
for two different states (the watermark is either robust or not). However, it makes
sense to use a metric that allows for different levels of robustness. The use of the bit-
correct ratio (BCR) has become common recently, as it allows for a more detailed
scale of values. The bit correct ratio (BCR) is defined as the ratio of correct extracted
bits to the total number of embedded bits and can be expresses using the formula:
5.3
Where, l is the watermark length, Wn corresponds to the nth bit of the embedded
watermark and W'n corresponds to the nth bit of the recovered watermark.
5.3 Measuring Execution Time
Another important tool for evaluating algorithms is measurement of the amount of
time required to embed a watermark into a host image, and then extract it afterwards.
The actual time in CPU cycles will be used as a measure of execution time.
5.4 Measuring Payload
64
Payload or capacity simply refers to the size of watermark that can be embedded in
the cover image. The size is in terms of bits. Payload or capacity is another important
characteristic because it has a direct negative impact on the robustness.
CHAPTER 6
RESULTS AND DISCUSSIONS
Various techniques were discussed in the previous chapters of the thesis for spatial
domain and transform domain watermarking. The first part of the thesis is to
implement these techniques in MATLAB and then in the second part, based on the
results obtained; these algorithms are analyzed for their performance based on the
performance metrics discussed in chapter 5.
6.1 IMAGES USED
The cover image used as cover object is a 512 X 512, 8-bit, .bmp image with 256
gray levels, Lena.bmp as shown in figure 6.1(a). The different images used as
watermark are shown in figure 6.1 (b)-(d). These are the versions of the copyright
image differing in their sizes. The image shown in figure 6.1 (b)-(d) are binary
images of sizes 512 X 512, 20 X 50 and 9 X 12 respectively.
65
(a) (b)
(c) (d)
Figure 6.1: Images (a) cover image (b) copyright large (c) copyright (d) copyright small
The choice of watermark image for each algorithm depends upon the capacity of the
data the technique can hide in a given sized cover object.
6.2 SPATIAL DOMAIN TECHNIQUES
Based on the discussions about different spatial domain techniques in chapter 3,
following algorithms are implemented in MATLAB.
1. Simple LSB substitution.
2. LSB substitution with a random walk.
3. Comparison based correlation.
4.
6.2.1 ALGORITHM 1: SIMPLE LSB SUBSTITUTION
Embedding:
Input: cover image, watermark
66
Output: watermarked image
1. Read watermark.
2. Convert the watermark into binary.
3. Read the cover image.
4. Set the LSB plane of cover image (i,j) to the value of watermark (i,j).
Recovery:
Input: watermarked image
Output: retrieved watermark
1. Read watermarked image.
2. Extract the LSB plane from the watermarked image.
Results for algorithm 1
(a) (b) (c)
(d) (e) (f)
67
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 275
80
85
90
95
100
scaling factor-->
BC
R--
>
(h)
Figure 6.2: (a) Cover image watermarked with simple LSB substitution. (b) Recovered
watermark. (c) Recovered watermark from watermarked image attacked by histogram
equalization. (d) Recovered watermark from watermarked image attacked by median filter
(3X3). (e) Recovered watermark from watermarked image attacked by Gaussian noise. (f)
Recovered watermark from cropped watermarked image. (g) Change in BCR with scaling of
watermarked image.
The watermark is chosen as copyright_large of the same size as image because of
high data handling capacity of the technique. The technique allows embedding the
message at every bit position of the LSB plane. Any change in the visual quality of
the original image is hardly visible. The time elapsed for embedding is 0.6094
seconds with the PSNR of 1.2212e+005 and MSE of 0.4996. The watermark is
recovered correctly in 0.4688 seconds with a BCR of 100 % as shown in figure
6.2(b). The technique fails to pass the test of robustness. The recovered watermarks
from the watermarked image attacked by histogram equalization, rotation, median
filtering, Gaussian noise and cropping are shown in figure 6.2 (c)-(g). The watermark
is totally lost when the watermarked image undergoes histogram equalization or the
LSB plane is set either to 0 or 1. However median filtering resulted in a BCR of
88.0814% but the addition of Gaussian noise removed the watermark completely.
The technique is able to tolerate cropping completely but scaling is tolerable within
limits as shown in figure 6.2 (h). BCR comes out to be 81.004 % for scaling factor of
75% and drops to 78.6057 for scaling factor of 50%.
68
Table 6.1 summarizes the effects of attacks on the image watermarked using
algorithm 1.
Type of attack BCR (%) for retrieved watermark
Histogram equalization 43.6890
Median filtering 88.0814
Gaussian noise 49.8917
Cropping 100
Table 6.1: effects of attacks on image watermarked with algorithm 1
According to the classification in chapter 2, the technique is a pure, blind, invisible
and fragile spatial domain image watermarking technique.
6.2.2 ALGORITHM # 2: LSB SUBSTITUTION WITH A RANDOM WALK
Embedding:
Input: cover image, watermark, key
Output: watermarked image
1. Read the secret key, cover image and the watermark.
2. Reshape the watermark into a message vector.
3. Using the key, generate a sequence of pixel locations to be visited randomly.
4. While visiting each location according to the random sequence, replace the
LSB with the bit in the “message vector”.
Recovery:
Input: watermarked image, key
Output: retrieved watermark
1. Read the watermarked image and key.
2. Using the key, generate a sequence of pixel locations to be visited randomly.
69
3. Extract the LSB of each pixel during visit and reshape it into the size of the
image.
Results for algorithm 2:
(a) (b) (c)
(d) (e) (f)
(h)
Figure 6.3: (a) Cover image watermarked with LSB substitution with a random walk.
(b) Recovered watermark. (c) Recovered watermark from watermarked image attacked by
histogram equalization. (d) Recovered watermark from watermarked image attacked by
70
median filter (3X3). (e) Recovered watermark from watermarked image attacked by Gaussian
noise. (f) Recovered watermark from cropped watermarked image. (g) Change in BCR with
scaling of watermarked image.
Similar to algorithm 1, the watermark is chosen as copyright_large. This technique
also allows embedding the message at every bit position of the LSB plane. Hardly
any change in the visual quality is visible when the watermark is embedded. The
time elapsed for embedding is 0.5938 seconds with the PSNR of 1.2200e+005 and
MSE of 0.5001. The watermark is recovered correctly as shown in figure 6.3(b), in
0.4844 seconds with a BCR of 100 %. The technique is highly affected by the
attacks. The watermark is totally lost when the watermarked image undergoes
median filtering, Gaussian noise addition, histogram equalization or the LSB plane is
set either to 0 or 1. The recovered watermarks after histogram equalization, median
filtering and Gaussian noise are shown in figure 6.3(c)-(e). Unlike algorithm 1, this
technique is unable to tolerate cropping and the watermark is lost as shown in figure
6.3 (f). The effect of scaling on BCR is shown in figure 6.3 (g), where the BCR falls
to around 80% when the watermarked image is shrunk to half or expanded to twice.
The technique is highly intolerant to rotation.
According to the classification in chapter 2, the technique is a shared key, blind,
invisible and fragile spatial domain image watermarking technique.
6.2.3 ALGORITHM # 3: COMPARISON-BASED CORRELATION
Embedding:
Input: cover image, watermark, key
Output: watermarked image
1. Read the secret key, cover image and the watermark.
2. Set the gain factor k and the block size used for each bit of the water mark.
3. Reshape the watermark into a message vector and pad it with ones if required
to the maximum message size.
4. Reset MATLAB PN generator to state "key".
71
5. Find two highly uncorrelated PN sequences for "1" and "0" respectively.
6. Construct the global watermark mask.
For each block (kk) of size blocksize X blocksize
if (message bit = zero)
add PN sequence to that portion of mask
else
mask is filled with zeros.
7. Add watermark mask to cover image using gain factor ‘k’ such that,
Watermarked image=cover image + k* watermark mask.
Recovery:
Input: watermarked image, key, watermark
Output: retrieved watermark
1. Read watermarked image, key and original watermark.
2. Set the block size same as that for embedding.
3. Reset MATLAB PN generator to state “key’.
4. Find two highly uncorrelated PN sequences for “1” and “0” respectively.
5. Generate a message vector of maximum size (=size of image/blocksize2) with
all elements as one.
6. For each message vector bit
a. Find the correlation of each corresponding block with the PN
sequences for 1 and 0.
b. If ((correlation of the block with PN sequence for 1) > (correlation of
the block with PN sequence for 0))
Message vector bit = 1
else
Message vector bit = 0
c. Move to next block
7. Reshape the message vector according to the size of original watermark.
Results for algorithm 3:
72
The capacity of this technique is low as compared to the previous two techniques,
since each block of the image has a single bit embedded into it. Thus if the image
size is (Mo, No) and blocksize is (Mb,Nb) then the maximum message length is
(Mo*No)/(Mb*Nb). Here, the maximum message size is 64 X 64. Figure 6.4(a)
shows the cover image watermarked using algorithm 3. The time elapsed for
embedding the watermark is 0.3750 seconds with the PSNR of 2.6538e+004 at gain,
k = 2. The technique is fairly resistant to histogram equalization and recovers the
watermark with 92.1% correctness in 1.3594 seconds. The retrieved watermark after
histogram equalization is shown in figure 6.4 (c). On adding Gaussian noise or using
median filtering, the technique fails to recover the watermark properly as shown in
figure 6.4 (d) and (e) respectively. The BCR falls to 72.6% and 70.2 in the respective
cases. The technique is intolerant to cropping. The retrieved watermark is shown in
figure 6.4(f) with 73.1481% correctness. The algorithm does not impact the visual
quality if gain factor is kept small as depicted by figure 6.4(g) which shows a plot
between the gain and PSNR. High PSNR is obtained for small values of gain and the
value of BCR at these small gain values is quite low. The time elapsed for recovery
of the watermark is 1.2656 with a BCR of 90.4% at the same gain. Table 6.2 shows
the summary of these results.
Type of attack BCR(%) for retrieved watermark
Histogram equalization 92.1
Median filtering 70.2
Gaussian noise 72.6
Cropping 73.1481
Table 6.2: Effects of attacks on image watermarked with algorithm 3
The technique is a shared key, blind, invisible and fragile spatial domain image
watermarking technique.
73
(a) (b) (c)
(d) (e) (f)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
1
2
3
4
5x 10
5
PS
NR
-->
gain(k)-->0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
75
80
85
90
95
100
BC
R--
>
(g)
Figure 6.4: (a) Cover image watermarked with comparison based correlation technique.
(b) Recovered watermark. (c) Recovered watermark from watermarked image attacked by
histogram equalization. (d) Recovered watermark from watermarked image attacked by
Gaussian noise. (e) Recovered watermark from watermarked image attacked by median filter
(3X3). (f) Recovered watermark from cropped watermarked image. (g) Variation of PSNR and
BCR with gain (k).
6.2.4 ALGORITHM # 4: THRESHOLD BASED CORRELATION
Embedding:
Input: cover image, watermark, key
Output: watermarked image
74
1. Read the secret key, cover image and the watermark.
2. Set the gain factor k and the block size used for each bit of the water mark.
3. Reshape the watermark into a message vector and pad it with zeros to the
maximum size.
4. Filter the cover image using edge enhancement filter.
5. Reset MATLA PN generator to state "key".
6. Generate PN sequence equal to the size of one block.
7. Construct the global watermark mask.
if (message bit = zero)
add PN sequence to that portion of mask.
else
mask is filled with zeros.
8. Add watermark mask to cover image using gain factor ‘k’ such that,
Watermarked image=cover image + k* watermark mask.
Recovery:
Input: watermarked image, key, watermark
Output: retrieved watermark
1. Read watermarked image, key and original watermark.
2. Set the block size same as that used for embedding.
3. Reset MATLAB PN generator to state “key’.
4. Generate a PN sequence of size of one block.
5. Generate a message vector of size of original watermark with all elements as
ones.
6. For each block of image
if (image block = PN sequence)
set correlation=1.
else
find correlation between the image block and the PN
sequence.
75
if (correlation > average correlation)
Set retrieved watermark bit = 0.
else
Set retrieved watermark bit = 1.
7. Reshape the message vector according to the size of original watermark.
Results for algorithm 4:
(a) (b) (c)
(d) (e) (f)
0 5 10 15 20 25 30 35 400
0.5
1
1.5
2x 10
6
PS
NR
-->
gain(k)-->0 5 10 15 20 25 30 35 40
50
60
70
80
90
BC
R--
>
(g)
Figure 6.6: (a) Cover image watermarked with threshold based correlation technique (k=40).
(b) Recovered watermark. (c) Recovered watermark from watermarked image attacked by
76
histogram equalization. (d) Recovered watermark from watermarked image attacked by
Gaussian noise. (e) Recovered watermark from watermarked image attacked by median filter
(3X3). (f) Recovered watermark from cropped watermarked image. (g) Variation of PSNR and
BCR with gain (k).
The capacity of this technique is low as compared to the algorithm 1 and algorithm 2
due to the same reason as for algorithm3. The time elapsed for embedding the
watermark of size 50 X 20 is 0.2969 seconds with the PSNR of 1.0353e+004. The
watermarked image, with gain set at 25 is shown in figure 6.4 (a). The time elapsed
for recovery of the watermark is 0.9688 seconds with a BCR of 84.4%. The effects of
attacks on the watermarked image are clearly visible in figure 6.4 (c)-(f) which show
the retrieved watermarks. Table 6.3 gives the results for test of robustness for gain
25. The algorithm does not impact the visual quality if gain factor is kept small as
depicted by figure 6.4(g) which shows a plot of PSNR and BCR with respect to gain.
High PSNR is obtained for small values of gain. But, at very low values of gain the
BCR is too low to be accepted.
Type of attack BCR for retrieved watermark
Histogram equalization 84.2
Median filtering 76.8
Gaussian noise 63.7
Cropping 74.0741
Table 6.3: Effects of attacks on image watermarked with algorithm 4
6.2.5 ALGORITHM 5: CDMA BASED WATERMARKING
Embedding:
Input: cover image, watermark, key
Output: watermarked image
1. Read the cover image, watermark and key.
2. Set the gain factor k.
3. Reshape the watermark into a message vector.
77
4. Reset MATLAB PN generator to state "key".
5. For each watermark bit
Generate a PN sequence
if (watermark bit = zero)
Add PN sequence with gain k to that portion of mask.
Recovery:
Input: Watermarked image, watermark, key.
Output: Retrieved watermark.
1. Read the watermarked image, watermark and key.
2. Set the MATLAB random generator to state “key”.
3. Generate a message vector of all ones of size same as original watermark.
4. For each bit of message vector
i. Generate PN sequence.
ii. If (watermarked image = PN sequence)
Set correlation=1.
Else
Find the correlation between watermarked
image and PN sequence..
5. Set the threshold as mean correlation.
6. For each message vector bit
if (correlation>threshold)
retrieved watermark bit = 0.
7. Reshape the message vector into image of dimensions same as for original
watermark.
Results for algorithm 5:
78
(a) (b) (c) (d) (e) (f)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
2
4
6x 10
4
gain(k)-->
PS
NR
-->
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 570
80
90
100
BC
R--
>(g)
Figure 6.7: Image watermarked using CDMA technique. (b) Retrieved watermark (c)
Recovered watermark from watermarked image attacked by histogram equalization. (d)
Recovered watermark from watermarked image attacked by Gaussian noise. (e) Recovered
watermark from watermarked image attacked by median filter (3X3). (f) Recovered watermark
from cropped watermarked image. (g) Variation of PSNR and BCR with gain (k).
Figure 6.7(a) shows the watermarked image using the technique of CDMA on the
cover image with small watermark of size 9 X 12.The retrieved watermark is shown
in figure 6.4(b). The time elapsed for embedding and recovery is 5.6406 and 8.9531
seconds respectively. The PSNR at gain = 0.5 is 1.94941e+004 and the BCR during
recovery is 100%.
79
Type of attack BCR for retrieved watermark
Histogram equalization 100
Median filtering 70.3704
Gaussian noise 99.0741
Cropping 45.3704
Table 6.4: Effects of attacks on image watermarked with algorithm 5.
Table 6.4 clearly suggests that the technique is resistant to histogram equalization
and Gaussian noise. But, median filtering and cropping defeat the watermark. The
graph shown in figure 6.4 (g) depicts the variations in PSNR and BCR as a function
of gain. Increasing the gain increases the probability of correct watermark retrieval
but at the expense of imperceptibility.
6.3 TRANSFORM DOMAIN TECHNIQUES
The following algorithms use either Discrete Cosine Transform or Singular Value
Decomposition or Discrete Wavelet Transform to embed the watermark into the
cover image.
6.3.1 ALGORITHM 6 : Hiding watermark in high frequency bands of DCT of
cover image
Embedding:
Input: cover image, watermark.
Output: watermarked image.
1. Read cover image and watermark.
2. Take DCT of cover image as well as watermark.
3. Flip the DCT matrix of the watermark and insert it in the high frequency
region of DCT of cover image.
4. Take IDCT of this DCT matrix.
80
Recovery:
Input: watermarked image, watermark.
Output: retrieved watermark.
1. Read watermarked image and original watermark.
2. Find DCT of the watermarked image.
3. Extract the coefficients from the high frequency region according to the
size of the original watermark.
4. Find Inverse DCT of this coefficient matrix. This is the retrieved
watermark.
Results of algorithm 6:
(a) (b) (c)
(d) (e) (f)
Figure 6.8: (a) -(c) Watermarked images with watermarks of sizes 512 X 512, 206 X 206, 20 X 50
respectively. (d) – (f) Recovered watermarks for images (a) - (c).
Figure 6.8 shows the watermarked images with the corresponding retrieved
watermarks. The technique used is to embed the DCT of watermark into the high
81
frequency region of the DCT matrix of the cover image. The time elapsed to obtain
watermarked images, as shown in figure 6.8 (a) – (c) is 1.5625, 1.1563 and 1.1094
respectively with PSNR of 4.1855, 7.4709 and 274.7236 respectively. As clearly
visible the technique does not yield fruitful results for watermarks comparable in size
with the cover image. The recovery time for the three varied sized watermarks is
3.6094, 2.1563 and 0.4063 respectively with BCR of 40.8043%, 88.8556% and
100% respectively. For watermarks of the size same as the cover image, the
technique is unacceptable as the image is highly corrupted after embedding the
watermark and the recovered watermark too has an unacceptable BCR, as shown in
figure 6.8 (a) and figure 6.8 (d) respectively. Even the watermark of size half the size
of the cover image has very low PSNR, the watermarked image is shown in figure
6.8 (b) and the recovered watermark is shown in figure 6.8 (e). There are only a few
DCT coefficients in which the watermark can be embedded. If we want to increase
the payload of the watermark, then these coefficients may need to be modified
significantly that will affect the quality of the image.
Figure 6.9(a)-(d) shows the watermarks retrieved from the image watermarked in the
mid frequency band, exposed to histogram equalization, Gaussian noise, median
filtering and cropping respectively. The technique is resistant to histogram
equalization and Gaussian noise, as is clear from the figure 6.9 (a) and (b) where the
watermarks are recovered with a BCR of 98.4 and 100% respectively. Median
filtering and cropping tamper the watermark highly, such that it is recovered with a
BCR of 74.8 and 49.4% respectively.
(a) (b) (c) (d)
Figure 6.9: (a) Recovered watermark from watermarked image attacked by histogram
equalization. (b) Recovered watermark from watermarked image attacked by Gaussian noise.
(c) Recovered watermark from watermarked image attacked by median filter (3X3). (d)
Recovered watermark from cropped watermarked image.
11.3.2 ALGORITHM 7: Block DCT based watermarking using comparison
between mid-band frequency component
82
Embedding:
Input: cover image, watermark.
Output: watermarked image.
1. Read the cover image and the watermark.
2. Set the block size and minimum coefficient difference, k.
3. Reshape the watermark into a vector and pad it to maximum size with ones.
4. Divide the entire cover image into blocks of size 8 X 8.
5. For each block,
a. Find DCT.
b. If (watermark bit = 1)
If (DCT(5,2) < DCT(4,3)
Swap DCT(5,2) and DCT(4,3).
Else
if (watermark bit = 0)
If DCT(5,2) ≥ DCT(4,3)
Swap DCT(5,2) and DCT(4,3).
c. Adjust the two values to a minimum difference of k such that,
If DCT(5,2) >DCT(4,3)
If (DCT(5,2) – DCT(4,3) < k)
DCT(5,2)= DCT(5,2) + k/2.
DCT(4,3)= DCT(4,3) – k/2.
Else
If (DCT(4,3) – DCT(5,2) < k)
DCT(4,3)= DCT(4,3) + k/2.
DCT(5,2) = DCT(5,2) – k/2.
6. Convert the watermarked image in DCT domain back to spatial domain.
Recovery
Input: watermarked image, watermark.
83
Output: retrieved watermark.
1. Read the watermarked image and the watermark.
2. Divide the entire watermarked image into blocks of size 8 X 8.
3. For each block,
a. Find DCT of the block.
b. If DCT(5,2) > DCT(4,3)
Set retrieved watermark bit = 0.
Else
Set retrieved watermark bit = 1.
4. Reshape the obtained retrieved watermark into size of the original
watermark.
Results for algorithm 7
(a) (b) (c)
(d) (e) (f)
84
0 5 10 151.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4x 10
4
minimum coefficient difference-->
PS
NR
-->
0 5 10 151.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4x 10
4
PS
NR
-->
0 5 10 1599
99.2
99.4
99.6
99.8
100
100.2
100.4
100.6
100.8
101
BC
R--
>
(g)
Figure 6.10 (a) Watermarked image using comparison of DCT coefficient technique. (b)
Retrieved watermark. (c) Recovered watermark from watermarked image attacked by
histogram equalization. (d) Recovered watermark from watermarked image attacked by
Gaussian noise. (e) Recovered watermark from watermarked image attacked by median filter
(3X3). (f) Recovered watermark from cropped watermarked image. (g) Variation of PSNR and
BCR with minimum coefficient difference.
Figure 6.10 (a) shows the watermarked image with minimum difference of 10. The
time elapsed is 2.2813 seconds and the PSNR is 2.1210e+004. The watermark was
successfully recovered with a BCR of 100 % in 1.2344 seconds. The results for test
for tamper resistance against histogram equalization, Gaussian noise, median
filtering, cropping and scaling are shown in figure 6.10 (c)-(f). The technique is
resistant to histogram equalization and median filtering but, Gaussian noise and
cropping defeat the watermarking. As the minimum difference is increased, PSNR
falls and a checker board effect is visible on the entire image. This is shown in figure
6.10(g) with the help of a graph between minimum difference, k and PSNR. The
recovery of the watermark is independent of any variation in minimum coefficient
difference. The graph between the minimum coefficient difference and BCR shown
in figure 6.10(g) also depicts the same. The BCR is constant throughout at 100%.
85
Table 6.5 summarizes the values obtained for BCR after the watermarked image was
attacked.
Type of attack BCR for retrieved watermark
Histogram equalization 99.0741
Median filtering 98.1481
Gaussian noise 55.5556
Cropping 82.9
Table 6.5: Effects of attacks on image watermarked with algorithm 7.
11.3.3 ALGORITHM 8: Threshold based correlation in DCT mid-band
Embedding:
Input: Cover image, Watermark, Key.
Output: Watermarked image
1. Read the cover image watermark and key.
2. Define block size = 8 and mid band for DCT.
3. Reshape the watermark into a vector and pad it with ones to maximum
size.
4. Set the MATLAB PN generator to state key.
5. Generate PN sequence for Zero of length equal to number of mid band
coefficients.
6. Divide the cover image into blocks of 8 X 8.
7. For each block,
a. Find DCT.
b. If (watermark bit = 0)
Add one bit of the PN sequence for Zero to each mid band
coefficient.
c. Convert the block back to spatial domain.
Recovery:
Input: Watermarked image, Key.
86
Output: Retrieved watermark.
1. Read the cover image watermark and key.
2. Define block size = 8 and mid band for DCT.
3. Determine the maximum watermark length based on size of cover image
and block size.
4. Set the MATLAB PN generator to state key.
5. Generate PN sequence for zero of length equal to number of mid band
coefficients.
6. Divide the cover image into blocks of 8 X 8.
7. For each block,
a. Find DCT.
b. Extract the middle band coefficients.
c. Find correlation between middle band coefficients and the PN
sequence for zero.
d. If correlation > threshold
Set recovered watermark bit = 0.
Else
Set recovered watermark bit = 1.
8. Reshape the recovered watermark according to the size of original
watermark.
Results for algorithm 8:
(a) (b) (c)
(d) (e) (f)
87
0 1 2 3 4 5 6 7 80
2
4x 10
9
PS
NR
-->
gain-->0 1 2 3 4 5 6 7 8
99
100
101
BC
R--
>
(g)
Figure 6.11: (a) Image watermarked using threshold based correlation of DCT mid band
coefficients (k = 10). (b) Retrieved watermark (threshold = 0.55). (c) Recovered watermark from
watermarked image attacked by histogram equalization. (d) Recovered watermark from
watermarked image attacked by Gaussian noise. (e) Recovered watermark from cropped
watermarked image. (f) Recovered watermark from watermarked image attacked by median
filter (3X3). (g) Variation in PSNR and BCR with change in gain.
Figure 6.11 shows the results obtained for the DCT domain technique using the
threshold based correlation between the mid band coefficients and the same sized PN
sequence generated using a secret key. Figure 6.11(a) shows the watermarked image
with gain = 10 and for this image figure 6.11(b) shows the recovered watermark
when threshold is set at 0.55. Histogram equalization of the watermarked image has
no significant effect on the watermark as shown in figure 6.11(c). Figure 6.11(d) and
(e) show the recovered watermarks after Gaussian noise is added to the watermarked
image and the watermarked image is cropped respectively. The watermark is
defeated. Figure 6.11(f) shows the recovered watermark after non-linear median
filtering of the watermarked image. The watermark is retrieved with 94.6%
correctness. Figure 6.11 (g) depicts the drop in PSNR of the watermarked image with
the increase in gain factor k. At gain = 10 the PSNR is observed to be 1.3847e+005
and the embedding of the watermark required 2.3438 seconds. The time elapsed for
recovery of the watermark is 3.5313 seconds and the BCR is 100 % which remains
88
constant independent of the value of gain. BCR first increases with the threshold
level and achieves maximum of 99% at threshold value of 0.55 and thereafter
decreases to 89.5% and becomes constant for threshold values greater than or equal
to 1.
11.3.4 ALGORITHM 9: Comparison based correlation in DCT mid-band using
a PN sequence for ‘1’ and other for ‘0’
Embedding:
Input: Cover image, Watermark, Key.
Output: Watermarked image.
1. Read the cover image watermark and key.
2. Define block size = 8, gain, ‘k’ and mid band for DCT.
3. Determine the maximum message size depending upon the
cover image and block size.
4. Reshape the watermark into a vector and pad it with ones
to maximum size.
5. Set the MATLAB PN generator to state key.
6. Generate two highly uncorrelated PN sequences for one
and zero respectively each of length equal to number of mid band
coefficients.
7. Divide the cover image into blocks of 8 X 8.
8. For each block,
a. Find DCT.
b. If (watermark bit = 0)
Embed PN sequence for zero into the mid band coefficients.
Else
Embed PN sequence for one into the mid band coefficients.
c. Convert the block back to spatial domain.
Recovery:
89
Input: Watermarked image, Watermark, Key.
Output: Retrieved watermark.
1. Read watermarked image, watermark and key.
2. Define block size and mid band for DCT matrix.
3. Calculate the maximum watermark size depending upon the watermarked
image and block size.
4. Set MATLAB PN generator state to key.
5. Generate two highly uncorrelated PN sequences for zero and one
respectively each of sizes equal to number of mid band coefficients.
6. Divide the image into blocks of size = block size X block size.
7. For each block
a. Find DCT.
b. Extract the mid band coefficients.
c. Find the correlation of these mid band coefficients with the PN
sequences for one and zero respectively.
d. If (correlation with PN sequence for one) > (correlation with PN
sequence for zero )
Set the retrieved watermark bit as 1.
Else
Set the retrieved watermark bit as 0.
8. Reshape the retrieved watermark according to the original watermark.
Results for algorithm 9
(a) (b) (c)
90
(d) (e) (f)
0 0.2 0.4 0.6 0.8 1 1.2 1.40
1
2x 10
8P
SN
R--
>
gain-->0 0.2 0.4 0.6 0.8 1 1.2 1.4
99
100
101
BC
R--
>
(g)
Figure 6.12: (a) watermarked image with comparison based correlation of DCT mid band
coefficients (gain =10). (b) Retrieved watermark. (c) Recovered watermark from watermarked
image attacked by histogram equalization. (d) Recovered watermark from watermarked image
attacked by Gaussian noise. (e) Recovered watermark from watermarked image attacked by
median filter (3X3). (f) Recovered watermark from cropped watermarked image. (g) Variation
in PSNR and BCR with change in gain.
The results of using comparison based correlation technique of the DCT mid band
coefficient on the cover image to embed a watermark of size 20 X 50 is shown in
figure 6.12(a) and the corresponding retrieved watermark is shown in figure 6.12(b).
The time elapsed for embedding the watermark is 2.3125 seconds and the PSNR is
4.3508e+003 for the gain factor of 10. The watermark was retrieved in 5.4375
seconds with a BCR of 99.1 %. Effects of histogram equalization, Gaussian noise,
median filtering and cropping are clearly visible in Figures 6.12(c)-(f). It can be
inferred from these results that the technique is resistant to histogram equalization
and median filtering. But, it is defeated by attacks like Gaussian noise and cropping.
Figure 6.12(g) shows the variation in PSNR with increasing gain. It is quite clear that
PSNR falls sharply as the gain increases.
91
Type of attack BCR for retrieved watermark
Histogram equalization 98.6
Median filtering 97.1
Gaussian noise 81.3
Cropping 82.9
Table 6.6: Effects of attacks on image watermarked with algorithm 9.
11.3.5 ALGORITHM 10: Watermarking using U matrix of SVD
Embedding:
Input: cover image, watermark.
Output: watermarked image.
1. Read the cover image and the watermark.
2. Reshape the watermark into vector and pad it with all ones to the
maximum allowable watermark size.
3. Set the value of constant = 0.2 and block size = 8.
4. Divide the cover image into blocks.
5. For each block
a. Find SVD.
b. Obtain the U matrix and find the absolute difference,
Difference = U(1,1) – U(2,1).
c. If (((watermark bit = 1) and (difference > constant)) or((watermark
bit = 0) and (difference < constant))
U(2,1) = -(abs(U(2,1) - (constant- difference)/2).
U(1,1) = -(abs(U(1,1) + (constant- difference)/2)
d. If (((watermark bit = 1) and (difference < constant)) or((watermark
bit = 0) and (difference > constant))
U(2,1) = -(abs(U(2,1) + (constant- difference)/2).
U(1,1) = -(abs(U(1,1) - (constant- difference)/2)
e. Take inverse SVD.
92
Recovery:
Input: watermarked image.
Output: retrieved watermark.
1. Read the watermarked image.
2. Define block size.
3. Divide the watermarked image into blocks.
4. For each block
a. Find its SVD.
b. Obtain the U matrix.
c. If (U(1,1) > U(2,1))
Set retrieved watermark bit = 1.
Else
Set retrieved watermark bit = 0.
Results for algorithm 10:
(a) (b) (c)
(d) (e) (f)
93
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.160
10x 10
4
PS
NR
-->
Threshold difference-->0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
50
100
BC
R--
>
(c)
Figure 6.13: (a) cover image watermarked using U matrix of the SVD of the cover image. (b)
Retrieved watermark. (c) Recovered watermark from watermarked image attacked by
histogram equalization. (d) Recovered watermark from watermarked image attacked by
Gaussian noise. (e) Recovered watermark from watermarked image attacked by median filter
(3X3). (f) Recovered watermark from cropped watermarked image. (g) Variation of PSNR with
change in threshold value.
The technique used is to modify two components of the U matrix based on their
difference compared with a threshold. The size of the watermark is always required
to be same as the number of blocks in which the image is divided, so the watermark
copyright_large is cropped to obtain a suitable watermark. The time elapsed to
embed this watermark into the cover image is 0.7969 seconds with a PSNR of
2.2390e+004. The watermark is recovered as shown in figure 6.13 (b) in 0.5 seconds
with an accuracy of 88.916%. Though transform domain is used for embedding but,
the technique is very fragile and can not tolerate any of the attack studied i.e.
histogram equalization, Gaussian noise, median filtering and cropping. The retrieved
watermarks after the watermarked image is attacked are shown in figure 6.13 (c)-(f)
respectively. With the change in the threshold value used for comparing the
difference with, the PSNR value of the watermarked image changes as shown in
94
figure 6.13 (c). Though the graph shows the maximum peak at threshold of 0.006 but
the recovery at this threshold is with only 71% of correctness.
Type of attack BCR for retrieved watermark
Histogram equalization 71.2408
Median filtering 50.6592
Gaussian noise 55.2734
Cropping 77.7344
Table 6.7: Effects of attacks on image watermarked with algorithm 10.
11.3.6 ALGORITHM 11: Watermarking using D matrix of SVD
Embedding:
Input: cover image, watermark.
Output: watermarked image.
1. Read the cover image and the watermark.
2. Reshape the watermark into vector and pad it with all ones to the
maximum allowable watermark size.
3. Set the value of constant = 0.2 and block size = 8.
4. Divide the cover image into blocks.
5. For each block
i. Find SVD.
ii. Obtain the D matrix.
iii. Find the maximum value of D matrix and store in max_D.
6. Find the minimum and maximum value in max_D.
7. Define n, number of steps with size = (max(max_D)-min(max_D))/n.
8. Determine number of bins.
9. For each value of max_D, determine the corresponding bin such that the
value lies within the minimum and maximum value of the bin.
10. For each bin determine the mid level as the quantizer level.
95
11. for each watermark bit(i)
a. If (watermark bit = 0)
Corresponding value in max_D is modified as
max_D(i) =( low(k)+mid(k))/2, where low(k) and mid(k) are
the minimum and the mid value of the corresponding bin, k.
Else
Corresponding value in max_D is modified as
Max_D(i) = (high(k)+mid(k))/2, where high(k) and mid(k) are
the maximum and the mid value of the corresponding bin, k.
12. For each block of the cover image
a. Find SVD.
b. Obtain D matrix.
c. Replace the maximum value in this D matrix with the modified value
from step 11.
d. Take inverse SVD.
Recovery:
Input: watermarked image.
Output: retrieved watermark.
1. Read watermarked image.
2. Determine the maximum allowable watermark size.
3. Define the block size same as that used for embedding.
4. Divide the watermarked image into bllocks.
5. For each block
a. Find SVD.
b. Obtain the D matrix.
c. Find the maximum value of D matrix and store in max_D.
6. Find the minimum and maximum value in max_D.
7. Define n, number of steps with size = (max(max_D)-min(max_D))/n. the
value of n should be same as that used for embedding.
8. Determine number of bins.
96
9. For each value of max_D, determine the corresponding bin such that the
value lies within the minimum and maximum value of the bin.
10. For each bin determine the mid level as the quantizer level.
11. for each value in max_D
if ((max_D(i) ≥ low(k)) and (D(i) < mid(k)))
Set the retrieved watermark bit, i = 0.
else
Set the retrieved watermark bit, i = 1.
Results for algorithm 11
(a) (b) (c)
(d) (e) (f)
5 10 15 20 25 30 35 40 45 50100
200
300
400
PS
NR
-->
Number of bins-->5 10 15 20 25 30 35 40 45 50
40
60
80
100
BC
R--
>
(g)
Figure 6.14: (a) cover image watermarked using D matrix of the SVD of the cover image. (b)
Retrieved watermark. (c) Recovered watermark from watermarked image attacked by
histogram equalization. (d) Recovered watermark from watermarked image attacked by
97
Gaussian noise. (e) Recovered watermark from watermarked image attacked by median filter
(3X3). (f) Recovered watermark from cropped watermarked image. (g) Variation of PSNR and
BCR with change number of bins.
Figure 6.14 shows the results and analysis graphs for algorithm 11 which uses D
matrix of SVD to embed the watermark. Figure 6.14(a) shows the watermarked
image from which the retrieved watermark is shown in (b). The PSNR of the
watermarked image is 1.1336e+004 and the BCR of the retrieved watermark is
87.3779. The computational cost is quite low. It takes 1.2188 seconds for embedding
and 0.5938 seconds for recovery of the watermark. As for algorithm 10, which is
SVD based, this algorithm too is fragile and can be damaged due to histogram
equalization, Gaussian noise, median filtering and cropping. The recovered
watermarks after the attacks are shown in figure 6.14(c)-(f) and their accuracy is
shown as BCR in the table 6.8. The technique is thus suitable for tamper detection
applications. The above results are obtained for 30 bins. The graph in figure 6.14(h)
shows that higher PSNR can be obtained at reduced number of bins. However if the
number of bins is reduced to 12 the watermark becomes quite visible.
Type of attack BCR for retrieved watermark
Histogram equalization 53.7109
Median filtering 82.3486
Gaussian noise 48.2666
Cropping 57.0313
Table 6.8: Effects of attacks on image watermarked with algorithm 10.
ALGORITHM 12: Watermarking using CDMA using Single level DWT
Embedding:
Input: cover image, watermark and key.
Output: Watermarked image.
1. Read the cover image, watermark and key.
2. Convert the watermark into a vector.
98
3. Reset MATLAB PN generator to state key.
4. Find the first level DWT of the cover image using haar wavelet.
5. For each bit of watermark vector,
a. Generate two PN sequences for horizontal and vertical
components.
b. If watermark bit = 0
Add the PN sequences to the respective components.
6. Take the inverse DWT.
Recovery
Input: watermarked image, watermark, key.
Output: retrieved watermark.
1. Read the watermarked image, watermark and the key.
2. Reset the MATLAB PN generator to state key.
3. Initialize retrieved watermark to ones for size given by watermark.
4. For each bit
a. Generate two PN sequences for horizontal and vertical component
each.
b. Find the correlation using,
correlation_h=corr2 (cH1,pn_sequence_h).
correlation_v=corr2 (cV1,pn_sequence_v).
correlation=(correlation_h+correlation_v)/2.
c. If correlation > threshold
Set retrieved watermark bit = 0.
5. Reshape the retrieved watermark according to the size of the watermark.
Results for algorithm 12
99
(a) (b) (c)
(d) (e) (f)
Figure 6.15: (a) watermarked image. (b) Retrieved watermark. (c) Recovered watermark from
watermarked image attacked by histogram equalization. (d) Recovered watermark from
watermarked image attacked by Gaussian noise. (e) Recovered watermark from watermarked
image attacked by median filter (3X3). (f) Recovered watermark from cropped watermarked
image.
Figure 6.15 shows the results for using level 1 DWT decomposition for watermark
embedding. Figure 6.15(a) shows the watermarked image with PSNR of 575.6946.
The PSNR value is quite low. The texture of image becomes rough after embedding
the watermark. The computational cost for embedding is 25.3438 seconds which is
quite high a value. The retrieved watermark is shown in figure 6.15(b). The
watermark is retrieved in 40.1563 seconds with a BCR of 99.9%. Histogram
equalization of the watermarked image does not affect the watermark at all and the
watermark is still retrieved with 99.9% BCR as shown in figure 6.15(c). The drop in
BCR of the retrieved watermark due to Gaussian noise is negligible. Figure 6.15(d)
shows the retrieved watermark, after Gaussian noise is added to the watermarked
image. The other two intentional attacks i.e. median filtering and cropping totally
destroy the watermark with a respective BCR of 60.2 and 49.2%. The watermarks
obtained after the watermarked image is attacked are shown in figure 6.15(e) and (f).
ALGORITHM 13: WATERMARK EMBEDDING USING SECOND LEVEL
DWT DECOMPOSITION
100
Embedding
Input: cover image, watermark, key.
Output: watermarked image.
1. Read the cover image, watermark and key.
2. Decompose the cover image using DWT to obtain level 1 horizontal sub
band.
3. Decompose this horizontal sub band using DWT to obtain level 2
horizontal sub band.
4. Reset MATLAB PN generator to state key.
5. For each bit of watermark,
a. Generate a PN sequence of size same as horizontal sub band.
b. If watermark bit = 0,
Add the PN sequence to horizontal sub band.
6. Take inverse DWT twice to obtain the watermarked image.
Recovery
Input: watermarked image, watermark, key.
Output: retrieved watermark.
1. Read the watermarked image and the key.
2. Decompose the watermarked image using DWT to obtain level 1
horizontal sub band.
3. Decompose this horizontal sub band using DWT to obtain level 2
horizontal sub band.
4. Reset MATLAB PN generator to state key.
5. Generate a retrieved watermark of all ones of size same as original
watermark.
6. For each bit of retrieved watermark,
a. Generate a PN sequence of size same as horizontal sub band.
101
b. Find correlation between the generated PN sequence and
horizontal sub-band.
c. If correlation > threshold
Set retrieved watermarked bit = 1.
7. Reshape retrieved watermarks according to the original watermark.
Results for Algorithm 13:
(a) (b) (c)
(d) (e) (f)
Figure 6.17: (a) Watermarked image. (b) Retrieved watermark. (c) Recovered watermark from
watermarked image attacked by histogram equalization. (d) Recovered watermark from
watermarked image attacked by Gaussian noise. (e) Recovered watermark from watermarked
image attacked by median filter (3X3). (f) Recovered watermark from cropped watermarked
image.
Figure 6.17(a) shows the image watermarked with level 2 DWT decomposition. The
computational cost for the embedding is 3.6875 seconds with a PSNR of
1.7791e+004, when ‘bior1.1’ wavelet is used. The watermark is recovered as shown
in figure 6.17(b) in 6.1094 seconds with a BCR of 99.9%. Similar to algorithm 12,
this technique is also resistant to histogram equalization and Gaussian noise. The
retrieved watermark after equalizing the histogram of the watermarked image and
adding the Gaussian noise to it are shown in figure 6.17(c) and (d) with 99.9% and
97.9% accuracy respectively. Unlike algorithm 12, this technique is resistant to
median filtering. The recovered watermark after median filtering is shown in figure
102
6.17(e). It has a BCR of 98.4%. However, cropping defeats the watermarking. This is
clear with the recovered watermark after watermarked image is cropped, as shown in
figure 6.17(f).
CHAPTER 7
CONCLUSION
This study has introduced a number of techniques for the watermarking of digital
images, as well as touching on the limitations and possibilities of each. Several
conclusions are drawn on the basis of results and their analysis about digital
watermarking.
LSB substitution is not a very good candidate for digital watermarking due to its lack
of even a minimal level of robustness. LSB embedded watermarks can easily be
103
removed using techniques that do not visually degrade the image to the point of
being noticeable. Furthermore if one of the more trivial embedding algorithms is
used, the encoded message can be easily recovered and even altered by a 3rd party. It
would appear that LSB will remain in the domain of steganography due to its
tremendous information capacity.
Another observation is that transform domains are typically better candidates for
watermarking then spatial, for both reasons of robustness as well as visual impact.
Embedding in the DCT domain proved to be highly resistant to JPEG compression as
well as significant amounts of random noise. By anticipating which coefficients
would be modified by the subsequent transform and quantization, we were able to
produce a watermarking technique with moderate robustness, good capacity, and low
visual impact. This holds true in general for watermarking; robustness can be
improved significantly when the subsequent degradation techniques are known. This
holds particularly true in the case of compression techniques, were the compression
algorithms are well known.
The wavelet domain as well proved to be highly resistant to both compression and
noise, with minimal amounts of visual degradation. More sophisticated wavelet-
domain techniques will almost certainly improve on both of these, and hopefully
lower it’s computational requirements. The wavelet domain may be one of the most
promising domains for digital watermarking yet found.
A final note is that of geometric transforms. Geometric transforms are one of the
most difficult for a watermarking technique to deal with. Embedding domains may
be chosen that display both shifting or rotational invariance such as Cartesian or
Polar DCT, however these domains are typically are resistant to only a specific
geometric distortion and not the complete set. Furthermore, this greatly reduces our
flexibility, as promising domains such as the DWT may no longer be considered.
Although not discussed here, the counters proposed to these attacks typically rely on
discovering the exact rotation, or shifting used in the attack, and then transforming
the image back into its pre-attack state. Typically these techniques are
104
computationally pricey, and unpredictable. This remains one of the major problems
in the development of robust digital watermarking for digital images.
REFERENCES
[1] Bleumer Gerrit, “Watermarking”. 2004.
[2] Wolfgangand Raymond B., Delp Edward J., “Overview of Image Security
Techniques with Applications in Multimedia Systems”. Prudune University.
[3] Dickman Shawn D., “An overview of Steganography”. James Madison
University Infosec Techreport, July 2007.
[4] Genov P. Eugene, “Digital Watermarking of Bitmap Images”. International
Conference on Computer Systems and Technologies- CompSysTech ’07, 2007.
[5] Bahar H. B., Aboutalebi Ali, “Image Steganography, a new approach for
Transfering Security Information”. Tabriz University, July 2008.
[6] Singh Neha, Nandi Arnab, “Digital Watermarking: Mark this Technology!”.
[7] Chandramouli R., Memon Nasir, Rabbani Majid, “Digital Watermarking”.
[8] Provos Niels, Honeyman Peter, “Hide and Seek: An Introduction to
Steganography”, IEEE Computer Society, IEEE Security and Privacy Journal, 2003.
[9] Petitcolas Fabien A., Anderson Ross J., Kuhn Markus G., “Information Hiding-
A Survey”, Proceedings of IEEE, Special issue on protection of multimedia content,
pp 1062-1078, July 1999.
105
[10] Sallee Phil, “ Model basedSteganography”.
[11] Curran Kevin, Li Xuelong, Clarke Roisin, “An investigation into the use of the
Least Significant Bit Substitution Techniques in Digital Watermarking”. American
Journal of Applied Science, 2 (3), pp 648-685, 2005.
[12] Lin Eugene T., Delp Edward J.,“A Review of Data Hiding in Digital Images”,
Prudune University.
[13] Kharrazi Mehdi, Sencar Husrev T., Memon Nasir, “Image Steganography:
Concepts and Practice”, WSPC/Lecture Notes Series, April 22, 2004.
[14] Chandramouli R., Memon Nasir, “Analysis of LSB based Image Steganography
Techniques”. IEEE , pp 1019-1022, 2001.
[15] Motameni H., Norouzi M., Jahandar M., Hatami A., “Labeling Method in
Steganography”. Proceedings of World Academy of Science, Engineering and
Technology, Volume 24, October 2007.
[16] Miller Matt L., Cox Ingemar J., Linnartz Jean-Paul M. G., Kalker Ton, “A
Review of Watermarking Principles and Practices”. Chapter 18, Digital Signal
Processing in Multimedia Systems, Ed. K. K. Parhi and T. Nishitani, Marcell Dekker
Inc., 461-485, (1999).
[17] Dijk Marten van, Willems Frans, “Embedding Information in Gray scale
Images”, Philips Research Laboratories, Eindhoven.
[18] Rey Christian, Dugelay Jean-Luc, “A Survey of Watermarking Algorithms for
Image Authentication”. EURASIP Journal on Applied Signal Processing, Volume 6,
pp 613-621, 2002.
106
[19] Yang Chen-Kuei, Huang Chang Sheng, “A Novel Watermarking Technique for
Tampering Detection in Digital Images”. Electronics letters on Computer Vision and
Image Analysis, Volume 3, pp 1-12, 2004.
[20] Mohanty Saraju P., Ramakrishnan K. R., Kankanhalli Mohan S., “A DCT
Domain Visible Watermarking Technique for Images”.
[21] Liu Lin, ”A Survey of Digital Watermarking Techniques”.
[22] Wang Chun-Ching, Hsu Yu-Chang,”Fragile Watermarking Algorithm for DCT
Domain Image Authentication and Recompression”, 24th Workshop on
Combinatorial Mathematics and Computational Theory, pp 158-161.
[23] Mohan B. Chandra, Kumar S. Srinivas, “A Robust Image Watermarking
Scheme Using Singular Value Decomposition”. Journal of Multimedia, Volume 3,
No. 1, May 2008.
[24] Mohan B. Chandra, Kumar S. Srinivas, Chhatterji B. N., “A Robust Digital
Image Watermarking Scheme Using Singular Value Decomposition (SVD), Dither
Quantization and Edge Detection”. ICGST-GVIP Journal, Volume 8, issue 1, June
2008.
[25] Pei Soo-Cheng, Liu Hsin-Hua, “Improved SVD based Watermarking for
Digital Images”, Sixth Indian Conference on Computer Vision, Graphics and Image
Processing, IEEE Computer Society, 2008.
[26] Haque S. M. Rafizul, “Singular Value Decomposition and Discrete Cosine
Transform based image watermarking”. Master’s Thesis no. MCS-2008:8, Blekinge
Institute of Technology, Ronneby, Sweden.
[27] Sverdlov Alexander, Dexter Scott, Eskicioglu Ahmet M., “Secure DCT-SVD
Domain Image Watermarking: Embeddig Data in All Frequencies”.
107
[28] Tay P., Havlicek J.P., “Image Watermarking Using Wavelets”, IEEE, pp 258-
261, 2002.
[29] Vallabha VH,”Multiresolution Watermark Based on Wavelet Transform of
Digital Images”, Multiresolution watermarking of Digital Images, Cranes Software
International Limited.
[30] Bedi S.S., Tomar G.S., Verma Shekhar,” Robust Watermarking of Image in the
Transform Domain using Edge Detection”, 11th International Conference on
Computer Modelling and Simulation, UKSim2009. IEEE Computer Society, pp 233-
238, , 2009.
[31] Gilani S. Asif Mahmood, Skodras A. N., “DLT based Digital Image
Watermarking”.
[32] Drira Fadoua, Denis Florence, Baskurt Atilla, “ Image Watermarking Technique
Based on The Steerable Pyramid Transform”.
[33] Raja K.B., Chowdary C.R., Venugopal K.R., Patnaik L.M., “A Secure Image
Steganography Using LSB, DCT and Compression Techniques on Raw Images ”,
IEEE, pp 171-176, , 2005.
[34] Hajjara Suhad, Abdallah Moussa, Hudaib Amjad, “ Digital Image
Watermarking Using Localized Biorthogonal Wavelets”, European Jounal of
Scientific Research, Vol.26 No. 4, pp 594-608, , 2009.
[35] Sharkas Maha, ElShafieDahlia, Hamdy Nadder, “A Dual-Digital Watermarking
Technique” , Proceedings of World Academy of Science, Engineering and
Technology, Volume 5, pp 136-139, April 2005.
[36] Kutter M., Petitcolas F.A.P., “Fair Evaluation Methods for Image Watermarking
Systems”.
108
[37] Areef Taha El, Heniedy Hamdy S., Ouda Osama M., “Performance Evaluation
of Image Watermarking Techniques”.
[24] [37] Dunbar Bret, “A detailed look at Steganographic Techniques and their use
in an Open-Systems Environment” Information Securitu Reading Room, SANS
Institute, 2002.
[38] Potdar Vidyasagar M., Han Song, Chang Elizabeth, ” A Survey of Digital Image
Watermarking Techniques”. 3rd IEEE International Conference on Industrial
Informatics (INDIN), 2005.
[39] Johnson Neil F. and Jajodia Sushil, “ Exploring Steganography: Seeing the
Unseen”. IEEE 1996.
[40]
[41] Judge James C., “Steganography:Past, Present, Future”, SANS Institute InfoSec
Reading Room.
[42]
[43]Fridrich Jessica and Kalker Ton, Digital Watermarking and Steganography.
Second edition, Morgan Kuffman Publication.
109