Программы-архиваторы можно разделить на три категории.
- Программы, используемые для сжатия исполняемых файлов, причем все файлы, которые прошли сжатие, свободно запускаются, но изменение их содержимого, например русификация, возможны только после их разархивации.
- Программы, используемые для сжатия мультимедийных файлов, причем можно после сжатия эти файлы свободно использовать, хотя, как правило, при сжатии изменяется их формат (внутренняя структура), а иногда и ассоциируемая с ними программа, что может привести к проблемам с запуском.
- Программы, используемые для сжатия любых видов файлов и каталогов, причем в основном использование сжатых файлов возможно только после разархивации. Хотя имеются программы, которые «видят» некоторые типы архивов как самые обычные каталоги, но они имеют ряд неприятных нюансов, например, сильно нагружают центральный процессор, что исключает их использование на «слабых машинах».
Принцип работы архиваторов основан на поиске в файле «избыточной» информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того, чтобы хранить каждый байт, фиксируется количество повторяемых символов и их позиция. Например, архивируемый файл занимает 15 байт и состоит из следующих символов:
Алгоритм сжатия данных — код Хаффмана. Создание Архиватора. День 1 // «Алгоритмы и структуры данных»
ВВВВВLLLLLAAAAA
В шестнадцатеричной системе:
42 42 42 42 42 4С 4С 4С 4С 4С 41 41 41 41 41
Архиватор может представить этот файл в следующем виде (шестнадцатеричном):
01 05 42 06 05 4С 0А 05 41
Это значит: с первой позиции пять раз повторяется символ «В», с позиции 6 пять раз повторяется символ «L» и с позиции 11 пять раз повторяется символ «А». Для хранения файла в такой форме потребуется всего 9 байт, что на 6 байт меньше исходного.
Описанный метод является простым и очень эффективным способом сжатия файлов. Однако он не обеспечивает большой экономии объема, если обрабатываемый текст содержит небольшое количество последовательностей повторяющихся символов.
Более изощренный метод сжатия данных, используемый в том или ином виде практически любым архиватором, – это так называемый оптимальный префиксный код и, в частности, кодирование символами переменной длины (алгоритм Хаффмана).
Код переменной длины позволяет записывать наиболее часто встречающиеся символы и группы символов всего лишь несколькими битами, в то время как редкие символы и фразы будут записаны более длинными битовыми строками. Например, в любом английском тексте буква Е встречается чаще, чем Z, а X и Q относятся к наименее встречающимся. Таким образом, используя специальную таблицу соответствия, можно закодировать каждую букву Е меньшим числом битов и использовать более длинный код для более редких букв. Популярные архиваторы ARJ, РАК, PKZIP работают на основе алгоритма Лемпела-Зива.
Linux для начинающих / Урок #8 – Работа с памятью, сжатие файлов и редакторы текста
Эти архиваторы классифицируются как адаптивные словарные кодировщики, в которых текстовые строки заменяются указателями на идентичные им строки, встречающиеся ранее в тексте. Например, все слова какой-нибудь книги могут быть представлены в виде номеров страниц и номеров строк некоторого словаря. Важнейшей отличительной чертой этого алгоритма является использование грамматического разбора предшествующего текста с расположением его на фразы, которые записываются в словарь. Указатели позволяют сделать ссылки на любую фразу в окне установленного размера, предшествующего текущей фразе. Если соответствие найдено, текущая фраза заменяется указателем на своего предыдущего двойника.
При архивации, как и при компрессировании, степень сжатия файлов сильно зависит от формата файла. Графические файлы, типа TIF и GIF, уже заранее компрессированы (хотя существует разновидность формата TIFF и без компрессии), и здесь даже самый лучший архиватор мало чего найдет для упаковки. Совсем другая картина наблюдается при архивации текстовых файлов, файлов PostScript, файлов BMP и им подобных.
Источник: samoychiteli.ru
Тема 5. Сжатие данных. Архивация данных
В каких случаях, и для каких целей необходимо сжимать данные?
В зависимости от того, в каком объекте размещены данные, подлежащие сжатию различают:
— Сжатие (архивация) файлов: используется для уменьшения размеров файлов при подготовке их к передаче каналами связи или к транспортированию на внешних носителях маленькой емкости;
— Сжатие (архивация) папок: используется как средство уменьшения объема папок перед долгим хранением, например, при резервном копировании;
— Сжатие (уплотнение) дисков: используется для повышения эффективности использования дискового просторную путем сжатия данных при записи их на носителе информации (как правило, средствами операционной системы).
На чем основана возможность сжатия данных? В каких случаях сжатие данных невозможно?
Существует много практических алгоритмов сжатия данных, но все они базируются на трех теоретических способах уменьшения избыточности данных. Первый способ состоит в изменении содержимого данных, второй — в изменении структуры данных, а третий — в одновременном изменении как структуры, так и содержимого данных. Если невозможно применить ни один из перечисленных способов уменьшения избыточности данных, то сжатие становится невозможным.
В каких случаях можно использовать сжатие с потерями, в каких — без потерь? Чем различаются обратимые и необратимые методы сжатия данных?
Если при сжатии данных происходит изменение их содержимого, то метод сжатия называется необратимым, то есть при восстановлении (разархивировании) данных из архива не происходит полное восстановление информации. Такие методы часто называются методами сжатия с регулированными потерями информации. Понятно, что эти методы можно применять только для таких типов данных, для которых потеря части содержимого не приводит к существенному искажению информации. К таким типам данных относятся видео- и аудиоданные, а также графические данные. Методы сжатия с регулированными потерями информации обеспечивают значительно большую степень сжатия, но их нельзя применять к текстовым данным. Примерами форматов сжатия с потерями информации могут быть:
— JPEG — для графических данных;
— MPG — для для видеоданных;
— MP3 — для аудиоданных.
Если при сжатии данных происходит только изменение структуры данных, то метод сжатия называется обратимым. В этом случае, из архива можно восстановить информацию полностью. Обратимые методы сжатия можно применять к любым типам данных, но они дают меньшую степень сжатия по сравнению с необратимыми методами сжатия. Примеры форматов сжатия без потери информации:
— GIF, TIFF — для графических данных;
— AVI — для видеоданных;
— ZIP, ARJ, RAR, CAB, LH — для произвольных типов данных.
Какой класс программ используется для сжатия данных? На каких принципах эти программы работают? Есть ли универсальные программы сжатия данных, которые оптимальны для данных любого вида?
Для сжатия данных применяются программы-архиваторы. Существует много разных практических методов сжатия без потери информации, которые, как правило, имеют разную эффективность для разных типов данных и разных объемов. Однако, в основе этих методов лежат три теоретических алгоритма:
— алгоритм RLE (Run Length Encoding);
— алгоритмы группы KWE(KeyWord Encoding);
На практике программные средства сжатия данных синтезируют эти три «чистых» алгоритмы, поскольку их эффективность зависит от типа и объема данных.
В каких случаях эффективно использовать непрерывный архив? Ответ обоснуйте.
Непрерывный (solid) архив — это архив RAR, упакованный специальным способом, при котором все сжимаемые файлы рассматриваются как один последовательный поток данных. Непрерывная архивация поддерживается только в формате RAR, для формата ZIP такого типа упаковки не существует. Метод сжатия для архивов RAR — обычный или непрерывный — выбирается пользователем.
Непрерывная архивация значительно увеличивает степень сжатия, особенно при добавлении в архив существенного количества небольших файлов с похожим содержимым. Непрерывные архивы предпочтительнее использовать в тех случаях, когда:
— архив предполагается редко обновлять;
— вы планируете чаще распаковывать весь архив, нежели извлекать из него один или несколько файлов;
— нужно достичь более плотной степени сжатия, даже в ущерб скорости упаковки.
Файлы в непрерывных архивах обычно отсортированы по расширению, однако с помощью специального файла rarfiles.lst можно задать альтернативный порядок сортировки самостоятельно. Многотомные и самораспаковывающиеся архивы также могут быть непрерывными.
Какой принцип лежит в основе алгоритма RLE?
В основе алгоритма RLE лежит идея выявления повторяющихся последовательностей данных и замены их более простой структурой, в которой указывается код данных и коэффициент повторения. Чем меньше значение коэффициента сжатия, тем эффективней метод сжатия. Алгоритм RLE будет давать лучший эффект сжатия при большей длине повторяющейся последовательности данных, поэтому большая эффективность алгоритма RLE достигается при сжатии графических данных (в особенности для однотонных изображений).
Какой принцип лежит в основе алгоритма KWE?
Алгоритмы группы KWE.
В основе алгоритма сжатия по ключевым словам положен принцип кодирования лексических единиц группами байт фиксированной длины. Примером лексической единицы может быть обычное слово. На практике, на роль лексических единиц выбираются повторяющиеся последовательности символов, которые кодируются цепочкой символов (кодом) меньшей длины. Результат кодирования помещается в таблице, образовывая так называемый словарь. Алгоритмы сжатия этой группы наиболее эффективны для текстовых данных больших объемов и малоэффективны для файлов маленьких размеров (за счет необходимости сохранение словаря).
Какой принцип лежит в основе алгоритма Хафмана?
В основе алгоритма Хаффмана лежит идея кодирования битовыми группами. Сначала проводится частотный анализ входной последовательности данных, то есть устанавливается частота вхождения каждого символа, встречащегося в ней. После этого, символы сортируются по уменьшению частоты вхождения.
Основная идея состоит в следующем: чем чаще встречается символ, тем меньшим количеством бит он кодируется. Результат кодирования заносится в словарь, необходимый для декодирования. Алгоритм Хаффмана универсальный, его можно применять для сжатия данных любых типов, но он малоэффективен для файлов маленьких размеров (за счет необходимости сохранение словаря).
Перечислите, какие типы архивов можно создавать с помощью программы WinRAR? Укажите характерные отличия каждого из перечисленных типов архивов.
WinRAR может создавать архивы двух разных форматов: RAR и ZIP. Ниже описаны сравнительные особенности каждого из них.
Основное преимущество формата ZIP — его популярность. Так, большинство архивов в Интернете имеют формат ZIP. Если вы хотите кому-то отправить архив, но не уверены, что у адресата есть программа WinRAR для распаковки архива, то имеет смысл использовать формат ZIP. Впрочем, в этом случае вы можете отправить и самораспаковывающийся (SFX) архив. Такие архивы чуть больше обычных, но для их распаковки не требуется никаких дополнительных программ.
Другое преимущество ZIP — скорость. Архивы ZIP обычно создаются быстрее архивов RAR, однако на современных компьютерах эта разница в скорости часто не имеет решающего значения.
Формат RAR в большинстве случаев обеспечивает существенно лучшее сжатие, чем ZIP, особенно в режиме создания непрерывных архивов. Другая важная возможность RAR — поддержка многотомных архивов. Они намного удобнее и проще в использовании, чем так называемые «разделённые по дискам» («span disks») архивы ZIP. WinRAR не поддерживает такие архивы ZIP — многотомные архивы можно создавать только в формате RAR.
Кроме того, у формата RAR есть ряд очень важных функций, отсутствующих у ZIP, например, добавление информации для восстановления, которая позволяет восстановить физически повреждённый файл, блокировка архивов для предотвращения случайной модификации особенно ценных данных и др.
Формат RAR позволяет обрабатывать файлы практически неограниченного размера (до 8 эксабайт, что равносильно 8 589 934 591 Гбайт), тогда как размер одного файла в архиве ZIP не может превышать 2 Гбайт. Обратите внимание, что старые файловые системы не поддерживают файлы размером более 4 Гбайт, поэтому при работе с такими файлами вы должны использовать файловую систему NTFS.
Самораспаковывающиеся архивы (SFX).
Самораспаковывающийся (SFX, от англ. SelF-eXtracting) архив — это архив, к которому присоединён исполняемый модуль. Этот модуль позволяет извлекать файлы простым запуском архива как обычной программы. Таким образом, для извлечения содержимого SFX-архива не требуется дополнительных внешних программ. Вместе с тем, WinRAR может работать с SFX-архивом точно так же, как и с любым другим, поэтому если вы не хотите запускать SFX-архив (например, когда не можете гарантировать, что в нём нет вирусов), то для просмотра или извлечения его содержимого можно использовать WinRAR.
SFX-архивы, как и любые другие исполняемые файлы, обычно имеют расширение.EXE.
SFX-архивы удобны в тех случаях, когда нужно передать кому-то архив, но вы не уверены, что у адресата есть соответствующий архиватор для его распаковки. Также можно использовать SFX-архивы для распространения своих собственных программ. Например, дистрибутив WinRAR базируется на GUI SFX-модуле RAR Default.sfx. Тома (архивы из нескольких частей).
Тома — это фрагменты архива, состоящего из нескольких частей. Тома поддерживаются только в формате RAR, но не в ZIP. Обычно тома используются для сохранения большого архива на нескольких дискетах или других сменных носителях. По умолчанию тома RAR получают имена вида ‘имя_тома.partNNN.rar’, где NNN — номер тома.
Если по каким-либо причинам эта схема именования томов вас не устраивает, то с помощью ключа -vn можно включить старую схему, основанную на расширениях файлов, при которой первый том многотомного архива получает расширение.rar, а расширения последующих томов нумеруются как.r00,.r01,.r02 и т.д. до.r99. Тома также могут быть непрерывными и самораспаковывающимися.
Первый самораспаковывающийся том имеет другое (т.е. не.rar) расширение, например, для SFX-томов для Windows это будет.exe. Уже созданные многотомные архивы не допускают изменения, т.е. в них нельзя добавлять, обновлять или удалять файлы. Вы можете создать только новый набор томов. Для распаковки томов необходимо начинать извлечение с первого тома. Если тома находятся на несменном носителе (например, на жёстком диске), то сначала нужно переписать все тома в одну папку.
Источник: mydocx.ru
Презентация на тему: Сжатие данных
№ слайда 1
Описание слайда:
Сжатие данных Методы сжатия Архиваторы
№ слайда 2
Описание слайда:
Сжатие данных Для длительного хранения данных на различных носителях информации Для передачи данных по каналам связи
№ слайда 3
Описание слайда:
Избыточность данных Большинство данных являются избыточными Избыточность улучшает восприятие и обработку информации При хранении избыточность уменьшают Наибольшая избыточность у видеоинформации, затем идет графическая, звуковая, и самая низкая избыточность у текстовой информации
№ слайда 4
Описание слайда:
Методы сжатия С частичной потерей информации: Производится при сжатии кода изображения, видео и звука Такая возможность связана с субъективными возможностями человеческого зрения и слуха. Без потери информации: — использование неравномерного символьного кода; — выявления повторяющихся фрагментов кода.
№ слайда 5
Описание слайда:
С частичной потерей На зрение более существенное воздействие оказывает яркость пикселя, нежели его цвет. Поэтому объем видеокода можно сократить за счет того, что коды цвета хранить не для каждого пикселя, а через один, два и т.д. пикселей растра. Чем больше такие пропуски, тем больше сжимаются видеоданные, но при этом ухудшается качество изображения.
При кодировании видеофильмов динамичного изображения, учитывается свойство инерционности зрения. Быстро меняющиеся фрагменты фильма можно кодировать менее подробно, чем статические кадры. Труднее всего сжатию поддается звуковой код. Здесь также используются психофизиологические особенности человеческого слуха.
Учитывается, к каким гармоникам естественного звука наш слух более восприимчив, а к каким менее. Слабо воспринимаемые гармоники отфильтровываются путем математической обработки. Сжатию способствует также учет нелинейной зависимости между амплитудой звуковых колебаний и восприятием нашим ухом громкости звучания.
№ слайда 6
Описание слайда:
С частичной потерей Применяется для таких типов данных, для которых формальная утрата части содержания не приводит к потере потребительских свойств и обеспечивает высокую степень сжатия. MPGMP3JPG Примеры: видео MPG, звук MP3, рисунки JPG.
№ слайда 7
Описание слайда:
Без потери – «обратимый» Применяется к текстам, базам данных, и ко всем остальным вышеназванным типам. GIFTIF, PCXAVI ZIPARJRAR Пример: рисунки – GIF, TIF, PCX, видео — AVI, любой тип данных – ZIP, ARJ, RAR и др.
№ слайда 8
Описание слайда:
Архивы Архив – файл, содержащий в себе один или несколько файлов в сжатом виде. Расширение архивного файла зависит от программы-архиватора. Архиватор – программы для создания и чтения архивов. Пример: WinRar, WinZip, WinArj.
№ слайда 9
Описание слайда:
Архивы применяют с целью:повысить эффективность носителя – на один носитель поместить больший объем информациисоздания резервных копий ценных данных, которые в сжатом виде будут храниться на отдельных носителях.защиты данных от несанкционированного доступа паролем — документы даже не откроютсяувеличения скорости копирования данных с диска на диск, например, электронных страниц, содержащие много мелких графических файловбыстрого восстановления данных, измененных пользователемпередачи информации по каналам связираздробления данных на пакеты
№ слайда 10
Описание слайда:
Возможности архиваторов (диспетчеров архивов) Сжатие данных Просмотр содержимого архива Контроль целостности данных Распаковка архива Восстановление поврежденного архива Установка защиты Добавление файла в архив Создание многотомных архивов Создание самораспаковывающихся архивов Блокировка от случайной модификации
№ слайда 11
Описание слайда:
Самораспаковывающийся (SFX, от англ. SelF-eXtracting) — это архив, к которому присоединен исполнимый модуль. Этот модуль позволяет извлекать файлы простым запуском архива как обычной программы. Таким образом, для извлечения содержимого SFX-архива не требуется дополнительных внешних программ. SFX- архивы удобны в тех случаях, когда вам нужно передать кому-то архив, но при этом вы не уверены, что у адресата есть соответствующий архиватор для его распаковки.
№ слайда 12
Описание слайда:
Многотомный архив. Тома это фрагменты архива, состоящего из нескольких частей. Обычно тома используются для сохранения большого архива на нескольких дискетах или других сменных носителях.
№ слайда 13
Описание слайда:
№ слайда 14
Описание слайда:
№ слайда 15
Описание слайда:
Окно анализа данных
№ слайда 16
Описание слайда:
Окно выбора параметров создаваемого архива
№ слайда 17
Описание слайда:
Окно создания архива
№ слайда 18
Источник: ppt4web.ru