Courbe de correction gamma

Démarré par lawre51, Juin 25, 2018, 10:38:33

« précédent - suivant »

lawre51

Bonjour à tous.

Deux articles intéressants sur la correction gamma et la courbe de transfert que je vous transmet

http://pics.idemdito.org/fr/tech/ordi/gamma.htm

http://pics.idemdito.org/fr/tech/physique/fonction.htm
On y lit que la correction gamma 0,45 est utilisée pour corriger la non linéarité des écrans. Celle ci est systématiquement appliquée lors de l'encodage jpeg et est devenue une norme. Raison pour laquelle il est nécessaire de fixer le gamma de l'écran à une valeur correcte lors de l'étalonnage. Afin que ces deux fonctions réciproques s'annulent. On y lit que cela permet de mieux coller à la perception de la vue ou à l'impression des films argentiques. Ma première question est pourquoi cela colle mieux à la perception de notre vue ?

Le second article traite de la fonction de transfert. Lors de l'encodage en 8 bits il est nécessaire d'appliquer cette fonction qui tend à comprimer les hautes et basses lumières. Et surtout de ne pas coder les tons les plus sombres qui ne contiennent que du bruit photonique.
Ma seconde question est quelle différence ou rapport entre cette fonction de transfert et la correction gamma ? Merci beaucoup pour vos explications

egtegt²

Pour la différence entre la fonction de transfert et la correction gamma, à mon avis c'est très proche mais la différence, c'est que la correction gamme correspond à une forme de courbe définie uniquement par son facteur gamma qui correspond à la pente au centre.

Une fonction de transfert peut elle avoir une forme différente et s'adapte à la réponse réelle du capteur. Par exemple si tu as un capteur avec une réponse non linéaire, la courbe va devoir s'adapter pour rendre sa réponse linéaire.

Pour l'adaptation aux yeux, j'ai un doute car j'ai du mal à comprendre la logique : si le capteur est linéaire et qu'on affiche sur un écran linéaire, l'image va être la même que la réalité, donc pourquoi faudrait-il une correction autre que celle induite par la réponse de l'écran ?

lawre51

Merci pour ta réponse.
j'avais bien le sentiment que la courbe gamma et la courbe en s étaient utilisées pour des raisons différentes. J'ai eu le doute car on lit partout que la courbe de correction gamma et la courbe de transfert sont exactement la même chose. Il suffit de regarder leur forme pour comprendre que c'est pas vrai. Donc si je comprends bien, il y aurait deux courbes appliquées lors de l'encodage en jpeg tiff.
est-ce bien cela.

Ta remarque sur la captation linéaire et reproduction linéaire (gamma de 2.2 + gamma de 0,45) amène une réalité proche de la réalité. Comme toi je ne comprends pas en quoi la correction gamma est proche de la perception humaine. Je le lit partoit, y compris chez les grands rédacteurs comme messieurs volker et autres.

Quelqu'un aurait il une réponse aux questions que je pose.

lawre51

Pour la première question peut-être faut il comprendre que sans la corection gamma (profil linéaire) l'image affichée sera trop sombre. Du coup il faut peut-être comprendre que grâce à cette correction gamma, l'image reprend une forme naturelle conforme à notre vision. Je dis peut-être....

Verso92

#4
Intéressant ce fil : je me pose exactement le même genre de questions...  ;-)


Citation de: egtegt² le Juin 25, 2018, 11:36:47
Pour la différence entre la fonction de transfert et la correction gamma, à mon avis c'est très proche mais la différence, c'est que la correction gamme correspond à une forme de courbe définie uniquement par son facteur gamma qui correspond à la pente au centre.

D'après ce que j'ai compris, la courbe de gamma est liée au moniteur (gamma = 2.2), et la courbe de transfert, qui présente le gamma inverse, est liée à l'image, de façon à linéariser le résultat final visualisé...

http://www.blog-couleur.com/?Qu-est-ce-que-le-gamma

Jean-Claude

Je crois que la réponse la plus courte consiste à dire que nos électroniques sont linéaires alors que notre oeil ne l'est pas.
Il faut donc d'un côté accorder le fichier brut linéaire à notre oeil lors de la derawtisation par une courbe avec un certain gamma et d'un autre côté il faut aussi accorder l'écran à notre  oeil par une autre courbe avec un certain gamma.

Au contraire en argentique on arrivait à faire fonctionner la chimie film de façon non linéaire avec une courbe proche de celle de notre oeil donc pas de correction à postériori ( on arrivait tout de même à contrôler le gamma au développement  noir et blanc).

dioptre

A mon avis le gamma tel qu'on l'entend en électronique n'a rien à voir avec le gamma en photo argentique défini comme le rapport entre l'accroissement de densité à l'accroissement correspondant du log de l'expo dans la partie linéaire de la courbe

egtegt²

