• Aucun résultat trouvé

Dans la m´ethode de comp´etition de vecteurs mouvement (MVComp), les pr´edicteurs d´efinis dans la section pr´ec´edente vont ˆetre mis en comp´etition. Cette m´ethode est exhaustive (cf. chapitre 2), dans le sens o`u toutes les pr´edictions sont ´evalu´ees `a l’aide du crit`ere d´ebit-distorsion et que l’indice du meilleur pr´edicteur est transmis au d´ecodeur. Dans cette m´ethode de comp´etition, chaque vecteur mouvement et chaque macrobloc cod´e en Skip a un pr´edicteur s´electionn´e parmi un ensemble de pr´edicteurs. Les blocs bidirectionnels ont eux deux vecteurs, par cons´equent ils ont deux pr´edicteurs. Le crit`ere d´ebit-distorsion ´etant diff´erent pour le mode Skip et les autres modes Inter, nous allons expliquer notre m´ethode pour chacune de ces deux comp´etitions.

4.2.1

S´election des pr´edicteurs de vecteurs mouvement des modes Inter

Pour le codage par comp´etition, le m´edian de la norme H.264/AVC, mvH.264, est remplac´e par

un ensemble P compos´e de n pr´edicteurs pi. Pour chacun de ces pr´edicteurs pion calcule le r´esiduel

de vecteur mouvement associ´e, εmvi, donn´e par la formule suivante :

εmvi = mv − pi, ∀i ∈ {1, ..., n} (4.13)

Afin de s´electionner le meilleur pr´edicteur, le coˆut de chaque εmvi et le coˆut de l’indice i sont es-

tim´es. Le pr´edicteur qui fournit le coˆut le plus faible est alors s´electionn´e. Le d´ebit Rmvde l’´equation

de d´ebit-distorsion utilis´e dans le processus d’estimation de mouvement (´equation (2.3) du chapitre 2 (J = D + λM otionRmv)) ou dans celle de la s´election du meilleur mode de codage (´equation (2.4) du

chapitre 2), est remplac´e par le d´ebit Rmv/mm donn´e dans la formule suivante :

Rmv/mm= min{ς(εmvi) + ς(i)}i∈{1,...,n} (4.14)

Comp´etition exhaustive 67

Dans le logiciel de r´ef´erence, ce coˆut peut ˆetre estim´e ou ˆetre le d´ebit r´eel, en fonction du mode de codage entropique utilis´e (CAVLC ou CABAC) ou de l’´etape de codage. Dans notre impl´ementation, chaque fois que le d´ebit Rmv est estim´e dans la r´ef´erence, celui-ci est remplac´e par Rmv/mm pour

l’estimation de mouvement et pour la comparaison des modes de codage. Ceci est important car la m´ethode de codage par comp´etition des pr´edicteurs r´eduit le d´ebit des vecteurs mouvement. Par cons´equent l’estimation de mouvement, qui d´epend du crit`ere d´ebit-distorsion et donc de l’informa- tion de mouvement, ne fournira pas n´ecessairement le mˆeme vecteur mouvement. Notons enfin que si tous les pr´edicteurs sont ´egaux, le coˆut de l’indice i, ς(i), est nul car le d´ecodeur a les donn´ees n´ecessaires pour tester l’´egalit´e de ces pr´edicteurs.

4.2.2

S´election des pr´edicteurs du mode Skip

Comme pour la comp´etition des pr´edicteurs de vecteurs mouvement des autres modes Inter, le m´edian de la norme H.264, mvH.264, est remplac´e par un ensemble Ps compos´e de ns pr´edicteurs

pi, ∀i ∈ {1, ..., ns}. Notons que les ensembles P et Ps sont distincts. Il n’ont donc pas forc´ement le

mˆeme contenu, ni le mˆeme nombre de pr´edicteurs. Pour chacun des pr´edicteurs de Ps on calcule le

coˆut d´ebit-distorsion associ´e, Ji

SKIP, donn´e par la formule suivante :

JSKIPi = DiSKIP + λM ode(ς(i)), ∀i ∈ {1, ..., ns} (4.15)

o`u Di

SKIP est la distorsion li´ee au pr´edicteur pi ∈ Ps et ς(i) est le coˆut de codage de l’indice de ce

pr´edicteur. Le pr´edicteur piqui minimise l’ensemble des coˆuts JSKIPi est s´electionn´e. Par cons´equent,

le coˆut JSKIP de l’ ´equation (2.5) du chapitre 2 (JSKIP = DSKIP + λM odeRm) est remplac´e par

l’´equation suivante :

JSKIP = min{JSKIPi }i∈{1,...,ns}+ λM odeRm (4.16)

