Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CRITICAL SAMPLING ENCODING WITH A PREDICTIVE ENCODER
Document Type and Number:
WIPO Patent Application WO/2010/040937
Kind Code:
A1
Abstract:
The invention relates to a method for encoding and decoding a digital audio signal, said method comprising the steps of: encoding a first sequence of samples of the digital signal according to a transform encoding; encoding a second sequence of samples of the digital signal according to a predictive encoding; wherein the second sequence starts before the end of the first sequence, a subsequence common to the first and second sequences being thus encoded both by predictive encoding and by transform encoding.

Inventors:
PHILIPPE PIERRICK (FR)
VIRETTE DAVID (FR)
Application Number:
PCT/FR2009/051888
Publication Date:
April 15, 2010
Filing Date:
October 05, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
PHILIPPE PIERRICK (FR)
VIRETTE DAVID (FR)
International Classes:
G10L19/022; G10L19/02; G10L19/12; G10L19/04; G10L19/10; G10L19/107; G10L19/20
Domestic Patent References:
WO2005114654A12005-12-01
WO2008089705A12008-07-31
Foreign References:
EP0932141A21999-07-28
EP1278184A22003-01-22
Other References:
BESSETTE B ET AL: "Universal Speech/Audio Coding Using Hybrid ACELP/TCX Techniques", 2005 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, PISCATAWAY, NJ, USA,IEEE, vol. 3, 18 March 2005 (2005-03-18), pages 301 - 304, XP010792234, ISBN: 978-0-7803-8874-1
Attorney, Agent or Firm:
FROGER MARIE-HéLèNE (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de codage d'un signal numérique, comportant les étapes :

coder (S93) une première séquence (SEQ l ) d'échantillons du signal numérique selon un codage par transformée ;

- coder (S94) une deuxième séquence (SEQ2) d'échantillons du signal numérique selon un codage prédictif ;

le procédé étant caractérisé en ce que la deuxième séquence

(SEQ2) commence avant la fin de la première séquence(SEQ l ), une sous-séquence (S-SEQ) commune aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée.

2. Procédé selon la revendication 1 , dans lequel le codage par transformée de la première séquence comprend l' application d' une fenêtre d' analyse (H) permettant de déduire d'une relation de reconstruction parfaite du signal numérique une fenêtre de synthèse comportant au moins trois parties :

une première partie nominale (NOMI),

une deuxième partie terminale (NL) sensiblement nulle,

- une troisième partie intermédiaire (INTER) continue entre les première et deuxième parties,

caractérisé en ce qu' au moins des parties de la fenêtre d' analyse permettant de déduire respectivement lesdites deuxième et troisième parties de la fenêtre de synthèse sont appliquées à la sous- séquence commune aux deux séquences.

3. Procédé selon la revendication 1 , caractérisé en ce que le codage par transformée est à échantillonnage critique.

4. Procédé selon la revendication 2, caractérisé en ce que la fenêtre de synthèse comporte en outre une quatrième partie de transition douce entre une valeur initiale et une valeur de la partie nominale, et en ce que la troisième partie est une transition abrupte entre une valeur de la partie nominale et une valeur de la partie sensiblement nulle.

5. Procédé selon la revendication 1 , caractérisé en ce que les première et deuxième séquences appartiennent à une même trame du signal numérique.

6. Procédé de décodage d'un signal numérique, comportant les étapes :

recevoir (S I l O) un vecteur transformée codant une première séquence d'échantillons du signal numérique selon un codage par transformée ;

recevoir (S lO l ) un vecteur de prédiction codant une deuxième séquence d' échantillons du signal numérique selon un codage prédictif ;

le procédé étant caractérisé en ce que la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi reçue codée à la fois par codage prédictif et par codage par transformée ; et en ce qu' il comporte en outre les étapes :

a) appliquer (S 1 12) au vecteur transformée une transformée inverse du codage par transformée pour décoder une sous- séquence de la première séquence non codée par codage prédictif ;

b) décoder (S l 14) au moins dans le vecteur de prédiction la sous-séquence commune aux première et deuxième séquences au moins par un décodage prédictif en se fondant sur au moins un échantillon issu de l'étape a) ;

c) décoder (S 1 15) dans le vecteur prédictif par un décodage prédictif une sous-séquence de la deuxième séquence non codée par codage par transformée, en se fondant sur au moins un échantillon issu de l'une des étapes a) et b).

7. Procédé selon la revendication 6, caractérisé en ce que l'étape b) comporte les sous-étapes :

b l ) décoder (S 120) dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon issu de l' étape a) ;

b2) appliquer (S 121 ) au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous- séquence commune aux première et deuxième séquences ; et

b3) décoder (S 122) la sous-séquence commune aux première et deuxième séquences par combinaison d'au moins un échantillon issu de l' étape b l ) avec un échantillon correspondant issu de l'étape b2).

8. Procédé selon la revendication 6, caractérisé en ce que l' étape b) comporte les sous-étapes :

b4) décoder (S 130) dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon issu de l'étape a) ;

b5) créer (S 131 ) à partir d' au moins un échantillon issu de l'étape b4) un échantillon contenant un repliement équivalent à un codage par transformée suivi d'un décodage par transformée

b6) appliquer (S 132) au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous- séquence commune aux première et deuxième séquences ; et

b7) décoder (S 133) la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu de l' étape b5) avec un échantillon correspondant issu de l' étape b6).

9. Procédé selon la revendication 6, caractérisé en ce que l ' étape a) comporte l' application d'une fenêtre de synthèse comportant au moins trois parties :

- une première partie nominale,

une deuxième partie terminale sensiblement nulle, une troisième partie intermédiaire continue entre les première et deuxième zones,

et en ce qu' au moins les deuxième et troisième parties de la fenêtre de synthèse sont appliquées à des échantillons codant la sous- séquence commune aux deux séquences.

10. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon la revendication 1 lorsque le programme est exécuté par un processeur.

1 1. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon la revendication 6 lorsque le programme est exécuté par un processeur.

12. Entité de codage (COD) d' un signal numérique (SIG), comportant:

un codeur par transformée ( 141 ) pour coder une première séquence d'échantillons du signal numérique selon un codage par transformée ;

- un codeur prédictif ( 142) pour coder une deuxième séquence d' échantillons du signal numérique selon un codage prédictif ;

l'entité de codage étant caractérisée en ce que la deuxième séquence commence avant la fin de la première séquence, une sous- séquence commune (S-SEQ) aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée.

13. Entité de décodage (DECOD) d'un signal numérique, comportant des moyens de réception ( 150, 151 ):

d' un vecteur transformée (V_T) codant une première séquence d' échantillons du signal numérique selon un codage par transformée ; et

d'un vecteur de prédiction (V_P) codant une deuxième séquence d'échantillons du signal numérique selon un codage prédictif ;

l'entité de décodage étant caractérisée en ce que la deuxième séquence commence avant la fin de la première séquence, une sous- séquence commune aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée ; et en ce qu' elle comporte en outre :

- un premier décodeur (152, 153) pour appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder une sous-séquence de la première séquence non codée par codage prédictif ;

