Organisation de journée



Documents pareils
Quantification Scalaire et Prédictive

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Chaine de transmission

TD : Codage des images

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Transmission de données. A) Principaux éléments intervenant dans la transmission

Formats d images. 1 Introduction

Systèmes de communications numériques 2

ISO/CEI NORME INTERNATIONALE

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Technique de codage des formes d'ondes

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Expérience 3 Formats de signalisation binaire

Transmission d informations sur le réseau électrique

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

Echantillonnage Non uniforme

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Chapitre 13 Numérisation de l information

I. TRANSMISSION DE DONNEES

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Université de La Rochelle. Réseaux TD n 6

Le concept cellulaire

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Chapitre 18 : Transmettre et stocker de l information

Mesure agnostique de la qualité des images.

Communications numériques

Chapitre 2 : communications numériques.

Numérisation du signal

TD1 Signaux, énergie et puissance, signaux aléatoires

Interception des signaux issus de communications MIMO

note technique 1RWLRQVVXUODFRPSUHVVLRQ GHVGRQQpHVGDQV OHVDSSOLFDWLRQVPXOWLPpGLDV Direction de l'ingénierie éducative

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

Systèmes de transmission

Chapitre I La fonction transmission

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

Les techniques de multiplexage

La couche physique de l ADSL (voie descendante)

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

TP Modulation Démodulation BPSK

Internet et Multimédia Exercices: flux multimédia

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

Apprentissage Automatique

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

Intérêt du découpage en sous-bandes pour l analyse spectrale

Traitement bas-niveau

Bandes Critiques et Masquage

Introduction à l approche bootstrap

Introduction à MATLAB R

Introduction au Data-Mining

Compatibilité Électromagnétique

Technique de compression des images médicales 4D

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Enregistrement et transformation du son. S. Natkin Novembre 2001

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Théorie et codage de l information

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

La classification automatique de données quantitatives

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Soutenance de stage Laboratoire des Signaux et Systèmes

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

Précision d un résultat et calculs d incertitudes

Optimisation de la compression fractale D images basée sur les réseaux de neurones

Chap17 - CORRECTİON DES EXERCİCES

TP SIN Traitement d image

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Cours d Analyse. Fonctions de plusieurs variables

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

Résolution d équations non linéaires

TELEVISION NUMERIQUE

Les algorithmes de base du graphisme

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

DEVANT L UNIVERSITE DE RENNES 1

Introduction au Data-Mining

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Programmes des classes préparatoires aux Grandes Ecoles

Projet de Traitement du Signal Segmentation d images SAR

Chapitre 2 : Techniques de transmission

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

de calibration Master 2: Calibration de modèles: présentation et simulation d

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

LES GENERATEURS DE NOMBRES ALEATOIRES


Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Transcription:

Organisation de journée Introduction et principes généraux - contexte et définition des besoins - rappels en théorie de l information Compression sans pertes - codage entropique - codage par plage - algorithme LZW (zip, GIF) Compression avec pertes - quantification scalaire et vectorielle - codage par transformation linéaire (JPEG) [- codage hiérarchique et multirésolution, (JPEG 2000)]

Introduction et principes généraux Contexte et définition des besoins «monde numérique» stockage et transmission d information sous forme binaire - efficacité : optimisation des capacités de stockage et de l utilisation de la bande passante compression ou codage source : suppression de la redondance suppression de l information «inutile» ou non perceptible - robustesse aux erreurs de transmission codage canal : ajout maîtrisé de redondance - sécurité / services augmentés : codage cryptographique, tatouage

Introduction et principes généraux Compression ou codage source Exemple: vidéo Haute Définition: - 1280x720 pixels - 24 bits / pixel (couleur) - 100 Hz débit source: 2 Gbits / s!!! (sans compter le son haute définition multi-voies ) - suppression de la redondance : compression sans perte on peut reconstruire le signal binaire initial exactement. - suppression de l information «inutile» ou non (peu) perceptible : compression avec pertes on ne peut pas reconstruire exactement le signal initial.

Quelques définitions Débit : ressource binaire (nombre de bits) utilisée pour coder une seconde de signal (pour les signaux temporels!) Taux de compression : rapport du débit sans compression et du débit avec compression ou rapport entre la place requise pour le stockage sans et avec compression. Complexité : degré de sophistication de l algorithme mesuré par la charge de calcul par unité de temps (MIPS) et par l occupation des mémoires du système Contrainte de temps-réel et retard algorithmique Qualité (pour compression avec pertes) : qualité perçue du signal restitué en regard du signal original Mesure des distorsions/dégradations ou «bruit de codage»

