







La présente invention concerne le codage/décodage de signaux numériques, dans des applications de transmission ou de stockage de signaux multimédia tels que les signaux audio (parole et/ou sons) ou vidéo.The present invention relates to the encoding / decoding of digital signals, in applications for transmission or storage of multimedia signals such as audio signals (speech and / or sounds) or video.
Pour offrir mobilité et continuité, les services de communication multimédia modernes et innovants doivent pouvoir fonctionner dans une grande variété de conditions. Le dynamisme du secteur de la communication multimédia, l'hétérogénéité des réseaux, de l'accès et des terminaux ont engendré une prolifération de formats de compression.To provide mobility and continuity, modern and innovative multimedia communication services must be able to operate under a wide variety of conditions. The dynamism of the multimedia communication sector, the heterogeneity of networks, access and terminals have led to a proliferation of compression formats.
La présente invention s'inscrit dans ie contexte d'une optimisation des techniques de "codage multiple", mises en oeuvre dès lors qu'un signal numérique, ou une portion de ce signal, est codé selon plusieurs techniques de codage. Ce codage multiple peut être effectué de manière simultanée (en une seule passe) ou non. Les traitements peuvent s'effectuer sur le même signal, ou éventuellement sur des versions dérivées du même signal (par exemple selon des bandes passantes différentes). On distingue donc le "codage multiple" des "transcodages", où chaque codeur effectue la compression d'une version issue du décodage du signal compressé par le codeur précédent.The present invention is in the context of an optimization of "multiple coding " techniques, implemented as soon as a digital signal, or a portion of this signal, is coded according to several coding techniques. This multiple coding can be performed simultaneously (in one pass) or not. The processes can be carried out on the same signal, or possibly on versions derived from the same signal (for example according to different bandwidths). One thus distinguishes the "multiple coding " of the "transcodings ", where each coder carries out the compression of a version resulting from the decoding of the signal compressed by the preceding encoder.
Le codage multiple se présente par exemple dans le cas d'un même contenu qui est codé selon plusieurs formats et transmis ensuite à des terminaux ne supportant pas les mêmes formats de codage. S'il s'agit d'une diffusion en temps réel, le traitement devra être effectué en simultané. S'il s'agit d'accès à une base de données, les codages pourront être effectués l'un après l'autre, en différé. Dans ces exemples, le codage multiple permet de coder un même signal selon des formats différents en utilisant plusieurs codeurs (ou éventuellement plusieurs débits ou plusieurs modes d'un même codeur), chaque codeur fonctionnant de manière indépendante des autres codeurs.Multiple coding is, for example, in the case of the same content which is coded according to several formats and then transmitted to terminals that do not support the same coding formats. If it is a real-time broadcast, the processing should be done simultaneously. If it is a question of access to a database, the codings can be carried out one after another, delayed. In these examples, the multiple coding makes it possible to code the same signal in different formats by using several coders (or possibly several rates or several modes of the same encoder), each encoder operating independently of the other coders.
Un autre usage de codage multiple se rencontre dans des structures de codage où plusieurs codeurs se trouvent en compétition pour coder un segment de signal, un seul codeur étant finalement sélectionné pour le codage de ce segment. Le choix du codeur sélectionné peut s'effectuer à l'issue du traitement de ce segment, voire même ultérieurement (par décision retardée). Dans ce qui suit, on désignera par "codage multi-modes" ce type de structure (en référence à la sélection d'un "mode" de codage). Dans ces structures multi-modes, plusieurs codeurs partageant un "passé commun" sont amenés à coder la même portion de signal. Les techniques de codage utilisées peuvent être différente, ou issues d'une unique structure de codage. Elles ne seront cependant pas totalement indépendantes sauf s'il s'agit de techniques "sans mémoire". En effet, dans le cas (courant) de techniques de codage mettant en oeuvre des traitements récursifs, le traitement d'un segment donné de signal dépend de la manière dont ce signal a été codé dans le passé. Il y a donc une certaine dépendance entre les codeurs, dès lors qu'un codeur devra prendre en compte dans ses mémoires la sortie d'un autre codeur.Another use of multiple coding occurs in encoding structures where multiple encoders compete to encode a signal segment, with only one encoder ultimately selected for encoding that segment. The choice of the selected encoder can be made at the end of the processing of this segment, or even later (by delayed decision). In what follows, this type of structure will be referred to as "multi-mode coding " (with reference to the selection of a "mode " of coding). In these multi-mode structures, several coders sharing a "common past " are required to encode the same signal portion. The coding techniques used may be different, or from a single coding structure. However, they will not be completely independent unless they are "memory-free " techniques. Indeed, in the (current) case of coding techniques implementing recursive processing, the processing of a given signal segment depends on the way in which this signal has been coded in the past. There is therefore a certain dependence between the encoders, since an encoder will have to take into account in its memories the output of another encoder.
Dans ces différents contextes, la notion de "codage multiple" a été introduite ainsi que les conditions d'usage de telles techniques. Cependant la complexité de mise en oeuvre peut s'avérer rédhibitoire.In these different contexts, the notion of "multiple coding " has been introduced as well as the conditions of use of such techniques. However, the complexity of implementation can be prohibitive.
Par exemple, dans le cas de serveurs de contenus qui diffusent un même contenu sous plusieurs formats adaptés aux conditions d'accès, de réseaux et terminaux de différents clients, cette opération devient extrêmement complexe à mesure qu'augmente le nombre de formats désiré. S'il s'agit d'une diffusion temps réel, on se trouve rapidement limité par les ressources du système étant donné que les différents formats sont codés en parallèle.For example, in the case of content servers that broadcast the same content in several formats adapted to the access conditions, networks and terminals of different clients, this operation becomes extremely complex as the number of desired formats increases. If it is a real-time broadcast, one is quickly limited by the resources of the system since the different formats are coded in parallel.
Le deuxième cas d'usage mentionné concerne les applications de codage multi-modes, permettant la sélection d'un codeur parmi un ensemble pour chaque portion de signal analysé. La sélection demande la définition d'un critère, les plus courants visant à l'optimisation du compromis débit-distorsion. Le signal étant analysé sur des segments temporels successifs, à chaque segment plusieurs codages sont évalués. On sélectionne ensuite le codage de débit le plus faible pour une qualité donnée, ou celui de meilleure qualité pour un débit donné. On notera que d'autres contraintes que celles de débit/distorsion peuvent être utilisées.The second use case mentioned concerns multi-mode coding applications, allowing the selection of one encoder from a set for each portion of signal analyzed. The selection requires the definition of a criterion, the most common aiming at the optimization of the rate-distortion compromise. The signal being analyzed over successive time segments, at each segment several codings are evaluated. The lowest bit rate coding for a given quality is then selected, or the best bit rate coding for a given bit rate. It will be noted that other constraints than those of flow / distortion can be used.
En général, dans de telles structures, la sélection du codage s'effectue "apriori" par une analyse du signal sur le segment considéré (sélection selon les caractéristiques du signal). Cependant, la difficulté de produire une classification robuste du signal pour cette sélection a conduit à proposer une sélection "a posteriori" du mode optimal après codage de l'ensemble des modes, au prix toutefois d'une complexité élevée.In general, in such structures, the coding selection is made "apriori " by an analysis of the signal on the segment in question (selection according to the characteristics of the signal). However, the difficulty of producing a robust classification signal for this selection has led to propose a selection"a posteriori" the optimum mode after coding all the modes, however the complexity of high prices.
Des méthodes intermédiaires combinant les deux approches ont été proposées pour alléger le coût de calcul. Ces stratégies sont cependant sous-optimales et s'avèrent moins performantes que l'exploration de tous les modes. L'exploration de tous les modes ou d'une grande partie des modes constitue une application de codage multiple qui présente une complexité potentiellement élevée, difficilement compatible a priori avec le codage en temps réel par exemple.Intermediate methods combining the two approaches have been proposed to reduce the cost of calculation. These strategies, however, are suboptimal and are less efficient than exploring all modes. The exploration of all the modes or a large part of the modes constitutes a multiple coding application which presents a potentially high complexity, hardly compatible a priori with the real-time coding for example.
Actuellement, la plupart des opérations de codage multiple et de transcodage ne prennent pas en compte les interactions entre les formats et entre le format et son contenu. Quelques techniques de codage multi-modes ont été proposées, mais la décision du mode utilisé se fait généralement a priori soit sur le signal (par classification, comme par exemple le codeur SMV pour "Selectable Mode Vocoder"), soit en fonction des conditions du réseau (par exemple dans les codeurs AMR pour "Adaptive Multi-Rate").Currently, most multi-coding and transcoding operations do not take into account the interactions between formats and between the format and its content. Some multi-mode coding techniques have been proposed, but the decision of the mode used is generally a priori on the signal (by classification, for example the SMV coder for "Selectable Mode Vocoder "), depending on the network conditions (for example in AMR encoders forAdaptive Multi-Rate ).
Dans les documents :
Dans le cas d'une décision contrôlée par la source, la décision a priori s'effectue à partir d'une classification du signal d'entrée. Il existe alors de nombreuses méthodes de classification du signal.In the case of a decision controlled by the source, the decision a priori is made from a classification of the input signal. There are many methods of signal classification.
Dans le cas d'une décision contrôlée par le réseau, il est plus simple de réaliser un codeur multi-modes dont le débit est choisi par un module externe plutôt que par la source. La méthode la plus simple consiste à élaborer une famille de codeurs chacun à débit fixe mais dont les débits sont différents entre codeurs et de commuter entre ces différents débits pour obtenir un mode courant désiré.In the case of a decision controlled by the network, it is simpler to produce a multi-mode encoder whose bit rate is chosen by an external module rather than by the source. The simplest method is to develop a family of coders each fixed rate but whose flow rates are different between coders and to switch between these different rates to obtain a desired current mode.
Quelques travaux ont aussi été présentés sur la possibilité de combiner plusieurs critères pour sélectionner a priori le mode qui doit être utilisé, notamment dans les documents :
Tous les algorithmes de codage muiti-modes avec sélection du mode de codage a priori souffrent d'un même inconvénient, en particulier lié à des problèmes de robustesse de la classification a priori.All the multi-mode coding algorithms with selection of the prior coding mode suffer from the same drawback, in particular related to problems of robustness of the classification a priori.
C'est pourquoi des techniques utilisant une décision a posteriori du mode de codage ont été proposées. Par exemple dans le document :
D'autres techniques combinant une décision a priori et une amélioration en boucle fermée ont été proposées. Dans le document :
De même, dans les documents :
L'ensemble des études mentionnées ci-dessus tend à résoudre le problème de la complexité de la sélection optimale du mode par l'utilisation, totale ou partielle, d'une sélection ou pré-sélection a priori, qui évite le codage multiple ou diminue le nombre de codeurs à mettre en oeuvre en parallèle.All the studies mentioned above tend to solve the problem of the complexity of the optimal selection of the mode by the use, total or partial, of a selection or pre-selection a priori, which avoids the multiple coding or decreases the number of coders to be implemented in parallel.
Toutefois, aucune technique de l'art antérieur permettant de réduire la complexité des codages réalisés en parallèle n'a été proposée.However, no technique of the prior art that makes it possible to reduce the complexity of the codings made in parallel has been proposed.
La présente invention vient améliorer la situation.The present invention improves the situation.
Elle propose à cet effet un procédé de codage multiple en compression tel que défini dans la revendication 1.For this purpose, it proposes a method of multiple coding in compression as defined in
Dans une réalisation avantageuse, les étapes ci-avant sont mises en oeuvre par un produit programme d'ordinateur comportant des instructions de programme à cet effet. A ce titre, la présente invention vise aussi un tel produit programme d'ordinateur, destiné à être stocké dans une mémoire d'une unité de traitement, notamment d'un ordinateur ou d'un terminal mobile, ou sur un support mémoire amovible et destiné â coopérer avec un lecteur de l'unité de traitement.In an advantageous embodiment, the above steps are implemented by a computer program product comprising program instructions for this purpose. As such, the present invention also aims at such a computer program product, intended to be stored in a memory of a processing unit, in particular a computer or a mobile terminal, or on a removable memory medium and intended to cooperate with a drive of the processing unit.
La présente invention vise aussi un dispositif d'aide à un codage en compression, pour la mise en oeuvre du procédé selon l'invention, et comportant alors une mémoire propre à stocker des instructions d'un produit programme d'ordinateur du type précité.The present invention also aims at a device for aiding compression coding, for the implementation of the method according to the invention, and then including a memory adapted to store instructions of a computer program product of the aforementioned type.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels:
On se réfère tout d'abord à la
Pour une raison de simplicité, tous les codeurs de l'exemple de la
Certains blocs fonctionnels BFi sont parfois identiques d'un mode (ou d'un codeur) à l'autre, d'autres ne diffèrent qu'au niveau des quantificateurs. Des relations exploitables existent aussi lorsque l'on utilise des codeurs issus d'une même famille de codage, utilisant des modèles similaires ou calculant des paramètres liés physiquement au signal.Some BFi function blocks are sometimes identical from one mode (or encoder) to another, while others differ only in quantizer level. Usable relationships also exist when encoders from the same coding family are used, using similar models or computing parameters physically related to the signal.
Ce sont ces relations que la présente invention propose d'exploiter, afin de réduire la complexité des opérations de codage multiple.It is these relationships that the present invention proposes to exploit, in order to reduce the complexity of multiple coding operations.
Dans un premier temps, l'invention propose d'identifier les blocs fonctionnels composant chacun des codeurs. On exploite ensuite les similarités techniques entre les codeurs en considérant les blocs fonctionnels dont les fonctions sont équivalentes ou voisines. Pour chacun de ces blocs, l'invention propose :
La
Dans une variante avantageuse, plutôt que d'avoir recours à un module de calcul externe MI, on utilise le ou les blocs fonctionnels existants BF1 à BFn d'un même ou de plusieurs codeurs distincts, ce ou ces codeurs étant choisis selon des critères qui seront décrits plus loin.In an advantageous variant, rather than having recourse to an external calculation module MI, the existing functional block or blocks BF1 to BFn of the same or more different coders is used, this or these coders being chosen according to criteria which will be described later.
La présente invention peut mettre en oeuvre plusieurs stratégies qui, bien entendu, peuvent différer selon le rôle du bloc fonctionnel considéré.The present invention can implement several strategies which, of course, may differ depending on the role of the functional block considered.
Une première stratégie consiste à utiliser les paramètres du codeur dont le débit est le plus faible pour focaliser la recherche des paramètres pour tous les autres modes.A first strategy is to use the parameters of the encoder whose bit rate is the lowest to focus the search parameters for all other modes.
A l'inverse, une deuxième stratégie consiste à utiliser les paramètres du codeur dont le débit est le plus élevé, puis de "dégrader" progressivement jusqu'au codeur dont le débit est le plus faible.Conversely, a second strategy is to use the parameters of the encoder whose rate is the highest, then to "degrade " progressively to the encoder whose bit rate is the lowest.
Bien entendu, si l'on souhaite privilégier un codeur particulier, il est possible de coder un segment de signal en utilisant ce codeur, puis, en appliquant les deux stratégies ci-avant, d'atteindre les codeurs de débit supérieur et inférieur.Of course, if it is desired to favor a particular encoder, it is possible to encode a signal segment using this encoder, then, by applying the two strategies above, to reach the upper and lower rate encoders.
Bien entendu, d'autres critères que le débit peuvent être utilisés pour piloter la recherche. On peut par exemple, pour certains blocs fonctionnels, favoriser le codeur dont les paramètres se prêtent le mieux à une extraction (ou une analyse) et/ou à un codage efficaces des paramètres similaires des autres codeurs, l'efficacité pouvant être jugée selon la complexité, la qualité ou un compromis des deux.Of course, other criteria than flow can be used to drive the search. For some functional blocks, for example, it is possible to favor the encoder whose parameters lend themselves best to efficient extraction (or analysis) and / or coding of similar parameters from the others. coders, the efficiency being judged according to the complexity, the quality or a compromise of the two.
II peut être prévu aussi de créer un module de codage indépendant, non présent dans les codeurs, mais permettant un codage plus efficace des paramètres du bloc fonctionnel considéré, pour l'ensemble des codeurs.It may also be envisaged to create an independent coding module, not present in the coders, but allowing a more efficient coding of the parameters of the functional block considered, for all the coders.
Ces diverses stratégies de mise en oeuvre sont particulièrement intéressantes dans le cas du codage multi-modes. Dans ce contexte illustré à la
Dans ce cas particulier du codage multi-modes, une variante de la présente invention, représentée dans l'exemple de la
Une variante plus sophistiquée de la structure multi-modes reposant sur la découpe en blocs fonctionnels décrite ci-avant est maintenant proposée, en référence à la
Ainsi, chaque mode de codage est issu de la combinaison de modes de fonctionnement des blocs fonctionnels : le bloc fonctionnel 1 possède N1 modes de fonctionnement, le bloc fonctionnel 2 en possède N2, et ainsi de suite jusqu'au bloc P. L'ensemble des NN= N1 x N2 x ... x Np combinaisons possibles est donc représenté par un treillis de NN branches décrivant, bout-à-bout, un codeur multi-modes complet à NN modes. On peut éventuellement supprimer a priori certaines branches du treillis et définir ainsi une arborescence comportant un nombre réduit de branches. Une première particularité de cette structure est qu'elle prévoit, pour un bloc fonctionnel donné, un module de calculs communs par sortie du bloc fonctionnel précédent. Ces modules de calculs communs effectuent les mêmes opérations, mais sur la base de signaux différents puisqu'ils sont issus de blocs antérieurs différents. Avantageusement, les modules de calculs communs d'un même niveau sont mutualisés : les résultats d'un module donné exploitables par les modules suivants sont fournis à ces modules suivants. D'autre part, une sélection partielle, effectuée à l'issue du traitement de chaque bloc fonctionnel, permet avantageusement de supprimer les branches les moins performantes selon le critère choisi. On peut donc réduire le nombre de branches du treillis à évaluer.Thus, each coding mode is derived from the combination of operating modes of the functional blocks: the
Une application avantageuse de cette structure multi-modes en treillis est la suivante.
Lorsque les blocs fonctionnels sont susceptibles d'opérer à des débits respectifs différents et en utilisant des paramètres respectifs propres auxdits débits, pour un bloc fonctionnel donné, le chemin du treillis choisi est celui traversant le bloc fonctionnel de débit le plus faible, ou encore le bloc fonctionnel de débit le plus élevé selon le contexte de codage, et les résultats obtenus du bloc fonctionnel de débit le plus faible (ou le plus élevé) sont adaptés aux débits d'une partie au moins des autres blocs fonctionnels par une recherche focalisée de paramètres pour une partie au moins de tous les autres blocs fonctionnels, jusqu'au bloc fonctionnel de débit le plus élevé (ou respectivement le plus faible).An advantageous application of this multi-mode lattice structure is as follows.
 When the functional blocks are capable of operating at different respective flow rates and using respective parameters specific to said flow rates, for a given functional block, the chosen trellis path is the one passing through the lowest flow functional block, or the highest rate functional block according to the coding context, and the results obtained from the lowest (or highest) bit rate functional block are adapted to the bit rates of at least a portion of the other functional blocks by  a focused search of parameters for at least part of all other functional blocks, up to the highest (or lowest) rate functional block.
