Note di rilascio della suite di test per le immagini della fotocamera Android 13

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 Python e pacchetto

Android 13 supporta le seguenti versioni Python in oltre alle versioni e alle librerie Python supportate in Android 12:

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.

Scudo Arduino rev2.0

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