OVH Cloud OVH Cloud

A propos de JPEG et de matrices de quantification

9 réponses
Avatar
BROTO Laurent
Bonjour,

je voudrais rebondir sur le thread précédent concernant le JPEG.

Il y a quelque chose qui m'a toujours interpellé dans les logiciels qui
traitent du JPEG: il parlent tous d'UN facteur de qualité...

Oui mais voilà, le JPEG possède souvent deux paramètres qui pourraient
s'apparenter à un facteur de qualité: une matrice de quantification pour
la luminance et une pour les chrominances.

De plus, ces matrices de quantification peuvent contenir n'importe quoi
à l'intérieur, celles-ci n'étant pas, si ma mémoire ne me trahit pas,
définient dans les specs du JPEG.

Bref, ma question est la suivante: à quoi correspond exactement le
facteur de qualité et y a t'il un moyen documenté pour retrouver les
matrices de quantification en fonction de ce facteur ?

De plus, ces facteurs de qualité sont-ils normalisés ? Si oui, où ?

Cordialement,

-- Laurent

9 réponses

Avatar
Arkanode
"BROTO Laurent" a écrit dans le message de
news: 41e2f985$0$11965$
Bonjour,

je voudrais rebondir sur le thread précédent concernant le JPEG.

Il y a quelque chose qui m'a toujours interpellé dans les logiciels qui
traitent du JPEG: il parlent tous d'UN facteur de qualité...

Oui mais voilà, le JPEG possède souvent deux paramètres qui pourraient
s'apparenter à un facteur de qualité: une matrice de quantification pour
la luminance et une pour les chrominances.

De plus, ces matrices de quantification peuvent contenir n'importe quoi à
l'intérieur, celles-ci n'étant pas, si ma mémoire ne me trahit pas,
définient dans les specs du JPEG.

Bref, ma question est la suivante: à quoi correspond exactement le facteur
de qualité et y a t'il un moyen documenté pour retrouver les matrices de
quantification en fonction de ce facteur ?

De plus, ces facteurs de qualité sont-ils normalisés ? Si oui, où ?


Une image "naturelle" est tranformée de RVB en YIQ (luminance + chrominance
I + chrominance Q) car il est constaté que l'importance de ces trois
paramètres décroit en valeur numérique avant tranformation en cosinus
discrète.
Le jeu de matrices de mantisses de quantification a été obtenu en faisant
des essais sur de nombreuses images en en mesurant la valeur moyenne de
l'écart sur les images reconstituées (une moyenne de 1 quantum d'écart par
pixel).
Le jeu choisi dépend aussi de facteurs de qualité intrinsèques à l'image,
l'"énergie" contenue dans la matrice de 8x8 est calculée afin de choisir une
matrice pertinente (possédants des mantisses de plus ou moins grande taille
dans toutes les fréquences spatiales).
Ces jeux sont forcément standards si l'on veut décoder les images JPEG.
Si tu tombes sur un fichier .H accompagnant une librairie de codage-décodage
jpeg, tu auras ces matrices... il doit bien y en avoir en open-source.

Avatar
Jean-Pierre Gallou

Bref, ma question est la suivante: à quoi correspond exactement le facteur de
qualité et y a t'il un moyen documenté pour retrouver les matrices de
quantification en fonction de ce facteur ?


Plein d'explications là:
<http://fr.wikipedia.org/wiki/Compression_JPEG>

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

Avatar
FiLH
"Arkanode" writes:
Ces jeux sont forcément standards si l'on veut décoder les images JPEG.


D'après mes infos, il est cependant possible d'insérer dans les
entêtes JPEG une matrice de quantification alternative à utiliser
pour le décodage.
En pratique c'est la matrice standard.

FiLH

--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/

Avatar
Arkanode
"Jean-Pierre Gallou" a écrit dans le message de
news:

Bref, ma question est la suivante: à quoi correspond exactement le
facteur de qualité et y a t'il un moyen documenté pour retrouver les
matrices de quantification en fonction de ce facteur ?


Plein d'explications là:
<http://fr.wikipedia.org/wiki/Compression_JPEG>


Oui, mais rien sur les diagrammes papillon permettant de diminuer la
complexité du calcul ni les matrices standard de codage.


