Sei sulla pagina 1di 6

2016 Conference on Advances in Signal Processing (CASP)

Cummins College of Engineering for Women, Pune. Jun 9-11, 2016

Design of a Spatial domain Watermarking


technique with VLSI Implementation

MANISHA PENDYALA ANIKET GOKHALE


PG Scholar, Dept of Electronics Engg, Dept of Electronics Engg,
Yeshwantrao Chavan College of Engineering, Yeshwantrao Chavan College of Engineering,
Nagpur, India Nagpur, India
manisha11may@gmail.com gokhale.aniket@gmail.com

Abstract — This paper utilizes a spatial domain Watermarking implies for the modification of the pixel values in an image and
algorithm applicable on grayscale images. Spatial domain retains the quality of the image. The Frequency and Multi-
technique is utilized taking advantage of it low computational resolution domain are transformation domains having more
complexity. The initial stage of approach is accomplished by computational complexity but provides a much stronger
building the algorithm on MATLAB R2014a© platform and then
shifting the base to ISE Design Suite 14.7© platform. The VLSI
medium for embedding Watermarks. In Frequency domain,
implementation of the spatial domain Watermarking algorithm is frequency or cosine constituents of the image are taken into
targeted on device xc5vlx50t-1ff1136 of Virtex-5 family. The consideration [8] whereas in Multi-resolution domain, Wavelet
robustness of the Watermarking algorithm is verified by attacking transformation of the image as per JPEG2000 standards is
the Watermarked image with various types of noise, compression, carried out [9]. This domain is widely used one in
transformation and geometrical attacks. The application of Watermarking as it sustains various types of attacks and
Multiple Watermarking technique also renders the effectiveness maintains the quality of the image.
and robustness of the watermarking algorithm.
Also, there are various techniques based upon the human
Keywords — Spatial domain, Threshold, Multiple Watermarking
perception system namely Visible & Invisible Watermarking
[10]. In Visible watermarking, the human eye is able to
I. INTRODUCTION distinguish the fact that some additional information has been
added to the original pixel values of the image. The Invisible
In this era of multimedia and mass communication, the watermarking accounts for Robust, Fragile or both Robust &
easy availability of multimedia contents within a blink of eye Fragile Techniques which are categorized depending upon
without copyright ownership, authentication, ownership resistance to attacks. Robust Watermarking can survive
verification has raised several issues of breaching norms of different types of Watermarking attacks and can maintain the
digital world, forgery and piracy [1]. Digital Watermarking and important information under various circumstances. It is mainly
Steganography are the promising useful solutions in the present useful for copyright protection. Fragile Watermarking process,
world of multimedia [2]. Digital watermarking is the means by on the other hand, have the watermarks that are vulnerable to
which the authenticated user of any data can maintain the Watermarking attacks and which when tampered can result in
integrity and the security of the information contained in the the loss of important data that it contained. It can be useful for
data whereas Steganography is the process of data hiding in a authentication and content verification purpose. There are also
set of media file which appears to be unimportant and the user some Watermarking methods which are Robust to some
can easily transmit the media file containing the information Watermarking attack and some specific image processing
hiding it from the attentive eyes [3,4,5]. It is a process of operations while being fragile to other attacks. Such type of
embedding the secret or special information which a user wants methods are referred to as Semi-Fragile Watermarking
to hide called as Watermark. The means of media elements like techniques by some authors [11].
image, audio, video by which a user succeeds in hiding the
information and can protect the contents or information from
forgery will serve as Host to the Watermark. Watermarking II. WATERMARKING ALGORITHM
technique finds a place in Consumer Electronics, Medical
Imaging, Data handling, Finger printing [1,6] etc. In this paper, we have used a Spatial domain Watermarking
technique by the name Save Algorithm proposed by
There are several watermarking techniques available H.H.Larijani, G.R.Rad [7] which is modified to include a fixed
depending upon the modes of embedding domain namely threshold instead of optional threshold to improve the
Spatial domain, Frequency and Multi-resolution domain [7]. computational time. The fixed threshold has been included
The Spatial domain has less computational complexity and instead of an optional value based on the fact that the human

978-1-5090-0849-0/16/$31.00 ©2016 IEEE 498


