EP1887565A1 - Method and device for detecting a tattooing identifier in an audio signal - Google Patents

Method and device for detecting a tattooing identifier in an audio signal Download PDF

Info

Publication number
EP1887565A1
EP1887565A1 EP20070301153 EP07301153A EP1887565A1 EP 1887565 A1 EP1887565 A1 EP 1887565A1 EP 20070301153 EP20070301153 EP 20070301153 EP 07301153 A EP07301153 A EP 07301153A EP 1887565 A1 EP1887565 A1 EP 1887565A1
Authority
EP
Grant status
Application
Patent type
Prior art keywords
audio
signal
method
samples
detecting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP20070301153
Other languages
German (de)
French (fr)
Inventor
Olivier Develle
Guyader Alain Le
André Gilloire
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00-G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00-G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00-G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

Abstract

The method involves preparing a current block of samples from a digitally tattooed audio signal, and calculating a correlation by a hadamard type or Fourier transform type rapid transformation method, between the samples of the block and a random sequence that is obtained from an initialization key. Correlation values of a specific number of the samples are compared to a predetermined threshold. The preparation, calculation and comparison operations are performed with another block that is shifted by the number of samples. Independent claims are also included for the following: (1) a device for detecting a tattooing identifier in an audio signal (2) a computer program comprising code instructions for implementation of a method for detecting a digital tattooing identifier in an audio signal.

