Informacje o wersji Androida 13 Camera Image Test Suite

Android 13 zawiera wiele zmian Aparat. Oprócz zmian przyrostowych, takich jak zaktualizowany Python i wersje pakietów, aktualizacji sprzętu, Android 13 obsługuje testowanie wideo.

Ta strona zawiera podsumowanie zmian wprowadzonych przez Aparat w Androidzie 13. Zmiany dzielą się na 7 ogólnych kategorii:

Python i wersje pakietów

Android 13 obsługuje te wersje Pythona w oprócz wersji i bibliotek Pythona obsługiwanych przez Androida. 12.

Dodania do pliku konfiguracyjnego

W teście test_auto_flash.py wprowadzono dodatkowe funkcje sterowania oświetleniem, Plik config.yml wymaga 2 dodatkowych parametrów kontrolera oraz kanału oświetlenia. Aby określić, czy testowane urządzenie jest składane lub nie, plik config.yml wymaga trzeciego dodatkowego parametru, który musi zostać dodany do sekcji przeznaczonych na tablety i sensor fusion.

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

Sprawdź zmiany

scena1_1/test_black_white.py

Test test_black_white obejmuje sprawdzanie nasycenia kanału co w poprzednich wersjach Androida, co oznacza, że wymagane Pierwszym poziomem interfejsu API do sprawdzania nasycenia kanału jest Android 10.

scena1_2/test_yuv_plus_raw.py

Test test_yuv_plus_raw wykorzystuje czujniki inne niż 16:9 lub 4:3, aby zapewnić lepszą obsługę formatu RAW. Jeśli podczas testu nie można znaleźć wspólnego formatu między formatami RAW czujnika a formatami przechwytywania YUV, test porównuje nawet wtedy, gdy formaty obrazu są w inny sposób.

scen2_a/test_faces.py

Element test_faces został refaktoryzowany na element test_num_faces.

scena2_a/test_num_faces.py

Test test_num_faces wykonuje przycięcie z czujnika i umieszcza prawidłowe prostokąty twarzy na zdjęciach przyciętych.

scen3/test_lens_position.py

Test test_lens_position został wycofany na Androidzie 13.

scen6/zoom_testowy.py

Test test_zoom jest refaktoryzowany, aby ułatwić testowanie 3 i 4 testów systemów aparatów fotograficznych. Jeśli aparat poprawnie wykona test przy 10-krotnym współczynniku proporcji, test wyjdzie poprawnie. Dzięki temu można testować powiększenie odległość na wykresie.

zmiana_sceny/zmiana_scene_testowej.py

Test test_scene_change został wycofany na Androidzie 13.

Nowe testy na tabletach

Android 13 obejmuje 2 nowe testy na tabletach. Oba testy są obowiązkowe dla urządzeń uruchamianych z Android 13, ale są pomijane w przypadku urządzeń przechodzących na Android 13.

Scena Nazwa testu Pierwszy poziom interfejsu API Opis
2_a test_auto_flash 33 Potwierdza, że ciemne sceny aktywują automatyczną lampę błyskową.
2_b test_juv_jpg_przechwytywanie_samkości 33 Potwierdzić, że nadal przechwytywane pliki YUV i JPEG są identyczne pod względem bitowym.

scena2_a/test_auto_flash.py

Android 13 dodaje test test_auto_flash.

Parametry

  • flash: pomija test w przypadku braku dostępności lampy błyskowej.

Metoda

W ramach testu konfiguruje się żądanie przechwytywania automatycznego lampy błyskowej i wyświetla scenę wymaga zdarzenia Flash. Oświetlenie w zestawie testowym i tablecie jest wyłączono, aby zaprezentować ciemną scenę dla algorytmu automatycznej ekspozycji. Test konfiguruje sekwencję NUM_FRAMES ujęć z włączoną automatyczną lampą błyskową. Jeśli Ustawienie AE_STATE zwraca wartość FLASH_REQUIRED, a test sprawdza, czy Flash jest wystrzelony w nagraniu.