perception system can distinguish 32 gray intensity levels out (fig-1.C) whereas in case of ISE Design Suite 14.7© since
of the 256 intensity levels. This explains why a human eye can predefined memory is utilized, so the location map is a
distinguish between intensity values of 34 and 43 but cannot continuous vector (fig-1.D).
distinguish between the intensity values of 34 and 36 and they As seen from the above example first two members represent
will appear to have same gray shade. Taking into consideration size while the other member represents the location values. In
this fact of human perception system, the threshold range has case of unavailability of watermark pixel value in the Host
been decided. image, the neighbourhood of the searched pixel value within the
given threshold is searched. The pixel value 136 is not available
A) Overview of Algorithm in the Host image and so, it’s neighbouring pixel value is
searched within the threshold range. If Threshold = 1 then
The proposed Watermarking algorithm saves some of the location (1, 4) is stored.
locations of the host image depending upon the similarity of
B) Embedding Process Algorithm
pixel values in Host and Watermark images as a secret key in
the embedding process and then uses this secret key for the The two input images are taken where the Host image will
retrieval of the watermark image in the extraction process. The act as a carrier to the Watermark image pixel values. The size of
secret key is required for authentication of the watermark Watermark image is first stored in the contents of Secret key
image. vector. Then the actual comparison of pixel values is carried on
starting with the first Watermark pixel. If any match is found or
The algorithm makes a comparison between the Host and if there is a presence of any neighbouring pixel within the given
Watermark Image pixel values. Each watermark pixel value is Threshold in the host image then that location of the pixel in
compared with the pixel values of the Host Image for the Host Image is stored in the Secret Key contents. This procedure
is repeated for all the watermark pixels until all the pixels have
similarity or atleast the condition of neighbourhood pixel of the
been searched for a match.
Watermark image pixel in the Host image should be satisfied.
The first two members of the Secret Key contains the
information about the size of the Watermark image (m*n). The Algorithm(Embedding Process)
other members will preserve the information related to the Input: ‘A’ is WATERMARK image & ‘B’ is HOST image
location of the Host pixel value where the condition is satisfied. Output: ‘Secret_Key’
The location map is in terms of X and Y co-ordinates giving us Size of A = m*n and B = p*q
2 + 2(m*n) values in the Secret key including the Watermark
Begin
image size information as in case of MATLAB R2014a© (i,j) & (k,l)
a = A(i,j) : Gray scaled pixel value at position(i,j)
b = B(k,l) : Gray scaled pixel value at position(k,l)

247 243 255 137 8 if ( a & b are equal ) or (difference < Threshold)
Store (k,l) location in a vector called Secret_Key
240 235 255 138 6 Select next pixel value (i,j)
Repeat till all watermark image pixels are compared
233 226 255 137 4 End
247 255 6
Save Secret_key for comparison and Extraction
226 219 252 134 2 Save ‘B’ as WATERMARKED image
136 250 133

225 218 250 133 2


B Fig-2 Embedding process Algorithm
A
C) Extraction Process Algorithm
2 3 1 1 1 3 2 5 1 4 5 3 4 4
The host Image taken, now acts as a Watermarked image.
The first two members of the Secret Key decides the size of the
C matrix of watermark image to be extracted. For every member
excluding the first two members, a match corresponding to the
location saved in the Secret Key is searched. If a match is found,
1 3 10 4 23 19 the pixel value present at that location will be saved at the
consecutive places in the created matrix having the size declared
D in the Secret Key vector. All the locations stored in Secret key
are searched and the corresponding pixel values at that location
Fig-1 A) Host image of size 5 x 5 B) Watermark image of size 2 x 2
will fill the generated matrix. Finally, the created matrix will be
C) Secret Key in X & Y co-ordinates D) Secret Key as a Vector used for the extraction of Watermark image.

499
Algorithm (Extracting Process) B) Data flow for Extraction process
Input: ‘A’ is HOST image & ‘Secret_key’ is a vector Two RAMs of sizes corresponding to Host image and Secret
Output: ‘W’ is the Retrieved Watermark Image Key sizes are declared. The comparator is used to check for the
Create Size of W = m*n matrix location stored in the Secret Key with the corresponding location
in the Host image RAM. The pixel value of the matched location
Initializing counter to search for pixel location in HOST image in the Host image will be stored at the matched location of the
Secret Key in the Output RAM which is the required Watermark
While counter <= m*n Image pixels.
(i,j)
Search for a match such that-
Secret key data represents location of pixel values

