Abstract:
For watermark embedding, without full Dolby AC-3 decoding, mantissa bits in the AC-3 bit stream are changed by exploiting the fact that during AC-3 encoding more bits than required by the perceptual masking curve are used for the quantization of the MDCT coefficient mantissa values. In addition to the bap values, truly required bap values are determined and the mantissa values are changed accordingly, controlled by the watermark information. The advantages are efficient watermark embedding, other bit stream parameters and values remain unchanged except for CRC checks, and the audio quality of the watermarked signal remains perceptually unchanged.

Description:
FIELD OF THE INVENTION 
     This application claims the benefit, under 35 U.S.C. §119 of European Patent Application 12305760.6, filed Jun. 28, 2012. 
     The invention relates to a method and to an apparatus for watermarking an AC-3 encoded bit stream by modifying mantissa values. 
     BACKGROUND OF THE INVENTION 
     Dolby AC-3 (adaptive transform coder 3) is a well-known audio compression format, which is used e.g. in cinema, DVD, BD and digital television applications. 
     In WO 2005/008582 A2 a watermark embedding for an AC-3 bit stream is disclosed that is performed by directly changing mantissa bits in the bit stream. For deriving the reference mantissas the bit stream is decompressed to a PCM signal, followed by PCM watermarking and an MDCT transform required for deriving watermarked MDCT coefficients, which finally deliver the required reference mantissas for modifying the mantissa bits in the bit stream. 
     SUMMARY OF THE INVENTION 
     However, this kind of reference mantissa generation is relatively complicated, limiting its deployment for real-time applications like in digital home networks or for video-on-demand. Moreover, no psycho-acoustic constraint is taken into account during the mantissa modification, possibly resulting in perceptual distortions. 
     A problem to be solved by the invention is to provide an efficient way for watermark embedding in an AC-3 bit stream, thereby maintaining the audio perceptual transparency. 
     According to the invention, for watermark embedding, without full AC-3 decoding, MDCT coefficient mantissa bits in the AC-3 bit stream are changed by exploiting the fact that during AC-3 encoding more bits than required by the perceptual masking curve are used for the quantization of the mantissa values. 
     For low bit rate AC-3 streams such watermark information embedding may not be possible due to small or even negative SNR-offset values. On the other hand it is questionable whether it makes sense to watermark such low bit rates and, if true, further degradation of the audio quality is probably not a problem. 
     The advantages of the inventive processing are:
         efficient watermark embedding;   other parameters and values (except for CRC checks) in the bit stream remain unchanged and reference mantissas are generated directly independent of the embedding process;   the audio quality of the watermarked signal remains perceptually unchanged and the perceptual transparency is kept;   low complexity because the AC-3 stream does not need to be fully decoded, watermarked with a PCM watermarking procedure and encoded again to get a watermarked AC-3 stream, which may result in a further degradation of the quality.       

     In principle, the inventive method is suited for watermarking an AC-3 encoded bit stream, said method comprising:
         partially decoding said AC-3 encoded bit stream, thereby providing original quantized mantissa values and exponent values derived from MDCT transform coefficients and bap values for said mantissa values, and determining the corresponding PSD values from said exponent values and determining from said PSD values the resulting masking curve;   determining from said masking curve and said PSD values truly required bap values denoted as bap_t values;   determining from said original mantissa values, said bap values and said bap_t values a maximum allowable mantissa value modification for a current mantissa and, if applicable, limiting a desired value for said current mantissa by said maximum allowable mantissa value modification, wherein said desired mantissa value is received from a watermarking processing;   changing the original AC-3 mantissa bits for a current mantissa value according to said limited desired mantissa value.       

     In principle the inventive apparatus is suited for water-marking an AC-3 encoded bit stream, said apparatus comprising:
         means for partially decoding said AC-3 encoded bit stream, thereby providing original quantized mantissa values and exponent values derived from MDCT transform coefficients and bap values for said mantissa values, and for determining the corresponding PSD values from said exponent values and for determining from said PSD values the resulting masking curve;   means for determining from said masking curve and said PSD values truly required bap values denoted as bap_t values;   means for determining from said original mantissa values, said bap values and said bap_t values a maximum allowable mantissa value modification for a current mantissa and, if applicable, for limiting a desired value for said current mantissa by said maximum allowable mantissa value modification, wherein said desired, mantissa value is received from a watermarking processing;   means for changing the original AC-3 mantissa bits for a current mantissa value according to said limited desired mantissa value.       

    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Exemplary embodiments of the invention are described with reference to the accompanying drawings, which show in: 
         FIG. 1  simplified block diagram for watermark embedding in an AC-3 bit stream; 
         FIG. 2  example SNR-offset values of an AC-3 bit stream with 384 kbps bit rate; 
         FIG. 3  inventive watermark embedding by changing mantissa bits; 
         FIG. 4  comparison of bap and bap_t values for an example AC-3 bit stream; 
         FIG. 5  quantized mantissas resulting from a finer or coarser quantize, bap&gt;bap_t; 
         FIG. 6  modification of m b ; 
         FIG. 7  generation of reference mantissas according to the invention; 
         FIG. 8  watermark detection. 
     
    
    
     DETAILED DESCRIPTION 
     Principle of AC-3 codec for a Single Full-Bandwidth Channel 
     For AC-3 encoding an input audio signal is divided into overlapping blocks, each of which is weighted by a window function, denoted as windowing-overlapping WOL. Thereafter each weighted block is transformed to the frequency domain by means of a modified discrete cosine transform MDCT. The AC-3 codec quantizes the MDCT coefficients and delivers the quantized MDCT coefficients in the bit stream. At AC-3 decoder side, an inverse MDCT transform IMDCT is applied to corresponding blocks of quantized MDCT coefficients extracted from the AC-3 bit stream in order to get time-domain data blocks. After a corresponding windowing-overlap-add WOLA process, the decoded audio signal is recovered. 
     Instead of transmitting quantized MDCT coefficients directly, each AC-3 MDCT coefficient is basically represented by a mantissa-exponent format: X[k]=m[k]2 −e[k] , where m[k] is the mantissa of X[k] and e[k] is the exponent. The exponent e[k] is a non-negative integer and the mantissa m[k] belongs to {[−1,−0.5)∪0∪(0.5,1]}. Before mantissa quantization, MDCT coefficients are pre-processed:
         Exponents greater than 24 are truncated to 24;   For compression, exponents are shared between 1, 2 or 4 adjacent MDCT coefficients. Accordingly, mantissas sharing the same exponent are selectively scaled. For example, m[k−1]2 −2 ,m[k]2 −3  denote two MDCT coefficients before exponent sharing. The second mantissa is scaled to m[k]2 −3 →(m[k]2 −1 )2 −2 , i.e. it is scaled by 2 −1 ;   Differential exponents are evaluated while limiting the difference to {0,±1,±2}.   For example, m[k−1]2 −2 ,m[k]2 −7  denote two MDCT coefficients where the exponent difference is e[k−1]−e[k]=5. In order to get a difference value in the set (0,±1,±2), the second mantissa is scaled to m[k]2 −7 →(m[k]2 −3 )2 −4 .       

     Therefore, following this pre-processing, the range of mantissa values is changed to m[k]ε[−1,1]. 
     For representing exponents, differential exponents and some reference exponents are used in the bit stream, for details see the AC-3 standard ATSC A/52. 
     From an AC-3 bit stream quantized mantissas can be derived, but instead of transmitting quantized mantissa values directly, a bit allocation pointer ‘bap’ and mantissa bits are assigned to each mantissa. The bap value indicates the type of quantizer used to quantize the corresponding mantissa value, and how many mantissa bits are used to represent the coded mantissa. Based on the bap value and its associated mantissa bits, the corresponding quantized mantissa value can be derived. 
     Moreover, the bap value also indicates how many mantissa bits are representing the quantizer level. Consequently, lo based on the bap values, the number of bits representing quantized MDCT coefficients in the bit stream can be determined. A larger bap value corresponds to a quantizing with more quantization levels, i.e. a quantizing with a higher signal-to-noise ratio of quantization SNRq. 
     Determination of bap Values 
     The determination of bap values is carried out based on e[k] by the following steps:
         Determining the power spectral density PSD from e[k];   Calculating the masking curve;   Determining the bap values such that no audible distortion is introduced due to quantization.       

     More specifically, according to the PSD value and the masking threshold, the corresponding signal-to-mask ratio SMR can be evaluated, Consequently, a quantizer with SNRq≧SMR can be used for quantizing the mantissa without causing perceptual distortions. Let bap 0  be the least bap value resulting from SNRq≧SMR, then selecting a bap value larger than bap 0  will not cause any perceptual distortion. 
     On the other hand, given a bit rate, the number of bits in a bit stream associated to an audio signal is fixed. Therefore the final bap values should fulfill this bit budget constraint. In the AC-3 standard, an SNR-offset parameter is used to shift the original masking curve such that the bit rate constraint is satisfied, and instead of SMR alone, the sum of SMR and SNR-offset is employed to determine the actual bap values, For SNR-offset&gt;0, an increased bap value is obtained. Conversely, SNR-offset&lt;0 will result in a decreased bap value, which however will cause audible distortions. During the AC-3 encoding, the SNR-offset value is determined through an iterative process so that the finally determined bap values are consistent with the bit rate constraint. These final bap values and the corresponding SNR-offset values are included in the AC-3 bit stream. 
     An AC-3 bit stream is composed of sync frames, where each sync frame corresponds to the code for 1536 PCM samples. It includes synchronization information, bit stream information and audio blocks containing exponent and mantissa information. For error detection, two 16-bit cyclic redundancy check (CRC) words are used for each sync frame. The first CRC is employed to check the first ⅝ of the sync frame, and the second one to check the whole sync frame. 
     Basic Decoding Steps for a Full-Bandwidth Channel 
     In a received AC-3 bit stream the exponents can be calculated easily from the reference exponents and the differential exponents. After calculating the PSD values and the masking curve, the bap values are determined by taking the received SNR-offset values into account. Each bap value and its associated mantissa bits deliver a quantized mantissa and, together with the corresponding exponent values, quantized MDCT coefficients are reconstructed. Following the WOLA processing, a PCM signal is recovered. 
     Improved Watermark Embedder According to the Invention 
     A systematic overview of watermark embedding in an AC-3 bit stream is shown in  FIG. 1 . The AC-3 bit stream is input to a watermark embedder  11  which generates another AC-3 bit stream compatible to the AC-3 standard. A secret key and a watermark information payload are input to a watermark reference pattern generation  12  controlling embedder  11 . In embedder  11 , the AC-3 bit stream is modified according to the reference patterns. 
     As described above, bap values in the AC-3 bit stream are larger than required by the perceptual constraint if SNR-offset&gt;0. Therefore corresponding mantissa values can be modified without causing perceptual distortions, which enables watermark information embedding.  FIG. 2  shows example SNR-offset dB values of an AC-3 bit stream with 384 kbps bit rate as a function of the block index, where each block has its own SNR-offset. 
     The inventive watermark embedding by means of changing mantissa bits of an AC-3 bit stream is depicted. in  FIG. 3 . In a partial AC-3 bit stream decoding step or stage  31 , the mantissa and bap values and the exponents are derived from the bit stream, the corresponding PSD values are calculated from the exponents and the resulting masking curve is determined. Such partial decoding steps are described in detail in sections 6 and 7 of the AC-3 standard. 
     Based on the calculated masking curve and the PSD values, the truly required. (i.e. without the ‘reserve masking range’ normally present in AC-3) bap values denoted as bap_t values, are determined similarly in a bap_t calculation step or stage  32  by setting SNR-offset values to zero. 
     Remark: if SNR-offset&lt;0, SNR-offset can be decreased further to get bap_t&lt;bap, in case further quality degradation is allowed. 
     As an example,  FIG. 4  shows vs. the frequency bin index for a specific block bap values from the bit stream and the calculated bap_t values, demonstrating the possibility of watermark embedding without sacrificing the perceptual quality. 
     From the bap_t values, from the mantissa and bap values from step/stage  31 , and from reference mantissa values (explained below) received from the processing or circuitry described in connection with  FIG. 7 , a mantissa value modification is carried out in step or stage  33 , as explained in connection with  FIG. 5  and  FIG. 6 . Finally, the original AC-3 mantissa bits are correspondingly changed in mantissa bit changing step or stage  34 , based on the output of step/stage  33 . Not all allowable mantissa modifications found in step/stage  33  may be used, or completely used in step/stage  34 , (as explained below) because the totally available watermarking capacity may not be completely required in a current application. 
     Regarding allowed mantissa changes based on bit stream bap values and the corresponding calculated bap_t values, if a bap_t value is smaller than its corresponding bap value, watermark embedding is possible. The amount of allowed change is determined as depicted in  FIG. 5 , which shows quantized mantissas m b  and m t  for bap&gt;bap_t. As mentioned above, a larger bap value means a finer quantizer, i.e. more quantization levels. In  FIG. 5 , the horizontal axis represents MDCT coefficient mantissa amplitude values, the short vertical lines are quantization levels ‘Δ’ indicated by, or based on, bap values and circles are quantization levels ‘Δ t ’ indicated by, or based on, bap_t values. According to the bap value in the bit stream, the original mantissa m of an MDCT coefficient is lying in the interval m b −Δ/2≦m&lt;m b +Δ/2 and is quantized to value m b . On the other hand, as explained above a coarser quantizer based on bap_t and not causing any perceptual distortion can be used, which quantizes the original mantissa value m to value m t  if mantissa m is lying in the interval m t −Δ t /2≦m&lt;m t +Δ t /2. 
     Because the maximal quantization error when using bap is Δ/2 and the maximal allowed. quantization error when using bap_t is Δ t /2, the maximal allowed invention-related change for embedding becomes Δ t /2−Δ/2 for the quantized mantissa value m b . 
     Thereafter, as explained below, the quantized mantissas are enlarged or decreased with respect to reference mantissas and the determined amount of allowed changes, such that the modified mantissa value is still on the grid of the finer quantizer. The term ‘reference mantissa’ means a desired mantissa value in view of the watermarking to be carried out. The set of such quantization levels according to current bap values is determined where the maximum difference between quantization levels in the set and m b  is Δ t /2−Δ/2. Then the quantization level is selected within the set, which quantization level is the nearest one to the reference mantissa m r . 
       FIG. 6  shows two corresponding examples for such mantissa modification. Like in  FIG. 5 , Δ is the quantization step according to the bap value. Then the maximal allowed change is determined as nΔ, where 
             n   =       ⌊           Δ   ’     /   2     Δ     -     1   2       ⌋     ⁢           ⁢   and   ⁢           ⁢     ⌊     ‘           ⁢   …   ⁢           ’     ⌋             
