Top Banner
1 Applications Multimédia Jean-Loup Guillaume Jean-[email protected] Jean-[email protected] Le module APMM Aperçu des différentes phases du Aperçu des différentes phases du traitement des données multimédia : – Applications du multimédia. – Codage et décodage, compression – Structuration et description – Programmation multimédia – Diffusion de contenus multimédia
26

Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

Mar 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

1

Applications Multimédia

Jean-Loup [email protected]@lip6.fr

Le module APMM

• Aperçu des différentes phases du • Aperçu des différentes phases du traitement des données multimédia :– Applications du multimédia. – Codage et décodage, compression– Structuration et description– Programmation multimédia– Diffusion de contenus multimédia

Page 2: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

2

Planning des cours

• 5/02 : Cours 1 et 2 :• 5/02 : Cours 1 et 2 :– Introduction– Principes de compression– Codage audio et vidéo

• 12/02 : Cours 3 :– Langages multimédia : SMIL/ActionScript

• 15/02 : Cours 4 et 5• 15/02 : Cours 4 et 5– Codage (suite)– Distribution de contenus (P2P)– Correction examen 2007

Planning des TD/TME

• 7/02 : TD1-2 :• 7/02 : TD1-2 :– Codage

• 12/02 : TME3-4 :– Programmation SMIL (MMS)/ActionScript

• 10/03 : TME5-6 (attention changement de date 8h45- 12h)• 11/03 : TME7-8 :

– Programmation codeur JPEG– Programmation codeur JPEG

• 12/03 : TME9-10 : – Protocoles pair-à-pair

Page 3: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

3

Le module APMM - Notation

• Contrôle continu 40% :• Contrôle continu 40% :– Rapport/code à rendre pour chaque TME

• Monôme, binôme

– Notation de chaque rapport/code– Note CC = moyenne des trois

• Examen 60% :– Salle 313, bât 41, 10h45-12h45 le xx/03/2008– Correction de l’examen 2007 en cours.

Me contacter !

• Par mail :• Par mail :– [email protected]

• Par téléphone :– 01.44.27.88.44 (en journée)

• Slides :– http://jlguillaume.free.fr/www/

Page 4: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

4

Auteurs

• Des slides/images sont empruntés à :• Des slides/images sont empruntés à :– Timur Friedman– Anne Fladenmuller– Autres auteurs

• Wikipedia…

Le multimédia

Page 5: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

5

Plan

• Introduction• Introduction• Numérisation / Compression• Compression audio• Compression image/vidéo

Origines

• Terme apparu fin des années 1980, lorsque les suppo rts de stockage se sont développés comme les CD -ROM.

• Terme apparu fin des années 1980, lorsque les suppo rts de stockage se sont développés comme les CD -ROM.

• Applications pouvant utiliser plusieurs médias dis tincts simultanément :– Texte, – Musique, son, voix,– Images fixes ou animées,– Vidéos,– Vidéos,– Interface homme-machine interactive.

• Désigne aussi un PC avec des composants multimédia :– Écran, carte son, webcam, etc.

Page 6: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

6

Composants du multimédia

Données informatiques

MULTIMEDIA

Textes graphiques

Données informatiques

Sons vidéos photos

Applications/Outils

• Graphisme :• Graphisme :– Infographie, dessin bitmap ou vectoriel, images de

synthèse ; • Vidéo :

– Dessins animés, montage assisté par ordinateur ;• Jeux vidéo• Web• Web• PAO, CAO, etc.• Enseignement assisté par ordinateur• VoIP, Visio-conférence, etc.

Page 7: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

7

Page 8: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

8

Page 9: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

9

Média passif

• Présentation indépendante des aspects • Présentation indépendante des aspects temporels (entiers, réels, chaînes de caractères, textes ou images)

• En pratique, les données passives engagent des retardements pour leur présentationprésentation

• La temporalité (propriété mineure) n’a pas besoin d’être ajoutée au niveau modèle de données

Média actif

• Le temps détermine plusieurs propriétés du média.• Le temps détermine plusieurs propriétés du média.– Données actives (son ou vidéo) nécessitent des

intervalles de temps pour leur présentation (ex. un temps de lecture pour sa restitution)

– Références croisées qui portent sur un intervalle temporel valide (ex. sur une vidéo l’apparition et la disparition d’un personnage de la scène)

