Los dispositivos que ejecutan Android 9 o versiones posteriores pueden admitir cámaras monocromáticas. Android 10 proporciona compatibilidad adicional con el formato de transmisión Y8, los metadatos estáticos del array de filtro de color monocromático e infrarrojo cercano (NIR) y las funciones DngCreator
para las cámaras monocromáticas.
Con esta función, los fabricantes de dispositivos pueden implementar un dispositivo de cámara monocromática o NIR y reducir el uso de memoria con el formato de transmisión Y8. Una cámara monocromática puede funcionar como la cámara física subyacente de un dispositivo lógico de varias cámaras para lograr mejores características de ruido con poca luz.
Implementación
Requisitos de hardware
Para implementar esta función, el dispositivo debe tener un sensor de cámara monocromática y un procesador de señal de imagen (ISP) para procesar la salida del sensor.
Cómo implementar una cámara monocromática
Para anunciar un dispositivo de cámara como una cámara monocromática, el HAL de la cámara debe cumplir con los siguientes requisitos:
android.sensor.info.colorFilterArray
se configura comoMONO
oNIR
.- Se admiten las claves obligatorias de
BACKWARD_COMPATIBLE
, pero noMANUAL_POST_PROCESSING
. android.control.awbAvailableModes
solo contieneAUTO
yandroid.control.awbState
esCONVERTED
oLOCKED
segúnandroid.control.awbLock
.android.colorCorrection.mode
,android.colorCorrection.transform
yandroid.colorCorrection.gains
no están en las claves de solicitud y resultado disponibles. Como resultado, el dispositivo de cámara esLIMITED
.No están presentes las siguientes claves de metadatos estáticos relacionados con el color:
android.sensor.referenceIlluminant*
android.sensor.calibrationTransform*
android.sensor.colorTransform*
android.sensor.forwardMatrix*
android.sensor.neutralColorPoint
android.sensor.greenSplit
Todos los canales de color tienen los mismos valores para las siguientes claves de metadatos:
android.sensor.blackLevelPattern
android.sensor.dynamicBlackLevel
android.statistics.lensShadingMap
android.tonemap.curve
android.sensor.noiseProfile
tiene solo un canal de color.
En el caso de los dispositivos monocromos que admiten formatos de transmisión Y8, la HAL de la cámara debe admitir el intercambio de formatos YUV_420_888
en combinaciones de transmisiones obligatorias (incluido el reprocesamiento) con formatos Y8.
En esta función, se usan las siguientes APIs públicas:
- Formato de imagen Y8
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Capacidad de cámara MONOCROMÁTICA (se introdujo en Android 9)
Para obtener más detalles sobre la HAL de la cámara, consulta docs.html. Para obtener más información sobre las APIs públicas relacionadas, consulta ImageFormat, CameraCharacteristics, CaptureRequest y CaptureResult.
Validación
Para validar la implementación de una cámara monocromática, ejecuta las siguientes pruebas de CTS y VTS.
Pruebas del CTS
testMonochromeCharacteristics
CaptureRequestTest
CaptureResultTest
StillCaptureTest
DngCreatorTest
Pruebas de VTS
getCameraCharacteristics
processMultiCaptureRequestPreview