07/02/2021
Codage Vidéo et Transmission
Multimédia
Chapitre I: Introduction Vidéo Numérique
Pr. Mohamed Ali Ben Ayed
Ecole Nationale d’Électronique et des Télécommunications de Sfax
Sommaire
Propriétés du SVH :
Physiologie de la rétine
Fonction de sensibilité au contraste
Expérience de weber
Propriétés temporelles de la vision
Principe de la vidéo analogique
Compression et codage vidéo
Nécessité de la compression vidéo
Les modules de compression pour les codeurs vidéo sans
prédiction
Compression Vidéo numérique avec prédiction
Redondances temporelles et spatiales
Types du codage image (frame)
Ordre du codage
Mesures de distorsion et évaluation des normes
2
ENET’COM
1
07/02/2021
SVH et la Compression vidéo
Monde
réel Acquisition Affichage
Traitement
4-D
Chaîne Complète du Traitement vidéo
SVH et la Compression d’Images
2
07/02/2021
SVH et la Compression d’Images
Caractéristiques du SVH
L’échantillonnage des signaux optiques à travers les cellules
photosensibles : les cônes et les bâtonnets
Les bâtonnets ( 100 millions) sont sensitives pour des bas niveaux
de luminosité et deviennent rapidement saturées
Les cônes ( 7 millions) sont classifiés comme L-, M-, S-cônes tout
dépend de leurs sensibilité au lent, moyen et cours ondes
respectivement
Pour l’instant, il n’existe pas un consensus réel sur leur spectre de
sensibilité
SVH et la Compression d’Images
0.8
0.6
0.4
0.2
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Fréquence Spatiale Normalisée
La Fonction de Sensibilité au Contraste (FSC)
6
3
07/02/2021
Luminosité & brillance
La Luminosité d’un objet est indépendante de la luminosité des objets
au voisinage.
La relation entre la brillance et la luminosité est tirée à partir des
expériences réalisées par Weber.
∆ I
I
0,04
50 200 I
Propriétés temporelle de la vision
Réfère au comportement du SVH quand des images à variation
temporelle sont considérées.
Durée critique (Critical duration:Bloch’s law): pour des
conditions de luminance moyenne la durée d’un flash doit être
envièrent 15 ms pour qu’il soit aperçut par le SVH et même plus
pour une lumière assez faible.
Fréquence de fusion critique (Critical fusion frequency): la
perception d’un flash de 50 à 60 Hz est une lumière continue.
15 ms 20 ms
4
07/02/2021
La vidéo
La vidéo est une succession d’images animées.
Le principe fondamental de la vidéo est que l’oeil humain a la
possibilité de retenir pendant un certain temps (~20 ms) toute
image imprimée sur la rétine.
Il suffit donc de faire défiler un nombre suffisant d'images par
seconde, pour que l’œil ne se rende pas compte qu’il s’agit
d’images distinctes.
Il existe deux grandes familles de systèmes vidéo : les systèmes
vidéo analogiques et les systèmes vidéo numériques.
Principe de la vidéo analogique
Les paramètres précis de ce balayage varient d’un pays à l’autre,
mais deux grandes familles existent :
En Europe le système PAL/SECAM (Phase Alternating Line /
SEquentiel Couleur Avec Mémoire). Ce système utilise 625 lignes,
un rapport vertical/horizontal de 4/3 et un débit de 25 images/s.
En Amérique et au Japon le système NTSC (National Television
Standards Committee), on a seulement 525 lignes et un débit de 30
images/s.
10
5
07/02/2021
La vidéo numérique
La vidéo numérique est tout simplement une suite d’images
formées d’une matrice de pixels.
Pour obtenir des images en couleur, il faut utiliser au moins 8 bits
par pixel/ couleur, ce qui correspond à 256 niveaux/couleur.
En fait, avec 8 bits par pixel (bpp), on obtient de la vidéo
numérique noir et blanc de haute qualité.
Pour la vidéo numérique couleur, on utilise 8 bits pour chaque
couleur RVB, soit donc 24 bits par pixel, ce qui correspond à
environ 16,8 millions de couleurs.
Deux type de codage et transmission vidéo
Vidéo itérative dont le principe de balayage utilisé est presque le même
que celui de la vidéo analogique : (25~30) f/s ex: SD= 483i, HD=720i
ou 1080i
Vidéo progressive: 60 f/s ex: HD= 720p, 1080p 11
Résolution Spatial des vidéos Numériques
QCIF (120X160)
416 720 1280 1980 4096
WQVGA[D]
240
SD (300KP)[C]
483
720 HD (1MP) [E]
1080 FULL HD (2MP) [B]
Ultra HD-4K (8MP) [A]
2160
• Advanced Television Systems Committee (ATSC) standards 12
• jusqu’à 8k: 7680-4320
6
07/02/2021
L’hiérarchie des données
dans le flux vidéo
13
Redondance spatiale et
temporelle
Codage par block
14
7
07/02/2021
Nécessité de la compression
vidéo
Une vidéo brut de résolution HD (1980x1080)
pixels en mode progressive nécessite :
Plus que 3 Gbits/sec pour une transmission temps
réelle !!
Plus que 23 GO pour stockage d’une durée de 1 mn !!
Compression et Codage
15
ENET’COM
Compression video
avec perte / sans perte
Une vidéo peut-être compressée efficacement sans et avec pertes
par la réduction de certaines redondances qu’elles contiennent.
Compression sans perte: l’information reconstruite par le décodeur
est une copie identique de l’information originale.
=> faibles taux de compression insuffisants pour certaines applications.
⇒ la compression avec perte s’avère nécessaire pour atteindre des
taux de compression plus importants capables de répondre aux
exigences de ces applications.
Des taux de compression élevés sont donc atteints au détriment
d’une perte de la qualité visuelle.
16
8
07/02/2021
Modules pour codage vidéo
sans prédiction
Les modules de base pour les systèmes actuels de compression
et décompression de vidéo numériques est illustrée par la Figure
suivante:
ENCODEUR
Contrôle du taux de
compression
Changement
Pré- Sous-
d’espace de
traitement échantionnage Transformation Quantification Codage Tampon
couleurs
entropique
Changement
d’espace de Post- Sur- Transformation Quantification
couleurs traitement échantionnage inverse inverse Décodage Tampon
entropique
DECODEUR
17
Changement d’espace de couleur
La première étape dans un codeur vidéo consiste à la
décomposition en luminance et chrominance du flux vidéo.
En effet, les différences d’intensité lumineuse sont celles les
mieux perçues par l’oeil humain.
Les transformations s’appliquent principalement à ce flux. Les
équations de changement de bases sont les suivantes
Y = 0.299 R + 0.587G + 0.114 B
Cb = 0.564( B − Y )
Cr = 0.713( R − Y )
18
9
07/02/2021
Pré-traitement et post-traitement
Il est parfois utile d’appliquer un pré-traitement sur les images
entrantes en codage ainsi qu’un post-traitement sur les images
décodées.
Les paramètres de ces deux étapes sont ajustés de façon à tenir
compte des traitements avals et amonts, afin d’en améliorer la
performance (réduction du débit, réduction des artéfacts des
blocs) et la robustesse.
Exemple:
filtrage préliminaire
Étude statistique sur les caractéristiques spatio-fréquentille de la
séquence.
.. etc
19
Sous échantillonnage et sur
échantillonnage
Le sous échantillonnage permet de limiter la quantité
d’informations à traiter dans le but d’en minimiser les
redondances, d’augmenter le taux de compression ou tout
simplement de satisfaire à des contraintes matérielles.
Généralement appliqué dans l’espace des chrominances pour un
passage de la représentation YUV (4:4:4) vers YUV (4:2:2) ou
YUV (4:2:0).
YUV 4:4:4 YUV 4:2:0 YUV 4:2:2
20
10
07/02/2021
Transformation fréquentielle
Cette étape constitue la partie la plus importante des algorithmes
vidéo et à pour but de dégager les coefficients de pondérations de
chaque composante spatio-fréquentielle qui constitue l’image.
Elle permettra de concentrer l’énergie du block de pixel dans un
emplacement prédéfini afin de pouvoir éliminé les composantes
des fréquences non-perceptibles par le SVH (diapo 5)
Il existe plusieurs type de transformations tel que :
la Transformé en Cosinus Discrète (Discrete Cosine
Transforms, DCT),
la Transformé en Ondelettes Discrète (Discrete Wavelet
Transforms, TOD)
et la Transformé de Karhunen-Lœve. 21
Quantification
C’est l’étape de quantification qui permet la compression en
terme absolu.
L’étape de quantification consiste à réduire la précision des
coefficients spatio-fréquentiels et par là même, à engendrer une
diminution du débit nécessaire à leur transmission.
Le principe fondamental de la quantification scalaire est de
diviser chaque coefficient d’un bloc F(i,j) par l’élément
correspondant Q(i,j) de la matrice de quantification, et d’en
prendre la partie entière, comme il est indiqué dans l’équation
suivante:
F (i, j )
Fq (i, j ) =
Qstep
Le contrôleur de taux agi directement sur le pas de quantification
afin d’avoir un compromis entre la qualité visuelle et le taux de
compression désiré
22
11
07/02/2021
Le codage entropique
Cette étape vise à exploiter les probabilités d’occurrence de chaque
symbole ou séquence de symboles à émettre afin de leur associer
un mot binaire d’une longueur d’autant plus courte que leur
occurrence est grande.
Pour transmettre les coefficients de transformée quantifiés, on utilise
la méthode CAVLC (Context-Adaptive Variable Length Coding), plus
sophistiquée.
L’efficacité du codage entropique peut encore être améliorée avec le
codage adaptatif CABAC (Context-Adaptive Binary Arithmetic
Coding).
L’utilisation du codage arithmétique permet d’assigner un nombre
de bits fractionnaire à chaque symbole d’un alphabet, ce qui s’avère
extrêmement bénéfique pour les probabilités de symbole nettement
supérieures à 0,5.
Une autre propriété du CABAC est son adaptation au contexte. Les
statistiques des éléments syntaxiques déjà codés sont utilisées pour
évaluer les probabilités conditionnelles.
23
La compression avec
Prédiction
Imaginons qu’on veut stocker ou transmettre une vidéo
numérique brute en mode Itérative à 25 images/s sur un écran
HD (720 x 1280) en 16,8 millions de couleurs (24 bits par pixel).
Cela nécessite un débit minimum de 553 Mb/s. D’où, la
nécessité de la compression.
Le principe fondamental de la compression vidéo est de réduire
autant que possible les redondances d'informations dans les
données, sans affecter la qualité des images.
Compression = Prédiction+ Codage
Donner un code binaire
Elle exploite la redondance spatiale
à chaque information en
et temporelle de la vidéo:
suivant un modèle
Intra
comprehensible par le
Inter
décodeur 24
12
07/02/2021
Exemple
Redondance spatiale
Redondance temporelle
25
Silent, Image 151. Silent, Image 152. Image Différence.
Codage Intra
La redondance spatiale : Ce type de codage exploite la
corrélation spatiale au sein d’une même image indépendamment
des autres.
Généralement, dans une image il n’y a pas une grande
différence entre les pixels adjacents. Donc, plutôt que de décrire
chaque block de pixels entièrement, il est plus économique de ne
coder que les différences de valeur entre les blocks de pixels
successifs et adjacents par exemple.
Ce type de codage est appelé codage intra.
26
13
07/02/2021
Codage Intra
L'idée consiste à prédire un Bloc à partir des blocs avoisinantes
suivant un mode de prédiction bien spécifique afin de minimiser
l’énergie du résiduel résultant de la soustraction du bloc courant et
le bloc prédit
Contrôleur de Taux
Source Residual
+ Transformée Quantification Codage
_ Entropique
Intra Image
Prediction Prédit
Intra
27
ENET COM
Codage Inter
La redondance temporelle : Ce type de codage exploite la
corrélation temporelle entre des images successives.
Elle est utilisée dans le cas où la différence entre deux images
successives dans une séquence vidéo est relativement faible.
Dans ce cas, on trouve des blocs de pixels qui ont changé de
position d’une image à une autre.
On peut donc coder une image par rapport à la précédente en ne
transmettant que les différences entre ces deux images et les
vecteurs de mouvement.
Ce type de codage est appelé codage inter.
28
14
07/02/2021
Modules pour codage vidéo avec
prédiction
L'idée consiste à partir d’une image de référence déjà codée afin de
minimiser l’énergie du résiduel résultant de la soustraction du bloc
courant et le bloc prédit. Par conséquent il faut reconstruire l’image
de référence au niveau de l’encodeur
Contrôleur de Taux
Source Residual
+ Transforméé Quantification Codage
_ Entropique
Quantification
Inverse
Prediction Intra
Intra Image
Prédit Transformation
Inverse
Inter +
Images de Référence
Similaire au decodeur +
Compensation
du Mouvement
Similaire au Decodeur
Estimation du
mouvement 29
ENET’COM
Types d’Images
Les images initiale (I) sont codées intégralement, sans aucune
référence aux images voisines de la séquence vidéo.
C’est la redondance spatiale qui est exploitée
L’image est décomposé macro-block et transformé en matrices
de coefficients fréquentiels classés selon l’amplitude des signaux
de base.
Ces coefficients sont ensuite quantifiés.
Les images (I) constituent les images de référence à partir
desquelles est réalisé le décodage.
C’est pourquoi chaque changement de plan dans une séquence
vidéo commence obligatoirement par une image de type I.
30
15
07/02/2021
Types d’Images
Les images "Prédictives" (P): exploitent à la fois la
redondance spatiale et la redondance temporelle des images
d’une séquence vidéo.
Elles sont codées à partir de l’image "I" ou "P" précédente à
l’aide de vecteurs de mouvement obtenu par estimation de
mouvement. Les images sont découpées en macro-blocs.
Les vecteurs de mouvement sont ensuite calculés en fonction du
déplacement de chacun de ces blocs de pixels d’une image à la
suivante puis codés avec un codage à longueur variable.
31
Types d’Images
Les images inter prédites bidirectionnelles (B) : elles ne sont
pas utilisées par tous les codeurs.
Elles sont codées avec estimation du mouvement par rapport à
une image précédente et une image suivante.
Les images de type I et P servent de référence aux images P et
B.
Le codage d’une séquence vidéo consiste en une succession
d’images I , P et B (Figure suivante) ordonnées de manière à
satisfaire les contraintes de débit, de qualité, de complexité, etc.
32
16
07/02/2021
Mode du Codage
Intra only
I I I I
Low delay
I P P P I P
GOP: Group Of Pictures 33
Mode du Codage
Random Access
34
17
07/02/2021
Les Mesures de Distorsions
objectives
0101010100…01
Encodeur Décodeur
Vidéo source
Vidéo reconstruite
Critères issus du traitement du signal
∑ ∑ [x(i, j ) − x (i, j )]
M N 2
1
MSE =
MN i =1 j =1
m2
PSNR = 10. log10
MSE
Pour les images couleurs
MSE L + MSEcr + MSEcb m2
MSE Lcrcb = PSNRLcrcb = 10. log10
3 MSELcrcb
35
La courbe de distorsion
PSNR
32
Codeur A
30
Codeur B
28
26
24
22
0 1 2 3 4 5 6 7 8 9 10 Mb/s
36
18
07/02/2021
Les Mesures de Distorsions
subjectives
Mean Opignon Score
La couleur des murs et des La distance entre le moniteur et le
rideaux doit être grise. sujet doit être = 1,6 x la hauteur du
contenu
Avec un angle d’observation maximal
=30°
37
La standardisation
Pourquoi : enjeux économiques pour les industriels
=> Imposition d ’un standard, manipulation de mêmes données,
conception de « chips »
Par qui : organismes de normalisation
IUT (International Union of Telecommunication.)
ISO (International Standart Organisation)
Groupes de travail :
administrations (France serics, UK-DFI, Germany-DBPT, ITAlIA, ...)
opérateurs (France Telecom, NTL, TERACOM Scandinavia, …)
industriels (Thomson, Philips, Grunding, Sony, Nokia, …)
diffuseurs (RTL, TF1, RAI-ARD, BBC-RTVE, SDT Sweden, …)
38
19
07/02/2021
Les Normes Courantes
IUT-T H.261 H.263 H.263+ H.263++
Standards
H264/AVC H265/HEVC
Joint IUT-T / H.262 / MPEG-2
MPEG MPEG4-Part 10 ULTRA HD
Standards SD HD (4K)
ISO/ MPEG MPEG-1 MPEG-4
Standards
1990 1994 2004 2014
Alliance for Open Media (AOM) : Organisation à but non lucratif
Création : Septembre 2015
Fondateurs : Amazon, Cisco, Google, Intel, Microsoft, Mozilla et Netflix
But : Éviter les guerres des brevets
Mars 2018 : AOM propose un codeur open source AV1
39
fin
40
20