ZESZYTY NAUKOWE NR 6(78) AKADEMII MORSKIEJ W SZCZECINIE

Podobne dokumenty
Fundamentals of Data Compression

AKD Metody słownikowe

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski.

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja JPG obrazu sonarowego z uwzględnieniem założonego poziomu błędu

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kodowanie predykcyjne

Wykorzystanie metody przekrojów i jej wizualizacja dla celów w ochrony przeciwpowodziowej dolin rzecznych prof. dr hab. inż.. Andrzej Stateczny Akadem

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

Wybrane metody kompresji obrazów

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Kodowanie predykcyjne

Kodowanie informacji

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

1. Wprowadzenie 1.1. Zdefiniowanie problemu badawczego

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Wykład III: Kompresja danych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Kompresja obrazów w statycznych - algorytm JPEG

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Teoretyczne Podstawy Informatyki

Ćwiczenie 6. Transformacje skali szarości obrazów

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Kompresja bezstratna

Podstawowe pojęcia. Teoria informacji

Transformaty. Kodowanie transformujace

Technologie Informacyjne

Zadanie 1. Suma silni (11 pkt)

Architektura komputerów

Kompresja dźwięku w standardzie MPEG-1

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Kompresja sekwencji obrazów - algorytm MPEG-2

Formaty obrazów rastrowych biblioteki PBM

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

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

Wyznaczanie stopnia krystaliczności wybranych próbek polimerów wykorzystanie programu WAXSFIT

Temat: Algorytm kompresji plików metodą Huffmana

Kodowanie Shannona-Fano

Klasyfikacja metod kompresji

AiSD zadanie trzecie

Maciej Piotr Jankowski

Biocentrum Ochota infrastruktura informatyczna dla rozwoju strategicznych kierunków biologii i medycyny POIG /09

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wyznaczanie stopnia krystaliczności wybranych próbek polimerów wykorzystanie programu WAXSFIT

Adaptive wavelet synthesis for improving digital image processing

Teoria przetwarzania A/C i C/A.

Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2

Algorytmy genetyczne w interpolacji wielomianowej

dr inż. Piotr Odya dr inż. Piotr Suchomski

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Wektoryzacja poziomic z map topograficznych. kilkanaście uwag o zagadnieniu skanowaniu, binaryzacji kolorów, wektoryzacji i DTM-ach

System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara.

Technologie Informacyjne

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Wprowadzenie. Algorytmy kompresji danych. Sebastian Deorowicz. Politechnika Śląska. Sebastian Deorowicz (PŚl) Wprowadzenie / 60

MATEMATYCZNY MODEL PĘTLI HISTEREZY MAGNETYCZNEJ

WYMAGANIA EDUKACYJNE Z PRZEDMIOTU ZAJĘCIA KOMPUTEROWE KLASA V. Wymagania podstawowe (dostateczna) Uczeń:

Pliki. Operacje na plikach w Pascalu

16MB - 2GB 2MB - 128MB

Klasyfikacja metod kompresji

Co to jest dźwięk. Dźwięk to wyrażenie słuchowe wywołane przez falę akustyczną. Ludzki narząd wyłapuje dźwięki z częstotliwością 16 do 20 Hz

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Adaptacyjne Przetwarzanie Sygnałów. Filtracja adaptacyjna w dziedzinie częstotliwości

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Systemy liczbowe używane w technice komputerowej

Teoretyczne podstawy informatyki

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1.1. Pozycyjne systemy liczbowe

Złożoność obliczeniowa zadania, zestaw 2

CZEŚĆ PIERWSZA. Wymagania na poszczególne oceny,,matematyka wokół nas Klasa III I. POTĘGI

Informatyka bez komputera. Katarzyna Olędzka

142 Egzamin maturalny. Informatyka. Poziom rozszerzony. Zbiór zadań

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

NOWOCZESNE TECHNOLOGIE ENERGETYCZNE Rola modelowania fizycznego i numerycznego

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Zastosowania drzew binarnych

XI Konferencja Sieci i Systemy Informatyczne Łódź, październik 2003 APLIKACJA DO TESTOWANIA ALGORYTMÓW PRZETWARZANIA SYGNAŁÓW

dr inż. Piotr Odya Wprowadzenie

Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Transkrypt:

