(57)【要約】      （修正有）【課題】移動プラットフォームによって横断される陸上の物体の地形のリアルタイム等角ビューをレンダリングするための方法を提供する。【解決手段】移動プラットフォームの機載コンピュータシステム（ＯＣＳ）に接続可能な外付け取外し可能な大容量データ記憶装置（ＥＲＭＤＳＤ）に、陸上の物体の地形のデジタル地形高度データ（ＤＴＥＤ）タイルを格納するステップを含む。リアルタイムレンダリング支援アプリケーション（ＲＴＲＡＡ）を実行して、ＤＴＥＤタイルを、陸上の物体の領域（ＡＴＢＴ）を表わすＤＥＴＤチャンクへと動的に再パッケージ化する。ＡＴＢＴを表わすルートダイヤモンドのベースメッシュを生成し、テセレーションして複数のリーフダイヤモンドを生成するステップを含む。リーフダイヤモンドをレンダリングするためだけにグラフィックスカードを利用して、ＡＴＢＴのリアルタイム等角ビューを生成するステップを含む。【選択図】図１
2007052775.tif 000002
【特許請求の範囲】
【請求項１】
移動プラットフォームによって横断される陸上の物体の地形のリアルタイム等角ビューをレンダリングするための方法であって、
移動プラットフォームによって横断されるべき陸上の物体の領域（ＡＴＢＴ）を決定するステップと、
独立した別個のグラフィックスカードに通信可能に接続された処理カードを用いて、前記ＡＴＢＴの地形を表わすデジタル地形高度データ（ＤＴＥＤ）をテセレーションするステップとを含み、前記処理カードおよび前記グラフィックスカードは前記移動プラットフォームの機載コンピュータシステム（ＯＣＳ）の組み込みコンポーネントであり、前記方法はさらに、
前記グラフィックスカードを用いて前記テセレーションされたＤＴＥＤをレンダリングして、前記移動プラットフォームが前記ＡＴＢＴを横断するに従って前記ＡＴＢＴの地形の等角ビューを提供するステップを含む、方法。
【請求項２】
前記ＯＣＳに接続可能であり外付け取外し可能な大容量データ記憶装置（ＥＲＭＤＳＤ）に前記陸上の物体の地形の少なくとも一部のＤＴＥＤを格納するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ＤＴＥＤをテセレーションするステップは、ベースメッシュルーチンを実行して、グラフィックカードとは独立した別個の第１の電子記憶装置に前記ＡＴＢＴを表わすＤＴＥＤをローディングするステップを含む、請求項２に記載の方法。
【請求項４】
前記ＤＴＥＤをテセレーションするステップは、ベースメッシュルーチンを実行して、前記第１の電子記憶装置にローディングされた前記ＤＴＥＤをテセレーションし、前記テセレーションされたデータを前記グラフィックスカードに含まれる第２の電子記憶装置にローディングするステップを含む、請求項３に記載の方法。
【請求項５】
移動プラットフォームによって横断される陸上の物体の地形のリアルタイム等角ビューをレンダリングするためのシステムであって、
組み込み移動プラットフォームコンポーネントを含む機載コンピュータシステム（ＯＣＳ）を含み、前記組み込み移動プラットフォームコンポーネントは、少なくとも１つの処理カードと、少なくともランダムアクセスメモリ（ＲＡＭ）装置と、少なくとも１つのグラフィックスカードとを含み、前記システムはさらに、
前記ＯＣＳに接続可能であって、陸上の物体の地形の少なくとも一部に対するデジタル地形高度データ（ＤＴＥＤ）タイルを格納するよう適合された外付け取外し可能な大容量データ記憶装置（ＥＲＭＤＳＤ）を含み、
前記処理カードは、前記処理カードに格納されたリアルタイムレンダリング支援アプリケーション（ＲＴＲＡＡ）を実行するよう適合されたプロセッサを含み、前記ＲＴＲＡＡは実行されて、
前記ＤＴＥＤタイルを、移動プラットフォームによって横断されるべき陸上の物体の領域（ＡＴＢＴ）を表わすＤＥＴＤチャンクへと動的に再パッケージ化し、
前記ＤＴＥＤチャンクを、前記処理カードの電子記憶装置にローディングし、
前記ＡＴＢＴを表わすルートダイヤモンドのベースメッシュを生成し、かつ、
前記ルートダイヤモンドをテセレーションして複数のリーフダイヤモンドを生成し、
前記ルートダイヤモンドは、前記ＤＴＥＤチャンクから導出され、前記ベースメッシュは前記ＲＡＭ装置に格納され、
前記グラフィックスカードは、前記グラフィックスカードに含まれるレンダリングアプリケーションを実行して前記リーフダイヤモンドをレンダリングして、前記ＡＴＢＴのリアルタイム等角ビューを生成するよう適合されたプロセッサを含む、システム。
【請求項６】
前記処理カードのプロセッサは、前記ＲＴＲＡＡのＤＴＥＤサブルーチンを実行して、要求されたＤＴＥＤタイルに対するポインタを前記ＲＴＲＡＡのチャンクのサブルーチンに返すことにより、必要なＤＴＥＤタイルを前記ＥＲＭＤＳＤからローディングするようさらに適合される、請求項５に記載のシステム。
【請求項７】
前記処理カードのプロセッサは、前記ＲＴＲＡＡのチャンクのサブルーチンを実行して、前記ＤＴＥＤタイルを、前記グラフィックスカードのレンダリングアプリケーションによって解釈可能な前記ＤＴＥＤチャンクへと動的に再パッケージ化するようさらに適合される、請求項５に記載のシステム。
【請求項８】
前記処理カードのプロセッサは、前記ＲＴＲＡＡのベースメッシュサブルーチンを実行して、各ＤＴＥＤチャンクをルートダイヤモンドに重ねるようさらに適合される、請求項５に記載のシステム。
【請求項９】
前記処理カードのプロセッサは、前記ＲＴＲＡＡのベースメッシュサブルーチンを実行して、各ルートダイヤモンドに対する境界球および誤り値を計算するようさらに適合される、請求項５に記載のシステム。
【請求項１０】
前記処理カードのプロセッサは、前記ベースメッシュサブルーチンを実行して、各ルートダイヤモンドに対するそれぞれの境界球および誤り値に基づき、前記ＲＡＭ装置内の分割キューおよび統合キューのうちの１つに各ダイヤモンドを入れるようさらに適合される、請求項９に記載のシステム。
【請求項１１】
前記処理カードのプロセッサは、前記ＲＴＲＡＡのベースメッシュサブルーチンを実行して、各リーフダイヤモンドに対する頂点を計算し、そこから処理カードの電子記憶装置に格納される頂点アレイを生成するようさらに適合される、請求項５に記載のシステム。
【請求項１２】
前記処理カードのプロセッサは、前記処理カードの電子記憶装置から前記グラフィックスカードの電子記憶装置に前記頂点アレイをセグメントで転送するようさらに適合される、請求項１１に記載のシステム。
【請求項１３】
前記グラフィックカードのプロセッサは、前記レンダリングアプリケーションを実行して、前記グラフィックスカードの電子記憶装置に格納される前記頂点アレイをレンダリングして、前記ＡＴＢＴのリアルタイム等角ビューを生成するようさらに適合される、請求項１２に記載のシステム。
【請求項１４】
移動プラットフォームによって横断される陸上の物体の地形のリアルタイム等角ビューをレンダリングするための方法であって、
移動プラットフォームの機載コンピュータシステム（ＯＣＳ）に接続可能であり外付け取外し可能な大容量データ記憶装置（ＥＲＭＤＳＤ）に、陸上の物体の地形の少なくとも一部に対するデジタル地形高度データ（ＤＴＥＤ）タイルを格納するステップを含み、前記ＯＣＳは、少なくとも１つの処理カードと、少なくとも１つのランダムアクセスメモリ（ＲＡＭ）装置と、少なくとも１つのグラフィックスカードとを含む組み込み移動プラットフォームコンポーネントを含み、前記方法はさらに、
前記処理カードに格納されるリアルタイムレンダリング支援アプリケーション（ＲＴＲＡＡ）を実行して、前記ＤＴＥＤタイルを、前記移動プラットフォームによって横断されるべき前記陸上の物体の領域（ＡＴＢＴ）を表わすＤＥＴＤチャンクへと動的に再パッケージ化し、前記ＤＴＥＤチャンクを、前記処理カードの電子記憶装置にローディングするステップと、
前記ＲＴＲＡＡを実行して、前記ＡＴＢＴを表わすルートダイヤモンドのベースメッシュを生成し、前記ルートダイヤモンドをテセレーションして複数のリーフダイヤモンドを生成するステップとを含み、前記ルートダイヤモンドは前記ＤＴＥＤチャンクから導出され、前記ベースメッシュは前記ＲＡＭ装置に格納され、前記方法はさらに、
前記グラフィックスカードに含まれるレンダリングアプリケーションを実行して、前記リーフダイヤモンドをレンダリングして、前記ＡＴＢＴのリアルタイム等角ビューを生成するステップを含む、方法。
【請求項１５】
前記ＲＴＲＡＡを実行して前記ＤＴＥＤタイルを動的に再パッケージ化するステップは、前記ＲＴＲＡＡのＤＴＥＤサブルーチンを実行して、要求されたＤＴＥＤタイルに対するポインタを前記ＲＴＲＡＡのチャンクのサブルーチンに返すことにより、必要なＤＴＥＤタイルを前記ＥＲＭＤＳＤからローディングするステップを含む、請求項１４に記載の方法。
【請求項１６】
前記ＲＴＲＡＡを実行して前記ＤＴＥＤタイルを動的に再パッケージ化するステップは、前記ＲＴＲＡＡのチャンクのサブルーチンを実行して、前記ＤＴＥＤタイルを、前記グラフィックスカードのレンダリングアプリケーションによって解釈可能な前記ＤＴＥＤチャンクへと動的に再パッケージ化するステップをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記ＲＴＲＡＡを実行してルートダイヤモンドのベースメッシュを生成するステップは、前記ＲＴＲＡＡのベースメッシュサブルーチンを実行して、各ＤＴＥＤチャンクをルートダイヤモンドに重ねるステップを含む、請求項１４に記載の方法。
【請求項１８】
前記ＲＴＲＡＡを実行してルートダイヤモンドをテセレーションするステップは、前記ＲＴＲＡＡのベースメッシュサブルーチンを実行して、各ルートダイヤモンドに対する境界球および誤り値を計算するステップを含む、請求項１４に記載の方法。
【請求項１９】
前記ＲＴＲＡＡを実行してルートダイヤモンドをテセレーションするステップは、前記ベースメッシュサブルーチンを実行して、各ルートダイヤモンドに対するそれぞれの境界球および誤り値に基づき、前記ＲＡＭ装置内の分割キューおよび統合キューのうちの１つに各ダイヤモンドを入れるステップをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記ＲＴＲＡＡを実行してルートダイヤモンドをテセレーションするステップは、前記ＲＴＲＡＡのベースメッシュサブルーチンを実行して、各リーフダイヤモンドに対する頂点を計算し、そこから処理カードの電子記憶装置に格納される頂点アレイを生成するステップを含む、請求項１４に記載の方法。
【請求項２１】
前記ＲＴＲＡＡを実行してルートダイヤモンドをテセレーションするステップは、前記処理カードの電子記憶装置から前記グラフィックスカードの電子記憶装置に前記頂点アレイをセグメントで転送するステップをさらに含む、請求項２０に記載の方法。
【請求項２２】
前記レンダリングアプリケーションを実行してリーフダイヤモンドをレンダリングするステップは、前記レンダリングアプリケーションを実行して、前記グラフィックスカードの電子記憶装置に格納される前記頂点アレイをレンダリングして、前記ＡＴＢＴのリアルタイム等角ビューを生成するステップを含む、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明における政府の権利
この発明は、米国空軍による契約番号F33615-00-C-60601に基づき政府の支援の下になされた。政府は、この発明に関して一定の権利を有する。
【０００２】
発明の分野
この発明は一般的に、移動プラットフォーム誘導システムに関する。より特定的には、この発明はパイロットディスプレイのための３次元（３Ｄ）地形レンダリングに関する。
【背景技術】
【０００３】
発明の背景
ヘルメット搭載ディスプレイのような状況把握ディスプレイは、急激に、いくつかの既存のならびに将来の移動プラットフォームおよびプログラムの必要要素となってきている。デジタルの地形データの等角のビューは、ほぼどのような状況把握アプリケーションにおいても顕著な増加を示す。今日、いくつかの３Ｄ地形レンダリング製品が利用可能であるが、それらは飛行に適したアプリケーションについては利用可能ではない高性能のレンダリングハードウェアを必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
３Ｄ地形ディスプレイの提供は、レンダリングアルゴリズムだけではなく、記憶媒体とレンダリングプロセッサメモリとの間の大量のデータの管理および移動を必要とする。任務上の要件は典型的には、取外し可能な記憶媒体を必要とさせ、飛行に適したハードウェアは典型的には、これが半導体記憶装置であることを要求する。動作上の要件は、同様のまたは異なった地理的領域の多数同時ビューと、地形に、経路、障害物、脅威、飛行データなどを示す２Ｄおよび３Ｄのグラフィカルシンボルを重ねることとを必要とさせる。
【０００５】
しかしながら、既存の低性能組み込みハードウェアプラットフォーム、すなわちほとんどの移動プラットフォームに現在搭載されている古い技術のハードウェアは、そのような３Ｄ地形表示を提供することができない。一般的に、高速移動するヘルメット搭載ディスプレイにそのようなリアルタイム等角地形グラフィックスを提供するには、数ギガバイトのデータの管理および１秒当たり約３０〜６０回のディスプレイ更新が必要となる。公知の既存の組み込みハードウェアは、高速移動するヘルメット搭載ディスプレイのためのリアルタイム３Ｄ地形レンダリングを提供するのに必要な速度で、そのような大量のデータを処理することができない。
【課題を解決するための手段】
【０００６】
発明の簡単な要約
この発明のさまざまな実施例において、移動プラットフォームによって横断される陸上の物体の地形のリアルタイム等角ビューをレンダリングするための方法が提供される。方法は、外付け取外し可能な大容量データ記憶装置（external removable mass data storage device, ＥＲＭＤＳＤ）に、陸上の物体の地形の少なくとも一部に対するデジタル地形高度データ（digital terrain elevation data, ＤＴＥＤ）タイルを格納するステップを含む。ＥＲＭＤＳＤは、次いで移動プラットフォームの機載コンピュータシステム（onboard computer system, ＯＣＳ）に接続される。ＯＣＳは、少なくとも１つの処理カードと、少なくとも１つのランダムアクセスメモリ（random access memory, ＲＡＭ）装置
と、少なくとも１つのグラフィックスカードとを含む組み込み移動プラットフォームコンポーネントを含む。方法はさらに、処理カードに格納されるリアルタイムレンダリング支援アプリケーション（real-time rendering assist application, ＲＴＲＡＡ）を実行して、ＤＴＥＤタイルを、移動プラットフォームによって横断されるべき陸上の物体の領域（area of the terrestrial body to be traversed, ＡＴＢＴ）を表わすＤＥＴＤチャンクへと動的に再パッケージ化するステップを含む。ＲＴＲＡＡはさらに、ＤＴＥＤチャンクを、処理カードの電子記憶装置にローディングする。方法はさらに、ＲＴＲＡＡを実行して、ＡＴＢＴを表わすルートダイヤモンドのベースメッシュを生成するステップを含み、ベースメッシュはＲＡＭ装置に格納される。ＲＴＲＡＡの実行は、ルートダイヤモンドをテセレーションしてＤＴＥＤチャンクから導出される複数のリーフダイヤモンドを生成する。方法はさらに、グラフィックスカードに含まれるレンダリングアプリケーションを実行して、リーフダイヤモンドをレンダリングして、ＡＴＢＴのリアルタイム等角ビューを生成するステップを含む。
【発明を実施するための最良の形態】
【０００７】
この発明の特徴、機能および利点は、この発明のさまざまな実施例において独立して達成可能であり、または、さらに他の実施例と組合わせることが可能である。
【０００８】
この発明は、詳細な説明および添付の図面により、さらに完全に理解されるであろう。
図面の複数の図を通して、対応する参照番号は対応する部分を示す。
【０００９】
発明の詳細な説明
以下の、好ましい実施例の説明は、単に説明的な性質のものであって、発明、その用途または用法の限定は全く意図されない。さらに、以下に説明する好ましい実施例がもたらす利点は例示的な性質のものであって、すべての好ましい実施例が同じ利点または同程度の利点をもたらすわけではない。
【００１０】
図１を参照して、この発明のさまざまな実施例に従って、パイロットディスプレイに等角地形ビューをレンダリングするための、リアルタイムレンダリング支援システム１０が提供される。一般的に、等角ビューは、パイロットがコックピットの窓を通して実際に見るものの上に、移動プラットフォームが横断している実際の地形を重ねたものを提供する。パイロットがディスプレイに見るものと、パイロットがコックピットの窓を通して見るものとの間には、一対一の対応がある。より特定的には、リアルタイムレンダリング支援システム１０は、地形が現実の状況に対し等角である態様で３Ｄ地形の斜視図を提供し、斜視図とは、物体をリアルに見せるように適切な態様で物体がスケーリングされていることを意味する。したがって、もし実際の地形のパイロットのビューが、たとえば雲、霧または暗闇などによって損なわれれば、等角地形ビューが、パイロットが見ることができない実際の地形のグラフィカルレンダリングを表示する。
【００１１】
リアルタイムレンダリング支援システム１０は、移動プラットフォーム１８の既存の機載コンピュータシステム（ＯＣＳ）１４を含む。移動プラットフォーム１８は航空機として図示されているが、この発明は航空機に限らず、航空機、船舶、バス、列車、および自動車などのすべての移動プラットフォームに適用可能である。ＯＣＳ１４は、少なくとも１つのランダムアクセスメモリ（ＲＡＭ）装置２２および少なくとも１つの処理カード２６を含み、処理カード２６はデータバス３２を介して少なくとも１つのグラフィックスカード３０に通信可能にリンクされる。処理カード２６は、少なくとも１つのプロセッサ３４と、少なくとも１つの電子記憶装置（external storage device, ＥＳＤ）３６、たとえば第２のＲＡＭ装置、とを含む。ＯＣＳ１４およびＯＣＳ１４のすべてのコンポーネント、たとえばＲＡＭ、処理カードおよびグラフィックカード２２、２６、および３０は、標準で、組み込みの、すなわち今日の移動プラットフォームのほとんどに典型的に搭載さ
れる古い技術のコンポーネントである。特に、さまざまな実施例において、ＯＣＳ１４は、既存の、移動プラットフォーム１８の搭載された機載コンピュータシステムであって、以下に説明するこの発明の残りのコンポーネントは、既存の搭載されたＯＣＳ１４に後付けされて、この発明の方法およびシステムを提供する。
【００１２】
リアルタイムレンダリング支援システム１０はさらに外付け取外しな可能大容量データ記憶装置（ＥＲＭＤＳＤ）３８を含み、ＥＲＭＤＳＤ３８は処理カード２６との通信リンクを確立するために、ＯＣＳ１４に取外し可能に接続されるように適合される。ＥＲＭＤＳＤ３８は、データを電子的に記憶するためのどのような好適なコンピュータ読出可能な、取外し可能な、大容量記憶媒体であってもよく、たとえばＰＣＭＣＩＡカードのような半導体大容量記憶装置である。プロセッサ３４は、処理カード３２のすべての機能を実行するよう適合される。たとえば、プロセッサ３４は、ＲＡＭ３２およびＥＳＤ３６にアクセスし、処理カードＥＳＤ３６に記憶されるリアルタイムレンダリング支援アプリケーション（ＲＴＲＡＡ）４２を実行するよう適合される。さまざまな実施例において、プロセッサ３４はＰＣＩバス（図示せず）を介してＲＡＭ装置２２にアクセスし、複数のウィンドウ、たとえば一度に１つずつ使用でき、スライドしない２５６ＭＢのウィンドウに分割される。さらに、グラフィックスカード３０は、たとえば第３のＲＡＭ装置である電子記憶装置４６とプロセッサ５０とを含み、プロセッサ５０は以下に説明するようにグラフィックスカードＥＳＤ４６に記憶されるテセレーションされたデータをレンダリングするよう適合される。
【００１３】
図２は、移動プラットフォーム１８によって横断される地形のリアルタイム等角ビューを、図１に示すリアルタイムレンダリング支援システム１０を利用して、移動プラットフォーム１８のパイロットに提供する方法を例示するフローチャート１００である。一般的に、リアルタイム等角ビューを提供するには、デジタル地形高度データ（ＤＴＥＤ）が記憶媒体からリアルタイムレンダリング支援システム１０にローディングされ、次いで少なくとも１つの非グラフィックス処理カードがＤＴＥＤデータをテセレーションし、テセレーションされたデータをグラフィックスカードに通信する。すなわち、ＤＴＥＤデータは「予めテセレーションされ」てからグラフィックスカードに送信されるので、グラフィックスカードはテセレーションを全く行なわずに、予めテセレーションされたデータを単にレンダリングする。
【００１４】
ＤＴＥＤは、地球のような、陸上の物体の数学的表現の領域を示すタイルの集合である。タイルは、予め定義されたディレクトリ構造内にファイルとして格納され、一般的に緯度および経度によりアクセスされる。各タイルは、緯線および経線の全度によって境界される１度平方領域を含み、その南西角で参照される。タイルは、不連続な数の格子点を含み、その値は対応の場所でのメートルでの高度である。行は西から東に高くなる経度に対応し、列は南から北に高くなる緯度に対応する。格子間隔は秒の意味で定義され、行における点の数は、経線が極で収束するので、緯度によって変動する。たとえば、レベル１ＤＴＥＤタイルは、３秒間隔の高度を含む（〜１００ｍ）。＋／−０〜５０度緯度帯内に位置するタイルは１２０１×１２０１ポストを含むが、＋／−５０〜７０度の間に位置するタイルは６０１×１２０１ポストしか含まない。
【００１５】
１０２に示すように、ＤＴＥＤは、たとえばデータＣＤ、ジップドライブ、サムドライブ、リモートサーバシステムからの有線または無線ダウンロードなどの記憶媒体から、大容量の外付けの記憶装置ＥＲＭＤＳＤ３８に転送され、ＥＲＭＤＳＤ３８はＯＳＣ１４に接続される。処理カードＥＳＤ４２に格納されるＲＴＲＡＡ４２は、処理カードプロセッサ３４によって実行されて、１０４に示すように、現在のビューフラスタムと、移動プラットフォーム位置、機首方位速度（heading velocity）または等角ビューがレンダリングされるヘルメット搭載ディスプレイに対するヘッドモーションのような関連のパラメータ
とに基づいてレンダリングされるべき領域の場所およびサイズを決定する。一般的に、レンダリングされるべき領域は、移動プラットフォーム１８によって横断されるべき、たとえば地球のような、陸上の物体の領域（ＡＴＢＴ）である。１０６に示すように、ＲＴＲＡＡ４２は、ＲＴＲＡＡ４２に含まれるベースメッシュサブルーチンを呼び出してレンダリングされるべき所望の領域を表わすデータを、緯度、経度および移動プラットフォームの高度に基づいて、処理カードＥＳＤ３６にローディングする。
【００１６】
１０８に示すように、ベースメッシュルーチンは、ＲＴＲＡＡ４２に含まれるチャンクのサブルーチンを呼び出して必要なＤＴＥＤタイルを要求する。しかしながら、ＤＴＥＤタイルは、グラフィックスカードが簡単には解釈または管理できないサイズのデータパケットである。したがって、チャンクのサブルーチンは所望のＤＴＥＤタイルを突き止めて、ＤＴＥＤタイルを、グラフィックスカードが簡単に解釈／管理可能である、レンダリングされるべき所望の領域を表わすＤＴＥＤチャンクへと動的に再パッケージ化または再フォーマット化する。所望のＤＴＥＤタイルを突き止め再パッケージ化するために、チャンクのサブルーチンはＲＴＲＡＡ４２に含まれるＤＴＥＤサブルーチンを呼び出して必要なＤＴＥＤタイルを要求する。ＤＴＥＤサブルーチンは、ＥＲＭＤＳＤ３８から必要なＤＴＥＤタイルをローディングして、要求されたタイルに対するポインタをチャンクのサブルーチンに返す。チャンクのサブルーチンは基礎となるＤＴＥＤタイルを、グラフィックスカードが簡単に解釈／管理可能である要求されたＤＴＥＤチャンクへと再パッケージ化／再フォーマット化する。
【００１７】
１１０に示すように、チャンクのサブルーチンは、ＤＴＥＤチャンク内のデータポイント／格子ごとの地心座標の頂点を計算し、ＤＴＥＤチャンクをベースメッシュサブルーチンにローディングする。特に、チャンクのサブルーチンは移動プラットフォーム１８の緯度、経度および高度データを用いてＤＴＥＤチャンク内の各データポイント／格子の南西角に対する地心座標の頂点を計算する。チャンクのサブルーチンは、この時点では地心座標頂点データからなっているＤＴＥＤチャンクにポインタを返すことにより、ＤＴＥＤチャンクをベースメッシュサブルーチンにローディングする。グラフィックスハードウェア内の描画の単位は、一般的に三角形である。しかしながら、処理の意味においては、作業は共通の底辺で接合された２つの直角二等辺三角形からなるひし形に基づいて行なわれる。この発明のさまざまな実施例に従うと、１１２に示すように、ベースメッシュサブルーチンは各ＤＴＥＤチャンクをルートダイヤモンドとして知られる１つのひし形に重ねる。すなわち、ベースメッシュルーチンは対応のルートダイヤモンドを活性化する。各ルートダイヤモンドは、データチャンクの４つの角に１つずつと、中心に１つとの、５つの頂点を有する。１１４に示すように、ベースメッシュサブルーチンは、ルートダイヤモンドをそれらの基礎となるデータに結合するベースメッシュを生成する。こうして、ベースメッシュはレンダリングすることが所望である陸上の物体の表面の領域を含む地形データを表わすルートダイヤモンドのマトリクスを含む。ＤＴＥＤのレンダリングされたビューの各々は、それ自体のベースメッシュを有するが、それは潜在的に異なったポイントでのＤＴＥＤの多数のビューを可能にする機構である。ベースメッシュサブルーチンは、ビュー可能な面積たとえばＡＴＢＴのサイズに応じて１つ以上のルートダイヤモンドをベースメッシュにローディングし得るが、１つだけがベースダイヤモンドと考えられる。ベースダイヤモンドは、ベースメッシュの現在の起点を設定するために用いられ、テセレーションの間の他のルートダイヤモンドに対する優先性を有する。
【００１８】
１１６に示すように、ベースメッシュサブルーチンは、次いでルートダイヤモンドごとに境界球および誤り値を計算し、ルートダイヤモンドをＲＡＭ装置２２内の分割キュー５４または統合キュー５８に入れ、ルートダイヤモンドに対するポインタをＲＴＲＡＡ４２に返す。境界球は、ダイヤモンド全体を包含する最小の球であり、ダイヤモンドがビューフラスタム内にあるか否かを判断するために用いられる。誤り値は、各ルートダイヤモン
ドの実際の高さ値と、それぞれのルートダイヤモンドの２つの角の値を用いて計算された各ルートダイヤモンドの補間高さ値との差を考慮する。誤り値はまた、各ダイヤモンドの幅をも考慮し、以下に説明するように、ダイヤモンドが分割または統合されるべきか否かを判断するために用いられる。分割キュー５４および統合キュー５８は、ダイヤモンドの分割および統合を容易にするために用いられる。
【００１９】
地球のような、陸上の物体の表面の一部を、三角形が隣接したメッシュとして表わすプロセスは、テセレーションと呼ばれる。１１８に示すように、ルートダイヤモンドから開始して、ベースメッシュサブルーチンは分割キュー５４および統合キュー５８に格納された各ダイヤモンドをテセレーションする。さまざまな実施例において、テセレーションプロセスの間に、ダイヤモンドは、４つの子ダイヤモンドに再帰的に分割されるので、各ダイヤモンドは２つの親と４つの子とを有する。各ダイヤモンドには相対的優先順位が与えられるが、該相対的優先順位は、それがビューにあるか否か、基礎となるデータに対するそのサイズ、およびダイヤモンド内における高度間の差などを考慮する。次いでダイヤモンドは分割キュー５４または統合キュー５８に入れられる。例示的な実施例においては、ベースメッシュサブルーチンはリアルタイム最適化メッシュ（real-time optimally adapting meshes, ＲＯＡＭ）アルゴリズムを用いて境界球および誤り値を計算し、ルートダイヤモンドを分割キュー５４または統合キュー５８に入れ、テセレーションプロセスを行なう。これに代えて、ベースメッシュサブルーチンは、ダイヤモンドをテセレーションすなわち分割するのに適した他の何らかのアルゴリズムを、この発明の範囲から外れることなく採用することができる。
【００２０】
ダイヤモンドは、それらが基礎となるデータと同じ粒度となるまで分割される。すなわち、ダイヤモンドは、リーフダイヤモンドと呼ばれる最小のダイヤモンドが、各角に１つずつの格子ポイントと中心に１つだけの格子ポイントとを有するまで分割される。リーフダイヤモンド、すなわち分割されないダイヤモンドだけが、グラフィックスカード３０によって実際にレンダリングされる。ダイヤモンドはまた、たとえば平坦な地形の広がりを表わすために、またはそれらがもはやビュー内にないために、再び併せて統合され得る。
【００２１】
一般に、テセレーションプロセスはどのダイヤモンドが分割されるべきか、およびどのダイヤモンドが小さすぎるかまたは詳細すぎるので併せて統合されるべきかを決定する。もしダイヤモンドが小さすぎてダイヤモンドがスクリーン上で視認できなければ、ＲＴＲＡＡ４２は小さなダイヤモンドを統合して、より大きなダイヤモンドを作る。上述のように、誤り値は、テセレーションプロセスの間に用いられて、レンダリングプロセスの間にさらなる細部をもたらすようにダイヤモンドが分割されるべきかを決定する。たとえば、もし航空機が山間地形上を飛行していれば、ダイヤモンド内には多くの高度差が存在する。したがって、ダイヤモンドは、ダイヤモンドがグラフィックスカード３０によってレンダリングされた場合にそれ以上の細部をもたらすように、より小さなダイヤモンドに分割される。ダイヤモンドは、結果として生じるダイヤモンドが各角に１つずつの格子ポイントと中心に１つだけの格子ポイントとを有するまで、すなわちリーフダイヤモンドまたはリーフノードとなるまで、分割される。
【００２２】
より特定的には、テセレーションの間に、ベースメッシュサブルーチンはどのダイヤモンドがカリングされるべきかを最初に判断する。各ダイヤモンドは、その祖先のうちの１つ、特定的にはそのクワッドツリー親の状態を受け継ぐ。もし親が完全にフラスタムの中または外にあれば、そのダイヤモンドおよびそのすべての子が同じ状態を有すると考えられ、さらに他の処理は必要ではない。しかしながら、もし親が部分的にフラスタム内にあれば、ダイヤモンドの境界球が評価されなければならない。その状態がフレーム間でどのように変化したかに応じて、ダイヤモンドは分割キュー５４または統合キュー５８に入れられ得る。カリングフラグが更新されダイヤモンドが適切に分割キュー５４または統合キ
ュー５８に入れられると、ベースメッシュサブルーチンはキューに入れられたダイヤモンドの各々の優先順位値を更新する。各ダイヤモンドの優先順位は、その誤り値と、視る者、すなわち移動プラットフォームのオペレータの視点からのその距離に基づく。キューに入れられたダイヤモンドの優先順位を再決定した後で、分割および統合が、最も優先順位の高いダイヤモンドから実際に行なわれる。このプロセスは、最大のリーフダイヤモンドカウントに達するまで、または所望の微細度に達するまで、またはある数のダイヤモンドが処理されるまで、ベースメッシュを追加または再構成するよう継続される。
【００２３】
ベースメッシュは次いで、そのすべてのリーフ、すなわち子を有さないダイヤモンドを見出すまで、横断される。１２０に示すように、見出されると、ベースメッシュサブルーチンは、ベースメッシュの起点に対する各リーフダイヤモンドの三角形の頂点を計算し、頂点を処理カードＥＳＤ３６の頂点アレイに格納する。この処理が完了すると、頂点アレイはグラフィックスカード３０によりレンダリングされる準備ができている。さまざまな実施例において、頂点アレイは処理カードＥＳＤ３６からグラフィックスカードＥＳＤのメモリにセグメントまたは断片（piece）で転送される。すなわち、ＲＴＲＡＡ４２は頂点アレイをいくつかの小さな断片、たとえば２５６ＫＢに分割して、頂点アレイを送り、グラフィックスカードＥＳＤ４６の頂点アレイを再アセンブルする。断片で頂点アレイをグラフィックスカードＥＳＤ４６に転送するプロセスは、データバス３２の帯域幅をより効率的に用い、データバス３２のストールを避ける。ＲＴＲＡＡ４２が頂点アレイをグラフィックスカードＥＳＤ４６に転送する間、より高い優先順位のデータ転送が、頂点アレイ転送に割り込むことを許可される。換言すれば、大きな頂点アレイの転送は、より高いレートで変化し得るデータの通常の転送を妨げない。
【００２４】
１２２に示すように、頂点アレイがグラフィックスカードＥＳＤ４６に転送されると、グラフィックスカード３０はレンダリングアプリケーションを実行して、頂点アレイをレンダリングする。たとえば、グラフィックスカードプロセッサ５０は、標準のOpenGL三角形描画技術を用いて頂点アレイをレンダリングし得る。したがって、すべてのテセレーションは処理カード２６によって行なわれる。すなわち、処理カード２６はＤＴＥＤを「予めテセレーションし」、効率的なことに、グラフィックスカードプロセッサ５０によって唯一行なわれるべき処理は、頂点アレイのレンダリングなので、グラフィックスカード３０がビューされるべき所望の領域をできるだけ速くレンダリングすることが可能になる。
【００２５】
こうして、ＲＴＲＡＡは、高速移動ディスプレイ、たとえばヘルメット搭載ディスプレイに要求される性能を備えた、既存の低性能ハードウェア、すなわち移動プラットフォーム１８に現在インストールされているハードウェアでの３Ｄ地形レンダリングおよびデータベース管理を提供する。特に、ＲＴＲＡＡは、必要に応じてデータを記憶媒体からプロセッサに効率的に移動するデータ管理ルーチンを提供し；多数の視点に対する高度に効率的なレベルの細部制御をもたらすデータ処理ルーチンを提供し；かつ低性能ハードウェアプラットフォームにおけるリアルタイム能力を可能にするレンダリングルーチンを提供する。さまざまな実施例において、ＲＴＲＡＡは、高速移動ディスプレイに対するリアルタイム３Ｄ地形レンダリングを生成するための数ギガバイトのデータの処理が可能である効率的なデータベース管理をもたらす。
【００２６】
より特定的には、ＲＴＲＡＡは約６０Ｈｚのディスプレイ更新レートの維持が可能であるデータベース管理およびリアルタイム３Ｄ地形レンダリングを提供する。これは、すべての処理が、概してフレーム毎約１６．６６６７ｍｓ以内に完了されることを意味する。大量のデータおよびそのようなディスプレイのために行なわれるべき複雑な処理のために、リアルタイムレンダリング支援システム１０は、データの処理をそのレンダリングから切り離す。
【００２７】
当業者には、この発明の広範な教示がさまざまな態様で実現され得ることが今や上記説明から認識されるであろう。したがって、この発明をその特定の例に関連付けて説明してきたが、当業者には図面、明細書および添付の特許請求の範囲を検討することにより、他の変形例が明らかであろうから、この発明の真の範囲はそれに限定されるものではない。
【図面の簡単な説明】
【００２８】
【図１】この発明のさまざまな実施例に従ったリアルタイムレンダリング支援システムのブロック図である。
【図２】図１に示すリアルタイムレンダリング支援システムを利用した、移動プラットフォームによって横断される地形の、リアルタイム等角ビューをレンダリングするためのプロセスを例示するフローチャートである。
【符号の説明】
【００２９】
１０  リアルタイムレンダリング支援システム、１８  移動プラットフォーム、２６  処理カード、３８  外付け取外し可能な大容量データ記憶装置。
【図１】
2007052775.tif 000003
【図２】
2007052775.tif 000004
【外国語明細書】
2007052775000001.pdf