[go: up one dir, main page]

FR2880724A1 - Procede et dispositif de codage optimise entre deux modeles de prediction a long terme - Google Patents

Procede et dispositif de codage optimise entre deux modeles de prediction a long terme Download PDF

Info

Publication number
FR2880724A1
FR2880724A1 FR0500272A FR0500272A FR2880724A1 FR 2880724 A1 FR2880724 A1 FR 2880724A1 FR 0500272 A FR0500272 A FR 0500272A FR 0500272 A FR0500272 A FR 0500272A FR 2880724 A1 FR2880724 A1 FR 2880724A1
Authority
FR
France
Prior art keywords
format
dictionary
coding
ltp
orders
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.)
Pending
Application number
FR0500272A
Other languages
English (en)
Inventor
Mohamed Ghenania
Claude Lamblin
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
France Telecom 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
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR0500272A priority Critical patent/FR2880724A1/fr
Priority to AT06709052T priority patent/ATE515019T1/de
Priority to EP06709052A priority patent/EP1836699B1/fr
Priority to PCT/FR2006/000038 priority patent/WO2006075078A1/fr
Priority to CN200680003179XA priority patent/CN101124625B/zh
Priority to US11/795,085 priority patent/US8670982B2/en
Publication of FR2880724A1 publication Critical patent/FR2880724A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/04Speech 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 using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention concerne un procédé de codage selon un second format, à partir d'informations obtenues par la mise en oeuvre d'un codage selon un premier format. Ces premier et second formats utilisent, notamment pour le codage d'un signal de parole, une recherche de paramètres de prédiction à long terme LTP par exploration d'un dictionnaire comportant des paramètres candidats. Le procédé comporte les étapes suivantes :a) définir (25b) des ordres d'un dictionnaire (25) qu'utilise le second format de codage,b) récupérer (23) une information a priori, obtenue suite à la détermination des paramètres LTP au cours du codage selon le premier format, pour sélectionner (26) un ordre dudit dictionnaire,c) appliquer (27) l'ordre sélectionné aux candidats dudit dictionnaire pour choisir (29) un nombre limité de premiers candidats, etd) pour effectuer le second codage, mener la recherche LTP uniquement parmi ledit nombre limité de candidats (30).

Description

Procédé et dispositif de codage optimisé entre deux modèles de
prédiction à long terme La présente invention concerne le codage/décodage en compression de signaux audionumériques, notamment de signaux de parole et/ou de signaux multimédias, notamment pour des applications de transmission ou de stockage. Elle vise plus particulièrement une détermination efficace des paramètres d'un second modèle de prédiction à long terme (ou "LTP" pour "Long Term Prediction"), à partir des paramètres d'au moins un premier modèle de prédiction LTP.
Les codeurs en compression utilisent des propriétés du signal audionumérique telles que sa stationnarité locale, exploitée par des filtres de prédiction à court terme, ainsi que sa structure harmonique, exploitée par des filtres de prédiction à long terme LTP. Typiquement, les sons voisés d'un 1s signal de parole (tels que les voyelles) présentent une corrélation à long terme due à la vibration des cordes vocales. La corrélation à long terme est modélisée par un filtre LTP noté P(z) qui permet de restituer la structure harmonique en utilisant un filtre de synthèse du type: HL,T(z) _ 1- P(z) La forme la plus simple du filtre de prédiction à long terme est le filtre P(z) à un seul coefficient / (appelé aussi gain) et à retard entier T tel que P(z) = /3z- T. Le retard T est aussi appelé période de "pitch", ou plus simplement "pitch".
Actuellement, des modélisations plus élaborées visent: k - une modélisation à plusieurs coefficients (dite "multitap") : P(z) = E Q,z-T' , 1=-k k ou encore une modélisation à retards multiples: P(z) = Az-T, ou encore une modélisation à retard fractionnaire qui utilise des sur et sous 21-1 échantillonnages avec des filtres d'interpolation: P(z) =13E pl (i)z-(T-I' i=0 où pour un retard (T +1/D), de résolution 1/D, les coefficients p,(i) sont donnés par p,(i)=hn,er(iD-l), 0<-lD-1, hinter étant un filtre d'interpolation de longueur 2I D + 1.
Les paramètres du filtre (retard et gain(s)) varient selon les signaux à coder et pour un même signal au cours du temps. Par exemple, en codage de parole, la plage des périodes de pitch cherche à couvrir la gamme des fréquences fondamentales de la voix humaine (des voix graves aux voix io aiguës). Pour un même locuteur, cette fréquence varie aussi temporellement. De même, le(s) coefficient(s) du filtre évolue(nt) aussi dans le temps.
Au codage, les paramètres de P(z) sont déterminés soit par une analyse en boucle ouverte soit par une analyse en boucle fermée ou le plus souvent par une combinaison des deux analyses. L'analyse en boucle ouverte est effectuée en minimisant l'erreur de prédiction sur le signal à modéliser. L'analyse en boucle fermée (dite "analyse par synthèse") minimise l'erreur quadratique, habituellement pondérée, entre le signal vocal à modéliser et le signal de synthèse. Habituellement, une recherche en boucle ouverte est d'abord prévue afin de déterminer une première estimation du pitch appelée "pitch en boucle ouverte". Puis, une recherche à analyse par synthèse sur un voisinage restreint autour de cette valeur d'ancrage permet d'obtenir une valeur plus précise du pitch. Ces analyses sont effectuées sur des blocs d'échantillons. Les longueurs des blocs d'analyse en boucle ouverte et fermée ne sont pas nécessairement égales. Souvent, une seule analyse en boucle ouverte est effectuée pour plusieurs analyses en boucle fermée.
Pour tout modèle LTP (monotap ou multitap), la détermination des paramètres LTP est très coûteuse en complexité de calcul. Elle est généralement constituée d'une boucle ouverte sur un grand bloc d'échantillons suivie de boucles fermées sur plusieurs sous-blocs d'échantillons (appelés aussi sous-trames). En particulier, la recherche en boucle ouverte du délai harmonique est une opération très coûteuse, au codage. Habituellement, elle nécessite le calcul d'une fonction d'autocorrélation du signal pour de nombreuses valeurs (en fait sur plage de variation des retards). Dans le codeur selon la norme UIT-T G.723.1, cette plage de retards comporte 125 retards entiers (de 18 à 142) et le retard en boucle ouverte est estimé toutes les 15 ms (soit donc pour des blocs de 120 échantillons). Dans le codeur selon la norme UIT-T G.729 à 8 kbit/s, l'analyse en boucle ouverte est effectuée toutes les 10 ms (à chaque bloc de 80 échantillons) et explore une plage de 124 retards entiers (de 20 à 143). Cette opération constitue près de 70% de la complexité de l'analyse LTP pour ce type de codage.
Même si elle est focalisée autour du retard obtenu en boucle ouverte, la boucle fermée est aussi extrêmement coûteuse en calculs et, par conséquent, en ressources. Elle nécessite la génération d'excitations adaptatives et leur filtrage. Par exemple, dans le codage G.723.1 qui utilise un modèle LTP multitap, l'analyse en boucle fermée détermine conjointement le vecteur de gains (R;) et un délai / (en tant que pitch candidat) de chaque sous-trame en explorant un dictionnaire de vecteurs de gains pour plusieurs valeurs de pitch candidates. Cette analyse constitue près de la moitié de la complexité totale du codeur G.723.1 à 5, 3 kbit/s.
La complexité de l'analyse LTP est particulièrement critique lorsque plusieurs codages doivent être effectués par une même unité de traitement telle qu'une passerelle chargée de gérer de nombreuses communications en parallèle ou un serveur distribuant de nombreux contenus multimédias. Le problème de la complexité est encore accru par la multiplicité des formats de compression qui circulent sur les réseaux. II est alors prévu plusieurs codages, soit en cascade (ou "transcodage"), soit en parallèle (codage multi-format ou codage multi-mode). Le transcodage est typiquement utilisé lorsque, dans une chaîne de transmission, une trame de signal compressée émise par un codeur ne peut plus poursuivre son chemin, sous ce format. Le transcodage permet de convertir cette trame sous un autre format compatible avec la suite de la chaîne de transmission. La solution la plus élémentaire (et la plus courante à l'heure actuelle) est la mise bout à bout d'un décodeur et d'un codeur. La trame compressée, arrivant sous un premier format, est décompressée. Ce signal décompressé est alors re-compressé sous un second format accepté par la suite de la chaîne de communication. Cette mise en cascade d'un décodeur et d'un codeur est appelée "tandem". Néanmoins, cette solution est très coûteuse en complexité (essentiellement à cause du recodage) et Io dégrade la qualité, le second codage se faisant en effet sur un signal décodé qui est une version dégradée du signal original. Par ailleurs, une trame peut rencontrer plusieurs tandems avant d'arriver à destination, ce qui accroît encore le coût en calcul et la perte de qualité. En outre, les retards liés à chaque opération de tandem s'accumulent et peuvent nuire à l'interactivité des communications.
Quant aux systèmes de compression multi-format où un même contenu est compressé sous plusieurs formats (typiquement 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 des différents utilisateurs finaux), l'opération de mufti-codage devient extrêmement complexe à mesure qu'augmente le nombre de formats désirés, ce qui peut rapidement saturer les ressources des systèmes. Un autre cas de codage multiple en parallèle est la compression mufti-mode à décision a posteriori selon laquelle, à chaque segment de signal à coder, plusieurs modes de compression sont exécutés et le mode qui optimise un critère donné ou obtient le meilleur compromis débit/distorsion est sélectionné. Là encore, la complexité de chacun des modes de compression en limite le nombre et/ou conduit à élaborer une sélection a priori d'un nombre très restreint de modes.
Actuellement, la plupart des opérations de codage multiple ne prennent 30 pas encore pleinement en compte les similitudes entre formats de codages, ce qui pourrait pourtant réduire la complexité et le retard algorithmique tout en limitant la dégradation apportée. Pour un même paramètre de format de codage, les différences entre codeurs résident dans la modélisation, la méthode et/ou la fréquence de calcul, ou encore la quantification.
s De manière générale, les solutions proposées aujourd'hui s'attachent à limiter le nombre de valeurs explorées pour les paramètres d'un second modèle LTP en utilisant les paramètres choisis par le premier format, pour réduire la complexité de la recherche LTP du deuxième format.
Le transcodage entre deux modèles LTP monotap est le cas le plus simple. La plupart des méthodes actuellement proposées concernent le transcodage entre retards, le transcodage du gain LTP étant effectué le plus souvent au niveau du signal-même (on parle de tandem "partie!'). Lorsque les deux modèles sont identiques (même dictionnaire de retards et même longueur de sous-trame), une simple recopie des champs binaires des retards d'un flux de bits vers l'autre suffit. Lorsque les dictionnaires diffèrent par leur résolution (entière ou fractionnaire 1/3, 1/6, etc) et/ou par leurs plages de valeurs, un transcodage dans le domaine binaire ou des paramètres, avec une transformation éventuelle, est utilisé. La transformation peut être une quantification, une troncature, un doublement ou un dédoublement. Lorsque les longueurs de sous-trames des deux formats sont différentes, on peut prévoir une interpolation des retards. Par exemple, les retards d'un premier format recouvrant une sous- trame de sortie sont interpolés. On peut alors n'utiliser ce retard interpolé que lorsque celui-ci est proche du retard obtenu à la sous- trame précédente, sinon une recherche classique est menée. Une autre méthode plus directe, sans interpolation, consiste à sélectionner un retard parmi ces retards du premier format. Cette sélection peut être effectuée selon plusieurs critères: dernière sous-trame, sous-trame ayant le plus d'échantillons en commun avec la sous-trame du second format ou encore celle qui maximise un critère dépendant du gain LTP. Le retard déterminé est une valeur d'ancrage pour la recherche du retard du deuxième format. Il peut être utilisé comme retard en boucle ouverte du second format autour duquel est effectué une recherche en boucle fermée classique ou restreinte, ou comme une première estimation de celui-ci, ou comme ancrage d'une trajectoire de retard.
Dans le cas d'un transcodage entre une modélisation LTP monotap et une modélisation LTP multitap, on ne prévoit aujourd'hui qu'une mise en oeuvre simplement dans le domaine signal, du fait de la dissemblance des modélisations. La plupart des techniques de transcodage existantes se limitent à réduire la complexité de la boucle ouverte du second format en sélectionnant io comme retard en boucle ouverte l'un des retards du premier format ou une interpolation de ces retards. Toutefois, quelques techniques ont été proposées pour réduire aussi la complexité de la boucle fermée.
Dans le document WO-03058407, le retard fractionnaire À' d'un modèle monotap est déterminé à partir du vecteur de coefficients ([3;) d'un modèle 15 multitap en calculant l'expression: Dans le document référencé [1] : "An Efficient Transcoding Algorithm For G.723.1 And G. 729A Speech Coders", Sung-Wan Yoon, Sung-Kyo Jung, Young-Cheol Park, and Dae-Hee Youn, 20 Proc. Eurospeech 2001, pp.2499-2502, la recherche en boucle fermée du vecteur de gains d'un modèle multitap est restreinte à un sous-ensemble du dictionnaire des gains multitap, déterminé par le gain du modèle monotap du premier format. Cette détermination, ainsi que la composition des sous-ensembles s'effectuent comme suit: le gain global de chaque vecteur du dictionnaire de gains est calculé; puis, à partir de 170 gains globaux correspondant aux 170 vecteurs du dictionnaire, 8 sous- ensembles sont constitués et un seul de ces sous-ensembles est sélectionné en fonction du gain LTP du premier modèle monotap.
Dans une variante selon le document référencé [2] : "Transcoding algorithm for G723.1 and AMR speech Coders: for 5 interoperability between VoIP and Mobile Networks", Sung-Wan Yoon and al., Proc. Eurospeech 2003, pp. 1101-1104, les sous-ensembles sont composés par apprentissage comme suit: la plage de variation du gain monotap d'un codeur NB-AMR est divisée en 8 sous-sections, puis, pour chaque sous- section, une étude statistique sur un tandem to NB-AMR permet de déterminer M vecteurs de gains des dictionnaires d'un codeur selon la norme G.723.1. Ces vecteurs de gain sont statistiquement les plus probables. Le nombre M est pris égal à 40 pour le dictionnaire comportant 85 vecteurs et à 85 pour le dictionnaire comportant 170 vecteurs. Lors de la recherche du vecteur de gains optimal, l'exploration du dictionnaire est limitée au sous-ensemble associé à la sous-section à laquelle appartient le gain du codeur NB-AMR.
A la connaissance des inventeurs, il n'existe aujourd'hui aucune technique de transcodage entre deux modélisations LTP multitap. Comme on l'a vu ci-avant, la plupart des solutions actuelles ne concernent que les modèles LTP monotap. Certaines techniques proposent un transcodage entre un modèle multitap et un modèle monotap mais se limitent à réduire la complexité de la recherche du retard en boucle ouverte du second format.
Parmi les quelques approches proposées pour réduire la complexité de la boucle fermée, certaines sont basées sur une approximation d'un filtre LTP multitap par un filtre LTP monotap (fractionnaire ou non). Par exemple, dans le cas d'une approximation d'un filtre multitap: k Pmulti(z) = i=-k par un filtre monotap non fractionnaire Pmono(z)=z (T-8) on estime un gain,Q et une gigue 8 de retard tels que: Pmono (Z) = Pmu11i (z) , pour tous les retards entiers T considérés.
L'approximation d'un modèle LTP multitap par un modèle LTP monotap est déjà exploitée depuis la norme UIT-T G.723.1, en fait pour estimer le pré-filtre adaptatif et aussi pour contrôler l'instabilité du filtre LTP. Les études menées pendant la conception du codeur selon la norme G.723.1 ont montré qu'il n'est pas toujours possible d'approximer de manière satisfaisante un filtre LTP multitap par un filtre LTP monotap, sur une large plage de retards, avec un même gain /3 et une même gigue 8 sur le retard. Pour un même vecteur de gains (A), l'estimation du couple optimal ()6,8) peut varier fortement en fonction du retard T. Dans le codeur selon G.723.1, cette difficulté a pu être contournée car la procédure de contrôle de stabilité retient le gain maximum parmi les gains estimés (qui peuvent être alors très dissemblables) et le pré- filtre adaptatif est inhibé pour tout vecteur de gains du modèle multiptap lorsque, sur la plage de retards considérée, les gains estimés sont trop différents ou les gigues sur le retard sont trop dissemblables ou trop grandes. Si, pour les modules de pré-filtrage adaptatif et de contrôle d'instabilité du filtre de prédiction à long terme, il est possible de contourner la difficulté d'estimation sans dégrader les performances, ces avantages sont plus difficilement atteignables avec le module d'analyse LTP lui- même qui joue un rôle crucial sur la qualité. Ainsi, selon le vecteur de gains et/ou le retard considérés, les 170 gains globaux calculés pour chaque vecteur des 170 entrées du dictionnaire, comme vu dans l'art antérieur ci-avant [1], peuvent être très éloignés des gains optimaux. De même, selon le vecteur de gains (/3,) et/ou le retard À, le calcul du retard fractionnaire À', comme vu dans l'art antérieur WO-03058407 ci- avant, peut conduire à une mauvaise détermination du retard fractionnaire.
Que l'approche soit analytique ou statistique, l'approximation, sur une large gamme de retards, d'un filtre LTP multitap par un seul filtre LTP monotap (ou l'approximation inverse) est trop imprécise. Pour résoudre ce problème, on pourrait, pour tenir compte de la variation du gain /3 et/ou du la gigue 8 selon le retard T, stocker pour chaque retard T un couple (/3,6). Cependant, cette solution serait trop coûteuse en stockage puisqu'elle nécessiterait, pour chaque vecteur de gain et pour chaque retard de la plage, de stocker un couple. Dans le cas de l'approximation des filtres LTP multitap du codeur G.723.1 qui comporte deux dictionnaires multitap de 170 et 85 vecteurs, avec to une plage de 125 retards, il faudrait stocker 31875 (=125*(170+85)) couples. De plus, cette solution ne résoudrait pas les cas où l'approximation d'un multitap par un monotap est vraiment trop imprécise, voire erronée. On notera qu'à l'inverse, plusieurs couples (/3,6) peuvent aussi constituer de bonnes approximations d'un filtre LTP multitap.
La présente invention vient améliorer la situation.
Tout d'abord, la présente invention vise le passage d'un modèle LTP à un seul coefficient (monotap) vers un modèle LTP à plusieurs coefficients (multitap) et inversement, ainsi que le passage entre deux modèles LTP multitap. En particulier, elle propose un procédé dont la complexité peut être ajustée, notamment en fonction d'un compromis désiré entre une complexité visée et une qualité souhaitée. Un dispositif pour la mise en oeuvre du procédé selon l'invention est, en outre, très utile pour les codages multiples en cascade (transcodages) ou en parallèle (multi-codages et codages multi-mode).
Ainsi, l'invention vise d'abord un procédé de codage selon un second format, à partir d'informations obtenues par la mise en oeuvre d'au moins une étape de codage selon un premier format. Les premier et second formats mettent en oeuvre, notamment pour le codage d'un signal de parole, une étape de recherche de paramètres de prédiction à long terme LTP par exploration d'au moins un dictionnaire comportant des paramètres candidats, l'un au 2880724 io moins des premier et second format de codage utilisant un filtrage à plusieurs coefficients (dit "multitap" ci- avant), pour une recherche fine des paramètres LTP.
Selon une définition générale de l'invention, le procédé comporte les étapes 5 suivantes: a) définir des ordres d'au moins un dictionnaire qu'utilise le second format de codage, b) récupérer une information a priori, obtenue suite à la détermination des paramètres LTP au cours du codage selon le premier format, pour o sélectionner au moins un ordre dudit dictionnaire, c) appliquer l'ordre sélectionné aux candidats dudit dictionnaire pour choisir un nombre limité de premiers candidats, et d) pour effectuer le second codage, mener la recherche LTP uniquement parmi ledit nombre limité de candidats.
L'invention se distingue donc des solutions existantes par la définition d'ordres dans le dictionnaire et l'exploitation de ces ordres dans la procédure d'exploration du dictionnaire.
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 20 lesquels: la figure la représente schématiquement un système de transcodage intelligent utilisant un dispositif de codage selon le second format au sens de l'invention, la figure 1 b représente schématiquement un système de codage multiple 25 en parallèle, utilisant un dispositif de codage selon le second format au sens de l'invention, la figure 2 illustre les étapes principales du procédé au sens de l'invention, 2880724 Il la figure 3 représente schématiquement les moyens mis en oeuvre par un dispositif de codage au sens de l'invention, la figure 4a représentant un schéma de principe d'un codeur CELP (pour "Code Excited Linear Prediction"), - la figure 4b représente schématiquement les étapes de l'analyse LTP d'un codeur selon la norme UIT-T G.729, la figure 4c représente schématiquement les étapes de l'analyse LTP d'un codeur selon la norme UIT-T G.723.1 (6,3 kbit/s), la figure 5a illustre une correspondance entre les trames d'un codeur selon io la norme UIT-T G.723. 1 (30 ms) et les trames d'un codeur selon la norme UIT-T G.729 (10 ms), la figure 5b illustre une correspondance entre les sous-trames du codeur G.729 (5 ms) et les sous-trames du codeur G.723.1 (7,5 ms), la figure 6 illustre la recherche du pitch en boucle ouverte du G.729 à partir 15 des valeurs de pitch du G.723.1, les figures 7a et 7b illustrent respectivement l'association entre sous-trames paires (respectivement impaires) du codeur G.729 et le jeu de paramètres LTP issu du codeur G. 723.1 en tant que codeur selon le premier format, la figure 8 représente un tableau d'association des sous-trames du G.723.1 (colonne de droite CD) aux sous-trames du G.729 (colonne de gauche CG), les figures 9a et 9b représentent des histogrammes de tailles d'exploration réduites (nombre d'occurrences en ordonnée) dans des dictionnaires (initialement de 85 vecteurs pour la figure 9a et de 170 vecteurs pour la figure 9b), et garantissant moins de 1% de réduction de qualité selon le critère CELP, et la figure 10 représente schématiquement la sélection de N éléments du second dictionnaire quand plusieurs ordres sont constitués, dans une réalisation particulière.
La présente invention s'inscrit donc dans le cadre du codage multiple en cascade ou en parallèle ou dans tout autre système utilisant, pour représenter la périodicité à long terme d'un signal, une modélisation de type monotap ou multitap. L'invention permet à partir de la connaissance des paramètres d'un premier modèle de déterminer les paramètres d'un second modèle dans le cas où au moins l'un des deux modèles utilise une modélisation multitap. Par souci de concision, seul le cas d'un passage d'un premier modèle vers un second est décrit mais on comprendra que l'invention s'applique aussi dans le cas de passage de m (m>_1) premiers modèles vers n (n?2) seconds modèles (où m et n sont absolument quelconques).
En référence aux figures la et 1 b, on considère donc le cas de deux modélisations LTP d'un signal correspondant à deux systèmes de codage COD1 et COD2. II peut s'agir d'un passage du premier système de codage COD1 au second système de codage COD2, en cascade notamment par transcodage intelligent (figure la), ou en parallèle notamment en optimisant le codage multiple (figure lb). Le premier codeur a effectué son opération de codage sur un signal donné (par exemple le signal original so). On dispose donc des paramètres LTP, notés LTP1, choisis par le premier codeur COD1. Ce codeur a déterminé ces paramètres par une technique qui lui est propre lors du processus de codage. Le second codeur COD2 doit réaliser lui aussi son codage. Dans le cas du transcodage, le second codeur COD2 ne dispose que du train binaire BS1 généré par le premier codeur COD1 et incluant alors les codes binaires des paramètres LTP1. L'invention est donc ici applicable au transcodage intelligent. Dans le cas du codage multiple en parallèle, le second codeur COD2 dispose aussi du signal d'origine so (ou d'une version dérivée) dont dispose le premier codeur COD1 et l'invention s'applique ici au multi- codage intelligent. On indique que l'invention peut aussi s'appliquer au cas particulier du codage multiple en parallèle qu'est le codage multi-mode à décision a posteriori.
La présente invention porte sur la détermination d'un paramètre d'un modèle LTP, noté LTP2, à partir d'au moins un paramètre LTP1 d'un autre modèle LTP, quand l'un au moins des deux modèles est un modèle multitap. Au lieu de rechercher le paramètre du second format de codage dans son ensemble de définition (ou "dictionnaire"), l'invention prévoit les étapes suivantes, en se référant maintenant à la figure 2: dans le dictionnaire DIC2 du second format de codage (portant la référence 10 25 sur la figure 2), on détermine initialement des ordres ORD1, ORD2, ..., ORDN (étape 25b de la figure 2), à partir de l'un au moins des paramètres LTP1 du premier format de codage, on sélectionne au moins un ordre ORD(DIC2) du dictionnaire du second format (étape 26), à l'étape 27, on obtient une succession ordonnée des éléments du dictionnaire e2, ei2, ek2, - on limite avantageusement l'exploration aux premiers éléments e?, ei2 du dictionnaire DIC2 ainsi ordonné (étape 29), ce nombre d'éléments étant de préférence choisi selon le compromis qualité/complexité voulu (qualité visée/complexité autorisée), à une étape 28.
Ainsi, on comprendra que l'on peut limiter, par la mise en oeuvre de l'invention, le nombre d'éléments du second dictionnaire DIC2 sur lequel la recherche LTP va porter pendant le second codage COD2, tout en assurant une bonne qualité du codage COD2. Sur la figure 2, on a séparé en deux blocs 20 et 24 les opérations menées respectivement par le premier codeur COD1 et le second codeur COD2, ce dernier disposant du dictionnaire DIC2 (référence 25). De son côté, le premier codeur COD1 a déterminé les paramètres LTP1, à l'étape 21, en utilisant au moins son dictionnaire DIC1 (étape 22). On comprendra alors que la manière dont le premier codeur COD1 a déterminé ses paramètres LTP1, typiquement à partir du signal d'origine so, constitue une information a priori (étape 23) qui peut être utilisée par le second codeur pour ordonner son dictionnaire DIC2. Finalement, les paramètres LTP2 obtenus (étape 30) en appliquant la classification du dictionnaire du second codeur au sens de l'invention, pourront eux-mêmes servir à la classification d'un dictionnaire selon encore un troisième format de codage (non représenté), le cas échéant, et ainsi de suite pour un transcodage en cascade ou un codage multiple en parallèle.
On notera que la figure 2 n'est donnée ici qu'à des fins principalement didactiques. Par exemple, la notation e2, e;2, ek2, ... des éléments du dictionnaire DIC2 n'est pas réellement conventionnelle, comme on le verra plus loin. Par ailleurs, la classification du dictionnaire DIC2 (étape 25b) et la limitation de ses éléments à prendre en compte pour la recherche en fonction du critère qualité/complexité (étape 28) peuvent être menées conjointement sensiblement en une même étape. Enfin, on a représenté sur la figure 2 un premier codeur COD1 délivrant les informations a priori (étape 23) au second codeur COD2. Néanmoins, en variante, le second codeur COD2 peut simplement récupérer du premier codeur COD1 les codes binaires des paramètres LTP1 que le premier codeur a déterminé et retrouver ces informations a priori grâce notamment à la connaissance du type de codage et du dictionnaire utilisé par le premier codeur COD1.
On a représenté sur la figure 3 un dispositif de codage selon le second format, au sens de l'invention. Ce dispositif est agencé pour utiliser des informations de codage par la mise en oeuvre d'un codage selon un premier format (ici les paramètres LTP1 récupérés du codage selon le premier format COD1). Le dispositif au sens de l'invention comporte, dans l'exemple représenté : une mémoire MEM stockant une table de correspondance définissant, en fonction des paramètres LTP1 déterminés par le premier format de codage, des ordres d'un dictionnaire qu'utilise le second format de codage, des moyens, tels qu'une interface 31, pour récupérer un signal donnant au moins une information a priori sur des paramètres LTP1 au cours d'un codage selon le premier format, des moyens 32 actifs sur réception de ce signal pour consulter la table de correspondance et sélectionner au moins un ordre du dictionnaire du second format, des moyens de calcul, tel qu'un processeur 35, pour: É ordonner le dictionnaire 33 du second format selon l'ordre sélectionné, en vue de choisir un nombre limité de premiers candidats dans le dictionnaire 33, et É poursuivre le codage selon le second format, avec d'autres modules 34 le cas échéant, en menant la recherche LTP uniquement parmi ce nombre limité de candidats. Bien entendu, le processeur 35 gère tout ou partie des modules du
dispositif. A cet effet, il peut être animé par un produit programme d'ordinateur. La présente invention vise d'ailleurs un tel produit programme d'ordinateur, stocké dans une mémoire d'une unité de traitement ou sur un support amovible destiné à coopérer avec un lecteur de ladite unité de traitement ou téléchargeable d'un site distant, et comportant des instructions pour la mise en oeuvre de tout ou partie des étapes du procédé selon l'invention.
On comprendra en particulier que le dispositif COD2, au sens de l'invention, peut directement récupérer les paramètres LTP1 du premier codeur COD1 pour en déduire l'information a priori précitée et, de là, l'ordre de son dictionnaire DIC2, ou, en variante recevoir du premier codeur COD1 directement les informations a priori sur l'ordre de son dictionnaire, du premier codeur COD1. Dans ce dernier cas, le premier codeur COD1 joue déjà un rôle particulier dans l'invention.
La présente invention vise aussi un système incluant le premier codeur et le dispositif au sens de l'invention. En effet, le dispositif de la figure 3 peut être inséré dans un système de codage mettant en oeuvre au moins un premier et un second format de codage. Ce système comporte alors au moins un dispositif de codage selon le premier format COD1 et un dispositif de codage au sens de l'invention et appliquant alors second format COD2. A ce titre, l'invention vise un tel système. Le dispositif de codage selon le premier format et le dispositif de codage selon le second format peuvent être mis en cascade, pour un transcodage, comme représenté sur la figure la. En variante, le dispositif de codage selon le premier format et le dispositif de codage selon le second format peuvent être mis en parallèle, pour un codage to multiple, comme représenté sur la figure lb. Dans la mise en oeuvre de l'invention, on retiendra que le second codeur COD2 peut récupérer du premier codeur COD1 (lorsque ce dernier a déterminé les paramètres LTP1) des informations qui vont lui permettre d'ordonner son dictionnaire DIC2 (voir figure 2). Ensuite, une recherche LTP uniquement parmi les premiers éléments (e;2, ei2) du dictionnaire DIC2 ainsi ordonné permettra de conserver une bonne qualité du second codage.
Avantageusement, l'exploitation des ordres du second dictionnaire DIC2 offre une grande flexibilité sur le nombre d'éléments ordonnés à explorer. Il est alors possible: - d'ajuster librement le compromis qualité/complexité, - ou encore, pour une complexité donnée, optimiser la qualité, - ou, inversement, minimiser la complexité pour une qualité donnée.
Cet ajustement peut être effectué au début du traitement. Il peut aussi être effectué à chaque bloc à traiter en fonction de paramètres du premier format de codage et/ou des caractéristiques du signal à coder (par exemple, en fonction d'un critère de voisement). Pour un même bloc, la complexité peut aussi varier en fonction des sous-trames LTP. L'invention offre une grande flexibilité qui permet de répartir dynamiquement la puissance de calcul disponible entre les modules du second codeur et/ou les ressources pour traiter les sous-trames LTP.
Préférentiellement, c'est à partir d'une partition initiale du dictionnaire DIC1 associé à un paramètre du premier modèle LTP que l'on détermine des ordres du dictionnaire DIC2 associé à un paramètre du second modèle LTP. On indique que la détermination d'un ordre consiste à classer les éléments du second dictionnaire DIC2 selon un certain critère. Un classement (ou "ordre") est donné par une indexation des éléments du dictionnaire DIC2.
Plusieurs types de partition du premier dictionnaire DIC1 peuvent être io prévus. Un premier exemple est la partition élémentaire d'un dictionnaire DIC1 de N éléments en N classes disjointes de taille 1. N ordres du deuxième dictionnaire sont alors déterminés. Des partitions plus élaborées peuvent être choisies, notamment par des techniques connues en soi de quantification (vectorielle ou scalaire) ou de classification des données.
Avantageusement, il est possible de regrouper des ordres similaires, ce qui revient à modifier la partition initiale du premier dictionnaire et, en conséquence, le nombre d'ordres du deuxième dictionnaire. On peut aussi recalculer les ordres une fois qu'ils ont été regroupés. Les procédures de détermination de la partition du premier dictionnaire en N classes et de calcul des N ordres du second dictionnaire peuvent être itérées, le nombre N pouvant d'ailleurs varier au cours des itérations. En variante ou en complément, pour limiter la mémoire nécessaire au stockage des ordres du second dictionnaire, pour chacun de ces ordres, un nombre maximal d'éléments à retenir est choisi, ce nombre pouvant différer selon les ordres et/ou les classes du premier dictionnaire.
Dans une variante encore, les classes du premier dictionnaire ne sont pas forcément disjointes. Typiquement, un même élément peut être associé à plus d'un ordre du second dictionnaire. Le choix de l'ordre ou la combinaison des ordres peut alors prendre en compte d'autres facteurs que le paramètre LTP courant du premier dictionnaire.
Initialement, le nombre d'ordres et les ordres qui conviennent dans le second dictionnaire sont déterminés par une étude statistique et/ou analytique, en fonction de jeux successifs de paramètres LTP selon le premier modèle. Cette étude définit donc, pour chaque classe de la partition du dictionnaire associé à un paramètre LTP du premier format, un classement du dictionnaire d'un paramètre du second format. Une étude statistique a été réalisée sur un banc hors ligne en associant dans un même codeur le modèle LTP du premier lo format et le modèle LTP du deuxième format. La mise en parallèle des deux analyses LTP a été la configuration préférée d'apprentissage. Bien entendu, d'autres configurations peuvent être utilisées, notamment un tandem conventionnel qui met en cascade les deux codages. L'étude statistique assure, pour chaque élément du premier dictionnaire (ou chaque classe de sa partition), un classement des éléments du second dictionnaire selon un certain critère. Préférentiellement, ce critère évalue l'impact sur la qualité du signal restitué. En effet, le critère de qualité peut être celui utilisé au codage pour sélectionner le second paramètre LTP. Bien entendu, d'autres critères peuvent être utilisés, notamment la sollicitation d'un élément du second dictionnaire pour une classe du premier dictionnaire. En outre, une combinaison de critères peut aussi être utilisée.
Une étude analytique peut aussi être effectuée pour déterminer des ordres du second dictionnaire en fonction d'une partition du premier dictionnaire. Préférentiellement, l'étude analytique vient en complément de l'étude statistique décrite ci-avant. Elle est préférentiellement limitée aux parties de dictionnaire qui conduisent à des approximations analytiques satisfaisantes.
On décrit maintenant la détermination d'un paramètre LTP du second format de codage, à partir des paramètres LTP selon le premier format de 30 codage.
Dans le cadre de la conception d'algorithmes pour une exploration restreinte du second dictionnaire connaissant les paramètres LTP choisis par le premier format de codage, on exploite préférentiellement la partition d'un premier dictionnaire et les ordres du second dictionnaire qui sont associés à cette partition du premier dictionnaire.
Par souci de clarté de l'exposé, on décrit d'abord les principes de l'algorithme utilisé quand les deux formats de codage ont des sous- trames LTP de durée identique. A chaque sous-trame courante du deuxième format de codage correspond une seule sous-trame du premier format de codage.
lo Pour cette première sous-trame, le premier format de codage a sélectionné un jeu de paramètres LTP (dit "premier jeu LTP1"). Grâce à la partition du dictionnaire associé à l'un des paramètres LTP du premier modèle, on sélectionne un ordre d'exploration du second dictionnaire en choisissant l'ordre associé à la classe de l'élément du premier jeu LTP1. Puis, le second 1s dictionnaire est exploré suivant l'ordre ainsi déterminé. De plus, en fonction d'un compromis qualité/complexité et/ou éventuellement du nombre maximal d'éléments du second dictionnaire retenu pour la classe, le nombre d'éléments testés est restreint. De manière générale, on retiendra donc que, parmi tous les éléments du second dictionnaire, seuls sont testés les premiers éléments déterminés par l'ordre qui a été choisi.
Quand les deux formats de codage ont des sous-trames LTP de durées différentes, il advient qu'une sous-trame courante du deuxième format peut correspondre à plus d'une sous-trame du premier format. Cette situation est illustrée sur la figure 5b, à titre d'exemple. Pour ces premières sous-trames, le premier format de codage a sélectionné des jeux de paramètres LTP. Grâce à la partition du dictionnaire associé à l'un des paramètres LTP du premier modèle, on présélectionne des ordres d'exploration du second dictionnaire en choisissant les ordres associés aux classes des éléments des premiers jeux. II se peut qu'un seul ordre soit finalement sélectionné si les paramètres choisis pour les premières sous-trames appartiennent à la même classe de la partition du premier dictionnaire. Il s'agit toutefois d'un cas particulier. On est alors ramené au schéma précédent correspondant à des sous-trames LTP de durée identique. Si, au contraire, plus d'un ordre a été présélectionné, on peut ne retenir qu'un seul ordre (par exemple l'ordre le plus présélectionné), ou encore celui qui correspond à la sous-trame du premier format qui couvre le plus la sous-trame courante du deuxième format.
Selon le type de paramètre LTP de la partition du premier dictionnaire, d'autres critères peuvent être retenus. Au lieu de ne retenir qu'un seul ordre, une autre solution consiste à combiner au moins une partie des différents io ordres présélectionnés. Plusieurs procédures de combinaison sont possibles. Par exemple, si K ordres ont été retenus, on examine d'abord le premier élément de chacun des K ordres, en éliminant les redondances éventuelles. On obtient KI éléments (K1<_ K). Puis, on ajoute K2 éléments, tels que K2<_ K et K2<_ N-K1, choisis dans l'ensemble constitué par le deuxième élément des K ordres (en éliminant les redondances éventuelles), et ainsi de suite jusqu'à obtenir N éléments, N étant le nombre maximal d'éléments du second dictionnaire à tester. On a représenté schématiquement cette sélection de N éléments e;, ei, ..., ek, ... en tant que premiers éléments de K ordres ORD1, ORD2, ... , ORDK, sur la figure 10. Le nombre N d'éléments retenus dans l'ensemble ENS peut être choisi par exemple en fonction de la complexité maximale autorisée. Dans ce classement, il est aussi possible de privilégier les éléments les plus souvent classés parmi les premiers.
En variante, on peut aussi constituer K sous-ensembles des classements en présélectionnant les Ni (<_N) premiers éléments de chaque classement C; (1 <_i<_K). Le choix des Ni est tel que Ni N et permet de traiter équitablement les classements ou, au contraire, de privilégier certains classements. Puis, on sélectionne tous les éléments présents dans les K sous-ensembles, ensuite les éléments présents dans K- 1 sous-ensembles et ainsi de suite jusqu'à retenir N éléments. Si N éléments n'ont pas été ainsi obtenus, 2880724 21 on complète le nombre d'éléments en prenant par exemple successivement les éléments suivants dans les K sous-ensembles.
On peut évidemment combiner certaines de ces stratégies de classement. On indique de manière générale que le second dictionnaire est préférentiellement exploré suivant un ordre "dynamique" ainsi déterminé. Cette procédure de constitution d'ordre dynamique à partir d'ordres prédéterminés et stockés peut aussi être appliquée quand les classes de la partition ne sont pas disjointes et qu'un élément du premier dictionnaire appartient à plus d'une classe.
On décrit ci-après trois cas de passage d'un premier modèle LTP vers un deuxième modèle LTP, illustrant l'application de l'invention à différents modèles et types de paramètres LTP. Bien entendu, bien que les exemples ne soient donnés que pour un premier et un second dictionnaire, l'invention se généralise aisément à plus d'un premier et/ou second dictionnaire.
* Cas du passage d'un modèle monotap vers un modèle multitap On dispose des paramètres du modèle monotap d'un format COD1 et l'on cherche à déterminer à moindre coût de calcul et/ou de ressources ceux du modèle multitap d'un format COD2. Pour chaque sous-trame, le codeur COD1 a déterminé le couple (Àe,Re) de paramètres du filtre LTP monotap. Le codage d'une sous-trame de COD2 requiert la détermination de couples (À , (B1)s) (où i est un indice de gain) de paramètres du filtre LTP multitap. Le jeu de paramètres du premier modèle est donc (ÀeiRe). Le jeu de paramètres du deuxième modèle est (À ,(Q, )s)É La détermination du retard Às est faite par une des méthodes connues 25 de l'état de l'art. Par exemple, il est possible d'utiliser la méthode de transcodage intelligent qui détermine directement ce retard Às en choisissant comme retard, celui déterminé par COD1 sur sa sous-trame qui partage le plus d'échantillons avec la sous-trame courante de COD2 (si ce retard Àe est fractionnaire, on prend sa partie entière ou l'entier le plus proche). Cette situation sera décrite plus loin en référence notamment aux figures 7a et 7b.
On détermine alors, avec une complexité faible au sens de l'invention, le vecteur de gains (13;)s pour chaque sous-trame de COD2 à partir de l'un au moins des gains Re des sous-trames de COD1. Par une étude associant les deux modèles LTP, on a effectué une partition du premier dictionnaire (ici le dictionnaire des gains scalaires 13e). On détermine ensuite des ordres du deuxième dictionnaire, associés à cette partition. Ces ordres correspondent ici à l'ensemble des vecteurs de gains ([3,)s. A partir des gains LTP scalaires [3e to choisis par le premier format COD1 pour ses sous-trames correspondant à une sous-trame courante de COD2, les ordres du deuxième dictionnaire associés aux classes de ces gains scalaires sont présélectionnés. Puis, un seul de ces ordres peut être retenu, ou encore, un ordre est dynamiquement constitué. Enfin, les N premiers vecteurs de gains déterminés par cet ordre sont testés pour sélectionner le meilleur vecteur (selon un critère tel que le critère habituel CELP). On rappelle que, grâce aux ordres, le nombre N peut être aisément ajustable en fonction par exemple du compromis qualité/complexité désiré. En général, N est bien inférieur à la taille du second dictionnaire.
Selon l'un des avantages de la présente invention, on détermine ainsi le vecteur de gains optimal d'un filtre LTP multitap d'un second format de codage à partir d'au moins un gain d'un filtre LTP monotap d'un premier format, en réduisant considérablement la complexité d'exploration du second dictionnaire des vecteurs de gains et en limitant le nombre de vecteurs de gains à tester.
Contrairement à la référence [2] donnée ci-avant où, pour chaque gain monotap, un sous-ensemble de vecteurs de gains de taille fixe est associé, la solution au sens de l'invention permet d'ajuster l'exploration du dictionnaire en fonction de la qualité visée et des contraintes de complexité. On comprendra que l'invention fait intervenir davantage les différents ordres du dictionnaire de vecteurs de gains que des sous-ensembles prédéfinis et fixes comme dans la référence précitée.
Dans le cas d'un transcodage intelligent du codeur UIT-T G.729 à 8 kbit/s vers le codeur UIT-T G.723.1 à 6,3 kbit/s, qui sera décrit plus loin en tant qu'exemple de réalisation, les étapes exposées ci-avant pourront s'appliquer à la focalisation de la recherche en boucle fermée dans les deux dictionnaires de vecteurs de gains du G.723.1 à partir des gains LTP du codeur G.729.
* Cas du passage d'un modèle multitap vers un modèle monotap Ce cas de figure est l'inverse du précédent. On dispose des paramètres to du modèle LTP multitap d'un premier format COD1 et l'on cherche à déterminer à moindre coût ceux du modèle LTP monotap d'un second format COD2. Le jeu de paramètres du premier modèle s'écrit donc (Àei(fl; )e) (où i est un indice de gain), tandis que le jeu de paramètres du deuxième modèle s'écrit (Às,(3s). A partir d'au moins un jeu de paramètres sélectionnés par le premier ts codeur COD1, on cherche à obtenir un retard Às et un gain RS pour le format COD2. Par une étude associant les deux modèles LTP, on a effectué une partition du premier dictionnaire qui est, dans ce cas, celui des vecteurs de gains (F3i)e. On détermine ensuite, au sens de l'invention, des ordres du deuxième dictionnaire, associés à la partition du premier dictionnaire. Ici, le deuxième dictionnaire est constitué de l'ensemble des valeurs de gigue (Àe-Às). A partir des vecteurs de gains ((3i)e choisis par le premier format COD1, pour ses sous-trames qui correspondent à la sous-trame courante de COD2, les ordres du deuxième dictionnaire associés aux classes de ces vecteurs de gains sont présélectionnés. Ensuite, un seul de ces ordres peut être retenu, ou encore, un ordre peut être dynamiquement constitué. Enfin, les valeurs de "voisinage" ainsi déterminées autour d'un ou plusieurs retards d'ancrage À's sont explorées. La détermination du (ou des) retards d'ancrage est faite par une méthode connue dans l'état de l'art.
La présente invention propose donc une solution originale permettant de réduire la complexité de la détermination du retard 1\s, en réduisant le nombre de valeurs de retards testés d'un modèle LTP monotap d'un second format de codage à partir de la connaissance des paramètres d'un modèle LTP multitap d'un premier format de codage. La plupart des méthodes de l'art antérieur n'utilisent que le retard sans exploiter le vecteur de gains. Comme dans le document WO-03058407, on utilise ici les deux types de paramètres. Néanmoins, contrairement à l'enseignement de cette dernière référence, un vecteur de gains pointe sur un ensemble de plusieurs valeurs de gigue et non io pas sur une seule valeur comme dans cette référence. Selon l'un des avantages que procure l'invention, on s'affranchit ainsi des problèmes liés à l'approximation d'un filtre LTP multitap par un seul filtre monotap.
Dans une variante avantageuse, pour limiter le stockage, les voisinages ordonnés sont des intervalles de taille croissante. Cette mesure est particulièrement avantageuse pour focaliser la recherche en boucle ouverte et/ou fermée. Un exemple de réalisation sera décrit plus loin, relatif à la recherche en boucle fermée du retard LTP du codeur UIT- T G.729 à 8 kbit/s à partir des paramètres LTP du codeur UIT-T G.723.1 à 6,3 kbit/s.
* Cas du passage d'un modèle multitap vers un modèle multitap A la connaissance des inventeurs, ce cas n'a jamais été étudié dans l'art antérieur.
On dispose des paramètres du modèle multitap d'un premier format COD1 et l'on cherche à déterminer à moindre coût ceux du modèle multitap d'un second format COD2. Le jeu de paramètres du premier modèle s'écrit donc (Àei(/3;)e). Le jeu de paramètres du deuxième modèle s'écrit aussi (Às, (Ms). A partir d'au moins un jeu de paramètres sélectionné par le premier format COD1, on cherche à obtenir un retard 1\s et un vecteur de gains (f;)s pour le second format COD2.
La détermination du retard Às à partir d'au moins un retard!fie est faite par une méthode connue de l'état de l'art. On retiendra que la mise en oeuvre de la présente invention permet ici de déterminer avec une complexité faible le vecteur de gains (f3)s pour chaque sous-trame du second format COD2 à partir d'au moins un vecteur de gains (13i)e des sous-trames du premier format COD1. Par une étude associant les deux modèles LTP multitap, on a effectué, au sens de l'invention, une partition du premier dictionnaire qui est dans-ce cas celui des vecteurs de gains (F3i)e. On détermine ensuite les ordres du deuxième dictionnaire (ici celui des vecteurs de gains (r3;)s) qui sont associés à cette to partition. A partir des vecteurs de gains (13i)e choisis par le premier format COD1 pour ses sous-trames qui correspondent à la sous-trame courante du second format COD2, les ordres du deuxième dictionnaire associés aux classes de ces vecteurs de gains sont présélectionnés. Ensuite, un seul de ces ordres peut être retenu, ou encore un ordre peut être dynamiquement et évolutivement constitué. Enfin, les premiers vecteurs de gains déterminés par cet ordre sont testés pour sélectionner le meilleur.
Un exemple de réalisation entre les débits 6,3 kbit/s et 5,3 kbit/s du codeur UIT-T G.723.1 illustrant ce dernier cas est présenté plus loin.
** EXEMPLES DE REALISATION On présente ci-après trois exemples de réalisation qui visent le transcodage entre deux formats de codage différents UIT-T G.729 et UIT-T G.723.1 pour les deux premiers, et un changement de débit au sein d'un codeur multidébit (UIT-T G.723.1) pour le dernier. Une description de ces deux codeurs UIT-T est d'abord donnée ainsi que leurs modélisations LTP.
Codeurs UIT-T G.729 à 8 kbit/s et UIT-T G.723.1 (6,3 kbit/s et 5,3 kbit/s) Ces deux codeurs appartiennent à la famille des codeurs CELP, codeurs à analyse par synthèse.
Codeurs à analyse par synthèse Dans ces codeurs, le modèle de synthèse est utilisé pour extraire les paramètres modélisant les signaux à coder. Ces signaux peuvent être échantillonnés à la fréquence téléphonique (Fe = 8 kHz) ou une fréquence plus s élevée, par exemple à 16 kHz pour le codage en bande élargie (bande passante de 50 Hz à 7 kHz). Selon l'application et la qualité désirée, le taux de compression varie de 1 à 16 de sorte que 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 et décodage numérique de type io CELP, codeur à analyse par synthèse le plus utilisé actuellement pour le codage des signaux de parole, est présenté sur la 4a. Le signal de parole so est échantillonné et converti en une suite de blocs de (L') échantillons appelés trames. En général, chaque trame est découpée en blocs plus petits de (L) échantillons, appelés sous-trames. Chaque bloc est synthétisé en filtrant une forme d'onde extraite d'un répertoire (appelé aussi dictionnaire d'excitation fixe), multipliée par un gain, à travers deux filtres variant dans le temps. Le dictionnaire d'excitation est un ensemble fini de formes d'ondes de L échantillons. Le premier filtre est le filtre de prédiction à long terme. Une analyse "LTP" (Long Term Prediction) permet d'évaluer les paramètres de ce prédicteur à long terme qui exploite la périodicité des sons voisés. Ce prédicteur est équivalent à un dictionnaire stockant l'excitation passée pour différents retards. Ce dictionnaire est généralement appelé "dictionnaire d'excitation adaptative". Le second filtre est le filtre de prédiction à court terme. Les méthodes d'analyse "LPC" (Linear Prediction Coding) permettent d'obtenir ces paramètres de prédiction à court terme, représentatifs de la fonction de transfert du conduit vocal et caractéristiques du spectre du signal.
Ainsi, en se référant à la figure 4a représentant un schéma de principe d'un codeur CELP, le signal de parole so subit l'analyse LPC 41 (non représentée en détail), ainsi qu'une analyse LTP avec une construction du 30 répertoire des excitations fixes 46 et des excitations adaptatives 45 pour alimenter le filtre de synthèse 44. On prévoit en outre dans la boucle ainsi constituée un module de pondération perceptuelle 42 et une module de minimisation de l'erreur 43.
Le procédé utilisé pour déterminer la séquence d'innovation est donc la méthode d'analyse par synthèse. Au codeur, un grand nombre de séquences d'innovation du dictionnaire d'excitation sont filtrées par les deux filtres LTP et LPC, et la forme d'onde sélectionnée est celle produisant le signal synthétique le plus proche du signal d'origine selon un critère de pondération perceptuelle, connu en général sous le nom de critère CELP.
to Modèle LTP du G.729 à 8 kbitls (monotap) Le codeur UIT-T G.729 opère sur un signal de parole limité en bande à 3,4 kHz, échantillonné à 8 kHz et découpé en trames de 10 ms (soit 80 échantillons par trame). Chaque trame est divisée en deux sous-trames (numérotées ci-après 0 et 1) de 40 échantillons (5 ms). Le modèle LTP du codeur UIT-T G.729 se base sur une modélisation monotap à résolution fractionnaire. A chaque trame, l'analyse LTP détermine un retard A; et un gain [3; pour chaque sous- trame. La figure 4b en présente les principales étapes. A chaque trame, une recherche du retard en boucle ouverte, noté AoL, est effectuée dans la plage de valeurs [20; 143] (étape 401). Puis, le retard de la première sous-trame est recherché en boucle fermée autour du retard en boucle ouverte AoL sur la plage [AoL-3; ÀQL+3] (étape 402). En utilisant donc l'analyse par synthèse, le retard Ao de la sous-trame paire est déterminé avec une résolution fractionnaire de 1/3 dans la plage [19 3;84 3] et en résolution entière dans la plage [85; 143].
Puis, le retard Al de la seconde sous-trame est déterminé avec une résolution fractionnaire de 1/3 par analyse par synthèse autour de Ao sur la plage [int(Ao)-52,3; int(Ao)+42,3], int(Ao) étant la partie entière du retard éventuellement fractionnaire Ao (étape 404). Pour chaque soustrame, le gain [3 est calculé une fois le retard en boucle fermée déterminé (étapes 403 et 405). Après la recherche de l'excitation fixe, le gain [3 est quantifié conjointement avec le gain de l'excitation fixe par une quantification vectorielle sur sept bits. L'ensemble de définition (ou dictionnaire) du gain LTP monotap du G.729 a donc une taille de 128.
Modèle LTP du G.723.1 (multitap) Le codeur UIT-T G.723.1 opère sur un signal de parole limité en bande à 3,4 kHz, échantillonné à 8 kHz et découpé en trames de 30 ms (soit 240 échantillons par trame). Chaque trame comporte 4 sous-trames de 7,5 ms (60 to échantillons) regroupées 2 par 2 dans des super sous-trames de 15 ms (120 échantillons). Le codeur UIT-T G.723.1 utilise une modélisation multitap d'ordre 5. Les coefficients du prédicteur à long terme sont quantifiés vectoriellement au moyen de deux dictionnaires préalablement stockés à 85 ou 170 entrées pour le mode à 6,3 kbit/s, tandis que le mode à 5,3 kbit/s n'utilise que le dictionnaire à 170 entrées. Dans le mode 6,3 kbit/s, le choix du dictionnaire exploré dépend de la valeur de retard des sous-trames paires.
La figure 4c illustre les principales étapes de l'analyse LTP du codeur G.723.1. A chaque trame, deux analyses LTP en boucle ouverte (une fois par super sous-trame) sont effectuées afin d'estimer un retard À'oL (i = 0 ou 1) sur la plage [18; 142] pour chaque bloc de 120 échantillons (étape 410). Puis, pour chaque super sous-trame, deux analyses LTP en boucle fermée (une pour chaque sous-trame) sont effectuées. Les retards À2; des sous-trames paires (sous-trames 0 et 2) sont recherchés en boucle fermée autour du retard %'oL correspondant sur la plage [À'oL-1; À'oL+1]. Conjointement avec cette recherche, le dictionnaire de vecteurs de gains est aussi exploré par analyse par synthèse (étape 411). Pour les soustrames impaires (sous-trames 1 et 3), une recherche similaire (rechercheconjointe du vecteur de gains et du retard en boucle fermée) est effectuée et la recherche d'un retard À2;+1 en boucle fermée est limitée au voisinage du retard en boucle fermée de la sous-trame précédente [À21- 1; À2i+2] (étape 412).
Premier exemple de réalisation: détermination des paramètres LTP 5 multitap du G.723.1 à 6,3 kbit/s à partir des paramètres LTP Monotap du G. 729 à 8 kbit/s Comme présenté sur la figure 5a, en prenant classiquement une origine temporelle commune, une trame de codage G.723.1 correspond à trois trames de codage G.729. II apparaît donc que les sous-trames du G. 729 ne to coïncident pas avec celles du G.723.1, mais qu'au contraire les secondes (7,5 ms) chevauchent les premières (5 ms). La figure 5b représente une trame du codage G723.1 et trois trames de codage G.729 et leurs sous-trames respectives. Les sous-trames de la trame du G.723.1 sont numérotées de 0 à 3. Les trois trames du G.729 sont regroupées et leurs sous-trames sont numérotées de 0 à 5.
Détermination du retard du filtre multitap La détermination du retard est directe. Ainsi pour les sous-trames paires du G723.1, c'est-à- dire les sous-trames 0 et 2, le retard est pris égal à la partie entière de celui des sous-trames 1 et 4 du G.729. Pour les sous-trames impaires, une boucle fermée est effectuée autour du retard précédent (sous-trame paire). Cette boucle fermée peut être identique à celle du G.723.1, mais peut aussi être restreinte selon la complexité désirée, voire éliminée pour garder alors la même valeur de retard sur les deux sous-trames paires et impaires.
Détermination des coefficients du filtre multitap Ici, on ne considère qu'un seul premier dictionnaire qui est l'ensemble des 128 gains LTP monotap du G.729 tandis que l'on considère deux seconds dictionnaires possibles (les deux dictionnaires de vecteurs de gains du G. 723.1 dont le choix dépend du retard des sous-trames).
Une fois le retard déterminé, il reste encore à déterminer un vecteur de 5 gains dans le dictionnaire de vecteurs de 5 coefficients que sélectionne le codeur G.723.1. La mise en oeuvre de la présente invention permet d'en restreindre l'exploration à un nombre limité de vecteurs de gains déterminés à partir des gains LTP monotap des sous-trames du codeur G.729.
Au préalable, une étude statistique a été réalisée en associant au sein d'un même codeur le modèle multitap du codeur G.723.1 et le modèle monotap du io codeur G.729. Cette étude a permis pour chacun des 128 gains LTP monotap du G.729 de classer les 170 et 85 vecteurs de gains LTP multitap des deux dictionnaires du G.723.1 selon leur impact sur la qualité du signal restitué. Ici, c'est le critère CELP qui est utilisé à cette fin. Pour chacun de ces deux dictionnaires du G.723.1, on a ainsi obtenu 128 ordres (ou classements) is associés à la partition élémentaire de l'ensemble des 128 gains LTP monotap.
Chaque sous-trame du G.723.1 couvre (au moins partiellement) deux sous-trames du G.729. Tout d'abord, on extrait les deux gains monotap (notés gi et g2) de ces deux sous-trames correspondantes du G.729. A chacun de ces deux gains, est associé un classement C(gi) des vecteurs du dictionnaire de vecteurs de coefficients multitap. Ce dictionnaire est sélectionné par la valeur du retard de la sous-trame paire du G.723.1.
Soit N le nombre maximal, autorisé, de vecteurs de gains multitap pour la sous-trame courante du codeur G.723.1. Si les deux gains du G.729 sont égaux, il n'y a donc qu'un seul classement et les N premiers éléments ordonnés par ce classement du dictionnaire de vecteurs de gains sont retenus. Sinon, on constitue un ordre de N éléments à partir de deux ordres différents. Par exemple, on constitue deux sous-ensembles des classements C(g1) et C(g2) en présélectionnant leurs NI et N2 (respectivement) premiers éléments. NI et N2 sont inférieurs ou égaux à N. On peut traiter équitablement les deux classements (N1=N2) ou privilégier l'un des deux classements. Par exemple, on peut privilégier le classement associé au gain monotap le plus grand (typiquement si gl> g2 alors 0<_N2<N1<_N). On peut aussi privilégier celui dont la sous-trame du G.729 recouvre le plus la sous-trame du G.723.1 considérée.
Puis, on sélectionne tout d'abord tous les éléments appartenant aux deux sous-ensembles. On complète l'ensemble formant le dictionnaire, à N, en prenant alternativement dans les deux sous-ensembles l'élément le- mieux classé parmi les restants. Là encore, on peut, en complétant, favoriser l'un des deux sous-ensembles. On peut, bien entendu, combiner certaines de ces stratégies. Par exemple, choisir N1=N2 mais après sélection des éléments communs, poursuivre par les éléments restants de l'un des deux classements avant de compléter éventuellement par les éléments restants de l'autre classement. La stratégie peut aussi varier selon la sous-trame du G.723.1 considérée.
Finalement, l'exploration du dictionnaire de vecteurs de gains est limitée aux N vecteurs déterminés grâce à l'ordre "dynamique" ainsi constitué. Cette exploration focalisée permet de sélectionner le meilleur vecteur de gains. Préférentiellement, le critère de sélection est le critère CELP utilisé classiquement par le G.723.1 pour l'exploration des dictionnaires des vecteurs à 5 coefficients LTP. La solution exposée ici permet une très forte réduction de la complexité de l'analyse LTP du codage G.723.1 sans pour autant nuire à la qualité. A titre d'exemple de performances, on a représenté sur les figures 9a et 9b, pour les deux dictionnaires, l'histogramme des tailles d'exploration qui garantissent une perte sur le critère CELP strictement inférieure à 1% par rapport à une exploration complète. On note que les tailles d'exploration (en abscisse) sont bien inférieures à la taille totale du dictionnaire. Ainsi, la taille moyenne est de 39 pour le dictionnaire à 85 vecteurs et de 49 pour le dictionnaire à 170 vecteurs. Sur la base d'apprentissage utilisée, l'étude statistique montre, même pour des tailles d'exploration moyennes, bien inférieures aux tailles des dictionnaires (48 au lieu de 85 et 58 au lieu de 170), que l'exploration restreinte est optimale selon le critère CELP (pratiquement pas de perte sur le critère CELP). La recherche focalisée peut donc mener à des performances équivalentes à la recherche exhaustive tout en n'explorant qu'à peine plus de la moitié du dictionnaire de taille 85 et le tiers du dictionnaire de taille 170. Ces chiffres illustrent bien la réduction de complexité qu'apporte la mise en oeuvre de la présente invention.
Par ailleurs, un stockage complet des 128 ordres pour les deux dictionnaires représente un total de 128*(170+85) =32640 valeurs d'index à stocker. En réalité, il n'est pas nécessaire de retenir toutes ces valeurs io puisque, comme indiqué ci-dessus, seul un nombre limité est nécessaire. Ainsi, pour une perte nulle sur le critère CELP, les essais montrent qu'il suffirait de stocker environ 13582 indices. En choisissant une contrainte moins forte sur le critère CELP, on peut encore réduire ce nombre (jusqu'à atteindre 11251 valeurs pour 1% de perte). Il peut encore être fortement réduit en adoptant pour l'ensemble des gains monotap une autre partition que la partition élémentaire.
Deuxième exemple de réalisation: détermination des paramètres LTP monotap du G.729 à 8 kbit/s à partir des paramètres LTP multitap du G.723. 1 à 6,3 kbit/s A l'inverse du mode de réalisation précédent, on dispose des paramètres du modèle LTP multitap d'une trame de G.723.1 et on cherche à obtenir les paramètres LTP monotap du G.729 pour trois trames c'est-à-dire six sous-trames (voir figure 5b).
Détermination du retard en boucle ouverte La recherche en boucle ouverte a été éliminée. Pour cela, chacune des trois trames G.729 adopte tout d'abord pour retard en boucle ouverte le retard de l'une des sous- trames du codeur G.723.1. La correspondance entre trames G.729 et sous- trame G.723.1 est illustrée sur la figure 6.
Toutefois, il est à noter que le retard choisi par le codeur G.723. 1 peut être hors de la plage de valeurs autorisées par le codeur G.729. En effet, la plus petite valeur autorisée par le codeur G.729 est 19 alors qu'elle est de 18 pour le codeur G.723.1. Plusieurs solutions sont possibles pour contourner ce problème. Typiquement, on peut par exemple doubler le retard issu du codeur G.723.1, ou plus simplement lui ajouter 1.
Détermination du retard en boucle fermée o Une fois les retards en boucle ouverte fixés pour les trois trames du codeur G.729, il reste à effectuer pour chaque sous-trame la recherche en boucle fermée. On rappelle que les plages de valeurs sont les suivantes: 2 2 À0 E [ÀoL-3; ÀOL+3] et À1 E [int(Ào)-5 3; int(Ào)+4 3-] La recherche en boucle fermée standard du codeur G.729 consiste tout d'abord à tester successivement toutes les valeurs entières de la plage (7 valeurs pour Ào et 10 pour ÀI). Une fois sélectionnée la meilleure valeur entière, les différentes fractions (-2/3, -1/3, 1/3, 2/3) sont testées pour déterminer la meilleure selon le critère choisi, en l'espèce celle qui maximise le critère CELP. Pour la sous-trame paire, on notera que la partie fractionnaire n'est recherchée que si la partie entière de Ào est inférieure à 85.
Ici, le premier dictionnaire (dans la définition de l'invention donnée ci-avant) est l'un des deux dictionnaires de vecteurs de gains LTP du codeur G.723.1, le second dictionnaire étant l'un des deux ensembles des valeurs entières de voisinage (ou gigue) autour d'un retard d'ancrage. On comprendra alors que l'invention peut s'appliquer aisément à plus d'un premier dictionnaire, d'une part, et à plus d'un second dictionnaire, d'autre part.
Pour réduire la complexité de la recherche en boucle fermée des valeurs entières au voisinage de la valeur d'ancrage À' (ÀoL ou int(Ào)), on propose, au sens de l'invention, de limiter le nombre de valeurs entières de retard testées par les boucles fermées. En fonction du choix du vecteur de gains LTP fait par le G.723.1, seul un nombre réduit de valeurs est testé. Le retard entier est déterminé dans cet ensemble restreint. Puis, la partie fractionnaire est recherchée de façon classique.
Auparavant, une étude statistique a été réalisée en associant au sein d'un même codeur le modèle multitap du G.723.1 et le modèle monotap du G.729.
to Cette étude a permis, pour chacun des vecteurs de gains des deux dictionnaires LTP multitap du G.723.1, d'établir pour les deux voisinages de recherche en boucle fermée du G.729 (sous-trames paire et impaire) un ordre d'importance des valeurs de voisinage selon leur impact sur la qualité du signal restitué. Cette classification permet de choisir le nombre de valeurs testées selon les contraintes de qualité et de complexité et de limiter, pour chacune des six sous-trames du G.729, l'étendue de la boucle fermée à partir du choix des gains (f3;) fait pour les sous-trames du G.723.1. En utilisant la correspondance entre soustrames du tableau de la figure 8, chaque sous-trame G.729 est associée à une ou deux sous-trames G.723.1. A partir du vecteur de 5 coefficients du vecteur de gains (8i), les valeurs de voisinage de À' sont classées par ordre d'importance décroissante. Le nombre de valeurs testées est alors déterminé en fonction de la complexité visée ou du rapport qualité/complexité visé.
L'association entre sous-trames paires (respectivement impaires) du codeur G.729 et le jeu de paramètres (À,(R;)i) issu du codeur G.723.1 est illustrée sur la figure 7a (respectivement sur la figure 7b).
On notera que pour certaines sous-trames, la valeur d'ancrage À' peut être différente du retard À; du jeu de paramètres (À,((3;)i) déterminé pour la sous-trame G.723.1 associée. Ce point est explicité plus loin où l'on prend en compte la parité des sous-trames (paires ou impaires). Dans une première variante, on peut simplement ne pas tenir compte d'une différence éventuelle. Avantageusement, dans une autre variante, l'ensemble des voisinages ordonnés est modifié en fonction de la différence (Ài-1') et la taille de cet ensemble est éventuellement modifiée. Préférentiellement, on soustrait la différence (1x1-À') à chaque élément de ce voisinage ordonné selon les gains ((3;)i et on considère son intersection avec l'ensemble de définition des voisinages (ici l'intervalle [-3;3] pour les sous-trames paires et l'intervalle [-5, 4] pour les sous-trames impaires, comme on le verra plus loin).
On peut aussi conditionner l'utilisation des voisinages restreints en fonction de to l'écart entre les deux retards. La stratégie peut donc être adaptée à la sous-trame ou à l'écart entre les retards, ou aux deux critères combinés.
Sous-trames paires La recherche doit être effectuée autour du retard en boucle ouverte foi. sur la plage [ÀOL-3; ÀoL+3]. En fonction du (des) vecteurs de gains choisi(s) par le codeur G.723.1, des ordres de l'ensemble des 7 valeurs de gigue (-3, -2, -1, 0, 1, 2, 3) sont déterminés. Pour la sous-trame 0 (respectivement 2) du codeur G.729, il n'y a qu'une seule sous-trame du G.723.1 associée et donc un seul vecteur de gains et, ainsi, un seul ordre. Par contre, deux sous-trames du codeur G.723.1 sont associées à la sous-trame 4 du codeur G.729, comme le montre la figure 7a. Deux ordres de l'ensemble des voisinages sont donc présélectionnés par les vecteurs de gains (13j)2 et ([3;)3. Comme indiqué ci-avant, on peut retenir un seul ordre ou combiner les 2 ordres. Si on ne retient que l'ordre associé au vecteur (13i)3, ou si l'on fixe À2=À3 (où À3 est la valeur d'ancrage), aucun traitement particulier n'est effectué. Autrement, l'ensemble ordonné des 7 voisinages correspondant à ([3;)2 est modifié en fonction de (12-%3). Puis, on complète éventuellement avec l'ensemble ordonné selon (R;)3. Les N premiers éléments selon l'ordre obtenu sont testés, la taille N (N<_7) est définie en fonction de la complexité ou du compromis qualité/complexité visé.
Sous-trames impaires La recherche doit être menée autour de la partie entière À'2p de la sous-trame (paire) précédente sur la plage [À'2p-52/3; À'2p+4213]. Pour ces sous-trames impaires, comme pour la sous- trame paire 4, le retard À du jeu de paramètres (À,(R;)i) de (ou des) sous-trames G.723.1 associé(es) peut être différent de cette- valeur d'ancrage À'2p. En fonction du (des) vecteur(s) -(3;), de gains choisi(s) par le codeur G.723.1, des ordres de l'ensemble des 10 valeurs de gigue sont présélectionnés et modifiés en fonction de la différence (À-À'2p). Soit io N (N<10) le nombre maximal autorisé de valeurs testées.
Pour déterminer la plage de recherche restreinte, on procède préférentiellement comme suit pour chaque sous-trame impaire.
Sous-trame 1: La plage totale de recherche est [À'o-52,3; À'0+4213] . Deux ordres correspondants aux vecteurs de gains ((3;)o et 03;)1 sont présélectionnés. Puis, les voisinages ordonnés sont modifiés en fonction des différences (Ào-À'o) et (Ai-À'0). Ces deux écarts sont limités car: d'une part, le retard À'o en boucle fermée du G.729 est dans le voisinage (dans l'intervalle [-3,3]) du retard en boucle ouverte (ici, pris égal à Ào correspondant au retard en boucle fermée du G.723.1), d'autre part, dans le codeur G.723.1, l'écart entre les retards en boucle fermée d'une sous-trame paire et la sous-trame impaire suivante est limité car la différence (À1-Ào) est dans l'intervalle [-1, 2].
A partir des NI et N2 premiers éléments des voisinages modifiés, on constitue un voisinage ordonné unique de taille N. On sélectionne tout d'abord les valeurs communes aux deux sous-ensembles, puis on complète l'ensemble, si nécessaire, en prenant alternativement la meilleure valeur restante dans les deux sous-ensembles. La recherche en boucle fermée est alors menée dans le sous-ensemble ainsi constitué.
Sous-trame 3: La plage totale de recherche est [X'2-52,3; X'2+42,3] . Un ordre correspondant au vecteur de gains (a;)2 est sélectionné. Puis, le voisinage ordonné est modifié en fonction de la différence (X2-X'2). Contrairement au cas précédent, l'écart entre À2 et X'2 peut être important et l'intersection du voisinage ordonné, modifié en soustrayant (À2-À'2), peut être nulle. Dans ce cas, préférentiellement, la recherche est faite sur toute la plage [X'1-5f/3 h'1+42/3]. L'utilisation de voisinages ordonnés peut aussi être conditionnée à un seuil sur Ih2- À'21. Par exemple, les voisinages ne sont restreints que si 1X2- X'2l<3; io autrement toute la plage [-5,4] est explorée. Le choix de cette variante peut aussi dépendre de la complexité autorisée.
Sous-trame 5: La plage totale de recherche est [X'4-52/3; h'4+42/3] . Un ordre correspondant au vecteur de gains (8;)3 est sélectionné. Puis, le voisinage ordonné est modifié en fonction de la différence (X3-X'4). Comme dans le cas de la sous-trame 1, cet écart est limité. En effet, le retard en boucle fermée du G.729, À'2, est dans le voisinage ([-3,3]) du retard en boucle ouverte (ici pris égal au retard en boucle fermée À3 du G.723.1). On explore les N premières valeurs de l'ensemble ordonné modifié.
La solution présentée ici permet une très forte réduction de la complexité de l'analyse LTP du codage G.729. Par rapport à l'exploration des voisinages complets, l'invention permet de ne tester que 60% (respectivement 40 %) des valeurs de voisinage si le vecteur de gains du codeur G.723.1 est dans le dictionnaire à 170 entrées (respectivement 85 entrées).
Troisième exemple de réalisation: détermination des paramètres LTP multitap du codeur G.723.1 à 5,3 kbit/s à partir des paramètres LTP multitap du codeur G.723.1 à 6,3 kbit/s Les deux modèles sont très proches et ne se distinguent pratiquement que par le choix du dictionnaire des vecteurs de gains LTP multitap.
Détermination du retard du filtre multitap De façon similaire à la détermination du retard d'un monotap décrit ci-avant à partir des paramètres LTP multitap, on peut utiliser le retard des sous-trames paires, en tant que retard en boucle -ouverte de la super sous-trame, puis restreindre la plage de variation du retard en boucle fermée du mode à 5,3 kbit/s en fonction du vecteur de cinq coefficients du filtre choisi par le mode à 6,3 kbit/s. Préférentiellement, aucun traitement autre qu'une simple recopie io du retard n'est nécessaire. Ainsi, chaque sous- trame du 5,3 kbit/s adopte pour retard celui que le mode 6,3 kbit/s a choisi pour la même sous-trame.
Détermination des coefficients du filtre multitap Ici, on a un seul second dictionnaire qui est le dictionnaire à 170 vecteurs de cinq coefficients du mode à 5,3 kbit/s tandis qu'il faut considérer deux "premiers dictionnaires", selon la terminologie utilisée dans la définition générale de l'invention. Ces deux premiers dictionnaires sont les deux dictionnaires de vecteurs de gains utilisés par le mode à 6,3 kbit/s du G.723.1.
Dans cet exemple de réalisation, on cherche donc à déterminer pour le mode à 5,3 kbit/s un vecteur de gains dans le dictionnaire à 170 entrées à partir d'un vecteur de gains sélectionné par le mode 6,3 kbit/s dans l'un des deux dictionnaires (à 170 ou à 85 vecteurs).
L'un des deux cas peut sembler trivial car si le mode 6,3 kbit/s utilise pour la sous-trame courante le même dictionnaire (le dictionnaire à 170 vecteurs), on peut être tenté de choisir pour le mode 5,3 kbit/s le même vecteur que le mode à 6,3 kbit/s. Néanmoins, cette approche apporte une dégradation sensible du signal. En effet, bien que la modélisation LTP soit identique pour les deux modes (même dictionnaires de retards et de vecteurs de 5 gains), il faut garder à l'esprit que le reste du processus de codage n'est pas le même. Le filtrage LTP n'est donc pas appliqué au même signal et il faut alors élargir le choix de vecteurs de coefficients du filtre pour le mode 5,3 kbit/s.
A cet effet, une étude a été réalisée sur les deux dictionnaires pour associer à chacun des vecteurs, un classement des vecteurs du dictionnaire à 170 5 vecteurs.
Ainsi, pour sélectionner un vecteur de gains pour le mode 5,3 kbit/s, il est préféré, à partir du choix du vecteur de gains fait par le mode 6,3 kbit/s, de n'explorer dans le grand dictionnaire (170 vecteurs) qu'un ensemble restreint aux N premiers vecteurs du classement associé au vecteur de gain choisi par to le mode 6,3 kbit/s. La taille N dépend de la complexité ou de la qualité ou du compromis/qualité complexité désiré. Dans ce sous-ensemble, on sélectionne alors le vecteur de gains qui maximise un critère, préférentiellement le critère CELP, comme décrit ciavant.

Claims (29)

Revendications
1. Procédé de codage selon un second format, à partir d'informations obtenues par la mise en oeuvre d'au moins une étape de codage selon un premier format, les premier et second formats mettant en oeuvre, notamment pour le codage d'un signal de parole, une étape de recherche de paramètres de prédiction à long terme LTP par exploration d'au moins un dictionnaire comportant des paramètres candidats, l'un au moins des premier et second format de codage utilisant un filtrage à plusieurs coefficients pour une io recherche fine des paramètres LTP, caractérisé en ce qu'il comporte les étapes suivantes: a) définir des ordres d'au moins un dictionnaire qu'utilise le second format de codage, b) récupérer une information a priori, obtenue suite à la détermination des paramètres LTP au cours du codage selon le premier format, pour sélectionner au moins un ordre dudit dictionnaire, c) appliquer l'ordre sélectionné aux candidats dudit dictionnaire pour choisir un nombre limité de premiers candidats, et d) pour effectuer le second codage, mener la recherche LTP uniquement parmi ledit nombre limité de candidats.
2. Procédé selon la revendication 1, dans lequel le premier format de codage utilise un premier dictionnaire, caractérisé en ce que ladite information a priori est une information de partition du premier dictionnaire concernant une classe de la partition à laquelle appartient un paramètre LTP obtenu au cours du codage selon le premier format.
3. Procédé selon la revendication 2, caractérisé en ce que l'on prévoit initialement une partition élémentaire du premier dictionnaire comportant N éléments, en N classes disjointes de taille 1.
4. Procédé selon la revendication 2, dans lequel le premier format de codage utilise un premier dictionnaire et le second format de codage utilise un second dictionnaire, caractérisé en ce que l'on prévoit une partition du premier dictionnaire en classes non disjointes, de sorte qu'un même élément peut être associé à plus d'un ordre du second dictionnaire.
5. Procédé selon l'une des revendications 2 à 4, dans lequel le premier format de codage utilise un premier dictionnaire et le second format de codage utilise un second dictionnaire, caractérisé en ce que l'on prévoit un regroupement d'ordres similaires pour modifier dynamiquement la partition initiale du premier dictionnaire et, de là, le nombre d'ordres du second dictionnaire.
6. Procédé selon la revendication 5, caractérisé en ce que l'on prévoit en outre une opération consistant à recalculer successivement les ordres du second dictionnaire, une fois regroupés, et en ce que l'on modifie dynamiquement la partition initiale du premier dictionnaire et/ou les ordres ainsi regroupés.
7. Procédé selon l'une des revendications 2 à 6, dans lequel le premier format de codage utilise un premier dictionnaire et le second format de codage utilise un second dictionnaire, caractérisé en ce que, pour chacun des ordres du second dictionnaire, un nombre maximal d'éléments du second dictionnaire à retenir est choisi en fonction des classes du premier dictionnaire et/ou des ordres du second dictionnaire, pour limiter une ressource en mémoire utilisée pour le stockage des ordres du second dictionnaire.
8. Procédé selon l'une des revendications précédentes, caractérisé en ce que ledit nombre limité de candidats est choisi en fonction d'un compromis entre qualité et complexité du second codage.
9. Procédé selon la revendication 8, dans lequel un signal d'entrée à coder est traité par blocs de données, caractérisé en ce que ledit compromis est fixé dynamiquement, à chaque bloc de données à traiter en fonction de paramètres du premier format de codage et/ou de caractéristiques du signal à lo coder.
10. Procédé selon la revendication 9, caractérisé en ce que ledit compromis est fixé dynamiquement en fonction de sous-trames LTP que comporte chaque bloc de données.
11. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une étape initiale consistant à mener une étude statistique et/ou analytique, en fonction de jeux successifs de paramètres LTP selon le premier format de codage, pour déterminer un nombre d'ordres et des ordres appropriés dans un dictionnaire qu'utilise le second format de codage.
12. Procédé selon l'une des revendications 2 à 11, dans lequel un signal d'entrée à coder est traité par blocs de données comportant chacun, pour le premier format de codage, des premières sous-trames LTP et, pour le second format de codage, des secondes sous-trames LTP, caractérisé en ce que, pour des premières et secondes sous-trames de durée identique, à chaque sous-trame courante du deuxième format de codage correspond une seule sous-trame du premier format de codage, et en ce que: le premier format de codage sélectionne un premier jeu de paramètres LTP pour la sous-trame courante, à partir de la partition par classes du dictionnaire associé à l'un des paramètres LTP du premier format, on sélectionne un ordre d'exploration du dictionnaire du second format en choisissant un ordre associé à la classe de l'élément dudit premier jeu, et suivant l'ordre ainsi sélectionné, un nombre limité de premiers candidats du dictionnaire du second format est exploré.
io
13. Procédé selon l'une des revendications 2 à 11, dans lequel un signal d'entrée à coder est traité par blocs de données comportant chacun, pour le premier format de codage, des premières sous-trames LTP et, pour le second format de codage, des secondes sous-trames LTP, caractérisé en ce que, pour des premières et secondes sous-trames de durées différentes: - le premier format de codage sélectionne une pluralité de jeux de paramètres LTP, pour des premières sous-trames correspondant sensiblement une seconde sous-trame courante, à partir de la partition par classes du dictionnaire associé à l'un des paramètres LTP du premier format, on présélectionne des ordres d'exploration du dictionnaire du second format en choisissant les ordres associés aux classes des éléments desdits jeux de paramètres LTP, à partir de la présélection desdits ordres, on détermine au moins un ordre préféré, et ledit dictionnaire du second format est exploré suivant l'ordre préféré, en se limitant à ses premiers éléments.
14. Procédé selon la revendication 13, caractérisé en ce que l'ordre préféré est celui le plus présélectionné parmi les ordres présélectionnés pour une seconde sous-trame courante.
15. Procédé selon la revendication 13, caractérisé en ce que l'ordre préféré est celui qui correspond à la sous-trame du premier format qui couvre le plus une sous-trame courante du deuxième format.
16. Procédé selon la revendication 13, caractérisé en ce que l'on retient une to combinaison d'une pluralité d'ordres du dictionnaire du second format selon les étapes suivantes, pour obtenir un ordre dynamique de N éléments du dictionnaire du second format: on présélectionne K ordres, on examine le premier élément de chacun des K ordres en éliminant les 15 redondances éventuelles, pour obtenir KI éléments, avec K1<_ K, on ajoute K2 éléments choisis dans un ensemble constitué par le deuxième élément des K ordres, en éliminant les redondances éventuelles, et tels que K2< K et K2< N-Kl, et l'on répète sensiblement ces étapes jusqu'à obtenir lesdits N éléments.
17. Procédé selon la revendication 13, caractérisé en ce que l'on retient une combinaison d'une pluralité d'ordres du dictionnaire du second format selon les étapes suivantes, pour obtenir un ordre dynamique de N éléments du dictionnaire du second format: on constitue K sous- ensembles de classements en présélectionnant les Ni premiers éléments, avec Ni sN, de chaque classement C;, avec i compris entre 1 et K, 25 on choisit les Ni éléments de sorte ENi N, on sélectionne tous les éléments présents dans les K sous-ensembles, et on répète cette dernière étape avec une sélection des éléments présents dans K-i sous-ensembles, où i augmente par récurrence jusqu'à retenir N éléments.
18. Procédé selon l'une des revendications précédentes, dans lequel le premier format de codage utilise un filtrage à coefficient unique pour des premières sous-trames LTP tandis que le second format de codage utilise un to filtrage à plusieurs coefficients pour des secondes sous-trames LTP, caractérisé en ce que: pour chaque première sous-trame, par la mise en oeuvre du premier format de codage, on détermine un couple (Àe,Re) de premiers paramètres du filtre LTP à coefficient unique, pour le codage d'une seconde sous-trame courante, on détermine une pluralité de couples (Às,(F3;)s) de paramètres du filtre LTP à plusieurs coefficients sur la base du jeu de paramètres du premier format (Àe,Re), avec: É une détermination d'un retard LTP Às correspondant préférentiellement à celui déterminé par le premier format de codage sur une première sous-trame qui recouvre le plus la seconde sous-trame courante, É une détermination d'un vecteur de gains ((3;)s pour la seconde sous-trame courante à partir de l'un au moins des gains 3e des premières sous-trames, par la mise en oeuvre des étapes b), c) et d) où les ordres du dictionnaire du second format correspondent à un ensemble de vecteurs de gains (8;)s de la seconde sous-trame.
19. Procédé selon la revendication 18, caractérisé en ce que, pour le codage d'une seconde sous-trame courante: à partir de premiers gains LTP du premier format (F3e) choisis pour une ou plusieurs premières sous-trames correspondant à une seconde sous-trame courante, les ordres du dictionnaire du deuxième format, associés à des classes des premiers gains LTP, sont présélectionnés, un seul de ces ordres est constitué, de préférence dynamiquement, à partir desdits ordres présélectionnés pour ladite seconde sous-trame courante, et - N premiers vecteurs de seconds gains, déterminés par l'ordre constitué, 10 sont testés pour sélectionner, selon un critère choisi, un meilleur vecteur de gains à associer à la seconde sous-trame.
20. Procédé selon l'une des revendications 1 à 17, dans lequel le second format de codage utilise un filtrage à coefficient unique pour des secondes sous-trames LTP tandis que le premier format de codage utilise un filtrage à plusieurs coefficients pour des premières sous-trames LTP, caractérisé en ce que: pour chaque première sous-trame, par la mise en oeuvre du premier format de codage, on détermine un premier jeu de paramètres LTP Àe,(Q;)e correspondant à un couple comportant un retard LTP Àe et un vecteur de gains associés (/3, )e du filtre LTP à plusieurs coefficients, on effectue une partition d'un dictionnaire des vecteurs de gains (8;)e du premier format, pour le codage d'une seconde sous-trame courante par le second format, on détermine des ordres d'un dictionnaire du second format pour des premières sous-trames correspondant à la seconde sous-trame courante, ledit dictionnaire du second format étant constitué d'un ensemble de valeurs de gigue et lesdits ordres de ce dictionnaire étant associés à la partition du dictionnaire du premier format, on détermine un ordre des valeurs de gigue et on explore successivement des valeurs de retards LTP pour le second format, sur les valeurs de gigue ainsi ordonnées et autour d'un ou plusieurs retards d'ancrage déterminés en fonction des retards Àe sur les premières sous- trames.
21. Procédé selon la revendication 20, caractérisé en ce que l'on teste différentes valeurs de retards LTP selon un critère choisi.
22. Procédé selon l'une des revendications 20 et 21, caractérisé en ce que lesdites valeurs de gigue ainsi ordonnées sont d'amplitudes de taille croissante en fonction de l'exploration.
23. Procédé selon l'une des revendications 1 à 17, dans lequel le premier format de codage utilise un filtrage à plusieurs coefficients sur des première sous-trames LTP et le second format de codage utilise un filtrage à plusieurs coefficients sur des secondes sous-trames LTP, caractérisé en ce que: à partir d'au moins un premier jeu de paramètres sélectionné par le premier format et incluant au moins un vecteur de gains (j3i)e déterminé pour au moins une première sous-trame, on mène une partition du dictionnaire du premier format correspondant à un dictionnaire des vecteurs de gains du premier format ((.3i)ei - on en déduit des ordres du dictionnaire du second format correspondant à 25 un dictionnaire des vecteurs de gains (3;)s du second format, lesdits ordres étant associés à ladite partition, à partir de vecteurs de gains ((3;)e choisis par le premier format pour des premières sous-trames qui couvrent sensiblement la seconde sous-trame courante, des ordres du deuxième dictionnaire associés à des classes de ladite partition sont présélectionnés, on retient l'un des ordres présélectionnés, on détermine plusieurs vecteurs de gains à associer à la seconde sous-5 trame courante, en fonction de l'ordre retenu, et on sélectionne, par tests sur lesdits plusieurs vecteurs de gain, le meilleur vecteur de gain selon un critère choisi.
24. Procédé selon l'une des revendications 19, 21 et 23, caractérisé en ce que to le critère choisi est le critère CELP.
25. Dispositif de codage selon un second format, agencé pour utiliser des informations de codage obtenues par la mise en oeuvre d'un codage selon un premier format, les premier et second formats mettant en oeuvre, notamment pour le codage d'un signal de parole, une recherche de paramètres de prédiction à long terme LTP par exploration d'un dictionnaire comportant des paramètres candidats, l'un au moins des premier et second format de codage utilisant un filtrage à plusieurs coefficients pour une recherche fine des paramètres LTP, caractérisé en ce qu'il comporte: une mémoire stockant une table de correspondance définissant, en fonction de paramètres LTP déterminés par le premier format de codage, des ordres d'un dictionnaire qu'utilise le second format de codage, des moyens pour récupérer un signal donnant au moins une information a priori sur des paramètres LTP au cours d'un codage selon le premier 25 format, - des moyens actifs sur réception dudit signal pour consulter ladite table de correspondance et sélectionner au moins un ordre dudit dictionnaire du second format, des moyens de calcul pour: É ordonner ledit dictionnaire du second format selon l'ordre sélectionné, en vue de choisir un nombre limité de premiers candidats dans le dictionnaire, et É poursuivre le codage selon le second format, en menant la recherche LTP uniquement parmi ce nombre limité de candidats.
26. Système de codage mettant en oeuvre au moins un premier et un second format de codage, caractérisé en ce qu'il comporte au moins un dispositif de io codage selon le premier format et un dispositif de codage selon la revendication 25, appliquant ledit second format.
27. Système de codage selon la revendication 26, caractérisé en ce que le dispositif de codage selon le premier format et le dispositif de codage selon le is second format sont mis en cascade, pour un transcodage.
28. Système de codage selon la revendication 26, caractérisé en ce que le dispositif de codage selon le premier format et le dispositif de codage selon le second format sont mis en parallèle, pour un codage multiple.
29. Produit programme d'ordinateur, stocké dans une mémoire d'une unité de traitement ou sur un support amovible destiné à coopérer avec un lecteur de ladite unité de traitement ou téléchargeable d'un site distant, caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre de tout ou partie des étapes du procédé selon l'une des revendications 1 à 24.
FR0500272A 2005-01-11 2005-01-11 Procede et dispositif de codage optimise entre deux modeles de prediction a long terme Pending FR2880724A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0500272A FR2880724A1 (fr) 2005-01-11 2005-01-11 Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
AT06709052T ATE515019T1 (de) 2005-01-11 2006-01-09 Verfahren und vorrichtung zur ausführung einer optimalizierten audiokodierung zwischen zwei langzeitvorhersagemodellen
EP06709052A EP1836699B1 (fr) 2005-01-11 2006-01-09 Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme
PCT/FR2006/000038 WO2006075078A1 (fr) 2005-01-11 2006-01-09 Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
CN200680003179XA CN101124625B (zh) 2005-01-11 2006-01-09 实现介于两种长时预测模型之间最优编码的方法和装置
US11/795,085 US8670982B2 (en) 2005-01-11 2006-01-09 Method and device for carrying out optimal coding between two long-term prediction models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0500272A FR2880724A1 (fr) 2005-01-11 2005-01-11 Procede et dispositif de codage optimise entre deux modeles de prediction a long terme

Publications (1)

Publication Number Publication Date
FR2880724A1 true FR2880724A1 (fr) 2006-07-14

Family

ID=34954835

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0500272A Pending FR2880724A1 (fr) 2005-01-11 2005-01-11 Procede et dispositif de codage optimise entre deux modeles de prediction a long terme

Country Status (6)

Country Link
US (1) US8670982B2 (fr)
EP (1) EP1836699B1 (fr)
CN (1) CN101124625B (fr)
AT (1) ATE515019T1 (fr)
FR (1) FR2880724A1 (fr)
WO (1) WO2006075078A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2839969A1 (fr) 2002-05-27 2003-11-28 Jean Couturier Liant hydraulique resultant du melange d'un liant sulfatique et d'un liant a caractere pouzzolanique

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912700B2 (en) * 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US7809719B2 (en) * 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
US8521520B2 (en) * 2010-02-03 2013-08-27 General Electric Company Handoffs between different voice encoder systems
CN103138874B (zh) * 2011-11-23 2016-07-06 中国移动通信集团公司 一种编解码动态协商方法及设备
US9406307B2 (en) * 2012-08-19 2016-08-02 The Regents Of The University Of California Method and apparatus for polyphonic audio signal prediction in coding and networking systems
US9830920B2 (en) 2012-08-19 2017-11-28 The Regents Of The University Of California Method and apparatus for polyphonic audio signal prediction in coding and networking systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058407A2 (fr) * 2002-01-08 2003-07-17 Dilithium Networks Pty Limited Procede et systeme de transcodage entre des codes de la parole de type celp
WO2005066936A1 (fr) * 2003-12-10 2005-07-21 France Telecom Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260009B1 (en) * 1999-02-12 2001-07-10 Qualcomm Incorporated CELP-based to CELP-based vocoder packet translation
US6687668B2 (en) * 1999-12-31 2004-02-03 C & S Technology Co., Ltd. Method for improvement of G.723.1 processing time and speech quality and for reduction of bit rate in CELP vocoder and CELP vococer using the same
JP2002202799A (ja) * 2000-10-30 2002-07-19 Fujitsu Ltd 音声符号変換装置
JP2002229599A (ja) * 2001-02-02 2002-08-16 Nec Corp 音声符号列の変換装置および変換方法
JP4231987B2 (ja) * 2001-06-15 2009-03-04 日本電気株式会社 音声符号化復号方式間の符号変換方法、その装置、そのプログラム及び記憶媒体
US6829579B2 (en) * 2002-01-08 2004-12-07 Dilithium Networks, Inc. Transcoding method and system between CELP-based speech codes
JP4263412B2 (ja) * 2002-01-29 2009-05-13 富士通株式会社 音声符号変換方法
CA2388439A1 (fr) * 2002-05-31 2003-11-30 Voiceage Corporation Methode et dispositif de dissimulation d'effacement de cadres dans des codecs de la parole a prevision lineaire
US20040057521A1 (en) * 2002-07-17 2004-03-25 Macchina Pty Ltd. Method and apparatus for transcoding between hybrid video CODEC bitstreams
US7519532B2 (en) * 2003-09-29 2009-04-14 Texas Instruments Incorporated Transcoding EVRC to G.729ab
US7792670B2 (en) * 2003-12-19 2010-09-07 Motorola, Inc. Method and apparatus for speech coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058407A2 (fr) * 2002-01-08 2003-07-17 Dilithium Networks Pty Limited Procede et systeme de transcodage entre des codes de la parole de type celp
WO2005066936A1 (fr) * 2003-12-10 2005-07-21 France Telecom Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GHENANIA M ET AL: "TRANSCODAGE INTELLIGENT A FAIBLE COMPLEXITE EXTRE LES CODEURS UIT-T G.729 ET 3GPP NB-AMR (12.2 KBIT/S)", CORESA. COMPRESSION ET REPRESENTATION DES SIGNAUX AUDIOVISUELS, 25 May 2004 (2004-05-25), pages 85 - 88, XP001199662 *
JIN-KYU CHOI ET AL: "Improvement issues on transcoding algorithms: for the flexible usage to the various pairs of speech codec", 2004 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, vol. 1, 17 May 2004 (2004-05-17) - 21 May 2004 (2004-05-21), MONTREAL, QUE., CANADA, pages 269 - 272, XP002345813, ISBN: 0-7803-8484-9 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2839969A1 (fr) 2002-05-27 2003-11-28 Jean Couturier Liant hydraulique resultant du melange d'un liant sulfatique et d'un liant a caractere pouzzolanique

Also Published As

Publication number Publication date
ATE515019T1 (de) 2011-07-15
US8670982B2 (en) 2014-03-11
EP1836699B1 (fr) 2011-06-29
EP1836699A1 (fr) 2007-09-26
CN101124625A (zh) 2008-02-13
US20080306732A1 (en) 2008-12-11
CN101124625B (zh) 2012-02-29
WO2006075078A1 (fr) 2006-07-20

Similar Documents

Publication Publication Date Title
EP1692689B1 (fr) Procede de codage multiple optimise
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP0749626B1 (fr) Procede de codage de parole a prediction lineaire et excitation par codes algebriques
EP1994531B1 (fr) Codage ou decodage perfectionnes d&#39;un signal audionumerique, en technique celp
EP1692687B1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
EP1836699B1 (fr) Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme
JP2003122400A (ja) 低ビットレートcelp符号化のための連続タイムワーピングに基づく信号の修正
EP0906613B1 (fr) Procede et dispositif de codage d&#39;un signal audiofrequence par analyse lpc &#34;avant&#34; et &#34;arriere&#34;
EP0428445B1 (fr) Procédé et dispositif de codage de filtres prédicteurs de vocodeurs très bas débit
EP2795618B1 (fr) Procédé de détection d&#39;une bande de fréquence prédéterminée dans un signal de données audio, dispositif de détection et programme d&#39;ordinateur correspondant
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d&#39;une excitation aupres d&#39;un decodeur, en absence d&#39;information
WO2006114494A1 (fr) Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques
EP1197952B1 (fr) Procédé de codage de la prosodie pour un codeur de parole à très bas débit
EP4487323A1 (fr) Codage et décodage optimisé d&#39;un signal audio utilisant un auto-encodeur à base de réseau de neurones
EP2589045B1 (fr) Codage/décodage prédictif linéaire adaptatif
FR2980620A1 (fr) Traitement d&#39;amelioration de la qualite des signaux audiofrequences decodes
WO2002029786A1 (fr) Procede et dispositif de codage segmental d&#39;un signal audio