Versionshinweise für die Android 13 Camera Image Test Suite

Die Android 13-Version enthält eine Reihe von Änderungen an Kamera ITS. Zusätzlich zu inkrementelle Änderungen wie aktualisierte Python- und Paketversionen Hardwareupdates verwenden, unterstützt Android 13 Videotests.

Auf dieser Seite werden die ITS-Änderungen der Kamera für Android zusammengefasst 13. Die Änderungen lassen sich in sieben große Kategorien einteilen:

Python- und Paketversionen

Android 13 unterstützt die folgenden Python-Versionen in Neben den Python-Versionen und -Bibliotheken, die in Android unterstützt werden, 12:

Hinzufügen von Konfigurationsdateien

Durch die zusätzliche Beleuchtungssteuerung für den test_auto_flash.py-Test wird das Signal Die Datei config.yml benötigt zwei zusätzliche Parameter für den Controller und Beleuchtungskanal. Um festzustellen, ob das zu testende Gerät ein faltbares Gerät ist erfordert die Datei config.yml einen dritten zusätzlichen Parameter, sowohl dem Tablet-basierten als auch dem Sensor-Fusionsabschnitt hinzugefügt werden.

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

Änderungen testen

Szene1_1/test_black_white.py

Beim test_black_white-Test wird die Kanalsättigung geprüft mit früheren Versionen von Android. Das bedeutet, dass die erforderlichen erste API-Ebene für die Kanalsättigungsprüfung ist Android 10.

Szene1_2/test_yuv_plus_raw.py

Der test_yuv_plus_raw-Test verarbeitet Nicht-16:9- oder 4:3-Sensoren, um eine bessere Unterstützung für RAW. Wenn der Test kein gängiges Format finden kann zwischen dem Sensor-RAW-Format und den YUV-Aufnahmeformaten unterscheidet, RAW-Aufnahme bis zur größten YUV-Aufnahme, auch wenn die Seitenverhältnisse unterscheiden.

Szene2_a/test_faces.py

test_faces wurde in test_num_faces refaktoriert.

Szene2_a/test_anzahl_gesichter.py

Der test_num_faces-Test verarbeitet den Sensorzuschnitt und platziert bei Aufnahmen der UW-Kamera korrekt ausgerichtet.

Szene3/test_lens_position.py

Der test_lens_position-Test wurde in Android eingestellt 13.

Scene6/test_zoom.py

Der test_zoom-Test wurde refaktoriert, um einfachere Tests von drei und vier zu ermöglichen. Kamerasysteme. Wenn die Kamera bei einem Zoombereich mit einem 10-fachen Seitenverhältnis korrekt testet, dass der Test korrekt beendet wird. So können Zoomtests an einem einzigen Ort durchgeführt werden, Diagramm-Distanz.

Scene_change/test_scene_change.py

Der test_scene_change-Test wurde in Android eingestellt 13.

Neue Tablet-basierte Tests

Android 13 enthält zwei neue Tablet-basierte Tests. Beide Tests sind für Geräte erforderlich, die mit bei Geräten mit Android 13, Android 13

Szene Test name Erstes API-Level Beschreibung
2_a test_auto_flash 33 Bestätigt, dass bei dunklen Szenen der automatische Blitz ausgelöst wird.
2_b test_yuv_jpg_capture_sameness 33 Hiermit wird bestätigt, dass YUV- und JPEG-Aufnahmen Bitweise identisch sind.

Szene2_a/test_auto_flash.py

Android 13 fügt den test_auto_flash-Test hinzu.

Parameter

  • flash: Überspringt den Test, wenn Flash nicht verfügbar ist.

Method

Der Test konfiguriert die Aufnahmeanforderung für den automatischen Blitz und präsentiert eine Szene die ein Flash-Ereignis erfordern. Die Beleuchtung am Prüfstand und am Tablet ist deaktiviert, um für den Algorithmus für die automatische Belichtung ein dunkles Bild zu präsentieren. Der Test Konfiguriert eine Sequenz von NUM_FRAMES-Aufnahmen mit aktiviertem automatischem Blitz. Wenn die Die Einstellung AE_STATE gibt FLASH_REQUIRED zurück. Der Test prüft, ob Flash aufgenommen wurden.

