Compression d images et de vidéo: pourquoi, comment? Aline ROUMY Chercheur, INRIA Rennes

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

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

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

Chapitre 13 Numérisation de l information

ISO/CEI NORME INTERNATIONALE

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

Quantification Scalaire et Prédictive

Chap17 - CORRECTİON DES EXERCİCES

Formats d images. 1 Introduction

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

Chapitre 2 : communications numériques.

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

Numérisation du signal

Technique de codage des formes d'ondes

TD : Codage des images

Chaine de transmission

Chapitre 18 : Transmettre et stocker de l information

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

2. Couche physique (Couche 1 OSI et TCP/IP)

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

Systèmes de communications numériques 2

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

Transmission d informations sur le réseau électrique

Mesure agnostique de la qualité des images.

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

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

Echantillonnage Non uniforme

Codage vidéo par block matching adaptatif

Outils permettant la diffusion de l information. Un point sur le droit numérique

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

Enregistrement et transformation du son. S. Natkin Novembre 2001

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

Maintenir un service de traitement de son ou d image d ordinateur

Traitement numérique de l'image. Raphaël Isdant

TP SIN Traitement d image

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

I. TRANSMISSION DE DONNEES

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

Errata et mises à jour

Le poids et la taille des fichiers

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Expérience 3 Formats de signalisation binaire

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

IPHONE BANNIÈRE CLASSIQUE DIMENSIONS. Standard : 320 x 53 (portrait) 20Ko Jpeg/Gif/Png. HD : 640 x 106 (portrait) 20Ko Jpeg/Gif/Png DESCRIPTION

Fête de la science Initiation au traitement des images

La couche physique de l ADSL (voie descendante)

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

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

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

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

En DV (PAL ou NTSC), la largeur est toujours de 720 pixels, c'est la proportion du pixel qui change la proportion de l'image.

Chapitre I La fonction transmission

FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

Systèmes de transmission

La Voix sur IP OLIVIER D.

Les techniques de multiplexage

Caractéristiques et débits de votre ligne ADSL

1. Présentation général de l architecture XDSL :

L information sera transmise selon des signaux de nature et de fréquences différentes (sons, ultrasons, électromagnétiques, électriques).

DEVANT L UNIVERSITE DE RENNES 1

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

Glossaire technique Veditec

Géométrie discrète Chapitre V

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

Signalisation, codage, contrôle d'erreurs

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

La Qualité de Service le la Voix sur IP. Principes et Assurance. 5WVOIP rev E

Communications immersives : Enjeux et perspectives

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

Communications numériques

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

Codage d information. Codage d information : -Définition-

Structure du format BMP, sa lecture, sa construction et son écriture

1 Introduction au codage

Statistiques Décisionnelles L3 Sciences Economiques & Gestion Faculté d économie, gestion & AES Université Montesquieu - Bordeaux

TP Modulation Démodulation BPSK

Projet Matlab : un logiciel de cryptage

Technique de compression des images médicales 4D

Puis le convertisseur bloque en mémoire cette valeur pendant une période d échantillonnage.

Un schéma de compression avec pertes efficace pour les images médicales volumiques

LE VDSL 2 EN FRANCE. Source :

FIMA, 7 juillet 2005

DOSSIER ADSL. DEMARCHE DE TRAVAIL : Consultez rapidement le dossier avant de commencer Complétez le dossier en suivant les indications du document

Internet et Multimédia Exercices: flux multimédia

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

Théorie des probabilités

Systèmes de communications numériques 2

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

Images Sons Vidéos. Centre pour la formation à l Informatique dans le Secondaire CONCEVOIR UN PRODUIT MULTIMÉDIA. Département Education et Technologie

H.323. Internet Multimédia. Sommaire

PROBABILITES ET STATISTIQUE I&II

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

Scanner de film numérique

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

Raisonnement probabiliste

Réseaux Multimédia et Qualité de Service

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Transcription:

Compression d images et de vidéo: pourquoi, comment? Aline ROUMY Chercheur, INRIA Rennes Octobre 2014

SOMMAIRE 1. Pourquoi compresser une vidéo? 2. Comment compresser? 3. Compression avec pertes 4. Compression par transformée 5. Compression par prédiction - 2

1 Pourquoi compresser une vidéo? - 3

Définition Compression = stocker même image avec moins de bits Standards de compression : fournis par ITU International Telecommunication Union ISO International Organization for Standardization Joint teams: JVT Joint Video Team (H.264/MPEG-4-AVC en 2003) JCT-VC Joint Collaborative Team on Video Coding pour développement de HEVC (High efficiency video codec) (adopté Janv. 2013, ITU-T H.265 Avril 2013) - 4

