Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
MPEGH.264
Standards en cours de développement
Standard de codage vidéo
Marco Cagnazzo
Département Traitement du Signal et des ImagesTELECOM ParisTech
19 septembre 2012
M. Cagnazzo Standard vidéo 1/130
MPEGH.264
Standards en cours de développement
Plan
1 La famille MPEGMPEG-1MPEG-2MPEG-4
2 H.264H.264/AVC
Définitions et schémaNouveaux modes et outilsProfils et niveauxOptimisation, performances, NAL
Extensions : H.264/SVC
3 Standards en cours de développement
M. Cagnazzo Standard vidéo 2/130
MPEGH.264
Standards en cours de développement
Les standards vidéo : chronologie
MPEG−4
H.264/SVCH.264/AVC
MPEG−4 p.10
H.263+
ITU JointISO/IEC Video Image
1980 1990 2000 2010
H.264/MVC
H.261 H.263
MPEG−1
JPEG2000
JPEGJPEG
XR
MPEG−2H.262
H.263++
3DVC
HEVC
M. Cagnazzo Standard vidéo 3/130
MPEGH.264
Standards en cours de développement
Les standards vidéoGroupes de standardisation
Organismes de standardisation :
ISO International Standardization Organization
IEC International Electrotechnical Commission
ITU International Telecommunication Union
Groupes de travaille
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
M. Cagnazzo Standard vidéo 4/130
MPEGH.264
Standards en cours de développement
Scope des standards
Pre−processing
Post−processing
Encoding
ChannelStorage
Video
VideoReceiver
(video)
(video)
Source
Decoding
Scope of standard
Bitstream
Bitstream
Le standard ne définit que la syntaxe du train binaire et lesoutils de décodage
But : intéroperabilité, concurrence
Pédagogie : description de l’encodage
M. Cagnazzo Standard vidéo 5/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Plan
1 La famille MPEGMPEG-1MPEG-2MPEG-4
2 H.264H.264/AVC
Définitions et schémaNouveaux modes et outilsProfils et niveauxOptimisation, performances, NAL
Extensions : H.264/SVC
3 Standards en cours de développement
M. Cagnazzo Standard vidéo 6/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1
Développé en 1988-1992Parties du standard
1 Systèmes2 Video3 Audio4 Conformance test5 Software simulation
M. Cagnazzo Standard vidéo 7/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1Partie 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
Types d’images
ME/MC à précision sous-pixelique
M. Cagnazzo Standard vidéo 8/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1Types d’images
Trames I (Intra coded)
Trames P (Prédictive)
Trames B (Bi-directionnelles)
Trames D (DC coded)
Trames I et P : Anchor Frames
M. Cagnazzo Standard vidéo 9/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1Group of Pictures
Trames organisées en GOP
Première image : IntraStructure :
intervalle entre Iintervalle entre AF
Gop n
II B B P B B P B B B B P
Gop n+1
I
M. Cagnazzo Standard vidéo 10/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1Trames I
Codée indépendamment des autres
Codage JPEG
Faible complexité, faible taux de codageUtilisé pour :
Fast forwardRandom accessRobustesse aux erreurs
Gop n
II B B P B B P B B B B P
Gop n+1
I
M. Cagnazzo Standard vidéo 11/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1Trames 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 B B B P
Gop n+1Gop n
I
M. Cagnazzo Standard vidéo 12/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-1Trames B
Prédite des AFs précédente et successive
Complexité très élevée (double ME)
Taux de compression élevé
Gop n
II B B P B B P B B B B P
Gop n+1
I
M. Cagnazzo Standard vidéo 13/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-1Ordre de codage des trames
I → AF → Trames B → AF → Trames B . . .
Retard ?
Details
I P P P
B B B B B B B B
Gop n+1Gop n
I BaseI
M. Cagnazzo Standard vidéo 14/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-1ME/MC à précision sous-pixelique
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
M. Cagnazzo Standard vidéo 15/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-1ME/MC à précision sous-pixelique
v=(5.5,2.5)v=(5,3)
M. Cagnazzo Standard vidéo 16/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-1Résumé
Codeur hybride classique (H.261), plus :1 Trames B et D2 Vecteurs à précision sous-pixelique3 Gamme de résolution étendue4 Groupe d’images avec structure flexible
M. Cagnazzo Standard vidéo 17/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-2
Développé en 1990-1994Parties du standard
1 Systèmes2 Video3 Audio4 Conformance test5 Software simulation
Les parties 6-9 spécifient certaines fonctionnalitéssecondaires
MPEG-3, à l’origine prévu pour l’HDTV, à été fusionnéavec MPEG-2
Équivalent à la norme H.262
M. Cagnazzo Standard vidéo 18/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2
Codeur hybride
Débit ≤ 15 Mbps (HDTV)
Profils et niveaux
Support à la vidéo entrelacée
Support à la scalabilité
M. Cagnazzo Standard vidéo 19/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Profils et niveaux
Il est possible de mettre en ouvre une partie des fonctionnalités(profils) à certaines résolutions (niveaux), tout en restantcompatible avec le standard
width height frame rate bit rateNiveau [pixel] [pixel] [frame/s] [Mbps]
Low 352 288 30 4Main 720 576 30 15High-1440 1440 1152 60 60High 1920 1152 60 80
Profil fonctionnalités
Simple Pas de scalabilité; vidéo entrelacée; pas de trames BMain Simple + Trames BSNR scalable Main + Deux/trois niveaux de scalabilité en qualitéSpatial scalable SNR + Deux/trois niveaux de scalabilité en résolutionHigh Space + Chroma sur-échantillonnée
M. Cagnazzo Standard vidéo 20/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Profils et niveaux
Seulement certaines couples profil/niveau sont admissibles
ProfilNiveau Simple Main SNR scalable Spatial scalable High
Low • •
Main • • • •
High-1440 • • •
High • •
M. Cagnazzo Standard vidéo 21/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité
Encode once, decode many!
Train binaire formé par :Un flux baseDes 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 baseou les 2 flux
M. Cagnazzo Standard vidéo 22/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Codeurs scalables et non scalables
Codeur scalable, deux layers à 400 et 800kbps
Codeur non scalable, un seul layer à 900 kbps
Codeur non scalable, un seul layer à 200 kbps
Codeur scalable souhaité
Courbe limite
Bande disponible sur le canal
Qua
lité
sequ
ence
dée
codé
M. Cagnazzo Standard vidéo 23/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Scalabilité :exempleDistribution de la vidéo sans scalabilité
M. Cagnazzo Standard vidéo 24/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Scalabilité :exempleDistribution de la vidéo avec scalabilité
M. Cagnazzo Standard vidéo 25/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en SNR : codeur
IDCT
DCT VLC
VLC
MCBufferFrame
QB
QE
Q∗
B
Q∗
E
f e eB
eE
fE
fE
Raffinement des coefficients DCTDrift : décodeur à niveau base désynchroniséBonne qualité du niveau enhancedQualité du niveau base pas toujours satisfaisante
M. Cagnazzo Standard vidéo 26/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en SNR : décodeur
MV
FrameBufferMC
VLD IDCT
VLD
Q∗
B
Q∗
E
Pas de contrôle du drift
Un seul champ de vecteurs de mouvement
M. Cagnazzo Standard vidéo 27/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en résolution : codeur
ebq
FrameBufferMC
MCFrameBuffer
W
DCT VLC
IDCT
DCT VLC
IDCT
QB
QE
Q∗
B
Q∗
E
x
eB
eE
↓ 2
↑ 2
fB
fB
fB
eE
fEfE
M. Cagnazzo Standard vidéo 28/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en résolution : codeur
Double boucle : pas de drift
La vidéo d’entrée est filtrée et sous-échantillonnéeLa prédiction de niveau enhanced est la somme pondéréede :
L’image de niveau base interpoléeLa prédiction ME/MC
Le choix du poids est faite MB par MB et cette info estcodé dans le train binaire
M. Cagnazzo Standard vidéo 29/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en résolution : décodeur
FrameBufferMCW
MCFrameBuffer
VLD IDCT
VLD IDCTQ∗
B
Q∗
E
↑ 2
fB
fB
fE
fE
M. Cagnazzo Standard vidéo 30/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en résolution : décodeur
L’image à basse résolution est interpolée et pondérée
Interpolation linéaire
On obtient les information nécessaires pour le décodagedu niveau enhanced
M. Cagnazzo Standard vidéo 31/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité en temps
Gop n+1Gop n
I
B
P IP
B B B B B B
P
B
I Base
Détails
M. Cagnazzo Standard vidéo 32/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité hybride, 1/2
Les formes de scalabilité disponibles peuvent êtrecombinées entre elles, jusqu’à 3 niveaux en total
Trois type de scalabilité hybride sont possiblesSNR + spatiale
1 SDTV/CIF, basse qualité2 HDTV/SDTV, basse qualité3 HDTV/SDTV, haute qualité
M. Cagnazzo Standard vidéo 33/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Scalabilité hybride, 2/2
spatiale + temporelle1 SDTV entrelacée2 HDTV entrelacée3 HDTV progressive
SNR + temporelle1 HDTV entrelacée, basse qualité2 HDTV entrelacée, haute qualité3 HDTV progressive, haute qualité
M. Cagnazzo Standard vidéo 34/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-2Data partitioning
Outil pour la robustesse aux erreurs
Les blocs de 64 coefficients DCT sont divisés ensous-ensembles (DC+basses fréquences, hautesfréquences)
Le sous-ensemble plus critique peut être envoyé sur uncanal plus robuste (Unequal error protection)
Il est nécessaire que le décodeur supporte le Datapartitioning (pas de backward compatibility)
M. Cagnazzo Standard vidéo 35/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Le standard MPEG-4
Développé en 1993-1998Parties du standard
5 parties principales (comme MPEG-1 et 2)18 parties supplémentaires, couvrantes une variété deproblèmesP.e. MPEG4/part 10 coïncide avec H.264/AVC
M. Cagnazzo Standard vidéo 36/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Fonctionnalités
Codeur hybrideInteractivité
Manipulation du train binaire basée sur le contenu et sanstranscodingCodage hybride de données naturelles et synthétiquesAccès aléatoire amélioré
CompressionPerformance de compression amélioréeCodage de flux données en parallèle (stéréo TV)
Accès universelRobustesse en environnement bruitéScalabilité basée objet
M. Cagnazzo Standard vidéo 37/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Représentation basée objet
Une représentation basée objet est nécessaire pouratteindre les objectifs fixésAudiovisual object (AVO)
Différents AVOs codés en trains binaires différentsComposé 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
M. Cagnazzo Standard vidéo 38/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Audiovisual scene
Synthetic BG
AV scene
AV object
ImageStill
Audio object
Visual object
M. Cagnazzo Standard vidéo 39/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Visual 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 unegrille de points
Model-based coding : animation du visage et du corps humain
Still texture coding : codage d’images fixes (background)
M. Cagnazzo Standard vidéo 40/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Video object coding
Un video object (VO) est une succession de video objectplanes (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 ensuite par un codeur hybride
M. Cagnazzo Standard vidéo 41/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Video object coding
Le mouvement est codé par prédiction des vecteurs voisins
Les vecteurs peuvent sortir de l’image et ont une précisiondouble par rapport à MPEG-2 (1/4 de pixel)
La texture est codé en mode Inter (prédiction+DCT/Q del’erreur) ou Intra (TCD ou transformée adaptée à la forme)
Forme codée par un alpha-plane
Codage simple et effective d’une image “en niveaux de gris”Codage lossless (codage arithmétique avec prédictiontemporelle en Intra) et lossy (sous-échantillonnage etcodage lossless) de l’alpha-plane
Sprite coding : représentation de l’arrière-plane
M. Cagnazzo Standard vidéo 42/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Codage par sprites et VO
M. Cagnazzo Standard vidéo 43/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Mesh object coding
Représentation par grille du mouvement (déformation)
M. Cagnazzo Standard vidéo 44/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Model-based coding
Animation des points de contrôle pour représenter les émotions
M. Cagnazzo Standard vidéo 45/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Still texture coding
TO Daubechies ou TO adaptée à la formeCodage DPCM pour les coefficients LLAlgorithme de codage basée sur les arbres de zéros pourles coefficients hautes fréquences
Exploite la corrélation inter-bandeFaible complexité et excellente compression
Codage arithmétique adaptatifScalabilité en qualité et en résolution
CoderDWT
Q Predict
Q PredictOther bands
Lowest band
Still texture Arithmetic
M. Cagnazzo Standard vidéo 46/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Scalabilité
Frame-rate et résolution : comme en MPEG-2
Qualité : fine grain scalability grâce au codage par plainsde bits
Objet : la scène peut être composée en utilisant unsous-ensemble des AVOs disponibles
M. Cagnazzo Standard vidéo 47/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Robustesse aux erreurs
La robustesse aux erreurs est obtenue à l’aide de trois types detechniques :
Resynchronisation (resynchronization)
Partition des données (data partitioning)
Récupération des donnes (data recovery)
M. Cagnazzo Standard vidéo 48/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Robustesse aux erreurs
Resynchronisation
Nécessaire pour recommencer le décodage lors d’unerreur
Aide à la récupération des données et à la dissimulationdes erreurs (error concealing)
Marqueurs de synchronisation
Information supplémentaire pour chaque paquet (numérode MB et quantificateur)
M. Cagnazzo Standard vidéo 49/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Robustesse aux erreurs
Partition des données
Séparation entre mouvement et texture
Marqueurs supplémentaires
Si la texture est corrompue, on peut utiliser le mouvementpour cacher l’erreur (copie du bloc de l’image de référence)
Récupération des donnes
Technique de codage sans perte moins performante maisplus robuste
Décodage possible “en avant” et “en arrière” (RVLC)
M. Cagnazzo Standard vidéo 50/130
MPEGH.264
Standards en cours de développement
MPEG-1MPEG-2MPEG-4
Standard MPEG-4Profils 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 AVOsrectangulaires. Adapté aux réseaux mobiles
2 Simple Scalable Visual Profile : ajoute le support à lascalabilité spatiale et temporelle
3 Core Visual Profile : ajoute le codage d’objets de formearbitraire
4 Main Visual Profile : codage entrelacé, sprite, codage duplan alpha
5 N-Bit Visual Profile : pixel-depth de 4 a 12 bits
Des autres profils ont été ajouté aux versions plus récents dustandard
M. Cagnazzo Standard vidéo 51/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Plan
1 La famille MPEGMPEG-1MPEG-2MPEG-4
2 H.264H.264/AVC
Définitions et schémaNouveaux modes et outilsProfils et niveauxOptimisation, performances, NAL
Extensions : H.264/SVC
3 Standards en cours de développement
M. Cagnazzo Standard vidéo 52/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/AVC
Développé en 1998-2003
Standard approuvé comme ITU-T Recommendation H.264et comme ISO/IEC International Standard 14496-10(MPEG-4 part 10) Advanced Video Coding (AVC).
Codeur hybride
Seulement la partie vidéo
M. Cagnazzo Standard vidéo 53/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Objectives
But : optimiser les performance débit-distorsion
Jusqu’à -60% de débit pour la même qualité par rapport àMPEG-2Applications :
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 detransport/stockage
M. Cagnazzo Standard vidéo 54/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Structure de H.264
L’efficacité de la transmission dans des environnementsdifférents dépend :
de l’efficacité de la compression ;et de l’intégration avec les protocoles de transport.
Seulement l’intégration entre adaptation au réseau etcompression assure les meilleures performancesC’est pour cela que H.264 est constitué de deux couches(layers) conceptuelles
Video Coding Layer (VCL)Network Adaption Layer (NAL)
M. Cagnazzo Standard vidéo 55/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Structure de H.264
Network Abstraction Layer
Wired Network Wirless Network
Video Coding Layer
Transport layer
H.320 MP4FF H.324/M MPEG−2 RTP/IP
M. Cagnazzo Standard vidéo 56/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
VCL et NAL
VCL fournit des outils performants pour la compressionIntra-prediction, variable-size ME/MC, in-loop filtering,CABAC, etc.Profiles et niveaux
NAL permet l’adaptation au différents types de transportPacket switched transport (RTP/IP, TCP/IP, . . .) vs. circuitswitched transport (MPEG-2, H.320, . . .)Streaming vs. storage
M. Cagnazzo Standard vidéo 57/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : 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
Cela correspond à la sensibilité différente du SVH à Lumaet Chroma
M. Cagnazzo Standard vidéo 58/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le macroblock
Macroblock : un bloc de 16 × 16 échantillons de Luma etdeux blocs 8 × 8 de ChromaLe MB est l’unité de codage :
Chaque MB est codé avec un mode (Intra, Inter, Skip)Chaque mode produit : une prédiction, un résidu, desparamètresLe 2 derniers sont envoyés au décodeur
M. Cagnazzo Standard vidéo 59/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : 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 scanorder
Des autres structures de slice sont possibles
Slice 0
Slice 1
Slice 2
M. Cagnazzo Standard vidéo 60/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Les slices
Normalement une slice correspond à une imageCinq types de slices existent :
Intra (I) : tous les MB en mode IntraPredictive (P) : I + modes prédictives avec une image deréférenceBidirectional (B) : P + modes prédictives avec deux imagede référenceSwitch-Intra (SI) et Switch-Predictive (SP) : utilisées pouraméliorer l’efficacité du passage d’un train binaire à l’autre
M. Cagnazzo Standard vidéo 61/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Codage par frame ou field
Progressive frame Interlaced frame
Top field Bottom field
Le field est lié aux images entrelacées (lignes paires et impaires)
Le choix entre codage par frame ou par field est fait :
À niveau d’image (P-AFF)À niveau de macroblock (MB-AFF)
M. Cagnazzo Standard vidéo 62/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Pictures et Sequences dans H.264
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
M. Cagnazzo Standard vidéo 63/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Rappel : schéma du codeur hybride
ME
DCT Q VLC
Q*
Control
ChannelBuffer
IDCT
FrameBufferMC
MV
JPEG coder
fk ek
ek
fk
fkfk
M. Cagnazzo Standard vidéo 64/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Schéma du codeur H.264
Buffer
FrameBufferMC
CAVLCCABAC/
Q
Q*
Control
MV
ME
DCT4x4
IDCT
IntraPrediction Deblocking
Filter
Intra/Inter
Channelfk ek
ek
fk
fkfk
M. Cagnazzo Standard vidéo 65/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Nouveaux modes de codage
Modes Intra
Modes Inter
Modes Skip et Direct
M. Cagnazzo Standard vidéo 66/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Modes Intra avec prédiction spatiale
Prédiction sur des blocs 16x16 (régions uniformes), 4 types deprédiction:
horizontale verticale
moyenne plane prediction
M. Cagnazzo Standard vidéo 67/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Modes Intra avec prédiction spatiale
Prédiction sur des blocs 4x4 (détails), 9 types de prédiction: 8directions et moyenne
8
0
1
3 4
57
6
Directions Mode 0 Mode 1
Mode 3 Mode 4
M. Cagnazzo Standard vidéo 68/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Modes Inter avec taille variable des blocs
Chaque bloc 16x16 peut être décomposé pour vérifier si il estnécessaire une représentation plus fine du mouvement
16x16 8x1616x8 8x8
8x4 4x8 4x4
M. Cagnazzo Standard vidéo 69/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Estimation du mouvement
Exemple de partition avec bloc à taille variable
M. Cagnazzo Standard vidéo 70/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Représentation du mouvement
Vecteur de mouvement à précision du quart de pixelDeux interpolation successive : avec un filtre de longueur6, et bi-linéaireCodage des vecteurs par prédiction (médian des voisins)Les vecteurs peuvent sortir de l’image
A
E
CD B
M. Cagnazzo Standard vidéo 71/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Compensation du mouvement
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 (oudeux) liste de image pour la prédiction
Prédiction B pondérée avec coefficients arbitraires
M. Cagnazzo Standard vidéo 72/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Slices de type B
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
M. Cagnazzo Standard vidéo 73/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Compensation du mouvementRéférences multiples
Références Image à coder
M. Cagnazzo Standard vidéo 74/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Modes Skip et Direct
Skipped MB : c’est comme un MB prédictif pour lequel onutilise
zéro bits pour coder le vecteur de mouvementzéro bits pour coder le résidu
On utilise le vecteur médian des MBs voisin pour trouver leMV
On copie les pixels pointés par ce MV de l’image deréférence
Coût de codage : seulement la signalisation du mode
Direct : mode Skip pour les B slices
M. Cagnazzo Standard vidéo 75/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Nouveaux outils de codage
Filtre de de-blocking
Nouvelle transformée
Codeurs sans perte : CAVLC et CABAC
Outils pour le changement de flux (switch)
Outils pour la robustesse
M. Cagnazzo Standard vidéo 76/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Filtre de de-blocking
Problème : effet de bloc à bas débitCause : codage indépendant des bloc
Motion−compesated image
M. Cagnazzo Standard vidéo 77/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Filtre de de-blocking
Solution 1 : post-filteringN’affecte pas le codage (frame buffer)Non normatif, maximum de libertéBesoin de mémoire supplémentaire
Solution 2 : in-loop filteringLes images filtrée sont utilisée comme référenceLe filtre doit être normaliséMeilleures performances (objectives et subjectives)Complexité élevée (même si il y pas besoin demultiplications ni de divisions) : branching, petits blocs
M. Cagnazzo Standard vidéo 78/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : 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”, inIEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, July 2003
M. Cagnazzo Standard vidéo 79/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Filtre de de-blocking
Analyse de la discontinuité
Block edge
M. Cagnazzo Standard vidéo 80/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Filtre de de-blocking
Réduit les discontinuités entre blocs 4 × 4 adjacentsLe filtre est adapté à :
caractéristiques de la vidéo ;le mode de codage du bloc et de ses voisins (filtre plus fortsi 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 “nonfiltering”)
Filtres non-linéaires (passe-bas plus seuillage)
M. Cagnazzo Standard vidéo 81/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Nouvelle transformée
Transformée sur des blocs 4x4La meilleure prédiction réduit la corrélation spatiale
Approximation de la TCD, à coefficients entiersParfaite synchronisation codeur/décodeurCoefficients : 0,±1,±2 → implémentation par bit-shift etsomme/ soustraction
Deuxième niveau de transforméeTransformée 4x4 sur les 16 coefficients DC d’un bloc enIntra16Transformée 2x2 sur les 4 coefficients DC des blocs deChroma
Une transformée 8x8 est possible (profil High) pour leblocs avec beaucoup de corrélation
M. Cagnazzo Standard vidéo 82/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Ordre de codage et quantification
Les coefficients DC-Luma des 16 blocs 4x4 d’un MB sontenvoyés en premier
En suite les AC-Luma
En suite les Chroma
Quantification uniforme
Le pas de quantification dépend du paramètre de quantificationQP
Le pas double quand QP est incrémenté de 6
Le débit augmente de ≈ 12.5% pour un increment de 1 du QP
M. Cagnazzo Standard vidéo 83/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Codage sans perte
Deux techniques sont supportéesUne technique à faible complexité, basée sur des codes àlongueur variable choisis en fonction du contexte (CAVLC)Une technique à haute complexité, basée sur le codagearithmétique adaptive et basé contexte (CABAC)
Les deux techniques améliorent sensiblement le codagesans perte des standards précédents
On prend en compte que les statistiques peuvent varier etdépendent du contexte
M. Cagnazzo Standard vidéo 84/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Codage a longueur variable adapté au contexte(CAVLC)
C’est la technique de codage sans perte du profilebaseline
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% dedébit
M. Cagnazzo Standard vidéo 85/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Codage arithmétique binaire adapté au contexte(CABAC)
Chaque élément de la syntaxe est transformé en binairePour chacun on utilise un codeur arithmétique
Adaptatif : apprends les statistiques du signalContextuel : reconnaît que le même signal peut avoirdifférents comportements
Complexité
Gain en débit de 5–15% par rapport à CAVLC
M. Cagnazzo Standard vidéo 86/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Robustesse aux erreurs : concepts généraux
Mitiger la propagation des erreursProtection inégal (entêtes mieux protégés)Limitation aux modes prédictifs
Rendre facile la récupération de synchronisationUtilisation de marqueurs de synchronisationMarker emulation prevention
Limiter l’impact visuel des erreursReconnaître les images erronéesAfficher un image précédente plutôt que un’image erronée(concealing)
M. Cagnazzo Standard vidéo 87/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Robustesse dans H.264
Flexible Macroblock Ordering
Redundant Picture
Data Partitioning
Images de synchronisation et switching (SI et SP)
M. Cagnazzo Standard vidéo 88/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Flexible macroblock ordering
Slice group 0 Slice group 1 Slice group 2
Slices codées indépendamment : une perte affecte seulementune slice
Unequal protection pour les régions d’intérêt
Meilleur concealing dans le cas de perte
M. Cagnazzo Standard vidéo 89/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Redundant picture
Dans une redundant picture il peut y avoir des redundantslices
Une redundant slice est une nouvelle représentation d’uneslice 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, laredundant slice a typiquement une qualité dégradée parrapport à la primary
M. Cagnazzo Standard vidéo 90/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Data partitioning
Les données encodées sont reparties en 3 groupes1 Entêtes et vecteurs de mouvement2 Résidus pour les slices Intra3 Résidus pour les autres slices
Cela permet d’utiliser UEP ou de donner des priorités auxles données
Standard précédents : 2 et 3 n’étaient pas séparés
M. Cagnazzo Standard vidéo 91/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Profils et niveaux
Il est possible de définir profils et niveaux avec une énormevariété
Sept profils (Baseline, Extended, Main, High, High10,High4:2:2, High 4:4:4)
16 niveaux qui peuvent être combinés avec les profiles.
M. Cagnazzo Standard vidéo 92/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Profils
Multiple ReferenceFrames
RedundantPictures
PredictionIntra
In−LoopDeblockingFilter
VariableBlock Sizes
WeightedPrediction
Data Partitioning
1/4 Pel MC
I&P Slices
MainBaseline
FMO
ASO
CAVLC
B Slices
MB−AFF
Field coding
CABAC
SI/SP slices
Extended
High
8x8 Transform
AdvancedQuantization
B/W video
M. Cagnazzo Standard vidéo 93/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Profils
Baseline Profile : applications à bas-coût (mobiles,visio-conférence)
Main Profile : applications grand public de diffusion et destockage ; a perdu de l’importance quand le profil High aété ajouté avec le même objectif.
Extended Profile : Diffusion en flux (streaming) ; a descapacités de robustesse et de switching.
High Profile : Le profil principal pour la diffusion et lestockage (TNT-HD, HD-DVD, BD)
Les autres profils sont destinés à la production et auxapplications professionnelles
M. Cagnazzo Standard vidéo 94/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Niveaux
Les niveaux sont des limitations sur des paramètres
Cela permet aux décodeurs de limiter les ressourcesemployées pour le décodage
Débit de 64 kbps à 240 Mbps pour les profiles Baseline etExtended
Débit de 80 kbps à 300 Mbps pour le profile High
Résolutions : de QCIF, 15 fps à HD, 120 fps (ou 4K, 30 fps)
M. Cagnazzo Standard vidéo 95/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Optimisation de l’estimation du mouvement
Attention : procédé non normatif
Estimation régularisée
Pour chaque sous-mode i on calcule, sur chacun des blocset sous-blocs
JME = D(v) + λMER(v)
D peut être la SAD entre le blocs
R est le débit de codage du vecteur
M. Cagnazzo Standard vidéo 96/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : 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 lafonction de coût :
Jk(Q, λ) = Dk (Q) + λRk (Q)
D : distorsion du MB décodé en mode k (prédiction,transformée, quantification)R : débit du mode k (signalisation + MV + résidu)
M. Cagnazzo Standard vidéo 97/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Performances débit-distorsion
Comparaison des performances de codage
500 1000 1500 2000 2500 3000
30
32
34
36
38
40
42
rate − kbps
PS
NR
− d
B
M−JP2KMPEG−2H.264
M. Cagnazzo Standard vidéo 98/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
H.264 – Exemples d’images décodées
MPEG-2 H.264
M. Cagnazzo Standard vidéo 99/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
H.264 – Exemples d’images décodées
Motion JPEG2000 H.264
M. Cagnazzo Standard vidéo 100/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
H.264 – Exemples d’images décodées
MPEG-2 H.264
M. Cagnazzo Standard vidéo 101/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
H.264 – Exemples d’images décodées
Motion JPEG2000 H.264
M. Cagnazzo Standard vidéo 102/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Performance H.264Effet de la structure du GOP
400 600 800 1000 1200 1400 1600 180038
39
40
41
42
43
44
Rate − kbps
PS
NR
− d
B
IPPPI−B−P−B−PI−B−B−P−B−B−PI−B−B−B−P−B−B−B−P
M. Cagnazzo Standard vidéo 103/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Performance H.264GOP IPPP : Débit et PSNR par image
0 20 40 60 80 100 12010
3
104
105
106
Frame number
Cod
ing
rate
− b
its
foreman − Rate 751.27 kbps PSNR 39.89 dB
IP
0 20 40 60 80 100 12036
37
38
39
40
41
42
Frame number
PS
NR
− d
B
foreman − Rate 751.27 kbps PSNR 39.89 dB
IP
M. Cagnazzo Standard vidéo 104/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Performance H.264GOP IBPBP : Débit et PSNR par image
0 20 40 60 80 100 12010
3
104
105
106
Frame number
Cod
ing
rate
− b
its
foreman − Rate 771.12 kbps PSNR 40.46 dB
IPB
0 20 40 60 80 100 12036
37
38
39
40
41
42
43
44
Frame number
PS
NR
− d
B
foreman − Rate 771.12 kbps PSNR 40.46 dB
IPB
M. Cagnazzo Standard vidéo 105/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Performance H.264GOP IBBPBBP : Débit et PSNR par image
0 20 40 60 80 100 12010
3
104
105
106
Frame number
Cod
ing
rate
− b
its
foreman − Rate 773.14 kbps PSNR 40.49 dB
IPB
0 20 40 60 80 100 12035
36
37
38
39
40
41
42
43
44
45
Frame number
PS
NR
− d
B
foreman − Rate 773.14 kbps PSNR 40.49 dB
IPB
M. Cagnazzo Standard vidéo 106/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Performance H.264GOP IBBBPBBBP : Débit et PSNR par image
0 20 40 60 80 100 12010
3
104
105
106
Frame number
Cod
ing
rate
− b
its
foreman − Rate 767.99 kbps PSNR 40.32 dB
IPB
0 20 40 60 80 100 12035
36
37
38
39
40
41
42
43
44
45
Frame number
PS
NR
− d
B
foreman − Rate 767.99 kbps PSNR 40.32 dB
IPB
M. Cagnazzo Standard vidéo 107/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
NAL units
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 − 1octet de payload
Le header indique le type de payload
Dans le payload on introduit, si nécessaire, des emulationprevention bytes
Byte-Stream et Packet-Transport formats
M. Cagnazzo Standard vidéo 108/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Type de NALU par contenu
VCL NALU (modes, vecteurs, résidus)Non-VCL NALU (header, parameter sets)
Parameter set pour image et pour sequence
On peut appliquer l’UEP
M. Cagnazzo Standard vidéo 109/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Access unitStart
End
Acces unit delimiter
Primary coded picture
End of sequence
End of stream
SEI
Redundant coded picture
Une access unit (AU) produitune image
Une video sequence est unesuite de AUs
Au début d’une séquencevidéo il y a une image IDR(instantaneous decodingrefresh)
Un NALU stream peut contenirune ou plusieurs videosequences
M. Cagnazzo Standard vidéo 110/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalable Video Coding
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 compatibleavec H.264/AVC
M. Cagnazzo Standard vidéo 111/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité temporelle
Il suffit d’organiser les trames B de H.264 dans unestructure hiérarchique
La prédiction est toujours faite à partir d’une image dumême niveau ou de niveau inférieur
Les niveaux supérieurs ne sont pas nécessaires pour ledécodage
M. Cagnazzo Standard vidéo 112/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité temporelle : structure hiérarchique
2
3
0
5 6 7 8
1
4
M. Cagnazzo Standard vidéo 113/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité temporelle : structure non-dyadique
57
2
6
3
8 9
1
4
0
M. Cagnazzo Standard vidéo 114/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité temporelle : structure sans retard
21 3 5 7
84
6
0
M. Cagnazzo Standard vidéo 115/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité temporelle : performance
Performance de compression : choix des pas dequantification
Niveaux inférieurs finement quantifiés car ils servent deréférence aux niveaux supérieurs
Les valeurs optimales des pas de quantification dépendentdu signal
Formule simple pour le pas de quantification à niveau T :
QPT = QP0 + 3 + T
Meilleurs résultats si le retard est admis
M. Cagnazzo Standard vidéo 116/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Scalabilité en résolution : codeurSchéma pyramidale
ebq
FrameBufferMC
MCFrameBuffer
W
DCT VLC
IDCT
DCT VLC
IDCT
QB
QE
Q∗
B
Q∗
E
x
eB
eE
↓ 2
↑ 2
fB
fB
fB
eE
fEfE
M. Cagnazzo Standard vidéo 117/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Scalabilité en résolutionSchéma pyramidale
Double boucle : pas de drift
La vidéo d’entrée est filtrée et sous-échantillonnéeLa prédiction de niveau enhanced est la somme pondéréede :
L’image de niveau base interpoléeLa prédiction ME/MC
Le choix du poids est faite MB par MB et cette info estcodé dans le train binaire
M. Cagnazzo Standard vidéo 118/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Scalabilité en résolution : décodeurSchéma pyramidale
FrameBufferMCW
MCFrameBuffer
VLD IDCT
VLD IDCTQ∗
B
Q∗
E
↑ 2
fB
fB
fE
fE
M. Cagnazzo Standard vidéo 119/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Scalabilité en résolution : décodeurSchéma pyramidale
L’image à basse résolution est interpolée et pondérée
Interpolation linéaire
On obtient les information nécessaires pour le décodagedu niveau enhanced
M. Cagnazzo Standard vidéo 120/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité spatiale
Schéma pyramidale (comme dans MPEG-2)Nouveauté technique : la prédiction inter-layer
Les paramètres de codage d’un layer peuvent être préditsde un layer inférieurInter-layer motion predictionInter-layer intra et residual prediction
Scalabilité spatiale généralisée : le niveau supérieur peutavoir n’importe quelle résolution
M. Cagnazzo Standard vidéo 121/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité spatiale et temporelle
M. Cagnazzo Standard vidéo 122/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité en qualité
Coarse grain scalability
Medium grain scalability
M. Cagnazzo Standard vidéo 123/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité en qualité : CGS
Implémentée comme la scalabilité résolution, mais sanschanger d’échelle entre niveaux
Inter-layer Intra Prediction et Inter-layer ResidualPrediction dans le domaine transformé
Pas de drift
Petit nombre de niveaux (courbe à marche)
M. Cagnazzo Standard vidéo 124/130
MPEGH.264
Standards en cours de développement
H.264/AVCExtensions : H.264/SVC
Le standard H.264/SVCScalabilité en qualité : MGS
On peut définir des point d’accès aux niveaux de scalabilité
On introduit du drift pour gérer le compromis entreperformances des différents niveaux
On peut choisir entre les extrêmes : pas de drift (commeen MPEG-4/SNR) et drift libre (MPEG-2/SNR)
Key picture : pas de drift au niveau plus bas, drift admis auniveaux supérieurs
M. Cagnazzo Standard vidéo 125/130
MPEGH.264
Standards en cours de développement
Plan
1 La famille MPEGMPEG-1MPEG-2MPEG-4
2 H.264H.264/AVC
Définitions et schémaNouveaux modes et outilsProfils et niveauxOptimisation, performances, NAL
Extensions : H.264/SVC
3 Standards en cours de développement
M. Cagnazzo Standard vidéo 126/130
MPEGH.264
Standards en cours de développement
High Efficiency Video Coding
But : réduction du débit de 40% par rapport à H.264
Call for Proposal : janvier 2010
27 proposition soumises : évaluations subjectives
5 propositions retenue pour le reference software
Depuis mai 2010 : développement du standard
Finalisation prévue en 2013
Codecs industriels : Ericsson, Allegro, Vanguard Software
M. Cagnazzo Standard vidéo 127/130
MPEGH.264
Standards en cours de développement
High Efficiency Video CodingDifférences par rapport à H.264
Macroblock remplacés par coding uints (CU)Structure à quad-treeChaque CU contient des prediction units (PU)Chaque PU contient des transform units (TU)
33 Directions pour le codage INTRA
Codage des vecteurs (Advanced Motion Vector Prediction,Merge Mode)
Améliorations dans : bit-depth, filtre de deblocking,compensation du mouvement, transformée
M. Cagnazzo Standard vidéo 128/130
MPEGH.264
Standards en cours de développement
ConclusionsPour approfondir
1 A. Bovik. Handbook of image and video processing2 I. Richardson. H.264 and MPEG-4 Video Compression3 Special issues de IEEE Trans. Circ. Video Tech.
M. Cagnazzo Standard vidéo 129/130
MPEGH.264
Standards en cours de développement
Conclusions
MERCI DE VOTRE ATTENTION !
Questions ?
Contact : [email protected]
M. Cagnazzo Standard vidéo 130/130