Data embedding employing degenerate clusters of data having differences less than noise value
First Claim
1. A method of embedding auxiliary data into host data comprising the steps of:
- creating a digital representation of said host data in the form of elements having numerical values and containing a noise component;
creating a digital representation of said auxiliary data in the form of a sequence of individual bit values;
evaluating said noise component of said digital representation of said host data;
comparing the values of said elements with said noise component to determine degenerate clusters of four or more said elements having numerical values which differ by less than said value of said noise component;
replacing individual values of said elements with equivalent values taken from said degenerate clusters of said elements in order to embed bit values of said auxiliary data corresponding to said sequence of bit values of said auxiliary data; and
outputting said host data with said auxiliary data embedded into said host data as a file.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of embedding auxiliary information into a set of host data, such as a photograph, television signal, facsimile transmission, or identification card. All such host data contain intrinsic noise, allowing pixels in the host data which are nearly identical and which have values differing by less than the noise value to be manipulated and replaced with auxiliary data. As the embedding method does not change the elemental values of the host data, the auxiliary data do not noticeably affect the appearance or interpretation of the host data. By a substantially reverse process, the embedded auxiliary data can be retrieved easily by an authorized user.
198 Citations
18 Claims
-
1. A method of embedding auxiliary data into host data comprising the steps of:
-
creating a digital representation of said host data in the form of elements having numerical values and containing a noise component; creating a digital representation of said auxiliary data in the form of a sequence of individual bit values; evaluating said noise component of said digital representation of said host data; comparing the values of said elements with said noise component to determine degenerate clusters of four or more said elements having numerical values which differ by less than said value of said noise component; replacing individual values of said elements with equivalent values taken from said degenerate clusters of said elements in order to embed bit values of said auxiliary data corresponding to said sequence of bit values of said auxiliary data; and outputting said host data with said auxiliary data embedded into said host data as a file. - View Dependent Claims (2, 3, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
4. A method of constructing auxiliary data from host data containing a noise component comprising the steps of:
-
constructing from said host data a bit sequence indicative of said embedded auxiliary data, and which allows for verification of said host data; interpreting said host data to determine host element degenerate clusters and two or more pairs which differ by less than said noise component and which correspond to bit values of said auxiliary data; identifying said auxiliary data using said bit sequence; and
constructing said auxiliary data as a file.
-
-
13. Apparatus for embedding auxiliary data into host data that can be serialized to a sequence of host-data element values:
-
input port means receiving said individual host-data element values in an ordered sequence; key-pair table, key-table, and key-value means receiving said embedding pair candidate values, and retaining said key-pair table, key-table, and key-value for reference purposes; input port means presenting host-data and auxiliary data values in an ordered sequence; output port means presenting modified host-data values or constructed auxiliary data values in an ordered sequence. - View Dependent Claims (14, 15)
-
-
16. Apparatus for constructing auxiliary data from a key-pair table, or a key-table embedded into individual frames of host data presented in sequence to said input port:
-
look-up table means receiving said key-pair table from said input port containing individual host-data values for extracting said key-pair table and outputting a key-pair index corresponding to each of said host-data values from said input port sequence of host data; and auxiliary data construction means comparing said key-pair table with said input port host-data values and using said key-pair table to construct said auxiliary data from said embedded host-data data and presenting said auxiliary data to said output port. - View Dependent Claims (17, 18)
-
Specification