Comme pour les indices des pr´edicteurs de vecteurs mouvement des autres modes Inter, le coˆut de cet indice est nul si l’ensemble des pr´edicteurs de Pssont ´egaux. D´etaillons maintenant le codage

de cette information de comp´etition.

4.2.3

Codage de l’information de comp´etition

La m´ethode de codage par comp´etition propos´ee n´ecessite la transmission des indices correspon- dant aux valeurs des pr´edicteurs. Pour les modes Inter, except´e pour le mode Skip, ces indices sont ´ecrits juste apr`es le r´esiduel des vecteurs mouvement. En CAVLC, le coˆut de l’indice du pr´edicteur transmis d´epend du nombre de valeurs disponibles de l’ensemble P. Par exemple, si deux valeurs distinctes existent dans l’ensemble P, un seul bit est transmis au d´ecodeur. La mˆeme binarisation est utilis´ee pour le CABAC. Les probabilit´es des contextes de chaque bit sont les mˆemes que celles attribu´ees aux modes de codage.

Pour le mode Skip un RLC (Run Lenght Coding) est utilis´e en CAVLC (cf. chapitre 1). Les indices des pr´edicteurs sont donc ´ecrits apr`es l’´ecriture du nombre de modes Skip successifs. En CABAC, nous utilisons la mˆeme binarisation et les mˆemes contextes que ceux des indices des pr´edicteurs de vecteurs mouvement.

Le test d’´egalit´e des pr´edicteurs permet de supprimer un grand nombre de bits li´e `a cette in- formation de comp´etition. Cependant, l’´etat actuel de l’impl´ementation est contraignante pour le “parsing” du flux. Cette op´eration est une lecture du train binaire qui sert `a valider le non endom- magement du flux. Dans la norme H.264/AVC, cette lecture1 est op´er´ee slice par slice et d´epend uniquement des donn´ees du slice courant. Lorsque l’ensemble des pr´edicteurs des ensembles P et Ps

sont spatiaux, le test d’´egalit´e des pr´edicteurs augmente la complexit´e de calcul pour le parsing car il est n´ecessaire de d´ecoder l’ensemble du champ de vecteurs. Si au moins un pr´edicteur temporel appartient `a l’un des deux ensembles, la valeur du vecteur temporel est n´ecessaire par cons´equent l’ind´ependance des donn´ees du slice courant est incompatible. Ce probl`eme peut ˆetre cependant r´esolu en indiquant le nombre de bits n´ecessaires au codage des indices de pr´ediction suivi de l’en- semble de ces indices au d´ebut ou `a la fin de chaque slice cette m´ethode n´ecessite le codage entier du slice avant sa transmission, ce qui n’est pas compatible avec les applications de visiophonie pour les- quelles un codage et une transmission au fil de l’eau sont n´ecessaires. Cette solution reste cependant viable pour les autres applications.

La r´eduction du d´ebit de l’information de comp´etition par ´egalit´e des pr´edicteurs s’inscrit dans une logique d’augmentation des performances de compression bas´ee sur le transfert d’une partie de l’intelligence du codeur vers le d´ecodeur. Ce transfert a pour but de supprimer l’information de comp´etition comme nous allons le voir dans la partie III. Notons enfin que l’ordonnancement des donn´ees pourrait changer dans l’avenir avec des techniques plus ´evolu´ees et plus robustes aux pertes de donn´ees dues `a l’utilisation des r´eseaux sans fil.

4.2.4

Complexit´e

4.2.4.1 Complexit´e en m´emoire

Les pr´edicteurs spatiaux que nous avons propos´es n’engendrent pas de complexit´e de m´emoire suppl´ementaire. En revanche, les pr´edicteurs temporels impliquent la sauvegarde des champs de vecteurs mouvement des images de r´ef´erence. La taille de ces informations d´epend de la taille de la fenˆetre de recherche et du nombre d’images de r´ef´erence. En fonction des pr´edicteurs temporels utilis´es, il n’est pas n´ecessaire de conserver l’ensemble de cette information. Par exemple, pour les vecteurs mvScolR0 et mvtransseul le champ de vecteur de l’image Ref0 doit ˆetre gard´e en m´emoire.

Les pr´edicteurs mvcolsumj, mvtranssumj requi`erent, au contraire, le stockage de l’ensemble des champs

de vecteurs mouvement de toutes les images de r´ef´erence. Les indices des images de r´ef´erence in- dispensables pour le calcul des mises `a l’´echelle n’ont pas besoin d’ˆetre gard´es en m´emoire car ces calculs peuvent ˆetre effectu´es image par image. Notons que l’information des champs de vecteurs mouvement est d´ej`a en m´emoire pour les slices B dans les d´ecodeurs utilisant les profils Main et High du standard H.264/AVC. En effet, le mode Direct temporel utilise cette donn´ee. L’impact en m´emoire suppl´ementaire est donc pour le profil Baseline et pour les slices P des profils Main et High.

1. Le terme lecture est diff´erent du terme d´ecodage : `a la fin de la lecture d’un slice, le flux n’est pas transform´e

