1. Изучить теоретический материал.
2. Реализовать построение таблиц кодовых слов для рассмотренных кодов целых чисел: кода класса Fixed+Variable и кодов класса Variable +Variable (гамма-кода Элиаса и омега-кода Элиаса) и заполнить следующую таблицу:
Число | Кодовое слово | ||
Fixed+Variable | γ-код Элиаса | ω-код Элиаса | |
0 | |||
1 | |||
2 | |||
… |
3. Запрограммировать процедуру кодирования методом длин серий.
4. Создать файл (не менее 1 Кб), содержащий последовательность из нулей и единиц, причем P (0)>> P (1). Сравнить степени сжатия этого файла методом длин серий при использовании трех кодов целых чисел (Fixed+Variable, γ-код Элиаса, ω-код Элиаса).
5. Коэффициент сжатия определять как процентное отношение длины закодированного файла к длине исходного файла.
6. Результаты оформить в виде таблицы
Размер файла | Коэффициент сжатия файла | ||
Fixed+Variable | γ-код Элиаса | ω-код Элиаса | |
Лабораторная работа выполняется на языке высокого уровня (Паскаль, Си). Допускается выполнение лабораторной работы в средах Delphi, Builder C++, Visual C++. Для зачета по лабораторной работе студенту необходимо представить:
|
|
− исходные тексты программ с подробными комментариями;
− исполняемые файлы;
− отчет по лабораторной работе.
Отчет должен включать в себя следующие разделы:
− формулировку задания;
− описание основных методов, используемых в лабораторной работе;
− результаты работы программы (в виде файла или в виде скриншота);
− анализ результатов.
3. Контрольные вопросы
1. В чем состоит основная идея кодирования целых чисел?
2. Чем отличаются коды Fixed+Variable и Variable+Variable?
3. Как формируются кодовые слова гамма-кода Элиаса?
4. Как строится омега-код Элиаса?
5. В чем заключается кодирование длин серий?
Лабораторная работа № 2
Тема: Арифметическое кодирование.