Алгоритмы сжатия

Алгоритмы сжатия

PNG использует алгоритм deflate-сжатия обычно со скользящим окном в 32 Кб. Deflate является улучшенной версией алгоритма сжатия Lempel-Ziv (LZ77), который применяется в zip- и gzip-файлах. Созданный Phil Katz для второй версии PKZip, deflate совмещает LZ77 с кодированием Huffman и является на 10-30% более эффективным, чем LZW, при сжатии без потери информации. Так же как и gzip, некоторые инструменты по PNG-сжатию предполагают опциональный параметр «степень сжатия», который варьируется от 1 до 9. По умолчанию выставляется 6. Практически всегда лучшим выбором для максимального сжатия является 9.

Неудивительно, что изображения, сохраненные как PNG, обычно на 10-30% меньше по размеру, чем GIF, хотя в некоторых редких случаях они могут быть несколько больше (чаще всего это проявляется для небольших изображений). Обычно изображения с большими однотонными областями сжимаются лучше, чем градиентные с большим количеством переходов между цветами.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Алгоритмы

Из книги автора

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


Исследование степени gzip-сжатия и загрузки процессора

Из книги автора

Исследование степени gzip-сжатия и загрузки процессора Рассмотрим далее, насколько сильно издержки на gzip зависят от степени сжатия, и как их прогнозировать с учетом всех остальных параметров. Новая серия тестов была направлена на установление зависимости между степенью


Есть ли жизнь после сжатия?

Из книги автора

Есть ли жизнь после сжатия? Хочется отметить, что при минимизации JavaScript-файлов нужно следить за тем, чтобы функционал не уменьшился вследствие этой самой минимизации. Для проверки JS-файлов на работоспособность и общую адекватность существует проект JSLint ( http://jslint.com/ ),


Функции сжатия Bzip2

Из книги автора

Функции сжатия Bzip2 Введение:Расширение используется для чтения, записи файлов (.bz2), с использованием метода сжатия bzip2.Требования:Расширение использует функции библиотеки bzip2 (автор: Julian Seward) и требует bzip2/libbzip2 версий = 1.0.x.Установка:Поддержка Bzip2 в PHP не включена по


Сервисы сжатия трафика

Из книги автора

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


STL: алгоритмы

Из книги автора

STL: алгоритмы Предпочитайте алгоритмы циклам. — Бьярн Страуструп (Bjarne Stroustrup), [Stroustrup00] §18.12 Алгоритмы представляют собой циклы — только они лучше циклов. Алгоритмы — это "шаблоны" циклов, с добавлением дополнительной семантики по сравнению с простыми for и do. Конечно, начав


5.2.8. Аргументы "за" и "против" сжатия файлов

Из книги автора

5.2.8. Аргументы "за" и "против" сжатия файлов Во многих современных Unix-проектах, таких как OpenOffice.org и AbiWord, в настоящее время в качестве формата файлов данных используется XML, сжатый с помощью программ zip(1) или grip(1). Сжатый XML комбинирует экономию пространства с некоторыми


5.2.8. Аргументы "за" и "против" сжатия файлов

Из книги автора

5.2.8. Аргументы "за" и "против" сжатия файлов Во многих современных Unix-проектах, таких как OpenOffice.org и AbiWord, в настоящее время в качестве формата файлов данных используется XML, сжатый с помощью программ zip(1) или gzip(1). Сжатый XML комбинирует экономию пространства с некоторыми


Алгоритмы

Из книги автора

Алгоритмы В начале главы 1 я упоминал о том, что львиная доля репутации STL связана с контейнерами, и это вполне объяснимо. Контейнеры обладают массой достоинств и упрощают повседневную работу бесчисленных программистов С++. Но и алгоритмы STL тоже по-своему замечательны и в


АЛГОРИТМЫ

Из книги автора

АЛГОРИТМЫ Все алгоритмы отделены от деталей реализации структур данных и используют в качестве параметров типы итераторов. Поэтому они могут работать с определяемыми пользователем структурами данных, когда эти структуры данных имеют типы итераторов, удовлетворяющие


Типы сжатия

Из книги автора

Типы сжатия Существует два основных типа сжатия данных: с потерями (lossy) и без потерь (lossless). Сжатие без потерь проще для понимания. Это метод сжатия данных, когда при восстановлении данных возвращается точная копия исходных данных. Такой тип сжатия используется программой


Описание сжатия LZ77

Из книги автора

Описание сжатия LZ77 В основе алгоритма, разработанного Зивом и Лемпелем, лежит сжатие с использованием строк словаря. Однако вместо того, чтобы использовать статический, заранее сгенерированный словарь, предложенный ими алгоритм генерирует словарь "на лету", на основе


6.6.3. Обобщенные алгоритмы

Из книги автора

6.6.3. Обобщенные алгоритмы Операции, описанные в предыдущих разделах, составляют набор, поддерживаемый непосредственно контейнерами vector и deque. Согласитесь, что это весьма небогатый интерфейс и ему явно не хватает базовых операций find(), sort(), merge() и т.д. Планировалось


12.5.5. Численные алгоритмы

Из книги автора

12.5.5. Численные алгоритмы Следующие четыре алгоритма реализуют численные операции с контейнером. Для их использования необходимо включить заголовочный файл numeric.accumulate(), partial_sum(), inner_product(),


О процедуре сжатия данных в PGP

Из книги автора

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