Despre pixeli si culoare
Acesta este un articol fara poze, pe care veti fi tentati sa il treceti cu vederea, dar sper ca il veti gasi deopotriva de instructiv. Va invit la o “agreabila” lectura despre sistemul de management al culorilor in fotografia digitala. Probabil ca ati inchis deja pagina, dar eu o sa merg totusi mai departe cu notiuni de baza in fotografia digitala sau:
1. Cum este retinuta informatia despre culoare in imaginea digitala.
Cu totii am auzit de pixel. Pixelul (denumire provenita din “picture element”) este cel mai mic element al unei imagini digitale. Pixelii sunt patratelele colorate care se vad cand mariti la maxim o imagine in photoshop.
Calculatorul stocheaza informatiile folosind sistemul binar, adica prin intermediul a doua cifre 0 si 1. Cea mai mica celula de memorie se numeste bit si poate avea valoarea 0 sau 1. Aceste valori numerice sunt expresia unui fenomen fizic care are loc in acea celula, cum ar fi daca trece sau nu curent electric prin ea.
Termenul de bit depth in imaginea digitala defineste numarul de biti alocati unui pixel. De exemplu, o imagine compusa din pixeli albi si negri este o imagine pe 1 bit. Fiecarui pixel ii este alocat 1 bit, care poate fi 0 sau 1 (negru sau alb). Daca ridicam numarul de biti la 2, pixelul va avea alocate urmatoarele valori: 00, 01, 10(unu-zero) si 11(unu-unu). Imaginea poate avea 4 valori posibile per pixel (negru, gri inchis, gri deschis si alb) si asa mai departe pentru 4, 8, 16, 32 de biti.
In prezent formatul comun al imaginii digitale este 8 biti, adica 2^8 combinatii posibile de 0 si 1, in total 256 de combinatii. Aceste imagini au 256 de nuante de gri per pixel. Cercetatorii au constatat ca pentru a simula un degradeu de la alb la negru care sa para continuu pentru ochiul uman este nevoie de 240 de tonalitati. Asadar standardul de 8 biti este suficient pentru a crea o imagine alb negru cu tonuri continue.
Imaginea color RGB este de fapt o combinatie de 3 imagini pe 8 biti, cate una pentru canalele rosu (RED), verde(GREEN) si albastru(BLUE). Imaginea RGB este o imagine cu 8 biti pe canal sau imagine pe 24 de biti, capabila sa redea (2^8)x(2^8)x(2^8) culori, adica 16.7 milioane de culori.
Modul RGB cu 8 biti/canal este standardul in fotografia digitala actuala.
Desi matematic este posibil sa reprezinti numeric aceste culori, practic nu exista inca display-urile sau imprimantele care sa le si poata reda. De aici a aparut nevoia de a defini un spatiu care sa contina doar acele culori ce pot fi redate fizic.
Pe scurt, ce trebuie retinut este ca:
Imaginea este formata din pixeli.
Pixelul are o valoare numerica care ii defineste culoarea.
Imaginea alb negru pe 8 biti este formata din pixeli care pot avea 256 de nuante de gri.
Imaginea RGB cu 8 biti/canal este formata din pixeli care pot avea 256 de nuante pe trei canale Rosu, Verde, Albastru.
2. Ce sunt modul de culoare si spatiul de culoare?
Modul de culoare este o metoda de a asocia componentele primare si de a le da valori numerice. Spre exemplu, modul RGB asociaza 3 componente primare (Red-Green-Blue), CMYK patru componente (Cyan-Magenta-Yellow-blacK)
Unele moduri de culoare, cum ar fi x,y,Y sau L*a*b cuprind toate culorile din spectrul vizibil si asociaza o valoare numerica fiecarei culori in functie de pozitia acesteia in spectru. Valorile sunt determinate prin experimentare in laborator cu subiecti umani. Valorile numerice determina precis pozitia fiecarei culori in spectrul vizibil. Aceste moduri au avantajul de a fi independente de orice aparat care capteaza sau reda imagini digitale, insa depasesc cu mult gama de culori in care acestea lucreaza. Din acest motiv, desi este posibila, editarea imaginilor in aceste spatii de culoare nu este deloc intuitiva, ca si cum ai incerca sa pictezi legat la ochi. Modul l*a*b este folosit ca limbaj comun in conversia spatiilor de culoare cu ajutorul profilelor ICC, asa cum voi arata in continuare.
Alte moduri de culoare sunt abstracte, de exemplu RGB si CMYK, si nu au definite o scara de referinta, ele definesc raportul dintre componente, insa fara sa stabileasca o unitate de masura.
De exemplu valorile R100 G50 B5 arata doar ca rosu este de doua ori mai mult decat verde si de 20 de ori mai mult decat albastru, insa nu ne spune cat de rosu este acest rosu. Prin analogie, modul RGB se aseamana cu o reteta de paine fara unitati de masura: 100 faina, 50 apa, 5 drojdie. Daca am cunoaste unitatile de masura, toti am putea sa facem aceeasi paine.
Daca, spre exemplu, un client imi solicita sa schimb culoarea unui obiect dintr-o fotografie de produs in anumite valori RGB, trebuie sa il intreb in ce spatiu de culoare trebuie plasate acele valori, astfel incat sa pot avea aceeasi reprezentare ca si el.
Spatiul de culoare este un mod de culoare abstract care are definita o scara de referinta. Elementele componente sunt plasate intr-un spatiu tridimensional, in care valorile componentelor definesc mereu aceeasi culoare. Adobe RGB 1998, sRGB, Prophoto RGB, ColorMatch RGB, Apple RGB sunt spatii de culoare ale modului RGB, fara sa fie insa si identice, ele ocupa spatii diferite in spectrul de culori vizibil ochiului uman. Spre exemplu verde maxim in Adobe RGB 1998 este diferit ca nuanta de verde maxim in sRGB, desi ambele culori au aceleasi valori abstracte. Aceste spatii de culoare incearca sa reduca culorile din spectrul vizibil la cele care pot fi redate de aparatele electronice, pentru a face mai usoara editarea digitala a imaginilor. Desi sunt independente de un dispozitiv anume, ele au la baza o caracteristica generala a acestora si sunt definite pe baza unor conventii.
Informatia cu privire la spatiul de culoare in care se regasesc valorile RGB ale pixelilor si corelatia acestuia cu un mod de culoare independent, constituie profilul ICC al imaginii, sau profilul sursa. Nu toate aplicatiile sunt apte de a citi acest profil ICC si de a-l aplica in Sistemul de Management al Culorilor (SMC). Spre exemplu versiunile mai vechi ale Internet explorer nu fac diferenta intre spatiile de culoare, ci introduc valorile RGB in spatiul sRGB, ultima versiune de Firefox foloseste profilele ICC pentru o redare corecta a imaginilor. De aici si nedumerirea user-ilor care constata ca imaginea arata diferit in diverse browsere. Ca regula, reprezentarea fidela a culorilor unei imagini pe monitor poate fi obtinuta numai intr-o aplicatie care lucreaza in SMC, cu conditia evident ca monitorul sa fie calibrat si profilat corespunzator.
3. Spatiul de culoare specific aparatelor electronice care capteaza sau redau imagini digitale
Fiecare aparat de fotografiat, scanner, monitor sau imprimanta percepe sau reda culorile intr-un anumit spatiu de culoare specific. Acest lucru se poate datora spre exemplu tehnologiei si materialelor diferite folosite. Culorile din aceste spatii de culoare sunt date de vopseaua, pigmentul sau filtrul folosit.
Profilul ICC descrie modul in care reda culorile aparatul caruia ii este asociat, prin raportare la un mod de culoare independent, de regula l*a*b. El permite culorilor din imaginea sursa sa fie asociate culorilor corespunzatoare din spatiul de destinatie. Orice aparat are asociat de catre producator un profil ICC generic, creat pentru toate aparatele din acea gama. Un profil ICC personalizat pentru un anumit aparat se poate obtine prin operatiunea de calibrare si de profilare cu un dispozitiv hardware specializat cum ar fi seria Spyder 4 de la Datacolor sau Xrite i1. Aceste profile sunt ulterior salvate intr-o locatie comuna pe calculator (ex: WindowsSystem32spooldriverscolor pentru sistemele de operare windows xp, vista, 7), pentru a putea fi folosite de aplicatiile care lucreaza intr-un SMC.
4. Sistemul de management al culorilor (SMC)
Aplicatiile care aplica SMC cum este Adobe Photoshop, convertesc informatia din profilul ICC sursa in profilul ICC destinatie, pentru a obtine o reprezentare cat mai fidela a culorilor din fisierul imagine pe monitorul calculatorului sau pe pagina tiparita. Desigur ca trebuie sa fim realisti in asteptarile noastre, datorita diferentelor mari dintre spatiul de culoare sursa si spatiul de culoare destinatie, translatarea culorilor s-ar putea sa nu fie perfecta, insa vom obtine cel mai bun rezultat in conditiile date. Despre metodele de conversie a culorilor din spatiul sursa, care sunt in afara spatiului destinatie (out of gammut) poate voi vorbi intr-un articol viitor.
Pentru a lua o imagine dintr-un spatiu de culoare si a o converti intr-un alt spatiu de culoare este nevoie de cele doua profile ICC (sursa si destinatie) si de un translator care cunoaste modul de culoare independent (L*A*B) la care se raporteaza cele doua profile ICC. Translatorul folosit de Photoshop se numeste ACE (Adobe Color Engine) si este disponibil numai pentru aplicatiile Adobe. Sistemele de operare Windows XP, Vista, 7 au propriul motor de conversie numit ICM (Image Color Management). Rezultatele obtinute in aplicatii diferite, care lucreaza in CMS, pot fi sensibil diferite, datorita algoritmului diferit folosit de motoarele de conversie. Din pacate acesta este un fapt cu care trebuie sa ne obisnuim, incercarile de a face aplicatii diferite, dar setate corect, sa translateze in mod absolut identic imaginea dintr-un spatiu in altul sunt sortite din start esecului.
5. Afisarea imaginii prin compensare
Adobe Photoshop foloseste o tehnica numita “Display using Monitor Compensation”, care ii permite sa faca in timp real conversia imaginii din spatiul de culoare sursa in spatiul de culoare destinatie al monitorului, cu conditia sa existe profilele ICC, atat al imaginii cat si al monitorului. Asa cum am aratat mai sus, profilul ICC al monitorului descrie comportamentul acestuia in reprezentarea culorilor. Chiar daca monitorul are o tenta verde sa zicem, daca aceasta este inregistrata in profilul ICC, Adobe Photoshop va face compensarea necesara pentru redarea corecta a culorilor.
Datorita afisarii prin compensare nu este necesar ca monitoare diferite sa fie identice in comportament. De altfel, scopul calibrarii si profilarii nu este de a aduce toate monitoarele la un comportament identic, ci de a inregistra comportamentul specific fiecaruia in conditiile stabilite in procesul de calibrare.
Atat timp cat acest comportament este inregistrat in profilul ICC, Photoshop va afisa imaginea cu compensarile necesare, pentru a obtine o redare identica pe orice monitor.
In speranta ca mai citeste cineva, va urez un Paste fericit si profile de culoare numai bune pentru oua rosii!
12 comentarii
Multumesc. Foarte interesant. Paste Fericit!
si eu multumesc pentru niste informatii utile si bine structurate. Paste Fericit!
Pfua, în sfârșit o explicație clară si la obiect! Merci fain 🙂
E x c e l e n t, Sarbatori Fericite!
Foarte misto articolul, mersi si la mai multe!
Interesant si util.
Foarte bun articol! Multumim!
foarte bine detaliat (vreau si continuarea)
Multumim! Foarte instructiv si chiar ne prind bine, noua incepatorilor astfel de articole .
Multumesc o flosesc pt dizertatia mea
E bun articolul in ansamblu . dar am dori o aplicare concreta , adica niste raspunsuri la urmatoarele intrebari : Aparatele foto in ce norma ar trebuii setate in SRGB s-au RGB , care ar fi setarile corete in programul de grafica Adobe CS 5 ? Ce profil de culore sa folosim de ex adobe 1998 ? Daca am calibrat monitorul cu Spyder 4 , acel profil al monitorului trebuie setat ca profil de culoare in programul de grafica ?Multumesc
excelent