You are on page 1of 46




In partial fulfillment of the requirements for the award of the degree of MASTER OF COMPUTER APPLICATIONS Submitted by SINIMOL.V.R (Register. No.95580051)


Certified that this is a bonafide record of the mini-project work entitled Digital Watermarking by SINIMOL.V.R in partial fulfillment of the requirements for the award of the degree in Master of Computer Applications of Cochin University of Science and Technology during the period 2008-2011


Head of the Department

Department of Computer Applications CUSAT

As I submit the final complete form of my project titled Digital

Watermarking, I wish to express my gratitude to all who helped and supported me in bringing it to completion. First off I want to express my sincere gratitude to Dr.K.V.Pramod, Head of the Department of Computer Applications,cusat for his inspiration and constant encouragement, which made me take up this project and bring it to completion. I am also thankful to Mrs.Malathy.S , Mr.B.Kannan , Mr.A.Sreekumar , Mr.Arun and other faculties , Department of Computer Applications CUSAT for their encouragement during project work. And I would like to express my thanks to all digital watermarkers and friends who help me a lot in giving some ideas and concepts regarding theory of digital watermarking. Above all, I am extremely thankful to God for giving me the ability and endurance for completing this project.


Digital watermarking is an extension of steganography, is a promising solution for content copyright protection in the global network. It imposes extra robustness on embedded information. Digital watermarking is the science of embedding copyright information in the original files. The information embedded is called watermarks. Digital watermarking doesnt leave a noticeable mark on the content and dont affect its appreciation. These are imperceptible and detected only by proper authorities. Digital watermarks are difficult to remove without noticeable degrading the content and are covert means in situations where cryptography fails to provide robustness.The content is watermarked by converting copyright information into random digital noise using special algorithm that is perceptible only to the creator. Watermarks are resistant to filtering and stay with the content as long as the original has not been purposely damaged.


1.1. Overview 1.2. Goals and Objectives

2.System Specification
2.1. Hardware Specification 2.2. Software Specification 2.3. Software Description

3.System Design
3.1. Class Diagram

4.System Testing 5.Implementation Results

5.1. Screen Shots

6.Conclusion 7.Bibliography


1.1 overview.
In recent years, the distribution of works of art, including pictures, music, video and textual documents, has become easier. With the widespread and increasing use of the Internet, digital forms of these media (still images, audio, video, text) are easily accessible. This is clearly advantageous, in that it is easier to market and sell one's works of art. However, this same property threatens copyright protection. Digital documents are easy to copy and distribute, allowing for pirating. There are a number of methods for protecting ownership. One of these is known as digital watermarking. Digital watermarking is the process of inserting a digital signal or pattern (indicative of the owner of the content) into digital content. The signal, known as a watermark, can be used later to identify the owner of the work, to authenticate the content, and to trace illegal copies of the work. Watermarks of varying degrees of obtrusiveness are added to presentation media as a guarantee of authenticity, quality, ownership, and source. To be effective in its purpose, a watermark should adhere to a few requirements. In particular, it should be robust, and transparent. The media of focus in this paper is the still image. There are a variety of image watermarking techniques, falling into 2 main categories, depending on in which domain the watermark is constructed. In conclusion, image watermarking techniques that take advantage of properties of the human visual system, and the characteristics of the image create the most robust and transparent watermarks.

Digital Watermarking contains the modules:

Text on images Image on image

1.2 Goals and objectives

Digital watermarking is a technology for embedding various types of information in digital content. In general, information for protecting copyrights and proving the validity of data is embedded as a watermark. A digital watermark is a digital signal or pattern inserted into digital content. The digital content could be a still image, an audio clip, a video clip, a text document, or some form of digital data that the creator or owner would like to protect. The main purpose of the watermark is to identify who the owner of the digital data is, but it can also identify the intended recipient. All the information handled on the Internet is provided as digital content. Such digital content can be easily copied in a way that makes the new file indistinguishable from the original. Then the content can be reproduced in large quantities. Digital watermarks apply a similar method to digital content. Watermarked content can prove its origin, thereby protecting copyright. A watermark also discourages piracy by silently and psychologically deterring criminals from making illegal copies. A watermark on a bank note has a different transparency than the rest of the note when a light is shined on it. However, this method is useless in the digital world.

