(57)【特許請求の範囲】
【請求項１】
物体追跡のための方法であって、
カメラデバイスの単一の光学センサを使用してシーンの画像シーケンスをキャプチャするステップと、
前記単一の光学センサによってキャプチャされた前記画像シーケンスに亘る局所的な光の変化のパターンに基づいて、シーン内の光源を検出するステップと、
前記光源の検出に応答して、前記画像シーケンスの少なくとも１つの画像内の前記光源の場所と前記少なくとも１つの画像内の目標位置とを比較して結果を生成するステップと、
前記結果に基づいて、前記光源が視野内の前記目標位置と整列するように前記カメラデバイスの視野を変更するための制御信号を生成するステップと、
前記局所的な光の変化のパターンは、前記少なくとも１つの画像内の少なくとも第１のピクセル位置を前記光源の場所として特定し、
前記目標位置は、前記少なくとも１つの画像内の少なくとも第２のピクセル位置に対応しており、
前記結果は、前記光源の少なくとも前記第１のピクセル位置と前記目標位置の少なくとも前記第２のピクセル位置との間のピクセル位置変位を含み、
前記制御信号を、前記カメラデバイスが取り付けられている傾斜旋回装置に送信するステップと、
前記制御信号の送信に応答して、視野内の前記目標位置と前記光源との間の位置合わせを検出するステップと、
前記カメラデバイスを使用して、前記位置合わせの検出に応答して、シーンの追加画像をさらにキャプチャするステップと、
前記追加画像に先行する時間窓において制御情報を取得するように前記画像シーケンスを指定するステップとを含み、
前記カメラデバイスの視野が、前記制御信号に応答して前記傾斜旋回装置により、前記ピクセル位置変位とは反対の方向に変更され、
前記位置合わせは、視野内の前記光源と少なくとも前記第２のピクセル位置との重なりに対応し、
物体が前記追加画像内の少なくとも前記第２のピクセル位置と重なるように前記光源がシーン内の物体に取り付けられている、方法。
【請求項２】
前記画像シーケンスに亘る局所的な光の変化のパターンが、前記光源から放射されるストロボ光によって生成される、請求項１に記載の方法。
【請求項３】
前記局所的な光の変化のパターンは、光の強度の変化、光の色の変化、および光の強度の変化と色の変化との組み合わせからなる群から選択される少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
前記画像シーケンスを分析して、前記少なくとも１つの画像内の前記光源の場所および前記画像シーケンスに亘る前記光源の移動を決定するステップをさらに含み、
前記制御信号を生成することは、前記移動に基づく、請求項１に記載の方法。
【請求項５】
前記画像シーケンスおよび前記追加画像は、ビデオ記録におけるビデオフレームのシーケンスの一部である、請求項１に記載の方法。
【請求項６】
カメラデバイスのための追跡コントローラであって、
コンピュータプロセッサと、
命令を格納するメモリとを備え、前記命令は、実行時に、前記コンピュータプロセッサに、
シーンの画像シーケンスを取得すること、前記画像シーケンスはカメラデバイスの単一の光学センサによってキャプチャされており、
前記単一の光学センサによってキャプチャされた前記画像シーケンスに亘る局所的な光の変化のパターンに基づいて、シーン内の光源を検出すること、
前記光源の検出に応答して、前記画像シーケンスの少なくとも１つの画像内の前記光源の場所と前記少なくとも１つの画像内の目標位置とを比較して結果を生成すること、
前記結果に基づいて、前記光源が視野内の前記目標位置と整列するように前記カメラデバイスの視野を変更するための制御信号を生成すること、
前記局所的な光の変化のパターンは、前記少なくとも１つの画像内の少なくとも第１のピクセル位置を前記光源の場所として特定し、
前記目標位置は、前記少なくとも１つの画像内の少なくとも第２のピクセル位置に対応しており、
前記結果は、前記光源の少なくとも前記第１のピクセル位置と前記目標位置の少なくとも前記第２のピクセル位置との間のピクセル位置変位を含み、
前記カメラデバイスが取り付けられている傾斜旋回装置に制御信号を送信すること、
視野内の前記目標位置と前記光源との間の位置合わせを検出すること、
前記位置合わせの検出に応答して、前記カメラデバイスにシーンの追加画像をさらにキャプチャさせること、
前記追加画像に先行する時間窓において制御情報を取得するように前記画像シーケンスを指定することを行わせ、
前記カメラデバイスの視野が、前記制御信号に応答して前記傾斜旋回装置により、前記ピクセル位置変位とは反対の方向に変更され、
前記位置合わせは、視野内の前記光源と少なくとも前記第２のピクセル位置との重なりに対応し、
物体が前記追加画像内の少なくとも前記第２のピクセル位置と重なるように前記光源がシーン内の物体に取り付けられている、追跡コントローラ。
【請求項７】
前記画像シーケンスに亘る局所的な光の変化のパターンが、前記光源から放射されるストロボ光によって生成される、請求項６に記載の追跡コントローラ。
【請求項８】
前記局所的な光の変化のパターンは、光の強度の変化、光の色の変化、および光の強度と色の変化の組み合わせからなる群から選択される少なくとも１つを含む、請求項６に記載の追跡コントローラ。
【請求項９】
前記命令は、実行時に、前記コンピュータプロセッサに、
前記画像シーケンスを分析して、前記少なくとも１つの画像内の前記光源の場所および前記画像シーケンスに亘る前記光源の移動を決定することを行わせ、
前記制御信号を生成することは前記移動にさらに基づく、請求項６に記載の追跡コントローラ。
【請求項１０】
前記画像シーケンスおよび前記追加画像は、ビデオ記録におけるビデオフレームのシーケンスの一部である、請求項６に記載の追跡コントローラ。
【請求項１１】
物体追跡のための命令を格納する非一時的なコンピュータ可読媒体であって、前記命令は、コンピュータプロセッサによる実行時に、
シーンの画像シーケンスを取得すること、前記画像シーケンスはカメラデバイスの単一の光学センサによってキャプチャされており、
前記単一の光学センサによってキャプチャされた前記画像シーケンスに亘る局所的な光の変化のパターンに基づいて、シーン内の光源を検出すること、
前記光源の検出に応答して、前記画像シーケンスの少なくとも１つの画像内の光源の場所と前記少なくとも１つの画像内の目標位置とを比較して結果を生成すること、
前記結果に基づいて、前記光源が視野内の前記目標位置と整列するように前記カメラデバイスの視野を変更するための制御信号を生成すること、
前記局所的な光の変化のパターンは、前記少なくとも１つの画像内の少なくとも第１のピクセル位置を前記光源の場所として特定し、
前記目標位置は、前記少なくとも１つの画像内の少なくとも第２のピクセル位置に対応しており、
前記結果は、前記光源の少なくとも前記第１のピクセル位置と前記目標位置の少なくとも前記第２のピクセル位置との間のピクセル位置変位を含み、
前記制御信号を、前記カメラデバイスが取り付けられている傾斜旋回装置に送信すること、
前記制御信号の送信に応答して、視野内の前記目標位置と前記光源との間の位置合わせを検出すること、
前記カメラデバイスを使用して、前記位置合わせの検出に応答して、シーンの追加画像をさらにキャプチャすること、
前記追加画像に先行する時間窓において制御情報を取得するように前記画像シーケンスを指定することのための機能を備え、
前記カメラデバイスの視野が、前記制御信号に応答して前記傾斜旋回装置により、前記ピクセル位置変位とは反対の方向に変更され、
前記位置合わせは、視野内の前記光源と少なくとも前記第２のピクセル位置との重なりに対応し、
物体が追加画像内の少なくとも前記第２のピクセル位置と重なるように前記光源がシーン内の物体に取り付けられている、非一時的なコンピュータ可読媒体。
【請求項１２】
前記画像シーケンスに亘る局所的な光の変化のパターンは、前記光源から放射されるストロボ光によって生成される、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記局所的な光の変化のパターンは、光の強度の変化、光の色の変化、および光の強度と色の変化の組み合わせからなる群から選択される少なくとも１つを含む、請求項１２に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記命令は、前記コンピュータプロセッサによる実行時に、
前記画像シーケンスを分析して、前記少なくとも１つの画像内の前記光源の場所および前記画像シーケンスに亘る前記光源の移動を決定することのための機能をさらに備え、
前記制御信号を生成することは、前記移動にさらに基づく、請求項１１に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
視野（ＦＯＶ：ｆｉｅｌｄ−ｏｆ−ｖｉｅｗ）は、カメラによって撮像されるシーンの範囲である。ＦＯＶ内の物体は、カメラでキャプチャまたは出力された画像に現れる。例えば、ＦＯＶは、カメラレンズがカメラの光学センサに入力される光を投影する立体角に対応し得る。
【発明の概要】
【０００２】
概して、一態様では、本発明は物体追跡のための方法に関する。方法は、カメラデバイスを使用してシーンの画像シーケンスをキャプチャするステップと、画像シーケンスに亘る局所的な光の変化のパターンに基づいて、シーン内の光源を検出するステップと、光源の検出に応答して、画像シーケンスの少なくとも１つの画像内の光源の場所と少なくとも１つの画像内の目標位置とを比較して結果を生成するステップと、結果に基づいて、光源が視野内の目標位置と実質的に整列するようにカメラデバイスの視野を変更するための制御信号を生成するステップとを含む。
【０００３】
概して、一態様では、本発明はカメラデバイスのための追跡コントローラに関する。追跡コントローラは、コンピュータプロセッサと、命令を格納するメモリとを備えている。命令は、実行時に、コンピュータプロセッサに、シーンの画像シーケンスを取得すること、画像シーケンスはカメラデバイスによってキャプチャされており、画像シーケンスに亘る局所的な光の変化のパターンに基づいて、シーン内の光源を検出すること、光源の検出に応答して、画像シーケンスの少なくとも１つの画像内の光源の場所と少なくとも１つの画像内の目標位置とを比較して結果を生成すること、結果に基づいて、光源が視野内の目標位置と実質的に整列するようにカメラデバイスの視野を変更するための制御信号を生成することを行わせる。
【０００４】
概して、一態様では、本発明は物体追跡のための命令を格納する非一時的なコンピュータ可読媒体に関する。命令は、コンピュータプロセッサによる実行時に、シーンの画像シーケンスを取得すること、画像シーケンスはカメラデバイスによってキャプチャされており、画像シーケンスに亘る局所的な光の変化のパターンに基づいて、シーン内の光源を検出すること、光源の検出に応答して、画像シーケンスの少なくとも１つの画像内の光源の場所と少なくとも１つの画像内の目標位置とを比較して結果を生成すること、結果に基づいて、光源が視野内の目標位置と実質的に整列するようにカメラデバイスの視野を変更するための制御信号を生成することのための機能を備える。
【０００５】
本発明の他の態様は、以下の説明および添付の特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１．１】本発明の１つまたは複数の実施形態によるシステムの概略ブロック図を示す。
【図１．２】本発明の１つまたは複数の実施形態によるシステムの概略ブロック図を示す。
【図２】本発明の１つまたは複数の実施形態による方法フローチャートを示す。
【図３Ａ】本発明の１つまたは複数の実施形態による様々な例を示す。
【図３Ｂ】本発明の１つまたは複数の実施形態による様々な例を示す。
【図４】本発明の１つまたは複数の実施形態による様々な例を示す。
【図５】本発明の１つまたは複数の実施形態による様々な例を示す。
【図６】本発明の１つまたは複数の実施形態による様々な例を示す。
【図７】本発明の１つまたは複数の実施形態によるコンピューティングシステムを示す。
【発明を実施するための形態】
【０００７】
本発明の特定の実施形態を、添付の図面を参照して詳細に説明する。様々な図における同様の構成要素は、一貫性のために同様の参照番号で示され得る。
本発明の実施形態の以下の詳細な説明では、本発明のより完全な理解を提供するために、多くの特定の詳細が記載されている。しかしながら、これらの特定の詳細なしで本発明を実施できることは、当業者には明らかであろう。他の例では、説明を不必要に複雑にすることを避けるために、既知の特徴は詳細に説明されていない。
【０００８】
以下の説明において、本発明の様々な実施形態において、図面に関して説明される構成要素は、他の図面に関して説明される１つまたは複数の同様の名称の構成要素と同等であり得る。簡潔にするために、これらの構成要素の少なくとも一部は、様々な凡例に基づいて暗黙的に識別される。さらに、これらの構成要素の説明は、各図面に関して繰り返されない。従って、各図面の構成要素の全ての実施形態は、参照により組み込まれ、１つまたは複数の同様の名称の構成要素を有する他のすべての図面内に任意に存在するものと想定される。さらに、本発明の様々な実施形態によれば、図面の構成要素の任意の記述は、任意の他の図面の対応する同様の名称の構成要素に関して説明された実施形態に加えて、それに関連して、またはその代わりに実施され得る任意の実施形態として解釈されるべきである。図面において、黒の実線と同一線上のドットは、実線と同一線上のドットの前および／または後の構成要素に類似する追加の構成要素が任意に存在してもよいことを示す。さらに、図面の構成要素を結ぶ実線または破線は、接続された構成要素間の関係を表す。破線は、関係に物理的な接続または物理的な要素が含まれないか、またはそれ以外に関連付けられないことを示す。
【０００９】
出願全体を通じて、順序番号（例えば、第１、第２、第３、その他）は、構成要素（即ち、出願における任意の名詞）の形容詞として使用し得る。順序番号の使用は、構成要素の特定の順序を暗示したり作成したりするものではなく、また、「前」、「後」、「単一」、および他のそのような用語の使用などによって明示的に開示されない限り、構成要素を単一の要素に限定するものでもない。むしろ、順序番号の使用は構成要素を区別するためのものである。例として、第１の要素は第２の要素とは異なり、第１の要素は複数の要素を包含し、要素の順序付けにおいて第２の要素に続いても（または先行しても）よい。
【００１０】
概して、本発明の実施形態は、カメラデバイスの視野（ＦＯＶ）内の物体を追跡するためのシステム、方法、およびコンピュータ可読媒体を提供する。本発明の１つまたは複数の実施形態では、光源が物体に取り付けられ、カメラデバイスを使用して画像シーケンスがキャプチャされる。１つまたは複数の実施形態において、光源は、光の強度および／または色を時々変化させるストロボ光を放射する。画像シーケンス全体に亘る局所的な光の変化のパターンに基づいて、光源がＦＯＶ内で検出される。光源の検出に応じて、画像内の光源の場所と目標位置とを比較して、変位または移動パラメータなどの結果を生成する。従って、カメラデバイスホルダを制御するために、結果に基づいて制御信号が生成される。具体的には、カメラデバイスホルダは、光源がＦＯＶ内の目標位置と実質的に整列するように、制御信号に基づいてＦＯＶを調整する。１つまたは複数の実施形態において、画像シーケンスはビデオ記録の一部であり、制御信号は、物体がビデオ記録のＦＯＶ内の目標位置に現れるようにする。
【００１１】
図１．１は、１つまたは複数の実施形態によるシステム（１００）を示す。１つまたは複数の実施形態において、図１．１に示されるモジュールおよび構成要素の１つまたは複数は、省略、反復、および／または置換され得る。従って、本発明の実施形態は、図１．１に示されるモジュールの特定の配置に限定されると考えられるべきではない。
【００１２】
図１．１に示すように、システム（１００）は、カメラレンズ（１１１）を有するカメラデバイス（１１０）、追跡コントローラ（１２０）、カメラデバイスホルダ（１３０）、シーン（１４０）、カメラレンズ（１１１）の視野（ＦＯＶ）（１４１）、ＦＯＶ（１４１）内に現れる物体（１４２）、および物体（１４２）に取り付けられた光源（１４３）を含む。さらに、カメラデバイス（１１０）、追跡コントローラ（１２０）、およびカメラデバイスホルダ（１３０）は、互いに通信可能に接続されている。本発明の１つまたは複数の実施形態では、カメラデバイス（１１０）、追跡コントローラ（１２０）、およびカメラデバイスホルダ（１３０）のうちの２つ以上が単一のデバイスに統合される。例えば、追跡コントローラ（１２０）の少なくとも一部は、カメラデバイス（１１０）に含まれ得る。別の例では、追跡コントローラ（１２０）の少なくとも一部は、カメラデバイスホルダ（１３０）に含まれ得る。さらに別の例では、追跡コントローラ（１２０）の一部がカメラデバイス（１１０）に含まれ、追跡コントローラ（１２０）の別の部分がカメラデバイスホルダ（１３０）に含まれる。
【００１３】
本発明の１つまたは複数の実施形態では、光源（１４３）は、光を放射する任意のデバイスである。１つまたは複数の実施形態において、光源（１４３）は発光ダイオード（ＬＥＤ）を含む。１つまたは複数の実施形態では、光源（１４３）は、強度および／または色を時々変化させるストロボ光を放射する。例えば、ストロボ光は、特定のデューティサイクル（即ち、光パターンが明るいレベルを有する時間の割合）及び繰返し率（即ち、単位時間の間に強度が何度も変化する）に応じた自由発振光変化パターン（ｆｒｅｅ−ｒｕｎｎｉｎｇ  ｌｉｇｈｔ  ｃｈａｎｇｅ  ｐａｔｔｅｒｎ）を放射し得る。本明細書で使用される場合、光変化パターンは、光の強度の変化および／または色の変化のパターンである。１つまたは複数の実施形態において、光源（１４３）は、カメラデバイス（１１０）のフレームレートと比較して低い繰り返し率（例えば、１０ヘルツ、２０ヘルツ、その他）で光変化パターンを放射する。フレームレートは、単位時間中にカメラデバイス（１１０）によってキャプチャされる多くの画像（例えば、静止画像のバーストまたはビデオ記録）である。１つまたは複数の実施形態において、光源（１４３）は、カメラデバイス（１１０）のフレームレートと同期する光変化パターンを放射する。
【００１４】
本発明の１つまたは複数の実施形態では、カメラデバイス（１１０）は、写真および／またはビデオ記録を撮影するためのカメラレンズ（例えば、カメラレンズ（１１１））と、関連部品とを備えたデバイスである。通信機能を備えた専用カメラは、カメラデバイス（１１０）の一例である。１つまたは複数の実施形態において、カメラデバイス（１１０）は、スマートフォンとして参照される、カメラを内蔵した携帯電話などのモバイルデバイスである。スマートフォンは、前面の大部分（例えば、７０％以上）を占めるグラフィカルユーザインタフェースを備えたディスプレイを有し得る。カメラレンズ（１１１）は、スマートフォンの前面または背面に存在し得る。１つまたは複数の実施形態において、カメラデバイス（１１０）は、光源（１４３）のデューティサイクルおよび／または繰り返し率に基づいて画像キャプチャのフレームレートを制御するためのタイマを含む。
【００１５】
１つまたは複数の実施形態では、シーン（１４０）は、カメラデバイス（１１０）によって撮像される、アクションまたはイベントが発生する場所である。視野（ＦＯＶ）（１４１）は、カメラレンズ（１１１）を使用してカメラデバイス（１１０）によって撮像されるシーン（１４０）の範囲である。換言すれば、ＦＯＶ（１４１）内の物体は、カメラデバイス（１１０）によってキャプチャおよび／または出力された画像内に現れる。例えば、ＦＯＶ（１４１）は、カメラデバイス（１１０）の関連する光学センサ（図示せず）に入力される光をカメラレンズ（１１１）が投影する立体角に対応し得る。１つまたは複数の実施形態において、ＦＯＶ（１４１）は、カメラレンズ（１１１）がシーン（１４０）に向けられる方法、シーン（１４０）に対してズームされる方法、またはそれ以外にシーン（１４０）に対して配置される方法に応じてシーン（１４０）の異なる部分に対応している。１つまたは複数の実施形態において、カメラデバイス（１１０）は、ハードウェアコンポーネント、ソフトウェアコンポーネント、またはそれらの組み合わせを含む。１つまたは複数の実施形態において、カメラデバイス（１１０）は、以下の図７Ａおよび７Ｂを参照して説明されるコンピューティングシステム（７００）およびネットワーク（７２０）の少なくとも一部を含み得るか、またはそれ以外に使用して実施され得る。
【００１６】
本発明の１つまたは複数の実施形態では、カメラデバイスホルダ（１３０）は、カメラデバイス（１１０）を機械的に保持し、追跡コントローラ（１２０）からの制御信号に応答してカメラレンズ（１１１）のＦＯＶ（１４１）を調整するように構成される。例えば、カメラデバイスホルダ（１３０）は、カメラレンズ（１１１）のカメラ角度を調整するための電動傾斜旋回装置を含み得る。別の例では、カメラデバイスホルダ（１３０）は、シーン（１４０）に対するカメラレンズ（１１１）の位置を調整するための電動水平および垂直スライド装置を含み得る。スライド装置は、カメラデバイス（１１０）を保持および移動するための機械的ステージを含み得る。カメラデバイスホルダ（１３０）の例は、図３Ａおよび３Ｂを参照して以下に説明される。
【００１７】
１つまたは複数の実施形態では、追跡コントローラ（１２０）は、カメラレンズ（１１１）のＦＯＶ（１４１）を調整するように構成されたハードウェアコンポーネント、ソフトウェアコンポーネント、またはそれらの組み合わせを含む。例えば、追跡コントローラ（１２０）は、カメラデバイスホルダ（１３０）を制御することによりＦＯＶ（１４１）を制御し得る。別の例では、追跡コントローラ（１２０）は、カメラレンズ（１１１）のズームレベルを制御することにより、ＦＯＶ（１４１）をさらに制御し得る。１つまたは複数の実施形態において、追跡コントローラ（１２０）は、物体（１４２）がＦＯＶ（１４１）内の目標位置に現れるようにＦＯＶ（１４１）を制御する。１つまたは複数の実施形態において、追跡コントローラ（１２０）は、図２を参照して以下に説明される方法を使用してＦＯＶ（１４１）を制御する。１つまたは複数の実施形態では、追跡コントローラ（１２０）は、図１．２を参照して以下に説明される構成要素を含む。
【００１８】
図１．２は、１つまたは複数の実施形態による追跡コントローラ（１２０）の詳細を示している。図１．２の以下の説明は、図１．１において前に示された様々な構成要素を参照している。１つまたは複数の実施形態において、図１．２に示されるモジュールおよび構成要素の１つまたは複数は、省略、反復、および／または置換され得る。従って、本発明の実施形態は、図１．２に示されるモジュールの特定の配置に限定されると考えられるべきではない。
【００１９】
図１．２に示されるように、追跡コントローラ（１２０）は、ハードウェアプロセッサ（１２１）、メモリ（１２２）、およびリポジトリ（１２３）を含む。本発明の１つまたは複数の実施形態において、ハードウェアプロセッサ（１２１）は、図７Ａに示される以下のコンピュータプロセッサ（７０２）に対応する。同様に、メモリ（１２２）およびリポジトリ（１２３）は、図７Ａに示される以下の非永続的ストレージ（７０４）および／または永続的ストレージ（７０６）に対応する。例えば、メモリ（１２２）は、実行時に、ハードウェアプロセッサ（１２１）に図１．１において前に示されたカメラデバイス（１１０）のＦＯＶ調整機能を実行させるソフトウェア命令を記憶し得る。１つまたは複数の実施形態において、追跡コントローラ（１２０）は、図２を参照して説明される以下の方法フローチャートに従ってＦＯＶ調整機能を実行する。１つまたは複数の実施形態において、メモリ（１２２）は、図２を参照して説明される以下の方法フローチャートの１つまたは複数の部分を実行するための命令を格納する。１つまたは複数の実施形態において、追跡コントローラ（１２０）およびカメラデバイス（１１０）は単一のデバイスに統合される。そのような実施形態では、図２を参照して説明した方法フローチャートの１つまたは複数の部分を実行する命令は、スマートフォンまたは他のモバイルデバイス上で動作するように設計された、ユーザがインストール可能なソフトウェアアプリケーションである、モバイルアプリケーションまたはモバイルアプリの一部である。
【００２０】
さらに図１．２に示すように、リポジトリ（１２３）は、画像シーケンス（１２６）、光変化パターン（１２４）、変位（１２５）、移動パラメータ（１２８）、および目標位置（１２７）を含む。特に、画像シーケンス（１２６）は、カメラデバイス（１１１）によってキャプチャされた連続画像（例えば、画像Ａ（１２６ａ））を含む。例えば、画像Ａ（１２６ａ）は、特定の時点でＦＯＶ（１４１）によってカバーされるシーン（１４０）の一部に対応する。光変化パターン（１２４）は、画像シーケンス（１２６）に亘って異なる強度レベルおよび／または色の間で交互に変化する光の強度および／または色のパターンである。１つまたは複数の実施形態において、光変化パターン（１２４）は、画像シーケンス（１２６）の各画像内のスポットに対応する。例えば、スポットは、各画像内のピクセル位置または結合されたピクセル位置の集合によって定義され得る。１つまたは複数の実施形態において、光変化パターン（１２４）は、光源（１４３）から放射されるストロボ光によって生じ、かつ各画像内の光源（１４３）の場所を示す。換言すれば、各画像内の光源（１４３）の場所は、画像シーケンス（１２６）に亘って光変化パターン（１２４）がどこで発見されるかに基づいて決定され得る。例えば、光変化パターン（１２４）は、光源（１４３）が画像Ａ（１２６ａ）内の場所Ａ（１２７ａ）にあることを示している。同様に、画像シーケンス（１２６）内の他の各画像は、光源（１４３）の場所に関連付けられている。目標位置（１２７）は、追跡コントローラ（１２０）が物体（１４２）を追跡するように構成されている所定の位置である。例えば、目標位置（１２７）は、画像シーケンス（１２６）の各画像の中心に対応する、ＦＯＶ（１４１）の中心として定義され得る。換言すれば、追跡コントローラ（１２０）は、調整後の画像内の中心（即ち、目標位置（１２７））に物体（１４２）が現れるようにＦＯＶ（１４１）を調整するように構成される。他の例では、目標位置（１２７）は、ＦＯＶ（１４１）の中心とは異なる位置として定義され得る。変位（１２５）は、目標位置（１２７）と画像内の光源（１４３）の場所（例えば、場所Ａ（１２７ａ））との間の距離である。１つまたは複数の実施形態において、変位（１２５）は、水平方向距離と垂直距離とを含む。変位（１２５）は、多数のピクセルまたは他の適切な距離スケールに基づいて表され得る。１つまたは複数の実施形態において、物体（１４２）は、光源（１４３）の場所（例えば、場所Ａ（１２７ａ））が画像シーケンス（１２６）内の１つの画像から次に画像に変化し得るような移動物体であり得る。そのような実施形態では、移動パラメータ（１２８）は、経時的な光源（１４３）の場所（例えば、場所Ａ（１２７ａ））の変化率である。例えば、移動パラメータ（１２８）は、画像シーケンス（１２６）内の１つの画像から次の画像への光源（１４３）の場所（例えば、場所Ａ（１２７ａ））の変化を含み得る。物体（１４２）の移動方向に応じて、移動パラメータ（１２８）は、水平部分と垂直部分とを含み得る。数学的には、移動パラメータ（１２８）は、時間の経過に伴う変位（１２５）の導関数に対応する。
【００２１】
１つまたは複数の実施形態において、追跡コントローラ（１２０）は、上記した画像シーケンス（１２６）、光変化パターン（１２４）、変位（１２５）、移動パラメータ（１２８）、および目標位置（１２７）に基づいてＦＯＶ調整機能を実行する。具体的には、追跡コントローラ（１２０）は、図２を参照して以下に説明される方法を使用してＦＯＶ調整機能を実行する。画像シーケンス（１２６）、光変化パターン（１２４）、変位（１２５）、および移動パラメータ（１２８）の例を、図４〜６を参照して以下に説明する。
【００２２】
図２は、１つまたは複数の実施形態によるフローチャートを示す。図２に示されるプロセスは、例えば、図１．１および１．２を参照して前に説明された１つまたは複数の構成要素によって実行され得る。図２に示される１つまたは複数のステップは、省略され、繰り返され、および／または本発明の異なる実施形態の間で異なる順序で実行され得る。従って、本発明の実施形態は、図２に示されるステップの特定の数および配置に限定されるものと考えられるべきではない。
【００２３】
最初に、ステップ２０１において、シーン内の光源が起動される。本発明の１つまたは複数の実施形態では、光源はシーン内の物体に取り付けられる。１つまたは複数の実施形態では、光源は、強度および／または色を時々変化させるストロボ光を放射する。例えば、ストロボ光は、光源が起動されている（例えば、点灯している）ことに応答して自由発振光パターンを放射する。１つまたは複数の実施形態において、光源は、カメラデバイスのフレームレートと比較して低い繰り返し率（例えば、１０ヘルツ、２０ヘルツなど）でストロボ光を放射する。１つまたは複数の実施形態において、光源は、カメラデバイスのフレームレートと同期したストロボ光を放射する。例えば、ストロボ光は、追跡コントローラおよび／またはカメラデバイスから送信されたトリガー信号に基づいて開始および／または同期され得る。
【００２４】
ステップ２０２において、シーンの画像シーケンスがカメラデバイスによってキャプチャされる。特に、物体は、カメラレンズの視野（ＦＯＶ）内にあり、かつ画像シーケンス内に現れる。例えば、画像シーケンスは、静止画像のバーストを含むか、または静止画像のバーストの一部であり得る。別の例では、画像シーケンスはビデオ記録を含むか、またはビデオ記録の一部であり得る。１つまたは複数の実施形態では、シーンの画像シーケンスは、光源がストロボ光を放射する間にキャプチャされる。１つまたは複数の実施形態では、画像シーケンスのフレームレートは、連続画像（または、シーケンス内の特定の間隔を有する画像のペア）が光源からの交互の明るいレベルと暗いレベル、および／または交互の色を含むように、光源のデューティサイクルおよび／または繰り返し率に基づいて選択される。例えば、光源は自由発振であり得、フレームレートは、自由発振光源の所定のデューティサイクルおよび／または繰り返し率に基づいて選択される。１つまたは複数の実施形態において、カメラデバイスのタイマは、選択されたフレームレートに従って画像キャプチャを制御するために使用される。
【００２５】
１つまたは複数の実施形態において、光源のデューティサイクルおよび／または繰り返し率は、連続画像（または、シーケンス内の特定の間隔を有する画像のペア）が光源からの交互の明るいレベルと暗いレベル、および／または交互の色を含むように、画像シーケンスのフレームレートに基づいて選択される。例えば、フレームレートは予め決定されてもよく、光源は、例えば、カメラデバイスからのトリガー信号に基づいて、フレームレートに同期される。
【００２６】
ステップ２０３において、画像シーケンスに亘る局所的な光変化パターンに基づいて、光源がシーン内で検出される。具体的には、光源から放射されたストロボ光は、カメラデバイスの光センサが受け取る光の強度および／または色の変化を引き起こし、その結果、画像シーケンスに亘って局所的な光変化パターンが生じる。１つまたは複数の実施形態において、ストロボ光の強度は、局所的な強度の変化パターンが各画像内で発見される場所のサイズを制御するために調整される。例えば、場所サイズは、ＦＯＶの水平寸法および垂直寸法の割合（例えば、１％、３％、その他）に制限され得る。１つまたは複数の実施形態において、場所およびサイズは、カメラデバイスの光学センサによって認識される、連続画像における交互の明るいレベルと暗いレベルおよび／または交互の色の差が所定の閾値を超える場所に定義される。１つまたは複数の実施形態において、場所は画像内の光源の場所として参照される。
【００２７】
１つまたは複数の実施形態において、画像シーケンス内の画像のペアは、対応するピクセルの強度および／または色値の減算により比較される。具体的には、強度および／または色値は光学センサによって生成される。特に、１つの画像内のピクセルの強度および／または色値は、別の画像内の対応するピクセルの強度および／または色値から減算されて、減算結果が生成される。減算結果において交互の明るいレベルと暗いレベルにおける差、および／または交互の色における差が発見されたピクセルは、画像内の光源の場所の一部として選択される。光源のデューティサイクル／繰り返し率対画像シーケンスのフレームレートに応じて、画像のペアは、連続画像であってもよく、または３個の画像毎などの特定の数の画像で分離された２つの画像であってもよい。
【００２８】
ステップ２０４において、画像シーケンスが分析されて、少なくとも１つの画像内の光源の場所、および画像シーケンスに亘る光源の移動が決定される。１つまたは複数の実施形態において、光源の場所は、カメラデバイスの光学センサによって認識される、画像シーケンスの交互の明るいレベルと暗いレベルにおける差、および／または交互の色における差が所定の閾値を超える場所に基づいて決定される。１つまたは複数の実施形態において、光源の移動は、画像シーケンスに亘る場所の変化率に基づいて決定される。
【００２９】
ステップ２０５において、光源の検出に応答して、光源の場所と少なくとも１つの画像内の目標位置とが比較されて、結果が生成される。１つまたは複数の実施形態において、結果は、場所から目標位置への変位を含む。１つまたは複数の実施形態では、変位は、画像シーケンス内の１つの画像から次の画像へと変化し、物体が移動物体であることを示している。そのような実施形態では、例えば、１つの画像から次の画像への経時的な変位の変化率は、移動パラメータとして計算される。
【００３０】
ステップ２０６において、カメラデバイスの向きを決めるために、結果に基づいて制御信号が生成される。１つまたは複数の実施形態では、制御信号は、変位と反対方向にカメラレンズの向きを調整するように構成される。例えば、目標位置が画像内の光源の場所の右側にあることを変位が示す場合、制御信号は、カメラレンズの向きを左に調整する。１つまたは複数の実施形態において、制御信号は、シーンに対するカメラの相対位置を変位に対して反対方向に調整するように構成される。例えば、目標位置が画像内の光源の場所の右側にあることを変位が示す場合、制御信号はカメラの相対位置を左に調整する。１つまたは複数の実施形態において、移動パラメータは、制御信号によって生じる調整量を微調整する際に考慮される。
【００３１】
ステップ２０７において、制御信号は、カメラデバイスが取り付けられているカメラデバイスホルダ（例えば、傾斜旋回装置または機械的ステージ）に送信される。従って、カメラレンズの向きまたはカメラデバイスの相対位置は、変位と反対方向に調整される。
【００３２】
ステップ２０８において、目標位置と光源との間の実質的な位置合わせが、カメラデバイスのＦＯＶ内で検出される。特に、実質的な位置合わせは、カメラレンズの向きまたは変位と反対方向のカメラデバイスの相対位置を調整した結果である。
【００３３】
ステップ２０９において、実質的な位置合わせの検出に応答して、シーンの追加画像がキャプチャされる。１つまたは複数の実施形態において、連続画像は、カメラデバイスによって規則的な繰り返し率（即ち、フレームレート）で連続的にキャプチャされ出力される。そのような実施形態では、制御信号を生成するために分析される画像シーケンスは、追加画像に先行するローリング時間窓（例えば、２個の連続画像、５個の連続画像、１０個の連続画像などのローリングシーケンス）に制限される。時間が経過すると、追加画像は、更新された制御信号を生成してＦＯＶ内の物体を継続的に追跡するための更新された画像シーケンスの一部となる。
【００３４】
１つまたは複数の実施形態において、制御信号を生成するために分析される画像シーケンスは、カメラデバイスによって出力されることなく、制御情報として指定される。対照的に、光源（従って、物体）が目標位置と実質的に整列する追加画像は、カメラデバイスによって出力される。例えば、制御情報は、破棄されるか、それ以外にカメラデバイスから除去されるまで、追加画像とは別に保存され得る。
【００３５】
ステップ２１０において、画像のキャプチャを継続するかどうかの判定が行われる。決定が肯定的である場合、即ち、画像キャプチャが継続されるべきである場合、方法はステップ２０２に戻る。決定が否定的である場合、即ち、画像のキャプチャを続行しない場合、方法は終了する。
【００３６】
図３Ａ、３Ｂ、４、５、および６は、本発明の１つまたは複数の実施形態による様々な例を示す。図３Ａ、３Ｂ、４、５、および６に示される例は、例えば、図１．１および１．２において前に示された１つまたは複数の構成要素、および図２において前に示された方法フローチャートに基づいてもよい。１つまたは複数の実施形態において、図３Ａ、３Ｂ、４、５、および６に示されるモジュールおよび構成要素の１つまたは複数は、省略、反復、および／または置換され得る。従って、本発明の実施形態は、図３Ａ、３Ｂ、４、５、および６に示されるモジュールの特定の配置に限定されると考えられるべきではない。
【００３７】
図３Ａは、図１．１において前に示されたカメラデバイスホルダ（１３０）の一例としての電動カメラモバイルデバイススタンド（２１０）を示している。加えて、電動カメラモバイルデバイススタンド（２１０）によって機械的に保持されるカメラモバイルデバイス（２０１）（例えば、カメラレンズ（２２０）を有するスマートフォン）は、図１．１において前に示されたカメラデバイス（１１０）の一例である。本発明の１つまたは複数の実施形態では、電動カメラモバイルデバイススタンド（２１０）は、ホルダ（２２１）、傾斜シャフト（２０３）、Ｕ字ブラケット（２０４）、回転シャフト（２０９）、およびスタンド（２２２）を含む電気機械アセンブリである。ホルダ（２２１）は、カメラモバイルデバイス（２０１）を機械的に保持し、傾斜シャフト（２０３）に機械的に連結するように構成される。スタンド（２２２）は、固体表面上に配置されている間、電動カメラモバイルデバイススタンド（２１０）の機械的安定性を維持するように構成されている。明示的には示されていないが、Ｕ字ブラケット（２０４）は、傾斜シャフト（２０３）に連結された傾斜モータ、回転シャフト（２０９）に連結された回転モータ、および図１．１において前に示されたカメラデバイス（１１０）および／または追跡コントローラ（１２０）と通信するように構成された通信インタフェースを収容する。例えば、通信インタフェースは、ブルートゥース（登録商標）、ＮＦＣ、ＵＳＢ、または他の無線／有線通信インタフェースに基づくものであり得る。１つまたは複数の実施形態において、回転シャフト（２０９）は、通信インタフェースを介して追跡コントローラ（１２０）から受信した制御信号に応答して回転モータにより回転軸（２０９−１）を中心に回転可能である。同様に、傾斜シャフト（２０３）は、通信インタフェースを介して追跡コントローラ（１２０）から受信した制御信号に応答して、傾斜モータにより傾斜軸（２０３−１）を中心に回転可能である。傾斜軸（２０３−１）を中心にホルダ（２２１）を傾斜させること、および／またはホルダ（２２１）を傾斜シャフト（２０３）及びブラケット（２０４）と共に回転軸（２０９−１）を中心に回転させることに応答して、カメラレンズ（２２０）の向きを調整することができる。従って、カメラレンズ（２２０）のＦＯＶ（２２０−１）は、カメラレンズ（２２０）の向きに従って調整される。
【００３８】
図３Ｂは、図１．１において前に示されたカメラデバイスホルダ（１３０）の一例としてのカメラモバイルデバイスのハンドヘルドグリップ（８００）を示している。加えて、カメラモバイルデバイスのハンドヘルドグリップ（８００）によって機械的に保持されるカメラモバイルデバイス（２０１）（例えば、カメラレンズ（２２０）を有するスマートフォン）は、図１．１において前に示されたカメラデバイス（１１０）の一例である。本発明の１つまたは複数の実施形態では、カメラモバイルデバイスのハンドヘルドグリップ（８００）は、ホルダ（２２１）、傾斜シャフト（２０３）、傾斜モータ（２１３）、回転シャフト（２０９）、回転モータ（２１９）、ハンドヘルドグリップ（２２２）を含む電気機械アセンブリである。ホルダ（２２１）は、カメラモバイルデバイス（２０１）を機械的に保持し、傾斜シャフト（２０３）に機械的に連結するように構成される。ハンドヘルドグリップ（２２２）は、観察者による手持ち状態である間、カメラモバイルデバイスのハンドヘルドグリップ（８００）の機械的安定性を維持するように構成される。明示的に示されていないが、ハンドヘルドグリップ（２２２）は、図１．１において前に示されたカメラデバイス（１１０）および／または追跡コントローラ（１２０）と通信するように構成された通信インタフェースを含む。例えば、通信インタフェースは、ブルートゥース（登録商標）、ＮＦＣ、ＵＳＢ、または他の無線／有線通信インタフェースに基づくものであり得る。１つまたは複数の実施形態において、回転シャフト（２０９）は、通信インタフェースを介して追跡コントローラ（１２０）から受信した制御信号に応答して、回転モータ（２１９）により回転軸（２０９−１）を中心に回転可能である。同様に、傾斜シャフト（２０３）は、通信インタフェースを介して追跡コントローラ（１２０）から受信した制御信号に応答して、傾斜モータ（２１３）により傾斜軸（２０３−１）を中心に回転可能である。傾斜軸（２０３−１）を中心にホルダ（２２１）を傾斜させること、および／またはホルダ（２２１）を傾斜シャフト（２０３）および傾斜モータ（２１３）と共に回転軸（２０９−１）を中心に回転させることに応答して、カメラレンズ（２２０）の向きを調整することができる。従って、カメラレンズ（２２０）のＦＯＶ（２２０−１）は、カメラレンズ（２２０）の向きに従って調整される。
【００３９】
図４は、図１．１および１．２において前に示された光源（１４３）の光変化パターン（１２４）の一例を示している。図４に示すように、横軸は時間に対応し、縦軸は光の強度に対応する。特に、光変化パターン（１２４）は、明るいレベル（４００ａ）と暗いレベル（４００ｂ）との間で経時的に交互に変化する光の強度のパターンである。例えば、光の強度の明るいレベル（４００ａ）は、期間Ａ（４１０）に亘って持続し、特定の繰り返し率で経時的に繰り返され得る。光の強度が明るいレベル（４００ａ）と暗いレベル（４００ｂ）との間で経時的に交互に変化する間、画像シーケンスは、カメラデバイスによって周期的にキャプチャされる。例えば、シーケンス内の連続画像は、期間Ｂ（４２０）、期間Ｃ（４３０）などによって互いに分離された時点Ａ（４０１ａ）、時点Ｂ（４０１ｂ）、時点Ｃ（４０１ｃ）などでキャプチャされ得る。特に、期間Ａ（４１０）は、時点Ｂ（４０１ｂ）のような少なくとも１つの画像キャプチャ時点を包含する。図４に示される光変化パターン（１２４）は光の強度の変化のパターンであるが、光変化パターン（１２４）は、他の例では色の変化をも含み得る。換言すれば、明るいレベル（４００ａ）と暗いレベル（４００ｂ）は、色の変化を表すために異なる色で置換または補足することができる。
【００４０】
図５は、図１．１および１．２において前に示されたシーン（１４０）の画像シーケンス（１２６）の例を示している。図５に示すように、画像シーケンス（１２６）は、図４において前に示された時点Ａ（４０１ａ）、時点Ｂ（４０１ｂ）、時点Ｃ（４０１ｃ）などでキャプチャされた画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などを含む。図４を参照して前に説明した光変化パターン（１２４）の例によれば、光源（１４３）は、画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などにおいて、「ａ」とマークされた場所に、暗いスポットと明るいスポットとが交互に現れる。対照的に、画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などにおいて、「ｂ」とマークされた別の場所では、光の強度は実質的に一定のままである。例えば、「ａ」とマークされた場所は、画像Ａ（１２６ａ）および画像Ｂ（１２６ｂ）の対応するピクセルの強度値を減算して、減算結果（１２６ｄ）を生成することによって決定され得る。同様に、「ａ」とマークされた場所は、画像Ｂ（１２６ｂ）および画像Ｃ（１２６ｃ）の対応するピクセルの強度値を減算して、減算結果（１２６ｄ）を生成することによってさらに決定され得る。減算結果（１２６ｄ）では、黒色は差異がないことを示し、白色は非ゼロの差異を示す。従って、光源の場所は、減算結果（１２６ｄ）の白点に対応する。
【００４１】
さらに、図５に示すように、各画像の中心は目標位置（１２７）として定義される。従って、「ａ」とマークされた場所から目標位置（１２７）までの距離は、変位（１２５）に対応する。図５に示す「ａ」とマークされた場所、目標位置（１２７）、および変位（１２５）は、図１．２において前にそれぞれ示された場所Ａ（１２７ａ）、目標位置（１２７）、および変位（１２５）の例である。１つまたは複数の実施形態において、「ａ」とマークされた場所は、画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などの間で変化する。画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などに亘って「ａ」とマークされた場所の変化率は、図１．２において前に示された移動パラメータ（１２８）に対応する。
【００４２】
図６は、図４を参照して前に説明した画像シーケンス（１２６）の例を含むビデオ記録（６００）の例を示している。例示的なシナリオにおいて、目標位置は画像の中心である。図６に示すように、光源（１４３）は、画像シーケンス（１２６）内の画像（例えば、画像Ａ（１２６ａ））の左側部分の場所において特定される。特に、光源（１４３）は、男性の両手（即ち、物体（１４２））によって保持されている。例えば、光源（１４３）の場所は、図５において前に示された画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などの交互の暗いスポットと明るいスポットに基づいて特定される。換言すれば、光源（１４３）は、図５に示された画像Ａ（１２６ａ）、画像Ｂ（１２６ｂ）、画像Ｃ（１２６ｃ）などにおいて「ａ」とマークされた場所に対応する。目標位置（即ち、画像中心）は、光源の場所の右側にあるため、物体追跡コントローラ（１２０）は、光源（１４３）を保持する男性（即ち、物体（１４２））が画像の中心に現れるように、カメラデバイス（１１０）を左に向けるように構成されている。従って、カメラデバイス（１１０）の向きは、物体（１４２）が画像Ｘ（１２６ａ）の中心に現れるように、光源（１４３）の特定された場所「ａ」に基づいて調整される。
【００４３】
本発明の実施形態は、コンピューティングシステム上で実施され得る。モバイル、デスクトップ、サーバ、ルータ、スイッチ、組み込みデバイス、またはその他の種類のハードウェアの任意の組み合わせが使用され得る。例えば、図７Ａに示すように、コンピューティングシステム（７００）は、一つまたは複数のコンピュータプロセッサ（７０２）、非永続的ストレージ（７０４）（例えば、ランダムアクセスメモリ（ＲＡＭ）、キャッシュメモリなどの揮発性メモリ）、永続的ストレージ（７０６）（例えば、ハードディスク、コンパクトディスク（ＣＤ−ＲＯＭ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光学ドライブ、フラッシュメモリ、その他）、通信インタフェース（７１２）（例えば、ブルートゥースインタフェース、赤外線インタフェース、ネットワークインタフェース、光インタフェース、その他）、および多数の他の構成要素および機能を含み得る。
【００４４】
コンピュータプロセッサ（７０２）は、命令を処理するための集積回路であり得る。例えば、コンピュータプロセッサ（単数または複数）は、プロセッサの１つまたは複数のコアまたはマイクロコアであり得る。コンピューティングシステム（７００）は、タッチスクリーン、キーボード、マウス、マイク、タッチパッド、電子ペン、または他の任意のタイプの入力デバイスなどの１つまたは複数の入力デバイス（７１０）をも含み得る。
【００４５】
通信インタフェース（７１２）は、コンピューティングシステム（７００）をネットワーク（図示せず）（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、モバイルネットワーク、または他の種類のネットワーク）および／または別のコンピューティングデバイスなどの別のデバイスに接続するための集積回路を含み得る。
【００４６】
さらに、コンピューティングシステム（７００）は、スクリーン（例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、タッチスクリーン、陰極線管（ＣＲＴ）モニタ、プロジェクタ、または他のディスプレイデバイス）、プリンタ、外部ストレージ、またはその他の出力デバイスなどの１つまたは複数の出力デバイス（７０８）を含み得る。１つまたは複数の出力デバイスは、入力デバイス（単数または複数）と同じか、または異なるものであり得る。入力および出力デバイス（単数または複数）は、コンピュータプロセッサ（単数または複数）（７０２）、非永続的ストレージ（７０４）、および永続的ストレージ（７０６）にローカルまたはリモートで接続され得る。多くの異なるタイプのコンピューティングシステムが存在し、前述の入力および出力デバイス（単数または複数）は、他の形式をとり得る。
【００４７】
本発明の実施形態を実行するためのコンピュータ可読プログラムコードの形態のソフトウェア命令は、ＣＤ、ＤＶＤ、ストレージデバイス、ディスケット、テープ、フラッシュメモリ、物理メモリ、またはその他のコンピュータ可読ストレージ媒体などの非一時的コンピュータ可読媒体上に全体的または部分的に、一時的または永続的に格納され得る。具体的には、ソフトウェア命令は、プロセッサ（単数または複数）による実行時に、本発明の１つまたは複数の実施形態を実行するように構成されるコンピュータ可読プログラムコードに対応し得る。
【００４８】
図７Ａのコンピューティングシステム（７００）は、ネットワークに接続されるか、またはネットワークの一部であってもよい。例えば、図７Ｂに示されるように、ネットワーク（７２０）は、複数のノード（例えば、ノードＸ（７２２）、ノードＹ（７２４））を含み得る。各ノードは、図７Ａに示されるコンピューティングシステムなどのコンピューティングシステムに対応してもよく、また組み合わされたノードのグループが、図７Ａに示されるコンピューティングシステムに対応してもよい。一例として、本発明の実施形態は、他のノードに接続された分散システムのノード上で実施されてもよい。別の例として、本発明の実施形態は、複数のノードを有する分散コンピューティングシステム上で実施されてもよく、本発明の各部分は、分散コンピューティングシステム内の異なるノード上に位置してもよい。さらに、前述のコンピューティングシステム（７００）の１つまたは複数の要素が、遠隔地に配置され、ネットワークを介して他の構成要素に接続されてもよい。
【００４９】
図７Ｂには示されていないが、ノードは、バックプレーンを介して他のノードに接続されているサーバシャーシ内のブレードに対応し得る。別の例として、ノードはデータセンター内のサーバに対応し得る。別の例として、ノードは、共有メモリおよび／またはリソースを備えたコンピュータプロセッサまたはコンピュータプロセッサのマイクロコアに対応し得る。
【００５０】
ネットワーク（７２０）内のノード（例えば、ノードＸ（７２２）、ノードＹ（７２４））は、クライアントデバイス（７２６）に対してサービスを提供するように構成され得る。例えば、ノードは、クラウドコンピューティングシステムの一部であり得る。ノードは、クライアントデバイス（７２６）からリクエストを受信し、クライアントデバイス（７２６）にレスポンスを送信する機能を含み得る。クライアントデバイス（７２６）は、図７Ａに示されるコンピューティングシステムなどのコンピューティングシステムであり得る。さらに、クライアントデバイス（７２６）は、本発明の１つまたは複数の実施形態のすべてまたは一部を含み、かつ／または実行し得る。
【００５１】
図７Ａおよび７Ｂに記載されたコンピューティングシステムまたはコンピューティングシステムのグループは、本明細書に開示された様々な動作を実行するための機能を含み得る。例えば、コンピューティングシステム（単数または複数）は、同じシステムまたは異なるシステム上のプロセス間で通信を実行し得る。何らかの形式のアクティブまたはパッシブ通信を使用する様々なメカニズムにより、同じデバイス上のプロセス間でのデータ交換を容易にすることができる。これらのプロセス間通信の代表例には、ファイル、信号、ソケット、メッセージキュー、パイプライン、セマフォ、共有メモリ、メッセージパッシング、およびメモリマップドファイルの実装が含まれるが、これらに限定されない。
【００５２】
図７Ａにおけるコンピューティングシステムは、データリポジトリを実施し、かつ／またはデータリポジトリに接続され得る。例えば、データリポジトリの１つのタイプは、データベースである。データベースは、データの取得、変更、再編成、および削除を容易にするために構成された情報の集合である。データベース管理システム（ＤＢＭＳ）は、ユーザがデータベースを定義、作成、クエリ、更新するためのインタフェース、または管理データベースを提供するソフトウェアアプリケーションである。
【００５３】
ユーザまたはソフトウェアアプリケーションは、ステートメントまたはクエリをＤＢＭＳに送信し得る。次に、ＤＢＭＳはステートメントを解釈する。ステートメントは、情報の要求、ステートメントの更新、ステートメントの作成、ステートメントの削除などを行うための選択ステートメントであり得る。さらに、ステートメントは、データ、またはデータコンテナ（データベース、テーブル、レコード、列、ビュー、その他）、識別子（単数または複数）、条件（比較演算子）、関数（例えば、結合、完全結合、カウント、平均、その他）、ソート（例えば、昇順、降順）、またはその他を指定するパラメータを含み得る。ＤＢＭＳがステートメントを実行し得る。例えば、ＤＢＭＳは、ステートメントに応答するために、読み取り、書き込み、削除、またはそれらの任意の組み合わせのために、メモリバッファ、レファレンス、またはインデックスファイルにアクセスし得る。ＤＢＭＳは、永続的ストレージまたは非永続的ストレージからデータをロードして、クエリに応答するための計算を実行し得る。ＤＢＭＳは、結果（単数または複数）をユーザまたはソフトウェアアプリケーションに返し得る。
【００５４】
上記の機能の説明は、図７Ａのコンピューティングシステム、および図７Ｂのノードおよび／またはクライアントデバイスによって実行される機能のほんのいくつかの例を示している。本発明の１つまたは複数の実施形態を使用して、他の機能を実行し得る。
【００５５】
限られた数の実施形態に関して本発明を説明したが、本開示の利益を得た当業者は、本明細書に開示された本発明の範囲から逸脱しない他の実施形態を考案できることを理解するであろう。従って、本発明の範囲は、添付の特許請求の範囲によってのみ制限されるべきである。
【図１．１】
0006856914.tif 000002
【図１．２】
0006856914.tif 000003
【図２】
0006856914.tif 000004
【図３Ａ】
0006856914.tif 000005
【図３Ｂ】
0006856914.tif 000006
【図４】
0006856914.tif 000007
【図５】
0006856914.tif 000008
【図６】
0006856914.tif 000009
【図７】
0006856914.tif 000010