następny punkt »


1. Cyfrowa reprezentacja obrazu

W otaczającym nas świecie obserwujemy obrazy ciągłe składające się z nieskończenie wielu punktów, przy czym każdy punkt może być reprezentowany za pomocą nieskończenie wielu wartości. Każda próba reprezentowania takich obrazów oznacza konieczność ograniczenia zarówno liczby modelowanych punktów jak i liczby wartości jakie można przypisać poszczególnym punktom. W szczególności z sytuacją taką mamy do czynienia w systemach cyfrowych, w których każdy parametr może przyjmować wartości jedynie ze skończonego zbioru wartości. W konsekwencji, w odniesieniu do obrazów powstają następujące problemy: jak rzeczywisty obraz reprezentować w postaci cyfrowej oraz jak tworzyć obraz metodami cyfrowymi żeby możliwie dobrze odzwierciedlał obraz rzeczywisty. W obu przypadkach konieczne jest korzystanie z odpowiedniej reprezentacji cyfrowej obrazu.

Konwersja obrazów rzeczywistych na postać cyfrową polega na próbkowaniu obrazu i kwantowaniu próbek. Natomiast konwersja odwrotna następuje praktycznie dopiero w czasie obserwacji przez człowieka obrazu wyświetlanego na przykład na monitorze - wykorzystuje się tu właściwości systemu wzrokowego człowieka pozwalające odbierać informację dyskretną jako informację ciągłą (oczywiście przy dostatecznie dobrej wizualizacji obrazów).

Proces próbkowania obrazu można wyjaśnić poglądowo w następujący sposób. Wyobraźmy sobie, że na zdjęcie czarno-białe (przyjmujemy tu upraszczające założenie, że zdjęcie dobrej jakości odzwierciedla obraz rzeczywisty) nanosimy gęstą siatkę prostokątną. Każdy węzeł siatki odpowiada jednemu punktowi obrazu - jest próbką obrazu. Zbiór tak określonych próbek stanowi pewne przybliżenie obrazu. Każda próbka obrazu może przyjmować dowolną wartość z określonego przedziału jasności (odcieni szarości). Z kolei ten przedział wartości jest dzielony na pewną liczbę podprzedziałów i poszczególnym podprzedziałom przypisuje się różne kody cyfrowe. Stąd każdy kod cyfrowy reprezentuje określoną jasność (odcień szarości).

Obok opisanej wyżej reprezentacji obrazu, w której piksele są przedstawiane jako węzły siatki, w praktyce spotykana jest również inna reprezentacja obrazu, w której poszczególne piksele są traktowane jako obszary o określonej powierzchni i są reprezentowane przez oczka siatki prostokątnej. Gdyby odwoływać się do procesu próbkowania obrazu ciągłego, to można przyjąć, że każdemu pikselowi jest teraz przypisana uśredniona barwa w obszarze oczka siatki prostokątnej. Na rysunku II.1 pokazane są obie reprezentacje. Formalnie można zwrócię uwagź na przesuniźcie współrzędnych poszczególnych pikseli o ½ skoku siatki.

Rys. II.1 Dwie równoważne reprezentacje pikseli: a) punktowa, b) powierzchniowa

W efekcie nasze zdjęcie zostało zastąpione zbiorem próbek reprezentowanych w postaci cyfrowej. Jest to uporządkowany zbiór próbek o określonych jasnościach. W podobny sposób można przedstawić również zdjęcie kolorowe. Poszczególne próbki są określane w grafice komputerowej jako piksele. (Zauważmy, że operację próbkowania realizują na przykład skanery oraz aparaty cyfrowe.)

Jeżeli z naszą hipotetyczną siatką prostokątną zwiążemy układ współrzędnych prostokątnych x,y, to położenie każdego piksela p można opisać podając odpowiednie współrzędne xp,yp. Ostatecznie, obraz jest reprezentowany przez prostokątną matrycę m ´ n pikseli, gdzie m i n reprezentują liczby pikseli, odpowiednio w poziomie i w pionie. Liczby te określają rozdzielczość pikselową obrazu, odpowiednio poziomą i pionową wyrażoną w pikselach. Tak określona rozdzielczość obrazu jest niezależna od rzeczywistych rozmiarów obrazu - precyzuje jedynie za pomocą ilu pikseli obraz jest reprezentowany.

