CNX2 (CNXD) : profile couleur enregistré dans une zone incongrue pour les JPEG ?

Démarré par zuiko, Mars 17, 2019, 00:09:18

« précédent - suivant »

zuiko

Vous allez sans doute trouver ma question surprenante après tant d'années d'existence et d'utilisation de Capture NX2 (maintenant obsolète malheureusement).
Mais comme je viens de passer du D90 au D7200 et que je tiens à continuer à utiliser CNX2 grâce à RAW2NEF, je suis amené à me reposer des questions de base qui ne m'effleuraient plus.

Travaillant dans l'espace de travail Adobe RVB pour mes NEFs issus de RAW2NEF, je suis naturellement amené à exporter des JPEG (rien de changé par rapport au D90).
J'utilise pour ce faire un traitement par lot qui procède à une étape de conversion au profile sRGB IEC61966-2.1 puis convertit en JPEG (en cochant d'insérer le profile) à la compression qui me convient.
Je n'ai aucune surprise colorimétrique à la visualisation de mes photos sur le web ou ailleurs, là n'est pas le problème.

Par contre par hasard, j'ai fait un clic droit/propriétés sur un fichier JPEG ainsi obtenu et à ma grande surprise, je constate  que l'information qui s'affiche sous Windows à l'onglet détails la ligne "Représentation des couleurs" présente l'information "non calibré"

Ce détail auquel je n'avais jamais pris garde m'a intrigué et j'ai voulu savoir où était donc logé mon profile pourtant inséré quelque part.
Ouvrant l'image sous Photoshop, en l'occurrence sur ce PC c'est PSE mais çà ne change rien, j'ai fait afficher les informations (ficher/informations) de l'image au format "données brutes" pour pouvoir faire une recherche sur texte.
Les données s'affichent au format XMP et je découvre avec soulagement  que mon profile est bien inclu mais pas vraiment à une place, selon moi, très standard :

Voici la rubrique intégralement recopiée :
Citation
      <rdf:Description rdf:about=""
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
         <photoshop:AuthorsPosition>Photographe</photoshop:AuthorsPosition>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
      </rdf:Description>
On voit donc qu'elle est spécifique Photoshop !

Par contre la zone EXIF standard comporte laconiquement l'info :
Citation
<exif:ColorSpace>65535</exif:ColorSpace>
Ce qui est traduit par Windows par "non calibré", 65535 correspondant à une zone binaire où tous les bits sont à 1 (exactement : 1111111111111111).

Les questions que je me posent à la suite de ce constat, c'est l'interprétation colorimétrique que les différents dispositifs (hors Photoshop puisqu'il reconnait bien l'info comme j'ai pu le voir dans les options de conversion possibles) auront de mon image :
- quid de Windows et autres OS ?
- quid du Web ?
- quid des différents programme amenés à la traiter ?

Tant que je n'avais pas constaté ce phénomène, çà ne m'empêchait pas de dormir mais là, je suis Perplexe...
Si quelqu'un a des infos, je suis preneur.

Désolé pour l'archéologie, mais bon, çà peut servir pour comprendre des programmes plus actuels,
j'ai fait un essai avec CNXD, le comportement est exactement le même...  :)

PS : (c'est le cas de le dire !) j'ai fait un essai "d'enregistrer sous" avec PSE après avoir réduit l'image et oh surprise :
Les 1ères infos n'ont pas changé :
Citation
      <rdf:Description rdf:about=""
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
         <photoshop:AuthorsPosition>Photographe</photoshop:AuthorsPosition>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
      </rdf:Description>

Par contre dans la zone Exif standard on a :
Citation
<exif:ColorSpace>1</exif:ColorSpace> qui est traduit par Windows en sRVB

J'ai donc l'impression que PSE fait mieux le travail que CNX2 / CNXD...

Il y a surement parmi vous quelqu'un de pointu concernant l'enregistrement des profiles dans les Exifs ainsi que des conséquences attendues !

zuiko

De fait, je me demande même, à la réflexion, si cela sert à quelque chose d'insérer un profile sRGB dans un JPEG... dont l'information est finalement dédiée à Photoshop.
Que se passe-t-il, si on n'insère pas de profile à la génération du JPEG via CNX2 / CNXD, ne serait-ce pas sRGB qui serait pris par défaut (pour affichage etc...) ?
Pourquoi ne pas faire simple, si c'est possible...

Verso92

Citation de: zuiko le Mars 17, 2019, 01:08:44
De fait, je me demande même, à la réflexion, si cela sert à quelque chose d'insérer un profile sRGB dans un JPEG... dont l'information est finalement dédiée à Photoshop.
Que se passe-t-il, si on n'insère pas de profile à la génération du JPEG via CNX2 / CNXD, ne serait-ce pas sRGB qui serait pris par défaut (pour affichage etc...) ?
Pourquoi ne pas faire simple, si c'est possible...

Si on insère pas de profil, il n'y aura pas de gestion de couleur, et ça risquera de partir en cacahuètes...

andreP

En regardant plusieurs photos développées avec les logiciels CaptureNX-D et CaptureNX-2, il s'avère effectivement que le champ espace colorimétrique du groupe Exif-Standard n'est pas renseigné mais on trouve l'info correcte dans le groupe Maker-Notes Nikon, ce qui peut sembler compréhensible pour un développement avec un logiciel Nikon. Par contre pour les photos issues de DXO le champ dans le groupe Exif-Standard est bien renseigné, à noter que le groupe Maker-Notes Nikon est très logiquement absent.
André

zuiko

Citation de: Verso92 le Mars 17, 2019, 09:36:37
Si on insère pas de profil, il n'y aura pas de gestion de couleur, et ça risquera de partir en cacahuètes...

Oui bien sûr c'est ce qu'on dit, mais ce que j'aimerais comprendre c'est comment çà marche.  Est-ce que tous les logiciels de la terre affichant/traitant des images se servent du champ visiblement formaté à l'usage, au moins à l'origine, de Photoshop, ou tentent d'exploiter le champ Exif standard qui manifestement est dans l'incapacité de stocker la totalité du nom du profile sur 16 bits mais le transforme (comment ?) en un codage numérique (1 = sRGB) ? Quels sont les conséquences de l'absence de renseignement du champ Exif standard ? Je ne vais tout de même pas repasser toutes les photos dans Photoshop pour avoir ce champ rempli !

Citation de: andreP le Mars 17, 2019, 10:09:28
En regardant plusieurs photos développées avec les logiciels CaptureNX-D et CaptureNX-2, il s'avère effectivement que le champ espace colorimétrique du groupe Exif-Standard n'est pas renseigné mais on trouve l'info correcte dans le groupe Maker-Notes Nikon, ce qui peut sembler compréhensible pour un développement avec un logiciel Nikon. Par contre pour les photos issues de DXO le champ dans le groupe Exif-Standard est bien renseigné, à noter que le groupe Maker-Notes Nikon est très logiquement absent.

Je n'ai pas trouvé, formellement, le groupe Maker-Notes Nikon (avec un profile ?) dans le codage XMP, peux-tu coller ici le bout de code correspondant ?
Quand tu dis :
Citation"les photos issues de DXO le champ dans le groupe Exif-Standard est bien renseigné"
veux-tu dire que tu peux lire :
Citation<exif:ColorSpace>1</exif:ColorSpace>
?

A noter : quand, avec Photoshop on utilise "Enregistrer pour le web" : toutes les données Exifs sont supprimées dans le fichier résultant, donc le profile colorimétrique avec et j'ai la conviction que dans ce cas rien ne "part en cacahuètes", c'est sans doute sRGB qui est utilisé pour l'affichage etc... Si tant est que la photo d'origine était déjà avec ce profile avant génération.

Verso92

Citation de: zuiko le Mars 17, 2019, 11:29:52
Oui bien sûr c'est ce qu'on dit, mais ce que j'aimerais comprendre c'est comment çà marche.  Est-ce que tous les logiciels de la terre affichant/traitant des images se servent du champ visiblement formaté à l'usage, au moins à l'origine, de Photoshop, ou tentent d'exploiter le champ Exif standard qui manifestement est dans l'incapacité de stocker la totalité du nom du profile sur 16 bits mais le transforme (comment ?) en un codage numérique (1 = sRGB) ? Quels sont les conséquences de l'absence de renseignement du champ Exif standard ? Je ne vais tout de même pas repasser toutes les photos dans Photoshop pour avoir ce champ rempli !

Pour illustrer l'absence de gestion de couleur, voir ci-dessous.

La photo du clown est en sRVB mais, apparemment, quand elle est affichée dans la page de mon site, le profil n'est pas vu.

http://verso.fab.free.fr/picture.php?/408/category/30


1 - avec Firefox configuré de sorte à ce que toute image n'ayant pas de profil couleur est "forcée" en sRVB.

2 - avec Firefox "par défaut" (soit pas de gestion de couleur si pas de profil).

andreP

J'ai examiné mes fichiers avec ExifToolGUI, je ne vois donc pas les balises que tu indiques. Voici une copie écran du ce que j'obtiens.
André

zuiko

Citation de: andreP le Mars 17, 2019, 11:49:24
J'ai examiné mes fichiers avec ExifToolGUI, je ne vois donc pas les balises que tu indiques. Voici une copie écran du ce que j'obtiens.

Effectivement, je crois avoir compris certaines choses... grâce à ExifToolGUI que je n'avais pas fait tourner depuis un bon moment, il ne fonctionnait plus sous Windows 10, mais en fait il me suffisait de le lancer en mode administrateur...

Premier constat : Photoshop n'affiche pas les infos brutes au format XMP mais une interprétation de ces mêmes infos en les présentant suivant son propre protocole XMP (j'aurais dû m'en douter !).
Par exemple dans le code
Citation<photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
c'est Photoshop qui semble ajouter... photoshop.
Sous ExifToolGUI (affichage All) le vrai champ se trouve dans la rubrique ICC ProfileDescription, ce qui est beaucoup plus neutre.

Deuxième constat : dans la rubrique ExifIFD ColorSpace est bien à Uncalibrated en sortie de CNX2/CNXD.
Ce qui n'a peut-être aucune importance (?) bien que d'autres programmes renseignent aussi cette info, ce qui me semble plus sécurisant.
Serait-il plus prudent de le positionner à 1 via ExifToolGui qui le permet ? Cela ne permettrait-il pas à Firefox de fonctionner automatiquement, par exemple ? Tout çà dépend des informations sur lesquelles Firefox se base : rubrique ICC ProfileDescription et/ou ExifIFD ColorSpace...

Ce qui est dommage, c'est que sous ExifToolGUI, on n'accède semble-t-il pas à la totalité des informations brutes au format code XMP... Elles sont toujours mises en forme pour facilité de lecture.
Il faudrait sans doute se servir directement d'exiftool en mode ligne de commande (ce qui est aussi possible directement à partir d'ExifToolGUI), ce sera pour une prochaine fois ;)

zuiko

Citation de: Verso92 le Mars 17, 2019, 11:48:44
Pour illustrer l'absence de gestion de couleur, voir ci-dessous.
La photo du clown est en sRVB mais, apparemment, quand elle est affichée dans la page de mon site, le profil n'est pas vu.
http://verso.fab.free.fr/picture.php?/408/category/30
1 - avec Firefox configuré de sorte à ce que toute image n'ayant pas de profil couleur est "forcée" en sRVB.
2 - avec Firefox "par défaut" (soit pas de gestion de couleur si pas de profil).

C'est tout à fait flagrant et j'avais déjà constaté çà et appliqué ce réglage à mon propre Firefox.
Par contre la limite est que tu ne peux pas garantir que tous ceux qui regardent ta galerie ont mis en place ce réglage Firefox, ni à l'abri d'un autre bug d'un quelconque navigateur...

Ce qui pourrait être intéressant, pour voir si cela contournerait ce bug de Firefox, ce serait de positionner pour cette photo le paramètre standard ExifIFD ColorSpace à 1 (sRVB) et voir ce qui se passe avec un Firefox non "configuré de sorte à ce que toute image n'ayant pas de profil couleur est "forcée" en sRVB". (avant l'essai il faudrait purger le cache bien entendu).

D'ailleurs, vu le nombre de photos sans profile sur le web , je ne comprends pas que ce réglage Firefox ne soit pas celui par défaut.


Jean-Claude

La réponse est simple.

Un fichier image comporte deux emplacements pour des balises d'espace couleur

1ère balise, celle de l'option d'espace à la prise de vue, qui est immuable et ne peut plus être bougée
C'est cet espace qui est pris par défaut en espace de travail lorsque l'on ouvre un NEF dans Capture (ou un JPEG de boitier)

2ème balise, celle du fichier exporté qui peut être différente. Par exemple, un NEF shooté avec l'option Adobe RGB, puis sauvegardé en JPEG sRGB garde la balise adobe dans les données de prise de vue, mais affiche bien sRGB dans la balise de fichier.

Les problèmes d'affichage surviennent lorsque un logiciel d'affichage un peu simpliste ne se base que sur la balise de prise de vue, et ignore celle du fichier ou au lieu de prendre sRGB en cas de défaut de balise de fichier (export JPEG sans profil) il prend la balise de prise de vue qui ne correspond pas aux données du fichier exporté.