説明

画像処理装置、画像処理方法

【課題】 3次元仮想空間中に配置した2次元グラフィックス画像をより高品位な画像として出力するための技術を提供すること。
【解決手段】 変形情報変換可否判別部204は、3次元変形情報260と等価の変換が2次元アフィン変換のみで達成できるか否かを判断する。達成できる場合、2次元ビットマップ生成部206は、2次元グラフィックス画像に対して3次元変形情報260が示す変換と等価の変換となる2次元アフィン変換を施すことで、処理済み2次元グラフィックス画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2次元グラフィックス画像を生成するための技術に関するものである。
【背景技術】
【0002】
2次元グラフィックスを描画した結果を3次元空間に配置した場合に、この空間内のある地点から見たときの空間の見え方をディスプレイなどの平面に出力する場合を考える。この場合、2次元グラフィックスを描画したビットマップに対して3次元アフィン変換をかけて空間内に配置した後、透視変換を行って平面に投影する必要がある。しかし、このような3次元変形処理は時間がかかるだけでなく、ビットマップに対して3次元変形処理と透視変換処理を行うために、2次元グラフィックスとして描画したときと比べて、このビットマップの画質が劣化してしまう。そのため、従来では以下の手法が提案された(特許文献1参照)。
【0003】
従来方法ではまず、3次元構造データと2次元画像データの両方を格納しておく。そして、格納済みの2次元画像データが使用可能なときは、3次元構造データから2次元画像データを生成することなく、格納された2次元画像データを使用していた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8−263690号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の方法では、2次元グラフィックスを描画したビットマップに対して、3次元変形処理による空間配置と平面への投影処理という工程を行っていた。そのため、2次元グラフィックスをそのまま描画した結果と比べて出力結果の画質が落ちるという問題があった。また特許文献1の方法は、視点とオブジェクトとの相対関係が変更されると適用できないという問題があった。
【0006】
本発明は以上の問題に鑑みてなされたものであり、3次元仮想空間中に配置した2次元グラフィックス画像をより高品位な画像として出力するための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、2次元グラフィックス画像を3次元仮想空間中に配置する場合に、当該3次元仮想空間中での2次元グラフィックス画像に対する操作内容を示す操作情報を取得する手段と、前記2次元グラフィックス画像を3次元仮想空間中に配置した場合に、配置した2次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する手段と、前記操作情報が示す操作内容と等価の操作が、前記2次元グラフィックス画像に対する2次元アフィン変換のみで達成できるか否かを判断する判断手段と、達成できると前記判断手段が判断した場合には、前記2次元グラフィックス画像に対して、前記操作情報が示す操作内容と等価の操作となる2次元アフィン変換を施すことで、処理済み2次元グラフィックス画像を生成する第1の生成手段と、達成できないと前記判断手段が判断した場合には、前記2次元グラフィックス画像を前記操作情報が示す操作内容に従って操作して前記3次元仮想空間中に配置し、配置した2次元グラフィックス画像を前記投影情報に基づいて前記投影面上に投影することで前記投影面上に処理済み2次元グラフィックス画像を生成する第2の生成手段と、前記第1の生成手段、若しくは前記第2の生成手段によって得られる処理済み2次元グラフィックス画像を出力する手段とを備えることを特徴とする。
【発明の効果】
【0008】
本発明の構成によれば、3次元仮想空間中に配置した2次元グラフィックス画像をより高品位な画像として出力することができる。
【図面の簡単な説明】
【0009】
【図1】描画装置100のハードウェア構成例を示すブロック図。
【図2】描画装置100の機能構成例を示すブロック図。
【図3】2次元グラフィックス画像を生成してモニタ105に送出する処理のフローチャート。
【図4】2次元グラフィックス情報250、3次元変形情報260、投影情報270、2次元グラフィックス画像の一例、それぞれの情報を用いた処理によって得られる仮想空間を示す図。
【図5】2次元グラフィックス情報250、3次元変形情報260、投影情報270、2次元グラフィックス画像の一例、それぞれの情報を用いた処理によって得られる結果を示す図。
【図6】ステップS303における処理の詳細を示すフローチャート。
【図7】投影面上に画像を形成する仕組みを説明するための図。
【図8】ステップS303における処理の詳細を示すフローチャート。
【図9】2次元グラフィックス画像901をyz平面に垂直な方向から見た仮想空間を示す図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
【0011】
[第1の実施形態]
図1は、本実施形態に係る画像処理装置としての描画装置100のハードウェア構成例を示すブロック図である。CPU101は、ROM102やRAM103に格納されているコンピュータプログラムやデータを用いて描画装置100全体の制御を行うと共に、描画装置100が行うものとして後述する各処理を実行する。
【0012】
ROM102には、描画装置100の設定データやブートプログラムなどが格納されている。RAM103は、外部記憶装置107からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有すると共に、CPU101が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM103は、各種のエリアを適宜提供することができる。
【0013】
外部記憶装置107は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置107には、OS(オペレーティングシステム)や、描画装置100が行うものとして後述する各処理をCPU101に実行させるためのコンピュータプログラムやデータが保存されている。また、以下の説明において既知の情報として取り扱っているものについても、この外部記憶装置107に保存されている。外部記憶装置107に保存されているコンピュータプログラムやデータは、CPU101による制御に従って適宜RAM103にロードされ、CPU101による処理対象となる。
【0014】
モニタI/F(インターフェース)104は、モニタ105を描画装置100に接続する為のインターフェースとして機能するもので、描画装置100において処理した結果は映像信号としてこのモニタI/F104を介してモニタ105に送出される。
【0015】
モニタ105は、CRTや液晶画面などにより構成されており、CPU101による処理結果を画像や文字などでもって表示することができる。106は上述の各部を繋ぐバスである。
【0016】
なお、図1には、以下の説明で用いる構成用件のみを示しており、本実施形態に適用可能な装置の構成は、図1に示した構成に限定するものではない。例えば、各種の指示をCPU101に対して入力するためのキーボードやマウスを描画装置100に接続するようにしても良い。また、描画装置100をLANやインターネットなどのネットワークに接続する為のネットワークインターフェースを描画装置100に設けても良い。この場合、描画装置100は、外部記憶装置107に保存されているものとして説明した各種のコンピュータプログラムやデータを、上記ネットワークに接続されている外部装置からネットワークインターフェースを介してダウンロードしても良い。
【0017】
図2は、描画装置100の機能構成例を示すブロック図である。2次元グラフィックス情報取得部201は、2次元グラフィックス情報250を取得する。例えば、外部記憶装置107にこの2次元グラフィックス情報250が保存されている場合には、この2次元グラフィックス情報250を外部記憶装置107から取得する。詳しくは後述するが、2次元グラフィックス情報250とは、2次元平面上に描画するオブジェクトを規定するデータの集合であり、このデータの集合を用いることで、それぞれのオブジェクトを2次元平面上に描画することができる。以下では、2次元平面上に形成された全ての情報で構成される1枚の画像を2次元グラフィックス画像と呼称する。
【0018】
3次元変形情報取得部202は、3次元変形情報(操作情報)260を取得する。例えば、外部記憶装置107にこの3次元変形情報260が保存されている場合には、この3次元変形情報260を外部記憶装置107から取得する。詳しくは後述するが、3次元変形情報260とは、2次元グラフィックス画像を3次元仮想空間中に配置する場合に、3次元仮想空間中での2次元グラフィックス画像に対する操作内容を示す情報である。
【0019】
投影情報取得部203は、投影情報270を取得する。例えば、外部記憶装置107にこの投影情報270が保存されている場合には、この投影情報270を外部記憶装置107から取得する。詳しくは後述するが、投影情報270とは、2次元グラフィックス画像を3次元仮想空間中に配置した場合に、配置した2次元グラフィックス画像を投影面上に投影するために用いる情報である。
【0020】
変形情報変換可否判別部204は、3次元変形情報取得部202が取得した3次元変形情報260を参照し、この3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみで達成できるか否かを判断する。換言すれば、この3次元変形情報260を、2次元的な操作内容を示す2次元変形情報に変換可能であるか否かを判断する。
【0021】
3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみで達成できると判断された場合(ケース1)、変形情報変換部205、2次元ビットマップ生成部206が動作する。ケース1は、換言すれば、3次元変形情報260を2次元変形情報に変換することが可能であると判断された場合である。
【0022】
一方、3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみでは達成できないと判断された場合(ケース2)、次の各部が動作する。即ち、ビットマップ情報生成部207、3次元仮想空間配置部208、投影情報取得部203、ビットマップ投影部209、が動作する。ケース2は、換言すれば、3次元変形情報260を2次元変形情報に変換することが不可能であると判断された場合である。
【0023】
変形情報変換部205は、3次元変形情報260を2次元変形情報に変換する。係る変換について詳しくは後述する。そして2次元ビットマップ生成部206は、この2次元変形情報を用いて、2次元グラフィックス情報250が示す2次元グラフィックス画像に対する2次元アフィン変換を行う。そして2次元ビットマップ生成部206は、この2次元アフィン変換を施した2次元グラフィックス画像を処理済み2次元グラフィックス画像として、後段の出力部210に送出する。
【0024】
一方、ビットマップ情報生成部207は、2次元グラフィックス情報250が示す2次元グラフィックス画像を生成する。3次元仮想空間配置部208は、この生成された2次元グラフィックス画像を仮想空間中に配置するのであるが、その配置の際に、3次元変形情報260が示す操作内容に従ってこの2次元グラフィックス画像を操作する。
【0025】
ビットマップ投影部209は、3次元仮想空間配置部208による操作によって配置された2次元グラフィックス画像を、投影情報270に従って投影面上に投影することで、この投影面上に2次元グラフィックス画像を形成する。そしてビットマップ投影部209は、この投影面上に形成した2次元グラフィックス画像を処理済み2次元グラフィックス画像として、後段の出力部210に送出する。
【0026】
出力部210は、ビットマップ投影部209、2次元ビットマップ生成部206の何れかから送出された処理済み2次元グラフィックス画像を、モニタI/F104を介してモニタ105に送出する。
【0027】
なお、図2に示した描画装置100内の各部は、ハードウェアでもって構成しても良いが、本実施形態では各部はコンピュータプログラムで構成されているものとして説明する。即ち、各部に対応するコンピュータプログラムは、外部記憶装置107に保存されており、CPU101による制御に従って適宜RAM103にロードされ、CPU101により実行される。これにより、CPU101は、図2に示した各部の機能を実現することができる。
【0028】
図3は、描画装置100が1枚の2次元グラフィックス画像を生成してモニタ105に送出するための処理のフローチャートである。なお以下の説明では図3に示した各ステッを実行する主体を図2に示した各部とするが、後述の通り、本実施形態では各部はCPU101によって実行されるので、実際には各ステップはCPU101によって実行されることになる。
【0029】
また、図4には、本処理で用いる情報である2次元グラフィックス情報250、3次元変形情報260、投影情報270のそれぞれの一例と、2次元グラフィックス画像の一例、そして、それぞれの情報を用いた処理によって得られる仮想空間、を示している。従って以下では、図3に示したフローチャートに従った処理の説明には適宜、図4を用いる。
【0030】
先ず、ステップS301では、2次元グラフィックス情報取得部201は、2次元グラフィックス情報250を取得する。図4(a)には、2次元グラフィックス情報250、3次元変形情報260、投影情報270のそれぞれを表形式に示している。領域401には2次元グラフィックス情報250が記されている。即ち、2次元グラフィックス情報250とは、円や矩形等、2次元グラフィックス画像上に描画する2次元オブジェクトのそれぞれについて、形状や色、配置情報のセットを保持する情報である。
【0031】
図3に戻って、次に、ステップS302では、3次元変形情報取得部202は、3次元変形情報260を取得する。図4(a)の領域402には3次元変形情報260が記されている。即ち、3次元変形情報260とは、2次元グラフィックス画像を3次元仮想空間中に配置する場合に、その配置位置や各軸周りの回転角度を規定するもので、3次元アフィン変換の為のマトリクス(パラメータ)として表現される。領域402内に一例として記されている3次元アフィン変換のマトリクスは、z軸方向にZだけ平行移動させるためのものである。
【0032】
図3に戻って、次に、ステップS303では、変形情報変換可否判別部204は、3次元変形情報取得部202が取得した3次元変形情報260を参照する。そして、この3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみで達成できるか否かを判断する。換言すれば、この3次元変形情報260を、2次元的な操作内容を示す2次元変形情報に変換可能であるか否かを判断する。
【0033】
ここで、3次元アフィン変換により空間に配置された2次元グラフィックス画像と、この2次元グラフィックス画像を投影する投影面とが平行であれば、2次元グラフィックス画像に適切な2次元アフィン変換をかけても同等の出力結果を得ることができる。3次元アフィン変換により空間に配置された2次元グラフィックス画像と投影面とが平行となるためには、x軸、y軸周り(規定軸周り)の回転角度が0度あるいは180度でなければならない。そこでステップS303では、3次元変形情報260が示す3次元アフィン変換のマトリクスが、x軸、y軸周りの回転角度として0度若しくは180度を示すか否かを判断することで、3次元変形情報260を2次元変形情報に変換可能か否かを判断する。
【0034】
図6は、ステップS303における処理の詳細を示すフローチャートである。ステップS601では、3次元変形情報260が示す3次元アフィン変換のマトリクスが、x軸、y軸周りの回転角度として0度若しくは180度を示すか否かを判断する。具体的には、3次元変形情報260が示す3次元アフィン変換のマトリクスが以下の構成となっているか否かを判断する。
【0035】

