Устройства с 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.neutralColorPointandroid.sensor.greenSplit
Все цветовые каналы имеют одинаковые значения для следующих ключей метаданных:
android.sensor.blackLevelPatternandroid.sensor.dynamicBlackLevelandroid.statistics.lensShadingMapandroid.tonemap.curve
android.sensor.noiseProfileимеет только один цветовой канал.
Для монохромных устройств, поддерживающих форматы потока Y8, Camera HAL должен поддерживать замену форматов YUV_420_888 в обязательных комбинациях потоков (включая повторную обработку) на форматы Y8.
В этой функции используются следующие общедоступные API:
- Графический формат Y8
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Возможность монохромной съемки (появилась в Android 9).
Дополнительную информацию об уровне абстракции камеры можно найти в docs.html. Дополнительную информацию о связанных общедоступных API можно найти в статьях ImageFormat, CameraCharacteristics, CaptureRequest и CaptureResult.
Проверка
Чтобы проверить реализацию монохромной камеры, выполните следующие тесты CTS и VTS.
Тесты CTS
testMonochromeCharacteristicsCaptureRequestTestCaptureResultTestStillCaptureTestDngCreatorTest
Тесты VTS
getCameraCharacteristicsprocessMultiCaptureRequestPreview