(58)【調査した分野】(Int.Cl.,DB名)
前記局所的な光の変化のパターンは、光の強度の変化、光の色の変化、および光の強度の変化と色の変化との組み合わせからなる群から選択される少なくとも1つを含む、請求項1に記載の方法。
【発明を実施するための形態】
【0007】
本発明の特定の実施形態を、添付の図面を参照して詳細に説明する。様々な図における同様の構成要素は、一貫性のために同様の参照番号で示され得る。
本発明の実施形態の以下の詳細な説明では、本発明のより完全な理解を提供するために、多くの特定の詳細が記載されている。しかしながら、これらの特定の詳細なしで本発明を実施できることは、当業者には明らかであろう。他の例では、説明を不必要に複雑にすることを避けるために、既知の特徴は詳細に説明されていない。
【0008】
以下の説明において、本発明の様々な実施形態において、図面に関して説明される構成要素は、他の図面に関して説明される1つまたは複数の同様の名称の構成要素と同等であり得る。簡潔にするために、これらの構成要素の少なくとも一部は、様々な凡例に基づいて暗黙的に識別される。さらに、これらの構成要素の説明は、各図面に関して繰り返されない。従って、各図面の構成要素の全ての実施形態は、参照により組み込まれ、1つまたは複数の同様の名称の構成要素を有する他のすべての図面内に任意に存在するものと想定される。さらに、本発明の様々な実施形態によれば、図面の構成要素の任意の記述は、任意の他の図面の対応する同様の名称の構成要素に関して説明された実施形態に加えて、それに関連して、またはその代わりに実施され得る任意の実施形態として解釈されるべきである。図面において、黒の実線と同一線上のドットは、実線と同一線上のドットの前および/または後の構成要素に類似する追加の構成要素が任意に存在してもよいことを示す。さらに、図面の構成要素を結ぶ実線または破線は、接続された構成要素間の関係を表す。破線は、関係に物理的な接続または物理的な要素が含まれないか、またはそれ以外に関連付けられないことを示す。
【0009】
出願全体を通じて、順序番号(例えば、第1、第2、第3、その他)は、構成要素(即ち、出願における任意の名詞)の形容詞として使用し得る。順序番号の使用は、構成要素の特定の順序を暗示したり作成したりするものではなく、また、「前」、「後」、「単一」、および他のそのような用語の使用などによって明示的に開示されない限り、構成要素を単一の要素に限定するものでもない。むしろ、順序番号の使用は構成要素を区別するためのものである。例として、第1の要素は第2の要素とは異なり、第1の要素は複数の要素を包含し、要素の順序付けにおいて第2の要素に続いても(または先行しても)よい。
【0010】
概して、本発明の実施形態は、カメラデバイスの視野(FOV)内の物体を追跡するためのシステム、方法、およびコンピュータ可読媒体を提供する。本発明の1つまたは複数の実施形態では、光源が物体に取り付けられ、カメラデバイスを使用して画像シーケンスがキャプチャされる。1つまたは複数の実施形態において、光源は、光の強度および/または色を時々変化させるストロボ光を放射する。画像シーケンス全体に亘る局所的な光の変化のパターンに基づいて、光源がFOV内で検出される。光源の検出に応じて、画像内の光源の場所と目標位置とを比較して、変位または移動パラメータなどの結果を生成する。従って、カメラデバイスホルダを制御するために、結果に基づいて制御信号が生成される。具体的には、カメラデバイスホルダは、光源がFOV内の目標位置と実質的に整列するように、制御信号に基づいてFOVを調整する。1つまたは複数の実施形態において、画像シーケンスはビデオ記録の一部であり、制御信号は、物体がビデオ記録のFOV内の目標位置に現れるようにする。
【0011】
図1.1は、1つまたは複数の実施形態によるシステム(100)を示す。1つまたは複数の実施形態において、
図1.1に示されるモジュールおよび構成要素の1つまたは複数は、省略、反復、および/または置換され得る。従って、本発明の実施形態は、
図1.1に示されるモジュールの特定の配置に限定されると考えられるべきではない。
【0012】
図1.1に示すように、システム(100)は、カメラレンズ(111)を有するカメラデバイス(110)、追跡コントローラ(120)、カメラデバイスホルダ(130)、シーン(140)、カメラレンズ(111)の視野(FOV)(141)、FOV(141)内に現れる物体(142)、および物体(142)に取り付けられた光源(143)を含む。さらに、カメラデバイス(110)、追跡コントローラ(120)、およびカメラデバイスホルダ(130)は、互いに通信可能に接続されている。本発明の1つまたは複数の実施形態では、カメラデバイス(110)、追跡コントローラ(120)、およびカメラデバイスホルダ(130)のうちの2つ以上が単一のデバイスに統合される。例えば、追跡コントローラ(120)の少なくとも一部は、カメラデバイス(110)に含まれ得る。別の例では、追跡コントローラ(120)の少なくとも一部は、カメラデバイスホルダ(130)に含まれ得る。さらに別の例では、追跡コントローラ(120)の一部がカメラデバイス(110)に含まれ、追跡コントローラ(120)の別の部分がカメラデバイスホルダ(130)に含まれる。
【0013】
本発明の1つまたは複数の実施形態では、光源(143)は、光を放射する任意のデバイスである。1つまたは複数の実施形態において、光源(143)は発光ダイオード(LED)を含む。1つまたは複数の実施形態では、光源(143)は、強度および/または色を時々変化させるストロボ光を放射する。例えば、ストロボ光は、特定のデューティサイクル(即ち、光パターンが明るいレベルを有する時間の割合)及び繰返し率(即ち、単位時間の間に強度が何度も変化する)に応じた自由発振光変化パターン(free−running light change pattern)を放射し得る。本明細書で使用される場合、光変化パターンは、光の強度の変化および/または色の変化のパターンである。1つまたは複数の実施形態において、光源(143)は、カメラデバイス(110)のフレームレートと比較して低い繰り返し率(例えば、10ヘルツ、20ヘルツ、その他)で光変化パターンを放射する。フレームレートは、単位時間中にカメラデバイス(110)によってキャプチャされる多くの画像(例えば、静止画像のバーストまたはビデオ記録)である。1つまたは複数の実施形態において、光源(143)は、カメラデバイス(110)のフレームレートと同期する光変化パターンを放射する。
【0014】
本発明の1つまたは複数の実施形態では、カメラデバイス(110)は、写真および/またはビデオ記録を撮影するためのカメラレンズ(例えば、カメラレンズ(111))と、関連部品とを備えたデバイスである。通信機能を備えた専用カメラは、カメラデバイス(110)の一例である。1つまたは複数の実施形態において、カメラデバイス(110)は、スマートフォンとして参照される、カメラを内蔵した携帯電話などのモバイルデバイスである。スマートフォンは、前面の大部分(例えば、70%以上)を占めるグラフィカルユーザインタフェースを備えたディスプレイを有し得る。カメラレンズ(111)は、スマートフォンの前面または背面に存在し得る。1つまたは複数の実施形態において、カメラデバイス(110)は、光源(143)のデューティサイクルおよび/または繰り返し率に基づいて画像キャプチャのフレームレートを制御するためのタイマを含む。
【0015】
1つまたは複数の実施形態では、シーン(140)は、カメラデバイス(110)によって撮像される、アクションまたはイベントが発生する場所である。視野(FOV)(141)は、カメラレンズ(111)を使用してカメラデバイス(110)によって撮像されるシーン(140)の範囲である。換言すれば、FOV(141)内の物体は、カメラデバイス(110)によってキャプチャおよび/または出力された画像内に現れる。例えば、FOV(141)は、カメラデバイス(110)の関連する光学センサ(図示せず)に入力される光をカメラレンズ(111)が投影する立体角に対応し得る。1つまたは複数の実施形態において、FOV(141)は、カメラレンズ(111)がシーン(140)に向けられる方法、シーン(140)に対してズームされる方法、またはそれ以外にシーン(140)に対して配置される方法に応じてシーン(140)の異なる部分に対応している。1つまたは複数の実施形態において、カメラデバイス(110)は、ハードウェアコンポーネント、ソフトウェアコンポーネント、またはそれらの組み合わせを含む。1つまたは複数の実施形態において、カメラデバイス(110)は、以下の
図7Aおよび7Bを参照して説明されるコンピューティングシステム(700)およびネットワーク(720)の少なくとも一部を含み得るか、またはそれ以外に使用して実施され得る。
【0016】
本発明の1つまたは複数の実施形態では、カメラデバイスホルダ(130)は、カメラデバイス(110)を機械的に保持し、追跡コントローラ(120)からの制御信号に応答してカメラレンズ(111)のFOV(141)を調整するように構成される。例えば、カメラデバイスホルダ(130)は、カメラレンズ(111)のカメラ角度を調整するための電動傾斜旋回装置を含み得る。別の例では、カメラデバイスホルダ(130)は、シーン(140)に対するカメラレンズ(111)の位置を調整するための電動水平および垂直スライド装置を含み得る。スライド装置は、カメラデバイス(110)を保持および移動するための機械的ステージを含み得る。カメラデバイスホルダ(130)の例は、
図3Aおよび3Bを参照して以下に説明される。
【0017】
1つまたは複数の実施形態では、追跡コントローラ(120)は、カメラレンズ(111)のFOV(141)を調整するように構成されたハードウェアコンポーネント、ソフトウェアコンポーネント、またはそれらの組み合わせを含む。例えば、追跡コントローラ(120)は、カメラデバイスホルダ(130)を制御することによりFOV(141)を制御し得る。別の例では、追跡コントローラ(120)は、カメラレンズ(111)のズームレベルを制御することにより、FOV(141)をさらに制御し得る。1つまたは複数の実施形態において、追跡コントローラ(120)は、物体(142)がFOV(141)内の目標位置に現れるようにFOV(141)を制御する。1つまたは複数の実施形態において、追跡コントローラ(120)は、
図2を参照して以下に説明される方法を使用してFOV(141)を制御する。1つまたは複数の実施形態では、追跡コントローラ(120)は、
図1.2を参照して以下に説明される構成要素を含む。
【0018】
図1.2は、1つまたは複数の実施形態による追跡コントローラ(120)の詳細を示している。
図1.2の以下の説明は、
図1.1において前に示された様々な構成要素を参照している。1つまたは複数の実施形態において、
図1.2に示されるモジュールおよび構成要素の1つまたは複数は、省略、反復、および/または置換され得る。従って、本発明の実施形態は、
図1.2に示されるモジュールの特定の配置に限定されると考えられるべきではない。
【0019】
図1.2に示されるように、追跡コントローラ(120)は、ハードウェアプロセッサ(121)、メモリ(122)、およびリポジトリ(123)を含む。本発明の1つまたは複数の実施形態において、ハードウェアプロセッサ(121)は、
図7Aに示される以下のコンピュータプロセッサ(702)に対応する。同様に、メモリ(122)およびリポジトリ(123)は、
図7Aに示される以下の非永続的ストレージ(704)および/または永続的ストレージ(706)に対応する。例えば、メモリ(122)は、実行時に、ハードウェアプロセッサ(121)に
図1.1において前に示されたカメラデバイス(110)のFOV調整機能を実行させるソフトウェア命令を記憶し得る。1つまたは複数の実施形態において、追跡コントローラ(120)は、
図2を参照して説明される以下の方法フローチャートに従ってFOV調整機能を実行する。1つまたは複数の実施形態において、メモリ(122)は、
図2を参照して説明される以下の方法フローチャートの1つまたは複数の部分を実行するための命令を格納する。1つまたは複数の実施形態において、追跡コントローラ(120)およびカメラデバイス(110)は単一のデバイスに統合される。そのような実施形態では、
図2を参照して説明した方法フローチャートの1つまたは複数の部分を実行する命令は、スマートフォンまたは他のモバイルデバイス上で動作するように設計された、ユーザがインストール可能なソフトウェアアプリケーションである、モバイルアプリケーションまたはモバイルアプリの一部である。
【0020】
さらに
図1.2に示すように、リポジトリ(123)は、画像シーケンス(126)、光変化パターン(124)、変位(125)、移動パラメータ(128)、および目標位置(127)を含む。特に、画像シーケンス(126)は、カメラデバイス(111)によってキャプチャされた連続画像(例えば、画像A(126a))を含む。例えば、画像A(126a)は、特定の時点でFOV(141)によってカバーされるシーン(140)の一部に対応する。光変化パターン(124)は、画像シーケンス(126)に亘って異なる強度レベルおよび/または色の間で交互に変化する光の強度および/または色のパターンである。1つまたは複数の実施形態において、光変化パターン(124)は、画像シーケンス(126)の各画像内のスポットに対応する。例えば、スポットは、各画像内のピクセル位置または結合されたピクセル位置の集合によって定義され得る。1つまたは複数の実施形態において、光変化パターン(124)は、光源(143)から放射されるストロボ光によって生じ、かつ各画像内の光源(143)の場所を示す。換言すれば、各画像内の光源(143)の場所は、画像シーケンス(126)に亘って光変化パターン(124)がどこで発見されるかに基づいて決定され得る。例えば、光変化パターン(124)は、光源(143)が画像A(126a)内の場所A(127a)にあることを示している。同様に、画像シーケンス(126)内の他の各画像は、光源(143)の場所に関連付けられている。目標位置(127)は、追跡コントローラ(120)が物体(142)を追跡するように構成されている所定の位置である。例えば、目標位置(127)は、画像シーケンス(126)の各画像の中心に対応する、FOV(141)の中心として定義され得る。換言すれば、追跡コントローラ(120)は、調整後の画像内の中心(即ち、目標位置(127))に物体(142)が現れるようにFOV(141)を調整するように構成される。他の例では、目標位置(127)は、FOV(141)の中心とは異なる位置として定義され得る。変位(125)は、目標位置(127)と画像内の光源(143)の場所(例えば、場所A(127a))との間の距離である。1つまたは複数の実施形態において、変位(125)は、水平方向距離と垂直距離とを含む。変位(125)は、多数のピクセルまたは他の適切な距離スケールに基づいて表され得る。1つまたは複数の実施形態において、物体(142)は、光源(143)の場所(例えば、場所A(127a))が画像シーケンス(126)内の1つの画像から次に画像に変化し得るような移動物体であり得る。そのような実施形態では、移動パラメータ(128)は、経時的な光源(143)の場所(例えば、場所A(127a))の変化率である。例えば、移動パラメータ(128)は、画像シーケンス(126)内の1つの画像から次の画像への光源(143)の場所(例えば、場所A(127a))の変化を含み得る。物体(142)の移動方向に応じて、移動パラメータ(128)は、水平部分と垂直部分とを含み得る。数学的には、移動パラメータ(128)は、時間の経過に伴う変位(125)の導関数に対応する。
【0021】
1つまたは複数の実施形態において、追跡コントローラ(120)は、上記した画像シーケンス(126)、光変化パターン(124)、変位(125)、移動パラメータ(128)、および目標位置(127)に基づいてFOV調整機能を実行する。具体的には、追跡コントローラ(120)は、
図2を参照して以下に説明される方法を使用してFOV調整機能を実行する。画像シーケンス(126)、光変化パターン(124)、変位(125)、および移動パラメータ(128)の例を、
図4〜6を参照して以下に説明する。
【0022】
図2は、1つまたは複数の実施形態によるフローチャートを示す。
図2に示されるプロセスは、例えば、
図1.1および1.2を参照して前に説明された1つまたは複数の構成要素によって実行され得る。
図2に示される1つまたは複数のステップは、省略され、繰り返され、および/または本発明の異なる実施形態の間で異なる順序で実行され得る。従って、本発明の実施形態は、
図2に示されるステップの特定の数および配置に限定されるものと考えられるべきではない。
【0023】
最初に、ステップ201において、シーン内の光源が起動される。本発明の1つまたは複数の実施形態では、光源はシーン内の物体に取り付けられる。1つまたは複数の実施形態では、光源は、強度および/または色を時々変化させるストロボ光を放射する。例えば、ストロボ光は、光源が起動されている(例えば、点灯している)ことに応答して自由発振光パターンを放射する。1つまたは複数の実施形態において、光源は、カメラデバイスのフレームレートと比較して低い繰り返し率(例えば、10ヘルツ、20ヘルツなど)でストロボ光を放射する。1つまたは複数の実施形態において、光源は、カメラデバイスのフレームレートと同期したストロボ光を放射する。例えば、ストロボ光は、追跡コントローラおよび/またはカメラデバイスから送信されたトリガー信号に基づいて開始および/または同期され得る。
【0024】
ステップ202において、シーンの画像シーケンスがカメラデバイスによってキャプチャされる。特に、物体は、カメラレンズの視野(FOV)内にあり、かつ画像シーケンス内に現れる。例えば、画像シーケンスは、静止画像のバーストを含むか、または静止画像のバーストの一部であり得る。別の例では、画像シーケンスはビデオ記録を含むか、またはビデオ記録の一部であり得る。1つまたは複数の実施形態では、シーンの画像シーケンスは、光源がストロボ光を放射する間にキャプチャされる。1つまたは複数の実施形態では、画像シーケンスのフレームレートは、連続画像(または、シーケンス内の特定の間隔を有する画像のペア)が光源からの交互の明るいレベルと暗いレベル、および/または交互の色を含むように、光源のデューティサイクルおよび/または繰り返し率に基づいて選択される。例えば、光源は自由発振であり得、フレームレートは、自由発振光源の所定のデューティサイクルおよび/または繰り返し率に基づいて選択される。1つまたは複数の実施形態において、カメラデバイスのタイマは、選択されたフレームレートに従って画像キャプチャを制御するために使用される。
【0025】
1つまたは複数の実施形態において、光源のデューティサイクルおよび/または繰り返し率は、連続画像(または、シーケンス内の特定の間隔を有する画像のペア)が光源からの交互の明るいレベルと暗いレベル、および/または交互の色を含むように、画像シーケンスのフレームレートに基づいて選択される。例えば、フレームレートは予め決定されてもよく、光源は、例えば、カメラデバイスからのトリガー信号に基づいて、フレームレートに同期される。
【0026】
ステップ203において、画像シーケンスに亘る局所的な光変化パターンに基づいて、光源がシーン内で検出される。具体的には、光源から放射されたストロボ光は、カメラデバイスの光センサが受け取る光の強度および/または色の変化を引き起こし、その結果、画像シーケンスに亘って局所的な光変化パターンが生じる。1つまたは複数の実施形態において、ストロボ光の強度は、局所的な強度の変化パターンが各画像内で発見される場所のサイズを制御するために調整される。例えば、場所サイズは、FOVの水平寸法および垂直寸法の割合(例えば、1%、3%、その他)に制限され得る。1つまたは複数の実施形態において、場所およびサイズは、カメラデバイスの光学センサによって認識される、連続画像における交互の明るいレベルと暗いレベルおよび/または交互の色の差が所定の閾値を超える場所に定義される。1つまたは複数の実施形態において、場所は画像内の光源の場所として参照される。
【0027】
1つまたは複数の実施形態において、画像シーケンス内の画像のペアは、対応するピクセルの強度および/または色値の減算により比較される。具体的には、強度および/または色値は光学センサによって生成される。特に、1つの画像内のピクセルの強度および/または色値は、別の画像内の対応するピクセルの強度および/または色値から減算されて、減算結果が生成される。減算結果において交互の明るいレベルと暗いレベルにおける差、および/または交互の色における差が発見されたピクセルは、画像内の光源の場所の一部として選択される。光源のデューティサイクル/繰り返し率対画像シーケンスのフレームレートに応じて、画像のペアは、連続画像であってもよく、または3個の画像毎などの特定の数の画像で分離された2つの画像であってもよい。
【0028】
ステップ204において、画像シーケンスが分析されて、少なくとも1つの画像内の光源の場所、および画像シーケンスに亘る光源の移動が決定される。1つまたは複数の実施形態において、光源の場所は、カメラデバイスの光学センサによって認識される、画像シーケンスの交互の明るいレベルと暗いレベルにおける差、および/または交互の色における差が所定の閾値を超える場所に基づいて決定される。1つまたは複数の実施形態において、光源の移動は、画像シーケンスに亘る場所の変化率に基づいて決定される。
【0029】
ステップ205において、光源の検出に応答して、光源の場所と少なくとも1つの画像内の目標位置とが比較されて、結果が生成される。1つまたは複数の実施形態において、結果は、場所から目標位置への変位を含む。1つまたは複数の実施形態では、変位は、画像シーケンス内の1つの画像から次の画像へと変化し、物体が移動物体であることを示している。そのような実施形態では、例えば、1つの画像から次の画像への経時的な変位の変化率は、移動パラメータとして計算される。
【0030】
ステップ206において、カメラデバイスの向きを決めるために、結果に基づいて制御信号が生成される。1つまたは複数の実施形態では、制御信号は、変位と反対方向にカメラレンズの向きを調整するように構成される。例えば、目標位置が画像内の光源の場所の右側にあることを変位が示す場合、制御信号は、カメラレンズの向きを左に調整する。1つまたは複数の実施形態において、制御信号は、シーンに対するカメラの相対位置を変位に対して反対方向に調整するように構成される。例えば、目標位置が画像内の光源の場所の右側にあることを変位が示す場合、制御信号はカメラの相対位置を左に調整する。1つまたは複数の実施形態において、移動パラメータは、制御信号によって生じる調整量を微調整する際に考慮される。
【0031】
ステップ207において、制御信号は、カメラデバイスが取り付けられているカメラデバイスホルダ(例えば、傾斜旋回装置または機械的ステージ)に送信される。従って、カメラレンズの向きまたはカメラデバイスの相対位置は、変位と反対方向に調整される。
【0032】
ステップ208において、目標位置と光源との間の実質的な位置合わせが、カメラデバイスのFOV内で検出される。特に、実質的な位置合わせは、カメラレンズの向きまたは変位と反対方向のカメラデバイスの相対位置を調整した結果である。
【0033】
ステップ209において、実質的な位置合わせの検出に応答して、シーンの追加画像がキャプチャされる。1つまたは複数の実施形態において、連続画像は、カメラデバイスによって規則的な繰り返し率(即ち、フレームレート)で連続的にキャプチャされ出力される。そのような実施形態では、制御信号を生成するために分析される画像シーケンスは、追加画像に先行するローリング時間窓(例えば、2個の連続画像、5個の連続画像、10個の連続画像などのローリングシーケンス)に制限される。時間が経過すると、追加画像は、更新された制御信号を生成してFOV内の物体を継続的に追跡するための更新された画像シーケンスの一部となる。
【0034】
1つまたは複数の実施形態において、制御信号を生成するために分析される画像シーケンスは、カメラデバイスによって出力されることなく、制御情報として指定される。対照的に、光源(従って、物体)が目標位置と実質的に整列する追加画像は、カメラデバイスによって出力される。例えば、制御情報は、破棄されるか、それ以外にカメラデバイスから除去されるまで、追加画像とは別に保存され得る。
【0035】
ステップ210において、画像のキャプチャを継続するかどうかの判定が行われる。決定が肯定的である場合、即ち、画像キャプチャが継続されるべきである場合、方法はステップ202に戻る。決定が否定的である場合、即ち、画像のキャプチャを続行しない場合、方法は終了する。
【0036】
図3A、3B、4、5、および6は、本発明の1つまたは複数の実施形態による様々な例を示す。
図3A、3B、4、5、および6に示される例は、例えば、
図1.1および1.2において前に示された1つまたは複数の構成要素、および
図2において前に示された方法フローチャートに基づいてもよい。1つまたは複数の実施形態において、
図3A、3B、4、5、および6に示されるモジュールおよび構成要素の1つまたは複数は、省略、反復、および/または置換され得る。従って、本発明の実施形態は、
図3A、3B、4、5、および6に示されるモジュールの特定の配置に限定されると考えられるべきではない。
【0037】
図3Aは、
図1.1において前に示されたカメラデバイスホルダ(130)の一例としての電動カメラモバイルデバイススタンド(210)を示している。加えて、電動カメラモバイルデバイススタンド(210)によって機械的に保持されるカメラモバイルデバイス(201)(例えば、カメラレンズ(220)を有するスマートフォン)は、
図1.1において前に示されたカメラデバイス(110)の一例である。本発明の1つまたは複数の実施形態では、電動カメラモバイルデバイススタンド(210)は、ホルダ(221)、傾斜シャフト(203)、U字ブラケット(204)、回転シャフト(209)、およびスタンド(222)を含む電気機械アセンブリである。ホルダ(221)は、カメラモバイルデバイス(201)を機械的に保持し、傾斜シャフト(203)に機械的に連結するように構成される。スタンド(222)は、固体表面上に配置されている間、電動カメラモバイルデバイススタンド(210)の機械的安定性を維持するように構成されている。明示的には示されていないが、U字ブラケット(204)は、傾斜シャフト(203)に連結された傾斜モータ、回転シャフト(209)に連結された回転モータ、および
図1.1において前に示されたカメラデバイス(110)および/または追跡コントローラ(120)と通信するように構成された通信インタフェースを収容する。例えば、通信インタフェースは、ブルートゥース(登録商標)、NFC、USB、または他の無線/有線通信インタフェースに基づくものであり得る。1つまたは複数の実施形態において、回転シャフト(209)は、通信インタフェースを介して追跡コントローラ(120)から受信した制御信号に応答して回転モータにより回転軸(209−1)を中心に回転可能である。同様に、傾斜シャフト(203)は、通信インタフェースを介して追跡コントローラ(120)から受信した制御信号に応答して、傾斜モータにより傾斜軸(203−1)を中心に回転可能である。傾斜軸(203−1)を中心にホルダ(221)を傾斜させること、および/またはホルダ(221)を傾斜シャフト(203)及びブラケット(204)と共に回転軸(209−1)を中心に回転させることに応答して、カメラレンズ(220)の向きを調整することができる。従って、カメラレンズ(220)のFOV(220−1)は、カメラレンズ(220)の向きに従って調整される。
【0038】
図3Bは、
図1.1において前に示されたカメラデバイスホルダ(130)の一例としてのカメラモバイルデバイスのハンドヘルドグリップ(800)を示している。加えて、カメラモバイルデバイスのハンドヘルドグリップ(800)によって機械的に保持されるカメラモバイルデバイス(201)(例えば、カメラレンズ(220)を有するスマートフォン)は、
図1.1において前に示されたカメラデバイス(110)の一例である。本発明の1つまたは複数の実施形態では、カメラモバイルデバイスのハンドヘルドグリップ(800)は、ホルダ(221)、傾斜シャフト(203)、傾斜モータ(213)、回転シャフト(209)、回転モータ(219)、ハンドヘルドグリップ(222)を含む電気機械アセンブリである。ホルダ(221)は、カメラモバイルデバイス(201)を機械的に保持し、傾斜シャフト(203)に機械的に連結するように構成される。ハンドヘルドグリップ(222)は、観察者による手持ち状態である間、カメラモバイルデバイスのハンドヘルドグリップ(800)の機械的安定性を維持するように構成される。明示的に示されていないが、ハンドヘルドグリップ(222)は、
図1.1において前に示されたカメラデバイス(110)および/または追跡コントローラ(120)と通信するように構成された通信インタフェースを含む。例えば、通信インタフェースは、ブルートゥース(登録商標)、NFC、USB、または他の無線/有線通信インタフェースに基づくものであり得る。1つまたは複数の実施形態において、回転シャフト(209)は、通信インタフェースを介して追跡コントローラ(120)から受信した制御信号に応答して、回転モータ(219)により回転軸(209−1)を中心に回転可能である。同様に、傾斜シャフト(203)は、通信インタフェースを介して追跡コントローラ(120)から受信した制御信号に応答して、傾斜モータ(213)により傾斜軸(203−1)を中心に回転可能である。傾斜軸(203−1)を中心にホルダ(221)を傾斜させること、および/またはホルダ(221)を傾斜シャフト(203)および傾斜モータ(213)と共に回転軸(209−1)を中心に回転させることに応答して、カメラレンズ(220)の向きを調整することができる。従って、カメラレンズ(220)のFOV(220−1)は、カメラレンズ(220)の向きに従って調整される。
【0039】
図4は、
図1.1および1.2において前に示された光源(143)の光変化パターン(124)の一例を示している。
図4に示すように、横軸は時間に対応し、縦軸は光の強度に対応する。特に、光変化パターン(124)は、明るいレベル(400a)と暗いレベル(400b)との間で経時的に交互に変化する光の強度のパターンである。例えば、光の強度の明るいレベル(400a)は、期間A(410)に亘って持続し、特定の繰り返し率で経時的に繰り返され得る。光の強度が明るいレベル(400a)と暗いレベル(400b)との間で経時的に交互に変化する間、画像シーケンスは、カメラデバイスによって周期的にキャプチャされる。例えば、シーケンス内の連続画像は、期間B(420)、期間C(430)などによって互いに分離された時点A(401a)、時点B(401b)、時点C(401c)などでキャプチャされ得る。特に、期間A(410)は、時点B(401b)のような少なくとも1つの画像キャプチャ時点を包含する。
図4に示される光変化パターン(124)は光の強度の変化のパターンであるが、光変化パターン(124)は、他の例では色の変化をも含み得る。換言すれば、明るいレベル(400a)と暗いレベル(400b)は、色の変化を表すために異なる色で置換または補足することができる。
【0040】
図5は、
図1.1および1.2において前に示されたシーン(140)の画像シーケンス(126)の例を示している。
図5に示すように、画像シーケンス(126)は、
図4において前に示された時点A(401a)、時点B(401b)、時点C(401c)などでキャプチャされた画像A(126a)、画像B(126b)、画像C(126c)などを含む。
図4を参照して前に説明した光変化パターン(124)の例によれば、光源(143)は、画像A(126a)、画像B(126b)、画像C(126c)などにおいて、「a」とマークされた場所に、暗いスポットと明るいスポットとが交互に現れる。対照的に、画像A(126a)、画像B(126b)、画像C(126c)などにおいて、「b」とマークされた別の場所では、光の強度は実質的に一定のままである。例えば、「a」とマークされた場所は、画像A(126a)および画像B(126b)の対応するピクセルの強度値を減算して、減算結果(126d)を生成することによって決定され得る。同様に、「a」とマークされた場所は、画像B(126b)および画像C(126c)の対応するピクセルの強度値を減算して、減算結果(126d)を生成することによってさらに決定され得る。減算結果(126d)では、黒色は差異がないことを示し、白色は非ゼロの差異を示す。従って、光源の場所は、減算結果(126d)の白点に対応する。
【0041】
さらに、
図5に示すように、各画像の中心は目標位置(127)として定義される。従って、「a」とマークされた場所から目標位置(127)までの距離は、変位(125)に対応する。
図5に示す「a」とマークされた場所、目標位置(127)、および変位(125)は、
図1.2において前にそれぞれ示された場所A(127a)、目標位置(127)、および変位(125)の例である。1つまたは複数の実施形態において、「a」とマークされた場所は、画像A(126a)、画像B(126b)、画像C(126c)などの間で変化する。画像A(126a)、画像B(126b)、画像C(126c)などに亘って「a」とマークされた場所の変化率は、
図1.2において前に示された移動パラメータ(128)に対応する。
【0042】
図6は、
図4を参照して前に説明した画像シーケンス(126)の例を含むビデオ記録(600)の例を示している。例示的なシナリオにおいて、目標位置は画像の中心である。
図6に示すように、光源(143)は、画像シーケンス(126)内の画像(例えば、画像A(126a))の左側部分の場所において特定される。特に、光源(143)は、男性の両手(即ち、物体(142))によって保持されている。例えば、光源(143)の場所は、
図5において前に示された画像A(126a)、画像B(126b)、画像C(126c)などの交互の暗いスポットと明るいスポットに基づいて特定される。換言すれば、光源(143)は、
図5に示された画像A(126a)、画像B(126b)、画像C(126c)などにおいて「a」とマークされた場所に対応する。目標位置(即ち、画像中心)は、光源の場所の右側にあるため、物体追跡コントローラ(120)は、光源(143)を保持する男性(即ち、物体(142))が画像の中心に現れるように、カメラデバイス(110)を左に向けるように構成されている。従って、カメラデバイス(110)の向きは、物体(142)が画像X(126a)の中心に現れるように、光源(143)の特定された場所「a」に基づいて調整される。
【0043】
本発明の実施形態は、コンピューティングシステム上で実施され得る。モバイル、デスクトップ、サーバ、ルータ、スイッチ、組み込みデバイス、またはその他の種類のハードウェアの任意の組み合わせが使用され得る。例えば、
図7Aに示すように、コンピューティングシステム(700)は、一つまたは複数のコンピュータプロセッサ(702)、非永続的ストレージ(704)(例えば、ランダムアクセスメモリ(RAM)、キャッシュメモリなどの揮発性メモリ)、永続的ストレージ(706)(例えば、ハードディスク、コンパクトディスク(CD−ROM)ドライブまたはデジタル多用途ディスク(DVD)ドライブなどの光学ドライブ、フラッシュメモリ、その他)、通信インタフェース(712)(例えば、ブルートゥースインタフェース、赤外線インタフェース、ネットワークインタフェース、光インタフェース、その他)、および多数の他の構成要素および機能を含み得る。
【0044】
コンピュータプロセッサ(702)は、命令を処理するための集積回路であり得る。例えば、コンピュータプロセッサ(単数または複数)は、プロセッサの1つまたは複数のコアまたはマイクロコアであり得る。コンピューティングシステム(700)は、タッチスクリーン、キーボード、マウス、マイク、タッチパッド、電子ペン、または他の任意のタイプの入力デバイスなどの1つまたは複数の入力デバイス(710)をも含み得る。
【0045】
通信インタフェース(712)は、コンピューティングシステム(700)をネットワーク(図示せず)(例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、モバイルネットワーク、または他の種類のネットワーク)および/または別のコンピューティングデバイスなどの別のデバイスに接続するための集積回路を含み得る。
【0046】
さらに、コンピューティングシステム(700)は、スクリーン(例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、タッチスクリーン、陰極線管(CRT)モニタ、プロジェクタ、または他のディスプレイデバイス)、プリンタ、外部ストレージ、またはその他の出力デバイスなどの1つまたは複数の出力デバイス(708)を含み得る。1つまたは複数の出力デバイスは、入力デバイス(単数または複数)と同じか、または異なるものであり得る。入力および出力デバイス(単数または複数)は、コンピュータプロセッサ(単数または複数)(702)、非永続的ストレージ(704)、および永続的ストレージ(706)にローカルまたはリモートで接続され得る。多くの異なるタイプのコンピューティングシステムが存在し、前述の入力および出力デバイス(単数または複数)は、他の形式をとり得る。
【0047】
本発明の実施形態を実行するためのコンピュータ可読プログラムコードの形態のソフトウェア命令は、CD、DVD、ストレージデバイス、ディスケット、テープ、フラッシュメモリ、物理メモリ、またはその他のコンピュータ可読ストレージ媒体などの非一時的コンピュータ可読媒体上に全体的または部分的に、一時的または永続的に格納され得る。具体的には、ソフトウェア命令は、プロセッサ(単数または複数)による実行時に、本発明の1つまたは複数の実施形態を実行するように構成されるコンピュータ可読プログラムコードに対応し得る。
【0048】
図7Aのコンピューティングシステム(700)は、ネットワークに接続されるか、またはネットワークの一部であってもよい。例えば、
図7Bに示されるように、ネットワーク(720)は、複数のノード(例えば、ノードX(722)、ノードY(724))を含み得る。各ノードは、
図7Aに示されるコンピューティングシステムなどのコンピューティングシステムに対応してもよく、また組み合わされたノードのグループが、
図7Aに示されるコンピューティングシステムに対応してもよい。一例として、本発明の実施形態は、他のノードに接続された分散システムのノード上で実施されてもよい。別の例として、本発明の実施形態は、複数のノードを有する分散コンピューティングシステム上で実施されてもよく、本発明の各部分は、分散コンピューティングシステム内の異なるノード上に位置してもよい。さらに、前述のコンピューティングシステム(700)の1つまたは複数の要素が、遠隔地に配置され、ネットワークを介して他の構成要素に接続されてもよい。
【0049】
図7Bには示されていないが、ノードは、バックプレーンを介して他のノードに接続されているサーバシャーシ内のブレードに対応し得る。別の例として、ノードはデータセンター内のサーバに対応し得る。別の例として、ノードは、共有メモリおよび/またはリソースを備えたコンピュータプロセッサまたはコンピュータプロセッサのマイクロコアに対応し得る。
【0050】
ネットワーク(720)内のノード(例えば、ノードX(722)、ノードY(724))は、クライアントデバイス(726)に対してサービスを提供するように構成され得る。例えば、ノードは、クラウドコンピューティングシステムの一部であり得る。ノードは、クライアントデバイス(726)からリクエストを受信し、クライアントデバイス(726)にレスポンスを送信する機能を含み得る。クライアントデバイス(726)は、
図7Aに示されるコンピューティングシステムなどのコンピューティングシステムであり得る。さらに、クライアントデバイス(726)は、本発明の1つまたは複数の実施形態のすべてまたは一部を含み、かつ/または実行し得る。
【0051】
図7Aおよび7Bに記載されたコンピューティングシステムまたはコンピューティングシステムのグループは、本明細書に開示された様々な動作を実行するための機能を含み得る。例えば、コンピューティングシステム(単数または複数)は、同じシステムまたは異なるシステム上のプロセス間で通信を実行し得る。何らかの形式のアクティブまたはパッシブ通信を使用する様々なメカニズムにより、同じデバイス上のプロセス間でのデータ交換を容易にすることができる。これらのプロセス間通信の代表例には、ファイル、信号、ソケット、メッセージキュー、パイプライン、セマフォ、共有メモリ、メッセージパッシング、およびメモリマップドファイルの実装が含まれるが、これらに限定されない。
【0052】
図7Aにおけるコンピューティングシステムは、データリポジトリを実施し、かつ/またはデータリポジトリに接続され得る。例えば、データリポジトリの1つのタイプは、データベースである。データベースは、データの取得、変更、再編成、および削除を容易にするために構成された情報の集合である。データベース管理システム(DBMS)は、ユーザがデータベースを定義、作成、クエリ、更新するためのインタフェース、または管理データベースを提供するソフトウェアアプリケーションである。
【0053】
ユーザまたはソフトウェアアプリケーションは、ステートメントまたはクエリをDBMSに送信し得る。次に、DBMSはステートメントを解釈する。ステートメントは、情報の要求、ステートメントの更新、ステートメントの作成、ステートメントの削除などを行うための選択ステートメントであり得る。さらに、ステートメントは、データ、またはデータコンテナ(データベース、テーブル、レコード、列、ビュー、その他)、識別子(単数または複数)、条件(比較演算子)、関数(例えば、結合、完全結合、カウント、平均、その他)、ソート(例えば、昇順、降順)、またはその他を指定するパラメータを含み得る。DBMSがステートメントを実行し得る。例えば、DBMSは、ステートメントに応答するために、読み取り、書き込み、削除、またはそれらの任意の組み合わせのために、メモリバッファ、レファレンス、またはインデックスファイルにアクセスし得る。DBMSは、永続的ストレージまたは非永続的ストレージからデータをロードして、クエリに応答するための計算を実行し得る。DBMSは、結果(単数または複数)をユーザまたはソフトウェアアプリケーションに返し得る。
【0054】
上記の機能の説明は、
図7Aのコンピューティングシステム、および
図7Bのノードおよび/またはクライアントデバイスによって実行される機能のほんのいくつかの例を示している。本発明の1つまたは複数の実施形態を使用して、他の機能を実行し得る。
【0055】
限られた数の実施形態に関して本発明を説明したが、本開示の利益を得た当業者は、本明細書に開示された本発明の範囲から逸脱しない他の実施形態を考案できることを理解するであろう。従って、本発明の範囲は、添付の特許請求の範囲によってのみ制限されるべきである。