En variante, on choisit un bloc fonctionnel de débit donné et on adapte progressivement au moins une partie des paramètres propres à ce bloc fonctionnel:
L'invention s'applique à tout schéma de compression mettant en oeuvre le codage multiple d'un contenu multimédia. Trois exemples de réalisation sont présentés dans ce qui suit, dans le domaine de la compression audio (parole et son). Les deux premiers exemples de réalisation se situent dans le contexte de la famille des codeurs par transformée, dont on peut donner le document suivant à titre de référence :
Le troisième exemple de réalisation se situe dans le contexte des codeurs CELP, dont on peut donner le document suivant à titre de référence :
"
"
Un rappel des principales caractéristiques de ces deux familles de codage est tout d'abord présenté dans ce qui suit.A reminder of the main characteristics of these two families of coding is first presented in the following.
II s'agit de codeurs en compression par transformée ou en sous bandes basés sur des critères psychoacoustiques. Ce type de codeur procède par transformation sur des blocs du signal temporel pour obtenir un ensemble de coefficients. Les transformations sont du type temps-fréquence, l'une des transformations les plus utilisées étant la transformée en cosinus discrète modifiée (dit"MDCT", de l'anglais "Modified Discrete Cosine Transform"). Avant la quantification de ces coefficients, un algorithme procède à l'allocation des bits de façon à ce que le bruit de quantification soit le moins audible possible. L'allocation binaire et la quantification des coefficients mettent en oeuvre une courbe de masquage, obtenue à l'aide d'un modèle psychoacoustique permettant d'évaluer, pour chaque raie spectrale considérée, un seuil de masquage représentatif de l'amplitude nécessaire pour qu'un son à cette fréquence soit audible. La
Dans les codeurs à analyse par synthèse, le modèle de synthèse du signal reconstruit est utilisé au codeur pour extraire les paramètres modélisant les signaux à coder. Ces signaux peuvent être échantillonnés à la fréquence de 8 kHz (bande téléphonique 300-3400 Hz) ou à une fréquence plus élevée, par exemple à 16 kHz pour le codage en bande élargie (bande passante de 50Hz à 7 kHz). Selon l'application et la qualité désirée, le taux de compression varie de 1 à 16. Ces codeurs fonctionnent à des débits de 2 à 16 kbit/s en bande téléphonique, et à des débits de 6 à 32 kbit/s en bande élargie. Le dispositif de codage numérique de type CELP, codeur à analyse par synthèse le plus utilité actuellement, est présenté à la
Dans le schéma de principe du codeur CELP donné à la
Le décodage est, quant à lui, beaucoup moins complexe que le codage. Le flux binaire généré par le codeur permet au décodeur, après démultiplexage, d'obtenir l'index de quantification de chaque paramètre. Le décodage des paramètres et l'application du modèle de synthèse permettent alors de reconstruire le signal.Decoding is, for its part, much less complex than coding. The bitstream generated by the coder enables the decoder, after demultiplexing, to obtain the quantization index of each parameter. The decoding of the parameters and the application of the synthesis model then make it possible to reconstruct the signal.
On décrit ci-après les trois exemples de réalisation précités, en commençant tout d'abord par un codeur par transformée du type représenté sur la
Le premier exemple de réalisation concerne le codeur fréquentiel perceptuel dit "TDAC" et décrit notamment dans le document publié
L'allocation dynamique des bits (bloc fonctionnel 44) se base sur une courbe de masquage par bande (bloc fonctionnel 42) calculée à partir de la version décodée et déquantifiée de l'enveloppe spectrale. Cette mesure permet d'avoir une compatibilité entre l'allocation binaire du codeur et du décodeur. Les coefficients MDCT normalisés dans chaque bande sont ensuite quantifiés (bloc fonctionnel 45) par des quantificateurs vectoriels utilisant des dictionnaires imbriqués en taille, les dictionnaires étant composés d'une union de codes à permutation de type II. Finalement, en se référant à la
Ce codeur pouvant fonctionner à plusieurs débits, on se propose de réaliser un codeur multi-débits par exemple à 16, 24 et 32 kbit/s. Dans ce schéma de codage, les blocs fonctionnels suivants peuvent être mis en commun entre les différents modes:
Ces différents blocs constituent 61,5% de la complexité du traitement dans le processus de codage. Leur factorisation est donc d'un intérêt important pour réduire cette complexité lors de la génération de plusieurs flux binaires correspondants à des débits différents.These different blocks make up 61.5% of the processing complexity in the coding process. Their factorization is therefore of great interest to reduce this complexity when generating several bit streams corresponding to different rates.
Les résultats de ces blocs fonctionnels permettent déjà d'obtenir une première partie commune à tous les flux binaires de sortie qui contient les bits d'information sur le voisement, la tonalité et l'enveloppe spectrale codée.The results of these functional blocks already make it possible to obtain a first portion common to all the output bit streams which contains the information bits on the voicing, the tone and the coded spectral envelope.
Dans une première variante de cet exemple de réalisation, il est possible de réaliser les opérations d'allocation des bits et de quantification pour chacun des flux binaires de sortie correspondant à chacun des débits binaires considérés. Ces deux opérations sont effectuées exactement de la même manière qu'habituellement dans un codeur TDAC.In a first variant of this exemplary embodiment, it is possible to carry out the bit allocation and quantization operations for each of the output bit streams corresponding to each of the bit rates considered. These two operations are performed in exactly the same way as usual in a TDAC encoder.
Dans une seconde variante plus avancée telle qu'illustrée sur la
Sur la
Pour les deux blocs fonctionnels d'allocation de bits et de quantification, la stratégie employée consiste à exploiter les résultats des deux blocs fonctionnels d'allocation des bits et de quantification réalisés pour le flux binaire (0), au débit le plus basD0, pour accélérer les opérations des deux blocs fonctionnels correspondants pour lesK-1 autres flux binaire (k) (1 ≤k <K). On peut aussi considérer le schéma de codage multi-débits qui utilise un bloc fonctionnel d'allocation de bits par flux binaire (sans factorisation prévue pour ce bloc) mais mutualise une partie des opérations de quantification ensuite.For the two bit allocation and quantization functional blocks, the strategy employed is to exploit the results of the two bit allocation and quantization functional blocks made for the bit stream (0), at the lowest bit rateD0 , to speed up the operations of the two corresponding function blocks for theK-1 other bitstream (k) (1 ≤k <K ). It is also possible to consider the multi-rate coding scheme which uses a bit-allocation functional block per bit stream (without factorization provided for this block) but mutualizes a part of the quantization operations thereafter.
Les techniques de codage multiple présentées ci-après se basent avantageusement sur un transcodage intelligent utilisé pour la réduction du débit binaire de flux audio codé, généralement situé dans un noeud du réseau.The multiple coding techniques presented below are advantageously based on intelligent transcoding used for the reduction of the coded audio stream bit rate, generally located in a node of the network.
Dans la suite, les flux binairesk , 0 ≤k <K, sont classés suivant un ordre croissant de débits (D0<D1 <... <DK-1). Ainsi, le flux binaire 0 correspond au débit binaire le plus bas.In the following, the bit streamsk , 0 ≤k <K , are classified in an increasing order of rates (D0 <D1 <... <DK-1 ). Thus,
L'allocation de bits dans le codeur TDAC se réalise en deux phases. D'abord un premier calcul du nombre de bits à allouer à chaque bande est effectué de préférence suivant la formule suivante :
B est le nombre total de bits disponibles,
M est le nombre de bandes,
eq(i) est la valeur décodée et déquantifiée de l'enveloppe spectrale sur la bandei,
et Sb(i) est le seuil de masquage pour cette bande.Bit allocation in the TDAC encoder is done in two phases. Firstly, a first calculation of the number of bits to be allocated to each band is preferably carried out according to the following formula:
B is the total number of bits available,
M is the number of bands,
eq (i ) is the decoded and dequantized value of the spectral envelope on the bandi ,
and Sb (i ) is the masking threshold for this band.
Chacune des valeurs obtenues est arrondie à l'entier naturel le plus proche. Si le débit total alloué n'est pas exactement égal à celui disponible, une seconde phase est utilisée pour réaliser le réajustement. Cette étape se fait préférentiellement par une succession d'opérations itératives basées sur un critère perceptuel qui ajoute ou retire des bits aux bandes.Each of the values obtained is rounded to the nearest natural integer. If the total flow allocated is not exactly equal to that available, a second phase is used to perform the readjustment. This step is preferably done by a succession of iterative operations based on a perceptual criterion that adds or removes bits from the bands.
Ainsi, si le nombre total de bits distribués est inférieur à celui disponible, l'ajout de bits se fait aux bandes où l'amélioration perceptuelle est la plus importante. Cette amélioration perceptuelle est mesurée par la variation du rapport bruit à masque entre l'allocation initiale et finale des bandes. Le débit est augmenté pour la bande où cette variation est la plus grande. Dans le cas contraire où le nombre total de bits distribués est supérieur à celui disponible, l'extraction de bits sur les bandes se fait de manière duale à cette dernière procédure.Thus, if the total number of bits distributed is less than that available, the bits are added to the bands where the perceptual improvement is the most important. This perceptual improvement is measured by the variation of the noise to mask ratio between the initial and final allocation of the bands. The rate is increased for the band where this variation is greatest. In the opposite case where the total number of distributed bits is greater than that available, the extraction of bits on the bands is dual to the latter procedure.
Dans le schéma de codage multi-débits correspondant au codeur TDAC, il est possible de factoriser certaines opérations pour l'allocation de bits. Ainsi, la première phase de détermination par la formule ci-avant peut se faire une seule fois en se basant sur le débit binaireD0 le plus bas. La phase de réajustement en ajoutant des bits peut se faire ensuite de manière continue. Une fois que le nombre total de bit distribué atteint le nombre correspondant à un débit binaire d'un flux binaire k, k=1,2...,K-1, la distribution courante est considérée comme celle qui est utilisée pour la quantification des vecteurs de coefficients normalisés par bande de ce flux binaire.In the multi-rate coding scheme corresponding to the TDAC coder, it is possible to factorize certain operations for bit allocation. So, the first determination step by the above formula can be done once based on the lowest bit rateD0 . The readjustment phase by adding bits can then be done continuously. Once the total number of bits distributed reaches the number corresponding to a bit rate of a bit stream k, k = 1.2 ..., K-1, the current distribution is considered as that which is used for the quantization band-normalized coefficient vectors of this bit stream.
Pour ce qui concerne la quantification des coefficients, le codeur TDAC utilise une quantification vectorielle utilisant des dictionnaires imbriqués en taille, les dictionnaires étant composés d'une union de codes à permutation de type II. Ce type de quantification s'applique sur chacun des vecteurs des coefficients MDCT sur une bande. Un tel vecteur est normalisé au préalable en utilisant la valeur déquantifiée de l'enveloppe spectrale sur cette bande. On note :
Le résultat de quantification pour chaque bande i de la trame est un mot de codemi transmis dans le flux binaire. II représente l'index du vecteur quantifié dans le dictionnaire et calculé à partir des informations suivantes :
Dans la suite, la notation α(k), avec un exposantk, indique le paramètre utilisé dans le traitement effectué pour obtenir le flux binaire du codeur k. Les paramètres sans cet exposant étant calculés une seule fois pour toutes pour le flux binaire 0. Ils sont indépendants du débit (ou du mode) considéré.In the following, the notation α(k ) , with an exponentk , indicates the parameter used in the processing performed to obtain the bitstream of the encoder k. The parameters without this exponent being calculated once and for all for the
La propriété "d'imbrication" des dictionnaires précitée s'exprime selon la relation :
avec aussi:
 with also:
On note
L'obtention des mots de code
Le codeur MPEG-1 Layer I&II, présenté à la
A partir de ce schéma de codage, la construction d'un codeur multi-débits, dans une application de l'invention, peut être réalisée en mettant en commun les blocs fonctionnels suivants, en se référant à la
Les deux blocs 64 et 65 fournissent déjà les rapports signal à masque (flèches SMR des
Dans cet exemple de réalisation tel que représenté sur la
Dans le codeur MPEG-1 Layer I&II, l'allocation se fait préférentiellement par une succession d'étapes itératives comme suit.
Les étapes 1 et 2 sont répétées de manière itérative jusqu'à ce que le nombre total de bits disponibles, correspondant au débit de fonctionnement, soit distribué. Le résultat est alors un vecteur de distribution de bits (b0,b1,...,bM-1).
Dans le schéma de codage multi-débits, ces étapes sont mises en commun avec quelques autres modifications, notamment :
On notera que les vecteurs de distribution de bits sont obtenus successivement à partir dek = 0 jusqu'àk =K-1. Les K sorties de ce bloc d'allocation de bits alimentent alors les blocs de quantification pour chacun des flux binaires au débit donné.It will be noted that the bit distribution vectors are successively obtained fromk = 0 up tok =K -1. The K outputs of this bit allocation block then feed the quantization blocks for each of the bit streams at the given bit rate.
Le dernier exemple de réalisation concerne le codage de la parole multi-modes à décision a posteriori à partir du codeur 3GPP NB-AMR (pour "Narrow-Band Adaptive Multi-Rate") qui est un codeur de parole en bande téléphonique multi-débits adaptatif, selon une norme 3GPP. Ce codeur qui appartient à la famille bien connue des codeurs CELP dont le principe a été décrit brièvement plus haut, comporte huit modes (ou débits) allant de 12,2 kbit/s à 4,75 kbit/s, tous basés sur la technique ACELP (pour "Algebraic Code Excited Linear Prediction"). La
Dans une première variante, seule la mutualisation des blocs fonctionnels identiques est exploitée (les résultats des quatre codages sont alors identiques à ceux des quatre codages en parallèle).In a first variant, only the sharing of the identical functional blocks is exploited (the results of the four codings are then identical to those of the four parallel codings).
Dans une deuxième variante, la complexité est encore plus réduite. Les calculs de blocs fonctionnels non identiques pour certains modes sont accélérés en exploitant ceux d'un autre mode ou d'un module de traitement commun, comme on le verra ci-après. Les résultats des quatre codages ainsi mutualisés sont alors différents de ceux des quatre codages en parallèle.In a second variant, the complexity is even smaller. The non-identical functional block calculations for some modes are accelerated by exploiting those of another mode or a common processing module, as will be seen below. The results of the four encodings thus shared are then different from those of the four codings in parallel.
Dans une autre variante encore, les blocs fonctionnels de ces quatre modes sont utilisés pour un codage multi-modes en treillis, comme on l'a vu ci-avant en référence à la
On rappelle brièvement ci-après les quatre modes (7,4; 6,7; 5,9; 5,15) du codeur 3GPP NB-AMR.The four modes (7.4, 6.7, 5.9, 5.15) of the 3GPP NB-AMR encoder are briefly described below.
Le codeur 3GPP NB-AMR travaille sur un signal de parole limité en bande à 3,4 kHz et échantillonné à 8 kHz découpé en trames de 20 ms (160 échantillons). Chaque trame comporte 4 sous-trames de 5 ms (40 échantillons) regroupées 2 par 2 dans des "super sous-trames" de 10 ms (80 échantillons). Pour tous les modes, les mêmes types de paramètres sont extraits du signal mais avec des variantes de modélisation et/ou de quantification de ces paramètres. Dans le codeur NB-AMR, cinq types de paramètres sont à analyser et à coder. Les paramètres LSP (pour "Line Spectral Pairs") sont traités une fois par trame pour tous les modes, sauf pour le mode 12,2 (donc une fois par super sous-trame). Les autres paramètres (notamment le retard LTP, le gain de l'excitation adaptative, l'excitation fixe, le gain de l'excitation fixe) sont traités une fois par sous-trame.The 3GPP NB-AMR coder is working on a 3.4 kHz band-limited speech signal sampled at 8 kHz cut into 20 ms frames (160 samples). Each frame has 4 subframes of 5 ms (40 samples) grouped 2 by 2 in "super subframes " of 10 ms (80 samples). For all modes, the same types of parameters are extracted from the signal but with variants of modeling and / or quantification of these parameters. In the NB-AMR encoder, five types of parameters are to be analyzed and coded.Line Spectral Pairs (LSP) parameters are processed once per frame for all modes, except for 12.2 mode (so once per super subframe). The other parameters (in particular the LTP delay, the gain of the adaptive excitation, the fixed excitation, the gain of the fixed excitation) are processed once per subframe.
Les quatre modes considérés ici (7,4; 6,7; 5,9; 5,15) se distinguent essentiellement par les quantifications de leurs paramètres. L'allocation binaire de ces 4 modes est résumée dans le tableau 1 ci-après.
Ces 4 modes du codeur NB-AMR (7,4; 6,7; 5,9; 5,15) possèdent des modules identiques comme par exemple le pré-traitement, l'analyse des coefficients de prédiction linéaire, le calcul de signal pondéré. Le pré-traitement du signal est un filtrage passe-haut de fréquence de coupure 80 Hz pour supprimer les composantes continues combiné à une division par deux des signaux d'entrée pour éviter des débordements. L'analyse LPC comprend des sous-modules de fenêtrage, de calcul des autocorrélations, de mise en oeuvre de l'algorithme de Levinson-Durbin, de transformation A(z)→LSP, de calcul des paramètres LSPi non quantifiées pour chaque sous-trame (i=0,...,3) par interpolation entre les LSP de la trame passée et ceux de la trame courante, et de transformation inverse (LSPi→ Ai(z)).These 4 modes of the NB-AMR encoder (7.4, 6.7, 5.9, 5.15) have identical modules such as preprocessing, analysis of linear prediction coefficients, signal calculation weighted. The signal preprocessing is 80 Hz high-pass cut-off filtering to suppress the continuous components combined with division of the input signals to avoid overflows. The LPC analysis includes sub-modules of windowing, autocorrelation calculation, implementation of the Levinson-Durbin algorithm, transformation A (z) → LSP, calculation of unquantized LSPi parameters for each sub-module. -frame (i = 0, ..., 3) by interpolation between the LSPs of the past frame and those of the current frame, and of inverse transformation (LSPi → Ai (z)).
Le calcul du signal de parole pondéré réside en un filtrage par le filtre de pondération perceptuelle (Wi(z)=Ai(z/γ1)/Ai(z/γ2) où Ai(z) est le filtre non quantifié de la sous-trame d'indice i avec γ1 =0,94 et γ2=0,6).The calculation of the weighted speech signal resides in a filtering by the perceptual weighting filter (Wi (z) = Ai (z / γ1 ) / Ai (z / γ2 ) where Ai (z) is the filter unquantized subframe of index i with γ1 = 0.94 and γ2 = 0.6).
D'autres blocs fonctionnels ne sont identiques que pour trois de ces modes (7,4; 6,7; 5,9). Par exemple, la recherche du retard LTP en boucle ouverte effectuée sur le signal pondéré une fois par super sous-trame pour ces trois modes. Pour le mode à 5,15, elle n'est effectuée en revanche qu'une fois par trame.Other functional blocks are identical for only three of these modes (7.4, 6.7, 5.9). For example, searching for LTP delay in open loop performed on the weighted signal once per super subframe for these three modes. For the 5.15 mode, however, it is performed only once per frame.
De même, si les quatre modes utilisent une quantification vectorielle pondérée prédictive MA (pour "Moving Average") d'ordre 1 à moyenne supprimée et par produit cartésien des paramètres LSP dans le domaine fréquentiel normalisé, la quantification des paramètres LSP du mode à 5,15 kbit/s se fait sur 23 bits, celle des trois autres modes sur 26 bits. Après transformation dans le domaine fréquentiel normalisé, la quantification vectorielle par produit cartésien (dite "split VQ") des paramètres LSP scinde les 10 paramètres LSP en 3 sous-vecteurs, de dimension 3, 3 et 4. Le premier sous-vecteur composé des 3 premiers LSP est quantifié sur 8 bits par le même dictionnaire pour les quatre modes. Le deuxième sous-vecteur composé des 3 LSP suivants est quantifié pour les 3 modes haut débit par un dictionnaire de taille 512 (9 bits) et pour le mode à 5,15 par la moitié de ce dictionnaire (un vecteur sur 2). Le troisième et dernier sous-vecteur composé des 4 derniers LSP est quantifié pour les 3 modes haut débit par un dictionnaire de taille 512 (9 bits) et pour le mode de plus faible débit par un dictionnaire de taille 128 (7 bits). La transformation dans le domaine fréquentiel normalisé, le calcul des poids du critère d'erreur quadratique et la prédiction MA (pour "Moving Average") du résidu LSP à quantifier sont identiques pour les 4 modes. Les trois modes haut débit utilisant les même dictionnaires pour quantifier les LSP, ils peuvent partager, en plus du même module de quantification vectorielle, la transformation inverse (pour revenir du domaine fréquentiel normalisé vers le domaine en cosinus), ainsi que le calcul des LSPQi quantifiées pour chaque sous-trame (i=0,...,3) par interpolation entre les LSP quantifiés de la trame passée et ceux de la trame courante, et enfin la transformation inverse LSPQi → AQi(z).Likewise, if the four modes use an average 1-to-average predefined weighted vector prediction MA (for "Moving Average") quantization and LSP parameters in the normalized frequency domain, the quantization of the LSP parameters from , 15 kbit / s is done on 23 bits, that of the other three modes on 26 bits. After transformation into the normalized frequency domain, the Cartesian product vector quantization (so-called "split VQ ") of the LSP parameters divides the LSP parameters into 3 sub-vectors, of
Les recherches en boucle fermée des excitations adaptative et fixe sont faites séquentiellement et nécessitent au préalable le calcul de la réponse impulsionnelle du filtre de synthèse pondéré, puis de signaux-cible. La réponse impulsionnelle du filtre de synthèse pondéré (Ai(z/γ1)/[AQi(z)Ai(z/γ2)]) est identique pour les 3 modes haut débit (7,4; 6,7; 5,9). Pour chaque sous-trame, le calcul du signal-cible pour l'excitation adaptative dépend du signal pondéré (indépendamment du mode); du filtre quantifié AQi(z) (identique pour 3 des modes) et du passé de la sous-trame (différent pour chaque sous-trame autre que la première sous-trame). Pour chaque sous-trame, le signal-cible pour l'excitation fixe est obtenu en retirant au signal-cible précédent la contribution de l'excitation adaptative filtrée de cette sous-trame (qui est différente d'un mode à l'autre sauf pour la première sous-trame des 3 premiers modes).The closed-loop searches of the adaptive and fixed excitations are done sequentially and require the calculation of the impulse response of the weighted synthesis filter and then of the target signals beforehand. The impulse response of the weighted synthesis filter (Ai (z / γ1 ) / [AQi (z) Ai (z / γ2 )]) is identical for the 3 high-speed modes (7.4, 6, 7; 5,9). For each subframe, the calculation of the target signal for the adaptive excitation depends on the weighted signal (regardless of the mode); the quantized filter AQi (z) (identical for 3 modes) and the past subframe (different for each subframe other than the first subframe). For each subframe, the target signal for the fixed excitation is obtained by removing from the previous target signal the contribution of the filtered adaptive excitation of this subframe (which is different from one mode to another except for the first subframe of the first 3 modes).
Trois dictionnaires adaptatifs sont utilisés. Le premier dictionnaire, pour les sous-trames paires (i=0 et 2) des modes (7,4; 6,7; 5,9) et pour la première sous-trame du mode à 5,15, comporte 256 retards absolus fractionnaires, de résolution 1/3 dans l'intervalle [19 + 1/3,84 + 2/3] et de résolution entière dans l'intervalle [85,143]. La recherche dans ce dictionnaire de retards absolus est focalisée autour du retard trouvé en boucle ouverte (intervalle de ±5 pour le mode à 5,15, de ±3 pour les autres modes). Pour la première sous-trame des modes (7,4; 6,7; 5,9), le signal-cible et le retard en boucle ouverte étant identique, le résultat de cette recherche en boucle fermée l'est aussi. Les deux autres dictionnaires sont de type différentiel et permettent de coder la différence entre le retard courant et le retard entier Ti-1 le plus proche du retard fractionnaire de la sous-trame précédente. Le premier dictionnaire différentiel sur 5 bits, utilisé pour les sous-trames impaires du mode à 7,4, est de résolution 1/3 autour du retard entier Ti-1 dans l'intervalle [Ti-1-5 +2/3, Ti-1+4 +2/3]. Le deuxième dictionnaire différentiel sur 4 bits, inclus dans le premier, est utilisé pour les sous-trames impaires des modes à 6,7 et 5,9 ainsi que pour les trois dernières sous-trames du mode à 5,15. Ce deuxième dictionnaire est de résolution entière autour du retard entier Ti-1 dans l'intervalle [Ti-1-5, Ti-1+4] plus une résolution de 1/3 dans l'intervalle [Ti-1-1 + 2/3, Ti-1 + 2/3].Three adaptive dictionaries are used. The first dictionary, for the even subframes (i = 0 and 2) of the modes (7.4, 6.7, 5.9) and for the first subframe of the 5.15 mode, comprises 256 absolute delays. fractional, 1/3 resolution in the range [19 + 1 / 3.84 + 2/3] and full resolution in the range [85,143]. The search in this dictionary of absolute delays is focused around the delay found in open loop (range of ± 5 for the 5.15 mode, ± 3 for the other modes). For the first sub-frame of the modes (7.4, 6.7, 5.9), the target signal and the open-loop delay being identical, the result of this closed-loop search is also identical. The other two dictionaries are of differential type and make it possible to code the difference between the current delay and the integer delay Ti-1 closest to the fractional delay of the preceding sub-frame. The first 5-bit differential dictionary, used for the odd subframes of the 7.4 mode, is 1/3 resolution around the entire delay Ti-1 in the interval [Ti-1 -5 + 2 / 3, Ti-1 +4 + 2/3]. The second 4-bit differential dictionary, included in the first one, is used for the odd subframes of the modes at 6.7 and 5.9 as well as for the last three subframes of the 5.15 mode. This second dictionary is of integer resolution around the integer delay Ti-1 in the interval [Ti-1 -5, Ti-1 +4] plus a resolution of 1/3 in the interval [Ti-1 -1 + 2/3, Ti-1 + 2/3].
Les dictionnaires fixes appartiennent à la famille bien connue des dictionnaires ACELP. La structure d'un répertoire ACELP est basée sur le concept ISPP (pour "Interleaved Single-Pulse Permutation") qui consiste à diviser l'ensemble des L positions en K pistes entrelacées, chacune des N impulsions étant localisée dans certaines pistes prédéfinies. Les 4 modes (7,4; 6,7; 5,9; 5,15) utilisent la même découpe des 40 échantillons d'une sous-trame en 5 pistes de longueur 8 entrelacées, comme le montre le tableau 2a. Le tableau 2b montre, quant à lui, pour les 3 modes (7,4; 6,7; 5,9) le débit du dictionnaire, le nombre d'impulsions et leur répartition dans les pistes. La répartition des 2 impulsions du dictionnaire ACELP à 9 bits du mode à 5,15 est encore plus contrainte.
(positions+amplitudes)
(13+4)
(11+3)
(9+2)
 (Positions + amplitudes)
 (13 + 4)
 (11 + 3)
 (9 + 2)
Les gains des excitations adaptative et fixe sont quantifiés sur 7 ou 6 bits (avec une prédiction MA appliquée au gain de l'excitation fixe) par une quantification vectorielle conjointe minimisant le critère CELP.The gains of the adaptive and fixed excitations are quantified on 7 or 6 bits (with an MA prediction applied to the gain of the fixed excitation) by a joint vector quantization minimizing the CELP criterion.
A partir de ce schéma de codage, la construction d'un codeur multi-modes à décision a posteriori peut être réalisée en mettant en commun les blocs fonctionnels suivants.From this coding scheme, the construction of a post-decision multi-mode coder can be achieved by pooling the following functional blocks.
En se référant à la
Pour tous ces blocs, leur complexité cumulée est ainsi divisée par 4. Pour les 3 modes de plus haut débit (7,4; 6,7; 5,9), on effectue :
Pour ces blocs, les calculs ne sont plus effectués 4 fois mais 2 fois, une fois pour les 3 modes à plus haut débit et une fois pour le mode à faible débit. Leur complexité est donc divisée par 2.For these blocks, the calculations are no longer performed 4 times but twice, once for the 3 higher rate modes and once for the low rate mode. Their complexity is therefore divided by 2.
On peut aussi, pour ces 3 modes de plus haut débit, mutualiser pour la première sous-trame le calcul des signaux-cible pour l'excitation fixe (bloc 91 sur la
Des blocs fonctionnels non identiques peuvent être accélérés en exploitant ceux d'un autre mode ou d'un module de traitement commun. Selon les contraintes de l'application (en termes de qualité et/ou de complexité), on peut utiliser différentes variantes. Quelques exemples sont décrits ci-après. Il est aussi possible de s'appuyer sur des techniques de transcodage intelligent entre codeurs CELP.Non-identical functional blocks can be accelerated by exploiting those of another mode or a common processing module. Depending on the constraints of the application (in terms of quality and / or complexity), different variants can be used. Some examples are described below. It is also possible to rely on intelligent transcoding techniques between CELP coders.
On peut, comme dans le cas du mode de réalisation pour le codeur TDAC, exploiter l'imbrication de certains dictionnaires pour accélérer les calculs. Ainsi, le dictionnaire du deuxième sous-vecteur de LSP du mode à 5,15 étant inclus dans celui des 3 autres modes, la quantification de ce sous-vecteur Y par les 4 modes peut être ainsi avantageusement combinée:
Cette mise en oeuvre donne un résultat identique à celui du codage multi-mode non optimisé. Si l'on désire réduire davantage la complexité de la quantification, on peut s'arrêter à l'étape 1 et prendre Yl comme vecteur quantifié pour les modes haut débit si ce vecteur est jugé suffisamment proche de Y. Cette simplification peut donc donner un résultat différent d'une recherche exhaustive.This implementation gives a result identical to that of the non-optimized multi-mode coding. If one wishes to further reduce the complexity of the quantization, one can stop at
La recherche du retard LTP en boucle ouverte du mode à 5,15 peut exploiter les résultats de celle des autres modes. Si les deux retards en boucle ouverte trouvés sur les 2 super sous-trames sont suffisamment proches pour permettre un codage différentiel, la recherche en boucle ouverte du mode à 5,15 n'est pas effectuée. On utilise plutôt les résultats des modes supérieurs. Sinon, on peut:
A l'inverse, on peut aussi effectuer d'abord la recherche du retard en boucle ouverte sur le mode à 5,15 et focaliser les deux recherches du retard en boucle ouverte des modes supérieurs autour de la valeur déterminée par le mode à 5,15.Conversely, it is also possible to first carry out the search for the open-loop delay in the 5.15 mode and focus the two searches for the open-loop delay of the higher modes around the value determined by the 5-mode. 15.
Dans une troisième variante plus avancée, illustrée à la
On a donc P=4 blocs fonctionnels et 2 x 3 x 4 x 2 = 48 combinaisons possibles. Dans l'exemple particulier de réalisation, on choisit de ne pas considérer le haut-débit du bloc fonctionnel 2 (LTP débit 26 bits/trame). Un autre choix est possible, bien entendu.We thus have P = 4 functional blocks and 2 x 3 x 4 x 2 = 48 possible combinations. In the particular embodiment, it is chosen not to consider the high bit rate of the functional block 2 (LTP bit rate 26 bits / frame). Another choice is possible, of course.
Le codeur multi-débits ainsi obtenu possède une grande granularité en débits, avec 32 modes possibles donnés dans le tableau 3b. Toutefois, on indique que le codeur ainsi obtenu n'est pas interopérable avec le codeur NB-AMR précité. Dans le tableau 3b, les modes correspondants aux trois débits du NB-AMR (5,15; 5,90; 6,70) sont présentés en gras, l'exclusion du débit le plus élevé du bloc fonctionnel LTP éliminant le débit de 7,40.
Ce codeur possédant 32 débits possibles, 5 bits sont nécessaires pour identifier le mode utilisé. Comme dans la variante précédente, la mutualisation de blocs fonctionnels est exploitée. On applique des stratégies de codage différentes pour les différents blocs fonctionnels.
Par exemple, pour le bloc fonctionnel 1 comprenant la quantification des LSP, on privilégie le bas débit comme mentionné ci-avant de la manière suivante :
Par contre, comme mentionné ci-avant dans la deuxième variante (correspondant au codage multi-modes à décision a posteriori avancée), on choisit de privilégier le haut-débit pour le bloc fonctionnel 2 (retard LTP). Dans le codeur NB-AMR, la recherche du retard LTP en boucle ouverte est effectuée deux fois par trame pour le retard LTP de 24 bits et elle est effectuée une seule fois par trame pour celui de 20 bits. Pour ce bloc fonctionnel, on souhaite favoriser le haut débit. Donc, le calcul du retard LTP en boucle ouverte est réalisé de la manière suivante:
Après certains blocs fonctionnels, il est possible de réaliser une sélection partielle permettant de réduire le nombre de combinaisons à explorer. Par exemple, après le bloc fonctionnel 1 (LPC), on peut éliminer les combinaisons avec 26 bits pour ce bloc si la performance du débit de 23 bits est suffisamment proche ou inversement éliminer le mode à 23 bits si sa performance est trop dégradée par rapport au mode à 26 bits.After some functional blocks, it is possible to make a partial selection to reduce the number of combinations to explore. For example, after Function Block 1 (LPC), 26-bit combinations can be eliminated for this block if the performance of the 23-bit rate is close enough or conversely eliminate the 23-bit mode if its performance is too degraded compared to in 26-bit mode.
Ainsi, la présente invention permet de fournir une solution efficace au problème de la complexité des codages multiples, par la mutualisation et l'accélération des calculs mis en oeuvre par les différents codeurs. Les structures de codage peuvent donc être représentées à l'aide de blocs fonctionnels décrivant les différentes opérations effectuées au cours d'un traitement. Les blocs fonctionnels des différents codages mis en oeuvre dans un codage multiple possèdent des relations fortes qui sont exploitées au sens de la présente invention. Ces relations sont particulièrement fortes lorsque les différents codages correspondent à différents modes d'une même structure.Thus, the present invention makes it possible to provide an effective solution to the problem of the complexity of multiple codings by pooling and accelerating the calculations implemented by the various coders. The coding structures can therefore be represented using functional blocks describing the various operations performed during a treatment. The functional blocks of the different encodings implemented in multiple coding have strong relationships that are exploited within the meaning of the present invention. These relations are particularly strong when the different codings correspond to different modes of the same structure.
On indique enfin que la présente invention est flexible du point de vue de la complexité. II est possible en effet de décider a priori la complexité maximum du codage multiple et d'adapter le nombre de codeurs explorés en fonction de cette complexité.Finally, it is pointed out that the present invention is flexible from the point of view of complexity. It is indeed possible to decide a priori the maximum complexity of the multiple coding and to adapt the number of coders explored as a function of this complexity.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| PL04805538TPL1692689T3 (en) | 2003-12-10 | 2004-11-24 | Optimized multiple coding method | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| FR0314490AFR2867649A1 (en) | 2003-12-10 | 2003-12-10 | OPTIMIZED MULTIPLE CODING METHOD | 
| PCT/FR2004/003009WO2005066938A1 (en) | 2003-12-10 | 2004-11-24 | Optimized multiple coding method | 
| Publication Number | Publication Date | 
|---|---|
| EP1692689A1 EP1692689A1 (en) | 2006-08-23 | 
| EP1692689B1true EP1692689B1 (en) | 2009-09-09 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| EP04805538AExpired - LifetimeEP1692689B1 (en) | 2003-12-10 | 2004-11-24 | Optimized multiple coding method | 
| Country | Link | 
|---|---|
| US (1) | US7792679B2 (en) | 
| EP (1) | EP1692689B1 (en) | 
| JP (1) | JP4879748B2 (en) | 
| KR (1) | KR101175651B1 (en) | 
| CN (1) | CN1890714B (en) | 
| AT (1) | ATE442646T1 (en) | 
| DE (1) | DE602004023115D1 (en) | 
| ES (1) | ES2333020T3 (en) | 
| FR (1) | FR2867649A1 (en) | 
| PL (1) | PL1692689T3 (en) | 
| WO (1) | WO2005066938A1 (en) | 
| ZA (1) | ZA200604623B (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US7987089B2 (en)* | 2006-07-31 | 2011-07-26 | Qualcomm Incorporated | Systems and methods for modifying a zero pad region of a windowed frame of an audio signal | 
| WO2008048065A1 (en)* | 2006-10-19 | 2008-04-24 | Lg Electronics Inc. | Encoding method and apparatus and decoding method and apparatus | 
| KR101411900B1 (en)* | 2007-05-08 | 2014-06-26 | 삼성전자주식회사 | Method and apparatus for encoding and decoding audio signals | 
| US9653088B2 (en)* | 2007-06-13 | 2017-05-16 | Qualcomm Incorporated | Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding | 
| KR101403340B1 (en)* | 2007-08-02 | 2014-06-09 | 삼성전자주식회사 | Method and apparatus for transcoding | 
| US9245532B2 (en)* | 2008-07-10 | 2016-01-26 | Voiceage Corporation | Variable bit rate LPC filter quantizing and inverse quantizing device and method | 
| FR2936898A1 (en)* | 2008-10-08 | 2010-04-09 | France Telecom | CRITICAL SAMPLING CODING WITH PREDICTIVE ENCODER | 
| MX2011011399A (en)* | 2008-10-17 | 2012-06-27 | Univ Friedrich Alexander Er | Audio coding using downmix. | 
| GB2466201B (en)* | 2008-12-10 | 2012-07-11 | Skype Ltd | Regeneration of wideband speech | 
| US9947340B2 (en) | 2008-12-10 | 2018-04-17 | Skype | Regeneration of wideband speech | 
| GB0822537D0 (en) | 2008-12-10 | 2009-01-14 | Skype Ltd | Regeneration of wideband speech | 
| KR20110001130A (en)* | 2009-06-29 | 2011-01-06 | 삼성전자주식회사 | Audio signal encoding and decoding apparatus using weighted linear prediction transformation and method thereof | 
| KR101747917B1 (en)* | 2010-10-18 | 2017-06-15 | 삼성전자주식회사 | Apparatus and method for determining weighting function having low complexity for lpc coefficients quantization | 
| CN102394658A (en)* | 2011-10-16 | 2012-03-28 | 西南科技大学 | Composite compression method oriented to mechanical vibration signal | 
| US9386267B1 (en)* | 2012-02-14 | 2016-07-05 | Arris Enterprises, Inc. | Cooperative transcoding to multiple streams | 
| JP2014123865A (en)* | 2012-12-21 | 2014-07-03 | Xacti Corp | Image processing apparatus and imaging apparatus | 
| US9549178B2 (en)* | 2012-12-26 | 2017-01-17 | Verizon Patent And Licensing Inc. | Segmenting and transcoding of video and/or audio data | 
| WO2015012514A1 (en)* | 2013-07-26 | 2015-01-29 | 경희대학교 산학협력단 | Method and apparatus for integrally encoding/decoding different multi-layer video codecs | 
| KR101595397B1 (en) | 2013-07-26 | 2016-02-29 | 경희대학교 산학협력단 | Method and apparatus for integrated encoding/decoding of different multilayer video codec | 
| CN104572751A (en)* | 2013-10-24 | 2015-04-29 | 携程计算机技术(上海)有限公司 | Compression storage method and system for calling center sound recording files | 
| SE538512C2 (en) | 2014-11-26 | 2016-08-30 | Kelicomp Ab | Improved compression and encryption of a file | 
| SE544304C2 (en)* | 2015-04-17 | 2022-03-29 | URAEUS Communication Systems AB | Improved compression and encryption of a file | 
| US10872598B2 (en)* | 2017-02-24 | 2020-12-22 | Baidu Usa Llc | Systems and methods for real-time neural text-to-speech | 
| US10896669B2 (en) | 2017-05-19 | 2021-01-19 | Baidu Usa Llc | Systems and methods for multi-speaker neural text-to-speech | 
| US10872596B2 (en) | 2017-10-19 | 2020-12-22 | Baidu Usa Llc | Systems and methods for parallel wave generation in end-to-end text-to-speech | 
| US11587548B2 (en)* | 2020-06-12 | 2023-02-21 | Baidu Usa Llc | Text-driven video synthesis with phonetic dictionary | 
| CN114144790B (en) | 2020-06-12 | 2024-07-02 | 百度时代网络技术(北京)有限公司 | Personalized speech-to-video with three-dimensional skeletal regularization and representative body gestures | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JPH0398318A (en)* | 1989-09-11 | 1991-04-23 | Fujitsu Ltd | Audio encoding method | 
| US5495555A (en)* | 1992-06-01 | 1996-02-27 | Hughes Aircraft Company | High quality low bit rate celp-based speech codec | 
| US5734789A (en)* | 1992-06-01 | 1998-03-31 | Hughes Electronics | Voiced, unvoiced or noise modes in a CELP vocoder | 
| JP3227291B2 (en)* | 1993-12-16 | 2001-11-12 | シャープ株式会社 | Data encoding device | 
| US5602961A (en)* | 1994-05-31 | 1997-02-11 | Alaris, Inc. | Method and apparatus for speech compression using multi-mode code excited linear predictive coding | 
| US5956674A (en)* | 1995-12-01 | 1999-09-21 | Digital Theater Systems, Inc. | Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels | 
| US5987506A (en)* | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment | 
| JP3134817B2 (en)* | 1997-07-11 | 2001-02-13 | 日本電気株式会社 | Audio encoding / decoding device | 
| US6141638A (en)* | 1998-05-28 | 2000-10-31 | Motorola, Inc. | Method and apparatus for coding an information signal | 
| US6249758B1 (en)* | 1998-06-30 | 2001-06-19 | Nortel Networks Limited | Apparatus and method for coding speech signals by making use of voice/unvoiced characteristics of the speech signals | 
| US6173257B1 (en)* | 1998-08-24 | 2001-01-09 | Conexant Systems, Inc | Completed fixed codebook for speech encoder | 
| US6192335B1 (en)* | 1998-09-01 | 2001-02-20 | Telefonaktieboiaget Lm Ericsson (Publ) | Adaptive combining of multi-mode coding for voiced speech and noise-like signals | 
| JP3579309B2 (en)* | 1998-09-09 | 2004-10-20 | 日本電信電話株式会社 | Image quality adjusting method, video communication device using the method, and recording medium recording the method | 
| SE521225C2 (en)* | 1998-09-16 | 2003-10-14 | Ericsson Telefon Ab L M | Method and apparatus for CELP encoding / decoding | 
| US7272556B1 (en)* | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals | 
| US6691084B2 (en)* | 1998-12-21 | 2004-02-10 | Qualcomm Incorporated | Multiple mode variable rate speech coding | 
| US6260009B1 (en)* | 1999-02-12 | 2001-07-10 | Qualcomm Incorporated | CELP-based to CELP-based vocoder packet translation | 
| US6640209B1 (en)* | 1999-02-26 | 2003-10-28 | Qualcomm Incorporated | Closed-loop multimode mixed-domain linear prediction (MDLP) speech coder | 
| DE19911179C1 (en)* | 1999-03-12 | 2000-11-02 | Deutsche Telekom Mobil | Method for adapting the operating mode of a multi-mode codec to changing radio conditions in a CDMA mobile radio network | 
| JP2000287213A (en)* | 1999-03-31 | 2000-10-13 | Victor Co Of Japan Ltd | Moving image encoder | 
| US6532593B1 (en)* | 1999-08-17 | 2003-03-11 | General Instrument Corporation | Transcoding for consumer set-top storage application | 
| AU7486200A (en)* | 1999-09-22 | 2001-04-24 | Conexant Systems, Inc. | Multimode speech encoder | 
| US6574593B1 (en)* | 1999-09-22 | 2003-06-03 | Conexant Systems, Inc. | Codebook tables for encoding and decoding | 
| US6581032B1 (en)* | 1999-09-22 | 2003-06-17 | Conexant Systems, Inc. | Bitstream protocol for transmission of encoded voice signals | 
| US6604070B1 (en)* | 1999-09-22 | 2003-08-05 | Conexant Systems, Inc. | System of encoding and decoding speech signals | 
| US6522746B1 (en)* | 1999-11-03 | 2003-02-18 | Tellabs Operations, Inc. | Synchronization of voice boundaries and their use by echo cancellers in a voice processing system | 
| JP3549788B2 (en)* | 1999-11-05 | 2004-08-04 | 三菱電機株式会社 | Multi-stage encoding method, multi-stage decoding method, multi-stage encoding device, multi-stage decoding device, and information transmission system using these | 
| FR2802329B1 (en)* | 1999-12-08 | 2003-03-28 | France Telecom | PROCESS FOR PROCESSING AT LEAST ONE AUDIO CODE BINARY FLOW ORGANIZED IN THE FORM OF FRAMES | 
| CN1187735C (en)* | 2000-01-11 | 2005-02-02 | 松下电器产业株式会社 | Multi-mode voice encoding device and decoding device | 
| SE519981C2 (en)* | 2000-09-15 | 2003-05-06 | Ericsson Telefon Ab L M | Coding and decoding of signals from multiple channels | 
| SE519976C2 (en)* | 2000-09-15 | 2003-05-06 | Ericsson Telefon Ab L M | Coding and decoding of signals from multiple channels | 
| US6615169B1 (en)* | 2000-10-18 | 2003-09-02 | Nokia Corporation | High frequency enhancement layer coding in wideband speech codec | 
| JP2002202799A (en)* | 2000-10-30 | 2002-07-19 | Fujitsu Ltd | Voice transcoder | 
| US7230978B2 (en)* | 2000-12-29 | 2007-06-12 | Infineon Technologies Ag | Channel CODEC processor configurable for multiple wireless communications standards | 
| US6614370B2 (en)* | 2001-01-26 | 2003-09-02 | Oded Gottesman | Redundant compression techniques for transmitting data over degraded communication links and/or storing data on media subject to degradation | 
| US6658383B2 (en)* | 2001-06-26 | 2003-12-02 | Microsoft Corporation | Method for coding speech and music signals | 
| EP1292036B1 (en)* | 2001-08-23 | 2012-08-01 | Nippon Telegraph And Telephone Corporation | Digital signal decoding methods and apparatuses | 
| JP2003125406A (en)* | 2001-09-25 | 2003-04-25 | Hewlett Packard Co <Hp> | Method and system for optimizing mode selection for video coding based on oriented aperiodic graph | 
| US7095343B2 (en)* | 2001-10-09 | 2006-08-22 | Trustees Of Princeton University | code compression algorithms and architectures for embedded systems | 
| JP2003195893A (en)* | 2001-12-26 | 2003-07-09 | Toshiba Corp | Audio playback device and audio playback method | 
| US6829579B2 (en)* | 2002-01-08 | 2004-12-07 | Dilithium Networks, Inc. | Transcoding method and system between CELP-based speech codes | 
| US7254533B1 (en)* | 2002-10-17 | 2007-08-07 | Dilithium Networks Pty Ltd. | Method and apparatus for a thin CELP voice codec | 
| US7133521B2 (en)* | 2002-10-25 | 2006-11-07 | Dilithium Networks Pty Ltd. | Method and apparatus for DTMF detection and voice mixing in the CELP parameter domain | 
| US7023880B2 (en)* | 2002-10-28 | 2006-04-04 | Qualcomm Incorporated | Re-formatting variable-rate vocoder frames for inter-system transmissions | 
| JP2004208280A (en)* | 2002-12-09 | 2004-07-22 | Hitachi Ltd | Encoding device and encoding method | 
| US7263481B2 (en)* | 2003-01-09 | 2007-08-28 | Dilithium Networks Pty Limited | Method and apparatus for improved quality voice transcoding | 
| KR100554164B1 (en)* | 2003-07-11 | 2006-02-22 | 학교법인연세대학교 | An apparatus and method for mutual encoding between voice codecs of different CLP methods | 
| US7469209B2 (en)* | 2003-08-14 | 2008-12-23 | Dilithium Networks Pty Ltd. | Method and apparatus for frame classification and rate determination in voice transcoders for telecommunications | 
| US7305055B1 (en)* | 2003-08-18 | 2007-12-04 | Qualcomm Incorporated | Search-efficient MIMO trellis decoder | 
| US7433815B2 (en)* | 2003-09-10 | 2008-10-07 | Dilithium Networks Pty Ltd. | Method and apparatus for voice transcoding between variable rate coders | 
| US7613606B2 (en)* | 2003-10-02 | 2009-11-03 | Nokia Corporation | Speech codecs | 
| US7170988B2 (en)* | 2003-10-27 | 2007-01-30 | Motorola, Inc. | Method and apparatus for network communication | 
| FR2867648A1 (en)* | 2003-12-10 | 2005-09-16 | France Telecom | TRANSCODING BETWEEN INDICES OF MULTI-IMPULSE DICTIONARIES USED IN COMPRESSION CODING OF DIGITAL SIGNALS | 
| US20050258983A1 (en)* | 2004-05-11 | 2005-11-24 | Dilithium Holdings Pty Ltd. (An Australian Corporation) | Method and apparatus for voice trans-rating in multi-rate voice coders for telecommunications | 
| Publication number | Publication date | 
|---|---|
| JP2007515677A (en) | 2007-06-14 | 
| PL1692689T3 (en) | 2010-02-26 | 
| CN1890714A (en) | 2007-01-03 | 
| US7792679B2 (en) | 2010-09-07 | 
| ATE442646T1 (en) | 2009-09-15 | 
| WO2005066938A1 (en) | 2005-07-21 | 
| CN1890714B (en) | 2010-12-29 | 
| EP1692689A1 (en) | 2006-08-23 | 
| FR2867649A1 (en) | 2005-09-16 | 
| KR20060131782A (en) | 2006-12-20 | 
| DE602004023115D1 (en) | 2009-10-22 | 
| KR101175651B1 (en) | 2012-08-21 | 
| JP4879748B2 (en) | 2012-02-22 | 
| US20070150271A1 (en) | 2007-06-28 | 
| ZA200604623B (en) | 2007-11-28 | 
| ES2333020T3 (en) | 2010-02-16 | 
| Publication | Publication Date | Title | 
|---|---|---|
| EP1692689B1 (en) | Optimized multiple coding method | |
| RU2326450C2 (en) | Method and device for vector quantisation with reliable prediction of linear prediction parameters in voice coding at variable bit rate | |
| EP2452337B1 (en) | Allocation of bits in an enhancement coding/decoding for improving a hierarchical coding/decoding of digital audio signals | |
| WO2008104663A1 (en) | Advanced encoding / decoding of audio digital signals | |
| WO2009055493A1 (en) | Scalable speech and audio encoding using combinatorial encoding of mdct spectrum | |
| CA2766864C (en) | Improved coding /decoding of digital audio signals | |
| EP2254110A1 (en) | Stereo signal encoding device, stereo signal decoding device and methods for them | |
| US8719011B2 (en) | Encoding device and encoding method | |
| US7634402B2 (en) | Apparatus for coding of variable bitrate wideband speech and audio signals, and a method thereof | |
| FR2784218A1 (en) | LOW-SPEED SPEECH CODING METHOD | |
| US6611797B1 (en) | Speech coding/decoding method and apparatus | |
| EP1836699B1 (en) | Method and device for carrying out optimized audio coding between two long-term prediction models | |
| WO2023165946A1 (en) | Optimised encoding and decoding of an audio signal using a neural network-based autoencoder | |
| EP0616315A1 (en) | Digital speech coding and decoding device, process for scanning a pseudo-logarithmic LTP codebook and process of LTP analysis | |
| CA2567162A1 (en) | Method for quantifying an ultra low-rate speech encoder | |
| WO2002029786A1 (en) | Method and device for segmental coding of an audio signal | |
| FR2791166A1 (en) | METHODS OF ENCODING, DECODING AND TRANSCODING | |
| FR2980620A1 (en) | Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components | |
| FR2737360A1 (en) | Audio digital signal coding method of successive sample blocks - using spectral analysis to select vector dictionary for each sample block and allocating vector and scalar quantisation bits | |
| KR19980036961A (en) | Speech encoding and decoding apparatus and method | 
| Date | Code | Title | Description | 
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase | Free format text:ORIGINAL CODE: 0009012 | |
| 17P | Request for examination filed | Effective date:20060526 | |
| 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 LU MC NL PL PT RO SE SI SK TR | |
| DAX | Request for extension of the european patent (deleted) | ||
| 17Q | First examination report despatched | Effective date:20070621 | |
| GRAP | Despatch of communication of intention to grant a patent | Free format text:ORIGINAL CODE: EPIDOSNIGR1 | |
| GRAS | Grant fee paid | Free format text:ORIGINAL CODE: EPIDOSNIGR3 | |
| GRAA | (expected) grant | Free format text:ORIGINAL CODE: 0009210 | |
| AK | Designated contracting states | Kind code of ref document:B1 Designated state(s):AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LU MC NL PL PT RO SE SI SK TR | |
| REG | Reference to a national code | Ref country code:GB Ref legal event code:FG4D Free format text:NOT ENGLISH | |
| REG | Reference to a national code | Ref country code:CH Ref legal event code:EP | |
| REG | Reference to a national code | Ref country code:IE Ref legal event code:FG4D | |
| REF | Corresponds to: | Ref document number:602004023115 Country of ref document:DE Date of ref document:20091022 Kind code of ref document:P | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:SE Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 Ref country code:FI Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
| REG | Reference to a national code | Ref country code:ES Ref legal event code:FG2A Ref document number:2333020 Country of ref document:ES Kind code of ref document:T3 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:SI Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 Ref country code:NL Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| REG | Reference to a national code | Ref country code:PL Ref legal event code:T3 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:CY Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| REG | Reference to a national code | Ref country code:IE Ref legal event code:FD4D | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:IE Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 Ref country code:EE Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 Ref country code:RO Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 Ref country code:PT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20100111 Ref country code:CZ Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 Ref country code:IS Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20100109 | |
| BERE | Be: lapsed | Owner name:FRANCE TELECOM Effective date:20091130 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:SK Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:MC Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20091130 Ref country code:AT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| REG | Reference to a national code | Ref country code:CH Ref legal event code:PL | |
| PLBE | No opposition filed within time limit | Free format text:ORIGINAL CODE: 0009261 | |
| STAA | Information on the status of an ep patent application or granted ep patent | Free format text:STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:DK Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| 26N | No opposition filed | Effective date:20100610 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:LI Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20091130 Ref country code:GR Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20091210 Ref country code:CH Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20091130 Ref country code:BE Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20091130 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:BG Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20091130 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:LU Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20091124 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:HU Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20100310 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:TR Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20090909 | |
| REG | Reference to a national code | Ref country code:FR Ref legal event code:PLFP Year of fee payment:12 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:GB Payment date:20151027 Year of fee payment:12 Ref country code:DE Payment date:20151022 Year of fee payment:12 Ref country code:IT Payment date:20151023 Year of fee payment:12 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:ES Payment date:20151110 Year of fee payment:12 Ref country code:PL Payment date:20151026 Year of fee payment:12 Ref country code:FR Payment date:20151023 Year of fee payment:12 | |
| REG | Reference to a national code | Ref country code:DE Ref legal event code:R119 Ref document number:602004023115 Country of ref document:DE | |
| GBPC | Gb: european patent ceased through non-payment of renewal fee | Effective date:20161124 | |
| REG | Reference to a national code | Ref country code:FR Ref legal event code:ST Effective date:20170731 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:IT Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20161124 Ref country code:FR Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20161130 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:DE Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20170601 Ref country code:GB Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20161124 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:PL Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20161124 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:ES Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20161125 | |
| REG | Reference to a national code | Ref country code:ES Ref legal event code:FD2A Effective date:20181120 |