cours web mekaoui. - sayoud.netsayoud.net/old/cours.pdf · la chaine de transmission numérique du...

12
Méthodes pour le traitement du signal de la parole S. Mekaoui Plan du cours I. Introduction au traitement du signal de la parole; II. La chaine de transmission numérique du signal de la parole III. Codage source IV. Cryptage/Décryptage et Algorithme AES V. Simulation et Résultats VI. Conclusions

Upload: vuhanh

Post on 12-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

Méthodes pour le traitement du signal de la parole

S. Mekaoui

Plan du cours

I. Introduction au traitement du signal de la parole;

II. La chaine de transmission numérique du signal de la parole

III. Codage source

IV. Cryptage/Décryptage et Algorithme AES

V. Simulation et Résultats

VI. Conclusions

Page 2: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

Préambule:

Aujourd’hui, dans nos sociétés humaines, on ne peut imaginer un système de télécommunications qui n’intègre pas comme support d’information la parole humaine. Le traitement de la parole est un domaine dont on ne compte plus les différentes techniques toujours plus évoluées et sophistiquées. La transmission fidèle de la parole est assujettie à la qualité du prétraitement et du traitement qu’elle aura subie. La singularité de cette opération tient à la précision des systèmes automatiques capables de mimer de façon exacte les opérations normalement effectuées par le cerveau humain à la fois dans la production et la compréhension de la parole humaine. En raison des nombreux avantages qu’offre aujourd’hui le monde numérique en matière de protection de l’information et de la sécurisation de sa transmission, le domaine du traitement du signal de la parole est souvent lié au traitement numérique des signaux. Le traitement de la parole porte alors le nom de « Traitement automatique de la parole » souvent pour désigner les systèmes automatiques capables d’opérer le traitement automatique de la parole. Ces systèmes comportent en général :

- des Analyseurs, - des Systèmes de Reconnaissance, - des Systèmes de Codage/Décodage, - des Systèmes de Cryptage/Décryptage, - des Synthétiseurs.

Les analyseurs permettent l’analyse des caractéristiques du signal de la parole et en fixent les paramètres descripteurs. Le signal est analysé tel produit à la source. Les systèmes de reconnaissance permettent l’identification et l’authentification de la source (Locuteur) qui aura produit le signal de parole. On distingue en gros deux familles de systèmes de reconnaissance ; les systèmes qui déterminent le locuteur et ceux qui reconnaissent la nature de la parole dite et qui s’intéresse à l’identification des mots dits ou prononcés. Les systèmes de Codage/Décodage permettent la transmission et/ou stockage de la parole avec un débit réduit alors que les systèmes de Cryptage/Décryptage sont à l’origine de la transmission fidèle de la parole en la sécurisant au maximum. Les algorithmes dédiés à la sécurisation de la transmission de la parole par Cryptage/Décryptage font l’objet de nombreux travaux de recherches. Enfin le synthétiseurs réalisent la fonction inverse des analyseurs et permettent de produire la parole artificielle tenant compte des paramètres pertinent de l’analyse de la parole. L’ensemble des systèmes décrits peuvent être associés pour constituer une chaîne de transmission numérique du signal de la parole.

I. Introduction au traitement du signal de la parole

L’objet de ce cours se situe dans le domaine, particulièrement important des systèmes de télécommunications modernes, du codage et du cryptage du signal de la parole. Pour transmettre un signal de parole, des chaînes de communication analogiques ont été utilisées presque exclusivement jusqu’à une époque récente. A cause des perturbations et des bruits qui apparaissent inévitablement dans le canal de transmission, le signal reconstruit au récepteur ne pouvait être une réplique exacte du signal émis. Des systèmes numériques, dont le principal avantage est de transmettre des informations codées par numérisation avec une meilleure fiabilité, sont ensuite apparus. L’inconvénient de cette technique est qu’elle nécessite une plus large occupation spectrale lors de la transmission. Pour économiser les ressources des canaux de communication, le signal numérisé doit alors être compressé pour réduire le flux de données nécessaires à une reconstruction de bonne qualité du signal vocal d’origine.

