CA2899438C - Correction perfectionnee de perte de trame au decodage d'un signal - Google Patents
Correction perfectionnee de perte de trame au decodage d'un signal Download PDFInfo
- Publication number
- CA2899438C CA2899438C CA2899438A CA2899438A CA2899438C CA 2899438 C CA2899438 C CA 2899438C CA 2899438 A CA2899438 A CA 2899438A CA 2899438 A CA2899438 A CA 2899438A CA 2899438 C CA2899438 C CA 2899438C
- Authority
- CA
- Canada
- Prior art keywords
- signal
- segment
- synthesis
- frame
- spectral components
- 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.)
- Active
Links
- 238000012937 correction Methods 0.000 title description 12
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 48
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 48
- 230000003595 spectral effect Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 37
- 238000010276 construction Methods 0.000 claims description 17
- 238000012952 Resampling Methods 0.000 claims description 11
- 238000010183 spectrum analysis Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 description 8
- 238000011084 recovery Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000000873 masking effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000282979 Alces alces Species 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/093—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using sinusoidal excitation models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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
- G10L2019/0001—Codebooks
- G10L2019/0016—Codebook for LPC parameters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Error Detection And Correction (AREA)
Abstract
L'invention concerne un traitement de signal, le signal comportant une succession d'échantillons répartis en trames successives. Le traitement est mis en uvre pendant un décodage d'un tel signal pour remplacer au moins une trame de signal perdue au décodage, et comporte en particulier les étapes : a) recherche (S3), dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) analyse spectrale du segment (S4), pour une détermination de composantes spectrales du segment, c) synthèse (S6) d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales.
Description
Correction perfectionnée de perte de trame au décodage d'un signal La présente invention concerne une correction de signal, notamment dans un décodeur, en cas de perte de trame à la réception du signal par ce décodeur.
Le signal se présente sous la forme d'une succession d'échantillons, découpée en trames successives et on entend alors par trame un segment de signal composé d'un ou plusieurs échantillons (une réalisation où une trame comporte un échantillon unique étant possible si le signal se présente sous la forme d'une succession d'échantillons, comme par exemple dans les codecs selon la recommandation UIT-T G.711).
L'invention se situe dans le domaine du traitement numérique du signal, notamment mais non exclusivement dans le domaine du codage/décodage d'un signal audio. Les pertes de trames interviennent lorsqu'une communication (soit par transmission en temps-réel, soit par stockage en vue d'une transmission ultérieure) utilisant un codeur et un décodeur, est perturbée par les conditions de canal (à cause de problèmes radio, de congestion de réseau d'accès, etc.).
Dans ce cas, le décodeur utilise des mécanismes de correction (ou masquage ) de perte de trames pour tenter de substituer le signal manquant par un signal reconstitué, en utilisant les informations disponibles au sein du décodeur (par exemple le signal déjà décodé ou les paramètres reçus dans des trames précédentes). Cette technique permet de maintenir une bonne qualité de service malgré des performances de canal dégradées.
Les techniques de correction de perte de trames sont le plus souvent très dépendantes du type de codage utilisé.
Dans le cas du codage d'un signal de parole basé sur des technologies de type CELP (pour Code Excited Linear Prediction ), la correction de perte de trame exploite en particulier le modèle CELP.
Par exemple, dans un codage selon la recommandation UIT-T G.722.2, la solution pour remplacer une trame perdue (ou un paquet ) consiste à prolonger l'utilisation d'un gain de prédiction à long terme en l'atténuant, ainsi qu'à prolonger l'utilisation de chaque paramètre ISF
(pour Imittance Spectral Frequency ) en les faisant tendre vers leurs moyennes respectives. La hauteur tonale du signal de parole (ou pitch , paramètre désigné LTP lag ) est aussi répétée. Par ailleurs, on fournit au
Le signal se présente sous la forme d'une succession d'échantillons, découpée en trames successives et on entend alors par trame un segment de signal composé d'un ou plusieurs échantillons (une réalisation où une trame comporte un échantillon unique étant possible si le signal se présente sous la forme d'une succession d'échantillons, comme par exemple dans les codecs selon la recommandation UIT-T G.711).
L'invention se situe dans le domaine du traitement numérique du signal, notamment mais non exclusivement dans le domaine du codage/décodage d'un signal audio. Les pertes de trames interviennent lorsqu'une communication (soit par transmission en temps-réel, soit par stockage en vue d'une transmission ultérieure) utilisant un codeur et un décodeur, est perturbée par les conditions de canal (à cause de problèmes radio, de congestion de réseau d'accès, etc.).
Dans ce cas, le décodeur utilise des mécanismes de correction (ou masquage ) de perte de trames pour tenter de substituer le signal manquant par un signal reconstitué, en utilisant les informations disponibles au sein du décodeur (par exemple le signal déjà décodé ou les paramètres reçus dans des trames précédentes). Cette technique permet de maintenir une bonne qualité de service malgré des performances de canal dégradées.
Les techniques de correction de perte de trames sont le plus souvent très dépendantes du type de codage utilisé.
Dans le cas du codage d'un signal de parole basé sur des technologies de type CELP (pour Code Excited Linear Prediction ), la correction de perte de trame exploite en particulier le modèle CELP.
Par exemple, dans un codage selon la recommandation UIT-T G.722.2, la solution pour remplacer une trame perdue (ou un paquet ) consiste à prolonger l'utilisation d'un gain de prédiction à long terme en l'atténuant, ainsi qu'à prolonger l'utilisation de chaque paramètre ISF
(pour Imittance Spectral Frequency ) en les faisant tendre vers leurs moyennes respectives. La hauteur tonale du signal de parole (ou pitch , paramètre désigné LTP lag ) est aussi répétée. Par ailleurs, on fournit au
2 décodeur des valeurs aléatoires de paramètres caractérisant l'innovation (l'excitation dans le codage CELP).
Il convient de noter déjà que l'application de ce type de méthode, pour des codages par transformée ou des codages de forme d'ondes de type PCM ou ADPCM , nécessite un une analyse paramétrique de type CELP du signal passé au niveau du décodeur, ce qui introduit une complexité
supplémentaire.
Dans la recommandation UIT-T G.711 correspondant à un codeur de forme d'ondes, un exemple informatif de traitement de correction de perte de trame (donné dans la partie Appendice I du texte de cette recommandation) consiste à trouver une période de pitch dans le signal de parole déjà décodé et à
répéter la dernière période de pitch par recouvrement-addition (ou overlap-add en anglais) entre le signal déjà décodé et le signal répété (reconstruit par masquage). Ce traitement permet de gommer les artefacts audio mais nécessite un délai supplémentaire au décodeur (délai correspondant à la durée du recouvrement).
La technique la plus employée pour corriger la perte de trame dans le cas d'un codage par transformée consiste à répéter le spectre décodé dans la dernière trame reçue. Par exemple, dans le cas du codage selon la recommandation UIT-T G.722.1, la transformée MLT (pour modulated lapped transform ), équivalente à une transformée en cosinus discrète modifiée (ou MDCT pour modified discrete cosine transform ) avec un recouvrement de 50% et des fenêtres d' analyse/synthèse de forme sinusoïdale, permet d'assurer une transition (entre la dernière trame perdue et la trame répétée) qui est suffisamment lente pour gommer les artefacts liés à la simple répétition du spectre ; typiquement, si plus d'une trame est perdue, le spectre répété est mis à zéro.
Avantageusement, cette méthode de masquage ne nécessite pas de délai supplémentaire puisqu'elle exploite le recouvrement-addition entre le signal reconstitué et le signal passé pour réaliser une sorte de fondu enchaîné (avec repliement temporel dû à la transformée MLT). Il s'agit d'une technique très peu coûteuse en termes de ressources.
Toutefois, elle présente un défaut lié à l'incohérence temporelle entre le signal juste avant la perte de trame et le signal répété. Il en résulte une discontinuité (ou incohérence) de phase, qui peut produire des artefacts audio importants si la durée de recouvrement entre les signaux associés à deux trames est réduite (comme c'est le cas en particulier lorsque des fenêtres MDCT dites à
faible retard sont
Il convient de noter déjà que l'application de ce type de méthode, pour des codages par transformée ou des codages de forme d'ondes de type PCM ou ADPCM , nécessite un une analyse paramétrique de type CELP du signal passé au niveau du décodeur, ce qui introduit une complexité
supplémentaire.
Dans la recommandation UIT-T G.711 correspondant à un codeur de forme d'ondes, un exemple informatif de traitement de correction de perte de trame (donné dans la partie Appendice I du texte de cette recommandation) consiste à trouver une période de pitch dans le signal de parole déjà décodé et à
répéter la dernière période de pitch par recouvrement-addition (ou overlap-add en anglais) entre le signal déjà décodé et le signal répété (reconstruit par masquage). Ce traitement permet de gommer les artefacts audio mais nécessite un délai supplémentaire au décodeur (délai correspondant à la durée du recouvrement).
La technique la plus employée pour corriger la perte de trame dans le cas d'un codage par transformée consiste à répéter le spectre décodé dans la dernière trame reçue. Par exemple, dans le cas du codage selon la recommandation UIT-T G.722.1, la transformée MLT (pour modulated lapped transform ), équivalente à une transformée en cosinus discrète modifiée (ou MDCT pour modified discrete cosine transform ) avec un recouvrement de 50% et des fenêtres d' analyse/synthèse de forme sinusoïdale, permet d'assurer une transition (entre la dernière trame perdue et la trame répétée) qui est suffisamment lente pour gommer les artefacts liés à la simple répétition du spectre ; typiquement, si plus d'une trame est perdue, le spectre répété est mis à zéro.
Avantageusement, cette méthode de masquage ne nécessite pas de délai supplémentaire puisqu'elle exploite le recouvrement-addition entre le signal reconstitué et le signal passé pour réaliser une sorte de fondu enchaîné (avec repliement temporel dû à la transformée MLT). Il s'agit d'une technique très peu coûteuse en termes de ressources.
Toutefois, elle présente un défaut lié à l'incohérence temporelle entre le signal juste avant la perte de trame et le signal répété. Il en résulte une discontinuité (ou incohérence) de phase, qui peut produire des artefacts audio importants si la durée de recouvrement entre les signaux associés à deux trames est réduite (comme c'est le cas en particulier lorsque des fenêtres MDCT dites à
faible retard sont
3 utilisées). On a illustré cette situation de durée courte de recouvrement sur la figure 1B dans le cas d'une transformée MLT à faible retard, en comparaison de la situation habituelle de la figure 1 A dans laquelle des fenêtres longues en sinus sont utilisées selon la recommandation G.722.1 (offrant alors une grande durée de recouvrement ZRA, avec une modulation très progressive). Il apparait qu'une modulation par une fenêtre à faible retard produit un déphasage qui est audible du fait d'une zone de recouvrement courte ZRB, comme représenté sur la figure 1B.
Dans ce cas, quand bien même une solution combinant une recherche de pitch (cas du décodage selon la recommandation G.711 App. I) et un recouvrement-addition produit pas la fenêtre d'une transformée MDCT serait mise en oeuvre, elle ne serait pas suffisante pour supprimer les artefacts audio liés notamment au déphasage entre différentes composantes fréquentielles.
La présente invention vient améliorer la situation.
Elle propose à cet effet un procédé de traitement d'un signal comportant une succession d'échantillons répartis en trames successives, le procédé étant mis en oeuvre pendant un décodage dudit signal pour remplacer au moins une trame de signal perdue au décodage. En particulier, le procédé comporte les étapes :
a) recherche, dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) analyse spectrale du segment, pour une détermination de composantes spectrales du segment, c) synthèse d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales.
On entend ici par trame un bloc d'au moins un échantillon. Dans la plupart des codecs, ces trames sont constituées de plusieurs échantillons. Toutefois, dans des codecs notamment de type PCM (pour Pulse Code Modulation ), par exemple selon la recommandation G.711, le signal est constitué
simplement d'une succession d'échantillons (une trame au sens de l'invention ne comportant alors qu'un unique échantillon). L'invention peut alors aussi s'appliquer à ce type de codecs.
Par exemple, le signal valide peut être constitué des dernières trames valides reçues avant la perte de trame. Eventuellement, on peut avoir recours aussi à une ou quelques trames valides suivantes, reçues après la trame perdue (bien qu'une telle réalisation entraîne un retard au décodage). Les échantillons du signal valide qui sont utilisés peuvent être directement ceux des trames, et éventuellement ceux qui
Dans ce cas, quand bien même une solution combinant une recherche de pitch (cas du décodage selon la recommandation G.711 App. I) et un recouvrement-addition produit pas la fenêtre d'une transformée MDCT serait mise en oeuvre, elle ne serait pas suffisante pour supprimer les artefacts audio liés notamment au déphasage entre différentes composantes fréquentielles.
La présente invention vient améliorer la situation.
Elle propose à cet effet un procédé de traitement d'un signal comportant une succession d'échantillons répartis en trames successives, le procédé étant mis en oeuvre pendant un décodage dudit signal pour remplacer au moins une trame de signal perdue au décodage. En particulier, le procédé comporte les étapes :
a) recherche, dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) analyse spectrale du segment, pour une détermination de composantes spectrales du segment, c) synthèse d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales.
On entend ici par trame un bloc d'au moins un échantillon. Dans la plupart des codecs, ces trames sont constituées de plusieurs échantillons. Toutefois, dans des codecs notamment de type PCM (pour Pulse Code Modulation ), par exemple selon la recommandation G.711, le signal est constitué
simplement d'une succession d'échantillons (une trame au sens de l'invention ne comportant alors qu'un unique échantillon). L'invention peut alors aussi s'appliquer à ce type de codecs.
Par exemple, le signal valide peut être constitué des dernières trames valides reçues avant la perte de trame. Eventuellement, on peut avoir recours aussi à une ou quelques trames valides suivantes, reçues après la trame perdue (bien qu'une telle réalisation entraîne un retard au décodage). Les échantillons du signal valide qui sont utilisés peuvent être directement ceux des trames, et éventuellement ceux qui
4 correspondent à la mémoire de la transformée et qui contiennent typiquement un repliement (ou aliasing ) dans le cas d'un décodage par transformée avec recouvrement de type MLT ou MDCT.
L'invention apporte alors une solution avantageuse à la correction de perte de trame(s), notamment dans le cas où un retard supplémentaire au décodeur est proscrit, par exemple lorsque l'on utilise un décodeur par transformée avec des fenêtres ne permettant pas d'avoir un recouvrement suffisamment grand entre le signal de substitution et le signal issu du dépliement temporel (cas typique des fenêtres à
faible retard pour une MDCT ou une MLT, comme représenté sur la figure 1B).
L'invention offre un avantage particulier pour un recouvrement, du fait de l'utilisation des composantes spectrales sur les dernières trames valides reçues pour construire un signal de synthèse comportant la coloration spectrale des ces dernières trames valides. Néanmoins, l'invention s'applique bien entendu à tout type de codage/décodage (par transformée, CELP, PCM, ou autres).
Dans un mode de réalisation, le procédé comporte une recherche, par corrélation dans le signal valide, d'une période de répétition, la durée du segment précitée comportant alors au moins une période de répétition.
Une telle période de répétition correspond par exemple à une période de pitch dans le cas d'un signal de parole voisé (inverse de la fréquence fondamentale du signal).
Néanmoins, le signal peut être aussi issu d'un signal de musique par exemple, présentant une tonalité globale à laquelle est associée une fréquence fondamentale, ainsi qu'une période fondamentale qui pourrait correspondre à la période de répétition précitée.
On peut par exemple avoir recours à une recherche de période de répétition liée à la tonalité du signal.
Par exemple, on peut constituer un premier buffer (ou mémoire tampon en français) des quelques derniers échantillons valablement reçus et chercher par corrélation dans un deuxième buffer de plus grande taille, les quelques échantillons du deuxième buffer qui correspondent le mieux dans leur succession à ceux du premier buffer. L'écart temporel entre ces échantillons identifiés du deuxième buffer et ceux du premier buffer peut constituer une période de répétition ou un multiple de cette période (selon la finesse de la recherche par corrélation). On peut noter que le fait de prendre un multiple de la période de répétition ne dégrade pas la mise en oeuvre de l'invention, car, dans ce cas, l'analyse spectrale se fait simplement sur une longueur couvrant plusieurs périodes au lieu d'une seule, ce qui contribue à augmenter la finesse de l'analyse.
Ainsi, on peut déterminer la durée de signal sur laquelle on effectue l'analyse spectrale comme étant :
- une durée correspondant à une période de répétition (si une tonalité du signal est bien identifiable), - une durée correspondant à plusieurs périodes de répétition (cycles de pitch par exemple), si la
L'invention apporte alors une solution avantageuse à la correction de perte de trame(s), notamment dans le cas où un retard supplémentaire au décodeur est proscrit, par exemple lorsque l'on utilise un décodeur par transformée avec des fenêtres ne permettant pas d'avoir un recouvrement suffisamment grand entre le signal de substitution et le signal issu du dépliement temporel (cas typique des fenêtres à
faible retard pour une MDCT ou une MLT, comme représenté sur la figure 1B).
L'invention offre un avantage particulier pour un recouvrement, du fait de l'utilisation des composantes spectrales sur les dernières trames valides reçues pour construire un signal de synthèse comportant la coloration spectrale des ces dernières trames valides. Néanmoins, l'invention s'applique bien entendu à tout type de codage/décodage (par transformée, CELP, PCM, ou autres).
Dans un mode de réalisation, le procédé comporte une recherche, par corrélation dans le signal valide, d'une période de répétition, la durée du segment précitée comportant alors au moins une période de répétition.
Une telle période de répétition correspond par exemple à une période de pitch dans le cas d'un signal de parole voisé (inverse de la fréquence fondamentale du signal).
Néanmoins, le signal peut être aussi issu d'un signal de musique par exemple, présentant une tonalité globale à laquelle est associée une fréquence fondamentale, ainsi qu'une période fondamentale qui pourrait correspondre à la période de répétition précitée.
On peut par exemple avoir recours à une recherche de période de répétition liée à la tonalité du signal.
Par exemple, on peut constituer un premier buffer (ou mémoire tampon en français) des quelques derniers échantillons valablement reçus et chercher par corrélation dans un deuxième buffer de plus grande taille, les quelques échantillons du deuxième buffer qui correspondent le mieux dans leur succession à ceux du premier buffer. L'écart temporel entre ces échantillons identifiés du deuxième buffer et ceux du premier buffer peut constituer une période de répétition ou un multiple de cette période (selon la finesse de la recherche par corrélation). On peut noter que le fait de prendre un multiple de la période de répétition ne dégrade pas la mise en oeuvre de l'invention, car, dans ce cas, l'analyse spectrale se fait simplement sur une longueur couvrant plusieurs périodes au lieu d'une seule, ce qui contribue à augmenter la finesse de l'analyse.
Ainsi, on peut déterminer la durée de signal sur laquelle on effectue l'analyse spectrale comme étant :
- une durée correspondant à une période de répétition (si une tonalité du signal est bien identifiable), - une durée correspondant à plusieurs périodes de répétition (cycles de pitch par exemple), si la
5 corrélation donne un premier résultat de corrélation supérieur à un seuil prédéterminé, comme expliqué dans un mode de réalisation optionnel ci-après, - une durée arbitraire de signal (par exemple quelques dizaines d'échantillons), si une telle tonalité n'est pas identifiable (signal comportant essentiellement du bruit).
Dans une réalisation particulière, la période de répétition précitée correspond à une durée pour laquelle la corrélation dépasse une valeur seuil prédéterminée. Ainsi, dans cette réalisation, on identifie la durée du signal dès que la corrélation dépasse une valeur seuil prédéterminée pour cette durée. La durée ainsi identifiée correspond à une ou plusieurs périodes associées à une fréquence de la tonalité globale précitée. Une telle réalisation permet avantageusement de limiter la complexité de la recherche par corrélation (par exemple, en fixant un seuil de corrélation à 60 ou 70%), même si en réalité on détecte non pas une seule, mais plusieurs périodes de pitch (par exemple entre deux et cinq périodes de pitch).
D'une part, la complexité de la recherche par corrélation est alors plus basse. D'autre part, l'analyse spectrale sur plusieurs périodes est plus fine et les composantes spectrales obtenues sont plus finement analysées.
Concernant l'obtention des composantes spectrales par analyse du segment (par exemple par transformée de Fourier rapide, ou FFT ), le procédé comporte en outre une détermination des phases respectives associées à ces composantes spectrales et la construction du signal de synthèse comporte alors les phases des composantes spectrales. La construction du signal intègre alors ces phases, comme on le verra plus loin, pour une optimisation du raccordement du signal de synthèse aux dernières trames valides et, dans la plupart des cas naturels, aux trames valides suivantes.
Dans une réalisation particulière aussi, le procédé comporte en outre une détermination d'amplitudes respectives associées aux composantes spectrales, et la construction du signal de synthèse comporte ces amplitudes des composantes spectrales (pour leur prise en compte dans la construction du signal de synthèse).
Dans une réalisation particulière, il est possible de sélectionner des composantes issues de l'analyse pour la construction du signal de synthèse. Par exemple, dans une réalisation où le procédé comporte
Dans une réalisation particulière, la période de répétition précitée correspond à une durée pour laquelle la corrélation dépasse une valeur seuil prédéterminée. Ainsi, dans cette réalisation, on identifie la durée du signal dès que la corrélation dépasse une valeur seuil prédéterminée pour cette durée. La durée ainsi identifiée correspond à une ou plusieurs périodes associées à une fréquence de la tonalité globale précitée. Une telle réalisation permet avantageusement de limiter la complexité de la recherche par corrélation (par exemple, en fixant un seuil de corrélation à 60 ou 70%), même si en réalité on détecte non pas une seule, mais plusieurs périodes de pitch (par exemple entre deux et cinq périodes de pitch).
D'une part, la complexité de la recherche par corrélation est alors plus basse. D'autre part, l'analyse spectrale sur plusieurs périodes est plus fine et les composantes spectrales obtenues sont plus finement analysées.
Concernant l'obtention des composantes spectrales par analyse du segment (par exemple par transformée de Fourier rapide, ou FFT ), le procédé comporte en outre une détermination des phases respectives associées à ces composantes spectrales et la construction du signal de synthèse comporte alors les phases des composantes spectrales. La construction du signal intègre alors ces phases, comme on le verra plus loin, pour une optimisation du raccordement du signal de synthèse aux dernières trames valides et, dans la plupart des cas naturels, aux trames valides suivantes.
Dans une réalisation particulière aussi, le procédé comporte en outre une détermination d'amplitudes respectives associées aux composantes spectrales, et la construction du signal de synthèse comporte ces amplitudes des composantes spectrales (pour leur prise en compte dans la construction du signal de synthèse).
Dans une réalisation particulière, il est possible de sélectionner des composantes issues de l'analyse pour la construction du signal de synthèse. Par exemple, dans une réalisation où le procédé comporte
6 une détermination d'amplitudes respectives associées aux composantes spectrales, les composantes spectrales d'amplitudes les plus élevées peuvent être celles sélectionnées pour la construction du signal de synthèse. On peut sélectionner aussi, en complément ou en variante, celles dont l'amplitude forme un pic dans le spectre des fréquences.
Dans le cas où seule une partie des composantes spectrales est sélectionnée, dans une réalisation particulière, on ajoute du bruit au signal de synthèse pour compenser une perte d'énergie relative à des composantes spectrales non sélectionnées pour la construction du signal de synthèse.
Dans une réalisation, le bruit précité est obtenu par un résidu pondéré
(temporellement) entre le signal du segment et le signal de synthèse. Il peut par exemple être pondéré par des fenêtres de recouvrement, comme dans le cadre d'un codage/décodage par transformation avec recouvrement.
L'analyse spectrale du segment comporte une analyse sinusoïdale par transformée de Fourier rapide (FFT), préférentiellement de longueur 2^k, où k est supérieur ou égal à
log2(P), P étant le nombre d'échantillons dans le segment de signal. Une telle réalisation permet de réduire la complexité du traitement, comme détaillé plus loin. On peut noter que d'autres transformées sont possibles, par exemple une transformée de type Modulated Complex Lapped Transform (MCLT) en tant qu'alternative possible à la transformée FFT.
En particulier, on peut prévoir, dans l'étape d'analyse spectrale :
- une interpolation des échantillons du segment pour obtenir un deuxième segment comportant un nombre d'échantillons 2Aceil(log2(P)), où ceil(x) est l'entier supérieur ou égal à x, - un calcul de la transformée de Fourier du deuxième segment ; et - après détermination des composantes spectrales, identification de fréquences associées aux composantes, et construction du signal de synthèse par ré-échantillonnage avec modification desdites fréquences en fonction du ré-échantillonnage.
La présente invention trouve une application avantageuse mais aucunement limitative au contexte de décodage par transformée avec recouvrement. Dans un tel contexte, il peut être avantageux que le signal de synthèse soit construit (répété) sur une durée d'au moins deux trames, de manière à couvrir aussi les parties comportant un repliement temporel (aliasing) au-delà d'une seule trame.
Dans le cas où seule une partie des composantes spectrales est sélectionnée, dans une réalisation particulière, on ajoute du bruit au signal de synthèse pour compenser une perte d'énergie relative à des composantes spectrales non sélectionnées pour la construction du signal de synthèse.
Dans une réalisation, le bruit précité est obtenu par un résidu pondéré
(temporellement) entre le signal du segment et le signal de synthèse. Il peut par exemple être pondéré par des fenêtres de recouvrement, comme dans le cadre d'un codage/décodage par transformation avec recouvrement.
L'analyse spectrale du segment comporte une analyse sinusoïdale par transformée de Fourier rapide (FFT), préférentiellement de longueur 2^k, où k est supérieur ou égal à
log2(P), P étant le nombre d'échantillons dans le segment de signal. Une telle réalisation permet de réduire la complexité du traitement, comme détaillé plus loin. On peut noter que d'autres transformées sont possibles, par exemple une transformée de type Modulated Complex Lapped Transform (MCLT) en tant qu'alternative possible à la transformée FFT.
En particulier, on peut prévoir, dans l'étape d'analyse spectrale :
- une interpolation des échantillons du segment pour obtenir un deuxième segment comportant un nombre d'échantillons 2Aceil(log2(P)), où ceil(x) est l'entier supérieur ou égal à x, - un calcul de la transformée de Fourier du deuxième segment ; et - après détermination des composantes spectrales, identification de fréquences associées aux composantes, et construction du signal de synthèse par ré-échantillonnage avec modification desdites fréquences en fonction du ré-échantillonnage.
La présente invention trouve une application avantageuse mais aucunement limitative au contexte de décodage par transformée avec recouvrement. Dans un tel contexte, il peut être avantageux que le signal de synthèse soit construit (répété) sur une durée d'au moins deux trames, de manière à couvrir aussi les parties comportant un repliement temporel (aliasing) au-delà d'une seule trame.
7 Dans une réalisation particulière, le signal de synthèse peut être construit sur deux durées de trame et encore une durée supplémentaire correspondant à un délai introduit par un filtre de ré-échantillonnage (notamment dans la réalisation exposée ci-avant et où un ré-échantillonnage est prévu).
Il peut être avantageux de gérer un buffer de gigue dans certaines réalisations. Dans le cas où la correction de perte de trames est réalisée conjointement avec la gestion d'un buffer de gigue, l'invention peut alors être appliquée dans ces conditions en adaptant la durée du signal synthèse.
Dans une réalisation, le procédé comporte en outre une séparation en une bande de fréquences hautes et une bande de fréquences basses, du signal issu de la ou des trame(s) valide(s), et les composantes spectrales sont sélectionnées dans la bande de fréquences basses. Une telle réalisation permet de limiter la complexité du traitement essentiellement à la bande de fréquences basses, les hautes fréquences apportant peu de richesse spectrale au signal de synthèse et pouvant être répétées de façon plus simple.
Dans cette réalisation, la trame de remplacement peut être synthétisée par addition :
- d'un premier signal construit à partir de composantes spectrales sélectionnées dans la bande de fréquences basses, et - d'un deuxième signal issu d'un filtrage dans la bande de fréquences hautes, le deuxième signal étant obtenu par duplication successive d'au moins une demi-trame valide et sa version retournée temporellement.
La présente invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre du procédé (dont, par exemple, un organigramme général peut être le schéma général de la figure 2, et éventuellement des organigrammes particuliers des figures 5 et/ou
Il peut être avantageux de gérer un buffer de gigue dans certaines réalisations. Dans le cas où la correction de perte de trames est réalisée conjointement avec la gestion d'un buffer de gigue, l'invention peut alors être appliquée dans ces conditions en adaptant la durée du signal synthèse.
Dans une réalisation, le procédé comporte en outre une séparation en une bande de fréquences hautes et une bande de fréquences basses, du signal issu de la ou des trame(s) valide(s), et les composantes spectrales sont sélectionnées dans la bande de fréquences basses. Une telle réalisation permet de limiter la complexité du traitement essentiellement à la bande de fréquences basses, les hautes fréquences apportant peu de richesse spectrale au signal de synthèse et pouvant être répétées de façon plus simple.
Dans cette réalisation, la trame de remplacement peut être synthétisée par addition :
- d'un premier signal construit à partir de composantes spectrales sélectionnées dans la bande de fréquences basses, et - d'un deuxième signal issu d'un filtrage dans la bande de fréquences hautes, le deuxième signal étant obtenu par duplication successive d'au moins une demi-trame valide et sa version retournée temporellement.
La présente invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre du procédé (dont, par exemple, un organigramme général peut être le schéma général de la figure 2, et éventuellement des organigrammes particuliers des figures 5 et/ou
8 dans certains modes de réalisation).
La présente invention vise aussi un dispositif de décodage d'un signal comportant une succession d'échantillons répartis en trames successives, le dispositif comportant des moyens pour remplacer au moins une trame de signal perdue, comportant :
a) des moyens de recherche, dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) des moyens d'analyse spectrale du segment, pour une détermination de composantes spectrales du segment, c) des moyens de synthèse d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales.
Un tel dispositif peut prendre la forme matérielle par exemple d'un processeur et éventuellement d'une mémoire de travail, typiquement dans un terminal de communication.
D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée ci-après d'exemples de réalisation de l'invention et à l'examen des dessins sur lesquels :
- la figure 1 A illustre un recouvrement avec des fenêtres classiques dans le cadre d'une transformée MLT, - la figure 1B illustre un recouvrement avec des fenêtres à faible retard, en comparaison de la représentation de la figure 1A, - la figure 2 représente un exemple de traitement général au sens de l'invention, - la figure 3 illustre la détermination d'un segment de signal correspondant à une période fondamentale, - la figure 4 illustre la détermination d'un segment de signal correspondant à une période fondamentale, avec, dans cet exemple de réalisation, un décalage la recherche de corrélation, - la figure 5 représente un mode de réalisation d'une analyse spectrale du segment de signal, - la figure 6 illustre un exemple de réalisation pour recopier, dans les hautes fréquences, une trame valide en remplacement de plusieurs trames perdues, - la figure 7 illustre la reconstruction du signal des trames perdues, avec la pondération par les fenêtres de synthèse, - la figure 8 illustre un exemple d'application du procédé au sens de la présente invention, au décodage d'un signal, - la figure 9 représente schématiquement un dispositif comportant des moyens de mise en oeuvre du procédé au sens de l'invention.
Un traitement au sens de l'invention est illustré sur la figure 2. Il est mis en oeuvre auprès d'un décodeur. Le décodeur peut être de type quelconque, le traitement étant globalement indépendant de la nature du codage/décodage. Dans l'exemple décrit, le traitement s'applique à
un signal audio reçu. Il peut s'appliquer toutefois de façon plus générale à tout type de signal analysé par fenêtrage temporel et transformation, avec une harmonisation à assurer avec une ou plusieurs trames de remplacement lors d'une synthèse par recouvrement-addition.
La présente invention vise aussi un dispositif de décodage d'un signal comportant une succession d'échantillons répartis en trames successives, le dispositif comportant des moyens pour remplacer au moins une trame de signal perdue, comportant :
a) des moyens de recherche, dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) des moyens d'analyse spectrale du segment, pour une détermination de composantes spectrales du segment, c) des moyens de synthèse d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales.
Un tel dispositif peut prendre la forme matérielle par exemple d'un processeur et éventuellement d'une mémoire de travail, typiquement dans un terminal de communication.
D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée ci-après d'exemples de réalisation de l'invention et à l'examen des dessins sur lesquels :
- la figure 1 A illustre un recouvrement avec des fenêtres classiques dans le cadre d'une transformée MLT, - la figure 1B illustre un recouvrement avec des fenêtres à faible retard, en comparaison de la représentation de la figure 1A, - la figure 2 représente un exemple de traitement général au sens de l'invention, - la figure 3 illustre la détermination d'un segment de signal correspondant à une période fondamentale, - la figure 4 illustre la détermination d'un segment de signal correspondant à une période fondamentale, avec, dans cet exemple de réalisation, un décalage la recherche de corrélation, - la figure 5 représente un mode de réalisation d'une analyse spectrale du segment de signal, - la figure 6 illustre un exemple de réalisation pour recopier, dans les hautes fréquences, une trame valide en remplacement de plusieurs trames perdues, - la figure 7 illustre la reconstruction du signal des trames perdues, avec la pondération par les fenêtres de synthèse, - la figure 8 illustre un exemple d'application du procédé au sens de la présente invention, au décodage d'un signal, - la figure 9 représente schématiquement un dispositif comportant des moyens de mise en oeuvre du procédé au sens de l'invention.
Un traitement au sens de l'invention est illustré sur la figure 2. Il est mis en oeuvre auprès d'un décodeur. Le décodeur peut être de type quelconque, le traitement étant globalement indépendant de la nature du codage/décodage. Dans l'exemple décrit, le traitement s'applique à
un signal audio reçu. Il peut s'appliquer toutefois de façon plus générale à tout type de signal analysé par fenêtrage temporel et transformation, avec une harmonisation à assurer avec une ou plusieurs trames de remplacement lors d'une synthèse par recouvrement-addition.
9 Au cours d'une première étape Si du traitement de la figure 2, N échantillons audio sont stockés successivement dans une mémoire tampon ou buffer (par exemple de type FIFO). Le buffer audio b(n) peut être ainsi constitué par exemple de 47 ms de signal, soit par exemple de 2,35=47/20 trames audio de 20 ms chacune, à une fréquence d'échantillonnage Fe donnée, par exemple Fe=32 kHz. Ces échantillons correspondent à des échantillons déjà décodés et donc accessibles au moment du traitement de correction de perte de trame(s). Si le premier échantillon à
synthétiser est l'échantillon d'indice temporel N (d'une ou plusieurs trames consécutives perdues), le buffer audio b(n) correspond alors aux N échantillons précédents d'indices temporels 0 à N-1. Dans le cas d'un codeur par transformée, le buffer audio correspond aux échantillons déjà décodés dans la trame passée (et sont donc non modifiables). Si l'ajout d'un retard supplémentaire au décodeur est possible (par exemple de D échantillons), le buffer peut ne contenir qu'une partie seulement des échantillons disponibles au décodeur, laissant par exemple les D derniers échantillons pour le recouvrement-addition (de l'étape S10 de la figure 2).
A l'étape de filtrage S2, le buffer audio b(n) est ensuite séparé en deux bandes de fréquences, une bande de fréquences basses BB et une bande de fréquences hautes BH avec une fréquence de séparation notée Fe ci-après, avec par exemple Fe=41(Hz. Ce filtrage est préférentiellement un filtrage sans délai. La taille du buffer audio définie précédemment correspond alors préférentiellement, avec cette fréquence Fe, maintenant à N' = N Fe/Fe.
L'étape S3, appliquée sur la bande de fréquences basses, consiste à rechercher ensuite un point de bouclage et un segment P correspondant à la période fondamentale (ou période de pitch ) au sein du buffer b(n) ré-échantillonné avec la fréquence Fe. A cet effet, on calcule dans un exemple de réalisation une corrélation normalisée corr(n) entre :
- un segment cible du buffer (référence CIB de la figure 3), ce segment étant de taille Ns comprise entre N'-Ns et N'-1 (d'une durée par exemple de 6ms), et - un segment glissant de taille Ns qui commence à un échantillon occupant une position entre l'échantillon 0 et l'échantillon Ne (avec Ne>N'-Ns ; Ne correspondant pas exemple à une durée de 35 ms), avec :
¨ Ns rr(n) = n + 2 ¨ N s k) En référence à la figure 3, si le maximum de corrélation est trouvé pour l'échantillon d'indice temporel n=mc, le point de bouclage avec une période de pitch, d'indice n=pb, correspond à l'échantillon mc+Ns et le segment noté p(n) qui suit sur la figure 3 correspond à une période de pitch de taille P=N' -Ns-mc, défini entre les échantillons n=pb et n=N' -1.
Le segment glissant, de recherche, est antérieur au segment cible, comme représenté sur la figure 3. En particulier, le premier échantillon du segment cible correspond au dernier échantillon du segment de recherche. Si le maximum de corrélation avec le segment cible CIB est trouvé
antérieurement dans le segment de recherche en un point d'indice mc, alors il s'écoule au moins une période de pitch (avec
synthétiser est l'échantillon d'indice temporel N (d'une ou plusieurs trames consécutives perdues), le buffer audio b(n) correspond alors aux N échantillons précédents d'indices temporels 0 à N-1. Dans le cas d'un codeur par transformée, le buffer audio correspond aux échantillons déjà décodés dans la trame passée (et sont donc non modifiables). Si l'ajout d'un retard supplémentaire au décodeur est possible (par exemple de D échantillons), le buffer peut ne contenir qu'une partie seulement des échantillons disponibles au décodeur, laissant par exemple les D derniers échantillons pour le recouvrement-addition (de l'étape S10 de la figure 2).
A l'étape de filtrage S2, le buffer audio b(n) est ensuite séparé en deux bandes de fréquences, une bande de fréquences basses BB et une bande de fréquences hautes BH avec une fréquence de séparation notée Fe ci-après, avec par exemple Fe=41(Hz. Ce filtrage est préférentiellement un filtrage sans délai. La taille du buffer audio définie précédemment correspond alors préférentiellement, avec cette fréquence Fe, maintenant à N' = N Fe/Fe.
L'étape S3, appliquée sur la bande de fréquences basses, consiste à rechercher ensuite un point de bouclage et un segment P correspondant à la période fondamentale (ou période de pitch ) au sein du buffer b(n) ré-échantillonné avec la fréquence Fe. A cet effet, on calcule dans un exemple de réalisation une corrélation normalisée corr(n) entre :
- un segment cible du buffer (référence CIB de la figure 3), ce segment étant de taille Ns comprise entre N'-Ns et N'-1 (d'une durée par exemple de 6ms), et - un segment glissant de taille Ns qui commence à un échantillon occupant une position entre l'échantillon 0 et l'échantillon Ne (avec Ne>N'-Ns ; Ne correspondant pas exemple à une durée de 35 ms), avec :
¨ Ns rr(n) = n + 2 ¨ N s k) En référence à la figure 3, si le maximum de corrélation est trouvé pour l'échantillon d'indice temporel n=mc, le point de bouclage avec une période de pitch, d'indice n=pb, correspond à l'échantillon mc+Ns et le segment noté p(n) qui suit sur la figure 3 correspond à une période de pitch de taille P=N' -Ns-mc, défini entre les échantillons n=pb et n=N' -1.
Le segment glissant, de recherche, est antérieur au segment cible, comme représenté sur la figure 3. En particulier, le premier échantillon du segment cible correspond au dernier échantillon du segment de recherche. Si le maximum de corrélation avec le segment cible CIB est trouvé
antérieurement dans le segment de recherche en un point d'indice mc, alors il s'écoule au moins une période de pitch (avec
10 une même intensité de sinusoïde par exemple) entre le point d'indice temporel mc et l'échantillon d'indice temporel mc+P. Il s'écoule de la même manière au moins une période de pitch entre l'échantillon d'indice mc+Ns (point de bouclage, d'indice pb) et le dernier échantillon du buffer N'.
Il convient de noter qu'une variante de cette réalisation consiste en une auto-corrélation sur le buffer, revenant à trouver une période moyenne P identifiée dans le buffer. Dans ce cas, le segment servant pour la synthèse comporte les P derniers échantillons du buffer. Toutefois, un calcul d'auto-corrélation sur un grand segment peut être complexe et nécessiter plus de ressource informatique qu'une simple corrélation du type décrit ci-avant.
D'ailleurs, une autre variante de cette réalisation consiste à ne pas rechercher nécessairement le maximum de corrélation sur tout le segment de recherche, mais à rechercher simplement un segment où la corrélation avec le segment cible est supérieure à un seuil choisi (par exemple 70%). Une telle réalisation ne donne pas précisément une seule période de pitch P (mais possiblement plusieurs périodes successives), mais néanmoins la complexité liée au traitement d'un long segment de synthèse (de plusieurs périodes de pitch) nécessite autant, voire moins de ressource, que la recherche d'un maximum de corrélation sur tout le segment de recherche.
Dans ce qui suit, on présume qu'une seule période de pitch P sert à la synthèse du signal, mais il convient de noter toutefois que le principe du traitement s'applique aussi bien pour un segment s'étendant sur plusieurs périodes fondamentales. Les résultats s'avèrent même meilleurs avec plusieurs périodes de pitch, en termes de précision sur la transformée FFT et de richesse sur les composantes spectrales obtenues.
Il convient de noter qu'une variante de cette réalisation consiste en une auto-corrélation sur le buffer, revenant à trouver une période moyenne P identifiée dans le buffer. Dans ce cas, le segment servant pour la synthèse comporte les P derniers échantillons du buffer. Toutefois, un calcul d'auto-corrélation sur un grand segment peut être complexe et nécessiter plus de ressource informatique qu'une simple corrélation du type décrit ci-avant.
D'ailleurs, une autre variante de cette réalisation consiste à ne pas rechercher nécessairement le maximum de corrélation sur tout le segment de recherche, mais à rechercher simplement un segment où la corrélation avec le segment cible est supérieure à un seuil choisi (par exemple 70%). Une telle réalisation ne donne pas précisément une seule période de pitch P (mais possiblement plusieurs périodes successives), mais néanmoins la complexité liée au traitement d'un long segment de synthèse (de plusieurs périodes de pitch) nécessite autant, voire moins de ressource, que la recherche d'un maximum de corrélation sur tout le segment de recherche.
Dans ce qui suit, on présume qu'une seule période de pitch P sert à la synthèse du signal, mais il convient de noter toutefois que le principe du traitement s'applique aussi bien pour un segment s'étendant sur plusieurs périodes fondamentales. Les résultats s'avèrent même meilleurs avec plusieurs périodes de pitch, en termes de précision sur la transformée FFT et de richesse sur les composantes spectrales obtenues.
11 Dans le cas où des transitoires seraient présentes dans le signal audio contenu dans le buffer (pics d'intensité très courts temporellement, dans le signal audio), il est possible d'adapter la zone de recherche de corrélation, par exemple en décalant la recherche de corrélation (en la faisant commencer typiquement 20 ms après le début du buffer audio comme illustré à titre d'exemple sur la figure 4, ou en effectuant la recherche de corrélation dans une zone temporelle commençant après la fin d'un transitoire).
L'étape suivante S4 consiste à décomposer le segment p(n) en une somme de sinus. Une façon classique pour décomposer un signal en une somme de sinus consiste à calculer la transformée de Fourier discrète (ou DFT en anglais) du signal sur une durée correspondant à
la longueur du signal. On obtient ainsi la fréquence, la phase et l'amplitude de chacune des composantes sinusoïdales qui composent le signal. Dans un mode de réalisation particulier de l'invention, pour des raisons de réduction de complexité, cette analyse est faite par une transformée de Fourier rapide FFT, de taille 2^1( (avec k supérieur ou égal à log2(P)).
Dans ce mode particulier, l'étape S4 est décomposée en trois opérations, avec, en référence à la figure 5:
- l'opération S41 où les échantillons du segment p(n) sont interpolés de manière à obtenir un segment p'(n) composé de P' échantillons avec P>=
> P , où ceil(x) est l'entier supérieur ou égal à x (on peut par exemple et de manière non restrictive utiliser une interpolation linéaire ou encore de type spline cubique ) ;
- l'opération S42 avec le calcul de la transformée FFT de p'(n) : ni(k) =
FFT(p'f, ni)); et - l'opération S43 dans laquelle, à partir de la transformée FFT, on obtient directement les phases 0(k)et amplitudes (k) des composantes sinusoïdales, les fréquences normalisées entre 0 et 1 étant données par:
2kPe -o OZ
A l'étape S5 de la figure 2, les composantes sinusoïdales sont sélectionnées de manière à ne garder uniquement que les composantes les plus importantes. Dans un mode de réalisation particulier, la sélection des composantes revient à:
- sélectionner tout d'abord les amplitudes A(k) pour lesquelles A(k)>A(k-1) et A(k)>A(k+1) avec E
L'étape suivante S4 consiste à décomposer le segment p(n) en une somme de sinus. Une façon classique pour décomposer un signal en une somme de sinus consiste à calculer la transformée de Fourier discrète (ou DFT en anglais) du signal sur une durée correspondant à
la longueur du signal. On obtient ainsi la fréquence, la phase et l'amplitude de chacune des composantes sinusoïdales qui composent le signal. Dans un mode de réalisation particulier de l'invention, pour des raisons de réduction de complexité, cette analyse est faite par une transformée de Fourier rapide FFT, de taille 2^1( (avec k supérieur ou égal à log2(P)).
Dans ce mode particulier, l'étape S4 est décomposée en trois opérations, avec, en référence à la figure 5:
- l'opération S41 où les échantillons du segment p(n) sont interpolés de manière à obtenir un segment p'(n) composé de P' échantillons avec P>=
> P , où ceil(x) est l'entier supérieur ou égal à x (on peut par exemple et de manière non restrictive utiliser une interpolation linéaire ou encore de type spline cubique ) ;
- l'opération S42 avec le calcul de la transformée FFT de p'(n) : ni(k) =
FFT(p'f, ni)); et - l'opération S43 dans laquelle, à partir de la transformée FFT, on obtient directement les phases 0(k)et amplitudes (k) des composantes sinusoïdales, les fréquences normalisées entre 0 et 1 étant données par:
2kPe -o OZ
A l'étape S5 de la figure 2, les composantes sinusoïdales sont sélectionnées de manière à ne garder uniquement que les composantes les plus importantes. Dans un mode de réalisation particulier, la sélection des composantes revient à:
- sélectionner tout d'abord les amplitudes A(k) pour lesquelles A(k)>A(k-1) et A(k)>A(k+1) avec E
12 - ensuite, parmi les amplitudes de cette première sélection, on sélectionne les composantes, par exemple par ordre décroissant d'amplitude, de manière à ce que l'amplitude cumulée des pics sélectionnés soit d'au moins x% (par exemple x=70%) de l'amplitude cumulée du demi-spectre.
Il est aussi possible en plus, de limiter le nombre de composantes (par exemple à 20) de manière à
rendre la synthèse moins complexe. De façon alternative, une recherche d'un nombre prédéterminé des pics les plus importants peut être utilisée.
Bien entendu, la méthode de sélection des composantes spectrales ne se limite pas aux exemples présentés ci-dessus. Elle est susceptible de variantes. Elle peut notamment se baser sur tout critère permettant d'identifier des composantes spectrales utiles à la synthèse du signal (par exemple des critères subjectifs liés au masquage, des critères liés l'harmonicité du signal, ou autres).
L'étape suivante S6 vise une synthèse sinusoïdale. Dans un exemple de réalisation, elle consiste à
générer un segment s(n) de longueur au moins égale à la taille d'une trame perdue (T). Dans un mode de réalisation particulier, une longueur égale à 2 trames (par exemple 40 ms) est générée de manière à
pouvoir effectuer un mixage sonore de type fondu enchainé (comme une transition) entre le signal synthétisé (par correction de perte d'une trame) et le signal décodé à la trame valide suivante lorsqu'une telle trame est à nouveau reçue correctement.
Pour anticiper le ré-échantillonnage de la trame (longueur d'échantillons notée LF), le nombre d'échantillons à synthétiser peut être augmenté de la moitié de la taille du filtre de ré-échantillonnage (LF). Le signal de synthèse s(n) est calculé comme une somme des composantes sinusoïdales sélectionnées :
[T F
sel) = , !,A! k) mn; nli,, kt:) n + 9. (0) n E q) Z
k =0 où k est l'indice des K composantes sélectionnées de l'étape S5. Plusieurs méthodes classiques pour réaliser cette synthèse sinusoïdale sont possibles.
L'étape S7 de la figure 2 consiste à injecter du bruit de manière à compenser la perte d'énergie liée à
l'omission de certaines composantes fréquentielles dans la bande de fréquences basses. Un mode de réalisation particulier consiste à calculer le résidu r(n)=p(n)-s(n) entre le segment correspondant au pitch p(n) et le signal synthétisé s(n), avec : n e [O:;. P ¨ IL
Il est aussi possible en plus, de limiter le nombre de composantes (par exemple à 20) de manière à
rendre la synthèse moins complexe. De façon alternative, une recherche d'un nombre prédéterminé des pics les plus importants peut être utilisée.
Bien entendu, la méthode de sélection des composantes spectrales ne se limite pas aux exemples présentés ci-dessus. Elle est susceptible de variantes. Elle peut notamment se baser sur tout critère permettant d'identifier des composantes spectrales utiles à la synthèse du signal (par exemple des critères subjectifs liés au masquage, des critères liés l'harmonicité du signal, ou autres).
L'étape suivante S6 vise une synthèse sinusoïdale. Dans un exemple de réalisation, elle consiste à
générer un segment s(n) de longueur au moins égale à la taille d'une trame perdue (T). Dans un mode de réalisation particulier, une longueur égale à 2 trames (par exemple 40 ms) est générée de manière à
pouvoir effectuer un mixage sonore de type fondu enchainé (comme une transition) entre le signal synthétisé (par correction de perte d'une trame) et le signal décodé à la trame valide suivante lorsqu'une telle trame est à nouveau reçue correctement.
Pour anticiper le ré-échantillonnage de la trame (longueur d'échantillons notée LF), le nombre d'échantillons à synthétiser peut être augmenté de la moitié de la taille du filtre de ré-échantillonnage (LF). Le signal de synthèse s(n) est calculé comme une somme des composantes sinusoïdales sélectionnées :
[T F
sel) = , !,A! k) mn; nli,, kt:) n + 9. (0) n E q) Z
k =0 où k est l'indice des K composantes sélectionnées de l'étape S5. Plusieurs méthodes classiques pour réaliser cette synthèse sinusoïdale sont possibles.
L'étape S7 de la figure 2 consiste à injecter du bruit de manière à compenser la perte d'énergie liée à
l'omission de certaines composantes fréquentielles dans la bande de fréquences basses. Un mode de réalisation particulier consiste à calculer le résidu r(n)=p(n)-s(n) entre le segment correspondant au pitch p(n) et le signal synthétisé s(n), avec : n e [O:;. P ¨ IL
13 F
Ce résidu de taille P est répété de manière à ce qu'il atteigne une taille Le signal s(n) est ensuite mixé (additionné avec éventuellement une pondération) au signal r(n).
Bien entendu, la méthode de génération du bruit (pour obtenir un bruit de fond naturel) n'est pas limitée à l'exemple ci-avant et admet des variantes. Par exemple, il est possible aussi de calculer le résidu dans le domaine fréquentiel (en supprimant les composantes spectrales sélectionnées du spectre orignal) et d'obtenir un bruit de fond par transformée inverse.
Parallèlement, l'étape S8 consiste à traiter la bande des hautes fréquences simplement en répétant le signal. Par exemple, il peut s'agir de répéter une longueur de trame T. Dans une réalisation plus sophistiquée, la synthèse de la bande BH est obtenue en prenant les derniers T' échantillons avant la perte de trame (avec par exemple T',N/2), et en les retournant temporellement, puis en les répétant sans les retourner, et ainsi de suite, comme illustré sur la figure 6. Une telle réalisation permet avantageusement d'éviter des artefacts audibles en mettant à même niveau les intensités en début et fin de trames.
Dans un mode de réalisation particulier, la trame de taille T' peut être pondérée de manière à éviter certain artefacts lorsque les contenus sont particulièrement énergétiques dans la bande de fréquences hautes. La pondération (notée W sur la figure 6) peut par exemple prendre la forme d'une demi-fenêtre sinusoïdale de 1 ms au début et à la fin de la trame de taille T/2. Les trames successives peuvent aussi se recouvrir.
Dans une étape S9, le signal est synthétisé en ré-échantillonnant la bande des basses fréquences à sa fréquence Fc d'origine, et en l'additionnant au signal issu de la répétition de l'étape 58 dans la bande des fréquences hautes.
A l'étape S10, on procède à un recouvrement-addition qui permet d'assurer une continuité entre le signal avant la perte de trame et le signal synthétisé. Par exemple, dans le cas d'un codage par transformée à bas délai, on utilise pour la mise en oeuvre de cette étape S10, les L échantillons situés entre le début de la partie aliasée (partie repliée restante) de la transformée MDCT et les trois-quarts de la taille de la fenêtre (avec par exemple un axe de repliement temporel des fenêtres comme habituellement dans le cadre d'une transformée MDCT). En référence à la figure 7, ces échantillons sont déjà recouverts par la fenêtre de synthèse W1 de la transformée MDCT. De manière à pouvoir leur
Ce résidu de taille P est répété de manière à ce qu'il atteigne une taille Le signal s(n) est ensuite mixé (additionné avec éventuellement une pondération) au signal r(n).
Bien entendu, la méthode de génération du bruit (pour obtenir un bruit de fond naturel) n'est pas limitée à l'exemple ci-avant et admet des variantes. Par exemple, il est possible aussi de calculer le résidu dans le domaine fréquentiel (en supprimant les composantes spectrales sélectionnées du spectre orignal) et d'obtenir un bruit de fond par transformée inverse.
Parallèlement, l'étape S8 consiste à traiter la bande des hautes fréquences simplement en répétant le signal. Par exemple, il peut s'agir de répéter une longueur de trame T. Dans une réalisation plus sophistiquée, la synthèse de la bande BH est obtenue en prenant les derniers T' échantillons avant la perte de trame (avec par exemple T',N/2), et en les retournant temporellement, puis en les répétant sans les retourner, et ainsi de suite, comme illustré sur la figure 6. Une telle réalisation permet avantageusement d'éviter des artefacts audibles en mettant à même niveau les intensités en début et fin de trames.
Dans un mode de réalisation particulier, la trame de taille T' peut être pondérée de manière à éviter certain artefacts lorsque les contenus sont particulièrement énergétiques dans la bande de fréquences hautes. La pondération (notée W sur la figure 6) peut par exemple prendre la forme d'une demi-fenêtre sinusoïdale de 1 ms au début et à la fin de la trame de taille T/2. Les trames successives peuvent aussi se recouvrir.
Dans une étape S9, le signal est synthétisé en ré-échantillonnant la bande des basses fréquences à sa fréquence Fc d'origine, et en l'additionnant au signal issu de la répétition de l'étape 58 dans la bande des fréquences hautes.
A l'étape S10, on procède à un recouvrement-addition qui permet d'assurer une continuité entre le signal avant la perte de trame et le signal synthétisé. Par exemple, dans le cas d'un codage par transformée à bas délai, on utilise pour la mise en oeuvre de cette étape S10, les L échantillons situés entre le début de la partie aliasée (partie repliée restante) de la transformée MDCT et les trois-quarts de la taille de la fenêtre (avec par exemple un axe de repliement temporel des fenêtres comme habituellement dans le cadre d'une transformée MDCT). En référence à la figure 7, ces échantillons sont déjà recouverts par la fenêtre de synthèse W1 de la transformée MDCT. De manière à pouvoir leur
14 appliquer une fenêtre de recouvrement W2, les échantillons sont divisés par la fenêtre W1 (laquelle est déjà connue du décodeur), puis multipliés par la fenêtre W2. Le signal S(n) synthétisé par la mise en oeuvre des étapes Si à S9 décrites précédemment s'exprime ainsi :
W3 q.',n) S(n) - Sfe:1/2(n) n E L - 1]
avec par exemple, et de manière non limitative, des fonctions de recouvrement définies par:
ez(n 0,5b13 leen =
2L .1 et 11.73(n) = 1 ¨ 142.2(n). E ¨ 1]
Comme décrit précédemment, si l'on autorise un délai au niveau du décodeur, cette durée du délai peut être utilisée pour faire un recouvrement avec la partie synthétisée, en utilisant toute pondération appropriée au recouvrement-addition.
Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant ; elle s'étend à d'autres variantes.
Ainsi par exemple, la séparation en bandes de fréquences hautes et basses à
l'étape S2 est optionnelle.
Dans une variante de réalisation, le signal issu du buffer (étape Si) n'est pas séparé en deux sous-bandes et les étapes S3 à S10 restent identiques à celles décrites ci-avant.
Néanmoins, le traitement des composantes spectrales dans les basses fréquences seulement permet avantageusement d'en limiter la complexité.
L'invention peut être mise en oeuvre dans un décodeur conversationnel, dans le cas d'une perte de trame. Matériellement, elle peut être mise en oeuvre dans un circuit pour le décodage, dans un terminal de téléphonie typiquement. A cet effet, un tel circuit CIR peut comporter ou être connecté à un processeur PROC, comme illustré sur la figure 9, et peut comporter une mémoire de travail MEM, programmée avec des instructions de programme informatique selon l'invention pour exécuter le procédé ci-avant.
Par exemple, l'invention peut être mise en oeuvre dans un décodeur par transformée temps réel. En référence à la figure 8, le décodeur envoie des requêtes pour obtenir une trame audio dans un buffer de trames (étape 581). Si la trame est disponible (sortie OK du test), le décodeur décode la trame (S82) pour obtenir un signal dans le domaine transformé, opère une transformé
inverse IMDCT (S83) qui permet alors d'obtenir des échantillons temporels aliasés , et procède à
une dernière étape S84 de fenêtrage (par une fenêtre de synthèse) et de recouvrement pour obtenir des échantillons temporels exempts d'aliasing qui seront ensuite envoyés à un convertisseur numérique analogique pour restitution.
Lorsqu'une trame est manquante (sortie KO du test), le décodeur utilise alors le signal déjà décodé
5 ainsi que la partie aliasée de la trame précédente (étape S85), dans le procédé de correction de perte de trames au sens de l'invention.
W3 q.',n) S(n) - Sfe:1/2(n) n E L - 1]
avec par exemple, et de manière non limitative, des fonctions de recouvrement définies par:
ez(n 0,5b13 leen =
2L .1 et 11.73(n) = 1 ¨ 142.2(n). E ¨ 1]
Comme décrit précédemment, si l'on autorise un délai au niveau du décodeur, cette durée du délai peut être utilisée pour faire un recouvrement avec la partie synthétisée, en utilisant toute pondération appropriée au recouvrement-addition.
Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant ; elle s'étend à d'autres variantes.
Ainsi par exemple, la séparation en bandes de fréquences hautes et basses à
l'étape S2 est optionnelle.
Dans une variante de réalisation, le signal issu du buffer (étape Si) n'est pas séparé en deux sous-bandes et les étapes S3 à S10 restent identiques à celles décrites ci-avant.
Néanmoins, le traitement des composantes spectrales dans les basses fréquences seulement permet avantageusement d'en limiter la complexité.
L'invention peut être mise en oeuvre dans un décodeur conversationnel, dans le cas d'une perte de trame. Matériellement, elle peut être mise en oeuvre dans un circuit pour le décodage, dans un terminal de téléphonie typiquement. A cet effet, un tel circuit CIR peut comporter ou être connecté à un processeur PROC, comme illustré sur la figure 9, et peut comporter une mémoire de travail MEM, programmée avec des instructions de programme informatique selon l'invention pour exécuter le procédé ci-avant.
Par exemple, l'invention peut être mise en oeuvre dans un décodeur par transformée temps réel. En référence à la figure 8, le décodeur envoie des requêtes pour obtenir une trame audio dans un buffer de trames (étape 581). Si la trame est disponible (sortie OK du test), le décodeur décode la trame (S82) pour obtenir un signal dans le domaine transformé, opère une transformé
inverse IMDCT (S83) qui permet alors d'obtenir des échantillons temporels aliasés , et procède à
une dernière étape S84 de fenêtrage (par une fenêtre de synthèse) et de recouvrement pour obtenir des échantillons temporels exempts d'aliasing qui seront ensuite envoyés à un convertisseur numérique analogique pour restitution.
Lorsqu'une trame est manquante (sortie KO du test), le décodeur utilise alors le signal déjà décodé
5 ainsi que la partie aliasée de la trame précédente (étape S85), dans le procédé de correction de perte de trames au sens de l'invention.
Claims (14)
1. Procédé de traitement d'un signal comportant une succession d'échantillons répartis en trames successives, le procédé étant mis en ceuvre pendant un décodage dudit signal pour remplacer au moins une trame de signal perdue au décodage, le procédé comportant les étapes :
a) recherche (S3), dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) analyse spectrale du segment (S4), pour une détermination de composantes spectrales du segment, comportant :
- une interpolation (S41) des échantillons du segment pour obtenir un deuxième segment comportant un nombre d'échantillons 2.LAMBDA.ceil(log2(P)), où ceil(x) est l'entier supérieur ou égal à x, - un calcul (S42) de la transformée de Fourier du deuxième segment, et - après détermination des composantes spectrales, identification de fréquences associées aux composantes, et construction du signal de synthèse par ré-échantillonnage avec modification desdites fréquences en fonction du ré-échantillonnage, c) synthèse (S6) d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales, ledit signal de synthèse ayant une pluralité desdites composantes spectrales.
a) recherche (S3), dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) analyse spectrale du segment (S4), pour une détermination de composantes spectrales du segment, comportant :
- une interpolation (S41) des échantillons du segment pour obtenir un deuxième segment comportant un nombre d'échantillons 2.LAMBDA.ceil(log2(P)), où ceil(x) est l'entier supérieur ou égal à x, - un calcul (S42) de la transformée de Fourier du deuxième segment, et - après détermination des composantes spectrales, identification de fréquences associées aux composantes, et construction du signal de synthèse par ré-échantillonnage avec modification desdites fréquences en fonction du ré-échantillonnage, c) synthèse (S6) d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à partir d'une partie au moins des composantes spectrales, ledit signal de synthèse ayant une pluralité desdites composantes spectrales.
2. Procédé selon la revendication 1, comportant en outre une recherche, par corrélation dans ledit signal valide, d'une période de répétition, la durée du segment comportant au moins une répétition
3. Procédé selon la revendication 2, dans lequel la période de répétition correspond à une durée pour laquelle la corrélation dépasse une valeur seuil prédéterminée.
4. Procédé selon l'une quelconque des revendications 1 à 3, comportant en outre une détermination de phases respectives associées aux composantes spectrales, et dans lequel la construction du signal de synthèse comporte lesdites phases des composantes spectrales.
5. Procédé selon l'une quelconque des revendications 1 à 4, comportant en outre une détermination d'amplitudes respectives associées aux composantes spectrales, et dans lequel la construction du signal de synthèse comporte lesdites amplitudes des composantes spectrales.
6. Procédé selon l'une quelconque des revendications 1 à 5, comportant en outre une détermination d'amplitudes respectives associées aux composantes spectrales, et dans lequel les composantes spectrales d'amplitudes les plus élevées sont sélectionnées (S5) pour la construction du signal de synthèse.
7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel on ajoute du bruit (S7) au signal de synthèse pour compenser une perte d'énergie relative à des composantes spectrales non sélectionnées pour la construction du signal de synthèse.
8. Procédé selon la revendication 7, dans lequel le bruit est obtenu par un résidu pondéré entre le signal du segment et le signal de synthèse.
9. Procédé selon l'une quelconque des revendications 1 à 8, appliqué dans un contexte de décodage par transformée avec recouvrement, dans lequel le signal de synthèse est construit sur au moins deux durées de trame.
10. Procédé selon la revendication 9, dans lequel le signal de synthèse est construit sur deux durées de trame et une durée supplémentaire correspondant à un délai introduit par un filtre de ré-échantillonnage.
11. Procédé selon l'une quelconque des revendications 1 à 10, comportant en outre une séparation (S2) en une bande de fréquences hautes et une bande de fréquences basses, d'un signal issu de ladite ou desdites trames valides, et dans lequel les composantes spectrales sont sélectionnées dans la bande de fréquences basses.
12. Procédé selon la revendication 11, dans lequel la trame de remplacement est synthétisée par addition :
- d'un premier signal construit à partir de composantes spectrales sélectionnées dans la bande de fréquences basses, - d'un deuxième signal issu d'un filtrage dans la bande de fréquences hautes, le deuxième signal étant obtenu par duplication successive (S8) d'au moins une demi-trame valide et sa version retournée temporellement.
- d'un premier signal construit à partir de composantes spectrales sélectionnées dans la bande de fréquences basses, - d'un deuxième signal issu d'un filtrage dans la bande de fréquences hautes, le deuxième signal étant obtenu par duplication successive (S8) d'au moins une demi-trame valide et sa version retournée temporellement.
13. Mémoire lisible par ordinateur et stockant des instructions dont l'exécution par ordinateur se traduit par la mise en ceuvre du procédé selon l'une quelconque des revendications 1 à
12.
12.
14. Dispositif de décodage d'un signal comportant une succession d'échantillons répartis en trames successives, le dispositif comportant des moyens (MEM, PROC) pour remplacer au moins une trame de signal perdue, comportant :
a) des moyens de recherche, dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) des moyens d'analyse spectrale du segment, pour une détermination de composantes spectrales du segment, lesdits moyens d'analyse spectrale du segment étant adaptés pour mettre en ceuvre :
- une interpolation (S41) des échantillons du segment pour obtenir un deuxième segment comportant un nombre d'échantillons 2.LAMBDA.ceil(log2(P)), où ceil(x) est l'entier supérieur ou égal à x, - un calcul (S42) de la transformée de Fourier du deuxième segment, et après détermination des composantes spectrales, identification de fréquences associées aux composantes, et construction du signal de synthèse par ré-échantillonnage avec modification desdites fréquences en fonction du ré-échantillonnage,c) des moyens de synthèse d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à
partir d'une partie au moins des composantes spectrales, ledit signal de synthèse ayant une pluralité
desdites composantes spectrales.
a) des moyens de recherche, dans un signal valide disponible au décodage, d'un segment de signal, de durée correspondant à une période déterminée en fonction dudit signal valide, b) des moyens d'analyse spectrale du segment, pour une détermination de composantes spectrales du segment, lesdits moyens d'analyse spectrale du segment étant adaptés pour mettre en ceuvre :
- une interpolation (S41) des échantillons du segment pour obtenir un deuxième segment comportant un nombre d'échantillons 2.LAMBDA.ceil(log2(P)), où ceil(x) est l'entier supérieur ou égal à x, - un calcul (S42) de la transformée de Fourier du deuxième segment, et après détermination des composantes spectrales, identification de fréquences associées aux composantes, et construction du signal de synthèse par ré-échantillonnage avec modification desdites fréquences en fonction du ré-échantillonnage,c) des moyens de synthèse d'au moins une trame de remplacement de la trame perdue, par construction d'un signal de synthèse à
partir d'une partie au moins des composantes spectrales, ledit signal de synthèse ayant une pluralité
desdites composantes spectrales.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1350845 | 2013-01-31 | ||
FR1350845A FR3001593A1 (fr) | 2013-01-31 | 2013-01-31 | Correction perfectionnee de perte de trame au decodage d'un signal. |
PCT/FR2014/050166 WO2014118468A1 (fr) | 2013-01-31 | 2014-01-30 | Correction perfectionnée de perte de trame au décodage d'un signal |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2899438A1 CA2899438A1 (fr) | 2014-08-07 |
CA2899438C true CA2899438C (fr) | 2021-02-02 |
Family
ID=48901064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2899438A Active CA2899438C (fr) | 2013-01-31 | 2014-01-30 | Correction perfectionnee de perte de trame au decodage d'un signal |
Country Status (11)
Country | Link |
---|---|
US (1) | US9613629B2 (fr) |
EP (1) | EP2951813B1 (fr) |
JP (1) | JP6426626B2 (fr) |
KR (1) | KR102398818B1 (fr) |
CN (1) | CN105122356B (fr) |
BR (1) | BR112015018102B1 (fr) |
CA (1) | CA2899438C (fr) |
FR (1) | FR3001593A1 (fr) |
MX (1) | MX350634B (fr) |
RU (1) | RU2652464C2 (fr) |
WO (1) | WO2014118468A1 (fr) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3020732A1 (fr) | 2014-04-30 | 2015-11-06 | Orange | Correction de perte de trame perfectionnee avec information de voisement |
FR3023646A1 (fr) * | 2014-07-11 | 2016-01-15 | Orange | Mise a jour des etats d'un post-traitement a une frequence d'echantillonnage variable selon la trame |
CN108922551B (zh) * | 2017-05-16 | 2021-02-05 | 博通集成电路(上海)股份有限公司 | 用于补偿丢失帧的电路及方法 |
MX2019013558A (es) | 2017-05-18 | 2020-01-20 | Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung Ev | Dispositivo de red de gestion. |
US10663040B2 (en) | 2017-07-27 | 2020-05-26 | Uchicago Argonne, Llc | Method and precision nanopositioning apparatus with compact vertical and horizontal linear nanopositioning flexure stages for implementing enhanced nanopositioning performance |
WO2019091576A1 (fr) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codeurs audio, décodeurs audio, procédés et programmes informatiques adaptant un codage et un décodage de bits les moins significatifs |
EP3483886A1 (fr) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Sélection de délai tonal |
EP3483882A1 (fr) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Contrôle de la bande passante dans des codeurs et/ou des décodeurs |
EP3483880A1 (fr) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Mise en forme de bruit temporel |
EP3483879A1 (fr) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Fonction de fenêtrage d'analyse/de synthèse pour une transformation chevauchante modulée |
EP3483884A1 (fr) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Filtrage de signal |
EP3483883A1 (fr) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codage et décodage de signaux audio avec postfiltrage séléctif |
EP3483878A1 (fr) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Décodeur audio supportant un ensemble de différents outils de dissimulation de pertes |
CN109525373B (zh) * | 2018-12-25 | 2021-08-24 | 荣成歌尔科技有限公司 | 数据处理方法、数据处理装置和播放设备 |
MX2021009635A (es) * | 2019-02-21 | 2021-09-08 | Ericsson Telefon Ab L M | Estimacion de la forma espectral a partir de coeficientes de mdct. |
BR112021021928A2 (pt) * | 2019-06-13 | 2021-12-21 | Ericsson Telefon Ab L M | Método para gerar um subquadro de áudio de ocultação, dispositivo decodificador, programa de computador, e, produto de programa de computador |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272556B1 (en) * | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals |
US6754630B2 (en) * | 1998-11-13 | 2004-06-22 | Qualcomm, Inc. | Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation |
US6138089A (en) * | 1999-03-10 | 2000-10-24 | Infolio, Inc. | Apparatus system and method for speech compression and decompression |
US7054453B2 (en) * | 2002-03-29 | 2006-05-30 | Everest Biomedical Instruments Co. | Fast estimation of weak bio-signals using novel algorithms for generating multiple additional data frames |
KR100954668B1 (ko) * | 2003-04-17 | 2010-04-27 | 주식회사 케이티 | 손실 전/후 패킷정보를 이용한 패킷손실 은닉 방법 |
JP2006174028A (ja) * | 2004-12-15 | 2006-06-29 | Matsushita Electric Ind Co Ltd | 音声符号化方法、音声復号化方法、音声符号化装置および音声復号化装置 |
FR2907586A1 (fr) * | 2006-10-20 | 2008-04-25 | France Telecom | Synthese de blocs perdus d'un signal audionumerique,avec correction de periode de pitch. |
WO2008049221A1 (fr) * | 2006-10-24 | 2008-05-02 | Voiceage Corporation | Procédé et dispositif pour coder les trames de transition dans des signaux de discours |
JP5618826B2 (ja) * | 2007-06-14 | 2014-11-05 | ヴォイスエイジ・コーポレーション | Itu.t勧告g.711と相互運用可能なpcmコーデックにおいてフレーム消失を補償する装置および方法 |
WO2010086342A1 (fr) * | 2009-01-28 | 2010-08-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encodeur audio, décodeur audio, procédé d'encodage d'informations audio d'entrée, procédé de décodage d'informations audio d'entrée et programme d'ordinateur utilisant des tables de codage améliorées |
US9031834B2 (en) * | 2009-09-04 | 2015-05-12 | Nuance Communications, Inc. | Speech enhancement techniques on the power spectrum |
US20110196673A1 (en) * | 2010-02-11 | 2011-08-11 | Qualcomm Incorporated | Concealing lost packets in a sub-band coding decoder |
-
2013
- 2013-01-31 FR FR1350845A patent/FR3001593A1/fr active Pending
-
2014
- 2014-01-30 WO PCT/FR2014/050166 patent/WO2014118468A1/fr active Application Filing
- 2014-01-30 CN CN201480007003.6A patent/CN105122356B/zh active Active
- 2014-01-30 US US14/764,422 patent/US9613629B2/en active Active
- 2014-01-30 KR KR1020157023696A patent/KR102398818B1/ko active IP Right Grant
- 2014-01-30 JP JP2015555770A patent/JP6426626B2/ja active Active
- 2014-01-30 CA CA2899438A patent/CA2899438C/fr active Active
- 2014-01-30 BR BR112015018102-3A patent/BR112015018102B1/pt active IP Right Grant
- 2014-01-30 EP EP14705848.1A patent/EP2951813B1/fr active Active
- 2014-01-30 MX MX2015009964A patent/MX350634B/es active IP Right Grant
- 2014-01-30 RU RU2015136540A patent/RU2652464C2/ru active
Also Published As
Publication number | Publication date |
---|---|
FR3001593A1 (fr) | 2014-08-01 |
EP2951813A1 (fr) | 2015-12-09 |
US20150371647A1 (en) | 2015-12-24 |
JP6426626B2 (ja) | 2018-11-21 |
BR112015018102B1 (pt) | 2022-03-22 |
RU2652464C2 (ru) | 2018-04-26 |
CN105122356B (zh) | 2019-12-20 |
MX2015009964A (es) | 2016-06-02 |
US9613629B2 (en) | 2017-04-04 |
KR102398818B1 (ko) | 2022-05-17 |
JP2016511432A (ja) | 2016-04-14 |
KR20150113161A (ko) | 2015-10-07 |
RU2015136540A (ru) | 2017-03-06 |
EP2951813B1 (fr) | 2016-12-07 |
CA2899438A1 (fr) | 2014-08-07 |
MX350634B (es) | 2017-09-12 |
WO2014118468A1 (fr) | 2014-08-07 |
BR112015018102A2 (pt) | 2017-07-18 |
CN105122356A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2899438C (fr) | Correction perfectionnee de perte de trame au decodage d'un signal | |
CA2909401C (fr) | Correction de perte de trame par injection de bruit pondere | |
CA2867069C (fr) | Appareil et procede pour convertir un signal audio en une representation parametree, appareil et procede pour modifier une representation parametree, appareil et procede pour synt hetiser une representation parametree d'un signal audio | |
LU88189A1 (fr) | Procédés de codage de segments de parole et de controlôle de hauteur de son pour des synthèse de la parole | |
BE1010336A3 (fr) | Procede de synthese de son. | |
FR3024582A1 (fr) | Gestion de la perte de trame dans un contexte de transition fd/lpd | |
EP3175443B1 (fr) | Détermination d'un budget de codage d'une trame de transition lpd/fd | |
EP3138095B1 (fr) | Correction de perte de trame perfectionnée avec information de voisement | |
EP1836699B1 (fr) | Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme | |
FR2984580A1 (fr) | Procede de detection d'une bande de frequence predeterminee dans un signal de donnees audio, dispositif de detection et programme d'ordinateur correspondant | |
EP3167447B1 (fr) | Mise a jour des états d'un post-traitement a une fréquence d'échantillonnage variable selon la trame | |
FR2990552A1 (fr) | Traitement d'amelioration de la qualite des signaux audiofrequences | |
FR2980620A1 (fr) | Traitement d'amelioration de la qualite des signaux audiofrequences decodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |
Effective date: 20181113 |