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
используется JPEG-файл SDR, предоставленный HAL, в качестве базового изображения и кадр 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
.