Modelul RGB

De la Capisci

Salt la: navigare, căutare
Acest articol face parte din seria de articole despre culoare.

Modelul RGB este practic singurul model aditiv de culoare folosit în mod curent. Spre deosebire de modelul CMYK, unde rezultatul este un obiect fizic (o tipăritură de un fel sau altul), modelul RGB tinde să lucreze cu imaginile într-un fel mai abstract, sau cel puţin mai efemer – o imagine de pe un monitor sau una proiectată la cinematograf, ori impresia fugitivă pe care o lasă o scenă în memoria retinei sau a obiectivului fotografic, toate se bazează în ultimă instanţă pe modelul RGB. Dar hai să vedem mai în detaliu cu ce se mănâncă şi RGB-ul ăsta.

Cuprins

Scurt istoric

Deşi principiile optice care stau la baza unei camere simple de fotografiat sunt cunoscute de vreo 2500 de ani, abia în 1825 un francez pe nume Joseph Nicéphore Niépce a reuşit să facă o primă fotografie folosind un material fotosensibil (un material bazat pe petrol, similar cu smoala, şi care se întărea după expunerea prelungită la lumină – timpul de expunere era de ordinul zecilor de ore).[1] Evident, vorbim de fotografie alb-negru. Tot în prima jumătate a secolului XIX un fizician scoţian pe nume James Clerk Maxwell (da, acel Maxwell) s-a întrebat dacă nu există cumva niscai culori primare şi a concluzionat că există şi că se întâmplă să fie roşu, verde şi albastru. Aşa că în 1861 a fotografiat de trei ori acelaşi obiect, folosind trei filtre de culoare, iar apoi a proiectat cele trei fotografii pe un perete, suprapunându-le. Astfel fotografia color a fost inventată!

Ei, nu, nu chiar. Maxwell a arătat că se poate capta şi reconstrui informaţia de culoare folosind numai trei filtre fotografice, e drept. Dar dacă aţi citit cu atenţie felul în care a făcut prezentarea aţi realizat că de fapt Maxwell nu a convertit modelul aditiv obţinut din cele trei fotografii într-un model substractiv necesar pentru tipărirea lor. Nu, el a folosit doar temporar cele trei plăci fotografice pentru stocarea informaţiei, însă prezentarea finală a făcut-o cu un proiector, rămânând astfel în modelul aditiv. Deşi prezentarea lui Maxwell nu a fost momentul naşterii fotografiei color, acela a fost totuşi momentul în care s-a născut modelul RGB – acronimul este format din iniţialele celor trei culori primare, în limba engleză (red, green, blue).

Nu că ar avea vreo relevanţă pentru modelul RGB, dar dacă eraţi curioşi fotografia color adevărată nu a devenit o realitate practică decât în 1907, odată cu intrarea pe piaţă a procesului Autochrome al fraţilor Lumière; rezultatul nu era totuşi o fotografie în sensul curent al cuvântului ci un fel de diapozitiv.

Pe urmele tripleţilor

Dat fiind anul lui de naştere şi domeniul larg de aplicabilitate cauzat de înrudirea sa cu fotografia, cinematografia şi fiziologia ochiului uman, e de la sine înţeles că modelul RGB a fost studiat în profunzime de-a lungul mai multor generaţii. Dar ce-i aşa mult de studiat la el?

Să presupunem că sunteţi inventatorul unui nou tip de monitor color pentru calculatoare. Aveţi deci nevoie să reprezentaţi culori; sunteţi la curent cu teoria modelului aditiv şi cunoaşteţi cele trei culori primare. Prin urmare ştiţi că trebuie în ultimă instanţă să construiţi o matrice de puncte care să emită lumină, că fiecare punct trebuie să poată emite în mod independent lumină roşie, verde şi albastră, şi mai ştiţi şi că intensitatea luminii emisă pe fiecare dintre componente trebuie să poată varia în mod previzibil. Ba mai mult, aveţi la dispoziţie chiar şi tehnologia necesară – aţi inventat nişte beculeţe colorate atât de mici încât le puteţi pune unele lângă altele ca să simulaţi eficient puncticelele colorate de care aveţi nevoie: un astfel de beculeţ minuscul roşu, unul verde şi unul albastru formează un punct, iar dumneavoastră puteţi aprinde fiecare beculeţ individual, variindu-i intensitatea luminoasă după plac.[2] Intensitatea totală a celor trei beculeţe este luminozitatea punctului rezultat.[3] Rămâne doar să găsiţi o cale de a primi informaţia de culoare de la calculator şi de a o converti în intensităţi luminoase pentru a afişa imagini.

Cea mai logică metodă de a primi informaţia de culoare este s-o codificaţi în câte un triplet de valori pentru fiecare punct de pe ecran, în aşa fel încât fiecare element din triplet să indice nivelul de luminozitate al fiecăreia dintre componentele de culoare. Cum toate punctele sunt la fel, nu e nevoie să rezolvăm problema decât pentru unul singur, urmând apoi să aplicăm soluţia de atâtea ori câte puncte avem de afişat. Am primi deci tripleţi de forma (10,20,30), unde 10 ar fi intensitatea pentru beculeţul roşu, 20 pentru cel verde şi 30 pentru cel albastru. Minunat, dar ce-i aia „10”? Cât de luminos trebuie să fie punctuleţul roşu atunci când primesc „10”? Dar când primesc „20”? Pot să primesc vreodată 2.000.000? Care-i limita superioară şi cât de luminos trebuie să fie beculeţul roşu atunci când primesc semnalul maxim?

Cubul RGB ideal.

Vom vedea mai încolo că există fel de fel de codificări ale culorilor, dar deocamdată să folosim procentele ca unitate de măsură – intensitatea fiecărei componente ar varia deci între 0 şi 100.[4] Dacă am reprezenta grafic spaţiul ocupat de fiecare dintre tripleţii posibili într-un sistem de coordonate cartezian am obţine un cub cu un colţ în origine – adică (0,0,0) – şi colţul opus la (100,100,100). Fiecare dintre axele folosite pentru a defini acest spaţiu ar echivala cu câte una dintre culorile primare – axa X pentru roşu, Y pentru verde şi Z pentru albastru. Iar fiecare punct din cub ar avea câte o culoare individuală, determinată de poziţia lui în spaţiu – în origine am avea un punct negru, în colţul opus unul alb, pe diagonala dintre ele am avea toate nuanţele pure de gri, în colţurile de pe axe am avea culorile primare pure iar în colţurile opuse am avea culorile secundare pure şi aşa mai departe.

Ei, acum am putea crede că avem un model viabil şi am produce un prototip de monitor. Când primim semnal „100” aprindem beculeţul corespunzător aplicând diferenţa maximă de potenţial electric („voltajul”) pe care o suportă becul; când primim „50” îl aprindem pe jumătate şi tot aşa – într-un cuvânt diferenţa de potenţial aplicată fiecăruia e direct proporţională cu semnalul de intrare. Iar atunci când l-am aprinde am constata cu surprindere că imaginile arată ca naiba.

Vedeţi dumneavoastră, noi am construit un model matematic ideal atunci când am imaginat spaţiul RGB de mai sus – coordonatele sunt interschimbabile, diferenţele de potenţial sunt riguros proporţionale şi una peste alta spaţiul este perfect uniform în toate punctele şi în toate direcţiile. Am construit un model perfect, dar am scăpat din vedere că l-am construit pentru un observator imperfect – sistemul vizual uman.[5]

Poziţionare în context