Qu est ce qu une image numérique? Grille discrète de M (colonnes) x N (lignes) pixels Ordre de traitement canonique : balayage ligne par ligne unilatéral et de gauche à droite) m M n N - 5

Décomposition d une image couleur R V B (rouge vert bleu) YCbCr (appelé YUV) Y luminance = 0,3R + 0,6V + 0,1B Cb Cr chrominance Cb ~Y - B Cr ~Y R compatible TV noir et blanc oeil + sensible à Y que CbCr - 6

Echantillonnage couleur Le schéma est représenté comme un rapport entre trois termes : J : a : b J Taille horizontale du bloc d échantillonnage de référence, normalement 4 a Nombre d échantillons de chrominance dans la première ligne de J pixels b Nombre d échantillons de chrominance additionnels dans la deuxième ligne de J pixels - 7

Echantillonnage couleur - 8

Pourquoi compresser? i.e. transmettre même information avec moins de bits. Soit une vidéo au format HD 1080p = 1920 1080 à 50 Hz (images/sec) Y luminance Cb Chrominance Cr Chrominance Nbre pixels 1920x1080= 2.1 M 960x540=.5 M 960x540=.5 M Nbre bits par pixel 8 bit 8 bit 8 bit Débit 1.2 Gbps Quelques débits / capacité de stockage (qui évoluent au cours du temps) DVD 4.7 (1 face) à 17Go (2 faces) 3 à 14 s TNT 20 Mbps Ethernet/Fast Ethernet < 10 / 100 / 1000 Mbps DSL voie descendante 384 2048 kbps Tél portable (débit pratique 2G /3G /4G) 9.05 / 384 kbps / 40 Mbps - 9

Mesure de qualité La qualité d une image numérique est mesurée avec des critères, fonctions de : image d origine : image reconstruite après compression Erreur quadratique moyenne (MSE) : Rapport signal sur bruit crête : db - 10

SOMMAIRE 1. Pourquoi compresser une vidéo? 2. Comment compresser? 3. Compression avec pertes 4. Compression par transformation 5. Compression par prédiction - 11

2 Comment compresser? - 12

Le jeu du pendu Objectif = jouer en dévoilant votre stratégie - 13

2 idées pour gagner 1. Fréquence d apparition des lettres probabilité 2. Corrélation entre les lettres successives dépendance - 14

Analogie jeu du pendu - compression mot image réponse à une question (oui/non). 1 bit du train binaire qui représente image Objectif : proposer le moins de lettres par mot Objectif : proposer le moins de bits par image - 15

Exploiter idée 1 : Utiliser la «non égalité» des probabilités Soit une course avec les chevaux: Nom A natole B arnabé C hef D arius Probabilité de gagner 1/4 1/2 1/8 1/8 A gagne 1 fois sur 4, etc Par exemple, la suite des vainqueurs peut être: ABBCBBDABCBABBCBBDAABABC Question : coder par une suite de bits la suite des vainqueurs et de manière efficace - 16

Exploiter idée 1 : Utiliser la «non égalité» des probabilités Soit une course avec les chevaux: Nom A natole B arnabé C hef D arius Probabilité de 1/4 1/2 1/8 1/8 gagner Mot de code 00 01 10 11 Coder la suite des vainqueurs peut être: ABBCBBDABCBABBCBBDAABABC 00 01 01 10 01 01 etc Longueur moyenne 2 bits/course Peut on mieux faire? - 17

Exploiter idée 1 : Utiliser la «non égalité» des probabilités Soit une course avec les chevaux: Nom A natole B arnabé C hef D arius Probabilité de 1/4 1/2 1/8 1/8 gagner Mot de code 10 0 110 111 Coder la suite des vainqueurs peut être: ABBCBBDABCBABBCBBDAABABC Longueur codage à longueur fixe 2 bits/course Longueur moyenne 2*1/4+1*1/2+3*1/8+3*1/8 1,75 bits/course Longueur optimale [théorie de l information48] 1,75 bits/course - 18

Exploiter idée 2 : Utiliser la dépendance Supposons que les courses de chevaux sont dépendantes course 2 course 1 _A _B _C _D A_.25.5.125.125 B_.25.5.125.125 C_.25.5 0.25 D_.25.5.25 0-19

