US20010016052A1 - Method for encoding bits in a signal - Google Patents

Method for encoding bits in a signal Download PDF

Info

Publication number
US20010016052A1
US20010016052A1 US09/817,422 US81742201A US2001016052A1 US 20010016052 A1 US20010016052 A1 US 20010016052A1 US 81742201 A US81742201 A US 81742201A US 2001016052 A1 US2001016052 A1 US 2001016052A1
Authority
US
United States
Prior art keywords
vector
bits
received
sequence
bit
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.)
Granted
Application number
US09/817,422
Other versions
US6438252B2 (en
Inventor
Matthew Miller
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.)
NEC Corp
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
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 NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Priority to US09/817,422 priority Critical patent/US6438252B2/en
Publication of US20010016052A1 publication Critical patent/US20010016052A1/en
Application granted granted Critical
Publication of US6438252B2 publication Critical patent/US6438252B2/en
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SIGNAFY, INC.
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/042Detectors therefor, e.g. correlators, state machines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Definitions

  • the present invention relates to digital watermarking of data including image, video and multimedia data. Specifically, the invention relates to a method for encoding messages into relatively short, non-binary signals. It further relates to a method for decoding the messages from signals while simultaneously distinguishing signals that include encoded messages from signals that are simply noise. It is intended for application in storing information into media watermarks, but it also has application in other areas.
  • the detection methods described in those inventions and in the Cox et al. article are capable of testing for the presence or absence of only one such hidden vector or watermark at a time.
  • the detector In applications where a given portion of media contains more than one hidden vector, each encoding a different message, the detector must sequentially test for each possible vector and identify the one that is most likely. This is feasible for small numbers of possible messages, but becomes too costly when the number of messages becomes large.
  • Standard methods of transmitting binary messages across possibly noisy channels involve two basic steps at the transmitter.
  • First, the message is encoded with an error-correction code. This increases the number of bits in the message, introducing a pattern of redundancy that can be exploited at the receiver to correct errors resulting from noise in the channel.
  • Second, the expanded message is modulated into a signal with physical characteristics suitable for transmission over the channel, by, for example, modulating the amplitude of a carrier signal (AM), modulating the frequency of a carrier signal (FM), or spread-spectrum coding. While standard error-correction codes are directly suitable for the coding of messages for the watermarking methods referred to above, the standard methods of modulation are not so well suited.
  • An alternative method of converting the error-correction-encoded bits into a vector suitable for a watermark is to treat each bit as a separate channel in a multi-channel communications system.
  • each channel is assigned a separate carrier or spread-spectrum signal, and the modulated messages for all the channels are added together into a single signal.
  • the receiver separate correlations are performed for each of the channels, and the correlations are compared against a threshold, to obtain each of the transmitted messages in parallel.
  • the multi-channel approach can be applied to watermarking by assigning a separate “reference signal” to each bit. These reference signals are designed to have low correlation with one another.
  • the watermark is constructed by either adding or subtracting each reference signal according to whether the corresponding bit is 1 or 0, respectively. Alternatively, the watermark might be constructed by either adding or not adding each reference signal according to whether the corresponding bit is 1 or 0, respectively.
  • Watermarks are decoded by computing their correlations with the reference signals, and comparing the correlations with a pair of thresholds to determine whether the corresponding bits are 1 or 0. Approaches of this type have been applied to watermarking in, for example, the following publications: Swanson, et al., entitled “Robust Data Hiding for Images” in Proc.
  • a principal problem with these approaches is that they are limited to only one type of detection region for the possible watermarks.
  • the region of watermark space that is decoded to a given bit sequence results in detection regions that are all planes, intersecting at right angles.
  • Such a rectangular detection region is appropriate for many data transmission systems, but for some systems, other shapes of detection regions are desirable. This is particularly true of watermarking.
  • the present invention solves the problem of hiding messages of 8 or more bits into media.
  • the invention provides a method of encoding a message, described as a sequence of a given number, B, of bits, into a vector suitable for hiding in media by means of the data hiding methods referred to above.
  • This encoding method is a procedure by which one of 2 B possible vectors is generated.
  • the invention further provides a method of decoding a given, possibly distorted, vector into the sequence of B bits that is most likely encoded by the bit sequence.
  • the invention also provides a method for quickly deciding whether a given vector is one of the 2 B vectors that can be generated by the encoding process, or whether the vector is simply a noise signal. This last feature of the invention is important in deciding whether or not a given piece of media contains hidden information at all.
  • the detection regions (described below) employed in the detection of hidden data can be fairly arbitrary when practicing the present invention.
  • the present invention solves the problem of hiding messages in media, it has application in other areas as well.
  • the invention is suitable for use in any application where rectilinear detection regions are sub-optimal.
  • a primary object of the invention is a decoder which, after decoding a vector into a bit sequence, re-encodes that bit sequence and compares the resulting vector with the original vector to determine whether the original vector truly encoded a message or was simply a noise signal.
  • a principal advantage of this approach is that it allows any type of comparison test to be performed, resulting in any shape of detection region. By proper design of the comparison test, an optimal detection region can be created.
  • a second object of the invention is a method of adding and using a synchronization signal to the encoded vector without disturbing the detectability of the encoded message.
  • the synchronization signal is used to compensate for the possibility that the received vector is cyclically rotated from the original.
  • the method splits the vector into two halves.
  • the encoder first determines an encoding of the message into a vector half the length of the eventual encoded vector. This half-length vector forms the first half of the encoded vector, and is negated to form the second half of the encoded vector. Then the encoder adds an identical synchronization signal to both halves of the encoded vector.
  • the decoder first obtains the synchronization signal by adding the two halves of the vector together, canceling the encoded message.
  • the synchronization signal is used to find the original cyclical shift of the vector.
  • the decoder obtains the half-length encoded message vector by taking the difference between the two halves of the aligned, full-length encoded vector.
  • FIG. 1 shows detection regions for four possible two-bit messages that are created by prior-art methods of detecting signals.
  • FIG. 2 shows set of detection regions that are more desirable than those of FIG. 1, and that are possible when using the present invention.
  • FIG. 3 shows an alternative set of detection regions that are more desirable than those of FIG. 1, and that are possible when using the present invention.
  • FIG. 4 is a data flow diagram for a preferred method of encoding a message into a signal according to the present invention.
  • FIG. 5 is a data flow diagram for a preferred method of decoding a message according to the present invention.
  • FIG. 1 there is shown detection regions created by separate thresholding of the correlations between separate, orthogonal reference signals and a received signal, as is the case in many prior-art systems.
  • the figure shows a slice of high-dimensional space in which every vector corresponds to a possible received signal.
  • the X- and Y-axes ( 101 , 102 ) represent two orthogonal reference signals used to encode two bits. If it is assumed that the transmitter sends each bit using a predetermined amplitude of the reference signals, then it is possible to identify four possible combined signals that might be sent, depending on whether the message is 00, 01, 10, or 11.
  • the received vector is decoded by computing its correlation with each of the two reference signals. If the correlation with the low-order bit reference signal, i.e. the X axis 101 , is above a threshold 107 , then the low-order bit is 1. If it is below a threshold ( 108 ), then the low-order bit is 0. If it is between the thresholds 107 and 108 , then the low-order bit cannot be determined and the received signal is assumed to be noise. Likewise, the correlation with the high-order bit reference signal, i.e.
  • the Y-axis ( 102 ) is compared against two thresholds 109 and 110 , to determine whether the high-order bit is 1, 0, or indeterminate.
  • the resulting four detection regions are shown in gray ( 111 , 112 , 113 and 114 ).
  • the detection regions of FIG. 1 are suitable for systems that satisfy two criteria: a) the dimensionality of the space is significantly larger than the number of bits in the messages, and b) the distribution of noise vectors that might be added to a watermark vector is rotationally symmetric around that vector.
  • the noise vectors are expected to be orthogonal to all the reference signals, so they will not change the correlations between the resulting, received signals and the reference signals.
  • neither of these criteria applies.
  • detection regions of different shapes are more suitable.
  • FIG. 4 is a data flow diagram of a preferred method of encoding a message into a signal according to the present invention.
  • a message comprising a given number, B, of bits is provided to the encoder 401 .
  • the first step is to append a constant bit to the message 402 .
  • This bit always has a constant value, for example 1, and will be used during decoding to correct for errors that might flip all of the bits.
  • the resulting, B+1 bit message is expanded by means of an error-correction encoder 403 , which adds a number, P, of redundant parity bits. In the preferred embodiment, this expansion is performed by a Hamming code, but other codes, such as BCH, Reed-Solomon, or Convolutional codes, can also be used.
  • the P+B+1 bits that are output from the error-correcting encoder are then sent to modulator 404 .
  • the modulator constructs a vector V′, of length 2L, by the following procedure:
  • M Multiply D by a “modulation matrix”, M, of size L rows by P+B+1 columns, to obtain a length L column vector, V.
  • M modulation matrix
  • V length L column vector
  • a synchronization signal 405 is added 406 to V′ to obtain the final, encoded vector 407 .
  • S is a column vector of length L that has good auto-correlation properties.
  • either one or both of the steps of appending a constant bit 402 and expanding the message by use of an error-correction encoder 403 may be eliminated.
  • the length of the column vector, D, and the size of the modulation matrix, M must be changed accordingly.
  • the output of the encoding process of FIG. 4 is an encoded vector that can be hidden in media using any of a variety of data hiding techniques.
  • the data hiding technique first applies a procedure to extract a vector from the media. Then, rather than applying the test of the data hiding technique for the presence of a given watermark, the extracted vector is passed to the decoder of the present invention, as described below.
  • FIG. 5 is a data flow diagram of a preferred method of decoding vectors according to the present invention.
  • a vector, R is provided to decoder 501 .
  • This vector might be an output of the above-described encoder plus some noise resulting from a data-hiding process and/or other degradations, or the vector might be purely random.
  • the function of the decoder is to determine whether R contains an encoded message, and, if so, to decode that message into a sequence of bits.
  • the first sequence of steps 503 , 504 , 505 and 506 is concerned with identifying the most likely message that might have been encoded in R.
  • the remaining steps 507 and 508 are concerned with determining whether R actually contains that encoded message.
  • the first step in decoding the input vector is to align R with a synchronization signal 502 . This is performed by the synchronizer 503 . This step is required because the data hiding process that was used might result in extracted vectors that are cyclically shifted from their original, embedded form. Synchronization is performed by the following steps:
  • N [N 0 T ,N 1 T ] T is a random noise vector.
  • the vectors S′ and V′ are as defined above.
  • the next step is to demodulate the synchronized signal ( 504 ) to obtain P+B+1 bits.
  • Demodulation is performed by the following steps:
  • R A is an encoded message plus some noise
  • the results of demodulation will be a reconstruction of the original P+B+1 bits, with some possible errors.
  • the noise might cause some number of bits to be flipped.
  • the possible cyclical shift by L might cause all the bits to be flipped.
  • the P+B+1 demodulated bits are then sent as input to the error-correction decoder 505 .
  • the decoder decodes the demodulated bits into B+1 bits.
  • a Hamming decoder is used, but other error-correction decoders, such as BCH, Reed-Solomon or Convolutional decoders, might be used.
  • the encoder did not perform an error correction encoding step, then the error correction decoding step 505 is eliminated.
  • the final step in determining the most likely message encoded in R is to decide whether all the bits should be flipped to correct for the possibility that R A is cyclically shifted by L, which results in R A having the wrong sign.
  • This step is performed by the sign corrector 506 , which checks whether the constant bit added by the encoder was decoded as having the correct, constant value. For example, if the encoder always sets the constant bit to 1, but the bit has been decoded as 0, then all the bits must be flipped.
  • the sign corrector 506 strips the constant bit after performing the correction.
  • the output of the sign corrector 506 is the decoded message bits that are output from the decoder 510 . However, if the encoder did append a constant bit to the message, then the sign correction step 506 is eliminated.
  • the output of sign corrector 506 is sent to re-encoder 507 .
  • Re-encoder 507 reproduces the encoding process of FIG. 4 in its entirety.
  • the output of the re-encoder is the vector that would be used to encode the bits that are most likely encoded in R.
  • This vector is then sent to comparator 508 , which compares the vector with R using a test that results in the desired shape of detection region.
  • the test is the hyperbolic test shown in FIG. 3.
  • a wide variety of other tests are possible, including, but not limited to, thresholding on correlation (as shown in FIG. 2), on normalized correlation, or on correlation coefficient.
  • the output of the comparator 509 is one bit indicating whether or not the decoded message 510 should be considered a true message or just the result of a noise signal.