Avatar
Arkanode
"FiLH" a écrit dans le message de news:

"Arkanode" writes:
Ces jeux sont forcément standards si l'on veut décoder les images JPEG.


D'après mes infos, il est cependant possible d'insérer dans les
entêtes JPEG une matrice de quantification alternative à utiliser
pour le décodage.
En pratique c'est la matrice standard.


Voici ce que l'on trouve dans la norme T81, j'ai pas le temps de lire les
182 pages mais le moins que l'on puisse dire, c'est que ça n'est pas très
directif...

K.1 Quantization tables for luminance and chrominance components
Two examples of quantization tables are given in Tables K.1 and K.2. These
are based on psychovisual thresholding and are derived empirically using
luminance and chrominance and 2:1 horizontal subsampling. These tables are
provided as examples only and are not necessarily suitable for any
particular application. These quantization values have been used with good
results on 8-bit per sample luminance and chrominance images of the format
illustrated in Figure 13. Note that these quantization values are
appropriate for the DCT normalization defined in A.3.3.
If these quantization values are divided by 2, the resulting reconstructed
image is usually nearly indistin¬guishable from the source image.
Table K.1 - Luminance quantization table

16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99

Table K.2 - Chrominance quantization table

17 18 24 47 99 99 99 99
18 21 26 66 99 99 99 99
24 26 56 99 99 99 99 99
47 66 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99


Avatar
Arkanode
Chui déçu, après examen plus approfondi de la norme, il semble que les
tables de quantification ne soient pas adaptatives.

Il peut y en avoir quatre (pour quatre composants couleurs) et elles sont
fixées par l'encodeur.

Le taux de qialité de compression est donc maîtrisé au travers du choix du
codeur de l'image et n'a rien de normalisé. D'ou la différence de résultat
en fonction des logiciels.
Et il semblerait que cela suffise...
Avatar
Pierre CHAUVEAU
"Arkanode" a écrit dans le message de
news:41e4118c$0$6421$
"Jean-Pierre Gallou" a écrit dans le message de
news:

Oui, mais rien sur les diagrammes papillon permettant de diminuer la
complexité du calcul ni les matrices standard de codage.

En ce qui concerne les algo papillon, ce doit être les mêmes que ceux

employés pour les FFT (Fast Fourier Transform). Je pense qu'en faisant une
recherche avec FFT et butterfly on doit trouver ces algo. Ou alors poser la
question sur le forum "fr.comp.algorithmes".

Après lecture de l'article sur Wikipedia, de ce que j'ai compris, c'est une
méthode qui est proposée et au niveau des tables de quantification, il ne
semble pas y avoir d'imposition mais seulement des préconisations. Je pense
que si on trouve des écarts sur des fichiers de même facteur de qualité, il
viennent principalement du choix par les uns et les autres de ces tables.
Des erreurs plus minimes peuvent être introduites par des problèmes de
troncature qui diffèrent en fonction de l'implantation des algorithmes.

Cordialement.

Pierre.

Avatar
Arkanode
"Pierre CHAUVEAU" a écrit dans le message de
news: 41e441aa$0$8023$
Après lecture de l'article sur Wikipedia, de ce que j'ai compris, c'est
une
méthode qui est proposée et au niveau des tables de quantification, il ne
semble pas y avoir d'imposition mais seulement des préconisations. Je
pense
que si on trouve des écarts sur des fichiers de même facteur de qualité,
il
viennent principalement du choix par les uns et les autres de ces tables.
Des erreurs plus minimes peuvent être introduites par des problèmes de
troncature qui diffèrent en fonction de l'implantation des algorithmes.


C'est ce que je conclus aussi.
Pour aller au delà, il faudra soit lire une librarie de
compression-décompression soit regrder un JPEG en hexa pour repérer les
marqueurs et l'organisation de l'image (une sorte de TLV spécifique)....

Avatar
filh
Arkanode wrote:

Pour aller au delà, il faudra soit lire une librarie de


Une bibliothèque.

compression-décompression soit regrder un JPEG en hexa pour repérer les
marqueurs et l'organisation de l'image (une sorte de TLV spécifique)....


libjepg6.16 est dispo.

FiLH

--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org