• Aucun résultat trouvé

d´etach´ee du corps. Ceci est dˆu au fait que la couleur de Ip,g,t (la craie brune) est tr`es

proche de celle de la peau sur It,p.

Pour m ∈ [[0, l − 1]] × [[0, h − 1]] faire

M1(m) ← max3(Ip,g,t(m) − It,p(m)) -- soustraction d’arri`ere-plan

finpour

M2 ← dilatation(´erosion(M1)) -- ouverture morphologique

Pour m ∈ [[0, l − 1]] × [[0, h − 1]] faire M3(m) ← seuillage(M2(m), s)

finpour

-- En sortie, M3 vaut 1 aux points occult´es, 0 sinon

Fonctions utilis´ees :

– max3(v) renvoie max{|v1|, |v2|, |v3|} ;

– les op´erateurs morphologiques dilatation et ´erosion utilisent un disque comme ´el´ement structurant (appendice 7.5.2.4) ;

– seuillage(v, s) transforme le niveau de gris v ∈ R en masque : seuillage(v, s) = 1 si v > s

0 sinon

Algorithme 5.1: Algorithme de segmentation par « soustraction » entre l’image panora- mique de r´ef´erence Ip,g,t et l’image courante It,p. Le seuil s est `a ajuster manuellement.

Pour rebondir sur la contrainte du temps r´eel qui est la caract´eristique majeure de notre contribution, nous affirmons que l’impl´ementation (appendice 7.5) de l’algorithme 5.1 « sature » les ordinateurs personnels actuels. Au del`a, la « goutte d’eau ferait d´eborder le vase ».

5.3

Codage vid´eo

Nous utilisons notre m´ethode pour envoyer par un r´eseau une s´equence vid´eo au fur et `

a mesure de son acquisition.

5.3.1

Etat de l’art (tr`´

es rapide)

5.3.1.1 Codage fond-forme

Beaucoup de recherches actuelles traitent de la compression vid´eo par objets : diff´eren- tes r´egions de la sc`ene sont cod´ees par des m´ethodes d´edi´ees, choisies pour leur efficacit´e sur un type d’images donn´e.

Dans ce contexte, Irani et al. ([IAB+96] §2.2) ont propos´e de coder s´epar´ement le premier plan et l’arri`ere-plan de s´equences vid´eo sportives. L’arri`ere-plan est compos´e d’une

vue panoramique. Des techniques de suivi et de segmentation diverses ont ´et´e propos´ees pour constituer un tel encodeur ([IAB+96] §2.2, [DM96], [BDH03]).

5.3.1.2 MPEG-4

Les normes de codage vid´eo actuelles (les formats Windows Media, QuickTime, RealMedia, dans une certaine mesure flash, et surtout MPEG-4) ne se limitent pas `a ranger une piste vid´eo et audio dans un fichier. Un document est compos´es d’un nombre arbitraire de m´edias (texte, image, s´equence vid´eo, s´equence audio, etc.) organis´es dans une pr´esentation multim´edia.

La norme de codage MPEG-4, propose, en plus des possibilit´es des formats vid´eo tra- ditionnels :

– de nouveaux m´edias, comprenant des objets 3D, des images panoramiques, des sources audio localis´ees, des images vectorielles, etc. Ces m´edias sont des « objets » : ils peuvent ˆetre ajout´es, supprim´es, manipul´es ind´ependamment ;

– un langage de description de sc`ene, BIFS (BInary Format for Scenes [PE02] § 4). Il permet de sp´ecifier comment les m´edias sont compos´es entre eux en espace (o`u afficher ?) et en temps (quand jouer ?). Le langage d´ecrit ussi toutes les interactions avec l’utilisateur (lecture, stop, clic sur un lien, etc.) ;

– un moyen de publier ces donn´ees sur le r´eseau. Elles (m´edias, BIFS) sont transf´er´ees sous forme de flux (stream en anglais). Chaque donn´ee composant une pr´esentation est d´ecompos´ee en paquets. Les paquets des diff´erents flux sont envoy´es dans un ordre choisi par un multiplexeur pour que :

– la pr´esentation puisse ˆetre jou´ee progressivement (streaming en anglais). Par exem- ple le d´ebut d’une vid´eo peut ˆetre affich´e avant que toute la s´equence soit re¸cue, comme sur une vraie t´el´evision,

– les erreurs de transmission par le r´eseau affectent le moins possible la qualit´e de la pr´esentation.

