Gamma i lineal

Ara, la situació de la qual parlem quan parlem de teoria és el que en diríem «lineal». Cada pas de la brillantor és el mateix valor. Els nostres ulls no perceben de forma lineal. Més aviat, ens resulta més fàcil distingir entre els grisos més foscos que entre els grisos més clars.

Com que els humans són els que utilitzen els ordinadors, ho hem fet perquè els ordinadors donin més espai als valors més foscos en el sistema de coordenades de la imatge. Això s'anomena «codificació de gamma», perquè està aplicant una funció de gamma a la TRC o a la transferència d'una imatge. La TRC en aquest cas és la Corba de resposta del to, la Corba de reproducció del to o la característica de Transferència (perquè els especialistes en la gestió del color s'odien a si mateixos), el qual li diu al vostre ordinador o impressora quant de color correspon a un determinat valor.

../../_images/Pepper_tonecurves.png

Un dels problemes més comuns que té la gent amb la gestió del color del Krita és l'assignació de l'espai de color correcte a la TRC codificada. A dalt, el centre Pepper és el correcte, on la TRC codificada i assignada són la mateixa. A l'esquerra tenim un Pepper codificat en sRGB, però assignat a un perfil lineal, i a la dreta tenim un Pepper codificat amb una TRC lineal i assignada a una TRC en sRGB. Imatge de Pepper & Carrot.

La següent taula mostra com hi ha molt espai utilitzat per valors més lleugers en un espai lineal en comparació amb la TRC en sRGB predeterminada dels nostres ordinadors moderns i altres TRC disponibles en els nostres perfils lliurats:

../../_images/trc_gray_gradients.svg

Si ens fixem en el lineal de les TRC en Rec. 709, veurem que hi ha un gran salt entre els tons més foscos i els tons més clars, mentre que si observem la TRC en Lab L* o la TRC en sRGB, les quals semblen més espaiades. Això es deu a la sensibilitat dels nostres ulls als valors més foscos. Això també vol dir que si no teniu prou profunditat de bits, una imatge en un espai lineal es veurà com si tingués una formació de bandes lletja. Per això, quan creem les imatges per a veure-les en una pantalla, sempre utilitzarem alguna cosa com TRC en Lab L*, sRGB o Gamma 2.2 per a codificar la imatge.

No obstant això, aquesta modificació per a donar més espai als valors més foscos provoca complicacions en les matemàtiques del color quan es mesclen els colors.

Ho podem veure amb el següent experiment:

../../_images/Krita_2_9_colormanagement_blending_1.png

Esquerra: Cercles amb el color borrós en un espai sRGB regular. Dreta: Cercles amb el color borrós en un espai lineal.

Cercles amb el color, mig borrós. En un entorn amb correcció de la gamma, això ens donarà una vora negra estranya. En un entorn lineal, això ens donarà una bonica gradació.

Això també s'aplica al pinzell amb esborronat del color del Krita:

../../_images/Krita_2_9_colormanagement_blending_2.png

Així és, la «contaminació» dels colors, la qual és una queixa típica dels pintors digitals, és de fet, un espai de color amb correcció de la gamma que arruïna els vostres colors. Si heu estat treballant en el Lab per a evitar això, assegureu-vos de provar un espai de color RGB lineal.

Què passa al darrere?

Imagineu que volem mesclar el vermell i el verd.

Primer, necessitarem les coordenades del color vermell i verd dins el model de color del nostre espai de color. Per tant, això seria...

Color

Vermell

Verd

Blau

Vermell

1,0

0,0

0,0

Verd

0,0

1,0

0,0

Després farem la mitjana d'aquestes coordenades en tres mescles:

Vermell

Mescla_1

Mescla_2

Mescla_3

Verd

Vermell

1,0

0,75

0,5

0,25

0,0

Verd

0,0

0,25

0,5

0,75

1,0

Blau

0,0

0,0

0,0

0,0

0,0

Però per tal de determinar com es veuran aquests colors a la pantalla, primer col·locarem els valors individuals a través de la TRC de l'espai de color amb el qual estem treballant:

../../_images/Basicreading3trcsv2.svg

Després emplenarem els valors en el lloc correcte. Compareu-los amb els valors de la taula de mescles que hi ha a sobre!

../../_images/red_green_mixes_trc.svg

I és per això que les mescles de color són més clares i suaus en l'espai lineal. L'espai lineal és més correcte físicament, però el sRGB és més eficient en termes d'espai, per tant, moltes imatges tindran codificat una TRC en sRGB. Si encara no heu entès: el sRGB proporciona valors molt més foscos que l'espai lineal per a les mateixes coordenades.

Per tant, TRC diferents donaran diferents mescles entre els colors, en el següent exemple, cada conjunt de degradats és en ordre una mescla que empra TRC lineal, una mescla que empra TRC en sRGB i una mescla que empra TRC en Lab L*.

../../_images/3trcsresult.png

Llavors, us podríeu preguntar. Com faig per a marcar aquesta opció? Es troba en algun lloc de la configuració? La resposta és que tenim diversos perfils ICC que es poden utilitzar per a aquest tipus de treball:

  • scRGB (lineal)

  • Tots els perfils «elle» que acaben en «g10», com el sRGB-elle-v2-g10.icc.

De fet, en tots els perfils «elle», l'últim número indica la gamma. L'1,0 és lineal, el més gran és la correcció de la gamma i «srgbtrc» és una correcció especial de la gamma per al perfil sRGB original.

Si utilitzeu el navegador de l'espai de color, podreu distingir la TRC des de la «gamma estimada» (si és 1,0, és lineal), o des del giny TRC en el Krita 3.0, en el qual es veurà exactament com en les gràfiques de corba anteriors.

Encara que no pinteu gaire, però, per exemple, creeu textures per a un videojoc o renderitzat, el fet d'utilitzar un espai lineal és molt beneficiós i accelerarà una mica el renderitzador, ja que no haurà de convertir les imatges.

L'inconvenient de l'espai lineal és, per descomptat, que el blanc sembla tenir massa pes quan es mescla amb el negre, ja que en un espai lineal els grisos clars tenen més espai. Finalment, mentre que l'espai lineal és físicament correcte, i és una gran ajuda per a treballar quan es tracta de renderitzadors físicament correctes per a videojocs i el traçat dels raigs, el Krita és una eina i ningú us perseguirà si preferiu la mescla fosca de la TRC en sRGB.