Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Цели:
Сжатие информации — это процесс преобразования информации, хранящейся в файле, к виду, при
котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем
памяти для хранения.
Целью процесса сжатия, как правило, есть получение более компактного выходного потока
информационных единиц из некоторого изначально некомпактного входного потока при помощи
некоторого их преобразования.
1. степень сжатия (compress rating) или отношение (ratio) объемов исходного и результирующего
потоков;
2. скорость сжатия - время, затрачиваемое на сжатие некоторого объема информации входного
потока, до получения из него эквивалентного выходного потока;
3. качество сжатия - величина, показывающая на сколько сильно упакован выходной поток, при
помощи применения к нему повторного сжатия по этому же или иному алгоритму.
Представьте себе следующую ситуацию. Вы работаете на компьютере в каком-нибудь текстовом или
графическом редакторе. Это занимает у вас несколько часов. В конце работы вы пытаетесь сохранить на
диске набранную информацию. При этом редактор выдаёт сообщение о том, что диск переполнен и
файл с вашим документом не может быть сохранён. Жесткий диск, на необъятные размеры которого вы
рассчитывали, оказывается полностью занятым. В результате длительной работы на нём скопился
большой объём необходимой информации, которую никак нельзя удалить: все преимущества жесткого
диска утеряны. Теперь, чтобы результат вашего труда не пропал даром (если это ещё возможно), вам
придётся совершить довольно сложную последовательность действий и при этом не ошибиться. Как
избежать подобных осложнений? Как освободить место для работы и при этом не уничтожить ни
одного файла? Можно ли сохранить информацию объёмом 50 Мбайт на диске ёмкостью 40 Мбайт? Как
сделать информацию менее уязвимой для компьютерных вирусов? Ответить на эти вопросы и
выполнить необходимые действия вам позволят архиваторы.
Простейшим архиватором является человеческий мозг. Убедиться в этом вам поможет следующий
пример.
AAAABBBCCCCCDD
Если перед вами поставить задачу: «Запомните строку и воспроизведите её», то скорее всего вы
запомните её как: «четыре А, три B, пять С, две D». Если записать это, то получим строку:
4A3B5C2D
Где цифра обозначает, сколько раз повторяется в строке следующая за ней буква. Такую строчку
довольно просто восстановить в первоначальный вид, а хранить её более выгоднее в преобразованном,
т.к. она занимает меньше места. На аналогичных, только более развитых, принципах основано действие
специальных программ, называемых архиваторами.
Действительно, если внимательно посмотреть любой текст, то можно заметить, что такие буквы «а» и
«о», встречаются в нем гораздо чаще чем «ю» и «у». То же самое можно отнести и к сочетаниям букв.
На рисунках цвета соседних точек в большинстве случаев близки по оттенку. Подобно этому в любой
последовательности информации некоторые сочетания встречаются намного чаще других.
Все это приводит к тому, что в файлах, хранящих эту информацию, некоторые комбинации из 0 и 1
встречаются гораздо чаще, чем другие. В таких случаях говорят, что информация обладает
избыточностью, и есть возможность перекодировать содержание файла, уменьшив его размер. Для
сжатия достаточно придерживаться правила: чем чаще встречается комбинация, тем более коротким
сочетанием из 0 и 1 ее можно перекодировать. Разумеется, делать это должна программа.
При сжатии можно уменьшить размер файла в несколько раз, что дает заметную экономию памяти.
Это особенно ценно при пересылке файлов через сеть Интернет или размещении их на носителях,
объем которых невелик, например, на дискетах.
Если попытаться повторить процедуру сжатия, то никакого эффекта не будет, так как
избыточность информации главным образом устраняется при первой упаковке.
Необходимо заметить, что не все типы файлов рационально архивировать с целью уменьшения их
размера. Примером может служить рисунок в формате JPEG, звук в формате MP3 и другие.
Несмотря на то, что объемы внешней памяти ЭВМ постоянно растут, потребность в архивации не
уменьшается. Архивация необходима не только для экономии памяти, но и для надежного хранения
копий ценной информации, для быстрой передачи информации по сети.
Степень сжатия информации зависит от типа файла и от выбранного метода упаковки. Степень
(качество) сжатия файлов характеризуется коэффициентом сжатия:
Проблемы архивации тесно связаны с проблемами кодирования (замена символов текста двоичными
кодами с помощью кодовой таблицы), шифрования (криптография), компрессией звуковых и видео-
сигналов.
В настоящее время разработано много алгоритмов архивации без потерь. Однако все они используют, в
основном, две простые идеи.
Первая идея основана на учете частот символов, она разработана Д. А. Хаффманом а 1952 году. Эта
идея базируется на том факте, что в обычном тексте частоты появления различных символов
неодинаковы. Часто встречающиеся символы кодируются короткими последовательностями битов, а
более редкие - длинными. К каждому сжатому архиву прикладывается таблица соответствия символов и
кодов.
Вторая идея упаковки состоит в использовании того факта, что в сообщениях часто встречаются
несколько подряд идущих одинаковых байтов, а некоторые последовательности байтов повторяются
многократно. При упаковке такие места можно заменить командами вида "повторить данный байт n
раз" (при упаковке графической информации) или "взять часть текста длиной k байтов, которая
встречалась m байтов назад" (при упаковке текстовой информации). Такой алгоритм архивации
называется RLE (кодирование путем учета повторений).
создание архива;
обслуживание архива (добавление файлов, удаление файлов из архива, замену файлов в архиве и
т.п.);
Компрессия без потерь используется, например, архиваторами ZIP, RAR, ARJ. Применение подобных
алгоритмов для сжатия файлов, содержащих оцифрованный звук, не позволяет получить сжатие более
чем в 2 раза.
Звуковой сигнал, преобразованный с помощью АЦП, обычно не повторяет сам себя и по этой причине
плохо сжимается с помощью алгоритмов сжатия без потерь. Многие приемы сжатия аудиоинформации
основываются на обмане органов чувств человека путем исключения избыточной и информации,
которую человек не способен воспринять (в силу своих физиологических особенностей).
Такие методы относятся к классу компрессии с потерями. Они не ставят цель абсолютно точного
восстановления формы исходных колебаний. Их главная задача - достижение максимального сжатия
звукового сигнала при минимальных слышимых искажениях восстановленного после с жатия сигнала.
Еще один способ сжатия звукового сигнала заключается в том, что исходный звуковой сигнал
очищается с помощью фильтров от неслышимых компонент (например, низкие басовые шумы). Затем
производится более сложный анализ сигнала: вычисляются и удаляются замаскированные частоты,
заглушенные другими мощными сигналами. Таким образом можно исключить до 70% информации из
сигнала, практически не изменив качество его звучания.
Если звуковой сигнал представляет собой однотонные звуки с постоянным уровнем громкости, то
биоакустические свойства слуха не позволяют его сжать. В этом случае дают эффект традиционные
методы архивации информации, например, алгоритм Хаффмана.
Стандарт JPEG позволяет сократить размеры графического файла с неподвижным изображением в 10-
20 раз. Этим методом удается при специальных действиях сжимать и движущиеся изображения.
3. Обобщение материала.
1) Первая цель архиватора — уменьшить двоичные или текстовые файлы в размере. Это
позволяет экономить весьма значительное пространство при хранении, так как обычно в
результате архивации файл сокращается приблизительно до 1/4 — 1/3 от его оригинального
размера. Этой программой могут обрабатываться файлы любого размера, которые умещаются на диске
одновременно с архивированным файлом, возникшим в процессе компрессии. При этом могут легко
обрабатываться файлы размером свыше 1 Мбайта, даже если объем свободной оперативной памяти не
превышает 200 Кбайт. Это уменьшает любые потенциальные проблемы, возникающие на разных
компьютерах.
2) Вторая цель программы — объединять более чем один архивируемый файл лишь в одном
сжатом файле, хотя каждый файл внутри такого сжатого файла должен сохранять свое
собственное имя. Это и называется "архивированием". Во времена операционной системы CP/M
такие файлы назывались "библиотечными" ("library"). В первые годы после появления MS-DOS они
назывались .ARC - файлами. Однако с появлением схожих программ, именам файлов стали даваться
различные "расширения", чтобы можно было определить какая из программ — архиваторов была
использована. В качестве примеров можно привести .ARJ, .LZH, .PAK, .ZIP, .ZOO, .RAR и т.д.
WinRAR можно использовать двумя способами: в режиме графической оболочки со стандартным
интерфейсом Windows и в командной строке. Чтобы использовать WinRAR в режиме оболочки,
дважды щелкните мышью на значке WinRAR
— после этого для архивации и извлечения файлов вы сможете пользоваться кнопками и меню.