(57)【要約】【課題】  コースに対するコース地形上の仮想オブジェクトに対する位置を決定するための、コンピュータプログラムプロダクトを包含する、方法及び装置。【解決手段】  該位置に対応する該コースの写真画像が識別される。該仮想オブジェクトが該写真画像内に現れるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む。【選択図】  図２Ａ
2009544107.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法において、
コースに対するコース地形の上又は上方の仮想オブジェクトに対する位置を決定し、
該位置に対応する該コースの写真画像を識別し、
該仮想オブジェクトが該写真画像内に現れるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む、
ことを包含している方法。
【請求項２】
請求項１において、該位置を決定する場合に、該仮想オブジェクトの該コース地形の一つ又はそれ以上の部分との相互作用をシミュレーションする方法。
【請求項３】
請求項２において、更に、該写真画像のプレゼンテーション内に該相互作用の視覚的表現を組み込むことを包含している方法。
【請求項４】
請求項１において、更に、一人のユーザ又は複数のユーザからなるグループと関連する履歴に基づいて該写真画像をプリフェッチすることを包含している方法。
【請求項５】
請求項１において、更に、該コース地形の一つ又はそれ以上の部分と該仮想オブジェクトとの相互作用を発生させるユーザ入力を受け付けることを包含している方法。
【請求項６】
請求項１において、該位置が第１位置であり且つ該写真画像が第１写真画像であって、本方法が、更に、該仮想オブジェクトの動きに応答して、
該コースに対する該コース地形上又はその上方の仮想オブジェクトに対する第２位置を決定し、
該第２位置に対応する該コースの第２写真画像を識別し、且つ
該仮想オブジェクトが該第２写真画像内に現れるように該第２写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む、
ことを包含している方法。
【請求項７】
請求項１において、該位置が該コース上の実世界位置である方法。
【請求項８】
請求項１において、更に、該写真画像のプレゼンテーション内にアバター又は一片の仮想装置を組み込むことを包含している方法。
【請求項９】
請求項１において、更に、該仮想オブジェクトが該写真画像内においてアニメーション化されるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込むことを包含している方法。
【請求項１０】
請求項１において、更に、該写真画像のプレゼンテーション内に視覚的効果を組み込むことを包含している方法。
【請求項１１】
請求項１において、該コースが、ゴルフコース、野球内野、トラック、テニスコート、一つ又はそれ以上の道路、又は開けた地形の内の一つ又はそれ以上である方法。
【請求項１２】
請求項１において、該仮想オブジェクトが、ゴルフボール、野球ボール、テニスボール、自動車、自転車、動物、アバター、オートバイ、又は飛行船の内の一つである方法。
【請求項１３】
請求項１において、該写真画像が該コースの２個又はそれ以上の写真の合成である方法。
【請求項１４】
請求項１において、該写真画像を識別する場合に、ターゲット位置が該写真の水平中心に最も近い１個の写真を複数個の写真から識別する方法。
【請求項１５】
請求項１において、更に、該写真画像における歪みを考慮に入れるために該地形を変形させることを包含している方法。
【請求項１６】
請求項１において、更に、該写真画像のプレゼンテーションにおいて該仮想オブジェクトを拡縮させることを包含している方法。
【請求項１７】
請求項１において、
該コース地形が三次元空間を表しており且つ該写真画像が二次元画像であり、且つ
該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む場合に、該三次元空間内の該位置を該二次元画像内の水平及び垂直位置に対応させることを包含している、方法。
【請求項１８】
コンピュータによって実現される方法において、
コースに対するコース地形の上又は上方の仮想オブジェクトに対するユーザ履歴に基づいている一つ又はそれ以上の潜在的位置を決定し、
各潜在的位置に対応する該コースの写真画像を識別し、且つ
識別された写真画像の各々を取得する、
ことを包含している方法。
【請求項１９】
請求項１８において、更に、該取得された写真画像の内の一つのプレゼンテーション内に該仮想オブジェクトを組み込むことを包含している方法。
【請求項２０】
コンピュータによって実現される方法において、
コースを複数のセルに分割し、
該コースに対するターゲットポイントを決定し、且つ
該ターゲットポイント及び該セルの寸法に基づいて各セルに対するカメラパラメータを決定する、
ことを包含している方法。
【請求項２１】
請求項２０において、更に、該決定されたカメラパラメータに基づいてショットリストを発生することを包含している方法。
【請求項２２】
請求項２０において、該コースを複数のセルに分割する場合に、コース特徴に基づいてセル密度を変化させる方法。
【請求項２３】
コンピュータにより読み取り可能な媒体上にエンコードされているコンピュータプログラムプロダクトであって、データ処理装置をして以下の動作を実施させるべく動作可能なコンピュータプログラムプロダクトにおいて、
コースに対するコース地形上の仮想オブジェクトに対する位置を決定し、
該位置に対応する該コースの写真画像を識別し、且つ
該仮想オブジェクトが該写真画像内に現れるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む、
コンピュータプログラムプロダクト。
【請求項２４】
コンピュータにより読み取り可能な媒体上にエンコードされているコンピュータプログラムプロダクトであって、データ処理装置をして以下の動作を実施させるべく動作可能なコンピュータプログラムプロダクトにおいて、
コースに対するコース地形上の仮想オブジェクトに対するユーザ履歴に基づく一つ又はそれ以上の潜在的位置を決定し、
各潜在的位置に対応する該コースの写真画像を識別し、且つ
該識別された写真画像の各々を取得する、
コンピュータプログラムプロダクト。
【請求項２５】
コンピュータにより読み取り可能な媒体上にエンコードされているコンピュータプログラムプロダクトであって、データ処理装置をして以下の動作を実施させるべく動作可能なコンピュータプログラムプロダクトにおいて、
コースを複数のセルに分割し、
該コースに対するターゲットポイントを決定し、且つ
該ターゲットポイント及び該セルの寸法に基づいて各セルに対するカメラパラメータを決定する、
コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータシミュレーションにおける写真の使用に関するものである。
【背景技術】
【０００２】
コンピュータゲーム及びその他のタイプのシミュレーションは、三次元（３Ｄ）コンピュータにより発生されたグラフィックを介して、野球内野、競馬場、及びゴルフコースなどの実世界環境を再現する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
然しながら、この様なグラフィックは、典型的に、イメージの意図した現実性を損なう繰返しパターンなどの不自然な視覚的人工的効果を作成する場合がある。幾つかのコンピュータゲームは、フォアグランド即ち前景においてコンピュータによって発生されたグラフィックをレンダリングさせて、バックグラウンド即ち背景として山脈などの実際の場所の写真を使用する場合がある。しかしながら、該写真により表される地形とコンピュータにより発生されたグラフィックとの間の相互作用が何ら存在しない場合がある。
【課題を解決するための手段】
【０００４】
一般的に、一つの側面においては、本発明の実施例は、コース用のコース地形上の仮想オブジェクトの位置を決定することを特徴としている。その位置に対応する該コースの写真画像が識別される。該仮想オブジェクトは、それが第１位置に対応する第２位置において写真画像内に現れるように該写真画像のプレゼンテーション内に組み込まれる。
【０００５】
これら及びその他の実施例は、オプションとして、以下の特徴の内の一つ又はそれ以上を包含することが可能である。仮想オブジェクトのコース地形の一つ又はそれ以上の部分とのインターラクション即ち相互作用をシミュレーションすることが可能である。該相互作用の視覚的表示を第１写真画像のプレゼンテーション内に組み込むことが可能である。該写真画像は、一人のユーザ又はユーザのグループに関連する履歴に基づいてプリフェッチすることが可能である。ユーザ入力は、コース地形の一つ又はそれ以上の部分と仮想オブジェクトとの相互作用を発生させるために受け付けることが可能である。仮想オブジェクトの動きに応答して、コースに対するコース地形上の仮想オブジェクトに対する第２位置を決定することが可能であり；第２位置に対応する該コースの第２写真画像を識別することが可能であり；且つ該仮想オブジェクトを第２写真画像のプレゼンテーション内に組み込むことが可能である。該コース地形は該写真画像へマップさせることが可能である。その位置は該コース上の実世界位置とすることが可能である。
【０００６】
アバター即ち一片の仮想装置を該写真画像のプレゼンテーション内に組み込むことが可能である。該仮想オブジェクトは、それが該写真画像内においてアニメーション化されるように該写真画像のプレゼンテーション内に組み込むことが可能である。ビジュアルエフェクト即ち視覚的効果を該写真画像のプレゼンテーション内に組み込むことが可能である。該コースは、ゴルフコース、野球内野、トラック、テニスコート、一つ又はそれ以上の道路、又は広々とした地形、の内の一つ又はそれ以上とすることが可能である。該仮想オブジェクトは、ゴルフボール、野球ボール、テニスボール、自動車、自転車、動物、アバター、オートバイ、又は飛行船、の内の一つとすることが可能である。該写真画像は、該コースの二つ又はそれ以上の写真の合成とすることが可能である。一つの写真は、ターゲット位置がその写真の水平中心に最も近いものとして複数個の写真から識別することが可能である。該写真画像における歪を示すために地形を変形させることが可能である。該仮想オブジェクトは該写真画像のプレゼンテーションにおいてスケーリング即ち拡縮させることが可能である。該位置は、二次元空間における第２位置に対して三次元空間において投影させることが可能である。
【０００７】
一般的に、別の側面においては、本発明の実施例は、ユーザ履歴に基づいて、コースに対するコース地形上の仮想オブジェクトに対する一つ又はそれ以上の潜在的な位置を決定することを特徴としている。各潜在的位置に対応する該コースの写真画像が識別される。その識別された写真画像の各々が取得される。
【０００８】
これら及びその他の実施例は、オプションとして、以下の特徴の内の一つ又はそれ以上を包含することが可能である。該仮想オブジェクトは取得された写真画像の内の一つのプレゼンテーション内に組み込むことが可能である。
【０００９】
一般的に、別の側面においては、本発明の実施例は、コースを複数のセルに分割することを特徴としている。該コースに対するターゲットポイント即ち目標点が決定される。各セルに対するカメラパラメータが、該セルの寸法及び該ターゲットポイントに基づいて、決定される。
【００１０】
これら及びその他の実施例は、オプションとして、以下の特徴の内の一つ又はそれ以上を包含することが可能である。決定されたカメラパラメータに基づいてショットリスト即ち撮影リストを発生させることが可能である。セル密度はコース特徴に基づいて変更させることが可能である。
【００１１】
本発明の特定の実施例は、以下の利点の内の一つ又はそれ以上を実現するために実施することが可能である。コースの実際の写真をゲームプレイ内に統合するために実際のコースでのプレイ経験がプレイヤー即ち遊戯者に与えることが可能である。ゲーム又はシミュレーションの性能を改善するために、一人又はそれ以上のプレイヤーの履歴に基づいて写真をプレフェッチすることが可能である。仮想オブジェクトが実際にコース上で写真が取られたかのような印象をプレイヤーが持つように、仮想オブジェクトを適切な位置及び適切な尺度で実際の写真内に統合させることが可能である。コースを潜在的に変化する密度の格子に手動的に又は自動的に分割することが可能であり、且つその格子に対してショットリストを自動的に発生させることが可能である。
【００１２】
本発明の一つ又はそれ以上の実施例の詳細を添付の図面及び以下の説明において記載する。本発明のその他の特徴、側面、及び利点はその説明、図面、及び特許請求の範囲から明らかなものとなる。
【図面の簡単な説明】
【００１３】
【図１Ａ】ゲームプレイ内に実際のゴルフコースの写真を組み込んだコンピュータゴルフゲームに対するグラフィカルユーザインターフェースの一つの状態を示した概略図。
【図１Ｂ】ゲームプレイ内に実際のゴルフコースの写真を組み込んだコンピュータゴルフゲームに対するグラフィカルユーザインターフェースの別の状態を示した概略図。
【図１Ｃ】ゲームプレイ内に実際のゴルフコースの写真を組み込んだコンピュータゴルフゲームに対するグラフィカルユーザインターフェースの更に別の状態を示した概略図。
【図２Ａ】コンピュータゲームなどのシミュレーションにおける写真マッピング用の技術のフローチャート。
【図２Ｂ】コンピュータゲームなどのシミュレーションにおけるマッピング用の写真画像をプリフェッチする技術のフローチャート。
【図３Ａ】コース格子を例示した概略図。
【図３Ｂ】コース格子内の一つのセルからどのようにして写真パラメータが派生されるかを例示した概略図。
【図３Ｃ】２５’６”×２５’６”セルの実際のコース写真の概略図。
【図３Ｄ】１０’３”×１０’３”セルの実際のコース写真の概略図。
【図４】コースを複数のセルへ自動的に分割し且つショットリストを発生する技術を例示したフローチャート。
【図５】コース格子オーバーレイを含むコースに対する３Ｄ地形データの例示を示した概略図。
【図６Ａ】仮想オブジェクトの視覚的表現を写真内に組み込む技術を例示したフローチャート。
【図６Ｂ】３Ｄマッピングの例示を示した概略図。
【図７】写真マッピングシステムを例示した概略図。
【発明を実施するための形態】
【００１４】
種々の実現例は、シミュレーションした二次元（２Ｄ）及び３Ｄグラフィックと結合されたコースの実際の写真を使用してコース（例えば、ゴルフコース、野球内野、競馬場）上でプレイの経験を再現する。
【００１５】
コンピュータゲーム及びその他のタイプのシミュレーションは、典型的に、「悪」人の全てを銃で撃つか又はゴルフのワンホールをプレイするなどの一つ又はそれ以上の目的を達成するためにプレイヤーが相互作用する仮想宇宙を包含している。典型的なコンピュータゲームのジャンルは、ロール・プレイング、ファースト・パーソン・シューティング、サード・パーソン・シューティング、スポーツ、レーシング、ファイティング、アクション、ストラテジイ、シミュレーションを包含している。コンピュータゲームは、二つ又はそれ以上のジャンルの組み合わせを組み込むことが可能である。コンピュータゲームは、ワークステーション、パソコン、ゲームコンソール（例えば、ソニーのプレイステーション及びプレイステーションポータブル、マイクロソフトのＸｂｏｘ、任天堂のゲームキューブ及びゲームボーイ）、携帯電話、ポータブルメディアプレイヤー、及びその他のモバイル装置などの異なるコンピュータプラットフォームに対して通常使用可能である。コンピュータゲームは単独プレイヤー又は多数プレイヤーとすることが可能である。幾つかの多数プレイヤーゲームは共通の又は共用の仮想宇宙において相互作用するためにインターネットを介してプレイヤーを接続させることを可能とする。
【００１６】
仮想宇宙は、コンピュータゲームをプレイする場合にユーザが相互作用し且つ仮想環境、オブジェクト、キャラクタ、及び関連する状態情報の表現を包含することが可能なパラダイムである。例えば、仮想宇宙は、仮想ゴルフコース、ゴルファ、ゴルフクラブ、及びゴルフボールを包含することが可能である。仮想宇宙及びその仮想オブジェクトは、ユーザが目標を達成するに従い変化することが可能である。例えば、アクションゲームにおいては、ユーザが一層高いゲームレベルに進むに従い、典型的に、仮想宇宙は新たなレベルをモデルするために変化され且つユーザは一層強力な武器などの異なる仮想装置が与えられる。
【００１７】
プレイヤーは、典型的に、ユーザインターフェースを介して、アバター及び仮想装置などの仮想宇宙における一つ又はそれ以上の仮想オブジェクトと相互作用を行う。ユーザインターフェースは、これらに制限するものではないが、マウス入力、トラックボール入力、ボタン入力、音声コマンド、音、ジェスチャー、目の動き、体の動き、脳波、その他のタイプの生理学的なセンサ、及びこれらの結合を受け取ることが可能な装置を含む全ての態様の入力装置からの入力を受け付けることが可能である。例えば、マウスボタンのクリックは、仮想ゴルフコース上において、仮想ゴルフクラブをスイングさせ且つ仮想ゴルフボールを打つ場合がある。
【００１８】
図１Ａは、実際のゴルフコースの写真（例えば、１０２ａ）をゲームプレイ内に組み込んでいるコンピュータゴルフゲームに対するグラフィカルユーザインターフェース（ＧＵＩ）１００を例示している。仮想オブジェクトの種々の仮想表現が写真１０２ａのプレゼンテーション内に統合されており、該仮想表現は、プレイヤーを表すアバター１０４、ゴルフクラブを表す一片の仮想装置１１２、及びゴルフボールを表す一片の仮想装置１０８を包含している。該プレイヤーはコンピュータゲームにユーザ入力を与え、そのことは、入力及び仮想宇宙における仮想オブジェクトの相互作用に基づいてゲームの仮想宇宙の状態を変化させることによって反応する。
【００１９】
例えば、プレイヤー入力は、グリーンの端に向かって、クラブ１１２でアバター１０４がボール１０８を打つようにみえるようにさせることが可能である。ゲームエンジンは、ゴルフコースを表している仮想宇宙において、ボール１０８の空中軌跡及びゴルフコース地形との結果的な相互作用（例えば、跳ね返り及び転がり）の物理現象をシミュレーションすることが可能である。該地形は、例えば、実際のゴルフコースのトポグラフィのモデルとすることが可能である。後述するように、３Ｄ仮想ゴルフコースにおけるボール１０８及び、オプションとして、その他の仮想オブジェクトの新たな位置が写真１０２ａ又は異なる写真内の対応する２Ｄ位置に対してマップされ、従って該仮想オブジェクトはあたかも実際に写真がとられたかのように該写真において適切な位置及び適切な尺度で現れる。この様に、プレイヤーは実際のゴルフコース上でのプレイを行う経験が与えられる。
【００２０】
図２Ａは、コンピュータゲームなどのシミュレーションにおける写真マッピングに対する技術のフローチャート２００である。ユーザ入力がオプションとして得られ、それは、写真マッピングをトリガーする目的のために追跡されている仮想オブジェクト（例えば、ゴルフボール１０８）をしてシミュレーションされるべき３Ｄコース地形の一つ又はそれ以上の部分と相互作用させる（ステップ２０２）。一つを超える仮想オブジェクトを追跡することが可能である。シミュレーションに基づいて、コース地形上の該仮想オブジェクトに対する新たな位置が決定される（ステップ２０４）。例えば、ゲームエンジンは、ゴルフボール軌跡及びそのボールのゴルフコース地形との究極的なインパクトの物理現象をシミュレーションすることが可能である。
【００２１】
コース上の該仮想オブジェクトの新たな位置に対応する写真画像が識別される（ステップ２０６）。追跡されている一つを超える仮想オブジェクトが存在している場合には、追跡される仮想オブジェクトの全ての位置を包含する地形の区域に対応する写真が識別される。或るコース位置をカバーする複数の写真が存在している一つの実現例においては、プレイヤーの観点から最も良いビューを与える写真が選択される。例えば、仮想オブジェクトの新たな位置の位置上の中心に最も近い写真が選択される。代替的に、仮想オブジェクトの新たな位置の一つを越える写真をデジタル的にスティッチングさせて単一の複合写真を形成することが可能である。該仮想オブジェクトはその写真画像内に組み込まれる（例えば、３Ｄマッピングを使用して；ステップ２０８）。
【００２２】
図２Ｂは、コンピュータゲームなどのシミュレーションにおけるマッピング用の写真画像をプリフェッチする技術のフローチャート２０１である。写真画像のプリフェッチは、それらが処理されることを必要とする前に写真をキャッシュすることによって実時間ゲーム及びその他のシミュレーションの性能を改善することが可能である。このことは、該画像が遠隔格納部から検索されねばならない場合には特にそうである。第１に、コース地形上の仮想オブジェクトに対する一つ又はそれ以上の潜在的な位置が、該コースのその特定の部分に対してのユーザのプレイ履歴又は一群のユーザのプレイ履歴に基づいて決定される（ステップ２０３）。プレイ履歴は、ユーザに対する地形における仮想オブジェクトの過去の位置及びユーザのゲームプレイ能力の対抗措置を識別する情報を包含することが可能である。各潜在的な位置に対応する該コースの写真画像が次いで識別される（ステップ２０５）。その識別された写真は、次いで、ゲームプレイ内に組み込む場合の準備がなされるようにプリフェッチ（例えば、キャッシュ）される（ステップ２０７）。次いで、該仮想オブジェクトの新たな位置に基づいて、一つ又はそれ以上の仮想オブジェクトが取得された画像の内の一つの中に組み込まれる（ステップ２０９）。
【００２３】
仮想宇宙において追跡される仮想オブジェクトのシミュレーションされる動きの幾つか又は全ては実際のコース写真においてアニメーションさせることが可能である。例えば、写真１０２ａにおいてプレイヤーがゴルフボール１０８を打った後に（図１Ａに示したように）、ボール１０８が位置１０８ａにおいて空から落ち、位置１０８ｂにおいてゴルフコースに当たり、且つ休止位置１０８ｃへ転がるアニメーションと共に写真１０２ｂ（図１Ｂに示されているように）をプレイヤーへ提示させることが可能である。ボール１０８が写真１０２ｂの端部を越えて転がり続ける場合には、ボール１０８の新たな位置に対応する新たな写真を表示させることが可能である。このことは、ボール１０８が止まるまで続けることが可能である。代替的に、最後のこの様な写真（即ち、仮想オブジェクトの止まった位置の写真）のみを提示することが必要である場合がある。その他の仮想オブジェクトの仮想表現も写真１０２ａにおいてアニメーションさせることが可能である。例えば、アバター１０４は、それがゴルフクラブ１１２をスイングし且つそのスイングに反応するようにアニメーションさせることが可能である。
【００２４】
プレイヤーの助けとなる付加的なグラフィック情報を写真及びＧＵＩ１００内に組み込むことが可能である。図１Ｃに示したように、プレイヤーがショットをセットアップすることを助けるために方向照準矢印１２０が与えられている。空中及びコース上をゴルフボール１０８がたどる経路をプレイヤーに示すためにアニメーションされた円弧１２２を描くことが可能である。代替的に、円弧１２２は、ゴルフボール１０８が写真１０２ｃ内を動くに従って描写することが可能である。仮想コースにおける現在の位置、プレイヤーのスコア、ホール又はピン１０６への距離、風の速度及び方向、及びプレイヤーが使用している仮想クラブなどの情報を与えるためにＧＵＩ１００内には二つのステータスエリア１２２ａ−ｂが組み込まれている。
【００２５】
コンピュータゲーム又はその他のシミュレーションにおいて使用するために実際のコース（例えば、トラック、ゴルフコース、野球内野、フットボールフィールド、テニスコート、一つ又はそれ以上の道路）を系統的に写真を撮るために、該コースを複数のセルからなる格子に手動的に又は自動的に分割することが可能である。各セルはシミュレーションにおいて使用するために写真を撮るコースの物理的区域を定義する。各セルはそれと関連する一つ又はそれ以上の写真を有することが可能である。１つの実現例においては、１個のセルはそのセルの区域に対応するコースの区域にわたる単一の写真と関連している。図３Ａは、そのようにして分割されたゴルフコース３００の例示である。コースは任意の寸法及び形状のものとすることが可能であり、且つ隣接していない区域を包含することが可能である。同様に、セルは異なる寸法及び形状を有することが可能であり且つ互いに隣接していることが必要なものではない。それらがカバーするコースの部分に依存して、セル密度は変化する場合がある。一つの実現例においては、セル密度は、プレイヤーが仮想オブジェクトと相互作用する蓋然性が高いコース区域において増加する。
【００２６】
例えば、ゴルフの世界においては、これらの区域はパット用のグリーン（例えば、３０２）、ティーボックス（例えば、３０６ａ−ｄ）、及びゴルファーが回避せねばならないサンドトラップ（例えば、３０４ａ−ｄ）などの厄介物や木々などの障害物などである。コースのその他の区域においては、セル密度は減少しており、より少ない数のコース写真をとることが必要であるに過ぎないことを意味している。一つの実現例においては、セル密度のより低い区域はそこにボールが落ちる頻度がより低いか、プレイヤーにとってより広い視界の区域を必要とするか、又はその両方である。一つの実現例においては、或る見える特徴（例えば、パット用グリーン、サンドトラップ、木々）を認識することに基づいてこの様なコースの区域を識別するために画像認識ソフトウエアを使用することが可能である。プレイヤーの相互作用の蓋然性が高いか又は低いものであるとしてコースの区域を識別することによって、コースを適切なセル密度を有する領域へ自動的に分割させることが可能である。
【００２７】
一つの実現例においては、コースは一つを越えるレイヤーのセルを有することが可能である。このことの必要性は、例えば、プレイヤーが、偶然に又は下手であるために、写真マッピングのために追跡される仮想オブジェクトを殆どプレイされないコースの部分に位置させた場合の状態を取り扱うために発生する場合がある。図３Ａにおいて、ティーボックス３０６ａ用の小さなセル３０８ｂは、殆どのプレイヤーがボールをかなりの距離フェアウエイに打つことが可能であるので、コースのこの段階における写真に対して、デフォルトで、使用されるセルである。然しながら、何人かのプレイヤーはティーボックス３０６ａ近くにボールを落下させる場合がある。ティーボックス３０６ａの直ぐ外の区域はセル３０８ｂ用の写真内に包含されていない。然しながら、デフォルトセル３０８ｂにオーバーレイしている二次的セル３０８ａは、ボールがセル３０８ａの境界内に存在する場合に写真を取得するために使用することが可能である。二次的セル３０８ａ用の写真はティーボックス３０６ａとその周囲の区域とを含む。特定の時刻における仮想宇宙の状態に依存することが可能な規則又はヒューリスティックに基づいて一つのレイヤーを選択することが可能である。一つの実現例においては、どれが最も小さなセル寸法を与えるかに基づいて一つのレイヤーが選択される。別の実現例においては、プレゼンテーションの所要のスタイルに基づいて一つのレイヤーを選択することが可能である。例えば、劇的な効果のために一つのセルを通過する飛行中にボールを見せることが望ましい場合がある。
【００２８】
上述したように、一つの実現例においては、コース格子における各セルは、その写真が該セルにおけるコースの区域を包含するように写真が取られる。例えば、図３Ｃに示されている写真は白色境界３０１によって示されている２５’６”×２５’６”セルのものである。写真内の位置に基づいて仮想オブジェクトの尺度がどのように変化するかを例示するため該写真において２個のアバター（１０４ａ−ｂ）がレンダリングされている。これがどのようにして達成されるかについて以下に説明する。該写真は実際のコースにおいて特定した３Ｄ位置（緯度、経度、及び高度）におけるカメラによって取られている。カメラの３Ｄ位置は、例えば、全地球測位システム（ＧＰＳ）又は地上ナビゲーションシステムを使用することによって決定することが可能である。各セルの位置は既知であるので、カメラ位置は該セルからのセットバック距離及び該セル上方の高さとして特定することが可能である。図３Ｃの写真において、カメラはそのセルから２９’６”離れて且つそのセルの上方１０’３”の高さに位置決めされている。２４ｍｍレンズが使用された。図３Ｄは１０’３”×１０’３”セルの写真であり、その場合に１８ｍｍレンズを使用して、カメラは１２’６”のセットバック及び５’６”の高さに位置決めされていた。
【００２９】
図３Ｂは、１個のセルに対してのカメラ位置及び方向の決定を例示するコース３００の一部である。一つの実現例においては、カメラの位置及び方向は、与えられた１個のセルに対するターゲット位置に基づいて決定することが可能である。例えば、ゴルフにおいては、プレイヤーがホールに対するショットをセットアップするためにターン即ち曲がり角をねらわねばならないようにフェアウエイが曲がっていない限り、ターゲットは、通常、ホールである。この前者の場合には、ターゲットはフェアウエイにおける曲がり角である。セル３０１ａ及び３１０ｂに対するターゲットはホール３０２である。１本の線がターゲットに対して各セルの中心を通る。カメラレンズがターゲットに向かって指向するのはこの線に沿ってである。コース上のカメラの位置は、この線に沿ってであり且つ該セルの外側である。セル３１０ａのカメラは端点３１２ａ及び３０２によって定義される線に沿っての位置３１２ａに位置されている。同様に、セル３１０ｂのカメラは端点３１２ｂ及び３０２によって定義される線に沿っての位置３１２ｂに位置されている。
【００３０】
一つの実現例においては、レンズの焦点距離、レンズの角度、セルの端部からのカメラのオフセット、及びカメラの高さ、などのカメラパラメータは与えられたセル寸法に対してあらかじめ定義することが可能である。別の実現例においては、焦点距離、レンズの角度、及びカメラの３Ｄ位置の内の一つ又はそれ以上を動的に決定することが可能である。例示として、この様な決定はセルのトポロジイを考慮に入れることが可能である。与えられたセルが例えば谷間にある場合には、プレイヤーが周りのコース区域との見通しを失わないようにより多くのオーバーヘッドショット即ち俯瞰ショットを与えることが有益的である。
【００３１】
図４は、自動的にコースを複数のセルに分割し且つショットリストを発生する技術４００を例示したフローチャートである。コースは自動的に複数のセルに分割することが可能であり且つ各セルに対するカメラパラメータは自動的に決定することが可能であるので、所謂ショットリストを自動的に決定することが可能である。ショットリストは、与えられたコースにおける複数のセルに対して撮影することが必要な写真のリストである。各ショットは、カメラの３Ｄ位置、レンズの焦点距離、方向、及び角度を包含している。コースは初期的に上述した如くに複数のセルに分割される（ステップ４０２）。一つ又はそれ以上のターゲットポイントがそのコースに対して決定される（例えば、３０２；ステップ４０４）。カメラパラメータは、ターゲットポイント及び／又はセル寸法に基づいて各セルに対して決定される（ステップ４０６）。最後に、そのコース上の各セルの写真を取るために必要とされるカメラ条件を記述するショットリストが発生される。更なる実現例においては、ショットリストは、精密な３Ｄ座標においてホバリングすることが可能なロボットヘリコプターなどのカメラが取り付けられているロボット装置へダウンロードさせることが可能である。該ロボット装置は、該セルの一つ又はそれ以上に対して写真を撮ることが可能である。
【００３２】
図５は、コース格子オーバーレイを包含している、コースに対する３Ｄ地形データの例示である。地形はコースに対する標高データを現し、それはコース上の特徴の３Ｄデジタル標高マップ（例えば、地形メッシュ）を与える。該地形は、どのようにして仮想オブジェクトが物理的にコースと相互作用し且つ仮想オブジェクトがコースの写真内のどこに現れるかをシミュレーションするためにゲームエンジンによって使用される。各セル（例えば、５０２）はコース地形の一部に対してマップする。一つの実現例においては、デジタル標高マップは１センチメートル以内の正確度であるが、一層高いか低い分解能とすることも可能である。地形データは多数の態様で収集することが可能であり、これらに制限されるものではないが、空中写真撮影マッピング（ＡＰＭ）、レーザ３Ｄイメージング、及びＧＰＳ実時間キネメトリック（kinemetric）（ＧＰＳ−ＲＴＫ）調査などを包含している。
【００３３】
図６Ａは、仮想オブジェクトの視覚的表現を一つの写真内に組む込む技術を例示したフローチャートである。上述した如く、ゲーム又はシミュレーションエンジンは、３Ｄ仮想コース空間内において追跡される仮想オブジェクトの位置を決定する（即ち、地形の上又は上方）。仮想オブジェクトが位置されている地形区域が識別される（ステップ６０２）。次に、その地形区域をカバーするセルに対する写真を撮影したカメラがシミュレーションされる（ステップ６０４）。図６Ｂに示されるように、仮想カメラ６０３はカメラの既知のパラメータに基づいて実際のカメラの正確なビュー６０５をシミュレーションする（例えば、カメラの３Ｄ位置、レンズの角度及び方向、及びレンズの焦点距離）。３Ｄ透視投影を使用して、３Ｄ仮想コース空間内の仮想オブジェクト（例えば、ボール１０８）がシミュレーションされるカメラ６０３の２Ｄビューイング面６０５内に投影される（ステップ６０６）。透視投影は、仮想カメラから更に遠い仮想オブジェクトは仮想カメラにより近いものと比較して一層小さく見えることを確保し、従って現実性の感覚を付加している。一つの実現例においては、該投影はカメラレンズにおける視覚的歪を補償することが可能である。２Ｄ投影における仮想オブジェクトは該セルの実際の写真内に組み込まれる（例えば、１０２ｂ；ステップ６０８）。たとえオブジェクトの位置が写真マッピングをトリガーするために使用されるものではない場合であっても、付加的な仮想オブジェクト（例えば、アバター、仮想装置）も該投影に動的に包含させることも可能である。
【００３４】
図７はコンピュータゲームアプリケーション又はその他のシミュレーションに対する写真マッピングシステム７００を例示している。システム７００内に含まれる機能性は、例示してあるものよりも一層少ないか又は一層多いコンポーネントに分散させることが可能である。更に、コンポーネントは、一つ又はそれ以上の商用の又は私用のネットワーク又はその他の通信インターフェースを介して通信することが可能な一つ又はそれ以上の装置に分散させることが可能である。ゲームエンジン７０６は、ユーザ入力及び仮想宇宙７０８におけるオブジェクトの相互作用に基づいて、仮想宇宙７０８に対する状態を維持する。入力モデル７０２はユーザ入力（例えば、ボタン押下、音声コマンド、音、ジェスチャ、目の動き、体の動き、脳波、その他のタイプの生理学的センサ、及びこれらの組み合わせ）をゲームエンジン７０６により処理するための一つ又はそれ以上の可変値又は信号へマップさせる。
【００３５】
ゲームエンジン７０６は、例えば表示装置上のプレゼンテーションのために表現コンポーネント７０４へ供給することが可能な該仮想宇宙のビューをレンダリングするためのレンダラーを包含することが可能である。表現コンポーネント７０４は、ゲームエンジン７０６からのオーディオ／ビデオレンダリングデータ、及び触覚データを含むその他のレンダリング情報を受け取り、且つそれらを表示装置、音発生装置、触覚フィードバック装置、及びその他の適宜の装置などの一つ又はそれ以上の出力装置へ供給する。
【００３６】
ゲームエンジン７０６は、仮想宇宙の一つ又はそれ以上の将来の状態を決定する人工知能能力を包含することが可能である。ゲームエンジン７０６は、又、例えばコース地形と相互作用する仮想オブジェクトの物理現象をシミュレーションする能力を有することが可能である。仮想宇宙７０８における仮想オブジェクトはアセット７１２（例えば、コンテント、モデル、サウンド、物理現象、人工知能）と関連している。アセットは仮想オブジェクトを表し且つコンピュータゲームをレンダリングするためにゲームエンジン７０６によって使用される。その他のアセットは、上述した如く、ゲームＧＵＩ１００内に動的に組み込まれる実際のコース写真を包含している。
【００３７】
ゲームエンジン７０６は、ゲームプレイの現在の位置に対応する写真を識別し且つ実際のコースの写真内に組み込むために３Ｄ仮想コース空間からビューイング面内へ一つ又はそれ以上の仮想オブジェクトをマップさせるために写真マッピングコンポーネント７１０を使用する。一つの実現例においては、コース写真は、セル又は写真に対応するコース地形領域を識別するデータでタグが付けられている。
【００３８】
本発明の実施例及び本明細書において記載した機能的動作の全ては、デジタル電子回路において、又は本明細書において開示した構造及びそれらの構造的均等物を含んだコンピュータソフトウエア、ファームウエア、又はハードウエアにおいて、又はそれらの内の一つ又はそれ以上の組み合わせにおいて、実現することが可能である。本発明の実施例は、一つ又はそれ以上のコンピュータプログラムプロダクト、即ちデータ処理装置による実行のため又はその動作を制御するためにコンピュータによって読み取り可能な媒体上にエンコードされているコンピュータプログラム命令からなる一つ又はそれ以上のモジュール、として実現することが可能である。
【００３９】
該コンピュータによって読み取り可能な媒体は、機械読み取り可能な格納装置、機械読み取り可能な格納基板、メモリ装置、機械読み取り可能な伝搬信号を発揮させる物質からなる組成物、又はこれらの内の一つ又はそれ以上の組み合わせとすることが可能である。「データ処理装置」という用語は、データを処理するための全ての装置、デバイス、及びマシンを包含しており、例えば、プログラム可能なプロセッサ、コンピュータ、又はマルチプロセッサ又はコンピュータを包含している。該装置は、ハードウエアに加えて、問題のコンピュータプログラムに対する実行環境を作成するコード、例えば、プロセッサファームウエア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの内の一つ又はそれ以上の組み合わせを構成するコード、を包含することが可能である。伝搬信号は、適宜の受信機装置へ送信するために情報をエンコードするために発生される、例えば、マシンによって発生された電気的、光学的、又は電磁的信号などの人工的に発生される信号である。
【００４０】
コンピュータプログラム（プログラム、ソフトウエア、ソフトウエアアプリケーション、スクリプト、又はコードとしても知られている）は、コンパイル型又はインタプリタ型を含み、任意の形態のプログラミング言語で書くことが可能であり、且つそれは、スタンドアローンプログラムとして又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境において使用するのに適したその他のユニットとしてを包含する任意の形態でデプロイさせることが可能である。コンピュータプログラムは，必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、問題のプログラムに専用の単一のファイル内に、又は多数のコオーディネイトされたファイル（例えば、一つ又はそれ以上のモジュール、サブプログラム、又はコードの一部を格納するファイル）内に、その他のプログラム又はデータ（例えば、マークアップ言語文書内に格納されている一つ又はそれ以上のスクリプト）を保持するファイルの一部内に格納させることが可能である。コンピュータプログラムは、一つのコンピュータ上、又は一箇所に位置されているか又は複数の箇所に分散されており且つ通信ネットワークによって相互接続されている複数のコンピュータ上、で実行すべくデプロイさせることが可能である。
【００４１】
本明細書において記載したプロセス及びロジックフローは、入力データについて動作し且つ出力を発生することによって機能を実施するための一つ又はそれ以上のコンピュータプログラムを実行する一つ又はそれ以上のプログラム可能プロセッサによって実施させることが可能である。該プロセス及びロジックフローは、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（応用特定集積回路）などの特別目的論理回路によって実施することが可能であり、且つそのような回路として装置を実現することも可能である。
【００４２】
コンピュータプログラムの実行に適したプロセッサは、例示として、汎用及び特別目的の両方のプロセッサ、及び任意の種類のデジタルコンピュータの任意の一つ又はそれ以上のプロセッサを包含している。一般的に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ又はそれらの両方から命令とデータとを受取る。コンピュータの基本的な要素は、命令を実施するためのプロセッサ及び命令とデータとを格納するための一つ又はそれ以上のメモリ装置である。一般的に、コンピュータは、又、例えば磁気的、磁気−光学的ディスク、又は光学的ディスクなどのデータを格納する一つ又はそれ以上の大量格納装置を包含するか、又はそれからデータを受け取り且つそれにデータを転送するために動作結合されている。然しながら、コンピュータはこの様な装置を有することは必要ではない。更に、コンピュータは、例えば携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、モバイルオーディオプレイヤー、全地球測位（ＧＰＳ）受信機などの別の装置の中に埋め込むことが可能である。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、全ての形態の非揮発性メモリ、媒体及び例示として半導体メモリ装置、例えばＥＰＲＯＭ，ＥＥＰＲＯＭ及びフラッシュメモリ装置を包含するメモリ装置、磁気ディスク、例えば内部ハードディスク又は着脱自在ディスク、磁気−光学的ディスク、及びＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを包含している。プロセッサ及びメモリは、特別目的論理回路によって補充されるか又はその中に組み込むことが可能である。
【００４３】
ユーザとのインタラクション即ち相互作用を与えるために、本発明の実施例は、ユーザに対して情報を表示するための表示装置、例えばＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニタ、及びユーザがコンピュータへ入力を供給することが可能なキーボード及びポインティングデバイス、例えばマウス及びトラックボール、を具備するコンピュータ上で実現することが可能である。その他の種類の装置もユーザとの相互作用を与えるために使用することが可能であり、例えば、ユーザへ供給されるフィードバックは任意の形態の感覚的フィードバック、例えば視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック、とすることが可能であり、且つユーザからの入力は音響的、会話的又は触覚的入力を包含する任意の形態で受取ることが可能である。
【００４４】
本発明の実施例は、バックエンドコンポーネント、例えばデータサーバとして、を包含するか、又はミドルウエアコンポーネント、例えばアプリケーションサーバ、を包含するか、又はフロントエンドコンポーネント、例えばそれを介してユーザが本発明の実現例と相互作用することが可能なグラフィカルユーザインターフェース又はウエブブラウザーを具備するクライエントコンピュータ、を包含するコンピューティングシステム、又はこの様なバックエンド、ミドルウエア、又はフロントエンドコンポーネントの一つ又はそれ以上の任意の組み合わせにおいて実現することが可能である。該システムのコンポーネントは、任意の形態又は媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続させることが可能である。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）及びワイドエリアネットワーク（ＷＡＮ）、例えばインターネット、を包含している。
【００４５】
該コンピューティングシステムは、クライエント及びサーバーを包含することが可能である。クライエント及びサーバーは、通常、互いに離隔しており且つ典型的に通信ネットワークを介して相互作用する。クライエント及びサーバーの関係は、夫々のコンピュータ上で稼動し且つ互いにクライエント−サーバー関係を有しているコンピュータプログラムによって発生する。
【００４６】
本明細書は多数の詳細を包含するものであるが、これらは本発明の範囲又は特許請求の範囲に記載されていることに関する制限として解釈されるべきものではなく、寧ろ本発明の特定の実施例に対して特定的な特徴の記述として解釈されるべきである。別々の実施例の文脈において本明細書において記載されている或る複数の特徴は、単一の実施例において結合として実現することも可能である。逆に、単一の実施例の文脈において記載されている種々の特徴は、又、複数の実施例において別々に又は任意の適宜の副結合として実現することが可能である。更に、特徴は或る結合において動作するものとして上に説明されており且つ初期的にはそのようなものとして特許請求の範囲に記載されている場合があるかもしれないが、特許請求の範囲に記載されている結合からの一つ又はそれ以上の特徴は、幾つかの場合においては、そのような結合から削除することが可能であり、且つ特許請求の範囲に記載されている結合が副結合又は副結合の変形例に指向される場合がある。
【００４７】
同様に、動作は特定の順番で図面中において図示されているが、これは図示されている特定の順番で又は逐次的な順番でこれらの動作が実施されること、又は所望の結果を達成するためには全ての例示されている動作が実施されることを必要としているとして理解されるべきではない。或る環境においては、マルチタスキング及び並列処理が有益的である場合がある。更に、上述した実施例における種々のシステムコンポーネントの分離は、全ての実施例においてこの様な分離が必要とされているものとして理解されるべきではなく、且つ、説明したプログラムコンポーネント及びシステムは、通常、単一のソフトウエアプロダクト内に統合させるか又は複数のソフトウエアプロダクトにパッケージ化させることが可能であることを理解すべきである。
【００４８】
従って、本発明の特定の実施例について説明した。その他の実施例は特許請求の範囲内のものである。例えば、特許請求の範囲に記載されている動作は、異なる順番で実施することが可能であり、尚且つ所望の結果を達成することが可能である。
【符号の説明】
【００４９】
１００：グラフィカルユーザインターフェース（ＧＵＩ）
１０２ａ：実際のゴルフコースの写真
１０４：アバター
１０８：ゴルフボール
１１２：ゴルフクラブ
【図１Ａ】
2009544107.tif 000003
【図１Ｂ】
2009544107.tif 000004
【図１Ｃ】
2009544107.tif 000005
【図２Ａ】
2009544107.tif 000006
【図２Ｂ】
2009544107.tif 000007
【図３Ａ】
2009544107.tif 000008
【図３Ｂ】
2009544107.tif 000009
【図３Ｃ】
2009544107.tif 000010
【図３Ｄ】
2009544107.tif 000011
【図４】
2009544107.tif 000012
【図５】
2009544107.tif 000013
【図６Ａ】
2009544107.tif 000014
【図６Ｂ】
2009544107.tif 000015
【図７】
2009544107.tif 000016
【国際調査報告】
2009544107.tif 000017