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 essa capacidade, os fabricantes de dispositivos podem implementar um dispositivo de câmera monocromática ou NIR e reduzir o uso da memória usando o formato de stream 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ático e um processador de sinal de imagem (ISP) para processar a saída do sensor.
Implementar uma câmera monocromática
Para anunciar um dispositivo de câmera como uma câmera monocromática, a HAL da câmera precisa atender aos seguintes requisitos:
android.sensor.info.colorFilterArrayé definido comoMONOouNIR.- As chaves obrigatórias
BACKWARD_COMPATIBLEsão compatíveis, masMANUAL_POST_PROCESSINGnão. android.control.awbAvailableModescontém apenasAUTOeandroid.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 estáLIMITED.As seguintes chaves de metadados estáticos relacionadas 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 permitir
a troca de formatos YUV_420_888 em combinações de streaming obrigatórias (incluindo
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 MONOCROMÁTICA (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 do CTS e do VTS.
Testes do CTS
testMonochromeCharacteristicsCaptureRequestTestCaptureResultTestStillCaptureTestDngCreatorTest
Testes VTS
getCameraCharacteristicsprocessMultiCaptureRequestPreview