Можно ли уменьшить размер файла анимированных GIF-файлов, сравнивая области, которые фактически изменились?

Можно ли оптимизировать GIF-файлы так, чтобы только измененные области (пиксели в пределах определенных прямоугольных границ на кадр) отображались/вычислялись в конечном размере файла?

Предполагается, что по умолчанию каждый кадр полностью включен в анимированный GIF (я предполагаю, что это имеет место при экспорте из Photoshop «Сохранить для Интернета»...)

Существует ли такое сжатие, которое также оставалось бы совместимым для воспроизведения в любых браузерах (например, обычный анимированный GIF)?

введите описание изображения здесь

Если вы разделите кадры .gif для этого с помощью сплиттера (выполнил поиск в Google, нашел ezgif.com/split ) и проигнорирует оптимизацию, вы увидите, что, например, один из подкадров - это просто i.stack.imgur .com/HAzGh.gif
Ну, я чувствую себя немым сейчас! Тем не менее, я использовал GifCam, чтобы сделать демонстрационный GIF, который упоминает на своем веб-сайте, что используются различия кадров. Я воспользуюсь предложенным вами инструментом для разделения кадров, чтобы посмотреть, можно ли то же самое сказать о программе Photoshop «Сохранить для Интернета», спасибо!

Ответы (2)

Я предполагаю, что это тот случай

на самом деле нет, это не так. Анимированные GIF-файлы оптимизируются именно таким образом... каждый кадр содержит только те части изображения, которые действительно изменились по сравнению с предыдущим кадром.

Википедия не вдается в подробности, но упоминает об этом здесь :

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

Да, файлы GIF можно оптимизировать таким образом. Это уменьшает размер отдельных кадров и, следовательно, общий размер файла.

Ваше приложение для обработки изображений может предложить это; например, фильтры Animation Optimize для GIMP делают это: http://docs.gimp.org/2.8/en/plug-in-optimize.html