FR2796194A1 - Procedes et dispositifs d'analyse et de synthese audio - Google Patents

Procedes et dispositifs d'analyse et de synthese audio Download PDF

Info

Publication number
FR2796194A1
FR2796194A1 FR9908638A FR9908638A FR2796194A1 FR 2796194 A1 FR2796194 A1 FR 2796194A1 FR 9908638 A FR9908638 A FR 9908638A FR 9908638 A FR9908638 A FR 9908638A FR 2796194 A1 FR2796194 A1 FR 2796194A1
Authority
FR
France
Prior art keywords
frames
synthesis
samples
module
audio signal
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.)
Granted
Application number
FR9908638A
Other languages
English (en)
Other versions
FR2796194B1 (fr
Inventor
Francois Capman
Carlo Murgia
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.)
Nortel Networks France SAS
Original Assignee
Matra Nortel Communications SAS
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 Matra Nortel Communications SAS filed Critical Matra Nortel Communications SAS
Priority to FR9908638A priority Critical patent/FR2796194B1/fr
Priority to AT00953223T priority patent/ATE316284T1/de
Priority to AU65751/00A priority patent/AU6575100A/en
Priority to EP00953223A priority patent/EP1194923B1/fr
Priority to DE60025615T priority patent/DE60025615D1/de
Priority to PCT/FR2000/001904 priority patent/WO2001003116A1/fr
Publication of FR2796194A1 publication Critical patent/FR2796194A1/fr
Application granted granted Critical
Publication of FR2796194B1 publication Critical patent/FR2796194B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • 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
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Investigating Or Analysing Materials By The Use Of Chemical Reactions (AREA)
  • Solid-Sorbent Or Filter-Aiding Compositions (AREA)

Abstract

Dans l'analyse du signal audio (x), on pondère les échantillons de chaque trame de N échantillons par une fenêtre d'analyse de type Hamming, Hanning, Kaiser ou analogue, on calcule un spectre du signal audio en transformant chaque trame d'échantillons pondérés dans le domaine fréquentiel, et on traite le spectre du signal audio pour délivrer des paramètres de synthèse d'un signal dérivé du signal audio analysé. Les trames successives pour lesquelles on délivre des jeux complets de paramètres de synthèse présentent avantageusement des recouvrements mutuels de moins de N/ 2 échantillons. A la synthèse, on récupère des trames avec une interpolation éventuelle, et on reforme le signal par une somme à recouvrement des trames, après avoir procédé à une pondération appropriée des échantillons.

Description

