• Aucun résultat trouvé

Codage entropique –

N/A
N/A
Protected

Academic year: 2022

Partager "Codage entropique –"

Copied!
11
0
0

Texte intégral

(1)

Recherche & Développement Septembre 2005

Schéma de compression vidéo

G. Laroche 04/01/2006

Recherche & Développement Septembre 2005

Plan

Î Introduction

Î Étapes de compression zCodage du résiduel zCalcul du résiduel zAutres étapes Î Conclusion Î Questions

Recherche & Développement Septembre 2005

Plan

Î Introduction

Î Étapes de compression zCodage du résiduel zCalcul du résiduel zAutres étapes Î Conclusion Î Questions

Recherche & Développement Septembre 2005

Introduction – Qu’est ce qu’un codec vidéo?

Î Ensemble d’outils.

Î Entrée : séquences vidéo.

Î Sortie : bitstream.

Î Seul le décodeur est standardisé : zDoit pouvoir décoder tout bitstream standard.

zEt doit rendre une qualité équivalente aux autres décodeurs standardisés.

Recherche & Développement Septembre 2005

Introduction – A quoi sert un codec vidéo?

Î Compresser un signal dont on connaît les caractéristiques, les redondances spatiales et temporelles (≠de ZIP).

Î Applications vidéo de plus en plus nombreuses (TV, Cinéma, DVD, Visio).

Î Permet une augmentation des qualités et résolutions.

Recherche & Développement Septembre 2005

MPEG-4 1999 Introduction – Instituts et organisation

H.263 1998 H.263+ 2000

H.262 = MPEG-2 1995 MPEG-1 1991

H.264/MPEG-4 AVC 2003

H.261 1993

H.265 2010

Î Deux instituts de normalisation: ITU – ISO

ITU-T ISO-IEC

H.264+/JSVC 2006

SVC

(2)

Recherche & Développement Septembre 2005

Introduction – Évaluation

Î Évaluation d’une technique de compression

zCodage avec perte: courbe débit-distorsion (R-D)

29 30 31 32 33 34 35

0 100 200 300 400 500 600 700 800 900

Bit-rate (kbits/s)

Average PSNR (dB)

Evaluation Objective

0 1 2 3 4 5 6

0 1 2 3 4 5 6 7 8

Bit-rate (Mbits/s)

Visual Quality

Evaluation Subjective

Recommandation normalisée (ITU)

Evaluation Objective moins fiable/Subjective très coûteuse

Recherche & Développement Septembre 2005

Profil

Fidelity Range Extension, TVHD, Digital Cinema, Blue Ray/HDDVD.

Î Profil :

zEnsemble d’outils liés à une application.

Î Exemple : H.264 7 profils différents : zBaseline : Application mobile, visiophonie.

zMain : Streaming/broadcast.

zExtended : Mobile video services.

zHigh : zHigh 10 zHigh 4:2:2 : zHigh 4:4:4 :

Recherche & Développement Septembre 2005

Profil

R-D Evaluation Objective

15 20 25 30 35 40 45

0,00 100,00 200,00 300,00 400,00 500,00 600,00 700,00 Bit-rate (kbits/s)

PSNR HIGH

BASELINE

Recherche & Développement Septembre 2005

Plan

Î Introduction

Î Étapes de compression zCodage du résiduel zCalcul du résiduel zAutres étapes Î Conclusion Î Questions

Recherche & Développement Septembre 2005

Schéma Global

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories

Deblocking Deblocking Overlap smoothing Overlap smoothing Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Recherche & Développement Septembre 2005

Schéma Global

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

(3)

Recherche & Développement Septembre 2005

Transformations - Généralités

Î Entropie : valeur moyenne de la quantité d’information associée à une variable aléatoire.

Î Objectif : dé-corréler le signal.

Î Pourquoi ? Codage entropique + efficace.

Domaine pixel

Domaine transformé

Équiprobabilité des valeurs sur [0 ; 255]

Énergie concentrée sur les basses fréquences, proba faible sur les grandes

amplitudes dans les hautes fréquences

Entropie en chute libre !

Recherche & Développement Septembre 2005

Transformations - Généralités

Î Pourquoi ça marche ?

Corrélation spatiale dans l’image

+ d’énergie dans les basses fréquences

« un pixel ressemble souvent à son (ses) voisin(s) »

Recherche & Développement Septembre 2005

Transformations - DCT

⇒Utilisée dans JPEG, MPEG-1, MPEG-2...

Î Transformée fréquentielle Î Implémentation simple Î Algorithmes rapides Î Efficace

Recherche & Développement Septembre 2005

Transformations - DCT

Î Dans la pratique : DCT(I) = P-1IP Î Formule :

Recherche & Développement Septembre 2005

Transformations - DCT