De la difficulté d évaluer la qualité Difficultés de trouver une mesure de qualité objective différentes formes de bruit différents effets Recherche d une mesure objective corrélée au système perceptif (difficile) Evaluation subjective par tests perceptifs sur signaux codés et originaux (fastidieux et cher)

De la difficulté d évaluer la qualité: critères numériques classiques Erreur Absolue Moyenne (EAM, ou MAE pour Mean Absolute Error) : MAE = M N ~ 1 f ( m,n) f ( m,n) M N m= 1 n= 1 Erreur Quadratique Moyenne (EQM, ou MSE pour Mean Square Error) : MSE = ( M N ~ 1 f ( m,n) f ( m,n) M N m= 1 n= 1 ) 2 Rapport Signal à Bruit (RSB, ou SNR pour Signal to Noise Ratio) : 1 f ( m,n ) M N SNR= 10 log ~ 1 ( ( ) ( ) ) f m, n f m, n M N M M N 2 m= 1 n= 1 N 2 m= 1 n= 1 Rapport Signal à Bruit de Crête (RSBC, ou PSNR pour Peak Signal to Noise Ratio) : 2 255 PSNR= 10 log M N ~ 1 M N f ( m,n) f ( m,n) m= 1 n= 1 ( ) 2

Le trio infernal! (TM L. Girin) Confort de l utilisateur Qualité Débit Capacité du canal de transmission ou du support de stockage Complexité Temps réel Retard faible Puissance du microprocesseur Capacité des mémoires

Le trio infernal! (TM L. Girin) Un gain dans un domaine se paye dans l autre il faut trouver des compromis Un système est optimal - s il maximise les performances (qualité) pour un débit donné - ou s il minimise le débit pour un niveau de performances donné. Si débit et qualité sont fixés, on cherche à réduire la complexité. compression Les codeurs ont tendance à être de plus en plus complexes Optimisation à débit fixé Optimisation à qualité fixée Limite avec / sans perte qualité

Rappels en théorie de l information Définition de l entropie: H(i) = N,M x,y = 1 [ ] p(ix,y )log2 p(ix,y ) Exemples: source binaire p(ix,y=0)=1/2, p(ix,y=1)=1/2, H(i)=1 bit pour une image en niveau de gris quelconque: p(ix,y=0)=p(ix,y=1)= =p(ix,y=255)=1/256 H(i)=8 bits Nombre minimum théorique de bits/pixel nécessaire au codage sans perte. sans tenir compte de la redondance du signal!

Rappels en théorie de l information Théorème du codage sans bruit sans mémoire: H(i) lmoy(i) H(i)+ 1 en regroupant N symboles: Illustration: (H=0.88) 0 0 et p=0.3 1 1 et p=0.7 0 11 et p= 0.49 10 10 et p= 0.21 110 01 et p= 0.21 111 00 et p= 0.09 lmoy(i) H(i) H(i)+ 1 N N lmoy/n=1 lmoy/n=0.9

Rappels en théorie de l information Mais on peut descendre sous l entropie Théorème du codage d une source sans bruit avec mémoire: 0 Ham(i) H sm(i) Exemple: S: 0123 3210 0123 3210 Si on ne considère que 1 symbole à la fois: p(x=0)=p(x=1)=p(x=2)=p(x=3)=1/4 et H=2 Si on considère des mots de codes contenant 4 symboles: p(x=0123)=p(x=3210)=1/2 et H=1 Cas limite si on considère des mots de codes contenant 8 symboles: p(x=01233210)=1 et H=0, le signal est déterministe!

Compression sans perte: codage entropique Principe : utiliser des codes à longueur variable (VLC) pour coder les symboles les plus fréquents avec peu de bits, au prix d un nombre plus élevé de bits pour les symboles les moins fréquents. Décodage Le décodeur doit savoir séparer les différents symboles. synchronisation utilisation de codes préfixés: chaque code n est le début d aucun autre Construction du code: Codage de Shannon Fano, Huffman,