Die Beleuchtung kann manuell gesteuert werden, wenn Sie dazu aufgefordert werden, oder automatisch mit einem Arduino-Controller mit hinzugefügter Beleuchtungsregelung für automatisierte Tests. Eine neue Dienstprogrammordner lighting_control_utils zentralisiert den Code zur Steuerung des Licht in Tests.

Szene2_a/test_yuv_jpeg_capture_sameness.py

Android 13 fügt die test_yuv_jpeg_capture_sameness hinzu testen.

Parameter

  • streamUseCase: Legt fest, ob die Kamera den Anwendungsfall Stream unterstützt.
  • android.jpeg.quality: Legt die JPEG-Qualität auf 100 fest.

Method

Bei diesem Test werden zwei Bilder in den größten gängigen YUV- und JPEG-Formaten mit einer das gleiche Seitenverhältnis wie das größte JPEG-Format mit einer Auflösung von maximal 1920 × 1440. Der Test legt jpeg.quality auf 100 fest und erfasst eine duale Oberfläche Anschließend werden beide Bilder in RGB-Arrays konvertiert und die 3D-Wurzel berechnet. mittlere quadratische Differenz (RMS) zwischen den beiden Bildern. Die Differenztoleranz auf 1 % eingestellt ist.

Videotests

Kamera-ITS unterstützt jetzt Videotests unter Android 13.

Android 13 fügt die folgenden Tests hinzu:

Szene Test name Erstes API-Level Beschreibung
4 test_preview_stabilization_fov 33 Bestätigt, dass die Videovorschau bei aktivierter Stabilisierung nicht zu stark zugeschnitten wird.
4 test_video_verhältnis_und_zuschnitt 33 Bestätigt Videoformate Bildformat, Seitenverhältnis und Zuschneiden.
Sensorfusion test_preview_stabilition 33 Bestätigt, dass die Vorschaustabilisierung funktioniert.
Sensorfusion test_video_stabilition 33 Bestätigt, dass die Videostabilisierung funktioniert.

Scene4/test_preview_stabilization_fov.py

Android 13 fügt die test_preview_stabilization_fov hinzu testen. Hier werden die unterstützten Vorschaugrößen überprüft, um sicherzustellen, dass das falsch zugeschnitten.

Method

Im Test werden zwei Videos aufgenommen, eines mit aktivierter Vorschaustabilisierung und eines bei deaktivierter Vorschaustabilisierung. Aus jedem Frame wird ein repräsentativer Frame und analysiert, um sicherzustellen, dass die innerhalb der Spezifikationen.

Dabei wird insbesondere auf die folgenden Parameter mit und ohne Vorschaustabilisierung:

  • Die Rundheit bleibt konstant.
  • Die Mitte des Kreises bleibt dabei unverändert.
  • Die Größe des Kreises ändert sich um nicht mehr als 20%, was bedeutet, dass sich der Sichtfeld höchstens 20%.

Szene4/test_video_Seitenverhältnis_und_zuschnitte.py

Android 13 fügt die test_video_aspect_ratio_and_crop hinzu testen. Ähnlich wie test_aspect_ratio_and_crop für Standbilder testen, werden die unterstützten Videoformate überprüft. damit die Videoframes nicht falsch gestreckt oder zugeschnitten werden. Alle selbst gemachten Angaben zur Videoqualität werden getestet. Wenn außerdem Die Kamera unterstützt HLG10-Video, 10-Bit-Video wurde getestet.

Android 13 fügt die get_available_video_qualities hinzu auf its_session_utils setzen. Um gemeinsamen Code zu teilen enthält Android 13 außerdem zwei neue Dienstprogrammfunktionen image_fov_utils und video_processing_utils.

Method