Currently there are various techniques for embedding digital watermarks. Basically, they all digitally write desired information directly onto images or audio data in such a manner that the images or audio data are not damaged. Embedding a watermark should not result in a significant increase or reduction in the original data. Digital watermarks are added to images or audio data in such a way that they are invisible or inaudible unidentifiable by human eye or ear. Furthermore, they can be embedded in content with a variety of file formats. Digital watermarking is the content protection method for the multimedia era. To be effective in the protection of the ownership of intellectual property, the invisibly watermarked document should satisfy several criteria: 1. The watermark must be difficult or impossible to remove, at least without visibly degrading the original image, 2. The watermark must survive image modifications that are common to typical image-processing applications (e.g., scaling, color requantization, dithering, cropping, and image compression), 3. An invisible watermark should be imperceptible so as not to affect the experience of viewing the image, and 4. For some invisible watermarking applications, watermarks should be readily detectable by the proper authorities, even if imperceptible to the average observer.Such decodability without requiring the recovery of property and subsequent prosecution.

The digital watermarking technique is appealing, since it provides following main features and does not require out-of-band data as in other mechanisms.

Robustness: Depending on the application, the digital watermarking technique can support different levels of robustness against changes made to the watermarked content. If digital watermarking is used for ownership identification, then the watermark has to be robust against any modifications. The watermarks should not get degraded or destroyed as a result of unintentional or malicious signal and geometric distortions like analog-to digital conversion, digital- to-analog conversion, cropping, re-sampling, rotation, dithering, quantization, scaling and compression of the content. On the other hand, if digital watermarking is used for content authentication, the watermarks should be fragile, i.e., the watermarks should get destroyed whenever the content is modified so that any modification to content can be detected.

Inseparability: After the digital content is embedded with watermark, separating the content from the watermark to retrieve the original content is not possible. Security: The digital watermarking techniques prevent unauthorized users from detecting and modifying the watermark embedded in the cover signal. Watermark keys ensure that only authorized users are able to detect/modify the watermark.

It is of interest to identify the properties of a digital data item (the carrier signal) that assist in watermarking: 1. It should have a high level of redundancy. This is so that it can carry a more robust watermark without the watermark being noticed. (A more robust

watermark usually requires a larger number of alterations to the carrier signal). 2. It must tolerate at least small, well-defined modifications without changing its semantics.

Digital watermarking techniques have wide ranging applications. Some of the applications are enlisted below. Copyright Protection: Digital watermarks can be used to identify and protect copyright ownership. Digital content can be embedded with watermarks depicting metadata identifying the copyright owners. Copy Protection: Digital content can be watermarked to indicate that the content cannot be illegally replicated. Devices capable of replication can then detect such watermarks and prevent unauthorized replication of the content. Broadcast Monitoring: Digital watermarks can be used to monitor broadcasted content like television and broadcast radio signals. Advertising companies can use systems that can detect the broadcast of advertisements for billing purposes by identifying the watermarks broadcast along with the content. Concealed Communication: Since watermarking is a special technique of steganography,it can be used for concealed communication also. Digital

Watermarking techniques can be classified in a number of ways depending on different parameters. Various types of watermarking techniques are enlisted below.

Each of the different types mentioned below have different applications. Robust & Fragile Watermarking: Robust watermarking is a technique in which modification to the watermarked content will not affect the watermark. Visible & Transparent Watermarking: Visible watermarks are ones which are embedded in visual content in such a way that they are visible when the content is viewed. Transparent watermarks are imperceptible and they cannot be detected by just viewing the digital content. Public & Private Watermarking: In public watermarking, users of the content are authorized to detect the watermark while in private watermarking the users are not authorized to detect the watermark. Asymmetric & Symmetric Watermarking: Asymmetric watermarking (also called asymmetric key watermarking) is a technique where different keys are used for embedding and detecting the watermark. In symmetric watermarking (or symmetric key watermarking)the same keys are used for embedding and detecting watermarks. Steganographic & Non-Steganographic watermarking: Steganographic watermarking is the technique where content users are unaware of the presence of a watermark. In nonsteganographic watermarking, the users are aware of the presence of a watermark. Steganographic watermarking is used in fingerprinting applications while non-steganographic watermarking techniques can be used to deter piracy.


