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