Сжатие изображений в форматах WebP и PNG работает по-разному:
- WebP. 13 Сжатие с потерями основано на блочном предсказании. 1 Изображение разделяется на макроблоки размером 16x16 пикселей, каждый из которых может быть дополнительно разбит на подблоки 4x4. 1 Для каждого блока выбирается один из 14 режимов предсказания. 1 Дискретное косинусное преобразование (DCT) применяется к разнице между предсказанными и фактическими значениями пикселей. 1 Результаты DCT квантуются для уменьшения объёма данных, причём степень квантования определяет уровень сжатия и качества изображения. 1
Сжатие без потерь в WebP использует метод ARGB-предсказания. 1 Каждый пиксель предсказывается на основе значений соседних пикселей, после чего вычисляется разница между предсказанным и фактическим значением. 1 Полученные разностные значения кодируются с помощью энтропийного кодирования. 1
Сжатие PNG происходит в два этапа: 4
- Предварительное сжатие переупорядочивает данные изображения таким образом, чтобы они были более сжимаемыми с помощью алгоритма сжатия общего назначения. 4
- Фактическое сжатие выполняется с помощью DEFLATE, которая выполняет поиск и устраняет повторяющиеся последовательности байтов, заменяя их короткими токенами. 4 В результате сжатие PNG происходит полностью без потерь — то есть исходные данные изображения могут быть восстановлены точно, бит за битом. 4