Android 14 обеспечивает поддержку захвата изображений, сжатых Ultra HDR, с использованием формата изображений JPEG_R
. Этот формат обратно совместим с изображениями SDR JPEG и поддерживает HDR-рендеринг контента. Подробную информацию о спецификации формата Ultra HDR см. в разделе Формат изображения Ultra HDR 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
.