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
- Adições ao arquivo de configuração
- Testar alterações
- Novos testes baseados em tablets
- Testes de vídeo
- Atualizações e adições de hardware
- Suporte para testes dobráveis
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.
- Python 3.9.2 (link em inglês)
- OpenCV 4.2.0 (link em inglês)
- Numpy 1.20.3 (link em inglês)
- Matplotlib 3.3.4 (link em inglês)
- Scipy versão 1.6.2
- pySerial 3.5 (link em inglês)
- Pillow 8.3.1 (link em inglês)
- PyYAML 5.4.1 (link em inglês)
- Mobly 1.11 (link em inglês)
- FFmpeg 4.4.1 (link em inglês)
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.
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