Abstract

A message in the form of a sequence of bits is encoded into relatively short, non-binary signals. The message (or vector) is divided into two halves. The encoder first determines an encoding of the message into a vector half the length of the eventual encoded vector. The half-length vector forms the first half of the encoded, and is negated to form the second half of the encoded vector. An identical synchronization signal is added to both halves of the encoded vector. The synchronization signal is used to compensate for the possibility that the received vector (or message) is cyclically rotated from the original vector. During decoding, the decoder first obtains the synchronization signal by adding the two halves of the vector together, canceling the encoded message. The synchronization signal is used to find the original cyclical shift of the vector. The decoder obtains the half-length encoded message vector by taking the difference between the two halves of the aligned full-length encoded vector. After decoding the vector into a bit sequence, the encoder re-encodes that bit sequence and compares the resulting vector with the original vector to determine whether the original vector truly encoded a message or was simply a noise signal.

Description

    FIELD OF THE INVENTION
  • The present invention relates to digital watermarking of data including image, video and multimedia data. Specifically, the invention relates to a method for encoding messages into relatively short, non-binary signals. It further relates to a method for decoding the messages from signals while simultaneously distinguishing signals that include encoded messages from signals that are simply noise. It is intended for application in storing information into media watermarks, but it also has application in other areas. [0001]
  • BACKGROUND OF THE INVENTION
  • U.S. patent application Ser. No. 08/534,894, filed Sep. 28, 1995, entitled “Secure Spread Spectrum Watermarking in Multimedia Data”, and U.S. patent application Ser. No. 08/746,022, filed Nov. 5, 1996, entitled “Digital Watermarking”, which are both incorporated herein by reference, describe methods of hiding and detecting relatively short, possibly non-binary vectors, or “watermarks”, in various kinds of media, such as images, audio sequences, and video clips. Such methods are also described in article by Cox et al. entitled “Secure Spread Spectrum Watermarking for Images, Audio and Video” in Proc. IEEE Int. Conf. On Image Proc, ICIP '96, Lausanne, 1996, vol. III, pp. 243-246. The detection methods described in those inventions and in the Cox et al. article are capable of testing for the presence or absence of only one such hidden vector or watermark at a time. In applications where a given portion of media contains more than one hidden vector, each encoding a different message, the detector must sequentially test for each possible vector and identify the one that is most likely. This is feasible for small numbers of possible messages, but becomes too costly when the number of messages becomes large. [0002]
  • If the data hiding methods referred to above are to be used for messages of more than a small number of bits, such as 4, then methods must be devised for a) encoding bit sequences into vectors suitable for data hiding, b) decoding vectors that are extracted from portions of media, and c) determining whether such extracted vectors represent true hidden data or are merely noise signals. These problems are analogous to those found in transmitting data across noisy channels, where the vectors that are hidden in images are analogous to the modulated signals sent across the channels. Because of this analogy, the terms “vector” and “signal” will be used interchangeably. [0003]
  • Standard methods of transmitting binary messages across possibly noisy channels involve two basic steps at the transmitter. First, the message is encoded with an error-correction code. This increases the number of bits in the message, introducing a pattern of redundancy that can be exploited at the receiver to correct errors resulting from noise in the channel. Second, the expanded message is modulated into a signal with physical characteristics suitable for transmission over the channel, by, for example, modulating the amplitude of a carrier signal (AM), modulating the frequency of a carrier signal (FM), or spread-spectrum coding. While standard error-correction codes are directly suitable for the coding of messages for the watermarking methods referred to above, the standard methods of modulation are not so well suited. Since they encode bits sequentially, they have difficulty encoding more than a small number of bits into the relatively short vectors used in electronic watermarks. For example, consider coding 32 bits into a watermark vector of length 64. Each bit would be coded with only two samples, which is not enough to reliably carry information using AM, FM, or spread-spectrum techniques. [0004]
  • An alternative method of converting the error-correction-encoded bits into a vector suitable for a watermark is to treat each bit as a separate channel in a multi-channel communications system. In such a system, each channel is assigned a separate carrier or spread-spectrum signal, and the modulated messages for all the channels are added together into a single signal. At the receiver, separate correlations are performed for each of the channels, and the correlations are compared against a threshold, to obtain each of the transmitted messages in parallel. [0005]
  • The multi-channel approach can be applied to watermarking by assigning a separate “reference signal” to each bit. These reference signals are designed to have low correlation with one another. The watermark is constructed by either adding or subtracting each reference signal according to whether the corresponding bit is 1 or 0, respectively. Alternatively, the watermark might be constructed by either adding or not adding each reference signal according to whether the corresponding bit is 1 or 0, respectively. Watermarks are decoded by computing their correlations with the reference signals, and comparing the correlations with a pair of thresholds to determine whether the corresponding bits are 1 or 0. Approaches of this type have been applied to watermarking in, for example, the following publications: Swanson, et al., entitled “Robust Data Hiding for Images” in Proc. IEEE Digital Signal Processing Workshop, Loen, Norway, Sept., 1996; Hartung, et al., entitled “Digital Watermarking of Raw and Compressed Video” in Digital Compression Technologies and Systems for Video Communications, Oct. 1996; and Smith, et al., entitled “Modulation and Information Hiding in Images” in Proc. Int. Workshop on Information Hiding, May 1996. [0006]
  • A principal problem with these approaches is that they are limited to only one type of detection region for the possible watermarks. In the prior art, the region of watermark space that is decoded to a given bit sequence results in detection regions that are all planes, intersecting at right angles. Such a rectangular detection region is appropriate for many data transmission systems, but for some systems, other shapes of detection regions are desirable. This is particularly true of watermarking. [0007]
  • The present invention solves the problem of hiding messages of 8 or more bits into media. The invention provides a method of encoding a message, described as a sequence of a given number, B, of bits, into a vector suitable for hiding in media by means of the data hiding methods referred to above. This encoding method is a procedure by which one of 2[0008] B possible vectors is generated. The invention further provides a method of decoding a given, possibly distorted, vector into the sequence of B bits that is most likely encoded by the bit sequence. Finally, the invention also provides a method for quickly deciding whether a given vector is one of the 2B vectors that can be generated by the encoding process, or whether the vector is simply a noise signal. This last feature of the invention is important in deciding whether or not a given piece of media contains hidden information at all.
  • The detection regions (described below) employed in the detection of hidden data can be fairly arbitrary when practicing the present invention. [0009]
  • While the present invention solves the problem of hiding messages in media, it has application in other areas as well. In particular, the invention is suitable for use in any application where rectilinear detection regions are sub-optimal. [0010]
  • SUMMARY OF THE INVENTION
  • A primary object of the invention is a decoder which, after decoding a vector into a bit sequence, re-encodes that bit sequence and compares the resulting vector with the original vector to determine whether the original vector truly encoded a message or was simply a noise signal. A principal advantage of this approach is that it allows any type of comparison test to be performed, resulting in any shape of detection region. By proper design of the comparison test, an optimal detection region can be created. [0011]
  • A second object of the invention is a method of adding and using a synchronization signal to the encoded vector without disturbing the detectability of the encoded message. The synchronization signal is used to compensate for the possibility that the received vector is cyclically rotated from the original. The method splits the vector into two halves. During encoding, the encoder first determines an encoding of the message into a vector half the length of the eventual encoded vector. This half-length vector forms the first half of the encoded vector, and is negated to form the second half of the encoded vector. Then the encoder adds an identical synchronization signal to both halves of the encoded vector. During decoding, the decoder first obtains the synchronization signal by adding the two halves of the vector together, canceling the encoded message. The synchronization signal is used to find the original cyclical shift of the vector. Then the decoder obtains the half-length encoded message vector by taking the difference between the two halves of the aligned, full-length encoded vector. [0012]
  • Further objects of the invention will become more clearly apparent when the following description is read in conjunction with the accompanying drawing. [0013]
  • BRIEF DESCRIPTION OF THE DRAWING
  • FIG. 1 shows detection regions for four possible two-bit messages that are created by prior-art methods of detecting signals. [0014]
  • FIG. 2 shows set of detection regions that are more desirable than those of FIG. 1, and that are possible when using the present invention. [0015]
  • FIG. 3 shows an alternative set of detection regions that are more desirable than those of FIG. 1, and that are possible when using the present invention. [0016]
  • FIG. 4 is a data flow diagram for a preferred method of encoding a message into a signal according to the present invention. [0017]
  • FIG. 5 is a data flow diagram for a preferred method of decoding a message according to the present invention. [0018]
  • DETAILED DESCRIPTION OF THE INVENTION
  • Referring now to the figures and to FIG. 1 in particular, there is shown detection regions created by separate thresholding of the correlations between separate, orthogonal reference signals and a received signal, as is the case in many prior-art systems. The figure shows a slice of high-dimensional space in which every vector corresponds to a possible received signal. The X- and Y-axes ([0019] 101,102) represent two orthogonal reference signals used to encode two bits. If it is assumed that the transmitter sends each bit using a predetermined amplitude of the reference signals, then it is possible to identify four possible combined signals that might be sent, depending on whether the message is 00, 01, 10, or 11. These four vectors are represented, respectively, by the four dots in the figure (103,104,105 and 106). The received vector is decoded by computing its correlation with each of the two reference signals. If the correlation with the low-order bit reference signal, i.e. the X axis 101, is above a threshold 107, then the low-order bit is 1. If it is below a threshold (108), then the low-order bit is 0. If it is between the thresholds 107 and 108, then the low-order bit cannot be determined and the received signal is assumed to be noise. Likewise, the correlation with the high-order bit reference signal, i.e. the Y-axis (102), is compared against two thresholds 109 and 110, to determine whether the high-order bit is 1, 0, or indeterminate. The resulting four detection regions are shown in gray (111,112,113 and 114).
  • The detection regions of FIG. 1 are suitable for systems that satisfy two criteria: a) the dimensionality of the space is significantly larger than the number of bits in the messages, and b) the distribution of noise vectors that might be added to a watermark vector is rotationally symmetric around that vector. In such a system, the noise vectors are expected to be orthogonal to all the reference signals, so they will not change the correlations between the resulting, received signals and the reference signals. However, in watermarking with relatively short vectors, neither of these criteria applies. As a result, detection regions of different shapes are more suitable. [0020]
  • Consider, first, systems in which the number of bits is close to or equal to the dimensionality of the space (i.e. the number of elements in the watermark vector). In such cases, noise vectors cannot be expected to have low correlations with all the reference signals. This means that a given noise vector will be likely to change the correlation between the received vector and at least one of the reference signals, and the change in correlation will often be enough to cross the threshold for the corresponding bit. A preferable set of detection regions for such a system is shown in FIG. 2. Here, there is a separate detection threshold ([0021] 201,202,203 and 204) for each of the four possible messages. A noise vector added to a given combined signal is likely to be orthogonal to that one combined signal, and, hence, unlikely to change the correlation between the received signal and the combined signal. Thus, it is unlikely to cross the threshold for that message.
  • Next, consider systems in which the distribution of noise vectors is not rotationally symmetric. The distribution of noise vectors applied to watermarks in images and other media can be highly asymmetric, and the best detection region to use for a single watermark is a hyperboloid. It follows that the best set of detection regions to use for a set of different possible watermarks is a set of different hyperboloids. Such detection regions are shown in FIG. 3. [0022]
  • Using the present invention, it is possible to obtain the detection regions shown in FIGS. 2 and 3, as well as other detection regions not specifically described here. [0023]
  • FIG. 4 is a data flow diagram of a preferred method of encoding a message into a signal according to the present invention. A message comprising a given number, B, of bits is provided to the [0024] encoder 401. The first step is to append a constant bit to the message 402. This bit always has a constant value, for example 1, and will be used during decoding to correct for errors that might flip all of the bits. The resulting, B+1 bit message is expanded by means of an error-correction encoder 403, which adds a number, P, of redundant parity bits. In the preferred embodiment, this expansion is performed by a Hamming code, but other codes, such as BCH, Reed-Solomon, or Convolutional codes, can also be used. The P+B+1 bits that are output from the error-correcting encoder are then sent to modulator 404. The modulator constructs a vector V′, of length 2L, by the following procedure:
  • 1. Convert the P+B+1 bits into a column vector, D, of length P+B+1 in which each element is either a 1 or a −1 according to whether the corresponding bit is a 1 or a 0. [0025]
  • 2. Multiply D by a “modulation matrix”, M, of size L rows by P+B+1 columns, to obtain a length L column vector, V. The exact design of M is generally arbitrary, except that its columns should have low correlation with one another. In the preferred implementation, the columns of M are chosen to have zero correlation with one another. [0026]
  • 3. Create a [0027] length 2L column vector, V′, by appending the negation of V onto the end of V. That is V = [ + V - V ]
    Figure US20010016052A1-20010823-M00001
  • Finally, a [0028] synchronization signal 405, is added 406 to V′ to obtain the final, encoded vector 407. The synchronization signal 405 is a column vector, S′, of the form S = [ + S + S ]
    Figure US20010016052A1-20010823-M00002
  • where S is a column vector of length L that has good auto-correlation properties. [0029]
  • In alternative implementations, either one or both of the steps of appending a [0030] constant bit 402 and expanding the message by use of an error-correction encoder 403 may be eliminated. In such case, the length of the column vector, D, and the size of the modulation matrix, M, must be changed accordingly.
  • The output of the encoding process of FIG. 4 is an encoded vector that can be hidden in media using any of a variety of data hiding techniques. When the hidden data is to be detected, the data hiding technique first applies a procedure to extract a vector from the media. Then, rather than applying the test of the data hiding technique for the presence of a given watermark, the extracted vector is passed to the decoder of the present invention, as described below. [0031]
  • FIG. 5 is a data flow diagram of a preferred method of decoding vectors according to the present invention. A vector, R, is provided to [0032] decoder 501. This vector might be an output of the above-described encoder plus some noise resulting from a data-hiding process and/or other degradations, or the vector might be purely random. The function of the decoder is to determine whether R contains an encoded message, and, if so, to decode that message into a sequence of bits. In the figure, the first sequence of steps 503,504,505 and 506 is concerned with identifying the most likely message that might have been encoded in R. The remaining steps 507 and 508 are concerned with determining whether R actually contains that encoded message.
  • The first step in decoding the input vector is to align R with a [0033] synchronization signal 502. This is performed by the synchronizer 503. This step is required because the data hiding process that was used might result in extracted vectors that are cyclically shifted from their original, embedded form. Synchronization is performed by the following steps:
  • 1. Assuming that R is an encoded message plus some noise, obtain a version of the half-length synchronization signal, S, by dividing R into two halves and averaging the halves together. Thus, we assume that [0034] R = S + V + N = [ S + V + N 0 S - V + N 1 ]
    Figure US20010016052A1-20010823-M00003
  • cyclically shifted by an unknown amount, where N=[N[0035] 0 T,N1 T]T is a random noise vector. The vectors S′ and V′ are as defined above. By splitting R into two halves and averaging both halves, we obtain
  • S R=(S+V+N 0 +S−V+N 1)/2=(2S+N 0 +N 1)/2≅S
  • cyclically shifted by an unknown amount. [0036]
  • 2. Find the cyclical rotation of S[0037] R that has the highest correlation with S. Cyclically rotate R by the same amount to obtain the aligned version, RA.
  • If R is an encoded message plus some noise, then the result of synchronization, R[0038] A, is either aligned with the original, encoded message, or it is cyclically shifted by L. Thus, we have either R A = [ S + V + N 0 S - V + N 1 ] or R A = [ S - V + N 0 S + V + N 1 ]
    Figure US20010016052A1-20010823-M00004
  • The next step is to demodulate the synchronized signal ([0039] 504) to obtain P+B+1 bits. Demodulation is performed by the following steps:
  • 1. Obtain a version of the half-length modulated P+B+1 bits, V, by dividing R[0040] A into two halves and averaging the first half with the negation of the second half. Thus, if RA is an encoded message, we have either
  • V R=(S+V+N 0 −S+V−N 1)/2=(2V+N 0 −N 1)/2≅V
  • or [0041]  
  • V R=(S−V+N 0 −S−V−N 1)/2=(−2V+N 0 −N 1)/2≅−V
  • depending on whether R[0042]   A is cyclically shifted by L.
  • 2. Multiply V[0043] R by the inverse of M and threshold the result on 0 to obtain P+B+1 bits. Thus, wherever the result of this multiplication is greater than 0, we assign 1 to the corresponding bit. Wherever it is less than 0, we assign 0 to the corresponding bit.
  • If R[0044] A is an encoded message plus some noise, then the results of demodulation will be a reconstruction of the original P+B+1 bits, with some possible errors. The noise might cause some number of bits to be flipped. The possible cyclical shift by L might cause all the bits to be flipped.
  • The P+B+1 demodulated bits are then sent as input to the error-[0045] correction decoder 505. The decoder decodes the demodulated bits into B+1 bits. In the preferred embodiment, a Hamming decoder is used, but other error-correction decoders, such as BCH, Reed-Solomon or Convolutional decoders, might be used. However, if the encoder did not perform an error correction encoding step, then the error correction decoding step 505 is eliminated.
  • The final step in determining the most likely message encoded in R is to decide whether all the bits should be flipped to correct for the possibility that R[0046] A is cyclically shifted by L, which results in RA having the wrong sign. This step is performed by the sign corrector 506, which checks whether the constant bit added by the encoder was decoded as having the correct, constant value. For example, if the encoder always sets the constant bit to 1, but the bit has been decoded as 0, then all the bits must be flipped. The sign corrector 506 strips the constant bit after performing the correction. The output of the sign corrector 506 is the decoded message bits that are output from the decoder 510. However, if the encoder did append a constant bit to the message, then the sign correction step 506 is eliminated.
  • To decide whether R contains an encoded message, the output of [0047] sign corrector 506 is sent to re-encoder 507. Re-encoder 507 reproduces the encoding process of FIG. 4 in its entirety. The output of the re-encoder is the vector that would be used to encode the bits that are most likely encoded in R. This vector is then sent to comparator 508, which compares the vector with R using a test that results in the desired shape of detection region. In the preferred embodiment, the test is the hyperbolic test shown in FIG. 3. However, a wide variety of other tests are possible, including, but not limited to, thresholding on correlation (as shown in FIG. 2), on normalized correlation, or on correlation coefficient. The output of the comparator 509 is one bit indicating whether or not the decoded message 510 should be considered a true message or just the result of a noise signal.
  • While there has been described and illustrated preferred methods of encoding messages into and decoding messages from signals, it will be apparent to those skilled in the art that variations and modifications are possible without deviating from the broad teachings and spirit of the present invention which shall be limited solely by the scope of the claims appended hereto. [0048]