Compression sans perte: codage entropique Codage de Huffman (résultat non unique): Symb. N1 000 N2 001 N3 010 N4 011 N5 100 N6 101 N7 110 N8 111 Proba. 0,30 0,18 0,15 0,10 0,10 0,07 0,05 0,05 0,62 1 1 1 1 1 1 0,20 0,38 0 0 0 0,32 1 1 0 0,17 0,10 0 0 0 Lmoy=2,79 Huffman 11 01 101 001 000 0001 10001 10000 Exploite la redondance statistique, mais pas la redondance spatiale (ou temporelle) utilisation pour coder des paires / triplets de valeurs. S utilise sur les valeurs initiales ou après transformation (présent dans tous les codecs)

Compression sans perte: codage par plage Run Length Encoding (RLE) Principe: coder le nombre de fois ou apparaît un symbole. Exemple: S: 0000000011111 : codage: nombre de répétition sur 3 bits suivi de la valeur codée: 111 0 101 1 8-0 5-1 - effet néfaste en l absence de plages uniformes intéressant dans le cas binaire («stack filters») - s applique au signal initial ou après une transformation - dans le cas bi-dimensionnel: choix du parcours.

Compression sans perte: algo. LZW Algorithme Lempel Ziv Welch Principe: coder des chaînes de caractères qui se répètent. Les chaînes sont stockées dans une mémoire (table de traduction) et sont codées par l adresse correspondante. Chaque nouvelle chaîne «apprise» est codée à la première adresse disponible Codes de longueur constante = + la chaîne est longue, meilleure est la compression Base des formats.zip,.gif. Particulièrement efficace pour les images synthétiques (logos, plans, schémas ). Meilleur que JPEG sur ce type d image : pas de perte et meilleur taux! Point-clef: apprentissage dynamique des chaînes de caractère qui se répètent apprentissage identique par le codeur et le décodeur.

Compression avec perte: méthodes par quantification Principe général Définition : conversion de la valeur s du signal prélevé (pouvant prendre éventuellement une infinité de valeurs) en la valeur la plus proche parmi un ensemble fini de N valeurs prototypes si d un dictionnaire au sens d une certaine distance (ou distorsion) Justification : capacité finie des éléments des systèmes numériques Les prototypes sont sensés représenter correctement les valeurs du signal partition de l espace de ces valeurs

Compression avec perte: méthodes par quantification Principe général Q s trouver le plus proche voisin s1 s2 sn i Q-1 inspection dans le dictionnaire s1 s2 s N Codage : remplacer une donnée par l index du prototype associé (rang dans le dictionnaire) Décodage : remplacer un index par le prototype associé (dictionnaire préalablement transmis au décodeur) Complexité codage >> décodage sq

Compression avec perte: méthodes par quantification Attention! La quantification est une opération non-linéaire! (x+y)q xq + yq La quantification est une opération irréversible! codage avec pertes/bruit! C est là que l essentiel du gain est souvent réalisé mais c est aussi le prix à payer!

Compression avec perte: méthodes par quantification Quantification scalaire Scalaire = échantillon par échantillon Résolution b = log2n si b entier on peut coder de manière unique (inversible) chaque prototype par un mot binaire de b bits b = nombre de bits/échantillon débit fixe d = bfe (en bits/s) si b est non entier, les codes ont généralement une longueur variable (ceci peut être vrai aussi si b entier) débit variable valeur moyenne N ne doit pas être trop grand!

Compression avec perte: méthodes par quantification Quantification scalaire: Bruit/erreur de quantification Définition : q = sq s Critère de performance = minimisation de la distorsion moyenne D, s considéré comme un processus aléatoire D = d ( s, sq ) ps ( s )ds Cas particulier : d = erreur quadratique, D = puissance moyenne de q ( ) D = σ q2 = s sq 2 ps ( s )ds Avantages : simplicité, résultats analytiques, sens physique Inconvénients : pas forcément corrélée avec perception mais fondement pour mesures «perceptives» plus élaborées En pratique, moyennage sur M échantillons

Compression avec perte: méthodes par quantification Rapport signal sur bruit (RSB) Définition : rapport des puissances du signal et du bruit de quantification RSBdB = 10 log10 σ s2 σ 2 q

Compression avec perte: méthodes par quantification Haute résolution Définition : cas N très grand + prototypes «bien placés» distorsion moyenne D faible Hypothèse utile pour dériver des mesures de performances et guider l élaboration d un quantificateur Exemples d approximations utiles sous HR : s et q sont non corrélés la DDP marginale de q est uniforme le processus q(n) est blanc (séquence non-corrélée) Attention! hypothèses pas toujours vraies (non-linéarité de la quantification)