Zależnie od sposobu reprodukcji obrazu jego rozmiary będą różne. Rozmiary te można określić jeżeli znana jest rozdzielczość liniowa urządzenia reprodukującego, określona przez liczbę podstawowych elementów (linii, pikseli, kropek, próbek) przypadających na określoną jednostkę długości. Na przykład, w odniesieniu do drukarek czy skanerów używa się miary wyrażanej w jednostkach dpi (punktów na cal), a w odniesieniu do druku lpi (linii na cal).

Przykład

Jakie będą rozmiary obrazu o rozdzielczości pikselowej 800 ´ 600 reprodukowanego na drukarce o rozdzielczości a) 300 dpi, b) 600 dpi?

W przypadku a) wymiary obrazu będą wynosiły odpowiednio:

800/300 = 2,66" = 6,77 cm i 600/300 = 2" = 4,08 cm.

W przypadku b) otrzymamy odpowiednio:

800/600 = 1,33" = 3,39 cm i 600/600 = 1" = 2,54 cm.

W przypadku urządzeń wyświetlających najczęściej korzysta się z rozdzielczości pikselowej dla charakteryzowania jakości wyświetlanego obrazu. W przypadku gdy znane są rozmiary ekranu monitora możliwe jest również określenie rozdzielczości liniowej w jednostkach takich jak na przykład dpi.

Przykład

Dla ekranu o rozdzielczości 800 ´ 600 pikseli i przekątnej 15" określić rozdzielczość liniową w poziomie wyrażoną w dpi. Przyjąć, że stosunek boków ekranu wynosi a : b = 4 : 3.

Z równania Pitagorasa mamy, że 152 = a2 + b2. Wprowadzając pomocniczą zmienną x możemy boki kwadratu zapisać w postaci a = 4x oraz b = 3x. Po podstawieniu do równania i rozwiązaniu otrzymujemy, że x = 3". Stąd a = 12" i b = 9". Wobec tego szukana rozdzielczości w poziomie wynosi 800/12" = 66,6 dpi.

Obraz przedstawiony w postaci matrycy pikseli jest określany często jako mapa pikseli; w praktyce stosowane są również określenia mapa bitowa oraz bitmapa niezależnie od tego ile bitów jest wykorzystywanych do reprezentacji piksela.

Dla zapamiętania obrazu w postaci mapy pikseli potrzebna jest odpowiednia ilość miejsca w pamięci. Dla przykładu, jeżeli obraz ma rozdzielczość pikselową 800 ´ 600 i barwa pojedynczego piksela jest reprezentowana za pomocą 24 bitów, to do zapamiętania informacji o obrazie potrzeba 800 * 600 * 24 bitów w pamięci (11,52 Mb lub 1,44 MB).

Przykład

Za pomocą dwóch urządzeń uzyskano obrazy o rozmiarach 2" ´ 2". Określić wymaganą pojemność pamięci dla przechowania obrazów jeżeli poszczególne urządzenia miały następujące parametry: a) rozdzielczość liniowa 72 dpi, obraz czarno-biały 1 bit/piksel, b) rozdzielczość liniowa 300 dpi, obraz kolorowy 24 bity/piksel. Zakładamy, że przechowujemy tylko informacje o pikselach obrazu.

W przypadku a) potrzebna jest pamięć o pojemności:

(2 * 72) * (2 * 72) * 1 = 2,592 kB

W przypadku b) potrzebna jest pamięć o pojemności:

(2 * 300) * (2 * 300) * 24 = 1,08 MB

Rozdzielczość pikselowa obrazu nie jest cechą stałą obrazu. Obraz może być przedstawiony z różnymi rozdzielczościami zależnie od potrzeb bądź od możliwości urządzeń próbkujących, pamiętających czy wyświetlających. Oczywiście im większa rozdzielczość obrazu tym lepsza aproksymacja rzeczywistego obrazu. Na rysunku II.2 pokazany jest ten sam obraz przy dwóch różnych rozdzielczościach pikselowych.

Rys. II.2. Obraz przedstawiony z różnymi rozdzielczościami pikselowymi

Podobnie jak w przypadku rozdzielczości pikselowej obrazu również liczba bitów poświęcanych na reprezentację barwy pojedynczego piksela nie jest cechą charakterystyczną obrazu. Przy większej liczbie bitów uzyskujemy wierniejsze odzwierciedlenie rzeczywistej barwy. Na rysunku II.3 pokazano ten sam obraz wyświetlony przy dwóch różnych liczbach bitów reprezentujących barwę pojedynczego piksela; w obu przypadkach rozdzielczość pikselowa obrazu jest stała.

Rys. II.3. Obraz przy różnych liczbach bitów na piksel

Jednak nadmierne zwiększanie liczby bitów reprezentujących barwę piksela ponownie napotyka barierę sensowności, wynikającą z ograniczonych możliwości postrzegania barw przez człowieka. Na ogół uważa się, że dla potrzeb fotorealistycznych obrazów wystarcza 8 bitów dla zakodowania informacji o luminancji albo o każdej z podstawowych barw. Czasami może występować potrzeba zwiększenia tej wartości do 10 lub 12 bitów.

W praktyce komputerowej są stosowane różne rozdzielczości pikselowe obrazu. Najczęściej stosunek rozdzielczości w poziomie do rozdzielczości w pionie wynosi 4 : 3, czyli tyle ile wynosi typowy stosunek boków w monitorach. Ostatnio najczęściej spotykane wartości rozdzielczości to 640 ´ 480, 800 ´ 600, 1024 ´ 768, 1600 ´ 1200. Niemniej spotykane są rozdzielczości o innym stosunku, na przykład 5 : 4 (1280 ´ 1024).

W miarę upływu czasu i rozwoju technologii rośnie "typowa" rozdzielczość pikselowa obrazów wyświetlanych na ekranach monitorów - kiedyś było to 320 ´ 240; obecnie jest to 1024 ´ 768. Można postawić pytanie czy są jakieś granice w tym względzie. Wydaje się, że jedyne sensowne ograniczenie można wiązać ze skończoną zdolnością systemu wzrokowego człowieka do rozróżniania szczegółów. Praktyczna reguła mówi, że człowiek jest w stanie rozróżniać szczegóły widziane w obrębie kąta o wartości około 1 minuty kątowej. Przyjmując, że typowa odległość obserwatora od ekranu monitora wynosi około 0,5 metra otrzymuje się, że maksymalna sensowna rozdzielczość odnośnie do postrzegania drobnych szczegółów jest w przedziale 100-200 punktów (pikseli) na centymetr. (We współczesnych monitorach mamy dostępne rozdzielczości rzędu 30-50 punktów na centymetr.). Zwiększanie rozdzielczości poza ten przedział będzie się mijało z celem skoro i tak nie będziemy w stanie rozróżnić drobnych szczegółów. Warto zwrócić uwagę, że praktycznie ta granica została już osiągnięta. Są dostępne monitory, które wyświetlają obrazy o rozdzielczości pikselowej 4096 ´ 3072.

Przykład

Obserwator ogląda obraz o szerokości 30 cm z odległości 50 cm. Przyjmując, że obserwator jest w stanie rozróżniać szczegóły widziane w obrębie kąta o wartości 1 minuty kątowej (1') określić przybliżoną liczbę pikseli w poziomie, które obserwator jest w stanie rozróżnić.

Korzystając z rysunku pokazanego obok możemy zapisać, że tg a/2 =0,3. Stąd a/2 @ 17° i a @ 34°. Przy założonej zdolności rozróżniania szczegółów i pamiętając, że 1° = 60' otrzymujemy szukany wynik: 34 * 60 = 2040 pikseli.


 następny punkt »