- un deuxième décodeur ( 154) pour décoder au moins dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences au moins par un décodage prédictif en se fondant sur au moins un échantillon issu du premier décodeur par transformée ; et

- un troisième décodeur ( 155) prédictif pour décoder dans le vecteur prédictif par un décodage prédictif une sous-séquence de la deuxième séquence non codée par codage par transformée, en se fondant sur au moins un échantillon issu de l' un des premier et deuxième décodeurs.

14. Entité de décodage selon la revendication 13, caractérisée en ce que le deuxième décodeur comporte :

- des premiers moyens pour décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon restitué par le premier décodeur par transformée ;

- des deuxièmes moyens pour appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et

— des troisièmes moyens pour décoder la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu des premiers moyens avec un échantillon correspondant issu des deuxièmes moyens.

15. Entité de décodage selon la revendication 13, caractérisée en ce que le deuxième décodeur comporte :

- des premiers moyens pour décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon restitué par le premier décodeur par transformée ; - des quatrièmes moyens pour créer un repliement à partir d' au moins un échantillon issu des premiers moyens équivalent à un codage par transformée suivi d' un décodage par transformée ;

- des cinquièmes moyens pour appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et

- des sixièmes moyens pour décoder la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu des quatrièmes moyens avec un échantillon correspondant issu des cinquièmes moyens.

Description:
Codage à échantillonnage critique avec codeur prédictif

La présente invention concerne le domaine du codage des signaux numériques.

L'invention s' applique avantageusement au codage de sons présentant des alternances de parole et de musique.

Pour coder efficacement les sons de parole, les techniques de type CELP (« Code Excited Linear Prédiction ») sont préconisées. Pour coder efficacement les sons musicaux, on préconise plutôt les techniques de codage par transformée.

Les codeurs de type CELP sont des codeurs prédictifs. Ils ont pour but de modéliser la production de la parole à partir de divers éléments : une prédiction à long-terme pour modéliser la vibration des cordes vocales en période voisée, une excitation stochastique (bruit blanc, excitation algébrique), et une prédiction à court-terme pour modéliser les modifications du conduit vocal.

Les codeurs par transformée utilisent des transformées à échantillonnage critique afin de compacter le signal dans le domaine transformé. On appelle « transformée à échantillonnage critique », une transformée pour laquelle le nombre de coefficients dans le domaine transformé est égal au nombre de coefficients du son numérisé.

Une solution pour coder efficacement un signal contenant ces deux types de contenu, consiste à sélectionner au cours du temps la meilleure technique. Cette solution a notamment été préconisée par l 'organisme de standardisation 3GPP (« 3rd Génération Partnership Project »), et une technique nommée AMR WB+ a été proposée. Cette technique est basée sur une technologie CELP de type AMR WB et un codage par transformation basé sur une transformée de Fourier à recouvrement.

Cette solution souffre d'une qualité insuffisante sur la musique. Cette insuffisance vient particulièrement du codage par transformée.

En effet, la transformée de Fourier à recouvrement n'est pas une transformation à échantillonnage critique, et de ce fait, elle est sous optimale.

De plus, les fenêtres utilisées dans ce codeur ne sont pas optimales vis-à-vis de la concentration d'énergie : les formes fréquentielles de ces fenêtres sont relativement figées.

On connaît des transformations à échantillonnage critique. Par exemple, les transformées utilisées dans les codeurs de musique de type MP3 et AAC. Ces transformées reposent sur le formalisme appelé TDAC (« Time Domain Aliasing Cancellation »).

L'utilisation du TDAC permet d'obtenir une excellente qualité sur la musique. Néanmoins, cela a l'inconvénient d'introduire des repliements temporels qui rendent difficile la combinaison avec les technologies de type CELP.

En effet, lors d'une transition de type TDAC vers CELP le repliement temporel de la partie TDAC n'est pas annulé par le signal issu du CELP qui lui n'intègre aucun repliement.

Un objet de la présente invention est de proposer une technique permettant de reconstruire un signal audio, avec une bonne qualité, en alternant des techniques de codage par transformée (par exemple à échantillonnage critique) et des techniques de codage prédictif (par exemple de type CELP). A cet effet, la présente invention propose un procédé de codage d' un signal numérique, comportant les étapes :

coder une première séquence d'échantillons du signal numérique selon un codage par transformée ;

- coder une deuxième séquence d'échantillons du signal numérique selon un codage prédictif ;

et dans lequel la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée.

Ainsi, lors du décodage du signal numérique audio, le repliement créé par le codage dans la sous-séquence de la première séquence peut être supprimé au moyen d'échantillons de cette sous- séquence issus du décodage de la sous-séquence au sein de la deuxième séquence. De plus, la deuxième séquence peut être décodée car les échantillons du passé, utiles au décodage prédictif, ne comportent pas ce repliement.

Avantageusement le codage par transformée est un codage par transformée à échantillonnage critique.

Par exemple, le codage par transformée est un codage par transformée de type TDAC.

Par exemple, le codage prédictif est un codage de type CELP.

Dans une réalisation avantageuse, le codage par transformée de la première séquence comprend l' application d' une fenêtre d' analyse permettant de déduire d' une relation de reconstruction parfaite du signal numérique une fenêtre de synthèse comportant au moins trois parties : - une première partie nominale,

une deuxième partie terminale sensiblement nulle,

une troisième partie intermédiaire sensiblement continue entre les première et deuxième parties.

On prévoit alors qu' au moins les parties de la fenêtre d' analyse permettant de déduire respectivement les deuxième et troisième parties de la fenêtre de synthèse sont appliquées à la sous-séquence commune aux deux séquences.

On entend par « sensiblement continue » le fait que la troisième partie permet de ne pas avoir de discontinuité entre les première et deuxième parties. En effet, ce type de discontinuité réduit la qualité de décodage par adjonction de bruit de décodage.

La relation de reconstruction parfaite impose une relation entre les formes des fenêtres d' analyse et de synthèse. En outre, lors du passage entre un codage par transformée et un codage prédictif, il est possible de décrire la fenêtre d' analyse ou la fenêtre de synthèse de manière équivalente. En effet, dans ce cas, la relation de reconstruction fait apparaitre une relation directe entre les deux formes.

Avec une fenêtre d'analyse (et donc de synthèse) ainsi choisie, il est possible de réduire la zone dans laquelle le repliement apparait au décodage de la première séquence.

Avec la fenêtre ainsi définie, il est possible de réduire le nombre d' échantillons de la deuxième séquence (codage prédictif) à transmettre pour le décodage.

En outre, le nombre d'échantillons supplémentaire est lié à la taille de la partie intermédiaire. Par exemple, la partie intermédiaire est une arche de sinus. Par exemple encore, la partie intermédiaire est une fonction dérivée de « Kaiser-Bessel ». En outre, elle peut être issue d'un calcul d'optimisation de fenêtre et ne pas avoir d'expression explicite.

Par exemple, la fenêtre de synthèse est une fenêtre asymétrique.

Ainsi, il est possible d' adapter le profil de la fenêtre de synthèse (donc la fenêtre d' analyse) au codage de la séquence suivant ou précédant la première séquence.

