멀티 카메라 지원

EVS(Exterior View System) 1.1에서는 여러 물리적 카메라 장치로 구성된 논리적 카메라 장치가 지원됩니다. 이 가상 기기를 사용하려면 기기 구현이 동기화 프레임워크 를 지원해야 합니다.

논리적 카메라 장치 열거, 열기 및 닫기

응용 프로그램은 동일한 IEvsEnumerator 메서드를 사용하여 사용 가능한 논리적 카메라 장치를 사용할 수 있습니다. 논리적 카메라 장치를 나타내는 반환 EvsCamera 개체는 메타데이터에 다음 항목을 포함해야 합니다.

  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
    반환된 EvsCamera 개체가 논리적 카메라를 나타내는 경우 해당 카메라 메타데이터는 ANDROID_REQUEST_AVAILABLE_CAPABILITIES 필드에 이 기능 키를 포함해야 합니다.
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS 필드는 물리적 카메라 장치 식별자를 나열합니다.
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE 필드는 아래 열거형 값 중 하나를 가질 수 있습니다.
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE 는 마스터-마스터 모드의 센서용이며 하드웨어 셔터/노출 동기화가 없습니다.
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED 는 마스터-슬레이브 모드, 하드웨어 셔터/노출 동기화의 센서용입니다. 동기화된 GMSL2 카메라에는 이 값이 있어야 합니다.

응용 프로그램은 새로운 getPhysicalCameraInfo(stringcameraId) 메서드에서 IEvsCamera 를 통해 물리적 카메라 장치의 설명자를 검색할 수 있습니다.

/**
 * Returns the description of the physical camera device that backs this
 * logical camera.
 *
 * If a requested device does not either exist or back this logical device,
 * this method returns a null camera descriptor. And, if this is called on
 * a physical camera device, this method is the same as getCameraInfo_1_1()
 * method if a given device ID is matched. Otherwise, this will return a
 * null camera descriptor.
 *
 * @param  deviceId Physical camera device identifier string.
 * @return info     The description of a member physical camera device.
 *                  This must be the same value as reported by
 *                  EvsEnumerator::getCameraList_1_1().
 */
getPhysicalCameraInfo(string deviceId) generates (CameraDesc info);

다중 카메라 지원 구성

모든 논리적 카메라는 정적으로 정의되어야 하며 구성 관리자 구현을 통해 열거되어야 합니다. EVS를 사용하면 그룹의 각 장치를 다르게 구성할 수 있으므로 EVS는 구성원 장치 목록을 제공하고 이미지 캡처가 동기화되었는지 여부를 나타냅니다.

<!-- camera group 0 -->
<group id='group0' synchronized='CALIBRATED'>
    <caps>
        <!-- list of supported controls supported by all physical devices -->
        <supported_controls>
            <control name='BRIGHTNESS' min='0' max='255'/>
            <control name='CONTRAST' min='0' max='255'/>
        </supported_controls>

        <!-- list of stream configuration supported by all physical devices -->
        <stream id='0' width='640' height='480' format='RGBA_8888' framerate='30'/>
    </caps>

    <!-- list of parameters -->
    <characteristics>
        <parameter
            name='REQUEST_AVAILABLE_CAPABILITIES'
            type='enum'
            size='1'
            value='LOGICAL_MULTI_CAMERA'
        />
        <parameter
            name='LOGICAL_MULTI_CAMERA_PHYSICAL_IDS'
            type='byte[]'
            size='2'
            value='/dev/video3,/dev/video4'
        />
    </characteristics>
</group>