Ainsi, il s’agit donc d’étudier et d’implémenter un système de codage/décodage et cryptage/décryptage du signal parole. Ce système est composé d’un étage de compression du signal de parole suivi d’un étage de chiffrement. Notre travail se subdivise, alors, en deux parties qui traiteront chacune le codage LPC (analyse/synthèse) qui a pour but la compression de signal parole et du cryptage/décryptage AES-RIJINDAEL aussi destiné à dissimuler le signal parole. Le logiciel SIMULINK de MATLAB a été utilisé pour la simulation de toute la chaîne de communication. A l’aide du Codeur HDL de SIMULINK on peut générer le code VHDL pour une implémentation sur une carte FPGA à titre d’exemple.

Page 3: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

II. La chaine de transmission numérique du signal de la parole

Une chaîne de transmission numérique est chargée de transmettre les informations d’une source vers un récepteur à travers un canal de transmission, La source et le récepteur peuvent être très proches ou éloignés. Parfois, ces informations sont privées ou très importantes à un niveau qu’impose une sécurisation avant la transmission. D’un point de vue performance, la chaîne de communication numérique est plus performante que la chaîne analogique car elle offre non seulement une protection contre les bruits mais aussi une correction d’erreur tout cela est possible grâce à un étage « codeur canal » qu’on trouve seulement dans les chaînes de communication numérique. Cependant, tous les systèmes de communication dits numériques sont calqués à partir du schéma global de la Figure II-1 qui montre le principe d’une chaîne de transmission numérique :

Figure Erreur ! Il n'y a pas de texte répondant à ce style dans ce document.I-1: Schéma

synoptique de la chaîne de transmission numérique.

III. Codage source

L’analyse de la parole est une étape indispensable à toute application de synthèse, de Codage ou de reconnaissance. Elle repose en général sur un modèle. Celui-ci possède un ensemble de paramètres numériques dont les plages de variation définissent l’ensemble des signaux couverts par le modèle.

III.1 Modèle source-filtre

Comme tous les modèles , on s’inspire ici des systèmes qui existent dans la nature, et dans le domaine du traitement de la parole. En fait, on cherche une équivalence entre le modèle physique (biologique) et le modèle mathématique. Cette équivalence a donné naissance à ce qu’on appelle les modèles «source-filtre», donc l’idée a été de construire un modèle qui consisterait en :

- Un conduit vocal modélisé par un filtre récursif (1 /A(z)), - Un flux d'air modélisé par un signal d'excitation u(n), - Un volume d'air modélisé par le gain G,

Page 4: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

III.2 Synthétiseur

Fant [] a proposé en 1960 un modèle de production qui spécifie qu’un signal voisé peut être modélisé par le passage d’un train d’impulsions u(n) à travers un prouvé cette modélisation reste valable dans le cas des sons non voisés, à condition que u(n) soit cette fois un bruit blanc. Le modèle final est illustré àparce qu’il correspond dans le domaine temporel à une régression linéaire de la forme

Figure III.

III.3 Analyse LPC

Après la mise en place du premier synthétiseur LPC qui utilise les paramètres (Ki, Fo, Gdu son , la question était : comment extraire ces paramètres a partir d’un signale de paroleréponses fut l’analyse LPC. L’analyse LPC peut être divisée en deux éta

• Analyse: c’est l’opération • La détection du fondamentale

ses variations.

Figure II.2 Modèle Source-Filtre

] a proposé en 1960 un modèle de production qui spécifie qu’un signal voisé peut être modélisé par le passage d’un train d’impulsions u(n) à travers un filtre numérique récursif d

cette modélisation reste valable dans le cas des sons non voisés, à condition que u(n) soit cette fois un bruit blanc. Le modèle final est illustré à Figure 1 . Il est souvent appelé modèle autoparce qu’il correspond dans le domaine temporel à une régression linéaire de la forme