Dans une réalisation avantageuse, la fenêtre de synthèse comporte en outre une quatrième partie initiale continue entre une valeur sensiblement nulle et une valeur non nulle de la première partie.

Ainsi, il est possible de minimiser l' impact de la transition entre codage par transformée et codage prédictif sur le codage par transformée.

Par exemple, la quatrième partie de la fenêtre de synthèse est une transition douce entre une valeur initiale et une valeur de la partie nominale, et la troisième partie est une transition abrupte entre une valeur de la partie nominale et une valeur de la partie sensiblement nulle.

Ainsi, on obtient une meilleure concentration de l 'énergie du signal dans le domaine fréquentiel pour une meilleure efficacité de codage de la partie transformée.

On peut prévoir que les première et deuxième séquences appartiennent à une même trame du signal numérique. Ainsi, on peut utiliser le codage de la première séquence comme un codage de transition après le codage d'une trame par codage par transformée. Cela permet d' améliorer l'efficacité du codage en ne perturbant pas cette trame.

La présente invention prévoit également un procédé de décodage d'un signal numérique, comportant les étapes :

- recevoir un vecteur transformée codant une première séquence d'échantillons du signal numérique selon un codage par transformée ;

- recevoir un vecteur de prédiction codant une deuxième séquence d'échantillons du signal numérique selon un codage prédictif ;

dans lequel la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi reçue codée à la fois par codage prédictif et par codage par transformée ; et qui comporte en outre les étapes :

a) appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder une sous-séquence de la première séquence non codée par codage prédictif;

b) décoder au moins dans le vecteur de prédiction la sous- séquence commune aux première et deuxième séquences au moins par un décodage prédictif en se fondant sur au moins un échantillon issu de l 'étape a);

c) décoder dans le vecteur prédictif par un décodage prédictif une sous-séquence de la deuxième séquence non codée par codage par transformée, en se fondant sur au moins un échantillon issu de l 'une des étapes a) et b). Ainsi, on peut supprimer le repliement présent dans la sous- séquence décodée en utilisant des échantillons décodés par décodage prédictif.

Dans une réalisation avantageuse, l 'étape b) comporte les sous- étapes :

b l ) décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon issu de l'étape a) ;

b2) appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et

b3) décoder la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu de l'étape bl) avec un échantillon correspondant issu de l'étape b2).

Par exemple, la combinaison est une combinaison linéaire. En combinant ainsi les échantillons, on obtient un décodage plus robuste.

Dans une autre réalisation avantageuse, l'étape b) comporte les sous-étapes :

b4) décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon issu de l 'étape a) ; b5) créer à partir d' au moins un échantillon issu de l' étape b4) un échantillon contenant un repliement équivalent à un codage par transformée suivi d' un décodage par transformée ;

b6) appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et

b7) décoder la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu de l' étape b5) avec un échantillon correspondant issu de l'étape b6).

Ainsi, le repliement créé par l'étape b5) correspond exactement au repliement présent dans la sous-séquence décodée.

La création du repliement peut se faire par application d'une matrice représentant des opérations de transformation directe et inverses. Une telle matrice peut être équivalente à l' application d'un codage par transformée immédiatement suivi d'un décodage par transformée.

Bien entendu, on peut utiliser un même codage prédictif pour tous les échantillons.

De même, on peut utiliser le même codage/décodage par transformée, avec les mêmes fenêtres d' analyse et de synthèse, chaque fois que l' on effectue un tel codage/décodage.

Dans un mode de réalisation, l'étape a) comporte l' application d' une fenêtre synthèse comportant au moins trois parties :

- une première partie nominale,

une deuxième partie terminale sensiblement nulle, une troisième partie intermédiaire continue entre les première et deuxième zones,

et au moins les deuxième et troisième parties sont appliquées à des échantillons codant la sous-séquence commune aux deux séquences.

La présente invention prévoit un programme informatique comportant des instructions pour la mise en œuvre du procédé de codage tel que décrit, lorsque le programme est exécuté par un processeur.

De plus, la présente invention vise un support lisible par un ordinateur sur lequel est enregistré un tel programme d'ordinateur.

La présente invention prévoit également un programme informatique comportant des instructions pour la mise en œuvre du procédé de décodage tel que décrit, lorsque le programme est exécuté par un processeur.

De plus, la présente invention vise un support lisible par un ordinateur sur lequel est enregistré un tel programme d'ordinateur.

La présente invention prévoit une entité de codage adaptée pour mettre en œuvre le procédé de codage tel que décrit.

Une telle entité de codage d'un signal numérique audio, peut comporter:

un codeur par transformée pour coder une première séquence d'échantillons du signal numérique audio selon un codage par transformée ;

un codeur prédictif pour coder une deuxième séquence d' échantillons du signal numérique audio selon un codage prédictif ; on prévoit que la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée.

La présente invention prévoit une entité de décodage adaptée pour mettre en œuvre le procédé de décodage tel que décrit.

On peut prévoir une entité de décodage de signal numérique, comportant des moyens de réception:

d' un vecteur transformée codant une première séquence d'échantillons du signal numérique selon un codage par transformée ; et

d'un vecteur de prédiction codant une deuxième séquence d'échantillons du signal numérique selon un codage prédictif ;

dans lequel la deuxième séquence commence avant la fin de la première séquence, une sous-séquence commune aux première et deuxième séquences étant ainsi codée à la fois par codage prédictif et par codage par transformée ; et qui comporte en outre :

- un premier décodeur pour appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder une sous-séquence de la première séquence non codée par codage prédictif ;

- un deuxième décodeur pour décoder au moins dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences au moins par un décodage prédictif en se fondant sur au moins un échantillon issu du premier décodeur par transformée ; et - un troisième décodeur prédictif pour décoder dans le vecteur prédictif par un décodage prédictif une sous-séquence de la deuxième séquence non codée par codage par transformée, en se fondant sur au moins un échantillon issu de l'un des premier et deuxième codeurs.

Dans une réalisation avantageuse, le deuxième décodeur comporte :

- des premiers moyens pour décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon issu du premier décodeur par transformée ;

- des deuxièmes moyens pour appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences; et

- des troisièmes moyens pour décoder la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu des premiers moyens avec un échantillon correspondant issu des deuxièmes moyens.

Dans une autre réalisation avantageuse, le deuxième décodeur comporte :

- des premiers moyens pour décoder dans le vecteur prédictif la sous-séquence commune aux première et deuxième séquences par un décodage prédictif en se fondant sur au moins un échantillon issu du premier décodeur par transformée ;

- des quatrièmes moyens pour créer à partir d'au moins un échantillon restitué par les premiers moyens un échantillon contenant un repliement équivalent à un codage par transformée suivi d'un décodage par transformée ;

- des cinquièmes moyens pour appliquer au vecteur transformée une transformée inverse du codage par transformée pour décoder la sous-séquence commune aux première et deuxième séquences ; et

- des sixièmes moyens pour décoder la sous-séquence commune aux première et deuxième séquences par combinaison d' au moins un échantillon issu des quatrièmes moyens avec un échantillon correspondant issu des cinquièmes moyens.

B ien entendu, tous les moyens réalisant un même type de codage ou décodage (prédictif ou par transformée) peuvent être réunis dans une même unité.