ISSN 1733-8670 ZESZYTY NAUKOWE NR 6(78) AKADEMII MORSKIEJ W SZCZECINIE Wojciech Maleika I N Ż Y N I E R I A R U C H U M O R S K I E G O 2 00 5 Badanie bezstratnych metod kompresji danych opisujących kształt powierzchni dna morskiego Słowa kluczowe: kompresja bezstratna, struktura grid, dno morskie. Przedstawiono badania i rezultaty, jakie otrzymano w wyniku kompresji / rekonstrukcji danych opisujących kształt powierzchni dna morskiego z wykorzystaniem bezstratnych metod kompresji. W celu znalezienia efektywnego rozwiązania dokonywano także przekształceń zbioru danych wejściowych poprzez ich reorganizację oraz zapis różnicowy. W wyniku badań zaproponowano bezstratną metodę kompresji danych opisujących kształt dna morskiego. Investigating the Lossless Compression of Sea-bottom Data Keywords: lossless compression, grid structure, sea-bottom. The author presents the results of experiments on compressing / decompressing the data describing sea-bottom structure by means of lossless compression based on LZ77 and PPM. In order to increase the compression ratio, the input data were transformed (reordered) and stored in a differential form. These data were then compressed in a standard way. The results lead to a proposition of a lossless compression method of sea-bottom data.

Wojciech Maleika Wstęp W dzisiejszych czasach znajomość ukształtowania powierzchni terenu dna morskiego ma ogromne znaczenie i znajduje wiele zastosowań. Przykładem może być wykorzystanie modelu powierzchni dna jako informacji do tworzenia map nawigacyjnych niezbędnych do prawidłowego i bezpiecznego funkcjonowania ruchu morskiego. Informacje te są potrzebne także przy projektowaniu budowlanych prac podwodnych, badaniu i poszukiwaniu obiektów znajdujących się na dnie morza, w hydrografii, ochronie środowiska morskiego czy też przemyśle mineralnym. W wyniku interpolacji zebranych danych pomiarowych otrzymujemy siatkę danych (tablica dwuwymiarowa) opisującą kształt wycinka powierzchni. Liczba danych zapisanych w takiej tablicy może być ogromna. Przykładowo dla obszaru 1 km 2, przy przyjętym rozmiarze grid = 1 m, liczba danych sięgnie 1 mln punktów. Każdy punkt w reprezentacji komputerowej jest liczbą typu rzeczywistego (zajmuje 4 bajty). Zapisanie takiej tablicy na dysku zajmie ok. 4 MB. Odpowiednio dla obszaru 100 km 2, będzie to 100 mln punktów zajmujących 381 MB przestrzeni dyskowej. Zarządzanie tak ogromną liczbą danych jest czasochłonne, znacznie obciąża procesor obliczeniowo, a czas transmisji danych z pamięci masowych (dysk twardy, ZIP, CD-ROM) oraz przez sieci komputerowe jest dość znaczny. W dotychczasowych badaniach dotyczących opracowania adaptacyjnej metody kompresji danych opisujących kształt powierzchni dna morskiego przebadano stratne metody kompresji danych opartych na przekształceniu DCT [4], kompresji falkowej [5] oraz transformacie Karhunena-Loevego (KLT) [6]. Zastosowanie kompresji stratnej daje dużo lepsze rezultaty (wyższy stopień kompresji) w porównaniu z metodami bezstratnymi. W szczególnych przypadkach może jednak zajść potrzeba zapamiętania informacji o ukształtowaniu powierzchni z możliwie największą dokładnością. W takim przypadku należałoby użyć bezstratnej metody kompresji danych. 1. Charakterystyka danych pomiarowych Wszystkie badania przeprowadzono i przeanalizowano z wykorzystaniem danych opisujących 4 rzeczywiste powierzchnie dna morskiego (rys. 1), utworzone na podstawie rzeczywistych danych pomiarowych zebranych przez jednostki Urzędu Morskiego w Szczecinie. Tabela 1 prezentuje objętość plików binarnych przechowujących powierzchnie testowe (wykorzystując dane typu float). 274

