Зачем вообще нужна оптимизация размера Файла?




Скачать 94.27 Kb.
НазваниеЗачем вообще нужна оптимизация размера Файла?
Дата публикации16.09.2014
Размер94.27 Kb.
ТипВопрос
shkolnie.ru > Информатика > Вопрос
АОУ ЛИЦЕЙ №19

К олимпиаде "базовый курс".

В данной работе мы бы хотели рассказать об оптимизации размера файлов.

1)Зачем вообще нужна оптимизация размера Файла?

Понятно зачем она нужна была 10 лет назад, а сейчас? На данный момент жесткие диски обьемом в несколько террабайт уже не редкость, а 500 gb доступны уже давно. Но часто забывают, что на жестком диске хранится не один и не два, а тысячи, сотни тысяч, миллионы файлов. И если оптимизация в рамках одной двух сотни файлов не дают огромной экономии, в таких обьёмах как миллион файлов оптимизация оказывает большой эффект.

2)^ Какими путями можно оптимизировать размер файлов(подход снаружи).

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

^ Степень сжатия в основном зависит от исходных данных. Хорошо сжимаются почти все предварительно несжатые данные, например, исполняемые файлы (EXE), тексты (TXT, DOC), базы данных (DBF), простые несжатые изображения (BMP). Ограниченно сжимаются несжатый звук (WAV), сложные несжатые изображения (BMP). Не сжимаются почти все уже сжатые данные, например, архивы (ZIP, CAB), сжатые документы (PDF), сжатая графика и видео (JPG, GIF, AVI, MPG), сжатый звук (MP3). Их сжатие находится в пределах пары процентов за счет служебных блоков и небольшой избыточности.

Для сжатия некоторых специфических данных (текст, несжатые изображения, несжатый звук) существуют специальные методы и архиваторы. Такие архиваторы обеспечивают высокую степень сжатия и высокую скорость. Однако так называемые универсальные архиваторы постепенно дополняются подобными методами. В данный момент только для несжатого звука существуют высокоэффективные специальные архиваторы, такие, как OptimFROG, Monkey Audio. Для текстов и изображений лучшие универсальные архиваторы показывают лучшую степень сжатия. Например, архив изображений получится меньше, если использовать формат BMP и архиватор WinRK вместо специализированных графических форматов, таких как JPEG2000 (LossLess - сжатие без потерь).

Большое количество типов данных уже являются сжатыми. Использование архиваторов дает мизерное уменьшение размера. Тем не менее даже в таких случаях эффективное сжатие теоретически возможно. Это обусловлено тем, что в большинстве распространенных форматов файлов, использующих сжатие, применены не самые эффективные методы. Например, в основе формата JPG лежит энтропийное сжатие, которое используется после преобразований Фурье. Данные кодируются неоптимальными блоками, что обусловлено желанием сделать формат JPG устойчивым к повреждениям и возможности частичного извлечения информации. Перекодировав файлы JPG при помощи высокоэффективных методов, можно добиться сжатия порядка 75% от исходного файла (архиватор StuffIt). Собственно сам исходный файл JPG сжимается обычными архиваторами только до 96%. Однако подобные манипуляции с файлами JPG стали возможны только недавно и еще не получили распространения. В большинстве случаев сжимать уже сжатые данные бесполезно.

^ Рассмотрим методы которыми происходит сжатие(естественно только самые основные):

Кодирование длин серий (RLE - сокращение от run-length encoding - кодирование длин серий)

Очень простой метод. Последовательная серия одинаковых элементов данных заменяется на два символа: элемент и число его повторений. Широко используется как дополнительный, так и промежуточный метод. В качестве самостоятельного метода применяется, например, в графическом формате BMP.

Словарный метод (LZ - сокращение от Lempel Ziv - имена авторов)

Наиболее распространенный метод. Используется словарь, состоящий из последовательностей данных или слов. При сжатии эти слова заменяются на их коды из словаря. В наиболее распространенном варианте реализации в качестве словаря выступает сам исходный блок данных.

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

Энтропийный метод (Huffman - кодирование Хаффмена, Arithmetic coding - арифметическое кодирование)

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

