Vous êtes sur la page 1sur 14

Traitement et Codage Vidéo

CHAPITRE 02 : CODAGE INTRA POUR LES STANDARTS


VIDEOS

Pr. Mohamed Ali Ben Ayed

Ecole Nationale d’Électronique et des Télécommunications de Sfax

Sommaire

I. Techniques élémentaires: MotionJPEG,


II. Principe du codage Intra par prédiction
I. Exemple Pratique
III. Présentation des 9 modes intra directionnels
pour la norme H264/AVC
IV. Codage intra pour la norme H265/HEVC
V. Exercice d’application

1
Motion JPEG (MJPEG)
Norme internationale normalisée par le groupe
JPEG/JPEG2000 en 2002, au même titre que JPEG ou
JPEG2000.
N’exploite pas la redondance temporelle, chaque image
est codée indépendamment des autres.
Encode chaque image source avec (TCD 8x8) pour
MJPEG ou (TOD) pour MJPEG2000.

I I I I

Motion JPEG (MJPEG)


S'avère très utile en studio de montage puisqu’il facilite
les arrêts sur image et l’ajout des effets
cinématographiques
Adapté par la cinéma Numérique (Digital Cinema
Initiative, groupement de studios hollywoodiens: Disney,
Paramount, Sony,..etc)
Performance en terme de débit binaire médiocre
comparé au H264 ( intra only)
Temps d’exécution du codage relativement rapide vu la
complexité réduite de l’algorithme de compression

2
H262/MPEG2 (2003)
L’image initiale (I) est codée sans référence à des
images précédemment codées formant ainsi des points
d’accès pour le décodage de la séquence.
Chaque image est devisée en bloc de 8x8 pixels
On applique la TCD, puis quantification scalaire et enfin
un codeur entropique à l’image source

I P P P P

Performance: 2 à 4 fois en terme de débit binaire par


rapport au MJPEG
5

Codage Intra par prédiction


Exemple: prédiction horizontale
124 123 124 121 123
123 124 125 122 121
121 122 Source
121 120 123
4x4 pixels
122 121 123 124 124 124 123 124 121 123
124 123 124 122 124 123 1 2 -1 -2
source 121 1 0 -1 2

124 123 124 121 123 122 -1 1 2 2

123 123 123 123 123 124 -1 0 -2 0

121 121 121 121 121 Résiduel = source - prédit

122 122 122 122 122


124 124 124 124 124
6

prédit

3
CODAGE INTRA:
ETUDE DE CAS
H264/AVC – MPEG4 [partie 10]

Les modes Intra pour H.264 :

I_PCM : Pas de Prédiction ou de Transformée


Intra 16x16 : Très utile pour le codage des block lisse
Intra 4x4 : Pour les blocks texturés
Intra 8x8 : pour le profile « fidelity range extension (FRExt) »

4
Les modes Intra pour H.264 :
INTRA 16x16: 4 modes de prédiction. Horizontale, verticale, moyenne (DC) et
planaire.

INTRA 4x4: 9 modes de prédiction. C.à.d Outre la prédiction DC, huit modes de
prédiction angulaires sont spécifiés.

Les modes Intra pour H.264 :


INTRA 8x8: 9 modes de prédiction. Comparable au 4x4 juste pour le profile FRext

10

5
Les différents modes
INTRA 4x4
Mode Fonctionnement
Mode 0 (vertical) [A-D] sont extrapolés verticalement
Mode 1 (horizontal) [I-L] sont extrapolés horizontalement
Mode 2 (composante continue) [a-p] sont prédits par la moyenne de [A-D] et [I-L]

Mode 3 (diagonal bas-gauche) [a-p] sont interpolés à un angle de 45º bas-gauche

Mode 4 (diagonal bas-droit) [a-p] sont interpolés à un angle de 45◌º


ْ bas-droit

Mode 5 (vertical-droit) [a-p] sont interpolés à un angle de 22,5º vertical-droit


Mode 6 (horizontal-bas) [a-p] sont interpolés à un angle de 22,5º horizontal-bas

Mode 7 (vertical-gauche) [a-p] sont interpolés à un angle de 22,5º vertical-gauche


Mode 8 (horizontal-haut) [a-p] sont interpolés à un angle de 22,5º horizontal-haut

8
1
6
3
5 4 11
7 0

Prédiction intra 4x4


selon le mode 0 et 1
8
1 Mode 1: Horizontal
6
3
a=b=c=d=I
4
7 0 5 e=f=g=h=J
i=j=k=l=K
m=n=o=p=L

Mode 0: Vertical
a = e = i = m =A
b=f=j=n=B
c = g = k =o = C
d=h=l=p=D

12

6
Prédiction intra 4x4
selon le mode 2
8
1
6
3
5 4
7 0
Mode 2: DC (continue)
M = 128
Si (Top block)
M = (A+B+C+D+2)/4
Si (Left block)
M = (I+J+K+L+2)/4
Si (Top block & Left block)
M = (A+B+C+D+I+J+K+L+4)/8

13

Prédiction intra 4x4


selon le mode 3 et 4
8
1 Mode 3: Diagonal Bas Gauche
6 d = g= j = m = (D+2E+F+2)/4
3
0 5 4 c = f = i = (C+2D+E+2)/4
7
b = e = (B+2C+D+2)/4
a = (A+2B+C+2)/4
h = k = n = (E+2F+G+2)/4
l = o = (F+2G+H+2)/4
P = (G+3H+2)/4

Mode 4: Diagonal Bas Droite


a = f = k = p = (I+2X+A+2)/4
b = g = l = (X+2A+B+2)/4
c = h = (A+2B+C+2)/4
d = (B+2C+D+2)/4
e = j = o = (X+2 I +J+2)/4
i = n = (I+2J +K+2)/4
m = (J+2K+L+2)/4
14