|a11 a12 0 0|
|a21 a22 0 0| (式1)
| 0 0 a33 0|
| X Y Z 1|
式1において、a11、a12、a21、a22は、xy平面における回転、せん断、拡大縮小を組み合わせた成分であり、a33はz軸方向の拡大縮小の成分である。また、X、Y、Zは平行移動の成分を示している。
【0036】
係る判断の結果、0度若しくは180度を示す場合には処理をステップS602に進める。一方、0度、180度の何れも示さない場合には処理をステップS603に進める。
【0037】
3次元変形情報260が示す3次元アフィン変換のマトリクスが、x軸、y軸周りの回転角度として0度若しくは180度を示す場合、2次元グラフィックス画像に2次元アフィン変換を施しても、その形状は変わらない。従ってステップS602では、3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみで達成できると判断する。即ち、3次元変形情報260は2次元変形情報に変換可能であると判断する。
【0038】
一方、3次元変形情報260が示す3次元アフィン変換のマトリクスが、x軸、y軸周りの回転角度として0度、180度の何れも示さない場合に、3次元アフィン変換後の2次元グラフィックス画像を投影面上に投影したとする。この場合、その投影面上の2次元グラフィックス画像の形状は、元の形状とは変わってしまっている。従ってステップS603では、3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみでは達成できないと判断する。即ち、3次元変形情報260は2次元変形情報に変換不可能であると判断する。
【0039】
図3に戻って、上記ステップS601からステップS602に処理を進めた場合には、ステップS303からステップS304に処理を進めることになる。一方、上記ステップS601からステップS603に処理を進めた場合には、ステップS303からステップS307に処理を進めることになる。
【0040】
ステップS304では、変形情報変換部205は、3次元変形情報260を2次元変形情報に変換する。本ステップでは、3次元変形情報260が示す3次元アフィン変換のマトリクスは上記(式1)に示した構成を有しているので、このマトリクスは以下の2次元変形情報に変換される。
【0041】

|a11 a12 0|
|a21 a22 0| (式2)
| X Y 1|

次に、ステップS305では、2次元ビットマップ生成部206は、この2次元変形情報を用いて、2次元グラフィックス情報250が示す2次元グラフィックス画像に対する2次元アフィン変換を行う(第1の生成)。そして2次元ビットマップ生成部206は、この2次元アフィン変換を施した2次元グラフィックス画像を処理済み2次元グラフィックス画像として、後段の出力部210に送出する。図4(b)に、図4(a)の領域401に記した2次元グラフィックス情報250に基づいて生成した2次元グラフィックス画像410を示す。
【0042】
一方、ステップS307では、ビットマップ情報生成部207は、2次元グラフィックス情報250が示す2次元グラフィックス画像を生成する。次にステップS308では3次元仮想空間配置部208は、生成された2次元グラフィックス画像を仮想空間中に配置するが、その配置の際に、3次元変形情報260が示す操作内容に従ってこの2次元グラフィックス画像を移動させたり回転させたりする。図4(c)は、3次元仮想空間配置部208により移動、回転が施されて仮想空間中に配置された2次元グラフィックス画像410を示している。
【0043】
次に、ステップS309では、投影情報取得部203は、投影情報270を取得する。図4(a)の領域403には、投影情報270の一例を示している。同図では、z=0の平面上に投影するための情報を投影情報270としている。なお、仮想空間中に配された任意の形状の物体を、同じく仮想空間中に設けられた任意の面上に投影するために用いる情報については投影マトリクスなどがあり、係る技術については透視投影変換技術として周知である。従って、投影情報270についてこれ以上の説明は省略する。
【0044】
次にステップS310ではビットマップ投影部209は、3次元仮想空間配置部208によって配置された2次元グラフィックス画像を、投影情報270に従って投影面上に投影することで、この投影面上に2次元グラフィックス画像を形成する(第2の生成)。図4(d)は、2次元グラフィックス画像410を投影情報270に基づいて投影面上に投影した場合に、この投影面上に形成される2次元グラフィックス画像420を示している。そしてビットマップ投影部209は、この投影面上に形成した2次元グラフィックス画像を処理済み2次元グラフィックス画像として、後段の出力部210に送出する。
【0045】
ステップS306では、出力部210は、ビットマップ投影部209、2次元ビットマップ生成部206の何れかから送出された処理済み2次元グラフィックス画像を、モニタI/F104を介してモニタ105に送出する。なお、本実施形態では、出力部210による出力先をモニタ105としているが、その出力先は例えば外部記憶装置107であっても良いし、特に限定するものではない。
【0046】
[第2の実施形態]
本実施形態では、仮想空間中に配されている仮想物体(3次元形状を有している)を構成する一面のうち、正方形の面に対して、2次元グラフィックス画像を貼り付ける場合における、この2次元グラフィックス画像の生成方法について説明する。
【0047】
なお、以下では、本実施形態と第1の実施形態とで異なる点のみについて述べ、第1の実施形態と同じ部分については説明を省略する。具体的には、本実施形態では、3次元アフィン変換のマトリクスが如何なる構成であろうとも、この3次元アフィン変換のマトリクスと投影情報270とを用いて2次元アフィン変換の為のマトリクスを2次元変形情報として生成する。従って図2において、変形情報変換可否判別部204、ビットマップ情報生成部207、3次元仮想空間配置部208、ビットマップ投影部209は不要で、変形情報変換部205は、投影情報取得部203が取得した投影情報270を取得する。
【0048】
図5には、本処理で用いる情報である2次元グラフィックス情報250、3次元変形情報260、投影情報270のそれぞれの一例と、2次元グラフィックス画像の一例、そして、それぞれの情報を用いた処理によって得られる結果、を示している。
【0049】
図5(a)には、2次元グラフィックス情報250、3次元変形情報260、投影情報270のそれぞれを表形式に示している。領域501には2次元グラフィックス情報250が記されている。ここでの2次元グラフィックス情報250は、2次元平面上に描画する2次元オブジェクトとしての円について、色、配置情報のセットを保持する情報である。
【0050】
図5(b)において、504は、図5(a)の領域501に記した2次元グラフィックス情報250に基づいて生成した2次元グラフィックス画像である。505は、この2次元グラフィックス画像504に対して2次元アフィン変換を施すことで生成される画像である。506は、画像505を投影面上に投影することで得られる画像である。この2次元アフィン変換、投影を含む一連の変換は、以下のマトリクスを用いて行うことができる。
【0051】