Badanie bezstratnych metod kompresji danych opisujących kształt Objętość plików binarnych zawierających powierzchnie testowe Tabela 1 Lp. Nazwa Rozmiar grid [m] Rozmiar tablicy [punkty] Objętość pliku z danymi [bajty] 1. Brama 1 1 811 951 3 085 044 2. Kotwicowisko 2 2 850 1508 5 127 200 3. Obrotnica 1.5 1.5 876 1232 4 316 928 4. Wraki 0.05 0.05 516 1411 2 912 304 Rys. 1. Powierzchnie testowe 2. Bezstratne metody kompresji badania Spośród wielu znanych metod kompresji bezstratnej można wydzielić następujące grupy [2]: kodowanie długości serii, kodowanie entropijne, kodowanie arytmetyczne, kodowanie słownikowe, kodowanie predykcyjne. 2.1. Metody słownikowe Metody słownikowe bazują na zjawisku częstego powtarzania się wzorców (wartości) w danych poddawanych kompresji. Klasycznym przykładem są dane tekstowe, w których pewne znaki lub wzorce nieustannie się powtarzają. Odpowiednim sposobem kodowania tego typu danych jest przechowywanie listy (zwanej słownikiem) często występujących wzorców. Wystąpienia wzorców w przetwarzanym ciągu kodowane są za pomocą odpowiednich odwołań do 275

Wojciech Maleika słownika. Słowniki natomiast dzielą się na statyczne (tworzone przed procesem kompresji i nie dopasowujące się do kompresowanych danych) oraz dynamiczne (tworzone i modyfikowane w trakcie procesu kodowania, dopasowujące się do charakteru kompresowanych danych). Większość używanych dzisiaj dynamicznych metod słownikowych opiera się na analizach teoretycznych przeprowadzonych przez Jacoba Ziva i Abrahama Lempela, którzy opracowali algorytm LZ77 [9]. Metody słownikowe analizują i kompresują kolejne próbki (liczby) w zależności od ich wystąpień (częstość wystąpień pojedynczych lub kilku sąsiednich liczb). Nie są analizowane jakiekolwiek zależności pomiędzy nimi. W wielu przypadkach sąsiedztwo fizyczne oznacza również podobieństwo wartości próbek. W przypadku danych opisujących kształt powierzchni dna morza sąsiednie próbki nie różnią się zbytnio od siebie. Te właściwości można wykorzystać przy kodowaniu próbek. Każda z powierzchni testowych została zapisana w pliku binarnym. Każdy z tych plików został następnie poddany kompresji z wykorzystaniem algorytmu LZ77. Rysunek 2 prezentuje wyniki, jakie uzyskano w badaniach eksperymentalnych polegających na kompresji powierzchni testowych z użyciem algorytmu LZ77. 6 5 stopień kompresji 4 3 2 1 0 brama_1 kotw_2 obrot_1.5 wraki_0.05 powierzchnia testowa Rys. 2. Stopień kompresji uzyskany w wyniku kompresji powierzchni testowych z wykorzystaniem algorytmu LZ77 Otrzymany stopień kompresji zawiera się w przedziale od 3:1 do 5:1. Na uzyskany stopień kompresji znaczny wpływ miała liczba pustych (zerowych) węzłów w siatce grid. Powierzchnią najbardziej podatną na kompresję jest brama (występuje tu wiele zerowych węzłów), najmniej kotwicowisko (niewielka liczba zerowych węzłów). 2.2. Metody predykcyjne W kodowaniu predykcyjnym dokonywana jest predykcja wartości danej próbki, a następnie zamiast kodowania samych próbek, kodowane są różnice między ich wartością a wartością przewidywaną. Podczas rekonstrukcji różnica 276

