Notes de version de la suite Camera Image Test d'Android 13

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

Android 13 prend en charge les versions suivantes de Python dans en plus des versions et bibliothèques Python compatibles avec Android 12:

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.

Arduino Shield rev2.0

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