1 / 95

DEA-INFO Analyse et Compression de Séquences Vidéos

DEA-INFO Analyse et Compression de Séquences Vidéos. Partie Compression Stéphane Pateux IRISA / projet Temics stephane.pateux@irisa.fr. Plan. Introduction Rappel de théorie de l ’information Outil de codage entropique Codage sans / avec pertes Quantification Codage par prédiction

aiko-stark
Download Presentation

DEA-INFO Analyse et Compression de Séquences Vidéos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DEA-INFOAnalyse et Compression de Séquences Vidéos Partie Compression Stéphane Pateux IRISA / projet Temics stephane.pateux@irisa.fr

  2. Plan • Introduction • Rappel de théorie de l ’information • Outil de codage entropique • Codage sans / avec pertes • Quantification • Codage par prédiction • Codage par transformation • Normes et Codages • Nouvelles fonctionnalités

  3. Introduction • Définitions • Représentation d ’une image / vidéo • Formats classiques d ’images • Besoin en compression • Fil conducteur: Codeur Vidéo

  4. Définitions • Codage: • mise en forme d ’un message en vue de sa transmission, de son stockage, ou de son traitement • Compression: • réduction de la quantité d ’information nécessaire pour la représentation d ’une information • Quantité d ’information: • signaux analogiques: bande passante • signaux numériques: nombre de bits Codage ne veut pas dire compression

  5. Représentation d ’une image • Images numériques • tableau LxH de pixels • pixel: • niveau de gris • point couleur (RVB, YCbCr, …) • autres (multi-bande satellite, mouvement, …) H L pixel

  6. Représentation d ’images • Image noir et blanc • en général: [0-256] -> 8 bits/pel • Image couleur • RGB: [0-256]^3 -> 24 bits/pel • sous-échantillonage couleur • 4:4:4 - 4:2:2 - 4:2:0 • Vidéo numérique: • simplement une suite d ’images • fréquence d ’apparition des images(intervalle de temps entre 2 images)

  7. Formats classiques d’images • Image informatique • dimensions: 640*480 (photo numérique 1600*1200) • pixels: RGB 24 bits /pels • quantité d ’information: 640*480*24 = 7 Mb • Vidéo (CCIR-601) • dimensions: 720*576 • pixels couleurs…. 24 bits/pels …. • fréquence: 25 im/s • débit: 720*576*24*25 = 237 Mb/s • Vidéo CIF (352*288) • débit: 58 Mb/s 1 b != 1 B 1 Byte (octet) = 8 bits

  8. Besoin en compression • Stockage • disquette 3’5: 1.44 MB = 11.5 Mb • 1.5 image de taille 640*480 • CD-ROM: 640 MB • 21 secondes de vidéo • DVD: 4.5 GB - 20 GB • qq minutes de vidéo…. • Débit • RTC: 56 Kb/s • RNIS: 64Kb/s k lignes: k*64Kb/s (max 2Mb/s) • CD-ROM: 1.2 Mb/s • ADSL: 500 Kb/s à 8Mb/s • DVD: 4.6 Mb/s • fibre optique: 140 Mb/s

  9. Besoin en compression • Sans compression, il est quasiment impossible de transmettre dans un temps raisonnable des données images. • Diffusion massive d ’informations • Internet • bouquets satellites (+ de 100 chaînes) • HDTV • ...

  10. + DCT Q Codage - invQ 0 IDCT + EM CM + Mémoire Fil conducteur:Codeur vidéo hybride • Schéma de codage vidéo • schéma de base

  11. Théorie de l ’information • Introduction • Définitions • Rappel de probabilités • Information propre • Entropie • Théorème de Shannon • Modèle de sources

  12. Introduction • Travaux de Shannon en 1948 Canal source codeur modulation Canal de transmission Bruit démodulation décodeur client

  13. Définitions • Source • générateur de message • séquence de variables aléatoires • correspond à un message émis • Codeur • transforme message en un mot défini sur un alphabet • exemple: • représentation binaire: 9 = 1001

  14. Définitions • But de la compression • si un message est codé sur une longueur ; faire en sorte que soit le plus petit possible • Taux de compression

  15. But de la compression • Comme il y a différents message, il faut que tous les soient petits. • En fait, plus le message est fréquent, plus il doit avoir un mot de code court • Inégalité de Kraft • condition nécessaire pour que le code soit réalisable Contrainte sur le choix des

  16. Rappel de probabilités • Pour chaque événement Ai, on associe une loi de probabilité: p(Ai) • Propriétés • Probabilité uniforme: • Probabilité conditionnelle • loi de Bayes:

  17. Information propre • Mesure définissant la quantité d ’information apporté par un message: I(A) • propriétés de l ’information propre • est une solution

  18. Entropie • Entropie de Shannon, source sans mémoire • source sans mémoire • les variables aléatoires sont iid • valeur moyenne de la quantité d ’information pour les messages d ’une source X • Exemples • loi uniforme: H(X)= • distribution de Bernouilli • 2 messages possibles • probas: p et (1-p) H 1 0 p 0.5 1

  19. Entropie • Exemple • source 3 messages possibles • probas: 0.1 , 0.3 et 0.6 • H ~= 1.30 • Autres exemples • Entropie augmente avec le nombre de symboles présents • si loi plus « étalée », entropie plus élevée

  20. Entropie • Propriété 1 • soit 2 lois de probabilité • on a alors: • avec égalité ssi • Démonstration: • on a

  21. Entropie • Propriété 2 • source S avec N messages, probas • alors • Démonstration • La source équiprobable est celle qui a une entropie maximale • Remarque: • plus la loi de probabilité est homogène, plus l ’entropie est élevée

  22. Théorème de Shannon • Si l ’on code les messages avec des longueurs respectives , on a alors: • les longeurs de code sont optimales • Démonstration

  23. Modèles de source • Entropie d ’ordre N • on regroupe les messages par groupe de N éléments • On définit l ’entropie de B: • On montre alors que • avec égalité ssi les sont indépendents • Exemple • source binaire  source N-aire • images • 1 pixel a des valeurs dans [0..255] • regroupement par blocs

  24. Modèles de source • Source de Markov d ’ordre l • dépend de • on a alors les lois de probabilités conditionnelles: • Entropie de l ’état • Puis l ’entropie de la source par: • On montre que: • Plus on utilise de connaissances, moins il y a d ’informations….

  25. Outils de codage • Shannon-Fano • Huffman • Arithmétique • Run Length Encoding • LZW • Codage par plan de bits

  26. Codage à longueur variable • Principe • a chaque message Mi est affecté un code Ci de longueur variable • Exemple: • a -> 0 , b -> 10, c->11 • Codes préfixés • pour que l ’on puisse décoder sans ambiguïté, aucun code ne doit être le début d ’un autre code • représentation par arbre binaire 0 1 a 0 1 b c

  27. Codage à longueur variable • But: • trouver le jeu de code le plus efficace • Rappel: selon théorème de Shannon • Remarque: • les li sont entiers, on ne peut donc être optimale que si: • Codeur optimal pour code entier: codeur de Huffman

  28. Shannon-Fano • Algorithme • construire table des messages mi ordonnée avec proba décroissante • diviser la table en 2, le plus équiprobablement possible • affectation de 0 et 1 à chaque table • itération sur chaque table P(i) 0.4 0.18 0.10 0.10 0.07 0.06 0.05 0.04 M(i) 00 01 100 101 1100 1101 1110 1111

  29. Codage de Huffman • Optimal au sens de: • Algorithme • liste L de tous les symboles • on retire les 2 symboles ayant les probas les plus faibles • l ’union donne un nouveau symbole qui sera inséré avec comme proba la somme des 2 probas • on affecte 0/1 à chaque symbole oté • On itère tant que la liste contient plus qu ’un symbole • l ’arbre de regroupement créé donne alors les codes

  30. Codage de Huffman • Exemple • On trouve P(i) 0.4 0.18 0.10 0.10 0.07 0.06 0.05 0.04 0.4 0.18 0.10 0.10 0.09 0.07 0.06 0.4 0.18 0.13 0.10 0.10 0.09 0.4 0.19 0.18 0.13 0.10 0.4 0.23 0.19 0.18 0.4 0.37 0.23 0.6 0.4 1.0 a b c d e f g h

  31. Codage arithmétique • On ne code pas chaque symbole séparément, mais les messages constitué de plusieurs symboles • Principe: • représentation par intervalle • message [Mi] avec probas [Pi] • Il suffit de définir un nombre v contenu dans l ’intervalle du message…. 1 0

  32. Codage arithmétique • Problèmes • définition du nombre v • précision dans la définition des intervalles • Définition du nombre v • dans v, on retient les L premiers bits • v vérifie alors forcément: • si l ’intervalle tombe dans un intervalle associé à un symbole, c ’est alors suffisant. • Condition suffisante: • soit • on atteint alors la longueur optimale à 1 bit près (qq soit le nombre de symbole du message…)

  33. Codage arithmétique • Calcul des intervalles • message: 1 bbb bb bba b bab ba baa abb ab aba a aab aa 0 aaa

  34. Codage arithmétique • Mise en œuvre pratique • On s’assure en permanence que l’on a: • Si l ’on a |H-L|<0.25: • si H<0.5: transmet bit 0, H*=2 L*=2 • si L>0.5: transmet bit 1, H=2(H-0.5) L=2(L-0.5) • sinon: (ambiguïté) underflow++, H=0.5+2(H-0.5), L=0.5+2(L-0.5) • à la fin des underflow: 1 2H’ H 1/2 H’ 2L’ L’ L 0 underflow

  35. Codeur arithmétique • Intérêts • performance • possibilité d ’avoir des statistiques variables • Défauts • complexité… • breveté par IBM • Utilisés dans les nouvelles normes de codage • JPEG2000 • MPEG4

  36. Codage par plage • Run Length Encoding (RLE) • on code les répétitions • Exemple: • aaaabcbb • (4,a) (1,b) (1,c) (2,bb) • Intéressant uniquement lorsqu ’il y a de larges zones où des valeurs sont identiques • images avec palette (BMP) • fax

  37. Codage LZW • Lempel Ziv modifié par Welsh • Codage par substition • Principe: • construction d ’un dictionnaire en fonction de ce que l ’on observe • on transmet alors les indices des mots dans le dictionnaire • prise en compte de motifs répétitifs • Utilisation • format image GIF, TIFF • compression de texte • compression fichiers ZIP, GZIP

  38. Codage LZW • Exemple • Codage • Message transmis: 0,1,3,5,0,2,1 • Décodage

  39. Codage par plans de bits • Pas un vrai outil de compression • Remise en forme du message afin de pouvoir bien être comprimé • Exemple Codage par plage du MSB A1 : 0 1 0 1 0 0 1 A2 : 0 0 1 0 0 0 0 A3 : 0 0 0 1 0 1 0 A4 : 0 1 0 1 1 0 1 A5 : 1 0 0 0 1 0 1 A6 : 0 1 1 1 0 1 0 Pour les autres bits: codage par plage sur les non signifiants codage simple sur les autres

  40. Codage avec / sans pertes • Limites du codage sans pertes • Codage avec pertes • Mesure des distorsions • Sous-échantillonnage • Optimisation codage avec pertes

  41. Limites du codage sans-pertes • En codage sans pertes, on arrive à des taux de compression limités • typiquement de l ’ordre de 2 pour des images naturelles • de l ’ordre de 3 à 4 pour de la vidéo • Pour augmenter la compression, il faut s ’autoriser des dégradations • Exemple: • suppression d ’images en vidéo • fréquence 5Hz pour visiophonie • réduction de la taille d ’une image • CIF, QCIF • dégradations sur les valeurs originales • réduction de couleurs • valeurs approchées: 102 ~ 100

  42. Codage avec pertes R: Rate (débit) D: Distortion • Codage optimal • Situation réelle R(D) Information de source Redondance Entropie Information non pertinente Information utile R D D Distorsion maximale R(D) Le résultat n ’est pas toujours optimal R D D

  43. Mesure des distorsions • Critères de qualités • mesures subjectives • prise en compte SVH • masquage • sensibilité nombre de couleurs • sensibilité sur la teinte • mesures objectives • Erreur Quadratique Moyenne EQM (MSE) • Peak Signal over Noise Ratio PSNR • Picture Quality Scale, mesure de Franti • vise à avoir même mesure qu ’un critère subjectif

  44. Optimisation débit-distorsion • But: • pour un débit donné, avoir la plus faible distorsion possible • pour une distorsion acceptable, avoir le plus faible débit possible • Approche classique • Multiplicateurs de Lagrange • recherche du l afin de vérifier la condition limite D pente R

  45. Quantification • Principe • Critères de qualité • Quantificateur uniforme • Quantificateur optimal • Quantification vectorielle

  46. Principe • Indexation des valeurs admissibles • exemples: • conversion analogique numérique • numérique vers numérique • Signal original: • Signal quantifié: • où • On ne transmet alors en général que l ’indice de quantification: • Codage: fonction • Décodage:

  47. Fonction de quantification • on définit en général Q en définissant les ensembles de valeurs qui se quantifient en une même valeur • seuils de quantification • niveaux de quantification • Exemple

  48. Quantification uniforme • Quantificateur le plus simple • tous les intervalles de quantification ont la même longueur: Q • (si centré en 0)

  49. dead-zone Quantification uniforme avec deadzone • L ’intervalle allouée à la valeur 0 est plus grand que les autres intervalles • Intérêt: • limitation des oscillations pour faibles valeurs • augmente efficacité codage ….

  50. Quantification emboîtée • Possibilité de quantifier grossièrement, puis de re-quantifier le résidu • Pour des raisons d ’efficacité, les intervalles doivent être emboîtés • Exemple • quantification uniforme emboîtée • quantification emboîtée avec deadzone 1 3 5 7 9 11 0 2 4 6 8 10 12 0 1

More Related