25
Etude et test des algorithmes d'estimation de mouvement en MPEG

Etude et test des algorithmes d'estimation de mouvement en MPEG

  • Upload
    rian

  • View
    44

  • Download
    3

Embed Size (px)

DESCRIPTION

Etude et test des algorithmes d'estimation de mouvement en MPEG. PLAN. Techniques de compression video MPEG. Traitement des redondances temporelles: algorithmes d'estimation de Mouvement. Test des implémentations DivX Protocole Mise en oeuvre Résultats Interpretation. - PowerPoint PPT Presentation

Citation preview

Page 1: Etude et test des algorithmes d'estimation de mouvement en MPEG

Etude et test des algorithmes d'estimation de mouvement en MPEG

Page 2: Etude et test des algorithmes d'estimation de mouvement en MPEG

PLAN

● Techniques de compression video MPEG.● Traitement des redondances temporelles:

algorithmes d'estimation de Mouvement.● Test des implémentations DivX

– Protocole– Mise en oeuvre– Résultats– Interpretation

Page 3: Etude et test des algorithmes d'estimation de mouvement en MPEG

Introduction:Pourquoi la compression Video ?

● Absence de compression inconcevable– Exemple pour une qualité Télévision analogique:

● Image 640*480 @25 Images / sec.● profondeur de pixels: 24 bits● Total: 22 Mo/s

● Compression avec pertes nécessaire, utilisant les redondances spatiales et temporelles

● MPEG4 (dans la pratique: divx): 64 Ko/s ; facteur de compression = 350

Page 4: Etude et test des algorithmes d'estimation de mouvement en MPEG

Techniques de compression MPEG: Sous échantillonnage

● Passage de la base RGB en YUV.● Perception humaine moins sensible à la

chrominance.● Codage en 4:2:0● Compression: 2

Page 5: Etude et test des algorithmes d'estimation de mouvement en MPEG

Techniques de compression MPEG:exploitation de la redondance spatiale● Découpage de l'image en Macroblocs de 16*16

pixels, puis en blocs de 8*8 pixels● Compression des blocs en DCT (Discrete

Consine Transform) pour le MPEG1 et 2, ondelettes pour le MPEG4.

● But de ces transformées: sous échantillonnage des fréquences basses.

● Puis codage VLC et RLE.

Page 6: Etude et test des algorithmes d'estimation de mouvement en MPEG

Techniques de compression MPEG:exploitation de la redondance temporelle

● 3 types d'images:● Intra frame (I) ou Key-frame: image entière● Predictive Frame (P): codage en fonction d'une image

précédente.● Bidirectionnal frame (B): codage en fonction de deux

images (I ou P).

● Images P et B générées grâce à l'estimation de mouvement.

Page 7: Etude et test des algorithmes d'estimation de mouvement en MPEG

Estimation de mouvement:Principe

● Pour le codage des images P et B– Recherche de blocs carrés

de pixels les 'plus ressemblants' dans l'image précédente

– Critères de ressemblance à minimiser: SAD (Sum of absolute difference) sur la luminance.

Page 8: Etude et test des algorithmes d'estimation de mouvement en MPEG

Compensation de mouvement

● Plutot qu'un bloc d'image 8*8, on transmet:– le vecteur de mouvement du bloc– Bloc 8*8 contenant l'erreur résiduelle entre les deux

blocs, encodée en DCT. ● Décodage: on compense l'image précédente grâce

aux vecteurs de mouvement et aux erreurs résiduelles.

● Comment trouver les blocs ?

Page 9: Etude et test des algorithmes d'estimation de mouvement en MPEG

Techniques pour la recherche de mouvement

● Comment trouver les blocs ressemblants?

● Full Search: recherche exhaustive– Optimal: on trouve

forcément le meilleur bloc

– Mais: très lourd

Page 10: Etude et test des algorithmes d'estimation de mouvement en MPEG

Estimation de mouvement:Three Step Search

– Recherche d'une direction: test sur 9 valeurs en partant du vecteur (0,0).

– Nouvelle recherche avec un rayon plus faible à partir du minimum précedent.

– 3e recherche avec un rayon encore plus faible.

● Rapide mais peu précis, possibilité de minimum locaux.

Page 11: Etude et test des algorithmes d'estimation de mouvement en MPEG

