| Ars Magna |
ezzz a écrit :
Bah si justement, même en enregistrant en qualité 100% tu dégrades ton image :/
La rotation sous ACDSee est un algo bien particulier, spécial jpeg, de telle sorte que le rééchantillonage lors de la recompression ne dégrade pas le moindre pixel. D'ailleurs il me semble que le fichier rotaté est plus gros que l'original...
(c'est pas très clair mais j'me comprends :o)
|
En fait c'est plus simple que ça : de par le processus de stockage des informations durant la création d'un fichier Jpeg (découpage en blocks de x pixels, simplifiés=dégradés=compressés séparément suivant un 'quotient' laissé au choix de l'utilisateur, puis à nouveau compressés mais cette fois-ci sans perte), il suffit de modifier l'ordre de ces blocks au sein du fichier, puis l'ordre des données au sein de chaque block, pour appliquer une rotation/inversion à toute l'image. C'est donc théoriquement totalement lossless, seul l'ordre des données change.
Le seul problème survient lorsque l'image comporte un nombre non entier de blocks (par exemple, pour une image de 84 pixels de large : 10 blocks de 8 pixels + 4 pixels au bout, autrement dit un demi-block).
A ce moment là, l'inversion des 4 pixels ''surnuméraire'' ne peut être effectuée simplement. En pareil cas, une possibilité est d'éliminer purement et simplement ces 4 pixels, inutilisables. La transformation est lossless au niveau du reste de l'image, sauf qu'elle est moins large à l'arrivée, il manquera 4 pixels au bord [:spamafote]
(C'est schématisé, que les spécialistes de l'algorithme me pardonnent ;))
Par ailleurs, pour le problème de la 'qualité' Jpeg : chaque logiciel utilise son propre algo de compression (le standard Jpeg en inclut une quantité, une certaine variabilité est tolérée). Le paramètre sur lequel on influe couramment est le quantificateur ; suivant les logiciels il est dénommé 'Qualité', 'Compression'... avec une échelle soit objective (réglage direct du quantificateur appliqué à la matrice de transformation des blocks), soit subjective (qualité de 1 à 12... chaque niveau correspondant à un quantificateur non précisé).
Dans tel logiciel, 'qualité 100%' correspondra à 'quantificateur 2', dans tel autre 'qualité 10/10' correspondra à 'quantificateur 2.5' et ainsi de suite... mais à chaque fois les données déjà existantes sont à nouveau passées à la moulinette d'un algo. Le seul cas théorique où, en compressant plusieurs fois successives, on ne devrait observer aucun changement, c'est en appliquant un même quantificateur très élevé (q=1 ... lossless) avec exactement le même algo du même logiciel. Théoriquement. Dans la pratique, en enregistrant 10 fois de suite un Jpeg en qualité 100%, on aboutira le plus souvent à une dégradation - même minime. |