∑=

−−+⋅=P

i

i inXanuGnX1

)()()(

III.1 Schéma synoptique de synthétiseur LPC

premier synthétiseur LPC qui utilise les paramètres (Ki, Fo, G: comment extraire ces paramètres a partir d’un signale de parole

en deux étapes essentielles : l’opération dans laquelle on calcule les coefficients de prédiction et le gain

La détection du fondamentale : ce calcule est le plus délicat parce que

] a proposé en 1960 un modèle de production qui spécifie qu’un signal voisé peut être modélisé filtre numérique récursif de type tous pôles. Il a été

cette modélisation reste valable dans le cas des sons non voisés, à condition que u(n) soit cette fois . Il est souvent appelé modèle auto régressif (AR),

parce qu’il correspond dans le domaine temporel à une régression linéaire de la forme :

premier synthétiseur LPC qui utilise les paramètres (Ki, Fo, G) pour produire : comment extraire ces paramètres a partir d’un signale de parole ? l’une des

laquelle on calcule les coefficients de prédiction et le gain l’oreille est très sensible à

Page 5: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

Figure III.3 Synoptique de l’analyse LPC

III.3.1 Calcul des coefficients

Le codage LPC consiste à estimer la valeur de d’échantillon à venir sur la base de quelques valeurs mesurées précédemment S[n-k]. Dans ces conditions, la valeur estimée et l’erreur de prédiction sont respectivement définies par :

);(][1

^KnSanS

P

K

K −=∑=

∑=

−−=P

K

K knsansne1

)()()(

Pour obtenir les coefficients de prédiction on applique le critère des moindres carrés, en minimisant l’énergie de l’erreur donnée par la relation suivante :

∑ ∑=

−−=n

P

K

K KnsansJ1

2))()((

Ce critère sera minimisé en annulant la dérivée de cette énergie par rapport au coefficient de prédiction :

Pour Pi ≤≤1

0

]))()(([1

2

=

−−

=∑ ∑

=

K

n

P

K

K

K a

Knsans

a

J

δ

δ

δ

δ

Ce qui conduit a l’équation suivant en supposant la stationnarité du signal sur un intervalle de durée de 15 à 25 ms:

∑∑ ∑=

−=−−2

1 1

2

1

)()()()(n

n

P

K

n

n

K insnsinsknsa

Page 6: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

On peut résoudre cette équation en utilisant : • la méthode d’autocorrélation (utilisée ici) • la méthode de covariance

La méthode choisie est celle de l’autocorrélation calculée sur une longueur du signal donnée. La fonction dite autocorrélation à court terme est définie par :

∑−

=

−=1

0

)()()(N

n

insnsiR

Alors si on remplace les deux dernières expressions dans R(i), on obtient :

∑=

−=P

K

K KiRaiR1

)()(

Cette équation doit être résolue en tenant compte du nombre d’opérations à effectuer, la méthode algébrique classique exige un nombre d’opérations (additions, multiplications) de l’ordre�

�, par contre dans le cas de l’ algorithme de Levinson le nombre d’opération sera réduit à �

�.

III.3.2 Calcul de la fréquence fondamentale (pitch)

L’estimation de la fréquence fondamentale est une opération très délicate d’où les grands nombres de méthodes proposées pour la détection de pitch. Parmi ces méthodes on distingue l’algorithme SIFT.

o Algorithme dit SIFT

En 1972 Markel a proposé une méthode qui consiste à estimer la fréquence fondamentale (pitch) F0 en se basant sur le filtre inverse dont la fonction de transfert A (z) est donnée par :

)(11)(

1zH

zazAP

k

k

k =−= ∑=

Cette méthode basée sur l’examen de la fonction d’autocorrélation du résidu LPC e(n). Ce qui fait la particularité de cette méthode, c’est que l’on effectue l’analyse sur la source directement, évitant ainsi toute interaction source conduit-vocal.

Les étapes de cette méthode sont : a) Filtrage du signal

On sait que la fréquence fondamentale est comprise entre (80-600Hz) en respectant la gamme de

variation de pitch pour les voix masculines, féminines et enfantines, donc il est très intéressant d’utiliser un filtre passe bas dont la fréquence de coupure Fc serait égale à 600Hz pour limiter le spectre du signal et réduire le temps de calcul.

b) Recherche de signal d’excitation e(n)

Nous savons que le résidu e(n) de la prédiction linéaire peut être considéré comme le signal d’excitation servant a créer le signal s(n) en passant à travers le filtre récursif :

Page 7: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

)(

1

)(

)()(

zAzE

zSzH ==

Puisque, dans notre cas, le signal s(n) est connu, on peut par filtrage inverse obtenir le résidu e(n) :

)()()( zAzSzE ⋅=

Ce qui revient à convoluer les coefficients )(naai ≡ avec le signal s (n) :

)()()( nsnane ⊗=

c) Autocorrélation

