• Aucun résultat trouvé

Pour améliorer la robustesse des flux vidéos contre les pertes de paquets, nous avons proposé précédemment une méthode visant l’arrêt de la propagation temporelle des dégradations. Dans cette section, nous décrivons une extension de cette méthode utilisant l’outil FMO. L’apport de cette méthode est une séparation spatiale de la région d’intérêt du reste de l’image. Cette

séparation au niveau des slices de l’image confère à la RdI un cloisonnement spatio-temporel. De plus, nous proposons une variante de la méthode qui repose sur la création d’une dépendance entre les RdI pour éviter toute propagation des dégradations du reste de l’image à la RdI.

8.1.1

Rappel sur l’organisation flexible de macroblocs FMO

Les techniques de codage robuste offertes par la norme H.264/AVC servent à assurer la pro- tection du flux vidéo contre d’éventuelles erreurs de transmission. L’outil FMO est généralement utilisé pour modifier l’encapsulation des macroblocs d’une image dans les slices de manière à ce que la perte d’une slice ne dégrade pas un groupe de macroblocs consécutifs. L’intérêt de cette approche est d’augmenter l’efficacité de la compensation des macroblocs perdus par l’utilisation de macroblocs voisins correctement reçus.

L’utilisation de l’outil FMO n’est autorisée que dans le profil de codage Extended Profile de la norme H.264/AVC. Ce profil diffère du High Profile utilisé jusqu’à présent sur deux points.

Premièrement, le profil Extended ne permet pas l’utilisation de la transformée entière 8 × 8. Cette transformation a été introduite dans la norme H.264/AVC, initialement basée sur une transformée 4 × 4, pour augmenter l’efficacité de la compression des régions uniformes dans les vidéos haute résolution (HD et plus). Pour les séquences étudiées dans ce chapitre, l’impact de l’utilisation exclusive de la transformée entière 4 × 4 sur la qualité visuelle est négligeable.

D’autre part, le profil Extended n’autorise pas l’utilisation du codage entropique CABAC. Comme nous l’avons déjà vu à la section 1.3 du chapitre 1, CABAC est plus performant que CAVLC surtout pour les hautes résolutions [Mar03, Maz09]. Cependant, les débits de codage élevés que nous utilisons laissent penser que la différence de performances ne sera pas significative au niveau de la qualité finale des vidéos. Le surcoût de la méthode proposée est étudié en détail dans la section 8.3.2.

L’efficacité du codage est aussi réduite quand FMO est utilisé du fait du partitionnement de l’image en slices non consécutives. Ce partitionnement limite les possibilités de prédiction aux frontières des slices. De plus, cette remise à zéro du contexte de codage interrompt le codage entropique adapté au contexte. Le surcoût dû à l’utilisation de FMO dépend du type choisi (cf. sous-section 2.2.2.1 du chapitre 2).

8.1.2

Codage intra dans les régions d’intérêt

La figure 8.1.a illustre un exemple d’utilisation de FMO pour encapsuler les macroblocs de la RdI dans des slices séparées. Les macroblocs de couleur grise forment la RdI de l’image composée de deux slices dans cet exemple. La disposition des slices de l’image dans des NALU pour former le flux binaire est illustrée figure 8.1.b. Nous pouvons voir dans cet exemple que l’ordre des slices dans le flux binaire dépend du groupe de slices auquel elles appartiennent. Ainsi, les slices du premier groupe (numérotées de 1 à 6) sont ordonnées par ordre de codage

3 3 4 2 1 7 8 5 6 4

(a) Une image constituée de huit slices. Slice 1 NALU 1 Slice 2 NALU 2 Slice 3 NALU 3 Slice 4 NALU 4 Slice 5 NALU 5 Slice 6 NALU 6 Slice 7 NALU 7 NALU 8 Slice 8 ... ...

(b) Les slices de l’image disposées dans des NALU dans le flux binaire. Les slices 7 et 8 correspondent à la RdI.

Fig. 8.1 – La répartition spatiale des slices dans l’image (a) et leur disposition dans le flux vidéo (b). Les NALU en gris contiennent les slices de la RdI de l’image colorées en gris dans (a). puis les slices du second groupe (correspondant à la RdI et numérotées de 7 à 8) sont ajoutées pour compléter la représentation binaire de l’image.

Comme nous l’avons montré dans le chapitre précédent, la propagation spatiale de l’erreur ne peut être arrêtée complètement à l’intérieur d’une slice. La présence, à l’intérieur d’une même slice, de macroblocs appartenant à la RdI et de macroblocs appartenant au reste de l’image pose en effet problème. La séparation de la RdI par utilisation de l’outil FMO permet, en plus de la protection contre la propagation spatiale des dégradations, l’application ultérieure d’un traitement particulier. Les slices contenant les macroblocs de la RdI peuvent par exemple être protégées d’une manière différente que les autres slices de l’image.

