Steganographic method and device
First Claim
Patent Images
1. A computer-implemented method for decoding independent information encoded into digital data comprising:
- providing a key from a database, said key providing an indication of where, in the digital data, the independent information can be located;
using said key to locate a first portion of said independent information in said digital data; and
using said key to determine said independent information from said digital data wherein the independent information includes a encode hash of at least a portion of the digital data and further comprising generating a decode hash of at least a portion of the digital data and comparing said encode hash to said decode hash.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for encoding and decoding additional information into a stream of digitized samples in an integral manner. The information is encoded using special keys. The information is contained in the samples, not prepended or appended to the sample stream. The method makes it extremely difficult to find the information in the samples if the proper keys are not possesed by the decoder. The method does not cause a significant degradation to the sample stream. The method is used to establish ownership of copyrighted digital multimedia content and provide a disincentive to piracy of such material.
433 Citations
17 Claims
-
1. A computer-implemented method for decoding independent information encoded into digital data comprising:
- providing a key from a database, said key providing an indication of where, in the digital data, the independent information can be located;
using said key to locate a first portion of said independent information in said digital data; and
using said key to determine said independent information from said digital data wherein the independent information includes a encode hash of at least a portion of the digital data and further comprising generating a decode hash of at least a portion of the digital data and comparing said encode hash to said decode hash.
- providing a key from a database, said key providing an indication of where, in the digital data, the independent information can be located;
-
2. A computer-implemented method for decoding independent information encoded into digital data comprising:
- providing a key from a database, said key providing an indication of where, in the digital data, the independent information can be located;
using said key to locate a first portion of said independent information in said digital data; and
using said key to determine said independent information from said digital data wherein the independent information includes a encode hash of at least a portion of the digital data that contains the independent information, wherein the encode hash is insensitive to encoding the independent information into the digital data and further comprising generating a decode hash of at least a portion of the digital data that contains the independent information and comparing said encode hash to said decode hash.
- providing a key from a database, said key providing an indication of where, in the digital data, the independent information can be located;
-
3. A computer-implemented method for protecting a digital signal comprising the steps of:
- a) providing a carrier signal;
b) using a key from a memory to map independent information including a digital watermark into the carrier signal;
c) adding unique data to each individual watermark, rendering it distinct from any other watermark in the same sample stream; and
d) computing a secure one way hash function of the carrier signal data in said sample windows, wherein said hash function is insensitive to changes introduced into the carrier signal for the purpose of carrying digital watermark information.
- a) providing a carrier signal;
-
4. A computer-implemented method for protecting a digital signal comprising the steps of:
- a) providing a carrier signal;
b) using a key from a memory to map independent information including a digital watermark into the carrier signal;
c) adding unique data to each individual watermark, rendering it distinct from any other watermark in the same sample stream;
d) computing a secure one way hash function of the carrier signal data in said sample windows, wherein said hash function is insensitive to changes introduced into the carrier signal for the purpose of carrying digital watermark information; and
e) concatenating the hash value with the independent information, creating an expanded, unique digital watermark.
- a) providing a carrier signal;
-
5. A computer-implemented method for protecting a digital signal comprising:
- a) providing a carrier signal that has been encoded with independent information;
b) using a key from a database to locate independent information including a digital watermark in the carrier signal; and
c) obtaining a unique hash value contained in the independent information comprising part of the digital watermark.
- a) providing a carrier signal that has been encoded with independent information;
-
6. A computer-implemented method for protecting a digital signal comprising:
- a) providing a carrier signal that has been encoded with independent information;
b) using a key from a database to locate independent information including a digital watermark in the carrier signal;
c) obtaining a unique hash value contained in the independent information comprising part of the digital watermark; and
d) computing a secure one way hash function of the carrier signal data in said sample windows, wherein said hash function is insensitive to changes introduced into the carrier signal for the purpose of carrying digital watermark information.
- a) providing a carrier signal that has been encoded with independent information;
-
7. A computer-implemented method for protecting a digital signal comprising:
- a) providing a carrier signal that has been encoded with independent information;
b) using a key from a database to locate independent information including a digital watermark in the carrier signal;
c) obtaining a unique hash value contained in the independent information comprising part of the digital watermark;
d) computing a secure one way hash function of the carrier signal data in said sample windows, wherein said hash function is insensitive to changes introduced into the carrier signal for the purpose of carrying digital watermark information; and
e) comparing the computed hash value to the value contained in the watermark.
- a) providing a carrier signal that has been encoded with independent information;
-
8. A computer-implemented method for protecting a digital signal comprising:
- a) providing a carrier signal that has been encoded with independent information;
b) using a key from a database to locate independent information including a digital watermark in the carrier signal;
c) selecting a mask set, said mask set including one or more random or pseudo-random series of bits, referred to as masks, d) selecting a random or pseudo-random start of message delimiter;
e) selecting an input sample stream to be decoded;
f) separating the input sample stream into smaller discrete sample windows comprising segments of the input sample stream;
g) using positions within one of the sample windows and a position within the input stream to index random or pseudo-random masks and compute a mapping function to determine decoding positions and to decode digital watermark information from the sample window; and
h) validating at least one selected from the group consisting of;(1) a hash value computed on the start of message delimiter, and (2) a digital signature of the start of message delimiter, wherein the step h) of validating occurs after the start of message delimiter and the encoded information of said hash value or said digital signature have been decoded and the validation consists of computing an appropriate result using the start of message delimiter, comparing it to a value in the decoded data, and verifying any signature.
- a) providing a carrier signal that has been encoded with independent information;
-
9. A computer-implemented method for protecting a digital signal comprising the steps of:
- a) providing a carrier signal;
b) using a key from a memory to map independent information including a digital watermark into the carrier signal;
c) pre-processing sample windows in the sample stream to be watermarked;
d) determining which sample windows will contain the individual digital watermark to be encoded; and
e) calculating a size of the independent information comprising the digital watermark plus a size of an added hash value to determine a number of sample windows required to contain a complete watermark.
- a) providing a carrier signal;
-
10. A computer-implemented method for protecting a digital signal comprising the steps of:
- a) providing a carrier signal;
b) using a key from a memory to map independent information including a digital watermark into the carrier signal;
c) pre-processing sample windows in the sample stream to be watermarked;
d) determining which sample windows will contain the individual digital watermark to be encoded;
e) calculating a size of the independent information comprising the digital watermark plus a size of an added hash value to determine a number of sample windows required to contain a complete watermark; and
f) computing a secure one way hash function of the carrier signal data in said sample windows, wherein said hash function is insensitive to changes introduced into the carrier signal for the purpose of carrying digital watermark information.
- a) providing a carrier signal;
-
11. A computer-implemented method for protecting a digital signal comprising the steps of:
- a) providing a carrier signal;
b) using a key from a memory to map independent information including a digital watermark into the carrier signal;
c) pre-processing sample windows in the sample stream to be watermarked;
d) determining which sample windows will contain the individual digital watermark to be encoded;
e) calculating a size of the independent information comprising the digital watermark plus a size of an added hash value to determine a number of sample windows required to contain a complete watermark;
f) computing a secure one way hash function of the carrier signal data in said sample windows, wherein said hash function is insensitive to changes introduced into the carrier signal for the purpose of carrying digital watermark information; and
g) concatenating the hash value with the independent information, creating an expanded, unique digital watermark.
- a) providing a carrier signal;
-
12. A computer-based process for watermarking content comprising the steps of:
- a) accessing content; and
b) using a key from a memory comprising at least one map function to map a watermark into the content wherein the independent information includes a encode hash of at least a portion of the digital data and further comprising generating a decode hash of at least a portion of the digital data and comparing said encode hash to said decode hash.
- a) accessing content; and
-
13. A computer-based process for watermarking content comprising the steps of:
- a) accessing content; and
b) using a key from a memory comprising at least one map function to map a watermark into the content wherein the independent information includes a encode hash of at least a portion of the digital data that contains the independent information, wherein the encode hash is insensitive to encoding the independent information into the digital data and further comprising generating a decode hash of at least a portion of the digital data that contains the independent information and comparing said encode hash to said decode hash.
- a) accessing content; and
-
14. A computer-based process for identifying content comprising:
- a) receiving content that been encoded with independent information; and
b) using a key from a memory to locate and extract the independent information from the content wherein the independent information includes a encode hash of at least a portion of the digital data and further comprising generating a decode hash of at least a portion of the digital data and comparing said encode hash to said decode hash.
- a) receiving content that been encoded with independent information; and
-
15. A computer-based process for identifying content comprising:
- a) receiving content that been encoded with independent information; and
b) using a key from a memory to locate and extract the independent information from the content wherein the independent information includes a encode hash of at least a portion of the digital data that contains the independent information, wherein the encode hash is insensitive to encoding the independent information into the digital data and further comprising generating a decode hash of at least a portion of the digital data that contains the independent information and comparing said encode hash to said decode hash.
- a) receiving content that been encoded with independent information; and
-
16. A system for watermarking content comprising:
- a) a receiver configured to receive content; and
b) a processor configured to map at least one watermark into the content according to a key wherein the independent information includes a encode hash of at least a portion of the digital data and further comprising a generator for generating a decode hash of at least a portion of the digital data and a comparator for comparing said encode hash to said decode hash.
- a) a receiver configured to receive content; and
-
17. A system for watermarking content comprising:
- a) a receiver configured to receive content; and
b) a processor configured to map at least one watermark into the content according to a key wherein the independent information includes a encode hash of at least a portion of the digital data that contains the independent information, wherein the encode hash is insensitive to encoding the independent information into the digital data and further comprising a generator for generating a decode hash of at least a portion of the digital data that contains the independent information and a comparator for comparing said encode hash to said decode hash.
- a) a receiver configured to receive content; and
Specification