Claims (68)

What is claimed is:
1. A method of encoding a message in the form of a sequence of bits to form an encoded vector comprising the steps of:
a) expanding the sequence of bits to obtain an expanded sequence of bits;
b) modulating the expanded sequence of bits to obtain a modulated vector;
c) appending the negation of the modulated vector to the modulated vector to obtain a double-length modulated vector, and
d) adding a synchronization signal to both the modulated vector and the negation of the modulated vector of the double-length modulated vector to obtain an encoded vector.
2. The method of
claim 1
, further comprising inserting the encoded vector into media as a watermark.
3. The method of
claim 1
, where said expanding comprises appending at least one redundant bit of constant value to the sequence of bits.
4. The method of
claim 3
, further comprising appending at least one additional redundant bit to the sequence of bits according to an error-correction encoding method.
5. The method of
claim 4
, further comprising inserting the encoded vector into media as a watermark.
6. The method of
claim 4
, where the error-correction encoding method is selected from the group consisting of Hamming encoding, BCH encoding, Reed-Solomon encoding, and Convolutional encoding.
7. The method of
claim 1
, where said expanding comprises appending at least one redundant bit to the sequence of bits according to an error-correction encoding method.
8. The method of
claim 7
, further comprising inserting the encoded vector into media as a watermark.
9. The method of
claim 7
, where the error-correction encoding method is selected from the group consisting of Hamming encoding, BCH encoding, Reed-Solomon encoding, or Convolutional encoding.
10. The method of
claim 1
, where said modulating comprises converting the expanded sequence of bits into a bit vector and multiplying the bit vector by a modulation matrix to obtain the modulated vector.
11. The method of
claim 10
, where the bit vector contains a first value corresponding to each 0 bit of the expanded sequence of bits and contains a second value corresponding to each 1 bit of the expanded sequence of bits.
12. The method of
claim 10
, where the columns of the modulation matrix have zero correlation with one another.
13. A method of decoding a received vector of two half vectors into a sequence of bits comprising the steps of:
a) averaging the first half of the received vector with the second half of the received vector to obtain a received synchronization vector;
b) determining an amount by which the received synchronization vector must be shifted to obtain the best match with a reference synchronization vector;
c) shifting the received vector by the determined amount to obtain an aligned received vector, and
d) demodulating the aligned received vector to obtain the sequence of bits.
14. The method of
claim 13
, where the received vector is a signal extracted from media according to a watermark extraction method.
15. The method of
claim 13
, where the determined amount is an amount of cyclical shifting.
16. The method of
claim 13
, where the match between the received synchronization vector and the reference synchronization vector is measured by computing the correlation between both synchronization vectors.
17. The method of
claim 13
, where said shifting the received vector is cyclical shifting.
18. The method of
claim 13
, where said demodulating comprises averaging a first half of the aligned received vector with the negation of a second half of the aligned received vector to obtain a received modulated vector; demodulating the received modulated vector to obtain an extended sequence of bits, including at least one redundant bit; and correcting errors in the extended sequence of bits using the at least one redundant bit in the extended sequence of bits to obtain the sequence of bits.
19. The method of
claim 18
, where the received vector is a signal extracted from media according to a watermark extraction method.
20. The method of
claim 18
, where said demodulating the received modulated vector comprises multiplying the received modulated vector by the inverse of a modulation matrix to obtain a demodulated vector and comparing each element of the demodulated vector with a predetermined threshold to determine whether the corresponding bit in the sequence of bits should be a 0 or a 1.
21. The method of
claim 20
, where the columns of the modulation matrix have zero correlation with one another.
22. The method of
claim 20
, where the predetermined threshold is zero.
23. The method of
claim 18
, where said correcting errors is performed according to an error-correction decoding method.
24. The method of
claim 23
, where the error-correction decoding method is selected from the group consisting of Hamming decoding, BCH decoding, Reed-Solomon decoding, and Convolutional decoding.
25. The method of
claim 24
, where said correcting errors comprises comparing one or more redundant bits with constant values to determine whether all of the bits must be flipped.
26. The method of
claim 23
, where said correcting errors comprises comparing one or more redundant bits with constant values to determine whether all the bits must be flipped.
27. The method of
claim 18
, where said correcting errors comprises comparing one or more redundant bits with constant values to determine whether all the bits must be flipped.
28. A method of determining whether a received vector encodes a message in the form of a sequence of bits comprising the steps of:
a) decoding a received vector to obtain a received message;
b) encoding the received message to obtain an encoded vector, and
c) comparing the received vector with the encoded vector to determine whether the received vector encodes a message.
29. The method of
claim 28
, where the received vector is a signal extracted from media according to a watermark extraction method.
30. The method of
claim 28
, where said decoding comprises averaging a first half of the received vector with a second half of the received vector to obtain a received synchronization vector; determining an amount by which the received synchronization vector must be shifted to obtain the best match with a reference synchronization vector; shifting the received vector by the determined amount to obtain an aligned received vector, and decoding the aligned received vector to obtain the sequence of bits.
31. The method of
claim 30
, where the received vector is a signal extracted from media according to a watermark extraction method.
32. The method of
claim 30
, where the determined amount is an amount of cyclical shifting.
33. The method of
claim 30
, where the match between the received synchronization vector and the reference synchronization vector is measured by computing the correlation between both synchronization vectors.
34. The method of
claim 30
, where said shifting the received vector is cyclical shifting.
35. The method of
claim 30
, where said decoding comprises averaging a first half of the aligned received vector with the negation of a second half of the aligned received vector to obtain a received modulated vector; demodulating the received modulated vector to obtain an extended sequence of bits, including at least one redundant bit; correcting errors in the extended sequence of bits using the at least one redundant bit in the extended sequence of bits to obtain the sequence of bits.
36. The method of
claim 35
, where the received vector is a signal extracted from media according to a watermark extraction method.
37. The method of
claim 35
, where said demodulating comprises multiplying the received modulated vector by the inverse of a modulation matrix to obtain a demodulated vector, and comparing each element of the demodulated vector with a predetermined threshold to determine whether the corresponding bit in the sequence of bits should be a 0 or a 1.
38. The method of
claim 37
, where the columns of the modulation matrix have zero correlation with one another.
39. The method of
claim 37
, where the predetermined threshold is zero.
40. The method of
claim 35
, where said correcting errors is performed according to an error-correction decoding method.
41. The method of
claim 40
, where the error-correction decoding method is selected from the group consisting of Hamming decoding, BCH decoding, Reed-Solomon decoding, or Convolutional decoding.
42. The method of
claim 41
, where said correcting errors comprises comparing the at least one redundant bit with a constant value to determine whether all of the bits must be flipped.
43. The method of
claim 42
, where the received vector is a signal extracted from media according to a watermark extraction method.
44. The method of
claim 40
, where said correcting errors comprises comparing the at least one redundant bit with a constant value to determine whether all of the bits must be flipped.
45. The method of
claim 35
, where said correcting errors comprises comparing the at least one redundant bit with constant a value to determine whether all of the bits must be flipped.
46. The method of
claim 45
, where the received vector is a signal extracted from media according to a watermark extraction method.
47. The method of
claim 28
, where said encoding comprises appending at least one redundant bit to the received message to obtain an expanded sequence of bits; modulating the expanded sequence of bits to obtain a modulated vector; appending the negation of the modulated vector to the modulated vector to obtain a double-length modulated vector; and adding a synchronization vector to both the modulated vector and the negation of the modulated vector to obtain the encoded vector.
48. The method of
claim 47
, where the received vector is a signal extracted from media according to a watermark extraction method.
49. The method of
claim 47
, where one or more redundant bits of constant value are appended to the expanded sequence of bits.
50. The method of
claim 49
, where further redundant bits are appended to the expanded sequence of bits according to an error-correction encoding method.
51. The method of
claim 50
, where the error-correction encoding method is selected from the group consisting of Hamming encoding, BCH encoding, Reed-Solomon encoding, or Convolutional encoding.
52. The method of
claim 47
, further comprising appending additional redundant bits to the expanded sequence of bits according to an error-correction encoding method.
53. The method of
claim 52
, where the error-correction encoding method is selected from the group consisting of Hamming encoding, BCH encoding, Reed-Solomon encoding, or Convolutional encoding.
54. The method of
claim 47
, where said modulating comprises converting the extended sequence of bits into a bit vector and multiplying the bit vector by a modulation matrix to obtain the modulated vector.
55. The method of
claim 54
, where the bit vector contains a first value corresponding to each 0 bit of the extended sequence of bits and contains a second value corresponding to each 1 bit of the extended sequence of bits.
56. The method of
claim 54
, where the columns of the modulation matrix have zero correlation with one another.
57. The method of
claim 28
, where said comparing comprises computing the correlation between the received vector and the encoded vector, and comparing the correlation with a predetermined threshold.
58. The method of
claim 28
, where said comparing comprises the steps of computing the correlation coefficient between the received vector and the encoded vector, and comparing the correlation coefficient with a predetermined threshold.
59. The method of
claim 58
, where the received vector is a signal extracted from media according to a watermark extraction method.
60. The method of
claim 28
, where said comparing comprises the steps of computing the normalized correlation between the received vector and the encoded vector, and comparing the normalized correlation with a predetermined threshold.
61. The method of
claim 60
, where the received vector is a signal extracted from media according to a watermark extraction method.
62. The method of
claim 28
, where said comparing determines whether the received vector is inside or outside a hyperboloid centered on the encoded vector.
63. The method of
claim 62
, where the received vector is a signal extracted from media according to a watermark extraction method.
64. A method of encoding a message in the form of a sequence of bits to form an encoded vector comprising the steps of:
a) modulating the sequence of bits to obtain a modulated vector;
b) appending the negation of the modulated vector to the modulated vector to obtain a double-length modulated vector, and
c) adding a synchronization signal to both the modulated vector and the negation of the modulated vector of the double-length modulated vector to obtain an encoded vector.
65. The method of
claim 64
, where the received vector is a signal extracted from media according to a watermark extraction method.
66. The method of
claim 64
, where said modulating comprises converting the sequence of bits into a bit vector and multiplying the bit vector by a modulation matrix to obtain the modulated vector.
67. The method of
claim 66
, where the bit vector contains a first value corresponding to each 0 bit of the expanded sequence of bitsand contains a second value corresponding to each 1 bit of the expanded sequence of bits.
68. The method of
claim 66
, where the columns of the modulation matrix have zero correlation with one another.
US09/817,422 1998-06-26 2001-03-26 Method for encoding bits in a signal Expired - Fee Related US6438252B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/817,422 US6438252B2 (en) 1998-06-26 2001-03-26 Method for encoding bits in a signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/105,495 US6263087B1 (en) 1998-06-26 1998-06-26 Method of encoding bits in a signal
US09/817,422 US6438252B2 (en) 1998-06-26 2001-03-26 Method for encoding bits in a signal

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/105,495 Continuation US6263087B1 (en) 1998-06-26 1998-06-26 Method of encoding bits in a signal

Publications (2)

Publication Number Publication Date
US20010016052A1 true US20010016052A1 (en) 2001-08-23
US6438252B2 US6438252B2 (en) 2002-08-20

Family

ID=22306167

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/105,495 Expired - Lifetime US6263087B1 (en) 1998-06-26 1998-06-26 Method of encoding bits in a signal
US09/817,422 Expired - Fee Related US6438252B2 (en) 1998-06-26 2001-03-26 Method for encoding bits in a signal

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/105,495 Expired - Lifetime US6263087B1 (en) 1998-06-26 1998-06-26 Method of encoding bits in a signal

Country Status (5)

Country Link
US (2) US6263087B1 (en)
EP (1) EP1108288A4 (en)
JP (1) JP2002519927A (en)
CA (1) CA2336099A1 (en)
WO (1) WO2000001076A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044899A1 (en) * 1998-09-25 2001-11-22 Levy Kenneth L. Transmarking of multimedia signals
US20040146180A1 (en) * 2003-01-21 2004-07-29 Victor Company Of Japan, Ltd. Recording and reproduction apparatus, recording and reproduction method, recording and reproduction program for imperceptible information to be embedded in digital image data
US20050008190A1 (en) * 1995-07-27 2005-01-13 Levy Kenneth L. Digital watermarking systems and methods
US20070025590A1 (en) * 2005-07-28 2007-02-01 Academia Sinica Asymmetric subspace watermarking
US7532740B2 (en) 1998-09-25 2009-05-12 Digimarc Corporation Method and apparatus for embedding auxiliary information within original data
US7958359B2 (en) 2001-04-30 2011-06-07 Digimarc Corporation Access control systems
US8103879B2 (en) 1996-04-25 2012-01-24 Digimarc Corporation Processing audio or video content with multiple watermark layers
US8301893B2 (en) 2003-08-13 2012-10-30 Digimarc Corporation Detecting media areas likely of hosting watermarks
US20120281894A1 (en) * 2008-03-05 2012-11-08 International Business Machines Corporation Systems and Methods for Metadata Embedding in Streaming Medical Data
CN109033853A (en) * 2018-07-09 2018-12-18 深圳大学 Physical layer information hidden method, device and terminal based on convolutional code

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546112B1 (en) * 1993-11-18 2003-04-08 Digimarc Corporation Security document with steganographically-encoded authentication data
US7313251B2 (en) 1993-11-18 2007-12-25 Digimarc Corporation Method and system for managing and controlling electronic media
US7555139B2 (en) * 1995-05-08 2009-06-30 Digimarc Corporation Secure documents with hidden signals, and related methods and systems
US7620200B2 (en) * 1995-05-08 2009-11-17 Digimarc Corporation Authentication of identification documents
EP0901282B1 (en) 1997-09-03 2006-06-28 Hitachi, Ltd. Method for recording and reproducing electronic watermark information
US6778678B1 (en) * 1998-10-02 2004-08-17 Lucent Technologies, Inc. High-capacity digital image watermarking based on waveform modulation of image components
DE19937155A1 (en) * 1999-08-06 2001-03-15 Bosch Gmbh Robert System for generating a signal for superimposing information
CN1269074C (en) * 1999-09-27 2006-08-09 皇家菲利浦电子有限公司 Watermark detection
US7447907B2 (en) * 2000-04-04 2008-11-04 Ecd Systems, Inc. Method and system for data delivery and reproduction
JP4218920B2 (en) * 2000-04-07 2009-02-04 キヤノン株式会社 Image processing apparatus, image processing method, and storage medium
US7502937B2 (en) * 2001-04-30 2009-03-10 Digimarc Corporation Digital watermarking security systems
GB2376826A (en) * 2001-06-19 2002-12-24 Sony Uk Ltd Detecting data by accumulating pixel values in several versions of a datablock
JP4787434B2 (en) * 2001-08-24 2011-10-05 富士通コンポーネント株式会社 ENCRYPTION METHOD, COMMUNICATION SYSTEM, DATA INPUT DEVICE
ITMI20011938A1 (en) * 2001-09-17 2003-03-17 Cit Alcatel METHOD TO ENCRYPT A FLOW OF DATA
US20030131350A1 (en) 2002-01-08 2003-07-10 Peiffer John C. Method and apparatus for identifying a digital audio signal
EP1561341A4 (en) 2002-10-23 2010-12-15 Nielsen Media Res Inc Digital data insertion apparatus and methods for use with compressed audio/video data
JP4003128B2 (en) * 2002-12-24 2007-11-07 ソニー株式会社 Image data processing apparatus and method, recording medium, and program
WO2004097394A1 (en) * 2003-04-30 2004-11-11 Smiths Group Plc Pseudo-random binary sequence gate-switching for spectrometers
TWI404419B (en) * 2004-04-07 2013-08-01 Nielsen Media Res Inc Data insertion methods , sysytems, machine readable media and apparatus for use with compressed audio/video data
US20070142699A1 (en) * 2005-12-16 2007-06-21 Acoustx Corporation Methods and implantable apparatuses for treating an esophageal disorder such as gastroesophageal reflux disease
US8077904B2 (en) * 2006-06-30 2011-12-13 Nokia Corporation Apparatuses, computer program products, and methods for authenticating digital signals
US10798566B2 (en) 2018-12-05 2020-10-06 At&T Intellectual Property I, L.P. Securely conveying location and other information in advanced networks
CN112887504B (en) * 2021-01-20 2022-08-23 南昌航空大学 Information hiding method and extracting method based on overlapped Hamming codes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810019A (en) * 1972-09-25 1974-05-07 Sperry Rand Corp Multifrequency communication system for fading channels
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
US5450443A (en) * 1993-09-01 1995-09-12 International Business Machines Corporation Method and apparatus for constructing asymptotically optimal second order DC-free channel codes
WO1995028046A1 (en) * 1994-04-08 1995-10-19 Echelon Corporation Method and apparatus for robust communications based upon angular modulation
US5675590A (en) * 1994-11-23 1997-10-07 At&T Wireless Services, Inc. Cyclic trellis coded modulation
US5883929A (en) * 1996-04-03 1999-03-16 Ericsson, Inc. Synchronization method, and associated circuitry, for synchronizing a receiver with a transmitter
US5909645A (en) * 1996-06-21 1999-06-01 Lucent Technologies Inc. Receiver with dynamic attenuation control for adaptive intermodulation performance enhancement
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US6118826A (en) * 1996-09-09 2000-09-12 Qualcomm Incorporated Method and apparatus for encoding/decoding QAM trellis coded data
JP3464121B2 (en) * 1997-06-11 2003-11-05 沖電気工業株式会社 Viterbi decoding method and Viterbi decoding device

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454035B2 (en) 1995-07-27 2008-11-18 Digimarc Corporation Digital watermarking systems and methods
US20050008190A1 (en) * 1995-07-27 2005-01-13 Levy Kenneth L. Digital watermarking systems and methods
US7986845B2 (en) 1995-07-27 2011-07-26 Digimarc Corporation Steganographic systems and methods
US8103879B2 (en) 1996-04-25 2012-01-24 Digimarc Corporation Processing audio or video content with multiple watermark layers
US20090279735A1 (en) * 1998-09-25 2009-11-12 Levy Kenneth L Method and Apparatus for Embedding Auxiliary Information within Original Data
US8611589B2 (en) 1998-09-25 2013-12-17 Digimarc Corporation Method and apparatus for embedding auxiliary information within original data
US20080279536A1 (en) * 1998-09-25 2008-11-13 Levy Kenneth L Transmarking of multimedia signals
US8959352B2 (en) * 1998-09-25 2015-02-17 Digimarc Corporation Transmarking of multimedia signals
US7532740B2 (en) 1998-09-25 2009-05-12 Digimarc Corporation Method and apparatus for embedding auxiliary information within original data
US7373513B2 (en) * 1998-09-25 2008-05-13 Digimarc Corporation Transmarking of multimedia signals
US20010044899A1 (en) * 1998-09-25 2001-11-22 Levy Kenneth L. Transmarking of multimedia signals
US8027507B2 (en) 1998-09-25 2011-09-27 Digimarc Corporation Method and apparatus for embedding auxiliary information within original data
US7958359B2 (en) 2001-04-30 2011-06-07 Digimarc Corporation Access control systems
US20040146180A1 (en) * 2003-01-21 2004-07-29 Victor Company Of Japan, Ltd. Recording and reproduction apparatus, recording and reproduction method, recording and reproduction program for imperceptible information to be embedded in digital image data
US7356159B2 (en) * 2003-01-21 2008-04-08 Victor Company Of Japan, Ltd. Recording and reproduction apparatus, recording and reproduction method, recording and reproduction program for imperceptible information to be embedded in digital image data
US8301893B2 (en) 2003-08-13 2012-10-30 Digimarc Corporation Detecting media areas likely of hosting watermarks
US20070025590A1 (en) * 2005-07-28 2007-02-01 Academia Sinica Asymmetric subspace watermarking
US7587063B2 (en) * 2005-07-28 2009-09-08 Academia Sinica Asymmetric subspace watermarking
US20120281894A1 (en) * 2008-03-05 2012-11-08 International Business Machines Corporation Systems and Methods for Metadata Embedding in Streaming Medical Data
US8891814B2 (en) * 2008-03-05 2014-11-18 International Business Machines Corporation Systems and methods for metadata embedding in streaming medical data
CN109033853A (en) * 2018-07-09 2018-12-18 深圳大学 Physical layer information hidden method, device and terminal based on convolutional code

