Ultra HDR

В Android 14 добавлена поддержка создания сжатых изображений в формате Ultra HDR с помощью графического формата JPEG_R. Этот формат обратно совместим с изображениями JPEG в формате SDR и поддерживает рендеринг контента в формате HDR. Подробные сведения о спецификации формата Ultra HDR можно найти в статье Формат изображений Ultra HDR версии 1.0.

Реализация

В этом разделе рассказывается, как реализовать функцию Ultra HDR.

Пример реализации

Фреймворк и сервис камеры AOSP включают эталонную реализацию Ultra HDR.

Помимо стандартных функций фреймворка камеры, вы можете реализовать Ultra HDR на уровне HAL и добавить поддержку вывода JPEG_R так же, как и для других выходных потоков HAL. В этом случае HAL камеры должен создать необходимую карту восстановления и итоговое изображение JPEG_R в соответствии с спецификацией Ultra HDR. Вы можете оптимизировать и настроить конечный результат в зависимости от аппаратных и программных возможностей устройства.

Варианты реализации

Производители устройств могут выбрать следующие уровни поддержки Ultra HDR:

  • Минимальная. В этой конфигурации по умолчанию отключен вывод Ultra HDR через композитный поток сервиса камеры. Чтобы включить реализацию JpegRCompositeStream, задайте для системного свойства ro.camera.enableCompositeAPI0JpegR значение true. Поскольку все процессы и кодирование выполняются в программном обеспечении, этот вариант может привести к увеличению задержки и снижению производительности.
  • Умеренный. В этом случае реализация JpegRCompositeStream использует предоставленный HAL файл SDR JPEG в качестве базового изображения и кадр P010 для расчета карты восстановления. Этот вариант предполагает обработку данных с помощью программного обеспечения, но она относительно незначительна по сравнению с минимальным вариантом.
  • Расширенная. Аппаратно-зависимый уровень камеры поддерживает выходной поток JPEG_R и сообщает об этом. Этот параметр позволяет производителям устройств реализовывать оптимизацию для конкретных устройств и может значительно улучшить качество изображения.

Чтобы отключить реализацию JpegRCompositeStream, задайте для свойства сборки ro.camera.disableJpegR значение true. Если это свойство сборки не задано или имеет значение false, Ultra HDR включен по умолчанию через JpegRCompositeStream на устройствах, поддерживающих 10-битный вывод и одновременную 10- и 8-битную съемку.

Проверка

Чтобы проверить, работает ли функция Ultra HDR на вашем устройстве, выполните следующие тесты.

Тесты CTS

Тесты ITS

Ручное тестирование

Чтобы выполнить тестирование вручную, используйте пример реализации для съемки изображений в формате Ultra HDR, который включает поддержку конфигурации и съемки в формате JPEG_R.