La version d'Android 13 apporte un certain nombre de modifications Caméra ITS En plus de les modifications incrémentielles, telles que les versions mises à jour de Python et des versions de package, mises à jour matérielles, Android 13 est compatible avec les tests vidéo.
Cette page récapitule les modifications apportées à l'ITS de l'appareil photo pour Android. 13. Les changements se répartissent en sept grandes catégories:
- Versions de Python et de package
- Ajouts aux fichiers de configuration
- Tester les modifications
- Nouveaux tests sur tablette
- Tests vidéo
- Ajouts et mises à jour matériels
- Compatibilité avec les appareils pliables
Versions de Python et de package
Android 13 prend en charge les versions suivantes de Python dans en plus des versions et bibliothèques Python compatibles avec Android 12:
- Python 3.9.2
- OpenCV 4.2.0
- Numpy version 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySerial 3.5
- Pillow 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
Ajouts au fichier de configuration
En raison de l'ajout de commandes d'éclairage pour le test test_auto_flash.py
, le
Le fichier config.yml
nécessite deux paramètres supplémentaires pour la manette et
canal d'éclairage. Pour déterminer si l'appareil testé est un appareil pliable
ou non, le fichier config.yml
nécessite un troisième paramètre supplémentaire qui doit
aux sections de fusion de capteurs
et de tablettes basées sur les tablettes.
TestBeds:
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # "True" or "False"; quotes needed
lighting_cntl: <controller-type> # "arduino" or "None"; quotes needed
lighting_ch: <controller-channel>
camera: 0
foldable_device: "False". # set "True" if testing foldable
scene: <scene-name> # if <scene-name> runs all scenes
Tester les modifications
scène1_1/test_noir_blanc.py
Le test test_black_white
vérifie la saturation des canaux
compatible avec les versions précédentes d'Android, ce qui signifie que les appareils
Premier niveau d'API pour la vérification de la saturation des canaux : Android
10.
scène1_2/test_yuv_plus_raw.py
Le test test_yuv_plus_raw
gère les capteurs autres que 16:9 ou 4:3 pour fournir
meilleure prise en charge du RAW. Si le test ne trouve pas un format courant
entre le format RAW du capteur et le format de capture YUV, le test compare
la capture RAW vers la plus grande capture YUV, même si les proportions sont
différentes.
scène2_a/test_faces.py
test_faces
est refactorisé en test_num_faces
.
scène2_a/num_test_faces.py
Le test test_num_faces
gère le recadrage du capteur et place
des rectangles de visage correctement sur les captures de l'appareil photo ultra grand angle qui ont été recadrées.
scène3/test_lens_position.py
Le test test_lens_position
est obsolète sur Android
13.
scène6/test_zoom.py
Le test test_zoom
est refactorisé pour faciliter le test des trois et quatre
systèmes de caméras et d'appareils photo. Si les tests de la caméra sont corrects sur un ratio de zoom x10,
le test se termine correctement. Cela permet d'effectuer des tests de zoom au niveau
la distance du graphique.
scène_change/test_scene_change.py
Le test test_scene_change
est obsolète sur Android
13.
Nouveaux tests sur tablette
Android 13 inclut deux nouveaux tests sur tablette. Les deux tests sont obligatoires pour les appareils lancés avec Android 13, mais seront ignorées pour les appareils passant à Android 13.
Scène | Nom du test | Premier niveau d'API | Description |
---|---|---|---|
2_a | test_flash_auto | 33 | Confirmez que les scènes sombres déclenchent le flash automatique. |
2_b | test_yuv_jpg_capture_sameness | 33 | Vérifiez que les captures YUV et JPEG sont toujours identiques au niveau du bit. |
scène2_a/test_auto_flash.py
Android 13 ajoute le test test_auto_flash
.
Paramètres
flash
: passe le test si le flash n'est pas disponible.
Méthode
Le test configure la demande de capture pour le flash automatique et présente une scène
nécessitant un événement Flash. L'éclairage du support de test et de la tablette
désactivée pour présenter une scène sombre pour l'algorithme d'exposition automatique. Le test
configure une séquence de captures NUM_FRAMES
avec le flash automatique activé. Si le
Le paramètre AE_STATE
renvoie FLASH_REQUIRED
. Le test vérifie qu'un flash est
tirés dans les captures.
Vous pouvez contrôler l'éclairage manuellement lorsque vous y êtes invité, ou automatiquement à l'aide d'un
Contrôleur Arduino avec contrôle de l'éclairage ajouté pour les tests automatisés. Une nouvelle
Le dossier utilitaire lighting_control_utils
centralise le code afin de contrôler
l'éclairage pendant les tests.
scène2_a/test_yuv_jpeg_capture_sameness.py
Android 13 ajoute test_yuv_jpeg_capture_sameness
test.
Paramètres
streamUseCase
: détermine si la caméra est compatible avec le cas d'utilisation du flux.android.jpeg.quality
: définit la qualité JPEG sur 100.
Méthode
Ce test capture deux images en utilisant les plus grands formats YUV et JPEG courants avec
Même format que le plus grand format JPEG ne dépassant pas une résolution de
1920x1440. Le test définit jpeg.quality
sur 100 et capture une double surface
requête. Il convertit ensuite les deux images en tableaux RVB et calcule la racine 3D.
l'écart moyen au carré (RMS) entre les deux images. La tolérance aux différences
est défini sur 1%.
Test vidéo
Camera ITS prend désormais en charge les tests vidéo sur Android 13.
Android 13 ajoute les tests suivants:
Scène | Nom du test | Premier niveau d'API | Description |
---|---|---|---|
4 | test_preview_stabilisization_fov | 33 | Permet de confirmer que l'aperçu de la vidéo ne recadre pas trop souvent lorsque la stabilisation est activée. |
4 | Test_video_aspect_ratio_and_crop | 33 | Confirme le nom de la vidéo, le format et le recadrage de la vidéo. |
capteur_fusion | stabilisation_aperçu_test | 33 | Permet de confirmer que la stabilisation de l'aperçu fonctionne. |
capteur_fusion | stabilisation_vidéo_test | 33 | Confirmez que la stabilisation vidéo fonctionne. |
scène4/test_preview_stabilization_fov.py
Android 13 ajoute test_preview_stabilization_fov
test. Ce test vérifie les tailles d'aperçu compatibles pour s'assurer que le champ de vision n'est pas
rognées de manière inappropriée.
Méthode
Le test capture deux vidéos, l'une avec la stabilisation de l'aperçu activée et l'autre avec la stabilisation de l'aperçu désactivée. Un cadre représentatif est sélectionné dans chaque vidéo, puis analysés pour s'assurer que les modifications apportées au titre de vidéo des deux vidéos sont dans le respect des spécifications.
Plus précisément, le test vérifie les paramètres suivants, avec et sans stabilisation de l'aperçu:
- L'arrondi du cercle reste constant.
- Le centre du cercle reste stable.
- La taille du cercle change de plus de 20%, ce qui signifie que le champ de vision change 20 % maximum.
scène4/test_video_aspect_ratio_and_crop.py
Android 13 ajoute test_video_aspect_ratio_and_crop
test. Semblable à test_aspect_ratio_and_crop
des captures d'écran fixes, ce test vérifie les formats vidéo compatibles
pour s'assurer que les images vidéo ne sont pas étirées ou recadrées de manière inappropriée.
Toutes les caractéristiques des vidéos auto-déclarées sont testées. De plus, si
la caméra prend en charge la vidéo HLG10
, la vidéo 10 bits est testée.
Android 13 ajoute get_available_video_qualities
sur its_session_utils
. Pour partager du code commun
avec les tests existants, Android 13 inclut également deux nouvelles
les fonctions utilitaires image_fov_utils
et video_processing_utils
.
Méthode
Le test capture une image de référence au format RAW ou au format le plus élevé format JPEG de résolution si le format RAW n'est pas pris en charge. À partir de l'image de référence, la taille et la position du cercle sont déterminées. Les Shorts sont ensuite enregistrés qualités vidéo acceptées. La trame de référence finale est extraite de chaque la qualité vidéo. À partir de l'image de référence, le champ de vision, (recadrage) et le format sont calculés pour chaque qualité vidéo.
Pour le calcul du champ de vision, le test compare la taille du cercle de l'image vidéo à la taille de cercle calculée à partir des tailles d'image et de vidéo de référence. Pour la vérification du recadrage, le test compare le centrage de l'image vidéo à l'image de référence. centrage de l'image. Pour le format, utilisez la scène, qui est grand cercle noir sur un fond blanc, le test détermine le format du cercle et vérifie que le cadre n'est pas déformé.
capteur_fusion/test_preview_stabilization.py
Android 13 ajoute le test test_preview_stabilization
,
qui teste toutes les qualités d'aperçu acceptées jusqu'à 1 920 x 1 080. Le test utilise
sur le support de test sensor fusion
nécessite la nouvelle révision 2 du contrôleur de fusion de capteurs ou une mise à jour du micrologiciel
versions antérieures du contrôleur Arduino. Pour en savoir plus sur la nouvelle manette,
consultez la section Ajouts et mises à jour matériels.
Méthode
Le téléphone est déplacé lentement selon un angle d'environ 15 degrés avec l'aperçu stabilisation activée. La rotation des images est ensuite comparée la rotation du gyroscope.
sensor_fusion/test_video_stabilization.py
Android 13 ajoute le test test_video_stabilization
,
qui teste les qualités vidéo
prises en charge jusqu'à 1920x1080. Vidéo basse résolution QCIF
la qualité est exclue. Le test utilise la
sensor fusion et
nécessite la nouvelle révision 2 du contrôleur de fusion de capteurs ou une mise à jour du micrologiciel
versions antérieures du contrôleur Arduino. Pour en savoir plus sur la nouvelle manette,
consultez la section Ajouts et mises à jour matériels.
Méthode
Le support d'essai déplace lentement le téléphone selon un angle d'environ 15 degrés stabilisation de l'aperçu activée. La rotation des images est ensuite comparée la rotation du gyroscope.
Ajouts et mises à jour du matériel
Android 13 inclut une mise à niveau vers le contrôleur de fusion de capteurs révision 2. Cette mise à niveau inclut les modifications du matériel et du micrologiciel. Cette mise à niveau permet le contrôleur pour définir la vitesse de rotation et le contrôle de la foudre. La mise à niveau a également comprend un nouveau bouclier (illustré à la figure 1), qui fournit trois canaux et trois canaux de contrôle de l'éclairage.
Figure 1 : Arduino Shield rev2.0 avec rotation et contrôle de l'éclairage
En outre, pour 13, le micrologiciel les contrôleurs doivent être mis à jour pour permettre le contrôle de la vitesse de rotation. Ce micrologiciel peut être téléchargé depuis:
Pour en savoir plus sur la nouvelle manette, consultez Contrôleur de fusion de capteurs Android 13
Prise en charge des tests des appareils pliables
Android 13 inclut la prise en charge des tests pour les appareils pliables
appareils. Pour activer le paramètre
API multi-camera
pour les pliables, l'état du téléphone
(Folded
ou Unfolded
) est requis pendant les tests.
Permet d'interroger l'état du téléphone pour tous les appareils testés, y compris les appareils non pliables
une fois l'appareil testé connecté à l'hôte, exécutez la commande adb suivante :
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier