cours 4 - CRIStAL

Transcription

cours 4 - CRIStAL
Télévision analogique
La compression vidéo
! Red/Green/Blue : RGB
! Luminance :
"
"
réponse de l'oeil à l'ensemble des longueurs d'ondes d'une
source lumineuse
transporte la "luminosité" (N/B) et la "brillance"
! Chrominance : couleur
! transformation en 3 autres signaux
! oeil moins sensible à la couleur qu'à la luminance
1
Télévision analogique
Télévision digitale
! Luminance : Y = .30R + .59G + .14B
! NTSC : nuance (hue), saturation, Y/I/Q
"
"
! Qualité studio TV :
• luminance : 720*(486 ou 576 lignes)
• chrominance : 360 * (486 ou 576 lignes)
• Codage : 4:2:2
I = 0.74 (R-Y) - 0.27 (B-Y)
Q = 0.48 (R-Y) + 0.41 (B-Y)
! Qualité vidéo-conférence : H.261
! PAL : 2 signaux de chrominance, Y/U/V
"
"
2
"
U = 0.493 (B-Y)
V = 0.877 (R-Y)
Common Intermediate Format :
• Y = 352*288, U/V = 176*144
• Codage : 4:1:1
• Quarter CIF, Super CIF
3
4
! Vidéo : visiophonie
"
• téléphonie visuelle sur le RNIS [« ISDN »]
(Réseau Numérique à Intégration de Services, 64 k bit/s)
• formats image CIF (« Common Intermediate Format ») et QCIF (« Quarter CIF »)
• débits : px64 k bit/s (p : de 1 à 30)
! CD-Rom : 640 Mo,
"
"
"
1990 : H261
"
soit 72 minutes de son non compressé
mais 30 secondes de TV (90mn = 120Go)
… d’où la compression
1996 : H263
• débits inférieurs car pour réseau LAN (28.8 k bit/s)
• formats image SQCIF, 4CIF, 16CIF
30 images/s
5
MPEG2
! Vidéo : archivage et diffusion
"
6
1988 : fondement de MPEG
• « Moving Picture Coding Experts Group »
• 3 parties : Vidéo, Audio et Système (le « stream »)
"
1993 : MPG1
"
• but : la qualité VHS sur un CD-ROM (=> stockage)
débit bas de 1.5 M bit/s (ima. 352x288 + audio)
• un accès aléatoire au sein de la séquence
"
1998 : MPEG4
• décomposition de la scène en éléments VOP
–
–
–
–
–
1994 : MPEG2
• but : diffusion de la vidéo (=> application télévisuelle)
• adaptation aux formats (« scalabilité »)
– taille image 4/3 16/9
– entrelacé ou non, formats 4:2:0, 4:2:2, 4:4:4, compatibilité entre niveaux de qualité
(normale<-> HDTV) ….
• MPEG3, originellement prévu pour la HDTV (TV Haute définition) est inclus dans
MPEG2
7
VOP « Video Object Plane »
chaque élément = une composante audio + une comp. Vidéo
éléments réels ou de synthèse, forme arbitraire, …
scalabilité
une « boîte à outils de compression» pour les VOP
• débits : 5 k bit/s à 5 M bit/s pour la vidéo
2 k bit/s à 64 k bit/s pour l ’audio
"
2000 : MPEG7 pour le multimédia (… jusqu ’à la
description sémantique de la scène)
8
Les types de signaux vidéo
"
"
Vidéo numérique
• sous-échantillonnage de la chrominance :
3 types de signaux vidéo, les 3 composantes sont :
– 4:4:4 : pas d ’échant.
– 4:2:2 : échant. horizontal
d ’un facteur 2
– 4:1:1 : échant. horizontal
d ’un facteur 4
– 4:2:0 :
» échant. horizontal et
vertical d ’un facteur 4
» positionnement du pixel
de chrominance
• soit séparées
=> large bande + synchronisation
• soit mixées (vidéo composite) => interférences
• S-VHS (mixage que des chrominances) => compromis
"
Vidéo analogique :
• NTSC
– 525 lignes/image dont 20 lignes de contrôle (TV ~320 lignes)
– image entrelacée
– 30 images/s, modèle YIQ
• PAL
– 625 lignes/image
– 25 images/s
– image entrelacée, modèle YUV
Y+Cr+Cb :
9
• Normes pour la vidéo numérique par le CCIR
(« Consultative Committee for International Radio »)
Cr+Cb
:
Y
:
10
• Normes pour la TV numérique par le ATSC
(« Advance Television Systems Comittee »)
1995 : la norme pour la HDTV ( « High Definition TV » )
– débit : ~165 M bits/s pour CCIR 601 (NTSC)
– CIF ~ qualité VHS
– format 4/3
progressif
11
12
Standard H. 320 : famille pour RNIS
Standard H. 261
! Vidéo : H.261
! Audio : G.711, G.722, G.728
! Structure des blocs vidéo et audio : H.221
! Multiplexage information de contrôle : H.230
! Unités de Contrôle Multipoint : H.231
! Prise de connexions : H.242
! Encription : H.233
! Format d'image :
"
"
352x288/luminance, 176x144/chrominance
CIF mais aussi 1/4 de CIF -> QCIF
! Débit d'images : max 30 im/s
! Compression :
"
"
ressemble à MPEG
avec plus de pertes
13
Nouveaux standards
14
Video: bande passante
! H.321 : réseaux B-ISDN
! H.322 : réseaux locaux avec qualité de service
garantie
! H.323 : QoS non garantie ; LAN, Internet
! H.324 : RTC (ShareVision de CreativeLabs)
15
16
Video: autres criteres
Compression de l’image animée
! Variation du délai : (suivi des lèvres)
"
HTDV : 50 ms, TV : 100 ms, Conférence : 400 ms
! Erreurs de transmission
"
"
"
"
exemple : taux d'erreur 10-5
Conférence : 1 sec. entre 2 images erronées
TV : 2 erreurs par image
HDTV (compressé) : 4 erreurs par image !
! Corrélation spatiale
! Corrélation temporelle
! Réduction spatiale uniquement :
"
"
Motion-JPEG (M-JPEG),
facile à décompresser
! Réduction spatiale et temporelle :
"
famille MPEG-vidéo
17
Famille MPEG
18
MPEG: principe
! MPEG-1 : 352x240(NTSC) ou 352x288(PAL)
"
"
Qualité VCR, compression : ~ 25:1
Pour stockage, 0.2 Mbps(audio) + 1.2 Mbps(vidéo)
! MPEG-2 :
"
"
Qualité "broadcast", voire HDTV
Entre 4 et 6 Mbps
! MPEG-4
"
Vidéo-conférence, moins de 64 kbps
19
! Macroblocs de 16x16 pixels/lum., et 8x8/
chrom.
! Images de référence : Intracoded (I), JPEG
! Images prédites : Predicted (P)
! Images interpolées : Bidirectionnal (B)
! 2 paramètres : intervalles entre deux P (m) et
entre deux I (n)
20
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 (group of pictures)
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
21
Codage des images P
mode Inter-frame
Image de référence
22
MPEG: principe
Image P courante
F1
F3
! F1 : Intracodé, pas construite à partir d'autres
! Certains blocs de F3 sont construit à partir de
F1 par un vecteur de mouvement
23
Vecteurs de déplacement, (distance IP M=3), SFRS, « Aquaculture en Méditerranée »
24
MPEG: principe
MPEG: images I
! Les images F2 entre les deux ont des blocs de
F1 et des blocs de F3
! Elles sont interpolées entre les deux images
! Certains blocs peuvent être calculés par un
terme d'erreur
! Les autres sont codés
! Elles servent de points de synchronisation
! Elles sont codées en JPEG
! Il ne doit pas y avoir plus de 400 ms entre deux
images I
25
MPEG: images B et P
26
MPEG: m=3, n=12
! chaque macrobloc : recherche dans la référence
du bloc le plus près
! différence calculée : un (P) ou deux (B) vecteurs
! macrobloc terme d'erreur est transformé DCT
! applique quantification, zig-zag, RLE, Huffman
! table de quantification différente de I
! DPCM, Huffman sur les vecteurs de
27
I
1
B
2
P
3
4
5
6
7
8
9
10
11
12
! 1 et 13 (I) sont complètes
! 4 est prédite / à 1, 7 / à 4 par différence
! 2 est interpolée à partir de 1 et 4
! envoi : 1 4 2 3 7 5 6 10 8 9 13 11 12 16 14 ...
13
28
14
Propagation de l’erreur en MPEG1
Standard MPEG2
! 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.
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
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
…
29
30
Spécificités technologiques du MPEG2
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.
!
!
!
!
!
!
31
! (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 égale
Moyens 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 transmission
Moyens du standard
- scalabilité
- chroma supporté 4:2:0, 4:2:2, 4:4:4
! (4) Orientation vers la transmission plutôt que vers le stockage
Moyens du standard
- mécanismes de récupération de l’erreur « error concealment », ex. « concealment motion
32
vectors ».
Modes de prédiction image/trame
Modes de prédiction image/trame
Image de référence
Image Prédite
Mode Field : Chaque trame peut être prédite
Image - frame
Trame supérieure
« Top field »
Trame
inférieure
33
« Bottom
field »
Field/frame prediction
-
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.
34
Sélection des modes de prédiction par le mouvement
Critère de sélection : minimisation du critère de la mise en correspondance .
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;
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
35
36
Support du mode entrelacéfield/frame DCT
Support du mode entrelacé
field/frame DCT
Macroblock
Frame DCT
Macroblock
Frame DCT
Mode image (frame) pour le codage des blocs (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;
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;
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.
37
38
Support du mode entrelacéField DCT
Balayage alternatif
Macroblock
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
39
Exemple du mouvement fort nécessitant le mode « field DCT »
40
Profils et niveaux (I)
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é
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
! 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.
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
! Les trains binaires scalables contiennent toujours le « niveau de base » - la version
« minimale » de la source.
41
42
Profile
Profils et niveaux
(II)
Profile
Level
main
Main
low,main,
Nbr niveaux
Profils et niveaux.
mainExemples (III) 720/576/30
Commentaire
High-1440,
High
SNR
Spatial
High Profile
Low, main
Résolution max,
Simple
Main
Simple
Level
SNR
low,
352/288/30
main,
High-1440,
High
720/576/30
1440/1152/60
1920/1152/60
low,
352/288/30, 2 niveaux
main
720/576/30,
2 niveaux
High-1440 ( base layer +
SNR),
2 niveaux : base 720/576/30
ou 352/288/30 ou 768/576/30
scalable
High-1440 ( base layer +
SNR), High-1440(Base layer
+ spatial)…
scalable
Main (Base layer + SNR),
Main (Base Layer + spatial)
…
Scalable
Spatial
Etc..
Enh. 1440/1152/30
43
High-1440(Base layer +
spatial)…
Etc..
44
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 vidéo
Canal
Démulti-
Décodeur
du canal
MPEG4
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)
Horloge
plexeur du TS
Décodeur audio
Sélection du meilleur mode intra/inter, configuration locale
Codage au sens débit/distorsion.
TS contenant 1 ou plusieurs
programmes
45
46
La norme H.264
Représentation et compensation du mouvement
! 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
Partition arborescente récursive :
H. 264
- décomposition des macroblocs 16x16: 16x16, 2x 16x8, 2x8x16, 4x8x8
- décomposition des blocs 8x8 :
8x8, 2x8x4,2x4x8, 4x4x4
47
48
H.264 : Compensation du mouvement
« arborescente »
Estimation du mouvement
Principe: recherche du vecteur optimal au sens d’un critère de
compensation
16 x 8
Previous Frame
8 x 16
8x8
Current Frame
8x8
MPEG2 – uniquement 1 niveau : estimation du mouvement sur de macroblocs 16x16,
H. 263 /MPEG4 V1 – uniquement 2 niveaux : 16x16 et 8x8
49
8x4
La partition la plus fine : par de blocs de
taille 4x4 pixels.
4x8
50
Codage optimal au sens débit/distorsion
Exemple de décomposition optimale H. 264
D(C)
- D(C) : distorsion du codage ;
R(C)
- R(C) : débit associé au codage.
H. 264: Comment
choisir la partition optimale étant donné le débit
.
maximal à respecter.
From Iain E.G. Richardson : H.264 and
MPEG-4, WIley, 2003
51
Partition optimale : pour le débit donnée choisir la partition
minimisant la fonctionnelle d’erreur.
52
4x4
Structure arborescente des macroblocks
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
16x16 pels
8x8 pels
4x4 pels
53
54
Standard MPEG7
Objectifs et applications
- Une grande diversité des contenus multimédia;
Objectif du MPEG7 est d ’assurer interopérabilité des systèmes et
d ’applications utilisés dans la generation, management, distribution et
consommation des descriptions des contenus audio-visuels.
- Complexité de la composition;
- Nécessité d ’accès, recherche, manipulation...
Applications :
- sélection des contenus de télédiffusion, radio,
- librairies digitales (ctalogues des images, dictionnaires musicaux)
- services de catalogues multimédia ( pages jaunes multimédias)
-édition multimédia (par exemple un service personnalisé des
informations, production média).
55
56
Objectifs et applications
Eléments du standard
D - descriptors
DS - description schemes
DDL - description definition language
57
Eléments du standard
Ds définissent la syntaxe et la sémantique des traits
caractéristiques du contenu audio-visuel. Au niveau bas d ’abstraction
58
Composantes du standard
Ds peuvent inclure la forme, la texture, la couleur , le mouvement de la caméra, le
timbre de la musique. Au niveau d ’abstraction plus élevé les Ds peuvent inclure des
évenements, les genres de contenu etc...
1) ISO/IEC 15 938-1: MPEG7 - Systems
DS permettent la construction des descriptions complexes en
spécifiant la structure et la sémantique des relations entre les Ds
ou les DS les constituant.
3) ISO/IEC 15 938-3 : MPEG7 Visual
DDL permet une définition flexible des DSs basés sur XML
Schema.
2) ISO/IEC 15 938-2 : MPEG7 DDL
4) ISO/IEC 15 938-4 : MPEG7 Audio
5) ISO/IEC 15 928-5 : MPEG7 Multimedia DSs
6) ISO/IEC 15 938-6 : MPEG7 Reference Software
7) ISO/IEC 15 938-7 : MPEG-7 Conformance
Production de la
description
Description standard
Consommation de la
description
59
60
MPEG7 Visual
MPEG7 Visual. Descripteurs de la couleur
MPEG-7 Visual définie un ensemble standardisé des Ds et DSs
visuels.
Pour chaque caractéristique visuelle (couleur,texture, forme, mouvement, autre
(reconnnaissance de visages) on normalise un nombre de descripteurs, notamment :
- Ds Couleur : espace couleur, quantification couleur, couleur dominante, couleur
scalable, composition couleur,structure couleur, groupe des couleurs image
Descripteurs couleur
Dominant
Scalable
Color Structure
Color
Color
HMMD Space
HSV space
- Ds Texture : Texture homogène, Texture Browsing, l’Histogramme des Contours
- Ds Forme : Forme de la région, Forme de contour, Forme 3D
- Ds du mouvement : mouvement de la caméra, trajectoir du mouvement, mouvement
paramétriqu, Activité en mouvement
Color Layout
-YCrCb space
Color Spaces
Group of frames /
pictures histogram
YCrCb,Y,
RGB, HSV
HMMD
61
62
Descripteurs de la couleur
Descripteurs de la couleur
Color structure descriptor : exprime la structure locale de la
couleur dans l ’image
Nouvel espace couleur : HueMaxMinDiff (HMMD)
Calcul : soit
Intensité (sum)
Blanc
L ’histogramme de la structure couleur est dénoté par h(m), m=0,1,…,M-1 où la valeur
dans chaque bin représente le nombre d ’éléments structurants dans l ’image contenant
cette couleur.
Degré de blanc (min)
Chroma (diff)
M couleurs quantifiées.
Couleur Pure
Elément structurant : bloc 8x8
glissant d ’un pixel.
Degré de noir (max)
Noir
Hue - le même que dans HSV
Max=max(R,G,B), Min=min(R,G,B)
Diff=Max-Min, Sum=(Max+Min)/2
Quantification de la couleur (HMMD - HS) en 32, 64, 120, 184 couleurs
Si la taille de l ’image > 256x256 - un sous-échantillonage de facteur de 2 est effectué.
63
64
Descripteurs de la couleur
Descripteurs de la couleur : exemples
Dominant color descriptor : l ’ensemble des couleurs dominantes
dans la régions d ’intérêt ou dans l ’image entière fournit une
description compacte facile à indexer.
Utilisation : recherche des images par similarité couleur dans des
grandes bases de données.
Calcul des DCD après le moyennage 8x8 sur les blocs
Ici
ième couleur dominante
pourcentage dans l ’image
variance couleur;
Calcul des descripteurs sur le flux compressé ( MPEG2 images I- DC)
mesure de cohérence spatiale (nombre moyen normalisé des
pixels connexes de même couleur dans un voisinage 3x3).
65
66
Color Layout Descriptor
Color layout descriptor
image
Coefficients DCT de luminance
Partitionement
64(8x8) blocs
Calcul des couleurs
représentatives
Coefficients DCT de chrominance rouge
Coefficients DCT de chrominance bleu
i = 6, j = 3
Color Layout Descriptor : représentation compacte de la
distribution spatiale des couleurs dans l’image, indépendante
de la résolution.
67
Coefficients
CLD
Y
Cr
Cb
DCT
Zigzag Scan
68
Descripteurs du mouvement
Deux niveaux de granularité:
é
Vid
e
os
e
gm
Descripteurs du mouvement
nt
Vidéo segment
Mosaïque
t1
Mouvement de la caméra
Activité de mouvement
Paramètres de
« Warping »
Région en mouvement
t0
Trajectoire
Mouvement Paramétrique
Moving region
69
70
Descripteurs du mouvement
Descripteurs du mouvement
Intensité d ’activité : mesure qualitatives selon l ’échelle 1..5
Activité de mouvement :
1) « intensité très faible »
traduit la notion intuitive de l ’intensité d ’action dans un vidéo
segment
Attributs :
2) « intensité faible »
- intensité de d ’activité (l ’attribut principal)
- direction d ’activité (la direction dominante parmi 8 possibles)
3) « intensité moyenne »
4) « intensité forte »
5) « intensité très forte »
Corrélation avec l ’amplitude des vecteurs du mouvement
dans la séquence
- distribution spatiale de l ’activité (indication sur la taille et quantité des
régions actives dans une scène vidéo)
- distribution temporelle de l ’activité
71
72
Descripteurs du mouvement des régions/objets
Model de trajectoire : approximation du premier ou second ordre par
morceaux.
Ensemble des points-clés : coordonnées du centre de gravité de
l ’objet (2D ou 3D);
Interpolation :
1)
Paramètres de trajectoire
Extraction :
- instants clés : échantillonnage temporel
régulier ou non
- paramètres d ’interpolation : les dérivés
secondes locales des coordonnées.
Utilisation lors des requêtes :
Mesure de similarité des trajectoires
2)
-paramètre d ’interpolation
- la vitesse et l ’accélération de l ’objet
- positions en temps ta et tb
est la durée de i-ème intervalle de temps
73
Schémas de description
Description des aspects structurels du contenu : Segment DS
Segment temporel
VideoSegment, AudioSegment
Segment spatial (StillRegion)
t
t
75
74