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 comoMONO
ouNIR
.- As chaves obrigatórias
BACKWARD_COMPATIBLE
são compatíveis, masMANUAL_POST_PROCESSING
não. android.control.awbAvailableModes
contém apenasAUTO
eandroid.control.awbState
éCONVERTED
ouLOCKED
, dependendo deandroid.control.awbLock
.android.colorCorrection.mode
,android.colorCorrection.transform
eandroid.colorCorrection.gains
nã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.noiseProfile
tem 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