説明

画像表示方法,画像表示制御プログラム及び,これらを適用する画像表示装置

【課題】画像表示装置における処理を効率化でき,且つ画像の奥行き方向における画像の暈けも反映できる画像表示方法,画像表示制御プログラム及び,これらを適用する画像表示装置を提供する。
【解決手段】画像処理プロセッサにより3次元空間座標を有する複数のポリゴンデータを2次元座標の画像データに変換し,フレームバッファに描画された画像データの表示方法において,前記画像処理プロセッサに,前記フレームバッファに描画された2次元画像データの画素ごとに隣接画素との輝度差を判定させ,所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とし,前記輪郭線にある画素のそれぞれの前記3次元空間座標における仮想視点からの奥行き方向のZ値の大きさに対応して前記画素に対し,異なるぼかしフィルタ処理を実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,画像表示方法,画像表示制御プログラム及び,これらを適用する画像表示装置に関し,特に,3次元空間座標を有する複数のポリゴンデータを2次元平面に表示する際のアンチエイリアシングを最適化する画像表示に関する。
【背景技術】
【0002】
パーソナルコンピュータあるいは,ゲーム装置においては,3次元空間座標を有する複数のポリゴンデータを2次元平面画像に座標変換して表示装置に表示される。
【0003】
この際,表示装置がデジタル表示装置である場合,表示画面は,マトリクス状に固定配置された画素配列を有する。したがって,3次元空間座標を有する複数のポリゴンデータを2次元平面画像に座標変換して表示装置に表示される際に,座標変換された画素位置は小数点を有し,表示画面上の画素位置に対応づける際に整数化される。
【0004】
これにより,輝度差が大きい表示領域間のエッジ部にジャギー(ギザギザ)が目立ち,更に動画像である場合は,表示画像にちらつき(フリッカー)を発生し,画像の表示品質を低下させることになる。
【0005】
したがって,かかるジャギーを低減するために画像をぼかすアンチエイリアシング処理が行われる。
【0006】
かかるアンチエイリアシングを用いる従来技術として種々提案されている(例えば,特許文献1,2)。特許文献1に記載の発明は,3次元空間座標を有する複数のポリゴンデータの段階で,ポリゴンデータ毎にその周辺(エッジ)に対してアンチエイリアシング処理を実行するものである。
【0007】
さらに,特許文献2に記載の発明は,複数の半透明係数を階調構成した所定のテーブルを用意し,第1の画像を構成するデータのうちで輝度への影響が大きいデータ部から画像のエッジを抽出し,抽出された画像のエッジのデータ部をインデックスとして前記の所定のテーブルから半透明係数を取り出す。そして,取り出された半透明係数を用いて第1の画像とそれを暈かした第2の画像とを合成する。
【0008】
このように,画像のエッジ部の輝度に応じてアンチエイリアシングの度合いを変化させて重点的にジャギーの低減を図るものである。
【特許文献1】特開平7−21406号公報
【特許文献2】特許第3529759号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
上記特許文献1,2に記載の発明を考察すると,特許文献1に記載の発明では,3次元空間座標を有する複数のポリゴンデータの段階で,ポリゴンデータ毎にその周辺(エッジ)に対してアンチエイリアシング処理を実行するものであり,画像が複雑になるとポリゴン量が膨大となり,処理装置の負荷が大きくなる問題が想定される。
【0010】
一方,特許文献2に記載の発明では,3次元空間座標を有する複数のポリゴンデータを2次元画面に対応づけた画像における輝度への影響が大きいデータ部から画像のエッジを抽出しており,エッジ部の輝度に応じてアンチエイリアシングの度合いを変化させている。しかし,この特許文献2においては,エッジ部の輝度に応じてのアンチエイリアシング処理であり,画像の奥行き方向における画像の暈けは考慮されておらず,不自然な画像表示となる問題も想定される。
【0011】
したがって,本願発明の目的は,上記従来技術に鑑みて,画像表示装置における処理を効率化でき,且つ画像の奥行き方向における画像の暈けも反映できる画像表示方法,画像表示制御プログラム及び,これらを適用する画像表示装置を提供することにある。
【課題を解決するための手段】
【0012】
上記の課題を解決する本発明は,第1の側面として,画像処理プロセッサにより3次元空間座標を有する複数のポリゴンデータを2次元座標の画像データに変換し,フレームバッファに描画された画像データの表示方法において,
前記画像処理プロセッサに,
前記フレームバッファに描画された2次元画像データの画素ごとに隣接画素との輝度差を判定させる工程と,
所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とする工程と,
前記輪郭線にある画素のそれぞれの前記3次元空間座標における仮想視点からの奥行き方向のZ値の大きさに対応して前記画素に対し,異なるぼかしフィルタ処理を実行させ流工程と,
前記フィルタ処理された2次元画像データを前記フレームバッファに書き戻しさせる工程と,
前記フレームバッファに書き込まれた2次元画像データを表示装置に表示させる工程を有することを特徴とする。
【0013】
また,上記において,前記Z値の大きさに対応して前記画素に対して実行される,異なるぼかしフィルタ処理は,
基準とするZ値より所定の+Z値以上に大きいZ値を有する画素に対して,縦,横の移動平均値を求めて,当該画素の輝度値とし,
前記基準とするZ値より所定の−Z値以上小さいZ値を有する画素に対して,原画像からラプラシアンフィルタ処理の値を引き算して求め,当該画素の輝度値とし,
前記基準とするZ値近傍の画素に対して,前記横の移動平均値を求めるフィルタ処理と,
前記原画像からラプラシアンフィルタ処理の値を引き算して求めフィルタ処理を実行することを特徴とする。
【0014】
さらに,前記輝度は,対応する画素のR.G.B色情報に所定に係数を掛けて合計するYcc変換により得られる。
【0015】
上記の特徴により,仮想視点からのZ値に応じて,異なるフィルタ処理が行われるので,より好ましい画像に対するアンチエイリアシングを行うことができる。
【発明を実施するための最良の形態】
【0016】
以下に本発明の実施例を図面に従い説明する。
【0017】
図1は,本発明の画像表示制御プログラムの実行により達成される画像表示方法を適用する画像表示装置の構成例ブロック図である。なお,一例として,画像表示装置をゲーム装置とする例に基づき説明する。
【0018】
画像表示装置は,ハードウエア構成は一般的なゲーム装置と同様であり,システムバス100にメインCPU101,システムメモリ102,ROM103,更に入出力インタフェース104〜108が接続されている。
【0019】
入出力インタフェース104に画像処理装置110が接続され,画像処理装置110に表示装置111が接続されている。
【0020】
入出力インタフェース105には,CD,DVD等のディスク記録媒体113にデータを書込み,あるいはプログラムデータの読み出しを行うドライブ装置112が接続される。
【0021】
入出力インタフェース106には,キーボード,マウス,パッドコントローラ等の入力装置114が接続される。
【0022】
さらに,入出力インタフェース107は,ゲーム装置を図示しないセンター装置を介して他のゲーム装置と接続してネットワークゲームを実行する場合,通信回線115と接続され,センター装置との信号を送受する通信インタフェースである。
【0023】
また,入出力インタフェース108は,サウンド装置116にゲームサウンドを出力するサウンドインタフェースである。
【0024】
メインCPU101は,システムメモリ102からゲームプログラム102Aを読み込み,ゲーム進行中に,システムバス100に接続される機器の統括制御と,通信インタフェース107を通しての通信制御等を司る。
【0025】
画像処理装置110は,画像処理CPU110Aによりシステムメモリ102からゲームプログラム102Aに付属するゲームデータ102Bを読み込み,ゲーム上の仮想三次元空間座標に座標変換し,更にゲームプログラム102Aに従いポリゴンで構成されるキャラクタ像を表示装置111の表示画面に対応する二次元座標に座標変換する。
【0026】
このとき,テクスチャメモリ110Bからポリゴンに貼り付けるテクスチャを読み込みビデオメモリ110Cに描画する。
【0027】
画像処理CPU110Aは,更にビデオメモリ110Cに描画された画像データを表示装置111に送り表示を行う。
【0028】
本発明の特徴は,かかる画像処理装置110におけるアンチエイリアシング処理にあり,上記テクスチャメモリ110B及びビデオメモリ110Cと伴に他のバッファメモリ機能を有してかかるアンチエイリアシング処理が行われる。
【0029】
図2は,画像処理装置110におけるアンチエイリアシング処理のためのバッファメモリと,処理手順を説明する図である。
【0030】
図2において,画像処理装置110は,ゲームプログラムの実行が開始されると,初期処理としてシステムメモリ10のゲームデータ102Bに基づき,3次元画像データを構成するポリゴンの各頂点データを頂点バッファ/インデックスバッファ110Dに書込む。
【0031】
各頂点データには,3次元空間座標,法線ベクトル,(R.G.B)色情報,色のブレンデング情報等が含まれる。
【0032】
画像処理CPU110Aの処理において,先ずバーテックスシェーダプログラムを実行して,頂点バッファ/インデックスバッファ110Dに書き込まれた3次元画像データとしての頂点データを2次元画像データに変換する(ステップS1)。
【0033】
変換された2次元画像データは,ラスタライザにより,2次元画像データのそれぞれのピクセルを所定の2次元平面の座標位置に対応づける(ステップS2)。この際に,先に説明したように,小数点を整数に丸める処理により,ジャギーが生じる。
【0034】
次に, ピクセルシェーダプログラムの実行により,ピクセル毎にテクスチャバッファ110Bからのテクスチャデータを貼り付ける(ステップS3)。
【0035】
さらに,ラスターオペレーション(ステップS4)として,テクスチャデータの貼り付けられたピクセルを,頂点データのZ値を参照して,隠面処理をしながらフレームバッファ110Cに描画する(ステップS4)。同時に,Z値がZバッファ110Eに書き込まれる。
【0036】
本発明は,上記の処理によりフレームバッファ110Cに描画された2次元画像データに対し,本発明の原理に従いアンチエイリアシング処理が行われる。
【0037】
図3は,かかる本発明に従うアンチエイリアシングの処理フローである。
【0038】
先に図2において説明したように,3次元空間座標を有する複数のポリゴンデータを2次元画像データに座標変換してフレームバッファ110Cに描画する(ステップS10)。
【0039】
このとき,描画されるピクセルのカラー値と,Z値がそれぞれフレームバッファ110C,及びZバッファ110Eに保存される。
【0040】
次に,フィルタ処理により輝度差の大きい輪郭線を抽出する(ステップS12)。
【0041】
ここで,輝度は,フレームバッファ110Cに保持されるピクセルの色情報をテクスチャメモリ110Bにテクスチャとして複製し,複製されたテクスチャのカラーインデックス即ち,R,G,Bの値にそれぞれ所定係数を乗算し,それらを合計するYCC変換により求める。
【0042】
さらに,上記輪郭線を抽出するフィルタ処理は実施例として次のように求められる。
【0043】
図4は,特定のピクセルEとそれに斜め方向に隣接ずるピクセルA,B,C,Dを示している。
【0044】
ピクセルEに対する移動平均値を求める。移動平均値は,たとえば,次のようなマトリクスオペレータを用いて求められる。
【0045】
【数1】