Ces ajouts s’accompagnent de nombreuses am´eliorations des normes de codage pour les s´equences vid´eo (format H264 et format d´edi´e aux visages), les images (JPEG2000) et les s´equences audio (format d´edi´e `a la parole).

Des lecteurs (players) MPEG-4 plus ou moins complets (http://www.envivio.com) sont disponibles pour le grand public.

La norme MPEG-4 sp´ecifie le fonctionnement du d´ecodage pour chaque m´edia mais pas celui de l’encodage. Ceci laisse un grande latitude du cˆot´e de l’encodage, ce qui explique les nombreuses recherches portant sur les techniques d’encodage pour les diff´erents m´edias.

5.3.1.3 Ce que nous en retenons

Dans le cadre de MPEG-4, la composition visuelle nous int´eresse particuli`erement. Deux m´edias visuels peuvent ˆetre superpos´es lors de la visualisation de la pr´esentation.

`

5.3. CODAGE VID ´EO 143 objet vid´eo (VOP pour Video Object Plane en anglais) s´epar´e. Les deux VOP sont ensuite superpos´es pour former l’image finale.

Nous pouvons transmettre l’arri`ere-plan (l’image panoramique) et le premier plan (les objets occultants) dans des flux s´epar´es. Le flux vid´eo de premier plan peut ˆetre produit et affich´e en temps r´eel ([PE02], p356).

5.3.2

Notre technique de codage

La figure 5.10 d´etaille notre architecture d’encodage (cˆot´e serveur) et de d´ecodage (cˆot´e client). Les flux de donn´ees contenant les diff´erents m´edias sont multiplex´es, envoy´es sur le r´eseau, et reconstitu´es du cˆot´e client par le « d´e-multiplexeur ». Les composantes maison ont pour nom « g´en´eration de la vue panoramique », « suivi » et « segmentation ». 5.3.2.1 Traitement de l’image panoramique

L’image panoramique est transform´ee en flux par un codeur progressif exploitant la multir´esolution : `a partir d’un premier jet de donn´ees, le d´ecodeur peut reconstituer l’image en r´esolution r´eduite. La suite du flux (4) ajoute progressivement des d´etails `a l’image. De cette mani`ere, l’affichage de l’arri`ere-plan peut commencer avant la fin de la transmission des donn´ees.

Le suivi fournit, pour chaque image Itde la s´equence les param`etres θtde l’homographie

associ´ee. Ils sont envoy´es dans un flux (0). Du cˆot´e client (boˆıte « re-projection »), ils constituent les param`etres d’une homographie qui, appliqu´ee `a la vue panoramique, la ram`ene dans le rep`ere de l’image de la s´equence (´equation 5.2). Ceci constitue le VOP/0, celui de l’arri`ere-plan.

5.3.2.2 Le premier plan

La segmentation fournit une s´equence d’images du premier plan, avec les masques d’occultation correspondants. La technique retenue dans MPEG-4 repose sur une partition de l’image en macroblocs (MB).

Codage. Pour les images-cl´es, l’image et le masque sont cod´es s´epar´ement (flux (1) et (2)) :

– le masque est consid´er´e comme une image `a 1 bit par pixel, cod´ee sans perte. Un MB est soit enti`erement noir, soit enti`erement blanc, soit partag´e, auquel cas un codeur arithm´etique s’en charge ([PE02] § 8.3.1) ;

– seuls les MB non occult´es de l’image (la texture) sont cod´es, `a l’aide d’une transform´ee en cosinus discr`ete (DCT). S’ils sont partiellement occult´es, seuls les pixels visibles sont cod´es, avec une DCT unidimensionnelle ([PE02] § 8.3.3).

Le masque et la texture sont tous les deux interpol´es en temps, entre les images-cl´es. Pour cela, un flux (3) fournit un vecteur de translation pour chaque MB.

par degrés La scène codeur forme/ texture/ mouvement suivi     re−projection homographies « démultiplexeur » d’image mémoire série de vues OU caméra DV caméra panoramique

description de scène (BIFS) gestion retour utilisateur

CÔTÉ CLIENT

CÔTÉ SERVEUR

panoramique de la vue génération par degrés codeur mouvement texture forme premier plan

RÉSEAU

segmentation contrôle données BIFS gestion arrière−plan (VOP/0) compositeur de VOP panoramique image décodeur

premier plan (VOP/1)

4 5 3 2 0 multiplexeur 1 5 4 0 1 3 2 historique historique de texture décodeur décodeur de masque historique

Fig. 5.10: Architecture de codage et de d´ecodage d’une s´equence vid´eo prise dans nos conditions exp´erimentales.

5.3. CODAGE VID ´EO 145 D´ecodage. Du cˆot´e client, le masque est d´ecod´e en premier. Lui succ`ede (car il en d´epend) le d´ecodage de la texture. En sortie, la zone textur´ee non masqu´ee est trans- parente et constitue le VOP/1.

5.3.2.3 Superposition

Les deux VOP sont superpos´es par un compositeur de VOP, et affich´es sur l’´ecran de l’utilisateur. La figure 5.11 pr´esente un exemple d’image obtenue lors de cette combinai- son. La segmentation de l’image est celle de la figure 5.9. Les erreurs de segmentation se traduisent par des parties du VOP/1 qui semblent disparaˆıtre.

Fig. 5.11: Image d’une s´equence vid´eo reconstruite en combinant la r´ef´erence panoramique re-projet´ee et un objet au premier plan, et vue d´etaill´ee qui met en ´evidence une erreur de segmentation : une partie de la tˆete n’est pas transmise.

5.3.2.4 Contrˆole du lecteur MPEG-4

Cot´e serveur, un composant de gestion envoie un flux de description de sc`ene au format BIFS (5). Le composant de gestion du client utilise ces informations pour activer la chaˆıne de d´ecodeurs qui traitent les autres flux de la pr´esentation. Les donn´ees BIFS indiquent aussi au composant comment r´eagir aux actions de l’utilisateur.

5.3.3

Conclusion

Tous ces composants peuvent fonctionner en temps r´eel, puisque les flux sont envoy´es et affich´es simultan´ement : c’est du streaming (acc`es aux donn´ees multim´edia en flux continu [Gri03] § 2). Le programme d’affichage, cˆot´e client, est un lecteur MPEG-4 g´en´erique ; aucun d´ecodeur ou programme sp´ecifiques ne sont n´ecessaires.

Avec un codeur g´en´erique, toutes les images doivent ˆetre enti`erement encod´ees. Grˆace `a notre approche, une fois l’arri`ere-plan transmis, seul le premier plan n´ecessite d’ˆetre envoy´e pour chaque image. La bande passante utilis´ee pour transmettre les flux s’en trouve r´eduite de facto.