De même, on peut prévoir une seule unité (de codage ou de décodage) pour réaliser tantôt un codage, respectivement décodage, prédictif et par transformée.

Bien entendu, les codeurs/décodeurs décrits peuvent comporter un processeur de signal, des éléments de stockage, ainsi que des moyens de communication entre ces éléments.

La présente invention permet donc d'alterner des techniques de codage par transformation, par exemple à échantillonnage critique de type TDAC, et des techniques de codage prédictif, par exemple de type CELP au cours du temps afin d'obtenir une bonne qualité de reconstruction.

L'invention propose à cet effet des relations temporelles particulières entre les deux types de codage : la position temporelle des trames CELP et transformée étant décalées temporellement. Dans des réalisations avantageuses, l'invention propose également d'allonger la durée des trames, ou des séquences couvertes par le codage CELP, par un recouvrement, lors d'une transition de transformée vers CELP. Cette durée peut être variable dans le temps si la transformée nécessite une bonne concentration fréquentielle.

La durée d'utilisation du codage CELP peut être variable d'une trame à une autre, cela afin d'adapter rapidement la technique de codage aux changements de nature des sons.

Selon un avantage de la présente invention, une trame de M échantillons pourra être subdivisée en plusieurs sous-trames mêlant des portions encodées en CELP et d'autres dans le domaine transformé.

L'invention trouve son application dans les systèmes de codage du son, en particulier dans les codeurs de parole normalisés, notamment à l'ITU (« International Télécommunication Union ») ou à l' ISO (« International Standard Organization ») pour le codage des sons génériques, incluant les signaux de parole.

D' autres caractéristiques et avantages de l ' invention apparaîtront à l' examen de la description détaillée ci-après, et des figures annexées parmi lesquelles :

- la figure 1 illustre deux fenêtres de synthèse d'un codage par transformée,

- la figure 2 illustre des fenêtres de synthèse d'un mode de réalisation de l' invention,

- la figure 3 illustre des trames de donnée traitées par des fenêtres de synthèse, - la figure 4 illustre des vecteurs d'échantillons obtenus par application des fenêtres de synthèse,

- la figure 5 illustre le cas d'un codage TDAC suivi par un codage AMR WB , puis suivi d'un codage TDAC selon un mode de réalisation de l' invention,

- la figure 6 illustre le même cas de codage avec une fenêtre asymétrique avantageuse,

- la figure 7 illustre un contexte général d' un problème résolu par l' invention,

- la figure 8 illustre un schéma général de résolution de ce problème par la présente invention,

- la figure 9 illustre les étapes d'un mode de réalisation d'un procédé de codage selon l' invention,

- la figure 10 illustre la composition d'une fenêtre de synthèse selon un mode de réalisation de l' invention,

- la figure 1 1 illustre les étapes d' un mode de réalisation d'un procédé de décodage selon la présente invention,

- la figure 12 illustre un décodage avantageux utilisé dans le procédé de décodage,

- la figure 13 illustre une variante de ce décodage avantageux,

- la figure 14 illustre un codeur selon un mode de réalisation de l' invention, - la figure 15 illustre un décodeur selon un mode de réalisation de l' invention,

- la figure 16 illustre un dispositif matériel adapté pour réaliser un codeur ou un décodeur selon un mode de réalisation de la présente invention.

Dans la suite, on commence par décrire une transformation

TDAC à reconstruction parfaite, puis on présente une technique permettant de la rendre compatible avec un échantillonnage critique.

Enfin, on décrit un codage CELP et une combinaison de ce codage avec le codage TDAC.

TDAC et reconstruction parfaite

On considère un signal sonore numérisé selon une période d'échantillonnage — (F e étant la fréquence d'échantillonnage). Pour

une trame donnée d' indice t, les échantillons sont notés χ n+[M pour chaque instant n + tM .

L'expression de la transformée TDAC au codage de la trame est présentée ci-dessous :

2M-I

*,,* = ∑ -W MO 0 ≤ k < M , n=0

- M représente la taille de la transformée,

- X 1 k sont les échantillons dans le domaine transformé pour la trame t,

Pk ( n ) = K (")QA ( « ) cos — (2n + l + Λ/ )(2* + l) est une fonction de base de la transformée dont : - le terme Λ u (/i)est appelé filtre prototype ou

"fenêtre de pondération d'analyse" et couvre 2M échantillons,

- et dont le terme C n k définit la modulation.

Pour restituer les échantillons temporels initiaux, la transformation inverse suivante, au décodage, est appliquée afin de reconstituer les échantillons O ≤ n < M qui se situent alors dans une zone de recouvrement de deux transformées consécutives. Les échantillons décodés sont alors donnés par :

M -I x n, +t/H+M = ∑[*r + u />; («)+*,. * />; («+ ^)] ,

*=0

où p s (n) = h s (n) C n <k définit la transformée de synthèse, la fenêtre de pondération de synthèse étant notée h s (n) et couvrant également 2M échantillons.

L'équation de reconstruction donnant les échantillons décodés peut s'écrire aussi sous la forme suivante :

M -I

X n+ M + M ∑[x, + uMn)Q. n + *αM«+ Λ θc tin+M ]

= h s (n) X, Λ C kjl+ M

Cette autre présentation de l' équation de reconstruction revient à considérer que deux transformées en cosinus inverse peuvent être effectuées successivement sur les échantillons dans le domaine transformé X t k et X t+lk , leur résultat étant ensuite combiné par une opération de pondération et addition. C'est l'addition de deux trames consécutives qui permet de supprimer les composantes dites repliées de la transformation. En effet si on écrit les opérations de transformation directes et inverses sous forme matricielle pour les trames t=0 et t=l on a :

/z û0 (2M-l) X 2M-1

A la synthèse, on obtient

-"ôo /z (0 (0) 0 0 Q 00 C 1 10 C M, -I 0 00 -*bo 0 A 10 (I) 0 Q 01 C 1 C M, -I 1 01

^02M-I 0 A 40 (2Af -1) Q 02M-1 C 1 I 2M-1 Cj 2.M M --1M-1 X, OM-I

-I

Avec

Q 00 C, 10 C M 1 -IO Q 0 C 01 Co 2M-I

Q 01 C 1 C M 1 -I I Q 0 c I, I Q 2M-I

5 =

Q 02M-I Q 2M-I C 1 2M-I M-I C "-M-I 0 C "-Af-I 1 C M 1 -I 2M-I

S = 'M JM "M «M 'M +JM - I M étant la matrice carrée identité de taille M,

- J M étant la matrice carrée anti-identité de taille M, qui à une série de valeurs d'indices croissants, renvoie la même série de valeur avec les indices décroissants,

- 0 M est une matrice carrée de taille M ne contenant que des zéros.

Ainsi, il vient :

J

et par analogie en utilisant la trame t=l :

J "al,2M -\-n x 3M -\-n }

Ainsi, si on additionne \ M+n et Jc 1 „ terme à terme on obtient :

x M+n ~ -Xo.M+π + x \,n ~ "tO,M +n + Kθ,2M -\-n x 2M -\-n y [} ι a\ n x M+n ~ ' ι a\,M -\-n x 2M -\-n J x M+n J + X 2M -]-n J

