(57)【特許請求の範囲】
【請求項１】
画像検索の方法であって、
プロセッサにおいて、複数の選択されたオブジェクトを特定する情報を取得することと、
前記プロセッサにおいて、複数の幾何学的構成の候補のうちの１つの幾何学的構成の選択を受信することと、ここにおいて、各幾何学的構成の候補は、基準の位置に対するオブジェクトの分布を表す、
少なくとも１つのプロセッサによって、前記選択に応答して、複数のデジタル画像のなかから、前記選択された幾何学的構成に従って並べられている前記特定される複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定することと、
を備える方法。
【請求項２】
前記取得された情報は、前記複数の選択されたオブジェクトに関連付けられた少なくとも１つのラベルを含み、
前記少なくとも１つのデジタル画像を特定することは、前記複数のデジタル画像と関連付けられるメタデータ内で前記少なくとも１つのラベルを探索することを含む、
請求項１に記載の画像検索の方法。
【請求項３】
前記少なくとも１つのデジタル画像を特定することは、前記複数のデジタル画像と関連付けられるメタデータ内で、前記幾何学的構成の候補と関連付けられるラベルを探索することを備える、請求項１に記載の画像検索の方法。
【請求項４】
前記少なくとも１つのデジタル画像は、第１のビデオファイルからの複数のフレームと、第２のビデオファイルからの複数のフレームとを含む、請求項１に記載の画像検索の方法。
【請求項５】
前記複数の選択されたオブジェクトを特定する情報を前記取得することは、音声認識またはタッチスクリーンのうちの少なくとも１つを使用して実行される、請求項１に記載の画像検索の方法。
【請求項６】
前記基準の位置は、特定の位置空間の中の座標位置である、請求項１に記載の方法。
【請求項７】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令が、プロセッサによって実行されると、前記プロセッサに、請求項１乃至６のうちのいずれか１つの方法を実行させる命令を記憶する非一時的コンピュータ可読媒体。
【請求項８】
画像検索のための装置であって、
複数の選択されたオブジェクトを特定する情報を取得するための手段と、
複数の幾何学的構成の候補のうちの１つの幾何学的構成の選択を受信するための手段と、ここにおいて、各幾何学的構成の候補は、基準の位置に対するオブジェクトの分布を表す、
前記選択に応答して、複数のデジタル画像のなかから、前記選択された幾何学的構成に従って並べられている前記特定される複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定するための手段と、
を備える装置。
【請求項９】
前記取得された情報は、前記複数の選択されたオブジェクトに関連付けられた少なくとも１つのラベルを含み、
前記装置は、前記複数のデジタル画像と関連付けられるメタデータ内で前記少なくとも１つのラベルを探索するための手段を含む、請求項８に記載の装置。
【請求項１０】
前記装置は、前記複数のデジタル画像と関連付けられるメタデータ内で、前記幾何学的構成の候補と関連付けられるラベルを探索するための手段を備える、請求項８に記載の装置。
【請求項１１】
前記少なくとも１つのデジタル画像は、第１のビデオファイルからの複数のフレームと、第２のビデオファイルからの複数のフレームとを含む、請求項８に記載の装置。
【請求項１２】
前記複数の選択されたオブジェクトを特定する情報を取得するための前記手段は、音声認識またはタッチスクリーンのうちの少なくとも１つを使用して前記情報を取得するように構成される、請求項８に記載の装置。
【発明の詳細な説明】
【優先権の主張】
【０００１】
関連出願の相互参照
本出願は、その内容全体が参照により本明細書に明確に組み込まれる、同一出願人により所有される２０１３年１２月２０日に出願された米国仮特許出願第６１／９１９，６２７号、２０１４年８月１２日に出願された米国仮特許出願第６２／０３６，５０２号、２０１４年１０月１４日に出願された米国仮特許出願第６２／０６３，４９８号、および２０１４年１２月１８日に出願された米国非仮特許出願第１４／５７６，００６号の優先権を主張する。
【技術分野】
【０００２】
本開示は全般に、画像検索に関する。
【背景技術】
【０００３】
[0003]技術の進歩は、より小さく、より強力なコンピューティングデバイスをもたらした。たとえば、現在、小型で、軽量で、ユーザによって容易に持ち運ばれるポータブルワイヤレス電話、携帯情報端末（ＰＤＡ）、およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、携帯電話およびインターネットプロトコル（ＩＰ）電話などのポータブルワイヤレス電話機は、ワイヤレスネットワークを通じて音声パケットとデータパケットとを通信することができる。さらに、多くのそのようなワイヤレス電話は、内蔵されている他のタイプのデバイスを含む。たとえば、ワイヤレス電話はまた、デジタルスチルカメラと、デジタルビデオカメラと、デジタルレコーダと、オーディオファイルプレーヤとを含み得る。また、そのようなワイヤレス電話は、インターネットにアクセスするために使用され得るウェブブラウザアプリケーションなどのソフトウェアアプリケーションを含む、実行可能命令を処理することができる。したがって、これらのワイヤレス電話は、かなりのコンピューティング能力を含み得る。
【発明の概要】
【０００４】
[0004]一般的な構成による画像検索の方法は、複数の選択されたオブジェクトを特定する情報を取得することと、複数の幾何学的構成（geometrical arrangements）の候補のうちの１つを選択することとを含む。この方法はまた、少なくとも１つのプロセッサによって、前記選択に応答して、複数のデジタル画像のなかから、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定することを含む。命令を実行する機械にそのような方法を実行させる命令を有する、コンピュータ可読記憶媒体（たとえば、非一時的媒体）も開示される。
【０００５】
[0005]一般的な構成による画像検索のための装置は、複数の選択されたオブジェクトを特定する情報を取得するための手段と、複数の幾何学的構成の候補のうちの１つを選択するための手段とを含む。この装置はまた、複数のデジタル画像のなかから、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定するための手段を含む。
【０００６】
[0006]別の一般的な構成による画像検索のための装置は、（Ａ）複数の選択されたオブジェクトを特定する情報と、（Ｂ）複数の幾何学的構成の候補のうちの１つの選択とを取得するように構成される判別器を含む。方法はまた、複数のデジタル画像のなかから、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定するように構成される探索エンジンを含む。
【０００７】
[0007]開示される実施形態の少なくとも１つによってもたらされる１つの具体的な利点は、モバイルデバイス上での画像トラッキングとフレーム検索とを使用したユーザ体験の改善である。本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、「図面の簡単な説明」と、「発明を実施するための形態」と、「特許請求の範囲」とを含めて本出願全体を検討した後に明白になる。
【図面の簡単な説明】
【０００８】
【図１】電子デバイスを示すブロック図。
【図２Ａ】オブジェクトおよび検出モジュールの特定の例示的な実施形態を示すブロック図。
【図２Ｂ】図２のオブジェクトおよび検出モジュール内のプロセッサ実装コンポーネントの特定の例示的な実施形態を示すブロック図。
【図３】動きに基づくトラッキングとオブジェクト検出とを実行するための方法の特定の例示的な実施形態のフローチャート。
【図４】動きに基づくトラッキングを実行するための方法の特定の例示的な実施形態のフローチャート。
【図５】前方後方誤差に基づいて動きに基づくトラッキングにおけるトラッキング誤差を推定するための方法の特定の例示的な実施形態のフローチャート。
【図６】オブジェクト検出を実行するための方法の特定の例示的な実施形態のフローチャート。
【図７】異なるウィンドウサイズを有する画像ウィンドウの特定の例示的な実施形態の図。
【図８】オブジェクトトラッキングおよび検出モジュールの特定の例示的な実施形態を示すブロック図。
【図９】平滑化モジュールの特定の例示的な実施形態を示すブロック図。
【図１０】動きトラッキングにおける平滑化ジッタのための方法の特定の例示的な実施形態のフローチャート。
【図１１Ａ】一般的な構成によるメタデータを生成する方法Ｍ１００のフローチャート。
【図１１Ｂ】方法Ｍ１００の実装形態Ｍ１１０のフローチャート。
【図１１Ｃ】方法Ｍ１００の実装形態Ｍ１２０のフローチャート。
【図１１Ｄ】方法Ｍ１１０およびＭ１２０の実装形態Ｍ１３０のフローチャート。
【図１２】３つのオブジェクトを選択するための一連のユーザの動作の例を示す図。
【図１３】３つのオブジェクトを選択するための一連のユーザの動作の別の例を示す図。
【図１４】フレーム内のオブジェクトとオブジェクトの強調された表示の例を示す図。
【図１５Ａ】方向感知デバイスを使用して選択点を操作する例を示す図。
【図１５Ｂ】方向感知デバイスを使用して選択点を操作する例を示す図。
【図１５Ｃ】方向感知デバイスを使用して選択点を操作する例を示す図。
【図１６】実際の距離と比較されたときのオブジェクトの画像間の距離の不一致の例を示す図。
【図１７Ａ】オブジェクトの下部境界線へとオブジェクトの重心を投影して対応する決定された位置を得る例を示す図。
【図１７Ｂ】地面の決定された位置へのリンクされた点の投影の例を示す図。
【図１８Ａ】ピクセル座標空間における距離と地面における距離との対応付けを示す図。
【図１８Ｂ】ピクセル座標空間における距離と地面における距離との対応付けを示す図。
【図１９Ａ】バスケットボールコートの上面図。
【図１９Ｂ】コートの位置空間の不均一な分割のある例を示す図。
【図１９Ｃ】コートの位置空間の不均一な分割のある例を示す図。
【図１９Ｄ】コートの位置空間の不均一な分割のある例を示す図。
【図２０】オブジェクトトラッキングを使用したビデオ処理を示す別の特定の実施形態の図。
【図２１】クラスタ化に基づいてフレームを検索するために使用されるモバイルデバイスの画面の特定の実施形態を示す図。
【図２２】オブジェクトトラッキングを使用したビデオ処理方法の特定の例示的な実施形態の別のフローチャート。
【図２３】オブジェクトトラッキングを使用したビデオ処理方法の特定の例示的な実施形態のフローチャート。
【図２４】矩形座標を使用してオブジェクトの位置のためのメタデータを符号化する特定の実施形態を示す図。
【図２５】極座標を使用してオブジェクトの位置のためのメタデータを符号化する特定の実施形態を示す図。
【図２６】メタデータを符号化するための方法の特定の例示的な実施形態のフローチャート。
【図２７】オブジェクトトラッキングを使用したビデオ処理方法の特定の例示的な実施形態の別のフローチャート。
【図２８】オブジェクトトラッキングを使用したビデオ処理を示す別の特定の実施形態の図。
【図２９】オブジェクトトラッキングを使用したビデオ処理方法の特定の例示的な実施形態の別のフローチャート。
【図３０Ａ】一般的な構成による装置Ａ１００のブロック図。
【図３０Ｂ】装置Ａ１００の実装形態Ａ１１０のブロック図。
【図３０Ｃ】装置Ａ１００の実装形態Ａ１２０のブロック図。
【図３０Ｄ】装置Ａ１１０およびＡ１２０の実装形態Ａ１３０のブロック図。
【図３１】ビデオ処理技法を実行するように動作可能なコンポーネントを含むワイヤレスデバイスのブロック図。
【図３２Ａ】一般的な構成による装置ＭＦ１００のブロック図。
【図３２Ｂ】装置ＭＦ１００の実装形態ＭＦ１１０のブロック図。
【図３２Ｃ】装置ＭＦ１００の実装形態ＭＦ１２０のブロック図。
【図３２Ｄ】装置ＭＦ１１０およびＭＦ１２０の実装形態ＭＦ１３０のブロック図。
【図３３Ａ】テンプレートのセットの例を示す図。
【図３３Ｂ】テンプレートへの修正の例を示す図。
【図３４Ａ】選択されたオブジェクトの異なる編成の例を示す図。
【図３４Ｂ】一意ではないマッピングの例を示す図。
【図３４Ｃ】選択されたオブジェクトの一意な編成を示す図。
【図３５】決定の尺度のセットの例を示す図。
【図３６】決定の尺度のセットの別の例を示す図。
【図３７Ａ】方法Ｍ２００の実装形態Ｍ２００のフローチャート。
【図３７Ｂ】方法Ｍ１１０の実装形態Ｍ２１０のフローチャート。
【図３７Ｃ】方法Ｍ１２０の実装形態Ｍ２２０のフローチャート。
【図３７Ｄ】方法Ｍ１３０の実装形態Ｍ２３０のフローチャート。
【図３８Ａ】一般的な構成によるメタデータを生成するための装置Ａ１００のブロック図。
【図３８Ｂ】装置Ａ１００の実装形態Ａ１１０のブロック図。
【図３８Ｃ】装置Ａ１００の実装形態Ａ１２０のブロック図。
【図３８Ｄ】装置Ａ１１０およびＡ１２０の実装形態Ａ１３０のブロック図。
【図３８Ｅ】装置Ａ１００の実装形態Ａ２００のブロック図。
【図３８Ｆ】装置Ａ１１０の実装形態Ａ２１０のブロック図。
【図３８Ｇ】装置Ａ１２０の実装形態Ａ２２０のブロック図。
【図３９Ａ】装置Ａ１３０の実装形態Ａ２３０のブロック図。
【図３９Ｂ】装置Ａ１００の実装形態Ａ３００のブロック図。
【図３９Ｃ】装置Ａ２００の実装形態Ａ３１０のブロック図。
【図３９Ｄ】装置Ａ２３０の実装形態Ａ３３０のブロック図。
【図４０Ａ】一般的な構成によるメタデータを生成するための装置ＭＦ１００のブロック図。
【図４０Ｂ】装置ＭＦ１００の実装形態ＭＦ１１０のブロック図。
【図４０Ｃ】装置ＭＦ１００の実装形態ＭＦ１２０のブロック図。
【図４０Ｄ】装置ＭＦ１００の実装形態ＭＦ１３０のブロック図。
【図４０Ｅ】装置ＭＦ１００の実装形態ＭＦ２００のブロック図。
【図４０Ｆ】装置ＭＦ１１０の実装形態ＭＦ２１０のブロック図。
【図４０Ｇ】装置ＭＦ１２０の実装形態ＭＦ２２０のブロック図。
【図４１Ａ】装置ＭＦ１３０の実装形態ＭＦ２３０のブロック図。
【図４１Ｂ】装置ＭＦ１００の実装形態ＭＦ４００のブロック図。
【図４１Ｃ】装置ＭＦ１００の実装形態ＭＦ３００のブロック図。
【図４１Ｄ】装置ＭＦ２００の実装形態ＭＦ３１０のブロック図。
【図４１Ｅ】装置ＭＦ２３０の実装形態ＭＦ３３０のブロック図。
【図４２】オブジェクトトラッキングを使用したビデオ処理を示す特定の実施形態の図。
【図４３】オブジェクトの位置のためのメタデータを符号化する特定の実施形態を示す図。
【図４４】ビデオ処理方法の特定の実施形態を示すフローチャート。
【図４５Ａ】一般的な構成による方法Ｍ５００のフローチャート。
【図４５Ｂ】一般的な構成による装置Ａ５００のブロック図。
【図４５Ｃ】一般的な構成による装置ＭＦ５００のブロック図。
【発明を実施するための形態】
【０００９】
[0081]ワイヤレス電話または他のモバイルデバイスは、カメラによってビデオストリームをキャプチャし、ならびに／または、別のデバイスから、および／もしくはネットワークを介して、ビデオストリームを受信することができる。ビデオストリーム内のオブジェクトをトラッキングするための、新しい特徴および／または改善された特徴が望まれ得る。
【００１０】
[0082]文脈によって明確に限定されない限り、「信号」という用語は、本明細書では、ワイヤ、バス、または他の伝送媒体上で表されるメモリ位置（またはメモリ位置のセット）の状態を含む、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「発生（generating）」という用語は、本明細書では、算出（computing）または別様の生成（producing）のような、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「計算（calculating）」という用語は、本明細書では、複数の値からの算出（computing）、評価、推定、および／または選択のような、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「取得（obtaining）」という用語は、計算（calculating）、導出、（たとえば、外部デバイスからの）受信、および／または（たとえば、記憶要素のアレイからの）検索のような、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「選択（selecting）」という用語は、２つ以上のセットの少なくとも１つ、およびすべてよりも少数の識別、指示、適用、および／または使用のような、その通常の意味のいずれをも示すために使用される。「備える（comprising）」という用語は、本明細書と特許請求の範囲とにおいて使用される場合、他の要素または動作を除外するものではない。「に基づく」（「ＡはＢに基づく」など）という用語は、（ｉ）「から導出される」（たとえば、「ＢはＡの前身である」）、（ｉｉ）「少なくとも〜に基づく」（たとえば、「Ａは少なくともＢに基づく」）、および特定の文脈で適当な場合に、（ｉｉｉ）「に等しい」（たとえば、「ＡはＢに等しい」）という場合を含む、その通常の意味のいずれかを示すのに使用される。同様に、「に応答して」という用語は、「少なくとも〜に応答して」を含む、その通常の意味のいずれをも示すために使用される。
【００１１】
[0083]別段規定されていない限り、特定の特徴を有する装置の動作のいずれの開示も、類似の特徴を有する方法を開示する（その逆も同様）ことが明確に意図され、特定の構成による装置の動作のいずれの開示も、類似の構成による方法を開示する（その逆も同様）ことが明確に意図される。「構成」という用語は、その具体的な文脈によって示されるように、方法、装置、および／またはシステムに関して使用され得る。「方法」、「処理」、「手順」、および「技法」という用語は、具体的な文脈によって別段に規定されていない限り、一般的、および互換的に使用される。「装置」および「デバイス」という用語も、具体的な文脈によって別段に規定されていない限り、一般的、および互換的に使用される。「要素」および「モジュール」という用語は、一般に、より大きな構成の一部分を示すために使用される。文脈によって明確に限定されない限り、「システム」という用語は、本明細書では、「共通の目的を果たすために相互作用する要素のグループ」を含む、その通常の意味のいずれをも示すために使用される。
【００１２】
[0084]別段に規定されていない限り、「一連」という用語は、２つ以上の項目の順列を示すために使用される。定冠詞によって最初に導入されない限り、請求要素を修飾するのに使用される順序を示す用語（たとえば、「第１の」、「第２の」、「第３の」など）は、それ自体、別のものに対する請求要素の優先順位または順序を示しておらず、請求要素を、（順序を示す用語の使用を別にすれば）同じ名前を有する別の請求要素から区別しているだけである。文脈によって明確に限定されない限り、「複数」および「セット」という用語の各々は、本明細書では、１よりも大きい整数量を示すために使用される。
【００１３】
[0085]図１を参照すると、電子デバイス１０２を示すブロック図が示される。電子デバイス１０２はまた、ワイヤレス通信デバイス、モバイルデバイス、移動局、加入者局、クライアント、クライアント局、ユーザ機器（ＵＥ）、遠隔局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニットなどとも呼ばれ得る。電子デバイスの例としては、ラップトップまたはデスクトップコンピュータ、携帯電話、スマートフォン、ワイヤレスモデム、電子リーダー、タブレットデバイス、ゲームシステムなどがある。これらのデバイスのいくつかは、１つまたは複数の業界規格に従って動作し得る。
【００１４】
[0086]スマートフォンまたはタブレットコンピュータのような電子デバイス１０２は、カメラを含み得る。カメラは、画像センサ１１４と、光学系１１８の視野内に位置するオブジェクトの画像を画像センサ１１４上に合焦させる光学系１１８（たとえば、レンズ）とを含み得る。電子デバイス１０２はまた、カメラソフトウェアアプリケーションと表示画面とを含み得る。カメラアプリケーションが動作しているとき、光学系１１８の視野内に位置するオブジェクトの画像は画像センサ１１４によって記録され得る。画像センサ１１４によって記録されている画像は、表示画面上に表示され得る。これらの画像は、任意の所与の瞬間において、光学系１１８の視野内に位置するオブジェクトが表示画面上に表示されるように、比較的高いフレームレートで高速に連続して表示され得る。実施形態はキャプチャされたフレーム（たとえば、ビデオフレーム）に関して説明されるが、本明細書で論じられる技法は、任意のデジタル画像に対して使用され得る。したがって、「フレーム」および「デジタル画像」という用語は、本明細書において互換的に使用され得る。
【００１５】
[0087]カメラアプリケーションのユーザインターフェース１２０は、表示画面上に表示されている１つまたは複数のオブジェクトがトラッキングされることを可能にし得る。電子デバイス１０２のユーザは、トラッキングされるべきである（１つまたは複数の）オブジェクトを選択することを許可され得る。さらに、（１つまたは複数の）選択されたオブジェクトは、オブジェクトを後で検出するための基準として使用され得る。
【００１６】
[0088]一構成では、ディスプレイは、たとえば、指、スタイラスまたは他のツールによる、物理的タッチからの入力を受信するタッチスクリーン１１６である。タッチスクリーン１１６は、トラッキングされるべきターゲットオブジェクトを定義するタッチ入力を受け取り得る。たとえば、電子デバイス１０２が、対象の動物を含む自然のシーンをキャプチャしている場合、ユーザは、必要な場合、その動物がトラッキングまたは検出されるべきであるという希望を示すバウンディングボックスをその動物の周りに描き得る。ターゲットオブジェクトは、任意の好適な方法で選択され得る。たとえば、トラッキング、検出、または両方が行われるべきであるターゲットオブジェクトを選択するために、顔認識、歩行者認識などが使用され得る。一構成では、複数のオブジェクトがトラッキングされ得る。ユーザインターフェース１２０は、たとえば、１つまたは複数のターゲットオブジェクトを選択する（すなわち、定義する）ために、ユーザがオブジェクトトラッキングおよび検出モジュール１０４と対話することを可能にし得る。タッチスクリーン１１６は、ビューファインダ１３１を含み得る。ビューファインダ１３１は、ビデオストリームまたはライブフィードを表示するタッチスクリーン１１６の部分を指し得る。たとえば、ビューファインダ１３１は、電子デバイス１０２上のカメラによって取得されたビューを表示することができる。
【００１７】
[0089]電子デバイス１０２は、ビデオフレーム中の選択されたオブジェクトをトラッキングし、および／またはそのオブジェクトを検出するための、オブジェクトトラッキングおよび検出モジュール１０４を含み得る。オブジェクトトラッキングおよび検出モジュール１０４は、１つまたは複数のオブジェクトをトラッキングするための動きトラッカー１０６を含み得る。動きトラッカー１０６は、前のビデオフレームと現在のビデオフレームとの間でのターゲットオブジェクトの位置および／または位置の変化を推定するために、フレームごとに画像（たとえば、ビデオフレーム）上の点の動きをトラッキングするために、動きに基づき得る。
【００１８】
[0090]オブジェクトトラッキングおよび検出モジュールはまた、ビデオフレーム中のオブジェクトを検出するためのオブジェクト検出器１０８を含み得る。オブジェクト検出器１０８は、現在のビデオフレームのすべてまたは一部分を、（たとえば、ビデオフレームのシーケンス中の）キャプチャされた前のビデオフレーム１１２の選択されたオブジェクトまたは部分と比較することによって、オブジェクトを検出するために、動きに基づくモデルではなく、オブジェクトモデルを使用し得る。オブジェクト検出器１０８は、ビデオフレーム内の複数のオブジェクトを検出するために使用され得る。
【００１９】
[0091]オブジェクトトラッキングおよび検出モジュール１０４は、メモリバッファ１１０も含み得る。メモリバッファ１１０は、１つまたは複数のキャプチャされたフレームと、キャプチャされたビデオフレームと関連付けられるデータとを記憶し得る。一例では、メモリバッファ１１０は、前のキャプチャされたビデオフレーム１１２を記憶し得る。オブジェクトトラッキングおよび検出モジュール１０４は、動きに基づくトラッキングおよび／またはオブジェクト検出を実行する際に、キャプチャされた前のビデオフレーム１１２についての、メモリバッファ１１０から与えられたデータを使用し得る。ターゲットオブジェクトをより正確にトラッキングおよび／または検出するように動きに基づくトラッキングとオブジェクト検出とを調整するために、メモリバッファ１１０からのフィードバックを介して、データが動きトラッカー１０６またはオブジェクト検出器１０８に与えられ得る。たとえば、メモリバッファ１１０は、オブジェクトをトラッキングまたは検出するときにオブジェクトの位置とサイズとをより正確に特定するために使用され得る１つまたは複数のパラメータを動きトラッカー１０６およびオブジェクト検出器１０８に与えるために、位置とウィンドウサイズのデータを動きトラッカー１０６およびオブジェクト検出器１０８に与え得る。
【００２０】
[00092]上で述べられたように、電子デバイス１０２は動きに基づくトラッキングを実行し得る。動きに基づくトラッキングは、様々な方法を使用して実行され得る。一例では、トラッキングはメジアンフロー方法によって実行され、その方法では、動きトラッカー１０６は、画像のペアＩt、Ｉt+1（たとえば、ビデオフレーム）とバウンディングボックスβtとを受け入れ、バウンディングボックスβt+1を出力する。点のセットがバウンディングボックスβt内の矩形格子上で初期設定されてよく、ＩtとＩt+1との間の希薄な動きフローを生成するためにそれらの点がトラッキングされてよい。点予測の品質が推定されてよく、各点が誤差を割り当てられてよい。最悪の予測の一部分（たとえば、５０％）はフィルタで除去されてよく、残りの予測は、バウンディングボックス全体の変位を推定するために使用される。動きトラッカー１０６は、電子デバイス１０２によってキャプチャされた各ビデオフレームに対する動きに基づくトラッキングを実行し得る。同様の方法において、動きに基づくトラッキングは、１つまたは複数の勾配（たとえば、ｘ勾配およびｙ勾配）を計算すること、および時間勾配を計算するためにフレームのペア間の差を使用すること、および現在のビデオフレーム内のターゲットオブジェクトを正確にトラッキングするために複数の勾配値を使用することによって実行され得る。動きに基づくトラッキングに関するさらなる詳細が、以下で与えられる。
【００２１】
[00093]動きに基づくトラッキングを実行するとき、動きトラッカー１０６は、動きトラッキング方法の計算または推定された精度に基づいてトラッキング信頼性値を決定し得る。いくつかの構成では、トラッキング信頼性値は、ターゲットオブジェクトが現在のビデオフレームまたはそのビデオフレームの定義されたウィンドウ内に入る可能性または確率に対応する、０から１の間の実数であり得る。トラッキング信頼性値は、トラッキング閾値と比較され得る。トラッキング信頼性値がトラッキング閾値よりも大きい場合、ターゲットオブジェクトが現在のビデオフレーム内で見出される可能性は高いことがある。代替的に、トラッキング信頼性値がトラッキング閾値以下である場合、ターゲットオブジェクトが現在のビデオフレーム内で見出される可能性は低いかまたは不確実であることがある。トラッキング信頼性値を決定するための様々な方法が使用され得る。一構成では、トラッキング信頼性値は、現在のビデオフレーム中のトラッキングされたウィンドウ（たとえば、トラッキングパッチウィンドウ）と、前にキャプチャされたビデオフレームからの前に記憶された画像パッチとの間の正規化相互相関（ＮＣＣ：normalized cross correlation）を計算することによって決定される。トラッキング信頼性値を決定することに関するさらなる詳細が、以下で与えられる。
【００２２】
[00094]電子デバイス１０２は、オブジェクト検出も実行し得る。オブジェクト検出は、様々な方法を使用して実行され得る。一構成では、オブジェクト検出はスライディングウィンドウ方法を使用して実行され、その方法では、ターゲットオブジェクトが現在のビデオフレーム中で、または現在のビデオフレームの特定のウィンドウもしくはウィンドウのサブセット内で見出されるかどうかを決定するために、ビデオフレーム内のウィンドウの複数のサブセットのコンテンツが調査される。すべての可能なウィンドウ位置およびサイズのすべてまたはサブセットが、ビデオフレーム中で探索され得る。たとえば、各ウィンドウはデータのピクセルに対応してよく、オブジェクト検出器１０８は、ターゲットオブジェクトが特定のウィンドウまたはサブウィンドウ内にある信頼性のレベル（たとえば、バイナリインジケータ）を決定するために、データのピクセルを使用して１つまたは複数の計算を実行することができる。１つまたは複数のウィンドウと関連付けられる信頼性のレベルに基づいて、検出器の信頼性値が現在のビデオフレームのために取得され得る。さらに、オブジェクト検出の精度または効率を増加させるために、追加の技法が使用され得る。これらの技法のいくつかが、以下で説明される。
【００２３】
[00095]いくつかの構成では、動きトラッカー１０６およびオブジェクト検出器１０８は、並列にではなく順次的に動作し得る。たとえば、電子デバイス１０２は、選択されたオブジェクト（たとえば、ターゲットオブジェクト）の動きに基づくトラッキングを実行し、続いて、トラッキングされたパラメータに基づいて、選択されたオブジェクトのオブジェクト検出を実行し得る。一構成では、電子デバイス１０２は、現在のビデオフレームに対する動きに基づくトラッキングを実行し得る。電子デバイス１０２は次いで、トラッキングされたパラメータに基づいて、現在のフレームに対するオブジェクト検出を実行し得る。一構成では、トラッキングされたパラメータは、信頼性値と閾値との比較に基づき得る。たとえば、トラッキング信頼性値がトラッキング閾値を下回る場合、電子デバイス１０２はオブジェクト検出を実行し得る。代替的に、トラッキング信頼性値がトラッキング閾値を上回る場合、電子デバイス１０２は、現在のビデオフレームのためのオブジェクト検出をスキップし、現在のビデオフレームの動きトラッキング結果に基づいて次のビデオフレームに対する動きに基づくトラッキングを実行し続け得る。言い換えれば、オブジェクト検出は、動きに基づくトラッキングがあまり良好でなく、たとえば、トラッキング信頼性値がトラッキング閾値を下回るときのみ、実行され得る。オブジェクト検出が実行されるかどうかおよび／またはどのように実行されるかを考慮するとき、他のトラッキングされたパラメータが使用され得る。トラッキングされるパラメータの例は、ターゲットオブジェクトの領域、ウィンドウ位置、ウィンドウサイズ、スケールレベル、ターゲットサイズ、トラッキングおよび／もしくは検出信頼性値、または、ターゲットオブジェクトの効率的なトラッキングおよび／または検出を支援するために使用され得る他のパラメータを含み得る。
【００２４】
[00096]トラッキングされたパラメータに基づいて動きに基づくトラッキングとオブジェクト検出とを順次的に実行することは、電子デバイス１０２が、大量の計算を実行することなくビデオフレーム内のターゲットオブジェクトをトラッキングおよび／または検出することを可能にし得る。具体的には、動きに基づくトラッキングはオブジェクト検出よりも計算集約的でないことがあるので、電子デバイス１０２はオブジェクト検出の実行をスキップすることができ、ここで、現在のビデオフレーム内のターゲットオブジェクトを正確にトラッキングするために動きに基づくトラッキングが使用され得る。たとえば、トラッキング信頼性値が特定の目標閾値を超えると電子デバイス１０２が決定する場合、電子デバイス１０２は、現在のビデオフレーム内のターゲットオブジェクトの位置または存在を正確に決定するために、現在のビデオフレームに対してオブジェクト検出が必要とされないことを決定し得る。さらに、オブジェクト検出は多くの場合有益であり得るので、電子デバイス１０２は、ターゲットオブジェクトをより正確に検出するために、またはトラッキング閾値との比較に基づく、動きに基づくトラッキングが不十分である場合、オブジェクト検出を実行するために、オブジェクト検出が使用され得る場合を決定し得る。
【００２５】
[00097]いくつかの構成では、現在のビデオフレームに対するオブジェクト検出をスキップするのではなく、メモリバッファ１１０によって与えられる動きに基づくトラッキングの結果および／または追加の情報が、オブジェクト検出を実行するプロセスを限定または調整するために使用され得る。たとえば、ターゲットオブジェクトが、動きに基づくトラッキング方法を使用して正確にトラッキングされ得ない場合、電子デバイス１０２は、依然として、動きに基づくトラッキングを介して与えられたパラメータがない場合よりも少ない計算能力を使用してオブジェクトをより正確に検出するためにオブジェクト検出中に使用され得る、ターゲットオブジェクトと関連付けられる位置、ウィンドウスケールまたは他のトラッキングされたパラメータについての情報を推定または取得し得る。したがって、動きに基づくトラッキングが、トラッキング閾値を超えるトラッキング信頼性値を与えない場合でも、動きに基づくトラッキングの結果は、その後にオブジェクト検出を実行するときに使用され得る。
【００２６】
[00098]電子デバイス１０２上のビューファインダ１３１は、第１のトラッキングエリア１３３と第２のトラッキングエリア１３５とを含み得る。第１のトラッキングエリア１３３と第２のトラッキングエリア１３５の両方が、タッチスクリーン１１６を使用してユーザによって指定され得る。たとえば、ユーザは、第１のトラッキングエリア１３３および第２のトラッキングエリア１３５の所望の位置へと、タッチスクリーン１１６上の焦点リングをドラッグすることができる。必要とはされないが、トラッキングエリアの１つは静止していてよい。たとえば、第１のトラッキングエリア１３３はオブジェクト（たとえば、歩いている人）をトラッキングすることができ、第２のトラッキングエリア１３５は静止している木をカバーすることができる。一構成では、第２のトラッキングエリア１３５は、電子デバイス１０２上のタッチスクリーン１１６全体をカバーすることができる。
【００２７】
[00099]電子デバイス１０２は、ビデオ処理モジュール１３７を含み得る。ビデオ処理モジュール１３７は、重複（オーバラップ）１４３を含み得る。重複１４３は、第１のトラッキングエリア１３３と第２のトラッキングエリア１３５の重複（オーバラップ）の量を反映し得る。たとえば、第１のトラッキングエリア１３３および第２のトラッキングエリア１３５が互いにまったく重複しない場合、重複１４３は０％であり得る。同様に、第１のトラッキングエリア１３３が第２のトラッキングエリア１３５と完全に重複する場合（または、どちらのトラッキングエリアがより大きいかによっては、第２のトラッキングエリア１３５が第１のトラッキングエリア１３３と完全に重複する場合）、重複１４３は１００％であり得る。ビデオ処理モジュール１３７は、閾値１４５を含み得る。図１３に関して説明されるように、重複１４３は、ビデオ処理が実行されるべきかどうかを決定するために、閾値１４５と比較され得る。
【００２８】
[00100]ビデオ処理モジュール１３７はまた、画面区分１４７の機能を含み得る。たとえば、画面区分１４７は、図１１、図１３、図１５、および図２１に関して説明されるように、第１のトラッキングエリア１３３および第２のトラッキングエリア１３５と関連付けられる個々のビデオストリームを表示するために、ビューファインダ１３２を複数のウィンドウへと区分することができる。ビデオ処理モジュール１３７はまた、幾何学的配置（geometry）トラッキング１４９の機能を含み得る。たとえば、幾何学的配置トラッキング１４９の機能は、図１７および図１８に関して説明されるように、第１のトラッキングエリア１３３と第２のトラッキングエリア１３５との間の幾何学的配置をトラッキングすることができる。幾何学的配置は、ビューファインダ１３１上に表示され得る。ビデオ処理モジュール１３７はまた、クラスタ情報１５１の機能を含み得る。クラスタ情報１５１の機能は、幾何学的配置と関連付けられる少なくとも１つのパラメータ（たとえば、重心）に基づいてクラスタを生成することができる。たとえば、各クラスタは、図１７および図１８に関して説明されるように、第１のトラッキングエリア１３３と第２のトラッキングエリア１３５との間で実質的に同様の幾何学的配置を有するビデオフレームを含み得る。
【００２９】
[00101]図２Ａを参照すると、オブジェクトトラッキングおよび検出モジュール２０４を示すブロック図が示されている。オブジェクトトラッキングおよび検出モジュール２０４は、電子デバイスまたはワイヤレスデバイス内に実装され得る。オブジェクトトラッキングおよび検出モジュール２０４は、オプティカルフローモジュール２２６とトラッキング信頼性値２２８とを有する動きトラッカー２０６を含み得る。オブジェクトトラッキングおよび検出モジュール２０４は、スキャナロケータ２３０と、スキャナスケーラ２３６と、分類器２３８と、検出信頼性値２４０とを有するオブジェクト検出器２０８も含み得る。メモリバッファ２１０は、動きトラッカー２０６とオブジェクト検出器２０８とに与えられ得るキャプチャされた前のビデオフレーム２１２と関連付けられるデータを記憶し得る。オブジェクトトラッキングおよび検出モジュール２０４、動きトラッカー２０６、オブジェクト検出器２０８、ならびにメモリバッファ２１０は、図１に関して上記で説明されたオブジェクトトラッキングおよび検出モジュール１０４、動きトラッカー１０６、オブジェクト検出器１０８、ならびにメモリバッファ１１０の構成であり得る。
【００３０】
[00102]動きトラッカー２０６は、現在のビデオフレーム（Ｎ）２２４に対する動きに基づくトラッキングを実行するために使用され得る。たとえば、前のビデオフレーム（Ｎ−１）２２２および現在のビデオフレーム（Ｎ）２２４が（たとえば、電子デバイス１０２によって）受信され得る。前のビデオフレーム（Ｎ−１）２２２は、ビデオフレームのシーケンス中の現在のビデオフレーム（Ｎ）２２４の直前にあり得る。追加のビデオフレームが、オブジェクトトラッキングおよび検出モジュール２０４によって取得され処理され得る。前のビデオフレーム（Ｎ−１）２２２は、動きトラッカー２０６に与えられ得る。さらに、メモリバッファ２１０は、本明細書ではキャプチャされた前のビデオフレーム２１２と呼ばれる、前のビデオフレーム（Ｎ−１）２２２と関連付けられるデータを記憶し得る。いくつかの構成では、メモリバッファ２１０は、電子デバイス１０２から（たとえば、カメラから）前のビデオフレーム（Ｎ−１）２２２についての情報を直接取得し得る。メモリバッファ２１０はまた、融合モジュール２６０から前のビデオフレーム（Ｎ−１）２２２についてのトラッキング結果を取得することができ、トラッキング結果は、オブジェクトが前のビデオフレーム（Ｎ−１）２２２の中のどこでトラッキングおよび／または検出されたかを指定し得る。前のビデオフレーム（Ｎ−１）２２２または他の前にキャプチャされたビデオフレームについてのこの情報は、メモリバッファ２１０に記憶され得る。
【００３１】
[00103]動きトラッカー２０６はその後、ビデオフレームのシーケンス中の現在のビデオフレーム（Ｎ）２２４を受信し得る。動きトラッカー２０６は、（たとえば、メモリバッファ２１０から与えられた情報を使用して）現在のビデオフレーム（Ｎ）２２４を前のビデオフレーム（Ｎ−１）２２２と比較し得る。動きトラッカー２０６は、オプティカルフローモジュール２２６を使用して、現在のビデオフレーム（Ｎ）２２４上のオブジェクトの動きをトラッキングし得る。オプティカルフローモジュール２２６は、現在のビデオフレーム（Ｎ）２２４上のオブジェクトの動きに基づくトラッキングを実行するためのハードウェアおよび／またはソフトウェアを含み得る。前のビデオフレーム（Ｎ−１）２２２と現在のビデオフレーム（Ｎ）２２４とを比較することによって、動きトラッカー２０６は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４中にある可能性と関連付けられるトラッキング信頼性値２２８を決定し得る。一例では、トラッキング信頼性値２２８は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４内に、または現在のビデオフレーム（Ｎ）２２４内のウィンドウ内にある確実性の百分率に基づく（たとえば、０から１の間の）実数である。
【００３２】
[00104]オブジェクト検出器２０８は、現在のビデオフレーム（Ｎ）２２４上のオブジェクトを検出するために使用され得る。たとえば、オブジェクト検出器２０８は、ビデオフレームのシーケンス中の現在のビデオフレーム（Ｎ）２２４を受信し得る。オブジェクト検出器２０８は、トラッキングされたパラメータに基づいて現在のビデオフレーム（Ｎ）２２４に対するオブジェクト検出を実行し得る。トラッキングされたパラメータは、ターゲットオブジェクトが正確にトラッキングされている可能性に対応するトラッキング信頼性値２２８を含み得る。より具体的には、トラッキングされたパラメータは、トラッキング信頼性値２２８とトラッキング閾値２５０との比較を含み得る。トラッキングされたパラメータは、メモリバッファ２１０から与えられた情報も含み得る。オブジェクトを検出するときに使用され得るトラッキングされたパラメータのいくつかの例は、領域、ウィンドウ位置、ウィンドウサイズ、またはオブジェクト検出を実行するときにパラメータとしてオブジェクト検出器２０８によって使用され得る他の情報を含む。
【００３３】
[00105]オブジェクト検出器２０８は、スキャナロケータ２３０を含み得る。スキャナロケータ２３０は、ウィンドウ位置選択器２３２とランダマイザ２３４とを含み得る。ウィンドウ位置選択器２３２は、ビデオフレーム内の複数のウィンドウを選択し得る。たとえば、ビデオフレームは、関連する位置とサイズとを各々が有する、複数のウィンドウを含み得る。一構成では、各ビデオフレームは、ビデオフレーム中の総ピクセルの一部分を各々が含む、複数の（たとえば、約１０，０００個の）重複するウィンドウに分割される。代替的に、任意の好適な数のウィンドウがあってよく、それらは重複しないことがある。スキャナロケータ２３０内のウィンドウ位置選択器２３２は、ターゲットオブジェクトを識別することをその中で試みる、ウィンドウの位置を選択し得る。ランダマイザ２３４は、オブジェクトを検出するために異なるサイズおよび位置のウィンドウをランダムに選択し得る。いくつかの構成では、ランダマイザ２３４は、ビデオフレーム内のウィンドウをランダムに選択する。代替的に、ランダマイザ２３４は、１つまたは複数の要因に基づいてウィンドウをより正確に選択し得る。たとえば、ランダマイザ２３４は、オブジェクトが大抵位置する領域、サイズまたは概略的な位置に基づいて、ウィンドウの選択を限定し得る。この情報は、メモリバッファ２１０を介して取得されてよく、または、完全に依拠するのに十分正確ではないが、オブジェクト検出を実行するときに役立つ情報を与え得る、動きに基づくトラッキングを介して取得され得る。したがって、ランダマイザ２３４は、探索すべき複数のウィンドウをランダムに選択し得るが、ウィンドウの選択は、オブジェクト検出器２０８に与えられた情報に基づいて限定され、したがって完全にランダムではないことがある。
【００３４】
[00106]オブジェクト検出器２０８は、あるサイズのウィンドウを引き出すかまたは選択するために使用され得る、スキャナスケーラ２３６も含み得る。ウィンドウサイズは、オブジェクトを検出するとき、または画像が特定のウィンドウ内にあるかどうかを検出するためにウィンドウの選択を元の画像と比較するとき、ウィンドウのサイズを狭くするためにスキャナロケータ２３０によって使用され得る。スキャナスケーラ２３６は、オブジェクトを定義するときに初めにあるサイズまたはスケールレベルの１つもしくは複数のウィンドウを選択し、または代替的に、メモリバッファ２１０から与えられた情報に基づいて、あるサイズまたはスケールレベルの１つもしくは複数のウィンドウを引き出し得る。
【００３５】
[00107]分類器２３８は、ターゲットオブジェクトの一部またはすべてが特定のウィンドウ中で見出されるどうかを決定するために使用され得る。いくつかの構成では、分類器２３８は、ターゲットオブジェクトが特定のウィンドウまたはサブウィンドウ内で検出されるかどうかを示すために、各ウィンドウについてバイナリ値を生成し得る。この分類（たとえば、バイナリ分類）は、オブジェクト検出器２０８によって探索された各ウィンドウに対して実行され得る。具体的には、分類器２３８は、オブジェクトが検出される各ウィンドウに対してバイナリ１を生成し、オブジェクトが検出されない各ウィンドウに対してバイナリ０を生成し得る。１および０の数または組合せに基づいて、オブジェクト検出器２０８は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４内に存在する可能性を示す検出信頼性値２４０を決定し得る。いくつかの構成では、検出信頼性値２４０は、オブジェクトが正確に検出された百分率または確率を示す０から１の間の実数である。
【００３６】
[00108]オブジェクト検出器２０８は、領域、ターゲットサイズ、ウィンドウサイズ、スケールレベル、ウィンドウ位置、および１つまたは複数の信頼性値を含む、様々なトラッキングされたパラメータに従ってオブジェクト検出を実行し得る。ビデオフレームのウィンドウまたはウィンドウのサブセットが探索され、オブジェクト検出器２０８が、各々の探索されたウィンドウに対するバイナリ値を取得すると、オブジェクト検出器２０８は、最高の信頼性を有する現在のビデオフレーム上のウィンドウサイズならびに位置または領域を決定し得る。この位置およびウィンドウサイズは、ターゲットオブジェクトをより正確にトラッキングおよび／または検出するために後のトラッキングおよび検出において使用され得る。
【００３７】
[00109]様々な技法が、ターゲットオブジェクトを検出する際にオブジェクト検出器２０８によって使用され得る。一構成では、ターゲットオブジェクトを検出することは、あらゆる可能なウィンドウ位置およびあらゆる可能なウィンドウサイズにおいてウィンドウのためにバイナリ分類を実行することを含み得る。しかしながら、あらゆる可能なウィンドウを探索することはリソース集約的である。したがって、別の構成では、オブジェクト検出器は、ビデオフレーム中のすべての可能なウィンドウではなく、ウィンドウ位置およびサイズのサブセットを探索し得る。たとえば、オブジェクト検出器２０８は、すべての可能なウィンドウの１％を探索し得る。次いで、検出が不成功である（たとえば、検出信頼性値２４０が検出閾値２５２よりも小さい）場合、後のキャプチャされたフレームにおいて、より高い百分率のウィンドウ位置、たとえば２％が探索され得る。探索されるウィンドウ位置の百分率の刻みは、均一であってよく、不均一であってよく、低速または高速であってよく、すなわち、連続するフレームが、１％、２％、３％、４％または１％、２％、４％、８％を有し得る。一構成では、探索されるフレームの百分率は、高い検出信頼性値に応答して極めて高く（たとえば、８０％、９０％、１００％）、すなわち、ターゲットオブジェクトが次のビデオフレームであることを保証するように、設定され得る。たとえば、探索されるフレームの百分率は、検出およびトラッキング閾値２５６を超える検出およびトラッキング信頼性値に応答して、少なくとも８０％に飛び得る。代替的に、百分率は、６０％、７０％、９０％などに飛び得る。加えて、検出およびトラッキング閾値の任意の好適な値、たとえば、０．６、０．６５、０．７、０．７５、０．８、０．８５などが使用され得る。さらに、探索されるウィンドウの百分率は、ランダマイザ２３４（乱数発生器）に基づいてランダムに決定されてよく、たとえば、１％から１５％の間のランダムな百分率のウィンドウが、キャプチャされたフレーム中で探索され得る。すべてのウィンドウ位置のサブセットを探索することによって、オブジェクト検出は、電子デバイス１０２において少数のリソースを使用し得る。
【００３８】
[00110]本明細書で説明される技法は、各位置に対してウィンドウサイズのサブセットを探索し得る。各ウィンドウサイズは、本明細書ではスケールレベルと呼ばれることがあり、各スケールレベルは特定のウィンドウサイズに対応する。たとえば、２０個の可能なスケールレベルがあり得る。すべての２０個のスケールレベルを探索するのではなく、スケールレベルまたはウィンドウサイズのサブセットが各ウィンドウ位置において探索され得る。
【００３９】
[00111]本明細書で説明される技法は、探索されるウィンドウ位置およびサイズを調整するためにメモリバッファ２１０からのフィードバックも使用し得る。言い換えれば、その中でターゲットオブジェクトが正常に検出および／またはトラッキングされた、最後のキャプチャされたビデオフレームの位置およびサイズが、現在のビデオフレーム（Ｎ）２２４を探索するための開始点として使用され得る。たとえば、ターゲットオブジェクトが最近のビデオフレーム中で検出され、トラッキングされた（すなわち、最近のキャプチャされたビデオフレームのための検出およびトラッキング信頼性値２５６が検出およびトラッキング閾値を上回る）場合、スキャナロケータは、最近のフレームと関連付けられる位置およびサイズにおいて、現在のキャプチャされたフレームを探索し始め得る。たとえば、ターゲットオブジェクトが、光学系の視野外に移動する場合、またはある距離において消える場合、ターゲットオブジェクトは、ターゲットオブジェクトが光学系の視野から出たとき、またはある距離において消えたときと同じサイズで再び現れる可能性が高いことがある。したがって、あるサイズまたはある範囲のサイズが、オブジェクト検出を実行するときに後のビデオフレーム中のターゲットオブジェクトを検出するために予測され得る。
【００４０】
[00112]キャプチャされたビデオフレーム（Ｎ）２２４中で探索されるウィンドウ位置およびウィンドウサイズの探索範囲が、最近のビデオフレーム（たとえば、前のビデオフレーム（Ｎ−１）２２２）中のターゲットオブジェクトと関連付けられるウィンドウ位置およびウィンドウサイズと同様のものに限定され得る。本明細書で使用される「探索範囲」という用語は、ビデオフレーム中のターゲットオブジェクトを検出および／またはトラッキングするときに利用され得る候補ウィンドウ位置または候補ウィンドウサイズ（または両方）のセットを指す。たとえば、探索されるウィンドウ位置のサブセットは、ターゲットオブジェクトが最近のビデオフレーム中のどこで見出されたかに基づいて現在のビデオフレーム（Ｎ）２２４の一部分、たとえば、現在のビデオフレーム（Ｎ）２２４の４分の１または半分のうちの１つの中から選択され得る。言い換えれば、探索空間は、ターゲットオブジェクトが最後にトラッキングまたは検出されたところの近くに限定され得る。同様に、各ウィンドウ位置のために探索されるフレームのサイズは、ターゲットにされたオブジェクトが見出された、最近のビデオフレーム中のウィンドウのサイズに基づいて限定され得る。たとえば、オブジェクトが、８というスケールレベルを有するウィンドウを使用して最近のフレーム中で検出された場合、スキャナスケーラ２３６は、８プラスまたはマイナス３という、現在のビデオフレーム（Ｎ）２２４のためのウィンドウスケールレベル、すなわち、スケールレベル５〜１１のみを選択し得る。これはさらに、低い確率の探索をなくし、オブジェクト検出の効率を増加させ得る。代替的に、最近の（非現在の）ビデオフレームがターゲットオブジェクトを検出しなかった（すなわち、最近のビデオフレームのための検出およびトラッキング信頼性値２５６が検出およびトラッキング閾値を下回る）場合、オブジェクト検出器２０８は、探索される探索空間（ウィンドウ位置）を拡大することができ、たとえば、画像のより広い範囲または画像全体が探索の対象になり得る。
【００４１】
[00113]オブジェクトトラッキングおよび検出モジュール２０４は、複数のウィンドウを統合して単一のウィンドウを形成するための融合モジュール２６０を含み得る。初めに２つの信頼性値、すなわち、オブジェクト検出器２０８からの検出信頼性値２４０および動きトラッカー２０６からのトラッキング信頼性値２２５がある。融合モジュール２６０は、２つの信頼性値を組み合わせて（たとえば、より大きい信頼性値を選んで）、検出およびトラッキング信頼性値２５６にすることができる。検出およびトラッキング信頼性値２５６は、ターゲットオブジェクトがビデオフレーム上で識別されたかどうかを示し得る。一構成では、検出およびトラッキング信頼性値２５６は０から１の間の実数であってよく、ただし、０は、ターゲットオブジェクトが特定のビデオフレーム中で識別されたことの、最低のあり得る信頼性を示し、１は、ターゲットオブジェクトが特定のビデオフレーム中で識別されたことの、最高のあり得る信頼性を示す。言い換えれば、検出およびトラッキング信頼性値２５６は、ターゲットオブジェクトが見つけられた可能性の全体的な指示として働き得る。さらに、検出およびトラッキング信頼性値２５６は、次のビデオフレーム中で探索すべきウィンドウ位置、ウィンドウサイズ、またはウィンドウの百分率を決定するために使用されるパラメータであり得る。融合モジュール２６０は、現在のビデオフレーム（Ｎ）２２４についての情報をメモリバッファ２１０に与えるために使用され得る。一例では、融合モジュール２６０は、トラッキングされたウィンドウ２４２についての情報（たとえば、ウィンドウ位置２４４、ウィンドウサイズ２４６など）と検出およびトラッキング信頼性値２５６とをメモリバッファ２１０に与え得る。融合モジュール２６０は、組み合わされたトラッキング結果（たとえば、バウンディングボックス）を形成して検出およびトラッキング信頼性値２５６を計算するために、動きトラッカー２０６およびオブジェクト検出器２０８からのトラッキング結果（たとえば、バウンディングボックス）を使用し得る。
【００４２】
[00114]メモリバッファ２１０は、前のビデオフレーム（Ｎ−１）２２２、現在のビデオフレーム（Ｎ）２２４、または他のキャプチャされたビデオフレームと関連付けられる１つまたは複数の値を記憶し得る。一構成では、メモリバッファ２１０は、前のビデオフレーム（Ｎ−１）２２２に対応する情報を含み得る、キャプチャされた前のビデオフレーム２１２を記憶する。キャプチャされた前のビデオフレーム２１２は、各ウィンドウ２４２について位置２４４と、ウィンドウサイズ２４６と、（たとえば、分類器２３８からの）バイナリ決定２４８とを含む、１つまたは複数のウィンドウ２４２についての情報を含み得る。キャプチャされた前のビデオフレーム２１２はまた、トラッキング閾値２５０と、検出閾値２５２と、検出およびトラッキング閾値２５４とを含み得る。トラッキング閾値２５０は、トラッキング信頼性レベルがトラッキング閾値２５０よりも大きいかどうかを決定するために（２５８）、動きトラッカー２０６またはオブジェクトトラッキングおよび検出モジュール２０４上の回路（たとえば、信頼性レベル比較器）に与えられ得る。検出閾値２５２は、検出信頼性値２４０が検出閾値２５２よりも大きいかどうかを決定するために、オブジェクト検出器２０８またはオブジェクトトラッキングおよび検出モジュール２０４上の他の回路に与えられ得る。検出およびトラッキング閾値２５４は、トラッキング閾値２５０および検出閾値２５２に基づく組み合わされた値であり得る。検出およびトラッキング閾値２５４は、動きに基づくトラッキングおよびオブジェクト検出のための組み合わされた信頼性値を決定するために、検出およびトラッキング信頼性値２５６と比較され得る。閾値の各々は、ターゲットオブジェクトがビデオフレーム内に位置する可能性に基づき得る。オブジェクトトラッキングおよび検出モジュール２０４は、特定の検出およびトラッキング信頼性値２５６が取得されるまで、現在のビデオフレーム（Ｎ）２２４に対する動きに基づくトラッキングおよび／または検出を実行し得る。さらに、動きに基づくトラッキングおよびオブジェクト検出は、複数のビデオフレームのシーケンス中の各ビデオフレームに対して実行され得る。
【００４３】
[00115]動きに基づくトラッキングおよびオブジェクト検出を実行することは、動きに基づくトラッキングの後に、トラッキングされたパラメータに基づくオブジェクト検出を順次的に実行することを含み得る。特に、本システムおよび方法は、２ステップのトラッキングおよび検出手法を実施し得る。動きに基づくトラッキングが、使用されるオブジェクト検出としての実際のオブジェクト識別ではなく、シーンの相対的な動きに基づくので、動きに基づくトラッキングは、電子デバイスにおいて、オブジェクト検出を実行することほどリソース集約的でないことがある。したがって、オブジェクト検出器２０８の代わりに動きトラッカー２０６を使用することがより効率的であることがあり、ここで、ターゲットオブジェクトが、オブジェクト検出を実行することもなく正確にトラッキングされ得る。
【００４４】
[00116]したがって、オブジェクト検出器２０８と並列に動きトラッカー２０６を使用するのではなく、オブジェクトトラッキングおよび検出モジュール２０４は、動きトラッカー２０６が不十分である場合にオブジェクト検出器２０８を使用するにすぎず、すなわち、動きトラッキングおよびオブジェクト検出は（実行されるとしても）並列にではなく順次的に実行される。トラッキングが実行される各ビデオフレームに対して、動きトラッカー２０６は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４中にある可能性を示す０から１の間の実数であり得る、トラッキング信頼性値２２８を生成し得る。
【００４５】
[00117]２ステップのトラッキングおよび検出手法の一構成では、動きトラッカー２０６は、最初に現在のビデオフレーム（Ｎ）２２４に対する動きに基づくトラッキングを実行し得る。動きトラッカー２０６は、動きに基づくトラッキングのプロセスに基づいてトラッキング信頼性値２２８を決定し得る。トラッキング信頼性値２２８とメモリバッファ２１０によって与えられたトラッキング閾値２５０とを使用して、オブジェクトトラッキングおよび検出モジュール２０４内の回路（たとえば、信頼性レベル比較器）は、トラッキング信頼性値２２８がトラッキング閾値２５０を超えるかどうかを決定し得る（２５８）。トラッキング信頼性値２２８がトラッキング閾値２５０よりも大きい場合、オブジェクトトラッキングおよび検出モジュール２０４は、オブジェクト検出の実行をスキップし、出力２６２を生成するために融合モジュール２６０にトラッキング結果を与え得る。出力２６２は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４内にあるという指示を含み得る。さらに、出力２６２は、ターゲットオブジェクトについての追加の情報を含み得る。
【００４６】
[00118]トラッキング信頼性値２２８がトラッキング閾値２５０を超えない場合、オブジェクト検出器２０８はその後、現在のビデオフレーム（Ｎ）２２４に対するオブジェクト検出を実行し得る。オブジェクト検出は、現在のビデオフレーム（Ｎ）２２４内のウィンドウのすべてまたはサブセットに対して実行され得る。オブジェクト検出器２０８はまた、動きに基づくトラッキングの結果および／またはメモリバッファ２１０から与えられた情報に基づいて、ウィンドウのサブセット、ウィンドウサイズ、または他の検出基準を選択し得る。オブジェクト検出は、オブジェクト検出器２０８に与えられた１つまたは複数のトラッキングされたパラメータに基づいて、幾分ロバストなプロセスを使用して実行され得る。オブジェクト検出器２０８は、検出信頼性値２４０を決定し、検出信頼性値２４０を検出閾値２５２と比較し得る。検出信頼性値２４０が検出閾値２５２を上回る場合、オブジェクト検出器２０８は、出力２６２を生成するために融合モジュール２６０に検出結果を与え得る。出力２６２は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４内にあるという指示を含み、および／または検出されたオブジェクトについての追加の情報を含み得る。
【００４７】
[00119]代替的に、検出信頼性値２４０が検出閾値２５２以下である場合、オブジェクト検出器２０８は、現在のビデオフレーム（Ｎ）２２４内のより多数のウィンドウを探索することのような、よりロバストな方法を使用してオブジェクト検出を再び実行し得る。オブジェクト検出器２０８は、満足な検出信頼性値２４０が取得されるまで、オブジェクト検出のプロセスを繰り返し得る。満足な検出信頼性値２４０が取得され、その結果、現在のビデオフレーム内のターゲットオブジェクトが識別されると、オブジェクトトラッキングおよび検出モジュール２０４が、次のビデオフレームに対するトラッキングおよび検出を実行するために使用され得る。
【００４８】
[00120]図２Ｂを参照すると、オブジェクトトラッキングおよび検出モジュール２０４内のコンポーネントを実装するプロセッサ２６４の特定の例示的な実施形態が示されている。図２Ａに示されるように、オブジェクトトラッキングおよび検出モジュール２０４は、プロセッサ２６４によって実装され得る。異なるプロセッサが、異なるコンポーネントを実装するために使用され得る（たとえば、あるプロセッサは動きトラッカー２０６を実装することができ、別のプロセッサはオブジェクト検出器２０８を実装するために使用されてよく、また別のプロセッサはメモリバッファ２１０を実装するために使用されてよい）。
【００４９】
[00121]図３を参照すると、動きに基づくトラッキングとオブジェクト検出とを実行するための方法３００の特定の例示的な実施形態のフローチャートが示されている。方法３００は、電子デバイス１０２、たとえば、オブジェクトトラッキングおよび検出モジュール１０４によって実装され得る。電子デバイス１０２は、前のビデオフレーム（Ｎ−１）２２２と現在のビデオフレーム（Ｎ）２２４とを比較することによって、現在のビデオフレーム（Ｎ）２２４のための動きに基づくトラッキングを実行することができる（３０２）。オブジェクトをトラッキングすることは、画像のペア間で点をトラッキングすることによってメジアンフロー方法を使用して実行され得る。動きに基づくトラッキングの他の方法も使用され得る。加えて、動きに基づくトラッキングは、メモリバッファ１１０を介して与えられたキャプチャされた前のビデオフレーム１１２についての情報を使用して現在のビデオフレーム（Ｎ）２２４のために実行され得る。
【００５０】
[00122]電子デバイス１０２は、トラッキング信頼性値２２８を決定することができる（３０４）。トラッキング信頼性値２２８は、ターゲットオブジェクトが正確にトラッキングされた可能性または確実性を示し得る。電子デバイス１０２は、トラッキング信頼性値２２８がトラッキング閾値２５０よりも大きいかどうかを決定することができる（３０６）。トラッキング信頼性値２２８がトラッキング閾値２５０よりも大きい場合、電子デバイス１０２は、次のビデオフレームのための動きに基づくトラッキングを実行することができる（３０８）。さらに、電子デバイス１０２は、動きに基づくトラッキングの結果に基づいて、現在のビデオフレーム（Ｎ）２２４に対するオブジェクト検出を実行することをスキップし得る。言い換えれば、オブジェクト検出は、動きトラッキングがあまり良好でないときのみ、すなわち、トラッキング信頼性値２２８がトラッキング閾値２５０よりも大きくない場合に、現在のビデオフレーム（Ｎ）２２４のために実行され得る。しかしながら、トラッキング信頼性値２２８がトラッキング閾値２５０よりも大きくない場合、電子デバイス１０２は、現在のビデオフレーム（Ｎ）２２４のためのオブジェクト検出を実行することができる（３１０）。電子デバイス１０２は、動きに基づくトラッキングに続いてオブジェクト検出を実行し得る。いくつかの構成では、オブジェクト検出は、より高い検出信頼性値２４０を取得するために、異なるロバスト性とともに複数回実行され得る。
【００５１】
[00123]図４を参照すると、動きに基づくトラッキングを実行するための方法４００の特定の例示的な実施形態のフローチャートが示されている。方法４００は、電子デバイス１０２、たとえば、オブジェクトトラッキングおよび検出モジュール１０４によって実装され得る。電子デバイス１０２は、バウンディング（bounding）ボックスを使用してターゲットオブジェクトを識別することができる（４０２）。オブジェクトを識別すること（４０２）は、タッチスクリーン１１６、または対象のオブジェクトがそれにより選択される他の入力方法を使用して、手動で実行され得る。複数のオブジェクトが、同様の方法で識別され得る。さらに、トラッキングされるべきオブジェクトを識別するために、他の入力方法が使用され得る。一例では、オブジェクトは、ターゲットオブジェクトの周りにバウンディングボックスを手動で描くことによって識別される。
【００５２】
[00124]電子デバイス１０２は、バウンディングボックス内の格子上に点を初期設定することができる（４０４）。格子上の点は、バウンディングボックス全体にわたって一様に離隔され得る。さらに、２つの画像（たとえば、前のビデオフレーム（Ｎ−１）２２２と現在のビデオフレーム（Ｎ）２２４）間の格子上の点がトラッキングされ得る（４０６）。一例では、それらの点は、画像間の希薄な動きフローを生成するＬｕｃａｓ−Ｋａｎａｄｅトラッカーによってトラッキングされる。電子デバイス１０２は、２つの画像（たとえば、前のビデオフレーム（Ｎ−１）２２２と現在のビデオフレーム（Ｎ）２２４）間のトラッキング誤差を推定することができる（４０８）。トラッキング誤差を推定すること（４０８）は、トラッキングされた点の各点に誤差値を割り当てることを含み得る。さらに、トラッキング誤差を推定すること（４０８）は、たとえば、前方後方誤差と、正規化相互相関（ＮＣＣ）と、２乗差分和とを含む、様々な方法を使用して実行され得る。推定されたトラッキング誤差は、トラッキング信頼性値２２８を取得し、最終的に、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４中にある可能性を決定するために、使用され得る。一構成では、トラッキング信頼性値２２８は、現在のビデオフレーム（Ｎ）２２４中のトラッキングされたウィンドウと前のビデオフレーム（Ｎ−１）２２２中のトラッキングされたウィンドウとの間の正規化相互相関（ＮＣＣ）を計算することによって取得され得る。トラッキング誤差はまた、図５に関して以下でより詳細に説明される前方後方誤差推定を含む、追加の技法を使用して推定され得る。さらに、電子デバイス１０２は、範囲外の点（outlying point）の予測をフィルタで除去することができる（４１０）。たとえば、電子デバイスは、最悪の予測の５０％をフィルタで除去し得る。残りの予測は、バウンディングボックスの変位を推定するために使用され得る。
【００５３】
[00125]電子デバイス１０２は、バウンディングボックスを更新することができる（４１２）。バウンディングボックスを更新すること（４１２）は、更新されたバウンディングボックスが次のビデオフレームのための新しいバウンディングボックスになるように、実行され得る。動きに基づくトラッキングのプロセスは次いで、次のビデオフレームのために繰り返されてよく、または、トラッキング信頼性値２２８がトラッキング閾値２５０以下である場合、動きに基づくトラッキングのプロセスは、ターゲットオブジェクトが正確にトラッキングされ得るまで、次のビデオフレームに対しては中止され得る。いくつかの構成では、現在のビデオフレーム（Ｎ）２２４のための動きに基づくトラッキングが満足な結果を与えない場合、電子デバイス１０２は、ターゲットオブジェクトを位置特定する際に信頼性のより高いレベルを取得するために現在のビデオフレーム（Ｎ）２２４に対するオブジェクト検出を実行し得る。いくつかの構成では、動きに基づくトラッキングが満足な結果を生成することができない場合（たとえば、ターゲットオブジェクトがビデオフレームの範囲外に移動したとき）、オブジェクト検出は、ターゲットオブジェクトが検出されるまで、任意の後のビデオフレームに対して実行され得る。
【００５４】
[00126]図５を参照すると、前方後方誤差に基づいて動きに基づくトラッキングにおけるトラッキング誤差を推定するための方法５００の特定の例示的な実施形態のフローチャートが示されている。方法５００は、電子デバイス１０２（たとえば、オブジェクトトラッキングおよび検出モジュール１０４）によって実施され得る。いくつかの構成では、電子デバイス１０２は、トラッキングされたウィンドウ間の正規化相互相関（ＮＣＣ）を計算し得る。正規化相互相関（ＮＣＣ）は、トラッキング信頼性値２２８を決定するために使用され得る。電子デバイス１０２はまた、正規化相互相関（ＮＣＣ）を補足する様々なトラッキング誤差推定技法（たとえば、前方後方誤差、２乗差分和）を使用し得る。前方後方誤差推定を使用する例では、電子デバイス１０２は、前方軌道（forward trajectory）を決定するために前のビデオフレーム（Ｎ−１）２２２と現在のビデオフレーム（Ｎ）２２４との間で前方トラッキングを実行することができる（５０２）。前方トラッキングは、ｋ個のステップ前方の画像をトラッキングすることを含み得る。得られた前方軌道は（ｘt，ｘt+1，．．．，ｘt+k）に等しくてよく、ただし、ｘtは時間的な点位置であり、ｋは画像のシーケンスの長さを示す。電子デバイス１０２は、後方軌道(backward trajectory)を決定するために現在のビデオフレーム（Ｎ）２２４と前のビデオフレーム（Ｎ−１）２２２との間で後方トラッキングを実行することができる（５０４）。得られる後方軌道は、
【００５５】
【数１】
0006419830.tif 000002
【００５６】
に等しくてよい。
【００５７】
[00127]電子デバイス１０２は、前方軌道と後方軌道との間の前方後方誤差を決定することができる（５０６）。前方後方誤差は、前方軌道と後方軌道との間の距離として定義され得る。さらに、様々な距離が軌道比較のために定義され得る。一構成では、検証軌道の始点と終点との間のユークリッド距離が、前方後方誤差を決定するときに使用され得る。一構成では、前方後方誤差は、トラッキング信頼性値２２８を決定するために使用され得る、トラッキング誤差として使用され得る。
【００５８】
[00128]図６を参照すると、オブジェクト検出を実行するための方法６００の特定の例示的な実施形態のフローチャートが示されている。方法６００は、電子デバイス１０２（たとえば、オブジェクトトラッキングおよび検出モジュール１０４）によって実装され得る。電子デバイス１０２は、現在のビデオフレーム（Ｎ）２２４中のウィンドウ位置およびサイズのサブセットを探索することによって、現在のビデオフレーム（Ｎ）２２４に対するオブジェクト検出と動きに基づくトラッキングとを実行することができる（６０２）。
【００５９】
[00129]電子デバイス１０２は、検出およびトラッキング信頼性値２５６を決定することができる（６０４）。検出およびトラッキング信頼性値２５６は、ターゲットオブジェクトが現在のビデオフレーム（Ｎ）２２４の中で、または特定のウィンドウ内で見出されるかどうかの、信頼性のレベルを与え得る。電子デバイス１０２は、検出および信頼性値２５６が検出およびトラッキング閾値２５４よりも大きいかどうかも決定することができる（６０６）。検出および信頼性値２５６が検出およびトラッキング閾値２５４よりも大きい場合、電子デバイス１０２は、次のビデオフレームにおけるウィンドウとサイズのサブセット（たとえば、同じサブセット）とを使用して、次のビデオフレームに対するオブジェクト検出を実行することができる（６０８）。代替的に、検出および信頼性値２５６が検出およびトラッキング閾値２５４よりも小さい場合、電子デバイス１０２は、次のビデオフレームにおけるウィンドウ位置およびサイズのより大きいサブセットを使用して、次のビデオフレームに対するオブジェクト検出を実行することができる（６１０）。いくつかの構成では、信頼性値２５６が検出およびトラッキング閾値２５４よりも小さい場合、電子デバイス１０２は、次のビデオフレームの探索空間全体および／またはすべてのウィンドウを使用して、次のビデオフレームに対するオブジェクト検出を実行することができる（６１０）。
【００６０】
[00130]図７を参照すると、異なるウィンドウサイズ７６６を有する画像ウィンドウ７００の特定の実施形態が示されている。具体的には、図７は、１０個の可能なウィンドウサイズ７６６ａ〜ｊのセットを示している。各ウィンドウサイズ７６６は、スケールレベル（たとえば、１〜１０）に対応し得る。本明細書では矩形として示されているが、探索されるウィンドウは、任意の形状、たとえば、正方形、矩形、円形、楕円、ユーザ定義されたものなどであり得る。さらに、任意の数、たとえば、５個、１５個、２０個、３０個などのウィンドウサイズ７６６またはスケールレベルが利用可能であり得る。
【００６１】
[00131]探索範囲は、特定の位置に対して使用されるウィンドウサイズのサブセットによって示されてよく、たとえば、現在のビデオフレーム（Ｎ）２２４中で探索されるウィンドウサイズは、最近のフレーム中のターゲットオブジェクトと関連付けられるウィンドウ位置およびウィンドウサイズと同様のものに限定され得る。たとえば、フィードバックを伴わずに、オブジェクト検出器２０８は、各々の選択されたウィンドウ位置についてすべての１０個のウィンドウサイズ７６６ａ〜ｊを探索し得る。しかしながら、オブジェクトが、第５のウィンドウサイズ７６６ｅを有するウィンドウを使用して最近の（非現在の）ビデオフレーム中で検出された場合、スキャナスケーラ２３６は、５プラスまたはマイナス３という現在のキャプチャされたフレームのためのウィンドウサイズ、すなわち、ウィンドウサイズ２〜８だけを選択し得る。言い換えれば、第１のウィンドウサイズ７６６ａ、第９のウィンドウサイズ７６６ｉ、および第１０のウィンドウサイズ７６６ｊを有するウィンドウは、最近または前のビデオフレーム（Ｎ−１）２２２からのフィードバックに基づいて探索されないことがある。これはさらに、低い確率の探索をなくし、オブジェクト検出の効率を増加させ得る。言い換えれば、最近のビデオフレームからのフィードバックを使用することは、実行される計算を減らすのに役立ち得る。代替的に、最近のビデオフレームがターゲットオブジェクトを検出しなかった（すなわち、最近のキャプチャされたフレームのための検出およびトラッキング信頼性値２５６が検出およびトラッキング閾値２５４よりも小さい）場合、オブジェクト検出器２０８は、サイズレベルのサブセットを使用することによって探索範囲を限定しないことがある。
【００６２】
[00132]図８を参照すると、オブジェクトトラッキングおよび検出モジュール８０４の特定の例示的な実施形態が示されている。図８に示されたオブジェクトトラッキングおよび検出モジュール８０４は、図２に示されたオブジェクトトラッキングおよび検出モジュール２０４と同様のモジュールを含み、同様の機能を実行し得る。具体的には、図８に示されたオブジェクト検出器８０８、動きトラッカー８０６、スキャナロケータ８３０、ウィンドウ位置選択器８３２、ランダマイザ８３４、スキャナスケーラ８３６、分類器８３８、融合モジュール８６０、メモリバッファ８１０、キャプチャされた前のビデオフレーム８１２、ウィンドウ８４２、位置８４４、サイズ８４６、バイナリ決定８４８、トラッキング閾値８５０、検出閾値８５２、検出およびトラッキング閾値８５４、検出信頼性値８４０、トラッキング信頼性値８２８、ならびに検出およびトラッキング信頼性値８５６は、図２に示されたオブジェクト検出器２０８、動きトラッカー２０６、スキャナロケータ２３０、ウィンドウ位置選択器２３２、ランダマイザ２３４、スキャナスケーラ２３６、分類器２３８、融合モジュール２６０、メモリバッファ２１０、キャプチャされた前のビデオフレーム２１２、ウィンドウ２４２、位置２４４、サイズ２４６、バイナリ決定２４８、トラッキング閾値２５０、検出閾値２５２、検出およびトラッキング閾値２５４、検出信頼性値２４０、トラッキング信頼性値２２８、ならびに検出およびトラッキング信頼性値２５６に対応し、それらと同様の機能を有し得る。
【００６３】
[00133]オブジェクトトラッキングおよび検出モジュール８０４は、ターゲットの動きおよびトラッキングエラーによるジッタの影響を低減するために使用される平滑化モジュール８６１を含み得る。言い換えれば、平滑化モジュール８６１は、トラッキング結果を平滑化し、探索ウィンドウが、位置（ｘ，ｙ）８４４とサイズ（幅、高さ）８４６の両方においてより滑らかな軌道を有するようにする。平滑化モジュール８６１は、単純な移動平均（ＭＡ）フィルタまたは自動回帰（ＡＲ）フィルタであり得る。位置８４４に対する平滑化の程度およびサイズ８４６に対する平滑化の程度は異なり得る。カルマンフィルタのような予測フィルタも、位置８４４の平滑化に好適であり得る。したがって、平滑化モジュール８６１は、平滑化されていない位置８６３と平滑化されていないサイズ８６５とを入力として受信し、平滑化された位置８６７と平滑化されたサイズ８６９とを出力し得る。
【００６４】
[00134]図９を参照すると、平滑化モジュール９６１の特定の例示的な実施形態が示されている。平滑化モジュール９６１は、ターゲットの動きとトラッキングエラーとによるジッタの影響を低減するために使用されてよく、すなわち、したがって、トラッキング結果（バウンディングボックス）は、位置（ｘ，ｙ）とサイズ（幅、高さ）の両方においてより滑らかな軌道を有する。一構成では、位置平滑化フィルタ９７１およびサイズ平滑化フィルタ９７３は、平滑化されていない位置９６３と平滑化されていないサイズ９６５とを入力として受け取り、平滑化された位置９６７と平滑化されたサイズ９６９とを出力するために、自動回帰（ＡＲ）モデルを使用して実装される。
【００６５】
[00135]自動回帰（ＡＲ）モデルでは、Ｘは、平滑化されるべき変数であり、位置またはサイズのいずれかであると仮定する。さらに、Ｘ’をオブジェクトトラッカーによるＸの出力とする。この構成では、時間ｔにおけるＸの平滑化されたフィルタリングＸtが、式（１）に従って表され得る。
Ｘt＝Ｗ*Ｘ’t＋(１−Ｗ)*Ｘt-1                                    （１）
ここで、Ｘ’tは、時間ｔにおけるＸのトラッカー出力であり、Ｘt-1は、時間ｔ−１におけるＸの平滑化された結果であり、Ｗ（０≦Ｗ≦１）は、平滑化の効果を制御する平滑化重みである。たとえば、Ｘ’tは、現在のビデオフレーム（Ｎ）２２４のために選択されたウィンドウ位置またはウィンドウサイズであってよく、Ｘt-1は、前のビデオフレーム（Ｎ−１）２２２のために使用されたウィンドウ位置またはウィンドウサイズであってよい。
【００６６】
[00136]異なる平滑化重みＷが、位置平滑化フィルタ９７１およびサイズ平滑化フィルタ９７３のために使用され得る。たとえば、一実装形態では、ウィンドウ位置に対しては平滑化効果がより少ないが、ウィンドウサイズに対して平滑化効果がより強いように、Ｗlocation＝０．８およびＷsize＝０．４である。平滑化重みのこの選択は、より少ないトラッキング遅延とより少ないジッタの両方をもたらす。
【００６７】
[00137]平滑化重みのその選択はまた、検出およびトラッキング信頼性値８５６がある閾値（たとえば、検出およびトラッキング閾値８５４）を下回るときに低減され得る。これは、潜在的トラッキングまたは検出誤差が高いとき、より強いフィルタリングを引き起こし得る。たとえば、低いトラッキングの信頼性に応答して（たとえば、検出およびトラッキング信頼性値８５６が検出およびトラッキング閾値８５４を下回る）、位置のための平滑化重みおよびサイズのための平滑化重みは、それぞれＷlocation＝０．６５およびＷsize＝０．２に設定され得る。言い換えれば、重みの一方または両方が下げられてよく、これにより、ウィンドウ位置およびサイズ選択は、現在のビデオフレームのウィンドウ位置およびサイズよりも、前のビデオフレームのウィンドウ位置およびサイズにより大きく依存するようになり得る。
【００６８】
[00138]重み付けは、検出およびトラッキング信頼性値８５６ではなく、トラッキング信頼性値８２８または検出信頼性値８４０に基づき得る。たとえば、平滑化重みＷlocationおよびＷsizeは、トラッキング信頼性値８２８がトラッキング閾値８５０を下回ったことに応答して下げられてよく、すなわち、より強いフィルタリングが、不十分な動きトラッキングに応答して使用されてよい。代替的に、平滑化重みは、検出信頼性値８４０が検出閾値８５２を下回ったことに応答して下げられてよく、すなわち、より強いフィルタリングが、不十分なオブジェクト検出に応答して使用されてよい。
【００６９】
[00139]別の構成では、カルマンフィルタリングが、ウィンドウ位置を平滑化するために使用され得る。そのような構成では、フィルタリングは式（２）〜（７）に従って定義され得る。
ｘk＝Ｆkｘk-1＋ｗk                                            （２）
ｚk＝Ｈｘk-1＋ｖk                                              （３）
ここで、ｘk-1は時間ｋ−１における前の状態であり、ｘkは
【００７０】
【数２】
0006419830.tif 000003
【００７１】
によって定義される現在の状態であり、
（ｘ，ｙ）はバウンディングボックスの中心の位置であり、
【００７２】
【数３】
0006419830.tif 000004
【００７３】
は、各方向における速度である。さらに、状態遷移モデルＦk、および観測モデルＨは、それぞれ式（４）〜（５）によって定義され得る。
【００７４】
【数４】
0006419830.tif 000005
【００７５】
上式で、Δｔは調節可能なパラメータである。加えて、ｗｋは、式（６）に従った共分散Ｑを有するゼロ平均多変量正規分布（zero mean multivariate normal distribution）から導出されると考えられるプロセス雑音である（すなわち、ｗk〜Ｎ（０，Ｑ））。
【００７６】
【数５】
0006419830.tif 000006
【００７７】
ここで、σ1は調節可能なパラメータである。同様に、ｗｋは、式（７）に従った共分散Ｒを有するゼロ平均ガウスホワイトノイズ（zero mean Gaussian white noise）であると考えられる観測雑音である（すなわち、ｖk〜Ｎ（０，Ｒ））。
【００７８】
【数６】
0006419830.tif 000007
【００７９】
ここで、σ2は調節可能なパラメータである。
【００８０】
[00140]図１０を参照すると、動きトラッキングの結果のジッタを平滑化するための方法１０００の特定の例示的な実施形態のフローチャートが示されている。方法１０００は、電子デバイス１０２、たとえば、電子デバイス１０２中のオブジェクトトラッキングおよび検出モジュール８０４によって実行され得る。電子デバイス１０２は、現在のビデオフレーム２２４と関連付けられる１つまたは複数のウィンドウ位置と１つまたは複数のウィンドウサイズとを決定し、たとえば、平滑化されていない位置８６３と平滑化されていないサイズ８６５とを決定することができる（１００２）。電子デバイス１０２はまた、１つまたは複数の平滑化されたウィンドウ位置８６７と１つまたは複数の平滑化されたウィンドウサイズ８６９とを生成するために、１つまたは複数のウィンドウ位置と１つまたは複数のウィンドウサイズとをフィルタリングすることができる（１００４）。たとえば、これは、移動平均フィルタ、自動回帰フィルタ、またはカルマンフィルタを使用することを含み得る。一構成では、低いトラッキング信頼性に応答して（たとえば、検出およびトラッキング信頼性値８５６が検出およびトラッキング閾値８５４を下回る）、位置のための平滑化重みおよびサイズのための平滑化重みは低減され得る。代替的に、平滑化重みは、検出信頼性値８４０またはトラッキング信頼性値８２８に基づいて低減され得る。電子デバイスはまた、１つまたは複数の平滑化されたウィンドウ位置８６７および１つまたは複数の平滑化されたサイズ８６９によって定義された１つまたは複数のウィンドウを使用して、現在のビデオフレーム２２４内のターゲットオブジェクトを検出することができる（１００６）。
【００８１】
[00141]撮影されたシーンの文脈では、「オブジェクト」という用語は、シーン内の物理的な物体を指す。ビデオストリームの文脈では、「オブジェクト」という用語は、ビデオストリーム内での物体の表現（たとえば、ビデオストリームのフレーム中の物体の画像）を指す。本明細書で使用される「モバイルデバイス」という用語は、次のフォームファクタ、すなわち、携帯可能（たとえば、スマートフォン）、運転可能（たとえば、車両またはロボット）、装着可能（たとえば、衣服またはアクセサリ）、および飛行可能（たとえば、ドローン）のいずれかのデバイスを含む。モバイルデバイスは、１つまたは複数の画面（たとえば、タッチスクリーン）および／または１つまたは複数の画像キャプチャデバイス（たとえば、カメラ）を含み得る。
【００８２】
[00142]デジタル画像（たとえば、ビデオストリームのフレーム）は、１つまたは複数のオブジェクトを含み得るシーンを示す。通常、オブジェクトは物理的な有形の物体（たとえば、人々）である。図１２では、たとえば、シーン中のオブジェクトは、３人の人物と、星と、木とを含む。
【００８３】
[00143]１つまたは複数のデジタル画像（たとえば、ビデオストリームのフレーム）から、１つまたは複数の画像内の選択されたオブジェクトの位置を経時的に表す情報を有する、関連するストリームまたはファイルを生成するのが望ましいことがある。一例では、そのような情報は、経時的に変化し得る、対象の点（たとえば、選択されたオブジェクトの重心）の絶対的な位置を含む。別の例では、そのような情報は、経時的に変化し得る、対象の点（たとえば、選択されたオブジェクトの重心）の位置に対する選択されたオブジェクトの位置を含む。対象の点の位置（たとえば、選択されたオブジェクトの位置、または複数のオブジェクトの重心）は、メタデータ（たとえば、１つまたは複数のそれぞれの位置コードブックへの、コードワードのような１つまたは複数のインデックス）として符号化され得る。
【００８４】
[00144]図１１Ａは、タスクＴ１００とＴ３００とを含む第１の構成によるメタデータを生成する方法Ｍ１００のフローチャートを示す。タスクＴ１００は、複数のオブジェクトを選択するために少なくとも１つのデジタル画像を使用し、ビデオストリームは物理空間との関連でオブジェクトを示す。位置空間中の選択されたオブジェクトの位置を示す情報に基づいて、タスクＴ３００は、選択されたオブジェクトの複数の幾何学的構成（geometrical arrangements）の候補のうちの１つを特定するメタデータを生成する。タスクＴ１００およびＴ３００は、たとえば、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せによって実行され得る。
【００８５】
[00145]タスクＴ１００は、複数のオブジェクトを選択するために少なくとも１つのデジタル画像を使用し、少なくとも１つのデジタル画像は物理空間との関連でオブジェクトを示す。この選択は、ユーザによる直接の動作に応答して実行され得る。そのような場合、少なくとも１つのデジタル画像をユーザに表示するために画面が使用されてよく、ユーザは、表示に現れているオブジェクトの中から特定の所望のオブジェクトを選択するために指示を入力することができる。図１１Ｂは、少なくとも１つのデジタル画像を表示するタスクＴ５０を含む方法Ｍ１００の実装形態Ｍ１１０のフローチャートを示す。表示がタッチスクリーン上で実行される場合、ユーザは、画面をタッチして所望のオブジェクト内のある点を選択することによって、選択を示すことができる。
【００８６】
[00146]少なくとも１つのデジタル画像は、ビデオストリームの１つまたは複数のフレームであり得る。ビデオストリームは一連のフレームを表し、ここで各フレームはピクセル座標空間中の画像を表す。ビデオストリームは通常、ストリームからフレームを復元するために使用され得る他の情報（たとえば、各フレームに対する、対応するフレーム開始コードまたはパケットおよびフレーム終了コードまたはパケット）を含む。ビデオストリームはまた、特定のフレームと関連付けられ得る埋め込まれたデータ（たとえば、メタデータ）を含み得る。ビデオストリームは、（可視の波長および／または他の波長を感知し得る）カメラまたは他の撮像デバイスによって生成されてよく、別のデバイスからストリーミングされてよく、またはデコーダによって（たとえば、磁気媒体または光学媒体に記憶されている情報から）生成されてよく、圧縮された形式または圧縮されていない形式であってよい。ビデオストリームは、構築された光イメージャまたは他のデプスカメラ（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔ）によってキャプチャされた画像に基づくビデオストリームのような、深度情報を含み得る。そのようなビデオストリームは、たとえば、各ピクセルの深度値を対応する色と対応付けることによって、タッチスクリーン上に表示され得る。ビデオストリームは、生であることがあり、遅延していることがあり、または記憶装置から検索される（たとえば、事前に記録されている）ことがある。
【００８７】
[00147]ビデオストリームは、デジタル画像（「フレーム」）の時間シーケンスである。一例では、画像のシーケンスは、特定のフレームレートで（たとえば、同じフレームレートでの提示のために）キャプチャされる。ビデオストリームは、各フレームの開始と終了とを示す情報を含み得る。一例では、ビデオストリームは、各フレームの最初のピクセルの前のフレーム開始コードと、各フレームの最後のピクセルの後のフレーム終了コードとを含む。別の例では、ビデオストリームは、ビデオストリームのフレームのピクセル情報を搬送する１つまたは複数のデータ信号と、ビデオストリームの各フレームの開始と終了とを示す１つまたは複数の同期信号とを含む。プライマリビデオストリームの特定のフォーマットに応じて、プライマリビデオストリームは追加の情報（たとえば、ヘッダ、メタデータ）を含み得る。プライマリビデオストリームが、フレーム開始コードとフレーム終了コードとの間にフレームデータ（すなわち、ピクセル値）以外のデータを含むことも可能である。そのような他のデータは、たとえば、センサ構成の詳細および／または画像の統計値を含み得る。
【００８８】
[00148]ビデオストリームの解析は、（たとえば、フレーム開始情報とフレーム終了情報とを使用して）ビデオストリームのフレームを抽出することと、フレームを処理のために利用可能にすることとを含む。たとえば、解析することは、バッファのような対応する指定された位置に各フレームを記憶することを含み得る。図１１Ｃは、少なくとも１つのデジタル画像を生成するためにビデオストリームを解析するタスクＴ３０を含む、方法Ｍ１００の実装形態Ｍ１２０のフローチャートを示す。代替的に、ビデオストリームの１つまたは複数のフレームが任意の時間において方法Ｍ１００に対して（たとえば、メモリ中のバッファにおいて）利用可能であるように、別のプロセスが（たとえば、表示のために）ビデオストリームを解析するために実行され得る。図１１Ｄは、方法Ｍ１１０およびＭ１２０の実装形態Ｍ１３０のフローチャートを示す。
【００８９】
[00149]そのようなバッファ（たとえば、メモリバッファ１１０）は通常、ある時間において少なくとも１つの完全なフレームを記憶することが可能である。プライマリビデオストリームの解析は、複数のフレームバッファを交互にするように構成され得る。たとえば、１つのそのようなフレームバッファは処理のために完全なフレームを記憶することができるが、シーケンス中の後続のフレームが抽出されて別のフレームバッファに記憶される。代替的に、タスク３０または解析プロセスは、新たなフレームが抽出されるにつれてバッファが更新される（および古いフレームが上書きされる）ように、解析されたフレームを循環バッファに記憶するように構成され得る。
【００９０】
[00150]プライマリビデオストリームを解析することは、１つまたは複数の関連するオーディオストリームおよび／またはメタデータストリームからプライマリビデオストリームを分離するための、逆多重化動作を含み得る。代替的に、そのような動作は、タスクＴ３０または解析プロセスの上流で実行され得る（たとえば、プライマリビデオストリームはデマルチプレクサによって提供され得る）。
【００９１】
[00151]図１２は、３つのオブジェクトを選択するための一連のユーザの動作の例を示す。パネルＡは、デバイスのタッチスクリーン上に表示されるようなシーンを示す。デバイスは、選択モードを開始するようにユーザによって操作され得る。たとえば、タッチスクリーンは、ユーザが適切なアイコンをタッチするときに、選択モードに入るように構成され得る。パネルＡは、フレームの右上の角にある選択ツールアイコンの例を示す。パネルＢにおいて、ユーザは、選択モードを開始するために選択ツールアイコンをタッチする。パネルＣにおいて、デバイスが選択モードにあることを示すために、タッチ動作に応答してツールアイコンがハイライトされており、ユーザは第１のオブジェクトをタッチして第１のオブジェクトを選択する。パネルＤにおいて、オブジェクトが選択されていることを示すために、タッチ動作に応答して第１のオブジェクトがハイライトされており（たとえば、示されるようにシルエットが付けられている、または輪郭が付けられている）、ユーザは第２のオブジェクトをタッチして第２のオブジェクトを選択する。パネルＥにおいて、オブジェクトが選択されていることを示すために、タッチ動作に応答して第２のオブジェクトがハイライトされており、ユーザは第３のオブジェクトをタッチして第３のオブジェクトを選択する。パネルＦにおいて、オブジェクトが選択されていることを示すために、タッチ動作に応答して第３のオブジェクトがハイライトされており、ユーザは選択ツールアイコンを再びタッチして選択モードを終了する。デバイスは、ユーザが選択モードにおいて再び選択されたオブジェクトをタッチすると、選択されたオブジェクトの選択を解除するように構成され得る。
【００９２】
[00152]図１３は、３つのオブジェクトを選択するための一連のユーザの動作の別の例を示す。この場合、デバイスは、図１２に示されるような選択モードとは異なるように動作する。パネルＡにおいて、ユーザは、選択モードを開始するために選択ツールアイコンをタッチする。パネルＢにおいて、デバイスが選択モードにあることを示すために、タッチ動作に応答してツールアイコンがハイライトされており、ユーザは第１のオブジェクトをタッチして第１のオブジェクトを選択する。パネルＣにおいて、オブジェクトが選択されていることを示すために、タッチ動作に応答して第１のオブジェクトがハイライトされており、選択に応答して、選択モードが終了され、ハイライトがツールアイコンから除去される。ユーザは選択ツールアイコンを再びタッチして選択モードを開始し、パネルＤにおいて、デバイスが選択モードにあることを示すために、タッチ動作に応答してツールアイコンがハイライトされており、ユーザは第２のオブジェクトをタッチして第２のオブジェクトを選択する。パネルＥにおいて、オブジェクトが選択されていることを示すために、タッチ動作に応答して第２のオブジェクトがハイライトされており、選択に応答して、選択モードが終了され、ハイライトがツールアイコンから除去される。ユーザは選択ツールアイコンを再びタッチして選択モードを開始し、パネルＦにおいて、デバイスが選択モードにあることを示すために、タッチ動作に応答してツールアイコンがハイライトされており、ユーザは第３のオブジェクトをタッチして第３のオブジェクトを選択する。
【００９３】
[00153]別の例では、タッチスクリーンは、２動作の選択に応答して選択モードに入るように構成されてよく、第１の動作はメニューモードを選択し（たとえば、ユーザは画面の指定された領域をタッチしてメニューを表示させる）、第２の動作はメニューから選択モードを選択する。さらなる例では、選択ツールアイコンをタッチアンドホールドし、アイコンを画面上の所望の点へとドラッグし、次いでアイコンを離してその点を選択することによって、ユーザがオブジェクトを選択するように、タッチスクリーンが構成され得る。代替的に、ユーザは、所望のオブジェクトの少なくとも一部分を含む画像のエリア（たとえば、バウンディング（bounding）ボックスまたは楕円またはなげなわ）を選択することによって選択を示すために、タッチスクリーンを操作することができる。そのような場合、ユーザは、所望のオブジェクトを個々に、および／またはグループとして選択することができる。
【００９４】
[00154]ユーザが選択モードの間に表示されるビューのフィールドを操作できるようにすること（たとえば、ビューのフィールドを広げるためのピンチ動作、およびビューのフィールドを狭めるためのズーム動作を行うこと）が、望ましいことがある。タッチスクリーンの操作以外に、直接のユーザによる選択のための他の可能な方式は、１つまたは複数のボタンもしくは他のスイッチを作動させること、および／またはジェスチャ認識を含む。ユーザによるそのような直接の動作に対する代替形態として、タスクＴ１００は、１つまたは複数の所定の基準を少なくとも１つのデジタル画像（たとえば、ビデオストリームの１つまたは複数のフレーム）からの情報に適用することによって、自動的に選択を実行することができる。そのような基準は、たとえば、選手のジャージの番号の認識、顔認識、および／または（たとえば、スポーツイベントにおけるボールのような高速に移動するオブジェクトを識別するための）速度の検出を含み得る。
【００９５】
[00155]方法Ｍ１００は、タスクＴ１００における選択に応答して、オブジェクトをトラッキングするように実施され得る。たとえば、下で説明されるような位置決定タスクＴ２００は、（たとえば、オブジェクトトラッキングおよび検出モジュール２０４ならびに／またはオブジェクトトラッキングおよび検出モジュール８０４を参照して上で説明されたように）ビデオストリーム内の１つまたは複数の選択されたオブジェクトをトラッキングするためにも実施され得る。代替的に、オブジェクトトラッキングはタスクＴ１００よりも前に開始してよい。そのような場合、タスクＴ１００は、トラッキングされるオブジェクトのセットの中からの選択のために実施され得る。たとえば、ユーザは、トラッキングされたオブジェクトの表示の中から選択することができる。そのようなオブジェクトトラッキング（たとえば、タスクＴ２００による）のために使用され得るアルゴリズムの例は、Ｌｕｃａｓ−Ｋａｎａｄｅ法（およびＫａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉトラッカーのような変形）と、ミーンシフトトラッキングとを含む。オブジェクトのトラッキングは、プライマリビデオストリームのフレームの他の部分からオブジェクトを区画することを含み得るが、オブジェクトトラッキングは、そのような区画化がなくても実行され得る。
【００９６】
[00156]デジタル画像（たとえば、ビデオストリームのフレーム）の他の部分からのオブジェクトの区画化は、フレームの他の部分に対するオブジェクトの強調された表示（たとえば、シルエット付与または輪郭付与）をサポートするために使用され得る。区画化は、タスクＴ１００におけるオブジェクトの選択に応答して（たとえば、表示タスクＴ５０によって）実行され得る。そのような区画化は、オブジェクトの選択を確認することによって、ユーザに視覚的なフィードバックを提供するために使用され得る。区画化は、選択が開始する前にも実行され得る。そのような場合、タスクＴ１００における選択は、すでに区画されているオブジェクトのセット（たとえば、区画されたオブジェクトが強調されている表示）の中から行われ得る。
【００９７】
[00157]図１４の左側のパネルは、オブジェクトを含むシーンを示すビデオストリームからのフレームの２つの例を示す。オブジェクトの強調された表示は、タスクＴ１００における選択の前に、またはそのような選択に応答して（たとえば、表示タスクＴ５０によって）実行され得る。強調された表示の一例はオブジェクトのシルエットであり、これは、背景とは対照的な色（たとえば、図１４の中央のパネルにおいて示されるように、黒または黄）で表示され得る。この対照的な色は、すべてのオブジェクトに対して同じであってよく、または、（たとえば、各オブジェクトの局所的な背景と対照的となるように）オブジェクトによって異なっていてよい。（対照的な色で同様に行われ得る）強調された表示の他の例は、オブジェクトに輪郭を付与することと、オブジェクトにおいて、オブジェクト内に、またはオブジェクトの周囲にグラフィカル要素（たとえば、図１４の右側パネルに示されるような、オブジェクトの頂点またはセントロイドにおける三角形、オブジェクトの周囲の楕円など）を表示することとを含む。
【００９８】
[00158]ビデオストリームの表示をユーザによるオブジェクトの直接の選択のための環境として使用することは、低速で動いているオブジェクトに対しては適切であり得る。しかしながら、所望のオブジェクトのいずれかが表示の中で高速に動いている場合、そのような構成はユーザにとって不愉快であり得る。そのような高速な移動の場合、代わりに、ユーザによるオブジェクトの直接の選択のための環境として、ビデオストリームの単一のフレームを表示することが望ましいことがある。上で説明されたように、選択は、フレーム中のオブジェクトが区画され強調されている表示から行われ得る。ストリーム表示の選択とフレーム表示の選択の両方がサポートされる場合、これらの表示モードからの選択は、ユーザによって、および／または自動的に実行され得る。自動的な選択の場合、ストリームにおける動きの程度が、たとえばオプティカルフロー、動きベクトル、フレーム間のピクセル差分などのような尺度を使用して、定量化され得る。そのような場合、フレーム表示モードは、尺度の値が閾値を上回るときに選択されてよく、ストリーム表示モードは、尺度の値が閾値を下回るときに選択されてよい。
【００９９】
[00159]位置空間中の選択されたオブジェクトの位置を示す情報に基づいて、タスクＴ３００は、選択されたオブジェクトの複数の幾何学的構成の候補の中から１つを特定するメタデータを生成する。位置空間は、デジタル画像（たとえば、ビデオストリームのフレーム）の（ｘ，ｙ）直交座標空間のような、（たとえば、ビデオストリームの）少なくとも１つのデジタル画像のピクセル座標空間であり得る。デジタル画像（たとえば、ビデオフレーム）のピクセル座標空間の原点は通常、画像の左上または左下の角として指定される。選択されるオブジェクトの位置は、たとえば、ユーザがオブジェクトを選択するために画面をタッチした位置であり得る。代替的に、選択されるオブジェクトの位置は、本明細書で説明されるようなオブジェクトトラッキングおよび検出モジュール２０４または８０４のような、オブジェクトトラッカーによって提供され得る。
【０１００】
[00160]幾何学的構成は、選択されるオブジェクトの空間における構成（arrangement）である。たとえば、幾何学的構成は、（たとえば、多角形の頂点のような）選択されるオブジェクトの位置によって表される形状であり得る。タスクＴ３００は、オブジェクトの位置に１つまたは複数の尺度（メトリック）を適用することによって、幾何学的構成の候補のうちの適切な１つを特定するように実施され得る。そのような場合、タスクＴ３００は、尺度の値に従って候補を選択するために、決定木を使用することができる。生成されるメタデータはまた、候補に適用されるべきスケール係数および／またはアスペクト係数、候補の方向の向き、および、軸の回りで候補が反転されるべきであるかどうかを示すミラーフラグのうちのいずれかのような、追加の情報を含み得る。
【０１０１】
[00161]タスクＴ３００は、複数の幾何学的構成の候補のうちのいずれが選択されたオブジェクトの位置によって表される形状と最も類似しているかを決定するように実施され得る。図３５は、「等距離」、「近−遠−遠」、および「近−遠−遠」と標識される、３つの幾何学的構成の候補のセットの１つと３つの位置Ａ、Ｂ、Ｃによって表される形状を照合するためにタスクＴ３００が実施され得る、１つの例を示す。
【０１０２】
[00162]この例では、点の間の３つの距離（すなわち、ＡＢ、ＢＣ、およびＡＣ）が、それらの中で最小のものと、中間のものと、最大のものとを決定するために計算され、大きさにより分類される。最小の距離は、最大の距離の３分の２である値と比較される。最小の距離の方が大きい場合、タスクＴ３００は、図３５の左上にあるボックスによって示されるように、候補「等距離」を選択する。最小の距離の方が小さい場合、中間の距離が、最小の距離および最大の距離の合計の半分である値と比較される。中間の距離の方が大きい場合、タスクＴ３００は、図３５の下にあるボックスによって示されるように、候補「近−遠−遠」を選択する。中間の距離の方が小さい場合、タスクＴ３００は、図３５の右上にあるボックスによって示されるように、候補「近−近−遠」を選択する。
【０１０３】
[00163]図３５はまた、決定の境界に当たる３つの場合を示しており、これらは、望み通りに、隣接する候補のいずれかへとタスクＴ３００によって割り当てられ得る。この場合、適切な候補を特定するメタデータは、各々が３つの幾何学的構成の候補の対応する１つを示す、３つのあり得る値の１つを有するパラメータであり得る。メタデータはまた、（たとえば、回転として）候補に適用されるべき方向を示し得る。一例では、方向は、最小の距離の反対側の点を通る、幾何学的構成の中心からの線分の方向として示される。別の例では、方向は、選択されたオブジェクトの特定の１つに対応する点を通る、幾何学的構成の中心からの線分の方向として示される。
【０１０４】
[00164]図３７Ａは、タスクＴ２００を含む方法Ｍ２００の実装形態Ｍ２００のフローチャートを示し、タスクＴ２００は、位置空間中の選択されたオブジェクトの位置を示す情報を取得する。タスクＴ２００は、タスクＴ１００における選択に応答して実行するように実施され得る。位置空間は、デジタル画像（たとえば、ビデオストリームのフレーム）の（ｘ，ｙ）直交座標空間のような、（たとえば、ビデオストリームの）少なくとも１つのデジタル画像のピクセル座標空間であり得る。デジタル画像（たとえば、ビデオフレーム）のピクセル座標空間の原点は通常、画像の左上または左下の角として指定される。図３７Ｂ〜図３７Ｄは、タスクＴ２００を含む、方法Ｍ１１０の実装形態Ｍ２１０、方法Ｍ１２０の実装形態Ｍ２２０、および方法Ｍ１３０の実装形態Ｍ２３０のフローチャートをそれぞれ示す。
【０１０５】
[00165]表示のピクセル座標空間は位置空間と同じであってよく、または位置空間は表示のピクセル座標空間を含んでよい。たとえば、表示のフレームは、（たとえば、ビューのフィールドを狭めるためのズーム動作に応答して）ビデオストリームの対応するフレームの一部分だけを含み得る。代替的に、表示のピクセル座標空間は位置空間を含み得る。たとえば、ビデオストリームは、表示のフレームよりも小さい表示のウィンドウに表示されてよく、他のコンテンツは表示の別のウィンドウに表示される。
【０１０６】
[00166]タスクＴ２００は、ピクセル座標空間中の選択されたオブジェクトの画像の位置として、選択されたオブジェクトの位置を決定するように実施され得る。たとえば、決定された位置はオブジェクトの重心であり得る。一定の密度が仮定される場合、重心はセントロイドと同じであるが、密度の差は、たとえば色および／または透明度の差によっても示され得る。決定された位置の他の例は、オブジェクトの上部または下部のピクセル、オブジェクトの上部または下部へのオブジェクトの重心の垂直方向の投影、またはオブジェクトの特定の特徴の位置を含む。図１７Ａは、オブジェクトの下部境界線へとオブジェクトの重心Ｃ１０を投影して対応する決定された位置ＤＰ１０を得る例を示す。
【０１０７】
[00167]代替的に、または加えて、タスクＴ２００は、複数のオブジェクトの編成の基準の位置を決定するように実施され得る。たとえば、タスクＴ２００は、選択されたオブジェクトの編成の位置として基準の位置を計算するように実施され得る。そのような場合、決定された基準の位置は、編成の重心（異なるオブジェクトが同じまたは異なる密度を有する）であってよく、オブジェクトに属する上部もしくは下部のピクセル、編成の上部もしくは下部への編成の重心の垂直方向の投影、またはオブジェクトの特定の１つの位置であり得る。そのような場合、タスクＴ２００は、（たとえば、基準の位置を原点として使用するために）基準の位置に対する位置として選択されたオブジェクトの位置を決定することができる。
【０１０８】
[00168]選択されたオブジェクトは、共通のオブジェクトの一部ではないように、互いに物理的に離れていてよい。たとえば、オブジェクトの少なくとも１つは、他のオブジェクトとは独立に動くことが可能であり得る。特定の例では、オブジェクトの１つまたは複数は、異なる人、動物、および／または車両である。
【０１０９】
[00169]ビデオストリームまたは表示のピクセル座標空間は、２次元または３次元であり得る。３次元表示の例は、立体視的（たとえば、左／右）なボリュメトリック（volumetric）表示を含む。そのような位置空間にあるオブジェクトのユーザ選択は、たとえば、手袋、ジェスチャ（たとえば、方向感知デバイスを傾けること）、または圧力感知タッチスクリーンを使用して、３次元で選択点を操作することを含み得る。
【０１１０】
[00170]代替的に、位置空間は物理空間（たとえば、シーン空間）であり得る。１つのそのような例では、決定された基準の位置は、構築された光イメージャまたは他のデプス（depth）カメラ（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔ）からのビデオストリームのような、深度（depth）情報を含むビデオストリームを使用して選択される、少なくとも１つの点に基づく。そのようなビデオストリームは、たとえば、各ピクセルの深度値を対応する色と対応付けることによって、タッチスクリーン上に表示され得る。決定された基準の位置は、物理空間中の各々の選択されたオブジェクトの画像の位置に基づいてよく、または、上の例のように、選択されたオブジェクトの編成（formation）の位置（たとえば、重心）であってよい。そのような位置空間にあるオブジェクトのユーザ選択は、たとえば、手袋、ジェスチャ（たとえば、方向感知デバイスを傾けること）、または圧力感知タッチスクリーンを使用して、３次元で選択点を操作することを含み得る。
【０１１１】
[00171]図１５Ａ〜図１５Ｃは、方向感知デバイスを使用して表示されるシーンの深度次元において選択点を操作する例を示す。そのような方向感知デバイスは、たとえば、重力軸（たとえば、デバイスおよび地球の中心を通る軸）に対するデバイスの方向を示す１つまたは複数の方向センサを有するモバイルデバイスであり得る。そのような１つまたは複数の方向センサは、たとえば、１つもしくは複数の慣性センサ（たとえば、ジャイロスコープおよび／または加速度計）および／または１つもしくは複数の磁場センサ（たとえば、磁力計）を含み得る。
【０１１２】
[00172]図１５Ａ〜図１５Ｃの各々において、左パネルは、方向感知デバイスの画面上の同じデジタル画像の表示を示し、右パネルは、重力軸ｇに対するデバイスの対応する方向（太線で指示されている、表示の垂直方向の線を通る断面図において示されている）を示す。これらの図面の各々に表示されるようなシーンは、前景の（すなわち、キャプチャデバイスに最も近い）オブジェクトと、中景のオブジェクトと、背景の（すなわち、キャプチャデバイスから最も遠い）オブジェクトとを含む。これらの例の各々において、傾きの度合いは、表示の左側にあるスライダーによって示される。デバイスが図１５Ａにおいて示されるように地面に対して垂直であるとき、傾きの度合いは低く、（左パネルにおいてハイライトによって示されるように）前景のオブジェクトが選択される。デバイスが図１５Ｃにおいて示されるように地面に対して水平であるとき、傾きの度合いは高く、（左パネルにおいてハイライトによって示されるように）背景のオブジェクトが選択される。デバイスが図１５Ｂにおいて示されるようにこれらの方向の間にあり地面に対して４５度の角度にあるとき、傾きの度合いは中間点であり、（左パネルにおいてハイライトによって示されるように）中景のオブジェクトが選択される。
【０１１３】
[00173]別の例では、物理空間中のオブジェクトの位置は、オブジェクトの中の、またはオブジェクト上の１つまたは複数の位置センサ（たとえば、ＧＰＳセンサ）からの情報によって示され得る。たとえば、オブジェクトは、１つまたは複数のそのようなセンサを含んでよく（たとえば、ボール）、または、１つまたは複数のそのようなセンサを装着していてよい（たとえば、人または動物）。表示のピクセル座標空間中のユーザにより選択される位置を、物理空間中のオブジェクトの感知される位置とリンクすることが、タッチスクリーンデバイス中の位置センサおよび／もしくは方向センサ、ならびに／またはオブジェクトの特徴（たとえば、色、ジャージの番号）の認識を使用して実行され得る。
【０１１４】
[00174]加えて、または代替的に、物理空間中のオブジェクトの位置は、ピクセル座標空間中のオブジェクトの画像の位置から投影され得る。表示面におけるオブジェクト画像の位置の間の空間的な関係は、物理空間中の対応するオブジェクトの位置の間の空間的な関係とは良好に相関しないことがある。そのような不一致は、表示面（たとえば、ビデオストリームのキャプチャの間の焦点面）が地面に対して垂直であるときに最も大きくなり得る。
【０１１５】
[00175]図１６は、シーン空間中の実際のオブジェクトの間の距離と比較されたときの、２Ｄピクセル座標空間中のオブジェクトの画像間の距離の不一致の例を示す。上パネルＡはデジタル画像（たとえば、ビデオストリームのフレーム）を示し、下パネルＡは示されるようなシーンの左側の３人の人のセントロイドの間の距離を示す。これらの距離は、一番左の人と他の２人の各々との間の距離が、他の２人の間の距離よりも遠いことを示す。上パネルＢは、上から直接見られた場合の同じシーンを示し、下パネルＢは、真ん中の人と他の２人との間の距離が他の２人の間の距離よりも実際にははるかに遠いことを示すので、下パネルＡにおいて示される距離の関係は、シーン空間における実際の距離の関係に対して不正確である。
【０１１６】
[00176]物理空間は、シーン空間中の地面のような２次元空間であり得る。１つのそのような例では、位置空間はシーン空間中の地面であり、ピクセル座標空間中の点は地面における対応する点に投影される。たとえば、地面は、図１６のパネルＣに示されるようなバスケットボールコートなどの、運動競技場であり得る。ビューの異なるフィールドを有する、および／または異なる視点からキャプチャされる、同じまたは同様の空間中の同様のイベントのビデオストリームの間での、オブジェクトの位置の一貫性をサポートするために、そのような位置空間を使用するのが望ましいことがある。
【０１１７】
[00177]デジタル画像のピクセル座標空間中の点を地面における対応する点と関連付けることは、シーン空間中のリンクされた点（たとえば、１つまたは複数のセンサおよび／またはデプスカメラからのデータによって示されるような）を地面へと下方向に投影する（または、適切であれば、リンクされた点を地面へと上方向に投影する）ことによって、実行され得る。図１７Ｂは、地面における所定の位置ＤＰ２０へのリンクされる点ＬＰ１０（上で論じられたようなオブジェクト上のＧＰＳセンサおよび／または他の位置センサによって示され得る）のそのような投影の例を示す。
【０１１８】
[00178]代替的に、デジタル画像のピクセル座標空間中の点を地面における対応する点と関連付けることは、図１８Ａおよび図１８Ｂに示されるような地面にピクセル座標空間からの点を投影することによって実行されてよく、図１８Ａおよび図１８Ｂは、地面に対して垂直な面におけるキャプチャデバイスの焦点軸を通る断面を示す。そのような投影は、地面に対するキャプチャデバイスの方向角ａが（たとえば、上で説明されたような１つまたは複数の方向センサから）知られている場合には、直接実行され得る。代替的に、方向角ａは、地面の基準（たとえば、競技場の境界線）、水平線（たとえば、明るさの違いによって示される）、オブジェクトの境界となる水平方向の特徴（たとえば、舞台の前および後を示す線）、または少なくとも後方の境界となる水平方向の特徴のような、ビデオフレーム中の基準情報から推測され得る。図１８Ｂに示されるように、地面における距離ｒとｓとの比は、方向角ａによって、焦点面における対応する距離ｐとｑとの比と関連する。視野の角度ｂが知られており、焦点面における距離ｐとｑとの比が表示空間において映像化されるような対応する距離と等しい（すなわち、これらの距離が、互いに対して、表示のピクセル座標空間中の垂直な線に沿って現れるので）ことが仮定され得る。
【０１１９】
[00179]１つのそのような例では、タスクＴ２００は、（たとえば、上で説明されたように）キャプチャデバイスの方向および／または画像基準情報を使用して、表示面を地面にマッピングするように実施される。この実装形態では、タスクＴ２００は、（たとえば、図１７Ａに示されるように）オブジェクトの重心を表示面において下方向にオブジェクトの下部へと投影することによって、表示面における各々の選択されたオブジェクトの位置を決定し、この表示位置を地面の対応する位置にマッピングすることによって、位置空間におけるオブジェクトの位置を決定する。この場合、タスクＴ２００は、上で説明された例のいずれかに従って、地面におけるオブジェクトの位置の平均として、または、地面におけるオブジェクトの位置の編成の位置として、決定される基準の位置を計算するように実施され得る。
【０１２０】
[00180]タスクＴ３００は、メタデータを少なくとも１つのデジタル画像と（たとえば、ビデオストリームと）関連付けるように実施され得る。そのようなメタデータはまた、選択されたオブジェクトのラベル（たとえば、人の名前）、選択されたオブジェクトの間の幾何学的構成の識別などのような、トラッキングされるオブジェクトに関する他の情報を含み得る。加えて、または代替的に、メタデータは、デバイスの他の要素から、および／または受信されるような少なくとも１つの画像もしくはビデオストリーム中のメタデータから取得され得る情報（たとえば、カメラの設定、カメラの向き、センサの特性、キャプチャの時間および／または位置）を含み得る。
【０１２１】
[00181]タスクＴ３００のそのような実施は、ＸＭＬ（拡張マークアップ言語）、ＫＬＶ（Ｋｅｙ−Ｌｅｎｇｔｈ−Ｖａｌｕｅ）、＊．ｓｒｔ（ＳｕｂＲｉｐファイルフォーマット）、および＊．ｖｔｔ（ウェブビデオテキストトラックフォーマット）の中のいずれかのような、所望のフォーマットへとメタデータを符号化することができる。いくつかのフォーマットでは、メタデータの少なくともいくつかは、デジタル画像またはビデオストリーム内に（たとえば、埋め込まれたデータのために確保されているフレームデータの一部分の中に）含まれ得る。代替的に、タスクＴ３００は、別のファイルとして、またはビデオストリームと同期されるメタデータストリームとしてメタデータをパッケージ化するように実施され得る。
【０１２２】
[00182]ビデオストリームの各フレームについて、たとえば、または各々のｎ番目のフレーム（ここでｎは１よりも大きな整数である）について、または指定される事象（たとえば、選択されたオブジェクトが動いたことのトラッキングタスクによる検出）の発生後に、ビデオストリームに対するタスクＴ３００の繰り返される実体（たとえば、タスクＴ２００およびＴ３００の繰り返される実体）を含むように方法Ｍ１００を実施するのが望ましいことがある。そのような場合、メタデータファイルまたはストリーム内のメタデータの項目は、そのような項目とビデオストリームの対応するフレームとの所望の関連付けを示すために、タイムスタンプを付与され得る。そのような場合、タスクＴ３００はまた、ビデオとメタデータストリーム（場合によっては１つまたは複数のオーディオストリームも伴う）を多重化することを含み得る。
【０１２３】
[00183]メタデータを含むストリームが送信および／または記憶されるべきである場合、他の情報および／またはフォーマット化が、特定のストリームフォーマットに適合するように実行され得る（たとえば、メタデータおよび／またはストリームは、ヘッダプラスペイロードフォーマットへとパケット化され得る）。タスクＴ３００は、メタデータを含むストリームを、ストリームを符号化するように構成され得る圧縮器または他のエンコーダに提供するように実施され得る。そのようなストリームを記憶するために使用され得る記憶ファイルフォーマットの例は、次のビデオコンテナフォーマット、すなわち、ＡＶＩ、ＷＭＶ、ＭＯＶ、ＭＫＶ、ＭＰＧ、およびＭＰ４のいずれかを含む。
【０１２４】
[00184]いくつかの適用例では、選択されたオブジェクトの幾何学的構成は、位置空間における多数の選択されたオブジェクト（たとえば、公共空間における群衆、動物の大群、空中または水上の乗物または他のオブジェクトの大群）の分布であり得る。タスクＴ３００が各々の個々のオブジェクトの位置を示すメタデータを生成することは不要であることがあり、選択されたオブジェクトの厳密な総数も不要であることがある。
【０１２５】
[00185]そのような場合、タスクＴ３００は、複数の幾何学的構成の候補のうちのいずれが位置空間中の選択されたオブジェクトの分布と最も類似しているかを決定するように実施され得る。たとえば、基準の位置（たとえば、群衆の中の話者の位置）に対する選択されたオブジェクトの所与の（たとえば、観測される）分布に最も近い候補を決定するように、タスクＴ３００を実施するのが望ましいことがある。
【０１２６】
[00186]図３６は、図面の右側の１０個の候補の各々の中心において示される基準の位置に対する多数のオブジェクトの分布を照合するようにタスクＴ３００が実施され得る、一例を示している。この場合、図の左側の図に示されるように、円形の位置空間が１６個の領域に分割され、各領域中のオブジェクトの数が決定される。
【０１２７】
[00187]図３６の左の４つの大きな図は、この選択のために使用され得る４つの決定尺度（メトリック）のセット、すなわち、（Ａ）内側の領域のオブジェクトの数と外側の領域のオブジェクトの数との比、（Ｂ）最も混雑している半分の中のオブジェクトの数と他の半分の中のオブジェクトの数との比（代替的には、最も混雑している半分におけるオブジェクトの数とオブジェクトの総数との比）、（Ｃ）最も混雑している４分の１におけるオブジェクトの数と反対側の４分の１におけるオブジェクトの数との比、および、（Ｄ）最も混雑している対向する４分の１におけるオブジェクトの数と他の２つの４分の１におけるオブジェクトの数との比（代替的には、最も混雑している対向する４分の１におけるオブジェクトの数とオブジェクトの総数との比）の一例を示す。
【０１２８】
[00188]選択されたオブジェクトの数が大きいときでも、位置空間におけるオブジェクトの特定の分布に対するこれらの４つの尺度の値は、非常に低い計算的な複雑さで計算され得る。次いで、たとえば、所与の分布に対するこれらの尺度の値に従って、図３６の右側にある１０個の幾何学的構成の候補の中から選択するために、決定木が使用され得る。そのような場合、タスクＴ３００は、選択された候補を特定し選択されたオブジェクトの総数を示すメタデータを生成するように実施され得る。メタデータのサイズをさらに低減するために、タスクＴ３００は、選択されたオブジェクトの総数の近似を（たとえば、総数を指定された量子化係数で割り、その結果を最も近い整数へと丸めることによって）示すために、メタデータを生成するように実施され得る。
【０１２９】
[00189]タスクＴ３００はまた、図３３Ａ、図３３Ｂ、図３４Ａ〜図３４Ｃと、編成（formation）、編成データ、および編成コードブックの関連する議論とを参照して下で説明されるように、幾何学的構成の中から選択する追加の例のいずれかを実行するように実施され得る。本明細書で説明されるような方法Ｍ１００の実装形態は、選択されたオブジェクトの間の特定の幾何学的構成に対する一致を示すものとしてインデクシングされるフレームが、メタデータを探索することにより検索のために容易に識別され得るようにし、それによってビデオストリーム全体を確認する必要をなくすために、（たとえば、ビデオストリームのキャプチャの間に）メタデータを提供するために使用され得る。
【０１３０】
[00190]図２０を参照すると、オブジェクトトラッキングを使用したビデオ処理を示す特定の実施形態が示される。図２０に示される実施形態に関して説明されるビデオ処理技法は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せによって実行され得る。
【０１３１】
[00191]図２０は、第１の時刻においてキャプチャされるようなシーンを示す、デジタル画像１７００を示す。たとえば、画像１７００は、モバイルデバイスの画面に表示されるべきビデオストリームに対応し得る。モバイルデバイスは、ストリームを（たとえば、モバイルデバイスのカメラによって）キャプチャし、または別のデバイスからストリームを受信するように構成され得る。フレーム１７００に示されるシーンは、第１のオブジェクト１７０２と、第２のオブジェクト１７０４と、第３のオブジェクト１７０６と、星とを含む。示される実施形態では、第１のオブジェクト１７０２は第１の人物に対応してよく、第２のオブジェクト１７０４は木に対応してよく、第３のオブジェクト１７０６は第２の人物に対応してよい。別の実施形態では、第１のオブジェクト１７０２および第３のオブジェクト１７０６の少なくとも１つは、モバイルデバイスを介して制御されるロボットに対応し得る。
【０１３２】
[00192]図２０はまた、モバイルデバイスの画面上の画像１７００の表示１７１０を示す。モバイルデバイスの画面（たとえば、タッチスクリーン）は、ビューファインダに対応し得る。表示１７１０は、ユーザが（たとえば、タスクＴ２００による）トラッキングのためにオブジェクトを選択することを可能にする、ユーザ選択機構１７１１を含み得る。たとえば、ユーザは、画面上のユーザ選択機構１７１１をタッチし、第１のオブジェクト１７０２のトラッキングを選択して可能にするために第１のオブジェクト１７０２の周囲で第１の焦点リング１７１２をドラッグすることによって、タスクＴ１００を実行することができる。第１の焦点リング１７１２のそのような配置に応答して、モバイルデバイスは、トラッキングのためにフレーム１７００中の第１のオブジェクト１７０２を選択することができる。同様の方式で、ユーザはまた、画面上のユーザ選択機構１７１１をタッチし、第２のオブジェクト１７０４および第３のオブジェクト１７０６の周囲で第２の焦点リング１７１４および第３の焦点リング１７１６をドラッグして、それぞれ、第２のオブジェクト１７０４および第３のオブジェクト１７０６のトラッキングを選択して可能にすることができる。第２の焦点リング１７１４および第３の焦点リング１７１６のそのような配置に応答して、モバイルデバイスは、トラッキングのために、それぞれ第２のオブジェクト１７０４と第３のオブジェクト１７０６とを選択することができる。
【０１３３】
[00193]図２０はまた、（たとえば、第１の時刻の後の）第２の時刻にキャプチャされるようなシーンを示す、画像１７２０を示す。画像１７２０において、各オブジェクト１７０２〜１７０６の位置は、第１の時刻におけるシーンを示す画像１７００中の対応する位置に対して変化している。たとえば、画像１７２０において、第１のオブジェクト１７０２および第３のオブジェクト１７０６が移動している。第２のオブジェクト（たとえば、木）は静止しているオブジェクトであるが、第２のオブジェクト１７０４は動いたように見えることがある。たとえば、モバイルデバイス（または他のキャプチャデバイス）の位置が動くことがあり、それによって、第２のオブジェクト１７０４が動いたという錯覚が生まれることがある。
【０１３４】
[00194]モバイルデバイスは、選択されたオブジェクト１７０２〜１７０６の間の１つまたは複数の空間的な関係（「幾何学的配置（geometry）」とも呼ばれる）を監視することができる。たとえば、モバイルデバイスは、第１のオブジェクト１７０２と第２のオブジェクト１７０４との間の第１の距離と、第２のオブジェクト１７０４と第３のオブジェクト１７０６との間の第２の距離と、第３のオブジェクト１７０６と第１のオブジェクト１７０２との間の第３の距離とをトラッキングして測定することができる。特定の実施形態において、（たとえば、タスクＴ２００によって）各々の選択されたオブジェクト１７０２〜１７０６の間の幾何学的配置をトラッキングすることは、トリガ事象があると開始し得る。非限定的な例として、各々の選択されるオブジェクト１７０２〜１７０６の間の幾何学的配置をトラッキングすることは、第１のオブジェクト１７０２が第２のオブジェクト１７０４と交差すると開始し得る。他の実施形態において、各々の選択されたオブジェクト１７０２〜１７０６の間の幾何学的配置をトラッキングすることは、ユーザ入力があると開始し得る。非限定的な例として、各々の選択されるオブジェクト１７０２〜１７０６の間の幾何学的配置をトラッキングすることは、オブジェクト１７０２〜１７０６の２つ以上をユーザが選択すると開始し得る。別の例として、各々の選択されたオブジェクト１７０２〜１７０６の間の幾何学的配置をトラッキングすることは、トラッキングモードを開始することをユーザが選択すると開始し得る。
【０１３５】
[00195]図２０はまた、（たとえば、表示タスクＴ５０による）モバイルデバイスの画面上の画像１７２０の表示１７３０を示す。モバイルデバイスは、表示１７３０上での幾何学的配置の指示を含み得る。たとえば、第１のオブジェクト１７０２と第２のオブジェクト１７０４との間の第１の距離の第１の指示（Ｌ12）は、表示１７３０に含まれ得る。第１の距離は、画像１７２０の中での第１のオブジェクト１７０２の位置、および画像１７２０中での第２のオブジェクト１７０４の位置に基づいて決定され得る。たとえば、モバイルデバイスは、第１のオブジェクト１７０２の位置と、第２のオブジェクト１７０４の位置とをトラッキングして、第１の指示を生成することができる（Ｌ12）。第２のオブジェクト１７０４と第３のオブジェクト１７０６との間の第２の距離の第２の指示（Ｌ23）も、表示１７３０に含まれ得る。第２の距離は、画像１７２０の中での第２のオブジェクト１７０４の位置と、画像１７２０の中での第３のオブジェクト１７０６の位置とに基づいて決定され得る。たとえば、モバイルデバイスは、第２のオブジェクト１７０４の位置と、第３のオブジェクト１７０６の位置とをトラッキングして、第２の指示を生成することができる（Ｌ23）。第１のオブジェクト１７０２と第３のオブジェクト１７０６との間の第３の距離の第３の指示（Ｌ13）も、表示１７３０に含まれ得る。第３の距離は、フレーム１７２０の中での第１のオブジェクト１７０２の位置と、フレーム１７２０の中での第３のオブジェクト１７０６の位置とに基づいて決定され得る。たとえば、モバイルデバイスは、第１のオブジェクト１７０２の位置と、第２のオブジェクト１７０４の位置とをトラッキングして、第３の指示を生成することができる（Ｌ13）。
【０１３６】
[00196]モバイルデバイスはまた、オブジェクト１７０２〜１７０６の複合的な幾何学的配置（たとえば、選択されたオブジェクトの幾何学的構成）をトラッキングすることができる。たとえば、示される実施形態では、オブジェクト１７０２〜１７０６の幾何学的構成は、各指示（Ｌ12、Ｌ23、Ｌ13）によって形成される三角形として特徴付けられ得る。各オブジェクト間の幾何学的配置の少なくとも１つのパラメータ、または、複合的な幾何学的配置の少なくとも１つのパラメータが、画像（たとえば、１つまたは複数のビデオストリームのフレーム）をクラスタ化するために使用され得る。非限定的な例として、２つの特定のオブジェクト１７０２〜１７０６の間の距離（たとえば、第１の距離、第２の距離、および／または第３の距離）に基づいて、特定の画像がクラスタ化され得る。別の非限定的な例として、複数のオブジェクト１７０２〜１７０６の重心（ＣM2）に基づいて、特定の画像がクラスタ化され得る。たとえば、モバイルデバイスは、各画像に対する各指示（Ｌ12、Ｌ23、Ｌ13）によって形成される三角形の重心（ＣM2）を決定することができる。特定の実施形態では、重心（ＣM2）は、計算され、インデクシングされ、画面１７３０に表示され得る。別の実施形態では、重心（ＣM2）は、計算されインデクシングされるだけであり得る。実質的に同様の重心を有するフレームは、メモリの中へと一緒にクラスタ化されインデクシングされ得る。そのようなトラッキングの間、表示の中心が上記の重心と一致するように、表示変換動作を制御するのが望ましいことがある。加えて、または代替的に、選択されたオブジェクトのすべてが表示内で可視のままであるように、カメラの光学および／またはデジタルズーム動作を制御するのが望ましいことがある。
【０１３７】
[00197]特定の実施形態では、モバイルデバイスは、各オブジェクト１７０２〜１７０６の間の幾何学的配置および／または各フレームに対する複合的な幾何学的配置をトラッキングする（たとえば、フレームごとに幾何学的配置をトラッキングする）ことができる。他の実施形態では、モバイルデバイスは、非連続的な間隔において各オブジェクト１７０２〜１７０６の間の幾何学的配置および／または複合的な幾何学的配置をトラッキングする（たとえば、非連続的なフレームにおいて幾何学的配置をトラッキングする）ことができる。非連続的なフレームにおいて幾何学的配置をトラッキングすることは、モバイルデバイスにおいて消費される電力の量を減らし（バッテリー持続時間を延長し）、幾何学的配置情報および／またはクラスタ化情報と関連付けられる情報をインデクシングするために使用されるメモリの量を減らすことができる。
【０１３８】
[00198]たとえば、特定の実施形態では、モバイルデバイスは、各フレームにおいて各オブジェクト１７０２〜１７０６（たとえば、３つのオブジェクト）をトラッキングすることができる。トラッキングの間、各オブジェクト１７０２〜１７０６は、オブジェクト１７０２〜１７０６の位置およびオブジェクト１７０２〜１７０６のサイズと関連付けられる少なくとも３つの値によって表され得る。たとえば、ある値はオブジェクト１７０２〜１７０６のｘ座標に対応してよく、ある値はオブジェクト１７０２〜１７０６のｙ座標に対応してよく、別の値はオブジェクト１７０２〜１７０６のサイズ（たとえば、バウンディングボックス）に対応してよい。各値は、３２ビット（たとえば、４バイト）の数に対応してよい。したがって、少なくとも２８８ビットのデータ（３つのオブジェクト＊３つの値／オブジェクト＊３２ビット／値）が、トラッキングの間に収集され、各フレームのためのメモリへとロギングされ得る。モバイルデバイスが毎秒３０フレームをキャプチャすると仮定すると、１時間（たとえば、３６００秒）フレームごとに３つのオブジェクト１７０２〜１７０６をトラッキングしてインデクシングするには、少なくとも３，８８８，０００バイトのデータが収集され、メモリへとロギングされる。
【０１３９】
[00199]しかしながら、非連続的なフレームにおける幾何学的配置をトラッキングすることは、メモリの要件を緩和し得る。非限定的な例として、１時間、１５フレームごとの間隔で各オブジェクト１７０２〜１７０６をトラッキングしてインデクシングすることは、メモリ空間に９３．３３％の節約をもたらし得る。非連続的なフレームにおいて幾何学的配置をトラッキングすることは、オブジェクト１７０２〜１７０６と関連付けられる動きが比較的少量である状況において、特に有益であり得る。モバイルデバイスは、ユーザ入力（たとえば、ユーザ選好）に基づいてフレームをトラッキングしてインデクシングする頻度を決定することができ、および／または、たとえば、選択されたオブジェクトの１つまたは複数の各々の位置におけるユーザ指示および／または経時的な変化の程度に基づいて、その頻度を変化させることができる。
【０１４０】
[00200]各オブジェクト１７０２〜１７０６はまた、画面１７３０上のオブジェクト１７０２〜１７０６の位置に対応する、個々の重心を有し得る。たとえば、第１のオブジェクト１７０２は、第１のオブジェクト１７０２の位置に重心（Ｃ01）を有してよく、第２のオブジェクト１７０４は、第２のオブジェクト１７０４の位置に重心（Ｃ02）を有してよく、以下同様である。各オブジェクト１７０２〜１７０６の重心はまた、モバイルデバイスがトラッキングする幾何学的パラメータであり得る。
【０１４１】
[00201]図２０はまた、（たとえば、第２の時刻の後の）第３の時刻にキャプチャされるようなシーンを示す、画像１７４０を示す。画像１７４０において、各オブジェクト１７０２〜１７０６の位置は、第２の時刻における画像１７２０の中で示される対応する位置に対して変化している。
【０１４２】
[00202]図２０はまた、（たとえば、表示タスクＴ５０による）モバイルデバイスの画面上の画像１７４０の表示１７５０を示す。モバイルデバイスは、表示１７５０に幾何学的配置の指示を表示し得る。たとえば、第１のオブジェクト１７０２と第２のオブジェクト１７０４との間の第１の距離の第１の指示（Ｌ12）は表示１７５０に含まれてよく、第２のオブジェクト１７０４と第３のオブジェクト１７０６との間の第２の距離の第２の指示（Ｌ23）は表示１７５０に含まれてよく、第１のオブジェクト１７０２と第３のオブジェクト１７０６との間の第３の距離の第３の指示（Ｌ13）は表示１７５０に含まれてよい。加えて、モバイルデバイスはまた、オブジェクト１７０２〜１７０６の複合的な幾何学的配置をトラッキングすることができる。たとえば、示される実施形態では、オブジェクト１７０２〜１７０６の複合的な幾何学的配置は、各指示（Ｌ12、Ｌ23、Ｌ13）によって形成される三角形に対応し得る。
【０１４３】
[00203]別の実施形態では、モバイルデバイスは、各オブジェクト１７０２〜１７０６の動きをトラッキングし、各オブジェクト１７０２〜１７０６の経時的な動きを表示するプロットのシーケンスを生成することができる。モバイルデバイスは、各フレームにおいて各オブジェクト１７０２〜１７０６に対するプロットを生成することができ、上で説明されたように、メモリの要件を緩和して電力の節約を改善するために、非連続的なフレームにおいて各オブジェクト１７０２〜１７０６に対するプロットを生成することができる。
【０１４４】
[00204]表示上で現在見えていない（たとえば、現在、ビデオストリームによってキャプチャされるシーン内にない）オブジェクトに対する１つまたは複数の選択されたオブジェクトの空間的な関係をトラッキングするようにデバイスを構成すること（たとえば、タスクＴ２００を実施すること）も可能である。たとえば、現在画面上にない固定された（基準の）オブジェクトに対する移動するオブジェクトの空間的な関係がトラッキングされ得る。特定の例では、デバイスは、選択された選手がゴールまたはバスケットから２０フィート以内にいるとき、および／または、ゴール／バスケットに向かって動いているときには、ゴール／バスケットが現在画面上にないとしても、常に指し示すように構成され得る。そのような場合、デバイスは、現在表示されているシーンよりも大きな地図を作成するように構成され得る。カメラの位置が（たとえば、ＧＰＳセンサのような位置センサによって示されるように）知られている場合、カメラの１つまたは複数の方向センサが、現在のビューがより大きなシーンの地図とどのように関連するかを決定するために使用され得る。そのような１つまたは複数の方向センサは、重力軸（たとえば、デバイスおよび地球の中心を通る軸）に対するカメラの方向を示すための、１つまたは複数の慣性センサ（たとえば、ジャイロスコープおよび／または加速度計）、および／または１つまたは複数の磁場センサ（たとえば、磁力計）を含み得る。加えて、または代替的に、スポーツのフィールドまたはコート上の印のような、または舞台のシーンの固定物のような、固定された基準のオブジェクトである可視の地物が、基準として使用され得る。基準のオブジェクトの外観は、そのオブジェクトが見られる角度が変化するにつれて変化し得るが、そのようなマッピングは、動いているカメラに対しても行われ得る。
【０１４５】
[00205]図２０に示される実施形態は、モバイルデバイスが、図２１に関して下で説明されるように、画像１７００、１７２０、１７４０の中のオブジェクト１７０２〜１７０６の幾何学的配置をトラッキングし、実質的に同様の幾何学的配置を有するフレームを検索のためにクラスタ化することを可能にし得る。モバイルデバイスは、単一のカメラを使用して、または複数のカメラを使用して、図２０に関して説明される技法を実行することができる。
【０１４６】
[00206]本明細書で説明されるようなメタデータを生成するための使用法および適用例は、スポーツイベント（たとえば、サッカー、バスケットボール、フットボール、ホッケー）、社会的なイベント（たとえば、結婚式、パーティ、ダンス）、演芸（たとえば、演劇、学芸会、コンサート、デュエット）、およびセキュリティまたは調査のための監視のいずれかを含み得る。モバイルデバイスはまた、頭部に装着されるディスプレイであってよく、ユーザの命令を検出するために、ユーザの選択が、たとえば、ジョイスティック、ジェスチャ認識カメラシステム、またはタッチセンサおよび／もしくは方向センサ（上で説明されたような１つまたは複数の方向センサ）を装備した手袋を使用することにより実行される。ビデオストリームは、生であってよく（たとえば、デバイスによってキャプチャされ、または、Ｂｌｕｅｔｏｏｔｈ（登録商標）のような短距離接続を介して、またはインターネットへのＷｉ−Ｆｉ（登録商標）接続のようなネットワークを介して、別のキャプチャデバイスからストリーミングされてよく）、または（やはりそのデバイスまたは別のデバイスによって）記録されてよい。
【０１４７】
[00207]ストリーム内での選択されたオブジェクトの間の相対的な位置および／または空間的な関係に従って、ビデオストリームのフレームを分類するのが望ましいことがある。図２１を参照すると、クラスタ化に基づいてフレームを検索するために使用されるモバイルデバイスの表示１８００の特定の実施形態が示されている。表示１８００は、水平軸と垂直軸とを有するグラフを含み得る。水平軸は、モバイルデバイスによってキャプチャされる異なるビデオファイルに対応し得る。たとえば、代替的な実施形態では、モバイルデバイスは、第１のビデオファイルと第２のビデオファイルとをキャプチャした。垂直軸は、ビデオファイルの時間インデックスに対応し得る。
【０１４８】
[00208]各ビデオファイルは、ビデオファイル中の選択されたオブジェクトの幾何学的配置と関連付けられる少なくとも１つのパラメータに基づく、クラスタを含み得る。たとえば、ビデオファイル中の各クラスタは、選択されたオブジェクト間で実質的に同様の幾何学的配置を有する、フレームのグループを含み得る。図２１に示されるクラスタは、オブジェクト間の重心に基づき得る。しかしながら、他の実施形態では、クラスタは１つまたは複数の異なるパラメータ（たとえば、形状、距離、空間的な特性、カラースキームなど）に基づき得る。パラメータはユーザによって選択され得る。
【０１４９】
[00209]第１のビデオの１０：００前後のマークまでの、第１のビデオの初めにあるフレームは、第１のクラスタ（たとえば、クラスタ１）へとグループ化され得る。第１のクラスタは、選択されたオブジェクト間の画面１８００上での重心が１５０前後のｘ座標と２５０前後のｙ座標とを有するような、フレームに対応し得る。図２０の第２のフレームを参照すると、選択されたオブジェクト１７０２〜１７０６の重心（ＣM2）（たとえば、三角形の重心（ＣM2））は、画面１７３０上の１５０前後のｘ座標と、画面１７３０上の２５０前後のｙ座標とを有し得る。したがって、第２のフレーム（およびオブジェクト１７０２〜１７０６の間の実質的に同様の重心を有する他のフレーム）が、図２１の第１のクラスタに配置され得る。したがって、ユーザが第１のクラスタを選択する場合、モバイルデバイスは、選択されたオブジェクト１７０２〜１７０６が図２０の第２のフレームと実質的に同様の構成を有する、対応するビデオストリーム（たとえば、ビデオの部分）を表示することができる。
【０１５０】
[00210]第１のビデオの１０：００前後のマークから第１のビデオの２０：００前後のマークまでのフレームは、第２のクラスタ（たとえば、クラスタ２）へとグループ化され得る。第２のクラスタは、選択されたオブジェクト間の画面１８００上での重心が１００前後のｘ座標と２５０前後のｙ座標とを有するような、フレームに対応し得る。図２０の第３のフレームを参照すると、選択されたオブジェクト１７０２〜１７０６の重心（ＣM3）は、画面１７５０上の１００前後のｘ座標と、画面１７５０上の２５０前後のｙ座標とを有し得る。したがって、第３のフレーム（およびオブジェクト１７０２〜１７０６の間の実質的に同様の重心を有する他のフレーム）が、図２１の第２のクラスタに配置され得る。したがって、ユーザが第２のクラスタを選択する場合、モバイルデバイスは、選択されたオブジェクト１７０２〜１７０６が図２１の第３のフレームと実質的に同様の構成を有する、対応するビデオストリーム（たとえば、ビデオの部分）を表示することができる。
【０１５１】
[00211]追加のクラスタ（たとえば、第３のクラスタ）は、異なる重心（たとえば、１７５のｘ座標および３２５のｙ座標）を有するフレームに対応し得る。ユーザは、ビデオの特定の部分と関連付けられる構成（たとえば、重心）を有するクラスタを選択することによって、ビデオの特定の部分を検索する（たとえば、位置特定する）ことができる。したがって、選択されたオブジェクト１７０２〜１７０６の幾何学的パラメータ（たとえば、距離、各々のおよび／または選択されたオブジェクトの重心）に基づくクラスタへとフレームをインデクシングすることによって、モバイルデバイスのユーザは、ビデオを見進める（たとえば、再生する、早送りする、巻き戻すなど）必要なく、ビデオの所望の部分を容易に位置特定することができる。クラスタへとフレームをインデクシングすることで、ユーザは、どの構成（たとえば、幾何学的配置）が最も頻繁に発生したか、最も稀に発生したかなどを、見ることが可能になり得る。そのような幾何学的パラメータのそのようなインデクシングおよび／または値は、上で説明されたようなタスクＴ３００によって生成されるメタデータの中に含まれ得る。
【０１５２】
[00212]図２１はまた、ビデオストリームのフレームのクラスタと関連付けられる領域の表示１８０２を含む。たとえば、クラスタの表示１８０２は、図２０のシーンのビデオストリームに対応し得る。表示１８０２は１０個の領域（Ｃ１〜Ｃ１０）を含む。示される実施形態では、領域（Ｃ１〜Ｃ１０）は、特定のフレームにおけるオブジェクト１７０２〜１７０６の重心に基づく。他の実施形態では、領域（Ｃ１〜Ｃ１０）は、他の幾何学的パラメータ（たとえば、各オブジェクト１７０２〜１７０２の重心、形状、距離、空間的特性、カラースキームなど）に基づき得る。特定の実施形態では、各領域（Ｃ１〜Ｃ１０）は等しいサイズを有し得る（たとえば、各領域（Ｃ１〜Ｃ１０）は「ボロノイセル（Voronoi Cell）」であり得る）。
【０１５３】
[00213]各領域（Ｃ１〜Ｃ１０）は、特定のクラスタと関連付けられる重心に対応するｘ座標とｙ座標とを含み得る。非限定的な例として、第１の領域（Ｃ１）に対応する重心は、７５というｘ座標と５８０というｙ座標とを有し得る。加えて、第２の領域（Ｃ２）に対応する重心は、２１５というｘ座標と５８０というｙ座標とを有し得る。図２０のシーンのビデオストリーム中のフレームは、オブジェクト１７０２〜１７０６の重心によってインデクシングされ得る。各フレームは、重心に基づいて領域（Ｃ１〜Ｃ１０）の１つに対応するクラスタに配置され得る。たとえば、第１の領域（Ｃ１）の重心に最も近い重心を有するフレームは、対応する第１のクラスタ内に配置され得る。そのようなクラスタ化情報は、タスクＴ３００によって生成され、（たとえば、本明細書で説明されるようなビデオストリームに同期されるメタデータストリーム中の）メタデータとして対応するフレームと関連付けられ得る。そのような場合、特定のクラスタ内にインデクシングされるフレームは、メタデータを探索することによって、検索のために容易に識別されることが可能であり、ビデオストリーム全体を確認する必要をなくす。
【０１５４】
[00214]モバイルデバイスは、特定のクラスタをユーザが選択したことに応答して、特定の幾何学的配置（たとえば、重心）を有するビデオフレームを表示することができる。たとえば、ユーザが第１の領域（Ｃ１）を選択する（たとえば、タッチする）場合、モバイルデバイスは、オブジェクト１７０２〜１７０６の重心が第１の（Ｃ１）領域内にある、ビデオフレームのクラスタを表示することができる。特定の実施形態では、ユーザは、第１の領域（Ｃ１）において画面にタッチし、閾値を超える時間の期間（たとえば、３秒）、第１の領域（Ｃ１）をホールドすることができる。３秒間第１の領域をホールドした後、第１の領域（Ｃ１）は表示１８０２上で拡大され得る。たとえば、表示１８０２は、１８０４に示されるように第１の領域（Ｃ１）を示し得る。このモードでは、第１の領域１８０４は、特定のフレームの重心（ＣM1023-1026）に基づいて、特定のフレーム（たとえば、フレーム１０２３からフレーム１０２６）を示し得る。特定の実施形態では、ユーザは特定のフレーム（たとえば、フレーム１０２４）を選択することができ、モバイルデバイスはフレーム１０２４においてビデオストリームの再生を開始することができる。
【０１５５】
[00215]図２２を参照すると、オブジェクトトラッキングを使用してビデオ処理方法１９００の特定の実施形態を示すフローチャートが示される。代替的な実施形態では、方法１９００は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せを使用して実行され得る。
【０１５６】
[00216]方法１９００は、１９０２において、モバイルデバイスにおいて、シーン中の複数のオブジェクトの選択を受け取ることを含む。たとえば、図２０を参照すると、ユーザは、画面１７１０上のユーザ選択機構１７１１をタッチし、第１のオブジェクト１７０２の周囲で第１の焦点リング１７１２をドラッグし、第２のオブジェクト１７０４の周囲で第２の焦点リング１７１４をドラッグし、第３のオブジェクト１７０６の周囲で第３の焦点リング１７１６をドラッグして、それぞれ、第１、第２、および第３のオブジェクト１７０２〜１７０６のトラッキングを可能にすることができる。表示されるシーン１７００は、キャプチャされモバイルデバイスの画面に表示されるビデオストリームに対応し得る。モバイルデバイスは、ストリームを（たとえば、モバイルデバイスのカメラによって）キャプチャし、または別のデバイスからストリームを受信するように構成され得る。
【０１５７】
[00217]１９０４において、各オブジェクト間の幾何学的配置がトラッキングされ得る。たとえば、図２０を参照すると、モバイルデバイスは、各々の選択されたオブジェクト１７０２〜１７０６間の幾何学的配置をトラッキングすることができる。たとえば、モバイルデバイスは、第１のオブジェクト１７０２と第２のオブジェクト１７０４との間の第１の距離と、第２のオブジェクト１７０４と第３のオブジェクト１７０６との間の第２の距離と、第３のオブジェクト１７０６と第１のオブジェクト１７０２との間の第３の距離とをトラッキングして測定することができる。
【０１５８】
[00218]１９０６において、幾何学的配置の指示が画面上に表示され得る。たとえば、図２０を参照すると、第１のオブジェクト１７０２と第２のオブジェクト１７０４との間の第１の距離の第１の指示（Ｌ12）は、表示１７３０に含まれ得る。第１の距離は、画像１７２０の中での第１のオブジェクト１７０２の位置と、画像１７２０中での第２のオブジェクト１７０４の位置とに基づいて決定され得る。たとえば、モバイルデバイスは、第１のオブジェクト１７０２の位置と、第２のオブジェクト１７０４の位置とをトラッキングして、第１の指示を生成することができる（Ｌ12）。第２のオブジェクト１７０４と第３のオブジェクト１７０６との間の第２の距離の第２の指示（Ｌ23）も、表示１７３０に含まれ得る。第２の距離は、画像１７２０の中での第２のオブジェクト１７０４の位置と、画像１７２０の中での第３のオブジェクト１７０６の位置とに基づいて決定され得る。たとえば、モバイルデバイスは、第２のオブジェクト１７０４の位置と、第３のオブジェクト１７０６の位置とをトラッキングして、第２の指示を生成することができる（Ｌ23）。第１のオブジェクト１７０２と第３のオブジェクト１７０６との間の第３の距離の第３の指示（Ｌ13）も、表示１７３０に含まれ得る。第３の距離は、画像１７２０の中での第１のオブジェクト１７０２の位置と、画像１７２０の中での第３のオブジェクト１７０６の位置とに基づいて決定され得る。たとえば、モバイルデバイスは、第１のオブジェクト１７０２の位置と、第２のオブジェクト１７０４の位置とをトラッキングして、第３の指示を生成することができる（Ｌ13）。
【０１５９】
[00219]図２２の方法１９００は、モバイルデバイスが、画像１７００、１７２０、１７４０の中のオブジェクト１７０２〜１７０６の幾何学的配置をトラッキングし、実質的に同様の幾何学的配置を有するフレームを検索のためにクラスタ化することを可能にし得る。モバイルデバイスは、単一のカメラを使用して、または複数のカメラを使用して、方法１９００を実行することができる。さらなる例では、方法は、１つまたは複数のオブジェクトの間の指定された空間的な関係が（たとえば、タスクＴ２００によって）検出されるとき、たとえば、第１の選択されたオブジェクトと第２の選択されたオブジェクトとの間の距離が指定された閾値の距離よりも小さくなる（代替的には大きくなる）とき、警告条件を示すことを含み得る。
【０１６０】
[00220]図２３を参照すると、オブジェクトトラッキングを使用したビデオ処理方法２０００、２０１０の特定の実施形態を示すフローチャートが示される。代替的な実施形態では、方法２０００、２０１０は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せを使用して実行され得る。
【０１６１】
[00221]方法２０００は、２００２において、モバイルデバイスにおいて、シーン中の複数のオブジェクトの選択を受け取ることを含む。たとえば、図２０を参照すると、ユーザは、画面１７１０上のユーザ選択機構１７１１をタッチし、第１のオブジェクト１７０２の周囲で第１の焦点リング１７１２をドラッグし、第２のオブジェクト１７０４の周囲で第２の焦点リング１７１４をドラッグし、第３のオブジェクト１７０６の周囲で第３の焦点リング１７１６をドラッグして、それぞれ、第１、第２、および第３のオブジェクト１７０２〜１７０６のトラッキングを可能にすることができる。表示されるシーン１７００は、キャプチャされモバイルデバイスの画面に表示されるビデオストリームに対応し得る。モバイルデバイスは、ストリームを（たとえば、モバイルデバイスのカメラによって）キャプチャし、または別のデバイスからストリームを受信するように構成され得る。
【０１６２】
[00222]２００４において、各オブジェクト間の幾何学的配置がトラッキングされ得る。たとえば、図２０を参照すると、モバイルデバイスは、各々の選択されたオブジェクト１７０２〜１７０６間の幾何学的配置をトラッキングすることができる。たとえば、モバイルデバイスは、第１のオブジェクト１７０２と第２のオブジェクト１７０４との間の第１の距離と、第２のオブジェクト１７０４と第３のオブジェクト１７０６との間の第２の距離と、第３のオブジェクト１７０６と第１のオブジェクト１７０２との間の第３の距離とをトラッキングして測定することができる。加えて、モバイルデバイスはまた、オブジェクト１７０２〜１７０６の複合的な幾何学的配置をトラッキングすることができる。たとえば、示される実施形態では、オブジェクト１７０２〜１７０６の複合的な幾何学的配置は、３つの指示（Ｌ12、Ｌ23、Ｌ13）によって形成され得る三角形に対応し得る。
【０１６３】
[00223]２００６において、ビデオストリームのフレームは、幾何学的配置と関連付けられる少なくとも１つのパラメータに基づいてクラスタ化され得る。たとえば、図２１を参照すると、ビデオファイル中の各クラスタは、選択されたオブジェクト１７０６〜１７０８間で実質的に同様の幾何学的配置を有する、フレームのグループを含み得る。図２１に示されるクラスタは、オブジェクト１７０６〜１７０８の間の重心（ＣM2、ＣM3）（たとえば、三角形の重心）に基づき得る。
【０１６４】
[00224]特定の実施形態では、方法２０００は、オブジェクトが特定の幾何学的配置にあるときに、フレームを検索することを含み得る。たとえば、図２１を参照すると、モバイルデバイスは、フレーム中のオブジェクト１７０２〜１７０６の重心（ＣM2、ＣM3）に基づいてフレームをインデクシングすることができる。特定の重心（たとえば、特定の幾何学的配置）を有するフレームは、特定の重心と関連付けられるクラスタを選択することによって容易に実現され得る。たとえば、モバイルデバイスは、図２１の画面１８００上の第１のクラスタ（たとえば、クラスタ１）を選択することによって、オブジェクト１７０２〜１７０６が図２０の第２のフレーム中のオブジェクト１７０２〜１７０６と実質的に同様の幾何学的配置を有するフレームを検索することができる。たとえば、第１のクラスタをユーザが選択したことに応答して、モバイルデバイスは、オブジェクト１７０２〜１７０６の重心が１５０前後のｘ座標と２５０前後のｙ座標とを有するフレームを検索することができる。
【０１６５】
[00225]方法２０１０は、２０１２において、モバイルデバイスにおいて、ビデオストリーム中の選択されたオブジェクトの特定の幾何学的配置の指示を受信することを含み得る。非限定的な例として、図２１を参照すると、モバイルデバイスは、オブジェクト１７０２〜１７０４の重心が第１の領域（Ｃ１）の重心に最も近いビデオストリームを表示するために、指示（たとえば、表示１８０２に示される第１の領域（Ｃ１）においてユーザが画面をタッチすること）を受け取り得る。
【０１６６】
[00226]２０１４において、ビデオストリームのフレームは、特定の幾何学的配置に基づいて検索され得る。たとえば、図２１を参照すると、モバイルデバイスは、オブジェクト１７０２〜１７０４の重心が第１の領域（Ｃ１）に対応するエリアの中にある、図２０のシーン中のビデオストリームのフレームを検索することができる。
【０１６７】
[00227]２０１６において、検索されたフレームはモバイルデバイスの画面上に表示され得る。たとえば、図２１を参照すると、モバイルデバイスは、オブジェクト１７０２〜１７０４の重心が第１の領域（Ｃ１）に対応するエリアの中にある、ビデオストリームのフレームを表示する（たとえば、再生する）ことができる。特定の実施形態では、モバイルデバイスは、順次的な順序でビデオストリームを再生することができる。
【０１６８】
[00228]図２３の方法２０００、２０１０は、ユーザが、ビデオの特定の部分と関連付けられる構成（たとえば、重心）を有するクラスタを選択することによって、ビデオの特定の部分を検索する（たとえば、位置特定する）ことを可能にし得る。したがって、選択されたオブジェクト１７０２〜１７０６の幾何学的パラメータに基づくクラスタへとフレームをインデクシングする（たとえば、本明細書で説明されるようなタスクＴ３００によってメタデータを生成する）ことによって、モバイルデバイスのユーザは、ビデオを見進める（たとえば、再生する、早送りする、巻き戻すなど）必要なく、ビデオの所望の部分を容易に位置特定することができる。
【０１６９】
[00229]タスクＴ３００は、決定された基準の位置に基づいて、位置空間を分割する複数の別々の領域のうちの１つを識別するメタデータを生成するように実施されてよく、複数の別々の領域は等しくないサイズの領域を含む。上で説明されたように、位置空間は、２次元または３次元における、少なくとも１つのデジタル画像（たとえば、ビデオストリームの少なくとも１つのフレームのピクセル座標空間）または物理空間（たとえば、シーン空間の地面）のピクセル座標空間であってよく、個々のフレームにおいて表される空間を超えて延び得る。そのようなメタデータは、たとえば、基準の位置を含む位置空間の領域を示す（たとえば、１つまたは複数の量子化コードブックへの）１つまたは複数のインデックスとして実装され得る。
【０１７０】
[00230]分割方式は、位置空間を不均一に分割する（たとえば、不均一なサイズおよび／または形状の領域を含む）ように構成され得る。たとえば、各々の別々の領域がｍ個の観測されたデータ点を含むように（たとえば、発生の頻度に従った分割）、位置空間を分割する分割方式を生成するために、観測されたデータ点（たとえば、オブジェクトの位置）のセットが使用され得る。代替的に、または加えて、分割方式は、関心の高い空間のエリアが関心の低いエリアよりも多数の別々の領域へと分割されるように、位置空間を分割するように構成され得る。
【０１７１】
[00231]分割方式によって示される様々な領域は、位置空間のそれぞれのエリアと関連付けられる異なる度合いの関心に従って集中し得る。図１９Ｂ〜図１９Ｄは、バスケットボールコート（たとえば、図１９Ａに示されるような）に適用されるような位置空間の不均一な分割のいくつかの例を示す。そのような分割方式は、（たとえば、図１９Ｂおよび図１９Ｄのような）特定のバスケットに近いより小さな領域への、または、（たとえば、図１９Ｃのような）いずれかのバスケットに近いより小さな領域への、コート空間の分割を符号化することができる。事前の（たとえば、ストリームがキャプチャされる前の）位置空間の関心に基づく不均一な分割を示すことが可能であり得るので、方法Ｍ１００はデジタル画像またはビデオストリームのキャプチャの間に実行され得る。
【０１７２】
[00232]同様の方式で、分割方式によって示される様々な領域は、位置空間のそれぞれのエリア内のマッピングされたデータ点（たとえば、オブジェクトの位置または複数のオブジェクトの重心）の発生の頻度の差に従って集中し得る。そのような場合、位置空間の不均一な分割は事後に（たとえば、キャプチャされたストリームへの訓練の結果として）取得され得る。等しい数の観測結果が各々の別々の領域において見出されるように、分割が実施され得る。
【０１７３】
[00233]一例では、分割方式は、位置空間におけるオブジェクトの位置（たとえば、観測されるオブジェクトの位置）の、ｋ個のクラスタへのｋ平均クラスタ化を実行することによって得られる。たとえば、分割方式は、ビデオストリームの複数のフレームにおいて観測されるようなオブジェクトの位置（たとえば、選択されたオブジェクトの１つまたは複数の位置）の、ｋ個のクラスタへのｋ平均クラスタ化を実行することによって得られ得る。そのようなクラスタ化は、位置空間をボロノイセルへと区分し、ここで、得られるｋ平均はセルの生成要素（たとえば、セントロイド）であり、そのような方式で（たとえば、クラスタ化を使用して）得られる分割方式は量子化コードブックとも呼ばれ得る。クラスタは、別のクラスタとは異なる数の観測されたオブジェクトの位置を有し得る。初期条件（すなわち、初期のｋ平均）を得るために、そのような分割方式生成タスクが、観測された位置に対する階層的なクラスタ化方法（たとえば、分岐型クラスタリングまたは凝集型クラスタリング）を実行するように実施され得る。不均一な分割を得るために使用され得る類似性の尺度の一例は、位置空間における観測されたオブジェクトの位置の間のユークリッド距離である。
【０１７４】
[00234]（たとえば、異常値の存在下での）分割方式生成タスクによって使用され得るｋ平均クラスタ化に対する１つの代替形態は、ｋ−ｍｅｄｏｉｄクラスタ化である。別の代替形態は平均シフトクラスタ化であり、これは、分布のモードを異なる領域へと分離するために使用され得る。タスクＴ３００は、複数の分割方式（たとえば、複数のコードブック）の中から選択することを含んでよく、これは、異なる長さであってよく、および／または異なるサイズの領域に対応してよい。たとえば、タスクＴ３００は、第１のレベルの分割方式が複数の別の領域の１つを示し、また、複数の第２のレベルの分割方式のうちの示される領域に対応する第２のレベルの分割方式を示すように、分割方式の階層を使用することができる。そのような階層は、複数の別の領域の１つを互いに異なるように再分割するために使用され得る。１つのそのような例では、第１のコードブックは、観測された位置の分布の異なるモードに対応する異なる量子化領域をインデクシングし、第２のコードブックは、これらのモード領域の１つまたは複数の各々を副領域へと分割するために使用されるので、タスクＴ３００は、決定された位置に対する２つ以上のコードワードを含むメタデータを生成することができる。
【０１７５】
[00235]タスクＴ３００は、たとえば、そのセントロイドが決定された基準の位置に最も近い領域を選択することによって、位置空間の対応する領域に、決定された基準の位置をマッピングするように実施され得る。インデックス選択のために使用される類似性の尺度（たとえば、位置空間におけるユークリッド距離）は、区分のために使用される類似性の尺度と同じであってよく、または異なっていてよい。分割方式が量子化コードブックによって表される場合、そのようなマッピングは、コードブック（たとえば、選択された領域を示すコードワード）へのインデックスを選択することを含み得る。
【０１７６】
[00236]図２４を参照すると、矩形座標を使用してオブジェクトの位置に対するメタデータを生成するための方法Ｍ１００の特定の適用形態が示されている。図２４の実施形態は、フレームごとに複数のオブジェクトの決定された位置を符号化するために使用され得るコードブック２１０２を示す。決定された位置は、位置空間２１０６の中の各オブジェクトの位置を示し得る。コードブック２１０２は、位置空間２１０６の中の位置（たとえば、２１３２、２１３４、２１３６）を、等しくないサイズの領域を含む別々の領域への位置空間の分割２１０８の中の対応する領域（たとえば、２１４２、２１４４、２１４６）にマッピングする。
【０１７７】
[00237]コードブック２１０２は、複数のフレームまたは他の画像２１０４に対するメタデータを生成するために使用され得る。そのようなメタデータは、ビデオストリームに組み込まれてよく、および／または別々にストリーミングされてよく、および／または別のファイルに記憶されてよい。決定された位置は、フレーム中のオブジェクトのための矩形座標データ（たとえば、ｘ座標およびｙ座標）を含み得る。特定の実施形態では、決定された位置はまた、フレーム中のオブジェクトに対する３次元座標データ（たとえば、３次元直交座標系のｚ座標）を含み得る。示される実施形態では、コードブック２１０２は、１００００個のフレーム（または他の画像）にわたって３つのオブジェクトに対する決定された位置をクラスタ化することによって生成され得る。これらの決定された位置はまた、メタデータとして対応するフレームと関連付けられていることがある。特定の実施形態では、第１のフレームは、図２０の第１の画像（たとえば、表示１７１０）に対応してよく、第２のフレームは、図２０の第２の画像（たとえば、表示１７３０）に対応してよく、第３のフレームは、図２０の第３の画像（たとえば、表示１７５０）に対応してよい。この例では、１００００個のフレームに対する決定された位置はコードブック２１０２を得るために使用されるが、他の実施形態では、コードブック２１０２は、より少数の（または追加の）フレームに対する決定された位置に基づき得る。代替的に、または加えて、コードブックは、上で説明されたような（たとえば、図１９Ｂ〜図１９Ｄに示されるように）関心に基づく分割方式、または、観測される決定された位置のセットをクラスタ化することによって得られない別の分割方式に基づき得る。加えて、決定された位置は、より少数の（または追加の）オブジェクトに対する位置の情報を含み得る。図２４の以下の説明は、第３の画像に対応する決定された位置に基づく。しかしながら、同様の技法が他の決定された位置に適用可能であり得る。
【０１７８】
[00238]第３の画像における決定された位置は、第１の矩形座標データ２１３２と、第２の矩形座標データ２１３４と、第３の矩形座標データ２１３６とを含み得る。第１の矩形座標データ２１３２は、図２０の第３の画像における第１のオブジェクト１７０２のｘ座標の位置と、第３の画像における第１のオブジェクト１７０２のｙ座標の位置とを含み得る。第２の矩形座標データ２１３４は、第３の画像における第２のオブジェクト１７０４のｘ座標の位置と、第３の画像における第２のオブジェクト１７０４のｙ座標の位置とを含み得る。第３の矩形座標データ２１３６は、第３の画像における第３のオブジェクト１７０６のｘ座標の位置と、第３の画像における第３のオブジェクト１７０６のｙ座標の位置とを含み得る。
【０１７９】
[00239]別の特定の実施形態では、矩形座標データ２１３２〜２１３６における各オブジェクト１７０２〜１７０６のｘ座標およびｙ座標は、第３の画像におけるオブジェクト１７０２〜１７０６の重心（ＣM3）に対するものであり得る。たとえば、重心（ＣM3）は原点として指定されてよく、各オブジェクト１７０２〜１７０６の位置（たとえば、ｘ座標およびｙ座標）は原点に対するものであってよい。そのような場合、図１９Ａに示されるようなバスケットボールコートまたは他の競技場の例のように、図１９Ｂ〜図１９Ｄに示されるような不均一な分割方式に従って、選択されたオブジェクト（たとえば、選手）のそのような重心の位置を量子化するのが望ましいことがある。
【０１８０】
[00240]別の特定の実施形態では、特定のオブジェクトは原点として指定されてよく、他のオブジェクトの位置（たとえば、ｘ座標およびｙ座標）は原点に対するものであってよい。特定のオブジェクト（「主要対象のオブジェクト」と呼ばれる）は、次の例、すなわち、ボール（たとえば、スポーツイベントのビデオにおける）、選択された相手（たとえば、スポーツイベントにおける）、犯罪被害者（たとえば、監視ビデオにおける）、花嫁（たとえば、結婚式のビデオにおける）のいずれをも含み得る。主要対象のオブジェクトは、時間とともに移動することがあり（たとえば、人）、または、空間中の固定された位置を有する物体であることがある（たとえば、スポーツのビデオにおけるネット、バスケット、または他のゴール）。非限定的な例として、第１のオブジェクト１７０２は原点として指定されてよく、第２のオブジェクト１７０４および第３のオブジェクト１７０６の位置は原点に対するものであってよい。
【０１８１】
[00241]プロセッサは、等しくないサイズの領域を含む別々の領域への位置空間の分割２１０８に従ってメタデータを生成するために、コードブック２１０２を使用して矩形座標データ２１３２〜２１３６を符号化することができる。例示すると、プロセッサは、第１の符号化された位置データ２１４２へと第１の矩形座標データ２１３２を符号化する（たとえば、量子化する）ことができる。たとえば、プロセッサは、第１の矩形座標データ２１３２を対応する値（たとえば、コードブック２１０２のコードワード）にマッピングして、第１の矩形座標データ２１３２を値（たとえば、第１の符号化された位置データ２１４２）として符号化することができる。加えて、プロセッサは、第２の符号化された位置データ２１４４へと第２の矩形座標データ２１３４を符号化することができる。たとえば、プロセッサは、コードブック２１０２を使用して第２の矩形座標データ２１３４を対応する値にマッピングして、第２の矩形座標データ２１３４を値（たとえば、第２の符号化された位置データ２１４４）として符号化することができる。同様の方式で、プロセッサは、第３の符号化された位置データ２１４６へと第３の矩形座標データ２１３６を符号化することができる。たとえば、プロセッサは、コードブック２１０２を使用して第３の矩形座標データ２１３６を対応する値にマッピングして、第３の矩形座標データ２１３６を値（たとえば、第３の符号化された位置データ２１４６）として符号化することができる。
【０１８２】
[00242]第１の符号化された位置データ２１４２に基づいて、図２０の第３の画像における第１のオブジェクト１７０２（たとえば、オブジェクト１）の位置は、格子２１０８における対応する位置（たとえば、示される領域のセントロイド）として、生成されたメタデータにおいて表され得る。第２の符号化された位置データ２１４４に基づいて、第３の画像における第２のオブジェクト１７０４（たとえば、オブジェクト２）の位置は、格子２１０８における対応する位置として、生成されたメタデータにおいて表され得る。第３の符号化された位置データ２１４６に基づいて、第３の画像における第３のオブジェクト１７０６（たとえば、オブジェクト３）の位置は、格子２１０８における対応する位置として、生成されたメタデータにおいて表され得る。
【０１８３】
[00243]上で述べられたように、決定された位置は、複数の選択されたオブジェクトの幾何学的構成または「編成」の基準の位置であり得る。１つまたは複数の位置（または「基準」）コードブックを使用することに加えて、またはその代わりに、タスクＴ３００は、１つまたは複数の編成（または「相対的」）コードブックを使用するように実施されてよく、この編成コードブックは、基準の位置（たとえば、オブジェクトの重心の位置）に対する空間中の選択されたオブジェクトの編成（たとえば、幾何学的構成、またはこの構成を表す形状）を符号化する。３つの選択されたオブジェクトの非限定的な例では、基準の位置として、２Ｄ空間における選択されたオブジェクトの重心の位置を記憶し、２Ｄ空間における各々の選択されたオブジェクトの、基準の位置に対する位置を、全体で８の自由度で示すメタデータを生成するのが望ましいことがある。これらの値は、（たとえば、８Ｄ空間における）単一のコードワードとして量子化され得る。代替的に、これらの値は、上で説明されたような１つまたは複数の位置コードブックを使用して（たとえば、２Ｄ空間における）基準の位置として、および１つまたは複数の編成コードブック（すなわち、幾何学的構成の候補のインデクシングされたセット）を使用して（たとえば、６Ｄ空間における）オブジェクト編成として、別々に量子化され得る。
【０１８４】
[00244]代替的に、編成コードブックまたは相対的コードブックへのインデックスは、テンプレートのセット（すなわち、幾何学的構成の候補）の１つを特定することができる。そのような場合、示されたテンプレートへの修正（たとえば、スケーリング、回転または他の方向付け、アスペクト比など）は別々に量子化され得る。図３３Ａは３つのテンプレートの例を示し、図３３Ｂは図３３Ａの一番左のテンプレートへの修正の３つの例を示す。
【０１８５】
[00245]編成コードブックは、たとえば、複数のあり得る編成の間の発生の頻度の差、複数のあり得る編成の間の関心のレベル（たとえば、所定の編成に対する類似性）の差、特定の所定の事象（たとえば、得点事象）またはパターン（たとえば、フットボールチームの特定のスターティングフォーメーション）に対するあり得る編成の異なる関連度、空間的な基準から最も遠い選択されたオブジェクトの距離、選択されたオブジェクトの選択されたサブセットの互いからの距離、および／または、選択されたオブジェクトの任意の２つの間の最大の距離に従って、不均一に編成空間（すなわち、すべてのあり得る編成の空間のある部分）を分割するように構成され得る。
【０１８６】
[00246]コードワード（たとえば、符号化された位置データ２１４２〜２１４６）は、固定幅コードワードまたは可変幅コードワードであり得る。特定の実施形態では、プロセッサは、オブジェクトの位置に基づいて（たとえば、オブジェクトが「高密度エリア」にあるかまたは「低密度エリア」にあるかに基づいて）、可変幅コードワードを使用することができる。高密度エリアは、オブジェクト１７０２〜１７０６の少なくとも１つによって頻繁に専有される図２０中の画像のエリアに対応し得る。メタデータ中のビットの数を減らすために、位置空間２１０６の中の高密度エリアに対応するコードワードは、低密度エリアに対応するコードワードよりも少数のビット（すなわち、より短いコードワード）を有し得る（すなわち、占有される頻度の低い格子位置がより長いコードワードを有する）。代替的に、または加えて、不均一な分割方式２１０８は、高密度領域においてより多くの副領域（すなわち、高解像度をもたらすためのより多数の別個のコードワード）と、低密度領域においてより少数の副領域（すなわち、低解像度をもたらすためのより少数の別個のコードワード）とを有する、階層的な方式であり得る。
【０１８７】
[00247]オブジェクトが高密度エリアにある場合、オブジェクトに対するコードワードは、オブジェクトのより「正確な」位置を生成するための相対的に小さな領域を表し得る。たとえば、高密度エリアのオブジェクト１７０２〜１７０６の位置をトラッキングして、フレームごとにより正確なトラッキングを得るために、より多くの数のコードワードが使用され得る。オブジェクトが低密度エリアにある場合、オブジェクトに対するコードワードは、比較的大きな領域を表し得る。特定の実施形態では、高密度エリアおよび低密度エリアは、履歴データの分析に基づいて（たとえば、画面のどのエリアがオブジェクトにより頻繁に占有された履歴を有するかを分析して）決定され得る。別の特定の実施形態では、高密度エリアおよび低密度エリアは事前に決定されていてよい。
【０１８８】
[00248]編成コードブックへのコードワードは、ｎ個の選択されたオブジェクトのｎ個の位置への一意なマッピングを区別することができる（たとえば、各々のそのようなマッピングに対する一意なコードワードを含み得る）。たとえば、図３４Ａは、一意なコードワードとして各々符号化され得る（すなわち、異なるそれぞれの幾何学的構成の候補によって表され得る）３つの選択されたオブジェクトの４つの異なる編成の例を示す。これらの例では、選択されたオブジェクトの各位置は、そのオブジェクトを一意に識別するアイコン（たとえば、円、四角形、または三角形）によって示される。代替的に、編成コードブックへのコードワードは、いくつかの異なる一意なマッピングを符号化することができる。たとえば、図３４Ｂは、図３４Ａの編成に対応する一意ではないマッピングの例を示し、ここで任意の選択されたオブジェクトの位置がｘによって示される。この場合、図３４Ｃは、図３４Ｂの一番左に示される単一の一意ではないマッピング（すなわち、幾何学的構成の候補）によって示され得る、選択されたオブジェクトの６個の一意な編成を示す。
【０１８９】
[00249]コードブック２１０２は、固定されたコードブックまたは適応的なコードブックであり得る。適応的なコードブックは、オブジェクトの位置を表す履歴データに基づいてコードワードの長さを調整することができる（たとえば、可変幅のコードワードを生成することができる）。たとえば、適応コードブックは、画面の頻繁に占有されるエリアの中のオブジェクトに対してより短いコードワードを生成することができ、履歴データに基づいて画面のより稀に占有されるエリアの中のオブジェクトに対してより長いコードワードを生成することができる。対照的に、固定されたコードブックは、履歴データに基づいて変化しなくてよく、固定幅コードワードまたは可変幅コードワードを使用することができる。
【０１９０】
[00250]それぞれの基準の位置に対する複数のあり得る編成の間の発生の頻度または関心のレベルの差を利用する複数の編成コードブックを使用して、編成データを符号化するのが望ましいことがある。たとえば、可変サイズの編成コードブックのセットの中の１つが、基準の位置のコードワードに応じて選択され得る（たとえば、基準の位置がコートの中心にあるときにはより小さいコードブックｖｓ基準の位置がゴールの近くであるときはより大きいコードブック）。
【０１９１】
[00251]図２４の実施形態は、コードブック２１０２を使用してタスクＴ３００によって生成されるメタデータに基づいて、ビデオの特定の部分のような、特定の画像をユーザが検索する（たとえば、位置特定する）ことを可能にし得る。たとえば、位置空間２１０６は、ユーザが異なるオブジェクトに対する異なる位置（たとえば、パラメータ）を選択することを可能にする、ユーザ対話型の格子として画面に表示され得る。この選択に基づいて、モバイルデバイスのユーザは、ビデオを見進める（たとえば、再生する、早送りする、巻き戻すなど）必要なく、同様のオブジェクトの位置構成を有するビデオの所望の部分（たとえば、フレーム）を容易に位置特定することができる。たとえば、方法Ｍ１００は、生成されたメタデータを、分割方式において領域の１つを指定する探索要求と比較した結果に基づいて、１つまたは複数の画像を（たとえば、記憶装置から）検索するタスクを含むように実施され得る。特定の実施形態では、位置空間２１０６のそのような表示は、図２１中のクラスタの画面１８０２と実質的に同様の方式で使用され得る。加えて、生成されたメタデータ２１４２〜２１４６は、圧縮されてエンコーダからデコーダに送信され得る。メタデータ２１４２〜２１４６を圧縮してデコーダに送信することで、デコーダは、比較的少量のデータ（たとえば、量子化された値）を使用して、トラッキングされたオブジェクトの位置を決定することが可能になり得る。たとえば、デコーダは、コードブック２１０２の中の量子化された値に基づいて、オブジェクト１７０２〜１７０６と関連付けられるビデオを復号するように、レンダリング動作を実行することができる。
【０１９２】
[00252]一例では、検索されるフレームは、フットボールゲームまたは他のスポーツイベントにおいて、特定のプレーもしくはプレーのセット、または特定のスターティングフォーメーションの間にだけ発生する、選択されたプレーヤーの間の選択された編成を含む。別の例では、検索されるフレームは、ラップトラック上の近接している特定のレーシングカーの間の選択された編成を含む。そのような選択的な検索によって促されるビデオ分析はまた、特定の編成の発生とのある事象（事前に特定されていないことがある）の相関を検出するために使用され得る。たとえば、潜在的な適用例は、集会（たとえば、立法会議、街頭デモ、社会的な集まり）の中の人々をトラッキングし、（たとえば、意思決定者、トラブルメーカー、触媒の働きをする人物を識別するために）選択された人々の周囲を指定されたイベントと相関付けることを含む。本明細書で説明されるような方法Ｍ１００の実装形態はまた、（たとえば、研究所または動物園の）捕獲されている動物または野生の動物の間の社会的な交流の分析に適用され得る。
【０１９３】
[00253]図２５を参照すると、極座標を使用してオブジェクトの位置に対するメタデータを生成するための方法Ｍ１００の別の特定の適用形態が示されている。図２５の実施形態は、フレームごとに複数のオブジェクトの決定された位置を符号化するために使用され得るコードブック２２０２を示す。決定された位置は、極位置空間２２０６の中の各オブジェクトの位置を示し得る。コードブック２２０２は、位置空間２２０６の中の位置（たとえば、２２３２、２２３４、２２３６）を、等しくないサイズの領域を含む別々の領域への位置空間２２０６の分割２２０８の中の対応する領域（たとえば、２２４２、２２４４、２２４６）にマッピングすることができる。
【０１９４】
[00254]コードブック２２０２は、複数のフレームまたは他の画像２２０４に対するメタデータを生成するために使用され得る。そのようなメタデータは、ビデオストリームに組み込まれてよく、および／または別々にストリーミングされてよく、および／または別のファイルに記憶されてよい。決定された位置は、フレーム中のオブジェクトのための極座標データを含み得る。特定の実施形態では、決定された位置はまた、フレーム中のオブジェクトに対する球面または円柱座標データ（たとえば、３Ｄ座標データ）を含み得る。示される実施形態では、コードブック２１０２は、１００００個のフレーム（または他の画像）にわたって３つのオブジェクトに対する決定された位置をクラスタ化することによって生成され得る。これらの決定された位置はまた、メタデータとして対応するフレームと関連付けられていることがある。特定の実施形態では、第１のフレームは、図２０の第１の画像（たとえば、表示１７１０）に対応してよく、第２のフレームは、図２０の第２の画像（たとえば、表示１７３０）に対応してよく、第３のフレームは、図２０の第３の画像（たとえば、表示１７５０）に対応してよい。この例では、１００００個のフレームに対する決定された位置はコードブック２２０２を得るために使用されるが、他の実施形態では、コードブック２２０２は、より少数の（または追加の）フレームに対する決定された位置に基づき得る。代替的に、または加えて、コードブックは、上で説明されたような（たとえば、図１９Ｂ〜図１９Ｄに示されるように）関心に基づく分割方式、または、観測される決定された位置のセットをクラスタ化することによって得られない別の分割方式に基づき得る。加えて、決定された位置は、より少数の（または追加の）オブジェクトに対する位置の情報を含み得る。図２５の以下の説明は、第３の画像に対応する決定された位置に基づく。しかしながら、同様の技法が他の決定された位置に適用可能であり得る。
【０１９５】
[00255]第３の画像における決定された位置は、極方向データ２２３０と、第１の極座標データ２２３２と、第２の極座標データ２２３４と、第３の極座標データ２２３６とを含み得る。極方向データ２２３０は、重心（ＣM3）（たとえば、図２０の第３の画像の重心（ＣM3）のｘ座標（Ｃｘ）、および第３の画像の重心（ＣM3）のｙ座標（Ｃｙ））の位置を示し得る。極方向データ２２３０はまた、中心として重心（ＣM3）を有する円の半径（Ｒ）を示し得る。スケール係数として実装され得る半径（Ｒ）は、各々のトラッキングされたオブジェクトを包含するのに十分大きいことがある。説明のための例が、極位置空間２２０６に関して図示されている。一例では、タスクＴ３００は、等しくないサイズの領域を含む複数の領域の１つを示すメタデータとして方向の位置（たとえば、重心の位置）を符号化するように実施されてよく、それらの領域は、位置空間２２０６（たとえば、図２４に示されるような矩形座標空間）とは異なり得る、その中で方向の位置が示される対応する位置空間を分割する。
【０１９６】
[00256]第１の極座標データ２２３２は、第１のオブジェクト１７０２（オブジェクト１）の第１の極座標を示し得る。第１の極座標は、重心（ＣM3）からの第１のオブジェクト１７０２の第１の距離（ａ）と、０度の基準から測定される第１のオブジェクト１７０２の第１の角度（θａ）（たとえば、水平線からの角度方向の変位）とを含み得る。第２の極座標データ２２３４は、第２のオブジェクト１７０４（オブジェクト２）の第２の極座標を示し得る。第２の極座標は、重心（ＣM3）からの第２のオブジェクト１７０４の第２の距離（ｂ）と、水平線から測定される第２のオブジェクト１７０４の第２の角度（θｂ）とを含み得る。第３の極座標データ２２３６は、第３のオブジェクト１７０６（オブジェクト３）の第３の極座標を示し得る。第３の極座標は、重心（ＣM3）からの第３のオブジェクト１７０６の第３の距離（ｃ）と、水平線から測定される第１のオブジェクト１７０２の第３の角度（θｃ）とを含み得る。
【０１９７】
[00257]特定の実施形態では、極方向データ２２３０の半径（Ｒ）は、重心（ＣM3）から最も離れているオブジェクトの距離に基づいて正規化され得る。たとえば、半径（Ｒ）は、第１の距離（ａ）が第２の距離（ｂ）および第３の距離（ｃ）より大きい場合、第１の距離（ａ）に等しくてよい。
【０１９８】
[00258]プロセッサは、等しくないサイズの領域を含む領域への位置空間の分割２１０８に従ってメタデータを生成するために、コードブック２２０２を使用して極座標データ２２３２〜２２３６を符号化することができる。例示すると、プロセッサは、第１の符号化された位置データ２２４２へと第１の極座標データ２２３２を符号化する（たとえば、量子化する）ことができる。たとえば、プロセッサは、第１の極座標データ２２３２（極方向データ２２３０に基づく）を対応する値（たとえば、コードブック２２０２のコードワード）にマッピングして、第１の極座標データ２２３２を値（たとえば、第１の符号化された位置データ２２４２）として符号化することができる。加えて、プロセッサは、第２の符号化された位置データ２２４４へと第２の極座標データ２２３４を符号化することができる。たとえば、プロセッサは、コードブック２２０２を使用して第２の極座標データ２２３４（極方向データ２２３０に基づく）を対応する値にマッピングして、第２の極座標データ２２３４を値（たとえば、第２の符号化された位置データ２２４４）として符号化することができる。同様の方式で、プロセッサは、第３の符号化された位置データ２２４６へと第３の極座標データ２２３６を符号化することができる。たとえば、プロセッサは、コードブック２２０２を使用して第３の極座標データ２２３６を対応する値にマッピングして、第３の極座標データ２２３６を値（たとえば、第３の符号化された位置データ２２４６）として符号化することができる。
【０１９９】
[00259]第１の符号化された位置データ２２４２に基づいて、図２０の第３の画像における第１のオブジェクト１７０２（たとえば、オブジェクト１）の位置は、極格子２２０８における対応する位置（たとえば、示される領域のセントロイド）として、生成されたメタデータにおいて表され得る。第２の符号化された位置データ２２４４に基づいて、第３の画像における第２のオブジェクト１７０４（たとえば、オブジェクト２）の位置は、極格子２２０８における対応する位置として、生成されたメタデータにおいて表され得る。第３の符号化された位置データ２２４６に基づいて、第３の画像における第３のオブジェクト１７０６（たとえば、オブジェクト３）の位置は、極格子２２０８における対応する位置として、生成されたメタデータにおいて表され得る。たとえば、極格子２２０８は、格子の原点からの半径方向の距離の範囲に基づいて（たとえば、重心（ＣM3）からの半径方向の距離の範囲に基づいて）、および０度の基準からの角度方向の変位の範囲に基づいて、等しくないサイズの領域を含む複数の領域へと分割され得る。
【０２００】
[00260]図２５の実施形態は、コードブック２２０２を使用してタスクＴ３００によって生成されるメタデータに基づいて、特定の画像（たとえば、ビデオのフレーム）をユーザが検索する（たとえば、位置特定する）ことを可能にし得る。たとえば、極位置空間２２０６は、ユーザが異なるオブジェクトに対する異なる位置（たとえば、パラメータ）を選択することを可能にする、ユーザ対話型の格子として画面に表示され得る。この選択に基づいて、モバイルデバイスのユーザは、ビデオを見進める（たとえば、再生数る、早送りする、巻き戻すなど）必要なく、同様の異議の位置構成を有するビデオの所望の部分（たとえば、フレーム）を容易に位置特定することができる。たとえば、方法Ｍ１００は、生成されたメタデータを、分割方式において領域の１つを指定する探索要求と比較した結果に基づいて、１つまたは複数の画像を（たとえば、記憶装置から）検索するタスクを含むように実施され得る。特定の実施形態では、極位置空間２２０６のそのような表示は、図２１中のクラスタの画面１８０２と実質的に同様の方式で使用され得る。加えて、生成されたメタデータ２２４２〜２２４６は、圧縮されてエンコーダからデコーダに送信され得る。生成されたメタデータ２２４２〜２２４６を圧縮してデコーダに送信することで、デコーダは、比較的少量のデータ（たとえば、量子化された値）を使用して、トラッキングされたオブジェクトの位置を決定することが可能になり得る。たとえば、デコーダは、コードブック２２０２の中の量子化された値に基づいて、オブジェクト１７０２〜１７０６と関連付けられるビデオを復号するように、レンダリング動作を実行することができる。
【０２０１】
[00261]コードワード（たとえば、符号化された位置データ２２４２〜２２４６）は、固定幅コードワードまたは可変幅コードワードであり得る。特定の実施形態では、プロセッサは、オブジェクトの位置に基づいて（たとえば、オブジェクトが「高密度エリア」にあるかまたは「低密度エリア」にあるかに基づいて）、可変幅コードワードを使用することができる。高密度エリアは、オブジェクト１７０２〜１７０６の少なくとも１つによって頻繁に専有される図２０中の画像のエリアに対応し得る。メタデータ中のビットの数を減らすために、極位置空間２２０６の中の高密度エリアに対応するコードワードは、低密度エリアに対応するコードワードよりも少数のビット（すなわち、より短いコードワード）を有し得る（すなわち、占有される頻度の低い格子位置がより長いコードワードを有する）。代替的に、または加えて、不均一な分割方式２２０８は、高密度領域においてより多くの副領域（すなわち、高解像度をもたらすためのより多数の別個のコードワード）と、低密度領域においてより少数の副領域（すなわち、低解像度をもたらすためのより少数の別個のコードワード）とを有する、階層的な方式であり得る。
【０２０２】
[00262]オブジェクトが高密度エリアにある場合、オブジェクトに対するコードワードは、オブジェクトのより「正確な」位置を生成するための相対的に小さな領域を表し得る。たとえば、高密度エリアのオブジェクト１７０２〜１７０６の位置をトラッキングして、フレームごとにより正確なトラッキングを得るために、より多くの数のコードワードが使用され得る。オブジェクトが低密度エリアにある場合、オブジェクトに対するコードワードは、比較的大きな領域を表し得る。特定の実施形態では、高密度エリアおよび低密度エリアは、履歴データの分析に基づいて（たとえば、画面のどのエリアがオブジェクトにより頻繁に占有された履歴を有するかを分析して）決定され得る。別の特定の実施形態では、高密度エリアおよび低密度エリアは事前に決定されていてよい。
【０２０３】
[00263]コードブック２２０２は、固定されたコードブックまたは適応的なコードブックであり得る。適応的なコードブックは、オブジェクトの位置を表す履歴データに基づいてコードワードの長さを調整することができる（たとえば、可変幅のコードワードを生成することができる）。たとえば、適応コードブックは、画面の頻繁に占有されるエリアの中のオブジェクトに対してより短いコードワードを生成することができ、履歴データに基づいて画面のより稀に占有されるエリアの中のオブジェクトに対してより長いコードワードを生成することができる。対照的に、固定されたコードブックは、履歴データに基づいて変化しなくてよく、固定幅コードワードまたは可変幅コードワードを使用することができる。
【０２０４】
[00264]図２６を参照すると、オブジェクトトラッキングを使用したビデオ処理方法２３００の特定の実施形態を示すフローチャートが示される。代替的な実施形態では、方法２３００は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せを使用して実行され得る。
【０２０５】
[00265]方法２３００は、２３０２において、モバイルデバイスにおいて、特定のフレームにおける第１のオブジェクトの第１の位置と、特定のフレームにおける第２のオブジェクトの第２の位置とをトラッキングすることを含み得る。たとえば、図２０を参照すると、第１のオブジェクト１７０２の第１の位置は第３のフレームにおいてトラッキングされてよく、第２のオブジェクト１７０４の第２の位置は第３のフレームにおいてトラッキングされてよい。加えて、第３のオブジェクト１７０６の第３の位置は第３のフレームにおいてトラッキングされ得る。
【０２０６】
[00266]２３０４において、第１の位置と関連付けられる第１の座標データが生成されてよく、第２の位置と関連付けられる座標データが生成されてよい。たとえば、図２４を参照すると、プロセッサは、第３のフレーム中の第１のオブジェクト１７０２の位置と関連付けられる第１の矩形座標データ２１３２と、第３のフレーム中の第２のオブジェクト１７０４の位置と関連付けられる第２の矩形座標データ２１３４とを生成することができる。加えて、プロセッサは、第３のフレーム中の第３のオブジェクト１７０６の位置と関連付けられる第３の矩形座標データ２１３６を生成することができる。
【０２０７】
[00267]別の例として、図２５を参照すると、プロセッサは、第３のフレーム中の第１のオブジェクト１７０２の位置と関連付けられる第１の極座標データ２２３２と、第３のフレーム中の第２のオブジェクト１７０４の位置と関連付けられる第２の極座標データ２２３４とを生成することができる。加えて、プロセッサは、第３のフレーム中の第３のオブジェクト１７０６の位置と関連付けられる第３の極座標データ２２３６を生成することができる。
【０２０８】
[00268]２３０６において、第１の座標データおよび第２の座標データは、第１の符号化された位置データおよび第２の符号化された位置データとしてメタデータを生成するために、コードブックを使用して符号化され得る。たとえば、図２４を参照すると、プロセッサは、第１の符号化された位置データ２１４２（たとえば、コードブック２１０２のコードワード）を生成するために、コードブック２１０２を使用して第１の矩形座標データ２１３２を符号化することができ、プロセッサは、第２の符号化された位置データ２１４４を生成するために、コードブック２１０２を使用して第２の矩形座標データ２１３４を符号化することができる。加えて、プロセッサは、第３の符号化された位置データ２１４６を生成するために、コードブック２１０２を使用して第３の矩形座標データ２１３２を符号化することができる。
【０２０９】
[00269]別の例として、図２５を参照すると、プロセッサは、第１の符号化された位置データ２２４２（たとえば、コードブック２２０２のコードワード）としてメタデータを生成するために、コードブック２２０２を使用して第１の極座標データ２２３２を符号化することができ、プロセッサは、第２の符号化された位置データ２２４４としてメタデータを生成するために、コードブック２２０２を使用して第２の極座標データ２２３４を符号化することができる。加えて、プロセッサは、第３の符号化された位置データ２２４６としてメタデータを生成するために、コードブック２２０２を使用して第３の極座標データ２２３２を符号化することができる。
【０２１０】
[00270]２３０８において、メタデータ（たとえば、第１の符号化された位置データおよび第２の符号化された位置データ）は、入力パラメータに基づく特定のフレームの検索を可能にするために記憶され得る。たとえば、図２４を参照すると、プロセッサは、第１の符号化された位置データ２１４２と第２の符号化された位置データ２１４４とをメモリに記憶することができる。モバイルデバイスのユーザは、パラメータ（たとえば、第１のオブジェクト１７０２および第２のオブジェクト１７０４の所望の位置）を入力することができる。入力パラメータに基づいて、モバイルデバイスは、第１の位置および第２の位置に対応する入力パラメータに応答して、再生のために第３のフレームを検索することができる。
【０２１１】
[00271]別の例として、図２５を参照すると、プロセッサは、第１の符号化された位置データ２２４２と第２の符号化された位置データ２２４４とをメモリに記憶することができる。モバイルデバイスのユーザは、パラメータ（たとえば、第１のオブジェクト１７０２および第２のオブジェクト１７０４の所望の位置）を入力することができる。入力パラメータに基づいて、モバイルデバイスは、第１の位置および第２の位置に対応する入力パラメータに応答して、再生のために第３のフレームを検索することができる。
【０２１２】
[00272]特定の実施形態では、方法２３００はまた、複数のフレームにわたってシーンの第１のエリアの第１の密度をトラッキングすることを含み得る。第１の密度は、第１のオブジェクト１７０２または第２のオブジェクト１７０４が第１のエリアの中にある回数に基づき得る。方法２３００はまた、複数のフレームにわたってシーンの第２のエリアの第２の密度をトラッキングすることを含み得る。第２の密度は、第１のオブジェクト１７０２または第２のオブジェクト１７０４が第２のエリアの中にある回数に基づき得る。方法２３００はさらに、第１の密度を第２の密度と比較することと、第１の密度が第２の密度よりも大きい場合、コードブック２１０２中の第１の量のメタデータを第１のエリアに割り振り、コードブック２１０２中の第２の量のメタデータを第２のエリアに割り振ることを含み得る。第１の量のメタデータは、第２の量のメタデータよりも大きいことがある。たとえば、コードブック２１０２の中の多数のコードワードは第１のエリア（たとえば、高解像度エリア）に対応してよく、少数のコードワードはより密度の低いエリアに対するコードワードの数を減らすための第２のエリア（たとえば、より低解像度のエリア）に対応してよい。
【０２１３】
[00273]図２６の方法２３００は、コードブック２１０２を使用して符号化されたビデオの特定の部分（フレーム）をユーザが検索する（たとえば、位置特定する）ことを可能にし得る。たとえば、格子２１０６は、ユーザが異なるオブジェクトに対する異なる位置（たとえば、パラメータ）を選択することを可能にする、画面上に表示されるユーザ対話型の格子であり得る。この選択に基づいて、モバイルデバイスのユーザは、ビデオを見進める（たとえば、再生する、早送りする、巻き戻すなど）必要なく、同様の異議の位置構成を有するビデオの所望の部分を容易に位置特定することができる。
【０２１４】
[00274]図２７を参照すると、オブジェクトトラッキングを使用したビデオ処理方法２６００の特定の実施形態を示すフローチャートが示される。例示的な実施形態では、方法２６００は、ロボットを使用して実行され得る。
【０２１５】
[00275]２６０２において、方法２６００は、ロボットにおいて、複数のオブジェクトの間の幾何学的配置をトラッキングすることを含み得る。たとえば、ユーザは、トラッキングされるべき特定のオブジェクトをロボットに伝えることができる。特定の実施形態では、ロボットはディスプレイインターフェースを含んでよく、ユーザはディスプレイインターフェースとの対話を介してロボットと交流することができる。別の例として、ロボットは、環境因子に基づいてどのオブジェクトがトラッキングされるべきかを、独立に決定することができる。たとえば、ロボットは、動きを検出するためのセンサを含み得る。検出された動きに基づいて、ロボットは、動きと関連付けられるオブジェクトをトラッキングすることを選択し得る。
【０２１６】
[00276]２６０４において、処理機能が幾何学的配置に基づいて実行され得る。たとえば、ロボットは、幾何学的配置に基づいてオブジェクト間の関係を決定することができる。別の例として、ロボットは、オブジェクトの幾何学的配置に基づいて設定（たとえば、シーン）を決定することができる。
【０２１７】
[00277]図２８を参照すると、オブジェクトトラッキングを使用したビデオ処理を示す特定の実施形態が示される。図２８に示される実施形態に関して説明されるビデオ処理技法は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せによって実行され得る。
【０２１８】
[00278]図２８は、第１の時刻においてキャプチャされるようなシーンを示す、画像２７００を示す。たとえば、画像２７００は、モバイルデバイスの画面に表示されるべきビデオストリームのフレームに対応し得る。モバイルデバイスは、ストリームを（たとえば、モバイルデバイスのカメラによって）キャプチャし、または別のデバイスからストリームを受信するように構成され得る。フレーム２４００に示されるシーンは、第１のオブジェクト２７０２と、第２のオブジェクト２７０４と、第３のオブジェクト２７０６と、星と、木とを含む。示される実施形態では、第１のオブジェクト２７０２は第１の人物に対応してよく、第２のオブジェクト２７０４は第２の人物に対応してよく、第３のオブジェクト２７０６は第３の人物に対応してよい。別の実施形態では、オブジェクト２７０２〜２７０６の少なくとも１つは、モバイルデバイスを介して制御されるロボットに対応し得る。
【０２１９】
[00279]図２８はまた、モバイルデバイスの画面上のフレーム２７００の表示２７１０を示す。モバイルデバイスの画面（たとえば、タッチスクリーン）は、ビューファインダに対応し得る。表示２７１０は、ユーザが（たとえば、タスクＴ２００による）トラッキングのためにオブジェクトを選択することを可能にする、ユーザ選択機構２７１１を含み得る。たとえば、ユーザは、画面２７１０上のユーザ選択機構２７１１をタッチし、第１のオブジェクト２７０２のトラッキングを可能にするために第１のオブジェクト２７０２の周囲で第１の焦点リング２７１２をドラッグすることができる。第１の焦点リング２７１２のそのような配置に応答して、モバイルデバイスは、トラッキングのために第１のオブジェクト２７１２を選択することができる。同様の方式で、ユーザはまた、画面上のユーザ選択機構２７１１をタッチし、第２のオブジェクト２７０４および第３のオブジェクト２７０６の周囲で第２の焦点リング２７１４および第３の焦点リング２７１６をドラッグして、それぞれ、第２のオブジェクト２７０４および第３のオブジェクト２７０６のトラッキングを可能にすることができる。第２の焦点リング２７１４および第３の焦点リング２７１６のそのような配置に応答して、モバイルデバイスは、トラッキングのために、それぞれ第２のオブジェクト２７０４と第３のオブジェクト２７０６とを選択することができる。
【０２２０】
[00280]図２８はまた、第２の時刻においてキャプチャされるようなシーンを示す、画像（たとえば、フレーム）２７２０を示す。画像２７２０において、各オブジェクト２７０２〜２７０６の位置は、第１の時刻におけるシーンを示す画像２７００に示される対応する位置に対して変化している。たとえば、第１のオブジェクト２７０２は星に近づくように移動しており、第２のオブジェクト２７０４は木に近づくように移動しており、第３のオブジェクト２７０６は画像の下部に近づくように移動している。
【０２２１】
[00281]図２４はまた、モバイルデバイスの画面上の画像２７２０の表示２７３０を示す。表示２７３０は、第１のウィンドウ２７３２、第２のウィンドウ２７３４、第３のウィンドウ２７３６、および第４のウィンドウ２７３８へと（たとえば、表示タスクＴ５０によって）区分され得る。ユーザ選択機構２７１１による３つのオブジェクト２７０２〜２７０６の選択に応答して、たとえば、モバイルデバイスは、３つの対応するウィンドウ２７３２〜２７３６および第４のウィンドウ２７３８へと画面２７３０を区分することができる。
【０２２２】
[00282]第１のウィンドウ２７３２は、第１のオブジェクト２７０２を含む画像２７２０の第１の部分を表示することができる。画像２７２０の第１の部分は、画像２７２０の中の第１のオブジェクト２７０２の位置に基づいて決定され得る。たとえば、モバイルデバイスは第１のオブジェクト２７０２の位置をトラッキングすることができ、第１のオブジェクト２７０２の位置に注目しているビデオストリームが第１のウィンドウ２７３２に表示され得る。第２のウィンドウ２７３４は、第２のオブジェクト２７０４を含む画像２７２０の第２の部分を表示することができる。画像２７２０の第２の部分は、画像２７２０の中の第２のオブジェクト２７０４の位置に基づいて決定され得る。たとえば、モバイルデバイスは第２のオブジェクト２７０４の位置をトラッキングすることができ、第２のオブジェクト２７０４の位置に注目しているビデオストリームが第２のウィンドウ２７３４に表示され得る。第３のウィンドウ２７３６は、第３のオブジェクト２７０６を含む画像２７２０の第３の部分を表示することができる。画像２７２０の第３の部分は、画像２７２０の中の第３のオブジェクト２７０６の位置に基づいて決定され得る。たとえば、モバイルデバイスは第３のオブジェクト２７０４の位置をトラッキングすることができ、第３のオブジェクト２７０６の位置に注目しているビデオストリームが第３のウィンドウ２７３６に表示され得る。
【０２２３】
[00283]第４のウィンドウ２７３８は、各オブジェクト２７０２〜２７０６の間の幾何学的配置（たとえば、重心（ＣM2））の指示を表示することができる。たとえば、第４のウィンドウ２７３８は、画像２７２０中のエリアに対応する複数のセクション（グレースケールの線として表されている）を含む格子を含み得る。たとえば、格子の左下のセクションは、画像２７２０の左下のセクションに対応し得る。図２１および図２２に関して説明されるような同様の方式で、モバイルデバイスは、画像２７２０中のオブジェクトの重心（ＣM2）を決定することができる。重心（ＣM2）は、格子の対応するセクションに表示され得る。
【０２２４】
[00284]図２８はまた、（たとえば、第２の時刻の後の）第３の時刻にキャプチャされるようなシーンを示す、画像２７４０を示す。画像２７４０において、各オブジェクト２７０２〜２７０６の位置は、第２の時刻におけるシーンを示す画像２７２０中の対応する位置に対して変化している。たとえば、第１のオブジェクト２７０２は木に近づくように移動しており、第２のオブジェクト２７０４はシーン２７４０の下部に近づくように移動しており、第３のオブジェクト２７０６は星に近づくように移動している。
【０２２５】
[00285]図２８はまた、モバイルデバイスによって生成されるウィンドウ２７３２〜２７３６を使用した、モバイルデバイスの画面上の画像２７４０の表示２７５０を示す。たとえば、第１のウィンドウ２７３２は、第１のオブジェクト２７０２を含む画像２７４０の第１の部分を表示し、第２のウィンドウ２７３４は、第２のオブジェクト２７０４を含む画像２７４０の第２の部分を表示し、第３のウィンドウ２７３６は、第３のオブジェクト２７０６を含む画像２７４０の第３の部分を表示する。
【０２２６】
[00286]第４のウインドウ２７３８は、第３の時刻における画像２７４０を反映するように、指示（たとえば、重心（ＣM2））を更新することができる。モバイルデバイスは、フレームごとに、または非連続的な時間間隔で、幾何学的配置をトラッキングし、更新された幾何学的配置の指示を第４のウィンドウ２７３８に表示することができる。たとえば、第３のフレームにおいて、第４のウィンドウ２７３８は、第３の時刻における画像２７４０中のオブジェクト２７０２〜２７０６の重心（ＣM3）を表示することができる。第４のウィンドウ２７３８はまた、第２のフレームと第３のフレームとの間で（たとえば、タスクＴ２００によって示されるように）オブジェクトの重心をトラッキングする、経路（たとえば、点線）を表示することができる。
【０２２７】
[00287]図２８に示される実施形態は、モバイルデバイスが、フレーム２７００、２７２０、２７４０中のオブジェクト２７０２〜２７０６をトラッキングすることを可能にでき、オブジェクト２７０２〜２７０６に対応する個別化された（たとえば、専心的な）ビデオストリームを別のウィンドウ２７３２〜２７３６に表示することができる。実施形態はまた、ユーザが第４のウィンドウ２７３８中のオブジェクト２７０２〜２７０６の幾何学的配置を見ることを可能にする。モバイルデバイスは、単一のカメラを使用して、または複数のカメラを使用して、図２８に関して説明される技法を実行することができる。
【０２２８】
[00288]図２９を参照すると、オブジェクトトラッキングを使用したビデオ処理方法２８００の特定の実施形態を示すフローチャートが示される。代替的な実施形態では、方法２８００は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せを使用して実行され得る。
【０２２９】
[00289]方法２８００は、２８０２において、モバイルデバイスにおいて、シーン中の第１のオブジェクト、シーン中の第２のオブジェクト、およびシーン中の第３のオブジェクトの選択を受け取ることを含む。たとえば、図２８を参照すると、ユーザは、画面２７１０上のユーザ選択機構２７１１をタッチし、第１のオブジェクト２７０２の周囲で第１の焦点リング２７１２をドラッグし、第２のオブジェクト２７０４の周囲で第２の焦点リング２７１４をドラッグし、第３のオブジェクト２７０６の周囲で第３の焦点リング２７１６をドラッグして、それぞれ、第１、第２、および第３のオブジェクト２７０２〜２７０６のトラッキングを可能にすることができる。表示されるシーンは、キャプチャされモバイルデバイスの画面に表示されるビデオストリームに対応し得る。
【０２３０】
[00290]表示はまた、２８０４において、アット第１のウィンドウ、第２のウィンドウ、第３のウィンドウ、および第４のウィンドウへと区分され得る。たとえば、図２８を参照すると、表示２７３０は、第１のウィンドウ２７３２、第２のウィンドウ２７３４、第３のウィンドウ２７３６、および第４のウィンドウに区分され得る。
【０２３１】
[00291]２８０６において、第１のオブジェクトを含む表示されるシーンの第１の部分は、第１のウィンドウに表示され得る。たとえば、図２８を参照すると、第１のウィンドウ２７３２は、第１のオブジェクト２７０２を含む画像２７２０の第１の部分を表示することができる。画像２７２０の第１の部分は、画像２７２０の中の第１のオブジェクト２７０２の位置に基づいて決定され得る。たとえば、モバイルデバイスは第１のオブジェクト２７０２の位置をトラッキングすることができ、第１のオブジェクト２７０２の位置に注目しているビデオストリームが第１のウィンドウ２７３２に表示され得る。
【０２３２】
[00292]２８０８において、第２のオブジェクトを含む表示されるシーンの第２の部分は、第２のウィンドウに表示され得る。たとえば、図２８を参照すると、第２のウィンドウ２７３４は、第２のオブジェクト２７０４を含む画像２７２０の第２の部分を表示することができる。画像２７２０の第２の部分は、画像２７２０の中の第２のオブジェクト２７０４の位置に基づいて決定され得る。たとえば、モバイルデバイスは第２のオブジェクト２７０４の位置をトラッキングすることができ、第２のオブジェクト２７０４の位置に注目しているビデオストリームが第２のウィンドウ２７３４に表示され得る。
【０２３３】
[00293]２８１０において、第３のオブジェクトを含む表示されるシーンの第３の部分は、第３のウィンドウに表示され得る。たとえば、図２８を参照すると、第３のウィンドウ２７３６は、第３のオブジェクト２７０６を含む画像２７２０の第３の部分を表示することができる。画像２７２０の第３の部分は、画像２７２０の中の第３のオブジェクト２７０６の位置に基づいて決定され得る。たとえば、モバイルデバイスは第３のオブジェクト２７０６の位置をトラッキングすることができ、第３のオブジェクト２７０６の位置に注目しているビデオストリームが第３のウィンドウ２７３６に表示され得る。
【０２３４】
[00294]２８１２において、各オブジェクト間の幾何学的配置の指示が第４のウィンドウに表示され得る。たとえば、図２８を参照すると、第４のウィンドウ２７３８は、各オブジェクト２７０２〜２７０６間の重心（ＣM2）を表示することができる。第４のウインドウ２７３８は、第３の時刻におけるシーンを反映するように重心（ＣM2）を更新することができる。たとえば、第３のフレームにおいて、第４のウィンドウ２７３８は、第３の時刻における画像２７４０中のオブジェクト２７０２〜２７０６の重心（ＣM3）を表示することができる。第４のウィンドウ２７３８はまた、第２のフレームと第３のフレームとの間でオブジェクトの重心をトラッキングする、経路（たとえば、点線）を表示することができる。
【０２３５】
[00295]図２９の方法２８００は、モバイルデバイスが、シーン２７００、２７２０、２７４０中のオブジェクト２７０２〜２７０６をトラッキングすることと、オブジェクト２７０２〜２７０６に対応する個別化された（たとえば、専心的な）ビデオストリームを別のウィンドウ２７３２〜２７３６に表示することとを可能にし得る。方法２８００はまた、ユーザが第４のウィンドウ２７３８中のオブジェクト２７０２〜２７０６の幾何学的配置を見ることを可能にする。モバイルデバイスは、単一のカメラを使用して、または複数のカメラを使用して、方法２８００を実行することができる。
【０２３６】
[00296]図４２を参照すると、オブジェクトトラッキングを使用したビデオ処理を示す特定の実施形態が示される。図４２に示される実施形態に関して説明されるビデオ処理技法は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、またはこれらの任意の組合せによって実行され得る。
【０２３７】
[00297]図４２は、第１の時刻におけるシーンを示す、デジタル画像１１００を示す。たとえば、画像１１００は、キャプチャされモバイルデバイスの画面に表示されるビデオストリームに対応し得る。モバイルデバイスは、ストリームを（たとえば、モバイルデバイスのカメラによって）キャプチャし、または別のデバイスからストリームを受信するように構成され得る。画像１１００に示されるシーンは、第１の関心領域（ＲＯＩ：region of interest）１１０２と、第２のＲＯＩ１１０４と、第３のＲＯＩ１１０６とを含み得る。各ＲＯＩ１１０２〜１１０６は、本明細書で説明される技法（たとえば、図１〜図１０を参照すると、オブジェクトトラッキングおよび検出モジュール２０４および８０４、ならびに／またはタスクＴ２００）に従ってトラッキングされる１つまたは複数のオブジェクトを含むシーン内の領域に対応し得る。
【０２３８】
[00298]例示すると、第１のＲＯＩ１１０２は、トラッキングされたオブジェクトの第１のグループ（たとえば、第１のトラッキングされたオブジェクト１１１０および第３のトラッキングされたオブジェクト１１１４）を含み得る。加えて、第２のＲＯＩ１１０４は、トラッキングされたオブジェクトの第２のグループ（たとえば、第４のトラッキングされたオブジェクト１１２０、第５のトラッキングされたオブジェクト１１２２、および第６のトラッキングされたオブジェクト１１２４）を含んでよく、第３のＲＯＩ１１０６は、トラッキングされたオブジェクトの第３のグループ（たとえば、第７のトラッキングされたオブジェクト１１３０、第８のトラッキングされたオブジェクト１１３２、および第９のトラッキングされたオブジェクト１１３４）を含み得る。第２のトラッキングされたオブジェクト１１１２は、ＲＯＩ１１０２〜１１０４の外側に位置し得る。
【０２３９】
[00299]メタデータは、シーン１１００中の各々のトラッキングされたオブジェクト１１１０〜１１１４、１１２０〜１１２４、１１３０〜１１３４の位置を特定するために（たとえば、タスクＴ３００によって）生成され得る。特定の実施形態では、メタデータは矩形座標データに対応する。たとえば、第１のメタデータは、第１のトラッキングされたオブジェクト１１１０の位置（たとえば、ｘ座標位置およびｙ座標位置）を特定するために生成されてよく、第２のメタデータは、第２のトラッキングされたオブジェクト１１１２の位置を特定するために生成されてよく、以下同様である。他の実施形態では、メタデータは、極座標データ、球面座標データ、円柱座標データ、または３次元直交座標データに対応し得る。
【０２４０】
[00300]各ＲＯＩ１１０２〜１１０６は、ＲＯＩ１１０２〜１１０６中のトラッキングされたオブジェクトの重心によって定義され得る。たとえば、第１のＲＯＩ１１０２は、第１のトラッキングされたオブジェクト１１１０と第３のトラッキングされたオブジェクト１１１４との間の第１の重心（ＣM1）によって定義され得る。第２のＲＯＩ１１０４は、第４のトラッキングされたオブジェクト１１２０、第５のトラッキングされたオブジェクト１１２２、および第６のトラッキングされたオブジェクト１１２４の間の第２の重心（ＣM2）によって定義され得る。第３のＲＯＩ１１０６は、第７のトラッキングされたオブジェクト１１３０、第８のトラッキングされたオブジェクト１１３２、および第９のトラッキングされたオブジェクト１１３４の間の第３の重心（ＣM3）によって定義され得る。
【０２４１】
[00301]図４３に関してより詳細に説明されるように、シーン１１００中の各々のトラッキングされたオブジェクト１１１０〜１１１４、１１２０〜１１２４、１１３０〜１１３４の位置のためのメタデータを符号化するために、コードブックが使用され得る。ＲＯＩ１１０２〜１１０６の１つの内側に位置するトラッキングされたオブジェクトのためのメタデータは、ＲＯＩ１１０２〜１１０６の外側に位置するトラッキングされたオブジェクト（たとえば、第２のトラッキングされたオブジェクト１１１２）のためのメタデータよりも高いビットレートで符号化され得る。より高いビットレートでＲＯＩ１１０２〜１１０６の１つの内部に位置するトラッキングされたオブジェクトのためのメタデータを符号化することは、ＲＯＩ１１０２〜１１０６の中のトラッキングされたオブジェクトの位置が、他のトラッキングされたオブジェクトの位置よりも高いレベルの精度で符号化されることを可能にし得る。
【０２４２】
[00302]図４３を参照すると、オブジェクトの位置のためのメタデータを符号化する特定の実施形態が示される。図４３の実施形態は、フレームごとに複数のオブジェクトの位置のためのメタデータを符号化するために使用され得るコードブック１２０２を示す。メタデータは、格子中の各オブジェクトの位置を示すために使用され得る。
【０２４３】
[00303]コードブック１２０２は、複数のフレーム１２０４に対するメタデータを符号化するために使用され得る。メタデータは、フレーム中のオブジェクトのための矩形座標データ（たとえば、ｘ座標およびｙ座標）、フレーム中のオブジェクトのための極座標、フレーム中のオブジェクトのための球面座標、フレーム中のオブジェクトのための円柱座標、またはフレーム中のオブジェクトのための３次元直交座標を含み得る。示される実施形態では、コードブック１２０２は、１００００個のフレームにわたって３つのオブジェクトのためのメタデータを符号化することができる。特定の実施形態では、第３のフレームは、図４３の第１のフレーム（たとえば、シーン１１００）に対応し得る。１００００個のフレームに対するメタデータがコードブック１２０２において示されるが、他の実施形態では、コードブック１２０２は、より少数の（または追加の）フレームに対するメタデータを符号化することができる。加えて、メタデータは、より少数の（または追加の）オブジェクトに対する位置情報を含み得る。図４３の以下の説明は、第３のフレームに対応するメタデータに基づく。しかしながら、同様の技法が他のメタデータに適用可能であり得る。
【０２４４】
[00304]第３のフレーム中のメタデータは、第１の座標データ１２３２と、第２の座標データ１２３４と、第３の座標データ１２３６と、第４の座標データ１２３７と、．．．、第 ９の座標データ１２３８とを含み得る。第１の座標データ１２３２は、図４２の画像１１００中の第１のトラッキングされたオブジェクト１１１０の座標の位置を含んでよく、第２の座標データ１２３４は、画像１１００中の第２のトラッキングされたオブジェクト１１１２の座標の位置を含んでよく、第３の座標データ１２３６は、画像１１００中の第３のトラッキングされたオブジェクト１１１４の座標の位置を含んでよく、第４の座標データ１２３７は、画像１１００中の第４のトラッキングされたオブジェクト１１２０の座標の位置を含んでよく、以下同様である。
【０２４５】
[00305]プロセッサは、座標データ１２３２〜１２３６を符号化するためにコードブック１２０２を使用することができる。例示すると、プロセッサは、第１のビットレート（たとえば、比較的高いビットレート）を使用して、第１の座標データ１２３２を第１の符号化された位置データ１２４２へと符号化（たとえば、量子化）することができる。たとえば、プロセッサは、第１の座標データ１２３２を対応する値（たとえば、コードブック１２０２のコードワード）にマッピングすることができ、第１の座標データ１２３２を値（たとえば、第１の符号化された位置データ１２４２）として符号化することができる。第１のトラッキングされたオブジェクト１１１０はＲＯＩ（たとえば、図４２の第１のＲＯＩ１１０２）の内部にあるので、プロセッサは第１のビットレートを使用することができる。
【０２４６】
[00306]加えて、プロセッサは、第１のビットレートよりも低い第２のビットレートを使用して、第２の座標データ１２３４を第２の符号化された位置データ１２４４へと符号化することができる。たとえば、プロセッサは、コードブック１２０２を使用して第２の座標データ１２３４を対応する値にマッピングすることができ、第２の座標データ１２３４を値（たとえば、第２の符号化された位置データ１２４４）として符号化することができる。第２のトラッキングされたオブジェクト１１１２は図４２のＲＯＩ１１０２〜１１０６の各々の外部にあるので、プロセッサは第２のビットレートを使用することができる。
【０２４７】
[00307]プロセッサは、第２のビットレートよりも高い第３のビットレートを使用して、第３の座標データ１２３６を第３の符号化された位置データ１２４６へと符号化することができる。たとえば、プロセッサは、コードブック１２０２を使用して第３の座標データ１２３６を対応する値にマッピングして、第３の矩形座標データ１２３６を値（たとえば、第３の符号化された位置データ１２４６）として符号化することができる。第３のトラッキングされたオブジェクト１１１４はＲＯＩ（たとえば、図４２の第１のＲＯＩ１１０２）の内部にあるので、プロセッサは第３のビットレートを使用することができる。特定の実施形態では、第３のビットレートは、第１のビットレートに等しくてよく、または実質的に等しくてよい。
【０２４８】
[00308]プロセッサは、第２のビットレートよりも高い第４のビットレートを使用して、第４の座標データ１２３７を第４の符号化された位置データ１２４７へと符号化することができる。たとえば、プロセッサは、コードブック１２０２を使用して第４の座標データ１２３７を対応する値にマッピングすることができ、第４の座標データ１２３７を値（たとえば、第４の符号化された位置データ１２４７）として符号化することができる。第４のトラッキングされたオブジェクト１１２０はＲＯＩ（たとえば、図４２の第２のＲＯＩ１１０４）の内部にあるので、プロセッサは第４のビットレートを使用することができる。特定の実施形態では、第４のビットレートは、第１のビットレートに実質的に等しくてよい。
【０２４９】
[00309]プロセッサは、第２のビットレートよりも高い第９のビットレートを使用して、第９の座標データ１２３８を第９の符号化された位置データ１２４８へと符号化することができる。たとえば、プロセッサは、コードブック１２０２を使用して第９の座標データ１２３８を対応する値にマッピングすることができ、第９の座標データ１２３８を値（たとえば、第９の符号化された位置データ１２４８）として符号化することができる。第９のトラッキングされたオブジェクト１１３４はＲＯＩ（たとえば、図４２の第３のＲＯＩ１１０６）の内部にあるので、プロセッサは第９のビットレートを使用することができる。特定の実施形態では、第９のビットレートは、第１のビットレートに実質的に等しくてよい。
【０２５０】
[00310]同様の符号化技法が、図４２における他のトラッキングされたオブジェクトの座標データのために実行され得る。ＲＯＩ１１０２〜１１０６の１つの内側に位置するトラッキングされたオブジェクトのためのメタデータ（たとえば、座標データ）は、ＲＯＩ１１０２〜１１０６の外側に位置するトラッキングされたオブジェクト（たとえば、第２のトラッキングされたオブジェクト１１１２）のためのメタデータよりも高いビットレートで符号化され得る。より高いビットレートでＲＯＩ１１０２〜１１０６の１つの内部に位置するトラッキングされたオブジェクトのためのメタデータを符号化することは、トラッキングされたオブジェクトの位置が比較的高いレベルの精度で符号化されることを可能にし得る。
【０２５１】
[00311]図４３の実施形態は、ユーザが、コードブック１２０２を使用して符号化されたデータに基づいてビデオの特定の部分を検索する（たとえば、位置特定する）ことを可能にし得る。たとえば、位置空間は、ユーザが異なるオブジェクトに対する異なる位置（たとえば、パラメータ）を選択することを可能にする、ユーザ対話型の格子として画面に表示され得る。この選択に基づいて、モバイルデバイスのユーザは、ビデオを見進める（たとえば、再生する、早送りする、巻き戻すなど）必要なく、同様のオブジェクトの位置構成を有するビデオの所望の部分（たとえば、フレーム）を容易に位置特定することができる。加えて、符号化された位置データ１２４２〜１２４８は、圧縮されてエンコーダからデコーダに送信され得る。符号化された位置データ１２４２〜１２４８を圧縮してデコーダに送信することで、デコーダは、比較的少量のデータ（たとえば、量子化された値）を使用して、トラッキングされたオブジェクトの位置を決定することが可能になり得る。
【０２５２】
[00312]図４４を参照すると、オブジェクトトラッキングを使用したビデオ処理方法１３００の特定の実施形態を示すフローチャートが示される。代替的な実施形態では、方法１３００は、図１の電子デバイス１０２、図２Ｂのプロセッサ２６４によって実装されるオブジェクトトラッキングおよび検出モジュール２０４、プロセッサによって実装される図８のオブジェクトトラッキングおよび検出モジュール８０４、プロセッサによって実装される図９の平滑化モジュール９６１、図４３のコードブック１２０２、またはこれらの任意の組合せを使用して実行され得る。
【０２５３】
[00313]方法１３００は、１３０２において、モバイルデバイスにおいて、特定のフレームの関心領域に位置する第１のオブジェクトの第１の位置を（たとえば、タスクＴ２００によって）トラッキングすることを含み得る。たとえば、図４２を参照すると、第１のトラッキングされたオブジェクト１１１０の第１の位置がトラッキングされ得る。１３０４において、特定のフレームの関心領域に位置しない第２のオブジェクトの第２の位置が、トラッキングされ得る。たとえば、図４２を参照すると、第２のトラッキングされたオブジェクト１１１２の第２の位置がトラッキングされ得る。
【０２５４】
[00314]１３０６において、第１の位置と関連付けられる第１の座標データおよび第２の位置と関連付けられる座標データが生成され得る。たとえば、図４３を参照すると、プロセッサは、シーン１１００中の第１のトラッキングされたオブジェクト１１１０の位置と関連付けられる第１の座標データ１２３２と、シーン１１００中の第２のトラッキングされたオブジェクト１１１２の位置と関連付けられる第２の座標データ１２３４とを生成することができる。
【０２５５】
[00315]１３０８において、第１の座標データおよび第２の座標データは、第１の符号化された位置データと第２の符号化された位置データとを生成するために、コードブックを使用して（たとえば、タスクＴ３００によって）符号化され得る。たとえば、図４３を参照すると、プロセッサは、第１の符号化された位置データ１２４２（たとえば、コードブック１２０２のコードワード）を生成するために、コードブック１２０２を使用して第１の座標データ１２３２を符号化することができ、プロセッサは、第２の符号化された位置データ１２４４を生成するために、コードブック１２０２を使用して第２の座標データ１２３４を符号化することができる。第１の座標データ１２３２は第１のビットレート（たとえば、高ビットレート）で符号化されてよく、第２の座標データ１２３４は第２のビットレート（たとえば、低ビットレート）で符号化されてよい。第１のトラッキングされたオブジェクト１１１０はＲＯＩ（たとえば、図４２の第１のＲＯＩ１１０２）の内部にあるので、プロセッサは第１のビットレートを使用して第１の座標データ１２３２を符号化することができる。第２のトラッキングされたオブジェクト１１１２は図４２のＲＯＩ１１０２〜１１０６の各々の外部にあるので、プロセッサは第２のビットレートを使用して第２の座標データ１２３４を符号化することができる。
【０２５６】
[00316]１３１０において、第１の符号化された位置データおよび第２の符号化された位置データは、入力パラメータに基づく特定のフレームの検索を可能にするために記憶され得る。たとえば、図４３を参照すると、プロセッサは、第１の符号化された位置データ１２４２と第２の符号化された位置データ１２４４とをメモリに記憶することができる。モバイルデバイスのユーザは、パラメータ（たとえば、第１のトラッキングされたオブジェクト１１１０および第２のトラッキングされたオブジェクト１１１２の所望の位置）を入力することができる。入力パラメータに基づいて、モバイルデバイスは、第１の位置および第２の位置に対応する入力パラメータに応答して、再生のために第３のフレームを検索することができる。
【０２５７】
[00317]特定の実施形態では、方法１３００は、特定のフレームの関心領域に位置する第３のオブジェクトの第３の位置をトラッキングすることを含み得る。たとえば、第３のトラッキングされたオブジェクト１１１４の第３の位置がトラッキングされ得る。第３の位置と関連付けられる第３の座標データが生成され得る。第３の座標データは、第３の符号化された位置データを生成するためにコードブックを使用して符号化され得る。第２のビットレートよりも高い第３のビットレートを使用して、第３の座標データが符号化され得る。第３の符号化された位置データは、入力パラメータに基づく特定のフレームの検索を可能にするために記憶され得る。
【０２５８】
[00318]特定の実施形態では、方法１３００は、特定のフレームの第２の関心領域に位置する第４のオブジェクトの第４の位置をトラッキングすることを含み得る。たとえば、第４のトラッキングされたオブジェクト１１２０の第４の位置がトラッキングされ得る。第４の位置と関連付けられる第４の座標データが生成され得る。第４の座標データは、第４の符号化された位置データを生成するためにコードブックを使用して符号化され得る。第２のビットレートよりも高い第４のビットレートを使用して、第４の座標データが符号化され得る。第４の符号化された位置データは、入力パラメータに基づく特定のフレームの検索を可能にするために記憶され得る。
【０２５９】
[00319]図４４の方法１３００は、コードブック１２０２を使用して符号化されたビデオの特定の部分（フレーム）をユーザが検索する（たとえば、位置特定する）ことを可能にし得る。加えて、方法１３００は、ＲＯＩの内側のトラッキングされたオブジェクトのためのメタデータが、ＲＯＩの外側のオブジェクトよりも高いビットレートで符号化されることを可能にし得る。より高いビットレートでＲＯＩの内部に位置するトラッキングされたオブジェクトのためのメタデータを符号化することは、ＲＯＩの中のトラッキングされたオブジェクトの位置が、他のトラッキングされたオブジェクトの位置よりも高いレベルの精度で符号化されることを可能にし得る。
【０２６０】
[00320]図３８Ａは、一般的な構成によるメタデータを生成するための装置Ａ１００のブロック図を示す。装置Ａ１００は、複数のオブジェクトを選択するために少なくとも１つのデジタル画像を使用するように構成される判別器１００を含み、（たとえば、タスクＴ１００を参照して本明細書で説明されるように）少なくとも１つのデジタル画像は物理空間との関連でオブジェクトを示す。装置Ａ１００はまた、位置空間中の選択されたオブジェクトの位置を示す情報に基づいて、（たとえば、タスクＴ３００を参照して本明細書で説明される）選択されたオブジェクトの複数の幾何学的構成の候補の中から１つを特定するメタデータを生成するように構成される選択器３００を含む。
【０２６１】
[00321]図３８Ｂは、装置Ａ１００の実装形態Ａ１１０のブロック図を示す。装置Ａ１１０は、（たとえば、表示タスクＴ５０を参照して本明細書で説明されるように）少なくとも１つのデジタル画像を表示するように構成される表示モジュール５０を含む。
【０２６２】
[00322]図３８Ｃは、装置Ａ１００の実装形態Ａ１２０のブロック図を示す。装置Ａ１２０は、（たとえば、解析タスクＴ３０を参照して本明細書で説明されるように）少なくとも１つのデジタル画像を生成するためにビデオストリームを解析するように構成される、インターフェース３０を含む。図３８Ｄは、装置Ａ１１０およびＡ１２０の実装形態Ａ１３０のブロック図を示す。
【０２６３】
[00323]図３８Ｅは、装置Ａ１００の実装形態Ａ２００のブロック図を示す。装置Ａ２００は、（たとえば、タスクＴ２００を参照して本明細書で説明されるように）位置空間中の複数のオブジェクトのための基準の位置を決定するように構成されるオブジェクトトラッカー２００を含む。オブジェクトトラッカー２００はまた、ビデオストリーム内で、（たとえば、タスクＴ２００を参照して本明細書で説明されたように）前記複数のオブジェクトをトラッキングするように構成され得る。図３８Ｆ、図３８Ｇ、および図３９Ａは、それぞれ、オブジェクトトラッカー２００の実体を含む、装置Ａ１１０、Ａ１２０、およびＡ１３０の実装形態Ａ２１０、Ａ２２０、およびＡ２３０のブロック図を示す。
【０２６４】
[00324]図３９Ｂは、装置Ａ１００の実装形態Ａ３００のブロック図を示す。装置Ａ２００は、（たとえば、タスクＴ３００を参照して本明細書で説明されるように）選択器３００によって生成されるメタデータをビデオストリームの対応するフレームと関連付けるように構成されるビデオストリームエディタ４００を含む。図３９Ｃおよび図３９Ｄは、ビデオストリームエディタ４００の実体をそれぞれ含む、装置Ａ２００およびＡ２３０の実装形態Ａ３１０およびＡ３３０のブロック図を示す。
【０２６５】
[00325]本明細書で開示されるような装置Ａ１００および／またはＡ５００の実装形態のいずれかは、次のフォームファクタ、すなわち、携帯可能（たとえば、スマートフォン）、運転可能（たとえば、車両またはロボット）、装着可能（たとえば、衣服またはアクセサリ）、および飛行可能（たとえば、ドローン）のいずれかのデバイスのような、モバイルデバイス内で実装され得る。モバイルデバイスは、少なくとも１つのデジタル画像を表示するように構成される１つもしくは複数の画面（たとえば、タッチスクリーン）および／または少なくとも１つのデジタル画像（たとえば、ビデオストリーム）をキャプチャするように構成される１つもしくは複数の撮像ユニット（たとえば、カメラまたは他の画像キャプチャデバイス）を含み得る。
【０２６６】
[00326]図３１を参照すると、上で説明されたビデオ処理技法を実行するように動作可能なコンポーネントを含むワイヤレスデバイス２９００のブロック図が示されている。デバイス２９００は、メモリ２９３２に結合されたデジタル信号プロセッサ（ＤＳＰ）のようなプロセッサ２９１０を含む。デバイス２９００は、本明細書で説明されるような装置Ａ１００および／またはＡ５００の実装形態のいずれかの要素を含むように実装され得るモバイルデバイスの一例である。
【０２６７】
[00327]図３１はまた、プロセッサ２９１０とディスプレイ２９２８とに結合されたディスプレイコントローラ２９２６を示している。特定の実施形態では、表示は、上で説明されたビューファインダまたは画面に対応し得る。メモリ２９３２は、実行可能命令２９５６を含む有形の非一時的プロセッサ可読記憶媒体であり得る。命令２９５６はプロセッサ２９１０のようなプロセッサによって実行され得る。プロセッサ２９１０またはディスプレイコントローラ２９２６のようなプロセッサは、図３の方法３００、図４の方法４００、図５の方法５００、図６の方法６００、図１０の方法１０００、図１２の方法１２００、図１４の方法１４００、図１６の方法１６００、図１９の方法１９００、図２０の方法２０００、２０１０、図２３の方法２３００、図２５の方法２５００、図２６の方法２６００、図２８の方法２８００、方法Ｍ１００、方法Ｍ１１０、方法Ｍ１２０、方法Ｍ１３０、またはこれらの任意の組合せの、少なくとも一部分を実行するように命令２９５６を実行することができる。
【０２６８】
[00328]コーダ／デコーダ（コーデック）２９３４も、プロセッサ２９１０に結合され得る。スピーカー２９３６およびマイクロフォン２９３８が、コーデック２９３４に結合され得る。図３１は、ワイヤレスコントローラ２９４０がプロセッサ２９１０とアンテナ２９４２とに結合され得ることも示す。特定の実施形態では、高周波（ＲＦ）インターフェース２９８０が、ワイヤレスコントローラ２９４０とアンテナ２９４２との間に配設される。
【０２６９】
[00329]特定の実施形態では、プロセッサ２９１０、ディスプレイコントローラ２９２６、メモリ２９３２、コーデック２９３４、およびワイヤレスコントローラ２９４０は、システムインパッケージまたはシステムオンチップデバイス２９２２に含まれる。特定の実施形態では、入力デバイス２９３０（たとえば、上で説明されたようなシーンをキャプチャするために使用されるカメラ）および電源２９４４が、システムオンチップデバイス２９２２に結合される。その上、特定の実施形態では、図３１に示されるように、ディスプレイ２９２８、入力デバイス２９３０、スピーカー２９３６、マイクロフォン２９３８、アンテナ２９４２、電源２９４４、およびＲＦインターフェース２９８０は、システムオンチップデバイス２９２２の外部にある。たとえば、ＲＦインターフェース２９８０は別のチップであってよい。しかしながら、ディスプレイ２９２８、入力デバイス２９３０、スピーカー２９３６、マイクロフォン２９３８、アンテナ２９４２、電源２９４４、およびＲＦインターフェース２９８０の各々は、インターフェースまたはコントローラのような、システムオンチップデバイス２９２２のコンポーネントに結合され得る。
【０２７０】
[00330]位置関連のメタデータによりビデオファイルにアノテーションを付ける多くの例が、（たとえば、タスクＴ３００を参照して）上で説明されている。そのようなアノテーションは、たとえば、検索およびまたは保存のためのフレームの分類およびクラスタ化のような用途のために、オブジェクトトラッキングによって取得される位置を符号化することを含み得る。
【０２７１】
[00331]そのような機能は、ユーザが関心を持ったコンテンツの部分を特定するメタデータを（たとえば、ビデオストリームがキャプチャされるにつれて）作成するために使用され得る。メタデータに基づいて、指定されたコンテンツの高速な検索のための機構を提供することによって、１つまたは複数のビデオストリームのそのような関心に基づく事前フィルタリングの結果を利用するのが望ましいことがある。たとえば、手動の確認の必要を少なくし、またはなくしながら、（たとえば、ビデオファイルの大きな目録の中からの）所望のコンテンツの自動的な抽出をサポートするのが望ましいことがある。
【０２７２】
[00332]図４５Ａは、タスクＸ１００と、Ｘ２００と、Ｘ３００とを含む一般的な構成による画像検索の方法Ｍ５００のフローチャートを示す。タスクＸ１００は、複数の選択されたオブジェクトを特定する情報を取得し、タスクＸ２００は、複数の幾何学的構成の候補のうちの１つを選択する。この選択に応答して、タスクＸ３００は、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す、複数のデジタル画像のうちの少なくとも１つのデジタル画像を特定する。タスクＸ１００、Ｘ２００、およびＸ３００は、たとえば、図１の電子デバイス１０２、プロセッサ２９１０、ワイヤレスデバイス２９００、またはこれらの任意の組合せによって実行され得る。
【０２７３】
[00333]タスクＸ１００は、複数の選択されたオブジェクトを特定する情報を取得する。タスクＸ１００は、（たとえば、タッチスクリーン１１６のようなタッチスクリーンを介して）ユーザから情報を取得するように実施され得る。この場合、ユーザは、タッチスクリーンに表示されたメニューからオブジェクトの１つまたは複数を選択することができる。たとえば、そのようなメニューは、各々が特定の人物に対応するアイコンの表示であってよい（たとえば、ユーザの連絡先リスト中の人々のサムネイル画像）。
【０２７４】
[00334]別の例では、ユーザは、１つまたは複数のビデオファイルと関連付けられるメタデータに基づいて生成されたタッチスクリーン上の表示から、オブジェクトの１つまたは複数を選択することができる。たとえば、画面は、（たとえば、キャプチャの間に）ビデオファイル内でトラッキングされたオブジェクトのアイコンのメニューを表示するように構成され得る。そのような場合、ビデオファイルと関連付けられるメタデータは、トラッキングされたオブジェクトを特定するラベルをビデオファイルの１つまたは複数のフレームの各々の中のオブジェクトの対応する位置と関連付ける情報を含み得る。
【０２７５】
[00335]同様に、ユーザは、関連するメタデータ（たとえば、ビデオファイルのフレーム）を有する画像からオブジェクトの１つまたは複数を選択することができる。そのような場合、タッチスクリーンインターフェースは、オブジェクトに対する位置のメタデータが対応するビデオファイルにおいて入手可能であること（すなわち、オブジェクトがトラッキングされたこと）を示すために、画像内のオブジェクトをハイライトすることによって、画像を表示するように構成され得る。１つのそのような例では、タッチスクリーンインターフェースは、ユーザが一回で複数のオブジェクトを選択することを可能にする（たとえば、オブジェクトの周囲になげなわを描くことによって、または、ピンチまたはズーム動作を使用してオブジェクトの周囲にボックスを作成することによって）ように構成され得る。
【０２７６】
[00336]そのようなタッチスクリーン入力に加えて、またはその代わりに、タスクＸ１００は、音声認識によってユーザから情報を取得するように実施され得る。ユーザは、たとえば、画面に表示されるような利用可能なオブジェクトのリスト（たとえば、上で説明されたようなアイコンのメニュー）からオブジェクトの名前を読み取ることによって、オブジェクトの１つまたは複数を選択することができる。代替的に、ユーザは、探索されることになる少なくともビデオファイルに特定のオブジェクトに対する位置のメタデータが存在することを単に仮定することができ、オブジェクトの名前を言い、（たとえば、連絡先リストから）オブジェクトと関連付けられるアイコンを選択することによって、または、オブジェクトの名前をテキストとして入力することによって、この選択を入力することができる。
【０２７７】
[00337]タスクＸ２００は、（たとえば、図３５を参照して本明細書で説明されるような）複数の幾何学的構成の候補のうちの１つを選択する。タスクＸ２００は、（たとえば、タッチスクリーン１１６のようなタッチスクリーンを介して）ユーザから取得された情報に基づいて、そのような選択を実行するように実施され得る。一例では、ユーザは、所望の構成を示す画像（たとえば、ビデオファイルのフレーム）を指定する。別の例では、ユーザは、アイコン（たとえば、汎用的なアイコン、または所望のオブジェクトのアイコン）を所望の構成に置くことによって、そのような構成を表現する。これらの２つの例のいずれかを利用するタッチスクリーンの構成は、タスクＸ１００とＸ２００の両方に対するユーザ選択情報を単一のユーザ動作で提供するために使用され得ることに留意されたい。たとえば、ユーザは、所望の構成を表現するために、および選択されたオブジェクトを使用してその表現を作成することによって選択されたオブジェクトを示すために、トラッキングされたオブジェクトのアイコンの表示を使用することができる。さらなる例では、ユーザは、そのような構成の表示の中から所望の幾何学的構成の候補を選択することができる。
【０２７８】
[00338]加えて、または代替的に、タスクＸ２００は、音声認識によってユーザから情報を取得するように実施され得る。そのような場合、ユーザは、たとえば「近い（ｃｌｏｓｅ）」、「近い（ｎｅａｒ）」、「遠い」、「隣」、「離れている」のような記述語を使用して、所望の構成を示すことができる。たとえば、音声認識インターフェースは、以下の形態、すなわち、「ジョーとケイトの隣にいるトムを探して」、「ジルとサムから離れているトムを見せて」、「サラの近くにいてジルの遠くにいるトムを表示して」、「サラの隣にいて木から遠くにいるトムを探して」の任意の１つまたは複数の探索要求を認識するように構成され得る。やはり、そのような動作は、タスクＸ１００とＸ２００の両方に対するユーザ選択情報を単一のユーザ動作で提供するために使用され得る。
【０２７９】
[00339]上の例のいずれにおいても、タスクＸ２００は、たとえば、（図３５を参照して上で説明されたような）適切な決定の尺度をユーザにより示されるような構成に適用することによって、幾何学的構成の候補の特定の１つを選択するように実施され得る。さらなる例では、ユーザは、そのような構成の表示の中から所望の幾何学的構成の候補を選択することができる。
【０２８０】
[00340]この選択に応答して、タスクＸ３００は、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す、複数のデジタル画像のうちの少なくとも１つのデジタル画像を特定する。一例では、取得された情報は、複数の選択されたオブジェクトの各々に対して、オブジェクトと関連付けられるラベルを含み、タスクＸ３００は、複数のデジタル画像（たとえば、ビデオファイル）と関連付けられるメタデータ内でラベルを探索するように実施される。そのようなラベルは、オブジェクトの名前、または、オブジェクトを示すためにメタデータ内で使用される任意の他の固有のもしくは非固有のデータ列であり得る。たとえば、ある人物に対するラベルは、ユーザの連絡先リストにおいてその人物のサムネイル画像と関連付けられるデータ列であり得る。
【０２８１】
[00341]複数のデジタル画像と関連付けられるメタデータはまた、特定の候補を示すラベル（たとえば、データ列）を含むように構成され得る。そのような場合、タスクＸ３００は、メタデータ内で、選択された幾何学的構成の候補と関連付けられるラベルを探索するように実施され得る。
【０２８２】
[00342]代替的に、メタデータは、任意の幾何学的構成の候補を示すそのようなデータ列を欠いていることがあるが、それでも、各々の選択されたオブジェクトの位置を示す情報を含んでいることがある。そのような場合、タスクＸ２００は、この位置のメタデータに基づいて、選択された幾何学的構成の候補に従ってオブジェクトが並べられているかどうかを決定するように実施され得る。タスクＸ２００のそのような実施は、たとえば、そのような決定を行うための（たとえば、図３５を参照して）本明細書で説明されるような１つまたは複数の決定の尺度（メトリック）に適用され得る。多くの場合、画像に対するメタデータによって示される位置の間の距離の比較は、さらなる検討から画像を外すのに十分であり得る。
【０２８３】
[00343]選択されたオブジェクトの幾何学的構成に基づく情報の検索のためにビデオファイルまたはストリーム（またはデジタル画像の別の集合体）をフィルタリングするために、本明細書で説明されるような方法Ｍ１００の実装形態を使用するのが望ましいことがある。たとえば、人々が特定の構成にあることが見出される画像を特定するために、そのような実装形態を使用するのが望ましいことがある。そのような検索の潜在的な適用例は、選択されたオブジェクト（たとえば、人々）の近接の発生を他の事象と相関付けることをサポートするために、そのような近接を示すことを含み得る。
【０２８４】
[00344]（たとえば、単一のユーザ選択動作に応答して）複数の保存されているビデオファイル全体を探索するために、方法Ｍ１００の実装形態を適用するのが望ましいことがある。複数のビデオファイルのそのようなグループの各々におけるメタデータの構成は、ファイルごとに異なり得ることがあり得る。たとえば、特定のビデオファイルと関連付けられるメタデータは、オブジェクトを特定するメタデータと位置を示すメタデータとを含み得るが、これらの２つの間の関連付けを欠いていることがある。そのような場合、ビデオファイルは、特定の人々がファイルに示されていることを示すためにタグ付けされることがあり、ファイルは、ビデオストリーム内で選択された人物をトラッキングすることで得られるメタデータを含むこともあるが、トラッキングされた人物はタグにおいて特定される人々と同じではないことがある。それでも、そのようなグループ（たとえば、すべてのファイルが選択されたオブジェクトを示すものとして特定されるグループ）に対して方法Ｍ１００の実装形態の単一の実体を適用するのが望ましいことがある。たとえば、トラッキングされたオブジェクトの所望の構成を有するフレームを特定することによってそのような方法が完了すると、トラッキングされたオブジェクトが選択されたオブジェクトでもあるフレームだけを分離するために、特定されたフレームのセットが調査され得る。
【０２８５】
[00345]タスクＴ２００およびＴ３００を参照して上で説明されたように、ビデオフレームと関連付けられるメタデータは、位置空間中の幾何学的構成に対する基準の位置を示し得る。方法Ｍ５００は、（たとえば、選択された幾何学的構成の候補の位置のユーザによる指示に基づいて）選択された幾何学的構成の候補に対する基準の位置を選択するように実施され得る。そのような場合、タスクＸ３００は、選択されたオブジェクトが幾何学的構成の候補に従って位置空間中の基準の位置に対して並べられている画像を、選択されたオブジェクトが幾何学的構成の候補に従って並べられているが位置空間中の基準の位置に対しては並べられていない画像と区別するように実施され得る。
【０２８６】
[00346]図４５Ｂは、一般的な構成による画像検索のための装置Ａ５００のブロック図を示す。装置Ａ５００は、（Ａ）複数の選択されたオブジェクトを特定する情報と、（Ｂ）複数の幾何学的構成の候補のうちの１つの選択とを取得するように構成される、判別器Ｚ１００を含む。判別器Ｚ１００は、たとえば、音声認識インターフェースおよび／またはタッチスクリーンインターフェースを介して、情報および／または選択を取得するように構成され得る。
【０２８７】
[00347]装置Ａ５００はまた、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す、複数のデジタル画像のうちの少なくとも１つのデジタル画像を特定するように構成される探索エンジンＺ３００を含む。一例では、取得された情報は、複数の選択されたオブジェクトの各々に対して、オブジェクトと関連付けられるラベルを含み、探索エンジンＺ３００は、複数のデジタル画像と関連付けられるメタデータ内でラベルを探索するように実装される。加えて、または代替的に、探索エンジンＺ３００は、複数のデジタル画像と関連付けられるメタデータ内で、選択された幾何学的構成の候補と関連付けられるラベルを探索するように実装され得る。
【０２８８】
[00348]図４５Ｃは、別の一般的な構成による画像検索のための装置ＭＦ５００のブロック図を示す。装置ＭＦ５００は、複数の選択されたオブジェクトを特定する情報を取得するための手段Ｙ１００と、複数の幾何学的構成の候補のうちの１つを選択するための手段Ｙ２００とを含む。装置ＭＦ５００はまた、選択された幾何学的構成の候補に従って並べられている複数の選択されたオブジェクトを示す、複数のデジタル画像のうちの少なくとも１つのデジタル画像を特定するための手段Ｙ３００を含む。一例では、取得された情報は、複数の選択されたオブジェクトの各々に対して、オブジェクトと関連付けられるラベルを含み、手段Ｙ３００は、複数のデジタル画像と関連付けられるメタデータ内でラベルを探索するように実装される。加えて、または代替的に、手段Ｙ３００は、複数のデジタル画像と関連付けられるメタデータ内で、選択された幾何学的構成の候補と関連付けられるラベルを探索するように実装され得る。
【０２８９】
[00349]図４０Ａは、一般的な構成によるメタデータを生成するための装置ＭＦ１００のブロック図を示す。装置ＭＦ１００は、複数のオブジェクトを選択するために少なくとも１つのデジタル画像を使用するための手段Ｆ１００を含み、（たとえば、タスクＴ１００を参照して本明細書で説明されるように）少なくとも１つのデジタル画像は物理空間との関連でオブジェクトを示す。装置ＭＦ１００はまた、位置空間中の選択されたオブジェクトの位置を示す情報に基づいて、（たとえば、タスクＴ３００を参照して本明細書で説明される）選択されたオブジェクトの複数の幾何学的構成の候補の中から１つを特定するメタデータを生成するための手段Ｆ３００を含む。
【０２９０】
[00350]図４０Ｂは、装置ＭＦ１００の実装形態ＭＦ１１０のブロック図を示す。装置ＭＦ１１０は、（たとえば、表示タスクＴ５０を参照して本明細書で説明されるように）少なくとも１つのデジタル画像を表示するための手段Ｆ５０を含む。
【０２９１】
[00351]図４０Ｃは、装置ＭＦ１００の実装形態ＭＦ１２０のブロック図を示す。装置ＭＦ１２０は、（たとえば、解析タスクＴ３０を参照して本明細書で説明されるように）少なくとも１つのデジタル画像を生成するためにビデオストリームを解析するための手段Ｆ３０を含む。図４０Ｄは、装置ＭＦ１１０およびＭＦ１２０の実装形態ＭＦ１３０のブロック図を示す。
【０２９２】
[00352]図４０Ｅは、装置ＭＦ１００の実装形態ＭＦ２００のブロック図を示す。装置ＭＦ２００は、（たとえば、タスクＴ２００を参照して本明細書で説明されるように）位置空間中の複数のオブジェクトのための基準の位置を決定するための手段Ｆ２００を含む。図４１Ｂは、（たとえば、タスクＴ２００を参照して本明細書で説明されたように）ビデオストリーム内で前記複数のオブジェクトをトラッキングするための手段Ｆ２１０を含む、装置ＭＦ１００の実装形態ＭＦ４００のブロック図を示す。図４０Ｆ、図４０Ｇ、および図４１Ａは、手段Ｆ２００の実体をそれぞれ含む、装置ＭＦ１１０、ＭＦ１２０、およびＭＦ１３０の実装形態ＭＦ２１０、ＭＦ２２０、およびＭＦ２３０のブロック図を示す。そのような装置はまた、手段Ｆ２００に加えて、またはその代わりに、手段Ｆ２１０を含むように実施され得る。
【０２９３】
[00353]図４１Ｃは、装置ＭＦ１００の実装形態ＭＦ３００のブロック図を示す。装置ＭＦ２００は、（たとえば、タスクＴ３００を参照して本明細書で説明されるように）手段Ｆ３００によって生成されるメタデータをビデオストリームの対応するフレームと関連付けるための手段Ｆ４００を含む。図４１Ｄおよび図４１Ｅは、手段Ｆ４００の実体をそれぞれ含む、装置ＭＦ２００およびＭＦ２３０の実装形態ＭＦ３１０およびＭＦ３３０のブロック図を示す。
【０２９４】
[00354]さらに、本明細書で開示された実施形態に関して説明された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者は理解されよう。本明細書で開示された装置（たとえば、装置ＭＦ１００、ＭＦ１１０、ＭＦ１２０、ＭＦ１３０、ＭＦ２００、ＭＦ２１０、ＭＦ２２０、ＭＦ２３０、ＭＦ３００、ＭＦ３１０、ＭＦ３３０、ＭＦ４００、ＭＦ５００、Ａ１００、Ａ１１０、Ａ１２０、Ａ１３０、Ａ２００、Ａ２１０、Ａ２２０、Ａ２３０、Ａ３００、Ａ３１０、Ａ３３０、およびＡ５００の中のいずれか）の様々な実装形態の１つまたは複数の要素は、全体または一部が、マイクロプロセッサ、組込みプロセッサ、ＩＰコア、デジタル信号プロセッサ、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＡＳＳＰ（特定用途向け標準製品）、およびＡＳＩＣ（特定用途向け集積回路）のような、論理要素（たとえば、プロセッサ２６１０）の１つまたは複数の固定アレイまたはプログラマブルアレイ上で実行されるように構成された命令の１つまたは複数のセットとして実装され得る。様々な例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップが、上では概して、それらの機能に関して説明された。そのような機能が、ハードウェアとして実装されるかまたはプロセッサ実行可能命令として実装されるかは、具体的な適用例、およびシステム全体に課せられる設計制約に依存する。当業者は、説明されている機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０２９５】
[00355]本明細書で開示された実施形態に関して説明された方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはそれら２つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読取り専用メモリ（ＲＯＭ）、プログラマブル読取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、または当技術分野で知られている任意の他の形態の非一時的記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、特定用途向け集積回路（ＡＳＩＣ）の中に存在し得る。ＡＳＩＣはコンピューティングデバイスまたはユーザ端末の中に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末内に個別のコンポーネントとして存在し得る。
【０２９６】
[00356]開示された実施形態の上記の説明は、当業者が開示された実施形態を製作または使用することを可能にするために提供されている。これらの実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義されている原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書に示された実施形態に限定されることを意図されておらず、以下の特許請求の範囲によって定義される原理および新規な特徴と一致する可能な最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
画像検索の方法であって、
複数の選択されたオブジェクトを特定する情報を取得することと、
複数の幾何学的構成の候補のうちの１つを選択することと、
少なくとも１つのプロセッサによって、前記選択に応答して、複数のデジタル画像のなかから、前記選択された幾何学的構成の候補に従って並べられている前記複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定することと、
を備える方法。
［Ｃ２］
前記取得された情報は、前記複数の選択されたオブジェクトの各々に対して、前記オブジェクトと関連付けられるラベルを含み、
前記特定することは、前記複数のデジタル画像と関連付けられるメタデータ内で前記ラベルを探索することを含む、
Ｃ１に記載の画像検索の方法。
［Ｃ３］
前記特定することは、前記複数のデジタル画像と関連付けられるメタデータ内で、前記選択された幾何学的構成の候補と関連付けられるラベルを探索することを備える、Ｃ１に記載の画像検索の方法。
［Ｃ４］
前記少なくとも１つのデジタル画像は、第１のビデオファイルからの複数のフレームと、第２のビデオファイルからの複数のフレームとを含む、Ｃ１に記載の画像検索の方法。
［Ｃ５］
前記複数の選択されたオブジェクトを特定する情報を前記取得することは、（Ａ）音声認識および（Ｂ）タッチスクリーンのうちの少なくとも１つを使用して実行される、Ｃ１に記載の画像検索の方法。
［Ｃ６］
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令が、
プロセッサによって実行されると、前記プロセッサに、
複数の選択されたオブジェクトを特定する情報を取得させ、
複数の幾何学的構成の候補のうちの１つを選択させ、
前記選択に応答して、複数のデジタル画像のなかから、前記選択された幾何学的構成の候補に従って並べられている前記複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定させる、
命令を記憶する非一時的コンピュータ可読媒体。
［Ｃ７］
前記取得された情報は、前記複数の選択されたオブジェクトの各々に対して、前記オブジェクトと関連付けられるラベルを含み、
前記媒体は、前記プロセッサによって実行されると、前記プロセッサに、前記複数のデジタル画像と関連付けられるメタデータ内で前記ラベルを探索させる命令を記憶する、
Ｃ６に記載の非一時的コンピュータ可読媒体。
［Ｃ８］
前記媒体は、前記プロセッサによって実行されると、前記プロセッサに、前記複数のデジタル画像と関連付けられるメタデータ内で、前記選択された幾何学的構成の候補と関連付けられるラベルを探索させる命令を記憶する、Ｃ６に記載の非一時的コンピュータ可読媒体。
［Ｃ９］
前記少なくとも１つのデジタル画像は、第１のビデオファイルからの複数のフレームと、第２のビデオファイルからの複数のフレームとを含む、Ｃ６に記載の非一時的コンピュータ可読媒体。
［Ｃ１０］
前記複数の選択されたオブジェクトを特定する前記情報は、（Ａ）音声認識および（Ｂ）タッチスクリーンのうちの少なくとも１つを使用して取得される、Ｃ６に記載の非一時的コンピュータ可読媒体。
［Ｃ１１］
画像検索のための装置であって、
複数の選択されたオブジェクトを特定する情報を取得するための手段と、
複数の幾何学的構成の候補のうちの１つを選択するための手段と、
前記選択に応答して、複数のデジタル画像のなかから、前記選択された幾何学的構成の候補に従って並べられている前記複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定するための手段と、
を備える装置。
［Ｃ１２］
前記取得された情報は、前記複数の選択されたオブジェクトの各々に対して、前記オブジェクトと関連付けられるラベルを含み、
前記装置は、前記複数のデジタル画像と関連付けられるメタデータ内で前記ラベルを探索するための手段を含む、Ｃ１１に記載の装置。
［Ｃ１３］
前記装置は、前記複数のデジタル画像と関連付けられるメタデータ内で、前記選択された幾何学的構成の候補と関連付けられるラベルを探索するための手段を備える、Ｃ１１に記載の装置。
［Ｃ１４］
前記少なくとも１つのデジタル画像は、第１のビデオファイルからの複数のフレームと、第２のビデオファイルからの複数のフレームとを含む、Ｃ１１に記載の装置。
［Ｃ１５］
前記複数の選択されたオブジェクトを特定する情報を取得するための前記手段は、（Ａ）音声認識および（Ｂ）タッチスクリーンのうちの少なくとも１つを使用して前記情報を取得するように構成される、Ｃ１１に記載の装置。
［Ｃ１６］
画像検索のための装置であって、
（Ａ）複数の選択されたオブジェクトを特定する情報と、（Ｂ）複数の幾何学的構成の候補のうちの１つの選択とを取得するように構成される判別器と、
前記選択に応答して、複数のデジタル画像のなかから、前記選択された幾何学的構成の候補に従って並べられている前記複数の選択されたオブジェクトを示す少なくとも１つのデジタル画像を特定するように構成される探索エンジンと、
を備える装置。
［Ｃ１７］
前記取得された情報は、前記複数の選択されたオブジェクトの各々に対して、前記オブジェクトと関連付けられるラベルを含み、
前記探索エンジンは、前記複数のデジタル画像と関連付けられるメタデータ内で前記ラベルを探索するように構成される、Ｃ１６に記載の装置。
［Ｃ１８］
前記探索エンジンは、前記複数のデジタル画像と関連付けられるメタデータ内で、前記選択された幾何学的構成の候補と関連付けられるラベルを探索するように構成される、Ｃ１６に記載の装置。
［Ｃ１９］
前記少なくとも１つのデジタル画像は、第１のビデオファイルからの複数のフレームと、第２のビデオファイルからの複数のフレームとを含む、Ｃ１６に記載の装置。
［Ｃ２０］
前記判別器は、（Ａ）音声認識および（Ｂ）タッチスクリーンのうちの少なくとも１つを使用して、前記複数の選択されたオブジェクトを特定する前記情報を取得するように構成される、Ｃ１６に記載の装置。
【図１】
0006419830.tif 000008
【図２Ａ】
0006419830.tif 000009
【図２Ｂ】
0006419830.tif 000010
【図３】
0006419830.tif 000011
【図４】
0006419830.tif 000012
【図５】
0006419830.tif 000013
【図６】
0006419830.tif 000014
【図７】
0006419830.tif 000015
【図８】
0006419830.tif 000016
【図９】
0006419830.tif 000017
【図１０】
0006419830.tif 000018
【図１１Ａ】
0006419830.tif 000019
【図１１Ｂ】
0006419830.tif 000020
【図１１Ｃ】
0006419830.tif 000021
【図１１Ｄ】
0006419830.tif 000022
【図１２】
0006419830.tif 000023
【図１３】
0006419830.tif 000024
【図１４】
0006419830.tif 000025
【図１５Ａ】
0006419830.tif 000026
【図１５Ｂ】
0006419830.tif 000027
【図１５Ｃ】
0006419830.tif 000028
【図１６Ａ】
0006419830.tif 000029
【図１６Ｂ】
0006419830.tif 000030
【図１６Ｃ】
0006419830.tif 000031
【図１７Ａ】
0006419830.tif 000032
【図１７Ｂ】
0006419830.tif 000033
【図１８Ａ】
0006419830.tif 000034
【図１８Ｂ】
0006419830.tif 000035
【図１９Ａ】
0006419830.tif 000036
【図１９Ｂ】
0006419830.tif 000037
【図１９Ｃ】
0006419830.tif 000038
【図１９Ｄ】
0006419830.tif 000039
【図２０】
0006419830.tif 000040
【図２１】
0006419830.tif 000041
【図２２】
0006419830.tif 000042
【図２３】
0006419830.tif 000043
【図２４】
0006419830.tif 000044
【図２５】
0006419830.tif 000045
【図２６】
0006419830.tif 000046
【図２７】
0006419830.tif 000047
【図２８】
0006419830.tif 000048
【図２９】
0006419830.tif 000049
【図３０Ａ】
0006419830.tif 000050
【図３０Ｂ】
0006419830.tif 000051
【図３０Ｃ】
0006419830.tif 000052
【図３０Ｄ】
0006419830.tif 000053
【図３１】
0006419830.tif 000054
【図３２Ａ】
0006419830.tif 000055
【図３２Ｂ】
0006419830.tif 000056
【図３２Ｃ】
0006419830.tif 000057
【図３２Ｄ】
0006419830.tif 000058
【図３３Ａ】
0006419830.tif 000059
【図３３Ｂ】
0006419830.tif 000060
【図３４Ａ】
0006419830.tif 000061
【図３４Ｂ】
0006419830.tif 000062
【図３４Ｃ】
0006419830.tif 000063
【図３５】
0006419830.tif 000064
【図３６】
0006419830.tif 000065
【図３７Ａ】
0006419830.tif 000066
【図３７Ｂ】
0006419830.tif 000067
【図３７Ｃ】
0006419830.tif 000068
【図３７Ｄ】
0006419830.tif 000069
【図３８Ａ】
0006419830.tif 000070
【図３８Ｂ】
0006419830.tif 000071
【図３８Ｃ】
0006419830.tif 000072
【図３８Ｄ】
0006419830.tif 000073
【図３８Ｅ】
0006419830.tif 000074
【図３８Ｆ】
0006419830.tif 000075
【図３８Ｇ】
0006419830.tif 000076
【図３９Ａ】
0006419830.tif 000077
【図３９Ｂ】
0006419830.tif 000078
【図３９Ｃ】
0006419830.tif 000079
【図３９Ｄ】
0006419830.tif 000080
【図４０Ａ】
0006419830.tif 000081
【図４０Ｂ】
0006419830.tif 000082
【図４０Ｃ】
0006419830.tif 000083
【図４０Ｄ】
0006419830.tif 000084
【図４０Ｅ】
0006419830.tif 000085
【図４０Ｆ】
0006419830.tif 000086
【図４０Ｇ】
0006419830.tif 000087
【図４１Ａ】
0006419830.tif 000088
【図４１Ｂ】
0006419830.tif 000089
【図４１Ｃ】
0006419830.tif 000090
【図４１Ｄ】
0006419830.tif 000091
【図４１Ｅ】
0006419830.tif 000092
【図４２】
0006419830.tif 000093
【図４３】
0006419830.tif 000094
【図４４】
0006419830.tif 000095
【図４５Ａ】
0006419830.tif 000096
【図４５Ｂ】
0006419830.tif 000097
【図４５Ｃ】
0006419830.tif 000098