2.1 Hardware Specification

Processor Primary Storage (RAM) Monitor Secondary Storage Key Board Mouse : Intel Pentium 4 : 256MB or Higher : 15 or higher : 40GB or above : Standard 102/104 Keys : Standard PS/2

2.2 Software Specification

Operating System Front End Design Tools : Windows XP,Windows 7,Windows 2000 : JAVA(J2SE) : NetBeans IDE 6.8

2.3 Software Description

JAVA in Brief
Java is a programming language originally developed by Sun Microsystems and released in 1995 as a core component of Sun's Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. The Java language was created by James Gosling in June 1991 for use in one of his many set-top box projects.[4] The language was initially called Oak, after an oak tree that stood outside Gosling's officeand also went by the name Greenand ended up later being renamed to Java, from a list of random words.[5] Gosling's goals were to implement a virtual machine and a language that had a familiar C/C++ style of notation.[6] The first public implementation was Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost runtimes on popular platforms. It was fairly secure and its security was configurable, allowing network and file access to be restricted. Major web browsers soon incorporated the ability to run secure Java applets within web pages. Java quickly became popular. With the advent of Java 2, new versions had multiple configurations built for different types of platforms. For example, J2EE was for enterprise applications and the greatly stripped down version J2ME was for mobile applications. J2SE was the designation for the Standard Edition. In 2006, for marketing purposes, new J2 versions were renamed Java EE, Java ME, and Java

SE, respectively.Sun uses a peculiar naming scheme to differentiate different versions of Java. First, Sun generates an abstract specification that defines what Java is. This is known as Platform. Major specification changes would require a change in platform. Then, a particular version of Java might target a different type of application (for example, a desktop computer or a handheld computer). These different types are known as editions. Finally, each specific implementation of an edition on the platform has a version number and is known as a Java SDK (Software Development Kit; formerly known as the Java Development Kit or JDK). You can divide Java into two main parts. The first part (the Java Virtual Machine) executes Java programs. The second part (the Software Development Kit) is the set of tools used to develop Java programs.

Primary goals
There were five primary goals in the creation of the Java language:[12] 1. It should use the object-oriented programming methodology. 2. It should allow the same program to be executed on multiple operating systems. 3. It should contain built-in support for using computer networks. 4. It should be designed to execute code from remote sources securely. 5. It should be easy to use by selecting what were considered the good parts of other object-oriented languages.

Features of Java
Java is 1. Platform independent (Portable). 2. Object-Oriented. 3. Robust. 4. Secure. 5. High Performance 6. Architectural Neutral 7. Multithreaded. 8. Interpreted. 9. Distributed. 10. Dynamic & Extensible.

A free, open-source Integrated Development Environment for software developers. You get all the tools you need to create professional desktop, enterprise, web, and mobile applications with the Java language, as well as C/C++, PHP, JavaScript, Groovy, and Ruby. It easy to install and use straight out of the box and runs on many operating systems including Windows, Linux, Mac OS X and Solaris.


3.1 Class Diagram MainForm

