(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-06
(54)【発明の名称】カメラ同期のためのシステムおよび方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20240730BHJP
【FI】
H04L7/00 990
H04L7/00 930
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024500378
(86)(22)【出願日】2022-07-06
(85)【翻訳文提出日】2024-02-29
(86)【国際出願番号】 CN2022104126
(87)【国際公開番号】W WO2023280206
(87)【国際公開日】2023-01-12
(31)【優先権主張番号】202110769848.0
(32)【優先日】2021-07-08
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521312237
【氏名又は名称】ゼジャン・ハーレイ・テクノロジー・カンパニー・リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ゾンミャオ・ワン
(72)【発明者】
【氏名】ウェイピン・シ
(72)【発明者】
【氏名】ヤンフェイ・リュ
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA18
(57)【要約】
本開示は、カメラ同期のためのシステムおよび方法に関するものであり得る。方法は、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップを含み得る。本方法はまた、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させるステップを含み得る。本方法は、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップをさらに含み得る。
【特許請求の範囲】
【請求項1】
システムであって、
命令のセットを含む少なくとも1つのストレージ媒体と、
前記少なくとも1つのストレージ媒体と通信する少なくとも1つのプロセッサと
を備え、前記命令のセットを遂行する際、前記少なくとも1つのプロセッサが、前記システムに、
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定することと、
前記周波数差に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させることと、
前記第1のカメラと前記第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示することと
を含む動作を実行させるように指示される、システム。
【請求項2】
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を前記決定することが、
前記第1のカメラがメッセージを送信する第1の時間と、前記第2のカメラが前記メッセージを受信する第2の時間を決定することと、
前記第1のカメラがメッセージを送信する第3の時間と、前記第2のカメラが前記メッセージを受信する第4の時間を決定することと、
前記第1の時間、前記第2の時間、前記第3の時間、および前記第4の時間に基づいて前記周波数差を決定することと
を含む、請求項1に記載のシステム。
【請求項3】
前記メッセージのフォーマットが、少なくともカメラIDを含み、
前記第1の時間または前記第3の時間が、前記第1のカメラが前記第1のカメラの第1のカメラIDを送信する時点であり、
前記第2の時間または前記第4の時間が、前記第2のカメラが前記第1のカメラIDを受信する時点である、請求項2に記載のシステム。
【請求項4】
前記周波数差に基づいて前記第2のカメラの第2の周波数を前記第1のカメラの第1の周波数に前記同期させることが、
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させることを含む、請求項1に記載のシステム。
【請求項5】
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に前記同期させることが、
前記第2のカメラのターゲット周波数分周係数に基づいて、前記第2のカメラの前記第2の周波数を前記あらかじめ設定された分周周波数に分周することと、
前記あらかじめ設定された分周周波数を前記第1のカメラの前記第1の周波数に逓倍することと
を含む、請求項4に記載のシステム。
【請求項6】
前記ターゲット周波数分周係数を前記決定することが、
前記第1の周波数と前記あらかじめ設定された分周周波数に基づいて基本周波数分周係数を決定することと、
前記第1の周波数と前記第2の周波数との間の差分値に基づいて差分比を決定することと、
前記基本周波数分周係数と前記差分比に基づいて補助周波数分周係数を決定することと、
前記基本周波数分周係数と前記補助周波数分周係数に基づいて前記ターゲット周波数分周係数を決定することと
を含む、請求項5に記載のシステム。
【請求項7】
前記動作が、
前記同期された周波数の下で、前記第1のカメラの第1の時間と前記第2のカメラの第2の時間との間の時間差を決定することと、
前記時間差に基づいて、前記第2のカメラの前記第2の時間を前記第1のカメラの前記第1の時間に同期させることと
をさらに含む、請求項1に記載のシステム。
【請求項8】
前記同期された周波数の下で、前記第1のカメラの第1の時間と前記第2のカメラの第2の時間との間の時間差を前記決定することが、
前記第2のカメラがメッセージを送信する第5の時間と、前記第1のカメラが前記メッセージを受信する第6の時間を決定することと、
前記第1のカメラがメッセージを送信する第7の時間と、前記第2のカメラが前記メッセージを受信する第8の時間を決定することと、
前記第5の時間、前記第6の時間、前記第7の時間、および前記第8の時間に基づいて前記時間差を決定することと
を含む、請求項7に記載のシステム。
【請求項9】
前記動作が、
トリガ命令を受信することと、
前記トリガ命令に基づいて、前記第1のカメラの現在の時間と前記第2のカメラの現在の時間とを検出することと、
前記第1のカメラの前記現在の時間と前記第2のカメラの前記現在の時間があらかじめ設定された条件を満たすか否かを決定することと、
前記第1のカメラの前記現在の時間と前記第2のカメラの前記現在の時間が前記あらかじめ設定された条件を満たすという決定に応じて、前記第1のカメラと前記第2のカメラに前記カメラ動作を遂行するよう指示することと
をさらに含む、請求項7に記載のシステム。
【請求項10】
前記第1のカメラが、カメラピン、バス、またはネットワークインターフェースを介して前記第2のカメラに接続される、請求項1に記載のシステム。
【請求項11】
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップと、
前記周波数差に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させるステップと、
前記第1のカメラと前記第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップと
を備える、方法。
【請求項12】
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定する前記ステップが、
前記第1のカメラがメッセージを送信する第1の時間と、前記第2のカメラが前記メッセージを受信する第2の時間を決定するステップと、
前記第1のカメラがメッセージを送信する第3の時間と、前記第2のカメラが前記メッセージを受信する第4の時間を決定するステップと、
前記第1の時間、前記第2の時間、前記第3の時間、および前記第4の時間に基づいて前記周波数差を決定するステップと
を含む、請求項11に記載の方法。
【請求項13】
前記メッセージのフォーマットが、少なくともカメラIDを含み、
前記第1の時間または前記第3の時間が、前記第1のカメラが前記第1のカメラの第1のカメラIDを送信する時点であり、
前記第2の時間または前記第4の時間が、前記第2のカメラが前記第1のカメラIDを受信する時点である、請求項12に記載の方法。
【請求項14】
前記周波数差に基づいて前記第2のカメラの第2の周波数を前記第1のカメラの第1の周波数に同期させる前記ステップが、
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させるステップを含む、請求項11に記載の方法。
【請求項15】
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させる前記ステップが、
前記第2のカメラのターゲット周波数分周係数に基づいて、前記第2のカメラの前記第2の周波数を前記あらかじめ設定された分周周波数に分周するステップと、
前記あらかじめ設定された分周周波数を前記第1のカメラの前記第1の周波数に逓倍するステップと
を含む、請求項14に記載の方法。
【請求項16】
前記ターゲット周波数分周係数を決定する前記ステップが、
前記第1の周波数と前記あらかじめ設定された分周周波数に基づいて基本周波数分周係数を決定するステップと、
前記第1の周波数と前記第2の周波数との間の差分値に基づいて差分比を決定するステップと、
前記基本周波数分周係数と前記差分比に基づいて補助周波数分周係数を決定するステップと、
前記基本周波数分周係数と前記補助周波数分周係数に基づいて前記ターゲット周波数分周係数を決定するステップと
を含む、請求項15に記載の方法。
【請求項17】
前記動作が、
前記同期された周波数の下で、前記第1のカメラの第1の時間と前記第2のカメラの第2の時間との間の時間差を決定するステップと、
前記時間差に基づいて、前記第2のカメラの前記第2の時間を前記第1のカメラの前記第1の時間に同期させるステップと
をさらに含む、請求項11に記載の方法。
【請求項18】
前記同期された周波数の下で、前記第1のカメラの第1の時間と前記第2のカメラの第2の時間との間の時間差を決定する前記ステップが、
前記第2のカメラがメッセージを送信する第5の時間と、前記第1のカメラが前記メッセージを受信する第6の時間を決定するステップと、
前記第1のカメラがメッセージを送信する第7の時間と、前記第2のカメラが前記メッセージを受信する第8の時間を決定するステップと、
前記第5の時間、前記第6の時間、前記第7の時間、および前記第8の時間に基づいて前記時間差を決定するステップと
を含む、請求項17に記載の方法。
【請求項19】
前記動作が、
トリガ命令を受信するステップと、
前記トリガ命令に基づいて、前記第1のカメラの現在の時間と前記第2のカメラの現在の時間とを検出するステップと、
前記第1のカメラの前記現在の時間と前記第2のカメラの前記現在の時間があらかじめ設定された条件を満たすか否かを決定するステップと、
前記第1のカメラの前記現在の時間と前記第2のカメラの前記現在の時間が前記あらかじめ設定された条件を満たすという決定に応じて、前記第1のカメラと前記第2のカメラに前記カメラ動作を遂行するよう指示するステップと
をさらに含む、請求項17に記載の方法。
【請求項20】
前記第1のカメラが、カメラピン、バス、またはネットワークインターフェースを介して前記第2のカメラに接続される、請求項11に記載の方法。
【請求項21】
少なくとも1つの命令のセットを備える非一時的コンピュータ可読媒体であって、コンピューティングデバイスの1つまたは複数のプロセッサによって遂行されると、前記少なくとも1つの命令のセットが、前記コンピューティングデバイスに方法を実行させ、前記方法が、
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップと、
前記周波数差に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させるステップと、
前記第1のカメラと前記第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップと
を備える、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年7月8日に出願された中国特許出願第202110769848.0号の優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に通信技術に関し、特に、カメラ同期のためのシステムおよび方法に関する。
【背景技術】
【0003】
マシンビジョンの分野では、画像を撮影する、または相互に連携するために複数のカメラが同期的にトリガされるアプリケーションシナリオが非常に一般的である。既存のトリガ命令ベースのトリガ方法では、ネットワークジッタまたはカメラによって解析される命令の遅延変動により、複数のカメラが同期動作を達成することが困難になる場合がある。また、信号線トリガ方式が使用される場合、複数のカメラ自体の違いにより、複数のカメラのシステムクロックが一般的に異なるため、複数のカメラから出力されるデータフレームのタイムスタンプは内部データと正確に同期することができない。したがって、カメラ同期のための正確なシステムおよび方法を提供し、それによってカメラ間の正確な連携を達成することが望ましい。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様によれば、カメラ同期のためのシステムが提供され得る。本システムは、命令のセットを含む少なくとも1つのストレージ媒体と、少なくとも1つのストレージ媒体と通信する少なくとも1つのプロセッサとを含み得る。命令のセットを遂行する際、少なくとも1つのプロセッサは、システムに動作を実行させるように指示され得る。動作は、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定することを含み得る。本動作はまた、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させることを含み得る。本動作は、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示することをさらに含み得る。
【0005】
いくつかの実施形態では、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定することは、第1のカメラがメッセージを送信する第1の時間と、第2のカメラがメッセージを受信する第2の時間を決定することと、第1のカメラがメッセージを送信する第3の時間と、第2のカメラがメッセージを受信する第4の時間を決定することと、第1の時間、第2の時間、第3の時間、および第4の時間に基づいて周波数差を決定することとを含み得る。
【0006】
いくつかの実施形態では、メッセージのフォーマットは、少なくともカメラIDを含み得る。第1の時間または第3の時間は、第1のカメラが第1のカメラの第1のカメラIDを送信する時点であってもよい。第2の時間または第4の時間は、第2のカメラが第1のカメラIDを受信する時点であってもよい。
【0007】
いくつかの実施形態では、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させることは、周波数差およびあらかじめ設定された分周周波数に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させることを含み得る。
【0008】
いくつかの実施形態では、周波数差およびあらかじめ設定された分周周波数に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させることは、第2のカメラのターゲット周波数分周係数(target frequency dividing coefficient)に基づいて、第2のカメラの第2の周波数をあらかじめ設定された分周周波数に分周することと、あらかじめ設定された分周周波数を第1のカメラの第1の周波数に逓倍することとを含み得る。
【0009】
いくつかの実施形態では、ターゲット周波数分周係数を決定することは、第1の周波数とあらかじめ設定された分周周波数に基づいて基本周波数分周係数を決定することと、第1の周波数と第2の周波数との間の差分値に基づいて差分比を決定することと、基本周波数分周係数と差分比に基づいて補助周波数分周係数(supplementary frequency dividing coefficient)を決定することと、基本周波数分周係数と補助周波数分周係数に基づいてターゲット周波数分周係数を決定することとを含み得る。
【0010】
いくつかの実施形態では、動作は、同期された周波数の下で、第1のカメラの第1の時間と第2のカメラの第2の時間との間の時間差を決定することと、時間差に基づいて、第2のカメラの第2の時間を第1のカメラの第1の時間に同期させることとをさらに含み得る。
【0011】
いくつかの実施形態では、同期された周波数の下で、第1のカメラの第1の時間と第2のカメラの第2の時間との間の時間差を決定することは、第2のカメラがメッセージを送信する第5の時間と、第1のカメラがメッセージを受信する第6の時間を決定することと、第1のカメラがメッセージを送信する第7の時間と、第2のカメラがメッセージを受信する第8の時間を決定することと、第5の時間、第6の時間、第7の時間、および第8の時間に基づいて時間差を決定することとを含み得る。
【0012】
いくつかの実施形態では、動作には、トリガ命令を受信することをさらに含み得る。動作はまた、トリガ命令に基づいて、第1のカメラの現在の時間と第2のカメラの現在の時間とを検出することを含み得る。動作はまた、第1のカメラの現在の時間と第2のカメラの現在の時間があらかじめ設定された条件を満たすか否かを決定することを含み得る。第1のカメラの現在の時間と第2のカメラの現在の時間があらかじめ設定された条件を満たすという決定に応じて、動作は、第1のカメラと第2のカメラにカメラ動作を遂行するよう指示することを含み得る。
【0013】
いくつかの実施形態では、第1のカメラは、カメラピン、バス、またはネットワークインターフェースを介して第2のカメラに接続され得る。
【0014】
本開示の別の態様によれば、カメラ同期のための方法が提供され得る。本方法は、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップを含み得る。本方法はまた、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させるステップを含み得る。本方法は、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップをさらに含み得る。
【0015】
本開示の別の態様によれば、非一時的コンピュータ可読媒体が提供され得る。非一時的コンピュータ可読媒体は、少なくとも1つの命令のセットを含み得る。コンピューティングデバイスの1つまたは複数のプロセッサによって遂行されると、少なくとも1つの命令のセットは、コンピューティングデバイスに方法を実行させ得る。本方法は、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップを含み得る。本方法はまた、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させるステップを含み得る。本方法は、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップをさらに含み得る。
【0016】
追加の特徴は、部分的には以下の説明に記載され、部分的には以下および添付の図面を検討することにより当業者には明らかになるか、実施例の作成または動作によって学習され得る。本開示の特徴は、以下に論じる詳細な例において説明される方法論、手段、および組合せの様々な態様を実践または使用することによって実現および達成され得る。
【0017】
本開示は、例示的な実施形態に関してさらに説明される。これらの例示的な実施形態について、図面を参照して詳細に説明する。これらの実施形態は非限定的な例示的な実施形態であり、図面のいくつかの図を通して同様の参照番号は同様の構造を表す。
【図面の簡単な説明】
【0018】
【
図1】本開示のいくつかの実施形態による、例示的なカメラ同期システムを示す概略図である。
【
図2】本開示のいくつかの実施形態による、例示的なコンピューティングデバイスの例示的なハードウェアおよび/またはソフトウェアコンポーネントを示す概略図である。
【
図3】本開示のいくつかの実施形態による例示的なマルチカメラデバイスを示す概略図である。
【
図4】本開示のいくつかの実施形態による、例示的な処理デバイスを示すブロック図である。
【
図5A】本開示のいくつかの実施形態による、カメラ同期のための例示的なプロセスを示すフローチャートである。
【
図5B】本開示のいくつかの実施形態による、カメラ同期のための例示的なプロセスを示す概略図である。
【
図6】本開示のいくつかの実施形態による、周波数差を決定するための例示的なプロセスを示す概略図である。
【
図7】本開示のいくつかの実施形態による、周波数同期のための例示的なプロセスを示す概略図である。
【
図8】本開示のいくつかの実施形態による、ターゲット周波数分周係数を決定するための例示的なプロセスを示すフローチャートである。
【
図9】本開示のいくつかの実施形態による、時間差を決定するための例示的なプロセスを示す概略図である。
【
図10】本開示のいくつかの実施形態による、時間同期のための例示的なプロセスを示す概略図である。
【
図11】本開示のいくつかの実施形態による、メッセージの例示的なフォーマットを示す概略図である。
【
図12】本開示のいくつかの実施形態による、カメラトリガのための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【0019】
以下の詳細な説明では、関連する開示の完全な理解を提供するために、多くの具体的な詳細が例として記載される。明らかに、以下に説明する図面は、本開示のいくつかの例または実施形態にすぎない。当業者であれば、さらなる創造的な努力なしに、これらの図面にしたがって本開示を他の同様のシナリオに適用し得る。これらの例示された実施形態の目的は、本出願を実施するために当業者にのみ提供されるものであり、本開示の範囲を限定することを意図するものではないことを理解されたい。文脈から明らかに取得されない限り、または文脈が別段の説明をしない限り、図面中の同じ符号は同じ構造または動作を指す。
【0020】
本明細書で使用される「システム(system)」、「エンジン(engine)」、「ユニット(unit)」、「モジュール(module)」、および/または「ブロック(block)」という用語は、異なるレベルの異なるコンポーネント、要素、部品、セクション、またはアセンブリを昇順で区別するための1つの方法であることが理解されるであろう。しかしながら、同じ目的を達成し得る場合、用語は他の表現に置き換えられる場合がある。
【0021】
本明細書で使用される用語は、特定の例および実施形態を説明することのみを目的としており、限定することを意図したものではない。本明細書で使用される場合、単数形「a」、「an」、および「the」は、文脈上明らかに別段の指示がない限り、複数形も含むことが意図されている場合がある。さらに、本開示で使用されるとき、「含む(include)」および/または「備える(comprise)」という用語は、整数、デバイス、挙動、記載された機能、ステップ、要素、動作、および/またはコンポーネントの存在を指定するが、1つまたは複数の他の整数、デバイス、挙動、機能、ステップ、要素、動作、コンポーネント、および/またはそれらのグループの存在または追加を排除するものではない。
【0022】
本開示で使用されるフローチャートは、本開示のいくつかの実施形態にしたがってシステムが実装する動作を示す。フローチャートの動作は、順番どおりに実装されない可能性があることを明確に理解されたい。逆に、動作は逆の順序で、または同時に実装される可能性がある。さらに、1つまたは複数の他の動作がフローチャートに追加されてもよい。1つまたは複数の動作がフローチャートから削除されてもよい。
【0023】
本開示の一態様は、カメラ同期のためのシステムおよび方法に関する。システムは、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定し得る。システムはまた、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させ得る。さらに、システムは、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示し得る。システムはまた、同期された周波数の下で、第1のカメラの第1の時間と第2のカメラの第2の時間との間の時間差を決定することと、時間差に基づいて、第2のカメラの第2の時間を第1のカメラの第1の時間に同期させることとを行い得る。
【0024】
本開示のシステムおよび方法によれば、複数のカメラ間の周波数同期および/または時間同期を達成することができるため、複数のカメラによって出力されるデータフレームのタイムスタンプを内部データと完全に同期させることができ、それによって複数のカメラ間の正確かつ効率的な連携を達成することができる。
【0025】
図1は、本開示のいくつかの実施形態による、例示的なカメラ同期システムを示す概略図である。図示されるように、カメラ同期システム100は、マルチカメラデバイス110、処理デバイス120、およびストレージデバイス130を含み得る。いくつかの実施形態では、マルチカメラデバイス110、処理デバイス120、および/またはストレージデバイス130は、ワイヤレス接続(たとえば、ネットワーク)、ワイヤード接続、またはそれらの組合せを介して相互に接続および/または通信し得る。カメラ同期システム100内のコンポーネント間の接続は、可変であり得る。単なる例として、マルチカメラデバイス110は、
図1に示されるように直接、またはネットワークを通じて処理デバイス120に接続され得る。別の例として、ストレージデバイス130は、
図1に示されるように処理デバイス120に直接接続されてもよく、ネットワークを通じて接続されてもよい。
【0026】
マルチカメラデバイス110は、画像またはビデオをキャプチャするように構成され得る。いくつかの実施形態では、マルチカメラデバイス110は複数のカメラを含み得る。いくつかの実施形態では、複数のカメラは、カメラ動作を同期して遂行するように指示され得る。例示的なカメラは、ガンカメラ、ドームカメラ、一体型カメラ、単眼カメラ、双眼カメラ、多視点カメラ、可視光カメラ、熱画像カメラなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、マルチカメラデバイス110は、キャプチャされた画像またはビデオをカメラ同期システム100の1つまたは複数のコンポーネント(たとえば、処理デバイス120、ストレージデバイス130)に伝送し得る。
【0027】
処理デバイス120は、カメラ同期システム100の1つまたは複数のコンポーネント(たとえば、マルチカメラデバイス110および/またはストレージデバイス130)から取得されたデータおよび/または情報を処理し得る。たとえば、処理デバイス120は、マルチカメラデバイスのカメラの周波数および/または時間を同期し得る。さらに、システムは、同期された周波数および/または同期された時間の下でカメラ動作を遂行するようにカメラに指示し得る。他の例として、処理デバイス120は、ターゲット周波数分周係数を決定し、ターゲット周波数分周係数に基づいて周波数同期を遂行し得る。いくつかの実施形態では、処理デバイス120は、単一のサーバであってもよく、サーバグループであってもよい。サーバグループは集中型であってもよく、分散型であってもよい。いくつかの実施形態では、処理デバイス120はローカルであってもよく、リモートであってもよい。たとえば、処理デバイス120は、マルチカメラデバイス110および/またはストレージデバイス130に記憶された情報および/またはデータにアクセスし得る。いくつかの実施形態では、処理デバイス120は、クラウドプラットフォーム上に実装され得る。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、処理デバイス120は、
図2に示されるコンピューティングデバイス200によって実装され得る。
【0028】
ストレージデバイス130は、マルチカメラデバイス110および/またはカメラ同期システム100の他のコンポーネントから取得したデータ/情報を記憶し得る。いくつかの実施形態では、ストレージデバイス130は、大容量ストレージ、リムーバブルストレージ、揮発性読出し書込みメモリ、読出し専用メモリ(ROM)など、またはそれらの任意の組合せを含み得る。たとえば、大容量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含み得る。リムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、zipディスク、磁気テープなどを含み得る。いくつかの実施形態では、ストレージデバイス130は、本開示において説明される例示的な方法を実行するための1つまたは複数のプログラムおよび/あるいは命令を記憶し得る。
【0029】
いくつかの実施形態では、ストレージデバイス130は、カメラ同期システム100の1つまたは複数の他のコンポーネント(たとえば、マルチカメラデバイス110、処理デバイス120)と通信し得る。カメラ同期システム100の1つまたは複数のコンポーネントは、ストレージデバイス130に記憶されたデータまたは命令にアクセスし得る。いくつかの実施形態では、ストレージデバイス130は処理デバイス120の一部であってもよい。
【0030】
いくつかの実施形態では、カメラ同期システム100はネットワークをさらに含み得る。ネットワークは、カメラ同期システム100のための情報および/またはデータの交換を容易にし得る。いくつかの実施形態では、カメラ同期システム100の1つまたは複数のコンポーネント(たとえば、マルチカメラデバイス110、処理デバイス120、ストレージデバイス130)は、ネットワークを介してカメラ同期システム100の他のコンポーネントに情報および/またはデータを伝送し得る。いくつかの実施形態では、ネットワークは、任意のタイプのワイヤードネットワークまたはワイヤレスネットワーク、あるいはそれらの組合せであってもよい。
【0031】
いくつかの実施形態では、カメラ同期システム100は、端末デバイスをさらに含み得る。端末デバイスは、マルチカメラデバイス110、処理デバイス120、および/またはストレージデバイス130から情報および/またはデータを受信するように構成され得る。たとえば、端末デバイスは、マルチカメラデバイス110からキャプチャされた画像またはビデオを受信し得る。いくつかの実施形態では、端末デバイスは、マルチカメラデバイス110、処理デバイス120、および/またはストレージデバイス130から受信する情報および/またはデータを処理し得る。いくつかの実施形態では、端末装置は、ユーザが情報を閲覧し、および/またはカメラ同期システム100にデータおよび/または命令を入力し得るユーザインターフェースを提供し得る。いくつかの実施形態では、端末デバイスは、モバイル電話、コンピュータ、ウェアラブルデバイスなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、端末デバイスは、テキスト、画像、オーディオ、ビデオ、グラフ、アニメーションなど、またはそれらの任意の組合せなど、人間が読取り可能な形式で情報を表示できるディスプレイを含み得る。端末デバイスのディスプレイは、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイパネル(PDP)、三次元(3D)ディスプレイ、またはそれらの組合せを含み得る。
【0032】
上記の説明は単に説明を目的として提供されており、本開示の範囲を限定することが意図されていない点に留意されたい。当業者であれば、本開示の教示に基づいて複数の変形および修正を行い得る。しかしながら、それらの変形および修正は本開示の範囲から逸脱するものではない。
【0033】
図2は、本開示のいくつかの実施形態による、例示的なコンピューティングデバイスの例示的なハードウェアおよび/またはソフトウェアコンポーネントを示す概略図である。いくつかの実施形態では、処理デバイス120は、コンピューティングデバイス200上に実装され、本開示で開示される処理デバイス120の機能を実行するように構成され得る。
【0034】
いくつかの実施形態では、コンピューティングデバイス200は、本明細書で説明されるカメラ同期システム100の任意のコンポーネントを実装するために使用され得る。たとえば、処理デバイス120は、そのハードウェア、ソフトウェアプログラム、ファームウェア、またはそれらの組合せを介してコンピューティングデバイス200上に実装され得る。便宜上、そのようなコンピュータが1つだけ示されているが、本明細書で説明するカメラ同期に関連するコンピュータ機能は、処理負荷を分散するために、多数の同様のプラットフォーム上に分散方式で実装され得る。
【0035】
たとえば、コンピューティングデバイス200は、データ通信を容易にするために、COMポート250を含んでいてもよく、COMポート250は、それに接続されたネットワークに接続され、およびそれに接続されたネットワークから接続されている。コンピューティングデバイス200はまた、プログラム命令を遂行するための1つまたは複数のプロセッサ(たとえば、論理回路)の形式のプロセッサ(たとえば、プロセッサ220)を含み得る。たとえば、プロセッサ220は、内部にインターフェース回路および処理回路を含み得る。インターフェース回路は、バス210から電子信号を受信するように構成され得、電子信号は、処理回路が処理するための構造化データおよび/または命令を符号化する。処理回路は、論理計算を実行し、次いで、結論、結果、および/または電子信号として符号化された命令を決定し得る。次いで、インターフェース回路は、バス210を介して処理回路から電子信号を送信し得る。
【0036】
コンピューティングデバイス200は、たとえば、コンピューティングデバイス200によって処理および/または伝送される様々なデータファイルを記憶するための、ディスク270、読出し専用メモリ(ROM)230、またはランダムアクセスメモリ(RAM)240を含む、異なる形式のプログラムストレージおよびデータストレージをさらに含み得る。コンピューティングデバイス200はまた、ROM230、RAM240、および/またはプロセッサ220によって遂行される別の種類の非一時的ストレージ媒体に記憶されるプログラム命令を含み得る。本開示の方法および/またはプロセスは、プログラム命令として実装され得る。コンピューティングデバイス200はまた、コンピューティングデバイス200と他のコンポーネントとの間の入力/出力をサポートするI/Oコンポーネント260を含み得る。コンピューティングデバイス200はまた、ネットワーク通信を介してプログラミングおよびデータを受信し得る。単に説明のために、
図2にはプロセッサが1つだけ示されている。複数のプロセッサ220も考えられる。したがって、本開示において説明されるような1つのプロセッサ220によって実行される動作および/または方法ステップはまた、複数のプロセッサによって共同でまたは個別に実行され得る。
【0037】
図3は、本開示のいくつかの実施形態による、例示的なマルチカメラデバイスを示す概略図である。
【0038】
図3に示されるように、マルチカメラデバイス300は、第1のカメラ310、第2のカメラ320-1、第2のカメラ320-2、第2のカメラ320-3、…を含み得る。いくつかの実施形態では、マルチカメラデバイス110は、ワンマスターマルチスレーブモードであってもよい。いくつかの実施形態では、第1のカメラ310はマスターデバイスとして指定され得、第2のカメラ320(たとえば、第2のカメラ320-1、第2のカメラ320-2、第2のカメラ320-3)は、スレーブデバイスとして指定され得る。
【0039】
いくつかの実施形態では、第1のカメラ310は、カメラピン、バス(たとえば、I2Cバス)、ネットワークインターフェースなど、またはそれらの組合せを介して第2のカメラ320と通信し得る。
【0040】
いくつかの実施形態では、第1のカメラ310と第2のカメラ320は、メッセージを介して対話し得る。メッセージに関するさらなる説明は、本開示の他の箇所、たとえば、
図11およびその関連説明に見出すことができる。
【0041】
図4は、本開示のいくつかの実施形態による、例示的な処理デバイスを示すブロック図である。
【0042】
図4に示されるように、処理デバイス400は、周波数決定モジュール410、周波数同期モジュール420、およびトリガモジュール430を含み得る。
【0043】
周波数決定モジュール410は、第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するために使用され得る。周波数決定モジュール410に関するさらなる説明は、本開示の他の箇所、たとえば動作510およびその関連説明に見出すことができる。
【0044】
周波数同期モジュール420は、周波数差に基づいて第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させるために使用され得る。周波数同期モジュール420に関するさらなる説明は、本開示の他の箇所、たとえば動作520およびその関連説明に見出すことができる。
【0045】
トリガモジュール430は、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するために使用され得る。トリガモジュール430に関するさらなる説明は、本開示の他の箇所、たとえば動作530およびその関連説明に見出すことができる。
【0046】
いくつかの実施形態では、処理デバイス120は、時間決定モジュール440および時間同期モジュール450をさらに含み得る。
【0047】
時間決定モジュール440は、同期された周波数の下で第1のカメラの第1の時間と第2のカメラの第2の時間との間の時間差を決定するために使用され得る。時間決定モジュール440に関するさらなる説明は、本開示の他の箇所、たとえば動作540およびその関連説明に見出すことができる。
【0048】
時間同期モジュール450は、時間差に基づいて第2のカメラの第2の時間を第1のカメラの第1の時間に同期させるために使用され得る。時間同期モジュール450に関するさらなる説明は、本開示の他の箇所、たとえば動作550およびその関連説明に見出すことができる。
【0049】
処理デバイス120内のモジュールは、ワイヤード接続またはワイヤレス接続を介して相互に接続または通信し得る。ワイヤード接続は、メタルケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組合せを含み得る。ワイヤレス接続は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth、ZigBee、近距離無線通信(NFC)など、またはそれらの任意の組合せを含み得る。
【0050】
いくつかの実施形態では、時間決定モジュール440および時間同期モジュール450は不要な場合がある。
【0051】
いくつかの実施形態では、モジュールのうちの2つ以上が単一のモジュールとして組み合わされてもよく、モジュールのうちのいずれか1つが2つ以上のユニットに分割されてもよい。たとえば、周波数決定モジュール410および時間決定モジュール440は、第1のカメラと第2のカメラとの間の周波数差と時間差の両方を決定し得る単一のモジュールとして組み合わせられ得る。
【0052】
いくつかの実施形態では、処理デバイス120は、1つまたは複数の追加モジュールを含み得る。たとえば、処理デバイス120はまた、カメラ同期システム100の1つまたは複数のコンポーネント(たとえば、マルチカメラデバイス110、ストレージデバイス130)に信号(たとえば、電気信号、電磁信号)を伝送するように構成された伝送モジュール(図示せず)を含み得る。別の例として、処理デバイス120は、カメラ同期に関連付けられる情報および/またはデータ(たとえば、周波数差、時間差、カメラID)を記憶するために使用されるストレージモジュール(図示せず)を含み得る。
【0053】
図5Aは、本開示のいくつかの実施形態による、カメラ同期のための例示的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス500は、カメラ同期システム100によって遂行され得る。たとえば、プロセス500は、ストレージデバイス(たとえば、ストレージデバイス130)に記憶された命令のセット(たとえば、アプリケーション)として実装され得る。いくつかの実施形態では、処理デバイス120(たとえば、コンピューティングデバイス200のプロセッサ220、および/または
図4に示される1つまたは複数のモジュール)は、命令のセットを遂行し得、したがって、プロセス500を実行するように指示され得る。以下に提示される、図示されるプロセスの動作は、例示を目的としている。いくつかの実施形態では、プロセス500は、説明されていない1つまたは複数の追加の動作を使用して、および/あるいは説明した動作のうちの1つまたは複数の使用なしで達成され得る。さらに、
図5Aに示される、および以下に説明されるプロセス500の動作の順序は、限定することを意図したものではない。
【0054】
510において、処理デバイス120(たとえば、周波数決定モジュール410)は、第1のカメラ(たとえば、第1のカメラ310)の第1の周波数と第2のカメラ(たとえば、第2のカメラ320)の第2の周波数との間の周波数差を決定し得る。
【0055】
いくつかの実施形態では、第1の周波数は、第1のカメラのローカルクロック周波数であってもよく、第2の周波数は、第2のカメラのローカルクロック周波数であってもよい。本開示の他の箇所において説明するように、製造業者、水晶発振器のモデルまたは種類、カメラの動作条件(たとえば、温度)などが異なるため、異なるカメラ間に周波数差が存在する場合がある。したがって、処理デバイス120は、異なるカメラ間の周波数差を決定し、周波数同期を実行し得る。
【0056】
いくつかの実施形態では、本開示の他の箇所において説明するように、第1のカメラと第2のカメラは、メッセージを介して相互に対話し得る。したがって、処理デバイス120は、メッセージの送信時間および/または受信時間に基づいて、第1のカメラと第2のカメラとの間の周波数差を決定し得る。
【0057】
いくつかの実施形態では、第1のカメラと第2のカメラとの間の周波数差の形式は、周波数比、周波数差値など、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、第1のカメラと第2のカメラとの間の周波数差は、数値、ベクトル、行列、行列式など、またはそれらの組合せとして表され得る。
【0058】
いくつかの実施形態では、「周波数比」を例に挙げると、処理デバイス120は、第1のカメラがメッセージ(「第1のメッセージ」と呼ぶことができる)を送信する第1の時間(たとえば、
図6に示されるt
1)と、第2のカメラがメッセージを受信する第2の時間(たとえば、
図6に示されるt
2)を決定し得る。処理デバイス120はまた、第1のカメラがメッセージ(「第2のメッセージ」と呼ぶことができる)を送信する第3の時間(たとえば、
図6に示されるt
3)と、第2のカメラがメッセージを受信する第4の時間(たとえば、
図6に示されるt
4)を決定し得る。処理デバイス120は、第1の時間、第2の時間、第3の時間、および第4の時間に基づいて、第1のカメラと第2のカメラとの間の周波数差をさらに決定し得る。
【0059】
たとえば、処理デバイス120は、次の式(1)にしたがって周波数差を決定し得る。
【0060】
【0061】
上式で、比率は周波数差(周波数比)を指す。
【0062】
いくつかの実施形態では、第1のメッセージと第2のメッセージは同じであってもよく、異なっていてもよい。
【0063】
いくつかの実施形態では、第1のカメラは3つ以上(たとえば、3、5、10)のメッセージを第2のカメラに送信し得る。たとえば、第1のカメラは、複数のメッセージを連続して第2のカメラに送信し得る。したがって、処理デバイス120は、第1のカメラがメッセージを送信する時間t2n+1と第2のカメラがメッセージを受信する時間t2n+2をそれぞれ決定し得る。処理デバイス120は、複数のメッセージの送信時間および受信時間に基づいて、第1のカメラと第2のカメラとの間の周波数差をさらに決定し得る。
【0064】
たとえば、処理デバイス120は、次の式(2)にしたがって周波数差を決定し得る。
【0065】
【0066】
上式で、nは複数のメッセージの数を指し、ΔTは複数のメッセージを送信する時間間隔を指す。いくつかの実施形態では、時間間隔ΔTはシステムのデフォルト値であってもよく、ユーザによって設定されてもよい。たとえば、時間間隔ΔTは5ミリ秒、20ミリ秒、1秒などであってよい。
【0067】
連続して送信される複数のメッセージにしたがって、第1のカメラと第2のカメラとの間の周波数差をより正確に決定することができる。
【0068】
いくつかの実施形態では、メッセージのフォーマットは、少なくともカメラIDを含み得る。したがって、メッセージの送信および/または受信の時間は、カメラIDに基づいて決定され得る。いくつかの実施形態では、カメラIDは、カメラ番号、シリアル番号、国際モバイル機器識別番号など、またはそれらの任意の組合せを含み得る。たとえば、第1の時間または第3の時間は、第1のカメラが第1のカメラの第1のカメラIDを送信する時点であってもよく、第2の時間または第4の時間は、第2のカメラが第1のカメラIDを受信する時点であってもよい。メッセージのフォーマットに関するさらなる説明は、本開示の他の箇所、たとえば
図11およびその関連説明に見出すことができる。
【0069】
520において、処理デバイス120(たとえば、周波数同期モジュール420)は、周波数差に基づいて、第2のカメラの第2の周波数を第1のカメラの第1の周波数に同期させ得る。
【0070】
いくつかの実施形態では、処理デバイス120は、周波数差に基づいて、第2のカメラの第2の周波数を第1のカメラの第1の周波数に調整し得る。たとえば、処理デバイス120は、以下の式(3)にしたがって、第2のカメラの第2の周波数を第1のカメラの第1の周波数に調整し得る。
fosys=比率*fosc (3)
上式で、fosysは第1の周波数(「ターゲット周波数」とも呼ばれる)を指し、foscは第2の周波数を指し、比率は周波数差を指す。
【0071】
いくつかの実施形態では、比較的高い周波数における周波数同期の精度を向上させるために、処理デバイス120は、第2のカメラの第2の周波数をあらかじめ設定された分周周波数に分周し、そのあらかじめ設定された分周周波数を第1のカメラの第1の周波数に逓倍し得る。たとえば、
図7に示されるように、処理デバイス120は、周波数差および第2の周波数を分周器に入力し、分周器を通じて第2の周波数をあらかじめ設定された分周周波数に分周し得る。次いで、処理デバイス120は、あらかじめ設定された分周周波数を第1の周波数に逓倍するために、あらかじめ設定された分周周波数をフェーズロックループに入力し得る。
【0072】
いくつかの実施形態では、処理デバイス120は、ターゲット周波数分周係数に基づいて第2のカメラの第2の周波数をあらかじめ設定された分周周波数に分周し、次いで、あらかじめ設定された分周周波数を第1の周波数に逓倍し得る。いくつかの実施形態では、処理デバイス120は、第2の周波数をあらかじめ設定された分周周波数に分周するために、高次オーバーフロー方式(たとえば、14ビットの高次オーバーフロー方式)を使用し得る。ターゲット周波数分周係数を決定することに関するさらなる説明は、本開示の他の箇所、たとえば
図8およびその関連説明に見出すことができる。
【0073】
いくつかの実施形態では、あらかじめ設定された分周周波数は、第1の周波数よりも低く、第1の周波数で割り切れる周波数であってもよい。たとえば、第1の周波数が100MHzであると仮定すると、あらかじめ設定された分周周波数は、10MHz、20MHz、25MHz、50MHzなどであってもよい。いくつかの実施形態では、あらかじめ設定された分周周波数は、システムのデフォルト値であってもよく、ユーザによって設定されてもよい。
【0074】
530において、処理デバイス120(たとえば、トリガモジュール430)は、第1のカメラと第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示し得る。
【0075】
いくつかの実施形態では、第1のカメラと第2のカメラとの間の周波数同期が完了した後、処理デバイス120は、同期された周波数の下でカメラ動作(たとえば、露出、写真撮影(photography)、撮影(shooting))を遂行するように第1のカメラと第2のカメラを制御し得る。第1のカメラと第2のカメラは同じ周波数で動作するため、第1のカメラと第2のカメラは互いに正確に連携することができる。カメラ動作を遂行することに関するさらなる説明は、本開示の他の箇所、たとえば
図12およびその関連説明に見出すことができる。
【0076】
いくつかの実施形態では、第1のカメラと第2のカメラの周波数同期が完了した後、処理デバイス120はまた、連携の精度をさらに高めるために、第1のカメラと第2のカメラとの間の時間同期も遂行し得る。
【0077】
540において、処理デバイス120(たとえば、時間決定モジュール440)は、同期された周波数の下で、第1のカメラの第1の時間と第2のカメラの第2の時間との間の時間差を決定し得る。
【0078】
いくつかの実施形態では、第1の時間は第1のカメラのローカルな現在の時点であってもよく、第2の時間は第2のカメラのローカルな現在の時点であってもよい。
【0079】
いくつかの実施形態では、本開示の他の箇所において説明するように、第1のカメラと第2のカメラは、メッセージを介して相互に対話し得る。したがって、処理デバイス120は、メッセージの送信時間および/または受信時間に基づいて、第1のカメラと第2のカメラとの間の時間差を決定し得る。
【0080】
いくつかの実施形態では、第1のカメラと第2のカメラとの間の時間差の形式は、時間比、時間差値など、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、第1のカメラと第2のカメラとの間の時間差は、数値、ベクトル、行列、行列式など、またはそれらの任意の組合せとして表され得る。
【0081】
いくつかの実施形態では、「時間差値」を例に挙げると、処理デバイス120は、第2のカメラがメッセージ(「第3のメッセージ」と呼ぶことができる)を送信する第5の時間(たとえば、
図9に示されるs
1)と、第1のカメラがメッセージを受信する第6の時間(たとえば、
図9に示されるs
2)を決定し得る。処理デバイス120はまた、第1のカメラがメッセージ(「第4のメッセージ」と呼ぶことができる)を送信する第7の時間(たとえば、
図9に示されるs
3)と、第2のカメラがメッセージを受信する第8の時間(たとえば、
図9に示されるs
4)を決定し得る。処理デバイス120は、第5の時間、第6の時間、第7の時間、および第8の時間に基づいて、第1のカメラと第2のカメラとの間の時間差をさらに決定し得る。
【0082】
たとえば、処理デバイス120は、次の式(4)にしたがって時間差を決定し得る。
【0083】
【0084】
上式で、dは時間差(時間差値)を指す。
【0085】
550において、処理デバイス120(たとえば、時間同期モジュール450)は、時間差に基づいて、第2のカメラの第2の時間を第1のカメラの第1の時間に同期させ得る。
【0086】
いくつかの実施形態では、処理デバイス120は、第1のカメラと第2のカメラとの間の時間同期を達成するために、時間差に基づいて、第2のカメラの第2の時間を第1のカメラの第1の時間に修正し得る。たとえば、
図10に示されるように、処理デバイス120は、時間差に基づいて第2のカメラの時間調整量を決定し、その時間調整量を第2のカメラのシステム時間調整モジュールに蓄積し得、それによって、第2のカメラの第2の時間を第1の時間に修正する。
【0087】
いくつかの実施形態では、第1のカメラと第2のカメラとの間の周波数同期および時間同期が完了した後、処理デバイス120は、カメラ動作を遂行するために第1のカメラおよび第2のカメラを制御し得る。第1のカメラと第2のカメラは同じ周波数および同じ時間で動作するため、第1のカメラと第2のカメラの動作の同期が厳密かつ正確に保証され、それによって第1のカメラと第2のカメラとの間の正確な連携が保証される。カメラ動作を遂行することに関するさらなる説明は、本開示の他の箇所、たとえば
図12およびその関連説明に見出すことができる。
【0088】
上記の説明は単に説明を目的として提供されており、本開示の範囲を限定することが意図されていない点に留意されたい。当業者であれば、本開示の教示に基づいて複数の変形または修正を行い得る。しかしながら、それらの変形および修正は本開示の範囲から逸脱するものではない。
【0089】
たとえば、1つまたは複数の他のオプションの動作(たとえば、記憶動作、伝送動作)がプロセス500における他の場所に追加されてもよい。記憶動作において、処理デバイス120は、カメラ同期に関連付けられる情報および/またはデータ(たとえば、カメラID、周波数差、時間差)を、本開示の他の箇所において開示されるストレージデバイス(たとえば、ストレージデバイス130)に記憶し得る。伝送動作において、カメラ(たとえば、第1のカメラまたは第2のカメラ)は、メッセージを送信または受信する時間を処理デバイス120に伝送し得る。別の例として、動作510および動作540は、処理デバイス120が第1のカメラと第2のカメラとの間の周波数差と時間差を決定し得る単一の動作に組み合わされ得る。さらなる例として、動作540および動作550は不要である可能性がある。
【0090】
図5Bは、本開示のいくつかの実施形態による、カメラ同期のための例示的なプロセスを示す概略図である。
図5Bに示されるように、第1のカメラと第2のカメラは、メッセージを送信および/またはメッセージを受信することによって相互に対話し得る。処理デバイス120は、メッセージを送信および/または受信する際に、第1のカメラの第1の時間(「ローカルの現在の時間」とも呼ばれる)および第2のカメラの第2の時間(「ローカルの現在の時間」とも呼ばれる)に基づいて、第1のカメラと第2のカメラとの間の周波数差と時間差を決定し得る。処理デバイス120は、周波数差および時間差に基づいて、第1のカメラと第2のカメラとの間で周波数同期および時間同期をさらに実行し得る。
【0091】
図8は、本開示のいくつかの実施形態による、ターゲット周波数分周係数を決定するための例示的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス800は、カメラ同期システム100によって遂行され得る。たとえば、プロセス800は、ストレージデバイス(たとえば、ストレージデバイス130)に記憶された命令のセット(たとえば、アプリケーション)として実装され得る。いくつかの実施形態では、処理デバイス120(たとえば、コンピューティングデバイス200のプロセッサ220、および/または周波数同期モジュール420)は、命令のセットを遂行し得、したがって、プロセス800を実行するように指示され得る。以下に提示される、図示されるプロセスの動作は、例示を目的としている。いくつかの実施形態では、プロセス800は、説明されていない1つまたは複数の追加の動作を使用して、および/あるいは説明した動作のうちの1つまたは複数の使用なしで達成され得る。さらに、
図8に示される、および以下に説明されるプロセス800の動作の順序は、限定することを意図したものではない。
【0092】
810において、処理デバイス(たとえば、周波数同期モジュール420)は、第1の周波数とあらかじめ設定された分周周波数に基づいて基本周波数分周係数を決定し得る。
【0093】
いくつかの実施形態では、処理デバイス120は、第1の周波数とあらかじめ設定された分周周波数との比率に基づいて基本周波数分周係数を決定し得る。たとえば、第1の周波数が100MHzであり、あらかじめ設定された分周周波数が25MHzであると仮定すると、基本周波数分周係数は4になり得る。別の例として、第1の周波数が200MHzであり、あらかじめ設定された分周周波数が20MHzであると仮定すると、基本分周係数は10になり得る。
【0094】
いくつかの実施形態では、動作520に関連して説明したように、処理デバイス120は、第2のカメラの第2の周波数をあらかじめ設定された分割周波数に分割するために、高次オーバーフロー方式(たとえば、14ビット高次オーバーフロー方式)を使用し得る。たとえば、また、第1の周波数が100MHzであり、あらかじめ設定された分周周波数が25MHzであると仮定すると、基本周波数分周係数(「OSC_BASE」として表現することもできる)は16進数で4×214=4096=0×1000として設定され得る。
【0095】
820において、処理デバイス120(たとえば、周波数同期モジュール420)は、第1の周波数と第2の周波数との間の差分値に基づいて差分比を決定し得る。
【0096】
いくつかの実施形態では、処理デバイス120は、第1の周波数と第2の周波数との差分値の第1の周波数に対する比率に基づいて差分比を決定し得る。たとえば、第1の周波数が100MHzであり、第2の周波数が99MHzであると仮定すると、差の比率は0.01であり得る。別の例として、第1の周波数が200MHzであり、第2の周波数が212MHzであると仮定すると、差の比率は0.06であり得る。
【0097】
いくつかの実施形態では、差分比は、正の値であってもよく、または負の値であってもよい。たとえば、第1の周波数が第2の周波数より大きい場合、差分比は正の値であってもよい。別の例として、第1の周波数が第2の周波数より小さい場合、差分比は負の値であってもよい。たとえば、第1の周波数が200MHzであり、第2の周波数が212MHzであると仮定すると、差の比率は-0.06であり得る。
【0098】
830において、処理デバイス120(たとえば、周波数同期モジュール420)は、基本周波数分周係数と差分比に基づいて補助周波数分周係数を決定し得る。
【0099】
いくつかの実施形態では、処理デバイス120は、基本周波数分周係数と差分比との積に基づいて補助周波数分周係数を決定し得る。たとえば、基本周波数分周係数が4であり、差分比が0.01であると仮定すると、補助周波数分周係数は0.04であり得る。別の例として、基本周波数分周係数が10であり、差分比が0.06であると仮定すると、補助周波数分周係数は0.6であり得る。
【0100】
いくつかの実施形態では、上述したように、高次オーバーフロー方式(たとえば、14ビット高次オーバーフロー方式)の場合、処理デバイス120は、差分比と基本周波数分周係数(たとえば、「OSC_BASE」)との積に基づいて補助周波数分周係数(「ナノ秒」として表現することもできる)を決定し得る。たとえば、上記に関連して説明したように、補助周波数分周係数は、16進数で4096×0.01≒41=0×029と設定され得る。
【0101】
840において、処理デバイス120(たとえば、周波数同期モジュール420)は、基本周波数分周係数と補助周波数分周係数に基づいてターゲット周波数分周係数を決定し得る。
【0102】
いくつかの実施形態では、処理デバイス120は、基本周波数分周係数と補助周波数分周係数との差または和に基づいてターゲット周波数分周係数を決定し得る。いくつかの実施形態では、第1の周波数が第2の周波数より大きい場合、ターゲット周波数分周係数は、基本周波数分周係数と補助周波数分周係数との差に基づいて決定され得る。いくつかの実施形態では、第1の周波数が第2の周波数より小さい場合、ターゲット周波数分周係数は、基本周波数分周係数と補助周波数分周係数との和に基づいて決定され得る。いくつかの実施形態では、差分比が負の値である場合、ターゲット周波数分周係数は、基本周波数分周係数と補助周波数分周係数との差に基づいて決定され得る。
【0103】
たとえば、基本周波数分周係数が4であり、補助周波数分周係数が0.04であると仮定すると、ターゲット周波数分周係数は3.96であり得る。別の例として、基本周波数分周係数が10であり、補助周波数分周係数が0.6であると仮定すると、ターゲット周波数分周係数は10.6であり得る。
【0104】
いくつかの実施形態では、
図7に示されるように、処理デバイス120は、第1のカメラと第2のカメラとの間の周波数差およびターゲット周波数分周係数を第2のカメラの分周器に追加し得る。分周器は、第2のカメラの第2の周波数(たとえば、99MHz)をあらかじめ設定された分周周波数(たとえば、25MHz)に分周し得る。フェーズロックループモジュールは、第2のカメラと第1のカメラとの間の周波数同期を実現するために、あらかじめ設定された分周周波数を第1のカメラの第1の周波数(たとえば、100MHz)に逓倍し得る。
【0105】
いくつかの実施形態では、上述したように、高次オーバーフロー方式(たとえば、14ビット高次オーバーフロー方式)の場合、誤差の蓄積を排除または低減するために、処理デバイス120は、ユニットあたりの修正効率(または、補足係数)を決定し得る(たとえば、ミリ秒あたりの修正効率は、「frac_ns」として表すことができる)。さらに、処理デバイス120は、基本周波数分周係数、補助周波数分周係数、およびユニットあたりの修正効率に基づいて、第2のカメラの第2の周波数をあらかじめ設定された分周周波数に分周し得る。たとえば、処理デバイス120は、基本周波数分周係数、補助周波数分周係数、ユニットあたりの修正効率を分周器に追加し得、分周器のオーバーフロービットがあらかじめ設定された分周周波数として決定され得る。
【0106】
いくつかの実施形態では、処理デバイス120は、第1の周波数のユニットあたり(たとえば、ミリ秒あたり)のクロックサイクル数と、第2の周波数のユニットあたり(たとえば、ミリ秒あたり)のクロックサイクル数とを決定し、両者の違いに基づいてユニットあたりの修正効率を決定し得る。たとえば、上記に関連して説明したように、基本周波数分周係数(たとえば、「OSC_BASE」)は4096であり、補助周波数分周係数(たとえば、「ナノ秒」)は41であり、第1の周波数のミリ秒あたりのクロックサイクル数は4096×100MHz×0.001s=409600000であり、第2の周波数のミリ秒あたりのクロックサイクル数は、(4096+41)×99MHz×0.001s=40956300となる。したがって、ユニットあたりの修正効率は、16進数で409600000-40956300=37000=0×9088となる。
【0107】
本開示の実施形態では、分周処理は高次オーバーフロー分周方式で実行することができ、補助周波数分周係数は基本周波数分周係数に基づいて増加または減少するため、正確で便利な分周演算を実現することができ、したがって、正確な周波数同期を実現することができる。
【0108】
図11は、本開示のいくつかの実施形態によるメッセージの例示的なフォーマットを示す概略図である。
図11に示されるように、メッセージ1100のフォーマットは、ヘッダ、タイプ、カメラID、コンテンツセクション(メッセージのデータコンテンツ)、およびチェックコードを含み得る。
【0109】
いくつかの実施形態では、ヘッダは、送信元ポート番号、宛先ポート番号、長さなど、またはそれらの任意の組合せを含み得る。
【0110】
いくつかの実施形態では、タイプは、データパケットのタイプを示し得る。例示的なタイプには、ブロードキャストメッセージ(たとえば、0×FFによって示される)、デバイス同期(たとえば、0×01によって示される)、デバイス応答(たとえば、0×02によって示される)、時間設定(たとえば、0×03によって示される)などを含み得る。
【0111】
いくつかの実施形態では、メッセージのデータコンテンツは、タイムスタンプ、制御命令、データなど、またはそれらの任意の組合せを含み得る。
【0112】
いくつかの実施形態では、チェックコードは、メッセージのデータコンテンツの正しさを決定するために使用され得る。いくつかの実施形態では、チェックコードは、パリティチェック、ヘミングコード、CRC巡回冗長検査コードなど、またはそれらの組合せであり得る。
【0113】
いくつかの実施形態では、タイムスタンプを含むメッセージのデータコンテンツを例に挙げると、カメラIDがデータ送信機(たとえば、第1のカメラ)によって送信されると、データ送信機のローカル時間(たとえば、第1の時間)がロックされ、タイムスタンプセクションに記入され得る。同様に、データ受信機(たとえば、第2のカメラ)は、同様の方法でデータ受信を実行し得る。したがって、複数のカメラ間におけるローカル時間情報の相互作用が実現できる。
【0114】
たとえば、動作510に関連して説明したように、第1のカメラによって送信された第1のメッセージ(たとえば、ブロードキャストメッセージ)を第2のカメラが受信するプロセス中に、第2のカメラの同期データ解析部は受信した第1のメッセージを解析し得る。第1のカメラのカメラIDが取得されると、第2のカメラはローカル時間ユニットを通じてローカル時間t2(第2の時間)を取得し、ローカル時間t2を処理デバイス120に送信し得る。次いで、第2のカメラは第1のメッセージ全体を受信した後でメッセージをチェックし得る。チェックが検証された場合、第1のカメラの時間抽出ユニットは、第1のメッセージを送信する第1のカメラのローカル時間t1(第1の時間)を抽出し、ローカル時間t1を処理デバイス120に送信し得る。同様に、第2のカメラが第1のカメラによって送信された第2のメッセージを受信するプロセス中に、第2のカメラの同期データ解析部は受信した第2のメッセージを解析し得る。メッセージ内の第1のカメラIDが取得されると、第2のカメラはローカル時間ユニットを通じてローカル時間t4(第4の時間)を取得し、ローカル時間t4を処理デバイス120に送信し得る。次いで、第2のカメラは第2のメッセージ全体を受信した後で第2のメッセージをチェックし得る。チェックが検証された場合、第1のカメラの時間抽出ユニットは、第2のメッセージを送信する第1のカメラのローカル時間t3(第3の時間)を抽出し、ローカル時間t3を処理デバイス120に送信し得る。したがって、処理デバイス120は、第1の時間、第2の時間、第3の時間、および第4の時間に基づいて、式(1)にしたがって第1のカメラと第2のカメラとの間の周波数差を決定し得る。
【0115】
別の例として、動作540に関連して説明したように、第2のカメラが第1のカメラからブロードキャストメッセージを受信した後、第2のカメラはローカル時間s1(第5の時間)において第3のメッセージ(たとえば、同期メッセージ)を第1のカメラに送信し得る。第1のカメラの同期データ解析部は、受信した第3のメッセージを解析し得る。第2のカメラのカメラIDが取得されると、第1のカメラは、ローカル時間ユニットを通じてローカル時間s2(第6の時間)を取得し、ローカル時間s2を処理デバイス120に送信し得る。さらに、第1のカメラは、第1のカメラのローカル時間s3(第7の時間)において第2のカメラに第4のメッセージを送信し得る。第2のカメラが第4のメッセージを受信するプロセス中に、第2のカメラは受信した第4のメッセージを解析し得る。第1のカメラのカメラIDが取得されると、第2のカメラはローカル時間s4(第8の時間)を取得し、ローカル時間s4を処理デバイス120に送信し得る。したがって、処理デバイス120は、第5の時間、第6の時間、第7の時間、および第8の時間に基づいて、式(4)にしたがって時間差を決定し得る。
【0116】
図12は、本開示のいくつかの実施形態による、カメラトリガのための例示的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス1200は、カメラ同期システム100によって遂行され得る。たとえば、プロセス1200は、ストレージデバイス(たとえば、ストレージデバイス130)に記憶された命令のセット(たとえば、アプリケーション)として実装され得る。いくつかの実施形態では、処理デバイス120(たとえば、コンピューティングデバイス200のプロセッサ220、および/またはトリガモジュール430)は、命令のセットを遂行し得、したがって、プロセス1200を実行するように指示され得る。以下に提示される、図示されるプロセスの動作は、例示を目的としている。いくつかの実施形態では、プロセス1200は、説明されていない1つまたは複数の追加の動作を使用して、および/あるいは説明した動作のうちの1つまたは複数の使用なしで達成され得る。さらに、
図12に示される、および以下に説明されるプロセス1200の動作の順序は、限定することを意図したものではない。
【0117】
1210において、処理デバイス120(たとえば、トリガモジュール430)は、トリガ命令を受信し得る。
【0118】
いくつかの実施形態では、トリガ命令は、対応する動作の開始または実行をカメラに命令するために使用され得る。
【0119】
いくつかの実施形態では、トリガ命令は、システムによって設定されたトリガ条件(たとえば、あらかじめ設定された露出時点、あらかじめ設定されたキャプチャ時点)が満たされたときに自動的に送信されるトリガ命令であり得る。いくつかの実施形態では、トリガ命令は、ユーザによって手動で発行されたトリガ命令であり得る。いくつかの実施形態では、トリガ命令は、上位デバイスまたは外部デバイスによって送信されるトリガ命令であり得る。
【0120】
1220において、処理デバイス120(たとえば、トリガモジュール430)は、トリガ命令に基づいて、第1のカメラの現在の時間および第2のカメラの現在の時間を検出し得る。
【0121】
いくつかの実施形態では、トリガ命令を受信した後、処理デバイス120は、第1のカメラおよび第2のカメラに、それぞれの現在のローカル時間を検出するように命令し得る。
【0122】
1230において、処理デバイス120(たとえば、トリガモジュール430)は、第1のカメラの現在の時間と第2のカメラの現在の時間があらかじめ設定された条件を満たすかどうかを決定し得る。
【0123】
いくつかの実施形態では、あらかじめ設定された条件は、第1のカメラの現在の時間が第2のカメラの現在の時間と同じであるかどうかであり得る。いくつかの実施形態では、あらかじめ設定された条件は、第1のカメラの現在の時間と第2のカメラの現在の時間が、トリガ命令において示されるあらかじめ設定された時点(たとえば、あらかじめ設定された露出時点、あらかじめ設定されたキャプチャ時点)であるかどうかであり得る。いくつかの実施形態では、あらかじめ設定された条件はまた、第1のカメラのクロック周波数と第2のカメラのクロック周波数が同期しているかどうかを含み得る。
【0124】
1240において、第1のカメラの現在の時間と第2のカメラの現在の時間があらかじめ設定された条件を満たすという決定に応じて、処理デバイス120(たとえば、トリガモジュール430)は、第1のカメラと第2のカメラにカメラ動作を遂行するよう指示し得る。
【0125】
いくつかの実施形態では、カメラ動作は、たとえば、露出、写真撮影、撮影など、またはそれらの任意の組合せを含み得る。第1のカメラと第2のカメラの周波数と時間が同期しているため、第1のカメラと第2のカメラの連携を実現するために、時間検出によってカメラの同期トリガを遂行することができる。
【0126】
1250において、第1のカメラの現在の時間と第2のカメラの現在の時間があらかじめ設定された条件を満たさないという決定に応答して、処理デバイス120(たとえば、トリガモジュール430)は、第1のカメラの現在の時間と第2のカメラの現在の時間があらかじめ設定された条件を満たすまで、あらかじめ設定された時間間隔後に、プロンプト(たとえば、音声プロンプト、テキストプロンプト、画像プロンプト)を発行してもよく、または次の検出ラウンドを実行してもよい。
【0127】
上記の説明は単に説明を目的として提供されており、本開示の範囲を限定することが意図されていない点に留意されたい。当業者であれば、本開示の教示に基づいて複数の変形または修正を行い得る。しかしながら、それらの変形および修正は本開示の範囲から逸脱するものではない。
【0128】
このように基本概念を説明したが、この詳細な開示を読んだ当業者には、前述の詳細な開示が例としてのみ提示されることを意図しており、限定するものではないことが明らかであろう。本明細書では明示的に述べていないが、様々な変更、改良、および修正が行われてよく、それらは当業者に意図されている。これらの変更、改良、および修正は、本開示によって示唆されることが意図されており、本開示の例示的な実施形態の趣旨および範囲内にある。
【0129】
さらに、本開示の実施形態を説明するために特定の用語が使用されている。たとえば、「一実施形態(one embodiment)」、「ある実施形態(an embodiment)」、および/または「いくつかの実施形態(some embodiments)」という用語は、その実施形態に関連して説明される特定の特徴、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「ある実施形態」または「一実施形態」または「代替実施形態」への2つ以上の言及は、必ずしもすべてが同じ実施形態を指すわけではないことが強調され、理解されるべきである。さらに、特定の特徴、構造、または特性は、本開示の1つまたは複数の実施形態において適切に組み合わせられ得る。
【0130】
さらに、処理要素またはシーケンスの列挙された順序、あるいはそれらの数字、文字、または他の指定の使用は、特許請求の範囲において指定される場合を除き、特許請求の範囲に記載されたプロセスおよび方法を任意の順序に限定することを意図したものではない。上記の開示は、本開示の様々な有用な実施形態であると現在考えられるものを様々な例を通じて論じているが、そのような詳細は単にその目的のためのものであり、添付の特許請求の範囲は開示された実施形態に限定されず、逆に、開示された実施形態の趣旨および範囲内にある修正および同等の構成を網羅することを意図していることを理解されたい。たとえば、上述の様々なコンポーネントの実装形態はハードウェアデバイスにおいて具体化され得るが、ソフトウェアのみのソリューション、たとえば既存のサーバまたはモバイルデバイスへのインストールとしても実装され得る。
【0131】
同様に、本開示の実施形態の前述の説明において、様々な実施形態のうちの1つまたは複数の理解を助けるために本開示を合理化する目的で、様々な特徴が単一の実施形態、図面、またはその説明にグループ化される場合があることを理解されたい。しかしながら、この開示方法は、請求された主題が各請求項において明示的に記載されている以上の特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、特許請求される主題は、前述の開示された単一の実施形態のすべての特徴に含まれない場合がある。
【0132】
いくつかの実施形態では、成分および属性の数を表す数字が使用される。実施形態の説明に使用されるそのような数字は、いくつかの例では「約(about)」、「およそ(approximately)」、または「実質的に(substantially)」という修飾語を使用していることを理解されたい。特に明記しない限り、「約」、「およそ」、または「実質的に」は、数字が±20%まで変動することが許容されることを示す。同様に、いくつかの実施形態では、説明および特許請求の範囲において使用される数値パラメータは近似値であり、その近似値は個々の実施形態の必要な特性にしたがって変更され得る。いくつかの実施形態では、数値パラメータは、所定の有効桁を考慮し、一般的な桁保持の方法を採用する必要がある。本開示のいくつかの実施形態において範囲の広さを確認するために使用される数値範囲およびパラメータは近似値であるが、特定の実施形態において、そのような数値の設定は、実現可能な範囲内で可能な限り正確である。
【0133】
各特許、特許出願、特許出願公開、または記事、書籍、明細書、刊行物、文書などの本開示において引用される他の資料については、その内容全体が参照として本開示に組み込まれる。本開示の内容と矛盾する、または食い違う出願履歴文書は除外され、本開示の特許請求の範囲の最も広い範囲を制限する文書(現在または後に本開示に添付される)も除外される。本開示の補助資料における用語の説明、定義、および/または使用と本開示の内容との間に矛盾または食い違いがある場合、本開示における用語の説明、定義、および/または使用が本開示の対象となる点に留意されたい。
【0134】
最後に、本開示において説明される実施形態は、本開示の実施形態の原理を説明するためにのみ使用されることを理解されたい。他の変形例も本開示の範囲内に含まれ得る。したがって、限定ではなく一例として、本開示の実施形態の代替構成は、本開示の教示と一致すると見なされ得る。したがって、本開示の実施形態は、本開示において明示的に紹介され説明された実施形態に限定されない。
【符号の説明】
【0135】
100 カメラ同期システム
110 マルチカメラデバイス
120 処理デバイス
130 ストレージデバイス
200 コンピューティングデバイス
210 バス
220 プロセッサ
230 読取り専用メモリ(ROM)
240 ランダムアクセスメモリ(RAM)
250 COMポート
260 I/Oコンポーネント
270 ディスク
300 マルチカメラデバイス
310 第1のカメラ
320 第2のカメラ
320-1 第2のカメラ
320-2 第2のカメラ
320-3 第2のカメラ
400 処理デバイス
410 周波数決定モジュール
420 周波数同期モジュール
430 トリガモジュール
440 時間決定モジュール
450 時間同期モジュール
500 プロセス
510 動作
800 プロセス
1100 メッセージ
1200 プロセス
【手続補正書】
【提出日】2024-02-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
システムであって、
命令のセットを含む少なくとも1つのストレージ媒体と、
前記少なくとも1つのストレージ媒体と通信する少なくとも1つのプロセッサと
を備え、前記命令のセットを遂行する際、前記少なくとも1つのプロセッサが、前記システムに、
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定することと、
前記周波数差に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させることと、
前記第1のカメラと前記第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示することと
を含む動作を実行させるように指示される、システム。
【請求項2】
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を前記決定することが、
前記第1のカメラがメッセージを送信する第1の時間と、前記第2のカメラが前記メッセージを受信する第2の時間を決定することと、
前記第1のカメラがメッセージを送信する第3の時間と、前記第2のカメラが前記メッセージを受信する第4の時間を決定することと、
前記第1の時間、前記第2の時間、前記第3の時間、および前記第4の時間に基づいて前記周波数差を決定することと
を含む、請求項1に記載のシステム。
【請求項3】
前記メッセージのフォーマットが、少なくともカメラIDを含み、
前記第1の時間または前記第3の時間が、前記第1のカメラが前記第1のカメラの第1のカメラIDを送信する時点であり、
前記第2の時間または前記第4の時間が、前記第2のカメラが前記第1のカメラIDを受信する時点である、請求項2に記載のシステム。
【請求項4】
前記周波数差に基づいて前記第2のカメラの
前記第2の周波数を前記第1のカメラの
前記第1の周波数に前記同期させることが、
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させることを含む、請求項1
から3のいずれか一項に記載のシステム。
【請求項5】
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に前記同期させることが、
前記第2のカメラのターゲット周波数分周係数に基づいて、前記第2のカメラの前記第2の周波数を前記あらかじめ設定された分周周波数に分周することと、
前記あらかじめ設定された分周周波数を前記第1のカメラの前記第1の周波数に逓倍することと
を含む、請求項4に記載のシステム。
【請求項6】
前記ターゲット周波数分周係数を前記決定することが、
前記第1の周波数と前記あらかじめ設定された分周周波数に基づいて基本周波数分周係数を決定することと、
前記第1の周波数と前記第2の周波数との間の差分値に基づいて差分比を決定することと、
前記基本周波数分周係数と前記差分比に基づいて補助周波数分周係数を決定することと、
前記基本周波数分周係数と前記補助周波数分周係数に基づいて前記ターゲット周波数分周係数を決定することと
を含む、請求項5に記載のシステム。
【請求項7】
前記動作が、
前記同期された周波数の下で、前記第1のカメラの第1の時間と前記第2のカメラの第2の時間との間の時間差を決定することと、
前記時間差に基づいて、前記第2のカメラの前記第2の時間を前記第1のカメラの前記第1の時間に同期させることと
をさらに含む、請求項1に記載のシステム。
【請求項8】
前記同期された周波数の下で、前記第1のカメラの第1の時間と前記第2のカメラの第2の時間との間の時間差を前記決定することが、
前記第2のカメラがメッセージを送信する第5の時間と、前記第1のカメラが前記メッセージを受信する第6の時間を決定することと、
前記第1のカメラがメッセージを送信する第7の時間と、前記第2のカメラが前記メッセージを受信する第8の時間を決定することと、
前記第5の時間、前記第6の時間、前記第7の時間、および前記第8の時間に基づいて前記時間差を決定することと
を含む、請求項7に記載のシステム。
【請求項9】
前記動作が、
トリガ命令を受信することと、
前記トリガ命令に基づいて、前記第1のカメラの現在の時間と前記第2のカメラの現在の時間とを検出することと、
前記第1のカメラの前記現在の時間と前記第2のカメラの前記現在の時間があらかじめ設定された条件を満たすか否かを決定することと、
前記第1のカメラの前記現在の時間と前記第2のカメラの前記現在の時間が前記あらかじめ設定された条件を満たすという決定に応じて、前記第1のカメラと前記第2のカメラに前記カメラ動作を遂行するよう指示することと
をさらに含む、請求項7
または請求項8に記載のシステム。
【請求項10】
前記第1のカメラが、カメラピン、バス、またはネットワークインターフェースを介して前記第2のカメラに接続される、請求項1に記載のシステム。
【請求項11】
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップと、
前記周波数差に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させるステップと、
前記第1のカメラと前記第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップと
を備える、方法。
【請求項12】
前記周波数差に基づいて前記第2のカメラの
前記第2の周波数を前記第1のカメラの
前記第1の周波数に同期させる前記ステップが、
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させるステップを含む、請求項11に記載の方法。
【請求項13】
前記周波数差およびあらかじめ設定された分周周波数に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させる前記ステップが、
前記第2のカメラのターゲット周波数分周係数に基づいて、前記第2のカメラの前記第2の周波数を前記あらかじめ設定された分周周波数に分周するステップと、
前記あらかじめ設定された分周周波数を前記第1のカメラの前記第1の周波数に逓倍するステップと
を含む、請求項1
2に記載の方法。
【請求項14】
前記ターゲット周波数分周係数を決定する前記ステップが、
前記第1の周波数と前記あらかじめ設定された分周周波数に基づいて基本周波数分周係数を決定するステップと、
前記第1の周波数と前記第2の周波数との間の差分値に基づいて差分比を決定するステップと、
前記基本周波数分周係数と前記差分比に基づいて補助周波数分周係数を決定するステップと、
前記基本周波数分周係数と前記補助周波数分周係数に基づいて前記ターゲット周波数分周係数を決定するステップと
を含む、請求項1
3に記載の方法。
【請求項15】
少なくとも1つの命令のセットを備える非一時的コンピュータ可読媒体であって、コンピューティングデバイスの1つまたは複数のプロセッサによって遂行されると、前記少なくとも1つの命令のセットが、前記コンピューティングデバイスに方法を実行させ、前記方法が、
第1のカメラの第1の周波数と第2のカメラの第2の周波数との間の周波数差を決定するステップと、
前記周波数差に基づいて前記第2のカメラの前記第2の周波数を前記第1のカメラの前記第1の周波数に同期させるステップと、
前記第1のカメラと前記第2のカメラに、同期された周波数の下でカメラ動作を遂行するように指示するステップと
を備える、非一時的コンピュータ可読媒体。
【国際調査報告】