Прогрессивное качество JPEG по сравнению с обычным JPEG?

10

Я пытаюсь преобразовать некоторые файлы BMP в формат JPEG с высоким качеством (Q = 100), пока не пойму, что здесь есть опция «Прогрессивный».

Один из моих файлов BMP составляет 2,9 МБ. После преобразования в формат JPEG без прогрессивной развертки новый размер файла составляет 338,2 КБ, а при прогрессивной - новый размер файла уменьшается только до 283,2 КБ.

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

Teiv
источник
Я сомневаюсь, что проблема заключается в эффективности качества, но позвольте мне добавить к проблеме загрузки веб-страниц: хотя прогрессивная функция подходит для крошечных изображений, которые являются частью дизайна, таких как различные скины, рамки и фоны, это неправильно для полезных изображений, таких как как большие фото. Существует способ оптимизировать взаимодействие с пользователем при стандартной загрузке сверху вниз, используя тот факт, что миниатюры уже находятся в кэше браузера: дизайн веб-сайта растягивает кэшированный эскиз за загружаемым изображением. Это намного быстрее и приятнее, чем зазубренный результат прогрессивного JPEG.
Зденек

Ответы:

9

Есть несколько хороших посты здесь , которые , кажется , чтобы описать , почему сжатие Progressive может быть лучше , и это , кажется, сводится к тому , что в Progressive JPEG сжатых данных заказанные более эффективны , и что данные блочных изображений и шум разлучения и сжатые отдельно ,

Я выделил важные части ниже, они описывают это лучше, чем я когда-либо мог.

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

Progressive JPEG имеет две разные функции кодирования:

  1. Спектральный отбор
  2. Последовательное приближение

То, что вы описываете, это только первая функция (сначала DC, затем AC диапазоны). Однако это вторая особенность, которая является основной причиной различной эффективности кодирования в Progressive JPEG. При последовательном приближении сначала сохраняются старшие биты коэффициентов (низкая точность, грубое изображение), а затем младшие биты (высокая точность, детальное изображение). На обычных изображениях шум концентрируется в младших битах. Следовательно, кодер Хаффмана может быть более эффективным при кодировании символов в более высоком битовом диапазоне, где меньше шума. Таким образом, кодирование с последовательным приближением отделяет шум от изображения, и это является причиной лучшей эффективности кодирования (шум трудно сжимаемый).

Чем больше шума (детализации) изображения, тем выше эффективность кодирования в Progressive JPEG. Чем меньше шума (размытия) изображения, тем выше эффективность кодирования последовательного (не прогрессивного) JPEG.

Обратите внимание, что большинство кодеров прогрессивного JPEG используют сочетание кодирования спектрального выбора и кодирования с последовательным приближением. Для повышения эффективности кодирования важна, в основном, Успешная аппроксимация, и вы можете попытаться найти оптимальные параметры последовательной аппроксимации (точку, где необходимо разделить точность - Ah / Al в стандарте JPEG) для вашего класса изображений. Например, я иногда находил оптимальную точку Al = 4 для моих изображений (4 младших бита отдельно кодируются).

Мокубай
источник
2

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

Изображение должно быть точно таким же, для его отображения требуется больше обработки.

Источник

SOMN
источник