JPEG est-il sans perte lorsque la qualité est définie sur 100?

Je comprends que JPEG est une norme de compression avec perte, et que le facteur "qualité" contrôle le degré de compression et donc la quantité de perte de données.

Mais lorsque le nombre de qualité est défini sur 100, le jpeg résultant est-il sans perte?

55
demandé sur koan 2011-11-02 18:56:33

4 réponses

Comme correctement répondu ci-dessus, l'utilisation d'un encodeur JPEG "typique" à la qualité 100 ne vous donne pas de compression sans perte. L'encodage JPEG sans perte existe, mais il est de nature différente et rarement utilisé.

Je poste juste pour dire pourquoi quality 100 ne signifie pas lossless .

En compression JPEG, les informations sont principalement perdues lors de l'étape de quantification du coefficient DCT (les blocs de coefficient 8 par 8 sont divisés par une table de quantification 8 par 8, de sorte qu'ils deviennent plus petits-> ' more compressible"). Lorsque vous définissez la qualité JPEG Sur 100, aucune quantification réelle n'a lieu (car la table de quantification sera toutes les 1s, au moins avec les tables IJG-JPEG standard), donc en fait vous ne perdez pas d'informations ici..

Cependant, il y a principalement deux facteurs conduisant à la perte d'information même si aucune quantification n'a lieu:

  1. Typiquement, la compression JPEG réduit les informations de couleur (car le système visuel humain est moins senstitif à cela qu'à la lumimance). Donc, même à la qualité 100, Vous pouvez effectuer un sous-échantillonnage de chrominance (ce qui signifie, en laissant tomber la moitié ou plus des coefficients Cb et Cr). Lorsque cela se produit, l'information est perdue, même si aucune quantification ne se produit. Cependant, vous pouvez dire à l'encodeur de préserver la chromimance complète (ce qu'on appelle l'échantillonnage de couleurs 4:4:4).
  2. néanmoins, l'encodage JPEG implique d'aller dans le domaine DCT, ce qui provoque l'arrondi des coefficients. L'arrondi élimine certaines informations. Cela se produira indépendamment de tous les autres option.
18
répondu Marco Fontani 2018-02-02 08:43:08

Jpeg est avec perte quel que soit le paramètre. À 100, vous obtenez juste le moins de perte possible.

C'est assez facile à tester. Fouet en place un système simple .BMP, compresser cela à un Q = 100 jpeg, puis ré-extraire à un .bmp. Utilisez Gimp / Photoshop pour faire une "différence" des deux bitmaps, et vous verrez la perte-ce sera beaucoup moins perceptible que sur une conversion q=50 ou q=1, mais toujours présent.

57
répondu Marc B 2011-11-02 14:58:38

Il existe une forme sans perte de JPEG mais elle n'est pas largement supportée et vous ne l'obtenez pas en modifiant le paramètre de qualité - c'est un processus entièrement différent.

21
répondu Mark Ransom 2011-11-07 16:57:52

Selon wikipedia, Non.

Jpeg 100 a un taux de compression de 2,6:1. La méthode de compression est généralement avec perte, ce qui signifie que certaines informations d'image originales sont perdues et ne peuvent pas être restaurées, ce qui peut affecter la qualité de l'image.

Il existe un mode optionnel sans perte défini dans la norme JPEG; cependant, ce mode n'est pas largement pris en charge dans les produits.

0
répondu Mark Price 2015-08-19 23:40:12