Algorithme de block-matching

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Consultez la liste des tâches à accomplir en page de discussion.

Ceci est un algorithme de block-matching

Un algorithme de block-matching ((en) Block Matching Algorithm) est une méthode utilisée pour encoder le mouvement dans une séquence vidéo en localisant des blocs similaires entre deux images. En compression vidéo, plusieurs normes vidéo telles que H.264 et MPEG-2 utilisent un algorithme de block-matching dans la partie estimation de mouvement de l'encodage d'une inter-trame.

Dans un encodage vidéo, l'objectif de l'algorithme est de trouver un bloc similaire (bloc cible) au bloc à encoder à partir d'une ou plusieurs images de référence qui peuvent apparaître future ou passée par rapport l'image courante. Il peut être utilisé pour découvrir des redondances temporelles dans une séquence vidéo tel qu'un objet sans mouvement dans une vidéo, ce qui accroît l'efficacité de compression d'une image et celle de la conversion des normes de télévision.

Cet algorithme est utilisé dans différents domaines comme la compression, la stéréoscopie, le suivi d’objets et la stabilisation. Il s’attaque aux problèmes d’estimation des mouvements au niveau local.

Critères d'évaluation métrique

Pour définir le meilleur bloc cible, l'algorithme se base sur des critères d'évaluation métrique qui mesurent la différence de contenu entre les deux blocs et les compare avec tous les autres blocs cibles potentiels. Voici des exemples de critères:

Les algorithmes de block-matching

Pour trouver un bloc cible dans une image de référence, l'algorithme parcourt l'image bloc par bloc dans un certain ordre. De nombreuses manières existent et chacune possède généralement un ordre de parcours différent. Par exemple, le Cross Search Algorithm commence par le bloc de l'image de référence qui se situe à la même position que celui de l'image courante et identifie le meilleur des quatre points voisins (qui correspondent au point d'une croix en X) à l'aide du critère prédéfini puis il se place sur ce point et recommence la recherche sur ses quatre points voisins avec un plus grand degré de précision. À partir de ce nouveau point, il recommence la recherche afin d'augmenter la précision du vecteur. Le bloc cible correspond au bloc pointé par le vecteur de mouvement ayant les mêmes dimensions que le bloc d'origine. En général, la précision du vecteur est définie jusqu'au quart de pixel[1].

Voici une liste des algorithmes d'estimation de mouvement utilisés dans les normes de codage vidéo.

  • Cross Search Algorithm (CSA)
  • Full Search Algorithm (FSA)
  • Spiral Search
  • Three Step Search
  • Two Dimensional Logarithmic Search (TDL)
  • Binary Search (BS)
  • Four Step Search (FSS)
  • Orthogonal Search Algorithm (OSA)
  • Hierarchical Search Algorithm (HSA)
  • Diamond Search (DS)

Références

  1. M. GHANBARI, « The Cross-Search Algorithm for Motion Estimation »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), IEEE, (consulté le ).
  • (en) E. G. Richardson, H.264 and MPEG-4 Video Compression : Video Coding for Next-generation Multimedia, Chichester, John Wiley & Sons, , 281 p. (ISBN 978-0-470-84837-1)
  • ThomasWiegand, Gary J. Sullivan, « “Overview of the H.264/AVC Video Coding Standard », sur ip.hhi.de, IEEE, (consulté le )
  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Block-matching algorithm » (voir la liste des auteurs).

Annexes

Articles connexes

  • H.264
  • Inter-trame

Liens externes

  • (en) tutoriels H.264
  • icône décorative Portail des télécommunications
  • icône décorative Portail de l’imagerie numérique