Comme le signal s(n) est passablement bruité, la recherche de la période est grandement facilitée si on l’effectue le calcul de l’autocorrélation sur e(n).

d) Interpolation (critère de décision)

L’autocorrélation e(n) peut faire apparaître plusieurs pics, un à l'origine, et un autre pic si le signal est

voisé. L'amplitude minimale pour considérer le deuxième pic comme valide est 40% de l'amplitude à l’origine. La distance entre ces deux pics est la fréquence d'excitation. En l'absence d'un deuxième pic, le signal est considéré comme non voisé.

III.3.3 Calcul du Gain

L’énergie totale contenue dans la séquence du signal de synthèse doit être égale à l’énergie totale de la séquence correspondante du signal analysé, soit pour un signal voisé ou non voisé l’énergie est calculée de la même façon par la relation suivante :

∑=

−==p

i

iip RaREG1

02

Par conséquent le gain représente la racine carrée de l’erreur quadratique totale minimale.

IV. Bloc de Cryptage/Décryptage et Algorithme AES

L’homme a toujours exprimé le besoin de dissimuler des informations confidentielles dans ses

communications. Ce procédé s’appelle la cryptographie. L’AES est un algorithme de chiffrement par bloc

symétrique et itératif (à plusieurs rondes) avec une taille de bloc d’entrée et une taille de clé variables. En

effet, l’algorithme supporte des tailles de bloc et des longueurs de clé de 128 bits, 192 bits, 256 bits

indépendamment, [13].

IV.1 le cryptage

Le cryptage de l’algorithme de RIJINDAEL consiste à appliquer quatre ( 4) transformations sur les octets

de la matrice d’état en itérant Nr-1, [14], à savoir :

• Subbyte

Page 8: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

• ShiftRows

• Mix column

• Add Round Key

IV.2 le décryptage :

L’idée du décryptage est la même que celle du cryptage sauf que cette fois-ci on inverse toutes les

instructions de Matrice décalage, etc. Ce qui par conséquent implique l’inversion des transformations

précédentes ou bien encore d’avoir les opérations suivantes : inv SubByte, Inv ShiftRows, Inv Mix column.

Le schéma général de cryptage et décryptage est représenté à la Figure IV.1, ci-après.

Figure IV-1. Schéma global du Cryptage et Décryptage de l’Algorithme AES

IV.3 Génération des clés :

Dans cette partie on désire créer des matrices de sous-clé pour additionner dans chaque round (sauf la dernière) dont la taille est de 4*(Nb*(Nr+1)) octets. Il s’agit ici de voir comment Rjindael a opéré pour déduire les 10 clés secondaires dont il a besoin pour aboutir au texte chiffré. On considère les deux matrices suivantes (Rcon Round constant qui est constante).

Page 9: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

Tableau A: Matrice de Rcon Tableau B : exemple d’une Clé initiale

