(57)【特許請求の範囲】
【請求項１】
データ処理システムにおけるデータの再構成方法であって、
データ処理システムが、複数のバーテックスを有する複数のエッジおよびコエッジを含む、グラフィックモデルのＢ−Ｒｅｐデータを受け取るステップと、
前記データ処理システムが、前記Ｂ−Ｒｅｐデータから、前記グラフィックモデルの複数のバーテックスの座標を含むバーテックステーブル、および、前記グラフィックモデルの各エッジを前記グラフィックモデルの複数のバーテックスの少なくとも１つと関連付けるエッジテーブルを構成するステップと、
前記データ処理システムが、前記構成されたエッジテーブルおよびバーテックステーブルを前記Ｂ−Ｒｅｐデータとともに保存するステップと、
を含み、
前記データ処理システムが、第１のエッジから対応する第１のコエッジへ、該第１のコエッジから該第１のコエッジを含むコエッジループ中の第２のコエッジへ、さらに、該第２のコエッジから対応する第２のエッジへとスキャンを行い、これにより、該第１のエッジと該第２のエッジとの間に共通するバーテックスを識別するステップを含む、
ことを特徴とする方法。
【請求項２】
前記受け取られたＢ−Ｒｅｐデータはエッジテーブル情報またはバーテックステーブル情報を含まない、請求項１記載の方法。
【請求項３】
前記受け取られたＢ−Ｒｅｐデータは、前記グラフィックモデルに関するエッジテーブル情報またはバーテックステーブル情報を含まない、データ処理システムの記録装置から受け取られる、請求項１記載の方法。
【請求項４】
前記バーテックステーブルおよび前記エッジテーブルを構成するステップは、前記グラフィックモデルの複数のバーテックスのそれぞれに結合されている前記複数のエッジをそれぞれ識別するステップを含む、請求項１記載の方法。
【請求項５】
前記バーテックステーブルおよび前記エッジテーブルを構成するステップにおいて、前記データ処理システムが各エッジをスキャンし、これにより、バーテックステーブルに保存されるべき該エッジに関するスタートバーテックスおよびエンドバーテックスを決定するステップを含む、請求項１記載の方法。
【請求項６】
各エッジは、少なくとも１つの対応するコエッジを有し、各コエッジはコエッジループに含まれている、請求項１記載の方法。
【請求項７】
プロセッサとアクセス可能メモリとを有するデータ処理システムであって、前記データ処理システムが、特に、
複数のバーテックスを有する複数のエッジおよびコエッジを含む、グラフィックモデルのＢ−Ｒｅｐデータを受け取るステップと、
前記Ｂ−Ｒｅｐデータから、前記グラフィックモデルの複数のバーテックスの座標を含むバーテックステーブル、および、前記グラフィックモデルの各エッジを前記グラフィックモデルの複数のバーテックスの少なくとも１つと関連付けるエッジテーブルを構成するステップと、
前記構成されたエッジテーブルおよびバーテックステーブルを前記Ｂ−Ｒｅｐデータとともに保存するステップと、
を実行するように構成されており、
第１のエッジから対応する第１のコエッジへ、該第１のコエッジから該第１のコエッジを含むコエッジループ中の第２のコエッジへ、さらに、該第２のコエッジから対応する第２のエッジへとスキャンを行い、これにより、該第１のエッジと該第２のエッジとの間に共通するバーテックスを識別するステップを実行するようにさらに構成されている、
ことを特徴とするデータ処理システム。
【請求項８】
前記受け取られたＢ−Ｒｅｐデータはエッジテーブル情報またはバーテックステーブル情報を含まない、請求項７記載のデータ処理システム。
【請求項９】
前記受け取られたＢ−Ｒｅｐデータは、前記グラフィックモデルに関するエッジテーブル情報またはバーテックステーブル情報を含まない、データ処理システムの記録装置から受け取られる、請求項７記載のデータ処理システム。
【請求項１０】
前記バーテックステーブルおよび前記エッジテーブルを構成するステップは、前記グラフィックモデルの複数のバーテックスのそれぞれに結合されている前記複数のエッジをそれぞれ識別するステップを含む、請求項７記載のデータ処理システム。
【請求項１１】
前記バーテックステーブルおよび前記エッジテーブルを構成するステップにおいて、各エッジをスキャンし、これにより、バーテックステーブルに保存されるべき該エッジに関するスタートバーテックスおよびエンドバーテックスを決定するステップを実行するように構成されている、請求項７記載のデータ処理システム。
【請求項１２】
各エッジは、少なくとも１つの対応するコエッジを有し、各コエッジはコエッジループに含まれている、請求項７記載のデータ処理システム。
【請求項１３】
コンピュータにより実行可能な命令がコードされたコンピュータ読み取り可能な記録媒体であって、前記命令は実行時にデータ処理システムに、
複数のバーテックスを有する複数のエッジおよびコエッジを含む、グラフィックモデルのＢ−Ｒｅｐデータを受け取るステップと、
前記Ｂ−Ｒｅｐデータから、前記グラフィックモデルの複数のバーテックスの座標を含むバーテックステーブル、および、前記グラフィックモデルの各エッジを前記グラフィックモデルの複数のバーテックスの少なくとも１つと関連付けるエッジテーブルを構成するステップと、
前記構成されたエッジテーブルおよびバーテックステーブルを前記Ｂ−Ｒｅｐデータとともに保存するステップと、
を実行させるものであり、
第１のエッジから対応する第１のコエッジへ、該第１のコエッジから該第１のコエッジを含むコエッジループ中の第２のコエッジへ、さらに該第２のコエッジから対応する第２のエッジへとスキャンを行い、これにより、該第１のエッジと該第２のエッジとの間に共通するバーテックスを識別するステップを前記データ処理システムに実行させる命令をさらに含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記受け取られたＢ−Ｒｅｐデータはエッジテーブル情報またはバーテックステーブル情報を含まない、請求項１３記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記受け取られたＢ−Ｒｅｐデータは、前記グラフィックモデルに関するエッジテーブル情報またはバーテックステーブル情報を含まない、データ処理システムの記録装置から受け取られる、請求項１３記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記バーテックステーブルおよび前記エッジテーブルを構成するステップは、前記グラフィックモデルの複数のバーテックスのそれぞれに結合されている前記複数のエッジをそれぞれ識別するステップを前記データ処理システムに実行させる命令を含む、請求項１３記載コンピュータ読み取り可能な記録媒体。
【請求項１７】
前記バーテックステーブルおよび前記エッジテーブルを構成するステップにおいて、各エッジをスキャンし、これにより、バーテックステーブルに保存されるべき該エッジに関するスタートバーテックスおよびエンドバーテックスを決定するステップを前記データ処理システムに実行させる命令を含む、請求項１３記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
各エッジは、少なくとも１つの対応するコエッジを有し、各コエッジはコエッジループに含まれている、請求項１３記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピュータ支援による設計、製造、エンジニアリング、モデリング及び視覚化のシステム（個別的および集合的に「ＣＡＤ」および「ＣＡＤシステム」）およびプロダクトライフサイクルマネジメント（「ＰＬＭ」）システムにおける使用のためのシステムおよび方法に関する。
【０００２】
多くの工業製品はＣＡＤシステムにおいてまず設計され、モデル化され、そして、ＰＬＭシステムが、様々な製品の設計、使用および廃棄を管理するために、メーカー、小売業者、消費者あるいは他のユーザにより用いられる。改善されたシステムが望まれている。
【０００３】
種々の開示の実施形態には、グラフィックモデルに関するＢ−Ｒｅｐデータを再構成するためのシステム、方法およびコンピュータプログラムが含まれる。１つの方法は、複数のエッジおよびコエッジを含むグラフィックモデルのＢ−Ｒｅｐデータを受け取ることを含む。該方法は、Ｂ−Ｒｅｐデータから、グラフィックモデルの複数のバーテックスの座標を含むバーテックステーブル、および、グラフィックモデルの各エッジをグラフィックモデルの複数のバーテックスの少なくとも１つと関連付けるエッジテーブルを構成することを含む。該方法は、構成されたエッジテーブルおよびバーテックステーブルをＢ−Ｒｅｐデータとともに保存することを含む。
【０００４】
上記は、当業者が以下の詳細な説明をより良く理解できるように本発明の特徴および技術的な利点をかなり大雑把に述べたものである。特許請求の範囲の対象を成す本発明の付加的な特徴及び利点を以下において説明する。当業者であれば、本発明の変更又は本発明と同一の目的を達成するための構造を設計するための基礎として、開示された着想及び特定の実施の形態を容易に使用することができるであろう。また、当業者であれば、そのような等価物はその最も広い形態においても、本発明の精神及び範囲から逸脱するものではないことが分かるであろう。
【０００５】
以下の詳細な説明の前に、本明細書にわたり使用される幾つかの用語又は語句の定義を明確にすることは有利であると思われる。「含む」及び「有する」という語、またそれらから派生した語は限定的でない包含を意味する。「又は」という語は包含的な語であり、すなわち「及び／又は」を意味する。「関連した」及び「それと関連した」ならびにそれらから派生した語は「含む」、「中に含まれる」、「相互に接続されている」、「有する」、「中に有する」、「〜に、又は〜と接続する」、「〜に、又は〜と結合する」、「〜と通信可能である」、「〜と協働する」、「交互配置する」、「近接して並置する」、「〜に近接している」、「〜に、又は〜と結び付けられている」、「持つ」、「〜の性質を有する」等を意味する。また「コントローラ」という語は、ハードウェア、ファームウェア、ソフトウェア、又はそれらのうちの少なくとも２つの組合せによって実施されていようと、少なくとも１つの動作を制御する任意のデバイス、システム又はその一部を意味する。任意の特定のコントローラに関連した機能は中央に集中していてもよいし、局所的であれ遠隔的であれ分散していても良いことを言及しておく。本願明細書全体にわたり幾つかの語及び語句の定義が示されるが、当業者であれば、そのような定義は、殆どではないにしろ、多くの場合、このように定義された語及び語句の以前の用法及び将来の用法にも当てはまることを理解するであろう。幾つかの語は多様な実施の形態を含んでいるが、添付の特許請求の範囲における記載はこれらの語を特定の実施の形態に明示的に限定している。
【０００６】
本明細書及び本発明の利点をより完璧に理解するために、以下では、添付の図面を参照しながら本発明を説明する。図面において、同一の参照番号は同一の対象を表している。
【図面の簡単な説明】
【０００７】
【図１】実現可能な一実施形態におけるデータ処理システムのブロック図を示す。
【図２】異なるＢ−Ｒｅｐトポロジ要素間のトポロジ関係を表すＢ−Ｒｅｐトポロジを示す。
【図３Ａ】開示の実施形態によるフェース結合情報圧縮を示す。
【図３Ｂ】開示の実施形態によるフェース結合情報圧縮を示す。
【図４】開示の実施形態による、エッジ結合情報表現の例のモデルと、対応するエッジテーブルおよびバーテックステーブルを示す。
【図５】開示の実施形態によるエッジ結合情報の例を示す。
【図６】開示の実施形態によるエッジテーブルおよびバーテックステーブルの再構成を示す。
【図７】開示の実施形態による処理フローチャートを示す。
【図８】開示の実施形態による処理フローチャートを示す。
【発明を実施するための形態】
【０００８】
下記において説明する図１から図８、また本明細書に開示されている原理を説明するために用いられる種々の実施の形態は単に説明を目的としたものに過ぎず、本発明の範囲を限定するものと解するべきではない。当業者であれば、本発明の原理は適切に構成されたあらゆる装置によって実現できることが分かるであろう。以下では、限定を意図したものではない実施例を参照しながら、本発明の多くの革新的な教示について説明する。
【０００９】
３Ｄ設計の協同的ビジュアル化は、拡大した企業体のＰＬＭ（プロダクトライフサイクルマネジメント）環境において重要な役割を果たすものであり、このような企業体においては、機能的に不均一であり物理的に分散している異なる組織間での３Ｄ製品情報の効率的な伝達が不可欠である。１枚の絵が千の言葉の価値がある（「百聞は一見にしかず」）といえる場合、３Ｄビジュアル情報の有用性は千枚の絵の価値があるといえる。３Ｄ情報は設計や製造などの伝統的なエンジニアリング目的で多く用いられてきたものの、その使用はトレーニング、メンテナンス、マーケッティングなどのプロダクトライフサイクルにおける非エンジニアリング活動に速やかに拡張されている。したがって、ＰＬＭ環境において３Ｄビジュアル情報が容易に使用可能であることは、拡大した企業体の多くの部分にとって大きな生産的価値をもたらす。
【００１０】
ＰＬＭ環境において、３Ｄビジュアルデータはたとえばデータ処理システムのサーバに保存され、サーバにＬＡＮまたはＷＡＮを介して接続されたクライアントデータ処理システムによってアクセスされる。クライアントは、世界中の様々な場所に配置可能であり、多くのクライアントのために、対応するサーバが異なる地域さらには異なる国にも遠隔に配置される。３Ｄビジュアルデータの記録サイズを低減することは、サーバからクライアントへの、特に帯域制限のあるネットワークを介したデータ伝送に必要とされる時間が短縮されるため、クライアント−サーバ構造におけるアクセス性を向上させる。したがって、有効な３Ｄビジュアルフォーマットは、ディスク上に軽量に記録されるべきであり、一方で、複雑なビジュアル表示およびジオメトリ分析のタスクをサポートするべきである。
【００１１】
境界表現（Boundary Representation、Ｂ−Ｒｅｐ）は、最新のＣＡＤパッケージにおける３Ｄジオメトリ表現のための産業界のデファクトスタンダードである。Ｂ−Ｒｅｐにより、自由形状のカーブおよびサーフェスの、通常はＮＵＲＢＳ（非一様有理Bスプライン）の形での表現が可能となり、３Ｄジオメトリ設計情報の正確な表現のために用いることができる。従来のＢ−Ｒｅｐにはビジュアル表現としての望ましくない巨大な記録上の制約があることが知られていた。
【００１２】
開示の実施形態には、ディスク上の軽量の保存を実現するための、Ｂ−Ｒｅｐに高度な圧縮を適用することによる、超軽量かつ正確な（Ultra Light and Precise、ＵＬＰ）３Ｄビジュアルフォーマットが含まれる。ＵＬＰはＮＵＲＢＳ（Non-Uniform Rational B-Spline、非一様有理Bスプライン）に基づくＢ−Ｒｅｐと同じ数学的基礎を共有するため、これが１つのＢ−Ｒｅｐサーフェスにおける連続性をサポートし、そのフォーマットが主流のソリッドモデリングカーネル（たとえば、シーメンスＰＬＭソフトウェア社のＰａｒａｓｏｌｉｄソフトウェア製品）により容易にサポート可能である、という利点がある。
【００１３】
図１は、一つの実施の形態を実施することができる、例えばＣＡＤシステムとしてのデータ処理システムのブロック回路図を示す。図示されているデータ処理システムはプロセッサ１０２を含んでおり、このプロセッサ１０２は２次キャッシュ／ブリッジ１０４に接続されている。２次キャッシュ／ブリッジ１０４はさらにローカルシステムバス１０６に接続されている。ローカルバスシステム１０６は、例えば、ＰＣＩ（peripheral component interconnect）アーキテクチャバスである。図示されている実施例におけるローカルバスシステムには、メインメモリ１０８及びグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０をディスプレイ１１１に接続することもできる。
【００１４】
他の周辺装置、例えばローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（例えばＷｉＦｉ）アダプタ１１２もローカルバスシステム１０６に接続することができる。拡張バスインタフェース１１４は、ローカルバスシステム１０６を入力／出力（Ｉ／Ｏ）バス１１６に接続させる。Ｉ／Ｏバス１１６にはキーボード／マウスアダプタ１１８、ディスクコントローラ１２０及びＩ／Ｏアダプタ１２２が接続されている。ディスクコントローラ１２０を記録装置１２６に接続することができ、この記録装置１２６は機械使用可能又は機械読み出し可能なあらゆる適切な記憶媒体で良く、不揮発性のハードコーディングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）又は電気的に消去及びプログラミング可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、磁気タイプの記録装置及びユーザ記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ及びコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）又はディジタル多目的ディスク（ＤＶＤ）及び他の公知の光学的、電気的又は磁気的な記録装置がこれに含まれるが、記憶媒体はこれらの例に限定されるものではない。
【００１５】
図示されている例におけるＩ／Ｏバス１１６にはオーディオアダプタ１２４も接続されており、このオーディオアダプタ１２４には音声を再生するためにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８は、例えばマウス、トラックボール、トラックポインタ等のポインティングデバイス（図示せず）のためのコネクションを提供する。
【００１６】
当業者には、図１に図示されているハードウェアを特定の実施の形態のために変更できることは明らかである。例えば、他の周辺装置、例えば光学ディスクドライブ等も付加的に使用することができるか、又は、図示されているハードウェアの代わりに使用することができる。図示されている実施例は説明を目的としたものに過ぎず、本発明に関する構造的な制限を暗示することを意図したものではない。
【００１７】
本発明の実施の形態によるデータ処理システムは、グラフィカルユーザインタフェースを使用するオペレーティングシステムを含んでいる。オペレーティングシステムは複数のディスプレイウィンドウをグラフィカルユーザインタフェースにおいて同時に表示することができ、各ディスプレイウィンドウは種々のアプリケーションへのインタフェース又は同一のアプリケーションの種々のインスタンスへのインタフェースを提供する。ユーザはポインティングデバイスを介してグラフィカルユーザインタフェースにおけるカーソルを操作することができる。カーソルの位置を変更することができる、及び／又は、カーソルの位置として所望のレスポンスを起動させるために行なわれたイベント、例えばマウスボタンのクリックが考えられる。
【００１８】
商用の種々のオペレーティングシステムの内の一つ、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）のバージョン（レドモンド（ワシントン州）に位置するＭｉｃｒｏｓｏｆｔ社の製品）を、適切に変更されている場合には使用することができる。オペレーティングシステムは、本明細書において説明する本発明に従い修正又は作成されている。
【００１９】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワーク１３０として、当業者には周知であるような、公共又は私用のあらゆるデータ処理システムネットワーク、又は、ネットワークの組み合わせが考えられ、例えばインターネットが含まれる。データ処理システム１００はネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステム１４０もまたデータ処理システム１００の一部ではないが、例えば、別個のデータ処理システム１００として実施することができる。
【００２０】
図２は種々のＢ−Ｒｅｐトポロジ要素間のトポロジ関係を表すＢ−Ｒｅｐトポロジを示す。ここでは、モデルトポロジ２０５とＣＡＤジオメトリ２１０との間の、リージョン、シェル、フェース、ループ、コエッジ、エッジおよびバーテックスのトポロジ情報が、本明細書中に開示される種々の実施形態に関連して示されている。ここに示されるように、フェーストポロジはサーフェスジオメトリによって表され、コエッジトポロジはＵＶカーブジオメトリ（ＵＶカーブネットワークはカーブの構成により表されるＢスプラインサーフェスを定義する）によって表され、エッジトポロジはＸＹＺカーブジオメトリによって表され、バーテックストポロジはポイントジオメトリによって表される。
【００２１】
Ｂ−Ｒｅｐにおいて、各エッジカーブは２つの表現を有する。そのモデル空間ジオメトリはＸＹＺカーブにより表され、一方で、そのパラメタ空間ジオメトリはその２つの関連する各サーフェスに関するＵＶカーブにより表される。ＵＶカーブは関連するコエッジのジオメトリ表現として考えることができ、一方、ＸＹＺカーブは関連するエッジのジオメトリ表現として考えることができる。
【００２２】
ＮＵＲＢＳサーフェスと関連する全てのＵＶカーブの集合は、ＮＵＲＢＳサーフェスのパラメタドメインにおける１つ以上の閉ループを形成する。さらに、これらのループはＮＵＲＢＳサーフェスジオメトリをトリミングする１つ以上のリージョンを形成する。モデル空間において、トリミングされたサーフェスジオメトリはＸＹＺカーブの集合により境界付けられる。トリミングされたサーフェスジオメトリはＢ−Ｒｅｐフェースのジオメトリ表現であると見なされる。
【００２３】
あるＵＬＰ技術によって、以下で引用される「Ｔｒｕｆｏｒｍ」の記事に記載のように、要素を適当に組織化することにより、非常に効率的にいくつかのトポロジ情報たとえばリージョン−シェル、シェル−フェース、フェース−ループ、ループ−コエッジの関係が圧縮される。
【００２４】
このようなアプローチにより、同じリージョンに属する全てのシェルはシェルアレイ中で連続しており、同じシェルに属する全てのフェースはフェースアレイ中で連続しており、同じフェースに属する全てのループはループアレイ中で連続しており、同じループに属する全てのコエッジはコエッジアレイ中で連続している。一般に、コエッジはフェースまたはワイヤによるエッジの使用を表す。同じフェースが１つのエッジの両側にある場合、該エッジはフェースによって２回使用され、該エッジは該フェースを参照する２つのコエッジを有する。１つのフェースが１つのエッジの１つの側にのみある場合、該エッジは該フェースによって１回使用され、それは該フェースを参照するただ１つのコエッジを有する。１つのエッジが複数のフェースに存在する場合、該エッジは該フェースによるそれぞれの使用について１つのコエッジを有する。１つのフェースに存在する各コエッジは該フェースの１つのループに属する。１つのループ内の複数のコエッジは一周を形成し、各コエッジの先頭は次のコエッジの末尾につながっている。１つのループ内の複数のコエッジは該ループ内の次のコエッジと前のコエッジとに向かう各コエッジを含む二重結合リストを形成する。
【００２５】
トポロジテーブル中、各トポロジ要素は親要素ではなく子要素に関する情報を保存している。全ての子はアレイ中で連続しているため、子情報を子アレイ中の最後の子の索引を用いて表すことで十分である。これは最初の要素の開始子索引が常に０であり、任意の他の要素の開始索引が同じアレイ中の前の要素の最後の子索引からわかるからである。
【００２６】
最後の子索引は各要素の種類に関して単調に増加するため、よりよいアプローチは２つの連続する子索引、すなわち各要素の子の数の差を符号化することである。より詳細には、
・１つのリージョンに属するシェルは該リージョン内のシェルの数により表される。
・１つのシェルに属するフェースは該シェル内のフェースの数により表される。
・１つのフェースに属するループは該フェース内のループの数により表される。
・１つのループに属するコエッジは、該ループ内のコエッジの数により表される。
【００２７】
しかし、他のトポロジ情報たとえば、フェース結合情報を表すコエッジ−エッジおよびエッジ結合情報を表すエッジ−バーテックスは、既知の技術を用いて効率的に圧縮することはできない。ＵＬＰでの他のトポロジ情報の効率的な圧縮とともに、フェース結合情報およびエッジ結合情報は記録媒体におけるＵＬＰトポロジの非常に重要な部分となる。
【００２８】
開示のシステムおよび方法は、Ｂ−Ｒｅｐ中のフェース結合情報およびエッジ結合情報のより効率的な圧縮を実現する。
【００２９】
図３Ａおよび３Ｂは、開示の実施形態によるフェース結合情報圧縮を示す。これらの図において、実線はエッジを表し、破線はコエッジを表す。
【００３０】
フェース結合情報（各コエッジにおいてエッジ索引参照番号により表されている）は、エッジが任意に索引付けされる場合には、記録するには過ぎたものとなりうる。これは、２つのコエッジが同じエッジを参照し、他のトポロジ情報よりも低い数値相関性が存在するからである。図３Ａおよび３Ｂは３つのフェースを有する簡単なモデル３０５および３１５を示し、これらのフェース間の結合は各コエッジからエッジを参照することにより表される。エッジが任意に索引付けされ、単純な方法がモデル３０５に用いられる場合、１２個の数字が図３Ａのテーブル３１０に示されるように保存されなければならない。この例において、１番目のテーブル入力はコエッジ０に関してエッジ７を参照し、２番目のテーブル入力はコエッジ１に関してエッジ５を参照している。３番目および６番目の入力は、コエッジ２および５に関してそれぞれ共通のエッジ６を参照している。２つの近接するフェースにより保有されるコエッジが同じエッジ索引を参照する限り、この例のエッジアレイにおける正確な索引付けは重要ではないことに留意されたい。
【００３１】
図３Ｂに示されるように、エッジ索引は、コエッジが順にアクセスされる際の親コエッジからの参照の順に基づいて選択される。未だ参照されていないエッジを参照する各コエッジ（たとえばエッジ２を参照するコエッジ２）に関しては、アレイをループ処理する際に、−１のカウントのトラックを保持することにより実際のエッジ索引が推論可能であるため、−１のような無効な索引を記録することで十分である。既に参照されているエッジを参照する各コエッジ（たとえば共通のエッジ２を参照するコエッジ５）に関しては、エッジ２に関する−１の入力がコエッジ２に関して既に用いられているため、実際のエッジ索引が保存される。図３Ｂのテーブル３２０に示されるように、それでも１２個の数字が保存される必要がある。しかし、これらの数字の半分以上が同じ値であるため、アレイのエントロピーは大きく低減される。ハフマン符号化器や算術符号化器などのエントロピー符号化器を用いることにより、フェース結合情報はこの空間エッジ索引付け（spatial edge indexing）を用いてディスク上で５０％以上低減可能である。
【００３２】
図４は、Ｂ−Ｒｅｐモデル４０５を表すために使用可能な、エッジ結合表現の例のモデル４０５および対応するエッジテーブル４１０およびバーテックステーブル４１５を示す。
【００３３】
図４に示されるように、モデル４０５の各Ｂ−Ｒｅｐエッジは、２つの境界バーテックス、すなわち、スタートバーテックスとエンドバーテックスとを有する。各エッジは、バーテックスジオメトリが表されているバーテックステーブル４１５に対するそれらの索引により、エッジテーブル４１０中のそのスタートバーテックスおよびエンドバーテックスを参照する。各エッジの向きは、任意に選択可能である。エッジ結合情報は間接的に表されている。すなわち、２つのエッジはこれらが同じバーテックスを共有する場合に互いに接続されている。たとえば、エッジ１とエッジ２とはバーテックス３を共有するため、結合している。
【００３４】
バーテックステーブル中のバーテックスの正確な順序は重要ではなく、バーテックスの索引はエッジテーブル内のバーテックスジオメトリの重複を避けるためのツールとして機能する。しかし、エッジテーブルおよび／またはバーテックステーブルのエントロピーが大きく低減可能なようにバーテックスを順序づけるための、当業者に既知の効果的な方法は存在しない。したがって、エッジテーブルおよびバーテックステーブルのサイズはディスク上のＵＬＰ表現の重要部分となる。
【００３５】
開示の実施形態では、システムは記録装置から完全にエッジテーブルおよびバーテックステーブルを省くことができ、既に保存された他のＢ−Ｒｅｐ情報に基づいてオンザフライで情報を再構成することができる。各エッジに関して、その２つの境界バーテックスのジオメトリが関連するＸＹＺカーブのジオメトリから計算可能であり、他のエッジとの結合はループ−コエッジおよびコエッジ−エッジのトポロジ情報から効率的に計算可能である。
【００３６】
図５はモデル５０５を用いたエッジ結合の例を示し、開示の実施形態による処理を説明するために用いることができる。
【００３７】
図６は、開示の実施形態による、エッジテーブルおよびバーテックステーブルの再構成を示す。
【００３８】
エッジ結合およびバーテックスジオメトリを再構成するための処理は、図５に示す例を用いて順に説明される。定義により１つのループ内におけるコエッジは先頭と末尾とが結合を形成する。
【００３９】
システムは全てのエッジについて順に処理し、エッジが順に処理される際に既に計算されていない限り、各エッジについてスタートおよびエンドバーテックス情報を計算する。バーテックス情報が計算されていない場合、システムはバーテックステーブルにバーテックスを形成し、フェース結合およびループ−コエッジトポロジ情報を用いて同じバーテックスを端点とする（hinged）エッジの全てについて順に処理し、全てのエッジについてバーテックスを設定する。各エッジのＸＹＺカーブはバーテックスジオメトリについての値を与え、全エッジから計算されたバーテックスジオメトリが平均化されて、バーテックステーブルにおける最終的なバーテックスジオメトリを生成する。バーテックス情報が既に計算されている場合には、次のエッジが処理される。
【００４０】
様々な実施形態においておおまかに説明したが、システムはエッジおよびコエッジを含むグラフィックモデルのＢ−Ｒｅｐデータを受け取り、それからグラフィックモデルの複数のバーテックスの座標を含むバーテックステーブル、および、グラフィックモデルの各エッジとグラフィックモデルの複数のバーテックスの少なくとも１つとを関連付けるエッジテーブルを構成し、このエッジテーブルはその後システムに保存される。このようにして、エッジテーブルおよびバーテックステーブルはＢ−Ｒｅｐデータから再構成され、モデルとともに常に保存する、または、他のＢ−Ｒｅｐデータとともに伝送する必要がない。いくつかの実施形態では、Ｂ−Ｒｅｐデータは元々のデータ記録装置または記録装置からの伝送においてエッジテーブル情報またはバーテックス情報テーブルを含まない。システムは各エッジをスキャン（traverse）して、該エッジに関するスタートバーテックスおよびエンドバーテックスを決定する。多くの場合、各エッジは少なくとも１つの対応するコエッジを含み、各コエッジは１つのコエッジループに含まれる。以下に詳細に示すスキャンは、通常、各エッジから対応するコエッジへのスキャン、該コエッジからそのコエッジループ内の第２のコエッジへのスキャン、および、該第２のコエッジから対応する第２のエッジへのスキャンを含む。システムは、したがって、第１のエッジと第２のエッジとの間に共通するバーテックスを識別し、エッジテーブルおよびバーテックステーブルへの１つ以上の入力としてこの共通のバーテックスを用いることができる。
【００４１】
図５に示す各バーテックスの計算は、個別のステップとして図６に示されている。各ステップでは、所定バーテックスを端点とする全てのエッジのスキャンについて、各ステップ後の更新されたエッジテーブルおよびバーテックステーブルの結果とともに示されている。この図において、太字の矢印はフェース結合を示し、通常の矢印は同じループ内の次のコエッジを示し、破線の矢印は同じループ内の前のコエッジを示す。より大きい文字で示されているエッジは、エンドバーテックスが現在計算されていることを示す（ステップ６０５のｅ１およびｅ８、ステップ６１０のｅ０およびｅ３、ステップ６１５のｅ５、ステップ６２０のｅ２、ステップ６２５のｅ４、ステップ６３０のｅ６、ステップ６３５のｅ７）。「ｅ」は番号付けされたエッジを示し、「ｃ」は番号付けされたコエッジを示し、「ｖ」は番号付けされたバーテックスを示す。
【００４２】
ステップ６０５において、エッジｅ０のスタートバーテックスｖ５が計算される。エッジｅ０についてのスタートバーテックスｖ５がエッジテーブルに保存され、ｖ５の座標がバーテックステーブルに保存される。システムは、コエッジをスキャンして他のいずれのエッジがｖ５に接続しているかを決定する。エッジｅ０はｃ０とのフェース結合を有しており、このｃ０は次のｃ１に向かっている。コエッジｃ１はエッジｅ１とフェース結合を有している。システムはエッジｅ１もｖ５と結合しているべきことを決定し、エッジｅ１をエンドバーテックスとしてのｖ５とともにエッジテーブルに保存する。システムは、エッジｅ１がコエッジｃ１０も有し、ｃ１０がｃ１１に向かっており、このｃ１１がエッジｅ８とフェース結合を有していることを決定する。システムはエッジｅ８もｖ５と結合しているべきであることを決定し、エッジｅ８をエンドバーテックスとしてのｖ５とともにエッジテーブルに保存する。
【００４３】
ステップ６１０において、システムは、ｅ０から、ｃ０の前のコエッジを続け、コエッジｃ３を探し、このコエッジｃ３はエッジｅ３とフェース結合を有しているため、ｅ３とｅ０とはバーテックスｖ６を共有しているべきである。エッジｅ０に関するエンドバーテックスｖ６はエッジテーブルに保存され、ｖ６の座標はバーテックステーブルに保存される。バーテックスｖ６もエッジｅ３についてのエンドバーテックスとしてエッジテーブルに保存される。
【００４４】
ステップ６１５において、システムはエッジｅ１からコエッジｃ１、次のコエッジｃ２へと移り、このコエッジｃ２はエッジｅ２とフェース結合を有しているため、エッジｅ１とバーテックスｖ３を共有している。ｖ３はｅ２に関するスタートバーテックスとしてエッジテーブルに保存され、その座標はバーテックステーブルに保存される。ｅ２はまたコエッジｃ５とフェース結合を有し、システムは次のコエッジｃ６を続け、エッジｅ５を探し、このエッジｅ５はコエッジｃ６とフェース結合を有している。したがって、バーテックスｖ３はエッジｅ５に関するエンドバーテックスとしてエッジテーブルに保存される。システムはエッジｅ５の他のコエッジｃ９を探し、次のコエッジｃ１０を続け、このコエッジｃ１０は既にエッジテーブルにあるエッジｅ１とフェース結合を共有している。したがって、バーテックスｖ３は、エッジｅ１に関するスタートバーテックスとして既知となり、これはエッジテーブルに保存される。
【００４５】
ステップ６２０において、システムは、スタートバーテックスｖ３のみについて既知のエッジｅ２から移り、コエッジｃ５、その前のコエッジｃ４と続け、このコエッジｃ４はエッジｅ４とフェース結合を有している。したがってバーテックスｖ０はエッジｅ２のエンドバーテックスとして、および、エッジｅ４についてのスタートバーテックスとして見いだされ、これらはエッジテーブルに保存され、また、バーテックスｖ０の座標はバーテックステーブルに保存される。システムはエッジｅ２の他方のコエッジｃ２、その次のコエッジｃ３と続け、エッジｅ３を見いだし、エッジｅ３がさらにスタートバーテックスとしてバーテックスｖ０を共有していることを決定し、これはエッジテーブルに保存される。
【００４６】
ステップ６２５において、システムはエッジｅ４のコエッジｃ４、その前のコエッジｃ７と続け、エッジｅ６を見いだし、エッジｅ６がバーテックスｖ１をそのスタートバーテックスとして有していることを決定し、これはエッジテーブルに保存され、バーテックスｖ１の座標はバーテックステーブルに保存される。
【００４７】
ステップ６３０において、システムはエッジｅ５のコエッジｃ６、その次のコエッジｃ７と続け、エッジｅ６を見いだし、エッジｅ６がバーテックスｖ２をそのエンドバーテックスとして有することを決定し、これはエッジテーブルに保存され、バーテックスｖ２の座標はバーテックステーブルに保存される。システムはエッジｅ５の他のコエッジｃ９、その前のコエッジｃ８と続け、エッジｅ７を見いだし、エッジｅ７がそのスタートバーテックスとしてバーテックスｖ２を有していることを決定し、これはエッジテーブルに保存される。この時点で、バーテックスｖ４のみが決定されていない。
【００４８】
ステップ６３５においてシステムはエッジｅ７のコエッジｃ８、その前のコエッジｃ１１と続け、エッジｅ８を見いだし、このエッジｅ８はステップ６０５において既に見いだされている。システムはエッジｅ７およびｅ８がバーテックスｖ４を共有していることを決定し、欠けている、ｅ７についてのエンドバーテックスおよびｅ８についてのスタートバーテックスとして、ｖ４を保存する。システムはバーテックステーブルにバーテックスｖ４の座標を保存する。
【００４９】
この時点で、エッジテーブルおよびバーテックステーブルはＢ−Ｒｅｐのエッジおよびコエッジデータのみを用いて、完全に構成された。
【００５０】
図７および８は、開示の実施形態による処理フローチャートを示す。図７はエッジ結合の計算処理のフローチャートを示し、図８は、図７の処理のステップ７４０および／または７６５に関して用いられうるエッジスキャン処理のフローチャートを示す。図８において、カラット（＾）が排他的ＯＲ（ＸＯＲ）処理を示すために用いられ、１＾０＝１、０＾１＝１、０＾０＝０、１＾１＝０として定義される。
【００５１】
図７において、システムはモデルに関するＢ−Ｒｅｐデータを受け取ることにより開始する（ステップ７０５）。本明細書において「受け取る」とは、記録装置からのロード、他のデータ処理システムからの受信、データ処理システムにおける処理実行、ユーザからの受け取り、あるいは当業者に知られるものが含まれる。注目すべきは、種々の実施形態において、このステップにおいて受け取られるＢ−Ｒｅｐデータは、エッジテーブルデータまたはバーテックステーブルデータを含むものではない。「テーブル」はテーブルのデータ構造のみを特に指すものではなく、当業者に知られている機能的に等価な構造を含みうる。
【００５２】
システムは、まず処理すべき残りのエッジが存在するか否かを決定するため、モデルのＢ−Ｒｅｐデータの各エッジをスキャンする（ステップ７１０）。無い場合、処理は終了する（ステップ７１５）。
【００５３】
処理すべき残りのエッジがある場合、システムは次のステップを処理する（ステップ７２０）。システムはエッジに関するスタートバーテックスが既に計算されているか否かを決定する（ステップ７２５）。Ｎｏの場合、システムはバーテックステーブル（第１のエッジを処理する時点で空であるかまたは未だ作成されていない）に新たな入力を生成する（ステップ７３０）。システムはエッジテーブルのスタートバーテックスフィールドをエッジの第１のバーテックスに設定する（ステップ７３５）。
【００５４】
システムは、次いで第１のバーテックスを「端点とする」全ての近接するエッジをスキャンし（ステップ７４０）、これには、第１のバーテックスをエッジテーブルの各近接エッジのスタートバーテックスまたはエンドバーテックスのいずれかとして設定し、バーテックスジオメトリを累算することが含まれる。図８の処理はこのステップにおいて使用することができる。
【００５５】
システムは次いで第１のバーテックスに関する全てのバーテックスジオメトリの平均を計算し、保存する（ステップ７４５）。各バーテックスジオメトリは異なるＸＹＺカーブジオメトリに基づいて複数回計算される。バーテックスｖ０を例とすると、そのジオメトリはエッジｅ２、ｅ３およびｅ４と関連するＸＹＺカーブから計算された。理論的には異なるＸＹＺカーブから計算されるジオメトリは同一であるべきであるが、実際には、これらはわずかに異なっている。したがって、３つの位置ｖ０−ｅ２、ｖ０−ｅ３およびｖ０−ｅ４が得られる。スキャンの間、各バーテックスにおけるこれらの位置は、ｖ０−ｅ２＋ｖ０−ｅ３＋ｖ０−ｅ４が、スキャン後のバーテックスｖ０に関する累算されたジオメトリであるように累算される。「平均ジオメトリを計算する」ステップは、式ｖ０＝（ｖ０−ｅ２＋ｖ０−ｅ３＋ｖ０−ｅ４）／３を意味し、ここで、３はバーテックスｖ０を端点とするエッジの数であり、該バーテックスにおける取り付けられた全てのＸＹＺカーブを考慮する最適なバーテックスジオメトリに等しい。
【００５６】
この時点で、または、エッジに関するスタートバーテックスが既に計算されている（ステップ７２５において）場合、システムは、エッジに関するエンドバーテックスが計算されているか否かを決定する（ステップ７５０）。Ｎｏの場合、システムはバーテックステーブル（第１のエッジが処理される時点で空であるかまたは未だに生成されていない）における新たな入力を生成する（ステップ７５５）。システムはエッジテーブルのエンドバーテックスを該エッジの第２のバーテックスに設定する（ステップ７６０）。
【００５７】
システムは次いで第２のバーテックスを「端点とする」全ての近接エッジをスキャンし（ステップ７６５）、これには第２のバーテックスをエッジテーブル内の各近接エッジのスタートバーテックスまたはエンドバーテックスのいずれかとして設定し、バーテックスジオメトリを累算することが含まれる。図８の処理はこのステップにおいて用いることができる。
【００５８】
システムは、上述のように、第１のバーテックスに関する全てのバーテックスジオメトリの平均を計算して保存する（ステップ７７０）。
【００５９】
図８の処理はステップ７４０および／または７６５において用いることができる。
【００６０】
この処理において、以下に示すように、「ｅ＿ｓ」はスキャンアルゴリズム内の１番目のエッジを意味し、このアルゴリズムは考慮されているバーテックスを端点とする全てのエッジから任意に選択可能である。「ｅ」はループ内で考慮されている現在のエッジを意味する。当初、「ｅ」は「ｅ＿ｓ」と同じであるが、スキャンが進むにつれ、ｅは次のエッジ「ｅ＿ｎ」に変わりうる。「ｖ」は考慮されているバーテックスを意味し、「ｐ」は「ｖ」のジオメトリを意味する。「ｐ」は当初ｅ＿ｓから計算されたバーテックスジオメトリを含んでいるが、スキャンが進むにつれ、後続のエッジから計算された付加的なバーテックスジオメトリをさらに累算する（上記段落００５３参照）。「ｃ＿ｐ０」は、エッジ「ｅ＿ｓ」に関連する１番目のコエッジを意味し、一方で、「ｃ＿ｐ１」は存在しているかまたは存在していない「ｅ＿ｓ」に関連する２番目のコエッジを意味する。（２つのコエッジが存在する場合に）どのコエッジを「ｃ＿ｐ０」に選択するかは関係ない。「ｃ＿ｓ」は「ｃ＿ｐ０」と同じであり、これがスキャン処理における開始コエッジであることを強調するために用いられている。「ｗ」は関連するエッジを比較する際のコエッジの方向の関係を意味する。２つの方向が同じであるとき、ｗは値「１」を有し、２つの方向が反対であるとき「０」を有する。「ｃ」は処理されている現在のコエッジを意味し、スキャンの間に変化し、また、「ｌ」はコエッジ「ｃ」の親ループを意味する。「ｃ＿ｎ」は親ループ「ｌ」において「ｃ」にすぐ近接するコエッジを意味し、すなわち、「ｃ」の前後のいずれであるべきかは「ｆ」と「ｗ」との間のフラグ関係に依存する。「ｃ＿ｏ」は同じエッジ「ｅ＿ｎ」と関連付けられた他のコエッジを意味する。１回目のスキャンは、「ｃ＿ｏ」が「ｃ＿ｓ」と同じとなる（これはたとえばバーテックスｖ３について生じる）か、または、「ｃ＿ｏ」がＮＵＬＬとなったときに終了する。「ｃ＿ｏ」がＮＵＬＬの意味となるとき、スキャンは現在の方向にもはや進行することはできず、エッジ「ｅ＿ｓ」の２番目のコエッジ「ｃ＿ｐ１」は他の方向のスキャンに関して用いられる。必要な場合、この２回目のスキャンは、２回目のスキャンが「ｃ＿ｐ０」の代わりに「ｃ＿ｐ１」で開始されることを除いて、第１のスキャンと全く同じロジックを有する。２回目のスキャンは、「ｃ＿０」がＮＵＬＬとなるときに常に終了する。
【００６１】
たとえばシステムがこのスキャン処理を図７におけるような親処理から呼び出すときに処理は開示される（ステップ８０５）。
【００６２】
システムは、エッジをエッジｅ＿ｓとして設定し、バーテックスフラグｆ＿ｓを、処理がスタートバーテックスを計算するときには１に、エンドバーテックスを計算するときには０に設定する。システムはｆ＝ｆ＿ｓを設定する（ステップ８１０）。勿論、ここで用いる変数および引数は任意である。
【００６３】
システムはバーテックステーブルにバーテックスｖおよびそのジオメトリポイントｐを生成する（ステップ８１５）。
【００６４】
システムは親コエッジｃ＿ｐ０およびその方向ｗを得る（ステップ８２０）。システムはこれがｅと反対方向であるときは１を設定し、同じ方向であるときは０を設定する。システムはｃ＿ｓ＝ｃ＝ｃ＿ｐ０を設定する。
【００６５】
システムはエッジテーブルのｃについてｖを設定し（ステップ８２５）、エッジｅからの寄与を用いてバーテックステーブルにおいてｐをアプダクションする。
【００６６】
システムはコエッジｃの親ループｌを得る（ステップ８３０）。
【００６７】
システムはループｌが単一のエッジを含むか否かを決定する（ステップ８３５）。Ｙｅｓの場合、処理は終了する（ステップ８４０）。
【００６８】
ループｌが複数のエッジを有する場合、システムはｆ＝＝ｗであるか否かを決定する（ステップ８４５）。ｆ＝＝ｗの場合、システムはコエッジｃ＿ｎをループｌにおけるｃの前のコエッジとして設定する（ステップ８６５）。ｆ≠ｗの場合、システムはコエッジｃ＿ｎをループｌにおけるｃの後のコエッジとして設定する（ステップ８５０）。
【００６９】
システムはコエッジｃ＿ｎのエッジｅ＿ｎを得る（ステップ８５５）。
【００７０】
システムはｅ＿ｎに関連付けられているがコエッジｃ＿ｎおよびその方向ｗ＿ｏと反対のエッジｃ＿ｏを得る（ステップ８６０）。
【００７１】
システムはｃ＿ｏ＝＝ＮＵＬＬであるか否かを決定する（ステップ８６５）。
【００７２】
ｃ＿ｏ≠ＮＵＬＬの場合、システムはｅ＝ｅ＿ｎ、ｃ＝ｃ＿ｏ、ｗ＝１  ＸＯＲ  ｗ＿０  ＸＯＲ  ｆに設定し（ステップ８９０）、ステップ８２５に戻る。
【００７３】
ｃ＿ｏ≠ＮＵＬＬの場合（ステップ８７０において）、システムはｃ＿ｏ＝＝ｃ＿ｓか否かを決定する（ステップ８７５）。ｃ＿ｏ＝ｃ＿ｓの場合、処理は終了する（ステップ８４０）。
【００７４】
ｃ＿ｏ≠ｃ＿ｓの場合（ステップ８７５において）、システムは別の親コエッジｃ＿ｐ１およびその方向ｗを得て、ｃ＝ｃ＿ｐ１を設定する（ステップ８８０）。システムはｃ＝＝ＮＵＬＬであるか否かを決定する（ステップ８４０）。ｃ＝＝ＮＵＬＬの場合、処理は終了する（ステップ８４０）。
【００７５】
ｃ≠ＮＵＬＬの場合（ステップ８８５において）、システムはステップ８２５に戻る。
【００７６】
図８の処理はしたがって所定のエッジに関連する全てのエッジをスキャンし、リンクされたコエッジに従ってバーテックスを決定する。
【００７７】
米国特許出願１１／８３７，３７１（米国特許公開２００８／００４３０３０として公開）は参照により含まれる。
【００７８】
当業者であれば、単純且つ明確にするために、本発明を用いた使用に適した全てのデータ処理システムの完全な構造及び動作は本明細書において図示又は説明していないことが分かる。その代わりに、本発明に固有のデータ処理システム又は本発明の理解のために必要なデータ処理システムのみを図示及び説明している。データ処理システム１００のその他の部分の構造及び動作は、当業者には公知である現行の種々の任意の実施の形態に従うもので良い。
【００７９】
本明細書には完全に機能的なシステムの文脈での記述が含まれているが、当業者であれば、本発明のメカニズムの少なくとも一部は種々の任意の形態の機械使用可能、コンピュータ使用可能又はコンピュータ読み出し可読な媒体に記録された命令の形態で配布できること、また本発明はその配布物を実際に実行するために使用される特定のタイプの命令又は信号が記録されている媒体又は記憶媒体に関係なく同様に適用されることを理解するであろうということを言及することは重要である。それらの命令は、実行されれば、データ処理システムに本明細書において説明した方法を実施させることができる。機械使用可能／機械読み出し可能又はコンピュータ使用可能／コンピュータ読み出し可能な媒体の例には、不揮発のハードコーディングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）又は電気的に消去及びプログラミング可能な読み出し専用メモリ（ＥＥＰＲＯＭ）及びユーザ記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ及びコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）又はディジタル多目的ディスク（ＤＶＤ）が含まれる。
【００８０】
本発明の実施例を詳細に説明してきたが、当業者であれば、本明細書に記載した実施例の種々の変更、置換、バリエーション及び改良はその最も広い形態においても本発明の精神及び範囲から逸脱することなく可能であることが分かるであろう。
【００８１】
本明細書における説明は、いずれかの特定の要素、ステップ又は機能も特許請求の範囲に含まれていなければならない不可欠の要素であることを意図したものではないと解するべきである。すなわち、本発明が対象とする範囲は明示された特許請求の範囲の記載によってのみ定義される。さらには、いずれの請求項も、「〜のための手段（means for）」という語の後に分詞が続かないかぎり、３５ＵＳＣ§１１２の第６パラグラフに訴えることを意図するものではない。
【符号の説明】
【００８２】
１０２  プロセッサ、  １０８  メモリ
【図１】
0005575273.tif 000002
【図２】
0005575273.tif 000003
【図３Ａ】
0005575273.tif 000004
【図３Ｂ】
0005575273.tif 000005
【図４】
0005575273.tif 000006
【図５】
0005575273.tif 000007
【図６】
0005575273.tif 000008
【図７】
0005575273.tif 000009
【図８】
0005575273.tif 000010