# Patent

## Title
Enhanced method for digital data hiding

## Abstract

A method is provided for enhanced spread spectrum watermarking. The improved watermarking method includes: receiving host data which is expressed in a transform domain by a plurality of host transform parameters; reducing variance between the plurality of host transform parameters, thereby forming an enhanced sequence of host transform parameters; and adding a watermark to the enhanced sequence of host transform parameters using a spread spectrum technique. The enhanced sequence of host transform parameters may be formed by arranging the plurality of host transform parameters in at least one of an ascending order or descending order; determining a difference for each pair of consecutive host transform parameters; and alternating the sign of every other difference value, thereby forming the enhanced sequence of host transform parameters.

## Background
FIELD OF THE INVENTION
The present invention relates generally to media data hiding, and more particularly, to a method for enhancing spread spectrum watermarking.
BACKGROUND OF THE INVENTION
The proliferation of digitized media is creating a pressing need for techniques that protect copyright owners. Watermarking is a known technique for protecting copyright owners. Watermarking is a process of hiding information in digitized media for purposes of ownership verification and content protection. As expected, introduction of distortion into the host data during watermark embedding is unavoidable; nevertheless, it is usually favorable to have host data that is perceptually indistinguishable from its original form after embedding the watermark.
One well known watermarking technique is based on spread spectrum communications. In spread spectrum communications, a narrowband signal is transmitted across a wider carrier frequency band such that the signal energy present in any single frequency is undetectable. Similarly, a watermark may be embedded in host media data by spreading the embedded data over a large frequency band. Spread spectrum watermark is designed to be difficult (preferably virtually impossible) to remove from the host signal without rendering the host signal useless for its intended purposes and without imposing any perceptual artifacts introduced by the inserted watermark.
In an article by Ingemar J. Cox et al., entitled “Secured Spectrum Watermarking for Multimedia” in IEEE Transactions on Image Processing, Vol. 6, No. 12, December 1997, as well as U.S. Pat. No. 5,930,369 by Cox et al, entitled “Secure spread spectrum watermarking for multimedia data”, spread spectrum watermarking is described which embeds a pseudo-random noise sequence into digital data for watermarking purposes. Extraction of watermark requires the availability of the original image. In U.S. Pat. No. 5,848,155 by Cox et al, entitled “Spread spectrum watermark for embedded signaling”, the watermark is extracted from watermarked data without the use of an original or unwatermarked version of the data. This approach overcomes the limitations of the prior systems by using spread spectrum technology to embed watermark data or information into predetermined locations in an image.
SUMMARY OF THE INVENTION
In accordance with the present invention, an improved method is provided for spread spectrum watermarking. The improved watermarking method includes: receiving host data which is expressed in a transform domain by a plurality of host transform parameters; reducing variance between the plurality of host transform parameters, thereby forming an enhanced sequence of host transform parameters; and adding a watermark to the enhanced sequence of host transform parameters using a spread spectrum technique. The enhanced sequence of host transform parameters may be formed by sorting the plurality of host transform parameters in at least one of an ascending order or descending order; determining a difference for each pair of consecutive host transform parameters, and alternating the sign of every other difference value, thereby forming the enhanced sequence of host transform parameters. The present invention is applicable to the watermarking of various types of digital data stream, such as audio, image video, software and multimedia.
For a more complete understanding of the invention, its objects and advantages, reference may be had to the following specification and to the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flowchart of a method for enhanced spread spectrum watermarking in accordance with the present invention; and
FIGS. 2A and 2B are block diagrams of an exemplary audio encoder and audio decoder, respectively, in accordance with the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Spread spectrum watermarking is a well known technique for embedding watermark data into digitized media. Further explanation of this technique may be found in technical resources, including an article by Ingemar J. Cox et al entitled “Secure Spread Spectrum Watermarking for Multimedia” in IEEE Transactions on Image Processing, Vol. 6, No. 12, December 1997 which is incorporated by reference herein. However, a mathematical description of spread spectrum watermarking is provided below as a basis for understanding the present invention.
Assume that we are going to embed a single bit bε{1,−1} into a host signal sequence x=x1,x2, . . . , xN. Further assume that k=k1,k2, . . . , kN is the watermark key which is randomly selected but known to the watermark detector, where kiε{1,−1},1≦i≦N and that each individual sample of the key is zero mean and independent to each other. Let Δ=Δ1,Δ2, . . . , ΔN be the scaling sequence that determines the amount of distortion added to the host sequence, where Δi≧0, 1≦i≦N, and finally the watermarked signal is x′=x1′, x2′, . . . , xN′, where xi′=xi+bΔiki,1≦i≦N.
To decode the watermark, we start with {circumflex over (x)}i=x1′+ni, which is a noisy version of xi′, where n=n1,n2, . . . , nN is some additive noise sequence introduced in the watermarked signal processing, transformation, or intentional watermark attacks. Define




  
    D
    =
    
      
        1
        N
      
      ⁢
      
        
          ∑
          
            i
            =
            1
          
          N
        
        ⁢
        
          
            k
            i
          
          ⁢
          
            
              x
              ^
            
            i
          
        
      
    
  
  ,




then an estimate of the embedded information {circumflex over (b)} can be formed as {circumflex over (b)}=sign (D).

If we assume that x, k, Δ, and n are independent to each other and that




  
    
      E
      ⁡
      
        [
        
          Δ
          i
        
        ]
      
    
    =
    
      E
      ⁡
      
        [
        Δ
        ]
      
    
  
  ,
  
    1
    ≤
    i
    ≤
    N
  
  ,
  
    
      then
      ⁢
      
        
      
      ⁢
      
        D
        _
      
    
    =
    
      
        E
        ⁡
        
          [
          D
          ]
        
      
      =
      
        
          E
          ⁡
          
            [
            
              
                1
                N
              
              ⁢
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  N
                
                ⁢
                
                  
                    k
                    i
                  
                  ⁡
                  
                    (
                    
                      
                        x
                        i
                      
                      +
                      
                        b
                        ⁢
                        
                          
                        
                        ⁢
                        
                          Δ
                          i
                        
                        ⁢
                        
                          k
                          i
                        
                      
                      +
                      
                        n
                        i
                      
                    
                    )
                  
                
              
            
            ]
          
        
        =
        
          bE
          ⁡
          
            [
            Δ
            ]
          
        
      
    
  
  ,
  
    
      and
      ⁢
      
        
      
      ⁢
      
        σ
        D
        2
      
    
    =
    
      
        E
        ⁡
        
          [
          
            
              (
              
                D
                -
                
                  D
                  _
                
              
              )
            
            2
          
          ]
        
      
      =
      
        
          E
          ⁡
          
            [
            
              
                1
                N
              
              ⁢
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  N
                
                ⁢
                
                  
                    
                      k
                      i
                    
                    ⁡
                    
                      (
                      
                        
                          x
                          i
                        
                        +
                        
                          n
                          i
                        
                      
                      )
                    
                  
                  ⁢
                  
                    1
                    N
                  
                  ⁢
                  
                    
                      ∑
                      
                        j
                        =
                        1
                      
                      N
                    
                    ⁢
                    
                      
                        k
                        j
                      
                      ⁡
                      
                        (
                        
                          
                            x
                            j
                          
                          +
                          
                            n
                            j
                          
                        
                        )
                      
                    
                  
                
              
            
            ]
          
        
        =
        
          
            
              1
              
                N
                2
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  1
                
                N
              
              ⁢
              
                
                  ∑
                  
                    j
                    =
                    1
                  
                  N
                
                ⁢
                
                  
                    E
                    ⁡
                    
                      [
                      
                        
                          k
                          i
                        
                        ⁢
                        
                          k
                          j
                        
                      
                      ]
                    
                  
                  ⁢
                  
                    E
                    ⁡
                    
                      [
                      
                        
                          x
                          ⁡
                          
                            (
                            
                              
                                x
                                i
                              
                              +
                              
                                n
                                i
                              
                            
                            )
                          
                        
                        ⁢
                        
                          (
                          
                            
                              x
                              j
                            
                            +
                            
                              n
                              j
                            
                          
                          )
                        
                      
                      ]
                    
                  
                
              
            
          
          =
          
            
              
                
                  σ
                  x
                  2
                
                +
                
                  σ
                  n
                  2
                
              
              N
            
            .
          
        
      
    
  