7
Prédiction intra 4x4
selon le mode 5 et 6
8
Mode 5: Vertical Droit
1
6
a = j = (X+A+1)/2; b = k = (A+B+1)/2
3
4
c = l = (B+C+1)/2; d = (C+D+1)/2
5
7 0 e = n = (I+2X+A+2)/4;
f = o = (X+2A+B+2)/4
g = p = (A+2B+C+2)/4; h = (B+2C+D+2)/4
i = (X+2I+J+2)/4 ; M = (I+2J+K+2)/4

Mode 6: Horizontal bas


a =g= (A+B+1)/2; b = h = (B+C+1)/2
c = j = (C+D+1)/2 ; d = k = (D+E+1)/2
l = (E+F+1)/2 ; e = (2B+A+C+2)/4
f = m = (B+2C+D+2)/4
n = (C+2D+E+2)/4
i = o = (D+2E+F+2)/4
p = (E+2F+G+2)/4
15

Prédiction intra 4x4


selon le mode 7 et 8
8
1
6 Mode 7: Vertical Gauche
3
5 4 a = (I+J+1)/2
7 0
b = (2J+I+K+2)/4
c = e = (J+K+1)/2
d = f = (2K+J+L+2)/4
g = i = (K+L+1)/2
h = j = (2L+L+K+2)/4
l = n= m = o = p = k = L

Mode 8: Horizontal Haut


a =g = (X+I+1)/2; b = h = (I+2X+A+2)/4
c = (X+2A+B+2)/4; d = (A+2B+C+2)/4
e = k = (I+J+1)/2; f = l = (X+2I+J+2)/4
i = o = (J+K+1)/2
j = p = (I+2J+K+2)/4
m = (K+L+1)/2; n = (J+2K+L+2)/4
16

8
Chrominance: Codage Intra
Les blocs de chrominance 8x8 correspondant au format 4:2:0, les modes
de prédiction sont similaires à ceux des luminances 16x16.

17

Sélection des modes


Pour coder un macro-bloc de 16x16, l’encodeur H264/AVC doit évaluer suivant
son propre critère de distorsion (non défini par le standard) les modes suivants:
DC
Sélectionner le meilleur partitionnement

PLANE Best
16x16 Best 16x16
H
avec les modes appropriés

P0
. Best
4x4 . Best0 4x4
.
P8
16 fois Somme
Best
Best15 4x4
P0
. Best
. Best0 8x8
8x8 .
P8
4 fois Somme
18
Best
Best3 8x8

9
Prediction Intra pour H265/HEVC
Différentes tailles pour les unités de prédiction (PU) de 4x4
jusqu’à 64x64.
33 modes directionnels, mode planar et un mode DC.
Les modes sont codés en se basant sur les MPM (most
probable modes). Ces modes sont déduits à partir des blocs
voisins.

Modes et directions pour la prediction intra

Prediction Intra pour H265/HEVC


HEVC applique le filtrage d'échantillon dans 2 situations distinctes,
pour améliorer les résultats de la prédiction intra :

1 Le filtrage des échantillons de référence ( Pré-Filtrage )

2 Le filtrage des échantillons prédits ( Post-Filtrage)

Améliorer l'apparence visuelle du bloc de prédiction.

Les artefacts causés par les limites des échantillons


de référence peuvent être considérablement réduits.

10
Prediction Intra pour H265/HEVC
Pré-filtrage

Dans HEVC, le Pré-Filtrage se fait de manière adaptative, en


fonction de la taille du bloc et du mode de prédiction intra :

HEVC utilise un filtre 3-tap [1 2 1] / 4.

Prediction Intra pour H265/HEVC


Pré-filtrage

Blocs 8x8 Blocs 4x4

Blocs
16x16
Pas de filtrage
Blocs Pas
Blocs
de≥filtrage
8x8
32x32

11
Prediction Intra pour H265/HEVC
Pré-filtrage
Deux types de processus de filtrage d'échantillons de référence choisi en
fonction de la taille du bloc et de la continuité des échantillons de référence.

Un Filtrage simple three-tap utilisant Un Filtrage strong utilisant des


deux échantillons de référence voisins. échantillons de référence situant aux
coins.

Prediction Intra pour H265/HEVC


Post-filtrage
Le post-filtrage proposé dans HEVC est utilisé pour lisser les discontinuités
générées le long des limites du bloc en raison de la prédiction intra.

Ce filtre est appliqué sur les échantillons prédits aux limites pour les modes
DC, angulaire 10 et angulaire 26. (only for Luma)

Pixels de réferences

Filtrer par 2-tap filter

Filtrer par 3-tap filter

12
Prediction Intra pour H265/HEVC
Post-filtrage

En cas de mode DC, lorsque le bloc est inférieur à 32x32, les échantillons
de la première ligne et de la première colonne du bloc prédis sont filtrés.

Un filtre 2-tap [3 1] / 4 alimenté par la valeur d'origine et l'échantillon de


référence adjacent est utilisé.

En cas du mode angulaire 10, seuls les échantillons de la première ligne sont
modifiés en ajoutant la moitié de la différence entre l'échantillon de référence
adjacent et l'échantillon de référence supérieur gauche.

Un filtrage similaire est fait pour le mode angulaire 26, mais uniquement
pour la première colonne d'échantillons prédits.

Exercice d’application
Soit le block 4x4 d’une image source représenté par les pixels suivants et ces
avoisinants haut et gauche:
198 190 205 205 200

195 180 210 200 210

195 190 195 205 200

190 200 205 210 195

195 190 190 200 190

1) Lequel des modes suivants: horizontal, vertical, DC qui sera choisi en se


basant sur le métrique de distance SAD?

26

13
Fin

27

14