Notas de la versión del paquete de pruebas de imagen de la cámara de Android 13

La versión de Android 13 incluye varios cambios en ITS de la cámara. Además de cambios incrementales, como versiones actualizadas de Python y paquetes, y pruebas actualizaciones de hardware, Android 13 admite pruebas de video.

En esta página, se resumen los cambios del ITS de la cámara para Android Los cambios se dividen en siete categorías generales:

Python y versiones de paquetes

Android 13 admite las siguientes versiones de Python en además de las versiones y bibliotecas de Python compatibles con Android 12.

Adiciones del archivo de configuración

Debido a que se agregó el control de iluminación para la prueba de test_auto_flash.py, el El archivo config.yml necesita dos parámetros adicionales para el controlador y canal de iluminación. Para identificar si el dispositivo que se está probando (DUT) es un dispositivo plegable o no, el archivo config.yml requiere un tercer parámetro adicional que debe agregar a las secciones de tabletas y fusión de sensores.

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

Probar cambios

escena1_1/test_black_white.py

La prueba test_black_white tiene verificación de saturación del canal coherentes con las versiones anteriores de Android, lo que significa que la versión El primer nivel de API para la verificación de saturación de canal es Android.

escena1_2/prueba_yuv_plus_raw.py

La prueba test_yuv_plus_raw controla sensores que no son de 16:9 ni 4:3 para proporcionar una mejor compatibilidad con la RAW. Si la prueba no encuentra un formato común entre el formato RAW del sensor y los formatos de captura YUV, la prueba compara la captura RAW a la captura YUV más grande, incluso si las relaciones de aspecto es diferente.

escena2_a/test_faces.py

test_faces se refactoriza en test_num_faces.

escena2_a/test_num_faces.py

La prueba test_num_faces controla el recorte del sensor y coloca el rectángulos del rostro correctamente en capturas de pantalla UW que estén recortadas.

escena3/test_lens_position.py

La prueba test_lens_position dejó de estar disponible en Android

escena6/test_zoom.py

La prueba de test_zoom se refactoriza para permitir una prueba más sencilla de tres y cuatro. sistemas de cámara. Si la cámara realiza pruebas correctamente en un rango de zoom de 10x, la prueba salga correctamente. Esto permite realizar pruebas de zoom a un solo la distancia del gráfico.

escena_change/test_scene_change.py

La prueba test_scene_change dejó de estar disponible en Android

Nuevas pruebas en tablets

Android 13 incluye dos nuevas pruebas para tablets. Ambas pruebas son obligatorias para los dispositivos que se lanzan con Android 13, pero se omiten en los dispositivos que se actualizan a Android 13

Scene Nombre de la prueba Primer nivel de API Descripción
2_a prueba_auto_flash 33 Confirma que las escenas oscuras activan el flash automático.
2_b prueba_yuv_jpg_captura_misma 33 Confirma que las capturas de YUV y JPEG sean idénticas a nivel de bits.

escena2_a/test_auto_flash.py

En Android 13, se agrega la prueba test_auto_flash.

Parámetros

  • flash: Omite la prueba si el flash no está disponible.

Método

La prueba configura la solicitud de captura para flash automático y presenta una escena Requieren un evento de flash. La iluminación del equipo de pruebas y de la tableta desactivado para presentar una escena oscura al algoritmo de exposición automática. La prueba configura una secuencia de capturas de NUM_FRAMES con la escritura en la memoria flash automática habilitada. Si el botón El parámetro de configuración AE_STATE muestra FLASH_REQUIRED. La prueba verifica que se haya disparados en las capturas.

La iluminación se puede controlar de forma manual cuando se solicita o automáticamente con una Control de Arduino con control de iluminación agregado para las pruebas automatizadas. Un nuevo la carpeta de utilidades lighting_control_utils centraliza el código para controlar la iluminación en las pruebas.

escena2_a/test_yuv_jpeg_capture_sameness.py

Android 13 agrega test_yuv_jpeg_capture_sameness. la prueba.

Parámetros

  • streamUseCase: Determina si la cámara admite el caso de uso de transmisión.
  • android.jpeg.quality: Establece la calidad JPEG en 100.

Método

Esta prueba captura dos imágenes con los formatos YUV y JPEG comunes más grandes con la misma relación de aspecto que el formato JPEG más grande, sin superar una resolución de 1,920 x 1,440. La prueba establece jpeg.quality en 100 y captura una superficie doble. para cada solicitud. Luego, convierte ambas imágenes en arrays RGB y calcula la raíz en 3D. diferencia del cuadrado medio (RMS) entre las dos imágenes. La tolerancia a las diferencias está establecido en 1%.

Pruebas de video

El ITS de la cámara agrega compatibilidad con las pruebas de video en Android

En Android 13, se agregan las siguientes pruebas:

Scene Nombre de la prueba Primer nivel de API Descripción
4 prueba_preview_estabilización_fov 33 Confirma que la vista previa del video no se recorta demasiado con la estabilización habilitada.
4 prueba_proporción_de_aspect_ratio_y_recorte 33 Confirma el formato de video, la relación de aspecto y el recorte del video.
fusión de sensores estabilización_de_vista_previa_prueba 33 Confirma que la estabilización de vista previa funciona.
fusión de sensores prueba_estabilición_de_video 33 Confirma que la estabilización de video funciona.

