You are on page 1of 11

Plan

Î Introduction
Î Étapes de compression
Schéma de compression zCodage du résiduel
zCalcul du résiduel
vidéo zAutres étapes
Î Conclusion
Î Questions
G. Laroche 04/01/2006

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Plan Introduction – Qu’est ce qu’un codec vidéo?

Î Introduction
Î Ensemble d’outils.
Î Étapes de compression
Î Entrée : séquences vidéo.
zCodage du résiduel
zCalcul du résiduel Î Sortie : bitstream.
zAutres étapes Î Seul le décodeur est standardisé :
Î Conclusion zDoit pouvoir décoder tout bitstream standard.
Î Questions zEt doit rendre une qualité équivalente aux autres
décodeurs standardisés.

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Introduction – A quoi sert un codec vidéo? Introduction – Instituts et organisation


Î Deux instituts de normalisation: ITU – ISO

ITU-T ISO-IEC
Î Compresser un signal dont on connaît les
caractéristiques, les redondances spatiales et MPEG-1 1991
H.262 = MPEG-2 1995
temporelles (≠ de ZIP). H.261 1993

Î Applications vidéo de plus en plus nombreuses H.263 1998 MPEG-4 1999


(TV, Cinéma, DVD, Visio). H.263+ 2000

H.264/MPEG-4 AVC 2003 SVC


Î Permet une augmentation des qualités et
résolutions. H.264+/JSVC 2006
H.265 2010
Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Introduction – Évaluation Profil

Î Évaluation d’une technique de compression


zCodage avec perte: courbe débit-distorsion (R-D) Î Profil :
Evaluation Objective Evaluation Subjective zEnsemble d’outils liés à une application.
Î Exemple : H.264 7 profils différents :
35 6
Average PSNR (dB)

Visual Quality

34 5

33 4
zBaseline : Application mobile, visiophonie.
32 3
zMain : Streaming/broadcast.
31 2
zExtended : Mobile video services.
1
z High :
Fidelity Range Extension,
30

z High 10
29
0 100 200 300 400 500 600 700 800 900
0
0 1 2 3 4 5 6 7 8
TVHD, Digital Cinema,
Bit-rate (kbits/s) Bit-rate (Mbits/s) z High 4:2:2 :
Blue Ray/HDDVD.
z High 4:4:4 :
Recommandation normalisée (ITU)

⇒ Evaluation Objective moins fiable/Subjective très coûteuse


Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Profil Plan

R-D Evaluation Objective


Î Introduction
45
Î Étapes de compression
40
zCodage du résiduel
35 zCalcul du résiduel
zAutres étapes
PSNR

HIGH
30
BASELINE
25 Î Conclusion
20 Î Questions
15
0,00 100,00 200,00 300,00 400,00 500,00 600,00 700,00
Bit-rate (kbits/s)

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Schéma Global Schéma Global

Intra prediction Intra prediction

Input Inter/Intra Input Inter/Intra


substract decision DCT Quant substract decision DCT Quant
signal signal

Quant-1 Quant-1
Coefficients Coefficients
DCT-1 lossless Bitstream DCT-1 lossless Bitstream
encoding encoding

Motion Frame Deblocking Motion Frame Deblocking


compensation memories Overlap smoothing compensation memories Overlap smoothing

Motion Motion vectors Motion Motion vectors


estimation prediction estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Transformations - Généralités Transformations - Généralités

Î Entropie : valeur moyenne de la quantité


d’information associée à une variable aléatoire.
Î Pourquoi ça marche ?
Î Objectif : dé-corréler le signal.
Î Pourquoi ? Codage entropique + efficace.
Corrélation spatiale dans l’image
Domaine pixel « un pixel ressemble souvent à son (ses) voisin(s) »

Équiprobabilité des valeurs sur [0 ; 255]


Entropie en
+ d’énergie dans les basses fréquences
Énergie concentrée sur les basses
chute libre !
fréquences, proba faible sur les grandes
amplitudes dans les hautes fréquences

Domaine transformé

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Transformations - DCT Transformations - DCT

Î Transformée fréquentielle Î Formule :

Î Implémentation simple

Î Algorithmes rapides

Î Efficace Î Dans la pratique : DCT(I) = P-1IP

⇒ Utilisée dans JPEG, MPEG-1, MPEG-2...

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Transformations - DCT Exemple DCT