– Contraintes temporelles pour la récupération des données pour l’affichage du média (ex. sur des données pour l’affichage du média (ex. sur des données de type son, la récupération de deux échantillons consécutifs doit se faire à un certain seuil pour ne pas percevoir de distorsions lors de la restitution sur un haut parleur)

Page 10: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

10

Média adressable

• Possibilité de soumettre des requêtes sur son contenu.

• Possibilité de soumettre des requêtes sur son contenu.

• Interface homme-machine, accès non séquentiel– Recherche de mots dans un document texte,– Avancer, reculer, aller à un endroit précis, etc. sur un

document vidéo,– Sur une image cela n’a pas de sens (média non

adressable).

• Hypermédia : désigne l’utilisation de liens hypertextes dans le contenu.

Comment lire du multimédia

• CD-ROM multimédia• CD-ROM multimédia

• Téléphones 3G, PDA, etc.

• Télévision interactive

• Le web prend une place de plus en plus importante :– HTML permet déjà du multimédia/hypermédia– HTML permet déjà du multimédia/hypermédia– Norme HTML 5.0 en cours de rédaction (draft disponi ble)– Utilisation de Flash, SMIL permet d’incorporer vid éos, sons,

interactivité.

Page 11: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

11

Lecteurs multimédia (12/07)

Versions (12/07)Flash Player6

Flash Player7

Flash Player8

Flash Player9

Mature Markets1 98.8% 98.8% 98.3% 95.7%

US/Canada 99.0% 99.0% 98.5% 96.8%

Europe2 98.1% 98.1% 97.6% 94.3%

Japan 99.5% 99.5% 99.3% 95.3%

h t t p : / / w w w . a d o b e . c o m / p r o d u c t s / p l a y e r _ c e n s u s / f l a s h p l a y e r / v e r s i o n _ p e n e t r a t i o n . h t m lEmerging Markets3 97.4% 97.3% 95.5% 93.3%

Page 12: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

12

Vidéo en ligne

S o u r c e s : J o u r n a l d u N e t

Vidéo en ligne

Page 13: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

13

Plan

• Introduction• Introduction• Numérisation / Compression• Compression audio• Compression image/vidéo

Numériser

• Le multimédia, nécessite de structurer et synchroniser des contenus avec une possibilité

• Le multimédia, nécessite de structurer et synchroniser des contenus avec une possibilité d’interaction (liens hypertextes, recherche, navigation vidéo, etc.)

• Média très différents par nature :– Discrets et continus (son analogique)– Sonores et visuels– Sonores et visuels– Fixes et animés

• Nécessité d’avoir un mode de représentation unique

Page 14: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

14

Numériser

• Principe général : transformer des • Principe général : transformer des objets continues (à valeurs « réelles ») en objets discrets (à valeurs entière)– Son– Images– Vidéos– Vidéos

• Une représentation numérique binaire

Numériser

• Caractéristiques quantifiables d’un son ou d’une image

• Caractéristiques quantifiables d’un son ou d’une image– fréquence des ondes sonores émises dont la

combinaison définit physiquement la hauteur et le timbre du son

– l’amplitude des ondes qui en définit la « puissance »

• Ces deux données sont purement quantitatives, elles désignent un nombre de périodes par

• Ces deux données sont purement quantitatives, elles désignent un nombre de périodes par seconde (fréquence), et un écart mesurable par rapport à un point central d’une vibration (amplitude).

Page 15: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

15

Compresser

• Action de transformer des données en une • Action de transformer des données en une représentation plus compacte : – Occupent moins d’espace qu’avant

compression– Il n’existe pas de compresseur absolu

• Pourquoi compresser ?• Pourquoi compresser ?– Espace disque– Temps de transmission sur un réseau

(images, vidéo à la demande, etc.)

Un exemple simple

• Codage ASCII : 1 octet par caractère• Codage ASCII : 1 octet par caractère

• Fichier texte contenant 100 ‘a’– Taille du fichier : 100 octets

• Stockage sous la forme “100a”– Même information stockée– Taille du fichier : 4 octets– 4/100 à taux de compression de 96%

Page 16: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

16

Terminologie

• Compression sans pertes/codage réversible :• Compression sans pertes/codage réversible :– Les données originales peuvent être reconstituées

• Compression avec pertes/codage non réversible :– Les données originales ne peuvent être reconstitué es

exactement– Deux contenus différents peuvent être codés de la

même manière• Compression spatiale :• Compression spatiale :

– 2D ou une seule image• Compression temporelle :

– 3D ou vidéo

Compression sans pertes

• Retrouver les données originales en • Retrouver les données originales en décompressant :– Gain d’espace sans perte d’information

• Utilisé si l’intégrité des données est importante :importante :– Document texte, code, etc.– winzip, gzip, compress, bzip, GIF

Page 17: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

17

Compression avec pertes

• Données originales perdues :• Données originales perdues :– Taille réduite par l’élimination d’information– Choix d’un taux de compression plus ou moins

préjudiciable au contenu– Faire en sorte que l’utilisateur ne s’en rende pas

compte (compression dédiée)

• Applications :• Applications :– Audio : mp3, ogg, wma, etc.– Images : jpeg, etc.– Vidéos : MPEG, « divx », etc.

Terminologie

• Chaque symbole à coder est représenté • Chaque symbole à coder est représenté par un mot de code

• Un mot de code est composé de signes élémentaires– La valence est le nombre de signes – La valence est le nombre de signes

élémentaires utilisés– Un code est binaire s’il est de valence 2

Page 18: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

18

Codes de longueur fixe

• Codes de longueur fixe• Codes de longueur fixe– Les mots de code sont tous de même longueur– Par exemple : ASCII, Unicode

• Supposons qu’il y ait n symboles à coder :– Nombre minimum de bits : log2 n– Exemple avec 6 symboles : {a, b, c, d, e, f}– Exemple avec 6 symboles : {a, b, c, d, e, f}

• log2 6 = 2.58… = 3 bits par symbole• Un codage : a=000, b=001, c=010, d=011, e=100, f=1 01

10-35

Codes de longueur variable

• Les mots de codes ont des tailles variables • Les mots de codes ont des tailles variables selon les symboles– Lp = nombre de mots de code de longueur p

• Un code est :– intelligible s’il a un unique décodage– préfixe si aucun mot de code n’est préfixe d’un

autre (il est alors intelligible) :autre (il est alors intelligible) :– instantané si on peut le décoder au fur et à

mesure de l’arrivée des mots de code (CNS : il est préfixe)

Page 19: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

19

Exemples

a b c d e f

• Code 1 : 10101 = « bd » ou « da », pas intelligible• Code 2 : préfixe (donc intelligible)

a b c d e f

Fréquence 25 12 10 9 8 5

Code 1 01 10 100 101 1011 0011

Code 2 0 101 100 111 1101 1100

• Code 2 : préfixe (donc intelligible)

Codes complets

• Un code de longueur max n est complet si• Un code de longueur max n est complet si– Il est intelligible– Tout ajout d’un mot de code de longueur

inférieur ou égale à n le rend inintelligible

• Égalité de Kraft-McMillan (CN)Ln

– Lp = nombre de mots de code de longueur p

VV

Ln

pp

p =∑=

−1

1

Page 20: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

20

Codage compressif

• L’objectif est d’obtenir un codage • L’objectif est d’obtenir un codage compressif :– Intelligible : il est possible de décoder de

manière unique– Efficace : les symboles les plus fréquents

sont codés par des mots de code les plus sont codés par des mots de code les plus courts

Entropie

• Donne une limite au codage compressif sans perte• Donne une limite au codage compressif sans perte

• Soit n le nombre de symboles et pi la probabilité d’apparition du i-ème symbole :

• H = plus petit nombre moyen de bits utilisables (p our les codes binaires)

∑=

−=n

iii ppH

12log

codes binaires)– Exemple : {A,B} avec p(A)=0.6 et p(B)=0.4 : H = 0. 97 bits– Entropie maximale quand les symboles apparaissent avec

