- •Кафедра Информационные системы
- •Тамбов 2010
- •4.1. Понятие кодирования. Кодовое дерево.
- •4.2. Теорема кодирования источников. Неравенство Крафта. Префиксный код.
- •4.3. Методы оптимального кодирования. Сжатие данных.
- •4.3.1. Метод кодирования Шеннона - Фано.
- •4.3.2. Метод кодирования Хаффмана.
- •4.3.3. Арифметическое кодирование.
- •4.3.4. Алгоритм универсального кодирования методом Лемпела-Зива.
- •4.3.5. Особенности программ-архиваторов.
- •4.3.6. Сжатие с потерями.
4.3.5. Особенности программ-архиваторов.
Если коды алгоритмов типа LZ передать для кодирования адаптивному алгоритму Хаффмана или арифметическому, то полученный двухшаговый алгоритм даст результат сжатия, подобный случайным программам: GZIP, ARJ, PKZIP.
Наибольшую степень сжатия дают двухпроходные алгоритмы, которые последовательно сжимают два раза исходные данные, но они соответственно и работают до двух раз медленнее однопроходных.
Большинство программ-архиваторов сжимают каждый файл по отдельности, но некоторые сжимают файлы в общем потоке, что дает увеличение степени сжатия, но одновременно усложняет способы работы с полученным архивом. Например, замена в таком архиве файла на его более новую версию может потребовать перекодирования всего архива. В общем потоке с файлами способен работать архиватор RAR. В ОС Unix практически все архиваторы (gzip, bzip2,...) сжимают файлы в общем потоке.
Таблица использования типов кодирования в программах-архиваторах.
Расширение файлов |
Программа-архиватор |
Тип кодирования |
||
arс |
arc, pkazc |
LZW, Хаффмана |
||
zip |
zip, pkzip, unzip, pkunzip |
LZW, LZ77, Хаффмана, Шеннона-Фано |
||
gz |
gzip |
LZ77, Хаффмана |
||
azj |
azj |
LZ77, Хаффмана |
||
pak |
pak |
LZW |
||
gif |
графические файлы |
LZW |
||
tif, tiff |
для факсов |
LZW |
||
4.3.6. Сжатие с потерями.
Сжатие с потерями используется в основном для трех видов данных:
1.Полноцветная графика.
2. Звук.
3. Видеоинформация.
Сжатие с потерями обычно происходит в два этапа. На первом исходная информация приводится (с потерями) к виду, в котором ее можно эффективно сжимать алгоритмами второго этапа сжатия без потерь.
Основная идея сжатия графической информации с потерями заключается в следующем. Каждая точка в картинке характеризуется тремя равноценными атрибутами: яркостью, цветом, насыщенностью. Но глаз человека воспринимает эти атрибуты не как равные. Глаз воспринимает полностью только информацию о яркости и в гораздо меньшей степени о цвете и насыщенности, что позволяет отбрасывать часть информации о двух последних атрибутах без существенной потери качества изображения.
Для сжатия графической информации с потерями в конце 80-х годов XX века установлен единый стандарт JPEG (Joint Photographic Expert Group – название объединения его разработчиков).
В этом формате можно регулировать степень сжатия, задавая степень потери качества.
Сжатие видеоинформации основано на том, что при переходе от одного кадра фильма к другому на экране обычно почти ничего не меняется. Таким образом, сжатая видеоинформация представляет собой запись некоторых базовых кадров и последовательности изменения в них. При этом часть информации может отбрасываться. Сжатую таким образом информацию можно далее сжимать и другими методами.
Хотя существует не один стандарт для сжатия видеоданных, наиболее распространенными являются стандарты MPEG (Motion Picture Expert Group) первый из которых опубликован в 1988 году. MPEG - практически единственный стандарт для записи видео и звуковой информации на CD-ROM и DVD-ROM, а так же в цифровом телевидении.
Для сжатия звуковой информации с потерями существует несколько стандартов. Наиболее широко используется MPEG без видеоданных.
