Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej

Podobne dokumenty
gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

III. INTERPOLACJA Ogólne zadanie interpolacji. Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj.

Rys Mo liwe postacie funkcji w metodzie regula falsi

(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 6, strona 1. Format JPEG

Innym wnioskiem z twierdzenia 3.10 jest

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

Skanowanie trójwymiarowej przestrzeni pomieszczeñ

3.2 Warunki meteorologiczne

Spis treści. 1. Znak Konstrukcja symbolu Budowa znaku Kolorystyka wersja podstawowa Kolorystyka wersja czarno-biała...

Technologie Informacyjne

Grafika komputerowa. Dla DSI II

POMIAR STRUMIENIA PRZEP YWU METOD ZWÊ KOW - KRYZA.

(0) (1) (0) Teoretycznie wystarczy wzi¹æ dowoln¹ macierz M tak¹, by (M) < 1, a nastêpnie obliczyæ wektor (4.17)

Projektowanie procesów logistycznych w systemach wytwarzania

GDYNIA moje miasto. Księga Znaku Promocyjnego

IV. UK ADY RÓWNAÑ LINIOWYCH

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Kurs wyrównawczy dla kandydatów i studentów UTP

Wp³yw kompresji JPEG na wykrywanie cech na obrazach cyfrowych**

Małopolskie Centrum Przedsiębiorczości Książka znaku

TYTUŁ DZIAŁU 01 OX SPIS TREŚCI LOGO 3 SYMBOLIKA MARKI 15 WERSJA PODSTAWOWA 3 WERSJE PODSTAWOWE: POZIOMA I PIONOWA 4 SIATKA MODUŁOWA 5

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

STANDARYZACJA ZNAKU FIRMOWEGO. Latam z Katowic! Miêdzynarodowy Port Lotniczy KATOWICE

created by ENIGMATIS POLSKA Identyfikacja wizualna

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Grafika rastrowa (bitmapa)-

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Wyznaczanie współczynnika sprężystości sprężyn i ich układów

Wyk³ad INTERPOLACJA.

Podstawowe działania w rachunku macierzowym

Stronicowanie na ¹danie

SPIS TRESCI LOGOTYPY WSTEP OFERTA KONTAKT. Kamelot radzi:

Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych

Steelmate - System wspomagaj¹cy parkowanie z oœmioma czujnikami

LIMATHERM SENSOR Sp. z o.o.

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Blokady. Model systemu. Charakterystyka blokady

Filtracja obrazów w dziedzinie Fouriera

CZY JEDNYM POSUNIÊCIEM DA SIÊ ROZWI ZAÆ WSZYSTKIE UK ADY DWÓCH RÓWNAÑ LINIOWYCH?

Modelowanie œrodowiska 3D z danych pomiarowych**

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

ZADANIA ZAMKNI TE. W zadaniach od 1. do 20. wybierz i zaznacz na karcie odpowiedzi jedn poprawn odpowied.

ze stabilizatorem liniowym, powoduje e straty cieplne s¹ ma³e i dlatego nie jest wymagany aden radiator. DC1C

SYSTEM IDENTYFIKACJI

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

Jerzy Stopa*, Stanis³aw Rychlicki*, Pawe³ Wojnarowski*, Piotr Kosowski*

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

Program promocji wiedzy i dobrych praktyk w bran y technik os³onowych. v

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Regulamin Krêgów Harcerstwa Starszego ZHR

ZNAK MARKI ZASADY STOSOWANIA

Bielsko-Biała, dn r. Numer zapytania: R WAWRZASZEK ISS Sp. z o.o. ul. Leszczyńska Bielsko-Biała ZAPYTANIE OFERTOWE

MATEMATYKA 4 INSTYTUT MEDICUS FUNKCJA KWADRATOWA. Kurs przygotowawczy na studia medyczne. Rok szkolny 2010/2011. tel

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

Wynagrodzenia i świadczenia pozapłacowe specjalistów

Klasyfikacja metod kompresji

WYZNACZANIE PRZYSPIESZENIA ZIEMSKIEGO ZA POMOCĄ WAHADŁA REWERSYJNEGO I MATEMATYCZNEGO

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

PADY DIAMENTOWE POLOR

art. 488 i n. ustawy z dnia 23 kwietnia 1964 r. Kodeks cywilny (Dz. U. Nr 16, poz. 93 ze zm.),

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

ZASADY REPRODUKCJI SYMBOLI GRAFICZNYCH PRZEDMOWA

Wojewódzki Konkurs Przedmiotowy z Matematyki dla uczniów gimnazjów województwa śląskiego w roku szkolnym 2012/2013

Ćwiczenie: "Ruch harmoniczny i fale"

Współczesne nowoczesne budownictwo pozwala na wyrażenie indywidualnego stylu domu..

Powszechność nauczania języków obcych w roku szkolnym

Metoda LBL (ang. Layer by Layer, pol. Warstwa Po Warstwie). Jest ona metodą najprostszą.

Warunki Oferty PrOmOcyjnej usługi z ulgą

Warszawska Giełda Towarowa S.A.

Ogólna charakterystyka kontraktów terminowych

Oferta pozycjonowania

Część 2 struktura e-paczki

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

Monopolistyczna konkurencja

9. Dynamiczne generowanie grafiki, cz. 3

Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

System wizyjny do wyznaczania rozp³ywnoœci lutów

Projektowanie bazy danych

DANE MAKROEKONOMICZNE (TraderTeam.pl: Rafa Jaworski, Marek Matuszek) Lekcja XXIII

1. Rozwiązać układ równań { x 2 = 2y 1

INSTRUKCJA SERWISOWA. Wprowadzenie nowego filtra paliwa PN w silnikach ROTAX typ 912 is oraz 912 is Sport OPCJONALNY

System Identyfikacji Wizualnej i Werbalnej dla Kampanii promuj¹cej produkt turystyki biznesowej miasta Katowice - Ksiêga Marki

RAPORT. Przedszkole Szkoła klasa 0 PRZYGOTOWANIE DO EDUKACJI SZKOLNEJ

TAH. T³umiki akustyczne. w wykonaniu higienicznym

Statystyczna analiza danych w programie STATISTICA. Dariusz Gozdowski. Katedra Doświadczalnictwa i Bioinformatyki Wydział Rolnictwa i Biologii SGGW

Nawiewnik NSL 2-szczelinowy.

DZIA 4. POWIETRZE I INNE GAZY

Wytyczne Województwa Wielkopolskiego

2. OPIS EGZAMINU ZAWODOWEGO 2.1 Informacje ogólne o egzaminie potwierdzaj cym kwalifikacje w zawodzie 1. Egzamin potwierdzaj cy kwalifikacje w

PAKIET MathCad - Część III

Minimalne wymagania odnośnie przedmiotu zamówienia zawarto w punkcie I niniejszego zapytania.

Roczne zeznanie podatkowe 2015

OFERTA PROMOCYJNA

Od redakcji. Symbolem oznaczono zadania wykraczające poza zakres materiału omówionego w podręczniku Fizyka z plusem cz. 2.

PREZENTACJA INFORMACJI FINANSOWEJ w analizach i modelowaniu finansowym. - dane z rynków finansowych DANE RÓD OWE

ZAPYTANIE OFERTOWE. 1. Nazwa i adres Zamawiającego: ul. Kwidzyńska 14, Łódź NIP

Grafika inżynierska. Projekt znaczka inż. M. Janecka

Transkrypt:

AUTOMATYKA 2006 Tom 10 Zeszyt 3 Marcin Raniszewski* Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 1. Wstêp Wzrost zapotrzebowania na komunikacjê, mobilnoœæ, wygodê i dobr¹ jakoœæ us³ug poci¹ga za sob¹ rozwój wielu dziedzin w tym kompresji danych. Pojêcie to pojawia siê w wielu rozwa aniach na temat nowoczesnych metod komunikacji. Kompresja zmniejsza przesy³ane dane, daje szybszy dostêp do informacji, owocuje zaoszczêdzeniem miejsca na noœnikach. Wymyœlne algorytmy kompresji stratnej korzystaj¹ z wad zmys³ów ludzkich, zapisuj¹c dane w sposób, który umo liwi usuniêcie z nich niezbyt wa nych i czêsto trudno zauwa alnych szczegó³ów. Dziêki temu skompresowane dane zajmuj¹ o wiele mniej miejsca i mog¹ byæ o wiele szybciej przesy³ane, zapewniaj¹c wysoki komfort pracy i wygodê [3, 5]. Szukanie zale noœci pomiêdzy danymi, które opisuj¹ pewien obiekt, mo e byæ niezwykle pasjonuj¹ce i interesuj¹ce. Ró norodnoœæ takich obiektów daje szerokie pole do badañ skutecznoœci zaproponowanego algorytmu. Znane standardy kompresji stratnej obejmuj¹: JPEG (Joint Photographic Expert Group) do kompresji obrazów, MPEG (Moving Picture Expert Group) do kompresji sekwencji wideo, MP3 (MPEG Audio Laser 3 encoding) do kompresji muzyki. W artykule tym przedstawiony zosta³ nowy algorytm kompresji. Wykorzystuje siê w niej technikê przybli ania barw pojedynczych punktów obrazu za pomoc¹ aproksymacji liniowej, techniki zaczerpniêtej z metod numerycznych [1]. Taka technika kompresji stratnej zosta³a zastosowana g³ównie ze wzglêdu na du ¹ liczbê obrazów, w których wa ne jest zachowanie kszta³tów przedstawionych obiektów, przy jednoczesnej mo liwoœci utraty szczegó³ów ich struktury. 2. Kompresja danych Kompresja danych jest nauk¹ reprezentowania informacji w zwiêz³ej postaci. Aby móc dobrze kompresowaæ dane, musimy poznaæ ich w³asnoœci strukturalne i na ich podstawie oprzeæ algorytm kompresji. * Katedra Informatyki Stosowanej, Politechnika ódzka 455

456 Marcin Raniszewski Gdy mówimy o technice lub algorytmie kompresji, mamy na myœli dwa algorytmy. Pierwszy to algorytm kompresji, który dla pewnych danych wejœciowych X generuje reprezentacjê X c. Drugi z tych algorytmów, to tak zwany algorytm dekompresji, który na podstawie reprezentacji X c tworzy rekonstrukcjê Y. Zatem algorytmem kompresji bêdziemy nazywaæ parê: algorytm kompresji i algorytm dekompresji. Algorytmy kompresji dziel¹ siê na dwie klasy: 1) algorytmy kompresji bezstratnej, 2) algorytmy kompresji stratnej. W schemacie kompresji bezstratnej wymagamy, aby rekonstrukcja Y i dane oryginalne X by³y identyczne, natomiast w schemacie kompresji stratnej, która zazwyczaj pozwala na wiêksz¹ kompresjê ni kompresja bezstratna, dopuszcza siê, aby Y i X by³y ró ne [3, 5]. 2.1. Kompresja stratna W technikach kompresji stratnej dopuszczamy pewn¹ utratê informacji. Dane zrekonstruowane nie pokrywaj¹ siê z oryginalnymi, pojawiaj¹ siê zniekszta³cenia. Jest to cena, jak¹ musimy zap³aciæ za (czêsto) lepszy stopieñ kompresji ni w przypadku kompresji bezstratnej. Dziêki temu, e w wielu zastosowaniach nie wymagamy dok³adnej rekonstrukcji kompresowanych danych, kompresja stratna ma szerokie zastosowanie. W zale noœci od tego, jaka ma byæ jakoœæ rekonstrukcji, mo emy dopuszczaæ ró ne wielkoœci, o które mo e siê ró niæ oryginalna wartoœæ próbki od zrekonstruowanej [3, 5]. 2.2. Miary jakoœci kompresji Istnieje wiele ró nych kryteriów, wed³ug których mo na oceniaæ algorytmy kompresji. Mo emy mierzyæ z³o onoœæ algorytmu, pamiêæ potrzebn¹ do jego implementacji, szybkoœæ dzia³ania na konkretnym komputerze, rozmiar kompresji oraz podobieñstwo danych po dekompresji do danych oryginalnych. Jednym z najwa niejszych kryteriów opisuj¹cym, jak efektywnie algorytm kompresuje okreœlony zbiór danych, jest stosunek liczby bitów potrzebnych do reprezentacji danych przed kompresj¹ do liczby bitów potrzebnych do reprezentacji danych po kompresji. Proporcja ta nazywana jest stopniem kompresji. W kompresji stratnej dane uzyskane po dekompresji ró ni¹ siê od danych oryginalnych. Aby zatem móc okreœliæ efektywnoœæ algorytmu kompresji, potrzebujemy sposobu mierzenia tych ró nic. Ró nicê pomiêdzy danymi oryginalnymi i danymi po dekompresji nazywamy czêsto zniekszta³ceniem [3, 5]. 2.3. Kryteria oceny zniekszta³ceñ Naturalnym sposobem oceny wiernoœci dekompresji jest rozwa enie ró nic pomiêdzy wartoœciami oryginalnymi i zrekonstruowanymi, czyli zniekszta³ceñ powsta³ych w trakcie kompresji. Kwadratowa miara b³êdu i bezwzglêdna miara b³êdu to popularne miary zniekszta³ceñ. Nazywa siê je tak e ró nicowymi miarami zniekszta³ceñ.

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 457 Trudno jest powiedzieæ cokolwiek na temat ró nic pomiêdzy ca³ymi dokumentami (orygina³em i rekonstrukcj¹) na podstawie ci¹gu ró nic poszczególnych elementów (np. pikseli). Dlatego te wprowadza siê sumy ró nic pomiêdzy poszczególnymi elementami ci¹gów. Najpopularniejsz¹ miar¹ tego typu jest œrednia arytmetyczna z kwadratów poszczególnych elementów ci¹gu, nazywana b³êdem œredniokwadratowym. Inn¹ czêsto wykorzystywan¹ miar¹ zniekszta³ceñ jest równie wartoœæ b³êdu bezwzglêdnego. Miara ta jest szczególnie u yteczna przy ocenie algorytmów kompresji obrazów. W niektórych sytuacjach, takich jak wymóg wielkoœci zniekszta³ceñ mniejszej od pewnej wartoœci progowej, istotnym parametrem jest maksymalna wielkoœæ b³êdu [3, 5]. 3. Aproksymacja Celem aproksymacji jest znalezienie funkcji F(x) (rys. 1), która przybli a pewn¹ funkcj¹ f(x), okreœlon¹ w postaci ci¹gu punktów: ( x0, f ( x0) = y0), ( x1, f ( x1) = y1),...,( xn, f ( xn) = yn) (1) Punkty x 0, x 1,..., x n nazywamy wêz³ami aproksymacji. Mog¹ one pochodziæ z pomiarów, albo byæ wynikami innych obliczeñ. W przypadku kompresji, zaproponowanej w niniejszej pracy, punkty te bêd¹ okreœla³y parê: piksel i jego sk³adowa barwa (czerwona, zielona lub niebieska). Rys. 1. F(x) aproksymuje przyk³adowe punkty pomiarowe Funkcjê aproksymuj¹c¹ buduje siê najczêœciej w postaci kombinacji liniowej ortogonalnych funkcji bazowych U 0 (x), U 1 (x),..., U m (x) F( x) = a0u0( x) + au 1 1( x) + a2u2( x) +... + amum( x) (2) Celem naszych obliczeñ jest znalezienie wspó³czynników a 0, a 1,..., a m.

