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.

Description:
BACKGROUND OF THE INVENTION 
     1. Technical Field of the Invention 
     The present invention relates to a process for hiding a binary data inside a numerical multimedia document, such as this data represents an image, textual data or the logo of a company in gray levels, to be retrieved from the modified document. The present invention, further, relates to applications which can take advantage of the process for hiding data into a numerical image. 
     2. Background Art 
     Numerical imaging is certainly the first field of multimedia applications for which there is an important need to introduce binary data into an image. Various techniques exist for hiding binary data, for example “watermarking an application, where digitized documents are marked in order to prove ownership or content authentication. 
     Cryptographic techniques exist that have the purpose of creating an “unreadable” document. This does not correspond to the technical background being considered in this application where the original document must remain readable and visible. 
     Generally speaking, the known techniques for hiding data present some drawbacks: 
     The quality of the image degrades, as does the ability to control the degradation; 
     The image can loose clarity, which results in the retrieval of unreliable information; 
     Some approaches require the use of the original image in order to retrieve the hidden binary information. The hidden data cannot therefore be recovered from the modified document alone. This is a major drawback because, it is important in many applications, to retrieve the embedded information without reference to the original document—a blind retrieval system. 
     OBJECTS OF THE INVENTION 
     An object of the present invention is to achieve a process for hiding binary information inside a document, while preserving image quality. 
     It is, further, an object of the present invention to provide a process for hiding information inside a fixed or video image, in color or gray levels, and more generally in any multimedia document, without jeopardizing the quality of the original document. In particular, when hiding binary data within a fixed or video image, it is important to prevent any loss in the visual clarity or audio quality, or at least to efficiently limit the distortion. 
     The aim of limiting the distortion introduced when adding information to a document requires the resolution of a paradox because, generally, the more information is introduced within a given image, the more distortion occurs. 
     Another object of the present invention is to in achieve a process for hiding information, which permits the retrieval of hidden data, without the original document, even when the modified document has been subject of a wide range of non destructive transformations. 
     Another object of this invention is to provide a process that allows for adding hidden information while maintaining the integrity of the original. In fact a great deal of hidden information maybe added without degrading the original. 
     Still, another object of this invention is to provide a process for concealing information that is easily changed or corrected when new information is added to the document. 
     Further still, another object of this invention is to provide a method for hiding data in any multimedia document (image, audio, video). 
     Additionally, an object of this invention is to provide a process for hiding of any kind of numerical information inside a multimedia document, for more security purposes. The particular use of the process of this invention will be determined by the practical requirements of the data which is to be introduced within the document. 
     To achieve at least one of these object, a process for hiding a primary numerical information (I inf1 ) inside an initial numerical document, in particular a multi-media document (I orig ), includes the steps of: 
     generating a numerical reference document (I ref ) which is a function of the initial numerical document (I orig ), and secondary numerical information (I inf2 ) which is a function of the primary numerical information to hide. The sum of the numerical document of reference (I ref ) and the secondary numerical information (I inf2 ) creates a modified document (I′ orig ) very close to the initial document (I orig ); 
     inserting said secondary numerical information (I inf2 ) within the original document, by computing a modified picture (I′ orig ) composed of the sum of the numerical document of reference (I ref ) and secondary numerical information (I inf2 ), in order to obtain a modified numerical document (I′ orig ) close to the initial document (I orig ) but including without any visual distortion the primary information (I inf1 ) to be introduced within the document. 
     In a preferred embodiment of this invention, the value of each pixel of the modified document (I′ orig ) is included within the range defined by the value computed in the numerical document of reference (I ref ) and the value given by the initial document (I orig ). 
     A fractal transformation is used in the preferred embodiment of this invention for determining the numerical document of reference (I ref ) from the initial document (I orig ). The fractal transformation includes the following steps: 
     splitting the initial document (I orig ) in a set of primitives RANGE (i) covering the whole initial document; 
     extracting from the initial document (I orig ) a set of primitives DOMAIN(j), in order to create a basic codebook (Dbase) of primitives DOMAIN(j); 
     determining from the dictionary of basic DOMAIN primitives a final codebook (Dfinal) of additional DOMAIN primitives, by applying to the basic primitives, a set of local geometric and/or photometric transformations; 
     matching each basic RANGE(i) primitive with a DOMAIN(j) primitive of the (Dbase) codebook, in such a way that each RANGE(i) primitive be equal to a transformed DOMAIN(j) primitive via an elementary transformation w i ., plus an error (ε i ), which allows the numerical information (I inf1 ) to be embedded. The image which is composed by the set of RANGE primitives, computed from a DOMAIN primitive itself extracted from the final codebook (Dfinal), is denoted WI orig  (or attractor A in the particular case where the selected context correspond to a contractive Iterated Function System (IFS) code as explained later in this document). 
     In a second embodiment of this invention, a lossy coding approach allows the computation of the numerical document of reference (I ref ) from the initial document (I orig ). From the perspective of numerical imaging applications, a JPEG coding can be used, or a process based on a reduction of the resolution to the initial document (I orig ). 
     In order to generate the secondary numerical information (I inf2 ) from the primary numerical information (I inf1 ) that is to hidden, the fractal analysis involves the computing of a gap image. The gap image is computed as the difference of the initial document (I orig ) and a fractal transformation code associated with the initial document (I orig ), as given by the formula: 
     
       
         GAP= I   orig   −WI   orig . 
       
     
     If the particular code is a contractive code then the gap image is the difference between the initial document (I orig ) and an attractor (A), as given in the formula: 
     
       
         GAP= I   orig   −A   
       
     
     The attractor (A) is determined from the fractal code W associated to the original image (I orig ). For each pixel (x,y) of the original document, the secondary numerical information to hide (I inf2 ) is determined from the gap image difference (GAP) between the initial document I orig  (given) and the numerical document of reference I ref  (computed). A binary relationship between the gap image (GAP) and the primary numerical information (I inf1 ) to be hidden is then established in order to define the exact value of the secondary numerical information I inf2  to introduce within the numerical document of reference I ref  and used for deriving the modified document I′ orig . Hence, if there is a correspondence according to the employed criterion for a given pixel (x,y) of the document, the secondary numerical information (I inf2 ) is set equal to the gap image (GAP) for the criterion. Otherwise the primary numerical information to be hidden for that pixel is not taken into account. It should be that this is a substantial advantage of this invention, that the pixels which are dedicated to carry information contribute to render the modified initial document (I′ orig ) as the sum of the initial document (I orig ) and the secondary numerical information (I inf2 ) close to the initial document (I orig ). 
     In the preferred embodiment of this invention, the relationship is established in accordance with the following formula which is used for deriving the value of the secondary numerical information I inf2 (x,y) 
     I inf2 (X, Y)=Inf (GAP(x, y); 0) or Sup (GAP(x, y), 0) according to 
     whether I inf1  is respectively equal to 0 or to 1. This law of 
     correspondence can be also expressed as: 
     
       
         If (GAP( x,y )&lt;0 AND  I   inf1 ( x,y )=0) OR (GAP( x,y )&gt;0 AND  I   inf1 ( x,y )=1) 
       
     
     THEN I inf2 (x,y)=GAP(x,y) 
     ELSE I inf2 (x,y)=0 
     In one implementation of this invention, when the gap image (GAP) corresponds to a value higher than a given threshold, the secondary numerical information (I inf2 ) for a selected pixel (x,y) is set equal to the gap difference )GAP) for the selected pixel (x,y) whatever the value of primary numerical information (I inf1 ) of the selected pixel (x,y) is. At the extraction, a corresponding mechanism is utilized to avoid the values of gap image (GAP′) being higher than the considered threshold. 
     The present invention permits the extraction of the primary numerical information (I inf1 ) from a modified primary numerical document (I′ orig ) which is assumed to contain hidden primary numerical information (I inf1 ) according to the previously described insertion process. The extraction process involves the steps of: 
     computing a self-similarity code (W′) associated to the modified initial document (I′ orig ) by using a same context as that used for the insertion process; 
     retrieving the secondary numerical information (I′ inf2 ) for each pixel from modified initial document (I′ orig ) and the self-similarity code (W′) by computing I′ inf2 =I orig −A′, in the particular case where the used code is contractive; 
     testing the recovered secondary numerical information (I′ inf2 ) and deducing the primary numerical information (I′ inf1 ) as a function of the binary conventional relationship between a selected pixel of the gap image (GAP(x,y)) and the primary numerical image (I inf1 ) considered during the inserting process. 
     In the particular case of the previous relationship, this step will result in the fact that the hidden primary numerical information (I inf1 ) is equal to a first digital value (1), if secondary number image (I′ inf2 ) is positive; conversely, the hidden primary numerical information (I inf1 ) will be equal to a second digital value (0) for the considered pixel, so that the hidden binary data can be retrieved from the modified document (I′ orig ). 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will be easier to understand after reading the following description associated to the drawings, wherein: 
     FIG. 1 is a schematic representation of the process of inserting data inside a document. 
     FIG. 2 is a schematic representation of the process of recovering data within the signed image. 
     FIG. 3 is a schematic representation of steps of local transformations allowing the matching/mapping between a DOMAIN part of the picture into a RANGE part of the picture. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention consists in constructing, from an initial document I orig , a numerical reference document I ref  via an approximation based on a lossy compression of the image. In the preferred embodiment, a fractal encoding is used, which is based on the concept of self-similarities (originating from the fractal theory) for introducing binary information inside an image, and to avoid the drawbacks of the methods of the background art. 
     Although the notion of self-similarities is mainly used in the field of image processing for encoding (for example fractal coding), in this case self-similarities can be used for effectively computing an image of reference (I ref ) for the purpose of inserting a binary numerical information (for instance visual) within a numerical document. For instance, this can be used in gray levels for computing a reference image (I′ ref ) for the purpose of extraction the information previously inserted within the numerical document. If the reference to an “image” is used for clarity, in order to designate a multimedia document. It is clear that the term can also be used for designating any kind of document such as logos, videos, musicals etc. 
     More precisely, it will be described how to achieve the insertion process, on one hand, and the extraction process of this “additional information”, of the other hand. 
     It will be also described how this information will be preserved even when the image is being subject of a “non destructive” transformation. 
     The invention is not limited to the processing of images in gray levels. These pictures will be considered as particular examples of use of the invention. 
     An extension of this approach for hiding newly introduced non-binary information into supporting images will also be discussed. 
     The self-similarity describes an image, not in terms of “pixels” associated to a gray level but under the form: this area is “similar” to another one model with a given transformation. 
     In this description, the term “context” refers to the choice of some primitives that are extracted from splitting the image. Context further includes the manner to arrange the primitives, the matching criterion (that is to say, the distance between the reference image I ref  and the initial one I orig ), as well as the pool of authorized transformations between primitives. 
     The initial image (I orig ) to be processed is cropped into a set of primitives, called ranges, which must cover the whole image (possibly with overlapping). Moreover, one basic dictionary or code book (Dbase) is built which consists of domain primitives. The elements of this dictionary are also extracted (by default) from the image itself, but they do not need to cover the whole image to process. There is no particular constraint regarding the distribution of the “domain” primitives. The dictionary which is thus built, is then enriched by using geometrical and photometric transformations to form a final dictionary or code book of authorized transformations Dfinal. It should be noted that elements can be added to the Dfinal dictionary that are not available to external users. 
     Typically affine type transformations will be used to create new primitives, but other more complex transformations can also be utilized. 
     Transformations can include geometrical operations, such as isometry (i.e. symmetries, rotations, reflections), or photometric transformations, for example on luminance values. The context will make it possible to determine whether the IFS code has contractivity qualities. 
     In the perspective of a software implementation of the process, the context that is defined is declared with the software responsible for executing calculations relating to the generation and extraction of the mark. 
     Each range primitive must be matched to a dictionary domain primitive according to a distance criterion. For example, the minimal mean square error (MMSE) which is well-known to the skilled man. Conversely, it could be advantageous, in some situations, to move the reference image I ref  away from the original image I orig . Usually the Euclidean distance will be used, but other distances could be used. 
     While indexing the range primitives, the associated transformation will be noted w i  (i.e. the transformation that defines an element of the basic dictionary, plus a transformation). Local transformations (w i ) union will be noted W, the image made up of all range primitives and roughly represented from an element of the dictionary of authorized transformations (Dfinal) will be noted transformation (WI), and the attractor associated with W will be noted A, when applicable. If the code selected appears to be contractive, it is possible, thanks to the “collage theorem”, to consider attractor A (the image resulting from n reiterations of transformation W) from any initial image I 0  or I init : A=W n (I init ), instead of transformation WI, which is the union of range blocks that are approximated from the original image (I orig ): WI is the transform of the original image (I orig ) by W transformation applied once: W i =W (I orig ). A transformation W defines its attractor A, since the transformation W applied n times to any image results in image A when the selected IFS code is contractive. When the selected IFS code is not attractive, then reference image (I ref ) must be derived directly from original image (I orig ) with formula: I ref =W (I orig ). 
     To illustrate an implementation of this invention, a traditionally considered in the image compression technique is used. The primitives are formed of square blocks, thus operating an 8×8 pixels matrix zoning of ranges, and 16×16 pixels matrix zoning for domains. Authorized transformations of the fields are: under-sampling by 2, 0 degree rotation (identity transformation), 90° rotation, 180° rotation and 270° rotation; symmetries regarding geometrical transformations; and a shift and scaling operation of luminance values. 
     In other terms, each local transformation w i  can be written as:            W   i          (         x           y           z         )       =       (         ai       bi       0       x           ci       di       0       y           0       0       si       z         )     +     (         ui           yi           oi         )                              
     where: 
     a i , b i , c i , d i  represent the geometrical transformation (over/under-sampling, plus rotation/reflection, . . . ); 
     (x,y) represent the coordinates of one point of the image and z represents the associated gray shade; 
     (u i , v I ) represent the displacement which is necessary to match the domain primitive position with the corresponding range primitive; 
     s i  and o i  respectively represent scaling and shift of the values of luminance. 
     In order to ensure the invisibility of the information added to the original image, and to prevent the loss of the quality of the hosting image itself (designated under the reference I orig ), the invention deviates from the traditional formulation of the problem: i.e. how to add extra information with no visual impact, and considers the problem under a new aspect: i.e. how defining a decomposition which permits the description of an original picture I orig  into two components: a first one (I ref ) computed et mainly linked to the original image I orig , denoted; and a second one, denoted I inf2 , mainly linked to the information to hide, denoted I inf1 . 
     We will denote the first image I ref =WI orig  (or A in the case of a contractive W, which will be the assumption considered below) and the second component I inf2 . The aim is to make the sum of images A+I inf2  (that is to say the modified image I′ orig ) is as close as possible, according to a visual or audible point of view, of the initial image I orig . 
     More precisely, by the proximity of I′ orig  from I orig , we express the fact that the image I′ orig  modified by inserting a numerical information will be included, pixel by pixel, inside an interval limited on the one hand by the initial image I orig  which is given, and the other hand by the reference image I ref , which is computed, the mode of computation is given from the previously defined context. 
     If it is assumed that the encoding deals with the luminance values of the image (gray scale levels), this one will be, for each pixel, included between (or equal to, or related to) its value in I orig  and its value in I ref . 
     DESCRIPTION OF THE INSERTION OF INFORMATION WITHIN AN IMAGE 
     With respect to FIG. 1, it is shown that the image or the modified document I′ orig  is obtained, if an IFS based compression is involved, from the addition of the numerical reference document I ref  with the secondary numerical information I inf2 , the latter being derived from a relationship established between the primary digital I inf1  to hide, and the difference pixel by pixel (denoted GAP), between the initial document I orig , and the digital document of reference (I ref ). 
     The use of a fractal transformation coding based on a contractive context will now be described as how the reference document (I ref ). The reference document or image (I ref ) can be computed from the initial document (I orig ). 
     Further, the digital secondary information (I inf2 ) is calculated from the primary digital information (I inf1 ) which is to be introduced within the original document. 
     The aim of these calculations is to keep the modified original document (I′ orig ) defined as the sum of the attractor (A) and the secondary numerical information (I inf2 ) (I′ orig =A+I inf2 ) sufficiently close to the initial document (I orig ) to avoid too much loss of quality. The modified initial document (I′ orig ) has to appear as close as possible to the initial document I orig  but also has to offer enough space for embedding the information that is to be hidden. This tradeoff can be controlled by adjusting the location of reference document (I ref ) relatively to the initial document (I orig ). 
     Determination of I ref  (A) From I orig   
     See FIGS. 1 and 3. In order to compute the digital document of reference (I ref ) from the original document (I orig ), the fractal approach is used which consists of splitting the original document into a set of primitives range(i), which cover the totality of the original document. Then, a set of primitives domain(j) is extracted in order to constitute a dictionary of basic primitives domain(j) (Dbase). From the dictionary of basic primitives domain (Dbase), there is determined a dictionary Dfinal of additional domain primitives by applying a set of geometric and/or photometric local transformations w i  to basic primitives. In some embodiments of the invention, it is even possible to introduce secret elements into the Dfinal dictionary in order to enhance the security brought to the insertion process. Thereafter, each basic primitive range(i) could be paired with a Domain(j) primitive included in the primitive dictionary Dfinal, in such a way that each primitive range(i) is equal to a primitive domain(j) transform obtained by a local transformation w i , to within about one error (ε i ) allowing to hide a digital information (I inf1 ). The image which is composed of the set of primitives range replaced by an element of the dictionary (Dfinal) is the reference image I ref . A description of the image is thus obtained, consisting of an IFS code which is very dependent on the determined context cutting into the primitives that have been selected as well as of the chosen set of affine transformations. As mentioned above, when the context is chosen to correspond to a contractive IFS code, the image I ref  to be determined is the attractor A which is the limit resulting from n reiterations of transformation W n  (I 0 ), (or I init ), where I 0  or I init  represent any image, for instance black. When the selected IFS code is not attractive, then reference image (I ref ) must be derived directly from original image I orig  with formula: I ref =W (I orig ). 
     The Choice of the Context 
     The general context is chosen according to the following criteria: 
     the robustness which is desired: the geometrical transformations which are allowed between the blocs domain and range will allow preservation of the information being introduced if those transformations (malevolent or not) are applied on the modified image. The main constraint is to use the same context for the insertion step and for the extraction step. 
     the distance between, and the respective position of, I orig  and A: the more A will move away from I orig , more important will be the space for hiding information at the risk, however, of an increasing visibility of that information. 
     the stability of the code (when no spurious manipulation): that is to say to ensure that A′ will be close to A, given the fact that the two image I orig  and I′ orig are similar. 
     Determination of the Digital Secondary Information I inf2  From the Digital Primary Information I inf1  to Hide 
     Given the initial binary information (I inf0 ) to be introduced into the original image (I orig ); the content of the initial binary information (I inf0 ) will mainly depend on the desired use by this insertion/extraction process. If the initial binary information (I inf0 ) and original image (I orig ) have not the same size, then the original information I inf0  has to be formatted into a primary image (I inf1 ) having the same size as the original image (I orig ). We will then consider that the real information to be introduced within the original image (I orig ) is a primary image (I inf1 ) which will be considered to be the primary information to hide. The transition from initial binary information (I inf0 ), of any size, to primary numerical information (I inf1 ), correctly formatted, is represented by a step (0) in FIG.  1 . 
     A digital secondary information value (I inf2 ) is derived from a “modulation” of the primary image (I inf1 ) in accordance with a differential gap value (GAP) calculated as the difference between the original image or the initial document (I orig ) and the reference document (I ref ). The determination of the digital secondary information value (I inf2 ) complies with the following rule: 
     At step (1), the differential gap is computed as the difference between the original image (I orig ) and reference document (I ref ). This difference is calculated by the formula: 
     
       
         GAP= I   orig   −I   ref , 
       
     
     If the transform is a contractive IFS code, then: 
     
       
         GAP= I   orig   −A   
       
     
     A law of correspondence is chosen between the differential gap (GAP) and the digital primary information to hide the primary image (I inf1 ). As an example, the following law may be considered: 
     
       
         if (GAP( x,y )&lt;0 and  I   inf1 ( X,Y )=0) Or (GAP( x,y )&gt;0 and  I   inf1 ( x,y )=1) 
       
     
     then I inf2 (x,y)=GAP(x,y) 
     if not I inf2 (x,y)=0 
     which is concisely written: 
     I inf2 (X, y)=Inf (GAP(x, y); 0) or Sup (GAP(x, y), 0) according to whether a primary image (I inf1 ) is respectively equal to 0 or to 1. 
     Where: 
     operators Inf and Sup respectively represent the mathematical operators returning the smaller and the larger of the values being considered. 
     This criterion for correspondence between the differential gap (GAP) and the primary image (I inf1 ) permits establishment of a binary link between the differential gap (GAP), which is coded by its sign (positive or negative), and the primary numerical image information (I inf1 ) to be hidden at the particular pixel being considered, which is either 1 or 0. Indeed, it is clear that when I inf1 =0, only the values of the differential gap (GAP) which are negative will be added to the reference document (I ref ), and will carry information. Conversely, when reference document (I inf1 )=1, only positive values of the differential gap (GAP) are added to the reference document (I ref ) and are consequently carrying information. In all the other cases, the value of digital secondary information value (I inf2 ) will be set to 0, which will result in the return of the approximated value of the reference document (I ref ) in the building process of. It is noteworthy that the pixels which contain the primary digital information (I inf1 ) will tend to qualitatively move modified image (I′ orig ) away from reference document (I ref ) and, on the contrary, to bring it closer to original image (I orig ). Various alternatives can be introduced on the way of modulating the digital secondary information value (I inf2 ) between 0 and the value of the differential gap (GAP), by choosing other terminal values, for example 1 and 1,2 times the value of the differential gap (GAP), instead of 0 and one time the value of the differential gap (GAP). 
     Given this criterion of correspondence, on an average, only one pixel out of two (at least) from the primary image information (I inf1 ) will be really taken into account. It is possible to ensure that this occurs by inverting, when appropriate, the primary binary image information (I inf1 ) that is to be hidden. 
     It is useful to moderate this by regarding 1 pixel out of 2. As a matter of fact, an intermediate image (I mig ) can be considered in which each pixel would be the average value of original image (I orig ) and reference document (I ref ). The correspondence criterion is then modified in order to construct the digital secondary information value (I inf2 ) as follows: 
     
       
           I   inf2 ( X,Y )=+GAP/2 if (GAP( x,y )&lt;0 and  I   inf1 ( x,y )=0) or (GAP( x,y )&gt;0 and  I   inf1 ( x,y )=1) 
       
     
     or, −GAP/2 otherwise. 
     This can also be written as follows: 
     
       
           I   inf2   =−ABS (GAP/2) or + ABS (GAP/2) 
       
     
     according to the value of I inf1  (respectively equal to 0 or to 1), where ABS is the mathematical operator that returns the absolute value. 
     Hence, each pixel of original image (I′ orig ) will host information from primary image (I inf1 ). Nevertheless, per contra, the insertion effect will be divided by a factor of 2 relatively to the previous law of correspondence. Finally, it is apparent that, as a consequence of this, the law of correspondence used during the extraction step must be modified. 
     It should be noted that the reconstruction criterion of I inf2  can be easily modified in such a way to make the image I′ orig  be as close as possible to I orig . Here, there is a tradeoff between the visibility of the insertion process and the number of pixel of binary information to be hidden. This tradeoff is to be defined as a function of the use of the data hiding process which is desired. For instance, it will be possible to decide to set at the GAP value all pixels that are associated with a difference (GAP) being higher to a given threshold (in absolute value), or to define according to a local good balance criterion that some pixels of the modified image (I′ orig ) be set to the value of original image (I orig ) (even if the law of correspondence is not satisfied), in order to avoid that some areas concentrate an average amount of pixel close to reference document (I ref ), which is too high; but in this case, these same pixels can no longer host embedded data. 
     The visual impact of the inserting process will be function of the difference of the original image (I orig ) and the modified image (I′ orig ) (I orig −I′ orig ). The level of visibility will be proportional to the difference between the original image and the modified image obtained by the insertion process. 
     The extraction process of hidden information (I′ inf2 ) from a modified image (I′ orig ) will now be described, with respect to FIG.  2 . Similarly to the insertion process, the extraction involves: 
     Calculation of the self-similarity code (W′) associated with modified image (I′ orig ) by using the same context as that used for the insertion process. This results in a IFS code which allows, as indicated in step (1′), the building of a reference document, noted I′ ref  in the general case, or A′ in the particular case of a fractal calculation of the reference document (I ref ) with a contractive IFS code; 
     retrieval of the secondary information value (I′ inf2 ), that is to say the differential gap (GAP′) from modified image (I′ orig ) and the attractor (A′), with the following formula: 
     
       
         
           I′ 
           inf2 
           =I′ 
           orig 
           −A′ 
         
       
     
     It should be noted that the relationship between attractor (A′) and modified image (I′ orig ), is similar to that between attractor (A) and original image (I orig ). Thus, the reference image from the attractor (A)′ is being reconstructed from the modified image (I′ orig ). First, the code being associated to the original image (I orig ) and the attractor (A) are identical (the first one by construction and the second by definition of an attractor) and, second, that each point-image of the modified image (I′ orig ) is included in the interval defined by its value in original image (I orig ) and the attractor (A). 
     Determination of the Primary Numerical Information I′ inf1  From the Secondary Information I′ inf2    
     The primary image (I′ inf1 ) can be determined from the secondary digital information (I′ inf2 ) by means of a test corresponding to the insertion operation. 
     The primary image (I′ inf1 ) is determined as follows: 
     
       
         if  I′   inf2 ( x,y )&gt;THRESHOLD, then  I′   inf1 ( x,y )=1 
       
     
     
       
         if  I′   inf2 ( x,y )&lt;−THRESHOLD then  I′   inf1 ( x,y )=0 
       
     
     
       
         if  I′   inf2 ( x,y )&lt;THRESHOLD or  I′   inf2 ( x,y )&gt;−THRESHOLD then pixel ( x,y ) does not contain any hidden information). 
       
     
     where: 
     THRESHOLD is a predetermined threshold value. 
     By default, the predetermined threshold is fixed at 0, but as indicated for the information extraction stage described above, other larger thresholds could be used in order to limit the probability of mistakes to each point or pixel (x,y), but in this case the amount of binary data retrieved from whole hidden information is similarly decreased. The threshold is regulated to the position of the exact modulation retained during the insertion part. This threshold can be easily regulated by one skilled in the art. 
     The process of insertion and extraction has been particularly described with the fractal transformation method of analysis. With or without using a contractive code, This method provides very fair results. It is nevertheless useful to observe that, in the particular field of digital imaging, the process of this invention can be used with some other techniques of approximation. For example a lossy source coding such as JPEG or GIF, as well as a basic technique of resolution reduction. 
     A direct application of the present invention is described for an insertion process in the case of a JPEG compression. In this case, the initial document and the digital document of reference are respectively an initial image (I orig ) and an image of reference (I ref ). 
     Like the process as described above employing fractal transformation analysis, the process of insertion consists of a first computation of the reference image (I ref ) from an initial image (I orig ), which is a visual image. The principle of JPEG encoding is well known to one skilled in the art, and will not be elaborated further on. The essential characteristic of this invention is the approximated image that results in the reference image (I ref ) is an image which has undergone some loss of information compared to the original image (I orig ). This kind of loss of information allows inserting of data of secondary information (I inf2 ) into the original image (I orig ). As soon as the reference document (I ref ) is determined, one can compute by subtracting a differential gap (GAP) for each pixel (x,y), as in the case of fractal analysis. This differential gap (GAP) for each pixel (x,y) is then “modulated” with the primary numerical/digital information (I inf1 ) for each pixel (x,y) to be inserted in the original image (I orig ) to constitute modified image (I′ orig ). 
     For doing that, we use a criterion or a correspondence law between the differential gap (GAP) for each pixel (x,y) and the primary image (I inf1 ) for each pixel (x,y) allowing the value of secondary information value (I inf2 ) for the pixel (x,y) to be derived. 
     In a preferred embodiment, it can be shown that the secondary information value (I inf2 ) for the pixel (x,y) can be determined by the formula: 
     
       
           I   inf2 ( x,y )= inf (GAP,THRESHOLD) or  sup (GAP,THRESHOLD), 
       
     
     according to the value of primary information (I inf1 ) for each pixel (x,y) is equal to 0 or 1. 
     It appears that the value of the parameter THRESHOLD can be used for the purpose of adjustment, and for control of the distribution of the pixels carrying information. In a preferred mode, the value of the THRESHOLD parameter is set to the numerical value 0, so that a simple correspondence between primary information ( inf1 ) of the pixel (x,y) and the sign of the differential gap value (GAP) of the pixel (x,y) is established, allowing a uniform distribution of the host pixels among the values “0” and “1” and the pixels (x,y) of the primary image (I inf1 ). 
     In another embodiment, the secondary information value (I inf2 ) for the pixel (x,y) can be determined by the formula: 
     
       
           I   inf2 ( x,y )=− ABS (GAP/2) or + ABS (GAP/2) 
       
     
     according to the fact that I inf1  is respectively equal to 0 or 1, 
     where ABS is the mathematical operator that returns the absolute value. 
     The insertion process is achieved by the pixel by pixel addition, of the value of the digital secondary information I inf2  for a selected (x,y) to the reference image I ref  derived from the JPEG compression. Therefore, the modified document image (I′ orig ) can be obtained, i.e. image which is very close to the original image (I orig ). The invention specifically presents the particularity that the pixels that carry information—because of their relevance during the extraction process—are the pixels which allow movement closer to the image (I orig ), and movement away from the image (I ref ), contrary to the traditional approach where the insertion of data introduces distortion to the quality of the image. In effect, the classical approach results in significantly degrading the modified image (I′ orig ) from the initial image (I orig ) with the addition of the primary numerical information (I inf1 ). Firstly, the choice of lossy compression, already provides a degraded reference image (I ref ) and, secondly, the supplementary addition of digital information according to a classical approach would result in moving the constructed image (I′ orig ) further away from the original image (I orig ). 
     On the contrary, with the present invention, it is an advantage to choose a context resulting in a definite distance between reference image (I ref ) and the original image (I orig ). In fact, this distance is not detrimental to the reference image (I ref ). Since, in a second step, the reference image (I ref ) is added, pixel by pixel, to the secondary information value (I inf2 (x,y)). For approximately one half of the image pixels this operation is equal to a differential gap information (GAP) which allows placement of the reference image (I ref ) nearer to the original image (I orig ). Hence, on the contrary of classical approaches which has a tendency to significantly decrease the quality of the initial image (I orig ), the invention successively withdraws, then brings together the modified original image (I′ orig ) in order to finally obtain an image modified original image (I′ orig ) that is close enough to the original image (I orig ), with the capacity for hiding a large amount of data. 
     In order to permit the blind extraction of the numerical information I′ inf1  from inside the modified original image (I′ orig ) that may have undergone several transformations, the process, applied to JPEG compression, includes the following steps: 
     First, a reference image (I′ ref ) is derived from the image modified original image (I′ orig ) in accordance with the same lossy compression process, such as JPEG, which was used during the insertion part. 
     From the reference image (I′ ref ), the secondary information value (I inf2 ) is determined as the differential gap (Gap). The differential gap (GAP being the difference of the modified original image (I′ orig ) and the derived reference image (I′ ref ) as determined by the formula: 
     
       
           I′   inf2 =GAP′( x,y )= I′   orig ( x,y )− I′   ref ( x,y ) 
       
     
     Thus determined secondary information value (I′ inf2 ) is equal to the differential gap (GAP′(x,y)) is generally equal, or very close to secondary information value (I inf2 ) that was inserted during the insertion process. 
     The value of the differential gap (GAP′) for each pixel (x,y) using the correspondence law between differential gap (GAP) and the primary information (I inf1 ) that had been previously used during the insertion process. This analysis leads to the value of the derived primary (I′ inf1 ) for each pixel (x,y). 
     More precisely, if the law of correspondence used during the insertion stage was: 
     
       
         If  I   inf1 ( x,y )=0, then  I   inf2 ( x,y )= Inf (GAP( x,y );0) and 
       
     
     
       
         If  I   inf1 ( x,y )=1, then  I   inf2 ( x,y )= Sup (GAP( x,y );0) 
       
     
     Then, it will be sufficient in the extraction process to search the sign of the value derived differential gap (GAP′) for each pixel (x,y) in order to directly obtain the value of derived primary information (I′ inf1 ). If the law of correspondence is based on a threshold that is different from zero, then it is sufficient to compare the value of derived differential gap (GAP′) for each pixel (x,y) to this threshold in order to directly determine the adequate value of derived primary information (I′ inf1 ) for each pixel (x,y). 
     In general, the stability and accuracy of the extraction process will allow to immediate identification of the primary digital information (I′ inf1 ) obtained at the extraction process, with the primary digital information (I inf1 ) which has been introduced during the insertion step, even if the image has undergone some modifications. The process as described allows attempts the full blind extraction of digital information. The process of this invention is also usable in case a non blind extraction. Obviously, one skilled in the art will be able to apply the principles of this invention to other kinds of coding in addition to the fractal coding and the JPEG compression as presented. One can set up the insertion and blind extraction of an image using the method of this method based on a technique of image resolution reduction. 
     While the invention has been described with images of the primary information (I inf ) 1 , secondary information (I inf2 ) and the differential gap (GAP) involving only two components (x,y), it is clear that the use of two components is not a limitation at all, and that one skilled in the art will easily apply the invention to a variety of multi-parameter applications. 
     Advantages of the Present Invention 
     The present invention resolves the considered problem, and provides several advantages relative to known/existing processes as described hereinafter. 
     Accuracy of Recovery Even After Benevolent or Malevolent Image Manipulations 
     Considering now that the image from which we would like to retrieve the embedded information is no longer the modified original image (I′ orig ) but a second modification of the original image (I″ orig ), after manipulations of the modified original image (I′ orig ) have been executed. 
     Thanks to the use of “self-similarities” inside pictures and the fractal transformation analysis for computing of reference image (I ref ) and the derived reference image (I′ ref ), the recovered information is “reliable”/still valid even if some previously authorized geometric and/or photometric additions have occurred during the search of similarities between “range” and “domain” primitives (i.e. included in the “context”). In other words, it will be possible to hide or embed information inside a picture, then to perform some authorized modification that is included in the codebook or dictionary (Dfinal) the modified original image (I′ orig ), and still be able to retrieve the hidden primary information (I inf1 ) from the transformed image (I″ orig ). It is important to consider that in order to increase the accuracy of the process, it is only necessary more importantly to define a number of authorized information transformations in the context. Some examples of classical image transformations are indicated below. 
     Photometric Transformations 
     If the image I′ orig  is modified toward an image I″ orig , in such a way that for each “domain” primitive one has the second modification of the original image (I″ orig ) defined as the formula: 
     
       
           I″   orig   =αI′   orig +β 
       
     
     then I″ inf2 =I′ inf2    
     where: 
     I″ inf2  is the retrieved secondary information from the second modification of the original image (I″ orig ). 
     This means that the insertion process of the primary information (I inf1 ) is recoverable from to affine geometric transformations that occur in photometric transformation. 
     Geometric Transformations 
     If one uses the context previously described, in case of rotation of 0°, 90°, 180°, 270° degrees, retrieved secondary information (I″ inf2 ) will follow the same modification R as the modified original image (I′ orig ) itself (i.e.: I″ inf2 =R(I′ inf2 )). 
     In case of change of scale H modified original image (I′ orig ) to create a second modification of the original image (I″ orig ), the retrieved secondary information is now determined by the formula: 
     
       
           I″   inf2   =H ( I′   inf2 ). 
       
     
     In case of shift (i.e.: translation) of image areas, where image areas are possibly removed. The removal of the image areas implies the removing of the corresponding parts inside I′ inf2 , but the rest of the hiding data will be globally saved. 
     More generally, it is sufficient that: 
     
       
         sign{ Tf ( I′   inf2 ( x,y ))=sign( I′   inf2 ( x,y ))) 
       
     
     in order to ensure that I″ inf1 =I′ inf1    
     where, sign(X)=0 if X=0; +1 if X&gt;0 and −1 if X&lt;0; and 
     the modification Tf is chosen such that: 
     
       
           I″   orig   =Tf{I′   orig } 
       
     
     The sign that was added during its transformation rather than the exact value of the differential gap (GAP) provides most of the accuracy, since the transformed buried primary image (I inf1 ) has most of the information needed for the extraction. 
     Extensions of the Invention 
     The invention described above in general terms can be easily extended and applied to some specific situations, as shown in the following example. 
     The principle of this invention can be adapted to color images. According to the considered system of colors, it will eventually be necessary to apply a change of color space in order to go in a Luminance/Chrominance space of representation (or also under the form: luminance, hue, saturation). The inverse operation exists; in the case of RGB images (Red Green Blue), it will be necessary to operate a transformation into Luminance/Chrominance components, then to realize the insertion operation, and finally to operate the inverse operation in order to come back inside RGB components. 
     As soon as the luminance component is isolated, the insertion and extraction operations can be performed exactly as described previously in the case of images in gray levels. 
     One can note, that the additional information, will still be present after a conversion of a color modified original image (I′ orig ) to an a second modification of the original image (I″ orig ) in gray levels. 
     Moreover, the principle of the invention can be adapted to videos. Two possibilities exist: either to operate image by image by inserting the additional information as previously described in the case of still images. This approach must be spread out when using IFS code estimation by using a spatio-temporal primitive instead of a spatial primitive (typically, cubes instead of squared blocks). It can be noted that a video includes a higher capacity (more potential host sites) and therefore it can hide more information. It can also hide it in a more robust way by increasing the redundancy. Fore example, one can envisage the insertion of the binary law of correspondence image by image. 
     The principle of the invention can be adapted to insert some information other than binary. 
     It is also possible to envision inserting information more complex than binary information using the technique of bit planes. The information in gray levels could be decomposed by using the classical way as a weighted sum (by power of 2) of binary images. In the case of information I inf0 of size k×k, the binary information to hide it will then be of size 8k×8k. If the reserved space for the information to hide it is sufficient/enough, then this principle can also be extended to information in colors. 
     Finally, the present invention could be adapted to hide some audio signals inside a document, and vice versa. 
     Industrial Applications of the Invention 
     A wide range of applications can already be envisioned: the copyright (owner authentication), content authentication, content (integrity of a document), the tracking and correction of errors, and checkpoints inside a network. According to the targeted use, the proposed process can be used to modulate the definition of a correct context; to define the nature of information to hide (i.e.: the watermark design), as well as the insertion and extraction operator parameters. Some examples of applications are given. 
     Copyright. The aim is, for an owner or a company to protect a document such as an image. This could be done by inserting as information a binary logo of the company as information or even a picture of the owner&#39;s face. 
     Integrity. The aim here is to be able to identify whether or not an image has been significantly modified. For that, the information to be hidden will depend of the image features itself: histogram of gray levels (under the form of a binary image), edges map (in superposition of the image), or a specific motif. One nevertheless notes the following difficulty; the image features will be modified because hiding data inside a picture will modify its features. 
     Non repudiation. The aim is to have a trace of the owner automatically inserted when he/she sends an image to another person, i.e. a logo associated to him/her (fingerprinting, digital signature, . . . . ) and/or the workstation from which he/she sends the image (fax, PC, Mobile, . . . ). 
     Tracking. The use of the present invention could be extended to include a way that one could know, thanks to a trace, if that or that picture has been previously photocopied and printed. 
     Network Checkpoints. The present invention could be used to avoid transmission of forbidden pictures over networks (such as Internet) by taking advantage of basic transformations performed prior to the automatic checkpoints implemented prior to transmission over the network. and The inverse transformations being performed just after receipt of the pictures from the network. 
     Some other uses such as correcting errors could be envisioned. The basic idea would consist of inserting pictures or important information inside the areas of the pictures considered as unimportant. In case of a limited or important lost to relevant areas, a partial recovering of them would then be possible by extracting the information embedded inside the areas originally considered to be less important.