Compression de données: texte, son, image

Transcription

Compression de données: texte, son, image
Compression de données
texte, son, image
Pierre Jouvelot
Centre de recherche en informatique
Ecole des mines de Paris
(C) M.S. HEC/Mines MSIT - 2006
Vers le tout numérique ...
Le nouveau credo « 3A »:
« Anything Anytime Anywhere »
Internet, ou la mémoire immanente
(anytime) et omniprésente (anywhere)
Du monde réel analogique ... au monde
virtuel numérique
« De digitalis representatio rerum »
(anything)
☺
Pierre Jouvelot
2
Plan
1.
2.
3.
Introduction
Théorie de l’information
Compression de texte :
1.
2.
4.
Codage entropique
Substitution textuelle
Compression du son :
1.
2.
3.
4.
Codage
Quantification
Prédiction linéaire
MPEG
Pierre Jouvelot
3
Plan (fin)
5.
Compression des images :
1.
2.
3.
4.
6.
Codage
Fax
JPEG
MPEG
Conclusion
Pierre Jouvelot
4
Introduction
Types de données :
analogiques (son, image)
digitales (texte)
Codage en caractères dans un alphabet :
compression : D vers C (< D)
décompression :
C vers (une approximation de) D
Digitalisation/échantillonage/numérisation
Applications : stockage, communications
Compromis : coût/compression
Pierre Jouvelot
Introduction
5
Volumes et débits
Images fixes :
1 Mo (576(l) x 720(p) x 25i/s)
10 Mo (image film 35 mm)
1 Go (film de 1h30)
Images mobiles :
TV analogique (140 Mb/s)
MPEG (5 Mb/s, qualité VHS)
Pierre Jouvelot
Introduction
6
Types de compression
Sans perte (lossless) :
texte
traitement d’images (médecine)
Avec perte (lossy), pour données
analogiques échantillonnées :
parole, musique
images
Performance :
2:1 sans perte
jusqu’à 1000:1 avec perte (fractal)
Pierre Jouvelot
Introduction
7
Standards
ISO – IEC – CCITT/UIT
Interopérabilité accrue
Diminution des coûts
Implémentations logicielle/VLSI
Convergence TPH/TV/Internet
Etude de cas : fax CCITT G3
Pierre Jouvelot
Introduction
8
L’information
Emetteur (ou source)
Canal
Récepteur
Message (ou suite de caractères)
Référentiel (alphabet)
... Surprise du message !
Pierre Jouvelot
Théorie
9
Source
Modèle stochastique de source
Alphabet A = {c1, ... cn}
Chaine s = séquence finie de
caractères émis
pi : probabilité d’émission de ci
Exemples :
constante, p0 = 1, pi≠0 = 0
aléatoire, pi = 1/n
Pierre Jouvelot
Théorie
10
Ordre
Prise en compte du contexte :
ordre 0 : probabilités indépendantes
ordre supérieur
Probabilité de « u » ?
1% dans un modèle d’ordre 0
95% à l’ordre 1, après « q »
Pierre Jouvelot
Théorie
11
Mesure d’information
Claude Shannon (Bell Labs, 1940) :
Plus de surprise, plus d’incertitude, plus
d’information, plus de « bits »
Test de lecture (Shannon, 1950) :
1 caractère anglais sur 2 est inutile !
Application :
sources constante et aléatoire
Pierre Jouvelot
Théorie
12
Entropie et codage
Source S d’ordre 0, en bits :
H(S) = - Σ pi log2(pi)
Application : sources contante et aléatoire
Théorème du codage :
Coder un caractère de S nécessite, en
moyenne, H(S) nombres binaires
Codage optimal : atteindre l’entropie pour
des chaînes infiniment grandes
Pierre Jouvelot
Théorie
13
Exemple de codage optimal
Source S sur A = {a, b, c}
Loi de probabilité : ½, ¼, ¼
Codage « à la ASCII » : 00, 01, 10
Entropie : H(S) = 1.5
Codage optimal : 0, 10, 11
Séquence « type » :
symboles : abac (biaisé)
codes : 010011 (aléatoire)
Pierre Jouvelot
Théorie
14
Du codage à la compression
Codage
Texte
Codage
équiprobable
Pierre Jouvelot
Code
Compression
Texte ASCII
Théorie
15
Compression de texte
Source
c
Encodeur
Compresseur
0/1
Canal
Récepteur
Pierre Jouvelot
c
Décodeur
Décompresseur
Texte
0/1
16
Types de codage
off-line
on-line
temps réel
Pierre Jouvelot
Texte
17
Code
(Fonction de) code binaire f :
chaîne → (0/1)*
Exemple :
a → 1001
b → 10
ab → 10010
abbb → 1
VLC = Variable Length Coding
Implémentation par dictionnaire :
trie, hachage
Pierre Jouvelot
Texte
18
Code sans perte
f sans perte si f injectif : décodable de
manière unique
Introduction de virgules :
code unaire, avec 0 comme virgule
replacer chaque c par 0c, sauf le dernier,
par 1c
remplacer w par :
(|w|-1)*0, 1, w (en unaire)
Peu efficace !
Pierre Jouvelot
Texte
19
Codes préfixes
Aucun code n’est préfixe d’un autre
Décodable de manière unique
Différentes implémentations :
Huffman
Codage arithmétique (brevets)
Performances voisines en pratique
Pierre Jouvelot
Texte
20
Codage d’Huffman (1952)
Hypothèses :
Source d’ordre 0
Loi pi connue
Algorithme glouton
Exemple de construction d’arbre :
A = {a, b, c, d, e},
pi = {0,5; 0,2; 0,1; 0,1; 0,1}
Optimal si pi en puissance de ½
Pierre Jouvelot
Texte
21
Codage arithmétique
(1980)
Optimal pour tout pi
Chaîne = sous-intervalle de [0,1[
A = {a, b, c}, pi = {0,2; 0,3; 0,5} :
a → [0; 0,2[
b → [0,2; 0,5[
c → [0,5; 1[
ac → [0,1; 0,2[
bc → [0,35; 0,5[
aca → [0,1; 0,12[
acaa → [0,0; 0,4[
Pierre Jouvelot
(envoyer 1, renormaliser)
Texte
22
Codage d’ordre supérieur
Méthodes :
opérer par blocs de k éléments de S
probabilités conditionnelles
(statistiques d’ordre k)
Mémoire importante : |S|k
Souvent utilisé pour Huffman (zip,
par blocs : étage 2)
Pierre Jouvelot
Texte
23
Codage adaptatif
Source
Encodeur/
Compresseur
Modifieur de
modèle
Canal
Récepteur
Pierre Jouvelot
Décodeur/
Décompresseur
Texte
24
Huffman adaptatif
Algorithme dynamique :
Initialisation : caractères équiprobables
Gestion d’une table de fréquences
Reconstruction du dictionnaire
Codage optimal (à l’infini)
Synchronisation ?
Extension à l’ordre supérieur
adaptatif (context modelling)
Pierre Jouvelot
Texte
25
Codage RLE
Run-Length Encoding
n caractères identiques → (n, c)
Applications :
fichier core (Unix)
souvent utilisé (fax, JPEG)
Pierre Jouvelot
Texte
26
Substitution textuelle
Famille d’algorithmes
Algorithme général :
D = init( A ) ;
while not( eof()) do {
s = input( D ) ;
// plus longue chaîne
output( code( s, D )) ;
update( D, s ) ;
}
Politiques de gestion de D
Pierre Jouvelot
Texte
27
Dictionnaire glissant (LZ77)
Lempel-Ziv (1977)
Dictionnaire = input déjà analysé
code( s, D ) = (d, l) :
d = déplacement arrière
l = longueur reconnue maximum
init( A ) ?
Optimal au sens de l’entropie
Utilisations : zip (étage 1), PNG (Portable
Network Graphics), Stacker, QIC (Quarter
Inch Cartridge)
Pierre Jouvelot
Texte
28
Dictionnaire dynamique
(LZ78)
Lempel-Ziv (1978)
Dictionnaire = chaîne → int
init( A ) = {a→1 ; b →2}
code( s, D ) = D(s)
update( D, s ) ::= D +
(s+premier caractère non reconnu, |D|+1)
Optimal au sens de l’entropie
Applications : man pages (Unix), V.42bis,
GIF (Graphical Interface Format, LZW)
Pierre Jouvelot
Texte
29
Anticipation (lookahead)
Compression = parsing
Approche greedy non optimale
Exemple :
D = {a, b, ab, bn }, input = abn
greedy : ab, n-1 fois b
optimal : a, bn
Solutions : borner le lookahead,
programmation dynamique
Pierre Jouvelot
Texte
30
Résultats comparatifs
Codages entropiques voisins
Approches par substitution textuelle
similaires
Anticipation peu utile (qq. %)
Pierre Jouvelot
Texte
31
Codage du son
Son analogique =
flux continu de données
≠ MIDI
Codage discret :
Temps (échantillonage), en Hz
Intensité (quantification), en bits
Minimisation de la perte de codage
Pierre Jouvelot
Son
32
Temps
Plage audible : 20 Hz – 20 kHz
Théorème Nyquist-Shannon :
Echantillonner au double de la fréquence
maximum (fs = 2fmax)
Problème de l’aliasing :
Repliement du spectre : f, fs+f, fs-f
Sawtooth (fs = 22.05 kHz) : 440, 880, 1760
Oversampling, filtrage passe-bas
Pierre Jouvelot
Son
33
Intensité
Echantillonage linéaire de tension
Applications (par seconde) :
parole 96kb : 8k samples, 12 bits
musique CD : 44.1k paires, 16 bits
6 dB (= 10log10(S/N)) par bit
Fréquence plus importante que la
résolution
Pierre Jouvelot
Son
34
Codage PCM
Pulse Code Modulation : di
Differential PCM : di-di-1
Adaptative DPCM :
Donnée 16 bits d vers code 4 bits c
di-di-1 ~ step*value[ c ]
« step » adaptatif
Standards CCITT bas débit (G.721-3)
Fichiers WAV (Microsoft), téléphones DECT
« Bunny », PCM, 8 kHz, 16b, 128kbps
« Bunny », ADPCM, 32kbps
Pierre Jouvelot
Son
35
Quantification
Quantization
Source essentielle de compression
Partitionnement de l’espace de
représentation R des données :
Ensemble de classes {c}
Représentant de c : cookbookR( c )
Problème d’optimisation de codage :
Trouver R tel d ~ cookbookR( c ) en
minimisant la distorsion
Pierre Jouvelot
Son
36
Quantifications scalaires
Linéaire : c = ⎣d/step⎦, d’ = c*step
Logarithmique : μ-Law, A-Law
Sensibilité non-linéaire de l’ouie
Meilleure quantification à faible niveau,
signaux plus probables
Utilisation PABX (96kb → 64 kb)
« CQ », μ-Law, 64 kbps
Pierre Jouvelot
Son
37
A-Law
12 bits vers 8 bits :
Signe
Position du bit de poids fort dans les 7
premiers 11 bits de magnitude
4 bits suivants
Exemples :
s1wxyzabcdefg → s111wxyz
s01wxyzabcdef → s110wxyz
s0000001wxyza → s001wxyz
Pierre Jouvelot
Son
38
Quantification vectorielle
VQ, Vector Quantization
Vaste choix d’approches :
quantification scalaire par composante
apprentissage :
Linde-Buzo-Gray, réseaux de neurones
clustering (quadtree, ...)
MCP
Pierre Jouvelot
Son
39
Représentation de la voix
LPC (Linear Predictive Coding)
Voice coder : source un et filtre
Modélisation du signal sn :
sn = Gun – Σk=1,p aksn-k
Codage par trame dn :
Déterminer sn ~ dn minisant la distorsion
Algorithme de Durbin (1960)
Coder/quantifier G, u, p, {ak}
Quantifier le résiduel {sn-dn}
Pierre Jouvelot
Son
40
Normes de compression
LPC bien adapté aux faibles débits
LPC-10 (DoD) :
2.4 kbps, p = 10, un = bruit blanc
CELP (Code Excited LP) :
4.8 kbps, un = indice, MPEG-4
GSM (Global System for Mobile) :
Données : 8 kHz, 13 bits PCM
Débit 13 kbps, taux 8
RTE-LTP (Regular Pulse Excitation – Long
Term Prediction, 6 MIPS)
Pierre Jouvelot
Son
41
MPEG-Audio
Motion Picture Expert Group
ISO/IEC JTC1/SC29/WG11
Norme audio IS 11172-3 (1991)
3 niveaux (layers) de compression :
I – 192 à 384 kb/s/canal (DCC)
II – 128 (DAB)
III – variable de 32 à 128 (.mp3)
Pierre Jouvelot
Son
42
Hypothèses de codage
Assymétrie : décodage aisé
Retard de codage borné (<60ms)
Performance croissante (I à III) :
PCM, 705 kb/s/canal à MP3, 32 kb/s
Complexité croissante : taux ~ 1:7 sans
perte discernable
Codeur non spécifié : MP3, ou une norme
de représentation !
Pierre Jouvelot
Son
43
Psychoacoustique
Perceptual Coding
Effet de masquage fréquentiel
Exemple :
1000 Hz + 1100 (-18 dB) ~ 1000
1000 + 2000 (-18 dB)
1000 + 2000 (-45 dB) ~ 1000
Pierre Jouvelot
Son
44
Structure du codeur MP3
Flux PCM
Filtrage
Psychoacoustique
#bits/bruit
allocation
quantification
Huffman
Données
auxiliaires
Pierre Jouvelot
Formatage
Son
.mp3
45
Pré-traitement
Trames de 1152 samples (.mp3)
Découpage fréquentiel :
20 Hz à 20 kHz
Subband Coding en 32 bandes
Largeurs identiques (≠ AC3)
Chevauchement
Polyphase Quadrature Filter passebande unique
Pierre Jouvelot
Son
46
Masquage
psychoacoustique (1)
Modèle perceptuel empirique :
Si (∀ bande de fréquence B,
bruit_de_quantification(B) <
seuil_de_masquage(B))
alors compression « sans perte »
Détermination expérimentale des seuils :
prise en compte de la sensibilité auditive
Pierre Jouvelot
Son
47
Masquage
psychoacoustique (2)
Fréquentiel
Temporel (intensité > 40 dB) :
pré (2 ms), post (100 ms)
Tonalité : analyse des formants
Couplage entre canaux :
(L,R), (L+R,L-R), (L+R, échelles)
Adaptativité
Pierre Jouvelot
Son
48
Codage .mp3
Adaptative Spectral Perceptual
Entropy Coding
1 trame = [g, {fi }] :
gain, 32 facteurs d’échelle
Calcul itératif fonction du débit:
Noise Control Loop (quantification)
Rate Loop (codage d’Huffman)
Watchdog ou adaptation du modèle
Pierre Jouvelot
Son
49
MPEG-2
IS 13818-3 (1994)
Plus de fonctionalités :
Fréquences de 8 à 96 kHz
Intervalle de débits plus large (Low Sample
Rate : 8 kbps)
5.1 canaux
Canaux multilingues
~ 2 fois plus efficace (astuces de codage)
Compatible MPEG-1 +
Advanced Audio Coding
Pierre Jouvelot
Son
50
MPEG-4
Approche toolbox sonore (1998) :
naturelle (voix, musique)
synthétique
Profils spécifiques :
Speech, Synthesis, Scalable, Main
Pierre Jouvelot
Son
51
Sons naturels
Débits : 1.2 à 64 kb/s
Voix :
HVXC (< 4 kb/s)
CELP (< 24 kb/s)
Audio (et voix à haut débit) :
TwinVQ (NTT)
AAC
Pierre Jouvelot
Son
52
Sons synthétiques
Text-to-Speech (200 b/s à 1.2 kb/s)
Structured Audio :
Synthèse (WAV, FM, physique)
SA Orchestra Language (~ CSound)
SA Score Language
Fonctionnalités :
vitesse (à hauteur constante)
hauteur (à vitesse constante)
effets (réverb, spatialisation, ...)
Scalabilité
Pierre Jouvelot
Son
53
Normes industrielles
AC-3 (Dolby) :
Algorithme et codage propriétaires
Compression psychoacoustique
Adaptation :
• bandes (#, largeur)
• fenêtre temporelle d’analyse
Utilisation dans la norme DVD US
ATRAC (Sony), dans MiniDisk
Pierre Jouvelot
Son
54
Codage des images
Picture element (pixel, pel)
Espaces de représentation :
N&B binaire
niveau de gris 8/16 bits
couleur :
vraie, palette (quantification), dithering
Image = tableau de pixels, carré ou
non (pel aspect ratio, e.g. 4:3)
Pierre Jouvelot
Image
55
Espaces de couleur
Normalisation CIE
RGB, YIQ, YUV, LAB, YC1C2, ...
Découplage achromatique (1) et
chromatique (2)
Facteur de transparence α
Pierre Jouvelot
Image
56
RGB
3 composantes additives :
terminal vidéo
I = k Vγ (γ ~ 2.3)
Peu adapté à la
compression
Pierre Jouvelot
Image
57
YUV
Luminance (Yellow)
Chrominance (U, V)
TV PAL et JPEG
(RGB) = M.(YUV)
Clipping (<235 en Y)
Forte corrélation
(U,V) avec Y = 0.5
Pierre Jouvelot
Image
58
YUV
Y
U
V
Pierre Jouvelot
Introduction
59
CCIR 601 (ITU-R BT.601)
Codage numérique qualité studio de
signaux TV analogiques
Compatibilité TV actuelle :
US : 525 l/59.94 Hz
Eu : 625 l/50 Hz
Echantillonage luminance 13.5 MHz
Pierre Jouvelot
Image
60
Paramètres CCIR 601
Couleur :
Chrominance Subsampling 4/2/1
YUV 4:2:2 (Y1.Y2.Cb.Cr)
8 bits par pel (216 Mb/s)
Débits :
US : 480 l x 720 pel,
60 field/s (30 i/s non entrelacé)
Eu : 576 l x 720 pel, 50 field/s (25 i/s)
Pierre Jouvelot
Image
61
Fax Groupe 3/4
Norme CCITT/SG XIV ITU-T.4 (1980)
Transmission numérique (G1/G2
analogiques) sur ligne TPH
Représentation :
Format A4, N&B
Numérisation 200 dpi, 1188 l
Débit 4.8 kb/s
Extensions : A3, 2D, vitesse
Pierre Jouvelot
Image
62
Compression 1D
Codage d’Huffman statique d’un
codage RLE unidimensionnel
Tables expérimentales l → (b, n) :
0 → (00110101, 0000110111)
3 → (1000,10)
63 → (00110100, 000001100111)
Découpage en blocs de taille 64
Taux : 5 à 15 en pratique
Pierre Jouvelot
Image
63
Option 2D
Prise en compte de ligne précédente
Modified READ (Relative Element Address
Designate) : codage des transitions
Exemple du mode « pass » :
. .
.
a0
b1
b2
. . . . . . .
a’0
Code 001, avec a0 → a’0 (~ b2)
Pierre Jouvelot
Image
64
JPEG
Joint Photographic Expert Group
ISO JTC1/SC29/WG1
ITU-T.81 et ISO/IEC 10928 (1992)
Objectifs :
Images fixes (gris, couleur)
Utilisation humaine
State of the art, general purpose
Paramétrable (format et non algorithme)
Peu coûteux
Pierre Jouvelot
Image
65
Codage
Indépendant de l’espace de couleur
Traitement par canal
Image f(x,y) : 0 ≤ x,y ≤ N-1
Modes :
séquentiel
progressif
hiérarchique, pyramidal
(sans perte)
Pierre Jouvelot
Image
66
Performances
Adapté aux images réelles
Meilleur que GIF (sauf dessin)
Compression moyenne de 10 à 50
Taux de référence (16 b/p) :
0.08
0.25
0.75
2.25
Pierre Jouvelot
b/p
b/p
b/p
b/p
(reconnaissable)
(moyen)
(excellent)
(quasi identique)
Image
67
Spectre (clarinette, Sib)
Temps f(x)
Pierre Jouvelot
Fréquence F(a)
Image ... et son !
68
Discrete Cosine Transform
f(x,y) → spectre F(a,b), 0 ≤ a,b ≤ N-1
Intérêts de la DCT :
Proche de l’optimum (KLT)
Moins de discontinuités :
DCT(f) = DFT(f+miroir(f))
Calculs en réels, avec mode Fast DCT
Inverse DCT
Conversion sans perte
Algorithme non spécifié dans la norme
25% du temps de codage JPEG !
Pierre Jouvelot
Image
69
Définition de la DCT
F(a,b) =
C(a)C(b)/4
∑x=0,N-1 ∑y=0,N-1
f(x,y)cos((2x+1)πa/2N)
cos((2y+1)πb/2N)
avec :
C(0) = 2/√N
C(s) = 2√(2/N)
Pierre Jouvelot
Image
70
Définition de l’IDCT
f(x,y) =
∑a=0,N-1 ∑b=0,N-1
C(a)C(b)/4
F(a,b)cos((2x+1)πa/2N)
cos((2y+1)πb/2N)
Décomposition sur une base cos(x)cos(y)
Pierre Jouvelot
Image
71
Base de la DCT (N = 8):
cos((2x+1)πa/16)cos((2y+1)πb/16)
a
b
Pierre Jouvelot
Image
72
Exemple de DCT
Image 8x8
(shift –128)
DCT 8x8
(arrondi)
Pierre Jouvelot
Image
73
Quantification
DCT par blocs de taille 8x8 :
Localisation des effets de Q
Réduction de complexité
Matrice de coefficients : DC, 63 AC
F(a,b), avec 3 bits de plus que f(x,y)
Table Q(a,b), paramètre de
quantification vectorielle
Pierre Jouvelot
Image
74
Exemple de quantification
Q(a,b) typique
F(a,b)/Q(a,b)
Pierre Jouvelot
Image
75
Codage des coefficients
DC : DPCM (signe+|difference|)
AC :
Parcours « zig-zag »
RLE adaptatif (# zéros, taille en bits du
chiffre suivant)
Huffman statique (table en paramètre)
Pierre Jouvelot
Image
76
Chaîne JPEG
.bmp
Découpage
8x8
tables
DCT
Q
Codage
entropique
Pierre Jouvelot
Image
.jpg
77
Modes
progressif :
sélection spectrale (basses fréquences)
résolution (n MSB bits seulement)
hiérarchique
sans perte :
Pas de DCT
Prédiction / contexte adaptatif
Codage entropique de la différence
Pierre Jouvelot
Image
78
JPEG
progressif
Original
DC
DC, 1 AC
DC, 2ACs
DC, 3ACs
7 MSB DC
+5 MSB AC
+6 MSB AC
+7 MSB AC
Pierre Jouvelot
Image
79
Formats pseudo-standards
Pas spécifié dans la norme
JPEG File Interchange Format (.jpg)
TIFF/JPEG
Still-Picture Interchange File Format
Standard ISO/IUT
Multi-formats
Pierre Jouvelot
Image
80
Evolution de JPEG
JPEG-2 : inspiration MPEG-2
JPEG-3 : informations de DRM
JPEG-LS :
LOw COmplexity LOssless COmpression
Prédictif avec contexte adaptatif
Code de Golomb : (⎣x/m⎦, x mod m)
Codage : (unaire, 0, binaire log2(m))
JPEG-2000 :
Standard ISO/IEC/ITU (déc. 2000)
Fondé sur la décomposition en ondelettes
Pierre Jouvelot
Image
81
JPEG vs. JPEG-2000 : Lena
Original
24 bpp
Pierre Jouvelot
JPEG
0.94 bpp
Image
JPEG-2000
0.95 bpp
82
MPEG
Motion Picture Expert Group
ISO/IEC IS 11172 (août 1993)
Indépendant des applications
Approche toolkit
Multimédia :
Audio, Video, System, Testing
Norme de format, pas d’algorithme
Pierre Jouvelot
Image
83
Spécifications
Accès direct aux images
Fast Forward/Reverse
Playback arrière
Robustesse aux erreurs
Temps-réel
Séquences éditables
Pierre Jouvelot
Image
84
Principes
Opportunités de compression :
espace : transformation DCT
temps : compensation de mouvement
Incompatibilités :
fort taux de compression (⇒ inter)
accès direct (⇒ intra)
Pierre Jouvelot
Image
85
Compression temporelle
Motion Compensation Prediction
3 types de trames :
intra (I), key frame
prédit (P), DPCM par rapport à (I,P)
bidirectionnel (B), interpolé
Impact sur les performances :
1.2 b/p intra (Motion JPEG)
0.3 b/p inter
Pierre Jouvelot
Image
86
IBP
Ordonnancement des trames
Impact sur la taille des buffers :
Constrained Parameters Bitstream
Une trame I toutes les 12 trames
Pierre Jouvelot
Image
87
Prédiction temporelle (P)
Estimation de mouvement
Block matching
Macroblocs 16x16 de prédiction (Y)
Coûteux en temps de calcul :
Minimisation de la distortion
Préfiltrage passe-bas
Algorithme non défini par MPEG
Pierre Jouvelot
Image
88
t-1
Pierre Jouvelot
t
Image
Vecteurs de
mouvement
(t-1 → t)
89
Interpolation temporelle (B)
I0 → B 1 → I2
Types d’interpolation B1 :
intra = 128
Forward_Predictedv(x) = I0(x+v)
Backward_Predictedv(x) = I2(x+v)
Averagevv’ = (FPv+BPv’)/2
Très fort taux de compression
Réduction du bruit (moyennage)
Multirésolution temporelle
Complexité (calcul, mémoire)
Pierre Jouvelot
Image
90
Image « I » résiduelle (P/B)
Pierre Jouvelot
Image
91
Compression spatiale
DCT
Quantification vectorielle :
Blocs 8x8
Matrice de pas adaptative (par bloc)
Distinction I et (P,B)
Zig-zag scanning
Codage RLE
Codage entropique (tables uniques)
Pierre Jouvelot
Image
92
Structure
6 couches fonctionnelles :
séquence : accès SMPTE
GOP : I...I
image : unité de codage
slice : resynchronisation
macrobloc : MCP
bloc : DCT
Pierre Jouvelot
Image
93
MPEG-2
IS 13818 (novembre 1994)
Vidéo et audio 3-15 Mb/s
Du« VHS » au « LaserDisc »
CCIR-601 complet, entrelacement
Compatible MPEG-1
Pierre Jouvelot
Image
94
... De petites améliorations
MCP en ½ pel (interpolation)
Modes multiples de scanning
(entrelacement)
Précision variable des DC
Quantification non-linéaire des MBs
Paramétrage des tables entropiques
Images D (Y uniquement) : FF
Meilleure gestion des buffers
Pierre Jouvelot
Image
95
Scalability
Plusieurs couches de priorité
Adaptation à la puissance du récepteur
(simulcasting)
Quatre modes :
spatial, ou multirésolution
data partitioning ~ progressif
rapport S/N ~ hiérarchique
temporel, avec taux de trames différent (e.g.,
gauche/droite avec prédication L/R)
Pierre Jouvelot
Image
96
Profils et niveaux
Profil :
Sous-ensemble de caractéristiques
Simple, Main (B), Main+, Next
Niveau (level):
Contraintes sur les paramètres
Low, Main, High 1440, High
Main : 720x480, 15 Mb/s, CCIR-601
Combinaisons :
Profile x Level
Applications : Téléconf, CATV, HDTV, DBS
Pierre Jouvelot
Image
97
Extensions MPEG-2
DSM-CC :
Digital Storage Media – Control
Commands
Commandes interactives
Indépendance du support
Audio Non Backward Compatible
Vidéo studio 10 bits/plan
Pierre Jouvelot
Image
98
MPEG-3
Objectif : HDTV à 20-40 Mb/s
Remplacé par ... MPEG-2
Pierre Jouvelot
Image
99
MPEG-4
Ensemble de technologies
Production, distribution et accès :
TV numérique, synthèse, Internet
Trois groupes visés :
auteurs : DRM
ISP : QoS, Delivery Multimedia
Integration Framework (~ ftp)
utilisateurs : interactivité, mobilité
Pierre Jouvelot
Image
100
Caractéristiques
Standard IS 14496 (février 1999)
Bande large : 5 kb/s – 4 Mb/s
Vidéophones, multimédia, VR, ...
Profils vidéo :
naturel : Simple, Core, Main, ...
synthèse :
Facial Animation, Scalable Texture. Hybrid, ...
Techniques agressives : fractals,
morphologie, ondelettes, ...
Pierre Jouvelot
Image
101
Nouveaux concepts
Objets média :
Naturels vs.
synthétiques
Têtes parlantes
Description hiérarchique de scènes :
spatiale, temporelle, sprites (fond), ...
QoS : bit rate, taux d’erreur, priorité
Multiplexage : FlexMux, TransMux
Utilisateurs : position, déplacement
d’objets, langues
Pierre Jouvelot
Image
102
Compression(s)
Elements multiples : vidéo, mailles
2D/3D, textures, variations...
Compression « classique » :
MPEG-2 (+ AVC = DivX)
ondelettes
Objets synthétiques :
Facial Definition Parameter
Facial Animation Parameter
Body Animation
Prédiction de mouvement
des objets
Pierre Jouvelot
Image
103
Conclusion :
Le futur de la compression
Une perpétuelle recherche d’améliorations :
Texte :
Modélisation des sources (langage naturel)
Pattern-Matching
Burrows-Wheeler Transform
Son :
Sans perte (Apple Lossless, Shorten)
Compression d’images :
JBIG, Fax JPEG
Méthodes fractales
Pierre Jouvelot
Conclusion
104
Un exemple :
La compression fractale
Transformation
affine
contractante f
Point-fixe par
itération de f
Similarités
Partitioned Iterated
Function Systems
(1988)
Trouver f ?
Pierre Jouvelot
Conclusion
105

Documents pareils