escena4/test_preview_stabilization_fov.py

Android 13 agrega test_preview_stabilization_fov. la prueba. Esta prueba verifica los tamaños de vista previa compatibles para garantizar que el FoV no sea correcto. se recortó de forma inapropiada.

Método

La prueba captura dos videos, uno con la estabilización de vista previa activada y otro con la estabilización de vista previa con la estabilización de vista previa desactivada. Se selecciona un marco representativo de cada video y analizarlos para garantizar que los cambios de FoV en los dos videos sean dentro de las especificaciones.

Específicamente, la prueba verifica los siguientes parámetros con y sin Estabilización de vista previa:

  • La redondez del círculo se mantiene constante.
  • El centro del círculo permanece estable.
  • El tamaño del círculo no cambia más de un 20%, lo que significa que el FoV cambia. 20% como máximo.

escena4/prueba_video_aspect_ratio_and_crop.py

Android 13 agrega test_video_aspect_ratio_and_crop. la prueba. Similar a test_aspect_ratio_and_crop prueba para capturas estáticas, comprueba los formatos de video compatibles para asegurarte de que los fotogramas no se estiren ni se recorten de forma inapropiada. Se prueban todas las eliminatorias de video informadas por los propios usuarios. Además, si la cámara admite video HLG10; se prueba video de 10 bits.

Android 13 agrega get_available_video_qualities. método a its_session_utils. Compartir código común en pruebas existentes, Android 13 también incluye dos funciones de utilidad, image_fov_utils y video_processing_utils.

Método

La prueba captura una imagen de referencia con el formato RAW o la resolución JPEG, si la RAW no es compatible. Desde la imagen de referencia, el el tamaño y la ubicación del círculo. Los videos cortos se graban con todos calidades de video admitidas. El marco de referencia final se extrae de cada calidad de video. Desde el marco de referencia, el campo visual (FoV) centrado (recorte) y la relación de aspecto se calculan para cada calidad de video.

Para el cálculo del FoV, la prueba compara el tamaño del círculo del fotograma del video con el tamaño calculado del círculo a partir de los tamaños de la imagen de referencia y de los formatos de video. Para la comprobación de recorte, la prueba compara el centro del fotograma del video con la referencia centrado de imágenes. Para comprobar la relación de aspecto, usa la escena, que es una círculo negro grande sobre un fondo blanco, la prueba determina la relación de aspecto del círculo y verifica que el marco no esté distorsionado.

sensor_fusion/test_preview_stabilization.py

En Android 13, se agrega la prueba test_preview_stabilization, que prueba todas las calidades de vista previa admitidas hasta 1920 x 1080. La prueba usa el equipo de prueba de sensor Fusion requiere el nuevo controlador de fusión de sensores revisión 2 o una actualización de firmware de a versiones anteriores del controlador de Arduino. Para obtener más detalles sobre el nuevo controlador, Consulta la sección Actualizaciones y adiciones de hardware.

Método

El teléfono se mueve lentamente sobre un ángulo de aproximadamente 15 grados con la vista previa. estabilización habilitada. Luego, se compara la rotación de las imágenes con rotación del giroscopio.

sensor_fusion/test_video_stabilization.py

En Android 13, se agrega la prueba test_video_stabilization, que prueba con calidades de video admitidas de hasta 1920 x 1080. Video de baja resolución QCIF se excluye la calidad. La prueba usa sensor fusion y requiere el nuevo controlador de fusión de sensores revisión 2 o una actualización de firmware de a versiones anteriores del controlador de Arduino. Para obtener más detalles sobre el nuevo controlador, Consulta la sección Actualizaciones y adiciones de hardware.

Método

La plataforma de prueba mueve el teléfono lentamente en un ángulo de aproximadamente 15 grados con estabilización de vista previa habilitada. Luego, se compara la rotación de las imágenes la rotación del giroscopio.

Adiciones y actualizaciones de hardware

Android 13 incluye una actualización a la versión basada en Arduino controlador de fusión de sensores de revisión 2. Esta actualización incluye cambios de hardware y firmware. La actualización permite el controlador para establecer la velocidad de rotación y el control de rayos. La actualización también incluye un nuevo escudo (aparece en la Figura 1), que ofrece tres canales de y tres canales de control de la iluminación.

Arduino Shield rev2.0

Figura 1: Arduino Shield rev2.0 con control de rotación y de iluminación

Además, durante 13, el firmware existente los controladores deben actualizarse para habilitar el control de velocidad de rotación. Este firmware se pueden descargar de:

Para obtener más información sobre el nuevo controlador, consulta Controlador fusión de sensores de Android 13.

Compatibilidad con pruebas de dispositivos plegables

Android 13 incluye pruebas de compatibilidad con dispositivos plegables dispositivos. Para habilitar el API de varias cámaras para dispositivos plegables, el estado del teléfono (Folded o Unfolded) es obligatorio durante las pruebas. Para habilitar el sondeo del estado del teléfono en todos los DUT, incluidos los no plegables teléfonos, ejecuta el siguiente comando adb después de que se conecte el DUT al host.

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