W(i,j) = A(Secret_key(counter),Secret_key(counter+1))

Incrementing counter
End
Reconstructing the WATERMARK IMAGE from W(i,j) values.

Fig-3 Extraction process Algorithm

III. VLSI DESIGN FLOW


The subsequent sections in this part shows the data flow and
control flow of the Embedding and Extracting process acting as Fig-5 Data path of Extraction process
the Encoder and Decoder of the proposed Watermarking
Algorithm. The storing of pixel values in the RAMs requires the
conversion of the pixel values from the image format of uint8 to
the hex text file. This text file is then initialized in the RAMs
A) Data flow for Embedding process declared corresponding to the Host and the Watermark images.
Two RAMs of sizes corresponding to Watermark image and
Host image sizes are declared. The comparator is used for the
C) Control flow for Embedding & Extraction process
comparison purpose. If pixel values are equal while searching,
then the Host Image location corresponding to the pixel value is The controller is required to drive data path of Embedding
stored. If equality is not satisfied, then the threshold criteria of and Extraction process. The same controller is built in Encoder
the searched pixel and the Host pixels are checked for the & Decoder blocks of the Watermarking Algorithm. The
comparison. The matched pixel locations in Host image are controller has three stages: S0, S1 & S2.
stored in the Secret Key one at a time.
S0 is the initialization stage of both Encoder & Decoder
blocks. In Encoder stage, it initiates Embedding process whereas
in Decoder stage, it initiates Extraction process when the Start
signal is high otherwise it waits for the Start signal to get high.
S1 is the Comparison stage in both Encoder & Decoder blocks
for comparison of pixel values in Encoder & comparison of
memory locations in Decoder. The storing of values is done at
the onset of match signal in both the blocks. S2 is the
initialization stage of Host image pixels for comparison with
new Watermark pixels in the Encoder block whereas for the
comparison with the incremented values of Secret key with the
Host memory locations, S2 stage acts as the initialization stage
of Host image memory locations and acts as the incrementation
stage for Secret Key contents.
The process is continued till the maximum size of the
watermark is reached. The process stops as soon as the last pixel
value of the Watermark image is compared and the match is
found in the Encoder stage whereas it stops in the Decoder stage
when last value of the secret key content is compared and the
match is stored.
Fig-4 Data path of Embedding process

500
Simulation Results Embedding & Extraction time

MATLAB Results ISE Design MATLAB ISE Design


Suite Results Results Suite Results

Threshold = 2
2.327s 233.10μs
0.348s 230.34μs

(64×64) (64×64)

Threshold = 4
Fig-6 Controller for Embedding & Extraction process 6.746s 581.766μs
0.702s 581.766μs

For the hardware implementation, the memory mapping is to (64×64) (64×64)


be done between the internal RAM and the on-chip memory of
the Virtex-5 FPGA. The blocks to be build on the Virtex-5 board
are data path and control path of the FSM embedding process.
Since, there is a mention of Threshold in our paper, the
analysis of the algorithm using different values of Threshold and
IV. RESULTS AND DISCUSSION the time taken in each case has been discussed. The embedding
and extraction simulation time are observed to be different for
same image of same size (64×64) but using different Threshold
A) Simulation Results (2, 4) in the algorithm.

B) Watermarking Attacks Results

For the robustness analysis of the discussed algorithm, the


