Echantillonnage et quantification
Transcription
Echantillonnage et quantification
Échantillonnage et quantification Séverine Dubuisson Échantillonnage et quantification – p. 1/2 Rappels f (x, y) ! Échantillonnage fs (m, n) ! u(m, n) ! Quantification Image continue Vers l’ordinateur La résolution spatiale est obtenue après échantillonnage (Sampling) Détermine le plus petit détail perceptible dans l’image Quel est le meilleur taux d’échantillonnage ? La résolution en niveaux de gris est obtenue après quantification (Quantization) Détermine le plus petit changement de niveau de gris discernable dans l’image Existe-t-il un quantificateur optimal ? Échantillonnage et quantification – p. 2/2 Notations préliminaires Signal continu M -D : f (u, v, w, z) Signal échantillonné M -D : w(k, l, m, n, i, j), avec (k, l, m, n, i, j) indices entiers Fonction séparable x(k, l, m) = x1 (k)x2 (l, m) Plusieurs fonctions M -D peuvent être construites avec des fonctions 1-D, telles que sinc (x, y), exp, etc. Un signal échantillonné M -D est représenté par un tenseur M -D (ex.: matrice 2-D, cube 3-D, etc.) Échantillonnage et quantification – p. 3/2 Exemples de signaux simples Exemple : x(k1 , l1 ) x(k1 , l2 ) x(k1 , l3 ) x(k, l) = x(k2 , l1 ) x(k2 , l2 ) x(k2 , l3 ) x(k3 , l1 ) x(k3 , l2 ) x(k3 , l3 ) Autres exemples simples : δ(k, l) = ' e(k, l) = 0 si 1 sinon ' 0 si 1 sinon k = l != 0 k, l ≥ 0 Échantillonnage et quantification – p. 4/2 Échantillonnage Étape nécessaire quand le signal sous-jacent est analogique Dans le cas 1-D, l’échantillonnage est bien expliqué, bien connu et bien utilisé La généralisation aveugle du 1-D au M -D est dangereuse : Les hypothèses du 1-D sont souvent oubliées La nature des signaux M -D est souvent différente de celle des signaux 1-D Les contraintes des applications et des réalisations sont différentes Échantillonnage et quantification – p. 5/2 Échantillonnage 1-D On utilise le théorème de l’échantillonnage (Nyquist) : un signal analogique peut être entièrement reconstruit à partir de ses échantillons s’il est échantillonné au moins au double de sa fréquence maximum Fmax , soit Fe ≥ 2Fmax La fréquence maximum doit être connue (mesurée avec des analyseurs de spectre) Le signal doit être stationnaire (transformée de Fourier) La condition est donnée pour la reconstruction du signal analogique Échantillonnage et quantification – p. 6/2 Échantillonnage M -D (1/4) Dans le cas M -D les analyseurs de spectre sont rares : on ne peut pas connaître les fréquences maximum Les signaux M -D sont rarement stationnaires Très souvent on ne réalise pas la mise en œuvre de la conversion numérique/analogique Solution ? On admet que les hypothèses 1-D sont satisfaites Soit xa (u, v) un signal analogique M -D. On définit sa DFT Xa (f, g) par : ( ( +∞ Xa (f, g) = xa (u, v)e−2πj(f u+gv) dudv −∞ Échantillonnage et quantification – p. 7/2 Échantillonnage M -D (2/4) Le signal échantillonné M -D de xa (u, v) se fait en prélevant des échantillons espacés périodiquement et est donné par : x(k∆u, l∆v) = x(k, l) = xa (u, v)|u=k∆u,v=l∆v Un signal analogique M -D limité en bande à F et G peut être reconstruit 1 1 et ∆v ≤ 2G à partir de ses échantillons si et seulement si ∆u ≤ 2F La version échantillonnée xe (u, v) de xa (u, v) peut être vue comme le produit du signal analogique et d’impulsions δ (Diracs) M -tuples périodiques (“brosse” de Diracs) e(u, v) : xe (u, v) = xa (u, v) · e(u, v) e(u, v) = +∞ ) +∞ ) k=−∞ l=−∞ δ(u − k∆u, v − l∆v) Échantillonnage et quantification – p. 8/2 Échantillonnage M -D (3/4) Au produit direct dans le domaine spatial correspond le produit de convolution dans le domaine fréquentiel : Xe (f, g) = Xa (f, g) " E(f, g) = ( ( +∞ −∞ Xa (f # , g # )E(f − f # , g − g # )df dg On peut montrer que : +∞ +∞ * ) ) 1 m n + E(f, g) = δ f− ,g − ∆u∆v m=−∞ n=−∞ ∆u ∆v Propriété du produit de convolution des impulsions de Dirac : y(α, β) " δ(α − a, β − b) = ( ( +∞ −∞ y(α# , β # )δ(α − a − α# , β − b − β # )dα# d = y(α − a, β − b) Échantillonnage et quantification – p. 9/2 Échantillonnage M -D (4/4) La transformée de Fourier du signal échantillonné est donnée par : +∞ +∞ * ) ) n + 1 m ,g − Xa f − Xe (f, g) = ∆u∆v m=−∞ n=−∞ ∆u ∆v Xe (f, g) est obtenue par duplication périodique de Xa (f, g) dans les M 1 1 et ∆v dimensions avec l’inverse des périodes d’échantillonnage ∆u L’échantillonnage M -D produit une succession de spectres secondaires dans les M directions, proportionnels au spectre Xa (f, g) Si l’échantillonnage est fait avec des impulsions de Dirac, tous les poids sont égaux (échantillonnage idéal) Si l’échantillonnage est fait avec des impulsions de largeur finie, les poids sont donnés par la transformée de Fourier des impulsions Échantillonnage et quantification – p. 10/2 Grilles d’échantillonnage La majorité des grilles d’échantillonnage sont cartésiennes (rectangulaires) : les pixels sont à ∆u et ∆v les uns des autres En général, on choisit des grilles carrées : ∆u = ∆v Existent aussi des grilles hexagonales ou quinconces Les signaux TV sont souvent échantillonnés en quinconce pour économiser un facteur dans le nombre total d’échantillons Les applications liées à la vision par ordinateur (robotique, reconnaissance, etc.) sont plus efficaces sur des grilles hexagonales Échantillonnage et quantification – p. 11/2 Exemples de grilles d’échantillonnage Grille cartésienne ! ! ! Grille en quinconce u " ! ! ! ! !v ! ! "$ "$ " "$ f "" # #$ % % # "$ % $ !g #$ " #$ % " % # "$ % #% ## %% u ! " ! ! ! ! ! ! !v "" "$ $ f " # # % " % " $ $ $ !g # " # % " % # % $ $ #% #% Échantillonnage et quantification – p. 12/2 Reconstruction du spectre analogique (1/2) Si le signal est limité en bande à F et G, il peut être reconstruit à partir de ses échantillons par filtrage passe-bas (interpolation). La réponse fréquentielle Gi (f, g) d’un filtre passe-bas idéal est donnée par : Gi (f, g) = ' ∆u∆v si 0 sinon f ≤ F et g ≤ G Xa (f, g) = Gi (f, g) · Xe (f, g) Échantillonnage et quantification – p. 13/2 Reconstruction du spectre analogique (2/2) Si le signal n’est pas limité en bande, le spectre Xa (f, g) est irrévocablement perdu à cause du recouvrement de spectre (dont les erreurs ne peuvent être corrigées) %→ Les fréquences au-dessus de la moitié de la fréquence d’échantillonnage sont appelées fréquences de repliement On peut éviter le recouvrement (phénomène d’aliasing dans l’image) par filtrage passe-bas de l’image afin de limiter sa bande à F et G Le signal reconstruit est une somme pondérée de fonctions sinus cardinal (sinc ) xa (u, v) = +∞ ) +∞ ) k=−∞ l=−∞ x(k, l) · sinc (2F u − k) · sinc (2Gv − l) Échantillonnage et quantification – p. 14/2 Reconstruction : illustration en 1-D Pas de recouvrement " " ! Signal analogique "$ " " " " ! " ! "$ " "$ Spectre Recouvrement " """ " ! "$ "$ "$ Échantillonnage et quantification – p. 15/2 En pratique La transformée de Fourier Xa (f, g) du signal est rarement connue, de même que F et G Le traitement M -D est assez lourd, on cherche donc à éviter les filtres de reconstitution Des périodes arbitraires de fréquences d’échantillonnage sont sélectionnées dans la plupart des cas : Télécopie (Fax) : 2 résolutions pré-réglées Imprimantes : nombre fini de résolutions au choix de l’utilisateur TV : 25 ou 30 images par seconde, 625 ou 525 lignes par hauteur d’image TV numérique : HDTV TV 1920 × 1152 × 50 720 × 576 × 25 Échantillonnage et quantification – p. 16/2 Quantification But : réduire le nombre de bits nécessaires au codage de la luminance ! moyennant une diminution de la précision de l’image Associer à un nombre réel un nombre entier ! compression implicite Deux types de quantifieurs : Le quantifieur scalaire : on quantifie chaque valeur Le quantifieur vectoriel : on quantifie une suite d’échantillons (vecteur) Échantillonnage et quantification – p. 17/2 Quantification scalaire On considère une variable aléatoire u de sdensité de probabilité pu (u) Une quantification est une application Q : R '−→ R, u −→ u! L’image de Q est souvent un ensemble fini On subdivise les valeurs de u en intevalles [tk , tk+1 [ On associe une valeur rk à chaque intervalle On cherche les niveaux de transition tk et de quantification rk optimum, connaissant la densité de probabilité de u en se fixant un critère d’optimisation On peut utiliser l’histogramme comme fonction de densité de probabilité Échantillonnage et quantification – p. 18/2 Principe de la quantification scalaire u! " u! ∈ {r1 , r2 , . . . , rL } est le signal quantifié tk ≤ u < tk+1 et u → rk rk ! tk tk+1 u tk : k = 1, 2, . . . , L + 1 niveau de transition/décisio rk : kième niveau de reconstruction Exemple : cas d’un quantificateur uniforme, avec u ∈ [0, 10.0] On souhaite avoir u& ∈ {0, 1, . . . , 255} (dynamique d’une image) t1 = 0, t257 = 10.0 Avec un séparation uniforme, on a tk = (k − 1) × k = 1, 2, . . . , 257 10 256 , Échantillonnage et quantification – p. 19/2 Quantificateur optimal , +∞ Soit E(u) = −∞ upu (u)du la densité de probabilité du signal échantillonné u L’erreur quadratique moyenne & (MSE) de quantification est donnée par : - & = E (u − u ) # . 2 = ( +∞ −∞ (u − u ) pu (u)du = # 2 ( tL+1 t1 (u − u# )2 pu (u)du Comme u# = rk , si u ∈ [tk , tk+1 ], on réécrit la formule précédente : &= L ( ) i=1 ti+1 ti (u − ri )2 pu (u)du ∂" ∂" Pour minimiser &, on utilise les conditions ∂r = 0 et = 0. Et on ∂t k k obtient : , tk+1 upu (u)du rk + rk−1 tk rk = , tk+1 tk = 2 pu (u)du tk Échantillonnage et quantification – p. 20/2 Quantificateur uniforme (1/2) On considère pu (u) = ' 1 tL+1 −t1 0 si t1 ≤ u ≤ tL+1 sinon On a donc : rk = tk , tk+1 2 2 − t t tk+1 + tk tk k+1 k = = , tk+1 2(tk+1 − tk ) 2 pu (u)du tk upu (u)du rk + rk−1 tk+1 + tk−1 = = 2 2 Quantificateur linéaire : tk − tk−1 = tk+1 − tk = q , avec q= tL+1 −t1 L tk = tk−1 + q et rk = tk + q 2 Échantillonnage et quantification – p. 21/2 Quantificateur uniforme (2/2) L’erreur de quantification e = (u − u! ) est uniformément quantifiée sur [− 2q , 2q ] L’erreur quadratique moyenne de quantification est : 1 "= q ( q 2 − q2 2 q u2 du = 12 La variance d’une variable uniforme sur [0, A] est σu2 = , 1 α+A x−α A α − . A 2 dx 2 = A2 12 Pour un quantificateur sur B bits, q = " σu2 = 2−2B ⇒ A 2B SNR = 10 log10 22B * 6B dB Rapport signal à bruit de 6 dB par bit Échantillonnage et quantification – p. 22/2 Quantificateur vectoriel (1/3) Approximation d’un signal d’amplitude continu par un signal d’amplitude discrète Former un vecteur de n échantillons non quantifiés x(k, l) x = [x(1, 1), x(1, 2), . . . , x(k, l), . . .]t La QV consiste à segmenter cet espace en Nq régions de décisions (cellules) Di et à représenter tous les vecteurs dont les extrémités tombent dans Di par un vecteur unique de reconstruction ri = xq La QV est la généralisation de la quantification scalaire Échantillonnage et quantification – p. 23/2 Quantificateur vectoriel (2/3) En théorie, la probabilité conjointe (pdf) px (x) du vecteur x est supposée connue L’erreur de quantification est mesurée par la distance entre x et ri = xq . L’erreur est eq = x − xq = x − ri . La distance peut être : d(x, xq ) = etq · eq = N ) j=1 (xj − xq )2 L’erreur quadratique moyenne de quantification & est l’espérance mathématique de la distance d(x, xq ) &= E(etq · eq ) = N ( ) j=1 Dj / 0 t Tr (x − ri )(x − ri ) px (x)dx Échantillonnage et quantification – p. 24/2 Quantificateur vectoriel (3/3) Les régions optimum de décision Di et les vecteurs de reconstruction ri sont obtenus en minimisant " : ∂" = ∂ri ri = ( Dj (x − ri )px (x)dx Dj xpx (x)dx , , Dj px (x)dx Échantillonnage et quantification – p. 25/2 Elaboration d’un quantificateur vectoriel (1/ La liste des niveaux de reconstruction est appelée dictionnaire de reconstruction Le même dictionnaire est nécessaire à l’encodeur et au décodeur La QV optimale doit choisir ri avec la plus petite distorsion entre x et ri : xq = ri ssi d(x, ri ) ≤ d(x, rj ), pour i != j et j = 1, 2, . . . , Nq (1) Chaque ri doit minimiser la distorsion moyenne D dans Di , donc minimiser par rapport à ri D = E(d(x, ri )), pour x ∈ Di (2) (1) et (2) sont des relations imbriquées : les niveaux de reconstruction spécifient les cellules et les cellules spécifient les niveaux de reconstruction Échantillonnage et quantification – p. 26/2 Elaboration d’un quantificateur vectoriel (2/ Nécessité d’itérations : à partir d’une situation initiale des ri , et étant donnée une distance, on détermine les Di à partir de (1) A partir de cette estimée des Di , on calcule les ri comme leur centroïde. On réitère jusqu’à un minimum de distorsion soit atteint Deux difficultés : On doit déterminer les ri pour toutes les entrées x possibles On doit connaître px (x) pour calculer les centroïdes des Di Solution : utiliser des vecteurs d’apprentissage et l’algorithme des K-means Soient M vecteurs d’apprentissage x1 , i = 1, . . . , M On cherche Nq vecteurs de reconstruction ri Échantillonnage et quantification – p. 27/2 Elaboration d’un quantificateur vectoriel (3/ Les niveaux de reconstruction ri sont obtenus en minimisant la distorsion moyenne : M 1 ) d(xi , xqi ) D= M i=1 Soient ri les estimations initiales, avec i = 1, . . . , Nq . On classe les M vecteurs d’apprentissage avec la relation (1), puis on détermine un nouveau vecteur de reconstruction dans chaque groupe %→ Si M1 vecteurs xi sont groupés et quantifiés au niveau de reconstruction r1 , alors la nouvelle estimation de r1 est donnée par : M1 1 ) d(xi , r1 ) D= M1 i=1 Échantillonnage et quantification – p. 28/2 Elaboration d’un quantificateur vectoriel (4/ Tous les autres ri sont traités de la même manière pour terminer la première itération Les itérations continuent jusqu’à ce que les variations de D soient considérées comme non-significatives (l’algorithme converge à un minimum local). On déterminera un minimum global en prenant plusieurs estimations initiales différentes des ri . L’ensemble des ri retenu est celui ayant minimisé D Échantillonnage et quantification – p. 29/2