21.10.2009 | 18:57
No grayscale je koliko sam skuzil minimalno 8bitni, ili se to kaže 8 bit-depthni
!?
"8-bit depthni" je točnije jer usput definira na što se tih 8 bitova odnosi (na "dubinu" slike).
Koliko sam skuzil bitmap mod bi bio 1=white 0=black i bil bi 1bit-depthni?!
A grayscale mod bi bil naprimjer(please bez ruganja ak sam debelo pobanalisao) 00010111 i onda je to N% siva i bil bi 8bit-depthni?!
Ovih 8 bitova nam onda daje na raspolaganje svojim kombinacijama 256 mogučih tonova sive?
Ali mene zanima kaj je fakin "bit-depth"?
Di se te nule i jedinice zmešaju u jednom pixelu da bi on bio 00010111 = siv?
Ak je pixel njmanja vizualna jedinica monitora kako se onda ona može djeliti na 8 bitova = binary digita?
Zamisli da imamo 8 prozirnih folija (onih za grafoskop), naslaganih jednu na drugu, i crni flomaster. Svaka od folija ima (identičnu) mrežu prethodno ucrtanih kvadratića (neka tih kvadratića bude 4x3 - moglo bi ih biti i 800x600 ili 1024x768) koje možemo ispuniti crnom bojom koristeći flomaster. Terminologije radi, te kvadratiće ćemo zvati "pixeli" (picture elements), a 4x3 je "rezolucija".
Sad maknemo 7 folija. Pred nama ostaje jedna folija, a u ruci nam je flomaster. To u što gledamo je ekvivalent Photoshopovog "Bitmap" moda. Ono što mi vidimo kao "crni pixel" gore-lijevo (a sve ostalo kao "bijele/prozirne pixele" ), računalo pojmi kao sljedeći niz bitova: 1000 0000 0000 (razmak puštam samo radi bolje čitljivosti, da se lakše snađemo što je u kojem retku naše 4x3 mreže). Potrebno mu je 12 bitova da pohrani tu "sliku".
Da smo imali crveni flomaster (umjesto crnog), kvadratić koji smo obojali na foliji bio bi nama vidljiv kao crven, ali računalo tu informaciju nema jer nije sadržana među podacima (u gornjem nizu bitova). Sadržana je samo informacija o tome da je "kvadratić obojan".
Sad pretpostavimo da nam treba boja. Skromni smo, ne treba nam odmah 16 milijuna boja, dovoljne su nam, recimo, dvije (ne računajući "temeljnu" koju doživljavamo kao "ugašene pixele", dakle "0" ). U jednom bitu ne možemo čuvati toliko informacija (jer može imati samo dvije kombinacije stanja: "0" i "1" ). Ali već s dva možemo (raspoložive kombinacije bitova su "00", "01", "10" i "11" ). Štoviše, s dva bita imamo taj "luksuz" da osim ugašenog stanja ("00" ) imamo još 3 različite kombinacije bitova ("01", "10" i "11" ) koja možemo iskoristiti za definiranje boja.
Što zapravo znači "definiranje boja"? Znači nekakav dogovor (!) da će "01" biti, recimo, smeđa, "10" ljubičasta, a "11" plava. Ili bilo koje druge. Takva, proizvoljna dodjela konkretnih boja kombinacijama bitova poznata je kao "indeksiranje boja".
I konačno dolazimo do "dubine".
Na foliju pred nama stavimo još jednu foliju, povrh. Sad gledamo u dvije folije. Donju smo već popunili (ucrtali smo jedan "pixel" ), a gornja je netaknuta. Računalo sada ono što nama izgleda identično kao i malo prije, interpretira kao 0000 0000 0000 1000 0000 0000. Prvih 12 bitova predstavlja informacije na gornjoj foliji, drugih 12 su informacije s prve sada donje, folije.
Zahvaljujući "dubini", podatke sad "čitamo" (ne mi nego grafički čip) "okomito". Pa računalo (grafički čip) prvi kvadratić/pixel više ne "vidi" kao "0" nego kao "01". Nulu je pročitao na gornjoj foliji, jedinicu na donjoj. Nakon toga zaviri u "indeks" boja i zaključi da će prilikom prikaza, pixel koji smo prethodno obojali (crnom) prikazati smeđom bojom. Crnom (flomaster iz naše priče) smo ga samo označili "uključenim".
Ako sad, eksperimenta radi, drugi pixel u prvom redu (na gornjoj foliji) obojamo našim crnim flomasterom, računalo će u memoriji sliku "vidjeti" kao 0100 0000 0000 1000 0000 0000. Kad je interpretira za prikaz, osim smeđeg prvog pixela, imat ćemo i ljubičasti drugi pixel jer ga čita kao "10" (što smo definirali kao ljubičastu). Da ne bude zabune, jedinica u ovom "10" je drugi po redu bit u nizu, a nula je očitana kao 14. bit istog niza.
Zašto su bitovi posloženi u nizu, a ne "dubinski", kao što ih moramo čitati? Zato jer je memorija linearna (jednodimenzionalna), nije "višedimenzionalna".
I to je sva mudrost.
Ako naslažemo i preostalih 6 folija nazad na hrpu (pa će ih ukupno biti 8), imat ćemo "8-bit depth" i raspolagati s 256 "indeksa boja". "Grayscale" (onaj u Photoshopu) će tih 256 indeksa iskoristiti za nijanse sive.
Isto vrijedi i za 24-bitni mod zahvaljujući kojem imamo na raspolaganju 2^24 kombinacija bitova odnosno poznatih 16.777.216 indeksa (boja).
Jasnije?