Le tableau W (voir la fin du Tableau A) est une matrice de 4*(Nb*(Nr+1)) octets qui contient toutes les sous clés et la notation W[i] indique la nième colonne, la transformation subbyte est la même que celle définie pour le cryptage par contre Rotword est une nouvelle colonne W’ [i] qui n’est rien d’autre qu’une rotation circulaire vers le haut.

0

2

1

3

3

2

1

0

i

i

i

i

i

i

i

i

W

W

W

W

W

W

W

W

W’ [i]=Rotword (W[i])=Rotword

L’organigramme de l’algorithme de génération des clefs donné ci-dessous illustre le déroulement du

calcul :

Figure IV.2: Plan de génération de sous-clés

a) Sécurisation par l’AES :

La structure de l’algorithme RIJINDAEL est très différente de celle adopté par le DES. En effet, L’AES est basé sur la théorie de champs de Gallois. Sa conception a pris en compte les différentes attaques connues jusqu'à l’année 1997, [13].

Comme résultat final, il n’existe pas d’attaque dont la complexité soit inférieure à celle de l’attaque à force brute avec un nombre de rondes supérieur à six. Ainsi la sécurité estimée de l’AES est de :

Page 10: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

1282 Pour une taille de clé de 128 bits1922 Pour une taille de clé de 192 bits2562 Pour une taille de clé de 255 bits

Ceci offre une grande marge de sécurité visl’apparition de nouvelles techniques de cryptanalyse.

V. Simulation et Résultats

V.1) Simulation des deux blocs Codage et Cryptage/Décryptage du signal de la Parole en utilisant Simulink (Matlab)

Pour des raisons d’économie, la méthodologie du

passer à l’implémentation hardware parce que cela permet d’optimiser

résultats. Dans ce travail on a procéd

chaîne analyse/synthèse LPC à l’aide de bloc

La Figure IV.3 ci-dessous représente les différen

Figure IV.3 Réalisation de la Simulation des Blocs Codage et Cryptage/Décryptage d’un segment de Parole

Comme il s’agit d’un signal de parole précisément du groupe de mots « ESSALAM ALAÏKOUMterme (TFCT) pour voir l’évolution

Pour une taille de clé de 128 bits

Pour une taille de clé de 192 bits Pour une taille de clé de 255 bits

Ceci offre une grande marge de sécurité vis-à-vis de toutes les attaques connues mais n’exclut pas l’apparition de nouvelles techniques de cryptanalyse.

s Codage et Cryptage/Décryptage du signal de la Parole en utilisant Simulink

raisons d’économie, la méthodologie du travail exige toujours une simulation avant de

parce que cela permet d’optimiser les systèmes et aussi

résultats. Dans ce travail on a procédé à une simulation en utilisant Simulink de

l’aide de blocs embarqués sous Simulink (Embedded Functions of Matlab)

représente les différents blocs réalisés sous Simulink de Mat

Figure IV.3 Réalisation de la Simulation des Blocs Codage et Cryptage/Décryptage d’un segment de Parole

Comme il s’agit d’un signal de parole correspondant à un segment de Parole de la Langue Arabe et plus ESSALAM ALAÏKOUM » on a utilisé la transformé du signal en temps et en fréquence, dans le plan temps

utes les attaques connues mais n’exclut pas

s Codage et Cryptage/Décryptage du signal de la Parole en utilisant Simulink

rs une simulation avant de

les systèmes et aussi de valider les

de Matlab pour réaliser la

s embarqués sous Simulink (Embedded Functions of Matlab).

ts blocs réalisés sous Simulink de Matlab.

Figure IV.3 Réalisation de la Simulation des Blocs Codage et Cryptage/Décryptage d’un segment de Parole

correspondant à un segment de Parole de la Langue Arabe et plus on a utilisé la transformée de Fourier à court

dans le plan temps-fréquence

Page 11: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

simultanément afin d’observer les effets du Codage et du Cryptage/Décryptage dans le domaine tempsfréquence. Ces effets sont visibles sur les trois sous