Dacă matematicianul îşi permite să inventeze concepte oricât de abstracte iar fizicianul poate face descoperiri oricât de îndepărtate de simţurile noastre, restul muritorilor suntem nevoiţi să reducem problemele la limitele naturii umane.[6] Încă din 1931 proaspăt înfiinţatul Comitet Internaţional de Iluminat (Commission Internationale De l'Éclairage, prescurtat CIE)[7], a publicat un prim spaţiu de culoare formalizat matematic şi bazat pe experiment. Ce-o fi asta? Din punct de vedere al modelului generic e cam acelaşi lucru cu spaţiul idealizat pe care l-am definit şi noi mai sus. Dar în afară de câteva diferenţe teoretice, diferenţa fundamentală este că spaţiul propus de CIE nu era parametrizat pe baza intensităţii componentelor ci pe baza percepţiei umane.

Mai exact, CIE a descoperit experimental că percepţia sistemului vizual uman nu este uniformă indiferent de poziţia şi de direcţia culorii în spaţiul culorilor, aşa cum am presupus în modelul nostru ideal – în realitate spaţiul culorilor percepute de sistemul vizual uman nu are forma ideală a unui cub, ci forma unui cartof mutant.[8] Totuşi, spre norocul teoreticienilor, receptorii la culoare reacţionează destul de previzibil cu luminozitatea, ceea ce simplifică într-o oarecare măsură teoria, deşi complică prezentarea.[9]

Reparametrizarea spaţiului (CIE XYZ)

Vă daţi seama că spaţiul ideal definit mai sus poate fi definit prin aproape orice fel de coordonate. Nu e nevoie să avem intensitatea culorii roşii pe axa x şi aşa mai departe – am putea de exemplu să redefinim exact acelaşi spaţiu în orice alt sistem de coordonate, de exemplu folosind un sistem de coordonate polar cu centrul în centrul cubului (sau aiurea), ameliorat în aşa fel încât să producă aceleaşi rezultate. Singura cantitate constantă într-un astfel de spaţiu este numărul de dimensiuni: oricum am redefini spaţiul, am fi nevoiţi să păstrăm un sistem cu trei coordonate.[10]

Dat fiind că (1) putem reparametriza spaţiul culorilor în orice mod convenabil şi (2) că luminozitatea e un parametru relativ neinteresant[11], CIE a decis să definească spaţiul culorilor în alt fel. Dacă vă uitaţi din nou la cubul ideal al culorilor figurat mai sus veţi observa că pe o diagonală se află chiar gradientul „neinteresant” al luminozităţii. CIE a decis să redefinească spaţiul culorilor în aşa fel încât această diagonală să devină una dintre axe – în esenţă au rotit cubul culorilor în aşa fel încât acea diagonală să devină verticală.[12] Cu ocazia asta sigur că s-au aiurit şi celelalte două axe – dar în ce fel?

În primul rând, CIE a definit un set de coordonate uşor diferit de RGB (dar în mare similar), pe baza percepţiei umane. Au numit acest sistem de coordonate XYZ în loc de RGB, din cauza micilor diferenţe între culorile pure şi ceea ce percepem noi. Relaţia e totuşi liniară:

X = 0,49·R + 0,31·G + 0,2·B
Y = 0,17697·R + 0,81240·G + 0,01063·B
Z = 0,01·G + 0,99·B

Rezultatul e un spaţiu similar, însă care nu mai e ortogonal – totuşi Y şi Z sunt aproape paralele cu vechile axe G şi B, după cum se vede din existenţa factorilor cu pondere copleşitoare (cei cu aldine). Doar X e semnificativ mai şui, fiind influenţat în aproape egală măsură de componenta roşie şi cea verde – motivul este că receptorii din ochiul uman pentru roşu sunt de fapt sensibili la lumină... portocalie.

Acum însă vine o surpriză de proporţii – şi nu uitaţi că acest model a fost gândit în 1931. Această (aparent) simplă distorsionare a spaţiului duce în mod convenabil exact la rezultatul pe care ni-l doream: în acest sistem de coordonate luminozitatea variază numai pe axa Y![13] Acesta este spaţiul de culoare CIE 1931 XYZ, iar această şmecherie atât de convenabilă a felului în care a fost parametrizat îl face să rămână în continuare spaţiul de referinţă pentru analiză cromatică.[14]

Separarea puterilor în stat (CIE xyY)

Bun, am identificat o parametrizare convenabilă, însă deşi XYZ e mai potrivit decât RGB, totuşi încă are o hibă: n-am reuşit să separăm complet axa luminozităţii. Nu uitaţi că acesta era scopul cu care am pornit la drum: dat fiind că sistemul vizual uman răspunde liniar cu luminozitatea, vrem să eliminăm complet acest factor din analiza teoretică, deci ne trebuie un spaţiu în care luminozitatea să fie o axă complet independentă de celelalte două. Ah, şi à propos de asta, dacă luminozitatea e o axă, celelalte două ce sunt? Păi celelalte trebuie de bună seamă să codifice într-un fel sau altul informaţia despre culoare, nu-i aşa? Cum, necum, spaţiul ideal trebuie să poată fi tăiat ca o portocală perpendicular pe axa luminozităţii, iar în secţiune trebuie să găsim toate nuanţele de culoare pe care le poate percepe sistemul vizual la luminozitatea la care am ales să despicăm spaţiul. Ori spaţiul XYZ de mai sus nu satisface această cerinţă, fiindcă deşi luminozitatea variază numai pe Y, totuşi Y conţine şi informaţie cromatică (nu uitaţi că Y e aproximativ paralelă cu axa asociată culorii verzi din spaţiul RGB, deci şi saturaţia nuanţelor de verde variază pe Y).

Aici vine în sfârşit lovitura de graţie a celor de la CIE (şi da, vine tot din 1931). Vă aduceţi aminte de exemplul cu reparametrizarea spaţiului RGB în coordonate polare? În esenţă identificarea unui punct în coordonate polare presupune să foloseşti două dintre coordonate ca să specifici direcţia în care se află, iar a treia coordonată indică distanţa lui faţă de origine. Dar în ce priveşte direcţia, un sistem la fel de bun s-ar putea obţine şi măsurând raportul dintre diversele componente ale vectorilor, nu-i aşa?[15] Bun, atunci hai să vedem ce se întâmplă dacă normalizăm vectorii din spaţiul XYZ. Definim componentele normalizate x, y, z în felul următor:

x = \frac{X}{X+Y+Z}
y = \frac{Y}{X+Y+Z}
z = \frac{Z}{X+Y+Z}

După cum era de aşteptat în urma normalizării,

x + y + z = \frac{X}{X+Y+Z} + \frac{Y}{X+Y+Z} + \frac{Z}{X+Y+Z} =
= \frac{X+Y+Z}{X+Y+Z} = 1

Cu alte cuvinte nu avem nevoie decât de două dintre cele trei componente normalizate, fiindcă cealaltă poate fi determinată scăzându-le pe celelalte două din unitate:

x = 1-y-z
sau
y = 1-x-z
sau
z = 1-x-y

Aşadar oricare două dintre acestea trei pot fi folosite, ca şi într-un sistem de coordonate polar, pentru a defini direcţia faţă de origine. Iar pentru distanţă nu trebuie decât să folosim pe oricare dintre X, Y şi Z – orice astfel de combinaţie produce un sistem de coordonate perfect valabil. Dacă imaginăm poziţia unui punct în spaţiu ca un vector care porneşte din origine şi cu vârful în punctul pe care vrem să-l definim, cele două coordonate din sistemul xyz dau orientarea vectorului, iar coordonata din sistemul XYZ îi dă magnitudinea.

Sigur că CIE a ales Y pentru magnitudine, fiindcă ăsta era scopul iniţial: să parametrizăm spaţiul de aşa natură încât să obţinem luminozitatea pe una dintre axe. Iar pentru orientare a ales primele două coordonate din sistemul xyz (însă repet, aici chiar ar fi putut alege pe absolut oricare două, nu ştiu dacă a existat vreun motiv anume pentru care le-au ales tocmai pe astea).

Astfel am obţinut spaţiul xyY, în care coordonata Y conţine exclusiv luminozitatea unei culori, iar coordonatele x şi y conţin exclusiv informaţia cromatică. În plus, nu uitaţi că ne aflăm în sfârşit într-un spaţiu calibrat pe sistemul nostru de percepţie şi nu într-unul idealizat – deci pe baza acestui spaţiu putem în sfârşit să ne calibrăm monitorul pentru rezultate previzibile! Bine, dar cum?

Culori vizibile şi culori invizibile

Bun, am tot transformat spaţii ideale abstracte în alte spaţii mai realiste... dar tot abstracte. Ce-am obţinut de fapt? Am obţinut un spaţiu în care putem identifica cu exactitate apreciabilă plaja de culori pe care le poate percepe un om. Evident, indiferent în ce fel am defini spaţiul de culoare, gama de culori pe care o putem percepe vizual nu este decât un nor solid de puncte din interiorul acelui spaţiu – tot ce am obţinut cu jongleriile de mai sus a fost să identificăm un sistem de coordonate convenabil pentru a descrie plaja de culori pe care o putem vedea; acestea nu rezultă din modelul matematic, ci se determină experimental.

Imaginaţi-vă că în acest spaţiu tridimensional, norul de puncte care reprezintă culorile vizibile formează un cartof oarecare. Ne-am străduit până acum să identificăm un spaţiu de culoare în care una dintre coordonate să descrie exclusiv luminozitatea – am identificat acest spaţiu, este spaţiul xyY. Să ne imaginăm că a treia coordonată este înălţimea; dat fiind că Y este a treia coordonată şi dat fiind că Y descrie luminozitatea culorilor, înseamnă că în acest spaţiu cartoful nostru este limitat în partea de jos de cel mai negru negru pe care-l putem vedea (ăsta chiar e negru adevărat, atunci când pur şi simplu lipseşte lumina). Aici cartoful atinge planul de jos al sistemului de coordonate, unde Y=0 – iar dat fiind că nu există varietate cromatică în absenţa luminii, cartoful atinge planul originii într-un singur punct. De-aici în sus secţiunea lui se lăbărţează[16], dar într-un mod destul de plictisitor: oricât am urca pe axa Y, secţiunea ar fi cam la fel (s-ar deforma un pic, dar fără schimbări majore).[17] De altfel asta am căutat de la bun început, un sistem de coordonate în care una dintre ele să fie cât mai neinteresantă cu putinţă.

Gama de culori vizibile, secţiune orizontală prin „cartoful” din spaţiul CIE xyY. Imagine în domeniul public, click pentru detalii.

Ei bine, toată tevatura asta a fost necesară ca să putem diseca şi analiza cartoful. Hai deci să alegem un nivel de luminozitate convenabil, şi să-l secţionăm cu un plan orizontal. Rezultatul este aproximativ cel din imaginea din dreapta. Este însă foarte important să înţelegeţi că ceea ce vedeţi în dreapta este totalmente incorect. Forma este corectă, dar culorile sunt aproximări grosolane ale realităţii – ecranul monitorului pe care vedeţi această imagine este foarte limitat faţă de gama de culori pe care aţi putea-o percepe.

Chiar şi aşa, forma acestei secţiuni este foarte interesantă – urmăriţi pas cu pas explicaţiile din acest paragraf şi următorul pe imaginea din dreapta ca să nu pierdeţi firul. În primul rând, se vede că am obţinut o formă similară cu cea la care ne aşteptam: e lunguiaţă în zona nuanţelor verzi, mai puţin întinsă în direcţia nuanţelor de roşu şi foarte limitată înspre albastru. Apoi observăm că există un contur curb continuu în partea de sus (cel marcat cu o linie neagră în imagine), contur care reprezintă culorile monocromatice şi frecvenţele lor – iar în partea de jos acest contur nu există. Asta înseamnă că pentru toate culorile de pe conturul negru reuşim să vedem culori pure, asociate cu lumină de o anumită lungime de undă; prin contrast, în zona nuanţelor de mov (jos, unde nu este niciun contur) nu reuşim să vedem culorile pure, ci doar să percepem nuanţe de mov ca amestecuri multicolore.

Culorile dinspre marginile exterioare ale secţiunii din dreapta sunt mai saturate, iar cele dinspre interiorul formei sunt mai puţin saturate. Acolo unde toate culorile se combină în mod egal saturaţia este nulă iar „culoarea” este albă.[18] Pe de altă parte, dacă alegem două puncte oarecare din secţiune, toate combinaţiile celor două culori corespunzătoare punctelor respective se află în diagramă pe linia care le uneşte.[19] Să spunem că aş alege trei puncte pe diagramă – evident, fiecare punct ar corespunde câte unei culori anume. Care ar fi culorile pe care le-aş putea obţine combinând cele trei culori pe care le-am ales? Evident, aş putea obţine culorile conţinute în triunghiul rezultat din unirea celor trei puncte iniţiale. Dar dacă aş alege patru puncte? Aici răspunsul corect este „depinde”: dacă unim cele patru puncte şi patrulaterul rezultat este unul convex atunci aceasta este gama de culori care ar putea fi obţinută. Însă dacă poligonul rezultat ar fi unul concav atunci ar trebui să renunţăm la punctul din interior şi am obţine un triunghi: punctul din interior este redundant, pentru că acea culoare ar putea fi obţinută combinând cele trei culori exterioare! Prin urmare orice astfel de subset trebuie să fie convex! Pe de altă parte, am văzut că orice combinaţie a trei culori se află în triunghiul pe care îl definesc aceste trei culori – însă dat fiind că însăşi forma secţiunii nu este triunghiulară înseamnă că nu există nicio combinaţie de trei surse de lumină care să producă prin combinaţii întreaga paletă vizibilă.

Înapoi la practică

Bun, acum că am definit contextul în care acţionăm – sistemul vizual uman, cu limitele sale – putem să ne întoarcem la problema noastră originală: de ce prototipul monitorului dumneavoastră nu afişează imaginea cum trebuie? Vă amintiţi că am decis să primim informaţia de culoare de la calculator sub forma câte unui triplet pentru fiecare punct, fiecare element al tripletului reprezentând intensitatea componentei roşii, verzi şi respectiv albastre asociate punctului respectiv. Dar fiecare valoare din triplet trebuie discretizată cumva – nu putem pretinde precizie arbitrară pentru aceste valori, trebuie să le rotunjim cumva.[20] În vasta majoritate a aplicaţiilor practice, fiecare element din triplet are alocat câte un octet – cu alte cuvinte, fiecare element poate avea o valoare întreagă de la 0 la 255, deci 256 de valori posibile.

Spaţii de culoare RGB

Am spus 256 de valori posibile pentru fiecare element. Pare puţin. Dar fiecare triplet conţine trei astfel de elemente, deci avem capacitatea de a stoca 2563=16.777.216 culori distincte. Pare mult. În realitate nu e nici foarte mult, nici prea puţin, în cele mai multe cazuri.[21]

Totuşi, oricât de multe sau de puţine valori posibile ar putea avea tripleţii noştri, întrebarea cea mai importantă este ce înseamnă ei în contextul CIE xyY? Dacă monitorul nostru primeşte tripletul (10,100,250), cărui punct din spaţiul xyY îi corespunde acest triplet? Dar (1,232,88)? Dar (255,0,100)?

În mod surprinzător, deşi am văzut că existau standarde încă din 1931, multă vreme calculatoarele, aplicaţiile şi monitoarele de uz general nu foloseau practic niciun standard pentru transformarea tripleţilor din imagini în informaţie de culoare într-un mod previzibil. Abia în 1993 s-a format un consorţiu internaţional, sub girul a opt mari producători de software şi dispozitive[22], cu scopul de a uniformiza reprezentarea culorilor. Acest consorţiu există şi astăzi şi se numeşte International Color Consortium, pe scurt ICC. Însă trei ani mai târziu, în afara umbrelei ICC, Microsoft şi Hewlett-Packard au propus un standard comun pentru software şi hardware de interpretare şi redare a acestor tripleţi în practică – standardul se numea foarte imaginativ sRGB.[23] Acesta este până în ziua de azi standardul implicit pentru imagini care nu au niciun alt standard asociat în mod explicit.

Dar în ce constă un astfel de standard, până la urmă? În ultimă instanţă el nu este decât un set de reguli de natură să cartografieze toate combinaţiile posibile de tripleţi RGB în spaţiul CIE XYZ 1931. (Evident, aceste reguli sunt nişte funcţii şi nu un set de 16.777.216 reguli distincte.) Însă dacă rezultatul net al unui astfel de standard este un nor de puncte din spaţiul CIE XYZ înseamnă că standardul însuşi defineşte un spaţiu de culoare, la fel cum CIE XYZ defineşte unul. De aceea toate aceste standarde se numesc spaţii de culoare RGB (asta în măsura în care sunt standarde pentru modelul RGB, evident – pentru spaţiile de culoare CMYK vezi Modelul CMYK).

Gândiţi-vă un pic la factorii care influenţează culoarea percepută de un observator atunci când lumina este emisă de un monitor. Cel mai evident factor este calitatea surselor de lumină din fiecare punct al monitorului – şi nu vorbim de calitate în sensul de „calitate superioară” sau „calitate inferioară”, ci de o descriere abstractă a calităţii luminii, în sensul de lungime de undă şi intensitate. Însă oricum ar fi aceste surse de lumină, ne uităm la monitor în contextul unor surse de lumină externe – fie Soarele în timpul zilei, fie sursele de iluminat în cursul serii. Dat fiind că acestea se combină cu lumina provenită de la monitor şi ne oferă un reper cromatic ambiental de referinţă[18], şi ele sunt un factor important în percepţia finală a culorilor, independent de felul în care sunt emise acestea de monitor.

Calitatea luminii emise de monitor depinde în mod evident de monitorul însuşi. Calitatea luminii ambientale depinde însă de... ei bine, depinde de aproape orice. Depinde de preferinţele utilizatorului individual, de ora din zi, de condiţiile meteorologice, de numărul de lumini aprinse în încăpere la un moment sau altul – este prin definiţie variabil. Aşadar hai să ne ocupăm mai întâi de această cantitate eluzivă şi vedem mai încolo cum stă treaba cu lumina emisă de monitor.

Punctul de alb

Imaginaţi-vă că sunteţi din nou la grădiniţă: aveţi în faţă o carte de colorat dintre cele care arată şi imaginea gata colorată într-o parte şi contururile de colorat alături. Aveţi noroc şi vă aflaţi în grădiniţa ideală, unde aveţi la dispoziţie un număr infinit de creioane de colorat, fiecare având o culoare doar infinitezimal diferită de următorul. Dar aveţi şi ghinion: doamna educatoare este atât de exigentă încât pretinde să coloraţi cu exact aceleaşi culori ca cele din model. Nimic mai simplu, veţi spune: în grădiniţa ideală am cu siguranţă la dispoziţie timp infinit pentru a alege creionul potrivit pentru fiecare zonă de colorat, aşa că nu am decât să aşez pe rând fiecare creion în dreptul imaginii gata colorate, iar atunci când găsesc potrivirea perfectă mă apuc şi colorez. Aţi uitat însă un detaliu: grădiniţa e perfectă, dar sistemul vizual uman nu este.

Vedeţi voi, culoarea de fapt nu există. Ceea ce percepem noi drept culoare este răspunsul sistemului vizual la excitarea unor receptori de pe retină. Receptorii de pe retină sunt fiecare sensibili la anumite lungimi de undă ale luminii, aşa că pentru oameni lumina se împarte după cum am văzut mai sus în componente portocalii-roşiatice, verzalii şi albăstrui. Aceste „componente” se combină în creierul nostru de aşa natură încât produc senzaţia de roşu, galben, albastru, verde, maro, roz şi aşa mai departe. Ba mai mult, aceste impresii senzoriale ne creează o falsă imagine despre culoare care duce la concepte precum roata culorilor, cubul culorilor şi alte drăcovenii de aceeaşi natură. Toate aceste idei şi percepţii se află exclusiv în capetele noastre – în realitate ceea ce percepem noi drept lumină în general este o gamă oarecare de frecvenţă din spectrul electromagnetic. Iar pentru fiecare lungime de undă asociem în mod arbitrar câte o culoare, aşa cum se vede în imaginea cu secţiunea prin cartoful culorilor de mai sus – 460 nm pentru senzaţia de albastru, 520 nm pentru senzaţia verde, 620 nm pentru senzaţia culorii roşii şi aşa mai departe. Dar spectrul lungimilor de undă este unul liniar, nu este circular aşa cum am presupus noi atunci când am definit roata culorilor, care a dus în final la modelul RGB şi la toată teoria pe care o analizăm acum. Aşa că undeva teoria noastră despre culori trebuie până la urmă să se rupă pe la cusături – dar unde?

Am mai menţionat în note de subsol că teoria din spatele spaţiului de culoare CIE XYZ 1931 pe care l-am analizat mai sus este mai complicată decât am prezentat-o – într-adevăr, CIE era încă din 1931 la curent cu această dihotomie dintre percepţia sistemului vizual uman şi natura reală a culorilor. Prin urmare CIE a dorit nu numai să stabilească hotarele limitărilor noastre vizuale ci şi să identifice acele combinaţii de lungimi de undă care produc reacţii identice pentru sistemul vizual uman. Combinaţii care... ce?!

Exemplu de dihotomie a percepţiei culorilor.
Diagrama are numai scop ilustrativ, ea este în realitate incorectă.[24]

Aruncaţi o privire la imaginea din dreapta şi amintiţi-vă cum stă treaba cu natura monocromatică a culorilor de pe linia îngroşată a gamei culorilor vizibile ilustrată aici – este evident că două combinaţii de surse de lumină cu lungimi de undă complet diferite pot produce aceeaşi senzaţie de culoare pentru un observator.[24] Aceasta este o proprietate a sistemului nostru vizual numită metamerism şi nu este în niciun fel intrinsecă surselor de lumină sau luminii în general – ba dimpotrivă, metamerismul este întru totul specific fiecărui sistem de interpretare a culorilor, un câine are cu totul alte puncte de metamerism decât cele identificate pentru oameni. De altfel metamerismul este cheia înţelegerii eforturilor depuse pentru a formaliza spaţiul de culoare CIE XYZ 1931 – experimentele practice care au dat naştere acestui spaţiu de culoare s-au bazat în cea mai mare măsură pe ideea de a identifica combinaţii de lungimi de undă care produc aceeaşi senzaţie de culoare pentru un observator uman.

Revenind la grădiniţă, dumneavoastră aţi fi în poziţia de a alege creioanele corecte comparând culoarea de pe hârtie cu culoarea fiecărui creion. Dar aţi face asta în condiţiile de iluminat din grădiniţă – să spunem surse de lumină incandescentă. Surse de iluminat care influenţează culoarea pe care o percepeţi, independent de culoarea creionului! Practic aţi ajunge din cauza metamerismului în situaţia în care mai multe creioane ar părea că sunt identice cu culoarea pe care încercaţi să o identificaţi, deşi ştiţi că toate creioanele sunt diferite unul de celălalt. Ia gândiţi-vă, ce aţi face ca să eliminaţi duplicatele?

Locul geometric al punctelor din spaţiul cromatic similare cu radiaţia unui corp negru la diverse temperaturi. Imagine disponibilă sub licenţa GNU FDL, click pentru detalii.

Exact, aţi schimba sursa de lumină! Aţi merge în altă cameră, unde să spunem că e lumină fluorescentă, şi aţi vedea limpede că unele dintre creioane nu se mai potrivesc. Dacă ar rămâne încă nişte duplicate aţi merge afară, la lumină naturală, pentru a elimina şi ultimele duplicate.

Dar oare în ce fel diferă calitatea luminii de la o sursă la alta? Evident, în afară de intensitate (care este irelevantă), diferă culoarea. Cum am putea oare formaliza aceste diferenţe de culoare a luminii folosind cartoful cromatic de mai sus? S-a dovedit că cel mai natural reper pentru calitatea surselor de iluminat este trasarea pe planul cromatic al locului geometric al punctelor corespunzătoare culorii unui obiect negru la diverse temperaturi. Rezultatul este ilustrat în diagrama din dreapta.

Pentru simplificare şi standardizare CIE a propus în 1961 câteva surse standard de iluminat:

  • A – lumină incandescentă
  • B – lumina soarelui (directă)
  • C – lumina soarelui (la umbră)

Ei au încercat să definească punctele B şi C pe baza punctului A, utilizând nişte filtre lichide.[25] S-a dovedit însă că filtrele folosite pentru B şi C nu dădeau rezultate corecte, aşa că în 1967 CIE a introdus o nouă serie de specificaţii standard de lumină, anume seria D.

Sursele de iluminat standardizate nu sunt descrise pe baza punctului pe care culoarea lor aparentă îl ocupă în planul cromatic, ci sunt descrise în mod absolut ca distribuţie spectrală.[26] Totuşi reprezentarea lor în planul cromatic pică întotdeauna pe linia descrisă mai sus, iar numele surselor standard din serie sunt strâns legate de temperatura căreia îi corespund în acel context.

Aşa cum în cazul grădiniţei ne-a interesat care este temperatura luminii sub care încercam să potrivim culorile, la fel ne interesează şi în orice altă situaţie, de la verificarea calităţii unei fotografii tipărite şi până la lumina ambientală atunci când prelucrăm o imagine pe calculator. Calitatea sau temperatura luminii ambientale influenţează în mod evident ceea ce percepem drept alb, deoarece o coală albă de hârtie va reflecta pur şi simplu culoarea luminii incidente. Astfel, culoarea pe care o percepem ca alb în orice spaţiu de culoare se numeşte punctul de alb al acelui spaţiu, şi este în cele mai multe dintre cazuri echivalent cu unul dintre punctele standard din seria D de la CIE.

Cea mai frecvent utilizată sursă standard de lumină este D65, corespunzătoare aproximativ temperaturii de 6500 Kelvin[27] şi corespunde aproximativ culorii luminii naturale de la amiază în vestul şi nordul Europei. Altă valoare utilizată uneori este D50, aproximativ echivalentă cu 5000 Kelvin, o culoare mai rece, adică mai roşiatică.[28]

Spaţiul de culoare sRGB

Ei, acum că am lămurit treaba şi cu sursele de iluminat putem să înţelegem cum stă treaba şi cu spaţiul de culoare sRGB. sRGB este definit pe baza culorilor primare şi a unei funcţii de transfer (o funcţie de corecţie gama).

Gama de culori din spaţiul sRGB suprapusă peste diagrama CIE 1931 xy. Imagine în domeniul public, click pentru detalii.

Culorile primare sunt definite ca puncte din diagrama cromatică CIE 1931 xy – pur şi simplu se specifică nişte coordonate anume din acel spaţiu pentru fiecare dintre componentele primare (roşu, verde, albastru). Pentru culorile primare s-au ales aceleaşi culori ca cele recomandate pentru HDTV, iar funcţia de transfer a fost aleasă de aşa natură încât să se potrivească cu funcţia tipică de transfer a monitoarelor CRT – această a doua caracteristică a ajutat la adoptarea standardului, deoarece în anii 1990 consumatorii utilizau exclusiv monitoare CRT. Iar punctul de alb al spaţiului sRGB este, aţi ghicit, D65.

Spaţiul sRGB a fost gândit de la bun început având în minte consumatorul obişnuit. Culorile primare au fost alese în aşa fel încât să se potrivească unui standard pentru televiziune. Funcţia de transfer a fost aleasă în aşa fel încât să fie nativă monitoarelor uzuale ale vremii. Condiţiile de iluminat ambientale au fost gândite de aşa natură încât să simuleze un mediu de lucru generic.[29]

Ce înseamnă totuşi toată povestea asta în practică? Înseamnă nici mai mult şi nici mai puţin decât că folosind culorile primare şi funcţia de transfer, din orice triplet (R, G, B) putem obţine fără ambiguitate un punct din spaţiul CIE 1931 xyY – şi viceversa, în măsura în care punctul din planul cromatic se află în gama de culori a spaţiului sRGB. Am obţinut în sfârşit corelarea dintre tripleţii cu care ne luptam mai sus şi un reper absolut!

Nu ştiu dacă realizaţi asta, însă această relaţie dintre orice triplet şi spaţiul absolut CIE xyY este o realizare aproape miraculoasă. Gândiţi-vă – orice fotografie afişată pe orice monitor de pe orice calculator ar arăta în teorie exact la fel! Sigur că utilizatorii nu au în realitate monitoarele bine calibrate, se află în încăperi iluminate aproape aleatoriu, iar reglajele de culoare ale monitorului sunt ajustate după bunul plac al unui utilizator de obicei neavizat. Chiar şi aşa, existenţa unui standard cvasi-universal care corelează informaţia digitală de culoare cu reprezentarea ei la nivel perceptual a ameliorat de-a lungul timpului în mare măsură uniformitatea reprezentării imaginilor chiar şi pentru utilizatorii oarecare.

O caracteristică a spaţiului sRGB este faptul că (în mod ideal) nu depinde de dispozitivul care reproduce culoarea. Aceasta îi oferă natura universală: orice monitor reproduce culorile de intrare la fel, indiferent de caracteristicile individuale ale monitorului. Aha! Deci asta greşeam noi, cu monitorul nostru experimental! Noi nu aplicam niciun fel de corecţie, ci aplicam pur şi simplu voltaj mai mare pentru valoare mai mare a fiecărui element din triplet – însă asta n-are nicio legătură cu spaţiul sRGB, e doar o chestie pe care am încercat-o noi cu de la sine putere. Avem nevoie de un profil de culoare care să specifice în ce fel se comportă monitorul nostru. Odată creat, profilul de culoare al monitorului este folosit de sistemul de operare pentru a compensa toate particularităţile prototipului nostru, iar imaginea va arăta în sfârşit cum trebuie.

Spaţiul de culoare Adobe RGB

Compania Adobe a observat că spaţiul de culoare sRGB, deşi bun pentru afişarea imaginilor pe monitoare oarecare cu scopuri generice este totuşi „prea mic” pentru a simula culorile obţinute de o imprimantă color. Prea mic, adică nu conţine toată gama de culori pe care o poate reda o imprimantă color obişnuită – astfel orice imagine am procesa în spaţiul sRGB, o conversie corectă pentru imprimare ar duce la folosirea parţială a capacităţilor imprimantei.

Gama de culori din spaţiul Adobe RGB cu negru; comparativ sRGB cu gri. Imagine disponibilă sub licenţa GNU FDL, click pentru detalii.

Pentru a ameliora situaţia, Adobe a definit în 1998 un spaţiu RGB mai larg, unul care ocupă mai mult spaţiu în planul CIE xy – acesta este Adobe RGB, sau mai exact Adobe RGB 1998[30] În teorie sună bine, dar oare se poate extinde pur şi simplu gama de culori afişate pe monitor prin simpla publicare a unui standard? Oare nu apar şi alte probleme?

În primul rând, gama de culori pe care le poate afişa un monitor obişnuit este prin definiţie aproximativ cea formalizată în sRGB – sRGB a fost definit de la bun început în aşa fel încât să formalizeze gama de culori a monitoarelor obişnuite. Aşa că pentru a vedea cu adevărat culorile din spaţiul Adobe RGB este necesar un monitor de calitate, care să fi fost fabricat cu intenţia explicită de a afişa o gamă de culori mai extinsă decât modelele de bază. Evident, această problemă poate fi evitată prin achiziţia unui monitor de calitate.

În al doilea rând, hai să punem aceste spaţii de culoare în context. Nu uitaţi că am convenit ca fiecare culoare să fie identificată printr-un triplet de octeţi, iar fiecare octet poate avea 256 de valori posibile. Sigur, definiţiile spaţiilor de culoare sRGB şi Adobe RGB ne permit să pornim de la un astfel de triplet şi să ajungem la un punct unic dintr-un spaţiu CIE, dar avem la dispoziţie un număr limitat de valori de pornire. Cu alte cuvinte, oricum am decide să împrăştiem cele 2563 culori pe spaţiul CIE, tot 2563 de culori sunt de toate. Prin urmare cu cât le împrăştiem mai mult, cu atât devine mai relevantă densitatea finală a repartizării culorilor în spaţiul CIE. Trebuie deci să facem un compromis între a afişa o paletă mai îngustă de culori într-un mod mai exact sau o paletă mai largă de culori cu precizie mai scăzută. sRGB a ales un compromis către prima variantă, pe când Adobe RGB este un compromis către a doua.

Dar de ce este acest lucru relevant? Avem totuşi la dispoziţie peste zece milioane de culori în total, trebuie să fie suficiente! Ei bine, nu sunt întotdeauna, nici măcar în spaţiul sRGB – şi cu atât mai puţin în Adobe RGB. De exemplu, indiferent că spaţiul de culoare este sRGB sau Adobe RGB, avem la dispoziţie numai 256 de nuanţe de gri – de la (0,0,0) la (256,256,256), toate valorile din triplet fiind identice. La fel, există numai 256 nuanţe de roşu pur, de la (0,0,0) la (255,0,0). Şi aşa mai departe. Aceste limitări produc uneori artefacte vizuale nedorite atunci când se tipăresc gradienţi cromatici uniformi pe suprafeţe mari – şi cu cât spaţiul de culoare este mai răsfirat, cu atât artefactele sunt mai vizibile. Această problemă poate fi evitată prin utilizarea unui format de stocare a informaţiei care să permită un număr efectiv mai mare de culori – aici nu mai vorbim de extinderea gamei cromatice în planul CIE xy ci vorbim chiar de numărul de culori distincte care pot fi stocate în format. Astfel de formate multiplică pur şi simplu numărul de octeţi dedicaţi fiecărei componente de culoare – de exemplu prin folosirea a doi octeţi pe componentă în loc de unul singur numărul posibil de culori creşte spectaculos de la „numai” 16.777.216 la exact 281.474.976.710.656.[31]

În al treilea rând apar ocazional probleme legate de interpretarea culorilor – oare imaginea asta trebuie afişată ca şi cum ar fi fost codificată pentru sRGB sau pentru Adobe RGB? Specificaţia celor mai multe formate de imagine (JPEG, de exemplu) prevede ca pe lângă informaţia efectivă de culoare care reprezintă imaginea să se specifice şi spaţiul de culoare în care trebuie reprezentată aceasta. Uneori însă informaţia respectivă se pierde, prin diverse conversii de la un format de imagine la altul cu unelte software prost scrise, caz în care se foloseşte spaţiul implicit de culoare, anume sRGB. Dar de cele mai multe problemele de acest fel apar pentru că programul care interpretează imaginile pur şi simplu nu ştie să interpreteze informaţia legată de spaţiul de culoare asociat imaginii, caz în care foloseşte tot spaţiul implicit, sRGB.

Se naşte astfel o întrebare interesantă: ce se întâmplă dacă o imagine codificată într-un spaţiu de culoare (Adobe RGB) este reprezentată în alt spaţiu de culoare (sRGB)? Imaginaţi-vă că fiecare culoare a fiecărui punct din imagine este reprezentată ca un punct vizibil din cadrul triunghiului mare în diagrama de mai sus. Sigur, am pierde informaţia legată de poziţia reală a punctelor în imagine, dar nu asta ne interesează acum. Pe diagrama rezultată am vedea un nor de puncte, distribuit în cadrul triunghiului conform distribuţiei cantităţii din fiecare culoare în imaginea originală – o fotografie a unei păşuni ar produce un nor de puncte concentrat în partea de sus a diagramei, spre nuanţele de verde, un apus ar genera un nor lunguieţ de-a lungul diagonalei îndepărtate dintre galben şi roşu, iar o fotografie subacvatică ar echivala cu un nor aproximativ vertical, apropiat de axa y, acoperind nuanţele de albastru şi azuriu.

Asta ar fi reprezentarea corectă în spaţiul Adobe RGB a tuturor nuanţelor din imagine. Dar noi ne-am întrebat ce s-ar întâmpla dacă informaţia de culoare parametrizată în spaţiul Adobe RGB ar fi interpretată şi reprezentată ca atare în spaţiul sRGB. Evident că planul de referinţă CIE xy ar rămâne neschimbat – simplul fapt că alegem să interpretăm anapoda o imagine nu schimbă percepţia noastră asupra culorilor. Însă interpretarea punctelor din spaţiul Adobe RGB ca şi cum ar fi puncte din spaţiul sRGB ar schimba parametrii „cartografierii” norului de puncte al culorilor din imagine pe planul absolut CIE xy. Mai exact, triungiul mare din diagrama de mai sus, împreună cu tot norul de puncte pe care îl conţine, s-ar deforma şi s-ar redimensiona pe triunghiul mic din diagramă, triunghi care reprezintă spaţiul sRGB. Primul efect al acestei interpretări eronate a informaţiei de culoare este evident din mărimea diferită a triunghiurilor: dacă toate nuanţele se adună spre centrul diagramei, acolo unde culorile se desaturează, înseamnă că reprezentarea imaginii va fi mai desaturată decât reprezentarea ei corectă. Ceea ce n-ar fi în sine foarte tragic. Însă spaţiul Adobe RGB nu este doar mai mare decât sRGB, dar este şi decalat! Aşa că mai există şi un al doilea efect, mult mai deranjant: toate culorile sunt în mod vizibil contaminate cu nuanţe nenaturale. Rezultatul final este pur şi simplu o imagine inutilizabilă.

Din păcate această problemă apare şi astăzi relativ frecvent atunci când se foloseşte spaţiul Adobe RGB pentru codificarea imaginilor, din cauza echipamentelor şi aplicaţiilor care nu interpretează corect spaţiul de culoare asociat imaginilor. De exemplu cele mai multe browsere sunt incapabile să recunoască corect acest spaţiu de culoare (ceea ce e destul de logic, dat fiind că browserele nu sunt gândite pentru uz specializat, iar creatorii de site-uri ar trebui oricum să folosească sRGB pentru a fi în acord cu marea masă a utilizatorilor, care nu au monitoare profesionale). Partea mai tristă este că multe laboratoare foto digitale folosesc echipamente care ignoră pur şi simplu spaţiul de culoare prescris în fişier, interpretând informaţia de culoare ca şi cum ar fi codificată în sRGB.

Alte spaţii de culoare RGB

Reprezentare a gamei de culori din spaţiul Kodak ProPhoto în planul CIE xyY.

În afară de sRGB şi Adobe RGB sunt utilizate o sumedenie de spaţii de culoare RGB pentru aplicaţii specializate şi acoperă de regulă o paletă şi mai largă de culori în planul CIE xyY.

Un exemplu este spaţiul de culoare ProPhoto RGB, cunoscut şi sub numele ROMM RGB. Acesta este un spaţiu de culoare creat de Kodak în context fotografic şi acoperă practic toate culorile care pot fi întâlnite în realitate. Totuşi, după cum se vede şi în diagrama din dreapta, spaţiul ProPhoto are o hibă pe care ar trebui să o puteţi identifica singuri şi ale cărei cauze şi efecte ar trebui să le puteţi deduce dacă aţi citit cu atenţie acest articol. Vă ofer un singur indiciu: în general spaţiul ProPhoto este folosit în 16 biţi.

Toate spaţiile de culoare RGB pe care le-am discutat până acum sunt, în ultimă instanţă, spaţii teoretice de culoare, în sensul că sunt până la urmă nişte formule matematice care prescriu un cartof oarecare în spaţiul CIE xyY. În afară de acestea există şi spaţii de culoare descriptive.[32] Spaţiile de culoare descriptive sunt definite prin norul de puncte dintr-un spaţiu de culoare de referinţă (cum ar fie CIE XYZ sau CIE xyY) pe care le poate reprezenta un dispozitiv (de exemplu un monitor) sau pe care le poate capta un dispozitiv (de exemplu un scanner sau o cameră foto digitală). La prima vedere poate părea că acesta nu este un spaţiu de culoare ci un alt fel de trăsnaie – un spaţiu „invers” de culoare sau mai ştiu eu ce. Dar chiar este un spaţiu de culoare – aşa cum am pornit de la o formulă matematică în cazul spaţiilor sRGB sau Adobe RGB pentru a obţine un cartof într-un spaţiu de culoare de referinţă, putem la fel de bine să experimentăm cu un monitor, desenând puncte într-un plan de referinţă conform culorilor pe care le poate afişa monitorul şi vom obţine tot un cartof, la fel de bun ca şi ceilalţi. Dar cum am experimenta cu monitorul pentru a obţine norul de puncte în spaţiul de referinţă? Am varia diferenţa de potenţial aplicată fiecărui element luminos şi am măsura culoarea rezultată, nu-i aşa? Ei bine, exact această relaţie este cea formalizată în profilul de culoare pe care trebuie să-l asociem monitorului pentru a obţine rezultate previzibile!

Note

  1. În limba greacă photos înseamnă „lumină” şi graphein înseamnă „a desena”. Prin urmare nu se poate vorbi despre fotografie în lipsa unui material fotosensibil în care lumina însăşi să poată desena.
  2. În principiu chiar aşa funcţionează toate monitoarele şi televizoarele color din comerţ, de la cele cu tub catodic şi până la cele cu plasmă. Sigur, nu sunt niciodată beculeţe, dar întotdeauna sunt mici puncte colorate discrete. Din acest motiv puriştii spun că dintre dispozitivele care redau imagini doar proiectoarele se bazează cu adevărat pe modelul aditiv, fiindcă sunt singurele în care lumina celor trei componente chiar se suprapune. Evident că efectul practic este identic şi în cazul monitoarelor şi televizoarelor, fiindcă altfel toată teoria care stă la baza industriei actuale de profil ar fi invalidă – şi aveţi în faţa ochilor proba contrarie.
  3. De fapt luminozitatea în sens strict este dată de intensitatea totală numai în cazul în care cele trei beculeţe sunt perfect identice în toate privinţele, mai puţin culoarea. În realitate asta nu se întâmplă niciodată, din cauza compromisurilor de tot felul (pigmenţii sau substanţele chimice care emit lumina celor trei componente nu sunt perfect echivalente, iar în plus se fac tot felul de compromisuri pentru a obţine o gamă de culori cât mai apropiată de spaţiile CIE). Totuşi în mare definiţia din corpul articolului aproximează suficient de bine realitatea pentru înţelegerea conceptelor prezentate.
  4. Da, sigur că 100% = 1, dar dacă unitatea este procentul atunci valorile dintre 0 şi 1 ar fi convertite în valori între 0 şi 100 în procente, aşa cum valorile dintre 0 şi 1 leu pot fi exprimate şi ca valori între 0 şi 100 de bani.
  5. Veţi observa că folosesc cu consecvenţă sintagma un pic preţioasă „sistemul vizual uman” în loc să spun „ochiul” sau ceva de genul ăsta. Dar am o scuză: de la scena care se desfăşoară în faţa ochilor dumneavoastră şi până la imaginea pe care o percepeţi conştient, informaţia trece prin două sisteme care o alterează în egală măsură. În primul rând globul ocular, care este în sine un sistem optic în toată puterea cuvântului, cu lentile, diafragmă şi senzor. Dar chiar captată de receptorii de pe retină, informaţia care circulă prin nervul optic nu ajunge direct la funcţiile înalte ale creierului la care aveţi acces – nu, ea este preprocesată de „sistemul de operare” al creierului, sistem care o alterează semnificativ, adăugând şi eliminând elemente după cum este necesar, în coroborare şi cu alte informaţii senzoriale independente. Iar faptul că precizez cu la fel de mare obstinaţie că vorbesc de sistemul vizual uman este legat de faptul că acesta e singurul căruia i se adresează întreaga industrie grafică existentă, industrie care este nevoită să ia în calcul toate particularităţile acestui sistem vizual anume.
  6. Sunt un pic prea poetic aici – realitatea e că toate descoperirile ştiinţifice au fost idealizate pe toate planurile până când s-a dovedit că totul e mai complicat decât pare. De pildă Newton a propus atât o teorie idealizată a gravitaţiei cât şi o teorie idealizată a culorilor primare (vezi nota de la modelul aditiv şi modelul substractiv de culoare), dar la începutul secolului XX amândouă au fost ajustate semnificativ – de prima s-a ocupat Einstein, iar de a doua CIE, după cum vom vedea în continuare.
  7. CIE foloseşte un acronim aparent bizar – comitetul îşi are dintotdeauna sediul la Viena, dar acronimul se bazează pe numele în franceză. Nu uitaţi însă că în 1931 când a fost înfiinţat franceza era de departe cea mai importantă lingua franca. (În mod ironic sintagma lingua franca n-are nicio legătură etimologică directă cu limba franceză, ci vine de la numele generic de franci folosit în Orientul Apropiat în Evul Mediu pentru a desemna toate popoarele vest europene, în general catolice, din cauza unei confuzii legate de Cruciade. Prin contrast est europenii preponderent ortodocşi erau cunoscuţi sub numele generic de rûm, sau variaţiuni pe aceeaşi temă, din cauza copleşitoarelor colonizări romane din zonă.)
  8. Dar de ce nu e un cub perfect, de ce percepţia noastră n-ar fi uniformă de-a lungul şi de-a latul spaţiului culorilor? Răspunsul unui medic s-ar baza pe constatări fiziologice descoperite de bisturiu: nu este proporţional pentru că în retină avem mai mulţi receptori de tipul cutare, iar aceştia produc un răspuns diferit de ceilalţi, chestii de felul ăsta. Ceea ce ar fi perfect adevărat, dar n-ar răspunde la întrebare: bine, dar de ce? Din cauza mediului în care au evoluat simţurile noastre. Gândiţi-vă un pic: de-a lungul întregii noastre evoluţii am trăit sub un soare galben şi ne-am luminat peşterile cu un foc galben, ceea ce ne face să fim foarte mulţumiţi şi astăzi în iluminatul public cu lămpi pe bază de vapori de sodiu care produc o lumină gălbuie. Am evoluat preponderent într-un mediu înconjurat de chestii verzi (iarbă şi copaci), iar ameninţările erau preponderent gălbui sau maronii (aproape toate animalele de pradă au blana colorată în această gamă de culoare). Fructele pe care ne-am obişnuit de-a lungul evoluţiei să le reperăm sunt în general roşii, verzi, galbene sau ceva în zona asta. Culoarea care ne pune în alertă este culoarea sângelui – tot roşu. Aşadar practic toate informaţiile importante din punct de vedere evoluţionist ne vin de la doi dintre cei trei receptori de culoare: roşu şi verde, pentru că individual captează culori importante oricum, iar împreună răspund la toată gama de galben şi maro. Însă care e preponderent dintre aceştia doi? Roşul e foarte important: cele mai roşii fructe sunt coapte şi sunt mai bune de mâncat, iar o pată roşie pe corp necesită atenţie. Dar dacă ne amintim mantra evoluţionistă conform căreia cel mai adaptat supravieţuieşte realizăm că cel mai important rol al sistemului vizual este să dea alarma atunci când se mişcă ceva prin iarbă, prin tufişuri sau prin copaci – dintre toţi receptorii de culoare, cei care răspund la culoarea verde trebuie să fie cei mai sensibili. Prin urmare „cartoful” spaţiului de culoare pe care-l recunoaştem, parametrizat după răspunsul sistemului nostru vizual, ar trebui în linii mari să fie o formă turtită pe axa albastră şi alungită pe axa verde.
  9. Previzibil, dar nu liniar – vezi articolul corecţie gama pentru detalii.
  10. În cazul exemplului cu coordonatele polare cele trei dimensiuni ar fi unghiul faţă de planul orizonal, ungiul faţă de un plan oarecare vertical şi distanţa de la origine.
  11. Atenţie, luminozitatea e importantă ca parametru, dar este neinteresantă în sensul de banal, uniform. Am văzut în secţiunea anterioară că gama de culori pe care o percepem nu este uniformă pe direcţia celor trei culori componente dar este uniformă pe direcţia luminozităţii. Prin urmare ne interesează să găsim o formă de parametrizare în care să analizăm uşor componentele cromatice ale culorilor, dar fără să ne batem prea tare capul cu analiza luminozităţii.
  12. În realitate teoria este cu mult mai complicată, însă am preferat aici o abordare simplificată mai intuitivă.
  13. Gândiţi-vă la felul în care puteţi ajusta imaginea televizorului dumneavoastră. Cele mai importante setări sunt luminozitatea, contrastul şi saturaţia. Saturaţia controlează cât de aprinse să fie culorile (saturaţie nulă înseamnă imagine alb-negru), luminozitatea face imaginea să fie mai luminoasă sau mai întunecată, iar contrastul afectează în primul rând tot luminozitatea (contrastul măreşte sau micşorează diferenţa de luminozitate dintre cele mai deschise şi cele mai închise nuanţe). Dacă vă gândiţi acum la o culoare oarecare vă veţi da seama că şi aceasta poate fi descrisă folosind parametri similari: dacă-mi spui nuanţa de bază, saturaţia şi luminozitatea atunci eu pot să aleg un creion de culoarea pe care ai descris-o. De exemplu nuanţa: roşu, saturaţia: maximă, luminozitatea: medie este roşu pur. Dar nuanţa: roşu, saturaţia: maximă, luminozitatea: foarte mare este roz. Similar aş putea descrie un roşu ars (saturaţie maximă, luminozitate mică) sau un un roşu murdar (saturaţie medie, luminozitate medie). Marea reuşită a spaţiului XYZ este faptul că toate cele trei coordonate reprezintă informaţie cromatică (nuanţă şi saturaţie), dar numai Y reprezintă luminozitatea – o secţiune perpendiculară pe axa Y va conţine culori de luminozitate egală. Comparaţi asta cu cubul nostru ideal din secţiunea „Pe urmele tripleţilor”, unde luminozitatea se afla pe diagonala cubului.
  14. Mai există şi un spaţiu numit CIE 1964 care diferă în esenţă doar prin felul în care au fost analizate datele experimentale (s-au făcut măsurători noi, pe premize fiziologice mai moderne). Totuşi CIE 1931 este în continuare cel mai utilizat pentru analize teoretice.
  15. Într-adevăr, dacă într-un spaţiu bidimensional aş vrea să indic o direcţie faţă de origine, aş putea să vă ofer fie unghiul faţă de orizontală, fie raportul dintre coordonata x şi coordonata y a punctului respectiv şi v-ar folosi la fel de bine: n-aţi avea decât să calculaţi arctangenta raportului respectiv pentru a obţine unghiul corespunzător acelui raport. Acelaşi lucru se aplică şi într-un sistem de coordonate tridimensional. În plus, spaţiul de culoare XYZ este gândit în aşa fel încât toate valorile valide să se afle în optimea de spaţiu în care toate coordonatele sunt pozitive, astfel încât orice incertitudine cauzată de semn să dispară. (Incidental, da, în cursul experimentelor s-a dovedit că există în mod abstract şi conceptul de „culoare negativă”, iar spaţiul XYZ a fost gândit în aşa fel încât să aibă toate valorile pozitive, nu a rezultat în mod automat aşa. V-am avertizat că teoria e mai complicată.)
  16. „Lăbărţarea” asta e destul de relativă – nu uitaţi că secţiunile orizontale în acest spaţiu sunt în planul xy, plan care e dat de două coordonate deja normalizate. În realitate secţiunea nu se prea măreşte cu creşterea lui Y, ci mai degrabă există o singularitate la Y=0. Totuşi există o oarecare deformare a formei secţiunii pe măsură ce creşte Y, deformare legată de faptul că transformarea din spaţiul XYZ în spaţiul xyY este în ultimă instanţă o proiecţie a unui spaţiu pe celălalt – aşa cum o umbră se deformează în funcţie de înălţimea de la care pică lumina, aşa se deformează şi secţiunea în funcţie de Y. Dar la fel cum deformarea umbrei cu înălţimea sursei de lumină este plictisitoare şi previzibilă, la fel şi deformarea secţiunii prin cartof cu creşterea lui Y nu schimbă nimic semnificativ, indiferent de valoarea concretă a lui Y.
  17. Ar putea părea că această formă ar trebui să fie finită în sus – în ultimă instanţă, dacă ne uităm suficient la Soare ne prăjim retina, deci trebuie să existe o limită superioară a luminozităţii pe care o putem percepe. Deşi e adevărat că până la urmă am orbi, ne-am putea uita oricât la Soare şi tot nu ni s-ar părea că e perfect alb. Ori dacă nu există niciun punct în care toate culorile să se contopească spre alb (sau spre orice altă culoare), înseamnă că nu există niciun punct în care cartoful să fie tangent la un plan orizontal superior; iar dacă acest punct nu există înseamnă că nu există nici limită superioară.
  18. 18,0 18,1 O observaţie pe care o fac mulţi atunci când se întâlnesc prima dată cu acest concept este faptul că în centru nu se află alb ci o nuanţă de gri corespunzătoare înălţimii la care am secţionat cartoful. Acest lucru nu este adevărat, în centru se află exact alb. Motivul este legat de percepţia sistemului vizual în ansamblul său: indiferent dacă observaţi o fotografie sub lumina amiezii sau la lumina unei lanterne de buzunar, zonele albe din imagine vă vor apărea tot albe, deşi luminozitatea acelor zone diferă considerabil de la o situaţia la alta. De aceea albul nu este definit în mod absolut, ci ca lumina care stimulează în mod egal toate cele trei tipuri de senzori de pe retină, cu o intensitate relativ mare prin comparaţie cu ambientul. Ori dacă intensitatea este relativă înseamnă că găsim alb la orice intensitate.
  19. Însă poziţia pe linia care le uneşte nu este proporţională cu factorul de combinare – o combinaţie egală nu se află de obicei la mijlocul liniei şi aşa mai departe. Acesta este un efect al deformării spaţiului xyY cauzat de felul în care a fost acesta parametrizat. CIE a rafinat standardul din 1931 în alte standarde (CIE 1960, CIE 1964, CIE 1976) încercând să adreseze această problemă, însă rezultatele nu au fost niciodată perfecte.
  20. Vă daţi seama că pentru fiecare punct avem trei valori, iar o imagine de un megapixel conţine un milion de puncte – şi o imagine de un megapixel nu este ceva spectaculos. Deci deciziile pe care le luăm pentru fiecare punct se vor reflecta literalmente „înmilionit” în mărimea fişierului final, aşa că trebuie să fim destul de conservatori cu cantitatea de date pe care o alocăm fiecărui element din fiecare triplet asociat fiecărui punct.
  21. Există totuşi situaţii în care e prea puţin. De cele mai multe ori e suficient pentru prezentarea unei imagini, dar de cele mai multe ori nu e suficient pentru capturarea ei. O imagine capturată trece de cele mai multe ori prin procese de prelucrare ulterioare, procese care distrug în mod inerent o parte din informaţia stocată – chiar şi procese simple, precum ajustarea luminozităţii şi a contrastului pot degrada o imagine dacă a fost capturată la numai trei octeţi pe punct. De aceea pentru captură se preferă în general un format care să permită stocarea unei cantităţi mai mari de informaţie, chiar dacă ulterior pentru prezentare imaginea se transformă într-un format de felul celui descris în articol.
  22. Cei opt au fost Adobe, Agfa, Apple, Kodak, Microsoft, Silicon Graphics, Sun Microsystems şi Taligent. Taligent sunt singurii de care probabil n-aţi auzit, şi asta pe bună dreptate: nici nu mai există şi nici n-au fost vreodată foarte proeminenţi.
  23. Să ne înţelegem, în 1996 a fost propus standardul. În mod formal el a fost adoptat relativ curând, dar până când a fost adoptat în practică a mai durat ceva – de pildă în 2001 Microsoft încă mai publica studii care să arate că sRGB e mai bun decât alte standarde, încercând să convingă producătorii să-l adopte.
  24. 24,0 24,1 După cum am spus în altă notă de subsol, în realitate intersecţia geometrică a punctelor ilustrată aici nu este corectă, în sensul că poziţia unei nuanţe între alte două nuanţe din planul xy nu este proporţională cu nuanţa rezultată – cu alte cuvinte ilustraţia din articol este arbitrară şi inexactă. Am preferat totuşi o abordare intuitivă în detrimentul exactităţii.
  25. Evident că nu există lumină solară „standard”, deoarece calitatea luminii solare variază cu latitudinea, ora din zi şi condiţiile meteorologice, aşa că teoreticienii sunt nevoiţi să simuleze lumina naturală „standard” în laborator pentru a o putea studia.
  26. Chiar aşa, specificaţia e un tabel cu intensitatea normalizată a fiecărei componente spectrale de lumină, din 5 în 5 nanometri, de la 300nm la 830nm – rezultatul este un grafic oarecare de distribuţie spectrală. Motivul acestei descrieri riguroase este exact evitarea oricărui efect de metamerism care ar putea crea ambiguităţi.
  27. În realitate D65 corespunde temperaturii de 6504 Kelvin, deşi intenţia CIE a fost să corespundă temperaturii de 6500 Kelvin. Motivul este legat de corectarea constantei Planck după adoptarea D65.
  28. Dacă aţi fost surprinşi de afirmaţie uitaţi-vă mai cu atenţie la diagrama pe care sunt figurate culorile şi temperaturile asociate: cu cât temperatura este mai mare, cu atât culoarea este mai roşie, iar cu cât temperatura este mai mică, cu atât culoarea este mai albastră. Tindem să asociem invers culorile cu temperaturile din motive culturale. În realitate roşul este prima dintre culorile emise la încălzirea unui corp – ceea ce percepem noi drept căldură intensă (fier înroşit în foc, de exemplu) este o temperatură joasă pe scara folosită aici (fierul se topeşte la „doar” 1800 Kelvin). Acesta este de altfel motivul pentru care atunci când reglaţi punctul de alb al monitorului la o temperatură mai ridicată imaginea pare mai albăstruie.
  29. Standardele profesionale pentru fotografi, tipografi, producţie video şi cinematografică presupun un nivel mult mai scăzut de luminozitate ambientală, astfel încât să se minimizeze impactul luminii ambientale asupra percepţiei operatorului – pentru utilizatorul obişnuit însă aceste condiţii de lucru ar fi fost nerealiste.
  30. Adobe a mai publicat un standard şi mai larg la care a renunţat între timp (Adobe Wide Gamut RGB), dar pentru evitarea ambiguităţii se foloseşte uneori termenul Adobe RGB 1998 pentru spaţiul de culoare ne referim aici.
  31. Un octet conţine opt biţi, după cum îi spune şi numele. De obicei se numără biţii necesari pentru fiecare componentă de culoare, aşa că formatele care pot stoca 256 de valori pentru fiecare componentă se numesc „formate pe 8 biţi”, iar cele care stochează fiecare componentă pe câte doi octeţi se numesc „formate pe 16 biţi”. Aceeaşi convenţie se aplică în aproape orice context informatic atunci când este necesară specificarea cantităţii de informaţie disponibile pentru fiecare componentă de culoare.
  32. Terminologia îmi aparţine, nu ştiu dacă există termeni consacraţi pentru aceste concepte în acest context. Ideea e că o chestie prescriptivă spune cum ar trebui să se întâmple un lucru (gândiţi-vă la legi), în timp ce o chestie descriptivă explică în cel fel se întâmplă lucrurile în realitate (gândiţi-vă la statisticile de criminalitate).