02-02-2013, 10:41 AM
Digital Watermarking Using MATLAB
1Digital Watermarking.pdf (Size: 1.49 MB / Downloads: 192)
Introduction
Embedding a hidden stream of bits in a file is called Digital Watermarking. The file could be
an image, audio, video or text. Nowadays, digital watermarking has many applications such
as broadcast monitoring, owner identification, proof of ownership, transaction tracking,
content authentication, copy control, device control, and file reconstruction (Cox et. al., 2008).
In literature, the host file is called the “asset”, and the bit stream is called the “message”. The
main specifications of a watermarking system are: Robustness (Against intentional attacks
or unintentional ones such as compression), Imperceptibility, and Capacity. Importance of
each depends on the application. As a matter of fact there is a trade-off between these factors
(Barni & Bartolini, 2004). Although watermarking in some literature includes visible
imprints, here we only mean the invisible embedding of the data.
In this chapter, we will introduce how to use MATLAB to implement image watermarking
algorithms. These algorithms include the most famous ones which are widely used in
current literature or more complicated approaches are based upon. These are commonly
divided into three categories (Barni & Bartolini, 2004)
1. Watermarking in Spatial Domain
2. Watermarking in Spectral Domain
3. Watermarking in Hybrid Domain
In section 2 we will go through some basic image processing commands in MATLAB.
Section 3 provides information about different fundamental watermarking methods.
Evaluating the algorithms is discussed in Section 4, and finally section 5 brings a conclusion.
Watermarking in spatial domain
The message can be any coded or straight arrange of bits. Furthermore, the message can be
another image. Consider the asset and the message as shown in Fig. 1.
Fig. 2 shows different bit-planes of the asset with a depth of 8 bits. Bit-plane is the plane that
one specific bit of every pixel create.
Watermarking in spectral domain
There are several transforms that brings an image into frequency domain. Among most
common of those, we can mention are: Discrete Cosines Transform (DCT) and Fast Fourier
Transform (FFT).
In frequency domain, coefficients are slightly modified. This will make some unnoticeable
changes in the whole image and makes it more robust to attack compared to what we have
in spatial methods. One of the most popular approaches in this category is the one proposed
by Cox et al which is cited by 4166 articles so far according to Google Scholar1. In this
method, discrete cosines transform (DCT) is applied on the asset image as shown in Fig. 7.
Watermarking in hybrid domain
Watermarking in hybrid domain means modifying the image regarding both spatial and
spectral specifications. One popular algorithm in this domain is performing the previous
method in small blocks of the image. This could happen in 8×8 blocks which ideally match
JPEG compression to provide least distort to the message facing with JPEG compression
attack (Barni & Bartolini, 2004). Fig. 11 illustrates this method. Pixels in blue represent
intensity of middle frequencies in the image and are most suitable for carrying message
data. The code has not been brought here because it is simply performing spread spectrum
algorithm in separate smaller blocks.
Conclusion
In this chapter, implementation of basic digital watermarking methods in MATLAB is
described. Fundamental methods in spatial, spectral, and hybrid domains are described and
sample codes are given. Finally, some solutions for qualifying the watermarking method are
described.