Citation de: Jean-Claude le Juin 25, 2018, 20:59:22
Je crois que la réponse la plus courte consiste à dire que nos électroniques sont linéaires alors que notre oeil ne l'est pas.
Il faut donc d'un côté accorder le fichier brut linéaire à notre oeil lors de la derawtisation par une courbe avec un certain gamma et d'un autre côté il faut aussi accorder l'écran à notre  oeil par une autre courbe avec un certain gamma.

Au contraire en argentique on arrivait à faire fonctionner la chimie film de façon non linéaire avec une courbe proche de celle de notre oeil donc pas de correction à postériori ( on arrivait tout de même à contrôler le gamma au développement  noir et blanc).

J'ai déjà lu cette explication, et je l'avais prise pour argent comptant ... mais si elle est vraie, alors il manque un élément. Je m'explique :

Si notre œil n'est pas linéaire, et qu'un capteur est linéaire, qu'est-ce que ça change : si je capture une image de façon linéaire et que je la restitue de façon linéaire, alors pourquoi mon œil, devrait-il la voir différemment de la réalité ?

Pour ce qui est de la correction pour l'écran, c'est simple : si je veux reproduire l'image enregistrée par le capteur, il faut que j'applique une correction parce que mon écran n'est pas linéaire. Là ça semble normal, mais du coup je me retrouve avec une image linéaire si je n'applique que la correction due à l'écran. Est-ce que cette image me semblera naturelle ou est-ce qu'il faut que j'ajoute une correction gamma pour s'adapter à mon œil ?

Comme ça, je vois plusieurs explications possibles :
- En fait la correction gamma ne sert qu'à corriger l'écran et on visualise une image linéaire,
- Notre œil a un gamma différent suivant qu'on regarde la même scène en vrai ou sur un écran, ce qui serait plausible, le niveau de luminosité étant différent et donc il faut afficher une image non linéaire pour corriger cette variation.

Pour l'instant, en recherchant sur google, j'ai trouvé des explications allant dans les deux sens donc ...


Franciscus Corvinus

Le gamma est une forme particuliere de fonction de transfert. Ses raisons sont multiples:
1. historique: c'était plus facile au temps des tube acthodiques
2. marketing: les écrans de TV ont l'air "mieux" quand les tons moyens sont relevés
3. technique: la, l'argument est double.
3a. D'une part une variation donnée (+10) semble avoir le meme impact visuel quel que soit le degré de gris auquel elle est appliquée (meme sensation de contraste entre 45 et 55 qu'entre 215 et 225). Cet argument ne s'applique évidemment qu'aux images décodées et non pas aux JPG.
3b. D'autre part, comme le JPG est un codage destructeur, ca permet de détruire les bits qu'on voit le moins, quelle que soit leur position dans la gamme de gris. A qualité égale, un JPG passé a la moulinette du gamma sera donc plus compact qu'un JPG linéaire. Cet argument, a l'inverse du précédent, ne s'applique évidemment qu'aux fichiers JPG.

Quand on parle de la courbe gamma comme proche de la perception humaine, on fait référence au point 3a.

lawre51

J'ai bien lu vos réponses.

Je suis d'accord avec le fait que la courbe de correction gamma 0,45 corrige la déformation définie aux lcd gamma 2.2. Oui en effet les profils d'écran intègrent ce gamma 2.2. Donc ces deux courbes se neutralisent. La restitution est linéaire. L'œil voit donc une image telle qu'elle existe dans la réalité.

La courbe de transfert n'a pas du tout la même vocation, je suis en contact avec l'auteur des articles cités et je reviendrai avec des éléments de réponse. D'ailleurs cette courbe n'a pas la même forme. J'ai le sentiment qu'il y a deux courbes. Une qui adapte l'image affichée sur écran (sinon c'est trop sombre) et l'autre s'adapte à la réponse du capteur et de sa conversion.

Du coup, la courbe de correction gamma étant standardisée, avec les différents capteurs et leur spécificités il est nécessaire d'avoir une autre courbe qui s'adapte au capteur et à sa conversion.

J'ai des éléments de réponses mais j'attends d'avoir des nouvelles afin de confirmer cela.

lawre51

Il y a peut-être matière à confusion lorsqu'on lit courbe de correction gamma =courbe de transfert.

Je suis aussi d'accord que la courbe de transfert en argentique n'a rien à voir avec ce qui se passe en numérique. Mais il semblerai qu'en numérique justement il y ai cette même démarche.

lawre51

Voici la réponse de Marc doigny, auteur des articles. J'attends d'autres précisions pour clarifier la situation

Je cite :

