[Перевод] HEIF — новый стандартный формат хранения изображений в iOS и MacOS
В этом году в операционных системах Apple изменился формат сохранения изображений по умолчанию. С выходом iOS 11 и MacOS High Sierra миллионы пользователей продукции яблочного гиганта получили возможность использовать новый формат хранения изображений HEIF. Он пришел на смену старому доброму JPEG, хотя многие и не знают, что это произошло. По расчетам Apple пользователи должны получить значительную экономию места на диске (до 50%) за счет большей эффективности сжатия при лучшем качестве картинки.
Последнюю четверть века формат JPEG является отраслевым стандартом для хранения изображений с потерями сжатия. Разработанный в 1992 году формат за прошедшее время стал поддерживаться большинством производителей оборудования и программного обеспечения для захвата и обработки изображений. Однако, по мере того как цифровые камеры и экраны дисплеев движутся к ультра-высоким разрешениям 5K, необходимость в более эффективных алгоритмах сжатия и поддержке альтернативных функций заставила компанию Apple найти современную замену устаревшему стандарту JPEG.
Им стал High Efficiency Image Format, или сокращенно HEIF. Файлы этого формата в операционных системах Apple получили расширение .heic, хотя другими производителями чаще используется .heif.
Несколько фактов о HEIF:
- В 2013 году формат HEIF был предложен Moving Picture Experts Group (MPEG), он был определен в рамках стандарта MPEG-H Part 12 (ISO/IEC 23008–12). В течение полутора лет продолжалось его техническая разработка, которая была завершена к 2015 году.
- Сам HEIF является контейнерным форматом, состоящим из метаданных Exif с дополнительными разделами для XMP и MPEG-7
- В дополнение к метаданным контейнер HEIF содержит одно или несколько изображений или последовательность изображений, закодированных с использованием высокоэффективного стандарта сжатия HEVC — High Efficiency Video Coding, который более известен как стандарт H.265. За счет этого пользователи получат экономию памяти как локально, так и в облаке. Если несколько изображений упакованы в контейнер HEIF, размер файла будет значительно меньше, чем хранение нескольких JPEG, представляющих одно и то же изображение или набор изображений. Несколько изображений и видео могут быть одновременно упакованы в контейнере HEIF.
- В отличие от JPEG, HEIF может содержать несколько изображений, используемых для разных случаев. Например, основное полноразмерное изображение может быть представлено первичным, вспомогательным и эскизным изображениями.
- Вспомогательные изображения могут иметь альфа канал.
- Имеется строенная поддержка оверлеев.
- Контейнер HEIF может содержать эквивалентные изображения, например альтернативу более низкому разрешению. В качестве примера можно привести браузер, загружающий картинку с низким разрешением на медленном канале связи или обнаружение дисплея < 4K. В стандарте HTML 5.2 предусмотрена поддержка подобных случаев.
- Поддержка одновременного хранения данных, сжатых с потерями и без (lossy and lossless). Фотографы оценят сохранение необработанных и сжатых фотографий в одном контейнере.
- HEIF представляет инструменты для операций неразрушающего редактирования, которые могут быть определены внешними спецификациями. Эта функция может использоваться приложениями для редактирования изображений, так как инструкции по редактированию хранятся в том же файле, что и исходное изображение.
- HEIF также поддерживает прозрачность и цвет изображения до 16 бит, по сравнению с 8-битной глубиной цвета в JPEG. На практике это означает, что HEIF может захватить весь расширенный цветовой диапазон, предоставляемый 10-битным цветовым выходом цифровых камер, исключая нежелательные артефакты.
Теперь, когда вы немного больше узнали о HEIF, давайте поговорим о стандарте кодирования HEVC или H.265.
В двух словах, стандарт HEVC поддерживает эффективное сжатие для полноразмерных изображений наряду с предсказанием последовательностей (predictive sequencing) и дополнениями для поддержки других медиа-потоков, таких, как синхронизированный текст и аудио.
Формат предоставляет потрясающие возможности — это не только потенциальная замена анимированного GIF, но и усовершенствование живых фотографий Apple, что открывает двери для других функций, таких как встроенное редактирование и полный контроль воспроизведения.
Кроме того, HEVC поддерживает прямоугольную обрезку и вращение на 90 градусов без необходимости повторного кодирования изображения или последовательности изображений. Это дает возможность написания эффективного кода обработки изображений на мобильных устройствах, что приведет к значительной экономии заряда батареи. На самом деле, устройства Apple с чипом A9 и выше выиграют от аппаратного ускорения для кодирования и декодирования файлов HEIF.
Поддержка формата HEIF в продуктах Apple
Слева изображение в формате HEIF, справа JPEG
Изменение Apple формата файлов изображений по умолчанию на HEIF позволит сэкономить место в локальных фотоальбомах пользователя и в iCloud. В примере приведено изображение, закодированное как в JPEG, так и сохраненное в формате HEIF. Самое очевидное, что мы видим при просмотре метаданных, — это сокращение размера файла на почти 1Мб. Также можно заметить, что изображение HEIF более четкое, в то время как JPEG-изображение достаточно размыто.
Автоматическое конвертирование в JPEG будет поддерживаться в течение некоторого времени, так как большинство платформ и сервисов требуют формат JPEG. Например, пользователь может прикрепить HEIF фотографии к письму в электронной почте, и iOS будет автоматически перекодировать их в JPEG.