denotes an integer value not larger than the ‘. . . ’ value.
 
     Therefore, the set of allowed quantization levels will be S={m b , m b ±Δ, . . . , m b ±nΔ}. The mantissa modification is then reduced to find the quantization level in S that has the minimum distance to a given reference mantissa value m r . Accordingly, in  FIG. 6   a  the modified mantissa value, denoted as m m , will be limited and have a value m m =m b +3Δ, and in  FIG. 6   b  the modified mantissa value becomes m m =m b −2Δ. 
     According to the modified mantissa values m m , the original mantissa bits in the AC-3 standard bit stream are changed. Because the corresponding bap value is the same, the other parameters in the bit stream remain unchanged. Any subset of S can be employed for the mantissa modification, while fully using S enables the maximal embedding strength. 
     Generation of Reference Patterns 
     Dependent on a secret key (cf.  FIG. 1 ), N W  different time domain reference patterns are generated in random generator  71  in  FIG. 7 , where N W  denotes the alphabet size of the watermark symbols to be used. For each watermark symbol, a is time domain reference pattern of length L (for example L=16384) is randomly generated, where cross-correlation between different time domain reference patterns should be low and auto-correlation of each reference pattern has a large peak. 
     For each time domain reference pattern, the frequency domain reference pattern is then calculated in step/stage  72  by means of AC-3 WOL processing and MDCT transform similar as in the AC-3 encoder one time domain reference pattern is divided into overlapped blocks, and each block is weighted by a window function. Each weighted block is then transformed to the frequency domain by means of MDCT. For 50% overlapping, a block length of 512 and a reference pattern length of 16384, this results in 16128 MDCT coefficients. In step or stage  73  a current group of mantissa values obtained from the calculated MDCT coefficients is extracted. According to a current watermark information symbol, a frequency domain reference pattern is applied to the corresponding mantissa values (in this example, each symbol corresponds to 16128 mantissa values), and the resulting current reference (i.e. desired) mantissa values are used in step/stage  33  in  FIG. 3  for embedding the watermark information. 
     Watermark Detection 
     Watermark detection in a received watermarked signal can be carried out by means of cross-correlation as described in WO 2007/031423 A1, or by means of a statistical detector as described in EP 2175444 A1 or WO 2011/141292 A1. The set of N W  different time (or frequency) domain reference patterns is stored in the watermark decoder, or is generated in the decoder by using the same key or keys as the encoder has used. In the watermark detection processing, post-processing steps like frequency range limitation or spectrum whitening may be carried out in order to generate a whitened watermarked signal and a whitened time-domain reference signal. As shown in  FIG. 8 , the received watermarked AC-3 signal passes through a postprocessing step or stage  82  to a cross-correlator or statistical detector  83 . Candidate time domain reference patterns to be checked may also pass through a corresponding postprocessing step or stage  81  and are used in step/stage  83  for correlation with corresponding sections of the received signal, or for statistical detection. In case of a match, step/stage  83  outputs the detected corresponding watermark information. 
     More details can be found in M. Arnold, P. C. Baum, W. Voessing, “A phase modulation audio watermarking technique,” 11 th  Information Hiding Workshop, pages  102 - 116 , 2009. Consequently, a watermark detector used for PCM watermarked signals may also be used for AC-3 bit stream watermark detection. That is, the detector interoperability is maintained: the watermark can be detected, irrespective of whether it is a watermarked PCM signal or a watermarked signal with embedding occurring in the AC-3 bit stream. 
     The described watermark embedding processing based on changing the mantissa values can be applied to other PCM audio watermarking systems as well. The generation of the reference mantissas is based on a time-domain reference pattern dependent on the watermark symbol, which can be generated for any audio watermarking processing. In turn the embedding procedure according to  FIG. 7  can be applied starting from the time-domain reference pattern. The corresponding detection algorithm for PCM watermarking can be used accordingly to the detection domain of the specific audio watermarking system.