458 Marcin Raniszewski Miar¹ zgodnoœci funkcji aproksymuj¹cej F(x) i funkcji aproksymowanej f (x) jest norma: E( f) = F( x) f( x) (3) Do najczêœciej stosowanych norm nale ¹: norma œredniokwadratowa: norma maksymalna: 2 n i= 0 ( ) 2 E ( f ) = F ( xi ) f ( xi ) (4) E ( f ) max max F ( xi ) f ( xi ) i = (5) Ze wzglêdu na normê mo emy wyró niæ dwa rodzaje aproksymacji. Mamy wtedy do czynienia z aproksymacj¹ metod¹ najmniejszych kwadratów (norma œredniokwadratowa) lub z aproksymacj¹ jednostajn¹ (norma maksymalna). Zale y nam by norma by³o najbli - sza zeru, czyli aby funkcja F(x) mo liwie najwierniej odzwierciedla³a przebieg funkcji f (x). W naszym przypadku bêdziemy korzystaæ z aproksymacji metod¹ najmniejszych kwadratów i ni¹ dalej bêdziemy siê zajmowaæ. Drugim rodzajem podzia³u aproksymacji jest podzia³ ze wzglêdu na funkcje bazowe. Mamy tutaj: aproksymacjê wielomianow¹ i aproksymacjê trygonometryczn¹. Zajmowaæ siê bêdziemy aproksymacj¹ wielomianow¹, czyli aproksymacj¹, w której F(x) bêdzie skonstruowana za pomoc¹ funkcji bazowych, bêd¹cych wielomianami [1]. 3.1. Aproksymacja liniowa metod¹ najmniejszych kwadratów Aproksymacja liniowa jest szczególnym przypadkiem aproksymacji wielomianowej (we wzorze (2) m = 1). Funkcja aproksymuj¹ca jest funkcj¹ liniow¹ postaci F( x) a0 a1x = + (6) Pos³uguj¹c siê metod¹ szukania wspó³czynników aproksymacji wielomianowej metod¹ najmniejszych kwadratów, otrzymujemy: ts 0 2 ts 1 1 a0 = 2 SS 0 2 S1 (7) ts 1 0 t0s1 a1 = 2 SS 0 2 S1 (8)

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 459 gdzie: n k Sk = xi, k = 0,1,2 (9) i= 0 t 0 n = y (10) i i= 0 t 1 n xiyi i= 0 = (11) zaœ wspó³rzêdne x i, y i, to wspó³rzêdne aproksymowanych punktów (patrz wzór (1)). atwo pokazaæ, e czynnik w mianownikach wzorów (7) i (8) nigdy nie przyjmie wartoœci zero. 4. Algorytm stratnej kompresji obrazu z wykorzystaniem aproksymacji liniowej Jeœli kilka s¹siednich pikseli obrazu oznaczymy kolejnymi liczbami naturalnymi, a ich barwy przeliczymy w pewien sposób na liczby, to bêdziemy mogli utworzyæ pary postaci: (numer piksela, jego barwa). Ich rozmieszczenie w kartezjañskim uk³adzie wspó³rzêdnych mo e byæ ró ne w zale noœci od tego, jakie barwy reprezentuj¹ nasze piksele. Mówi¹c o liniowym przejœciu pomiêdzy barwami s¹siednich pikseli, bêdziemy mieæ na myœli ich reprezentacjê w kartezjañskim uk³adzie wspó³rzêdnych, gdzie uk³adaj¹ siê one w kszta³t linii prostej. Nale y zauwa yæ, e obszary jednobarwnych lub prawie jednobarwnych pikseli bêd¹ uk³adaæ siê na wykresie tak e jako linia prosta, równoleg³a do osi OX. Analizuj¹c obrazy, mo na zauwa yæ, e niektóre z nich maj¹ du o liniowych przejœæ pomiêdzy barwami zarówno w poziomie, jak i pionie. Czêsto obraz zawiera p³aszczyzny jednokolorowe lub nieznacznie, prawie niezauwa alnie, zmieniaj¹ce swoj¹ barwê, co jest równoznaczne z lini¹ równoleg³¹ do osi OX w kartezjañskim uk³adzie wspó³rzêdnych (przy powy ej opisanej reprezentacji pikseli obrazu). Rysunek 2 zawiera du e jednokolorowe p³aszczyzny oraz liniowe przejœcia koloru. Widzimy to wyraÿniej na rysunku 3, który jest powiêkszeniem fragmentu policzka dziecka z rysunku 2. Zaproponowana metoda kompresji wykorzystuje aproksymacjê liniow¹ do liniowego przybli ania zmiennoœci barw pikseli [4]. Zamiast informacji o kolorze ka dego piksela (tak jak ma to miejsce w bitmapie [2]), w ramach jednej prostej aproksymuj¹cej przechowywane s¹ informacje o iloœci aproksymowanych pikseli i o barwach pierwszego i ostatniego piksela. Nale y zauwa yæ, e ostatni piksel pewnej prostej aproksymuj¹cej jest jednoczeœnie pierwszym pikselem nastêpnej prostej.

