(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-28
(45)【発行日】2024-01-12
(54)【発明の名称】天候エフェクト用の3Dパーティクルシステムを効率的にレンダリングするための方法及びシステム
(51)【国際特許分類】
G06T 13/60 20110101AFI20240104BHJP
G06T 19/00 20110101ALI20240104BHJP
G01C 21/26 20060101ALI20240104BHJP
【FI】
G06T13/60
G06T19/00 A
G01C21/26 C
【外国語出願】
(21)【出願番号】P 2019060438
(22)【出願日】2019-03-27
【審査請求日】2022-03-24
(32)【優先日】2018-03-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】リンカン ヅォウ
(72)【発明者】
【氏名】リウ レン
(72)【発明者】
【氏名】ジェン ダイ
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2007-082859(JP,A)
【文献】特開2001-334071(JP,A)
【文献】特開2001-276414(JP,A)
【文献】特開2003-337957(JP,A)
【文献】特開2002-251626(JP,A)
【文献】特開2001-307129(JP,A)
【文献】特表2010-515135(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/60
G06T 19/00
G01C 21/26
(57)【特許請求の範囲】
【請求項1】
車両内の乗員に情報を提供するための車載情報システムにおいて三次元(3D)仮想環境のグラフィックスを生成するための方法であって、
プロセッサによって、3D仮想環境における第1のカメラポジション及び3D仮想環境における第1の視方向を受け取ること、
前記プロセッサによって、前記3D仮想環境における前記第1のカメラポジションに対応する第1の地理的領域に応じた第1の降水情報を含む天候データを受け取ること、
前記プロセッサによって、前記第1の視方向で前記第1のカメラポジションから第1の距離にある第1のポジションに、前記第1の視方向で前記第1のカメラポジションからの視野をカバーするように寸法選定された境界ジオメトリを定義すること、及び、
前記プロセッサによって、前記境界ジオメトリ内だけで降水を描画する前記3D仮想環境に、前記第1の降水情報に依存するフィーチャを有する3Dパーティクルシステムをレンダリングすること
を含む、
三次元(3D)仮想環境のグラフィックスを生成するための方法。
【請求項2】
さらに、
前記プロセッサによって、前記3D仮想環境における第2のカメラポジション及び前記3D仮想環境における第2の視方向を受け取ること、
前記プロセッサによって、前記第2の視方向で前記第2のカメラポジションから前記第1の距離にある第2のポジションへ前記境界ジオメトリを移動させること、及び、
前記プロセッサによって、前記3Dパーティクルシステムのパーティクルが、移動された前記境界ジオメトリ内だけでレンダリングされるように、前記降水を描画する前記3Dパーティクルシステムの前記レンダリングを更新すること
を含む、
請求項1に記載の方法。
【請求項3】
前記3Dパーティクルシステムの前記レンダリングを更新することは、
前記第1のポジションでは前記境界ジオメトリ内にあったが、前記境界ジオメトリが前記第2のポジションに移動した後では前記境界ジオメトリ外にある前記3Dパーティクルシステムのパーティクルを除去すること、
前記第1のポジションでは前記境界ジオメトリ内にあり、前記境界ジオメトリが前記第2のポジションに移動した後も前記境界ジオメトリ内に留まっている前記3Dパーティクルシステムのパーティクルをレンダリングし続けること、及び、
前記境界ジオメトリが前記第2のポジションに移動した後では前記境界ジオメトリ内にあるが、前記第1のポジションでは前記境界ジオメトリ外にあったポジションに、前記3Dパーティクルシステムの新たなパーティクルを作り出すこと
を含む、
請求項2に記載の方法。
【請求項4】
前記3Dパーティクルシステムをレンダリングすることはさらに、
前記3Dパーティクルシステムのパーティクルの(i)形状、(ii)色及び(iii)不透明度のうちの少なくとも1つを、前記第1の降水情報により表される降水タイプに基づきレンダリングすること
を含む、
請求項1に記載の方法。
【請求項5】
前記3Dパーティクルシステムをレンダリングすることはさらに、
(i)前記3Dパーティクルシステムのパーティクルサイズ及び(ii)前記3Dパーティクルシステムのパーティクル密度のうちの少なくとも一方を、前記第1の降水情報により表される降水強度に基づきレンダリングすること
を含む、
請求項1に記載の方法。
【請求項6】
前記境界ジオメトリを定義することはさらに、
前記境界ジオメトリを前記第1のポジションにセンタリングされた球体として定義すること
を含み、
前記球体は、前記第1の視方向で前記第1のカメラポジションからの前記視野をカバーするように設定された直径を有する、
請求項1に記載の方法。
【請求項7】
当該方法はさらに、
前記プロセッサによって、視界及び視角のうちの少なくとも一方を受け取ること、及び、
前記プロセッサによって、前記視界及び前記視角のうちの少なくとも一方に基づき、前記境界ジオメトリの前記第1の距離及び寸法のうちの少なくとも一方を調節すること
を含む、
請求項1に記載の方法。
【請求項8】
前記天候データは風情報を含み、前記3Dパーティクルシステムをレンダリングすることはさらに、
前記風情報により表される風速及び風向のうちの少なくとも一方に基づき、前記3Dパーティクルシステムのパーティクルの動きをレンダリングすること
を含む、
請求項1に記載の方法。
【請求項9】
前記3Dパーティクルシステムの前記パーティクルは、雪片を描画するように設定されている、
請求項
4に記載の方法。
【請求項10】
車両内の乗員に情報を提供するための車載情報システムにおいて三次元(3D)仮想環境のグラフィックスを生成するためのシステムであって、
3D仮想環境のグラフィックスを表示するように構成されたディスプレイデバイス、
ネットワークデバイス、
プログラミングされた命令を記憶するように構成されたメモリ、並びに、
前記ディスプレイデバイス、ワイヤレスの前記ネットワークデバイス及び前記メモリと動作可能に接続されたプロセッサ
を含み、
前記プロセッサは、前記プログラミングされた命令を実行して、
前記3D仮想環境における第1のカメラポジション及び前記3D仮想環境における第1の視方向を受け取り、
前記ネットワークデバイスを介して、前記3D仮想環境における前記第1のカメラポジションに対応する第1の地理的領域に応じた第1の降水情報を含む天候データを受け取り、
前記第1の視方向で前記第1のカメラポジションから第1の距離にある第1のポジションに、前記第1の視方向で前記第1のカメラポジションからの視野をカバーするように寸法選定された境界ジオメトリを定義し、
前記境界ジオメトリ内だけで降水を描画する前記3D仮想環境に、前記第1の降水情報に依存するフィーチャを有する3Dパーティクルシステムをレンダリングする
ように構成されている、
三次元(3D)仮想環境のグラフィックスを生成するためのシステム。
【請求項11】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
前記3D仮想環境における第2のカメラポジション及び前記3D仮想環境における第2の視方向を受け取り、
前記第2の視方向で前記第2のカメラポジションから前記第1の距離にある第2のポジションへ前記境界ジオメトリを移動させ、
前記3Dパーティクルシステムのパーティクルが、移動された前記境界ジオメトリ内だけでレンダリングされるように、前記降水を描画する前記3Dパーティクルシステムの前記レンダリングを更新する
ように構成されている、
請求項10に記載のシステム。
【請求項12】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
前記第1のポジションでは前記境界ジオメトリ内にあったが、前記境界ジオメトリが前記第2のポジションに移動した後では前記境界ジオメトリ外にある前記3Dパーティクルシステムのパーティクルを除去し、
前記第1のポジションでは前記境界ジオメトリ内にあり、前記境界ジオメトリが前記第2のポジションに移動した後も前記境界ジオメトリ内に留まっている前記3Dパーティクルシステムのパーティクルをレンダリングし続け、
前記境界ジオメトリが前記第2のポジションに移動した後では前記境界ジオメトリ内にあるが、前記第1のポジションでは前記境界ジオメトリ外にあったポジションに、前記3Dパーティクルシステムの新たなパーティクルを作り出す
ように構成されている、
請求項11に記載のシステム。
【請求項13】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
前記3Dパーティクルシステムのパーティクルの(i)形状、(ii)色及び(iii)不透明度のうちの少なくとも1つを、前記第1の降水情報により表される降水タイプに基づきレンダリングする
ように構成されている、
請求項10に記載のシステム。
【請求項14】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
(i)前記3Dパーティクルシステムのパーティクルサイズ及び(ii)前記3Dパーティクルシステムのパーティクル密度のうちの少なくとも一方を、前記第1の降水情報により表される降水強度に基づきレンダリングする
ように構成されている、
請求項10に記載のシステム。
【請求項15】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
前記境界ジオメトリを前記第1のポジションにセンタリングされた球体として定義する
ように構成されており、
前記球体は、前記第1の視方向で前記第1のカメラポジションからの前記視野をカバーするように設定された直径を有する、
請求項10に記載のシステム。
【請求項16】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
視界及び視角のうちの少なくとも一方を受け取り、
前記視界及び前記視角のうちの少なくとも一方に基づき、前記境界ジオメトリの前記第1の距離及び寸法のうちの少なくとも一方を調節する
ように構成されている、
請求項10に記載のシステム。
【請求項17】
前記プロセッサはさらに、前記プログラミングされた命令を実行して、
風情報により表される風速及び風向のうちの少なくとも一方に基づき、前記3Dパーティクルシステムのパーティクルの動きをレンダリングする
ように構成されている、
請求項10に記載のシステム。
【請求項18】
前記3Dパーティクルシステムの前記パーティクルは雪片を描画するように設定されている、
請求項
13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は全般的には、運転者情報及び運転者支援システム(これらは車載情報システムとしても知られる)の分野に関し、さらに詳細には、マッピングアプリケーション及びナビゲーションアプリケーションのために車両操作者にグラフィック表示を提供するシステム及び方法に関する。
【背景技術】
【0002】
背景
本明細書において別段の指示がない限り、このセクションで説明する題材は本願の特許請求の範囲に対する従来技術ではなく、これらをこのセクションに含めたからといって従来技術であると認められるものではない。
【0003】
最近の自動車は、1つ又は複数の運転者情報システム及び運転者支援システム(以下では車載情報システムと称する)を含むことが多く、これによって多種多様な情報及びエンターテイメントオプションが車両内の乗員に提供される。車載情報システムによって提供される一般的なサービスとしては、以下に限定されるものではないが、車両状態及び診断情報、マッピングアプリケーション及びナビゲーションアプリケーション、ハンズフリー電話、ラジオ及び音楽再生、並びに、交通状況警報が挙げられる。車載情報システムは、複数の入力デバイス及び出力デバイスを含むことが多い。たとえば、ラジオシステム及びオーディオシステムを操作するために使用される慣用のボタン及び制御ノブが、車載情報システムにおいて共通に使用される。車両における入力のごく最近の形態として挙げられるのは、入力及び表示を単一の画面に統合したタッチスクリーン入力デバイス、並びに、車載情報システムが音声命令に応答する音声作動機能である。出力システムの例としては、機械的な計器類、液晶ディスプレイ(LCD)パネルなどのような出力ディスプレイパネル、及び、合成音声を作成するオーディオ出力デバイスが挙げられる。
【0004】
三次元(3D)グラフィックス方法は、種々の運転者支援アプリケーション及び運転者情報アプリケーションにおいて広く使用されてきた。1つの典型例は、3Dマップに基づくナビゲーションシステムである。慣用の二次元(2D)マップと比べて3Dマップは、容易な運転者オリエンテーション及び高速なロケーション認識のために、より有用なものであるとみなされている。たとえば写真のようにリアルな3Dのマッピングサービス及びナビゲーションサービスが、Apple,Google及びNokiaにより提供されるサービスを含め、複数のオンラインサービス及びオフラインサービスによって用意されている。最新の3Dグラフィックスによれば、高度にリアルな幅広いグラフィックエフェクトを作成することができる。3Dのマッピングアプリケーション及びナビゲーションアプリケーションという状況において、グラフィックス表示システムは、地勢、道路、建物などのような目印及びその他の目印を、極めて詳細に生成することができる。しかも一部の3Dマッピングシステムによれば、マッピングアプリケーションにおいて再現される現実の地理的領域における現在の天候状況に対応する天候状況及び照射状況を、3D仮想環境において描画するグラフィックエフェクトを適用することができる。たとえば3Dグラフィックスシステムは、ある地理的領域における現在の天候状況に基づき、降水のグラフィックレンダリングを作成することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
最新の3Dグラフィックスのハードウェア及びソフトウェアは、幅広いグラフィックスを再現可能である一方、降水などのようなグラフィックエフェクトの生成は一般に、3Dマッピングアプリケーションを使用するのに妥当なレンダリング速度でそれらのグラフィックエフェクトを作成するために、かなりのハードウェア実行リソースを必要とする。リアルな降水の複雑なグラフィックレンダリングを実行可能なグラフィックス処理ユニット(GPU)を含む最新の処理デバイスが存在するけれども、自動車に組み込まれたグラフィックスシステム及び安価なモバイル電子デバイスのグラフィックスシステムを含む多くのハードウェアプラットフォームには、降水のリアルなグラフィック描画を作成するのに必要とされるハードウェアが欠けている可能性がある。しかも、いまや高性能のグラフィックスハードウェアがますます含まれるようになってきている一部のモバイル電子デバイスでさえ、グラフィックスを作成するために不所望に大量の電力を消費してしまう可能性があり、その結果、バッテリを消耗させることが多く、これは走行中にマッピングアプリケーション及びナビゲーションアプリケーションを使用するためには非生産的なものとなる可能性がある。したがって、3D仮想環境に降水のグラフィックレンダリングを作成するための方法及びシステムを、計算上効率的な手法で改善することが有用となるであろう。
【課題を解決するための手段】
【0006】
概要
三次元(3D)仮想環境のグラフィックスを生成するための方法が開示される。この方法は、プロセッサによって、3D仮想環境における第1のカメラポジション及び3D仮想環境における第1の視方向を受け取ること、プロセッサによって、3D仮想環境における第1のカメラポジションに対応する第1の地理的領域に応じた第1の降水情報を含む天候データを受け取ること、プロセッサによって、第1の視方向で第1のカメラポジションから第1の距離にある第1のポジションに、第1の視方向で第1のカメラポジションからの視野をカバーするように寸法選定された境界ジオメトリを定義すること、及び、プロセッサによって、境界ジオメトリ内だけで降水を描画する3D仮想環境に、第1の降水情報に依存するフィーチャを有する3Dパーティクルシステムをレンダリングすることを含む。
【0007】
三次元(3D)仮想環境のグラフィックスを生成するためのシステムが開示される。このシステムは、3D仮想環境のグラフィックスを表示するように構成されたディスプレイデバイス、ネットワークデバイス、プログラミングされた命令を記憶するように構成されたメモリ、並びに、これらのディスプレイデバイス、ワイヤレスネットワークデバイス及びメモリと動作可能に接続されたプロセッサを含む。このプロセッサは、プログラミングされた命令を実行して、3D仮想環境における第1のカメラポジション及び3D仮想環境における第1の視方向を受け取り、ネットワークデバイスを介して、3D仮想環境における第1のカメラポジションに対応する第1の地理的領域に応じた第1の降水情報を含む天候データを受け取り、第1の視方向で第1のカメラポジションから第1の距離にある第1のポジションに、第1の視方向で第1のカメラポジションからの視野をカバーするように寸法選定された境界ジオメトリを定義し、さらに境界ジオメトリ内だけで降水を描画する3D仮想環境に、第1の降水情報に依存するフィーチャを有する3Dパーティクルシステムをレンダリングするように構成されている。
【図面の簡単な説明】
【0008】
方法及びシステムの上述の態様及びその他の特徴について、添付の図面を参照しながら以下の記載で説明する。
【
図1】現実世界の地理的ロケーションにおける現在の天候状況を反映する降水表現を含む3D仮想環境のグラフィック表示を生成するように構成された、車載情報システムの概略図である。
【
図2】3D仮想環境に降水又は他の同様の天候エフェクトを描画する3Dパーティクルシステムを、計算上効率的な手法でレンダリングするための方法を示す図である。
【
図3】仮想カメラに関して定義された例示的な境界ジオメトリを示す図である。
【
図4】定義された境界ジオメトリ内だけの3Dパーティクルシステムの例示的なレンダリングを示す図である。
【
図5】カメラポジション又は視方向が変更されたときに3Dパーティクルシステムを更新するための、
図2の方法の続きとなる方法を示す図である。
【
図6】元の境界ジオメトリの例示的な動き及び3Dパーティクルシステムに対する更新を示す図である。
【発明を実施するための形態】
【0009】
詳細な説明
次に、本開示の原理を理解しやすくする目的で、図面に例示され以下に記載された明細書中で説明される実施形態について言及する。自明のとおり、本開示の範囲に対する限定がこれによって意図されるものではない。さらに自明のとおり、本開示には、例示した実施形態に対するあらゆる代案や変更が含まれ、また、本開示が属する技術分野の当業者であれば通常想定するであろう本開示の原理のさらなる応用も含まれる。
【0010】
車載情報システム
図1には、3D仮想環境のグラフィック表示を生成する車載情報システム104(本明細書ではこれを「グラフィック表示システム」と称することもある)を含むシステム100が示されており、このグラフィック表示には、現実世界の地理的ロケーションにおける現在の天候状況を計算上効率的な手法で反映する降水表現が含まれる。車載情報システム104には、プロセッサ108、メモリ120、ディスプレイ144、任意選択のポジショニングシステム148、及び、任意選択のネットワークデバイス152が含まれる。車載情報システム104のハードウェアの実施形態には、以下に限定されるものではないが、パーソナルコンピュータ(PC)のハードウェア、自動車において使用するための組み込みコンピューティングハードウェアを含む組み込みシステムのハードウェア、並びに、スマートフォン及びタブレットコンピューティングデバイスを含むモバイル電子デバイスが含まれる。システム100においてワイヤレスデータネットワーク180により、車載情報システム104が1つ又は複数のオンライン天候情報源190と接続されている。
【0011】
車載情報システム104において、プロセッサ108は1つ又は複数の集積回路を含み、この回路は、中央処理ユニット(CPU)112とグラフィックス処理ユニット(GPU)116の機能を実装する。一部の実施形態によれば、プロセッサは、CPU112及びGPU116の機能、さらに任意選択でメモリ120、ネットワークデバイス152及びポジショニングシステム148を含む他の構成要素の機能を単一の集積デバイスに集積するシステム・オン・チップ(SoC)であるのに対し、他の実施形態によれば、PCIエクスプレスなどのような周辺接続デバイス又は他の適切な周辺データ接続を介して、CPU112及びGPU116が互いに接続されている。1つの実施形態によれば、CPU112は、x86、ARM、Power又はMIPSの命令セットファミリーのうちの1つなどのような命令セットを実装する市販の中央処理デバイスである。GPUは、2Dグラフィックス及び3Dグラフィックスの双方を表示するためのハードウェア及びソフトウェアを含む。1つの実施形態によれば、プロセッサ108はソフトウェアドライバを実行し、たとえばOpenGL、OpenGL ES,Vulkan又はDirect3Dのグラフィックスアプリケーションプログラミングインタフェース(API)を用いて、3Dグラフィックスを生成するための、GPU116におけるハードウェア機能を含む。たとえばGPU116は、1つ又は複数のハードウェア実行ユニットを含み、このユニットは、フラグメントシェーダ、頂点シェーダ、及び、任意選択的にジオメトリシェーダ、テッセレーションシェーダを実装し、2Dグラフィックス及び3Dグラフィックスを処理及び表示するためにシェーダを計算する。動作中、CPU112及びGPU116は、メモリ120から取り出されたストアドプログラム方式の命令140を実行する。1つの実施形態によれば、ストアドプログラム方式の命令140は、オペレーティングシステムソフトウェアと、マッピングアプリケーション及びナビゲーションアプリケーションを含め3Dグラフィックスを生成する1つ又は複数のソフトウェアアプリケーションプログラムとを含む。ストアドプログラム方式の命令140は、本明細書で説明する実施形態に基づき降水のグラフィック描画を生成するために、CPU112及びGPU116の動作を制御するソフトウェアを含む。
【0012】
プロセッサ108は、マッピングプログラム及びナビゲーションプログラムを実行し、マップフィーチャと、車両外部の地理的領域における降水を含む天候状況とを、直観的な手法で描画するグラフィック変換によって、3Dグラフィック出力を生成する。プロセッサ108は、ソフトウェア及びハードウェアの機能と共に構成されており、この場合、プログラミングされた命令がプロセッサ108と動作可能に接続された1つ又は複数のメモリに記憶され、以下で説明するプロセス及びシステムの実施形態をプロセッサが実装できるようにする目的で、センサ又はデータソースからデータを供給するために、ハードウェアの機能がプロセッサ及び/又は他の電子的、電気機械的又は機械的な構成要素と動作可能に接続される。
【0013】
メモリ120は、不揮発性メモリと揮発性メモリの双方を含む。不揮発性メモリは、NANDフラッシュメモリなどのような半導体メモリ、磁気記憶媒体及び光学記憶媒体、又は、車載情報システム104がデアクティベートされたとき若しくは電力を失ったときにデータを保持する他の何らかの適切なデータストレージデバイスを含む。揮発性メモリは、車載情報システム104の動作中、ソフトウェアと、グラフィックスデータ及びマップフィーチャデータを含むデータとを記憶するスタティックランダムアクセスメモリ及びダイナミックランダムアクセスメモリ(RAM)を含む。一部の実施形態によれば、GPU116及びCPU112は各々、別個のRAMデバイス(たとえばCPU112についてはDDR SDRAMの一種、GPU116についてはGDDR,HBMの一種又はその他のRAM)へのアクセスを有する一方、他の実施形態によれば、CPU112及びGPU116は共有メモリデバイスにアクセスする。プログラミングされた命令140に加えてメモリ120は、三次元仮想環境グラフィックスデータ124を記憶している。グラフィックスデータ124は、幾何学的モデル、テクスチャ、及び、3D仮想環境の三次元グラフィックスを生成するためにプロセッサ108が使用するその他のデータを含む。
【0014】
車載情報システム104は、任意選択のネットワークデバイス152を含み、このデバイスはデータネットワーク180を介して、オンライン天候情報源190などのような外部のコンピューティングシステムからの天候データを送信及び受信するように構成されている。ネットワークデバイス152の例として挙げられるのは、イーサネットアダプタ及び汎用シリアルバス(USB)アダプタといった有線ネットワークアダプタ、並びに、ワイヤレスワイドエリアネットワーク(WWAN)アダプタ、802.11アダプタ、又は、ブルートゥースワイヤレスローカルエリアネットワーク(WLAN)アダプタなどのような無線ネットワークアダプタである。
【0015】
図1に示されているように、オンライン天候情報源190は、データネットワーク180を介して車載情報システム104によりアクセス可能な手法でデータを提供する任意のオンラインサービスを含む。たとえばオンライン情報源190は、雲翳、風、温度、降水及び道路ハザード状況を含め、車両周囲の地理的領域における天候に関連する情報を提供するライブ天候サービスを含む。他のオンライン情報源190は、交通量、事故及びその他の交通情報に関する報告を作成するオンライン交通サービスである。
【0016】
車載情報システム104は、プロセッサ108と動作可能に接続された任意選択のポジショニングシステム148を含む。ポジショニングシステムの例として挙げられるのは、1つ又は複数の衛星航法システムを使用するグローバルポジショニングシステム(GPS)受信機、定置されたワイヤレス送信機に対する車載情報システム104のロケーションを特定する無線三角測量受信機、及び、慣性航法システムである。動作中、プロセッサ108は、マッピングソフトウェアアプリケーション及びナビゲーションソフトウェアアプリケーションを実行し、これによりポジショニングシステム148からロケーション情報を取り出して、車載情報システム104の地理的ロケーションを特定し、車載情報システム104のロケーションに対応するよう仮想環境の表示を調節する。ナビゲーションアプリケーションにおいてプロセッサ108は、車載情報システム104のロケーション及び運動を特定して、選択された目的地までのルートを生成し、3D仮想環境においてルートを表示する。
【0017】
動作中、プロセッサ108は、複数のソースから車両周囲の環境に対応するデータを受信する。
図1の実施形態によれば、それらのソースには車両センサ170、オンライン天候情報源190及びポジショニングシステム148が含まれる。プロセッサ108は、いくつかの環境データを間接的に使用する。たとえばポジショニングシステム148は、車両ロケーションに関連するデータを提供し、プロセッサ108は、ポジションデータをオンライン情報源190へのクエリの一部として使用して、たとえば、車両周囲の地理的領域又は車両のルート沿いにあり車両が今後走行することになる他の地理的領域における天候状況及び交通を特定する。
【0018】
車載情報システム104においてディスプレイ144は、車載情報システム104のハウジングと一体化された統合型ディスプレイデバイス、たとえばLCD又は他のビジュアルディスプレイデバイスであり、又は、ディスプレイ144は、有線又は無線のインタフェースを介して車載情報システム104と動作可能に接続された外部ディスプレイデバイスであり、これはプロセッサ108から出力信号を受信して、3D仮想環境の表示を生成する。車載情報システム104が車載組み込みコンピューティングデバイスである実施形態の場合、ディスプレイ144は、車両のコンソールに配置されたLCD若しくは他のフラットパネルディスプレイであり、又は、ディスプレイ144は、ヘッドアップディスプレイ(HUD)又はフロントガラス若しくは車両における他の表示面上に3D仮想環境を表示する他のプロジェクションディスプレイである。他のディスプレイデバイスの実施形態にはたとえば、仮想環境の本物の三次元表示をシミュレートするために、3D仮想環境の2つの異なる2Dイメージを形成する立体ディスプレイが含まれる。
【0019】
車載情報システム104において車両センサ170は、車両のコンディション又は車両周囲の環境に対応するディジタルデータを生成する車両内の任意のデバイスを含み、プロセッサ108はこのデータを使用して、静的なマップフィーチャの仮想描画を調節する。種々の車両構成において使用されるセンサの例として挙げられるのは、以下に限定されるものではないが、カメラ、光センサ、温度計、湿度計、モーションセンサ、速度計、距離測定センサなどである。一部の実施形態によれば、車載時計は、車両周囲の時刻を記録するさらに他のセンサである。一部の実施形態によれば、ポジショニングシステム148又はネットワークデバイス152は、時刻データを受信して時計を設定し、車両が種々の地理的ロケーションにあるときに、種々の時刻での空における太陽又は月のポジションを特定する。
図1の例によれば、ポジショニングシステム148は、車両のロケーション及び任意選択的に走行方向及び速度を表すセンサとしても動作する。一部の車両の場合には、車両において他の機能を実施するサブシステムから間接的に、付加的なセンサデータを供給することができる。
【0020】
天候エフェクト用の3Dパーティクルシステムを効率的にレンダリングするための方法
降水又は他の同様の天候エフェクトを描画する3Dパーティクルシステムをレンダリングするための様々な方法及びプロセスについて、以下で説明する。方法の説明において、方法が何らかのタスク又は機能を実施するという記述は、このタスク又は機能を実施するためにコントローラ又は汎用プロセッサが、コントローラ又はプロセッサと動作可能に接続された非一時的コンピュータ可読媒体に記憶されたプログラミングされた命令を実行して、車載情報システム104においてデータを操作する、又は、1つ又は複数の構成要素を動作させる、ということを指す。詳細には、上述のプロセッサ108、CPU112及び/又はGPU116を、かかるコントローラ又はプロセッサとすることができ、実行されるプログラム命令を、メモリ120に記憶されたプログラミングされた命令140とすることができる。これに加え方法のステップを、図面に示されている順序又はステップを説明する順序にかかわらず、実現可能な任意の時間順序で実施することができる。
【0021】
図2には、3D仮想環境に降水又は他の同様の天候エフェクトを描画する3Dパーティクルシステムを、計算上効率的な手法でレンダリングするための方法200が示されている。詳細には、上述のマッピングアプリケーション及びナビゲーションアプリケーションに対して適用されるならば、方法200は、車両周囲の現実世界の地理的ロケーションにおける現在の天候状況を反映する降水表現を含む3D仮想環境のグラフィック表示を生成する。方法200は、3D仮想環境に降水又は他の同様の天候エフェクトを描画する3Dパーティクルシステムを効率的にレンダリングするために、プロセッサ108が特定のルールのセットを実行できるようにすることによって、車載情報システム104の機能を改善する。これに加え方法200は、処理能力が相対的に制限されている組み込みデバイス及びモバイルデバイスにおいて使用するのに十分に効率的なものである。
【0022】
本明細書で用いられる用語「降水」は、雨、霧雨、着氷性の雨、雪、みぞれ、雹など、及び、ここで挙げた天候状況の任意の組み合わせのことを指す。降水に対して適用されるならば、3Dパーティクルシステムの「パーティクル」によって、雪片、粒雪、雪あられ、雨滴、凍結した雨滴、凍雨などを描画することができる。ただし、方法200を、砂嵐、霧、風、竜巻、暴風、火災、閃光などのように、3Dパーティクルシステムとして描画できるであろう他の任意の天候状況に適用可能である。
【0023】
方法200は、3D仮想環境における第1のカメラポジション及び3D仮想環境における第1の視方向を受け取るステップ(ブロック210)によって始まる。詳細には、本明細書で詳述する実施形態に関しては、プロセッサ108は、3D仮想環境における仮想カメラの現在のカメラポジション及び現在の視方向を受け取るように構成されている。一部の実施形態によれば、プロセッサ108はさらに、3D仮想環境における仮想カメラの現在の視界及び/又は現在の視角を受け取るように構成されている。カメラポジション、視方向、視界及び視角は、仮想カメラの各パラメータであり、地理的領域の視覚化においてユーザを支援する目的で、プロセッサ108によりレンダリングされてディスプレイ144において表示されるべき3D仮想環境のビュー及び/又はパースペクティブが、これらによって定義される。少なくとも1つの実施形態によれば、プロセッサ108は、仮想カメラのパラメータをメモリ120から読み出すように構成されており、ただし、何らかの他のシステム又はプロセッサからそれらを受け取ることもできる。一部の実施形態によれば、プロセッサ108は、ポジショニングシステム148によって表される車両及び/又は車載情報システム104のポジション及び/又は移動方向に基づき、仮想カメラのパラメータを自動的に調節するように構成されている。さらに一部の実施形態によれば、プロセッサ108は、車載情報システム104のタッチスクリーン、ボタン、ノブ又は他の入力デバイスからなど、ユーザからの入力に基づき、仮想カメラのパラメータを調節するように構成されている。一部の実施形態によれば、プロセッサ108は、3D仮想環境をレンダリングする付加的な情報を受け取るように構成されており、そのような情報には、3D仮想環境における物体に対するメッシュデータ、道路及びナビゲーションの情報、3D仮想環境の地面又は地表面に関する情報、及び、3D仮想環境のフィーチャをレンダリングするために使用される重力方向が含まれる。
【0024】
本明細書で用いられる仮想カメラの「カメラポジション」(これを視野の「ポジション」又は「原点」と称することもある)は、3D仮想環境における以下のようなポジションのことを指し、即ち、このポジションから3D仮想環境のビューがレンダリングされる。カメラポジションを、3D仮想環境における座標セットたとえば(Xcam, Ycam, Zcam)として、又は、他の任意の適切な手法で、定義することができる。一部の実施形態によれば、カメラポジションに対しいくつかの境界条件を課すことができ、たとえば3D仮想環境の地面よりも上であること、あるいはポジショニングシステム148により表される車両及び/又は車載情報システム104のポジションから予め定められた距離内にあることなどである。
【0025】
本明細書で用いられる仮想カメラの「視方向」(これを視野の「方向」と称することもある)は、カメラポジションからの以下の方向のことを指し、即ち、この方向で3D仮想環境のビューがレンダリングされる。視角を、カメラポジションから延びる方向ベクトルたとえば<Xview, Yview, Zview>として、又は、他の任意の適切な手法で、定義することができる。
【0026】
本明細書で用いられる仮想カメラの「視角」(これを視野の「角度」と称することもある)は、3D仮想環境の地面に対する以下の角度のことを指し、即ち、この角度から3D仮想環境のビューがレンダリングされる。視角は一般に、カメラポジション及び視方向の関数である。1つの例によれば、垂直方向の俯瞰ビューと平行な水平ビューとの間で定義された角度範囲に関して、視角を定義することができる。垂直方向の俯瞰ビューは、視方向がカメラポジションから真下にかつ3D仮想環境の地面と垂直に向けられたビューである。平行な水平ビューは、視方向が3D仮想環境の地面と平行に向けられたビューである。ただし、視角を、他の任意の適切な手法で定義することができる。
【0027】
本明細書で用いられる仮想カメラの「視界」(これを視野の「範囲」又は「幅」と称することもある)は、3D仮想環境の視野の幅のことを指し、又は、選択的に、3D仮想環境のビューにおける物体及び/又は地面からのカメラポジションの距離のことを指す。視界は一般に、カメラポジション及び視方向の関数である。一般的には視界が広がると、3D仮想環境のビューにおいて地理的領域のより広い部分が表現される。
【0028】
方法200は、3D仮想環境における第1のカメラポジションに対応する第1の地理的領域に応じた第1の降水情報を含む天候データを受け取るステップ(ブロック220)によって続けられる。詳細には、プロセッサ108は、ネットワークデバイス152を動作させて、カメラポジションの地理的領域に応じた1つ又は複数のオンライン天候情報源190から、データネットワーク180を介して天候データを受け取る及び/又は取り出すように構成されている。天候データには少なくとも、たとえば降水中であるか否か、及び、降水中であるならば、降水のタイプ(たとえば雨、雪、みぞれ等)及び降水強度(たとえば弱い、中くらい、又は、強い)を表す降水情報が含まれる。一部の実施形態によれば、天候データにはさらに、たとえば風速及び風向を表す風情報が含まれる。
【0029】
方法200は、第1の視方向で第1のカメラポジションから第1の距離にある第1のポジションに、第1の視方向で第1のカメラポジションからの視野をカバーするように寸法選定された境界ジオメトリを定義するステップ(ブロック230)によって続けられる。詳細には、プロセッサ108は、現在の視方向で現在のカメラポジションから予め定められた距離にあるポジションに、境界ジオメトリを定義するように構成されている。プロセッサ108は、現在の視方向で現在のカメラポジションからの視野をカバー及び/又は包含するように設定された寸法で、境界ジオメトリを定義するように構成されている。
図3には、仮想カメラ304に関して定義された例示的な境界ジオメトリ302が示されている。境界ジオメトリ302は、視方向308で仮想カメラ304のポジションから距離Lにあるポジション306に位置決めされている。図示されているように、境界ジオメトリ302は、距離Lのところで仮想カメラ304の視野310の幅よりも大きい直径Dをもつ球体を有する。このようにして境界ジオメトリ302は、仮想カメラの前方に定義され、仮想カメラ304の視野310を包含するように寸法選定される。他の実施形態によれば、球体とは異なる適切な境界ジオメトリを用いることができる。
【0030】
一部の実施形態によれば、仮想カメラ304に対し境界ジオメトリ302の可視性を最大化するように、プロセッサ108は、予め定められた関数を基礎として現在の視方向、現在の視角及び/又は現在の視界に基づき、境界ジオメトリの予め定められた距離(たとえば距離L)及び/又は寸法(たとえば球状の境界ジオメトリ302の直径D)を、周期的又は連続的に調節するように構成されている。たとえば、カメラがある領域の全体ビュー(即ち、ズームアウト)をもたらすように設定されている場合には、カメラが狭いエリアのクローズアップビュー(即ち、ズームイン)をもたらすように設定されている場合と比べて、境界ジオメトリの予め定められた距離及び/又は寸法が大きくなるよう調節するように、プロセッサ108を構成することができる。このようにすることで3Dパーティクルシステムは、カメラがズームアウトされたときには、より離れて見えるようになり、カメラがズームインされたときには、より近づいて見えるようになる。
【0031】
図2を参照すると、方法200は、境界ジオメトリ内だけで降水を描画する3D仮想環境に、第1の降水情報に依存するフィーチャを有する3Dパーティクルシステムをレンダリングするステップ(ブロック240)によって続けられる。詳細には、プロセッサ108は、又は、より詳細には、GPU116は、定義された境界ジオメトリ内だけで降水を描画する3D仮想環境に、3Dパーティクルシステムをレンダリングするように構成されている。少なくとも1つの実施形態によれば、プロセッサ108は、カメラポジション周囲の地理的領域において降水が存在することを降水情報が表している場合のみ、3Dパーティクルシステムをレンダリングするように構成されている。1つの実施形態によれば、プロセッサ108は、降水情報により表される降水強度に基づき、降水密度と共に境界ジオメトリ内でパーティクルをランダムに作り出すことによって、3Dパーティクルシステムをレンダリングするように構成されている。少なくとも1つの実施形態によれば、プロセッサ108はさらに、道路、建物、目印など3D仮想環境のフィーチャを付加的にレンダリングするように構成されている。
【0032】
図4には、定義された境界ジオメトリ302内だけの3Dパーティクルシステム312の例示的なレンダリングが示されている。この図からわかるように境界ジオメトリ302は、実施しなければならないレンダリング量を低減することにより3Dパーティクルシミュレーションを最適化するための効率的な手法である。
【0033】
さらにプロセッサ108は、受け取った天候データの降水情報に依存するフィーチャを有する3Dパーティクルシステムをレンダリングするように構成されている。1つの実施形態によれば、プロセッサ108は、3Dパーティクルシステムのパーティクルの(i)形状、(ii)色及び(iii)不透明度のうちの少なくとも1つを、降水情報により表される降水タイプに依存して様々にレンダリングするように構成されている。たとえば、カメラポジション周囲の地理的領域において降雪中であることを降水情報が表しているならば、3Dパーティクルシステムのパーティクルを不透明な白色の雪片形状としてレンダリングするように、プロセッサ108を構成することができる。同様に、カメラポジション周囲の地理的領域において降雨中であることを降水情報が表しているならば、3Dパーティクルシステムのパーティクルを半透明な青色の雨滴形状としてレンダリングするように、プロセッサ108を構成することができる。
【0034】
1つの実施形態によれば、プロセッサ108は、(i)3Dパーティクルシステムのパーティクルサイズ及び(ii)3Dパーティクルシステムのパーティクル密度のうちの少なくとも一方を、降水情報により表される降水タイプ及び/又は降水強度に依存して様々にレンダリングするように構成されている。たとえば、カメラポジション周囲の地理的領域において雹が降っていることを降水情報が表している場合には、カメラポジション周囲の地理的領域においてみぞれが降っていることを降水情報が表している場合と比べて、相対的に大きいパーティクルサイズで3Dパーティクルシステムのパーティクルをレンダリングするように、プロセッサ108を構成することができる。同様に、降水強度が強いことを降水情報が表している場合には、降水強度が弱いことを降水情報が表している場合と比べて、3Dパーティクルシステムにおいて、より多くのパーティクルをレンダリングするように、プロセッサ108を構成することができる。
【0035】
1つの実施形態によれば、プロセッサ108は、風情報によって表される風速及び風向のうちの少なくとも一方並びに3D仮想環境の重力方向に基づき、3Dパーティクルシステムのパーティクルの動きをレンダリングするように構成されている。一部の実施形態によれば、パーティクルに及ぼされる風の影響を、降水情報により表される降水のタイプに依存させることができる(たとえば雪片は雨滴よりも風によって、より多くの影響を受ける)。
【0036】
図5には、カメラポジション又は視方向が変更されたときに3Dパーティクルシステムを更新するための、方法200の続きとなる方法300が示されている。方法300は、カメラポジション又は視方向が変更されたときに、仮想環境に降水又は他の同様の天候エフェクトを描画する3Dパーティクルシステムを効率的に更新するために、プロセッサ108が特定のルールセットを実行できるようにすることによって、車載情報システム104の機能を改善する。
【0037】
方法300は、3D仮想環境における第2のカメラポジション及び3D仮想環境における第2の視方向を受け取るステップ(ブロック250)によって始まる。詳細には、本明細書で詳述する実施形態に関しては、プロセッサ108は、3D仮想環境の仮想カメラの更新された現在のカメラポジション及び更新された現在の視方向を受け取るように構成されている。一部の実施形態によれば、プロセッサ108はさらに、3D仮想環境の仮想カメラの更新された現在の視界及び/又は更新された現在の視角を受け取るように構成されている。
【0038】
方法300は、第2の視方向で第2のカメラポジションから第1の距離にある第2のポジションへ境界ジオメトリを移動させるステップ(ブロック260)によって続けられる。詳細には、プロセッサ108は、更新された現在の視方向で更新された現在のカメラポジションから予め定められた距離(たとえば距離L)にある更新されたポジションへ、境界ジオメトリのポジションを移動及び/又は再定義するように構成されている。
図6には、元の境界ジオメトリ302の例示的な移動及び/又は再定義が示されている。詳細には、図示されているように仮想カメラ304が、同様の視方向308’を有する新たなポジションへ移動され、新たなポジションのところで304’として表されている。境界ジオメトリ302は、新たなポジション306’へ移動及び/又は再定義され、新たなポジション306’のところで302’として表されている。この図からわかるように境界ジオメトリ302は、その中でレンダリングされる3Dパーティクルシステムが常に可視状態となるように、実質的に仮想カメラ304の前方に置かれる。
【0039】
図5を参照すると、方法300は、3Dパーティクルシステムのパーティクルが移動された境界ジオメトリ内だけでレンダリングされるように、降水を描画する3Dパーティクルシステムのレンダリングを更新するステップ(ブロック270)によって続けられる。詳細には、プロセッサ108は、3Dパーティクルシステムのパーティクルが移動された境界ジオメトリ内だけでレンダリングされるように、降水を描画する3Dパーティクルシステムのレンダリングを更新するように構成されている。少なくとも1つの実施形態によれば、プロセッサ108は、古いポジションでは境界ジオメトリ内にあったが、境界ジオメトリが新たなポジションに移動された後では境界ジオメトリ外にある3Dパーティクルシステムのパーティクルを除去することによって、レンダリングを更新するように構成されている。さらにプロセッサ108は、境界ジオメトリが新たなポジションに移動された後では境界ジオメトリ内にあるが古いポジションでは境界ジオメトリ外であったポジションに、3Dパーティクルシステムの新たなパーティクルを所望の降水強度に基づく密度でランダムに作り出すことによって、レンダリングを更新するように構成されている。最後にプロセッサ108は、古いポジションでは境界ジオメトリ内にあり、境界ジオメトリが新たなポジションに移動された後でも境界ジオメトリ内に留まっている3Dパーティクルシステムのパーティクルのレンダリングを継続するように構成されている。一部の実施形態によれば、除去されたパーティクルをリサイクルして再利用することができる。たとえば、個々のパーティクルを生成し、次いで除去することは、一般に計算上コストがかかるので、予め規定された個数のパーティクルを生成し、それらのパーティクルが境界ジオメトリ302内にあれば、それらにライブとラベリングし、又は、それらのパーティクルが境界ジオメトリ302外にあれば、それらにデッドとラベリングするように、プロセッサ108を構成することができる。デッドとラベリングされたパーティクルを、新たなジオメトリ内の新たなパーティクルを「クリエート」するために使用することができる。
【0040】
図6には、境界ジオメトリ302が新たなポジション306’に移動された後の例示的な更新された3Dパーティクルシステム312’が示されている。詳細には、この図からわかるように、新たな境界ジオメトリ302’内にあるが古い境界ジオメトリ302内にはない領域Aに、新たなパーティクルがランダムに作り出される。同様に、古い境界ジオメトリ302内にあるが新たな境界ジオメトリ302’内にはない領域Bから、パーティクルが除去される。最後に、新たな境界ジオメトリ302’と古い境界ジオメトリ302の双方の中にある領域C内のパーティクルは、何も変化を受けず、引き続きレンダリングされる。
【0041】
図面及びこれまでの記載において本開示について説明し詳述してきたけれども、これは例示的なものとしてみなされるべきであり、限定的な性格のものとしてみなされるべきではない。自明のとおり、好ましい実施形態だけをこれまで呈示してきたのであって、本開示の着想内に入るあらゆる変更、修正及びさらなる応用は、保護されるべきものである。