Formatul RAW (imagini)
De la Capisci
Formatul RAW, de la termenul din limba engleză raw image format, s-ar traduce în română „formatul brut de imagine” şi este un format de imagine în care sunt stocate datele brute, neprocesate, capturate de senzorii unei camere foto digitale sau ale unui scanner. Dar cui îi trebuie aşa ceva?
Utilitate
Atunci când au apărut scannerele şi camerele foto digitale, senzorii nu aveau calitatea necesară pentru a captura prea multe nuanţe de culoare, aşa că spaţiul de culoare sRGB era suficient pentru stocarea imaginii capturate. Pe măsură ce calitatea senzorilor s-a îmbunătăţit, dispozitivele de captură au ajuns să poată capta o plajă mai mare de culori şi nivele de luminozitate decât cea care poate fi stocată într-un fişier JPEG, de exemplu. Ca atare cineva trebuia să decidă în ce fel să fie expusă imaginea: oricât de bun ar fi fost senzorul, imaginea finală din spaţiul sRGB sau Adobe RGB trebuia în mod necesar să reprezinte o gamă dinamică mai mică decât cea capturată de senzori.
Cele mai multe dispozitive moderne de captură de calitate rezonabilă, atât scannere cât şi camere de fotografiat, permit utilizatorului să aleagă între două moduri majore de stocare a imaginii: fie imaginea este stocată în spaţiul sRGB, lăsând dispozitivul să aleagă metoda de compresie a gamei dinamice, fie este stocată sub formă brută, urmând ca toţi paşii asociaţi cu compresia gamei dinamice să fie efectuaţi ulterior de către fotograf. Această a doua variantă de stocare produce imagini în format brut, aşa-numitul raw format în limba engleză.
Pe lângă informaţia brută provenită de la senzori, formatul raw conţine o grămadă de informaţii conexe despre imagine (informaţii care sunt stocate de altfel şi în imagini JPEG[1]), plus informaţii legate de senzor şi o reprezentare redusă a imaginii pentru identificarea vizuală a imaginii fără a fi necesară procesare suplimentară.
Care este de fapt informaţia brută?
Poate vă întrebaţi care este până la urmă informaţia asta brută care vine de la senzori. În primul rând hai să ne gândim cum am face să capturăm o imagine color folosind senzori de lumină alb-negru – exact, senzorii de lumină din camera dumneavoastră de fotografiat sunt sensibili doar la intensitatea luminii, nu şi la culoarea ei. Dacă vă amintiţi din articolul despre modelul aditiv şi modelul substractiv de culoare, în modelul substractiv putem folosi pigmenţi pentru a absorbi culori la alegere, indiferent dacă suportul pigmentului este opac sau transparent. Prin urmare am putea pune o chestie transparentă dar colorată în faţa unui senzor, obţinând un senzor sensibil numai la culoarea pe care am ales-o. Ei bine, chiar aşa se procedează: senzorii din camerele foto digitale au fiecare în faţă câte un mic filtru de culoare. Şi pentru că lucrăm cu lumină înseamnă că operăm în cadrul modelului RGB, deci trebuie să avem senzori pentru roşu, verde şi albastru.[2]
Dar senzorii sunt pătrăţoşi – cum facem să organizăm senzori pentru trei culori într-o matrice dreptunghiulară? Nu uitaţi că fiecare senzor capturează câte o culoare dată dintr-o zonă foarte mică, deci într-un fel sau altul trebuie ca senzorii să fie distribuiţi cât mai uniform. O variantă ar fi să căutăm cea mai mică „unitate” de câte trei culori şi să o dispunem repetitiv pe matricea senzorilor, încercând pe cât posibil o distribuţie uniformă. Un exemplu ar fi cel reprezentat în diagrama de mai jos:
R | G | B | R | G | B |
G | B | R | G | B | R |
B | R | G | B | R | G |
R | G | B | R | G | B |
G | B | R | G | B | R |
B | R | G | B | R | G |
Varianta propusă mai sus are însă o sumă de defecte:
- în primul rând, punctele rezultate nu ar acoperi uniform imaginea – rezoluţia rezultată pe verticală ar fi de trei ori mai mare decât rezoluţia pe orizontală. Punctul final trebuie deci să fie compus dintr-un set cât mai pătrăţos de senzori discreţi.
- punctele finale ar fi compuse în mod ciudat şi complicat, prin interpolarea informaţiei capturate în zig-zag. Senzorii trebuie deci dispuşi cât mai aproape de o matrice rectangulară în raport cu punctele finale.
- producţia ar fi complicată – procesele industriale automate sunt avantajate de modele repetitive uşor de obţinut. Punctul final trebuie deci să fie compus dintr-un set de senzori cât mai bine definit şi uşor de repetat pe matricea de senzori.
În 1976 un domn pe nume Bryce E. Bayer care lucra la Kodak a coroborat toate cerinţele de mai sus cu faptul că informaţia despre luminozitate este mai importantă decât componenta cromatică şi a patentat o dispunere de forma următoare:
C1 | Y | C1 | Y | C1 | Y |
Y | C2 | Y | C2 | Y | C2 |
C1 | Y | C1 | Y | C1 | Y |
Y | C2 | Y | C2 | Y | C2 |
Dar noi vrem să capturăm roşu, verde şi albastru – cum folosim ideea lui Bayer? Păi ştim deja din articolul despre modelul RGB că sistemul nostru vizual are o preferinţă pentru culoarea verde; mai ştim tot de acolo că tocmai componenta verde a fost folosită de CIE atunci când a parametrizat spaţiul XYZ – prin urmare ajungem la concluzia că una dintre cele mai convenabile distribuţii pentru senzori ar fi următoarea:
B | G | B | G | B | G |
G | R | G | R | G | R |
B | G | B | G | B | G |
G | R | G | R | G | R |
Nu uitaţi că toţi senzorii sunt identici – am folosit fundaluri diferite în diagramele de mai sus numai pentru a ilustra distribuţia punctelor finale în formatul raw, dar în realitate imaginea brută nu conţine nicio delimitare reală. Prin urmare formatul raw conţine pur şi simplu o imagine alb-negru cam de patru ori mai mare decât imaginea color finală.[3] Dacă sunteţi curioşi să vedeţi nişte exemple reale de imagini raw vă puteţi uita la imaginile brute publicate de ESA pe site-ul misiunii Mars Express – imaginile capturate de camera cu rezoluţie scăzută sunt publicate în format brut, aşa cum este de exemplu aceasta.
Note
- ↑ Este vorba despre informaţia stocată în formatul Exif – timpul de expunere, deschiderea diafragmei, modelul aparatului foto şi al obiectivului folosit, data la care a fost capturată imaginea şi aşa mai departe.
- ↑ De fapt există şi alte modele de aranjare a senzorilor decât cel pe care îl descriu aici, însă filtrul Bayer RGB descris aici este în mod copleşitor majoritar ca nivel de utilizare. Pentru alte metode şi modele vezi http://en.wikipedia.org/wiki/Bayer_filter
- ↑ „Cam” de patru ori fiindcă în funcţie de algoritmul de interpolare folosit la conversie este posibil ca punctele de pe marginea imaginii să fie inutilizabile – în acest caz ele sunt folosite pentru interpolarea valorilor punctelor mai din interiorul imaginii şi apoi sunt pur şi simplu tăiate din imaginea finală.