même probabilité (moins prévisible)

Page 21: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

21

Théorème du codage de la source

• Il existe un code préfixe avec une longueur • Il existe un code préfixe avec une longueur moyenne à moins d’un bit de l’entropie– Exemple : {A,B} avec p(A)=0.6 et p(B)=0.4– H = 0.97 bits

• Il existe des codes aussi proches que l’on veut du minimum théorique :– Groupement de symboles nécessaire– Groupement de symboles nécessaire

• Efficacité nécessite de prendre en compte les fréquences d’apparition des symboles

Codage de Huffman

• Disposer les symbole par fréquence• Connecter récursivement les deux nœuds de plus pet ite

probabilité en créant les nœuds intermédiaires• Mettre un label sur les branches• En déduire le codage :

– A=000, B=0010, C=0011, D=010, etc.

P ( A ) = 0 . 1 P ( C ) = 0 . 0 5P ( B ) = 0 . 0 5 P ( D ) = 0 . 1 P ( E ) = 0 . 1 P ( H ) = 0 . 1 5P ( F ) = 0 . 0 5 P ( I ) = 0 . 3 5P ( G ) = 0 . 0 5

Page 22: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

22

Codage de Huffman

• Disposer les symbole par fréquence

0 . 4 0 . 61• Connecter récursivement les deux nœuds de plus pet ite probabilité en créant les nœuds intermédiaires

• Mettre un label sur les branches• En déduire le codage :

– A=000, B=0010, C=0011, D=010, etc.

P ( A ) = 0 . 1 P ( C ) = 0 . 0 5P ( B ) = 0 . 0 5 P ( D ) = 0 . 1 P ( E ) = 0 . 1 P ( H ) = 0 . 1 5P ( F ) = 0 . 0 5 P ( I ) = 0 . 3 5P ( G ) = 0 . 0 50 . 1 0 . 1 0 . 2 50 . 20 . 2

Codage de Huffman

• Disposer les symbole par fréquence

0 . 4 0 . 61 1 110 0 0• Connecter récursivement les deux nœuds de plus pet ite

probabilité en créant les nœuds intermédiaires• Mettre un label sur les branches• En déduire le codage :

– A=000, B=0010, C=0011, D=010, etc.

P ( A ) = 0 . 1 P ( C ) = 0 . 0 5P ( B ) = 0 . 0 5 P ( D ) = 0 . 1 P ( E ) = 0 . 1 P ( H ) = 0 . 1 5P ( F ) = 0 . 0 5 P ( I ) = 0 . 3 5P ( G ) = 0 . 0 50 . 1 0 . 1 0 . 2 50 . 20 . 2 1111 1100 0 0 0 0

Page 23: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

23

Codage de Huffman

• Disposer les symbole par fréquence

0 . 4 0 . 61 1 110 0 0• Connecter récursivement les deux nœuds de plus pet ite

probabilité en créant les nœuds intermédiaires• Mettre un label sur les branches• En déduire le codage :

– A=000, B=0010, C=0011, D=010, etc.

P ( A ) = 0 . 1 P ( C ) = 0 . 0 5P ( B ) = 0 . 0 5 P ( D ) = 0 . 1 P ( E ) = 0 . 1 P ( H ) = 0 . 1 5P ( F ) = 0 . 0 5 P ( I ) = 0 . 3 5P ( G ) = 0 . 0 50 . 1 0 . 1 0 . 2 50 . 20 . 2 1111 1100 0 0 0 0

Caractéristiques

• Le code utilise un nombre minimal de bits par • Le code utilise un nombre minimal de bits par symbole :– Optimal en utilisant des mots de codes– Peut être éloigné de la borne théorique– Optimal si les fréquences sont des puissances

inverses de 2 : 1/2, 1/4, 1/8, 1/16…

• Le dictionnaire doit être envoyé avec le code• Le dictionnaire doit être envoyé avec le code• Peut-être amélioré si les fréquences sont

variables dans les données– Codage adaptatif

Page 24: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

24

Exercice

{A,B} avec p(A)=0.6 et p(B)=0.4

• A=0, B= 1 : – longueur moyenne = 0.6*1+0.4*1 = 1

• AA=00, AB=01, BA=10, BB=11 :– longueur moyenne = 1

• AAA=00, AAB=110, ABA=100, ABB=101, BAA=010, BAB=01 1, BBA=1110, BBB=1111 :

– Longueur moyenne = 0.981

Et avec 4 caractères ?

Limite théorique = 0.97

Codage de Shannon-Fano

• Calcul des fréquences d’apparitiond’apparition

– A=15, B=7, C=6, D=6, E=5• Tri puis séparation en deux

ensembles de taille aussi proches que possible (et recommencer sur chaque ensemble)

• La branche de gauche est associée à 0, celle de droite à 1 (ou l’inverse)associée à 0, celle de droite à 1 (ou l’inverse)

– A=00, B=01, C=10, D=110, E=111

– Taille moyenne ~ 2.28b/s– Optimum ~ 2.18b/s

Page 25: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

25

Codage dictionnaire

• Typiquement LZ ou LZW :• Typiquement LZ ou LZW :– Dictionnaire de symbole créé

dynamiquement– Initialement le dictionnaire contient les 256

caractères ASCII– Fichier codé– Fichier codé

• Liste des adresses dans le dictionnaire• Le dictionnaire est reconstruit à la

décompression

LZW compressionw:= NULL

Tant qu’ il y a des caractèreslire un caractère K (sur 8 bits)si wK existe déjà dans le dico

w := wK (1)sinon

écrire code de w (/ 12 bits) ---- limite la taille du dict ionnaireajouter wK dans le dicow := K (1)w := K (1)

fin siFin tant que

Écrire code de w (/ 12 bits)

Page 26: Applications Multimédiajlguillaume.free.fr/www/documents/teaching/apmm0708/APMM_C1_Intro... · • Introduction • Numérisation / Compression • Compression audio • Compression

26

LZW Compression/QED/QE/QEE/QEB

/;Q;E;D;256;E;260;261;257;B

Conclusion

• Approches simples pour compresser :• Approches simples pour compresser :– Huffman– Shannon-Fano– LZW

• Sans pertes

• Ne nécessitent aucun a priori sur les données– Compression pas forcément élevée– Peu adaptés au contenus son/image/vidéo