Les appareils fonctionnant sous Android 9 ou version ultérieure peuvent prendre en charge les caméras monochromes. Android 10 offre une prise en charge supplémentaire du format de flux Y8, des métadonnées statiques du réseau de filtres couleur monochromes et proche infrarouge (NIR) et des fonctions DngCreator
pour les caméras monochromes.
Grâce à cette fonctionnalité, les fabricants d'appareils peuvent implémenter une caméra monochrome ou NIR et réduire l'utilisation de la mémoire en utilisant le format de flux Y8. Une caméra monochrome peut servir de caméra physique sous-jacente à un appareil logique multi-caméras pour obtenir de meilleures caractéristiques de bruit en faible luminosité.
Mise en œuvre
Exigences matérielles
Pour mettre en œuvre cette fonctionnalité, votre appareil doit disposer d'un capteur de caméra monochrome et d'un processeur de signal d'image (ISP) pour traiter la sortie du capteur.
Implémentation d'une caméra monochrome
Pour annoncer un appareil photo en tant que caméra monochrome, la caméra HAL doit répondre aux exigences suivantes :
-
android.sensor.info.colorFilterArray
est défini surMONO
ouNIR
. - Les clés requises
BACKWARD_COMPATIBLE
sont prises en charge etMANUAL_POST_PROCESSING
n'est pas pris en charge. -
android.control.awbAvailableModes
contient uniquementAUTO
etandroid.control.awbState
est soitCONVERTED
, soitLOCKED
selonandroid.control.awbLock
. -
android.colorCorrection.mode
,android.colorCorrection.transform
etandroid.colorCorrection.gains
ne figurent pas dans les clés de requête et de résultat disponibles. En conséquence, le dispositif de caméra estLIMITED
. Les clés de métadonnées statiques liées aux couleurs suivantes ne sont pas présentes :
-
android.sensor.referenceIlluminant*
-
android.sensor.calibrationTransform*
-
android.sensor.colorTransform*
-
android.sensor.forwardMatrix*
-
android.sensor.neutralColorPoint
-
android.sensor.greenSplit
-
Tous les canaux de couleur ont les mêmes valeurs pour les clés de métadonnées suivantes :
-
android.sensor.blackLevelPattern
-
android.sensor.dynamicBlackLevel
-
android.statistics.lensShadingMap
-
android.tonemap.curve
-
android.sensor.noiseProfile
n'a qu'un seul canal de couleur.
Pour les appareils monochromes prenant en charge les formats de flux Y8, le HAL de la caméra doit prendre en charge l'échange des formats YUV_420_888
dans les combinaisons de flux obligatoires (y compris le retraitement) avec les formats Y8.
Les API publiques suivantes sont utilisées dans cette fonctionnalité :
- Format d'image Y8
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Capacité de caméra MONOCHROME (introduite dans Android 9)
Pour plus de détails sur Camera HAL, voir docs.html . Pour plus d’informations sur les API publiques associées, consultez ImageFormat , CameraCharacteristics , CaptureRequest et CaptureResult .
Validation
Pour valider votre implémentation d'une caméra monochrome, exécutez les tests CTS et VTS suivants.
Essais CTS
-
testMonochromeCharacteristics
-
CaptureRequestTest
-
CaptureResultTest
-
StillCaptureTest
-
DngCreatorTest
Essais VTS
-
getCameraCharacteristics
-
processMultiCaptureRequestPreview