Normes de codage vidéo

Transcription

Normes de codage vidéo
Institut
Mines-Telecom
Normes de codage
vidéo
Marco Cagnazzo
Compression d’images et vidéo
MPEG
H.264
HEVC et 3DVC
Plan
La famille MPEG
MPEG-1
MPEG-2
MPEG-4
H.264 et extensions
H.264/AVC
Définitions et schéma
Nouveaux modes et outils
Profils et niveaux
Optimisation, performances, NAL
Extensions : H.264/SVC
HEVC et 3DVC
2/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Les standards vidéo : chronologie
1980
1990
2000
2010
H.263++
H.261
H.263 H.263+
H.264/AVC
H.264/SVC
MPEG−4 p.10
MPEG−2
H.262
3/146
26.11.14
ISO/IEC
3D−VC
HEVC
MPEG−4
MPEG−1
ITU−T
H.264
/MVC
Joint
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Les standards vidéo
Groupes de standardisation
Organismes de standardisation :
ISO International Standardization Organization
IEC International Electrotechnical Commission
ITU International Telecommunication Union
Groupes de travaille
4/146
◮
MPEG (1988) : ISO/IEC Moving Picture Expert Group
◮
VCEG (1997) : ITU Video Coding Expert Group
◮
Joint Video Team: H.264 et MPEG-4/Part 10 (JVT);
extension scalable de H.264 (SVC); standards récents
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Scope des standards
Bitstream
Video
Source
Pre−processing
Encoding
(video)
Channel
Storage
Receiver
Post−processing
Video
Bitstream
Decoding
(video)
Scope of standard
5/146
◮
Le standard ne définit que la syntaxe du train binaire et les
outils de décodage
◮
But : intéroperabilité, concurrence
◮
Pédagogie : description de l’encodage
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Plan
La famille MPEG
MPEG-1
MPEG-2
MPEG-4
H.264 et extensions
HEVC et 3DVC
6/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
◮
◮
Développé en 1988-1992
Parties du standard
1.
2.
3.
4.
5.
7/146
26.11.14
Systèmes
Video
Audio
Conformance test
Software simulation
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
Partie 2 (Vidéo)
◮
Codeur hybride avec ME/MC
◮
Entrée : max 720 × 576 pixel @ 30 fps
◮
Débit ≤ 1.86 Mbps (qualité VHS)
◮
Applications asymétriques, VoD, vidéo CD, jeux vidéo
Nouveautés techniques
8/146
◮
Types d’images
◮
ME/MC à précision sous-pixelique
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
Types d’images
◮
Trames I (Intra coded)
◮
Trames P (Prédictive)
◮
Trames B (Bi-directionnelles)
◮
Trames D (DC coded)
Trames I et P : Anchor Frames
9/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
Group of Pictures
◮
Trames organisées en GOP
◮
Première image : Intra
Structure :
◮
◮
◮
intervalle entre I
intervalle entre AF
I
B
B
P
B
B
P
B
Gop n
10/146
26.11.14
Institut Mines-Telecom
B
I
B
B
P
Gop n+1
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
Trames I
◮
Codée indépendamment des autres
◮
Codage JPEG
◮
Faible complexité, faible taux de codage
Utilisé pour :
◮
◮
◮
◮
Fast forward
Random access
Robustesse aux erreurs
I
B
B
P
B
B
P
B
Gop n
11/146
26.11.14
Institut Mines-Telecom
B
I
B
B
P
Gop n+1
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
Trames P
◮
Prédite de l’AF précédente
◮
Complexité élevée (ME)
◮
Taux de compression élevé
I
B
B
P
B
B
P
B
Gop n
12/146
26.11.14
Institut Mines-Telecom
B
I
B
B
P
Gop n+1
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-1
Trames B
◮
Prédite des AFs précédente et successive
◮
Complexité très élevée (double ME)
◮
Taux de compression élevé
I
B
B
P
B
B
P
B
Gop n
13/146
26.11.14
Institut Mines-Telecom
B
I
B
B
P
Gop n+1
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-1
Ordre de codage des trames
I → AF → Trames B → AF → Trames B . . .
Retard ?
B
I
B
B
P
B
B
26.11.14
Institut Mines-Telecom
B
I
P
Gop n
14/146
B
Details
B
P
Gop n+1
Normes de codage vidéo
Base
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-1
ME/MC à précision sous-pixelique
15/146
◮
Le mouvement ne corresponde pas à la grille des pixels
◮
Interpolation pour améliorer la précision
◮
Ultérieure augmentation de la complexité
◮
Très bonnes performances de codage
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-1
ME/MC à précision sous-pixelique
v=(5,3)
16/146
26.11.14
Institut Mines-Telecom
v=(5.5,2.5)
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-1
Résumé
Codeur hybride classique (H.261), plus :
1. Trames B et D
2. Vecteurs à précision sous-pixelique
3. Gamme de résolution étendue
4. Groupe d’images avec structure flexible
17/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-2
◮
◮
Développé en 1990-1994
Parties du standard
1.
2.
3.
4.
5.
18/146
Systèmes
Video
Audio
Conformance test
Software simulation
◮
Les parties 6-9 spécifient certaines fonctionnalités
secondaires
◮
MPEG-3, à l’origine prévu pour l’HDTV, à été fusionné
avec MPEG-2
◮
Équivalent à la norme H.262
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
19/146
◮
Codeur hybride
◮
Débit ≤ 15 Mbps (HDTV)
◮
Profils et niveaux
◮
Support à la vidéo entrelacée
◮
Support à la scalabilité
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Profils et niveaux
Il est possible de mettre en ouvre une partie des fonctionnalités
(profils) à certaines résolutions (niveaux), tout en restant
compatible avec le standard
Niveau
Low
Main
High-1440
High
width
[pixel]
352
720
1440
1920
Profil
Simple
Main
SNR scalable
Spatial scalable
High
20/146
26.11.14
height
[pixel]
288
576
1152
1152
frame rate
[frame/s]
30
30
60
60
bit rate
[Mbps]
4
15
60
80
fonctionnalités
Pas de scalabilité; vidéo entrelacée; pas de trames B
Simple + Trames B
Main + Deux/trois niveaux de scalabilité en qualité
SNR + Deux/trois niveaux de scalabilité en résolution
Space + Chroma sur-échantillonnée
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Profils et niveaux
Seulement certaines couples profil/niveau sont admissibles
Niveau
Low
Main
High-1440
High
21/146
26.11.14
Simple
•
Main
•
•
•
•
Institut Mines-Telecom
Profil
SNR scalable
•
•
Spatial scalable
High
•
•
•
•
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité
Encode once, decode many!
◮
Train binaire formé par :
◮
◮
22/146
Un flux base
Des détails
◮
Le flux base peut être décodé seul
◮
Les détails augmentent la qualité du flux base
◮
Les seuls détails sont inutiles
◮
Selon ses nécessités, le client peut demander le flux base
ou les 2 flux
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Codeurs scalables et non scalables
Courbe limite
Codeur scalable souhaité
Codeur non scalable, un seul layer à 200 kbps
Codeur non scalable, un seul layer à 900 kbps
Qualité sequence déecodé
Codeur scalable, deux layers à 400 et 800kbps
Bande disponible sur le canal
23/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Scalabilité :exemple
Distribution de la vidéo sans scalabilité
24/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Scalabilité :exemple
Distribution de la vidéo avec scalabilité
25/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en SNR : codeur
f
e
DCT
eB
QB
VLC
QB∗
QE
VLC
QE∗
IDCT
MC
◮
◮
◮
◮
26/146
Frame
Buffer
efE
eE
bfE
Raffinement des coefficients DCT
Drift : décodeur à niveau base désynchronisé
Bonne qualité du niveau enhanced
Qualité du niveau base pas toujours satisfaisante
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en SNR : décodeur
VLD
QE∗
VLD
QB∗
IDCT
MC
MV
27/146
Frame
Buffer
◮
Pas de contrôle du drift
◮
Un seul champ de vecteurs de mouvement
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en résolution : codeur
eE
x
QE
DCT
VLC
↓2
QE∗
IDCT
W
MC
eB
eE
Frame
Buffer
efE b
fE
QB
DCT
VLC
QB∗
↑2
IDCT
MC
Frame
Buffer
efB
ebq
bfB
efB
28/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en résolution : codeur
◮
Double boucle : pas de drift
◮
La vidéo d’entrée est filtrée et sous-échantillonnée
La prédiction de niveau enhanced est la somme pondérée
de :
◮
◮
◮
◮
29/146
L’image de niveau base interpolée
La prédiction ME/MC
Le choix du poids est faite MB par MB et cette info est
codé dans le train binaire
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en résolution : décodeur
VLD
QE∗
efE
IDCT
bfE
W
Frame
Buffer
MC
↑2
VLD
QB∗
IDCT
MC
30/146
26.11.14
Institut Mines-Telecom
efB
bfB
Frame
Buffer
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en résolution : décodeur
31/146
◮
L’image à basse résolution est interpolée et pondérée
◮
Interpolation linéaire
◮
On obtient les information nécessaires pour le décodage
du niveau enhanced
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité en temps
B
I
B
B
P
B
B
26.11.14
Institut Mines-Telecom
B
I
P
Gop n
32/146
B
Détails
B
P
Gop n+1
Normes de codage vidéo
Base
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité hybride, 1/2
◮
Les formes de scalabilité disponibles peuvent être
combinées entre elles, jusqu’à 3 niveaux en total
◮
Trois type de scalabilité hybride sont possibles
SNR + spatiale
◮
1. SDTV/CIF, basse qualité
2. HDTV/SDTV, basse qualité
3. HDTV/SDTV, haute qualité
33/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Scalabilité hybride, 2/2
◮
spatiale + temporelle
1. SDTV entrelacée
2. HDTV entrelacée
3. HDTV progressive
◮
SNR + temporelle
1. HDTV entrelacée, basse qualité
2. HDTV entrelacée, haute qualité
3. HDTV progressive, haute qualité
34/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-2
Data partitioning
35/146
◮
Outil pour la robustesse aux erreurs
◮
Les blocs de 64 coefficients DCT sont divisés en
sous-ensembles (DC+basses fréquences, hautes
fréquences)
◮
Le sous-ensemble plus critique peut être envoyé sur un
canal plus robuste (Unequal error protection)
◮
Il est nécessaire que le décodeur supporte le Data
partitioning (pas de backward compatibility)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Le standard MPEG-4
◮
◮
Développé en 1993-1998
Parties du standard
◮
◮
◮
36/146
26.11.14
5 parties principales (comme MPEG-1 et 2)
18 parties supplémentaires, couvrantes une variété de
problèmes
P.e. MPEG4/part 10 coïncide avec H.264/AVC
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Fonctionnalités
◮
◮
Codeur hybride
Interactivité
◮
◮
◮
◮
Compression
◮
◮
◮
Performance de compression améliorée
Codage de flux données en parallèle (stéréo TV)
Accès universel
◮
◮
37/146
Manipulation du train binaire basée sur le contenu et sans
transcoding
Codage hybride de données naturelles et synthétiques
Accès aléatoire amélioré
26.11.14
Robustesse en environnement bruité
Scalabilité basée objet
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Représentation basée objet
◮
◮
Une représentation basée objet est nécessaire pour
atteindre les objectifs fixés
Audiovisual object (AVO)
◮
◮
38/146
Différents AVOs codés en trains binaires différents
Composé par une partie audio (mono, stéréo, synthétique,
. . . ) et/ou une vidéo (naturel, synthétique, . . . )
◮
Plusieurs AVOs composants une AV scene
◮
MPEG-4 définit la syntaxe pour la description de la scène
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Audiovisual scene
Synthetic BG
Still
Image
AV scene
Audio object
Visual object
AV object
39/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Visual coding
MPEG-4 fournit 4 type d’instruments de codage
Video object coding : codage d’un objet de forme arbitraire,
naturel ou synthétique
Mesh object coding : codage d’un objet représenté par une
grille de points
Model-based coding : animation du visage et du corps humain
Still texture coding : codage d’images fixes (background)
40/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Video object coding
Un video object (VO) est une succession de video object
planes (VOP) constitués par :
◮
Mouvement
◮
Texture
◮
Contours (Forme)
Si l’objet a forme rectangulaire, le codage est similaire à
MPEG-2, car les objets sont divisés en macroblocs, codés en
suite par un codeur hybride
41/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Codage par sprites et VO
42/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Scalabilité
43/146
◮
Frame-rate et résolution : comme en MPEG-2
◮
Qualité : fine grain scalability grâce au codage par plains
de bits
◮
Objet : la scène peut être composée en utilisant un
sous-ensemble des AVOs disponibles
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
MPEG-1
MPEG-2
MPEG-4
Standard MPEG-4
Profils et niveaux
Comme en MPEG-2, il est possible limiter les fonctionnalités
(profils) pour des plusieurs résolutions (niveaux)
1. Simple Visual Profile : codage efficace pour AVOs
rectangulaires. Adapté aux réseaux mobiles
2. Simple Scalable Visual Profile : ajoute le support à la
scalabilité spatiale et temporelle
3. Core Visual Profile : ajoute le codage d’objets de forme
arbitraire
4. Main Visual Profile : codage entrelacé, sprite, codage du
plan alpha
5. N-Bit Visual Profile : pixel-depth de 4 a 12 bits
Des autres profils ont été ajouté aux versions plus récents du
standard
44/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Plan
La famille MPEG
H.264 et extensions
H.264/AVC
Définitions et schéma
Nouveaux modes et outils
Profils et niveaux
Optimisation, performances, NAL
Extensions : H.264/SVC
HEVC et 3DVC
45/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/AVC
46/146
◮
Développé en 1998-2003
◮
Standard approuvé comme ITU-T Recommendation H.264
et comme ISO/IEC International Standard 14496-10
(MPEG-4 part 10) Advanced Video Coding (AVC).
◮
Codeur hybride
◮
Seulement la partie vidéo
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Objectives
◮
But : optimiser les performance débit-distorsion
◮
Jusqu’à -60% de débit pour la même qualité par rapport à
MPEG-2
Applications :
◮
◮
◮
◮
◮
◮
47/146
Broadcast sur câble, satellite, xDSL, TNT, etc.
Stockage sur support de mémoire (optique, magnétique,
solid state, etc.)
Conversational services sur Ethernet, LAN, WiFi, xDSL,
etc.
Video-on-Demand et multimédia streaming sur Ethernet,
LAN, WiFi, xDSL, etc.
On doit penser à l’intégration avec le niveau de
transport/stockage
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Structure de H.264
◮
L’efficacité de la transmission dans des environnements
différents dépend :
◮
◮
◮
◮
Seulement l’intégration entre adaptation au réseau et
compression assure les meilleures performances
C’est pour cela que H.264 est constitué de deux couches
(layers) conceptuelles
◮
◮
48/146
de l’efficacité de la compression ;
et de l’intégration avec les protocoles de transport.
26.11.14
Video Coding Layer (VCL)
Network Adaption Layer (NAL)
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Structure de H.264
Video Coding Layer
Network Abstraction Layer
Transport layer
H.320
MP4FF
Wired Network
49/146
26.11.14
Institut Mines-Telecom
H.324/M
MPEG−2
RTP/IP
Wirless Network
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
VCL et NAL
◮
VCL fournit des outils performants pour la compression
◮
◮
◮
NAL permet l’adaptation au différents types de transport
◮
◮
50/146
Intra-prediction, variable-size ME/MC, in-loop filtering,
CABAC, etc.
Profiles et niveaux
26.11.14
Packet switched transport (RTP/IP, TCP/IP, . . .) vs. circuit
switched transport (MPEG-2, H.320, . . .)
Streaming vs. storage
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Représentation de la vidéo
◮
Entrée : vidéo numérique en format YCbCr (équivalent à
YUV)
◮
Luma et Chroma
Échantillonnage : 4 : 2 : 0
◮
◮
51/146
26.11.14
Cela correspond à la sensibilité différente du SVH à Luma
et Chroma
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le macroblock
◮
◮
Macroblock : un bloc de 16 × 16 échantillons de Luma et
deux blocs 8 × 8 de Chroma
Le MB est l’unité de codage :
◮
◮
◮
52/146
26.11.14
Chaque MB est codé avec un mode (Intra, Inter, Skip)
Chaque mode produit : une prédiction, un résidu, des
paramètres
Le 2 derniers sont envoyés au décodeur
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Les slices
◮
Dans H.264/AVC les macroblocks sont groupés en slices
◮
Une slice est une ensemble de macroblocks en raster scan
order
◮
Des autres structures de slice sont possibles
Slice 0
Slice 1
Slice 2
53/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Les slices
◮
◮
Normalement une slice correspond à une image
Cinq types de slices existent :
◮
◮
◮
◮
54/146
26.11.14
Intra (I) : tous les MB en mode Intra
Predictive (P) : I + modes prédictives avec une image de
référence
Bidirectional (B) : P + modes prédictives avec deux image
de référence
Switch-Intra (SI) et Switch-Predictive (SP) : utilisées pour
améliorer l’efficacité du passage d’un train binaire à l’autre
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Codage par frame ou field
Top field
Progressive frame
Interlaced frame
◮
Le field est lié aux images entrelacées (lignes paires et impaires)
◮
Le choix entre codage par frame ou par field est fait :
◮
◮
55/146
Bottom field
26.11.14
À niveau d’image (P-AFF)
À niveau de macroblock (MB-AFF)
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Pictures et Sequences dans H.264
56/146
◮
Une vidéo codée en H.264 consiste dans une suite
(sequence) d’images, appelées coded pictures
◮
Une coded picture peut être une frame ou un field
◮
L’image est divisée en MB
◮
Les MB sont groupés en slices
◮
Donc un’image est faite de une ou plusieurs slices
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Rappel : schéma du codeur hybride
Control
JPEG coder
ek
fk
DCT
Q
VLC
Channel
Buffer
Q*
bfk
ME
IDCT
MV
MC
57/146
26.11.14
Institut Mines-Telecom
Frame
Buffer
ek
efk
bfk
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Schéma du codeur H.264
Control
ek
fk
DCT
4x4
CABAC/
CAVLC
Q
Channel
Buffer
Q*
bfk
ME
IDCT
MV
Intra/Inter
Intra
Prediction
MC
58/146
26.11.14
Institut Mines-Telecom
Frame
Buffer
Deblocking
Filter
ek
efk
bfk
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Nouveaux modes de codage
59/146
◮
Modes Intra
◮
Modes Inter
◮
Modes Skip et Direct
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Modes Intra avec prédiction spatiale
Prédiction sur des blocs 16x16 (régions uniformes), 4 types de
prédiction:
60/146
26.11.14
horizontale
verticale
moyenne
plane prediction
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Modes Intra avec prédiction spatiale
Prédiction sur des blocs 4x4 (détails), 9 types de prédiction: 8
directions et moyenne
8
1
6
3
4
7
0
5
Directions
61/146
26.11.14
Mode 0
Mode 1
Mode 3
Mode 4
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Modes Inter avec taille variable des blocs
Chaque bloc 16x16 peut être décomposé pour vérifier si il est
nécessaire une représentation plus fine du mouvement
16x16
62/146
26.11.14
Institut Mines-Telecom
16x8
8x16
8x8
8x4
4x8
4x4
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Estimation du mouvement
Exemple de partition avec bloc à taille variable
63/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Représentation du mouvement
◮
◮
◮
◮
Vecteur de mouvement à précision du quart de pixel
Deux interpolation successive : avec un filtre de longueur
6, et bi-linéaire
Codage des vecteurs par prédiction (médian des voisins)
Les vecteurs peuvent sortir de l’image
D B
C
A
E
64/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Compensation du mouvement
65/146
◮
Le choix de l’image de référence est très peu contraint
◮
Dans le cas P et dans le cas B il suffit donner une (ou
deux) liste de image pour la prédiction
◮
Prédiction B pondérée avec coefficients arbitraires
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Slices de type B
66/146
◮
Generalized B-slices
◮
Deux listes d’images de référence
◮
Multiple reference frame
◮
Flexibilité dans le choix de la référence
◮
Flexibilité dans l’ordre de codage
◮
Prédiction par moyenne pondérée
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Compensation du mouvement
Références multiples
Références
67/146
26.11.14
Institut Mines-Telecom
Image à coder
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Modes Skip et Direct
◮
Skipped MB : c’est comme un MB prédictif pour lequel on
utilise
◮
◮
68/146
zéro bits pour coder le vecteur de mouvement
zéro bits pour coder le résidu
◮
On utilise le vecteur médian des MBs voisin pour trouver le
MV
◮
On copie les pixels pointés par ce MV de l’image de
référence
◮
Coût de codage : seulement la signalisation du mode
◮
Direct : mode Skip pour les B slices
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Nouveaux outils de codage
69/146
◮
Filtre de de-blocking
◮
Nouvelle transformée
◮
Codeurs sans perte : CAVLC et CABAC
◮
Outils pour le changement de flux (switch)
◮
Outils pour la robustesse
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Filtre de de-blocking
◮
◮
Problème : effet de bloc à bas débit
Cause : codage indépendant des bloc
Motion−compesated image
70/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Filtre de de-blocking
◮
Solution 1 : post-filtering
◮
◮
◮
◮
Solution 2 : in-loop filtering
◮
◮
◮
◮
71/146
N’affecte pas le codage (frame buffer)
Non normatif, maximum de liberté
Besoin de mémoire supplémentaire
26.11.14
Les images filtrée sont utilisée comme référence
Le filtre doit être normalisé
Meilleures performances (objectives et subjectives)
Complexité élevée (même si il y pas besoin de
multiplications ni de divisions) : branching, petits blocs
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Filtre de de-blocking
Exemple de filtre de de-blocking
Peter List, Anthony Joch, Jani Lainema, Gisle Bjøntegaard, and Marta Karczewicz: “Adaptive Deblocking Filter”, in
IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, July 2003
72/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Filtre de de-blocking
Analyse de la discontinuité
Block edge
73/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Filtre de de-blocking
◮
◮
Réduit les discontinuités entre blocs 4 × 4 adjacents
Le filtre est adapté à :
◮
◮
◮
74/146
caractéristiques de la vidéo ;
le mode de codage du bloc et de ses voisins (filtre plus fort
si blocs Intra ou si compensation par images différentes)
l’amplitude de la discontinuité et le pas de quantification
◮
4 types de filtrage sont possibles (plus le mode “non
filtering”)
◮
Filtres non-linéaires (passe-bas plus seuillage)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Nouvelle transformée
◮
Transformée sur des blocs 4x4
◮
◮
Approximation de la TCD, à coefficients entiers
◮
◮
◮
◮
75/146
Parfaite synchronisation codeur/décodeur
Coefficients : 0, ±1, ±2 → implémentation par bit-shift et
somme/ soustraction
Deuxième niveau de transformée
◮
◮
La meilleure prédiction réduit la corrélation spatiale
Transformée 4x4 sur les 16 coefficients DC d’un bloc en
Intra16
Transformée 2x2 sur les 4 coefficients DC des blocs de
Chroma
Une transformée 8x8 est possible (profil High) pour le
blocs avec beaucoup de corrélation
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Ordre de codage et quantification
◮
◮
◮
◮
En suite les Chroma
Quantification uniforme
◮
Le pas de quantification dépend du paramètre de quantification
QP
Le pas double quand QP est incrémenté de 6
◮
Le débit augmente de ≈ 12.5% pour un increment de 1 du QP
◮
76/146
Les coefficients DC-Luma des 16 blocs 4x4 d’un MB sont
envoyés en premier
En suite les AC-Luma
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Codage sans perte
◮
Deux techniques sont supportées
◮
◮
77/146
Une technique à faible complexité, basée sur des codes à
longueur variable choisis en fonction du contexte (CAVLC)
Une technique à haute complexité, basée sur le codage
arithmétique adaptive et basé contexte (CABAC)
◮
Les deux techniques améliorent sensiblement le codage
sans perte des standards précédents
◮
On prend en compte que les statistiques peuvent varier et
dépendent du contexte
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Codage a longueur variable adapté au
contexte (CAVLC)
78/146
◮
C’est la technique de codage sans perte du profile
baseline
◮
Un type de dictionnaire pour les résidus
◮
Un second type pour les autres éléments de la syntaxe
(vecteurs, modes, signalisation)
◮
L’adaptivité du dictionnaire permet de gagner 2–7% de
débit
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Codage arithmétique binaire adapté au
contexte (CABAC)
◮
◮
Chaque élément de la syntaxe est transformé en binaire
Pour chacun on utilise un codeur arithmétique
◮
◮
79/146
Adaptatif : apprends les statistiques du signal
Contextuel : reconnaît que le même signal peut avoir
différents comportements
◮
Complexité
◮
Gain en débit de 5–15% par rapport à CAVLC
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Robustesse aux erreurs : concepts
généraux
◮
Mitiger la propagation des erreurs
◮
◮
◮
Rendre facile la récupération de synchronisation
◮
◮
◮
Utilisation de marqueurs de synchronisation
Marker emulation prevention
Limiter l’impact visuel des erreurs
◮
◮
80/146
Protection inégal (entêtes mieux protégés)
Limitation aux modes prédictifs
26.11.14
Reconnaître les images erronées
Afficher un image précédente plutôt que un’image erronée
(concealing)
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Robustesse dans H.264
81/146
◮
Flexible Macroblock Ordering
◮
Redundant Picture
◮
Data Partitioning
◮
Images de synchronisation et switching (SI et SP)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Flexible macroblock ordering
Slice group 0
82/146
Slice group 1
Slice group 2
◮
Slices codées indépendamment : une perte affecte seulement
une slice
◮
Unequal protection pour les régions d’intérêt
◮
Meilleur concealing dans le cas de perte
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Redundant picture
83/146
◮
Dans une redundant picture il peut y avoir des redundant
slices
◮
Une redundant slice est une nouvelle représentation d’une
slice déjà codée, cette dernière étant appelée primary
◮
Si la primary slice est reçue, on n’utilise pas la redundant
◮
La redundant est utilisée si la primary est perdue
◮
Pour ne pas trop augmenter le débit de codage, la
redundant slice a typiquement une qualité dégradée par
rapport à la primary
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Data partitioning
◮
Les données encodées sont reparties en 3 groupes
1. Entêtes et vecteurs de mouvement
2. Résidus pour les slices Intra
3. Résidus pour les autres slices
84/146
◮
Cela permet d’utiliser UEP ou de donner des priorités aux
les données
◮
Standard précédents : 2 et 3 n’étaient pas séparés
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Profils et niveaux
Il est possible de définir profils et niveaux avec une énorme
variété
85/146
◮
Sept profils (Baseline, Extended, Main, High, High10,
High4:2:2, High 4:4:4)
◮
16 niveaux qui peuvent être combinés avec les profiles.
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Profils
Extended
SI/SP slices
I&P Slices
FMO
1/4 Pel MC
Redundant
Pictures
ASO
High
Main
Baseline
Multiple
Reference
Frames
Intra
Prediction
Variable
Block Sizes
Weighted
Prediction
8x8 Transform
Advanced
Quantization
CABAC
CAVLC
B Slices
In−Loop
Deblocking
MB−AFF
Filter
Field coding
B/W video
Data
Partitioning
86/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Profils
87/146
◮
Baseline Profile : applications à bas-coût (mobiles,
visio-conférence)
◮
Main Profile : applications grand public de diffusion et de
stockage ; a perdu de l’importance quand le profil High a
été ajouté avec le même objectif.
◮
Extended Profile : Diffusion en flux (streaming) ; a des
capacités de robustesse et de switching.
◮
High Profile : Le profil principal pour la diffusion et le
stockage (TNT-HD, HD-DVD, BD)
◮
Les autres profils sont destinés à la production et aux
applications professionnelles
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Niveaux
88/146
◮
Les niveaux sont des limitations sur des paramètres
◮
Cela permet aux décodeurs de limiter les ressources
employées pour le décodage
◮
Débit de 64 kbps à 240 Mbps pour les profiles Baseline et
Extended
◮
Débit de 80 kbps à 300 Mbps pour le profile High
◮
Résolutions : de QCIF, 15 fps à HD, 120 fps (ou 4K, 30 fps)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Optimisation de l’estimation du mouvement
Attention : procédé non normatif
89/146
◮
Estimation régularisée
◮
Pour chaque sous-mode i on calcule, sur chacun des blocs
et sous-blocs
JME = D(v) + λME R(v)
◮
D peut être la SAD entre le blocs
◮
R est le débit de codage du vecteur
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Optimisation du mode de codage
◮
Codage par macroblocs : choix du mode
◮
Le choix du mode est uniquement à l’encodeur
◮
◮
Complexité, performance RD, robustesse
Exemple : optimisation RD
◮
Pour chaque MB, et pour chaque mode k , on calcule la
fonction de coût :
Jk (Q, λ) = Dk (Q) + λRk (Q)
◮
◮
90/146
26.11.14
D : distorsion du MB décodé en mode k (prédiction,
transformée, quantification)
R : débit du mode k (signalisation + MV + résidu)
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
H.264 – Exemples d’images décodées
MPEG-2
91/146
26.11.14
Institut Mines-Telecom
H.264
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
H.264 – Exemples d’images décodées
Motion JPEG2000
92/146
26.11.14
Institut Mines-Telecom
H.264
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
H.264 – Exemples d’images décodées
MPEG-2
93/146
26.11.14
Institut Mines-Telecom
H.264
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
H.264 – Exemples d’images décodées
Motion JPEG2000
94/146
26.11.14
Institut Mines-Telecom
H.264
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Performance H.264
Effet de la structure du GOP
44
43
PSNR − dB
42
41
40
IPPP
I−B−P−B−P
I−B−B−P−B−B−P
I−B−B−B−P−B−B−B−P
39
38
400
95/146
26.11.14
600
800
1000
1200
Rate − kbps
Institut Mines-Telecom
1400
1600
1800
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Performance H.264
GOP IPPP : Débit et PSNR par image
foreman − Rate 751.27 kbps PSNR 39.89 dB
foreman − Rate 751.27 kbps PSNR 39.89 dB
6
42
10
41
40
PSNR − dB
Coding rate − bits
5
10
I
P
4
I
P
39
38
10
37
3
10
96/146
0
26.11.14
20
40
60
Frame number
80
Institut Mines-Telecom
100
120
36
0
20
40
60
Frame number
Normes de codage vidéo
80
100
120
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Performance H.264
GOP IBPBP : Débit et PSNR par image
foreman − Rate 771.12 kbps PSNR 40.46 dB
foreman − Rate 771.12 kbps PSNR 40.46 dB
6
44
10
43
42
41
PSNR − dB
Coding rate − bits
5
10
I
P
B
40
39
4
10
38
I
P
B
37
3
10
97/146
0
26.11.14
20
40
60
Frame number
80
Institut Mines-Telecom
100
120
36
0
20
40
60
Frame number
Normes de codage vidéo
80
100
120
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Performance H.264
GOP IBBPBBP : Débit et PSNR par image
foreman − Rate 773.14 kbps PSNR 40.49 dB
foreman − Rate 773.14 kbps PSNR 40.49 dB
6
45
10
44
43
42
10
PSNR − dB
Coding rate − bits
5
I
P
B
41
40
39
4
10
38
37
I
P
B
36
3
10
98/146
0
26.11.14
20
40
60
Frame number
80
Institut Mines-Telecom
100
120
35
0
20
40
60
Frame number
Normes de codage vidéo
80
100
120
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Performance H.264
GOP IBBBPBBBP : Débit et PSNR par image
foreman − Rate 767.99 kbps PSNR 40.32 dB
foreman − Rate 767.99 kbps PSNR 40.32 dB
6
45
10
44
43
42
10
PSNR − dB
Coding rate − bits
5
I
P
B
41
40
39
4
10
38
37
I
P
B
36
3
10
99/146
0
26.11.14
20
40
60
Frame number
80
Institut Mines-Telecom
100
120
35
0
20
40
60
Frame number
Normes de codage vidéo
80
100
120
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
NAL units
100/146
◮
La vidéo codée est organisée en NAL units (NALU)
◮
Une NALU est un paquet avec 1 octet d’entête et N − 1
octet de payload
◮
Le header indique le type de payload
◮
Dans le payload on introduit, si nécessaire, des emulation
prevention bytes
◮
Byte-Stream et Packet-Transport formats
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Type de NALU par contenu
◮
◮
VCL NALU (modes, vecteurs, résidus)
Non-VCL NALU (header, parameter sets)
◮
◮
101/146
Parameter set pour image et pour sequence
On peut appliquer l’UEP
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Access unit
Start
Acces unit delimiter
◮
Une access unit (AU) produit
une image
◮
Une video sequence est une
suite de AUs
◮
Au début d’une séquence
vidéo il y a une image IDR
(instantaneous decoding
refresh)
◮
Un NALU stream peut contenir
une ou plusieurs video
sequences
SEI
Primary coded picture
Redundant coded picture
End of sequence
End of stream
End
102/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalable Video Coding
103/146
◮
Extension scalable de H.264/AVC
◮
Développé en 2003-2007
◮
Joint Video Team (ITU+ISO/IEC)
◮
Codeur hybride
◮
Extension scalable de H.264 : niveau base compatible
avec H.264/AVC
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité temporelle
104/146
◮
Il suffit d’organiser les trames B de H.264 dans une
structure hiérarchique
◮
La prédiction est toujours faite à partir d’une image du
même niveau ou de niveau inférieur
◮
Les niveaux supérieurs ne sont pas nécessaires pour le
décodage
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité temporelle : structure hiérarchique
7
6
5
8
4
3
2
1
0
105/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité temporelle : structure non-dyadique
4
6
5
2
7
8
9
3
0
106/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
1
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité temporelle : structure sans retard
5
3
1
2
7
6
4
8
0
107/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité temporelle : performance
◮
Performance de compression : choix des pas de
quantification
◮
Niveaux inférieurs finement quantifiés car ils servent de
référence aux niveaux supérieurs
◮
Les valeurs optimales des pas de quantification dépendent
du signal
◮
Formule simple pour le pas de quantification à niveau T :
QPT = QP0 + 3 + T
◮
108/146
Meilleurs résultats si le retard est admis
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Scalabilité en résolution : codeur
Schéma pyramidale
eE
x
QE
DCT
VLC
↓2
QE∗
IDCT
W
MC
eB
Frame
Buffer
eE
efE b
fE
QB
DCT
VLC
QB∗
↑2
IDCT
MC
Frame
Buffer
ebq
efB
bfB
efB
109/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Scalabilité en résolution
Schéma pyramidale
◮
Double boucle : pas de drift
◮
La vidéo d’entrée est filtrée et sous-échantillonnée
La prédiction de niveau enhanced est la somme pondérée
de :
◮
◮
◮
◮
110/146
L’image de niveau base interpolée
La prédiction ME/MC
Le choix du poids est faite MB par MB et cette info est
codé dans le train binaire
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Scalabilité en résolution : décodeur
Schéma pyramidale
VLD
QE∗
efE
IDCT
bfE
W
Frame
Buffer
MC
↑2
VLD
QB∗
IDCT
bfB
MC
111/146
26.11.14
Institut Mines-Telecom
efB
Frame
Buffer
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Scalabilité en résolution : décodeur
Schéma pyramidale
112/146
◮
L’image à basse résolution est interpolée et pondérée
◮
Interpolation linéaire
◮
On obtient les information nécessaires pour le décodage
du niveau enhanced
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité spatiale
◮
◮
Schéma pyramidale (comme dans MPEG-2)
Nouveauté technique : la prédiction inter-layer
◮
◮
◮
◮
113/146
Les paramètres de codage d’un layer peuvent être prédits
de un layer inférieur
Inter-layer motion prediction
Inter-layer intra et residual prediction
Scalabilité spatiale généralisée : le niveau supérieur peut
avoir n’importe quelle résolution
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité spatiale et temporelle
114/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité en qualité
115/146
◮
Coarse grain scalability
◮
Medium grain scalability
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité en qualité : CGS
116/146
◮
Implémentée comme la scalabilité résolution, mais sans
changer d’échelle entre niveaux
◮
Inter-layer Intra Prediction et Inter-layer Residual
Prediction dans le domaine transformé
◮
Pas de drift
◮
Petit nombre de niveaux (courbe à marche)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/SVC
Scalabilité en qualité : MGS
117/146
◮
On peut définir des point d’accès aux niveaux de scalabilité
◮
On introduit du drift pour gérer le compromis entre
performances des différents niveaux
◮
On peut choisir entre les extrêmes : pas de drift (comme
en MPEG-4/SNR) et drift libre (MPEG-2/SNR)
◮
Key picture : pas de drift au niveau plus bas, drift admis au
niveaux supérieurs
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/MVC
Multiview Video Coding
118/146
◮
Extension multi-vues de H.264/AVC
◮
Juin 2009 : finalisation du profile High Stereo, utilisé en
Blu-ray3D
◮
MPEG+VCEG
◮
Codeur hybride : prédiction temporelle et inter-vues
◮
Extension multi-vues de H.264 : compatibilité à l’arrière
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/MVC
Objectifs
119/146
◮
Vidéo stéréoscopique (deux vues)
◮
Free viewpoint television
◮
Vidéo 3D multi-vues
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
H.264/AVC
Extensions : H.264/SVC
Le standard H.264/MVC
Dépendances de codage
120/146
◮
Il faut organiser les trames B de H.264
◮
La prédiction est faite à partir d’une image de la même vu ou du
même instant
I
B
B
B
B
B
B
B
I
B
B
B
B
B
B
B
B
B
B
B
P
B
B
B
B
B
B
B
P
B
B
B
B
B
B
B
B
B
B
B
P
B
B
B
B
B
B
B
P
B
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Plan
La famille MPEG
H.264 et extensions
HEVC et 3DVC
121/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
High Efficiency Video Coding
◮
Joint ISO/ITU-T standard
◮
◮
◮
Objectifs : les mêmes que H.264, plus :
◮
◮
◮
◮
122/146
MPEG-H Part 2 (ISO/IEC 23008-2)
ITU-T H.265
Très haute résolution
Codage parallèle
Performances de compression améliorées
Encore un codeur hybride avec prédiction temporelle et
spatiale
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
High Efficiency Video Coding
123/146
◮
Call for Evidence : Avril 2009
◮
Joint Collaborative Team on Video Coding (JVT-VC) : Jan.
2010
◮
Call for Proposal : Jan. 2010
◮
Tests subjectifs jusqu’à Avril 2010
◮
Test Model under Consideration : Avril 2010
◮
HEVC Test Model v1 (HM 1.) : Juillet 2010
◮
Final Draft International Standard : Jan. 2013
◮
HM 10.0 Avril 2013
◮
En parallèle : norme de codage 3D en évolution (3D-VC)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
HEVC: schéma général
Transf.
Q
CABAC
Q*
ME
IDCT
MV
Intra/Inter
Intra
Prediction
MC
124/146
26.11.14
Institut Mines-Telecom
Deblocking
& SAO Filter
Frame
Buffer
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Structures de données en HEVC
125/146
◮
Séparation entre unité pour le codage, la prédiction et la
transformée
◮
Units : ensemble de donnée affecté à une même région
rectangulaire de la vidéo.
◮
Blocks : une “unit” correspond à un bloc de luminance et 2
blocs de chrominance
◮
L’élément fondamental de codage est la Coding Tree Unit
(CTU)
◮
Chaque CTU est divisée en coding units (CU)
◮
Chaque CU est divisé en prediction units (PU) et en
transform units (TU)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Coding tree units
CTU
126/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Coding units
CTU
CTU
CU
CU
CU
CU CU
CU
CU CU
127/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Prediction units
Tout niveaux
Dernier niveau
CU
Intra
PU
PU
PU
PU
PU
PU
PU
PU
PU
PU
PU
PU
CU
PU
PU
PU
Inter
PU
PU
128/146
26.11.14
Institut Mines-Telecom
PU
PU
PU
PU
PU
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Transform units
CU
CU
CU
TU
TU
TU
TU
TU
TU
TU
TU
129/146
26.11.14
Institut Mines-Telecom
TU
TU
TU
TU
TU
TU
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Codage Intra
130/146
◮
35 mode de codage Intra sont possible pour la luminance
◮
33 directions + IntraDC + IntraPlanar
◮
Cela est indépendant de la taille du bloc (entre 4 × 4 et
32 × 32
◮
Le codage du mode est fait en créant une liste de 3 modes
probables (MPM, most probable modes)
◮
La création de la MPM est possible du coté du décodeur à
l’identique
◮
Pour le PB chroma on peut choisir seulement entre Planar,
V, H, DC et “Direct”, c’est à dire le même que luma
◮
Le mode chroma est codé directement (sans MPM)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Codage Inter
131/146
◮
Taille des blocs variable, avec structures asymétriques
possibles
◮
Comme dans H.264, la prédiction Inter peut être faite en
utilisant des référence multiple dans une liste
◮
On a deux listes pour les slices de type B
◮
Le mode “merge” permet de partager l’information de
mouvement entre PB voisins
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
High level syntax: slices
132/146
◮
Les CTU peuvent être regroupées en slices ou en tiles
◮
Les slices sont formées par une suite de CTU en raster
scan order
◮
Comme en H.264 les slices sont self-contained : la
prédiction Intra ne se fait pas entre une slice et un autre
◮
Les slices sont de type I, P et B
◮
Le but principale des slices est de permettre la
re-synchronisation après une perte de données
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Partition d’une picture en slices
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU 1CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTUSlice
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU2 CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTUSlice
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
Slice n
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
133/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
High level syntax: tiles
134/146
◮
Les CTU peuvent aussi être regroupées en régions
rectangulaires, les “tiles”
◮
Les tiles sont aussi “self-contained”
◮
Les tiles sont indépendantes des slices
◮
Les tiles ont comme objectif celui de permettre un niveau
grossier de parallélisme (les tiles peuvent être décodées
en parallèle)
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Partition d’une picture en tiles
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
Tile 1
Tile 2
Tile 3
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
Tile 4
Tile 5
Tile 6
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
135/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Traitement par wavefront
136/146
◮
Un dégrée plus fin de parallélisme peut être obtenu avec le
wavefront parallel processing (WPP)
◮
Les slices sont divisées en lignes
◮
Le traitement d’une ligne peut commencer dès que les
deux premières CTU de la ligne immédiatement
supérieure est terminé
◮
Il y a toujours un retard minimum de 2 CTU entre deux
lignes consécutives
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Traitement par wavefront
Wavefront
CTU1
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
Thread
CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU Thread
2 CTU
CTU CTU
CTU CTU CTU CTU CTU CTU CTU Thread
3 CTU CTU CTU
CTU CTU
CTU CTU CTU CTU CTU Thread
4 CTU CTU CTU CTU CTU
CTU
CTU CTU CTU CTU
Thread
5 CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU CTU
137/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Random access et bitstream splicing
◮
Le décodage d’une séquence HEVC peut commencer aux
random access points (RAP)
◮
Un RAP peut être
◮
◮
◮
138/146
26.11.14
Une image IDR : tout ce qui la suit dans le bitstream peut
être décodé indépendamment du passé
Une image CRA (clean random access) : elle est suivie
dans le bit-stream par des images temporellement
précédentes, éventuellement non décodables
Une image BLA (broken link access) : on a coupe le
bitstream à niveau d’un CRA et on la “renoué” (splicing)
avec un autre bitstream
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Structure du stream
b2
I1
I1
b6
b4
B3
P5
IDR
B3
b2
P5
b4
I9
B7
b10
b8
B7
b6
b8
P13
I9
B11
b10
b12
B11
b12
Trailing
CRA
RASL RASL RASL
139/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
P13
MPEG
H.264
HEVC et 3DVC
Acronymes
BLA Broken Link Acces
CRA Clean Random Access
IDR Instantaneous Decoding Refresh
RADL Random Access Decodable Leading
RAP Random Access Point
RASL Random Access Skipped Leading
140/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Performances débit-distorsion
Comparaison des performances de codage
42
40
PSNR − dB
38
36
34
HEVC
H.264
MPEG−2
M−JP2K
32
30
500
141/146
26.11.14
Institut Mines-Telecom
1000
1500
2000
rate − kbps
2500
3000
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
3D Video Coding
142/146
◮
Codage de vidéo multi-vues
◮
Codage de vidéo plus profondeur
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
3D Video Coding : Use cases
3D Video
Codec
Depth
Estimation
Multiview
Rendering
Virtual
View
}
}
3D Video
Codec
Output to
Stereo Display
Output to
N−View Display
Virtual
Views
Depth
Estimation
Multiview
Rendering
View
Depth
Standard
Scope
Reference
Software
Virtual view
143/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
3D Video Coding : Tools
◮
◮
Inter-view prediction
Inter-component prediction
◮
144/146
Héritage des modes / vecteurs de la texture à la profondeur
◮
View synthesis prediction
◮
View synthesis quality
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Conclusions
Pour approfondir
1. A. Bovik. Handbook of image and video processing
2. I. Richardson. H.264 and MPEG-4 Video Compression
3. Special issues de IEEE Trans. Circ. Video Tech.
145/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo
MPEG
H.264
HEVC et 3DVC
Conclusions
MERCI DE VOTRE ATTENTION !
Questions ?
Contact : [email protected]
146/146
26.11.14
Institut Mines-Telecom
Normes de codage vidéo