説明

シミュレーションにおける写真マッピング

【課題】 コースに対するコース地形上の仮想オブジェクトに対する位置を決定するための、コンピュータプログラムプロダクトを包含する、方法及び装置。
【解決手段】 該位置に対応する該コースの写真画像が識別される。該仮想オブジェクトが該写真画像内に現れるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータシミュレーションにおける写真の使用に関するものである。
【背景技術】
【0002】
コンピュータゲーム及びその他のタイプのシミュレーションは、三次元(3D)コンピュータにより発生されたグラフィックを介して、野球内野、競馬場、及びゴルフコースなどの実世界環境を再現する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
然しながら、この様なグラフィックは、典型的に、イメージの意図した現実性を損なう繰返しパターンなどの不自然な視覚的人工的効果を作成する場合がある。幾つかのコンピュータゲームは、フォアグランド即ち前景においてコンピュータによって発生されたグラフィックをレンダリングさせて、バックグラウンド即ち背景として山脈などの実際の場所の写真を使用する場合がある。しかしながら、該写真により表される地形とコンピュータにより発生されたグラフィックとの間の相互作用が何ら存在しない場合がある。
【課題を解決するための手段】
【0004】
一般的に、一つの側面においては、本発明の実施例は、コース用のコース地形上の仮想オブジェクトの位置を決定することを特徴としている。その位置に対応する該コースの写真画像が識別される。該仮想オブジェクトは、それが第1位置に対応する第2位置において写真画像内に現れるように該写真画像のプレゼンテーション内に組み込まれる。
【0005】
これら及びその他の実施例は、オプションとして、以下の特徴の内の一つ又はそれ以上を包含することが可能である。仮想オブジェクトのコース地形の一つ又はそれ以上の部分とのインターラクション即ち相互作用をシミュレーションすることが可能である。該相互作用の視覚的表示を第1写真画像のプレゼンテーション内に組み込むことが可能である。該写真画像は、一人のユーザ又はユーザのグループに関連する履歴に基づいてプリフェッチすることが可能である。ユーザ入力は、コース地形の一つ又はそれ以上の部分と仮想オブジェクトとの相互作用を発生させるために受け付けることが可能である。仮想オブジェクトの動きに応答して、コースに対するコース地形上の仮想オブジェクトに対する第2位置を決定することが可能であり;第2位置に対応する該コースの第2写真画像を識別することが可能であり;且つ該仮想オブジェクトを第2写真画像のプレゼンテーション内に組み込むことが可能である。該コース地形は該写真画像へマップさせることが可能である。その位置は該コース上の実世界位置とすることが可能である。
【0006】
アバター即ち一片の仮想装置を該写真画像のプレゼンテーション内に組み込むことが可能である。該仮想オブジェクトは、それが該写真画像内においてアニメーション化されるように該写真画像のプレゼンテーション内に組み込むことが可能である。ビジュアルエフェクト即ち視覚的効果を該写真画像のプレゼンテーション内に組み込むことが可能である。該コースは、ゴルフコース、野球内野、トラック、テニスコート、一つ又はそれ以上の道路、又は広々とした地形、の内の一つ又はそれ以上とすることが可能である。該仮想オブジェクトは、ゴルフボール、野球ボール、テニスボール、自動車、自転車、動物、アバター、オートバイ、又は飛行船、の内の一つとすることが可能である。該写真画像は、該コースの二つ又はそれ以上の写真の合成とすることが可能である。一つの写真は、ターゲット位置がその写真の水平中心に最も近いものとして複数個の写真から識別することが可能である。該写真画像における歪を示すために地形を変形させることが可能である。該仮想オブジェクトは該写真画像のプレゼンテーションにおいてスケーリング即ち拡縮させることが可能である。該位置は、二次元空間における第2位置に対して三次元空間において投影させることが可能である。
【0007】
一般的に、別の側面においては、本発明の実施例は、ユーザ履歴に基づいて、コースに対するコース地形上の仮想オブジェクトに対する一つ又はそれ以上の潜在的な位置を決定することを特徴としている。各潜在的位置に対応する該コースの写真画像が識別される。その識別された写真画像の各々が取得される。
【0008】
これら及びその他の実施例は、オプションとして、以下の特徴の内の一つ又はそれ以上を包含することが可能である。該仮想オブジェクトは取得された写真画像の内の一つのプレゼンテーション内に組み込むことが可能である。
【0009】
一般的に、別の側面においては、本発明の実施例は、コースを複数のセルに分割することを特徴としている。該コースに対するターゲットポイント即ち目標点が決定される。各セルに対するカメラパラメータが、該セルの寸法及び該ターゲットポイントに基づいて、決定される。
【0010】
これら及びその他の実施例は、オプションとして、以下の特徴の内の一つ又はそれ以上を包含することが可能である。決定されたカメラパラメータに基づいてショットリスト即ち撮影リストを発生させることが可能である。セル密度はコース特徴に基づいて変更させることが可能である。
【0011】
本発明の特定の実施例は、以下の利点の内の一つ又はそれ以上を実現するために実施することが可能である。コースの実際の写真をゲームプレイ内に統合するために実際のコースでのプレイ経験がプレイヤー即ち遊戯者に与えることが可能である。ゲーム又はシミュレーションの性能を改善するために、一人又はそれ以上のプレイヤーの履歴に基づいて写真をプレフェッチすることが可能である。仮想オブジェクトが実際にコース上で写真が取られたかのような印象をプレイヤーが持つように、仮想オブジェクトを適切な位置及び適切な尺度で実際の写真内に統合させることが可能である。コースを潜在的に変化する密度の格子に手動的に又は自動的に分割することが可能であり、且つその格子に対してショットリストを自動的に発生させることが可能である。
【0012】
本発明の一つ又はそれ以上の実施例の詳細を添付の図面及び以下の説明において記載する。本発明のその他の特徴、側面、及び利点はその説明、図面、及び特許請求の範囲から明らかなものとなる。
【図面の簡単な説明】
【0013】
【図1A】ゲームプレイ内に実際のゴルフコースの写真を組み込んだコンピュータゴルフゲームに対するグラフィカルユーザインターフェースの一つの状態を示した概略図。
【図1B】ゲームプレイ内に実際のゴルフコースの写真を組み込んだコンピュータゴルフゲームに対するグラフィカルユーザインターフェースの別の状態を示した概略図。
【図1C】ゲームプレイ内に実際のゴルフコースの写真を組み込んだコンピュータゴルフゲームに対するグラフィカルユーザインターフェースの更に別の状態を示した概略図。
【図2A】コンピュータゲームなどのシミュレーションにおける写真マッピング用の技術のフローチャート。
【図2B】コンピュータゲームなどのシミュレーションにおけるマッピング用の写真画像をプリフェッチする技術のフローチャート。
【図3A】コース格子を例示した概略図。
【図3B】コース格子内の一つのセルからどのようにして写真パラメータが派生されるかを例示した概略図。
【図3C】25’6”×25’6”セルの実際のコース写真の概略図。
【図3D】10’3”×10’3”セルの実際のコース写真の概略図。
【図4】コースを複数のセルへ自動的に分割し且つショットリストを発生する技術を例示したフローチャート。
【図5】コース格子オーバーレイを含むコースに対する3D地形データの例示を示した概略図。
【図6A】仮想オブジェクトの視覚的表現を写真内に組み込む技術を例示したフローチャート。
【図6B】3Dマッピングの例示を示した概略図。
【図7】写真マッピングシステムを例示した概略図。
【発明を実施するための形態】
【0014】
種々の実現例は、シミュレーションした二次元(2D)及び3Dグラフィックと結合されたコースの実際の写真を使用してコース(例えば、ゴルフコース、野球内野、競馬場)上でプレイの経験を再現する。
【0015】
コンピュータゲーム及びその他のタイプのシミュレーションは、典型的に、「悪」人の全てを銃で撃つか又はゴルフのワンホールをプレイするなどの一つ又はそれ以上の目的を達成するためにプレイヤーが相互作用する仮想宇宙を包含している。典型的なコンピュータゲームのジャンルは、ロール・プレイング、ファースト・パーソン・シューティング、サード・パーソン・シューティング、スポーツ、レーシング、ファイティング、アクション、ストラテジイ、シミュレーションを包含している。コンピュータゲームは、二つ又はそれ以上のジャンルの組み合わせを組み込むことが可能である。コンピュータゲームは、ワークステーション、パソコン、ゲームコンソール(例えば、ソニーのプレイステーション及びプレイステーションポータブル、マイクロソフトのXbox、任天堂のゲームキューブ及びゲームボーイ)、携帯電話、ポータブルメディアプレイヤー、及びその他のモバイル装置などの異なるコンピュータプラットフォームに対して通常使用可能である。コンピュータゲームは単独プレイヤー又は多数プレイヤーとすることが可能である。幾つかの多数プレイヤーゲームは共通の又は共用の仮想宇宙において相互作用するためにインターネットを介してプレイヤーを接続させることを可能とする。
【0016】
仮想宇宙は、コンピュータゲームをプレイする場合にユーザが相互作用し且つ仮想環境、オブジェクト、キャラクタ、及び関連する状態情報の表現を包含することが可能なパラダイムである。例えば、仮想宇宙は、仮想ゴルフコース、ゴルファ、ゴルフクラブ、及びゴルフボールを包含することが可能である。仮想宇宙及びその仮想オブジェクトは、ユーザが目標を達成するに従い変化することが可能である。例えば、アクションゲームにおいては、ユーザが一層高いゲームレベルに進むに従い、典型的に、仮想宇宙は新たなレベルをモデルするために変化され且つユーザは一層強力な武器などの異なる仮想装置が与えられる。
【0017】
プレイヤーは、典型的に、ユーザインターフェースを介して、アバター及び仮想装置などの仮想宇宙における一つ又はそれ以上の仮想オブジェクトと相互作用を行う。ユーザインターフェースは、これらに制限するものではないが、マウス入力、トラックボール入力、ボタン入力、音声コマンド、音、ジェスチャー、目の動き、体の動き、脳波、その他のタイプの生理学的なセンサ、及びこれらの結合を受け取ることが可能な装置を含む全ての態様の入力装置からの入力を受け付けることが可能である。例えば、マウスボタンのクリックは、仮想ゴルフコース上において、仮想ゴルフクラブをスイングさせ且つ仮想ゴルフボールを打つ場合がある。
【0018】
図1Aは、実際のゴルフコースの写真(例えば、102a)をゲームプレイ内に組み込んでいるコンピュータゴルフゲームに対するグラフィカルユーザインターフェース(GUI)100を例示している。仮想オブジェクトの種々の仮想表現が写真102aのプレゼンテーション内に統合されており、該仮想表現は、プレイヤーを表すアバター104、ゴルフクラブを表す一片の仮想装置112、及びゴルフボールを表す一片の仮想装置108を包含している。該プレイヤーはコンピュータゲームにユーザ入力を与え、そのことは、入力及び仮想宇宙における仮想オブジェクトの相互作用に基づいてゲームの仮想宇宙の状態を変化させることによって反応する。
【0019】
例えば、プレイヤー入力は、グリーンの端に向かって、クラブ112でアバター104がボール108を打つようにみえるようにさせることが可能である。ゲームエンジンは、ゴルフコースを表している仮想宇宙において、ボール108の空中軌跡及びゴルフコース地形との結果的な相互作用(例えば、跳ね返り及び転がり)の物理現象をシミュレーションすることが可能である。該地形は、例えば、実際のゴルフコースのトポグラフィのモデルとすることが可能である。後述するように、3D仮想ゴルフコースにおけるボール108及び、オプションとして、その他の仮想オブジェクトの新たな位置が写真102a又は異なる写真内の対応する2D位置に対してマップされ、従って該仮想オブジェクトはあたかも実際に写真がとられたかのように該写真において適切な位置及び適切な尺度で現れる。この様に、プレイヤーは実際のゴルフコース上でのプレイを行う経験が与えられる。
【0020】
図2Aは、コンピュータゲームなどのシミュレーションにおける写真マッピングに対する技術のフローチャート200である。ユーザ入力がオプションとして得られ、それは、写真マッピングをトリガーする目的のために追跡されている仮想オブジェクト(例えば、ゴルフボール108)をしてシミュレーションされるべき3Dコース地形の一つ又はそれ以上の部分と相互作用させる(ステップ202)。一つを超える仮想オブジェクトを追跡することが可能である。シミュレーションに基づいて、コース地形上の該仮想オブジェクトに対する新たな位置が決定される(ステップ204)。例えば、ゲームエンジンは、ゴルフボール軌跡及びそのボールのゴルフコース地形との究極的なインパクトの物理現象をシミュレーションすることが可能である。
【0021】
コース上の該仮想オブジェクトの新たな位置に対応する写真画像が識別される(ステップ206)。追跡されている一つを超える仮想オブジェクトが存在している場合には、追跡される仮想オブジェクトの全ての位置を包含する地形の区域に対応する写真が識別される。或るコース位置をカバーする複数の写真が存在している一つの実現例においては、プレイヤーの観点から最も良いビューを与える写真が選択される。例えば、仮想オブジェクトの新たな位置の位置上の中心に最も近い写真が選択される。代替的に、仮想オブジェクトの新たな位置の一つを越える写真をデジタル的にスティッチングさせて単一の複合写真を形成することが可能である。該仮想オブジェクトはその写真画像内に組み込まれる(例えば、3Dマッピングを使用して;ステップ208)。
【0022】
図2Bは、コンピュータゲームなどのシミュレーションにおけるマッピング用の写真画像をプリフェッチする技術のフローチャート201である。写真画像のプリフェッチは、それらが処理されることを必要とする前に写真をキャッシュすることによって実時間ゲーム及びその他のシミュレーションの性能を改善することが可能である。このことは、該画像が遠隔格納部から検索されねばならない場合には特にそうである。第1に、コース地形上の仮想オブジェクトに対する一つ又はそれ以上の潜在的な位置が、該コースのその特定の部分に対してのユーザのプレイ履歴又は一群のユーザのプレイ履歴に基づいて決定される(ステップ203)。プレイ履歴は、ユーザに対する地形における仮想オブジェクトの過去の位置及びユーザのゲームプレイ能力の対抗措置を識別する情報を包含することが可能である。各潜在的な位置に対応する該コースの写真画像が次いで識別される(ステップ205)。その識別された写真は、次いで、ゲームプレイ内に組み込む場合の準備がなされるようにプリフェッチ(例えば、キャッシュ)される(ステップ207)。次いで、該仮想オブジェクトの新たな位置に基づいて、一つ又はそれ以上の仮想オブジェクトが取得された画像の内の一つの中に組み込まれる(ステップ209)。
【0023】
仮想宇宙において追跡される仮想オブジェクトのシミュレーションされる動きの幾つか又は全ては実際のコース写真においてアニメーションさせることが可能である。例えば、写真102aにおいてプレイヤーがゴルフボール108を打った後に(図1Aに示したように)、ボール108が位置108aにおいて空から落ち、位置108bにおいてゴルフコースに当たり、且つ休止位置108cへ転がるアニメーションと共に写真102b(図1Bに示されているように)をプレイヤーへ提示させることが可能である。ボール108が写真102bの端部を越えて転がり続ける場合には、ボール108の新たな位置に対応する新たな写真を表示させることが可能である。このことは、ボール108が止まるまで続けることが可能である。代替的に、最後のこの様な写真(即ち、仮想オブジェクトの止まった位置の写真)のみを提示することが必要である場合がある。その他の仮想オブジェクトの仮想表現も写真102aにおいてアニメーションさせることが可能である。例えば、アバター104は、それがゴルフクラブ112をスイングし且つそのスイングに反応するようにアニメーションさせることが可能である。
【0024】
プレイヤーの助けとなる付加的なグラフィック情報を写真及びGUI100内に組み込むことが可能である。図1Cに示したように、プレイヤーがショットをセットアップすることを助けるために方向照準矢印120が与えられている。空中及びコース上をゴルフボール108がたどる経路をプレイヤーに示すためにアニメーションされた円弧122を描くことが可能である。代替的に、円弧122は、ゴルフボール108が写真102c内を動くに従って描写することが可能である。仮想コースにおける現在の位置、プレイヤーのスコア、ホール又はピン106への距離、風の速度及び方向、及びプレイヤーが使用している仮想クラブなどの情報を与えるためにGUI100内には二つのステータスエリア122a−bが組み込まれている。
【0025】
コンピュータゲーム又はその他のシミュレーションにおいて使用するために実際のコース(例えば、トラック、ゴルフコース、野球内野、フットボールフィールド、テニスコート、一つ又はそれ以上の道路)を系統的に写真を撮るために、該コースを複数のセルからなる格子に手動的に又は自動的に分割することが可能である。各セルはシミュレーションにおいて使用するために写真を撮るコースの物理的区域を定義する。各セルはそれと関連する一つ又はそれ以上の写真を有することが可能である。1つの実現例においては、1個のセルはそのセルの区域に対応するコースの区域にわたる単一の写真と関連している。図3Aは、そのようにして分割されたゴルフコース300の例示である。コースは任意の寸法及び形状のものとすることが可能であり、且つ隣接していない区域を包含することが可能である。同様に、セルは異なる寸法及び形状を有することが可能であり且つ互いに隣接していることが必要なものではない。それらがカバーするコースの部分に依存して、セル密度は変化する場合がある。一つの実現例においては、セル密度は、プレイヤーが仮想オブジェクトと相互作用する蓋然性が高いコース区域において増加する。
【0026】
例えば、ゴルフの世界においては、これらの区域はパット用のグリーン(例えば、302)、ティーボックス(例えば、306a−d)、及びゴルファーが回避せねばならないサンドトラップ(例えば、304a−d)などの厄介物や木々などの障害物などである。コースのその他の区域においては、セル密度は減少しており、より少ない数のコース写真をとることが必要であるに過ぎないことを意味している。一つの実現例においては、セル密度のより低い区域はそこにボールが落ちる頻度がより低いか、プレイヤーにとってより広い視界の区域を必要とするか、又はその両方である。一つの実現例においては、或る見える特徴(例えば、パット用グリーン、サンドトラップ、木々)を認識することに基づいてこの様なコースの区域を識別するために画像認識ソフトウエアを使用することが可能である。プレイヤーの相互作用の蓋然性が高いか又は低いものであるとしてコースの区域を識別することによって、コースを適切なセル密度を有する領域へ自動的に分割させることが可能である。
【0027】
一つの実現例においては、コースは一つを越えるレイヤーのセルを有することが可能である。このことの必要性は、例えば、プレイヤーが、偶然に又は下手であるために、写真マッピングのために追跡される仮想オブジェクトを殆どプレイされないコースの部分に位置させた場合の状態を取り扱うために発生する場合がある。図3Aにおいて、ティーボックス306a用の小さなセル308bは、殆どのプレイヤーがボールをかなりの距離フェアウエイに打つことが可能であるので、コースのこの段階における写真に対して、デフォルトで、使用されるセルである。然しながら、何人かのプレイヤーはティーボックス306a近くにボールを落下させる場合がある。ティーボックス306aの直ぐ外の区域はセル308b用の写真内に包含されていない。然しながら、デフォルトセル308bにオーバーレイしている二次的セル308aは、ボールがセル308aの境界内に存在する場合に写真を取得するために使用することが可能である。二次的セル308a用の写真はティーボックス306aとその周囲の区域とを含む。特定の時刻における仮想宇宙の状態に依存することが可能な規則又はヒューリスティックに基づいて一つのレイヤーを選択することが可能である。一つの実現例においては、どれが最も小さなセル寸法を与えるかに基づいて一つのレイヤーが選択される。別の実現例においては、プレゼンテーションの所要のスタイルに基づいて一つのレイヤーを選択することが可能である。例えば、劇的な効果のために一つのセルを通過する飛行中にボールを見せることが望ましい場合がある。
【0028】
上述したように、一つの実現例においては、コース格子における各セルは、その写真が該セルにおけるコースの区域を包含するように写真が取られる。例えば、図3Cに示されている写真は白色境界301によって示されている25’6”×25’6”セルのものである。写真内の位置に基づいて仮想オブジェクトの尺度がどのように変化するかを例示するため該写真において2個のアバター(104a−b)がレンダリングされている。これがどのようにして達成されるかについて以下に説明する。該写真は実際のコースにおいて特定した3D位置(緯度、経度、及び高度)におけるカメラによって取られている。カメラの3D位置は、例えば、全地球測位システム(GPS)又は地上ナビゲーションシステムを使用することによって決定することが可能である。各セルの位置は既知であるので、カメラ位置は該セルからのセットバック距離及び該セル上方の高さとして特定することが可能である。図3Cの写真において、カメラはそのセルから29’6”離れて且つそのセルの上方10’3”の高さに位置決めされている。24mmレンズが使用された。図3Dは10’3”×10’3”セルの写真であり、その場合に18mmレンズを使用して、カメラは12’6”のセットバック及び5’6”の高さに位置決めされていた。
【0029】
図3Bは、1個のセルに対してのカメラ位置及び方向の決定を例示するコース300の一部である。一つの実現例においては、カメラの位置及び方向は、与えられた1個のセルに対するターゲット位置に基づいて決定することが可能である。例えば、ゴルフにおいては、プレイヤーがホールに対するショットをセットアップするためにターン即ち曲がり角をねらわねばならないようにフェアウエイが曲がっていない限り、ターゲットは、通常、ホールである。この前者の場合には、ターゲットはフェアウエイにおける曲がり角である。セル301a及び310bに対するターゲットはホール302である。1本の線がターゲットに対して各セルの中心を通る。カメラレンズがターゲットに向かって指向するのはこの線に沿ってである。コース上のカメラの位置は、この線に沿ってであり且つ該セルの外側である。セル310aのカメラは端点312a及び302によって定義される線に沿っての位置312aに位置されている。同様に、セル310bのカメラは端点312b及び302によって定義される線に沿っての位置312bに位置されている。
【0030】
一つの実現例においては、レンズの焦点距離、レンズの角度、セルの端部からのカメラのオフセット、及びカメラの高さ、などのカメラパラメータは与えられたセル寸法に対してあらかじめ定義することが可能である。別の実現例においては、焦点距離、レンズの角度、及びカメラの3D位置の内の一つ又はそれ以上を動的に決定することが可能である。例示として、この様な決定はセルのトポロジイを考慮に入れることが可能である。与えられたセルが例えば谷間にある場合には、プレイヤーが周りのコース区域との見通しを失わないようにより多くのオーバーヘッドショット即ち俯瞰ショットを与えることが有益的である。
【0031】
図4は、自動的にコースを複数のセルに分割し且つショットリストを発生する技術400を例示したフローチャートである。コースは自動的に複数のセルに分割することが可能であり且つ各セルに対するカメラパラメータは自動的に決定することが可能であるので、所謂ショットリストを自動的に決定することが可能である。ショットリストは、与えられたコースにおける複数のセルに対して撮影することが必要な写真のリストである。各ショットは、カメラの3D位置、レンズの焦点距離、方向、及び角度を包含している。コースは初期的に上述した如くに複数のセルに分割される(ステップ402)。一つ又はそれ以上のターゲットポイントがそのコースに対して決定される(例えば、302;ステップ404)。カメラパラメータは、ターゲットポイント及び/又はセル寸法に基づいて各セルに対して決定される(ステップ406)。最後に、そのコース上の各セルの写真を取るために必要とされるカメラ条件を記述するショットリストが発生される。更なる実現例においては、ショットリストは、精密な3D座標においてホバリングすることが可能なロボットヘリコプターなどのカメラが取り付けられているロボット装置へダウンロードさせることが可能である。該ロボット装置は、該セルの一つ又はそれ以上に対して写真を撮ることが可能である。
【0032】
図5は、コース格子オーバーレイを包含している、コースに対する3D地形データの例示である。地形はコースに対する標高データを現し、それはコース上の特徴の3Dデジタル標高マップ(例えば、地形メッシュ)を与える。該地形は、どのようにして仮想オブジェクトが物理的にコースと相互作用し且つ仮想オブジェクトがコースの写真内のどこに現れるかをシミュレーションするためにゲームエンジンによって使用される。各セル(例えば、502)はコース地形の一部に対してマップする。一つの実現例においては、デジタル標高マップは1センチメートル以内の正確度であるが、一層高いか低い分解能とすることも可能である。地形データは多数の態様で収集することが可能であり、これらに制限されるものではないが、空中写真撮影マッピング(APM)、レーザ3Dイメージング、及びGPS実時間キネメトリック(kinemetric)(GPS−RTK)調査などを包含している。
【0033】
図6Aは、仮想オブジェクトの視覚的表現を一つの写真内に組む込む技術を例示したフローチャートである。上述した如く、ゲーム又はシミュレーションエンジンは、3D仮想コース空間内において追跡される仮想オブジェクトの位置を決定する(即ち、地形の上又は上方)。仮想オブジェクトが位置されている地形区域が識別される(ステップ602)。次に、その地形区域をカバーするセルに対する写真を撮影したカメラがシミュレーションされる(ステップ604)。図6Bに示されるように、仮想カメラ603はカメラの既知のパラメータに基づいて実際のカメラの正確なビュー605をシミュレーションする(例えば、カメラの3D位置、レンズの角度及び方向、及びレンズの焦点距離)。3D透視投影を使用して、3D仮想コース空間内の仮想オブジェクト(例えば、ボール108)がシミュレーションされるカメラ603の2Dビューイング面605内に投影される(ステップ606)。透視投影は、仮想カメラから更に遠い仮想オブジェクトは仮想カメラにより近いものと比較して一層小さく見えることを確保し、従って現実性の感覚を付加している。一つの実現例においては、該投影はカメラレンズにおける視覚的歪を補償することが可能である。2D投影における仮想オブジェクトは該セルの実際の写真内に組み込まれる(例えば、102b;ステップ608)。たとえオブジェクトの位置が写真マッピングをトリガーするために使用されるものではない場合であっても、付加的な仮想オブジェクト(例えば、アバター、仮想装置)も該投影に動的に包含させることも可能である。
【0034】
図7はコンピュータゲームアプリケーション又はその他のシミュレーションに対する写真マッピングシステム700を例示している。システム700内に含まれる機能性は、例示してあるものよりも一層少ないか又は一層多いコンポーネントに分散させることが可能である。更に、コンポーネントは、一つ又はそれ以上の商用の又は私用のネットワーク又はその他の通信インターフェースを介して通信することが可能な一つ又はそれ以上の装置に分散させることが可能である。ゲームエンジン706は、ユーザ入力及び仮想宇宙708におけるオブジェクトの相互作用に基づいて、仮想宇宙708に対する状態を維持する。入力モデル702はユーザ入力(例えば、ボタン押下、音声コマンド、音、ジェスチャ、目の動き、体の動き、脳波、その他のタイプの生理学的センサ、及びこれらの組み合わせ)をゲームエンジン706により処理するための一つ又はそれ以上の可変値又は信号へマップさせる。
【0035】
ゲームエンジン706は、例えば表示装置上のプレゼンテーションのために表現コンポーネント704へ供給することが可能な該仮想宇宙のビューをレンダリングするためのレンダラーを包含することが可能である。表現コンポーネント704は、ゲームエンジン706からのオーディオ/ビデオレンダリングデータ、及び触覚データを含むその他のレンダリング情報を受け取り、且つそれらを表示装置、音発生装置、触覚フィードバック装置、及びその他の適宜の装置などの一つ又はそれ以上の出力装置へ供給する。
【0036】
ゲームエンジン706は、仮想宇宙の一つ又はそれ以上の将来の状態を決定する人工知能能力を包含することが可能である。ゲームエンジン706は、又、例えばコース地形と相互作用する仮想オブジェクトの物理現象をシミュレーションする能力を有することが可能である。仮想宇宙708における仮想オブジェクトはアセット712(例えば、コンテント、モデル、サウンド、物理現象、人工知能)と関連している。アセットは仮想オブジェクトを表し且つコンピュータゲームをレンダリングするためにゲームエンジン706によって使用される。その他のアセットは、上述した如く、ゲームGUI100内に動的に組み込まれる実際のコース写真を包含している。
【0037】
ゲームエンジン706は、ゲームプレイの現在の位置に対応する写真を識別し且つ実際のコースの写真内に組み込むために3D仮想コース空間からビューイング面内へ一つ又はそれ以上の仮想オブジェクトをマップさせるために写真マッピングコンポーネント710を使用する。一つの実現例においては、コース写真は、セル又は写真に対応するコース地形領域を識別するデータでタグが付けられている。
【0038】
本発明の実施例及び本明細書において記載した機能的動作の全ては、デジタル電子回路において、又は本明細書において開示した構造及びそれらの構造的均等物を含んだコンピュータソフトウエア、ファームウエア、又はハードウエアにおいて、又はそれらの内の一つ又はそれ以上の組み合わせにおいて、実現することが可能である。本発明の実施例は、一つ又はそれ以上のコンピュータプログラムプロダクト、即ちデータ処理装置による実行のため又はその動作を制御するためにコンピュータによって読み取り可能な媒体上にエンコードされているコンピュータプログラム命令からなる一つ又はそれ以上のモジュール、として実現することが可能である。
【0039】
該コンピュータによって読み取り可能な媒体は、機械読み取り可能な格納装置、機械読み取り可能な格納基板、メモリ装置、機械読み取り可能な伝搬信号を発揮させる物質からなる組成物、又はこれらの内の一つ又はそれ以上の組み合わせとすることが可能である。「データ処理装置」という用語は、データを処理するための全ての装置、デバイス、及びマシンを包含しており、例えば、プログラム可能なプロセッサ、コンピュータ、又はマルチプロセッサ又はコンピュータを包含している。該装置は、ハードウエアに加えて、問題のコンピュータプログラムに対する実行環境を作成するコード、例えば、プロセッサファームウエア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの内の一つ又はそれ以上の組み合わせを構成するコード、を包含することが可能である。伝搬信号は、適宜の受信機装置へ送信するために情報をエンコードするために発生される、例えば、マシンによって発生された電気的、光学的、又は電磁的信号などの人工的に発生される信号である。
【0040】
コンピュータプログラム(プログラム、ソフトウエア、ソフトウエアアプリケーション、スクリプト、又はコードとしても知られている)は、コンパイル型又はインタプリタ型を含み、任意の形態のプログラミング言語で書くことが可能であり、且つそれは、スタンドアローンプログラムとして又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境において使用するのに適したその他のユニットとしてを包含する任意の形態でデプロイさせることが可能である。コンピュータプログラムは,必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、問題のプログラムに専用の単一のファイル内に、又は多数のコオーディネイトされたファイル(例えば、一つ又はそれ以上のモジュール、サブプログラム、又はコードの一部を格納するファイル)内に、その他のプログラム又はデータ(例えば、マークアップ言語文書内に格納されている一つ又はそれ以上のスクリプト)を保持するファイルの一部内に格納させることが可能である。コンピュータプログラムは、一つのコンピュータ上、又は一箇所に位置されているか又は複数の箇所に分散されており且つ通信ネットワークによって相互接続されている複数のコンピュータ上、で実行すべくデプロイさせることが可能である。
【0041】
本明細書において記載したプロセス及びロジックフローは、入力データについて動作し且つ出力を発生することによって機能を実施するための一つ又はそれ以上のコンピュータプログラムを実行する一つ又はそれ以上のプログラム可能プロセッサによって実施させることが可能である。該プロセス及びロジックフローは、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(応用特定集積回路)などの特別目的論理回路によって実施することが可能であり、且つそのような回路として装置を実現することも可能である。
【0042】
コンピュータプログラムの実行に適したプロセッサは、例示として、汎用及び特別目的の両方のプロセッサ、及び任意の種類のデジタルコンピュータの任意の一つ又はそれ以上のプロセッサを包含している。一般的に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ又はそれらの両方から命令とデータとを受取る。コンピュータの基本的な要素は、命令を実施するためのプロセッサ及び命令とデータとを格納するための一つ又はそれ以上のメモリ装置である。一般的に、コンピュータは、又、例えば磁気的、磁気−光学的ディスク、又は光学的ディスクなどのデータを格納する一つ又はそれ以上の大量格納装置を包含するか、又はそれからデータを受け取り且つそれにデータを転送するために動作結合されている。然しながら、コンピュータはこの様な装置を有することは必要ではない。更に、コンピュータは、例えば携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレイヤー、全地球測位(GPS)受信機などの別の装置の中に埋め込むことが可能である。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、全ての形態の非揮発性メモリ、媒体及び例示として半導体メモリ装置、例えばEPROM,EEPROM及びフラッシュメモリ装置を包含するメモリ装置、磁気ディスク、例えば内部ハードディスク又は着脱自在ディスク、磁気−光学的ディスク、及びCD−ROM及びDVD−ROMディスクを包含している。プロセッサ及びメモリは、特別目的論理回路によって補充されるか又はその中に組み込むことが可能である。
【0043】
ユーザとのインタラクション即ち相互作用を与えるために、本発明の実施例は、ユーザに対して情報を表示するための表示装置、例えばCRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ、及びユーザがコンピュータへ入力を供給することが可能なキーボード及びポインティングデバイス、例えばマウス及びトラックボール、を具備するコンピュータ上で実現することが可能である。その他の種類の装置もユーザとの相互作用を与えるために使用することが可能であり、例えば、ユーザへ供給されるフィードバックは任意の形態の感覚的フィードバック、例えば視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック、とすることが可能であり、且つユーザからの入力は音響的、会話的又は触覚的入力を包含する任意の形態で受取ることが可能である。
【0044】
本発明の実施例は、バックエンドコンポーネント、例えばデータサーバとして、を包含するか、又はミドルウエアコンポーネント、例えばアプリケーションサーバ、を包含するか、又はフロントエンドコンポーネント、例えばそれを介してユーザが本発明の実現例と相互作用することが可能なグラフィカルユーザインターフェース又はウエブブラウザーを具備するクライエントコンピュータ、を包含するコンピューティングシステム、又はこの様なバックエンド、ミドルウエア、又はフロントエンドコンポーネントの一つ又はそれ以上の任意の組み合わせにおいて実現することが可能である。該システムのコンポーネントは、任意の形態又は媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続させることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)及びワイドエリアネットワーク(WAN)、例えばインターネット、を包含している。
【0045】
該コンピューティングシステムは、クライエント及びサーバーを包含することが可能である。クライエント及びサーバーは、通常、互いに離隔しており且つ典型的に通信ネットワークを介して相互作用する。クライエント及びサーバーの関係は、夫々のコンピュータ上で稼動し且つ互いにクライエント−サーバー関係を有しているコンピュータプログラムによって発生する。
【0046】
本明細書は多数の詳細を包含するものであるが、これらは本発明の範囲又は特許請求の範囲に記載されていることに関する制限として解釈されるべきものではなく、寧ろ本発明の特定の実施例に対して特定的な特徴の記述として解釈されるべきである。別々の実施例の文脈において本明細書において記載されている或る複数の特徴は、単一の実施例において結合として実現することも可能である。逆に、単一の実施例の文脈において記載されている種々の特徴は、又、複数の実施例において別々に又は任意の適宜の副結合として実現することが可能である。更に、特徴は或る結合において動作するものとして上に説明されており且つ初期的にはそのようなものとして特許請求の範囲に記載されている場合があるかもしれないが、特許請求の範囲に記載されている結合からの一つ又はそれ以上の特徴は、幾つかの場合においては、そのような結合から削除することが可能であり、且つ特許請求の範囲に記載されている結合が副結合又は副結合の変形例に指向される場合がある。
【0047】
同様に、動作は特定の順番で図面中において図示されているが、これは図示されている特定の順番で又は逐次的な順番でこれらの動作が実施されること、又は所望の結果を達成するためには全ての例示されている動作が実施されることを必要としているとして理解されるべきではない。或る環境においては、マルチタスキング及び並列処理が有益的である場合がある。更に、上述した実施例における種々のシステムコンポーネントの分離は、全ての実施例においてこの様な分離が必要とされているものとして理解されるべきではなく、且つ、説明したプログラムコンポーネント及びシステムは、通常、単一のソフトウエアプロダクト内に統合させるか又は複数のソフトウエアプロダクトにパッケージ化させることが可能であることを理解すべきである。
【0048】
従って、本発明の特定の実施例について説明した。その他の実施例は特許請求の範囲内のものである。例えば、特許請求の範囲に記載されている動作は、異なる順番で実施することが可能であり、尚且つ所望の結果を達成することが可能である。
【符号の説明】
【0049】
100:グラフィカルユーザインターフェース(GUI)
102a:実際のゴルフコースの写真
104:アバター
108:ゴルフボール
112:ゴルフクラブ

