Polytech S4 Multimedia:TP2 compression-Image Video

De Wiki de Romain RUDIGER
Aller à : navigation, rechercher

Image & Vidéo

Image : Quantification MIC, dithering, half-toning

  • L'image Bird sur 2 bits par pixel n'est pas agréable puisqu'il y a un faible nombre de niveaux de gris (4 ici). Le dithering est « bluffant », puisqu'il est capable de « recréer » les dégradés sans pour autant supprimer les contours « net ». On a donc l'impression que les dégradés sont plus naturels grâce à une répartition des valeurs en points plus ou moins rapprochés par effet de bruit. Cela donne donc une illusion de dégradés, on a l'impression que l'image est codée sur plus de niveaux de gris.
  • La technique d'impression Half-tone, reprend ce même principe mais en utilisant des points plus ou moins gros tout en gardant le même échantillonnage.
  • Conclusion : on a une économie de place tout en gardant une bonne qualité visuelle avec le MIC+dithering. Le half-tone permet lui une économie d'encre mais surtout de pouvoir « imprimer » du gris avec seulement du noir.

Image : Courbes R(D) pour MIC vs MICD vs JPEG vs JPEG2000

  • Résultats :

Polytech S4 Multimedia TP2 compression.JPG

Analyse des données : Nous observons deux classes :

  • C1 : JPEG, JPEG2000
  • C2 : MIC, MICD ppg, MICD pp4

L'amélioration entre les différentes techniques est logique, un mic prédictif sur un voisin est meilleur que sans prédiction mais un peut moins bon qu'avec une prédiction sur 4 voisins. La classe 1 utilise le domaine fréquentiel, pour le même bit rate, le résultat obtenu est bien meilleur.

JPEG2000 et JPG permettent vraiment de créer des images de très faible taille (0,2 bit/pixel) tout en ayant une qualité visuelle tout à fait acceptable.


Image : Erreurs de transmission

  • Partie intéressante, puisque nous souhaitons réduire la taille des images en particulier pour le Web, mais aussi d'être capable d'afficher une image même si elle est partiellement téléchargée ou endommagé lors de la transmission. Voyons ce qui se passe pour le JPEG.
  • A chaque erreur de transmission, tous les pixels suivants sont détériorés puisque la composante continue est codée par sa différence avec la valeur précédente. Parfois l'image n'est même pas décodable.

Vidéo : Motion estimation

  • Interprétation des différentes colonnes de chiffres : • original : variance de l'image brute, il y a donc un grand nombre de valeurs différentes.
  • Fd : Frame Difference : variance du résultat de la différence entre l'image actuelle et celle précédente.
  • MCFD : « Mouvement Compensation Frame Difference » : variance de la différence entre l'image actuelle estimée a partir des informations de vecteurs de mouvements (préalablement calculés) et celle précédente.
  • Entropie : C'est l'entropie donc la quantité d'information apporté par les vecteurs de mouvements inter images. Plus l'entropie est faible plus l'algorithme de compression sera efficace. Finallement plus il y a de mouvements, plus il y aura d'informations à coder donc le taux de compression sera plus faible.
  • Comparaison des résultats : Sur une estimation multi-résolution, le calcul des vecteurs de mouvements va se faire sdur une recherche pyramidale. Nous partons d'une première fenêtre de recherche pour la première estimation, ensuite avec une taille de fenêtre plus petite nous réestimons le mouvement de façon plus précise. Par exemple sur une estimation multi-résolution de niveau 2, il y aura deux niveaux de recherche différents, de 64*64 à 16*16. L'entropie est sensiblement plus faible avec cette augmentation de précision du mouvement.
  • Estimation du mouvement :
  • Qualité :
  • Le gazon est très mal estimé, le résultat est identique avec une simple différence puisqu'il est difficle d'estimer le déplacement d'un bloc de pelouse.
  • La voiture est bien estimé dans son ensemble, les portières ne sont presque plus visibles (donc les vecteurs de mouvements ont bien estimé le déplacement), surtout les éléments verticaux. Les roues sont bien estimées sauf la partie de l'enjoliver,
  • Le bâtiment : la variance du mcfd pour cette partie, est moins élevée par rapport à la fd simple. Certaines parties comme les vitres sont plus difficilement estimées.
  • Analyse du contenu : en prenant en exemple l'étude dynamique du mouvement de la voiture : l'estimation du mouvement sera de bonne qualité, l'analyse sera donc correcte.
  • Compression : l'estimation du mouvement permet de trouver les ressemblances entre les blocs, l'important c'est de trouver un bloc correspondant au mieux pour que la différence faite ensuite soit faible.
  • La pelouse :
  • L'image de différence : En MICD la pelouse sera facile a compresser car elle est uniforme sur l'image mcfd
  • Les vecteurs de mouvements sur une texture type pelouse sont très difficilement bien estimés (cela part dans tous les sens puisque des correspondances sont trouvées partout), il faut donc les forcer à avoir des vecteurs de mouvements semblables (tous dans le même sens) pour que le MICD soit d'autant plus efficace.

Conclusion sur la partie mouvement : les éléments atypique comme une voiture qui est un objet dynamique en soit offrira une analyse de mouvement efficace, par contre la compression moins efficace. Tandis que pour une texture type pelouse (uniforme) son estimation de champ de mouvements est difficilement calculable mais offrira un bon taux de compression.

Vidéo : Encodeurs / Décodeurs

  • Caractéristiques :
  • Débit moyen mpeg : 627/5 = 125,4 ko/s
  • Débit moyen YUV : 18534,4/5 = 3 706ko/s
  • Frame dimensions : 240x352
  • Sequence length : 150 frames
  • Avec une compression IPB3, un débit de 128kbit/s :
  • séquence : I1 B1 B2 P1 B3 B4 P2 B5 B6 P3 B7 B8 : IPB3 (3 P entre chaque Intra)
  • I : image n'ayant aucune interpolation temporelle. Image complete en couleur.
  • P : image prédictive à partir de l'image I précédente. Sur cette vidéo, il y a peu de différence par rapport a l'image Intra précédente.
  • B : image prédictive bidirectionnelle sur I et P. La répartition des blocs dans une B entre I et P est faite de façon à optimiser la compression. On voit que les différences dans une B ont une entropie beaucoup plus faible que dans une image P ce qui démontre bien l'intérêt de ce type d'image.
  • Lorsque l'on introduit des erreurs, on constate bien une dégradation de certaine parties de la vidéo. Le problème avec un codage IPB c'est que lorsque une erreur intervient sur une image P elle sera répercutée dans les images B qui utilisent P.