Android 13 카메라 이미지 테스트 도구 모음 출시 노트

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Android 13 릴리스에는 Camera ITS 에 대한 여러 변경 사항이 포함되어 있습니다. 업데이트된 Python 및 패키지 버전 및 테스트 하드웨어 업데이트와 같은 증분 변경 외에도 Android 13은 비디오 테스트를 지원합니다.

이 페이지에는 Android 13의 카메라 ITS 변경 사항이 요약되어 있습니다. 변경 사항은 크게 6가지 범주로 나뉩니다.

Python 및 패키지 버전

Android 13은 Android 12에서 지원되는 Python 버전 및 라이브러리 외에도 다음 Python 버전을 지원합니다.

구성 파일 추가

test_auto_flash.py 테스트를 위한 조명 제어 추가로 인해 config.yml 파일에는 컨트롤러 및 조명 채널에 대한 두 개의 추가 매개변수가 필요합니다. 다음은 태블릿 기반 실행을 위한 샘플 config.yml 파일입니다.

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
      scene: <scene-name>  # if <scene-name> runs all scenes

테스트 변경

scene1_1/test_black_white.py

test_black_white 테스트에는 이전 버전의 Android와 일치하는 채널 포화도 검사가 있습니다. 즉, 채널 포화도 검사에 필요한 첫 번째 API 레벨은 Android 10입니다.

scene1_2/test_yuv_plus_raw.py

test_yuv_plus_raw 테스트는 16:9 또는 4:3이 아닌 센서를 처리하여 RAW에 대한 더 나은 지원을 제공합니다. 테스트에서 센서 RAW 형식과 YUV 캡처 형식 간에 공통 형식을 찾을 수 없으면 가로 세로 비율이 다르더라도 RAW 캡처를 가장 큰 YUV 캡처와 비교합니다.

scene2_a/test_faces.py

test_facestest_num_faces 로 리팩터링됩니다.

scene2_a/test_num_faces.py

test_num_faces 테스트는 센서 자르기를 처리하고 잘린 UW 카메라 캡처에 얼굴 직사각형을 올바르게 배치합니다.

scene3/test_lens_position.py

test_lens_position 테스트는 Android 13에서 더 이상 사용되지 않습니다.

scene6/test_zoom.py

test_zoom 테스트는 3개 및 4개의 카메라 시스템을 더 쉽게 테스트할 수 있도록 리팩터링되었습니다. 카메라가 줌의 10x 비율 범위에서 올바르게 테스트하면 테스트가 올바르게 종료됩니다. 이를 통해 단일 차트 거리에서 확대/축소 테스트를 수행할 수 있습니다.

scene_change/test_scene_change.py

test_scene_change 테스트는 Android 13에서 더 이상 사용되지 않습니다.

새로운 태블릿 기반 테스트

Android 13에는 두 가지 새로운 태블릿 기반 테스트가 포함되어 있습니다. 두 테스트 모두 Android 13으로 출시되는 기기에 필수이지만 Android 13으로 업그레이드하는 기기의 경우 건너뜁니다.

장면 테스트 이름 첫 번째 API 레벨 설명
2_a test_auto_flash 33 어두운 장면이 자동 플래시를 트리거하는지 확인합니다.
2_b test_yuv_jpg_capture_sameness 33 YUV 및 JPEG 스틸 캡처가 비트 단위로 동일한지 확인합니다.

scene2_a/test_auto_flash.py

Android 13은 test_auto_flash 테스트를 추가합니다.

매개변수

  • flash : 플래시를 사용할 수 없는 경우 테스트를 건너뜁니다.

방법

테스트는 자동 플래시에 대한 캡처 요청을 구성하고 플래시 이벤트가 필요한 장면을 표시합니다. 자동 노출 알고리즘을 위한 어두운 장면을 표시하기 위해 테스트 장비와 태블릿의 조명이 꺼집니다. 테스트는 자동 플래시가 활성화된 NUM_FRAMES 캡처 시퀀스를 구성합니다. AE_STATE 설정이 'FLASH_REQUIRED'를 반환하면 테스트에서 캡처에서 플래시가 터졌는지 확인합니다.