Description

  • [0001]
    L'invention se rapporte à un procédé et à un dispositif de détection d'un identificateur de tatouage ou de marque dans un signal audiovisuel et notamment un signal audio. The invention relates to a method and a device for detecting a watermark identifier or mark in an audiovisual signal including an audio signal.
  • [0002]
    Le tatouage permet de transmettre une information additionnelle dans des données support de manière imperceptible. The tattoo can transmit additional information in imperceptibly media data. Pour des données audiovisuelles cela revient à établir un canal de communication de données dissimulé, en parallèle avec l'infrastructure classique de transport de l'information. For audiovisual data this amounts to establishing a concealed data communication channel, in parallel with the conventional transport infrastructure of information.
  • [0003]
    Un des principaux avantages du tatouage est que les données auxiliaires sont dissimulées et attachées au signal et par la même sont capables de supporter des changements de format et de fréquence d'échantillonnage donnant au tatouage une interopérabilité au niveau des terminaux et des réseaux, seules les extrémités au niveau de la détection devant être compatibles avec l'insertion. A major advantage of the tattoo is that the auxiliary data is hidden and attached to the signal and by the same are capable of withstanding changes format and sampling frequency giving the tattoo interoperability at the terminals and network, only ends at the detection must be compatible with the insert.
  • [0004]
    Une trame du canal de communication dissimulé dans le signal porteur est par exemple constituée d'une marque de synchronisation que l'on peut également appeler identificateur de tatouage, suivie du message inséré dans le signal, le début du message étant indiqué par l'identificateur de tatouage. A frame of the communication channel concealed in the carrier signal consists for example of a mark of synchronization that may also be called tattoo identifier, then the message inserted into the signal, the beginning of the message being indicated by the identifier tattoo.
  • [0005]
    Après transmission du signal tatoué, à la lecture du media, la détection consiste d'abord à détecter l'identificateur de tatouage qui a été inséré en début de trame. After transmission of the watermarked signal, reading of the media, the first detection comprises detecting the tattoo identifier that was inserted in frame start. Une fois cet identificateur repéré dans le contenu audio par exemple, la détection des bits du message peut commencer. Once spotted this identifier in the audio example, the detection of bits of the message begins. Les séquences "identificateur de tatouage + message éventuel" sont insérées en continu dans le média, les débuts d'identificateur coïncidant avec les zones d'énergie suffisante propices à l'insertion. Sequences "tattoo identifier + any message" are inserted continuously into the medium, the identifier coinciding with the beginning of sufficient energy areas suitable for insertion. En réception la détection de chaque séquence se fait également en continu permettant ainsi de se resynchroniser en cas de coupure dans le média porteur (édition du signal, coupures par un pirate ou encore pertes de trames de la transmission). In reception the detection of each sequence is also continuously allowing to re-synchronize in case of power in the carrier medium (signal edition, cuts by a hacker or losses of the transmission frames).
  • [0006]
    Les identificateurs de tatouage ainsi que les messages sont formés à partir de séquences aléatoires gaussiennes issues d'un générateur de nombres aléatoires ou de séquences Pseudo-Aléatoires (Pseudo-Noise Séquences en Anglais ou séquences PN) générées par un registre à décalage dont les cellules sont bouclées de façon à produire une séquence de sortie de longueur maximale. Tattoo identifiers as well as the posts are formed from random sequences derived from a Gaussian random number generator or pseudo-random sequences (Pseudo-Noise Sequence in English or PN sequences) generated by a shift register whose cells are fastened so as to produce an output sequence of maximum length. Toute autre séquence aléatoire issue de la théorie des machines à états finis (séquences de Gold, codes de Baker, séquences de Walsh, ...) peut convenir à condition que sa fonction de corrélation soit proche d'une distribution de Dirac. Any other random sequence from the finite state machine theory (Gold sequences, Baker codes, Walsh sequences, ...) may be suitable provided that its correlation function is close to a Dirac distribution. Dans la suite de la description, nous parlerons de séquences aléatoires aussi bien pour désigner des séquences aléatoires que des séquences pseudo-aléatoires. In the following description, we will speak of random sequences as well to refer to random sequences of pseudo-random sequences.
  • [0007]
    Une procédure classique de génération d'un signal tatoué est illustrée à la figure 1. Ainsi, le module 11 permet de générer une séquence aléatoire de longueur N à partir d'une valeur d'initialisation K fixée à l'avance. A typical procedure for a watermarked signal generation is illustrated in Figure 1. Thus, the module 11 to generate a random sequence of length N from a K initialization value set in advance. On obtient ainsi une séquence aléatoire w(n). a random sequence is thus obtained w (n).
  • [0008]
    Dans le cas où on veut transmettre un bit d'information 0 ou 1, cette séquence est modulée par l'information à transmettre en la multipliant par 1 si le bit à transmettre est 1 et par -1 si le bit à transmettre est 0. Cette étape de génération est effectué dans le module 12 et génère une séquence modulée ±w(n). In case one wants to transmit a data bit 0 or 1, this sequence is modulated by the information to be transmitted by multiplying it by 1 if the bit to be transmitted is one and -1 if the bit to be transmitted is 0. this generating step is performed in the module 12 and generates a modulated sequence ± w (n).
    Dans le cas où on veut juste insérer un identificateur de tatouage, la séquence aléatoire n'est pas modulée. If we just want to add a tattoo identifier, the random sequence is not modulated.
  • [0009]
    Un modèle psycho-acoustique 13 est pris en compte par le module 14 pour générer l'identificateur de tatouage ou le message w f (n) de façon à le rendre inaudible. A psychoacoustic model 13 is taken into account by the module 14 to generate the tattoo identifier or message w f (n) so as to render it inaudible. Une étape d'ajustage par un gain est effectuée en 15. Cet identificateur de tatouage ou ce message est ensuite additionné en 16 au signal audio s(n) pour former le signal tatoué s w (n). A step of adjusting a gain is performed 15. This tattoo identifier or message is then added in 16 to audio signal s (n) to form the watermarked signal s w (n).
  • [0010]
    Ce signal est soit stocké sur un média pour lecture ultérieure par un lecteur soit transmis sur un réseau de transmission fixe, mobile ou de diffusion. This signal is either stored on a medium for subsequent reading by a reader is transmitted over a fixed transmission network, mobile or broadcast.
    En réception l'identificateur de tatouage doit être détecté pour agir sur le signal reçu, par exemple en bloquant le lecteur en cas de détection de contenu piraté. Reception tattoo identifier must be detected to affect the received signal, for example by blocking the drive in case of pirated content detection.
  • [0011]
    Une procédure classique de détection d'identificateur de tatouage est illustré en figure 2. A conventional procedure of tattoo identifier detection is illustrated in Figure 2.
  • [0012]
    Le signal audio tatoué s w (n) est d'abord blanchi par filtrage inverse par le module 21 (correspondant à l'inverse de la prise en compte du modèle psycho-acoustique). The watermarked audio signal s w (n) is first whitened by inverse filtering by the module 21 (corresponding to the inverse of the consideration of the psychoacoustic model). L'opération de détection de la présence de l'identificateur de tatouage et du contenu de la trame elle-même est ensuite effectuée par calcul de corrélation par le module 22 entre le signal filtré x w (n) et la séquence aléatoire w(n) générée par le module 23 de la même façon que lors de l'insertion. The operation of detecting the presence of the tattoo identifier and the contents of the frame itself is then carried out by correlation calculation by the unit 22 between the filtered signal x w (n) and the random sequence w (n ) generated by the module 23 in the same manner as during insertion.
  • [0013]
    Cette détection détermine soit un repère de trame k s lors de la détection du l'identificateur de tatouage, soit les bits de l'information insérée. This detection determines either a frame mark k s when detecting the tattoo identifier or the bits of the inserted information.
  • [0014]
    Ne connaissant pas l'instant de début de trame dans le signal porteur, le calcul de corrélation se fait de manière glissante. Not knowing the frame start time in the carrier signal, the correlation calculation is slidably. On parle alors d'intercorrélation glissante. This is called cross correlation slippery.
  • [0015]
    Cette méthode consiste à effectuer un calcul de corrélation entre les échantillons du signal tatoué et la séquence aléatoire pour chaque décalage d'un échantillon du signal tatoué, jusqu'à ce que le début de l'identificateur de tatouage soit révélé par le fait que le coefficient de corrélation Cor(k) dépasse un seuil S. Pour chaque instant d'échantillonnage k , le coefficient de corrélation est donné par: This method consists in performing a correlation calculation between the samples of the watermarked signal and the random sequence for each shift of a sample of the watermarked signal, until the beginning of the tattoo identifier is revealed by the fact that the coefficient of correlation Cor (k) exceeds a threshold S. for each sampling instant k, the correlation coefficient is given by: Cor Horn k k = = Σ n not = = 0 0 N NOT - - 1 1 x x w w n not + + k k w w n not k k = = 0 0 , , ... , , k k s s
  • [0016]
    Une fois le début de trame détecté, un seul calcul de corrélation suffit pour détecter le message: Once the detected frame start, a single correlation calculation is sufficient to detect the message: Cor Horn m m = = Σ n not = = 0 0 N NOT m m - - 1 1 x x w w n not w w n not sur N m échantillons du signal porteur pour un bit de message. N m samples of the carrier signal for a message bit. Le bit détecté sera 0 si la corrélation message Cor m est négative, il sera de 1 dans le cas contraire. The detected bit is 0 if the message m Cor correlation is negative, there will be 1, otherwise.
  • [0017]
    Il apparaît donc que pour détecter la position de l'identificateur de tatouage, c'est-à-dire l'instant où le message a été inséré il est nécessaire d'effectuer une intercorrélation pour chaque échantillon du signal porteur jusqu'à ce que l'identificateur soit trouvé. It therefore appears that to detect the position of the tattoo identifier, that is to say the time when the message has been inserted it is necessary to perform a cross-correlation for each sample of the carrier signal until the identifier is found. Pour des valeurs de N importantes, la recherche de l'identificateur est donc longue et complexe alors que la détection du bit émis se fait rapidement. For large values of N, the search for the identifier is long and complex, while the detection of transmitted bit is done quickly.
  • [0018]
    A titre d'exemple, pour une valeur de N égale à 4096 et une fréquence d'échantillonnage de 44100 Hz, le nombre de multiplications à effectuer par seconde sera de 18010 6 multiplications par seconde, ce qui est largement supérieur à la capacité des processeurs du commerce. For example, for a value of N equal to 4096 and a sampling frequency of 44100 Hz, the number of multiplications to be performed per second will be 18010 6 multiplications per second, which is well above the capacity of the processors Trade.
  • [0019]
    Il est donc important de réduire cette complexité de calcul pour la recherche de l'identificateur de tatouage dans le signal porteur notamment pour une mise en oeuvre dans des terminaux mobiles. It is therefore important to reduce this computational complexity for finding the tattoo identifier in the carrier signal including an implementation in mobile devices.
  • [0020]
    Par ailleurs, certaines techniques de calcul de corrélation rapides et efficaces sont décrites dans l'état de l'art. Also, some fast and efficient correlation calculation techniques are described in the prior art.
  • [0021]
    Le document The document , décrit une méthode qui permet de calculer efficacement les intercorrélations. Describes a method to efficiently calculate the cross-correlations. Cette méthode s'applique dans le cas où on a inséré une séquence aléatoire de façon périodique. This method is applicable in the case where a random sequence inserted periodically.
  • [0022]
    La propriété qui est exploitée pour calculer la corrélation est l'application renouvelée et de façon cyclique de la séquence aléatoire. The property is exploited to compute the correlation is renewed and cyclically applying the random sequence manner.
  • [0023]
    Cette méthode ne s'applique donc pas au cas où on désire détecter le début d'une trame de tatouage qui représente l'identificateur de tatouage dans un système de tatouage audio. This method does not apply in case the beginning of a frame tattoo is desired to detect which represents the tattoo identifier in an audio watermarking system.
  • [0024]
    En effet, un seul identificateur étant inséré à la fois, mais à plusieurs endroits du signal porteur, par exemple toutes les 10 à 50 secondes, et dans un endroit propice à la détection, l'application de la méthode d'Hadamard cité dans le présent document engendrerait dans le calcul du vecteur de corrélation, des termes de repliement parasites d'autant plus importants que le décalage entre le bloc d'analyse du signal tatoué et la séquence insérée est grand. Indeed, a single identifier being inserted at a time, but in several places of the carrier signal, for example every 10 to 50 seconds, and in a suitable location to detect the application of the Hadamard method cited in the herein would result in the calculation of the correlation vector, parasites aliasing terms the more important as the difference between the analysis block of the watermarked signal and the inserted sequence is large. Ces termes de repliement proviennent du produit du vecteur de signal tatoué par la diagonale inférieure de la matrice de la séquence aléatoire décalée circulairement. These terms come from folding produces the watermarked signal vector by the lower diagonal of the matrix of the random sequence circularly shifted. Les éléments de cette diagonale sont égaux à la séquence aléatoire repliée, pris dans un ordre miroir inverse d'où l'appellation "termes de repliement". The elements of the diagonal are equal to the folded random sequence taken as a mirror reverse order from which the label "Under refolding". Ces termes parasites, qui n'existent pas quand la séquence aléatoire est périodique comme utilisée dans le document d'Alrutz et Schroeder, diminueraient la valeur du pic de corrélation dans le cas d'une séquence aléatoire non périodique affectant ainsi la fiabilité de la détection de l'identificateur. These parasites words that do not exist when the random sequence is periodic as used in the document Alrutz and Schroeder would decrease the value of the correlation peak in the case of a non-periodic random sequence thus affecting the reliability of detection of the identifier.
  • [0025]
    D'autres techniques d'insertion et de détection de tatouage qui améliorent la rapidité du calcul de corrélation lors de la détection existent. Other insertion techniques and watermarking detection which improve the speed of calculation of correlation when detecting exist. Dans la demande de brevet In the patent application WO 2004/010376 WO 2004/010376 , le tatouage est inséré dans le domaine de Fourier, la marque fréquentielle est ajoutée au signal après un décalage lié de façon biunivoque avec l'identificateur inséré. The watermark is inserted into the Fourier domain, the frequency mark is added to the signal after a related offset of biuniquely with the inserted identifier. Le signal tatoué dans le domaine temporel est obtenu par transformée de Fourier inverse. The watermarked signal in the time domain is obtained by inverse Fourier transform. En détection chaque trame est passée dans le domaine fréquentiel par transformée de Fourier. In each detection frame is passed into the frequency domain by Fourier transform. Plusieurs trames de coefficients de Fourier sont accumulées, le résultat de l'accumulation étant corrélé avec la marque fréquentielle. Several Fourier coefficients of frames are accumulated, the result of the accumulation being correlated with the frequency brand. Le maximum de la corrélation donne la valeur du décalage donc le contenu du message de la trame. The maximum of the correlation gives the value of the shift thus the message content of the frame. Le maximum de corrélation est calculé par transformée de Fourier inverse du produit de la transformée de Fourier du signal accumulé par le conjugué de la transformée de Fourier de la marque fréquentielle. The correlation maximum is calculated by inverse Fourier transform of the product of the Fourier transform of the accumulated signal by the conjugate of the Fourier transform of the frequency brand. Cette méthode nécessite de nombreux passages d'un domaine fréquentiel à un domaine transformé du domaine fréquentiel et inversement, l'insertion s'effectuant dans le domaine fréquentiel. This method requires many passages of a frequency domain to a transform domain frequency domain and vice versa, the insertion is performed in the frequency domain.
  • [0026]
    La présente invention offre une solution qui ne présente pas ces inconvénients en proposant un procédé de détection d'un identificateur de tatouage qui minimise le nombre d'opérations à effectuer et la complexité des calculs tout en permettant une décision fiable. The present invention offers a solution that does not have these disadvantages by providing a method of detecting a watermark identifier that minimizes the number of operations required and the computational complexity while enabling reliable decision.
  • [0027]
    Le procédé selon l'invention offre la possibilité d'utiliser des algorithmes rapides de calcul de corrélation qui ne nécessitent pas d'insertion périodique de marques de synchronisation. The method of the invention offers the possibility to use fast algorithms correlation calculation that does not require periodic insertion of synchronization marks.
  • [0028]
    Le procédé selon l'invention peut être mis en oeuvre en temps réel sur des processeurs de faible capacité et dans le cas d'une réception en continu d'un signal tatoué. The method according to the invention can be implemented in real time on low-capacity processor and in the case of a continuous receiving a watermarked signal.
  • [0029]
    A cet effet, l'invention propose un procédé de détection d'un identificateur de tatouage dans un signal audio, l'identificateur de tatouage ayant été inséré dans le signal audio à partir d'une séquence aléatoire d'une longueur de N échantillons, N étant multiple de Ns, obtenue par au moins une valeur d'initialisation. To this end, the invention provides a method of detecting a watermark identifier in an audio signal, the tattoo identifier having been inserted in the audio signal from a random sequence of length N samples, N is multiple of Ns, obtained by at least one initialisation value. Le procédé est tel qu'il comporte les étapes suivantes: The method is such that it comprises the following steps:
    • préparation d'un bloc courant de N échantillons à partir du signal tatoué; preparation of a current block of N samples from the watermarked signal;
    • calcul de corrélation par une méthode de transformation rapide entre les échantillons du bloc courant et ceux de la séquence aléatoire obtenue à partir de la au moins une valeur d'initialisation; correlation calculation by a method of rapid processing between samples of the current block and those of the random sequence obtained from the at least one initialisation value;
    • comparaison à un seuil prédéterminé des valeurs de corrélation issues du calcul de corrélation des Ns premiers échantillons; compared to a predetermined threshold of the correlation values ​​from the correlation calculation of the first Ns samples;
    • itération des étapes précédentes avec un bloc courant décalé par rapport au bloc précédent de Ns échantillons tant que le maximum des dites valeurs de corrélation n'est pas supérieure au seuil prédéterminé, le maximum des valeurs de corrélation supérieur au seuil prédéterminé indiquant le début de l'identificateur de tatouage iteration of previous steps with a current block offset from the previous block of Ns samples as the maximum of said correlation values ​​is not greater than the predetermined threshold, the maximum correlation values ​​greater than the predetermined threshold indicating start of 'tattoo identifier
  • [0030]
    Ainsi, cette méthode de recouvrement par bloc, conjointement à la mise en oeuvre d'une méthode de transformation rapide, diminue le nombre de calcul de corrélation et la complexité de ce calcul par rapport au calcul de corrélation par fenêtre glissante effectué échantillon par échantillon. Thus, this block recovery methodology, in conjunction with the implementation of a fast processing method, reduces the number of correlation calculation and the complexity of this calculation with respect to the correlation calculation carried out by sliding window sample by sample.
  • [0031]
    De plus, une telle méthode permet d'effectuer une scrutation rapide du signal tatoué ne serait ce que pour détecter l'existence d'un tatouage. Moreover, such a method allows a quick scan of the tattooed signal if only to detect the existence of a tattoo.
  • [0032]
    Dans un mode particulier de réalisation l'identificateur de tatouage indique la position dans le signal audio d'un message inséré. In a particular embodiment the tattoo identifier indicates the location in the audio signal of an inserted post.
  • [0033]
    Ainsi, la détection de l'identificateur de tatouage permet de savoir où la détection du message inséré peut être effectuée. Thus, the detection of the watermarking identifier used to find out where the detection of the embedded message can be performed.
  • [0034]
    L'étape de préparation de bloc courant comprend dans un mode préféré de réalisation, une étape de filtrage inverse du signal tatoué et une étape de filtrage de Wiener utilisant un filtre calculé à partir d'une fonction de corrélation d'une séquence d'apprentissage de l'identificateur de tatouage. The current block preparing step comprises in a preferred embodiment, an inverse filtering step of the watermarked signal and a Wiener filtering step using a filter calculated from a correlation function of a training sequence of tattoo identifier.
  • [0035]
    Ainsi, la prise en compte de certaines caractéristiques de la séquence utilisée pour insérer l'identificateur de tatouage permet d'améliorer la détection de l'identificateur de tatouage par l'accentuation des pics éventuels de détection. Thus, taking account of certain characteristics of the sequence used to insert the watermarking identifier improves the detection of the watermarking identifier by the accentuation of detecting possible peaks.
  • [0036]
    Selon un mode de réalisation, la au moins une valeur d'initialisation est une clé (K a ) qui permet de générer la séquence aléatoire. According to one embodiment, the at least one initialisation value is a key (K) to generate the random sequence.
  • [0037]
    Dans un autre mode de réalisation, la séquence aléatoire est obtenue par deux valeurs d'initialisation, la première étant une première clé (K a ) permettant de générer une séquence aléatoire intermédiaire, la seconde étant une seconde clé (K b ) permettant de crypter la séquence aléatoire intermédiaire pour obtenir la séquence aléatoire. In another embodiment, the random sequence is obtained by two initialization values, the first being a first key (K) for generating a random midblock, the second being a second key (K b) for encrypting the intermediate random sequence to obtain the random sequence.
  • [0038]
    L'utilisation d'une deuxième clé apporte donc une sécurité accrue. The use of a second key therefore provides added security.
  • [0039]
    Dans un premier mode de réalisation, la méthode de transformation rapide est une méthode du type d'Hadamard qui comporte les étapes suivantes: In a first embodiment, the fast transform method is a method of the type Hadamard which comprises the following steps:
    • permutation des échantillons du bloc courant selon une première table de permutation; permutation samples of the current block according to a first permutation table;
    • application de la transformée d'Hadamard aux échantillons ainsi permutés; applying the Hadamard transform to the samples thus permuted;
    • permutation des échantillons du vecteur résultant de la transformée d'Hadamard selon une seconde table de permutation pour obtenir les valeurs de corrélations. permutation samples of the resultant vector of the Hadamard transform according to a second permutation table to obtain the correlation values.
  • [0040]
    L'utilisation de la méthode d'Hadamard dans le procédé conforme à l'invention est particulièrement bien adaptée. The use of the Hadamard method in the process according to the invention is particularly well suited. Le procédé ainsi réalisé permet de s'affranchir des termes de repliement. The process thus achieved eliminates aliasing terms.
  • [0041]
    Avantageusement, le procédé comporte une étape préalable d'initialisation dans laquelle les première et seconde tables de permutation ainsi que la séquence aléatoire sont calculées et mémorisées. Advantageously, the method comprises a prior step of initialization in which the first and second permutation tables and random sequence are calculated and stored.
  • [0042]
    Dans un mode particulier de réalisation, le calcul de la séquence aléatoire, de la première et de la seconde table de permutation est optimisé par un nombre minimum d'opérations binaires réalisées sur les bits d'un entier représentant dans chaque cas le registre à décalage de génération de la séquence ou de la table. In a particular embodiment, the calculation of the random sequence, the first and second permutation table is optimized by a minimum number of binary operations performed on the bits of an integer corresponding in each case the shift register generation of the sequence or table.
  • [0043]
    La méthode de recouvrement de l'invention permet dans un second mode de réalisation d'utiliser une méthode de type de Fourier comme méthode de transformation rapide. The recovery method of the invention allows in a second embodiment using a Fourier-type method such as fast processing method. Cette méthode comporte les étapes suivantes: This method comprises the following steps:
    • application d'une transformée de Fourier au bloc courant; applying a Fourier transform to the current block;
    • calcul d'un produit sur les échantillons résultant de la transformée du bloc courant et ceux du complexe conjuguée de la séquence aléatoire ayant subi une transformée de Fourier; calculating a product of the samples resulting from the transform of the current block and those of the complex conjugate of the random sequence having undergone a Fourier transform;
    • application d'une transformée inverse de Fourier pour obtenir les valeurs de corrélation. applying an inverse Fourier transform to obtain the correlation values.
  • [0044]
    Avantageusement, le procédé comporte une étape d'initialisation dans laquelle la transformée de Fourier de la séquence aléatoire et son complexe conjugué sont calculés et mémorisés. Advantageously, the method comprises an initialization step in which the Fourier transform of the random sequence and its complex conjugate are calculated and stored.
  • [0045]
    Pour améliorer la détection, le procédé comporte en outre une étape de correction des valeurs de corrélation par élimination de termes parasites. To improve detection, the method further comprises a step of correcting the correlation values ​​by eliminating parasites terms.
  • [0046]
    Dans une variante de réalisation utilisant la méthode de type transformée de Fourier, le procédé comporte les étapes suivantes: In an alternative embodiment using the type of method Fourier transform, the method comprises the following steps:
    • segmentation en sous-séquences du bloc courant; segmentation into sub-sequences of the current block;
    • segmentation en sous-séquences de la séquence aléatoire, la deuxième moitié de la sous-séquence aléatoire étant mise à zéro; segmentation into sub-sequences of the random sequence, the second half of the random sub-sequence is set to zero;
    • application d'une transformée de Fourier aux sous-séquences du bloc courant et aux sous-séquences de la séquence aléatoire; applying a Fourier transform to the sub-sequences of the current block and sub-blocks of the random sequence;
    • calcul de corrélations partielles par le produit sur les échantillons résultant de la transformée des sous-séquences du bloc courant et ceux du complexe conjugué des sous-séquences de la séquence aléatoire; computing partial correlation by the product on the samples resulting from the transform of the sub-sequences of the current block and those of the complex conjugate of sub-sequences of the random sequence;
    • sommation des corrélations partielles calculées; summing the computed partial correlations;
    • application d'une transformée de Fourier inverse à la somme issue de l'étape de sommation pour obtenir les valeurs de corrélation. applying an inverse Fourier transform to the following sum of the summing step of obtaining the correlation values.
  • [0047]
    Cette variante permet de s'affranchir de l'utilisation d'une transformée de Fourier de grande taille lorsque l'identificateur de tatouage a une taille importante. This variant makes it possible to dispense with the use of a Fourier transform of size when the tattoo identifier has a large size.
  • [0048]
    Dans une seconde variante, le procédé comporte les étapes suivantes: In a second variant, the method comprises the following steps:
    • segmentation en sous-séquences du bloc courant; segmentation into sub-sequences of the current block;
    • segmentation en sous-séquences de la séquence aléatoire, la première moitié de la sous-séquence aléatoire étant mise à zéro; segmentation into sub-sequences of the random sequence, the first half of the random sub-sequence is set to zero;
    • application d'une transformée de Fourier aux sous-séquences du bloc courant et aux sous-séquences de la séquence aléatoire; applying a Fourier transform to the sub-sequences of the current block and sub-blocks of the random sequence;
    • calcul de corrélations partielles par le produit sur le complexe conjugué des échantillons résultant de la transformée des sous-séquences du bloc courant et ceux des échantillons résultant de la transformée des sous-séquences de la séquence aléatoire; computing partial correlation by the product of the complex conjugate of the resulting samples of the transformed sub-blocks of the current block and those of the samples resulting from the transform of the sub-sequences of the random sequence;
    • sommation des corrélations partielles calculées; summing the computed partial correlations;
    • application d'une transformée de Fourier inverse à la somme issue de l'étape de sommation pour obtenir les valeurs de corrélation. applying an inverse Fourier transform to the following sum of the summing step of obtaining the correlation values.
  • [0049]
    L'invention vise également un dispositif de détection d'un identificateur de tatouage dans un signal audio, l'identificateur de tatouage ayant été inséré dans le signal audio à partir d'une séquence aléatoire d'une longueur de N échantillons, N étant multiple de Ns, obtenue par au moins une valeur d'initialisation. The invention also relates to a device for detecting a watermark identifier in an audio signal, the tattoo identifier having been inserted in the audio signal from a random sequence of length N samples, where N is multiple Ns, obtained by at least one initialisation value. Le dispositif est tel qu'il comporte: The device is such that it comprises:
    • des moyens de préparation d'un bloc courant de N échantillons à partir du signal tatoué; preparation means of a current block of N samples from the watermarked signal;
    • des moyens de calcul de corrélation par une méthode de transformation rapide entre les échantillons du bloc courant et ceux de la séquence aléatoire obtenue à partir de la au moins une valeur d'initialisation; correlation calculation means by a method of rapid change between samples of the current block and those of the random sequence obtained from the at least one initialisation value;
    • des moyens de comparaison à un seuil prédéterminé des valeurs de corrélation issues du calcul de corrélation des Ns premiers échantillons; means for comparing a predetermined threshold of the correlation values ​​from the correlation calculation of the first Ns samples;
    • des moyens d'obtention d'un nouveau bloc courant par décalage de Ns échantillons par rapport au bloc précédent mis en oeuvre tant qu'une des dites valeurs de corrélation n'est pas supérieure au seuil prédéterminé. means for obtaining a new current block by shifting Ns samples from the previous block implemented as one of said correlation values ​​is not above the predetermined threshold.
  • [0050]
    Le dispositif ainsi décrit est apte à mettre en oeuvre le procédé selon l'invention. The device thus described is adapted to implement the method according to the invention.
  • [0051]
    L'invention vise enfin un programme d'ordinateur comprenant des instructions de code pour la mise en oeuvre des étapes du procédé selon l'invention, lorsque ledit programme est exécuté par un processeur. Finally, the invention provides a computer program comprising code instructions for implementing steps of the method according to the invention when said program is executed by a processor.
  • [0052]
    Le dispositif et le programme d'ordinateur présentent les mêmes avantages que le procédé qu'ils mettent en oeuvre. The device and the computer program have the same advantages as the method they employ.
  • [0053]
    D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels: Other features and advantages of the invention will become apparent from reading the following description given by way of example, and with reference to the accompanying drawings, wherein:
    • la figure 1 représente un schéma bloc d'une méthode d'insertion de l'état de l'art; 1 shows a block diagram of a method of insertion of the prior art;
    • la figure 2 représente un schéma bloc d'une méthode de détection de l'état de l'art; 2 shows a block diagram of a method for detecting the state of the art;
    • la figure 3 illustre sous forme d'organigramme, les principales étapes d'un procédé de détection d'identificateur de tatouage conforme à l'invention; 3 illustrates a flowchart showing the main steps of a watermarking identifier detection method according to the invention;
    • les figures 4a et 4b illustrent la méthode par recouvrement selon l'invention; Figures 4a and 4b illustrate the recovery by method according to the invention;
    • la figure 5 représente les principaux modules d'un dispositif d'insertion d'identificateur de tatouage; 5 shows the main modules of a tattoo identifier insertion device;
    • la figure 6 représente les principaux modules d'un dispositif de détection d'identificateur de tatouage selon l'invention; 6 shows the main modules of a tattoo identifier detection device according to the invention;
    • la figure 7 illustre sous forme d'organigramme, une méthode de cryptage qui peut être utilisée par l'invention; 7 illustrates in flow chart form, an encryption method that can be used by the invention;
    • la figure 8 illustre de façon détaillée, sous forme d'organigramme, l'étape de calcul de corrélation dans un premier mode de réalisation de l'invention; Figure 8 shows in detail, in flowchart form, the correlation computing step in a first embodiment of the invention;
    • la figure 9 illustre de façon détaillée, sous forme d'organigramme, l'étape de calcul de corrélation dans un second mode de réalisation de l'invention; 9 illustrates in detail, in flowchart form, the correlation computing step in a second embodiment of the invention;
    • la figure 10 illustre une variante de réalisation du second mode de réalisation selon l'invention; 10 illustrates an alternative embodiment of the second embodiment of the invention; et and
    • la figure 11 illustre un dispositif mettant en oeuvre le procédé selon l'invention. 11 illustrates a device implementing the method according to the invention.
  • [0054]
    La figure 3 illustre les principales étapes d'un procédé de détection d'identificateur de tatouage conforme à l'invention. Figure 3 illustrates the main steps of a watermarking identifier detection method according to the invention.
  • [0055]
    L'étape E31 est une étape d'initialisation qui peut permettre d'effectuer des calculs au préalable et de les mémoriser comme par exemple la génération de la séquence aléatoire. The step E31 is an initialisation step, which can afford to make calculations in advance and store such as the generation of the random sequence.
  • [0056]
    L'étape E32 consiste à préparer un premier bloc courant du signal tatoué filtré comportant un nombre N d'échantillons. The step S32 is to prepare a first current block tattooed filtered signal comprising a number N of samples.
  • [0057]
    Avant d'obtenir le bloc courant, une lecture d'un bloc de Ns échantillons du signal tatoué, N étant multiple de Ns, est effectuée. Before obtaining the current block, reading a block of Ns samples of the watermarked signal, where N is multiple of Ns, is performed. Ce bloc de Ns échantillons s w ( n ), n=0,.., N s -1 est celui qui est disponible en lecture sur le disque de stockage ou reçu directement par flux continu. This block of Ns samples s w (n), n = 0, .., N s -1 is one that is available for reading on the storage disk or received by streaming.
  • [0058]
    Ce bloc est blanchi par un filtrage inverse suivi d'un filtrage adaptatif pour donner un vecteur de signal This block is milled by an inverse filter followed by an adaptive filter to provide a signal vector x x w w sub sub n not , , n not = = 0 0 , , ... , , N NOT s s - - 1. 1. Cette étape de filtrage correspond à l'étape inverse du filtrage par le modèle psycho-acoustique effectué lors de l'insertion. This filtering step corresponds to the inverse filtering step by the psychoacoustic model performed upon insertion.
  • [0059]
    Ce vecteur de signal est mis à la suite des vecteurs précédemment reçus pour constituer le bloc courant de N échantillons x w ( n ), n =,0,..., N- 1. This signal vector is set as a result of vectors previously received to constitute the current block of N samples x w (n), n = 0, ..., N-1.
  • [0060]
    L'étape E32 est suivie de l'étape E33 dans laquelle un calcul de corrélation par une méthode de transformation rapide est effectué sur les échantillons du bloc courant et les échantillons de la séquence aléatoire générée à partir de la (des) même(s) valeur(s) d'initialisation utilisée(s) lors de l'insertion. The step E32 is followed by step E33 in which a correlation calculation by a fast processing method is performed on the samples of the current block and the samples of the random sequence generated from (the) same (s) value (s) used initialization (s) upon insertion. Cette génération de séquence aléatoire peut s'effectuer juste avant le calcul de la corrélation ou bien à l'étape d'initialisation. This generation of random sequence can be carried out just before the calculation of the correlation or in the initialization step. Elle est alors dans ce dernier cas mémorisée à l'étape d'initialisation et lue lors de l'étape de calcul. It is then in this case stored in the initialization step and read during the step of calculating.
  • [0061]
    A l'étape E34, un test est effectué pour savoir si le maximum des valeurs de corrélation issues du calcul de corrélation de l'étape E33 des Ns premiers échantillons est supérieur à un seuil S. At step E34, a test is made as to whether the maximum correlation values ​​from the correlation calculating step E33 of the first samples Ns is greater than a threshold S.
  • [0062]
    Dans le cas où le maximum des valeurs de corrélation est supérieur au seuil S, alors l'identificateur de tatouage est détecté. In the case where the maximum correlation values ​​is greater than the threshold S, then the tattoo identifier is detected. Cette valeur du maximum de corrélation supérieure au seuil S indique alors le début de l'identificateur de tatouage. This value of the maximum correlation greater than the threshold S then indicates the start of the tattoo identifier.
  • [0063]
    Le dispositif de détection peut alors à partir de cet identificateur de tatouage déterminer la position dans le signal audio d'un message qui aurait été inséré. The detection device can then from this tattoo identifier determining the position in the audio message signal that would have been inserted. Ce message est placé juste après le dernier échantillon de l'identificateur de tatouage représenté par la séquence aléatoire de longueur N. This message is placed immediately after the last sample of the tattoo identifier represented by the random sequence of length N.
  • [0064]
    La détection du message inséré s'effectue de façon simple comme mentionné en référence à la figure 2, par un seul calcul de corrélation. Detecting the inserted message is carried out in a simple manner as mentioned with reference to Figure 2, by a single correlation calculation. Une fois le message détecté, le détecteur repart dans le mode de recherche de la synchronisation ou de l'identificateur de tatouage afin de repérer le message suivant. Once the detected message, the detector goes back into the search mode synchronization or tattoo identifier to identify the next message. Dans le cas où seuls des identificateurs de tatouage ont été insérés à des endroits définis du signal, la scrutation du signal tatoué s'opère comme dans le cas précédent en continu. If only watermarking identifiers were inserted at defined signal, scanning the watermarked signal is carried out as in the previous case continuously. Quand un identificateur est détecté, un drapeau se met à 1 et le détecteur repart en mode scrutation. When an identifier is detected, a flag turns to 1 and the detector off again in scan mode.
  • [0065]
    Dans le cas où à l'étape E34, aucune des valeurs de corrélation des Ns premiers échantillons ne dépassent le seuil S, alors un nouveau bloc courant est pris en compte par décalage de Ns échantillons en E35. In the case where at step E34, none of the correlation values ​​of the first Ns samples do not exceed the threshold S, then a new current block is taken into account by shifting Ns samples E35.
  • [0066]
    Les figures 4a et 4b illustrent de façon schématique le procédé de l'invention. Figures 4a and 4b schematically illustrate the method of the invention.
  • [0067]
    Le signal tatoué représenté en 40 est reçu en continu. The watermarked signal shown at 40 is received continuously. L'identificateur de tatouage issu d'une séquence aléatoire de longueur N est constituée de R blocs de Ns échantillons, soit de N=R*Ns échantillons. The identifier tattoo from a random sequence of length N is composed of blocks of R samples Ns or N = R * Ns samples. Cet identificateur de tatouage est représenté en grisé sous la référence 41 sur les figures 4a et 4b. This tattoo identifier is shown in gray under the reference 41 in Figures 4a and 4b. Une analyse par bloc de N échantillons est effectuée. Analysis block of N samples is performed. Ce bloc courant x w (n) pour n allant de 0 à N-1 est référencé sur la figure en 42. Un calcul de corrélation est effectué entre ce bloc courant et la séquence aléatoire w(n) générée comme lors de l'insertion. This current block x w (n) for n ranging from 0 to N-1 is referenced in the figure 42. A correlation calculation is performed between this current block and the random sequence w (n) as generated upon insertion . On compare ensuite les valeurs de corrélation obtenue pour les Ns premiers échantillons comme représenté en 43 sur les figures 4a et 4b. then comparing correlation values ​​obtained for the first Ns samples as shown at 43 in Figures 4a and 4b. Si le maximum des valeurs de corrélation ne dépasse le seuil S alors on effectue un décalage du bloc courant à analyser d'un nombre Ns d'échantillons comme illustré sur les figures 4a et 4b. If the maximum of the correlation values ​​exceeds the threshold then S is carried a current block of the shift analyze a number Ns of samples as illustrated in Figures 4a and 4b.
  • [0068]
    Quand un nouveau bloc du signal tatoué de Ns échantillons est disponible par lecture sur disque de stockage (comme par exemple CD, DVD, mémoire amovible) ou reçu en flux continu, il subit une étape de filtrage inverse et de filtrage de Wiener pour donner un vecteur de signal When a new block of the watermarked signal Ns samples is available for reading on the storage disc (such as CD, DVD, removable memory) or received streaming, it undergoes an inverse filtering step and Wiener filtering to give a signal vector x x ~ w w sub sub n not , , n not = = 0 0 , , ... , , N NOT s s - - 1. 1. Il est inséré à la place des Ns dernières composantes de droite comme représenté sur les figures 4a et 4b. It is inserted in place of the last right components Ns as shown in Figures 4a and 4b.
  • [0069]
    Pour passer au nouveau bloc courant, le bloc précédent est décalé vers la gauche de Ns échantillons et le bloc To switch to the new current block, the previous block is shifted to the left of samples Ns and the block x x ~ w w sub sub n not , , n not = = 0 0 , , ... , , N NOT s s - - 1. 1. de signal filtré est placé dans sa partie droite. filtered signal is placed on its right side. C'est ce qui est indiqué sur la figure 4b où le bloc analysé en 42 devient le bloc courant. This is what is shown in Figure 4b where the analyzed block 42 becomes the current block. On constate sur la figure 4b que l'identificateur inséré représenté en grisé en 41 s'est décalé de N s échantillons vers la gauche par rapport au bloc précédent représenté en 42 sur la figure 4a (et qui était le bloc courant de l'étape précédente). It is seen in Figure 4b that the inserted identifier shown in gray in 41 is shifted by N s samples to the left from the previous block shown at 42 in Figure 4a (which was the current block of step former).
  • [0070]
    Sur cette figure 4b, on constate que le calcul de corrélation donne une valeur supérieure au seuil sur les Ns premiers échantillons. In this figure 4b, it is found that the correlation calculation gives a value greater than the threshold on the first Ns samples. Ceci indique donc la position k s du début de l'identificateur de tatouage. This indicates the position k s the beginning of the tattoo identifier. On peut alors en déduire la fin de l'identificateur de tatouage connaissant sa longueur N pour éventuellement détecter un message qui aurait été inséré après l'identificateur. then one can infer the end of the tattoo identifier knowing a length N to optionally detect a message that would have been inserted after the identifier.
  • [0071]
    Avec cette méthode d'analyse par recouvrement, un exemple de calcul de la corrélation est donné par l'expression suivante: With this method of analysis by coating, an example of calculation of the correlation is given by the following expression: Cor Horn k k = = Σ n not = = 0 0 N NOT - - 1 1 w w n not + + k k x x w w n not k k = = 0 0 , , ... , , N NOT - - 1 1
  • [0072]
    L'équation précédente peut alors s'écrire sous la forme matricielle suivante: The above equation can be written in the following matrix form: Cor Horn 0 0 Cor Horn 1 1 Cor Horn 2 2 Cor Horn 3 3 . . Cor Horn n not - - 2 2 Cor Horn n not - - 1 1 = = w w 0 0 w w 1 1 . . w w N NOT - - 2 2 w w N NOT - - 1 1 w w 1 1 w w 2 2 w w N NOT - - 1 1 w w 0 0 w w 2 2 w w 3 3 . . w w 0 0 w w 1 1 w w 3 3 w w 2 2 w w 1 1 w w 2 2 . . . . . . . . . . w w N NOT - - 2 2 w w N NOT - - 1 1 . . w w N NOT - - 4 4 w w N NOT - - 3 3 w w N NOT - - 1 1 w w 0 0 . . w w 2 2 w w N NOT - - 2 2 x x w w 0 0 x x w w 1 1 x x w w 2 2 x x w w 3 3 . . x x w w N NOT - - 2 2 x x w w N NOT - - 1 1
  • [0073]
    Soit en notation matricielle: Or in matrix notation: C C ~ or gold = = w w ~ c c x x ~ w w La matrice The matrix w w c est une matrice circulante construite à partir de sa première ligne w T , T étant l'opérateur de transposition. c is a circulant matrix constructed from the first line w T, T being the transposition operator.
  • [0074]
    Du fait que l'identificateur de tatouage n'est pas inséré périodiquement, la moitié inférieure de la matrice Because the tattoo identifier is not inserted periodically, the lower half of the matrix w w c va donner lieu à des termes de repliement parasites dans le produit matriciel. c will give rise to spurious aliasing terms in the matrix product. Pour éviter cela, le procédé selon l'invention applique un recouvrement de N s = N l R échantillons et calcule le maximum du coefficient de corrélation sur les N s premières valeurs du vecteur de corrélation To avoid this, the method according to the invention applies a coating of the N s = N R samples and calculates the maximum correlation coefficient on the N s first values of the correlation vector C C or comme décrit précédemment en référence aux figures 3, 4a et 4b. gold as described above with reference to Figures 3, 4a and 4b.
  • [0075]
    Si la séquence était insérée périodiquement, à n'importe quel endroit où on se placerait dans un bloc de signal tatoué, on aurait une séquence aléatoire entière de N points (en fait une des lignes de la matrice w c ). If the sequence was inserted periodically at any location where it would be located in a watermarked signal block, there would be a whole random sequence of N points (in fact one of the rows of the matrix W c). Le décalage optimal serait donné par la ligne de la matrice qui donne le maximum du produit scalaire w c x w, égal à N dans le cas idéal. The optimum offset would be given by the row of the matrix which maximizes the inner product w c x w, equal to N in the ideal case. Dans notre cas, seule une séquence de N échantillons est insérée à la fois. In our case, only a sequence of N samples is inserted at a time. Par exemple, si on suppose que la séquence commence à l'échantillon n=-1 dans le signal tatoué, le maximum de corrélation sera trouvé pour la deuxième ligne de la matrice w c . For example, if it is assumed that the sequence begins at sample n = -1 in the watermarked signal, the correlation maximum is found for the second line of the matrix w c. Il y aura un terme parasite donné par le w(0) en fin de ligne. There will be a parasite term given by w (0) end of the line. Pour n = -2 le max est donné par la troisième ligne. For n = -2 max is given by the third line. Il y a deux termes parasites w(1) et w(0) (séquence inversée) et ainsi de suite. There are two noise terms w (1) and w (0) (reverse sequence) and so on. L'utilisation du recouvrement permet de limiter l'influence des termes parasites en ne prenant que les Ns premiers termes de la corrélation. The use of cover can limit the influence of parasitic terms taking only the first Ns terms of correlation.
  • [0076]
    Dans un exemple où R=8192/1424 =8, à la place d'avoir un maximum de corrélation de N on aura un maximum de N*(8192-1)/8192= N*0.9998, si on a un décalage de 1 et de N*(8192-1024)/8192= N*0.875 dans le cas le plus défavorable d'un décalage de N s =1024. In an example where R = 8192/1424 = 8, instead of having a correlation maximum of N will be a maximum of N * (8192-1) / 8192 = 0.9998 N *, if there is a shift of 1 and N * (8192-1024) / 8192 = 0.875 * N in the worst case of a shift of N s = 1024.
  • [0077]
    Pour effectuer le produit scalaire de façon performante, la séquence de la première ligne de la matrice To perform the dot product of efficient way, the sequence of the first row of the matrix w w c peut être prise égale à une séquence PN de longueur maximale auquel cas on aura: c can be taken as a PN sequence of maximum length in which case we will have: N NOT = = 2 2 Ms ms - - 1 1
  • [0078]
    Les valeurs usuelles de Ms sont de 12 et de 13 ce qui donne des séquences de synchronisation de taille 4095 et de 8191. The usual values of Ms are 12 and 13 which gives 4095 size of synchronization sequences and 8191.
  • [0079]
    En référence à la figure 5 , nous allons à présent décrire un dispositif d'insertion d'un identificateur de tatouage. Referring to Figure 5, we will now describe a device for inserting a watermark identifier. Ce dispositif comporte un module d'obtention d'une séquence aléatoire w(n) à partir d'au moins une valeur d'initialisation. This device comprises a module for obtaining a random sequence w (n) from at least one initialisation value.
  • [0080]
    Ainsi, la séquence aléatoire peut être obtenue à partir d'une seule valeur d'initialisation, par exemple, une première clé K a . Thus, the random sequence can be obtained from one initialization value, e.g., a first key K a. Cette première clé K a va permettre dans un premier mode de réalisation de générer directement la séquence aléatoire w(n) utilisée pour générer l'identificateur de tatouage. This first key K will allow in a first embodiment of directly generating the random sequence w (n) used to generate the tattoo identifier. Dans ce cas, le module de cryptage 53 n'est pas présent. In this case, the encryption module 53 is not present.
  • [0081]
    Dans un deuxième mode de réalisation, le module de cryptage 53 est présent. In a second embodiment, the encryption module 53 is present. L'obtention de la séquence aléatoire w(n) utilisée pour générer l'identificateur de tatouage s'effectue à partir de deux valeurs d'initialisations. Obtaining the random sequence w (n) used to generate the identifier tattoo takes place from two initializations values. La première est par exemple une première clé K a qui va permettre de générer une séquence aléatoire intermédiaire w s (n), la deuxième est une deuxième clé K b qui va permettre de crypter cette séquence aléatoire intermédiaire pour obtenir la séquence aléatoire w(n). The first is for example a first key K that will allow to generate an intermediate random sequence w s (n), the second is a second key K b which will enable to encrypt this random intermediate sequence to obtain the random sequence w (n ).
  • [0082]
    La séquence aléatoire w(n) obtenue par le module 51 va servir comme dans le dispositif d'insertion de la figure 1 à générer l'identificateur de tatouage par le module 54. Un modèle psycho-acoustique 55 est également pris en compte ainsi qu'un gain 56 pour être additionné en 57 au signal audio s(n) et former le signal tatoué s w (n). The random sequence w (n) obtained by the module 51 will serve as the insertion device of Figure 1 to generate the tattoo identifier by the module 54. A psychoacoustic model 55 is also taken into account as well as a gain 56 to be added in 57 to the audio signal s (n) and form the watermarked signal s w (n).
  • [0083]
    La figure 6 représente un dispositif de détection d'un identificateur de tatouage conforme à l'invention. 6 shows a device for detecting a watermark identifier in accordance with the invention. Ce dispositif de détection tout comme le dispositif d'insertion comporte un module d'obtention de la séquence aléatoire qui a été utilisée pour générer l'identificateur de tatouage. This detection device as well as the insertion device comprises a module for obtaining the random sequence that was used to generate the tattoo identifier.
  • [0084]
    De la même façon que pour le dispositif d'insertion, ce module d'obtention de séquence aléatoire 61 peut dans un premier mode de réalisation ne comporter qu'un module de génération de la séquence aléatoire w(n) à partir de la première clé K a ou comporter à la fois le module 62 de génération d'une séquence aléatoire intermédiaire w s (n) à partir de la première clé K a et un module 63 de cryptage de cette séquence intermédiaire à partir de la deuxième clé K b pour obtenir la séquence aléatoire w(n). In the same way as the insertion device, this random sequence obtaining module 61 may in a first embodiment comprise only a generation module of the random sequence w (n) from the first key K or include both the generation module 62 via a random sequence w s (n) from the first key K and has a module 63 for encryption of said intermediate sequence from the second key K b to obtain the random sequence w (n).
  • [0085]
    Ainsi, le dispositif de détection ne pourra détecter l'identificateur de tatouage que s'il connaît la ou les deux clés utilisées pour l'obtention de la séquence aléatoire. Thus, the detection device can not detect the tattoo identifier if it knows the one or two keys used to obtain the random sequence.
  • [0086]
    Un exemple d'application possible dans le mode de réalisation avec une seule clé est par exemple d'associer à chaque contenu audio, un numéro d'utilisateur ou d'opérateur comme identificateur de tatouage. An example of possible application in the embodiment with a single key, for example, to associate with each audio content, a user number or operator as tattoo identifier. La clef sera déduite de ce numéro par l'intermédiaire d'une table de correspondance. The key will be deducted from this number via a lookup table. Ainsi, dans le contexte de vente en ligne sécurisée de contenu audio, l'identificateur de tatouage permet de déceler les transferts ou échanges abusifs de contenu et de tracer l'origine du problème. Thus, in the context of sale secure online audio, tattoo identifier can detect transfers or exchanges abusive content and trace the origin of the problem. En effet, en présence d'un contenu piraté trouvé sur un site Web, l'entité détentrice des clefs utilisateurs peut tester la détection de l'identificateur de tatouage pour chacune des clés. Indeed, in the presence of pirated content found on a web site, the entity holding the keys users can test the detection of tattoo identifier for each key. Celle qui permettra de détecter l'identificateur de tatouage sera donc celle qui appartient à l'utilisateur qui est à l'origine de la diffusion abusive. One that will detect the tattoo identifier will be the one that belongs to the user who is responsible for the abusive distribution. La détection étant très rapide, la recherche peut être effectuée rapidement pour un grand nombre de clés. The detection is very fast, the search can be performed quickly to a large number of keys.
  • [0087]
    Dans le cas où l'identificateur de tatouage n'est pas utilisé seul mais est suivi d'un message, la clef de l'identificateur permet d'affirmer que le signal est tatoué lorsque la présence de l'identificateur est détectée. In the case where the tattoo identifier is not used alone, but is followed by a message, the key identifier to suggest that the signal is watermarked when the presence of the identifier is detected. Dans ce cas la possibilité de détection du message peut être conditionnée par la connaissance de la même clef que celle de l'identificateur. In this case the message detection possibility can be packaged by the knowledge of the same key as that of the identifier. Cependant, la clef identificateur et la clef message peuvent être différentes. However, the key identifier and the key messages may be different.
  • [0088]
    Le mode de réalisation avec deux clés, ouvre un champ d'application encore plus large et apporte une sécurité supplémentaire. The embodiment with two keys, opening an even wider scope and provides additional security.
  • [0089]
    La clé K b peut représenter un numéro de commande relative à un utilisateur ou un revendeur et la clef K a peut être propre au propriétaire de l'oeuvre ou à une société opérant pour plusieurs opérateurs. The key K b may represent an order number on a user or dealer and the key K may be specific to the owner of the work or a company operating for several operators. Dans ce cas la fuite de contenus piratés peut être localisée de la façon suivante: étant donné un contenu piraté, le tiers de confiance détenteur de la clef K a va rechercher, pour toutes les clefs K b , celle qui donne une réponse positive en détection et qui sera donc à l'origine de la fuite. In this case the leakage of pirated content can be located as follows: given a pirated content, the trusted third party holder of the key K has will search for all keys K b, which gives a positive response detection and that will be the source of the leak.
  • [0090]
    Dans une application de contrôle d'accès dans un lecteur, la clé K a représente un numéro d'utilisateur et la clé K b , le numéro de l'oeuvre. In an access control application in a drive, the key K a is a user number and the key K b, the number of the work. Il est alors possible de tester si le numéro d'oeuvre de la licence de droit d'accès correspond à celui qui a effectivement été inséré par tatouage. It is then possible to test whether the work number of the right of access license corresponds to that which was actually inserted by tattoo. Si le résultat du test est négatif, alors le contenu est piraté et le lecteur est bloqué. If the test result is negative, then the content is pirated and the reader is blocked.
  • [0091]
    On peut remarquer également que l'une des clés peut être publique, par exemple K b tout en gardant K a secrète. It is also noted that one of the keys can be public, for example b K K while keeping secret. Dans ce cas, si la clef K b représente un numéro de contenu, elle permet de donner l'accès à ce contenu. In this case, if the key K b is a content issue, it helps to provide access to this content. L'association des séquences audio aux clefs K b peut être connue de tous, par exemple par l'intermédiaire d'une base de données disponible sur internet. The combination of the keys K b audio sequences can be known to all, for example via a database available on the internet.
  • [0092]
    Le dispositif de détection comprend également un module de filtrage référencé en 64 pour blanchir et égaliser le signal tatoué lors de la réception et ainsi former un vecteur de signal x w sub (n). The detection device also includes a filter module referenced 64 for whitening and equalizing the watermarked signal upon receipt and thus form a signal vector x w sub (n).
  • [0093]
    Le signa the signed s s w est d'abord filtré par un filtre inverse A ( z ) ne comportant des coefficients qu'au numérateur. w is first filtered by an inverse filter A (z) having coefficients at numerator. Ce filtre est calculé à partir des coefficients de corrélation du masque psychoacoustique du signal par l'algorithme de Levinson-Durbin. This filter is calculated from the correlation coefficients of the psychoacoustic mask signal by the Levinson-Durbin algorithm. Ensuite, à partir du signal Then, from the signal s s wz ainsi filtré, on va calculer un filtre de Wiener F w (z) qui va essayer de modéliser wz thus filtered, it will calculate a Wiener filter F w (z) will try to model w w par filtrage linéaire de by linear filtering s s wz . wz. En fait la minimisation entre la marque In fact minimization between brand w w et son estimée à partir du signal and its estimated from the signal s s wz conduit à la résolution des équations suivantes: wz led to the resolution of the following equations: R R wx wx F F w w = = R R dx dx
  • [0094]
    R wx est une matrice de Toëplitz formée à partir de la fonction d'autocorrélation du signal Wherein R wx is a Toeplitz matrix formed from the autocorrelation function of the signal s s wz et R dx un vecteur de corrélation calculé à partir d'une séquence d'apprentissage. and R wz dx a correlation vector calculated from a training sequence. Comme séquence d'apprentissage on peut prendre à titre d'exemple la séquence w à différents échantillons de départ ou offset. As training sequence can be taken as an example the sequence w to different samples or departure offset. La fonction de corrélation est ensuite calculée pour des décalages allant de 0 à M k , M k étant le nombre de coefficients du filtre. The correlation function is then computed for lags ranging from 0 to M k, M k is the number of filter coefficients. Le signal filtré résultant The resulting filtered signal x x w w sub sub n not sera donné par: will be given by: x x w w sub sub n not = = Σ j j = = - - M M k k M M k k F F w w j j s s wz wz n not - - j j
  • [0095]
    L'utilisation d'un filtre de Wiener calculé à partir d'une séquence d'apprentissage permet d'améliorer la détection de l'identificateur de tatouage par rapport à une méthode n'utilisant qu'un filtrage inverse. The use of a Wiener filter calculated from a training sequence improves the detection of the watermarking identifier relative to a method using only an inverse filtering.
  • [0096]
    En effet, la séquence d'apprentissage permet de prendre en compte certaines caractéristiques de la séquence w et ainsi d'accentuer les pics éventuels de détection. Indeed, the training sequence can take into account some features of the sequence w and thus increase the potential peak detection.
  • [0097]
    Le module de détection par corrélation 65 comprend des moyens de préparation d'un bloc courant de N échantillons du signal tatoué filtré, des moyens de calcul de corrélation entre les échantillons du bloc courant et la séquence aléatoire w(n) et des moyens de comparaison des valeurs de corrélation obtenues à un seuil S. The correlation detection module 65 comprises means for producing a current block of N samples of the watermarked filtered signal, correlation calculating means between the samples of the current block and the random sequence w (n) and comparing means correlation values ​​obtained at a threshold S.
  • [0098]
    Ces moyens permettent la mise en oeuvre du procédé décrit en figure 3 conformément à l'invention. These means allow the implementation of the process described in Figure 3 according to the invention.
  • [0099]
    Le cryptage effectué à la fois dans le module 53 et le module 63 sur une séquence aléatoire w s (n) peut être réalisé par permutation aléatoire des échantillons de la séquence w s (n) ou par une méthode de cryptage comme celle décrit par exemple dans le document The encryption performed at both the module 53 and the module 63 on a random sequence w s (n) can be achieved by random permutation samples of the sequence w s (n) or by an encryption method such as described e.g. in the document . .
  • [0100]
    Un exemple de cryptage par permutation est illustré par l'algorithme représenté en figure 7 . An exemplary permutation encryption is illustrated by the algorithm shown in Figure 7.
  • [0101]
    Le coeur de l'algorithme consiste à calculer une matrice de permutation au moyen d'une clef de 16 octets soit 128 bits. The heart of the algorithm is to calculate a permutation matrix by means of a key of 16 bytes or 128 bits.
  • [0102]
    Un tableau TabS est d'abord initialisé à l'étape E71 aux valeurs de 0 à N-1. A table tabs is first initialized in step E71 to the values ​​from 0 to N-1. Une table TabK de taille 256 octets est initialisée à l'étape E72 par répétition, autant de fois que nécessaire, du contenu de la table de clé Key contenant les 16 octets de la clé. TABK a table of 256 bytes size is initialized at step E72 by repeating as many times as necessary, the contents of the Key key table containing the 16 bytes of the key. L'entier CurPos est initialisé à 0. The entire curpos is initialized to 0.
  • [0103]
    Aux étapes E73 à E75, pour chaque indice i de 0 à N-1, un indice CurPos est généré aléatoirement par addition de CurPos, de TabS d'indice i et de TabK d'indice i modulo 256, la table TabK étant de taille 256, le tout étant pris modulo N. Ensuite, aux étapes E77 à E79, la table de permutation qui va servir à brouiller ou crypter la séquence aléatoire est obtenue en permutant les deux valeurs qu'elle contient à l'indice curpos et à l'indice i en s'aidant de la variable intermédiaire TmpVal. In steps E73 to E75, for each index i from 0 to N-1, a curpos index is randomly generated by adding curpos, index tabs i and index TABK i modulo 256, the table being sized TABK 256, the whole being taken modulo N. Then, at steps E77 to E79, the permutation table which will be used to scramble or encrypt the random sequence is obtained by swapping two values ​​it contains the index and the curpos index i with the aid of the intermediate variable TmpVal.
  • [0104]
    On se retrouve donc avec une table de permutation qui contient pour i = 0, ..., N -1, le rang de l'échantillon qui doit être permuté. So we end up with a permutation table that holds for i = 0, ..., N -1, the rank of the sample to be swapped. Pour brouiller la séquence aléatoire, il suffit maintenant de lire la table de permutation TabS(i) pour i = 0, N - 1 et de permuter le contenu de w s d'indice i avec le contenu de w s d'indice TabS(i). To scramble the random sequence, now it suffices to read the permutation table Tabs (i) for i = 0, N - 1 and to permute the contents of w s of index i with the content of w s of index tabs ( i). La séquence cryptée, calculée une fois pour toute peut être stockée en mémoire. The encrypted sequence, computed once and for all can be stored in memory.
  • [0105]
    Une méthode de génération d'une séquence PN est par exemple une méthode telle que décrite dans le document A method of generating a PN sequence is for example a method as disclosed in . . Les points de bouclage du registre sont donnés par le polynôme générateur de la séquence. register loopback points are given by the sequence generator polynomial.
  • [0106]
    A titre d'exemple, pour le cas Ms =12, un des polynômes générateur primitif est donné par poly(x) = 1 + x + x^4 + x^6 + x^12 soit poly=ca0 en hexadécimal ou encore 1100 1010 0000 en binaire. For example, in case Ms = 12, a primitive generator polynomial is given by poly (x) = 1 + x + x ^ 4 + x ^ 6 + x ^ 12 is poly = ca0 hexadecimal or 1100 1010 0000 in binary. Les points de bouclage correspondent alors aux bits égaux à 1 dans la décomposition binaire de poly. Loopback points then correspond to equal to 1 bit in the binary decomposition of poly.
  • [0107]
    Une façon de générer une séquence PN de façon optimale avec un minimum d'opérations binaires est maintenant décrite. One way to generate a PN sequence optimally with minimal binary operations is now described. Les coefficients du polynôme générateur de puissance élevée sont en correspondance avec les bits de poids faible du registre à décalage, le bit de sortie étant en poids fort. The coefficients of the high power generator polynomial are in correspondence with the least significant bits of the shift register, the output bit being the most significant.
  • [0108]
    Le code descriptif de cette méthode est donné ci-dessous: The descriptive code of this method is given below:
  int state; int state;
    N = 1 << Ms) - 1 N = 1 << Ms) - 1
    int poly = 0xca0; int = poly 0xca0;
    state = 1; state = 1;
    w[0] = -2 * (state >> (Ms - 1) & 1) + 1; w [0] = -2 * (state >> (Ms - 1) + 1) + 1;
    for(i = 1; i < N; i++) for (i = 1; i <N; i ++)
     { {
     state = ((state << 1) & N) | state = ((state << 1) & N) |  (xor(poly & state)&1); (Xor (poly & state) + 1);
     w[i] = -2 * (state >> (Ms - 1) & 1) + 1; w [i] = -2 * (state >> (Ms - 1) + 1) + 1;
    } } 
  • [0109]
    L'entier state contient l'état courant du registre à décalage, chaque cellule du registre étant représentée par un emplacement binaire de l'entier state. The entire state of the shift register contains the current state, each register cell being represented by a bit location of the stationary state. Il est initialisé à 1. Pour le calcul de l'état state à l'instant suivant, le contenu state est décalé vers la gauche de la position d'un bit, on effectue ensuite un masque en faisant une opération binaire "et" du résultat avec N l'entier contenant M s bits de poids faible à 1. Il ne reste plus qu'à insérer en position de bit de poids faible, par addition au moyen d'une opération binaire "ou", l'opération de "ou exclusif' (xor) des bits du produit bit à bit de l'état du registre avec le polynôme générateur (poly & state). It is initialized to 1. For the calculation of the state state at the next time, the content state is shifted to the left of the position of a bit, then makes a mask by a binary operation "and" the result with N integer containing M s least significant bits to 1. It remains only to insert into least significant bit position by adding by means of a binary operation "or" operation " exclusive or (xOR) of the bits of the bit-wise product of the register state with the generator polynomial (poly & state).
  • [0110]
    La fonction xor(n) calcule un ou exclusif des bits de l'entier n en argument. The xor (n) function calculates an exclusive OR of the bits of the integer n as an argument.
  • [0111]
    La méthode décrite précédemment permet d'obtenir la séquence à partir d'une implantation du registre à décalage par une seule ligne de code ne nécessitant que peu d'opérations binaires: une opération de "décalage", trois opérations "et", une opération "ou" et une opération "ou exclusif" et ce quel que soit le polynôme générateur. The method described above allows to obtain the sequence from an implantation of the shift register by a single line of code requiring only few binary operations: an operation for "offset", three "and" operations, an operation "or" operation and "exclusive or" and regardless of the generator polynomial. En effet, ces opérations sont effectuées sur les bits d'un entier représentant dans chaque cas le registre à décalage de génération de la séquence. In fact, these operations are performed on the bits of an integer corresponding in each case the generation of the shift register sequence.
  • [0112]
    Dans l'état de l'art, par exemple la référence de Schneier citée précédemment page 375, l'implantation du registre à décalage version Fobinacci demande plus d'opérations binaires: sept opérations de "décalage", deux opérations "et", une opération "ou" et cinq opérations "ou exclusif'. In the prior art, for example the reference cited above Schneier page 375, the implementation of the shift register Fobinacci release request more binary operations: seven operations for "shift" two "and" operations, operation "or" five operations and "exclusive or.
  • [0113]
    Cette séquence PN ainsi générée est utilisable par exemple dans le premier mode de réalisation décrit en référence à la figure 8. This PN sequence thus generated is used for example in the first embodiment described with reference to Figure 8.
  • [0114]
    La figure 8 illustre de façon détaillée, sous forme d'organigramme, l'étape de calcul de corrélation E33 de la figure 3 dans le cas d'un premier mode de réalisation de l'invention. Figure 8 shows in detail, in flowchart form, the correlation calculating step E33 of FIG 3 in the case of a first embodiment of the invention. Ce premier mode de réalisation utilise la méthode de transformée rapide d'Hadamard comme méthode de transformation rapide. The first embodiment uses the method of fast Hadamard transform as fast processing method.
  • [0115]
    Ainsi, à l'issue de l'étape E32, un bloc courant x w ( n ) de N échantillons a été préparé. Thus, after step S32, a current block x w (n) of N samples has been prepared.
  • [0116]
    L'opération suivante E81 consiste à permuter le vecteur The next operation consists E81 permuting the vector x x w ( n ), c'est-à-dire à le ré indicer en fonction d'une première permutation Pe. w (n), that is to say the re subscript a function of a first permutation Pe. A l'issue de cette étape de permutation, on obtient un vecteur xe ( i ), i = 0,..., N -1. At the end of this step of permutation, there is obtained a vector xe (i), i = 0, ..., N -1.
  • [0117]
    Un exemple de code implémentant cette fonction est le suivant: Sample code that implements this function is:
  •   xe[0] = 0; xe [0] = 0;
        for (i = 0; i < N; i++) for (i = 0; i <N; i ++)
          xe[TabPe[i]] = xw[i]; xe [TabPe [i]] = xw [i];
         } } 
  • [0118]
    La transformée d'Hadamard est ensuite appliquée à l'étape E82 au vecteur xe(i), i = 0,..., N -1 . The Hadamard transform is then applied to step E82 in the tenth vector (i), i = 0, ..., N -1. On peut retrouver une explication de la méthode d'Hadamard dans le document We can find an explanation of the Hadamard method in the document . .
  • [0119]
    Un exemple de mode opératoire de la transformée d'Hadamard est présenté ci-dessous: An example of procedure of the Hadamard transform is presented below:
  •   void FastHadamard(double *x, long N) void FastHadamard (double * x, long N)
          { {
          long i, il, j, k, k1, k2; long i, il, j, k, k1, k2;
          double temp; Double Temp;
          Kp = (1<<N)-1; Kp = (1 << N) -1;
          k1 = Kp; k1 = Kp;
          for (k = 0; k < N; k++) for (k = 0; k <N; k ++)
             { {
            k2 = k1 >> 1; k2 = k1 >> 1;
            for (j = 0; j < k2; j++) for (j = 0; j <k2; j ++)
                { {
                for (i = j; i < Kp; i = i + k1) for (i = j; i <Kp; i = i + k1)
                    { {
                    il = i + k2; il = i + k2;
                    temp = x[i] + x [i1] ; temp = x [i] + x [i1];
                     xe[i1] = xe[i] - xe[i1]; xe [i1] = xe [i] - xe [i1];
                    xe[i] = temp; xe [i] = Temp;
                    } }
                } }
            kl = k1 >> 1; kl = k1 >> 1;
            } }
      } } 
  • [0120]
    L'étape E82 est suivie de l'étape E83 dans laquelle une seconde permutation Ps est appliquée au vecteur résultant de la transformée d'Hadamard, afin d'obtenir les valeurs de corrélation correspondant à l'ordre des instants d'échantillonnage de départ. The step E82 is followed by step E83 in which a second permutation Ps is applied to the resultant vector of the Hadamard transform to obtain the correlation values ​​corresponding to the order of the instants of starting sampling.
  • [0121]
    Un exemple de code implémentant cette fonction est le suivant: Sample code that implements this function is:
  •   for (i = 0; i < N-1; i++) for (i = 0; i <N-1; i ++)
          { {
           cor[i] = xe[TabPs[i]]; cor [i] = xe [TabPs [i]];
          } }
         cor[N-1] = 0; cor [N-1] = 0; 
  • [0122]
    A l'issue de l'étape E83, on obtient des valeurs de corrélation Cor(k) qui peuvent être utilisées directement à l'étape E34 décrite en référence à la figure 3. At the end of step E83, there are obtained values ​​of correlation Cor (k) which can be used directly in step E34 described with reference to Figure 3.
  • [0123]
    Dans un mode de réalisation amélioré, une étape E84 de correction est mise en oeuvre. In an improved embodiment, a correction step E84 is implemented.
  • [0124]
    En effet, en examinant l'équation (4), on constate que: Indeed, by examining equation (4) shows that:
    • des termes parasites à l'origine du repliement apparaissent à la fin de la matrice carrée. parasites terms originally folding appear at the end of the square matrix. Il s'agit de w (0) sur la deuxième ligne, de w (0) et w (1) sur la troisième ligne, de w (0) w (1) et w (2) sur la quatrième ligne. This is w (0) on the second line of w (0) and w (1) on the third line of w (0) w (1) and w (2) on the fourth line. La contribution C - ( k ) de ces termes parasites est à retrancher de Cor ( k ). The contribution C - (k) of these parasites is to subtract terms of Cor (k).
    • des termes utiles manquent. useful words missing. En effet la séquence de la deuxième ligne commence à w (1), il manque donc la contribution de w (0). Indeed the second line sequence starts w (1), it lacks therefore the contribution of w (0). Celle de la troisième ligne commence à w (2) , il manque donc la contribution de w (0) et de w (1). That of the third line starts w (2), thus missing the contribution of w (0) and w (1). La référence de temps étant prise à n=0, ces valeurs sont à pondérer avec le signal tatoué antérieur à la trame courante x w (-1), x w (-2), x w (-3), ... et la contribution C + ( k ) de ces termes manquants est à ajouter à Cor ( k ) . The reference time being taken at n = 0, these values are weighted with the watermarked signal prior to the current frame x w (-1) x w (-2), x w (-3), ... and the contribution + C (k) is the missing words to add to Cor (k).
  • [0125]
    La contribution C - ( k ) est égale à: The contribution C - (k) is equal to: C C - - k k = = Σ j j = = 0 0 k k - - 1 1 w w j j x x w w N NOT - - k k + + j j
  • [0126]
    Celle de C + ( k ) est égale à: That of C + (k) is equal to: C C + + k k = = Σ j j = = 0 0 k k - - 1 1 w w j j x x w w - - k k + + j j
  • [0127]
    La valeur de la corrélation corrigée sera donnée en fonction de l'intercorrélation non corrigée Cor nc (k) par: The corrected correlation value will be given as a function of the uncorrected correlation Cor nc (k) by: Cor Horn k k = = Cor Horn nc nc k k + + C C + + k k - - C C - - k k k k = = 0 0 , , ... , , N NOT s s - - 1 1
  • [0128]
    Comme nous sommes en situation de recouvrement seuls les N s premiers coefficients d'intercorrélation sont pris en compte et sont donc à corriger. As we are only covering situation the N s first cross-correlation coefficients are taken into account and are therefore correct.
  • [0129]
    La correction introduite par l'équation (9) est donc appliquée à l'étape E84. Correction introduced by equation (9) is applied to the step E84. A l'issue de cette étape, les valeurs de corrélation corrigées Cor(k) sont comparées à un seuil à l'étape E34 comme décrit en référence à la figure 3. At the end of this step, the correlation values ​​corrected Cor (k) is compared to a threshold in step E34 as described with reference to Figure 3.
  • [0130]
    Les permutations Pe et Ps sont définies par des tables respectives TabPe et TabPs qui sont calculées à l'étape d'initialisation E31 de la figure 3. Pe and Ps permutations are defined by respective tables TabPe and TabPs which are calculated E31 initialisation step of Figure 3.
  • [0131]
    La table de permutation TabPe à affecter aux valeurs de The TabPe permutation table to affect the values of x x w du vecteur de signal d'entrée est calculée par exemple par le code ci-dessous en fonction du polynôme générateur nommé "poly", de la fonction "xor" et de Ms le degré du polynôme générateur. w of the input signal vector is calculated for example by the following code according to the generator polynomial named "poly" of the "xor" Ms and the degree of the generator polynomial. Cette table de permutation est ensuite stockée en mémoire. The permutation table is then stored in memory.
  •   N = (1 << Ms) - 1; N = (1 << Ms) - 1;
      state = 1; state = 1;
     
      TabPe[0] state; TabPe [0] state;
     
      for(i = 1; i < N; i++) for (i = 1; i <N; i ++)
        { {
        state = ((state << 1) & N) | state = ((state << 1) & N) |  (xor(poly & state) &1); (Xor (poly & state) + 1);
        TabPe[i] = state; TabPe [i] = state;
      } } 
  • [0132]
    L'état du registre state va prendre toutes les valeurs comprises entre 1 et N-1 mais dans un ordre qui sera caractérisé par la table de permutation. The state register state will assume all values ​​between 1 and N-1, but in an order that will be characterized by the permutation table. L'état state est d'abord initialisé à 1. Pour calculer l'état state à l'instant suivant, les bits de state à l'instant courant sont décalés vers la gauche d'une position et masqués par l'entier ayant M s bits de poids faible à 1. On ajoute au résultat de cette opération, en position de bit de poids faible, le résultat du ou exclusif du produit du polynôme par l'état (poly & state) masqué par l'entier 1. Ici de nouveau la séquence de permutation est calculée en faisant appel au nombre minimum d'opérations binaires comme décrit précédemment pour la génération de la séquence PN. The condition state is first initialized to 1. To calculate the state state at the next time, the state of bits at the current time are shifted to the left of a position masked by the integer having M s least significant bits to 1 is added to the result of this operation, in the least significant bit position, the result of exclusive oR of the product polynomial by the state (poly & state) masked by the integer 1. Here again the permutation sequence is calculated using a minimum number of binary operations as described above for generating the PN sequence.
  • [0133]
    TabPs, la table de la permutation Ps à affecter sur les valeurs de x TabPs, the table of the permutation Ps to assign the values of x e e en sortie de la transformée d'Hadamard est calculée par le code représenté ci-dessous en fonction du polynôme générateur "poly" et de Ms le degré du polynôme générateur. the output of the Hadamard transform is calculated by the code shown below according to the "poly" Ms generator polynomial and the degree of the generator polynomial. Cette table de permutation est ensuite stockée en mémoire. The permutation table is then stored in memory.
  •   N = (1 << Ms) - 1; N = (1 << Ms) - 1;
      int state = 1 << (Ms - 1);// Initialisation du registre à décalage int state = 1 << (Ms - 1); // shift register Initialization
     
      TabPs[0] = state; TabPs [0] = state;
     
      for(i = 1; i < N; i++) for (i = 1; i <N; i ++)
        { {
        state = (state >> 1) ^(poly * (state & 1)); state = (state >> 1) ^ (* poly (state + 1));
        TabPs[i] =state; TabPs [i] = state;
      } } 
  • [0134]
    La variable d'état du registre state est d'abord initialisée à 2 Ms -1. The state register state variable is first initialized to 2 ms -1. Ensuite, pour calculer l'état state à l'instant suivant, les bits de state à l'instant courant sont d'abord décalés d'une position vers la droite. Then, to calculate the state state at the next time, the state of bits at the current time are first shifted one position to the right. L'état à l'instant suivant est le résultat de l'opération "ou exclusif' bit à bit du résultat de l'opération précédente avec le produit du polynôme par l'état (poly & state) masqué par l'entier 1. Ici de nouveau la séquence de permutation est calculée en faisant appel au nombre minimum d'opérations binaires. The state at the next time is the result of the operation "exclusive or result of bitwise from the previous operation with the product of the polynomial by the state (poly & state) masked by the integer 1. here again the permutation sequence is calculated using the minimum number of binary operations.
  • [0135]
    En référence à la figure 9 , nous allons à présent décrire un second mode de réalisation pour l'étape de calcul de corrélation E33. Referring to Figure 9, we will now describe a second embodiment for the correlation calculation step E33. Dans ce mode de réalisation, la méthode de transformation rapide est une méthode de transformation de Fourier. In this embodiment, the fast transform method is a Fourier transform method.
  • [0136]
    Ainsi, à l'issue de l'étape E32, un bloc courant Thus, after step E32, a current block x x w ( n ) de N échantillons a été préparé. w (n) of N samples has been prepared.
  • [0137]
    L'opération suivante E91 consiste à calculer la transformée de Fourier du vecteur The next step E91 consists in calculating the Fourier transform of the vector x x w ( n ) pour obtenir la transformée w (n) to obtain the transformed X X w . w.
  • [0138]
    Dans ce mode de réalisation, le calcul de la corrélation s'effectue selon l'équation (10) suivante: In this embodiment, the correlation calculation is carried out according to equation (10) below: Cor Horn k k = = Σ n not = = 0 0 N NOT - - 1 1 w w n not x x w w n not + + k k La transformée de Fourier de Cor(k) est donnée par: The Fourier transform of Cor (k) is given by: FFT FFT C C ~ or gold = = W W ~ * * X X ~ w w
    or W W * et and * X X w sont respectivement les transformées de Fourier de w are the Fourier transforms respectively w w et de and of x x w . w. En conséquence: Consequently: C C ~ or gold = = FFT FFT - - 1 1 W W ~ * * X X ~ w w
  • [0139]
    La transformée de la séquence aléatoire The transform of the random sequence w w , qu'elle soit issue d'une séquence générée avec une seule clé ou une séquence générée par une première clé et cryptée par une seconde est soit effectuée lors de l'étape E91, soit effectuée à l'étape d'initialisation puis stockée comme pour l'obtention de la séquence aléatoire. , Whether originated from a sequence generated with a single key or a sequence generated by a first key and encrypted by a second is to be performed during the step E91, is conducted to the initialization step and then stored as to obtain the random sequence.
  • [0140]
    Dans le cas où la séquence aléatoire est cryptée, cette séquence n'est pas générée selon le procédé de génération de séquence PN décrit précédemment mais selon une génération de séquence aléatoire basée par exemple sur une génération de nombres aléatoires. In the case where the random sequence is encrypted, this sequence is not generated according to the sequence generation method PN described above but in a random sequence generation based for example on a random number generation.
  • [0141]
    Lors de l'étape d'initialisation E31, le complexe conjuguée During the initialization step E31, the complex conjugate W W * de la transformée de Fourier * Of the Fourier transform W W est également calculé et stocké en mémoire. is also calculated and stored in memory.
  • [0142]
    A l'étape E92, le produit de At step E92, the product of W W * * X X w dans le domaine de Fourier est effectué. w in the Fourier domain is performed. On obtient ainsi This results Y Y ( k ) = (K) = X X w ( k ) w (k) W* W * ( k ) pour k allant de 0 à N-1. (K) for k from 0 to N-1. Puis, à l'étape E93, on applique une transformée de Fourier inverse de ce produit pour en déduire l'intercorrélation comme décrit par l'équation (12). Then, in step E93, it applies inverse Fourier transform of this product to derive the cross-correlation as described by equation (12).
  • [0143]
    On obtient ainsi les valeurs de corrélation Cor(k) que l'on compare à un seuil pour les Ns premiers échantillons comme décrit à l'étape E34 en référence à la figure 3. Thus obtaining the correlation values ​​Cor (k) which is compared to a threshold for the first Ns samples as described in step E34 with reference to Figure 3.
  • [0144]
    Comme dans le mode de réalisation utilisant la transformation d'Hadamard, des termes parasites apparaissent, ces termes pouvant être éliminés en appliquant la correction décrite par les équations 7, 8 et 9 précédentes. As in the embodiment using the Hadamard transform, noise terms are used, these terms can be eliminated by applying the correction described by Equations 7, 8 and 9 above.
  • [0145]
    Cette façon de procéder, nécessite une FFT de grande taille lorsque l'identificateur de tatouage a une taille importante, par exemple N = 4096 ou N = 8192 , cas usuels pour les signaux audionumériques. This procedure requires a large FFT when the tattoo identifier has a large size, for example N = 4096 and N = 8192, usual cases for digital audio signals.
  • [0146]
    Pour éviter cela, une première variante de réalisation de ce second mode de réalisation est maintenant décrite en référence à la figure 10. To avoid this, a first variant of this second embodiment is now described with reference to Figure 10.
  • [0147]
    Cette solution consiste à calculer la corrélation pour des blocs en recouvrement, en segmentant le calcul de la FFT en plusieurs FFT de tailles plus petites, de nouveau en recouvrement. This solution is to calculate the correlation for blocks overlapping, by segmenting the calculation of the FFT multiple FFT sizes smaller, again recovery. Par exemple pour une taille de 8192, on pourra effectuer R = 8 FFT de taille 1024 et sommer les résultats des intercorrélations partielles. For example, for a size of 8192, we can make R = 8 FFT size of 1024, and summing the results of partial intercorrelations.
  • [0148]
    La technique proposée consiste à subdiviser la séquence x w ( n ) en sous-séquences x wi ( n ) qui se recouvrent comme suit: The proposed technique is to divide the sequence x w (n) into sub-sequences x wi (n) that overlap as follows: x x wi wi n not = = x x w w n not + + N NOT s s i i n not = = 0 0 , , 1 1 , , , , 2 2 N NOT s s , , i i = = 0 0 , , 1 1 , , , , R R - - 1 1 et la séquence w ( n ) en sous-séquences w i ( n ) telles que : and the sequence w (n) w i sub-sequences (n) as: w w i i n not = = { { w w n not + + N NOT s s i i n not = = 0 0 , , 1 1 , , , , N NOT s s - - 1 1 0 0 n not = = N NOT s s , , , , 2 2 N NOT s s - - 1 1 i i = = 0 0 , , 1 1 , , , , R R - - 1 1
  • [0149]
    On peut remarquer que la séquence x wi (n) i = 0,..., R - 1 comprend en fait N+N s termes, la dernière sous-séquence étant égale à x w R -1 ( n ) = x w ( n + N s ( R -1)) n = 0,1,···,2 N s -1 It may be noted that the sequence x wi (n) i = 0, ..., R - 1 actually includes N + N s words, the last sub-sequence being equal to x w R -1 (n) = x w (n + s N (R -1)) n = 0,1, ···, 2 N s -1
  • [0150]
    Pour chaque paire de sous-séquence x wi ( n ) et w i ( n ) de longueur 2 N s , la séquence Cor i ( m ) représentant la corrélation périodique de x wi ( n ) et w i ( n ) est calculée. For each pair of sub-sequence x wi (n) and w i (n) of length 2N s, the horn sequence i (m) representing the periodic correlation of x wi (n) and w i (n) is calculated. Ce qui s'écrit avec les séquences originales x w (n) et w ( n ) : Which is written with the original sequences x w (n) and w (n): Cor Horn i i = = Σ n not = = 0 0 N NOT s s - - 1 1 x x w w n not + + i i N NOT s s w w n not + + i i N NOT s s + + m m m m = = 0 0 , , 1 1 , , , , N NOT s s
  • [0151]
    En sommant ces corrélations partielles sur les R sous-blocs, on obtient la corrélation totale entre les deux séquences. Summing the partial correlations on the R sub-blocks, we obtain the total correlation between the two sequences. Il existe cependant une méthode plus efficace pour calculer les intercorrélations en passant par la FFT. However, there is a more efficient method to calculate the cross-correlations through the FFT.
  • [0152]
    Pour cela on calcule X wi ( k ) et W i ( k ), les FFT des signaux x wi ( n ) et w i (n) puis le produit: For this we calculate X wi (k) and W i (k), the FFT of the signals x wi (n) and w i (n) then the product: Y Y i i k k = = W W ~ i i * * k k X X ~ wi wi k k
  • [0153]
    En sommant les contributions sur les R sous-trames de Summing contributions on R subframes Y Y i dans le domaine fréquentiel et en effectuant une transformée de Fourier inverse, on obtient l'intercorrélation cherchée: i in the frequency domain and performing an inverse Fourier transform, the cross-correlation sought is obtained: C C ~ or gold = = IFFT IFFT Σ i i = = 0 0 R R - - 1 1 Y Y ~ i i
  • [0154]
    Ainsi, en référence à la figure 10 , on obtient à l'étape E110 les séquences Thus, referring to Figure 10, there is obtained in step E110 sequences W W ~ i i * * i i = = 0 0 , , ... , , R R - - 1 1 supposées avoir été calculées à l'initialisation par FFT de assumed to have been calculated at initialization by FFT w w i défini par l'équation (15). i defined by the equation (15).
  • [0155]
    Ensuite pour chaque sous-bloc en recouvrement de i=0 E120 à i=R-1 E160, on calcule la transformée de Fourier de x wi ( n ) à l'étape E130 puis on effectue le produit complexe Then, for each overlapping sub-block i = 0 i = E120 to E160 R-1, one calculates the Fourier transform of x wi (n) in step E130 then is carried out the complex product Y Y ~ i i = = W W i i * * X X ~ wi wi à l'étape E140 et on somme le résultat dans le tableau de nombres complexes at step E140 and the sum result in the table of complex numbers Z Z à l'étape E150. to the step E150. Lorsque les R contributions de When R contributions Y Y ~ i i = = W W i i * * X X ~ wi wi ont été sommées on sort de la boucle en réponse positive au test E160 et l'intercorrélation s'obtient en calculant la FFT inverse de were ordered one exits the loop in positive response to E160 test and the cross-correlation is obtained by calculating the inverse FFT Z Z à l'étape E170. to the step E170. La taille de la FFT inverse est de 2 N s . The size of the inverse FFT is 2 N s.
  • [0156]
    Nous allons à présent décrire une seconde variante du second mode de réalisation de l'étape E33 de calcul de corrélation. We will now describe a second variant of the second embodiment of step correlation calculation E33.
  • [0157]
    Pour cela, on utilise pour le calcul de l'intercorrélation en recouvrement l'équation (19), l'intercorrélation intervenant cette fois en fonction des échantillons de la séquence retournée de For this, we use for the calculation of the intercorrelation assessed equation (19), the cross-correlation function occurring this time samples of the returned sequence x x w (signe - de x w ( nk )): w (- sign of w x (nk)): Cor Horn k k = = Σ n not = = 0 0 N NOT - - 1 1 w w n not x x w w n not + + k k La transformée de Fourier de The Fourier transform of C C or sera alors donnée par la relation suivante: gold will be given by the following equation: FFT FFT C C ~ or gold = = W W ~ X X ~ w w * *
  • [0158]
    Pour avoir une valeur de la corrélation sans repliement avec l'intercorrélation utilisant la séquence retournée, il nous faut de nouveau utiliser le recouvrement de: To correlate the value without folding with the cross-correlation using the returned sequence, we must again use the cover: x x wi wi n not = = x x w w n not - - N NOT s s + + N NOT s s i i n not = = 0 0 , , 1 1 , , , , 2 2 N NOT s s - - 1 1 , , i i = = 0 0 , , , , R R - - 1 1 et un nouveau partionnement and a new partitioning w w dans lequel les zéros sont introduits au début de bloc et non plus à la fin comme dans l'équation (15): wherein the zeros are introduced to the top block rather than at the end as in equation (15): w w i i n not = = { { 0 0 n not = = 0 0 , , 1 1 , , , , N NOT s s - - 1 1 w w n not + + N NOT s s i i n not = = N NOT s s , , , , 2 2 N NOT s s - - 1 1 i i = = 0 0 , , 1 1 , , , , R R - - 1 1
  • [0159]
    On remarquera que dans le cas présent la séquence x wi ( n ) i =0,..., R -1 utilisée pour le partitionnement comprend les échantillons x w (- N s +1),..., x w (-1), x w (0), x w (- N s -1). Note that in this case the sequence x wi (n) i = 0, ..., R -1 used for partitioning includes samples x w (- N s + 1), ..., x w (- 1) x w (0), x w (- N s -1).
  • [0160]
    Le calcul de la corrélation sera donné par le même procédé que celui décrit en référence à la figure 10, à ceci près que Calculating the correlation will be given by the same method as that described with reference to Figure 10, except that w w i est donné par l'équation (22) et que le tableau de complexe i is given by equation (22) and the table of complex Y Y i est donné à l'étape E 140 par: i is given in step S 140 by Y Y i i k k = = W W ~ i i k k X X ~ wi wi * * k k
  • [0161]
    Selon un mode de réalisation choisi et représenté à la figure 11, un dispositif mettant en oeuvre l'invention est par exemple un micro-ordinateur 210 qui comporte de façon connue, notamment une unité de traitement 220 équipée d'un microprocesseur, une mémoire morte de type ROM 230, une mémoire vive de type RAM 240. Le micro-ordinateur 210 peut comporter de manière classique et non exhaustive les éléments suivants: un clavier, un écran, un microphone, un haut-parleur, une interface de communication, un lecteur de disque, un moyen de stockage... According to a chosen embodiment and shown in FIG 11, a device embodying the invention is for example a microcomputer 210 which comprises in a known way, including a processing unit 220 equipped with a microprocessor, a ROM type ROM 230, a RAM type RAM 240. the microcomputer 210 may include conventionally and not exhaustive of the following: a keyboard, a screen, a microphone, a speaker, a communication interface, disk drive, a storage medium ...
  • [0162]
    La mémoire morte 230 comporte des registres mémorisant un programme d'ordinateur PG comportant des instructions de programme adaptées à mettre en oeuvre un procédé de détection d'identificateur de tatouage selon l'invention tel que décrit en référence à la figure 3. Ce programme PG est ainsi adapté à préparer un bloc courant de N échantillons d'un signal tatoué reçu en entrée 250, à effectuer un calcul de corrélation par une méthode de transformation rapide entre les échantillons du bloc courant et ceux de la séquence aléatoire obtenue à partir d'au moins une valeur d'initialisation reçu en entrée 260 et à comparer les valeurs de corrélations résultantes à un seuil pour en déduire la position de l'identificateur de tatouage en sortie 270. The ROM 230 includes registers storing a computer program PG comprising program instructions adapted to implement a tattoo identifier detection method according to the invention as described with reference to Figure 3. This program PG is thus suitable for preparing a current block of N samples of a watermarked signal received at the input 250, to perform a correlation calculation by a method of rapid processing between samples of the current block and those of the random sequence obtained from ' at least one input received initialization value 260 and comparing the resultant values ​​of correlation to a threshold to deduce the position of the tattoo identifier output 270.
  • [0163]
    Lors de la mise sous tension, le programme PG stocké dans la mémoire morte 230 est transféré dans la mémoire vive qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. When powering up, the program PG stored in the ROM 230 is transferred to the RAM which will then contain the executable code of the invention as well as registers for storing the variables necessary for the implementation of the invention .
  • [0164]
    De manière plus générale un moyen de stockage, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de détection d'identificateur de tatouage selon l'invention. More generally a storage medium, readable by a computer or by a microprocessor, integrated or not to the device, possibly removable, stores a program implementing the tattoo identifier detection method according to the invention.
  • Claims (14)

    1. Procédé de détection d'un identificateur de tatouage dans un signal audio, l'identificateur de tatouage ayant été inséré dans le signal audio à partir d'une séquence aléatoire d'une longueur de N échantillons, N étant multiple de Ns, obtenue par au moins une valeur d'initialisation, le procédé étant caractérisé en ce qu' il comporte les étapes suivantes: A method of detecting a watermark identifier in an audio signal, the tattoo identifier having been inserted in the audio signal from a random sequence of length N samples, where N is multiple of Ns obtained by the least one initialisation value, the method being characterized in that it comprises the following steps:
      - préparation d'un bloc courant de N échantillons à partir du signal tatoué; - preparation of a current block of N samples from the watermarked signal;
      - calcul de corrélation par une méthode de transformation rapide entre les échantillons du bloc courant et ceux de la séquence aléatoire obtenue à partir de la au moins une valeur d'initialisation; - correlation calculation by a method of rapid processing between samples of the current block and those of the random sequence obtained from the at least one initialisation value;
      - comparaison à un seuil prédéterminé des valeurs de corrélation issues du calcul de corrélation des Ns premiers échantillons; - compared to a predetermined threshold of the correlation values ​​from the correlation calculation of the first Ns samples;
      - itération des étapes précédentes avec un bloc courant décalé par rapport au bloc précédent de Ns échantillons tant que le maximum des dites valeurs de corrélation n'est pas supérieure au seuil prédéterminé, le maximum des valeurs de corrélation supérieur au seuil prédéterminé indiquant le début de l'identifïcateur de tatouage - iteration of the preceding steps with a current block offset from the previous block of Ns samples as the maximum of said correlation values ​​is not greater than the predetermined threshold, the maximum correlation values ​​greater than the predetermined threshold indicating start of tattoo ID
    2. Procédé selon la revendication 1, caractérisé en ce que l'identificateur de tatouage indique la position dans le signal audio d'un message inséré. A method according to claim 1, characterized in that the tattoo identifier indicates the position in an inserted audio message signal.
    3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que l'étape de préparation de bloc courant comprend une étape de filtrage inverse du signal tatoué et une étape de filtrage de Wiener utilisant un filtre calculé à partir d'une fonction de corrélation d'une séquence d'apprentissage de l'identificateur de tatouage. A method according to any one of claims 1 or 2, characterized in that the current block preparing step comprises an inverse filtering step of the watermarked signal and a Wiener filtering step using a filter calculated from a function correlation of a learning sequence of the tattoo identifier.
    4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la au moins une valeur d'initialisation est une clé (K a ) qui permet de générer la séquence aléatoire. A method according to any one of claims 1 to 3, characterized in that the at least one initialisation value is a key (K) to generate the random sequence.
    5. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la séquence aléatoire est obtenue par deux valeurs d'initialisation, la première étant une première clé (K a ) permettant de générer une séquence aléatoire intermédiaire, la seconde étant une seconde clé (K b ) permettant de crypter la séquence aléatoire intermédiaire pour obtenir la séquence aléatoire. A method according to any one of claims 1 to 3, characterized in that the random sequence is obtained by two initialization values, the first being a first key (K) for generating a random midblock, the second being a second key (K b) for encrypting the random sequence intermediate to obtain the random sequence.
    6. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la méthode de transformation rapide est une méthode du type d'Hadamard qui comporte les étapes suivantes: A method according to any one of claims 1 to 4, characterized in that the fast transform method is a method of the type Hadamard which comprises the following steps:
      - permutation des échantillons du bloc courant selon une première table de permutation; - permutation samples of the current block according to a first permutation table;
      - application de la transformée d'Hadamard aux échantillons ainsi permutés; - application of the Hadamard transform to the samples thus permuted;
      - permutation des échantillons du vecteur résultant de la transformée d'Hadamard selon une seconde table de permutation pour obtenir les valeurs de corrélations. - permutation samples of the resultant vector of the Hadamard transform according to a second permutation table to obtain the correlation values.
    7. Procédé selon la revendication 6, caractérisé en ce qu' il comporte une étape préalable d'initialisation dans laquelle les première et seconde tables de permutation ainsi que la séquence aléatoire sont calculées et mémorisées. A method according to claim 6, characterized in that it comprises a prior step of initialization in which the first and second permutation tables and random sequence are calculated and stored.
    8. Procédé selon la revendication 7, caractérisé en ce que le calcul de la séquence aléatoire, de la première et de la seconde table de permutation est optimisé par un nombre minimum d'opération binaires réalisées sur les bits d'un entier représentant dans chaque cas le registre à décalage de génération de la séquence ou de la table. The method of claim 7, characterized in that the calculation of the random sequence, the first and second permutation table is optimized by a minimum number of bits operation performed on the bits of an integer corresponding in each case the generating shift register sequence or the table.
    9. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la méthode de transformation rapide est par une méthode de type transformée de Fourier qui comporte les étapes suivantes: A method according to any one of claims 1 to 5, characterized in that the fast transform method is a method of Fourier transform type comprising the following steps:
      - application d'une transformée de Fourier au bloc courant; - applying a Fourier transform to the current block;
      - calcul d'un produit sur les échantillons résultant de la transformée du bloc courant et ceux du complexe conjuguée de la séquence aléatoire ayant subi une transformée de Fourier; - calculating a product of the samples resulting from the transform of the current block and those of the random sequence of complex conjugate having undergone a Fourier transform;
      - application d'une transformée inverse de Fourier pour obtenir les valeurs de corrélation. - applying an inverse Fourier transform to obtain the correlation values.
    10. Procédé selon la revendication 9, caractérisé en ce qu' il comporte une étape d'initialisation dans laquelle la transformée de Fourier de la séquence aléatoire et son complexe conjugué sont calculés et mémorisés. A method according to claim 9, characterized in that it comprises an initialization step in which the Fourier transform of the random sequence and its complex conjugate are calculated and stored.
    11. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que la méthode de transformation rapide est une méthode de type transformée de Fourier qui comporte les étapes suivantes: Method according to one of claims 1 to 5, characterized in that the fast transform method is a method of Fourier transform type comprising the following steps:
      - segmentation en sous-séquences du bloc courant; - segmentation into sub-sequences of the current block;
      - segmentation en sous-séquences de la séquence aléatoire, la deuxième moitié de la sous-séquence aléatoire étant mise à zéro; - subsequences in segmenting the random sequence, the second half of the random sub-sequence is set to zero;
      - application d'une transformée de Fourier aux sous-séquences du bloc courant et aux sous-séquences de la séquence aléatoire; - applying a Fourier transform to the sub-sequences of the current block and sub-blocks of the random sequence;
      - calcul de corrélations partielles par le produit sur les échantillons résultant de la transformée des sous-séquences du bloc courant et ceux du complexe conjugué des sous-séquences de la séquence aléatoire; - calculation of partial correlations by the product on the samples resulting from the transform of the sub-sequences of the current block and those of the complex conjugate of sub-sequences of the random sequence;
      - sommation des corrélations partielles calculées; - summing the computed partial correlations;
      - application d'une transformée de Fourier inverse à la somme issue de l'étape de sommation pour obtenir les valeurs de corrélation. - applying an inverse Fourier transform to the following sum of the summing step of obtaining the correlation values.
    12. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que la méthode de transformation rapide est une méthode de type transformée de Fourier qui comporte les étapes suivantes: Method according to one of claims 1 to 5, characterized in that the fast transform method is a method of Fourier transform type comprising the following steps:
      - segmentation en sous-séquences du bloc courant; - segmentation into sub-sequences of the current block;
      - segmentation en sous-séquences de la séquence aléatoire, la première moitié de la sous-séquence aléatoire étant mise à zéro; - subsequences in segmenting the random sequence, the first half of the random sub-sequence is set to zero;
      - application d'une transformée de Fourier aux sous-séquences du bloc courant et aux sous-séquences de la séquence aléatoire; - applying a Fourier transform to the sub-sequences of the current block and sub-blocks of the random sequence;
      - calcul de corrélations partielles par le produit sur le complexe conjugué des échantillons résultant de la transformée des sous-séquences du bloc courant et ceux des échantillons résultant des sous-séquences de la séquence aléatoire; - calculation of partial correlations by the product of the complex conjugate of the resulting samples of the transformed sub-blocks of the current block and those of the samples resulting from sub-sequences of the random sequence;
      - sommation des corrélations partielles calculées; - summing the computed partial correlations;
      - application d'une transformée de Fourier inverse à la somme issue de l'étape de sommation pour obtenir les valeurs de corrélation. - applying an inverse Fourier transform to the following sum of the summing step of obtaining the correlation values.
    13. Dispositif de détection d'un identificateur de tatouage dans un signal audio, l'identificateur de tatouage ayant été inséré dans le signal audio à partir d'une séquence aléatoire d'une longueur de N échantillons, N étant multiple de Ns, obtenue par au moins une valeur d'initialisation, caractérisé en ce qu' il comporte: Device for detecting a watermark identifier in an audio signal, the tattoo identifier having been inserted in the audio signal from a random sequence of length N samples, where N is multiple of Ns obtained by the least one initialisation value, characterized in that it comprises:
      - des moyens de préparation d'un bloc courant de N échantillons à partir du signal tatoué; - means for producing a current block of N samples from the watermarked signal;
      - des moyens de calcul de corrélation par une méthode de transformation rapide entre les échantillons du bloc courant et ceux de la séquence aléatoire obtenue à partir de la au moins une valeur d'initialisation; - correlation calculation means by a method of rapid change between samples of the current block and those of the random sequence obtained from the at least one initialisation value;
      - des moyens de comparaison à un seuil prédéterminé des valeurs de corrélation issues du calcul de corrélation des Ns premiers échantillons; - means for comparing a predetermined threshold of the correlation values ​​from the correlation calculation of the first Ns samples;
      - des moyens d'obtention d'un nouveau bloc courant par décalage de Ns échantillons par rapport au bloc précédent mis en oeuvre tant que le maximum des dites valeurs de corrélation n'est pas supérieure au seuil prédéterminé. - means for obtaining a new current block by shifting Ns samples from the previous block implemented as the maximum of said correlation values ​​is not above the predetermined threshold.
    14. Programme d'ordinateur comprenant des instructions de code pour la mise en oeuvre des étapes d'un procédé de détection d'identificateur de tatouage conforme à l'une des revendications 1 à 12, lorsque ledit programme est exécuté par un processeur. A computer program comprising code instructions for implementing the steps of a tattoo identifier detection method according to any one of claims 1 to 12, when said program is executed by a processor.
    EP20070301153 2006-07-11 2007-06-27 Method and device for detecting a tattooing identifier in an audio signal Withdrawn EP1887565A1 (en)

    Priority Applications (1)

    Application Number Priority Date Filing Date Title
    FR0652919 2006-07-11

    Publications (1)

    Publication Number Publication Date
    EP1887565A1 true true EP1887565A1 (en) 2008-02-13

    Family

    ID=37911214

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP20070301153 Withdrawn EP1887565A1 (en) 2006-07-11 2007-06-27 Method and device for detecting a tattooing identifier in an audio signal

    Country Status (1)

    Country Link
    EP (1) EP1887565A1 (en)

    Citations (6)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    WO1998037513A1 (en) * 1997-02-20 1998-08-27 Telstra R & D Management Pty. Ltd. Invisible digital watermarks
    WO2002049363A1 (en) * 2000-12-15 2002-06-20 Agency For Science, Technology And Research Method and system of digital watermarking for compressed audio
    WO2004010376A1 (en) 2002-07-22 2004-01-29 Koninklijke Philips Electronics N.V. Watermark detection
    EP1594122A1 (en) * 2004-05-06 2005-11-09 Deutsche Thomson-Brandt Gmbh Spread spectrum watermarking
    US6983057B1 (en) * 1998-06-01 2006-01-03 Datamark Technologies Pte Ltd. Methods for embedding image, audio and video watermarks in digital data
    EP1837875A1 (en) * 2006-03-22 2007-09-26 Deutsche Thomson-Brandt Gmbh Method and apparatus for correlating two data sections

    Patent Citations (6)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    WO1998037513A1 (en) * 1997-02-20 1998-08-27 Telstra R & D Management Pty. Ltd. Invisible digital watermarks
    US6983057B1 (en) * 1998-06-01 2006-01-03 Datamark Technologies Pte Ltd. Methods for embedding image, audio and video watermarks in digital data
    WO2002049363A1 (en) * 2000-12-15 2002-06-20 Agency For Science, Technology And Research Method and system of digital watermarking for compressed audio
    WO2004010376A1 (en) 2002-07-22 2004-01-29 Koninklijke Philips Electronics N.V. Watermark detection
    EP1594122A1 (en) * 2004-05-06 2005-11-09 Deutsche Thomson-Brandt Gmbh Spread spectrum watermarking
    EP1837875A1 (en) * 2006-03-22 2007-09-26 Deutsche Thomson-Brandt Gmbh Method and apparatus for correlating two data sections

    Non-Patent Citations (8)

    * Cited by examiner, † Cited by third party
    Title
    ALRUTZ AND M R SCHROEDER H: "A FAST HADAMARD TRANSFORM ALGORITHM FOR THE EVALUATION OF MEASUREMENTS USING PSEUDORANDOM TEST SIGNALS", ICA. PROCEEDINGS OF THE INTERNATIONAL CONGRESS ON ACOUSTICS, XX, XX, no. 11TH, 1983, pages 235 - 238, XP008075716 *
    BARAS C ET AL: "An Audio Spread-Spectrum Data Hiding System with an Informed Embedding Strategy Adapted to a Wiener Filtering Based Receiver", MULTIMEDIA AND EXPO, 2005. ICME 2005. IEEE INTERNATIONAL CONFERENCE ON AMSTERDAM, THE NETHERLANDS 06-06 JULY 2005, PISCATAWAY, NJ, USA,IEEE, 6 July 2005 (2005-07-06), pages 1022 - 1025, XP010843215, ISBN: 0-7803-9331-7 *
    CVEJIC N AND SEPPANEN T: "IMPROVING AUDIO WATERMARKING SCHEME USING PSYCHOACOUSTIC WATERMARK FILTERING", PROCEEDINGS OF IEEE INTERNATIONAL SYMPOSIUM ON SIGNAL PROCESSING AND INFORMATION TECHNOLOGY, CAIRO, EGYPT, 28 December 2001 (2001-12-28) - 30 December 2001 (2001-12-30), XP008078163 *
    HADDAD MOHSEN ET AL: "OPTIMAL DETECTOR FOR AN ADDITIVE WATERMARKING SCHEME BASED ON HUMAN AUDITORY SYSTEM", PROCEEDINGS OF THE SPIE, SPIE, BELLINGHAM, VA, US, vol. 6072, 17 February 2006 (2006-02-17), pages 60721Z - 1, XP008078028, ISSN: 0277-786X *
    KIROVSKI D ET AL: "SPREAD-SPECTRUM WATERMARKING OF AUDIO SIGNALS", IEEE TRANSACTIONS ON SIGNAL PROCESSING, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 51, no. 4, April 2003 (2003-04-01), pages 1020 - 1033, XP001171826, ISSN: 1053-587X *
    MUNTEAN T ET AL: "Audio digital watermarking based on hybrid spread spectrum", WEB DELIVERING OF MUSIC, 2002. WEDELMUSIC 2002. PROCEEDINGS. SECOND INTERNATIONAL CONFERENCE ON 9-11 DEC. 2002, PISCATAWAY, NJ, USA,IEEE, 9 December 2002 (2002-12-09), pages 150 - 155, XP010626956, ISBN: 0-7695-1623-8 *
    PARASKEVI BASSIA ET AL.: "Robust Audio Watermarking in The Time Domain", IEEE TRANSACTIONS ON MULTIMEDIA, IEEE SERVICE CENTER, vol. 3, no. 2, June 2001 (2001-06-01)
    PARASKEVI BASSIA ET AL: "Robust Audio Watermarking in the Time Domain", IEEE TRANSACTIONS ON MULTIMEDIA, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 3, no. 2, June 2001 (2001-06-01), XP011036241, ISSN: 1520-9210 *

    Similar Documents

    Publication Publication Date Title
    Barni et al. Watermarking systems engineering: enabling digital assets security and other applications
    Lie et al. Robust and high-quality time-domain audio watermarking based on low-frequency amplitude modification
    Herrigel et al. Secure copyright protection techniques for digital images
    Bianchi et al. Secure watermarking for multimedia content protection: A review of its benefits and open issues
    US6850910B1 (en) Active data hiding for secure electronic media distribution
    Kirovski et al. Robust covert communication over a public audio channel using spread spectrum
    US7369677B2 (en) System reactions to the detection of embedded watermarks in a digital host content
    US8538066B2 (en) Asymmetric watermark embedding/extraction
    US6456726B1 (en) Methods and apparatus for multi-layer data hiding
    US20060239502A1 (en) Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
    US20100106510A1 (en) Methods and apparatus to perform audio watermarking and watermark detection and extraction
    FR2812147A1 (en) Method of security processing of data flow such as e.g. MP3 data stream by transmitting processes data stream back to external device that recombines of processes part with major fraction to produce flux of output information
    KR20120128149A (en) Watermark signal provider and method for providing a watermark signal
    JP5283732B2 (en) Enhanced security of electronic watermark for multimedia content
    CN101115124A (en) Method and apparatus for identifying media program based on audio watermark
    US20070036357A1 (en) Watermarking of multimedia signals
    FR2743967A1 (en) Method and timing synchronization apparatus of a receiver of a multicarrier signal
    FR2829643A1 (en) Random number generation method for encryption use, whereby the random number generator to be used in the next iterative step is selected from several random number generators
    US20120011592A1 (en) Method and system embedding a non-detectable fingerprint in a digital media file
    JP2007114494A (en) Secrecy computing method and device
    Li et al. Breaking a chaos-noise-based secure communication scheme
    US20050147248A1 (en) Window shaping functions for watermarking of multimedia signals
    US7266466B2 (en) Watermark time scale searching
    Malik et al. Robust data hiding in audio using allpass filters
    Li et al. An audio watermarking technique that is robust against random cropping

    Legal Events

    Date Code Title Description
    AK Designated contracting states:

    Kind code of ref document: A1

    Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

    AX Request for extension of the european patent to

    Countries concerned: ALBAHRMKYU

    17P Request for examination filed

    Effective date: 20080722

    17Q First examination report

    Effective date: 20080909

    AKX Payment of designation fees

    Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

    RAP1 Transfer of rights of an ep published application

    Owner name: ORANGE

    RIC1 Classification (correction)

    Ipc: G10L 25/06 20130101ALI20151104BHEP

    Ipc: G10L 19/00 20130101AFI20151104BHEP

    Ipc: G10L 19/018 20130101ALI20151104BHEP

    INTG Announcement of intention to grant

    Effective date: 20151217

    18D Deemed to be withdrawn

    Effective date: 20160429