説明

画像生成装置,画像生成プログラム,および,画像生成装置を有する画像表示システム

【課題】半透明なオブジェクトの後ろに不透明なオブジェクトが配置されている場合,半透明なオブジェクトと不透明なオブジェクトとが重なる領域を適切にぼかす。
【解決手段】画像生成部111は,3次元仮想空間において,半透明なオブジェクトが,不透明なオブジェクトよりも所定の視点位置側に配置され,かつ,2次元表示用画像において半透明なオブジェクトと不透明なオブジェクトが重なる場合,半透明なオブジェクトの透明度に応じて,この重なる領域のぼけ度を,不透明なオブジェクトのぼけ度の割合で補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,画像生成装置,画像生成プログラム,および,画像生成装置を有する画像表示システムに関する。
【背景技術】
【0002】
携帯端末や車載用の表示装置等に,3次元仮想空間に配置された各オブジェクト(被写体)像を所定の視点位置から2次元面に投影することによって2次元表示用画像を生成する画像生成装置が搭載されている。
【0003】
かかる画像生成装置において,表示対象となる3次元仮想空間内のオブジェクトは,複数のポリゴン(多角形面)で形成され,各ポリゴンは,属性データ(以下,ポリゴンデータと記す)を有する。ポリゴンデータは,3次元仮想空間におけるポリゴンの各頂点の3次元座標,頂点色,頂点透明度などを有する。
【0004】
画像生成装置は,2次元表示用画像を生成する際に,各オブジェクトの視点位置からの奥行き値(Z値)に応じて,各オブジェクト画像をぼかすことで,自然な2次元表示用画像を生成する。
【0005】
視点位置から見た不透明なオブジェクト同士が重なる場合に,オブジェクトのぼかし処理を調整することとで,より自然な2次元表示用画像を生成する技術が様々提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008-225767号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
図1は,前記したX,Y,Z軸を有する3次元仮想空間においてオブジェクトの配置を示す図の一例である。図1において,横軸は所定の視点位置VPからのZ軸方向の距離を示す。視点位置VPのZ値は,0である。また,所定の仮想カメラ位置(視点位置VP)を基準にして,オブジェクトm1〜m4がZ軸方向に順に並んでいる。ここで,一例として,オブジェクトm1,m4は,不透明なオブジェクトであり,オブジェクトm2,m3は,半透明なオブジェクトであるとする。
【0008】
オブジェクトm1〜m4において,所定の視点位置VPからの距離は,それぞれz1〜z4である。また,半透明なオブジェクトm3については,所定の視点位置VPからの焦点位置(Zf)に配置されている。
【0009】
図2は,図1のオブジェクトを2次元面に投影した画像の一例を示す。図2の画像は,図1において,所定の視点位置VPから見えるオブジェクトm1〜m4を有する画像を示している。なお,符号BGは背景部分を示す。背景部分BGは不透明なオブジェクトである。図2においては,未だ各オブジェクトについては,ぼかし処理が施されていない。
【0010】
3次元仮想空間において,半透明なオブジェクトが,不透明なオブジェクトよりも所定の視点位置VP側に配置され,かつ,この視点位置VPを基準にして,半透明なオブジェクトと不透明なオブジェクトとが重なる場合を考える。以下,このようなオブジェクトの配置状態を半透明なオブジェクトの後ろに不透明なオブジェクトが配置されていると呼ぶ。
【0011】
図1,図2の例では,半透明なオブジェクトm2,m3の後ろに,不透明なオブジェクトm4,背景部分BGが配置されている。
【0012】
ここで,焦点位置に配置されている半透明なオブジェクトm3と,焦点位置よりも後ろに配置されている不透明なオブジェクトm4が重なる領域において,オブジェクトm3の表面に文字や模様が描かれている状態を想定する(図2の符号CHR参照)。この場合,オブジェクトm4は,焦点位置よりも後ろに配置されているので,ぼけて表示される。半透明なオブジェクトm3の透明度が大きい場合には,このぼけて表示されるオブジェクトm4の影響により,半透明なオブジェクトm3の表面に描かれている文字や模様もぼけて表示されることが好ましい。一方,半透明なオブジェクトm3の透明度が小さい場合には,オブジェクトm3は焦点位置に配置されているので,オブジェクトm3の表面の文字や模様は,ある程度明瞭に表示されるのが好ましい。
【0013】
すなわち,半透明なオブジェクトの後ろに不透明なオブジェクトが配置されている場合,半透明なオブジェクトと不透明なオブジェクトとが重なる領域を半透明なオブジェクトの透明度に応じて適切にぼかすことが好ましい。
【0014】
したがって,本発明の目的は,半透明なオブジェクトの後ろに不透明なオブジェクトが配置されている場合,半透明なオブジェクトと不透明なオブジェクトとが重なる領域を適切にぼかす画像生成装置,画像生成プログラム,画像生成装置を有する画像表示システムを提供することを目的とする。
【課題を解決するための手段】
【0015】
画像生成装置の第1の側面は,3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置において,
半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する。
【発明の効果】
【0016】
画像生成装置の第1の側面によれば,半透明なオブジェクトと不透明なオブジェクトとが重なる領域を半透明なオブジェクトの透明度に応じて適切にぼかすことができるので,より自然な2次元表示用画像を生成できる。
【図面の簡単な説明】
【0017】
【図1】3次元仮想空間においてオブジェクトの配置を示す図の一例である。
【図2】図1のオブジェクトを2次元面に投影した画像の一例を示す。
【図3】本実施の形態の画像表示システムの一例を説明するブロック図である。
【図4】本実施の形態における2次元表示用画像を生成する処理を説明する第1のフロー図である。
【図5】本実施の形態における2次元表示用画像を生成する処理を説明する第2のフロー図である。
【図6】図4のステップS1を説明する第1のフロー図である。
【図7】図4のステップS1を説明する第2のフロー図である。
【図8】図4のステップS1を説明する第3のフロー図である。
【図9】3次元仮想空間におけるオブジェクト等の各種データが記録された3次元データのデータ種別およびパラメータを有するテーブルの一例である。
【図10】オブジェクト処理順序テーブルの一例を示す図である。
【図11】モデルビュー変換を説明する図である。
【図12】射影変換を説明する図である。
【図13】ビューポート変換を説明する図である。
【図14】レンダリング処理を説明する図である。
【図15】ピクセルpix_iのRGB値,座標を算出する処理を説明する図である。
【図16】フレームバッファb,Zバッファbの一例を示す図である。
【図17】Zバッファbに格納されたZ値を模式的に示し図である。
【図18】ブレンド処理を説明する図である。
【図19】Z値の上書き処理を説明する図である。
【図20】半透明なオブジェクトm2,m3用のZバッファm2,m3の一例を示す図である。
【図21】ぼけ度を算出する際に参照されるグラフの一例を示す図である。
【図22】不透明なオブジェクトm1,m4のぼけ度が格納されたフォーカシングバッファbの一例を示す図である。
【図23】半透明なオブジェクトのぼけ度が格納されたフォーカシングバッファmkの一例を示した図である。
【図24】ぼけ度の算出処理を説明する図である。
【図25】ぼけ度の算出処理を説明する図である。
【図26】合成処理を説明する図である。
【発明を実施するための形態】
【0018】
(本実施の形態)
図3は,本実施の形態の画像表示システムの一例を説明するブロック図である。画像生成システムは,3次元仮想空間における各オブジェクトの透明度,および所定の視点位置VPからのZ値(奥行き値)に基づき,所定の視点位置VPから2次元面に投影される各オブジェクトの2次元表示用画像を生成する画像生成装置10と,液晶表示装置等の表示装置20とを有する。
【0019】
画像生成装置10は,装置制御用のコンピュータであるCPU11と,画像処理専用のコンピュータであるGPU(Graphics Processing Unit)12と,各種制御データやフレームバッファ,Zバッファ等を記憶するメインメモリ13と,2次元表示用画像データ等を格納するVRAM14と,3次元データ151などを格納するROM15と,VRAM14に格納された2次元表示用画像データを表示装置20に表示する処理を制御する表示コントローラ16とを有する。
【0020】
CPU11は,ROM15に格納されているプログラムを読み出し,実行することにより,GPU12,メインメモリ13,VRAM14,ROM15,表示コントローラ16を制御して,画像生成部111としての機能を果たす。画像生成部111は,例えば,プログラム(ソフトウェア)であり,画像生成装置10の起動前には,ROM15に格納されている。そして,CPU11は,画像生成装置10の起動時にROM15からこのプログラムを読み出し,実行する。なお,画像生成部111をプログラムではなく,専用のハードウェアにより構成してもよい。
【0021】
図4,図5は,本実施の形態における2次元表示用画像を生成する処理を説明する第1,第2のフロー図である。
【0022】
ステップS1:画像生成装置10のGPU12は,基準画像の生成,基準画像内のオブジェクトのZ値の算出を行う。ここで基準画像とは,所定の視点位置VPから2次元面に投影される各オブジェクトの2次元表示用画像であって,各オブジェクトについてぼかし処理が施されていない画像,すなわち無限円まで明瞭な画像である。図1の例においては,図2に示した画像が基準画像である。この基準画像は,基準表示用画像とも呼ばれる。
【0023】
図6〜図8は,図4のステップS1を説明する第1〜第3のフロー図である。
【0024】
図6のステップS101:CPU11は,ROM15に格納されている3次元データ151を読み出し,GPU12に設定する。3次元データ151は,例えば,図9に示す内容の3次元データであり,3次元仮想空間情報とも呼ばれる。
【0025】
(3次元データ)
図9において,3次元データはテーブルで表され,3次元仮想空間におけるオブジェクト等の各種データが記録された3次元データのデータ種別およびパラメータを有する。
【0026】
データ種別としては,所定の視点位置,オブジェクト数,オブジェクト数に対応する複数のオブジェクト1…ml(エル)がある。オブジェクトについては,オブジェクト毎にそれぞれパラメータが記録されている。
【0027】
まず,所定の視点位置における,視界空間(ビューボリューム),ビューポートのパラメータについて説明する。
【0028】
視界空間のパラメータleft,right,bottom,top,near,farは,視界空間を定義するパラメータである。この視界空間内のオブジェクトが,所定の視点位置から見えるオブジェクトとして,2次元面に投影して表示される。
【0029】
ビューポートのパラメータscale_x, scale_y, scale_z,offset_x, offset_y, offset_zは,視界空間そのものを2次元面に表示する際の,位置およびサイズを定義するパラメータである。
【0030】
オブジェクト数のパラメータtarget_numは,3次元データ内に含まれているオブジェクトの数を示すパラメータである。
【0031】
次に,オブジェクトの透明度,スケール,回転角度,位置座標,形状・色のパラメータについて説明する。図9において,オブジェクト1〜mlのうち,オブジェクト1のパラメータを図示し,他のオブジェクトのパラメータについては例示を省略している。
【0032】
透明度のパラメータo1_tは,オブジェクトの透明度を示すパラメータであり,0〜1の範囲の値を有する。0の場合は完全不透明,1に近づくほど透明であることを示す。ここで,透明度が所定の透明度以上のオブジェクトを半透明なオブジェクトとし,透明度が所定の透明度未満のオブジェクトを不透明なオブジェクトとする。この所定の透明度とは,例えば透明度0.2であり,透明度0.2以上のオブジェクトを半透明なオブジェクトとする。このとき,透明度1(完全透明)であっても,半透明なオブジェクトとする。一方,透明度0.2未満のオブジェクトを不透明なオブジェクトとする。このとき,透明度0の場合は,前記したように完全不透明である。
【0033】
なお,3次元仮想空間における背景は,不透明なオブジェクトに含まれる。
【0034】
スケールのパラメータo1_sx, o1_sy, o1_szは,オブジェクト座標系における,オブジェクトの各軸方向の拡大率を表す。オブジェクト座標系とは,オブジェクトの中心を原点とした座標系を示す。
【0035】
回転角度のパラメータo1_θx, o1_θy, o1_θzは,オブジェクト座標系における,オブジェクトの各軸方向の回転角度を示す。
【0036】
位置座標のパラメータo1_ox, o1_oy, o1_ozは,ワールド座標系における,オブジェクトの中心位置を示す。ワールド座標系とは,所定の視点位置を原点とした座標系である。
【0037】
形状・色については,オブジェクトを形成する複数のポリゴン1〜nの頂点座標,頂点の色(色値)からなる集合体で示される。ここでは,ポリゴンは3角形である。なお,この座標パラメータは,オブジェクトの中心位置を原点とした相対座標で示される。すなわち,この座標パラメータは,オブジェクト座標系におけるパラメータである。
【0038】
各ポリゴンは,頂点座標のパラメータと頂点の色を示すパラメータを有する。例えば,ポリゴン1の頂点1の座標パラメータは,o1_p1_x1, o1_p1_y1, o1_p1_z1であり,ポリゴン1の頂点1の色値パラメータは,o1_p1_r1, o1_p1_g1, o1_p1_b1である。なお,座標パラメータ,色値パラメータの”o1_p1”は,オブジェクト1のポリゴン1を示し,色値パラメータのr,g,bは,それぞれ赤成分(R値),緑成分(G値),青成分(B値)であり,0〜255の範囲の値をとる。全ての成分が0の場合は,黒色,全ての成分が255の場合は,白色を表す。なお,ポリゴンの頂点座標毎に透明度を有していてもよい。
【0039】
以下の説明において,図9の3次元データは,図1で示した4つのオブジェクトm1〜m4の配置例に対応する各種パラメータ,および,背景BGに対応する各種パラメータを有しているとする。
【0040】
図6のステップS102:画像生成部111は,図9に示した各オブジェクトの透明度パラメータo1_tを参照して,図9の3次元データにおいて半透明なオブジェクトがあるか否かをチェックする。
【0041】
半透明なオブジェクトがある場合には(ステップS102/YES),ステップS103に移り,半透明なオブジェクトがない場合には(ステップS102/NO),ステップS104に移る。
【0042】
ステップS103:画像生成部111は,オブジェクト処理順序テーブルを生成し,以下のルールに従って,オブジェクト処理順序テーブルの格納領域にオブジェクトの識別番号を設定する。
【0043】
図10は,オブジェクト処理順序テーブルの一例を示す図である。図10(A)に示すように,オブジェクト処理順序テーブルは,パラメータtarget_numで示されるオブジェクト数分の格納領域を持ち,各格納領域にはオブジェクトを特定するための識別番号が設定される。
【0044】
前記のルールは以下の通りである。すなわち,不透明なオブジェクトの識別番号(ID1…IDn)を,このオブジェクトのZ値が大きい順にオブジェクト処理順序テーブルの先頭から設定する。そして,半透明なオブジェクトの識別番号(IDx…IDz)を,このオブジェクトのZ値が大きい順にオブジェクト処理順序テーブルにおける不透明なオブジェクトの識別番号の後ろ(最後部)から順次設定する。
【0045】
図10(B)は,図1の例における,オブジェクト処理順序テーブルの格納例を示す図である。
【0046】
画像生成部111は,生成したオブジェクト処理順序テーブルをオブジェクト処理順序テーブル1311としてメインメモリ13に記憶する。そして,図6のステップS104に移る。
【0047】
(オブジェクト毎のレンダリング処理)
ステップS104:GPU12は,レンダリング処理対象のオブジェクトを選択する。なお,GPU12は,画像生成部111の制御を受け,下記のステップで説明する処理を実行する。
【0048】
以下,選択したオブジェクトをオブジェクトmと呼ぶ。具体的には,GPU12が,N回目にこのステップを実行する場合,図10のオブジェクト処理順序テーブルの先頭からN番目の格納領域に設定されたオブジェクトの識別番号により識別されるオブジェクトを選択する。
【0049】
GPU12は,後述するように,まず,不透明なオブジェクトに対して,ステップS105〜S117で説明する処理を実行する。不透明なオブジェクトに対してこの処理が終了すると,次いで,半透明なオブジェクトに対して,ステップS105〜S112,S118〜S123,S115〜S117の処理を実行する。
【0050】
ステップS105:GPU12は,選択したオブジェクトmのスケール,回転,位置座標パラメータを参照し,オブジェクト座標系におけるこのオブジェクトmのポリゴンの頂点座標を,視点座標系における頂点座標に変換するための変換用行列を生成する。
【0051】
ここで,オブジェクト座標系は,オブジェクトの中心を原点とした座標系であり,視点座標系は,任意の視点位置VPを原点とした座標系である。また,この変換は,モデルビュー変換と呼ばれる。
【0052】
ステップS106:GPU12は,ステップS104で選択したオブジェクトmにおける処理対象のポリゴンを選択する。以下,選択したポリゴンをポリゴンpと呼ぶ。GPU12が,ステップS106の処理を初めて実行するときは,pは初期値1である。
【0053】
ステップS7:GPU12は,モデルビュー変換,射影変換,ビューポート変換を実行する。
【0054】
(モデルビュー変換)
図11は,モデルビュー変換を説明する図である。図11に示すように,GPU12は,オブジェクト座標系におけるポリゴンPo1の頂点座標Vo1〜Vo3を,モデルビュー変換行列により,視点座標系におけるポリゴンPo1の頂点座標Vv1〜Vv3に変換する。このポリゴンPo1が,例えば,ステップS106で選択された,ポリゴンpである。なお,図中,頂点座標Vo1〜Vo3は,それぞれ(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)で示され,頂点座標Vv1〜Vv3は,(x1’,y1’,z1’),(x2’,y2’,z2’),(x3’,y3’,z3’ )で示される。
【0055】
視点座標系においては,視界空間のパラメータleft,right,bottom,top,near,farにより,前記の視界空間が定義され,nearとfarで切り取られた四角錐台内の空間にあるオブジェクトが2次元面に表示されるオブジェクトになる。
【0056】
(射影変換)
GPU12は,視点座標系におけるオブジェクトmのポリゴンpの頂点座標を,正規化座標系における頂点座標に変換する。正規化座標系は,1辺が例えば長さ2(単位)の立方体の中心を原点とした座標系である。また,この変換は,射影変換と呼ばれる。
【0057】
図12は,射影変換を説明する図である。図12に示すように,GPU12は,視点座標系におけるポリゴンPo1の頂点座標Vv1〜Vv3を,射影変換行列により,正規化座標におけるポリゴンPo1の頂点座標Vn1〜Vn3に変換する。なお,図中,頂点座標Vn1〜Vn3は,それぞれ(xd1,yd1,zd1),(xd2,yd2,zd2),(xd3,yd3,zd3)で示される。GPU12は,ステップS101が実行された後に,図9で説明した視界空間パラメータを使用して射影行列を生成する。
【0058】
(ビューポート変換)
GPU12は,正規化座標系におけるオブジェクトmのポリゴンpの頂点座標を,スクリーン座標系における頂点座標に変換する。スクリーン座標系は,2次元面の表示画像を表示する際の座標系である。また,この変換は,ビューポート変換と呼ばれる。
【0059】
図13は,ビューポート変換を説明する図である。図13に示すように,GPU12は,正規化座標系におけるポリゴンPo1の頂点座標Vn1〜Vn3を,ピューポートパラメータにより,スクリーン座標系におけるポリゴンPo1の頂点座標Vs1〜Vs3に変換する。なお,頂点座標Vs1〜Vs3は,それぞれ(xs1,ys1,zs1),(xs2,ys2,zs2),(xs3,ys3,zs3)で示される。
【0060】
図13に示したように,ビューポートパラメータscale_x, scale_y,offset_x, offset_y,は,表示装置の表示画面DPにおける2次元表示用画像の表示位置を定義するパラメータである。また,ビューポートパラメータscale_z,offset_zは,GPU12が,このポリゴンPo1のスクリーン座標系におけるZ値を算出するためのパラメータである。
【0061】
(レンダリング)
GPU12は,スクリーン座標系におけるポリゴンPの頂点座標により囲まれた範囲の各ピクセル(画素)の色値,座標値を,頂点座標の色値,座標値に基づき補間することにより,ポリゴンPをレンダリングする。具体的には,図7のステップS108以下の処理を実行する。
【0062】
図7のステップS108:GPU12は,スクリーン座標系におけるポリゴンPo1の頂点座標Vs1〜Vs3により囲まれた範囲からレンダリングを実行するピクセルを選択する。
【0063】
図14は,レンダリング処理を説明する図である。図14において,スクリーン座標系におけるポリゴンPo1の頂点座標Vs1〜Vs3により囲まれたピクセル(画素)が示され,選択するピクセルを符号pix_iで示す。なお,iは”1”〜”前記範囲を構成する総ピクセル数”であり,初期値は1である。
【0064】
図7のステップS109:GPU12は,ステップS108で選択したピクセルpix_iの色値(RGB値)を,頂点座標Vs1〜Vs3の色値から線形補間により算出する。
【0065】
ステップS110:GPU12は,ステップS108で選択したピクセルpix_iの座標(X値,Y値,Z値)を,頂点座標Vs1〜Vs3の座標値から線形補間により算出する。
【0066】
図15は,ピクセルpix_iの色値(R,G,B),座標(X,Y,Z)を算出する処理を説明する図である。図15(A)は,ピクセルpix_iの色値を算出する処理を示し,図15(B)は,ピクセルpix_iの座標を算出する処理を示している。なお,GPU12は,ピクセルpix_iが頂点座標の場合には,補間処理は実行せず,その頂点座標の座標値,色値をピクセルpix_iの座標値,色値とする。
【0067】
GPU12は,ステップS109で算出されたピクセルpix_iの色値を格納するフレームバッファを作成する。以下,このフレームバッファをフレームバッファbと呼ぶ。そして,GPU12は,生成したフレームバッファbをフレームバッファ1312としてメインメモリ13に記憶する。
【0068】
また,GPU12は,ステップS110で算出されたピクセルpix_iのZ値を格納するためのZバッファを作成する。以下,このZバッファをZバッファbと呼ぶ。Zバッファbは,不透明なオブジェクトのZ値を格納するバッファである。
【0069】
そして,GPU12は,Zバッファbをメインメモリ13にZバッファ1313として記憶する。
【0070】
このフレームバッファb,Zバッファbの生成処理は,1回のみ実行される。
【0071】
図16は,フレームバッファb,Zバッファbの一例を示す図である。図16(A)は,フレームバッファbを示し,図16(B)は,フレームバッファbに対応するZバッファbを示し,各4角形がピクセルを示す。GPU12は,Zバッファbの生成時に全ピクセルを最大Z値で初期化し,フレームバッファbの生成時に全ピクセルを所定の値で初期化する。
【0072】
図16(A),図16(B)の符号pix_iで示すピクセルが,図14で説明したピクセルpix_iに対応するピクセルである。
【0073】
なお,図16(A),図16(B)においては,フレームバッファbの1ピクセルと,Zバッファbの1ピクセルが1対1で対応しているが,フレームバッファbの複数ピクセルとZバッファbの1ピクセルを対応させてもよい。例えば,フレームバッファbの4ピクセルとZバッファbの1ピクセルと対応させてもよい。この場合,フレームバッファの4ピクセルの面積は,Zバッファの1ピクセルの面積と等しくなる。
【0074】
図7のステップS111:GPU12は,図7のステップS108で選択したピクセルpix_iのZ値は,このピクセルpix_iの座標値(X,Y)に対応するZバッファb内のZ値(図16(B)参照)より小さい(手前にある)か否かを判定する。
【0075】
小さい場合(ステップS111/YES),図8のステップS112に移る。
【0076】
ステップS112:GPU12は,レンダリング処理対象のポリゴンから構成されるオブジェクトmの透明度パラメータom_tを参照して、オブジェクトmが不透明か否かを判定する。
【0077】
このオブジェクトが不透明の場合(ステップS112/YES),ステップS113に移る。なお,全ての不透明なオブジェクトについてのレンダリング処理が終了するまで,ステップS112はYESであり,ステップS113の処理が実行される。
【0078】
ステップS113:GPU12は,図7のステップS108で選択したピクセルpix_iの座標値(X,Y)に対応するZバッファb内のZ値(図16(B)参照)を,図7のステップS110で算出したピクセルpix_iのZ座標(Z値)で上書きする。
【0079】
ステップS114:GPU12は,図7のステップS108で選択したピクセルpix_iの座標値(X,Y)に対応するフレームバッファb内の色値(図16(A)参照)を,図7のステップS109で算出したピクセルpix_iの色値で上書きする。そして,図7のステップS115に移る。
【0080】
ステップS115:GPU12は,スクリーン座標系におけるポリゴンpの頂点座標Vs1〜Vs3により囲まれた範囲のピクセルを全てレンダリングしたか判定する。全てのピクセルについてレンダリングしていない場合(ステップS115/NO),ステップS108に移る。このとき,ピクセルpix_iの値を1つカウントアップする。具体的には,GPU12は,図14の矢印に示す様に,ピクセルpix_iを移動させて,次にレンダリング処理を実行するピクセルを選択する。
【0081】
このように,GPU12は,ステップS108〜S115の処理を繰り返し実行し,ポリゴンPo1の頂点座標Vs1〜Vs3により囲まれた範囲のピクセルを全てレンダリング処理する。
【0082】
全てのピクセルについてレンダリングした場合(ステップS115/YES),ステップS116に移る。
【0083】
ステップS116:GPU12は,オブジェクトmを構成する全てのポリゴンに対してレンダリングが終了したかを判定する。レンダリングが終了していない場合(ステップS116/NO),図6のステップS106に移る。このとき,pの値を1つカウントアップする。このように,GPU12は,ステップS106〜S116の処理を繰り返し実行し,オブジェクトmを構成する全てのポリゴンに対してレンダリングを実行する。レンダリングが終了した場合(ステップS116/YES),ステップS117に移る。
【0084】
ステップS117:GPU12は,3次元データ内の全てのオブジェクトについてレンダリングが終了したかを判定する。レンダリングが終了していない場合(ステップS117/NO),図6のステップS104に移る。
【0085】
GPU12は,全ての不透明なオブジェクトに対して,ステップS104〜S117で説明した処理を実行する。
【0086】
図17は,Zバッファbに格納されたZ値を模式的に示した図である。図17において,不透明なオブジェクトm1,m4のZ値は,z1,z4である。
【0087】
GPU12は,フレームバッファbに対応するZバッファbに,不透明なオブジェクトm1,m4のZ値,および,基準画像における不透明なオブジェクトm1,m4の背景画像BGのZ値をピクセル毎に格納している。
【0088】
次いで,GPU12は,半透明なオブジェクトに対して,ステップS104〜S112,S118〜S123,S115〜S117の処理を実行する。
【0089】
GPU12は,図6のステップS104において半透明なオブジェクトを選択すると,ステップS105〜ステップS110の処理を実行し,図7のステップS111に移る。図7のステップS111において,図7のステップS108で選択されたピクセルpix_iのZ値が,ピクセルpix_iに対応するZバッファb内のZ値より小さい場合(ステップS111/YES),図8のステップS112に移る。
【0090】
GPU12は,処理対象のポリゴンから構成されるオブジェクトmの透明度パラメータom_tを参照して、オブジェクトmが不透明か否かを判定する(ステップS112)。ここで,オブジェクトmは半透明なので,この判定はNOであり,ステップS118の処理に移る。
【0091】
ステップS118:GPU12は,図7のステップS110で算出したピクセルpix_iの座標値(X,Y)に対応するフレームバッファb内の色値と,図7のステップS109で算出したピクセルpix_iの色値とをオブジェクトmの透明度om_tでブレンドした色値を算出する。
【0092】
なお,このブレンドした色値を初めて算出する前に,フレームバッファbに格納されている色値は,不透明なオブジェクトの色値,および,背景の色値である。図1の例では,フレームバッファbには,不透明なオブジェクトm1,m4,背景BGの色値がのみ格納されている(図2参照)。
【0093】
図18は,ブレンド処理を説明する図である。図18(A)は,図7のステップS109でピクセルpix_iの色値が算出された状態を示し,図18(B)は,ステップS118の次のステップS119で説明する上書き処理が実行される状態を示す。
【0094】
ブレンドした色値を算出する処理は,例えば,(式1)〜(式3)に基づき実行する。ここで,ブレンド後の色値をそれぞれRb,Gb,Bbとして,レンダリング処理対象のピクセルpix_iの色値をそれぞれ,Rp,Gp,Bp(図18(A)参照)とする。そして,このピクセルpix_iの座標値(X,Y)に対応するフレームバッファb内の色値をそれぞれ,Rf,Gf,Bf(図18(B)参照)とすると,(式1)〜(式3)は下記の通りである。
【0095】
Rb=Rf×om_t+Rp×(1-om_t)…(式1)
Gb=Gf×om_t+Gp×(1-om_t)…(式2)
Bb=Bf×om_t+Bp×(1-om_t)…(式3)
ステップS119:GPU12は,このピクセルpix_iの座標値に対応するフレームバッファb内の色値を,ステップS118においてブレンドされた色値で上書きする。
【0096】
ステップS120:GPU12は,現在処理の対象となっている半透明なオブジェクトmのZ値を格納するZバッファが既にメインメモリ13にあるか否かを判定する。
【0097】
このオブジェクト用のZバッファがない場合には(ステップS120/NO),ステップS121に移る。
【0098】
ステップS121:GPU12は,このオブジェクト用のZバッファを生成する。このZバッファの初期値は最大Z値である。以下,現在処理の対象となっている半透明なオブジェクトmのZ値を格納するZバッファをZバッファmk(kは1以上の整数)と呼ぶ。そして,GPU12は,生成したZバッファmkをZバッファ132k’としてメインメモリ14に記憶する。
【0099】
ステップS120において,このオブジェクト用のZバッファmkがある場合には(ステップS121/NO),ステップS121の処理を省略し,ステップS122に移り,Z値の上書き判定処理を実行する。
【0100】
図19は,Z値の上書き処理を説明する図である。図19(A)は,図8のステップS122の上書き判定処理を示し,図19(B)は,ステップS122の次のステップS123の上書き処理が実行される状態を示す。
【0101】
ステップS122:GPU12は,図7のステップS108で選択したピクセルpix_iのZ値は,このピクセルpix_iの座標値(X,Y)に対応するZバッファmk内のZ値より小さいか否かを判定する。小さい場合(ステップS122/YES),ステップS123に移る。
【0102】
ステップS123:GPU12は,図7のステップS108で選択したピクセルpix_iの座標値(X,Y)に対応するZバッファmk内のZ値を,図7のステップS110で算出したピクセルpix_iのZ値(Z座標)で上書きする。そして,図7のステップS115に移る。
【0103】
図7のステップS108で選択されたピクセルpix_iのZ値が,このピクセルpix_iの座標値(X,Y)に対応するZバッファmk内のZ値より大きい場合(ステップS122/NO),ステップS123の処理を省略し,図7のステップS115に移る。
【0104】
GPU12は,全ての半透明なオブジェクトについて,Zバッファmkの生成処理,フレームバッファbのブレンド処理が終了するまで,図6のステップS104〜S107,図7のステップS108〜S111,図8のステップS112,S118〜S123,図7のステップS115〜S117の処理を実行する。
【0105】
図20は,半透明なオブジェクトm2,m3用のZバッファm2,m3の一例を示す図である。GPU12が,前記の処理を繰り返し行うことにより,図20(A)に示す半透明なオブジェクトm2のZバッファm2,図20(B)に示す半透明なオブジェクトm3のZバッファm3が生成される。そして,GPU12は,Zバッファm2,m3をそれぞれZバッファ1321,1322としてメインメモリ13に記憶する。なお,図20のZバッファm2,m3も,図19のように,ピクセル毎に格納領域を有する。
【0106】
図20(A)に示すように,半透明なオブジェクトm2(3角形)の形状において,大部分のZ値は,Z2である。一方,半透明なオブジェクトm2の形状において,一部分(欠けた部分)のZ値は,最大Z値Zmaxとなる。このようになるのは,図1,図2で示したように,オブジェクトm2の所定の視点位置VP側に不透明なオブジェクトm1が配置されているからである。そのため,図7のステップS111において,この一部分に対応するピクセルpix_iのレンダリングを実行する場合,ステップS111がNOになり,図8のステップS112以下の処理が実行されない。その結果,半透明なオブジェクトm2(3角形)の形状において,前記の一部分については,GPU12は,ステップS123で説明したZ値の上書き処理を行わず,前記一部分に対応するZバッファm2のピクセルには,初期値である最大Z値Zmaxが格納されたままになる。
【0107】
図20(B)において,半透明なオブジェクトm3のZ値は,Z3になる。
【0108】
図20(A)に示したように,GPU12は,フレームバッファbに対応するZバッファm2に,半透明なオブジェクトm2のZ値(Z2)および基準画像における半透明なオブジェクトm2の背景画像のZ値(Zmax)をピクセル毎に格納する。
【0109】
この際,図1,図2に示したように,3次元仮想空間において,不透明のオブジェクトm1が,半透明なオブジェクトm2よりも所定の視点位置側に配置され,かつ,2次元表示用画像において半透明なオブジェクトm2と不透明なオブジェクトm1が重なるので,GPU12は,以下の処理を実行する。すなわち,GPU12は,図20(A)に示したように,この重なる領域外の半透明なオブジェクトm2のZ値(Z2)および基準画像における半透明なオブジェクトm2の背景画像BGのZ値(Zmax)をピクセル毎に格納する。
【0110】
また,図20(B)に示したように,GPU12は,フレームバッファbに対応するZバッファm3に,半透明なオブジェクトm3のZ値(Z3)および基準画像における半透明なオブジェクトm3の背景画像のZ値(Zmax)をピクセル毎に格納する。
【0111】
さらに,GPU12は,所定の視点位置VPから2次元面に投影される,ぼかし処理が施されていない不透明なオブジェクトm1,m4,半透明なオブジェクトm2,m3の基準画像(図2参照)をフレームバッファbに格納する。
【0112】
以上が,図4のステップS1の処理の説明である。図4のステップS1が終了すると,ステップS2に移る。
【0113】
ステップS2:画像生成部111は,基準画像に基づきぼかし用画像を生成する。なお,GPU12が,ぼかし用画像を生成してもよい。ぼかし用画像の生成方法は,従来から提案されている様々な方法を用いることができる。例えば,基準画像内のオブジェクトの輪郭を荒くするため,基準画像をX倍に拡大し,この拡大画像を1/X倍に縮小する方法がある。他にも,基準画像の隣接ピクセルを平均化したり,または,ガウスフィルタを利用して,基準画像の各ピクセルの色値を平滑化する方法がある。図2の基準画像に基づくぼかし用画像は,後述する図26(B)に示す画像である。
【0114】
画像生成部111は,生成したぼかし用画像をメインメモリ13のぼかし用画像バッファ1331に格納する。
【0115】
ステップS3:画像生成部111は,不透明なオブジェクトのZ値に基づき,この不透明なオブジェクトのぼけ度を算出する。
【0116】
ここで,ぼけ度とはオブジェクトのぼかし具合の強さである。ぼけ度は,基準画像とぼかし用画像との合成時における両画像の合成比率を示す0〜1の範囲の値である。0に近いほど基準画像の比率が高くなり(シャープな画像となり),1に近いほどぼかし用画像の比率が高くなる(ぼけた画像になる)。
【0117】
図21は,ぼけ度を算出する際に参照されるグラフの一例を示す図である。縦軸はぼけ度Bを示し,横軸はZ値を示し,符号Lで示す太線がぼけ度算出用のグラフ線を示す。Z値に対応するグラフ線Lの縦軸が示す値が,このZ値のぼけ度を示す。画像生成部111は,このグラフ線を参照し,不透明なオブジェクトのぼけ度を算出する。例えば,オブジェクトのZ値がZaの場合,画像生成部111は,ぼけ度をbと算出する。また,このZ値が焦点位置Zf,Zmin,Zmaxの場合は,画像生成部111は,それぞれ,ぼけ度を0,1,1と算出する。
【0118】
具体的には,画像生成部111は,不透明なオブジェクトのZ値が格納されたZバッファbの各ピクセルに対応してこの各ピクセルのぼけ度を算出する。そして,画像生成部111は,Zバッファbの各ピクセルに対応してこの各ピクセルのぼけ度が格納されるフォーカシングバッファbを生成する。フォーカシングバッファbは,不透明なオブジェクトのぼけ度が格納されたバッファである。画像生成部111は,生成したフォーカシングバッファbをフォーカシングバッファ1341として,メインメモリ13に記憶する。
【0119】
図22は,不透明なオブジェクトm1,m4のぼけ度が格納されたフォーカシングバッファbの一例を示す図である。オブジェクトm1,m4のぼけ度は,それぞれb1,b4であり,背景BGのぼけ度は最大ぼけ度1である。なお,図22のフォーカシングバッファbも,図19のように,ピクセル毎に格納領域を有する。
【0120】
ステップS4:画像生成部111は,最も大きいZ値を有する半透明なオブジェクトを選択する。この選択は,図7で説明したオブジェクト処理順序テーブルにおいて,最も先頭側に位置する半透明なオブジェクトの識別番号を特定することにより実行される。図1,図10(B)の例では,半透明なオブジェクトm3が選択される。
【0121】
ステップS5:画像生成部111は,選択した半透明なオブジェクトmのZ値に基づき,このオブジェクトmのぼけ度を算出する。具体的には,画像生成部111は,半透明なオブジェクトmのZ値が格納されたZバッファmkの各ピクセルに対応してこの各ピクセルのぼけ度を算出する。そして,画像生成部111は,Zバッファmkの各ピクセルに対応してこの各ピクセルのぼけ度が格納されるフォーカシングバッファを生成する。
【0122】
以下,Zバッファmkの各ピクセルに対応してこの各ピクセルのぼけ度が格納されるフォーカシングバッファをフォーカシングバッファmkと呼ぶ。
【0123】
そして,画像生成部111は,前記のZバッファの各ピクセルに対応して算出されたぼけ度をフォーカシングバッファmkに格納する。
【0124】
図23は,半透明なオブジェクトのぼけ度が格納されたフォーカシングバッファmkの一例を示した図である。図23(A)は,図1の例において,オブジェクトm3のぼけ度が格納されたフォーカシングバッファm3を示す。図1の例において,画像生成部111が,1回目のステップS5を実行した場合には,図23(A)に示したフォーカシングバッファm3が生成される。
【0125】
画像生成部111は,生成したフォーカシングバッファm3をフォーカシングバッファ1351として,メインメモリ13に記憶する。
【0126】
ステップS6:画像生成部111は,選択した半透明なオブジェクトmの透明度,ぼけ度に基づき,基準画像のぼけ度を算出する。
【0127】
図24は,基準画像のぼけ度の算出処理を説明する図である。図24(A)は,不透明なオブジェクトのフォーカシングバッファbを示し,図24(B)は,図4のステップS4で選択した半透明なオブジェクトm3のフォーカシングバッファm3を示し,図24(C)は,算出後のぼけ度が格納されたカレントフォーカシングバッファを示す。
【0128】
画像生成部111は,基準画像のぼけ度の算出処理に当たり,半透明のオブジェクトのぼけ度の補正を行う。この補正について説明する。まず,画像生成部111は,フォーカシングバッファm3において,ぼけ度が最大ぼけ度(B=1)以外の領域を特定する。この領域が,図4のステップS4で選択した半透明なオブジェクトmのぼけ度が格納された領域である。そして,画像生成部111は,この領域における処理対象のピクセルpib_i(図24(B)参照)を選択する。次いで,画像生成部111は,このピクセルpib_iに対応する,不透明なオブジェクトのフォーカシングバッファbのピクセルpia_i(図24(A)参照)を選択する。フォーカシングバッファbにおけるピクセルpia_iの座標と,フォーカシングバッファm3におけるピクセルpib_iの座標は,同座標である。つまり,フォーカシングバッファb,フォーカシングバッファm3の原点をバッファの左上端とし,ピクセルpia_iの座標(Xa,Ya),ピクセルpib_iの座標(Xb,Yb)とすると,Xa=Xb,Ya=Ybである。
【0129】
そして,画像生成部111は,半透明なオブジェクトmのぼけ度を補正する。具体的には,画像生成部111は,半透明なオブジェクトm3のぼけ度(b3),不透明なオブジェクトm4のぼけ度(b4),背景部分のぼけ度(1),および,半透明なオブジェクトm3の透明度om_tに基づき,半透明なオブジェクトm3のぼけ度を補正する。ここで,半透明なオブジェクトのぼけ度を第1のぼけ度,不透明なオブジェクトのぼけ度,背景部分のぼけ度を第2のぼけ度とする。
【0130】
画像生成部111は,半透明なオブジェクトの透明度に応じて,半透明なオブジェクトと,不透明なオブジェクトおよび背景部分とが重なる領域のぼけ度を第2のぼけ度の割合で補正する。
【0131】
すなわち,画像生成部111は,この重なる領域のぼけ度を,半透明なオブジェクトの透明度om_tが大きくなるに従って,第2のぼけ度に近づけるように補正し,半透明なオブジェクトの透明度om_tが小さくなるに従って,第1のぼけ度に近づけるように補正する。
【0132】
このぼけ度の補正において,画像生成部111は,第1のぼけ度と第2のぼけ度との合成比率を半透明なオブジェクトの透明度om_tに基づき調整し,調整後の合成比率に基づき,第1のぼけ度と第2のぼけ度を合成する。
【0133】
この補正処理(合成処理)は,例えば,(式4)に基づき実行する。ここで,補正後のぼけ度をb’として,ピクセルpia_iのぼけ度をbとして,ピクセルpib_iのぼけ度をbxとすると,(式4)は下記の通りである。
【0134】
b’=bx×(1-om_t)+b×om_t…(式4)
ここで,om_tは,選択した半透明なオブジェクトの透明度を示す。図1の例では,0.5であるとする。画像生成部111は,補正後のぼけ度b’をフォーカシングバッファbのピクセルpia_iに格納する。
【0135】
画像生成部111は,前記ぼけ度の補正処理を,特定した領域の全ピクセルに対して実行し,補正後のぼけ度をフォーカシングバッファbのピクセルpia_iに格納する。このようにすることで,半透明のオブジェクトのぼけ度を補正することができる。
【0136】
前記の実行により,例えば,図24(C)において,半透明なオブジェクトm3と不透明なオブジェクトm4とが重なる領域のぼけ度がぼけ度b5と補正され,オブジェクトm3において背景部分(ぼけ度1)とが重なる領域のぼけ度がぼけ度b6と補正される。この補正により,基準画像のぼけ度が算出される。
【0137】
ステップS7:画像生成部111は,基準画像の全オブジェクトについてぼけ度の算出処理が終了したかを判定する。具体的には,画像生成部111は,選択した半透明なオブジェクトが図10に示したオブジェクト処理順序テーブルの末尾の格納領域に設定された識別番号のオブジェクトか否かを判定する。
【0138】
基準画像の全オブジェクトについてぼけ度の算出処理が終了していない場合(ステップS7/NO),ステップS8に移る。
【0139】
ステップS8:画像生成部111は,次に大きいZ値を有する半透明なオブジェクトを選択する。この選択は,図7で説明したオブジェクト処理順序テーブルに格納されている半透明なオブジェクトの識別番号を上(先頭)から順に参照することにより実行される。図1,図10(B)の例では,半透明なオブジェクトm2が選択される。次いで,ステップS5に戻る。
【0140】
ステップS5において,画像生成部111は,ステップS8で選択した半透明なオブジェクトmのZ値が格納されたZバッファmkに基づき,前記したように,このオブジェクトmのぼけ度を算出する。そして,画像生成部111は,新たに生成したフォーカシングバッファmkにぼけ度を格納する。このように,フォーカシングバッファmkは,Zバッファmkに対応して生成される。
【0141】
図23(B)は,図1の例において,オブジェクトm2のぼけ度が格納されたフォーカシングバッファm2を示す。図1の例において,画像生成部111が,2回目のステップS5を実行した場合には,図23(B)に示したフォーカシングバッファm2が生成される。
【0142】
画像生成部111は,生成したフォーカシングバッファm2をフォーカシングバッファ1352として,メインメモリ13に記憶する。以上,説明したように,フォーカシングバッファ1351…135nは,Zバッファ1321…132nに対応して記憶される。
【0143】
次いで,図6のステップS6に移る。ステップS6において,画像生成部111は,選択した半透明なオブジェクトmの透明度,ぼけ度に基づき,基準画像のぼけ度を算出する。画像生成部111が,ステップS6の処理を2回目以降に行う場合,算出対象となる基準画像のぼけ度は,前回ステップS6において,カレントフォーカシングバッファ(図24(C)参照)に格納された基準画像のぼけ度である。
【0144】
図25は,基準画像のぼけ度の算出処理を説明する図である。図25(A)は,直前にぼけ度が算出された基準画像のフォーカシングバッファであるカレントフォーカシングバッファを示す。図25(A)は,図24(C)のカレントフォーカシングバッファである。図25(B)は,図4のステップS8で選択したオブジェクトm2のフォーカシングバッファm2を示し,図25(C)は,算出後のぼけ度が格納されたカレントフォーカシングバッファを示す。
【0145】
画像生成部111は,基準画像のぼけ度の算出処理に当たり,前記したように,半透明のオブジェクトのぼけ度の補正を行う。具体的には,まず,画像生成部111は,フォーカシングバッファm2において,ぼけ度が最大ぼけ度(B=1)以外の領域を特定する。そして,画像生成部111は,この領域における処理対象のピクセルpib_i(図25(B)参照)を選択する。次いで,画像生成部111は,このピクセルpib_iに対応する,カレントフォーカシングバッファのピクセルpia_i(図25(A)参照)を選択する。
【0146】
そして,前記の(式4)に基づき,半透明なオブジェクトm2のぼけ度を補正する。画像生成部111は,前記ぼけ度の補正処理を,特定した領域の全ピクセルに対して実行し,補正後のぼけ度をカレントフォーカシングバッファのピクセルpia_iに格納する。
【0147】
前記の実行により,例えば,図25(C)において,半透明なオブジェクトm2と背景部分(ぼけ度1)とが重なる領域のぼけ度がぼけ度b7と補正され,半透明なオブジェクトm2と不透明なオブジェクトm4とが重なる領域のぼけ度がぼけ度b8と補正される。また,前記の実行により,半透明なオブジェクトm2と半透明なオブジェクトm3と背景部分とが重なる領域のぼけ度がぼけ度b9と補正され,半透明なオブジェクトm2と半透明なオブジェクトm3と不透明なオブジェクトm4とが重なる領域のぼけ度がぼけ度b10と補正される。この補正により,基準画像のぼけ度が新たに算出される。
【0148】
以上説明したように,画像生成部111は,補正された半透明なオブジェクトm2,m3のぼけ度(第1のぼけ度),不透明なオブジェクトのぼけ度(第2のぼけ度)に基づき,基準画像のピクセル毎のぼけ度を算出する。
【0149】
そして,画像生成部111は,基準画像の全オブジェクトについてぼけ度の算出処理が終了したかを判定する(ステップS7)。
【0150】
基準画像の全オブジェクトについてぼけ度の算出処理が終了した場合(ステップS7/YES),ステップS9に移る。
【0151】
ステップS9:画像生成部111は,基準画像とぼかし用画像とを,新たに算出された基準画像のぼけ度に基づき,ピクセル単位で合成する。具体的には,画像生成部111は,基準画像のピクセル毎の色値と,基準画像に基づき生成されたぼかし用画像のピクセル毎の色値との合成比率を基準画像のピクセル毎のぼけ度に基づき調整する。そして,画像生成部111は,調整後の合成比率に基づいて,基準画像のピクセル毎の色値とぼかし用画像のピクセル毎の色値とを合成して2次元表示用画像を生成する。
【0152】
図26は,合成処理を説明する図である。図26(A)は,基準画像の色値が格納されたフレームバッファを示し,図26(B)は,図4のステップS2で生成したぼかし用画像の色値が格納されたバッファを示し,図26(C)は,オブジェクトのぼけ度が格納されたカレントフォーカシングバッファを示し,図26(D)は,合成後の表示用画像の色値が格納された表示用フレームバッファを示す。
【0153】
この合成処理は,例えば,(式5)に基づき実行される。ここで,基準画像のフレームバッファのピクセルpica_i(図26(A)参照)の色値をCoとして,ピクセルpica_iに対応する,ぼかし用画像が格納されたぼかし画像フレームバッファのピクセルpicb_i(図26(B)参照)の色値をCbとする。そして,ピクセルpica_iに対応する,カレントフォーカシングバッファのピクセルpia_i(図26(C)参照)に格納されたぼけ度をbとして,ピクセルpica_iに対応する,画像合成のフレームバッファのピクセルpicc_i(図26(D)参照)の色値をCとすると,(式5)は下記の通りである。
【0154】
C=Co×(1-b)+Cb×b…(式5)
画像生成部111は,前記合成処理を全ピクセルについて実行し,合成後の色値(2次元表示用画像データ)をVRAM14の表示用フレームバッファに格納する。すなわち,2次元表示用画像をVRAM14に描画する。
【0155】
ステップS10:表示コントローラ16は,描画された2次元表示用画像を読み出し,表示装置20に表示する。その結果,図26(D)に示す画像が表示される。
【0156】
ステップS11:CPU11は,画像生成処理が終了したかを判定する。この判定は,生成する画像の種別に応じて行う。例えば,生成する画像が静止画の場合には,CPU11は,処理を終了する(ステップS11/YES)。また,生成する画像が動画やゲーム用画像の場合のように,次のフレームを表示する必要がある場合には,処理を継続してステップS1に戻る(ステップS11/NO)。なお,ゲーム用画像の場合,キー操作の有無により,前記判定を行うこともできる。
【0157】
以上説明したように,画像生成部111は,半透明なオブジェクト毎のZバッファ1321…132n(第1のZバッファ),不透明なオブジェクトのZバッファ1313(第2のZバッファ)に格納された各オブジェクトのZ値に基づき,この各オブジェクトのぼけ度を算出し,この各オブジェクトのぼけ度に応じてこの各オブジェクトをぼかした2次元表示用画像を生成する処理を実行する。
【0158】
例えば,第1のZバッファ1321に半透明なオブジェクト(第1のオブジェクト)のZ値が格納され,第2のZバッファ1313に不透明なオブジェクト(第2のオブジェクト)のZ値が格納されている場合,画像生成部111は,半透明なオブジェクト,不透明なオブジェクトのぼけ度に応じて半透明なオブジェクト,不透明なオブジェクトをぼかした2次元表示用画像を生成する。
【0159】
この実行時において,画像生成部111は,3次元仮想空間において,半透明なオブジェクトが,不透明なオブジェクトよりも所定の視点位置VP側(図1のVP側)に配置され,かつ,所定の視点位置VPを基準にして半透明なオブジェクトと不透明なオブジェクトが重なる場合,半透明なオブジェクトの透明度に応じて,この重なる領域のぼけ度を,不透明なオブジェクトのぼけ度の割合で補正する。すなわち,画像生成部111は,半透明なオブジェクトの透明度が大きくなるに従って,この重なる領域のぼけ度を不透明なオブジェクトのぼけ度に近づけるように補正し,半透明なオブジェクトの透明度が小さくなるに従って,この重なる領域のぼけ度を半透明なオブジェクトのぼけ度に近づけるように補正する。
【0160】
本実施の形態によれば,半透明なオブジェクトの後ろに不透明なオブジェクトが配置されている場合,半透明なオブジェクトと不透明なオブジェクトとが重なる領域を半透明なオブジェクトの透明度に応じて適切にぼかすことができる。そのため,より自然な2次元表示用画像を生成できる。
【0161】
以上の実施の形態をまとめると,次の付記のとおりである。
【0162】
(付記1)
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置において,
半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する
ことを特徴とする画像生成装置。
【0163】
(付記2)
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置において,
半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第1のオブジェクトの透明度が大きくなるに従って,前記第2のオブジェクトのぼけ度に近づけるように補正し,前記第1のオブジェクトの透明度が小さくなるに従って,前記第1のオブジェクトのぼけ度に近づけるように補正する
ことを特徴とする画像生成装置。
【0164】
(付記3)
付記1又は2において,
前記画像生成部は,前記重なる領域のぼけ度の補正において,前記第1のオブジェクトの第1のぼけ度と前記第2のオブジェクトの第2のぼけ度との合成比率を前記第1のオブジェクトの透明度に基づき調整し,調整後の合成比率に基づき,前記第1のぼけ度と前記第2のぼけ度を合成する
ことを特徴とする画像生成装置。
【0165】
(付記4)
付記3において,
さらに,前記所定の視点位置から2次元面に投影される,ぼかし処理が施されていない前記第1,第2のオブジェクトの基準画像をフレームバッファに格納する画像処理プロセッサを有し,
前記画像生成部は,前記補正された第1のぼけ度,前記第2のぼけ度に基づき,前記基準画像のピクセル毎のぼけ度を算出し,
前記基準画像のピクセル毎の色値と,前記基準画像に基づき生成されたぼかし用画像のピクセル毎の色値との合成比率を前記算出した基準画像のピクセル毎のぼけ度に基づき調整し,調整後の合成比率に基づき,前記基準画像のピクセル毎の色値と前記ぼかし用画像のピクセル毎の色値とを合成して前記2次元表示用画像を生成する
ことを特徴とする画像生成装置。
【0166】
(付記5)
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する処理をコンピュータに実行させる画像生成プログラムにおいて,
前記所定の視点位置から2次元面に投影される,ぼかし処理が施されていない前記第1,第2のオブジェクトの基準画像をフレームバッファに格納し,
前記フレームバッファに対応する第1のZバッファに,半透明な第1のオブジェクトの第1の奥行き値および前記基準画像における第1のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記フレームバッファに対応する第2のZバッファに,不透明な第2のオブジェクトの第2の奥行き値および前記基準画像における第2のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記第1の奥行き値に基づき前記第1のオブジェクトの第1のぼけ度を算出し,
前記第2の奥行き値に基づき前記第2のオブジェクトの第2のぼけ度を算出し,
前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する
処理をコンピュータに実行させる画像生成プログラム。
【0167】
(付記6)
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する処理をコンピュータに実行させる画像生成プログラムにおいて,
前記所定の視点位置から2次元面に投影される,ぼかし処理が施されていない前記第1,第2のオブジェクトの基準画像をフレームバッファに格納し,
前記フレームバッファに対応する第1のZバッファに,半透明な第1のオブジェクトの第1の奥行き値および前記基準画像における第1のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記フレームバッファに対応する第2のZバッファに,不透明な第2のオブジェクトの第2の奥行き値および前記基準画像における第2のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記第1の奥行き値に基づき前記第1のオブジェクトの第1のぼけ度を算出し,
前記第2の奥行き値に基づき前記第2のオブジェクトの第2のぼけ度を算出し,
前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第1のオブジェクトの透明度が大きくなるに従って,前記第2のオブジェクトのぼけ度に近づけるように補正し,前記第1のオブジェクトの透明度が小さくなるに従って,前記第1のオブジェクトのぼけ度に近づけるように補正する
処理をコンピュータに実行させる画像生成プログラム。
【0168】
(付記7)
付記5又は6の前記補正において,
前記第1のぼけ度,前記第2のぼけ度,および,前記第1のオブジェクトの透明度に基づき,前記重なる領域のぼけ度を補正する
処理をコンピュータに実行させる画像生成プログラム。
【0169】
(付記8)
付記7の前記補正において,
前記第1のぼけ度と前記第2のぼけ度との合成比率を前記第1のオブジェクトの透明度に基づき調整し,調整後の合成比率に基づき,前記第1のぼけ度と前記第2のぼけ度を合成することにより,前記第1のぼけ度を補正する
処理をコンピュータに実行させる画像生成プログラム。
【0170】
(付記9)
付記8において,
前記補正された第1のぼけ度,前記第2のぼけ度に基づき,前記基準画像のピクセル毎のぼけ度を算出し,
前記基準画像のピクセル毎の色値と,前記基準画像に基づき生成されたぼかし用画像のピクセル毎の色値との合成比率を前記算出した前記基準画像のピクセル毎のぼけ度に基づき調整し,
調整後の合成比率に基づいて,前記基準画像のピクセル毎の色値と前記ぼかし用画像のピクセル毎の色値とを合成して前記2次元表示用画像を生成する
処理をコンピュータに実行させる画像生成プログラム。
【0171】
(付記10)
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置と前記画像生成装置が生成した画像を表示する表示装置とを有する画像表示システムであって,
前記画像生成装置は,半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する
ことを特徴とする画像表示システム。
【0172】
(付記11)
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置と前記画像生成装置が生成した画像を表示する表示装置とを有する画像表示システムであって,
前記画像生成装置は,半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第1のオブジェクトの透明度が大きくなるに従って,前記第2のオブジェクトのぼけ度に近づけるように補正し,前記第1のオブジェクトの透明度が小さくなるに従って,前記第1のオブジェクトのぼけ度に近づけるように補正する
ことを特徴とする画像表示システム。
【符号の説明】
【0173】
10…画像生成装置,11…CPU,111…画像生成部,12…GPU,13…メインメモリ,14…VRAM,15…ROM,16…表示コントローラ,20…表示装置。

