The Digital Fingerprinting Method for Static Images Based on Weighted Hamming Metric and on Weighted Container Model

The algorithm of fingerprint constructing for still images based on weighted image structure model is proposed. The error correcting codes that are perfect in weighted Hamming metric are used as a base for fingerprint constructing.


Introduction
The author rights protection is one of the most important problems for the multimedia data distribution.Two kinds of methods are used to solve this problem such as digital watermarking (DWM) and digital fingerprinting (DFP) [1] [2].In the DWM methods the additional information about author (watermark) is embedded into initial data (for example image) to protect it.This information should be resistant against wide class of attack (filtering, compression, etc.) on the watermarked image as long as the level of visual quality is higher than predefined level.The second type of protection means that the additional information (fingerprint) should be formed based on the initial information (image) based on its specific salient features.For example in [3] the edges and corners obtained from an image were used as salient features.The fingerprint is used then to find copies of original image including illegal ones.Fingerprinting method should provide stable fingerprint forming process for different kind of image processing (filtering, compression, etc.).
Main differences between these copy right protection methods are: Some part of the initial object is changed while watermark embedding process (for example LSB method).Fingerprinting does not imply any changes of initial information.
Digital watermark is constructed by the user (author).It can be represented in different forms (ID information, picture, text, etc.) to prove author rights.Digital fingerprint does not contain any author information.It forms based on initial information.
The combination of these two types of author rights protection methods is proposed in this paper.The idea is to add small distortions to the initial image to get stable fingerprint.
In this paper the term salient feature refers to a special vector b in weighted Hamming metric obtained from the image and to "nearest" (L, G) code perfect in the weighted Hamming metric [4].The "nearest" means a code that have codeword a on the minimal distance in weighted Hamming metric from the vector b.

Proposed Method Description
The author rights protection systems are developed in a way they give stable information about the person that has author rights on it.This information should be stable for wide class of distortions that could happen.At the same time author rights protection method should not change the initial information more than it defined for exact marking object.For example it should keep visual quality of the image.
Fingerprinting methods do not change initial objects.They only use salient features of these objects to construct fingerprint.The problem is that not always such features could be found or they could be not resistant to attacks.At the same time it is not necessary to avoid any distortions of initial information (for example for digital images).In this case it is possible to use watermarking approach that changes some part of initial information to embed additional author information.But it is not always possible to embed watermark with acceptable distortion level due to inconsistency of watermark and protected object structure.
The method of digital fingerprint construction based on the property of codeword presence in image (F5 concept [5]) is proposed.If the codeword can't be found then codeword should be added by the watermarking approach.
For example for the still images the essence of the method can be explained as following.The initial image or its part is transformed into bit stream.This bit stream is divided into blocks a with length n.These blocks a are looked at as a code words of code G with error vector e.If a is a codeword of G then 0 e = and syndrome 0 s = .It means that this block has required for fingerprinting property.If 0 s ≠ then this block does not have required property.It is necessary to decode this codeword i.e. to correct its errors to get this property.As a result the distortions will be added to the initial information.The problem of getting 0 s = for any block of bit stream could be solved by perfect codes usage [4].
It is possible to use several codes with equal parameters that are defined for weighted Hamming metric.For this approach the code sequence i G that is formed as a result of the blocks i a decoding and for which the blocks are the "closest" to their code words can be looked at as a fingerprint.
The structure of the blocks a should be weighted because the error corrected codes that are concerted with the weighted Hamming metric are used to construct fingerprint.These weighted blocks could be looked at as a weighted container that is formed for weighted watermarking [6] [7].
It is necessary to dived initial image into several zones to construct weighted blocks a.The division is performed based on the influence of the errors that happened during the decoding process on the resulting distortions (visual quality of resulting image).Blocks a are formed as a combination of the parts of these different significance zones.
The basic scheme of the proposed fingerprinting method is shown in the Figure 1.

