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