Since {overscore (D)}=bE[Δ] and E[Δ] is positive, {circumflex over (b)}=sign (D) indeed gives an appropriate estimate of b. Furthermore, the larger the value of




  
    
    
      
        D
        _
      
      
        σ
        D
      
    
    
  
  ,




the more certain the estimate will be. In the absence of noise,





  
    
    
      
        D
        _
      
      
        σ
        D
      
    
    
  
  =
  
    
      
      
        
          
            E
            ⁡
            
              [
              Δ
              ]
            
          
          ⁢
          
            N
          
        
        
          σ
          x
        
      
      
    
    ⁢
    α
    ⁢
    
      
        1
        
          σ
          x
        
      
      .
    
  




In the presence of noise





  
    
      h
      ⁢
      
        
        
          
            D
            _
          
          
            σ
            D
          
        
        
      
    
    =
    
      
      
        
          
            E
            ⁡
            
              [
              Δ
              ]
            
          
          ⁢
          
            N
          
        
        
          
            σ
            x
            2
          
          +
          
            σ
            n
            2
          
        
      
      
    
  
  ,




which is also proportional to 1/σx. Hence, the smaller the host signal variance, the more accurate the abstraction of watermark, the more robust the watermarking scheme.

FIG. 1 illustrates a method for enhancing spread spectrum watermarking of digitized media by reducing the variance of the host signal prior to adding the watermark. The host signal is commonly expressed in a transform domain by a plurality of host transform parameters. Although the frequency domain is presently preferred, it is envisioned that the present invention is also applicable to host data expressed in other spectral domains (e.g. cepstrum domain).
Upon receiving the host signal at step 12, the host transform parameters (e.g. frequency coefficients) may be sorted in an ascending at step 14 to obtain xs1≦xs2≦xs3 . . . ≦xsN. It is to be understood that the host transform parameters may also be sorted in a descending order.
Next, an enhanced sequence of host transform parameters is formed by determining the difference for each pair of consecutive host transform parameters at step 16, and then alternating the sign of every other difference value at step 18. In other words, the enhanced sequence y=y1, y2, . . . , yN/2, is derived in accordance with yj=(−1)j(xs2j−1−xs2j),1≦j≦N/2(assuming N is even). To ensure that y has an approximately zero mean, we explicitly make the two consecutive yj's have alternative signs. Without the sign alternation, one skilled in the art will note that y will be the high pass band of the Haar wavelet transform of the sorted version of x. Since neighboring samples in the sorted sequence of host transform parameters are close in value, it is expected that the sample values of y will be much smaller than those of x. Hence, σx>>σy in general. It is to be understood that there are many other ways to modify Xs2n−1 and Xs2n to get yn′. In each application, it is desirable to adjust Xs2n−1 and Xs2n in the way that minimizes perceptual alteration introduced via watermark embedding and preserves the order of Xs2n−1 and Xs2n. For instance, a perceptual model, such as the JND (Just Noticeable Difference) function used in JPEG compression, may be used to guide it.
Lastly, a watermark is added to the enhanced sequence of host transform parameters at step 20 using well known spread spectrum techniques. For example, let the watermark key be k=k1,k2, . . . , kN/2, kiε{−1,1}, and the embedding bit be b. That is, yn′=yn+bknΔn. One skilled in the art will readily recognize that this technique may be extended to embed a plurality of bits into the host signal. As in ordinary spread spectrum technique, Δn controls the amount of distortion that can be added to yn which should be guided by perceptual model if the host media data is perceptual data. Since yn=(−1)n(xs2n−1−xs2n), the perturbation bknΔn can be achieved by applying the distortion to either xs2n−1 or xs2n or both. This extra flexibility is useful because xs2n−1 and xs2n may have unequal susceptibility to noise. For simplicity, we split the distortion evenly between the pair. Thus we get yn′=yn+bknΔn as desired, if we construct




  
    
      
        
          x
          
            s
            
              2
              j
            
          
          ′
        
        =
        
          
            x
            
              s
              
                2
                j
              
            
          
          -
          
            
              
                (
                
                  -
                  1
                
                )
              
              j
            
            ⁢
            
              bk
              j
            
            ⁢
            
              
                Δ
                n
              
              2
            
          
        
      
    
  
  
    
      
        
          x
          
            s
            
              2
              
                j
                -
                1
              
            
          
          ′
        
        =
        
          
            x
            
              s
              
                2
                
                  j
                  -
                  1
                
              
            
          
          +
          
            
              
                (
                
                  -
                  1
                
                )
              
              j
            
            ⁢
            
              bk
              j
            
            ⁢
            
              
                
                  Δ
                  n
                
                2
              
              .
            
          
        
      
    
  