460 Marcin Raniszewski Rys. 2. Widoczne du e jednokolorowe obszary oraz liniowe zmiany koloru szarego na policzku dziecka Rys. 3. Powiêkszenie policzka dziecka z rysunku 2 Uk³ad przedstawiony na rysunku 4 jako ca³oœæ jest chaotyczny i trudno by by³o dopatrzyæ siê w nim jakiœ prawid³owoœci. Istniej¹ ró ne obrazy, które jako ca³oœæ tworz¹ uk³ady odmienne i trudne jest, a mo e nawet niemo liwe, znalezienie uniwersalnej metody, która opiera³aby siê na ogólnych w³aœciwoœciach dowolnego obrazu. Dziel¹c jednak ten uk³ad na pewne poduk³ady, uzyskujemy mo liwoœæ aproksymacji liniowej par pikseli i ich barw w obrêbie wymienionych poduk³adów.

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 461 Rys. 4. Aproksymacja liniowa przyk³adowego rozmieszczenia par pikseli i ich barw na wykresie Mo na zatem przewidzieæ, e za pomoc¹ proponowanej kompresji o wiele lepiej kompresowa³y siê bêd¹ obrazy o du ej iloœci liniowych zmian kolorów, zachodz¹cych w liniach poziomych lub pionowych. Gorzej bêd¹ siê kompresowa³y obrazy o du ej iloœci ostrych przejœæ pomiêdzy kolorami, w których ma³o jest jednobarwnych obszarów i liniowych przejœæ pomiêdzy barwami. Proponowana kompresja, jak ju zosta³o to powiedziane, jest kompresj¹ stratn¹. Podczas aproksymacji liniowej tracona jest informacja o dok³adnej barwie pikseli. Wartoœci te s¹ przybli ane przez aproksymuj¹c¹ je prost¹. Poniewa oko ludzkie jest niedoskona³e, wiêc w wiêkszoœci przypadków przy dobrych parametrach kompresji, straty bêd¹ niezauwa alne. 4.1. Wczytanie bitmapy i aproksymacja liniowa Bitmapa mo e zostaæ wczytana w liniach poziomych lub pionowych (rys. 5). a) b) Rys. 5. Wczytywanie obrazu: w liniach poziomych (a) i w liniach pionowych (b)