Oświetleniem możesz sterować ręcznie, gdy o to poprosimy, lub automatycznie Kontroler Arduino z elementem sterowania oświetleniem dodanym do automatycznych testów. Nowy folder narzędzi lighting_control_utils centralizuje kod do sterowania podczas testów oświetlenia.

scene2_a/test_yuv_jpeg_capture_sameness.py

Android 13 dodaje test_yuv_jpeg_capture_sameness test.

Parametry

  • streamUseCase: określa, czy kamera obsługuje przypadek użycia związany ze strumieniem.
  • android.jpeg.quality: ustawia jakość JPEG na 100.

Metoda

W ramach tego testu zostaną zrobione 2 zdjęcia przy użyciu największych popularnych formatów YUV i JPEG z ten sam współczynnik proporcji co w największym formacie JPEG, nieprzekraczający rozdzielczości 1920x1440. Test ustawia jpeg.quality na 100 i rejestruje podwójną powierzchnię użytkownika. Następnie konwertuje oba obrazy na tablice RGB i oblicza pierwiastek 3D średnia kwadratowa (RMS) między tymi dwoma obrazami. Tolerancja różnicy jest ustawiona na 1%.

Testowanie wideo

Aparat ITS obsługuje testowanie wideo w Androidzie 13.

Android 13 dodaje te testy:

Scena Nazwa testu Pierwszy poziom interfejsu API Opis
4 stabilizacja_testu_podglądu 33 Potwierdza, że podgląd filmu nie przycięty zbyt mocno z włączoną stabilizacją.
4 współczynnik_parametru_testu_filmu_i_przycięcie 33 Potwierdza formaty wideo, współczynnik proporcji i przycinanie.
czujnik_fuzji stabilizacja_testu_podglądu 33 Potwierdza działanie stabilizacji w podglądzie.
czujnik_fuzji test_stabilizacji_wideo 33 Potwierdza działanie stabilizacji wideo.

scene4/test_preview_stabilization_fov.py

Android 13 dodaje test_preview_stabilization_fov test. W ramach tego testu sprawdzamy obsługiwane rozmiary podglądu, aby zapobiec niewłaściwie przycięte.

Metoda

Test rejestruje 2 filmy: jeden z włączoną stabilizacją w podglądzie i jeden przy wyłączonej stabilizacji w podglądzie. Dla każdej klatki jest wybierana reprezentatywna klatka wideo i przeanalizowano, by sprawdzić, czy zmiany oglądalności w obu filmach zgodnie ze specyfikacją.

W szczególności test sprawdza się pod kątem poniższych parametrów (z uwzględnieniem i bez niego): stabilizacja podglądu:

  • Zaokrąglenie okręgu jest stałe.
  • Środek okręgu jest stabilny.
  • Rozmiar okręgu zmienia się nie więcej niż 20%, co oznacza, że zmienia się FoV. maksymalnie 20%.

scen4/test_video_aspect_ratio_and_crop.py

Android 13 dodaje test_video_aspect_ratio_and_crop test. Podobne do test_aspect_ratio_and_crop w przypadku nieruchomych ujęć, ten test sprawdza obsługiwane formaty wideo aby mieć pewność, że klatki wideo nie są odpowiednio rozciągnięte lub przycięte. Wszystkie kwalifikacje filmów zgłoszonych przez Ciebie są testowane. Dodatkowo, jeśli kamera obsługuje HLG10 wideo, testowana jest 10-bitowa wersja wideo.

Android 13 dodaje get_available_video_qualities do its_session_utils. Aby udostępnić wspólny kod zgodnie z dotychczasowymi testami, Android 13 zawiera też 2 nowe funkcje użytkowe, image_fov_utils i video_processing_utils.

Metoda