【特許請求の範囲】
【請求項1】
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置において,
半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する
ことを特徴とする画像生成装置。
【請求項2】
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置において,
半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第1のオブジェクトの透明度が大きくなるに従って,前記第2のオブジェクトのぼけ度に近づけるように補正し,前記第1のオブジェクトの透明度が小さくなるに従って,前記第1のオブジェクトのぼけ度に近づけるように補正する
ことを特徴とする画像生成装置。
【請求項3】
請求項1又は2において,
前記画像生成部は,前記重なる領域のぼけ度の補正において,前記第1のオブジェクトの第1のぼけ度と前記第2のオブジェクトの第2のぼけ度との合成比率を前記第1のオブジェクトの透明度に基づき調整し,調整後の合成比率に基づき,前記第1のぼけ度と前記第2のぼけ度を合成する
ことを特徴とする画像生成装置。
【請求項4】
請求項3において,
さらに,前記所定の視点位置から2次元面に投影される,ぼかし処理が施されていない前記第1,第2のオブジェクトの基準画像をフレームバッファに格納する画像処理プロセッサを有し,
前記画像生成部は,前記補正された第1のぼけ度,前記第2のぼけ度に基づき,前記基準画像のピクセル毎のぼけ度を算出し,
前記基準画像のピクセル毎の色値と,前記基準画像に基づき生成されたぼかし用画像のピクセル毎の色値との合成比率を前記算出した基準画像のピクセル毎のぼけ度に基づき調整し,調整後の合成比率に基づき,前記基準画像のピクセル毎の色値と前記ぼかし用画像のピクセル毎の色値とを合成して前記2次元表示用画像を生成する
ことを特徴とする画像生成装置。
【請求項5】
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する処理をコンピュータに実行させる画像生成プログラムにおいて,
前記所定の視点位置から2次元面に投影される,ぼかし処理が施されていない前記第1,第2のオブジェクトの基準画像をフレームバッファに格納し,
前記フレームバッファに対応する第1のZバッファに,半透明な第1のオブジェクトの第1の奥行き値および前記基準画像における第1のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記フレームバッファに対応する第2のZバッファに,不透明な第2のオブジェクトの第2の奥行き値および前記基準画像における第2のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記第1の奥行き値に基づき前記第1のオブジェクトの第1のぼけ度を算出し,
前記第2の奥行き値に基づき前記第2のオブジェクトの第2のぼけ度を算出し,
前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する
処理をコンピュータに実行させる画像生成プログラム。
【請求項6】
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する処理をコンピュータに実行させる画像生成プログラムにおいて,
前記所定の視点位置から2次元面に投影される,ぼかし処理が施されていない前記第1,第2のオブジェクトの基準画像をフレームバッファに格納し,
前記フレームバッファに対応する第1のZバッファに,半透明な第1のオブジェクトの第1の奥行き値および前記基準画像における第1のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記フレームバッファに対応する第2のZバッファに,不透明な第2のオブジェクトの第2の奥行き値および前記基準画像における第2のオブジェクトの背景画像の奥行き値をピクセル毎に格納し,
前記第1の奥行き値に基づき前記第1のオブジェクトの第1のぼけ度を算出し,
前記第2の奥行き値に基づき前記第2のオブジェクトの第2のぼけ度を算出し,
前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第1のオブジェクトの透明度が大きくなるに従って,前記第2のオブジェクトのぼけ度に近づけるように補正し,前記第1のオブジェクトの透明度が小さくなるに従って,前記第1のオブジェクトのぼけ度に近づけるように補正する
処理をコンピュータに実行させる画像生成プログラム。
【請求項7】
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置と前記画像生成装置が生成した画像を表示する表示装置とを有する画像表示システムであって,
前記画像生成装置は,半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトの透明度に応じて,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第2のオブジェクトのぼけ度の割合で補正する
ことを特徴とする画像表示システム。
【請求項8】
3次元仮想空間における各オブジェクトの透明度,および所定の視点位置からの奥行き値に基づき,前記所定の視点位置から2次元面に投影される前記各オブジェクトの2次元表示用画像を生成する画像生成装置と前記画像生成装置が生成した画像を表示する表示装置とを有する画像表示システムであって,
前記画像生成装置は,半透明な第1のオブジェクトの奥行き値を格納する第1のZバッファと,
不透明な第2のオブジェクトの奥行き値を格納する第2のZバッファと,
前記第1,第2のオブジェクトの奥行き値に基づき,前記第1,第2のオブジェクトのぼけ度を算出し,前記第1,第2のオブジェクトのぼけ度に応じて前記第1,第2のオブジェクトをぼかした2次元表示用画像を生成する画像生成部を有し,
前記画像生成部は,前記3次元仮想空間において,前記第1のオブジェクトが,前記第2のオブジェクトよりも前記所定の視点位置側に配置され,かつ,前記2次元表示用画像において前記第1のオブジェクトと前記第2のオブジェクトが重なる場合,前記第1のオブジェクトと前記第2のオブジェクトが重なる領域のぼけ度を,前記第1のオブジェクトの透明度が大きくなるに従って,前記第2のオブジェクトのぼけ度に近づけるように補正し,前記第1のオブジェクトの透明度が小さくなるに従って,前記第1のオブジェクトのぼけ度に近づけるように補正する
ことを特徴とする画像表示システム。

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図16】
image rotate

【図21】
image rotate

【図1】
image rotate

【図2】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2013−84181(P2013−84181A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−224743(P2011−224743)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】