Patent Publication Number: US-7724917-B2

Title: Apparatus, method, and program product for detecting digital watermark

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2006-12814, filed on Jan. 20, 2006; the entire contents of which are incorporated herein by reference. 
   BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to an apparatus, a method, and a program product for detecting a digital watermark, in which the watermark value is detected from a motion image in which a topological invariant is embedded as the watermark value. 
   2. Description of the Related Art 
   Conventionally, there is well known a digital watermark technique. In the digital watermark, pieces of information such as information on an author of copyright to data, user identification information, rights information, utilization condition, necessary confidential information in use, and copy control information are embedded in digital copyrighted work data such as sound, music, video, and an image while the pieces of information are hardly perceived, and the pieces of information embedded in the digital copyrighted work data are detected and utilized if needed. The digital watermark is utilized for the purpose of copyright protection or secondary use of the digital copyrighted work. 
   It is thought that the digital watermark is associated with a topological invariant by regarding geometric distortion as homomorphic mapping. The inventors already proposed a topological invariant digital watermarking technique in order to realize robustness to geometric distortion (for example, Japanese Patent No. 3431593). In the topological invariant digital watermark technique, an invariable topological invariant (for example, homotopy class) is embedded as the digital watermark under the geometric distortion. 
   Generally, security measures against a process performed in a time axis direction (hereinafter such processes are referred to as “time axis direction attack”) such as frame rate conversion and frame thin-out can be realized by embedding the same watermark value in plural frames. However, in this case, it is difficult to distinguish the embedded watermark values whether the watermark values are embedded as the same watermark value or different watermark value. Therefore, it is necessary to detect switching of the watermark values. 
   In a technique in which a homotopy class is used as the topological invariant, one digital watermark value is realized by embedding and extracting three kinds of components of (X,Y,Z). In a technique of embedding one component in one frame or a technique of utilizing an inter-frame difference to embed one component, when the digital watermark suffers from the time axis direction attack, there is generated a problem that distinction cannot be made among the X, Y, and Z components, and thereby the watermark value cannot correctly be detected. 
   SUMMARY OF THE INVENTION 
   According to one aspect of the present invention, a digital watermark detection apparatus, which detects a watermark value from a motion image in which a topological invariant is embedded as the watermark value, the apparatus includes a watermark component extracting unit which extracts each watermark component from the motion image in which the watermark value is embedded, where the watermark value includes a plurality of different watermark components arranged according to a predetermined arrangement regularity; an average value computing unit which computes an average value of component values of each pixel included in the watermark component; an identified watermark component determination unit which determines, based on the average value, whether or not the watermark component is an identified watermark component which is to be utilized in identifying an arrangement unit of a plurality of watermark components included in the same watermark value within the plurality of watermark components included in the watermark value; a watermark component identifying unit which identifies the watermark components except for the identified watermark component based on the identified watermark component and the arrangement regularity; and a watermark value computing unit which computes the watermark value based on the identified watermark component and the watermark components except for the identified watermark component. 
   According to another aspect of the present invention, a method of detecting a digital watermark, which detects a watermark value from a motion image in which a topological invariant is embedded as the watermark value, the method includes extracting each watermark component from the motion image in which the watermark value is embedded, where the watermark value includes a plurality of different watermark components arranged according to a predetermined arrangement regularity; computing an average value of component values of each pixel included in the extracted watermark component; determining, based on the average value, whether or not the watermark component is an identified watermark component which is to be utilized in identifying an arrangement unit of a plurality of watermark components included in the same watermark value within the plurality of watermark components included in the watermark value; identifying the watermark component except for the identified watermark component based on the identified watermark component and the arrangement regularity; and computing the watermark value based on the determined identified watermark component and the watermark components except for the identified watermark component. 
   A computer program product according to still another aspect of the present invention causes a computer to perform the method according to the present invention. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram showing a functional configuration of a digital watermark detection apparatus according to a first embodiment of the invention; 
       FIG. 2  is a view for explaining an embedded order of watermark components; 
       FIG. 3  is a flowchart showing a digital watermark detection process performed by the digital watermark detection apparatus; 
       FIG. 4  schematically shows a motion image in which the number of frames is thinned out to one-thirds; 
       FIG. 5  shows a hardware configuration of the digital watermark detection apparatus of the first embodiment; 
       FIG. 6  is a block diagram showing a functional configuration of a digital watermark detection apparatus according to a second embodiment; 
       FIG. 7  is a view for explaining a difference frame; 
       FIG. 8  is a flowchart showing a digital watermark detection process performed by the digital watermark detection apparatus of the second embodiment; 
       FIG. 9  is a view for explaining a motion image in which three watermark components are embedded in RGB; and 
       FIG. 10  is a flowchart showing a digital watermark detection process performed by a digital watermark detection apparatus of a third embodiment. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   Preferred embodiments of a digital watermark detection apparatus, a digital watermark detection method, and a digital watermark detection program product according to the present invention will be described in detail with reference to the accompanying drawings. The invention shall not be limited to the following embodiments. 
   First Embodiment 
     FIG. 1  is a block diagram showing a functional configuration of a digital watermark detection apparatus according to a first embodiment of the invention. The digital watermark detection apparatus  10  detects the watermark value embedded by the topological invariant digital watermarking technique. In the topological invariant digital watermarking technique, an invariable topological invariant (for example, homotopy class) is embedded as the watermark value under the geometric distortion. 
   Specifically, in the digital watermark embedding technique in which the homotopy class is used, assuming that n is a watermark value, W is a width of an image, H is a height of the image, and a pixel located at an uppermost left is set at (x,y)=(0,0), θ, and φ are determined by Equation 1, Equation 2, and Equation 3, respectively. 
   
     
       
         
           
             
               
                 θ 
                 = 
                 
                   2 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   arc 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     tan 
                     ⁡ 
                     
                       ( 
                       
                         
                           
                             
                               
                                 
                                   
                                     tan 
                                     2 
                                   
                                   ⁢ 
                                   
                                     { 
                                     
                                       
                                         ( 
                                         
                                           π 
                                           / 
                                           2 
                                         
                                         ) 
                                       
                                       × 
                                       
                                         ( 
                                         
                                           
                                             x 
                                             / 
                                             W 
                                           
                                           - 
                                           
                                             1 
                                             / 
                                             2 
                                           
                                         
                                         ) 
                                       
                                     
                                     } 
                                   
                                 
                                 + 
                               
                             
                           
                           
                             
                               
                                 
                                   tan 
                                   2 
                                 
                                 ⁢ 
                                 
                                   { 
                                   
                                     
                                       ( 
                                       
                                         π 
                                         / 
                                         2 
                                       
                                       ) 
                                     
                                     × 
                                     
                                       ( 
                                       
                                         
                                           y 
                                           / 
                                           H 
                                         
                                         - 
                                         
                                           1 
                                           / 
                                           2 
                                         
                                       
                                       ) 
                                     
                                   
                                   } 
                                 
                               
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 [ 
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   1 
                 
                 ] 
               
             
           
           
             
               
                 
                   ϕ 
                   = 
                   
                     arc 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       cos 
                       ( 
                       
                         
                           tan 
                           ⁢ 
                           
                             { 
                             
                               
                                 ( 
                                 
                                   π 
                                   / 
                                   2 
                                 
                                 ) 
                               
                               × 
                               
                                 ( 
                                 
                                   
                                     x 
                                     / 
                                     W 
                                   
                                   - 
                                   
                                     1 
                                     / 
                                     2 
                                   
                                 
                                 ) 
                               
                             
                             } 
                           
                         
                         
                           
                             
                               
                                 
                                   
                                     
                                       tan 
                                       2 
                                     
                                     ⁢ 
                                     
                                       { 
                                       
                                         
                                           ( 
                                           
                                             π 
                                             / 
                                             2 
                                           
                                           ) 
                                         
                                         × 
                                         
                                           ( 
                                           
                                             
                                               x 
                                               / 
                                               W 
                                             
                                             - 
                                             
                                               1 
                                               / 
                                               2 
                                             
                                           
                                           ) 
                                         
                                       
                                       } 
                                     
                                   
                                   + 
                                 
                               
                             
                             
                               
                                 
                                   
                                     tan 
                                     2 
                                   
                                   ⁢ 
                                   
                                     { 
                                     
                                       
                                         ( 
                                         
                                           π 
                                           / 
                                           2 
                                         
                                         ) 
                                       
                                       × 
                                       
                                         ( 
                                         
                                           
                                             y 
                                             / 
                                             H 
                                           
                                           - 
                                           
                                             1 
                                             / 
                                             2 
                                           
                                         
                                         ) 
                                       
                                     
                                     } 
                                   
                                 
                               
                             
                           
                         
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   ( 
                   
                     
                       
                         y 
                         / 
                         H 
                       
                       - 
                       
                         1 
                         / 
                         2 
                       
                     
                     ≥ 
                     0 
                   
                   ) 
                 
               
             
             
               
                 [ 
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   2 
                 
                 ] 
               
             
           
           
             
               
                 
                   ϕ 
                   = 
                   
                     
                       2 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       π 
                     
                     - 
                     
                       arc 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         cos 
                         ( 
                         
                           
                             tan 
                             ⁢ 
                             
                               { 
                               
                                 
                                   ( 
                                   
                                     π 
                                     / 
                                     2 
                                   
                                   ) 
                                 
                                 × 
                                 
                                   ( 
                                   
                                     
                                       x 
                                       / 
                                       W 
                                     
                                     - 
                                     
                                       1 
                                       / 
                                       2 
                                     
                                   
                                   ) 
                                 
                               
                               } 
                             
                           
                           
                             
                               
                                 
                                   
                                     
                                       
                                         tan 
                                         2 
                                       
                                       ⁢ 
                                       
                                         { 
                                         
                                           
                                             ( 
                                             
                                               π 
                                               / 
                                               2 
                                             
                                             ) 
                                           
                                           × 
                                           
                                             ( 
                                             
                                               
                                                 x 
                                                 / 
                                                 W 
                                               
                                               - 
                                               
                                                 1 
                                                 / 
                                                 2 
                                               
                                             
                                             ) 
                                           
                                         
                                         } 
                                       
                                     
                                     + 
                                   
                                 
                               
                               
                                 
                                   
                                     
                                       tan 
                                       2 
                                     
                                     ⁢ 
                                     
                                       { 
                                       
                                         
                                           ( 
                                           
                                             π 
                                             / 
                                             2 
                                           
                                           ) 
                                         
                                         × 
                                         
                                           ( 
                                           
                                             
                                               y 
                                               / 
                                               H 
                                             
                                             - 
                                             
                                               1 
                                               / 
                                               2 
                                             
                                           
                                           ) 
                                         
                                       
                                       } 
                                     
                                   
                                 
                               
                             
                           
                         
                         ) 
                       
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   ( 
                   
                     
                       
                         y 
                         / 
                         H 
                       
                       - 
                       
                         1 
                         / 
                         2 
                       
                     
                     &lt; 
                     0 
                   
                   ) 
                 
               
             
             
               
                 [ 
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   3 
                 
                 ] 
               
             
           
         
       
     
   
   Therefore, a function expressed by Equation 4, i.e., the function concerning the homotopy class is obtained. The function is embedded in the image.
 
( X,Y,Z )=(sin θ cos  n φ, sin θ sin  n φ, cos θ)  [Equation 4]
 
   The digital watermark detection apparatus  10  divides the target image into H small-area blocks in a longitudinal direction and into W small-area blocks in a horizontal direction, and the digital watermark detection apparatus  10  extracts a vector which becomes the watermark component from each small area. The vector is expressed by Equation 5.
 
{right arrow over ( f )}( x,y )=( X   xy   , Y   xy   , Z   xy )  [Equation 5]
 
   Then, a solid angle is computed from each small area by Equation 6.
 
{right arrow over (f)}(x,y)·(Δ x {right arrow over (f)}(x,y)×Δ y {right arrow over (f)}(x,y))  [Equation 6]
 
   Where “x” indicates vector product and “.” indicates scalar product. The terms in Equation 6 are expressed by Equation 7 and Equation 8. 
   
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           Δ 
                           x 
                         
                         ⁢ 
                         
                           
                             f 
                             → 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               , 
                               y 
                             
                             ) 
                           
                         
                       
                       = 
                       
                         
                           
                             
                               f 
                               → 
                             
                             ⁡ 
                             
                               ( 
                               
                                 
                                   x 
                                   + 
                                   1 
                                 
                                 , 
                                 y 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               
                                 f 
                                 → 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   x 
                                   , 
                                   y 
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             x 
                           
                         
                         ≠ 
                         
                           W 
                           - 
                           1 
                         
                       
                     
                   
                 
                 
                   
                     
                       = 
                       
                         
                           
                             
                               f 
                               → 
                             
                             ⁡ 
                             
                               ( 
                               
                                 0 
                                 , 
                                 y 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               
                                 f 
                                 → 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   
                                     W 
                                     - 
                                     1 
                                   
                                   , 
                                   y 
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             x 
                           
                         
                         = 
                         
                           W 
                           - 
                           1 
                         
                       
                     
                   
                 
               
             
             
               
                 [ 
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   7 
                 
                 ] 
               
             
           
           
             
               
                 
                   
                     
                       
                         
                           Δ 
                           x 
                         
                         ⁢ 
                         
                           
                             f 
                             → 
                           
                           ⁡ 
                           
                             ( 
                             
                               x 
                               , 
                               y 
                             
                             ) 
                           
                         
                       
                       = 
                       
                         
                           
                             
                               f 
                               → 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 , 
                                 
                                   y 
                                   + 
                                   1 
                                 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               
                                 f 
                                 → 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   z 
                                   , 
                                   y 
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             x 
                           
                         
                         ≠ 
                         
                           H 
                           - 
                           1 
                         
                       
                     
                   
                 
                 
                   
                     
                       = 
                       
                         
                           
                             
                               f 
                               → 
                             
                             ⁡ 
                             
                               ( 
                               
                                 x 
                                 , 
                                 0 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               
                                 f 
                                 → 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   x 
                                   , 
                                   
                                     H 
                                     - 
                                     1 
                                   
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             y 
                           
                         
                         = 
                         
                           H 
                           - 
                           1 
                         
                       
                     
                   
                 
               
             
             
               
                 [ 
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   8 
                 
                 ] 
               
             
           
         
       
     
   
   A summation is computed by Equation 9.
 
Σ H Σ W {right arrow over (f)}(x,y)·(Δ x {right arrow over (f)}(x,y)×Δ y {right arrow over (f)}(x,y))  [Equation 9]
 
   Equation 10 computes what number of circumferences of a unit sphere corresponds to the summation. A watermark value D is obtained by rounding off the computed value to the nearest integer number.
 
 D =(1/4π)Σ H Σ W   {right arrow over (f)} ( x,y )·(Δ x   {right arrow over (f)} ( x,y )×Δ y   {right arrow over (f)} ( x,y ))  [Equation 10]
 
   On the assumption of the computation of the watermark value D, it is necessary to identify which of the plural watermark components embedded in data belongs to an X component, a Y component, or a Z component. It is also necessary to identify whether or not the plural watermark components are included in the same watermark value. 
   The digital watermark detection apparatus  10  according to the first embodiment identifies each component from the image in which the X component, the Y component, and the Z component are embedded, and the digital watermark detection apparatus  10  further identifies the component included in the same watermark value to compute the watermark value D. 
   In order to compute the watermark value D, the digital watermark detection apparatus  10  includes a watermark component extracting unit  102 , an average-value computing unit  104 , a Z-component determination unit  106 , a watermark value computing unit  108 , and a watermark component holding unit  110 . 
   The watermark component extracting unit  102  extracts each watermark component constituting the watermark value. For example, the watermark component extracting unit  102  extracts the watermark component from the image in which the watermark component is embedded in a part of a frequency domain after discrete cosine transformation. 
   The average-value computing unit  104  computes an average value of the watermark component extracted by the watermark component extracting unit  102 . Here, the average value of the watermark component means an average value of elements (for example, brightness and a color gradation level) constituting the watermark component. The Z-component determination unit  106  determines whether or not the watermark component belongs to the Z component based on the average value computed by the average-value computing unit  104 . In the topological invariant digital watermarking technique in which the homotopy class is used as the topological invariant, the average value of the Z component does not become “0” while the average values of the X component and the Y component substantially become “0”. Accordingly, whether or not the watermark component is the Z component can be determined based on whether or not the average value is “0”. 
   It is assumed that the X component, Y component, and the Z component are embedded in the motion image which is the target of the digital watermark detection apparatus  10  according to predetermined arrangement regularity. Accordingly, when the Z-component determination unit  106  identifies the Z component, the Z-component determination unit  106  identifies a predetermined watermark component as the X component based on a positional relationship between the Z component and the X component, which are specified from the arrangement regularity. Similarly, the Z-component determination unit  106  identifies a predetermined watermark component as the Y component based on the positional relationship between the Z component and the Y component, which are specified from the arrangement regularity. That is, the Z-component determination unit  106  according to the first embodiment corresponds to watermark component extracting means. 
     FIG. 2  is a view for explaining an embedded order of the watermark components. In  FIG. 2 , an X component “X 1 ”, a Z component “Z 1 ”, and a Y component “Y 1 ” are sequentially embedded. Then, components “X 2 ”, “Z 2 ”, “Y 2 ”, “X 3 ”, “Z 3 ”, “Y 3 ”, . . . are embedded in order of XZY. The components “X 1 ”, “Y 1 ”, and “Z 1 ” constitute a watermark value “D 1 ”. Similarly the components whose suffix numbers are equal to each other constitute one watermark value. 
   In consideration of image missing caused by image compression or image loss, each of four watermark components are continuously embedded like “X 1 X 1 X 1 X 1 ”. 
   In  FIG. 2 , the order of XZY is the arrangement regularity, and the components are embedded according to the arrangement regularity. Accordingly, when the Z component is identified, it is found that the X component is detected immediately after identifying the Z component. It is found that the X component is also detected two components before the Z component. Similarly it is found that the Y component is detected immediately before or two components after the Z component. 
   The watermark component holding unit  110  holds the watermark component extracted by the watermark component extracting unit  102 . When the Z-component determination unit  106  determines that a given watermark component is the Z component, the watermark component holding unit  110  holds the watermark component as the Z component. Similarly, the watermark component holding unit  110  holds the X component and the Y component. The watermark component holding unit  110  includes a first buffer  111 , a second buffer  112 , and a third buffer  113 , and the buffers  111 ,  112 , and  113  hold the watermark components respectively. 
   The watermark value computing unit  108  computes the watermark value D including the watermark components based on the X component, the Y component, and the Z component which are held by the watermark component holding unit  110 . 
     FIG. 3  is a flowchart showing a digital watermark detection process performed by the digital watermark detection apparatus  10 . The process shown in  FIG. 3  corresponds to the case where the watermark components are embedded in order of “X”, “Z”, and “Y” as shown in  FIG. 2 . 
   First, Flg_x and Flg_z are set at 0 (Step S 100 ). Flg_x and Flg_z are flags indicating whether or not the X component and the Z component are held by the watermark component holding unit  110 , respectively. The watermark component holding unit  110  holds Flg_x and Flg_z. 
   Then, it is checked whether or not the next target frame exists in the motion image (Step S 102 ). When the next target frame does not exist in the motion image (No in Step S 102 ), the digital watermark detection process is ended. On the contrary, when the next target frame exists in the motion image (Yes in Step S 102 ), the watermark component extracting unit  102  extracts the watermark component of the frame (Step S 104 ). Then, the average-value computing unit  104  computes the average value of the watermark component (Step S 106 ). The Z-component determination unit  106  determines whether or not the average value computed by the average-value computing unit  104  is 0, that is, whether or not the watermark component is the Z component (Step S 108 ). When the watermark component is the Z component (Yes in Step S 108 ), the watermark component, i.e., the Z component is stored in the first buffer  111  (Step S 130 ). Then, Flg_z is set at 1 (Step S 132 ). 
   On the other hand, when the watermark component is not the Z component (No in Step S 108 ), and when the Flg_z is not 1 (No in Step S 120 ), it is determined that the watermark component is the X component, and the watermark component is stored in the second buffer  112  (Step S 140 ). 
   Through the process, sometimes the Y component is erroneously stored in the second buffer  112 . However, in this case, the X component is stored (overwritten) in the second buffer  112  by a post-process before the watermark value is computed. 
   In Step S 108 , when the watermark component is not the Z component (No in Step S 108 ), and when the Flg_z is 1 (Yes in Step S 120 ), it is determined that the watermark component is the Y component, and the watermark component is stored in the third buffer  113  (Step S 122 ). Further, when both Flg_x and Flg_z are 1 (Yes in Step S 124 ), the watermark value computing unit  108  computes at this time the watermark value based on the watermark components which are stored in the first buffer  111 , the second buffer  112 , and the third buffer  113  (Step S 126 ). The above Steps are repeated to the final frame to end the digital watermark detection process. 
   The Z component can be identified through the digital watermark detection process. Further, the X component and the Y component can be identified from the remaining two components according to the identified Z component and the arrangement regularity. 
   Sometimes the second and third watermark components are initially detected in the three watermark components constituting the watermark value. Even in this case, the watermark components constituting the same watermark value can be identified according to the arrangement regularity. Accordingly, the watermark value can correctly be detected. 
   Specifically, when the second watermark component is initially detected in one watermark value, the watermark value is computed from the three watermark components included in the watermark value next to the watermark value in which the second watermark component is included. Accordingly, it can be prevented that the wrong watermark value is computed from the watermark components included in the different watermark value. 
   The digital watermark detection process will be described more specifically with reference to  FIG. 4 .  FIG. 4  schematically shows the motion image in which the number of frames is thinned out to one-thirds while only the frames arranged in order of multiples of 3 are left, in the motion image in which the watermark components are embedded in the order described with reference to  FIG. 3 . After the number of frames is thinned out, the watermark components are arranged in order of X 1 , Z 1 , Y 1 , Y 1 , and X 2 . The watermark value detection process performed to the motion image shown in  FIG. 4  will be described below. 
   First, Flg_x and Flg_z are set at 0. Because the watermark component X 1  is embedded in the initially target frame, it is determined that the extracted watermark component is not the Z component. Further, because Flg_z is set at 0, the extracted watermark component X 1  is stored in the second buffer  112 . At this point, Flg_x is set at 1. 
   Then, the watermark component Z 1  is extracted from the next frame. Because the watermark component Z 1  is the Z component, the watermark component Z 1  is stored in the first buffer  111 . At this point, Flg_z is set at 1. 
   Further, the watermark component Y 1  is extracted from the next frame. The watermark component Y 1  is not the Z component and Flg_z is set at 1, so that the watermark component Y 1  is stored in the third buffer  113 . 
   At this point, because both Flg_x and Flg_z are set at 1, the watermark value D 1  is computed from the watermark component Z 1  held by the first buffer  111 , the watermark component X 1  held by the second buffer  112 , and the watermark component Y 1  held by the third buffer  113 . 
   In  FIG. 4 , when the process is performed from the frame in which the watermark component Y 1  is embedded while both the frame in which the watermark component X 1  is embedded and the frame in which the watermark component Z 1  is embedded are lost, the computation can correctly be performed from the following watermark value. 
   In this case, the watermark component Y 1  in the ninth frame is stored in the second buffer  112  and Flg_x is set at 1. Then, the watermark component Y 1  in the twelfth frame is stored in the second buffer  112 . Then, the watermark component X 2  is stored in the second buffer  112 . That is, the watermark component Y 1  is overwritten by the watermark component X 2  in the second buffer  112 . 
   Then, the watermark component Z 2  is stored in the first buffer  111  and Flg_z is set at 1. Because the Flg_z is set at 1, the next extracted watermark component Y 2  is stored in the third buffer  113 . At this point, because both Flg_x and Flg_z are set at 1, the watermark value D 2  is computed from the watermark component Z 2  held by the first buffer  111 , the watermark component X 2  held by the second buffer  112 , and the watermark component Y 2  held by the third buffer  113 . 
   Thus, the three watermark components constituting the same watermark value can correctly be identified by the overwriting, even if the X component, the Z component, and the Y component constituting the one watermark value are detected in the middle of the combination. 
     FIG. 5  shows a hardware configuration of the digital watermark detection apparatus  10  according to the first embodiment. In the hardware configuration, the digital watermark detection apparatus  10  includes ROM  52 , CPU  51 , RAM  53 , a communication I/F  57 , and a bus  62 . The digital watermark detection program for executing the digital watermark detection process in the digital watermark detection apparatus  10  and the like are stored in ROM  52 . CPU  51  controls each unit of the digital watermark detection apparatus  10  according to the programs stored in ROM  52 . Various kinds of data necessary for the control of the digital watermark detection apparatus  10  are stored in RAM  53 . The communication I/F  57  performs communication through a network. The bus  62  connects the units in the digital watermark detection apparatus  10 . 
   The digital watermark detection program in the digital watermark detection apparatus  10  may be provided in the installable form or in the executable form while recorded in a recording medium such as CD-ROM, a Floppy (registered trademark) disk (FD), DVD which can be read by a computer. 
   In this case, in the digital watermark detection apparatus  10 , the digital watermark detection program is read from the recording medium and executed, the digital watermark detection program is loaded on a main storage device, and the each unit explained in the software configuration is generated on the main storage device. 
   The digital watermark detection program according to the first embodiment may be configured such that digital watermark detection program is stored in the computer connected with the network such as the Internet and the digital watermark detection program is provided by downloading the digital watermark detection program through the network. 
   As mentioned above, the present invention is explained based on the first embodiment, however, various changes and modifications may be made in the first embodiment. 
   The arrangement regularity of the watermark components embedded in the motion image is not limited to the mode of the first embodiment. For example, the arrangement regularity having the arrangement units of “XXXX YYYY ZZZZ” may be adopted. 
   The digital watermark detection apparatus  10  may computes the watermark value from the motion image in which the plural watermark components are embedded in each of the plural areas of the one frame. In this case, the embedded area where the watermark components are embedded is already known, and the watermark component extracting unit  102  extracts the watermark component from each embedded area. 
   Second Embodiment 
     FIG. 6  is a block diagram showing a functional configuration of a digital watermark detection apparatus according to a second embodiment. The digital watermark detection apparatus  10  according to the second embodiment extracts the watermark component by utilizing an inter-frame difference. The digital watermark detection apparatus  10  includes an inter-frame difference computing unit  120  and a variance value computing unit  122 , in addition to the functional configuration of the digital watermark detection apparatus  10  according to the first embodiment. 
   The inter-frame difference computing unit  120  computes a difference between the continuous two frames. The variance value computing unit  122  computes a variance value of the difference frame computed by the inter-frame difference computing unit  120 . For example, when the watermark component is embedded in a brightness component of each image, the variance value computing unit  122  computes the variance value of the brightness. The variance value of the image in which the watermark component is embedded is larger than that of the image in which the watermark component is not embedded. Therefore, based on whether or not the variance value becomes not lower than a predetermined threshold, it can be determined whether or not the watermark component is embedded in the image. On the basis of the variance value, the average-value computing unit  104  computes the average value in the image in which the watermark component is embedded. That is, the average-value computing unit  104  according to the second embodiment corresponds to watermark-component existence determination means. 
     FIG. 7  is a view for explaining the difference frame. For example, when the watermark components are continuously embedded like “XXXX”, the difference frame becomes “000”. At this point, “0” indicates that the watermark component cannot be extracted. Therefore, the watermark components are embedded in the frame in units of “0XX0” or “(−X)XX(−X)” in order to extract the watermark component from the difference frame. 
   For example, the difference frame of “0(−X 1 ) . . . X 1 000(−Y 1 ) . . . Y 1 000(−Z 1 ) . . . Z 1 000(−X 2 ) . . . ” is obtained from the frame having the arrangement of “00X 1 X 1  . . . X 1 0000Y 1 Y 1  . . . Y 1 0000Z 1 Z 1  . . . Z 1 0000X 2 X 2  . . . ”. That is, the watermark component can be extracted from the obtained difference frame. 
   In this case, the variance value of the difference frame including the watermark components such as (−X 1 ) and X 1  is larger than the variance values of other difference frames, so that it can be determined whether or not the watermark component exists. Further, the average value of (−Z 1 ) and Z 1  does not become 0 while the average value of (−X 1 ), X 1 , (−Y 1 ) and Y 1  substantially becomes 0. An absolute value of the average value of (−Z 1 ) and Z 1  is a relatively large value. Accordingly, it can be determined whether or not the watermark component is the Z component. In  FIG. 7 , because the X component, the Y component, and the Z component are sequentially arranged, the X component and the Y component can be identified according to the arrangement. 
     FIG. 8  is a flowchart showing a digital watermark detection process performed by the digital watermark detection apparatus  10  according to the second embodiment. In the digital watermark detection apparatus  10  according to the second embodiment, it is assumed that the difference frame is obtained by the inter-frame difference computing unit  120 . When the next difference frame exists (Yes in Step S 102 ), the variance value computing unit  122  computes the variance value (Step S 150 ). When the variance value is not lower than the threshold, namely, when the watermark component is embedded in the frame (Yes in Step S 152 ), the watermark component extracting unit  102  extracts the watermark component (Step S 108 ). When the watermark component is not embedded (No in Step S 152 ), the flow returns to Step S 102 , and the next difference frame is processed. 
   Thus, according to the digital watermark detection apparatus  10  according to the second embodiment, the existence of the watermark component is determined based on the variance value of the difference frame, and the watermark value can be computed based on the obtained watermark component. 
   In the digital watermark detection apparatus  10  according to the second embodiment, other configurations and processes are similar to those of the digital watermark detection apparatus  10  according to the first embodiment. 
   Third Embodiment 
   A digital watermark detection apparatus according to a third embodiment will be described below. The digital watermark detection apparatus  10  according to the third embodiment computes the watermark value from the motion image in which the three watermark component are embedded with respect to each of RGB in each frame. 
     FIG. 9  is a view for explaining the motion image in which the three watermark components are embedded in RGB. As shown in  FIG. 9 , in the frame  1 , the X component, the Y component, and the Z component are embedded in RGB respectively. In consideration of thin-out of the frame, the same watermark value is embedded in the plural frames. In  FIG. 9 , the same watermark value is embedded in the three continuous frames. For example, in the frames  1  to  3 , the watermark components are embedded such that the watermark value D becomes 4. 
   In the embodiment of the same watermark value, when the watermark values of “111222” are sequentially computed from the six frames, the digital watermark detection apparatus  10  hardly determines whether or not the watermark values in which the three watermark values of “12” are continuously embedded from the watermark values in which the six watermark values “1”, “1”, “1”, “2”, “2”, and “2” are embedded. Therefore, as shown in  FIG. 9 , for the same watermark value, it is assumed that color spaces in which the Z components are embedded are set at the same color spase, and it is assumed that the color spaces in which the Z components are embedded are caused to differ from each other in switching the watermark value to different one. Accordingly, it can be determined whether or not the watermark value is the same watermark value based on the color space in which the Z component is embedded. The Z-component determination unit  106  corresponds to the switching determination means, which can determine whether or not the watermark value is switched. 
   Specifically, in  FIG. 9 , the same watermark value  4  is embedded in the frames  1  to  3 . In each frame, the X component, the Y component, and the Z component are embedded in RGB respectively. Because the same watermark value is embedded in the three frames, the Z component is embedded in B of each frame. 
   In the frames  4  to  6 , the Z component, the X component, and the Y component are sequentially embedded while each watermark component is shifted by one. In the frames  7  to  9  (not shown), the Y component, the Z component, and the X component are sequentially embedded while each watermark component is further shifted by one. That is, because the color in which the Z component is embedded is changed from B to R in the frame  4 , it is found that the watermark value different from that of the frames  1  to  3  is embedded. 
   In the digital watermark detection apparatus  10  according to the third embodiment, it is assumed that the relationship among the colors in which the three watermark component are embedded respectively is held in changing the color in which the Z component is embedded. For example, in  FIG. 9 , the color in which the Z component is embedded is changed according to the arrangement regularity that the arrangements of the X component, the Y component, and the Z component are shifted by one space for the arrangements of RGB. Thus, the digital watermark detection apparatus  10  can identify the Z component by determining the arrangement relationship among the Z component, the X component, and the Y component, and the digital watermark detection apparatus  10  can identify the X component and Y component based on the Z component. 
     FIG. 10  is a flowchart showing a digital watermark detection process performed by the digital watermark detection apparatus  10  according to the third embodiment. First, Flg is set at 0 (Step S 200 ). Then, it is determined whether or not the next frame exists in the motion image (Step S 202 ). When the next frame does not exist in the motion image (No in Step S 202 ), the digital watermark detection process is ended. 
   On the other hand, when the next frame exists in the motion image (Yes in Step S 202 ), the watermark component extracting unit  102  extracts the watermark component from each of RGB in the frame (Step S 204 ). Next, the average-value computing unit  104  computes the average value of the watermark component extracted from each color (Step S 206 ). The Z-component determination unit  106  determines whether or not the average value computed by the average-value computing unit  104  is 0, namely, whether or not the watermark component is the Z component (Step S 208 ). Then, the watermark components are stored in the watermark component holding unit  110  such that the color in which the Z component is detected can be recognized (Step S 210 ). 
   When the Z component is extracted from R (R in Step S 212 ), and when Flg is not set at 1 (No in Step S 220 ), Flg is set at 1 (Step S 222 ). Then, the watermark value computing unit  108  computes the watermark value from each watermark component held by the watermark component holding unit  110  (Step S 240 ). At this point, as described above, the digital watermark detection apparatus  10  identifies the X component and Y component based on the Z component. 
   In Step S 220 , when Flg is set at 1 (Yes in Step S 220 ), the flow goes to Step S 240 . 
   When the Z component is extracted from G (G in Step S 212 ), and when Flg is not set at 2 (No in Step S 224 ), Flg is set at 2 (Step S 226 ), and the flow goes to Step S 240 . In Step S 224 , when Flg is set at 2 (Yes in Step S 224 ), the flow goes to Step S 240 . 
   When the Z component is extracted from B (B in Step S 212 ), and when Flg is not set at 3 (No in Step S 228 ), Flg is set at 3 (Step S 230 ), and the flow goes to Step S 240 . In Step S 230 , when Flg is set at 3 (Yes in Step S 228 ), the flow goes to Step S 240 . When the watermark value is computed, the flow returns to Step S 202 , and the process is repeated to the final frame included in the motion image. 
   Thus, even if the watermark value is embedded in each color space of RGB, each watermark component included in the same watermark value can correctly be identified. When the same watermark value is continuously embedded, the Z component is embedded in the same color in the frame including the same watermark value. Accordingly, whether or not the watermark value is switched can be determined based on the color space in which the Z component is embedded. 
   In the digital watermark detection apparatus  10  according to the third embodiment, other configurations and processes are similar to those of the digital watermark detection apparatus  10  according to the above embodiments. 
   When the same watermark value is embedded in the plural frames, the watermark component holding unit  110  holds the each watermark component corresponding to each watermark value, and the watermark component holding unit  110  may compute the watermark value based on information which is obtained from the plural frames by outputting the average value of the plural watermark values as the watermark value. 
   As mentioned above, in the apparatus, method and program product for detecting a digital watermark according to the present invention, there is an advantage that the watermark value can correctly be detected even if the digital watermark suffers from an attack in the time axis direction. 
   Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.