PROCEDES ET DISPOSITIFS D'ANALYSE ET DE SYNTHESE AUDIO
La présente invention concerne l'analyse et la synthèse des signaux
audio, à partir de représentations de ces signaux dans domaine spectral.
Elle s'applique en particulier, mais non exclusivement, au codage de la parole, en bande étroite ou en bande élargie, dans diverses gammes de débit de codage. Parmi les autres domaines d'application, on peut citer le débruitage
par soustraction spectrale (voir EP-A-0 534 837 ou WO99/14739).
Dans les procédés d'analyse en question, le spectre du signal est obtenu en transformant des trames successives vers le domaine fréquentiel. La transformation employée est le plus souvent la transformée de Fourier rapide (TFR); mais d'autres transformées connues sont utilisables. Dans le cas fréquent d'un échantillonnage du signal à 8 kHz, le nombre N d'échantillons par trames est typiquement de l'ordre de 100 à 500, ce qui représente des trames de quelques dizaines de millisecondes. Pour bénéficier de la résolution maximale en fréquence, la TFR est effectuée sur 2N points, N échantillons à
zéro étant ajoutés aux N échantillons de la trame.
Le spectre obtenu par transformée de Fourier de la trame de signal est la convolution du spectre réel du signal par la transformée de Fourier de la fenêtre d'analyse du signal. Cette fenêtre d'analyse, qui pondère les échantillons de chaque trame, est nécessaire à la prise en compte de la durée
finie de la trame. Si la trame de signal est directement soumise à la TFR, c'est-
à-dire si on utilise une fenêtre d'analyse rectangulaire, le spectre obtenu est perturbé par les pics secondaires de la TFR de la fenêtre d'analyse. Pour limiter cet inconvénient, qui est particulièrement sensible lorsque des paramètres représentant le signal ou le bruit doivent être extraits des spectres,
on a recours à des fenêtres ayant de meilleures propriétés spectrales, c'est-à-
dire des fonctions de pondération dont le support est limité à N échantillons et dont la transformée de Fourier a son énergie concentrée dans un pic étroit avec une forte atténuation des pics secondaires. Les plus courantes de ces
fenêtres sont les fenêtres de Hamming, de Hanning et de Kaiser.
Dans la méthode d'analyse et de synthèse dite OLA (" Overlap-And-
Add "), les trames successives présentent des recouvrements mutuels de % (N/2 échantillons). Comme les fenêtres d'analyse couramment utilisées vérifient la propriété fA(i+N/2) +fA(i) = 1, la synthèse peut être effectuée simplement en effectuant la somme à recouvrement des trames de N 2- échantillons successivement calculées par transformée de Fourier inverse des spectres. Dans le but d'affiner la représentation spectrale, certaines méthodes dites WOLA (" Weighted OLA ") utilisent à l'analyse des trames dont les recouvrements mutuels sont de plus de 50 %. A la synthèse, il est nécessaire de repondérer les échantillons des trames avant de les sommer. Ces méthodes augmentent la complexité de l'analyse et de la synthèse. Dans des applications
de codage, elles augmentent également le débit de transmission requis.
Un but de la présente invention est de proposer un schéma d'analyse et de synthèse de signaux audio qui permette de limiter la cadence des trames d'analyse, tout en utilisant des fenêtres d'analyse ayant de bonnes propriétés spectrales. L'invention propose ainsi un procédé d'analyse d'un signal audio traité par trames successives de N échantillons, dans lequel on pondère les échantillons de chaque trame par une fenêtre d'analyse de type Hamming, Hanning, Kaiser ou analogue, on calcule un spectre du signal audio en transformant chaque trame d'échantillons pondérés dans le domaine fréquentiel, et on traite le spectre du signal audio pour délivrer des paramètres de synthèse d'un signal dérivé du signal audio analysé. Suivant l'invention, les trames successives pour lesquelles on délivre des jeux complets de paramètres de synthèse présentent des recouvrements mutuels de moins de
N/2 échantillons, soit moins de 50 %.
Les trames pour lesquelles ne sont pas délivrés des jeux complets de
paramètres de synthèse peuvent ne faire l'objet d'aucune analyse spectrale.
En variante, une analyse peut néanmoins être effectuée pour ces trames, afin de délivrer des jeux incomplets de paramètres de synthèse incluant des données représentant une erreur d'interpolation d'au moins un des paramètres de synthèse et/ou des données représentant un filtre d'interpolation d'au moins
un des paramètres de synthèse.
Dans un premier domaine d'application du procédé, le traitement du spectre du signal audio comporte une extraction de paramètres de codage en vue de la transmission et/ou du stockage du signal audio codé. Dans un second domaine d'application du procédé, le traitement du spectre du signal audio comporte un débruitage par soustraction spectrale. D'autres domaines
d'application peuvent encore être envisagés parmi les traitements audio.
Un second aspect de l'invention se rapporte à un procédé de synthèse 3d'un signal audio, dans lequel on obtient des estimations spectrales successives correspondant respectivement à des trames de N échantillons du signal audio pondérés par une fenêtre d'analyse, les trames successives présentant des recouvrements mutuels de L échantillons, on évalue chaque trame du signal audio en transformant les estimations spectrales dans le domaine temporel, et on combine les trames évaluées pour former le signal synthétisé. Selon ce procédé, on modifie chaque trame évaluée en lui appliquant un traitement correspondant à une division par ladite fenêtre d'analyse et à une multiplication par une fenêtre de synthèse, et on forme le signal synthétisé comme une somme à recouvrement des trames modifiées. Le nombre L étant plus petit que N/2 et les échantillons d'une trame ayant des rangs i numérotés de 0 à N-1, la fenêtre de synthèse fs(i) vérifie fs(N-L+i) + fs(i) = A pour 0 < i < L, et est égale à A pour L < i < N-L, A étant
une constante positive.
Dans une variante du procédé de synthèse selon l'invention, on évalue un ensemble de trames recouvrantes successives de N échantillons du signal audio pondérés par une fenêtre d'analyse, en transformant dans le domaine temporel des estimations spectrales correspondant respectivement auxdites
trames, et on combine les trames évaluées pour former le signal synthétisé.
Pour un sous-ensemble des trames évaluées, les estimations spectrales sont obtenues en traitant des paramètres de synthèse respectivement associés aux trames dudit sous-ensemble tandis que, pour les trames ne faisant pas partie du sous-ensemble, les estimations spectrales sont obtenues avec une interpolation d'une partie au moins des paramètres de synthèse. Les trames successives dudit sous-ensemble présentent des décalages temporels mutuels de M échantillons, le nombre M étant plus grand que N/2, tandis que les trames successives dudit ensemble présentent des décalages temporels mutuels de M/p échantillons, p étant un entier plus grand que 1. On modifie chaque trame évaluée en lui appliquant un traitement correspondant à une division par ladite fenêtre d'analyse et à une multiplication par une fenêtre de synthèse, et on forme le signal synthétisé comme une somme à recouvrement des trames modifiées. Les échantillons d'une trame ayant des rangs i numérotés de 0 à N-1, la fenêtre de synthèse fs(i) a un support limité aux rangs i allant de N/2 - M/p à N/2 + M/p et vérifie fs(i) + fs(i+M/p) = A pour N/2 - M/p < i < N/2, 4 -
A étant une constante positive.
L'invention propose également des dispositifs de traitement audio comprenant des moyens pour la mise en oeuvre des procédés d'analyse et de
synthèse ci-dessus.
D'autres particularités et avantages de la présente invention
apparaîtront dans la description ci-après d'exemples de réalisation non
limitatifs, en référence aux dessins annexés, dans lesquels: - la figure 1 est un schéma synoptique d'un codeur audio selon l'invention; - les figures 2 et 3 sont des diagrammes illustrant la formation des trames de signal audio dans le codeur de la figure 1; - les figures 4 et 5 sont des graphiques montrant un exemple de spectre du signal audio et illustrant l'extraction des enveloppes supérieure et inférieure de ce spectre; -la figure 6 est un schéma synoptique d'un exemple de moyens de quantification utilisables dans le codeur de la figure 1; - la figure 7 est un schéma synoptique de moyens utilisables pour extraire
des paramètres se rapportant à la phase de la composante non-
harmonique dans une variante du codeur de la figure 1; - la figure 8 est un schéma synoptique d'un décodeur audio correspondant au codeur de la figure 1; - la figure 9 est un organigramme d'un exemple de procédure de lissage de coefficients spectraux et d'extraction de phases minimales mise en oeuvre dans le décodeur de la figure 8; -la figure 10 est un schéma synoptique de modules d'analyse et de mixage spectral de composantes harmonique et non-harmonique du signal audio; -les figures 11 à 13 sont des graphiques montrant des exemples de fonctions non-linéaires utilisables dans le module d'analyse de la figure ; - les figures 14 et 15 sont des diagrammes illustrant une façon de procéder à la synthèse temporelle des trames de signal dans le décodeur de la figure 8; -les figures 16 et 17 sont des graphiques montrant des fonctions de fenêtrage utilisables dans la synthèse des trames suivant les figures 14 et 15; - les figures 18 et 19 sont des schémas synoptiques de moyens d'interpolation utilisables dans une variante de réalisation du codeur et du décodeur; - la figure 20 est un schéma synoptique de moyens d'interpolation utilisables dans une autre variante de réalisation du codeur; et - les figures 21 et 22 sont des diagrammes illustrant une autre façon de procéder à la synthèse temporelle des trames de signal dans le décodeur
de la figure 8, à l'aide d'une interpolation de paramètres.
Le codeur et le décodeur décrits ci-après sont des circuits numériques qui peuvent, comme il est usuel dans le domaine du traitement des signaux audio, être réalisés par programmation d'un processeur de signal numérique
(DSP) ou d'un circuit intégré d'application spécifique (ASIC).
Le codeur audio représenté sur la figure 1 traite un signal audio d'entrée x qui, dans l'exemple non-limitatif considéré ci-après, est un signal de parole. Le signal x est disponible sous forme numérique, par exemple à une fréquence d'échantillonnage Fe de 8 kHz. Il est par exemple délivré par un convertisseur analogique-numérique traitant le signal de sortie amplifié d'un microphone. Le signal d'entrée x peut également être formé à partir d'une autre
version, analogique ou numérique, codée ou non, du signal de parole.
Le codeur comprend un module 1 qui forme des trames successives de signal audio pour les différents traitements effectués, et un multiplexeur de sortie 6 qui délivre un flux de sortie D contenant pour chaque trame des jeux de paramètres de quantification à partir desquels un décodeur sera capable de
synthétiser une version décodée du signal audio.
La structure des trames est illustrée par les figures 2 et 3. Chaque trame 2 est composée d'un nombre N d'échantillons consécutifs du signal audio x. Les trames successives présentent des décalages temporels mutuels correspondant à M échantillons, de sorte que leur recouvrement est de L = N-M échantillons du signal. Dans l'exemple considéré, o N = 256, M = 160 et L = 96, la durée des trames 2 est de N/Fe = 32 ms, et une trame est
formée toutes les M/Fe = 20 ms.
De façon classique, le module 1 multiplie les échantillons de chaque trame 2 par une fonction de fenêtrage fA, de préférence choisie pour ses bonnes propriétés spectrales. Les échantillons x(i) de la trame étant numérotés de i = 0 à i = N-1, la fenêtre d'analyse fA(i) peut ainsi être une fenêtre de 6 - Hamming, d'expression: fA(i) = 0,54+0,46.cos 2 i(N-1) I2) (1) N ou une fenêtre de Hanning d'expression: (2) fA(i) = I21+(cosN2= i- (N-)/(2) ou encore une fenêtre de Kaiser, d'expression: fA(i) = (a) (3) lo (ct) o a est un coefficient par exemple égal à 6, et lo(.) désigne la fonction de
Bessel d'indice 0.
Le codeur de la figure 1 procède à une analyse du signal audio dans le domaine spectral. Il comporte un module 3 qui calcule la transformée de Fourier rapide (TFR) de chaque trame de signal. La trame de signal est mise en forme avant d'être soumise au module de TFR 3: le module 1 lui adjoint N = 256 échantillons à zéro afin d'obtenir la résolution maximale de la transformée de Fourier, et il effectue d'autre part une permutation circulaire des 2N = 512 échantillons afin de compenser les effets de phase résultant de la fenêtre d'analyse. Cette modification de la trame est illustrée par la figure 3. La trame dont on calcule la transformée de Fourier rapide sur 2N = 512 points commence par les N/2 = 128 derniers échantillons pondérés de la trame, suivis par les N = 256 échantillons à zéro, et se termine par les N/2 = 128 premiers
échantillons pondérés de la trame.
Le module de TFR 3 obtient le spectre du signal pour chaque trame, dont le module et la phase sont respectivement notés lx| et (x, ou IX(i)l et çpx(i) pour les index de fréquence i = O à i = 2N-1 (grâce à la symétrie de la transformée de Fourier et des trames, on peut se limiter aux valeurs pour
0 <i <N).
Un détecteur de fréquence fondamentale 4 estime pour chaque trame de signal une valeur de la fréquence fondamentale Fo. Le détecteur 4 peut appliquer toute méthode connue d'analyse du signal de parole de la trame pour estimer la fréquence fondamentale F0, par exemple une méthode basée sur la -7 - fonction d'autocorrélation ou la fonction AMDF, éventuellement précédée d'un module de blanchiment par prédiction linéaire. L'estimation peut également être effectuée dans le domaine spectral ou dans le domaine cepstral. Une autre possibilité est d'évaluer les intervalles de temps entre les ruptures consécutives du signal de parole attribuables à des fermetures de la glotte du locuteur intervenant pendant la durée de la trame. Des méthodes bien connues utilisables pour détecter de telles micro-ruptures sont décrites dans les articles suivants: M. Basseville et al., " Sequential detection of abrupt changes in spectral characteristics of digital signais " (IEEE Trans. on Information Theory, 1983, Vol. IT-29, n 5, pages 708-723); R. Andre- Obrecht, " A new statistical approach for the automatic segmentation of continuous speech signais " (IEEE Trans. on Acous., Speech and Sig. Proc., Vol. 36, N 1, janvier 1988); et C. MURGIA et al., " An algorithm for the estimation of glottal closure instants using the sequential detection of abrupt changes in speech signals " (Signal
Processing VII, 1994, pages 1685-1688).
La fréquence fondamentale estimée F0 fait l'objet d'une quantification, par exemple scalaire, par un module 5, qui fournit au multiplexeur de sortie 6 un index iF de quantification de la fréquence fondamentale pour chaque trame
du signal.
Le codeur utilise des modélisations paramétriques cepstrales pour représenter une enveloppe supérieure et une enveloppe inférieure du spectre du signal audio. La première étape de la transformation cepstrale consiste à appliquer au module du spectre du signal une fonction de compression spectrale, qui peut être une fonction logarithmique ou en racine. Le module 8 du codeur opère ainsi, pour chaque valeur X(i) du spectre du signal (0 < i < N), la transformation suivante: LX(i) = Log X(i)l) (4) dans le cas d'une compression logarithmique ou LX(i) = IX(i)" (5) dans le cas d'une compression en racine, y étant un exposant compris entre 0 et 1. Le spectre comprimé LX du signal audio est traité par un module 9 qui extrait des amplitudes spectrales associées aux harmoniques du signal correspondant aux multiples de la fréquence fondamentale estimée F0. Ces -8 - amplitudes sont ensuite interpolées par un module 10 afin d'obtenir une
enveloppe supérieure comprimée notée LXsup.
Il est à noter que la compression spectrale pourrait de façon équivalente être effectuée après la détermination des amplitudes associées aux harmoniques. Elle pourrait également être effectuée après l'interpolation,
ce qui ne ferait que modifier la forme des fonctions d'interpolation.
Le module 9 d'extraction des maxima tient compte de l'éventuelle variation de la fréquence fondamentale sur la trame d'analyse, des erreurs que peut commettre le détecteur 4, ainsi que des imprécisions liées au caractère discret de l'échantillonnage en fréquence. Pour cela, la recherche des amplitudes des pics spectraux ne consiste pas simplement à prendre les
valeurs LX(i) correspondant aux index i tels que i.Fe/2N soit la fréquence la.
plus proche d'une harmonique de fréquence k.F0 (k > 1). L'amplitude spectrale retenue pour une harmonique d'ordre k est un maximum local du module du spectre au voisinage de la fréquence k.F0 (cette amplitude est obtenue directement sous forme comprimée lorsque la compression spectrale 8 est
effectuée avant l'extraction des maxima 9).
Les figures 4 et 5 montrent un exemple de forme du spectre comprimé LX, o on voit que les amplitudes maximales des pics harmoniques ne coïncident pas nécessairement avec les amplitudes correspondant aux multiples entiers de la fréquence fondamentale estimée Fo. Les flancs des pics étant assez raides, une petite erreur de positionnement de la fréquence fondamentale F0, amplifiée par l'indice d'harmonique k, peut distordre fortement l'enveloppe supérieure estimée du spectre et provoquer une mauvaise modélisation de la structure formantique du signal. Par exemple, prendre directement l'amplitude spectrale pour la fréquence 3.F0 dans le cas des figures 4 et 5 produirait une erreur importante dans l'extraction de l'enveloppe supérieure au voisinage de l'harmonique d'ordre k = 3, alors qu'il s'agit d'une zone énergétiquement importante dans l'exemple dessiné. En effectuant l'interpolation à partir du véritable maximum, on évite ce genre
d'erreur d'estimation de l'enveloppe supérieure.
Dans l'exemple représenté sur la figure 4, I'interpolation est effectuée entre des points dont l'abscisse est la fréquence correspondant au maximum de l'amplitude d'un pic spectral, et dont l'ordonnée est ce maximum, avant ou -9-
après compression.
L'interpolation effectuée pour calculer l'enveloppe supérieure LX_sup est une simple interpolation linéaire. Bien entendu une autre forme
d'interpolation pourrait être utilisée (par exemple polynomiale ou spline) .
Dans la variante préférée représentée sur la figure 5, l'interpolation est effectuée entre des points dont l'abscisse est une fréquence k.F0 multiple de la fréquence fondamentale (en fait la fréquence la plus proche dans le spectre discret) et dont l'ordonnée est l'amplitude maximale, avant ou apres
compression, du spectre au voisinage de cette fréquence multiple.
En comparant les figures 4 et 5, on peut voir que le mode d'extraction selon la figure 5, qui repositionne les pics sur les fréquences harmoniques, conduit à une meilleure précision sur l'amplitude des pics que le décodeur attribuera aux fréquences multiples de la fréquence fondamentale. Il peut se produire un léger déplacement en fréquence de la position de ces pics, ce qui n'est pas perceptuellement très important et n'est d'ailleurs pas évité non plus dans le cas de la figure 4. Dans le cas de la figure 4, les points d'ancrage pour l'interpolation sont confondus avec les sommets des pics harmoniques. Dans le cas de la figure 5, on impose que ces points d'ancrage se trouvent précisément aux fréquences multiples de la fréquence fondamentale, leurs amplitudes
correspondant à celles des pics.
L'intervalle de recherche du maximum d'amplitude associé à une harmonique de rang k est centré sur l'index i de la fréquence de la TFR la plus ign I'ete glo proche de k.F0, c'est-à-dire i = 2Nk Fo +1, o Lai désigne l'entier égal ou L Fe 2 immédiatement inférieur au nombre a. La largeur de cet intervalle de recherche dépend de la fréquence d'échantillonnage Fe, de la taille 2N de la TFR et de la gamme de variation possible de la fréquence fondamentale. Cette largeur est typiquement de l'ordre d'une dizaine de fréquences avec les exemples de valeurs précédemment considérés. On peut la rendre réglable en fonction de la
valeur F0 de la fréquence fondamentale et du numéro k de l'harmonique.
Afin d'améliorer la résolution dans les basses fréquences et donc de représenter plus fidèlement les amplitudes des harmoniques dans cette zone, une distorsion non-linéaire de l'échelle des fréquences est opérée sur l'enveloppe supérieure comprimée par un module 12 avant que le module 13 effectue la transformée de Fourier rapide inverse (TFRI) fournissant les
- 10 -
coefficients cepstraux cxsup.
La distorsion non-linéaire permet de minimiser plus efficacement l'erreur de modélisation. Elle est par exemple effectuée selon une échelle de fréquences de type Mel ou Bark. Cette distorsion peut éventuellement dépendre de la fréquence fondamentale estimée F0. La figure 1 illustre le cas de l'échelle Mel. La relation entre les fréquences F du spectre linéaire, exprimées en hertz, et les fréquences F' de l'échelle Mel est la suivante: F'- 1000)xiogF1+1F) (6) iog1l0 (2) xl o 1+00-0 Afin de limiter le débit de transmission, une troncature des coefficients cepstraux cx_sup est effectuée. Le module de TFRI 13 a besoin de calculer seulement un vecteur cepstral de NCS coefficients cepstraux d'ordres O à
NCS-1. A titre d'exemple, NCS peut être égal à 16.
Un post-filtrage dans le domaine cepstral, appelé post-liftrage, est appliqué par un module 15 à l'enveloppe supérieure comprimée LXsup. Ce post-liftrage correspond à une manipulation des coefficients cepstraux cx_sup délivrés par le module de TRFI 13, qui correspond approximativement à un post-filtrage de la partie harmonique du signal par une fonction de transfert ayant la forme classique: H(z) =(1 --1L.z) A(z /1) (7 A(z IY2)() o A(z) est la fonction de transfert d'un filtre de prédiction linéaire du signal audio, y, et y2 sont des coefficients compris entre 0 et 1, et g est un coefficient de préaccentuation éventuellement nul. La relation entre le coefficient post-liftré d'ordre i, noté cp(i), et le coefficient cepstral correspondant c(i) = cxsup(i) délivré par le module 13 est alors: cp(O) = c(O)
(.\
c2( Y -Y)Cp(i) = +2 pouri >0 (8 Le coefficient de préaccentuation optionnel p, peut être contrôlé en posant comme contrainte de préserver la valeur du coefficient cepstral cx_sup(1) relatif à la pente. En effet, la valeur c(1) = cxsup(1) d'un bruit blanc filtré par le filtre de préaccentuation correspond au coefficient de préaccentuation. On peut ainsi choisir ce dernier de la façon suivante:
P = (y2-,1).c(1).
-11 - Après le post-liftre 15, un module de normalisation 16 modifie encore les coefficients cepstraux en imposant la contrainte de modélisation exacte d'un point du spectre initial, qui est de préférence le point le plus énergétique parmi les maxima spectraux extraits par le module 9. En pratique, cette normalisation modifie seulement la valeur du coefficient cp(0). Le module de normalisation 16 fonctionne de la façon suivante: il recalcule une valeur du spectre synthétisé à la fréquence du maximum indiqué par le module 9, par transformée de Fourier des coefficients cepstraux tronqués et post-liftrés, en tenant compte de la distorsion non-linéaire de l'axe des fréquences; il détermine un gain de normalisation gN par la différence logarithmique entre la valeur du maximum fournie par le module 9 et cette
valeur recalculée; et il ajoute le gain gN au coefficient cepstral postliftré cp(0).
Cette normalisation peut être vue comme faisant partie du post-liftrage.
Les coefficients cepstraux post-liftrés et normalisés font l'objet d'une quantification par un module 18 qui transmet des index de quantification
correspondants icxs au multiplexeur de sortie 6 du codeur.
Le module 18 peut fonctionner par quantification vectorielle à partir de vecteurs cepstraux formés de coefficients post-liftrés et normalisés, notés ici cx[n] pour la trame de signal de rang n. A titre d'exemple, le vecteur cepstral cx[n] de NCS = 16 coefficients cepstraux cx[n,0], cx[n,1] ,..., cx[n,NCS-1] est distribué en quatre sous-vecteurs cepstraux contenant chacun quatre coefficients d'ordres consécutifs. Le vecteur cepstral cx[n] peut être traité par les moyens représentés sur la figure 6, faisant partie du module de quantification 18. Ces moyens mettent en oeuvre, pour chaque composante cx[n,i], un prédicteur de la forme: cxp [n, i] = (1 - co(i)). rcx[n, i] + o(i). rcx[n-1, i] (9) o rcx[n] désigne un vecteur résiduel de prédiction pour la trame de rang n
dont les composantes sont respectivement notées rcx[n,0], rcx[n,1],...
rcx[n,NCS-1], et co(i) désigne un coefficient de prédiction choisi pour être représentatif d'une corrélation inter-trame supposée. Après quantification des résidus, ce vecteur résiduel est défini par: rcx[n,] cx[n, i] - cE(i). rcx q[n-1, i] (10) rcx[n, i]= '- '(1 0) 2 - c t(i) o rcxq[n-1] désigne le vecteur résiduel quantifié pour la trame de rang n-l, -12 -
dont les composantes sont respectivement notées rcxq[n,0], rcxq[n,1],...
rcxq[n,NCS-1]. Le numérateur de la relation (10) est obtenu par un soustracteur 20, dont les composantes du vecteur de sortie sont divisées par les quantités 2--c(i) en 21. Aux fins de la quantification, le vecteur résiduel rcx[n] est subdivisé en quatre sous-vecteurs, correspondant à la subdivision en quatre sous-vecteurs cepstraux. Sur la base d'un dictionnaire obtenu par apprentissage préalable, I'unité 22 procède à la quantification vectorielle de chaque sous-vecteur du vecteur résiduel rcx[n]. Cette quantification peut consister, pour chaque sous- vecteur srcx[n], à sélectionner dans le dictionnaire le sous-vecteur quantifié srcxq[n] qui minimise l'erreur quadratique jsrcx[n] - srcx_q[n] 2. L'ensemble icxs des index de quantification icx, correspondant aux adresses dans le ou les dictionnaires des sous-vecteurs
résiduels quantifiés srcxq[n], est fourni au multiplexeur de sortie 6.
1 5 L'unité 22 délivre également les valeurs des sous-vecteurs résiduels quantifiés, qui forment le vecteur rcxq[n]. Celui-ci est retardé d'une trame en
23, et ses composantes sont multipliées par les coefficients oe(i) en 24 pour.
fournir le vecteur à l'entrée négative du soustracteur 20. Ce dernier vecteur est d'autre part fourni à un additionneur 25, dont l'autre entrée reçoit un vecteur formé par les composantes du résidu quantifié rcxq[n] respectivement multipliées par les quantités 1-o(i) en 26. L'additionneur 25 délivre ainsi le
vecteur cepstral quantifié cxq[n] que récupérera le décodeur.
Le coefficient de prédiction co(i) peut être optimisé séparément pour chacun des coefficients cepstraux. Les dictionnaires de quantification peuvent
aussi être optimisés séparément pour chacun quatre sous-vecteurs cepstraux.
D'autre part, il est possible, de façon connue en soi, de normaliser les vecteurs cepstraux avant d'appliquer le schéma de prédiction/quantification, à partir de
la variance des cepstres.
Il est à noter que le schéma ci-dessus de quantification des coefficientscepstraux peut n'être appliqué que pour certaines seulement des trames. Par exemple, on peut prévoir un second mode de quantification ainsi qu'un processus de sélection de celui des deux modes qui minimise un critère de moindres carrés avec les coefficients cepstraux à quantifier, et transmettre avec les index de quantification de la trame un bit indiquant lequel des deux
modes a été sélectionné.
- 13 -
Les coefficients cepstraux quantifiés cxsup_q = cxq[n] fournis par l'additionneur 25 sont adressés à un module 28 qui recalcule les amplitudes spectrales associées à une ou plusieurs des harmoniques de la fréquence fondamentale F0 (figure 1). Ces amplitudes spectrales sont par exemple calculées sous forme comprimée, en appliquant la transformée de Fourier aux coefficients cepstraux quantifiés en tenant compte de la distorsion non-linéaire de l'échelle des fréquences utilisée dans la transformation cepstrale. Les amplitudes ainsi recalculées sont fournies à un module d'adaptation 29 qui les compare à des amplitudes de maxima déterminées par le module d'extraction 9. Le module d'adaptation 29 contrôle le post-liftre 15 de façon à minimiser un écart de module entre le spectre du signal audio et les valeurs de module correspondantes calculées en 28. Cet écart de module peut être exprimé par une somme de valeurs absolues de différences d'amplitudes, comprimées ou non, correspondant à une ou plusieurs des fréquences harmoniques. Cette somme peut être pondérée en fonction des amplitudes
spectrales associées à ces fréquences.
De façon optimale, I'écart de module pris en compte dans l'adaptation
du post-liftrage tiendrait compte de toutes les harmoniques du spectre.
Cependant, afin de réduire la complexité de l'optimisation, le module 28 peut ne resynthétiser les amplitudes spectrales que pour une ou plusieurs fréquences multiples de la fréquence fondamentale Fo, sélectionnées sur la base de l'importance du module du spectre en valeur absolue. Le module d'adaptation 29 peut par exemple considérer les trois pics spectraux les plus
intenses dans le calcul de l'écart de module à minimiser.
Dans une autre réalisation, le module d'adaptation 29 estime une courbe de masquage spectral du signal audio au moyen d'un modèle psychoacoustique, et les fréquences prises en compte dans le calcul de l'écart de module à minimiser sont sélectionnées sur la base de l'importance du module du spectre relativement à la courbe de masquage (on peut par exemple prendre les trois fréquences pour lesquelles le module du spectre dépasse le plus de la courbe de masquage). Différentes méthodes classiques
sont utilisables pour calculer la courbe de masquage à partir du signal audio.
On peut par exemple utiliser celle développée par J.D. Johnston (" Transform Coding of Audio Signals Using Perceptual Noise Criteria ", IEEE Journal on -14 -
Selected Area in Communications, Vol. 6, No. 2, février 1988).
Pour réaliser l'adaptation du post-liftrage, le module 29 peut utiliser un modèle d'identification de filtre. Une méthode plus simple consiste à prédéfinir un ensemble de jeux de paramètres de post-liftrage, c'est-àdire un ensemble de couples y1, y2 dans le cas d'un post-liftrage selon les relations (8), à effectuer les opérations incombant aux modules 15, 16, 18 et 28 pour chacun de ces jeux de paramètres, et à retenir celui des jeux de paramètres qui conduit à l'écart de module minimal entre le spectre du signal et les valeurs recalculées. Les index de quantification fournis par le module 18 sont alors
ceux qui se rapportent au meilleur jeu de paramètres.
Par un processus analogue à celui de l'extraction des coefficients cxsup représentant l'enveloppe supérieure comprimée LXsup du spectre du signal, le codeur détermine des coefficients cx_inf représentant une enveloppe inférieure comprimée LX_inf. Un module 30 extrait du spectre comprimé LX des amplitudes spectrales associées à des fréquences situées dans des zones du spectre intermédiaires par rapport aux fréquences multiples de la fréquence
fondamentale estimée F0.
Dans l'exemple illustré par les figures 4 et 5, chaque amplitude associée à une fréquence située dans une zone intermédiaire entre deux harmoniques successives k.F0 et (k+1).F0 correspond simplement au module du spectre pour la fréquence (k+1/2).F0 située au milieu de l'intervalle séparant les deux harmoniques. Dans une autre réalisation, cette amplitude pourrait être une moyenne du module du spectre sur une petite plage entourant cette
fréquence (k+112).F0.
Un module 31 procède à une interpolation, par exemple linéaire, des amplitudes spectrales associées aux fréquences situées dans les zones
intermédiaires pour obtenir l'enveloppe inférieure comprimée LX_inf.
La transformation cepstrale appliquée à cette enveloppe inférieure comprimée LX_inf est effectuée suivant une échelle de fréquences résultant d'une distorsion non-linéaire appliquée par un module 32. Le module de TFRI 33 calcule un vecteur cepstral de NCI coefficients cepstraux cx_inf d'ordres 0 à NCI-1 représentant l'enveloppe inférieure. NCI est un nombre qui peut être
sensiblement plus petit que NCS, par exemple NCI = 4.
La transformation non-linéaire de l'échelle des fréquences pour la transformation cepstrale de l'enveloppe inférieure peut être réalisée vers une -15 - échelle plus fine aux hautes fréquences qu'aux basses fréquences, ce qui permet avantageusement de bien modéliser les composantes non-voisées du signal aux hautes fréquences. Toutefois, pour assurer une homogénéité de représentation entre l'enveloppe supérieure et l'enveloppe inférieure, on pourra préférer adopter dans le module 32 la même échelle que dans le module 12
(Mel dans l'exemple considéré).
Les coefficients cepstraux cx_inf représentant l'enveloppe inférieure comprimée sont quantifiés par un module 34, qui peut fonctionner de la même manière que le module 18 de quantification des coefficients cepstraux représentant l'enveloppe supérieure comprimée. Dans le cas considéré, o on se limite à NCI = 4 coefficients cepstraux pour l'enveloppe inférieure, le vecteur ainsi formé est soumis à une quantification vectorielle de résidu de prédiction, effectuée par des moyens identiques à ceux représentés sur la figure 6 mais sans subdivision en sous-vecteurs. L'index de quantification icx = icxi 1s déterminé par le quantificateur vectoriel 22 pour chaque trame relativement aux
coefficients cxinf est fourni au multiplexeur de sortie 6 du codeur.
Le codeur représenté sur la figure 1 ne comporte aucun dispositif
particulier pour coder les phases du spectre aux harmoniques du signal audio.
En revanche, il comporte des moyens 36-40 pour coder une information temporelle liée à la phase de la composante non-harmonique
représentée par l'enveloppe inférieure.
Un module 36 de décompression spectrale et un module 37 de TFRI
forment une estimation temporelle de la trame de la composante non-
harmonique. Le module 36 applique une fonction de décompression réciproque de la fonction de compression appliquée par le module 8 (c'est- à-dire une exponentielle ou une fonction puissance 1/y) à l'enveloppe inférieure comprimée LXinf produite par le module d'interpolation 31. Ceci fournit le module de la trame estimée de la composante non- harmonique, dont la phase est prise égale à celle qx du spectre du signal X sur la trame. La transformée de Fourier inverse effectuée par le module 37 fournit la trame estimée de la
composante non-harmonique.
Le module 38 subdivise cette trame estimée de la composante non-
harmonique en plusieurs segments temporels. La trame délivrée par le module 37 se composant de 2N = 512 échantillons pondérés comme illustré par la figure 3, le module 38 considère seulement les N/2 = 128 premiers échantillons -16 - et les N/2 = 128 derniers échantillons, et les subdivise par exemple en huit segments de 32 échantillons consécutifs représentant chacun 4 ms de signal. Pour chaque segment, le module 38 calcule l'énergie égale à la somme des carrés des échantillons, et forme un vecteur E1 formé de huit composantes réelles positives égales aux huit énergies calculées. La plus grande de ces huit énergies, notée EM, est également déterminée pour être fournie, avec le vecteur El, à un module de normalisation 39. Celui-ci divise chaque composante du vecteur E1 par EM, de sorte que le vecteur normalisé Emix est formé de huit composantes comprises entre 0 et 1. C'est ce vecteur normalisé Emix, ou vecteur de pondération, qui est soumis à la quantification par le module 40. Celuici peut opérer une quantification vectorielle avec un dictionnaire déterminé lors d'un apprentissage préalable. L'index de quantification iEm est fourni par le module 40 au multiplexeur de sortie 6 du
codeur.
La figure 7 montre une variante de réalisation des moyens employés par le codeur de la figure 1 pour déterminer le vecteur Emix de pondération énergétique de la trame de la composante non-harmonique. Les modules 36, 37 de décompression spectrale et de TFRI fonctionnent comme ceux qui portent les mêmes références sur la figure 1. Un module de sélection 42 est ajouté pour déterminer la valeur du module du spectre soumis à la transformée de Fourier inverse 37. Sur la base de la fréquence fondamentale estimée F., le module 42 identifie des régions harmoniques et des régions non-harmoniques du spectre du signal audio. Par exemple, une fréquence sera considérée comme appartenant à une région harmonique si elle se trouve dans un intervalle de fréquences centré sur une harmonique k.Fo et de largeur
correspondant à une largeur de raie spectrale synthétisée, et à une région non-
harmonique sinon. Dans les régions non-harmoniques, le signal complexe soumis à la TFRI 37 est égal à la valeur du spectre, c'est-à-dire que son module et sa phase correspondent aux valeurs IXI et (Px fournies par le module de TFR 3. Dans les régions harmoniques, ce signal complexe a la même phase px que le spectre et un module donné par l'enveloppe inférieure après décompression spectrale 36. Cette façon de procéder selon la figure 7 procure
une modélisation plus précise des régions non-harmoniques.
Le décodeur représenté sur la figure 8 comprend un démultiplexeur -17 d'entrée 45 qui extrait du flux binaire ô, issu d'un codeur selon la figure 1, les index iF, icxs, icxi, iEm de quantification de la fréquence fondamentale Fo, des coefficients cepstraux représentant l'enveloppe supérieure comprimée, des coefficients représentants l'enveloppe inférieure comprimée, et du vecteur de pondération Emix, et les distribue respectivement à des modules 46, 47, 48 et 49. Ces modules 46-49 comportent des dictionnaires de quantification semblables à ceux des modules 5, 18, 34 et 40 de la figure 1, afin de restituer les valeurs des paramètres quantifiés. Les modules 47 et 48 ont des dictionnaires pour former les résidus de prédiction quantifiés rcxq[n], et ils en déduisent les vecteurs cepstraux quantifiés cxq[n] avec des éléments identiques aux éléments 23-26 de la figure 6. Ces vecteurs cepstraux quantifiés cx_q[n] fournissent les coefficients cepstraux cxsup_q et cx_inf_q
traités par le décodeur.
Un module 51 calcule la transformée de Fourier rapide des coefficients cepstraux cx_sup pour chaque trame de signal. L'échelle des fréquences du spectre comprimé qui en résulte est modifiée non-linéairement par un module 52 appliquant la transformation non-linéaire réciproque de celle du module 12 de la figure 1, et qui fournit l'estimation LX_sup de l'enveloppe supérieure comprimée. Une décompression spectrale de LXsup, opérée par un module 53, fournit l'enveloppe supérieure Xsup comportant les valeurs estimées du
module du spectre aux fréquences multiples de la fréquence fondamentale Fo.
Le module 54 synthétise l'estimation spectrale Xv de la composante harmonique du signal audio, par une somme de raies spectrales centrées sur les fréquences multiples de la fréquence fondamentale F0 et dont les
amplitudes (en module) sont celles données par l'enveloppe supérieure X_sup.
Bien que le flux numérique d'entrée c1 ne comporte pas d'informations spécifiques sur la phase du spectre du signal aux harmoniques de la fréquence fondamentale, le décodeur de la figure 8 est capable d'extraire de l'information sur cette phase à partir des coefficients cepstraux cx_sup_q représentant I'enveloppe supérieure comprimée. Cette information de phase est utilisée pour affecter une phase q(k) à chacune des raies spectrales déterminées par le
module 54 dans l'estimation de la composante harmonique du signal.
En première approximation, le signal de parole peut être considéré comme étant à phase minimale. D'autre part, il est connu que l'information de phase minimale peut se déduire facilement d'une modélisation cepstrale. Cette -18- information de phase minimale est donc calculée pour chaque fréquence harmonique. L'hypothèse de phase minimale signifie que l'énergie du signal synthétisé est localisée au début de chaque période de la fréquence
fondamentale F0.
Pour être plus proche d'un signal de parole réel, on introduit un peu de dispersion au moyen d'un post-liftrage spécifique des cepstres lors de la synthèse de la phase. Avec ce post-liftrage, effectué par le module 55 de la figure 8, il est possible d'accentuer les résonances formantiques de l'enveloppe et donc de contrôler la dispersion des phases. Ce postliftrage est par exemple
o10 de la forme (8).
Pour limiter les ruptures de phase, il est préférable de lisser les coefficients cepstraux post-liftrés, ce qui est effectué par le module 56. Le module 57 déduit des coefficients cepstraux post-liftrés et lissés la phase minimale affectée à chaque raie spectrale représentant un pic harmonique du
spectre.
Les opérations effectuées par les modules 56, 57 de lissage et d'extraction de la phase minimale sont illustrées par l'organigramme de la figure 9. Le module 56 examine les variations des coefficients cepstraux pour appliquer un lissage moins important en présence de variations brusques qu'en présence de variations lentes. Pour cela, il effectue le lissage des coefficients cepstraux au moyen d'un facteur d'oubli Xc choisi en fonction d'une comparaison entre un seuil dth et une distance d entre deux jeux successifs de coefficients cepstraux post- liftrés. Le seuil dth est lui-même adapté en fonction
des variations des coefficients cepstraux.
La première étape 60 consiste à calculer la distance d entre les deux vecteurs successifs relatifs aux trames n-1 et n. Ces vecteurs, notés ici cxp[n-1] et cxp[n], correspondent pour chaque trame à l'ensemble des NCS coefficients cepstraux post-liftrés représentant l'enveloppe supérieure comprimée. La distance utilisée peut notamment être la distance euclidienne
entre les deux vecteurs ou encore une distance quadratique.
Deux lissages sont d'abord effectués, respectivement au moyen de facteurs d'oubli Xmin et Xmax, pour déterminer une distance minimale dmin et une distance maximale dmax. Le seuil dth est ensuite déterminé à l'étape 70 comme étant situé entre les distances minimale et maximale dmin, dmax: 19 -
dth = 3.dmax + (1-f3).dmin, le coefficient 1 étant par exemple égal à 0,5.
Dans l'exemple représenté, les facteurs d'oubli Xmin et Xmax sont eux-
mêmes sélectionnés parmi deux valeurs distinctes, respectivement Xminl, Xmin2 et 'maxl, Xmax2 comprises entre 0 et 1, les indices Xminl, Xmaxl étant chacun sensiblement plus près de 0 que les indices 'min2, Xmax2 Si d > dmin (test 61), le facteur d'oubli Xmin est égal à XminI (étape 62); sinon il est pris égal à kmin2 (étape 63). A l'étape 64, la distance minimale dmin est prise égale à Xmin.dmin + (1-Xmin).d. Si d > dmax (test 65), le facteur d'oubli kmax est égal à Xmaxl (étape 66); sinon il est pris égal à Xmax2 (étape 67). A l'étape 68, la o10 distance minimale dmax est prise égale à Xmax dmax + (1-max). d Si la distance d entre les deux vecteurs cepstraux consécutifs est plus grande que le seuil dth (test 71), on adopte pour le facteur d'oubli Xc une valeur Xc1 relativement proche de 0 (étape 72). On considère dans ce cas que le signal correspondant est de type non stationnaire, de sorte qu'il n'y a pas lieu de conserver une grande mémoire des coefficients cepstraux antérieurs. Si d < dth, on adopte à l'étape 73 pour le facteur d'oubli Xcune valeur Xc2 moins proche de 0 afin de lisser davantage les coefficients cepstraux. Le lissage est effectué à l'étape 74, o le vecteur cxl[n] de coefficients lissés pour la trame courante n est déterminé par: cxl[n] = Xc.cxl[n-1] + (1 - Xc cxp[n] (11) Le module 57 calcule ensuite les phases minimales (p(k) associées aux harmoniques k.F0. De façon connue, la phase minimale pour une harmonique d'ordre k est donnée par: NCS-1 p(k)=-2. cxl[n,m]. sin(27mkFo/Fe) (12) m=1
o cxl[n,m] désigne le coefficient cepstral lissé d'ordre m pour la trame n.
A l'étape 75, I'index d'harmonique k est initialisé à 1. Pour initialiser le calcul de la phase minimale affectée à l'harmonique k, la phase (p(k) et l'index cepstral m sont initialisés respectivement à 0 et 1 à l'étape 76. A l'étape 77, le
module 57 ajoute à la phase tp(k) la quantité -2.cxl[n,m].sin(27mk.F0/Fe).
L'index cepstral m est incrémenté à l'étape 78 et comparé à NCS à l'étape 79.
-20 - Les étapes 77 et 78 sont répétées tant que m < NCS. Quand m = NCS, le calcul de la phase minimale est terminé pour l'harmonique k, et l'index k est incrémenté à l'étape 80. Le calcul de phases minimales 76- 79 est renouvelé
pour l'harmonique suivante tant que k.F0 < Fe/2 (test 81).
Dans l'exemple de réalisation selon la figure 8, le module 54 tient compte d'une phase constante sur la largeur de chaque raie spectrale, égale à la phase minimale (p(k) fournie pour l'harmonique correspondante k par le
module 57.
L'estimation Xv de la composante harmonique est synthétisée par sommation de raies spectrales positionnées aux fréquences harmoniques de la fréquence fondamentale F0. Lors de cette synthèse, on peut positionner les raies spectrales sur l'axe des fréquences avec une résolution supérieure à la résolution de la transformée de Fourier. Pour cela, on précalcule une fois pour toutes une raie spectrale de référence selon la résolution supérieure. Ce calcul peut consister en une transformée de Fourier de la fenêtre d'analyse fA avec une taille de transformée de 16384 points, procurant une résolution de 0,5 Hz par point. La synthèse de chaque raie harmonique est alors effectuée par le module 54 en positionnant sur l'axe des fréquences la raie de référence à haute résolution, et en sous-échantillonnant cette raie spectrale de référence pour se ramener à la résolution de 16,625 Hz de la transformée de Fourier sur
512 points. Ceci permet de positionner avec précision la raie spectrale.
Pour la détermination de l'enveloppe inférieure, le module de TFR 85 du décodeur de la figure 8 reçoit les NCI coefficients cepstraux quantifiés cx_inf q d'ordres 0 à NCI-1, et il les complète avantageusement par les NCS - NCI coefficients cepstraux cxsup_q d'ordre NCI à NCS - 1 représentant l'enveloppe supérieure. En effet, on peut estimer en première approximation que les variations rapides de l'enveloppe inférieure comprimée sont bien reproduites par celles de l'enveloppe supérieure comprimée. Dans une autre réalisation, le module de TFR 85 pourrait ne considérer que les NCI
paramètres cepstraux cxinfq.
Le module 86 convertit l'échelle de fréquences de manière réciproque de la conversion opérée par le module 32 du codeur, afin de restituer l'estimation LXinf de l'enveloppe inférieure comprimée, soumise au module de décompression spectrale 87. En sortie du module 87, le décodeur dispose
- 21 -
d'une enveloppe inférieure X_inf comportant les valeurs du module du spectre
dans les vallées situées entre les pics harmoniques.
Cette enveloppe X_inf va moduler le spectre d'une trame de bruit dont la phase est traitée en fonction du vecteur de pondération quantifié Emix extrait par le module 49. Un générateur 88 délivre une trame de bruit normalisé dont les segments de 4 ms sont pondérés dans un module 89 conformément aux composantes normalisées du vecteur Emix fourni par le module 49 pour la trame courante. Ce bruit est un bruit blanc filtré passe-haut pour tenir compte du faible niveau qu'a en principe la composante non-voisée aux basses l1 fréquences. A partir du bruit pondéré en énergie, le module 90 forme des trames de 2N = 512 échantillons en appliquant la fenêtre d'analyse fA, l'insertion de 256 échantillons à zéro et la permutation circulaire pour la compensation de phase conformément à ce qui a été expliqué en référence à la figure 3. La transformée de Fourier de la trame résultante est calculée par le
module TFR 91.
L'estimation spectrale Xuv de la composante non-harmonique est déterminée par le module de synthèse spectrale 92 qui effectue une pondération fréquence par fréquence. Cette pondération consiste à multiplier chaque valeur spectrale complexe fournie par le module de TFR 91 par la valeur de l'enveloppe inférieure X_inf obtenue pour la même fréquence par le
module de décompression spectrale 87.
Les estimations spectrales Xv, Xuv des composantes harmonique (voisée dans le cas d'un signal de parole) et non-harmonique (ou non-voisée) sont combinées par un module de mixage 95 contrôlé par un module 96
d'analyse du degré d'harmonicité (ou de voisement) du signal.
L'organisation de ces modules 95, 96 est illustrée par la figure 10. Le module d'analyse 96 comporte une unité 97 d'estimation d'un degré de voisement W dépendant de la fréquence, à partir duquel sont calculés quatre gains dépendant de la fréquence, à savoir deux gains gv, guv contrôlant I'importance relative des composantes harmonique et nonharmonique dans le signal synthétisé, et deux gains gv,P guv _,P utilisés pour bruiter la phase de la
composante harmonique.
Le degré de voisement W(i) est une valeur à variation continue comprise entre 0 et 1 déterminée pour chaque index de fréquence i (0 < i < N) en fonction de l'enveloppe supérieure Xsup(i) et de l'enveloppe inférieure
- 22 -
X_inf(i) obtenues pour cette fréquence i par les modules de décompression 53, 87. Le degré de voisement W(i) est estimé par l'unité 97 pour chaque index de fréquence i correspondant à une harmonique de la fréquence fondamentale F0, à savoir i= 2NkF +l1 pour k= 1,2,..., par une fonction croissante du L Fe 2 rapport entre l'enveloppe supérieure X_sup et l'enveloppe inférieure X_inf à cette fréquence, par exemple selon la formule W10 lg10[Xsup(i) min1 10 o0 [ pl/Xinf(i)](13) W(i) = min 1,Vt--(F0i 1) Le seuil Vth(F0) correspond à la dynamique moyenne calculée sur un spectre synthétique purement voisé à la fréquence fondamentale. Il est
avantageusement choisi dépendant de la fréquence fondamentale F0.
Le degré de voisement W(i) pour une fréquence autre que les fréquences harmoniques est obtenu simplement comme étant égal à celui
estimé pour l'harmonique la plus proche.
Le gain gv(i), qui dépend de la fréquence, est obtenu en appliquant une
fonction non-linéaire au degré de voisement W(i) (bloc 98). Cette fonction non-
linéaire a par exemple la forme représentée sur la figure 11i gv(i) = 0 si 0 < W(i) < W1 gv_ (i)-W1 siWl <W(i)<W2 (14) gv(i) = 1 siW2 < W(i) < 1 les seuils W1, W2 étant tels que 0 <Wl <W2 < 1. Le gain guv peut être calculé de manière semblable au gain gv (la somme des deux gains gv, guv étant constante, par exemple égale à 1), ou déduit simplement de celui-ci par la relation guv(i) = 1 - gv(i), comme schématisé par le soustracteur 99 sur la
figure 10.
Il est intéressant de pouvoir bruiter la phase de la composante harmonique du signal à une fréquence donnée si l'analyse du degré de voisement montre que le signal est plutôt de type non-harmonique à cette fréquence. Pour cela, la phase qPv de la composante harmonique mixée est le résultat d'une combinaison linéaire des phases (pv, uv des composantes
harmonique et non-harmonique Xv, Xuv synthétisées par les modules 54, 92.
-23 - Les gains gv_ q, guv (p respectivement appliqués à ces phases sont calculés à partir du degré de voisement W et pondérés également en fonction de l'index de fréquence i, étant donné que le bruitage de la phase n'est véritablement
utile qu'au-delà d'une certaine fréquence.
Un premier gain gv1 (p est calculé en appliquant une fonction nonlinéaire au degré de voisement W(i), comme schématisé par le bloc 100 sur la figure 10. Cette fonction non-linéaire peut avoir la forme représentée sur la figure 12: gv1_ (i) = G1 si 0 < W(i) < W3 gV1. @ ll-(i)G= G+(-1W(i) - W3si W3 <W(i) <W4 (15)
W4 - W3
gvlt(i) = 1 si W4 < W(i) < 1 les seuils W3 et W4 étant tels que 0 < W3 < W4 < 1, et le gain minimal G1
étant compris entre 0 et 1.
Un multiplieur 101 multiplie pour chaque fréquence d'index i le gain gv1 par un autre gain gv2 (p dépendant seulement de l'index de fréquence i, pour former le gain gv,(i). Le gain gv2_qp(i) dépend non-linéairement de l'index de fréquence i, par exemple comme indiqué sur la figure 13 gv2p(i) = 1 Si 0 < ii gv2_q(i) = 1 - (1 -G2) il si il <i < i2 (16) gv2_op i2-il gv2 (i) = G2 sii2 < i < 1 les index il et i2 étant tels que 0 < il < i2 < N, et le gain minimal G2 étant compris entre 0 et 1. Le gain guv _P(i) peut être calculé simplement comme étant égal à 1 -gv _P(i) = 1 -gvlp(i). gv2 p(i) (soustracteur 102 de la figure ). Le spectre complexe Y du signal synthétisé est produit par le module de mixage 95, qui réalise la relation de mixage suivante, pour 0 < i < N: Y(i) = gv(i). Xv(i). exp[jp v(i)] + guv(i). Xuv(i) (17) avec (Pqv(i) = gv_,p(i). (PV(i) + guv_.P(i). (Puv(i) (18) o (pv(i) désigne l'argument du nombre complexe Xv(i) fourni par le module 54 pour la fréquence d'index i (bloc 104 de la figure 10), et (puv(i) désigne -24 - I'argument du nombre complexe XUv(i) fourni par le module 92 (bloc 105 de la figure 10). Cette combinaison est réalisée par les multiplieurs 106-110 et les
additionneurs 111-112 représentés sur la figure 10.
Le spectre mixé Y(i) pour 0 < i < 2N (avec Y(2N-1-i) =Y(i)) est ensuite transformé dans le domaine temporel par le module de TFRI 115 (figure 8). On ne retient que les N/2 = 128 premiers et les N/2 = 128 derniers échantillons de la trame de 2N = 512 échantillons produite par le module 115, et on applique la permutation circulaire inverse de celle illustrée par la figure 3 pour obtenir la
trame synthétisée de N = 256 échantillons pondérés par la fenêtre d'analyse fA.
Les trames successivement obtenues de cette manière sont finalement traitées par le module de synthèse temporelle 116 qui forme le signal audio
décode k.
Le module de synthèse temporelle 116 effectue une somme à recouvrement de trames modifiées par rapport à celles successivement évaluées en sortie du module 115. La modification peut être vue en deux
étapes illustrées respectivement par les figures 14 et 15.
La première étape (figure 14) consiste à multiplier chaque trame 2' délivrée par le module de TFRI 115 par une fenêtre 1/fA inverse de la fenêtre d'analyse fA employée par le module 1 du codeur. Les échantillons de la trame
2" qui en résultent sont donc pondérés uniformément. La seconde étape (figure 15) consiste à multiplier les échantillons de
cette trame 2" par une fenêtre de synthèse fs vérifiant les propriétés suivantes: fs(N-L+i) + fs(i) = A pour 0 < i < L (19) fs(i) = A pour L < i < N-L (20) o A désigne une constante positive arbitraire, par exemple A = 1. La fenêtre de synthèse fs(i) croît progressivement de 0 à A pour i allant de 0 à L. C'est par exemple une demi-sinusoïde surélevée: fs(i) =. (1-cos[(i+1/2)7c/LD pour 0 < i < L (21) Après avoir repondéré chaque trame 2" par la fenêtre de synthèse fs, le module 116 positionne les trames successives avec leurs décalages temporels de M = 160 échantillons et leurs recouvrements temporels de L = 96 échantillons, puis il effectue la somme des trames ainsi positionnées dans le temps. Du fait des propriétés (19) et (20) de la fenêtre de synthèse fs, chaque -25 - échantillon du signal audio décodé x ainsi obtenu est affecté d'un poids global uniforme, égal à A. Ce poids global provient de la contribution d'une trame unique si l'échantillon a dans cette trame un rang i tel que L < i < N - L, et comporte les contributions sommées de deux trames successives si 0 < i < L o N - L < i < N. On peut ainsi effectuer la synthèse temporelle de façon simple même si, comme dans le cas considéré, le recouvrement L entre deux trames
successives est plus petit que la moitié de la taille N de ces trames.
Les deux étapes exposées ci-dessus pour la modification des trames de signal peuvent être fusionnées en une seule étape. Il suffit de précalculer une fenêtre composée fc(i) = fs(i)/fA(i), et de multiplier simplement les trames 2' de N = 256 échantillons délivrées par le module 115 par la fenêtre composée
fc avant d'effectuer la sommation à recouvrement.
La figure 16 montre l'allure de la fenêtre composée fc dans le cas o la fenêtre d'analyse fA est une fenêtre de Hamming et la fenêtre de synthèse fs a
la forme donnée par les relations (19) à (21).
D'autre formes de la fenêtre de synthèse fs vérifiant les relations (19) et (20) peuvent être employées. Dans la variante de la figure 17, c'est une fonction affine par morceaux définie par: fs(i) = A.i/L pour 0 < i < L (22) Afin d'améliorer la qualité de codage du signal audio, le codeur de la figure 1 peut augmenter la cadence de formation et d'analyse des trames, afin de transmettre davantage de paramètres de quantification au décodeur. Dans la structure de trame représentée sur la figure 2, une trame de N = 256 échantillons (32 ms) est formée toutes les 20 ms. Ces trames de 256 échantillons pourraient être formées à une cadence supérieure, par exemple de 10 ms, deux trames successives ayant alors un décalage de M/2 = 80
échantillons et un recouvrement de 176 échantillons.
Dans ces conditions, on peut transmettre les jeux complets de
paramètres de quantification iF, icxs, icxi, iEm pour seulement un sous-
ensemble des trames, et transmettre pour les autres trames des paramètres permettant d'effectuer une interpolation adéquate au niveau du décodeur. Dans l'exemple envisagé ci-dessus, le sous-ensemble pour lequel des jeux de paramètres complets sont transmis peut être constitué par les trames de rang
*- 26 -
entier n, dont la périodicité est de M/Fe = 20 ms, et les trames pour lesquelles une interpolation est effectuée peuvent être celles de rang demi-entier n + 1/2
qui sont décalées de 10 ms par rapport aux trames du sous-ensemble.
Dans la réalisation illustrée par la figure 18, les notations cxq [n-1] et cx_q[n] désignent des vecteurs cepstraux quantifiés déterminés, pour deux trames successives de rang entier, par le module de quantification 18 et/ou par le module de quantification 34. Ces vecteurs comprennent par exemple quatre coefficients cepstraux consécutifs chacun. Ils pourraient également
comprendre davantage de coefficients cepstraux.
Un module 120 effectue une interpolation de ces deux vecteurs cepstraux cxq[n-1] et cxq[n], afin d'estimer une valeur intermédiaire cx_i[n-1/2]. L'interpolation effectuée par le module 120 peut être une simple moyenne arithmétique des vecteurs cxq[n-1] et cxq[n]. En variante, le module 120 pourrait appliquer une formule d'interpolation plus sophistiquée, par exemple polynomiale, en se fondant également sur les vecteurs cepstraux obtenus pour des trames antérieures à la trame n-1. D'autre part, si plus d'une trame interpolée est intercalée entre deux trames consécutives de rang entier,
l'interpolation tient compte de la position relative de chaque trame interpolée.
A l'aide des moyens précédemment décrits, le codeur calcule
également les coefficients cepstraux cx[n-1/2] relatifs à la trame de rang demi-
entier. Dans le cas de l'enveloppe supérieure, ces coefficients cepstraux sont ceux fournis par le module de TFRI 13 après post-liftrage 15 (par exemple avec les mêmes coefficients de post-liftrage que pour la trame précédente n-1) et normalisation 16. Dans le cas de l'enveloppe inférieure, les coefficients
cepstraux cx[n-1/2] sont ceux délivrés par le module de TFRI 33.
Un soustracteur 121 forme la différence ecx[n-1/2] entre les coefficients cepstraux cx[n-1/2] calculés pour la trame de rang demi-entier et les coefficients cxi[n-1/2] estimés par interpolation. Cette différence est fournie à un module de quantification 122 qui adresse des index de quantification icx[n-1/2] au multiplexeur de sortie 6 du codeur. Le module 122 fonctionne par exemple par quantification vectorielle des erreurs d'interpolation
ecx[n-1/2] successivement déterminées pour les trames de rang demi-entier.
Cette quantification de l'erreur d'interpolation peut être effectuée par le codeur pour chacun des NCS + NCI coefficients cepstraux utilisés par le décodeur, ou seulement pour certains d'entre eux, typiquement ceux d'ordres -27 -
les plus petits.
Les moyens correspondants du décodeur sont illustrés par la figure 19.
Le décodeur fonctionne essentiellement comme celui décrit en référence à la figure 8 pour déterminer les trames de signal de rang entier. Un module d'interpolation 124 identique au module 120 du codeur estime les coefficients intermédiaires cxi[n-1/2] à partir des coefficients quantifiés cx q[n-1] et cx_q[n] fournis par le module 47 et/ou le module 48 à partir des index icxs, icxi extraits du flux D. Un module d'extraction de paramètres 125 reçoit l'index de quantification icx[n-1/2] depuis le démultiplexeur d'entrée 45 du décodeur, et en déduit l'erreur d'interpolation quantifiée ecxq[n-1/2] à partir du même dictionnaire de quantification que celui utilisé par le module 122 du codeur. Un additionneur 126 fait la somme des vecteurs cepstraux cx_i[n-1/2] et ecx_q[n-1/2] afin de fournir les coefficients cepstraux cx[n-1/2] qui seront utilisés par le décodeur (modules 51-57, 95, 96, 115 et/ou modules 85-87, 92,
95, 96, 115) pour former la trame interpolée de rang n-1/2.
Si certains seulement des coefficients cepstraux ont fait l'objet d'une quantification d'erreur d'interpolation, les autres sont déterminés par le
décodeur par une interpolation simple, sans correction.
Le décodeur peut également interpoler les autres paramètres Fo, Emix utilisés pour synthétiser les trames de signal. La fréquence fondamentale F0 peut être interpolée linéairement, soit dans le domaine temporel, soit (de préférence) directement dans le domaine fréquentiel. Pour l'interpolation éventuelle du vecteur de pondération énergétique Emix, il convient d'effectuer l'interpolation après dénormalisation et en tenant compte bien entendu des
décalages temporels entre trames.
Il est à noter qu'il est particulièrement avantageux, pour interpoler la représentation des enveloppes spectrales, d'effectuer cette interpolation dans le domaine cepstral. Contrairement à une interpolation effectuée sur d'autres paramètres, tels que les coefficients LSP (" Line Spectrum Pairs "), I'interpolation linéaire des coefficients cepstraux correspond à l'interpolation
linéaire des amplitudes spectrales comprimées.
Dans la variante représentée sur la figure 20, le codeur utilise les vecteurs cepstraux cxq[n], cxq[n-1],..., cxq[n-r] et cxq[n-1/2] calculés pour les dernières trames passées (r > 1) pour identifier un filtre interpolateur optimal qui, lorsqu'on lui soumet les vecteurs cepstraux quantifiés cxq[n-r],
- 28 -
cx_q[n] relatifs aux trames de rang entier, délivre un vecteur cepstral interpolé cxi[n-1/2] qui présente une distance minimale avec le vecteur
cx[n-1/2] calculé pour la dernière trame de rang demi-entier.
Dans l'exemple représenté sur la figure 20, ce filtre interpolateur 128 est présent dans le codeur, et un soustracteur 129 retranche sa sortie cxi[n-1/2] du vecteur cepstral calculé cx[n-1/2]. Un module de minimisation détermine le jeu de paramètres {P} du fiitre interpolateur 128, pour lequel l'erreur d'interpolation ecx[n-1/2] délivrée par le soustracteur 129 présente une norme minimale. Ce jeu de paramètres {P} est adressé à un module de quantification 131 qui fournit un index de quantification correspondant iP au
multiplexeur de sortie 6 du codeur.
En fonction du débit alloué dans le flux O aux index de quantification des paramètres {P} définissant le filtre interpolateur optimal 128, on pourra adopter une quantification plus ou moins fine de ces paramètres, ou une forme plus ou moins élaborée du filtre interpolateur, ou encore prévoir plusieurs filtres interpolateurs quantifiés de manière distincte pour différents vecteurs de
coefficients cepstraux.
Dans une réalisation simple, le filtre interpolateur 128 est linéaire, avec r= 1: cxi[n-1/2] = p.cxq[n-1] + (1-p).cxq[n] (23)
et le jeu de paramètres {P} se limite au coefficient p compris entre 0 et 1.
A partir des index iP de quantification des paramètres {P} obtenus dans le flux binaire rp, le décodeur reconstruit le filtre interpolateur 128 (aux erreurs de quantification près), et traite les vecteurs spectraux cxq[n-r],..., cxq[n] afin d'estimer les coefficients cepstraux cx[n-1/2] utilisés pour synthétiser les
trames de rang demi-entier.
De façon générale, le décodeur peut utiliser une méthode d'interpolation simple (sans transmission de paramètres de la part du codeur pour les trames de rang demi-entier), une méthode d'interpolation avec prise en compte d'une erreur d'interpolation quantifiée (selon les figures 17 et 18), ou une méthode d'interpolation avec un filtre interpolateur optimal (selon la figure 19) pour évaluer les trames de rang demi-entier en plus des trames de rang
entier évaluées directement comme expliqué en référence aux figures 8 à 13.
Le module 116 de synthèse temporelle peut alors combiner l'ensemble de ces
trames évaluées pour former le signal synthétisé x de la manière expliquée ci-
-29 -
après en référence aux figures 14, 21 et 22.
Comme dans la méthode de synthèse temporelle précédemment décrite, le module 116 effectue une somme à recouvrement de trames modifiées par rapport à celles successivement évaluées en sortie du module 115, et cette modification peut être vue en deux étapes dont la première est identique à celle précédemment décrite en référence à la figure 14 (diviser les
échantillons de la trame 2' par la fenêtre d'analyse fA).
La seconde étape (figure 21) consiste à multiplier les échantillons de la trame renormalisée 2" par une fenêtre de synthèse fs vérifiant les propriétés suivantes fs(i) =0 pour 0 i<N/2 - M/p et N/2 + M/p < i<N (24) fs(i) + fs(i + M/p) = A pour N/2 - M/p < i < N/2 (25) o A désigne une constante positive arbitraire, par exemple A = 1, et p est l'entier tel que le décalage temporel entre les trames successives (calculées directement et interpolées) soit de M/p échantillons, soit p = 2 dans l'exemple décrit. La fenêtre de synthèse fs(i) croît progressivement pour i allant de N/2 - M/p à N/2. C'est par exemple une sinusoïde surélevée sur l'intervalle N/2- M/p < i < N/2 + M/p. En particulier, la fenêtre de synthèse fs peut être, sur cet intervalle, une fenêtre de Hamming (comme représenté sur la figure 21)
ou une fenêtre de Hanning.
La figure 21 montre les trames successives 2" repositionnées dans le temps par le module 116. Les hachures indiquent les portions éliminées des trames (fenêtre de synthèse à 0). On voit qu'en effectuant la somme à recouvrement des échantillons des trames successives, la propriété (25)
assure une pondération homogène des échantillons du signal synthétisé.
Comme dans la méthode de synthèse illustrée par les figures 14 et 15, la procédure de pondération des trames obtenues par transformée de Fourier inverse des spectres Y peut être effectuée en une seule étape, avec une fenêtre composée fc (i) = (i)/fA (i). La figure 22 montre la forme de la fenêtre
composée fc dans le cas o les fenêtres fA et fS sont de type Hamming.
Comme la méthode de synthèse temporelle illustrée par les figures 14 à 17, celle illustrée par les figures 14, 21 et 22 permet de prendre en compte -30 - un recouvrement L entre deux trames d'analyse (pour lesquelles l'analyse est effectuée de façon complète) plus petit que la moitié que la taille N de ces trames. De façon générale, cette dernière méthode est applicable lorsque les trames d'analyse successives présentent des décalages temporels mutuels M de plus de N/2 échantillons (même éventuellement de plus de N échantillons si un très bas débit est requis), I'interpolation conduisant à un ensemble de trames dont les décalages temporels mutuels sont de moins de N/2 échantillons. Les trames interpolées peuvent faire l'objet d'une transmission réduite de paramètres de codage, comme décrit précédemment, mais cela n'est pas obligatoire. Ce mode de réalisation permet de conserver un intervalle M relativement grand entre deux trames d'analyse, et donc de limiter le débit de transmission requis, tout en limitant les discontinuités susceptibles d'apparaître en raison de la taille de cet intervalle par rapport aux échelles de temps typiques des variations des paramètres du signal audio, notamment les
coefficients cepstraux et la fréquence fondamentale.
-31 -

Claims (16)

REVENDICATIONS
1. Procédé d'analyse d'un signal audio (x) traité par trames successives de N échantillons, dans lequel on pondère les échantillons de chaque trame par une fenêtre d'analyse (fA) de type Hamming, Hanning, Kaiser ou analogue, on calcule un spectre du signal audio en transformant chaque trame d'échantillons pondérés dans le domaine fréquentiel, et on traite le spectre du signal audio pour délivrer des paramètres (cx_sup, cx_inf, Emix) de synthèse d'un signal dérivé du signal audio analysé, caractérisé en ce que les trames successives pour lesquelles on délivre des jeux complets de paramètres de synthèse présentent des recouvrements mutuels de moins de
N/2 échantillons.
2. Procédé selon la revendication 1, dans lequel on délivre pour certaines des trames des jeux incomplets de paramètres de synthèse incluant des données (icx[n-1/2]) représentant une erreur (ecx[n-1/2]) d'interpolation
d'au moins un des paramètres de synthèse.
3. Procédé selon la revendication 1, dans lequel on délivre pour certaines des trames des jeux incomplets de paramètres de synthèse incluant des données (iP) représentant un filtre (128) d'interpolation d'au moins un des
paramètres de synthèse.
4. Procédé selon l'une quelconque des revendications 1 à 3, dans
lequel le traitement du spectre du signal audio (x) comporte une extraction de paramètres de codage (cxsup, cx_inf, Emix) en vue de la transmission et/ou
du stockage du signal audio codé.
5. Procédé selon l'une quelconque des revendications 1 à 3, dans
lequel le traitement du spectre du signal audio (x) comporte un débruitage par
soustraction spectrale.
6. Dispositif de traitement audio, comprenant des moyens d'analyse
pour exécuter un procédé selon l'une quelconque des revendications 1 à 5.
7. Procédé de synthèse d'un signal audio, dans lequel on obtient des estimations spectrales successives (Y) correspondant respectivement à des -32 - trames de N échantillons du signal audio pondérés par une fenêtre d'analyse (fA), les trames successives présentant des recouvrements mutuels de L échantillons, on évalue chaque trame du signal audio en transformant les estimations spectrales dans le domaine temporel, et on combine les trames évaluées pour former le signal synthétisé (x), caractérisé en ce qu'on modifie chaque trame évaluée en lui appliquant un traitement correspondant à une division par ladite fenêtre d'analyse (fA) et à une multiplication par une fenêtre de synthèse (fs), et on forme le signal synthétisé comme une somme à recouvrement des trames modifiées, et en ce que, le nombre L étant plus petit que N/2 et les échantillons d'une trame ayant des rangs i numérotés de 0 à N-1, la fenêtre de synthèse fs(i) vérifie fs(N-L+i) + fs(i) = A pour 0 < i < L, et
est égale à A pour L < i < N-L, A étant une constante positive.
8. Procédé selon la revendication 7, dans lequel la fenêtre de synthèse fs(i) croît de 0 à A pour i allant de 0 à L.
9. Procédé selon la revendication 8, dans lequel la fenêtre de synthèse
fs(i) pour 0 < i < L est une demi-sinusoïde surélevée.
10. Procédé de synthèse d'un signal audio, dans lequel on évalue un ensemble de trames recouvrantes successives de N échantillons du signal audio pondérés par une fenêtre d'analyse (fA), en transformant dans le domaine temporel des estimations spectrales (Y) correspondant respectivement auxdites trames, et on combine les trames évaluées pour former le signal synthétisé (x), caractérisé en ce que, pour un sousensemble des trames évaluées, les estimations spectrales sont obtenues en traitant des paramètres de synthèse (cxsup_q, cxinf q, Emix) respectivement associés aux trames dudit sous-ensemble tandis que, pour les trames ne faisant pas partie du sous-ensemble, les estimations spectrales sont obtenues avec une interpolation d'une partie au moins des paramètres de synthèse, en ce que les trames successives dudit sousensemble présentent des décalages temporels mutuels de M échantillons, le nombre M étant plus grand que N/2, tandis que les trames successives dudit ensemble présentent des décalages temporels mutuels de M/p échantillons, p étant un entier plus grand que 1, en ce qu'on modifie chaque trame évaluée en lui appliquant un traitement correspondant à
- 33 -
une division par ladite fenêtre d'analyse (fA) et à une multiplication par une fenêtre de synthèse (fs), et on forme le signal synthétisé comme une somme à recouvrement des trames modifiées, et en ce que, les échantillons d'une trame ayant des rangs i numérotés de 0 à N-1, la fenêtre de synthèse fs(i) a un support limité aux rangs i allant de N/2 - M/p à N/2 + M/p et vérifie
fs (i) + fs (i + M/p) = A pour N/2 - M/p < i < N/2, A étant une constante positive.
11. Procédé selon la revendication 10, dans lequel la fenêtre de i
synthèse fs(i) croît pour i allant de N/2 - M/p à N/2.
12. Procédé selon la revendication 11, dans lequel la fenêtre de
synthèse fs(i) pour N/2 - M/p < i < N/2 + M/p est une sinusoïde surélevée.
13. Procédé selon l'une quelconque des revendications 10 à 12, dans
lequel des données (icxq[n-1/2]) représentant une erreur d'interpolation
(ecxq[n-1/2]) sont associées aux trames ne faisant pas partie dudit sous-
ensemble, et sont utilisées pour corriger au moins un des paramètres de
synthèse interpolés (cx_i[n-1/2]).
14. Procédé selon l'une quelconque des revendications 10 à 12, dans
lequel des données (iP) représentant un filtre interpolateur (128) sont associées aux trames ne faisant pas partie dudit sous-ensemble, et sont
utilisées pour interpoler au moins un des paramètres de synthèse.
15. Procédé selon l'une quelconque des revendications 10 à 14, dans
lequel les paramètres de synthèse comprennent des coefficients cepstraux
(cx[n]) soumis à l'interpolation.
16. Dispositif de traitement audio, comprenant des moyens de synthèse
pour exécuter un procédé selon l'une quelconque des revendications 7 à 15.
FR9908638A 1999-07-05 1999-07-05 Procedes et dispositifs d'analyse et de synthese audio Expired - Fee Related FR2796194B1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR9908638A FR2796194B1 (fr) 1999-07-05 1999-07-05 Procedes et dispositifs d'analyse et de synthese audio
AT00953223T ATE316284T1 (de) 1999-07-05 2000-07-04 Verfahren und system für audio analyse und synthese
AU65751/00A AU6575100A (en) 1999-07-05 2000-07-04 Methods and device for audio analysis and synthesis
EP00953223A EP1194923B1 (fr) 1999-07-05 2000-07-04 Procedes et dispositifs d'analyse et de synthese audio
DE60025615T DE60025615D1 (de) 1999-07-05 2000-07-04 Verfahren und system für audio analyse und synthese
PCT/FR2000/001904 WO2001003116A1 (fr) 1999-07-05 2000-07-04 Procedes et dispositifs d'analyse et de synthese audio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9908638A FR2796194B1 (fr) 1999-07-05 1999-07-05 Procedes et dispositifs d'analyse et de synthese audio

Publications (2)

Publication Number Publication Date
FR2796194A1 true FR2796194A1 (fr) 2001-01-12
FR2796194B1 FR2796194B1 (fr) 2002-05-03

Family

ID=9547707

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9908638A Expired - Fee Related FR2796194B1 (fr) 1999-07-05 1999-07-05 Procedes et dispositifs d'analyse et de synthese audio

Country Status (6)

Country Link
EP (1) EP1194923B1 (fr)
AT (1) ATE316284T1 (fr)
AU (1) AU6575100A (fr)
DE (1) DE60025615D1 (fr)
FR (1) FR2796194B1 (fr)
WO (1) WO2001003116A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0893791A2 (fr) * 1990-12-05 1999-01-27 Digital Voice Systems, Inc. Procédés de codage, amélioration et synthèse de la parole
US5878388A (en) * 1992-03-18 1999-03-02 Sony Corporation Voice analysis-synthesis method using noise having diffusion which varies with frequency band to modify predicted phases of transmitted pitch data blocks
US5911130A (en) * 1995-05-30 1999-06-08 Victor Company Of Japan, Ltd. Audio signal compression and decompression utilizing amplitude, frequency, and time information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0893791A2 (fr) * 1990-12-05 1999-01-27 Digital Voice Systems, Inc. Procédés de codage, amélioration et synthèse de la parole
US5878388A (en) * 1992-03-18 1999-03-02 Sony Corporation Voice analysis-synthesis method using noise having diffusion which varies with frequency band to modify predicted phases of transmitted pitch data blocks
US5911130A (en) * 1995-05-30 1999-06-08 Victor Company Of Japan, Ltd. Audio signal compression and decompression utilizing amplitude, frequency, and time information

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
9TH INTERNATIONAL CZECH - SLOVAK SCIENTIFIC CONFERENCE. RADIOELEKTRONIKA 99. CONFERENCE PROCEEDINGS, PROCEEDINGS OF 9TH INTERNATIONAL CZECH - SLOVAK SCIENTIFIC CONFERENCE. RADIOELEKTRONIKA 99, BRNO, CZECH REPUBLIC, 27-28 APRIL 1999, 1999, Brno, Czech Republic, Brno Univ. Technol, Czech Republic, pages 186 - 189, ISBN: 80-214-1327-1 *
AHMADI S ET AL: "New techniques for sinusoidal coding of speech at 2400 bps", CONFERENCE RECORD OF THIRTIETH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS (CAT. NO.96CB36004), CONFERENCE RECORD OF THE THIRTIETH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, PACIFIC GROVE, CA, USA, 3-6 NOV. 1996, 1997, Los Alamitos, CA, USA, IEEE Comput. Soc. Press, USA, pages 770 - 774 vol.1, XP002138769, ISBN: 0-8186-7646-9 *
DATABASE INSPEC [online] INSTITUTE OF ELECTRICAL ENGINEERS, STEVENAGE, GB; LAGLER A ET AL: "Real-time fixed-point DSP-implementation of spectral substraction algorithm for speech enhancement in noisy environment", XP002139930, Database accession no. 6604117 *

Also Published As

Publication number Publication date
DE60025615D1 (de) 2006-04-06
AU6575100A (en) 2001-01-22
WO2001003116A1 (fr) 2001-01-11
EP1194923A1 (fr) 2002-04-10
EP1194923B1 (fr) 2006-01-18
FR2796194B1 (fr) 2002-05-03
ATE316284T1 (de) 2006-02-15

Similar Documents

Publication Publication Date Title
EP0782128B1 (fr) Procédé d&#39;analyse par prédiction linéaire d&#39;un signal audiofréquence, et procédés de codage et de décodage d&#39;un signal audiofréquence en comportant application
EP3244407B1 (fr) Appareil et procédé pour modifier une représentation paramétrée
EP1989706B1 (fr) Dispositif de ponderation perceptuelle en codage/decodage audio
EP2452337B1 (fr) Allocation de bits dans un codage/décodage d&#39;amélioration d&#39;un codage/décodage hiérarchique de signaux audionumériques
EP1692689B1 (fr) Procede de codage multiple optimise
FR2734389A1 (fr) Procede d&#39;adaptation du niveau de masquage du bruit dans un codeur de parole a analyse par synthese utilisant un filtre de ponderation perceptuelle a court terme
EP1730729A1 (fr) Procede et systeme ameliores de conversion d&#39;un signal vocal
EP1606792B1 (fr) Procede d analyse d informations de frequence fondament ale et procede et systeme de conversion de voix mettant en oeuvre un tel procede d analyse
WO2023165946A1 (fr) Codage et décodage optimisé d&#39;un signal audio utilisant un auto-encodeur à base de réseau de neurones
EP1192619B1 (fr) Codage et decodage audio par interpolation
FR2796189A1 (fr) Procedes et dispositifs de codage et de decodage audio
EP1194923B1 (fr) Procedes et dispositifs d&#39;analyse et de synthese audio
EP1192621B1 (fr) Codage audio avec composants harmoniques
Giacobello et al. Speech coding based on sparse linear prediction
EP1192618B1 (fr) Codage audio avec liftrage adaptif
FR2796192A1 (fr) Procedes et dispositifs de codage et de decodage audio
FR2815160A1 (fr) Procede et dispositif de codage d&#39;un signal audiofrequence
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes
WO2013135997A1 (fr) Modification des caractéristiques spectrales d&#39;un filtre de prédiction linéaire d&#39;un signal audionumérique représenté par ses coefficients lsf ou isf
FR2739482A1 (fr) Procede et dispositif pour l&#39;evaluation du voisement du signal de parole par sous bandes dans des vocodeurs
FR2773653A1 (fr) Dispositifs de codage/decodage de donnees, et supports d&#39;enregistrement memorisant un programme de codage/decodage de donnees au moyen d&#39;un filtre de ponderation frequentielle
FR2980620A1 (fr) Traitement d&#39;amelioration de la qualite des signaux audiofrequences decodes

Legal Events

Date Code Title Description
CA Change of address
CD Change of name or company name
ST Notification of lapse

Effective date: 20060331