Si on veut assurer χ M+n = χ M+π et obtenir ainsi la reconstruction parfaite, on obtient les conditions nécessaires suivantes sur les filtres d'analyse et de synthèse: = ®

c'est-à-dire

avec

D{n) = h a0 {n + M) - h al {M -l -n) + h al (n) - h a0 (2M -l -n) .

Il apparait que pour assurer la reconstruction parfaite, les formes d'analyse et de synthèse sont construites par retournement temporel et pondération. En conséquence, si h s contient des zéros en n, alors h a en contiendra dans la partie symétrique autour de M/2, c'est-à-dire à l'indice M- l -n.

On illustre la synthèse par un exemple sur la figure 1. Dans cet exemple, on fait succéder deux transformées inverses de taille M h s o et h s i .

Pour reconstruire les échantillons entre M et 2M- 1 on additionne les échantillons couverts par la partie commune entre h s o et h S ) . La reconstruction sera parfaite si les fenêtres vérifient les conditions de reconstruction parfaite énoncées ci-dessus.

Le cas usuel de reconstruction se situe donc lorsque dans un décodeur on reçoit deux spectres consécutifs, par exemple X t et X t+ i , issus de transformations directes et qu'on leur applique les transformations inverses pour obtenir respectivement Jc 0 et Jc 1 . Le signal d'origine sera parfaitement reconstruit par addition des M derniers échantillons du premier ensemble avec les M premiers du second.

On peut également considérer que X t seul a été transmis. La reconstruction parfaite pourra être obtenue si on sait construire le signal Jc 1 n . Ceci sera possible si on connaît les échantillons X M à X 2M i -

De cette manière il sera possible, par pondération par les fenêtres h s i et h a i , de construire le vecteur permettant de supprimer le repliement émanant du vecteur X 0 .

Dans ce qui précède, on a considéré que l'on avait à disposition les signaux X t et X M à X 2 M i -

Si maintenant on considère que la trame suivante est transmise dans le domaine fréquentiel (X t+2 ), on ne supprime pas le repliement situé entre X 2 M à X 3M - I - Pour ce faire, il aurait fallu avoir reçu ces échantillons au préalable. Néanmoins, cette solution triviale est sous optimale du point de vue de l'échantillonnage critique.

Dans la suite, on présente un moyen de pallier cet inconvénient.

Codage temporel efficace

On propose de choisir des fenêtres particulières permettant de transmettre le signal codé en temporel quand souhaité sans toutefois perdre l'échantillonnage critique (c'est-à-dire le même nombre d'échantillons transmis et reconstruits). C'est ce qui est illustré sur la figure 2.

Par construction, comme illustré sur la figure 2, on choisit :

hsO = 0 pour n compris entre M+ (M+Mo)/2 et 2M- 1 , et

hs l = 0 pour n compris entre 0 et (M-Mo)/2,

avec M 0 une valeur entière donnée comprise entre 1 et M- I .

Par exemple, les portions descendantes et ascendantes de hsO et hs l autour de l'échantillon M+M/2 sont constituées d'arches de sinus données par l'équation : h s i(n) =sin (pi * (0.5+n - ( (M-Mo)/2))/2/Mo) pour n compris entre (M-Mo)/2 et (M+Mo)/2

h s o(n) sera prise comme symétrique dans cette zone de h s i pour obtenir la reconstruction parfaite.

h s i pourra être défini également par une fonction de « Kaiser

Bessel » dérivée utilisé par exemple dans les codeurs de type AAC.

Ainsi définies, les formes de h s0 et h s i permettent d'assurer la reconstruction parfaite.

Comme illustré sur la figure 3 , une première trame T30 (fenêtrée par h s o) combinée à la trame T3 1 (fenêtrée par hs l ) permet de reconstruire le segment de M à 2M- 1 , les trames T3 1 et T33 permettant d'obtenir les échantillons 2M à 3M- 1 etc.

Dans le cas où le signal de la trame T31 est transmis en fréquentiel, l'échantillonnage critique est respecté et la reconstruction est parfaite dans la mesure où les filtres d'analyse et de synthèse vérifient la condition nécessaire.

Dans la mesure où l'échantillon X3 M /2 + 11 (n<Mo/2) est transmis dans la trame T3 1 alors l'échantillon X^ M/2 i -n pourra être généré en se basant sur la connaissance de χa M+M i 2+n 1 S S U de la trame T30. On se basera sur la relation :

-*0 M +n = > \0 M +« M +« %+„ + Λo IM 1 n x 2M l-,, ] P 0 Ur Ω = M/2

On aura alors : x H) W/2+n

3M/2 1-π Kθ MU /2+n x ÏM /2+n

"α0 W/2-l n SO W/2+n

Ceci pourra être réitéré pour retrouver les échantillons dans la zone de recouvrement, c'est-à-dire entre les échantillons (M-Mo)/2 et M/2. En utilisant les relations déterminées au préalable: )

Du fait que h s o contient des zéros entre M+(M+M 0 )/2 et 2M- 1 , h a i contient des zéros entre 0 et (M-M o )/2.

De même, du fait que h s i ne contient que des zéros entre 0 et

(M-Mo)/2, h a o ne contient que des zéros entre M+(M+Mo)/2 et 2M- 1.

hsO = 0 pour n=M+(M+Mo)/2...2M- l ,

hs l = 0 pour n=0...(M-Mo)/2,

ha l = 0 pour n=0...(M-Mo)/2,

haO = 0 pour n=M+(M+Mo)/2 et 2M- l .

Par conséquent, comme illustré sur la figure 4, le vecteur * o,M+n contient 3 zones :

- x oM+n =0 de n= (M+Mo)/2... M- 1 ,

- χ $ M+n ne contient pas de composantes repliées entre n=0 et n=(M- Mo)/2, et

- la zone centrale autour de M+M/2 pour laquelle il existe des composantes repliées.

De même :

- Jt 1 n =0 entre n=0 et n=(M-Mo)/2,

- x ne contient pas de composantes de repliement entre (M+Mo)/2 et M- I , et - la zone centrale autour de M/2 pour laquelle il existe des composantes repliées .

Grâce à ces propriétés, on peut donc recouvrer le segment X M - - X2M î en assurant une reconstruction parfaite

Cette reconstruction parfaite peut être obtenue :

- par transmission dans le domaine transformé du vecteur Xi ,

- par transmission dans le domaine temporel des échantillons

X3 M/2 - X5M/2 1

D' après ce qui précède, on peut maintenant réaliser un codage TDAC à échantillonnage critique tout en évitant les problèmes liés au repliement. Dans la suite, on décrit un codage CELP, permettant une combinaison avantageuse avec le codage TDAC précédemment décrit.

TDAC+CELP

On rappelle que l ' on se place dans le cadre d'un fonctionnement de type présenté dans la spécification AMR WB + . On alterne un codage de type transformé utilisant la TDAC avec un codage de type temporel qui est constitué par un codeur CELP (par exemple selon la recommandation AMR WB ).

