10-битный выход камеры

На устройствах под управлением Android 13 и более поздних версий Android поддерживает 10-битный вывод изображения с камеры посредством профилей динамического диапазона, которые клиент камеры может настроить в рамках конфигурации потока. Производители устройств могут добавить поддержку 10-битных профилей динамического диапазона, таких как HLG10, HDR 10, HDR 10+ и Dolby Vision.

Поддержка 10-битного вывода камеры позволяет клиентам камеры обнаруживать поддерживаемые 10-битные профили динамического диапазона устройства, вызывая getSupportedProfiles . Затем фреймворк возвращает экземпляр DynamicRangeProfiles , содержащий информацию о поддерживаемых профилях динамического диапазона и, если доступно, ограничениях запроса на захват. Необходимо поддерживать профиль HLG10 . Рекомендуемый профиль динамического диапазона указан в поле REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE .

Клиенты камеры могут настраивать комбинации потоков, вызывая setDynamicRangeProfile . Подробнее об обязательных комбинациях выходных потоков см. в таблице дополнительных гарантированных конфигураций 10-битного вывода в разделе «Обычный захват» .

Требования

Для поддержки 10-битного видеосигнала камера должна быть оснащена сенсором с разрешением 10 бит или выше и поддержкой соответствующего интернет-провайдера. Подробнее о требованиях к совместимости для поддержки 10-битного видео см. в разделе 7.5. Камеры в CDD.

Выполнение

Чтобы обеспечить поддержку 10-битного выхода камеры, производители устройств должны выполнить следующие интеграции Camera AIDL HAL:

  • Включить ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT в возможности камеры.
  • Заполните ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP всеми поддерживаемыми профилями динамического диапазона и растровой картой их ограничений. Профиль HLG10 должен поддерживаться. Также необходимо включить рекомендуемый профиль динамического диапазона, чтобы информировать клиентов камеры об оптимальном поддерживаемом формате.
  • Обеспечьте поддержку значения профиля динамического диапазона во время настройки потока для потоков, использующих формат P010 или поддержку формата, определяемого реализацией ( ImageFormat.PRIVATE ).
  • В зависимости от профиля динамического диапазона установите статический или динамический буфер метаданных обработанных буферов Gralloc 4 перед уведомлением службы камеры.

Более подробную информацию о 10-битном выходе камеры в Camera HAL см. в metadata_definitions.xml :

Информацию о реализации Camera HAL, поддерживающей 10-битный вывод камеры, можно найти на странице /hardware/google/camera/devices/EmulatedCamera/hwl .

Проверка

Чтобы проверить реализацию 10-битного вывода камеры и убедиться, что сторонние приложения смогут включить эту функцию, мы рекомендуем выполнить следующие три этапа проверки.

Для визуальной проверки 10-битного вывода камеры предполагается, что устройство поддерживает отображение HDR (яркость дисплея более 1000 нит), а приложение для просмотра видео (например, Google Фото) поддерживает воспроизведение HDR-видео.

Тестирование функциональной корректности API

Чтобы проверить корректность работы API 10-битного выходного сигнала камеры, выполните следующие тесты CTS, ITS камеры и VTS:

Сравните родную камеру и стороннее приложение

Мы настоятельно рекомендуем убедиться, что результаты съёмки 10-битного видео сторонним приложением аналогичны, если не идентичны, результатам съёмки во встроенном приложении камеры. Это означает, что настройки, такие как экспозиция, динамический диапазон и цветопередача, должны быть перенесены из встроенного приложения в сторонние приложения. Чтобы проверить работу стороннего приложения, поддерживающего 10-битный вывод камеры на вашем устройстве, используйте пример приложения Camera2Video на GitHub. Данное руководство призвано проиллюстрировать видимые аспекты HDR без использования объективных цифр из-за различий в характеристиках сенсоров, панелей, условий просмотра и предпочтений поставщиков.

Предлагаемые сцены для сравнения

Чтобы сравнить стандартное приложение камеры и стороннее приложение, снимите видео с использованием нескольких различных сцен как с помощью стандартного приложения камеры, так и с помощью приложения-образца Camera2Video. Ниже приведены рекомендуемые сцены для сравнения:

  • Сцена со средним или слабым освещением и ярким объектом, например, свечой или небольшим ярким источником света, создающим значительный диапазон яркости. Это подтверждает работу автоматической экспозиции и динамического диапазона.
  • Яркий пейзаж на открытом воздухе с яркими цветами и отражающими объектами, такими как хромированные бамперы автомобилей, создающими яркие блики. Это подтверждает визуализацию ярких сцен с ещё более яркими бликами.
  • Сцена со средним и низким динамическим диапазоном, например, естественная сцена в помещении дома или офиса. Это подтверждает, что менее экстремальные условия освещения ведут себя ожидаемо.

Для всех сцен мы рекомендуем использовать изображения людей и лиц для проверки экспозиции, цвета и тона кожи. Уменьшение вариаций от кадра к кадру упрощает сравнение кадров подряд.

Сравните стандартный динамический диапазон и расширенный динамический диапазон

Чтобы убедиться в ощутимом преимуществе использования 10-битного профиля динамического диапазона по сравнению со стандартным, сравните видео, снятые в SDR (без профиля HDR), с HDR-видео, чтобы убедиться в наличии ключевых аспектов HDR в снимках. Для сравнения SDR и HDR используйте пример приложения Camera2Video и рекомендуемые сцены для сравнения встроенного приложения камеры и сторонних приложений.

Ниже приведены ключевые аспекты, которые следует проверить в предлагаемых сценах. Дисплеи с поддержкой HDR различаются по уровню яркости (измеряемой в нитах или люменах), поэтому приведенные ниже значения приведены в качестве примеров:

  • В сцене со средним и слабым освещением яркие блики свечи или небольшого источника света отображаются с максимальной яркостью дисплея (возможно, до 1000 нит) в HDR-клипе, а также с максимальной яркостью SDR (примерно 100 нит) в SDR-клипе. В HDR-клипе яркие блики должны выходить за пределы дисплея, передавая восприятие пользователем истинного динамического диапазона сцены. По сравнению с HDR-клипом, SDR-клип должен выглядеть более плоским и менее ярким.
  • В яркой сцене, в зависимости от настроек устройства, HDR-клип демонстрирует очевидную разницу в яркости экрана по сравнению с SDR-клипом. Для HDR-клипа яркость экрана для всей сцены (в зависимости от габаритов) должна быть выше, например, до 800 нит, и ещё выше для ярких элементов, таких как хромированные бамперы, около максимальной яркости.
  • При съёмке в помещении со средним и низким динамическим диапазоном HDR- и SDR-клипы схожи по цвету и тону, причём HDR-снимок потенциально ярче SDR. HDR-снимок не должен быть темнее SDR. Если настройки не позволяют это сделать, убедитесь, что поведение стороннего приложения соответствует поведению встроенного приложения камеры.