Формат изображений AVIF¶
AVIF — это формат сжатия изображений, основанный на кодеке AV1 Image File Format. Файл с расширением .avif использует технологию видеокодека AV1 для статичных изображений и анимации, обеспечивая высокое качество при существенно меньшем размере файла по сравнению с JPEG и PNG. Формат разработан Альянсом открытых медиа (Alliance for Open Media) и официально утверждён в качестве стандарта Мировым консорциумом Веба (W3C) в 2024 году.
¶История
Разработка AVIF началась в 2018 году как инициатива Альянса открытых медиа — консорциума, в который входят Google, Mozilla, Apple, Microsoft, Netflix, Amazon, Intel, NVIDIA, Samsung и другие компании. Альянс ранее создал видеокодек AV1, а в 2019 году был опубликован первый спецификация формата AVIF.
В 2020 году поддержка AVIF появилась в браузере Google Chrome (версия 85), затем в Mozilla Firefox и Opera. В 2023 году формат был официально утверждён как стандарт W3C, что закрепило его статус в веб-экосистеме. В России формат получил распространение в основном через крупные IT-компании и хостинги, поддерживающие современные стандарты веб-разработки.
¶Технические особенности
AVIF использует кодек AV1, изначально разработанный для видеопотоков, и адаптирует его для хранения изображений. Ключевые технические характеристики:
- Сжатие: алгоритмы AVIF дают на 30–50% лучшее сжатие по сравнению с JPEG при том же визуальном качестве, и на 20–30% — по сравнению с WebP.
- Глубина цвета: поддержка 8, 10 и 12 бит на канал, что позволяет хранить HDR-изображения.
- Пространства цвета: sRGB, Rec. 2020, Rec. 2100, а также широкие цветовые охваты.
- Прозрачность: нативная поддержка альфа-канала (полупрозрачность), как у PNG.
- Анимация: поддержка последовательностей кадров, что делает формат альтернативой GIF.
- Метаданные: встроенные EXIF, XMP и ICC-профили.
Формат поддерживает как lossy (с потерями), так и lossless (без потерь) сжатие, а также гибридный режим, сочетающий оба подхода.
¶Сравнение с другими форматами
| Параметр | AVIF | WebP | JPEG | PNG |
|---|---|---|---|---|
| Год стандартизации | 2019 | 2012 | 1992 | 1996 |
| Сжатие с потерями | Да | Да | Да | Нет |
| Сжатие без потерь | Да | Да | Нет | Да |
| Прозрачность | Да | Да | Нет | Да |
| Анимация | Да | Да | Нет | Нет |
| Глубина цвета | до 12 бит | 8 бит | 8 бит | до 16 бит |
| HDR | Да | Нет | Нет | Частично |
| Размер файла (качество 80) | 100% (базовый) | ~120% | ~180% | ~400% |
¶Поддержка
¶Браузеры
AVIF поддерживают Google Chrome (с версии 85), Mozilla Firefox (с версии 93), Opera, Microsoft Edge (на базе Chromium). Apple добавила поддержку в Safari с версии 16. По данным Can I Use, к 2024 году AVIF поддерживали более 90% браузеров в мире.
¶Операционные системы и программное обеспечение
- Windows: поддержка появилась в Windows 11 (встроенный просмотрщик и Paint), а также в Windows 10 через расширение.
- macOS: нативная поддержка в macOS Ventura и новее.
- Android: поддержка с Android 12.
- Linux: поддерживается большинством дистрибутивов через libavif.
- Графические редакторы: GIMP (с версии 2.10.32), Adobe Photoshop (с версии 23.2), Affinity Photo, Krita.
¶Программные библиотеки
Основная библиотека для работы с форматом — libavif, написанная на C и распространяемая под лицензией BSD. Существуют обёртки для Python (pyavif), Node.js, Rust (avif-decode), Go и других языков.
¶Применение
AVIF активно используется в веб-разработке для оптимизации загрузки страниц. Крупные компании, включая Google, Netflix и Shopify, внедрили формат для хранения и доставки изображений. В России формат применяется в ряде интернет-магазинов и медиапорталов, использующих современные CDN-решения.
Типичные сценарии использования:
- Оптимизация фотографий на сайтах и в мобильных приложениях;
- Хранение изображений в облачных сервисах;
- Замена GIF для анимированных изображений;
- Работа с HDR-контентом;
- Архивное хранение изображений с высоким качеством.
¶Ограничения
Несмотря на широкую поддержку, у AVIF есть ряд ограничений. Кодирование изображений в AVIF требует значительно больше вычислительных ресурсов, чем JPEG или WebP, что делает формат менее удобным для генерации изображений в реальном времени. Некоторые старые устройства и программное обеспечение не поддерживают формат. Кроме того, не все системы просмотра изображений умеют открывать файлы AVIF без установки дополнительных кодеков.
¶Источники
- Alliance for Open Media — AV1 Image File Format (AVIF) Specification
- W3C Recommendation: AVIF Image Format
- Can I Use — AVIF Image Format
- libavif — GitHub Repository
- Mozilla Developer Network — Using AVIF images
- Google Developers — High performance image delivery with AVIF