【特許請求の範囲】
【請求項1】
コンピュータによって実現される方法において、
コースに対するコース地形の上又は上方の仮想オブジェクトに対する位置を決定し、
該位置に対応する該コースの写真画像を識別し、
該仮想オブジェクトが該写真画像内に現れるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む、
ことを包含している方法。
【請求項2】
請求項1において、該位置を決定する場合に、該仮想オブジェクトの該コース地形の一つ又はそれ以上の部分との相互作用をシミュレーションする方法。
【請求項3】
請求項2において、更に、該写真画像のプレゼンテーション内に該相互作用の視覚的表現を組み込むことを包含している方法。
【請求項4】
請求項1において、更に、一人のユーザ又は複数のユーザからなるグループと関連する履歴に基づいて該写真画像をプリフェッチすることを包含している方法。
【請求項5】
請求項1において、更に、該コース地形の一つ又はそれ以上の部分と該仮想オブジェクトとの相互作用を発生させるユーザ入力を受け付けることを包含している方法。
【請求項6】
請求項1において、該位置が第1位置であり且つ該写真画像が第1写真画像であって、本方法が、更に、該仮想オブジェクトの動きに応答して、
該コースに対する該コース地形上又はその上方の仮想オブジェクトに対する第2位置を決定し、
該第2位置に対応する該コースの第2写真画像を識別し、且つ
該仮想オブジェクトが該第2写真画像内に現れるように該第2写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む、
ことを包含している方法。
【請求項7】
請求項1において、該位置が該コース上の実世界位置である方法。
【請求項8】
請求項1において、更に、該写真画像のプレゼンテーション内にアバター又は一片の仮想装置を組み込むことを包含している方法。
【請求項9】
請求項1において、更に、該仮想オブジェクトが該写真画像内においてアニメーション化されるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込むことを包含している方法。
【請求項10】
請求項1において、更に、該写真画像のプレゼンテーション内に視覚的効果を組み込むことを包含している方法。
【請求項11】
請求項1において、該コースが、ゴルフコース、野球内野、トラック、テニスコート、一つ又はそれ以上の道路、又は開けた地形の内の一つ又はそれ以上である方法。
【請求項12】
請求項1において、該仮想オブジェクトが、ゴルフボール、野球ボール、テニスボール、自動車、自転車、動物、アバター、オートバイ、又は飛行船の内の一つである方法。
【請求項13】
請求項1において、該写真画像が該コースの2個又はそれ以上の写真の合成である方法。
【請求項14】
請求項1において、該写真画像を識別する場合に、ターゲット位置が該写真の水平中心に最も近い1個の写真を複数個の写真から識別する方法。
【請求項15】
請求項1において、更に、該写真画像における歪みを考慮に入れるために該地形を変形させることを包含している方法。
【請求項16】
請求項1において、更に、該写真画像のプレゼンテーションにおいて該仮想オブジェクトを拡縮させることを包含している方法。
【請求項17】
請求項1において、
該コース地形が三次元空間を表しており且つ該写真画像が二次元画像であり、且つ
該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む場合に、該三次元空間内の該位置を該二次元画像内の水平及び垂直位置に対応させることを包含している、方法。
【請求項18】
コンピュータによって実現される方法において、
コースに対するコース地形の上又は上方の仮想オブジェクトに対するユーザ履歴に基づいている一つ又はそれ以上の潜在的位置を決定し、
各潜在的位置に対応する該コースの写真画像を識別し、且つ
識別された写真画像の各々を取得する、
ことを包含している方法。
【請求項19】
請求項18において、更に、該取得された写真画像の内の一つのプレゼンテーション内に該仮想オブジェクトを組み込むことを包含している方法。
【請求項20】
コンピュータによって実現される方法において、
コースを複数のセルに分割し、
該コースに対するターゲットポイントを決定し、且つ
該ターゲットポイント及び該セルの寸法に基づいて各セルに対するカメラパラメータを決定する、
ことを包含している方法。
【請求項21】
請求項20において、更に、該決定されたカメラパラメータに基づいてショットリストを発生することを包含している方法。
【請求項22】
請求項20において、該コースを複数のセルに分割する場合に、コース特徴に基づいてセル密度を変化させる方法。
【請求項23】
コンピュータにより読み取り可能な媒体上にエンコードされているコンピュータプログラムプロダクトであって、データ処理装置をして以下の動作を実施させるべく動作可能なコンピュータプログラムプロダクトにおいて、
コースに対するコース地形上の仮想オブジェクトに対する位置を決定し、
該位置に対応する該コースの写真画像を識別し、且つ
該仮想オブジェクトが該写真画像内に現れるように該写真画像のプレゼンテーション内に該仮想オブジェクトを組み込む、
コンピュータプログラムプロダクト。
【請求項24】
コンピュータにより読み取り可能な媒体上にエンコードされているコンピュータプログラムプロダクトであって、データ処理装置をして以下の動作を実施させるべく動作可能なコンピュータプログラムプロダクトにおいて、
コースに対するコース地形上の仮想オブジェクトに対するユーザ履歴に基づく一つ又はそれ以上の潜在的位置を決定し、
各潜在的位置に対応する該コースの写真画像を識別し、且つ
該識別された写真画像の各々を取得する、
コンピュータプログラムプロダクト。
【請求項25】
コンピュータにより読み取り可能な媒体上にエンコードされているコンピュータプログラムプロダクトであって、データ処理装置をして以下の動作を実施させるべく動作可能なコンピュータプログラムプロダクトにおいて、
コースを複数のセルに分割し、
該コースに対するターゲットポイントを決定し、且つ
該ターゲットポイント及び該セルの寸法に基づいて各セルに対するカメラパラメータを決定する、
コンピュータプログラムプロダクト。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate


【公表番号】特表2009−544107(P2009−544107A)
【公表日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2009−521000(P2009−521000)
【出願日】平成19年7月19日(2007.7.19)
【国際出願番号】PCT/US2007/073887
【国際公開番号】WO2008/011515
【国際公開日】平成20年1月24日(2008.1.24)
【出願人】(508319152)ワールド ゴルフ ツアー, インコーポレイテッド (1)
【Fターム(参考)】