US20110176706A1 - Watermark payload encryption for media including multiple watermarks - Google Patents

Watermark payload encryption for media including multiple watermarks Download PDF

Info

Publication number
US20110176706A1
US20110176706A1 US13/074,141 US201113074141A US2011176706A1 US 20110176706 A1 US20110176706 A1 US 20110176706A1 US 201113074141 A US201113074141 A US 201113074141A US 2011176706 A1 US2011176706 A1 US 2011176706A1
Authority
US
United States
Prior art keywords
message
media signal
watermark
error
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/074,141
Inventor
Kenneth L. Levy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US13/074,141 priority Critical patent/US20110176706A1/en
Publication of US20110176706A1 publication Critical patent/US20110176706A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/608Watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • H04N2201/3239Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark using a plurality of different authentication information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3281Encryption; Ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3284Processing of the additional information for error correction

Definitions

  • the invention relates to digital watermarking, steganography, and specifically to message coding protocols used in conjunction with digital watermarking and steganographic encoding/decoding methods.
  • Digital watermarking is a process for modifying physical or electronic media signals to embed a hidden machine-readable code into the media.
  • the media signal may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process.
  • digital watermarking is applied to media signals such as images, audio signals, and video signals.
  • it may also be applied to other types of media objects, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
  • Steganography is related field of study pertaining to encoding and decoding of hidden auxiliary data signals, such that the auxiliary data is not discernable by a human.
  • Digital watermarking systems typically have two primary components: an encoder that embeds the watermark in a host media signal, and a decoder that detects and reads the embedded watermark from a signal suspected of containing a watermark (a suspect signal).
  • the encoder embeds a watermark by subtly altering the host media signal.
  • the reading component analyzes a suspect signal to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
  • One practical challenge in the deployment of digital watermarking systems is the potential lack of flexibility in changing aspects of the digital watermark system once it's deployed.
  • the syntax used in the protocol can include the types and sizes of message fields, as well as the symbol coding alphabet (e.g., use of binary or M-ary symbols, etc.)
  • the semantics used in the protocol refer to the meaning of the message elements in the message payload (e.g., what the elements are interpreted to mean). While such changes may not alter the fundamental data hiding or extraction function, they present a practical difficulty because the deployed digital watermark readers may be rendered obsolete if the protocol is changed.
  • the invention provides variable message protocol methods for digital watermarking
  • One aspect of the invention is a message protocol method for digital watermarking. This method forms a fixed message protocol portion having a fixed length and identifying a version of a variable protocol portion. The method also forms a variable message protocol portion having variable error robustness message coding format. The version indicates the error robustness coding format of the variable protocol portion.
  • the fixed and variable message protocol portions are then embedded into a host media signal such that the message is substantially imperceptible in the host media signal.
  • Another aspect of the invention is a method for decoding a digital watermark having fixed and variable protocol message portions.
  • the method extracts a hidden message code embedded in a host media signal by evaluating the host media signal to compute the hidden message code having fixed and variable message protocol portions. It performs error robustness decoding of the fixed protocol portion of the extracted message code to produce one or more message symbols representing a version identifier. Next, it interprets the version identifier to ascertain a version of variable protocol used to embed the variable protocol portion. Finally, it applies an error robustness decoding method of the version to decode message symbols of the variable message protocol portion.
  • Another aspect of the invention is a message protocol method for steganographically encoding a variable message into a media signal.
  • This method forms a control message portion including at least one symbol that identifies the format of the variable message. It also forms a variable message according to the format. The format indicates a variable length of the variable message portion.
  • the method produces a media signal with the variable message steganographically encoded in it such that the variable message is not discernable by a human but is readable by an automated reader. For example where the media signal is an image, a human viewer is not able to read the variable message encoded in that image because symbols in the variable message are arranged so as not to be interpretable without knowledge of the encoding format.
  • FIG. 1 is a diagram illustrating an extensible message protocol method for digital watermark embedding.
  • FIG. 2 is a diagram illustrating a method of extracting a digital watermark message from a host media signal that has been embedded using the method of FIG. 1 .
  • FIGS. 3A and 3B show examples of bit cells used in one form of digital watermark embedding.
  • FIG. 4 shows a hierarchical arrangement of signature blocks, sub-blocks, and bit cells used in one implementation of a digital watermark message protocol.
  • FIG. 5 is an overview of two different payload portions and related encryption.
  • FIG. 6 shows a relationship between key pairs and related key management.
  • FIG. 7 shows a two payload scheme in which only one watermark payload is encrypted.
  • FIG. 8 illustrates a two payload scheme in which a primary payload is decrypted with a so-called “regional” public key.
  • FIG. 9 illustrates a secure jurisdictional private detector.
  • FIG. 1 is a diagram illustrating a message protocol method for digital watermark embedding.
  • the protocol in this context refers to how the message is prepared for digital watermark embedding into a host media signal.
  • One attribute specified by the message protocol is the error robustness coding that is applied to the message.
  • Error robustness coding includes operations on the message that make it more robust to errors that undermine its complete and accurate recovery in potentially distorted version of the watermarked host media signal.
  • Specific forms of error robustness coding include repetition of one or more parts of the message, and error correction coding of one or more parts of the message.
  • the message payload is a variable part of the message. It can be variable in both content (e.g., the values of the individual message symbols in the payload are variable), and length (e.g., the number of symbols is variable).
  • This message payload enables the digital watermark system to convey unique information per watermarked item, such as an item ID, a transaction ID, a variable ASCII character message, etc.
  • a related aspect of the message protocol is the syntax and semantic meaning of the message elements.
  • the fields within that payload may change, as well as the semantic meaning of the fields.
  • the first N binary symbols may represent a unique ID, while the next M bits represent a source ID or hash of the object in which the information is embedded.
  • N and M change and other fields are added or deleted, the syntax and semantic meaning of symbols in the payload change.
  • Yet another aspect of the protocol is the extent to which it facilitates digital watermarking systems that have different message protocols, yet are backward and/or forward compatible with each other.
  • Backward compatibility refers to the case where new versions of the digital watermark reader are able to read messages using the most recently released protocol version, as well as messages in every prior protocol version.
  • Forward compatibility refers to the case where a current version of the digital watermark reader is able to read messages compatible with subsequently released protocol versions. Further examples illustrating this aspect of the protocol follow later.
  • the method illustrated in FIG. 1 operates with many different forms of digital watermark embedding and detecting operations.
  • the message protocol method is widely applicable.
  • the method of FIG. 1 also operates on different host media signal types and formats. For the sake of illustration, examples are presented of still image watermark embedding that are extendable to other media types, such as motion images (e.g., video) and audio.
  • the method is implemented in software and operates on blocks of the host media signal of a fixed size. These blocks are typically much smaller than the overall size of the host signal, and as such, are tiled or otherwise repeated throughout the host signal to provide an additional layer of robustness beyond the robustness coding within each block.
  • the message 100 has a fixed protocol portion 102 and a variable protocol portion 104 .
  • the fixed protocol portion includes a fixed message part 106 , and a variable message part 108 .
  • Each of the parts of the fixed protocol portion has a fixed length, and employs a fixed error robustness coding method.
  • the fixed message part includes a fixed set of known message symbols that serve as a test for false positives (e.g., provide a check to ensure a valid digital watermark is present).
  • the variable part carries a version identifier 108 .
  • This version identifier may carry version parameters, such as an error correction type identifier, a repetition indicator, an error detect indicator or an index that refers to the type of error correction, error detection, and/or repetition applied in the variable protocol portion 104 .
  • the variable part of the fixed protocol varies so as to indicate the version of the variable protocol used in processing the variable protocol portion.
  • the variable protocol portion 104 includes a variable payload part 110 and an error detect part 112 .
  • the payload has a variable number of symbols (X) as specified by the version.
  • the protocol employs a form of error detection, such as a certain type and length of Cyclic Redundancy Check symbols.
  • the variable message protocol portion therefore, includes a number of error detect symbols (Y).
  • the message protocol method generates a message code signal 114 by performing error robustness coding on the fixed and variable protocol portions.
  • the method uses a fixed error correction coding method 116 followed by fixed repetition 118 of the resulting message a predetermined number of times (n). While the diagram shows error correction followed by repetition coding, the error robustness coding of the fixed portion may include error correction and/or repetition coding. Examples of error correction coding include block codes (e.g., BCH, Reed Solomon, etc.), convolution codes, turbo codes or combinations thereof.
  • the version parameters 120 in the illustrated example specify the payload and error detection part lengths, and number of repetitions of the variable portion or individual parts of the variable portion. They may also specify the type of error correction coding to be applied, such as block codes, convolution codes, concatenated codes, etc. As explained further below, some forms of error correction, such as convolution codes, perform error correction in a manner that depends on subsequent symbols in the message symbol string. As such, symbols at the end of the string are error correction decoded with less confidence because there are fewer or no symbols following them. This attribute of error correction coding schemes that have “memory” can be mitigated by repeating parts of the message symbol string that are more susceptible to errors due to the lack of memory than other parts of the message symbol string. As noted, this typically leads to repetition of the tail of the string more than the beginning of the string.
  • the protocol method applies a selected error correction coding 122 to the symbols of the variable portion 104 , and then applies repetition coding 124 to one or more parts of the error correction coded symbols.
  • the protocol method then appends 126 the robustness coded fixed and variable portions to form a message code signal 114 .
  • the method transforms ( 128 ) the message code signal with a secret key.
  • This transformation may include a vector XOR or matrix multiplication of a key 130 , such as pseudorandom number that is sufficiently independent from other like key numbers, with the message code signal.
  • the key may be a seed number to a pseudorandom sequence generator, an index to a look up table that produces a vector or matrix, or a vector/matrix, etc.
  • the key serves the function of making the digital watermark un-readable to anyone except those having the proper key. The use of this key enables the digital watermarking protocol to be used for several entities wishing to privately embed and read their own digital watermarks, through the use of their own keys.
  • the result of the transformation by the key 130 is the secure message code 132 .
  • Our example implementation applies an additional transformation to the secure message code before embedding it into the host media signal block.
  • a mapping function 134 maps elements of the secure message code vector to elements of the host signal block.
  • the elements of the host signal block may be characteristics of individual samples (luminance of pixels or frequency coefficients), or characteristics of groups of samples (statistical features).
  • the carrier signal function 136 transforms the message code elements as a function of corresponding elements of a carrier signal.
  • One such example is spread spectrum modulation of the secure message code with a carrier signal.
  • the carrier signal may have attributes that increase robustness of the watermark (message spreading and scattering as an anti jamming mechanism), and facilitate detection and geometric synchronization (e.g., autocorrelation properties).
  • the result of transformation by the carrier and mapping functions 138 is an intermediate signal.
  • a digital watermark embedder 140 modifies characteristics of elements of the host media signal block according to the elements of the intermediate signal to hide the intermediate signal in the host media signal block.
  • Such embedding methods may be employed, including those discussed in the documents incorporated by reference. Where perceptual artifacts are a concern, human perceptual modeling may be employed to reduce the perceptibility of artifacts caused by modifying the host media signal block according to the intermediate signal.
  • FIG. 2 is a diagram illustrating a method of extracting a digital watermark message from a host media signal that has been embedded using the method of FIG. 1 .
  • This method is implemented in a software implementation of a digital watermark reader.
  • the reader extracts estimates of values for the intermediate signal from the host, using a reader 150 compatible with the embedder 140 of FIG. 1 . This process may be performed after filtering, synchronizing and generating blocks of the host media signal.
  • the reader 150 extracts estimates of the intermediate signal elements. It then uses the mapping function 152 and carrier signal 154 to convert elements of the intermediate signal embedded in each host media signal block to soft estimates of the secure message code.
  • each soft message code element represents a value between S, and ⁇ S, where S represents an integer corresponding to binary symbol 1, and ⁇ S represents the negative integer corresponding to binary symbol 0.
  • the reader transforms ( 158 ) the secure message code estimate with the key 160 .
  • This operation reverses the key transformation 128 applied to the message code in the embedder of FIG. 1 .
  • the result is a message code signal estimate, which includes the fixed and variable message protocol portions.
  • the reader extracts these portions ( 164 , 166 ) and proceeds to apply the fixed protocol to decode the error robustness coding of the fixed protocol portion. This entails accumulation 168 of the repeated message symbols, followed by error correction decoding 170 .
  • the result of the error correction decoding includes a set of fixed symbols (the false positive symbols) 172 , and the version identifier 174 .
  • the reader compares the extracted fixed symbols with the actual fixed symbols 176 , and if there is a match 178 , then the version identifier is deemed to be accurate.
  • the reader interprets the version identifier to get the version parameters 180 , such as the error correction coding type for the variable protocol, the repetition parameters, the structure of the variable protocol portion, etc.
  • the version parameters may be carried within the version identifier directly or may be accessed via a look-up operation, using the version identifier as an index.
  • the reader proceeds to decode the error robustness coding of the variable protocol portion.
  • This decoding entails, for example, accumulation 182 of the repeated symbols to undo the repetition coding, along with error correction decoding 184 according to the version information.
  • the result of the decoding includes the payload 186 and error detection symbols 188 .
  • the reader applies the error detection method to the payload and compares 190 with the error detection symbols to confirm the accuracy of the payload information.
  • This protocol portion enables the watermarking system to be backward and forward compatible. It is backward compatible because each new version of watermark detector may be programmed to read digital watermarks embedding according to the current version and every prior version of the protocol. It can be forward compatible too by establishing version identifiers and corresponding protocols that will be used in future versions of the system. This enables watermark detectors deployed initially to read the current version of the protocol, as well as future versions of the protocol as identified in the version identifier. At the time of embedding a particular media signal, a digital watermark embedder embeds a version identifier of the protocol used to embed the variable protocol portion. At the time of reading the digital watermark, a reader extracts the version identifier to determine the protocol of the variable protocol portion, and then reads the message payload carried in the variable protocol portion.
  • the digital watermark message includes a control message protocol portion and a variable message protocol portion.
  • the control message includes control symbols indicating the format and length of the variable message protocol portion.
  • the control message protocol and the variable message protocol include symbols that are mapped to locations within a block of the host signal called a “signature” block. As the length of the variable message portion increases, the redundancy of the control message portion decreases.
  • U.S. Pat. No. 5,862,260 describes a variety of digital watermark embedding methods.
  • One such class of methods for images and video increments or decrements the values of individual pixels, or of groups of pixels (bumps), to reflect encoding of an auxiliary data signal combined with a pseudo random noise signal.
  • One variation of this approach is to embed the auxiliary data—without pseudo randomization—by patterned groups of pixels, termed “bit cells.”
  • FIGS. 3A and 3B two illustrative 2 ⁇ 2 cells are shown.
  • FIG. 3A is used to represent a “0” bit of the auxiliary data
  • FIG. 3B is used to represent a “1” bit.
  • the pixels of the underlying image are tweaked up or down in accordance with the +/ ⁇ values of the bit cells to represent one of these two bit values.
  • the magnitude of the tweaking at any given pixel, bit cell or region of the image can be a function of many factors, including human perceptibility modeling, non-linear embedding operations, etc. as detailed in U.S. Pat. No. 5,862,260. In this case, it is the sign of the tweaking that defines the characteristic pattern.
  • the relative biases of the encoded pixels are examined using techniques described above to identify, for each corresponding region of the encoded image, which of the two patterns is represented.
  • auxiliary data is not explicitly randomized in this embodiment, it will be recognized that the bit cell patterns may be viewed as a “designed” carrier signal.
  • bit cell patterning manifests itself in Fourier space.
  • the bit cell patterning can act like the subliminal digital graticules discussed in U.S. Pat. No. 5,862,260 to help register a suspect image to remove scale/rotation errors.
  • the location of the energy thereby produced in the spatial transform domain can be tailored to optimize independence from typical imagery energy and facilitate detection.
  • auxiliary data is encoded directly—without randomization by a PRN signal, in other embodiments, randomization can of course be used.
  • FIG. 4 illustrates an example of a digital watermarking protocol having a message control portion and a variable portion. While this protocol is illustrated using an image, it applies to other media types and digital watermark embedding/reading systems.
  • an image 1202 includes a plurality of tiled “signature blocks” 1204 .
  • signature blocks may be present at the image edges.
  • Each signature block 1204 includes an 8 ⁇ 8 array of sub-blocks 1206 .
  • Each sub-block 1206 includes an 8 ⁇ 8 array of bit cells 1208 .
  • Each bit cell comprises a 2 ⁇ 2 array of “bumps”. 1210 .
  • Each bump 1210 comprises a square grouping of 16 individual pixels 1212 .
  • the individual pixels 1212 are the smallest quanta of image data. In this arrangement, however, pixel values are not, individually, the data carrying elements. Instead, this role is served by bit cells 1208 (i.e. 2 ⁇ 2 arrays of bumps 1210 ).
  • the bumps comprising the bits cells are encoded to assume one of the two patterns shown in FIG. 3 .
  • the pattern shown in FIG. 3A represents a “0” bit
  • the pattern shown in FIG. 3B represents a “1” bit.
  • Each bit cell 1208 64 image pixels
  • Each sub-block 1206 includes 64 bit cells, and thus conveys 64 bits of embedded data.
  • the embedded data includes two parts: control bits and message bits.
  • the 16 bit cells 1208 A in the center of each sub-block 1206 serve to convey 16 control bits.
  • the surrounding 48 bit cells 1208 B serve to convey 48 message bits.
  • This 64-bit chunk of data is encoded in each of the sub-blocks 1206 , and is repeated 64 times in each signature block 1204 .
  • the values of individual pixels are additionally adjusted to effect encoding of subliminal graticules through the image.
  • the graticules discussed in conjunction with FIG. 29A in U.S. Pat. No. 5,862,260 are used, resulting in an imperceptible texturing of the image.
  • the image is to be decoded, the image is transformed into the spatial domain, a Fourier-Mellin technique is applied to match the graticule energy points with their expected positions, and the processed data is then inverse-transformed, providing a registered image ready for decoding (see U.S. Pat. No. 5,862,260).
  • the sequence of first tweaking the image to effect encoding of the subliminal graticules, or first tweaking the image to effect encoding of the embedded data, is not believed to be critical.
  • the local gain factors discussed in U.S. Pat. No. 5,862,260
  • the data is encoded; then the subliminal graticule encoding is performed. Both of these encoding steps make use of the local gain factors.
  • control bit # 1 (represented in sub-block 1206 by bit cell 1208 Aa). If this value is determined (e.g. by statistical techniques of the sort detailed above) to be a “1,” this indicates that the format of the embedded data conforms to the standard detailed herein.
  • control bit # 2 (represented by bit cells 1208 Ab) is a flag indicating whether the image is copyrighted.
  • Control bit # 3 (represented by bit cells 1208 Ac) is a flag indicating whether the image is unsuitable for viewing by children. Certain of the remaining bits are used for error detection/correction purposes.
  • each sub block 1206 can be put to any use; they are not specified in this format.
  • One possible use is to define a numeric “owner” field and a numeric “image/item” field (e.g. 24 bits each).
  • each sub-block 1206 contains the entire control/message data, so same is repeated 64 times within each signature block of the image.
  • control bit # 1 is not a “1,” then the format of the embedded data does not conform to the above described standard.
  • the reading software analyzes the image data to determine the value of control bit # 4 . If this bit is set (i.e. equal to “1”), this signifies an embedded ASCII message. The reading software then examines control bits # 5 and # 6 to determine the length of the embedded ASCII message.
  • control bits # 5 and # 6 both are “0,” this indicates the ASCII message is 6 characters in length.
  • the 48 bit cells 1208 B surrounding the control bits 1208 A are interpreted as six ASCII characters (8 bits each).
  • each sub-block 1206 contains the entire control/message data, so same is repeated 64 times within each signature block 1204 of the image.
  • control bit # 5 is “0” and control bit # 6 is “1,” this indicates the embedded ASCII message is 14 characters in length.
  • the 48 bit cells 1208 B surrounding the control bits 1208 A are interpreted as the first six ASCII characters.
  • the 64 bit cells 1208 of the immediately-adjoining sub-block 1220 are interpreted as the final eight ASCII characters.
  • bit-cells 1208 in the center of sub-block 1220 are not interpreted as control bits. Instead, the entire sub-block serves to convey additional message bits. In this case there is just one group of control bits for two sub-blocks.
  • pairs of sub-blocks 1206 contains the entire control/message data, so same is repeated 32 times within each signature block 1204 of the image.
  • control bit # 5 is “1” and control bit # 6 is “0.”
  • 2 ⁇ 2 arrays of sub-blocks are used for each representation of the data.
  • the 48 bit cells 1208 B surrounding control bits 1208 A are interpreted as the first six ASCII characters.
  • the 64 bit cells of each of adjoining block 1220 are interpreted as representing the next 8 additional characters.
  • the 64 bits cells of sub-block 1222 are interpreted as representing the next 8 characters.
  • the 64 bit cells of sub-block 1224 are interpreted as representing the final 8 characters. In this case, there is just one group of control bits for four sub-blocks. And the control/message data is repeated 16 times within each signature block 1204 of the image.
  • control bits # 5 and # 6 are both “1's”, this indicates an ASCII message of programmable length.
  • the reading software examines the first 16 bit cells 1208 B surrounding the control bits. Instead of interpreting these bit cells as message bits, they are interpreted as additional control bits (the opposite of the case described above, where bit cells normally used to represent control bits represented message bits instead). In particular, the reading software interprets these 16 bits as representing, in binary, the length of the ASCII message. An algorithm is then applied to this data (matching a similar algorithm used during the encoding process) to establish a corresponding tiling pattern (i.e. to specify which sub-blocks convey which bits of the ASCII message, and which convey control bits.)
  • control bits are desirably repeated several times within a single representation of the message so that, e.g., there is one set of control bits for approximately every 24 ASCII characters.
  • the tiling algorithm can allocate (divide) a sub-block so that some of its bit-cells are used for a first representation of the message, and others are used for another representation of the message.
  • the decoding software desirably determines the data format by first examining the “northwestern-most” sub-block 1206 in each signature block 1204 ; the 16 bits cells in the centers of these sub-blocks will reliably represent control bits. Based on the value(s) of one or more of these bits (e.g. the Digimarc Beta Data Format bit), the decoding software can identify all other locations throughout each signature block 1204 where the control bits are also encoded (e.g.
  • each of the 64 sub-blocks 1206 comprising a signature block 1204
  • the decoding software determines (from the control bits) the mapping of message bits to bit cells throughout the image.
  • bit cells within sub-blocks are alternated in a checkerboard-like fashion. That is, the “northwestern-most” bit cell in the “northwestern-most” sub-block is numbered “0.” Numbering increases left to right, and successively through the rows, up to bit cell 63 .
  • Each sub-block diametrically adjoining one of its corners i.e. sub-block 1224
  • sub-blocks adjoining its edges i.e. sub-blocks 1220 and 1222
  • Numbering decreases left to right, and successively through the rows, down to 0.
  • each signature block 1204 .
  • each signature block 1204 thus includes 32 complete representations of the encoded data (as opposed to 64 representations in the earlier-described standard). This additional length allows encoding of longer data strings, such as a numeric IP address (e.g., URL).
  • variable message protocols there are a variety of ways to implement variable message protocols.
  • the fixed protocol portion is mapped to a fixed part of the host signal, and does not vary in length.
  • the number of locations in the host signal used to represent the message control portion decrease as the length of the variable message increases.
  • the control portion may remain fixed, as in the first case, even if the variable message varies in length, by varying the repetition/error correction coding applied to the variable message portion.
  • U.S. application Ser. No. 10/139,147 discusses the use of repetition and error correction coding.
  • One way to compensate for the errors in the tail of a convolutionally coded message is to use repetition coding, where symbols of the convolutionally coded message are repeated, and specifically repeated in a variable fashion.
  • the message symbols of the error correction coded message that are more prone to error, such as the tail symbols of the message in a convolutionally coded message, are repeated more than symbols at the beginning or middle of the message.
  • Block error correction codes unlike convolutional codes, do not have memory.
  • Memory refers to the attribute of the coding method where subsequent symbols are used to correct errors in previous symbols.
  • Variable repetition coding may be performed on individual error correction coded symbols, or blocks of such symbols. Preferably, more error prone symbols are repeated more than less error prone, error correction coded symbols.
  • tail biting codes Another way to address the error prone tail part of a convolutionally coded message is to use tail biting codes, where the tail of the coded message loops around to the head or start of the coded message.
  • tail biting codes may suffer from being too computationally complex relative to the improvement in error robustness that they can provide.
  • variable repetition For error correction coded symbols of digital watermark messages.
  • a programmatic process generates the assignments from a curve that represents the repetition per symbol position over a sequence of message symbols in a digital watermark message from the start of the message to its end or “tail.”
  • Our experiments show that a variable repetition curve approximating a tan hyperbolic function, comprising constant repetition rate per symbol followed by an increasing repetition rate per symbol, and ending in a constant repetition rate, provides improved error robustness relative to the use of a constant repetition rate throughout the error correction encoded message.
  • curves may be approximated with a staircase shaped curve comprising segments of constant repetition rates at different levels of repletion.
  • these stair case approximations are convenient because they facilitate the use of scrambling/encryption of the output of the repetition coder, and also facilitate decoding of a digital watermark message with fixed and variable protocol portions as described above.
  • Automated and/or programmatic methods may be used to find optimized variable repetition curves for a given digital watermark message model.
  • Our experience shows that the errors introduced by the digital watermarking channel on the error correction coded message are approximated by white guassian noise.
  • our programmatic processes model the channel, and use general parameters defining characteristics of the curve, to compute the repetition rate per error correction coded symbol that achieves preferred error robustness.
  • the first step in formulating a repetition rate per symbol curve involves choosing an appropriate model. It is not a requirement to choose a parametric model, but it is a convenience.
  • the principle basis for consideration of a model is that it is monotonically increasing. Further, it should allow flexibility in tuning the initial point of repetition increase as well as the rate of increase, which may or may not be constant. We, for example, have found that both the hyperbolic tangent and the piece-wise linear constant model behave satisfactorily.
  • a model it remains to vary its parameters until the best behavior in terms of minimum error rate is found. Specifically, if one can model the noise characteristics of the digital watermark message at the input to the convolutional decoder, it is desirable to run many simulations with pseudo-randomly generated noise in order to determine how the model and corresponding choice of parameters behave. If a slight perturbation in the model parameters produces a better simulation effect (e.g., lower error rate), we continue to adjust the parameters in the direction of the perturbation.
  • One programmatic process for converging on an optimized result is a gradient-descent procedure. The model parameters are adjusted using such a procedure, according to perturbation and simulation re-evaluation, until a minimum in the error rate is achieved.
  • variable robustness coding uses variable robustness coding to reduce the error rate in more error prone parts of a steganographic message.
  • variable robustness coding is variable repetition coding of more error prone parts of an error correction coded message.
  • One variation of this approach is to analyze a model of the channel and/or the host media signal that is communicated through that channel to determine locations within the steganographic code (e.g., embedding locations of a digital watermark) that are likely to be more error prone. In these locations, the steganographic encoding process uses a more robust message coding scheme than in other locations that are less error prone.
  • One specific example is to subdivide the host media signal, such as an image, video frame or audio file into blocks, such as the contiguous tiles described above. Then, the embedder measures the expected error rate for each block, and applies an amount of error robustness coding to the steganographic code mapped to that block corresponding to the expected error rate. Higher error rate blocks have a greater amount of robustness coding, such as more repetition per message symbol. For example, for fixed sized tiles, the error robustness coding increases, resulting in fewer message symbols in the block, but at a higher error robustness level.
  • the measurement of expected error rate can be modeled based on a model of the channel and/or model of the host signal.
  • the host signal may have certain properties that make the steganographic code embedded in it more error prone for a particular channel.
  • an image that has less variance or energy in a block may be more error prone for a distortion channel that includes printing, scanning, and/or compression.
  • a measure of the variance in the block provides an indicator of the error rate, and thus, an indicator of the type of error robustness coding that need by applied to reduce the error rate.
  • the error robustness such as the extent of repetition coding or strength of the error correction code is selected to correspond to the desired error rate for the block.
  • variable robustness coding within blocks of a host signal is the extent to which the auxiliary data decoder (e.g., digital watermark reader) is able to interpret variable robustness coding.
  • the auxiliary data decoder e.g., digital watermark reader
  • the fixed portion in each block specifies the type of error robustness coding used for that block.
  • the embedder uses a robust measure of achievable capacity for a given error rate, it is possible to determine the amount and/or type of robustness coding that was used at the encoder by observing the data at the auxiliary data decoder.
  • the decoder can exploit what it knows about the channel, namely, the received host signal carrying the auxiliary data (e.g., an image carrying a digital watermark) and supposed processing noise, in the same fashion that it was exploited at the embedder of the auxiliary data.
  • the measure of the expected error rate is likely to be the same at the embedder and the decoder, even after distortion by the channel and the embedding of the auxiliary data, then the decoder can simply re-compute the expected error rate at the receiver, and use this measure to determine the type of error robustness coding that has been applied.
  • a part of the auxiliary data need not be allocated to identifying the type of error robustness coding if the decoder can derive it from the received signal, the channel, and/or other information available to it.
  • an identification document may include first and second digital watermarks embedded therein.
  • Each of the watermarks preferably includes plural-bit payloads.
  • the payloads include corresponding information, e.g., redundant or related information.
  • the first watermark payload includes a document number and the second watermark payload includes a checksum to verify the number.
  • the first or second payload includes information that is redundant with the first or second payload (e.g., a birth date is carried by both watermark payloads).
  • Detection and comparison of the first and second watermark payloads facilitates authentication of the identification documents or other physical objects.
  • a first digital watermark payload includes a first set of information.
  • a first checksum (e.g., Cyclic Redundancy Check (CRC)) is provided that corresponds with the first set of information.
  • a second digital watermark payload includes a second set of information.
  • a second checksum is provided that corresponds with the second set of information.
  • the first checksum and the second checksum are appended to or otherwise combined with the first set of information.
  • the combined checksums and first set of information are encrypted using conventional encryption techniques (e.g., RSA, triple-DES, MD2, MD5, MD11, SHA, SHA1 or a Federal Information Processing Standard (FIPS) encryption method) as represented below.
  • conventional encryption techniques e.g., RSA, triple-DES, MD2, MD5, MD11, SHA, SHA1 or a Federal Information Processing Standard (FIPS) encryption method
  • the encrypted combined checksums and first set of information is embedded via a first digital watermark and the second set of information is embedded via a second digital watermark.
  • a watermark detector decodes the watermarks to obtain the encrypted first set of information and checksums and the second set of information.
  • the encrypted first set of information and checksums are decrypted with a corresponding decryption key to obtain the first set of information and checksums.
  • the integrity of the first set of information is determined through a match or acceptable correspondence with the first checksum. (More accurately, a statistical probability is determined for the checksum correspondence, but fretting over the “probability” become increasing irrelevant as the security of the checksum increases.)
  • the second checksum is used to verify the integrity of the second set of information.
  • both the first and second sets of information carry a birth date and a document bearer's last name.
  • the first set of information is encrypted, perhaps along with a checksum corresponding to the first set of information.
  • the encrypted first set of information is decrypted (and perhaps verified with the checksum).
  • the redundant information (birth date and last name) from the first set of information is then compared with the same redundant information in the second set of information. If the comparison yields a match (or acceptable correspondence) the watermarks are considered secure.
  • a checksum in a second digital watermark is preferably provided across a second set of information and at least a portion of a first set of information.
  • the first set of information is encrypted and then carried by a first digital watermark.
  • the checksum is appended or otherwise combined with the second set of information and the combined checksums and second set of information are carried by a second digital watermark.
  • the first and second watermark are decoded to obtain the encrypted first set of information (from the 1 st watermark) and the combined checksum and second set of information (from the 2 nd watermark).
  • the encrypted first set of information is decrypted, and the checksum from the second watermark is matched (or determined if it falls within acceptable tolerances) across the portion of or the entire first set of information and the second set of information. High confidence in the watermarks is found when the checksum coincides within expected tolerances. Again, encryption of only one of the watermarks (here the first set of information) leads to authentication or verification of both the first and second digital watermarks.
  • the second digital watermark includes two checksums, a first checksum for a first set of information (encrypted and carried by a first digital watermark) and a second checksum for a second set of information (unencrypted and carried by a second digital watermark).
  • the first and second checksums are appended to or otherwise combined with the second set of information, and the combined data is carried by the second digital watermark. Authentication occurs when the checksum corresponds to their respective sets of information in an acceptable manner.
  • Another implementation appends a checksum to an encrypted first set of information.
  • the appended checksum and the encrypted first set of information are conveyed via a first digital watermark.
  • the checksum corresponds to the first set of information and a second set of information, which is carried by a second digital watermark.
  • one of the two payloads i.e., the unencrypted payload
  • bit-size e.g., ⁇ 64 bits
  • a constrained bit-size payload may be too small to favorably encrypt.
  • the other (and encrypted) payload is preferably larger (e.g., >96 bits) to favorably receive encryption.
  • encryption can take place in a watermark embedder or an application or process cooperating or communicating with a watermark embedder.
  • the first and second set of information may also include or be appended with content dependent bits.
  • a hash or signature of the photographic representation can be included or appended to the first set of information.
  • a checksum is provided over information including the hash or signature. We note, however, that we preferably do not encrypt the hash or signature.
  • HVS human visual system model
  • FIGS. 7-9 A few block diagrams of possible encryption schemes are provided in FIGS. 7-9 .
  • FIG. 7 shows a two payload scheme in which only one watermark payload is encrypted.
  • FIG. 8 illustrates a two payload scheme in which a primary payload is decrypted with a so-called “regional” public key.
  • the regional public decryption key is provided to affiliated members within a region.
  • the primary payload is presumed to include “private bits,” or bits associated with an individual or issuing authority, or bits randomly inserted to ensure privacy. These bits are discarded prior to payload recovery.
  • FIG. 9 illustrates a secure jurisdictional private detector. Since this method assumes operation in a private system, the private data is not discarded as above, but is maintained with the primary payload.
  • Watermarks are sometimes read and embedded based upon secrets, such as a pseudo-random (PN) sequence used to embed a watermark or features used within the watermark. These secrets may require testing to change. They are also the same for the embedder and detector; thus, once you disclose them, the user knows how to embed and read the watermark. It was stated in an Oct. 22, 1999, call for proposals from the European Broadcasting Union (EBU) that it is desirable to keep who knows how to read the watermark from embedding the watermark, but a favorable solution remains elusive until now.
  • EBU European Broadcasting Union
  • the encryption can include encrypting only a plural-bit payload or a payload and authenticating data, such as CRC bits.
  • the encryption can use symmetric key or public/private key encryption.
  • the public/private key encryption is used with both the payload and authenticating bits, the system can allows users to read the watermark, but not embed the watermark, and the reading process can be guaranteed that the correct key was used.
  • this key can include additional information, such as the origination of the watermark without wasting valuable payload bits. If authentication bits are not used, the decryption will produce meaningless bits, but the user will not know they are meaningless. In addition, in certain situations, this can produce security flaws.
  • a watermark payload preferably includes a message portion and authentication bits.
  • the message portion includes plural binary bits of information.
  • the authentication bits provide a mechanism to validate that the payload portion is read correctly by a watermark detector, and is calculated based on the message portion.
  • a well-known approach is a CRC.
  • the watermark message can also be redundantly embedded to reduce the chance of errors, such as embedding it over and over again, or using error correction encoding, e.g., convolutional coding.
  • Convolutional coding typically includes error recovery.
  • a preferred system ( FIG. 6 ) encrypts a watermark message, which includes message bits and a CRC, with a unique key per issuing jurisdiction.
  • the system preferably uses public/private key pairs for at least three reasons. First, watermark readers are usually in a less secure environment than watermark embedders. Second, in a semi-open system, a reader for one jurisdiction reads ID documents from other jurisdictions as well, but the reader preferably should not allow one jurisdiction to embed (or discover) an embedding ID for other jurisdictions. Third, the computational intensity of public/private key encryption will not typically matter since only a relatively small number of bits are encrypted.
  • Message keys are preferably stored in encrypted format.
  • a complete key usage model includes three (3) public/private key pairs, including (1) a message key pair (MKc), (2) an embedder key-file key pair (EKFc), and (3) a reader key-file key pair (RKF), as shown in FIG. 6 .
  • MKc message key pair
  • EKFc embedder key-file key pair
  • RKF reader key-file key pair
  • All keys preferably use RSA or other conventional encryption.
  • the message key pair is used to encrypt a watermark message (e.g., payload and CRC bits), and is preferably unique for each issuing jurisdiction, since it is preferred that one jurisdiction can read embedded messages of another jurisdiction, but not be able to embed (or encrypt) the messages for that jurisdiction.
  • the embedder key-file key pair is used to encrypt private message keys for the embedder. This key pair is unique to each jurisdiction, thus making it more difficult to embed as another jurisdiction even if you find all the locations where the keys are stored (e.g., obfuscated) in the embedder code.
  • the reader key-file key pair is used to encrypt a public message key, and is the same for every jurisdiction since all the jurisdictions preferably have the same reader.
  • the reader key-file key pair could be different for each jurisdiction and the message key could use a symmetric encryption scheme, but the above model provides additional security with minimal increase in computation since the message will typically include less than 128 bits.
  • a reader preferably includes public message keys for all of the jurisdictions whereas the embedder will contain only the private keys for that jurisdiction. More specifically, the reader will preferably include the public message keys for the lifetime of the document (e.g., 10 years for a passport). The embedder will contain two private message keys for each jurisdiction, one for this two year interval, and one for the next two year interval so key distribution happens flawlessly.
  • Public key watermarking is applicable to systems that know a watermark should exist, thus removal is not an attack. It is also beneficial to systems where removal is an attack, since improper watermarks cannot be created after analyzing the detector. For example, copy once cannot be embedded in a copy never system, nor can a person embed a watermark without purchasing a legitimate embedder.
  • public key encryption preferably meets the following criteria:
  • a Public key watermarking scheme preferably meets the following criteria:
  • op is special for public key encryption
  • op2 is correlation based for most watermarking methods.
  • op2 can be, e.g., a 1024-bit spread spectrum chip, and most the public key encryption keys are 1024-bits.
  • orientation component is helpful in resolving distortion such as rotation, scale and translation.
  • One type of watermark orientation component is an image signal that comprises a set of impulse functions in a transform domain, like a Fourier magnitude domain, e.g., each with pseudorandom phase.
  • a watermark decoder converts the watermarked image to the Fourier magnitude domain and then performs, e.g., a log polar resampling of the Fourier magnitude image.
  • a generalized matched filter correlates a known orientation component with the re-sampled watermarked signal to find the rotation and scale parameters providing the highest correlation.
  • the watermark decoder performs additional correlation operations between the phase information of the known orientation signal and watermarked signal to determine translation parameters, which identify an origin of the watermark signal. Having determined the rotation, scale and translation of the watermark signal, the watermark reader then adjusts the image data to compensate for this distortion, and extracts the watermark message signal.
  • Kew is not needed in the detector and op2 can be equal to op.
  • a watermark is created using, e.g., a 1024-bit embedding key.
  • An expanded payload is provided (where the payload (p) such as 96 bits) and expanded with repetition, error correction and checksum to 1024 bits, and then a standard public key encryption algorithm (RSA) results in 1024-bits of ciphermark (w).
  • This 1024-bit ciphermark is then embedded using standard image steganographic embedding techniques (e.g., as described in U.S. Pat. Nos. 6,122,403 and 6,614,914).
  • Using the embedder key and public key encryption algorithm replaces using, e.g., an XOR with a spread spectrum sequence since encryption randomizes the data.
  • the ciphermark is detected by first detecting a watermark orientation component, then determining a corresponding orientation, scale and rotation (i.e. synchronization). The ciphermark is then read by comparing a pixel to its neighbors as is found in the steganographic literature.
  • the ciphermark is turned into a payload by using the standard public key encryption algorithm (e.g., RSA or other conventional encryption) as used in the embedder to result in, e.g., 1024-bits of expanded payload, reversing error correction if any, and using a checksum for accuracy
  • the watermark can be embedded as overlaid 32.times.32 pixel (1024 pixel) sub-blocks to create a 128.times.128 block.
  • Kew never appears in the detector, nor can be calculated from Kdw.
  • the embedding spreading function is not needed in the detector.
  • the expanded payload includes content dependent bits (as described in, e.g., assignee's U.S. patent application Ser. No. 10/158,385 (published as U.S. 2003-0223584 A1) and Ser. No. 10/449,827 (published as U.S. 2004-0039914 A1), which are each herein incorporated by reference), these bits are preferably encrypted.
  • the ciphermark (w) is copied to another image with a copy attack, the content dependent bits will not match the new image.
  • the content dependent bits cannot be modified even if the fingerprint algorithm for calculating the content dependent bits is known, and calculated for the new image, since Kew is not known, nor can be calculated from Kdw, to replace the original with the new content dependent bits.
  • An encoding method for digital watermarking comprising:
  • n comprises an integer
  • m comprises an integer and matches a bit-length of an embedding key, and wherein m>n, said expanding resulting at least in part from at least one of error correction coding and bit redundancy;
  • An encoding method for a digital watermark component comprising:
  • n comprises an integer
  • a method of managing encryption keys for digital watermarking comprising:
  • each of the watermark message key pairs is unique per embedding authority, and wherein each message key pair comprises a public and private key which allows only the embedding authority to encrypt messages via the private key while allowing decryption of such encryption messages only via the corresponding public key;
  • each of the watermark embedder key pairs is unique per embedding authority, and wherein each embedder key pair comprises a public and private key which allows only the embedding authority to encrypt private message keys for a corresponding watermark embedder via the private key while allowing decryption only via the corresponding public key;
  • each of the reader key pairs is common among each of the embedding authorities so that each jurisdiction can read messages embedded thereby.
  • variable message coding protocols may be used in digital watermarking applications where digital watermarks are embedded by imperceptibly modifying a host media signal. They may also be used in steganographic applications where message are hidden in media signals, such as images (including graphical symbols, background textures, halftone images, etc.) or text.
  • the embedding or encoding of the message according to the variable protocols may, in some cases create visible structures or artifacts in which the message is not discernable by a human, yet is readable by an automated reader with knowledge of the protocol, including any keys used to scramble the message.
  • auxiliary data encoding processes may be implemented in a programmable computer or a special purpose digital circuit.
  • auxiliary data decoding may be implemented in software, firmware, hardware, or combinations of software, firmware and hardware.
  • the methods and processes described above may be implemented in programs executed from a system's memory (a computer readable medium, such as an electronic, optical or magnetic storage device).

Abstract

A media signal is analyzed for an expected error rate. Data is steganographically encoded in the media signal using an amount of error robustness coding that is determined based in part on the expected error rate. To decode the data from the media signal, the media signal is analyzed to determine an expected error rate. The steganographically encoded data is decoded using an amount of error robustness coding that is determined based in part of the expected error rate.

Description

    CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
  • This application is a Continuation of U.S. application Ser. No. 11/082,217, filed Mar. 15, 2005, incorporated herein by reference in its entirety, which claims priority from Provisional Application U.S. Application 60/554,543, filed Mar. 18, 2004, incorporated herein by reference in its entirety.
  • This patent application is related to the following U.S. patent application Ser. No. 10/020,519 (published as U.S. 2002-0159614 A1), filed Dec. 14, 2001, which claims the benefit of 60/256,627, filed Dec. 18, 2000; Ser. No. 10/193,719 (published as U.S. 2003-0033530 A1), filed Jul. 10, 2002; Ser. No. 10/139,147 (published as U.S. 2003-0037075 A1), filed May 2, 2002, which claims the benefit of 60/288,272, filed May 2, 2001; Ser. No. 09/186,962, filed Nov. 5, 1998, which is a continuation of application Ser. No. 08/649,419, filed May 16, 1996 (now U.S. Pat. No. 5,862,260); and Ser. No. 09/790,322 (published as U.S. 2001-0037313 A1), filed Feb. 21, 2001.
  • Each of the above patent documents is hereby incorporated by reference.
  • TECHNICAL FIELD
  • The invention relates to digital watermarking, steganography, and specifically to message coding protocols used in conjunction with digital watermarking and steganographic encoding/decoding methods.
  • BACKGROUND AND SUMMARY OF THE INVENTION
  • Digital watermarking is a process for modifying physical or electronic media signals to embed a hidden machine-readable code into the media. The media signal may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media signals such as images, audio signals, and video signals. However, it may also be applied to other types of media objects, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects. Steganography is related field of study pertaining to encoding and decoding of hidden auxiliary data signals, such that the auxiliary data is not discernable by a human.
  • Digital watermarking systems typically have two primary components: an encoder that embeds the watermark in a host media signal, and a decoder that detects and reads the embedded watermark from a signal suspected of containing a watermark (a suspect signal). The encoder embeds a watermark by subtly altering the host media signal. The reading component analyzes a suspect signal to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
  • Several particular watermarking and steganographic techniques have been developed. The reader is presumed to be familiar with the literature in this field. Particular techniques for embedding and detecting auxiliary messages in media signals are detailed in the assignee's U.S. Pat. Nos. 6,122,403 and 6,614,914, which are hereby incorporated by reference.
  • One practical challenge in the deployment of digital watermarking systems is the potential lack of flexibility in changing aspects of the digital watermark system once it's deployed. As system and application requirements change, there is sometimes a desire to change aspects of the digital watermark message coding protocol. For example, one might want to change the format, syntax, semantics and length of the message payload in the digital watermark. The syntax used in the protocol can include the types and sizes of message fields, as well as the symbol coding alphabet (e.g., use of binary or M-ary symbols, etc.) The semantics used in the protocol refer to the meaning of the message elements in the message payload (e.g., what the elements are interpreted to mean). While such changes may not alter the fundamental data hiding or extraction function, they present a practical difficulty because the deployed digital watermark readers may be rendered obsolete if the protocol is changed.
  • One potential solution is to upgrade the readers deployed in the field. However, this presents technical challenges, such as whether the readers are accessible and/or re-programmable to receive and facilitate upgrades.
  • The invention provides variable message protocol methods for digital watermarking One aspect of the invention is a message protocol method for digital watermarking. This method forms a fixed message protocol portion having a fixed length and identifying a version of a variable protocol portion. The method also forms a variable message protocol portion having variable error robustness message coding format. The version indicates the error robustness coding format of the variable protocol portion. The fixed and variable message protocol portions are then embedded into a host media signal such that the message is substantially imperceptible in the host media signal.
  • Another aspect of the invention is a method for decoding a digital watermark having fixed and variable protocol message portions. The method extracts a hidden message code embedded in a host media signal by evaluating the host media signal to compute the hidden message code having fixed and variable message protocol portions. It performs error robustness decoding of the fixed protocol portion of the extracted message code to produce one or more message symbols representing a version identifier. Next, it interprets the version identifier to ascertain a version of variable protocol used to embed the variable protocol portion. Finally, it applies an error robustness decoding method of the version to decode message symbols of the variable message protocol portion.
  • Another aspect of the invention is a message protocol method for steganographically encoding a variable message into a media signal. This method forms a control message portion including at least one symbol that identifies the format of the variable message. It also forms a variable message according to the format. The format indicates a variable length of the variable message portion. The method produces a media signal with the variable message steganographically encoded in it such that the variable message is not discernable by a human but is readable by an automated reader. For example where the media signal is an image, a human viewer is not able to read the variable message encoded in that image because symbols in the variable message are arranged so as not to be interpretable without knowledge of the encoding format.
  • Further features and aspects will become even more apparent with reference to the following detailed description and accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram illustrating an extensible message protocol method for digital watermark embedding.
  • FIG. 2 is a diagram illustrating a method of extracting a digital watermark message from a host media signal that has been embedded using the method of FIG. 1.
  • FIGS. 3A and 3B show examples of bit cells used in one form of digital watermark embedding.
  • FIG. 4 shows a hierarchical arrangement of signature blocks, sub-blocks, and bit cells used in one implementation of a digital watermark message protocol.
  • FIG. 5 is an overview of two different payload portions and related encryption.
  • FIG. 6 shows a relationship between key pairs and related key management.
  • FIG. 7 shows a two payload scheme in which only one watermark payload is encrypted.
  • FIG. 8 illustrates a two payload scheme in which a primary payload is decrypted with a so-called “regional” public key.
  • FIG. 9 illustrates a secure jurisdictional private detector.
  • DETAILED DESCRIPTION
  • FIG. 1 is a diagram illustrating a message protocol method for digital watermark embedding. The protocol in this context refers to how the message is prepared for digital watermark embedding into a host media signal. One attribute specified by the message protocol is the error robustness coding that is applied to the message. Error robustness coding includes operations on the message that make it more robust to errors that undermine its complete and accurate recovery in potentially distorted version of the watermarked host media signal. Specific forms of error robustness coding include repetition of one or more parts of the message, and error correction coding of one or more parts of the message.
  • Another aspect of the message protocol is the length of the message payload. The message payload is a variable part of the message. It can be variable in both content (e.g., the values of the individual message symbols in the payload are variable), and length (e.g., the number of symbols is variable). This message payload enables the digital watermark system to convey unique information per watermarked item, such as an item ID, a transaction ID, a variable ASCII character message, etc.
  • A related aspect of the message protocol is the syntax and semantic meaning of the message elements. As the length of the payload is increased or decreased, the fields within that payload may change, as well as the semantic meaning of the fields. For example, the first N binary symbols may represent a unique ID, while the next M bits represent a source ID or hash of the object in which the information is embedded. As N and M change and other fields are added or deleted, the syntax and semantic meaning of symbols in the payload change.
  • Yet another aspect of the protocol is the extent to which it facilitates digital watermarking systems that have different message protocols, yet are backward and/or forward compatible with each other. Backward compatibility refers to the case where new versions of the digital watermark reader are able to read messages using the most recently released protocol version, as well as messages in every prior protocol version. Forward compatibility refers to the case where a current version of the digital watermark reader is able to read messages compatible with subsequently released protocol versions. Further examples illustrating this aspect of the protocol follow later.
  • The method illustrated in FIG. 1 operates with many different forms of digital watermark embedding and detecting operations. In other words, regardless of how the host media signal is modified to embed the result of the message protocol (referred to as the intermediate signal), the message protocol method is widely applicable.
  • The method of FIG. 1 also operates on different host media signal types and formats. For the sake of illustration, examples are presented of still image watermark embedding that are extendable to other media types, such as motion images (e.g., video) and audio. The method is implemented in software and operates on blocks of the host media signal of a fixed size. These blocks are typically much smaller than the overall size of the host signal, and as such, are tiled or otherwise repeated throughout the host signal to provide an additional layer of robustness beyond the robustness coding within each block.
  • Since the blocks are of fixed size in our example implementation, there are trade-offs between the length of the variable message payload and the extent of redundancy that may be employed to map that variable message payload into the host media signal of fixed size.
  • As shown in FIG. 1, the message 100 has a fixed protocol portion 102 and a variable protocol portion 104. The fixed protocol portion includes a fixed message part 106, and a variable message part 108. Each of the parts of the fixed protocol portion has a fixed length, and employs a fixed error robustness coding method. The fixed message part includes a fixed set of known message symbols that serve as a test for false positives (e.g., provide a check to ensure a valid digital watermark is present).
  • The variable part carries a version identifier 108. This version identifier may carry version parameters, such as an error correction type identifier, a repetition indicator, an error detect indicator or an index that refers to the type of error correction, error detection, and/or repetition applied in the variable protocol portion 104. The variable part of the fixed protocol varies so as to indicate the version of the variable protocol used in processing the variable protocol portion.
  • The variable protocol portion 104 includes a variable payload part 110 and an error detect part 112. As noted earlier, the payload has a variable number of symbols (X) as specified by the version. The protocol employs a form of error detection, such as a certain type and length of Cyclic Redundancy Check symbols. The variable message protocol portion, therefore, includes a number of error detect symbols (Y).
  • The message protocol method generates a message code signal 114 by performing error robustness coding on the fixed and variable protocol portions. In the case of the fixed protocol, the method uses a fixed error correction coding method 116 followed by fixed repetition 118 of the resulting message a predetermined number of times (n). While the diagram shows error correction followed by repetition coding, the error robustness coding of the fixed portion may include error correction and/or repetition coding. Examples of error correction coding include block codes (e.g., BCH, Reed Solomon, etc.), convolution codes, turbo codes or combinations thereof.
  • The version parameters 120 in the illustrated example specify the payload and error detection part lengths, and number of repetitions of the variable portion or individual parts of the variable portion. They may also specify the type of error correction coding to be applied, such as block codes, convolution codes, concatenated codes, etc. As explained further below, some forms of error correction, such as convolution codes, perform error correction in a manner that depends on subsequent symbols in the message symbol string. As such, symbols at the end of the string are error correction decoded with less confidence because there are fewer or no symbols following them. This attribute of error correction coding schemes that have “memory” can be mitigated by repeating parts of the message symbol string that are more susceptible to errors due to the lack of memory than other parts of the message symbol string. As noted, this typically leads to repetition of the tail of the string more than the beginning of the string.
  • According to the version parameters 120, the protocol method applies a selected error correction coding 122 to the symbols of the variable portion 104, and then applies repetition coding 124 to one or more parts of the error correction coded symbols.
  • The protocol method then appends 126 the robustness coded fixed and variable portions to form a message code signal 114.
  • For added security in some applications, the method transforms (128) the message code signal with a secret key. This transformation may include a vector XOR or matrix multiplication of a key 130, such as pseudorandom number that is sufficiently independent from other like key numbers, with the message code signal. The key may be a seed number to a pseudorandom sequence generator, an index to a look up table that produces a vector or matrix, or a vector/matrix, etc. The key serves the function of making the digital watermark un-readable to anyone except those having the proper key. The use of this key enables the digital watermarking protocol to be used for several entities wishing to privately embed and read their own digital watermarks, through the use of their own keys.
  • The result of the transformation by the key 130 is the secure message code 132. Our example implementation applies an additional transformation to the secure message code before embedding it into the host media signal block. In particular, a mapping function 134 maps elements of the secure message code vector to elements of the host signal block. The elements of the host signal block may be characteristics of individual samples (luminance of pixels or frequency coefficients), or characteristics of groups of samples (statistical features). The carrier signal function 136 transforms the message code elements as a function of corresponding elements of a carrier signal. One such example is spread spectrum modulation of the secure message code with a carrier signal. The carrier signal may have attributes that increase robustness of the watermark (message spreading and scattering as an anti jamming mechanism), and facilitate detection and geometric synchronization (e.g., autocorrelation properties). The result of transformation by the carrier and mapping functions 138 is an intermediate signal. A digital watermark embedder 140 then modifies characteristics of elements of the host media signal block according to the elements of the intermediate signal to hide the intermediate signal in the host media signal block. There are a wide variety of such embedding methods that may be employed, including those discussed in the documents incorporated by reference. Where perceptual artifacts are a concern, human perceptual modeling may be employed to reduce the perceptibility of artifacts caused by modifying the host media signal block according to the intermediate signal.
  • FIG. 2 is a diagram illustrating a method of extracting a digital watermark message from a host media signal that has been embedded using the method of FIG. 1. This method is implemented in a software implementation of a digital watermark reader. The reader extracts estimates of values for the intermediate signal from the host, using a reader 150 compatible with the embedder 140 of FIG. 1. This process may be performed after filtering, synchronizing and generating blocks of the host media signal. In our implementation, the reader 150 extracts estimates of the intermediate signal elements. It then uses the mapping function 152 and carrier signal 154 to convert elements of the intermediate signal embedded in each host media signal block to soft estimates of the secure message code. These elements are soft estimates derived from aggregating elements from the intermediate signal estimate for each corresponding element of the secure message code 156 according to the mapping and carrier functions. In particular, each soft message code element represents a value between S, and −S, where S represents an integer corresponding to binary symbol 1, and −S represents the negative integer corresponding to binary symbol 0.
  • Next, the reader transforms (158) the secure message code estimate with the key 160. This operation reverses the key transformation 128 applied to the message code in the embedder of FIG. 1. The result is a message code signal estimate, which includes the fixed and variable message protocol portions. The reader extracts these portions (164, 166) and proceeds to apply the fixed protocol to decode the error robustness coding of the fixed protocol portion. This entails accumulation 168 of the repeated message symbols, followed by error correction decoding 170.
  • The result of the error correction decoding includes a set of fixed symbols (the false positive symbols) 172, and the version identifier 174. The reader compares the extracted fixed symbols with the actual fixed symbols 176, and if there is a match 178, then the version identifier is deemed to be accurate. The reader interprets the version identifier to get the version parameters 180, such as the error correction coding type for the variable protocol, the repetition parameters, the structure of the variable protocol portion, etc. The version parameters may be carried within the version identifier directly or may be accessed via a look-up operation, using the version identifier as an index.
  • With this version information, the reader proceeds to decode the error robustness coding of the variable protocol portion. This decoding entails, for example, accumulation 182 of the repeated symbols to undo the repetition coding, along with error correction decoding 184 according to the version information. The result of the decoding includes the payload 186 and error detection symbols 188. The reader applies the error detection method to the payload and compares 190 with the error detection symbols to confirm the accuracy of the payload information.
  • This protocol portion enables the watermarking system to be backward and forward compatible. It is backward compatible because each new version of watermark detector may be programmed to read digital watermarks embedding according to the current version and every prior version of the protocol. It can be forward compatible too by establishing version identifiers and corresponding protocols that will be used in future versions of the system. This enables watermark detectors deployed initially to read the current version of the protocol, as well as future versions of the protocol as identified in the version identifier. At the time of embedding a particular media signal, a digital watermark embedder embeds a version identifier of the protocol used to embed the variable protocol portion. At the time of reading the digital watermark, a reader extracts the version identifier to determine the protocol of the variable protocol portion, and then reads the message payload carried in the variable protocol portion.
  • Another embodiment of a digital watermarking protocol is described in U.S. Pat. No. 5,862,260, which is incorporated by reference. In this protocol, the digital watermark message includes a control message protocol portion and a variable message protocol portion. The control message includes control symbols indicating the format and length of the variable message protocol portion. The control message protocol and the variable message protocol include symbols that are mapped to locations within a block of the host signal called a “signature” block. As the length of the variable message portion increases, the redundancy of the control message portion decreases.
  • U.S. Pat. No. 5,862,260 describes a variety of digital watermark embedding methods. One such class of methods for images and video increments or decrements the values of individual pixels, or of groups of pixels (bumps), to reflect encoding of an auxiliary data signal combined with a pseudo random noise signal. One variation of this approach is to embed the auxiliary data—without pseudo randomization—by patterned groups of pixels, termed “bit cells.”
  • Referring to FIGS. 3A and 3B, two illustrative 2×2 cells are shown. FIG. 3A is used to represent a “0” bit of the auxiliary data, while FIG. 3B is used to represent a “1” bit. In operation, the pixels of the underlying image are tweaked up or down in accordance with the +/− values of the bit cells to represent one of these two bit values. The magnitude of the tweaking at any given pixel, bit cell or region of the image can be a function of many factors, including human perceptibility modeling, non-linear embedding operations, etc. as detailed in U.S. Pat. No. 5,862,260. In this case, it is the sign of the tweaking that defines the characteristic pattern. In decoding, the relative biases of the encoded pixels are examined using techniques described above to identify, for each corresponding region of the encoded image, which of the two patterns is represented.
  • While the auxiliary data is not explicitly randomized in this embodiment, it will be recognized that the bit cell patterns may be viewed as a “designed” carrier signal.
  • The substitution of a pseudo random noise carrier with a “designed” information carrier affords an advantage: the bit cell patterning manifests itself in Fourier space. Thus, the bit cell patterning can act like the subliminal digital graticules discussed in U.S. Pat. No. 5,862,260 to help register a suspect image to remove scale/rotation errors. By changing the size of the bit cell, and the pattern therein, the location of the energy thereby produced in the spatial transform domain can be tailored to optimize independence from typical imagery energy and facilitate detection.
  • While the foregoing discussion contemplates that the auxiliary data is encoded directly—without randomization by a PRN signal, in other embodiments, randomization can of course be used.
  • FIG. 4 illustrates an example of a digital watermarking protocol having a message control portion and a variable portion. While this protocol is illustrated using an image, it applies to other media types and digital watermark embedding/reading systems.
  • Referring to FIG. 4, an image 1202 includes a plurality of tiled “signature blocks” 1204. (Partial signature blocks may be present at the image edges.) Each signature block 1204 includes an 8×8 array of sub-blocks 1206. Each sub-block 1206 includes an 8×8 array of bit cells 1208. Each bit cell comprises a 2×2 array of “bumps”. 1210. Each bump 1210, in turn, comprises a square grouping of 16 individual pixels 1212.
  • The individual pixels 1212 are the smallest quanta of image data. In this arrangement, however, pixel values are not, individually, the data carrying elements. Instead, this role is served by bit cells 1208 (i.e. 2×2 arrays of bumps 1210). In particular, the bumps comprising the bits cells are encoded to assume one of the two patterns shown in FIG. 3. As noted earlier, the pattern shown in FIG. 3A represents a “0” bit, while the pattern shown in FIG. 3B represents a “1” bit. Each bit cell 1208 (64 image pixels) thus represents a single bit of the embedded data. Each sub-block 1206 includes 64 bit cells, and thus conveys 64 bits of embedded data.
  • The nature of the image changes effected by the encoding follows the techniques set forth in U.S. Pat. No. 5,862,260 under the heading MORE ON PERCEPTUALLY ADAPTIVE SIGNING.
  • In the illustrated embodiment, the embedded data includes two parts: control bits and message bits. The 16 bit cells 1208A in the center of each sub-block 1206 serve to convey 16 control bits. The surrounding 48 bit cells 1208B serve to convey 48 message bits. This 64-bit chunk of data is encoded in each of the sub-blocks 1206, and is repeated 64 times in each signature block 1204.
  • A digression: in addition to encoding of the image to redundantly embed the 64 control/message bits therein, the values of individual pixels are additionally adjusted to effect encoding of subliminal graticules through the image. In this embodiment, the graticules discussed in conjunction with FIG. 29A in U.S. Pat. No. 5,862,260 are used, resulting in an imperceptible texturing of the image. When the image is to be decoded, the image is transformed into the spatial domain, a Fourier-Mellin technique is applied to match the graticule energy points with their expected positions, and the processed data is then inverse-transformed, providing a registered image ready for decoding (see U.S. Pat. No. 5,862,260). The sequence of first tweaking the image to effect encoding of the subliminal graticules, or first tweaking the image to effect encoding of the embedded data, is not believed to be critical. As presently practiced, the local gain factors (discussed in U.S. Pat. No. 5,862,260) are computed; then the data is encoded; then the subliminal graticule encoding is performed. Both of these encoding steps make use of the local gain factors.
  • Returning to the data format, once the encoded image has been thus registered, the locations of the control bits in sub-block 1206 are known. The image is then analyzed, in the aggregate (i.e. considering the “northwestern-most” sub-block 1206 from each signature block 1204), to determine the value of control bit #1 (represented in sub-block 1206 by bit cell 1208Aa). If this value is determined (e.g. by statistical techniques of the sort detailed above) to be a “1,” this indicates that the format of the embedded data conforms to the standard detailed herein. According to this standard, control bit #2 (represented by bit cells 1208Ab) is a flag indicating whether the image is copyrighted. Control bit #3 (represented by bit cells 1208Ac) is a flag indicating whether the image is unsuitable for viewing by children. Certain of the remaining bits are used for error detection/correction purposes.
  • The 48 message bits of each sub block 1206 can be put to any use; they are not specified in this format. One possible use is to define a numeric “owner” field and a numeric “image/item” field (e.g. 24 bits each).
  • If this data format is used, each sub-block 1206 contains the entire control/message data, so same is repeated 64 times within each signature block of the image.
  • If control bit #1 is not a “1,” then the format of the embedded data does not conform to the above described standard. In this case, the reading software analyzes the image data to determine the value of control bit #4. If this bit is set (i.e. equal to “1”), this signifies an embedded ASCII message. The reading software then examines control bits #5 and #6 to determine the length of the embedded ASCII message.
  • If control bits #5 and #6 both are “0,” this indicates the ASCII message is 6 characters in length. In this case, the 48 bit cells 1208B surrounding the control bits 1208A are interpreted as six ASCII characters (8 bits each). Again, each sub-block 1206 contains the entire control/message data, so same is repeated 64 times within each signature block 1204 of the image.
  • If control bit #5 is “0” and control bit #6 is “1,” this indicates the embedded ASCII message is 14 characters in length. In this case, the 48 bit cells 1208B surrounding the control bits 1208A are interpreted as the first six ASCII characters. The 64 bit cells 1208 of the immediately-adjoining sub-block 1220 are interpreted as the final eight ASCII characters.
  • Note that in this arrangement, the bit-cells 1208 in the center of sub-block 1220 are not interpreted as control bits. Instead, the entire sub-block serves to convey additional message bits. In this case there is just one group of control bits for two sub-blocks.
  • Also note than in this arrangement, pairs of sub-blocks 1206 contains the entire control/message data, so same is repeated 32 times within each signature block 1204 of the image.
  • Likewise if control bit #5 is “1” and control bit #6 is “0.” This indicates the embedded ASCII message is 30 characters in length. In this case, 2×2 arrays of sub-blocks are used for each representation of the data. The 48 bit cells 1208B surrounding control bits 1208A are interpreted as the first six ASCII characters. The 64 bit cells of each of adjoining block 1220 are interpreted as representing the next 8 additional characters. The 64 bits cells of sub-block 1222 are interpreted as representing the next 8 characters. And the 64 bit cells of sub-block 1224 are interpreted as representing the final 8 characters. In this case, there is just one group of control bits for four sub-blocks. And the control/message data is repeated 16 times within each signature block 1204 of the image.
  • If control bits #5 and #6 are both “1's”, this indicates an ASCII message of programmable length. In this case, the reading software examines the first 16 bit cells 1208B surrounding the control bits. Instead of interpreting these bit cells as message bits, they are interpreted as additional control bits (the opposite of the case described above, where bit cells normally used to represent control bits represented message bits instead). In particular, the reading software interprets these 16 bits as representing, in binary, the length of the ASCII message. An algorithm is then applied to this data (matching a similar algorithm used during the encoding process) to establish a corresponding tiling pattern (i.e. to specify which sub-blocks convey which bits of the ASCII message, and which convey control bits.)
  • In this programmable-length ASCII message case, control bits are desirably repeated several times within a single representation of the message so that, e.g., there is one set of control bits for approximately every 24 ASCII characters. To increase packing efficiency, the tiling algorithm can allocate (divide) a sub-block so that some of its bit-cells are used for a first representation of the message, and others are used for another representation of the message.
  • Reference was earlier made to beginning the decoding of the registered image by considering the “northwestern-most” sub-block 1206 in each signature block 1204. This bears elaboration.
  • Depending on the data format used, some of the sub-blocks 1206 in each signature block 1204 may not include control bits. Accordingly, the decoding software desirably determines the data format by first examining the “northwestern-most” sub-block 1206 in each signature block 1204; the 16 bits cells in the centers of these sub-blocks will reliably represent control bits. Based on the value(s) of one or more of these bits (e.g. the Digimarc Beta Data Format bit), the decoding software can identify all other locations throughout each signature block 1204 where the control bits are also encoded (e.g. at the center of each of the 64 sub-blocks 1206 comprising a signature block 1204), and can use the larger statistical base of data thereby provided to extract the remaining control bits from the image (and to confirm, if desired, the earlier control bit(s) determination). After all control bits have thereby been discerned, the decoding software determines (from the control bits) the mapping of message bits to bit cells throughout the image.
  • To reduce the likelihood of visual artifacts, the numbering of bit cells within sub-blocks is alternated in a checkerboard-like fashion. That is, the “northwestern-most” bit cell in the “northwestern-most” sub-block is numbered “0.” Numbering increases left to right, and successively through the rows, up to bit cell 63. Each sub-block diametrically adjoining one of its corners (i.e. sub-block 1224) has the same ordering of bit cells. But sub-blocks adjoining its edges (i.e. sub-blocks 1220 and 1222) have the opposite numbering. That is, the “northwestern-most” bit cell in sub-blocks 1220 and 1222 is numbered “63.” Numbering decreases left to right, and successively through the rows, down to 0. Likewise throughout each signature block 1204.
  • In a variant of this format, a pair of sub-blocks is used for each representation of the data, providing 128 bit cells. The center 16 bit cells 1208 in the first sub-block 1206 are used to represent control bits. The 48 remaining bit cells in that sub-block, together with all 64 bit cells 1208 in the adjoining sub-block 1220, are used to provide a 112-bit message field. Likewise for every pair of sub-blocks throughout each signature block 1204. In such an arrangement, each signature block 1204 thus includes 32 complete representations of the encoded data (as opposed to 64 representations in the earlier-described standard). This additional length allows encoding of longer data strings, such as a numeric IP address (e.g., URL).
  • Obviously, numerous alternative data formats can be designed. The particular format used can be indicated to the decoding software by values of one or more control bits in the encoded image.
  • From the foregoing examples, there are a variety of ways to implement variable message protocols. In one approach having a fixed and variable message protocol, the fixed protocol portion is mapped to a fixed part of the host signal, and does not vary in length. In another approach, the number of locations in the host signal used to represent the message control portion decrease as the length of the variable message increases. The control portion may remain fixed, as in the first case, even if the variable message varies in length, by varying the repetition/error correction coding applied to the variable message portion.
  • Use of Variable Repetition with Error Correction Coding
  • U.S. application Ser. No. 10/020,519 (published as U.S. 2002-0159614) explained that the tail of a convolutionally coded message is more error prone than the rest of the message. One way to make the tail more robust to errors is apply a block error correction code, such as a BCH or other block error correction code, to the tail portion of the message. In this approach, the encoder applies block error correction coding to all, or just the tail of a message sequence, and then follows with convolutional coding of the resulting message sequence. The decoder then reverses this process, effectively using the block error correction to correct errors in the tail of the message.
  • U.S. application Ser. No. 10/139,147 (published as U.S. 2003-0037075 A1) discusses the use of repetition and error correction coding. One way to compensate for the errors in the tail of a convolutionally coded message is to use repetition coding, where symbols of the convolutionally coded message are repeated, and specifically repeated in a variable fashion. The message symbols of the error correction coded message that are more prone to error, such as the tail symbols of the message in a convolutionally coded message, are repeated more than symbols at the beginning or middle of the message.
  • These approaches extend generally to error correction coding schemes with memory, where lack of memory at a part of the message makes that part more error prone. In particular, selective block coding or variable repetition coding of the error prone part improves the error robustness of the digital watermark message. Block error correction codes, unlike convolutional codes, do not have memory. Memory refers to the attribute of the coding method where subsequent symbols are used to correct errors in previous symbols. Variable repetition coding may be performed on individual error correction coded symbols, or blocks of such symbols. Preferably, more error prone symbols are repeated more than less error prone, error correction coded symbols.
  • Another way to address the error prone tail part of a convolutionally coded message is to use tail biting codes, where the tail of the coded message loops around to the head or start of the coded message. Such tail biting codes may suffer from being too computationally complex relative to the improvement in error robustness that they can provide.
  • Returning to the specific approach of using variable repetition, we have experimented with a number of variable repetition assignments for error correction coded symbols of digital watermark messages. A programmatic process generates the assignments from a curve that represents the repetition per symbol position over a sequence of message symbols in a digital watermark message from the start of the message to its end or “tail.” Our experiments show that a variable repetition curve approximating a tan hyperbolic function, comprising constant repetition rate per symbol followed by an increasing repetition rate per symbol, and ending in a constant repetition rate, provides improved error robustness relative to the use of a constant repetition rate throughout the error correction encoded message.
  • Further experiments show that a variable repetition curve, starting with a constant repetition rate for the beginning of the message, and concluding with a linear increase in the repetition rate at the middle to end of the message also provides improved error robustness.
  • These curves may be approximated with a staircase shaped curve comprising segments of constant repetition rates at different levels of repletion. In some implementations, these stair case approximations are convenient because they facilitate the use of scrambling/encryption of the output of the repetition coder, and also facilitate decoding of a digital watermark message with fixed and variable protocol portions as described above.
  • The effect of this approach is to set a variable signal to noise for the error correction coded symbols through variable repetition rates of those symbols. Relative to constant repetition rate coding of error correction coded symbols, this approach achieves a lower effective error rate for the same signal to noise ratio of the digital watermark message signal.
  • Automated and/or programmatic methods may be used to find optimized variable repetition curves for a given digital watermark message model. Our experience shows that the errors introduced by the digital watermarking channel on the error correction coded message are approximated by white guassian noise. As such, our programmatic processes model the channel, and use general parameters defining characteristics of the curve, to compute the repetition rate per error correction coded symbol that achieves preferred error robustness.
  • The first step in formulating a repetition rate per symbol curve involves choosing an appropriate model. It is not a requirement to choose a parametric model, but it is a convenience. The principle basis for consideration of a model is that it is monotonically increasing. Further, it should allow flexibility in tuning the initial point of repetition increase as well as the rate of increase, which may or may not be constant. We, for example, have found that both the hyperbolic tangent and the piece-wise linear constant model behave satisfactorily.
  • Once a model is chosen it remains to vary its parameters until the best behavior in terms of minimum error rate is found. Specifically, if one can model the noise characteristics of the digital watermark message at the input to the convolutional decoder, it is desirable to run many simulations with pseudo-randomly generated noise in order to determine how the model and corresponding choice of parameters behave. If a slight perturbation in the model parameters produces a better simulation effect (e.g., lower error rate), we continue to adjust the parameters in the direction of the perturbation. One programmatic process for converging on an optimized result is a gradient-descent procedure. The model parameters are adjusted using such a procedure, according to perturbation and simulation re-evaluation, until a minimum in the error rate is achieved. In order to avoid problems with local minima on the optimization surface and/or simulation noise, one may wish to perform the search using several different initial parameter configurations. It should be noted that for all choices of models and corresponding parameters, the total number of repetitions should remain fixed. In other words, the area under the repetition curve is constant.
  • Extensions
  • The above concepts of protocols with variable robustness coding may be extended to optimize auxiliary data coding applications, including digital watermarking. Generally stated, the approach described in the previous section uses variable robustness coding to reduce the error rate in more error prone parts of a steganographic message. One specific form of variable robustness coding is variable repetition coding of more error prone parts of an error correction coded message.
  • One variation of this approach is to analyze a model of the channel and/or the host media signal that is communicated through that channel to determine locations within the steganographic code (e.g., embedding locations of a digital watermark) that are likely to be more error prone. In these locations, the steganographic encoding process uses a more robust message coding scheme than in other locations that are less error prone. One specific example is to subdivide the host media signal, such as an image, video frame or audio file into blocks, such as the contiguous tiles described above. Then, the embedder measures the expected error rate for each block, and applies an amount of error robustness coding to the steganographic code mapped to that block corresponding to the expected error rate. Higher error rate blocks have a greater amount of robustness coding, such as more repetition per message symbol. For example, for fixed sized tiles, the error robustness coding increases, resulting in fewer message symbols in the block, but at a higher error robustness level.
  • The measurement of expected error rate can be modeled based on a model of the channel and/or model of the host signal. For example, the host signal may have certain properties that make the steganographic code embedded in it more error prone for a particular channel. For example, an image that has less variance or energy in a block may be more error prone for a distortion channel that includes printing, scanning, and/or compression. As such, a measure of the variance in the block provides an indicator of the error rate, and thus, an indicator of the type of error robustness coding that need by applied to reduce the error rate. The error robustness, such as the extent of repetition coding or strength of the error correction code is selected to correspond to the desired error rate for the block.
  • One challenge in supporting such variable robustness coding within blocks of a host signal is the extent to which the auxiliary data decoder (e.g., digital watermark reader) is able to interpret variable robustness coding. This can be addressed by using a message protocol with fixed and variable protocol portions, where the fixed portion in each block specifies the type of error robustness coding used for that block. Alternatively, if the embedder uses a robust measure of achievable capacity for a given error rate, it is possible to determine the amount and/or type of robustness coding that was used at the encoder by observing the data at the auxiliary data decoder. In this way, the decoder can exploit what it knows about the channel, namely, the received host signal carrying the auxiliary data (e.g., an image carrying a digital watermark) and supposed processing noise, in the same fashion that it was exploited at the embedder of the auxiliary data. In particular, if the measure of the expected error rate is likely to be the same at the embedder and the decoder, even after distortion by the channel and the embedding of the auxiliary data, then the decoder can simply re-compute the expected error rate at the receiver, and use this measure to determine the type of error robustness coding that has been applied. In another words, a part of the auxiliary data need not be allocated to identifying the type of error robustness coding if the decoder can derive it from the received signal, the channel, and/or other information available to it.
  • Encryption for Multi-Watermark Schemes
  • We disclose in assignee's U.S. patent application Ser. No. 10/686,495, filed Oct. 14, 2003 (published as U.S. 2004-0181671 A1), herein incorporated by reference, watermarking methods, systems and associated identification documents, that include plural watermarks cooperating to provide authentication. For example, an identification document may include first and second digital watermarks embedded therein. Each of the watermarks preferably includes plural-bit payloads. The payloads include corresponding information, e.g., redundant or related information. In one implementation the first watermark payload includes a document number and the second watermark payload includes a checksum to verify the number. In other implementations the first or second payload includes information that is redundant with the first or second payload (e.g., a birth date is carried by both watermark payloads).
  • Detection and comparison of the first and second watermark payloads facilitates authentication of the identification documents or other physical objects.
  • Application Ser. No. 10/686,495 also envisions encrypting one or more of the payloads.
  • We have recently determined that we can encrypt one watermark payload and still help authenticate or safeguard both watermark payloads.
  • In a first implementation, a first digital watermark payload includes a first set of information. A first checksum (e.g., Cyclic Redundancy Check (CRC)) is provided that corresponds with the first set of information. A second digital watermark payload includes a second set of information. A second checksum is provided that corresponds with the second set of information. The first checksum and the second checksum are appended to or otherwise combined with the first set of information. The combined checksums and first set of information are encrypted using conventional encryption techniques (e.g., RSA, triple-DES, MD2, MD5, MD11, SHA, SHA1 or a Federal Information Processing Standard (FIPS) encryption method) as represented below.
  • Encrypt [(1st Checksum¦2nd Checksum)¦1st Set of Information], where the symbol “¦” represents combining or appending.
  • The encrypted combined checksums and first set of information is embedded via a first digital watermark and the second set of information is embedded via a second digital watermark.
  • To authenticate the first and second digital watermarks, or to provide a confidence measure regarding the integrity of the first and second watermarks, a watermark detector decodes the watermarks to obtain the encrypted first set of information and checksums and the second set of information. The encrypted first set of information and checksums are decrypted with a corresponding decryption key to obtain the first set of information and checksums. The integrity of the first set of information is determined through a match or acceptable correspondence with the first checksum. (More accurately, a statistical probability is determined for the checksum correspondence, but fretting over the “probability” become increasing irrelevant as the security of the checksum increases.) The second checksum is used to verify the integrity of the second set of information. Thus, encrypting the first watermark payload including checksums leads to authentication of the first and second digital watermarks.
  • (Considered further, it would be almost statically improbable to change the second digital watermark payload, or swap it for a different watermark, and have the changed or swapped watermark still match the second checksum carried by the encrypted first watermark payload.).
  • Instead of including a second checksum, we can alternatively use redundant information carried by the first set of information to verify the authenticity of the second set of information. Suppose, for example, that both the first and second sets of information carry a birth date and a document bearer's last name. The first set of information is encrypted, perhaps along with a checksum corresponding to the first set of information. To authenticate, the encrypted first set of information is decrypted (and perhaps verified with the checksum). The redundant information (birth date and last name) from the first set of information is then compared with the same redundant information in the second set of information. If the comparison yields a match (or acceptable correspondence) the watermarks are considered secure.
  • In a second implementation, we carry a checksum in a second digital watermark. The checksum is preferably provided across a second set of information and at least a portion of a first set of information. The first set of information is encrypted and then carried by a first digital watermark. The checksum is appended or otherwise combined with the second set of information and the combined checksums and second set of information are carried by a second digital watermark. To gain confidence in the watermarks, the first and second watermark are decoded to obtain the encrypted first set of information (from the 1st watermark) and the combined checksum and second set of information (from the 2nd watermark). The encrypted first set of information is decrypted, and the checksum from the second watermark is matched (or determined if it falls within acceptable tolerances) across the portion of or the entire first set of information and the second set of information. High confidence in the watermarks is found when the checksum coincides within expected tolerances. Again, encryption of only one of the watermarks (here the first set of information) leads to authentication or verification of both the first and second digital watermarks.
  • In a third and related implementation, the second digital watermark includes two checksums, a first checksum for a first set of information (encrypted and carried by a first digital watermark) and a second checksum for a second set of information (unencrypted and carried by a second digital watermark). The first and second checksums are appended to or otherwise combined with the second set of information, and the combined data is carried by the second digital watermark. Authentication occurs when the checksum corresponds to their respective sets of information in an acceptable manner.
  • (Another implementation appends a checksum to an encrypted first set of information. The appended checksum and the encrypted first set of information are conveyed via a first digital watermark. The checksum corresponds to the first set of information and a second set of information, which is carried by a second digital watermark.).
  • The above implementations work well, especially when one of the two payloads (i.e., the unencrypted payload) is constrained in bit-size (e.g., <64 bits). A constrained bit-size payload may be too small to favorably encrypt. In this case, the other (and encrypted) payload is preferably larger (e.g., >96 bits) to favorably receive encryption. Of course, encryption can take place in a watermark embedder or an application or process cooperating or communicating with a watermark embedder.
  • The first and second set of information may also include or be appended with content dependent bits. For example, if the first set of information is to be embedded in a photographic representation of a bearer of a document, a hash or signature of the photographic representation can be included or appended to the first set of information. A checksum is provided over information including the hash or signature. We note, however, that we preferably do not encrypt the hash or signature.
  • Additional security is provided through a so-called human visual system model (HVS) to tie a watermark to imagery through the used of local-gain and local embedding adjustment.
  • (As a tangential discussion we note that access control via encryption is accomplished by encrypting so-called private bits using a public key for a particular issuing jurisdiction. We prefer to encrypt before encrypting a primary payload with a regional standard private key. We can add additional random bits to help keep a payload private. A separate checksum is not needed since a corresponding decryption key is known and these private bits are encrypted with a regional private key with its own checksum bits. A private key only stored in secure jurisdiction detectors to view private payload.)
  • A few block diagrams of possible encryption schemes are provided in FIGS. 7-9.
  • FIG. 7 shows a two payload scheme in which only one watermark payload is encrypted.
  • FIG. 8 illustrates a two payload scheme in which a primary payload is decrypted with a so-called “regional” public key. The regional public decryption key is provided to affiliated members within a region. The primary payload is presumed to include “private bits,” or bits associated with an individual or issuing authority, or bits randomly inserted to ensure privacy. These bits are discarded prior to payload recovery.
  • FIG. 9 illustrates a secure jurisdictional private detector. Since this method assumes operation in a private system, the private data is not discarded as above, but is maintained with the primary payload.
  • Watermark Cryptology Alternatives
  • Watermarks are sometimes read and embedded based upon secrets, such as a pseudo-random (PN) sequence used to embed a watermark or features used within the watermark. These secrets may require testing to change. They are also the same for the embedder and detector; thus, once you disclose them, the user knows how to embed and read the watermark. It was stated in an Oct. 22, 1999, call for proposals from the European Broadcasting Union (EBU) that it is desirable to keep who knows how to read the watermark from embedding the watermark, but a favorable solution remains elusive until now.
  • One inventive solution uses encryption of a watermark message. The encryption can include encrypting only a plural-bit payload or a payload and authenticating data, such as CRC bits. The encryption can use symmetric key or public/private key encryption. When the public/private key encryption is used with both the payload and authenticating bits, the system can allows users to read the watermark, but not embed the watermark, and the reading process can be guaranteed that the correct key was used. Thus, this key can include additional information, such as the origination of the watermark without wasting valuable payload bits. If authentication bits are not used, the decryption will produce meaningless bits, but the user will not know they are meaningless. In addition, in certain situations, this can produce security flaws.
  • As shown in FIG. 5 we present two partitions for a watermark payload and two types of encryption. A watermark payload preferably includes a message portion and authentication bits. The message portion includes plural binary bits of information. The authentication bits provide a mechanism to validate that the payload portion is read correctly by a watermark detector, and is calculated based on the message portion. A well-known approach is a CRC. The watermark message can also be redundantly embedded to reduce the chance of errors, such as embedding it over and over again, or using error correction encoding, e.g., convolutional coding. Convolutional coding typically includes error recovery.
  • A preferred system (FIG. 6) encrypts a watermark message, which includes message bits and a CRC, with a unique key per issuing jurisdiction. The system preferably uses public/private key pairs for at least three reasons. First, watermark readers are usually in a less secure environment than watermark embedders. Second, in a semi-open system, a reader for one jurisdiction reads ID documents from other jurisdictions as well, but the reader preferably should not allow one jurisdiction to embed (or discover) an embedding ID for other jurisdictions. Third, the computational intensity of public/private key encryption will not typically matter since only a relatively small number of bits are encrypted.
  • Message keys are preferably stored in encrypted format. Thus, a complete key usage model includes three (3) public/private key pairs, including (1) a message key pair (MKc), (2) an embedder key-file key pair (EKFc), and (3) a reader key-file key pair (RKF), as shown in FIG. 6.
  • All keys preferably use RSA or other conventional encryption.
  • The message key pair is used to encrypt a watermark message (e.g., payload and CRC bits), and is preferably unique for each issuing jurisdiction, since it is preferred that one jurisdiction can read embedded messages of another jurisdiction, but not be able to embed (or encrypt) the messages for that jurisdiction. The embedder key-file key pair is used to encrypt private message keys for the embedder. This key pair is unique to each jurisdiction, thus making it more difficult to embed as another jurisdiction even if you find all the locations where the keys are stored (e.g., obfuscated) in the embedder code. The reader key-file key pair is used to encrypt a public message key, and is the same for every jurisdiction since all the jurisdictions preferably have the same reader.
  • Note, that the reader key-file key pair could be different for each jurisdiction and the message key could use a symmetric encryption scheme, but the above model provides additional security with minimal increase in computation since the message will typically include less than 128 bits.
  • In addition, given the preference that jurisdictions are able to read all other jurisdictions embedding, a reader preferably includes public message keys for all of the jurisdictions whereas the embedder will contain only the private keys for that jurisdiction. More specifically, the reader will preferably include the public message keys for the lifetime of the document (e.g., 10 years for a passport). The embedder will contain two private message keys for each jurisdiction, one for this two year interval, and one for the next two year interval so key distribution happens flawlessly.
  • Public Key Watermarking
  • Public key watermarking is applicable to systems that know a watermark should exist, thus removal is not an attack. It is also beneficial to systems where removal is an attack, since improper watermarks cannot be created after analyzing the detector. For example, copy once cannot be embedded in a copy never system, nor can a person embed a watermark without purchasing a legitimate embedder.
  • As background, public key encryption preferably meets the following criteria:
  • Kec op x=y; where Kec=encryption key, op=operation, x=plaintext, and y=ciphertext;
  • Kdc op y 32 x; where Kdc=decryption key, iln other words, Kdc op (Kec op x)=x;
  • Kdc op (Kdc op x) !=x; where !=is not equals;
  • Kec cannot be determined from Kdc; and
  • Kec never appears in the decrypting device.
  • A Public key watermarking scheme preferably meets the following criteria:
  • Kew op2 p=w; where Kew=embedder key, op2=operation, p=payload, and w=watermark (labeled ciphermark to differentiate it from a standard watermark);
  • Kdw op2 w=p; where Kdw=detector key, in other words, Kdw op2 (Kew op2 p)=p;
  • Kdw op (Kdw op p) !=p, where !=is not equals;
  • Kew cannot be determined from Kdw; and
  • Kew never appears in the detector.
  • The apparent difficulty is that op is special for public key encryption, whereas op2 is correlation based for most watermarking methods. Interestingly, op2 can be, e.g., a 1024-bit spread spectrum chip, and most the public key encryption keys are 1024-bits.
  • Some watermarking techniques use a so-called orientation component. An orientation component is helpful in resolving distortion such as rotation, scale and translation.
  • One type of watermark orientation component is an image signal that comprises a set of impulse functions in a transform domain, like a Fourier magnitude domain, e.g., each with pseudorandom phase. To detect rotation and scale of a watermarked image (e.g., after printing and scanning of the watermarked image), a watermark decoder converts the watermarked image to the Fourier magnitude domain and then performs, e.g., a log polar resampling of the Fourier magnitude image. A generalized matched filter correlates a known orientation component with the re-sampled watermarked signal to find the rotation and scale parameters providing the highest correlation. The watermark decoder performs additional correlation operations between the phase information of the known orientation signal and watermarked signal to determine translation parameters, which identify an origin of the watermark signal. Having determined the rotation, scale and translation of the watermark signal, the watermark reader then adjusts the image data to compensate for this distortion, and extracts the watermark message signal.
  • If, after using correlation to find orientation, a watermark detection process does not then use correlation to detect a watermark payload (p) from the watermark (w), Kew is not needed in the detector and op2 can be equal to op.
  • More specifically, a watermark is created using, e.g., a 1024-bit embedding key. An expanded payload is provided (where the payload (p) such as 96 bits) and expanded with repetition, error correction and checksum to 1024 bits, and then a standard public key encryption algorithm (RSA) results in 1024-bits of ciphermark (w). This 1024-bit ciphermark is then embedded using standard image steganographic embedding techniques (e.g., as described in U.S. Pat. Nos. 6,122,403 and 6,614,914). Using the embedder key and public key encryption algorithm replaces using, e.g., an XOR with a spread spectrum sequence since encryption randomizes the data.
  • The ciphermark is detected by first detecting a watermark orientation component, then determining a corresponding orientation, scale and rotation (i.e. synchronization). The ciphermark is then read by comparing a pixel to its neighbors as is found in the steganographic literature. The ciphermark is turned into a payload by using the standard public key encryption algorithm (e.g., RSA or other conventional encryption) as used in the embedder to result in, e.g., 1024-bits of expanded payload, reversing error correction if any, and using a checksum for accuracy The watermark can be embedded as overlaid 32.times.32 pixel (1024 pixel) sub-blocks to create a 128.times.128 block.
  • In this method, Kew never appears in the detector, nor can be calculated from Kdw. In other words, the embedding spreading function is not needed in the detector.
  • In addition, if the expanded payload includes content dependent bits (as described in, e.g., assignee's U.S. patent application Ser. No. 10/158,385 (published as U.S. 2003-0223584 A1) and Ser. No. 10/449,827 (published as U.S. 2004-0039914 A1), which are each herein incorporated by reference), these bits are preferably encrypted. Thus, if the ciphermark (w) is copied to another image with a copy attack, the content dependent bits will not match the new image. In addition, the content dependent bits cannot be modified even if the fingerprint algorithm for calculating the content dependent bits is known, and calculated for the new image, since Kew is not known, nor can be calculated from Kdw, to replace the original with the new content dependent bits.
  • In addition to the combinations outlined in the claims, a few possible combinations of the above disclosure include:
  • A. An encoding method for digital watermarking comprising:
  • receiving an n-bit payload, wherein n comprises an integer; expanding the n-bit payload to m-bits, wherein m comprises an integer and matches a bit-length of an embedding key, and wherein m>n, said expanding resulting at least in part from at least one of error correction coding and bit redundancy;
  • randomizing the m-bits through encrypting the m-bits; and
  • embedding the encrypted m-bits in media.
  • A1. The method of A wherein said randomizing yields an m-bit string.
  • A2. The method of A wherein said expanding comprises appending a checksum.
  • A3. The method of A wherein said expanding comprises appending content dependent bits to the payload.
  • B. An encoding method for a digital watermark component, said method comprising:
  • receiving an n-bit payload, wherein n comprises an integer;
  • expanding the n bits to m bits, wherein m comprises an integer and wherein m>n, wherein said expanding comprises error correction coding and checksum bits;
  • encrypting the m-bits with an encryption key;
  • embedding the m-bits in media.
  • B1. The method of B wherein said expanding comprises appending content dependent bits to the payload.
  • B2. The method of B 1, wherein said content dependent bits comprise a hash or digital signature.
  • B3. The method of any one of B-B2, wherein said method approximates spread spectrum modulation.
  • C. A method of managing encryption keys for digital watermarking comprising:
  • providing a plurality of watermark message key pairs, wherein each of the watermark message key pairs is unique per embedding authority, and wherein each message key pair comprises a public and private key which allows only the embedding authority to encrypt messages via the private key while allowing decryption of such encryption messages only via the corresponding public key;
  • providing a plurality of embedder key pairs, wherein each of the watermark embedder key pairs is unique per embedding authority, and wherein each embedder key pair comprises a public and private key which allows only the embedding authority to encrypt private message keys for a corresponding watermark embedder via the private key while allowing decryption only via the corresponding public key; and
  • providing a plurality of reader key pairs, wherein each of the reader key pairs is common among each of the embedding authorities so that each jurisdiction can read messages embedded thereby.
  • CONCLUDING REMARKS
  • Having described and illustrated the principles of the technology with reference to specific implementations, it will be recognized that the technology can be implemented in many other, different, forms. The variable message coding protocols may be used in digital watermarking applications where digital watermarks are embedded by imperceptibly modifying a host media signal. They may also be used in steganographic applications where message are hidden in media signals, such as images (including graphical symbols, background textures, halftone images, etc.) or text. The embedding or encoding of the message according to the variable protocols may, in some cases create visible structures or artifacts in which the message is not discernable by a human, yet is readable by an automated reader with knowledge of the protocol, including any keys used to scramble the message.
  • To provide a comprehensive disclosure without unduly lengthening the specification, applicants incorporate by reference the U.S. patent documents referenced above.
  • The methods, processes, and systems described above may be implemented in hardware, software or a combination of hardware and software. For example, the auxiliary data encoding processes may be implemented in a programmable computer or a special purpose digital circuit. Similarly, auxiliary data decoding may be implemented in software, firmware, hardware, or combinations of software, firmware and hardware. The methods and processes described above may be implemented in programs executed from a system's memory (a computer readable medium, such as an electronic, optical or magnetic storage device).
  • The particular combinations of elements and features in the above-detailed embodiments are exemplary only; the interchanging and substitution of these teachings with other teachings in this and the incorporated-by-reference patents/applications are also contemplated.

Claims (20)

1. A method comprising:
analyzing, using a processor, a media signal for an expected error rate; and
steganographically encoding data in the media signal using an amount of error robustness coding, wherein the error robustness coding is determined based at least in part on the expected error rate.
2. The method of claim 1, further comprising:
subdividing the media signal into blocks; and
measuring the expected error rate for each block.
3. The method of claim 2, wherein the blocks are a fixed size.
4. The method of claim 2, wherein the amount of error robustness coding varies between blocks.
5. The method of claim 1, further comprising transmitting the media signal.
6. The method of claim 1, wherein the amount of error robustness coding comprises selecting a number of times to repeat a message symbol.
7. The method of claim 1, wherein the amount of error robustness coding comprises selecting an error correction code.
8. The method of claim 1, wherein analyzing the media signal for the expected error rate uses a model of the media signal.
9. The method of claim 1, wherein analyzing the media signal for the expected error rate comprises analyzing a channel of the media signal.
10. A method comprising:
analyzing, using a processor, a media signal for an expected error rate; and
decoding steganographically encoded code in the media signal using an amount of error robustness coding, wherein the error robustness coding is determined based at least in part on the expected error rate.
11. The method of claim 10, further comprising receiving the media signal.
12. A non-transitory computer readable medium comprising instructions stored therein, the instructions comprising:
instructions to analyze a media signal for an expected error rate; and
instructions to steganographically encode data in the media signal using an amount of error robustness coding, wherein the error robustness coding is determined based at least in part on the expected error rate.
13. The non-transitory computer-readable medium of claim 12, further comprising:
instructions to subdivide the media signal into blocks; and
instructions to measure the expected error rate for each block.
14. The non-transitory computer-readable medium of claim 13, wherein the blocks are a fixed size.
15. The non-transitory computer-readable medium of claim 13, wherein the amount of error robustness coding varies between blocks.
16. The non-transitory computer-readable medium of claim 13, further comprising instructions to transmit the media signal.
17. The non-transitory computer-readable medium of claim 12, wherein the amount of error robustness coding comprises selecting a number of times to repeat a message symbol.
18. The non-transitory computer-readable medium of claim 12, wherein the amount of error robustness coding comprises selecting an error correction code.
19. The non-transitory computer-readable medium of claim 12, wherein instructions to analyze the media signal for the expected error rate uses a model of the media signal.
20. The non-transitory computer-readable medium of claim 12, wherein instructions to analyze the media signal for the expected error rate comprises instructions to analyze a channel of the media signal.
US13/074,141 2004-03-18 2011-03-29 Watermark payload encryption for media including multiple watermarks Abandoned US20110176706A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/074,141 US20110176706A1 (en) 2004-03-18 2011-03-29 Watermark payload encryption for media including multiple watermarks

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US55454304P 2004-03-18 2004-03-18
US11/082,217 US8127137B2 (en) 2004-03-18 2005-03-15 Watermark payload encryption for media including multiple watermarks
US13/074,141 US20110176706A1 (en) 2004-03-18 2011-03-29 Watermark payload encryption for media including multiple watermarks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/082,217 Continuation US8127137B2 (en) 2004-03-18 2005-03-15 Watermark payload encryption for media including multiple watermarks

Publications (1)

Publication Number Publication Date
US20110176706A1 true US20110176706A1 (en) 2011-07-21

Family

ID=35376591

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/082,217 Active 2028-10-06 US8127137B2 (en) 2004-03-18 2005-03-15 Watermark payload encryption for media including multiple watermarks
US13/074,141 Abandoned US20110176706A1 (en) 2004-03-18 2011-03-29 Watermark payload encryption for media including multiple watermarks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/082,217 Active 2028-10-06 US8127137B2 (en) 2004-03-18 2005-03-15 Watermark payload encryption for media including multiple watermarks

Country Status (1)

Country Link
US (2) US8127137B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120275641A1 (en) * 2011-04-28 2012-11-01 King Abdul Aziz City For Science And Technology Method and apparatus for embedding a watermark image in a host image
US8868039B2 (en) 2011-10-12 2014-10-21 Digimarc Corporation Context-related arrangements
US20150058630A1 (en) * 2013-08-22 2015-02-26 Samsung Electronics Co., Ltd. Electronic device and method for extracting encrypted message
US9830588B2 (en) 2013-02-26 2017-11-28 Digimarc Corporation Methods and arrangements for smartphone payments
US9965756B2 (en) 2013-02-26 2018-05-08 Digimarc Corporation Methods and arrangements for smartphone payments
US20180338068A1 (en) * 2014-01-31 2018-11-22 Digimarc Corporation Methods for encoding, decoding and interpreting auxiliary data in media signals
US10841289B2 (en) 2013-03-18 2020-11-17 Digimarc Corporation Mobile devices as security tokens
US11049094B2 (en) 2014-02-11 2021-06-29 Digimarc Corporation Methods and arrangements for device to device communication

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239981B2 (en) 2002-07-26 2007-07-03 Arbitron Inc. Systems and methods for gathering audience measurement data
US8959016B2 (en) 2002-09-27 2015-02-17 The Nielsen Company (Us), Llc Activating functions in processing devices using start codes embedded in audio
US9711153B2 (en) 2002-09-27 2017-07-18 The Nielsen Company (Us), Llc Activating functions in processing devices using encoded audio and detecting audio signatures
US20060184960A1 (en) * 2005-02-14 2006-08-17 Universal Music Group, Inc. Method and system for enabling commerce from broadcast content
US8769663B2 (en) * 2005-08-24 2014-07-01 Fortinet, Inc. Systems and methods for detecting undesirable network traffic content
US8980504B2 (en) * 2006-05-11 2015-03-17 Xerox Corporation Substrate fluorescence mask utilizing a multiple color overlay for embedding information in printed documents
GB2438904A (en) * 2006-06-06 2007-12-12 Sony Uk Ltd Generation of code words for image watermarking
JP4978325B2 (en) * 2006-08-22 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 Image processing apparatus, image processing method and computer program thereof
KR101221913B1 (en) * 2006-12-20 2013-01-15 엘지전자 주식회사 Digital broadcasting system and data processing method
KR101398534B1 (en) 2007-03-23 2014-05-27 톰슨 라이센싱 Modifying a coded bitstream
CA2689634C (en) * 2007-06-14 2016-08-23 Thomson Licensing Modifying a coded bitstream
US7965838B2 (en) * 2007-11-30 2011-06-21 Faraday Technology Corp. Watermark generating circuit and related method thereof
TW200937250A (en) * 2007-12-18 2009-09-01 Koninkl Philips Electronics Nv Drive apparatus
US9154301B2 (en) * 2008-04-22 2015-10-06 Nokia Corporation Location information verification
FR2933557B1 (en) * 2008-07-02 2013-02-08 Airbus France METHOD AND DEVICE FOR PROTECTING THE INTEGRITY OF DATA TRANSMITTED ON A NETWORK
US8359205B2 (en) 2008-10-24 2013-01-22 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US9667365B2 (en) * 2008-10-24 2017-05-30 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
US8509474B1 (en) 2009-12-11 2013-08-13 Digimarc Corporation Digital watermarking methods, apparatus and systems
US9160988B2 (en) * 2009-03-09 2015-10-13 The Nielsen Company (Us), Llc System and method for payload encoding and decoding
CN102625982B (en) 2009-05-01 2015-03-18 尼尔森(美国)有限公司 Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
EP2416317A1 (en) * 2010-08-03 2012-02-08 Irdeto B.V. Detection of watermarks in signals
EP2442484A1 (en) * 2010-10-15 2012-04-18 Certicom Corp. Authenticated encryption for digital signatures with message recovery
CN102567938B (en) * 2010-12-23 2014-05-14 北大方正集团有限公司 Watermark image blocking method and device for western language watermark processing
US20120209765A1 (en) * 2011-02-16 2012-08-16 Todd Tredeau Monetary Transaction Security Verification System and Method
JP5656082B2 (en) * 2011-05-25 2015-01-21 株式会社日立ソリューションズ Image processing apparatus, image generation apparatus, image processing method, and image generation method
WO2013188807A2 (en) * 2012-06-14 2013-12-19 Digimarc Corporation Methods and systems for signal processing
US9436815B2 (en) 2012-07-12 2016-09-06 Xsette Technology, Inc. Block management unification system and method
US9318116B2 (en) * 2012-12-14 2016-04-19 Disney Enterprises, Inc. Acoustic data transmission based on groups of audio receivers
US9711152B2 (en) 2013-07-31 2017-07-18 The Nielsen Company (Us), Llc Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio
US20150039321A1 (en) 2013-07-31 2015-02-05 Arbitron Inc. Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device
TWI505210B (en) * 2013-10-23 2015-10-21 Cybersoft Digital Services Corp Method for computerizing a receipt
US9716807B2 (en) * 2014-10-13 2017-07-25 Digimarc Corporation Methods for estimating watermark signal strength, an embedding process using the same, and related arrangements
US9871658B2 (en) 2015-03-24 2018-01-16 Semiconductor Components Industries, Llc Imaging systems with data encryption and embedding capabalities
US10217182B1 (en) 2015-10-29 2019-02-26 Digimarc Corporation Construction of signal maps for images with encoded signals
WO2017096178A1 (en) * 2015-12-05 2017-06-08 Indiana University Research And Technology Corporation Systems and methods for image processing
US10262176B1 (en) 2016-02-23 2019-04-16 Digimarc Corporation Scanner with control logic for resolving package labeling
US10198782B1 (en) 2016-09-15 2019-02-05 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery
US10872392B2 (en) 2017-11-07 2020-12-22 Digimarc Corporation Generating artistic designs encoded with robust, machine-readable data
US11062108B2 (en) * 2017-11-07 2021-07-13 Digimarc Corporation Generating and reading optical codes with variable density to adapt for visual quality and reliability
US10880451B2 (en) 2018-06-08 2020-12-29 Digimarc Corporation Aggregating detectability metrics to determine signal robustness
US10789438B1 (en) 2019-02-08 2020-09-29 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery, using only a subset of available image data
US11250535B1 (en) 2019-02-08 2022-02-15 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery, using only a subset of available image data, and robustness checks
US11039160B2 (en) * 2019-03-21 2021-06-15 The Nielsen Company (Us), Llc Methods and apparatus for delivering extended payloads with composite watermarks
US11012757B1 (en) * 2020-03-03 2021-05-18 The Nielsen Company (Us), Llc Timely addition of human-perceptible audio to mask an audio watermark
CN111489278B (en) * 2020-04-07 2023-05-16 贵州大学 Text watermark embedding and extracting method based on scrambling diffusion

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030026453A1 (en) * 2000-12-18 2003-02-06 Sharma Ravi K. Repetition coding of error correction coded messages in auxiliary data embedding applications
US20030033530A1 (en) * 1996-05-16 2003-02-13 Sharma Ravi K. Variable message coding protocols for encoding auxiliary data in media signals
US20050271246A1 (en) * 2002-07-10 2005-12-08 Sharma Ravi K Watermark payload encryption methods and systems

Family Cites Families (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4179686A (en) 1976-11-03 1979-12-18 Bonicalzi Maria P System for checking the authenticity of identification papers
DE2943436A1 (en) 1979-10-26 1981-05-07 Wolfram Dr.-Ing. 5100 Aachen Szepanski Security coding system for documents - has cover coding printed on document and optically scanned for comparison with normal text
US4302810A (en) 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US4782342A (en) 1986-08-04 1988-11-01 Walton Charles A Proximity identification system with lateral flux paths
US4879747A (en) 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
US4994831A (en) 1989-12-11 1991-02-19 Beattie Systems, Inc. Floating image camera
US5337361C1 (en) 1990-01-05 2001-05-15 Symbol Technologies Inc Record with encoded data
US5113445A (en) 1990-07-09 1992-05-12 Symbol Technologies Inc. System for encoding data in machine readable graphic form
GB9009739D0 (en) 1990-05-01 1990-06-20 Disys Inc Transponder system
FR2684214B1 (en) 1991-11-22 1997-04-04 Sepro Robotique INDEXING CARD FOR GEOGRAPHIC INFORMATION SYSTEM AND SYSTEM INCLUDING APPLICATION.
US5336871A (en) 1992-02-07 1994-08-09 American Bank Note Holographics, Incorporated Holographic enhancement of card security
US5284364A (en) 1992-06-10 1994-02-08 Anvik Corporation Increased-security identification card system
US5721788A (en) 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
US5321751A (en) 1993-02-18 1994-06-14 Eastman Kodak Company Method and apparatus for credit card verification
US5490217A (en) 1993-03-05 1996-02-06 Metanetics Corporation Automatic document handling system
EP0642060B1 (en) 1993-09-03 1999-04-07 Kabushiki Kaisha Toshiba Apparatus for steganographic embedding of information into colour images
US5505494B1 (en) 1993-09-17 1998-09-29 Bell Data Software Corp System for producing a personal id card
US6546112B1 (en) 1993-11-18 2003-04-08 Digimarc Corporation Security document with steganographically-encoded authentication data
US20020009208A1 (en) * 1995-08-09 2002-01-24 Adnan Alattar Authentication of physical and electronic media objects using digital watermarks
US6614914B1 (en) * 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US6636615B1 (en) 1998-01-20 2003-10-21 Digimarc Corporation Methods and systems using multiple watermarks
US6122403A (en) * 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US6611607B1 (en) 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
US6574350B1 (en) 1995-05-08 2003-06-03 Digimarc Corporation Digital watermarking employing both frail and robust watermarks
US7171016B1 (en) 1993-11-18 2007-01-30 Digimarc Corporation Method for monitoring internet dissemination of image, video and/or audio files
US5862260A (en) * 1993-11-18 1999-01-19 Digimarc Corporation Methods for surveying dissemination of proprietary empirical data
US5841886A (en) 1993-11-18 1998-11-24 Digimarc Corporation Security system for photographic identification
US6549638B2 (en) 1998-11-03 2003-04-15 Digimarc Corporation Methods for evidencing illicit use of a computer system or device
US5748763A (en) 1993-11-18 1998-05-05 Digimarc Corporation Image steganography system featuring perceptually adaptive and globally scalable signal embedding
US7039214B2 (en) 1999-11-05 2006-05-02 Digimarc Corporation Embedding watermark components during separate printing stages
US6973197B2 (en) 1999-11-05 2005-12-06 Digimarc Corporation Watermarking with separate application of the grid and payload signals
US20020170966A1 (en) 1995-07-27 2002-11-21 Hannigan Brett T. Identification document including embedded data
US6869023B2 (en) 2002-02-12 2005-03-22 Digimarc Corporation Linking documents through digital watermarking
ES2105936B1 (en) 1994-03-21 1998-06-01 I D Tec S L IMPROVEMENTS INTRODUCED IN INVENTION PATENT N. P-9400595/8 BY: BIOMETRIC PROCEDURE FOR SECURITY AND IDENTIFICATION AND CREDIT CARDS, VISAS, PASSPORTS AND FACIAL RECOGNITION.
EP0772530B1 (en) 1994-07-26 2001-11-21 International Data Matrix, Inc. Unalterable self-verifying articles
US6560349B1 (en) 1994-10-21 2003-05-06 Digimarc Corporation Audio monitoring using steganographic information
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6137884A (en) 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US7486799B2 (en) 1995-05-08 2009-02-03 Digimarc Corporation Methods for monitoring audio and images on the internet
US7054462B2 (en) 1995-05-08 2006-05-30 Digimarc Corporation Inferring object status based on detected watermark data
US6744906B2 (en) 1995-05-08 2004-06-01 Digimarc Corporation Methods and systems using multiple watermarks
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US6577746B1 (en) 1999-12-28 2003-06-10 Digimarc Corporation Watermark-based object linking and embedding
JPH0950465A (en) 1995-08-04 1997-02-18 Hitachi Ltd Electronic shopping method, electronic shopping system and document authentication method
US5786587A (en) 1995-08-10 1998-07-28 American Bank Note Holographics, Inc. Enhancement of chip card security
US5735432A (en) 1995-09-14 1998-04-07 Cory Consultants, Inc. System for and method of dispensing lottery tickets
US6041345A (en) * 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
US5949885A (en) 1996-03-12 1999-09-07 Leighton; F. Thomson Method for protecting content using watermarking
US20020159614A1 (en) * 2000-12-18 2002-10-31 Bradley Brett Alan Message coding for digital watermark applications
US6463416B1 (en) 1996-07-15 2002-10-08 Intelli-Check, Inc. Authentication system for identification documents
US5864623A (en) 1996-07-15 1999-01-26 Intellicheck Inc. Authentication system for driver licenses
AUPO799197A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6081907A (en) * 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US6910628B1 (en) 1997-06-24 2005-06-28 Richard P. Sehr Travel system and methods utilizing multi-application airline passenger cards
US6085976A (en) 1998-05-22 2000-07-11 Sehr; Richard P. Travel system and methods utilizing multi-application passenger cards
US5956513A (en) * 1997-08-07 1999-09-21 Mci Communications Corporation System and method for automated software build control
DE19741051A1 (en) 1997-09-18 1999-03-25 Bayer Ag New tetrahydroquinoline derivatives useful in treatment of raised lipid levels and arteriosclerosis
JP2003529225A (en) 1998-01-20 2003-09-30 ディジマーク コーポレイション Multiple watermark technology
US7054463B2 (en) 1998-01-20 2006-05-30 Digimarc Corporation Data encoding using frail watermarks
JP4313873B2 (en) 1998-01-30 2009-08-12 キヤノン株式会社 Electronic device and data processing method
US5936527A (en) 1998-02-10 1999-08-10 E-Tag Systems, Inc. Method and apparatus for locating and tracking documents and other objects
US6557103B1 (en) * 1998-04-13 2003-04-29 The United States Of America As Represented By The Secretary Of The Army Spread spectrum image steganography
US6608911B2 (en) 2000-12-21 2003-08-19 Digimarc Corporation Digitally watermaking holograms for use with smart cards
US6243480B1 (en) 1998-04-30 2001-06-05 Jian Zhao Digital authentication with analog documents
US6487301B1 (en) 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents
US6219791B1 (en) * 1998-06-22 2001-04-17 Motorola, Inc. Method and apparatus for generating and verifying encrypted data packets
US6285775B1 (en) 1998-10-01 2001-09-04 The Trustees Of The University Of Princeton Watermarking scheme for image authentication
EP1131769B1 (en) 1998-11-19 2005-02-16 Digimarc Corporation Printing and validation of self validating security documents
US6321981B1 (en) 1998-12-22 2001-11-27 Eastman Kodak Company Method and apparatus for transaction card security utilizing embedded image data
GB2366112B (en) * 1998-12-29 2003-05-28 Kent Ridge Digital Labs Method and apparatus for embedding digital information in digital multimedia data
FR2791159B1 (en) 1999-03-15 2001-05-04 Bull Cp8 METHOD FOR ACCESSING AN OBJECT USING A WEB-BASED BROWSER COOPERATING WITH A CHIP CARD AND ARCHITECTURE FOR IMPLEMENTING THE METHOD
US6304969B1 (en) 1999-03-16 2001-10-16 Webiv Networks, Inc. Verification of server authorization to provide network resources
US6442284B1 (en) 1999-03-19 2002-08-27 Digimarc Corporation Watermark detection utilizing regions with higher probability of success
US7222235B1 (en) 1999-03-30 2007-05-22 Oki Electric Industry Co., Ltd. Image processing system utilizing digital watermarks in predetermined regions
US6532562B1 (en) * 1999-05-21 2003-03-11 Microsoft Corp Receiver-driven layered error correction multicast over heterogeneous packet networks
US6577759B1 (en) 1999-08-17 2003-06-10 Koninklijke Philips Electronics N.V. System and method for performing region-based image retrieval using color-based segmentation
US7502759B2 (en) * 1999-08-30 2009-03-10 Digimarc Corporation Digital watermarking methods and related toy and game applications
US6363480B1 (en) 1999-09-14 2002-03-26 Sun Microsystems, Inc. Ephemeral decryptability
US6327576B1 (en) 1999-09-21 2001-12-04 Fujitsu Limited System and method for managing expiration-dated products utilizing an electronic receipt
US6708049B1 (en) 1999-09-28 2004-03-16 Nellcor Puritan Bennett Incorporated Sensor with signature of data relating to sensor
US6850910B1 (en) * 1999-10-22 2005-02-01 Matsushita Electric Industrial Co., Ltd. Active data hiding for secure electronic media distribution
JP3677185B2 (en) * 1999-11-29 2005-07-27 株式会社東芝 Code division multiplexing transmission system, transmitter and receiver
US6286761B1 (en) 1999-12-03 2001-09-11 Eastman Kodak Company Identification document having embedding information related to the subject
BR9917573A (en) 1999-12-07 2002-08-06 Sun Microsystems Inc Identification device that contains a secure photo, as well as a means and method for authenticating such identification device
US6264106B1 (en) 1999-12-27 2001-07-24 Symbol Technologies, Inc. Combination bar code scanner/RFID circuit
US6385329B1 (en) * 2000-02-14 2002-05-07 Digimarc Corporation Wavelet domain watermarks
US6873966B2 (en) 2000-06-15 2005-03-29 Hart Intercivic, Inc. Distributed network voting system
EP1260023A2 (en) 2000-02-17 2002-11-27 Analog Devices, Inc. Method, apparatus, and product for use in generating crc and other remainder based codes
TW533381B (en) 2000-02-29 2003-05-21 Tokyo Shibaura Electric Co Automatic ticket checking apparatus, ticket checking method thereof and radio communication equipment
US7027614B2 (en) 2000-04-19 2006-04-11 Digimarc Corporation Hiding information to reduce or offset perceptible artifacts
US7305104B2 (en) 2000-04-21 2007-12-04 Digimarc Corporation Authentication of identification documents using digital watermarks
US7111168B2 (en) * 2000-05-01 2006-09-19 Digimarc Corporation Digital watermarking systems
US20020011519A1 (en) 2000-05-04 2002-01-31 Shults John R. System and method for consumer identification using optical and electronic means
JP4626784B2 (en) 2000-05-19 2011-02-09 ソニー株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM
US7657058B2 (en) 2000-07-19 2010-02-02 Digimarc Corporation Watermark orientation signals conveying payload data
US6975744B2 (en) 2000-12-21 2005-12-13 Digimarc Corporation Detection of multiple watermarks and improved watermark calibration signals
US7058199B1 (en) 2000-08-14 2006-06-06 The Hong Kong University Of Science And Technology Methods and apparatus for hiding data in halftone images
US6826546B1 (en) 2000-08-17 2004-11-30 Ideaflood, Inc. Method and system for licensing a copy of a copyright protected work
US20020044662A1 (en) 2000-08-22 2002-04-18 Jonathan Sowler Service message management system and method
US7165175B1 (en) 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
US20050053258A1 (en) * 2000-11-15 2005-03-10 Joe Pasqua System and method for watermarking a document
US7079667B2 (en) 2000-12-19 2006-07-18 Xerox Corporation Method and apparatus for implementing occlusion glyph code tilings
US6923378B2 (en) 2000-12-22 2005-08-02 Digimarc Id Systems Identification card
US7254249B2 (en) 2001-03-05 2007-08-07 Digimarc Corporation Embedding location data in video
US6761316B2 (en) 2001-03-27 2004-07-13 Symbol Technologies, Inc. Compact auto ID reader and radio frequency transceiver data collection module
US8543823B2 (en) * 2001-04-30 2013-09-24 Digimarc Corporation Digital watermarking for identification documents
US20030041242A1 (en) 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
EP1410293A2 (en) 2001-06-12 2004-04-21 Research In Motion Limited System and method for compressing secure e-mail for exchange with a mobile data communication device
US7154622B2 (en) 2001-06-27 2006-12-26 Sharp Laboratories Of America, Inc. Method of routing and processing document images sent using a digital scanner and transceiver
US20030039360A1 (en) 2001-08-21 2003-02-27 Younis Saed G. Method and system for restricting mobility using unique encrypted chargers
US7213757B2 (en) 2001-08-31 2007-05-08 Digimarc Corporation Emerging security features for identification documents
US7093132B2 (en) * 2001-09-20 2006-08-15 International Business Machines Corporation Method and apparatus for protecting ongoing system integrity of a software product using digital signatures
US20030089764A1 (en) 2001-11-13 2003-05-15 Payformance Corporation Creating counterfeit-resistant self-authenticating documents using cryptographic and biometric techniques
US6843422B2 (en) 2001-12-24 2005-01-18 Digimarc Corporation Contact smart cards having a document core, contactless smart cards including multi-layered structure, pet-based identification document, and methods of making same
WO2003062960A2 (en) 2002-01-22 2003-07-31 Digimarc Corporation Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US7519819B2 (en) * 2002-05-29 2009-04-14 Digimarc Corporatino Layered security in digital watermarking
US20040039706A1 (en) * 2002-06-19 2004-02-26 Skowron John M. System and method for digitally authenticating facility management reports
US7333615B1 (en) 2002-06-26 2008-02-19 At&T Delaware Intellectual Property, Inc. Encryption between multiple devices
US6950517B2 (en) * 2002-07-24 2005-09-27 Qualcomm, Inc. Efficient encryption and authentication for data processing systems
US7083090B2 (en) 2002-08-09 2006-08-01 Patrick Zuili Remote portable and universal smartcard authentication and authorization device
US7133534B2 (en) * 2002-09-03 2006-11-07 Koninklijke Philips Electronics N.V. Copy protection via redundant watermark encoding
AU2003285891A1 (en) * 2002-10-15 2004-05-04 Digimarc Corporation Identification document and related methods
US6913199B2 (en) 2002-12-18 2005-07-05 Symbol Technologies, Inc. System and method for verifying optical character recognition of optical code reads
US7194106B2 (en) 2003-04-03 2007-03-20 Digimarc Corporation Creating electronic forms through digital watermarking
US20040223626A1 (en) 2003-05-09 2004-11-11 Eastman Kodak Company Method for embedding spatially variant metadata in imagery
WO2004102353A2 (en) 2003-05-12 2004-11-25 Gtech Rhode Island Corporation Method and system for authentication
WO2005010684A2 (en) 2003-07-17 2005-02-03 Digimarc Corporation Uniquely linking security elements in identification documents
US7409545B2 (en) 2003-09-18 2008-08-05 Sun Microsystems, Inc. Ephemeral decryption utilizing binding functions
DE102004004975B4 (en) 2004-01-31 2015-04-23 Modine Manufacturing Co. Plate heat exchangers
US20050273621A1 (en) 2004-05-18 2005-12-08 Davis Bruce L Multistate collaboration between departments of motor vehicles
US7945070B2 (en) 2006-02-24 2011-05-17 Digimarc Corporation Geographic-based watermarking keys

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033530A1 (en) * 1996-05-16 2003-02-13 Sharma Ravi K. Variable message coding protocols for encoding auxiliary data in media signals
US7412072B2 (en) * 1996-05-16 2008-08-12 Digimarc Corporation Variable message coding protocols for encoding auxiliary data in media signals
US20090060264A1 (en) * 1996-05-16 2009-03-05 Sharma Ravi K Variable Message Coding Protocols for Encoding Auxiliary Data in Media Signals
US7778442B2 (en) * 1996-05-16 2010-08-17 Digimarc Corporation Variable message coding protocols for encoding auxiliary data in media signals
US20110081041A1 (en) * 1996-05-16 2011-04-07 Sharma Ravi K Variable Message Coding Protocols For Encoding Auxiliary Data in Media Signals
US20030026453A1 (en) * 2000-12-18 2003-02-06 Sharma Ravi K. Repetition coding of error correction coded messages in auxiliary data embedding applications
US20050271246A1 (en) * 2002-07-10 2005-12-08 Sharma Ravi K Watermark payload encryption methods and systems

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120275641A1 (en) * 2011-04-28 2012-11-01 King Abdul Aziz City For Science And Technology Method and apparatus for embedding a watermark image in a host image
US8774451B2 (en) * 2011-04-28 2014-07-08 King Abdul Aziz City for Science and Technology (KACST) Method and apparatus for embedding a watermark image in a host image
US8868039B2 (en) 2011-10-12 2014-10-21 Digimarc Corporation Context-related arrangements
US9883396B2 (en) 2011-10-12 2018-01-30 Digimarc Corporation Context-related arrangements
US9830588B2 (en) 2013-02-26 2017-11-28 Digimarc Corporation Methods and arrangements for smartphone payments
US9965756B2 (en) 2013-02-26 2018-05-08 Digimarc Corporation Methods and arrangements for smartphone payments
US10841289B2 (en) 2013-03-18 2020-11-17 Digimarc Corporation Mobile devices as security tokens
US20150058630A1 (en) * 2013-08-22 2015-02-26 Samsung Electronics Co., Ltd. Electronic device and method for extracting encrypted message
US9602286B2 (en) * 2013-08-22 2017-03-21 Samsung Electronics Co., Ltd. Electronic device and method for extracting encrypted message
US20180338068A1 (en) * 2014-01-31 2018-11-22 Digimarc Corporation Methods for encoding, decoding and interpreting auxiliary data in media signals
US11049094B2 (en) 2014-02-11 2021-06-29 Digimarc Corporation Methods and arrangements for device to device communication

Also Published As

Publication number Publication date
US20050262351A1 (en) 2005-11-24
US8127137B2 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
US8127137B2 (en) Watermark payload encryption for media including multiple watermarks
US9559839B2 (en) Message key generation
US8094877B2 (en) Variable message coding protocols for encoding auxiliary data in media signals
US20050271246A1 (en) Watermark payload encryption methods and systems
US20030026453A1 (en) Repetition coding of error correction coded messages in auxiliary data embedding applications
WO2005091547A2 (en) Watermark payload encryption methods and systems
Zain et al. Reversible region of non-interest (RONI) watermarking for authentication of DICOM images
Zhang et al. Statistical fragile watermarking capable of locating individual tampered pixels
Zhu et al. When seeing isn't believing [multimedia authentication technologies]
Zhang et al. Fragile watermarking with error-free restoration capability
US8170273B2 (en) Encoding and decoding auxiliary signals
US7508955B2 (en) Authentication of objects using steganography
US6771797B2 (en) Watermarks carrying content dependent signal metrics for detecting and characterizing signal alteration
US20030190054A1 (en) Method and system for distributing digital content with embedded message
US20100042843A1 (en) Benchmarks for Digital Watermarking
WO2005124681A1 (en) Systems and methods for digital content security
JP2005217598A (en) Device for embedding digital watermark, digital watermark detector, method for embedding digital watermark, and method for detecting digital watermark
Schlauweg et al. JPEG2000-based secure image authentication
Kazakevičiūtė et al. Tamper‐Proof Image Watermarking, Based on Existing Public Key Infrastructure
Kim et al. Authentication Watermarkings for Binary Images
Wa Detecting tampered image blocks using error correcting code
Yoo et al. Invertible watermarking scheme for authentication and integrity
JANUŠKEVI ˇCIUS et al. Tamper-Proof Image Watermarking, Based on Existing Public Key Infrastructure
Kazakevičiūtė-Januškevičienė et al. Tamper-proof image watermarking, based on existing public key infrastructure

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION