Сжатие информации в ПК
Государственный комитет России по высшему образованию
Рязанская Государственная Радиотехническая Академия
Кафедра ЭВМ
Контрольная работа
тема: Сжатие информации в ПК
Рязань, 2006 г.
1. Основные понятия и методы сжатия данных
Во многих стадиях информация, содержащаяся в файлах, избыточна. Для устранения избыточности используются специальные методы сжатия данных, основанные на поиске в файле избыточной информации и последующем ее кодировании с целью получения минимального объема.
Сжатие информации – это процесс преобразования информации, хранящейся в файле, к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения; процесс сокращения количества битов, необходимых для хранения и передачи некоторого объема информации. [3],[стр. 418]
Существует сжатие без потерь, когда информация, восстановленная из сжатого сообщения, в точности соответствует исходной (применяется при обработке текстов, записанных на естественном или искусственном языках), и сжатие с потерями (необратимое), когда восстановленная информация только частично соответствует исходной (применяется при обработке изображений и звука, для цифровой записи аналоговых сигналов).
Основные способы сжатия: статистический и словарный.
При первом каждому символу присваивается код, основанный на вероятности его появления в тексте. Высоко вероятные символы получают короткие коды и наоборот. Одним из самых ранних и широко известных статистических методов является алгоритм Хаффмана, при котором символы заменяются кодом, состоящим из целого количества битов. Позднее он был вытеснен арифметическим кодированием, имеющим схожую с кодом Хаффмана функцию и основанным на идее кодирования символов дробным числом битов. Арифметическое сжатие может быть использовано в тех случаях, когда степень сжатия важнее, чем временные затраты на сжатие информации.
При словарном способе группы последовательных символов или "фраз" заменяются кодом. Замененная фраза может быть найдена в некотором словаре. В 1977 году Лемпель и Зив предложили свою модификацию словарного метода, отличающуюся от Хаффмановского и арифметического методов в которой сжатие основано на свойстве "потока символов" иметь повторяющиеся участки. Поток символов - это исходные данные для сжатия (например текстовый файл, массив). Основная идея алгоритма Лемпеля и Зива состоит в том, что второе и последующие вхождения некоторой строки символов в сообщении заменяются ссылкой на ее первое появление в сообщении.
В последнее время было показано, что любая практическая схема словарного сжатия может быть сведена к соответствующей статистической схеме сжатия, и найден общий алгоритм преобразования словарного метода в статистический. По этому при поиске лучшего сжатия статистическое кодирование обещает быть наиболее плодотворным, хотя словарные методы отличаются быстротой.
Одним из наиболее простых и наглядных является метод сжатия последовательностей одинаковых символов, не относящийся к названным основным методам.
Метод основан на представлении последовательности одинаковых символов в виде двух величин K и S, где K - количество повторяющихся символов, S - код этого символа. Основным недостатком данного метода является то, что он обеспечивает сжатие лишь в случае, когда в исходном файле основную часть составляют повторяющиеся символы. В противном случае сжатый файл может занимать больше места, чем исходный неуплотненный файл. Наиболее эффективно метод сжатия последовательностей одинаковых символов работает в случае двоичных файлов.
Синтетические алгоритмы.
Рассмотренные выше алгоритмы в «чистом виде» на практике не применяются из-за того, что эффективность каждого из них сильно зависит от начальных условий. В связи с этим, современные средства архивации, используют более сложные алгоритмы, основанные на комбинации нескольких теоретических методов. Общим принципом в работе таких «синтетических» алгоритмов является предварительный просмотр и анализ исходных данных для индивидуальной настройки алгоритма на особенности обрабатываемого материала. [2],[стр.368]
2. Программы-архиваторы
На основе методов сжатия данных созданы различные программы, называемые архиваторами или упаковщиками. Существует много программ-архиваторов, имеющих различные показатели по степени и времени сжатия. Среди самых известных и часто используемых программ выделяются следующие: ARJ, PKZIP, RAR, НА и т. д. для DOS и WinARJ, WinZip, WinRAR, Zip Magic для Windows. Обычно упаковщики осуществляют сжатие сразу несколькими способами.
Как правило, программы для архивации файлов позволяют помещать копии файлов на диске в сжатом виде в архивный файл, извлекать файлы из архива, просматривать оглавление архива и др. В настоящее время архиваторы, работающие под Windows, вытесняют конкурентов в основном за счет использования 32-х битной шины данных, более удобного и интеллектуального интерфейса, расширенных возможностей и более совершенных алгоритмов сжатия. А также эти программы поддерживают не один, как раньше, а сразу несколько различных форматов архивных файлов.
Программы-архиваторы позволяют создавать и такие архивы, для извлечения из которых содержащихся в них файлов не требуются какие-либо программы, так как сами архивные файлы
Могут содержать программу распаковки. Такие архивные файлы называются самораспаковывающимися.
Самораспаковывающийся архивный файл – это загрузочный, исполняемый модуль, который способен к самостоятельной разархивации находящихся в нем файлов без использования программы-архиватора. [3],[стр. 419]
К базовым функциям, которые выполняют большинство современных архиваторов, относятся:
- извлечение файлов из архивов;
- создание новых архивов;
- добавление файлов в имеющийся архив;
- создание самораспаковывающихся архивов;
- создание распределенных архивов на носителях малой емкости;
- тестирование целостности структуры архивов;
- полное или частичное восстановление поврежденных архивов;
- защита архивов от просмотра или несанкционированной модификации. [2],[стр.369]
3. Программа-архиватор WinRAR
Достоинства и основные возможности WinRAR
WinRAR - 32-битовая версия Windows архиватора RAR - мощное средство, которое позволяет создавать и управлять архивными файлами.
Достоинства WinRAR:
- интеллектуальный алгоритм сжатия (глубокий анализ данных, подлежащих сжатию, и др.);
- специальный алгоритм сжатия для мультимедиа-файлов;
- не архивное управление RAR;
- плотная архивация, которая может поднять коэффициент сжатия на 10 % -50 % по сравнению с общими методами, особенно при упаковке большого количества небольших аналогичных файлов (при этом файлы представляются как непрерывный поток данных).
Возможности WinRAR:
- создание архивов с различной степенью уплотнения;
- просмотр как архивных, так и обычных файлов;
- создание многотомных архивов;
- создание самораспаковывающихся архивов (в том числе и многотомных);
- восстановление физически поврежденных архивов.
- возможность работы в двух режимах: полноэкранного интерактивного интерфейса и интерфейса командной строки;
- поддержка других типов архивов, просмотра их содержимого, изменения и преобразования;
- защита архивов паролем. [3],[стр. 427-428]
Кроме того, WinRAR обладает рядом других возможностей, таких, например, как шифрование, архивные комментарии, регистрация ошибок и т.п.
Работа с программой-архиватором WinRAR
Запуск WinRAR
Для запуска программы WinRAR необходимо. выполнить одно из следующих действий:
- открыть меню Пуск;
- выбрать Программы / WinRAR.
Архивация файлов
Для создания архива необходимо сначала выбрать необходимые файлы и/или директории из списка файлов в основном окне WinRAR, что можно сделать, используя клавишу Пробел, Shift + клавиши позиционирования или щелкнув левой кнопкой мыши. Затем, выбрав один или более файлов, нажать Alt-A. После этого появится диалоговое окно, в верхнем поле Archive которого надо ввести имя и расположение архивного файла или просто принять предложенное имя. В поле Compression можно выбрать степень уплотнения, что будет влиять на скорость архивации и размер архивного файла. Следующая строка Dictionary size дает возможность изменить размер внутреннего словаря архиватора. Этот параметр также будет влиять на размер конечного файла. С помощью диалогового поля Volume size можно разбить архивный файл на тома разного размера. Диалоговый блок Archiving options также предоставляет возможность изменять некоторые опции архивации, такие как:
- Solid archive / Плотный архив - при этом все файлы в архиве будут представляться как непрерывный поток данных что позволит увеличить степень сжатия, но замедлит обращение к файлам внутри архива;
- SFX archive / Самораспаковывающийся архив - создается ЕХЕ модуль архива;
- Multimedia compression / Мультимедиа-уплотнение - в этом режиме RAR выполняет интеллектуальный анализ данных, направленный на улучшение архивации звука, видео и т. п.;
- Put recovery record / Добавление записи восстановления данных - облегчение
восстановления данных при их порче или потере;
- Pat authenticity verification / Добавлять проверку достоверности -WinRAR будет помещать в каждом новом и скорректированном архиве информацию относительно создателя, последнего времени коррекции и архивного имени;
- Delete files after archiving / Удалять файлы после их архивации - после перемещения в архив файлы будут удалены.
Можно также добавлять файлы к уже существующему архиву. Для этого надо выделить архив и нажать Enter (или дважды щелкнуть мышью), после чего Wm-RAR прочитает архив и отобразит его содержание. Далее можно просто перетаскивать мышью необходимые файлы из другого окна.
Просмотр файлов
Для просмотра файла его необходимо сначала выделить, а затем нажать на кнопку View.
Кнопка View осуществляет возможность просматривать как архивированные, так и нормальные файлы. Для просмотра могут использоваться как встроенные средства просмотра, так и другие программы. Если используется встроенный просмотр, то можно рассматривать несколько файлов одновременно. При использовании других средств просмотра одновременно можно смотреть только один файл. Команды встроенных средств просмотра показаны в Таблице 1.
Таблица 1. Команды встроенных средств просмотра файлов.
Меню/Пункт |
Вызов |
Функции |
File/Exit |
AH-F4 |
Выход из просмотра |
Edit/Copy |
Ctrl-C |
Копировать выделенный текст в буфер |
Edit/Select all |
Ctrl-A |
Выделить весь текст |
Edit/Find |
Ctrl-F |
Поиск подстроки в тексте |
Edit/Find next |
F3 |
Поиск следующего появления стоки |
View as Windows |
Ctrl-W |
Использовать шрифты Windows |
View as DOS text |
Ctrl-D |
Использовать DOS OEM шрифт |
Help/View help |
Fl |
Вызвать помощь |
Удаление файлов
Для удаления файлов из архива или директории необходимо сначала выделить необходимые файлы, затем нажать кнопку Delete. Однако, если из архива удаляются все файлы, то и пустой архив будет удален; удаление нельзя применять в отдельных томах архива.
Извлечение файлов
Для извлечения файлов из архива сначала нужно войти в архив, что можно сделать двойным щелчком мыши на его имени в окне WinRAR. В результате отображается содержание архива. Затем выбираются файлы/директории, которые должны быть извлечены, и необходимо щелкнуть мышью кнопку Extract на верху окна WinRAR или нажать Alt-W. Если надо извлечь файлы в другую папку, а не в текущую, необходимо щелкнуть мышью кнопку Extract to specified directory или нажать Alt-E , войти в папку, расположенную в диалоговом блоке, и щелкнуть Ok.
В течение процесса извлечения будет отображено окно статистики. При необходимости остановки процесса извлечения можно нажать кнопку Cancel. По завершении извлечения окно статистики исчезнет.
Другие возможности
Кроме рассмотренных выше кнопок работы с архивами, в верхнем меню оболочки WinRAR также находятся:
а) test archiving files /тестирование файлов архива - выполняет ложное файловое извлечение для проверки правильности извлечения файлов;
б) add archive comment/добавить к архиву комментарий. Максимальная длина комментария – 62000 байтов;
в) protect archive from damages/добавление записи восстановления данных. К архиву может быть добавлена дополнительная, излишняя информация восстановления. За счет небольшого увеличения в размере архивного файла она поможет восстановить архивные файлы в случае потери данных;
г) lock archive/запирание архива. Эта команда предохраняет дальнейшие архивные модификации WinRAR;
д) convert archive to SFX/преобразование архива в самораспаковывающийся. Эта команда создает self-extract архив (SFX), который самостоятельно извлекает содержащиеся в нем файлы (без использования архиватора);
е) show archive information/показ информации об архиве. Показывается информация об архиве и его содержимом.
Справка
Для получения справки о работе программы-архиватора WinRAR необходимо выполнить одно из действий:
- находясь в окне WinRAR, нажать клавишу F1;
- выбрать пункт меню Help/ Contents.
Сжатие файлов, используя метод сжатия последовательностей одинаковых символов:
а) Исходный файл: “ X=5.2*******Y=5.********C=0.********D=4.” Сжатый файл: “1X1=151.127*1Y1=151.8*1C1=101.8*1D1=141.” No = 40 байт; N = 40 байт; Ксж = No/N = 1.
б) Число: 513 (513 = 1000000001>2>) Исходный файл: Xo = 1000000001 Сжатый файл: X = 1181 No = 10 байт; N = 4 байт; Ксж = No/N = 2,5.
Регистрация:
Открыть окно Мой компьютер;
Открыть диск D;
Открыть папку INFORM;
-Открыть папку GR440.
Задание 1:
А) В папке GR343 создать две папки с именами DIR1 и DIR2:
-В подменю Файл выбрать команду Создать, а затем выбрать Папка;
-Ввести имя папки: «Dirl» и нажать клавишу Enter (появится папка с именем Dir1);
-В подменю Файл выбрать команду Создать, а затем выбрать Папка;
-Ввести имя папки: «Dir2» и нажать клавишу Enter (появится папка с именем Dir2).
Б) В папке DIR1 с помощью редактора Блокнот создать два текстовых файла: myfilel.txt и myfile2.txt объемом не менее 5 печатных строк:
-Перейти в папку Dir1, щелкнув по ней дважды левой клавишей мыши (откроется окно папки Dir1);
-В подменю Файл выбрать команду Создать , а затем выбрать тип создаваемого файла – текстовый документ;
-Ввести имя нового файла: «myfile1» и нажать клавишу Enter (в паке Dir1появится текстовый документ с именем myfile1.txt);
-Открыть файл myfile1.txt, щелкнув по нему дважды левой клавишей мыши (откроется окно текстового редактора);
-Ввести текст с клавиатуры;
-В подменю Файл выбрать команду Сохранить. (Набранный текст сохранен в файле myfile1.txt);
-В подменю Файл выбрать команду Создать, а затем выбрать тип создаваемого файла – текстовый документ;
-Ввести имя нового файла: «myfile2» и нажать клавишу Enter (в паке Dir1 появится текстовый документ с именем myfile2.txt);
-Открыть файл myfile2.txt, щелкнув по нему дважды левой клавишей мыши (откроется окно текстового редактора);
-Ввести текст с клавиатуры;
-В подменю Файл выбрать команду Сохранить. (Набранный текст сохранен в файле myfile2.txt).
В) В папке DIR2 создать файл myfile3.txt, также объемом не менее 5 печатных строк:
-Вернуться в папкуGR440, выбрав в подменю команду Закрыть (папка Dir1 закроется, и мы окажемся в паке GR440);
-Перейти в папку Dir2, щелкнув по ней дважды левой клавишей мыши (откроется окно папки Dir2);
-В подменю Файл выбрать команду Создать , а затем выбрать тип создаваемого файла – текстовый документ;
-Ввести имя нового файла: «myfile3» и нажать клавишу Enter (в паке Dir2 появится текстовый документ с именем myfile3.txt);
-Открыть файл myfile3.txt, щелкнув по нему дважды левой клавишей мыши (откроется окно текстового редактора);
-Ввести текст с клавиатуры;
-В подменю Файл выбрать команду Сохранить. (Набранный текст сохранен в файле myfile3.txt).
Задание 2: Запустить программу-архиватор WinRAR.
- Открыть главное меню "Пуск" на панели задач Windows;
- В разделе "Программы" открывшегося главного меню выбрать пункт " WinRAR ".
Задание 3: С помощью архиватора WinRAR создать архив- arhivl .гаг, содержащий в себе файлы myfile1.txt и myfile3.txt, используя наилучший (best) метод уплотнения.
-Вернуться в папкуGR440;
-Перейти в папку Dir1, щелкнув по ней дважды левой клавишей мыши (откроется окно папки Dir1);
-Щелчком левой клавиши мыши выбрать файл myfile1.txt (файл выделится цветом);
-Вывести диалоговое окно создания нового архива (Alt+A);
-В открывшемся диалоговом окне ввести в соответствующее поле имя будущего архива: “arhiv1.rar”;
-В диалоговом окне выбрать наилучшую (best) степень сжатия;
-Подтвердить действия, нажав Enter (архив с именем arhiv1.rar появится в паке Dir1);
-Открыть папку Dir2, щелкнув по ней дважды левой клавишей мыши (откроется окно папки Dir2);
-Перетащить файл myfile3.txt на окно, открытого в WinRar, архива arhiv1;
-В открывшемся диалоговом окне выбрать наилучшую (best) степень сжатья;
-Подтвердить добавление нового файла к архиву arhiv1.rar, нажав клавишу Enter (в архиве arhiv.rar появится новый файл myfile3.txt).
Задание 4: Добавить в существующий файл arhivl .гаг файл myfile2.txt.
-Открыть папку Dir1, щелкнув по ней дважды левой клавишей мыши (откроется окно папки Dir1);
-Перетащить файл myfile1.txt на окно, открытого в WinRar, архива arhiv1;
-В открывшемся диалоговом окне выбрать наилучшую (best) степень сжатья;
-Подтвердить добавление нового файла к архиву arhiv1.rar, нажав клавишу Enter (в архиве arhiv.rar появится новый файл myfile2.txt).
Задание5: Удалить из архива файл myfilel.txt.
-Щелчком левой клавиши мыши выделить в архиве файл myfile1.txt (файл выделится цветом);
-Нажать кнопку Delete;
-Подтвердить удаление, нажав клавишу Enter (файл myfile1.txt будет удален из архива arhiv1.rar).
Задание 6: Создать архив arhiv2.rar, содержащий в себе файлы myfile2.txt и myfile3.txt, используя нормальную степень сжатия (normal).
-Перейти в папку Dir1;
-Щелчком левой клавиши мыши выделить файл myfile2.txt (файл выделится цветом);
-Вывести диалоговое окно создания нового архива (Alt+A);
-Ввести в соответствующее поле имя будущего архива: “arhiv2.rar”;
-В диалоговом окне выбрать нормальную (normal) степень сжатия;
-Подтвердить действия, нажав Enter (архив с именем arhiv2.rar появится в паке Dir1);
-Открыть папку Dir2;
-Перетащить файл myfile3.txt на окно, открытого в WinRar, архива arhiv2.rar;
-В открывшемся диалоговом окне выбрать наилучшую (best) степень сжатья;
-Подтвердить добавление нового файла к архиву arhiv2.rar, нажав клавишу Enter (в архиве arhiv.rar появится новый файл myfile3.txt).
Задание 7: Преобразовать файл myfile2.txt архива arhivl.гаг в SFX архив.
-Открыть архив arhivl.гаг;
-Щелчком левой клавиши мыши выделить файл myfile2.txt (файл выделится цветом);
-Преобразовать архив в SFX (Alt+X);
-Подтвердить действия, нажав Enter.
Задание 8:Создать архив arhiv3.rar из файлов myfile1.txt и myfile2.txt.
-Выбрать файлы myfile1.txt , myfile2.txt (это можно сделать выделяя их поочередно с зажатой клавишей Ctrl);
-Вывести диалоговое окно создания нового архива (Alt+A);
-Ввести в соответствующее поле имя будущего архива: “arhiv3.rar”;
-Подтвердить действия, нажав Enter (архив с именем arhiv3.rar появится в паке Dir1);
Задание 9: Преобразовать аrhivЗ.гаг в самораспаковывающийся архив.
-Выбрать arhive3.rar (архив выделится цветом);
-Преобразовать архив в SFX (Alt+X);
-Подтвердить действия, нажав Enter.
Задание10: Из файла arhiv2.rar файл myfile2.txt распаковать в папку Dir2, а файл myfile3.txt удалить.
-Перейти в архив arhiv2.rar;
-Выбрать файл myfile2.txt (файл выделится цветом);
-Извлечь данные из архива (Alt+E);
-Выбрать папку Dir2, в которую будут извлечены файлы;
-Подтвердить действия, нажав Enter;
-Выбрать файл myfile3.txt (файл выделится цветом);
-Нажать кнопку Delete;
-Подтвердить удаление, нажав клавишу Enter (файл myfile3.txt будет удален из архива arhiv2.rar).
Список использованной литературы
сжатие архиватор winrar преобразование
Информатика, ч.I: Методические указания к лабораторным работам / Сост. Н. И. Иопа – Рязань: РГРТА 2002.
Информатика. Базовый курс / С. В. Симонович и др. СПб.: Питер 2001, стр.368-369.
Информатика: Учебник/ Под ред. проф. Макаровой. 3-е изд. М.: Финансы и статистика, 2001, стр. 418-419, 427-428.