Grafika-podstawy
I.Wstępne pojęcia grafiki komputerowej
A. Definicja:
grafika komputerowa - obszar dotyczący wyświetlania i nadzorowania obrazów na
ekranie komputera (Encyclopedia Britannica).
B. Działy wg Encyclopedia Britannica
1. sztuki piękne w którym artyści używają ekranu komputera jako medium do tworzenia
obrazów, filmów rysunkowych, wizualizacji projektów. Najpopularniejsze tego
rodzaju oprogramowanie na sprzęt klasy IBM PC to cała seria oprogramowania firmy
Adobe - takie jak PhotoShop grafika bitmapowa i Premiere filmy i animacje, do
tego PhotoPaint firmy Corel Corporation, PaintShopPro.
2. projektowanie komputerowe (computer-aided design systemy CAD), gdzie komputer
służy jako narzędzie do projektowania i dostarcza interaktywnych narzędzi inżynierom
i projektantom. Przykłady: różne programy ze słowem CAD w nazwie - najpopularniejsze
to AutoCAD, ArchiCAD, OrCAD a więc programy inżynierskie, graficzne
- CorelDraw, Harvard Graphics, Adobe Illustrator
3. wizualizacja - od naukowej (wiele specjalistycznego oprogramowania
z poszczególnych dziedzin nauki z których niewiele wykracza poza swoja dziedzinę
(np. Statistica czy Mathematica) poprzez użytkową (programy do renderingu 3D
Studio i POV-Ray oraz symulacji rzeczywistości) do rozrywkowej.- głównie gry
4. współdziałanie człowieka i komputera systemy operacyjne głównie okienkopodobne.
II. Historia
− rok 1950 - Massachusetts Institute of Technology komputer Whirlwind wyposażony w grafoskop
- specjalne urządzenie pozwalające rysować na lampie oscyloskopowej zadane
obiekty typu punkty, linie, wypełnione obszary.
− kolejne 15 lat zdominowane przez zastosowania militarne, głównie dotyczące wizualizacji -
z istotnym czynnikiem kosztów urządzeń.
− połowa lat sześćdziesiątych - początki zastosowań komercyjnych w dużych firmach branży
motoryzacyjnej i lotniczej. Początki systemów CAD.
− początek lat 70 - gwałtowny rozwój elektroniki, technologia monitorów CRT, rozwój kolorowej
grafiki stymulowanej symulatorami lotu dla potrzeb wojska, rozpowszechnienie system
ów CAD.
− koniec lat siedemdziesiątych - rewolucja mikrokomputerowa - komputery projektowane od
Grafika komputerowa - wykład 2/111
dr Rafał Kawa - II UJ, EPI 2/111
początku dla zastosowań graficznych. Zasadnicza rola firmy Apple z systemem okienkowym.
Programy do obróbki bitmap.
− początek lat osiemdziesiątych - rozwój elektroniki prowadzący do radykalnego potanienia
urządzeń i wkroczenie grafiki w nowe rejony takie jak rozrywka i wizualizacja.
− lata osiemdziesiąte - ukształtowanie grafiki komputerowej w obecnej postaci. Nowe zastosowania
- przetwarzania obrazów, systemy OCR, modelowanie graficzne, zastosowanie
komercyjne, grafika prezentacyjna, reklamowa.
− przełom lat osiemdziesiątych i dziewięćdziesiątych - kolejne nowe obszary zastosowań -
animacja, rendering, sztuczna rzeczywistość, powszechność graficznych systemów operacyjnych.
− dalszy gwałtowny rozwój powodowany rosnącą mocą komputerów - w pełni wirtulane filmy,
wirtualna rzeczywistość, rekonstrukcje historyczne. Rozwój internetu stymulujący rozpowszechnienie
wszystkich wcześniejszych dziedzin. Powszechność graficznych interfejs
ów systemów operacyjnych.
III. Percepcja bodźców świetlnych
A. Budowa i działanie ludzkiego oka
kulisty, od 16 mm do 24 mm. Zewnętrzna warstwa:
twardówka - 0.5 - 1.0 mm - gruba, zewnętrzna, biała, nieprzeźroczysta warstwa zewnętrzna,
przechodząca w przedniej części w:
rogówkę - przeźroczystą i silnie wypukłą
Wewnątrz twardówki znajduje się
naczyniówka - splot naczyń krwionośnych odżywiających oko.
Naczyniówka w przedniej części przechodzi w:
ciałko rzęskowe - zawierające mięśnie sterujące soczewką oka
oraz
tęczówkę - narząd sterujący ilością światła wpadającą do oka, poprzez zespół mięśni
powodując swoje rozszerzanie i zwężanie w zakresie od 2 do 8 mm.
Wewnętrzny otwór w tęczówce nazywany jest:
źrenicą - i poprzez ten otwór światło wpada do oka.
Ciałko rzęskowe przymocowane jest to przeźroczystej torebki w której znajduje się:
soczewka - przeźroczyste, stosunkowo giętkie ciało, dopasowujące się do kształtu
torebki poruszanej mięśniami ciałka rzęskowego. Pozwala to zmienić
ogniskową soczewki
Wewnętrzną warstwą oka jest najważniejszy organ czyli:
siatkówka - warstwa komórek i włókien nerwowych odbierających i przewodzących
bodźce świetlne.
Składa się z komórek receptorów zakończonych:
czopkami - (około 9 mln sztuk) - działającymi w dzień i pozwalającymi widzieć
barwy przy jasnym świetle
oraz
pręcikami - (około 100 mln sztuk) - działającymi przy słabym świetle i pozwalają
widzieć odcienie szarości.
Czopki i pręciki rozłożone są nierównomiernie, ale największe ich skupienie to:
plamka żółta - okrągła, od 2-3 milimetrów, znajdująca się w środku siatkówki
i zawierająca wyłącznie małe czopki w dużym zagęszczeniu.
Siatkówka skupia swoje połączenia poniżej centrum tylnej części oka przechodząc
w nerw wzrokowy dochodzący do mózgu. Jego środkowa część zawarta w oku jest
nieaktywna, tworząc plamkę ślepą.
Pomiędzy rogówką a tęczówką znajduje się komora przednia gałki ocznej wypełniona
cieczą wodnistą., zaś przestrzeń między soczewką a siatkówką wypełniona jest ciałem
szklistym. Na zewnątrz oko pokryte jest spojówką - ochronną błoną śluzową zwilżaną
cieczą łzową.
akomodacja - proces przystosowania oka do najlepszego odbioru. Oko porusza się
w ten sposób by obraz padający na rogówkę i tam skupiany oraz odwracany w soczewce
padał na plamkę żółtą. Następnym etapem jest regulacja ostrości poprzez wygięcie
soczewki oraz regulacja ilości światła poprzez źrenice.
mikroruchy - oko nieustannie się porusza - tylko zmiana bodźców wywołuje reakcję
mięśni. Przy braku zmian bodźców po kilku sekundach następuje zanik widzenia. Tylko
zmiany docierają do mózgu.
IV. Istotne elementy postrzegania wzrokowego
− kontrast - różnica postrzegania pomiędzy obserwowanym obiektem a tłem. Stanowi
podstawę widzenia. Istotne znaczenie ma jasność właśnie tła - a nie samego obiektu -
jako że tło dostarcza sumarycznie więcej bodźców. Może całkowicie wytłumić obraz
obiektu.
Jasny kolor tła rozjaśnia wewnętrzny kwadrat w stosunku do jasności tego samego co
do koloru i wielkości kwadratu na ciemnym tle.
Wielkość obserwowalnego progu kontrastu zależy od wielkości kątowej obserwowanego
obiektu oraz stanu adaptacji oka. Im mniejszy obiekt tym próg kontrastu
większy, najmniejszy próg kontrastu przy obiektach wielkości kilku minut kątowych
i luminancji 1000 cd/m2 .
Oko wzmacniania kontrast - w pobliżu granicy obszarów o różnej kontrastowości.
Obszary danej barwy w pobliżu ciemnego obszaru wydają się jaśniejsze, zaś te same
obszary - ale w pobliżu obszaru jaśniejszego wydają się ciemniejsze. Na rysunku prostokąty
w górnym rzędzie są jednolite - podobnie jak te w rzędzie poniżej. Jednakże
prostokąty z rzędu górnego, wobec styczności z innymi oraz właśnie efektu wzmacniania
kontrastu na brzegach sprawiają wrażenie wypukłych. Pozorne jaśniejsze lub ciemniejsze
obszary w pobliżu granic noszą nazwę pasm Macha.
Wyjaśnieniem jest blokowanie komórek widzących fragmenty ciemniejsze, przez sąsiednie
komórki odbierające obrazy jaśniejsze.
Występuje też zjawisko irradiacji, polegające na pozornym powiększeniu jaśniejszych
obiektów na ciemnym tle i na odwrót - co można zaobserwować na obrazku - gdzie
wewnętrzne koła są jednakowych rozmiarów, a mimo tego prawe wydaje się większe.
− rozdzielczość - zdolność do rozróżniania szczegółów widzianego obrazu. Wyznacza
docelowy dążeń grafiki komputerowej. Zależy od gęstości receptorów na siatkówce
oraz efektów ubocznych oka jako układu optycznego. Plamka żółta (najostrzejsze
widzenie) obejmuje tylko1° kąta widzenia, gdy już w zakresie 3° rozdzielczość spada
o połowę, by przy 5° wynosić około 10%.
Pozorny zakres ostrego widzenia wynoszący około 20° jest wynikiem mimowolnych
ruchów gałki ocznej oraz mózgu - a więc pamięci osobniczej.
Maksymalna rozdzielczość uzyskiwana jest przy otworze źrenicy wynoszącym
3 mm, zaś rozróżnialność punktów jest zależnością kątową obrazu i wynosi około jednej
minuty kątowej. Obiekty wewnątrz tego zakresu nie są rozróżnialne
− bezwładność - odbieranie przerywanych bodźców jako ciągłe - powodowane pobudzeniem
receptorów które wygasająca przez określony okres czasu zależny od kilku czynnik
ów. Pomiędzy wystąpieniem pojedynczego (początkowego) bodźca występuje okres
utajnienia (braku reakcji) trwający pomiędzy 50 a 200 ms, po czym pojawia się obraz
pierwotny którego intensywność gwałtownie rośnie, w krótkim okresie czasu gwałtownie
spada do niskiej wartości by następnie maleć wolniej. Przy pojawienia się obrazów
pierwotnych kolejnych pokazów występuje wrażenie ciągłości. Częstotliwość ta wynosi
od 5 do 20 Hz. Poniżej tej wartości brak wrażenia ruchu, a powyżej gubi się wrażenie
ruchu na skutek omijania obrazów pośrednich. Tym samym w jednej sekundzie powinno
być nie mniej niż 24 kolejne obrazy. Wielkość ta rośnie w przypadku konieczności
pokazania oprócz ciągłości wyświetlania również ciągłości ruchu. W tym przypadku
ilość obrazów w jednej sekundzie musi wzrosnąć do 30. W przypadku obrazów o dużej
luminancji (świeceniu - ekrany telewizorów i monitory), powodującej większą bezwładność
- częstotliwość musi być znacznie większa - do około 60 Hz.
− adaptacja - zdolność do przystosowania wzroku do zmian oświetlenia. Zakres zmian
promienia źrenicy to do 2 mm do 8 mm, co oznacza zmianę pola powierzchni od 1 do
16. Zakres luminescencji od 10-6
do 106. Różnica wynosi 1 000 000 000 000 - a mimo
to ludzkie oko jest w stanie się dostosować, przy czym odbierane wrażenie jaskrawości
jest zależne logarytmicznie od luminancji. Ponadto występuje adaptacja oka do barwy,
polegająca na początkowym rozróżnianiu tej samej barwy w zależności od oświetlenia,
bo po pewnym czasie nie dostrzegać tego rodzaju różnic.
V. Barwa w grafice komputerowej
A. Pojęcie barwy
Pojęcie subiektywne, zależne od obserwacji, brak jednolitej teorii, przed zastosowaniami
komputerowymi osobne traktowanie w fizyce (fala świetlna ze wszystkimi
aspektami fali), biologia (postrzeganie poprzez komórki nerwowe oka), psychologia
(psychologiczny odbiór barwy), farbiarstwo (zagadnienia mieszania w celu uzyskanie
właściwej i trwałej barwy), fotografia i film (pamiętanie barwy na emulsji światłoczułej
oraz jej odtworzenie na papierze światłoczułym), telewizja (barwy
w urządzeniach wyświetlających). Dopiero rozwój grafiki komputerowej wypracował
wspólne i całościowe spojrzenie na barwę - chociaż początki to teoria malarstwa
z wprowadzeniem stosowanego nazewnictwa.
Stąd też istotne elementy barwy takie jak odcień (rodzaj koloru), nasycenie (ilość
koloru) - przy jego zmniejszaniu niezależnie od odcienia uzyskujemy barwę białą, jasność
(ilość światła) - przy zmniejszaniu niezależnie od odcienia uzyskuje się barwę
czarną. Barwy achromatyczne (bezkolorowe) - o zerowym nasyceniu, tinty - powstałe
w wyniku dodania bieli do czystego koloru, cienie - powstałe poprzez dodanie
czerni do czystego koloru, tony - dodanie bieli i czerni w różnych proporcjach, barwy
chromatyczne - wykazujące kolor.
1. Opis fizyczny
Barwa - światło to promieniowanie elektromagnetyczne o długości fali od 380 do
780 nm. W zakresie od 380 do 400 i od 700 do 780 w zasadzie nierozróżnialne,
dlatego zawęża się do zakresu od 400 do 700 nm. Określone długości fali odpowiadają
barwom prostym (nasyconym). Światło białe to różne składowe w odpowiednich
proporcjach - definiowane również jako temperatura żarzenia powyżej
6000°C.
Jasność - każda długość fali emituje energię, a widzialne światło zawiera wszystkie
długości fali z różną energią.
W przypadku gdy moc jest nierównomierna a jedna z długości dominuje nad innymi
- odbieramy tą właśnie długość fali. Różnica pomiędzy poziomem dominującym
(ld), a średnim pozostałym poziomem (ln) jest miarą czystości barwy.
Nasycenie - odpowiada strumieniowi światła i jest proporcjonalne do natężenia
światła (światłości) mierzonej w kandelach (cd) lub luminacji (cd/m2). Jednakże
czułość oka nie jest jednakowa dla różnych długości fali.
Wykazuje największą czułość na falę długości 555 nm
Podsumowanie - wszystkie trzy elementy składają się na fizyczny aspekt barwy,
odcień barwy (kolor - długość fali), nasycenia (energia), jasność (strumień światła).
Czynniki te w różnych układach mogą dać identyczne wrażenie barwy. Barwy
o tym samym wrażeniu i różnych rozkładach to metamery.
2. Opis psychofizjologiczny
Strona bodźcowo-energetyczno-przekaźnikowa jest w miarę dobrze poznana, tzn.
znana jest budowa oka - jednakże czym większy udział układu nerwowego tym
mniej wiadomo.
Układ czopków odbierających kolory i pręcików odbierających poziomy szarości
nie jest do końca zweryfikowany, bowiem okazuje się że czułość czopków osiąga
maksimum w innych wartościach długości fali.
Inna teoria mówi, iż jedne z czopków rozróżniają biel i czerń, inne czerwoną lub
zieloną, a trzeci niebieską lub żółtą. Tłumaczy to niedostrzeganie pewnych mieszanek
barw oraz daltonizm (8% mężczyzn i 0,5% kobiet).
Natomiast prawie zupełnie nie wiadomo co dzieję się z bodźcami w mózgu.
Doświadczalnie próbowano ustalić maksymalna rozpoznawalną liczbę barw na
35 000. Inne badania mówią o 128 kolorach (odcieniach barw), 130 poziomach nasycenia
i poziomach jasności dla poszczególnych barw od 16 do 23 co oznacza
400 000 różnych barw. Jeszcze inne badania mówią o 200 odcieniach dla każdej ze
składowych RGB co daje 8-10 mln barw. Tak czy inaczej nie przekracza do standardu
24 bitów na kolor z 16,8 mln różnymi możliwymi barwami.
3. Postrzeganie barw
Postrzeganie zależy od otoczenia, adaptacji, temperatury i wielu innych czynników
psychofizycznych.
a) Psychologiczne wrażenia barw
− jasne - ciemne - odpowiedniość między walorem (nasyceniem) i jasnością
(luminancją)
− żywe - martwe - atrybut chromy (chromatyczności) - tony z malarstwa, poGrafika
łączenie nasycenia i jasności
− zimne - szare, niebieskie, zielone - wywołujące wrażenie zimna
− ciepłe - żółte, pomarańczowe, czerwone - wywołujące wrażenie ciepła
− bierne - brązy, fiolety - nieokreślone z punktu widzenia wrażenia temperatury
− neutralne - biały, czarne - nabierające charakteru w połączeniu z innymi
− krzykliwe i spokojne - rażąco kontrastujące z tłem lub nie kontrastujące
− pobudzające (czerwień), uspokajające (zieleń), wzbudzające zaufanie (niebieski)
Brak jednolitej teorii postrzegania barw. Praktyka: numerowane próbki - atlasy
barw, system PANTONE.
b) Rodzaje wzorców barw:
• addytywne - nowe barwy jako suma barw podstawowych - obszernie
w dalszej części wykładu
• subtraktywne - nowe barwy jako wzajemne filtrowanie (odejmowanie) barw
podstawowych - obszernie w dalszej części wykładu
• percepcyjne - próbki barw porządkowane wg odcienia (koloru), nasycenia
i jasności rozmieszczone równomiernie percepcyjnie.
System Munsella - lata 20-30 XX wieku, publikacja atlasu barw
100 różnych odcienie (z nazwami) opartych o koło odcieni
kilkanaście wartości chromy (tonów)
w zależności od odcienia
z widocznymi 10 poziomami szarości. Prowadzi to do przestrzennego modelu
z opartego o ideę:
i w pełnej wersji
z praktycznymi realizacjami:
i jest zarazem podstawą nie tylko dla zastosowań graficznych w postaci ciągłej
B. Barwa w informatyce
1. Modele światła achromatycznego (bezbarwnego, poziomów szarości)
Światło achromatyczne proporcjonalne tylko do natężenia światła. Maksymalna
strumień - barwa biała, brak strumienia - barwa czarna, wartości pośrednie - odcienie
szarości. Przyjmujemy że światło o maksymalnym natężeniu (białe) ma wartość
1, zaś dokładnie czarne 0.
Problem: ile odcieni i jak dobierać by uzyskać ciągłość przechodzenia od czerni do
bieli ?
Obserwacja światła o coraz większej proporcjonalnej mocy: 50 W, 100 W, 150 W,
200 W daje wrażenie coraz mniejszego wzrostu natężenia mimo stałego wzrostu
natężenia.
Wniosek: Nie można dobierać poziomów szarości na komputerze wg miary natężenia
światła.
Efektem byłaby nadmiarowość dla poziomów określanych jako jasne, co przy ich
zmniejszeniu (dla uzyskania proporcjonalności) powodowałoby skoki dla odcieni
ciemniejszych i brak ciągłości. Wyjściem jest dobieranie skoków poziomów szarości
logarytmicznie i kolejny stały skok poziomu szarości w komputerze odpowiada
coraz większemu skokowi natężenia strumienia światła przy przechodzeniu od
czerni do bieli. Tym samym kolejne poziomy szarość to nie:
…
poziomi
poziomi+1 = skok + poziomi
poziomi+2 = skok + poziomi+1 = skok + skok + poziomi = 2 ⋅ skok + poziomi
…
poziomi+k = k ⋅ skok + poziomi
ale
…
poziomi
poziomi+1 = skok ⋅ poziomi
poziomi+2 = skok ⋅ poziomi+1 = skok ⋅ skok ⋅ poziomi = skok2 ⋅ poziomi
…
poziomi+k = skokk poziomi
I w ogólnym przypadku:
poziomn = skokn ⋅ najmniejsza_jasność
Tym samym iloraz dowolnych sąsiednich poziomów jest zawsze stały i wynosi
skok, co jest zgodne z ludzką percepcją.
Problem: ile powinna wynosić wartość skok ?
Ponieważ:
najmniejsza_jasnosc skok
skok najmniejsza_jasnosc
najmniejsza_jasnosc
najwieksza_jasnosc
najmniejsza_jasnosc
liczba poziomów
liczba poziomow
Wiedząc że człowiek nie rozróżnia dwu strumieni różniących się o 1%, zatem niema
sensu używać skoków mniejszych od 1.01, zaś większe powodują nieciągłość.
Dlatego ilość możliwych poziomów to:
ilosc poziomow = najmniejsza _ jasnosc
_ lg 1 1.01
Dla monitorów najmniejsza możliwa jasność wynosi od 0.005 do 0.025, co jest
powodowane odbiciami od szkła oraz niedoskonałą czernią samego luminoforu.
W praktyce daje to od 400 do 530 możliwych poziomów szarości. Na skutek różnych
cech percepcji oka, monitora jako urządzenia - przyjmowana i niezwykle wygodna
ilość 256 poziomów szarości jest najzupełniej zadowalająca.
2. Komputerowe modele barw
1. model RGB
Sześcian jednostkowy, o osiach odpowiadających kolorowi czerwonemu (Red),
zielonemu (Green), niebieskiemu (Blue). Wartość (0,0,0) odpowiadają kolorowi
czarnemu (Black), zaś (1,1,1) kolorowi białemu (White).
Na głównej przekątnej od punktu (0,0,0) do punktu (1,1,1) - poziomy szarości.
Pozostałe wartości w wierzchołkach to żółty (1,1,0), cyan (0,1,1) i magenta
(1,0,1).
System oparty jest o trójpobudzeniową hipotezę postrzegania oka (czopki reagujące
na barwy czerwoną, zieloną i niebieską), a ponadto istotnym elementem
stosowania systemu jest łatwość realizacji sprzętowej dla kolorowych lamp
oscyloskopowych - w których luminofor składa się z dokładnie takich barwnik
ów.
System RGB jest systemem addytywnym - co znaczy że barwy pośrednie uzyskuje
się poprzez sumowanie barw (istnieją systemy subtraktywne - o czym
później).
Łatwo wyliczyć kolory pośrednie z podstawowych - jako że barwy pośrednie liniowo
zależą od składowych. Wystarczy zwykłe sumowanie. Wcale tak być nie
musi - przykładem będą późniejsze systemy.
Model RGB jest modelem dyskretnym, i wartość od 0 do 1 może być osiągalna
na słowach o różnej długości bitów. Powstaje problem ciągłości obrazowania i
jak widać nawet dla 8 wartości (3 bity) powstaje wrażenie stopniowania (przy
okazji dobrze widoczne pasma Macha). Wystarczającą wartością jest 5 bitów
(25 - 32 poziomy), zatem stosowany w komputerach 1 bajt (28 - 256 poziomów)
wystarcza z nadmiarem.
Gama barw odtwarzana w modelu RGB jest podzbiorem pełnego widzialnego
spektrum barw. Pewnych widzialnych barw po prostu osiągnąć się nie da. Wnętrze
trójkąta obrazuje zakres możliwy dla modelu RGB w stosunku do pełnego
widzialnego zakresu barw.
Model RGB jest niejednorodny - tzn. w wielu przypadkach niewielkie zmiany
zakresu wartości powodują duże percepcyjne zmiany barwy, zaś w innych przypadkach
duże zmiany wartości powodują minimalną zmianę postrzeganego koloru.
Model RGB jest zupełnie nie intuicyjny. Człowiek nie dobiera koloru poprzez
zmianę składowych - ale najpierw dobiera odcień a ewentualnie później rozjaśnia
lub ściemnia.
2. model HSV (HSB, HSI)
Pierwszym składnikiem modelu jest określony w stopniach odcień (kolor), czyli
Hue - określany jak na rysunku.
Następnym jest nasycenie koloru - Saturation. Liczone w procentach od wartości
0% w środku sześciokąta (okręgu) odpowiadającego barwie białej, do wartości
100%, pełnego nasycenia kolorem.
Trzecim parametrem jest Value (wartość jasności), liczona w procentach od 0%
do 100%. Parametr ten może być zastąpiony przez Brightness (tworząc modyfikację
zwaną modelem HSB) lub Intensity (tworząc model określany jako HSI).
Model HSB jest modelem intuicyjnym, tzn. jest zgodny ze sposobem postępowania
człowieka przy wyborze koloru. Najpierw określa się odcień, później nasycenie
i ostatecznie jasność, przy czym dwie ostatnie czynności mogą być zamienione.
(Przykład doboru barw w modelu HSV z CorelDraw’a).
3. model HSL (HLS)
Pierwszym parametrem podobnie jak w modelu HSV jest Hue, czyli odcień koloru
- liczony w mierze kątowej od 0° do 360°.
Drugim parametrem jest Saturation - a więc nasycenie.
Chcąc połączyć naturalne postrzeganie nasycenia i jasności, jak powyżej otrzymujemy
bryłę:
Bryła ta wyraźnie pokazuje trzeci parametr którym jest Lightness - czyli jasność.
Dobrze widoczny w przekroju
4. uwagi i porównanie modeli RGB oraz HSV i HSL
• Modele HSV (HSB, HSI) oraz HSL są modelami czysto intuicyjnymi, nie
mającymi odzwierciedlenia w praktycznej realizacji, służą wyłącznie intuicyjnemu
dobieraniu kolorów.
• Bryła barw jest analogiczna do bryły RGB - różnica polega na organizacji
umożliwiającej percepcyjne dobieranie barw.
• Model RGB jest modelem liniowym - tzn. dodanie reprezentacji dwu barw
daje trzecią barwę. Model HSV i HLS takie nie są. Nie można wprost dodawać
kolorów w tych modelach
• Istnieją nieskomplikowane algorytmy przejścia pomiędzy modelami - co jest
konieczne - jako że dobór intuicyjny musi być realizowany dla wyświetlenia.
Czynność jest na tyle często wykonywana, że istnieją specjalne układy konwersji.
Grafika komputerowa - wykład 30/111
dr Rafał Kawa - II UJ, EPI 30/111
5. model CMY (CMYK)
Wcześniejsze modele nie nadają się do zastosowania dla tworzenia trwałych kopii
na podłożu białym, a więc np. dla wydruków na papierze - np. z powodu odbijania
od białego podłoża światła o dowolnej barwie.
Model CMY oparty jest o wykorzystanie barw C-cyan, M-magenta i Y-żółtą
(yellow) - z bryłą barw jak na rysunku.
Wraz z widokiem od strony punktu (0,0,0).
Składowe C, M i Y są tożsame z osiami i barwy pośrednie można uzyskać ze
składowych. Przyjmując iż C odpowiada punktowi (1,0,0), M punktowi (0,1,0),
Y punktowi (0,0,1) zaś barwie białej punkt (0,0,0), barwa czerwona (R) to punkt
(0,1,1), barwa zielona (G) punkt (1,0,1), barwa niebieska (B) punkt (1,1,0) i
barwa czarna (K) punkt (1,1,1). Składowe (przynajmniej w teorii można składać
analogicznie jak w modelu RGB - i zakres możliwych barw wydaje się analogiczny.
jednakże prawda jest nieco bardziej skomplikowana.
Model CMY jest subtraktywnym i wprowadzony jest dla potrzeb drukowania na
białym podłożu.
Światło białe jest odbijane od białego podłoża w całości:
Możemy je traktować jak złożone ze składowych RGB.
Barwa cjan nie dodaje takiego właśnie koloru do widzialnego światła jak mogłoby
się wydawać poprzez analogię do modelu RGB. W modelu RGB kolor
bierze się np. z wnętrza monitora - zatem w pewnym sensie z niczego. Przy obserwacji
wydruku światło pada ma obiekt z zewnątrz i jest odbijane do oka.
Barwa cjan jest osiągana poprze filtrowanie ze światła białego (a więc odjęcie
od światła białego - stad nazwa model subtraktywny (subtrakcyjny)) światła
czerwonego. Pozostawia to w efekcie światło niebieski i zielone - dające
w wymieszaniu światło o barwie cjan.
Podobnie barwnik magenta filtrując światło zielone pozostawia mieszaninę
światła niebiesko z czerwonym - czyli kolor właśnie magenta.
Analogicznie żółty barwnik filtrując światło niebieskie pozostawia światło
czerwone z zielonym - dające w sumie światło żółte.
Dlatego nakładanie dwu barwników filtrujących dwa zakresy światła pozostawiając
pojedynczą czystą barwę. I tak nałożenie barwy cjan (filtrującej ze światła
białego czerwień) pozostawia barwę będącą mieszaniną barwy zielonej i niebieskiej.
Dołożenie barwnika magenta odejmie barwę zieloną pozostawiając
wyłącznie barwę niebieską.
Analogicznie barwnik cjan (odejmujący pasmo czerwone) w połączeniu
z barwnikiem żółtym (odejmującym pasmo niebieskie), pozostawia barwę zieloną.
Oczywiście barwnik magenta (odejmujący pasmo zielone) w połączeniu
z barwnikiem żółtym (odejmującym pasmo niebieskie), pozostawia barwę czerwoną.
Połączenie wszystkich trzech barwników filtruje całe możliwe światło - co
oznacza, że do podłoża (koloru białego) nie dochodzi żadne światło. W efekcie
daje wrażenie pochłaniania całego widzialnego światła - a więc czerni. W tym
aspekcie rysunek jest czysto poglądowy - jako że nie istnieje światło czarne.
Właściwszy jest powyższy rysunek - gdzie dochodzące światło zwyczajnie zanika.
Sumarycznie filtrowanie przedstawia powyższy rysunek.
Zaś powszechnie używanym schematem łączenia jest powyższy schemat.
Model CMYK jest optymalizacją wykorzystującym osiąganie barwy czarnej poprzez
wymieszanie wszystkich barwników. Dysponując barwnikiem czarnym
wykorzystujemy go w maksymalnie możliwym stopniu dokładając wyłącznie
niezbędną ilość barwników chromatycznych. Model CMYK wynika bezpośrednio
z modelu CMY według zależności:
K = min ( C, M, Y )
C = C - K
M = M - K
Y = Y - K
Modele CMY i CMYK (podobnie jak model RGB) w praktycznej realizacji oddaje
tylko częściowy zakres percepowanego zakresu kolorów.
Połączenie zakresu monitora i drukarki wskazuje na istnienie barw występujących
na monitorze, ale niemożliwych do wydrukowania oraz barw możliwych
do wydrukowanie, ale niemożliwych do wyświetlenia na monitorze.
6. CIE RGB
System kolorymetryczny - ilościowe wyrażenie właściwości barw i zależności
między nimi przy wykorzystaniu obiektywnych metod pomiarowych.
Międzynarodowa Komisja Oświetleniowa (Commission Internationale de L’Eclairage)
doświadczalnie opracowała system kolorymetryczny zwany CIE RGB -
w którym posługując się światłem czerwonym (lampa żarowa z filtrem przepuszczającym
wyłącznie promieniowanie o długości fali powyżej 700 nm),
światłem niebieskim o długości fali 435,8 nm i światłem zielonym o długości
546,1 nm - uzyskano wykres udziału poszczególnych składowych dla różnych
widm - jak na rysunku.
System jest niestosowalny praktycznie z racji ujemnych wartości dla składowej
czerwonej - skąd konieczność opracowania innych systemów.
7. CIE XYZ
System opracowany w 1931 przez CIE w którym posłużono się specjalnymi
długościami fal, które nie zawierają się w zakresie widzialnych barw. Z punktu
widzenia kolorów są zatem barwami fikcyjnymi - niemożliwymi do realizacji - i
nazywane są umownie X, Y i Z. Pozwalają jednakże wyznaczyć pełne zakres widzialnego
światła poprzez funkcje o wartościach dodatnich - jak na wykresie.
Wartości XYZ są doświadczalnie pomierzone i stabelaryzowane z gęstością 1
nm.
Światło widziane przez człowieka mieści się we wnętrzu bryły przypominającej
stożek.
Można wykorzystywać dowolne przekroje bryły barw - jednakże praktyczne jest
korzystanie z przekroju odpowiadającego płaszczyźnie unormowanej.
Jest to płaszczyzna przechodząca przez wartości 1 dla poszczególnych składowych.
Otrzymujemy trójkąt barw widzialnych zobrazowany na płaszczyźnie, który po
prostych przeliczenia daje się opisać dwoma wartościami współrzędnych.
Uzyskujemy w ten sposób szeroki zakres widzianych barw wyrażony w układzie
XY (bez ścisłego związku z falami XYZ).
Występuje niejednoznaczność punktu bieli, z trzema powszechnie stosowanymi
wartościami:
− biel zrównoważonej energii (biel EE -equal energy) o intensywności światła
wynoszącej 1 i wartościach w układzie XYZ wynoszących ( 1/3, 1/3, 1/3 )
− biel C - stosowana w formacie sygnału wizyjnego NTSC (National Television
System Committee) w komercyjnej telewizji USA i Kanadzie -
o nieokreślonej intensywności i znormalizowanych współrzędnych XYZ
wynoszących (0.310, 0.316, 0.374)
− biel D65 (stosowana w systemie PAL) o intensywności zgodnej z intensywnością
światła słonecznego i wartościach XYZ ( 0.3127, 0.3290, 0.3583 )
i odpowiadająca ciałom rozżarzonym to temperatury 6500° K - co staje się
dominującym standardem.
Barwy na brzegu figury są barwami nasyconymi, zaś barwy pomiędzy brzegiem
a punktem bieli są barwami nienasyconymi Odcinek łączący barwę z brzegu z
punktem bieli są barwami nienasyconymi dla tego samego odcienia barwy.
Wykres chromatyczności pozwala na wyznaczenie barwy dominującej (nasyconej)
jako barwy odpowiadającej przecięciu prostej przechodzącej przez punkt
zadanej barwy i punktem bieli z brzegiem wykresu.
Wykres chromatyczności pozwala na wyznaczenie czystości pobudzenia danej
barwy - mierzonej jako stosunek odległości pomiędzy daną barwą, a punktem
bieli do odległości pomiędzy barwą dominująca i punktem bieli.
Barwy dopełniające (komplementarne) to barwy dające w wyniku wymieszania
(w odpowiednich proporcjach) barwę białą.
Dla pewnych barw prosta przechodząca przez barwę i punkt bieli daje przecięcie
poza zakresem widzialnym. Barwa mogąca uchodzić za dominująca nie posiada
odpowiedniej długości fali - zatem nie można jej za taką uznać. Tego rodzaju
barwy noszą nazwę barw niespektralnych.
Pełny obszar barw niespektralnych jest trójkątem o wierzchołkach w punktach
bieli, czerwieni i niebieskiego.
Dla dowolnej pary barw wszystkie barwy z odcinka je łączącego są możliwe do
uzyskania jako suma (w odpowiednich proporcjach) barw z brzegu odcinka. Podobnie
każda barwa z wnętrza trójkąta zadanego trzema barwami jest możliwa
do uzyskania jako kombinacja barw odpowiadających wierzchołkom.
Istotnym wykorzystaniem wykresu chromatyczności CIE XYZ jest określanie
gamy barw dla różnego rodzaju urządzeń - np. dla drukarki i monitora.
Z kształtu wykresu chromatyczności wynika, iż żaden trójkąt nie obejmuje pełnego
zakresu widzialnego światła - zatem nie istnieje żadna trójpobudzeniowa
teoria barw dająca pełny zakres widzialnego światła.
Model CIE XYZ nie jest modelem percepcyjnie równomiernym.
8. CIE LUV
Układ CIE XYZ jest układem percepcyjnie niejednorodnym - co oznacza nieproporcjonalność
postrzeganych zmian barw w stosunku do zmian wartości modelu.
W 1976 zaproponowano przekształcenia układu CIE XYZ w układ CIE LUV.
Oparty jest o konkurencyjną teorię postrzegania barw przez człowieka, przyjmującą
rozróżnianie pomiędzy jasnością-ciemnością, czerwienią-zielenią, żółcią-
niebieskim.
Dodatnia półoś u odpowiada za kolor czerwony, ujemna półoś u za barwę zieloną,
analogicznie dodatnia i ujemna półoś v odpowiada za barwy odpowiednio
żółtą i niebieską. Dodatnia półoś L odpowiada za wartość luminancji - czyli ilości
światła.
Model LUV uwzględnia nieliniową zależność wrażenia jasności od strumienia
światła - co oznacza zmienność postrzeganych kolorów przy zmianie parametru
L - co obrazuje rozszerzanie bryły wraz ze wzrostem luminancji.
Wybierając dowolną płaszczyznę równoległą do płaszczyzny uv i znajdując jej
przecięcie z bryła barw otrzymujemy wykres chromatyczności zobrazowany na
powyższym rysunku.
Jednorodność percepcji obrazują powyższe rysunki - przedstawiające poprzez
czarne odcinki pojedyncze stopnie postrzeganych zmian. Dla układy CIE XYZ
(lewy rysunek) widoczne są długie kreski wraz z krótkimi. Jednakowym percepcyjnie
zmianom postrzegania odpowiadają różne wartości zmian wartości wykresu.
Zarazem dla wykresu CIE LUV widoczne są wyłącznie odcinki o jednakowej
długości.
Wykres CIE LUV systematycznie wypiera wykres CIE XYZ szczególnie
w zastosowaniach związanych z telewizją.
9. CIE LAB
Opracowany również w roku 1976 wraz z układem LUV, ale przeznaczony dla
barw i jasności przedmiotów odbijających i rozpraszających światło oświetlające.
Składowe analogiczne jak w układzie LUV i oparte o konkurencyjną teorię postrzegania
barw (jasne-ciemne, czerwone-zielone, niebieskie-żółte). Wartość L
określa luminancję, wartości na osi a określają ilość barwy zielonej (półoś
ujemna - a-) oraz czerwonej (półoś dodatnia a+), zaś wartość osi b określa ilość
barwy żółtej (półoś dodatnia - b+) oraz niebieskiej (półoś ujemna b-).
W przeciwieństwie do układu LUV (co wynika z przeznaczenia dla zewnętrznego
źródła światła), bryła barw nie jest stożkiem w zakresie małych jasności, i zarazem
nie jest bryłą nieograniczoną przy wzrastającej jasności.
Przekrój przez bryłę barw modelu CIE Lab.
10. modele YUV i YIQ
Stosowane w telewizjach.
YUV stosowany w Europie, w oparciu o standard przesyłania sygnałów PAL,
określony przez normę EBU (European Broadcasting Union), z bielą odniesienia
D65.
YIQ stosowany w Ameryce Północnej, w oparciu o standard przesyłania sygnał
ów NTCS (National Television System Committee), określony przez
normę FCC (Federal Communication Commission), z bielą odniesienia C.
Składowa Y w obu systemach służy wyznaczeniu luminancji i jest wyznaczona
w ten sposób by przenieść pełną informację o obrazie w jego czarnobiałej percepowanej
postaci. Pozostałe składowe UW i IQ służą określeniu chromatyczności
i są liniową kombinacją składowych RGB.
Oba systemy istotnie wykorzystują cechy systemu wzrokowego. Oko jest bardziej
czułe na zmianę luminancji niż na zmianę kolorów. Dlatego składowa Y jest przenoszona
ze znacznie większą dokładnością niż dwie pozostałe co oznacza większą
ilość bitów przeznaczona na jej zapamiętanie. W modelu YIQ stosuje się
transmisję o częstotliwościach odpowiednio 4 MHz, 1,5 MHz i 0,6 MHz. Różnica
w przenoszonych częstotliwościach składowych IQ wynika z ograniczoności wrażeń
barwnych dla małych obrazów (częste zjawisko w obrazach telewizyjnych)
co sugeruje zapisanie koloru w jednej składowej dzięki czemu koszt przesyłania
sygnału jest mniejszy. W modelu YUV stosuje się kodowanie ilością bitów o stosunku
2:1:1. zadowalająca.
3. Stosowanie barw
a) Przykazania dotyczące stosowania barw
− Barw używać z ostrożnością i powściągliwością, i tylko wówczas gdy jest to
konieczne
− Minimalizować ilość użytych barw
− Na początek wykonać obraz monochromatyczny - nie koniecznie czarnobiały
- ale w jednym kolorze - co zarazem umożliwia korzystanie przy mniejszej
liczbie kolorów na ekranie lub reprodukcję przy jednym kolorze barwiącym.
− Ograniczyć liczbę stosowanych barw do kilku - tylko na takiej liczbie różnych
barw koncentruje uwagę człowiek.
− Szczególną ostrożność zachować przy reprezentacji cech ilościowych
z użyciem barw.
b) Przykazania związane ze stosowaniem wielu barw
− Stosować barwy przebiegające wzdłuż gładka ścieżki stosowanego modelu
barw.
− Stosować barwy o tej samej jasności.
− Stosować barwy percepcyjnie równoodległe - co nie oznacza tego samego co
jednakowa różnica wartości w reprezentacji danego modelu.
− Nie stosować odcieni tego samego koloru dla obiektów nie wykazujących
związków i zarazem stosować odcienie tej samej barwy dla obiektów ze sobą
powiązanych.
− Nie stosować chromatyczności dla elementów interfejsu użytkownika, opis
ów, legend, menu itp. Stosowany kolor sugerowałby łączenie użytkowych
elementów z obiektami pomocniczymi - należy stosować barwy neutralne
(szarości).
c) Przykazania związane z postrzeganiem szczegółów i konturów
− Chcąc uczynić widocznymi szczegóły należy je wyróżniać od tła nie barwą
ale jasnością (natężeniem).
− Nie stosować barw dla małych obiektów nie będą widoczne
− Obszary barw sąsiadujących i zarazem źle harmonizujących - oddzielać cienką
czarną linią.
− Stosować obwódki dla ułatwienia percepcji konturów obiektów
d) Przykazania związane z postrzeganiem obiektów i tła
− Jako tło dla rysunku o wybranej barwie stosować barwę dopełniająca
− W przypadku obrazu o wielu barwach - jako tło stosować barwy neutralne
− Barwy niebieski i czarna nie różnią się niskim poziomem jasności - nie stosować.
Niebieski tekst na czarnym tle Czarny tekst na niebieskim tle
− Barwy biała i żółta maja niemal identyczną wysoką jasność - nie stosować.
żółty tekst na białym tle Biały tekst na żółtym tle
− Biały na czarnym tle daje wrażenie zbyt silnego kontrastu
Biały tekst na czarnym tle
− Dla czarnego tła odpowiedniejszy jest żółty kolor obiektów
Żółty tekst na czarnym tle
− Dla białego tekstu odpowiedniejsze jest tło niebieskie
Biały tekst na niebieskim tle
e) Przykazania związane z psychofizjologią ludzkiego postrzegania
− Należy uwzględnić niezamierzone psychologiczne znaczenia barwy -
np. czerwień i zieleń przez skojarzenie z pozytywami i negatywami, barwy
żywe i martwe, zimne (szare, niebieskie, zielone), ciepłe (żółte, pomarańczowe,
czerwone), bierne (brązy, fiolety), neutralne (biały, czarne), krzykliwe i
spokojne, pobudzające (czerwienie), uspokajające (zieleń), wzbudzające zaufanie
(niebieskie, granaty).
− Jasne barwy bardziej rzucają się w oczy niż ciemne.
− Najmniej czopków jest czułych na barwę niebieską zatem barwy z dużym
udziałem niebieskiego i jednakowej jasności będą rozmywane.
− Kolory obiektów wpływają na pozorną zmianę wielkości ich postrzegania
Czerwony kwadrat wydaje się większy od zielonego.
− Dłuższa (kilka sekund) obserwacja obszarów o nasyconym kolorze, (na skutek
bezwładności postrzegania) po zmianie obiektu obserwacji pozostawia
ślad obszaru. Powoduje to zaburzenie postrzegania i zmęczenie. Na skutek
różnej długości fali zmienia się ogniskowa, czego efektem jest postrzeganie
fałszywej głębi.
Obszary czerwone - mimo tej samej wielkości - sprawiają wrażenie
położonych bliżej w stosunku do niebieskich.
− Postrzeganie barw zależy od tła na jakim występuje barwny obszar
Tego samego koloru czerwony kwadrat na zielonym tle wydaje się bardziej
czerwony niż umieszczony na niebieskim tle.
− Wiele barw jest różnie postrzeganych w zależności od jasności tła
Wewnętrzny kwadrat o tej samej barwie w zależności od jasności tła przechodzi
od barwy brązowej do pomarańczowej.
− Daltoniści nie odróżniają barwy czerwonej i zielonej
f) Mimo wszystkich wcześniejszych przykazań - brak jednoznacznych reguł
stosowania i doboru barw
4. Regulacja monitora
a) Regulacja kontrastu i jasności
Pierwszym krokiem jest ustawienie kolorów w sposób wykluczający chromatyczność
i pozostawiający możliwie najbardziej obojętny szary. Pomocny jest
ekran zawierający:
Kolejnym krokiem jest takie ustawienie poziomu jasności i kontrastu pozwalające
na odróżnianie odpowiedniej liczby poziomów szarości.
W sytuacji dobrego dopasowania kontrastu i jasności każdy z obszarów powinien
być rozróżnialny od sąsiedniego.
Liczba prostokątów powinna być jak największa - ale ilość w okolicach 10 uważana
jest za optymalna.
UWAGA:
Na ogół nie udaje się dobrać parametrów z użyciem wyłącznie regulatora
jasności i kontrastu.
b) Korekcja gamma
Definicja współczynnika gamma:
Dla wszelkiego rodzaju urządzeń dotyczących odwzorowujących obrazy (nie
tylko dla monitorów) zachodzi zależność:
I = E
γ
Gdzie I jest jasnością wyświetlania (dla plików graficznych wartością wyjścia),
E jest napięciem prądu lampy monitora (dla plików graficznych wartością wejścia),
a γ właśnie wartością gamma. Z powyższego wzoru wynika nieliniowa
zależność wartości wyjściowych w stosunku do wyświetlanych (wyjściowych).
Dla różnego rodzaju urządzeń powyższa zależność opisywana jest różną krzywą.
Ponadto - z opisanych zależności wynika trudność (lub niemożność) ustawienia
optymalnej ostrości w połączeniu z jasnością - co jednakże możliwe jest przy
zastosowaniu korekty z użyciem współczynnika gamma.
Ideałem jest przebieg zgodny z wartością γ =1, jednakże praktycznie jest nie realizowalny.
Urządzenia (a również programy wyświetlające) mają przebieg
zgodny z wartością γ <1 - dlatego konieczna jest korekcja poprzez funkcje
o wartościach γ >1.
c) Korekcja gamma kontrastu i jasności
W przypadku regulacji jasności i kontrastu wykorzystywany jest powyższy obraz
- składający się z szarego mniejszego kwadratu umieszczonego na większym
kwadracie złożonym z czarnych i białych pikseli. Przy zmianie współczynnika
gamma zewnętrzny większy kwadrat nie zmienia koloru - w przeciwieństwie do
mniejszego.
Regulacja polega na takim wysterowaniu współczynnika gamma by w percepcji
barw monitora - wewnętrzny kwadrat nie różnił się od zewnętrznego.
d) Korekcja programowa barw - najpopularniejsze programy kalibracji monitora
• Paint Shop Pro
Program pozwalający w szerokim zakresie ustawiać współczynnik gamma
dla wszystkich składowych.
Celem jest takie dobranie współczynników by wewnętrzne prostokąty nie
różniły się od brzegu.
Zakres doboru jest większy niż bardzo wyświecone monitory.
Składowe można dobierać niezależnie.
Dobór tylko w programie Paint Shop Pro, bez ingerencji w ustawienia komputera.
• Adobe Photo Shop
Program Adobe Gamma - analogiczna zasada polegająca na takim dobraniu
parametrów by wewnętrzny kwadrat nie różnił się percepcyjnie od pasków
zewnętrza.
Możliwość doboru poszczególnych składowych w podobnym zakresie jak w
PaintShopPro. Od bardzo niskich wartości współczynnika gamma ...
... do bardzo wysokich.
Możliwość niezależnego doboru składowych dla korelacji wad monitora.
Dobór optymalny (niewidoczny na skutek wad konwersji plików graficznych
produktów Microsoft).
Wadą w stosunku do Pain Shop Pro jest operowanie paskami a nie siatką
punktów. Zaletą - stosowalność do ustawień systemu.
• Karty graficzne - na przykładzie RIVA TNT
Wygląd okna programu z szeroką gamą ustawień.
Możliwość ustawienia jasności ...
... i kontrastu.
Składowe mogą być ustawianie niezależnie.
Zalety - możliwość ustawienia nie tylko wartości współczynników gamma
ale wielu innych parametrów wraz z możliwością ich zapisania i defaultowego
naczytania przy uruchamianiu systemu. Wada - brak obserwowalnych
wskaźników ustawienia.
Optymalny sposób ustawienia: użycie programów karty ze śledzeniem ustawień
Paint Shop Pro lub Adobe Gamma.
Uwaga:
Ustawienie stosują się do danej rozdzielczości, ustawionej liczby wyświetlanych
kolorów i częstotliwości odświeżania. Dla zmiany dowolnego z wymienionych
parametrów konieczna jest inna konfiguracja.
Uwaga:
Docelowych parametrów monitory nie osiągają tuż po włączeniu ale po
około 30 minutach od włączenia.
e) Korekcja sprzętowa barw
Opisane metody optymalizacji wyświetlania mogą okazać się niewystarczające -
dlatego stosuje się rozwiązania sprzętowe. Pierwsza możliwość to profesjonalne
monitory w graficznych stacjach roboczych np. Silicon Graphics - sprzętowo realizujące
takie parametry wyświetlania jak dobór odpowiedniego punktu bieli,
współczynników gamma i wielu innych parametrów - co m.in. wyróżnia sprzęt
profesjonalny od półprofesjonalnego. Dla monitorów komputerów klasy PC (zar
ówno produktów IBM jak i Apple) istnieją sprzętowe namiastki.
Np. niewielki kolorymetr doczepiany do monitora i mierzący kolor oraz luminację
monitora i pozwalający tak ustawić parametry wyświetlania by wyświetlane
kolory zgadzały się z kodowaniem.
Podobnych urządzeń jest wiele - a jedno z nich jest elementem wyposażenia profesjonalnej
wersji CorelDraw’a, z przewidzianą programową obsługą w ramach
samego CorelDraw.
Na rynku tego rodzaju urządzeń królują urządzenia firmy X-Rite.
Używane w analogiczny sposób i kosztujące kilkaset dolarów.
VI. Sprzęt wykorzystywany w grafice komputerowej
A. sprzęt wyświetlający - monitory
1. Informacje ogólne
a) parametry
• wielkość ekranu - mierzona jak w odbiornikach telewizyjnych długością
przekątnej ekranu - 14", 15", 17", 19", 21", 25".
• rozdzielczość - ilość punktów w poziomie i w pionie przy ustalonej liczbie
kolorów - standardy CGA, EGA, VGA, SVGA, XGA. Większa rozdzielczość
pozwala więcej zobaczyć - ale czyni szczegóły niewidocznymi.
• częstotliwość odświeżania - ilość powtórzeń wyświetlania w czasie jednej sekundy.
Stosowane częstotliwości to 60 MHz, 72 MHz, 75 MHz. Oko ludzkie
odbiera - ale nie percepuje częstotliwości wyższych niż 50 MHz.
• Przeplot - występowanie lub brak
2. monitor CRT (catode ray tube)
a) budowa
b) przebieg wiązki na ekranie
c) siatki maskujace
• dot trio
• aperture grill - trinitron
Wprowadzona przez firmę SONY wraz ze specjalnym typem monitorów
z kineskopem będącym fragmentem powierzchni bocznej walca a nie sfery.
• slotted mask
• Enhanced Dot Pitch
d) ergonomia i konserwacja - ogólne uwagi
− monitor komputerowy to urządzenie analogiczne do telewizora - tyle że
znacznie lepszej jakości
− lepsza jakość monitora w stosunku do telewizora wynika z:
• większej częstotliwości odświeżania (lepsza percepcja, mniejsze zmęczenia
wzroku),
• zmniejszonej emisji promieniowania (elektrycznego, magnetycznego,
cieplnego, emisji jonów) - promieniowanie
• braku przeplotu - w przypadku telewizji będącego integralną częścią
przesyłanego systemu
− promieniowanie monitora mimo bliższej odległości od urządzenia jest
znacznie mniej szkodliwe niż promieniowanie telewizora, mimo większej
odległości
− monitory SĄ szkodliwe dla zdrowia - jednakże trwałe skutki szkodliwości
ich używania występują po około kilkuset latach ciągłego używania
− od kilku lat WSZYSTKIE dostępne na rynku monitory są monitorami mającymi
cechy monitorów LR (low radiation) i NI (non interlace) - zatem zaGrafika
przestano wyróżniania obu cech
− monitory z racji wykonania ze szkła charakteryzują się pewnym stopniem
odbicia - najmniejsze odbicia są przy patrzeniu w odległości od 50 cm do
1 m, przy patrzeniu na wprost lub powyżej - w zakresie kąta patrzenia około
45 stopni. Nie zaleca się spoglądania z dołu pod zbyt ostrym kątem.
− sposobem radzenia sobie z odblaskami jest stosowanie siatkowych filtrów
anty-odblaskowych (zarazem anty-radiacyjnych). Ich anty-radiacyjna funkcja
jest minimalna - jednakże skutecznie likwidują odblaski - kosztem
zmniejszonej widoczności.
− filtry szklane niemal całkowicie chronią przed promieniowaniem (znikomym
w obecnych monitorach), ale powodują bardzo duże odblaski
− od kilku lat widoczna część kineskopu monitorów ma napyloną cienką warstwę
anty-odblaskową - skutecznie eliminująca wielkość odbić. Warstwa
jest bardzo cienka, zatem łatwo ulega wytarciu. Dlatego nie należy zmywać
monitora szczotkami lub silnie działającymi płynami. Warstwę łatwo skruszyć
- dlatego wszelkie zabiegi związane z płynami powinny być wykonywane
po całkowitym ostygnięciu monitora. Z podobnych powodów nie należy
monitora dotykać. Jedynym dopuszczalnym zabiegiem jest przecieranie
monitora bardzo lekko nawilżoną flanelą lub irchą.
3. monitor ciekłokrystaliczny - LCD
Uwaga: materiał tego punktu - mimo iż wyłożony - nie obowiązuje na egzaminie.
a) budowa
b) sposób wyświetlania
c) matryca aktywna
4. wyświetlacz plazmowy
Uwaga: materiał tego punktu - mimo iż wyłożony - nie obowiązuje na egzaminie.
5. inne rodzaje technologii wyświetlających
Uwaga: materiał tego punktu - mimo iż wyłożony - nie obowiązuje na egzaminie.
VII. Systemy zapisu plików graficznych
A. PCX
Wprowadzony przez firmę ZSoft Corporation w roku 1988 dla programu PC Paintbrush
- jednego z pierwszych programów do obróbki bitmap na komputerach klasy
IBM PC, później stosowany również w programach Ventura Publisher.
Obejmuje nagłówek składający się ze 128 bajtów po którym następuje faktyczne kodowanie
obrazu.
Nagłówek w poszczególnych bajtach (opisanych wraz z numerami) zawiera:
#00 1 identyfikator twórcy (producenta) - zawsze 10 (#0A)
#01 1 numer wersji - 0 - dla wersji 2.5 i wcześniejszych
2 - dla wersji 2.8 z dołączonymi danymi o palecie barw
3 - dla wersji 2.8 bez dołączania informacji o palecie
4 - wersja dla Windows
5 - dla wersji 3.0 i wyższe z informacjami dotyczącymi
palety
#02 1 sposób kodowania - w dotychczasowych wersjach zawsze 1 - co oznacza
kodowanie RLE (run-length encoding)
#03 1 liczba bitów kodujących pojedynczy piksel - 1 dla bitmap (czarnobiałych),
8 - dla odcieni szarości i obrazów kolorowych
#04 8 wymiary obrazu:
#06 2 współrzędna pierwszego punktu w poziomie - min x
#08 2 współrzędna pierwszego punktu w pionie - min y - licząc od góry
#0A 2 współrzędna ostatniego punktu w poziomie - max x
#0C 2 współrzędna ostatniego punktu w pionie - max y
#0E 2 rozdzielczość w poziomie - mierzona w pikselach na cal
#10 2 rozdzielczość w pionie - mierzona w pikselach na cal
#12 48 stosowane palety kolorów - 16 palet kolorów - każda opisana trzema
bajtami dla wartości R, G i B - różnie wykorzystywana w zależności od
standardu karty graficznej
3 kolor #00 - np. #00, #00, #00
3 kolor #01 - np. #FF, #FF, #FF
3 kolor #02 - np. #00, #AA, #00
3 kolor #03 - np. #00, #AA, #AA
3 kolor #04 - np. #AA, #00, #00
3 kolor #05 - np. #AA, #00, #AA
3 kolor #06 - np. #AA, #AA, #00
3 kolor #07 - np. #AA, #AA, #AA
3 kolor #08 - np. #55, #55, #55
3 kolor #09 - np. #55, #55, #FF
3 kolor #0A - np. #55, #FF, #55
3 kolor #0B - np. #55, #FF, #FF
3 kolor #0C - np. #FF, #55, #55
3 kolor #0D - np. #FF, #55, #FF
3 kolor #0E - np. #FF, #FF, #55
3 kolor #0F - np. #FF, #FF, #FF
#42 1 bajt zarezerwowany - zawsze 0
#43 1 ilość planów kolorów - wyjaśnienie poniżej
#45 2 ilość bajtów opisujących pojedynczy plan kolorów
#46 1 sposób interpretacji palety: 1 dla kolorów oraz interpretacji czarnobiałej,
2 dla odcieni szarości
#47 58 dopełnienie zerami do liczby 128 bajtów
Wszystkie dwubajtowe dane całkowite są zapisywane w kolejności pierwszego bajtu
stanowiącego mniej znaczącą wartość.
Po nagłówku następuje kodowanie zasadniczego obrazu. Obraz pamiętane poszczeg
ólnymi liniami - których ilość w pliku jest dopełniana do najbliższej wielokrotności
8.
Przy obrazie kolorowym i 8 bitach (jednym bajcie) na każdą składową RGB - sposób
kodowania polega na umieszczeniu wszystkich składowych poszczególnych kolorów
obok siebie. Tzn. dwa kolejne piksele o składowych kolorów:
|#AABBBB #AABB99 #BBAAAA
#AA #BB #BB #AA #BB #99 #BB #AA #AA
zostaną zapisane w pliku jako:
#AA #AA #BB #BB #BB #AA #BB #99#AA.
Tak przetworzona linia podlega jednemu z najprostszych algorytmów kodowania,
tj. kodowaniu RLE. Kodowanie RLE wyróżnia dwa rodzaje danych - jedne stanowiące
liczbę powtórzeń zasadniczych danych - oraz właściwe dane. Powyższa linia w kodowaniu
RLE zostanie zapisana jako:
2 x #AA 3 x #BB 1 x #AA 1 x #BB 1 x #99 1 x #AA
W kodowaniu formatu PCX liczba powtórzeń pamiętana jest w jednym bajcie - przy
czym zapalone dwa pierwsze bity (najstarsze) oznaczają bajt liczby powtórzeń z zakodowaniem
liczby powtórzeń na pozostałych sześciu bitach. Brak zapalonych dwu lewych
bitów oznacza bajt danych bez powtórzeń. Dlatego powyższa linia zostanie zakodowana
jako:
11000010 #AA 11000011 #BB #AA #BB #99 #AA
co w efekcie oznacza kodowanie:
#C2 #AA #C3 #BB #AA #BB #99 #AA
Z takiego sposobu kodowania wynika konieczność rozdzielania ciągów powtórzeń
dłuższych niż 26=64 . Np. ciąg
68 x #AA
zostanie zakodowany jako
#FF #AA #C4 #AA.
Innym problemem jest sposób kodowania danych powyżej wartości #C0.
Zagadka: Jak to zrobić ?
Rozwiązaniem jest przyjęcie reguły wypisywania pojedynczych powtórzeń (a więc
bajtów #C1) dla bajtów danych o kodach większych lub równych od #C0. Dlatego
ciąg danych postaci:
#C0 #C0 #C0 #CD #DD #DD #CD #C0
będzie zakodowany:
#C3 #C0 #C1#CD #C2 #DD #C1 #CD #C1 #C0
B. BMP
Format wspólny dla firm Microsoft i IBM - powszechnie stosowany w produktach
przeznaczonych dla maszyn klasy IBM PC, zarówno w odniesieniu do systemach operacyjnych
Microsoft Windows jak i w systemie os/2 firmy IBM.
Pierwsza część pliku .BMP to ogólne informacje dotyczące samego pliku obejmujące:
#00 2 identyfikator pliku zawierający dane:
BM dla plików obsługiwanych oprogramowaniem Microsoft
Dla systemu os/2 firmy IBM identyfikatory mogą być inne i określają zastosowanie
pliku. I tak:
BA tablicę bitmapową wykorzystywana do wypełnień
BI kolorowa zmienna ikona
BP kolorowa zmienny wskaźnik myszy
BC Ikona
BT wskaźnik myszy
#02 4 wielkość pliku w bajtach - przy dużych plikach mogą wystąpić przekłamania
#06 4 bajty zarezerwowane
#0A 4 położenie danych faktycznego obrazu w stosunku do początku pliku
Następna część pliku zawiera informacje bezpośrednio związane z obrazem i obejmuje:
#0E 4 długość w bajtach właśnie opisywanej informacji - co dla komputerów
używających oprogramowania Microsoftu zawsze wynosi #28 - czyli 40
bajtów. Dla plików przeniesionych z innych systemów wielkość może
przyjmować różne wartości w zależności od wersji systemu.
#12 4 liczba pikseli obrazu w poziomie
#16 4 liczba pikseli obrazu w pionie. Wartość może być ujemna - co oznacza że
zasadniczy obraz nie może być skompresowany, a ponadto jest zgodny
z formatem DIB który ma odwrotna kolejność zapisu linii niż BMP.
#1A 2 liczba tzw. planów obrazu (zwanych też płatami obrazu), co w pewnym
stopniu można utożsamiać z ilością stron pamięci ekranu. Aktualnie zawsze
wartość ta wynosi 1.
#1C 2 liczba bitów opisujących barwę pojedynczego piksela i zrazem numer
pozycji palety w sytuacjach ją wykorzystujących. Dopuszczalne wartości
to:
1 obrazy dwukolorowe
4 16 możliwych kolorów z palety
8 256 możliwych kolorów z palety
16 high color - 216 = 65536 możliwych wartości kolorów
24 true color - 224 = 16 777 216 możliwych wartości kolorów
32 true color 32 - 232 = 4 294 967 296 możliwych wartości kolorów
#1E 4 określenie sposobu kompresje danych właściwego obrazu - możliwe
wartości to:
0 brak kompresji - najczęściej stosowane
1 kompresja nosząca nazwę rle-8
2 kompresja nosząca nazwę rle-4
3 brak kompresji - a poszczególne składowe kolorów opisane są różną
ilością bitów. Stosowane przy 16 bitach na piksel oraz 32 bitach
na piksel
#22 4 wielkość właściwych danych w bajtach - zwiększona do wielokrotności
czterech bajtów
#26 4 rozdzielczość pionowa w pikselach na metr (!)
#2A 4 rozdzielczość pozioma w pikselach na metr (!)
#2E 4 liczba używanych w obrazie kolorów - ma znaczenie przy mniejszej licznie
bitów na piksel
#32 4 liczba ważnych kolorów - pozostałość po ograniczeniach sprzętowych
i sytuacjach gdy nie wszystkie kolory były możliwe do wyświetlenia.
Może też służyć określeniu ile kolorów wystarcza do poprawnego wyświetlenia.
Wartość 0 lub wartość równa liczbie kolorów oznacza iż
wszystkie są ważne. Stosowanie liczby ważnych kolorów wymusza
umieszczenie kolorów ważniejszych na początku palety
#36 n *4 specyfikacja używanej palety kolorów - a ilość kolorów w palecie jest
determinowana ilością bitów opisującą pojedynczy piksel. Dla rysunku
ściśle bitmapowego (1 bit na piksel) paleta liczy dwa kolory, dla 4 bitów
na piksel 16 kolorów itd. Przy używaniu True Color palety brak.
Każdy kolor w palecie opisany jest czwórka bajtów - przy czym pierwszy
bajt opisuje wartość koloru niebieskiego, drugi zielonego, trzeci czerwonego
- co oznacza odwróconą kolejność w stosunku do modelu RGB.
Czwarty bajt koloru palety jest zawsze bajtem zerowym.
Po określeniu palety zapisany jest zasadniczy obraz. Pamiętany jest liniami w kolejności
od dołu rysunku (inaczej niż w formacie PCX), i do prawej do lewej. Ilość bajtów
opisujących pojedynczą linię wynika z ilości pikseli przemnożonych przez ilość bitów
na piksel i jest wyrównany do wielokrotności czterech bajtów. Kolorowanie poszczeg
ólnych pikseli zależy od ilości bitów na piksel, stosowanej palety oraz sposoby kodowania.
I tak:
Przy jednym bicie na piksel - bit 0 oznacza pierwszy kolor palety, bit 1 oznacza piksel
koloru takiego jak drugi z kolorów palety.
Przy 4 bitach na piksel każdy bajt opisuje dwa piksele - i wartość na połówce bajtu
oznacza numer koloru z palety. Np. wartość #22 #0B oznacza dwa kolejne piksele
koloru o numerze 2, piksel koloru pierwszego (o numerze 0) i piksel koloru o numerze
11.
Przy 8 bitach na piksel każdy bajt jest wprost zapisem numeru koloru z palety.
Przy 16 bitach na piksel - na skutek niepodzielności liczby 16 na 3 i niemożności stosowania
palety kolorów (byłaby zbyt duża) - przy braku kompresji stosuje się uporządkowanie
bitów dla poszczególnych kolorów. Dwa bajty opisujące piksel odwzorowują
składowe RGB w proporcjach 5-5-5. Bity najmniej znaczące (prawe) odpowiadają
składowej niebieskiej (dla wyznaczenia wartości stosowana jest maska
#001F), kolejne pięć bitów (idąc od prawej do lewej) odpowiada za zieloną wartość
składową (maska #03E0) i następne za składową czerwoną (maska #7C00). Jak widać
najstarszy bit nie jest wykorzystywany. Stosowane jest też kodowanie 5-6-5 - gdzie
dla składowej zielonej przewidziano o jeden bit więcej - a odpowiednie maski mają
postać - #001F, #07E0 i #F800. Powyższe zależności implikują trudności w zapisie
BMP z użyciem 16 bitów na piksel - dlatego wiele programów wyklucza podobną
możliwość.
Przy 24 bitach na piksel każda trójka bajtów opisuje składowe RGB - zatem pierwszy
bajt to wartość składowej czerwonej, druga to składowa to kolor zielony a trzecia
składowa opowiada za kolor niebieski.
Przy 32 bitach na piksel pojawia się podobny problem niepodzielności liczby 32 przez
trzy. Dlatego przy braku kompresji stosowane są maski #000000FF dla koloru niebieskiego,
#0000FF00 dla koloru zielonego i #00FF0000 dla czerwonego. Jak widać odpowiada
to 24 bitom na piksel i podobnie jak przy 16 bitach na piksel wiele program
ów nie przewiduje obsługi 32 bitów dla pojedynczego piksela.
Kodowanie RLE-8 jest specyficzną wersją kodowania RLE. Obejmuje dwa sposoby
zapisu - zwane kodowanym i absolutnym - i oba mogą wystąpić jednocześnie.
W przypadku trybu kodowanego każda para bajtów jest interpretowana jako liczba
powtórzeń (pierwszy bajt pary) i powtarzana dana (drugi bajt). Tryb absolutny rozpoczynany
jest bajtem zerowym po którym musi nastąpić bajt o wartości wyższej lub
równej #03 - co oznacz liczbę kolejnych nie zakodowanych bajtów. Sekwencję trybu
absolutnego kończy bajt zerowy. Zarówno dla trybu kodowanego jak i absolutnego
szczególne znaczenie ma bajt zerowy - i tak w przypadku gdy pierwszy bajt wynosi
#00 znaczenie kodowania zależy od wartości następnego bajtu ograniczonej do wartości
0, 1, lub 2. Wartość 0 (czyli dwa zerowe bajty po sobie) oznaczają koniec opisywanej
linii, wartość 1 oznacza koniec pliku. Sekwencja bajtów #00 i #02 wymaga kolejnych
dwu bajtów określających ile bajtów rysunku należy ominąć w pionie i w po
ziomie, przy czym ominięte bajty przyjmują wartości zerowe.
Dla przykładu - sekwencja bajtów:
#03 #34 #06 #02
oznacza w trybie kodowanym sekwencję:
#34 #34 #34 #02 #02 #02 #02 #02 #02.
Sekwencja pięciu bajtów kodowanych w trybie absolutnym, np.:
#00 #04 #10 #20 #30 #40 #00
oznacza środkową sekwencję - tzn. #10 #20 #30 #40.
Sekwencja #00 #02 #12 #01 oznacza ominięcie 18 bytów w poziomie i jednego bajtu
w pionie, które w tej sytuacji ustawione są na zero - przy czym drugi bajt przesunięcia
w przypadku plików BMP ma zawsze wartość 1 z racji reprezentowania linii pikseli.
Kodowanie RLE-4 ma analogiczną interpretację trybu kodowanego i absolutnego
- a różnica polega na wymuszaniu w jednym bajcie pary wartości. Użyta wcześniej sekwencja:
#03 #34 #06 #02
ma tym razem interpretację:
3 4 3 0 2 0 2 0 2 .
Poprzednio użyta jako przykład trybu absolutnego sekwencja czterech bajtów będzie
zakodowana:
#00 #08 #10 #20 #30 #40 #00
C. GIF
Graphics Interchange Format - opracowany w roku 1987 przez firmę CompuServ Incorporated
dla serwisów on-line, święcący triumfy w latach dziewięćdziesiątych wraz
z rozwojem internetu i WWW. Zawiera wiele nowatorskich rozwiązań niezwykle
użytecznych we wspomnianych dziedzinach - takich jak przeplot oraz transparentność
- a w nowszych wersjach prostą animowalność.
Ogólna postać pliku .GIF składa się z części obejmujących:
1. sygnaturę pliku
#00 3 identyfikator pliku - znaki GIF (#47 #49 #46)
#03 2 identyfikator wersji - w planach tożsamy z numerem roku - w praktyce
funkcjonują jedynie standardy 87 i 89 (#38 #37 i #38 i #39)
#05 1 identyfikator formatu danych - w praktyce wyłącznie litera a (#61)
2. opis globalnych parametrów obrazu
#06 2 szerokość obrazu w pikselach - pierwszy bajt mniej znaczący (LSB -
low (least) significient byte)
#08 2 wysokość obrazu w pikselach - pierwszy bajt mniej znaczący (LSB)
#09 1 bajt flag obrazu - niezwykle ważny ! - o układzie bitów:
x • • • • • • • określenie wykorzystywania globalnej tabeli barw.
1 globalna tabela barw będzie wykorzystywana i jej
opis będzie umieszczony po następnych dwu bajtach.
Oznacza to zarazem, że występujący dalej
kolor tła będzie miał znaczenie.
0 globalna tabela barw NIE będzie wykorzystywana.
Oznacza to że poszczególne fragmenty obrazu mogą
posiadać lokalne palety barw. W przypadku
braku lokalnych palet barw lub wykorzystywaniu
numerów kolorów wykorzystywana jest domyślna
tabela barw.
Uwaga: w przypadku stosowania domyślnej tabeli
barw jest nią nie domyślna tabela barw przeglądarki
(zwana CLUT - color lookup table) ale domyślna
tabela systemu.
• x x x • • • • liczba określająca ile bitów będzie przeznaczone na
określenie liczby kolorów. Wartość wynika z liczby
bitów plus 1. Np. wartość 0 oznacza iż używane będzie
0+1 bitów, co oznacza 21=2 kolory. Podobnie
bitowa wartość 011 wynosi 3, co oznacza 3+1=4 bit
ów czyli 24=16 wykorzystywanych kolorów palety.
Wartość bitowa 111 wynosi 7 co oznacza maksymalną
liczbę 7+1=8 bitów na określenie pojedynczego
kolor palety - czyli 28=256 dostępnych kolorów palety.
• • • • x • • • określenie posortowania palety - zapalenie bitu oznacza
iż kolory w palecie są posortowane z umieszczeniem
ważniejszych kolorów na początku listy barw
palety - co ma znaczenie przy wyświetlaniu obrazu
z ograniczoną sprzętowo liczbą wyświetlanych kolor
ów.
• • • • • x x x liczba kolorów globalnej palety - zarazem liczba bit
ów przeznaczonych na kolor piksela. Wartość 000
oznacza 0+1 czyli jeden bit i 21 kolorów itd., aż do
111 co oznacza 7+1=8 czyli 28=256 kolorów palety
i jeden bajt na każdy piksel.
#0A 1 numer koloru tła
#0B 1 współczynnik aspektu ekranu - przy wartości 0 oznaczający stosunek
szerokości do wysokości piksela jako 1:1. Przy wartości różnej od 0
stosuje się wzór:
współczynnik wyświetlany = ( współczynnik z pliku + 15 ) / 64
mogący mieć znaczenie przy wyświetlaniu zmniejszonego lub zwiększonego
obrazu - szczególnie w zastosowania związanych z WWW.
3. globalna mapa kolorów - ciąg trzybajtowych sekwencji liczący tyle elementów ile
określono kolorów w globalnych parametrach pliku.
#0C 1
11
wartość red koloru palety o numerze 0
wartość green koloru palety o numerze 0
wartość blue koloru palety o numerze 0
#0C + 3 1
11
wartość red koloru palety o numerze 1
wartość green koloru palety o numerze 1
wartość blue koloru palety o numerze 1
... i kolejne opisy następnych kolorów głównej palety ...
4. bloki fragmentów obrazu lub bloki rozszerzeń - mogące występować w dowolnej
liczbie i w dowolnej kolejności.
a) blok obrazu - składa się z trzech części:
- deskryptora bloku obejmującego:
1 nagłówek deskryptora bloku - #2C
2 pozioma współrzędna lewego górnego piksela bloku w stosunku do
całego obrazu
2 pionowa współrzędna lewego górnego piksela bloku w stosunku do
całego obrazu
2 poziomy rozmiar bloku
2 pionowy rozmiar bloku
1 bajt flag deskryptora bloku - o znaczeniu poszczególnych bitów:
x • • • • • • • flaga wykorzystywania lokalnej palety kolorów
1 lokalna paleta będzie wykorzystywana - jej opis
umieszczony będzie tuż po opisywanym deskryptorze
bloku obrazu
0 Brak lokalnej palety kolorów - wykorzystywana
będzie paleta globalna lub domyślna systemowa
• x • • • • • • flaga przeplotu - linie obrazu wyświetlane:
1 z przeplotem
0 bez przeplotu
• • x • • • • • flaga sortowania kolorów palety - znaczenie analogiczne
jak dla palety globalnej
• • • xx • • • zarezerwowane - zawsze 00
• • • • • xxx liczba kolorów lokalnej palety. Wartość 000 oznacza
0+1 czyli jeden bit i 21 kolorów itd., aż do 111 co
oznacza 7+1=8 czyli 28=256 kolorów palety.
- lokalnej palety kolorów - o strukturze analogicznej do globalnej palety kolor
ów - co oznacza ciąg trzybajtowych sekwencji liczący tyle elementów ile
określono kolorów w deskryptorze bloku obrazu
3 wartości red, green, blue koloru palety o numerze 0
3 wartość red, green, blue koloru palety o numerze 1
... i kolejne opisy następnych kolorów lokalnej palety ...
- właściwych danych fragmentu obrazu - pamiętanych w liniach poziomych
od lewej do prawej i od góry do dołu w blokach nie przekraczających 255
pikseli. Na opis obrazu składają się:
1 kod inicjujący - oznaczający minimalną wielkość słownika wykorzystywanego
w algorytmie kompresji LZW wykorzystywanym do kodowanie
obrazu - tożsamy z liczbą bitów opisujących pojedynczy piksel
powtarzalna sekwencje opisów linii obrazu obejmujące:
1 liczba bajtów kodu pierwszej sekwencji
kod pierwszej sekwencji kodowanej algorytmem LZW
1 liczba bajtów kodu drugiej sekwencji
kod drugiej sekwencji kodowanej algorytmem LZW
... kolejne sekwencje linii obrazu ...
1 terminator sekwencji bloku obrazu - zawsze 0
b) bloki rozszerzenia obejmują w swojej strukturze:
1 nagłówek deskryptora bloku - #21
1 jednobajtowy kod funkcji
powtarzalne sekwencje danych zależnych od kodu funkcji
1 liczba bajtów danych pierwszej sekwencji
dane pierwszej sekwencji
1 liczba bajtów danych drugiej sekwencji
Dane drugiej sekwencji
... kolejne sekwencje danych ...
1 terminator bloku rozszerzenia
Bloki rozszerzeń opisują dodatkowe informacje związane z procesem wyświetlania,
i w zależności od użytej funkcji (oznaczonej kodem we właściwym polu)
mogą opisywać specjalne parametry systemu, kart graficznych, szczególne
informacje związane z obrazem lub jego fragmentem.
Dobrze zdefiniowane i powszechnie używane są cztery funkcje o następującej
strukturze i kodach:
- blok wyświetlania tekstu - obejmujący:
#xx + #00 1 nagłówek deskryptora bloku - #21
#xx + #01 1 kod funkcji - #01
#xx + #02 1 wielkość bloku w bajtach - w tym przypadku zawsze 12
(#0C)
#xx + #03 2 położenie w poziomie pierwszego znaku pierwszej linii
tekstu na ekranie głównym mierzony w pikselach
#xx + #05 2 położenie w pionie pierwszego znaku pierwszej linii tekstu
na ekranie głównym mierzony w pikselach
#xx + #07 2 szerokość całego bloku tekstowego w pikselach
#xx + #09 2 wysokość całego bloku tekstowego w pikselach
#xx + #0B 1 szerokość komórki pojedynczego znaku tekstu mierzona
w pikselach
#xx + #0C 1 wysokość komórki pojedynczego znaku tekstu mierzona
w pikselach
#xx + #0D 1 kolor barwy tekstu
#xx + #0E 1 kolor tła tekstu
Po tak określonym nagłówku następują sekwencje linii bajtów tekstu w porcjach
od 1 do 255 znaków - przy czym pierwszy bajt sekwencji określa liczbę
faktycznych znaków.
Sekwencja rozszerzenia tekstowego kończy się bajtem o wartości 0.
- blok wyświetlania - najpowszechniej wykorzystywana funkcja o strukturze:
#xx + #00 1 nagłówek deskryptora bloku - #21
#xx + #01 1 kod funkcji - 249 (#F9)
#xx + #02 1 wielkość bloku w bajtach - w tym przypadku zawsze 4
#xx + #03 1 flaga określająca parametry wyświetlania
xxx • • • • • bity zarezerwowane
• • • xxx • • 000 nieokreślone - stosowane dla komunikat
ów o braku przenaszalności
001 polecenie niezmieniania obrazu
przy odświeżaniu całości ekranu
(strony www)
010 odświeżenie tła obrazu
011 odświeżenie obrazu
• • • • • • x • flaga wymogu oczekiwania na reakcję
użytkownika przed odświeżeniem obrazu
• • • • • • • x wskaźnik transparencji obrazu
#xx + #04 2 wielkość opóźnienia wyświetlania w milisekundach
#xx + #06 1 numer koloru interpretowanego jako transparentny
#xx + #07 1 bajt terminatora bloku - wartość 0
Teoretycznie liczba analogicznych sekwencji jest dowolna - ale interpretacji
podlega tylko blok rozszerzenia umieszczony przed blokiem danych.
- blok komentarza - o strukturze:
#xx + #00 1 nagłówek deskryptora bloku - #21
#xx + #01 1 kod funkcji - 254 (#FE)
Po tak określonym nagłówku następują sekwencje linii bajtów komentarza
w porcjach od 1 do 255 znaków - przy czym pierwszy bajt sekwencji określa
liczbę faktycznych znaków komentarza. Sekwencja bloku komentarza
kończy się bajtem zerowym.
- blok aplikacji obejmuje:
#xx + #00 1 nagłówek deskryptora bloku - #21
#xx + #01 1 kod funkcji - 255 (#FF)
#xx + #02 1 wielkość bloku w bajtach - w tym przypadku zawsze 11
(#0B)
#xx + #03 8 identyfikator rodzaju zastosowania
#xx + #0B 3 kod weryfikacji
Za tak określonym nagłówkiem następują sekwencje linii danych aplikacji
w porcjach od 1 do 255 znaków - przy czym pierwszy bajt określa liczbę
faktycznych danych. Sekwencję bloku aplikacji kończy bajt o wartości 0.
5. zakończenie pliku
1 terminator całego pliku GIF - bajt o wartości #3B
W przypadku obrazów z przeplotem cały obraz jest podzielony na cztery nierówne
części o proporcjach w zaokrągleniu wynoszących 1:1:2:4 całości obrazu. Pierwsza
część obejmuje ósmą część obrazu i wyświetla co ósmą linię obrazu rozpoczynając od
wiersza 0 (następnie wiersz 8, 16, itd.). Druga część również wyświetla co ósmą linię
obrazu począwszy od linii 4 (następnie linia 12, 20 itd.). Trzecia część zajmuje
czwartą część całości obrazu i wyświetla co czwartą linię obrazu począwszy od linii 2
(następnie linia 6, linia 10 itd.). Ostatnia część zajmując połowę linii obrazu wyświetla
co drugą linię obrazu począwszy od linii drugiej (o numerze 1 licząc od 0).
Uwaga:
Istotnie wykorzystywane w formacie GIF algorytm kompresji LZW (kompresja słownikowa
o zmiennej długości słownika) nie został omówiony.
D. JPG (JPEG)
Nazwa pochodzi o skrótu Joint Photographics Experts Group - w wersji czteroliterowej
wprowadzona dla maszyn unixowych, w wersji trzyliterowej dla DOS-a a później
dla systemów operacyjnych Microsoftu. Z założenia przewidziany dla obrazów o łagodnych
przejściach wartości pomiędzy pikselami - czyli np. dla fotografii naturalnych
obiektów.
Kodowanie obrazu przebiega w czterech etapach.
1. Opcjonalne przekodowanie kolorów
Zgodnie z wcześniejszymi informacjami dotyczącymi percepcji barw oko ludzkie
jest znacznie czulsze na zmiany jasności niż na zmianę koloru - co jest wynikiem
m.in. większej liczby pręcików w stosunku do ilości czopków. Dlatego przekodowanie
kolorów w pierwszym kroku polega na konwersji układu RGB do układu
YCbCr
- w którym składowa Y jest przybliżeniem jasności (luminancji), zaś składowe
Cb i Cr są przybliżeniem chromatyczności - z największym udziałem składowych
niebieskiej i czerwonej.
Tak przeliczone piksele obrazu rozdzielane są na trzy osobne obrazy wg składowych
Y, Cb i Cr - przy czym składowe chromatyczne są uśredniane wg wartości
czwórki pikseli 2x2. Tym samym przy założeniu jednobajtowych składowych na
poszczególną składową koloru RGB każda ze składowych chromatycznych pozwala
zaoszczędzić połowę zajętości pliku - bez zauważalnych strat obrazu.
2. Szybka transformacja DCT
Każdy z przekodowanych płatów jest poddawany dyskretnej transformacie kosinusowej
(discreete cosinus transform - DCT), realizowanej poprzez szybkie algorytmy
- skąd nazwa FDCT. Transformata opisana jest stosunkowo złożonym wzorem,
wymagającym dla pojedynczego piksela przeliczenia wartości całego transformowanego
fragmentu, wielokrotnie stosowaną funkcję cosinus i kilka innych
elementów. Stosowana do całego obrazu wymagałaby wielokrotnego przeliczenia
każdego piksela - dlatego osobno przeliczane są bloki o rozmiarze 8x8 pikseli -
jako optimum szybkości przeliczania w połączeniu z wiernością odwzorowania.
Transformowany blok zajmuję większą liczbę bajtów z racji konieczności pamiętania
wartości rzeczywistych.
Zaletą transformaty kosinusowej jest przetworzenie wejściowego obrazu do postaci,
w której istotne wartości skupione są w mniejszej liczbie punktów - co
oznacza duże obszary o jednakowych lub porównywalnych wartościach - podlegających
znacznej kompresji.
Transformacja kosinusowa w przypadku ciągłym - niezależnie od wejściowego
obrazu zawsze daje obraz w przybliżeniu podobny do powyższego lewego obrazu,
co w przypadku dyskretnym oznacza prawy obrazek.
3. Kwantyzacja.
Najbardziej stratny element zapisu pliku w formacie JPG - oznaczający podzielenie
każdej wartości wynikające z transformacji przez współczynnik kompresji
z zaokrągleniem wyniku do liczby całkowitej - odpowiadającej ostatecznej wartości.
Duża kompresja oznacza niewielką liczbę podziałów - czyli niewielką liczbę
możliwych wartości - co wymusza obszary o dużej liczbie podobnych pikseli.
Dla wykorzystania efektu wynikającego z transformaty DCT obszary kodowane
są wg strategi ZigZag.
4. Kompresja Huffmana
Przetworzony w ten sposób obraz jest kompresowany z użyciem algorytmu kompresji
Huffmana - czyli algorytmu o statycznym słowniku i kodzie zależnym od częstości
występowania elementu słownika. Pismo.
VIII. Typografia i liternictwo
A. Podstawowe informacje
Pismo.
Zespół znaków przyjęty przez określoną grupę ludzką umożliwiający widzialne i/lub
trwałe Zespół znaków przyjęty przez określoną grupę ludzką umożliwiający widzialne
i/lub trwałe przedstawienie myśli i mający to samo znaczenie dla wszystkich jej członków.
Pismo w sensie drukarskim jest to pismo utrwalone na nośniku.
Historia pisma
- znaki pamięciowe - kamienie, proste znaki, rysunki, symbole
- powstało pismo wyrazowe, sylabowe, alfabetyczne
- alfabety - starosemicki, fenicki, grecki, łaciński
Czcionka
Stempel z wizerunkiem (oczkiem) litery służący do jej odbicia na podłożu.
Krój pisma
Charakterystyczny obraz pisma drukarskiego o jednolitych cechach graficznych: rytmie,
proporcji, właściwościach optycznych itp., niezależnych od stopnia i odmiany pisma. Każdy
krój pisma posiada swoją nazwę (na przykład Helvetica, Univers czy Garamond), podlegającą
wraz z samym krojem ochronie prawnej.
Sposoby utrwalania pisma
- druk stronicowy - kamień i drewno - Chiny w VI w. n.e.
- rok 1440 Johann Gensfleisch z Moguncji (Gutenberg) - możliwość wytworzenia dowolnej
liczby stempli - czcionek.
B. Rozwój i rodzaje krojów pisma łacińskiego
- kapitel rzymski - wyłącznie duże litery (majuskuła, kapitel, wersalik).
- z pisanego kapitelu kursywa (italic)
- minuskuła - małe litery.
- 800 roku powstała minuskuła karolińska - styl romańskie i germański,
- średniowieczu -- kroje gotyckie (tekstura, rotunda, szwabacha i fraktura).
- koniec XV w. - Włochy - antykwa
- XVIII i XIX w. - antykwy renesansowe, barokowe i klasycystyczne, antykwa linearna(
groteska), pismo jednoelementowe, pismo bezszeryfowe oraz egipcjanka (również
jednoelementowe z szeryfami).
- przełom XIX i XX - pisanki, kroje reklamowe i ozdobne.
- lata osiemdziesiąte XX w. kroje "antyestetyczne"
C. Miary typograficzne
1. System Pica ("picas, points") - USA i Wielka Brytania
drukarski
83 pica = 35 cm
1 pica = 4,2169 mm
1 point (punkt amerykański) = 1/12 pica = 0,3514 mm
PostScript
1 point = 1/72 cala = 0,3528 mm
1 pica = do 1/6 cala = 4,2333 mm
2. System Didota ("points") - Europa bez Wielkiej Brytanii
1 point = 1/2660 m - 0,3759 mm
3. Wielkości pisma
brilant 3 punkty tekst napisany czcionką o wielkości brilant - czyli o wielkości 3 punkty typograficzne
diament 4 punkty tekst napisany czcionką o wielkości diament - czyli o wielkości 4 punkty typograficzne
perl 5 punktów tekst napisany czcionką o wielkości pearl - czyli o wielkości 5 punktów typograficznych
nonparel 6 punktów tekst napisany czcionką o wielkości nonparel - czyli o wielkości 6 punktów typograficznych
kolonel 7 punktów tekst napisany czcionką o wielkości kolonel - czyli o wielkości 7 punktów typograficznych
petit 8 punktów tekst napisany czcionką o wielkości petit - czyli o wielkości 8 punktów typograficznych
borgis 9 punktów tekst z czcionką o wielkości borgis - czyli o wielkości 9 punktów typograficznych
garmont 10 punktów tekst z czcionką garmont - czyli o wielkości 10 punktów typograficznych
cycero 12 punktów tekst czcionką cycero - wielkości 10 punktów typograficznych
średnian 14 punktów czcionka średnian - wielkość 14 punktów
tercja 16 punktów Czcionka tercja - wielkość 16 punktów
dwugarmont 20 punktów dwugarmont - wielkość 20 punktów
półkwadrat 24 punktów półkwadrat - 24 punkty
dwuśrednian 28 punktów dwuśrednian - 28 punktów
dwutercja 32 punktów dwutercja - 32
konkordans 36 punktów konkordans - 36
kwadrat 48 punktów kwadrat - 48
4. Firet, Em, En
− firet - Justyfikacja równa stopniowi pisma.
− Em - to jednostka równa stopniowi pisma w danym tekście - często wynosząca jeden
firet, a w zastosowaniach komputerowych szerokości litery M w bieżącym
kroju.
− En - połowa Em
D. Linie pisma, długości, kerning
1. Linie pisma
dolna - dolna krawędź rysunku małych liter minuskułowych z wydłużeniami dolnymi
górna - górna krawędź rysunku dużych liter i z wydłużeniami górnymi małych liter
podstawowa - dolna krawędź dużych liter majuskułowych i małych liter bez wydłużeń
średnia - górna krawędź małych liter bez wydłużeń
akcentów - górna krawędź znaków akcentów - ogólnie dodatkowych
Potocznie - podstawowa linia pisma
Stopień pisma
Odległość miedzy liniami górna i dolna - wielkość czcionki
Interlinia
Odległość pomiędzy linią dolną jednego wiersza, a linią akcentów wiersza następnego
Leading
Odległość pomiędzy liniami pisma kolejnych wierszy
Odstęp linii pisma
Suma interlinii i stopnia pisma
Kerning
Odstęp pomiędzy literami czcionki - dodatni lub ujemny. W tekstowych o których szerokości
litery a (0,5 firetu), wynosi 1/3 firetu. Nie więcej niż 0,75 firetu i nie mniej
niż 0,25 firetu.
Tracking
Zmniejszanie odstępu międzyliterowego wraz ze wzrostem stopnia pisma.
E. Odmiany kroju pisma, rodzina pisma
Odmiana kroju pisma
Różnicuje pisma jednego kroju ze względu na grubość, szerokość i pochylenie.
grubość - wielkość wyliczana na podstawie pierwszej pionowej kreski litery n stopnia 10p.
• bardzo cienkie (extra light) - poniżej 0,2 mm
• cienkie (light) - od 0,2 do 0,3 mm
• zwykłe (regular, normal, book) - od 0,3 do 0,4 mm
• półgrube (semibold, demi) - od 0,4 do 0,6 mm
• grube (bold) - od 0,6 do 0,85 mm
• bardzo grube (extra bold, heavy) - powyżej 0,85mm
szerokość - zależna od długości słowa OHamburgefonsz w stopniu 10 p
• bardzo wąskie (extra condensed) - poniżej 2,5 cm
• wąskie (condensed) - od 2,5 do 3,0 cm
• normalne - od 3,0 do 3,5 cm
• szerokie (extended), do 3,5 do 4,0 cm
• bardzo szerokie (extra wide) - powyżej 4 cm
nachylenie
• proste;
• pochyłe w prawo - italic, oblique;
• pochyłe w lewo - backslant.
Rodzina kroju pisma
Zbiór wszystkich odmian jednego kroju pisma.
F. Elementy budowy znaków pisma
1. Litery
Podstawowe
- Wydłużenie dolne: część litery tekstowej lub wersalikowej znajdująca się poniżej
podstawowej linii pisma i stykająca się z dolną linią pisma.
- Wydłużenie górne: część litery tekstowej znajdująca się powyżej linii środkowej i
stykająca się z górną linią pisma.
- Łuk: zaokrąglona, otwarta lub zamknięta kreska litery.
- Światło wewnętrzne znaku: powierzchnia między kreskami znaku.
- Kreska główna: grubsza kreska litery dwuelementowej.
- Kreska cienka: kreska o mniejszej grubości od kreski głównej litery dwuelementowej.
- Kreska cieniująca: kreska litery o zmiennej grubości.
- Kreska pionowa: kreska prostopadła do linii pisma.
- Kreska pozioma: kreska równoległa do linii pisma.
- Kreska ukośna: kreska nachylona w stosunku do linii pisma
2. Szeryfy
Jednolite zakończenia kresek liter niektórych krojów pism
3. Cyfry
Cyfry zwykłe
Cyfry nautyczne (mediewalowe)
G. Szczególne znaki pisma
1. Ligatury
Odrębne traktowanie połączenia dwu liter.
a) Standardowe - fi, ffi, ffl
polskie łł
Niewstawianie ligatur jest błędem.
b) Ligatury historyczne - ae, sk, ck, ct
c) Ligatury estetyczne
2. Abrewiatury
Pojedyncze znaki zastępujące ciągi liter
IX. Pismo a komputery
A. Font
Nośnik pisma zakodowany w postaci cyfrowej
rastrowe (bitmapowe) - dla każdego znaku mapa bitowa
wektorowe (skalowalne, vector font) - pamiętanie konturu każdego znaku w postaci parametr
ów wzorów. Type 1 (Adobe -- pliki PFB, PFM i AFM) oraz TrueType (autorstwa
Apple i Microsoft - pliki TTF), OpenType - Adobe i Microsoft - połączenie Type 1
i TrueType
B. Realizacja ekranowa i drukowana fontu
- rozdzielczość ekranu 72 lub 96 dpi , druk od 300 do 1200 dpi
Różne czcionki w realizacji komputerowej zbliżają się do siebie.
Przyczyna - niemożność dokładnego odwzorowania
C. Sposoby rozwiązania
Litera z pikselami wybranymi ze środka obrysu
Litera z większą i jakąkolwiek częścią wspólna
Wersja optymalna
1. Hints
System podpowiedzi (ang. hints) - ręczna zamiana matematycznego opis znaku (znalezienie
może być długotrwale)
Znak kroju TrueType
bez podpowiedzi.
Znak kroju TrueType
z systemem podpowiedzi
.
Specjalnie dopracowany
znak z zaawansowanym
systemem podpowiedzi
ESQ.
TrueType ESQ (ang. Enchanced Screen Quality).
Firma Monotype Typography Itd. - od 100 lat opracowująca fonty - stworzyła fonty dla
Microsoft., charakteryzujace się czytelnością i przeznaczone wyłącznie dla ekranów komputer
ów.
Pierwsze fonty czysto komputerowe - Verdana, Georgia, Trebuchet.
2. Antyaliasing (wygładzanie)
Wygładzający krawędzi obiektów schodkowych w obrazach bitmapowych poprzez wprowadzanie
pikseli o mniejszym nasyceniu i jasności niż piksele obiektu.
D. Polskie ogonki
− Pierwsze polskie czcionki - Antykwa Toruńska - Zygfryd Gardzielewski, Antykwa Półtawskiego
- Adama Jerzego Półtawski.
− Po wojnie - Ośrodku Pism Drukarskich z Zakładów GrafMasz w Warszawie
− Polskie czcionki komputerowe - dowolność pozostawiona zachodnim producentom lub
polskim amatorom
Garamond
(AdiTech)
Gatineau
(Corel)
Garamond
(Microsoft)
ITC Garamond
(URW++)
ITC Garamond book
Stefan Szczypka STR
Humanist 521 BT ultra bold
(Bitstream)
Humanist521PL ultra bold
(Kuba Tatarkiewicz, ThETA)
Gill Sans extra bold
(Stefan Szczypka, STR)
E. Wojna fontów
1. Type 1 (Adobe)
Dwa pliki metrycznego i binarnego.
Plik binarny (.pfb) zawierając dane o kroju pisma (krzywymi Béziera trzeciego stopnia)
i rozmieszczeniu hintów.
Plik metryczny (.afm) zawiera informacje o rozmiarach znaków oraz kerningu Zawierają
dowolną liczbę znaków - ale dostępne maksymalnie 256. Bez możliwości obsługi
wielu języków
2. TrueType (Microsoft)
Bardziej skomplikowany - więcej możliwości. Jeden plik, seria rekurencyjnych tabel opisujących
inny aspekt fontu. Kontuy przy pomocy krzywych Béziera drugiego stopnia,
tzw. b-splines. Prostszej matematycznea formuła - szybsze kreślonie. Dane metryczne i
kerning fontów TrueType zapisane są w kilku osobnych tabelach, wiele tabel dodatkowych,
opisujących hinting, anti-aliasing i inne aspekty techniczne, informacje na temat
nazwy kroju pisma, projektanta, stanu autorskoprawnego i licencyjnego fontu itp.
3. OpenType
Najnowszy format fontów. 1996 - umowa Adobe i Microsoft. Rrozszerzenie formatu
TrueType. Specjalna tabela CFF zawierająca m.in. kontury Type 1. Zawierają Unicode.
Podstawowym zestawem znaków stosowanym w OpenType jest Unicode. Zawiera ligatury.