Method of watermarking digital data

A method of introducing a non-perceptional signal (watermark) to a digital media data is disclosed. The method is based on the representation of source digital data using a special matrix, insertion of a digital watermark into the special matrix to receive the watermarked matrix, and generation of the watermarked data using the source data and the watermarked matrix. In addition, watermark detection of the watermarked data is performed by calculating the special matrix from the watermarked data.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to copyright protection of source digital data, and more particularly, to a method of protecting source digital data by inserting a watermark into the source data in a manner that an unintended third party who intercepts an informational medium is not able to determine the presence and the informational content of the watermark.

2. Discussion of the Related Art

Digital multimedia data are widely distributed on the Internet or with the usage of many types of storage such as CD-ROM, hard and floppy disks, and etc. The copyright of the multimedia data has become one of many problems of such distribution processes. One of many ways of protecting any intellectual property right of a multimedia data set is to employ a digital watermark.

The currently existing watermarking techniques base on the representation of source digital or non-digital data in a digital form, which corresponds to a certain domain. The most popular watermarking techniques are spatial-domain and frequency-domain watermarking techniques. The present invention relates to representation of source data an eigen-vector domain, which has never been introduced before.

The main goals of the watermarking methods are non-perceptivity of watermarks and robustness against any attacks. The possible attacks are loose-compression, filtering, re-sampling attacks, and so on. Some of the mentioned goals may contradict with one another because the non-perceptivity means the weak alteration of the source data, and this weak alteration may be eliminated by certain attacks.

SUMMARY OF THE INVENTION

Accordingly, the present invention is directed to a method of watermarking digital data that substantially obviates one or more problems due to limitations and disadvantages of the related art.

An object of the present invention is to provide a method of watermarking digital data that is robust against any prevailing attacks.

Another object of the present invention is to provide a method of watermarking digital data that provides strong non-perceptivity of a watermark by spreading the watermark in a large volume of a source digital data set.

To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, a method of inserting a watermark into digital media data includes the steps of calculating a working matrix X, each element of which is a predetermined function of each subset of source digital data; calculating a matrix C by C=XXT; calculating eigen-values and an eigen-vector-matrix P of the matrix C; calculating a matrix of main components Y by Y=PTX; and choosing k strings of the matrix Y.

The method further includes the steps of calculating coefficients

aq,1≤q≤k⁢⁢by⁢⁢using⁢∑q=1k⁢⁢aq⁢yip⁢jq⁢wp,
wherein a watermark is represented by w1,w2,K,wk; calculating a marked string zjby

zj=∑q=1k⁢aq⁢yip⁢j,1≤j≤n
and replacing one of the chosen strings of Y with zj; calculating a matrix {tilde over (Y)} orthogonalized from the matrix Y; calculating a watermarked working matrix {tilde over (X)} by {tilde over (X)}=P{tilde over (Y)}; and marking the source digital data using the watermarked working matrix {tilde over (X)}.

In another aspect of the present invention, a method of detecting a watermark from digital media data includes the steps of calculating a working matrix X, each element of which is a predetermined function of each subset of source digital data; calculating a matrix C by C=XXT; calculating eigen-values and an eigen-vector-matrix P of the matrix C; calculating a matrix of main components Y by Y=PTX; and calculating a normalized submatrix using the matrix Y.

The method further includes the steps of calculating an average of modulo by using the normalized submatrix; determining a string number of a watermarked string of the matrix Y using the average of modulo; and extracting a watermark using the string number.

DETAILED DESCRIPTION OF THE INVENTION

A watermark is a set of numbers w1,w2,K,wk, where ws=±1. A set of numbers having opposite signs −w1,−w2,−K,−wkis treated as being same as w1,w2,K,wk. Each watermark is associated with its corresponding watermark positioning data. Some of the positioning data are subsets of the source digital data Sij, where 1≦i≦m and 1≦j≦n. These subsets characterize time and/or spatial localization of each watermark. Each subset of the source digital data, Sijis defined as a set of numerical variables {ts(ij)}, where 1≦s≦Nij.

Another set of the watermark positioning data is a set of functions ƒij, where 1≦i≦m and 1≦j≦1. Each function is defined in Sijand is used for the determination of a working matrix X={xij}, 1≦i≦m and 1≦j≦n by using the equation xij=ƒij(Sij)=ƒij(t1(ij),t2(ij),K,tNij(ij)). The set of functions ƒijis responsible for the watermarking mode. A set of numbers j1,j2,K,jk(1≦js≦n) defines the watermark position in the matrix of main components (see below). A rule of numerical data ({{tilde over (t)}s(ij)}) restoration corresponds to the watermarked source digital data. This rule must satisfy the conditions described below. This rule may be formulated algorithmically or by mathematical formulas.

The knowledge of localization and mode is the main factor that allows extracting information from the watermark. The rule of numerical data restoration influences on the perception properties of the watermark and its robustness to any attacks. This rule may be varied from one watermark to another in a way that the restriction conditions are satisfied.

The method of watermarking in accordance with the present invention includes the method of inserting a watermark and the method of detecting the watermark and extracting the copyright information. The method of the watermark insertion in accordance with the present invention shall be presented with reference toFIG. 1.

