Znaczenie kompresji obrazów cyfrowych: Na wielkość pliku ma wpływ przede wszystkim liczba punktów w obrazie oraz liczba bitów reprezentacji punktu obrazu. Duże rozmiary plików powodują obniżenie efektywności systemów baz danych gromadzących obrazy, a transmisje takich obrazów przez linie telefoniczne trwają dziesiątki minut. Jeszcze większe znaczenie ma kompresja cyfrowych sygnałów wizyjnych. Jeżeli rozdzielczość obrazów jest duża, to transmisja wymaga stosowania kanałów telekomunikacyjnych o wielkich przepływnośćiach. Na przykład transmisja cyfrowego sygnału telewizyjnego powstałego z próbkowania składowych luminancji i chrominancji wymaga zgodnie z zaleceniem ITU-R BT.601 przepływności 216 Mb/s. Nawet z zastosowaniem zaawansowanych technik modulacji niezbędny jest w tym celu kanał o wielokrotnie szerszym paśmie niż w przypadku przesyłania sygnału telewizji analogowej. Zastosowanie kompresji jest więc niezbędnym warunkiem rozwoju telewizji cyfrowej. Dzięki kompresji w paśmie częstotliwości jednego kanału analogowego można przesyłać kilka programów telewizji cyfrowej, co prowadzi do obniżenia kosztów transmisji sygnałów wizyjnych. 1 bit - ∅ np. świeci nie świeci 1 bit można zapisać tylko dwa stany 8 bitów - 1 bajt ⇒ 256 różnych stanów. Twierdzenie SHANNON: Fs ≥ 2 * Fmax Fs - częstotliwość sygnału próbkowego Fmax - maksymalna częstotliwość sygnału wyjściowego którą daje się odtworzyć Zapis na płycie audio CD 44,1 kHz; 48 kHz Sprzęt Hi - Fi 20 - 22 kHz Płyta CD - AUDIO: nie ma kompresji 74 min - zawartości muzyki na płycie ok. 4440 sek. - w każdej sek. mamy 44000 próbek. 190 M próbek (mega) - każda próbka zapisana na 2 bajtach; 380 MB + drugi kanał + 38 MB = 760 MB ≈ 1 płyta CD - ROM. VCD - Video CD jest to format zapisu filmów z jakością VHS na płytach CD-ROM opracowany w 1993 roku przez firmy Sony i Philips. Płyta Video CD zawiera około 70 minut materiału filmowego zapisanego w formacie MPEG-1. Można ją odczytywać w większości napędów DVD, czytnikach Video CD oraz popularnych napędach CD-ROM. VCD jest narodowym standardem krajów azjatyckich. Rozdzielczość PAL 352x288, Rozmiar/min 10 MB/min, Ilość min. Na płycie CD-R 76 min. Wymagania Procesora P 120 MHz, Obraz MONOCHROMATYCZNY (CZARNO - BIAŁY) 8 bitów na 1 próbkę. 800 * 600 ile to jest punktów 48000 ≈ 0,5 próbek czyli 24 bity / próbkę 12 MB na jeden obraz rozmiaru 800 * 600. 720 * 576 ≈ 10 MB na jeden obraz. 250 MB/s 4:2:0 ⇒ 125 MB/s Zagadnienia podstawowe: Kompresji podlegają z reguły dane reprezentujące obrazy kolorowe. Synteza barw w monitorach i projektorach opiera się na zasadzie addytywnego mieszania świateł o trzech barwach podstawowych: czerwonej, zielonej i niebieskiej (RGB ; — red, green, blue). Również sygnały wizyjne powstają w kamerach w wyniku .; przetwarzania świateł o wymienionych barwach podstawowych na sygnały elektryczne RGB. . Kolorowe drukarki są natomiast urządzeniami działającymi z wykorzystaniem zasady subtraktywnego mieszania barw. W mieszaniu subtraktywnym barwami ; podstawowymi są: niebiesko-zielona albo błękitna (cyari), purpurowa (magentd) \ i żółta (yellow). W celu ujednolicenia pomiarów kolorymetrycznych Międzynarodowa Komisja Oświetleniowa 1931 ustanowiła system współrzędnych barwnych XYZ, w którym światło o dowolnej barwie daje się przedstawić za pomocą trzech nieujemnych strumieni X. Y, Z. Składowa Y reprezentuje lurninancję strumienia światła, natomiast składowe X i Z określają jego barwę. Cyfrowe reprezentacje bez kompresji. Formaty plików graficznych: W celu umożliwienia wymiany danych graficznych ustalono wiele rozmaitych formatów plików. Do przechowywania obrazów scen naturalnych wykorzystuje się tak zwane rnapy bitowe, które przedstawiają obrazy jako prostokątne tablice wartości przyporządkowanych poszczególnym punktom obrazu. Z zasady plik zawiera nagłówek określający najczęściej format zapisu danych, rozmiary obrazu, ewentualnie paletę oraz szereg informacji dodatkowych dotyczących treści obrazu, autorstwa, daty itd. Po nagłówku następują dane reprezentujące punkty obrazu. Po nagłówku następują dane reprezentujące punkty obrazu np. • sposoby reprezentacji — wartości składowych, elementy palety, • liczby bitów reprezentacji pojedynczego punktu obrazu — zwykle 8*24 bitów. Popularne formaty plików graficznych, takie jak PPM, PCX, TIFF, GIF, Targa, SPIFF, DPX, TGA czy BMP. Podstawowe zagadnienia kompresji: Redukcja danych reprezentujące obrazy. Oryginalne dane reprezentujące cyfrowe obrazy i sygnały wizyjne charakteryzują się nadrniarowością, czyli redundancją. Oznacza to, że dane zawierają informacje nadmiarowe, których nie trzeba przesyłać, gdyż mogą być w odbiorniku odtworzone na podstawie innych przesyłanych informacji dotyczących danego obrazu. Te redundancję czasami nazywa się redundancją statystyczną (statistical rsdundancy). Redundancja statystyczna może być wsunięta z sygnału bez usuwania z niego jakiejkolwiek informacji. Dokonuje się tego przez odwracalne (reversible) kodowanie bezstrarne (lossless coding), które umożliwia dokładne odzyskanie w dekoderze pierwotnych danych. Ponadto obrazy zawierają informacje nieistotne, czyli takie, których wykorzystanie nie jest uznane za konieczne w danym zastosowaniu. Klasyfikowanie coraz większej części informacji jako nieistotnej prowadzi do zwiększania kompresji, ale i do pogarszania jakości obrazów zdekodowanych. Informacja nieistotna jest usuwana z danych przez nieodwracalne (irreversible) kodowanie stratne (lossy coding). Ilość danych po kompresji bywa też wyrażana średnią liczbą bitów na punkt obrazu (b/p) — zwłaszcza dla obrazów nieruchomych — lub niezbędną przepływnością binarną (kb/s lub Mb/s) — dla obrazów ruchomych, czyli sekwencji wizyjnych. Osiągana wartość stosunku kompresji zależy od bardzo wielu czynników, w tym również od treści obrazu czy sekwencji wizyjnej. Subiektywna ocena jakości obrazów: Metody oceny subiektywnej polegają na uśrednianiu ocen uzyskiwanych od poszczególnych widzów, którzy biorą udział w teście. Widzowie mogą oceniać jakość sekwencji wizyjnej lub oceniać różnice jakości w stosunku do sekwencji odniesienia. Zalecenie ITU-R BT.500 postanawia, że grupy przynajmniej 15 obserwatorów nie będących ekspertami po krótkim instruktażu biorą udział \y sesjach trwających nie dłużej niż 30 minut. W trakcie trwania sesji dokonuje się szeregu prezentacji obrazów nieruchomych lub sekwencji wizyjnych. Poszczególne prezentacje trwają zwykle od około 10 sekund do 15 sekund i są od siebie oddzielane przerwami, podczas których wyświetla się obraz szary. Po każdej prezentacji uczestnicy eksperymentów podają dla niej swoje oceny jakości w skali 5-stopniowej: 5 znakomity, 4 dobry, 3 dostateczny, 2 kiepski, l zły. Alternatywnie, również w skali 5-stopniowej, oceniany jest poziom zakłóceń: 5 niezauważalne, 4 zauważalne, ale niedokuczliwe, 3 lekko dokuczliwe, 2 dokuczliwe, l bardzo dokuczliwe. Badania mogą być przeprowadzone metodą: • pojedynczego wymuszenia, bądź • podwójnego wymuszenia. W metodzie pojedynczego wymuszenia oceniany jest materiał testowy bez obrazów odniesienia. Natomiast w metodzie podwójnego wymuszenia uczestnikowi eksperymentu pokazuje się pary obrazów lub krótkich sekwencji wizyjnych. Pomimo wspomnianych zastrzeżeń prawidłowo przeprowadzone pomiary są obiektywnej oceny jakości obrazów, a zwłaszcza sekwencji wizyjnych, są uważane za najbardziej wiarygodną podstawę oceny jakości rozmaitych systemów kompresji. Obiektywna ocena jakości obrazów: Dla obrazów monochromatycznych jakość obrazu zdekodowanego często mierzy się, podając wielkości:
|
PSNR[dB] = 10 * log (NMSE), NMSE =
gdzie: PSNR - peak signal-to-noise ratio, NMSE - normalized mean square error ei - różnica między wartością i-tego punktu w obrazie zdekodowanym i w obrazie oryginalnym, N - liczba punktów w obrazie, 255 - zakres dynamiczny sygnału przy reprezentacji 8-bitowej (najczęstszy format danych wejściowych). Czasami podaje się też:
SNR[dB] = -10 * log
gdzie fi - oznacza wartość i-tego punktu obrazu oryginalnego Pomiar PSNR komplikuje się w przypadku obrazów kolorowych składających się z trzech składowych. Dlatego często podaje się PSNR tylko dla składowej luminancji. Innym rozwiązaniem jest obliczanie trzech wartości PSNR lub wyznaczenie dla każdego punktu obrazu błędu jako miary różnic świateł pomiędzy obrazem oryginalny a zrekonstruowanym. Niestety, często porównania jakości obrazu na podstawie PSNR dają wyniki bardzo rozbieżne w stosunku do uzyskanych na podstawie subiektywnej oceny przez grupę widzów. W praktyce PSNR nadaje się jedynie do porównywania jakości obrazów o takim samym charakterze zniekształceń. Powszechność stosowania PSNR wiąże się z łatwością wyznaczania tej miary, brakiem innych, znacznie lepszych miar obiektywnych i trudnościami związanymi ze starannym przeprowadzaniem badań subiektywnych. Metody pośrednie: pośrednia metoda obiektywnej oceny jakości obrazu jest badanie kształtu sygnałów składowych luminancji i chrominancji. Na przykład proponuje się ocenę rozmazania obrazu przez pomiar czasu narastania zbocza odpowiedzi skokowej układu składającego się z kodera i dekodera. Pomiary przeprowadzane w ten sposób nie pozwalają na globalną ocenę jakości obrazu, lecz służą jedynie do uproszczonego pomiaru wybranych typów zakłóceń. Techniki bezstratne: w którym informacja przetwarzana może być dokładnie odtwarzana jak na początku. Kompresja Usuwamy dane
Bezstratna Nadmiarowe
Prawie - bezstratne Nieistotne
Stratne Jak najmniej istotne
Kodowanie predykcyjne wewnątrzobrazowe: Kodowanie predykcyjne wewnątrzobrazowe polega na przewidywaniu wartości kolejnego punktu na podstawie wartości punktów sąsiednich. Różnice miedzy aktualną wartością u oraz przewidywaną wartością p wyznaczane dla kolejnych punktów tworzą błąd predykcji lub sygnaf różnicowy d.
Najczęściej stosuje się predykcję liniową. W najprostszym przypadku predykcji liniowej wartość przewidywana p jest wartością sąsiedniego punktu zapamiętaną w predyktorze P. Bardziej złożone predyktory wyznaczają wartość przewidywaną jako liniową kombinację wartości sąsiednich punktów. Cały proces rozpoczyna się od przestania wartości pierwszego punktu do dekodera. Następnie przesyłane są tylko biedy predykcji d dla kolejnych punktów. W dekoderze jest dokonywana predykcja wartości każdego kolejnego punktu w taki sam sposób jak w koderze. Wartości punktów obrazu są odtwarzane jako sumy W przypadku obrazu kolorowego cały proces zazwyczaj przeprowadza się niezależnie dla każdej ze składowych. Do wyznaczania wartości przewidywanej można używać tylko tych punktów, dla których już wcześniej przesłano do dekodera błąd predykcji d. W przeciwnym razie dokonanie predykcji w dekoderze nie byłoby możliwe. Kodowanie entropowe. Technika kodowania bezstratnego wykorzystujących pomysł stosowania słów kodowych o zmiennej liczbie bitów. Symbolom często występującym przyporządkowuje się krótkie słowa kodowe, podczas gdy symbolom rzadko występującym przyporządkowuje się długie słowa kodowe. Dlatego kodowanie entropowe (EC — entropy coding) zwane jest kodowaniem ze zmienną długością słowa (VLC — variable length coding). Kodowanie Huffmana: Do konstrukcji optymalnego kodu musi być znana statystyka sygnału i dlatego odpowiedni koder powinien czytać dane dwukrotnie: po raz pierwszy w celu wyznaczenia statystyki sygnału, a powtórnie w celu zakodowania danych. Oczywiście taka sama tablica kodów potrzebna do kodowania pewnej grupy symboli musi być użyta w koderze i w dekoderze Należy podkreślić, że w kodowaniu Huffmana, podobnie jak i w innych typach kodowania entropowego, musi istnieć sposób jednoznacznego przekazywania do dekodera informacji o zakończeniu się dekodowanego ciągu. Można to osiągnąć przez dodanie do zbioru kodowanych symboli symbolu końca ciągu. Kody Huffmana mogą osiągać znaczną długość. W skrajnym przypadku tablica kodów dla L symboli może zawierać nawet ciągi (L-l)-bitowe. Blokowe kody Huffmana są prostą modyfikacją kodów Huffinana, w których słowa kodowe o różnej liczbie bitów są przypisywane do ciągów symboli. Takie kodowanie rwane również wektorowym kodowaniem entropowym (vector entropy coding) polega na przypisywaniu słów kodowych o różnej liczbie bitów blokom o stałej długości TV symboli. Taka modyfikacja komplikuje koder i dekoder, ale umożliwia zwiększenie osiąganych wartości współczynnika kompresji. Kodowanie ciągów: Kodowanie ciągów (RLC — run length coding) jest bezstratną metodą kompresji, w której ciąg jednakowych symboli, np. jednakowych liczb, jest reprezentowany parą (v. r), gdzie v (value) oznacza powtarzający się symbol, a r (run) liczbę powtórzeń. Kodowanie ciągów jest opłacalne wtedy, gdy prawdopodobieństwo występowania ciągów jednakowych symboli jest stosunkowo wysokie. Średnia liczba powtórzeń symbolu 8-bitowego, powyżej której stosowanie kodowania ciągów prowadzi do kompresji wynosi około 3÷5, w zależności od wariantu metody. Kodowanie ciągów jest przyjęte w wielu standardach kompresji (np. JBIG, JPEG, H.26I, MPEG). RLC / RLE ∅∅∅∅111∅∅∅ (∅,4) (1,3) (∅,3) można przesyłać takie pary. Kodowanie bezstratne pozwala na idealne odtworzenie oryginalnych danych, co czasami jest wymagane ze względów prawnych, na przykład w zastosowaniach medycznych. Idealnie bezstratna kompresja, stosowana np. w technice medycznej i kartografii, opiera się najczęściej na kolejnym zastosowaniu kodowania predykcyjnego i kodowania entropowego (Huffmana lub arytmetycznego). Zwłaszcza stosowanie predykcji adaptacyjnej podnosi efektywność techniki. Kodowanie transformatowe obrazów: Kodowanie transformatowe jest podstawową techniką współczesnego stratnego kodowania obrazów i sekwencji wizyjnych. Najczęściej kodowane są składowe Y, cr i cb (lub YUV, YIQ). Reprezentacje RGB są zazwyczaj przed kompresją transformowane do jednego z układów luminancja-chrominancje, w zasadzie właśnie do YCuCe. Poszczególne składowe obrazów kolorowych są kodowane niezależnie. Każda nich jest dzielona na nie nakładające się na siebie bloki. Po wielu badaniach przyjęto standardowy rozmiar bloku 8 x g punktów. Dla każdego bloku próbek wyznacza się następnie blok 8x8 współczynników transformaty. Otrzymane współczynniki są następnie kwantowane (nieodwracalny etap stratny), a potem kodowane bezstratnie w celu redukcji redundancji statystycznej. Dyskretne przekształcenie kosinusowe: Dla każdego bloku o rozmiarze 8x8 punktów wyznacza się dwuwymiarową dyskretną transformatę kosinusową (2-D DCT — two-dimensional discrete
|
cosine transform). Bezpośrednie obliczenia współczynników transformaty są nieefektywne, gdyż wymagają 64 operacji mnożenia i akumulacji w celu wyznaczenia każdego współczynnika transformaty, a więc 4 096 operacji mnożenia i akumulacji dla każdego bloku o rozmiarze 8x8 punktów obrazu. Istnieją jednak szybkie dwuwymiarowe algorytmy o znacznie mniejszej złożoności obliczeniowej. Ponieważ następnym etapem kompresji jest kwantyzacja, zatem wystarcza wyznaczenie transformaty z dokładnością do znanej stałej muitiplikatywnej, czyli przeskalowanej transformaty (scaled transform). Pozwala to jeszcze bardziej zmniejszyć liczbę mnożeń niezbędnych do realizacji algorytmu.Kwantowanie współczynników transformaty i ich kodowanie: W wyniku przekształcenia kosinusowego dla każdego bloku punktów obrazu otrzymuje się blok współczynników transformaty, w którym największą wartość ma współczynnik F(0, 0) zwany współczynnikiem DC, gdyż jest proporcjonalny do średniej wartości próbek bloku. W miarę oddalania się od punktu (O, 0) wartości współczynników F(k,k,), czyli współczynników AC, szybko maleją. Dzięki temu dalszym współczynnikom (odpowiadającym większym częstotliwościom składowych widma obrazu) można przypisać reprezentacje o mniejszej liczbie bitów. Współczynniki transformaty są kwantowane w celu zmniejszenia ilości informacji. W tym momencie faktycznie dokonuje się zasadnicza kompresja, a związana z nią utrata informacji jest nieodwracalna. Kodowanie hybrydowe sekwencji wizyjnych: kodowani hybrydowe podkreśla łączne stosowani wielu metod, które są modyfikowane i przełączone w zależności od treści obrazu. W tej metodzie trzy składowe (luminancja Y oraz hrominancje różnicowe CR i CB) są kodowane niezależne, jednak z wykorzystaniem te samej informacji o ruchu obiektów uzyskiwanej wyłącznie ze składowej luminancji. Sekwencje obrazów i same obrazy dzielone są na hierarchicznie struktury, którym w strumieniu przesyłania do dekodera odpowiadają hierarchicznie skonstruowane struktury zakodowanych danych. Najmniejszą strukturą jest blok o rozmiarze 8 * 8 punktów jednej składowej. Cztery sąsiadujące bloki luminancji tworzą makroblok. W ten sposób składowa luminancji jest podzielona na nie nakładające się na siebie makrobloki o rozmiarze 16 * 16 punktów. Do każdego makrobloku należą też bloki chrominancji składające się z punktów odpowiadających obszarowi wyznaczonemu przez makrobiok luminancji. Jeżeli próbkowanie chrominancji odbywa się według schematu 4:2:0 to makrobiok składa się z 6 bloków: 4 bloków luminancji oraz po jednym bloku chrominancji CR i CB. Z kolei makrobloki łączą się w struktury wyższego rzędu. Należy przy tym podkreślić, że w niektórych standardach kodowania nie występują wszystkie warstwy. Nagłówki poszczególnych struktur zawierają kody startowe oraz informacje charakterystyczne dla danej warstwy. Zasadą jest przesyłanie danych w najwyższej możliwej warstwie. Podstawowe tryby pracy kodera: Makrobloki są kodowane na dwa zasadnicze sposoby: ▪ wewnątrzobrazowy — inaczej wewnątrzramkowy (intraframe) • międzyobrazowy -inaczej międzyramkowy (interframe) Kodowanie wewnątrzobrazowe odbywa się niezależnie dla każdego obrazu, podczas gdy kodowanie międzyobrazowe wykorzystuje podobieństwa miedzy kolejnymi obrazami. Ma ono zastosowanie także do pierwszego obrazu grupy obrazów GOP, który jest punktem, od którego można odtworzyć sekwencję bez potrzeby jej dekodowania od początku. Kodowanie międzyobrazowe: Kodowanie miedzyobrazowe korzysta w zasadzie z tych samych technik co kodowanie wewnątrzobrazowe. Zasadnicza różnica polega na tym, że przetwarzaniu podlega nie bezpośrednio obraz, lecz Wad predykcji obrazu na podstawie obrazu poprzedniego. W najprostszym przypadku przewiduje się, że obraz jest identyczny z poprzednim. Kodowany błąd predykcji jest wtedy po prostu różnicą miedzy' kolejnymi obrazami. Przesyłanie błędu predykcji pozwala na odtwarzanie w dekoderze kolejnych obrazów na podstawie obrazów wcześniej zdekodowanych. Zniekształcenia obrazu wprowadzane przez hybrydowe kodowanie blokowe: Efekt Blokowy (blocking effect) - jest zarazem jednym z najbardziej dokuczliwych i najbardziej charakterystycznych zjawisk towarzyszących kodowania obrazów technikami blokowymi przy znacznej kompresji. Bardzo silne kewantowanie współczynników transformaty kosinusowej związanych ze składowymi o większych częstotliwościach przestrzennych prowadzi do powstania wyraźnych różnic w treści obrazu na granicy pomiędzy sąsiednimi blokami. Utrata szczegółów i zniekształcenia krawędzi: to zjawiska związane z usunięciem składowych o większych częstotliwościach. Efekt jest zazwyczaj szczególnie wyraźny na początku sekwencji oraz po gwałtownej zmianie lub bardzo szybkim ruchu w obrazie Zniekształcenia koloru: powstają przy bardzo silnie stratfrym kodowaniu składowych chrorp.inancji, co ma miejsce zwłaszcza przy transmisji w kanałach o przepływości poniżej 64 kb/s. Wtedy składowe chrominancji są zazwyczaj znacznie mocniej kwantowane niż składowa luminancji, skutkiem czego wartości chrominancji są odtwarzane z małą dokładnością, co fałszuje u widza wrażenia odcienia i nasycenia barw. „Efekt komarów" (mosgulto effscf) polega na pojawianiu się dokuczliwych szybkozmiennych drobnych plamek wokół ruchomych szczegółów sceny (np. ust i oczu mówiącej postaci). Zniekształcenia geometryczne: są wynikiem stosowania prostego modelu dwuwymiarowego translacyjnego ruchu bloków do estymacji i kompensacji ruchu. Zdarzają się błędy polegające na zastosowaniu istotnie różnych wektorów ruchu do kompensacji ruchu w dwu sąsiednich makroblokach. Przy silnym kwantowaniu błędu predykcji te błędy są widoczne przez jakiś czas, zanim nie zostaną wyeliminowane przez dodanie przesianego błędu predykcji. Objawem jest deformacja kształtu obiektów leżących na granicy tych makrobloków. „Efekt brudnej szyby" (dirty window effect) polega na utrzymywaniu się pewnych zakłóceń w jednym miejscu w kolejnych obrazach w sposób niezależny od ruchu obiektów w obrazie. Nieregularność ruchu: jest powodowana przez zaniechanie kodowania jednego lub kilku obrazów sekwencji, co po stronie odbiornika powoduje kilkakrotne powtórzenie ostatnio zdekodowanego obrazu. W wyniku tych operacji ruch obiektów zostaje chwilowo zatrzymany, po czym następuje gwałtowny przeskok do nowej pozycji. To niekorzystne zjawisko jest tłumione przez interpolację obrazów w odbiorniku. Estymacja ruchu: Estymacji dokonuje się tylko dla składowej luminancji i zakłada się ruch dwuwymiarowy translacyjny sztywnych prostokątów o rozmiarach najczęściej 16 x 16 punktów, czasem 16 x 8 lub 8x8 punktów. Ponieważ ruch na płaszczyźnie obrazu powstaje przez rzutowanie ruchu trójwymiarowych elastycznych obiektów w trójwymiarowej przestrzeni, to ten ruch może być tylko w dużym przybliżeniu oddany przez prosty' ruch sztywnych płaskich obiektów na płaszczyźnie. Inne ważne metody: Istnieje wiele innych estymacji ruchu, które są użyteczne w różnych zastosowaniach. Spośród metod rozwijanych z myślą o kompresji uwagę zwracają metody punktowo - rekursywne. Są to metody rekursywne; wektory ruchu znajdowane są iteracyjnie. Kwantowanie kolory: Celem kwantowania koloru jest uzyskanie reprezentacji obrazu kolorowego za pomocą bardzo ograniczonego zbioru kolorów zwanego paletą. Ten proces jest transformacja obrazu reprezentowanego przez składowe barwne do reprezentacji paletowej, w której punktom obrazu są przyporządkowane indeksy |
(numery) elementów palety. Z taka transformacją jest związana kompresja: jeżeli obraz ma reprezentację 8-bitową trzech składowych, to transformacja do reprezentacji za pomocą 256-elementowej palety oznacza kompresję ze współczynnikiem 3. Poszczególne punkty obrazu uzyskują bowiem reprezentacje za pomocą liczb 8-bitowych wyrażających adresy w 256-elementowej pamięci palety. Odtwarzanie obrazu polega na przypisywaniu punktom obrazu wartości składowych barwnych elementu palety wskazanego przez indeks przypisany danemu punktowi. Standard JPEG: Nazwa JPEG jest akronimem oznaczającym zespół (Joint Picture Ezpert Grcup) utworzony przez ITU oraz ISO i IEC w celu opracowania standardu kompresji obrazów nieruchomych o wielu poziomach wartości składowych. Formalnie standard ten jest oznaczany jako ISO/TEC IS 10918, ( Information technology — digita compression and coding of continuous-tonę still images), a także jako żale cenieITU-T T.84. Obecnie stanowi normę kompresji obrazów nieruchomych. Tryb pracy: Wprowadza się 4 tryby pracy: • Tryb sekwencyjny transformatowy, w którym składowe są niezależnie kodowane transformatowo (p. 3.2). Uproszczoną odmianą trybu sekwencyjnego opartego na DCT jest tryb podstawowy (baseline). Reprezentuje on minimum możliwości, które musi mieć każdy dekoder transformatowy JPEG. • Tryb progresywny kodowania traosformatowego. Składowe obrazu są kodowane przez wieloetapowe przetwarzanie. W każdym etapie kodowana jest tylko część informacji o skwantowanych współczynnikach DCT. Tryb jest użyteczny dla powolnych transmisji. Umożliwia odbiorcy szybkie uzyskanie wersji o gorszej jakości, która w kolejnych etapach ulega poprawie aż do osiągnięcia pełnej jakości. • Tryb bezstratny odpowiada typowej metodzie będącej połączeniem kodowania predykcyjnego (wewnątrzobrazowego bezstratnego) z kodowaniem entropowym. W standardzie JPEG przewidziano dwie wersje: z kodowaniem Huffmana oraz z kodowaniem arytmetycznym. ▪ Tryb hierarchiczny określa kolejne kodowanie obrazów o rosnącej rozdzielczości. Pozwala na transmisję i zdekodowanie obrazu o malej rozdzielczości bez potrzeby transmisji i dekodowania obrazu o pełnej rozdzielczości. W dekoderze z obrazu oryginalnego poprzez kolejne decymacje są wytwarzane obrazy o coraz mniejszej rozdzielczości. Po paru decymacjach ostatni obraz jest kodowany w trybie sekwencyjnym transformatowym lub bezstratnym. Ponadto są kodowane i przesyłane poprawki umożliwiające zwiększenie rozdzielczości. M - JPEG: Podstawową zaleta kodowania M-JPEG jest bezpośredni dostęp do każdego obrazu w strumieniu bitów, co jest ważne przy dokonywaniu cyfrowego montażu programu z fragmentów 'sekwencji. Z tego powodu- M-JPEG znalazł zastosowanie w multimedialnych systemach audiowizualnych mikrokomputerów, amatorskim sprzęcie cyfrowym oraz w zapisie cyfrowym obrazu telewizyjnego. W rzeczywistości jednak nie istnieje formalny standard M-JPEG. Kodowanie M-JPEG daje zadowalające wyniki, jeżeli stopień kompresji nie jest wysoki. |