codage hiérarchique et multirésolution (jpeg 2000) codage
Post on 19-Jun-2022
13 Views
Preview:
TRANSCRIPT
Codage hiérarchique et multirésolution (JPEG 2000)
Codage Vidéo
Représentation de la couleur
Codage canal et codes correcteurs d’erreur
Format vectoriel (SVG - Scalable Vector Graphics)
Organisation de journée
Codage hiérarchique et multirésolution (JPEG 2000)
Codage Vidéo
Représentation de la couleur
Codage canal et codes correcteurs d’erreur
Format vectoriel (SVG - Scalable Vector Graphics)
Codage hiérarchique et multirésolution
même fondement que la TF:
TF : projection sur une base sinusoïdale
TO : projection sur une base d’ondelettes
Fourier (et DCT) : comparaison du signal avec une sinusoïde pure
Ondelette : comparaison du signal avec une « petite onde » (fonction oscillante, à décroissance rapide).
⇒ permet de ne pas perdre l’information de localisation
On parle alors d’échelle plutôt que de fréquence
Transformée en ondelettes
Codage hiérarchique et multirésolution
Quelques exemples de fonctions analysantes (différentes positions/échelles)
(ondelettes continues)
Codage hiérarchique et multirésolution
JPEG 2000
• Une étape de traitement en plus• Utilisation de la DWT (Discrète Wavelet Transform) : transformation en
ondelette discrète.• Seul le décodeur est spécifié (la partie allocation de débit est un choix
technologique pour les industriels) • L’image origine peut être décomposée en blocs (tiles=tuiles) de taille
égale, ce qui permet de reduire la complexité de l ’algorithme (la DWT s ’effectue sur chaque bloc), de paralléliser les calculs….
• On retranche ensuite la composante continue de chaque composante
de l’image (luminance, chrominance)
Codage hiérarchique et multirésolution
JPEG 2000
Décomposition (Analyse) pyramidale de l’information ⇒ multirésolution :– deux filtres RIF
• un filtre Passe-Bas: LA(n)• un filtre Passe-Haut: HA(n)
Codage hiérarchique et multirésolution
JPEG 2000
Reconstruction (Synthèse):– deux filtres RIF
• un filtre Passe-Bas LS(n)• un filtre Passe-Haut HS(n)
Deux filtres utilisés dans JPEG-2000:
Filtre à reconstruction parfaite, coefficients rationnels (mode sans perte) 5 coeff pour LA(n) 3 coeff pour HA(n)
Filtres non réels de Daubechies:9 coeff pour LS(n) 7 coeff pour HS(n)
Codage hiérarchique et multirésolution
Exemple de décomposition dyadique en sous-bandes
Codage hiérarchique et multirésolution
Décomposition en ondelettes
Codage hiérarchique et multirésolution
Décomposition en ondelettes
Codage hiérarchique et multirésolution
Décomposition en ondelettes
Codage hiérarchique et multirésolution
Décomposition en ondelettes
Codage hiérarchique et multirésolution
Différents modes suivant l’information codée dans le code-stream
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon la résolution
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon la résolution
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon la résolution
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon la résolution
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon le raffinement de la qualité
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon le raffinement de la qualité
Codage hiérarchique et multirésolution
Organisation progressive du fichier selon le raffinement de la qualité
Codage hiérarchique et multirésolution
Codage de Région d’Intérêt (ROI)
Permet de coder certaines parties de l’image avec une meilleure qualité
Statique:
la ROI est choisie et codée une fois pour toute au niveau de l’encodeur
Dynamique:
la ROI est choisie et décodée « au vol » à partir du bit-stream
Codage hiérarchique et multirésolution
Codage de Région d’Intérêt (ROI)
Exemple : (Taux de compression: 69)
Codage hiérarchique et multirésolution
Codage de Région d’Intérêt (ROI)
Codage hiérarchique et multirésolution
Codage hiérarchique et multirésolution
Codage de Région d’Intérêt (ROI)
Méthode MaxShift
Codage hiérarchique et multirésolution
Codage de Région d’Intérêt (ROI)
Méthode MaxShift
supporte n’importe quelle forme de ROI avec une complexité algorithmique réduite
Pas besoin de transmettre la forme
Pas besoin de coder / décoder le contour de la forme
Pas besoin de gérer un masquage au niveau du décodeur
Décodeur aussi simple que s’il n’y a pas de ROI
Codage hiérarchique et multirésolution
Codage canal (error resilience)
Possibilite d’inclure - des données XML
- des infos specifiques sur le vendeur
- des infos sur la propriétés intellectuelle
- une URL
Multi-composante:
jusqu’à 256 composantes
profondeur et dimensions arbitraires de chaque composante
Codage hiérarchique et multirésolution
Illustration et intérêt de la décomposition
Psnr=20,6 dB
0.5bpp
Codage hiérarchique et multirésolution
Psnr=28,1 dB
0.5bpp
Illustration et intérêt de la décomposition
Organisation de journée
Codage hiérarchique et multirésolution (JPEG 2000)
Codage Vidéo
Représentation de la couleur
Codage canal et codes correcteurs d’erreur
Format vectoriel (SVG - Scalable Vector Graphics)
TypePage en noir et blanc (fax)Page en niveau de gris (photo)Page en couleur (photo)
Résolution (l x h)1000 x 20001000 x 20001000 x 2000
Nbpp1 bit8 bits8 x 3 = 24 bits
Taille du fichier2 Mbits= 250Ko16 Mbits= 2Mo48 Mbits= 6Mo
Taille des images brutes:
Séquences vidéo:
Type
Real Video
Bouquets Satellites MPEG2
Bouquets Satellites MPEG2
DVD
DV
Cinéma numérique
Résolution (l x h)
160 x 120 (exemple)
720 x 556
352 x 288
720 x 576
720 x 576
1920 x 1080
Nbpp
12 bits
16 bits
12 bits
12 bits
12 bits
16 bits
Débits bruts
5.5 Mbits/s = 0.6 Mo/s
166 Mbits/s = 20 Mo/s
29 Mbits/s = 4 Mo/s
125 Mbits/s = 15Mo/s
125 Mbits/s = 15Mo/s
800 Mbits/s = 100Mo/s
Débits utilisés en pratique
0.2 Mbits/s
4 Mbits/s
1 Mbits/s
moyen 4.5 Mbits/s, max 9.8 Mbits/s
25 Mbits/s
126 Mbits/s
Codage vidéo: enjeux de la compression
Codage vidéo
Historique–M-JPEG: 91(applications propriétaires)–MPEG: 93–MPEG-2: 95–MPEG-4: 00
0 1
2 10
Codage vidéo
Redondance temporelle
• Codage différentiel:– on transmet uniquement In et D=In+1 - In
– principe utilisé pour M-JPEG
• Compensation de mouvement:– on code l ’image In+1 comme étant la juxtaposition de translations de
l ’image In sur des blocs (macro-blocs)
Codage vidéo
Principe de base
• But: trouver, pour chaque bloc de l ’image In+1 , un bloc de l ’image In qui soit le plus « proche » possible
• Critères de sélection
• Avantages: permettre de coder un bloc uniquement par un vecteur de mouvement (translation)
• Inconvénients: Recherche exhaustive coûteuse en temps de calcul.– recherche dichotomique– recherche pyramidale
( ) ( ) ( )[ ]( )∑
∈+ ++−=
Bj,ijinnji dj,diIj,iIMNd,dMSE 2
11
Codage vidéo
Algorithme du block-matching
Image 121 Image 130 Image 130 obtenue après compensation
de mouvement
L’erreur peut être importante: on code ensuite la différence entre l’image prédite et l’image originale
Codage vidéo
Exemples de compensation de mouvements
• Trois types d ’images: I, P et B– I: Intra
• codées sans prédiction et sans compensation de mouvement par un algorithme de compression très proche de JPEG
– P: Prédites• prédites à partir des images I ou P précédentes par compensation
de mouvement. On code également la différence entre l ’image prédite et l ’image originale
– B: Bi-directionnelles• prédites par deux compensations de mouvement:
– l’une provenant d ’une image I ou P passée– l’autre d ’une image I ou P future.– On code également la différence entre l’image prédite et
l’image originale
Codage vidéo
Principes des codeurs MPEG
Le codeur choisit le séquençage des différents type d ’images dans la séquence (GOP)
Codage vidéo
Organisation en Groupes d’Images (GOP)
– images intra et images d’erreurs
– vecteurs mouvement
Codage vidéo
Entités codées
Codage vidéo
Diagramme du codeur
Extensions propriétaires du format JPEG.– Redondance temporelle pas ou très peu exploitée
(éventuellement codage prédictif temporel)– Utilisé en édition de séquence vidéo– Utilisé sur les appareils photos numériques
Codage vidéo
Codeur M-JPEG
• Objectif:– permettre le stockage de vidéo sur CD-ROM– fournir un équivalent du VHS - qualité TV– séquence de petites tailles (352x288)
• Techniques:– méthode de compensation de mouvement
• Futur:– de + en + remplacé par MPEG-2
Codage vidéo
Codeur MPEG1
• Codage de séquences diffusées par voie numérique• SDTV et HDTV• Basés sur les techniques de compensation de mouvement• Fonctionnalités:
– différents sous-échantillonnage de la chrominance– débit constant (Vidéo Conf) ou variable (DVD)– édition facile– lecture/avance/retour rapide, pause– résistance face aux erreurs de transmission– codage de séquences entrelacées– Scalabilité temporelle et spatiale en fonction de la qualité
• Usage:– câble, satellite, DVD, compression vidéo sur PC
Codage vidéo
Codeur MPEG2
Principe:– compression améliorée– séquence interactives– compositeur de scènes– Décomposition en objets vidéo
(VOP)– objet synthétiques (2D, 3D)
Codage vidéo
Codeur MPEG4
sequence MPEG-4 initiale Translation de l’objet vidéo
Changement d’échelle
Rotation
Codage vidéo
Codeur MPEG4
Codage vidéo
MPEG4: représente le contenu multimédia
MPEG7 : description du contenu (bas ou haut niveau)
complément de MPEG4 (utilise des objets vidéo MPEG4)
MPEG21: cadre multimédia complet
inclut tous les formats, codecs…
facilite l’intégration de nouveaux standards
comité incluant les représentants des majors du disque et du cinéma
Organisation de journée
Codage hiérarchique et multirésolution (JPEG 2000)
Codage Vidéo
Représentation de la couleur
Codage canal et codes correcteurs d’erreur
Format vectoriel (SVG - Scalable Vector Graphics)
Capteur linéaire: 1 ligne de pixels
Matrice de pixels
Matrice couleur
- mono-CCD
Acquisition: Capteur numérique
Capteur linéaire: 1 ligne de pixels
Matrice de pixels
Matrice couleur
- mono-CCD
- tri-CCD
Acquisition: Capteur numérique
Capteur linéaire: 1 ligne de pixels
Matrice de pixels
Matrice couleur
- mono-CCD
- tri-CCD
Multi / Hyper spectral
Acquisition: Capteur numérique
R V B
base Rouge-Vert-Bleu
Détection de contour :
Représentation de la couleur
T L S
base Teinte-Luminance-Saturation
Détection de contour (T) :
Représentation de la couleur
Problème d’effet de Moiré avec un capteur mono-CCD
Influence des conditions d’éclairage
choix de la base de représentation
Représentation de la couleur
Représentation sous la forme Yuv ou Y-Cb-C
Y = 0.587V + 0.299R + 0.114B : donne la luminanceCb = 0.564(B-Y) ou U = 0.493(B-Y) : chrominance bleue,Cr = 0.713(R-Y) ou V = 0.877(R-Y) : chrominance rouge.
Représentation de la couleur
Représentation de la couleur
Sous-Echantillonnage des composantes couleurs
Représentation de la couleur
Sous-Echantillonnage des composantes couleurs
Organisation de journée
Codage hiérarchique et multirésolution (JPEG 2000)
Codage Vidéo
Représentation de la couleur
Codage canal et codes correcteurs d’erreur
Format vectoriel (SVG - Scalable Vector Graphics)
Lors de la transmission, il peut subvenir des perturbations (perte de données)
Il est nécessaire de mettre en œuvre des mécanismes
de détection d’erreurs et de correction.
Stratégies de correction:
-détecter les erreurs et retransmettre les messages erronés (à la demande ou de manière automatique)
-Apporter de la redondance dans le message transmis afin que le décodeur régeère lui-même le signal original en cas d’erreur.
Codage canal et codes correcteurs d’erreurs
Détection d’erreurs par Vertical Redundancy Checker (VRC)
Ajout d’un bit de parité à chaque mot de code
- si le nombre de « 1 » dans un mot de code est impair, on ajoute « 1 »
- sinon, on ajoute « 0 »
Cette méthode simple ne détecte pas 100% des erreurs.
Codage canal et codes correcteurs d’erreurs
Détection d’erreurs par Longitudinal Redundancy Checker (VRC)
à partir de blocs de caractères, munis de leur bit de parité,
rangés dans les lignes d’un tableau, on calcule la parité
des colonnes et on transmet le résultat avec le message.
Probabilité réduite de non détection.
Codage canal et codes correcteurs d’erreurs
Codage canal et codes correcteurs d’erreurs
Codage canal et codes correcteurs d’erreurs
Contrôle des transmissions orientées bits
les données sont découpées en blocs de traille fixe (trame)
on ajoute une clef de contrôle de taille prédéterminée
CRC (contrôle de redondance cyclique): clef de contrôle de 16 bits
FCS (frame sequence check): clef de contrôle de 32 bits
Codage canal et codes correcteurs d’erreurs
Détection d’erreurs par CRC
on utilise des polynômes générateurs ayant des propriétés particulières
pour engendrer des clefs.
Les bits bn-1 , bn-2 , … , b0 représentent le polynôme
B(x) = bn-1 . xn-1 + bn-2 . xn-2 + … + b0
si le polynôme générateur est de degré k, on multiplie B(x) par xk ,
puis on effectue la division du résultat par le polynôme générateur.
Le reste de la division donne les bits de contrôle.
Codage canal et codes correcteurs d’erreurs
Détection d’erreurs par CRC
Codage canal et codes correcteurs d’erreurs
Code correcteur d’erreur: code de Hamming (7,4)
mot de code: information codée sur 4 bits + 3 bits de parité
ex: i1i2i3i4p1p2p3
où:
p1: parité pour i1i2i3
p2: parité pour i2i3i4
p3: parité pour i1i3i4
Codage canal et codes correcteurs d’erreurs
Code correcteur d’erreur: code de Hamming (7,4): codage
Codage canal et codes correcteurs d’erreurs
Code correcteur d’erreur: code de Hamming (7,4): décodage
Codage canal et codes correcteurs d’erreurs
Code correcteur d’erreur: code de Hamming (7,4): décodage
Codage canal et codes correcteurs d’erreurs
Code correcteur d’erreur: code de Hamming (7,4): décodage
Codage canal et codes correcteurs d’erreurs
Code correcteur d’erreur: code de Hamming (7,4):
- chaque mot de code diffère des autres mots codes par au moins 3 bits
- le code permet de corriger les erreurs correspondant à un bit
de mot de code erroné
- le code permet de détecter les erreurs portant sur 2 bits du mot de code
Organisation de journée
Codage hiérarchique et multirésolution (JPEG 2000)
Codage Vidéo
Représentation de la couleur
Codage canal et codes correcteurs d’erreur
Format vectoriel (SVG - Scalable Vector Graphics)
Format vectoriel (SVG - Scalable Vector Graphics)
SVG Essentials
By J. David EisenbergFirst Edition February 2002 ISBN: 0-596-00223-8364 pages
Une formation ( + exemples + liens)
http://tecfa.unige.ch/staf/staf-g/sierra/staf2x/sitesvg.htm
Quantification des sous-bandes
• Les sous-bandes HF ont un contenu beaucoup plus faible que les sous-bandes BF
• Solution adoptée:– pas de quantification propre à chaque sous bande.– Le pas de quantification est plus faible pour les sous-bandes BF que
pour les sous-bandes HF– règle de quantification uniforme:
: pas de quantification: plus grand entier inférieur à x
( )
∆=b
yysignqb∆ x
0 +10 +20 +30-30 -20 -10
10=∆ b
0 1 2-1-2
Quantification inverse des sous-bandes
• Règle de quantification inverse: pour q # 0 pour q = 0
r représente le biais de reconstruction, il est choisi par le décodeur valeur classique: 0.375valeur du point milieu: 0.5
( )[ ] bysignrqz ∆+=0=z
Codage des coefficients: principes (1)
• Chaque plan de bit est codé séparément: codage par plan de bits.• On code les plans de bits de poids fort puis les plans de bits de poids
faibles• Chaque plan de bit est découpé en blocs de taille 64x64 qui sont ensuite
codés indépendamment• Le codage est un codage contextuel (on calcule la probabilité d ’apparition
d ’un bit en fonction de la valeur des bits voisins): cela permet de réduire l’entropie du code
Codage des coefficients: principes (2)
• Le codage de chaque plan de bit se décompose en trois parcours distincts ce qui permet de hiérarchiser le flux (information importante puis ensuite information secondaire):
– Parcours 1: codage des bits correspondant à des coefficients non
significatifs mais voisins de bits correspondant à des coefficients
significatifs
– Parcours 2: codage des bits correspondant à des coefficients
significatifs
– Parcours 3: codage des bits restants
– Un coefficient est significatif dès que le bit parcouru est égale à +1 ou -1
Exemple de découpage3
321
321
321
321
3
321
321
321
3
321
321
321
3
321
321
3
321
321
3
321
LL2
3
321
321
3
321
3
321
321
3
321
321
3
321
321
3
321
3
321
3
321
3
321
3
321
HL2 LH2 HH2 HL1 LH1 HH1
PB1
PB2
PB3
PB4
PB5
321 : Parcours 1
: Parcours 2
: Parcours 3
Qualité maximale et résolution minimale 3
321
321
321
321
3
321
321
321
3
321
321
321
3
321
321
3
321
321
3
321
LL2
3
321
321
3
321
3
321
321
3
321
321
3
321
321
3
321
3
321
3
321
3
321
3
321
HL2 LH2 HH2 HL1 LH1 HH1
PB1
PB2
PB3
PB4
PB5
Qualité maximale et résolution moyenne 3
321
321
321
321
3
321
321
321
3
321
321
321
3
321
321
3
321
321
3
321
LL2
3
321
321
3
321
3
321
321
3
321
321
3
321
321
3
321
3
321
3
321
3
321
3
321
HL2 LH2 HH2 HL1 LH1 HH1
PB1
PB2
PB3
PB4
PB5
Qualité fixée (PSNR) et résolution maximale3
321
321
321
321
3
321
321
321
3
321
321
321
3
321
321
3
321
321
3
321
LL2
3
321
321
3
321
3
321
321
3
321
321
3
321
321
3
321
3
321
3
321
3
321
3
321
HL2 LH2 HH2 HL1 LH1 HH1
PB1
PB2
PB3
PB4
PB5
Génération de fichier compressé
• Il existe plusieurs moyens d ’agencer les différents blocs codés. Notamment en fonction de:– la résolution désirée– la qualité désirée (en terme de PSNR)– la qualité désirée (de façon subjective)– décomposer le décodage de l ’image en plusieurs parties spatiales
Codage des zones d ’intérêts• Objectifs:
– permettre une distribution de la qualité qui soit non uniforme (mise en évidence d ’objets dans une scène)
– avoir une qualité maximale sur une zone de l ’image précise• utile dans des applications de tele-diagnostique par exemple
• Solutions utilisées:– Codage d ’un masque binaire qui code la zone d ’intérêt.– Multiplication des coefficients d ’intérêts par une puissance de deux.
Division au décodage. Ses coefficients seront codés en premier lieu: (bits de poids fort non-nulles).
– Décalage de bits (équivalent à la solution précédente).
Exemples de codagesBits de poids forts Bits de poids faibles
Exemples de codagesBasse résolution Haute résolution
top related