Как удалить артефакты из анимированных GIF-файлов на основе высококачественных PNG?
Я знаю, что из-за ограничения в 256 цветов я не могу сделать много, но я заметил, что некоторые большие анимированные картинки выглядят очень качественно. В чем секрет (я использую Gimp)? Специальное уменьшение цветов или удача, и видео подходящее (возможно, низкое цветное изображение)?
3 ответа
[Самостоятельный ответ]
Я нашел это. Это называется "Дизеринг" при конвертации в "Индексный режим". например, в Gimp при индексировании до 256 цветов также есть опция Dither с парой алгоритмов.
Это создает более плавный переход.
Это выглядит хуже, но если оригинал имеет достаточно ограниченный диапазон (например, большая часть темно-коричневого цвета), то он может выглядеть почти так же. Но если он очень яркий и сложный (например, включает в себя все основные цвета по сложности), то он покажет.
Это может быть не то, что вы видите, но, вопреки распространенному мнению, изображения GIF могут иметь более 256 цветов. Файл GIF может содержать много кадров. Вот как работают анимированные GIF-изображения - подобно более сложным представлениям видео, они могут хранить последовательность кадров (с информацией о синхронизации). У меня может быть неправильная терминология, но отдельные кадры изображения могут быть меньше, чем общая рамка изображения. Например, вы можете получить изображение 100×100 с последовательностью кадров 50×50, если вся анимация происходит в квадранте всего изображения. Это уменьшает размер файла, избегая необходимости дублировать статическую часть изображения n раз, когда только небольшая часть фактически анимирована.
"Гоча" заключается в том, что каждый кадр может иметь свою собственную карту цветов. Помните, я упомянул информацию о времени? Файл GIF может содержать много кадров, которые разбивают мозаику по всему пространству изображения, имеют карты разных цветов и отображаются с нулевой задержкой. Вот предполагаемый пример:
которую я скачал из блога Cyde Weys. Note: I have observed in the past that some image software — specifically, programs that don't support animation — render only the first frame of such a file, and so do not produce the desired display.
Ой! On first reading, I missed the fact that your GIFs are manifestly animated. Well, what I wrote above still applies. You might have, for example, a sequence of six frames for each animation update (eg, every 30 ms): one with a delay of 30 ms, followed by five with a delay of 0 ms. These might form a 2×3 tiling of the animated region, and you can have 256 colors in each tile, for a total of 1536 (6×256) colors.
Вы не предоставили реальных примеров, поэтому никто не может дать конкретные детали, только общие рекомендации. Кроме того, не видя фактических артефактов, на которые вы ссылаетесь, мы можем только догадываться о вашей проблеме, потому что это может быть несколько по-разному.
Анимированные GIF-изображения не являются особенными, они представляют собой просто кучу GIF-файлов, отображаемых быстро подряд.
Скорее всего, возникшие у вас артефакты связаны с ограниченной цветовой палитрой, предоставляемой форматом GIF. Как вы обнаружили, вы можете использовать дизеринг, чтобы улучшить 8-битное изображение, но это только один из вариантов. В зависимости от графической программы, некоторые предоставляют больше опций, некоторые предоставляют меньше, а многие опции имеют разные настройки и режимы. Одной из анимированных GIF-программ, которую я использовал несколько лет назад, была ImageAlchemy. У него было множество вариантов сглаживания, смешивания, сглаживания, дробления и т. Д. Палитры различными способами и с использованием различных алгоритмов.
Другой артефакт, с которым вы можете столкнуться, может быть связан скорее с вашим зрителем, чем с файлом. Некоторые программы с анимированным GIF имеют возможность супер-сжатия анимированного GIF, так что он удаляет все неизмененные пиксели из каждого кадра, так что сохраняются только измененные части. Обычно это приводит только к уменьшению размера файла, но некоторые программы просмотра имеют проблемы с ним (они не полностью совместимы с форматом GIF89a) и плохо отображают анимацию.
Не удивительно, что метод, который даст лучшие результаты, полностью зависит от конкретного изображения. Некоторые изображения будут хорошо работать с прямым отображением палитры, другие должны быть размыты, другие все еще потребуют более сложных преобразований цвета.
В дополнение к опциям, специфичным для GIF, еще одно, что вы можете сделать, чтобы получить изображения GIF лучшего качества, - это использовать программу редактирования изображений, чтобы вручную уменьшить их до 8-битного цвета. Таким образом, вы сможете лучше контролировать преобразование цветов, поскольку сокращения, выполняемой во время преобразования / сохранения формата, может быть недостаточно, в то время как программные средства цветопередачи могут обеспечить большую точность и больше параметров.