조명은 메시지가 표시되면 수동으로 제어하거나 자동 테스트를 위해 조명 제어가 추가된 Arduino 컨트롤러를 사용하여 자동으로 제어할 수 있습니다. 새로운 유틸리티 폴더 lighting_control_utils 는 테스트에서 조명을 제어하기 위한 코드를 중앙 집중화합니다.

scene2_a/test_yuv_jpeg_capture_sameness.py

Android 13은 test_yuv_jpeg_capture_sameness 테스트를 추가합니다.

매개변수

  • streamUseCase : 카메라가 스트림 사용 사례를 지원하는지 여부를 결정합니다.
  • android.jpeg.quality : JPEG 품질을 100으로 설정합니다.

방법

이 테스트는 1920x1440의 해상도를 초과하지 않는 가장 큰 JPEG 형식과 동일한 종횡비로 가장 큰 공통 YUV 및 JPEG 형식을 사용하여 두 개의 이미지를 캡처합니다. 테스트는 jpeg.quality 를 100으로 설정하고 이중 표면 요청을 캡처합니다. 그런 다음 두 이미지를 RGB 배열로 변환하고 두 이미지 간의 3D RMS(제곱 평균 제곱근) 차이를 계산합니다. 차이 허용 오차는 1%로 설정됩니다.

비디오 테스트

카메라 ITS는 Android 13에서 비디오 테스트에 대한 지원을 추가합니다.

Android 13은 다음 테스트를 추가합니다.

장면 테스트 이름 첫 번째 API 레벨 설명
4 test_preview_stabilization_fov 33 안정화가 활성화된 상태에서 비디오 미리보기가 너무 많이 자르지 않는지 확인합니다.
4 test_video_aspect_ratio_and_crop 33 비디오 형식 FoV, 종횡비 및 자르기를 확인합니다.
센서_퓨전 test_preview_stabilition 33 미리보기 안정화가 작동하는지 확인합니다.
센서_퓨전 test_video_stabilition 33 동영상 안정화가 작동하는지 확인합니다.

scene4/test_preview_stabilization_fov.py

Android 13은 test_preview_stabilization_fov 테스트를 추가합니다. 이 테스트는 FoV가 부적절하게 잘리지 않도록 지원되는 미리보기 크기를 확인합니다.

방법

테스트는 미리보기 안정화가 켜진 상태와 미리보기 안정화가 꺼진 상태의 두 개의 비디오를 캡처합니다. 각 비디오에서 대표적인 프레임을 선택하고 분석하여 두 비디오의 FoV 변경 사항이 사양 내에 있는지 확인합니다.

특히 테스트는 미리보기 안정화가 있거나 없는 다음 매개변수를 확인합니다.

  • 원의 진원도는 일정하게 유지됩니다.
  • 원의 중심은 안정적으로 유지됩니다.
  • 원의 크기는 20% 이하로 변경되며, 이는 FoV가 최대 20%까지 변경됨을 의미합니다.

scene4/test_video_aspect_ratio_and_crop.py

Android 13은 test_video_aspect_ratio_and_crop 테스트를 추가합니다. 스틸 캡처에 대한 test_aspect_ratio_and_crop 테스트와 유사하게 이 테스트는 지원되는 비디오 형식을 확인하여 비디오 프레임이 부적절하게 늘어나거나 잘리지 않는지 확인합니다. 자체 보고된 모든 비디오 품질이 테스트됩니다. 또한 카메라가 HLG10 비디오를 지원하는 경우 10비트 비디오가 테스트됩니다.

