четверг, 28 августа 2008 г.

APNG: анимированный PNG


Если вы видете анимацию, значит ваш браузер поддерживает APNG. Если не видите, то возможно картинка еще не загрузилась.

Пытливый ум инет-разработчиков не знает покоя. Андрей Смит (Andrew Smith) с группой товарищей додумался делать анимированный PNG (APNG). Новый формат является расширением старого доброго PNG. Согласно замыслу разработчиков он должен сменить анимированный GIF в тех приложениях, где нужна несложная анимация. И разуемеется APNG позволяет использовать 24-битный цвет и 8-битный альфа-канал, также как и его прородитель. Так же заявлено, что APNG имеет обратную совместимость с PNG. Иными словами, если ваш браузер анимированный PNG не поддерживает, то вы увидете обычную статичную картинку.

Список приложений, которые поддерживают данный формат невелик: Firefox 3, Opera 9.5, KSquirrel 0.7.2 и XnView 1.92. Если вы счастливый обладатель одной из вышеобозначенных программ, то в начале поста вы увидете анимированный логотип Firefox.

Создать APNG можно либо прямо на сайте разработчиков, либо загрузив специальный редактор, выполненный как дополнение к Firefox 3.

Давайте посмотрим, что мы имеем в итоге? А имеем достаточно громоздкий анимированный формат (анимированная картинка размеров 350 x 279 px из 12 кадров весит 622 КБ), дерганую анимацию, плюс определенные сложности при создании и редакторивание. Лично у меня большие сомнения, что APNG найдет себе применения. Особенно если учесть повсеместное распространение флэш, который существенно легче, анимацию дает более плавную, поддерживается абсолютным большинством браузеров и самое главное - для флэш есть нормальные редакторы.

P. S. Сохраненный с сайта разработчиков и вставленный в пост (загруженный на blogspot.com) пример анимированного PNG отказался анимироваться. Так что теперь в начале поста картинка стоит по ссылке.

См. также:

Все о APNG: документация, примеры, блог
http://animatedpng.com/

Он-лайн ассемблер APNG
http://animatedpng.com/index.php/assembler/

Редактор APNG в виде дополнения к Firefox 3
http://animatedpng.com/index.php/apngedit/

6 комментариев:

  1. > 12 кадров весит 622 КБ
    > определенные сложности при создании и редакторивание

    Сам формат APNG тут не причем. Дело в хреновом кодировщике, недоработана оптимизация (GIFки без оптимизации тоже весят как BMPшки * кол-во шт.)

    > ...дерганую анимацию

    Плохой просмотрщик. Формат опять-таки тут не при чем.

    С таким же успехом я мог бы ругать Jpeg, только потому что MS Paint не дает настраивать для него качество и использовать оптимизацию Хоффмана... Или мог бы поругать h.264 формат видео потому что бытовые плееры в большинстве его не воспроизводят. Это неправильный подход.

    ОтветитьУдалить
  2. Вы можете привести пример удачного использования APNG, который был хорошо работал в браузере без использования специального просмотрщика?

    ОтветитьУдалить
  3. > Вы можете привести пример удачного использования APNG?

    Ды я вообще ни одного файла apng в глаза не видел. Даже тот, что на этой странице в дурацком гугловском браузере, установленном у меня на работе, не показывается.
    Я вот занимаюсь кодированием видео, что близко по сути. И так скажу: некоторые даже софтовые плееры (WMP особенно) не хотят нормально показывать фильмы, хотя те перекодированы правильно. Так это проблема плеера или формата? Ответ очевиден. Поэтому то, что браузер чего-то там "нехорошо" показывает - это проблема разработчиков браузера, а не формата.

    А разработчикам формата желательно, конечно, придумать хорошие формулы оптимизации. Это для них не обязательно (например, формат mp3 для звука тоже содержит лишь спецификацию а его реализаций несколько), но раз уж они на сайте своем разместили страницу енкодера, то желательно, конечно.

    ОтветитьУдалить
  4. Ну это снова я (вспомнил, что я тут зарегистрирован, да).
    Попробовал посоздавать apng через ихний сайт и посмотрел на фаирфоксе - всё зашибись показывает, ничего не дергается.

    Оптимизация у них всё же присутствует - 13 кадров, на которых изображены появляющиеся белые буквы на черном фоне, весили в сумме 5.21 кбайт, смешанные вместе в один файл они весят 1.65 кбайт. Это при том, что последний файл (самый насыщенный) весит 650 байт.

    ВЫВОД. Видимо, пример с прыгующим логотипом firefox не показателен. Данный пример - как фильм с низким fps, т.е. отсутствие плавной смены кадров обоснованно. Про объем: поскольку сами алгоритмы восстановления изображения по ключевому кадру для apng схожи с gif-овскими, т.е. не предусмотрены изменения местоположения части изображения, а лишь сохраняется элементарная разница, возникающая при накладке одного кадра на другой, то и получился большой объем - больше 600 кбайт. Всё вполне логично, т.е. нарисовать сценку из Сауз-Парка, где 2 персонажа разговаривают и у них лишь рты шевелятся вполне возможно, а для серьёзной анимации такие вещи и изначально не предназначались.

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

    Firefox и Opera - вполне нормальные браузеры. Вот неплохая APNG галерея, кстати:
    http://photobucket.com/apng/

    Как разработчик APNG assembler 2.x могу подтвердить, что оптимизация там весьма серьезная, как в онлайновой версии так и в оффлайновой.

    Стоит отметить, что APNG позиционируется как замена GIF, то есть говорить о размерах порядка 300x300 пискселов - нереалистично. Большинство GIFок в интернете гораздо миниатюрнее.

    ОтветитьУдалить
  6. Замечательный формат, благодаря ему можно создавать удивительные полноцветные, живые фотографии. С GIF-ом тоже можна но 256 цветов ... сами понимаете.

    ОтветитьУдалить

Примечание. Отправлять комментарии могут только участники этого блога.