462 Marcin Raniszewski Omawiana metoda kompresji zosta³a zaimplementowana do wczytywania 24-bitowych bitmap. Kolor pojedynczego piksela zapisywany jest zatem na trzech bajtach w postaci RGB [2]. Sczytany ci¹g poddawany jest aproksymacji liniowej: ka da sk³adowa barwy aproksymowana jest osobno. Nastêpnie brane s¹ kolejno: czerwone, zielone i niebieskie sk³adowe koloru dwóch pierwszych pikseli i dla nich, oddzielnie, liczone s¹ wspó³czynniki aproksymacji. W schemacie na rysunku 6 sk³adowe te s¹ oznaczone jako litery x z odpowiednim indeksem. START 1 Zapis wspó³czynników aproksymacji i iloœci aproksymowanych punktów-1 zbiorów R, G, B T ir+k-1=wys*szer STOP Aproksymacja liniowa dla punktów ze zbiorów R, G, B k=2 wys = wysokoœæ bitmapy szer = szerokoœæ bitmapy ir=1 ig=1 ib=1 N wys+szer>1 R={x ir, x ir+1 } G={x ig, x ig+1 } B={x ib, x ib+1 } Oznaczenia: R zbiór punktów bêd¹cych wartoœciami czerwonej sk³adowej kolejnych pikseli bitmapy G zbiór punktów bêd¹cych wartoœciami zielonej sk³adowej kolejnych pikseli bitmapy B zbiór punktów bêd¹cych wartoœciami niebieskiej sk³adowej kolejnych pikseli bitmapy T tak N nie N Do³o enie do zbioru R punktu x ir+k Do³o enie do zbioru G punktu x ig+k Do³o enie do zbioru B punktu x ib+k ir=ir+k-1 ig=ig+k-1 ib=ib+k-1 1 Aproksymacja liniowa dla punktów ze zbioru R k=k+1 T Ka dy z punktów zbioru R mieœci siê w dopuszczalnym przedziale b³êdu aproksymacji N Zapis wspó³czynników aproksymacji i iloœci aproksymacyjnych punktów-1 zbiorów: R\{x ir+k }, G\{x ig+k }, B\{x ib+k }, N Ka dy z punktów zbioru B mieœci siê w dopuszczalnym przedziale b³êdu aproksymacji N T Aproksymacja liniowa dla punktów ze zbioru G Ka dy z punktów zbioru G mieœci siê w dopuszczalnym przedziale b³êdu aproksymacji T Aproksymacja liniowa dla punktów ze zbioru B Rys. 6. Schemat przebiegu aproksymacji liniowej w algorytmie kompresji

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 463 W przedstawionej metodzie kompresji pojawia siê pojêcie promienia r b³êdu aproksymacji. Jeœli aproksymowana barwa piksela wynosi b 0, a barwa rzeczywista b, to bêdziemy akceptowaæ tak¹ aproksymacjê je eli b ( b0 r, b0 r) + (12) czyli b bêdzie siê zawieraæ w jednowymiarowym kole o œrodku b 0 i promieniu r (rys. 7). promieñ b³êdu aproksymacji promieñ b³êdu aproksymacji Rys. 7. Aproksymacja liniowa przyk³adowych punktów z przedzia³em wyznaczonym przez promieñ b³êdu aproksymacji W momencie gdy któryœ z punktów poddanych aproksymacji nie mieœci siê w dopuszczalnym przedziale b³êdu aproksymacji (ze wzglêdu na któr¹kolwiek ze sk³adowych barw), zapisywane s¹ wspó³czynniki aproksymacji i liczba aproksymowanych pikseli dla zbiorów punktów bez piksela ostatnio dodanego [4]. 4.2. Uœrednianie pocz¹tków i koñców aproksymuj¹cych prostych Zapamiêtywanie wspó³czynników aproksymuj¹cych prostych oparte jest na zapamiêtaniu rzêdnej sk³adowej barwy pierwszego aproksymowanego piksela oraz rzêdnej sk³adowej barwy ostatniego aproksymowanego piksela, czyli rzêdnej pocz¹tku i koñca aproksymuj¹cej prostej. Poniewa koniec jednej prostej ma zazwyczaj inn¹ rzêdn¹ ni pocz¹tek kolejnej prostej (rys. 8), dlatego stosuje siê ich uœrednianie. Bierze siê rzêdn¹ koñca jednej prostej oraz rzêdn¹ pocz¹tku kolejnej prostej (punkty o tej samej odciêtej) i wylicza siê ich œredni¹ arytmetyczn¹. Uzyskuje siê w ten sposób punkt poœredni, który od tej pory bêdzie wspólnym koñcem jednej prostej i pocz¹tkiem kolejnej prostej. Po³o enie prostych ulega minimalnej zmianie [4].

