История изменений
Исправление
qrck,
(текущая версия)
:
png использует predictive encoding. Хорошо для графики вроде скриншотов, где по соседним пикселям очень часто можно предугадать с 99%-ой вероятностью значение следующего пикселя - этим и занимается predictive encoding - вычисляет «что-бы угодал декодер», и записывает разницу между этим значением и реальным цветом пикселя. В результате из довольно равномерной частотной гистограммы все смещается в большой пик в нуле и около него, а числа выше 15-16 - встречаются считанные разы. Хаффман такое любит и жмет «predictive encoded» картинку в разы. На скриншотах jpeg обычно сливает по качеству при том-же размере картинки.
Очевидно что такой подход в корне не подойдет для фотографий, там рулит DCT, который и используется в jpeg.
Исходная версия
qrck,
:
png использует predictive encoding. Хорошо для графики вроде скриншотов, где по соседним пикселям очень часто можно предугадать с 99%-ой вероятностью значение следующего пикселя - этим и занимается predictive encoding - вычисляет «что-бы угодал декодер», и записывает разницу между этим значением и реальным цветом пикселя. В результате из довольно равномерной частотной гистограммы все смещается в большой пик в нуле и около него, а числа выше 15-16 - встречаются считанные разы. Хаффман такое любит и жмет «predictive encoded» картинку в разы. На скриншотах обычно jpeg сливает заметно по качеству при том-же размере картинки.
Очевидно что такой подход в корне не подойдет для фотографий, там рулит DCT, который и используется в jpeg.