To decode the watermark, we first form an estimate ŷ=ŷ1,ŷ2, . . . , yN/2 with the help of the sorting indices s1,s2, . . . , sN. The embedded bit {circumflex over (b)} is then the sign of Σn=1N/2knŷn, as in an ordinary spread spectrum watermark. During decoding, it is understood that the sorting indices and the watermark key are required. Instead of transferring them separately, it is envisioned that the sorting indices and the watermark can be combined into a single signal dependent key which is in turn transmitted to the decoder.
Compression and transcoding of digital media are often needed for various applications, including delivery through a different communication channel of different bandwidth and use in different devices. For example, an audio is compressed using MPEG II AAC schemes or a compressed audio in MPEG II AAC format is transcoded to MPEG I layer 3, MP3, format. Such reconstruction of the media signal via compression or transcoding can be lossy. In general, this does not alter the signal perceptibility. In many applications, it is often desirable that the embedded watermark survives such lossy reconstruction as well as other types of lossy signal processing and it should remain detectable within the reconstructed media signal.
FIG. 2A illustrates how the enhanced spread spectrum watermarking technique of the present invention may be applied to a compressed audio signal. For illustration purposes, the compressed audio data is compressed in accordance with the well known Advanced Audio Coding (AAC) compression standard. While the following description is provided with reference to compressed audio data, it is readily understood that the present invention is applicable to other types of media data and other types of digital data streams, including image data, video data, multimedia data and software data.
In the exemplary encoder 30, the compressed audio data 32 is input into a partial decoder 34. The partial decoder is in turn operable to partially decode the compressed data to recover a plurality of quantization indices. Rather than embed a watermark into frequency coefficients, the watermark will be embedded into the quantization indices. Since no dequantization or requantization is necessary, this approach increases the speed of the overall process. However, it is envisioned that embedding a watermark into the frequency coefficients is also within the scope of the present invention.
The quantization indices from the compressed audio data are then input into an index selector 36. The index selector 36 applies perceptual modeling to estimate the maximum amount of distortion that can be withstood by each quantization index. Perceptual modeling is generally known to those in the art. However, perceptual modeling information is not easily accessible from compressed audio, and thus a heuristic approach may be used to apply perceptual modeling to quantization indices. Further implementation details for an exemplary heuristic approach are disclosed in U.S. patent application entitled “Method and Apparatus for Embedding Data in Compressed Audio Data Stream” filed on Feb. 25, 2002 by the assignee of the present invention which is incorporated herein by reference. In any event, selected quantization indices are output by the index selector 36.
Prior to adding a watermark, the selected quantization indices may be enhanced as described above. To do so, the selected quantization indices are sorted in either of an ascending order or descending order by the index sorter 38. The sorted quantization indices then serve as an input to an enhanced index sequencer 40. The enhanced index sequencer 40 computes a difference for each pair of consecutive quantization indices, and alternates the sign of every other quantization index, thereby forming an enhanced sequence of quantization indices.
A watermark encoder 42 adds a watermark to the enhanced sequence of quantization indices using well known spread spectrum techniques. In addition to the enhanced sequence of quantization indices, the watermark encoder 40 receives as input watermark data and watermark key data. Lastly, the watermarked quantization indices are compressed with a Hoffman coding by a partial encoder 46 to form a compressed watermarked audio signal.
The exemplary audio encoder 30 may optionally include a key multiplexer 44. As noted above, the decoding process requires the watermark key as well as the sorting indices from the index sorter 38. The key multiplexer 44 combines watermark key with the sorting indices to form a single decoding key. A corresponding audio decoder 50 is depicted in FIG. 2B.
The foregoing discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion, and from accompanying drawings and claims, that various changes, modifications, and variations can be made therein without departing from the spirit and scope of the present invention.

## Claims

1. A method for enhancing spread spectrum watermarking of digitized media, comprising:
receiving host data which is expressed in a transform domain by a plurality of host transform parameters;
arranging the plurality of host transform parameters in at least one of an ascending order or descending order;
determining a difference for each pair of consecutive host transform parameters, thereby forming a plurality of difference values;
alternating the sign of every other difference value in the plurality of difference values, thereby forming an enhanced sequence of host transform parameters; and
adding a watermark to the enhanced sequence of host transform parameters using a spread spectrum technique.

2. The method of claim 1 wherein the step of adding a watermark further comprises:
receiving watermark data which is expressed in a transform domain by a plurality of watermark transform parameters;
applying a pseudo random number sequence to the plurality of watermark transform parameters; and
combining the plurality of watermark transform parameters with the difference values in the enhanced sequence of host transform parameters, thereby deriving watermarked host data.

3. The method of claim 1 wherein the host data is selected from a group consisting of audio data, image data, video data, software data, and multimedia data.

4. The method of claim 1 wherein the transform domain is selected from a group consisting of fast fourier transform, discrete cosine transform (DCT), modulated discrete cosine transform, and discrete wavelet transform.

5. A method for enhancing spread spectrum watermarking of digitized media, comprising:
transforming host media data from a spatial domain to a frequency domain, thereby forming a plurality of host frequency coefficients indicative of the host data;
sorting the plurality of host frequency coefficients in at least one of an ascending order or a descending order;
determining a difference for each pair of consecutive host frequency coefficients, thereby forming a plurality of difference values;
alternating the sign of every other difference value in the plurality of difference values, thereby forming an enhanced sequence of frequency coefficients; and
adding a watermark to the enhanced sequence of frequency coefficients using a spread spectrum technique.

6. The method of claim 5 wherein the host media data is segmented from the digitized media.

7. The method of claim 5 wherein the host data is selected from a group consisting of audio data, image data, video data, software data, and multimedia data.

8. The method of claim 5 wherein the step of transforming host media data further comprises using at least one of a fast fourier transform, a discrete cosine transform (DCT), a modulated discrete cosine transform, or a discrete wavelet transform.

9. The method of claim 5 further comprises quantizing the plurality of frequency coefficients prior to the step of sorting.

10. The method of claim 5 wherein the step of adding a watermark further comprises:
receiving watermark data which is expressed in a frequency domain by a plurality of watermark frequency coefficients;
applying a pseudo random number sequence to the plurality of watermark frequency coefficients; and
combining the plurality of watermark frequency coefficients with the enhanced sequence of frequency coefficients, thereby deriving watermarked host data.

11. A method for enhancing spread spectrum watermarking of media data, comprising:
receiving compressed media data;
decoding the compressed media data to recover a plurality of quantization indices indicative of the media data;
sorting the plurality of quantization indices in at least one of an ascending order or a descending order;
determining a difference for each pair of consecutive quantization indices, thereby forming a plurality of difference values;
alternating the sign of every other difference value in the plurality of difference values, thereby forming an enhanced sequence of quantization indices; and
adding a watermark to the enhanced sequence of quantization indices using a spread spectrum technique.