Î I est une combinaison linéaire des éléments de la base


suivante :
Î I:

Î DCT(i) :

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Transformation DCT H.264 Transformation DWT

Î En pratique : Î Discrete Wavelet Transform : utilisé dans le


standard JPEG2000.
⎡1 1 1 1 ⎤⎡ x00 x01 x02 x03 ⎤⎡1 2 1 1 ⎤
⎢2 1 −1 − 2⎥⎢ x x11 x12 x13 ⎥⎥⎢1 1 −1 − 2⎥
⎢ ⎥⎢ 10 ⎢ ⎥ Î Pas utilisé (pour l’instant) dans les codeurs
⎢1 −1 −1 1 ⎥⎢x20 x21 x22 x23 ⎥⎢1 −1 −1 2 ⎥
⎢ ⎥⎢ ⎥⎢ ⎥ vidéo STANDARD.
⎣1 − 2 2 −1⎦⎣ x30 x31 x32 x33 ⎦⎣1 − 2 1 −1⎦

Î Permet un scalabilité en résolution.


⇒ DCT H.264 décalages et additions

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Transformation DWT Schéma Global

Intra prediction
Î Discrete Wavelet Transform : utilisé dans le
Input Inter/Intra
standard JPEG2000. substract decision DCT Quant
signal

Quant-1
Î Pas utilisé (pour l’instant) dans les codeurs Coefficients
DCT-1 lossless Bitstream
vidéo STANDARD. encoding

Motion Frame Deblocking


Î Permet un scalabilité en résolution. compensation memories Overlap smoothing

⇒ Outil pour la scalabilité


Motion Motion vectors
estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Introduction de pertes - quantification Exemple quantification

Î Matrice de quantification en fonction du “pas de


quantification”. Î DCT(i) :

Î Division entière des coefficients de la matrice DCT par


les coefficients de la matrice de quantification.

Î Objectif : réduire l’alphabet de la matrice DCT.


Î Q(DCT(i)) :
⇒ Entraîne une perte de données.

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Schéma Global Codage entropique

Intra prediction

Input
substract
Inter/Intra
DCT Quant
Î Suite à la quantification on a beaucoup de
decision
signal
valeurs proches de 0.
Quant-1
Coefficients
DCT-1 lossless Bitstream Î Le codage entropique va permettre de réduire la
encoding
quantité d’information.
Motion Frame Deblocking
compensation memories Overlap smoothing
Î 2 types de codage:
zVariable Length Coding.
zCodage Arithmétique.
Motion Motion vectors
estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Codage entropique – VLC Codage entropique - Huffman (1952)


(Variable Length Coding)

Î Longueur d’une Nb de valeurs prises par


les symboles 0 B (p = 0.25)
séquence donnée BC (p = 0.45)
N −1 0 C (p = 0.2)
L = Nb _ symboles * ∑ pi .li
(bits) : 1
Nb de bits attribués 0 D (p = 0.15)
i =0 à la valeur i 1 1 DE (p = 0.27)
1 E (p = 0.12) ADE (p = 0.55)
Î Entropie de cette séquence 0 A (p = 0.28)
(bits/symbole): Probabilité de la valeur i

h = − ∑ pi . log 2 ( pi )
A = 10 B = 00 C = 01 D = 110 E = 111
i
Î Codage de Huffman (1952) = optimal au sens de l’entropie(bits/symbole):

⇒ On attribue -[log2(pi)] bits au symbole i


Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Le RLC … Zig-zag scanning Codage entropique - RLC+VLC

DC

Séquence : 0004000000-300000000101001-3

(3,4) (6,-3) (8,1) (1,1) (2,1) (0,-3)

Ordre de parcours des


Matrice (N,N) → Vecteur (NxN,1)
coefficients DCT 111110000101111101000011110000100111010100010001
quantifiés

Î Balayage par ordre croissant des fréquences Î Chaque couple codé par l’algorithme de Huffman.
spatiales. ⇒ plus la fréquence d’apparition d’un symbole est
forte, plus la chaîne est courte.
⇒ RLC efficace
Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Codage Arithmétique - IBM, début 80 ’s Codage Arithmétique - IBM, début 80 ’s

Î Limite du codage de Huffman : nb de bits entier par 1/2


