Mustafa Ali Hassoune
Département d’informatique
Université des Sciences et de laTechnologie d’Oran
III- Traitement multimédia dans
les communications
III-4 Codage vidéo
Si une séquence d’images défile à 25 Une caméra permet de convertir une
images par seconde ou plus, l’oeil ne image optique en image électronique.
L’oeil humain a la faculté de former des perçoit pas qu’il s’agit d’images Cette dernière est balayée pour obtenir
images précises sur les cellules distinctes. un signal électrique appelé signal vidéo.
photosensibles de la rétine pendant
Les systèmes vidéo et L’objectif est de capturer un nombre
quelques millisecondes.
cinématographiques utilisent ce principe suffisant d’images par seconde afin de
pour restituer le mouvement. donner l’illusion du mouvement.
Les images sont représentées par une Chaque pixel est codé par un mot binaire Un signal vidéo numérique se compose
grille rectangulaire d’éléments d’image, représentant l’information de couleur. d’une suite d’images. Ces images sont
plus communément appelés pixels C’est une combinaison de couleurs ensuite restituées au rythme approprié
(picture elements). suivant l’espace colorimétrique utilisé. sur un écran.
III-4 Codage vidéo
Pourquoi encoder la vidéo?
La vidéo est constituée Heureusement, les
Prenons un exemple :
de deux composantes diverses techniques
une image de qualité
essentielles qui sont le Ajoutons-y le son : en d'encodage audios
DVD au standard PAL a En effet, 210 Go
son et l'image. qualité CD et sans (AC3, MP3, WMA, Ogg
une résolution de suffisent amplement à
aucune forme de Vorbis, etc.) sont
si certains films animés 720×576 pixels, remplir un disque dur
compression, une capables de faire
peuvent être visionnés chacun de ces pixels "grand public" et
seconde de son prend tomber ce chiffre à
à une cadence de 12 étant codés sur 16 équivalent à plus de 20
172 Ko, ce qui paraît environ 280 Mo. Ces
ips (images par voire 24 bits afin DVDs. Il est donc
négligeable comparé deux chiffres
secondes), le cinéma d'assurer un rendu nécessaire de trouver
au poids de la vidéo, paraissent toujours
lui exige 24 ips, le optimal des couleurs. une solution pour
mais atteindra tout de bien faibles par
standard vidéo PAL On arrive à une taille réduire le poids de la
même 1,18 Go pour rapport aux 210 Go
(Europe et Asie) en d'environ 1,2 Mo vidéo : l'encodage
un film de deux requis uniquement
exige 25 et le standard pour une image, soit vidéo.
heures. pour stocker les
NTSC (Amérique et près de 30 Mo pour
images sans
Japon) en impose 30. une seconde de vidéo.
compression.
III-4 Codage vidéo
Décomposition Hiérarchique d’une vidéo
III-4 Codage vidéo (Compression)
Compression Vidéo
La compression vidéo est une méthode de
compression de données, qui consiste à
réduire la quantité de données, en
minimisant l'impact sur la qualité visuelle de
la vidéo. L'intérêt de la compression vidéo
est de réduire les coûts de stockage et de
transmission des fichiers vidéo.
III-4 Codage vidéo (Compression)
Chaque technique de
compression possède sa
propre recette
Ainsi, moins la vidéo contient
de changements entre des
images successives, plus la Mais elles sont basées sur les
possibilités de compression mêmes principes
sont importantes et vice
versa.
Aussi, ces techniques Elles exploitent les limites de
s’appuient sur le principe de la perception humaine en
l’élimination des éliminant tout ce qui est
ressemblances dans des imperceptible par l’œil et/ou
données contiguës. l’oreille humaine.
Principes de l'encodage vidéo
Principes de base
Sans Avec
Perte perte
Principes de l'encodage vidéo
Sans perte
n'apportent en L'optimisation de ce
moyenne qu'un gain principe pour des
Par exemple, si on
de 50 % en terme de données vidéo
Cette compression trouve dans un fichier
poids. Ils sont donc aboutit à un codec de
lossless repose sur trente octets d'affilée
surtout utilisés dans compression vidéo
des principes ayant la même valeur,
le milieu lossless. Exemple : si
similaires à ceux de la il est beaucoup plus
professionnel une image contient 8
compression de économique de
(exemple : montage pixels côte à côte
fichiers quelconques remplacer ces trente
vidéo) et par certains ayant exactement la
(compressions ZIP, octets par un
puristes ou alors dans même couleur, le
[Link], etc.), incluant caractère spécial suivi
le cadre d'utilisations 1er pixel est codé
l'élimination optimale du nombre de
spécifiques. normalement et il
des redondances dans redondances (ici
On citera pour suffit ensuite
les données. trente) et enfin de la
exemple les codecs d'indiquer que les 7
valeur concernée.
HuffYUV, AviZLIB et suivants ont la même
MotionSZH). couleur.
Principes de l'encodage vidéo
Avec perte
Il suffit de réduire la valeur d'une ou plusieurs
caractéristiques de cette vidéo pour cela.
On peut diminuer le nombre d'images par
secondes ; on a ainsi moins d'images à
stocker, d'où un gain de place conséquent
; en contrepartie, la lecture apparaîtrait
saccadée en dessous de 16 ips pour les
personnes les plus tolérantes.
Principes de l'encodage vidéo
Avec perte
Il suffit de réduire la valeur d'une ou plusieurs
caractéristiques de cette vidéo pour cela.
il est possible de diminuer le
nombre de couleurs utilisées de 16
777 216 à 65 536 voire 256 couleurs
mais là encore la perte serait visible
au niveau des dégradés.
III-4 Codage vidéo (Compression)
Niveaux (Levels)
On peut également jouer sur sur la résolution de l'image.
Le MPEG a ainsi défini quatre résolutions d'images
standards, appelés aussi Niveaux ou Levels. Ces
"Levels" peuvent également porter sur le débit À partir des différents niveaux, on peut en déduire
vidéo. le débit maximal correspondant :
Le premier d'entre eux, appelé "Low Level" 4 Mbps pour le Low Level (abrégé LL)
correspond à une résolution de 352×288 en PAL 15 Mbps pour le Main Level (abrégé ML)
ou 352×240 en NTSC. Il est souvent utilisé en 60 Mpbs pour le High 1440 level
MPEG-1 et correspond également à la résolution
d'un VCD. 80 Mbps pour le High Level (abrégé HL)
Le second, le "Main Level" (720×576 en PAL ou Bien sûr, ces Niveaux ne sont que des
720×480 en NTSC), est aussi le plus répandu, recommandations qui n'empêchent nullement
d'autant qu'il est utilisé pour la réalisation des l'utilisation d'une résolution supérieure. En effet,
DVD-Video. la résolution maximale théorique du MPEG est de
16383×16383, c'est-à-dire de quoi remplir la
Les deux autres formats, le "High Level" surface de 256 moniteurs de PC.
(1920×1080) et le "High 1440 Level" (1440×1152),
sont destinés à la TVHD.
III-4 Codage vidéo (Compression)
Notion de bitrate
Le bitrate est le
nombre de bits
qu'une seconde Exemple : une Le bitrate peut
de vidéo devra vidéo d'une durée être spécifié de
occuper après de 2 heures (7200 manière Le bitrate étant le
encodage ; ce secondes) constante (CBR rapport entre la
paramètre est encodée avec un pour Constant taille (donc la
défini par bitrate constant BitRate) ou de qualité) de la
l'utilisateur avant de 900 kbps aura manière variable vidéo finale et sa
la compression. une taille de 772 (VBR pour durée, il influe
Le bitrate Mo : Variable Bitrate). lourdement sur la
s'exprime Taille finale = Dans le cas du qualité de la
généralement en Durée (en MPEG-2, le CBR vidéo.
kilobits par secondes)×bitrate est généralement
seconde(kbps) ou (en kbps) préféré au VBR.
Megabits par
seconde (Mbps).
Exercice
• Calculer la taille d’une séquence vidéo après
compression sachant que sa taille avant
compression était : 500 Mo , Qualité HD: 1080
x 1280, Couleurs : 24 bits, 24 fps
• La compression utilisée: 560 x 640 , 6 fps ,
Couleurs 16 bits
III-4 Codage vidéo (Compression)
Redondances spatiales et temporelles
Les deux types de redondances visées par l'encodage MPEG-2 mais aussi par la
plupart des codecs vidéos sont la redondance spatio-temporelle et la
redondance spatiale :
la redondance spatio-temporelle est
la réapparition de certains éléments
la redondance spatiale est la
d'une image donnée dans l'image
réapparition d'une partie de l'image
suivante. Exemple : un objet se
sur cette même image ; la redondance
déplace sur la longueur de l'image ;
peut être exactement la même ou
l'encodage consistera à coder la
alors présenter une légère différence.
première image de la scène en entier,
Selon le "bitrate" alloué à l'encodage
avec une compression classique de
de la vidéo, ces redondances seront
type JPEG (Joint Photographic Expert
plus ou moins assimilées comme
group) puis à ne stocker pour les
étant la même.
images suivantes que les différences
par rapport à la première image
III-4 Codage vidéo (Compression)
Une autre possibilité aurait consisté à compresser chaque image de la vidéo en JPEG puis à
rassembler toutes les images ; malheureusement le gain est insuffisant et cette technique,
utilisée pour le MJPEG, demande encore beaucoup d'espace mais offre la possibilité d'accéder
rapidement à chaque image.
III-4 Codage vidéo (Compression)
III-4 Codage vidéo (Compression)
Trois types de trames sont considérées :
Trames I : Trames P :
Ces trames sont Ces trames sont Trames B :
codées sans aucune codées avec une
Elles ont besoin des
référence à autre référence à l'image
trames futures et
image de la séquence précédente (trame I
passées comme
vidéo. Les trames I ou trame P). Ces
référence pour être
permettent de trames sont utilisées
codées. Elles sont
réaliser l'accès pour la prédiction de
utilisées pour obtenir
aléatoire et les trames futures ou
un très haut taux de
fonctionnalités FF/FR, passées et elles ne
compression. Elles ne
bien qu'elles ne peuvent pas être
sont jamais utilisées
permettent qu'un utilisées pour réaliser
comme référence.
très bas taux de l'accès aléatoire et les
compression. fonctionnalités FF/FR.
III-4 Codage vidéo (Compression)
Images I,B et P et GOP
Lors de l'élimination des
redondances spatio-temporelles, Il est également possible de faire
l'image de référence, c'est-à-dire varier le nombre d'images I, B et
la première image qui est P qui entrent dans la
En moyenne : composition de la vidéo. On trouve des GOP d'une seule
entièrement codée, est appelée image (de type I), de deux
"image I" (de l'anglais Intra une image P (Prédite) représente Cette valeur s'appelle un GOP images (sur le modèle IB ou IP),
Frame). 50 % du poids d'une image I (Group Of Pictures = Groupe de six images (IBBPBB), de huit
Les autres types d'images sont P d'Images), et est fixe sur toute la images (IBBPBBBP), voire de 12
une image B (Bidirectionnelle)
et B. Les images P (Prédites) sont longueur du film. Un GOP images comme pour le MPEG1
représente 15 % du poids d'une
composées à partir de l'image I commence par une image de (IBBPBBPBBPBB). Il n'y a pas
image I
ou P qui les précède. Les images référence I et est suivi par un vraiment de règles précises dans
B (Bidirectionnelles) sont C'est donc grâce à ces types certain nombre d'images P et B. la mesure où c'est le fabricant de
construites à partir des images I d'images que l'on parvient à La taille de ce GOP influe sur le l'encodeur MPEG qui définit le
et P qui les entourent. réduire le poids d'une vidéo. poids de la vidéo finale : plus le GOP comme bon lui semble.
GOP est long (donc plus il y a
Chacune de ces images est elle- d'images P et B) et plus le fichier
même compressée avec une sera léger…
technique proche du JPEG.
III-4 Codage vidéo (Compression)
MPEG-1
Une séquence vidéo codée seulement
avec des trames P ( I P P P P P P I P P P P
. . .) permet un degré moyen d'accès
L'utilisateur peut arranger la séquence aléatoire et de FF/FR.
des différents types de trame selon le
besoins de l'application. Généralement Si on utilise les trois types de trames (I B
une séquence vidéo codée en utilisant B P B B P B B I B B P . . .) on arrive à un
seulement des trames I (I I I I I . . .) grand taux de compression et un
donne un haut degré d'accès aléatoire, raisonnable degré d'accès aléatoire et
de FF/FR et d’édition, mais un taux très de FF/FR, mais on augmente beaucoup
bas de compression. le temps de codage. Pour des
applications comme la vidéotéléphonie
ou la vidéoconférence ce temps peut
devenir intolérable.
Exercice
• Nous proposons une séquence vidéo de 2 min (25
i/s) dont la taille du fichier est 60 Mo.
• Nous utilisons MPEG1 pour compresser cette vidéo,
dont B=20% d’une image avant compression et
P=50% et I=100 % , en utilisant le codage:
IBBPBBIBBP
• Quelle est la taille du GOP utilisé?
• Calculez la taille du fichier généré (compressé)
III-5 Codage vidéo Hiérarchique
Il consiste à
compresser un
contenu en
plusieurs couches
correspondant à
différents niveaux Notons que
L’encodage de qualité: l’amélioration de la
hiérarchique d’une
Une couche de base qualité peut prendre
séquence vidéo en
BL (Base Layer) des dimensions
multi couche se
Et une ou plusieurs spatiales ou
traduit par une
couches temporelles , voire
décomposition en
d’amélioration EL une combinaison
ondelettes.
(Enhancement des deux.
Layer) que l’on peut
utiliser l’une après
l’autre pour raffiner
la qualité de la
couche de base.
III-4 Codage vidéo (Compression)
SVC (Scalable Video Coding)
Scalable Video Coding (SVC) est le nom donné à
une norme de compression vidéo développée
conjointement par UIT-T et l'ISO. Les deux
groupes ont créé le Joint Video Team(JVT) pour
développer la norme H.264, ou MPEG-4 AVC (ITU-
T Rec. H.264 | ISO/IEC 14496-10 AVC). L'objectif
de SVC est d'offrir un contenu adaptable
ou échelonnable(scalable), c'est-à-dire que le
contenu peut être converti une fois et offrir
ensuite différents débits avec différentes qualités.
Principes de la scalabilité
La scalabilité (évolutivité ou adaptabilité, en bon français) est la
possibilité de représenter un signal à différents niveaux
d'information. Le signal est codé dans un seul flux binaire de manière
à offrir la possibilité de décoder un flux de base et des flux englobants
dont la qualité augmente successivement. Pour ce faire, trois types de
scalabilité sont définis :
la scalabilité
la scalabilité spatiale temporelle qui la scalabilité en
qui permet d'offrir permet d'offrir qualité qui permet
plusieurs niveaux de plusieurs fréquences d'offrir différentes
résolution, temporelles du qualités d'image.
signal,
Scalabilité spatiale
• La scalabilité spatiale correspond au choix de
la résolution des images reconstruites (par
exemple SD, QCIF ou CIF ). La scalabilité
spatiale est obtenue au moyen d'une
décomposition pyramidale en différents
niveaux spatiaux.
Scalabilité temporelle
• La scalabilité temporelle correspond à la
fréquence des images du flux vidéo décodé.
Les différentes fréquences sont obtenues à
l'aide d'une structure hiérarchisée d'images.
Scalabilité en qualité
• La scalabilité SNR (Signal to Noise Ratio,
ou Rapport signal sur bruit), ou en qualité,
consiste à augmenter le rapport signal sur
bruit d'une couche, c'est-à-dire à réduire la
distorsion de quantification entre l'image
originale et l'image reconstruite.
CIF
• CIF, abréviation de Common Intermediate
Format, est une définition standardisée
d'image numérique définie par l'Union
internationale des télécommunications (ITU) :
352 × 288 pixels.
Définitions des formats dérivés
Définition (en
Abréviation
pixels)
SQCIF (Sous-Quart de CIF) 128 × 96
QCIF (Quart de CIF) 176 × 144
CIF 352 × 288
4CIF (4 × CIF) 704 × 576
9CIF (9 × CIF) 1056 × 864
16CIF (16 × CIF) 1408 × 1152