Монохромные камеры

Устройства с Android 9 или более поздней версии могут поддерживать монохромные камеры. В Android 10 добавлена поддержка формата потока Y8, статических метаданных для монохромных и ближних инфракрасных фильтров Байера, а также функций DngCreator для монохромных камер.

Благодаря этому производители устройств могут использовать монохромную или инфракрасную камеру и снизить потребление памяти, используя формат потока Y8. Монохромная камера может служить базовой физической камерой логического устройства с несколькими камерами, чтобы улучшить характеристики шума при слабом освещении.

Реализация

Требования к оборудованию

Чтобы реализовать эту функцию, на устройстве должен быть монохромный датчик камеры и процессор обработки изображений (ISP), который обрабатывает выходные данные датчика.

Как реализовать монохромную камеру

Чтобы рекламировать камеру как монохромную, HAL камеры должен соответствовать следующим требованиям:

  • Для параметра android.sensor.info.colorFilterArray задано значение MONO или NIR.
  • Поддерживаются обязательные ключи BACKWARD_COMPATIBLE, а MANUAL_POST_PROCESSING – нет.
  • android.control.awbAvailableModes содержит только AUTO, а android.control.awbState – CONVERTED или LOCKED в зависимости от android.control.awbLock.
  • android.colorCorrection.mode, android.colorCorrection.transform и android.colorCorrection.gains не входят в число доступных ключей запроса и результата. В результате камера будет LIMITED.
  • Отсутствуют следующие ключи статических метаданных, связанных с цветом:

    • android.sensor.referenceIlluminant*
    • android.sensor.calibrationTransform*
    • android.sensor.colorTransform*
    • android.sensor.forwardMatrix*
    • android.sensor.neutralColorPoint
    • android.sensor.greenSplit
  • Все цветовые каналы имеют одинаковые значения для следующих ключей метаданных:

    • android.sensor.blackLevelPattern
    • android.sensor.dynamicBlackLevel
    • android.statistics.lensShadingMap
    • android.tonemap.curve
  • android.sensor.noiseProfile имеет только один цветовой канал.

Для монохромных устройств, поддерживающих форматы потока Y8, Camera HAL должен поддерживать замену форматов YUV_420_888 в обязательных комбинациях потоков (включая повторную обработку) на форматы Y8.

В этой функции используются следующие общедоступные API:

Дополнительную информацию об уровне абстракции камеры можно найти в docs.html. Дополнительную информацию о связанных общедоступных API можно найти в статьях ImageFormat, CameraCharacteristics, CaptureRequest и CaptureResult.

Проверка

Чтобы проверить реализацию монохромной камеры, выполните следующие тесты CTS и VTS.

Тесты CTS

  • testMonochromeCharacteristics
  • CaptureRequestTest
  • CaptureResultTest
  • StillCaptureTest
  • DngCreatorTest

Тесты VTS

  • getCameraCharacteristics
  • processMultiCaptureRequestPreview