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 2k 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 d’un système de conversion analogique / numérique « 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 « Numérique – numérique » Entrée : variable aléatoire discrète A – l’alphabet d’entrée, Card(A)>Card(C) Exemples : TV analogique Y – variable continue, on la représente par un alphabet {0, 1,…, 255} Binarisation d’une image monochrome : A={0,1,…,255}, C={0,1}.
Quantification (II) Quantificateur scalaire uniforme : Q(x) 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} x Q(x)
Distorsion d’un quantificateur Pour un quantificateur uniforme Bruit :
Bruit de Quantification Q(x) Zones de surcharge Bruit : Bruit granulaire – à l’intérieur du quantificateur b) Bruit de surcharge – amplitude du signal d’entrée est à l’extérieur du quantificateur. x Zone granulaire
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 d’origine numérique -> pour réduire le débit Signal d’erreur de prédiction dans les codecs image/vidéo Schéma générique du codage avec prédiction + Codage - Décodage 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) t=tn y(n) Q MIC Codeur MICD + yq(n) - d(n) Quantificateur des différences Prédicteur + + dq(n) + + Prédicteur 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) X Voisinage spatial causal Prédicteurs linéaires simples E B C D F X A
Fonctions de prédiction (II) Prédicteurs linéaires fixes optimisés : minimisation au sens des moindres carrés soit minimiser e est supposée centrée Les coefficients dépendent donc de la corrélation Si le signal d’image est supposé stationnaire au second ordre, alors
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 l’erreur de prédiction de la loi de probabilité pe(e) Q e L’erreur quadratique moyenne de quantification est pour L intervalles (*) Avec Dans le cas d’un nombre très grand de niveaux L, la densité de probabilité pe(e) peut être considérée constante sur chaque intervalle
Quantification (I) Alors Quantificateur optimal de Max Dans le cas où le nombre de niveaux de quantification n’est plus très grand a) b)
Quantification n(III) b) En annulant cette dérivée ou bien (*b) a) En annulant cette dérivée (*a) Ainsi la minimisation de l’erreur quadratique moyenne de quantification implique et
Quantification (IV) Dans ces conditions l’erreur quadratique minimale de quantification devient ((*a)->(*)) Cas particulier : loi uniforme Le quantificateur optimal est linéaire
7.Eléments de codage par QV Quantification scalaire : luminance d’un pixel, luminance et chrominance séparément, coefficients DCT,… Quantification vectorielle : luminance d’un bloc dans le plan-image (signal d’erreur), vecteurs-couleurs ,…
Quantification Vectorielle 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 d’une partition de l’espace 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é
Construction du dictionnaire Plusieurs méthodes : par apprentissage; - quantification arborescente; - quantification sur des treillis (algébrique)… Méthodes par apprentissage – utilisent la base d’apprentissage composée d’un 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=2N ; Principe : « découpage » de chaque vecteur en (b) optimisation de la partition par LBG
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 x1,... xM. (1) Choisir k centres initiaux y1,... yk (2). Pour chacun des M vecteurs, l'affecter à la classe k* dont le centre yk* est le plus proche (3). Si aucun élément ne change de classe alors arrêt. (4). Calculer les nouveaux centres : pour tout k, yk est la moyenne des éléments de la classe i (5). Aller en 2
Algorithme LBG 1. Critère de plus proche voisin 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 d’arrêt 2. Condition du centroïde recalculer les centres de chaque classe et aller à 1.
Quantification Recherche du représentant dans le dictionnaire: Le débit (par composante de vecteur ou par pixel – images monochromes) : (code à longueur fixe) Si l’apprentissage est bon et la séquence est représentative, l’entropie de C est maximale (= distribution uniforme)
Mesures de qualité dans les schémas de codage avec pertes Mesures objectives (1) EQM – l’erreur 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) A ou B Séquence vidéo d’origine Affichage A ou B Codeur vidéo Décodeur Vidéo Une séquence est celle d’origine, l’autre codée et décodée. L’ordre d’affichage 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.500-11, 2002