Exploiter idée 2 : Utiliser la dépendance _A _B _C _D longueur moyenne A_.25.5.125.125 codage optimal 10 0 110 111 1.75 1.75 B_.25.5.125.125 10 0 110 111 1.75 1.75 C_.25.5 0.25 10 0 11 1.5 1.5 D_.25.5.25 0 10 0 11 1.5 1.5-20

Exploiter idée 2 : Utiliser la dépendance _A _B _C _D longueur moyenne A_.25.5.125.125 codage optimal.25 10 0 110 111 1.75 1.75 B_.25.5.125.125.5 10 0 110 111 1.75 1.75 C_.25.5 0.25.125 10 0 11 1.5 1.5 D_.25.5.25 0.125 10 0 11 1.5 1.5 1.69 1.69 Complexité : taille du tableau à stocker croît exponentiellement avec le nbre de lettres traitées conjointement i.e. la mémoire de 4 à 16 =4² mots de code - 21

Notions de théorie de l information Processus aléatoire (source) Exemple : modèle des pixels Longueur moyenne minimale (en bits) pour représenter un échantillon source discrète i.i.d. [Shannon]: ENTROPIE bits/échantillon source discrète stationnaire ergodique [Shannon-McMillan-Breiman] bits/échantillon

Notions de théorie de l information Théorème : borne d indépendance de l entropie jointe égalité ssi X1,, Xn indépendants Interprétation 1. Exploiter la dépendance permet de réduire le nombre de bits. Mais nécessite de stocker une loi jointe (complexité croît exponentiellement avec n) 2. Des données indépendantes peuvent être codées séparément de manière optimale.

Notions de théorie de l information Exploitons idée : données dépendantes peuvent être codées séparément Transformer le vecteur X en un vecteur équivalent Y Transformée inversible Y indépendants Transformer de manière à rendre les données indépendantes permet d utiliser une compression par échantillon (codage entropique scalaire = codage avec la loi d une donnée)

SOMMAIRE 1. Pourquoi compresser une vidéo? 2. Comment compresser? 3. Compression avec pertes 4. Compression par transformation 5. Compression par prédiction - 25

3 Compression avec pertes - 26

Compression en autorisant des «pertes» Compression avec contrainte de débit débit = nbre bits / pixel (ou lettre) distorsion = distance entre l image originale et celle encodée distorsion D Cas usage : médical, transfert de fichiers/données R sans pertes débit - 27

Mise en œuvre efficace de la compression avec pertes 3 2 1 0 63 127 191 255 quantification scalaire uniforme 8 bits 2 bits - 28

Mise en œuvre efficace de la compression avec pertes 7 0 63 127 191 255 quantification scalaire uniforme 8 bits 3 bits - 29

Mise en œuvre efficace de la compression avec pertes code entropique c= C(q) image x Quantif indices q bits c q= Q(y) A B C D 1/4 1/2 1/8 1/8 10 0 110 111 quantification scalaire uniforme + codage entropique dégradation de 1.3 db par rapport à optimal - 30

SOMMAIRE 1. Pourquoi compresser une vidéo? 2. Comment compresser? 3. Compression avec pertes 4. Compression par transformation 5. Compression par prédiction - 31

4 Données dépendantes la transformation - 32

Où traiter la dépendance? code entropique c= C(q) image x Quantif indices q bits c q= Q(y) A B C D 1/4 1/2 1/8 1/8 10 0 110 111 Traiter la dépendance au niveau code entropique : trop complexe Schéma ci-dessus quasi-optimal si les pixels indépendants... - 33

Ou traiter la dépendance? code entropique c= C(q) image x Transformée coefficients y Quantif indices q bits c y= T(x) q= Q(y) A B C D 1/4 1/2 1/8 1/8 10 0 110 111 Traiter la dépendance au niveau code entropique : trop complexe Schéma ci-dessus quasi-optimal si les pixels indépendants transformer les pixels pour les rendre indépendants - 34

Exploitation de la dépendance des données (a,b,c,d) -> (m, b-m, c-m, d-m) : transformation a b c d m=(a+b+c+d)/4 inversible Dépendance = Pixels voisins ont des valeurs proches m b-m c-m d-m Différence à la moyenne : de faible amplitude casser la dépendance dans nouveau bloc? - 35

Exploitation de la dépendance des données a c b d Cette transformation est un cas particulier : DCT transformée en cosinus discret (MPEG 1, 2, 4, HEVC) ondelettes (JPEG-2000, Dirac) m=(a+b+c+d)/4 m b-m c-m d-m - 36

Original Lena (512 x 512 Pixels, 8-Bit Y/ pixel, 257Ko) - 37

Gris = 0 car m-d codé en m-d+128 Reste de dépendance - 38

