format d'image bitmap basé sur les ondelettes , utilisant la compression de données avec et sans perte . Créé pour améliorer et remplacer le format JPEG , il a été développé simultanément au JPEG 2000 , en privilégiant la vitesse au taux de compression .artefacts « blocs et flous » caractéristiques de la norme JPEG originale basée sur DCT . Il permet également des téléchargements progressifs plus sophistiqués .Niveaux de gris avec 1, 8, 16 ou 31 bits par pixel
Discussion technique
PGF revendique une qualité de compression supérieure à celle de JPEG, grâce à l'ajout ou à l'amélioration de fonctionnalités telles que la mise à l'échelle. Ses performances de compression sont similaires à celles de la norme JPEG originale. PGF prend également en charge des taux de compression très faibles et très élevés (y compris la compression sans perte ). Sa capacité à gérer une très large gamme de débits binaires effectifs est l'un de ses atouts. Par exemple, pour réduire le nombre de bits d'une image en dessous d'une certaine valeur, la solution recommandée avec la première norme JPEG consiste à réduire la résolution de l'image d'entrée avant de l'encoder ; une opération généralement inutile avec PGF grâce à ses propriétés de mise à l'échelle par ondelettes.
La chaîne de processus PGF comprend les quatre étapes suivantes :
- Transformation de l'espace colorimétrique (dans le cas des images couleur)
- Transformée en ondelettes discrètes
- Quantification (en cas de compression de données avec perte)
- Encodage hiérarchique par plage de bits
Transformation des composantes de couleur
Dans un premier temps, les images doivent être transformées de l' espace colorimétrique RVB vers un autre espace colorimétrique, ce qui donne trois composantes traitées séparément. PGF utilise une transformation de couleur YUV modifiée et entièrement réversible . Les matrices de transformation sont :
Les composantes de chrominance peuvent être, mais ne doivent pas nécessairement être, réduites en résolution.
Transformation en ondelettes
Les composantes de couleur sont ensuite transformées par ondelettes à une profondeur arbitraire. Contrairement à JPEG 1992 qui utilise une transformée en cosinus discrète par blocs de 8x8 , PGF utilise une transformée en ondelettes réversible : une version arrondie de la transformée en ondelettes biorthogonale CDF 5/3 . Ce banc de filtres d'ondelettes est identique à celui utilisé par JPEG 2000. Il n'utilise que des coefficients entiers, ce qui évite tout arrondi (quantification) en sortie et donc l'introduction de bruit de quantification.
Quantification
Après la transformée en ondelettes, les coefficients sont quantifiés scalairement afin de réduire le nombre de bits nécessaires à leur représentation, au prix d'une perte de qualité. Le résultat est un ensemble de nombres entiers qui doivent être encodés bit à bit. Le paramètre permettant de définir la qualité finale est le pas de quantification : plus le pas est grand, plus la compression est importante et plus la perte de qualité est grande. Avec un pas de quantification égal à 1, aucune quantification n'est effectuée (ce qui est utilisé en compression sans perte). Contrairement à JPEG 2000, PGF utilise uniquement des puissances de deux ; ainsi, la valeur du paramètre i représente un pas de quantification de 2ᵢ . L'utilisation exclusive de puissances de deux dispense des opérations de multiplication et de division entières.
Codage
Le résultat du processus précédent est un ensemble de sous-bandes représentant différentes échelles d'approximation. Une sous-bande est un ensemble de coefficients — des nombres entiers — qui représentent des aspects de l'image associés à une certaine gamme de fréquences ainsi qu'à une zone spatiale de l'image.
Les sous-bandes quantifiées sont divisées en blocs , des régions rectangulaires dans le domaine des ondelettes. Elles sont généralement sélectionnées de manière à ce que les coefficients qu'elles contiennent forment approximativement des blocs spatiaux dans le domaine de l'image (reconstruite) et sont regroupés dans un macrobloc de taille fixe .
L'encodeur doit encoder les bits de tous les coefficients quantifiés d'un macrobloc, en commençant par les bits de poids fort et en progressant vers les bits de poids faible. Lors de cet encodage, chaque plan de bits du macrobloc est encodé en deux passes : une première passe encodage des bits de poids fort, suivie d'une seconde passe d'affinage de ces mêmes bits. En mode sans perte, tous les plans de bits doivent être encodés et aucun ne peut être omis.
Seuls les coefficients significatifs sont compressés à l'aide d'un codeur RLR ( Run-Length/Rice adaptatif), car ils contiennent de longues séquences de zéros. Le codeur RLR de paramètre k (longueur logarithmique d'une séquence de zéros) est également connu sous le nom de code de Golomb élémentaire d'ordre 2k .
Comparaison avec d'autres formats de fichiers
- Le format JPEG 2000 est légèrement plus économe en espace pour le traitement des images naturelles. À taux de compression égal, son PSNR est en moyenne 3 % supérieur à celui du format PGF. Il offre un léger avantage en termes de taux de compression, mais avec des temps d'encodage et de décodage plus longs.
- Le format PNG (Portable Network Graphics) est plus économe en espace pour la gestion des images comportant de nombreux pixels de la même couleur.
Le format PGF présente plusieurs avantages auto-proclamés par rapport à la norme JPEG ordinaire :
- Performances de compression supérieures : La qualité d’image (mesurée en PSNR ) pour un même taux de compression est en moyenne 3 % meilleure que le PSNR du JPEG. À des débits binaires plus faibles (par exemple, inférieurs à 0,25 bit/pixel pour les images en niveaux de gris), le PGF présente un avantage bien plus significatif par rapport à certains modes du JPEG : les artefacts sont moins visibles et le blocage est quasi inexistant. Ces gains de compression par rapport au JPEG sont attribués à l’utilisation de la DWT .
- Représentation multi-résolution : PGF assure une compression transparente de plusieurs composantes d’image, chaque composante transportant de 1 à 31 bits par échantillon. Grâce à cette fonctionnalité, il n’est plus nécessaire de stocker séparément les images de prévisualisation ( vignettes ).
- La transmission progressive par résolution, aussi appelée décodage progressif, permet une organisation efficace des flux de code, progressive selon la résolution. Ainsi, après la réception d'une petite partie du fichier, la qualité de l'image finale est inférieure, puis elle s'améliore progressivement à mesure que l'on reçoit davantage de données de la source.
- Compression sans perte et avec perte : PGF propose une compression sans perte et avec perte au sein d’une architecture unique. Ces deux types de compression sont obtenus grâce à l’utilisation d’une transformée en ondelettes réversible (entière).
- Informations spatiales des canaux latéraux : Les plans de transparence et alpha sont entièrement pris en charge
- Extraction de ROI : Depuis la version 5, PGF prend en charge l'extraction de régions d'intérêt ( ROI ) sans décoder l'image entière.
Logiciels disponibles
L'auteur a publié libPGF via SourceForge , sous la licence publique générale limitée GNU version 2.0. Xeraina propose un encodeur et décodeur console Windows gratuit, ainsi que des visionneuses PGF basées sur WIC pour les plateformes Windows 32 bits et 64 bits. D'autres applications WIC, dont l'Explorateur de fichiers, peuvent afficher des images PGF après l'installation de cette visionneuse.
Digikam est un logiciel libre et populaire de traitement et de catalogage d'images qui utilise libPGF pour ses vignettes. Il exploite le décodage progressif des images PGF pour stocker une seule version de chaque vignette, qui peut ensuite être décodée à différentes résolutions sans perte. Les utilisateurs peuvent ainsi modifier dynamiquement la taille des vignettes sans avoir à les recalculer.
Plus d articles de Worldlex Wiki
Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.
Explorer l index