La release di Android 13 include una serie di modifiche Fotocamera ITS. Oltre a modifiche incrementali, come le versioni Python e dei pacchetti aggiornate, nonché aggiornamenti hardware; Android 13 supporta i test video.
Questa pagina riassume le modifiche relative a Fotocamera ITS per Android 13: Le modifiche rientrano in sette grandi categorie:
- Versioni di Python e dei pacchetti
- Aggiunte dei file di configurazione
- Testa modifiche
- Nuovi test basati su tablet
- Test video
- Aggiornamenti e aggiunte hardware
- Supporto per test pieghevoli
Versioni Python e pacchetto
Android 13 supporta le seguenti versioni Python in oltre alle versioni e alle librerie Python supportate in Android 12:
- Python 3.9.2
- OpenCV 4.2.0
- Numpy 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySerial 3.5
- Cuscino 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
Aggiunte di file di configurazione
Grazie all'aggiunta del controllo dell'illuminazione per il test test_auto_flash.py
, il
Il file config.yml
richiede due parametri aggiuntivi per il controller e
canale di illuminazione. Per identificare se il dispositivo sottoposto a test (DUT) è un pieghevole
o meno, il file config.yml
richiede un terzo parametro aggiuntivo che deve
da aggiungere alle sezioni basate su tablet e a 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
Testa modifiche
scena1_1/test_black_white.py
Il test test_black_white
prevede il controllo della saturazione del canale
sono coerenti con le versioni precedenti di Android, il che significa che
il primo livello API per il controllo della saturazione del canale è Android
10:
scena1_2/test_yuv_plus_raw.py
Il test test_yuv_plus_raw
gestisce sensori non in formato 16:9 o 4:3 per fornire
un supporto migliore per i file RAW. Se il test non riesce a trovare un formato comune
tra il formato RAW del sensore e i formati di acquisizione YUV, il test
l'acquisizione RAW alla massima acquisizione YUV anche se le proporzioni sono
diverso.
scena2_a/test_faces.py
È stato eseguito il refactoring di test_faces
in test_num_faces
.
scena2_a/num_test_faces.py
Il test test_num_faces
gestisce il ritaglio del sensore e posiziona il
correttamente i rettangoli dei volti nelle acquisizioni con fotocamera UW ritagliati.
scene3/test_lens_position.py
Il test test_lens_position
è deprecato in Android
13:
scene6/test_zoom.py
Il test test_zoom
è stato sottoposto a refactoring per facilitare i test di tre e quattro
sistemi di fotocamere. Se la fotocamera esegue correttamente il test su un intervallo di proporzioni 10x dello zoom,
dal test. In questo modo è possibile eseguire il test dello zoom
distanza dal grafico.
scene_change/test_scene_change.py
Il test test_scene_change
è deprecato in Android
13:
Nuovi test basati su tablet
Android 13 include due nuovi test basati su tablet. Entrambi i test sono obbligatori per i dispositivi lanciati con Android 13, ma i dispositivi vengono ignorati per i dispositivi che eseguono l'upgrade a Android 13.
Scena | Nome del test | Primo livello API | Descrizione |
---|---|---|---|
2_a | test_automatico_flash | 33 | Conferma l'attivazione del flash automatico nelle scene buie. |
2_b | test_yuv_jpg_identicità_acquisizione | 33 | Verifica che le acquisizioni YUV e JPEG siano identiche in bit. |
scena2_a/test_auto_flash.py
Android 13 aggiunge il test test_auto_flash
.
Parametri
flash
: salta il test se il flash non è disponibile.
Metodo
Il test configura la richiesta di acquisizione per il flash automatico e presenta una scena
richiedono un evento flash. L'illuminazione dell'attrezzatura di prova e del tablet è
disattivata per presentare una scena scura per l'algoritmo di esposizione automatica. Il test
configura una sequenza di acquisizioni NUM_FRAMES
con il flash automatico attivato. Se
L'impostazione AE_STATE
restituisce FLASH_REQUIRED
il test verifica che il flash sia
attivati nelle acquisizioni.
L'illuminazione può essere controllata manualmente, se richiesto, o automaticamente con un
Controller Arduino con controllo dell'illuminazione aggiunto per i test automatici. Un nuovo
La cartella dell'utilità lighting_control_utils
centralizza il codice per il controllo
l'illuminazione nei test.
scena2_a/test_yuv_jpeg_capture_sameness.py
Android 13 aggiunge test_yuv_jpeg_capture_sameness
test.
Parametri
streamUseCase
: determina se la videocamera supporta il caso d'uso dello stream.android.jpeg.quality
: imposta la qualità JPEG su 100.
Metodo
Questo test acquisisce due immagini utilizzando i più grandi formati comuni YUV e JPEG con
le stesse proporzioni del formato JPEG più grande che non superano una risoluzione di
1920x1440. Il test imposta jpeg.quality
su 100 e acquisisce una doppia superficie
richiesta. Quindi converte entrambe le immagini in array RGB e calcola la radice 3D
differenza quadrata media (RMS) tra le due immagini. La tolleranza alla differenza
è impostato su 1%.
Test dei video
Camera ITS aggiunge il supporto per i test video in Android 13:
Android 13 aggiunge i seguenti test:
Scena | Nome del test | Primo livello API | Descrizione |
---|---|---|---|
4 | stabilizzazione_anteprima_test | 33 | Verifica che l'anteprima video non venga ritagliata troppo con la stabilizzazione attivata. |
4 | rapporto_aspetto_video_di_test_e_ritaglio | 33 | Conferma i formati video FoV, proporzioni e ritaglio. |
fusione_sensore | stabilizzazione_anteprima_test | 33 | Conferma il funzionamento della stabilizzazione dell'anteprima. |
fusione_sensore | prova_stabilizione_video | 33 | Conferma il funzionamento della stabilizzazione video. |
scena4/test_preview_stabilization_fov.py
Android 13 aggiunge test_preview_stabilization_fov
test. Questo test controlla le dimensioni di anteprima supportate per garantire che il FoV
ritagliati in modo inappropriato.
Metodo
Il test acquisisce due video: uno con la stabilizzazione dell'anteprima attivata e un altro con la stabilizzazione dell'anteprima disattivata. Si sceglie un frame rappresentativo video e analizzati per verificare che il FoV cambi nei due video all'interno delle specifiche.
In particolare, il test verifica i seguenti parametri con e senza stabilizzazione dell'anteprima:
- La rotondità del cerchio rimane costante.
- Il centro del cerchio rimane stabile.
- La dimensione del cerchio non cambia di più del 20%, il che significa che il FoV cambia al massimo il 20%.
scena4/test_video_aspect_ratio_and_crop.py
Android 13 aggiunge test_video_aspect_ratio_and_crop
test. Simile a test_aspect_ratio_and_crop
per le acquisizioni statiche, questo test verifica i formati video supportati
per assicurarti che i fotogrammi dei video non vengano allungati o ritagliati in modo inappropriato.
Tutti i video qualitativi segnalati autonomamente vengono testati. Inoltre, se
La videocamera supporta i video HLG10
; viene testato un video a 10 bit.
Android 13 aggiunge get_available_video_qualities
a its_session_utils
. Per condividere un codice comune
con i test esistenti, Android 13 include anche due nuove
funzioni di utilità, image_fov_utils
e video_processing_utils
.
Metodo
Il test acquisisce un'immagine di riferimento con il formato RAW o risoluzione JPEG non supportata se il formato RAW non è supportato. Dall'immagine di riferimento, le dimensioni del cerchio e la posizione sono determinate. I video brevi vengono quindi ripresi con qualità video supportate. Il frame di riferimento finale viene estratto da ogni qualità video. Dal frame di riferimento, il campo visivo (FoV), centrando (ritaglio) e le proporzioni vengono calcolate per ciascuna qualità video.
Per il calcolo del FoV, il test mette a confronto la dimensione del cerchio del fotogramma video con le dimensioni dei cerchi calcolate in base alle dimensioni dell'immagine e del formato video di riferimento. Per il controllo del ritaglio, il test confronta la centratura del fotogramma del video con il riferimento centrare l'immagine. Per il controllo delle proporzioni, l'uso della scena, che è una cerchio grande nero su sfondo bianco, il test determina le proporzioni del cerchio e verifica che il fotogramma non sia distorto.
sensor_fusion/test_preview_stabilization.py
Android 13 aggiunge il test test_preview_stabilization
,
che verifica tutte le qualità di anteprima supportate fino a 1920 x 1080. Il test utilizza
il banco di prova sensor fusion
richiede il nuovo controller fusione revisione 2 o un upgrade del firmware di
delle versioni precedenti del controller Arduino. Per maggiori dettagli sul nuovo controller,
consulta Aggiornamenti e aggiunte hardware.
Metodo
Lo smartphone viene spostato lentamente su un'angolazione di circa 15 gradi con anteprima stabilizzazione attivata. La rotazione delle immagini viene quindi confrontata con rotazione del giroscopio.
sensor_fusion/test_video_stabilization.py
Android 13 aggiunge il test test_video_stabilization
,
che verifica le qualità video supportate fino a 1920 x 1080. Video QCIF a bassa risoluzione
la qualità è esclusa. Il test utilizza
banco di prova sensor fusion e
richiede il nuovo controller fusione revisione 2 o un upgrade del firmware di
delle versioni precedenti del controller Arduino. Per maggiori dettagli sul nuovo controller,
consulta Aggiornamenti e aggiunte hardware.
Metodo
L'attrezzatura di prova muove lentamente lo smartphone su un angolo di circa 15 gradi con stabilizzazione dell'anteprima attivata. La rotazione delle immagini viene quindi confrontata con la rotazione del giroscopio.
Aggiornamenti e aggiunte hardware
Android 13 include un upgrade alla versione basata su Arduino revision 2 sensor fusion. Questo upgrade include modifiche sia all'hardware che al firmware. L'upgrade consente il controller per impostare la velocità di rotazione e il controllo della luminosità. L'upgrade include un nuovo scudo (mostrato nella Figura 1), che fornisce tre canali di e tre canali di controllo dell'illuminazione.
Figura 1. Scudo di Arduino rev2.0 con controllo di rotazione e illuminazione
Inoltre, per la versione 13, il firmware dei modelli devono essere aggiornati per abilitare il controllo della velocità di rotazione. Questo firmware possono essere scaricati da:
Per ulteriori informazioni sul nuovo controller, visita Controller Fusion per Android 13.
Supporto per test pieghevoli
Android 13 include il supporto dei test per il pieghevole
dispositivi mobili. Per attivare il
API multi-camera
per i pieghevoli, lo stato dello smartphone
(Folded
o Unfolded
) è obbligatorio durante il test.
Per abilitare il polling dello stato del telefono per tutti i dispositivi dut, inclusi quelli non pieghevoli
sui telefoni, esegui il seguente comando adb dopo che il DUT è stato connesso all'host.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier