IMPLEMENTATION OF FHT BASED DIGITAL WATER MARKING TECHNIQUE
L. ANIL KUMAR
Digital Watermark is an invisible mark inserted into the digital multimedia data so that it can be detected in the later stage of evidence of rightful ownership. A great deal of research efforts has been focused on digital watermark in recent years. The techniques proposed so far can be divided into two main groups of according to the embedding domain of the container image
1) Spatial Domain Approach:
One group is SPATIAL domain approach .The earliest watermarking techniques are mainly this kind and the simplest example is to embed the watermark into least significant bits(LSB) of the image pixels. However, this technique has relatively low information hiding capacity and can be easily erased by lossy image compression.
2) FREQUENCY DOMAIN APPROACH
The other group is FREQUENCY domain approach. This can embed more information bits and is relatively robust to attacks. They embedded a Guassian distributed sequence into the perceptually most significant frequency components of the container image. Another technique embedded an image watermark into selectively modified middle frequency of discrete cosine transform coefficients. One more algorithm embedded watermark using Fourier transformations that is invariant to image manipulations or attacks due to rotation scaling and translation. Still several methods used to hide the data to the frequency domain such as HVS, JND.
DRAWBACKS OF EXISTING SYSTEM
The major problem with many of these watermarking schemas is that they are not very robust against different types of image manipulations or attacks. Moreover, some of these techniques are quite complicated to implement in real-time.
Due to above mentioned failures a new technique has been proposed so that to cover and maintain the drawbacks prevailed in the previous system and hence a technique called Fast Hadamard Transformation is proposed
The FHT embedding algorithm was found to provide a robust and efficient approach to perform digital watermarking of digital image data for copyright protection and proof of rightful ownership.
The simplicity of FHT offers a significant advantage in shorter processing time and ease
Hardware Requirements: -Processor -RAM -Hard disk :Pentium4 :128MB :4.2GB
Software Requirements: -Operating system :Windows98 -Tool :JDK1.4.2
Needs of watermarking
Copies can be produced easily and inexpensively. Copies are exact duplicates and therefore indistinguishable from the original. Copies can be distributed rapidly,especially in today’s networked world.
AN INTRODUCTION TO WATERMARKING
Descendent of a steganography . Watermark—an invisible signature embedded inside an image to show authenticity or proof of ownership. Discourage unauthorized copying and distribution of images over the internet.
Steganography is a technique for concealed communication . In steganography the very existence of the message that is communicated is a secret. Techniques of steganography like use of invisible ink, word spacing patterns in printed documents, coding messages in music compositions, etc.,
Watermarking can be considered as a special technique of steganography where one message is embedded in another and the two messages are related to each other in some way.
Eg: Currency Notes and Logos
Digital Watermarking Process
Watermark Watermark key Noise Attacks Key
Cover Signal Watermark Embedder
Communication Communication Channel Channel
Watermark Signal Watermark
FEATURES OF DIGITALWATERMARKING
Imperceptibility Robustness Inseparability Security
Classifications of digital watermarking
Robust&Fragile Watermarking Visible&Transparent Watermarking Public&Private Watermarking Symmetric&Asymmetric Watermarking Stegnography&Non-steganography
The key for embedding and detection of the watermark are identical. The detector must know the required private key for extracting the watermark from the digital data.
This depicts a general asymmetric watermarking scheme. With aid of a private and a public key, the watermark is embedded into the host signal(Original data)
Applications of digital watermarking
Copyright Protection: -Digital watermarks can be used to
and protect copyright ownership. identify
Tracking: -Digital watermarks can be used to track the
usage of digital content
Applications of Digital watermarking
Tamper Proofing: -Digital watermarks, which are fragile in nature, can be used for tamper proofing. Broadcast Monitoring:
-Digital watermarks can be used to monitor broadcasted content like
2D-Hadamard Transform of Signal
Let [U] represents the original image and [V] the transformed image, the 2D-Hadamard transform is given by
Hn [U] Hn ---------------N
Hn represents N * N Hadamard matrix
[U]= Hn [V] Hn ---------------N
where Hn = Hn-1 * H1
In our algorithm, the processing is performed based on 8x8 sub-blocks of the whole image, the third order Hadamard transform matrix H3 is used.
1 1 1 1 Hn 1 1 1 1 1 1 1 1
1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Watermark Insertion Process
Transform watermark and Original Image into FHT coefficients
Pseudo-randomly select sub blocks of Original Image for Insertion
Watermark Insertion + Apply FHTon each sub block
Watermarked Image + Key File
Watermark Extraction Process
Identify relevant sub blocks for watermark Extraction using random generator
Apply IFHT on extracted bits
Construct watermark from extracted bits + Key File Components
MODULES IN OUR PROPOSED SYSTEM
INSERTION OF WATERMARK INTO ORIGINAL IMAGE
EXTRACTION OF WATERMARK FROM WATERMARKED IMAGE
ImageBuild (Original,Watermark) performFHTOnWatermark() randomGenerator() insertWatermark() performFHTOnOriginal() performIFHTOnOriginal() loading()
METHODS USED FOR INSERTION OF WATERMARK performFHTOnWatermark() : In this function the FHT algorithm is
applied on the watermark image according to the size of it. If it is 16
X 16 image then we use a H4 Hadamard coefficient in the algorithm. converted to the power of 2 and the power obtained is selected as the suffix of H.
The coefficient is selected in such a way that the size of the image is
Let [U] represents the original image and [V] the transformed image, the 2D-Hadamard transform is given by [V]= Hn [U] Hn N
Where Hn represents and NxN Hadamard matrix, N=2n, n=1, 2, 3….with element values either +1 or -1.
Also in this method the AC and DC components are separated after applying FHT on watermark image.
randomGenerator() : An m-sequence random generator is applied on the original image which is divided into sub blocks. These random points are used for inserting ac components of the watermark image into original image.
In this method firstly the
original image is divided into sub blocks in such a way that if the original image is of the size 256 X 256 be sub divided into 8 X 8 sub blocks. Now the AC components of the watermark image are inserted into randomly selected points of the sub blocks. The dc
In this method after
inserting the AC components into random positions of original image,the resultant image is subjected to application of FHT algorithm individually on each subblock. Let [X] represents the original image and [Y] the transformed image, the 2D-Hadamard transform is given by [Y]= Hn [X] Hn N Where Hn represents and NxN Hadamard matrix,
METHOD USED FOR EXTRACTION
performIFHTOnOriginal(): In this method the reverse process of insertion of watermark into original image is carried on. Firstly it gets the values of random points selected for insertion of AC components of watermark image from Keyfile.dat. Next,it gets the values of DC of components inserted stored points in the Keyfikle.dat. AC Now,the from the are watermarked image is sub-divided in blocks and positions AC
retrieved.On combination of these AC and DC components the watermark image is obtained.
[X]= Hn [Y] Hn
OVERALL CLASS DIAGRAM
OrgImg : String WaterImg : String SelectOrgImg() SelectWaterImg()
WaterImg : String WaterImg1 : String ApplyFHT()
WaterImg1 : String ACcomp : Integer DCcomp : Integer SeperateAC() SeperateDC()
ACComp : Boolean RandPts : Integer ResImg1 : String ResImg2 : String Embed()
OrgImg : String ResImg : String Division()
ResImg2 : String ResImg3 : String ApplyFHT()
KEYFILE Random Generation
RandPts : Integer ResImg : String ResImg1 : String RanSelect() DCcomp : String RandPts : String Store()
DCComp : Integer ResImg3 : String RandPts : Integer WaterImg : String ApplyInversFHT()
OVERALL USECASE DIAGRAMS
Perform FHT On Watermark
Block Division of original
Seperation of AC and DC
Insertion of AC
Store DC and RandPts
Perform FHT on Inserted Image
OVERALL SEQENCE DIAGRAMS
SEQUENCE DIAGRAM FOR INSERTION
u:User w:Watermar kImg 1: selectwatermarkimg r:ResultImg k:KeyFile o:OriginalIm g b:Blockdivisi on r:RandomGe neration r1:ResultImg w1:Waterma rkingImg
3: Seperate DC comp
4: Select Original Img
5: Divide into Sub Blocks
6: Select Randomly Sub Blocks
7: Store randomly selected pts and place in key file
8: Give Ac Compts for Insertion
9: Res Imge Sent for Ac Comp for Insertion
10: Apply FHT
SEQUENCE DIAGRAM FOR EXTRACTION
bd:BlockDivi k:KeyFile sion1 1: Div Watermarked image into Sub Blocks u:User eb:Embeded wm:Waterm arImage ac:AC Components
2: Get RandomPts
3: Get Ac Comp
4: Get DC Comp
5: Get AC Comp
6: Get WatermarkImg
OVERALL ACTIVITY DIAGRAMS
ACTIVITY FOR INSERTION
Start Select OriginalImg Select Watermark Img Apply FHT on WaterMark Sep AC and DC Comp Store DC Comp in Keyfile.dat Seperate AC Comp Embed Apply FHT on Each Block Store These into KeyFile.dat Divide into Sub-Blocks
Using random Seq Gen Select Sub-Blocks Randomly
ACTIVITY FOR EXTRACTION
START Select Watermarked Image Get the Random Pts from Keyfile Extract AC Comp From Random Pts Get DC Comp From KeyFile Combine AC and DC Coeff Get the Watermark Img
OVERALL DATA FLOW DIAGRAMS
Select Image for Watermarkin g Embed Watermark into image Extract Watermark from Original Image
Insert watermark into Image
Watermark with AC Components
Watermark inserted Image
IN THIS SCREEN THE PROGRAM IS COMPILED AND EXECUTED
INITIALLY THIS SCREEN APPEARS
FOR SELECTING ORIGINAL IMAGE GOTO FILE MENU AND SELECT OPEN MENU ITEM IN THE MENU BAR
AFTER SELECTING THE ORIGINAL AND WATERMARK IMAGE THIS SCREEN APPEARS
AFTER PRESSING INSERT WATERMARK BUTTON IN THE PREVIOUS SCREEN THIS SCREEN APPEARS WITH INSERTED WATERMARK IN THE ORIGINAL I
AFTER PRESSING THE BUTTON EXTRACT WATERMARK IN THE PREVIOUS SCREEN THIS SCREEN APPEARS WITH THE EXTRACTED WATERMARK
CONCLUSION AND SCOPE FOR FURTHER DEVELOPMENT
This paper has presented a robust hybrid watermarking technique for Embedding characters or grayscale image watermark into a container image based on the FHT. The embedding and extracting processes have been described in detail. The experimental results show that the proposed method is robust against approximately 70% of attacks.
When compared with the DCT ,it is found to be more robust against various attacks. It also refers significant advantage in terms of shorter processing time and the ease of hardware implementation than many common transform techniques.
The future scope of this project includes
In this project we use a gray scale image for watermark image to insert into original image. In future, we may use a color image instead of the gray scale image.
In this proposed algorithm,according to the size of the image we have to multiply the hadamard coefficient(Hn).In future we may use an algorithm which provides the same formula for embedding different sizes of water mark image to different sizes of original image