Codage hiérarchique et multirésolution (JPEG 000) 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 000) 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 Transformée en ondelettes 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
Codage hiérarchique et multirésolution Quelques exemples de fonctions analysantes (différentes positions/échelles) (ondelettes continues)
Codage hiérarchique et multirésolution JPEG 000 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 000 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 000 Reconstruction (Synthèse): deux filtres RIF un filtre Passe-Bas LS(n) un filtre Passe-Haut HS(n) Deux filtres utilisés dans JPEG-000: Filtre à reconstruction parfaite, coefficients rationnels (mode sans perte) 5 coeff pour LA(n) 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 à 56 composantes profondeur et dimensions arbitraires de chaque composante
Codage hiérarchique et multirésolution Illustration et intérêt de la décomposition Psnr=0,6 db 0.5bpp
Codage hiérarchique et multirésolution Illustration et intérêt de la décomposition Psnr=8, db 0.5bpp
Organisation de journée Codage hiérarchique et multirésolution (JPEG 000) Codage Vidéo Représentation de la couleur Codage canal et codes correcteurs d erreur Format vectoriel (SVG - Scalable Vector Graphics)
Codage vidéo: enjeux de la compression Taille des images brutes: Type Résolution (l x h) Nbpp Taille du fichier Page en noir et blanc (fax) 000 x 000 bit Mbits= 50Ko Page en niveau de gris (photo) 000 x 000 8 bits 6 Mbits= Mo Page en couleur (photo) 000 x 000 8 x = 4 bits 48 Mbits= 6Mo Séquences vidéo: Type Résolution (l x h) Nbpp Débits bruts Débits utilisés en pratique Real Video 60 x 0 (exemple) bits 5.5 Mbits/s = 0.6 Mo/s 0. Mbits/s Bouquets Satellites MPEG 70 x 556 6 bits 66 Mbits/s = 0 Mo/s 4 Mbits/s Bouquets Satellites MPEG 5 x 88 bits 9 Mbits/s = 4 Mo/s Mbits/s DVD 70 x 576 bits 5 Mbits/s = 5Mo/s moyen 4.5 Mbits/s, max 9.8 Mbits/s DV 70 x 576 bits 5 Mbits/s = 5Mo/s 5 Mbits/s Cinéma numérique 90 x 080 6 bits 800 Mbits/s = 00Mo/s 6 Mbits/s
Codage vidéo Historique M-JPEG: 9(applications propriétaires) MPEG: 9 MPEG-: 95 MPEG-4: 00
Codage vidéo Redondance temporelle 0 0
Codage vidéo Principe de base Codage différentiel: on transmet uniquement In et D=In+ - In principe utilisé pour M-JPEG Compensation de mouvement: on code l image In+ comme étant la juxtaposition de translations de l image In sur des blocs (macro-blocs)
Codage vidéo Algorithme du block-matching But: trouver, pour chaque bloc de l image In+, un bloc de l image In qui soit le plus «proche» possible Critères de sélection MSE( di, d j ) = MN [ I ( i, j ) I ( i + d, j + d ) ] ( ) i, j B n+ n i 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 j
Codage vidéo Exemples de compensation de mouvements Image Image 0 Image 0 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 Principes des codeurs MPEG 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 Organisation en Groupes d Images (GOP) Le codeur choisit le séquençage des différents type d images dans la séquence (GOP)
Codage vidéo Entités codées images intra et images d erreurs vecteurs mouvement
Codage vidéo Diagramme du codeur
Codage vidéo Codeur M-JPEG 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 MPEG Objectif: permettre le stockage de vidéo sur CD-ROM fournir un équivalent du VHS - qualité TV séquence de petites tailles (5x88) Techniques: méthode de compensation de mouvement Futur: de + en + remplacé par MPEG-
Codage vidéo Codeur MPEG 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 MPEG4 Principe: compression améliorée séquence interactives compositeur de scènes Décomposition en objets vidéo (VOP) objet synthétiques (D, D)
Codage vidéo Codeur MPEG4 Changement d échelle sequence MPEG-4 initiale Translation de l objet vidéo Rotation
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) MPEG: 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 000) Codage Vidéo Représentation de la couleur Codage canal et codes correcteurs d erreur Format vectoriel (SVG - Scalable Vector Graphics)
Acquisition: Capteur numérique Capteur linéaire: ligne de pixels Matrice de pixels Matrice couleur - mono-ccd
Acquisition: Capteur numérique Capteur linéaire: ligne de pixels Matrice de pixels Matrice couleur - mono-ccd - tri-ccd
Acquisition: Capteur numérique Capteur linéaire: ligne de pixels Matrice de pixels Matrice couleur - mono-ccd - tri-ccd Multi / Hyper spectral
Représentation de la couleur base Rouge-Vert-Bleu R V B Détection de contour :
Représentation de la couleur base Teinte-Luminance-Saturation T L S 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.99R + 0.4B : donne la luminance Cb = 0.564(B-Y) ou U = 0.49(B-Y) : chrominance bleue, Cr = 0.7(R-Y) ou V = 0.877(R-Y) : chrominance rouge.
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 000) Codage Vidéo Représentation de la couleur Codage canal et codes correcteurs d erreur Format vectoriel (SVG - Scalable Vector Graphics)
Codage canal et codes correcteurs d erreurs 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 dans un mot de code est impair, on ajoute - sinon, on ajoute «0» Cette méthode simple ne détecte pas 00% 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 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 6 bits FCS (frame sequence check): clef de contrôle de 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-, bn-,, b0 représentent le polynôme B(x) = bn-. xn- + bn-. xn- + + 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 + bits de parité ex: iiii4ppp où: p: parité pour iii p: parité pour iii4 p: parité pour iii4
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 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 bits du mot de code
Organisation de journée Codage hiérarchique et multirésolution (JPEG 000) 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 Eisenberg First Edition February 00 ISBN: 0-596-00-8 64 pages Une formation ( + exemples + liens) http://tecfa.unige.ch/staf/staf-g/sierra/stafx/sitesvg.htm
Quantification des sous-bandes Les sous-bandes HF ont un contenu beaucoup plus faible que les sousbandes 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: y b x : pas de quantification q = sign ( y ) b : plus grand entier inférieur à x - 0 - b = 0-0 -0-0 0 +0 +0 +0
Quantification inverse des sous-bandes z= [ Règle de quantification inverse: q # 0 q + r sign y pour b pour q = 0 ( )] z=0 r représente le biais de reconstruction, il est choisi par le décodeur valeur classique: 0.75 valeur du point milieu: 0.5
Codage des coefficients: principes () 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 () 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 : codage des bits correspondant à des coefficients non significatifs mais voisins de bits correspondant à des coefficients significatifs Parcours : codage des bits correspondant à des coefficients significatifs Parcours : codage des bits restants Un coefficient est significatif dès que le bit parcouru est égale à + ou -
Exemple de découpage : Parcours : Parcours : Parcours PB PB LL HL LH HH HL LH PB HH PB4 PB5
Qualité maximale et résolution minimale PB PB LL HL LH HH HL LH PB HH PB4 PB5
Qualité maximale et résolution moyenne PB PB LL HL LH HH HL LH PB HH PB4 PB5
Qualité fixée (PSNR) et résolution maximale PB PB LL HL LH HH HL LH PB HH 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 codages Bits de poids forts Bits de poids faibles
Exemples de codages Basse résolution Haute résolution