464 Marcin Raniszewski Rys. 8. Uœrednienie koñców i pocz¹tków aproksymuj¹cych prostych 4.3. Wybranie najczêœciej wystêpuj¹cych ró nic pomiêdzy sk³adowymi barw Maj¹c ci¹gi punktów, które ³¹cz¹ proste aproksymuj¹ce, oraz ci¹g iloœci pikseli aproksymowanych przez ka d¹ z tych prostych, mo emy ju zapisywaæ te dane do pliku (zapis trzech sk³adowych barwy pierwszego piksela, nastêpnie iloœci aproksymowanych sk³adowych barw pikseli pomniejszonej o 1 i trzech sk³adowych barwy piksela, który jest koñcem jednej prostej, a zarazem pocz¹tkiem kolejnej). Na zapis barwy piksela zu ywamy 24 bity. Prezentowana metoda kompresji umo liwia redukcjê tych bitów poprzez przypisanie krótszych ci¹gów bitowych (od 1 do 7 bitów) najczêœciej wystêpuj¹cym ró nicom pomiêdzy sk³adowymi barw. Mo liwe jest przypisanie innej iloœci bitów do zakodowania sk³adowej czerwonej, zielonej i niebieskiej koloru oddzielnie. U ycie powy szego rozwi¹zania prowadzi do uzyskania wiêkszego stopnia kompresji dla wiêkszych obrazów, wyd³u a jednak nieznacznie sam algorytm kompresji (wyszukiwanie najczêœciej wystêpuj¹cych ró nic pomiêdzy sk³adowymi barw) [4]. 4.4. Algorytm dekompresji Maj¹c pocz¹tek i koniec aproksymuj¹cych prostych oraz liczbê aproksymowanych pikseli pomniejszon¹ o 1, mo na przybli yæ wartoœci wszystkich aproksymowanych pikseli. Ró nicê pomiêdzy sk³adow¹ barwy czerwonej koñcowego piksela i pocz¹tkowego nale y podzieliæ przez liczbê aproksymowanych pikseli pomniejszon¹ o 1 i otrzyman¹ wartoœæ dodawaæ do sk³adowej czerwonej pocz¹tkowego piksela, otrzymuj¹c wartoœci czerwonych sk³adowych kolejnych pikseli (rys. 9). Podobnie postêpujemy w przypadku zielonej i niebieskiej sk³adowej. Uzyskane piksele zapisujemy w odpowiedni sposób do pliku z bitmap¹ (w zale noœci od tego, czy kompresja by³a pozioma czy pionowa) [2, 4].

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 465 y: R:: koñcowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej przybli one wartoœci pozosta³ych zaproksymowanych czerwonych sk³adowych pikseli pocz¹tkowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej 0 1 2 3 4 5 6 7 8 9 10 liczba aproksymowanych czerwonych sk³adowych pikseli pomniejszona o 1; 10 1=9 x: Rys. 9. Odczyt wartoœci czerwonej sk³adowej pikseli z przyk³adowej prostej aproksymuj¹cej 4.5. Testowanie Testom zosta³y poddane trzy rodzaje 24-bitowych bitmap (rozszerzenie.bmp): bitmapa 1 oryginalny obraz próbki srebra w temperaturze 982 o C rozmiar: 101 178 bajtów, 212 159 pikseli; bitmapa 2 rysunek 9, rozmiar: 983 922 bajtów, 670 489 pikseli; bitmapa 3 krajobraz, rozmiar: 1 440 054 bajty, 800 600 pikseli. Publikowane w artykule wyniki obejmuj¹ tylko kompresjê poziom¹, z zapisem najczêœciej wystêpuj¹cych ró nic pomiêdzy sk³adowymi barw na 4 bitach. Kompresja bitmapy 1 Zastosowanie przedstawionej metody kompresji w przypadku bitmapy 1 (rys. 10) daje zadowalaj¹ce rezultaty (tab. 1). Ju przy promieniu aproksymacji rzêdu 8 uzyskiwany jest dobry stopieñ kompresji przy nieznacznej utracie informacji z obrazu. Kszta³t próbki jest zachowany, widoczne s¹ nieliczne rozmycia poziome pikseli w obrêbie jednolitych obszarów.