algorithm was attacked with various types of watermarking
attacks. The effectiveness of the algorithm is measured in terms
of quantities of Peak Signal to Noise Ratio (PSNR), Normalized
Cross Correlation Coefficient (NCC) and Structural Similarity
Index Measure (SSIM) to quantify how similar the watermark
image, retrieved from the attacked host image, is in comparison
to the original watermark image.
The result of effectiveness of various types of Watermarking
attacks on Host image and the analysis of the retrieval of
watermark images has been tabulated. The watermarking attacks
Fig-7 Host Image Fig-8 Watermark image that are carried on the discussed algorithm are noise attacks,
compression attacks, transformation attacks and geometrical
attacks.
Street2.jpg and peppers.png of sizes 256 × 256, 64 × 64 are The analysis of testing the Host Image with noise attacks and
taken as Host and Watermark images respectively. The transformation attacks infers that the algorithm is robust to these
simulation of algorithm is carried out using these images and a attacks and the PSNR value is well above 18dB, NCC value is
secret key is developed which is later used for the extraction of well above 0.84 and the SSIM is well above 0.71 except the
the embedded Watermark image. The embedding and extraction Gaussian noise attack where SSIM parameter is low.
are simulated both in MATLAB R2014a© and ISE Design Suite
14.7© and the results regarding generation of secret key and
retrieval of watermark image are cross verified. The cross
verification rendered the result that both secret key generation
and watermark image extraction are exactly the same.

501
Table I – Analysis with noise and transformation attacks Table II – Analysis with Compression and Geometrical attacks
EXTRACTED EXTRACTED
ATTACKS WATERMARK PSNR NCC SSIM ATTACKS WATERMARK PSNR NCC SSIM
IMAGES IMAGES

WITHOUT 49.8317 0.9997 0.9972


ATTACK 29.2266 0.9624 0.8829

(QF = 5)
Gaussian
Noise 19.1393 0.8877 0.4752 JPEG
(Variance = Compression 32.3980 0.9923 0.9072
0.02) (default value of
QF = 75)

Poisson (QF =10)


Noise 29.5978 0.9988 0.8736

38.6129 0.9991 0.9775

Speckle
Noise 26.5161 0.9922 0.8501 (QF = 20)
(Variance =
0.02)
Scaling 11.7158 0.7676 0.2211
(In terms of
Salt & pepper
Original Host
Noise 19.7787 0.9088 0.7909
Image)
(Variance = (2 times)
0.02)

11.8276 0.6391 0.1909


Sharpening
20.9393 0.8429 0.7653
(4 times)

Blurring
23.9372 0.8838 0.8716 8.8387 0.0485 0.0072

Rotation
(In Degrees) (2º)

Image
Contrasting 18.9873 0.9388 0.7182
7.5428 0.0898 0.0030

(-2º)
Image
Transformation 19.1538 0.9130 0.7351

C) Multiple Watermarking Results


The analysis of testing the Host image with Compression
attacks infers that the algorithm is robust to the JPEG
compression attacks and the PSNR value is well above 29dB, The multiple watermarking technique gives the flexibility to
NCC value is well above 0.96 and the SSIM is well above 0.88 the user to embed multiple watermarks in a single Host image.
whereas the algorithm is fragile to attacks of rotation and scaling It gives the user the feasibility to use the same Host image with
and there is a loss of significant data in these attacks. other users who can use several different watermark images to
make different keys. The application of Multiple Watermarking

502
is utilized using the proposed algorithm and its effectiveness V. CONCLUSION
against various noise attacks has been tabulated. The watermark
images used are of size 64×64 and the Host image is same as Thus, we can conclude that the proposed Watermarking
used for testing the proposed algorithm. Embedding technique when targeted on Hardware wherein
FPGA Virtex-5 board was utilized is fast as compared to
software implementation wherein MATLAB 2014a© Platform
was utilized and is robust to various noise attacks, compression
Table III – Multiple Watermarking Analysis attacks and transformation but fragile to geometrical attacks.
The proposed algorithm also gives flexibility of utilizing
Multiple Watermarking technique with different watermark
images.

Host Image Watermark1 Watermark2 Watermark3


