(57)【要約】  デバイスが第１の向きにあるとき、このデバイス上にシーンのビューを表示することを含む、仮想カメラを制御する方法。デバイス上で検出されたユーザー入力に基づいて、デバイスが第１の向きにある間シーン内のロケーションが求められる。デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、デバイス上で仮想カメラについての制御手段が構成されて、仮想カメラが制御される。制御手段の構成は、求められたロケーションに基づいている。仮想カメラを制御する、構成された制御手段に対するコマンドが受信される。【選択図】図２
2020534592.tif 000002
【特許請求の範囲】
【請求項１】
仮想カメラを制御する方法であって、
デバイスが第１の向きにあるとき、該デバイス上にシーンのビューを表示することと、
前記デバイス上で検出されたユーザー入力に基づいて、前記デバイスが前記第１の向きにある間に前記シーン内のロケーションを求めることと、
前記デバイスの向きが前記第１の向きから第２の向きに変化したことを検出することに応答して、前記デバイス上で前記仮想カメラについての制御手段を構成して、前記仮想カメラを制御することであって、前記仮想カメラ制御手段の前記構成は、前記求められたロケーションに基づいていることと、
前記仮想カメラを制御する、前記構成された制御手段に対するコマンドを受信することと、
を含む、方法。
【請求項２】
前記デバイスは、前記デバイスの前記向きが前記第１の向きから前記第２の向きに変化したことを検出することに応答して、仮想カメラビューファインダーを表示する、請求項１に記載の方法。
【請求項３】
前記求められたロケーションについて規定された少なくとも１つの制約に基づいて許容可能な運動方向を選択することと、
前記許容可能な運動方向の制御手段を表示することと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記デバイスは、タッチスクリーンを備え、前記検出されたユーザー入力は、前記タッチスクリーンに適用される１つ以上のジェスチャーに基づいている、請求項１に記載の方法。
【請求項５】
前記デバイスの角度を重力に対して変更することを更に含む、請求項１に記載の方法。
【請求項６】
前記シーン内の複数のロケーションが、前記検出されたユーザー入力に基づいて求められる、請求項１に記載の方法。
【請求項７】
前記ロケーションは、前記仮想カメラが制御される際に前記仮想カメラのモーションを制約するのに用いられる、請求項６に記載の方法。
【請求項８】
前記ロケーションは、前記仮想カメラを位置決めすることができる場所を制約するエリアを規定する、請求項６に記載の方法。
【請求項９】
前記ロケーションは、前記仮想カメラを動かすことができる経路を規定し、該経路は、複数の点及び該点の間の移行部を規定する、請求項６に記載の方法。
【請求項１０】
前記経路は、直線、曲線、軌道のうちの少なくとも１つである、請求項９に記載の方法。
【請求項１１】
経路が前記シーンを視認している複数の物理カメラのロケーションを通過するように前記シーン内のロケーションを用いて該経路を求めることと、
前記求められた経路に沿って前記仮想カメラを動かすことと、
を更に含む、請求項６に記載の方法。
【請求項１２】
前記複数のロケーションのうちの各々は、対応する視認時間に関連付けられ、該視認時間は、点の間の移行の速度を制御する、請求項６に記載の方法。
【請求項１３】
前記ロケーションは、前記シーン内の被写体の前記ロケーションに対応し、前記仮想カメラは、前記被写体が前記シーン内を移動する際に、前記被写体に対する位置及び前記被写体を向く方向を維持するように構成される、請求項１に記載の方法。
【請求項１４】
前記ロケーション及び前記仮想カメラの位置の双方が、空間成分及び時間成分を含む、請求項１に記載の方法。
【請求項１５】
インターフェースにおいて、前記シーン内の第２のロケーションを求める第２のユーザー入力を検出することと、前記第１のロケーション及び前記第２のロケーションのインジケーションを表示することと、前記仮想カメラの時間成分が全ての第１のロケーションの時間成分を超えた場合、前記第２のロケーションに従って前記仮想カメラ制御手段を構成することとを更に含む、請求項６に記載の方法。
【請求項１６】
前記空間成分及び前記時間成分のうちの少なくとも１つを用いてロケーションを補間することを更に含む、請求項１４に記載の方法。
【請求項１７】
対応する制約に基づいて、前記第１のロケーションと前記第２のロケーションとの間の移行を求めることを更に含む、請求項１５に記載の方法。
【請求項１８】
前記デバイスの向きが、前記第２の向きから、実質的に前記第１の向きに戻るように変化したことを検出することに応答して、前記シーン内の更なるロケーションが求められる、請求項１に記載の方法。
【請求項１９】
仮想カメラを構成するコンピュータープログラムが記憶された非一時的コンピューター可読媒体であって、前記方法は、
デバイスが第１の向きにあるとき、該デバイス上にシーンのビューを表示するコードと、
前記デバイス上で検出されたユーザー入力に基づいて、前記デバイスが前記第１の向きにある間に前記シーン内のロケーションを求めるコードと、
前記デバイスの向きが前記第１の向きから第２の向きに変化したことを検出することに応答して、前記デバイス上で前記仮想カメラについての制御手段を構成して、前記仮想カメラを制御するコードであって、前記仮想カメラ制御手段の前記構成は、前記求められたロケーションに基づいている、コードと、
前記仮想カメラを制御する、前記構成された制御手段に対するコマンドを受信するコードと、
を含む、非一時的コンピューター可読媒体。
【請求項２０】
インターフェースと、
ディスプレイと、
メモリと、
プロセッサと、
を備えるシステムであって、
前記プロセッサは、前記メモリ上に記憶された、仮想カメラを構成する方法を実施するコードを実行するように構成され、前記方法は、
デバイスが第１の向きにあるとき、該デバイス上にシーンのビューを表示することと、
前記デバイス上で検出されたユーザー入力に基づいて、前記デバイスが前記第１の向きにある間に前記シーン内のロケーションを求めることと、
前記デバイスの向きが前記第１の向きから第２の向きに変化したことを検出することに応答して、前記デバイス上で前記仮想カメラについての制御手段を構成して、前記仮想カメラを制御することであって、前記仮想カメラ制御手段の前記構成は、前記求められたロケーションに基づいていることと、
前記仮想カメラを制御する、前記構成された制御手段に対するコマンドを受信することと、
を含む、システム。
【請求項２１】
仮想カメラを構成するように適応されたタブレットデバイスであって、
タッチスクリーンと、
メモリと、
プロセッサであって、
デバイスが第１の向きにあるとき、該デバイス上にシーンのビューを表示し、
前記デバイス上で検出されたユーザー入力に基づいて、前記デバイスが前記第１の向きにある間に前記シーン内のロケーションを求め、
前記デバイスの向きが前記第１の向きから第２の向きに変化したことを検出することに応答して、前記デバイス上で前記仮想カメラについての制御手段を構成して、前記仮想カメラを制御し、前記仮想カメラ制御手段の前記構成は、前記求められたロケーションに基づいており、
前記仮想カメラを制御する、前記構成された制御手段に対するコマンドを受信する、
前記メモリ上に記憶されたコードを実行するように構成された、プロセッサと、
を備える、タブレットデバイス。
【請求項２２】
リモートデバイスを制御する方法であって、
デバイスが第１の向きにあるとき、シーンの第１のビューを含む第１のユーザーインターフェースを表示することと、
前記デバイスが前記第１のユーザーインターフェースを表示する前記第１の向きにある間、前記シーンの前記第１のビュー内のロケーションを規定するユーザー入力を前記デバイス上で受信することであって、前記規定されたロケーションは、前記リモートデバイスを動作させるための所定の制約に関連付けられることと、
前記デバイスの向きが前記第１の向きから第２の向きに変化したことを検出することに応答して、前記シーンの第２のビューをキャプチャーするために前記所定の制約に従った前記規定されたロケーションに基づいて前記リモートデバイスの制御手段を構成することと、
を含む、方法。
【請求項２３】
前記デバイスを用いて前記構成された制御手段に基づいて前記リモートデバイスを制御することを更に含み、前記デバイスは、前記リモートデバイスを制御することに応答して前記シーンの前記第２のビューをキャプチャーする第２のユーザーインターフェースを表示する、請求項２２に記載の方法。
【請求項２４】
デバイスを制御する方法であって、
デバイスが第１の向きにあるとき、第１のユーザーインターフェースを表示することと、
前記デバイスが前記第１のユーザーインターフェースを表示する前記第１の向きにある間、前記デバイスが第２の向きにあるときの更なるユーザー入力の解釈を規定するユーザー入力を前記デバイス上で受信することと、
前記デバイスの向きが前記第１の向きから前記第２の向きに変化したことを検出することに応答して、第２のユーザーインターフェースを用いて前記デバイスを制御することと、
を含み、前記第２のユーザーインターフェースに関連した少なくとも１つのユーザー入力は、前記規定された解釈に基づいて解釈される、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想カメラの制御に関し、特に、インタラクション手段を通じた仮想カメラビューの生成及び仮想カメラ設定の制御に関する。また、本発明は、仮想カメラを制御する方法及び装置、並びに、仮想カメラを制御するコンピュータープログラムを記録したコンピューター可読媒体を備えるコンピュータープログラム製品に関する。
【背景技術】
【０００２】
画像ベースレンダリングは、カメラ画像の集合体からの仮想視点の合成を可能にする。例えば、被写体が環状に並んだ物理カメラによって取り囲まれた配置では、カメラ構成及び物理カメラによってキャプチャーされたシーンの十分な知識が利用可能である場合に、（物理カメラ）キャプチャービューの間の位置に対応する被写体の新たな（仮想カメラ）ビューを、キャプチャービュー又はビデオストリームから合成することができる。
【０００３】
近時、任意の視点を合成する能力が、「自由視点」ビデオを目的として推進されてきた。「自由視点」ビデオでは、視聴者は、ビデオキャプチャーシステムの制約内でカメラ視点を自身の好みに能動的に調整することができる。或いは、ビデオ制作者又はカメラマンは、自由視点技術を用いて、受動的な放送視聴者の視点を構築することができる。スポーツ放送の場合、制作者又はカメラマンは、スポーツのライブ放送中に該当する視点をキャプチャーするために、正確かつタイムリーな方法で仮想カメラ視点を構築する役割を負う。
【０００４】
３Ｄ  Ｓｔｕｄｉｏ  Ｍａｘ、Ｂｌｅｎｄｅｒ等の製品コンセプト開発及びレンダリングに用いられる３Ｄモデリングソフトウェアにおいて使用される方法のような、仮想環境内に仮想カメラを位置決めする業界標準方法が既知である。このようなシステムでは、仮想カメラは、仮想カメラ、仮想カメラの視線、又は仮想カメラ及び仮想カメラの視線の双方を選択し、移動させ、ドラッグすることによって構成される。カメラの移動は、３次元（３Ｄ）世界が視認される角度を変更することによって、３Ｄ位置決めウィジェットを用いることによって、又はユーザーインターフェース（ＵＩ）における制約をアクティブ化すること（例えば、アクティブ平面を選択すること）によって制約することができる。３Ｄ環境において、マウスによってクリック及びドラッグして、カメラの位置及び視線（向き）の双方を設定することが可能である。一方、視野又は焦点距離等の他のカメラ設定値の編集は、ユーザーインターフェース制御を用いて行われる。
【０００５】
ケーブルカム及びドローンベースカメラ、又は他のロボットカメラのリモート制御のような実世界において物理カメラを移動させる方法が既知である。これらのリモート制御を伴う方法は、実環境又は仮想環境において、例えば、映画の特殊効果シーケンス又はコンソールゲームについて、仮想カメラを構成するのに用いることができる。ケーブルカム及びドローンカメラを構成することは、１つ以上のジョイスティック又は他のハードウェアコントローラーを用いてカメラの位置及び視点を変更することを伴う。ケーブルカム及びドローンシステムは、カメラを正確に位置決めすることができるが、カメラ（複数の場合もある）を位置にナビゲートするのに時間を要するので、高速に位置決めすることができない。ナビゲーションを原因とするこの遅延によって、リモート制御システムは、多くの場合に速いペースで進行し得るスポーツフィールド、競技アリーナ、又はスタジアム上でのアクションに対する応答性が低下する。ズーム（視野）、焦点距離（焦点）等の他のカメラ設定の変更は、「ズームロッカー」又は「フォーカスホイール」等の他のハードウェアコントローラーを同時に操作することによって達成される。これらのハードウェアコントローラーの操作には、多くの場合、両手が必要とされ、時に２人のオペレーター（４つの手）が必要とされることもあり、多くの時間を要する。
【０００６】
仮想カメラを構成する別の既知の方法は、仮想現実ヘッドギア、移動電話又はタブレットコンピューターを用いて空間をナビゲートすることを伴い、これにより、ユーザーは、仮想シーン内に存在するという見かけの表現が提示される。仮想現実ヘッドギア、移動電話又はタブレットコンピューターは、デバイスのモーションを、仮想シーン内の仮想カメラの位置及び向きに対する補償的な変化に整合させることによって、仮想空間を覗いているという錯覚を維持するようにユーザーのモーションに応答することができる。典型的には、仮想カメラモーションは、加速度計等の慣性ナビゲーション方法を用いるか、カメラを用いて周囲環境を追跡するか、又は、都市等の大規模空間においてユーザーを位置特定するＧＰＳユニットを用いて、ユーザーのモーションに整合される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のカメラ制御インタラクションは、通常、スポーツ放送等の用途には不適切である。なぜならば、上述のインタラクション及びシステムを用いたカメラナビゲーションは、比較的多くの時間を要するか、又はリアルタイムで高速のアクションを追従することができないからである。仮想カメラ制御においては、正確かつタイムリーな方法で仮想カメラビューを生成及び制御する方法について、満たされていない要求が存在する。
【０００８】
本発明の目的は、現在の構成の少なくとも１つの不利点を実質的に克服するか又は少なくとも改善することである。
【課題を解決するための手段】
【０００９】
仮想カメラを制御するとともに、仮想カメラビューを生成する構成が開示される。開示される構成において、仮想カメラ設定を、モバイルデバイスの向きを用いたインタラクションを通じて制御することができる。シーンのビューは、１つの向きにある間モバイルコンピューティングデバイス上に表示することができ、シーン内のロケーションは、モバイルコンピューティングデバイスを用いて入力されるユーザー入力に応答して求めることができる。モバイルコンピューティングデバイスを再方向付けした後、シーン内のロケーションは、モバイルコンピューティングデバイスを用いてユーザーが仮想カメラを制御することができる仮想カメラ制御手段を構成するのに用いることができる。
【００１０】
１つの構成では、ユーザー入力は、仮想カメラが後にシミュレートされたシーンを通して移動することができる経路を規定するのに用いることができる。デバイスを再方向付けした後、仮想カメラのポイントオブビューからのシーンを描画する仮想カメラビューファインダーを表示することができ、仮想カメラが以前に規定された経路に沿って移動するように、ユーザーが仮想カメラを制御することができる。経路の規定によって制約されていない仮想カメラのパラメーター及び属性は、システムによって構成される種々の制御手段を用いてユーザーが自由に制御することができ、例えば、被写体の正しいフレーミングが可能になる。
【００１１】
本開示の１つの態様によれば、仮想カメラを制御する方法であって、
デバイスが第１の向きにあるとき、デバイス上にシーンのビューを表示することと、
デバイス上で検出されたユーザー入力に基づいて、デバイスが第１の向きにある間シーン内のロケーションを求めることと、
デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、デバイス上で仮想カメラについての制御手段を構成して、仮想カメラを制御することであって、仮想カメラ制御手段の構成は、求められたロケーションに基づいていることと、
仮想カメラを制御する、構成された制御手段に対するコマンドを受信することと、
を含む、方法が提供される。
【００１２】
本開示の別の態様によれば、仮想カメラを構成するコンピュータープログラムが記憶された非一時的コンピューター可読媒体であって、方法は、
デバイスが第１の向きにあるとき、デバイス上にシーンのビューを表示するコードと、
デバイス上で検出されたユーザー入力に基づいて、デバイスが第１の向きにある間シーン内のロケーションを求めるコードと、
デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、デバイス上で仮想カメラについての制御手段を構成して、仮想カメラを制御するコードであって、仮想カメラ制御手段の構成は、求められたロケーションに基づいている、コードと、
仮想カメラを制御する、構成された制御手段に対するコマンドを受信するコードと、
を含む、非一時的コンピューター可読媒体が提供される。
【００１３】
本開示の更に別の態様によれば、
インターフェースと、
ディスプレイと、
メモリと、
プロセッサと、
を備えるシステムであって、
プロセッサは、メモリ上に記憶された、仮想カメラを構成する方法を実施するコードを実行するように構成され、方法は、
デバイスが第１の向きにあるとき、デバイス上にシーンのビューを表示することと、
デバイス上で検出されたユーザー入力に基づいて、デバイスが第１の向きにある間シーン内のロケーションを求めることと、
デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、デバイス上で仮想カメラについての制御手段を構成して、仮想カメラを制御することであって、仮想カメラ制御手段の構成は、求められたロケーションに基づいていることと、
仮想カメラを制御する、構成された制御手段に対するコマンドを受信することと、
を含む、システムが提供される。
【００１４】
本開示の更に別の態様によれば、仮想カメラを構成するように適応されたタブレットデバイスであって、
タッチスクリーンと、
メモリと、
プロセッサであって、
デバイスが第１の向きにあるとき、デバイス上にシーンのビューを表示し、
デバイス上で検出されたユーザー入力に基づいて、デバイスが第１の向きにある間シーン内のロケーションを求め、
デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、デバイス上で仮想カメラについての制御手段を構成して、仮想カメラを制御し、仮想カメラ制御手段の構成は、求められたロケーションに基づいており、
仮想カメラを制御する、構成された制御手段に対するコマンドを受信する、
メモリ上に記憶されたコードを実行するように構成された、プロセッサと、
を備える、タブレットデバイスが提供される。
【００１５】
本開示の更に別の態様によれば、リモートデバイスを制御する方法であって、
デバイスが第１の向きにあるとき、シーンの第１のビューを含む第１のユーザーインターフェースを表示することと、
デバイスが第１のユーザーインターフェースを表示する第１の向きにある間、シーンの第１のビュー内のロケーションを規定するユーザー入力をデバイス上で受信することであって、規定されたロケーションは、リモートデバイスを動作させるための所定の制約に関連付けられることと、
デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、シーンの第２のビューをキャプチャーするために所定の制約に従った規定されたロケーションに基づいてリモートデバイスの制御手段を構成することと、
を含む、方法が提供される。
【００１６】
本開示の更に別の態様によれば、デバイスを制御する方法であって、
デバイスが第１の向きにあるとき、第１のユーザーインターフェースを表示することと、
デバイスが第１のユーザーインターフェースを表示する第１の向きにある間、デバイスが第２の向きにあるときの更なるユーザー入力の解釈を規定するユーザー入力をデバイス上で受信することと、
デバイスの向きが第１の向きから第２の向きに変化したことを検出することに応答して、第２のユーザーインターフェースを用いてデバイスを制御することと、
を含み、第２のユーザーインターフェースに関連した少なくとも１つのユーザー入力は、規定された解釈に基づいて解釈される、方法が提供される。
【００１７】
本発明の他の態様も開示される。
【００１８】
次に、本発明の１つ以上の例示の実施形態を以下の図面を参照して説明する。
【図面の簡単な説明】
【００１９】
【図１】スポーツスタジアムを取り囲むネットワーク化されたビデオカメラの配置を示す図である。
【図２】仮想カメラを制御する方法の概略フロー図である。
【図３Ａ】特定の向きにおける電子デバイスを示す図である。
【図３Ｂ】図３Ａに示された向きとは異なる向きにおける図３Ａの電子デバイスを示す図である。
【図４Ａ】電子デバイスの一例示の構成において、タッチジェスチャーを用いて２つの端点間をトレースする経路の一例を示す図である。
【図４Ｂ】電子デバイスの別の例示の構成を用いて仮想カメラを構成するときに、ユーザーが、用いられるエリアをスイープして描き出す一例を示す図である。
【図４Ｃ】電子デバイスの別の例示の構成を用いてシーンの表現における単一のロケーション又は被写体を示すためにジェスチャーの一例を示す図である。
【図５Ａ】電子デバイスの１つの構成において、時系列制御手段に同様に関連付けられる経路を生成するユーザーインタラクションを示す図である。
【図５Ｂ】電子デバイス上に表示される時間スライダーを示す図である。
【図５Ｃ】電子デバイス上に表示される時系列を示す図である。
【図６Ａ】電子デバイスのタッチスクリーン上に表示される可視ナビゲーション制御手段を示す図である。
【図６Ｂ】電子デバイスを用いて仮想カメラを制御するのに用いることができる運動を示す図である。
【図７】仮想カメラナビゲーションを構成及び制御するユーザージェスチャー及び／又はデバイスモーションを受け入れるシステムを示す図である。
【図８Ａ】本明細書に記載の構成を実施することができる電子デバイスの概略ブロック図表現を合わせて形成する図である。
【図８Ｂ】本明細書に記載の構成を実施することができる電子デバイスの概略ブロック図表現を合わせて形成する図である。
【発明を実施するための形態】
【００２０】
添付図面のうちの任意の１つ以上において、同じ参照符号を有するステップ及び／又は特徴を参照する場合、それらのステップ及び／又は特徴は、別段の意図が明らかにされていない限り、本明細書において同じ機能（複数の場合もある）又は動作（複数の場合もある）を有する。
【００２１】
仮想カメラビューを生成及び制御する既知の方法は、ライブスポーツ放送等の相対的に高速の仮想カメラ構成を必要とする用途には適していないことが多い。
【００２２】
本明細書に記載の構成では、仮想カメラ等のリモートデバイスの特性の定義は、ユーザーがタッチスクリーン等のインターフェースを用いてジェスチャーを行うことによって実現される。ジェスチャーの属性が、仮想カメラの複数の特性を定義する。ジェスチャーによって、応答型仮想スポーツ放送システムによって必要とされるタイムフレーム内で仮想カメラを構成することが可能になる。さらに、デバイス（例えば、図８Ａ及び図８Ｂに示される汎用電子デバイス８０１）の向きの変化により、仮想カメラの以前に規定された特徴を、新たなインタラクションモードにおいて、潜在的には、新たなモードにおけるデバイスを用いたユーザーインタラクションを通じて規定される仮想カメラの新たな又は追加の特徴とともに、使用することが可能になる。
【００２３】
本明細書に記載の方法は、図１に示されるようなスポーツフィールド又は同様のパフォーマンスフィールドであるパフォーマンス競技場１１０の状況において用いられるように適応されている。図１は、ほぼ長方形、長円形又は円形の実際の物理的な競技フィールドが中心にある競技場１１０を含むシステム１００を示している。競技場１１０のこの形状によって、１つ以上の環状に並んだ物理カメラ１２０Ａ〜１２０Ｘによって競技場１１０を取り囲むことが可能になる。図１において見て取られるように、競技場１１０は、一重の環状に並んだカメラ１２０Ａ〜１２０Ｘを含む。カメラ１２０Ａ〜１２０Ｘの各々は、競技場１１０に対するそれぞれの所定のロケーションに物理的に配置される。例示のシステム１００では、競技場１１０はフィールドである。ただし、別の構成では、競技場１１０は、音楽ステージ、シアター、一般の会場若しくは私有の会場、又は物理カメラ及び既知の空間レイアウトの同様の構成を有する任意の会場とすることができる。例えば、本明細書に記載の構成は、鉄道駅プラットフォーム等のエリアにおける監視に用いることもできる。
【００２４】
競技場１１０は、図１の例では、被写体１４０を含む。被写体１４０の各々は、競技場１１０上又は競技場１１０付近の人、ボール、車両又は任意の構造物とすることができる。カメラ１２０Ａ〜１２０Ｘは、同時刻にフレームをキャプチャーするように同期され、競技場１１０上の全ての地点が多数のポイントオブビュー（視点）から同時にキャプチャーされるようになっている。
【００２５】
いくつかの変形形態では、図１に示されるような環状に並んだカメラ全てが用いられるのではなく、逆に、環状に並んだカメラの何らかのサブセット（複数の場合もある）を用いることができる。環状に並んだカメラのサブセットを用いる構成は、いくつかの特定の視点が事前に不要であるとわかっているときに有利であり得る。
【００２６】
カメラ１２０Ａ〜１２０Ｘによってキャプチャーされたビデオフレームは、ネットワーク接続８２１を介して、ビデオ処理を実行するように構成されたプロセッサ８０５（図８Ａ及び図８Ｂを参照）に利用可能にされる前に、カメラ１２０Ａ〜１２０Ｘの近くで処理されて一時的に記憶される。プロセッサ８０５は、仮想カメラの位置、向き、ズーム及び場合によっては他のシミュレーションされたカメラ特徴を指定する制御入力をコントローラー１８０のインターフェースから受信する。仮想カメラは、カメラ１２０Ａ〜１２０Ｘから受信されたビデオデータから生成されたロケーション、方向及び視野を表す。コントローラー１８０は、ユーザーからのタッチ入力を認識する。ユーザーからのタッチ入力の認識は、容量検出、抵抗検出、コンダクタンス検出、ビジョン検出等のいくつかの異なる技術を通じて行うことができる。プロセッサ８０５は、当該プロセッサ８０５に利用可能なビデオストリームに基づいて、指定された仮想カメラ透視ビュー１９０を合成し、合成透視画をビデオディスプレイ８１４上に表示するように構成されている。ビデオディスプレイ８１４は、様々な構成体、例えば、タッチスクリーンディスプレイ、又は仮想現実ヘッドセットのうちの１つとすることができる。ビデオディスプレイ８１４がタッチスクリーンである場合、ビデオディスプレイ８１４は、コントローラー１８０のインターフェースも提供することができる。仮想カメラ透視ビューは、仮想カメラの生成から得られるビデオデータのフレームを表す。
【００２７】
「仮想カメラ」は、仮想カメラの機能が、カメラの間の補間等の方法によって、又は、単に任意の単一の物理カメラの出力ではなく、シーン（競技場１１０等）を取り囲む多くのカメラ（カメラ１２０Ａ〜１２０Ｘ等）からのデータを用いて構築された仮想モデル化３次元（３Ｄ）シーンからのレンダリングによって計算的に導出されるものであることから仮想と呼ばれる。
【００２８】
仮想カメラ位置の入力は、人間の仮想カメラオペレーターが生成することができ、ジョイスティック、マウス、又は複数の入力構成要素を備える専用コントローラーを含む同様のコントローラー等のユーザーインターフェースデバイスからの入力に基づくことができる。代替的に、カメラ位置は、ゲームプレーの解析に基づいて完全自動で生成することができる。カメラの位置決めのいくつかの態様が人間のオペレーターによって指示され、それ以外が自動化アルゴリズムによって指示されるハイブリッド制御構成も可能である。例えば、粗い位置決めは人間のオペレーターが行うことができ、安定化及び経路平滑化を含む微細な位置決めは自動化アルゴリズムが行うことができる。
【００２９】
プロセッサ８０５は、任意の適切な画像ベースレンダリング方法を用いてフレーム合成を実現するように構成することができる。画像ベースレンダリング方法は、既知の幾何学的配置の一組のカメラ１２０Ａ〜１２０Ｘからのピクセルデータをサンプリングすることに基づくものとすることができる。レンダリング方法は、サンプリングされたピクセルデータ情報を合成フレームに組み合わせる。要求されたフレームのサンプルベースレンダリングに加えて、プロセッサ８０５は、付加的に、必要に応じて、サンプリング欠陥をカバーする領域の合成、３Ｄモデリング、インペインティング又は補間を行うとともに、高品質の視覚的外観のフレームを作成するように構成することができる。プロセッサ８０５によって作成された一例示のビデオビュー１９０は、その後、カメラ１２０Ａ〜１２０Ｘから受信されたビデオストリームを合わせて編集して放送ビデオを形成することができる制作デスク（図示せず）に提供することができる。代替的に、仮想カメラ透視ビュー１９０は、未編集のまま放送することもできるし、後の編纂に備えて記憶することもできる。
【００３０】
プロセッサ８０５は、カメラ１２０Ａ〜１２０Ｘによってキャプチャーされたビデオデータに対して被写体検出及び被写体追跡を含む画像解析を行うようにも構成することができる。特に、プロセッサ８０５は、仮想カメラ視野内の被写体を検出及び追跡するのに用いることができる。
【００３１】
上述の図１の構成によって与えられる融通性は、物理カメラを用いるライブビデオカバレッジにおいて事前に予想されていなかった副次的な一組の問題を提示する。特に、上述したように、スポーツフィールド上のどの場所においてもフィールド上のアクションに応答していつでも仮想カメラを生成する方法における問題が特定されている。
【００３２】
図８Ａ及び図８Ｂは、説明される方法が望ましく実施される、組み込み構成要素を備える汎用電子デバイス８０１の概略ブロック図を併せて形成している。１つの構成では、図１のコントローラー１８０は、電子デバイス８０１（例えば、タブレットデバイス）の一部を形成する。他の構成では、コントローラー１８０は、プロセッサ８０５（例えば、クラウドサーバー）に対する別個のデバイス（例えば、タブレット）の一部を形成することができ、これらの別個のデバイスは、インターネット等のネットワークを介して通信する。
【００３３】
電子デバイス８０１は、例えば、処理リソースが限られているモバイルフォン又はタブレットとすることができる。それにもかかわらず、説明される方法は、デスクトップコンピューター、サーバーコンピューター、及び非常に大きな処理リソースを有する他のそのようなデバイス等のより高レベルのデバイス上でも実行することができる。
【００３４】
図８Ａ及び図８Ｂに見られるように、デバイス８０１は、内部記憶モジュール８０９に双方向結合されたプロセッサ（又は処理ユニット）８０５を備える。記憶モジュール８０９は、図８Ｂに見られるように、不揮発性半導体リードオンリーメモリ（ＲＯＭ）８６０及び半導体ランダムアクセスメモリ（ＲＡＭ）８７０から形成することができる。ＲＡＭ８７０は、揮発性メモリ、不揮発性メモリ又は揮発性メモリ及び不揮発性メモリの組み合わせとすることができる。ＲＯＭモジュール及びＲＡＭモジュールの双方を、データバス又は他の手段を介してプロセッサ８０５に結合することができる。
【００３５】
電子デバイス８０１は、液晶ディスプレイ（ＬＣＤ）パネル等のビデオディスプレイ８１４に接続されたディスプレイコントローラー８０７を備える。ディスプレイコントローラー８０７は、ディスプレイコントローラー８０７が接続された組み込みコントローラー８０２から受信された命令に従ってグラフィカル画像をビデオディスプレイ８１４上に表示するように構成されている。
【００３６】
電子デバイス８０１は、通常はキー、キーパッド又は同様の制御手段によって形成されるユーザー入力デバイス８１３も備える。１つの構成では、ユーザー入力デバイス８１３は、ビデオディスプレイ８１４に物理的に関連付けられて、全体としてタッチスクリーンを形成するタッチセンサー８２９を含む。このタッチスクリーンは、したがって、通常はキーパッドディスプレイの組み合わせとともに用いられるプロンプト駆動型ＧＵＩ又はメニュー駆動型ＧＵＩとは対照的なグラフィカルユーザーインターフェース（ＧＵＩ）の１つの形態として動作することができる。音声コマンド用のマイクロフォン（図示せず）又はメニューについてのナビゲーションを容易にするためのジョイスティック／サムホイール（図示せず）等の他の形態のユーザー入力デバイスも用いることができる。本明細書に記載の構成では、ビデオディスプレイ８１４及びタッチセンサー８２９は、仮想カメラの制御を構成するためにジェスチャーが受信される際に経由するコントローラー１８０のタッチスクリーンインターフェースを形成する。
【００３７】
図８Ａに見られるように、電子デバイス８０１は、接続８１９を介してプロセッサ８０５に結合されたポータブルメモリインターフェース８０６も備える。ポータブルメモリインターフェース８０６は、データのソース若しくはデスティネーションが内部記憶モジュール８０９を補助することを可能にする。そのようなインターフェースの例は、ユニバーサルシリアルバス（ＵＳＢ）メモリデバイス、セキュアデジタル（ＳＤ）カード、パーソナルコンピューターメモリカード国際協会（ＰＣＭＩＡ）カード、光ディスク及び磁気ディスク等のポータブルメモリデバイスとの結合を可能にする。
【００３８】
電子デバイス８０１は、デバイス８０１を、接続８２１を介してコンピューター又は通信ネットワーク８２０に結合することを可能にする通信インターフェース８０８も有する。接続８２１は、有線又は無線とすることができる。例えば、接続８２１は、無線周波数又は光とすることができる。有線接続の一例はイーサネットを含む。さらに、無線接続の一例は、Ｂｌｕｅｔｏｏｔｈ（商標）タイプのローカル相互接続、Ｗｉ−Ｆｉ（ＩＥＥＥ８０２．１１ファミリーの規格に基づくプロトコルを含む）、赤外線データ協会（ＩｒＤａ）等を含む。物理カメラ１２０Ａ〜１２０Ｘは、通常、接続８２１を介して電子デバイス８０１と通信する。
【００３９】
通常、電子デバイス８０１は、或る特殊機能を実行するように構成されている。例えば、デバイス８０１がタブレットである場合、構成要素８２９は、タブレットのホバーセンサー又はタッチスクリーンを表すことができる。
【００４０】
別の例として、デバイス８０１は、モバイル電話ハンドセットとすることができる。この場合、通信インターフェース（複数の場合もある）８０８は、セルラー電話環境における通信を提供することができる。
【００４１】
デバイス８０１がポータブルデバイスである場合、モーションセンサー８２８及び／又はカメラ８２７は、空間ロケーション、距離、向き、速度、加速度、重力、磁気、音波、レーダー、又は、これらの変化を、特徴点ディスパリティ（feature point disparity）、飛行時間検知、レーザー測距、容量性タッチ検知、加速度計測定等の、従来技術において既知の方法を用いて検知する能力を提供することができる。
【００４２】
デバイス８０１がメディアプレーヤーである場合、ディスプレイコントローラー８０７は、ジョイントフォトグラフィックエキスパートグループ（ＪＰＥＧ）、ムービングピクチャエキスパートグループ（ＭＰＥＧ）、ＭＰＥＧ−１オーディオレイヤー３（ＭＰ３）等を含むタイプのいくつかのエンコーダー及びデコーダーを含むことができる。
【００４３】
以下に記載の方法は、組み込みコントローラー８０２を用いて実施することができ、この場合、図２のプロセスは、組み込みコントローラー８０２内で実行可能な１つ以上のソフトウェアアプリケーションプログラム８３３として実施することができる。図８Ａの電子デバイス８０１は、本明細書に記載の方法を実施する。特に、図８Ｂに関して、本明細書に記載の方法のステップは、コントローラー８０２内で実行されるソフトウェア８３３における命令によって行われる。ソフトウェア命令は、１つ以上の特定のタスクをそれぞれ実行する１つ以上のコードモジュールとして形成することができる。このソフトウェアは、２つの個別の部分に分割することもでき、第１の部分及び対応するコードモジュールは、記載の方法を実行し、第２の部分及び対応するコードモジュールは、第１の部分とユーザーとの間のユーザーインターフェースを管理する。
【００４４】
組み込みコントローラー８０２のソフトウェア８３３は、通常、内部記憶モジュール８０９の不揮発性ＲＯＭ８６０に記憶される。ＲＯＭ８６０に記憶されたソフトウェア８３３は、必要なときにコンピューター可読媒体から又はネットワークを介して更新することができる。ソフトウェア８３３は、プロセッサ８０５内にロードされてプロセッサ８０５によって実行することができる。いくつかの場合には、プロセッサ８０５は、ＲＡＭ８７０に配置されたソフトウェア命令を実行することができる。ソフトウェア命令は、プロセッサ８０５がＲＯＭ８６０からＲＡＭ８７０内への１つ以上のコードモジュールのコピーを開始することによって、ＲＡＭ８７０内にロードすることができる。或いは、１つ以上のコードモジュールのソフトウェア命令は、製造業者によってＲＡＭ８７０の不揮発性領域にプレインストールすることができる。１つ以上のコードモジュールがＲＡＭ８７０に配置された後、プロセッサ８０５は、１つ以上のコードモジュールのソフトウェア命令を実行することができる。
【００４５】
アプリケーションプログラム８３３は、通常、電子デバイス８０１の配布前に、製造業者によってプレインストールされ、ＲＯＭ８６０に記憶される。ただし、いくつかの場合には、アプリケーションプログラム８３３は、外部記憶媒体８２５上にコード化されてユーザーに供給することができ、内部記憶モジュール８０９に記憶する前に、図８Ａのポータブルメモリインターフェース８０６を介して読み取ることができる。別の代替形態では、ソフトウェアアプリケーションプログラム８３３は、プロセッサ８０５によってネットワーク８２０から読み取ることもできるし、他のコンピューター可読媒体からプロセッサ８０５又はポータブル記憶媒体８２５内にロードすることもできる。コンピューター可読記憶媒体は、命令及び／又はデータを実行及び／又は処理のためにコントローラー８０２に提供することに関与する任意の非一時的有形記憶媒体を指す。そのような記憶媒体の例は、フロッピーディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ若しくは集積回路、ＵＳＢメモリ、光磁気ディスク、フラッシュメモリ、又はＰＣＭＣＩＡカード等のコンピューター可読カードを含み、そのようなデバイスがデバイス８０１の内部にあるのか又は外部にあるのかを問わない。ソフトウェア、アプリケーションプログラム、命令及び／又はデータをデバイス８０１に提供することに同様に関与することができる一時的コンピューター可読伝送媒体又は非有形コンピューター可読伝送媒体の例には、無線伝送チャネル又は赤外線伝送チャネル、並びに別のコンピューター又はネットワーク化デバイスへのネットワーク接続、及び電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットが含まれる。そのようなソフトウェア又はコンピュータープログラムが記録されたコンピューター可読媒体が、コンピュータープログラム製品である。
【００４６】
上述したアプリケーションプログラム８３３の第２の部分及び対応するコードモジュールは、図８Ａのディスプレイ８１４上にレンダリング又は別の方法で表示される１つ以上のグラフィカルユーザーインターフェース（ＧＵＩ）を実施するのに実行することができる。ユーザー入力デバイス８２７、８２８及び８２９の操作を通じて、デバイス８０１及びアプリケーションプログラム８３３のユーザーは、機能的に適応可能な方法でインターフェースを操作して、ＧＵＩ（複数の場合もある）に関連したアプリケーションに制御コマンド及び／又は制御入力を提供することができる。ラウドスピーカー（図示せず）を介して出力される発話プロンプトと、マイクロフォン（図示せず）を介して入力されるユーザー音声コマンドとを利用するオーディオインターフェース等の他の形態の機能的適応可能ユーザーインターフェースも実装することができる。
【００４７】
図８Ｂは、アプリケーションプログラム８３３を実行するプロセッサ８０５及び内部記憶装置８０９を有する組み込みコントローラー８０２を詳細に示している。内部記憶装置８０９は、リードオンリーメモリ（ＲＯＭ）８６０及びランダムアクセスメモリ（ＲＡＭ）８７０を備える。プロセッサ８０５は、接続されたメモリ８６０及び８７０の一方又は双方に記憶されたアプリケーションプログラム８３３を実行することができる。電子デバイス８０１が最初に電源投入されると、ＲＯＭ８６０に常駐するシステムプログラムが実行される。アプリケーションプログラム８３３は、ＲＯＭ８６０に永続的に記憶されると「ファームウェア」と呼ばれることがある。プロセッサ８０５によるファームウェアの実行は、プロセッサ管理、メモリ管理、デバイス管理、記憶管理及びユーザーインターフェースを含む様々な機能を遂行することができる。
【００４８】
プロセッサ８０５は、通常、制御ユニット（ＣＵ）８５１と、算術論理ユニット（ＡＬＵ）８５２と、任意選択で、デジタル信号プロセッサ（ＤＳＰ）８５３と、通常はデータ要素８５６、８５７を含む一組のレジスタ８５４を備えるローカルメモリ又は内部メモリとを含むいくつかの機能モジュールを、内部バッファー又はキャッシュメモリ８５５とともに備える。１つ以上の内部バス８５９は、これらの機能モジュールを相互接続する。プロセッサ８０５は、通常、接続８６１を用いてシステムバス８８１を介して外部デバイスと通信する１つ以上のインターフェース８５８も有する。
【００４９】
アプリケーションプログラム８３３は、条件付き分岐命令及びループ命令を含むことができる命令８６２〜８６３のシーケンスを含む。プログラム８３３は、プログラム８３３の実行中に用いられるデータも含むことができる。このデータは、命令の一部として記憶することもできるし、ＲＯＭ８６０内の別個のロケーション８６４又はＲＡＭ８７０に記憶することもできる。
【００５０】
一般に、プロセッサ８０５には、当該プロセッサにおいて実行される命令のセットが与えられる。この命令のセットは、特定のタスクを実行するブロック又は電子デバイス８０１内で発生する特定のイベントをハンドリングするブロックに編成することができる。通常、アプリケーションプログラム８３３は、イベントを待機し、その後、そのイベントに関連したコードのブロックを実行する。イベントは、図８ＡのＩ／Ｏインターフェースを通じて接続されたユーザー入力デバイス８１３を介したユーザーからの入力がプロセッサ８０５によって検出されると、この入力に応答してトリガーすることができる。イベントは、電子デバイス８０１における他のセンサー及びインターフェースに応答してトリガーすることもできる。
【００５１】
命令のセットの実行は、数値変数の読み出し及び変更を必要とする場合がある。そのような数値変数は、ＲＡＭ８７０に記憶することができる。開示された方法は、メモリ８７０内の既知のロケーション８７２、８７３に記憶された入力変数８７１を用いる。入力変数８７１は処理されて、出力変数８７７が生成され、メモリ８７０内の既知のロケーション８７８、８７９に記憶される。中間変数８７４は、メモリ８７０のロケーション８７５、８７６における追加のメモリロケーションに記憶することができる。代替的に、いくつかの中間変数は、プロセッサ８０５のレジスタ８５４にのみ存在することができる。
【００５２】
命令のシーケンスの実行は、プロセッサ８０５においてフェッチ−実行サイクルを繰り返し適用することによって実現される。プロセッサ８０５の制御ユニット８５１は、実行される次の命令のＲＯＭ８６０又はＲＡＭ８７０におけるアドレスを含むプログラムカウンターと呼ばれるレジスタを保持する。フェッチ実行サイクルの開始時に、プログラムカウンターによって指し示されたメモリアドレスの内容が、制御ユニット８５１内にロードされる。このようにロードされた命令は、プロセッサ８０５のその後の動作を制御し、例えば、ＲＯＭメモリ８６０からプロセッサレジスタ８５４内へのデータのロード、或るレジスタの内容と別のレジスタの内容との算術的結合、或るレジスタの内容の別のレジスタに記憶されたロケーションへの書き込み等をプロセッサに行わせる。フェッチ実行サイクルの終了時、プログラムカウンターは、システムプログラムコードにおける次の命令を指し示すように更新される。実行されたばかりの命令に応じて、これは、プログラムカウンターに含まれるアドレスをインクリメントすること、又は、分岐動作を実現するために新たなアドレスを有するプログラムカウンターをロードすることを伴う場合がある。
【００５３】
以下に記載の方法のプロセスにおける各ステップ又は各サブプロセスは、アプリケーションプログラム８３３の１つ以上のセグメントに関連付けられ、プロセッサ８０５におけるフェッチ−実行サイクルの繰り返し実行又は電子デバイス８０１内の他の独立したプロセッサブロックの同様のプログラム動作によって実行される。
【００５４】
本明細書に記載の構成では、コントローラー１８０は、タブレットデバイス８０１のスクリーン８１４に関係している。ビデオディスプレイ８１４及びセンサー８２９は、ユーザーが競技場１１０の表示された描写とインタラクトすることができるとともに、競技場１１０に関連したビデオフッテージを視聴することができるインターフェースを提供する。
【００５５】
ここで、仮想カメラを制御する方法２００が、図２を参照して説明される。方法２００は、デバイス８０１のＲＯＭ８６０及び／又はＲＡＭ８７０内に存在するとともに、プロセッサ８０５による実行において制御されるソフトウェアアプリケーションプログラム８３３の１つ以上のソフトウェアコードモジュールとして実施することができる。方法２００は、仮想カメラを制御することを参照して説明される。しかしながら、方法２００及び以下で説明される他の方法は、仮想カメラ又は物理カメラ（例えば、１２０Ａ）の形態を取ることができる任意のリモートデバイスを制御するために用いることができる。
【００５６】
方法２００は、特定ステップ２１０から開始し、ここで、プロセッサ８０５の実行下で電子デバイス８０１の向きが特定される。例えば、電子デバイス８０１は、ユーザーが或る向きに保持することができ、デバイスの向きは、ステップ２１０において特定される。向きは、通常、加速度計、カメラ、重力センサー等のセンサーの使用を通じて受動的に特定される。この向きは、重力の方向に対して特定することもできるし、ユーザーの向きに対して特定することもできるし、ユーザーの周囲環境等に対して特定することもできるし、これらの方法の組み合わせとすることもできる。スペースステーション上等の微小重力の状況では、デバイス８０１の向きは、デバイス８０１のその時点の加速度計の測定値が指定する任意のものに対して特定することができる。後の時点で、特定の外部の向きのリファレンスを必ずしも必要とすることなく、デバイス８０１の加速度計の測定値の変化を求めることができる。ステップ２１０において特定されるデバイスの向きの変化は、後の時点で、以下で説明されるようにステップ２３０において検知することができる。
【００５７】
方法２００は、検出ステップ２２０において継続し、ここで、デバイス８０１のユーザーインターフェースにおけるユーザー入力が、プロセッサ８０５の実行下で検出される。ステップ２２０は、典型的には、いくつかの有用な特性を組み込む。典型的には、デバイス８０１は、デバイス８０１が第１の向きにあるときのシーンの関連ビューを表示する。例えば、デバイス８０１がグラウンドに実質的に平行に（すなわち、重力の方向が加速度計、画像センサー、重力センサー又は他のセンサーのいずれかから求められるときの重力の方向に垂直に）方向付けされているとき、シーンのトップダウンビュー（又はヘリコプタービュー）を、ディスプレイ８１４上に表示することができる。シーンは、シーンの事前記録された３次元記録、又はシーンのライブビュー、又は他の何らかのシーンの表現、例えば、２次元（２Ｄ）図、建築レンダリング（architectural rendering）、概略図、グラフィック、若しくは他の何らかの視覚抽象物とすることができる。別の構成では、ユーザーの顔の長手方向軸に対するデバイス８０１の向きを、シーンの関連ビューを選択するのに用いることができる。付加的に、ユーザーの両目を通る横方向軸を、ユーザーに対するデバイス８０１の向きを求めるのに用いることができる。例えば、顔の長手方向軸がデバイス８０１に対して４５度未満の角度をなして方向付けされている場合、デバイス８０１は、実質的に鉛直に方向付けされているものとみなされ、側方ビューを表示することができる。一方で、顔の長手方向軸がデバイス８０１に対して４５度を超える角度をなして方向付けされている場合、デバイス８０１は、グラウンドに実質的に平行に方向付けされているものとみなされ、デバイス８０１のビデオディスプレイ８１４上にトップダウンビューを表示することができる。
【００５８】
長手方向軸がデバイス８０１に平行に方向付けされているとき、この軸とデバイス８０１との間の角度は、０度であるものとみなされる。一方で、デバイスの向きの、表示されるビューへの多数のマッピングが可能である。
【００５９】
ステップ２２０の一部として、ユーザーからの任意の入力がプロセッサ８０５の実行下で検出される。ユーザー入力の検出は、タッチスクリーン上でのタッチジェスチャーの検出の形態を取ることができる。
【００６０】
経路は、ユーザーによって、いくつかの方法のうちの任意のものを用いて規定することができる。例えば、開始及び停止点を示すことができ、１つ以上のフリーハンド線をトレースすることができ、形状、例えば円又は長方形を示すことができ、１つ以上の指を用いてエリアをスイープして描き出すことができ（may be swept out）、このような方法のシーケンスを、逐次的に又は複数の指を用いて同時に指定することができる。ステップ２２０において検出された入力は、シーンのビューとの関連性を通じて、シーン内の１つ以上のロケーションを求めるのに用いられる。典型的には、このような各ロケーションは、少なくとも空間成分を含む。
【００６１】
更なる一構成では、シーン内のロケーションは、時間データに関連付けられる。時間データは、シーン内の時間の進行に関連付けることができる。例えば、或るジェスチャーの開始点を、シーン内の或る特定の時点に関連付けることができ、そのジェスチャーの停止点を、シーン内の後の時点に関連付けることができる。
【００６２】
ジェスチャーの速度自体を、時間データを制御するのに用いることができる。別の構成では、シーン内のロケーションに関連付けられた時間データ（すなわち、ロケーションの時間成分）は、時系列制御又は他のインターフェースメカニズムを介して明示的に制御することができる。
【００６３】
シーン内のロケーションは、後の時点で、仮想カメラがシーン内で動作する際の仮想カメラのモーション又は動作を制約するのに用いることができる。典型的には、モーション又は動作は、求められたロケーションが、仮想カメラが動かされているときの所定の制約を適用するように仮想カメラの構成に影響を与えるように、仮想カメラ制御手段を構成することによって制約される。
【００６４】
仮想カメラ制御手段は、仮想カメラの多様な特性に影響を与えるように構成することができる。仮想カメラは、空間の３次元再構成内の或る視点に対応する、シーン内の位置を有することができる。１つの構成では、空間は、カメラ１２０Ａ〜１２０Ｘによって記録される競技場１１０等の物理的な場所の表現である。別の構成では、空間は、電子デバイス８０１等のコンピューター内に規定される建築モデルとすることができる。仮想カメラは、典型的には、仮想カメラの動作を規定するいくつかの属性を有する。属性は、空間成分（例えば、Ｘ、Ｙ、Ｚ）からなる空間内の位置を含み、属性は、向きの値（例えば、ヨー、ピッチ、ロール）及び時間成分（時間、又は時間コードと称される）も含むことができる。属性は、他のいくつかのシミュレーションされる光学特性、例えば、焦点距離、ズーム、シャッター速度、感度（ＩＳＯ）等に至るまでをも含む。属性は、典型的には、視錐台を含む特性を求めるのに用いられ、視錐台は、１つの構成では、近クリップ面及び遠クリップ面を伴う、角錐台形状である。このような特性は、仮想カメラの見かけの視野に影響を与えるとともに、シーン内のイベントの描画についての仮想カメラの時空間配置に影響を与える。
【００６５】
仮想カメラの種々の属性は、ユーザーによって制御することができ、以下で説明されるように、ステップ２２０内のロケーションの検出に応答して、仮想カメラ制御手段を構成することによって制約することができる。
【００６６】
検出ステップ２３０において、デバイス８０１の向きの変化が、プロセッサ２０５の実行下で検出される。この変化は、上記で説明したように、デバイス８０１の向きを特定するときに、元はステップ２１０において用いられた同じ手段のうちの任意のものを用いて検出することができる。典型的には、デバイス８０１の向きの変化は、ユーザーによって開始される。１つの構成では、ユーザーは、デバイス８０１を、重力の方向に実質的に垂直である向きから、重力の方向に実質的に平行である新たな向きに角度付ける。デバイス８０１の向きにおけるこのような変化は、モードの変化が起こることをデバイス８０１に示すのに用いられる。別の構成では、ステップ２３０における検出の結果として、ビデオディスプレイ８１４上に仮想カメラビューファインダーが表示される。
【００６７】
ステップ２３０においてデバイス８０１の向きがを第１の向きから第２の向きに変化したことを検出することに応答して、構成ステップ２４０において、仮想カメラ制御手段は、プロセッサ８０５の実行下で構成される。仮想カメラの属性及び特性は、これらの仮想カメラ制御手段によって制御される。仮想カメラのこのような属性及び特性は、仮想カメラの位置、向き、視野、時間コード、焦点距離、ズーム、シャッター速度、感度、若しくは他のカメラ特性、又は、その仮想カメラについての位置、向き、視野、時間コード、焦点距離、ズーム、シャッター速度、感度の任意のサブセットを含むことができる。さらに、仮想カメラの属性の値の変化は、種々の方法において制御することができる。例えば、仮想カメラの位置が変化し得る方法を制御することは、仮想カメラの最低速度又は最高速度に影響を与える可能性がある。仮想カメラの位置が変化し得る方法を制御することは、仮想カメラが明示的にモデル化された質量を有しないものであるにもかかわらず、モーションの平滑性を制御することを通じて仮想カメラの加速度、見かけの質量又は慣性にも影響を与える可能性がある。仮想カメラ制御手段の構成は、ステップ２４０において起こり、ステップ２２０において求められたロケーションに従って実行される。
【００６８】
仮想カメラ制御手段の構成は、例えば、スクリーン上の制御手段の軸を、特定の仮想カメラ属性に関係付けること、又は、ユーザータッチジェスチャーを、仮想カメラ特性の変化に関連付けることを伴うことができる。仮想カメラ制御手段の構成は、空間軸、時間軸、又は他の軸に沿った仮想カメラのモーションの範囲と、ユーザー制御の可変性の範囲との間のマッピングを確立することも伴うことができる。仮想カメラ制御手段の構成は、特定の仮想カメラ制御手段を表示若しくは非表示すること、又は、いずれの仮想カメラ特性に特定の仮想カメラ制御手段が影響を与えることができるのかを制約することも伴うことができる。
【００６９】
検出ステップ２５０において、プロセッサ８０５の実行下で、ユーザー入力が検出される。ユーザー入力は、ステップ２４０において構成された仮想カメラ制御手段に従って仮想カメラを制御するコマンドを受信するのに用いられる。１つの構成では、制御手段は、要求される属性が選択的に影響を受けるように、仮想カメラに影響を与えるように意図されたユーザー入力を解釈することによって実施することができる。例えば、仮想カメラの位置が影響を受けるが仮想カメラの向きは影響を受けないように意図された場合、向きに影響を与え得るユーザー入力は、ステップ２５０中にデバイスによって無視することができる。別の構成では、ディスプレイインターフェースは、ステップ２５０におけるユーザーが向き変更選択肢を提示されないように、ステップ２４０中又はステップ２４０の結果として変化することができる。
【００７０】
ユーザー入力を検出したことに応答して、ステップ２５０において、ビデオディスプレイ８１４は、更新された仮想カメラ画像の合成を通じて更新される。ディスプレイの更新は、ユーザー入力が検出され、仮想カメラの１つ以上の属性又は特性に変化がもたらされたことに起因して起こる。例えば、ユーザーが、ステップ２４０において構成された仮想カメラ制御手段にタッチし、これにより、仮想カメラに空間における移動を行わせた場合、新たな画像の合成が起こり、ユーザーに、新たに更新された仮想カメラのポイントオブビューが示される。仮想カメライメージの合成は、複数の物理カメラから生成されたシーンの３次元（３Ｄ）モデル及びシーン空間内の仮想カメラの位置（通常３つの空間次元）、及び仮想カメラの向き（通常別の３つの回転次元）、及びズームを用いる。その仮想カメラについての７次元データ及び対応する第８の次元（すなわち、視覚化されているシーンにおける時間）に対応する画像が生成される。
【００７１】
図３Ａは、１つの例示の構成による、重力の方向を暗示し得る鉛直線から角度αをなす特定の向き３２０に保持されたデバイス８０１を示している。デバイス８０１の向き３２０は、ステップ２１０におけるように検出される。スポーツ競技場３５０のトップダウンビューが、デバイス８０１のビデオディスプレイ８１４上に示される。競技場３５０上の被写体３６０が縮小して示される。このような被写体３６０は、プレーヤー、ボール、ゴールゾーン、スポーツフィールド線等を含むことができる。図３Ａに示されるような競技場１１０の鳥瞰ビューは、ナビゲーション目的、例えば、スポーツコーチが試合をレビューする場合又は人々又は被写体の大規模モーションを視認するのが重要である別の状況に有用である。デバイス８０１のディスプレイスクリーン８１４上に表示されたトップダウンビューは、デバイス８０１の１つのモードの一例であり、有意なユーザー入力が、ステップ２２０におけるように検出されることを可能にする。
【００７２】
図３Ｂにおいて、デバイス８０１は、図３Ｂに示される向き３２０とは異なる向き３３０に再方向付けされている。図３Ｂにおいて、デバイス８０１は、鉛直線から角度βをなしている。図３Ｂに示されるデバイス８０１の向きの変化は、ステップ２３０におけるように検出される。図３Ａ及び図３Ｂに示される例示の構成では、向きの変化に応答して、ビデオディスプレイ８１４上でユーザーに提示されるビューは、仮想カメラが、被写体３６０をより近くでかつより通常の方法で視認することができるように正面ビューに変更されていることを示している。図３Ｂにおいてユーザーに提示されるビューは、仮想カメラビューファインダーが取ることができる１つの形態であり、デバイス８０１の別のモードの一例である。例えば図３Ｂに示されるような、このような正面ビューは、スポーツ放送、監視ビュー等におけるようなエンターテイメント目的又は同定目的に有用である。図３Ｂの例では、仮想カメラ制御手段は、ステップ２４０におけるように構成され、ユーザー入力は、構成された仮想カメラ制御手段に従って、ステップ２５０におけるように検出することができる。
【００７３】
図３Ａ及び図３Ｂにそれぞれ示すような、デバイス８０１の第１のモードと第２のモードとの間の移行は、角度閾値を超えたデバイスの向きの変化によってトリガーすることができる。例えば、角度αは、この角度未満ではデバイス８０１が或る特定の向きにあるとみなされるとともに、この角度超ではデバイス８０１が異なる向きにあるものとみなされる角度閾値とすることができる。
【００７４】
別の構成では、向き同士の間の移行の安定性を考慮することができる。例えば、複数の閾値又はデバイスモーションの履歴を用いて、ヒステリシス曲線におけるようなデバイスモードの変化を求めることができる。特定の閾値角度付近の小さいモーションは、デバイスモード間の即座の往来をトリガーする必要はない。そうではなく、デバイス８０１を特定の向きに再方向付けすることが、或る特定の閾値角度をなした１つのデバイスモードからの移行をもたらすことができ、デバイス８０１を別の向きに戻して再方向付けすることが、異なる閾値角度をなした別のデバイスモードへの移行をもたらすことができる。例えば、デバイス８０１の重力の方向に対する角度がβを超えた場合、水平モードから鉛直モードへの移行をトリガーすることができ、一方、鉛直モードから水平モードへの移行をトリガーするためには、デバイス８０１の重力の方向に対する角度をα未満の角度に下げる必要があるものとすることができ、それゆえ、これら２つの極値間内の角度において安定性が提供される。α〜β間の角度の場合、モードは変化しない。同様に、デバイス８０１の角度モーションの履歴を用いて、ランダムなぐらつき又は他の偽モーションを無視することができる。デバイス８０１の角度モーションの履歴を用いて、或る特定の最小持続時間閾値又は最大持続時間閾値にわたる平滑な角度変化を特定するものとしてのそのような手段、又は他の手段を用いて、ユーザーによって緩和された、向きにおける意図的な変化が意図されたときを直接推測することができる。
【００７５】
仮想カメラ制御手段の或る特定の態様を第１のモードにおいて構成し、次に、それらの構成された制御手段が仮想カメラをインタラクティブに制御するのに用いられる第２のモードにシフトさせることによって、機能の自然な分離を有利に利用し、ユーザーのためにワークフローを簡略化することができる。１つの構成では、図３Ａに示される第１のモードにおいてビデオディスプレイ８１４上に表示されたトップダウンビューは、ユーザーが、仮想カメラが動く方法に影響を与えることができるナビゲーション制御手段を容易に確立することを可能にする。ビデオディスプレイ８１４上に表示されたビューは、その後、図３Ｂに示される第２のモードにおける正面ビューに切り替えることができ、これにより、ユーザーが、以前に構成された制御手段に従って仮想カメラを操作することが可能になる。図３Ａ及び図３Ｂに示されるようにディスプレイ８１４上に表示されたビューの切り替えを可能にすることにより、仮想カメラをナビゲートするために用いられるハードウェアデバイスの数の削減が可能になる。方法２００は、タブレット又はスマートフォン等の多用途デバイスが、７自由度における複雑なナビゲーションを容易にすることを可能にする。図３Ａ及び図３Ｂに示される例示の構成は、重力、デバイス８０１の向き、及びデバイス８０１上に表示される競技場３５０の向きの間のマッピングを利用する。
【００７６】
ここで、ステップ２２０において仮想カメラを構成するのに用いることができる制約を確立することが、図４Ａ、図４Ｂ及び図４Ｃを参照して説明される。
【００７７】
図４Ａは、デバイス８０１の別の例示の構成において、タッチジェスチャーを用いて、２つの端点４４０及び４５０間をトレースした経路４６０の一例を示している。経路４６０は、シーン４１０内のロケーションを求めるのに用いられる。１つの構成では、開始点及び終端点のみがユーザーによって指定され、その経路は、デバイス８０１によって推測される。例えば、経路は、直線であると推測することができる。別の構成では、複数の点（例えば、３つ以上の点）がユーザーによって指定され、経路は、これらの点を通過するものと推測される。例えば、経路は、線形補間、キュービック補間、又は他の適した補間方法を用いて、複数の点を通過するものと推測することができる。更なる一構成では、複数の点は、シーンを視認している物理カメラに対応し、経路が、複数の点を通過するように複数の点の間で補間される。更に別の構成では、経路４６０は、ユーザーの指のジェスチャーによってスイープされて描き出され、経路の全長が完全に指定される。求められた経路（例えば、４６０）の視覚表現は、ユーザーにインタラクティブに示すこともでき、経路の後の編集又は他の精緻化を実行することができる。
【００７８】
経路４６０等の経路は、仮想カメラ制御手段を構成するのに、いくつかの方法において用いることができる。例えば、経路４６０は、仮想カメラがその上で前後に動く「ガイドライン」又は「レール」として機能して、後続のユーザーインタラクション中の仮想カメラの可能な位置を制御するのに用いることができる。経路４６０が後続のユーザーインタラクション中の仮想カメラの可能な位置を制御するのに用いられる事例において、デバイス８０１が第１の向きから第２の向きに動いた場合、制御手段は、経路に沿って仮想カメラを動かすために左右のジェスチャーにのみ応答するように構成することができる（すなわち、他のジェスチャーは、制御手段によって無視することができる）。
【００７９】
別の構成では、シーンの上の仮想カメラの高さを、経路情報を用いて制約することができる。仮想カメラの高さが経路を用いて制約される事例において、デバイス８０１が第１の向きから第２の向きに動いた場合、制御手段は、仮想カメラがシーン中を動くことを可能にするように構成することができる。しかしながら、仮想カメラの高さは、ユーザーによって第２の向きのビュー（例えば、図３Ｂに示されるビュー）において制御されず、代わりに、経路情報に基づいて求められる。
【００８０】
別の構成では、仮想カメラの位置がユーザーによって自由に制御される一方で、第２の向きにおける仮想カメラの回転は、第１の向きにおいてユーザーによって規定される経路に対応するシーン内の点に追従するように制約することができる。経路は、時間における経路としてユーザーによって規定することができる。例えば、このような経路は、シーン内の関心被写体又は関心エリアの変位に対応することができる。また、以下で説明するように、時間は、制約として追加することができる。
【００８１】
上記方法のうちの１つ以上を用いて、複数の経路を指定することができる。種々の経路間の移動の方法を、ステップ２２０において又はステップ２５０においてのいずれか又は双方で、ユーザーに提供することができる。仮想カメラ制御手段の構成にいずれの単一又は複数の経路が有意であるのかを推測するのに、暗黙的方法を用いることもできる。１つの構成では、経路に対応する空間ロケーションが、制御手段が動作する方法に影響を与えることができ、例えば、経路がサッカーの試合におけるゴールゾーン付近である場合、或る特定の制御手段が機能することができる。例えば、仮想カメラがゴールを向くのを保ちながらゴール周囲の円弧において仮想カメラを回転させるスライダー制御手段が存在することもできるし、仮想カメラをゴールに向かってズームインするように機能するスライダー制御手段が存在することもできる。規定することができる、空間を意識した多くの制御手段が存在する。
【００８２】
別の構成では、経路は、時間成分を有し、ステップ２５０中のユーザーによる時間のナビゲーションは、或る経路に対応する或る特定の制御手段を無効化するとともに、別の経路に対応する他の制御手段を有効化することができる。例えば、サッカースタジアムの長さに沿って延びる第１の経路、及びスタジアムの一方のエンドにおけるゴールを囲む第２の経路が存在する場合、仮想カメラが第１の経路に沿ってナビゲートされている時間中に、スタジアムの長さに沿った仮想カメラのモーションを制御するのには左右の制御で十分であるものとすることができ、その一方で、上下の制御は、仮想カメラのズームに影響を与えることができる。しかしながら、第２の経路に対応する時間に到達すると、ゴールを高い位置から示すために上向きのモーションを可能にすることができ、ここで、第１の経路のための上下ズーム制御を無効化することができるとともに、第２の経路に対応する上下高さ制御をこの時点で有効化することができる。規定することができる、時間を意識した多くの他の制御手段が存在する。
【００８３】
図４Ｂは、デバイス８０１の別の例示の構成を用いて仮想カメラを構成するときに、ユーザーが、用いられるエリア４７０をスイープして描き出す一例を示している。エリア４７０は、示されたシーン４２０内のロケーションを求めるのに用いられる。タッチスクリーン上で或るエリアをスイープして描き出すいくつかの方法が存在する。対角線上のコーナーを、２つのタッチジェスチャーを介して示すことができる。或る形状の外周をトレースすることができる。デバイス８０１によって用いられているタッチセンサーが複数のタッチを同時に検出することが可能である場合、複数の指の配置を用いて、長方形又は他の形状を指定することができる。同様に、エリア４７０は、ディスプレイスクリーン８１４に沿って指の平坦面を動かすことによってトレースすることができる。上記で説明された補間方法は、欠落した情報を補填するのにも用いることができる。エリア４７０の表現をユーザーに示すことができ、インタラクティブな編集を可能にすることができる。
【００８４】
仮想カメラ制御手段を構成するのに用いることができるエリア４７０等のエリアは、シーン４２０内のロケーションを求めるのに用いることができる。１つの構成では、エリア４７０は、仮想カメラの動きがその内部に制約される境界として用いられる。例えば、デバイス８０１が上記で説明されたように第２の向きにある場合、制御手段は、ユーザーが仮想カメラを、左、右、前方、又は後方に動かすことを可能にするように可視化及び有効化することができる。しかしながら、デバイス８０１が第１の向きにあった間に以前に規定された境界エリアのエッジに仮想カメラの位置が到達した場合、仮想カメラが境界エリアを出ることを防止するように、対応する制御手段が更なるユーザー入力に対して応答しなくなるように、制御手段を制約することができる。しかしながら、対応する制御手段は、仮想カメラが以前に規定された境界エリアのエッジから離れるように動くと、再度応答するようになることができる。
【００８５】
別の構成では、エリア４７０は、仮想カメラの向きが、指定されたロケーションの外のシーンの部分を視認するように変化することができないように、仮想カメラの視野を制約するのに用いることができる。仮想カメラの視野を制約することは、ゴールゾーン等の重要なエリアを視認するときに有用であり得る。例えば、デバイス８０１が上記で説明されたように第２の向きにある場合、制御手段は、ユーザーが仮想カメラを、左、右、上、下に回転させるか又はズームイン若しくはズームアウトすることを可能にするように可視化及び有効化することができる。しかしながら、仮想カメラの視野がゴールゾーンの外に逸れた場合、その方向において回転が継続されると、以前に指定されたエリア４７０の外部のビューが生成されることになる間は、対応する制御手段が更なるユーザー入力に対して応答しなくなるように、制御手段を制約することができる。別の例では、制御手段は、応答しなくはならないが、ユーザーがエリアの外部に近づくようにナビゲートするにつれて漸次的に応答が弱くなり、ユーザーに、入力エリア４７０によって課される制約の差し迫った違反を警告する低速化が強制される。
【００８６】
図４Ｃは、デバイス８０１の別の例示の構成を用いてシーン４３０の表現における単一のロケーション又は被写体４８０を示すためにジェスチャーの一例を示している。単一のタッチジェスチャーが、仮想カメラによって視認されるシーン内のロケーション又はシーン内の被写体が仮想カメラのビュー内に維持されるように、そのロケーション又は被写体を特定する。シーン内のロケーション又は被写体を特定するこのような単一のタッチジェスチャーは、仮想カメラの回転が、ロケーション又は被写体を常に向くように制約し、その一方で、仮想カメラがロケーション若しくは被写体の周囲を動くか又はロケーション若しくは被写体から離れるように動くことが依然として可能になる。移動被写体を追跡するための任意の適した方法を用いて経時的にこのような被写体に追従することができ、方法は、例えば、光学的追跡、被写体上に印刷された文字若しくは数字を読み取る光学文字認識、又は被写体に取り付けられた無線周波数タグの使用を含む。１つの構成では、被写体又はロケーションが、実質的にビューを満たすように、又は他のフレーミング制約（三分割法等）に従うようにフレーミングされることを確実にするように、仮想カメラのズームを自動的に制御することができる。別の構成では、被写体を囲むジェスチャーを用いて同じものを示すことができ、又は、複数の被写体を囲むことは、仮想カメラによってそれらの被写体の全てがビュー内に収められるべきであることを示すことができる。更に別の構成では、上述のジェスチャーのうちの１つを用いて、仮想カメラが被写体又はロケーションからの固定距離を維持することができ、ユーザー入力に応答して被写体又はロケーションを周回するが、依然として被写体又はロケーションに焦点を合わせることを示すことができる。
【００８７】
ここで、時間情報を、ステップ２２０におけるユーザーインタラクションを通じて求められたロケーションに関連付けることが、図５Ａ、図５Ｂ及び図５Ｃを参照して説明される。
【００８８】
図５Ａは、デバイス８０１の１つの構成において、時系列制御手段５１０に同様に関連付けられる経路５６０を生成するユーザーインタラクションを示している。経路５６０の一方の端点５４０を時系列制御手段５１０上の特定の時間マーカー５７０に関連付けるとともに、他方の端点５５０を別の時間マーカー５８０に関連付けることができる。マーカー５７０及び５８０は、事前設定することもできるし、経路５６０の入力のアクションを通じて推測することもできるし、他のいくつかの方法において割り当てることもできる。ユーザーは、時間マーカー５７０及び５８０を後の時点で動かす機会を有することができる。時間マーカー５７０及び５８０は、典型的には、経路５６０上の点が割り当てられるシーンにおける時点を示す。それゆえ、時間マーカー５７０及び５８０は、経路５６０から求められたロケーションに、ロケーションが有することができる任意の空間成分又は回転成分に加えて時間成分を提供する。経路５６０上の点が対応する時点をマーク付けすることによって、経路５６０に沿った仮想カメラの移動が生じる速度を推測することができる。さらに、時間マーカー５７０及び５８０を動かすことを可能にすることによって、仮想カメラが経路５６０に沿って動く速度を変化させることが可能である。例えば、経路の開始が１０秒における時間マーカーを有するとともに、経路の終端が３０秒における時間マーカーを有する場合、この経路が２０秒の長さであることを推測することが可能である。この例を続けると、また、その経路に沿った仮想カメラの速度が経路距離を２０秒によって除算したものとなることを推測することが可能である。時間マーカー５７０及び５８０を乗算することは、時間間隔、及びひいては速度を変化させることができ、ユーザーが、シーンにおいて経路５６０が開始及び終了する時点を制御することが可能になり、ひいては、有意なシーンイベントの時間におけるフレーミングの制御が可能になる。別の構成では、経路５６０上の異なる点に対応する３つ以上の時間マーカーを用いて、１つの経路の異なるセクションに沿った速度を独立して変化させることができる。
【００８９】
デバイス８０１のタッチスクリーン上で指を保持することを用いて、経路を確立することができる。デバイス８０１のタッチスクリーン上で指が押さえ付けられている間、シーンにおいて表示される被写体が動いているのを視認することができるようにシーン時間を再生して進めることができ、それゆえ、時間が前進する間経路をトレースすることができる。別の構成では、指が動くときにのみ時間が前進する。
【００９０】
時間マーカーを明示的に与えられていない経路５６０上の点における時間成分を、線形補間若しくはキュービック補間又は他の任意の適した方法を用いることを含む種々の手段を通じて推測することができる。典型的には、開始時間マーカー及び終了時間マーカーは、経路５６０上の点のシーン時間を定める。１つの構成では、経路５６０の開始点及び終端点のみが、割り当てられた時間マーカーを必要とし、経路５６０に沿った全ての中間ロケーションは、推定時間に関連付けられる。
【００９１】
別の構成では、経路５６０上の開始点及び終端点並びに１つ以上の追加点が時間マーカーを割り当てられ、キュービックエルミートスプライン補間方法が、追加点が割り当てられた時点に整合することを確実にするのに用いられる。キュービックエルミートスプライン補間方法は、その時点におけるそのロケーションを通る仮想カメラの見かけの加速度が平滑であることを確実にするのにも用いられる。
【００９２】
図４を検討した際に上記で説明されたように、経路は、直線、曲線、軌道、又は他のいくつかの形状とすることができ、端点のみ、又は複数の中間点を含むことができる。１つの構成では、経路５６０は、タッチジェスチャーを用いて２つ以上の点を追加することによって入力される。経路５６０上の点ごとに、時系列制御手段５１０に対応する時間マーカーを追加することができ、経路５６０のロケーションの中間空間成分及び中間時間成分の双方を、補間方法を通じて推測することができる。経路５６０上の点ごとに、時系列制御手段５１０に対応する時間マーカーを追加することは、経路５６０上に示される空間ロケーションの、時系列制御手段５１０上の対応する時間マーカーへの１対１対応を提供する。その後、空間ロケーションのタイミングを、時系列制御手段５１０上で対応する時間マーカーを動かすことによって調整することができる。例えば、経路の中点が時間マーカーをマーク付けされた場合、このマーカーが経路の開始を示す時間マーカーに時間において近づくようにこのマーカーを動かすことにより、この時間マーカーが経路の終了を示す時間マーカーに時間において近づくように同じ時間マーカーが動かされた場合よりも高速に経路の前半が進行する。カラーコーディング又は他の強調メカニズムを用いて、経路ロケーションと時間マーカーとの間の対応をユーザーに通知することができる。例えば、経路は、デバイス８０１が第１の向きにあるとき、種々の点を、異なる色相のドットでマーク付けすることができ、デバイス８０１が第２の向きにあるとき、対応する色相が、これらの種々の点に対応する時間マーカー上で用いられる。
【００９３】
図５Ｂは、ステップ２２０において以前に確立された仮想カメラ経路とともに使用される、デバイス８０１上に表示される時間スライダー５２０を示している。図５Ｂの例では、シーンにおける或る特定の被写体３６０が継続的に視認されるようにステップ２５０において仮想カメラビューをフレーミングすること、例えば、２人のプレーヤー間でキックされているボールがビューの外に出ないことを確実にすることが望ましい場合がある。時間スライダー５２０は、ユーザーがステップ２２０において既に経路を確立しているか又は視認する被写体を選択しているように、ステップ２３０においてデバイス８０１の向きの変化が検出された後にデバイス８０１上に表示することができる。時間スライダー５２０がデバイス８０１上に表示されると、この時点で、ユーザーは、ステップ２４０において構成された制御手段を用いてステップ２５０において仮想カメラを制御することができる。
【００９４】
時系列５２０上の時間スライダー５９０が用いられて、シーン時間を増減させることによって以前に生成された経路５６０に沿って動かされる。例えば、仮想カメラは、或る特定の距離において被写体に自動的に追従するように構成することができ、時間スライダー５９０の操作を通じて、ユーザーは、操作した結果のビデオをプレビューすることができる。
【００９５】
別の構成では、仮想カメラの時空間ロケーションは、経路５６０によって図５Ａにおけるようにステップ２２０において求められ、そして図５Ｂに示されるようにステップ２５０において、ユーザーは、デバイス８０１の向きの変化を通じて仮想カメラの向きを対応するように調整することによって、シーンにおける被写体３６０を視認する仮想カメラのフレームを制御することができる。図５Ｂの例では、ステップ２５０中にシーンを通る仮想カメラの空間移動は、ステップ２２０において以前に求められた経路に整合する。ステップ２２０において以前に求められた経路は、ひいては、ステップ２２０において同様に以前に確立された時間マーカー５７０、５８０に整合する。それゆえ、ステップ２５０中のユーザーによる時間スライダー５９０の制御は、単に時系列５２０に沿って親指をスライドさせることによって、シーンにおける仮想カメラの空間ロケーションを制御することで十分である。時間スライダー５９０を用いることによって、ユーザーは、ステップ２５０において、ビデオをフレーミングするためにデバイス８０１のモーションを用いて、ビデオを正しくフレーミングすることに集中することが自由にできるようになる。
【００９６】
図５Ｃは、再生のタイミングを制御するという更なる方法を示している。図５Ｃの例では、時系列５３０がデバイス８０１上に表示される。時系列５３０は、ユーザーがシーン時間をナビゲートする際に更新される時間インジケーター５９１を特徴とする。ユーザーは、デバイス８０１を時計回り又は反時計回りに傾けることによって時間をナビゲートすることができ、時間インジケーター５９１は、それぞれ前方又は後方に動く。別の構成では、視線追跡を用いて、ユーザーが、時系列５３０上の或るスポットを視認することを可能にすることができ、これに対応して、デバイス８０１は、これに従って時間インジケーターを設定し、それゆえ、時間インジケーター５９１を、以前に求められた経路に沿った適切な場所に動かすことができる。別の構成では、ユーザーは、再生ボタン、ジェスチャー等の何らかの手段を通じて、又は、短い持続時間の間待機することによって暗黙的に、再生を開始することができる。その場合、時間は、ユーザーが仮想カメラを制御するようにデバイス８０１を操作する間、自動的に前進することができる。
【００９７】
複数の経路、エリア、関心被写体、又はロケーションは、ステップ２２０中にユーザーによって指定することができる。このようなロケーションの時間成分（時間コード）は、制御手段が応答する方法、又は、いずれの制御手段が有効化されるのか若しくはユーザーに示されるのかを選択するのに用いることができる。一構成では、複数の経路がユーザーによって規定され、各経路は、関連付けられた期間を有する。ユーザーは、まず、表示される第１のロケーションを求める１つの経路を入力する。ユーザーは、同様に表示される第２の経路も入力する。経路の各々のタイミングがユーザーによって入力される。ユーザーがステップ２５０中に仮想カメラを制御するとき、仮想カメラの時間成分（時間コード）がチェックされる。第１の経路に対応する期間中、制御手段は、第１の経路のロケーションに従って構成され、第２の経路に対応する期間中、制御手段は、第２の経路のロケーションに従って構成される。期間において重複がある場合、遅い方の期間の仮想カメラ制御手段が動作状態にある前に、早い方の期間は、仮想カメラの時間成分によって超えられなければならない。期間の重複は、第１の経路と第２の経路との間の「ジャンプカット」を実施するのに用いることができる。別の構成では、双方の経路に対応する制御手段を、任意の期間の重複中に有効化することができる。任意の期間の重複中に双方の経路に対応する制御手段を有効化することを用いて、フィールドに沿ったレール状のカメラモーションが、ゴールゾーン付近の軌道カメラモーションに平滑に移行することを可能にすることができる。
【００９８】
デバイスモーション、ジェスチャー、又は、シーン時間、及び／又は追従される経路、ロケーション、若しくは被写体の事前確立後の経路時間をナビゲートするのに用いることができる他の入力の多くの他の可能なマッピングが存在する。上記で説明されたように、説明される方法は、ステップ２２０においてロケーションの事前確立を分離し、ステップ２３０における向きの変化を介したナビゲーションモードへの変化が続き、ステップ２４０における制御手段の構成が続き、ステップ２５０における制約された仮想カメラナビゲーションが続く。
【００９９】
図６Ａは、デバイス８０１のタッチスクリーン上の可視ナビゲーション制御手段６１０を示している。可視ナビゲーション制御手段６１０は、ユーザーのタッチジェスチャーを都合良く入力するとともに、ステップ２５０中に仮想カメラをナビゲートするのに用いることができるように配置することができる。
【０１００】
制御手段の１セットは、仮想カメラに、上方、下方、左、又は右に角度付けを行わせることができる。制御手段の別のセットは、仮想カメラに、左、右、前方、又は後方への運動を行わせることができ、これは、デバイス８０１が第１の向きにあった間により早期に規定されたエリア内をユーザーがナビゲートしている場合に当てはまり得る。別の構成では、双方の制御手段のセットが、仮想カメラに、左若しくは右への運動、又は上方若しくは下方への角度付けを行わせることができ、これは、デバイス８０１が第１の向きにあった間により早期に規定された経路に沿って動くように仮想カメラが制約される場合に当てはまり得る。制御手段及びそれらの部分コンポーネントは、以前に確立されたロケーション、経路又はエリアに従って、可視若しくは不可視に、有効化若しくは無効化するように、又はユーザー入力に対して可変に応答するように構成することができる。
【０１０１】
１つの構成では、ステップ２２０において、ユーザーは、図４Ｂに示されるように、エリア４７０を示している。制御手段は、ステップ２４０において、仮想カメラがステップ２５０中にエリア４７０の外部を捉えることができないように構成することができる。このような制約は、仮想カメラをエリアから過度に遠くに離れるように動かすか、又は仮想カメラを誤った方向にむける制御手段が、このようなことを行うことが防止されることを確実にすることによって課すことができる。例えば、制御手段は、このような状況においてユーザー入力に対して応答しなくなることができる。
【０１０２】
上記で説明された手動の制御手段を有するシステムでは、シーン時間の推移は、例えば、ユーザーの時間の体験された推移との１対１対応において、デバイス８０１によって暗黙的に制御することができる。代替的に、シーン時間は、ユーザー時間がショットの適切なフレーミングを構築することを可能にするように、低速にすることができる。
【０１０３】
１つの構成では、ナビゲーション制御手段６１０のうちの１つは、時間を制御する軸を有する。例えば、左手の制御は、水平軸上ではシーン時間を調整するとともに、鉛直軸上では仮想カメラズームを調整することができる。シーン時間は、連続的に、場合によっては指数関数的に、例えば、高速の前進速度又は逆進速度の複数のレベルを用いて制御することができる。例えば、１つの時間制御手段上に指を押さえ付けることは、通常速度において時間を前進し始めることができる。しかしながら、指が長く押さえ付けられる程、速度が高速になり、ユーザーが指を離すまで「高速前進」効果が生成される。別の構成では、時間の推移は線形とすることができ、１つの時間制御手段を押さえ付けることは単一の速度においてのみ動かすようになっている。
【０１０４】
１つの構成では、線形方式又は加速方式又は指数関数方式に挙動するようなこのような時間制御手段の構成は、デバイス８０１が第１の向きにあった間に描画された経路の長さに依存することができる。例えば、長い経路は、制御手段に、指数関数方式において挙動することを行わせることができ、一方で、短い経路は指数関数方式において挙動しない可能性がある。
【０１０５】
更に別の構成では、時間の推移は、連続的ではなく、結合されていないステップを伴う。これらの結合されていないステップは、図５Ａに関連して上記で説明されたように、経路を確立するときに以前に表現された一意の時空間点に潜在的に対応する。例えば、右向きの時間制御手段をタッピングすることは、シーン時間を、経路を規定するときに用いられた次の点に前進させることができ、一方、左向きの時間制御手段をタッピングすることは、シーン時間を以前のこのような点に逆進させることができる。１つの構成では、制御手段の、時間ナビゲーションへのこのようなマッピングは、デバイス８０１が、第１の向きにある間に、ユーザーがエリアではなく経路を描画していることの検出の結果として構成することができる。
【０１０６】
一構成では、制御手段は、追従又は表示すべき１つ以上の被写体３６０を選択する。例えば、制御手段をタッチすることは、その時点において以前に確立された経路付近の被写体を通り抜けることができ、仮想カメラの向きを、視野内の選択された被写体の見かけのモーションに従属させることが可能になる。別の構成では、制御手段をタッチすることは、その時点において以前に確立されたエリア内の被写体を通り抜けることができる。更に別の構成では、制御手段をタッチすることは、いくつかの以前に確立された経路又はエリアを通り抜けることができ、各々に関連された被写体が選択される。
【０１０７】
図５に関連して検討された形態の明示的な時間ナビゲーション制御手段は、図６Ａに示された種類のタッチ操作仮想カメラ制御手段に加えて用いることができる。ステップ２４０中の制御手段の構成は、ステップ２２０におけるユーザーの以前の入力がシーン内のロケーションを求めるのに用いられた結果として確立することができる。以前の入力は、制御手段の構成を通知するのに用いることができるとともに、したがって、ステップ２５０中の仮想カメラの簡略化されたナビゲーション及び制御を可能にすることができる。
【０１０８】
図６Ｂは、仮想カメラを制御するのに用いることができる運動を示している。図６Ｂの例では、ユーザーは、デバイス８０１を運動させ、これらの運動は、デバイス８０１によって検知される。種々の運動は、仮想カメラの特性、例えば、空間座標、回転値、時間座標及びズーム値を調整する制御操作に状況的に関連付けられる。運動は、デバイス８０１を、上下６３０、側方６４０、接近若しくは隔離６７０に動かすこと、又はデバイス８０１を時計回り若しくは反時計回り６２０に回転させることを含むことができる。運動は、デバイス８０１を水平６５０又は鉛直６６０に傾けることを含むこともでき、デバイス８０１が高信頼度で検知することができる他の運動の形態が存在し得る。
【０１０９】
図６Ｂに示されるデバイス８０１の運動６２０、６３０、６４０、６５０、６６０及び６７０を用いて、仮想カメラを制御することができる。例えば、側方運動６４０は、仮想カメラをシーン内で側方に動かすのに用いることができる。同様に、デバイス８０１を上方に傾けること６６０は、仮想カメラを上方に角度付けることができる。しかしながら、シーン内でロケーションを確立したステップ２２０におけるユーザーの以前の入力に応答して、制御手段を運動させることの重要な特徴は、ステップ２４０において構成することができる。
【０１１０】
１つの例では、ユーザーは、仮想カメラが追従するための経路をステップ２２０において以前に確立している可能性がある。それゆえ、仮想カメラがステップ２５０においてユーザーによって直接制御されている場合、図６Ｂに示されるように、デバイス８０１の運動は、より早期に確立された経路に従うように仮想カメラに影響を与える。例えば、ステップ２２０において確立された経路は、仮想カメラの回転角度を制約しない一方、ステップ２５０中に仮想カメラの空間位置を有効に制約することができる。デバイス８０１の運動は、仮想カメラの回転に影響を与えるものと解釈することができ、仮想カメラの位置の変化が仮想カメラを以前に確立された経路から逸脱させることになる場合、仮想カメラの位置を変化させない。それゆえ、ユーザーは、より早期のステップ２２０におけるロケーション情報の別個の提供、及び後のステップ２５０において用いられる仮想カメラの構成２４０を通じて、仮想カメラを正しく制御するのに必要とされる仮想カメラ操作を提供することに自由に集中することができる。
【０１１１】
デバイスモーションの可能な種類のうちの１つ以上を、図５Ｃに関連して上記で説明されたように、時間をナビゲートする方法に関連付けることができる。例えば、デバイス８０１の回転６２０を用いて、仮想カメラを回転させる代わりに、シーン時間をナビゲートし、それゆえ、仮想カメラを所定の経路に沿って前後に動かすことができる。別の構成では、デバイス８０１を前方に傾けることを用いて、次の所定の経路又はエリアに進めることができ、シーンの別の部分への「ジャンプカット」がトリガーされ、その経路又はエリアに従う他の制御手段の再構成が行われる。例えば、サッカーの試合のサイドラインのエリアに進むことは、制御手段を、スローインを最も良く示すのに再構成することができ、仮想カメラを、ショットをフレーミングするようにサイドラインに沿って動かすか又は上下に角度付けることを可能にするように制御手段が構成される。
【０１１２】
１つの例では、ステップ２２０において、ユーザーは、視認すべき被写体を選択している。仮想カメラは、被写体から固定距離を維持するが、被写体をビュー内にフレーミングするように指示される。それゆえ、被写体がシーン内で移動するにつれて、仮想カメラは、被写体を追従し、被写体を固定距離から視認する。しかしながら、被写体の追従は、被写体が視認される角度を制約されない。この例では、ステップ２５０においてユーザーが仮想カメラをインタラクティブに制御している場合、デバイス８０１の側方モーション６４０又は回転６５０が、被写体を異なる角度から視認するように仮想カメラを被写体の周囲でスピンさせるコマンドとして解釈されるように、ステップ２４０において仮想カメラ制御手段を構成することができる。上記で説明されたように被写体を異なる角度から視認するように仮想カメラを被写体の周囲でスピンさせることを用いて、被写体の態様（例えば、プレーヤーの顔、ボール、プレーヤーの脚、タックル、インターセプト）を適切に観察することができることを確実にすることができる。
【０１１３】
スワイプジェスチャーを用いて、同様の制約された仮想カメラナビゲーション操作を実行することができる。例えば、クイディッチ（quidditch）の試合において、ゴールデンスニッチ（golden snitch）を追い掛けるプレーヤーのポイントオブビューからこのスニッチを視認することが望ましい場合がある。この例では、「シーカー（seeker）」としてプレーするプレーヤーをステップ２２０において選択することができ、仮想カメラ制御手段が、これに従って、ステップ２５０においてユーザーが任意の追加被写体を適切にフレーミングすることを可能にするように構成されるようになっている。ユーザーは、ユーザーがブルームスティック（箒）の後ろの上に乗っているかのように、左、右、上及び下の回転を可能にするように制御手段を構成することによって任意の追加被写体をフレーミングすることができる。ユーザーがシーカーとともに移動しているという錯覚を維持するために、左右モーションが仮想カメラをブルームスティックから逸脱させるように制御手段を構成することは、望ましくないものとすることができる。
【０１１４】
仮想カメラ制御手段を構成する構成ステップ２４０は、種々の方法において動作することができる。構成ステップは、ステップ２５０内のユーザージェスチャー又はデバイス運動の解釈に影響を与えることができる。デバイス８０１の運動と仮想カメラのモーションとの間の対応は、経路又は軌道がユーザーによって以前に選択されているか否かに依存して変化させることができる。例えば、経路は、デバイス８０１の回転が仮想カメラの回転を有効化するが、デバイス８０１の空間運動が仮想カメラの空間位置を変更しないように制御手段を構成する場合がある。別の例として、試合中のプレーヤーの周囲の軌道は、デバイス８０１の回転が、仮想カメラに、軌道の中心となるプレーヤーの周囲でのスピンを行わせ、一方で、デバイス８０１を前後に運動させることが軌道の半径を変化させるように制御手段を構成する場合がある。
【０１１５】
代替的又は付加的に、構成ステップ２４０は、ユーザーがステップ２５０中に制御手段を通じて適用することができる入力の表現可能範囲に限度を適用するのに用いることができる。例えば、経路を推測するために用いられるために複数のユーザーにより規定された点がステップ２２０において与えられた場合、ステップ２５０中に（例えば、タッチ制御手段を複数回押下することによって）同じ数の点を別個に選択可能とすることができる。代替的に、スワイプジェスチャーは、点の各々のフレーミングを調整することを可能にするように、点の間で切り替わるように受け入れることができる。スワイプジェスチャーを用いることができる回数は、ステップ２２０中に入力された点の数によって制限することができる。同様に、仮想カメラのモーションの範囲は、ステップ２２０におけるユーザー入力の解析によって求めることができ、ユーザーによる仮想カメラの制御は、ステップ２４０によって、ステップ２５０中のデバイスモーションの速度が仮想カメラの可能なモーションに整合するようにスケーリングされるように制限することができる。
【０１１６】
同様に、構成ステップ２４０は、制御手段の視認性、応答性、又は制御の程度が制限されるように、制御手段の外観を変更するのに用いることができる。例えば、スライダーは、スライダーが、可能にされる利用可能な空間範囲又は時間範囲に対応するように、より長く又はより短く延びることができる。１つの構成では、仮想カメラの全ての運動方向からの許容可能な仮想カメラ運動方向を選択することができ、許容可能な運動方向の仮想カメラ制御手段を、デバイス８０１のディスプレイ８１４上に表示することができる。
【０１１７】
図７は、説明された方法を実施するのに用いることができるソフトウェアアーキテクチャ７００を示している。入力センサー７８０が、ユーザーの入力をシステム１００に供給する。クライアントソフトウェア７１０が、いくつかのソフトウェアモジュールを実施する。クライアントソフトウェア７１０は、ＲＯＭ８６０及び／又はＲＡＭ８７０内に存在するとともに、プロセッサ８０５による実行において制御されるソフトウェアアプリケーションプログラム８３３の１つ以上のソフトウェアコードモジュールとして実施することができる。図７のソフトウェアアーキテクチャ７００において、ユーザーインタラクションソフトウェアモジュール７２０は、いくつかのソフトウェアモジュールを含む。モーションモジュール７３０は、他のモジュールにモーションの知識を提供するように、デバイス８０１及び／又はユーザーのモーションをモデル化することを担当する。ジェスチャー認識モジュール７４０が、入力センサー７８０及び／又はモーションモジュール７３０からの入力を用いて、ユーザーのジェスチャーを認識することができる。仮想カメラ構成モジュール７５０は、仮想カメラのパラメーター及び同様に仮想カメラに関連付けられた制御手段の構成を管理することを担当する。ナビゲーション制約モジュール７６０が、制約を実施するように制御手段を構成し、任意選択で、仮想カメラの動作に対する制約を実施するように仮想カメラのパラメーターを制約する。仮想カメラ構成モジュール７５０の出力は、例えば、ディスプレイ８１４上に制御手段、仮想カメラ結果、シーン等をレンダリングする方法をレンダラーモジュール７７０に通知する。
【０１１８】
本明細書に記載の構成は、コンピューター産業及びデータ処理産業に適用可能であり、特に、ビデオ放送産業に適用可能である。本明細書に記載の構成は、スポーツ又は警備等のライブ放送アプリケーション及びエンターテイメント目的のホームユーザーに特に適している。
【０１１９】
本明細書に記載の構成は、アクションが進行すると、ユーザーが準リアルタイムで仮想カメラを生成することを可能にするという利点を提供する。ユーザーは、デバイス８０１の１つの向きに容易に仮想カメラを構成し、仮想カメラの種々パラメーター（例えば、ロケーション、方向及び運動）を制御することができる。さらに、本明細書に記載の構成は、専用コントローラーを備えることなく実施することができる。対照的に、タブレット等のデバイス８０１は、仮想カメラをインタラクティブに構成するのに用いることができる。
【０１２０】
１つの例示の用途では、制作者は、サッカーの試合のフッテージを観察しながら、ボールが特定のプレーヤーにパスされると追従するように仮想カメラに指示することができる。制作者は、その後、自然にこのアクションを正しくフレーミングし、一方で、より早期の制約又は構成が順守されることを確実にするように仮想カメラを構成することができる。
【０１２１】
上記で説明された方法は、仮想カメラを制御することを参照して説明された。しかしながら、説明された方法は、仮想カメラ又は物理カメラ（例えば、１２０Ａ）の形態を取ることができる任意のリモートデバイスを制御するために用いることができる。
【０１２２】
上記内容は、本発明のいくつかの実施形態しか説明しておらず、本発明の範囲及び趣旨から逸脱することなく、それらの実施形態に対して変更及び／又は変形を行うことができる。実施形態は例示であって、限定されるものではない。
【図１】
2020534592.tif 000003
【図２】
2020534592.tif 000004
【図３Ａ】
2020534592.tif 000005
【図３Ｂ】
2020534592.tif 000006
【図４Ａ】
2020534592.tif 000007
【図４Ｂ】
2020534592.tif 000008
【図４Ｃ】
2020534592.tif 000009
【図５Ａ】
2020534592.tif 000010
【図５Ｂ】
2020534592.tif 000011
【図５Ｃ】
2020534592.tif 000012
【図６Ａ】
2020534592.tif 000013
【図６Ｂ】
2020534592.tif 000014
【図７】
2020534592.tif 000015
【図８Ａ】
2020534592.tif 000016
【図８Ｂ】
2020534592.tif 000017
【国際調査報告】
2020534592.tif 000018
2020534592.tif 000019
2020534592.tif 000020
2020534592.tif 000021
2020534592.tif 000022