466 Marcin Raniszewski a) b) a) b) c) d) c) d) Rys. 10. Kompresja bitmapy 1: oryginalny obraz (a) oraz zdekompresowane obrazy dla rosn¹cych wartoœci promienia aproksymacji (b, c, d) Tabela 1 Wyniki kompresji bitmapy 1 Promieñ b³êdu aproksymacji Stopieñ kompresji B³¹d bezwzglêdny Maksymalna wielkoœæ b³êdu Rysunek 4,0 2,9792 1,0873 7 10b 8,0 5,9193 2,0834 13 10c 12,0 10,8467 2,9513 20 10d Kompresja bitmapy 2 W przypadku kompresji bitmapy 2 (rys. 11) ju przy ma³ym promieniu aproksymacji uzyskujemy wysoki stopieñ kompresji (tab. 2). Wraz ze wzrostem promienia aproksymacji stopieñ kompresji nieznacznie roœnie. Dalsze zwiêkszanie promienia kompresji (powy ej 12) bêdzie powodowa³o poziome rozmazywanie siê przedstawionych na obrazie liter i wykresu. Przy doœæ wysokim promieniu aproksymacji (rzêdu 12) obraz jest nadal czytelny i przejrzysty (rys. 11).

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 467 a) y: R:: b) y: R:: koñcowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej przybli one wartoœci pozosta³ych zaproksymowanych czerwonych sk³adowych pikseli pocz¹tkowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej koñcowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej przybli one wartoœci pozosta³ych zaproksymowanych czerwonych sk³adowych pikseli pocz¹tkowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej 0 1 2 3 4 5 6 7 8 9 10 liczba aproksymowanych czerwonych sk³adowych pikseli pomniejszona o 1; 10 1=9 x: 0 1 2 3 4 5 6 7 8 9 10 liczba aproksymowanych czerwonych sk³adowych pikseli pomniejszona o 1; 10 1=9 x: c) y: R:: d) y: R:: koñcowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej przybli one wartoœci pozosta³ych zaproksymowanych czerwonych sk³adowych pikseli pocz¹tkowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej koñcowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej przybli one wartoœci pozosta³ych zaproksymowanych czerwonych sk³adowych pikseli pocz¹tkowa czerwona sk³adowa piksela bie ¹cej aproksymuj¹cej prostej 0 1 2 3 4 5 6 7 8 9 10 liczba aproksymowanych czerwonych sk³adowych pikseli pomniejszona o 1; 10 1=9 x: 0 1 2 3 4 5 6 7 8 9 10 liczba aproksymowanych czerwonych sk³adowych pikseli pomniejszona o 1; 10 1=9 x: Rys. 11. Kompresja bitmapy 2: oryginalny obraz (a) oraz zdekompresowane obrazy dla rosn¹cych wartoœci promienia aproksymacji (b, c, d) Tabela 2 Wyniki kompresji bitmapy 2 Promieñ b³êdu aproksymacji Stopieñ kompresji B³¹d bezwzglêdny Maksymalna wielkoœæ b³êdu Rysunek 4,0 14,5096 7,8340e-5 1 11b 8,0 14,9728 0,0491 13 11c 12,0 15,5787 0,1623 18 11d Kompresja bitmapy 3 Bitmapa 3 (rys. 12) przedstawia krajobraz z poziomym uk³adem barw. Przewidywaæ mo na, e dobrze bêdzie siê ona kompresowaæ przy wykorzystaniu kompresji poziomej. I rzeczywiœcie: ju przy promieniu aproksymacji równym 4 uzyskujemy zadawalaj¹ce wyniki (tab. 3). Obserwujemy proporcjonalny wzrost stopnia kompresji wraz ze wzrostem promienia aproksymacji. Wp³ywa to jednak na deformacje jakie powstaj¹ na zdekompresowanym obrazie (rys. 12). Widoczne s¹ poziome rozmazania latarni morskiej mostu.