Badanie bezstratnych metod kompresji danych opisujących kształt ta używana jest do odtworzenia oryginalnej próbki. Istnieje wiele metod kodowania predykcyjnego, które różnią się liczbą próbek używanych przy dokonywaniu predykcji i sposobem dobierania parametrów predykcji (metody statyczne i dynamiczne) [8]. Opracowano wiele algorytmów bazujących na kodowaniu predykcyjnym, m.in.: modulacja delta, DPCM, CCITT, CALIC, PPM, JPEG-LS [1]. Najbardziej rozpowszechnionym algorytmem wykorzystującym predykcję opartą na kontekście (analizie prawdopodobieństwa wystąpienia danego symbolu w zależności od symboli poprzedzających) jest algorytm PPM, przedstawiony w 1984 roku przez Cleary ego i Wittena [CLE84]. Algorytm PPM, zamiast wyznaczać prawdopodobieństwa wystąpień symboli przed rozpoczęciem kodowania, zmniejsza ilość pracy (szybkość kompresji) i pamięci (zajętość pamięci przez dane) poprzez wyznaczanie kontekstu w trakcie procesu kodowania. Wyznaczane i przechowywane są informacje tylko o tych kontekstach, które wystąpiły w trakcie kodowania. Ograniczony zostaje w ten sposób zbiór przechowywanych kontekstów oraz łagodzony jest problem zajętości pamięci. Popularnym standardem kompresji danych wykorzystującym algorytm PPM jest kompresor RAR. Pliki binarne, w których zostały zapisane powierzchnie testowe, poddano kompresji z wykorzystaniem algorytmu PPM. Rysunek 3 prezentuje wyniki, jakie uzyskano w badaniach eksperymentalnych polegających na kompresji powierzchni testowych z użyciem algorytmu PPM. 7 6 stopień kompresji 5 4 3 2 1 0 brama_1 kotw_2 obrot_1.5 wraki_0.05 powierzchnia testowa Rys. 3. Stopień kompresji uzyskany w wyniku kompresji powierzchni testowych z wykorzystaniem algorytmu PPM Kodowanie z wykorzystaniem metod predykcyjnych (PPM) daje nieco lepsze rezultaty (wyższy stopień kompresji) od kodowania słownikowego (LZ77). Uzyskany stopień kompresji zawiera się w przedziale od 3:1 do 6:1. Na uzyskany stopień kompresji także znaczny wpływ miała liczba pustych (zerowych) węzłów w siatce grid. Powierzchnią najbardziej podatną na kompresję jest brama, najmniej kotwicowisko. 277

Wojciech Maleika 2.3. Reorganizacja pliku binarnego Plik binarny, w którym zapisana jest powierzchnia to zbiór liczb określających kolejne głębokości w węzłach siatki, gdzie jedna próbka zapisana jest z użyciem 4 bajtów (liczba 32-bitowa). Jeżeli plik binarny rozpatrzymy jako zbiór czteroelementowych liczb, to można zauważyć pewne zależności pomiędzy liczbami leżącymi na tej samej pozycji w kolejnych czwórkach: liczby znajdujące się na pozycji 4 są zazwyczaj takie same (40 HEX); różnice pomiędzy kolejnymi liczbami znajdującymi się na pozycji 3 są niewielkie (zazwyczaj różnica wynosi 1 4), często występują wielokrotne powtórzenia tych samych wartości; różnice pomiędzy kolejnymi liczbami znajdującymi się na pozycji 2 oraz 1 są znaczne i trudno określić jakiekolwiek zależności pomiędzy nimi. Na podstawie przedstawionych zależności postawiono tezę, że istnieje możliwość zwiększenia efektywności kompresji bezstratnej poprzez odpowiednią reorganizację pliku binarnego. Polega ona na zapisaniu w pliku binarnym co czwartej liczby, zaczynając od pozycji 1, następnie co czwartej liczby, zaczynając od pozycji 2, od pozycji 3 i kończąc na co czwartej liczbie począwszy od pozycji 4. Wykres pliku binarnego przed reorganizacją i po reorganizacji prezentuje rys. 4. Plik przed przetworzeniem Plik po przetworzeniu Rys. 4. Wykres pliku binarnego przed i po reorganizacji ( brama_1 ) Pliki binarne, w których zostały zapisane powierzchnie testowe, poddano reorganizacji danych a następnie dokonano kompresji z wykorzystaniem algorytmu LZ77 oraz PPM. Rysunek 5 prezentuje wyniki, jakie uzyskano w badaniach eksperymentalnych polegających na kompresji powierzchni testowych z użyciem reorganizacji danych. Zastosowanie reorganizacji danych dla powierzchni brama oraz obrotnica umożliwiło zwiększenie stopnia kompresji o ok. 10 20%, ale dla powierzchni kotwicowisko oraz wraki nastąpił spadek stopnia kompresji o ok. 5 20%. Nieprawdziwa zatem staje się teza, że zastosowanie reorganizacji danych umożliwia zwiększenie stopnia kompresji danych. 278

Badanie bezstratnych metod kompresji danych opisujących kształt 7 6 stopień kompresji 5 4 3 2 1 LZ77 PPM 0 brama_1 kotw_2 obrot_1.5 wraki_0.05 powierzchnie testowe Rys. 5. Stopień kompresji uzyskany w wyniku kompresji powierzchni testowych po reorganizacji danych z wykorzystaniem algorytmu LZ77 oraz PPM 2.4. Różnicowy zapis danych Różnice głębokości pomiędzy sąsiednimi próbkami w strukturze grid wynoszą zazwyczaj poniżej jednego centymetra, rzadziej kilka centymetrów. W trakcie badań postanowiono sprawdzić czy zapisywanie owych różnic zamiast rzeczywistych wartości głębokości umożliwi zmniejszenie informacji, którą należy przechować, a co za tym idzie spowoduje zwiększenie stopnia kompresji. Przyjęto następujący sposób zapisu danych: pierwsza głębokość w każdym wierszu jest zapisywana w sposób bezpośredni, a następnie są zapisywane różnice pomiędzy kolejnymi głębokościami. Na tym etapie nie występuje zmniejszenie ilości danych (zapisujemy zawsze liczby 4-bajtowe). W dalszej kolejności wykonujemy kompresję plików z wykorzystaniem algorytmu LZ77 i PPM. Rysunek 6 prezentuje wyniki, jakie uzyskano po kompresji powierzchni testowych z wykorzystaniem zapisu różnicowego. Zastosowanie zapisu różnicowego danych umożliwiło zwiększenie stopnia kompresji o ok. 50 100% w stosunku do poprzednich metod. Uzyskany stopień kompresji zawiera się w przedziale od 5:1 do 12:1. 14 12 stopień kompresji 10 8 6 4 2 LZ77 PPM 0 brama_1 kotw_2 obrot_1.5 wraki_0.05 powierzchnie testowe Rys. 6. Stopień kompresji uzyskany w wyniku kompresji powierzchni testowych z użyciem algorytmu LZ77 oraz PPM z wykorzystaniem zapisu różnicowego 279

Wojciech Maleika 2.5. Zmodyfikowany różnicowy zapis danych Pomiary głębokości wykonywane z użyciem sondy wielowiązkowej charakteryzują się dokładnością powyżej 1 cm. Na podstawie tych pomiarów w wyniku interpolacji tworzona jest struktura grid. Możemy przyjąć, iż struktura ta przechowuje dane o kolejnych głębokościach z dokładnością do 1 mm. Ponieważ różnica pomiędzy kolejnymi wartościami jest niewielka, możliwe jest ich zapisanie za pomocą liczby 1- lub 2-bajtowej. Przyjęto następujący sposób zapisu danych: punkty, w których nie określona jest głębokość (wartość wynosi 0) zapisujemy jako liczbę 1-bajtową. Pierwszą określoną wartość głębokości w każdym wierszu zapisujemy bez zmian (4 bajty). Dla kolejnych punktów wyliczamy różnicę pomiędzy analizowanym punktem a jego poprzednikiem z dokładnością do 1 mm, przekształcając ją następnie w liczbę całkowitą (stosując zmianę skali). Uzyskany wynik zapisujemy z użyciem 1 bajta (gdy wartość mniejsza jest od 255) lub dwóch bajtów (w pozostałych przypadkach). Poniżej przedstawiono uproszczony algorytm zapisu danych: dana jest struktura grid o rozmiarze M N punktów (data), ustaw znacznik = 0, dla każdego wiersza (x): dla kolejnych wartości w wierszu (y), jeżeli data(x,y) = 0, to zapisz 0 (1 bajt); ustaw znacznik = 0, jeżeli data(x,y) <> 0, to: * jeżeli znacznik < > 0, to różnica = (bajt) (data(x,y) data(x,y-1) *1000): - jeżeli różnica <256, to zapisz różnica (1 bajt), - jeżeli różnica >255, to zapisz różnica (2 bajty); * jeżeli znacznik = 0, to zapisz data(x,y) (4 bajty); ustaw znacznik = 1; ustaw znacznik = 0. Kompresje danych uzyskujemy w dwóch etapach: w trakcie zapisu danych wszelkie wartości zerowe zapisywane są z użyciem jednego bajta (poprzednio wszystkie dane były 4-bajtowe), wartość różnicy pomiędzy kolejnymi punktami zapisywane są z użyciem zazwyczaj 1, czasem 2 bajtów; uzyskujemy dzięki temu niemal 4-krotne zmniejszenie objętości pliku danych; zapisane dane w wyniku kompresji ulegają dalszej kompresji ok. 6-krotnie. Rysunek 7 prezentuje wyniki, jakie uzyskano w kompresji powierzchni testowych z wykorzystaniem zmodyfikowanego zapisu różnicowego. Zastosowanie zmodyfikowanego zapisu różnicowego danych umożliwiło znaczne zwiększenie stopnia kompresji uzyskany stopień kompresji zawiera się w przedziale od 14:1 do 30:1. Na uzyskany stopień kompresji pewien wpływ ma liczba pustych (zerowych) węzłów w siatce grid. Powierzchnią najbardziej podatną na kompresję jest brama (występuje tu wiele zerowych węzłów), najmniej kotwicowisko (niewielka liczba zerowych węzłów). 280

Badanie bezstratnych metod kompresji danych opisujących kształt 35 30 stopień kompresji 25 20 15 10 5 LZ77 PPM 0 brama_1 kotw_2 obrot_1.5 wraki_0.05 powierzchnie testowe Rys. 7. Stopień kompresji uzyskany w wyniku kompresji powierzchni testowych z użyciem algorytmu LZ77 oraz PPM z wykorzystaniem zmodyfikowanego zapisu różnicowego Podsumowanie Objętość plików binarnych zawierających dane opisujące kształt powierzchni dna morza może być znaczna. Zastosowanie metody kompresji bezstratnej umożliwia zmniejszenie objętości danych, przy zachowaniu pełnej informacji o ukształtowaniu. Wykorzystanie powszechnie stosowanych algorytmów kompresji (LZ77 oraz PPM) umożliwia ok. 4-krotne zmniejszenie rozmiaru plików. Wykorzystując sposób organizacji danych zapisanych w strukturze grid oraz właściwości liczb opisujących kolejne pomiary opracowano zmodyfikowaną metodę zapisu różnicowego danych, co przy dodatkowym wykorzystaniu algorytmów kompresji (LZ77, PPM) umożliwia uzyskanie stopnia kompresji na poziomie 20:1. Dzięki opracowanej metodzie możliwe jest znaczne zmniejszenie liczby danych niezbędnych do opisania ukształtowania powierzchni dna morskiego większych obszarów, przy zachowaniu pełnej informacji. Literatura 1. Drozdek A., Wprowadzenie do kompresji danych. Wydawnictwo Naukowo- Techniczne, Warszawa 1999. 2. Heim K., Metody kompresji danych. Wydawnictwo MIKOM, Warszawa 2000. 3. Khalid S., Kompresja danych wprowadzenie. Wydawnictwo RM, Wydanie I, Warszawa 2002. 4. Maleika W., Adaptive Compression of Real Data Describing Sea Bottom using DCT. Advanced Computer Systems, Szczecin 2001. 5. Maleika W., Forczmański P., Wavelets in adaptive compression of data describing sea-bottom. Advanced Computer Systems, Mielno 2002. 281

Wojciech Maleika 6. Maleika W., Kompresja danych opisujących kształt powierzchni dna morza z wykorzystaniem algorytmu analizy składowych głównych KLT. X Międzynarodowa Konferencja Naukowo-Techniczna Inżynieria Ruchu Morskiego. Szczecin 2003. 7. Nelson M.R., LZW data compression. Dr. Dobb s Journal, October 1989. 8. Skarbek W., Multimedia algorytmy i standardy kompresji. Akademicka Oficyna Wydawnicza PLJ, Warszawa 1998. 9. Ziv J., Lempel A., A Universal Algorithm for Data Compression. IEEE Transactions on Information Theory, 1977. Recenzenci dr hab. inż. Cezary Szpecht, prof. AMW prof. dr hab. inż. Andrzej Stateczny Adres Autora dr inż. Wojciech Maleika Politechnika Szczecińska Wydział Informatyki ul. Żołnierska 49 71-210 Szczecin wmaleika@wi.ps.pl 282