• Aucun résultat trouvé

Applications au codage vidéo perceptuel

5.3 Contributions et bilan personnel

7.2.4 Applications au codage vidéo perceptuel

Vrel(s) =−→

Vθ(s) −−→

Vlocal(s)

L’indice de saillance temporelle ST(s) est obtenu à partir de la fonction illustrée à la figure7.13 qui tient compte des capacités de poursuite de l’oeil [538].

Figure 7.13 – Saillance temporelle fonction de la vitesse relative (extrait de [38]).

Saillance spatio-temporelle

La saillance spatio-temporelle est calculée en combinant saillance temporelle et saillance spatiale :

SSP-T(s) = (ST(s) +1

2SSP0(s)).gauss2D(s)

où gauss2D est une fonction gaussienne bi-dimensionnelle introduite pour tenir compte du biais central [388] (c’est-à-dire la tendance des observateurs à favoriser le centre de l’écran). Le contraste de mouvement influençant plus l’AV, le poids de ST est deux fois celui de SSP0. Des exemples de cartes obtenues sont à la figure 7.14.

7.2.4 Applications au codage vidéo perceptuel

Nous avons testé deux applications possibles de l’outil de pré-analyse avant encodage de la vidéo en flux H.264/AVC, la 1repropose une modification adaptative de la structure du GOP en fonction du contenu spatio-temporel du plan vidéo, la 2ndeune codage vidéo avec qualité visuelle différenciée guidée par les cartes de saillance.

Figure 7.14 – Cartes de saillance pour Tractor (segments 13 à 16), avec de haut en bas : les images originales, les cartes de saillance spatiale, celles de saillance temporelle, puis celles de saillance spatio-temporelle (extrait de [38]).

Modification adaptative de la structure du GOP

Le codeur vidéo a 3 modes de codage pour les images : les images I (codées en mode intra), les images P (images prédites par compensation du mouvement) et les images B (images bi-prédites). La succession des images I, P et B constitue un GOP (« Group of Pictures ») qui débute toujours par une I. La construction du GOP a une influence directe sur le débit du flux compressé car en moyenne, une image I nécessite plus de bits qu’une P qui nécessite plus de bits qu’une B. Les images I sont aussi les images clés (« keyframes ») servant de référence pour la prédiction par compensation de mouvement. De façon classique, un codeur vidéo utilise une taille de GOP fixe, avec typiquement 1 ou 2 images B entre une I et une P, ou entre 2 images P. Afin de s’adapter aux changements spatio-temporels au sein du plan vidéo, la taille du GOP devrait être dynamique [344, 408, 419, 440, 457, 530, 580], il faut donc détecter ces changements nécessitant l’insertion d’une image I, et augmenter le nombre de B des plans comportant peu de mouvement (ou un mouvement panoramique).

Adaptation du nombre des images B : Nous avons d’abord vérifié expérimen-talement que la configuration optimale du GOP varie bien en fonction de différents types de contenu vidéo, et nous avons également ainsi construit une vérité de terrain. Ces résul-tats nous ont conduit à caractériser le contenu d’un segment temporel ST via 2 indices directement évalués à partir de paramètres issus de la pré-analyse : un indice IT (ST ) mesurant l’activité temporelle comme la moyenne des vecteurs mouvement des tubes,

et l’autre IS(ST ) mesurant l’activité spatiale comme la moyenne des EQM obtenues lors des estimations de mouvement relatives aux tubes. Exploitant la vérité de terrain construite expérimentalement, nous avons défini pour un segment ST , neuf classes d’ac-tivités spatio-temporelles possibles (voir la figure7.15). Ces classes Ci, où i = {0, . . . , 8}, partitionnent l’espace (IS, IT ), et i correspond au nombre d’images B entre 2 images P-P ou I-P. Les bornes des ellipses délimitant les classes ont été déterminées afin que les activités (temporelle et spatiale) entre 2 images P-P ou I-P soient constantes.

Figure 7.15 – Classification des segments temporels en fonction des indices d’activité spatiale IS et temporelle IT (extrait de [217]).

Les tests expérimentaux ont comparés 2 codeurs x264 [377] (une version originale, et une version modifiée capable d’adapter le nombre de B), pour 4 débits cibles, et avec (parmi les paramètres de codage) une taille du GOP fixée à 25 images, et 2 images B entre deux images P-P ou I-P. Les résultats moyens sur 8 séquences vidéos, et calculés avec la métrique de Bjontegaard [494] montrent, une réduction du débit de 2,91% et un gain en PSNR de 0,11 dB, les bénéfices sont nets avec les vidéos à fort mouvement.