Sans perte de généralité, en référence à la figure 5 , on prend le cas d'un codage d'une trame T51 par TDAC (fenêtrée par h. 5 1 ) suivi par une trame T52 en AMR WB puis d'une trame T53 à nouveau en TDAC (fenêtrée par h. 53 ).

Afin de reconstruire les échantillons, le codage AMR WB se base sur une prédiction de la périodicité du signal, dite prédiction long terme A ce titre, il construit ses échantillons de la façon suivante Le signal r est construit par rapport à des anciens échantillons pris en amont de T échantillons pondérés par un gain a, transmis et mis à jour périodiquement, et une partie dite stochastique W n affectée d'un gain b, transmise et remise à jour également au cours du temps. T représente le « pitch ». Le codeur AMR WB estime les composantes a, b et T et la partie W n à ajouter suivant le débit considéré.

Ainsi, afin de réaliser efficacement la prédiction long terme, le décodeur CELP fait appel à des échantillons passés ne devant pas présenter d'artefacts. Or, du fait que la trame T51 est codée en TDAC, il y aura du repliement dans les échantillons entre M + (M- MQ)H et M + (M+Mo)/2 tant que la trame T52 ne sera pas restituée avec le repliement permettant de supprimer celui de la trame T51.

Afin de permettre la restitution des échantillons de la trame T52 codée en CELP sans repliement, la zone de couverture des échantillons transmis par ce codage est élargie pour couvrir la zone de transition initiale complètement.

On étend la durée du CELP au contenu d'indice M+ (M-Mo)/2 ... 5M/2.

En ce sens, il n'y a pas d'échantillonnage critique pour la partie codée par le codage prédictif.

En revanche la zone M 0 est limitée en durée afin d'éviter de transmettre trop d'information supplémentaire.

Par exemple, M 0 se situe autour de 1 à 2 ms pour une trame de durée M correspondant à 20 ms. Le nombre d'échantillons est calculé en fonction de la fréquence d'échantillonnage. On peut également choisir Mo/2 comme étant une durée proportionnelle à une sous trame de CELP, c'est-à-dire la durée habituelle de remise à jour des valeurs de pitch / gain et vecteur stochastique, où une taille adapté aux algorithmes rapides pour la recherche du vecteur stochastique et sa transmission de manière efficace. Par exemple, on prend une 5 puissance de 2.

Pour reconstruire les échantillons de la zone entre M et 2M- 1 , on reconstruit au préalable la période entre M et (M-Mo)/2 en utilisant la transformée inverse d'une trame T50 (non représentée) précédent la trame T51. Ensuite la zone entre M+(M-Mo)/2et M- I est 10 reconstruite avec le CELP seul qui se base pour la partie long terme sur les échantillons restitués par la partie transformée.

Une variante pour obtenir les échantillons compris entre M+

(M-Mo)/2 et M+ (M+Mo)/2- l consiste à combiner les échantillons

CELP avec les échantillons contenant du repliement issus de la trame

15 T51. On peut dans ce cas réaliser une combinaison linéaire des échantillons issus du CELP et de l'équation déterminée préalablement

La combinaison linéaire fonctionne suivant le modèle ci- dessous :

-^" x lMI2-\-n = a n X 3M 12-l-n + \) ~ a n ) x ~iM 12-X-H 1 issu du celp issu de la transformée

Avec α,, un jeu de coefficients positifs ou nuls inférieurs ou égaux à un.

La portion 2M, ...3M- 1 est décodée en utilisant la fin des échantillons CELP transmis entre les indices 2M à 5M/2. Ensuite, en

25 se basant sur ce résultat décodé, les échantillons issus de la transformée suivante sont reconstruits dans la zone de recouvrement, qui contient du repliement de façon analogue à la zone de recouvrement entre les trames T51 et T52. La différence avec l'autre sens de transition réside dans le fait que le CELP ne fournira pas tous les échantillons de la zone de transition de la transformée, mais seulement une moitié (i.e. M'o/2=M/8 dans notre exemple pour une taille de transition de M'o=M/4). Cependant, seule une moitié de cette zone de transition est nécessaire pour pouvoir annuler le repliement temporel de la transformée.

La fenêtre hs i peut être asymétrique. Ainsi, la zone de recouvrement entre la partie CELP et TDAC, notée M 0 ', peut être différente de M 0 .

Transmission du CELP

On décrit dans la suite plusieurs alternatives pour transmettre la trame CELP.

Dans un mode de réalisation, la trame CELP couvre une durée égale à la taille M+Mo/2 comme présenté sur la figure 4. Conformément au standard AMR WB, cette trame est découpée en sous segments, de taille notée Mc sur la figure 5, permettant une mise à jour fréquente des paramètres permettant de synthétiser un signal CELP de qualité. Ainsi les valeurs de pitch, gain et la partie stochastique sont transmis initialement et mis à jour optionnellement.

