Exterior View System (EVS) 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>