Wybrane problemy bezstratnej kompresji danych

Autor: Agnieszka Krawczyńska

Opiekun pracy: dr inż. Tomasz Lesz

Rodzaj pracy: praca dyplomowa magisterska

Data obrony: 2007-07-05

Streszczenie

Celem niniejszej pracy dyplomowej było napisanie programu komputerowego ilustrującego wybrane problemy związane z usuwaniem redundancji źródła, docelowo mogącego znaleźć zastosowanie w laboratorium Systemów i Sieci Telekomunikacyjnych prowadzonym przez Zakład Telekomunikacji Instytutu Elektroniki Politechniki Łódzkiej.
Ze względu na prostotę oraz efektywność metod entropijnych, bazujących na probabilistycznym modelu źródła w pracy tej, szczególny nacisk został położony na dwie podstawowe statystyczne metody kodowania – najbardziej optymalną z metod probabilistycznych procedurę Huffmana oraz pierwszy dokładnie opisany algorytm kodowania – algorytm Shannona-Fano.
Niniejsza praca została podzielona na trzy części.
Pierwsza z nich, zbudowana z dwóch rozdziałów, ma charakter teoretyczny. W rozdziale pierwszym, stanowiącym wprowadzenie w zagadnienia związane z kompresją danych, omówione zostały podstawowe pojęcia, twierdzenia i zależności niezbędne do zrozumienia idei kodowania. W rozdziale drugim szczegółowo opisano wraz z przykładami dwie podstawowe grupy metod bezstratnej kompresji danych - algorytmy statystyczne oraz słownikowe. Przedstawiono w nim reguły kodowania, ograniczenia i zalety przedstawicieli należących do każdej z wymienionych grup.
W części drugiej niniejszej pracy opisany został program komputerowy ilustrujący zagadnienia i problemy bezstratnej kompresji danych. Omówiono interfejs użytkownika oraz zaprezentowano schematy blokowe zaimplementowanych algorytmów.
Ze względu na dydaktyczny charakter niniejszej pracy, w części trzeciej zamieszczone zostały przykładowe ćwiczenie laboratoryjne, które można wykonać na bazie przygotowanego programu komputerowego. Odpowiednio dobrane przykłady ułatwiają porównanie efektywności wybranych metod kodowania.
Program został napisany w języku C# na platformie .NET w oparciu o założenie jego pełnej funkcjonalności oraz prostoty poruszania się po dostępnych funkcjach. Graficzna wizualizacja wyników działania aplikacji ma na celu lepsze zrozumienie prezentowanych zagadnień.