Широко используется как дополнительный метод. В качестве самостоятельного метода применяется, например, в графическом формате JPG.

Метод контекстного моделирования (CM - сокращение от context modeling - контекстное моделирование)

В этом методе строится модель исходных данных. При сжатии очередного элемента данных эта модель выдает свое предсказание или вероятность. Согласно этой вероятности, элемент данных кодируется энтропийным методом. Чем точнее модель будет соответствовать исходным данным, тем точнее она будет выдавать предсказания, и тем короче будут кодироваться элементы данных.

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

PPM (PPM - Prediction by Partial Matching - предсказание по частичному совпадению)

Это особый подвид контекстного моделирования. Предсказание выполняется на основании определенного количества предыдущих элементов данных. Основным параметром является порядок модели, который задает это количество элементов. Чем больше порядок модели, тем выше степень сжатия, но требуется больше оперативной памяти для хранения данных модели. Если оперативной памяти недостаточно, то такая модель с большим порядком показывает низкие результаты. Метод PPM особенно эффективен для сжатия текстовых данных.

Предварительные преобразования или фильтрация

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

Метод сортировки блока данных (BWT - сокращение от Burrows Wheeler Transform - по имени авторов)

Это особый вид или группа преобразований, в основе которых лежит сортировка. Такому преобразованию можно подвергать почти любые данные. Сортировка производится над блоками, поэтому данные предварительно разбиваются на части. Основным параметром является размер блока, который подвергается сортировке. Для распаковки данных необходимо проделать почти те же действия, что и при упаковке. Поэтому скорость и требования к оперативной памяти почти одинаковы. Архиваторы, которые используют данный метод, обычно показывают высокую скорость и степень сжатия для текстовых данных.

Непрерывные блоки или непрерывный режим (Solid mode - непрерывный режим)

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

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

Сегментирование

Во всех методах сжатия при изменении типа данных собственно сам переход кодируется очень плохо. Словарь становится не актуальным, модель настроена на другие данные. В этих случаях применяется сегментирование. Это предварительная разбивка на однородные части. Затем эти части кодируются по отдельности или группами.

^ Какие же архиваторы сжимают сильнее и надежнее(и быстрее):

Я думаю не помешают несколько наглядных диаграмм:





Итоги Тестов и анализа:

Несмотря на низкую степень сжатия ZIP является самым распространённым архиватором и форматом архивов. Он обладает очень высокой скоростью упаковки и распаковки. Неплохо подходит для оперативного архивирования, но только в режиме ZIP fast.

Архиваторы ACE, RAR и Squeez показали близкие результаты с небольшим преимуществом по степени сжатия у RAR, и при высокой скорости сжатия у Squeez. Они не являются лидерами, а по максимальной степени сжатия существенно отстают от передовых архиваторов. Разница находится в пределах от 25% до 105% (!), в среднем 55%. С другой стороны, они обладают богатой функциональностью. В режиме максимального сжатия обладают сравнительно высокой скоростью. В некоторых случаях эти архиваторы являются неплохим выбором.

Как универсальные архиваторы с хорошей степенью сжатия (на 30% хуже лучших архиваторов) можно рекомендовать 7zip и UHARC. Важным преимуществом этих архиваторов является бесплатность. UHARC почти всегда создаёт архивы с лучшей степенью сжатия, но он немного менее функционален, имеет статус бета версии, и, в отличие от 7zip, является симметричным. В максимальном режиме для UHARC требуется всего 54 MB оперативной памяти, что позволяет использовать этот архиватор на компьютерах с ограниченным объёмом оперативной памяти. При высокой скорости сжатия UHARC просто лидер.

7zip является самым лучшим по степени сжатия асимметричным архиватором. Созданные при его помощи архивы можно использовать почти на любых компьютерах. Конечно в пределах разумного, так как размер словаря можно установить и в 256 MB. Скорость сжатия в максимальном режиме можно легко увеличить в 2-3 раза путём уменьшения значения параметра Word size. Степень сжатия ухудшиться менее чем на пару процентов. Для сжатия текста в программе-архиваторе 7-zip имеется отдельный специальный метод PPMd. Кстати, этот метод идентичен текстовому методу сжатия RAR. В ближайшее время ожидается добавление специального метода для сжатия мультимедиа данных, на которых 7zip показал плохие результаты.

