Если размерность и таблицы квантования не меняются, то уже на первых итерациях перекодирования изображение перестает изменяться. Причем чем хуже выбранное качество, чтем быстрее происходит «стабилизация». Значения пикселей как бы «прилипают» к узлам сетки квантования и при неизменной сетке не так просто заставить значение «прыгнуть» на другой узел. Это легко проверить на практике на любой картинке.
При изменении DQT меняется и сетка, поэтому, конечно, качество будет ухудшаться.
Да, но это не противоречит моему ответу, так как вопрос был: «есть ли в JPEG-файле запись с каким качеством было сделано сжатие или это вычисляется». DQT это и есть такая запись. А вот утверждение «потери накапливаются с каждым очередным пережатием и со временем качество джипега становится всё хуже» неверно при определенных условиях, про которые я и писал в статье.
Да, есть, это таблицы квантования. Если упрощенно, то если исходный коэффициент был 13, а шаг квантования 5, то в файле сохранится шаг и число 3 (потому что [13/5] = 3). Декодер умножит 3 на 5 и получит 15 (а не 13).
Добавил видео под КДПВ. Кот, потому что не хотел еще больше триггеров. Да и это не так уж важно. Если пересохранять с тем же качеством, что и у картинок Путина, то визуально не будет заметно разницы от исходной. А в группе VK есть почему-то.
Как вариант, была бы интересна возможность вести на Хабре личный блог. Например, при публикации поста отмечать, должен ли пост попасть в общую ленту или же быть виден только подписчикам.
При изменении DQT меняется и сетка, поэтому, конечно, качество будет ухудшаться.
Scrap Mechanic
Я думал, что только Чак Норрис сортирует за O(1)