Traitement et Traitement et éléments du éléments du codage vidéocodage vidéo
Jenny Benois -PineauJenny Benois -Pineau
Université Bordeaux -1Université Bordeaux -1
C3
-Le signal vidéo numérique représente des énormes volumes d’information :
TV numérique ordinaire (4/3) 576x720 CCIR601 4:2:2, 25:2 ipscomposante de luminance Y, Fe = 13,5 MHzcomposantes de chrom Cr, Cb Fe= 6.675 MHzprofondeur : 8bits par pixel/composantevolume d ’information 216Mbit/s
TV numérique HD (aspect 16/9 = (4/3)2)50 ips, HDP 1250x1920 volume d ’information 2,304 Gbit/sec
WEB TV, TV ANYTIME ????
-Pour économiser les ressources de stockage et réduire la bande passante requise lors de la transmission on cherche à comprimer le signal vidéo.
3. Notions de la théorie de l’information
Soit S une source d ’informations et xi (symboles d’un alphabet) les valeurs possibles de l ’information.
On peut le modéliser par une variable aléatoire X dont les réalisations sont xi avec une loi de probabilité
L’entropie de la variable aléatoire :
Quantité d’information associée au symbole xi :
Ainsi l’entropie représente l’information propre moyenne associé à un processus (source).
Quantité d’information
ixp
ii
N
ixpxpXH 2
1
0log)(
ii xpxI 2log
Propriétés :
* alors
*supposons que l’alphabet est fini et contient K symboles alors
L’égalité étant obtenue si la variable aléatoire X est équiprobable
Propriétés de l’Entropie
10 ixpi
0)( XH
10,..., KxxX
KXH 2log)(
Distribution équiprobable :
*Dénotons .
Le produit est maximal si
Ce qui correspond au cas de la distribution équiprobable.
Donc .
Propriétés de l’Entropie
K
xXp i1
KKK
XHK
i
1log1log1)( 22
1
0
iii xpxp 2log
K ...0 K ...10
KXH 2log)(
Taux de compression
-Opération de numérisation et de compression du signal est aussi appelé « codage de source ».
-Le codage des signaux multimédia nécessite de connaître les limites atteignables des taux de compression.
- taux de compression :
Limites atteignables
Le théorème de codage de la source établit qu’il existe un débit binaire (quantité d’information) vers laquelle on peut tendre sans pouvoir comprimer la source d’avantage. Dans le cas d’un codage sans perte cette limite est donnée par l’entropie de la source.
codée ninformatiod' Quantitéinitiale ninformatiod' Quantité
Codage Entropique
Codage de la source : Source X prends ses valeurs dans le dictionnaire C. On appelle codage de la source X une application de C dans l’ensemble des suites finies de l’alphabet {0,1}.
Le code :
Le mot de code :
La longueur moyenne :
Théorème : Pour toute source discrète sans mémoire, il existe un code instantané représentant exactement la source et uniquement décodable vérifiant
Où H(X) est l’entropie de la source et est la longueur moyenne du code, exprimés en bit par symbole.
l
1)()( XHlXH
Lss ,...,1
10..01001is
iX slipl
4. Compression sans pertes de l’information vidéo-
image
Codage entropique (statistique)
Source S discrete d ’informations est caractérisée par son entropie H
- Codage de Shannon-Fano
- Codage de Huffman
- Codage arithmétique
Codage par comptage (RLC)
Applications :
(1)Pratiquement jamais directement sur le signal vidéo/image numérique car une forte variabilité
(2)Dans les standards de codage avec la compression vidéo il est appliqué aux informations avec une corrélation importante
Codage Entropique de Shannon-Fano (I)
1) Pour tous les symboles de message développer une liste correspondante des probabilité expérimentales (occurrences)
2) Trier la liste dans l’ordre décroissant des probabilités expérimentales (occurrences)
Exemple :
Message ABEABABABCDCDBAEAAAEAAAABAACACDBDEEDCCDE
Liste triée
Symbole A B C D E
Occurrence 15 7 6 6 5
Codage Entropique de Shannon-Fano (II)
3) Diviser la liste en deux parties, le total des compteurs de’occurrence de la motié supérieure devant être aussi proche que possible du total de al moitié inférieure
4) Affecter le chiffre binaire 0 à la moitié supérieure de la liste, et le chiffre 1 à la moitié inférieure de la liste
Symbole Occurrence Somme Code
A 15 0
B 7 22 0
-------------------------------------------------------------
C 6 1
D 6 1
E 5 17 1
Codage Entropique de Shannon-Fano (III)
5) Appliquer de façon récursive les étapes 3 et 4 à chacune des deux moitiés, jusqu’à ce que chaque symbole soit devenu une feuille
Symbole Occurrence Somme Code
A 15 00
-------------------------------------------------------- II
B 7 22 01
--------------------------------------------------------- I
C 6 10
-------------------------------------------------------- III
D 6110
-------------------------------------------------------- IV
E 5 17111
Codage Entropique de Shannon-Fano (IV)
Représentation sous forme d’arbre binaire
A B C
D E
Racine
0
0 0
0
1
1
1
Symbole Occurrence Quantité inf Bits Total Taille Sh-F Bits Sh-F
A 15 1,38 20,7 2 30
B 7 2,48 17,36 2 14
C 6 2,70 16,20 2 12
D 6 2,70 16,20 3 18
E 5 2,96 14,8 3 15
Codage Entropique de Huffmann (I)
1952. Algorithme optimal pour construire un code entropique. On peut montrer qu’il n’existe pas d’autre code uniquement décodablede longueur moyenne inférieure pour une source discrète sans mémoire.
Principe : construire progressivement l’arbre binaire en partant des feuilles de l’arbre précédent.
Initialisation de l’arbre :
- Tous les symboles sont les nœuds –feuilles
- Chaque noeud a comme poids la probabilité de symbole ( occurrence).
- Liste des nœuds libres contient tous les nœuds
Codage Entropique de Huffmann(II)
Construction de l’arbre :
1) Sélectionner les deux symboles – noeuds les moins probables.
2) Créer le père de ces deux nœuds.
Poids(père) :=Poids(FilsGauche)+Poids(FilsDroit)
3) Ajouter le nœuds-père dans la liste des nœuds libres et supprimer les nœuds – fils de la Liste.
4) Étiquetage. Un des fils reçoit 0, l’autre 1
5) Si card(Liste)=1 alors arrêt. Le seul noeud devient la racine
Exemple :
1)15 7 6 6 5
A B C D E
2) 15 7 6 6 5
A B C D E
…
Codage Entropique de Huffmann(III)
11
0 1
11
0 10 1
13
15 7 6 6 5
A B C D E
0 100 101 110111
…
Codage Entropique de Huffmann(III)
24
0 1
11
0 10 1
13
39
0 1
Codage Entropique de Huffmann
Comparaison avec le codage de Shannon-Fano
Quantité d’information théorique
NbrBits SF NbrBits H
82,25 89 87
Nécessite la transmission de la table des codes
Codage par plages (RLC)Principe : (1)Comptage du nombre
d’apparitions consécutives d’un mot de message à coder.(2)Codage à longueur fixe de la valeur des mots et de nombre d’apparitions(3) Variante : introduction de bit-flag
« codé-non-codé ». Exemple : Message : 1 1 1 1 7 7 7 7 7 255 7 1 8 8 8Code : 1 4 1 1 5 7 0 3 255 7 1 1 3 8Débit initial : 15 *8 =120 bitsDébit final : 1 + 3 + 8 + 1 + 3+ 8+1 + 3 +
3*8 + 1 + 3 + 8 = 64 bitsAdapté aux images sans bruit ou les
valeurs quantifiées grossièrement.
5. Estimation et compensation du mouvement
• Pourquoi :
• - interpolation de la vidéo basée mouvement;
• - analyse et segmentation
• -codage hybride : utilisation de la redondance temporelle
Projection du mouvement rigide 3D dans le plan-image
Z
Yfyy
Z
Xfxx
0
0Hypothèse : le mouvement observée dans le plan image via changements de luminance correspond à la projection idéale du mouvement 3D des objets de la scène
Mouvement réel/mouvement apparent
a)Insuffisance du gradient spatial
MR - oui
MA - non
b)Changements d’illumination extérieure
MR - non
MA - oui
Hypothèse d ’invariance de luminance
x
y
Une séquence vidéoen l ’absence de bruit:
I(x, y, t) = I(x+dx, y+dy, t+Δt)
d=(dx, dy)T, la projection du déplacement réel 3D dans le plan image.
I(x,y,t) - fonction d ’intensité lumineuse
Le champs vectoriel D(x,y)= {(dx, dy)T }
est appelé le champs dense de déplacement
0),,(,,),,( tyxIttdyydxxIdyxDFD
I(x, y , t)t
Flot optique
T
t
y
t
xtyx
,,,
Vecteur de vitesse au point (x,y) correspond au dt près au vecteur de déplacement
Le champ vectoriel (x,y) est appelé le flot optique ou encore champs de vitesse
t
Idt
y
Idy
x
IdxtyxIdttdyydxxI
),,(,,
Par l ’hypothèse d ’invariance de luminance
0
t
I
dt
dy
y
I
dt
dx
x
I
tyx IvIuI
tIwI OFE/EQMA
Problème d ’estimation du FO est mal posé
Estimation du mouvement(4)
Tdtdydtdxw /,/Comme alors
tIwI u v
ECMA
Estimation du mouvement est un problème mal posé. Uniquement le flot optique normal est observable
w
Sous forme vectorielle
Décomposons , www
w
tIwwI
est parallèle au gradient local
w est
orthogonale
Estimation du mouvement(5)
Une autre vue
t
Iv
y
Iu
x
I
Si u,v sont supposées indépendantes, alors une seule équation pour deux inconnues –
(1)problème d’unicité de la solution – “problème d’ouverture”
(2)Problème du bruit d’acquisition
(3)Problème d’occultation
Estimation du mouvement(4)
(1)Illustration du « problème d’ouverture »
Zone découverte : pas de correspondance des pixels avec l’image précédente
flot optique normal
flot optique réel
(3) Illustration du « problème d’occultation »
Estimation du mouvement
(x+dx, y+dy)
(x, y)
(dx, dy)
DFD(x, y, d) = I(x, y, t) - I(x+dx, y+dy, t+Δt)
On cherche d=d(θβ) (β modèle du mouvement 2D, θ ses paramètres) tel que DFD(x, y, d) soit minimum.
-Méthodes basées sur l ’EQMA (différentielles)
-Méthodes basée sur la minimisation directe de la DFD ou d ’une mesure basée DFD
- Méthode directes/méthodes paramétriques
Estimation du mouvement dans les algorithmes normalisés(I)
Approche : mise en correspondance (basée bloc)
Critères à optimiser :
MAD= avec
BpFd
ttdpItpI
),(),(min Tyxp ),(
MSE = 2),(),()(
1min ttdpItpI
BCard BpFd
Fenêtre F Bloc B
I(t)I(t-dt)
Estimation par bloc
Objectif : obtenir le champ de déplacement éparse
Le FO est supposé constant à l’intérieur d’un bloc
Le critère à minimiser :
Bp
dttdpItpI
),(),(min ou 2),(),(min dttdpItpI
BpFd
It-dt It
FB
Méthode de recherche exhaustive
Estimation « au pixel près »
BpFd
dttdpItpIArgd
),(),(minˆ
It-dt It
L’inconvénient majeur : coût opératoire – diverses opimisations
FB
Méthodes de recherche accélérée
Estimation « au pixel près »
1. Recherche à 3 pas,
2. Recherche logarithmique,
3. Recherche à 4 pas
……. – méthodes sous-optimales
L’inconvénient majeur : le risque d’atteindre le minimum local de la fonctionnelle de l’énergie.
Recherche à trois pas (Koga’81)
Principe : l’affinage du pas de recherche
1. Pas=4. Evaluer MAD aux pixels « 0 » et « 1 »
Si min(MAD) =MAD(0) – alors bloc stationnaire
Sinon
2. Pas=Pas/2. Evaluer MAD aux pixels « 2 »
3. Pas=Pas/2. Evaluer MAD aux pixels « 3 »
Fenêtre de recherche + 7 pels
0
1
2
1
1
1 1
1
1
1
2 2 2
23
22 2
33
33 3 3
3
Recherche à trois pas (Koga’81)
Le vecteur de déplacement optimal
Modifications :
-comparaison de min(MAD) avec un seuil T
-Si min(MAD)<T alors arrêt
-Sinon recherche autour de la position courante avec le pas/2 (recherche « logarithmique »).
0
1
2
1
1
1 1
1
1
1
2 2 2
23
22 2
33
33 3 3
3
Estimation du mouvement dans les algorithmes normalisés(II)
Méthode d ’estimation : recherche exhaustive
Précision d ’estimation :
- « au pixel près »
- « au demi-pixel près »
Estimation au pixel près : Z dydxdydxd T ,,),(
Estimation au demi pixel près :
Approches multi-résolution-multi-échelle
tt II 0 )( 1lt
lt IgI
1)Construction des pyramides Gaussiennes pour
1, tt II
2) Estimation des paramètres de mouvement commençant par le niveau le plus élevé
L
3) Propagation
l yxl yx dd ,1, -le facteur de sous-échantillonnage
2
22
2 2exp
21),(
lklkg