Vidéo Numérique: Analyse et Codage Cours en Master ISM Partie I Jenny Benois -Pineau Université Bordeaux -1 Vidéo Numérique: Analyse et Codage Cours en Master ISM Partie I Jenny Benois -Pineau Université 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 linformation 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
Programme du cours (II) 9. Normes et Standards de codage avec la compensation du mouvement et compression –Bases de larchitecture des standards MPEG1, MPEG2 –MPEG2 –H. 264 –MPEG4 - concept basé objet de codage vidéo 10(*). Eléments danalyse sur des flux codés
1.Introduction (I) Vidéo dans les systèmes multimédia (1)TV analogique et numérique TV numérique dhier/CDROM
1.Introduction (II) Vidéo dans les systèmes multimédia (2) TV numérique daujourdhui/DVD (3) TNT (télévision numérique terrestre) – DVB-T (1995) (4) TVHD, DVDHD
1.Introduction (III) Vidéo dans les systèmes multimédia (5) Vidéo sur IP
(4) Vidéo via réseau sans fil (5) Numérisation du patrimoine culturel – du bétacam au DVD (6) BD vidéo – archives demodemo (7) Production et post- production sous forme numérique 1.Introduction (IV) Vidéo dans les systèmes multimédia
2.Aspects technologiques Formats Historique : TV analogique Standard Résolution en pixels / LignesCadenceSecteur Géographique NTSC 640x480 (525) carré 720x480= ips = 2x60 trames USA, Canada, Japon, Philippines, Moyen Orient PAL 720x576 (625), 768x57625 ips=2x50 trames UK, Chine, Singapour, Allemagne, Amérique du Sud SECAM720x576 (625),25 ips=2x50 trames France, Europe de l'EST (MESECAM) PAL/SECAM : la même résolution et la même fréquence NTSC : National Television System Committee PAL : Phase Alternation Line SECAM : Système Electronique Couleur Avec Mémoire, 1967
Tramage Formation dune image sur lécran de TV Trame impaire Trame paire Le spot lumineux « affiche » dabord les lignes de la trame « impaire » ( 1, 3, 5, …) en 1/50 de sec (PAL/SECAM) Ensuite les lignes de la trame paire ( 2, 4, …) Cette technologie a été conçue pour éviter le scintillement de limage sur des écrans cathodiques. La rémanence du phosphore et la persistance des impressions sur la rétine donnent lillusion dune image permanente
Tramage Trames paires des séquences CCIR601 (720x480:2), (720x576:2)
Tramage Effets gênants : en présence de mouvement fort on observe le décalage spatial des trames sur les contours verticaux des objets, dans des zones doccultation SFRS, Hiragasy
Tramage Illustration. Nécessité de filtres de désentrelacement lors de la conversion vers les formats progressifs
Formats analogique/numérique DV Amateur numériqueSéparément (Digital 8)
Technologies de la vidéo numérique MJPEG-2000,SVC H.264 MPEG4 V.10 AVC- vidéocoms IP,WAP
Chaîne d acquisition de la vidéo
Résolution des formats numériques SD – définition standard HD – haute définition
Résolution spatiale des formats progressifs Sub-QCIF - 128x96 QCIF - 176x144 CIF - 352x288 4CIF, 16CIF
Résolution spatiale des formats progressifs (II) QCIF - 176x144 CIF - 352x288
Formats HD Formats TVHD suggérés par lEUR (2005)
Formats HD 1080 psf Qualité de bande de base Séquence « Voiture extérieur » Compression MPEG4/DIVX « Voiture Extérieur »
Changement des formats Interpolation spatiale et temporelle Interpolation temporelle –sans compensation du mouvement –avec compensation du mouvement Interpolation temporelle sans compensation du mouvement
Changement de la cadence temporelle/ interpolation temporelle de la vidéo 1. Sur-échantillonnage temporel : interpolation basée pixel. Équivaut à linterpolation du signal 1D pour chaque pixel le long de laxe du temps. Interpolation du signal 1D : 2 étapes a) complément par ajout des zéros b) filtrage passe-bas du signal complété
Interpolation temporelle de la vidéo(2) a) Ajout des zéros Etant donné un signal s(n), le signal u(n) sur- échantillonné de facteur L est défini comme … n s(n) … n u(n) L=3
Interpolation temporelle de la vidéo(3) La transformée de Fourier pour les signaux discrets est Ainsi le spectre du signal complété est lié au spectre du signal dorigine par « compression » de laxe de fréquences. 01/2-1/2 1/2 1/6-1/6 fn fn – fréquence normalisé fn=f* t
Interpolation temporelle de la vidéo(4) b) Interpolation Filtre Idéal dinterpolation La réponse impulsionnelle est sinc 1/2 1/2L-1/2L fn 0 1 H(fn) U(fn) 1/2 1/2L-1/2L 0 1 fn
Interpolation temporelle de la vidéo(5) Le signal interpolé est donc obtenu par la convolution avec la réponse impulsionnelle du filtre La réponse impulsionnelle du filtre idéal dinterpolation a des propriétés : Ainsi à cause de ces zéros y(n)=s(n) dans les valeurs existantes et les valeurs non- nulles sont assignées aux zéros de complément.
Les filtres pratiques dinterpolation. Le filtre idéal dinterpolation ne peut pas être synthétisé car il a la réponse impulsionnelle infinie et il est non-causal. Sa mise en oeuvre demanderait un temps de délais infini. Ainsi plusieurs approximations sont possibles. Interpolation temporelle de la vidéo(5)
1.Interpolateur dordre zéro ( ex. pour L=3) : Engendre des effets daliasing. 2.Filtre dinterpolation linéaire Interpolation linéaire est obtenue par la somme pondérée des pixels voisins le long de laxe temporel. Interpolation temporelle de la vidéo(6) h(n) n n h(n) 1 2/3 1/3 n 1 2/3 1/3 h(n-k) u(k) k
Décimation/sous-échantillonnage (1) Décimation du signal 1D de facteur M : 2 étapes a) multiplier par le train des impulsions pour remplacer M-1 valeurs par zéros entre chaque couple des valeurs distantes de M b) enlever les zéros pour obtenir le signal à la cadence plus faible a)Etant donnée le signal dentrée s(n) on définit un signal intermédiaire w(n) comme Alors le signal sous-échantilloné peut être exprimé comme
Décimation (2) Illustration pour un facteur de sous- échantillonnage de 2 n … s(n) n … w(n) … y(n) n
Décimation (3) La transformée de Fourier du signal intermédiaire w(n) : Ainsi le spectre du signal intermédiaire consiste des réplications du spectre du signal dorigine. Il y a M répliques dans linterval (de la fréquence normalisée (- 1/2, ½). Le spectre du signal décimé : étirement de laxe des fréquences
Décimation (4) Illustration ( pour la fréquence normalisée) M=2, spectre borné ( fc=1/4) 1/2 -1/2 0 1 S(f) f f 1/2-1/2 0 1 W(f) f 1/2-1/2 0 1 Y(f)
Décimation (5) Si la bande passante du signal dentrée est plus large que 1/(2M), alors les répliques se recouvriront et le signal sous- échantillonné comportera des effets daliasing. Ainsi un filtrage passe-bas avec la fréquence de coupure est nécessaire ( filtre danti-aliasage). f 1/2-1/2 0 1 f 1/2-1/2 0 1 f 1/2-1/2 0 1 S(f) W(f) Y(f)
Changement de la cadence déchantillonnage dun facteur rationnel Soit le facteur de changement est L/M Principe : sur-échantillonner de L, ensuite sous-échantillonner de M. Les filtres dinterpolation et danti-aliasage peuvent être regrouppés dans un seul filtre Avec les contraintes que les valeurs existantes doivent être préservées (Interp. linéaire) 1:L Filtrage Passe-bas M:1 s(n) u(n) w(n) y(n)
Systèmes couleur spécifiques à la vidéo (I) RGB – le système le plus proche au matériel : reproduction LCD, TV, scanner. Système additif C(x,y)=r(x,y)+v(x,y)+b(x,y) C=(r,v,b,) T – vecteur couleur
Systèmes couleur spécifiques à la vidéo (II) Le système RGB nest pas efficace selon le critère d«efficacité/compacité » de représentation. Les systèmes couleurs séparant la luminance et la chrominance le sont.
Systèmes couleur spécifiques à la vidéo RVBY Luminance UV Chrominance Quantification : 8 bits/pixel/composante Système - couleur : YUV(PAL) ou YCrCb, YIQ(NTSC) Echantillonnage spatial : 4:2:0, 4:2:2, 4:4:4 4:2:2
Représentation de la couleur dans le signal vidéo numérique (II) Production du signal numérique YCrCb à partir des signaux primaires analogiques E R,E G,E B Standard CCIR 601 : le standard international pour la numérisation des signaux analogiques NTSC, PAL et SECAM (NTSC est encodé en YIQ, PAL en YUV, CCIR601 - YCrCb
Représentation de la couleur dans le signal vidéo numérique (III) UVYUVY Image RVB après le filtrage scalaire YUV
3. Analyse et estimation du mouvement dans la vidéo Mouvement Apparent CERIMES © MPEG7 test set
Projection du mouvement rigide 3D dans le plan-image Hypothèse : le mouvement observé dans le plan image via changements de luminance correspond à la projection idéale du mouvement 3D des objets de la scène
Mouvement réel/mouvement apparent a) Insuffisance du gradient spatial MR - oui MA - non b) Changements dillumination extérieure MR - non MA - oui
Détection du mouvement(1) Modèle des scènes : la caméra statique, les objets en mouvement Méthodes « dordre 0 »
Détection du mouvement(2) I(x,y,t) - fonction dintensité lumineuse Instants de temps : t, t-dt (1)La difference temporelle absolue Détection : Si alors le pixel (x,y) est en mouvement Inconvénients : difficultés dapprentissage du seuil, présence du bruit. (Jain, 79)
Détection du mouvement(3) (2) Prise en compte du bruit et de variations de luminance: -Pour chaque pixel (x,y) apprentissage pendant de - -Pour le couple d images calcul de - Détection dun « pixel en mouvement » si (Haritaoglu98)
(3) Détection par test des hypothèses statistiques Approche par max de vraisemblance. Considérons 2 fenêtres centrées sur le pixel (x,y) Détection du mouvement (4) (x,y ) tt+dt A1A1 A2A2
Détection du mouvement (5) Hypothèses: H0 : les distributions de la luminance des deux fenêtres possèdent les mêmes caractéristiques statistiques en t et t+dt H1 : les distributions sont différentes. Modèle de luminance : Modèle constant : (A) I(x,y) N(µ, ) H0: pour tout point (x,y) dans A 1 et A 2 I(x,y) N(µ 0, ) H1: pour tout point (x,y) dans A 1 I(x,y) N(µ 1, ), pour tout pixel (x,y) dans A 2 I(x,y) N(µ 2, ),
Détection du mouvement(6) Les fonctions de vraisemblance associées
Détection du mouvement (7) Test au maximum de vraisemblance : Rapport logarithmique de vraisemblances
Détection du mouvement(8) Pour simplifier (méthode de P. Bouthemy et F. Lalande).
Hypothèse dinvariance de luminance x y Une séquence vidéo en labsence de bruit: I(x, y, t) = I(x+dx, y+dy, t+Δt) d=(dx, dy) T, la projection du déplacement réel 3D dans le plan image. I(x,y,t) - fonction dintensité lumineuse Le champ vectoriel D(x,y)= {(dx, dy) T } est appelé le champ dense de déplacement I(x, y, t) t
Flot optique Le vecteur de vitesse au point (x,y) correspond à dt près au vecteur de déplacement Le champ vectoriel (x,y) est appelé le flot optique ou encore champ de vitesse Par l hypothèse dinvariance de luminance OFE/ECMA Le problème d estimation du FO est mal posé.
ECMA (I) Comme alors u v ECMA sous forme vectorielle Lestimation du mouvement est un problème mal posé. Seul le flot optique normal est observable Sous forme vectorielle Décomposons, est parallèle au gradient local : flot optique normal est orthogonale
Une autre vue Si u,v sont supposées indépendantes, alors une seule équation pour deux inconnues – (1)Problème dunicité de la solution – problème douverture (2)Problème du bruit dacquisition (3)Problème doccultation ECMA (II)
( 1) Illustration du « problème douverture » Zone découverte : pas de correspondance des pixels avec limage précédente flot optique normal flot optique réel (3) Illustration du « problème doccultation » ECMA (III)
Estimation du mouvement (x+dx, y+dy) (x, y) (dx, dy) DFD(x, y, d) = I(x, y, t) - I(x+dx, y+dy, t+Δt) On cherche d=d(θ β ) (β modèle du mouvement 2D, θ ses paramètres) tel que DFD(x, y, d) soit minimum. - Méthodes basées sur l ECMA (différentielles) - Méthodes basées sur la minimisation directe de la DFD ou d une mesure basée DFD - Méthode directes/méthodes paramétriques
Estimation du mouvement dans les algorithmes normalisés (I) Approche : mise en correspondance (basée bloc) Critères à optimiser : MAD= avec MSE = Fenêtre F Bloc B I(t) I(t-dt)
Estimation par bloc Objectif : obtenir le champ de déplacement épars Le FO est supposé constant à lintérieur dun bloc Le critère à minimiser : ou I t-dt ItIt F B
Méthode de recherche exhaustive Estimation « au pixel près » I t- dt ItIt Linconvénient majeur : coût opératoire Limitations : les dimensions trop faibles de la fenêtre de recherche ne permettent pas destimer correctement le vecteur de déplacement F B
Méthodes de recherche accélérée Estimation « au pixel près » 1.Recherche à 3 pas, 2.Recherche logarithmique, 3.Recherche « une à la fois » 4.Recherche à 4 pas ……. – méthodes sous-optimales : Fortes conséquences sur la possibilité dinterprétation du flot optique par bloc;
Recherche à trois pas (Koga81) Principe : laffinage du pas de recherche 1.Pas=4. Evaluer MAD aux pixels « 0 » et « 1 » Si min(MAD) =MAD(0) – alors bloc stationnaire Sinon 2. Pas=Pas/2. Evaluer MAD aux pixels « 2 » 3. Pas=Pas/2. Evaluer MAD aux pixels « 3 » Fenêtre de recherche + 7 pels
Recherche à trois pas (Koga81) Le vecteur de déplacement optimal Modifications : - Comparaison de min(MAD) avec un seuil T - Si min(MAD)<T alors arrêt - Sinon recherche autour de la position courante avec le pas/2 (recherche « logarithmique »)
Recherche en croix (Ghanbari90) Le pas de recherche est réduit si - loptimum se trouve au centre de la croix ou - sur le bord de la fenêtre de recherche
Recherche en diamant (Zhu, Ma, MPEG4 VS) première recherche si loptimum se trouve au centre de la croix sur le bord de la fenêtre de recherche
Estimation du mouvement dans les algorithmes normalisés (II) Méthode d estimation : recherche exhaustive Précision d estimation : - « au pixel près » - « au demi-pixel près » Estimation au pixel près : Estimation au demi pixel près :
Approches multi-résolution multi-échelle 1) Construction des pyramides Gaussiennes pour 2) Estimation des paramètres de mouvement en commençant par le niveau le plus élevé 3) Propagation -le facteur de sous- échantillonnage
Estimation du mouvement dans les algorithmes normalisés (III) Problèmes spécifiques à la méthode: - mauvaise approximation des mouvements complexes; - lissage du champ de déplacement au travers des contours doccultation; - « effet de bloc » et coût important de codage de lerreur dans des schémas du codage avec la compensation du mouvement.
- Le signal vidéo numérique représente des volumes dinformation énormes: TV numérique ordinaire (4/3) 576x720 CCIR601 4:2:2, 25:2 ips composante de luminance Y, Fe = 13,5 MHz composantes de chrominance Cr, Cb Fe= MHz profondeur : 8bits par pixel/composante volume dinformation 216Mbit/s TV numérique HD (aspect 16/9 = (4/3) 2 ) 50 ips, HDP 1250x1920 volume dinformation 2,304 Gbit/sec WEB TV, TV ANYTIME ???? - Pour économiser les ressources de stockage et réduire la bande passante requise lors de la transmission on cherche à comprimer le signal vidéo. 4. Notions de la théorie de linformation
Soit S une source d informations et x i (symboles dun alphabet) les valeurs possibles de linformation. On peut le modéliser par une variable aléatoire X dont les réalisations sont x i avec une loi de probabilité Lentropie de la variable aléatoire : Quantité dinformation associée au symbole x i : Ainsi lentropie représente linformation propre moyenne associée à un processus (source). Quantité dinformation
Propriétés : * alors *supposons que lalphabet est fini et contient K symboles alors Légalité étant obtenue si la variable aléatoire X est équiprobable Propriétés de lEntropie
Distribution équiprobable :. Propriétés de lEntropie
Taux de compression - Lopération de numérisation et de compression du signal est aussi appelée « codage de source ». - Le codage des signaux multimédia nécessite de connaître les limites atteignables des taux de compression. - Taux de compression : Limites atteignables Le théorème de codage de la source établit quil existe un débit binaire (quantité dinformation) vers laquelle on peut tendre sans pouvoir comprimer la source davantage. Dans le cas dun codage sans perte cette limite est donnée par lentropie de la source.
Codage Entropique Codage de la source : la source X prend ses valeurs dans le dictionnaire C. On appelle codage de la source X une application de C dans lensemble des suites finies de lalphabet {0,1}. Le code : Le mot de code : La longueur moyenne : Théorème : pour toute source discrète sans mémoire, il existe un code instantané représentant exactement la source et uniquement décodable vérifiant Où H(X) est lentropie de la source et est la longueur moyenne du code, exprimés en bit par symbole.
5. Codage sans pertes des informations multimédia Codage entropique (statistique) La source S discrète dinformations est caractérisée par son entropie H - Codage de Shannon-Fano - Codage de Huffman - Codage arithmétique Codage par comptage (RLC) Codage avec dictionnaire (LZSS,LZW)
Codage Entropique de Shannon-Fano (I) 1)Pour tous les symboles du message développer une liste correspondante des probabilité expérimentales (occurrences) 2)Trier la liste dans lordre décroissant des probabilités expérimentales (occurrences) Exemple : Message ABEABABABCDCDBAEAAAEAAAABAA CACDBDEEDCCDE Liste triée Symbole A BCDE Occurrences
Codage Entropique de Shannon-Fano (II) 3)Diviser la liste en deux parties, le total des compteurs doccurrence de la moitié supérieure devant être aussi proche que possible du total de al moitié inférieure 4)Affecter le chiffre binaire 0 à la moitié supérieure de la liste, et le chiffre 1 à la moitié inférieure de la liste SymboleOccurrenceSommeCode A150 B C61 D61 E5 171
Codage Entropique de Shannon-Fano (III) 5)Appliquer de façon récursive les étapes 3 et 4 à chacune des deux moitiés, jusquà ce que chaque symbole soit devenu une feuille SymboleOccurrenceSommeCode A II B I C III D IV E
Codage Entropique de Shannon-Fano (IV) Représentation sous forme darbre binaire AB C DE Racine SymboleOccurrenceQuantité infBits TotalTaille Sh-FBits Sh-F A151,3820,7230 B72,4817,36214 C62,7016,20212 D62,7016,20318 E52,9614,8315
Codage Entropique de Huffmann (I) Algorithme optimal pour construire un code entropique. On peut montrer quil nexiste pas dautre code uniquement décodable de longueur moyenne inférieure pour une source discrète sans mémoire. Principe : construire progressivement larbre binaire en partant des feuilles de larbre précédent. Initialisation de larbre : -Tous les symboles sont les nœuds-feuilles -Chaque noeud a comme poids la probabilité du symbole (occurrence). -Liste des nœuds libres contient tous les nœuds
Codage Entropique de Huffmann (II) Construction de larbre : 1)Sélectionner les deux symboles-noeuds les moins probables. 2)Créer le père de ces deux nœuds. Poids(père) :=Poids(FilsGauche)+Poids(FilsDroit) 3)Ajouter le nœud-père dans la liste des nœuds libres et supprimer les nœuds-fils de la Liste. 4)Étiquetage. Un des fils reçoit 0, lautre 1 5)Si card(Liste)=1 alors arrêt. Le seul noeud devient la racine
Exemple : 1) A BCDE 2) A B CDE … Codage Entropique de Huffmann (III)
A B CDE … Codage Entropique de Huffmann (IV)
Codage Entropique de Huffmann (V) Comparaison avec le codage de Shannon-Fano Quantité dinformation théorique NbrBits SFNbrBits H 82, Nécessite la transmission de la table des codes
Codage Arithmétique Rissanen 1976 Principe : un code nest plus associé à chaque symbole constituant le message, mais plutôt au message constitué de la suite des différents symboles. Soit lensemble des messages pouvant être émis par la source avec les lois de probabilité dapparition. On peut définir une suite dintervalles recouvrant lintervalle et ayant les longueurs respectives Le principe de codeur arithmétique : définir pour chaque intervalle un nombre compris entre 0 et 1 et ayant une représentation binaire finie
tombe sans ambiguïté dans lintervalle soit, et« code » la source. On peut trouver une famille de valeurs avec des longueurs de représentation binaire vérifiant (propriété de quasi optimalité du code). Alors plus le message est long, plus la performance du codage est grande. Codage Arithmétique (II)
Codage Arithmétique Algorithme du Codeur (I) Codage : Soit les limites hautes et basses du message à la j-ème itération. SymboleP(s)Intervalle l(s) h(s) E1/50.00<=r<0.20 J1/50.20<=r<0.40 N2/50.40<=r<0.80 Y1/50.80<=r<1.00 Jenny
Codage Arithmétique Algorithme du Codeur (II) Codage : J alors Jenny Nouveau Symbole Limite basse Limite haute J E N N Y
Codage Arithmétique Algorithmes du Décodeur (I) Décodage : (1)Trouver le symbole qui possède lintervalle de message : J (2)Soustraire la limite basse : (3)Diviser par la longueur de r(s) : (4)Aller à (1) jusquà atteindre 0 Réalisation pratique : utilisation de larithmétique binaire (sur 32 bits par exemple)
Codage par plages (RLC) Principe : (1) Comptage du nombre dapparitions consécutives dun mot de message à coder. (2) Codage à longueur fixe de la valeur des mots et de nombre dapparitions (3) Variante : introduction de bit-flag « codé-non-codé ». Exemple : Message : Code : Débit initial : 15 *8 =120 bits Débit final : * = 64 bits Adapté aux images sans bruit ou aux valeurs quantifiées grossièrement.
6. Quantification des signaux visuels. Codage prédictif (MICD) Codage MIC Principe : chaque pixel est codé indépendamment des autres (représentation canonique des images numériques) Images monochromes : quantification sur 2 k niveaux usuellement (vidéo k=8, binaire k=1, k=12 images médicales) Images vidéo couleurs : quantification de chaque composante spectrale Y, Cr, Cb en 8 bits Réduction du débit : - par réduction du nombre de niveaux, - par codage entropique
Quantification (I) Quantification : opération fondamentale dun système de conversion analogique / numérique A) « Analogique – numérique » Entrée : variable aléatoire continue, « analogique » Sortie : entier appartenant à un ensemble fini Quantificateur scalaire : une application Q de R dans un ensemble fini C appelé « dictionnaire », Card(C)=L B) « Numérique – numérique » Entrée : variable aléatoire discrète A – lalphabet dentrée, Card(A)>Card(C) Exemples : TV analogique Y – variable continue, on la représente par un alphabet {0, 1,…, 255} Binarisation dune image monochrome : A={0,1,…,255}, C={0,1}.
Quantificateur scalaire uniforme : Adapté pour une source de distribution uniforme: Les intervalles de quantification : Quantification uniforme entière : Exemple : x={11,13,21,27,39,-43},q=10 Q(x)={10,10,20,30,40,-40} Quantification (II) x Q(x)
Distorsion : Pour un quantificateur uniforme Bruit : Distorsion dun quantificateur
Bruit : a)Bruit granulaire – à lintérieur du quantificateur b)Bruit de surcharge – amplitude du signal dentrée est à lextérieur du quantificateur. Bruit de Quantification x Q(x) Zone granulaire Zones de surcharge
Quantification Scalaire Optimale Codage MICD Quantification optimale : pour la source donnée (1) Connaissant la partition (en intervalles) trouver le dictionnaire qui minimise la distorsion de quantification (2) Connaissant le dictionnaire trouver la partition qui minimise la distorsion. Quoi quantifier (?) : signal analogique -> numérique, Signal dorigine numérique -> pour réduire le débit Signal derreur de prédiction dans les codecs image/vidéo Codage Décodage Schéma générique du codage avec prédiction Prédiction + -
Codage prédictif MICD Principe : On code en MIC la différence entre la valeur du signal au point à coder et une prédiction qui en est faite à partir des valeurs déjà codées. On utilise 2 fonctions essentielles : - Fonction de prédiction ; - Fonction de quantification. Le taux de compression est lié à la qualité de prédiction.
Codage prédictif MICD (II) x(t) b(t) + + y(t) y(n) t=t n Q MIC y q (n)+ - d(n) Quantificateur des différences Prédicteur d q (n) Codeur MICD Décodeur MICD
Codage prédictif MICD (III) La fonction de prédiction Fournit une estimation a priori (prédiction) de x(k,l) à partir de voisinage causal (déjà décodé) du point (k,l). Principe : utilisation de la corrélation entre le point à (k,l) et ses voisins « passés ». Le voisinage peut être spatio-temporel. Ex. pour (k,l,t) : (k, l, t-dt), (k-i,l-j,t)... si - Prédiction linéaire fixe - Prédiction non-linéaire (ex. filtrage médian entre 3 prédictions linéaires fixes; - Prédiction adaptative
Fonctions de prédiction (I) Voisinage spatial causal Prédicteurs linéaires simples EBCDF XA X
Fonctions de prédiction (II) Prédicteurs linéaires fixes optimisés : minimisation au sens des moindres carrés soit minimiser est supposée centrée Si le signal dimage est supposé stationnaire au second ordre, alors Les coefficients dépendent donc de la corrélation
Fonctions de prédiction (III) Si on considère un processus de Markov à corrélation séparable - valeur moyenne de signal - variance - coefficient de corrélation horizontale - coefficient de corrélation verticale - déplacement horizontal - déplacement vertical
Quantification en MICD Quantification de lerreur de prédiction de la loi de probabilité p e (e) Q e Lerreur quadratique moyenne de quantification est Avec Dans le cas dun nombre très grand de niveaux L, la densité de probabilité p e (e) peut être considérée constante sur chaque intervalle pour L intervalles (*)
Quantification (I) Alors Quantificateur optimal de Max Dans le cas où le nombre de niveaux de quantification nest plus très grand a) b)
Quantification n(III) b) En annulant cette dérivée ou bien a) En annulant cette dérivée Ainsi la minimisation de lerreur quadratique moyenne de quantification implique et (*b) (*a)
Quantification (IV) Dans ces conditions lerreur quadratique minimale de quantification devient ((*a)->(*)) Cas particulier : loi uniforme Le quantificateur optimal est linéaire
Quantification scalaire : luminance dun pixel, luminance et chrominance séparément, coefficients DCT,… Quantification vectorielle : luminance dun bloc dans le plan-image (signal derreur), vecteurs-couleurs,… 7.Eléments de codage par QV
Quantificateur vectoriel (L,n) est une application de vers C, Card (C)=L. C est appelé le dictionnaire ou « code-book » Un quantificateur vectoriel est complètement défini pas la connaissance du dictionnaire C et dune partition de lespace en n régions - classes. Règle de plus proche voisin : - régions de Voronoï Quantification Vectorielle
Partitition T irrégulière – dictionnaire non structuré Partition T régulière – dictionnaire structuré
Plusieurs méthodes : - par apprentissage; - quantification arborescente; - quantification sur des treillis (algébrique)… Méthodes par apprentissage – utilisent la base dapprentissage composée dun grand nombre M de vecteurs représentatifs de la source. GLA/LBG – Algorithme de Lloyd Généralisé; Split-LBG Construction du dictionnaire
Split-LBG -L=2 N ; Principe : (a)« découpage » de chaque vecteur en (b) optimisation de la partition par LBG Construction du dictionnaire
Algorithme de K- moyennes(I) J. MacQueen, Some methods for classification and analysis of multivariate observations, Proc. Of the Fifth Berkley Symposium on Math. Stat. And Prob., pp. 281 – 296, 1967 Principe : CNS avec le nombre des classes connus a priori. Paramètre : le nombre k de classes entrée : un échantillon de M vecteurs x 1,... x M. (1) Choisir k centres initiaux y 1,... y k (2). Pour chacun des M vecteurs, l'affecter à la classe k* dont le centre y k* est le plus proche (3). Si aucun élément ne change de classe alors arrêt. (4). Calculer les nouveaux centres : pour tout k, y k est la moyenne des éléments de la classe i (5). Aller en 2
Algorithme LBG Linde Buzo Gray (1980) 1. Critère de plus proche voisin affecter les vecteurs au centres les plus proches -calculer la distorsion (moyenne) de quantification critère darrêt 2. Condition du centroïde recalculer les centres de chaque classe et aller à 1.
Recherche du représentant dans le dictionnaire: Le débit (par composante de vecteur ou par pixel – images monochromes) : (code à longueur fixe) Si lapprentissage est bon et la séquence est représentative, lentropie de C est maximale (= distribution uniforme) Quantification
Mesures de qualité dans les schémas de codage avec pertes Mesures objectives (1) EQM – lerreur quadratique moyenne du codage - image en t codée et décodée (2) PSNR – Peak Signal to Noise Ratio (dB) Mesures objectives : 2 schémas principalement Double stimulus et Simple stimulus.
Mesures de qualité (II) Séquence vidéo dorigine Codeur vidéo Décodeur Vidéo Affichage A ou B Une séquence est celle dorigine, lautre codée et décodée. Lordre daffichage est aléatoire; Léchelle de notation – 5 niveaux – intervalles de qualité continue. DSCQS – double stimulus continuity quality scale Le résultat – le moyennage de plusieurs expériences – le score normalisé carctérisant la qualité relative. Recommandation IUT-R BT , 2002
8. Transformées Orthogonales et Codage par transformées Concepts : Recherche de représentations du signal dimages aboutissant à une non- corrélation du signal dans lespace transformé -> représentations orthogonales des images. Sélection et codage des composantes les plus significatives dans cet espace de représentation, les autres composantes ne sont pas transmises. Du fait de la non-stationarité du signal – image, la transformation est effectuée dans une zone locale (blocs). Le codage par transformation en vidéo est appliqué en mode intra- et inter- image. La transformée utilisée dans les standards actuels est la TCD
Transformées discrètes Transformée de Fourier discrète Transformée de Fourier inverse Les indices (u,v) sont appelés « fréquences spatiales »
Transformées discrètes (II) Propriétés 1) Composante spectrale aux fréquences (0,0) Avec -la valeur moyenne de l image 2) Périodicité Pour que le développement en série de Fourier soit valide, limage doit être considérée périodique : la partie droite voisine la partie gauche, le haut voisine le bas
Transformée en cosinus discrète (I) Transformée de Fourier dun signal continue réel et symétrique ne contenant que les coefficients réels correspondant aux termes cos de la série Fourier; Soit limage formée par la réflexion de limage initiale par rapport à ses bords est symétrique par rapport au Or est réel et symétrique
Transformée en cosinus discrète (II) - transformée en cosinus discrète « paire » appliquée aux blocs d image 8x8 dans les standards vidéo MPEG1,2,4 pour le codage de limage en mode intra-image ou de l erreur de compensation du mouvement. Ici f(x,y) est le signal centré avec g 0 = 128 coefficent « DC » vs « AC »
Transformée en cosinus discrète (III) Image d origine Image DC par blocs 8x8
Discrete Cosine Transform (III) Fonctions de base pour N=8 ap4.2_prev.html Noyau DCT u=0, v=0
Standard JPEG Joint Photographic Expert Group 1992 Système de base et système étendu Découpage en blocs 8x8 DCT par bloc Quantification Balayage Zig-Zag Codage Entropique Image compressée Image
DCT par bloc Bloc dans limage Les composantes Y UV (4:2:2) sont traitées séparément Bloc des coefficients DCT f(x,y) = I(x,y) –128, F(u,v)=DCT[f(x,y)]
Quantification des coefficients (I) Les coefficients DCT des composantes YUV sont quantifiés séparément avec les matrices de quantification Psychovisuelles -quantification entière - matrice de quantification Matrice pour la composante Y
Quantification des coefficients (II) Matrice pour les composantes U et V Contrôle par le facteur de qualité q appliqué aux matrices
Codage dans le domaine DCT a 00 Arrangement des coefficients quantifiés dans lordre de balayage zig-zag – coefficients DC (a 00 ) et AC Codage entropique (Huffman) de e
1ère phase : codage des paires de coefficients et du nombre de zéros qui les précèdent … … 0 808, (0,412), (2, -23), (0,9), (5,6), … EOB 2ème phase : codage entropique (Huffman) de cette information Codage des coefficients AC …
Une bonne qualité visuelle avec 1 bps Influence du facteur de qualité : Performances q = 6 ; 3 Ko q = 84 ; 24 Ko 288x Ko RVB