Коэффициент сжатия JPEG

Значения DCT изображения JPEG сосредоточены вокруг кратных шагу (шаг зависит от фактора качества сжатия).

Если циклический сдвиг вправо-вниз выполняется для изображения JPEG, circshift(lenaJPG,[1,1]);), значения DCT больше не центрируются вокруг шагов. Почему так происходит?

Я предполагаю, что проблема в том, что я не понимаю, как JPEG выполняет сжатие на основе QF.

Я предполагаю, что причина того, что значения DCT больше не являются «дискретными» в том смысле, что все они не кратны 16 (для QF = 50), заключается в том, что сжатие JPEG округляет значения DCT до ближайшего кратного 16 ; но когда DCT выполняется для сдвинутого изображения, косинусоидальные волны, которые формируют каждый из блоков 8x8, отличаются от блоков, для которых изображение было сжато.

Это то, что происходит? Не теряется ли компрессия при применении сдвига? Я совершенно не прав?


person Wryfyng    schedule 14.12.2018    source источник


Ответы (1)


Я совершенно не прав?

да.

В JPEG нет такого понятия, как коэффициент качества. Некоторые кодировщики имеют настройку качества, которая выбирает таблицы квантования.

После DCT значения округляются до ближайшего целого числа, а не до кратного 16. Значения DCT затем делятся на соответствующее значение в таблице квантования.

person user3344003    schedule 16.12.2018
comment
Спасибо, поэтому, когда я говорю Matlab сжимать изображение в JPEG с помощью QF x, я на самом деле решаю, какую таблицу квантования использовать? - person Wryfyng; 16.12.2018