Î I est une combinaison linéaire des éléments de la base suivante :

Recherche & Développement Septembre 2005

Exemple DCT

Î I :

Î DCT(i) :

(4)

Recherche & Développement Septembre 2005

Transformation DCT H.264

Î En pratique :

1 1 2 1

2 1 1 1

2 1 1 1

1 1 2 1

1 2 2 1

1 1 1 1

2 1 1 2

1 1 1 1

33 32 31 30

23 22 21 20

13 12 11 10

03 02 01 00

x x x x

x x x x

x x x x

x x x x

⇒DCT H.264 décalages et additions

Recherche & Développement Septembre 2005

Transformation DWT

Î Discrete Wavelet Transform : utilisé dans le standard JPEG2000.

Î Pas utilisé (pour l’instant) dans les codeurs vidéo STANDARD.

Î Permet un scalabilité en résolution.

Recherche & Développement Septembre 2005

Transformation DWT

Î Discrete Wavelet Transform : utilisé dans le standard JPEG2000.

Î Pas utilisé (pour l’instant) dans les codeurs vidéo STANDARD.

Î Permet un scalabilité en résolution.

⇒Outil pour la scalabilité

Recherche & Développement Septembre 2005

Schéma Global

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Introduction de pertes - quantification

Î Matrice de quantification en fonction du “pas de quantification”.

Î Division entière des coefficients de la matrice DCT par les coefficients de la matrice de quantification.

Î Objectif : réduire l’alphabet de la matrice DCT.

⇒Entraîne une perte de données.

Recherche & Développement Septembre 2005

Exemple quantification

Î Q(DCT(i)) : Î DCT(i) :

(5)

Recherche & Développement Septembre 2005

Schéma Global

DCTDCT QuantQuant Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Codage entropique

Î Suite à la quantification on a beaucoup de valeurs proches de 0.

Î Le codage entropique va permettre de réduire la quantité d’information.

Î 2 types de codage:

zVariable Length Coding.

zCodage Arithmétique.

Recherche & Développement Septembre 2005

Codage entropique –

VLC (Variable Length Coding)

=

i

i

i

p

p

h . log

2

( )

=

=

1

0

.

* _

N

i i i

l p symboles Nb

L

On attribue -[log2(pi)]bits au symbole i Nb de valeurs prises par les symboles

Nb de bits attribués à la valeur i Probabilité de la valeur i Î Longueur d’une

séquence donnée (bits) :

Î Entropie de cette séquence (bits/symbole):

Î Codage de Huffman (1952) = optimal au sens de l’entropie(bits/symbole):

Recherche & Développement Septembre 2005

Codage entropique -

Huffman (1952)

A (p = 0.28) B (p = 0.25) C (p = 0.2) D (p = 0.15)

E (p = 0.12) DE (p = 0.27) 0

1

BC (p = 0.45) 0

1

ADE (p = 0.55) 1

0 1

0

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

Recherche & Développement Septembre 2005

Le RLC … Zig-zag scanning

Ordre de parcours des coefficients DCT

quantifiés DC

Î Balayage par ordre croissant des fréquences spatiales.

⇒RLC efficace

Matrice (N,N) → Vecteur (NxN,1)

Recherche & Développement Septembre 2005

Codage entropique - RLC+VLC

Séquence : 0004000000-300000000101001-3 Séquence :0004000000-300000000101001-3

(3,4) (6,-3) (8,1) (1,1) (2,1) (0,-3)

111110000101111101000011110000100111010100010001 111110000101111101000011110000100111010100010001 Î Chaque couple codé par l’algorithme de Huffman.

plus la fréquence d’apparition d’un symbole est forte, plus la chaîne est courte.

(6)

Recherche & Développement Septembre 2005

Codage Arithmétique - IBM, début 80 ’s

A (p = 0.500) Symboles : B (p = 0.375) C (p = 0.125)

• On veut transmettre BAB

• Probabilités connues du codeur et du décodeur

Exemple

Î Limite du codage de Huffman : nb de bits entier par symbole.

Î Ex: pA= 90% ⇒A codé sur 1 bit au lieu de 0.15 bit (6 fois trop).

