• Aucun résultat trouvé

La transformée à recouvrement biorthogonale LBT

2.4 Les transformées à recouvrement

2.4.3 La transformée à recouvrement biorthogonale LBT

Sur le même schéma que la LOT

Comme on a pu le voir précédemment, la transformation orthogonale nécessite la dénition d'une matrice P0 = P Z orthogonale pour les transformations directe et inverse. Dans le cas

biorthogonal, on utilise des matrices diérentes pour les transformations directe et inverse. Pour cela, on utilise Pf pour la transformation directe (forward) et Pbpour la transformation

inverse (backward). Chacune de ces matrices prises indépendamment de l'autre ne satisfait pas les conditions d'inversibilité (2.53), mais la biorthogonalité leur permet, si on les considère comme une paire, de satisfaire ces conditions :



(i) PfTPb = I

(ii) PfTW Pb = 0 (2.61)

Cependant, l'utilisation de ces deux matrices diérentes Pf et Pb nécessite de remettre les

données à la même échelle. Cette transformation étant biorthogonale, c'est-à-dire asymétrique, cela revient à multiplier dans le cas direct et diviser dans le cas inverse les coecients impairs par une matrice :

Vf =     √ 2 0 1 1 0 1     et Vb = Vf−1=     1 √ 2 0 1 1 0 1    

Dans le cas où Pf et Pb sont issues de la DCT (comme P pour la LOT (2.57)), ces matrices

s'expriment selon : Pf = 1 2  De− VfDo De− VfDo J (De− VfDo) −J (De− VfDo)  (2.62) et Pb = 1 2  De− VbDo De− VbDo J (De− VbDo) −J (De− VbDo)  (2.63)

Et l'écriture de P0 dans (2.60) sera modiée, les matrices Vf ou Vb selon que l'on soit en

transformation directe ou inverse, seront ajoutées au milieu des quatre matrices (c.à.d. entre les deux matrices ne contenant que des I et des 0).

Cette LBT (Lapped Biorthogonal Transform) peut alors être représentée sous forme d'un graphe de ots de données où c = √2 pour la transformation directe (issu de Vf) et c = 1/

√ 2 pour l'inverse (issu de Vb) :

Fig. 2.19  Graphe ots de données de la LBT [Mal98]

Cette transformée LBT a été testée par rapport à la LOT et à la DCT sur l'image en niveaux de gris "peppers 512×512" par Daniel Veiner [Vei00] de l'Université de Stanford (dans le cadre d'une étude sur les performances de la LOT et de la LBT)

On voit sur ces courbes que la LOT améliore les performances de la DCT d'approximativement 0.5 dB et que la LBT l'améliore de plus de 1.1 dB (en général 1 dB pour de faibles débits).

De plus, il est possible de réaliser cette transformation en étages lifting : la DCT peut être la BinDCT ou la IntDCT, Vf(0)et Vb(0)peuvent être vus comme une rotation décomposable en

étages lifting, et ˜Z est une cascade de rotations elles aussi décomposables en étages lifting. Version en pré- et post-traitements

Un des inconvénients des méthodes de transformées à recouvrement présentées précédemment (LOT et LBT) vient de leurs schémas qui sont du type DCT couplée à un post-traitement, puis un pré-traitement couplé à la DCT inverse (cf g. 2.21 (a)). Ceci implique que ces méthodes soient complètement dépendantes de la DCT, c'est-à-dire que si l'on veut utiliser une autre transformation (ondelette par exemple), il faut redénir les étapes de post- et pré-traitements.

C'est pourquoi Tran et al. ont trouvé une équivalence à ces méthodes (LOT et LBT) dont le schéma est du type pré-traitement couplé à une DCT (ou autre transformation), puis une DCT inverse (ou autre transformation inverse correspondante) couplée à un post-traitement (cf g. 2.21 (b)). Ce schéma laisse donc une plus grande liberté dans le choix de la transformation, on l'appelle LBT dans le domaine temporel [TT01] [LTT01] [TLT03] [DT03] et plus récemment [SFY06].

Fig. 2.21  Schémas de (a) la LBT classique, et (b) la LBT en pré- et post-traitements [TLT03] Dans l'article [TLT03], Tran et al. montrent l'équivalence entre ces deux schémas en se basant sur la matrice polyphase de la type-II "Fast LOT" [Mal92] :

E(z) = 1 2  I 0 0 V   I I I −I   I 0 0 zI   I I I −I  CMIIJM = G(z)CMIIJM (2.64)

où G(z) représente le post-traitement appliqué aux coecients DCT dans lequel la matrice V est arbitraire. Elle peut être V = DCIV

M/2J C IIT

M/2 dans le cas de la type-II "Fast LOT".

Cette matrice polyphase peut, d'après [TLT03], être réécrite sous la forme : E(z) = DMCMII  0 I zI 0  1 2  I J J −I   I 0 0 V   I J J −I  = DMCMIIΛ(z)Pˆ (2.65)

où DM est une matrice diagonale alternant les +1 et −1, ˆΛ(z) la matrice  0 I zI 0  et P la matrice représentant le pré-traitement :

P = 1 2  I J J −I   I 0 0 V   I J J −I  (2.66) où la matrice V est arbitraire, mais peut être V = JCIIT

M/2C IV

M/2J pour avoir l'équivalence avec la

type-II "Fast LOT".

Le schéma correspondant à cette matrice polyphase (2.65) est donné par :

Fig. 2.22  Schéma de la LBT en pré- et post-traitements [TLT03]

Remarque : La version orthogonale de ce schéma est obtenue en utilisant une matrice V orthogonale, et la version biorthogonale en utilisant une matrice V inversible.

An de se rendre compte des eets de cette LBT en pré- et post-traitements, prenons le cas 2×2 (CIV

1 = 1, CII

T

1 = 1 et V = s) illustré sur la gure 2.23.

En dénissant par {xi} les données d'entrée, {pi} la sortie du pré-traitement, {ˆpi} l'entrée

du post-traitement et {ˆxi} les données de sortie, on peut écrire pour le post-traitement :

ˆ xi = 1 2[(ˆpi+ ˆpi+1) + 1 s(ˆpi− ˆpi+1)] = pˆi+ 1 s− 1 2 (ˆpi− ˆpi+1) (2.67) ˆ xi+1 = 1 2[(ˆpi+ ˆpi+1) − 1 s(ˆpi− ˆpi+1)] = pˆi+1− 1 s − 1 2 (ˆpi− ˆpi+1) (2.68)

Fig. 2.23  Schéma de la LBT en pré- et post-traitements sur 2 points [TLT03] Et pour le pré-traitement : pi = xi+ s − 1 2 (xi− xi+1) (2.69) pi+1 = xi+1− s − 1 2 (xi− xi+1) (2.70)

où s doit être supérieur à 1 pour avoir un sens (on pourra prendre par exemple le nombre d'or

1+√5

2 ). En eet, le pré-traitement cherche à homogénéiser les données avant la DCT comme

illustré sur la gure 2.24, choisir s < 1 reviendrait à déplacer les données dans la mauvaise direction.

Cet exemple permet de voir les eets de cette LBT en pré- et post-traitements sur les données avant et après le processus normal de transformation DCT. Ces eets peuvent être représentés par :

Fig. 2.24  Eets des pré- et post-traitements sur les données [TLT03]

De plus, il est possible de réaliser une transformation d'entiers à entiers avec une reconstruc- tion parfaite en utilisant des étages lifting dans les pré- et post-traitements du schéma 2.22.

non-normalisées de Haar : P = 1 2  I J J −I   I 0 0 V   I J J −I  =  1 2I J 1 2J −I   I 0 0 V   I J 1 2J − 1 2I  (2.71) Le schéma de la LBT en pré- et post-traitements est alors modié selon ces étages lifting, il peut être représenté par :

Fig. 2.25  Schéma de la LBT en pré- et post-traitements sous forme lifting [TLT03] où V est une matrice de rotation décomposable en étages lifting comme représenté sur les gures 2.13 et 2.14 de la section 2.3.

Cette LBT en pré- et post-traitements a été testée par Tran et al. [DT03] en codage d'images en la comparant à la DCT seule. Quelques résultats sont présentés dans le tableau 2.4 et illustrés sur la gure 2.26.

Compression DCT DCT+pre/post DCT DCT+pre/post Barbara (512×512) Boat (512×512) 1 : 8 33.05 34.11 36.46 36.60 1 : 16 27.78 29.06 32.25 32.67 1 : 32 24.34 25.00 28.13 28.58 1 : 64 - 19.20 23.66 23.96 Cafe (512×512) Goldhill (128×128) 1 : 8 28.52 28.50 34.36 34.64 1 : 16 24.36 24.55 31.45 31.72 1 : 32 20.73 21.00 28.33 28.85 1 : 64 - 15.59 24.07 24.50

Tab. 2.4  Résultats de la LBT en pré- et post-traitements comparée à la DCT [DT03]

Fig. 2.26  Illustration des résultats de la LBT en pré- et post-traitement avec une portion de l'image Café codée à 0.25 bit/pix avec JPEG (originale, DCT seule, DCT+LBT en pré- post-) [DT03]

2.5 Conclusion

Ce chapitre présente plusieurs transformations dont il est possible de faire usage dans un schéma de compression vidéo en remplacement de la transformation DCT classique.

Les ondelettes de première génération sont une alternative scalable ou échelonnable à cette DCT. De plus, elles peuvent être construites de plusieurs manières pour diérents types d'appli- cations.

Les ondelettes peuvent être continues ou discrètes. Elles sont alors dénies à partir de la dilatation et de la translation d'une ondelette mère, fonction continue possédant au moins un moment nul. Dans le cas continu, la dilatation et la translation sont à valeurs réelles, et dans le cas discret, elles sont limitées à une grille dyadique.

Ces ondelettes peuvent aussi être dénies à partir de l'analyse multirésolution qui consiste à décomposer les signaux sur une gamme étendue d'échelles. Cette analyse peut être réalisée par des bancs de ltres ou par un schéma dit lifting. L'analyse par bancs de ltres réalise une succession de ltrages passe-haut et passe-bas des bandes basses fréquences des signaux. Le schéma lifting est équivalent à ces bancs de ltres, mais ne nécessite qu'une succession d'étapes de prédiction et de mise à jour.

Ces diérentes constructions des ondelettes de première génération peuvent ensuite être étendues au cas à deux dimensions utiles ici pour décomposer des images ou des vidéos.

La plupart des schémas de codage vidéo normalisé utilise une transformation DCT calculée en nombres ottants aussi bien au codage qu'au décodage. Ceci entraîne une divergence entre le codeur et le décodeur. Il est alors devenu nécessaire de dénir une version de cette DCT évitant ces problèmes d'arrondis : les DCT en lifting.

La BinDCT est une approximation de la DCT ottante classique. Elle est réalisée à l'aide d'un schéma lifting (semblable à ceux des ondelettes) qui ne nécessite que des opérations binaires évitant ainsi l'utilisation d'arrondi.

La DCT entière IntDCT est proche de la BinDCT, mais le schéma lifting associé ne nécessite que des opérations entières. Pour cela, l'IntDCT utilise une autre factorisation de la transformée DCT classique que la BinDCT. Cette IntDCT reste donc aussi une approximation de la DCT ottante classique. La factorisation employée permet, de plus, d'utiliser une technique récursive de calculs entiers permettant d'obtenir la DCT de taille N recherchée à partir de calculs de DCT de taille N/2.

Une autre possibilité consiste à utiliser des transformées à recouvrement, non pas cette fois-ci pour trouver une alternative à la DCT, mais pour en améliorer les performances. Ces transformées sont alors un complément à la DCT.

Les transformées à recouvrement peuvent être orthogonales, appelées LOT ou biorthogonales, appelées LBT. Ces deux versions se basent sur la DCT ottante classique et sont appliquées dans le domaine transformé. Elles consistent, au codage, à réaliser les transformées DCT classiques, puis à post-traiter les coecients de blocs voisins. Au décodage, un pré-traitement des données est eectué avant l'étape de transformation DCT inverse.

Plus récemment, une version biorthogonale de ces transformées à recouvrement appliquée dans le domaine temporel a été dénie. Cette LBT devient alors indépendante de la transformation fréquentielle appliquée, la seule contrainte étant que celle-ci doit être basée blocs. La LBT tem-

porelle consiste alors, au codage, à pré-traiter les informations entre plusieurs blocs avant de leur appliquer l'étape de transformation. Au décodage, un post-traitement est appliqué aux informa- tions après la transformation inverse.

Ce chapitre montre qu'il existe beaucoup d'autres transformations que la DCT ottante clas- sique pour les schémas de compression vidéo. Ces transformations sont toutes aussi performantes, et elles peuvent être :

 des alternatives à la DCT classique comme les ondelettes de première génération.

 des améliorations de la DCT classique comme les DCT en lifting, la BinDCT et l'IntDCT.  des compléments à la DCT classique comme les transformées à recouvrement.

Cependant, toutes ces transformations ne permettent pas de représenter ecacement les struc- tures géométriques contenues dans les images telles que les contours. Il est alors intéressant d'étudier les transformations qui ont cette capacité.

Chapitre 3

L'exploitation des orientations dans les

transformées

3.1 Introduction

Le chapitre précédent a présenté et évalué diérentes transformations nécessaires à un codeur vidéo an de décorréler spatialement au maximum les informations contenues dans les images. Cela a permis de montrer qu'il existe des alternatives à la transformée DCT utilisée dans les schémas normalisés.

Les transformées en ondelettes de première génération réalisent une décomposition multiréso- lution des images leur conférant ainsi des propriétés naturelles de scalabilité ou d'échelonnabilité manquantes à la DCT.

Les versions lifting de la DCT comme la BinDCT et l'IntDCT permettent de réaliser le calcul de la DCT très rapidement et d'éviter la divergence entre le codeur et le décodeur en n'utilisant que des opérations réversibles binaires ou entières respectivement.

Les transformées à recouvrement exploitent quant à elles les corrélations qui peuvent exister entre les blocs traités par une DCT an d'en améliorer les performances. Elles sont plutôt à voir comme un complément à cette DCT que comme une transformation alternative.

Cependant, ces transformations généralement appliquées suivant les lignes puis les colonnes ne sont pas bien adaptées pour représenter ecacement les structures géométriques contenues dans les images telles que les contours.

Il est alors nécessaire de pousser plus amont dans ces transformations an d'en isoler celles capables d'eectuer une représentation ecace de ces contours.

L'état de l'art sur ces transformations adaptées au contenu est notamment porté par les ondelettes appelées de seconde génération telles que les ridgelets, les curvelets, les contourlets, les bandelettes de première et seconde génération, et les directionlets.

Mais, il existe d'autres types de transformations adaptées aux structures géométriques basées sur des approches de type DCT : la DCT adaptée aux contours (SA-DCT "Shape-Adaptive DCT"), la DCT directionnelle et la BinDCT orientée.

Ce chapitre aura pour vocation de présenter et d'évaluer ces deux catégories de transforma- tions adaptées aux structures géométriques des images : les ondelettes de seconde génération et les DCT exploitant les orientations.