Upload
eulalie-grand
View
107
Download
1
Embed Size (px)
Citation preview
Vidéo Numérique:Vidéo Numérique:Analyse et Analyse et
CodageCodageCours en Master ISMCours en Master ISM
Jenny Benois -PineauJenny Benois -Pineau
Partie IIPartie II
Université Bordeaux -1Université Bordeaux -1
Programme du cours (I)• 1. Introduction. Video dans des systèmes
multimédia• 2. Aspects technologiques
– Formats, numérisation, résolution, couleur
• 3. Analyse et estimation du mouvement dans la vidéo
• 4. Notions de la théorie de l’information• 5. Codage sans pertes des informations
multimédia • 6. Codage prédictif (MICD) et
quantification des signaux visuels• 7. Eléments de codage par QV• 8. Transformées orthogonales et codage
par transformées. Application au codage. JPEG, MJPEG
9. Normes et standards de codage vidéo avec la compression
Algorithmes MPEG1, MPEG2Les premier codecs des images animées :
1974 : pour un service des visioconférence à 6 puis à 2 Mbit/s
1984 : nouvelle génération de codecs pour la visioconférence (début de l’étude) : TCD, Compensation du mouvement. Normes et standards
1989 : norme H.261 couvrant les débits de 64 Kbit/s à 2 Mbit/s (CCITT-IUT-T) nx64 Kbit/s
1992 : ISO MPEG1 : codage des images animées pour le stockage, le débit 1-1.5 Mbit/s (dérivé de H. 261) optimisé pour CD-I - ISO/IEC 11172, 1992
1993-95: ISO MPEG2 : Le codage générique de haute qualité pour TV numérique et TVHD – ISO/IEC 13818, 1995
Video : ITU – T H.262
1993-97 : ISO MPEG4 (version 1) : Le codage générique multi-fonctionnel, avec éléments d’analyse / synthèse à bas débit et manipulation des scènes vidéo. ISO/IEC 14496-1 : 1998 IT – Coding of Audio-Visual Objects
H.263 : recommendation IUT-T
Normes et standards vidéo
• 2003 MPEG4 10 et H.264 – ISO/IEC 14496-10 et Rec. H.264 Advanced Video Coding
• 1998-2001: ISO MPEG7 – Multimedia Content description Interface: description du contenu des flux multimédia.
9.1. Fondements des standards MPEG1 et
MPEG2 • MPEG = « Motion Picture Expert Group »
• Standards MPEG1 et MPEG2 (ainsi que les normes H.261, H. 263, H.264) sont conçus selon les mêmes principes fondamentaux :
• Vidéo :- codage hybride : spatial et temporel avec la compensation du mouvement;- codage spatial : TCD, quantification, codage entropiqueappliqué à l’image d’origine ou au signal d’erreur .- prédiction par compensation du mouvement basée bloc (ou macro-bloc).
• MPEG1 vidéo : débit cible : 1,5 Mbit/sec• MPEG2 vidéo : 2-15 Mbit/sec voir plus (TVHD)
• Les standards spécifient l’architecture du train binaire et les décodeurs, mais ne spécifient pas les méthodes de génération des trains binaires.
• Compatibilité descendante entre MPEG2 et MPEG1 : le décodeur MPEG2 décode le train binaire MPEG1.
Spécifications MPEG1, MPEG2
• Trois composants des standards
- Vidéo;
- Audio;
- Système (le système de multiplexage)
Source Vidéo
Source Audio
Encodeur vidéo
Encodeur audio
Horloge système
Multi-plexeur
Et encodeur
système
Schéma générique des codeurs MPEG1,2
Codage du mouvement
TCD
Prédiction par mvt
Image précédente
Estimation du mvt
Décodage
Décodage
+
+-
)1,,(ˆ tyxI
),,( tyxe ),,( tyxI c
cv
),,(ˆ tyxe
),,( tyxI p
t=0?
),,( tyxI
Q
Vers VLC
cv
-Vecteurs de déplacement
),,( tyxI - Image d’origine
),,( tyxe - Signal d’erreur
)1,,(ˆ tyxI - Image codée et décodée
Structure d’une séquence vidéo
(I) • Base : GOP = « group of pictures »
I – « intra-coded» - codage spatial type JPEG
P – « predictive-coded », « forward predicted » par compensation du mouvement à partir de l’image de référence précédente
B – bidirectionnaly predictive coded (par rapport au passé et /ou futur)
N – la distance entre deux images I sucessives = longueur d’un GOP
M – la distance entre deux images de référence (anchor frames) I-P ou P-P - paramètrable
Structure d’une séquence vidéo (II)
• Valeurs typiques :
• (1) N = 12 ou 15 = 0,5 sec pour Pal/SECAM et NTSC respectivement
• (2) M=1 -> absence des images B
• M=1,2,3
• Les images B assurent des taux de compression plus importants
• Ordre d’affichage et d’encodage d’un GOP
Ordre d’affichage
0 1 2 3 4 5 6 7 8 9 10 11 12
Ordre d’encodage
0 3 1 2 6 4 5 9 7 8 12 10 11
Type d’encodage
I P B B P B B P B B I B B
Structure d’une séquence vidéo (III)
• Règles de composition d’un GOP
• (1) Dans l’ordre d’encodage, ou dans le train binaire, la première image dans un GOP est toujours une image I
• (2)Dans l’ordre d’affichage ( à la sortie du décodeur), la première image peut être soit I, soit la première image B dans la série des images B juste avant la première image I
• (3) La dernière image dans un GOP est toujours soit I soit P
• (4) Le premier GOP dans une vidéo commence toujours avec une image I.
Exemples • MPEG1 7ips, N=12, M=3
• MPEG1 25 ips, N=12, M=3
CERIMES, « De l’arbre à l’ouvrage »
Structure hiérarchique du train binaire des standards MPEG1,2
• Le train binaire des standards MPEG1,2 est organisé de façon hiérarchique en ensemble de niveaux (layers).
• Layer = layer header + layer data.
Ensemble des niveaux
1. Séquence : Sequence layer
2. GOP : GOP layer
3. Image : Picture layer
4. Couche : Slice layer
5. Macro- Bloc: MB layer
6. Bloc: Block layer
Structure hiérarchique d’une séquence vidéo
Sequence
GOP
Picture
Slice
MB (16x16)
Block 8x8
Propagation de l’erreur en MPEG1
• Limitations de la propagation spatiale : chaque « slice » est encodé indépendamment des autres
• Limitations de la propagation temporelle si l’erreur est observée sur une image B, alors
elle est limitée à cette image si l’erreur est observée sur une image I, alors
elle peut se propager uniquement dans le GOP courant.
IBBPBBPBBPBBI
si l’erreur est observée sur une image P, elle
peut se propager uniquement jusqu’à la fin du GOP courant.
Erreur
Erreur
Codage indépendant
Codage inter/intra-frame par macro-bloc (I)
Sequence
GOP
Picture
Slice
MB (16x16)
Block 8x8
Au centre de notre intérêt!
Codage inter/intra-frame par macro-bloc (II)
I. Images P
Modes de codage : inter-frame, intra-frame
a) Inter-frame :
- codage du vecteur de déplacement V
- codage de l’erreur de compensation
Image P courante
Image de référence
Codage des images Pmode Inter-frame
Image P couranteImage de référence
Vecteurs de déplacement, (distance IP M=3), SFRS, « Aquaculture en Méditerranée »
Exemples -MPEG2, M-blocs 16x16
• Les vecteurs de déplacement en MPEG1et 2 sont encodés à la précision de 0,5 pixels.
Codage des vecteurs de déplacement
yxjiIyxjiIxyjiI
yxjiIyxI
)1)(,1()1,1()1)(1,(
)1)(1)(,(),(~
1;5,0;0, yx
En MPEG1 les vecteurs de déplacement sont limités : forward search window: -11...11 / -11...11forward vector range: -16...15.5 / -16...15.5
Types des MB dans les images P en mode Inter-Image
• Par rapport au :
- compensation du mouvement
- codage de l’erreur de compensation du mouvement
• (1) Motion compensated (MC) :
- erreur peut être codé;
- non-codée
• (2) No-motion compensated (No MC)
- pas de compensation et de codage d’erreur (« skipped ») – le block est directement récupéré de l’image de référence précédente:
- pas de codage du mouvement, mais uniquement l’erreur;
• Ces modes sont désignées par des bit-flags dans l’entête des MB.
Les MB « skipped »Image P courante
Image P ou I de référence
Prediction « forward » sans compensation du
mouvementD’après MPEG2 FAQ C. Fogg, Univ. de Berkeley
b) Codage des MB en « Intra »
• Décomposition en blocs 8x8 pixels
- Codage du signal YUV (intra)
- Mais aussi : Codage du signal d’erreur (inter)
Codage en mode Intra dans les images P
)1/,,(ˆ)1,,(̂),,(̂ ttyxetdyydxxItyxIAlgorithme de codage : ~JPEG
Exemple du codage P-frame (MPEG1)
• picture statistics:• # of intra coded macroblocks: 229 (14.1%)• # of coded blocks: 2093 (21.5%)• # of not coded macroblocks: 277 (17.1%)• # of skipped macroblocks: 829 (51.2%)• # of forw. pred. macroblocks: 509 (31.4%)• # of backw. pred. macroblocks: 0 (0.0%)• # of interpolated macroblocks: 0 (0.0%)
Pour image 64 dans le flux
Hiragasy, SFRS
Cartes des MB de la scène 2
skipped
Variation du nombre des blocs
codés « Intra » dans les images P
Aquaculture en Méditerranée,
SFRS..\2005_2006\MPEG1-2\aqua2_21.mpg
Nombre des MB Codés en Intra dans les images P
0
10
20
30
40
50
60
1 11 21 31 41 51 61 71 81 91 101 111 121 131
NbF
Q Série1
Changement de plan
Codage inter/intra-frame par macro-bloc (III)II. Images B
Modes de codage : inter-frame, intra-frame
a) Inter-frame :
- 3 possibilités de sélection du meilleur vecteur
Image B courante
Image de référence précédente (I ou P)
1d
2d
A
C
Types des MB dans les images B en mode Inter-Image
• (1) Motion compensated (MC) :
- par le passé « forward-predicted »:
compensation par blocA
- par le futur « backward – predicted »:
compensation par block C
- bi-directionnel « interpolated » : et
compensation par (bloc A + bloc C)/2
Codage d’erreur
- pas de codage;
- codage
• (2) Pas de compensation du mouvement– Intra- image d’origine
– Inter – pas de codage : skipped
1d
2d
1d
2d
Exemple des statistiques des MBs
B-frame
• Image B : 63 du clip Hiragasy• picture statistics:• # of intra coded macroblocks: 120 (7.4%)• # of coded blocks: 1494 (15.4%)• # of not coded macroblocks: 1016 (62.7%)• # of skipped macroblocks: 157 (9.7%)• # of forw. pred. macroblocks: 615 (38.0%)• # of backw. pred. macroblocks: 404 (24.9%)• # of interpolated macroblocks: 481 (29.7%)
1d
2d
« Skipped » MB dans les images B-frames : quand le vecteur de déplacement est le même que pour le bloc précédemment codé dans la même image
2/))1,()1,(( 21 tdpItdpI
id
1id
1 ii dd
Codage des images I et de l’erreur de
compensation du mouvement (I)
• Les macros-blocs dans les images I sont tous codées en mode intra –image par blocs de 8x8 pixels - « Intra-macroblocs ».
• Les macros-blocs dans les images P et B codés en mode intra –image sont codés de même façon.
• Les macros-blocs codés en mode « inter » avec l’erreur de compensation de mouvement sont codés avec le même algorithme, mais avec une matrice de quantification spécifique (Test Model 5, 1993).
• Algorithme de codage : similaire au JPEG.
Algorithme de codage
TCD
Quantification
Balayage Zig-Zag
CULV
(1) W - matrice de quantification
(2) manquant - pas de quantification, défini pas le méchanisme du contrôle de débit, propre à chaque macrobloc.
bloc 8x8
Quantification des blocs Intra (MPEG1) (I)
ACDC
Précision initiale des coefficients DC : 11 bits
Quantification sur 8, 9 et 10 bits
8-bit : QDC = dc//8
9-bit : QDC = dc//4
10-bit : QDC = dc//2
// - division entière avec arrondi
Images « DC »
Quantification des blocs Intra (II)
Coefficients ac :
Valeurs avec le pas de quantification par bloc
jiWjiacjiac i ,//)),(*16(),(~
)*2/()//**),(~(
),(~),( mquant
qmquantpjiacsign
jiacjiQAC
p3, q=4
8369564638352927
6956463834292726
5848403532292726
4840353229272622
4037342927262222
3834342927262219
3734292724221616
342927262219168
iW
Matrice de quantification des blocs intra
Quantification des blocs en mode inter-image
Particularités : la matrice de quantification pour le « non-intraquantizer » est plus « plate ».
C’est le signal d’erreur qui est quantifié et donc la distribution de l’énergie dans les coefficients DCT est plus uniforme
)*2/(),(~),( mquantjiacjiQAC
3331302827252423
31...22
30...21
28...20
2726242322212019
25...18
24...17
2322212019181716
NW
Matrice de quantification des blocs intra
• MPEG1 est destiné aux formats progressifs
et au stockage local ( CD ROM, DD).
Les mécanismes de protection contre les erreurs de transmission ne sont pas suffisamment développés.
• Formats d’entrée :
SIF 625 352x288 ou SIF 525 (352x240)
Chroma : 4:2:0
Formats d’entrée MPEG1 et applications
- valeur Y - valeurs Cr,Cb
19.2 Standard MPEG2
La structure fondamentale et les algorithmes de codage MPEG2 sont les mêmes que pour MPEG1(*) - architecture I,B,P(**) - codage du mouvement par macro-bloc(***) - TCD intra-frame et inter-frame
Pourquoi MPEG2 ? – pour répondre aux besoins - de résolution et de qualité supérieures;- de compatibilité avec le parc d’équipement ( TV) et les canaux de transmission hétérogènes- de protection contre les erreurs de transmission dans des canaux bruités …
Applications MPEG2
• Télévision numérique SD et HD;
• DVB ( satellite), DTTB(TNT),
• Production et archivage de la vidéo HD
• VOD
• Digital Cinéma via satellite, Internet large bande
• Qualité de télédiffusion SD est associé à un débit à 6Mbit/s pour un seul programme vidéo
• Qualité HD >15 (19 et plus) Mbit/sec.
Décodeur vidéo MPEG simplifié
Vecteurs de déplacement V
Train binaire codé
Compens. MvT
Mémoire-
image
TCD Inverse
Balayage inverse et déquantif
Décodage LV
pels
+
D’après ISO/IEC, MPEG2 Test Model 5, Avril, 1993
Spécificités technologiques du MPEG2
• (1) MPEG2 traite les images vidéo progressives et entrelacées Moyens du standard :
- field/frame prediction modes - field/frame DCT• (2) MPEG2 permet d’assurer une meilleure qualité
visuelle à la résolution spatiale et temporelle égaleMoyens du standard :
- matrice de quantification propriétaire, un mode de balayage supplémentaire (alternative scan order vs. Zig-zag).
• (3) Compatibilité et adaptation aux moyens matériels de visionnage et de la transmissionMoyens du standard - scalabilité- chroma supporté 4:2:0, 4:2:2, 4:4:4
• (4) Orientation vers la transmission plutôt que vers le stockageMoyens du standard- mécanismes de récupération de l’erreur « error concealment », ex. « concealment motion vectors ».
Modes de prédiction image/trame
Image - frameTrame supérieure
« Top field »
Trame inférieure
« Bottom field »
Modes de prédiction image/trame (II)
Image PréditeImage de référence
Mode Field : Chaque trame peut être prédite
- soit par la trame de la même parité
- soit par la trame de la parité opposée
- Ainsi dans les images P pour le mode « field » deux vecteurs du mouvement sont possibles.
Field/frame prediction (III)
Image de référence Image Prédite
Mode Frame : un seul vecteur de déplacement par macro-bloc, les deux trames sont considérées comme une image
Sélection des modes de prédiction par le mouvement
Critère de sélection : minimisation du critère de la mise en correspondance ( MAD ou EQM).
Quelques indications :
- Si le mouvement est fort, le mode de prédiction « field » sera la meilleure ;
- Si le mouvement est faible alors le codage progressif ( frame ) conviendrait.
Un mode supplémentaire : « dual prime prédiction » - permet de coder les vecteurs de déplacement de façon différentiel en économisant le débit pour le codage de vecteurs de déplacement des trames;
Support du mode entrelacéfield/frame DCT (I)
Macroblock Frame DCT
Mode image (frame) pour le codage des blocs (DCT) :
Chaque bloc 8x8 contient les pixels de deux trames (supérieure et inférieure) et la transformée DCT est appliquée à un tel bloc;
Support du mode entrelacéfield/frame DCT (II)
Macroblock Frame DCT
Mode field DCT : chaque bloc 8x8 contient les pixels d’une seule trame et la transformée DCT est appliquée à un tel bloc;
L’intérêt : quand le mouvement est fort, le décalage spatial entre les trames est important ; cela peut amener à une variation importante de la luminance, donc à l’augmentation de la haute fréquence.
Balayage alternatif
Zig-zag: plus convenable
pour la vidéo aux formats progressifs
Balayage alternatif : a été proposé pour le mode frame DCT:
Statistiquement, l’énergie s’avère plus forte dans les hautes fréquences. RLC est donc plus efficace
Support du mode entrelacéField DCT(I)
Macroblock
Exemple du mouvement fort nécessitant le mode « field DCT »
N
vy
N
uxyxfvCuC
NvuF
N
y
N
x 2
)12(cos
2
)12(cos),()()(
2),(
1
0
1
0
Scalabilité • Scalabilité : capacité d’avoir dans le même train
binaire plusieurs versions de la source. • Dans le train binaire scalable on peut omettre des
parties spécifiées et décoder une image complète avec la qualité correspondante au débit utilisé
• Scalabilité en MPEG2
• Spatiale : le décodeur peut décoder les images de plusieurs résolutions
• Temporelle : une vidéo peut être décodée à la cadence temporelle différente
• SNR : la qualité différente d’une même source vidéo déterminée par le pas de quantification.
• Les trains binaires scalables contiennent toujours le « niveau de base » - la version « minimale » de la source.
Scalabilité spatiale
Source HD
Filtrage spatial
et sous-échantillonnage
SDCodage MPEG2
Décodage et sur-échantillonnage
Encodeur
MPEG2
Base layer
Enhancement
layerPrédiction
Prédiction
Le niveau de base est encodé indépendamment des niveaux d’amélioration
Scalabilité temporelle
Source
Décodage
Encodeur
MPEG2
Base layer
Enhancement
layer
Encodage
Profils et niveaux (I)La diversité des résolutions et des qualités d’encodage est formalisée en MPEG2 à l’aide des profils et niveaux.
Profil : est défini comme un sous-ensemble de la syntaxe complète du train binaire
Niveau : des niveaux sont définis à l’intérieur de chaque profil. Le niveau (level) est défini comme l’ensemble des contraintes imposées sur les paramètres du train binaire (par exemple, la résolution spatiale des images)
Notation : profile@level,
Ex. MP@LL signifie main profile@low level
Profils et niveaux (II)Profile Level Commentaire
Simple main
Main low,main,
High-1440,
High
SNR Low, main scalable
Spatial High-1440 ( base layer + SNR), High-1440(Base layer + spatial)…
scalable
High Profile Main (Base layer + SNR), Main (Base Layer + spatial)…
Scalable
Profils et niveaux. Exemples (III)
Profile Level Résolution max,
Nbr niveaux
Simple main 720/576/30
Main low,
main,
High-1440,
High
352/288/30
720/576/30
1440/1152/60
1920/1152/60
SNR low,
main
352/288/30, 2 niveaux
720/576/30,
2 niveaux
Spatial High-1440 ( base layer + SNR),
High-1440(Base layer + spatial)…
2 niveaux : base 720/576/30 ou 352/288/30 ou 768/576/30
Etc..
Enh. 1440/1152/30
Etc..
MPEG 2 System • Flux de programme (program stream)
• Flux de transport (transport stream).
• Le flux de transport est conçu pour communiquer ou enregistrer un ou plusieurs programmes audio, vidéo ou autre.
• Avant qu’un flux vidéo puisse être décodé, il doit être extrait du transport stream.
Décodeur
du canal
Démulti-
plexeur du TS
Horloge
Décodeur vidéo
Décodeur audio
Canal
TS contenant 1 ou plusieurs programmes
9.3. Technologies des normes de la nouvelle génération
H.263/MPEG4 V1.
H.264/MPEG4 AVC
Principes clés :
Codage intra-image et inter-image par des blocs de taille variable et par combinaison des blocs (H.264)
Sélection du meilleur mode intra/inter, configuration locale
Codage au sens débit/distorsion.
La norme H.264
• Le standard de codage vidéo qui dépasse les performances de H.263/MPEG4-V1
• L’intitulé AVC = “Advanced Vidéo Coding”
• Fait partie de MPEG4 = V. 10
• ISO/IEC 14496-10 and IUT Rec H.264
• Date 2003
Représentation et compensation
du mouvement H. 264
Partition arborescente récursive :
- décomposition des macroblocs 16x16: 16x16, 2x 16x8, 2x8x16, 4x8x8
- décomposition des blocs 8x8 :
8x8, 2x8x4,2x4x8, 4x4x4
Estimation du mouvement
MPEG2 – uniquement 1 niveau : estimation du mouvement sur de macro-blocs 16x16,
H. 263 /MPEG4 V1 – uniquement 2 niveaux : 16x16 et 8x8
Image courante à encoder
Image de référence précédente
Principe: recherche du vecteur optimal au sens d’un critère de compensation
H.264 : Compensation du mouvement « arborescente »
8x8
16 x 8 8 x 16 8 x 8
8x4 4x8
4x4
La partition la plus fine : par de blocs de taille 4x4 pixels.
Exemple de décomposition optimale H. 264
From Iain E.G. Richardson : H.264 and MPEG-4, WIley, 2003, curtesy to the author
Codage optimal au sens débit/distorsion
- D(C) : distorsion du codage ;
- R(C) : débit associé au codage.
.
D(C)
R(C)
H. 264: Comment choisir la partition optimale étant donné le débit maximal à respecter.
Partition optimale : pour le débit donné choisir la partition minimisant la fonctionnelle d’erreur.
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (1)
• D’après E. Reusens, « Joint optimization of representation model and frame segmentation for generic video compression », Signal Processing, 46, 1995, 105 – 117
• Problème classique de la théorie d’allocation des ressources :
• Etant donné un quota de ressources, déterminer la distribution parmi l’ensemble d’activités pour maximiser le rendement.
• Notations : L – un ensemble fini des stratégies admissiblesB – une stratégie :
- fonction du rendement - « ressource »
LB)(BH
)(BR
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (2)
Formulation du problème : trouver la stratégie qui maximise le rendement sous contrainte
ou
Fonction de « rendement » de Lagrange
- multiplicateur de Lagrange
LB *
)(BH
cRBR )(
cLB
RR(B)BH
contrainte sous)(max
)()()( BRBHJ
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (3)
• Théorème :
•
λBRR
BλRH(B)J(λ(
B
*c
LB
avec
contrainte la avec problèmedu solution laest
pbau solution la ,0
max
*
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (4)
Formualtion pour le codage de la source : minimiser la distorsion D(B) sous contrainte du débit disponible
Mesure de distorsion
-erreur quadratique du codage (ou de compensation du mouvement).
La recherche exhaustive de la solution optimale sous contrainte n’est pas possible à cause de la multitude des solutions.
Minimisation du fonction de coût de Lagrange.
budgetLB
RR(B)BD
contrainte sous)(min
2M
0j
N
0i
),ˆ),()ˆ,( jiIjiIIID
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (5)
La solution est basée sur le théorème
(1) Trouver tel que
(2) Trouver la solution B*
c budgetRBR )( *
)()(min* BRBDArgB c
)()()(min* BRBDJArgB cc
Nous allons considérer d’abord (2) : comment minimiser pour fixé. )(J
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (6)
• Le plan-image est tout d’abord divisé en ensemble des N macro-blocs MB non-recouvrants.
• La fonctionnelle est additive par la nature de D et de R.
• Donc la minimisation pour l’image complète peut être effectuée indépendamment pour chaque MB.
)(min)min(
min))(min(
11
N
iii
N
ii JRD
RDJ
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (7)
• Les configurations de Reusens
1 config 4 6 4
1
16 configurations au total, pour chaque nœud en plus inter-intra
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (7)
• 1. Pour chaque nœud on choisit le mode optimal ( ex. inter/intra)
• 2. Pour chaque nœud macro-bloc MBi on choisit la configuration minimisant - additive.
• Ensuite on peut remonter vers les partitions plus grossières en effectuant la récursion « des feuilles vers le sommet » sur l’arbre de la partition du plan-image.
• Dans un codec H. 264 on s’arrète au niveau MB car un MB est l’unité la plus grande de partition.
• Calcul du Débit R, Distorsion D et J globales par image :
)(iJ
N
ii
N
ii
N
ii RRJJDD
1,
11, ,
Construction d’une partition optimale au sens débit –
distorsion des images vidéo (8)
• Considérons maintenant (1) : trouver
• La fonction R(B) est monotonne vis-à-vis de
• Il s’agit de trouver la racine de l’équation
• Algorithme : 1.1 Choisir1.2. Appliquer la méthode de bissection :
– Calculer – Si alors sion f-si1.3 Condition d’arrêt :
1212 RR
0)()( budgetRRF
0,0)(: 2112 FF
221
kkk
associé et)(min kk RJ
)( kF
0)()( 1 kk FF ,2 kk
,1 kk
budgetk RR
H. 264 Nouveautés Fondamentales
• Compensation du mouvement avec la structure de l’arbre;
• Transformation DCT “entière”;
• Mise en échelle des coefficients de DCT.
• Codage entropique “CABAC” – Content – Based Adaptive Binary Arithmetic Coding
Structure arborescente des macro-blocks
16x16 pels
8x8 pels
4x4 pels
Codage des vecteurs de déplacement
• Le nombre de vecteurs de déplacement peut être important à cause de la taille variable des blocs.
• Codage prédicitif :
• MVD = MV -MVp
Prédiction des vecteurs de déplacement
A
B C
E
16x16
16x84x8B
A8x4
C
E
(1)E=med(A,B,C)
(2) Prédiction par voisinage causal pour les partitions 16x8 et 8x16
Approximation de TCD en H.264(1)
• Objectifs : réaliser des calculs en entier autant que possible;
• Limiter la dynamique des coeficients ( calculs avec la représentation sur 16 bits)
• Au lei de la TCD 8x8 on propose une transformée approximant la TCD 4x4 pels.
Approximation de TCD en H.264(2)
• TCD pour les blocs de taille 4x4
caba
baca
baca
caba
X
cbbc
aaaa
bccb
aaaa
AXAY T
8
3cos
2
1,
8cos
2
1,
2
1 bcba
Approximation de TCD en H.264(3)
• On démontre que cette multiplication matricielle peut être factorisée
E
d
d
d
d
X
dd
ddECXCY T
111
111
111
111
11
1111
11
1111
22
22
22
22
babbab
abaaba
babbab
abaaba
E 414.0b
cd
Signifie la multiplication élément par élément
TCXC S’appelle la « transfromation principale »
Approximation de TCD en H.264(3)
• Pour simplifier les calculs on approxime
• Alors pour maintenir l’orthogonalité des fonctions de base, on modifie
• Enfin pour éviter les multiplications par 0.5 on multiplie 2ème et 4ème lignes de C par 2 et 2ème et 4ème colonne de CT de même
• On compense cela dans la matrice E
,2
1414.0
b
cd
5
2,
2
1 ba
Approximation de TCD en H.264(4)
ffTff E
XEXCCY
1121
2111
2111
1121
1221
1111
2112
1111
4/2/4/2/
2/2/
4/2/4/2/
2/2/
22
22
22
22
babbab
abaaba
babbab
abaaba
E f
Approximation de TCD en H.264(5)
• Transformée inverse
Orthogonalité :
2
111
2
11111
12
1
2
11
1111
2
1111
112
11
112
11
2
1111
iiiTi E
YCEYCX
Remise en échelle – différence avec la quantification inverse
XXTT 1
9.4.Standard Multimédia MPEG4
PLACEMENT DES OBJETS DANS DES SCENES SELON L’ORDRE DE
PROFONDEUR
”2D and 3D scenes may be composed and overlapped on the screen using Layer2D and Layer3D nodes ;”
L’ordre de profondeur est traduit comme des neuds spécifiques dans le graphe de la scène
R. Forscheimer
Image obtenue par H.Nicolas, IRISA/INRIA
VISUAL PROFILES ET LEVELS (2) • “Simple profile” : le plus populaire. • Un CODEC compatible avec Simple
profile utilise les moyens suivants : • I-VOP ( rectangulaire, progressif)• P-VOP (rectangulaire, progressif)• Short header ( mode compatible avec H.
263, assure l’identité des entêtes des I et P VOPs)
• Les moyens pour la compression efficace (cf. H.263, 4 vect de mouvement , prédiction Intra, etc.)
• Les moyens pour la transmission efficace (paquets vidéo, partitionnement des données, des codes à longueur variable réversibles)
• Paquets vidéo = slices de MPEG1,2. Permettent d’arrêter la propagation de l’erreur de transmission.
VISUAL PROFILES ET LEVELS(2) • “Advanced Simple Profile” : est paru dans
la version plus récente du standard.
• Par rapport au Simple Profile il contient :
• B-VOP (rectangulaire, progressif)
• Les vecteurs du déplacement à ¼ de pixel près.
• Quantificateur alternatif : possibilité de quantifier les coefficients AC avec une matrice spécifique
• Global Motion Compensation :
(x, y)i, (dx,dy)i
i=1,…,4
GMC est encodé dans l’entête du VOP, “sprite” objects
10. Eléments d’analyse sur le flux compressé
• Segmentation temporelle du flux en plans de montage
• Plusieurs approches utilisant les paramètres des flux encodés
• Variété de méthodes pour MPEG1 – 2:
• (1) Evaluation de la variation du débit associé aux images B
• (2) Utilisation des vecteurs du mouvement et des images DC