Compression avec perte: méthodes par quantification Quantification scalaire uniforme QS la plus simple et très largement employée notamment dans les CAN, en amont de tout traitement numérique (y compris compression) Uniforme : les valeurs quantifiées possibles sont équi-réparties sur une échelle linéaire Partition de l intervalle de variation de s en N = 2b cellules Pas de quantification = 2A/N Prototypes = centres des cellules indexés de 1 à N

Compression avec perte: méthodes par quantification Quantification scalaire uniforme s8 N=8 b=3 s7 s6 -A s5 A s3 s2 Zone linéaire s1 2A s

Compression avec perte: méthodes par quantification Quantification scalaire uniforme: bruits Bruit de dépassement : bruit occasionné par la troncature du signal si celui-ci sort de la zone linéaire Perceptuellement différent et «en compétiton» avec le bruit de quantification granulaire (zone linéaire) lorsque la dynamique de s varie Compromis nécessaire = dimensionner A et en fonction de la DDP de s, ou régler le niveau de s... Facteur d échelle (typiquement entre 2 et 4) : γ = A σs

Compression avec perte: méthodes par quantification Quantification scalaire uniforme: calcul du bruit de quantification Hypothèses : haute résolution ps(s) suffisamment lisse constante dans chaque cellule bruit de dépassement négligé q est uniformément réparti entre /2 et + /2. 2 2 1 A 2 2 2b σ q = q dq = = 2 12 3 /2 /2

Compression avec perte: méthodes par quantification Quantification scalaire uniforme: calcul du RSB σ s2 3 2b RSBdB = 10 log10 = 10 log10 2 = 6,02b + 4,77 20 log10 γ σ q2 γ2 On augmente le RSB de 6dB à chaque fois qu on rajoute 1 bit pour la quantification. γ RSB mais attention au bruit de dépassement! En pratique, il faut tenir compte de la dynamique de s et garantir une valeur minimale de RSB pour une dynamique faible. Exemple : données audio sur 16 bits, RSB 96 db

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme Premier exemple non immédiat mais encore simple d application du grand principe de la compression (élimination de la redondance du signal) Principe : tenir compte de la répartition statistique des valeurs de s : pour les signaux utiles réels (parole/musique/images), certaines amplitudes sont plus fréquentes (probables) que d autres pour diminuer D, on alloue plus de précision sur ces amplitudes : le quantificateur doit être bien adapté à ps(x)

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: conséquence sur le quantificateur Cellules de longueur variable (d autant plus petites que ps(s) est grande) Prototypes pas forcément au centre des cellules N=8 b=3 s8 s7 T(s) s6 s5 i s s3 s2 s1

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: schéma équivalent Quantification uniforme s T Q sq T-1 T = transformation non-linéaire Exemple : standard US en téléphonie fixe (G.711) Fe = 8 khz, b = 8 bits, d = 64 kbits/s µ = 255 réglé pour optimiser le RSB T(x) approximée par des segments linéaires ln (1 + µ x / V ) T ( x) = V sgn ( x) x V ln (1 + µ )

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: calcul du bruit de quantification Hypothèses : haute résolution ps(s) suffisamment lisse constante dans chaque cellule = pi bruit de dépassement négligé σ q2 = ( s sq ) 2 N ps ( s )ds = ( s si ) 2 ps ( s)ds i = 1s Ci 1 N 2 2 N 3 σ q pi ( s si ) ds = pi i 12 i = 1 i = 1 s Ci

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: minimisation du bruit de quantification N pi i = 1 i= 1 σ q2 = 3 2 1 / 3 2b σ s 1 / 3 2b 2 2b p ( s ) ds 2 = f ( x ) dx 2 = h σ S S s2 12 1 12 3 2 σ q minimale si pi i = constante 3 f S ( x) = σ s ps (σ s x) DDP de X = S / σ s 2 2 si i = constante, on retrouve q h ne dépend que de ps(s) h = 3π / 2 Cas gaussien centré : Problème majeur : pas de méthode analytique d élaboration du quantificateur si ps(s) inconnue! σ = / 12

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: obtention du dictionnaire Deux conditions nécessaires d optimalité permettent de déterminer efficacement prototypes et partition (b fixée) Idée : séparer encodeur et décodeur : Pour un décodeur (= {prototypes}) donné, le meilleur encodeur (= partition) donné par la condition des plus proches voisins : { ( ) Cellule i = s : ( s si ) 2 s s j 2 j {1...N } } Pour un encodeur donné, le meilleur décodeur est donné par la condition des centroïdes (barycentres) : si = sps ( s )ds s Ci ps ( s)ds s Ci + = sp S s Ci ( s ) ds = E [ S S Cellule i ]

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: obtention du dictionnaire Pour (1), la connaissance de la partition est inutile (distance + convention pour point équidistant de 2 prototypes) (1) et (2) nécessaires mais non suffisantes pour garantir l optimalité globale du quantificateur Démonstrations (1) triviale (2) dériver par rapport à si Généralisation à d autres distances : (1) Cellule i = s : d ( s, s ) i { (2) d ( s, s j ) j {1...N } si = arg min E [ d ( S, x) S Cellule i ] x }

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: obtention du dictionnaire Algorithme de Lloyd-Max: Dans la pratique, utilisation d une large base de données empiriques itérations successives entre les deux conditions d optimalité = Algorithme de Lloyd-Max (1) affectation des données aux centroïdes plus proches voisins nouvelle partition (2) calcul des moyennes des échantillons de chaque classe nouveaux centroïdes (3) calcul de D qui diminue à chaque itération. On arrête quand elle n évolue plus ou que la diminution relative est inférieure à un seuil faible