【0046】
すなわち,ピクセルEに対する輝度の移動平均値Ebbは,次のように求められる。
【0047】
Ebb=(Ea*0.25+Eb*0.25+Ec*0.25+Ed*0.25)/4
但し,Ea,Eb,Ec,Edは,ピクセルA,B,C,Dのそれぞれの輝度値である。
【0048】
このピクセルEに対する移動平均値EbbとピクセルE自体の輝度値Ebとを比較する。そして,移動平均値EbbとピクセルE自体の輝度値Ebの差の大きさが閾値より大きいか否かを判定する。
【0049】
図5は,フレームバッファ(ビデオメモリ)110Cに描画された2次元画像の表示画面200の例である。この例では,輝度の高い領域(ハッチングのある部分)Xと輝度の低い領域(ハッチングの無い部分)Yが隣接している領域A,B,Cがある。
【0050】
上記のようにピクセル毎に移動平均値とピクセル自体の輝度値と差の大きさを求め,閾値と比較する。図5において,輝度の高い領域と輝度の低い領域が隣接している領域Cの境界の一部を下方に拡大して示す。境界に沿って並ぶピクセルa1(b1),a2(b2),a3(b3),a4(b4),a5(b5),a6(b6),a7(b7)について,差の大きさが閾値より大きくなる。
【0051】
このようにして,境界に沿って並ぶピクセルにより輪郭線が形成される。
【0052】
本発明は,上記のように求められた輪郭線に対応するピクセルについて,当該ピクセルのZ値に応じたフィルタ処理を施すことに特徴を有する。
【0053】
さらにラスターオペレーション(S4)として上記輪郭線のピクセルに対応して,フィルタ処理を施すZバッファ110Eに保持されているZ値求める(ステップS11)。
【0054】
ついで,ステップS12において,輪郭線のピクセルに対応するZ値が求められると,求められたZ地に応じて異なるフィルタ処理を実行する(ステップS13からS18)。
【0055】
図6は,閾値の設定の仕方の例である。三次元空間の仮想視点Oから遠ざかる方向にZ値が大きくなる。図6において,基準のZ値を設定し,この基準のZ値に対して所定の+Z値以上と,所定の−Z値以上の閾値が設定されている。
【0056】
輪郭線の画素のZ値が基準のZ値より−Z閾値より小さい(3次元空間において仮想視点Oに近い側にある)場合(ステップS13,Yes),抽出した輪郭線の周りだけ移動平均の暈しフィルタをかける(ステップS14)。
【0057】
移動平均の暈しフィルタは,オペレータとして次のような行列を用いる。中央値m,その周りの値をαとすると,
【0058】
【数2】