Gris = 0-39

Gris = 0 exemple d ondelettes - 40

Transformée utilisée dans JPEG 2000 Moins de corrélation que précédemment entre les 4 blocs mais il en reste encore - 41

JPEG2000 code entropique c= C(q) image x Transformée coefficients y Quantif indices q bits c y= T(x) q= Q(y) A B C D 1/4 1/2 1/8 1/8 10 0 110 111-42

Résultats de compression JPEG2000 Original Carol (512 x 512 Pixels, 24-Bit RGB/pixel, Taille 786ko) - 43

Résultats de compression JPEG2000 75:1, 10.6 ko - 44

Résultats de compression JPEG2000 150:1, 5.3 ko - 45

Résultats de compression JPEG2000 300:1, 2.6 ko - 46

Comparaison JPEG (1992) vs. JPEG2000 Lena, 256x256 RGB Baseline JPEG: 4572 octets Lena, 256x256 RGB JPEG-2000: 4572 octets - 47

SOMMAIRE 1. Pourquoi compresser une vidéo? 2. Comment compresser? 3. Compression avec pertes 4. Compression par transformation 5. Compression par prédiction - 48

5 Données dépendantes la prédiction - 49

Il reste de la dépendance image x Transformée y= T(x) Quantif q= Q(y) code entropique c= C(q) bits c A B C D 1/4 ½ 1/8 1/8 10 0 110 111 Données dépendantes - 50

Il reste de la dépendance image x Prédiction z= P(x) Transformée y= T(z) Quantif q= Q(y) code entropique c= C(q) bits c A B C D 1/4 ½ 1/8 1/8 10 0 110 111 Prédiction: pour mieux supprimer la redondance 56-51

Prédiction entre images Intra: image codée indépendamment des autres (synchro) Inter: (P/B) image codée en fonction d autres images Utilisé en MPEG-2, -4, HEVC - 52

Prédiction entre images Très efficace: débit(inter) << débit (intra) Intra: image codée indépendamment des autres (synchro) Inter: (P/B) image codée en fonction d autres images Utilisé en MPEG-2, -4, HEVC - 53

Prédiction Intra (MPEG-4, HEVC) Si prédiction fiable, différence entre original et prédiction (résidu) : échantillons indépendants [théorie de l estimation] - 54

6 Conclusion les messages à ramener à la maison - 55

Take-home-message image x Prédiction z= P(x) Transformée y= T(z) Quantif q= Q(y) code entropique c= C(q) bits c A B C D 1/4 ½ 1/8 1/8 10 0 110 111 Transformation et prédiction : exploite dépendance des pixels Quantification : introduit pertes Codage entropique : exploite non égalité des probabilités des pixels - 56

Quelques résultats en vidéo de HEVC Vidéo BasketBallPass 416x240 pixels 50Hz (8 + (8+8)/4 bits) 60 Mbps Pas de quantification débit Taux compression non compressé 60 Mbps 22 1 Mbps 60:1 32 340 kbps 176:1 51 30 kbps 2000:1 original 60:1-57

Quelques résultats en vidéo de HEVC Vidéo BasketBallPass 416x240 pixels 50Hz (8 + (8+8)/4 bits) 60 Mbps Pas de quantification débit Taux compression non compressé 60 Mbps 22 1 Mbps 60:1 32 340 kbps 176:1 51 30 kbps 2000:1 original 176:1-58

Quelques résultats en vidéo de HEVC Vidéo BasketBallPass 416x240 pixels 50Hz (8 + (8+8)/4 bits) 60 Mbps Pas de quantification débit Taux compression non compressé 60 Mbps 22 1 Mbps 60:1 32 340 kbps 176:1 51 30 kbps 2000:1 original 2000:1-59

Le schéma de codage HEVC Les éléments grisés correspondent au décodeur (Overview of HEVC Standard, TCSVT Dec 2012) 56-60

ATELIER Mise en œuvre de la première étape d un codeur vidéo : La prédiction compensée en mouvement. - 61

Pour en savoir plus 1. Thomas Wiegand and Heiko Schwarz: Source Coding: Part I of Fundamentals of Source and Video Coding, Foundations and Trends in Signal Processing, vol. 4, no. 1-2, pp. 1-222, January 2011. http://iphome.hhi.de/wiegand/pubs.htm 2. Ian Richardson The Advanced H 264 video compression standard, Wiley 2010. 3. Vivienne Sze, Madhukar Budagavi, Gary J. Sullivan High Efficiency Video Coding (HEVC), Springer 2014. 56-62

merci www.inria.fr