Android 13은 get_available_video_qualities 메서드를 its_session_utils 에 추가합니다. 기존 테스트와 공통 코드를 공유하기 위해 Android 13에는 두 개의 새로운 유틸리티 함수인 image_fov_utilsvideo_processing_utils 도 포함되어 있습니다.

방법

테스트는 RAW 형식 또는 RAW가 지원되지 않는 경우 최고 해상도의 JPEG 형식으로 참조 이미지를 캡처합니다. 참조 이미지에서 원의 크기와 위치가 결정됩니다. 그런 다음 지원되는 모든 비디오 품질로 짧은 비디오를 촬영합니다. 최종 참조 프레임은 각 비디오 품질에서 추출됩니다. 참조 프레임에서 각 비디오 품질에 대한 시야(FoV), 센터링(자르기) 및 종횡비가 계산됩니다.

FoV 계산을 위해 테스트는 비디오 프레임 원 크기를 참조 이미지 및 비디오 형식 크기에서 계산된 원 크기와 비교합니다. 자르기 검사를 위해 테스트는 비디오 프레임 센터링을 참조 이미지 센터링과 비교합니다. 종횡비 검사의 경우 흰색 배경에 큰 검은색 원이 있는 장면을 사용하여 테스트에서 원의 종횡비를 결정하고 프레임이 왜곡되지 않았는지 확인합니다.

sensor_fusion/test_preview_stabilization.py

Android 13은 지원되는 모든 미리보기 품질을 최대 1920x1080까지 테스트하는 test_preview_stabilization 테스트를 추가합니다. 이 테스트는 센서 융합 테스트 장비를 사용하며 새로운 버전 2 센서 융합 컨트롤러 또는 이전 Arduino 컨트롤러 버전의 펌웨어 업그레이드가 필요합니다. 새 컨트롤러에 대한 자세한 내용은 하드웨어 업데이트 및 추가 사항을 참조하십시오.

방법

미리보기 안정화가 활성화된 상태에서 전화기를 약 15도 각도로 천천히 움직입니다. 그런 다음 이미지의 회전을 자이로스코프의 회전과 비교합니다.

sensor_fusion/test_video_stabilization.py

Android 13은 최대 1920x1080까지 지원되는 비디오 품질을 테스트하는 test_video_stabilization 테스트를 추가합니다. QCIF 저해상도 비디오 품질은 제외됩니다. 이 테스트는 센서 융합 테스트 장비를 사용하며 새로운 버전 2 센서 융합 컨트롤러 또는 이전 Arduino 컨트롤러 버전의 펌웨어 업그레이드가 필요합니다. 새 컨트롤러에 대한 자세한 내용은 하드웨어 업데이트 및 추가 사항을 참조하십시오.

방법

테스트 장비는 미리보기 안정화가 활성화된 상태에서 전화기를 약 15도 각도로 천천히 움직입니다. 그런 다음 이미지의 회전을 자이로스코프의 회전과 비교합니다.

하드웨어 업데이트 및 추가

Android 13에는 Arduino 기반 버전 2 센서 퓨전 컨트롤러 로의 업그레이드가 포함되어 있습니다. 이 업그레이드에는 하드웨어 및 펌웨어 변경 사항이 모두 포함됩니다. 업그레이드를 통해 컨트롤러는 회전 속도와 번개 제어를 설정할 수 있습니다. 업그레이드에는 3개의 회전 채널과 3개의 조명 제어 채널을 제공하는 새로운 실드(그림 1 참조)도 포함됩니다.

아두이노 쉴드 rev2.0

그림 1. 회전 및 조명 제어 기능이 있는 Arduino 실드 rev2.0

또한 13의 경우 회전 속도 제어가 가능하도록 기존 컨트롤러의 펌웨어를 업데이트해야 합니다. 이 펌웨어는 다음에서 다운로드할 수 있습니다.

새 컨트롤러에 대한 자세한 내용은 Android 13 센서 퓨전 컨트롤러 를 참조하세요.