【誤訳訂正書】
【提出日】平成20年6月20日(2008.6.20)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】３次元画像処理
【技術分野】
【０００１】
本発明は、２番目の装置上で３次元オブジェクトの２次元画像を描写するために使用されるオブジェクトファイルを１番目の装置上で準備する方法に関する。そのオブジェクトファイルは、少なくとも１つの３次元オブジェクトを表すポリゴンプリミティブを定義するデータを含む。オブジェクトファイルの中のデータは、隠れる表面の問題が解決されるように、前記ポリゴンプリミティブが描画される場合の描画順序を決定するために並べ直される。本発明は、さらに、画面上に３次元オブジェクトの画像を描画する画像処理方法を備える移動通信端末に関する。また、本発明は、頂点のデータ量を削減したポリゴンプリミティブを定義するデータを処理することにより、３次元オブジェクトの２次元画像を描画する方法にも関する。本発明は、さらに、削減した頂点データ量を基本に画像を表示する機能を備えた、画面上に３次元オブジェクトの画像を描画する画像処理方法を備える移動通信端末に関する。
【背景技術】
【０００２】
近年まで、アニメの３次元グラフィックスは、例えば、コンピュータ支援設計やコンピュータ支援製造でいくつかの角度からオブジェクトの外観表示をワークステーションあるいはＰＣ上に生成したり、ゲームセンターにあるゲーム、あるいは運転または飛行機操縦シミュレータなどのように、比較的高処理性能を備えた装置に独占的に適用されてきた。
【０００３】
現在、３次元グラフィックスは、携帯電話、個人携帯情報端末（ＰＤＡ）や携帯ビデオゲーム機などのような比較的低処理性能の装置にも見られる。  
アニメを提供するには、視聴者が、静止画像の連鎖ではなく、連続変更された画像として捉えるように、毎秒２０から３０フレームに近い速度（アプリケーションによってはこれより低速でも良い）で画像を更新することが必要である。
【０００４】
装置の計算速度、及び最低許容フレーム速度により、各画像を生成するために実施可能な計算数は制限される。
【０００５】
３次元アニメでは、２次元上で３次元オブジェクトの投影の各画像を計算することが必要である。複雑な画像では、大量の計算が要求されることがある。
【０００６】
画像の合成は通常、頂点により定義される複数のポリゴンプリミティブとしてオブジェクトを表現し、画像プレーンにポリゴンプリミティブを投影してから、投影されたポリゴンの各ピクセルに対してピクセルの色を定義するために各ポリゴンプリミティブを処理することにより、遂行される。  
３次元グラフィックスを描画する際の主要な問題は、陰面消去である。視点からは、手前の面は後方部分を隠蔽しなくてはならない。
【０００７】
一般的な手法では、あるピクセルが描画される場合、画像バッファの中に存在するピクセルが（もしあれば）、前方（従って遮る）あるいは後方（従って遮られる）にあるかどうかをテストする。このように、各ピクセルには奥行値が割り当てられる必要がある。この技法は「Ｚバッファ法」と呼ばれる。この技法は、技術的には簡単な手法であるが、リアルタイム操作では、画像バッファ中の複数のピクセルの順序に関する大量の比較演算が関与するため、保存や処理能力の面では資源を集中的に使用する。
【０００８】
「ペインターズアルゴリズム」は、ポリゴンの頂点座標をテストして、ポリゴンを視点からの減少距離順に順位をつける。その後、ポリゴンは距離の減少順で描画されるので、最も遠いポリゴンのピクセルが最初に画像バッファに書き込まれ、必要に応じて、手前のポリゴンのピクセルにより上書きされる。しかしながら、この技法は、視点が変更するたびに全てのポリゴンの並べ替え操作が繰り返し要求されるので、リアルタイムで大量の演算を必要とする。
【０００９】
周知の技法では、ポリゴンは、２つの面を持つと考えられる。１つの面はオブジェクトの内側（「背」面）に向かっており、もう１つの面はオブジェクトの外側（「前」面）に向かっている。塗りつぶされたオブジェクトでは、ポリゴンの「背」面は決して見ることができない。従って、前に面しているポリゴンだけが表示される必要がある。関連する視点角度から、あるポリゴンが前（外側）面あるいは背（内側）面を示しているかどうかが、描画前に決定され、前に面しているポリゴンだけが描画される。背面を削除するこの方法は、陰面消去の問題を削減するが、問題を全て解決するわけではない。
【００１０】
さらに周知の技法は、「空間分割法」（ＢＳＰ）として知られる。この技法では、アニメ化の前に、ツリー構造のモデルがメモリ内で構築されるという前処理段階が実施されて、ツリーの各ノードは空間分割プレーン上のポリゴンとなり、（もしあれば）ノードの前後を指す。ノードの１つは、分割プレーンの片方だけにあるポリゴンを構成するツリーを含み、もう１つのノードはその残りを含む。その後、ツリーを再帰的に処理して（カメラから遠くのノードから降順に）、後ろから前の順番でポリゴンを描画することができる。
【００１１】
もう１つの周知の技法は、ポリゴンストリップ、つまり、独立の三角形あるいはポリゴンを三角形ストリップに変換することである。この技法では、１番目の三角形が、時計回りあるいは反時計回りで識別されてから、その後、ストリップの中の次の三角形は全て交互周りになる。前記ストリップは、三角形ストリップがオブジェクトをはみ出すまで、あるいは、別のストリップの１部になっているポリゴンにぶつかるまで継続される。  
従来、システム資源を集中的に消費するため、３次元グラフィックスエンジンは、強力なプロセッサや大量のメモリを備えたワークステーションのような高性能システムで使われていた。限定された演算能力による制限事項は、最高速のプロセッサを装備できない装置でより明らかであった。このような装置の例としては、携帯電話、個人携帯情報端末（ＰＤＡ）、携帯ビデオゲーム機などがある。従って、３次元のリアルタイムアニメグラフィックを、上記装置で使用可能な処理能力により処理できるように、効果的なアルゴリズムを実現する必要性がある。  
【発明の開示】
【００１２】
本背景から、本発明の目的は、比較的低い処理性能の装置上でリアルタイムの３次元画像描画を可能にし、陰面が消去された２次元画像の作成のために前記三角形プリミティブが描画される場合の描画順序を決定して、３次元オブジェクトの２次元画像を２番目の装置上に描画するために使用されるオブジェクトファイルを１番目の装置上で準備する方法を提供することである。
【００１３】
この目的は、請求項１に従って、次の方法を提供することにより実現される。この方法とは、少なくとも１つの３次元オブジェクトを表す三角形プリミティブを定義するデータを含むオブジェクトファイルを処理し、陰面が消去された２次元画像の作成のために前記三角形プリミティブが描画されうる描画順序を決定することにより、２番目の装置上で３次元オブジェクトの２次元画像を描画するために使用されるオブジェクトファイルを１番目の装置上に準備する方法であって、
ａ）オブジェクトファイルの中の前記少なくとも１つのオブジェクトの複数の表面部分に対応する複数の平面三角形プリミティブを保存するステップであって、前記複数の三角形プリミティブは元の順序に従って割り当てられた頂点データにより表されるステップと、
ｂ）三角形ストリップを開始するために、いずれの未処理の三角形をも遮る可能性がない三角形を選択するステップと、
ｃ）前記三角形ストリップの最後の三角形に追加する近隣三角形を選択するステップと、
ｄ）前記選択した三角形が前記未処理の三角形のいずれかを遮る可能性があるかどうかを決定するステップと、
ｅ）前記選択した三角形を前記ストリップに追加して、前記選択した三角形が前記未処理の三角形のいずれをも遮る可能性がない場合は手順ｃ）に戻るステップと、
ｆ）前記選択した三角形が前記未処理の三角形のいずれかを遮る可能性がある場合には、新しい三角形ストリップを開始するために手順ｂ）に戻るステップと、
ｇ）前記オブジェクトファイル内の全ての三角形が処理されるまで、手順ｂ）からｆ）を繰り返すステップと、
を備える方法である。
【００１４】
このように、オブジェクトファイルは、陰面問題が解決されると同時に、作成順序により表示できる三角形ストリップを認識できる。つまり、このように準備されたオブジェクトファイルを受信する装置は、陰面問題を解決する計算なしで、オブジェクトファイルに保存された順序で、三角形ストリップと三角形を表示するだけである。このように、画像処理装置により実行される多数の計算は、頂点データを、三角形のプリミティブの描画順序に予め並べておくことにより、大幅に省略される。つまり、陰面は、視点方向やカメラ位置とは無関係に適切に消去される。このように、２番目の装置では、オブジェクトの描画順序を計算し、アニメの各フレームに対して、オブジェクトファイルに保存された順序でオブジェクトの前面三角形プリミティブを描画することだけが必要となる。例えば、Ｚバッファ法と比較すると、ピクセルの前のＺ値の比較が不要なため、必要な計算量を大量に削減できる。
【００１５】
前記方法のステップｂ）は、好ましくは隣接する未処理三角形を多く持たない三角形を選択することによって、長いストリップを形成することを可能としうるストリップを開始する三角形を識別するために、ヒューリスティック探索を備えることが好ましい。    いくつかのオブジェクトでは、競合する遮断優先度のために、全ての視点方向に対して陰面が正しく消去されるような三角形プリミティブの配置順序は存在しない。このように、このようなオブジェクトを２つのオブジェクトに分割して、ここで作成されたオブジェクト各々の三角形プリミティブを予め並べておくことが必要である。
【００１６】
前記方法は、ステップｂ）でその他未処理の三角形を遮っていない三角形を見つけることが不可能な場合は、オブジェクトファイルを２つに分割するステップを前記１番目の装置上に備えることが好ましい。
【００１７】
オブジェクトは、分割プレーンを使用して分割されることが好ましいが、少なくとも１つの未処理三角形が、遮る可能性があることのできるその他の未処理の三角形とは異なる側に残る。
【００１８】
任意の未処理の三角形のプレーンが使用され、前記三角形が分割プレーンの外側に関連し、従って反対側側面にあるその未処理の三角形が覆う可能性のある全てのポリゴンを残したままにすることが好ましい。
【００１９】
ポリゴンを２つのセットに分割する一方で、分割プレーンに交差するポリゴンを分割しなければならない場合もある。一般的に、２つのセットの中のポリゴン数が可能な限り同等になるように、ポリゴンを２つのセットに分割することは有益である。
前記方法は、オブジェクトファイルの三角形の前面と三角形プレーンを決定する段階をさらに備えることが好ましく、選択した三角形が未処理の任意の三角形を遮れるかどうかの決定は、
ｇ）選択した三角形が、任意の未処理三角形のプレーンの前面に１つ以上の頂点を持つかどうかを決定するステップと、
ｈ）ステップｇ）に該当する任意の未処理の三角形が、選択した三角形のプレーンの背面に１つ以上の頂点を持つかどうかを決定するステップと、
により決定される。
【００２０】
前記方法は、さらに、ステップｂ）の前に、前記１番目の装置上に、
ｉ）前記オブジェクトが、オブジェクト空間のＸＹプレーン内で対称性を持つかどうかを決定するステップと、
ｊ）前記オブジェクトファイルに、対称性が決定したプレーンを格納するステップと、
ｋ）対称性が決定したプレーンの片側から、前記オブジェクトファイル内の全頂点を取り除くステップと、
前記オブジェクト空間のＸＺプレーンのために手順ｉ）からｋ）までを繰り返すステップと、
を備えてもよい。
【００２１】
前記方法は、
ｌ）ステップｆ）またはｋ）及び前記２番目の装置上にオブジェクトファイルを保存後、前記オブジェクトファイルを前記１番目の装置から２番目の装置に転送するステップ
を備えることが好ましい。
【００２２】
１番目の装置は、ＰＣやワークステーションで使用されているような、高性能の画像処理手段を備えることが好ましく、前記２番目の装置は、移動通信端末やＰＤＡで使用されているような、性能の低い処理手段を備えることが好ましい。  
このように、画像描画処理において計算量の多い部分は、ワークステーションやＰＣのような高性能処理能力を備えた装置で前もって実行することが可能であり、アニメ３次元グラフィックスが、携帯電話、ＰＤＡあるいは携帯ビデオゲーム機のような比較的性能の低い処理能力の装置上でリアルタイムで描画することが可能である。
【００２３】
本発明のもう１つの目的は、上記方法により得られたオブジェクトファイルを、２番目の装置上で表示する方法を提供することである。この目的は、請求項９に従って、
ｍ）視点方向を決定するステップと、
ｎ）望ましくはペインターズアルゴリズムを使用することで、オブジェクト順序を決定し、前記オブジェクトを前記２番目の装置上に表示するステップと、
を備える方法を提供することにより、実現される。
【００２４】
前記方法はさらに、
ｏ）前記視点方向に対して後ろ向きの全ての三角形を削除するステップ
を備えることが好ましい。
【００２５】
前記方法は、好ましくは、
ｐ）前記オブジェクトファイルに格納されている対称プレーンを取り出すステップと、
ｑ）本来の頂点データと同じ順序であり、前記本来の頂点データの後に前記オブジェクトファイルに保存される、前記オブジェクトファイルに存在する頂点データの複製を作成し、及び取り出された複製頂点のそれぞれの対称プレーンに対して直角の軸上の頂点値の符号を反転するステップと、
を備える。
【００２６】
座標の１つの符号を反転して再作成された頂点は、対称のプレーンがｘ＝０、ｙ＝０、ｚ＝０の１つである場合に限り実行できる。プレーンが、例えば、ｘ＝１で、０，１，２の頂点があれば、ミラーの１対は、ｘ構成の符号を反転して得ることができない。その代わり、ミラーの対が２，１，２になるように、座標ｘ＝１に対してミラーすることが必要である。従って、前記方法は、対称軸がｘ＝０、ｙ＝０あるいはｚ＝０に一致するように、オブジェクトを変換して回転する手順を備える。描画操作の間、逆の手順がオブジェクト全体に適用される。
【００２７】
前記方法は、好ましくは、
ｒ）前記三角形ストリップを、作成された順序で表示するステップと、
ｓ）前記三角形ストリップの三角形を、前記ストリップに追加された順序で表示するステップと、
をさらに備える。
【００２８】
このように、三角形はオブジェクトファイルに保存されているように、視点方向やカメラ位置に関係なく、陰面問題を解決する計算を実行する２番目の装置を必要とせず、直接表示することが可能である。
【００２９】
２番目の装置は、移動通信端末やＰＤＡに使用されているような性能の低い処理手段を備えることが好ましいが、２番目の装置は携帯電話であることが最も好ましい。
【００３０】
画像描画処理は、装置の主ＣＰＵで実行されることが好ましく、更なる画像描画方法の全ては、ソフトウェアにより組み込まれる。
【００３１】
本発明のもう１つの目的は、リアルタイムで描画されるアニメ３次元グラフィックスを移動通信端末に提供することである。この目的は、請求項１６に従い、三角形ストリップを含むオブジェクトファイルを格納する手段と、望ましくは前記三角形ストリップが前記オブジェクトファイルに格納された順序に対応する、前記三角形ストリップが作成された順序で、前記三角形ストリップを表示する手段とを備える移動通信端末を提供することにより実現される。
【００３２】
三角形ストリップの三角形は、ストリップに追加された順序で表示することができるが、これは三角形ストリップに保存された順序に対応することが好ましい。
【００３３】
オブジェクトの描画順序は、空間分割方法を使用して決定されることが好ましい。オブジェクトファイルの描画順序は、現在の視点方向と位置に基づいて並べられるので、最も遠いオブジェクトが最初に描画される。
【００３４】
前記移動通信端末は、視点方向に対して後ろ向きの三角形全てを削除する方法を備える場合もある。
【００３５】
前記移動通信端末は、前記オブジェクトファイルに格納されている対称プレーンを取り出す手段と、前記オブジェクトファイルに存在する全ての頂点データを複製し、新規に作成された三角形に対するそれぞれの対称プレーンに対して直角の軸上の頂点値の符号を反転する手段とをさらに備えてもよい。
【００３６】
画像描画処理は、装置の主ＣＰＵで実行されることが好ましく、更なる画像描画方法の全ては、ソフトウェアにより組み込まれる。
【００３７】
本発明のもう１つの目的は、少なくとも１つの３次元オブジェクトを表す三角形プリミティブを定義するデータを処理することで、３次元オブジェクトの２次元画像を２番目の装置上に描画するために使用されるオブジェクトファイルを、１番目の装置上に準備する方法を提供することである。この方法は多くの計算量を必要としないため、リアルタイムの３次元画像描画が比較的低い処理能力の装置上で可能になる。この目的は、請求項２２に従い、前記１番目の装置上で、
ａ）複数の平面三角形プリミティブが頂点データにより表される、前記少なくとも１つのオブジェクトの複数の表面部分に対応する複数の前記平面三角形プリミティブを格納するステップと、
ｂ）前記３次元オブジェクトの対称プレーンを決定するステップと、
ｃ）前記オブジェクトファイルに対称プレーンデータを格納するステップと、
ｄ）全ての頂点データを前記対称プレーンそれぞれの一つの面から削除するステップと、
ｅ）前記オブジェクトファイルを、前記１番目の装置から前記２番目の装置へ転送するステップと、
ｆ）前記対称プレーン内の頂点データをミラーリングし、前記画像を描画することで、前記２番目の装置上に前記画像を表示するステップと、
を備える方法を提供することにより実現される。
【００３８】
前記オブジェクトの座標系のＸ軸、Ｙ軸、またはＺ軸のいずれかに対し平行でない対称プレーンは、無視されることが好ましい。代わりに、オブジェクトは、回転して変換することにより、対称の軸がＸ＝０、Ｙ＝０、Ｚ＝０であるプレーンの１つ以上と揃うようにする。
【００３９】
前記１番目の装置は、ＰＣやワークステーションで使用されているような、高性能の画像処理手段を備える場合があり、前記２番目の装置は、移動通信端末やＰＤＡで使用されているような、性能の低い処理手段を備える場合がある。
【００４０】
前記２番目の端末は携帯電話であることが好ましい。
【００４１】
本発明のさらなる目的は、計算量を削減して、３次元オブジェクトの２次元画像を表示することができる移動通信端末を提供することである。この目的は、請求項２６に従い、３次元オブジェクトの画像を画面に描画する画像処理方法と、頂点データを格納する手段と、対称プレーンのデータを保存する方法と、対称プレーンの頂点データをミラーリングする方法と、を備える移動通信端末を提供することにより実現される。
【００４２】
本発明による方法と移動通信端末のさらなる目的、機能、利点、及び特性は、詳細な説明にて明らかにされる。
【図面の簡単な説明】
【００４３】
本明細書の以下の詳細部分では、以下の図面に示される典型的な実施例を参照し、本発明の詳細を説明する。
【図１】三角形の正面を表す図である。
【図２】最初の装置上で３次元オブジェクトのオブジェクトファイルを作成する２つの段階を示す流れ図である。
【図３】ミラーされた頂点を削除することにより、削減された頂点データを持つオブジェクトファイルを作成する段階を示す詳細な流れ図である。
【図４】１番目の装置上で三角形ストリップを作成する段階を示す詳細な流れ図である。
【図５】選択した三角形が未処理三角形を遮る可能性があるかどうかを決定する処理を表す詳細な流れ図である。
【図６】２番目の装置上で３次元オブジェクトを２次元画像として表示する段階を示す流れ図である。
【図７】図３に示された段階で、削除された三角形を復元する段階を示す詳細な流れ図である。
【図８】携帯電話の構成図である。
【００４４】
【発明を実施するための最良の形態】
【００４５】
３次元グラフィックスシステムは、オブジェクト、光源、視点位置が、概念的な３次元空間内で操作される仮想３次元（３Ｄ）環境を提供する。視点位置は、「世界空間」と呼ばれることのある仮想３次元世界へのウィンドウを提供する。この世界空間自体は、３次元座標と、色や反射のようなその他の変数を定義するデータとしてのみ存在する。概念的ウィンドウで示される２次元画像は、３次元画像データを描画と呼ばれる手順で処理することにより、作成されなければならない。
【００４６】
システムでは、３次元空間のオブジェクトは、そのオブジェクト表面の選択された点の座標位置により表される。
【００４７】
しかしながら、描画は、画像要素値を画像の２次元域に割り当てることにより構成される。従って、これらの座標地点は、点を直線で効果的に結ぶことにより、概念的領域に変換され、３次元の網目状平面、いくつかの頂点により定義される２次元三角形が提供される。本発明は、三角形を使用して説明されるが、当業者は説明にある技術もその他平面ポリゴンに適用できることを理解するであろう。
【００４８】
画像要素値は、世界オブジェクトが、モザイク状になるまで、つまり、三角形に分割されるまで、三角形を基にして生成される。このようにして作成された頂点データは、オブジェクトファイルに本来の順序で保存される。
【００４９】
三角形は、三角形の前面（曲面体には通常前面と背面があり、背面は決して見ることができない）を定義する通常のベクトルを定義する方法で保存される。「前」面は、三角形のデータ構造に保存される方法により決定される順序で、三角形の３つの頂点を旋回する右手（または、左手）ルールで決定されるベクトルの向き（従って、前面の向き）と共に、三角形の表面に通常あるベクトルにより、定義される。例えば、図１では、３つの点２２、２３、２４は通常ベクトル２５の向きを決定するので、三角形２１の側面は前面２６のように定義される。例えば、通常ベクトル２４は、三角形の端に沿った２つのベクトルの交差として決定される。上記段階はすべてワークステーション、ＰＣ、あるいは類似の高性能コンピュータで実行される。
【００５０】
描画処理により生成される画像要素値はワークステーション上に保存される。三角形を画面に表示するときに曲面体の３次元オブジェクトの図を維持するためには、遮られた三角形がそれらの三角形を遮る三角形よりも前に、必ず描画される順序に並べ替えられていることが重要である。三角形の順序のリアルタイムな並び替えは、比較的性能の低いデータ処理能力の携帯電話上では、実行不可能である。先行技術では、この問題は、描画順序を予め決定しておくことにより部分的に解決されたが、視点方向あるいは視点位置が変更された場合に変更されることになる。本開示に示すように、本発明による技法はこの問題を克服する。
【００５１】
本開示で使用される「オブジェクト」という用語は、単独のオブジェクトと、集合体のオブジェクトが、アニメの最中に切り替わらない限り、分離したいくつかのオブジェクトの集合体も含む。例えば、テーブルと花瓶、並びにテーブルの隣にある椅子が、入れ替わらなければ、１つのオブジェクトとして見なされる。アニメの間に、椅子が移動すれば、机と同じオブジェクトではない。
【００５２】
ワークステーションあるいはその他の強力なコンピュータ（図示せず）上の３次元グラフィック環境を提供する段階は、図２に示される。最初は、オブジェクトを定義するデータが準備される。このように、手順３５では最初のオブジェクトがモデル化される。同様に、手順４０では２番目のオブジェクトがモデル化されて、手順４５でＮ番目のオブジェクトまでモデル化される。各オブジェクトは、独自の座標セットに対する参照によりモデル化されるが、これは、独自モデル化空間と呼ばれることがある。このように、形状を定義するオブジェクトデータの各セット、及びグラフィックス環境にある前記形状を再作成するために必要なデータは、頂点データの形でオブジェクトファイルに保存される。
【００５３】
次の段階は、前処理段階の部分を形成する手順５０、５２、５５、及び６０で構成される。手順５０では、三角形の頂点と三角形の表面特徴の観点からオブジェクトの形状を定義するオブジェクトファイルが読み込まれる。
【００５４】
手順５２では、オブジェクトファイルにより定義されるデータを処理することにより三角形ストリップが作成される。ストリップは、陰面問題の可能性がある視点方向全てで解決されるような方法で作成される。つまり、オブジェクトファイルは、陰面削除耐性（ＨＳＲ耐性）で作成されるので、ストリップが作成された場合、視点方向やカメラ位置に関係なく、陰面問題を解決するために対策をとる必要がない。通常、上記条件を満足させながら、この方法で完全なオブジェクトファイルを処理することは可能である。しかしながら、オブジェクトの三角形の間で必要な描画順序に競合があるため、この方法で完全なオブジェクトの三角形ストリップを作成することは不可能な場合がある。このような場合、オブジェクトは２つの新しいオブジェクトに分割され、各オブジェクトはその他の任意のオブジェクトのように別々に処理される。
【００５５】
次の手順５５では、オブジェクトが対称プレーンを持つかどうかが決定される（この情報は通常、モデル化手順後にオブジェクトファイルから入手可能である）。対称プレーンの片方にある全ての三角形は、削除され、すでになければ、対称プレーンはオブジェクトファイルに保存される。
【００５６】
上記手順は複数のオブジェクトで必要な場合があるので、手順６０で、別のオブジェクトを処理するかどうかが判断される。答えが「はい」であれば、全てのオブジェクトが処理されるまで手順５０、５２、及び５５が繰り返される。３５から６０までの全ての手順は、一般的には、強力なグラフィック処理手段を備えた１番目の装置上で実施される。そして全てのオブジェクトファイルが処理されると、グラフィック処理能力の低い装置である、本実施例の携帯電話１のような、一般的には携帯電話である、２番目の装置に転送されて表示される。
【００５７】
図２の手順５２は、図４の流れ図に詳細が示される。手順７６では、頂点の数から開始し、三角形の数、頂点データ、三角形のデータの順で、オブジェクトの全ての三角形１−ｎの頂点データが読み込まれる。頂点データに基づき、各三角形１−ｎの三角形のプレーンが、手順７７で次々に計算される。
【００５８】
手順７８では、新しい三角形ストリップが、未処理三角形を遮らない三角形を選択して開始される。最初の三角形の選択は、未処理の三角形のセットの最初の三角形を選択するだけで、最長マッチを行う方式で実行される。
【００５９】
本発明の別の実施例に従い、残りの内、最小数の未処理三角形を遮る可能性がある三角形を識別するには、ヒューリスティック探索技術が使用できる。例えば、多くの未処理の近接する三角形を持たない三角形を選択する。このように識別された三角形により新しいストリップを開始すると、オブジェクト１つにつき三角形ストリップは少なくなり、長くなる。  
このようなヒューリスティック探索を実施するいくつかの技法が知られており、従って本明細書にはこれらの技法の詳細を説明しない。
【００６０】
ストリップを開始するために選択した三角形は、その後、未処理の三角形のセットの中の三角形と比較されて、選択した三角形が、未処理の三角形を遮る可能性があるかどうかを決定する。この決定を実行する手続は、図５を参照しながら以下に述べる。
【００６１】
手順８０では、三角形ストリップに追加される近隣の三角形が選択される。選択された三角形は、その後、手順８１で、未処理の三角形のセットの中の三角形と比較されて、選択された三角形が未処理の三角形を遮る可能性があるかどうかを決定する。この決定を実行する手順は、以下で、図５を参照しながらさらに説明する。選択された三角形は、手順８１の決定が否定されれば、手順８５でストリップに追加される。選択された三角形は、その後、手順８６で未処理の三角形のセットから削除される。手順８７では、未処理の三角形のあるセットが空であるかどうかが判断される。オブジェクトファイルの全ての三角形は、手順８７の答えがはいであれば処理され、制御は手順６０に渡される（図２）。手順８７の答えが「いいえ」であれば、制御は手順８０に渡され、近隣の新しい三角形を三角形ストリップに追加するために選択する。
【００６２】
手順８１の答えがはいであれば、競合の確認が手順８３で実行される。つまり、最初の三角形が２番目の三角形を遮ることのできる可能性がある場合、２番目の三角形は３番目の三角形を遮ることができる可能性を有し、三番目の三角形は最初の三角形を遮ることをできる可能性を有するなどのような循環が存在しているかどうかを確認する。このように、描画順序が、可能性のある視点方向全てに対して適切なオブジェクトファイルを作成することは不可能である。競合の確認の答えが「いいえ」であれば、新しい三角形ストリップは手順７８で開始される。競合の確認の答えが「はい」であれば、オブジェクトは空間分割法を使用して分割される。例えば、最後に選択された三角形の三角形表面上でオブジェクトを２つに分割する。その後、制御は手順５２（図２）に渡され、２つの「新しい」オブジェクトが、その他の任意のオブジェクトのように処理される。競合の確認は、その他の未処理の三角形を覆う可能性のない三角形が選択できるかどうかを決定することにより実施される。この決定の答えが「いいえ」であれば、オブジェクトは分割される必要がある。
【００６３】
図５の流れ図に詳しく示されているように、選択した三角形は、手順９１で開始する未処理の三角形と比較できるが、ここでは、引数Ｘの値を１に設定し、引数Ｙの値を未処理の三角形のセットの三角形の数に等しく設定する。
【００６４】
手順９２では、選択した三角形が、未処理三角形のセットの三角形Ｘのプレーンの前面に１つ以上の頂点を持つかどうかが判断される。手順９２の答えがはいであれば、手順９３で、三角形Ｘが、選択した三角形のプレーンの後ろに１つ以上の頂点を持つかどうかが判断される。手順９３の答えもはいであれば、制御は手順８３に渡される（図４）。
【００６５】
手順９２あるいは９３の答えがいいえであれば、引数Ｘの値は、手順９４で１つ増やされ、手順９５では、引数Ｘの値が引数Ｙの値に等しいかどうかが判断される。手順９５の答えがいいえであれば、手順９２、９３、９４、及び９５が、手順９５の答えがはいになるまで繰り返される。その後、制御は手順８５に渡され、選択した三角形を三角形ストリップに追加する。
【００６６】
上記手順は、未処理三角形のあるセットが空になるまで繰り返されて、オブジェクトファイルは陰面を解決する必要なく、三角形を表示できる順序にあるフォーマットになる。さらに、三角形は三角形ストリップに割り当てられ、従って、オブジェクトを表示する計算量はさらに削減される。
【００６７】
次の手順５５は、本実施例では必須ではないが、図３の流れ図に詳細を示す。手順６４では、オブジェクトがＸＹプレーンに関して対称であるかどうかを決定する。このデータは、特に、オブジェクトファイルがグラフィックスプログラムあるいは類似のものを使用して作成されたときに、通常のオブジェクトファイルで利用可能である。例えば、スキャンされたオブジェクトを反映するために、オブジェクトファイルがこのようなデータを含まない特別な条件では、対称プレーンをＺ＝０と想定することにより対称プレーンを識別して、同じ、しかしマイナスのｚ値を持つ各頂点を確認することが可能である。そして、これをＹ＝０及びＸ＝０の対称プレーンで繰り返す。示されてはいないが、対称軸がプレーンＸ＝０、Ｙ＝０あるいはＺ＝０と１つ以上に揃うように、オブジェクトを回転したり、変換したりする手順を含むことも可能である。
【００６８】
ＸＹプレーンに対する対称が存在する場合、対称プレーンは、手順６５でオブジェクトファイルに保存されて、マイナスのＺ軸値を持つ全ての頂点は、手順６６でオブジェクトファイルから削除される。ここでも、頂点のインデックスは、対称プレーンの下の各ミラーされた頂点が対称プレーンの上にあるその対の後になるように並び替えられ、その後、対称プレーンの上の頂点は、マークされて、ミラーされた対を持つ。
【００６９】
手順６５の後、あるいは、ＸＹプレーンに対称が検出されない場合は、手順６７のオブジェクトはＸＺプレーンで対称的であるかどうかが判断される。
【００７０】
ＸＺプレーンの対称が存在する場合、対称プレーンは手順６８のオブジェクトファイルに保存されて、手順６９で、マイナスのＹ軸値を持つ頂点は全てオブジェクトファイルから削除される。
【００７１】
手順６９の後、あるいは、ＸＺプレーンに対称が検出されない場合は、手順７０のオブジェクトはＹＺプレーンで対称的であるかどうかが判断される。
【００７２】
ＹＺプレーンの対称が存在する場合、対称プレーンは手順７１のオブジェクトファイルに保存されて、手順７２で、マイナスのＸ軸値を持つ頂点は全てオブジェクトファイルから削除される。
【００７３】
手順７２の後、あるいはＹＺプレーンに対称が検出されない場合は、制御は図２の手順６０に渡される。オブジェクトファイルの頂点データの量はこのように、オブジェクトの対称プレーンの数により、８因子分削減できる。実際には、コンピュータグラフィックスで使用されるほとんど全てのオブジェクトは少なくとも１つ、しばしば２つの対称プレーンがあるので、２から４因子分、頂点データ量を減少させることが可能になる。これは、アニメ化された３Ｄグラフィックスを、例えば、比較的メモリ容量が制限される図８に示された携帯電話１で保存する場合に非常に重要である。
【００７４】
手順６０で全てのオブジェクト１−Ｎがこのように処理されることが決定された場合、オブジェクトファイルは、携帯電話１での表示のためにワークステーションから転送される準備が整った。
【００７５】
ワークステーションから携帯電話へのデータ転送は、ＩＲ信号（ＩｒＤＡ）あるいはＲＦ信号、（ブルートゥース）メッセージ送信（ＳＭＳあるいはＭＭＳ）、ケーブル、ネイティブ（プロダクションサイト）あるいはその他の適当なメディアから実行される。
【００７６】
図６に示されているように、オブジェクトファイル１−Ｎは、手順１００で携帯電話に読み込まれ、携帯電話１のランダムアクセスメモリ（ＲＡＭ）１７に保存される（図８）。携帯電話には、ＲＡＭ１７へのデータ書き込みやデータ読み込み機能を持つプロセッサ（ＣＰＵ）１０が装備される。ＣＰＵ１０は、マイク１４やスピーカー１５と共にデジタル信号プロセッサ１２を制御する。携帯電話１にはさらに、利用者識別モジュール（ＳＩＭカード）１６が装備される。ＲＦ送受信回路もＣＰＵ１０に接続される。組み込みソフトウェアの３Ｄエンジン２０は、ＬＣＤあるいはプラズマ画面３０を駆動する。
【００７７】
オブジェクトファイル１−Ｎの三角形の量は手順５２にてワークステーション上で削減されているため、データ量は、携帯電話１の比較的限定されたＲＡＭ１７に保存するのに充分小さい。オブジェクトファイルは、適切な描画順序（ＨＳＲ耐性）で準備されているので、オブジェクト順序が決定されるとすぐに描画段階に入ることが可能である。手順１０１（図６）では、入力コマンドが受信されて、光源と視点の引数を原則的に定義する。こうして、オブジェクト描画順序は、手順１０２で決定されるが、空間分割法を使用することが好ましい。描画される最初の（最も遮られた）オブジェクトのデータは、手順１０３で読み込まれる。手順１０４では、対称表面の一方から削除された三角形が復元される。その手順は、図７に示す流れ図で詳細を表す。
【００７８】
手順１２０では、ＸＹ表面の対称プレーンがオブジェクトファイルに保存されるかどうかが判断される。手順１２０の答えがはいであれば、新しいセットの頂点が、手順１２２でオブジェクトファイルに現在存在するすべての頂点データを複製して、新しく作成される頂点のＺ軸値の符号を反転することにより、作成される。こうして、前に削除された頂点が復元されて、制御は手順１２４に渡される。手順１２０の答えがいいえであれば、制御は直接手順１２４へ渡される。
【００７９】
手順１２４では、ＸＺ表面の対称プレーンがオブジェクトファイルに保存されるかどうかが判断される。手順１２４の答えがはいであれば、新しいセットの頂点が、手順１２６でオブジェクトファイルに現在存在するすべての頂点データを複製して、新しく作成される頂点のＹ軸値の符号を反転することにより、作成される。こうして、前に削除された頂点が復元されて、制御は手順１２８に渡される。手順１２４の質問の答えがいいえであれば、制御は直接手順１２８へ渡される。
【００８０】
手順１２８では、ＹＺ表面の対称プレーンがオブジェクトファイルに保存されるかどうかが判断される。手順１２８の答えがはいであれば、新しいセットの頂点は、手順１３０でオブジェクトファイルに現在存在するすべての頂点データを複製して、新しく作成された頂点のＸ軸の値の符号を反転することにより、作成される。こうして、前に削除された頂点が復元されて、制御は、手順１０５（図６）に渡される。手順１２８の答えがいいえであれば、制御は直接手順１０５（図６）に渡される。このように、手順５２でワークステーション上のオブジェクトファイルから削除された全ての頂点は、再び復元される。
【００８１】
手順１０５では、ある三角形の定義済み前面が現在の視点方向から見ることができるかどうかが判断される。ここでは、オブジェクトファイルの三角形１−ｎの前面の向きは、視点方向のベクトルとそれぞれの三角形の通常ベクトルのドット積を計算することにより、表示方向と比較される。この積がマイナスであれば、問題の三角形は、現在の視点方向からその前面を見ることができないため、消去される。このように、三角形の量は、統計的に５０％削減される。
【００８２】
あるいは、後ろ向きの三角形を検出するための、通常はもっと正確で、時にはさらに速い（通常計算する必要がなく、各三角形と共にカメラの向きも変わるので）方法は、投影後に画面上のその面積を計算することである。表示面積がマイナスであれば、その三角形は後ろ向きである。
【００８３】
手順１０６で、モデル空間（つまり、オブジェクトファイルの参照座標系）から装置空間（つまり、表示あるいは画面の座標系）への三角形の頂点の変換は、マトリックス―ベクトル乗算を使用して実行される。頂点変換方法とアルゴリズムは、当業者には周知であるため、本明細書では詳細を述べない。
【００８４】
手順１０６で頂点が変換されれば、頂点データは、手順１０７の表示のために送信される。手順１０７では、三角形ストリップは作成された順序で描画され、本実施例では、オブジェクトファイルに保存された順序に対応する。三角形は、それぞれの三角形ストリップに追加された順序で表示されるので、本実施例では、オブジェクトファイルの保存された順序に対応する。従って、三角形は、表示の際に非表示表面問題に対応する必要なく、オブジェクトファイルに保存された順序で表示することができる。
【００８５】
手順１０８では、別のオブジェクトが表示されるかどうかが判断される。手順１０８の答えがはいであれば、制御は手順１０３に移動して、次のオブジェクトのデータが読み込まれる。このように、手順１０３と１０７は、全てのオブジェクトが表示されるまで繰り返される。全てのオブジェクトが表示されると、次のフレームが表示され、制御は手順１０１に渡され、次のフレームの入力コマンドを受け取る。
【００８６】
本発明の別の実施例に従い、図３の流れ図に示されているように、ミラーされた頂点が削除されているが、ポリゴンはストリップされない。つまり、図２の手順５５が省かれている。このように、サイズを小さくしたオブジェクトファイルが得られるので、携帯電話へ容易に保存することが可能であるが、三角を表示する場合は、陰面問題の解決が必要になる。ここで、ペインターズアルゴリズムあるいはＺバッファ法技術を携帯電話１で使用することが可能であるが、携帯電話の処理能力の限界に、比較的早く達する。
【００８７】
本発明の効率的な技法により、携帯電話、ＰＤＡ、携帯ビデオゲーム機のような比較的限定された画像処理ハードウェアの装置上でもリアルタイムのアニメ３Ｄグラフィックスが可能になる。従って、本発明は、好ましい実施例で説明された装置（ＳＩＭカード付携帯電話）に限定されず、上記で挙げられた如何なる種類の携帯電話や装置にも適用できる。
【００８８】
明確なイメージ化を促すために本発明の詳細を説明してきたが、そのような詳細な説明は、その目的のためだけのものであり、当業者にはその中で本発明の範囲を超えることなく変更を加えることができることが理解される。