|a/d b/d 0|
| 0 1 0| (式3)
| X Y 1|

即ち、本実施形態では、このようなマトリクスとしての2次元変形情報を、3次元変形情報260と投影情報270とを用いて生成することになる。即ち、このマトリクス中のパラメータa、d、bは、3次元変形情報260、投影情報270に基づいて決まることになる。以降の処理については第1の実施形態と同じである。
【0052】
図5(a)の領域502には3次元変形情報260が記されており、本実施形態では同図に示す如く、x軸周りに30度回転させると共に、y軸周りに30度回転させる3次元アフィン変換のマトリクスである。
【0053】
図5(c)は、2次元平面上における2次元グラフィックス画像504を示している。また、図5(d)には、上記画像505を示している。図5(a)の領域503には、投影情報270の一例を示している。同図では、z=0の平面上に投影するための情報を投影情報270としている。
【0054】
[第3の実施形態]
図7は、2次元グラフィックス画像を3次元アフィン変換により仮想空間中に配置し、この配置した2次元グラフィックス画像を投影面上に透視投影することでこの投影面上に画像を形成する仕組みを説明するための図である。
【0055】
図7において701は2次元グラフィックス画像で、この2次元グラフィックス画像701を3次元アフィン変換により仮想空間中に配置したものが702で示す2次元グラフィックス画像である。このアフィン変換で用いるマトリクスは以下の構成を有するものである。
【0056】

