Abstract:
The invention relates to a method for assessing the presence of a watermark in a video wherein the video comprises at least a sequence of frames. The method comprises for at least one frame among one of the sequences of frames the steps of computing a set of axial cross-correlation values, wherein each axial cross-correlation value corresponds to a correlation between the frame and a reference watermark shifted along a spatial horizontal axis; obtaining a detection score by computing a weighted sum of values output by a function applied to said axial cross-correlation values; assessing the presence of a watermark according to the detection score. Such method is particularly well adapted to the detection of disparity coherent watermark but is compliant with any watermarking technique. A device implementing the method is further disclosed.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates to the detection of watermarks in video, in particular in synthesized view video or tri-dimensional stereo video. More particularly, the invention relates to a method for assessing the presence of a watermark in video and to an associated device implementing the method. 
       BACKGROUND OF THE INVENTION 
       [0002]    This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art. 
         [0003]    In tri-dimensional (3D) stereo video, both a right and a left view are displayed so that the user enjoys 3D effect. Left and right views are either obtained from a stereo camera capture or left and right view are synthesized from a reference view. In multi-view television, several views of the same scene, captured with different cameras are transmitted to a user. The user is free to display any of the transmitted views of the scene, or even to synthesize an intermediate view from transmitted views, which corresponds to the viewpoint of a virtual camera. 
         [0004]    As for standard video, copyright protection remains a concern in 3D or multi-view video. Among many alternative copyrights managements systems, watermarking techniques embed imperceptible information hidden in images. This information is used in forensics to identify the source of an illegal copy. 
         [0005]    However watermark embedding and watermark detection in 3D video are more complicated than in mono view video. Indeed stereo watermarking essentially raises two technical challenges. Firstly the ability of the detector to detect embedded watermark within new types of pirate samples (e.g. single view, combined view, synthetic view) and secondly the imperceptibility of the embedded watermark with respect to depth perception. Today, there are mainly two categories of stereo video watermarking systems adapted to 3D stereo or multi-view content. 
         [0006]    A first category relates to depth-invariant embedding domain. When the two views of stereo video have been rectified (in the case where cameras are not parallel), pixels only shift along horizontal lines between the two views. To be oblivious to such displacements, a strategy consists in defining a domain invariant to horizontal shifts (for instance the average pixel values along rows) and to embed the watermark in this domain. Such a method is disclosed in a European patent application EP 2 426 636 A1 filed on Aug. 31, 2011 by the same applicant. The representation of the views in this invariant domain is rather stable and well-established watermarking know-how can be readily reused. This being said, the inverse mapping from the invariant domain back to a view is known to introduce possibly annoying artifacts (persistent patterns, headache, etc.). 
         [0007]    A second category relates to disparity-coherent watermarking. It consists in exporting a reference watermark in the left and right views, based on their associated disparity information. It is somewhat equivalent to simulating a watermarked 3D scene that would be filmed. This strategy visually yields a rather natural effect: the watermark noise texture is onto the surface of the objects in the scene. On the other hand, watermark detection techniques proposed so far are non-blind. The detector requires side information (the intrinsic/extrinsic parameters of the original cameras, the intrinsic/extrinsic parameters of the synthetic camera) to retrieve the watermark. Some of these parameters may be estimated in practice but detection performances are then heavily tied to the quality of the estimation. For instance, in “ Watermarking of free-view video ” (in “IEEE Transactions on Image Processing” volume 19, pages 1785-1797, July 2010), A. Koz, C. Cigla and A. Alatan disclose a method for embedding a watermark into multi views by exploiting the spatial masking properties of the human visual system. They also disclose a method for detecting watermark by exploiting the position and the rotation of a virtual camera. However the method for watermark detection requires at least one of the original views and the parameters of cameras, which are not always available. In case of unknown cameras parameters, they disclose to use the original views, along with corresponding depth-map information, to estimate the camera position and orientation of the synthesized view. The method comprises a step of transforming the original video with respect to the estimated parameters, and a step of subtracting it to the synthesized view. The correlation between the resulting signal and the watermark signal provides better performance in the watermark detection. However the estimation of the cameras parameters requires heavy processing. Such watermark detection is not blind and is complex and time consuming. Besides, the detection performances are sensitive to the cameras parameters estimation. For instance, in “ Watermarking for depth-image-based rendering ” (in IEEE International Conference on Image Processing, pages 4217-4220, November 2009), E. Halici and A. Alatan also disclose a method for embedding a watermark into multi views by watermarking a reference view with a reference watermark, and embedding a projection of this reference watermark according to depth data into the other views. The method is somehow equivalent to watermarking the 3D scene shot. They also disclose a method for detecting watermark by estimating the projection matrix between the reference view and the tested view. Since it requires the reference view for watermark detection, the detector is non-blind. Once the projection matrix is estimated, the projection of the reference watermark pattern is computed. 
         [0008]    Then if the correlation between the tested view and the projected watermark pattern is high enough, the tested view is considered as generated from watermarked views. However, estimating the projection matrix is error prone and time consuming. 
         [0009]    A large portion of watermarking systems relies on correlation-based detection. Essentially, the detector computes a correlation score between the content (e.g. a view) and a reference watermark signal. If the content contains the watermark and is aligned with it, the detection score is high and the watermark detected. 
         [0010]    In a state of the art watermark detection method applied to video, image, or audio, (as described for instance in “Secure spread spectrum watermarking for multimedia”, IEEE trans. On Image processing, vol 6, n° 12 December 1997, I. Cox, J. Killian, F. Thomson Leighton, T. Shamoon), the watermark is detected on a content by computing the correlation between the reference watermark signal and the content. Then, the absolute value of the correlation is compared to a threshold, to decide whether the content is watermarked or not with the said watermark signal. If the absolute value exceeds the threshold, then the sign of the correlation enables to determine whether bit ‘0’ or bit ‘1’ has been embedded into the content. Such a method fails to recover the watermark when the content has undergone geometric distortions, for instance if the content has been cropped, or the pixels of the content shifted. If the method is directly applied to stereo image watermarking, view synthesis will cause some pixels to shift, and the amount of shift will depend on the depth information of the corresponding objects in the picture. Thus, computing the correlation between the reference watermark signal and a synthetic view will yield a very low correlation value: only the pixels which have not been shifted by the view synthesis process will contribute positively to the correlation. This state-of-the-art method hence gives very poor detection results for 3D stereo content. 
         [0011]    Since, it is usually more convenient to work with blind watermark detectors, a detection algorithm that could be used with any legacy watermark embedder, in particular with disparity-coherent watermark embedder, and that would not require any information related to the original video is therefore is needed. 
       SUMMARY OF THE INVENTION 
       [0012]    The purpose of the invention is to overcome at least one of the disadvantages of prior art by proposing a method for detecting a watermark in a video. The idea of the invention is to compute several correlation values, each corresponding to a shifted version of the watermark signal, and to aggregate these several correlation values to obtain a single detection value. Indeed, instead of reshaping the reference watermark prior to correlation-based detection, we propose a blind detection strategy which collects the different pieces of scattered watermark signal. 
         [0013]    To this end, the invention relates to a method for assessing the presence of a watermark in a video wherein the video comprises at least a sequence of frames. The method comprises for at least one frame among one of the sequences of frames the computing of a set of axial cross-correlation values, wherein each axial cross-correlation value corresponds to a correlation between the frame and a reference watermark shifted along a spatial horizontal axis; obtaining of a detection score by computing a weighted sum of values output by a function applied to said axial cross-correlation values assessing the presence of a watermark according to the detection score. Such method is particularly well adapted to the detection of disparity coherent watermark but is compliant with any watermarking technique. 
         [0014]    In a first preferred embodiment, the method comprises a preliminary processing of the frame among which whitening the frame and/or clipping. Such preprocessing advantageously improves the detection by reducing the interference of the host signal in the frame onto which will be applied the watermark detection procedure. 
         [0015]    According to a particularly advantageous characteristic of the invention, each axial cross-correlation value is computed for a shift within a range. 
         [0016]    In a variant the function is, for instance, the absolute value function. In another variant the function output the axial cross-correlation value in case where axial cross-correlation values which is higher than a second threshold and the function output a zero in case where axial cross-correlation values which is lower than a second threshold. 
         [0017]    In other embodiments, the video comprises two sequences of frames corresponding to a left view and a right view or the video comprises a sequence of synthesized frames derived from a left and a right view. Advantageously in theses embodiments, the axis is a horizontal axis. 
         [0018]    In a second aspect, the invention is directed to a computer-readable storage medium storing program instructions computer-executable to perform the disclosed method. 
         [0019]    In a third aspect, the invention is directed to a device comprising at least one processor adapted to compute a set of axial cross-correlation values for at least one frame among one of the sequences of frames, wherein each axial cross-correlation value corresponds to a correlation between the frame and a reference watermark shifted along a determined axis; to aggregate at least one of the axial cross-correlation values to get a detection score; and to compare the detection score to a first threshold to assess the presence of the reference watermark. 
         [0020]    While not explicitly described, the present embodiments may be employed in any combination or sub-combination. For example, aggregating features may be combined with pre-processing feature and/or video of type 3D stereo or synthesized view. Besides, any characteristic or variant described for the method is compatible with a device intended to process the disclosed methods and with a computer-readable storage medium storing program instructions. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    Other characteristics and advantages of the invention will appear through the description of a non-limiting embodiment of the invention, which will be illustrated, with the help of the enclosed drawings. 
           [0022]      FIG. 1  represents the method for detecting a watermark in a video according to a particular embodiment, 
           [0023]      FIG. 2  represents the displacement of pixels in left and right views of the same scene along with the set of cross-correlation values, 
           [0024]      FIG. 3  illustrates a device implementing the method according to a preferred embodiment. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0025]    Since the disclosed detecting method is particularly well adapted to the detection of disparity coherent watermark in 3D stereo video, although compliant with any watermarking technique, a preferred embodiment is described for such watermark scheme and type of video. 
         [0026]      FIG. 1  represents the method for detecting a disparity coherent watermark according to a particular embodiment. The method is applied on a frame among the frames of one of the sequences of frames belonging to the video. In the following description, the term “sequence” comprises a temporal set of frames representative of a video content. Moreover, in practice, the term “sequence” refers to a “view” (either left or right) in a 3D stereo video or to a “view” in a multi views video. In a first optional step  101 , a pre-processing operation is applied to the frame to improve the detection. In a preferred embodiment, such a step consists in applying a filter to the frames. For instance, if the reference watermark is white or high-pass, a whitening filter may be applied to the frames. Depending on the type of filter chosen (e.g. high-pass filter), it is possible to keep only what is of interest in the frame (e.g. high frequencies). By doing so, the interferences between the frame and the watermark in the next steps will be reduced, and the detection results enhanced. Let us consider that the watermark we are looking for is a Gaussian noise centred to zero. In a first variant, the convolution between the frame and a high pass filter is computed. A simple high pass filter is for instance the 3×3 matrix: 
         [0000]    
       
         
           
             
               
                 1 
                 9 
               
                
               
                 [ 
                 
                   
                     
                       
                         - 
                         1 
                       
                     
                     
                       
                         - 
                         1 
                       
                     
                     
                       
                         - 
                         1 
                       
                     
                   
                   
                     
                       
                         - 
                         1 
                       
                     
                     
                       8 
                     
                     
                       
                         - 
                         1 
                       
                     
                   
                   
                     
                       
                         - 
                         1 
                       
                     
                     
                       
                         - 
                         1 
                       
                     
                     
                       
                         - 
                         1 
                       
                     
                   
                 
                 ] 
               
             
             , 
           
         
       
     
         [0000]    Since a frame is mainly composed of low frequency components, high pass filtering will attenuate these components and thus increase the watermark signal to noise ratio. The filtered frame can be kept as it is, or outlier pixel values can be clipped: all pixel values higher/lower than a pre-defined threshold are set to the threshold value. 
         [0027]    In a second variant, a Fourier transform is applied to the frame. The filtered frame will be the inverse Fourier transform of the phase (magnitude of the signal set to one) of the Fourier transform of the frame: 
         [0000]        F′=FFT   −1 [phase( FFT[F])]   
         [0028]    In a second step  102 , a set of axial cross-correlation values is computed. Each axial cross-correlation value corresponds to a correlation between the frame and a reference watermark shifted along a determined axis. In an advantageous variant, the axis is a horizontal axis. This variant is well adapted to the case where the video correspond to a stereoscopic content comprising synthesized left and right views or to a sequence of synthetic frames derived from left and right views, where the views are rectified stereo views. Those synthetic views are also called virtual views. In order to detect the watermark using correlation, the frame must not only contain the reference watermark, but also be “aligned” with it, i.e. the pixels of the frame must not have been shifted or cropped prior to computing the correlation value. In the case of a view protected with a disparity-coherent watermark, or a virtual view generated from a watermarked reference view or from a watermarked left and right views, the watermark will be shifted in some areas (the translation being proportional to the depth of the object corresponding to the pixel in the scene) as represented on  FIG. 2 . Every area of the frame at a given depth will undergo the same shift, and the underlying watermark in these areas will also undergo this shift. The shift between the location of the same object in the left and right view is also called disparity. The state of the art detection method described before, based on a single correlation, will only capture the watermark in the pixel areas where the disparity is null. The step  102  comprises computing the correlation between the frame and the reference watermark shifted for every shift possible, in others words a cross-correlation within a sliding window is computed. The more there are pixels at a given depth, the higher the correlation score between the frame and the shifted watermark will be. The result of this cross-correlation step  102  is a vector ρ, each of its components being the correlation between the frame F (of size h×w) and the watermark W with a given shift l. In the previously described variant wherein the content is a rectified stereoscopic frame, the correlation is performed only for horizontal shifts: 
         [0000]    
       
         
           
             
               ρ 
                
               
                 ( 
                 l 
                 ) 
               
             
             = 
             
               
                 1 
                 
                   h 
                   , 
                   w 
                 
               
                
               
                 
                   ∑ 
                   
                     
                       1 
                       ≤ 
                       
                           
                       
                        
                       x 
                        
                       
                           
                       
                       ≤ 
                       
                           
                       
                        
                       w 
                     
                     
                       1 
                       ≤ 
                       
                           
                       
                        
                       y 
                        
                       
                           
                       
                       ≤ 
                       
                           
                       
                        
                       h 
                     
                   
                 
                  
                 
                   
                     F 
                      
                     
                       ( 
                       
                         x 
                         , 
                         y 
                       
                       ) 
                     
                   
                    
                   
                     W 
                      
                     
                       ( 
                       
                         
                           x 
                           - 
                           l 
                         
                         , 
                         y 
                       
                       ) 
                     
                   
                 
               
             
           
         
       
     
         [0029]    According to a particular characteristic, it is possible to limit the values for the shifts to a certain range. Indeed, because of visual comfort, in a stereoscopic content, disparity values are limited within a range. Indeed, if the disparity is larger or lower to a given range, it could be either impossible for the user to enjoy the 3D object, or it could demand too much efforts for the eyes to converge or diverge. Thus, to lower the computation burden at detection and to avoid considering noisy correlation components, the correlation may be computed only for shifts  1  in a given range. In an embodiment, the shift is comprised in the range [−40,60] pixels. 
         [0030]    In a third step  103 , the axial cross-correlation values are aggregated to obtain a detection score. The vector of correlation values ρ(l) is used to decide whether the image is watermarked or not with the given reference watermark, and if the watermarked bit inserted in the image is ‘0’ or ‘1’. In the variant where the shift is limited within a given range, the several values ρ(l) for l in the given shift range are aggregated together into a single value. According to various characteristics, aggregating the values of this vector over the shift range in order to obtain a detection score comprises
       Summing all these values:       
 
         [0000]    
       
         
           
             
               score 
                
               
                 ( 
                 F 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 l 
               
                
               
                 ρ 
                  
                 
                   ( 
                   l 
                   ) 
                 
               
             
           
         
       
       
         
           
             Taking the maximum of these values: 
           
         
       
     
         [0000]    
       
         
           
             
               score 
                
               
                 ( 
                 F 
                 ) 
               
             
             = 
             
               
                 max 
                 l 
               
                
               
                 ρ 
                  
                 
                   ( 
                   l 
                   ) 
                 
               
             
           
         
       
       
         
           or 
         
       
       
         
           
             
               
                 score 
                  
                 
                   ( 
                   F 
                   ) 
                 
               
               = 
               
                 ρ 
                  
                 
                   ( 
                   
                     l 
                     * 
                   
                   ) 
                 
               
             
             , 
             
               
                 l 
                 * 
               
               = 
               
                 arg 
                  
                 
                     
                 
                  
                 
                   
                     max 
                     l 
                   
                    
                   
                      
                     
                       ρ 
                        
                       
                         ( 
                         l 
                         ) 
                       
                     
                      
                   
                 
               
             
           
         
       
       
         
           
             Summing thresholded values: 
           
         
       
     
         [0000]    
       
         
           
             
               score 
                
               
                 ( 
                 F 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 l 
               
                
               
                 { 
                 
                   
                     
                       
                         
                           
                             ρ 
                              
                             
                               ( 
                               l 
                               ) 
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 ρ 
                                  
                                 
                                   ( 
                                   l 
                                   ) 
                                 
                               
                             
                             &gt; 
                             
                               T 
                               ρ 
                             
                           
                         
                       
                       
                         
                           0 
                         
                         
                           otherwise 
                         
                       
                     
                      
                     
                       
 
                     
                      
                     or 
                      
                     
                       
 
                     
                      
                     
                       score 
                        
                       
                         ( 
                         F 
                         ) 
                       
                     
                   
                   = 
                   
                     
                       ∑ 
                       l 
                     
                      
                     
                       { 
                       
                         
                           
                             
                               ρ 
                                
                               
                                 ( 
                                 l 
                                 ) 
                               
                             
                           
                           
                             
                               
                                 if 
                                  
                                 
                                     
                                 
                                  
                                 
                                    
                                   
                                     ρ 
                                      
                                     
                                       ( 
                                       l 
                                       ) 
                                     
                                   
                                    
                                 
                               
                               &gt; 
                               
                                 T 
                                 ρ 
                               
                             
                           
                         
                         
                           
                             0 
                           
                           
                             otherwise 
                           
                         
                       
                     
                   
                 
               
             
           
         
       
       
         
           
             Summing n maximal values, when n is a preset parameter (e.g. n=3): 
           
         
       
     
         [0000]    
       
         
           
             
               score 
                
               
                 ( 
                 F 
                 ) 
               
             
             = 
             
               
                 
                   ∑ 
                   
                     i 
                     = 
                     0 
                   
                 
                 
                   n 
                   - 
                   1 
                 
               
                
               
                 ρ 
                  
                 
                   ( 
                   
                     l 
                     i 
                   
                   ) 
                 
               
             
           
         
       
     
         [0000]    with ρ(l 0 )≧ρ(l 1 )≧. . . ≧ρ(l n-1 )≧ρ(l n )≧. . . ≧ρ(l R ) and R being the number of shifts considered (i.e. the number of shifts in the shift range). 
         [0035]    Alternatively, the above aggregation function is applied to the absolute value of ρ(l). For instance, the aggregated value is the sum of absolute values of ρ(l) over the shift range: 
         [0000]    
       
         
           
             
               score 
                
               
                 ( 
                 F 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 l 
               
                
               
                  
                 
                   ρ 
                    
                   
                     ( 
                     l 
                     ) 
                   
                 
                  
               
             
           
         
       
     
         [0036]    Any of the above characteristics described for the aggregating function may be combined with the absolute value |ρ(l)| instead of the signed value ρ(l). Any other function of the correlation vector ρ(l) may be considered as an aggregating function. 
         [0037]    Once the detection score is computed, a third step  103  a comparison of the detection score with a first threshold, called detection threshold T d , allows to decide whether the frame contains the reference watermark or not. If the score is larger than the threshold, the reference watermark is considered embedded in the frame. If the score is lower than a threshold, the frame is detected as not watermarked with the reference watermark. In a variant wherein the watermark embedder uses the polarity of the watermark reference signal to embed a watermark bit, the result of the comparison allows determining the embedded bit. In other words, the watermark embedder inserts reference watermark W(x,y) to embed watermark bit ‘0’, and reference watermark—W(x,y) to embed watermark bit T. Thus, in this case the sign of the detection score is used to decide whether bit ‘0’ or ‘1’ is embedded: 
         [0000]      score( F )&gt; T   d : bit ‘0’
 
         [0000]      score( F )&lt;−T d : bit ‘1’.
 
         [0038]      FIG. 2  represents the displacement of pixels and thus of the watermark in left and right views of the same scene along with the set of cross-correlation values. 
         [0039]    As previously explained, while the regular correlation-based detector will miss all the misaligned pieces of the embedded watermark, the watermark energy associated to each piece could be retrieved by offsetting the reference watermark signal by the corresponding disparity value prior to computing the correlation score. 
         [0040]    In practice, it comes down to computing the horizontal cross-correlation between the content and the reference signal. For instance, let us assume that the left view  200  is watermarked with a reference signal  201  resulting in a watermarked left view  202  and that this reference signal  201  is exported in a disparity-coherent fashion onto the right view  203  resulting in a watermarked right view  204 . The set of horizontal cross-correlation values reveals a peak  205  centered on  0  in the left view, while it yields a curve  206  similar to the disparity profile in the right view. This cross-correlation and aggregation detection does not require any side information aside the reference watermark. The detection is blind. 
         [0041]      FIG. 3  illustrates a hardware embodiment of a device  300  adapted to implement the steps of the detection method. The skilled person will also appreciate that the method can be implemented quite easily without the need for special equipment by devices such as PCs. The device  300  corresponds for example to a personal computer, to a laptop, to a game console or to any image processing unit. According to different variants, features described for the method are being implemented in software module or in hardware module. The device  300  comprises physical means intended to implement an embodiment of the invention, for instance a processor  301  (CPU), a data memory  302  (RAM or HDD), a program memory  303  (ROM), one of several inputs/outputs  304  (I/O). When powered up, the microprocessor  301  loads and runs the instructions of the watermark detection algorithm comprised in RAM  302 . The memory RAM  302  further comprises data representative of the video sequence and associated watermark reference. 
         [0042]    As will be appreciated by one skilled in the art, aspects of the present principles can be embodied as a system, method or computer readable medium. Accordingly, aspects of the present principles can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, and so forth), or an embodiment combining software and hardware aspects that can all generally be referred to herein as a “circuit,” “module”, or “system.” Furthermore, aspects of the present principles can take the form of a computer readable storage medium. Any combination of one or more computer readable storage medium(s) may be utilized. 
         [0043]    Naturally, the invention is not limited to the embodiments and characteristics previously described. 
         [0044]    In particular, the invention is compatible with any watermark scheme.