Лекция 14. Архивирование и методы сжатия информации

14.1. Что такое архивирование

Несмотря на то, что объемы внешней памяти ЭВМ постоянно растут, потребность в архивации не уменьшается. Архивация необходима не только для экономии памяти, но и для надежного хранения копий ценной информации, для быстрой передачи информации по сети.

Архивирование (упаковка, сжатие) это процесс записи файла в архивный файл, разархивирование (распаковка) - процесс извлечения файла из архива. Архив - упакованный (сжатый) файл.

Архивация информации это такое преобразование информации, при котором объем информации уменьшается, а количество информации остается прежним.

Степень сжатия информации зависит от типа файла и от выбранного метода упаковки. Степень (качество) сжатия файлов характеризуется коэффициентом сжатия:

Kc = (Vc / Vи) . 100%.

Vc - объем сжатого файла, Vи - объем исходного файла.

Проблемы архивации тесно связаны с проблемами кодирования (замена символов текста двоичными кодами с помощью кодовой таблицы), шифрования (криптография), компрессией звуковых и видео-сигналов.

14.2. Какие существуют методы архивирования

Все используемые методы сжатия информации можно разделить на два класса:

В настоящее время разработано много алгоритмов архивации без потерь. Однако все они используют, в основном, две простые идеи.

Первая идея основана на учете частот символов, она разработана Д. А. Хаффманом а 1952 году. Эта идея базируется на том факте, что в обычном тексте частоты появления различных символов неодинаковы. Часто встречающиеся символы кодируются короткими последовательностями битов, а более редкие - длинными. К каждому сжатому архиву прикладывается таблица соответствия символов и кодов.

Вторая идея упаковки состоит в использовании того факта, что в сообщениях часто встречаются несколько подряд идущих одинаковых байтов, а некоторые последовательности байтов повторяются многократно. При упаковке такие места можно заменить командами вида "повторить данный байт n раз" (при упаковке графической информации) или "взять часть текста длиной k байтов, которая встречалась m байтов назад" (при упаковке текстовой информации). Такой алгоритм архивации называется RLE (кодирование путем учета повторений).

14.3. Какими возможностями обладают архиваторы

Средства архивации-разархивации, как правило, обеспечивают:

Каждый архиватор обычно реализует свой собственный уникальный алгоритм сжатия.

14.4. Как сжать звуковые файлы

Для уменьшения размеров мультимедийных файлов используют процедуру сжатия.

Cжатие (уплотнение, компрессия) это такое преобразование информации, в результате которого исходный файл уменьшается в объеме, а количество информации в сжатом файле уменьшается на такую небольшую величину, которой практически можно пренебречь.

Компрессия без потерь используется, например, архиваторами ZIP, RAR, ARJ. Применение подобных алгоритмов для сжатия файлов, содержащих оцифрованный звук, не позволяет получить сжатие более чем в 2 раза.

Звуковой сигнал, преобразованный с помощью АЦП, обычно не повторяет сам себя и по этой причине плохо сжимается с помощью алгоритмов сжатия без потерь. Многие приемы сжатия аудиоинформации основываются на обмане органов чувств человека путем исключения избыточной и нформации, которую человек не способен воспринять (в силу своих физиологических особенностей).

Такие методы относятся к классу компрессии с потерями. Они не ставят цель абсолютно точного восстановления формы исходных колебаний. Их главная задача - достижение максимального сжатия звукового сигнала при минимальных слышимых искажениях восстановленного после с жатия сигнала.

Звуковой файл можно сжать с помощью компадирования, которое заключается в сжатии по амплитуде исходного звукового сигнала и последующем его восстановлении с помощью расширителя. Значение амплитуды звука заменяется логарифмом этого значения. Полученные числа округляются, и для их записи требуется меньшее число разрядов. Для воспроизведения сжатого сигнала, его подвергают потенцированию (преобразование, обратное логарифмированию).

Еще один способ сжатия звукового сигнала заключается в том, что исходный звуковой сигнал очищается с помощью фильтров от неслышимых компонент (например, низкие басовые шумы). Затем производится более сложный анализ сигнала: вычисляются и удаляются замаскированные частоты, заглушенные другими мощными сигналами. Таким образом можно исключить до 70% информации из сигнала, практически не изменив качество его звучания.

Есть и другие способы, так же основанные на свойствах человеческого слуха.

Если звуковой сигнал представляет собой однотонные звуки с постоянным уровнем громкости, то биоакустические свойства слуха не позволяют его сжать. В этом случае дают эффект традиционные методы архивации информации, например, алгоритм Хаффмана.

14.5. Как сжать графические файлы

Методы сжатия видеоинформации разделяются на две группы, в зависимости от скорости упаковки изображения:

Стандарт JPEG позволяет сократить размеры графического файла с неподвижным изображением в 10-20 раз. Этим методом удается при специальных действиях сжимать и движущиеся изображения.