Adaptation de la taille du GOP : Pour savoir quand introduire une nouvelle image I, l’analyse exploite l’indice d’activité temporelle IT (ST ). Nous avons déterminé empiriquement 2 seuils, un haut sh et un bas sb, permettant de distinguer 3 cas : Si

IT (ST ) > sh, alors ST contient un fort mouvement et il faut introduire un nouvelle image I (plusieurs successivement si nécessaire) ; Si IT (ST ) < sb, alors ST contient peu de mouvement et il faut espacer davantage les I ; Si sb> IT (ST ) < sh, alors ST contient un mouvement modéré (cas le plus fréquent), et il faut conserver la taille classique du GOP.

ver-sion modifiée capable cette fois d’adapter le nombre de B et l’insertion de I), les autres paramètres de codage sont ceux décrits au paragraphe précédent. Les résultats moyens sur les 8 séquences vidéos, et calculés avec la métrique de Bjontegaard montrent, une réduction du débit de 4,45% et un gain en PSNR de 0,16 dB, les bénéfices sont toujours nets avec les vidéos à fort mouvement.

Codage adaptatif basé saillance visuelle

Nous développons un schéma de compression sélective directe [573] exploitant les cartes de saillance visuelle SSP −T. L’objectif est de contrôler la distribution des res-sources binaires en fonction de l’intérêt visuel de chaque macrobloc afin d’accroître glo-balement la qualité visuelle perçue. Comme dans la plupart des cas [443], le paramètre sur lequel on agit est la consigne de quantification : un macrobloc présentant un intérêt visuel faible sera quantifié plus grossièrement qu’un ayant un intérêt visuel important.

Modification de la carte de saillance : Il est d’abord nécessaire d’adapter la carte de saillance SSP −T aux contraintes du codeur H.264/AVC qui permet l’utilisation d’un pas de quantification par macrobloc, seule la variation du pas de quantification entre 2 macroblocs est codée. La simplification et l’homogénéisation de la carte s’effectuent en réalisant sa quantification sur 8 niveaux suivie d’un filtrage morphologique (com-binaison d’une ouverture puis d’une fermeture avec un élément structurant 3 × 3). La carte de saillance modifiée indique la saillance de chaque macrobloc de l’image centrale du segment temporel. Les cartes de saillance respectives des autres images du segment (c’est-à-dire des 4 précédentes et 4 suivantes) sont déduites à partir des informations de mouvement (projection temporelle dans le sens du mouvement des tubes de la carte de saillance centrale).

Modification du cœur de codage : L’indice de saillance calculé pour un macro-bloc varie entre 0 (saillance nulle) et 1 (très saillant). Afin de quantifier les macromacro-blocs en fonction de leur indice de saillance, on module la valeur initiale du pas de quantification du codeur (voir la fonction de modulation à la figure7.16). Si le macrobloc est saillant, on diminue la valeur initiale du pas, dans le cas contraire, on conserve ce pas initial. La consigne globale de débit est contrôlée par l’optimisation débit-distorsion du codeur.

Les tests expérimentaux ont comparés 2 codeurs x264 (version originale, versus ver-sion modifiée capable cette fois d’adapter le pas de quantification en fonction des cartes de saillance), les autres paramètres de codage sont ceux décrits aux paragraphes précé-dents. Les résultats moyens sur les 8 séquences vidéos, et calculés avec la métrique de Bjontegaard montrent : sur les séquences entières, une « réduction » du débit de -0,52% et un « gain » en PSNR de -0,02 dB ; sur les régions d’intérêt de ces séquences, une réduction du débit de 1,75% et un gain en PSNR de 0,06 dB. Les bénéfices sont toujours nets avec les vidéos à fort mouvement.

Figure 7.16 – Fonction de modulation du pas de quantification du macrobloc en fonction de son indice de saillance,SSP −T est la valeur moyenne des indices de l’image à laquelle appartient le macrobloc i (d’après la présentation de soutenance de thèse [217] disponible sur HAL).

Une campagne de tests subjectifs a été menée avec des observateurs « naïfs », afin d’évaluer la qualité visuelle des 8 vidéos codées/décodées via 4 codeurs x264 (version originale, et versions modifiées capables d’adapter la structure du GOP et/ou le pas de quantification en fonction des cartes de saillance). Le protocole ACR (« Absolute category rating ») a été utilisé, afin d’obtenir la note de qualité absolue de chaque séquence (c’est-à-dire le MOS « Mean Opinion Score ») sur une échelle de qualité à cinq catégories [314, 434,550]. La faible valeur obtenue de ∆QMoy = QQA− Qx264 = 0, 04, faisant la différence entre QQA, la note de qualité moyenne obtenue avec stratégie de codage, et Qx264 celle obtenue avec le codeur original, montre que nos implantations n’ont pas (encore) apporté d’améliorations significatives.