Codage avec perte d’information sans-perte de qualité visuelle
Perception visuelle humaine des images
La vision humaine est sensible à deux composantes : la luminance et la chrominance. La luminance représente l’intensité lumineuse, soit la vision en noir et blanc. Tandis que la chrominance représente l’intensité chromatique, soit la perception de couleur (Wang et al., 2002). Ces caractéristiques sont perçues par la rétine, un organe important de la vision. Celle-ci est principalement composée de deux types de cellule : les cônes et les bâtonnets. Les bâtonnets sont surtout situés en périphérie et ne perçoivent pas les couleurs. Les cônes se situent plus au centre et sont responsables de la perception des couleurs (Sayood, 2005). Il existe trois types de cônes chacun responsable de la perception de différente tonalité chromatique (Young, 1802).
Particularités de la vision humaine utiles à la compression
Lors de la compression avec perte d’information, certains artefacts de compression sont insérés dans les images ou les séquences vidéos. Il existe quelques particularités du système visuel humain (SVH) qui peuvent rendre ces artefacts moins visibles et ainsi permettre de conserver une bonne qualité visuelle.
Premièrement, la sensibilité du SVH aux composantes de la lumière n’est pas égale. En effet, l’oeil humain est plus sensible à la luminance qu’à la chrominance (Pritchard, 1977). Ainsi, les pertes d’information concernant les couleurs sont moins visibles.
Il faut aussi considérer la perception de contraste. Celle-ci est plus aiguë lorsque les fréquences spatiales et temporelles sont petites (Robson, 1966). Ceci indique qu’une perte d’information dans une région d’image ayant un contenu fréquentiel élevé est moins apparente. Une telle section d’image peut représenter une région avec beaucoup de détail ou beaucoup de mouvement.
Application des particularités de la vision humaine à la compression
Plusieurs standards de compression d’image (JPEG (International Telecommunications Union, 2004)) et vidéo (MPEG-2, H.264, H.265 (ISO/IEC, 2009; Richardson, 2003; International Telecommunications Union, 2013b)) utilisent une représentation de couleur et de luminosité pour laquelle les valeurs de chrominance sont sous-échantillonnées. En effet, avec la représentation YUV420, les valeurs de chrominance U et V sont sous-échantillonnées d’un facteur de quatre en sous échantillonnant par un facteur de deux horizontalement et verticalement. Ainsi, une valeur de U et une valeur de V sont utilisées pour quatre valeurs de luminance (Y), et ceci en conservant une bonne qualité visuelle .
La diminution de sensibilité aux hautes fréquences spatiales est utilisée dans un algorithme de compression proposé dans (Võ et al., 2011b,a). Dans cet algorithme, les blocs sont classifiés en trois classes : lisses, avec détails, aléatoires. Un facteur de quantification différent est appliqué pour chaque classe de bloc pour minimiser les distorsions, surtout pour les blocs lisses, qui représentent des régions d’image de basse fréquence.
Description du HACP-SBT
L’algorithme de HACP-SBT (Kim et Kyung, 2010) aborde plusieurs concepts intéressants. Il est présenté en deux parties, soit un prédicteur spatial le HACP (de l’anglais Hierarchical Average Copy Prediction) et un codage entropique simple à longueur fixe utilisant le SBT (de l’anglais Significant Bit Truncation).
L’algorithme de compression présenté est destiné à optimiser les transferts mémoires d’un codec H.264 dans un système embarqué. Dans certains systèmes, ceci est nécessaire pour respecter les limitations de bande passante imposées par les modules d’accès direct à la mémoire. Ceci est accompli en intégrant un module de compression d’image à ce module matériel. Pour ne pas augmenter le temps d’encodage, l’algorithme doit être de basse complexité.
L’autre aspect très intéressant est l’option de l’accès aléatoire aux données de l’image. Pour pouvoir accéder à certaines parties de l’image sans décoder l’image au complet, les dépendances de données doivent être restreintes à l’unité d’accès aléatoire. Dans ce cas, cette unité est un macrobloc 16×16 formé de quatre blocs 8×8. Ainsi, aucune prédiction temporelle n’est permise et toute prédiction spatiale doit être effectuée à l’intérieur du macrobloc. C’est pourquoi un prédicteur hiérarchique est utilisé puisque ce dernier ne présente aucune dépendance de données à l’extérieur du bloc 8 × 8 prédit.
Prédiction
La prédiction spatiale par HACP favorise les prédictions horizontales, car l’auteur explique que les images naturelles ont une plus grande corrélation horizontale que verticale.
|
Table des matières
INTRODUCTION
CHAPITRE 1 CONCEPTS DE BASE
1.1 Compression de l’information
1.1.1 Théorie de l’information
1.1.2 Types de compression
1.2 Outil de compression d’images et de vidéos
1.2.1 Prédiction
1.2.1.1 Prédiction spatiale
1.2.1.2 Prédiction temporelle
1.2.2 Transformation
1.2.3 Codage entropique
1.2.4 Quantification
1.3 Résumé des outils de codage
1.3.1 Outils de compression sans perte d’information
1.3.2 Outils de compression avec perte d’information
CHAPITRE 2 SYSTÈME – CONTEXTE D’IMPLÉMENTATION
2.1 Contraintes de l’unité de calcul
2.2 Contraintes de mémoire
2.3 Résumé des contraintes
CHAPITRE 3 ÉTAT DE L’ART
3.1 Compression sans perte d’information
3.1.1 La prédiction par différence de pixel adjacent (DAP)
3.1.2 Prédiction par détection de contour médian (MED)
3.1.3 Prédiction ajustée en fonction du gradient (GAP)
3.1.4 Prédiction hiérarchique (HACP)
3.1.5 Évaluation des prédicteurs
3.1.5.1 Opérations par pixel
3.1.5.2 Profondeur de prédiction
3.1.5.3 Ratio entropique
3.1.5.4 Résultats
3.2 Codage avec perte d’information sans-perte de qualité visuelle
3.2.1 Perception visuelle humaine des images
3.2.2 Particularités de la vision humaine utiles à la compression
3.2.3 Application des particularités de la vision humaine à la
compression
3.3 Description du HACP-SBT
3.3.1 Prédiction
3.3.1.1 Calculs des prédicteurs
3.3.2 Codage
3.3.3 Avantages du HACP-SBT
3.3.3.1 Faible profondeur de dépendance de données
3.3.3.2 Calcul de prédicteur simple avec des instructions
SIMD
3.3.3.3 Efficacité du prédicteur
3.3.3.4 Accès aléatoire
3.3.4 Désavantages du HACP-SBT
3.3.4.1 Dépendances de données
3.3.4.2 Algorithme de transfert mémoire
3.3.4.3 Taux de compression variable
3.4 Résumé
CHAPITRE 4 AMÉLIORATIONS APPORTÉES AU PRÉDICTEUR HACP ET
AU CODAGE PAR SBT
4.1 Simplification de la hiérarchie de prédiction du HACP
4.1.1 Élimination d’un niveau de dépendance
4.1.2 Calcul du prédicteur du premier niveau
4.1.3 Regroupement de pixels pour l’unification
4.1.4 Comparaison des méthodes proposées
4.2 Adaptation de l’HACP-SBT pour la communication
4.2.1 Division de l’image
4.2.2 Syntaxe de codage
4.2.2.1 Entête d’unité
4.3 Extension du codage par SBT pour le codage avec perte
4.3.1 Troncature des bits les moins significatifs
4.3.2 Conservation de l’information du résultat de prédiction sur huit
bits
4.3.2.1 Erreur de quantification de l’erreur de prédiction
4.3.2.2 Problème de signe
4.3.3 Sélection des groupes à tronquer
4.3.3.1 Chrominance
4.3.3.2 Haute fréquence spatiale
4.3.4 Sélection du nombre de bits à tronquer
4.3.4.1 Détermination de la taille codée par itération de codage
4.3.4.2 Estimation de la taille codée d’un bloc pour une
décision a priori
4.3.4.3 Séparation des niveaux de codage
4.3.5 Modes de codage
4.3.5.1 Sans perte (0)
4.3.5.2 Avec perte rapide (1)
4.3.5.3 Avec perte calculée (2)
4.4 Résumé
CHAPITRE 5 CONSIDÉRATIONS D’IMPLÉMENTATION
5.1 Étapes d’encodage
5.1.1 Prédiction
5.1.2 Codage des niveaux 1, 2 et 3
5.1.3 Analyse et codage du niveau 4
5.2 Étape de décodage
5.3 Gestion de la mémoire
5.3.1 Gestion de la mémoire à l’encodage
5.3.2 Gestion de la mémoire au décodage
5.4 Résumé
CHAPITRE 6 RÉSULTATS DE L’ÉVALUATION DE L’ALGORITHME
PROPOSÉ
6.1 Procédure de test pour l’analyse de l’algorithme proposé
6.2 Influence des modes de codage sur la performance
6.2.1 Taux de compression
6.2.2 Qualité visuelle
6.2.3 Temps d’exécution
6.3 Analyse des facteurs affectant le taux de compression
6.3.1 Taux de compression après codage H.264
6.3.2 Taux de compression par mode par résolution
6.3.3 Taux de compression par mode par vecteur de test
6.4 Analyse des facteurs affectant la qualité d’image
6.4.1 SSIM par mode par résolution
6.4.2 SSIM par mode par vecteur de test
6.5 Analyse du temps d’exécution par section de l’algorithme
6.5.1 Contraintes du système ..
6.5.1.1 Dépendance des données et instructions SIMD
6.5.1.2 Gestion de la mémoire
6.6 Résumé
CONCLUSION
Télécharger le rapport complet