Compression avec perte: méthodes par quantification Quantification scalaire non uniforme: obtention du dictionnaire Algorithme de Lloyd-Max: «Mise en forme» du quantificateur selon ps(s) sans estimation explicite de ps(s)! Echantillon de données de taille M>>N pour bien représenter ps(s) Attention aux données situées exactement sur la frontière entre deux cellules : il faut changer leur affectation Minimum local pour D et pas forcément global quantificateur pas forcément optimal mais performant en pratique : très efficace / nombreuses applications

Compression avec perte: méthodes par quantification Techniques adaptatives Principe : régler automatiquement le quantificateur en fonction des variations à moyen terme des statistiques de s(t) (localement stationnaire) Exemple : adaptation en gain = réglage automatique de A, en fonction du niveau des échantillons passés de s en essayant de garder γ à sa valeur optimale Généralisation du principe à tout bloc d un codeur

Compression avec perte: méthodes par quantification Quantification vectorielle

Compression avec perte: méthodes par quantification Quantification vectorielle: algo de Linde Buzo Gray (LBG) 1. On part d'abord d'un dictionnaire composé d'un seul vecteur V0 qui minimise la distorsion moyenne. C'est le centre de gravité de l'ensemble d'apprentissage. 2. On génère ensuite à partir de V0 deux vecteurs V11 et V21 définis par V11 = V0 + e et V21 = V0 -e 3. En fonction de V11 et V21 on crée deux classes de vecteurs à partir de la base d'apprentissage en fonction de leur distances vis à vis de V11 et V21. On calcule ensuite les centres de gravité de ces deux classes pour mettre à jour V11 et V21. On itère ce processus tant que la décroissance de la distorsion moyenne reste importante. 4. On partage à nouveau ces 2 vecteurs en 2 et on itère l'étape précédente sur les nouveaux vecteurs. 5. On arrête l'algorithme lorsque l'on a atteint le nombre de vecteurs désiré.

Compression avec perte: méthodes par quantification Quantification vectorielle: algo de Linde Buzo Gray (LBG) V0 (1): On part d'abord d'un dictionnaire composé d'un seul vecteur V0 qui minimise la distorsion moyenne. C'est le centre de gravité de l'ensemble d'apprentissage.

Compression avec perte: méthodes par quantification Quantification vectorielle: algo de Linde Buzo Gray (LBG) V11 V12 -e +e (2): On génère ensuite à partir de V0 deux vecteurs V11 et V21 définis par V11 = V0 + e et V21 = V0 -e

Compression avec perte: méthodes par quantification Quantification vectorielle: algo de Linde Buzo Gray (LBG) V11 V12 V11 V12 (3) 3. On crée deux classes de vecteurs à partir de la base d'apprentissage en fonction de leur distances vis à vis de V11 et V21. On calcule ensuite les centres de gravité de ces deux classes pour mettre à jour V11 et V21. On itère ce processus tant que la décroissance de la distorsion moyenne reste importante.