0 7/8 1
symbole.
Î Ex: pA = 90% ⇒ A codé sur 1 bit au lieu de 0.15 bit (6 A B C
fois trop).
1/2 11/16 53/64 7/8
Î Codage arithmétique : on code une suite de symboles
par un intervalle en virgule flottante sur [0,1[. A B C

Exemple 1/2 19/32 85/128 11/16

A (p = 0.500) • On veut transmettre BAB A B C


Symboles : B (p = 0.375) • Probabilités connues du codeur x ∈ ]19/32 ; 85/128[
C (p = 0.125) et du décodeur
Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Codage Arithmétique - IBM, début 80 ’s Schéma Global

Intra prediction
Î On code 19/32 ⇒ 5 bits.
Input Inter/Intra
Î Au décodage on connaît la table de probabilité. substract decision DCT Quant
signal
Î On a : Quant-1
z 1/2 > 19/32 > 7/8 ⇒ premier caractère est B Coefficients
z(19/32-1/2)/(intervalle de B) = 3/32/(7/8-1/2) = 0.25 DCT-1 lossless Bitstream
z0 > 0.25 > 1/2 ⇒ 2ième caractère est A encoding
zEtc…
Motion Frame Deblocking
zLa chaîne est donc BAB
compensation memories Overlap smoothing

Motion Motion vectors


estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Schéma Global JPEG Plan

Intra prediction
Î Introduction
Input Inter/Intra
signal
substract decision DCT Quant Î Étapes de compression
zCodage du résiduel
Quant-1
zCalcul du résiduel
Coefficients
DCT-1 lossless Bitstream
zAutres étapes
encoding Î Conclusion
Motion Frame Deblocking
Î Questions
compensation memories Overlap smoothing

Motion Motion vectors


estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Résiduel ? Schéma Global

Î Recherche d’un prédicteur à partir de l’information Intra prediction

déjà connue. Input Inter/Intra


substract decision DCT Quant
signal

Quant-1
Î Puis codage de la différence entre le prédicteur et le
Coefficients
bloc de départ. DCT-1 lossless Bitstream
e( x, y ) = p( x, y ) − pˆ ( x, y ) encoding

Î Et inversion au décodage. Motion Frame Deblocking


p( x, y ) = pˆ ( x, y ) + e( x, y ) compensation memories Overlap smoothing

Motion Motion vectors


estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Redondances temporelles Redondances temporelles

Î Compression d’image fixe : redondance spatiale.

Î Compression d’image vidéo : redondance spatiale et


temporelle.

Î Entre 2 images successives, peu de différences. Image 1 (t0) Image 2 (t0+40 ms)
⇒ il doit y avoir moyen de déduire l’une de l ’autre...

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Image Type Temporel - Schémas prédictifs

Î I : (INTRA) Codage uniquement spatial.


Équivalent à JPEG.

Î P : (PREDICTED) Codage temporel, en


fonction d'une image précédente.
Î On prédit une image par rapport à une (plusieurs).
autre(s) de référence ; on code la ≠.
Î B : (BIDIRECTIONAL) Codage temporel, en
fonction de 2 images. Î Ex: images P et B.
⇒ Débit(I)>Débit(P)>Débit(B) Î Suppose une boucle de décodage dans le codeur.

Recherche & Développement Septembre 2005


Î Et qu’une image soit codée en Intra (I).
Recherche & Développement Septembre 2005
Estimation de mouvement – nécessaire ? Le block matching

• Très faible erreur Î Principe :


de prédiction z Mise en correspondance par minimisation de la MSE sur des
Î Zone immobile : blocs de taille fixe.
• Skipping
Î Avantages :
• Mouvement trop rapide z Pas de segmentation à transmettre.
z Simplicité.
Î Zone en mouvement : pour l ’œil z Bonne compatibilité avec le codage spatial (block based).
• Forte quantification

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Block matching - full search No


n
Compensation de mouvement - Intérêt
no
r ma
Î Principe : tif
zMise en correspondance par minimisation d’une fonction coût
sur des blocs de taille fixe.

(i,j) Axe temporel


V

(k,l)

Iref(n-1) Icur(n)

zPour chaque bloc B[i][j] centré en (i,j), recherche dans l’image de


référence du bloc B[k][l] lui ressemblant le plus.
zLe vecteur est V(B[i][j]) = (i-k, j-l).
t0-t1 Compensation de
mouvement entre t0 & t1

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Motion Block Shapes Sub-Pixel Motion Prediction

Î Anciens codeurs : bloc 8x8


Î H.264 : Î Pourquoi ?:
zMouvement non pixelique.
z4 modes principaux pour la compensation de mouvement.
16x16 16x8 8x16 8x8 zEngendre plus de détails.

Î Estimation au pixel
entier, au ½ et au ¼ de
zEn mode 8x8, un bloc peut être divisé. pixel
8x8 8x4 4x8 4x4

⇒ mise en compétition
Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Schéma Global Prédiction Intra

Intra prediction
BUT : Exploiter la redondance spatiale.
Input Inter/Intra
substract decision DCT Quant
signal
Î H.263 : Prédiction domaine DCT
Quant-1
zBloc 8x8 : 3 modes
Coefficients
DCT-1 lossless Bitstream
encoding
Î H.264 : Prédiction domaine pixel
Motion Frame Deblocking zBloc 4x4 : 9 modes
compensation memories Overlap smoothing zBloc 16x16 : 4 modes
zBloc 8x8 (high) : 9 modes

Motion Motion vectors ⇒ H.264 plus efficace que H.263 et JPEG2000


estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Prediction Intra 16x16 H.264 Plan

Î Le macrobloc est prédit en fonction de la ligne du haut


et la colonne de gauche.
Î Introduction
Î 4 modes de prédiction : Î Étapes de compression
zDC prediction zCodage du résiduel
zHorizontal prediction
zVertical prediction zCalcul du résiduel
zPlane prediction zAutres étapes
Î Conclusion
Î Questions

⇒ mise en compétition

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Schéma Global Temporel - Codage des vecteurs !

Intra prediction

Input Inter/Intra
signal
substract decision DCT Quant Î En général:
zLes vecteurs sont codés sans perte
Quant-1 zMVx et MVy séparément
Coefficients zMVx et MVy sont codés à l’aide d’un prédicteur qui
DCT-1 lossless Bitstream est la médiane des vecteurs voisins déjà
encoding enregistrés.

Motion Frame Deblocking


Overlap smoothing
Résiduel VM = VM − Médian ( a , b , c ) b c
compensation memories

Motion Motion vectors a VM


estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
Schéma Global Deblocking filter

Intra prediction
Î Pourquoi?
Input Inter/Intra
substract decision DCT Quant zAmélioration de la qualité visuelle.
signal
zGommage des effets de bloc.
Quant-1 zCompensation de mouvement plus efficace.
Coefficients
DCT-1 lossless Bitstream
Î Comment?
encoding zDans la boucle de compensation de mouvement.
z“Moyenne pondérée” des pixels en bordure de bloc.
Motion Frame Deblocking zOrganisé par filtre.
compensation memories Overlap smoothing zChoix des filtres en fonction des caractéristiques des
blocs.

Motion Motion vectors


estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Deblocking filter Schéma Global

Intra prediction

Input Inter/Intra
substract decision DCT Quant
signal

Quant-1
Coefficients
DCT-1 lossless Bitstream
encoding

Motion Frame Deblocking


compensation memories Overlap smoothing

⇒ Beaucoup de tests, clips, très coûteux, très efficace. Motion Motion vectors
estimation prediction

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

Inter/Intra decision Conclusion


No
n
no
rm
Î Mise en compétition de tous les modes possibles. at Î Compression toujours nécessaire.
if

Î Minimisation d’une fonction coût respectant : Î Exploitation des redondances spatiales et


zLa qualité temporelles.
zLe bit-rate

Î Schéma de codage vidéo calqué sur celui du


J = D + λR codage d'image.

Î L’enjeu des prochaines années : HD,


Distortion (qualité) Rate (bit-rate) consommation mobile, la vidéo 3D.

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005
La bibliographie Chiffres et Résultats

Î Jean-Alain Hernandez,René Joly, Les normes et les standards


du multimédia, Dunod 2000. Î Un film de 1h30 :
z 25 Go non compressé.
z 650 Mo en MPEG4.
Î Compression d’images fixes et animées JPEG et MPEG, z 350 Mo en H.264.
conférence ENST Bretagne 2003. z 175 Mo en H.265 soit 4 films sur un CD de 700 Mo

Î T. Wiegand, G.J. Sullivan, Overview of the H.264/AVC Video


Coding Standard, IEEE 2003.

Recherche & Développement Septembre 2005 Recherche & Développement Septembre 2005

You might also like