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
.