Compression avec perte: méthodes par quantification Quantification vectorielle: algo de Linde Buzo Gray (LBG) V21 V22V23 V24 V23 V21 V22 V23 V21 V24 V24 V22 4. On partage à nouveau ces 2 vecteurs en 2 et on itère l'étape précédente sur les nouveaux vecteurs.

Compression avec perte: méthodes par quantification Quantification vectorielle: algo de Linde Buzo Gray (LBG) V35 V23 V21 V31 V24 V22 V32 V36 V34 V37 V33 5. On arrête l'algorithme lorsque l'on a atteint le nombre de vecteurs désiré. V38

Compression avec perte: méthodes par quantification Quantification scalaire vs quantification vectorielle QV QS

Compression avec perte: méthodes par quantification Quantification scalaire vs quantification vectorielle QV TL + QS

Compression avec perte: codage par transformation linéaire (JPEG) JPEG: généralités Principal standard utilisé en compression d images naturelles JPEG= «Joint Photographic Expert Group»: voté comme standard international en 1992 Permet de compresser les images couleurs ou en niveau de gris dans plusieurs domaines: images naturelles, satellites, médicales

Compression avec perte: codage par transformation linéaire (JPEG) Création d un standard Avantages d une norme: compatibilité pérennité d un produit qui s appuie sur un standard (argument commercial) Etapes nécessaires à la création d un standard: Définition des besoins réels: Définitions des fonctionnalités Création d un comité ouvert à tous le monde: entreprises, laboratoires Propositions de solutions (Conditions souvent requises: pas de brevet) Evaluation des solutions proposées Sélection de la «meilleure» solution Description du standard: En compression, on ne décrit souvent que la partie décodage du standard Le codeur n est pas normalisé: possibilité de créer un codeur plus performant que les autres (s il existe des degrés de libertés )

Compression avec perte: codage par transformation linéaire (JPEG) Création d un standard Pour JPEG: 1986: applications aux images fixes couleurs, avec ou sans perte 1987: Trois techniques proposées: DCT; DPCM, Progressive BTC 1988: sélection d une méthode basée DCT 1988-90: simulations, testes, documentation 1991: brouillon de description du Standard 1992: standard international

Compression avec perte: codage par transformation linéaire (JPEG) Transformations linéaires Définitions: Systèmes séparables: T ( u,v,) = T ( u,v) = x= N y = M I( x,y) H (u,v,x,y) x= 1 y = 1 x= N y = M I( x, y) H ( u,x)h ( y,v) x= 1 y = 1 c l y= M T ( u,v) = I ( x, y) Hc( u, x) Hl ( v, y) x= 1 y = 1 x= N Illustration: lissage par un masque moyenneur de taille 5x5 H(x,y,u,v) = 1/9 si -3<x-u<3 et -3<y-v<3 = 0 sinon H(x,y,u,v)=Hc(x,u) Hv (y,v) On passe de n2 opérations à 2n

Compression avec perte: codage par transformation linéaire (JPEG) Transformations linéaires orthogonales Formulation matricielle d une transformation linéaire: Tdeplié=A.Ideplié Transformation orthogonale: At A= Id A 1= At Propriétés utiles en compression: EQM(T,T )=EQM(I,I ) Intérêt: si on le code que les N premiers coefficients d une transformée: 2 1 EQM = elimt(i, j) Nbelim Nb

Compression avec perte: codage par transformation linéaire (JPEG) Transformée de Fourier discrète 2D Transformation: T ( u,v) = x= N 1 y = M 1 x= 0 avec w= e 2iπ / N y= 0 Transformation inverse: I ( x,y ) = 12 N I(x,y) wxu wyv u = N 1 v= M 1 T(u,v)w xu u= 0 w yv v= 0 Transformation orthogonale Décomposition en fréquences spatiales de l image Image originale 5% du spectre Image reconstruite

Compression avec perte: codage par transformation linéaire (JPEG) Inconvénients de la TF2D Coefficients transformés complexes Création de hautes fréquences artificielles

Compression avec perte: codage par transformation linéaire (JPEG) Vers la transformée en cosinus discrète Plus de hautes fréquences artificielles

Compression avec perte: codage par transformation linéaire (JPEG) Transformée en cosinus discrète Définition N 1 M 1 Avec [ ] [ T ( u,v) = 2 C( u) C( v) I(x,y)cos π u( 2x+ 1) cos π v( 2y+ 1) N 2N 2N x= 0 y = 0 Blocs de bases (8x8) C( 0)= 1 et α 0 C( α ) = 1 2 ]

