(57)【要約】【課題】メモリ容量の限られた機器において、高速に２次元グラフィックスを３次元仮想空間に配置して投影、描画することを目的とする。【解決手段】２次元グラフィックスの３次元仮想空間における配置情報と、投影条件と、に基づいて、２次元グラフィックスのバウンディングボックスの４頂点が投影される座標を算出する座標算出手段と、座標算出手段で算出された４頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、平行四辺形算出手段で算出された平行四辺形の４頂点に基づいて２次元変形情報を計算する計算手段と、計算手段で計算された２次元変形情報に基づいて、２次元グラフィックスの形状を変形して描画する描画手段と、を有することによって課題を解決する。【選択図】図１
2010286896.tif 000002
【特許請求の範囲】
【請求項１】
２次元グラフィックスの３次元仮想空間における配置情報と、投影条件と、に基づいて、２次元グラフィックスのバウンディングボックスの４頂点が投影される座標を算出する座標算出手段と、
前記座標算出手段で算出された４頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、
前記平行四辺形算出手段で算出された平行四辺形の４頂点に基づいて２次元変形情報を計算する計算手段と、
前記計算手段で計算された２次元変形情報に基づいて、前記２次元グラフィックスの形状を変形して描画する描画手段と、
を有する、描画処理装置。
【請求項２】
前記投影条件を受信する投影条件受信手段を更に有する、請求項１記載の描画処理装置。
【請求項３】
前記配置情報を受信する配置情報受信手段を更に有する、請求項１又は２記載の描画処理装置。
【請求項４】
描画処理命令を受信する描画処理命令受信手段と、
前記画処理命令受信手段で受信された前記描画処理命令に基づいて、２次元グラフィックスのバウンディングボックスを算出するバウンディングボックス算出手段と、
を更に有する、請求項１乃至３の何れか１項記載の描画処理装置。
【請求項５】
前記配置情報受信手段で受信された前記配置情報は、３次元アフィン変換行列で表され、
前記座標算出手段は、前記３次元アフィン変換行列と、投影条件と、に基づいて、２次元グラフィックスのバウンディングボックスの４頂点が投影される座標を算出する、請求項３記載の描画処理装置。
【請求項６】
前記計算手段は、前記平行四辺形算出手段で算出された平行四辺形の４頂点に基づいて、２次元アフィン変換行列で表される２次元変形情報を計算する、請求項１乃至５何れか１項記載の描画処理装置。
【請求項７】
前記平行四辺形算出手段は、前記座標算出手段で算出された４頂点によって構成される四角形の各辺の中点を通る平行四辺形を算出する、請求項１乃至６の何れか１項記載の描画処理装置。
【請求項８】
前記平行四辺形算出手段は、前記座標算出手段で算出された４頂点によって構成される四角形に内包される平行四辺形を算出する、請求項１乃至６の何れか１項記載の描画処理装置。
【請求項９】
前記描画処理命令受信手段で受信された前記描画処理命令に応じて、２次元グラフィックスで描画するか、又は３次元グラフィックスで描画するかを判定する判定手段を更に有し、
前記バウンディングボックス算出手段は、前記判定手段において２次元グラフィックスで描画すると判定された場合、前記画処理命令受信手段で受信された前記描画処理命令に基づいて、２次元グラフィックスのバウンディングボックスを算出する、請求項４記載の描画処理装置。
【請求項１０】
２次元グラフィックスの３次元仮想空間における配置情報と、投影条件と、に基づいて、２次元グラフィックスのバウンディングボックスの４頂点が投影される座標を算出する座標算出ステップと、
前記座標算出ステップで算出された４頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出ステップと、
前記平行四辺形算出ステップで算出された平行四辺形の４頂点に基づいて２次元変形情報を計算する計算ステップと、
前記計算ステップで計算された２次元変形情報に基づいて、前記２次元グラフィックスの形状を変形して描画する描画ステップと、
を含む、コンピュータにおける描画処理方法。
【請求項１１】
コンピュータを、
２次元グラフィックスの３次元仮想空間における配置情報と、投影条件と、に基づいて、２次元グラフィックスのバウンディングボックスの４頂点が投影される座標を算出する座標算出手段と、
前記座標算出手段で算出された４頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、
前記平行四辺形算出手段で算出された平行四辺形の４頂点に基づいて２次元変形情報を計算する計算手段と、
前記計算手段で計算された２次元変形情報に基づいて、前記２次元グラフィックスの形状を変形して描画する描画手段と、
して機能させる、プログラム。
【請求項１２】
請求項１１記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画処理装置及び描画処理方法に関する。
【背景技術】
【０００２】
従来、２次元グラフィックスを３次元仮想空間に配置して投影、描画するものとしては、２次元グラフィックスを一度描画してビットマップを取得し、それを３次元仮想空間に配置して描画することが一般的であった。また、一度ビットマップに変換するのではなく、２次元グラフィックスの形状情報をポリゴンに変換し、３次元グラフィックスとして描画する提案もされている（例えば特許文献１）。更に３次元グラフィックスのレンダリングを行わず２次元グラフィックスを代わりに描画することでパフォーマンスを向上させる提案がされている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２６０００８号公報
【特許文献２】特開平８−２６３６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の一般的な方法では、２次元グラフィックスが内包される大きさのビットマップを格納できるメモリを確保する必要があり、搭載メモリの小さい機器では処理を実現するのが困難であった。また、２次元グラフィックスをポリゴンに変換する方法によれば、複雑な２次元グラフィックスをポリゴンに変換する処理の負荷が高くなる可能性がある。また、２次元グラフィックスを保持する方法によれば、高速に処理できる反面、メモリ使用量が増大する恐れがある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、メモリ容量の限られた機器において、高速に２次元グラフィックスを３次元仮想空間に配置して投影、描画することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の描画処理装置は、２次元グラフィックスの３次元仮想空間における配置情報と、投影条件と、に基づいて、２次元グラフィックスのバウンディングボックスの４頂点が投影される座標を算出する座標算出手段と、前記座標算出手段で算出された４頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、前記平行四辺形算出手段で算出された平行四辺形の４頂点に基づいて２次元変形情報を計算する計算手段と、前記計算手段で計算された２次元変形情報に基づいて、前記２次元グラフィックスの形状を変形して描画する描画手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、メモリ容量の限られた機器において、高速に２次元グラフィックスを３次元仮想空間に配置して投影、描画することができる。
【図面の簡単な説明】
【０００８】
【図１】描画処理装置のハードウェア構成の一例を示す図である。
【図２】実施形態１の描画処理装置の機能構成の一例を示す図である。
【図３】実施形態１の描画処理装置における処理の一例を示すフローチャートである。
【図４】３次元仮想空間配置情報の一例を示す図である。
【図５】２次元グラフィックス描画処理命令を説明するための図である。
【図６】ステップ３０５の処理の一例を説明するための図（その１）である。
【図７】ステップ３０５の処理の一例を説明するための図（その２）である。
【図８】ステップ３０５及びステップ３０６の処理の一例を説明するための図である。
【図９】ステップ３０７の処理の一例を説明するための図である。
【図１０】実施形態１の描画結果の一例を示す図である。
【図１１】ステップ３０６の処理の他の例を説明するための図である。
【図１２】実施形態２の描画処理装置の機能構成の一例を示す図である。
【図１３】実施形態２の描画処理装置における処理の一例を示すフローチャートである。
【図１４】２次元グラフィックス描画処理命令の一例を示す図である。
【図１５】ステップ１３１０の処理の詳細を示したフローチャートである。
【図１６】ステップ１５０４の処理の一例を説明するための図である。
【図１７】実施形態２の描画結果の一例を示す図である。
【図１８】ステップ１３０６及びステップ１３０７の処理の一例を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
実施形態１について説明する。
図１は、描画処理装置（コンピュータ）のハードウェア構成の一例を示す図である。図１において、ＣＰＵ１０２は、描画処理装置が装備している各機能を実行、制御する。ＲＯＭ１０３は、変更を必要としないプログラムや各種パラメータを格納する。ＲＡＭ１０４は、ＳＤＲＡＭ、ＤＲＡＭ等によって構成され、外部装置等から供給されるプログラムやデータを一時記憶する。描画ユニット１０５は、プログラムに基づきＣＰＵ１０２が描画したグラフィックスを出力する。バス１０１は、システムバスであって、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４及び描画ユニット１０５を接続する。
【００１１】
以下、本実施形態の処理の流れについて、図２〜図１１を用いて説明する。
図２は、実施形態１の描画処理装置の機能構成の一例を示す図である。図３は、実施形態１の描画処理装置における処理の一例を示すフローチャートである。図４は、３次元仮想空間配置情報の一例を示す図である。図５は、２次元グラフィックス描画処理命令を説明するための図である。図６は、ステップ３０５の処理の一例を説明するための図（その１）である。図７は、ステップ３０５の処理の一例を説明するための図（その２）である。図８は、ステップ３０５及びステップ３０６の処理の一例を説明するための図である。図９は、ステップ３０７の処理の一例を説明するための図である。図１０は、実施形態１の描画結果の一例を示す図である。図１１は、ステップ３０６の処理の他の例を説明するための図である。
まず、３次元仮想空間配置情報受信部２０３は、３次元仮想空間への配置情報（３次元仮想空間配置情報）を、他の装置等より受信する（ステップ３０１）。ここでは３次元仮想空間はＸＹＺ直交座標系で表現されているものとし、３次元仮想空間配置情報は３次元アフィン変換行列で表現されているものとする。３次元アフィン変換は、一般形として３行４列の行列で表現され、ここで入力される３次元仮想空間配置情報を図４に示した３行４列の行列であるとする。
【００１２】
次に、投影条件受信部２０４は、投影条件を他の装置等より受信する（ステップ３０２）。投影条件は、視点の座標と投影面の情報、及び投影方法から構成される。ここでは、視点の座標を（０，０，−ｚｅ）（但しｚｅ＞０）、投影面の情報をＸＹ平面とし、投影方法は一点透視投影であるとする。
次に、２次元グラフィックス描画処理命令受信部２０２は、２次元グラフィックス描画処理命令を他の装置等より受信する（ステップ３０３）。２次元グラフィックス描画処理命令は、図５（ａ）に示したようなＡＯＢＣＤで囲まれた多角形５０１（斜線部）を描画処理するための命令であるとする。続いて、２次元グラフィックスバウンディングボックス算出部２０５は、受信された２次元グラフィックス描画処理命令に基づいて、２次元グラフィックスのバウンディングボックスを計算する（ステップ３０４）。ここで、バウンディングボックスとは、２次元グラフィックスを内包する、ＸＹ軸に平行な辺を持つ最小の長方形であるとする。図５（ａ）の多角形のバウンディングボックスは、図５（ｂ）に示されている長方形５０２（点線部）である。
【００１３】
次に、バウンディングボックス投影処理部２０６は、算出されたバウンディングボックスが３次元仮想空間配置情報と投影条件とによって投影されるときの、バウンディングボックスの４頂点の投影先を計算（座標算出）する（ステップ３０５）。ここで、ステップ３０５の処理について図６の模式図を用いて更に詳しく説明する。まず、視点をＥとすると、Ｅの座標は（０，０，−ｚｅ）（但しｚｅ＞０）である。任意の点Ｐ（ｘ，ｙ，ｚ）があり、これを投影条件にしたがってＸＹ平面に投影すると、点Ｐの投影先は直線ＰＥとＸＹ平面との交点Ｑとなる。交点Ｑの座標は（ｘ＊ｄ／（ｚ＋ｚｅ），ｙ＊ｄ／（ｚ＋ｚｅ），０）として求まる。点Ｐから点Ｑへの写像は、図７（ａ）のような４行４列の同次変換行列で表現することができる。また、３次元仮想空間配置情報を表現する３行４列の行列も、同次変換行列で表現することが可能であり、図７（ｂ）のような４行４列の行列で表現できる。また、ＸＹＺ直交座標系における任意の点Ａ（ｘ，ｙ，ｚ）も同次座標系では図７（ｃ）のように４次元の座標で表現される。
【００１４】
バウンディングボックス投影処理部２０６は、任意の点Ａが３次元仮想空間配置情報と投影条件とにより投影される投影先を３次元アフィン変換行列と投影条件とから導かれる透視投影行列の積を計算し、その行列で点Ａを写像させることで求めることができる。式で表現すると、図７（ｄ）のようになる。なお、バウンディングボックスの４頂点は、何れもＺ座標が０である。よって、バウンディングボックス投影処理部２０６は、図７（ｄ）で示された式に、図５（ｂ）で示したバウンディングボックスの４頂点Ａ（−ｓ，ｔ，０），Ｂ（−ｓ，−ｔ，０），Ｃ（ｓ，−ｔ，０），Ｄ（ｓ，ｔ，０）を与える。このことによって投影先の４点を取得することができる。
ステップ３０５において計算されて得られたバウンディングボックスの４頂点Ａ，Ｂ，Ｃ，Ｄの投影先をそれぞれＡ'，Ｂ'，Ｃ'，Ｄ'とする。投影先の点Ａ'，Ｂ'，Ｃ'，Ｄ'を図示したのが図８（ａ）である。
【００１５】
次に、平行四辺形算出部２０７は、投影先の４点を囲む四角形に近似した平行四辺形を求める（ステップ３０６）。ここで、平行四辺形の導出方法について説明する。まず、平行四辺形算出部２０７は、線分Ａ'Ｂ'の中点Ｒ、線分Ｂ'Ｃ'の中点Ｓ、線分Ｃ'Ｄ'の中点Ｔ、線分Ｄ'Ａ'の中点Ｕをそれぞれ求める。次に、平行四辺形算出部２０７は、点Ｒ、点Ｓ、点Ｔ、点Ｕを４辺の中点となるような平行四辺形ＥＦＧＨを求める。平行四辺形算出部２０７は、平行四辺形ＥＦＧＨを、辺ＥＦと辺ＧＨが線分ＳＵと平行になるように、辺ＦＧと辺ＨＥが線分ＲＴと平行になるように求めればよい。
【００１６】
次に、２次元変形情報取得部２０８は、ステップ３０６で求められた平行四辺形から２次元変形情報を求める（ステップ３０７）。図９（ａ）の平行四辺形ＥＦＧＨにおいて、点Ｆの座標を（ｐ，ｑ）とする。また、ベクトルＦＥを（αｅ，βｅ）、ベクトルＦＧを（αｇ，βｇ）とする。ここで、長さが１の正方形Ｅ'Ｆ'Ｇ'Ｈ'が、点Ｆ'が原点と一致し、Ｇ'がＸ軸上に配置されたとし、正方形Ｅ'Ｆ'Ｇ'Ｈ'の平行四辺形ＥＦＧＨへの写像を求める。写像を２次元アフィン変換の同次座標系で表現して求まるのが、図９（ｂ）に示した３行３列の行列である。次に、図５（ｂ）で示した２次元グラフィックスのバウンディングボックスの形状である長方形ＡＢＣＤを図９（ａ）におけるＥ'Ｆ'Ｇ'Ｈ'に変形させる写像を計算すると、図９（ｃ）に示した３行３列の２次元アフィン変換行列が導出される。よって、長方形ＡＢＣＤを平行四辺形ＥＦＧＨに変形させる写像は図９（ｂ）で示した行列と図９（ｃ）で示した行列との積として求められる。
【００１７】
次に、２次元グラフィックス描画部２０９は、ステップ３０７で算出された２次元アフィン変換行列をもとに、２次元グラフィックスを描画する（ステップ３０８）。その結果、図１０に示したような描画結果が得られる。以上で描画処理装置は図３に示した処理を終了する。
なお、ステップ３０６において、近似平行四辺形を算出する方法を説明したが、算出方法は他の方法であってもよい。例えば、平行四辺形算出部２０７は、図１１のように四角形Ａ'Ｂ'Ｃ'Ｄ'の各内角のうち、最も大きな角を持つ頂点を通らない辺が一致するような平行四辺形ＥＦＧＨを近似平行四辺形としてもよい。図１１の例では、四角形Ａ'Ｂ'Ｃ'Ｄ'の内角で最も大きいのはＢ'であるので、辺Ｄ'Ａ'と辺Ｃ'Ｄ'を２辺とするような平行四辺形ＥＦＧＨが得られる。
【００１８】
＜実施形態２＞
実施形態２について説明する。
ハードウェア構成は実施形態１で説明したものと同じであるので、説明を省略する。
以下、本実施形態の処理の流れについて、図１２〜図１８を用いて説明する。
図１２は、実施形態２の描画処理装置の機能構成の一例を示す図である。図１３は、実施形態２の描画処理装置における処理の一例を示すフローチャートである。図１４は、２次元グラフィックス描画処理命令の一例を示す図である。図１５は、ステップ１３１０の処理の詳細を示したフローチャートである。図１６は、ステップ１５０４の処理の一例を説明するための図である。図１７は、実施形態２の描画結果の一例を示す図である。図１８は、ステップ１３０６及びステップ１３０７の処理の一例を説明するための図である。
まず、３次元仮想空間配置情報受信部１２０３は、３次元仮想空間への配置情報を、他の装置等より受信する（ステップ１３０１）。ここでは３次元仮想空間はＸＹＺ直交座標系で表現されているものとし、３次元仮想空間配置情報は３次元アフィン変換行列で表現されているものとする。３次元アフィン変換は、一般形として３行４列の行列で表現される。ここで入力される３次元仮想空間配置情報は、図４に示したものと同じ３行４列の行列であるとする。
【００１９】
次に、投影条件受信部１２０４は、投影条件を他の装置等より受信する（ステップ１３０２）。投影条件は、視点の座標と投影面の情報、及び投影方法から構成される。ここでは、視点の座標を（０，０，−ｚｅ）（但しｚｅ＞０）、投影面の情報をＸＹ平面とし、投影方法は一点透視投影であるとする。
次に、２次元グラフィックス描画処理命令受信部１２０２は、２次元グラフィックス描画処理命令を他の装置等より受信する（ステップ１３０３）。次に描画処理判定部１２０５は、２次元グラフィックスで描画するか、３次元グラフィックスとして描画するかを判定する（ステップ１３０４）。描画処理判定部１２０５は、２次元グラフィックス描画処理命令が、テキスト描画処理命令であれば２次元グラフィックスでの描画を行うと判定し、それ以外の場合は、３次元グラフィックスで描画を行うと判定する。
ここで、入力される２次元グラフィックス描画処理命令について図１４の例を用いて説明する。図１４（ａ）は、２次元グラフィックス処理命令について説明するための模式図である。描画処理装置は、図形描画処理命令１４０１に基づき処理を実行した後、テキスト描画処理命令１４０２に基づき処理を実行する。図１４（ｂ）は、図形描画処理命令１４０１とテキスト描画処理命令１４０２とを同じＸＹ平面に描画したときに得られる描画結果である。
【００２０】
ここでまず、図形描画処理命令１４０１について、処理の流れを説明する。図形描画処理命令１４０１の場合、ステップ１３０４においてテキスト描画処理命令ではないと判定されるので、３次元グラフィックス描画処理部１２１１は、３次元グラフィックスとして描画する（ステップ１３１０）。ステップ１３１０の処理について、更に詳しく図１５のフローチャートを用いて説明する。
まず３次元グラフィックス描画処理部１２１１は、図形描画処理命令１４０１に含まれる２次元グラフィックスのバウンディングボックスの大きさを取得する（ステップ１５０１）。取得したバウンディングボックスの幅ｓ、高さｔである。次に、３次元グラフィックス描画処理部１２１１は、ＲＡＭ１０４上に幅ｓ、高さｔの大きさの矩形のピクセルデータが格納できるメモリ領域を確保する（ステップ１５０２）。
【００２１】
次に、３次元グラフィックス描画処理部１２１１は、確保したメモリ領域に、図形描画処理命令１４０１の描画結果を出力する（ステップ１５０３）。ここでの処理は所謂ラスタライズ処理と呼ばれ、３次元グラフィックス描画処理部１２１１は、ベクトル形式で表現されていた描画処理命令をラスタ画像形式のデータに変換する。次に、３次元グラフィックス描画処理部１２１１は、格納されているラスタ画像形式のデータを用いて、３次元仮想空間配置情報と投影条件とに基づき、３次元アフィン変換行列を算出する（ステップ１５０４）。図１６（ａ）は投影条件を、図１６（ｂ）は３次元仮想空間配置情報を、それぞれ４行４列の行列で表現したものである。図形描画処理命令１４０１に関する変換行列Ｔは図１６（ｃ）のように表わされる。
続いて、３次元グラフィックス描画処理部１２１１は、ラスタ画像形式のデータを、３次元アフィン変換行列に基づいて投影、描画を行う（ステップ１５０５）。ここでは、画像補間計算アルゴリズムは特に限定しない。ニアレストネイバー法でもよいし、バイリニア法であってもよい。図１７（ａ）は、図形描画処理命令１４０１の描画処理を終えた段階での描画結果を表わしたものである。
【００２２】
次に、テキスト描画処理命令１４０２について説明する。ステップ１３０３の処理に戻り、２次元グラフィックス描画処理命令受信部１２０２は、テキスト描画処理命令１４０２を受信する。描画処理判定部１２０５は、受信されたテキスト描画処理命令１４０２に応じて、２次元で描画するかどうかを判定する（ステップ１３０４）。先に説明したように、テキスト描画処理命令の場合、描画処理判定部１２０５において２次元グラフィックスで描画すると判定される。続いて、２次元グラフィックスバウンディングボックス算出部１２０６は、２次元グラフィックスのバウンディングボックスを計算する（ステップ１３０５）。ここで取得されるバウンディングボックスは図１４（ｂ）における長方形ＡＢＣＤであるものとする。
次に、バウンディングボックス投影処理部１２０７は、算出されたバウンディングボックスが３次元仮想空間配置情報と投影条件とによって投影されるときの、バウンディングボックスの４頂点の投影先を計算（座標算出）する（ステップ１３０６）。ステップ１３０６における詳しい処理の説明は、実施形態１における図７を用いたステップ３０５の説明と同じなので、ここでは説明を省略する。
【００２３】
ステップ１３０６において計算して得られたバウンディングボックスの４頂点Ａ，Ｂ，Ｃ，Ｄの投影先をそれぞれＡ'，Ｂ'，Ｃ'，Ｄ'とする。投影先の点Ａ'，Ｂ'，Ｃ'，Ｄ'を図示したのが図１８（ａ）である。次に、平行四辺形算出部１２０８は、投影先の４点を囲む四角形に近似した平行四辺形を求める（ステップ１３０７）。ここで、平行四辺形の導出方法について図１８（ｂ）を用いて説明する。図１８（ｂ）において、平行四辺形算出部１２０８は、四角形Ａ'Ｂ'Ｃ'Ｄ'の各辺の中点Ｒ，Ｓ，Ｔ，Ｕを求める。次に、平行四辺形算出部１２０８は、線分ＲＴ、線分ＳＵに平行な直線のうち、辺Ｂ'Ｃ'と辺Ｃ'Ｄ'の何れかの辺と交点を持つ直線を点Ａ'から引く。引かれた直線は図１８（ｂ）における点線１８０１である。平行四辺形算出部１２０８は、他の頂点についても同様に直線を引き、点線１８０２、点線１８０３、点線１８０４が加わる。平行四辺形算出部１２０８は、これら４本の点線の各交点Ｅ、Ｆ、Ｇ、Ｈを求めることにより、四角形Ａ'Ｂ'Ｃ'Ｄ'に内包される平行四辺形ＥＦＧＨを導出することができる。
次に、２次元変形情報取得部１２０９は、平行四辺形ＥＦＧＨから、２次元変形情報として２次元アフィン変換行列を算出する（ステップ１３０８）。ここでの計算方法は実施形態１のステップ３０７で図９を用いた説明と同じであるので、説明を省略する。次に、２次元グラフィックス描画部１２１０は、取得された２次元アフィン変換行列を用いて、テキスト描画処理命令１４０２を実行する（ステップ１３０９）。２次元グラフィックス描画部１２１０が、テキスト描画処理命令１４０２による描画結果と、図形描画処理命令１４０１による描画結果と、を合成すると、図１７（ｂ）のような最終の描画結果が得られる。
【００２４】
本実施形態のステップ１３０４において、２次元グラフィックスで描画するか否かを、２次元グラフィックス描画処理命令がテキスト描画処理命令であるかどうかを判断基準にすると説明したが、他の判断基準を用いるようにしてもよい。例えば、描画処理判定部１２０５は、２次元グラフィックス描画処理命令の、全体に対して占める割合が指定された閾値より下回るときに、出力結果に対する影響が軽微であると判断し、２次元グラフィックスによる処理を行うように判断してもよい。或いは、描画処理判定部１２０５は、アニメーション処理で、２次元グラフィックス処理命令を繰り返し実行するにあたり、１フレームあたりの描画時間が閾値を超えると予測された場合に、２次元グラフィックスによる処理を行うよう判断してもよい。
【００２５】
＜その他の実施形態＞
また、上述した実施形態の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコードを記録した記憶媒体は上述した実施形態を構成することになる。
【００２６】
また、システム或いは装置の中央演算処理手段が読み出したプログラムコードを実行することにより、プログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【００２７】
更に、記憶媒体から読み出されたプログラムコードが、システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、プログラムコードの指示に基づき、機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【００２８】
上述した実施形態を記憶媒体に適用する場合、記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００２９】
以上、上述した各実施形態によれば、メモリ容量の限られた機器において、高速に２次元グラフィックスを３次元仮想空間に配置して投影、描画することができる。
【００３０】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３１】
１０２  ＣＰＵ
【図１】
2010286896.tif 000003
【図２】
2010286896.tif 000004
【図３】
2010286896.tif 000005
【図４】
2010286896.tif 000006
【図５】
2010286896.tif 000007
【図６】
2010286896.tif 000008
【図７】
2010286896.tif 000009
【図８】
2010286896.tif 000010
【図９】
2010286896.tif 000011
【図１０】
2010286896.tif 000012
【図１１】
2010286896.tif 000013
【図１２】
2010286896.tif 000014
【図１３】
2010286896.tif 000015
【図１４】
2010286896.tif 000016
【図１５】
2010286896.tif 000017
【図１６】
2010286896.tif 000018
【図１７】
2010286896.tif 000019
【図１８】
2010286896.tif 000020