Dispositivos com o Android 9 ou versões mais recentes podem oferecer suporte
a câmeras monocromáticas. O Android 10
oferece mais suporte ao 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 um dispositivo de câmera monocromática ou NIR e reduzir o uso de 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ática 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 a estes requisitos:
android.sensor.info.colorFilterArray
é definido comoMONO
ouNIR
.BACKWARD_COMPATIBLE
chave necessária tem suporte eMANUAL_POST_PROCESSING
não é compatível.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 da câmera é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 cor.
Para dispositivos monocromos com suporte a formatos de fluxo Y8, o HAL da câmera precisa oferecer suporte
à troca de formatos YUV_420_888
em combinações de fluxo obrigatórias (incluindo
reprocessamento) com formatos Y8.
As seguintes APIs públicas são usadas neste 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 do CTS e do VTS.
Testes CTS
testMonochromeCharacteristics
CaptureRequestTest
CaptureResultTest
StillCaptureTest
DngCreatorTest
Testes VTS
getCameraCharacteristics
processMultiCaptureRequestPreview