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 como- MONOou- NIR.
- As chaves obrigatórias BACKWARD_COMPATIBLEsão compatíveis, masMANUAL_POST_PROCESSINGnão.
- android.control.awbAvailableModescontém apenas- AUTOe- android.control.awbStateé- CONVERTEDou- LOCKED, dependendo de- android.control.awbLock.
- android.colorCorrection.mode,- android.colorCorrection.transforme- android.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.neutralColorPoint
- android.sensor.greenSplit
 
- Todos os canais de cores têm os mesmos valores para as seguintes chaves de metadados: - android.sensor.blackLevelPattern
- android.sensor.dynamicBlackLevel
- android.statistics.lensShadingMap
- android.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
- testMonochromeCharacteristics
- CaptureRequestTest
- CaptureResultTest
- StillCaptureTest
- DngCreatorTest
Testes VTS
- getCameraCharacteristics
- processMultiCaptureRequestPreview