Estimation de mouvement:Méthode 2D-logarithmique

– Recherche sur 5 points à partir du centre à une distance D.

– Déplacement selon le minimum.

– Réduction du rayon de recherche à log D quand le minimum tombe au centre ou sur un coté.

– Minimums locaux

Page 12: Etude et test des algorithmes d'estimation de mouvement en MPEG

Estimation de mouvement:diamond based algorithm

– Recherche du déplacement médian en fonction des blocs connexes.

– Critère sur 9 points disposés en diamant. Déplacement selon le minimum.

– Utilisation d'un deuxième diamant plus petit si minimum au centre.

Page 13: Etude et test des algorithmes d'estimation de mouvement en MPEG

Techniques de block Matching:PMVFAST

– Recherche du déplacement maximum des blocs connexes. Mouvement estimé petit, moyen ou grand.

● Petit: on utilise le petit diamant pour la recherche.● Moyen: on utilise le grand diamant 1 seule itération.● Grand: on utilise le grand diamant:

– Tant que le minimum n'est pas au centre, on se déplace en direction du minimum.

– Quand le minimum est trouvé au centre, deuxième recherche avec le petit diamant.

Page 14: Etude et test des algorithmes d'estimation de mouvement en MPEG

Estimation de mouvement en mpeg-4

● MPEG-1 et 2: block matching sur des blocs réguliers

● MPEG-4: block matching sur des formes quelconques– Segmentation de l'image– Plus adapté aux images réelles

● Gain en compression: 10 %● Gain en qualité visuelle: 100%

Page 15: Etude et test des algorithmes d'estimation de mouvement en MPEG

Comparaison avec/sans segmentation

– Exemple: quadtree● Moins de motion vector: gain en compression● Plus de précision: gain en qualité visuelle

Page 16: Etude et test des algorithmes d'estimation de mouvement en MPEG

Test des implémentations

● But des tests: relation algorithme de block matching - Qualité d'image

● 3 implémentations testées:– Xvid: algorithme PMVFAST– Ffmpeg: méthode 2Dlogarithmique– DivX4: Diamond based algorithm

Page 17: Etude et test des algorithmes d'estimation de mouvement en MPEG

Protocole de test

● Comparaison des images issues des flux encodés, non encodés.

● Permet d'estimer les pertes engendrées par l'encodage.

Page 18: Etude et test des algorithmes d'estimation de mouvement en MPEG

Mise en oeuvre● Outils de test:

– Encodage: transcode, encodage en deux passes– Calcul des différences: PIL (Python Image Library)

● Critère de différences d'images: Moindres carrés sur la luminance:

Page 19: Etude et test des algorithmes d'estimation de mouvement en MPEG

Exemple: Différence entre deux images

Page 20: Etude et test des algorithmes d'estimation de mouvement en MPEG

Moindres carrés: résultats

● Critère des moindres carrés sommé pour toutes les images d'un flux

● Résultats peu pertinents pour les séquences lentes: valeurs proches, pas d'information sur la nature des erreurs.

● Solution: visualiser la répartition des erreurs

Page 21: Etude et test des algorithmes d'estimation de mouvement en MPEG

Répartition des erreurs

● Répartition des erreurs: histogrammes des erreurs

● Somme pour toutes les images du flux

Page 22: Etude et test des algorithmes d'estimation de mouvement en MPEG

Répartition d'erreur: Résultats

● Répartion interessante● Comparaison difficile● Solution: erreur

relative entre les implémentations

Page 23: Etude et test des algorithmes d'estimation de mouvement en MPEG

Comparaison des répartitions d'erreur

● Résultats pertinents● Inversion

petites/grosses erreurs● Différences selon le

type de séquence

Page 24: Etude et test des algorithmes d'estimation de mouvement en MPEG

Interpretation des résultats

● Xvid et PMVFAST– Performant, peu de grosses erreurs

● DivX4: 2Dlog + Quarter pixel– Excellent pour les petites erreurs, mais...

● FFmpeg: Diamond based– Compromis

Page 25: Etude et test des algorithmes d'estimation de mouvement en MPEG

Conclusion

● Beaucoup d'autres tests possibles sur les codecs divx: – Temps d'encodage– CPU au décodage

● Étude MPEG très interessante par sa diversité.● Développement du MPEG4 très rapide.