Figure IV-4 Résultats temporels et d’un segment de Parole par le Spectrogramme de sa TFCT.

En ce qui concerne les résultats obtenus dans cette partie et après

constaté que la qualité n’était pas bonne mais

s’est intéressé alors à la recherche de

par bloc.

V-2 Simulation du bloc codage :

Pour la simulation de cette partie nous avons

V-3) Simulation du bloc cryptage/décryptage

A l’aide du test par bloc nous sommes arrivéen fait liée directement à la modification énergétique l’erreur de codage d’autre part. Cependant,

simultanément afin d’observer les effets du Codage et du Cryptage/Décryptage dans le domaine tempsfréquence. Ces effets sont visibles sur les trois sous-figures ci-dessous de la Figure IV

4 Résultats temporels et Fréquentiels du Codage et du Cryptage/Décryptage dans le plan (t,f) d’un segment de Parole par le Spectrogramme de sa TFCT.

oncerne les résultats obtenus dans cette partie et après écoute de signal

pas bonne mais qu’elle reste acceptable relativement aux normes utilisées

de la cause de cette dégradation de qualité en procédant à un test bloc

tie nous avons obtenus les spectrogrammes suivants

/décryptage:

l’aide du test par bloc nous sommes arrivés à localiser la cause de la dégradation dumodification énergétique au niveau de signal sy

d’autre part. Cependant, cette dégradation reste logique parce qu’

simultanément afin d’observer les effets du Codage et du Cryptage/Décryptage dans le domaine temps-dessous de la Figure IV-4 :

Fréquentiels du Codage et du Cryptage/Décryptage dans le plan (t,f)

écoute de signal Synthétisé, nous avons

lle reste acceptable relativement aux normes utilisées. On

en procédant à un test bloc

obtenus les spectrogrammes suivants :

dation du signal reçu qui était au niveau de signal synthétisé d’une part et à

radation reste logique parce qu’il s’agit d’un bloc de

Page 12: COURS WEB MEKAOUI. - sayoud.netsayoud.net/old/cours.pdf · La chaine de transmission numérique du signal ... est chargée de transmettre les informations d’une source ... modélisation

compression, par contre le bloc de cryptage/décryptage n’introduit aucune modification au niveau du signal car l’architecture de l’algorithme AES n’agit pas sur le contenu de l’information mais il remplace simplement ce dernier par une autre information non significative a l’émission et à la réception. L’algorithme récupère l’information à l’émission ou à la réception de la même façon.

VI. Conclusion

Ce projet de cours a pour double objectif de présenter la théorie nécessaire à la compréhension des méthodes de traitement numérique du signal de la parole et de présenter simultanément les résultats obtenus de la simulation de deux blocs très importants de la chaine de transmission numérique de ce dernier. Il s’agissait donc après un rappel des notions requises de présenter l’implémentation en temps réel du codage LPC et du Cryptage/Décryptage d’un segment de parole de la langue Arabe que nous avons délibérément choisi.

Nous nous sommes donc intéressés principalement au codeur de parole analyse par synthèse LPC qui assure un débit étalé sur une bande de 2.4à16 Kbits/s. Comme le modèle LPC est l’un des modèles de base dans le traitement de la parole, la qualité du signal synthétisé reste acceptable par rapport aux taux de compression présenté (13 paramètres par trame au lieu de 256 échantillons) et un temps de calcul réduit. Le débit de notre codeur source est de 4,3 Kbit/s obtenu grâce à une quantification uniforme et un codage sur 8 bits (pour chaque paramètre) puis nous avons implémenté le bloc de cryptage qui assure la confidentialité du segment de parole transmis et crypté grâce à l’Algorithme AES. Des travaux futurs sont en préparation pour l’implémentation en temps réel du Codage et du Cryptage/Décryptage d’un segment de parole sur une carte VIRTEX 5 à base du circuit FPGA du type MSL 507.