First of all, the input source data block1performs the necessary input operations (buffering and etc.). Next, the working matrix calculator2performs the calculation of the working matrix X={xij}, where xij=ƒij(Sij)=ƒij(t1(ij),t2(ij),K,tNij(ij)). The matrix multiplicator3calculates a matrix C by using C=XXT, where XTis a matrix transposed to X. Then the matrix factorizator4calculates the eigen-vectors and eigen-values of the matrix C.

The matrix C may be represented as C=PΛPT, where P represents the matrix of the eigen-vectors, PPT=E, E represents a unit matrix, and Λ represents a diagonal matrix that consists of its eigen-values so that Λ=diag(λ1,λ2,K,λm). The eigen-values are ordered so that λ1≦λ2≦K≦λm.

The matrix multiplicator5calculates the matrix of the main components Y=PTX, where Y={yij},1≦i≦m , and 1≦j≦n. The main property of the matrix Y is that YYT=Λ. This means that each string of the matrix Y is orthogonal to others. The strings of the matrix Y that correspond to large eigen-values (last strings) are essential. In contrast, the strings that correspond to small eigen-values (first strings) are not essential and may be drastically changed.

The string detector6selects k strings of the matrix Y. The selection of these strings is defied by two restrictions. First of them is that a determinant obtained as the intersection of these strings and columns j1,j2,K,jkof the matrix Y is not equal to zero. Second, these strings must be situated in the top part of the matrix Y. The numbers of these strings are i1,i2,K,ik.

Next, the linear system solver7finds the coefficients aq ,1≦q≦k from the system

∑q=1k⁢aq⁢yip⁢jq=wp,1≤p≤k.
Then the string marker8calculates the marked string

zj=∑q=1k⁢aq⁢yip⁢j,
1≦j≦n and replaces one of the strings j1,j2,K,jkof the matrix Y by using the marked string. Thereafter, the orthogonalizator9changes another strings among i1,i2,K,ikof the matrix7by using the standard orthogonalization procedure in a way that all of them are orthogonal to each other and to the string changed by z1,z2,K,zk. The result of this and previous items is the matrix {tilde over (Y)} with elements marked as {tilde over (y)}uv.

Next, the eigen-value modificator10converts λiPto {tilde over (λ)}iP. The choice of new eigen-values is defined by two factors: the level of distortion due to typical attacks and the level of possible distortion due to watermarking. It means that this choice depends on the informational content and may differ in different cases (e.g., for audio signals and images). In the simplest case, {tilde over (λ)}iP=λiP.

The renormalizator11renormalizes the strings i1,i2,K,ikof the matrix {tilde over (Y)} in a way that satisfies

∑j=1n⁢y~ip⁢j2=λ~ip.
Then, the working matrix marker12finds a watermarked working matrix {tilde over (X)}=P{tilde over (Y)}, where {tilde over (X)}={{tilde over (x)}ij },1≦i≦m, and 1≦j≦n.

The source data marker13finds the marked sets of numerical variables {{tilde over (t)}s(ij)},1≦s≦Nijusing the equations xij=ƒij(t1(ij),t2(ij),K,tNij(ij)) and {tilde over (x)}ij=ƒij({tilde over (t)}1(ij),{tilde over (t)}2(ij),K,{tilde over (t)}Nij(ij)). If we denote Δts(ij)={tilde over (t)}s(ij)−ts(ij), then the equation {tilde over (x)}ij=ƒij(t1(ij)+Δt1(ij),t2(ij)+Δt2(ij),K,tNij(ij)+ΔtNij(ij)) is an equation for Nijunknown variables Δts(ij). It means that Nij−1 additional relationships between unknown variables may be introduced. These relationships will be responsible for the perceptivity of a watermark and its robustness to any attacks. In most cases of small values of unknown variables, the linear expansion of the equation leads to

x~ij=xij+∑s=1Nij⁢∂fij(t1(ij),t2(ij),K,tNij(ij)∂ts⁢Δ⁢⁢ts(ij).
This equation is a linear equation for Nijunknown variables Δts(ij), where 1≦s≦Nij. Arbitrariness in the choice of these unknown variables may be used for the best masking of a watermark. Some of the unrestricted examples of this choice are: Nij−1 variables Δts(ij)may be zeroed, all of them may be equal to a variable Δt, and all of them may be proportional to {tilde over (t)}s(ij):Δts(ij)=ts(ij)Δt. Finally, the output marked source data block14finally performs the resulting output operations.

The method of the watermark detection and extraction of the copyright information in accordance with the present invention shall be presented with reference toFIG. 2.

First of all, the input source data block1performs the necessary input operations including buffering and etc. Next, the working matrix calculator2, matrix multiplicator3, matrix factorizator4, and matrix multiplicator5perform the same functions as shown and described earlier for the method of the watermark insertion.

where⁢⁢y_ijs=yijs/∑p=1k⁢yijp2.
Thereafter, the average of modulo calculator17calculates

y^i=1k⁢∑s=1k⁢y_ijs,
where 1≦i≦n. Next, the string detector18finds the minimal value of

Mi=∑s=1k⁢(y_ijs-y^i)2,
where 1≦i≦n. The watermarked string iwcorresponds to the string of the matrix Y with the minimal value of Mi. The watermark extractor19calculates a watermark ws=sign(yiwjs), where 1≦s≦k. Finally, the output marked source data block10performs the resulting output operations.