Method for generating digital watermarks and for exchanging data containing digital watermarks
Abstract
A method for generating digital watermarks and for exchanging data containing such watermarks is described. The system is based on an watermarking technique which is robust against image transformation techniques such as compression, rotation, translation, and scaling. It uses modulation of the magnitude components in Fourier space and adds/reads a template in the log polar transform of the magnitude components. The template is used for analyzing scaling and rotation. In addition, the system applies cryptographic protocols and public key techniques for both, encoding the watermark and transferring watermarked data. Preferably, an author (ICH) encodes the watermark using an asymmetric cryptographic key pair provided by a public key infrastructure (PKI) and registers the watermarked data at a trusted registration party (ICO) before transmitting the data to a receiving party (IB). The latter can use the public key infrastructure (PKI) for verifying authorship. Transmission between the parties uses data protection provided by the cryptographic keys.

Term
Term ended
Projected expiry passed 26 September 2017, 9 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
20 claims: 12 independent, 8 dependent
- 1A method for generating and transmitting a data set between two parties H and B comprising the steps of a) providing a cover data set (CI) corresponding to the data set to be transmitted, b) generating a stego data set (SI) of said cover data set (CI) by embedding at least one digital watermark in said cover data set (CI), wherein said watermark is encoded using at least one key of an asymmetric cryptographic key pair (ps H , vs H ) of H, said key pair comprising a secret private key (ps H ) and a known public key (vs H ) derived therefrom, c) establishing a cryptographically secure transmission between parties H and B with a key protocol using at least said key pair (ps H , vs H ) of H, d) transmitting said stego data set (SI) from said party H to said party B within said secure transmission.
- 3The method of one of the preceding claims wherein said key pair (ps H , vs H ) of H is an elliptic curve key pair.
- 4The method of one of the preceding claims wherein said step b) further comprises the steps of generating at least one private watermark, wherein said private watermark is encoded using said private key (ps H ) of H, and preferably also generating at least one public watermark, wherein said public watermark is encoded using said public key (vs H ) of H.
- 6The method of one of the preceding claims wherein said step b) comprises the step of generating at least one public watermark, wherein said public watermark is encoded using a hash value (crh(vs H )) of said public key (vs H ) of H.
- 7The method of one of the preceding claims wherein said step b) comprises the steps of i) providing a message (s 1 , s 2 , ..., s M ) to be transmitted in said at least one watermark, said message consisting of a plurality of symbols, ii) providing a pseudo random generator seeded with a seed value derived from at least one key of said key pair (ps H , vs H ) of H or a hash value thereof, iii) encoding said message using values from said pseudo random generator.
- 8The method of claims 7 wherein said step iii) comprises for each of said symbols (s i ), calculating a symbol vector ( r i ), wherein all elements of said vector are derived from numbers from said pseudo random generator, adding said symbol vectors ( r i ) to generate an encoded message ( m ) and using said encoded message for embedding said watermark.
- 12The method of one of the preceding claims comprising the step of encoding a message for being embedded in said watermark by using symbol based Reed Solomon codes.
- 13The method of one of the preceding claims characterized in that said step b) further comprises the step of calculating a logarithm of said cover data set (CI) before embedding said watermark for embedding said watermark in a perceptually flat domain.
- 14Method for generating a stego data set (SI) of a cover data set (CI) especially for step b) of one of the preceding claims comprising the steps of generating at least one message (IAD CI ), applying a digital signature to said message (IAD CI ) using an asymmetric cryptographic key pair (p H , v H ), generating said stego data set (SI) of said cover data set (CI) by generating at least one digital watermark in said cover data set (CI), wherein said watermark contains said message (IAD CI ).
- 15Method for generating and transmitting a data set between two parties H and B, especially of one of the preceding claims, comprising the steps of providing a cover data set (CI) corresponding to the data set to be transmitted, generating a stego data set (SI) of said cover data set (CI) at a party H by generating at least one digital watermark in said cover data set (CI), transmitting said stego data set (SI) to a registration party (O), and permanently storing certification data (CCD) at said registration party (O), said certification data comprising a hash value of said stego data set (SI), a digital time stamp (TVP) and information designating said party H.
- 17Method for generating and verifying a watermark in a cover data set (CI) representing a cover image, especially for step b) of one of the preceding claims, comprising the following steps for generating said watermark A) calculating the Fourier transform of at least part of said cover image for generating Fourier components of said cover image, and B) modulating at least part of said Fourier components using a template modulation pattern ( T '), C) using the inverse Fourier transform for generating a stego image, said method further comprising the following steps for verifying said watermark in a possibly scaled and/or rotated version of said stego image, D) calculating the Fourier transform of the possibly scaled and/or rotated version of said stego image for generating Fourier components of said stego image, E) calculating a log-polar transform of said Fourier components of said stego image, and F) calculating the cross correlation between a log-polar transform ( T ) of said modulation pattern ( T ') and said log-polar transform of said Fourier components of said stego image for evaluating a scaling and/or rotation factor.
- 19Method for generating a watermark in a cover data set (CI) representing a cover image especially for one of the preceding claims, characterized by the step of dividing said image into a plurality of adjacent blocks and by the following steps carried out for each block:calculating the Fourier transform of the block of the block, and modulating at least part of the magnitude components of the Fourier transform of the block using a modulation pattern, wherein the same modulation pattern is used for all blocks.
Independent claims12
123 paragraphs, as filed
The present invention relates to a method for generating digital watermarks and for transmitting data containing digital watermarks according to the preamble of the independent claims.
Digital watermarking is a method for marking data sets, such as images, sound or video. A digital watermark consists of a slight modification of the data set that does not affect the data set's usability but that can be detected using dedicated analysis software or apparatus. Watermarking can e.g. be used for marking authorship or ownership of a data set.
Digital watermarking can be seen as a fundamental-problem in digital communications (see e.g. I. Cox, J. Killian, T. Leighton, and T. Shamoon, "Secure spread spectrum communication for multimedia", Technical report, N.E.C. Research Institute, 1995). Early methods of encoding watermarks consisted of no more than incrementing an image component to encode a binary '1' and decrementing to encode a '0' (G. Caronni "Assuring Ownership Rights for Digital Images" in H. H. Brueggemann and W. Gerhardt-Haeckl, editors, Reliable IT Systems VIS '95, Vieweg Publishing Company, Germany, 1995). Tirkel et al. (A. Z. Tirkel, G. A. Rankin, R. G. van Schyndel, W. J. Ho, N. R. A. Mee, and C. F. Osborne, "Electronic watermark", in Dicta-93, pages 666-672, Macquarie University, Sydney, December 1993) and van Schyndel et al. (A. Z. Tirkel, R. G. van Schyndel, and C. F. Osborne, "a two-dimensional digital watermark", in ACCV'95, pages 378-383, University of Queensland, Brisbane, December 6-8 1995) have applied the properties of m-sequences to produce oblivious watermarks resistant to filtering, cropping and reasonably robust to cryptographic attack. Matsui and Tanaka (K. Matsui and K. Tanaka, "Video-Steganography : How to secretly embed a signature in a picture", in IMA Intellectual Property Project Proceedings, pages 187-206, January 1994) have applied linear predictive coding for watermarking. Their approach to hiding a watermark is to make the watermark resemble quantization noise. Tirkel and Osborne (see above) were the first to note the applicability of spread spectrum techniques to digital image watermarking. Since then there has been an increasing use of spread spectrum in digital watermarking. It has several advantageous features, such as cryptographic security (see Tirkel and Osborne, above), and is capable of achieving error free transmission of the watermark near or at the limits given by the maximum channel capacity (J. Smith and B. Comiskey, "Modulation and information hiding in images", in Ross Anderson, editor, Proceedings of the First International Workshop in Information Hiding, Lecture Notes in Computer Science, pages 207-226, Cambridge, UK, May/June 1996. Springer). Fundamental information theoretic limits to reliable communication have been discussed by some authors (see Smith and Comiskey, above). The shorter the payload of a watermark, the better are the chances of it being communicated reliably. Spread spectrum is an example of a symmetric key cryptosystem (B. Schneier, "Applied Cryptography", Wiley, 2nd edition, 1995). System security is based on proprietary knowledge of the keys (or pseudo random seeds) which are required to embed, extract or remove an image watermark. One provision in the use of a spread spectrum system is that it is important that the watermarking be non-invertible because only in this way can true ownership of the copyright material be resolved (S. Craver, N. Memon, B. Yeo, and M. Yeung, "Can invisible marks resolve rightful ownerships ?", IS&T/SPIE Electronic Imaging '97 : "Storage and Retrieval of Image and Video Databases", 1997). Ó Ruanaidh et al. (J. K. Ó Ruanaidh, W. J. Dowling, and F. M. Boland, "Phase watermarking of images", IEEE International Conference on Image Processing, Lausanne, Switzerland, September 1996) and Cox et al. (see above) have developed perceptually adaptive transform domain methods for watermarking. In contrast to previous approaches listed above the emphasis was on embedding the watermark in the most significant components of an image. The general approach used in these papers is to divide the image into blocks. Each block is mapped into the transform domain using either the Discrete Cosine Transform (W. B. Pennebaker and J. L. Mitchell, "JPEG Still Image Compression Standard", Van Nostrand Reinhold, New York, 1993), the Hadamard Transform (W. G. Chambers, "Basics of Communications and Coding", Oxford Science Publications. Clarendon Press Oxford, 1985) or the Daubechies Wavelet Transform (W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, "Numerical Recipes in C", Cambridge University Press, second edition, 1992). Information has been embedded using the DCT (J. J. K. Ó Ruanaidh, W. J. Dowling, and F. M. Boland, "Watermarking digital images for copyright protection", IEEE Proceedings on Vision, Image and Signal Processing, 143(4) :250-256, August 1996, based on the paper of the same title at the IEEE Conference on Image Processing and Its Applications, Edinburgh, July 1995) FFT magnitude, and phase, Wavelets (see refs. of Ruanaidh, Dowling and Boland, above), Linear Predictive Coding (see Matsui et al., above) and fractals (P. Davern and M. Scott, "Fractal based image steganography", in Ross Anderson, ed., Proceedings of the First International Workshop in Information Hiding, Lecture Notes in Computer Science, pp. 279-294, Cambridge, UK, May/June 1996. Springer Verlag).
The industrial importance of digital watermarking has resulted in a number of products on the market, either based on spread spectrum techniques or additional registration services. They include the Picturemarc system by Digimarc, SureSign (former FBI's Fingerprint) by HighWater Signum, IP<sub>2</sub> system by Intellectual Protocols, the Argent system by Digital Information Commodities Exchange, the PixelTag system by the MIT Media Lab, the SysCop system from Zhao and Koch by the Frauenhofer-Institut fur Graphische Datenverarbeitung (J. Zhao and E. Koch, "Embedding robust labels into images for copyright protection", Technical report, Fraunhofer Institute for Computer Graphics, Darmstadt, Germany, 1994. J. Zhao, "A WWW Service To Embed And Prove Digital Copyright Watermarks", Proc. Of the European Conference on Multimedia Application, Services and Techniques, Louvain-La-Neuve, Belgium, May 1996), and the Tigermark system from NEC.
The approach of Zhao and Koch, based on the JPEG image compression algorithm, proceeds by segmenting the image into individual 8 x 8 blocks. Only eight coefficients occupying particular positions in the 8 x 8 block of DCT coefficients can be marked. These comprise the low frequency components of the image block but exclude the mean value coefficient as well as the low frequencies. Three of the remaining DCT coefficients are selected using a pseudo random number generator to convey information. The resemblance of this technique to frequency hop spread spectrum communications is also mentioned and the blocks are placed at random positions in the image. A WWW registration service has been proposed for a local registration and a local watermarking, for a server registration and a server watermarking, and for a local watermarking and a server registration.
J.-F. Delaigle at al. (J.-F. Delaigle, J.-M. Boucqueau, J.-J. Quisquater & B. Macq, "Digital Images protection techniques in a broadcast framework: An overview", Laboratoire de Télécommunications et de Télédéction, Université Catholique de Louvain) have applied signature labelling techniques for the copyright protection of digital images. Their approach is based on an enhanced image format and generates a digital signature label in front of the image. This signature label can be easily overwritten or destroyed.
It is an objective of the present invention to provide a system of the type mentioned initially that provides a simple and secure way of generating and transmitting watermarked data.
In one aspect of the invention, this object is achieved by using an asymmetric private and public key pair, as it is used in cryptography. The original data set (cover data set, cover image) is watermarked, wherein the watermark is encoded using one or both of said keys. The watermarked data set (stego data set, stego image) is then transmitted to a second party, wherein the same keys are used for establishing a secure transmission between the parties. This simplifies the administration of keys since the only keys required are the key pair mentioned above. In addition to this, because cryptographic keys are less prone to guessing attacks than simple passwords, the security of the watermark is improved.
In a preferred embodiment, both parties use asymmetric key pairs and a key protocol for establishing a common key between them.
The party creating the watermark can embed a private as well as a public watermark in the data set, wherein the private watermark is derived from the private key, the public watermark from the public key. The public watermark can be detected by third parties while the private watermark can only be detected using private information. Preferably, the private watermark is not derived from the private key directly but from a hash value of the same, such that the author of the watermark does not have to reveal his private key if the private watermark is to be verified.
In a further aspect of the invention, the author of the watermark is again provided with an asymmetric cryptographic key pair. He embeds a message together with its cryptographic signature in the watermark. When verifying this watermark, the presence of the signature increases reliability because it proves that the message was signed by the author.
In yet another aspect of the invention, the cover data set is provided with a digital watermark and then transmitted to a registration party that permanently stores at least a hash value, time information and origin of the stego data set.
In another aspect of the invention, a template modulation pattern is added to the Fourier transform of an image that is to be provided with a watermark. For checking the watermark, the Fourier transform of the stego-image is calculated. From this Fourier transform, the log polar mapping transform is generated, which is then searched for the modulation pattern. Using the log polar transform of the Fourier transform has the advantage that scaling and rotation of the stego image are expressed in translations. This allows an easy search for rotation and scaling using cross-correlation techniques.
In still another aspect of the invention, the image to be watermarked is divided into blocks and the magnitude components of the Fourier transform of each block is modulated using the same pattern. This method provides robustness against cropping of the stego-image because a cropping leads to a circular translation in each block. Preferably, the magnitude components of the Fourier transform are modulated, wherein the sign of the modulation should be derived from the phase components, thereby reducing interference between the image data and the watermark as explained in the following disclosure.
Further aspects, advantages and applications of the invention are described in the claims and the following description, which description makes reference to the figures. They show: <ul id="ul0001" list-style="none" compact="compact"><li>Fig. 1 the parties involved in individual watermark protection,</li><li>Fig. 2 the parties involved in watermark protection using registered cryptographic keys,</li><li>Fig. 3 the parties involved in watermark protection using registered cryptographic keys and a registration party,</li><li>Fig. 4 the steps taken for embedding a watermark,</li><li>Fig. 5 the steps for generating the template,</li><li>Fig. 6 the steps for reading a watermark,</li><li>Fig. 7 the steps for reading the template,</li><li>Fig. 8 the tiling of the watermark in a stego-image, and</li><li>Fig. 9 the tiling of the watermark in a cropped stego-image.</li></ul>
I. Terms and Symbols:
Before describing a preferred method and apparatus according to the invention, some key terms and symbols used in its description are explained in the following: <ul id="ul0002" list-style="none" compact="compact"><li>"<u>Image</u>": An image in either digital or physical form which may constitute a still image or a video frame. It can also refer other types of data, such as video and sound, in particular when being used within the context of the protection and owner authentication methods of section II of the disclosure.</li><li>"<u>Signal</u>": A signal in either digital or physical form. It may refer to one dimensional or multidimensional signals such as image and video.</li><li>"<u>Image Copyright Holder (ICH)</u>": A party (or a process acting on behalf of it) "owning" a digital image. This is the party that generates the watermarks.</li><li>"<u>Image Buyer (IB)</u>": A party (or a process acting on behalf it) which obtains (e.g. by purchase) via electronic means a specific image from the ICH.</li><li>"<u>Image Authentication Process (IAP)</u>": A process for verifying that the image has been processed (generation, storage, retrieval, modification, transmission) before by the ICH.</li><li>"<u>Image Authentication Data (IAD)</u>": The authentication data used in the IAP.</li><li>"<u>Stego</u>": Implies that an image or data is marked (i.e. it has an IAD embedded in it). The stego image is also referred to as the stego data set.</li><li>"<u>Cover</u>": Implies that an image or data is unmarked (i.e. it has no IAD embedded in it). The cover image is also referred to as the cover data set.</li><li>"<u>Watermark</u>": The form the IAD takes when it is in a form suitable for embedding in a signal.</li><li>"<u>Image Copyright Office (ICO)</u>": An organization (or a process which acting on behalf it) which registers ownership for a specific image. Successful registration is based on a verification procedure, e.g. by checking the name and postal address of CH, information how ownership was acquired, the title of the image, a description of the type of image (artistic, literary, musical, dramatic) and date and place of first publication. After successful registration a digital copyright certificate can be generated.</li><li>"<u>Digital copyright certificate</u>": Digital copyright data which comprise the copyright certificate data and a digital signature.</li><li>"<u>Copyright Request Data (CRD)</u>": Copyright data which contains the stego image, the image ID of the cover image, a Universal Copyright Convention Notice, a Copyright Symbol, the term "Copyright", the year of the copyright, the name of the copyright holder, and the phrase "All Rights Reserved".</li><li>"<u>Copyright Certificate Data (CCD)</u>": Copyright data which contains at least an image ID, a hash value of the digital image, a time stamp, a Universal Copyright Convention Notice, a Copyright Symbol, the term "Copyright", the year of the copyright, the name of the copyright holder, and the phrase "All Rights Reserved".</li><li>"<u>Digital signature</u>": A data string which has been generated by a digital signature generation transformation.</li><li>"<u>Digital signature generation transformation</u>": A method for producing a digital signature.</li><li>"<u>Digital signature verification transformation</u>": A method for verifying whether a digital signature is authentic or not.</li><li>"<u>Digital signature scheme</u>": A scheme based on asymmetric cryptographic techniques whose private transformation is used for the digital signature generation and whose public transformation is used for the digital signature verification.</li><li>"<u>Digital signature scheme with message recovery</u>": A digital signature scheme for which a priori knowledge of the input data is not required for the signature verification transformation.</li><li>"<u>Digital signature scheme with appendix</u>": A digital signature scheme for which the input data is required as input to the digital signature verification transformation.</li><li>"<u>Asymmetric key pair</u>": A pair of related cryptographic keys where the private key defines the private transformation and the public key defines the public transformation.</li><li>"<u>Symmetric key</u>": A cryptographic key used with a symmetric cryptographic technique and known only to a set of specified entities.</li><li>"<u>Asymmetric key agreement protocol</u>": A protocol whereby a shared symmetric key becomes available to two parties for subsequent cryptographic use. The symmetric key is exchanged on the basis of a digital signature scheme with message recovery. The signed keys are encrypted with an asymmetric public key.</li><li>"<u>Public Key Infrastructure (PKI)</u>": An organization (or processes which acts on behalf of it) which offers services for the generation, registration, certification, distribution, validation, and revocation of a certificate associated with an asymmetric key pair.</li><li>"<u>Public watermark</u>": A watermark that can be detected using a publicly available key (or a hash value thereof).</li><li>"<u>Private watermark</u>": A watermark that can only be detected using a secret key (or a hash value thereof). It is not possible for an unauthorized third party to overwrite or delete the private watermark without the cryptographic secret keying information.</li><li>"<u>Embedded authentication data</u>": The hidden IAD.</li><li>"<u>Payload</u>": The core of the hidden IAD in bit form without error control coding applied.</li><li>"<u>Image ID</u>": The following format scheme for a globally unique ID: The first 3 bytes determine the ICO, the following 3 bytes determine the ICH ID defined by the ICO. Finally the ICH can freely assign last 4 bytes for each one of his digital images.</li><li>"<u>Oblivious</u>": A watermarking technique which does not require the cover image for extracting the mark. In other words, only the stego image is required to extract the mark when using an oblivious marking scheme.</li><li>"<u>Template</u>": A hidden message encoded in the image. By detecting the template, the scaling (zooming) and rotation suffered by a stego-image can be determined.</li><li>"<u>Pseudo random seed</u>": A value used to initialize a pseudo random number generator.</li></ul>
Symbols:
<ul id="ul0003" list-style="none" compact="compact"><li>H distinguished (unique) name of the Image Copyright Holder H</li><li>O distinguished name of the Image Copyright Office O</li><li>B distinguished name of the Image Buyer B</li><li>I distinguished name of the Public Key Infrastructure</li><li>Cert<sub>H</sub> entity H's public key certificate from I</li><li>Cert<sub>O</sub> entity O's public key certificate from I</li><li>Cert<sub>B</sub> entity B's public key certificate from I</li><li>(p<sub>X</sub> ,v<sub>X</sub>) the elliptic curve key pair, with a key size of at least 209 bits, of an entity with the distinguished name X. See Alfred J. Menezes, Paul C. Van Oorschot, and Scott A. Vanstone, "Handbook of Applied Cryptography", CRC Press, 1996, ISBN 0-8493-8523-7</li><li>CC a copyright certificate</li><li>KS key size of the elliptic curve pair</li><li>DSSMR<sub>G</sub>(X,Y,Z) an elliptic curve based digital signature generation scheme with message recovery, where X denotes the private key, Y the input data to be signed, and Z the resulting signature.</li><li>DSSMR<sub>V</sub>(X,Y,Z) an elliptic curve based digital signature verification scheme with message recovery, where X denotes the public key, Y the input data, and Z the resulting output data.</li><li>DSSAP<sub>G</sub>(X,Y,Z) an elliptic curve based digital signature generation scheme with appendix, where X denotes the private key, Y the input data to be signed, and Z the resulting signature.</li><li>DSSAP<sub>V</sub>(X,Y,Z) an elliptic curve based digital signature verification scheme with appendix, where X denotes the public key, Y the input data, and Z the resulting output data.</li><li>K<sub>XY</sub> a secret key for a symmetric cryptosystem shared between two entities with the distinguished name X and Y.</li><li>K<sub>XY</sub>[Data] denotes the cipher text generated by a symmetric cryptosystem with plain text Data.</li><li>crh a collision resistant hash function</li><li>AKAP(X,Y,K<sub>XY</sub>,ps<sub>X</sub> ,vs<sub>X</sub>, pc<sub>X</sub>, vc<sub>X</sub>,ps<sub>Y</sub>, vs<sub>Y</sub>, pc<sub>Y</sub>, vc<sub>Y</sub>) applied asymmetric key agreement protocol (see ISO/IEC 11770-3, "Information technology-Security techniques-Key management, Part 3: mechanisms using asymmetric techniques") with entity X's private signature key ps<sub>X</sub>, entity X's public verification key vs<sub>X</sub>, entity X's private deciperment key pc<sub>X</sub>, entity X's public encipherment key vc<sub>X</sub>, entity Y's private signature key ps<sub>Y</sub>, entity Y's public verification key vs<sub>Y</sub>, entity Y's private decipherment key pc<sub>Y</sub>, and entity Y's public encipherment key vc<sub>Y</sub> between the entities with the distinguished name X and Y. After the protocol was successfully executed, the two entities have agreed on a K<sub>XY</sub>.</li><li>OIAE(X,Y,CI, SI) the oblivious image owner authentication embedding algorithm with the seed X, the payload Y, the cover image CI, and the resulting stego image SI.</li><li>OIAV(X,SI,Y) the oblivious image owner authentication detection algorithm with the seed X, the stego image SI, and the resulting payload Y)</li><li>TVP time-variant parameter, such as a random number, a time-stamp, or a sequence number.</li><li>|| concatenation of two data elements in this order.</li><li>CI Cover Image</li><li>SI Stego Image</li></ul>
II. Protection and owner authentication:
Depending on the proof-level to be provided for the protection, the preferred embodiment of the apparatus and method according to the invention provides three different levels of reliability, which are based on each other, namely: individual watermark protection, watermark protection with registered cryptographic keys, and watermark protection with an ICO on the basis of registered cryptographic keys.
The present method and apparatus is based on an image owner authentication technique, described below, which embeds and detects the IAD as the payload of a watermark. The applied image owner authentication technique is based on a perceptually adaptive spread spectrum technique which provides reliable means of embedding robust watermarks. Such a technique will be discussed in section III. In addition, a spread spectrum techniques is a form of symmetric cryptosystem. In order to embed or extract a watermark, it is necessary to know the exact values of the seed used to produce pseudo random sequences used to encode a watermark. The seeds are considered to be cryptographic keys for watermark generation and verification. System security can therefore be based on proprietary knowledge of the keys and provide in addition the necessary security parameters needed for a secure communication (mutual authentication, integrity, confidentiality, non-repudiation) in the trading process of digital images. Because spread spectrum signals are statistically independent (and therefore virtually orthogonal), the present method and apparatus encodes more than one watermark in an image at the same time, namely private watermarks and public watermarks. The public watermarks indicate that the image is copyright material and provide information on true ownership. At the same time there are secure private watermarks whose secrecy depends on the private key of the asymmetric key pair of the ICH.
Since the system provides for the registration of the public key of the asymmetric key pair, the ICH can prove that he is the only person in the possession of the adequate private key of the asymmetric key pair and, therefore, the generator of the private watermarks.
The system also provides the secure registration (mutual authentication, integrity, confidentiality, non-repudiation) of watermark encoded images (data sets) at an ICO. The stego image is registered at the ICO and a digital copyright certificate is generated which is signed by the ICO. If an unauthorized third party has also encoded watermarks in the same image, conflicting claims in copyright disputes can be resolved. Examining the time stamps of the copyright certificate enables the secure identification of the legal owner: The earliest of the time stamps identifies the legal owner if no copyright revocation request has been applied.
Watermark protection with registered cryptographic keys and the ICO based copyright protection are based on a PKI. The PKI issues on request public key certificates containing the public key of the party, the distinguished name of the party, and a time stamp. Every certificate is signed with the PKI's private key and the trust is built on the validity of the authentic copy of the PKI's public key (we assume that the public key of the PKI is accessible, authentically distributed, and verifiable by every party).
In the following the three levels of the system are described.
a) Individual watermark protection
As shown in Fig. 1, the apparatus for the individual copyright protection is partitioned into two processes, namely the ICH with the distinguished name H and the IB process with the distinguished name B. Suppose (ps<sub>H</sub>,vs<sub>H</sub>) and (pc<sub>H</sub>, vc<sub>H</sub>) are the elliptic curve key pairs of H, (ps<sub>B</sub>,vs<sub>B</sub>) and (pc<sub>B</sub>, vc<sub>B</sub>) are the elliptic curve key pairs of B. Suppose H has an authentic copy of vs<sub>B</sub>, vc<sub>B</sub> and B has an authentic copy of vs<sub>H</sub>, vc<sub>H</sub> before they start any communication.
The following phases are applied by the processes of the individual copyright protection apparatus:
Phase 1:
H retrieves the cover image CI, generates a unique image identifier ID<sub>CI</sub>, stores ID<sub>CI</sub>, and retrieves the key pair (ps<sub>H</sub>,vs<sub>H</sub>).
Phase 2 (generating private watermark):
<ul id="ul0004" list-style="none" compact="compact"><li>1. H generates a private IAD<sub>CI</sub> applying <ul id="ul0005" list-style="none" compact="compact"><li>DSSMR<sub>G</sub>(ps<sub>H</sub>, ID<sub>CI</sub>, IAD<sub>CI</sub>).</li></ul></li><li>2. H partitions, depending on the key size KS, the IAD<sub>CI</sub> into different blocks BL<sub>i</sub>, 1 ≤ i ≤ P, with a length of 128 bits (P := <img file="EP0905967A1_D0001.tif" />IAD<sub>CI</sub> /KS<img file="EP0905967A1_D0002.tif" />). This ensures that the blocks to be included in each watermark are sufficiently small.</li><li>3. H generates the stego image SI applying for every i, 1 ≤ i ≤ P, using the transformation: <ul id="ul0006" list-style="none" compact="compact"><li>OIAE(crh(ps<sub>H</sub>) XOR crh(i), BL<sub>i</sub>, CI<sub>i</sub>, SI<sub>i</sub>),</li></ul> where CI<sub>i</sub> denotes the cover image (stego image from the previous iteration, CI<sub>1</sub> := CI) and SI<sub>i</sub> denotes the stego image of iteration i. The resulting stego image is then SI := SI<sub>P</sub>. Set CI* := SI.</li></ul>
Phase 3 (generating public watermark):
H generates a public IAD<sub>CI</sub> applying <ul id="ul0007" list-style="none" compact="compact"><li>DSSMR<sub>G</sub>(ps<sub>H</sub>, CD, IAD<sub>CI</sub>),</li></ul> with CD := "Copyright by"||H||TVP|| "All Rights Reserved". H again partitions, depending on the key size KS, the IAD<sub>CI</sub> into different blocks BL<sub>i</sub>, 1 ≤ i ≤ P, with a length of 128 bits (P := <img file="EP0905967A1_D0003.tif" />IAD<sub>CI</sub>/KS<img file="EP0905967A1_D0004.tif" />). H generates the stego image SI applying for every i, 1 ≤ i ≤ P, the following transformation: <ul id="ul0008" list-style="none" compact="compact"><li>OIAE(crh(vs<sub>H</sub>) XOR crh(i), BL<sub>i</sub>, CI<sub>i</sub>, SI<sub>i</sub>),</li></ul> where CI<sub>i</sub> is the cover image (stego image from the previous iteration, CI<sub>1</sub> = CI*, with CI* from the previous phase) and SI<sub>i</sub> is the stego image of iteration i. The resulting stego image is SI = SI<sub>P</sub>.
Phase 4:
H stores the resulting stego image SI and may generate a signed copyright certificate.
Phase 5:
H and B execute the following steps for the trading of copyright protected digital images: <ul id="ul0009" list-style="none" compact="compact"><li>1. H and B execute <ul id="ul0010" list-style="none" compact="compact"><li>AKAP(H, B, K<sub>HB</sub>, ps<sub>H</sub>, vs<sub>H</sub>, pc<sub>H</sub>, vc<sub>H</sub>, ps<sub>B</sub>, vs<sub>B</sub>, pc<sub>B</sub>, vc<sub>B</sub>)</li></ul> for the generation of a shared symmetric session key K<sub>HB</sub>.</li><li>2. B generates the trading transaction T1, <ul id="ul0011" list-style="none" compact="compact"><li>T1 := 〈K<sub>HB</sub>[TD||SigTD]〉, with</li><li>TD := ID<sub>CI</sub>||TVP||B||H, and</li><li>DSSAP<sub>G</sub>(ps<sub>B,</sub> TD<sub>,</sub> SigTD).</li></ul> B then transmits T1 to H.</li><li>3. H receives T1, deciphers K<sub>HB</sub>[TD||SigTD], and verifies TD, applying <ul id="ul0012" list-style="none" compact="compact"><li>DSSAP<sub>V</sub>(vs<sub>B,</sub> SigTD<sub>,</sub> IVR)</li></ul> where IVR denotes the intermediate verification result. If <ul id="ul0013" list-style="none" compact="compact"><li>IVR = crh(TD), with TD := ID<sub>CI</sub>||TVP||B||H,</li></ul> then TD has been successfully verified and the next step shall be executed. In any other case, the processing and communication between the H and B is stopped.</li><li>4. If the verification was successful, H retrieves with the ID<sub>CI</sub> information the corresponding stego image SI and generates the trading transaction <ul id="ul0014" list-style="none" compact="compact"><li>T2 := 〈K<sub>HB</sub>[TD||SigTD]〉, with</li><li>TD := SI ||TVP||H||B, and DSSAP<sub>G</sub>(ps<sub>H,</sub> TD<sub>,</sub> SigTD).</li></ul> H then transmits T2 to B.</li><li>5. B receives T2, deciphers K<sub>HB</sub>[TD||SigTD], and verifies TD, applying <ul id="ul0015" list-style="none" compact="compact"><li>DSSAP<sub>V</sub>(vs<sub>H</sub>, SigTD, IVR),</li></ul> where IVR denotes the intermediate verification result. If IVR = crh(TD), with TD := SI||TVP||H||B, then TD has been successfully verified. B then checks the IAD applying for every i, 1 ≤ i ≤ P, the following transformation: <ul id="ul0016" list-style="none" compact="compact"><li>OIAV(crh(vs<sub>H</sub>) XOR crh(i), SI, PL<sub>i</sub>),</li></ul> where SI<sub>i</sub> denotes the stego image and PL<sub>i</sub> the detected payload of the i-th public watermark. (If P is not known, the procedure is iteratively applied until no more public watermark can be detected). The IAD<sub>CI</sub> is then generated by concatenating the PL<sub>i</sub>, i.e. <ul id="ul0017" list-style="none" compact="compact"><li>IAD<sub>CI</sub> := PL<sub>1</sub>||PL<sub>2</sub>||...||PL<sub>N</sub>, 1 ≤ i ≤ P.</li></ul> IAD<sub>CI</sub> is then verified applying <ul id="ul0018" list-style="none" compact="compact"><li>DSSMR<sub>V</sub>(vs<sub>H</sub>, IAD<sub>CI</sub>,OD),</li></ul> with OD as the output data. If OD is <ul id="ul0019" list-style="none" compact="compact"><li>"Copyright by"||H||TVP|| "All Rights Reserved",</li></ul> B has verified H as the copyright holder, if the public watermarks have not been modified (overwritten).</li></ul>
Remark:
In the case of a legal copyright dispute, H can retrieve the IAD<sub>CI</sub> and construct the corresponding unique image ID. Since the generation of the same asymmetric key pair by two distinguished entities is very unlikely, the construction of the unique image ID provides a good level of proof against copyright infringement. In the case of watermark protection with registered keys, the generation of the same asymmetric key pair by two distinguished entities can be prevented.
Depending on the applied asymmetric scheme the private decipherment key may be identical to the private signature key and the public encipherment key may be identical with the public verification key.
b) Watermark protection with registered keys:
As shown in Fig. 2, the apparatus for the copyright protection with registered cryptographic keys is partitioned into three processes, namely the ICH with the name H, the IB process with the name B, and the PKI process with the name I. Suppose (ps<sub>H</sub>,vs<sub>H</sub>), (pc<sub>H</sub>,vc<sub>H</sub>), (ps<sub>B</sub>, vs<sub>B</sub>), (pc<sub>B</sub>, vc<sub>B</sub>), (ps<sub>I</sub>, vs<sub>I</sub>), and (pc<sub>I</sub>,vc<sub>I</sub>) are the unique elliptic curve key pairs of H, B, and I, respectively. Suppose H has an authentic and actual copy of Cert<sub>B</sub> which signature was verified with the authentic copy of vs<sub>I</sub> and the B has an authentic and actual copy of Cert<sub>H</sub> which signature was verified with the authentic copy of vs<sub>I</sub>. Then the same phases as for the individual watermark protection apparatus have to be applied.
Remark:
Since the generated asymmetric key pairs are unique, the ICH can be uniquely identified if no additional watermarks by unauthorized persons have been encoded into the SI of the ICH. The ICO based watermark protection provides the necessary counter measures to prevent this threat.
c) ICO based watermark protection:
As shown in Fig. 3, he apparatus for the ICO based watermark protection is partitioned into four processes, namely the ICH with the name H, the IB process with the name B, the PKI process with the name I, and the ICO process with the name O. Suppose (ps<sub>H</sub>,vs<sub>H</sub>), (pc<sub>H</sub>, vc<sub>H</sub>), (ps<sub>B</sub>,vs<sub>B</sub>), (pc<sub>B</sub>, vc<sub>B</sub>), (ps<sub>I</sub>,vs<sub>I</sub>) (pc<sub>I</sub>, vc<sub>I</sub>), (ps<sub>O</sub>, vs<sub>O</sub>), and (pc<sub>O</sub>,vc<sub>O</sub>) are the unique elliptic curve key pairs of H, B, I and O, respectively. H has an authentic copy of Cert<sub>B</sub> and Cert<sub>O</sub> whose signatures were verified with the authentic copy of vs<sub>I</sub>, B has an authentic copy of Cert<sub>H</sub> and Cert<sub>O</sub> whose signatures were verified with the authentic copy of vs<sub>I</sub>, and O has an authentic copy of Cert<sub>H</sub> and Cert<sub>B</sub> whose signatures were verified with the authentic copy of vs<sub>I</sub>.
The following phases are applied by the processes of the ICO based copyright protection apparatus:
Phase 1 to Phase 3:
See Phase 1 to Phase 3 of the Individual watermark protection.
Phase 4:
H stores the resulting stego image SI.
Phase 5:
H and O execute the following steps for the secure registration or validation of copyright requests, and the generation of copyright certificates. <ul id="ul0020" list-style="none" compact="compact"><li>1. H and O execute <ul id="ul0021" list-style="none" compact="compact"><li>AKAP(H, O, K<sub>HO</sub>, ps<sub>H</sub>, vs<sub>H</sub>, pc<sub>H</sub>, vc<sub>H</sub>, ps<sub>O</sub>, vs<sub>O</sub>, pc<sub>O</sub>, vc<sub>O</sub>)</li></ul> for the generation of a shared symmetric session key K<sub>HB</sub>.</li><li>2. H retrieves the CRD and generates the copyright request CR, <ul id="ul0022" list-style="none" compact="compact"><li>CR := 〈K<sub>HB</sub>[TD||SigTD]〉, with</li><li>TD := CRD||TVP||H||O, and DSSAP<sub>G</sub>(ps<sub>H</sub>, TD, SigTD).</li></ul> H then transmits CR to O.</li><li>3. O receives CR, deciphers K<sub>HB</sub>[TD||SigTD], and verifies TD, applying <ul id="ul0023" list-style="none" compact="compact"><li>DSSAP<sub>V</sub>(vs<sub>H</sub>, SigTD, IVR)</li></ul> where IVR denotes the intermediate verification result. If <ul id="ul0024" list-style="none" compact="compact"><li>IVR = crh(TD), with TD := CRD||TVP||H||O,</li></ul> then TD has been successfully verified and the next step shall be executed. In any other case, the processing and communication between the H and O is stopped. O verifies the CRD with respect to legal copyright issues (uniqueness, originality, etc.). If the data has been successfully verified then the next step shall be executed. In any other case, the processing and communication between the H and O is stopped.</li><li>4. If verification was successful, O generates the corresponding digital copyright certificate executing <ul id="ul0025" list-style="none" compact="compact"><li>DSSAP<sub>G</sub>(ps<sub>O</sub>, CCD, SigCCD).</li></ul> O then stores the copyright certificate CC := CCD||SigCC and generates then the Copyright Confirmation Reply CCR <ul id="ul0026" list-style="none" compact="compact"><li>CCR := 〈K<sub>HO</sub>[TD||SigTD]〉, with</li><li>TD := CC||TVP||O||H, and DSSAP<sub>G</sub>(ps<sub>O</sub>, TD, SigTD).</li></ul> O then transmits CCR to H.</li><li>5. H receives CCR, deciphers K<sub>HO</sub>[TD||SigTD], and verifies TD, applying <ul id="ul0027" list-style="none" compact="compact"><li>DSSAP<sub>V</sub>(vs<sub>H</sub>, SigTD, IVR),</li></ul> where IVR denotes the intermediate verification result. If IVR = crh(TD), with TD := CC||TVP||O||H, then TD has been successfully verified. H then verifies and stores the CC. The following phase can now be executed repeatedly, if necessary, without repetition of the previous phases.</li></ul>
Phase 6:
H and B execute the following steps for the trading of copyright protected digital images: <ul id="ul0028" list-style="none" compact="compact"><li>1. H and B execute <ul id="ul0029" list-style="none" compact="compact"><li>AKAP(H, B, K<sub>HB</sub>, ps<sub>H</sub>, vs<sub>H</sub>, pc<sub>H</sub>, vc<sub>H</sub>, ps<sub>B</sub>, vs<sub>B</sub>, pc<sub>B</sub>, vc<sub>B</sub>)</li></ul> for the generation of a shared symmetric session key K<sub>HB</sub>.</li><li>2. B generates the trading transaction T1, <ul id="ul0030" list-style="none" compact="compact"><li>T1 := 〈K<sub>HB</sub>[TD||SigTD]〉, with</li><li>TD := ID<sub>CI</sub>||TVP||B||H, and DSSAP<sub>G</sub>(ps<sub>B,</sub> TD<sub>,</sub> SigTD).</li></ul> B then transmits T1 to H.</li><li>3. H receives T1, deciphers K<sub>HB</sub>[TD||SigTD], and verifies TD, applying <ul id="ul0031" list-style="none" compact="compact"><li>DSSAP<sub>V</sub>(vs<sub>B,</sub> SigTD<sub>,</sub> IVR)</li></ul> where IVR denotes the intermediate verification result. If <ul id="ul0032" list-style="none" compact="compact"><li>IVR = crh(TD), with TD := ID<sub>CI</sub>||TVP||B||H,</li></ul> then TD has been successfully verified and the next step shall be executed. In any other case, the processing and communication between the H and B is stopped.</li><li>4. If the verification was successful, H retrieves with the ID<sub>CI</sub> information the corresponding stego image SI and generates the trading transaction <ul id="ul0033" list-style="none" compact="compact"><li>T2 := 〈K<sub>HB</sub>[TD||SigTD]〉, with</li><li>TD := SI ||TVP||H||B, and DSSAP<sub>G</sub>(ps<sub>H,</sub> TD<sub>,</sub> SigTD).</li></ul> H then transmits T2 to B.</li><li>5. B receives T2, deciphers K<sub>HB</sub>[TD||SigTD], and verifies TD, applying <ul id="ul0034" list-style="none" compact="compact"><li>DSSAP<sub>V</sub>(vs<sub>H</sub>, SigTD, IVR),</li></ul> where IVR denotes the intermediate verification result. If IVR = crh(TD), with TD := SI||TVP||H||B, then TD has been successfully verified. B stores then the SI.</li></ul>
Remark:
B may check the copyright certificate requesting O to transfer an authentic copy of the copyright certificate for a given image identifier ID<sub>CI</sub>. Except the data transferred, the applied protocol is the same as described in phase 4.
If B would like to transfer a specific copyright of a CI to another legal party, he may initiate a copyright revocation request with O. The different phases of this request are analogue to the copyright request.
The method described in this section II requires a suitable watermarking technique. Various such techniques are known and can be employed. However, a preferred technique is described in the next section.
III. Embedding the watermarks
The watermarking technique described here comprises the following steps: <ul id="ul0035" list-style="none" compact="compact"><li>a) An error-control coding technique for the message to be transmitted in the watermark;</li><li>b) A encoding technique to encode the message resulting from step a);</li><li>c) A reliable method for embedding the encoded message from step b) in the image without introducing visible artifacts.</li></ul>
Each of these three aspects can be applied to conventional watermarking techniques. Preferably, they are used in combination to provide a highly reliable, robust and powerful method for marking data sets. This method can be applied for any watermarking applications, in particular to the application described in section II of this disclosure.
Steps a) and b) can be used for embedding watermarks in any type of data while step c) is optimized for embedding watermarks in images.
In the following, the three elements of the watermarking technique are described in detail.
III.a) Error control coding
Error control coding is applied to the message prior to encoding step III.a). When used in combination with the procedure described in section II, the message corresponds to one of the blocks BL<sub>i</sub>.
Preferably, symbol based Reed Solomon (RS) codes are applied for this purpose. The advantages are the following: <ul id="ul0036" list-style="dash" compact="compact"><li>RS codes correct symbol errors rather than bit errors, and</li><li>RS codes can correct erasures as well as errors. Erasures can be factored out of the key equation, which means that "erased" symbols can be ignored. They do not play any role in the error control mechanism - an erasure is useless redundancy.</li></ul>
Being able to discard erased symbols has two advantages: <ul id="ul0037" list-style="dash" compact="compact"><li>If the posterior probability of a received symbol is low, it may be ignored.</li><li>RS codes only come in standard sizes. For example a 255 x 8 bit code is common. Most commonly used RS error control codes appear to be too large to be used in watermarking. However, it is possible to make almost any RS code fit a watermarking application by judiciously selecting symbols as being erased (because they were never embedded in the image in the first place).</li></ul>
III.b) Encoding the message
During encoding, the message to be transmitted in the watermark is transformed into a form suited for being used in the modulation of image components. At the same time, it is encrypted using a suitable key.
If used with the method of section II, the encoding procedure has access to the cryptographic keys p<sub>H</sub> and v<sub>H</sub> (or their hash values), which are applied as seeds to generate pseudo-random sequences as described below. The public key is used for encoding the message of the public watermark, the private key is used for the private watermark. Knowledge of the corresponding key (or hash value) is required for recovering the message from the watermark.
A watermark may be embedded or extracted by the key owner. In this form spread spectrum is a symmetric key cryptosystem. From the point of view of embedding watermarks in images given the cryptographic keys the sequences themselves can be generated. A good spread spectrum sequence is one which combines desirable statistical properties such as uniformly low cross correlation with cryptographic security.
Suppose we are given a message B (e.g. that was provided with error coding in above step III.a). The message has the binary form b<sub>1</sub>b<sub>2</sub>...b<sub>L</sub>, where b<sub>i</sub> are its bits. This can be written in the form of a set of symbols s<sub>1</sub>s<sub>2</sub> . . .s<sub>M</sub> - most generally by a change in a number base from 2 to B. The next stage is to encode each symbol s<sub>i</sub> in the form of a pseudo random vector of length N, wherein each element of this vector either takes the value 0 or 1. N is e.g. in the order of 1000 to 10000 (typically in the order of 10% of the total number of image coefficients (Fourier components) that can, theoretically, be modulated).
In a preferred embodiment, this is carried out by using a pseudo random generator seeded by the key crh(p<sub>H</sub>) or crh(v<sub>H</sub>).
To encode the first symbol a pseudo random sequence v of length N + B - 1 is generated. To encode a symbol of values where 0 < s < B the elements v<sub>s</sub>, v<sub>s+1</sub> ... v<sub>s+N-1</sub> are extracted as a vector <b>r</b><sub>1</sub> of length N. For the next symbol another independent pseudo random sequence is generated and the symbol encoded as a random vector <b>r</b><sub>2</sub>. Each successive symbol is encoded in the same way. Note that even if the same symbol occurs in different positions in the sequence, no collision is possible because the random sequences used to encode them are different - in fact they are statistically independent. Finally the entire sequence of symbols is encoded as the summation:<maths id="math0001"><img file="EP0905967A1_D0005.tif" /></maths>
The pseudo-random vector <b>m</b> has N elements, each varying between 0 and M. In a next step, the elements of <b>m</b> are offset to make their mean zero. These elements will determine the strength of modulation of the Fourier components of the image in step III.c.
When decoding the watermark, a vector <b>m</b>' (read-out message) is derived from the stego-image. In oblivious watermarking, <b>m</b>' corresponds to the modulated Fourier coefficients. Hence, in general <b>m</b>' will not be equal but "similar" to <b>m</b>.
To decode s from <b>m</b>', the elements of <b>m</b>' are first offset to make their mean zero. Then, starting from the (known) seed, the first random sequence v of length N + B - 1 is generated and the correlation of v with <b>m</b>' is calculated. The peak of the correlation indicates the offset s<sub>1</sub> in the random sequence that was used for generating <b>r</b><sub>1</sub>. Then, the next random sequence v is generated and cross-correlated with <b>m</b>' to retrieve s<sub>2</sub>, etc.
Reliable communications of the apparatus are best accommodated by using m-sequences that possess minimum cross correlation with each other. This is the same as maximizing the Euclidean distance between vectors v<sub>1</sub>, v<sub>2</sub>, v<sub>3</sub>... .
If M is sufficiently large, the statistical distribution of the message <b>m</b> should approach a Gaussian (Central Limit Theorem). A Gaussian distributed watermark has the advantage that it is more difficult to detect. The variance increases with order M<sup>1/2</sup>; in other words, the expected peak excursion of the sequence is only order M<sup>1/2</sup>.
III.c) Embedding the message in the image
In this step, the encoded message <b>m</b> (e.g. as obtained in the previous step) is applied to the image for generating the watermark.
In contrast to steps III.a) and III.b), embedding the message in the image requires some knowledge of the nature of the data stored in the image. In the following, the image is assumed to be a two-dimensional image. The method is optimized for robustness against operations generally applied to images such as translation, cropping, rotating, scaling. (The method is not optimized for other types of data, such as sound or text.)
In order to achieve robustness against circular translation, the image block is first subjected to a Fourier transform. Then, message <b>m</b> is used to modulate the Fourier components. In addition to this, a template is embedded in the image, which template can be used for detecting a rotation and scaling of the image when reading the watermark. A tiling mechanism and suitable phase-dependent correction are applied for providing robustness against cropping.
Figure 4 shows a detailed diagram describing the embedding of the watermark. Calculation starts from the cover image: <ul id="ul0038" list-style="none" compact="compact"><li>1. If the image is a color image, then compute the luminance component (by replacing each pixel by g/2 + r/3 + b/6, where g, r and b are its green, red and blue components) and use these values for the following calculations.</li><li>2. Divide the image into adjacent blocks of size 128 x 128 pixels.</li><li>3. Map the image luminance levels (or gray levels for a black and white image) because it corresponds to a perceptually "flat" domain by replacing them with their logarithm. The logarithm is a good choice because it corresponds of the Weber-Fechner law which describes the response of the human visual system to changes of luminance.</li><li>4. Compute the FFT (Fast Fourier Transform) of each block. From the real and imaginary components obtained in this way, calculate corresponding magnitude and phase components. The magnitude components are translation invariant and will therefore be used in the following modulation steps. (However, it is possible to derive translation invariants from the phase spectrum as well, which could also be modulated).</li><li>5. Select the magnitude components to be modulated. To encode a message <b>m</b> of length N, a total number of N components are modulated. In non-oblivious watermarking, any components can be modulated. For oblivious watermarking, because of interference of the cover image with the watermark, the largest (highest energy) components (at about the lowest 10% of the frequencies) are avoided and components at medium frequencies (about next 30%) are used. These figures are chosen because they generally give a good compromise between robustness and visibility of the watermark. There are two methods for selecting the components to be modulated: <ul id="ul0039" list-style="none" compact="compact"><li>a) The selection of the components to be modulated does not depend on the given image. Rather, the same components are selected for every image. The author as well as the reader of the watermark know the positions of the components to be selected in advance.</li><li>b) The largest components (inside the allowable frequency range) are used for modulation.</li></ul> When selecting the components to be modulated, care must be taken to preserve the symmetry imposed on the Fourier components F(k<sub>1</sub>, k<sub>2</sub>) by the fact that the image block is real valued: F(k<sub>1</sub>, k<sub>2</sub>) = F*(N<sub>1</sub> - k<sub>1</sub>, N<sub>2</sub> - k<sub>2</sub>) (where N<sub>1</sub>, N<sub>2</sub> designate the size of the image block). Once the magnitude components (M<sub>1</sub>, ... M<sub>N</sub>) to be modulated are chosen, the corresponding value m<sub>i</sub> of message <b>m</b> is added to or subtracted from the corresponding selected magnitude component M<sub>i</sub>. Addition is used, if the corresponding phase component P<sub>i</sub> is between 0 and π, subtraction if it is between π and 2π. This provides robustness against translation and cropping (see below). Before adding/subtracting the values m<sub>i</sub> to/from M<sub>i</sub>, the vector <b>m</b> can be scaled to adjust the magnitude of its elements to those of the components M<sub>i</sub>. Generally, the elements m<sub>i</sub> should be in the same order of magnitude as the components M<sub>i</sub>. The depth of modulation or amplitude of the embedded signal should depend on the objective measure of the perceptual significance. The lower the perceptual significance, the higher should be the amplitude of the watermark. However, for simplicity, the amplitude for all components is kept constant.</li><li>6. Add a template by a second modulation of the magnitude components. This is described in more detail below.</li><li>7. Compute the inverse FFT using the phase components and the modulated magnitude components.</li><li>8. Compute the inverse of the perceptual mapping function of step 3. For Weber-Fechner law mapping, the inverse function is an exponential.</li><li>9. Replace each watermarked block in the image to obtain the stego image.</li><li>10.If the image is a color image, then rescale the red, green and blue components by the relative change in luminance introduced by embedding a watermark. Typically, the red, green and blue pixels occupy a byte each in program memory. If overflow or underflow occurs then the pixel is set to the upper bound 255 or lower bound 0 respectively.</li></ul>
Template:
As mentioned above, a template is added to the image in step 6. The steps for generating the template are illustrated in Fig. 5: <ul id="ul0040" list-style="none" compact="compact"><li>20. Apply a log-polar map to the magnitude components, i.e. transform them into a polar coordinate system (Θ, log-r) with logarithmic radius axis. In this representation, a scaling of the image leads to an offset of the components along the log-r axis. A rotation of the image leads to an offset along the Θ axis. Preferably, low pass filtering is used for interpolating the frequency space components during this mapping. The magnitude components belonging to very low or high frequencies are not mapped. The following modulation is only applied to components in medium frequency range.</li><li>21. Select the magnitude components in the log-polar coordinate system to be modulated. Typically, about 10% of all components are to be modulated. The pattern <b>T</b> formed by the selected components in log polar space should be such that its auto-correlation under translation is weak. For this purpose, the indices of the selected components should be coprime or be derived from a two-dimensional random sequence. Each selected component is increased by a given value.</li><li>22. Map the modulated points by change of coordinates back into frequency space.</li></ul>
The pattern <b>T</b> formed by the selected components in log polar space is predefined and known to the reader of the watermark.
It must be noted that the calculation of the log-polar transform is not required for generating the template. Instead of this, the pattern <b>T</b> of the components to be modulated in log-polar space can be mapped back to frequency space, which results in a pattern <b>T</b>' in frequency space that can be applied directly to (e.g. added to) the components in frequency space.
As will be explained below, the template is not required for non-oblivious watermarking.
Figure 6 shows a detailed diagram illustrating the steps for reading a watermark from the stego image: <ul id="ul0041" list-style="none" compact="compact"><li>31. If the image is a color image then compute the luminance component and use these values for the following calculations.</li><li>32. Divide the image into adjacent blocks of size 128 x 128.</li><li>33. Map the image luminance levels (or gray levels) to the perceptually "flat" domain by replacing them with their logarithm.</li><li>34. For each block compute the FFT.</li><li>35. Determine the rotation and scaling that the image suffered by finding the template in log-polar space. This is described below.</li><li>36. Using the results of step 35, read the modulated components to generate message <b>m</b>'. This requires the knowledge of the method that was used in step 5 for selecting the components to be modulated.</li></ul>
Once that the message <b>m</b>' is recovered, it is demodulated and error corrected using the methods described in sections III.a) and III.b).
Finding the template:
The steps for finding the template are illustrated in Fig. 7: <ul id="ul0042" list-style="none" compact="compact"><li>40. Apply log-polar mapping to the magnitude components of the Fourier transform. The magnitude components belonging to very low or high frequencies are not mapped. The following analysis is only applied to components in medium frequency range</li><li>41. For oblivious watermarking, calculate the normalized cross correlation of the components in log-polar space with the template pattern <b>T</b> that was used for generating the template in step 21 and find the point of best correlation. If the image has neither been rotated or scaled, this point is at zero. Scaling leads to a corresponding offset along the log-r axis, rotation to a corresponding offset along the Θ axis. For non-oblivious watermarking, the log polar transform of the Fourier components of the cover image can be used instead of template pattern <b>T</b> for retrieving scaling and rotation. The cross correlation can be calculated efficiently using conventional Fourier techniques.</li></ul>
Properties of the watermark:
In the following, some of the properties of the watermark generated using the steps described above are discussed.
Resistance to cropping:
One feature of translation invariants developed using the Fourier transform is that they are invariant to circular translations (or cyclic shifts). This is used to construct watermarks that are invariant to cropping. This is illustrated by reference to Figs. 8 and 9.
As mentioned above, the image is split into blocks and the watermark is applied to each block. In other words, the same modulation pattern is applied to the Fourier components of each block, wherein the modulation pattern is given by the corresponding encoded messages <b>m</b>.
Fig. 8 shows such an image where the fat lines 100 designate the borders between the blocks. Suppose that the watermark in a standard size block will be of the form:<maths id="math0002"><math display="block"><mrow><mtext>T=[A B ; C D]</mtext></mrow></math><img file="EP0905967A1_D0006.tif" /></maths> where the submatrices A, B, C and D are of arbitrary size. A circular translation of such a watermark is of the form:<maths id="math0003"><math display="block"><mrow><mtext>S=[D C ; B A].</mtext></mrow></math><img file="EP0905967A1_D0007.tif" /></maths>
The original stego image is tiled with watermarks in the pattern [T T T T ; T T T T ;T T T T]. Therefore, a cropped section of the matrix will carry a watermark in the form [S S S S ; S S S S ; S S S S]. This is illustrated in Figure 9. When reading the watermark of the cropped image of Fig. 9, each block carries the watermark S. Since S is a circular transform of T, it can be read without problems in the Fourier domain using the steps outlined above.
Note, however, that the cover image is not tiled, only the watermark is. Therefore, while cropping merely induces a circular translation of the watermark in each block, the change of image in each block is not a circular translation. To compensate for this, the phase components P<sub>i</sub> of the Fourier transform must be used for correcting the sign of the modulation of the magnitude components M<sub>i</sub>, as it is outlined under step 5 above.
The optimum size of block depends on a number of different factors. A size that is a power of two is useful because the FFT can be used. The block size also must be small enough to withstand cropping but large enough to comfortably contain a watermark. The best compromise for block size is 128.
Resistance to scaling and rotation:
As mentioned above, reading the template in log-polar space allows to detect and measure any scaling and/or rotation that was applied to the image. This information can then be used for reading the watermark. Since the reader knows the pattern that was used for modulating the magnitude components in step 5, he can identify the modulated components in the scaled and rotated image and derive the message <b>m</b>' therefrom.
Note that the apparatus does not explicitly use a rotation and scale invariant watermark but instead searches the parameter space of rotations and scales. Since searching the space of rotation and scales in the frequency or space domain is quite complicated, the log-polar map is used where these parameters are Cartesian coordinates and can be searched using efficient correlation techniques.
Redundancy:
The watermark is embedded in blocks of a fixed size with exactly the same watermark embedded in each block. This means that the watermark can be recovered from a single block only. This leads to a redundancy that increases the chance of extracting the watermark correctly from more than one block.
IV. Summary
The following summarizes some of the properties of the preferred embodiments of the invention.
The use of an asymmetric cryptographic key pair for the seed generation enables the execution of asymmetric key agreement protocols with message recovery or appendix and the protection of the communication between the involved parties. Different security services for the communication, such as mutual authentication, integrity, confidentiality and non-repudiation are supported by the system with one asymmetric cryptographic key pair of the watermark author only for a registration or trading process
The present technique enables a strong binding relation between the image ID, the image, and the ICH if the ICH registers his copyright at the ICO. If an image is watermarked later by an unauthorized person, the time stamp in the copyright certificates resolves the copyright ownership.
The ICH does not have to reveal his private cryptographic key if ownership verification has to be applied by a different legal party.
The present technique supports transferral of copyrights. If copyright is transferred to another legal party, corresponding copyright revocation certificates may be generated.
Digital signatures techniques are applied for the security of the communication between different parties and the authentication data embedded in a private or public watermark of an image. No signature labeling techniques of the complete image are applied by the system.
The Fourier-Mellin transform has been enhanced as described above. The Fourier Mellin Transform is the Fourier Transform of a log polar map. In the present invention, the log polar map of a Fourier transform is used as a means of facilitating rotation and scaling invariance.
Circular translation invariants are used as a means of constructing digital watermarks that are invariant to cropping.
In contrast to some known techniques, the present system does not require a database of all watermarks that were ever embedded in image anywhere.
Information is embedded and/or retrieved in the log polar domain of the Fourier transform. Frequency components are modulated which are oblivious to the cover image but which also have the property that they form an unambiguous non-repeated pattern in log-polar space. They are used for determining the degree of rotation and scaling suffered by a stego-image in the absence of the cover-image. Coprime frequencies are useful for generating such a pattern or template. Uniform random sampling of log polar space is another method that can be applied.
The technique applies a new concept of invariants which are based on the modification of the well known FM transform and the coprime frequencies.
The methods described above can be incorporated into an apparatus, such as one or more computers, using know programming and hardware techniques. To prove the feasibility of the approach, a Java based copyright protection and authentication environment for digital images has been implemented. The PKI, the ICH, the ICO, and the IB application processes all implement a Graphical User Interface and a server, supporting both console users and other requests through a socket interface.
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both waysCites: the store holds 10 of 11
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| KR20020079242A | Cited by | Republic of Korea | – | Search report | – |
| WO0154331A1 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| KR100837839B1 | Cited by | Republic of Korea | – | Search report | – |
| KR100417312B1 | Cited by | Republic of Korea | – | Examiner | – |
| US7916862B2 | Cited by | United States of America | – | Applicant | – |
| US6959098B1 | Cited by | United States of America | – | Applicant | – |
| EP1150492A3 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US7130443B1 | Cited by | United States of America | – | Applicant | – |
| EP1113670A2 | Cited by | European Patent Office (EPO) | – | Search report | – |
| EP1156660A3 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US7930546B2 | Cited by | United States of America | – | Applicant | – |
| US6853737B2 | Cited by | United States of America | – | Applicant | – |
| US6817535B2 | Cited by | United States of America | – | Applicant | – |
| CN112364310A | Cited by | China | – | Search report | – |
| CN112561771A | Cited by | China | – | Search report | – |
| EP1104969A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| EP1113670A3 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US7298841B2 | Cited by | United States of America | – | Applicant | – |
| CN101872617A | Cited by | China | – | Search report | – |
| WO0157868A1 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| US7917766B2 | Cited by | United States of America | – | Applicant | – |
| US6755346B2 | Cited by | United States of America | – | Applicant | – |
| WO0211326A3 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| DE19847943A1 | Cited by | Germany | – | Search report | – |
| EP1150492A2 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US8494903B2 | Cited by | United States of America | – | Applicant | – |
| US6928162B1 | Cited by | United States of America | – | Applicant | – |
| CN109919824A | Cited by | China | – | Search report | – |
| GB2365296A | Cited by | United Kingdom | – | Search report | – |
| WO0157868A1 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| CN110335188A | Cited by | China | – | Search report | – |
| US7555649B1 | Cited by | United States of America | – | Applicant | – |
| WO0211326A2 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| EP1156660A2 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US6282300B1 | Cited by | United States of America | – | Search report | – |
| KR100837839B1 | Cited by | Republic of Korea | – | Examiner | – |
| EP0534419A2 | Cites | European Patent Office (EPO) | YA | Search report | 1 |
| EP0534419A2 | Cites | European Patent Office (EPO) | YA | Search report | 1 |
| EP0539726A2 | Cites | European Patent Office (EPO) | A | Search report | – |
| EP0539726A2 | Cites | European Patent Office (EPO) | A | Search report | – |
| EP0766468A2 | Cites | European Patent Office (EPO) | X | Search report | 19 |
| EP0766468A2 | Cites | European Patent Office (EPO) | X | Search report | 19 |
| WO9627259A1 | Cites | World Intellectual Property Organization (WIPO) | A | Search report | 17 |
| WO9627259A1 | Cites | World Intellectual Property Organization (WIPO) | A | Search report | 17 |
| WO9636163A2 | Cites | World Intellectual Property Organization (WIPO) | A | Search report | 17 |
| WO9636163A2 | Cites | World Intellectual Property Organization (WIPO) | A | Search report | 17 |
| DELAIGLE J -F ET AL: "DIGITAL WATERMARKING", PROCEEDINGS OF THE SPIE, vol. 2659, 1 February 1996 (1996-02-01), pages 99 - 110, XP000604065 | Non-patent | – | – | Search report | – |
| KIYOSHI TANAKA ET AL: "A DIGITAL SIGNATURE SCHEME ON A DOCUMENT FOR MH FACSIMILE TRANSMISSION", ELECTRONICS & COMMUNICATIONS IN JAPAN, PART I - COMMUNICATIONS, vol. 74, no. 8, 1 August 1991 (1991-08-01), pages 30 - 36, XP000287493 | Non-patent | – | – | Search report | – |
| ZHAO J ET AL: "EMBEDDING ROBUST LABELS INTO IMAGES FOR COPYRIGHT PROTECTION", PROCEEDINGS OF THE KNOWRIGHT. CONFERENCE. PROCEEDINGS OF THE INTERNATIONAL CONGRESS ON INTELECTUAL PROPERTY RIGHTS FOR SPECIALIZED INFORMATION, KNOWLEGDE AND NEW TECHNOLOGY, 21 August 1995 (1995-08-21), pages 242 - 251, XP000603945 | Non-patent | – | – | Search report | – |
| ZHAO J.: "a www service to embed and prove digital copyright watermarks", PROCEEDINGS OF THE EUROPEAN CONFERENCE ON MULTIMEDIA APPLICATIONS, SERVICES AND TECHNIQUES, vol. 2, 28 May 1996 (1996-05-28) - 30 May 1996 (1996-05-30), Louvain la Neuve (BE), pages 695 - 709, XP000199921 | Non-patent | – | – | Search report | – |
| DELAIGLE J-F ET AL: "digital images protection techniques in a broadcast framework: an overview", PROCEEDINGS OF THE EUROPEAN CONFERENCE ON MULTIMEDIA APPLICATIONS, SERVICES AND TECHNIQUES, vol. 2, 28 May 1996 (1996-05-28) - 30 May 1996 (1996-05-30), Louvain la Neuve (BE), pages 711 - 727, XP000199920 | Non-patent | – | – | Search report | – |
| O RUANAIDH J.J.K. ET AL: "phase watermarking of digital images", PROCEEDINGS OF 3RD IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, vol. 3, 16 September 1996 (1996-09-16) - 19 September 1996 (1996-09-19), Lausanne (CH), pages 239 - 242, XP000199952 | Non-patent | – | – | Search report | – |
6 members in 5 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 97810708 | European Patent Office (EPO) | A | |
| EP19970810708 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| EP0905967A1This record | European Patent Office (EPO) | A1 | |
| CA2304611A1 | Canada | A1 | |
| WO9917536A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU9453798A | Australia | A | |
| EP1013073A1 | European Patent Office (EPO) | A1 | |
| JP2001518650A | Japan | A |
7 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Designated country de not longer valid8566 | 8566 | DE | |
| Application deemed to be withdrawnWithdrawn18D | 18D | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | EP | |
| Designation fees paidAKX | AKX | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAL;LT;LV;RO;SIAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0905967
- Publication, DOCDB
- 0905967
- Publication, EPODOC
- EP0905967
- Application
- 97810708
- Application, DOCDB
- 97810708
- Application, EPODOC
- EP19970810708
Titles3
- German
- Verfahren zur Erzeugung von digitalen Wasserzeichen und zum Austausch von digitale Wasserzeichen enthaltenden Daten
- English
- Method for generating digital watermarks and for exchanging data containing digital watermarks
- French
- Procédé de génération de filigrames numériques et d'échange de données comportant des filigrames
Classification
- CPC, 19
- H04N1/32154
- G06T1/0064
- G06T2201/0052
- G06T2201/0083
- H04L63/0442
- H04L63/045
- H04L2463/103
- H04N1/3216
- H04N1/32187
- H04N1/32192
- H04N1/32267
- H04N1/32309
- H04N21/8358
- H04N2201/3233
- H04N2201/327
- H04N2201/3278
- H04L9/3247
- H04L2209/34
- H04L2209/608
- IPC, 14
- H04N19 00
- G06T1 00
- G09C5 00
- H04L9 30
- H04L29 06
- H04N1 32
- H04N1 387
- H04N1 44
- H04N19 467
- H04N19 60
- H04N19 625
- H04N19 65
- H04N19 70
- H04N19 89
Designated states2
- Contracting states, 1
- Sweden
- Extension states, 1
- Slovenia