메타데이터 및 컨트롤

메타데이터 지원

Android 프레임워크를 통한 RAW 이미지 파일 저장을 지원하려면 센서의 특성에 관한 상당량의 메타데이터가 필요합니다. 여기에는 색상 공간, 렌즈 음영 함수와 같은 정보가 포함됩니다.

이 정보의 대부분은 카메라 하위 시스템의 정적 속성이므로 출력 파이프라인을 구성하거나 요청을 제출하기 전에 쿼리할 수 있습니다. 새로운 카메라 API는 getCameraInfo() 메서드에서 제공하는 정보를 크게 확장하여 이 정보를 애플리케이션에 제공합니다.

또한 카메라 하위 시스템을 수동으로 제어하려면 여러 기기에서 현재 상태에 관한 의견이 필요하고 특정 프레임 캡처에 사용되는 실제 매개변수가 있어야 합니다. 하드웨어에서 실제로 사용하는 컨트롤의 실제 값(노출 시간, 프레임 지속 기간, 민감도)이 출력 메타데이터에 포함되어야 합니다. 이렇게 해야 클램핑 또는 라운딩이 발생할 때 애플리케이션에서 알 수 있으며 애플리케이션이 이미지 캡처에 사용되는 실제 설정을 보완할 수 있기 때문에 이 내용은 중요합니다.

예를 들어 애플리케이션이 요청에서 프레임 지속 기간을 0으로 설정하는 경우 HAL은 요청에서 프레임 지속 기간을 실제 최소 프레임 지속 기간으로 고정해야 하며, 출력 결과 메타데이터에 고정된 최소 지속 기간을 보고해야 합니다.

애플리케이션이 맞춤형 3A 루틴을 구현해야 하는 경우(예: HDR 버스트를 위해 적절히 측정하는 것) 애플리케이션은 다음 요청에 필요한 설정을 업데이트하기 위해 수신한 최신 결과 세트를 캡처 시 사용하는 설정을 알아야 합니다. 따라서 새 카메라 API는 캡처된 각 프레임에 상당량의 동적 메타데이터를 추가합니다. 여기에는 캡처에 사용되는 요청된 매개변수와 실제 매개변수뿐 아니라 타임스탬프, 통계 생성기 출력과 같은 추가 프레임당 메타데이터가 포함됩니다.

설정별 컨트롤

대부분의 설정의 경우 출력 프레임 스트림에 심각한 버벅거림 또는 지연을 발생시키지 않으면서 프레임마다 설정을 변경할 수 있습니다. 이상적으로 출력 프레임 속도는 캡처 요청의 프레임 지속 기간 필드에 의해서만 제어되며 처리 블록의 구성에 적용되는 변경사항의 영향을 받으면 안 됩니다. 실제로 일부 특정 컨트롤은 변경 속도가 느립니다. 여기에는 카메라 파이프라인의 출력 해상도, 출력 형식, 렌즈 초점 거리 등 물리적 기기에 영향을 미치는 컨트롤이 포함됩니다. 각 컨트롤 세트에 관한 정확한 요구사항은 나중에 자세히 설명합니다.

원시 센서 데이터 지원

새로운 API의 경우 이전 API에서 지원하는 픽셀 형식 외에도 원시 센서 데이터(Bayer RAW) 지원을 위한 요청사항이 추가되며 두 가지 모두 고급 카메라 애플리케이션용으로 RAW 이미지 파일을 지원합니다.