Citation Envoyé par francoistn Voir le message
Non même pas ..La je parle pour le "tout venant "
Franchement je ne comprends pas ? ??
Là, je peux répondre à la question. Juste parce que du jpeg, j'en fais depuis trente ans... et que donc je me suis intéressé au problème de l'algorithme expressément à cause du poids des fichiers.

Donc pour résumer:

- Peu importe d'où qu'elles viennent, deux images de 18 mpx ont exactement la même taille numérique. En RVB: 18 millions x 8 (bit de codage par canal on ne parle pas du Raw de base qui peut faire 14 bit) x 3 (R, V & B). Soit 54 Mégaoctets, ou 432 millions de binons (en français, bit en anglais)
En CMYK on multiplie par 4 au lieu de 3.

- Tout commence à s'agiter avec le jpg.
Le principe de base du jpg (je ne vais pas en rappeler l'histoire, hein, ça se trouve sur internet), est de créer des rectangles (pour mémo, un carré reste un rectangle, donc 2 x 2 pixels, c'est aussi un rectangle) dont les valeurs sont proches afin de réduire le nombre de zone à coder.

Le taux de compression définit la latitude de la zone de rectangle ou la différence tolérée entre deux pixels pour qu'ils puissent faire partie d'un même rectangle.

A compression zéro, il ne peut pas y avoir de différence, les pixels d'un même rectangle doivent avoir exactement la même valeur, donc pas de perte à la décompression.
Dès qu'on augmente la compression, on augmente la tolérance et les rectangles s'agrandissent. A la décompression, on ne récupère évidemment pas les valeurs d'origine qui ont été modifiées par l'algorithme, c'est définitif.
Dès le premier degré de compression, l'algorithme tolère une différence entre deux pixels jointifs et agrandit des rectangles. Il y a donc déjà compression destructive à 9 au lieu de 10.

Alors pourquoi, deux images de même taille compressées au même taux peuvent avoir des poids différents?

Eh, bien, c'est très simple. Parce que les images ne sont pas identiques.

Deux images différentes à compression zéro vont donner deux fichiers jpg de poids différent. Et là, tout dépendra des zones unies. Imaginons un ciel bleu avec des nuages, l'algorithme va y trouver des rectangles unis de bleu, de blanc ou de gris.
Prenons par exemple une feuille blanche photographiée avec un éclairage uniforme. Il est possible que dans l'absolu, l'algorithme ne détecte qu'une seule valeur et donc un seul rectangle uniforme.

Autre exemple et test facile à faire, photographier dans le noir total. Ce fichier noir, donnera pareil. Et là la génération de bruit par le capteur va déterminer des rectangles additionnels correspondant aux points de bruit et alourdir le fichier en jpg au prorata inverse de la compression.
Un point de bruit va définir un rectangle. Selon le taux de compression, ce point de bruit va être englobé ou non dans un rectangle plus grand mais probablement pas, car les points de bruit sont très éloignés des valeurs courantes de l'image.

Autre exemple, une photo de paysage avec des feuillages très détaillés. Compliqué pour l'algorithme d'y trouver des rectangles plus grands qu'un ou deux pixels de côté. Donc, le fichier sera plus lourd. La qualité de l'optique permettant de discriminer les détails de l'image et donc la netteté du feuillage aura une incidence directe sur le poids du fichier jpg.

L'optique et le capteur, par leur capacité discriminante, joueront un rôle aussi important que le taux de compression de l'algorithme dans le poids du fichier jpg.
CQFD.