Der Test erfasst ein Referenzbild im RAW-Format oder mit dem höchsten JPEG-Format verwenden, wenn RAW nicht unterstützt wird. Aus dem Referenzbild Kreisgröße und Position ermittelt. Die Shorts werden dann mit allen unterstützt. Der letzte Referenzrahmen wird jeweils Videoqualität. Vom Referenzframe aus wird das Sichtfeld, die Zentrierung (Zuschneiden) und das Seitenverhältnis werden für jede Videoqualität berechnet.

Bei der Berechnung des Sichtfelds wird die Kreisgröße des Videoframes mit die berechnete Kreisgröße aus den Größen des Referenzbilds und des Videoformats. Bei der Zuschneideprüfung wird die Zentrierung des Videoframes mit der Referenz Bild zentrieren. Überprüfen Sie für die Prüfung des Seitenverhältnisses die Szene. großen schwarzen Kreis auf weißem Hintergrund, bestimmt der Test das Seitenverhältnis des Kreises und stellt sicher, dass der Frame nicht verzerrt ist.

sensor_fusion/test_preview_stabilization.py

Android 13 fügt den test_preview_stabilization-Test hinzu, mit dem alle unterstützten Vorschauqualitäten bis 1920 x 1080 getestet werden. Der Test verwendet Sensor Fusion-Testobjekt und erfordert den neuen Sensor Fusion-Controller der Überarbeitungsversion oder ein Firmware-Upgrade älteren Arduino-Controller-Versionen. Weitere Informationen zum neuen Controller Siehe Hardware-Updates und -Ergänzungen.

Method

Das Smartphone wird langsam über einen Winkel von etwa 15 Grad bewegt. Vorschau Stabilisierung aktiviert. Die Drehung der Bilder wird dann mit der Drehung des Gyroskops.

sensor_fusion/test_video_stabilization.py

Android 13 fügt den test_video_stabilization-Test hinzu, zum Testen unterstützter Videoqualitäten bis 1920 x 1080. QCIF-Video mit niedriger Auflösung ist ausgeschlossen. Für den Test wird das Sensor Fusion-Testgerät und erfordert den neuen Sensor Fusion-Controller der Überarbeitungsversion oder ein Firmware-Upgrade älteren Arduino-Controller-Versionen. Weitere Informationen zum neuen Controller Siehe Hardware-Updates und -Ergänzungen.

Method

Auf dem Prüfstand wird das Smartphone langsam über einen etwa 15-Grad-Winkel bewegt, Vorschaustabilisierung aktiviert. Die Drehung der Bilder wird dann um das Gyroskop zu drehen.

Hardware-Updates und -Ergänzungen

Android 13 enthält ein Upgrade auf die revision 2 Sensor Fusion Controller. Dieses Upgrade umfasst Änderungen der Hardware und der Firmware. Das Upgrade ermöglicht um die Drehgeschwindigkeit und den Blitz einzustellen. Das Upgrade ein neues Schild (siehe Abbildung 1) mit drei Kanälen Drehung und drei Kanäle zur Steuerung der Beleuchtung.

Arduino Shield Version 2.0

Abbildung 1: Arduino Shield Rev2.0 mit Rotation und Beleuchtung

Außerdem wird bei 13 die Firmware der bestehenden Controller müssen aktualisiert werden, um die Steuerung der Drehgeschwindigkeit zu ermöglichen. Diese Firmware kann heruntergeladen werden von:

Weitere Informationen zum neuen Controller findest du unter Android 13 Sensor Fusion Controller

Unterstützung für Tests von faltbaren Smartphones

Android 13 unterstützt Tests für faltbare Smartphones Geräte. Um den API für mehrere Kameras bei faltbaren Geräten, der Smartphone-Status (Folded oder Unfolded) ist während des Tests erforderlich. Um die Abfrage des Telefonstatus für alle DUTs zu aktivieren, einschließlich nicht faltbarer Telefonen, führen Sie den folgenden ADB-Befehl aus, nachdem der DUT mit dem Host verbunden ist.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier