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

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

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

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

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

решение1

Есть пара хороших постовздесьЭто, по-видимому, объясняет, почему прогрессивное сжатие может быть лучше, и, по-видимому, это сводится к тому факту, что в прогрессивном JPEG сжатые данные упорядочиваются более эффективно, а блочные данные изображения и шум разделяются и сжимаются отдельно.

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

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

Прогрессивный JPEG имеет две различные функции кодирования:

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

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

Чем больше шума (деталей) в изображении, тем выше эффективность кодирования Progressive JPEG. Чем меньше шума (размытости) в изображении, тем выше эффективность кодирования Sequential (Non-progressive) JPEG.

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

решение2

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

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

Источник

Связанный контент