-jMenuItem2ActionPerformed() -jMenuItem3ActionPerformed() -jMenuItem4ActionPerformed() -jMenuItem5ActionPerformed()
TextOnImages -slash:String -im:String -type:String -f1:String - si:String -pos:String -op:int -hight:int -width:int -max:int -min:int -x:int -y:int + TextOnImages() -AddImageActionPerformed() -jButton3ActionPerformed() -Table1MouseClicked() -jButton7ActionPerformed() -jButton6ActionPerformed() -ColorButtonActionPerformed() -jButton1ActionPerformed() -jButton4ActionPerformed() -jButton2ActionPerformed() -jButton10ActionPerformed() -WaterButtonActionPerformed()
ImageOnImages -slash:String -image:String -im:String -type:String -t:int -tt:String - i:int -wfilename:String -op:int -hight:int -width:int -x:int -y:int -name:String + ImageOnImages() -jButton6ActionPerformed() -Browse2ActionPerformed() -WaterImageTextActionPerformed() -jButton2ActionPerformed() -jButton4ActionPerformed() -jButton5ActionPerformed() -AddImageActionPerformed() -RemoveButtonActionPerformed() -Table1MouseClicked() -jButton7ActionPerformed() -jButton51ActionPerformed () -jButton50ActionPerformed () -WaterButtonActionPerformed()



Software testing is the process used to help identify the correctness, completeness, security and quality of developed computer software. Testing is vital to the success of the system. System Testing makes logical assumption that if all the parts of the system are correct, the goal will be successfully achieved. System Testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. The user tests the developed system and changes are made according to their needs. The testing phase involves the testing of developed system using various kinds of data. There are many approaches to software testing, but effective testing of complex products is essentially a process of investigation, not merely a matter of creating and following rote procedure. One definition of testing is "the process of questioning a product in order to evaluate it", where the "questions" are things the tester tries to do with the product, and the product answers with its behavior in reaction to the probing of the tester. The quality of the application can, and normally does, vary widely from system to system but some of the common quality attributes include reliability, stability, portability, maintainability and usability. Testing Objectives Testing is the process of executing the program with the intention of finding an error A good test is one that has a high probability of finding an as-yetundiscovered error.

A successful test is that which uncovers as-yet-undiscovered error.

Fig : Test Information Flow Test Procedure The procedure is as follows Prepare the test case. Record the expected result and verify whether in tune with actual results. if actual results are not tune with expected results, do not necessary work. Test again and check the results. If the test results are satisfactory, wind up testing.


5.1 Screen Shots Text On Images

In case of text on image visible watermarking, the information is visible in the picture or video. Typically, the information is text or a logo which identifies the owner of the media. The image on the right has a visible watermark. When a television broadcaster adds its logo to the corner of transmitted video, this is also a visible watermark. Collective Access can automatically add a visible watermark to image derivatives. The watermark pattern is a graphic provided by you: it can be a logo, text or anything else than can be expressed in a bitmap. Watermarking is applied as derivatives are created. The watermarks are part of the image and cannot be easily removed. (They can be cropped out or Photoshop'ed away, of course, just like anything else in an image).

Image On Image

In case of image on image watermarking if the data file to be retrieved is an image, the provider can embed a watermark for protection purposes. The process allows tolerance to some change, while still maintaining an association with the original image file. Researchers have also developed techniques that embed components of the image within the image. This can help identify portions of the image that may contain unauthorized changes and even help in recovering some of the lost data.Digital watermarking is an easy way of providing image copyright protection. Digital watermark can be a text or picture added to digital image with special image watermarking software or with graphics editors like MS Paint.


Digital watermarking is a technique which allows an individual to add hidden copyright notices or other verification messages on image and documents . This is mostly useful for computer painters, designers and bannermakers, who send their works to a customer through the Internet for evaluation.


[1] R. Schyndel, A. Tirkel, and C. Osborne, A Digital Watermark, Proc. IEEE Int. Conf. on Image Processing, Nov. 1994, vol. II, [2] I. Pitas, A Method for Signature Casting on Digital Images, Proc. IEEE Int. Conf. on Image Processing, Sept. 1996, vol. III, [3] X. Xia, C. Boncelet, and G. Arce, A Multiresolution Watermark for Digital Images, Proc. IEEE Int. Conf. on ImageProcessing, Oct. 1997, vol I, [4] N. Ahmed, T. Natarajan, and K. R. Rao. 1974. On image processing and a discrete cosine transform. IEEE Transactions on Computers C23(1): 90-93. [5] Jain, Anil K. Fundamentals of Digital Image Processing. Englewood Cliffs, NJ: Prentice Hall, 1989. pp. 150-153. [6] [7]