Notas da versão do pacote de testes de imagens da câmera do Android 13

A versão do Android 13 inclui várias mudanças no Camera ITS. Além de alterações incrementais, como versões atualizadas de pacote e Python e atualizações de hardware, o Android 13 oferece suporte a testes de vídeo.

Esta página resume as mudanças no Camera ITS para Android 13. As mudanças se enquadram em sete categorias amplas:

Versões de pacote e Python

O Android 13 oferece suporte às seguintes versões do Python em além das versões e bibliotecas do Python com suporte no Android 12.

Adições ao arquivo de configuração

Devido à adição do controle de iluminação no teste test_auto_flash.py, o O arquivo config.yml precisa de dois parâmetros adicionais para o controlador e canal de iluminação. Identificar se o dispositivo em teste (DUT) é dobrável. ou não, o arquivo config.yml exige um terceiro parâmetro adicional que precisa ser adicionado às seções de fusão do sensor e baseado em tablet.

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

Testar alterações

cena1_1/teste_preto_branco.py

O teste test_black_white realiza a verificação de saturação de canal. consistentes com versões anteriores do Android, o que significa que os requisitos o primeiro nível de API para a verificação de saturação do canal é o Android 10.

cenário1_2/teste_yuv_plus_raw.py

O teste test_yuv_plus_raw processa sensores que não são 16:9 ou 4:3 para fornecer suporte melhor para RAW. Se o teste não encontrar um formato comum entre o formato RAW do sensor e os formatos de captura YUV, o teste compara da captura RAW para a maior captura YUV, mesmo que as proporções sejam diferente.

cenário2_a/test_faces.py

O test_faces foi refatorado em test_num_faces.

cena2_a/num_de_testes.py

O teste test_num_faces processa o corte do sensor e posiciona o retângulos voltados para o rosto corretamente em capturas de câmera UW que foram cortadas.

cenário3/test_lens_position.py

O teste test_lens_position foi descontinuado no Android 13.

cena6/teste_zoom.py

O teste test_zoom foi refatorado para facilitar os testes três e quatro. sistemas de câmeras. Se a câmera realizar testes corretos em um intervalo de proporção de 10x com zoom, o teste sai corretamente. Isso permite que testes de zoom sejam realizados em um único distância do gráfico.

cena_change/test_scene_change.py

O teste test_scene_change foi descontinuado no Android 13.

Novos testes baseados em tablets

O Android 13 inclui dois novos testes baseados em tablets. Os dois testes são obrigatórios para dispositivos lançados com Android 13, mas são ignoradas nos dispositivos que passam por upgrade para Android 13

Scene Nome do teste Primeiro nível da API Descrição
2_a teste_automático_flash 33 Confirma cenas escuras que acionam o flash automático.
2_b teste_yuv_jpg_capture_sameness 33 Confirma que as capturas YUV e JPEG são idênticas em bit a bit.

cenário2_a/teste_auto_flash.py

O Android 13 adiciona o teste test_auto_flash.

Parâmetros

  • flash: pula o teste se o flash não está disponível.

Método

O teste configura a solicitação de captura para flash automático e apresenta uma cena que não requer um evento em Flash. A iluminação no equipamento de teste e no tablet está desativada para apresentar um cenário escuro para o algoritmo de exposição automática. O teste configura uma sequência de capturas de NUM_FRAMES com o flash automático ativado. Se o A configuração AE_STATE retorna FLASH_REQUIRED. O teste verifica se há um flash disparados nas capturas.

A iluminação pode ser controlada manualmente, quando solicitado, ou automaticamente, com uma Controle Arduino com controle de iluminação adicionado para testes automatizados. Um novo a pasta de utilitários lighting_control_utils centraliza o código para controlar o a iluminação em testes.

cena2_a/teste_yuv_jpeg_capture_sameness.py

O Android 13 adiciona a test_yuv_jpeg_capture_sameness. teste.

Parâmetros

  • streamUseCase: determina se a câmera oferece suporte ao caso de uso de stream.
  • android.jpeg.quality: define a qualidade JPEG como 100.

Método

Esse teste captura duas imagens usando os maiores formatos comuns YUV e JPEG com tem a mesma proporção do maior formato JPEG que não excede uma resolução de 1.920 x 1.440. O teste define jpeg.quality como 100 e captura uma superfície dupla. solicitação. Em seguida, ele converte as duas imagens em matrizes RGB e calcula a raiz 3D. diferença de quadrado médio (RMS, na sigla em inglês) entre as duas imagens. A tolerância à diferença está definido como 1%.

Testes de vídeo

Camera ITS adiciona suporte a testes de vídeo no Android 13.

O Android 13 adiciona os testes abaixo:

Scene Nome do teste Primeiro nível da API Descrição
4 estabilização_da_visualização_teste 33 Confirma que a visualização do vídeo não corta muito com a estabilização ativada.
4 proporção_e_corte_do_aspecto_do_vídeo_teste 33 Confirma os formatos de vídeo, foco em proporção e corte.
fusão_do_sensor estabilização_da_visualização_do_teste 33 Confirma o funcionamento da estabilização da visualização.
fusão_do_sensor teste_estabilização_de_vídeo 33 Confirma o funcionamento da estabilização de vídeo.

