Os dispositivos com o Android 9 ou mais recente podem oferecer suporte a câmeras monocromáticas. O Android 10 oferece maior compatibilidade com o formato de streaming Y8, metadados estáticos da matriz de filtros de cores monocromáticas e infravermelhas próximas (NIR, na sigla em inglês), além de funções DngCreator para câmeras monocromáticas.
Com esse recurso, os fabricantes de dispositivos podem implementar uma câmera monocromática ou câmera de infravermelho próximo e reduzir o uso de memória usando o formato de streaming Y8. Uma câmera monocromática pode servir como a câmera física subjacente de um dispositivo lógico com várias câmeras para melhorar as características de ruído com pouca luz.
Implementação
Requisitos de hardware
Para implementar esse recurso, o dispositivo precisa ter um sensor de câmera monocromática e um processador de sinal de imagem (ISP, na sigla em inglês) para processar a saída do sensor.
Implementar uma câmera monocromática
Para anunciar um dispositivo de câmera como monocromático, a HAL da câmera precisa atender aos seguintes requisitos:
android.sensor.info.colorFilterArrayestá definido comoMONOouNIR.- As chaves obrigatórias
BACKWARD_COMPATIBLEtêm suporte, eMANUAL_POST_PROCESSINGnão. android.control.awbAvailableModescontém apenasAUTO, eandroid.control.awbStateéCONVERTEDouLOCKED, dependendo deandroid.control.awbLock.android.colorCorrection.mode,android.colorCorrection.transformeandroid.colorCorrection.gainsnão estão nas chaves de solicitação e resultado disponíveis. Como resultado, o dispositivo de câmera éLIMITED.As seguintes chaves de metadados estáticos relacionados a cores não estão presentes:
android.sensor.referenceIlluminant*android.sensor.calibrationTransform*android.sensor.colorTransform*android.sensor.forwardMatrix*android.sensor.neutralColorPointandroid.sensor.greenSplit
Todos os canais de cores têm os mesmos valores para as seguintes chaves de metadados:
android.sensor.blackLevelPatternandroid.sensor.dynamicBlackLevelandroid.statistics.lensShadingMapandroid.tonemap.curve
android.sensor.noiseProfiletem apenas um canal de cores.
Para dispositivos monocromáticos que oferecem suporte a formatos de streaming Y8, a HAL da câmera precisa oferecer suporte à troca de formatos YUV_420_888 em combinações de streaming obrigatórias (incluindo o reprocessamento) com formatos Y8.
As seguintes APIs públicas são usadas nesse recurso:
- Formato de imagem Y8
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Recurso de câmera MONOCHROME (introduzido no Android 9)
Para mais detalhes sobre a HAL da câmera, consulte docs.html. Para mais informações sobre APIs públicas relacionadas, consulte ImageFormat, CameraCharacteristics, CaptureRequest, e CaptureResult.
Validação
Para validar a implementação de uma câmera monocromática, execute os seguintes testes CTS e VTS.
Testes CTS
testMonochromeCharacteristicsCaptureRequestTestCaptureResultTestStillCaptureTestDngCreatorTest
Testes VTS
getCameraCharacteristicsprocessMultiCaptureRequestPreview