|a11 a12 a13 0|
|a21 a22 a23 0| (式4)
|a31 a32 a33 0|
| X Y Z 1|

そして、この2次元グラフィックス画像702を視点から見た場合に見える画像を生成すべく、この2次元グラフィックス画像702を投影面703上に透視投影変換を行うことで得られる画像が、704で示す画像である。
【0057】
ここで、3次元アフィン変換により仮想空間中に配置された2次元グラフィックス画像と投影面との間の距離が充分に大きく、且つこの配置の際にx軸、y軸周りの2次元グラフィックス画像の回転角度が充分に小さいケースを想定する。この場合、透視変換による画像の歪みは認識しがたいものとなる。
【0058】
本実施形態では、係るケースを鑑み、3次元変形情報260を2次元変形情報に変換可能であるか否かを判断する際の判断基準が第1の実施形態と異なる。なお、その他については第1の実施形態と同じである。
【0059】
図8は、ステップS303における処理の詳細を示すフローチャートである。先ずステップS801では、変形情報変換可否判別部204は、3次元変形情報260が規定する2次元グラフィックス画像の配置位置と、投影面との間の距離dを求め、求めた距離dが閾値(所定の値)より大きいか否かを判断する。係る判断の結果、求めた距離dが閾値よりも大きい場合には、処理をステップS802に進め、求めた距離dが閾値以下であれば、処理をステップS804に進める。
【0060】
ステップS804では、上記ステップS603と同様、3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみでは達成できないと判断する。即ち、3次元変形情報260は2次元変形情報に変換不可能であると判断する。
【0061】
一方、ステップS802では、変形情報変換可否判別部204は、3次元変形情報260が示す3次元アフィン変換のマトリクスが規定するx軸、y軸周りの回転角度φが予め定められた範囲内であるか否かを判断する。具体的には、θを0に近い値を取る閾値とした場合に、ステップS802では、以下の(条件1)を満たすか否かを判断する。但し、φのとり得る値は(−90<φ≦270)とする。
【0062】