La longueur du premier sous segment (Mc'), suivant immédiatement la transformée peut être différente si on veut utiliser une longueur Mo' arbitraire avec un codeur CELP normalisé avec Mc imposé par cette norme.

Le pitch peut être estimé sur la partie décodée avant l'échantillon d'indice M+(M-Mo)/2. Ainsi, on peut éviter de transmettre le pitch initial, seul le gain de pitch qui est estimé suivant la méthode commune présentée dans la recommandation AMR WB est transmis.

Dans une variante de ce mode de réalisation, le gain de pitch n'est pas transmis. Il est estimé sur le signal décodé dans la partie transformée.

Dans un mode de réalisation alternatif, l'estimation de pitch peut être effectuée en incluant la période M+(M-Mo)/2 à M+(M+Mo)/2 qui contient des composantes repliées.

La partie stochastique est transmise en préambule, ou ignorée. Et ce, en particulier si elle est considérée négligeable de part sa faible puissance, ou si lors de la reconstruction on se base sur la version utilisant la pondération a n .

En effet, une partie stochastique est implicitement présente dans le signal issu des composantes repliées venant de la partie transformée.

La partie de durée Mo/2 couverte par le CELP peut donc être une partie spécialisée, en ce sens qu'elle peut bénéficier des informations issues du décodage complet de la partie issue de la transformée précédente.

Mo/2 peut être égale à Mc si on cherche une compatibilité particulière avec un codeur existant. Par exemple, dans le cadre d'une réalisation incluant un CELP de type AMR WB , on peut choisir Mo/2=Mc=5 ms.

Un mode de réalisation alternatif est présenté sur la figure 6. Dans ce mode de réalisation, le codage CELP couvre une longueur plus courte que la trame de base de longueur M. La partie couverte par les échantillons M+(M-M/2)/2 à 2M+M/16 est encodée à partir d'une transformée d'une taille plus courte que la taille initiale (M/2).

Dans la figure 6, seule la trame T63 est codée en CELP. Les trames T61 , T62 et T64 sont représentées dans le domaine transformé de la TDAC. Les trames T61 et T64 sont codées avec des transformées de longueur M (fenêtres h 6 ι et h 64 ), la trame T62 étant codée avec une transformée de taille M/2 (fenêtre h 62 ).

Ce codage est efficace car la fenêtre h 6 i est relativement douce, ce qui permet d'obtenir une meilleure concentration d'énergie dans le domaine fréquentiel. La fenêtre h 62 possède en revanche une transition plus abrupte au voisinage de l'échantillon 2M, mais cette fenêtre abrupte ne pénalise pas trop la qualité du codage du fait que temporellement la durée affectée est courte. La T63 est codée en CELP comme présenté au dessus, ici Mo =M/8.

Ainsi une trame de longueur M peut être subdivisée en sous parties codées en CELP ou TDAC de taille variable.

Une fois les échantillons restitués dans le domaine temporel, on peut optionnellement appliquer des filtres de synthèse LPC pour restituer le cas échéant le signal sonore.

Dans un mode de réalisation particulier, la transformée est opérée dans un domaine pondéré, c'est-à-dire que la transformée est réalisée sur le signal filtré par un filtre de pondération de type W(z) = A(z I Y \ )H de _ emph (z) avec A(z) le filtre de prédiction linéaire

(LPC) et gamma un facteur d'aplatissement de ce filtre, le filtre Hd e - emph(z) est un filtre de dé-emphase des hautes fréquences. Le codeur CELP lui fonctionne, c'est-à-dire que le signal d'excitation r n sera bien calculé dans le domaine résiduel d'un filtre de prédiction linéaire A(z) . Une attention particulière sera portée pour que le signal synthétisé par la première transformée inverse, et qui est donc dans un domaine perceptivement pondéré, soit remis dans le domaine de l'excitation du CELP, pour que la partie long-terme de l'excitation du CELP puisse être calculée.

Dans la suite on décrit un mode de réalisation du procédé de codage.

En référence à la figure 7, on illustre le problème du passage entre un codage de type transformée avec un codage de type prédictif.

On considère un signal x à coder puis décoder. On considère que les échantillons de 0 à 3M- 1 doivent être codés par transformée, tandis que les échantillons de 3M à 4M- 1 doivent être codés par codage prédictif, comme indiqué par les double flèches T et P.

Selon l' art antérieur, on code les échantillons de 0 à 2M- 1 par codage par transformée selon un vecteur transformée X o .

Le décodage de ce vecteur transformé donne les échantillons de

0 à 2M- 1 d'un signal décodé * . Ce décodage fait apparaitre du repliement REP l , notamment dans les échantillons de M à 2M- 1.

Par ailleurs, on code les échantillons de M à 3M- 1 par codage par transformée selon un vecteur transformée Xf .

Le décodage de ce vecteur transformée donne les échantillons de M à 3M- 1 du signal décodé * . Ce décodage fait apparaître le même repliement avec un signe opposé à REP l dans les échantillons de M à 2M- 1 que lors du décodage de x£ . Il fait également apparaître du repliement REP2 dans les échantillons de 2M à 3M- 1 dans * . Ainsi, il est possible par combinaison des échantillons de M à 2M- 1 issus respectivement du décodage de X Q et x[ de supprimer (SUPPR_REP) le repliement REPl .

On code ensuite les échantillons de 3M à 4M- 1 de x par codage prédictif selon le vecteur de prédiction Xζ .

Pour être décodé, ce vecteur nécessite la connaissance des échantillons précédents. C'est-à-dire les échantillons de 2M à 3M- 1. Ces échantillons sont disponibles au décodage de X, r , néanmoins ils sont inutilisables du fait de la présence du repliement REP2.

Ainsi, Xf ne peut être décodé.

De plus, la suppression du repliement REP2 nécessite la connaissance des échantillons de x de 2M à 3M- 1 pour recréer le repliement et le supprimer par combinaison. Or, ces échantillons ne sont pas disponibles au décodage.

Ainsi, le décodage de Xf n'est pas terminé.

Pour régler ces difficultés, l' art antérieur propose de communiquer au décodeur les échantillons dont il a besoin en plus des vecteurs issues de la transformée et de la partie prédiction.

Néanmoins, cette solution n'est pas optimale du point de vue du débit.

La présente invention propose la solution illustrée sur la figure 8.

Sur cette figure, on retrouve le signal x, le vecteur transformée X, r , et le vecteur de prédiction X% . Cependant, selon la présente invention, le vecteur de prédiction Xξ code un nombre M d'échantillons comportant une partie des échantillons codés par xj .

Cette disposition permet de reconstruire le signal x au décodage.

En effet, les échantillons précédant le repliement REP crée au décodage de X, r sont utilisés pour le décodage des premiers échantillons que le décodage de Xξ va permettre d'obtenir. C'est-à- dire, ceux qu' il a en commun avec x, τ .

Ainsi, on récupère des échantillons de x permettant de recréer le repliement REP. Par exemple, on fait subir aux échantillons de x correspondant à REP un codage suivi d'un décodage identique à ceux subis par les échantillons de M à 3M- 1.

Ce repliement ainsi crée est combiné à celui présent dans les échantillons issus du décodage de x[ , et xj peut ainsi être complètement décodé.

Ensuite, on peut utiliser les échantillons de M à 3M- 1 complètement décodés pour décoder x£ .

Dans la suite, en référence à la figure 9, on décrit un procédé de codage reprenant les principes décrits ci-avant.

A l' étape S90 on reçoit des échantillons d'un signal à coder.

Ensuite, à l' étape S91 , on délimite deux séquences d'échantillons, en sorte que la deuxième séquence commence avant la fin de la première séquence. On obtient ainsi une première séquence SEQ l et une deuxième séquence SEQ2. Chacune de ces séquences est ensuite codé selon un codage par transformée lors de l'étape S93 pour SEQ l , et selon un codage prédictif lors de l' étape S94 pour SEQ2.

En référence à la figure 10, on décrit un mode de réalisation dans lequel, le codage par transformée se fait par application d'une fenêtre d' analyse, permettant de déterminer une fenêtre de synthèse, au moyen d'une relation de reconstruction parfaite, adapté au présent codage.

Les fenêtres d' analyse et de synthèse étant liées par la relation de reconstruction parfaite, il est équivalent de décrire l'un ou l'autre.

Sur la figure 10, on décrit la fenêtre de synthèse H. Cette fenêtre comporte quatre parties particulières.

INIT correspond à la partie initiale du filtre, on choisit cette partie en fonction du codage des échantillons précédents. Par exemple, ici, H permet de reconstituer une partie de SEQ l (des échantillons 0 à M- I ). Si les échantillons précédant SEQ l sont codés par transformée, on choisit avantageusement INIT comme une transition douce. Cela permet de ne pas perturber ces échantillons précédents.

NOMI correspond à une partie nominale. Avantageusement, cette partie prend une valeur sensiblement constante.

NL correspond à une partie sensiblement nulle de la fenêtre. La durée de NL (ou le nombre de coefficient de NL) peuvent avantageusement être choisis en fonction de la durée (ou nombre de coefficients) de NOMI.

Enfin, la partie INTER est une partie continue entre NOMI et NL. Cette partie peut avoir une forme adaptée à la transition entre le codage par transformée de SEQl et le codage prédictif de SEQ2. Par exemple, c'est une transition relativement abrupte.

Ainsi, INIT et NOMI sont appliquées à la sous-séquence S-

SEQl de SEQl qui ne comporte pas d'échantillon de S-SEQ, la sous- séquence commune à SEQl et SEQ2. INTER est appliquée à S-SEQ.

Et NL est appliquée à S-SEQ2, la sous-séquence de SEQ2 qui ne comporte pas d'échantillon de S-SEQ.

En référence à la figure 11, on décrit un procédé de décodage avantageux pour décoder un signal numérique selon les principes décrits ci-avant.

Aux étapes SIlO et SlIl, on reçoit respectivement un vecteur transformée comportant des échantillons S-SEQl* codant S-SEQl, et un vecteur de prédiction comportant des échantillons S-SEQ* codant S-SEQ et des échantillons S-SEQ2* codant S-SEQ2.

A l'étape S 112, on applique une transformée inverse aux échantillons S-SEQl*. Par exemple, il s'agit d'une fenêtre du type de H. Par exemple, on peut en outre prévoir une étape Sl 13 comportant des opérations supplémentaires de décodage pour obtenir S-SEQl.

A l'étape Sl 14, on reçoit S-SEQl décodé par l'étape Sl 13, et S-SEQ*. On décode, au moins par décodage prédictif, à l'étape Sl 14 S-SEQ.

Enfin, à l'étape S 115, on reçoit S-SEQ décodé lors de l'étape Sl 14 et S-SEQ2* puis on décode S-SEQ2 par décodage prédictif. Au besoin, on peut également faire intervenir S-SEQl décodé à l'étape S113.

Un mode de réalisation de l'étape S 114 est décrit en référence à la figure 12. Dans ce mode de réalisation, on fait intervenir à la fois un décodage par transformée, et un décodage prédictif.

A l' étape S 120, on reçoit S-SEQ l (issu de S l 14) et S-SEQ*, puis on décode S-SEQ par décodage prédictif. On obtient S-SEQ' .

A l' étape S 121 , on applique une transformée inverse (par exemple celle déjà appliquée à S-SEQ l * pour obtenir S-SEQ l ) à S- SEQ l * . On obtient S-SEQ" .

Enfin, à l'étape S 122, on réalise une combinaison linéaire des échantillons S-SEQ' et S-SEQ" pour obtenir S-SEQ.

En référence à la figure 13, on décrit un autre mode de réalisation de l'étape S l 14.

Dans ce mode de réalisation, on recrée à partir de S-SEQ* décodé par décodage prédictif le repliement de signe opposé généré par le décodage de S-SEQ* par transformée (S-SEQ").

Ainsi, dans ce mode de réalisation on reçoit à l'étape S 130 S-

SEQ l et S-SEQ* puis on décode S-SEQ. On obtient S-SEQ' .

Ensuite, lors de l 'étape S 13 1 , on crée le même repliement que S-SEQ" dans S-SEQ' . A cet effet on lui applique la matrice S décrite ci-avant. .

S-SEQ " correspond au décodage de S-SEQ* par transformée lors de l' étape S 132.

Enfin, on combine S-SEQ' " et S-SEQ" lors de l' étape S 133 pour obtenir S-SEQ.

En référence à la figure 14, on décrit une entité de codage COD adaptée pour mettre en œuvre le procédé de codage décrit ci-avant. Cette entité de codage comporte une unité de traitement 140 adaptée pour recevoir un signal numérique SIG et déterminer deux séquences d' échantillons : une première séquence comportant une sous-séquence S-SEQ commune aux deux séquences, et une sous- séquence S-SEQl , et une deuxième séquence qui commence avant la fin de la première séquence et qui contient S-SEQ et une sous- séquence S-SEQ2.

L' entité de codage comporte également un codeur par transformée 141 , et un codeur prédictif 142. Ces codeurs sont adaptés pour mettre en œuvre les étapes du procédé de codage décrit ci-avant, et délivrer respectivement un vecteur transformée V_T codant la première séquence et un vecteur de prédiction V_P codant la deuxième séquence.

On peut prévoir des moyens de communication (non- représentés) pour échanger des signaux entre les codeurs.

En référence à la figure 15, on décrit une entité de décodage pour mettre en œuvre le procédé de décodage décrit ci-avant.

Cette entité de décodage DECOD comporte des unités de réception 150 et 151 pour recevoir respectivement un vecteur transformée V_T comportant des échantillons S-SEQ l * codant S-

SEQ l , et un vecteur de prédiction V_P comportant des échantillons

S-SEQ* codant S-SEQ et des échantillons S-SEQ2* codant S-SEQ2.

L' unité 150 fournit S-SEQl * à une unité d'application de transformée inverse 152. On peut par exemple prévoir en outre que l' unité 152 fournit un résultat à une unité de décodage par transformée 153 pour réaliser des opérations de décodage supplémentaires et fournir S-SEQ l . Une fois décodée par l 'unité 153, l'unité de décodage 154 reçoit S-SEQ l décodé par l' unité 153, et S-SEQ* fourni par l' unité 151. L' unité 154 décode, au moins par décodage prédictif S-SEQ, et fourni S-SEQ.

Enfin, DECOD comporte une unité de décodage prédictif 155 pour recevoir S-SEQ fourni par l'unité 154, et S-SEQ2* fourni par l' unité 151 , puis décoder S-SEQ2 par décodage prédictif et fournir S- SEQ2. Au besoin, l'unité 153 fourni également S-SEQ l décodé préalablement par l'unité 153.

Un programme informatique pour comportant des instructions pour mettre en œuvre le procédé de codage décrit ci-avant pourrait être établi selon un algorithme général décrit par la figure 9.

Ce programme informatique pourrait être exécuté dans un processeur d'une entité de codage telle que décrite ci-avant, pour coder un signal avec au moins les mêmes avantages que ceux procurés par le procédé de codage.

De la même manière, un programme informatique pour comportant des instructions pour mettre en œuvre le procédé de décodage décrit ci-avant pourrait être établi selon un algorithme général décrit par la figure 1 1 .

Ce programme informatique pourrait être exécuté dans un processeur d'une entité de décodage telle que décrite ci-avant, pour décoder un signal avec au moins les mêmes avantages que ceux procurés par le procédé de décodage.

En référence à la figure 16, on décrit un dispositif matériel adapté pour réaliser un codeur ou un décodeur selon un mode de réalisation de la présente invention. Ce dispositif DISP comporte une entrée E pour recevoir un signal numérique SIG. Le dispositif comporte également un processeur PROC de signaux numériques adapté pour réaliser des opérations de codage/décodage notamment sur un signal provenant de l'entrée E. Ce processeur est relié à une ou plusieurs unités de mémoire MEM adaptées pour stocker des informations nécessaires au pilotage du dispositif pour le codage/décodage. Par exemple, ces unités de mémoire comportent des instructions pour la mise en œuvre du procédé de codage/décodage décrit ci-avant. Ces unités de mémoire peuvent également comporter des paramètres de calcul ou d'autres informations. Le processeur est également adapté pour stocker des résultats dans ces unités de mémoire. Enfin, le dispositif comporte une sortie S reliée au processeur pour fournir un signal de sortie SIG*.

Bien entendu, on peut avantageusement combiner une ou plusieurs caractéristiques décrites ci-avant.