Block-matching, MPEG
Transcription
Block-matching, MPEG
Block-matching, MPEG Guillaume Coppens, Cléa Martinez Mars 2016 1 Plan 1. 2. 3. 4. Introduction 1.1 Pourquoi le MPEG ? 1.2 Redondance spatiale 1.3 Redondance temporelle Block -matching 2.1 Principe du block-matching 2.2 Algorithmes de recherche de bloc MPEG 3.1 Images I, P, B 3.2 GOP (Group of Pictures) H-264 2 1. Introduction Pourquoi le MPEG ? Vidéo : succession d’images mais on ne peut pas se permettre de compresser chaque image une à une. Beaucoup de redondances dans une vidéo : → On sait déjà comment exploiter les redondances spatiales avec la compression d’image (ex : JPEG). → On veut pouvoir exploiter les redondances temporelles MPEG : Motion Picture Expert Group (1988). Format MPEG-2 (1994) 3 Redondance spatiale : retour sur la compression JPEG Différences avec JPEG : → mêmes tables de quantification pour luminance et chrominance → table de quantification peut changer pour chaque bloc 4 Redondance temporelle et éléments d’une séquence vidéo 5 2. Principe du block matching Paramètres : 1. 2. 3. fonction de distorsion zone de recherche taille d’un bloc à analyser Sortie : 1. 2. vecteur de mouvement différence entre deux macro-blocs 6 Fonctions de distorsions Mean Absolute Difference MAD = ● demande peu de calculs Mean Squared Error MSE = ● plus proche de notre vision : pixel (i, j) image courante : pixel (i, j) image de référence N : taille du bloc 7 Zone de recherche : W w << 1 : mauvaise qualité de prédiction lors de déplacements rapides w >> 1 : meilleur qualité contre une plus grande complexité temporelle Dans le format MPEG : W = 16 pixels ● ● ● Taille du bloc à analyser ● 8x8 pour le format MPEG 8 Méthodes de parcours de blocs Les principaux : ● ● ● Full Search (FS) Three Step Search (TSS) 2D Logarithmic Search (2DLS) Autres parcours : ● ● ● Four Step Search (FSS) Simple and Efficient Search (SES) Adaptative Rood Pattern Search (ARPS) 9 Three Step Search (TTS) , Koga et. al.( 1981) Démarre de la position où il n’y a pas de déplacements Le pas initial d entre les points de recherche vaut W/2 9 points sont testés, le point d'erreur minimale est choisis comme le centre de l’étape suivante. L’étape suivante s’effectue avec un pas de d/2 On s'arrête lorsque le pas vaut 1 10 2D Logarithmic Search (2DLS) ain et. al. (1981) Démarre de la position où il n’y a pas de déplacements Le pas initial entre les points de recherche vaut W/2 5 points en forme de croix sont utilisés à chaque étape la taille entre les points de la croix est réduite de moitié si le point d’erreur minimale se trouve sur le centre, sinon il reste inchangé. On arrête lorsque le pas vaut 1 11 Comparatif des algorithmes de recherche Nombre de points de recherche : Cas où W = 7 ➢ ➢ ➢ Full Search Three Step Search 2D Logarithmic Search (2*W+1)^2 = 225 1 + 8*log2(d+1) = 17 (on ne peut pas déterminer le nombre de points) ○ ○ nombre minimal : 13 nombre maximal : 26 12 Compression MPEG Le flux de sortie MPEG possède 3 types d’images : ➢ ➢ ➢ Images I ou Intra frames (images intracodées) Images P ou Predictive frames Images B ou Bidirectional frames 13 I Frames ➢ ➢ ➢ ➢ ➢ Image complète codée en JPEG Utilisée notamment lors d’un changement de scène Une image I toutes les 12 images environ (2 images I par seconde) Permet d’éviter la propagation d’erreur Permettent la lecture en avance rapide . 14 P frames : images prédictives ➢ ➢ Codées par rapport à l’image précédente, différence bloc par bloc Différence entre les deux images codée spatialement Utile pour les redondances temporelles 15 Syntaxe d’une image P : Problèmes: ➢ ➢ si erreur lors du codage d’une image P, toutes les images P suivantes seront erronées si perte d’image I, aucune image P ne pourra être décodée 16 B frames On ne peut pas tout prédire, parfois il est plus efficace de chercher les données dans l’image suivante. ➢ ➢ codées par rapport à deux images (P ou I, jamais B) ne propagent pas leurs propres erreurs 17 Codage d’une image bi-directionnelle 18 GOP : Group of pictures 19 Taux de compression Si l’on utilise un GOP de la forme IBBP plutôt que IIII : 60% de bits en moins Taux de compression : ➢ ➢ ➢ I frame : 7:1 P frame : 20:1 B frame : 50:1 20 H264 vs MPEG-2 H264 utilise jusqu’à 32 images pour construire une image prédictive (contre 2 pour MPEG-2) Codage arithmétique pour H264, Huffman pour MPEG-2 La taille des blocs est variable : de 4x4 à 16x16 pixels Précision jusqu’au quart de pixel pour H264 Environ 2 fois plus efficace au niveau de la compression 21 Sources http://screspin.free.fr/mpeg/ http://profesores.fi-b.unam. mx/maixx/Biblioteca/Librero_Telecom/BlockMatchingAlgorithmsForMotionEstim ation.PDF http://serv.yanchick.org/Books/dsp_books/Video%20Processing%20and% 20Communication/Chapter%206_2D%20motion%20estimation.pdf https://trac.ffmpeg.org/wiki/Debug/MacroblocksAndMotionVectors 22 Un exemple à l’aide du debug de ffmpeg 23