Про BMP и JPG

prehack

Допустим у меня есть файл 1.jpg, я сохраняю его как 1.bmp
1.bmp я сохраняю как 2.jpg
2.jpg я сохраняю как 2.bmp
2.bmp я сохраняю как 3.jpg и т.д.
Вопрос - каждый последующий файл *.jpg будет отличаться от предыдущего размером?
И вообще, эта последовательность jpg-гов куда-нибудь сходится?

Hastya

Зависит от настроек, с которыми ты сохраняешь JPEG.

prehack

Допустим у меня поддерживается только одна настройка jpg-файлов?

shlyumper

да, эта последовательность сходится.
к чему - ответ примерно такой:
при каждом прогоне сжатия/разжатия у тебя производится операция "DCT->округление с весами->обратное DCT с некоторой интерполяцией (?)". Операция производится над каждым из цветовых каналов в пространстве YCrCb. Предел последовательности - когда после такого прогона результат на входе совпадает с результатом на выходе. DCT - дискретное косинусное преобразование. Дальше думай

vertyal17

А процесс не сойдется после первой же итерации?

shlyumper

нет, так как на самом деле в нем присутствуют три округления - операции DCT и iDCT тоже происходят не с бесконечной точностью, а с очень даже конечной. Поэтому даже если выкинуть округление в середине, то останется потеря информации.
Оставить комментарий
Имя или ник:
Комментарий: