(57)【要約】      （修正有）【課題】画像表示装置における処理を効率化でき，且つ画像の奥行き方向における画像の暈けも反映できる画像表示方法，画像表示制御プログラム及び，これらを適用する画像表示装置を提供する。【解決手段】画像処理プロセッサにより３次元空間座標を有する複数のポリゴンデータを２次元座標の画像データに変換し，フレームバッファに描画された画像データの表示方法において，前記画像処理プロセッサに，前記フレームバッファに描画された２次元画像データの画素ごとに隣接画素との輝度差を判定させ，所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とし，前記輪郭線にある画素のそれぞれの前記３次元空間座標における仮想視点からの奥行き方向のＺ値の大きさに対応して前記画素に対し，異なるぼかしフィルタ処理を実行させる。【選択図】  図３
2008234087.tif 000002
【特許請求の範囲】
【請求項１】
画像処理プロセッサにより３次元空間座標を有する複数のポリゴンデータを２次元座標の画像データに変換し，フレームバッファに描画された画像データの表示を行う画像表示システムにおいて実行されるプログラムであって，
前記画像処理プロセッサに，
前記フレームバッファに描画された２次元画像データの画素ごとに隣接画素との輝度差を判定させる処理と，
所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とし，前記輪郭線にある画素のそれぞれの前記３次元空間座標における仮想視点からの奥行き方向のＺ値の大きさに対応して前記画素に対し，異なるぼかしフィルタ処理を実行させる処理と，
前記フィルタ処理された２次元画像データを前記フレームバッファに書き戻させる処理と，
前記フレームバッファに書き込まれた２次元画像データを表示装置に表示させる処理を実行させる，
ことを特徴とする画像表示システムにおいて実行されるプログラム。
【請求項２】
請求項１において，
前記Ｚ値の大きさに対応して前記画素に対して実行される，異なるぼかしフィルタ処理として，
基準とするＺ値より所定の−Ｚ値以上に小さいＺ値を有する画素に対して，縦，横の移動平均値を求めて，当該画素の輝度値とし，
前記基準とするＺ値より所定の＋Ｚ値以上に大きいＺ値を有する画素に対して，原画像からラプラシアンフィルタ処理の値を引き算して求め，当該画素の輝度値とし，
前記基準とするＺ値近傍の画素に対して，前記横の移動平均値を求めるフィルタ処理と，
前記原画像からラプラシアンフィルタ処理の値を引き算して求めフィルタ処理を実行させる，
ことを特徴とする画像表示システムにおいて実行されるプログラム。
【請求項３】
画像処理プロセッサにより３次元空間座標を有する複数のポリゴンデータを２次元座標の画像データに変換し，フレームバッファに描画された画像データの表示を行う画像表示システムであって，
前記画像処理プロセッサは，
前記フレームバッファに描画された２次元画像データの画素ごとに隣接画素との輝度差を判定し，
所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とし，
前記輪郭線にある画素のそれぞれの前記３次元空間座標における仮想視点からの奥行き方向のＺ値の大きさに対応して前記画素に対し，異なるぼかしフィルタ処理を実行し，
前記フィルタ処理された２次元画像データを前記フレームバッファに書き戻し，
前記フレームバッファに書き込まれた２次元画像データを表示装置に表示する制御を行う，
ことを特徴とする画像表示システム。
【請求項４】
請求項３において，
前記Ｚ値の大きさに対応して前記画素に対して実行される，異なるぼかしフィルタ処理として，
基準とするＺ値より所定の−Ｚ値以上に小さいＺ値を有する画素に対して，縦，横の移動平均値を求めて，当該画素の輝度値とし，
前記基準とするＺ値より所定の＋Ｚ値以上に大きいＺ値を有する画素に対して，原画像からラプラシアンフィルタ処理の値を引き算して求め，当該画素の輝度値とし，
前記基準とするＺ値近傍の画素に対して，前記横の移動平均値を求めるフィルタ処理と，
前記原画像からラプラシアンフィルタ処理の値を引き算して求めフィルタ処理を実行する，
ことを特徴とする画像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像表示方法，画像表示制御プログラム及び，これらを適用する画像表示装置に関し，特に，３次元空間座標を有する複数のポリゴンデータを２次元平面に表示する際のアンチエイリアシングを最適化する画像表示に関する。
【背景技術】
【０００２】
パーソナルコンピュータあるいは，ゲーム装置においては，３次元空間座標を有する複数のポリゴンデータを２次元平面画像に座標変換して表示装置に表示される。
【０００３】
この際，表示装置がデジタル表示装置である場合，表示画面は，マトリクス状に固定配置された画素配列を有する。したがって，３次元空間座標を有する複数のポリゴンデータを２次元平面画像に座標変換して表示装置に表示される際に，座標変換された画素位置は小数点を有し，表示画面上の画素位置に対応づける際に整数化される。
【０００４】
これにより，輝度差が大きい表示領域間のエッジ部にジャギー（ギザギザ）が目立ち，更に動画像である場合は，表示画像にちらつき（フリッカー）を発生し，画像の表示品質を低下させることになる。
【０００５】
したがって，かかるジャギーを低減するために画像をぼかすアンチエイリアシング処理が行われる。
【０００６】
かかるアンチエイリアシングを用いる従来技術として種々提案されている（例えば，特許文献１，２）。特許文献１に記載の発明は，３次元空間座標を有する複数のポリゴンデータの段階で，ポリゴンデータ毎にその周辺（エッジ）に対してアンチエイリアシング処理を実行するものである。
【０００７】
さらに，特許文献２に記載の発明は，複数の半透明係数を階調構成した所定のテーブルを用意し，第１の画像を構成するデータのうちで輝度への影響が大きいデータ部から画像のエッジを抽出し，抽出された画像のエッジのデータ部をインデックスとして前記の所定のテーブルから半透明係数を取り出す。そして，取り出された半透明係数を用いて第１の画像とそれを暈かした第２の画像とを合成する。
【０００８】
このように，画像のエッジ部の輝度に応じてアンチエイリアシングの度合いを変化させて重点的にジャギーの低減を図るものである。
【特許文献１】特開平７−２１４０６号公報
【特許文献２】特許第３５２９７５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記特許文献１，２に記載の発明を考察すると，特許文献１に記載の発明では，３次元空間座標を有する複数のポリゴンデータの段階で，ポリゴンデータ毎にその周辺（エッジ）に対してアンチエイリアシング処理を実行するものであり，画像が複雑になるとポリゴン量が膨大となり，処理装置の負荷が大きくなる問題が想定される。
【００１０】
一方，特許文献２に記載の発明では，３次元空間座標を有する複数のポリゴンデータを２次元画面に対応づけた画像における輝度への影響が大きいデータ部から画像のエッジを抽出しており，エッジ部の輝度に応じてアンチエイリアシングの度合いを変化させている。しかし，この特許文献２においては，エッジ部の輝度に応じてのアンチエイリアシング処理であり，画像の奥行き方向における画像の暈けは考慮されておらず，不自然な画像表示となる問題も想定される。
【００１１】
したがって，本願発明の目的は，上記従来技術に鑑みて，画像表示装置における処理を効率化でき，且つ画像の奥行き方向における画像の暈けも反映できる画像表示方法，画像表示制御プログラム及び，これらを適用する画像表示装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記の課題を解決する本発明は，第１の側面として，画像処理プロセッサにより３次元空間座標を有する複数のポリゴンデータを２次元座標の画像データに変換し，フレームバッファに描画された画像データの表示方法において，
前記画像処理プロセッサに，
前記フレームバッファに描画された２次元画像データの画素ごとに隣接画素との輝度差を判定させる工程と，
所定以上の輝度差を有する領域に並ぶ画素により形成される領域を輪郭線とする工程と，
前記輪郭線にある画素のそれぞれの前記３次元空間座標における仮想視点からの奥行き方向のＺ値の大きさに対応して前記画素に対し，異なるぼかしフィルタ処理を実行させ流工程と，
前記フィルタ処理された２次元画像データを前記フレームバッファに書き戻しさせる工程と，
前記フレームバッファに書き込まれた２次元画像データを表示装置に表示させる工程を有することを特徴とする。
【００１３】
また，上記において，前記Ｚ値の大きさに対応して前記画素に対して実行される，異なるぼかしフィルタ処理は，
基準とするＺ値より所定の＋Ｚ値以上に大きいＺ値を有する画素に対して，縦，横の移動平均値を求めて，当該画素の輝度値とし，
前記基準とするＺ値より所定の−Ｚ値以上小さいＺ値を有する画素に対して，原画像からラプラシアンフィルタ処理の値を引き算して求め，当該画素の輝度値とし，
前記基準とするＺ値近傍の画素に対して，前記横の移動平均値を求めるフィルタ処理と，
前記原画像からラプラシアンフィルタ処理の値を引き算して求めフィルタ処理を実行することを特徴とする。
【００１４】
さらに，前記輝度は，対応する画素のＲ．Ｇ．Ｂ色情報に所定に係数を掛けて合計するＹｃｃ変換により得られる。
【００１５】
上記の特徴により，仮想視点からのＺ値に応じて，異なるフィルタ処理が行われるので，より好ましい画像に対するアンチエイリアシングを行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下に本発明の実施例を図面に従い説明する。
【００１７】
図１は，本発明の画像表示制御プログラムの実行により達成される画像表示方法を適用する画像表示装置の構成例ブロック図である。なお，一例として，画像表示装置をゲーム装置とする例に基づき説明する。
【００１８】
画像表示装置は，ハードウエア構成は一般的なゲーム装置と同様であり，システムバス１００にメインＣＰＵ１０１，システムメモリ１０２，ＲＯＭ１０３，更に入出力インタフェース１０４〜１０８が接続されている。
【００１９】
入出力インタフェース１０４に画像処理装置１１０が接続され，画像処理装置１１０に表示装置１１１が接続されている。
【００２０】
入出力インタフェース１０５には，ＣＤ，ＤＶＤ等のディスク記録媒体１１３にデータを書込み，あるいはプログラムデータの読み出しを行うドライブ装置１１２が接続される。
【００２１】
入出力インタフェース１０６には，キーボード，マウス，パッドコントローラ等の入力装置１１４が接続される。
【００２２】
さらに，入出力インタフェース１０７は，ゲーム装置を図示しないセンター装置を介して他のゲーム装置と接続してネットワークゲームを実行する場合，通信回線１１５と接続され，センター装置との信号を送受する通信インタフェースである。
【００２３】
また，入出力インタフェース１０８は，サウンド装置１１６にゲームサウンドを出力するサウンドインタフェースである。
【００２４】
メインＣＰＵ１０１は，システムメモリ１０２からゲームプログラム１０２Ａを読み込み，ゲーム進行中に，システムバス１００に接続される機器の統括制御と，通信インタフェース１０７を通しての通信制御等を司る。
【００２５】
画像処理装置１１０は，画像処理ＣＰＵ１１０Ａによりシステムメモリ１０２からゲームプログラム１０２Ａに付属するゲームデータ１０２Ｂを読み込み，ゲーム上の仮想三次元空間座標に座標変換し，更にゲームプログラム１０２Ａに従いポリゴンで構成されるキャラクタ像を表示装置１１１の表示画面に対応する二次元座標に座標変換する。
【００２６】
このとき，テクスチャメモリ１１０Ｂからポリゴンに貼り付けるテクスチャを読み込みビデオメモリ１１０Ｃに描画する。
【００２７】
画像処理ＣＰＵ１１０Ａは，更にビデオメモリ１１０Ｃに描画された画像データを表示装置１１１に送り表示を行う。
【００２８】
本発明の特徴は，かかる画像処理装置１１０におけるアンチエイリアシング処理にあり，上記テクスチャメモリ１１０Ｂ及びビデオメモリ１１０Ｃと伴に他のバッファメモリ機能を有してかかるアンチエイリアシング処理が行われる。
【００２９】
図２は，画像処理装置１１０におけるアンチエイリアシング処理のためのバッファメモリと，処理手順を説明する図である。
【００３０】
図２において，画像処理装置１１０は，ゲームプログラムの実行が開始されると，初期処理としてシステムメモリ１０のゲームデータ１０２Ｂに基づき，３次元画像データを構成するポリゴンの各頂点データを頂点バッファ／インデックスバッファ１１０Ｄに書込む。
【００３１】
各頂点データには，３次元空間座標，法線ベクトル，（Ｒ．Ｇ．Ｂ）色情報，色のブレンデング情報等が含まれる。
【００３２】
画像処理ＣＰＵ１１０Ａの処理において，先ずバーテックスシェーダプログラムを実行して，頂点バッファ／インデックスバッファ１１０Ｄに書き込まれた３次元画像データとしての頂点データを２次元画像データに変換する（ステップＳ１）。
【００３３】
変換された２次元画像データは，ラスタライザにより，２次元画像データのそれぞれのピクセルを所定の２次元平面の座標位置に対応づける（ステップＳ２）。この際に，先に説明したように，小数点を整数に丸める処理により，ジャギーが生じる。
【００３４】
次に， ピクセルシェーダプログラムの実行により，ピクセル毎にテクスチャバッファ１１０Ｂからのテクスチャデータを貼り付ける（ステップＳ３）。
【００３５】
さらに，ラスターオペレーション（ステップＳ４）として，テクスチャデータの貼り付けられたピクセルを，頂点データのＺ値を参照して，隠面処理をしながらフレームバッファ１１０Ｃに描画する（ステップＳ４）。同時に，Ｚ値がＺバッファ１１０Ｅに書き込まれる。
【００３６】
本発明は，上記の処理によりフレームバッファ１１０Ｃに描画された２次元画像データに対し，本発明の原理に従いアンチエイリアシング処理が行われる。
【００３７】
図３は，かかる本発明に従うアンチエイリアシングの処理フローである。
【００３８】
先に図２において説明したように，３次元空間座標を有する複数のポリゴンデータを２次元画像データに座標変換してフレームバッファ１１０Ｃに描画する（ステップＳ１０）。
【００３９】
このとき，描画されるピクセルのカラー値と，Ｚ値がそれぞれフレームバッファ１１０Ｃ，及びＺバッファ１１０Ｅに保存される。
【００４０】
次に，フィルタ処理により輝度差の大きい輪郭線を抽出する（ステップＳ１２）。
【００４１】
ここで，輝度は，フレームバッファ１１０Ｃに保持されるピクセルの色情報をテクスチャメモリ１１０Ｂにテクスチャとして複製し，複製されたテクスチャのカラーインデックス即ち，Ｒ，Ｇ，Ｂの値にそれぞれ所定係数を乗算し，それらを合計するＹCC変換により求める。
【００４２】
さらに，上記輪郭線を抽出するフィルタ処理は実施例として次のように求められる。
【００４３】
図４は，特定のピクセルＥとそれに斜め方向に隣接ずるピクセルＡ，Ｂ，Ｃ，Ｄを示している。
【００４４】
ピクセルＥに対する移動平均値を求める。移動平均値は，たとえば，次のようなマトリクスオペレータを用いて求められる。
【００４５】
【数１】
2008234087.tif 000003
【００４６】
すなわち，ピクセルＥに対する輝度の移動平均値Ｅbbは，次のように求められる。
【００４７】
Ebb＝（Ｅａ*0.25＋Ｅｂ*0.25＋Ｅｃ*0.25＋Ｅｄ*0.25）／４
但し，Ｅａ，Ｅｂ，Ｅｃ，Ｅｄは，ピクセルＡ，Ｂ，Ｃ，Ｄのそれぞれの輝度値である。
【００４８】
このピクセルＥに対する移動平均値ＥbbとピクセルＥ自体の輝度値Ｅｂとを比較する。そして，移動平均値ＥbbとピクセルＥ自体の輝度値Ｅｂの差の大きさが閾値より大きいか否かを判定する。
【００４９】
図５は，フレームバッファ（ビデオメモリ）１１０Ｃに描画された２次元画像の表示画面２００の例である。この例では，輝度の高い領域（ハッチングのある部分）Ｘと輝度の低い領域（ハッチングの無い部分）Ｙが隣接している領域Ａ，Ｂ，Ｃがある。
【００５０】
上記のようにピクセル毎に移動平均値とピクセル自体の輝度値と差の大きさを求め，閾値と比較する。図５において，輝度の高い領域と輝度の低い領域が隣接している領域Ｃの境界の一部を下方に拡大して示す。境界に沿って並ぶピクセルａ１（ｂ１），ａ２（ｂ２），ａ３（ｂ３），ａ４（ｂ４），ａ５（ｂ５），ａ６（ｂ６），ａ７（ｂ７）について，差の大きさが閾値より大きくなる。
【００５１】
このようにして，境界に沿って並ぶピクセルにより輪郭線が形成される。
【００５２】
本発明は，上記のように求められた輪郭線に対応するピクセルについて，当該ピクセルのＺ値に応じたフィルタ処理を施すことに特徴を有する。
【００５３】
さらにラスターオペレーション（Ｓ４）として上記輪郭線のピクセルに対応して，フィルタ処理を施すＺバッファ１１０Ｅに保持されているＺ値求める（ステップＳ１１）。
【００５４】
ついで，ステップＳ１２において，輪郭線のピクセルに対応するＺ値が求められると，求められたＺ地に応じて異なるフィルタ処理を実行する（ステップＳ１３からＳ１８）。
【００５５】
図６は，閾値の設定の仕方の例である。三次元空間の仮想視点Ｏから遠ざかる方向にＺ値が大きくなる。図６において，基準のＺ値を設定し，この基準のＺ値に対して所定の＋Ｚ値以上と，所定の−Ｚ値以上の閾値が設定されている。
【００５６】
輪郭線の画素のＺ値が基準のＺ値より−Ｚ閾値より小さい（３次元空間において仮想視点Ｏに近い側にある）場合（ステップＳ１３，Ｙｅｓ），抽出した輪郭線の周りだけ移動平均の暈しフィルタをかける（ステップＳ１４）。
【００５７】
移動平均の暈しフィルタは，オペレータとして次のような行列を用いる。中央値ｍ，その周りの値をαとすると，
【００５８】
【数２】
2008234087.tif 000004
【００５９】
８α  +  ｍ＝１．０  で表される。
【００６０】
さらに，図３において，輪郭線の画素のＺ値が基準のＺ値より＋Ｚ閾値より大きい（３次元空間において仮想視点から遠い側にある）場合（ステップ平均Ｓ１５，Ｙｅｓ），斜め線のジャギーを効率よく取り除く畳み込みフィルタをかける（ステップＳ１６）。
【００６１】
斜め線のジャギーを取り除く画像を生成するには，
斜め線をぼかした画像＝縦，横の移動平均による暈け画像＋［ｋ＊原画像−ｌ*ラプラシアン］  により得られる。
【００６２】
具体例として，
原画像を
【００６３】
【数３】
2008234087.tif 000005
【００６４】
とし，
ラプラシアンは，
【００６５】
【数４】
2008234087.tif 000006
【００６６】
であるので，
さらに，定数ｋを行列２の各要素にかける係数，定数ｌを行列３の各要素にかける係数とする。
【００６７】
ｍ＝−０．２０，  α＝０．１５，ｋ＝０．０，ｌ＝０．２８
とすると，
【００６８】
【数５】
2008234087.tif 000007
【００６９】
上記具体例では，対象とするピクセルごとに行列４を用いたフィルタ処理を行う。即ち，対象とするピクセルの輝度を，原画像の対象ピクセルの輝度を０．９２倍にしたものと，対象ピクセルの縦，横に隣接する画素の輝度をそれぞれ−０．１３ 倍したものと，対象ピクセルの斜め方向の隣接画素の輝度をそれぞれ０．１５倍としたものの合計を９で除した値とする。
【００７０】
さらに，−Ｚ閾値と＋Ｚ閾値の間即ち，輪郭線の画素の輝度が基準の閾値Ｚ近傍であるとき（ステップＳ１７，Ｙｅｓ），輪郭線の周りだけを移動平均の暈しフィルタ（上（ステップＳ１４）と斜め線のジャギーを効率よく取り除く畳み込みフィルタ（ステップＳ１６）の２つで線形補間する（ステップＳ１８）。
【００７１】
上記の処理をすべての画素に対して実行する（ステップＳ１９）。
【００７２】
上記のように本発明は，仮想視点からの距離に応じて暈けフィルタ処理を変えているので，３次元空間位置に対応した暈けによりジャギーを自然に低減することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の画像表示制御プログラムの実行により達成される画像表示方法を適用する画像表示装置の構成例ブロック図である。
【図２】画像処理装置１１０におけるアンチエイリアシング処理のためのバッファメモリと，処理手順を説明する図である。
【図３】本発明に従うアンチエイリアシング処理フローである。
【図４】特定のピクセルＥとそれに横，縦方向及び斜め方向に隣接ずるピクセルを示す図である。
【図５】フレームバッファ（ビデオメモリ）１１０Ｃに描画された２次元画像の表示画面２００の例である。
【図６】閾値の設定の仕方の例を示す図である。
【符号の説明】
【００７４】
１００  システムバス
１０１  メインＣＰＵ
１０２  システムメモリ
１０３  ＲＯＭ
１１０  画像処理装置
１１０Ａ  画像処理ＣＰＵ
１１０Ｂ  テクスチャメモリ
１１０Ｃ  ビデオメモリ
１１１  表示装置
【図１】
2008234087.tif 000008
【図２】
2008234087.tif 000009
【図３】
2008234087.tif 000010
【図４】
2008234087.tif 000011
【図５】
2008234087.tif 000012
【図６】
2008234087.tif 000013