Error Correcting Codes Consistent with Weighted Hamming Metric
Error correcting codes in weighted Hamming metric are defined as following [4]: Length n of a code word is 1 2 1 , , , , Any position of the code word ( ) Let us consider these weights as growing sequence i.e.
. The weight of the code word a in weighted Hamming metric is defined as following: 0 ( ) It is obvious that Hamming distance between two vectors in weighted Hamming metric can be defined as ( ) ( ) where .
Therefore we can define a perfect code, i.e. the code with parameters lies on this bound.For linear binary code we obtain the following equation: . Codes that are perfect in a weighted Hamming metric can be constructed by using well-known methods for optimal codes construction (for example Gilbert-Varshamov bound).But such construction method has high calculation complexity and doesn't give any design decoding method for such codes.By using special classes of Goppa codes in weighted Hamming metric it is possible to solve both these problems.

Special Class of Goppa Codes in Weighted Hamming Metric
To construct Goppa codes consistent with a weighted Hamming metric the construction of generalization (L,G) codes with position numerators of different degrees [4]

Fingerprint Calculation Algorithm Based on Family of Goppa Codes ΓWHM(n,k,d) Perfect in Weighted Hamming Metric
We describe here the simplest version of the fingerprint calculations algorithm for static image that contains different significance zones that is based on the family of Goppa codes perfect in the weighted Hamming metric.
Without loss of generality we consider here a static image that contains three zones.• Third zone does not assume any distortions, i.e. 3 ω = ∞ .
• Second zone has relative weight 2 ω of distortions equal to 2.
• First zone allows to make the maximum number of distortions without major consequences for the quality of the resulting image and therefore has minimal relative weight 1 1 ω = .
For such image let us chose a family of Goppa codes perfect in weighted Hamming metric ( , , ) WHM n k d Γ with a following parameters: Obviously as we consider perfect codes any vector ( ) that is obtained from image that was preliminarily splitted into different significance zones can be represented in the weighted Hamming metric as following: corresponding to the vectors obtained from the image splitting into zones as follows: Vector assign the smallest number λ of such ( , )   i i L G Γ code for which error vector L G Γ codes can be described as: 1) The image is divided into zones of different significance.
2) In accordance with found image zones the blocks are formed and the appropriate parameters of the codes family are selected.
The distortion of the source image will be minimal according to the previously described algorithm of obtaining the numbers i λ .

The Fingerprint Checking and Its Resistance to Random and Deliberate Distortions
In accordance with the described algorithm of fingerprint 1 2 , , , R λ λ λ  creation in the processed image P there are R blocks ( ) ( )

ˆˆˆˆ( )
e e e e e   and the weight i wt corresponding to this vector.Obviously that in case of small corrup- tions ) ) Decision of the definite fingerprint availability in an existing picture P* is made by the value of the penalty function F and threshold values B1 and B2 that are define the events of the "false alarm" and "skip goal" respectively.

Conclusion
A new method of fingerprint construction that uses the features of the original image structure (weighted container) associated with the different degree of its sensitivity to the corruptions in different zones of the container is proposed.In order to use this property of the container it is proposed to use the weighted Hamming metric unlike used in previously known schemes usual Hamming metric.For effective use of this metric it is proposed a family of generalized Goppa codes perfect in weighted Hamming metric.Thanks to the usage of such family of codes it is possible to make the minimum number of distortions when fingerprint is constructed.Additionally the use of error-correcting codes construction allows to correct random corruptions that can occurred during container (image) storing or transmitting.Still open question in optimal choice of the coefficients in the penalty

Figure 1 .
Figure 1.The basic scheme of the fingerprinting method for three zone container.
As mentioned in the previous section the number of different codes in this family is determined by the number of irreducible polynomials of second degree with coefficients from ( The algorithm of fingerprint calculation based on a family of ( , ) i i


Each block should be the codeword of corresponding Goppa code from the family ( , , )WHM n k d Γ .The presence of the fingerprint 1 2 , , , R λ λ λ is verified by the decoding the blocks a by the corresponding code.The fingerprint is decided to be found if all syndromes for all blocks 0 s = .The presence of minor distortion in the processed image P may cause errors in these blocks.So in distorted image P* there are blocks

.
In the simplest case it is possible to consider that the weight coefficients function have the same value and are equal to 1. However the more flexible way where 1 2 f f ≠ is possible too.By taking into account the nature of the corruptions and their impact on the perception of the resulting image i.e. its visual quality we can chose different values of the weight coefficients.
is used.Therefore we use locator set m F x .Goppa polynomial for such code is irreducible polynomial