Ijert Ijert: VLSI Implementation of Digital Image Watermarking
Ijert Ijert: VLSI Implementation of Digital Image Watermarking
ISSN: 2278-0181
Vol. 2 Issue 6, June - 2013
spatial domain. The pixel wise manipulation of the Watermark has various forms like text value,
image to be watermarked (base image) is done in image, video and audio clip. Watermarking
accordance with the pixel values of the watermark. technique has some properties to be defined like
IJE
The paper represents the complete software robustness, security, complexity, verification etc.
implementation of both the algorithms and the Robustness is important property because it defines
hardware implementation of the same is done on the survival of watermark in watermarked digital
Spartan3 FPGA. Several attempts have been made media after going through operations like filtering
to achieve low power, low area and high lossy compression or some kind of geometric
performance. For low and optimized area, the IP modification. The attacks on watermarked media
cores of block ROM and division generator are can sometimes lead to removal of watermark. To
used. The task of providing input to the board from avoid such things the improved watermark
PC and getting results from the board to the PC insertion key should be used, such things are taken
are done using serial communication through care by means security. The time required for the
UART protocol. algorithm to embed the watermark in to digital
media and also its retrieval defines the complexity
1. Introduction of watermarking.
The watermarking system can be implemented
One of the ways to protect the intellectual with either software or hardware. Software
property rights of the digital media is digital implementation of watermarking is large whereas
watermarking. With rapid increase in use of hardware implementation is lacking [4]. Generally,
internet and digital media, transmission and hardware watermarking scheme can be done by
reproduction of digital products has become very using each of the domains (spatial or frequency).
convenient but it has some drawbacks also. The Due to the simplicity of spatial domain
digital revolution provides tools to unlimited computational overhead and its easiness for its
copying without loss in fidelity [1]. The people can application if compared to the frequency domain,
easily steal the digital work of others like image, the spatial domain is usually preferred for hardware
videos, and audio clips and claim their rights on the implementation [4] [5] [6] [7].
stolen things. This situation creates the need of The paper is organized as follows: Section 2
copyright protection of digital media. Digital describes the proposed algorithm. Sections 3 and4
watermarking can be used for content describe VLSI design of the embedding unit and
authentication, detection of illegal duplication and the decoding unit respectively using FPGA.
alteration, secret communication as watermarking
Sections 5 and 6 present results and conclusion 2.2. Watermark Retrieval Algorithm
respectively.
The watermarked image quality is maintained
by only modifying 3LSBs out of 8 bits of base
2. Proposed Scheme for Watermarking image. To extract watermark, these modified bits
are required. Following steps explains the retrieval
2.1. Algorithm for Watermark Insertion algorithm.
1) Set every bit of every pixel to zero except
3LSBs.
Digital image watermarking can be done in both
2) Shift right every pixel by 3 times.
spatial domain and frequency domain but the most
3) The resultant image is the original watermark
straight forward fundamental and simplest schemes
which was initially used to embed into the base
for digital image watermarking can be implemented
image.
in frequency domain because of the less
complexity. Such types of techniques deal with
modification of luminance value of pixels in
spatial domain. In this paper the most common 3. VLSI Architecture
technique of watermarking is presented which
involves the manipulation of least significant bits 3.1. Datapath for Watermark Insertion
(LSB) of overall pixels of base image or the image
to be watermarked. Although the spatial domain The datapath is divided in to four parts. First is
watermarking is less complex, but it is not much UART module. This module is responsible for the
robust as compared to the frequency domain PC to FPGA board interface. The second part is
watermarking. [5] [8]. In this paper the watermarking module which mainly consist of two
watermarking of 8 bit gray scale image is RAMs to store the base image and resultant
presented. According to [5] [6] the number of bits watermarked image. It also has and two gates and a
„m‟ in LSB to be modified can be obtained using: shifter. Two intellectual property core (IP Core) are
m = log2 [M × M] (1) also incorporated in datapath. One is for storing the
RT
Where „[M × M]‟ is the size of the base image. watermark and one is „Division Generator‟.
The reason of particularly modifying only LSBs
of the base image is that, the LSBs contains the
least information of the pixel value and such
IJE
containing the result has to be given to some sort of to one mapping is maintained for the pixels in base
display like LCD screen or VGA monitor to image RAM and the Block ROM for watermark. A
analyze. In this paper the results are transmitted counter is created which holds the value of address
back to the PC and the displayed in MATLAB. The and this address value is given to both the
architecture of watermarking operates by combined memories. The counter value keeps on
action of all the modules. incrementing till all the pixels are processed. First
pixel value from base image RAM is given to the
3.1.1. UART Module: register REG1. AND operation is performed
between REG1 and another register which holds
The base image to be watermarked is first 1111_1000 value in binary. This resets the last 3
converted to the text format in MATLAB. These LSBs of base image pixel. The first 3 MSBs of the
text values represent the actual image. The base watermark pixel are kept intact and rests of the
image is 8 bit image so the pixels values lies pixels are set to zero by passing through another
between 0000_0000 to 1111_1111 (0-255). For the and gate. Successive 3 bit left shifter shifts this
transmission and the reception, RS 232 port of PC pixel value, and added with the pixel value of the
is used UART protocol is used for the serial base image. The resultant pixels is watermarked
transmission of these text values. Any terminal pixels which is stored in another RAM called
software can be used to send the text values to Watermarked image RAM. This RAM also has the
serial port of the PC. UART protocol is same size as that of the Base Image RAM
asynchronous protocol where the carrier is not used (255X255).
hence the start and end of transmission has to be
specified. In this paper the UART module is 3.1.3. IP Core (Block Memory Generator):
designed which works with one start bit and one
stop bit. The IP Core (Intellectual property Core) refers
to preconfigured logic functions that can be used
design. Xilinx provides a wide selection of IP that
is optimized for Xilinx FPGAs. These can include
functions delivered through the Xilinx CORE
RT
The serial input from PC is received at the Generator software, through the Xilinx
FPGA board. The start bit and stop bit are Architecture Wizard, as standalone archives, from
discarded and the 8 bit data (1byte) is accepted. All third parties, through Xilinx Platform Studio
the pixel values are transmitted and the using the
IJE
• Reduced power requirements achieved and remainder. The width for all the four
through compact design and interconnect parameters is set to 8 bits.
minimization.
• Performance independent of target device size.
• Ability to use multiple instances of the same
core on the same device without deterioration in
performance.
• Reduced compile time compared to competing
architectures.
One of the IP core used in the proposed
architecture is Block Memory generator. The
architecture of watermarking requires two images, Fig. 2 Pin diagram for Division Generator
one is base image and other is the watermark. The
base image is obtained and stored in FPGA RAM 3.2. Datapath to Retrieve Watermark
using serial communication and the watermark is
initially inside the FPGA using Block Memory
generator IP Core.
One of the problems of memory initialisation in
hardware descriptive languages like Verilog and
VHDL is that, the constructs used for such
initialisations are not synthesisable. The Verilog
uses „initial ‟construct which is not synthesisable.
To solve this problem the Block Memory
Generator is used. The Block memory generator
can be initialised with the „.coe‟ file. The
MATLAB software is used to create .coe file of the
watermark.
The specification of block memory used is as
RT
follows
Table 1: Block memory specifications
Interface type native
IJE
Verilog and functional simulation was performed. image size is kept 64X64 and so the size of
The code was synthesized on Spartan 3 technology watermark is also kept same. For the bigger image
on xc3s200-4tq144 device using ISE Project sizes, like 256X256 and 512X512 design works
Navigator (0.61xd) from Xilinx. The clock 50MHz properly but with increased memory size and
was given to the Spartan 3 board. The device extended hardware requirements. The simulation
utilization summary is given in Table 2. results include the complete waveforms
representation of all the signals included in top
module for embedding watermark. The input for
UART module is „rx‟ which receives the bit stream
of the image pixels serially. Two other signals
namely „is_receiving‟ and „recv_error‟ works as a
status signals for reception of image pixels from
PC. The transmission of the image pixels from PC
to FPGA board continues till the inferred RAM
dedicated to store the base image is full. Once the
base image RAM is fully stored the appropriate
control signals are generated which initializes the
watermarking process. The watermarking process
involves interaction of image processing block and
the IP core which stores the watermark.
Appropriate address is placed on the address of IP
core block ROM to get pixel value of watermark.
The processed pixel is sent back to UART module
for transmission and the respective control signals
are activated for transmission. The transmission of
the watermarked pixel from FPGA to PC is done
through the hardware pin named „tx‟. The other
signal which is associated with transmission is
RT
„is_transmitting‟ which represents the status of
transmission. The digits in the pixel value are
Fig. 4: RTL schematic of top module for broken in to individual digits and each digit is
watermark insertion
IJE
Number of Slice
552 3840 14%
Flip Flops
Number of 4 input
1140 3840 29%
LUTs
Number of bonded
44 97 45%
IOBs
Number of
1 12 8%
MULT18X18s
6. Conclusion
5. Simulation Results In this paper, watermarking encoder and the
decoder that can perform invisible fragile
The design is implemented on Spartan 3 FPGA watermarking in spatial domain is presented along
board for the 8 bit gray scale image considering the with VLSI realisation using FPGA with developed
memory capability of the hardware design, the base memory efficient hardware architecture. The
References