(57)【要約】【課題】  ３次元仮想空間中に配置した２次元グラフィックス画像をより高品位な画像として出力するための技術を提供すること。【解決手段】  変形情報変換可否判別部２０４は、３次元変形情報２６０と等価の変換が２次元アフィン変換のみで達成できるか否かを判断する。達成できる場合、２次元ビットマップ生成部２０６は、２次元グラフィックス画像に対して３次元変形情報２６０が示す変換と等価の変換となる２次元アフィン変換を施すことで、処理済み２次元グラフィックス画像を生成する。【選択図】  図２
2010262605.tif 000002
【特許請求の範囲】
【請求項１】
２次元グラフィックス画像を３次元仮想空間中に配置する場合に、当該３次元仮想空間中での２次元グラフィックス画像に対する操作内容を示す操作情報を取得する手段と、
前記２次元グラフィックス画像を３次元仮想空間中に配置した場合に、配置した２次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する手段と、
前記操作情報が示す操作内容と等価の操作が、前記２次元グラフィックス画像に対する２次元アフィン変換のみで達成できるか否かを判断する判断手段と、
達成できると前記判断手段が判断した場合には、前記２次元グラフィックス画像に対して、前記操作情報が示す操作内容と等価の操作となる２次元アフィン変換を施すことで、処理済み２次元グラフィックス画像を生成する第１の生成手段と、
達成できないと前記判断手段が判断した場合には、前記２次元グラフィックス画像を前記操作情報が示す操作内容に従って操作して前記３次元仮想空間中に配置し、配置した２次元グラフィックス画像を前記投影情報に基づいて前記投影面上に投影することで前記投影面上に処理済み２次元グラフィックス画像を生成する第２の生成手段と、
前記第１の生成手段、若しくは前記第２の生成手段によって得られる処理済み２次元グラフィックス画像を出力する手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記操作情報は、前記３次元仮想空間中における前記２次元グラフィックス画像に対する３次元アフィン変換を行うためのマトリクスであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判断手段は、前記操作情報が示す３次元アフィン変換のマトリクスが次の構成
｜ａ１１  ａ１２      ０  ０｜
｜ａ２１  ａ２２      ０  ０｜
｜    ０      ０  ａ３３  ０｜
｜    Ｘ      Ｙ      Ｚ  １｜
を有しているか否かを判断することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記判断手段が、前記操作情報が示す３次元アフィン変換のマトリクスが次の構成
｜ａ１１  ａ１２      ０  ０｜
｜ａ２１  ａ２２      ０  ０｜
｜    ０      ０  ａ３３  ０｜
｜    Ｘ      Ｙ      Ｚ  １｜
を有していると判断した場合、
前記第１の生成手段は、次の構成
｜ａ１１  ａ１２      ０｜
｜ａ２１  ａ２２      ０｜
｜    Ｘ      Ｙ      １｜
を有しているマトリクスを用いた２次元アフィン変換を前記２次元グラフィックス画像に対して施すことで、処理済み２次元グラフィックス画像を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判断手段は、
前記投影面の位置と前記操作情報が示す前記２次元グラフィックス画像の配置位置との間の距離が閾値よりも大きく、且つ前記操作情報が規定する規定軸周りの回転角度が規定の範囲内である場合には、前記操作情報が示す操作内容と等価の操作が、前記２次元グラフィックス画像に対する２次元アフィン変換のみで達成できると判断することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
前記第１の生成手段は、達成できると前記判断手段が判断した場合には、前記操作情報が示すそれぞれの軸周りの回転角度のうち前記規定軸周りの回転角度を０に近づけた場合の操作情報を用いて、前記２次元グラフィックス画像に対して２次元アフィン変換を施すことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
２次元グラフィックス画像を３次元仮想空間中に配置する場合に、当該３次元仮想空間中での２次元グラフィックス画像に対する操作内容を示す操作情報を取得する手段と、
前記２次元グラフィックス画像を３次元仮想空間中に配置した場合に、配置した２次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する手段と、
前記操作情報と前記投影情報とを用いて２次元アフィン変換のマトリクスを生成し、生成したマトリクスを用いて前記２次元グラフィックス画像に対して２次元アフィン変換を施すことで、処理済み２次元グラフィックス画像を生成する手段と、
前記処理済み２次元グラフィックス画像を出力する手段と
を備えることを特徴とする画像処理装置。
【請求項８】
２次元グラフィックス画像を３次元仮想空間中に配置する場合に、当該３次元仮想空間中での２次元グラフィックス画像に対する操作内容を示す操作情報を取得する工程と、
前記２次元グラフィックス画像を３次元仮想空間中に配置した場合に、配置した２次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する工程と、
前記操作情報が示す操作内容と等価の操作が、前記２次元グラフィックス画像に対する２次元アフィン変換のみで達成できるか否かを判断する判断工程と、
達成できると前記判断工程で判断した場合には、前記２次元グラフィックス画像に対して、前記操作情報が示す操作内容と等価の操作となる２次元アフィン変換を施すことで、処理済み２次元グラフィックス画像を生成する第１の生成工程と、
達成できないと前記判断工程で判断した場合には、前記２次元グラフィックス画像を前記操作情報が示す操作内容に従って操作して前記３次元仮想空間中に配置し、配置した２次元グラフィックス画像を前記投影情報に基づいて前記投影面上に投影することで前記投影面上に処理済み２次元グラフィックス画像を生成する第２の生成工程と、
前記第１の生成工程、若しくは前記第２の生成工程によって得られる処理済み２次元グラフィックス画像を出力する工程と
を備えることを特徴とする画像処理方法。
【請求項９】
２次元グラフィックス画像を３次元仮想空間中に配置する場合に、当該３次元仮想空間中での２次元グラフィックス画像に対する操作内容を示す操作情報を取得する工程と、
前記２次元グラフィックス画像を３次元仮想空間中に配置した場合に、配置した２次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する工程と、
前記操作情報と前記投影情報とを用いて２次元アフィン変換のマトリクスを生成し、生成したマトリクスを用いて前記２次元グラフィックス画像に対して２次元アフィン変換を施すことで、処理済み２次元グラフィックス画像を生成する工程と、
前記処理済み２次元グラフィックス画像を出力する工程と
を備えることを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至７の何れか１項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元グラフィックス画像を生成するための技術に関するものである。
【背景技術】
【０００２】
２次元グラフィックスを描画した結果を３次元空間に配置した場合に、この空間内のある地点から見たときの空間の見え方をディスプレイなどの平面に出力する場合を考える。この場合、２次元グラフィックスを描画したビットマップに対して３次元アフィン変換をかけて空間内に配置した後、透視変換を行って平面に投影する必要がある。しかし、このような３次元変形処理は時間がかかるだけでなく、ビットマップに対して３次元変形処理と透視変換処理を行うために、２次元グラフィックスとして描画したときと比べて、このビットマップの画質が劣化してしまう。そのため、従来では以下の手法が提案された（特許文献１参照）。
【０００３】
従来方法ではまず、３次元構造データと２次元画像データの両方を格納しておく。そして、格納済みの２次元画像データが使用可能なときは、３次元構造データから２次元画像データを生成することなく、格納された２次元画像データを使用していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２６３６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、２次元グラフィックスを描画したビットマップに対して、３次元変形処理による空間配置と平面への投影処理という工程を行っていた。そのため、２次元グラフィックスをそのまま描画した結果と比べて出力結果の画質が落ちるという問題があった。また特許文献１の方法は、視点とオブジェクトとの相対関係が変更されると適用できないという問題があった。
【０００６】
本発明は以上の問題に鑑みてなされたものであり、３次元仮想空間中に配置した２次元グラフィックス画像をより高品位な画像として出力するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、２次元グラフィックス画像を３次元仮想空間中に配置する場合に、当該３次元仮想空間中での２次元グラフィックス画像に対する操作内容を示す操作情報を取得する手段と、前記２次元グラフィックス画像を３次元仮想空間中に配置した場合に、配置した２次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する手段と、前記操作情報が示す操作内容と等価の操作が、前記２次元グラフィックス画像に対する２次元アフィン変換のみで達成できるか否かを判断する判断手段と、達成できると前記判断手段が判断した場合には、前記２次元グラフィックス画像に対して、前記操作情報が示す操作内容と等価の操作となる２次元アフィン変換を施すことで、処理済み２次元グラフィックス画像を生成する第１の生成手段と、達成できないと前記判断手段が判断した場合には、前記２次元グラフィックス画像を前記操作情報が示す操作内容に従って操作して前記３次元仮想空間中に配置し、配置した２次元グラフィックス画像を前記投影情報に基づいて前記投影面上に投影することで前記投影面上に処理済み２次元グラフィックス画像を生成する第２の生成手段と、前記第１の生成手段、若しくは前記第２の生成手段によって得られる処理済み２次元グラフィックス画像を出力する手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、３次元仮想空間中に配置した２次元グラフィックス画像をより高品位な画像として出力することができる。
【図面の簡単な説明】
【０００９】
【図１】描画装置１００のハードウェア構成例を示すブロック図。
【図２】描画装置１００の機能構成例を示すブロック図。
【図３】２次元グラフィックス画像を生成してモニタ１０５に送出する処理のフローチャート。
【図４】２次元グラフィックス情報２５０、３次元変形情報２６０、投影情報２７０、２次元グラフィックス画像の一例、それぞれの情報を用いた処理によって得られる仮想空間を示す図。
【図５】２次元グラフィックス情報２５０、３次元変形情報２６０、投影情報２７０、２次元グラフィックス画像の一例、それぞれの情報を用いた処理によって得られる結果を示す図。
【図６】ステップＳ３０３における処理の詳細を示すフローチャート。
【図７】投影面上に画像を形成する仕組みを説明するための図。
【図８】ステップＳ３０３における処理の詳細を示すフローチャート。
【図９】２次元グラフィックス画像９０１をｙｚ平面に垂直な方向から見た仮想空間を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１１】
［第１の実施形態］
図１は、本実施形態に係る画像処理装置としての描画装置１００のハードウェア構成例を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０２やＲＡＭ１０３に格納されているコンピュータプログラムやデータを用いて描画装置１００全体の制御を行うと共に、描画装置１００が行うものとして後述する各処理を実行する。
【００１２】
ＲＯＭ１０２には、描画装置１００の設定データやブートプログラムなどが格納されている。ＲＡＭ１０３は、外部記憶装置１０７からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有すると共に、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ１０３は、各種のエリアを適宜提供することができる。
【００１３】
外部記憶装置１０７は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１０７には、ＯＳ（オペレーティングシステム）や、描画装置１００が行うものとして後述する各処理をＣＰＵ１０１に実行させるためのコンピュータプログラムやデータが保存されている。また、以下の説明において既知の情報として取り扱っているものについても、この外部記憶装置１０７に保存されている。外部記憶装置１０７に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０３にロードされ、ＣＰＵ１０１による処理対象となる。
【００１４】
モニタＩ／Ｆ（インターフェース）１０４は、モニタ１０５を描画装置１００に接続する為のインターフェースとして機能するもので、描画装置１００において処理した結果は映像信号としてこのモニタＩ／Ｆ１０４を介してモニタ１０５に送出される。
【００１５】
モニタ１０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１０１による処理結果を画像や文字などでもって表示することができる。１０６は上述の各部を繋ぐバスである。
【００１６】
なお、図１には、以下の説明で用いる構成用件のみを示しており、本実施形態に適用可能な装置の構成は、図１に示した構成に限定するものではない。例えば、各種の指示をＣＰＵ１０１に対して入力するためのキーボードやマウスを描画装置１００に接続するようにしても良い。また、描画装置１００をＬＡＮやインターネットなどのネットワークに接続する為のネットワークインターフェースを描画装置１００に設けても良い。この場合、描画装置１００は、外部記憶装置１０７に保存されているものとして説明した各種のコンピュータプログラムやデータを、上記ネットワークに接続されている外部装置からネットワークインターフェースを介してダウンロードしても良い。
【００１７】
図２は、描画装置１００の機能構成例を示すブロック図である。２次元グラフィックス情報取得部２０１は、２次元グラフィックス情報２５０を取得する。例えば、外部記憶装置１０７にこの２次元グラフィックス情報２５０が保存されている場合には、この２次元グラフィックス情報２５０を外部記憶装置１０７から取得する。詳しくは後述するが、２次元グラフィックス情報２５０とは、２次元平面上に描画するオブジェクトを規定するデータの集合であり、このデータの集合を用いることで、それぞれのオブジェクトを２次元平面上に描画することができる。以下では、２次元平面上に形成された全ての情報で構成される１枚の画像を２次元グラフィックス画像と呼称する。
【００１８】
３次元変形情報取得部２０２は、３次元変形情報（操作情報）２６０を取得する。例えば、外部記憶装置１０７にこの３次元変形情報２６０が保存されている場合には、この３次元変形情報２６０を外部記憶装置１０７から取得する。詳しくは後述するが、３次元変形情報２６０とは、２次元グラフィックス画像を３次元仮想空間中に配置する場合に、３次元仮想空間中での２次元グラフィックス画像に対する操作内容を示す情報である。
【００１９】
投影情報取得部２０３は、投影情報２７０を取得する。例えば、外部記憶装置１０７にこの投影情報２７０が保存されている場合には、この投影情報２７０を外部記憶装置１０７から取得する。詳しくは後述するが、投影情報２７０とは、２次元グラフィックス画像を３次元仮想空間中に配置した場合に、配置した２次元グラフィックス画像を投影面上に投影するために用いる情報である。
【００２０】
変形情報変換可否判別部２０４は、３次元変形情報取得部２０２が取得した３次元変形情報２６０を参照し、この３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみで達成できるか否かを判断する。換言すれば、この３次元変形情報２６０を、２次元的な操作内容を示す２次元変形情報に変換可能であるか否かを判断する。
【００２１】
３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみで達成できると判断された場合（ケース１）、変形情報変換部２０５、２次元ビットマップ生成部２０６が動作する。ケース１は、換言すれば、３次元変形情報２６０を２次元変形情報に変換することが可能であると判断された場合である。
【００２２】
一方、３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみでは達成できないと判断された場合（ケース２）、次の各部が動作する。即ち、ビットマップ情報生成部２０７、３次元仮想空間配置部２０８、投影情報取得部２０３、ビットマップ投影部２０９、が動作する。ケース２は、換言すれば、３次元変形情報２６０を２次元変形情報に変換することが不可能であると判断された場合である。
【００２３】
変形情報変換部２０５は、３次元変形情報２６０を２次元変形情報に変換する。係る変換について詳しくは後述する。そして２次元ビットマップ生成部２０６は、この２次元変形情報を用いて、２次元グラフィックス情報２５０が示す２次元グラフィックス画像に対する２次元アフィン変換を行う。そして２次元ビットマップ生成部２０６は、この２次元アフィン変換を施した２次元グラフィックス画像を処理済み２次元グラフィックス画像として、後段の出力部２１０に送出する。
【００２４】
一方、ビットマップ情報生成部２０７は、２次元グラフィックス情報２５０が示す２次元グラフィックス画像を生成する。３次元仮想空間配置部２０８は、この生成された２次元グラフィックス画像を仮想空間中に配置するのであるが、その配置の際に、３次元変形情報２６０が示す操作内容に従ってこの２次元グラフィックス画像を操作する。
【００２５】
ビットマップ投影部２０９は、３次元仮想空間配置部２０８による操作によって配置された２次元グラフィックス画像を、投影情報２７０に従って投影面上に投影することで、この投影面上に２次元グラフィックス画像を形成する。そしてビットマップ投影部２０９は、この投影面上に形成した２次元グラフィックス画像を処理済み２次元グラフィックス画像として、後段の出力部２１０に送出する。
【００２６】
出力部２１０は、ビットマップ投影部２０９、２次元ビットマップ生成部２０６の何れかから送出された処理済み２次元グラフィックス画像を、モニタＩ／Ｆ１０４を介してモニタ１０５に送出する。
【００２７】
なお、図２に示した描画装置１００内の各部は、ハードウェアでもって構成しても良いが、本実施形態では各部はコンピュータプログラムで構成されているものとして説明する。即ち、各部に対応するコンピュータプログラムは、外部記憶装置１０７に保存されており、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０３にロードされ、ＣＰＵ１０１により実行される。これにより、ＣＰＵ１０１は、図２に示した各部の機能を実現することができる。
【００２８】
図３は、描画装置１００が１枚の２次元グラフィックス画像を生成してモニタ１０５に送出するための処理のフローチャートである。なお以下の説明では図３に示した各ステッを実行する主体を図２に示した各部とするが、後述の通り、本実施形態では各部はＣＰＵ１０１によって実行されるので、実際には各ステップはＣＰＵ１０１によって実行されることになる。
【００２９】
また、図４には、本処理で用いる情報である２次元グラフィックス情報２５０、３次元変形情報２６０、投影情報２７０のそれぞれの一例と、２次元グラフィックス画像の一例、そして、それぞれの情報を用いた処理によって得られる仮想空間、を示している。従って以下では、図３に示したフローチャートに従った処理の説明には適宜、図４を用いる。
【００３０】
先ず、ステップＳ３０１では、２次元グラフィックス情報取得部２０１は、２次元グラフィックス情報２５０を取得する。図４（ａ）には、２次元グラフィックス情報２５０、３次元変形情報２６０、投影情報２７０のそれぞれを表形式に示している。領域４０１には２次元グラフィックス情報２５０が記されている。即ち、２次元グラフィックス情報２５０とは、円や矩形等、２次元グラフィックス画像上に描画する２次元オブジェクトのそれぞれについて、形状や色、配置情報のセットを保持する情報である。
【００３１】
図３に戻って、次に、ステップＳ３０２では、３次元変形情報取得部２０２は、３次元変形情報２６０を取得する。図４（ａ）の領域４０２には３次元変形情報２６０が記されている。即ち、３次元変形情報２６０とは、２次元グラフィックス画像を３次元仮想空間中に配置する場合に、その配置位置や各軸周りの回転角度を規定するもので、３次元アフィン変換の為のマトリクス（パラメータ）として表現される。領域４０２内に一例として記されている３次元アフィン変換のマトリクスは、ｚ軸方向にＺだけ平行移動させるためのものである。
【００３２】
図３に戻って、次に、ステップＳ３０３では、変形情報変換可否判別部２０４は、３次元変形情報取得部２０２が取得した３次元変形情報２６０を参照する。そして、この３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみで達成できるか否かを判断する。換言すれば、この３次元変形情報２６０を、２次元的な操作内容を示す２次元変形情報に変換可能であるか否かを判断する。
【００３３】
ここで、３次元アフィン変換により空間に配置された２次元グラフィックス画像と、この２次元グラフィックス画像を投影する投影面とが平行であれば、２次元グラフィックス画像に適切な２次元アフィン変換をかけても同等の出力結果を得ることができる。３次元アフィン変換により空間に配置された２次元グラフィックス画像と投影面とが平行となるためには、ｘ軸、ｙ軸周り（規定軸周り）の回転角度が０度あるいは１８０度でなければならない。そこでステップＳ３０３では、３次元変形情報２６０が示す３次元アフィン変換のマトリクスが、ｘ軸、ｙ軸周りの回転角度として０度若しくは１８０度を示すか否かを判断することで、３次元変形情報２６０を２次元変形情報に変換可能か否かを判断する。
【００３４】
図６は、ステップＳ３０３における処理の詳細を示すフローチャートである。ステップＳ６０１では、３次元変形情報２６０が示す３次元アフィン変換のマトリクスが、ｘ軸、ｙ軸周りの回転角度として０度若しくは１８０度を示すか否かを判断する。具体的には、３次元変形情報２６０が示す３次元アフィン変換のマトリクスが以下の構成となっているか否かを判断する。
【００３５】
｜ａ１１  ａ１２      ０  ０｜
｜ａ２１  ａ２２      ０  ０｜        （式１）
｜    ０      ０  ａ３３  ０｜
｜    Ｘ      Ｙ      Ｚ  １｜
式１において、ａ１１、ａ１２、ａ２１、ａ２２は、ｘｙ平面における回転、せん断、拡大縮小を組み合わせた成分であり、ａ３３はｚ軸方向の拡大縮小の成分である。また、Ｘ、Ｙ、Ｚは平行移動の成分を示している。
【００３６】
係る判断の結果、０度若しくは１８０度を示す場合には処理をステップＳ６０２に進める。一方、０度、１８０度の何れも示さない場合には処理をステップＳ６０３に進める。
【００３７】
３次元変形情報２６０が示す３次元アフィン変換のマトリクスが、ｘ軸、ｙ軸周りの回転角度として０度若しくは１８０度を示す場合、２次元グラフィックス画像に２次元アフィン変換を施しても、その形状は変わらない。従ってステップＳ６０２では、３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみで達成できると判断する。即ち、３次元変形情報２６０は２次元変形情報に変換可能であると判断する。
【００３８】
一方、３次元変形情報２６０が示す３次元アフィン変換のマトリクスが、ｘ軸、ｙ軸周りの回転角度として０度、１８０度の何れも示さない場合に、３次元アフィン変換後の２次元グラフィックス画像を投影面上に投影したとする。この場合、その投影面上の２次元グラフィックス画像の形状は、元の形状とは変わってしまっている。従ってステップＳ６０３では、３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみでは達成できないと判断する。即ち、３次元変形情報２６０は２次元変形情報に変換不可能であると判断する。
【００３９】
図３に戻って、上記ステップＳ６０１からステップＳ６０２に処理を進めた場合には、ステップＳ３０３からステップＳ３０４に処理を進めることになる。一方、上記ステップＳ６０１からステップＳ６０３に処理を進めた場合には、ステップＳ３０３からステップＳ３０７に処理を進めることになる。
【００４０】
ステップＳ３０４では、変形情報変換部２０５は、３次元変形情報２６０を２次元変形情報に変換する。本ステップでは、３次元変形情報２６０が示す３次元アフィン変換のマトリクスは上記（式１）に示した構成を有しているので、このマトリクスは以下の２次元変形情報に変換される。
【００４１】
｜ａ１１  ａ１２      ０｜
｜ａ２１  ａ２２      ０｜        （式２）
｜    Ｘ      Ｙ      １｜
次に、ステップＳ３０５では、２次元ビットマップ生成部２０６は、この２次元変形情報を用いて、２次元グラフィックス情報２５０が示す２次元グラフィックス画像に対する２次元アフィン変換を行う（第１の生成）。そして２次元ビットマップ生成部２０６は、この２次元アフィン変換を施した２次元グラフィックス画像を処理済み２次元グラフィックス画像として、後段の出力部２１０に送出する。図４（ｂ）に、図４（ａ）の領域４０１に記した２次元グラフィックス情報２５０に基づいて生成した２次元グラフィックス画像４１０を示す。
【００４２】
一方、ステップＳ３０７では、ビットマップ情報生成部２０７は、２次元グラフィックス情報２５０が示す２次元グラフィックス画像を生成する。次にステップＳ３０８では３次元仮想空間配置部２０８は、生成された２次元グラフィックス画像を仮想空間中に配置するが、その配置の際に、３次元変形情報２６０が示す操作内容に従ってこの２次元グラフィックス画像を移動させたり回転させたりする。図４（ｃ）は、３次元仮想空間配置部２０８により移動、回転が施されて仮想空間中に配置された２次元グラフィックス画像４１０を示している。
【００４３】
次に、ステップＳ３０９では、投影情報取得部２０３は、投影情報２７０を取得する。図４（ａ）の領域４０３には、投影情報２７０の一例を示している。同図では、ｚ＝０の平面上に投影するための情報を投影情報２７０としている。なお、仮想空間中に配された任意の形状の物体を、同じく仮想空間中に設けられた任意の面上に投影するために用いる情報については投影マトリクスなどがあり、係る技術については透視投影変換技術として周知である。従って、投影情報２７０についてこれ以上の説明は省略する。
【００４４】
次にステップＳ３１０ではビットマップ投影部２０９は、３次元仮想空間配置部２０８によって配置された２次元グラフィックス画像を、投影情報２７０に従って投影面上に投影することで、この投影面上に２次元グラフィックス画像を形成する（第２の生成）。図４（ｄ）は、２次元グラフィックス画像４１０を投影情報２７０に基づいて投影面上に投影した場合に、この投影面上に形成される２次元グラフィックス画像４２０を示している。そしてビットマップ投影部２０９は、この投影面上に形成した２次元グラフィックス画像を処理済み２次元グラフィックス画像として、後段の出力部２１０に送出する。
【００４５】
ステップＳ３０６では、出力部２１０は、ビットマップ投影部２０９、２次元ビットマップ生成部２０６の何れかから送出された処理済み２次元グラフィックス画像を、モニタＩ／Ｆ１０４を介してモニタ１０５に送出する。なお、本実施形態では、出力部２１０による出力先をモニタ１０５としているが、その出力先は例えば外部記憶装置１０７であっても良いし、特に限定するものではない。
【００４６】
［第２の実施形態］
本実施形態では、仮想空間中に配されている仮想物体（３次元形状を有している）を構成する一面のうち、正方形の面に対して、２次元グラフィックス画像を貼り付ける場合における、この２次元グラフィックス画像の生成方法について説明する。
【００４７】
なお、以下では、本実施形態と第１の実施形態とで異なる点のみについて述べ、第１の実施形態と同じ部分については説明を省略する。具体的には、本実施形態では、３次元アフィン変換のマトリクスが如何なる構成であろうとも、この３次元アフィン変換のマトリクスと投影情報２７０とを用いて２次元アフィン変換の為のマトリクスを２次元変形情報として生成する。従って図２において、変形情報変換可否判別部２０４、ビットマップ情報生成部２０７、３次元仮想空間配置部２０８、ビットマップ投影部２０９は不要で、変形情報変換部２０５は、投影情報取得部２０３が取得した投影情報２７０を取得する。
【００４８】
図５には、本処理で用いる情報である２次元グラフィックス情報２５０、３次元変形情報２６０、投影情報２７０のそれぞれの一例と、２次元グラフィックス画像の一例、そして、それぞれの情報を用いた処理によって得られる結果、を示している。
【００４９】
図５（ａ）には、２次元グラフィックス情報２５０、３次元変形情報２６０、投影情報２７０のそれぞれを表形式に示している。領域５０１には２次元グラフィックス情報２５０が記されている。ここでの２次元グラフィックス情報２５０は、２次元平面上に描画する２次元オブジェクトとしての円について、色、配置情報のセットを保持する情報である。
【００５０】
図５（ｂ）において、５０４は、図５（ａ）の領域５０１に記した２次元グラフィックス情報２５０に基づいて生成した２次元グラフィックス画像である。５０５は、この２次元グラフィックス画像５０４に対して２次元アフィン変換を施すことで生成される画像である。５０６は、画像５０５を投影面上に投影することで得られる画像である。この２次元アフィン変換、投影を含む一連の変換は、以下のマトリクスを用いて行うことができる。
【００５１】
｜ａ／ｄ  ｂ／ｄ      ０｜
｜    ０      １      ０｜        （式３）
｜    Ｘ      Ｙ      １｜
即ち、本実施形態では、このようなマトリクスとしての２次元変形情報を、３次元変形情報２６０と投影情報２７０とを用いて生成することになる。即ち、このマトリクス中のパラメータａ、ｄ、ｂは、３次元変形情報２６０、投影情報２７０に基づいて決まることになる。以降の処理については第１の実施形態と同じである。
【００５２】
図５（ａ）の領域５０２には３次元変形情報２６０が記されており、本実施形態では同図に示す如く、ｘ軸周りに３０度回転させると共に、ｙ軸周りに３０度回転させる３次元アフィン変換のマトリクスである。
【００５３】
図５（ｃ）は、２次元平面上における２次元グラフィックス画像５０４を示している。また、図５（ｄ）には、上記画像５０５を示している。図５（ａ）の領域５０３には、投影情報２７０の一例を示している。同図では、ｚ＝０の平面上に投影するための情報を投影情報２７０としている。
【００５４】
［第３の実施形態］
図７は、２次元グラフィックス画像を３次元アフィン変換により仮想空間中に配置し、この配置した２次元グラフィックス画像を投影面上に透視投影することでこの投影面上に画像を形成する仕組みを説明するための図である。
【００５５】
図７において７０１は２次元グラフィックス画像で、この２次元グラフィックス画像７０１を３次元アフィン変換により仮想空間中に配置したものが７０２で示す２次元グラフィックス画像である。このアフィン変換で用いるマトリクスは以下の構成を有するものである。
【００５６】
｜ａ１１  ａ１２  ａ１３  ０｜
｜ａ２１  ａ２２  ａ２３  ０｜        （式４）
｜ａ３１  ａ３２  ａ３３  ０｜
｜    Ｘ      Ｙ      Ｚ  １｜
そして、この２次元グラフィックス画像７０２を視点から見た場合に見える画像を生成すべく、この２次元グラフィックス画像７０２を投影面７０３上に透視投影変換を行うことで得られる画像が、７０４で示す画像である。
【００５７】
ここで、３次元アフィン変換により仮想空間中に配置された２次元グラフィックス画像と投影面との間の距離が充分に大きく、且つこの配置の際にｘ軸、ｙ軸周りの２次元グラフィックス画像の回転角度が充分に小さいケースを想定する。この場合、透視変換による画像の歪みは認識しがたいものとなる。
【００５８】
本実施形態では、係るケースを鑑み、３次元変形情報２６０を２次元変形情報に変換可能であるか否かを判断する際の判断基準が第１の実施形態と異なる。なお、その他については第１の実施形態と同じである。
【００５９】
図８は、ステップＳ３０３における処理の詳細を示すフローチャートである。先ずステップＳ８０１では、変形情報変換可否判別部２０４は、３次元変形情報２６０が規定する２次元グラフィックス画像の配置位置と、投影面との間の距離ｄを求め、求めた距離ｄが閾値（所定の値）より大きいか否かを判断する。係る判断の結果、求めた距離ｄが閾値よりも大きい場合には、処理をステップＳ８０２に進め、求めた距離ｄが閾値以下であれば、処理をステップＳ８０４に進める。
【００６０】
ステップＳ８０４では、上記ステップＳ６０３と同様、３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみでは達成できないと判断する。即ち、３次元変形情報２６０は２次元変形情報に変換不可能であると判断する。
【００６１】
一方、ステップＳ８０２では、変形情報変換可否判別部２０４は、３次元変形情報２６０が示す３次元アフィン変換のマトリクスが規定するｘ軸、ｙ軸周りの回転角度φが予め定められた範囲内であるか否かを判断する。具体的には、θを０に近い値を取る閾値とした場合に、ステップＳ８０２では、以下の（条件１）を満たすか否かを判断する。但し、φのとり得る値は（−９０＜φ≦２７０）とする。
【００６２】
｜θ｜＞｜φ｜              （−９０＜φ≦  ９０）
（条件１）
｜θ｜＞｜１８０−φ｜      （  ９０＜φ≦２７０）
図９は、平行移動とｘ軸周りの回転のみを含む３次元アフィン変換によって仮想空間中に配置された２次元グラフィックス画像９０１を、ｙｚ平面に垂直な方向から見た場合の仮想空間を示す図である。なお紙面に垂直な方向がｘ軸である。
【００６３】
２次元グラフィックス画像９０１の高さはｈとし、視点は原点の位置にあり、原点からｚ軸方向に距離Ｄの位置に、ｘｙ平面に平行な投影面９０２があるものとする。法線９０３は２次元グラフィックス画像９０１の法線である。２次元グラフィックス画像９０１は投影面９０２から距離ｄの位置にあり、ｘ軸周りに回転角度φで配置されている。ここで、距離ｄが充分に大きく、且つ角度φが上記（条件１）を満たしている場合、２次元グラフィックス画像９０１を、その高さをｈｃｏｓφに縮小してからｚ＝Ｄ＋ｄの位置に配置する。これにより、２次元グラフィックス画像９０１がｘ軸方向への回転なして配置されているものと近似する。
【００６４】
ｘ、ｙ軸周りの回転と平行移動を含んだ、３次元アフィン変換の為のマトリクスは上記（式４）に示したものとなる。ここで、視点からの投影面までの距離をＤとし、２次元グラフィックス画像と投影面との間の距離ｄが充分に大きく、ｘ、ｙ軸周りの回転角度φが共に上記（条件１）を満たしている場合、近似される２次元アフィン変換の為のマトリクスは以下のようになる。
【００６５】
｜ａ１１  ａ１２      ０｜  ｜√（１−ａ３２２）  ０                  ０｜
｜ａ２１  ａ２２      ０｜×｜０                  √（１−ａ１３２）  ０｜
｜    Ｘ      Ｙ  Ｚ／Ｄ｜  ｜０                  ０                  １｜
係る２次元アフィン変換を２次元グラフィックス画像に施した場合に、この２次元グラフィックス画像上の座標値（ｘ、ｙ）は投影面上では以下の座標値（変換後座標値）に変換される。
【００６６】
（Ｄ／Ｚ×（ａ１１ｘ＋ａ２１ｙ＋Ｘ）×√（１−ａ３２２）、
Ｄ／Ｚ×（ａ１２ｘ＋ａ２２ｙ＋Ｙ）×√（１−ａ１３２））
ｘ軸周りの回転角度をφ、ｙ軸周りの回転角度をψ、Ｚ方向の平行移動成分を（Ｄ＋ｄ）とすると（Ｄは視点から投影面までの距離）、上記変換後座標値は以下のようになる。
【００６７】
（Ｄ／（Ｄ＋ｄ）×（ｘｃｏｓψ＋ｙｓｉｎφｓｉｎψ＋Ｘ）×√（１−ｓｉｎ２φ）、Ｄ／（Ｄ＋ｄ）×（ｙｃｏｓφ＋Ｙ）×√（１−ｓｉｎ２ψ）
ここで、φとψの値を０に限りなく近づけるとこの変換後座標値は以下のようになる。
【００６８】
（Ｄ／（Ｄ＋ｄ）×（ｘ＋Ｘ）、Ｄ／（Ｄ＋ｄ）×（ｙ＋Ｙ））
係る変換後座標値において、ｄが大きくなるほどｘ成分、ｙ成分は共に小さくなるので、近似による誤差も小さくなる。然るに、ステップＳ８０２において、上記（条件１）が満たされていれば処理をステップＳ８０３に進めるし、満たされていなければ処理をステップＳ８０４に進める。
【００６９】
ステップＳ８０３では、３次元変形情報２６０が示す操作内容と等価の操作が、２次元グラフィックス画像に対する２次元アフィン変換のみで達成できると判断する。即ち、３次元変形情報２６０は２次元変形情報に変換可能であると判断する。そしてこの２次元変形情報とは、上記近似の２次元アフィン変換の為のマトリクスとなる。
【００７０】
なお、上記ステップＳ８０３に処理を進めた場合には、ステップＳ３０３からステップＳ３０４に処理を進めることになる。一方、上記ステップＳ８０４に処理を進めた場合には、ステップＳ３０３からステップＳ３０７に処理を進めることになる。
【００７１】
以上の実施形態によれば、仮想空間中に配置した２次元グラフィックス画像の描画を行う場合に、３次元アフィン変換の代わりに２次元アフィン変換で対処可能なケースを検出することができる。これにより、係るケースの場合には、２次元アフィン変換により２次元グラフィックス画像を描画することができるため、高品位な画像の描画を行うことができると共に、視認性を向上させることができる。また、係るケースでは３次元的な処理を省くことができ、処理負荷を軽減させることができる。
【００７２】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００７３】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図１】
2010262605.tif 000003
【図２】
2010262605.tif 000004
【図３】
2010262605.tif 000005
【図４】
2010262605.tif 000006
【図５】
2010262605.tif 000007
【図６】
2010262605.tif 000008
【図７】
2010262605.tif 000009
【図８】
2010262605.tif 000010
【図９】
2010262605.tif 000011