|θ|>|φ| (−90<φ≦ 90)
(条件1)
|θ|>|180−φ| ( 90<φ≦270)

図9は、平行移動とx軸周りの回転のみを含む3次元アフィン変換によって仮想空間中に配置された2次元グラフィックス画像901を、yz平面に垂直な方向から見た場合の仮想空間を示す図である。なお紙面に垂直な方向がx軸である。
【0063】
2次元グラフィックス画像901の高さはhとし、視点は原点の位置にあり、原点からz軸方向に距離Dの位置に、xy平面に平行な投影面902があるものとする。法線903は2次元グラフィックス画像901の法線である。2次元グラフィックス画像901は投影面902から距離dの位置にあり、x軸周りに回転角度φで配置されている。ここで、距離dが充分に大きく、且つ角度φが上記(条件1)を満たしている場合、2次元グラフィックス画像901を、その高さをhcosφに縮小してからz=D+dの位置に配置する。これにより、2次元グラフィックス画像901がx軸方向への回転なして配置されているものと近似する。
【0064】
x、y軸周りの回転と平行移動を含んだ、3次元アフィン変換の為のマトリクスは上記(式4)に示したものとなる。ここで、視点からの投影面までの距離をDとし、2次元グラフィックス画像と投影面との間の距離dが充分に大きく、x、y軸周りの回転角度φが共に上記(条件1)を満たしている場合、近似される2次元アフィン変換の為のマトリクスは以下のようになる。
【0065】