Среди архиваторов с высокой степенью сжатия можно отметить WinUDA и Slim. Архиватор WinUDA несмотря на низкую скорость и сравнительно низкую функциональность произвёл приятное впечатление. Все самые необходимые функции имеются, в том числе возможно создание самораспаковывающихся (SFX) архивов. Причём сам модуль распаковщика занимает всего 18 KB. Имеется метод сжатия Mode-0, для которого требуется всего 24 MB оперативной памяти. Скорость при этом возрастает до 127 KB/s, а степень сжатия ухудшается незначительно.

Slim обладает немного более высокой степень сжатия (с учётом особенностей тестирования) и скоростью, но не имеет таких важных функций, как создание самораспаковывающихся (SFX) архивов, графической (GUI) версии и непрерывного режима сжатия. Кроме того, он менее стабилен.

Что же касается перспектив развития архиваторов, то уже давно повышение степени сжатия в основном достигается за счет более ресурсоёмких методов. Один из лучших архиваторов PAQAR в типичном режиме имеет скорость 5 КБ/с. Другим направлением является развитие специальных методов, предназначенных только для определённых форматов файлов. Именно в этом направлении можно ожидать некоторых существенных сдвигов.

Но достаточно про архиваторы...

2)Какими путями можно оптимизировать размер файлов(подход изнутри).

Понятно, что архивация самый простой способ сжатия файлов, но есть ли еще какие - либо способы? Да, есть. Например обьём изображения на диске можно уменьшить с помощью специальных программ и/или комманд в этих программах. Также существуют программы для оптимизации размера pdf, epub, fb2, wav, ogg и других.

3)Вывод:

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

Спасибо за внимание!

Команда АОУ Лицея №19.

Похожие:

Зачем вообще нужна оптимизация размера Файла? iconПонятие файла и файловой системы организации данных (папка, иерархическая...
Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов
Зачем вообще нужна оптимизация размера Файла? iconВремя виртуализации
Виртуализация операционных систем – возможность одновременной работы нескольких ос на одном компьютере. Сразу же чтоб заинтересовать...
Зачем вообще нужна оптимизация размера Файла? iconЯ против религий, но я за религию
Бхагаван, если не будет Бога, не будет дьявола, то какой вообще смысл в религии? Нужна ли религия санньясинам?
Зачем вообще нужна оптимизация размера Файла? iconШаг Содержание Шаг Содержание 1 Первый макрос 38 Зачем нужна рабочая область

Зачем вообще нужна оптимизация размера Файла? iconМарки
Нужна нормализация базы данных кинотеатра в вордовском документе, выполненная по тем же пунктам, что и образец, а также комментарии,...
Зачем вообще нужна оптимизация размера Файла? iconТезисы выступления по теме «Преподаватель и ученик. Гармония отношений»
Гармония. Что это такое? Как иначе определить характер отношений между учителем и учеником? Зачем она нужна?
Зачем вообще нужна оптимизация размера Файла? iconДмитрий емец мефодий буслаев. Свиток желаний
О, друг, зачем заботиться о тайнах существования? Зачем мучить тело и душу трудными размышлениями? Живи счастливо, проводи время...
Зачем вообще нужна оптимизация размера Файла? iconЗачем нужна Программа fresh для школьного здравоохранения?
Именно эти дети чаще всего являются наименее здоровыми и не получают полноценного питания, и именно они выиграют больше всего от...
Зачем вообще нужна оптимизация размера Файла? iconОптимизация памяти в Windows xp
Предоставляет больше возможностей по оптимизации памяти, нежели Windows 2000. Вместе с тем, она и требует больше свободных ресурсов....
Зачем вообще нужна оптимизация размера Файла? iconДмитрий Спирин. «Тупой панк-рок для интеллектуалов: Четыре Таракана и Тараканы!»
Перед тем как позволить вам приступить к чтению собственно книги, я хотел бы ответить всем, но в большей степени самому себе, на...
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
shkolnie.ru
Главная страница