Comp´etition exhaustive 69

4.2.4.2 Complexit´e de calcul

L’impact sur la complexit´e de calcul d´epend du nombre et du type de pr´edicteurs utilis´es dans

P et Ps.

Au codeur, chaque pr´edicteur doit ˆetre calcul´e `a partir des champs de vecteurs pr´ec´edemment cod´es. Aucune estimation de mouvement suppl´ementaire par rapport `a la r´ef´erence n’a besoin d’ˆetre effectu´ee. Pour chaque pr´edicteur pi, le r´esiduel εmvi est calcul´e et estim´e. Ceci sont les seuls im-

pacts au niveau du codeur. Les autres impacts en complexit´e sont non-normatifs. Par cons´equent, ces impacts d´ependent de chaque impl´ementation. Dans la nˆotre, pour chaque pr´edicteur pi, nous

calculons :

– le coˆut de l’indice ς(i)

– le coˆut du r´esiduel ς(εmvi), qui d´epend d’une table de Golomb dans le logiciel de r´ef´erence

– la distorsion (SAD) pour chaque pr´edicteur pour le mode Skip.

Dans une impl´ementation r´ealiste d’un codeur H.264/AVC, on utilise g´en´eralement une s´election prioris´ee du mode Skip comme choix de codage [Bye03] qui permet une s´election rapide du mode Skip sans tester l’ensemble des autres modes de codage. Avec notre m´ethode, le nombre de s´elections de modes Skip augmente. On devrait donc obtenir un gain en rapidit´e pour une impl´ementation r´ealiste. Au d´ecodeur, les pr´edicteurs doivent ˆetre compar´es afin de d´eterminer leur ´eventuelle ´egalit´e. Ce test implique le calcul de tous les pr´edicteurs des ensembles P et Ps. Ce sont les seuls impacts sur

la complexit´e. De plus, le d´ecodage d’un macrobloc skipp´e ne requiert aucun parsing du flux ni de d´equantification, ni de d´e-transformation. Ce mode de codage a donc une complexit´e faible. Notre m´ethode augmente le nombre de s´elections de ce mode. Par cons´equent la complexit´e devrait ˆetre r´eduite.

La comp´etition des vecteurs mouvement a ´et´e int´egr´ee dans le JM KTA [KTA]. Ce logiciel est bas´e sur le logiciel de r´ef´erence de la norme H.264/AVC [JM]. Ce code C n’est pas optimis´e, ni en termes de complexit´e en m´emoire, ni en termes de complexit´e de calcul. Ce logiciel est capable de coder et de d´ecoder l’ensemble des profils et toutes les options. Il int`egre des choix de codage complexes et irr´ealistes pour un codeur temps r´eel, comme l’estimation de mouvement enti`ere de la fenˆetre de recherche au pixel entier et le calcul du d´ebit au bit pr`es pour l’ensemble des modes de codage. Ces outils non normatifs sont tr`es performants en terme d’efficacit´e de codage mais tr`es coˆuteux en terme de complexit´e de calcul. De plus le JM g´en`ere de nombreuses statistiques sur les codages et d´ecodages effectu´es ce qui augmente encore les temps de calcul. Par cons´equent, mesurer une complexit´e de calcul dans ce logiciel n’a pas de sens. Toutefois une ´etude d’augmentation du nombre de cycles machine par pixel a ´et´e effectu´ee dans [Hor08] pour chacun des outils int´egr´es dans le JM KTA. La complexit´e de notre m´ethode a ´et´e estim´ee avec deux pr´edicteurs pour le mode Skip et deux pr´edicteurs pour les autres modes Inter. Ces r´esultats indiquent que la m´ethode MVComp est la moins complexe, au niveau du codeur, des m´ethodes pouvant engendrer une normalisation. Au niveau du d´ecodeur, le nombre de cycles machine est proche de celui de la r´ef´erence.

Pr´edicteur mv H .264 mv a mv b mv c mv S col R0 mv tm 5 mv tm 9 mv tr ans mv spt mv col sum j mv tr ans sum j S´election (%) 12,6 11,1 9,7 7,9 10,6 8,6 7,6 10,4 8,1 7,7 5,7

Table 4.1 – S´election de chaque pr´edicteur inclus dans l’ensemble P pour neuf s´equences CIF pour le profil Baseline IPP.