À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Caméras monochromes
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les appareils équipés d'Android 9 ou version ultérieure sont compatibles avec les caméras monochromes. Android 10 offre une compatibilité supplémentaire avec le format de flux Y8, les métadonnées statiques de la matrice de filtres de couleur monochrome et infrarouge proche (NIR), ainsi que les fonctions DngCreator
pour les caméras monochromes.
Grâce à cette fonctionnalité, les fabricants d'appareils peuvent implémenter un appareil photo 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 d'un appareil multicaméra logique pour obtenir de meilleures caractéristiques de bruit en basse lumière.
Implémentation
Configuration matérielle requise
Pour implémenter cette fonctionnalité, votre appareil doit être équipé d'un capteur d'appareil photo monochrome et d'un processeur de signal d'image (ISP) pour traiter la sortie du capteur.
Implémenter une caméra monochrome
Pour promouvoir un appareil photo comme une caméra monochrome, le HAL de la caméra doit répondre aux exigences suivantes:
android.sensor.info.colorFilterArray
est défini sur MONO
ou NIR
.
- Les clés requises
BACKWARD_COMPATIBLE
sont prises en charge et MANUAL_POST_PROCESSING
ne l'est pas.
android.control.awbAvailableModes
ne contient que AUTO
, et android.control.awbState
est CONVERTED
ou LOCKED
, en fonction de android.control.awbLock
.
android.colorCorrection.mode
, android.colorCorrection.transform
et android.colorCorrection.gains
ne figurent pas dans les clés de requête et de résultat disponibles. Par conséquent, l'appareil photo est LIMITED
.
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
ne comporte qu'un seul canal de couleur.
Pour les appareils monochromes compatibles avec les formats de flux Y8, le HAL de l'appareil photo 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é:
Pour en savoir plus sur le HAL de l'appareil photo, consultez docs.html.
Pour en savoir plus 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.
Tests CTS
testMonochromeCharacteristics
CaptureRequestTest
CaptureResultTest
StillCaptureTest
DngCreatorTest
Tests VTS
getCameraCharacteristics
processMultiCaptureRequestPreview
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/26 (UTC)."],[],[],null,["# Monochrome cameras\n\nDevices running Android 9 or higher can support\nmonochrome cameras. Android 10\nprovides additional support for the Y8 stream format, monochrome and\nnear-infrared (NIR) color filter array\nstatic metadata, and `DngCreator` functions for monochrome cameras.\n\nWith this capability, device manufacturers can implement a monochrome or\nNIR camera device and reduce memory use by using\nthe Y8 stream format. A monochrome camera can serve as the underlying physical\ncamera of a\n[logical multi-camera device](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA)\nto achieve better low-light noise characteristics.\n\nImplementation\n--------------\n\n### Hardware requirements\n\nTo implement this feature, your device must have a monochrome camera sensor and\nan image signal processor (ISP) to process the sensor output.\n\n### Implement a monochrome camera\n\nTo advertise a camera device as a monochrome camera, the\n[Camera HAL](/docs/core/camera/camera3) must meet\nthe following requirements:\n\n- `android.sensor.info.colorFilterArray` is set to `MONO` or `NIR`.\n- `BACKWARD_COMPATIBLE` required keys are supported and `MANUAL_POST_PROCESSING` isn't supported.\n- `android.control.awbAvailableModes` only contains `AUTO` and `android.control.awbState` is either `CONVERTED` or `LOCKED` depending on `android.control.awbLock`.\n- `android.colorCorrection.mode`, `android.colorCorrection.transform`, and `android.colorCorrection.gains` aren't in available request and result keys. As a result, the camera device is [`LIMITED`](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata.html#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED).\n- The following color-related static metadata keys aren't present:\n\n - `android.sensor.referenceIlluminant*`\n - `android.sensor.calibrationTransform*`\n - `android.sensor.colorTransform*`\n - `android.sensor.forwardMatrix*`\n - `android.sensor.neutralColorPoint`\n - `android.sensor.greenSplit`\n- All color channels have the same values for the following metadata keys:\n\n - `android.sensor.blackLevelPattern`\n - `android.sensor.dynamicBlackLevel`\n - `android.statistics.lensShadingMap`\n - `android.tonemap.curve`\n- `android.sensor.noiseProfile` has only one color channel.\n\nFor monochrome devices supporting Y8 stream formats, the Camera HAL must support\nswapping `YUV_420_888` formats in mandatory stream combinations (including\nreprocessing) with Y8 formats.\n\nThe following public APIs are used in this feature:\n\n- [Y8 image format](https://developer.android.com/reference/android/graphics/ImageFormat#Y8)\n- [SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO)\n- [SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR)\n- [MONOCHROME camera capability](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME) (introduced in Android 9)\n\nFor more details on the Camera HAL, see\n[docs.html](https://android.googlesource.com/platform/system/media/+/android16-release/camera/docs/docs.html).\nFor more information on related public APIs, see\n[ImageFormat](https://developer.android.com/reference/android/graphics/ImageFormat),\n[CameraCharacteristics](https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics),\n[CaptureRequest](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest),\nand\n[CaptureResult](https://developer.android.com/reference/android/hardware/camera2/CaptureResult).\n\nValidation\n----------\n\nTo validate your implementation of a monochrome camera, run the following CTS\nand VTS tests.\n\n### CTS tests\n\n- `testMonochromeCharacteristics`\n- `CaptureRequestTest`\n- `CaptureResultTest`\n- `StillCaptureTest`\n- `DngCreatorTest`\n\n### VTS tests\n\n- `getCameraCharacteristics`\n- `processMultiCaptureRequestPreview`"]]