|a11 a12 0| |√(1−a32) 0 0|
|a21 a22 0|×|0 √(1−a13) 0|
| X Y Z/D| |0 0 1|

係る2次元アフィン変換を2次元グラフィックス画像に施した場合に、この2次元グラフィックス画像上の座標値(x、y)は投影面上では以下の座標値(変換後座標値)に変換される。
【0066】
(D/Z×(a11x+a21y+X)×√(1−a32)、
D/Z×(a12x+a22y+Y)×√(1−a13))
x軸周りの回転角度をφ、y軸周りの回転角度をψ、Z方向の平行移動成分を(D+d)とすると(Dは視点から投影面までの距離)、上記変換後座標値は以下のようになる。
【0067】
(D/(D+d)×(xcosψ+ysinφsinψ+X)×√(1−sinφ)、D/(D+d)×(ycosφ+Y)×√(1−sinψ)
ここで、φとψの値を0に限りなく近づけるとこの変換後座標値は以下のようになる。
【0068】
(D/(D+d)×(x+X)、D/(D+d)×(y+Y))
係る変換後座標値において、dが大きくなるほどx成分、y成分は共に小さくなるので、近似による誤差も小さくなる。然るに、ステップS802において、上記(条件1)が満たされていれば処理をステップS803に進めるし、満たされていなければ処理をステップS804に進める。
【0069】
ステップS803では、3次元変形情報260が示す操作内容と等価の操作が、2次元グラフィックス画像に対する2次元アフィン変換のみで達成できると判断する。即ち、3次元変形情報260は2次元変形情報に変換可能であると判断する。そしてこの2次元変形情報とは、上記近似の2次元アフィン変換の為のマトリクスとなる。
【0070】
なお、上記ステップS803に処理を進めた場合には、ステップS303からステップS304に処理を進めることになる。一方、上記ステップS804に処理を進めた場合には、ステップS303からステップS307に処理を進めることになる。
【0071】
以上の実施形態によれば、仮想空間中に配置した2次元グラフィックス画像の描画を行う場合に、3次元アフィン変換の代わりに2次元アフィン変換で対処可能なケースを検出することができる。これにより、係るケースの場合には、2次元アフィン変換により2次元グラフィックス画像を描画することができるため、高品位な画像の描画を行うことができると共に、視認性を向上させることができる。また、係るケースでは3次元的な処理を省くことができ、処理負荷を軽減させることができる。
【0072】
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0073】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。

【特許請求の範囲】
【請求項1】
2次元グラフィックス画像を3次元仮想空間中に配置する場合に、当該3次元仮想空間中での2次元グラフィックス画像に対する操作内容を示す操作情報を取得する手段と、
前記2次元グラフィックス画像を3次元仮想空間中に配置した場合に、配置した2次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する手段と、
前記操作情報が示す操作内容と等価の操作が、前記2次元グラフィックス画像に対する2次元アフィン変換のみで達成できるか否かを判断する判断手段と、
達成できると前記判断手段が判断した場合には、前記2次元グラフィックス画像に対して、前記操作情報が示す操作内容と等価の操作となる2次元アフィン変換を施すことで、処理済み2次元グラフィックス画像を生成する第1の生成手段と、
達成できないと前記判断手段が判断した場合には、前記2次元グラフィックス画像を前記操作情報が示す操作内容に従って操作して前記3次元仮想空間中に配置し、配置した2次元グラフィックス画像を前記投影情報に基づいて前記投影面上に投影することで前記投影面上に処理済み2次元グラフィックス画像を生成する第2の生成手段と、
前記第1の生成手段、若しくは前記第2の生成手段によって得られる処理済み2次元グラフィックス画像を出力する手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記操作情報は、前記3次元仮想空間中における前記2次元グラフィックス画像に対する3次元アフィン変換を行うためのマトリクスであることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記判断手段は、前記操作情報が示す3次元アフィン変換のマトリクスが次の構成
|a11 a12 0 0|
|a21 a22 0 0|
| 0 0 a33 0|
| X Y Z 1|
を有しているか否かを判断することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記判断手段が、前記操作情報が示す3次元アフィン変換のマトリクスが次の構成
|a11 a12 0 0|
|a21 a22 0 0|
| 0 0 a33 0|
| X Y Z 1|
を有していると判断した場合、
前記第1の生成手段は、次の構成
|a11 a12 0|
|a21 a22 0|
| X Y 1|
を有しているマトリクスを用いた2次元アフィン変換を前記2次元グラフィックス画像に対して施すことで、処理済み2次元グラフィックス画像を生成することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記判断手段は、
前記投影面の位置と前記操作情報が示す前記2次元グラフィックス画像の配置位置との間の距離が閾値よりも大きく、且つ前記操作情報が規定する規定軸周りの回転角度が規定の範囲内である場合には、前記操作情報が示す操作内容と等価の操作が、前記2次元グラフィックス画像に対する2次元アフィン変換のみで達成できると判断することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項6】
前記第1の生成手段は、達成できると前記判断手段が判断した場合には、前記操作情報が示すそれぞれの軸周りの回転角度のうち前記規定軸周りの回転角度を0に近づけた場合の操作情報を用いて、前記2次元グラフィックス画像に対して2次元アフィン変換を施すことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
2次元グラフィックス画像を3次元仮想空間中に配置する場合に、当該3次元仮想空間中での2次元グラフィックス画像に対する操作内容を示す操作情報を取得する手段と、
前記2次元グラフィックス画像を3次元仮想空間中に配置した場合に、配置した2次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する手段と、
前記操作情報と前記投影情報とを用いて2次元アフィン変換のマトリクスを生成し、生成したマトリクスを用いて前記2次元グラフィックス画像に対して2次元アフィン変換を施すことで、処理済み2次元グラフィックス画像を生成する手段と、
前記処理済み2次元グラフィックス画像を出力する手段と
を備えることを特徴とする画像処理装置。
【請求項8】
2次元グラフィックス画像を3次元仮想空間中に配置する場合に、当該3次元仮想空間中での2次元グラフィックス画像に対する操作内容を示す操作情報を取得する工程と、
前記2次元グラフィックス画像を3次元仮想空間中に配置した場合に、配置した2次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する工程と、
前記操作情報が示す操作内容と等価の操作が、前記2次元グラフィックス画像に対する2次元アフィン変換のみで達成できるか否かを判断する判断工程と、
達成できると前記判断工程で判断した場合には、前記2次元グラフィックス画像に対して、前記操作情報が示す操作内容と等価の操作となる2次元アフィン変換を施すことで、処理済み2次元グラフィックス画像を生成する第1の生成工程と、
達成できないと前記判断工程で判断した場合には、前記2次元グラフィックス画像を前記操作情報が示す操作内容に従って操作して前記3次元仮想空間中に配置し、配置した2次元グラフィックス画像を前記投影情報に基づいて前記投影面上に投影することで前記投影面上に処理済み2次元グラフィックス画像を生成する第2の生成工程と、
前記第1の生成工程、若しくは前記第2の生成工程によって得られる処理済み2次元グラフィックス画像を出力する工程と
を備えることを特徴とする画像処理方法。
【請求項9】
2次元グラフィックス画像を3次元仮想空間中に配置する場合に、当該3次元仮想空間中での2次元グラフィックス画像に対する操作内容を示す操作情報を取得する工程と、
前記2次元グラフィックス画像を3次元仮想空間中に配置した場合に、配置した2次元グラフィックス画像を投影面上に投影するために用いる投影情報を取得する工程と、
前記操作情報と前記投影情報とを用いて2次元アフィン変換のマトリクスを生成し、生成したマトリクスを用いて前記2次元グラフィックス画像に対して2次元アフィン変換を施すことで、処理済み2次元グラフィックス画像を生成する工程と、
前記処理済み2次元グラフィックス画像を出力する工程と
を備えることを特徴とする画像処理方法。
【請求項10】
コンピュータを、請求項1乃至7の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−262605(P2010−262605A)
【公開日】平成22年11月18日(2010.11.18)
【国際特許分類】
【出願番号】特願2009−114977(P2009−114977)
【出願日】平成21年5月11日(2009.5.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】