Method for hiding binary data in a digital image
First Claim
1. A process for hiding primary numerical information (Iinf1) inside an initial numerical document (Iorig), comprising the steps of:
- generating a numerical document of reference (Iref) as a function of said initial numerical document (Iorig);
generating a gap image, said gap image being the difference between said initial numerical document (Iorig) and said numerical document of reference (Iref);
generating a secondary numerical information (Iinf2) as a function of said gap image and said primary numerical information (Iref) for hiding said primary numerical information (Iinf1); and
adding said secondary numerical information (Iinf2) to said numerical document of reference (Iref) in order to obtain a modified initial numerical document (I′
orig) close to the initial numerical document (Iorig), said modified initial document having no visual distortion from hiding the primary numerical information (Iinf1).
1 Assignment
0 Petitions
Accused Products
Abstract
A method for hiding primary digital information in an initial digital document begins by first breaking down the initial document by determining a reference digital document as a function of the initial digital document by a fractal transformation method. Secondary digital information is created as a function of the primary digital information to be hidden and the reference digital document. A modified image is computed by the sum of the reference digital document and the secondary digital information such that the modified digital document approximates the initial document but integrating substantially indiscernible the primary digital information to be hidden. The method enables retrieval of digital information hidden in a multimedia document in a dual manner. The method is based on the concept of auto-similarity and ensures that the input information is not visible but finally be retrieved without providing knowledge of the original documents.
20 Citations
51 Claims
-
1. A process for hiding primary numerical information (Iinf1) inside an initial numerical document (Iorig), comprising the steps of:
-
generating a numerical document of reference (Iref) as a function of said initial numerical document (Iorig);
generating a gap image, said gap image being the difference between said initial numerical document (Iorig) and said numerical document of reference (Iref);
generating a secondary numerical information (Iinf2) as a function of said gap image and said primary numerical information (Iref) for hiding said primary numerical information (Iinf1); and
adding said secondary numerical information (Iinf2) to said numerical document of reference (Iref) in order to obtain a modified initial numerical document (I′
orig) close to the initial numerical document (Iorig), said modified initial document having no visual distortion from hiding the primary numerical information (Iinf1).- View Dependent Claims (2, 3, 4, 5, 6)
splitting the initial numerical document (Iorig) into a set of range primitives covering the whole initial document;
extracting from the initial numerical document (Iorig) a set of domain primitives, in order to create a basic codebook of domain primitives;
determining from the basic codebook of basic domain primitives a final codebook of additional domain primitives, by applying to the basic primitives, a set of local geometric and/or photometric transformations; and
matching each basic range primitive with one domain primitive of the basic codebook, in such a way that each range primitive is equal to a transformed domain primitive via an elementary transformation, plus an error factor, which allows the primary numerical information (Iinf1) to be embedded, the image being composed by the set of range primitives computed from a domain primitive itself extracted from the final codebook (Dfinal) being said numeric document of reference (Iref).
-
-
4. The process according to claim 3 wherein a program code which is associated with the fractal analysis is of a contractive type for determining said secondary numerical information (Iinf2) from said primary numerical information (Iinf1), wherein said program code executes a program process comprising the steps of:
-
calculating a the gap difference as a difference between the initial numerical document (Iorig) and an attractor (A), said attractor (A) being defined by a fractal code (W) associated to the initial numerical document (Iorig), , and computing for each point (x, y) of the initial numerical document (Iorig), the said secondary numerical information (Iinf2) from said gap difference and said primary numerical information (Iinf1);
establishing a binary link criterion between gap difference and said primary numerical information (Iinf1);
setting secondary numerical information (Iinf2) equal to said gap difference in response to a correspondence to said binary link criterion for each pixel; and
disregarding primary numerical information (Iinf1) for each pixel if there is not correspondence to said binary link criterion.
-
-
5. The process according to claim 4 wherein the binary link criterion is determined by the formula:
-
6. The process of claim 1 wherein the initial numerical document (Iorig) is a multimedia document containing image data, textual data or image data of a logo of a company in gray levels.
-
7. A process for extracting a primary numerical information Iinf1 from a modified initial numerical document (I′
-
orig) which is assumed to host a hidden primary numerical information Iinf1, said process comprising the steps of;
computing a self-similarity code W′
associated to the modified initial numerical document (I′
orig) by using a context utilized for computing said modified initial numerical document (I′
orig);
retrieving a secondary numerical information (I′
inf2) for each pixel from said modified initial numerical document (I′
orig) and a self-similarity code (W′
), said retrieving comprising the step of;
computing secondary numerical information (I′
inf2) as a difference between modified initial numerical document (I′
orig) and an attactor (A′
), said attractor (A′
) being defined by the self-similarity code (W′
) associated to the modified initial numerical document (I′
orig);
determining if said self-similarity code (W′
) is contractive; and
if said self-similarity code (W′
) is contractive, testing the secondary numerical information I′
inf2 and deducing I′
inf1 as a function of a binary relationship between a gap difference and the primary numerical information (Iinf1).- View Dependent Claims (8, 9)
computing from the retrieved secondary numerical information (I′
inf2), the primary numerical information I′
inf1 by the steps of;
if the retrieved secondary numerical information I′
inf2 (x,y) is greater than a predetermined threshold value (S), setting the secondary numerical information (I′
inf2(x,y)) to a first digital value;
if the retrieved secondary numerical information (I′
inf2 (x,y)) is less than a negative value of said threshold value (−
S), setting the retrieved secondary numerical information (I′
inf2(x,y)) to a second digital value; and
if the retrieved secondary numerical information I′
inf2 (x,y) is not greater than a predetermined threshold value (S) and less than the negative value of said threshold value (−
S) setting the retrieved secondary numerical information (I′
inf2(x,y)) corresponding to one pixel (x, y) does not carry any hidden information.
-
orig) which is assumed to host a hidden primary numerical information Iinf1, said process comprising the steps of;
-
9. The process of claim 7 wherein testing the secondary numerical information (I′
-
inf2) comprises the steps of;
determining that the hidden primary numerical information (Iinf1) is equal to 1 if the secondary numerical information (I′
inf2) is positive; and
determining that the hidden primary numerical information (Iinf1) is equal to 0 if the secondary numerical information (I′
inf2) is negative.
-
inf2) comprises the steps of;
-
10. A process for hiding a primary numerical information (Iinf1) inside an original document (Iorig) comprising the steps of:
-
determining a reference document Iref by means of a lossy approximation transformation method upon said original document (Iorig);
determining a gap image being equal to a difference between said original document (Iorig) and said reference document (Iref);
determining a secondary numerical information (Iinf2) computed as a function of said gap image in accordance with a correspondence rule between said gap image and said primary numerical information (Iinf1); and
adding said secondary numerical information (Iinf2) to said reference document (Iref) in order to produce a modified document (I′
orig) substantially dose to said original document (Iorig).- View Dependent Claims (11, 12, 13, 14)
Iinf2=inf(GAP,THRESHOLD) or sup(GAP,THRESHOLD), where; inf is a function that yields the lesser of the operators, sup is function that yields the greater of the operators, GAP is a gap image value, and THRESHOLD is a predetermined threshold value.
-
-
12. The process according to claim 11 comprising the steps of setting the threshold value to null level so that the value secondary numerical information (Iinf2(x,y)) is selectively equal to the gap image value (GAP) or the null level dependant on whether the pixel is carrying an information or not, thereby substantially moving the modified document (I′
- orig) close to the original document (Iorig).
-
13. The process according to claim 10 wherein determining said secondary numerical information (Iinf2) comprises the step of solving the formula:
-
14. The process of claim 10 wherein said process is applied to digitized images and that said lossy transformation method includes a set of coding transformation methods, said set of coding transformation methods selected from the set of coding transformation methods consisting of a JPEG coding, a resolution reduction coding, or a fractal analysis coding.
-
15. A process for extracting a primary numerical information (Iinf1) inside a modified document (I′
-
orig) comprising the steps of;
determining a reference document I′
ref by means of a lossy approximation transformation method on said modified document (I′
orig);
determining a gap image between said modified document (I′
orig) and said reference document (I′
ref); and
deducing the value of said primary numerical information (Iinf1) from a comparison between said gap image and a threshold value. - View Dependent Claims (16, 17)
determining that the hidden primary numerical information (Iinf1) is equal to 1 if the comparison between said gap image and the threshold value is positive; and
determining that the hidden primary numerical information (Iinf1) is equal to 0 if the comparison between said gap image and a threshold value is negative.
-
orig) comprising the steps of;
-
17. The process of claim 15 wherein said process is applied to the field of digitized imaging and that said lossy transformation method includes a set of coding transformation methods, said set of coding transformation methods selected from the set of coding transformation methods consisting of a JPEG coding, a resolution reduction coding or a fractal analysis coding.
-
18. A system that hides primary numerical information (Iinf1) inside an initial numerical document (Iorig), comprising:
-
a numerical document of reference (Iref) generator connected to receive said initial numerical document (Iorig) and for creating a numerical document of reference (Iref) as a function of the initial numerical document (Iorig);
a gap image generator connected to receive said initial numerical document (Iorig) and in communication with the a numerical document of reference (Iref) generator to receive said a numerical document of reference (Iref) to generate a gap image as the difference between said initial numerical document (Iorig) and said numerical document of reference (Iref);
a secondary numerical information (Iinf2) generator connected to receive the primary numerical information (Iinf1), in communication with the a numerical document of reference (Iref) generator to receive the a numerical document of reference (Iref), and in communication with the gap image generator to receive the gap image to determine a secondary numerical information (Iinf2) as a function of said gap image and said primary numerical information (Iref) to hide said primary numerical information (Iinf1); and
a modified initial numerical document (I′
orig) generator in communication with the a numerical document of reference (Iref) generator to receive the a numerical document of reference (Iref), in communication with the secondary numerical information (Iinf2) generator to receive secondary numerical information (Iinf2), said modified initial numerical document (I′
orig) generator creating a modified initial numerical document (I′
orig) by adding said secondary numerical information (Iinf2) to said numerical document of reference (Iref), said a modified initial numerical document (I′
orig) closely approximating the initial numerical document (Iorig) without any visual distortion from hiding the primary numerical information (Iinf1).- View Dependent Claims (19, 20, 21, 22, 23)
splitting the initial numerical document (Iorig) into a set of range primitives covering the whole initial document;
extracting from the initial numerical document (Iorig) a set of domain primitives, in order to create a basic codebook of domain primitives;
determining from the basic codebook of basic domain primitives a final codebook of additional domain primitives, by applying to the basic primitives, a set of local geometric and/or photometric transformations;
matching each basic range primitive with one domain primitive of the basic codebook, in such a way that each range primitive is equal to a transformed domain primitive via an elementary transformation, plus an error factor, which allows the primary numerical information (Iinf1) to be embedded, the image being composed by the set of range primitives computed from a domain primitive itself extracted from the final codebook (Dfinal) being said numeric document of reference (Iref).
-
-
21. The system of claim 20 wherein the numerical document of reference (Iref) generator executes a program code that performs the fractal analysis is of a contractive type for determining said secondary numerical information (Iinf2) from said primary numerical information (Iinf1), wherein said program code performs a program process comprising the steps of:
-
calculating a the gap difference as a difference between the initial numerical document (Iorig) and an attractor (A), said attractor (A) being defined by a fractal code (W) associated to the initial numerical document (Iorig), and computing for each point (x, y) of the initial numerical document (Iorig), the said secondary numerical information (Iinf2) from said gap difference and said primary numerical information (Iinf1);
establishing a binary link criterion between gap difference and said primary numerical information (Iinf1);
setting secondary numerical information (Iinf2) equal to said gap difference in response to a correspondence to said binary link criterion for each pixel and, disregarding primary numerical information (Iinf1) for each pixel if there is not correspondence to said binary link criterion.
-
-
22. The system according to claim 21 wherein the binary link criterion is determined by the formula:
-
23. The system of claim 18 wherein the initial numerical document (Iorig) is a multimedia document containing image data, textual data or image data of a logo of a company in gray levels.
-
24. A system for extracting a primary numerical information Iinf1 from a modified initial numerical document (I′
-
orig) which is assumed to contain a hidden primary numerical information Iinf1, said system comprising;
a calculating device connected to receive the modified initial numerical document (I′
orig) and from said modified initial numerical document (I′
orig) computing a self-similarity code (W′
) associated to the modified initial numerical document (I′
orig) using a context utilized in originally computing said modified initial numerical document (I′
orig) and said calculating device determining if said self-similarity code (W′
) is contractive;
a secondary numerical information (I′
inf2) extraction device connected to receive the modified initial numerical document (I′
orig) and in communication with the calculating device for receiving the self-similarity code (W′
) and from said modified initial numerical document (l′
orig) and the self-similarity code (W′
), said a secondary numerical information (I′
inf2) extraction device computing secondary numerical information (I′
inf2) as a difference between modified initial numerical document (I′
orig) and an attactor (A′
), said attractor (A′
) being defined by the self-similarity code (W′
) associated to the modified initial numerical document (I′
orig); and
a testing device in communication with the calculating device to receive an indication if said self-similarity code (W′
) is contractive and in communication with the a secondary numerical information (I′
inf2) extraction device, if said self-similarity code (W′
) is contractive, said testing device tests the secondarya gap image device connected to receive the original document (Iorig) and in communication with the reference document (Iref) generator to receive the reference document (Iref) for determining a gap image as a difference between said original document (Iorig) and said reference document (Iref);
a secondary numerical information (Iinf2) generator connected to receive said primary numerical information (Iinf1) and in communication with the gap image device, said secondary numerical information (Iinf2) generator determining a secondary numerical information (Iinf2) as a function of said gap image in accordance with a correspondence rule between said gap image and said primary numerical information (Iinf1); and
a combining device in communication with the reference document (Iref) generator to receive the reference document (Iref) and in communication with the secondary numerical information (Iinf2) generator to receive the secondary numerical information (Iinf2), said combining device adding said secondary numerical information (Iinf2) to said reference document (Iref) in order to produce a modified document (I′
orig) substantially close to said original document (Iorig).- View Dependent Claims (25, 26)
if the retrieved secondary numerical information I′
inf2 (x,y) is greater than a predetermined threshold value (S), setting the secondary numerical information (I′
inf2(x,y)) to a first digital value;
if the retrieved secondary numerical information (I′
inf2 (x,y)) is less than a negative value of said threshold value (−
S), setting the retrieved secondary numerical information (I′
inf2(x,y)) to a second digital value; and
if the retrieved secondary numerical information I′
inf2 (x,y) is not greater than a predetermined threshold value (S) and less than the negative value of said threshold value (−
S) setting the retrieved secondary numerical information (I′
inf2 (x,y)) corresponding to one pixel (x, y) does not carry any hidden information.
-
orig) which is assumed to contain a hidden primary numerical information Iinf1, said system comprising;
-
26. The system of claim 24 wherein testing the secondary numerical information (I′
-
inf2) comprises the steps of;
determining that the hidden primary numerical information (Iinf1) is equal to 1 if the secondary numerical information (I′
inf2) is positive; and
determining that the hidden primary numerical information (Iinf1) is equal to 0 if the secondary numerical information (I′
inf2) is negative.
-
inf2) comprises the steps of;
-
27. A system for hiding a primary numerical information (Iinf1) inside an original document (Iorig) comprising:
-
a reference document (Iref) generator connected to receive said original document (Iorig) for determining a reference document (Iref) by means of a lossy approximation transformation method upon said original document (Iorig);
inf is a function that yields the lesser of the operators, sup is function that yields the greater of the operators, GAP is a gap image value for the pixels (x,y), and THRESHOLD is a predetermined threshold value. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
29. The system of claim 28 wherein the secondary numerical information (Iinf2) generator sets the threshold value to null level so that the value secondary numerical information (Iinf2(x,y)) is selectively equal to the gap image value (GAP(x,y)) or the null level dependant on whether the pixel is carrying an information or not, thereby substantially moving the modified document (I′
- orig) close to the original document (Iorig).
-
30. The system of claim 29 wherein said original document (Iorig) is a digitized image and that said lossy transformation method includes a set of coding transformation methods, said set of coding methods selected from the set of coding transformation methods consisting of a JPEG coding, a resolution reduction coding, or a fractal analysis coding.
-
31. The system according to claim 28 wherein secondary numerical information (Iinf2) generator determines said secondary numerical information (Iinf2) by the formula:
-
32. The system of claim 27 wherein said original document (Iorig) is a digitized image and that said lossy transformation method includes a set of coding transformation methods, said set of coding transformation methods selected from the set of coding transformation methods consisting of a JPEG coding, a resolution reduction coding or a fractal analysis coding.
-
33. A system for extracting a primary numerical information (Iinf1) inside a modified document (I′
-
orig) comprising;
reference document (Iref) generator connected to receive said modified document (I′
orig) and for performing a lossy approximation transformation method to said modified document (I′
orig) for determining a reference document (I′
ref);
a gap image device connected to receive the modified document (I′
orig) and in communication with the reference document (Iref) generator to determine a gap image between said modified document (I′
orig) and said reference document (I′
ref);
a primary numerical information (Iinf1) device in communication with the gap image device to receive said gap image, said primary numerical information (Iinf1) device deducing the value of said primary numerical information (Iinf1) from a comparison between said gap image and a threshold value. - View Dependent Claims (34)
determining that the hidden primary numerical information (Iinf1) is equal to 1 if the comparison between said gap image and the threshold value is positive; and
determining that the hidden primary numerical information (Iinf1) is equal to 0 if the comparison between said gap image and a threshold value is negative.
-
orig) comprising;
-
35. A medium for retaining a computer program which, when executed by a computing system, performs a program process for hiding a primary numerical information (Iinf1) inside an initial numerical document (Iorig), said process comprising the steps of:
-
generating a numerical document of reference (Iref) being a function of said initial numerical document (Iorig);
generating a gap image, said gap image being the difference between said initial numerical document (Iorig) and said numerical document of reference (Iref);
generating a secondary numerical information (Iinf2) as a function of said gap image and said primary numerical information (Iref) to hide said primary numerical information (Iinf1); and
adding said secondary numerical information (Iinf2) to said numerical document of reference (Iref) in order to obtain a modified initial numerical document (I′
orig) close to the initial numerical document (Iorig), said modified initial document having no visual distortion from hiding the primary numerical information (Iinf1).- View Dependent Claims (36, 37, 38, 39, 40)
splitting the initial numerical document (Iorig) into a set of range primitives covering the whole initial document;
extracting from the initial numerical document (Iorig) a set of domain primitives, in order to create a basic codebook of domain primitives;
determining from the basic codebook of basic domain primitives a final codebook of additional domain primitives, by applying to the basic primitives, a set of local geometric and/or photometric transformations; and
matching each basic range primitive with one domain primitive of the basic codebook, in such a way that each range primitive is equal to a transformed domain primitive via an elementary transformation, plus an error factor, which allows the primary numerical information (Iinf1) to be embedded, the image being composed by the set of range primitives computed from a domain primitive itself extracted from the final codebook (Dfinal) being said numeric document of reference (Iref).
-
-
38. The medium of claim 37 wherein a program code which is associated with the fractal analysis is of a contractive type for determining said secondary numerical information (Iinf2) from said primary numerical information (Iinf1), wherein said program code executes a program process comprising the steps of:
-
calculating a the gap difference as a difference between the initial numerical document (Iorig) and an attractor (A), said attractor (A) being defined by a fractal code (W) associated to the initial numerical document (Iorig), computing for each point (x, y) of the initial numerical document (Iorig), the said secondary numerical information (Iinf2) from said gap difference and said primary numerical information (Iinf1);
establishing a binary link criterion between gap difference and said primary numerical information (Iinf1);
setting secondary numerical information (Iinf2) equal to said gap difference in response to a correspondence to said binary link criterion for each pixel; and
disregarding primary numerical information (Iinf1) for each pixel if there is not correspondence to said binary link criterion.
-
-
39. The medium of claim 38 wherein the binary link criterion is determined by the formula:
-
40. The medium of claim 35 wherein the initial numerical document (Iorig) is a multimedia document containing image data, textual data or image data of a logo of a company in gray levels.
-
41. A medium for retaining a computer program which, when executed by a computing system, performs a program process for extracting a primary numerical information Iinf1from a modified initial numerical document (I′
-
orig) which is assumed to host a hidden primary numerical information Iinf1, said program process comprising the steps of;
computing a self-similarity code W′
associated to the modified initial numerical document (I′
orig) by using a context utilized for computing said modified initial numerical document (I′
orig);
retrieving a secondary numerical information (I′
inf2) for each pixel from said modified initial numerical document (I′
orig) and a self-similarity code (W′
), said retrieving comprising the step of;
computing secondary numerical information (I′
inf2) as a difference between modified initial numerical document (I′
orig) and an attactor (A′
), said attractor (A′
) being defined by the self-similarity code (W′
) associated to the modified initial numerical document (I′
orig);
determining if said self-similarity code (W′
) is contractive;
if said self-similarity code (W′
) is contractive, testing the secondary numerical information I′
inf2 and deducing I′
inf1 as a function of a binary relationship between a gap difference and the primary numerical information (Iinf1).- View Dependent Claims (42, 43)
computing from the retrieved secondary numerical information (I′
inf2), the primary numerical information I′
inf1 by the steps of;
if the retrieved secondary numerical information I′
inf2 (x,y) is greater than a predetermined threshold value (S), setting the secondary numerical information (I′
inf2(x,y)) to a first digital value;
if the retrieved secondary numerical information (I′
inf2 (x,y)) is less than a negative value of said threshold value (−
S), setting the retrieved secondary numerical information (I′
inf2(x,y)) to a second digital value; and
if the retrieved secondary numerical information I′
inf2(x,y) is not greater than a predetermined threshold value (S) and less than the negative value of said threshold value (−
S) setting the retrieved secondary numerical information (I′
inf2 (x,y)) corresponding to one pixel (x, y) does not carry any hidden information.
-
orig) which is assumed to host a hidden primary numerical information Iinf1, said program process comprising the steps of;
-
43. The medium of claim 41 wherein testing the secondary numerical information (I′
-
inf2) comprises the steps of;
determining that the hidden primary numerical information (Iinf1) is equal to 1 if the secondary numerical information (I′
inf2) is positive; and
determining that the hidden primary numerical information (Iinf1) is equal to 0 if the secondary numerical information (I′
inf2) is negative.
-
inf2) comprises the steps of;
-
44. A medium for retaining a computer program which, when executed by a computing system, performs a program process for hiding a primary numerical information (Iinf1) inside an original document (Iorig), said program process comprising the steps of:
-
determining a reference document Iref by means of a lossy approximation transformation method upon said original document (Iorig);
determining a gap image being equal to a difference between said original document (Iorig) and said reference document (Iref);
determining a secondary numerical information (Iinf2) computed as a function of said gap image in accordance with a correspondence rule between said gap image and said primary numerical information (Iinf1); and
adding said secondary numerical information (Iinf2) to said reference document (Iref) in order to produce a modified document (I′
orig) substantially close to said original document (Iorig).- View Dependent Claims (45, 46, 47, 48)
-
-
46. The medium of claim 44 comprising the steps of setting the threshold value to null level so that the value secondary numerical information (Iinf2) is selectively equal to the gap image value (GAP) or the null level dependant on whether the pixel is carrying an information or not, thereby substantially moving the modified document (I′
- orig) close to the original document (Iorig).
-
47. The medium of claim 44 wherein determining said secondary numerical information (Iinf2) comprises the step of solving the formula:
-
48. The medium of claim 44 wherein said program process is applied to digitized images and that said lossy transformation method includes a set of coding transformation methods, said set of coding transformation methods selected from the set of coding transformation methods consisting of a JPEG coding, a resolution reduction coding, or a fractal analysis coding.
-
49. A medium for retaining a computer program which, when executed by a computing system, performs a program process for extracting a primary numerical information (Iinf1) inside a modified document (I′
-
orig), said program process comprising the steps of;
determining a reference document Iref by means of a lossy approximation method;
determining a gap image between said modified document (I′
orig) and said reference document (I′
ref); and
deducing the value of said primary numerical information (Iinf1) from a comparison between said gap image and a threshold value. - View Dependent Claims (50, 51)
determining that the hidden primary numerical information (Iinf1) is equal to 1 if the comparison between said gap image and the threshold value is positive; and
determining that the hidden primary numerical information (Iinf1) is equal to 0 if the comparison between said gap image and a threshold value is negative.
-
orig), said program process comprising the steps of;
-
51. The medium of claim 49 wherein said program process is applied to digitized images and that said lossy transformation method includes a set of coding transformation methods, said set of coding transformation methods selected from the set of coding transformation methods consisting of a JPEG coding, a resolution reduction coding, or a fractal analysis coding.
Specification