【0059】
8α + m=1.0 で表される。
【0060】
さらに,図3において,輪郭線の画素のZ値が基準のZ値より+Z閾値より大きい(3次元空間において仮想視点から遠い側にある)場合(ステップ平均S15,Yes),斜め線のジャギーを効率よく取り除く畳み込みフィルタをかける(ステップS16)。
【0061】
斜め線のジャギーを取り除く画像を生成するには,
斜め線をぼかした画像=縦,横の移動平均による暈け画像+[k*原画像−l*ラプラシアン] により得られる。
【0062】
具体例として,
原画像を
【0063】
【数3】

【0064】
とし,
ラプラシアンは,
【0065】
【数4】

【0066】
であるので,
さらに,定数kを行列2の各要素にかける係数,定数lを行列3の各要素にかける係数とする。
【0067】
m=−0.20, α=0.15,k=0.0,l=0.28
とすると,
【0068】
【数5】

【0069】
上記具体例では,対象とするピクセルごとに行列4を用いたフィルタ処理を行う。即ち,対象とするピクセルの輝度を,原画像の対象ピクセルの輝度を0.92倍にしたものと,対象ピクセルの縦,横に隣接する画素の輝度をそれぞれ−0.13 倍したものと,対象ピクセルの斜め方向の隣接画素の輝度をそれぞれ0.15倍としたものの合計を9で除した値とする。
【0070】
さらに,−Z閾値と+Z閾値の間即ち,輪郭線の画素の輝度が基準の閾値Z近傍であるとき(ステップS17,Yes),輪郭線の周りだけを移動平均の暈しフィルタ(上(ステップS14)と斜め線のジャギーを効率よく取り除く畳み込みフィルタ(ステップS16)の2つで線形補間する(ステップS18)。
【0071】
上記の処理をすべての画素に対して実行する(ステップS19)。
【0072】
上記のように本発明は,仮想視点からの距離に応じて暈けフィルタ処理を変えているので,3次元空間位置に対応した暈けによりジャギーを自然に低減することができる。
【図面の簡単な説明】
【0073】
【図1】本発明の画像表示制御プログラムの実行により達成される画像表示方法を適用する画像表示装置の構成例ブロック図である。
【図2】画像処理装置110におけるアンチエイリアシング処理のためのバッファメモリと,処理手順を説明する図である。
【図3】本発明に従うアンチエイリアシング処理フローである。
【図4】特定のピクセルEとそれに横,縦方向及び斜め方向に隣接ずるピクセルを示す図である。
【図5】フレームバッファ(ビデオメモリ)110Cに描画された2次元画像の表示画面200の例である。
【図6】閾値の設定の仕方の例を示す図である。
【符号の説明】
【0074】
100 システムバス
101 メインCPU
102 システムメモリ
103 ROM
110 画像処理装置
110A 画像処理CPU
110B テクスチャメモリ
110C ビデオメモリ
111 表示装置

【特許請求の範囲】
【請求項1】
画像処理プロセッサにより3次元空間座標を有する複数のポリゴンデータを2次元座標の画像データに変換し,フレームバッファに描画された画像データの表示を行う画像表示システムにおいて実行されるプログラムであって,
前記画像処理プロセッサに,
前記フレームバッファに描画された2次元画像データの画素ごとに隣接画素との輝度差を判定させる処理と,
所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とし,前記輪郭線にある画素のそれぞれの前記3次元空間座標における仮想視点からの奥行き方向のZ値の大きさに対応して前記画素に対し,異なるぼかしフィルタ処理を実行させる処理と,
前記フィルタ処理された2次元画像データを前記フレームバッファに書き戻させる処理と,
前記フレームバッファに書き込まれた2次元画像データを表示装置に表示させる処理を実行させる,
ことを特徴とする画像表示システムにおいて実行されるプログラム。
【請求項2】
請求項1において,
前記Z値の大きさに対応して前記画素に対して実行される,異なるぼかしフィルタ処理として,
基準とするZ値より所定の−Z値以上に小さいZ値を有する画素に対して,縦,横の移動平均値を求めて,当該画素の輝度値とし,
前記基準とするZ値より所定の+Z値以上に大きいZ値を有する画素に対して,原画像からラプラシアンフィルタ処理の値を引き算して求め,当該画素の輝度値とし,
前記基準とするZ値近傍の画素に対して,前記横の移動平均値を求めるフィルタ処理と,
前記原画像からラプラシアンフィルタ処理の値を引き算して求めフィルタ処理を実行させる,
ことを特徴とする画像表示システムにおいて実行されるプログラム。
【請求項3】
画像処理プロセッサにより3次元空間座標を有する複数のポリゴンデータを2次元座標の画像データに変換し,フレームバッファに描画された画像データの表示を行う画像表示システムであって,
前記画像処理プロセッサは,
前記フレームバッファに描画された2次元画像データの画素ごとに隣接画素との輝度差を判定し,
所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とし,
前記輪郭線にある画素のそれぞれの前記3次元空間座標における仮想視点からの奥行き方向のZ値の大きさに対応して前記画素に対し,異なるぼかしフィルタ処理を実行し,
前記フィルタ処理された2次元画像データを前記フレームバッファに書き戻し,
前記フレームバッファに書き込まれた2次元画像データを表示装置に表示する制御を行う,
ことを特徴とする画像表示システム。
【請求項4】
請求項3において,
前記Z値の大きさに対応して前記画素に対して実行される,異なるぼかしフィルタ処理として,
基準とするZ値より所定の−Z値以上に小さいZ値を有する画素に対して,縦,横の移動平均値を求めて,当該画素の輝度値とし,
前記基準とするZ値より所定の+Z値以上に大きいZ値を有する画素に対して,原画像からラプラシアンフィルタ処理の値を引き算して求め,当該画素の輝度値とし,
前記基準とするZ値近傍の画素に対して,前記横の移動平均値を求めるフィルタ処理と,
前記原画像からラプラシアンフィルタ処理の値を引き算して求めフィルタ処理を実行する,
ことを特徴とする画像表示システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−234087(P2008−234087A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−69751(P2007−69751)
【出願日】平成19年3月19日(2007.3.19)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】