PSNR 21.6687 23.1132 20.5035 REFERENCES
Gaussian NCC 0.9625 0.9461 0.9453
Noise NAE 0.1612 0.1598 0.1308 [1] A.M. Eskicioglu, E.J. Delp, An overview of multimedia coutent
SSIM 0.7441 0.7849 0.5551 protection in consumer electronics devices, Elsevier Signal
PSNR 27.8691 29.6996 26.7476 Processing : Image Communication 16, 2001, pp.681-699.
Poisson NCC 0.9946 0.9962 0.9969 [2] Sakthivel. S.M., Dr. Ravi Sankar. A, “A Real Time Watermarking
noise NAE 0.0812 0.0675 0.0653 of Grayscale Image without altering it’s Content”,2015 International
SSIM 0.9245 0.9336 0.7647 Conference on VLSI Systems, Architecture, Technology and
PSNR 24.2889 26.05885 21.7119 Application (VLSI-SATA), Bangalore, January 8-10, 2015, pp. 1-6.
Speckle NCC 0.9611 0.9735 0.9750 [3] K. S. Babu, K. B. Raja, K. Kiran Kumar, T. H. Manjula Devi, K. R.
noise Venugopal and L. M. Pataki, "Authentication of secret information
NAE 0.1246 0.1237 0.1140
in image steganography"', IEEE Region 10 Conference, TENCON-
SSIM 0.8648 0.6944 0.5828 2008, (2008) November, pp. 1-6.
PSNR 29.1684 30.4476 28.1692 [4] Atallah M. Al-Shatnawi, “A New Method in Image Steganography
Salt & NCC 0.9918 0.9916 0.9868 with Improved Image Quality” , Applied Mathematical Sciences,
Pepper NAE 0.0235 0.0373 0.02087 2012, vol. 6, no. 79, pp.3907-3915.
noise
SSIM 0.9579 0.7517 0.8886 [5] C.-H. Yang, C.-Y. Weng, S.-1. Wang, Member, IEEE and H.-M.
Sun, “Adaptive Data Hiding in Edge Areas of Images with Spatial
LSB Domain Systems”, IEEE Transactions on Information Forensic
and Security, vol. 3, (2008) September 3, pp. 488-497M. Young,
The Technical Writer’s Handbook. Mill Valley, CA: University
D) Synthesis Results Science, 1989.
[6] M. Kallel, I. F. Kallel, M. S. Bouhlel, “Medical Image
The synthesis is carried out using ISE Design Suite 14.7© Watermarking Scheme for Preserving the Image history”,
for the Host image size of 256 × 256 and Watermark image size Proceedings of Information and Communication Technologies
of 64 × 64 with fixed threshold of 2 and the family targeted for 2006, ICTTA’ 06, vol. 1, pp.2020-2023.
the discussed algorithm is Virtex-5 and the device utilized is [7] H.H. Larijani, G.R.Rad, “A New Spatial Domain Algorithm for
xc5vlx50t of package 1ff1136. Gray Scale Images Watermarking”, Proceedings of the International
Conference on Computer and Communication Engineering 2008,
May 13-15, 2008 Kuala Lumpur, Malaysia, pp. 157-161.
[8] Saraju P. Mohanty, Nagarajan Ranganathan, and Karthikeyan
Table IV – Device Utilization Summary Balakrishnan, “A Dual Voltage-Frequency VLSI Chip for Image
Logic Utilization Used Available Utilization Watermarking in Dct Domain”, IEEE Transactions on Circuits and
Systems—II: Express Briefs, vol. 53, no. 5, May 2006, pp. 394-398.
Number of Slice Registers 53 28800 0% [9] Anand Darji, Dr.A.N.Chandorkar, Dr.S.N.Merchant, Vipul Mistry,
“VLSI Architecture of DWT based Watermark Encoder for Secure
Number of Slice LUTs 103 28800 0% Still Digital Camera Design” , Third Conference on emerging
Trends in Engineering and Technology(ICETET), Goa, 19-21 Nov
Number of bonded IOBs 17 480 3% 2010, pp.760-764.
[10] Saraju P. Mohanty, N. Ranganathan and Ravi K. Namballa, “VLSI
Number of Block 17 60 28% Implementation of Visible Watermarking for a Secure Digital Still
RAM/FIFO Camera Design”, IEEE Proceedings of the 17th International
Number of 1 32 3% Conference on VLSI Design,Mumbai, January 5-9, 2004, pp.1063-
BUFG/BUFGCTRLs 1068.
[11] Cheng Mingzhi, Li Yan, Zhou Yajian and Lei Min, “A Combined
DWT and DCT Watermarking Scheme Optimized Using Genetic
Maximum frequency: 120.613MHz Algorithm”, Journal of Multimedia, June 2013, vol. 8, no. 3.

Maximum output delay after clock: 3.259ns

503

Potrebbero piacerti anche