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
- Dodania do pliku konfiguracyjnego
- Sprawdź zmiany
- Nowe testy na tabletach
- Testowanie wideo
- Aktualizacje i aktualizacje sprzętu
- Testowanie składanych elementów
Python i wersje pakietów
Android 13 obsługuje te wersje Pythona w oprócz wersji i bibliotek Pythona obsługiwanych przez Androida. 12.
- Python 3.9.2
- OpenCV 4.2.0
- Numpy 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySerial 3.5
- Poduszka 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
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.
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