La courbe de gamma est une fonction standardisée, appliquée par tous les fabricants. Elle a comme avantage que chaque "pas" produit une augmentation du signal dont l'effet est perçu identiquement.
La fonction de transfert est un truc pour faire passer les 12 (...) bits d'un capteur dans les 8 bits du format jpeg. Le format jpeg a une courbe de gamma, ce qui le rend déjà plus efficace en attribuant plus de bits aux ombres (nos yeux discernent mieux les différences dans les ombres que dans les hautes lumières).
Mais en plus, on va comprimer les extrèmes, en attribuant le plus de bits au niveaux moyens, là où se trouve l'information principale. En comprimant les extrèmes (et en attribuant donc une gamme plus étendue aux tons moyens) on augmente en fait le contraste de l'image, qui devient plus plaisante, sans avoir le risque d'un écrètage.

La fonction de transfert dépend de l'appareil photo (caractéristiques du capteur et du convertisseur), mais il est également possible de jouer sur la courbe en choisissant une image plus "dure" ou plus "douce" (possible sur certains appareils, sur mon appareil cela s'appelle "picture style").
Marc Doigny"

lawre51

Oh lala j'y comprends rien.

Une courbe gamma est une courbe de forme incurvée. Mais si on change l'échelle linéaire par une échelle des abscisses en logarithme du coup cette forme incurvée devient" droite ". Ah intéressant ! Du coup on joue sur le pied et l'épaule de la courbe pour lui donner une forme de S. C'est la compression des extrêmes évoqué par l'auteur.

Du coup c'est effectivement peut être la même courbe.

J'attends avec impatience vos commentaires. Svp essayez d'être le plus clair possible. Merci d'avance

Verso92

Citation de: lawre51 le Juin 26, 2018, 00:29:23
La fonction de transfert est un truc pour faire passer les 12 (...) bits d'un capteur dans les 8 bits du format jpeg.

Elle ne serait donc pas appliquée sur un TIFF 16 bits, par exemple ?

Citation de: lawre51 le Juin 26, 2018, 00:44:44
Oh lala j'y comprends rien.

Une courbe gamma est une courbe de forme incurvée. Mais si on change l'échelle linéaire par une échelle des abscisses en logarithme du coup cette forme incurvée devient" droite ". Ah intéressant !

C'est juste une question de représentation. Ça ne change rien à la "courbe"...

egtegt²

Donc si j'ai bien compris, le gamma de l'oeil n'aurait rien à voir avec tout ça et le fameux 2,2 serait le gamma standard d'un écran et pas celui de l'oeil.

Verso92

Citation de: egtegt² le Juin 26, 2018, 07:53:01
Donc si j'ai bien compris, le gamma de l'oeil n'aurait rien à voir avec tout ça et le fameux 2,2 serait le gamma standard d'un écran et pas celui de l'oeil.

Le gamma 2.2 est effectivement celui de l'écran : il traduit sa non linéarité.

FredEspagne

Et la norme varie en fonction de la définition de l'écran, pour l'UHD c'est 2.4.
35 ans de film et labo argentique , 21 de numérique

egtegt²

Citation de: lawre51 le Juin 26, 2018, 00:24:19
Il y a peut-être matière à confusion lorsqu'on lit courbe de correction gamma =courbe de transfert.

Je suis aussi d'accord que la courbe de transfert en argentique n'a rien à voir avec ce qui se passe en numérique. Mais il semblerai qu'en numérique justement il y ai cette même démarche.
De toute façon, il ne peut pas y avoir d'équivalence, ce sont deux choses différentes :
- Une courbe de correction Gamma est une courbe d'une forme prédéterminée et caractérisée par son coefficient Gamma
- Une courbe de transfert est une courbe quelconque qui définit la façon de convertir d'un système à un autre (RAW vers JPEG, Capteur vers linéaire ...) elle peut avoir la forme d'une courbe de correction Gamma ... ou pas. Celle de RAW vers JPEG a dans les faits une courbe de correction Gamma mais c'est un choix des concepteurs du format.

lawre51

Citation de: Verso92 le Juin 26, 2018, 07:21:58
Elle ne serait donc pas appliquée sur un TIFF 16 bits, par exemple ?

C'est juste une question de représentation. Ça ne change rien à la "courbe"...

Bien d'accord. Mais c'est juste cette représentation qui peut prêter à confusion.

Verso92

Citation de: lawre51 le Juin 26, 2018, 11:28:35
Bien d'accord. Mais c'est juste cette représentation qui peut prêter à confusion.

Pas compris... les échelles log sont très souvent utilisées pour représenter des grandeurs physique (cf courbes de réponse audio, etc).

lawre51

Citation de: Verso92 le Juin 26, 2018, 11:31:25
Pas compris... les échelles log sont très souvent utilisées pour représenter des grandeurs physique (cf courbes de réponse audio, etc).

Bien sûr que cette représentation est souvent utilisée. Je voulais juste faire remarquer que pour un novice regarder la forme de la courbe sans tenir compte de son échelle est un piège

