(57)【要約】【課題】仮想視点画像に係る仮想視点を効率的に設定可能とする。【解決手段】仮想視点画像の生成に係る仮想視点を設定する情報処理装置は、仮想視点の位置及び向きの少なくとも何れかを示す仮想視点パラメータを複数有する視点情報であって、前記複数の撮影装置による撮影期間に含まれる複数の時点に対応する複数の仮想視点パラメータを有する前記視点情報を取得する取得手段と、前記取得手段により取得された前記視点情報が有する前記複数の仮想視点パラメータから、前記撮影領域における所定のイベントに応じて特定される１以上の仮想視点パラメータを抽出する抽出手段と、前記抽出手段により抽出された仮想視点パラメータの変更に係るユーザ操作に応じた入力を受け付ける受付手段と、前記受付手段により受け付けられた入力に応じて変更された仮想視点パラメータに基づいて、前記仮想視点画像の生成に係る仮想視点を設定する設定手段とを有する。【選択図】図９
2019160318.tif 000002
【特許請求の範囲】
【請求項１】
撮影領域を複数の撮影装置により複数の方向から撮影することで得られる撮影画像に基づく仮想視点画像の生成に係る仮想視点を設定する情報処理装置であって、
仮想視点の位置及び向きの少なくとも何れかを示す仮想視点パラメータを複数有する視点情報であって、前記複数の撮影装置による撮影期間に含まれる複数の時点に対応する複数の仮想視点パラメータを有する前記視点情報を取得する取得手段と、
前記取得手段により取得された前記視点情報が有する前記複数の仮想視点パラメータから、前記撮影領域における所定のイベントに応じて特定される１以上の仮想視点パラメータを抽出する抽出手段と、
前記抽出手段により抽出された仮想視点パラメータの変更に係るユーザ操作に応じた入力を受け付ける受付手段と、
前記受付手段により受け付けられた入力に応じて変更された仮想視点パラメータに基づいて、前記仮想視点画像の生成に係る仮想視点を設定する設定手段とを有することを特徴とする情報処理装置。
【請求項２】
前記抽出手段は、前記視点情報が有する前記複数の仮想視点パラメータから、前記撮影領域における１以上のイベントの時点に対応する前記１以上の仮想視点パラメータを抽出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段は、前記視点情報が有する前記複数の仮想視点パラメータのうち前記抽出手段により抽出されない仮想視点パラメータを変更対象として指定するユーザ操作に応じた入力を受け付けないことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記設定手段は、前記抽出手段により抽出された複数の仮想視点パラメータの少なくとも何れかを前記受付手段により受け付けられた入力に応じて変更し、当該変更後の前記抽出された複数のパラメータに基づいて仮想視点の移動経路を補間することで、前記仮想視点画像の生成に係る仮想視点を設定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、前記視点情報に関連付けられた仮想視点の速度情報に基づいて前記移動経路を補間することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記撮影領域におけるイベントの重要度を判定する判定手段を有し、
前記抽出手段は、前記撮影領域における複数のイベントのうち前記判定手段により判定される重要度に基づいて選択されたイベントに対応する前記１以上の仮想視点パラメータを抽出することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記抽出手段は、抽出される複数の仮想視点パラメータに基づいて補間される仮想視点の移動経路と、前記取得手段により取得された前記視点情報が表す仮想視点の移動経路との差が閾値以内となるように、前記１以上の仮想視点パラメータを抽出することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記抽出手段により抽出された仮想視点パラメータが変更可能であることを示す画像を表示部に表示させる表示制御手段を有することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記抽出手段により抽出された仮想視点パラメータに対応する仮想視点の位置を仮想視点の移動経路上に示す画像を表示部に表示させる表示制御手段を有することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項１０】
前記抽出手段により抽出された仮想視点パラメータに対応する時点を前記撮影期間に対応するタイムライン上に示す画像を表示部に表示させる表示制御手段を有することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項１１】
撮影領域を複数の撮影装置により複数の方向から撮影することで得られる撮影画像に基づく仮想視点画像の生成に係る仮想視点を設定する情報処理方法であって、
仮想視点の位置及び向きの少なくとも何れかを示す仮想視点パラメータを複数有する視点情報であって、前記複数の撮影装置による撮影期間に含まれる複数の時点に対応する複数の仮想視点パラメータを有する前記視点情報を取得する取得工程と、
前記取得工程において取得された前記視点情報が有する前記複数の仮想視点パラメータから、前記撮影領域における所定のイベントに応じて特定される１以上の仮想視点パラメータを抽出する抽出工程と、
前記抽出工程において抽出された仮想視点パラメータの変更に係るユーザ操作に応じた入力を受け付ける受付工程と、
前記受付工程において受け付けられた入力に応じて変更された仮想視点パラメータに基づいて、前記仮想視点画像の生成に係る仮想視点を設定する設定工程とを有することを特徴とする情報処理方法。
【請求項１２】
前記受付工程は、前記視点情報が有する前記複数の仮想視点パラメータのうち前記抽出工程において抽出されない仮想視点パラメータを変更対象として指定するユーザ操作に応じた入力を受け付けないことを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記設定工程は、前記抽出工程において抽出された複数の仮想視点パラメータの少なくとも何れかを前記受付工程において受け付けられた入力に応じて変更し、当該変更後の前記抽出された複数のパラメータに基づいて仮想視点の移動経路を補間することで、前記仮想視点画像の生成に係る仮想視点を設定することを特徴とする請求項１１又は１２に記載の情報処理方法。
【請求項１４】
コンピュータを、請求項１乃至１０の何れか１項に記載の情報処理装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想視点画像に係る仮想視点を設定する技術に関する。
【背景技術】
【０００２】
仮想カメラ（仮想視点）のリアルタイムナビゲーションは困難となることがある。仮想カメラを制御するユーザは、ズームを変化させつつも６自由度でカメラを移動させることができる。ユーザはまた、シーンにおいて被写体を追跡するのにも必要とされ得る。被写体は、多数の物理カメラで撮影されたビデオデータから仮想カメラの配置及び構成をユーザが制御することによって合成されたビデオデータ（仮想視点画像）に含まれる。この被写体は、例えば、フィールド上で走るプレーヤであってもよい。仮想カメラを制御するユーザは、被写体がどのように移動するかについて認識していなくてもよい。時には、仮想カメラを制御するユーザが適時に反応せずにカメラパスにおいてエラーが生じる。仮想カメラを制御する人物の主な優先事項は、彼らが正確なカメラ姿勢からイベントの撮影に成功することである。ユーザが撮影に成功しなかったと感じた場合には、ユーザはタイムラインに沿ってカメラの姿勢を変化させることによって仮想カメラのパスを編集する必要がある。
【０００３】
編集時に、ユーザが扱いやすいようにパスのカメラパスの表示制御を行うことは重要である。しかしながら、データ（パスを構成するものであるデータ）を収集する従前の手段は、通常、表示された場合にユーザにとって扱いにくい形式のものである。例えば、パスは、カメラのフレームレートと等しいレートで記録されたカメラ座標を示すデータポイントで構成され得る。スポーツに用いる場合には、フレームレートは一般的に毎秒６０フレーム（ｆｐｓ）である。１０秒シーケンスでは、６００ポイントのデータがカメラパスを形成することになる。パスに沿って一貫したカメラ運動を持続させるには、ユーザは多数のポイントを編集する必要がある。パスの編集は、多大な労力を要する工程であり、円滑なカメラの動きを保証しない。カメラパスは、通常、ユーザが効率的に編集するにはあまりに多くのデータを備える。
【０００４】
放送において、特に、スポーツ放送において効率の良さは重要な一面である。スポーツ放送では、イベントのリプレーの価値が時間とともに低下する。したがって、リプレーにまだ価値がある間、すなわち、比較的短い時間フレーム中に、ユーザがカメラパスに編集を加えるとともに最終出力を生成できることが重要である。既知のアプローチの１つは、パスを単純化し、カメラパスを構成するデータの量を減少させる。このアプローチは過剰な量のデータを管理する困難を低減するが、残余のデータポイントの位置がほぼランダムに位置し、ユーザにとって効果的でないものとなり得る。
【０００５】
効率的な編集の他の有効性は、ユーザがパスのどのエリアに編集の必要があるかを迅速に決定可能なことである。データポイントがカメラ姿勢の座標を示唆するのみであるため、（従前の単純化された形式における）パスはこの態様では役に立たない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、仮想視点画像に係る仮想視点を効率的に設定可能とすることを目的とする。
【０００７】
本開示の一態様である情報処理装置は、撮影領域を複数の撮影装置により複数の方向から撮影することで得られる撮影画像に基づく仮想視点画像の生成に係る仮想視点を設定する情報処理装置であって、仮想視点の位置及び向きの少なくとも何れかを示す仮想視点パラメータを複数有する視点情報であって、前記複数の撮影装置による撮影期間に含まれる複数の時点に対応する複数の仮想視点パラメータを有する前記視点情報を取得する取得手段と、前記取得手段により取得された前記視点情報が有する前記複数の仮想視点パラメータから、前記撮影領域における所定のイベントに応じて特定される１以上の仮想視点パラメータを抽出する抽出手段と、前記抽出手段により抽出された仮想視点パラメータの変更に係るユーザ操作に応じた入力を受け付ける受付手段と、前記受付手段により受け付けられた入力に応じて変更された仮想視点パラメータに基づいて、前記仮想視点画像の生成に係る仮想視点を設定する設定手段とを有する。
【発明の効果】
【０００８】
本発明によれば、仮想視点画像に係る仮想視点を効率的に設定することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、仮想カメラ全体像を生成する処理システムにデータを供給する、スポーツ競技場を囲むネットワーク化されたビデオカメラのシステムを示す。
【図２】図２は、シーンの仮想表示及びシーンにおけるイベントを示す。
【図３】図３は、シーンの仮想表示及びユーザに対して元のカメラパスを可視化するグラフィカルユーザインターフェース（ＧＵＩ）のタイムラインを備えるセットを示す。
【図４】図４は、編集された元のカメラパスによるシーンの仮想表示及び対応するタイムラインのセットを示す。
【図５】図５は、元のカメラパスを単純化するアプローチの制限を強調表示するシーンの仮想表示及び対応するタイムラインのセットを示す。
【図６】図６は、仮想カメラパスを再作成する方法のフローチャートを示す。
【図７】図７は、シーンを十分に説明するには不十分なタイムマーカしかない複合仮想カメラパスを再作成する方法のフローチャートを示す。
【図８】図８は、イベントの階層の例を示す。
【図９】図９は、図６又は図７の方法を用いて再作成されたカメラパスによるシーンの仮想表示の説明図を示す。
【図１０】図１０は、ユーザがパスを修正する前と後の再作成されたカメラパスによるシーンの仮想表示の説明図を示す。
【図１１】図１１は、元のカメラ速度を再作成する方法を示す。
【図１２】図１２は、元のカメラ速度を再作成する代替的方法を示す。
【図１３Ａ】図１３Ａは、説明する配置構成を実践することができる電子デバイスの概略ブロック図表示をまとめて形成する。
【図１３Ｂ】図１３Ｂは、説明する配置構成を実践することができる電子デバイスの概略ブロック図表示をまとめて形成する。
【図１４】図１４は、仮想カメラを制御する方法を示す。
【発明を実施するための形態】
【００１０】
１以上の任意の添付図面において同じ符号を有するステップ及び／又は構成を参照する場合に、それらのステップ及び／又は構成は、反対の意図が明示されない限り、この説明を目的として同一の機能又は動作を有する。
【００１１】
説明する配置構成は、編集するデータポイントの量を減少させるだけでなく、ユーザが編集を望み得る場所を示す残余のポイントに表現させることによって、編集が効率的であるカメラパスをユーザに示す情報処理装置および情報処理方法に関する。
【００１２】
ここで説明する配置構成は、図１に例示するように、スポーツ又は同様のパフォーマンスフィールドのコンテキストにおいて用いることを目的とする。シーン又はアリーナであるフィールド１１０は、略矩形、楕円形又は円形の競技フィールドの中央に位置し、フィールドがカメラ１２０Ａ〜１２０Ｘの１以上のカメラネットワーク（リング）１２０によって囲まれることを可能とするものである。図１の例においてシーンはフィールド１１０であるが、他の配置構成では、シーンは音楽ステージ、劇場、公共又は民間の会場であってもよい。図１の例では、フィールドは物体１４０などの物体を含む。物体１４０は、人物、ボール、車両又は任意の構造体であってもよい。カメラ１２０Ａ〜１２０Ｘは、フィールド１１０上のすべてのポイントが非常に多くのビューポイントから同時に撮影されるように、時間内で同時にフレームを取得するように同期化される。ある変形例では、カメラのリング全体が用いられずに全外周のいくつかのサブセットが用いられる。
【００１３】
撮影されたビデオフレームは、ネットワーク接続１３２１を介してプロセッサともいわれる演算ビデオ処理部１３０５で利用可能となるより前に、カメラ近傍で処理及び一時記憶される。演算ビデオ処理部１３０５は、フィールド１１０内の仮想カメラ１５０についての位置、向き、ズーム及び場合によっては他のシミュレーションカメラ構成を指定するコントローラ１８０からの制御入力を受信する。演算ビデオ処理部１３０５の役割は、フィールド１１０を囲むカメラ１２０Ａ〜１２０Ｘから入手可能なビデオストリームに基づいて指定された仮想カメラ全体像のビデオストリーム１９０を合成することである。「バーチャルカメラ」は、物理カメラ間の補間などの方法によって、又は単に任意の単一の物理カメラの出力ではなくシーンを囲む多数のカメラからのデータを用いて構築されたモデル化三次元シーンによるレンダリングによってそれらの機能性が演算して求められることから、仮想カメラといわれる。
【００１４】
仮想カメラの位置特定入力は、人間の仮想カメラのオペレータによって生成され、ジョイスティック、マウス、又は複数の入力コンポーネントを備えた専用コントローラを含む同様のコントローラなどのユーザインターフェースデバイス（受付手段）によって受け付けられた入力に基づいてもよい。代替的に、仮想カメラの位置は、フィールド１１０における試合競技の解析に基づいて完全に自動的に生成されてもよい。ハイブリッド制御構成もまた可能であるため、仮想カメラの位置決めについてのある態様は、人間のオペレータ又は自動化アルゴリズムによる他のものによって指示される。ハイブリッドコントローラの例は、コースの位置決めが人間のオペレータによって実行され、安定化及びパスの円滑化を含む精密な位置決めは自動化アルゴリズムによって実行される場合を含む。
【００１５】
演算ビデオ処理部１３０５は、本技術分野において周知の自由ビューポイント生成のための方法の１つを用いてフレーム合成を実現する。方法の第１のクラスは、シーンの完全三次元（３Ｄ）幾何学形状を再構築するモデルによる方法である。第２のクラスは、深度推定を用いてから、画像及び深度データから自由ビューポイントビデオを生成する深度による方法である。第３のクラスは、自由ビューポイントビデオを直接形成するように画像データのある種の補間を用いる画像による方法である。３Ｄ幾何学形状を生成するのに用いられる技術は、運動による構造、シルエットによる形状、視覚的外郭再構築、焦点合致又はピンボケによる形状、立体による構造、及び深度／差異推定アルゴリズムを含む。画像によるレンダリング方法は、既知の幾何学的配置構成のカメラセットからの画素データのサンプリング、及びこの情報の合成フレームへの組合せに基づく。演算ビデオ処理部は、要求されるフレームのサンプルによるレンダリングに加えて、要求されるサンプリング欠陥を隠すこと及び高品質の視覚的外観のフレーム作成として領域の合成、３Ｄモデリング、インペインティング又は補間も実行し得る。演算ビデオ処理部１３０５によって作成されるビデオストリーム１９０は、続いて、ビデオストリーム１９０がともに編集されて放送ビデオを形成可能な制作デスク（図示せず）に提供され得る。
【００１６】
本実施形態における自由ビューポイントビデオは、仮想視点画像や自由視点映像とも呼ばれるものである。本実施形態における仮想カメラは、撮影領域（フィールド１１０）の周囲に実際に設置された複数の撮影装置（カメラ１２０）とは異なる仮想的なカメラであって、仮想視点画像の生成に係る仮想視点を便宜的に説明するための概念である。すなわち、仮想視点画像は、撮影領域に関連付けられる仮想空間内に設定された仮想視点から撮影した画像であるとみなすことができる。そして、仮想的な当該撮影における視点の位置及び方向は仮想カメラの位置及び方向として表すことができる。言い換えれば、仮想視点画像は、空間内に設定された仮想視点の位置にカメラが存在するものと仮定した場合に、そのカメラにより得られる撮影画像を模擬した画像であると言える。また、仮想カメラを制御することは、仮想視点画像の生成に係る仮想視点を設定することであると言える。
【００１７】
図１３Ａ及び１３Ｂは、組み込まれた構成要素を含む汎用の電子デバイス１３０１の概略的ブロック図をまとめて形成し、それにより説明する方法が所望のように実践される。電子デバイス１３０１は、好適には、タブレットなどのビデオ映像を鑑賞及び編集するのに適したデバイスである。電子デバイス１３０１はまた、例えば、処理リソースが制限された携帯電話、可搬メディアプレーヤ又はデジタルカメラであってもよい。それにもかかわらず、説明する方法はまた、デスクトップコンピュータ、サーバコンピュータ、及び非常に大きな処理リソースを有する他のそのようなデバイスなどのよりハイレベルのデバイス上でも実行され得る。
【００１８】
図１３Ａに示すように、電子デバイス１３０１は組み込まれたコントローラ１３０２を備える。したがって、電子デバイス１３０１を「組込みデバイス」という。本例では、コントローラ１３０２は、内部ストレージモジュール１３０９に双方向連結された処理部（すなわち、プロセッサ）１３０５を有する。内部ストレージモジュール１３０９は、図１３Ｂに示すように、不揮発性半導体読み出し専用メモリ（ＲＯＭ）１３６０及び半導体ランダムアクセスメモリ（ＲＡＭ）１３７０から構成され得る。ＲＡＭ１３７０は、揮発性メモリ、不揮発性メモリ、又は揮発性と不揮発性メモリの組合せであってもよい。
【００１９】
電子デバイス１３０１はディスプレイコントローラ１３０７を含み、それは液晶ディスプレイ（ＬＣＤ）パネルなどのようなビデオディスプレイ１３１４に接続される。ディスプレイコントローラ１３０７は、ディスプレイコントローラ１３０７が接続される組み込まれたコントローラ１３０２から受信された命令に従ってビデオディスプレイ１３１４上にグラフィック画像を表示するように構成される。
【００２０】
電子デバイス１３０１はまた、キー、キーパッド又は同様の制御装置によって通常構成されるユーザ入力デバイス１３１３も含む。ある実施例では、ユーザ入力デバイス１３１３は、タッチスクリーンをまとめて構成するようにディスプレイ１３１４に物理的に関連付けられたタッチ感知パネルを含み得る。したがって、そのようなタッチスクリーンは、プロンプトの対語としてのグラフィカルユーザインターフェース（ＧＵＩ）、又はキーパッド−ディスプレイとともに通常用いられるメニュー駆動ＧＵＩの一方の形式として動作し得る。音声コマンドのためのマイク（図示せず）又はメニューについてのナビゲーションを容易にするためのジョイスティック／サムホイール（図示せず）などの、他の形式のユーザ入力デバイスも用いられ得る。仮想カメラを制御するためのユーザ入力は、ユーザ入力デバイス１３１３を介して、通常、電子デバイス１３０１がタブレットコンピュータの場合にはタッチスクリーンを介して受信され得る。
【００２１】
図１３Ａに示すように、電子デバイス１３０１は可搬メモリインターフェース１３０６も備え、それは接続１３１９を介してプロセッサ１３０５に連結される。可搬メモリインターフェース１３０６によって、可搬記憶媒体１３２５は、データの送信元若しくは宛先として作用するように、又は内部ストレージモジュール１３０９を補足するように電子デバイス１３０１に連結されることが可能となる。そのようなインターフェースの例は、ユニバーサルシリアルバス（ＵＳＢ）メモリデバイス、セキュアデジタル（ＳＤ）カード、パーソナルコンピュータメモリカード国際協会（ＰＣＭＩＡ）カード、光ディスク及び磁気ディスクなどの可搬メモリデバイスとの結合を可能とする。
【００２２】
電子デバイス１３０１はまた、接続１３２１を介するコンピュータ又は通信ネットワーク１３２０への電子デバイス１３０１の連結を可能とする通信インターフェース１３０８も有する。接続１３２１は、有線でも無線であってもよい。例えば、接続１３２１は無線周波数又は光学的であってもよい。有線接続の例は、イーサネット（登録商標）を含む。さらに、無線接続の例は、Ｂｌｕｅｔｏｏｔｈ（登録商標）タイプのローカル相互接続、Ｗｉ−Ｆｉ（ＩＥＥＥ８０２．１１ファミリーの規格に基づくプロトコルを含む）、赤外線通信協会（ＩｒＤａ）などを含む。
【００２３】
電子デバイス１３０１は、コンピュータ又は通信ネットワーク１３２０を介してカメラネットワーク１２０に接続可能である。電子デバイス１３０１はまた、コンピュータ又は通信ネットワーク１３２０を介してサーバコンピュータ１３９９にも接続され得る。サーバコンピュータ１３９９は、電子デバイス１３０１と同様に動作する。ある実施例では、説明する方法、例えば、図６及び７の方法の一部のステップは電子デバイス１３０１上で実施されてもよく、一方、他のステップ、例えば、図１４の一部のステップはサーバコンピュータ１３９９において実施されてもよい。ある実例では、図６及び７の方法は、以下で説明するように、サーバコンピュータ１３９９の一部において実施され得る。
【００２４】
通常、電子デバイス１３０１は、ある特殊機能を実行するように構成される。組み込まれたコントローラ１３０２は、おそらくさらに特殊な機能の構成要素１３１０とともにその特殊な機能を実行するように設けられる。例えば、電子デバイス１３０１はデジタルカメラである場合には、構成要素１３１０はカメラのレンズ、焦点制御及び画像センサを示し得る。特殊な機能の構成要素１３１０は、組み込まれたコントローラ１３０２に接続される。他の例として、電子デバイス１３０１は、携帯電話機のハンドセットであってもよい。この実例では、構成要素１３１０は、セルラ電話機環境における通信に必要とされるそれらの構成要素を示し得る。電子デバイス１３０１は可搬デバイスであり、特殊な機能の構成要素１３１０は、ジョイントフォトグラフィックエクスパーツグループ（ＪＰＥＧ）、ムービングピクチャエクスパーツグループ（ＭＰＥＧ）、ＭＰＥＧ−１オーディオレイヤ（ＭＰ３）などを含むタイプの多数のエンコーダ及びデコーダを示し得る。
【００２５】
これ以降で説明する方法は組み込まれたコントローラ１３０２を用いて実施されてもよく、図６〜１２及び図１４の工程が、組み込まれたコントローラ１３０２内で実行可能な１以上のアプリケーションプログラム（ソフトウェアプログラム）１３３３として実施され得る。図１３Ａの電子デバイス１３０１は、説明する方法を実施する。特に、図１３Ｂを参照すると、説明する方法のステップは、コントローラ１３０２内で実行されるアプリケーションプログラム１３３３における命令によって達成される。アプリケーションプログラムの命令は、各々が１以上の特定のタスクを実行するための１以上のコードモジュールとして構成され得る。アプリケーションプログラムはまた、２つの分離した部分に分割されてもよく、第１の部分と対応するコードモジュールは説明する方法を実行し、第２の部分と対応するコードモジュールは第１の部分とユーザの間のユーザインターフェースを管理する。
【００２６】
組み込まれたコントローラ１３０２のアプリケーションプログラム１３３３は、通常、内部ストレージモジュール１３０９の不揮発性ＲＯＭ１３６０に記憶される。ＲＯＭ１３６０に記憶されたアプリケーションプログラム１３３３は、コンピュータ可読媒体から要求された場合に更新可能である。アプリケーションプログラム１３３３は、プロセッサ１３０５に読み込まれるとともにそれによって実行可能である。ある実例では、プロセッサ１３０５は、ＲＡＭ１３７０に配置されたソフトウェアの命令を実行し得る。ソフトウェアの命令は、プロセッサ１３０５によってＲＡＭ１３７０に読み込まれて、ＲＯＭ１３６０からＲＡＭ１３７０への１以上のコードモジュールのコピーを開始し得る。代替的に、１以上のコードモジュールについてのソフトウェアの命令は、製造業者によってＲＡＭ１３７０の不揮発性領域に事前にインストールされてもよい。１以上のコードモジュールがＲＡＭ１３７０に配置された後に、プロセッサ１３０５は１以上のコードモジュールについてのソフトウェアの命令を実行し得る。
【００２７】
アプリケーションプログラム１３３３は、通常、電子デバイス１３０１の分配よりも前に、製造業者によってＲＯＭ１３６０に事前にインストール及び記憶される。しかしながら、ある実例では、アプリケーションプログラム１３３３は、１以上のＣＤ−ＲＯＭ（図示せず）上で符号化されてユーザに供給され、内部ストレージモジュール１３０９又は可搬記憶媒体１３２５における記憶よりも前に、図１３Ａの可搬メモリインターフェース１３０６を介して読み出され得る。他の代替例では、アプリケーションプログラム１３３３は、プロセッサ１３０５によってコンピュータ又は通信ネットワーク１３２０から読み出され、又は他のコンピュータ可読媒体からコントローラ１３０２若しくは可搬記憶媒体１３２５に読み込まれ得る。コンピュータ可読記憶媒体とは、実行及び／又は処理のためにコントローラ１３０２に命令及び／又はデータの提供に際して関与する任意の非一時的タンジブル記憶媒体のことをいう。そのような記憶媒体の例は、それらのデバイスが電子デバイス１３０１の内部又は外部に有るか否かにかかわらず、フロッピーディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ若しくは集積回路、ＵＳＢメモリ、光磁気ディスク、フラッシュメモリ、又はＰＣＭＣＩＡカードなどのコンピュータ可読カードなどを含む。ソフトウェア、アプリケーションプログラム、命令及び／又はデータの電子デバイス１３０１への提供の際にも関与し得る一時的又は非タンジブルコンピュータ可読伝送媒体の例は、無線又は赤外線伝送チャネルと、さらに他のコンピュータ又はネットワーク化されたデバイスへのネットワーク接続、並びにウェブサイト上などに記録されたｅメールの送信及び情報を含む単数又は複数のインターネットとを含む。それに記録されたそのようなソフトウェア又はコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。
【００２８】
上記のアプリケーションプログラム１３３３の第２の部分と対応するコードモジュールは、１以上のグラフィカルユーザインターフェース（ＧＵＩ）を実施するように実行されて、図１３Ａのビデオディスプレイ１３１４にレンダリングあるいは表現され得る。ユーザ入力デバイス１３１３（例えば、キーパッド）の操作を通じて、電子デバイス１３０１及びアプリケーションプログラム１３３３のユーザは、機能上適合可能なようにインターフェースを操作し、制御コマンド及び／又は入力をＧＵＩに関連付けられたアプリケーションに提供し得る。拡声器（図示せず）を介して出力される言語プロンプトを利用するオーディオインターフェース及びマイク（図示せず）を介して入力されるユーザの音声コマンドなどの、他の形式の機能上適合可能なユーザインターフェースも実施され得る。
【００２９】
図１３Ｂは、アプリケーションプログラム１３３３及び内部ストレージモジュール１３０９を実行するためのプロセッサ１３０５を有する組み込まれたコントローラ１３０２を詳細に示す。内部ストレージモジュール１３０９は、読み出し専用メモリ（ＲＯＭ）１３６０及びランダムアクセスメモリ（ＲＡＭ）１３７０を備える。プロセッサ１３０５は、接続されたメモリ１３６０及び１３７０の一方又は双方に記憶されたアプリケーションプログラム１３３３を実行可能である。電子デバイス１３０１が最初に電源投入されると、ＲＯＭ１３６０にあるシステムプログラムが実行される。ＲＯＭ１３６０に恒久的に記憶されたアプリケーションプログラム１３３３を「ファームウェア」ともいう。プロセッサ１３０５によるファームウェアの実行によって、プロセッサの管理、メモリの管理、デバイスの管理、ストレージの管理及びユーザインターフェースを含む種々の機能が充足され得る。
【００３０】
プロセッサ１３０５は、通常、制御部（ＣＵ）１３５１、算術論理演算装置（ＡＬＵ）１３５２、デジタル信号プロセッサ（ＤＳＰ）１３５３、及び内部バッファ又はキャッシュメモリ１３５５とともに通常原子データ要素１３５６、１３５７を含むレジスタ１３５４のセットを備えるローカルメモリ又は内部メモリを含む、多数の機能性モジュールを含む。１以上の内部バス１３５９は、これらの機能性モジュールを相互接続する。通常、プロセッサ１３０５はまた、接続１３６１を用いてシステムバス１３８１を介して外部デバイスと通信するために１以上のインターフェース１３５８も有する。
【００３１】
アプリケーションプログラム１３３３は、条件付き分岐及びループ命令を含み得る一連の命令１３６２から１３６３を含む。アプリケーションプログラム１３３３はデータを含んでいてもよく、それはアプリケーションプログラム１３３３の実行に用いられる。このデータは、命令の一部として、又はＲＯＭ１３６０若しくはＲＡＭ１３７０内の別個の位置１３６４に記憶され得る。
【００３２】
一般的に、プロセッサ１３０５にはそこで実行される命令のセットが与えられる。命令のこのセットは、具体的なタスクを実行又は電子デバイス１３０１において生じる具体的なイベントを取り扱うブロックにまとめられる。通常、アプリケーションプログラム１３３３は、イベントを待ち受け、続いてそのイベントに関連付けられたコードのブロックを実行する。イベントは、プロセッサ１３０５によって検出されるように、図１３Ａのユーザ入力デバイス１３１３を介したユーザからの入力に応じてトリガされ得る。イベントはまた、電子デバイス１３０１における他のセンサ及びインターフェースに応じてもトリガされ得る。
【００３３】
命令のセットの実行は、読み出されて修正される数値変数を要求し得る。そのような数値変数は、メモリ（ＲＡＭ）１３７０に記憶される。開示する方法は、メモリ１３７０における既知の位置１３７２、１３７３に記憶された入力変数１３７１を用いる。入力変数１３７１は、メモリ１３７０における既知の位置１３７８、１３７９に記憶された出力変数１３７７を生成するように処理される。中間媒介変数１３７４は、メモリ１３７０の位置１３７５、１３７６における追加的メモリ位置に記憶され得る。代替的に、プロセッサ１３０５のレジスタ１３５４にのみ存在し得る中間媒介変数もある。
【００３４】
一連の命令の実行は、フェッチ実行サイクルの反復アプリケーションによってプロセッサ１３０５において実現される。プロセッサ１３０５の制御部１３５１はプログラムカウンタといわれるレジスタを維持し、それは実行される次の命令のＲＯＭ１３６０又はＲＡＭ１３７０にアドレスを含む。フェッチ実行サイクルの開始時に、プログラムカウンタによってインデックス付けされたメモリアドレスのコンテンツが、制御部１３５１に読み込まれる。したがって、読み込まれた命令はプロセッサ１３０５の後続の動作を制御することにより、例えば、データがＲＯＭ１３６０からプロセッサのレジスタ１３５４に読み込まれ、レジスタのコンテンツが他のレジスタのコンテンツと算術的に組み合わされ、レジスタのコンテンツが他のレジスタに記憶された位置に書き込まれるなどとなる。フェッチ実行サイクルの終了時には、プログラムカウンタはシステムプログラムコードにおける次の命令を指し示すように更新される。これは、ちょうど実行された命令に応じて、分岐動作を実現するために、プログラムカウンタに含まれたアドレスを増分すること又は新たなアドレスによるプログラムカウンタを読み込むことを含み得る。
【００３５】
以下で説明する方法の工程における各ステップ又はサブ工程は、アプリケーションプログラム１３３３の１以上のセグメントに関連付けられ、プロセッサ１３０５におけるフェッチ実行サイクルの反復実行、又は電子デバイス１３０１における他の独立したプロセッサブロックの同様のプログラム動作によって実行される。
【００３６】
具体的には、ユーザが撮影しているイベントがライブの場合には、６自由度でリアルタイムにユーザが仮想カメラを正確に制御することは困難であり、したがって予測が困難となるはずなので、撮影された仮想カメラ映像の編集が多くの場合に必要とされる。ある時間中に生じるキーとなるイベントは、通常、ユーザにとって撮影することが重要であり、正確にフレーム構成されることが必要である。スポーツ放送環境などの用途では、カメラパスの編集は迅速に行われる必要があり、イベントとリプレーの間の時間経過が長いほど多くの場合にリプレーの価値が早急に低下する。効果的な期間においてカメラパスを効率的に編集するには、ユーザはカメラパスに沿っていつ重要なイベントが生じるかを特定する必要がある。そして、ユーザは、比較的単純且つ時間的に効率よくパスを編集できなくてはならない。本実施形態におけるカメラパスは、カメラ１２０による撮影期間に含まれる複数の時点に対応する仮想視点パラメータを複数有する視点情報であり、仮想カメラの移動経路と向きの変化を表す。なお、仮想視点パラメータは、仮想視点の位置と向きを示すパラメータであるが、それらの何れか一方のみを示していてもよい。
【００３７】
説明する配置構成は、カメラパスの元の撮影状態からユーザ又は編集者による編集により適した修正状態への変換に関する。さらに、この新たな修正状態においては、カメラパスはユーザを編集する場所に誘導する際の有意性及び実用性を示唆するように構築又は再作成される。ただし、変換されたカメラパスは、最初に変換状態において元のカメラパスの当初の目的とするものを撮影することが重要である。
【００３８】
説明を補助するために、図２は錐台２１１を有する仮想カメラ２１０が仮想環境２１２の周辺を移動しているシーン２００の例を示す。仮想カメラ２１０は、プレーヤ２０１がボール２０２を軌道２０３に沿ってゴールキーパ２０４越しにゴールネット２０５に対してキックするスポーツイベントのビデオを撮影している。仮想環境２１２における軌道２０３は、サッカーのペナルティーキックを示す。
【００３９】
図３は、ユーザによってリアルタイムで自由にナビゲートされるような仮想カメラパス、図２のシーン２００に概説されたイベントの撮影、及び関連するタイムライン３２０を示す。シーン２００に対応するシーン３００は、仮想環境を通じる仮想カメラ３０６のカメラパス３０１の下向きの空間図を示す。仮想カメラ３０６のカメラパス３０１は、位置３０４で開始し、位置３０５で終了する。カメラパス３０１はまた、仮想環境において可視的でもある。仮想カメラ３０６がリアルタイムでナビゲートされる場合には、カメラパス３０１を含む記録データは経時的にカメラ３０６の姿勢を規定する一連のカメラ姿勢の座標３０２ａである。対応する編集可能タイムライン（ユーザインターフェース）３２０は、座標３０２ｂとしてカメラ姿勢の時間的位置を表示する。タイムラインは、カメラパス３０１に沿ってカメラ３０６の現在の位置を示すプレーヘッド３２２を有する。システムは、カメラの姿勢を更新する頻度、例えば、毎秒６０フレーム（ｆｐｓ）に応じて、姿勢座標データの量を決定する。６０ｆｐｓにおいて１０秒持続するカメラパスは、６００ポイントのデータを有することになる。タイムライン（ユーザインターフェース）３２０によって図示するように、非常に多くの編集可能ポイントがタイムラインユーザインターフェース上に表示される場合（時間増分ごとに１つ）には、タイムラインは過密となりユーザが効率的に編集するのは困難となる。
【００４０】
ユーザは、カメラパスデータを編集することが可能である。しかしながら、図４を用いて示すように、タイムライン３２０におけるカメラパスの編集は編集者にとって理想的なものではない。図４は、シーン２００及び３００に相当するシーン４００を示す。ユーザが仮想カメラ４０６の位置を変えたいと望むので、ユーザは電子デバイス１３０１の入力を操作して、プレーヘッド４１１をタイムライン（ユーザインターフェース）４１０上のポイント４０２ｃに移動させる。ポイント４０２ｃはボールがネットに入る瞬間であるため、ユーザは仮想カメラ４０６の位置を変えたいと求める。ポイント４０２ｃは、時間内の瞬間を示し、カメラパス４０１上の元の姿勢４０２ａに対応する。ユーザは、仮想カメラ４０６を元の姿勢４０２ａから新たな姿勢４０２ｂにナビゲートする。時間内のある瞬間のカメラ姿勢への変化は隣接するポイントを自動的に移動させることにはならず、直前のポイント４０４と後続のポイント４０５との間でカメラパス４０１に急激なずれ４０３を形成する。
【００４１】
タイムライン４１０を再作成する単純なアプローチは、仮想カメラのパス全体を十分に記述するわずかなデータに対して補間を用いてデータの量を減少させることによってパスを単純化し、編集可能なタイムラインユーザインターフェース上にそのデータを表示することである。単純なアプローチは、フリーハンドで描いたラインをベクトルスプラインにベクトル化する作図アプリケーションに似ている。単純なアプローチによる問題は、アプローチは編集するポイントの量を減少させるが残余のポイントの位置はユーザが求め得るポイントにおいて容易な編集を促すことにはならないことである。
【００４２】
図５は、単純なアプローチの制限を示す。仮想環境５００において、図３の元の未加工のカメラパス３０１は、減少した残余の制御ポイント５０２ａ〜５０２ｆのカメラパス５０１となるように単純化される。対応する編集可能なタイムライン５１０上では、残余の制御ポイント５０２ａ〜５０２ｆは、ポイント５１２ａ〜５１２ｆとしてそれぞれ示される。ユーザは、ボールがネットに入る瞬間にカメラパス５０１を修正するようにプレーヘッド５１１をタイムライン５１０上の位置５１３に移動させる。パスを修正するには、ユーザは新たな編集可能ポイント（仮想環境５００においてタイムライン５１０及びカメラパス５０１の双方に現れる）を作成することが必要となる。ユーザは、新たなポイント５０３を元の位置から新たな位置５０４に移動させることによってパスを修正する。この変化の影響によって、パスからの新たなずれ５０５が生じる。パスのずれ５０５の形状は、既存のポイント５０２ｅから、新たなポイント５０４の修正位置へ、そして次の既に存在しているポイント５０２ｆへの円滑な補間に基づく。その結果、カメラ５０６は、ポイント５０２ｅと５０４の間の短時間にわたってさらに移動するように急激にカメラスピードを増加しなくてはならない。位置の相違とともに急激なカメラスピード変化によって、結果として生じるカメラパスを目視しづらくなる。これを補正するために、ユーザは、ポイント５０２ｅを編集し、ある例では、目的とするものが開始から終了まで円滑な円弧状パスの形式である場合にはポイント５０２ｄをも編集することが必要となる。
【００４３】
ここで説明する例において、その役割がスポーツイベントの自由ビューポイントのリプレーを記録することであるユーザをカメラオペレータという。説明する撮影領域におけるイベントの例は、図３、図４及び図５の例に示すように、プレーヤがゴールキーパを越えてゴールにフットボールをキックするものである。カメラオペレータはコントローラ１８０の制御を用いて、仮想カメラのビューポイントから撮影されたリプレーを記録するように仮想環境の周辺の仮想カメラを手動で制御する。電子デバイス１３０１を用いて仮想カメラによって撮影された映像をレビューすると、カメラオペレータは決定的瞬間の良好な撮影を向上させるように元の記録されたカメラパスの編集を望む。
【００４４】
図６は、ユーザ編集をより容易にするためにカメラパスを修正する方法６００を示す。方法６００は、通常、ＲＯＭ１３６０に記憶されプロセッサ１３０５の実行のもとで制御されるアプリケーションプログラム１３３３の１以上のモジュールとして実施される。
【００４５】
方法６００は、カメラオペレータが編集ボタンを押圧し又はアプリケーションプログラム１３３３の編集モードに移行した結果として開始する。方法６００は、カメラオペレータにとって編集が容易なフォーマットにおいてカメラパスを準備及び提示するのに用いられる。
【００４６】
方法６００は、受信するステップ６０１で開始する。ステップ６０１では、アプリケーションプログラム１３３３は手動で制御された元のカメラパスを受信する。例えば、手動で制御されたカメラパスは、カメラ１２０Ａ〜１２０Ｘのうちの１つに記憶され、電子デバイス１３０１に送信される。ある配置構成では、手動で制御されたカメラパス及びカメラ１２０Ａ〜１２０Ｘによって撮影されたビデオデータがサーバコンピュータ１３９９に送信される。
【００４７】
方法６００は、プロセッサ１３０５の実行のもとでステップ６０１から、特定するステップ６０２を継続する。ステップ６０２において、アプリケーションプログラム１３３３は、受信されたカメラパスの開始及び終了の時間の一定期間を特定する。例えば、カメラパスの開始時間は、通常、記録の開始と一致し、終了時間は記録の終了と一致する。開始及び終了の時間は、仮想環境のタイムラインからのタイムコードとして記録される。開始及び終了の時間が分かると、アプリケーションプログラム１３３３は仮想環境にカメラパスが存在した期間を決定する。
【００４８】
方法６００は、プロセッサ１３０５の実行のもとでステップ６０２から、特定するステップ６０３を継続する。ステップ６０３では、アプリケーションプログラム１３３３は、カメラパスの期間内の有意なイベントを特定してから、有意なイベントを示すようにタイムマーカを作成する。タイムマーカは、時間の値、例えば、タイムコードを保持し、イベントがシーンにおいてその時間で生じたことを示す。ある配置構成では、タイムマーカは、タイムマーカに対応する特定された有意なイベントのタイプ、例えば、ゴール、ペナルティ、ボールのパス／キックなどのタイプを保持し、又は含み得る。ステップ６０３は、有意であると考えられるが有意性又は重要性のレベル間を区別しないものについての所定の表示に基づいて、有意であると考えられるイベントを特定するように動作する。
【００４９】
ある実施例では、ステップ６０３は有意なイベントについてのクエリを電子デバイス１３０１からサーバコンピュータ１３９９に送信するように動作する。サーバコンピュータ１３９９は、例えば、カメラネットワーク１２０から受信された解析ビデオデータによって、又は物体１４０（例えば、プレーヤ又はボール）に取り付けられたセンサを用いて有意なイベントを特定するように動作する。サーバコンピュータ１３９９は、有意なイベントの特定を電子デバイス１３０１に戻す。
【００５０】
方法６００は、プロセッサ１３０５の実行のもとでステップ６０３から、関連付けるステップ６０４を継続する。ステップ６０４では、アプリケーションプログラム１３３３は、特定されたイベントのタイムマーカを元のカメラパスのタイムラインに沿ってカメラの姿勢と関連付ける。アプリケーションプログラム１３３３は、元のカメラパスに沿ってカメラの姿勢を説明する（各タイムマーカに対応する）値のセットを記憶する。説明する配置構成において、カメラの姿勢は、カメラの位置、向き及びズーム特性として規定される。タイムマーカの各々は、ステップ６０３において特定された所定のタイプの少なくとも１つのイベントに対応する。すなわち、ステップ６０３及びステップ６０４により、Ｓ６０１で受信したカメラパスが有する複数の仮想視点パラメータのうち、所定のイベントに応じて特定される１以上の仮想視点パラメータが抽出される。抽出された仮想視点パラメータが変更可能であることを示す画像が表示される。
【００５１】
方法６００は、プロセッサ１３０５の実行のもとでステップ６０４から、作成するステップ６０５を継続する。ステップ６０５では、アプリケーションプログラム１３３３は、ステップ６０４においてアプリケーションプログラム１３３３によって記憶された姿勢の値のセットに基づいて関連付けられた空間及び時間に新たな制御ポイントを作成する。システムによって記憶された姿勢の値のセットは新たなポイントの空間座標を規定し、タイムマーカはタイムラインにおいていつ新たな制御ポイントを作成するかを規定するように用いられる。新たに作成された各制御ポイントは、規定の空間座標における仮想環境と、規定のタイムコードにおけるタイムラインインターフェース上との双方において示される。ステップ６０５は、仮想カメラのビデオ撮影の開始と終了の時間の間の期間内における複数のタイムマーカを用いてカメラパス上に複数の制御ポイントを決定するように効率的に動作する。制御ポイントは、元のカメラパスを少なくとも部分的に規定（特徴付け）する。
【００５２】
方法６００は、プロセッサ１３０５の実行のもとでステップ６０５から、補間するステップ６０６を継続する。ステップ６０６では、アプリケーションプログラム１３３３によって記憶された姿勢の値のセットに基づいて関連付けられた空間及び時間に１３３３は、ステップ６０５において作成された制御ポイントを通じて、元の開始カメラ姿勢から元の終了カメラ姿勢へと開始する修正された円滑なカメラパスを補間する。ステップ６０６は、制御ポイントにおける仮想カメラの幾何学形状（空間における位置）、移行の加速度及びスピードなどの特性を補間するように動作する。仮想カメラの幾何学形状又は位置は、仮想カメラの姿勢に関する。上記のように、姿勢は、仮想カメラの向き、位置及び他の特性に関する。ステップ６０６は、６０３において特定された対応する有意なイベントのタイプとともに図５のタイムライン５１０のマーカを例えば含む再作成されたカメラパスに関連付けられ、かつマーカ（図示せず）の各々に関連付けられたタイムラインの生成を含むことが可能である。生成に応じて、対応するイベントを用いて注釈されたタイムマーカを有するタイムラインは、ユーザによる編集のためにＧＵＩインターフェースを用いて再生成される。ユーザは、タッチスクリーンなどの電子デバイス１３０１のユーザ入力デバイス１３１３を用いて、再作成されたカメラパスを編集することができる。ステップ６０６の実行の後に、方法６００は、６０９で終了する。配置構成によっては、タイムラインは、ステップ６０６ではなくステップ６０５で生成され得る。
【００５３】
カメラパスの全体の曲線次数が低い場合には、例えば、カメラパスが直線又は二次曲線によって規定され得る場合、又は曲線次数が特定された有意なイベント数よりも小さい場合には、方法６００は、一般的に、元のパス及び元のカメラパスの撮影を制御したユーザの目的とするものを再現するカメラパスを再作成するのに十分である。元のカメラパスが複雑な場合には、パスが多大な曲率の複数の線分を有することを意味し、代替的な方法が用いられ得る。複雑なカメラパスは、例えば、曲線次数が特定されたイベント数を超過するような高次曲線によって規定され得る。結果として、方法６００によって再作成されたカメラパスは、パスが制御ポイントを必要とする領域において不十分なタイムマーカしか含まないことになる。代替的方法を、図７との関連において説明する。図７は、元のカメラパスの曲率を適切に規定するには不十分なタイムマーカしかない場合に、編集し易いカメラパスを再作成する方法７００を示す。方法７００は、一般的に、ＲＯＭ１３６０に記憶されプロセッサ１３０５の制御のもとで実行されるアプリケーションプログラム１３３３の１以上のモジュールとして実施される。
【００５４】
方法７００は、カメラオペレータが編集ボタンを押圧し、又は編集モードを移行した結果として開始する。
【００５５】
方法７００は、受信するステップ７０１で開始する。ステップ７０１では、アプリケーションプログラム１３３３は手動で制御された元のカメラパスを受信する。図７の例において、受信されるパスは、図３の元のカメラパス３０１と同一である。
【００５６】
方法７００は、アプリケーションプログラム１３３３の実行のもとでステップ７０１から、特定するステップ７０２を継続する。ステップ７０２では、アプリケーションプログラム１３３３はカメラパスの開始及び終了の時間を特定する。説明する例では、カメラパスの開始時間は記録の開始と同じであり、終了時間は記録の終了と同じである。開始及び終了の時間は、仮想環境のタイムラインによるタイムコードとして記録される。開始及び終了の時間が分かると、アプリケーションプログラム１３３３は仮想環境においてカメラパスが存在した期間を計算する。
【００５７】
方法７００は、アプリケーションプログラム１３３３の実行のもとでステップ７０２から、特定するステップ７０３を継続する。ステップ７０３では、アプリケーションプログラム１３３３はイベントの階層に基づいて期間内の最も重要なイベントを特定する。イベントは、ステップ６０３と同様にして特定可能である。ただし、ステップ７０３は階層を用いてイベントの重要性レベルをさらに特定するように動作する。アプリケーションプログラム１３３３が重要なイベントを特定するのに使用され得る方法は、複数ある。方法の１つは、仮想環境におけるすべての物体の移動に追従するのに物体の追跡を利用し、追跡され得る物体が相互にどのように相互作用するかを検出するものである。追跡される物体の例は、それに限定されないが、人々（及び彼らの一部）、（ボールなどの）器具、車両及び物理カメラを含む。追跡される物体が相互作用する形態は、イベントを認識するのに使用され得る。そのような物体及び相互作用の例は、ネットに接触するボール、他のプレーヤに接触するプレーヤ、ボールに接触するプレーヤ、及びある空間から他の空間、例えば、ゴールエリア又は競技場外部に移動するボールを含む。イベントを検出する他の方法は、カメラ１０２Ａ〜１２０Ｘのオペレータが、例えば、コントローラ１８０又は電子デバイス１３０１の入力を用いて、いつ重要なイベントが生じたか及びイベントのタイプをマーキングすることである。イベントを特定するのに使用され得る他の方法は、イベントを検出するのに群衆の反応の音響レベルを測定し、音響レベルに基づいて有意性を判断することである。
【００５８】
ある実施例では、ステップ７０３は、電子デバイス１３０１からサーバコンピュータ１３９９に有意なイベントについてクエリを送信するように動作する。サーバコンピュータ１３９９は、階層を用いて有意なイベント及び各イベントの重要性レベルを特定するように動作する。サーバコンピュータ１３９９は、イベントの特定及び重要性の関連するレベルを電子デバイス１３０１に戻す。
【００５９】
ステップ７０３でイベントが認識及び分類されると、イベントは非常に有意であるものから最も有意でないものまでランク付けする有効なイベントの階層と比較される。階層及びイベントの分類は、事前に規定される。図８は、イベントの階層の例を以下で詳細に説明する。アプリケーションプログラム１３３３が最も重要なイベントを特定すると、方法７００はステップ７０３から、関連付けるステップ７０４に移動する。
【００６０】
ステップ７０４では、特定されたイベントのタイムマーカは、元のカメラパスのタイムラインに沿ってカメラ姿勢とイベントを関連付けるのに用いられる。アプリケーションプログラム１３３３は、カメラの姿勢を説明する値のセットを記憶する。本開示のコンテキストにおいて、カメラ姿勢は、カメラの位置、向き及びズーム特性として規定される。
【００６１】
方法７００は、アプリケーションプログラム１３３３の実行のもとでステップ７０４から、作成するステップ７０５を継続する。ステップ７０５では、アプリケーションプログラム１３３３は対応する空間及び時間において新たな制御ポイントを作成する。システムによって保持される６次元の値は新たなポイントの空間座標を定義し、一方、特定されたイベントのタイムコードはタイムラインにおいていつ制御ポイントを作成するかを規定するのに用いられる。新たに作成された制御ポイントは、既定の空間座標における仮想環境及び規定のタイムコードにおけるタイムラインインターフェース上の双方において示される。制御ポイントは、ステップ６０５と同様にして作成又は決定される。制御ポイントは、ステップ７０３において決定されたイベントの重要性スコア又は階層に基づいて制御ポイントが決定されるので、関連する重要性スコアに基づいて効率的に特定される。
【００６２】
方法７００は、アプリケーションプログラム１３３３の実行のもとでステップ７０５から、補間するステップ７０６を継続する。ステップ７０６では、アプリケーションプログラム１３３３は、ステップ７０５において作成された制御ポイントを通じて、元の開始カメラ姿勢から元の終了カメラ姿勢へと開始する円滑なカメラパスを補間する。ステップ７０６は、ステップ６０６と同様にして動作する。
【００６３】
方法７００は、アプリケーションプログラム１３３３の実行のもとでステップ７０６から、チェックするステップ７０７を継続する。ステップ７０７では、アプリケーションは、補間されたカメラパスが閾値内の元のパスを正確に再作成しているかを判定するように、ステップ７０６の一部として作成された新たに補間されたカメラパスを評価する。ステップ７０７は、ステップ７０５の制御ポイントを用いて、再作成されたカメラパスと受信されたカメラパスを比較することによって再作成されたカメラパスの幾何学形状がステップ７０１において受信されたカメラパスの幾何学形状と実質的に一致するかを判定する。アプリケーションプログラム１３３３は、カメラパスの時間増分ごとに元のカメラ姿勢と、新たなカメラパスの新たなカメラ姿勢との差を計算し、差を合算することによって評価を実行する。事前に規定された閾値よりも計算によって小さな値が生成される場合（ステップ７０７において「Ｙ」）、肯定的発見は、生成されたカメラパスが、最小量の制御ポイントを有し、タイムライン上の制御ポイントの一時的な位置にシーンにおける重要性の高いイベントを表示させつつ元のパスに沿って元のカメラの軌道を十分に再現していることを意味するので、方法７００は７０９で終了する。差が事前に規定された閾値未満であるかの判定は、ステップ７０６で判定された制御ポイントを用いて再作成されたカメラパスの品質を示す。このイベントにおけるステップ７０７は、再作成されたカメラパスに関連付けられたタイムラインの生成、及びユーザによる編集のためにＧＵＩインターフェースを用いるタイムラインの再生成を含み得る。十分に再現されたカメラパスを構成する閾値は、オプションメニューにおいてユーザによって事前に設定される値である。
【００６４】
事前に規定された閾値よりも計算によって大きな値が生成される場合（ステップ７０７において「Ｎ」）、生成されるパスが元のパスを十分には再現せずにカメラパスの解像度を増加させるにはより多くの制御ポイントを必要とするので、方法７００はステップ７０７から、特定するステップ７０８に移動する。
【００６５】
ステップ７０８では、アプリケーションプログラム１３３３は、イベント８００の生成された階層に戻り、カメラパスの期間内で次に最も重要なイベントを特定する。次に最も重要なイベントが特定されると、方法７００は、元のカメラパスに沿ったカメラ姿勢とイベントを対応させるようにステップ７０４に戻る。
【００６６】
方法７００は、上記の技術を用いて特定された有意なイベントに基づいて、単純化された形式で元の仮想カメラパスを再作成するように動作する。方法７００は、重要なリプレーを撮影するのに仮想カメラを編集及び制御するデータストレージを低下させるとともにユーザの能力を増加させるようにして、仮想カメラパスを再作成するように動作する。制御ポイント数を減少させることによって、まず、カメラパスに関連付けられたデータが減少する。さらに、特定されたイベント（方法６００及び７００の双方）に基づいて制御ポイントを選択することによって、目立つイベントを迅速に特定及び編集するユーザの能力が向上する。方法６００及び７００によって、カメラパスの当初の目的とするものが、特に、図７のステップ７０４〜７０８を用いる複素曲線に対して維持可能となる。制御ポイントは、ステップ７０４〜７０８の動作によって再作成されたカメラパスの品質に基づいて効率的に特定される。ステップ７０４〜７０８のループによって、特定されたイベントに関連付けられた制御ポイント及びイベントの重要度のスコア（階層）を用いて受信仮想カメラパスが再作成可能となる。
【００６７】
ステップ６０５及び７０５（又はステップ６０６及び７０６）の各々は、以下の図９との関連で説明するように、対応するタイムラインインターフェースの生成及び表示を含むことができる。
【００６８】
図８は、イベントの階層８００の例を示す。図８の例において、イベントの階層８００はサッカー／フットボールのシナリオに関連する。異なる階層は、異なるイベントのシナリオ、例えば、（他のオリンピック陸上競技のシナリオとともに）競走のシナリオ、カーレーシングのシナリオ、演奏会のシナリオなどに対して存在する。
【００６９】
階層８００は最も重要であるものから最も重要でないものまで示され、上部が最も重要なものであり、底部は最も重要でないものである。階層８００は、降順で示す重要性８０１〜８０６の６層を有する。階層の層は、各タイムマーカに関連付けられて特定されたイベントの重要度のスコアを効率的に示す。図８の例において、低いスコア又は層はより高い重要性を示す。他の配置構成において、階層は昇順で重要性を示してもよい。層１の８０１は、上位層であり、ペナルティ、ゴール及びゴールセーブのイベントのためのものである。層２の８０２は、ペナルティ、スローイン及びコーナーキックのイベントをカテゴリ別に分ける。層３の８０３は、ボールがパス若しくはキックされるイベント、ボールがプレーヤによって受け取られるイベント、又はボールが対向するプレーヤによってインターセプトされるイベントをカテゴリ別に分ける。層４の８０４は、プレーヤが（ボールとともに）走り出すイベント、及びプレーヤが（ボールとともに）走るのを停止するイベントをカテゴリ別に分ける。層５の８０５は、プレーヤ（任意のプレーヤ）が走り出すイベント、及びプレーヤ（任意のプレーヤ）が走るのを停止するイベントをカテゴリ別に分ける。層６の８０６は、仮想カメラが移動を開始するイベント、仮想カメラが移動を停止するイベント、及び元のパスの曲線が大きく変化するイベント（所定の閾値に対する向きのｘ、ｙ、ｚにおける微分係数を比較することによって決定される変化）をカテゴリ別に分ける。層６の８０６のコンテンツは、すべての階層に対して共通であり、各階層の最下層となる。階層８００には図示していないが、各層における各イベントはサブ階層を形成可能である。例えば、層１の８０１において、ゴールのイベントは、ゴールセーブのイベントよりも重要性が高くてもよい。
【００７０】
階層を構成するものは、スポーツごと及びイベントごとに変動することになる。各々に使用する場合の階層は、プレーヤ／参加者、目立つ動き又は相互作用の数などの変数に依存し、ある場合においては、主体的であり、カメラネットワーク１２０の管理者、視覚効果アーティスト、放送局又はユーザの嗜好に基づくことがある。異なる階層の例は、フィギュアスケートの演技についてのものである。フィギュアスケートの演技を含むイベントは、サッカー／フットボールのイベントとは異なり、ユーザがイベントに適合する階層を事前に構成する必要がある。適切な階層を事前に構成することは、異なるイベントを認識するようにサーバに正確なデータを提供する追加的センサ及び入力、例えば、ジャイロスコープ、加速度計、破損位置トラッカ、オーディオ入力などを組み込むことを要求し得る。
【００７１】
フィギュアスケートのイベントに対して階層を構成するユーザは、このようにして階層を規定し得る。層１は、最も有意なイベントを保持しており、演者が氷面から飛び上がり空中を移動する技を実行するイベントを含み得る。層２は、演者が氷上でスピンの技を実行するイベントを保持し得る。層３は、演者が方向を反転するイベントを保持し得る。層４は、伴奏の音楽的変化に関するイベントを保持し得る。層５は、演者がスケートを開始及び終了する瞬間を示すイベントを保持し得る。さらに上記のように、層６は、仮想カメラが移動経路上における移動を開始する場合、仮想カメラが移動を停止する場合、及び元のパスの曲線が大幅に変化する場合のイベントを保持する。
【００７２】
サッカー／フットボール及びフィギュアスケートの階層の提供した例の双方において、階層はカメラパスに関するイベントを保持する第６の層を有する６層を含む。階層はさらに多い又は少ない層を有していてもよく、カメラに関するイベントは第６の層にある必要はない。
【００７３】
他のイベントの例は、非競合的な１つに演劇がある。上記のセンサ及び入力に加えて、演技のようなイベントは、媒体に固有のイベントの認識のために異なる入力を必要としてもよく、例えば、演技の脚本がシステムに供給され、脚本の節に基づいてイベントをトリガするのに言語認識が用いられてもよい。
【００７４】
劇場のイベントに対する階層を構成するユーザは、このようにして階層を規定し得る。層１は、演技の物語において重要なイベント、例えば、脚本家によって重要であると見なされた物語の部分を含み得る。層２は、俳優の移動及び位置が脚本に記されたステージの方向と相関するイベントを保持し得る。層３は、音楽配列の開始及び終了などの音楽の合図を保持し得る。層４は、仮想カメラが移動を開始する場合、仮想カメラが移動を停止する場合、及び元のパスの曲線が大幅に変化する場合のイベントを保持し得る。
【００７５】
図９は、元のカメラパス３０１が方法７００を用いて修正された後の再作成されたカメラパスの表示を示す。仮想環境９００において、元の未加工のカメラパス３０１は再作成されたパス９０１となるように単純化される。パス９０１は、制御ポイント９０２ａ〜９０２ｅとして示される減少した残余の編集（制御）ポイントしか有しない。ステップ７０７で生成される対応する編集可能なタイムライン９１０上で、ポイント９０２ａ〜９０２ｅはポイント９１２ａ〜９１２ｅとしてそれぞれ示される。残余のポイント９０２ａ〜９０２ｅ及び９１２ａ〜９１２ｅは、ステップ７０５の実行において作成され、イベント９０３、９０４及び９０５を反映している。ボールがネットに入るイベント９０５に対応するカメラパスの線分は、その線分がゴールのイベントに関連するとして特定されるので層１の８０１のイベントに関するとして最も重要なイベントである。ゴールのイベント９０５の特定によって、アプリケーションプログラム１３３３が結果としてイベントを示すポイント９１２ｄを作成することになり、制御ポイント９０２ｄの作成がもたらされる。制御ポイント９０２ｄの位置の作成は、イベントのタイムマーカに対応する時間に仮想カメラが位置した場所に基づく。ただし、開始姿勢の制御ポイント９０２ａ及び終了姿勢の制御ポイント９０２ｅと併せた制御ポイント９０２ｄの作成では、元のカメラパス３０１を再作成することはない。例えば、パスの曲率、すなわち、カメラパスを規定する曲線の次数は、追加的ポイントを必要とするように合成されて元のカメラパスの当初の目的とするものを正確に再生成し得る。このように、表示部に表示される画像は、制御ポイント９０２に対応する仮想視点パラメータが変更可能であることを示す。また、表示部に表示される画像は、制御ポイント９０２に対応する仮想カメラの位置をパス９０１上に示す。また、表示部に表示される画像は、制御ポイント９０２に対応する時点を撮影期間に対応するタイムライン９１０上に示す。
【００７６】
ステップ７０８に続いて、方法７００は、次に最も重要なイベントを特定することに戻る。次に最も重要なイベントは、イベントの階層８００の層３の８０３に関し、９０４においてプレーヤ（図３及び９の例ではゴールキッカー）がボールをキックする場合である。キックのイベントは、仮想環境９００における制御ポイント９０２ｃ及びタイムライン９１０上の対応するポイント９１２ｃを作成する。新たな制御ポイント９０２ｃは元のカメラパス（３００）をまだ十分には規定しないので、方法７００は次に重要なイベントとしてイベント９０３において走り出すプレーヤ（ゴールキッカー）を特定するステップ７０４〜７０７を繰り返す。イベントについてステップ７０４から７０５の実行によって、制御ポイント９０２ｂ及び対応するタイムライン９１０上のポイント９１２ｂが作成される。開始及び終了のポイント９０２ａ及び９０２ｅと同様に制御ポイント９０２ｂ〜９０２ｄを用いて、ステップ７０６では、ステップ７０７において元のカメラパス３０１を十分に再作成していると判定される補間されたパス９０１が構築され得る。説明する配置構成において、ステップ７０７の実行はまた、ユーザの参照のためにビデオディスプレイ１３１４上にタイムライン９１０を生成及び再生成するように動作する。
【００７７】
ステップ７０７で補間されたパスが元のパスを十分に再作成しているかを判定する方法の１つは、まず、時間増分ごとに元のパスと補間されたパス上の対応するポイント間の距離を計算し、続いてその合計を合算するものである。その総計が所定の閾値未満または閾値以内の場合には、補間されたパスが十分であると見なされる。十分なカメラパスの作成を完了すると、ユーザは、作成された１以上の制御ポイントを修正することによってカメラパスを編集することが可能となり、例えば、編集のために制御ポイント９０２ａ〜９０２ｅを記憶することによって制御ポイント付近の外部を編集することができなくなる。ユーザは、追加的制御ポイントを作成するのに（カメラパスの編集に通常用いられるユーザインターフェースなどの）ユーザインターフェースを用いることによって、既存の制御ポイント付近の外部を編集することを選択できる。
【００７８】
図１０は、ここで説明する方法を用いて修正されるカメラパスを用いることの効果を実証する。カメラパスの編集を求めるユーザは、放送時間を短縮するように特定のイベントに関連してカメラパスの一部を編集する可能性が高い。カメラパスはまた、本来提供されなかった全体像であるイベントの異なる又は改良された全体像を放送視聴者に提供するように編集されてもよい。図１０は、仮想環境１０００の例を示す。図１０の例において、ユーザの目的は、イベント１００２でゴールを決める瞬間にカメラパス１００１に沿って仮想カメラ１００６のビューポイントを修正することである。ユーザは、編集可能なタイムライン１０１０上でプレーヘッド１０１１を位置１０１２に移動させる。プレーヘッド１０１１の位置１０１２は、ゴールのイベント１００２と一致する。入力装置、例えば、ビデオディスプレイ１３１４を用いて、ユーザは、仮想カメラ１００６の姿勢を元の位置１００３から新たな制御ポイント１００４に移動させることによってカメラパス１００１を修正することができる。カメラパス１００１に沿った全ての制御ポイントは重要なイベントに関連して保存されたカメラ姿勢を示すので、新たに修正されたカメラパス１００５は、他のいずれのポイントも作成、削除、あるいは編集する必要なく、目立つ姿勢を全て保持する。ユーザを補助するために、特定されたイベントの名称、例えば、「ｉ」を、タイムライン１０１０上の制御ポイント１０１２と一緒に示す注釈を表示する。タイムラインに関連付けられたイベントの特定又は名称付け以外の注釈が、用いられてもよい。カメラパスを編集する場合にユーザを補助するように、例えば、動き（例えば、ゴール又はキック）を特定する注釈がタイムラインにおける各制御ポイントで用いられてもよく、又は各イベントの層を特定するのに記号（例えば、層１のイベントに対して色又は特定の形状）が用いられてもよい。
【００７９】
図１４は、再作成されたカメラパスを用いて仮想カメラを制御する方法１４００を示す。方法１４００は、通常、メモリに記憶されプロセッサ１３０５の制御の下で実行されるアプリケーションプログラム１３３３の１以上のモジュールとして実施される。
【００８０】
方法１４００は、生成するステップ１４０５で開始する。ステップ１４０５は、例えば、ユーザが編集ボタンを押圧することに応じて、方法６００又は７００を用いて仮想カメラパスを再作成するように動作する。ステップ１４０５の動作の結果、図９のタイムライン９１０を生成する。ある実施例において、ステップ６０３及び７０３は、電子デバイス１３０１ではなくサーバ１３９９上で実施可能である。
【００８１】
方法１４００は、ステップ１４０５から、受信するステップ１４１０に進む。ステップ１４１０では、ユーザはタイムライン９１０を用いて制御ポイントを選択及び編集する。例えば、図１０に示すように、ユーザはゴールを決めたプレーヤに接近した仮想カメラ映像を生成するように制御ポイント１００３を新たな位置１００４に移動させる命令を提供する。プロセッサ１３０５は、制御ポイントに対応する仮想視点パラメータの変更に係る上記のユーザ操作に応じた入力を受け付ける。
【００８２】
方法１４００は、プロセッサ１３０５の実行のもとでステップ１４１０から、編集するステップ１４１５を継続する。ステップ１４１５は、制御ポイント１００３を位置１００４に移動させるユーザの命令に基づいて修正されたカメラパス１００５を生成するように動作する。ステップ１４１５はまた、通常、制御ポイント１００７〜制御ポイント１００４から仮想カメラ配列の終了部への円滑な移行を含む修正された円滑なカメラパスを生成するように、変更後のパラメータに基づいて制御ポイント間を補完するステップも含む。ただし、補間は、ステップ１４２０において仮想カメラを制御しつつなされ得る。したがって、カメラパスは、少なくとも１つの制御ポイントに関連してステップ１４１０において受信されたユーザの入力に応じた制御ポイントに基づいて効率的に修正される。すなわち、カメラパスの修正が、決定された制御ポイントの各々の付近において有効化され、カメラパスの他の部分に対して無効化される。言い換えると、制御ポイント以外の部分の仮想視点パラメータを変更対象として指定するユーザ操作に応じた入力は受け付けられない。
【００８３】
方法１４００は、プロセッサ１３０５の実行のもとでステップ１４１０から、制御するステップ１４２０を継続する。制御するステップ１４２０の実行は、例えば、時間１０１１付近の制御ポイント１００４から仮想カメラ配列の終了部のビデオ映像を生成するように、例えば、ステップ１４１５において生成され修正されたパスに従って仮想カメラの構成を制御することによって、及び選択的に、制御ポイント間の仮想カメラ移行のスピード又は加速度を関連付けることによって仮想カメラの動作を制御するように動作する。ステップ１４２０は、既知の仮想カメラ生成（自由ビューポイント生成としても知られた）技術及びカメラ１２０Ａ〜１２０Ｘの関連するものから受信されたデータを用いて、制御ポイント１００４を含む修正されたカメラパスから仮想カメラビデオを生成するように動作する。仮想カメラビデオは、仮想カメラ姿勢に対応して修正されたカメラパス１００５及びタイムライン１０１０によって規定された仮想カメラ姿勢に従って、上記の自由ビューポイント生成技術の１つを用いて仮想カメラのビューポイントをレンダリングすることによって効率的に生成される。タイムライン１０１０は、シーンにおけるタイムラインに対応する。
【００８４】
カメラ１２０Ａ〜１２０Ｘは時間同期化され、すなわち、カメラ１２０Ａ〜１２０Ｘは異なる全体像から特定のイベントを同時に撮影し、それによって特定の仮想カメラ姿勢及びシーンにおける時間内の特定の瞬間についてのビューポイントを合成することが可能となる。例えば、ユーザは、時間を「フリーズする」とともに仮想カメラを制御して、異なるビューポイントから見た「フリーズされた」シーンのリプレービデオを生成することができる。シーンが特定の時間にフリーズされた場合には、リプレーのためにタイムライン１０１０は、シーンがフリーズされたシーンの時間と同じタイムコードを示す複数の追加的制御ポイントを含むように修正されることができる。仮想カメラは、所定のスピードで複数の追加的制御ポイントを横断するように制御されることが可能である。
【００８５】
仮想カメラのビューポイントをレンダリングするステップは、通常、タブレットデバイス１３０１ではなくサーバ１３９９上で実施される。電子デバイス１３０１は、修正されたカメラパス１００５からの仮想カメラ姿勢がタイムライン１０１０における対応するポイントに関連付けられることができるように、タイムライン１０１０を伴う修正されたカメラパス１００５を送信し得る。例えば、修正されたカメラパス１００５の制御ポイント間の補間は、タイムライン１０１０におけるすべてのポイントに対して１以上の仮想カメラ姿勢を決定することができる。
【００８６】
そして、サーバ１３９９は、修正されたカメラパス１００５によって規定された対応する仮想カメラ姿勢を用いてタイムライン１０１０における特定のポイントに対して、カメラ１２０Ａ〜１２０Ｘから受信されるデータを用いてシーンをレンダリングする。代替的に、比較的短いタイムラインに対して、電子デバイス１３０１は、電子デバイス１３０１が修正されたカメラパス１００５のビューポイントをレンダリングすることを可能とするように、タイムライン１０１０に対してサーバ１３９９によって生成されたモデルを与えられてもよい。
【００８７】
そして、レンダリングされたビデオ映像は、例えば、ユーザによるプレビューのために電子デバイス１３０１のディスプレイ上に表示される。ユーザが結果に満足すると、レンダリングされたビデオはより広範な視聴者に対して放送される。ある実施例では、シーンをレンダリングしつつリアルタイムで放送が実施されることができる。代替的に、レンダリングされた出力は、放送の前にさらに処理されてもよく、例えば、ビデオ共有ウェブサイトに単にアップロードされ、ニュースに組み込まれるなどが可能となる。
【００８８】
イベントによる制御ポイントがタイムラインに沿って具体的な時間にカメラの姿勢を規定するが、イベントによる制御ポイントは、通常、元のパスに当初は存在したカメラ速度におけるバラつきを求める十分な情報を単独で提供することはない。図３を参照すると、カメラ姿勢の座標３０２はパスに沿って密度が変動する。カメラ姿勢の座標は、終了部に向かうよりもパスの中間付近でよりタイトにグループ化される。よりタイトなグループ化は、カメラ３０６のスピードがより多くのカメラ姿勢の座標を作成する中間付近で減速したことを示す。元のカメラパス３０１を正確に再作成するには、速度の変化を説明するとともにパスにおける速度の変化を再作成する能力が必要となる。
【００８９】
速度変化の再作成を実現する比較的単純な方法は、元のカメラパス３０１に関連付けられたカメラのスピード及び加速度メタデータ（速度情報）を用いるものである。メタデータがない場合に速度変化の再作成を実現する方法は、図１１に示す方法１１００である。方法１１００は、通常、図７の方法７００のステップ７０９の終了において実行される。方法１４００のコンテキストにおいて、方法１１００はステップ１４０５と１４１０の間で実行され得る（図示せず）。方法１１００は、通常、ＲＯＭ１３６０に記憶されプロセッサ１３０５の実行のもとで制御されるアプリケーションプログラム１３３３の１以上のモジュールとして実施される。
【００９０】
方法１１００は、サンプリングするステップ１１０１で開始する。アプリケーションプログラム１３３３は、ステップ１１０１において一定間隔で元の仮想カメラの速度をサンプリングする。方法１１００は、ステップ１１０１から、適用するステップ１１０２を継続する。ステップ１１０２は、仮想カメラが元のカメラパス３０１と同様のスピード及び加速度で再作成されたパスに沿って移動するように、測定と同じ一定間隔で再作成されたパスに沿ってステップ１１０１で生成された速度値を利用又は適用するように動作する。ステップ１１０２は、カメラのスピード及び加速度メタデータに基づいて仮想カメラパスを再作成するように動作する。
【００９１】
図１２は、カメラの速度を再作成されたパスに変換する代替的方法１２００を示す。方法１２００は、方法１１００と同様にして、図７の方法７００の終了の後に生じる。方法１４００のコンテキストにおいて、方法１２００はステップ１４０５と１４１０の間で実行可能である（図示せず）。元のパスを再作成するのに十分な数の制御ポイントが特定及び作成されると、方法１２００は取得するステップ１２０１で開始する。ステップ１２０１の動作は、特定された制御ポイントに関連付けられた時間を取得する。方法１２００は、プロセッサ１３０５の実行のもとでサンプリングするステップ１２０２へと継続する。アプリケーションプログラム１３３３は、参考として取得された時間を用いてステップ１２０２において元のカメラパスに沿ったカメラの速度データをサンプリングする。方法１２００は、プロセッサ１３０５の実行のもとでステップ１２０２から、組み込むステップ１２０３を継続する。ステップ１２０３では、サンプリングされた速度値が、制御ポイントに組み込まれ、より正確なカメラパスを補間するのに用いられる。
【００９２】
説明する配置構成は、迅速に元のカメラパスをユーザが編集するのに役立つ。さらに、説明する方法はカメラパスを記憶するのに必要とされるファイルサイズを低下させるように実施され得る。ファイルサイズを低下させるために、方法は、仮想環境９００又は編集可能なタイムライン９１０内の制御ポイントを可視化する必要がないだけで、説明したように実施可能である。
【００９３】
説明する配置構成は、コンピュータ及びデータ処理産業に適用可能であり、具体的には、放送及びビデオ撮影産業のためのものである。特定されたイベントに基づいて制御ポイントを決定するステップにおいて、カメラパスは、手動で制御されるカメラパスの目的とするもの又は目立つイベントを損なうことなく意味のある方法で短縮可能となる。したがって、ユーザは、相対的容易さ及びスピードでカメラパスを編集することができる。ユーザにとっての容易さ及びスピードは、カメラパスを再作成するために制御ポイントを決定するステップにおいてイベントの階層を用いることによってさらに補助される。さらに、制御ポイントの補間は、元のカメラパスの目的とするものを維持することを補助する。
【００９４】
上記では本発明のいくつかの実施形態のみを説明するものであり、それに対して本発明の範囲及び趣旨から逸脱することなく変形及び／又は変更が可能であり、実施形態は例示的なものであり限定的ではない。
【図１】
2019160318.tif 000003
【図２】
2019160318.tif 000004
【図３】
2019160318.tif 000005
【図４】
2019160318.tif 000006
【図５】
2019160318.tif 000007
【図６】
2019160318.tif 000008
【図７】
2019160318.tif 000009
【図８】
2019160318.tif 000010
【図９】
2019160318.tif 000011
【図１０】
2019160318.tif 000012
【図１１】
2019160318.tif 000013
【図１２】
2019160318.tif 000014
【図１３Ａ】
2019160318.tif 000015
【図１３Ｂ】
2019160318.tif 000016
【図１４】
2019160318.tif 000017