Also Published As

Publication number Publication date
US6438252B2 (en) 2002-08-20
EP1108288A1 (en) 2001-06-20
US6263087B1 (en) 2001-07-17
WO2000001076A8 (en) 2000-02-10
EP1108288A4 (en) 2001-12-12
CA2336099A1 (en) 2000-01-06
WO2000001076A1 (en) 2000-01-06
JP2002519927A (en) 2002-07-02

Similar Documents

Publication Publication Date Title
US6263087B1 (en) Method of encoding bits in a signal
US5944842A (en) Method and apparatus for data encoding and communication over noisy media
JP3592299B2 (en) Decoding method and device, receiving method, receiving device, program product for executing the decoding method, and information storage medium
US8995533B2 (en) Method and apparatus for transmitting and receiving FEC frame headers with variable header modulation
US6654926B1 (en) Soft decision maximum likelihood encoder and decoder
JP3963281B2 (en) Communication system and method using code rate partitioning with non-orthogonal modulation
CN101283593B (en) Outer encoder and outer encoding method thereof
AU724573B2 (en) Convolutional decoding with the ending state decided by CRC bits placed inside multiple coding bursts
US8099653B2 (en) Communication apparatus and method including a plurality of descramblers
US20030152225A1 (en) Digital watermarking system using scrambling method
JP2005006338A (en) Framing structure for digital broadcasting and interactive services
US20020159614A1 (en) Message coding for digital watermark applications
US9031173B2 (en) Receiving apparatus and method
US20040177308A1 (en) Encoding apparatus and method, and decoding apparatus and method for error correction
EP0827298A2 (en) Data receiver and data receiving method
US5850403A (en) Process of selectively protecting information bits against transmission errors
CN1182985A (en) Device utilizing whitebi decoder measuring error rate
US20130101059A1 (en) Pre-modulation physical layer steganography
JP3269035B2 (en) Decryption device
US7995692B2 (en) Frame-synchronization method and device
US8649469B2 (en) Signal reception
EP0981863A1 (en) Method and apparatus for enhanced performance in a system employing convolutional decoding
CA2215380C (en) Method and apparatus for data encoding and communication over noisy media
KR100259296B1 (en) Error correction method
Xu et al. Hard decision and iterative joint source channel coding using arithmetic codes

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SIGNAFY, INC.;REEL/FRAME:013699/0099

Effective date: 20021209

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20140820