lawre51

Bon alors Marc doigny  a precisé les choses. Je vous transmet la conversation:

On 25-Jun-18 22:07, Cyril Beaudron wrote:
Merci Marc pour ces renseignements complémentaires. Si j'ai bien compris il y a deux courbes distincts (courbe gamma 0,45 et une courbe en S) est-ce bien cela ?
La première associé à la courbe de l'écran (gamma 2,2) à pour effet de linéariser le rendu affiché. Sans cette courbe de correction gamma, l'image apparaîtra trop foncé (cas du profil linéaire) c'est bien ça ?

La courbe de transfert s'applique au moment de la conversion en tiff jpeg. Toujours d'accord ?
Merci pour l'attention que vous porterez à ma demande.
Merci pour vos observations sur mes propos cités en amont.

Bonne journée Marc

Cyril BEAUDRON

réponse:
Vous ne vous êtes pas trompé, mais lors de la conversion en jpeg on utilise les deux courbes en même temps.
Le gamma, parce que c'est devenu un standard et la courbe en S pour comprimer un peu les données sans rendre l'image trop fade. La courbe en S n'est pas standard et ses paramètres dépendent de l'appareil.
Marc Doigny


Franciscus Corvinus

Citation de: lawre51 le Juin 26, 2018, 00:44:44
Oh lala j'y comprends rien.

Une courbe gamma est une courbe de forme incurvée. Mais si on change l'échelle linéaire par une échelle des abscisses en logarithme du coup cette forme incurvée devient" droite ". Ah intéressant ! Du coup on joue sur le pied et l'épaule de la courbe pour lui donner une forme de S. C'est la compression des extrêmes évoqué par l'auteur.

Du coup c'est effectivement peut être la même courbe.

J'attends avec impatience vos commentaires. Svp essayez d'être le plus clair possible. Merci d'avance
Non, une courbe gamma n'est pas une courbe en S. C'est une courbe qui n'est incurvée que dans un sens, alors qu'une courbe en S est incurvée dans un sens puis dans l'autre. Oublie simplement le commentaire sur les échelles logarithmiques.

Une courbe de transfert est un terme générique pour décrire les transformations qu'on fait subir aux canaux selons lesquels l'image est codée (RGB en JPG, mais ca peut etre Lab, CMYK, Yuv, HSV pour les espaces les plus courants). Les courbes de transfert peuvent avoir n'importe quelle forme, de la droite, a la courbe gamma, a la courbe en S ou, plus probablement, une pente ondulée sans véritable équation qui la définit.

Les courbes de transfert interviennent a de multiples points dans la chaine de l'image. Elles peuvent etre explicitesment codées quand on les inclut dans un traitement informatique, comme c'est le cas en sortie de capteur, ou dans une conversion JPG. Mais elles peuvent etre implicite au hardware, comme l'objectif (ou elles sont compliquées car elles varient sagitallement, en d'autre termes la couleur dans les coins n'est pas toujours la meme qu'au centre) ou l'écran. Dans ce cas, on les contre par la calibration, qui introduit par software une courbe de transfert inverse a celle du hardware.

remico

Citation de: Verso92 le Juin 26, 2018, 08:04:16
Le gamma 2.2 est effectivement celui de l'écran : il traduit sa non linéarité.

Je ne connais pas le terme français mais le gamma est caractérisé deux coefficients :  la valeur du gamma (pente de la courbe dans sa partie linéaire) et le toe slope (traduction auto = pente de l'orteil, peut-être aménagement du pied de courbe).

Par exemple citation d'un passage d'un tutoriel dcraw :
http://guillermoluijk.com/tutorial/dcraw/index_en.htm

-g gamma slope
Applies a gamma correction to the output defined by the gamma value and the toe slope of the curve. For a pure gamma curve set slope to 0. Some typical values are:
   -g 1 1 linear 1.0 gamma (default if -4 is used)
   -g 2.2 0 pure 2.2 gamma (Adobe RGB)
   -g 1.8 0 pure 1.8 gamma (ProPhoto RGB)
   -g 2.4 12.9 sRGB gamma
   -g 2.222 4.5 BT.709 specification gamma (default if -4 is not used)

Par défaut dcraw utilise le gamma 2.4 avec seulement 4.5 en deuxième valeur ce qui donne des images faiblement contrastée. C'est mieux et plus naturel avec -g 2.4 12.9, à l'opposé si on veut conserver un maximum de hautes lumières ou d'ombre après -g 1 1 sera mieux.

Gamma 2.4 c'était pour les écrans crt, pour les LCD 2.2 est plus approprié.
L'œil, le capteur et l'écran n'ont pas le même "rendement" dans les ombres :
https://www.cambridgeincolour.com/tutorials/gamma-correction.htm


lawre51

Merci à vous pour ces précisions . La compréhension est bien meilleure