Compression avec perte: codage par transformation linéaire (JPEG) Illustration 8 16 24 32 40 48 56 64 DFT (module) 36 10 10 6 6 4 4 4 DCT 100-52 0-5 0-2 0 0.4 Troncature Troncature 36 10 10 6 0 0 0 0 100-52 0-5 0 0 0 0 IDFT 24 12 20 32 40 51 59 48 IDCT 8 15 24 32 40 48 57 63

Compression avec perte: codage par transformation linéaire (JPEG) Illustration Bloc B de taille 8x8 Im(DFT(B)) Bloc miroir BM Re(DFT(B)) DCT(B)

Compression avec perte: codage par transformation linéaire (JPEG) Chaîne de codage et décodage

Compression avec perte: codage par transformation linéaire (JPEG) Quantification des coefficients DCT DCT Exemple de table de quantification:

Compression avec perte: codage par transformation linéaire (JPEG) Parcours des blocs DCT Principe du Zig-Zag scan: avoir le maximum de zeros qui se suivent pour pouvoir appliquer le RLE Sens de parcours:

Compression avec perte: codage par transformation linéaire (JPEG) Codage des coefficients DC Codage différentiel: le coefficient DC est égale à la somme des pixels présents dans un blocs 8x8: il a donc une valeur importante (intensité moyenne) le coefficient DC d un bloc est corrélé avec le coefficient DC du bloc précédent On choisit donc de coder Diff=DC(k)-DC(k-1): «Differential Pulse Code Modulation= DPCM»

Compression avec perte: codage par transformation linéaire (JPEG) Codage des coefficients DC & AC Codage Entropique des coefficients DC codes à longueur variables représentés par le nombre de bits minimums nécessaires pour coder le coeff: nbmin 0 0-1,1 1-3,-2,2,3 2-7,-6,-5,-4,4,5,6,7 3 on transmet le code de Huffman de nbmin puis la valeur à coder des coefficients AC on transmet le code de Huffman qui représente la paire (nb de zéros à passer, taille du coeff AC) puis la valeur à coder

Compression avec perte: codage par transformation linéaire (JPEG) Exemple de table de codage Valeur à Coder 16-21 10-15 3-2 2-3 2-1 EOB Amplitude 10000 01010 1010 0000 11 01 10 00 10 0 Code de Huffman 11010 11010 1011 1011 11111011 01 11011 01 11111110111 00 1010 Run/taille 0/5 0/5 0/4 0/4 3/2 0/2 1/2 0/2 5/2 0/1 0/0 Nb bits total 10 10 8 8 11 4 7 4 13 3 4

Compression avec perte: codage par transformation linéaire (JPEG) Fonctionnement de l algorithme JPEG Deux paramètres de sélections (au choix): 1. facteur de qualité: compris entre 0% et 100% (valeur standard: 75%) Agit sur la qualité de l image reconstruite = matrice de quantification 2. taux de compression ou débits Agit sur la taille de l image compressée

Compression avec perte: codage par transformation linéaire (JPEG) Autres modes de JPEG Plusieurs modes: Mode sans pertes fonctionne par prédiction et codage de la prédiction ------------------------------------------------------------------Programme de Compression Taux Lena football F-18 flowers -----------------------------------------------------------------lossless JPEG 1.45 1.54 2.29 1.26 optimal lossless JPEG 1.49 1.67 2.71 1.33 compress (LZW) 0.86 1.24 2.21 0.87 gzip (Lempel-Ziv) 1.08 1.36 3.10 1.05 gzip -9 (optimal Lempel-Ziv) 1.08 1.36 3.13 1.05 pack (Huffman coding) 1.02 1.12 1.19 1.00 -------------------------------------------------------------------- Mode progressif Objectif: transmettre d abord l information importante de l image puis les détails Solutions adoptées: Transmettre d abord les coefficients BF puis les HF Transmettre d abord les bits de poids forts puis les bits de poids faible

Compression avec perte: codage par transformation linéaire (JPEG) Structure du fichier JPEG A Frame = image, a scan=passage sur une composante de l image (par exemple rouge), segment=groupe de blocks,"block" =group de 8x8 pixels. Frame header (entête d image): dimensions de l image nombre de composantes facteur d échantillonnage pour chaque composante table de quantification pour chaque composante Scan header tables de Huffman Misc. (can occur between headers) tables de quantidication, tables de huffman, commentaires Application Data