468 Marcin Raniszewski a) b) c) d) Rys. 12. Kompresja bitmapy 3: oryginalny obraz (a) oraz zdekompresowane obrazy dla rosn¹cych wartoœci promienia aproksymacji (b, c, d) Tabela 3 Wyniki kompresji bitmapy 3 Promieñ b³êdu aproksymacji Stopieñ kompresji B³¹d bezwzglêdny Maksymalna wielkoœæ b³êdu Rysunek 4,0 11,9091 1,0214 8 12b 8,0 20,8299 1,5056 16 12c 12,0 28,9069 1,9520 23 12d Porównanie z algorytmami kompresji JPEG, GIF, PNG i ZIP Wspomniana w rozdziale 1 kompresja stratna JPEG jest przeznaczona do obrazów naturalnych, z du ¹ iloœci¹ nieostrych krawêdzi i ma³¹ iloœci¹ detali. Kompresja GIF (Graphics Interchange Format) jest kompresj¹ bezstratn¹ operuj¹c¹ na 256 kolorach i przeznaczon¹ g³ównie do grafik sztucznych. PNG (Portable Network Graphics) zosta³ opracowany jako nastêpca GIF i g³ówn¹ jego zalet¹ w stosunku do poprzednika jest mo liwoœæ obs³ugi wiêkszej palety kolorów. ZIP to bardzo popularna bezstratna kompresja danych ogólnego przeznaczenia.

Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej 469 Tabela 4 Zestawienie stopni kompresji wybranych algorytmów Bitmapa JPEG (jakoœæ: 8) GIF PNG ZIP Zaproponowany algorytm (promieñ b³êdu aproksymacji: 8,0) 1 5,8651 9,7315 4,9910 7,5489 5,9193 2 16,0447 40,9461 20,7786 73,8575 14,9728 3 28,5952 9,3098 6,0504 4,7923 20,8299 Wyniki uzyskane przez zaproponowany algorytm przy kompresji bitmapy 1 s¹ zbli one do wyników kompresji JPEG oraz PNG (tab. 4). Pozosta³e kompresje uzyska³y lepsze wyniki. Bitmapê 2 najlepiej skompresowa³y ZIP i GIF. Omawiana kompresja i JPEG uzyska³y podobne (najni sze) stopnie kompresji. W przypadku bitmapy 3 stopieñ kompresji otrzymany przez zastosowanie omawianego algorytmu jest wy szy w stosunku do reszty algorytmów kompresji bezstratnej. 5. Wnioski Przedstawiona kompresja wykorzystuje aproksymacjê liniow¹ do przybli ania liniowych uk³adów barw punktów, z których z³o ona jest bitmapa. Jest to kompresja stratna, gdy tracona jest informacja o dok³adnych kolorach wiêkszoœci pikseli. Przy dekompresji s¹ one przybli ane na podstawie prostych, które je aproksymuj¹. Bitmapy, w których du o miejsca zajmuj¹ jednobarwne obszary lub obszary o podobnym kolorze, na których widaæ strukturê liniow¹ przedstawianego obrazu, kompresuj¹ siê z wysokim stopniem kompresji. Wszelkie rysunki techniczne, wykresy, teksty, rysunki, zawieraj¹ce ma³¹ liczbê ró ni¹cych siê od siebie kolorów z ostrymi przejœciami pomiêdzy nimi i du ¹ iloœæ obszarów jednobarwnych lub o podobnych barwach, kompresuj¹ siê z wysokim stopniem kompresji ju dla ma³ych promieni b³êdu aproksymacji. Praktycznie niezauwa alna jest w nich strata jakoœci obrazu. Bitmapy czarno-bia³e, w których widoczna jest liniowa struktura, kompresuj¹ siê równie bardzo dobrze. Przy wy szych stopniach kompresji wystêpuj¹ jednak daj¹ce siê zauwa yæ straty. Bitmapy kolorowe, które maj¹ du o liniowych przejœæ pomiêdzy kolorami, jednobarwnych obszarów lub obszarów o podobnym kolorze, kompresuj¹ siê zadowalaj¹co. Jednak e, podobnie do bitmap czarno-bia³ych, przy wy szych stopniach kompresji, wystêpuj¹ widoczne utraty w jakoœci obrazu. Bitmapy ró nobarwne z du ¹ zmiennoœci¹ kolorystyki kompresuj¹ siê s³abo. Zdarza siê nawet, e przy ma³ym promieniu b³êdu aproksymacji, uzyskany po skompresowaniu plik jest wiêkszy od kompresowanej bitmapy. Wynika to z faktu, e przy du ej zmiennoœci barw, informacja zapisywana po kompresji jest wiêksza od tej zapisanej w bitmapie. Jeœli

470 Marcin Raniszewski aproksymowane zosta³y dwa punkty, to w bitmapie zapisywane s¹ ich barwy, podczas gdy przy kompresji dodatkowo zapamiêtywana jest liczba aproksymowanych punktów pomniejszona o 1. Przy wiêkszych promieniach aproksymacji uzyskujemy dla takich bitmap stopieñ kompresji siêgaj¹cy 2. Pojawiaj¹ siê jednak wtedy straty jakoœci obrazu. Bitmapy o przewadze poziomych przejœæ pomiêdzy kolorami lepiej kompresuj¹ siê za pomoc¹ kompresji poziomej, zaœ te o przewadze pionowych za pomoc¹ kompresji pionowej. Dobry dobór iloœci bitów przeznaczonych na zapis najczêœciej wystêpuj¹cych ró nic pomiêdzy sk³adowymi barw pikseli mo e, przy bitmapach dobrze kompresuj¹cych siê, zwiêkszyæ stopieñ kompresji. Z przeprowadzonych testów wynika, e op³aca siê stosowaæ kodowanie tych ró nic. Najwy sze stopnie kompresji, przy sta³ym promieniu b³êdu aproksymacji, uzyskiwane by³y dla 4 bitów przeznaczonych na zapis ró nic pomiêdzy sk³adowymi barw. Zdarza³y siê jednak sytuacje, gdy brak zapisu najczêœciej wystêpuj¹cych ró nic pomiêdzy sk³adowymi barw procentowa³ w postaci wiêkszego stopnia kompresji. Przy bardzo ma³ych bitmapach, kodowanie najczêœciej wystêpuj¹cych ró nic powoduje ni sze stopnie kompresji. Wynika to z faktu, e zapisywana jest wtedy dodatkowa informacja o tym, jaki ci¹g bitowy koduje dan¹ ró nicê. Nale y pamiêtaæ, e opisana w pracy kompresja opiera siê tylko na jednym algorytmie. Zaawansowane kompresje obrazów korzystaj¹ z kilku po³¹czonych ze sob¹ algorytmów. Dalsze prace mog¹ byæ przeprowadzone w zwi¹zku z po³¹czeniem opisanego algorytmu z istniej¹cymi. Literatura [1] Björck Å., Dahlquist G.: Metody numeryczne. Warszawa, PWN 1987 [2] Kay D.C., Levine J.R.: Graphics file formats. Windcrest, McGraw-Hill, Cambridge, 1992 [3] Sayood K.: Kompresja danych wprowadzenie. RM, Warszawa, 2002 [4] Raniszewski M.: Stratna kompresja obrazu z wykorzystaniem aproksymacji liniowej. Wydzia³ Matematyki, Uniwersytet ódzki, 2004 (Praca magisterska) [5] Przelaskowski A.: Kompresja danych. BTC, Warszawa, 2005