Test rejestruje obraz referencyjny w formacie RAW lub o najwyższej rozdzielczości rozdzielczość Format JPEG, jeśli format RAW nie jest obsługiwany. Na obrazie referencyjnym określa się rozmiar i lokalizację okręgu. Następnie nagrywane są krótkie filmy, na których obsługiwane jakości wideo. Ostateczna ramka referencyjna jest wyodrębniana z każdego jakość filmu. W ramce referencyjnej pole widzenia skupia się (przycięcie) i współczynnik proporcji są obliczane dla każdej jakości filmu.

W przypadku obliczenia FoV test porównuje rozmiar okręgu z klatką wideo rozmiar okręgu obliczony na podstawie rozmiarów obrazów referencyjnych i formatów wideo. Na potrzeby sprawdzenia przycięcia następuje porównanie wyśrodkowanej klatki filmu z plikiem referencyjnym. wyśrodkowanie obrazu. Do sprawdzenia formatu obrazu użyj sceny, która jest duże czarne koło na białym tle, test określa współczynnik proporcji. i sprawdzić, czy klatka nie jest zniekształcona.

sensor_fusion/test_preview_stabilization.py

Android 13 dodaje test test_preview_stabilization, który sprawdza wszystkie obsługiwane rozdzielczości podglądu – do 1920 x 1080. Test używa funkcji zestaw testowy sensor fusion, wymaga nowego kontrolera Sensor Fusion w wersji 2 lub aktualizacji oprogramowania układowego starszych wersji kontrolera Arduino. Więcej informacji o nowym kontrolerze znajdziesz Patrz Aktualizacje i aktualizacje sprzętu.

Metoda

Telefon jest powoli przesuwany pod kątem około 15 stopni z podglądem stabilizacja została włączona. Następnie obraz obrotu jest porównywany z i obracam żyroskop.

sensor_fusion/test_video_stabilization.py

Android 13 dodaje test test_video_stabilization, który testuje filmy w jakości do 1920 x 1080. QCIF – film o niskiej rozdzielczości jakość jest wykluczona. Test używa funkcji urządzenia do testów sensor fusion. wymaga nowego kontrolera Sensor Fusion w wersji 2 lub aktualizacji oprogramowania układowego starszych wersji kontrolera Arduino. Więcej informacji o nowym kontrolerze znajdziesz Patrz Aktualizacje i dodatki sprzętowe.

Metoda

Urządzenie testowe powoli porusza telefon po kącie około 15 stopni, stabilizacja podglądu została włączona. Następnie porównujemy obrót obrazów z i obracaniu żyroskopu.

Aktualizacje i dodatki do sprzętu

Android 13 zawiera uaktualnienie do wersji opartej na Arduino wersji 2 kontrolera Sen Fusion. To uaktualnienie obejmuje zmiany zarówno sprzętu, jak i oprogramowania. Uaktualnienie umożliwia za pomocą kontrolera. Uaktualnienie zawiera nową tarczę (pokazaną na rys. 1), w której znajdują się 3 kanały i 3 kanały sterowania oświetleniem.

Arduino Shield rev2.0

Rysunek 1. Arduino Shield rev2.0 z regulacją obrotu i oświetlenia

Dodatkowo w wersji 13 oprogramowanie aby włączyć sterowanie prędkością obrotu, trzeba zaktualizować kontrolery. To oprogramowanie układowe do pobrania z:

Więcej informacji o nowym kontrolerze znajdziesz w sekcji Kontroler Sensor Fusion na Androidzie 13

Obsługa testowania składanego urządzenia

Android 13 obsługuje testowanie urządzeń składanych urządzenia. Aby włączyć funkcję interfejs API z wieloma kamerami, w przypadku urządzeń składanych, stan telefonu, (Folded lub Unfolded) jest wymagane podczas testowania. Aby włączyć sondowanie stanu telefonu w przypadku wszystkich urządzeń DUT, w tym urządzeń nieskładanych po połączeniu urządzenia DUT z hostem uruchom to polecenie adb.

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