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 .