Modular error embedding
First Claim
1. A method of embedding auxiliary data into digital host data of any kind containing noise in the low-order bits comprising the steps of:
- selecting values from said digital host data in a sequence determined by a digital key;
creating a digital representation of said auxiliary data in the form of a sequence of individual bit values;
selecting from said digital host data a block of values having a center and a first offset value obtained from said center of said block;
replacing individual host data values with a second block offset value determined from said auxiliary data; and
outputting said replacement values with said auxiliary data embedded into a file format specified for said digital host data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of embedding auxiliary information into the digital representation of host data containing noise in the low-order bits. The method applies to digital data representing analog signals, for example digital images. The method reduces the error introduced by other methods that replace the low-order bits with auxiliary information. By a substantially reverse process, the embedded auxiliary data can be retrieved easily by an authorized user through use of a digital key. The modular error embedding method includes a process to permute the order in which the host data values are processed. The method doubles the amount of auxiliary information that can be added to host data values, in comparison with bit-replacement methods for high bit-rate coding. The invention preserves human perception of the meaning and content of the host data, permitting the addition of auxiliary data in the amount of 50% or greater of the original host data.
-
Citations
12 Claims
-
1. A method of embedding auxiliary data into digital host data of any kind containing noise in the low-order bits comprising the steps of:
-
selecting values from said digital host data in a sequence determined by a digital key; creating a digital representation of said auxiliary data in the form of a sequence of individual bit values; selecting from said digital host data a block of values having a center and a first offset value obtained from said center of said block; replacing individual host data values with a second block offset value determined from said auxiliary data; and outputting said replacement values with said auxiliary data embedded into a file format specified for said digital host data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of reconstructing auxiliary data from a machine readable digital host data representation into which said auxiliary data has been emedded comprising the steps of:
-
extracting said auxiliary data from said host data representation in a sequence determined by a digital key; interpreting said extracted auxiliary data according to the remainder values of a block size that is a binary power of two; and verifying said auxiliary data by examining said remainder values.
-
Specification