Parmi les sept types de FMO présentés dans le chapitre 2, nous choisissons d’utiliser le type 6. Ce type permet de spécifier explicitement à quelle slice appartient chaque macrobloc de l’image. Dans le cadre de ce travail, l’appartenance d’un macrobloc à une slice dépend de l’appartenance ou non de ce macrobloc à la RdI de l’image. Les RdI sont déterminées à partir des données recueillies lors des tests de suivi des mouvements oculaires. Au moment du codage, les coordonnées des macroblocs appartenant à la RdI sont fournies au codeur.

Deux groupes de slices sont ainsi créés : le premier contient les slices du reste de l’image et le second celles de la RdI. Pour chaque macrobloc de la RdI, l’algorithme décrit dans le chapitre 7 est utilisé pour forcer son mode de codage en intra.

Les cartes de correspondance entre les macroblocs et les slices d’une image sont formées au codage. Elles sont transmises dans des NALU de type Picture Parameter Set (PPS) pour

indiquer au décodeur la répartition des slices dans l’image. Généralement, une seule NALU PPS correspondant à un grand nombre d’images est incluse dans le flux binaire pour éviter les surcoûts. Cependant, dans notre travail, l’association d’une NALU PPS à chaque image est nécessaire car la RdI de l’image n’est pas fixe pour toute la durée de la séquence vidéo (elle change à chaque image). Pour les débits et la résolution utilisés (respectivement 4 − 6 Mbit/s et 720 × 576), ces NALU engendrent généralement un surcoût de débit compris entre 0, 5% et 3% du débit requis par l’image associée.

8.1.3

Dépendance entre les régions d’intérêt

La propagation des dégradations du reste de l’image à la RdI peut nuire à la qualité visuelle d’une vidéo. Une solution à ce problème peut être la création d’une dépendance entre les ma- croblocs des RdI des images codées en mode inter et des RdI des images de référence. Nous proposons donc un algorithme qui opère de la façon suivante : pour les macroblocs des RdI des images B et P, le choix des macroblocs à utiliser comme référence pour le processus de prédiction inter est limité à ceux appartenant à la RdI de l’image de référence. L’outil FMO est toujours utilisé pour séparer les slices de la RdI des autres slices de l’image.

Pour les macroblocs utilisables comme référence, le codeur choisit le mode de codage qui minimise la fonction de coût comme expliqué au chapitre précédent. Ce mode peut être intra ou inter, auquel cas le macrobloc de référence appartient obligatoirement à la RdI. Si la RdI de l’image de référence n’est pas dans l’espace de recherche des prédictions inter, le mode intra est selectionné. Un exemple illustrant la restriction de prédiction inter est donné figure 8.2.

Sur cette figure, les macroblocs colorés en gris appartiennent aux RdI des images. Dans 8.2.a, les deux macroblocs gris utilisent comme référence des macroblocs n’appartenant pas à la RdI de l’image de référence. Ces prédictions sont modifiées dans 8.2.b de façon à ce que les deux macroblocs de référence utilisés appartiennent désormais à la RdI. La troisième prédiction inter illustrée reste inchangée car elle ne concerne pas un macrobloc de la RdI de l’image codée.

Cette approche permet d’éviter que la propagation des dégradations ne touche les RdI des images quand les pertes sont situées à l’extérieur de la RdI dans l’image de référence. Cependant, une perte de slices appartenant à la RdI engendre une propagation des dégradations essentielle- ment concentrée dans les RdI des images codées en mode inter. Ceci est dû à la forte dépendance créée par l’algorithme de restriction de prédiction. L’impact d’une telle perte pourrait être pré- judiciable sur la qualité visuelle. Pour pallier cette faiblesse, il est nécessaire d’appliquer une protection inégale de l’information au niveau du codage canal pour mieux protéger les paquets contenant les slices relatives aux différentes RdI de l’image.

!"#$%&'%&()*)(%+,% !"#$%&-&,.'%( !"#$%&'%&()*)(%+,% !"#$%&-&,.'%( / / / / / / / / (a)             (b)

Fig. 8.2 – Illustration de la restriction de prédiction inter. Les macroblocs en gris correspondent aux RdI. Les prédictions à partir de macroblocs se situant à l’extérieur de la RdI de l’image de référence dans (a) sont modifiées après l’application de l’algorithme dans (b).