Atc

download Atc

of 187

Transcript of Atc

  • PROGRAMME DACTION DE SOUTIEN LA FORMATION ET LA RECHERCHE2000-PAS-32

    Alexandru Isar Andrei Cubichi Miranda Naforni

    Editura ORIZONTURI POLITEHNICE, 2002

    Algorithmes et techniquesde compression

  • Text finanare : grant AUPELF-UREF 2000-PAS-32, Mthodes modernesde traitement du signal pour la compression de donnes dans les modemshaut dbit.

    Referent tiinific : Prof. dr. ing. Ioan Naforni

    Tehnoredactare : Isar Alexandru

    Coperte : Naforni Miranda, Isar Alexandru, Cubichi Andrei

  • Le professeur Alexandru Isar, doyen adjoint de la Facult dElectronique etTlcommunications de lUniversit Politehnica de Timioara est un spcialiste rput dans ledomaine du traitement du signal, de lanalyse en ondelettes et des reprsentations temps-frequence. Plusieurs parmi ses travaux scientifiques ont devenu des titres de rfrence dans lesdomaines dj numrs, motif pour lequel il a t invit de donner des confrences ltrangeraussi.

    Le docteur ingnieur Andrei Cubichi, est P.D.G. de la socit commercialeGOLDSTERN et spcialiste dans le domaine des communications avec les mobiles. Il est aussiun ingnieur trs dou. Il a publi quelques travaux de spcialit trs bien reus par lacommunaut scientifique.

    Madame le professeur Miranda Naforni est lun de meilleurs professeurs dudpartement de Tlcommunications de la facult de Timioara. Son exprience dans le domainede la transmission de donnes et de la thorie de linformation et du codage lui a donn une visiondensemble dans le domaine des tlcommunications. En consquence elle a t invite prsenter des confrences ltranger. Elle est lauteur des nombreux travaux scientifiques, dontquelques-uns sont devenus des rfrences dans les domaines correspondants. Sa competence a tconfirme aussi par le fait quelle a obtenu le grant AUPELF-UREF: 2000-PAS-32.

  • PrfaceCe livre est le rsultat des recherches effectues par les trois auteurs dans

    le domaine de la compression des donnes, en gnral, et du signal de parole, enparticulier. Il nest pas ncessaire de justifier la ncessit de la compression dessignaux. Je dirai seulement quun grand nombre de collectifs de rechercheprestigieux, du monde entier, soccupent de ce problme. Il y a nombreusesconfrences et articles publis, ddis ce sujet; on a labor dj des standards etsont faits des nouvelles propositions de standards. Malheureusement les standardsexistants pour la compression pertes du signal de parole ne se rfrent pas laqualit du signal reconstruit. Les auteurs ont voulu, et je pense quils ont arriv laborer une mthodologie de compression pertes du signal de parole, en gardantles distorsions de reconstruction sous un niveau impos. Les trois auteurs sont desspcialistes dans le domaine de traitement du signal et des tlcommunications engnral. Suite leurs connaissances de la thorie des ondelettes ils ont abord leproblme de la compression du point de vue de cette thorie. On montre dans lelivre que les transformes orthogonales bases sur les ondelettes peuvent treconsidrs comme assymptotiquement convergentes vers la transforme deKarhunen-Love, tant des transformes sousoptimales, appropris pour laralisation de la compression pertes. Suite la particularit de la majorit dessons de la langue parle, dtre similaires une somme des oscillations pondres,les auteurs slectionnent parmi plusieurs transformes orthogonales bases sur lesondelettes, la transforme en paquets de cosinus discrte. Apres le calcul de latransforme orthogonale du signal de parole, soumis la compression, on fait, dansle schma de compression propose par les auteurs, une dtection de seuil, quilimine les chantillons infrieurs un certain seuil. Les auteurs ont fait appel unseuil variable en temps, en sadaptant une erreur maximale de reconstruction,impose apriori. De plus, en utilisant le modle psycho-acoustique de la parole unsystme de quantification adaptatif, rgl par la mme erreur est construit aussi.Comme mesure des distorsions, quivalentes ici avec lerreur de reconstruction, lavaleur moyenne quadratique a t choisie. Pour dterminer cette erreur on fait unereconstruction locale du signal comprim et une comparaison avec le signal initial.Lerreur obtenue sert aux rglages. Je mentionnerai aussi le fait que le problme dela slection de la meilleure base de reprsentation pour la transforme en paquetsde cosinus discrte soit rsolu en utilisant un algorithme de slection, sur chaquesegment du signal de parole, des lments de celle base qui minimise le nombredes chantillons transmettre. Il faut remarquer le fait quon utilise des mthodesdadaptation locales et globales mais que le systme de compression est stable,ladaptation obtenue tant convergente. Les auteurs ont simul le systme decompression de la parole propos. Leurs rsultats exprimentaux ont indiqu unfacteur de compression moyen suprieur 10, un niveau des distorsions infrieur 20 dB. Jajoute le fait quaucune compression sans pertes des chantillons dusignal quantifi, qui pourrait augmenter le facteur de compression, na pas tconsidre. En gnral la compression du signal de parole est ralise laide de la

  • prdiction linaire. Voil que les auteurs de ce livre nont pas utilis cettetechnique classique et ont exploit un autre modle du signal de parole, plusappropri pour la majorit des segments du signal de parole, le modle sinusodal,qui justifie la slection de la transforme en paquets de cosinus discrte, dans leschma de compression propose. On obtient des rsultats remarquables. Lapossibilit de combiner les deux techniques de compression (celle classique etcelle propose dans ce livre) est aussi voque. En utilisant la mthode classique on pourrait mieux reprsenter les segments du signal de parole qui ressemblent un bruit- mais sont moins frquentes que les segments qui ressemblent plus unecombinaison linaire de sinusodes. Lexprience des auteurs dans les domaines dutraitement du signal et des tlcommunications a conduit lobtention du grant2000-PAS-32, financ par AUPELF-UREF. Son titre est Mthodes modernes detraitement du signal pour la compression de donnes dans les modems haut dbit.Les rsultats de la recherche ralise dans ce grant sont matrialiss aussi par celivre. Une partie de ce livre est reprsente par la thse de doctorat du MonsieurAndrei Cubichi, ce qui augmente la qualit de ce travail. Je considre que par lesrsultats prsents et par les nouvelles directions de recherche ouvertes, celivre serra trs utile aux spcialistes en tlcommunications et tousintresss dans ce domaine. Voil pourquoi je recommandechaleureusement ce livre votre attention. Quelques mots sur les auteurs.Le professeur Alexandru Isar, doyen adjoint de la Facult dElectronique etTlcommunications de lUniversit Politehnica de Timioara est unspcialiste rput dans le domaine du traitement du signal, de lanalyse enondelettes et des reprsentations temps-frequence. Plusieurs parmi sestravaux scientifiques ont devenu des titres de rfrence dans les domainesdj numrs, motif pour lequel il a t invit de donner des confrences ltranger aussi. Le docteur ingnieur Andrei Cubichi, est P.D.G. de lasocit commerciale GOLDSTERN et spcialiste dans le domaine descommunications avec les mobiles. Il est aussi un ingnieur trs dou. Il apubli quelques travaux de spcialit trs bien reus par la communautscientifique. Madame le professeur Miranda Naforni est lun de meilleursprofesseurs du dpartement de Tlcommunications de la facult deTimioara. Son exprience dans le domaine de la transmission de donnes etde la thorie de linformation et du codage lui a donn une visiondensemble dans le domaine des tlcommunications. En consquence elle at invite prsenter des confrences ltranger. Elle est lauteur desnombreux travaux scientifiques, dont quelques-uns sont devenus desrfrences dans les domaines correspondants. Sa competence a tconfirme aussi par le fait quelle a obtenu le grant AUPELF-UREF: 2000-PAS-32, dont jai dj crit.Timioara, le 21.07.2002 Prof. dr. ing. Ioan Naforni

  • Table de matires

    Chapitre1. Mthodes de compression de donnes 11.1. Mthodes de compression sans pertes 21.1.1. Mthodes de codage 21.1.1.1. Le codage de Huffman 21.1.1.2. Autres mthodes de codage 131.1.1.2.1. Le codage de Lempel - Ziv 131.1.1.2.2. La compression laide du codage Lempel - Ziv 131.1.1.2.3. Les performances du codage Lempel - Ziv 151.1.1.2.4. Le codage de type run-lenght 161.1.1.2.5. Le codage arithmtique 161.1.2. Quelques applications 171.2. Mthodes de compression pertes 181.2.1. Compression par transforme orthogonale 181.2.1.1. La transforme de Karhunen-Love 22Chapitre 2. Transformes en ondelettes discrtes 292.1.1. La liaison entre la thorie des ondelettes et le codage en sous-bandes 292.1.1.1. Le codage en sous-bandes reconstruction parfaite en utilisant dessystmes structure arborescente avec des filtres ralisables

    38

    2.1.1.1.1. Mthodes de construction des filtres CQF 432.1.2 La liaison entre les systmes de codage en sous-bandes et la thorie dessries d'ondelettes

    43

    2.1.3. La transforme en ondelettes discrte TOD 532.1.4. Paquets d'ondelettes 572.1.4.1. La slection de la meilleure base 592.1.4.2. Paquets d'ondelettes de type Malvar 632.2. L'utilisation des transformes orthogonales prsentes pour la compressiondes donnes

    65

    2.2.1. L'analyse statistique de la TOD 652.2.2. L'analyse statistique de la TPOD 752.2.3. L'analyse statistique de la TPCD 802.3. La slection de la meilleure ondelette mre 82Chapitre 3. Le dtecteur de seuil 883.1. La dtection adaptative de seuil 883.2. L'analyse statistique du dtecteur de seuil 91Chapitre 4. Le systme de quantification pour la compression de la parole 934.1. Proprits psicho-acoustiques du signal de parole 934.1.1. Le phnomne de masquage 934.1.2. Des bandes critiques 954.1.2.1. Le seuil de masquage 964.1.2.2. L'utilisation du seuil de masquage la compression du signal de parole 994.2. La quantification adaptative dans le domaine de la TPC 1004.3. Les autres blocs du systme de compression 102

  • Chapitre 5. La compression de la musique 1035.1. Le codeur MUSICAM 1035.2. Le codeur MP-3 1065.2.1. Lavenir du codeur MP-3 1105.2.2. La compression de la musique a laide des paquets en cosinus 1105.3. La compression de la parole 1115.3.1. Le codeur CELP 1125.3.1.1. La dtermination des coefficients du filtre de synthse 1135.3.1.1.1. Algorithme itratif standard pour la construction de lexcitation 1195.3.1.1.2 Description algorithmique 1215.3.1.1.3 Le codeur GSM 1235.3.2. La compression de la parole en utilisant les paquets de cosinus 1245.3.2.1. Premire exprience 1255.3.2.2. La deuxime exprience 1325.3.2.3. La troisime exprience 1365.3.2.4. La quatrime exprience 139Chapitre 6. La compression dimages 1496.1. La compression dimages fixes 1496.1.1. Le standard JPEG-2000 1546.2. La compression des squences dimages 1586.2.1. Le standard de compression MPEG-1 1586.2.2. Le standard de compression MPEG-2 1626.2.3. Le standard de compression MPEG-4 1666.2.3.1. Le codage de la forme, du mouvement et de la texture pour chaque VOP 167Bibliographie 173

  • Chapitre 1. Mthodes de compression de donnes

    Le sujet de ce livre sont les mthodes de compression de donnes et lesalgorithmes correspondants. Ce sont mthodes de codage de la sourcedinformation. Lintrt de ltude de ces mthodes de traitement du signal est ledveloppement sans prcdent des tlcommunications numriques. On parleaujourdhui de globalisation, il faut communiquer en temps rel n'importe o dansle monde entier. La vitesse des communications ne peut pas tre augmente sanslaide des techniques de compression. Tous les types des signaux intressants pourles transmissions : les logiciels, les textes, la parole, la musique, les images,doivent tre comprims. La compression ne doit pas conduire des distorsionssaisissables et doit tre ralise avec taux de compression les plus levs possibles.Le nombre doprations et le volume de mmoire requis par les algorithmes decompression ne doivent pas tre trs grands. Les applications sont nombreuses :rseau tlphonique public, communication avec les mobiles, radiodiffusionnumrique, tlvision numrique, Dans ce livre nous prsentons des techniquesde compression pour les textes, pour les signaux audio et pour les images. Il y adeux catgories de mthodes de compression de donnes, celles sans pertes etcelles pertes. On prsente dans la suite quelques mthodes de compressionappartenant ces deux catgories. Notre but est denvisager lapport de la thoriedes ondelettes aux techniques de compression pertes contrles. Le plan du livreest le suivant :

    - Au premier chapitre on prsente les mthodes de compression sans pertes,utilises pour la compression du texte, les logiciels y compris. Aprs onintroduit les mthodes de compression pertes contrles bases surlutilisation dune transforme orthogonale. Le rle de cette transformeest la de-correlation du signal comprimer. On prsente la transformeidale, cest la transforme de Karhunen-Love. On propose un schma decompression bas sur une transforme orthogonale. Les blocs de ceschma, dtecteur de seuil, systme de quantification, seront les sujetsde quelques chapitres suivants de ce livre.

    - Le but du deuxime chapitre est la prsentation des trois transformes enondelettes discrtes : la transforme en ondelettes discrte, la transformeen paquets dondelettes discrte et la transforme en paquets de cosinusdiscrte. On prouve la convergence asymptotique de ces trois transformesvers la transforme de Karhunen-Love.

    - Le sujet du troisime chapitre est le dtecteur de seuil du schma decompression propose au premier chapitre. Celui-ci realise la suppressiondes coefficients de la transforme orthogonale, infrieurs un certain seuil.

    - Au quatrime chapitre on prsente un systme de quantification spcifiquepour la compression de la parole. A la fin de ce chapitre on prsente lesautres blocs du schma de compression propos au premier chapitre.

  • 2 Mthodes de compression de donnes - 1

    - Le cinquime chapitre est ddi la compression des signaux audio. Aucommencement on prsente les systmes de compression de la musique etaprs on prsente la compression de la parole.

    Au chapitre six on prsente des systmes pour la compression des images.

    1.1. Mthodes de compression sans pertes

    Ces mthodes ont t tablies dans le cadre de la thorie de linformation.Elles se basent sur des mthodes de codage.

    1.1.1. Mthodes de codage

    On a deux types de codage: le codage de la source dinformation (quitransforme la source dans une forme alternative, meilleure pour la transmission oupour lenregistration) et le codage de la voie (qui augmente la robustesse dumessage contre les erreurs de transmission). Les mthodes de compression sanspertes font partie de la premire catgorie. Les codes crs doivent avoir quelquesproprits, [1], [2]:

    tre uniquement decodables, tre decodables instantanment, tre compacts.

    Si le code nest pas compact il doit tre le plus efficient possible, [3]. Pourapprcier cette efficience il faut calculer la longueur moyenne du code. Cettequantit peut tre apprcie laide de lentropie de la source en utilisant lethorme de Shanon sur le codage dans labsence du bruit. Parmi les codes pour lacompression de donnes, le plus ancien et peut tre le plus utilis encore, est lecode de Huffmann. Celui-ci a labor son fameux algorithme de codage en 1952,comme rponse une question pose par lun de ses professeurs quand il taittudiant MIT.

    1.1.1.1. Le codage de Huffman

    On prsente le codage de Huffman en utilisant lexemple dun traitementde texte. Le but est la compression du texte. Plusieurs langages de programmationutilisent le code ASCII pour les caractres. Quelques langages de programmation(comme JAVA par exemple) utilisent UNICODE qui, parce quil peut coder unnombre plus grand de caractres, est plus utile pour des langues comme le japonaisqui a un nombre plus grand de caractres. On utilisera dans cet exemple le codeASCII, donc chaque caractre sera cod sur un nombre de 8 bits. Parce que on peutcoder 256 valeurs diffrentes en utilisant 8 bits il y a 256 caractres diffrents danslalphabet ASCII. Les caractres alphanumriques, les caractres de ponctuation etles caractres de contrle utilisent seulement 7 bits.

  • 1.1.1.1. - Le codage de Huffman 3

    Le codage de Huffman realise la compression de donnes en utilisant un nombreinfrieur de bits pour la reprsentation des caractres avec une apparition plusfrquente.Au commencement on prsente le codage ASCII de la squence "go go gophers"puis on verra comment on peut rduire un peu le nombre des bits en utilisant unemthode de compression trs simple et aprs on verra lutilisation du codage deHuffman pour faire la compression plus efficiente.Soit "go go gophers" la squence tre comprime. La reprsentation de cettesquence en code ASCII, prsente dans le tableau suivant, demande 104 bits.

    Caractre ASCII BinaireG 103 1100111O 111 1101111P 112 1110000H 104 1101000E 101 1100101R 114 1110010S 115 1110011

    Espace 32 1000000 Tableau 1.1.1.1.1. Le codage ASCII de la squence comprimer.

    Le code numrique de la squence comprimer est:

    103 111 32 103 111 32 103 111 112 104 101 114 115.

    La suite de bits correspondante est:

    1100111 1101111 1100000 1100111 1101111 1000000 1100111 1101111 11100001101000 1100101 1110010 1110011

    Parce que on a seulement 8 caractres diffrents dans la squence "go go gophers",on peut utiliser seulement 3 bits pour coder les caractres de cette squence. Onpeut utiliser, par exemple, le codage prsent dans le tableau suivant:

  • 4 Mthodes de compression de donnes - 1

    Caractre code BinaireG 0 000O 1 001P 2 010H 3 011E 4 100R 5 101S 6 110

    Espace 7 111 Tableau 2.1.1.1.1. Un autre codage.

    En utilisant le tableau de codage 2.1.1.1.1. on obtient pour la squence "go gogophers" la suite:

    0 1 7 0 1 7 0 1 2 3 4 5 6

    et la squence de bits correspondante:

    000 001 111 000 001 111 000 001 010 011 100 101 110 111

    En utilisant trois bits per caractre le codage de la squence "go go gophers" utiliseseulement 39 bits et pas 104 bits. On peut diminuer encore le nombre total de bitssi on utilise un nombre plus petit de bits pour le codage des caractres g, o, espace,dont lapparition est plus frquente. Cest lide de base pour le codage deHuffman. On verra comment on peut faire un tel codage en utilisant un arbre quicontient les caractres dans ses feuilles et la squence des bits (utiliss pour lecodage des caractres) dans ses branches.En utilisant un arbre binaire tous les caractres sont groups dans les feuilles. Dansla figure 1.1.1.1.1 larbre a huit feuilles et sept branches. A une branche de gauche(colore en noir) on associera un 0 et a une branche de droite on associera un 1. Lecode ASCII pour chaque caractre/feuille est obtenu en poursuivant la brancheracine-feuille et en groupant les 0 et les 1.Par exemple le caractre 'a', qui a la valeur ASCII 97 (1100001 en binaire), estreprsent par la branche racine-feuille: droite-droite-gauche-gauche-gauche-gauche-droite.

  • 1.1.1.1. - Le codage de Huffman 5

    Figure 1.1.1.1.1. Codage par arbre binaire de la squence considre.

    La structure de larbre peut tre utilise, pour dterminer le code pour chaquefeuille, en utilisant la convention de branche 0/1 dj dcrite. Si on utilise un arbrediffrent on obtient un codage diffrent.Par exemple larbre de la figure suivante corresponde au codage du tableau3.3.1.1.1.

  • 6 Mthodes de compression de donnes - 1

    Caractre binaire

    'g' 10'o' 11'p' 0100'h' 0101'e' 0110'r' 0111's' 000' ' 001

    Tableau 3.1.1.1.1. Un autre codage.

    Figure 2.1.1.1.1. Larbre binaire correspondant au tableau 3.1.1.1.1.

    En utilisant ce codage la squence "go go gophers" est code comme:

    10 11 001 10 11 001 10 11 0100 0101 0110 0111 000

    On a obtenu ainsi un nombre total de 37 bits, infrieur avec deux bits au nombreobtenu avec le codage de ces huit caractres trois bits pour chaque caractre (djprsent). Cette conomie a t ralise en codant les caractres qui apparaissentplus frquemment, comme par exemple 'g' et 'o' avec un nombre de bits infrieur 3 (on a utilis seulement 2 bits pour ces caractres) en opposition avec les autrescaractres, comme par exemple 'h', 'e', et 'r'.

  • 1.1.1.1. - Le codage de Huffman 7

    La rgle de codage des caractres induite par larbre considr peut tre utilisepour dcoder une squence binaire. On peut essayer dcoder la squence binairesuivante:

    01010110011100100001000101011001110110001101101100000010101011001110110

    Pour dcoder la squence on commence la racine de larbre de codage et onassocie une branche de gauche pour un 0 et une branche de droite pour un 1.Quand une feuille est atteinte on sauve le caractre contenu et on commence denouveau au sommet de larbre. Au commencement de la squence dcoder ontrouvent les bits: 010101100111. a signifie gauche - droite - gauche - droitejusqu la lettre 'h', puis (en commencent de nouveau de la racine) par droite -droite - gauche jusqu la lettre 'e', puis par gauche - droite - droite - droite jusqula lettre 'r'. En continuant jusquau dernier bit on obtient la squence : her spheregoes here.Quand tous les caractres sont contenus dans les feuilles de larbre et chaque nudintrieur (qui ne reprsente pas une feuille) a deux enfants, le codage introduitpar la convention 0/1, prsente plus haut, a la proprit de prfix: aucunesquence de bits qui code un caractre nest pas le prfix dune autre tellesquence. Cette proprit donne la possibilit de dcodage dune squence laidede larbre de codage en poursuivant les branches racine-feuille.Larbre prsent plus haut pour la squence "go go gophers" est optimal, il ny apas un autre arbre avec les mmes caractres qui utilise un nombre plus petit debits pour le codage de cette squence. Le codage de Huffman est optimal.On considre que chaque caractre a une certaine frquence dapparition dans letexte coder. Par exemple dans la squence "go go gophers" les caractres 'g' et 'o'ont la frquence dapparition 3/13 lespace a la frquence dapparition 2/13 et lesautres caractres ont la frquence dapparition 1/13.Quand on fait la compression dun fichier en utilisant la mthode de codage deHuffman, il est ncessaire de calculer ces frquences. Pour lexemple prsent ici,on ignore cette tape et on considre quon connat toutes les frquencesdapparition des caractres de la squence coder. Lalgorithme de Huffmansuppose la construction dun seul arbre appartenant une foret. Au commencementtous les arbres ont un seul nud qui contient un caractre et sa frquencedapparition. On combine les arbres par la slection de deux arbres qui serontutiliss pour la construction dun nouvel arbre. Ainsi se rduit le nombre darbresde la foret avec 1 chaque pas de lalgorithme. Les tapes de lalgorithme sont lessuivantes:1. On commence avec une foret. Chaque arbre de cette foret a un seul nud quicontient un caractre et une frquence dapparition. Cest la frquence dapparitionconsidre pour larbre aussi. On combine les arbres par la slection de deux arbresqui seront utiliss pour la construction dun nouvel arbre. Ainsi se rduit le nombre

  • 8 Mthodes de compression de donnes - 1

    des arbres de la foret avec 1 chaque pas de lalgorithme.2. On rpte ltape antrieure jusqu lobtention dun seul arbre. On choisi deuxarbres avec les plus petites frquences dapparition et on les note par T1 et T2. Onfait la construction dun nouveau arbre dont la frquence dapparition sera lasomme de deux frquences dapparition de deux arbres parents T1 + T2 et dont lesous-arbre de gauche est celui de frquence T1 et le sous-arbre de droite est celuide frquence T2.3. Le seul arbre rest aprs ltape antrieure est un arbre de codage optimal.En prenant de nouveau lexemple de la squence "go go gophers" on a aucommencement la foret prsente dans la figure suivante.

    Figure 3.1.1.1.1. La premire tape de lalgorithme de Huffman.

    Les frquence dapparition de chaque nud sont proportionnelles aux valeursindiques au-dessous de chacun.On choisit deux nuds frquences dapparition minimales. On fait la constructiondun nouvel arbre dont la racine est pondre par la somme des frquencesdapparition de deux arbres slectionns. On a obtenu ainsi la foret, contenant septarbres, de la figure suivante.

    Figure 4.1.1.1.1. Le premier pas de la deuxime tape de lalgorithme de Huffman.

    En slectionnant de nouveau deux arbres minimaux on obtient un nouvel arbre frquence dapparition proportionnelle 2 et la foret prsente dans la figuresuivante.

  • 1.1.1.1. - Le codage de Huffman 9

    Figure 5.1.1.1.1. Le deuxime pas de la deuxime tape de lalgorithme de Huffman.

    Il faut choisir de nouveau les deux arbres de frquences minimales. Le nud frquence minimale est celui qui corresponde la frquence proportionnelle 1(celui qui contienne le caractre 'e'). Il y a trois arbres qui ont la frquenceproportionnelle 2, on peut choisir nimporte lequel pour trouver la paire de larbrecorrespondent au caractre e. Le nouvel arbre cr aura une frquencedapparition proportionnelle 3. On obtient la foret prsente dans la figuresuivante.

    Figure 6.1.1.1.1. Le troisime pas de la deuxime tape de lalgorithme de Huffman.

    Maintenant on a deux arbres frquences dapparition proportionnelles 2. Onutilise ces arbres pour construire un nouvel arbre qui aura la frquence dapparitionproportionnelle 4. On a rest quatre arbres, un frquence dapparitionproportionnelle 4 et trois frquences dapparition proportionnelles 3. Lersultat est prsent dans la figure suivante.

  • 10 Mthodes de compression de donnes - 1

    Figure 7.1.1.1.1. Le quatrime pas de la deuxime tape de lalgorithme de Huffman.

    Deux arbres minimaux sont de nouveau associs pour construire un nouvel arbrequi aura une frquence dapparition proportionnelle 6. On a slectionn les arbresg et o. La foret obtenue est prsente dans la figure suivante. Elle contient troisarbres. Les arbres minimaux ont des frquences dapparition proportionnelles 3 et 4.

    Figure 8.1.1.1.1. Le cinquime pas de la deuxime tape de lalgorithme de Huffman.

    En les utilisant on peut construire un nouvel arbre qui aura une frquencedapparition de 7 et on obtient la foret de deux arbres de la figure suivante.En fin les deux derniers arbres sont utiliss pour la construction de larbre finaldont la frquence dapparition est proportionnelle 13.

  • 1.1.1.1. - Le codage de Huffman 11

    Figure 9.1.1.1.1. Le sixime pas de la deuxime tape de lalgorithme de Huffman.

    Cet arbre est prsent la figure 10.1.1.1.1. Le codage induit par le dernier arbreest prsent dans le tableau suivant.

    Figure 10.1.1.1.1. Le septime pas de la deuxime tape de lalgorithme de Huffman.

  • 12 Mthodes de compression de donnes - 1

    Caractre Binaire

    'g' 00'o' 01'p' 1110'h' 1101'e' 101'r' 1111's' 1100' ' 100

    Tableau 4.1.1.1.1. Le codage induit par lalgorithme de Huffman.

    En utilisant ce tableau la squence "go go gophers" sera code par la squencebinaire suivante:

    00 01 100 00 01 100 00 01 1110 1101 101 1111 1100

    On a obtenu de nouveau une squence binaire de 37 bits.Lalgorithme de codage de Huffman dcrit plus haut peut tre gnralis.

    On peut passer facilement du cas de squence code en binaire au cas dessquences codes en ternaire ou en plusieurs dimensions [1].Cet algorithme a quelques dsavantages:

    la squence de donnes doit tre balaye deux fois pour pouvoirraliser le codage: la premire fois pour construire et transmettrelarbre et la deuxime fois pour coder les lettres (ce comportementintroduise des dlais quand il sagit de la transmission des donnescomprimes),

    lalgorithme nest pas adaptatif.Ce sont les motifs pour lesquelles on a construit des algorithmes de Huffmanadaptatifs. Un tel algorithme, dit dynamique, est prsent en [3].Larbre utilis pour la transmission de la k+1-eme lettre et pour sa rception est unarbre de Huffman pour les premiers k lettres du message. Lmetteur et le rcepteursont initialiss avec le mme arbre et pendant lentire transmission ces deuxdispositifs restent synchroniss, en utilisant le mme algorithme pour lamodification des arbres aprs le traitement de chaque lettre. Ainsi il ne faut pastransmettre lentier arbre de Huffman. Le temps demand pour le codage et ledcodage de chaque lettre est proportionnel la longueur du code associ cettelettre, donc la compression peut tre ralise en temps rel. Les arbres de Huffmanlocaux, sont construits chaque itration de lalgorithme, adaptativement. Lecritre minimis est la longueur du mot de code. Lefficience du nouveaualgorithme, appel lalgorithme , est tudi dans larticle dj cit. Les

  • 1.1.1.2. - Autres mthodes de codage 13

    simulations prsents dans cet article montrent la supriorit de lalgorithme parrapport au algorithme de Huffman traditionnel.

    1.1.1.2. Autres mthodes de codage

    Une autre mthode de codage trs connue est celle de Lempel et Ziv.

    1.1.1.2.1. Le codage de Lempel - Ziv

    Celui-ci est bas sur une segmentation de la squence coder. Il sagit dune rglepour la segmentation dun alphabet finit en sous-suites ou mots, dont la longueurne dpasse pas une valeur entire, choisie posteriori L(1); et dune mthode decodage qui fait correspondre en mode squentiel ces sous suites des mots longueur fixe L(2). Les sous squences sont choisies tel quelles aient desprobabilits dapparition trs semblables. Donc les symboles apparition plusfrquente sont groups en sous suites plus longues et les symboles avec unefrquence dapparition plus faible sont groups en sous suites plus courtes.

    1.1.1.2.2. La compression laide du codage Lempel - Ziv

    Dans la suite on prsente une implmentation possible de lalgorithme Lempel-Ziv.On peut dfinir les variables suivantes:

    w - le prfix qui identifie une suite qui existe dj dans le dictionnaire,K - le caractre qui suit va tre lu.

    Les tapes de lalgorithme sont les suivantes:1. On initialise le dictionnaire avec des suites contenant un seul caractre.On initialise w 0.2. Le caractre K est lu. Si la squence wK existe dans le dictionnairealors:

    w=wK

    sinon on transmet le code pour w, on ajoute wK au dictionnaire, on pose:

    w=K

    3. On transmette le code pour w.

    Le code pour w qui est transmis reprsente la position numrique du w dans ledictionnaire et est exprim comme un mot binaire longueur fixe.Prenons comme exemple la squence: ababcbababaaaaaaa. Lalgorithme decompression Lempel-Ziv est dcrit laide du tableau suivant.Au commencement on initialise:

  • 14 Mthodes de compression de donnes - 1

    0w3c2b1a =Puis on fait les oprations suivantes.

    Lenouveau K

    Lenouveau

    wK

    Existait-ildans le

    dictionnaire ?

    Actions sinon La valeur du w

    A a Oui - w=wK=a

    B ab Non le code de w=le code dea=1; 4ab w=K=bA ba Non le code de w =le code deb=2; 5ba w=K=aB ab Oui - w=K=a

    C Abc Non le code de w=le code deab=4 6abc w=K=cB cb Non le code de w=le code dec=3 7cb w=K=bA ba Oui - w=wK=ba

    B Bab Non le code de w=le code deba=5 8bab w=K=b Tableau 2.1.1.1.2.3. Un exemple de fonctionnement de lalgorithme Lempel-Ziv.

    Le code transmettre est le suivant: 1 2 4 3 5... .On a obtenu ainsi le dictionnaire suivant:

    Indice 1 2 3 4 5 6 7 8 ...Suite A b c Ab Ba abc cb bab ...

    Tableau 3.1.1.1.2.3. Lopration inverse de la compression.

    Lun des avantages du codage de type Lempel-Ziv est le fait quon peut faire lareconstruction de la squence comprime sans transmettre le dictionnaire.Lalgorithme de reconstruction a les tapes suivantes:

    1. On initialise le dictionnaire avec des suites contenant un seul caractre.On initialise la variable p 0.2. Le code I est lu. Si ce code nest pas dans le dictionnaire on realiseune action spciale. On met:

    Kw = la suite dcode pour I (K reprsente le premier caractre)Si :

    0p

  • 1.1.1.2. - Autres mthodes de codage 15

    alors on ajoute pK au dictionnaire et on transmette Kw la sortie. On met:

    p=Kw

    Prenons comme exemple la squence code dans lexemple antrieur: 1 2 4 3 5 81... et appliquons lalgorithme de dcodage. Celui-ci est dcrit laide du tableausuivant. Au commencement on initialise le dictionnaire:

    0p3c2b1a =Le nouveau I Action spciale Sortie=Kw=p Le nouveau pK

    1 - a p=02 - b 4ab 4 - ab ba53 - c abc65 - ba cb78

    p=bapK=baK8

    8KwK=bbab bab8

    1 - a baba9...

    Tableau 4.1.1.1.2.3. Les oprations de lalgorithme de dcodage Lempel-Ziv.

    On a obtenu la squence dcode suivante: a b ab c ba bab a ... et le dictionnaire:Indice 1 2 3 4 5 6 7 8 9 ...Suite a b c Ab Ba abc cb bab baba ...

    En faisant une comparaison entre les deux exemples donns on peut observer quona obtenu aprs dcodage la squence initiale et le mme dictionnaire.

    1.1.1.2.4. Les performances du codage Lempel - Ziv

    Les performances de cette mthode de compression dpendent trs fort dutype de donnes comprimer. Ainsi on peut donner comme facteur moyen decompression, les valeurs prsentes dans le tableau suivant.

  • 16 Mthodes de compression de donnes - 1

    Type de donnes Facteur moyen de compressionTexte en anglais 1.8

    Donnes en virgule mobile 1Donnes de systme 2.6

    Programmes en code source 2.3Code objet 1.5

    1.1.1.2.5. Le codage de type run-length

    Cest un codage trs rapide qui exploite la rptition des caractres dansune squence. Le codage remplace une suite de caractres identiques par le nombrede rptitions. Pour indiquer un tel remplacement on utilise un caractre spcial. Lecodage run-lenght remplace la suite des caractres identiques X par la squence:

    ccXCSo:

    cS est un caractre spcial,X est le caractre qui se rpte et

    cC reprsente le nombre de caractres qui se rptent.

    Prenons comme exemple le texte coder suivant:

    $******55.72---------

    Guns_________Butter

    Le texte cod est le suivant:$Sc*655.72

    Sc-9Guns Sc_9Butter

    Le codage run-lenght est efficient seulement si le nombre de rptitions estsuprieur 4. La valeur de cC est limite par la reprsentation binaire descaractres (il y a un nombre maximale de bits pour la reprsentation dun caractre(si on utilise 8 bits/caractre alors le nombre le plus grande qui peut tre reprsentest 256)).

    1.1.1.2.6. Le codage arithmtique

    Le codage de Huffman devient de plus en plus compliqu au fur et

  • 1.1.1.2.6. - Le codage arithmtique 17

    mesure que le nombre des caractres dans lalphabet dentre augmente. Lenombre doprations demandes par le codage de Huffman pour une squencedentre contenant n caractres est de nq . Quand n est trs grand il ne faut passavoir la statistique de chaque caractre parce que seulement quelques-uns ont unefrquence dapparition suffisamment grande. Le codage arithmtique se base surlide que la somme des frquences dapparition de tous les caractres doit tregale 1. En consquence chaque frquence dapparition doit tre contenue dansun certain sous-intervalle de lintervalle [0,1]. Il faut donc seulement indiquer lesous-intervalle o est localise la frquence dapparition de chaque caractre pourcoder la squence de caractres. Le nombre de bits de la reprsentation de chaqueintervalle doit tre suffisamment grand pour identifier sans confusion lintervallecorrespondant. Prenons lexemple suivant.

    Les caractres delalphabetdentre

    Les frquencesdapparition

    La somme desfrquences

    Intervallecorrespondent

    000 0,15 0,15 (0 , 0,15)001 0,15 0,3 (0,15 , 0,3)010 0,225 0,525 (0,3 , 0,525)011 0,075 0,6 (0,525 , 0,6)100 0,15 0,75 (0,6 , 0,75)101 0,15 0,9 (0,75 , 0,9)110 0,075 0,975 (0,9 , 0,975)111 0,025 1 (0,975 , 1)

    Tableau 1.1.1.1.2.6. Un exemple de codage arithmtique.

    Seulement les intervalles prsents dans la quatrime colonne du tableau sontutiliss pour le codage. Le codage dun caractre est ralis par la slection dunnombre contenu dans lintervalle correspondent qui peut tre reprsentinstantanment sur un nombre minime de bits. Comme un exemple lintervallecorrespondent au caractre 011 est (0,525 , 0,6), qui est reprsent en binairecomme (0, 100001100... , 0, 100110011...). Le nombre binaire avec le plus petitnombre de bits significatifs qui se trouve dans cet intervalle est 0, 100100000...0.Celui-ci peut tre transmis laide du code 1001. Mais ce code nest pas instantanparce que lintervalle voisin (celui qui corresponde au caractere 100) contient desnombres avec le prefix 0, 1001. Une solution est de representer le nombre 0,100100000...0 avec le code 10010.

    1.1.2. Quelques applications

    Plusieurs formats dimage de documents supportent un type decompression de donnes appele codage CCITT. Cest une variante de

  • 18 Mthodes de compression de donnes - 1

    codage de Huffman. Il y a plusieurs groupes dalgorithmes de type CCITT.Lun de ceux-ci se trouve la base de la mthode de compression V.24-bisdont on a dj parl. Les groupes 3 et 4 sont construits pour la compressiondes fichiers de texte. Le groupe 4 est plus efficient et a t destin auxrseaux de donnes. Le codage run-lenght est utilis pour la construction des mthodes decompression des images qui conduisent aux principaux formats de fichiersdimages comme par exemple: TIFF, BMP, PCX ou de documents comme parexemple le PDF. Le codage Lempel-Ziv est utilis aussi pour la ralisation desformats GIF, TIFF ou PDF.Lalgorithme de compression LZ77 est la base de diffrents logiciels decompression de texte comme compress, zoo, lha, pkzip et arj. Lalgorithme decompression LZ78 est utilis pour la compression des donnes binaires comme parexemple les images en format bitmap.

    En 1984, travaillant pour Unisys, Terry Welch a modifi lalgorithme decompression LZ78 pour limplanter dans les contrleurs de disque. Le rsultat a tlalgorithme LZW. Cest un algorithme qui travaille avec tous les types dedonnes. Descompressors de grand performance ont vu le jour aprs lapparition delalgorithme LZW. C'est le cas de ARC sous MS-DOS, de COMPRESS sousUNIX, le format graphique .GIF inclue une compression LZ78,... De nouveauxcompresseurs, utilisant des implmentations particulires de LZ77 ont ensuite tcrs. On trouve par exemple PKZIP et ARJ sous MS-DOS, GZIP sous UNIX,....On peut dire qu' l'heure actuelle, LZ77, LZ78 et LZW sont les rfrences enmatire de compression usage gnral.

    Les mthodes de compression sans pertes sont utilises aussi dans lastructures des mthodes plus compliques de compression pertes, comme parexemple dans la mthode de compression dimages appele JPEG.

    1.2. Mthodes de compression pertes

    Il y a plusieurs mthodes pour la compression de donnes:- par codage pas variable,- par modulation diffrentielle en impulsions et codage,- par codage en sous-bandes,- par transforme orthogonale,

    [10]. Dans la suite on prsente la dernire mthode.

    1.2.1. Compression par transforme orthogonale

    Il s'agit d'une compression de donnes perte contrle. Le rle de la transformeorthogonale est de de-corrler le signal qui doit tre trait. Ainsi chaque chantillondu signal obtenu contient seulement sa propre information et aucune information

  • 1.2. - Mthodes de compression pertes 19

    spcifique pour les chantillons voisins. Ainsi par l'limination de certainschantillons on ne perd pas que leur information spcifique (l'information contenuedans les chantillons rests n'est pas affecte).Une mthode de compression perte d'information contrle a les pas suivants:1. On calcule la transforme orthogonale directe [ ]ny , du signal qui doit subir la

    compression , [ ]nx .2. On ralise la compression en rejetant les chantillons du signal [ ]ny infrieurs

    un seuil impos. On obtient le signal [ ]nys . On fait la quantification et onobtient le signal [ ]nz . Celui ci est le rsultat de la compression.

    3. On calcule la transforme en ondelettes inverse du signal [ ]nz et on obtient lesignal [ ]nx . Celui ci reprsente le signal reconstruit par l'opration inverse (de-compression).

    Le seuil dans le pas 2 est impos adaptivement. Sa valeur est choisie tel quelerreur quadratique moyenne d'approximation du signal [ ]nx par le signal [ ]nxserait infrieure un certain pour-cent de l'nergie du signal x[n].Les relations suivantes sont valables:

    [ ] [ ] 1N0 = k

    21N

    0 = k

    2x ky =kx =E

    [ ] [ ] 1M0 = k

    21M

    0 = k

    2x kz =kx =E

    )

    parce que chacune transforme orthogonale conserve l'nergie.On peut crire aussi:

    [ ] [ ] [ ] >

    non si , 0P ny si ,ny

    = nys

    Soit [ ]nyso la squence obtenue par l'organisation des chantillons du signal [ ]nysen ordre dcroissante. Lerreur quadratique moyenne d'approximation du signal[ ]nx par le signal [ ]nx est donne par:

    [ ] 1NM = k

    2so ky =

    La valeur du nombre M peut tre obtenue comme solution de l'quation:

  • 20 Mthodes de compression de donnes - 1

    100E = max x

    Z M

    La transforme orthogonale qui ralise la meilleure de-corrlation est latransforme de Karhunen-Love. On prsente dans la suite cette transforme.Le schma d'un systme bas sur l'utilisation d'une transforme orthogonale estcelle prsente la figure 1.2.1.1.

    Figure 1.1.2.1. Le schma d'un systme de compression bas sur l'utilisation d'unetransforme orthogonale.

    On a utilis les notations suivantes :TO - systme de calcul de la transforme orthogonale ;DP - dtecteur de seuil (c'est le systme qui limine les chantillons devaleur petite, tous les chantillons infrieurs un certain seuil sontlimins) ;Cu - systme de quantification ;Co - systme de codage ;D - systme de dcodage, l'inverse du systme Co ;TOI - systme de calcul de la transforme en ondelettes inverse celle

    calcule en utilisant le bloc TO.Ce systme, muni avec une transforme discrte en ondelettes, sera analyse, dansdiffrents chapitres de ce livre. Cette analyse montrera lapport de la thorie desondelettes la compression. Les principaux signaux de cette figure sont: le signal traiter ][nx , le signal obtenu aprs la compression, ]n[v et le signal reconstruit,obtenu aprs l'opration de dcompression, ][ nx . Les chantillons du signal ]n[xsont corrls. a signifie que pour l'information contenue dans l'chantillon courantsont aussi responsables les chantillons voisins. C'est le motif pour lequel parl'limination de l'chantillon courant n'est pas affect seulement l'informationcontenue dans cet chantillon, mais aussi l'information contenue dans leschantillons voisins. Le rle de la transforme orthogonale est de decorreler lesignal. Aprs l'application de la transforme orthogonale on obtient un nouveau

  • 1.2. - Mthodes de compression pertes 21

    signal. La dpendance du contenu informationnel de l'chantillon courant de cenouveau signal, ][ny , de l'information contenue dans les chantillons voisins estplus faible. Donc, par l'limination de l'chantillon courant, l'information contenuedans les chantillons voisins est moins affecte que dans le cas du signal ]n[x .L'limination de l'chantillon courant conduit une perte d'information moinsimportante si la valeur de l'chantillon tait moins importante. On prsente unexemple la figure 2.1.2.1.

    Figure 2.1.2.1. Un exemple de signal x[n] (en haut) et y[n] (en bas). La transformeorthogonale utilise est la valeur absolue de la transforme de Fourier discrte.

    En analysant cette figure on constate que par l'application de latransforme de Fourier discrte l'entire information s'est groupe en sixchantillons de valeur significative. En liminant n'importe quel grouped'chantillons parmi ceux l'indice compris entre 60 et 190, le contenuinformationnel du signal ][ny ne se modifie pas. Evidement on ne peut pas dire lamme chose pour le signal ][nx , tous les chantillons l'indice entre 60 et 190ayant une contribution importante la forme de ce signal.Comme a t montre en [4], la transforme qui ralise la decorrelation la plusimportante d'un signal est la transforme de Karhunen-Love. Malheureusement iln'y a pas dalgorithmes rapides pour le calcul de cette transforme parce que cecalcul suppose l'inversion d'une matrice. Il y a des signaux pour lesquelles cettematrice est singulire. C'est le motif pour lequel en pratique on utilise destransformes sous optimales, comme par exemple la transforme en cosinusdiscrte ou la transforme en ondelettes discrte, [5]. Ce deux transformesconvergent assimptotiquement vers la transforme de Karhunen-Love, maisl'utilisation de la transforme en ondelettes discrte a quelques avantages, quiseront envisags dans ce livre. Nous analyserons aussi dautres transformesdiscrtes, bases sur l'utilisation de la thorie des ondelettes, comme par exemple latransforme en paquets d'ondelettes discrte, TPWD ou la transforme en paquets

  • 22 Mthodes de compression de donnes - 1

    de cosinus discrte, TPC. On dmontrera que ces transformes convergent aussiasymptotiquement vers la transforme de Karhunen-Love. Mais ce but, estncessaire de prsenter quelques aspects de la thorie des ondelettes. Une telleprsentation est faite dans [6].

    1.2.1.1. La transforme de Karhunen-Love

    Soit le signal alatoire )x( , de dur D et sa dcomposition en srie:

    N

    1 = kkk D0 , )( a N

    l.i.m. = )x( (1)

    o la limite est prise en moyenne quadratique et les fonctions )(k sontorthogonales.On sintresse de l'approximation du signal )x( par le signal )(x N avec:

    N1 = k

    kkN D0 , )( a = )(x (1')

    On dsire la construction de cette approximation tel que le signal temps discret akn'ait pas des lments corrls.La relation (1) devient:

    ( ){ } 0 =)x()(xEN

    lim 2N (2)

    o on a not avec E l'oprateur d'esprance statistique.Les coefficients ak peuvent tre calculs avec la relation:

    D

    0kk d )( )x( = a* (3)

    Si l'esprance statistique du signal )x( est nulle alors:

    { } { } ( ) Zk , 0 =d )( )x(E = aE D0

    kk* (3')

    Si les coefficients ak ne sont pas corrls alors:

    { } [ ]lk = a aE klk * (4)

  • 1.2.1.1. - La transforme de Karhunen-Love 23

    ou:

    [ ]lk =du (u) (u)x d )( )x( E kD0

    l

    D

    0k

    **

    or:

    { } [ ]lk =du d )( (u) x)x( E (u) kkD0

    D

    0l

    **

    Mais, { }(u) x)x( E * reprsente l'autocorrlation du signal alatoire )x( ,( )u ,R x .

    La dernire relation devient:

    ( ) [ ]lk =du d )( u ,R (u) kkD0

    x

    D

    0l

    *

    (4')

    Grce l'orthogonalit des fonctions )(k la dernire condition est satisfaite aussisi:

    ( ) (u) = d )( u ,R ** kkkD0

    x ou, parce que la fonction dautocorrelation est relle:

    ( ) (u) = d )( u ,R kkkD0

    x (5)

    On a obtenu ainsi une quation intgrale Fredholm. ( )u ,R x reprsente le noyaude l'quation, k( ) sont les fonctions propres et k les valeurs propres.

    Sachant l'autocorrlation du signal dcomposer )x( , ( )u ,R x , on peutrsoudre l'quation (5), et trouver les fonctions )(k et les valeurs k .On peut montrer que la transforme Karhunen-Love, dfinie dans la relation (1')rend sa plus petite valeur lerreur quadratique moyenne d'approximation:

    ( ) ( ){ }2N2 )( x)x( E = eE (6)Il n'existe pas une autre transforme (dcomposition) dcrite par une

    somme N termes qui conduit une erreur moyenne quadratique d'approximationdu signal original, infrieure l'erreur introduite par la transforme de Karhunen-Love.

  • 24 Mthodes de compression de donnes - 1

    On prsente dans la suite deux exemples.Soit, pour le commencement, le signal traiter un bruit blanc.Dans ce cas ci: ( ) ( )u , = u ,R x La relation (4') devient:

    ( ) [ ]lk =du d )( u , (u) kkD0

    D

    0l

    *

    ou:( ) ( ) [ ]lk = 0 0 kkl * (7)

    Donc:( ) { } 2l2l2ll = aE =0 =

    Tenant compte des relations: (3') et (7) on peut crire:

    { } { } { } lk , 0 =aE aE = aaE ** lklk Donc les chantillons du signal ak ne sont pas seulement de-corrles, ils sont aussiindpendants.Voil pourquoi on utilise la transforme de Karhunen-Love pour la compressiondes donnes.Une classe large de signaux alatoires ont la fonction de corrlation de la forme:

    ( ) ( ) ( )vR = uR = e = u ,R xxux (8)Dans ce cas l'quation Fredholm associe (relation (5')) devient:

    )( =du (u) e kkkD

    0

    u (9)

    Les solutions de cette quation sont:

    2o

    2k k j

    k k + 12 = ; e = )( o

    (10)

    Voil la source dintrt pour les dveloppements en srie de Fourier.Parce qu'il s'agit de donnes, la transforme de Karhunen-Love des signaux temps discret est trs intressante.

  • 1.2.1.1. - La transforme de Karhunen-Love 25

    Le signal transformer, [ ]xn , de dure N peut tre exprim dans la forme:[ ] [ ] [ ][ ] 1N x... 1 x0x = xT

    Soit T une transforme orthogonale. Si on applique cette transforme ausignal [ ]nx on obtient:

    xT = Xo:

    [ ] [ ] [ ][ ] 1NX ... 1X 0X = XT La transforme T peut tre dcrite l'aide de la matrice T, dfinie par:

    [ ]1N1oT ... = T o 1N ,0 =k ,k sont des vecteurs orthogonaux:

    [ ]lk = lTk La transforme inverse est dcrite l'aide de la matrice transpose TT .On peut crire:

    [ ] [ ] 1N0 = k

    k1N1oT kX = X ... = XT =x (11)

    Une compression de donnes peut tre obtenue si on rduit la dimension del'espace transform de N M (M

  • 26 Mthodes de compression de donnes - 1

    Tenant compte de l'orthogonalit des vecteurs k , la dernire relation dvient:

    [ ]{ }kX E = 21NM = k (14)

    Parce que le signal alatoire l'entre, [ ]xn , est caractris statistiquement par samatrice de covariance il est utile d'exprimer lerreur quadratique moyenne l'aidede cette matrice: { }Tx x xE = CTenant compte de la relation (13) et de l'orthogonalit des vecteurs k on peutcrire:

    [ ] x = kX Tk Voil pourquoi la relation (14) dvient:

    ( ){ } { } kT1NM = k

    Tk

    TTk

    Tk

    1N

    M = k x x E =xx E = (15)

    ou:

    k xTk

    1N

    M = kC = (16)

    Parce que la matrice Cx est connue il faut dterminer les vecteurs orthogonaux ket la transforme T qui minimise lerreur quadratique moyenne, .On peut trouver la solution de ce problme dans la littrature. Cette solution a ttrouve en utilisant la mthode des multiplicateurs de Lagrange, [7].On obtient le systme d'quations:

    k kk x = C (17)

    Donc les vecteurs k sont des vecteurs propres de la matrice de covariance dusignal x.La plus petite valeur de lerreur quadratique moyenne est:

    k

    1N

    M = kmin = (18)

    La transforme dfinie dans la relation (17) est appele la transforme deKarhunen-Love du signal temps discret [ ]nx .

  • 1.2.1.1. - La transforme de Karhunen-Love 27

    On prsente dans la suite une liaison entre les transformes de Karhunen-Love temps continue et temps discret.La relation (5) peut tre crite dans la forme:

    ( ) (u) = )( ,u ,R k kLkx 2 (19)

    Avec la notation: ( ) [ ]n m,C = n m,R xxla relation (19) devient:

    [ ] [ ] [ ] 1N ,0 = m , m = n ,nm,C kklkx 2 (20)ou:

    [ ] [ ] [ ][ ] [ ] [ ]

    [ ] [ ] [ ]

    [ ][ ]

    [ ]

    [ ][ ]

    [ ]

    1N

    10

    =

    1N

    10

    1N,1NC1,1NC0,1NC

    1N,1C1 ,1C0 ,1C1N,0C1 ,0C0 ,0C

    k

    k

    k

    k

    k

    k

    k

    xxx

    xxx

    xxx

    MML

    MMMLL

    (21)

    Donc:

    kkkx = C (22)

    La dernire relation est identique avec (17).Mais les coefficients ak ne sont pas corrls. A l'aide de la dernire relation on peutaffirmer que les coefficients [ ]kX ne sont pas corrls eux aussi. Voil pourquoion peut affirmer que la matrice xC est diagonale.Grce la relation (22) on peut crire:

    1N

    1

    o

    x

    00

    0000

    = C

    KMMM

    KK

    (23)

    La compression du signal [ ]kX , 1M ,0 =k peut tre ralise en retenant lespremiers M valeurs contenues dans ce signal. On obtient le signal:

  • 28 Mthodes de compression de donnes - 1

    [ ] [ ]

    sinon , 01M ,0 =k , kX = kX c

    Le nombre N-M d'chantillons [ ]kX qui peuvent tre ngligs corresponde aunombre de coefficients k de la matrice de covariance xC qui peuvent trengligs.Malheureusement il n'existe pas dalgorithmes rapides pour le calcul de latransforme de Karhunen-Love d'un signal.Voil pourquoi il est trs difficile de dterminer les vecteurs propres de la matricede covariance. En pratique on utilise des transformes sous-optimales. Celles ciconvergent asymptotiquement vers la transforme de Karhunen-Love maispeuvent tre calcules l'aide des algorithmes rapides. On peut mentionner parmices transformes les suivantes:

    - la transforme de Walsh-Hadamard,- la transforme en cosinus discrte, DCT,- la transforme en ondelettes discrte.

    La convergence asymptotique de la transforme DCT vers la transforme deKarhunen-Love est dj prouve, [8], [9].On prouvera dans cet ouvrage, dans un prochain chapitre, la convergence desdiffrentes transformes en ondelettes discrtes envers la transforme deKarhunen-Love.

  • Chapitre 2. Transformes en ondelettes discrtes

    Le but de ce livre est denvisager lapport de la thorie des ondelettes auxtechniques de compression. Cest le motif pour lequel dans ce chapitre, sontprsentes les connaissances appartenant cette thorie, ncessaires pour laralisation de la compression.

    2.1.1. La liaison entre la theorie des ondelettes et le codage ensous-bandes

    Une introduction dtaille la theorie des ondelettes peut etre trouve en[10] ou en [6]. Dans la suite on prsentera seulement les aspects intressants decette theorie du point de vue de la compression de donnes. Pour lecommencement, on analyse le fonctionnement d'un codeur en deux sous-bandes, ils'agit de cellules de base des structures de traitement multirating, qui sont utilises la compression des signaux audio, conformment au standard MPEG. Onconsidre le systme de la figure 1.2.1.1.b).

    Figure 1.2.1.1. a) Le symbole pour un dcimateur ; b) Le schma d'un codeur en deux sous-bandes.

    Pour le commencement on considre le cas le plus simple, o les deuxfiltres utiliss sont idaux.Les rponses en frquence des filtres numriques rponses l'impulsion unitaireh[n] et g[n] de la figure 1.2.1.1. sont prsentes la figure 2.2.1.1.

  • 30 Transformes en ondelettes discrtes - 2

    Figure 2.2.1.1. Les rponses en frquence des filtres de la figure 1.2.1.1.

    Pour analyser le codeur en sous-bandes, on calcule les transformes en zdes signaux s[n] et d[n]. A cette fin,on constate que:

    G(z) X(z) = V(z) ; H(z) X(z) = U(z)

    Conformment la dfinition de la transforme en z :

    n

    n

    n

    nu[2n]z =s[n]z S(z) =

    )1n2(

    n

    n2

    n

    n

    n1]z+u[2n +u[2n]z =u[n]z =U(z)

    )1n2(

    n

    n2

    n

    1]z+u[2n u[2n]z=z)U( + et on observe qu'on peut crire :

    [ ] )S(z =)z(u[2n] =u[2n]z =z)U(+U(z)21 2n2

    n

    n2

    n

    En revenant l'expression de S(z) :

    z U+z U21 = S(z) 2

    121

    (2.1.1.1)

    or :

  • 2.1.1. - La liaison entre la theorie des ondelettes et le codage en sous-bandes 31

    zHzX+zHzX21 = S(z) 2

    121

    21

    21

    (2.1.1.2)

    Similaire, on dmontre que :

    zGzX+zGzX21 = D(z) 2

    121

    21

    21

    (2.1.1.3)

    Pour calculer les spectres des signaux s[n] et d[n] on utilise la substitution :

    = jezdans les relations (2.1.1.2) et (2.1.1.3), en obtenant alors :

    + 2

    H + 2

    X + 2

    H2

    X21 = )S(

    + 2

    G + 2

    X + 2

    G2

    X21 = )D(

    Soit, par exemple, le spectre X(), de la figure 3.2.1.1.

    Figure 3.2.1.1. Un exemple de spectre de signal d'entre.

  • 32 Transformes en ondelettes discrtes - 2

    Les spectres des signaux s[n] et d[n] sont prsents dans les figures 4.2.1.1et 5.2.1.1.

    Figure 4.2.1.1. Le spectre du signal s[n].

    Figure 5.2.1.1. Le spectre du signal d[n].

    On constate que le spectre S() a la mme forme que le spectre X() dansla bande de frquences [- /2 , /2 ]. On constate aussi que la portion du spectreD() contenue dans la bande [-2 , - ] [ , 2 ] a la mme forme que le spectreX() dans la bande [ - , ] - [ -/2 , /2 ].

  • 2.1.1. - La liaison entre la theorie des ondelettes et le codage en sous-bandes 33

    Figure 6.2.1.1. Une structure arborescente de codage en sous-bandes.

    On peut donc affirmer que le signal x[n] a t cod en deux sous-bandes,ses composantes de basse frquence tant retrouves dans le signal s[n] et sescomposantes de haute frquence, dans le signal d[n]. Le systme de codage de lafigure 1.2.1.1 peut tre regard comme un systme de projection aussi. Si lasquence ]n[x reprsente les coefficients du dveloppement d'un signal ( )tx dansune base de l'espace de Hilbert 0V alors les squences [ ]ns et [ ]nd reprsentent lescoefficients des dveloppements des signaux ( )ts et ( )td , les projections du signal( )tx sur deux sous-espaces de Hilbert ferms de 0V , 1V et 1W , dans les bases

    de ces sous-espaces. Les espaces 0V et 1V reprsentent les lments d'uneanalyse multi-rsolution.

    Pour augmenter le nombre de sous-bandes on peut utiliser unestructure arborescente comme cela est montr la figure 6.2.1.1. Ce systmepeut tre utilis, pour le calcul de la transforme en ondelettes discrte.

    On calcule les transformes en z des signaux sk[n] et dk[n], k=1M. Onobserve (conformment la figure 1.2.1.1) que :

    d[n]=[n]d ; s[n][n]s 11 =et ainsi on peut crire :

    +

    21

    21

    121

    21

    12 zHzSzHzS21 = (z)S

  • 34 Transformes en ondelettes discrtes - 2

    +

    21

    21

    121

    21

    12 zGzSzGzS21 = (z)D

    Figure 7.2.1.1. Le spectre du signal s2[n].

    Figure 8.2.1.1. Le spectre du signal d2[n].

    En continuant l'exemple considr antrieurement, les spectres des signauxs2[n] et d2[n] prennent les formes prsentes dans les figures 7.2.1.1 et 8.2.1.1.

    On constate que le spectre S2() a la mme forme que le spectre X()dans la bande de frquences [-/4, /4 ] et que le spectre D2() a la mme formeque le spectre X() dans la bande de frquences [- /2, /2 ] - [-/4, /4 ].

  • 2.1.1. - La liaison entre la theorie des ondelettes et le codage en sous-bandes 35

    Figure 9.2.1.1. La correspondance entre le spectre X() et les spectres Sk(), Dk(),k = 12.

    On peut constater aussi que le spectre SM() a la mme forme comme lespectre X() dans la bande de frquences [-/2M , /2M ] et que le spectre DM() ala mme forme comme le spectre X() dans la bande [ - /(2M-1) , /(2M-1) ] [ -/2M , /2M ]. En autres mots, des morceaux du spectre X() ont t poss encorrespondance avec les signaux sk[n] et dk[n]. Cette correspondance est montredans la figure 9.2.1.1.

    On constate qu'en utilisant le systme de la figure 6.2.1.1, la bande defrquences du spectre du signal x[n] est divise en octaves. On peut donc affirmerque le systme avec la structure arborescente de la figure 6.2.1.1 est vraiment uncodeur en sous-bandes. Dans la suite on analyse l'opration de dcodage. On posela question de la reconstruction du signal x[n] en utilisant les signaux s[n] et d[n].On considre ce but le systme de la figure 10.2.1.1 b).

    Figure 10.2.1.1. a) Interpolateur ; b) Systme de dcodage correspondant celui de lafigure 1.2.1.1.

  • 36 Transformes en ondelettes discrtes - 2

    On calcule la transforme en z du signal b[n] (figure 10.2.1.1 a).) enutilisant la transforme en z du signal a[n] :

    n

    n[n]z = (z)

    ( )2n2n

    )1n2(

    n

    n2

    n

    n

    n

    z =[n]z =

    =1]z+[2n +[2n]z =[n]z = (z)

    +

    ainsi qu'on peut crire les transformes en z pour les autres signaux du systme decodage :

    );D(z = (z) U; )S(z=(z)U 222

    1

    ou, tenant compte des relations (2.1.1.2) et (2.1.1.3) :

    [ ][ ]z)G(z)X(+G(z)X(z)

    21 G(z)

    +z)H(z)X(+H(z)X(z)21 H(z)Y(z)

    +

    =(2.1.1.4)

    En utilisant cette relation on dtermine le spectre du signal y[n] :

    [ ][ ])+G( )+X(+)G( )X(

    21)G(

    +)+H( )+X(+)H( )X(21)H(=)Y(

    +

    (2.1.1.5)

    Si on utilise les filtres rponses en frquence avec les caractristiques de la figure2.1.1.2 on peut crire les relations :

    0=)+G()G(=)+H()H(

    1=)(G+)(H 22

    Alors la relation (2.1.1.5) devient :

  • 2.1.1. - La liaison entre la theorie des ondelettes et le codage en sous-bandes 37

    [ ] )(X21)(G)(H)X(

    21

    =)(G)X(21+)(H)X(

    21=)Y(

    22

    22

    =+=

    (2.1.1.6)

    Donc, l'exception d'une constante multiplicative (gale 1/2), les signaux x[n] ety[n] sont identiques. On dit que le dcodeur de la figure 11.2.1.1. est reconstruction parfaite.

    Figure 11.2.1.1. Le schma d'un dcodeur pour les signaux cods en M sous-bandes.

    Celui-ci peut tre utilis pour la reconstruction parfaite du signal trait parle systme de la figure 6.2.1.1, si on utilise les filtres idaux de la figure 2.2.1.1. Lesystme de la figure 11.2.1.1 permet le calcul de la transforme en ondelettesdiscrte inverse.

    OBSERVATIONS

    O1. Une analyse similaire peut tre faite aussi pour le cas ou l'interpolation et ladcimation ne se font pas en utilisant la constante 2. On pourrait utiliser une autreconstante, par exemple M. Dans ce cas on n'obtient pas une dcomposition enoctaves de la bande B du signal u[n]. On obtient une dcomposition en sous-bandesdont la largeur dpend de M.O2. Pour les structures qui utilisent des arbres symtriques on peut faire uneanalyse similaire. Ces structures correspondent la notion de paquets d'ondelettes,introduite en [11].

  • 38 Transformes en ondelettes discrtes - 2

    O3. La principale limitation des systmes de codage et de dcodage en sous-bandes structure arborescente prsents jusqu'ici est que les filtres rponses enfrquence de la figure 2.1.1.2 ne sont pas ralisables.

    Dans la suite seront dtermines des classes de filtres ralisables quipermettent le codage en sous-bandes structure arborescente et reconstruction parfaite.

    2.1.1.1. Le codage en sous-bandes reconstruction parfaiteen utilisant des systmes structure arborescente avec desfiltres ralisables

    On considre que h[n] et g[n] correspondent des filtres ralisables. Unsystme, quivalent celui de la figure 10.2.1.1, destin la reconstructionparfaite, est prsent la figure 12.2.1.1.

    Figure 12.2.1.1. Le systme de reconstruction correspondant un codeur en deux sous-bandes.

    Le signal de la sortie du dcodeur est une variante retarde par d du signald'entre. Il faut dterminer les rponses impulsion unitaire hr[n] et gr[n] et lesconditions pour les filtres h[n] et g[n] pour obtenir la sortie du systme de lafigure 2.1.1.12 le signal x[n-d]. A cette fin, on crit la relation (2.1.1.4) dans laforme :

    [ ][ ]z)G(z)X(+G(z)X(z)

    21(z)G

    + z)H(z)X(+H(z)X(z)21(z)H=X(z)z

    r

    rd

    +

    (2.1.1.7)

    ou :

    [ ][ ] (z)Gz)G(z)H((z)H

    21 z)X(

    + (z)GG(z)H(z)(z)H21 X(z)=X(z)z

    rr

    rrd

    ++

    +

  • 2.1.1.1. - Le codage en sous-bandes reconstruction parfaite 39

    Cette quation est aussi satisfaite par les solutions du systme d'quations :

    drr 2z=(z)GG(z)+H(z)(z)H

    0=)z(Gz)G(+)z(Hz)H( rr

    On trouve la solution pour ce systme en considrant connues les transformes en znotes par H(z) et G(z). Le dterminant du systme est :

    G(z)z)H(z)G(H(z)=z)G( z)H(

    G(z) H(z) =

    Les dterminants correspondants pour les deux variables sont de la forme :

    z)G(2z=z)G( 0

    G(z) 2z = H d

    d

    r

    Donc les solutions sont donnes par les relations suivantes :

    G(z)z)H(z)G(H(z)z)G(z2=(z)H

    d

    r

    (2.1.1.8)

    G(z)z)H(z)G(H(z)z)H(z2=(z)G

    d

    r

    (2.1.1.9)

    Evidement une condition qui doit etre impose aux filtres du codeur est quel'quation :

    0=G(z)z)H(z)G(H(z) (2.1.1.10)n'ait pas une racine diffrente des racines de l'quation :

    0 =z d

    C'est le motif pour lequel une condition approprie pour les filtres h[n] et g[n]serait :

    d2z=G(z)z)H(z)G(H(z) (2.1.1.11)

    Dans ce cas les relations (2.1.1.8) et (2.1.1.9) deviennent :

  • 40 Transformes en ondelettes discrtes - 2

    z)G( = (z)Hr (2.1.1.12)

    z)H(= (z)G r (2.1.1.13Donc les rponses en frquence des filtres de reconstruction dpendent desrponses en frquence des filtres du codeur conformment aux relations:

    )+G( = )(Hr (2.1.1.14))+H(= )(G r (2.1.1.15)

    et les rponses en frquence des filtres de la structure du codeur satisfaient:

    dje2 = )G()+H()+G()H( (2.1.1.16)

    Hr(z) et Gr(z) sont les fonctions de transfert introduites par Esteban et Galand, [8],sous le nom de "Quadrature Mirror Filters", QMF.

    OBSERVATION : La relation correspondante (2.1.1.11) dans le domaine dutemps est:

    d][n2=})1()1{(k]g[nh[k]k

    kkn (2.1.1.17)Pour des valeurs paires de n cette relation peut tre crite dans la forme :

    0 = d][n

    en rsultant la ncessite que d soit un nombre naturel impair.On a dmontr ainsi qu'aprs l'utilisation des filtres QMF on peut raliser

    une reconstruction parfaite pour un codage en deux sous-bandes, si les filtres dereconstruction respectent les conditions (2.1.1.12) et (2.1.1.13) et les filtres desynthse (h[n] et g[n]) respectent la condition (2.1.1.11) o la valeur d doit treimpaire. La relation (2.1.1.16) est gnrale. Elle ne fournit pas d' informations surla modalit de construction des filtres de synthse. Smith et Barnwell ont dterminune classe de filtres de synthse [12]. Ils ont propos la liaison suivante entre lesrponses en frquence des filtres de synthses, supposs rponses impulsionunitaire rel :

    )+(He=)G( dj (2.1.1.18)

  • 2.1.1.1. - Le codage en sous-bandes reconstruction parfaite 41

    En utilisant cette condition le membre droit de la relation (2.1.1.16) peut tre crit,pour d impaire :

    2=)+H(+)H( 22 (2.1.1.19)

    Dans ce cas-ci les rponses en frquence des filtres de reconstruction peuvent trecrites dans la forme :

    )(He= )(H djr (2.1.1.20)

    )+H( = )(G r (2.1.1.21)COMMENTAIRES

    1. Soit :h[n])1( = [n]'h n

    On constate que :)+H([n]'h

    La relation correspondante la relation (2.1.1.19) dans le domaine du temps est,conformment la relation de Wiener-Hincin :

    [n]2=[n]R+[n]R hhhh (2.1.1.22)C'est le motif pour lequel on peut affirmer que, du point de vue de la constructiondes filtres de la structure du codeur, respectivement du dcodeur, la relation(2.1.1.19) est mieux que la relation (2.1.1.16).

    2. En connaissant les avantages d'implmentation des filtres RIF par rapport auxfiltres RII, on suppose dans la suite que tous les filtres d'analyse et de synthse sontde type RIF. Si le filtre h[n] est causal alors sa transforme de Fourier tempsdiscret est :

    =

    1L0n

    njeh[n]=)H(

    et sa transforme en z est :n

    1L

    0nzh[n]=H(z)

    =

    o L reprsente la longueur de la rponse l'impulsion unitaire pour le filtreconsidr.

  • 42 Transformes en ondelettes discrtes - 2

    Admettant que h[n] sont des nombres rels on peut crire :

    eh[n]=)(H1L

    0n

    nj=

    et:

    eh[n])1(= )+(H1L

    0n

    njn=

    Suite la relation (2.1.1.18) rsulte que la rponse en frquence de l'autrefiltre de synthse sera :

    =

    = 1L

    0n

    )dn(jn1L

    0n

    njndj eh[n])1(=eh[n])1(e=)G(

    Pour avoir un filtre causal, il est ncessaire que pour chaque n entre 0 et L-1 lacondition suivante soit satisfaite :

    0 < d n et donc le retard d doit satisfaire la condition :

    1 L > d (2.1.1.22)Si on respecte cette condition alors les deux filtres de synthse sont causaux. Doncla plus petite valeur de d est :

    L = dmin (2.1.1.23)

    Pour pouvoir reconstruire avec un retard minime,il est donc ncessaire d'utiliserdes filtres de synthse de longueur impaire.

    En utilisant les relations (2.1.1.20) et (2.1.1.21) on constate que si lacondition (2.1.1.23) est respecte alors les filtres de reconstruction sont aussicausaux.

    3. Les quatre filtres ( rponses en frquence H(), G(), Hr() et Gr()) ont lamme longueur. En faisant des petites modifications, le schma peut fonctionneravec des filtres d'analyse d'une certaine longueur et avec des filtres de synthsed'une autre longueur, [13], [14].

  • 2.1.2. - La liaison entre les systmes de codage en sous-bandes 43

    2.1.1.1.1. Mthodes de construction des filtres CQF

    On fait la notation :)H(zH(z)=F(z) 1

    ou :2)H(= )(H)H(=)F( (2.1.1.25)

    La condition (2.1.1.20) peut tre crite dans la forme suivante :

    2 = )+F( + )F( (2.1.1.26)On conoit le systme rponse en frquence F() en utilisant la relation(2.1.1.26). Puis on dduit H() en utilisant la relation (2.1.1.25) et la fin ondduit G(), Hr() et Gr().En [9] sont prsents plusieurs exemples de rponses en frquence H() obtenuesen utilisant la mthode de conception dcrite. La classe de ces filtres peut trerestreinte si on impose des conditions supplmentaires. Par exemple on peutimposer :

    - la condition de phase linaire (la symtrie de la rponse impulsionunitaire) ;

    - la condition de longueur minimale de cette rponse,- la condition de simplicit des expressions analytiques,

    Toutes ces conditions sont importantes quand se pose le problme du codage enplusieurs sous-bandes parce qu'elles favorisent la stabilit numrique desalgorithmes d'implmentation des systmes prsents dans les figures 2.1.1.11 et2.1.1.16. Cette stabilit est assure si les filtres respectent une certaine condition dergularit, [15], [16]. La condition de rgularit est la partie qui relie la thorie dessystmes de codage en sous-bandes la thorie des ondelettes.

    2.1.2 La liaison entre les systmes de codage en sous-bandeset la thorie des sries d'ondelettes

    La thorie des sries d'ondelettes, dveloppe en [15], [16], [17] a pour butla construction des nouvelles bases de Riesz de l'espace L2(R). On commence avecla dfinition de l'analyse multi-rsolution.

    DEFINITION 1. S'appelle analyse multi-rsolution de l'espace L2(R), l'ensemblede sous-espaces de Hilbert ferms {Vm}mZ qui satisfont les proprits :i). . . . Vm+1 Vm Vm-1 . . . mZ

  • 44 Transformes en ondelettes discrtes - 2

    ii). { }IUZm

    m

    __

    Zm

    2m 0V,)R(LV

    ==

    iii). 1mm V)x2(f,V)x(f iv). V0, tel que l'ensemble { m,n(x) } = { 2-m/2 ( 2-mx - n ) }nZ forme unebase de Riesz du Vm pour chaque m.En [18] et [19] sont prsents plusieurs exemples d'analyses multi-rsolution. Lafonction (x) s'appelle fonction d'chelle. Chaque base de Riesz peut tretransforme dans une base orthogonale, [7].On considre, dans la suite que l'ensemble {(x-k) }kZ est une base orthonormalede l'espace V0. Dans la plupart des livres dj cits est dmontr le thormesuivant :

    THEOREME 1. Si {(x-k)}kZ est une base orthonormale de l'espace V0, alorsl'ensemble {m,k(x)}kZ est une base orthonormale de l'espace Vm.

    Dans la suite on dtermine les projections d'une fonction f0(x) de V0 sur lesespaces V1, ..., VM, les fonctions f1(x), ..., fM(x) :

    k

    n1,n,11 (x)(x)f(x),= (x)f

    Ces fonctions reprsentent les approximations de diffrentes rsolutions de lafonction f(x). Il y a des applications o la plus bonne rsolution n'est pas ncessairepour traiter cette fonction. Par exemple pour la compression, l'informationcontenue est parfois suffisante dans l'une des approximations de rsolution plusfaible. Les coefficients de ce dveloppement en srie de Fourier gnralise sontnots avec s1[n] et sont donns par :

    =

    k

    k

    *n1,1

    k][xf(x),k]h[2n

    =k][xk][2nhf(x),=(x)f(x),=[n]s

    En utilisant la notation :[k]s=k)(xf(x), 0

    on obtient :k]h[2n [k]s=[n]s

    k01 (2.1.2.1)

    relation qui exprime la liaison entre les coefficients des projections de la fonctionf(x) sur les deux premiers lments de l'analyse multi-rsolution. Les coefficientsdu dveloppement de la projection sur V-2 sont nots par s2[n] et sont donns par :

  • 2.1.2. - La liaison entre les systmes de codage en sous-bandes 45

    (x)dxf(x)=(x)f(x),=[n]s n,2n2,2

    Mais, en revenant la dfinition 1, pour m = 2, nous avons :

    )x 2(2=

    = )n )x2(2( 22=)n x2(2= (x)

    1n,1

    21

    1121

    21

    222

    n,2

    ou:

    k

    121

    1n1,

    21

    k)u2(k][2nh2= u)2(2

    ou :

    k

    k,1*

    n,2 (u)k][2nh=(u)

    En procdant similairement on peut dmontrer que pour chaque m positif est larelation suivante est valable:

    k

    k,1m*

    n,m (x)k][2nh=(x) (2.1.2.2)

    On peut crire encore :

    ==

    kk,1

    kk,1

    *2

    (x)),x(fk]h[2n

    dx(x)k][2nh)x(f=]n[s

    ou :k]h[2n[k]s=[n]s

    k12 (2.1.2.3)

    On peut dmontrer par rcurrence que :

    k]h[2n[k]s=[n]sk

    1mm (2.1.2.4)pour chaque m positif.En analysant le membre droit de la dernire relation on constate que :

  • 46 Transformes en ondelettes discrtes - 2

    n2p1mm ]h[p]p[s=[n]s = (2.1.2.5)Donc les coefficients des dveloppements des projections du signal f0(t) sur deuxsous-espaces successifs Vm-1 et Vm, les squences sm-1[n] et sm[n], peuvent tredtermins par le filtrage avec le filtre h[n] et par dcimation.

    En faisant la notation : x[n]= [n]s0

    il rsulte que les squences sm[n] , m=1M, peuvent tre obtenues en utilisant lesystme de la figure 2.1.1.11. C'est la liaison entre les systmes de codage ensous-bandes et la thorie des sries d'ondelettes qui reprsente le sujet de ceparagraphe.

    OBSERVATIONS

    O1. On calcule la transforme de Fourier, F, des variantes translates et d'autreschelles des fonctions d'chelle :

    { } ( ) ( )

    =

    == dxenx22)(nx22F)()x(F xj12

    112

    1

    n,1n,1

    En faisant le changement de variable 2-1x - n = u on obtient :

    { } ( ) ( )( ) ( )==

    ===

    +

    2e2dueue2

    dueeu2du2eu2)x(F

    nj221

    uj2nj221

    nj2uj221

    )nu(2j21

    n,1

    Donc : )2(e2=)( nj2n,1

    ou :

    )(ek][2nh=)(22k

    )2n-(kj-

    ou :

  • 2.1.2. - La liaison entre les systmes de codage en sous-bandes 47

    )(en]2[k(h2

    1=)(2k

    )2n-(kj-v

    o a t utilise la notation :m]h[ = [m]h v

    En faisant le changement de variable k-2n=p on peut crire :

    pj

    p

    v)2n(kj

    k

    v e]p[h2

    1=e]n2k[h2

    1

    Dans la suite, si on fait la notation :

    ( ) = k

    )2n-(kj-v0 en]2[kh2

    1m

    on peut crire :)()(m=)(2 0

    On observe que m0() a la signification de transforme de Fourier temps discrtde la squence hv*[p], de variable .

    Dans la dernire relation on fait le changement de variable 2 = u et nousavons :

    2u

    2um=(u) 0

    ou:

    2

    2

    m)(m=)(2 00

    En procdant itrativement on peut dmontrer que :

    ( )=

    1p

    p0 02m=)(

    Mais la fonction d'chelle reprsente d'habitude la rponse impulsion unitaired'un filtre passe-bas. C'est le motif pour lequel on peut crire :

    1 [p]h 1,=(0)m 1,=(0)p

    *0 =

  • 48 Transformes en ondelettes discrtes - 2

    et la dernire relation peut etre crite dans la forme :

    =

    1p

    p0 2m=)(

    En consquence, si le produit du membre droit est convergent, il rsulte que ladernire relation peut tre utilise pour la construction d'une fonction d'chelle. Laconvergence du produit du membre droit est assure par la satisfaction de lacondition de rgularit dj voque. Donc le mcanisme de construction d'unefonction d'chelle est le suivant :a). On choisi la rponse impulsion unitaire du filtre passe-bas h[n];b). On construit la squence hv*[n];c). On calcule m0();d). On calcule ().Ce mcanisme de construction est remarquable parce qu'il utilise desmthodes de traitement du signal temps discret pour la construction d'unsignal temps continu.En connexion avec l'analyse multi-rsolution introduite par la dfinition 1 on peutdfinir le complment orthogonal du Vm dans Vm-1 , Wm :

    WV=V m1m La squence de sous-espaces {Wm}mZ ainsi dfinie reprsente une dcompositionorthogonale de l'espace de Hilbert des signaux d'nergie finie L2(R), [15].

    DEFINITION 2 : La squence de sous-espaces de Hilbert ferms {Wm}mZ estune dcomposition orthogonale du L2(R) si les conditions suivantes sontaccomplies :i). mp => WmWpii). )R(LV 2

    Zmm =U

    conformment [17].En liaison avec les dcompositions orthogonales de l'espace L2(R) on peut

    dmontrer le thorme suivant.

    THEOREME 2. Il y a une fonction dans W 0 , (x) tel que :i) l'ensemble {(x-n)}nZ est une base orthonormale du W0;ii) l'ensemble {m,n(x)= 2-m/2 (2-mx-n)}nZ est une base orthonormale du Wm pourchaque entier m.La fonction gnratrice de cette base s'appelle mre des ondelettes et les lmentsde ces bases s'appellent des ondelettes.

  • 2.1.2. - La liaison entre les systmes de codage en sous-bandes 49

    OBSERVATIONS

    O1. On peut dmontrer les relations :

    [ ] [ ] [ ]nmkm2gkn2gk

    = [ ] [ ] [ ]nmkm2hkn2h

    k=

    utiles pour la description du comportement dans le domaine du temps des filtresavec les rponses en frquence H() et G().O2. On dtermine la caractrisation dans le domaine de la frquence desondelettes. A ce but on calcule les transformes de Fourier de deux membres deleur relation de dfinition :

    = k) x 2(2Fk][2ng} n)(x F{ 21

    k

    ou :

    { }k) (2x F2k][2ng )(e 21k

    nj = ou, en faisant le changement de variable 2x-k=u, on obtient :

    =dx ek)(2x =} k)(2x F{ xj-

    +

    2e2

    1=2

    due(u) =k

    2j

    2kuj

    -

    et revenant la relation antrieure :

    2 ek][2ng2

    1 =)(e k2j-k

    nj

    d'o rsulte la relation pour la transforme de Fourier de la fonction (x) :

    2 ek][2ng2

    1 =)( )n2k(2jk

  • 50 Transformes en ondelettes discrtes - 2

    Avec la notation :

    e[p]g2

    1 =2

    m p2j*vk

    1

    la dernire relation peut tre crite :

    2

    2

    m=)( 1

    Tenant compte de l'expression de la transforme de Fourier de la fonction d'chelle,l'expression de la transforme de Fourier de l'ondelette mre devient :

    =

    2p

    p01 2m

    2m=)(

    Cette relation permet la construction d'une ondelette mre en partant d'une certainerponse de type h[n].O2. La fonction d'chelle est construite l'aide du filtre avec la rponse h[n] etl'ondelette mre l'aide du filtre rponse g[n].

    Dans la suite on tabli la liaison entre les projections d'un signal f(x) de V0sur les sous-espaces successifs Vm-1, Wm. A ce but on calcule le produit scalaire

    l)(x,)x(n,1 . On peut crire :

    (x) k][2ng=(x) k,0k

    n1, ou :

    ]ln2[g)x(),x(]kn2[gl)-(x,)x( l,0k,0k

    n,1 == Alors :

    l)(x l][2ng=(x)l

    n,1 et :

    (x)(x),(x)e=(x)e n,1n,11n

    1 En appliquant le thorme de la projection (de Riesz), on obtient :

    === (x),)kx(]k[s(x),f(x)(x),(x)e n,1k

    0n,1n,11

    == k

    0k

    n,10 ]kn2[g]k[s)kx(,(x)(k)s

  • 2.1.2. - La liaison entre les systmes de codage en sous-bandes 51

    Donc les coefficients du dveloppement du signal e1(x) (qui reprsente l'erreuravec la quelle le signal f1(x) fait l'approximation du signal f0(x)) dans la base{1,n(x)}nZ sont

    k0 ]kn2[g]k[s . Mais pour ces coefficients nous avons utilis

    la notation d1[n] dans la figure 11.2.1.1, donc :

    =k

    01 ]kn2[g]k[s]n[d

    En procdant par rcurrence on peut dmontrer que :

    == )x(),x(f]kn2[g]k[s]n[d n,mk

    1mm

    Donc les coefficients du dveloppement de la projection du signal f(x) de V0 sur lesous-espace Wm, peuvent tre dtermins par filtrage avec le filtre g[n] et pardcimation en partant de sa projection sur l'espace Vm-1. On constate que pourm=1,M, les squences dm[n] peuvent tre obtenues en utilisant le systme de lafigure 2.1.1.11. Donc en utilisant ce systme, peut tre dtermine l'approximationde rsolution M d'un signal et l'erreur produite par cette approximation aussi.

    OBSERVATIONS

    O1. Dans son travail, [15], Ingrid Daubechies dtermine toutes les rponses impulsion unitaire de filtres RIF, h[n] et g[n] qui satisfassent une certaine conditionde rgularit. Dautres conditions de rgularit sont prsentes en [20] [24]. Cesrponses impulsion unitaire sont classifies par leur longueur. Par exemple lefiltre DAU2 est un filtre de longueur 4. Le dsavantage majeur est que ceux-cin'ont pas des caractristiques de phase linaires.

    O2. Si l'hypothse d'orthonormalit de l'ensemble {(x-n) }nZ, est abandonne etque lon considre seulement que celle-ci est une base de Riesz, alors la theorieprsente dans ce paragraphe peut tre gnralise. Cette gnralisation a t faiteen [24] en obtenant la classe des ondelettes biorthogonales support compact. Lesfiltres correspondants sont de type RIF aussi, mais cette fois ci, les filtres d'analyseet les filtres de synthse peuvent avoir des longueurs diffrentes. Ces filtrespeuvent avoir la phase linaire.

    O3. L'avantage pour la compression de l'utilisation des ondelettes orthonormalespar rapport l'utilisation des ondelettes biorthogonales est prsent dans la suite.

  • 52 Transformes en ondelettes discrtes - 2

    On peut crire :

    (x)e+(x)f=(x)f mM

    1=mM0

    Ainsi :

    2

    m

    M

    1=mm

    M

    1=mM

    2

    M

    m

    M

    1=mk

    M

    1=km

    M

    1=mMm

    M

    1=mMMM

    m

    M

    1=mMm

    M

    1=mm

    M

    1=mMM

    m

    M

    1=mMm

    M

    1=mM

    2

    0

    (x)e(x)e),x(fRe2)x(f

    (x)e,(x)e(x)e),x(f(x)e),x(f+(x)f,)x(f

    (x)e+(x)f(x),e (x)e+(x)f,)x(f

    = (x)e+(x)f(x),e+)x(f=(x)f

    +

    +=

    =++=

    =+=

    Dans cette relation, parceque nous avons :

    M1= m , (x)e(x)f mM nous aurons aussi :

    M1= m , (x)e(x)fM

    1mmM

    =

    et en ce qui concerne la norme de f0(x) nous pouvons crire :

    2M

    1kk

    2

    M2

    0 )x(e)x(f)x(f =

    +=

    puis, en utilisant des proprits du produit scalaire :

    == =

    =====

    ==

    ===M

    1k

    2

    kkl

    M

    1k

    M

    1l

    M

    1ll

    M

    1kk

    M

    1ll

    M

    1kk

    2M

    1kk

    )x(e)x(e),x(e

    )x(e),x(e)x(e),x(e)x(e

    En revenant on constate que nous avons dmontr que:

  • 2.1.2. - La liaison entre les systmes de codage en sous-bandes 53

    =

    += M1k

    2

    k

    2

    M

    2

    0 )x(e)x(f)x(f

    En utilisant la relation du Parseval on peut crire la relation en tempsdiscret equivalente la dernire relation. Celle-ci est :

    =

    +=M

    1k

    2

    k

    2

    M

    2

    0 ]n[d]n[s]n[s

    Les deux dernires relations peuvent tre regardes comme des formes duprincipe de la conservation de l'nergie, spcifique pour des transformesorthogonales. Ces relations ne sont pas valables pour les ondelettes biorthogonales.Donc on peut affirmer que c'est mieux d'utiliser les ondelettes orthogonales quanddes approximations d'erreur quadratique moyenne sont ncessaires. On peutaffirmer aussi que les transformes discrtes bases sur les ondelettesbiorthogonales ne sont pas orthogonales. C'est le motif pour lequel cestransformes sont redondantes. Voil un motif srieux pour viter cestransformations dans les applications de compression.

    O4. La thorie dj prsente peut tre gnralise aussi pour le cas de codeurs ensous-bandes structure arborescente symtrique. Cette gnralisation est faite en[25].

    O5. La thorie dj expose peut tre gnralise aussi pour des codeurs en sous-bandes qui utilisent des dcimateurs et des interpolateurs constante M, diffrentede 2, [26].

    O6. Une autre direction de dveloppement des codeurs en sous-bandes est cellebase sur l'utilisation des filtres d'analyse et de synthse RII, [27], ou des filtresvariants entemps, [28].

    2.1.3. La transforme en ondelettes discrte TOD

    Dans le paragraphe antrieur, on a tablit la liaison entre les sriesd'ondelettes et la technique de codage en sous-bandes. A l'aide du systme de lafigure 11.2.1.1. peut tre introduite la notion de transforme en ondelettes discrte.Ce systme transforme la squence x[n] dans les squences sM[n] et d1[n],d2[n],...,dM[n]. Soit y[n] la squence obtenue par la runion de ces squences :

    } [n]d, ... ,[n]d,[n]{s = y[n] M1M

  • 54 Transformes en ondelettes discrtes - 2

    L'opration :y[n]x[n]

    porte le nom de transforme en ondelettes discrte, (DWT en anglais) ou TOD.L'opration :

    x[n] y[n]qui peut etre ralise par le systme de la figure 2.1.1.16 est nomme transformeen ondelettes discrte inverse (IDWT en anglais), TODI.

    On peut dmontrer que la TOD est linaire et orthogonale. Dans la suite onprsente, sur un exemple, l'algorithme de Mallat de calcul de la TOD, [29]. Soit Xle vecteur de la squence d'entre :

    ]1[s

    ]7[s]8[s

    S=X

    0

    0

    0

    0

    = M

    On considre que la longueur des filtres h[n] et g[n] est 4. Le premier pas est dcritpar la relation :

    X M=Y 01

    o la matrice M0 est donne par la relation :

    h[2]h[3]0000h[0]h[1]

    h[1]h[0]0000h[3]h[2]

    h[0]h[1]h[2]h[3]0000

    h[3]h[2]h[1]h[0]0000

    00h[0]h[1]h[2]h[3]00

    00h[3]h[2]h[1]h[0]00

    0000h[0]h[1]h[2]h[3]

    0000h[3]h[2]h[1]h[0]

    = M0

    On constate qu'on obtient :

  • 2.1.3. - La transforme en ondelettes discrte TOD 55

    ] [1]d [1]s [2]d [2]s ]3[d ]3[s [4]d [4][s=Y 11111111T

    1

    Par permutations rsulte :

    ( ) [1]]d [2]d ]3[d [4]d [1]s [2]s ]3[s [4][s=Y 11111111T11qui est un vecteur obtenu par la runion des squences s1[n] et d1[n]. En sparantces squences on obtient les vecteurs :

    ( ) [1]]s [2]s ]3[s [4][s=X 1111T11( ) [1]]d [2]d ]3[d [4][d=X 1111T21Soit M1 la matrice obtenue par la restriction de la matrice M0 son quart de haut degauche :

    h[2]h[3]00

    h[1]h[0]00

    h[0]h[1]h[2]h[3]

    h[3]h[2]h[1]h[0]

    =M1

    Le deuxime pas de l'algorithme est dcrit par la relation :

    1112 XM=Y

    et le rsultat est :[1]]d ]1[s ]2[d ]2[[s=Y 2222

    T2

    En mode analogue, rsulte par permutations :

    ( ) [1]]]d2[d ]1[s ]2[[s=Y 2222T12o, si nous sparons les squences s2[n] et d2[n] nous obtenons :

    ( ) ]]1[s ]2[[s=X 22T12 et ( ) [1]]]d2[[d=X 22T22Maintenant, l'aide des vecteurs X21, X22 et X12 on construit le vecteur Y:

    ( ) ( ) ( )[ ]T21T22T12T XXX=Y

  • 56 Transformes en ondelettes discrtes - 2

    Cette relation reprsente le rsultat de l'application de la transforme en ondelettesdiscrte au vecteur X. En analysant le nombre doprations effectues on constateque pour le premier pas de l'algorithme ont t ncessaires 32 multiplications etque pour le deuxime pas de l'algorithme ont t ncessaires 16 multiplications, 48au total. Si le vecteur X a N lments alors le nombre de multiplications serait del'ordre 4N, [30]. Si des filtres de longueur L taient utiliss alors le nombre demultiplications serait LN. Pour N suffisamment grand on constate que le nombrede multiplications ncessaires est infrieur Nlog2N, donc la transforme enondelettes discrte peut tre effectue plus rapidement que la transforme deFourier rapide. C'est le motif pour lequel cette transforme s'appelle aussi latransforme en ondelettes rapide.Pour le calcul de la transforme inverse il faut appliquer les oprations dcritesplus haut en ordre inverse. Le matrices M0, M1, ... seront substitues par lesmatrices M0T, M1T, etc.

    Comme chaque transforme, qui s'applique une squence de dure finie,cette transforme prsente aussi des erreurs aux bords. Pour les premierschantillons de la squence x[n], les filtres h[n] et g[n] ne sont pas encore enrgime permanent. Pour diminuer cette erreur, diffrentes mthodes sont prsentesen [31]. Si on dsire la ralisation d'une TOD sur des blocs, alors pour la rductiondes erreurs provoques par les problmes aux bords de chaque bloc, on peutappliquer la mthode "overlap and add" ou la mthode "overlap and save", [32].

    La TOD est caractrise par quelques paramtres. L'un de ceux-ci estl'expression de la rponse impulsionnelle h[n], (donc l'expression de la fonctiond'chelle ou de l'ondelette mre). Conformment [33], cette expression doit trecorrle avec la forme du signal x[n]. Quand ce signal a une variation rapide, il estprfrable d'utiliser un filtre rponse impulsionnelle le plus court possible. Il y ades applications o il est ncessaire que la rponse impulsionnelle h[n] soitmodifie pendant l'intervalle temporel de calcul de la TOD, [34]. Uneproccupation trs intressante est le choix optimal de cette rponse impulsionnelleen accord avec le signal traiter, pour maximiser le facteur de compression, unedistorsion de reconstruction i