Android 14 поддерживает захват сжатых изображений Ultra HDR с использованием формата изображений JPEG_R . Этот формат обратно совместим с изображениями SDR JPEG и поддерживает рендеринг контента в формате HDR. Подробную информацию о спецификации формата Ultra HDR см. в разделе Ultra HDR Image Format v1.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 для вычисления карты восстановления. Этот вариант предполагает программную обработку в тракте передачи данных, но он относительно незначителен по сравнению с минимальным вариантом. - Расширенные возможности: HAL камеры напрямую рекламирует и поддерживает выходной поток
JPEG_R. Эта опция позволяет производителям устройств внедрять оптимизации, специфичные для каждого устройства, и может обеспечить значительное улучшение качества изображения.
Чтобы отключить реализацию JpegRCompositeStream , установите свойство сборки ro.camera.disableJpegR в true . Если это свойство сборки не установлено или установлено в значение false , Ultra HDR будет включен по умолчанию через JpegRCompositeStream на устройствах, поддерживающих 10-битный вывод и одновременный 10- и 8-битный захват .
Проверка
Для проверки работы функции Ultra HDR на вашем устройстве выполните следующие тесты.
Тесты CTS
-
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR -
ImageReaderTest.java#testJpegR -
ImageReaderTest.java#testJpegRDisplayP3 -
PerformanceTest.java#testSingleCapture -
StillCaptureTest.java# testJpegRCapture
Тесты ИТ
Ручные тесты
Для проведения ручных тестов используйте пример реализации захвата изображений Ultra HDR , который включает поддержку настройки и захвата изображений Ultra HDR с использованием формата JPEG_R .