Î Codage arithmétique : on code une suite de symboles par un intervalle en virgule flottante sur [0,1[.

Recherche & Développement Septembre 2005

Codage Arithmétique - IBM, début 80 ’s

0 1/2 7/8 1

A B C

1/2 11/16 53/64 7/8

A B C

0 1/2 7/8 1

A B C

A B C

1/2 19/32 85/12811/16

1/2 11/16 53/64 7/8

A B C

A B C

1/2 19/32 85/12811/16

x ∈]19/32 ; 85/128[

Recherche & Développement Septembre 2005

Codage Arithmétique - IBM, début 80 ’s

Î On code 19/32 ⇒5 bits.

Î Au décodage on connaît la table de probabilité.

Î On a :

z1/2 > 19/32 >7/8 ⇒premier caractère est B z(19/32-1/2)/(intervalle de B) =3/32/(7/8-1/2) =0.25 z0 > 0.25 >1/2 ⇒2ième caractère est A

zEtc…

zLa chaîne est donc BAB

Recherche & Développement Septembre 2005

Schéma Global

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories

Deblocking Deblocking Overlap smoothing Overlap smoothing Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Recherche & Développement Septembre 2005

Schéma Global

JPEG

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories

Deblocking Deblocking Overlap smoothing Overlap smoothing Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Recherche & Développement Septembre 2005

Plan

Î Introduction

Î Étapes de compression zCodage du résiduel zCalcul du résiduel zAutres étapes Î Conclusion Î Questions

(7)

Recherche & Développement Septembre 2005

Résiduel ?

Î Recherche d’un prédicteur à partir de l’information déjà connue.

Î Puis codage de la différence entre le prédicteur et le bloc de départ.

Î Et inversion au décodage.

) , ˆ( ) , ( ) ,

(x y p x y px y

e = −

) , ( ) , ( ˆ ) ,

(x y px y e x y

p = +

Recherche & Développement Septembre 2005

Schéma Global

DCTDCT QuantQuant Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Redondances temporelles

Î Compression d’image fixe : redondance spatiale.

Î Compression d’image vidéo : redondance spatiale et temporelle.

Î Entre 2 images successives, peu de différences.

⇒il doit y avoir moyen de déduire l’une de l ’autre...

Recherche & Développement Septembre 2005

Image 1 (t0) Image 2 (t0+40 ms) Redondances temporelles

Recherche & Développement Septembre 2005

Image Type

Î I : (INTRA) Codage uniquement spatial.

Équivalent à JPEG.

Î P : (PREDICTED) Codage temporel, en fonction d'une image précédente.

Î B : (BIDIRECTIONAL) Codage temporel, en fonction de 2 images.

Débit(I)>Débit(P)>Débit(B)

Recherche & Développement Septembre 2005

Î On prédit une image par rapport à une (plusieurs).

autre(s) de référence ; on code la ≠. Î Ex: images P et B.

Î Suppose une boucle de décodage dans le codeur.

Î Et qu’une image soit codée en Intra (I).

Temporel - Schémas prédictifs

(8)

Recherche & Développement Septembre 2005

ÎZone immobile :

ÎZone en mouvement :

•Très faible erreur de prédiction

• Skipping

• Mouvement trop rapide pour l ’œil

• Forte quantification Estimation de mouvement – nécessaire ?

Recherche & Développement Septembre 2005

Î Principe :

zMise en correspondance par minimisation de la MSE sur des blocs de taille fixe.

Î Avantages :

zPas de segmentation à transmettre.

zSimplicité.

zBonne compatibilité avec le codage spatial (block based).

Le block matching

Recherche & Développement Septembre 2005

Block matching - full search

Axe temporel (i,j)

(k,l)

Iref(n-1) Icur(n)

V

zPour chaque bloc B[i][j] centré en (i,j), recherche dans l’image de référence du bloc B[k][l] lui ressemblant le plus.

zLe vecteur est V(B[i][j]) = (i-k, j-l).

Î Principe :

zMise en correspondance par minimisation d’une fonction coût sur des blocs de taille fixe.

Non norm atif

Recherche & Développement Septembre 2005

Compensation de mouvement - Intérêt

t0-t1 Compensation de

mouvement entre t0 & t1

Recherche & Développement Septembre 2005

Motion Block Shapes

Î Anciens codeurs : bloc 8x8 Î H.264 :

z4 modes principaux pour la compensation de mouvement.

16x16 16x8 8x16 8x8

8x8 8x4 4x8 4x4

zEn mode 8x8, un bloc peut être divisé.

mise en compétition

Recherche & Développement Septembre 2005

Sub-Pixel Motion Prediction

Î Pourquoi ?:

zMouvement non pixelique.

zEngendre plus de détails.

Î Estimation au pixel entier, au ½ et au ¼ de pixel

(9)

Recherche & Développement Septembre 2005

Schéma Global

DCTDCT QuantQuant Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Prédiction Intra

BUT : Exploiter la redondance spatiale.

Î H.263 : Prédiction domaine DCT zBloc 8x8 : 3 modes

Î H.264 : Prédiction domaine pixel zBloc 4x4 : 9 modes

zBloc 16x16 : 4 modes zBloc 8x8 (high) : 9 modes

⇒H.264 plus efficace que H.263 et JPEG2000

Recherche & Développement Septembre 2005

Î Le macrobloc est prédit en fonction de la ligne du haut et la colonne de gauche.

Î 4 modes de prédiction :

zDC prediction zHorizontal prediction zVertical prediction zPlane prediction

Prediction Intra 16x16 H.264

mise en compétition

Recherche & Développement Septembre 2005

Plan

Î Introduction

Î Étapes de compression zCodage du résiduel zCalcul du résiduel zAutres étapes Î Conclusion Î Questions

Recherche & Développement Septembre 2005

Schéma Global

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Temporel - Codage des vecteurs !

Î En général:

zLes vecteurs sont codés sans perte zMVxet MVyséparément

zMVxet MVysont codés à l’aide d’un prédicteur qui est la médiane des vecteurs voisins déjà enregistrés.

VM a

c ) b

, , (abc Médian VM

RésiduelVM = −

(10)

Recherche & Développement Septembre 2005

Schéma Global

DCTDCT QuantQuant Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Deblocking filter

Î Pourquoi?

zAmélioration de la qualité visuelle.

zGommage des effets de bloc.

zCompensation de mouvement plus efficace.

Î Comment?

zDans la boucle de compensation de mouvement.

z“Moyenne pondérée” des pixels en bordure de bloc.

zOrganisé par filtre.

zChoix des filtres en fonction des caractéristiques des blocs.

Recherche & Développement Septembre 2005

Deblocking filter

Beaucoup de tests, clips, très coûteux, très efficace.

Recherche & Développement Septembre 2005

Schéma Global

DCT DCT QuantQuant

Quant Quant--11

DCT DCT--11

Motion Motion compensation compensation

Bitstream Bitstream Input

Input signal signal

Motion Motion estimation estimation

Coefficients Coefficients lossless lossless encoding encoding substract

substract

Motion vectors Motion vectors prediction prediction Frame

Frame memories memories Intra prediction

Intra prediction

Inter/Intra Inter/Intra decision decision

Deblocking Deblocking Overlap smoothing Overlap smoothing

Recherche & Développement Septembre 2005

Î Mise en compétition de tous les modes possibles.

Î Minimisation d’une fonction coût respectant : zLa qualité

zLe bit-rate

J = D + λR

Inter/Intra decision

Distortion (qualité) Rate (bit-rate) Non

norm atif

Recherche & Développement Septembre 2005

Conclusion

Î

Compression toujours nécessaire.

Î

Exploitation des redondances spatiales et temporelles.

Î

Schéma de codage vidéo calqué sur celui du codage d'image.

Î

L’enjeu des prochaines années : HD,

consommation mobile, la vidéo 3D.

(11)

Recherche & Développement Septembre 2005

Î Jean-Alain Hernandez,René Joly,Les normes et les standards du multimédia, Dunod 2000.

Î Compression d’images fixes et animées JPEG et MPEG, conférence ENST Bretagne 2003.

Î T. Wiegand, G.J. Sullivan, Overview of the H.264/AVC Video Coding Standard, IEEE 2003.

La bibliographie

Recherche & Développement Septembre 2005

Chiffres et Résultats

Î Un film de 1h30 : z25 Go non compressé.

z650 Mo en MPEG4.

z350 Mo en H.264.

z175 Mo en H.265 soit 4 films sur un CD de 700 Mo

Références

Documents relatifs

Statistiques Tableau de valeur. FX 92 Collège 2D

Lenquête Ipsos «Le Moniteur» suries salaires des cadres du BTP en 2007 parait dans «Le Moniteur» du 19 janvier Len- quête fournit les salaires annuels bruts de 12 fonctions ré-

dos por ella, lo abandonasen todos, la consecuencia inmediata serla el engrandecimiento prodigioso de los albéltares, á quienes por otra parte no podía privárseles ^de ejercer la

Recopier et compléter le tableau donné ci-dessous donnant l'état des variables au cours de l'exécution de l'a ithme.. Partie

Le monde n'était plus que le grand livre deXzi nature 5 si quelqu'un se tuoit, les uns le hlâmoient parce qu'il outrageoit\a nature; d^ autres le Jélicitoient de s'éti'e endormi dans

Crue maximale observde Pluviométrie moyenne Volume écould.

ÎÑƧƽƢŭơƤȇǀǠƬdzơƨǔǿƢǼǷƨȈǫƢǨƫơȁÓƧƽƢŭơȅǂǐǼǠdzơDŽȈȈǸƬdzơDZƢǰNjƗǞȈŦȄǴǟ ÐÖƧƽƢŭơDzǨǘdzơǩȂǬƷƨȈǫƢǨƫơȁ DZƢǸǠƬLJơ Ŀ ǦLjǠƬdzơȁ ǵơǂƳȍơ ƢȇƢƸǔƥ ƨǬǴǠƬŭơ

– Savoir dans quelles circonstances proposer une IRM et/ou une biopsie hépatique.. Connaître les principales causes d’hyperferritinémie