cena4/estabilização_de_visualização_de_teste_fov.py

O Android 13 adiciona a test_preview_stabilization_fov. teste. Este teste verifica os tamanhos de visualização compatíveis para garantir que o campo de visão não seja cortadas incorretamente.

Método

O teste captura dois vídeos, um com a estabilização de visualização ativada e outro com a estabilização de visualização desativada. Um frame representativo é selecionado de cada vídeo e analisado para garantir que as mudanças de campo de visão nos dois vídeos sejam dentro das especificações.

Especificamente, o teste verifica os seguintes parâmetros com e sem estabilização da visualização:

  • O arredondamento do círculo permanece constante.
  • O centro do círculo permanece estável.
  • O tamanho do círculo não muda mais de 20%, o que significa que o campo de visão muda no máximo 20%.

taxa_aspecto_do_vídeo_de_teste_e_crop.py

O Android 13 adiciona a test_video_aspect_ratio_and_crop. teste. Semelhante a test_aspect_ratio_and_crop de imagens estáticas, esse teste verifica os formatos de vídeo compatíveis para garantir que os frames do vídeo não sejam esticados nem cortados de maneira inadequada. Todas as qualidades de vídeo informadas por você são testadas. Além disso, se a câmera oferece suporte a vídeos HLG10, vídeos de 10 bits foram testados.

O Android 13 adiciona a get_available_video_qualities. para its_session_utils. Para compartilhar código comum com testes que já existem, o Android 13 também inclui duas novas funções utilitárias, image_fov_utils e video_processing_utils.

Método

O teste captura uma imagem de referência com o formato RAW ou a formato JPEG de resolução se RAW não for compatível. A partir da imagem de referência, a o tamanho e a localização do círculo são determinados. Vídeos curtos são feitos com todos qualidades de vídeo compatíveis. O último frame de referência é extraído de cada a qualidade dos vídeos. A partir do frame de referência, o campo de visão (FoV), centralizando (cortar) e a proporção são calculados para cada qualidade de vídeo.

Para o cálculo do campo de visão, o teste compara o tamanho do círculo do frame do vídeo com o tamanho do círculo calculado a partir dos tamanhos dos formatos de imagem e vídeo de referência. Na verificação de corte, o teste compara o frame do vídeo centralizado com a referência centralização de imagens. Para a verificação da proporção, usar a cena, que é uma um círculo preto grande em um fundo branco, o teste determina a proporção do círculo e verifica se o quadro não está distorcido.

fusão_do_sensor/estabilização_da_visualização_de_teste.py

O Android 13 adiciona o teste test_preview_stabilization, que testa todas as qualidades de visualização compatíveis até 1920 x 1080. O teste usa o equipamento de teste de fusão do sensor e requer o novo controlador de fusão do sensor revisão 2 ou um upgrade de firmware do versões anteriores do controlador do Arduino. Para saber mais sobre o novo controlador, consulte Atualizações e adições de hardware.

Método

O smartphone é movido lentamente em um ângulo de aproximadamente 15 graus com a visualização. com o recurso de estabilização ativado. A rotação das imagens é comparada à a rotação do giroscópio.

fusão_do_sensor/estabilização_de_vídeo_de_teste.py

O Android 13 adiciona o teste test_video_stabilization, que testa qualidades de vídeo de até 1920 x 1080. Vídeo de baixa resolução do QCIF a qualidade seja excluída. O teste usa equipamento de teste de fusão do sensor e requer o novo controlador de fusão do sensor revisão 2 ou um upgrade de firmware do versões anteriores do controlador do Arduino. Para saber mais sobre o novo controlador, consulte Atualizações e adições de hardware.

Método

O equipamento de teste move o smartphone lentamente em um ângulo de aproximadamente 15 graus com estabilização de visualização ativada. A rotação das imagens é comparada a rotação do giroscópio.

Atualizações e adições de hardware

O Android 13 inclui um upgrade para a versão baseada no Arduino controlador de fusão do sensor de revisão 2. Esse upgrade inclui mudanças de hardware e firmware. Com o upgrade, para definir a velocidade de rotação e o controle de raios. O upgrade também inclui um novo escudo (mostrado na figura 1), que fornece três canais de rotação e três canais de controle de iluminação.

Escudo da Arduino rev2.0

Figura 1. Escudo de Arduino rev2.0 com controle de rotação e iluminação

Além disso, na versão 13, o firmware do os controladores devem ser atualizados para permitir o controle da velocidade de rotação. Este firmware pode ser baixado de:

Para saber mais sobre o novo controlador, acesse Controlador de fusão do sensor do Android 13.

Suporte a testes dobráveis

O Android 13 inclui suporte a testes de dispositivos dobráveis dispositivos. Para ativar API de várias câmeras para dobráveis, o estado do smartphone (Folded ou Unfolded) é necessário durante o teste. Para ativar a pesquisa do estado do smartphone para todos os DUTs, incluindo os não dobráveis celulares, execute o seguinte comando adb depois que o DUT for conectado ao host.

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