Lista przedmiotów z materiałami udostępnionymi dla studentów

Dla_studentów
  • Increase font size
  • Default font size
  • Decrease font size

Martyna Borkowska

Adaptacyjny koder arytmetyczny


Adaptive arithmetic coder


Opiekun pracy dyplomowej: dr inż. Piotr Wasilewski
Praca dyplomowa IFE - BSc obroniona 2011-02-21
Streszczenie pracy dyplomowej:
Niniejszy dokument został napisany jako praca inżynierska dotycząca tematu kodowania arytmetycznego. Głównym celem pracy jest stworzenie programu demonstrującego zasady działania adaptacyjnego kodera arytmetycznego. Jako założenia wstępne przyjęto możliwość ustawienia parametrów początkowych narzędzia i samodzielny wybór informacji wejściowych przez użytkownika. Ponadto, projekt powinien prezentować wewnętrzne stany kodera podczas procesu kodowania, jak i obliczać statystyki kompresji. Finalnie program ma być wykorzystany podczas zajęć laboratoryjnych powiązanych z tematem kodowania. Wybór zagadnienia był ściśle związany z dużym zainteresowaniem kryptografią. Zajmujące zajęcia z modulacji i kodowania rozwinęły moje zaciekawienie tematem i zachęciły mnie do pogłębiania wiedzy w tym zakresie. Algorytm kodowania arytmetycznego został konkretnie wybrany z powodu jego szerokiego wachlarza zastosowań i dużej efektywności metody. Stworzenie projektu zostało poprzedzone przeprowadzeniem wnikliwych badań teoretycznych i zdobyciem określonej wiedzy. Ta wiedza dotyczyła przede wszystkim podstaw teorii informacji i dokładnym poznaniu entropijnych metod kodowania, ze szczególnym naciskiem na algorytm kodowania arytmetycznego. Co więcej, konieczne było rozbudowanie umiejętności programowania i rozwinięcie kompetencji w tej dziedzinie. W konsekwencji było możliwe stworzenie narzędzia spełniającego wszystkie początkowe wymagania. Zgodnie z założeniami program może być wykorzystany podczas zajęć laboratoryjnych, dzięki swoim szczególnym dydaktycznym właściwościom i przemyślanym sposobie implementacji. Zawartość niniejszej pracy obejmuje szerokie teoretyczne podstawy i wnikliwy opis wykonanego projektu. Pierwszy rozdział kładzie nacisk na szczególne znaczenie kompresji w dzisiejszych czasach i przybliża podstawy teorii informacji. Drugi rozdział jest poświęcony opisowi popularnych bezstratnych metod kompresji (wyłączając kodowanie arytmetyczne). W trzecim rozdziale można znaleźć dopracowaną specyfikację algorytmu kodowania arytmetycznego popartą licznymi przykładami. Czwarty rozdział opisuje szczegółowo stworzony projekt – omawia wszystkie wbudowane funkcjonalności i graficzny interfejs użytkownika. Ponadto, podkreślono wyjątkowe właściwości narzędzia i wskazano możliwe ścieżki rozwoju. W ostatnich dwóch rozdziałach można znaleźć wnioski i podsumowanie pracy.
Abstract:
This document was written as a bachelor thesis relating to arithmetic coding subject. The main goal of the thesis was to develop a software tool demonstrating the work of adaptive arithmetic coder. As for the initial requirements it was assumed, that user shall be able to set initial parameters of the program and select input data source. Furthermore, the project should show coder’s states during the process and calculate statistics. The tool is supposed to have educational value and is intended to be used at laboratory classes connected with the theme of coding. Selection of this particular topic was associated with my interests in cryptography. Thought–provoking classes about modulation and coding enhanced my preoccupation with the subject and encouraged to expand my knowledge concerning it. Arithmetic coding algorithm was specifically chosen, due to its wide variety of application in international compression standards and high efficiency of the method. Creation of the project must have been supported with conduction of theoretical studies and acquirement of certain knowledge. This very knowledge concerned above all fundamentals of information theory and detailed recognition of entropy encoding methods with special emphasis put on arithmetic coding algorithm. Furthermore, I had to develop my understanding of programming methods and expand skills in this field. As a consequence, it was possible to create software tool fulfilling all primary requirements. In accordance with assumptions, the program may be very useful during student’s laboratory due to its significant didactic values and deliberate way of implementation. The content of the thesis covers extensive theoretical background and detailed description of developed project. First chapter puts special emphasis on importance of data compression nowadays and explains foundations of information theory. Second chapter is dedicated to description of popular lossless compression methods (excluding arithmetic coding itself). In the third chapter reader may find elaborate specification of arithmetic coding method supported with numerous examples. Fourth chapter is devoted to implemented project – it depicts all the functionalities contained within, graphical user interface design and basic functions standing behind the program. Moreover, it underlines unique aspects of the tool and indicates possible paths of development. Finally, conclusions and summary of the work are presented in chapters five and six.