(57)【特許請求の範囲】
【請求項１】
スプライトのカラーデータと、前記スプライトのアンチエイリアス処理を行うためのアンチエイリアス半透明係数と、前記スプライトの半透明処理を行うためのマスクレイヤ半透明係数とがメモリに記憶され、前記カラーデータと、前記アンチエイリアス半透明係数と、前記マスクレイヤ半透明係数とを前記メモリから読み出し、スプライトバッファに展開して画像表示を行う画像処理装置であって、
前記メモリから読み出した前記アンチエイリアス半透明係数と、該アンチエイリアス半透明係数に対応する前記マスクレイヤ半透明係数とを乗算することにより、予め前記スプライトのカラーデータの混合比率を求め、求めた前記混合比率を前記スプライトバッファに展開する演算手段と、
前記スプライトバッファから前記混合比率と前記カラーデータを読み出し、前記スプライトのカラーデータと背景のカラーデータとを前記混合比率に基づいて混合し、この混合されたカラーデータをフレームバッファに書き込む混合手段と、
前記フレームバッファ内のカラーデータを読み出し、表示装置へ出力する表示制御手段と、
を具備することを特徴とする画像処理装置。
【請求項２】
第１ないし第ｎのスプライトのカラーデータと、前記スプライトのアンチエイリアス処理を行うためのアンチエイリアス半透明係数と、前記スプライトの半透明処理を行うためのマスクレイヤ半透明係数とがメモリに記憶され、前記カラーデータと、前記アンチエイリアス半透明係数と、前記マスクレイヤ半透明係数とを前記メモリから読み出し、スプライトバッファに展開して画像表示を行う画像処理装置であって、
前記メモリから読み出した第ｋのスプライトの前記アンチエイリアス半透明係数と前記マスクレイヤ半透明係数とを乗算することにより、予め前記第ｋの対背景混合比率を求めると共に、前記第ｋの対背景混合比率と第（ｋ−１）の累算混合比率から第ｋの累算混合比率を求め、次いで、第（ｋ−１）の重合済みカラーデータと第ｋのスプライトのカラーデータと前記第ｋの累算混合比率とから第ｋの重合済みカラーデータを求める演算を、ｋ＝１、２、・・・ｎについて順次実行し、演算結果を前記スプライトバッファに展開する演算手段と、
前記スプライトバッファから前記カラーデータと前記累算混合比率を読み出し、背景のカラーデータに（１−第ｎの累算混合比率）を乗算し、その乗算結果と前記第ｎの重合済みカラーデータを混合し、この混合されたカラーデータをフレームバッファに書き込む混合手段と、
前記フレームバッファ内のカラーデータを読み出し、表示装置へ出力する表示制御手段と、
を具備することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主としてパチンコやその他のゲーム機において使用されるパターングラフィック方式の画像処理装置に関する。
【背景技術】
【０００２】
周知のように、パチンコやその他のゲーム機においては、スプライトによる画像表示方式（パターングラフィック方式）が広く用いられている。図４はこのスプライトによる表示方式を用いた表示システムの構成を示す図であり、この図において、１はＣＰＵ（中央処理装置）、２は画像処理装置、３はスプライトパターンが予め記憶されたパターンＲＯＭ、４は液晶表示器等による表示装置である。このような構成において、画像処理装置２は、ＣＰＵ１から表示すべきスプライトの番号、表示位置、レンダリング処理パラメータ等を指示するスプライト属性データを受けて内部のスプライト属性テーブルに書き込む。ここで、レンダリング処理パラメータとは、スプライトの拡大、縮小、変形等のレンダリング処理を指示するパラメータである。画像処理装置２は、このテーブルに書き込まれた属性データに基づいてパターンＲＯＭ３からスプライトパターンを読み出し、レンダリング処理パラメータに基づいて拡大、縮小等の処理を行った後、表示装置４へ出力して表示する。
図５はスプライトパターンＳＰの一例を示し、符号Ｃはこのパターンに表示されたキャラクタ、Ｄは透明部分である。
【０００３】
ところで、この種の画像処理装置においては、キャラクタのエッジ部分にジャギー（ギザギザ表示）が表れ、このジャギーを消すため、アンチエイリアス処理が行われる。図６はこのアンチエイリアス処理を説明するための図である。図６において、曲線Ｌをキャラクタの境界線、ハッチング部分をキャラクタ、それ以外を透明部分とし、境界線Ｌが通過する各ドットにおいて、キャラクタ部分の占める割合を、
0.46          0.98  0.70  0.15  0.95  0.75  0.36  0.04  ・・・
とする。この場合、アンチエイリアス処理を行うため、予め、境界線が通過する各ドットについてはこの数値を、キャラクタ部分の各ドットについてはデータ“１”を、透明部分の各ドットについてはデータ“０”を記憶させたアンチエイリアスパターンをパターンＲＯＭ３内に用意する。ここで、アンチエイリアスパターンの各データを半透明係数αという。そして、スプライトの表示時において、キャラクタのスプライトを読み出すと共に、このアンチエイリアスパターンを読み出し、スプライトの各カラーデータに、対応する半透明係数αを乗算し、また、背景色のカラーデータに（１−α）を乗算し、これら乗算した各データを加算してフレームバッファに書き込む。これにより、境界部分の色がキャラクタの色と背景色の色を混合した色となり、境界線のギザギザが滑らかに表示される。
【０００４】
また、スプライト方式の画像処理装置においては、上述したアンチエイリアス処理とは異なる目的で半透明処理が行われる。図７はこの半透明処理が行われ場合の一例を示す図であり、この図に示す水槽は」水の色が光によって変化し、水草が動き、金魚が泳ぎ、水泡が上方へ動くと共に、水槽の後方にいる人物が水槽を透かして見える。このような場合、水槽表示の各ドットのカラーデータと人物を含む背景色の各ドットのカラーデータを混合することによって半透明の画像表示を行う。
【特許文献１】特開平2005-241797号公報
【特許文献２】特開平2004-213464号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来の画像処理装置においては、上述したアンチエイリアス処理とスプライトの半透明処理の双方を同時に行うことはできなかった。
【０００６】
本発明は上記事情を考慮してなされたもので、その目的は、アンチエイリアス処理とスプライトの半透明処理の双方を同時に行うことができる画像処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
この発明は上記の課題を解決するためになされたもので、本発明は、スプライトのカラーデータと、前記スプライトのアンチエイリアス処理を行うためのアンチエイリアス半透明係数と、前記スプライトの半透明処理を行うためのマスクレイヤ半透明係数とがメモリに記憶され、前記カラーデータと、前記アンチエイリアス半透明係数と、前記マスクレイヤ半透明係数とを前記メモリから読み出し、スプライトバッファに展開して画像表示を行う画像処理装置であって、前記メモリから読み出した前記アンチエイリアス半透明係数と、該アンチエイリアス半透明係数に対応する前記マスクレイヤ半透明係数とを乗算することにより、予め前記スプライトのカラーデータの混合比率を求め、求めた前記混合比率を前記スプライトバッファに展開する演算手段と、前記スプライトバッファから前記混合比率と前記カラーデータを読み出し、前記スプライトのカラーデータと背景のカラーデータとを前記混合比率に基づいて混合し、この混合されたカラーデータをフレームバッファに書き込む混合手段と、前記フレームバッファ内のカラーデータを読み出し、表示装置へ出力する表示制御手段とを具備することを特徴とする画像処理装置である。
【０００８】
本発明は、第１ないし第ｎのスプライトのカラーデータと、前記スプライトのアンチエイリアス処理を行うためのアンチエイリアス半透明係数と、前記スプライトの半透明処理を行うためのマスクレイヤ半透明係数とがメモリに記憶され、前記カラーデータと、前記アンチエイリアス半透明係数と、前記マスクレイヤ半透明係数とを前記メモリから読み出し、スプライトバッファに展開して画像表示を行う画像処理装置であって、前記メモリから読み出した第ｋのスプライトの前記アンチエイリアス半透明係数と前記マスクレイヤ半透明係数とを乗算することにより、予め前記第ｋの対背景混合比率を求めると共に、前記第ｋの対背景混合比率と第（ｋ−１）の累算混合比率から第ｋの累算混合比率を求め、次いで、第（ｋ−１）の重合済みカラーデータと第ｋのスプライトのカラーデータと前記第ｋの累算混合比率とから第ｋの重合済みカラーデータを求める演算を、ｋ＝１、２、・・・ｎについて順次実行し、演算結果を前記スプライトバッファに展開する演算手段と、前記スプライトバッファから前記カラーデータと前記累算混合比率を読み出し、背景のカラーデータに（１−第ｎの累算混合比率）を乗算し、その乗算結果と前記第ｎの重合済みカラーデータを混合し、この混合されたカラーデータをフレームバッファに書き込む混合手段と、前記フレームバッファ内のカラーデータを読み出し、表示装置へ出力する表示制御手段とを具備することを特徴とする画像処理装置である。
【発明の効果】
【０００９】
この発明によれば、キャラクタのエッジ部分のジャギーを改善しながら、しかも、キャラクタの半透明処理をすることができる効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照し、この発明の実施の形態について説明する。図３はこの発明の一実施の形態による画像処理装置の全体構成を示すブロック図である。この図において、符号３はパターンＲＯＭであり、複数のスプライトパターン、アンチエイリアスパターン、マスクレイヤが圧縮されて記憶されている。１３はスプライト属性テーブルであり、スプライト属性データがＣＰＵ（図示略）によって登録される。ここで、スプライト属性データには、パターンＲＯＭ３内のスプライトパターンの格納アドレス、パターンの拡大、縮小、回転、変形等を指示するレンダリング処理パラメータ、表示位置を指示するデータ等がある。１４はデコードコントローラであり、パターンＲＯＭ３内の圧縮されたスプライトパターン等の圧縮データのデコード（伸張）処理を制御する。１５はＲＯＭインターフェイスであり、パターンＲＯＭ３へ読出アドレスを出力し、パターンＲＯＭ３から読み出されたスプライトパターンのカラーデータ、アンチエイリアスパターンの半透明係数、マスクレイヤの半透明係数をデコーダ１６へ出力する。
【００１１】
デコーダ１６はパターンＲＯＭ３から読み出された各データのデコード（伸張処理）を行ってスプライトバッファインターフェイス１７へ出力する。スプライトバッファインターフェイス１７は、デコーダ１６から出力されるスプライトパターンのカラーデータ、アンチエイリアスパターンの半透明係数およびマスクレイヤの半透明係数に所定の演算を行った後、スプライトバッファ１８に展開する。詳細は後述する。また、レンダリングエンジン２１からの指示を受けてスプライトバッファ１８内のデータを読み出し、レンダリングエンジン２１へ出力する。ここで、スプライトバッファ１８は複数のスプライトパターンを展開できる容量をもっている。２０はレンダリングコントローラであり、スプライト属性テーブル１３内のスプライト属性データを読み出し、読み出した属性データをレンダリングエンジン２１へ出力する。
【００１２】
レンダリングエンジン２１は、レンダリングコントローラ２０の指示に従って、スプライトバッファ１８から読み出されたスプライトのレンダリング処理を行い、その結果をフレームバッファインターフェイス２２へ出力する。フレームバッファインターフェイス２２はレンダリングエンジン２１から出力されるスプライトをフレームバッファ２３に描画する。この時、スプライトバッファ１８から読み出された半透明係数αに基づく透明処理を行う。
【００１３】
また、このフレームバッファインターフェイス２２は、ディスプレイコントローラ２５からの指示を受けてフレームバッファ２３からカラーデータを読み出し、ディスプレイコントローラ２５へ出力する。フレームバッファ２３は表示装置４の表示ドット対応でパターンデータが書き込まれるメモリであり、描画用／表示用のダブルバッファ構成となっている。ディスプレイコントローラ２５は画像表示のための各種のタイミング信号を生成して表示装置４へ出力し、また、フレームバッファ２３から読み出されたカラーデータをそのタイミング信号に同期させて表示装置４へ出力する。
【００１４】
図１はスプライトバッファインターフェイス１７内に設けられた半透明処理回路１７ａの構成を示すブロック図である。以下、この半透明処理回路１７ａについて説明するが、説明に先立ってマスクレイヤについて説明する。
この実施形態においては、スプライトエッジ部のアンチエイリアス処理とスプライトの半透明処理を同時に実現するため、マスクレイヤを任意サイズの透明データのスプライトと定義する。このマスクレイヤは半透明処理を行う領域によってサイズが決まる。このマスクレイヤの領域内に複数のスプライトを展開して一つのスプライト（キャラクタ）とすることもできる。このスプライトをプリリンクスプライトという。このプリリンクスプライトの例として自動車の車体とタイヤがある。このプリリンクスプライトは複数のスプライトによって構成されるキャラクタであり、スプライトバッファ１８に展開され、変形回転させる場合に有効である。なお、以下の説明においても、このプリリンクスプライトを前提とする。マスクレイヤは、ドット単位で半透明係数αが設定され、圧縮された形でパターンＲＯＭ３に格納される。そして、パターンＲＯＭ３からスプライトパターンのカラーデータと共に読み出され、デコーダ１６においてデコードされる。
【００１５】
次に、図１に示す半透明処理回路１７ａについて説明する。
図１において、３１はα混合処理回路であり、パターンＲＯＭ３から読み出され、デコーダ１６によってデコードされたスプライトパターンの半透明係数ＳＰ＿Ａｎｔｉαと、スプライトバッファ１８から読み出されたマスクレイヤの半透明係数ＭＲαとを乗算し、乗算結果である半透明係数αを出力する。α演算処理回路３２は、α混合処理回路３１から出力される半透明係数αと、スプライトバッファ１８から読み出される半透明係数ＳＰＲ＿αとに後述する演算を行い、その演算結果である半透明係数ＳＰＷ＿αをスプライトバッファ１８に書き込む。ＲＧＢ演算処理回路３３は、パターンＲＯＭ３から読み出されデコーダ１６によってデコードされたスプライトのカラーデータＳＰ＿ＲＧＢと、α混合処理回路３１から出力される半透明係数αと、スプライトバッファ１８から読み出されたカラーデータＳＰＲ＿ＲＧＢとに演算を行って、その結果であるカラーデータＳＰＷ＿ＲＧＢをスプライトバッファ１８に書き込む。
【００１６】
次に、上記半透明処理回路１７ａの動作を図２（ａ）を参照して説明する。なお、以下の説明においては、マスクレイヤの領域内に、スプライト１とスプライト２からなるプリリンクスプライトが表示される場合を例にとる。
○ マスクレイヤ展開時
パターンＲＯＭ３から読み出され、デコーダ１６によってデコードされたマスクレイヤの半透明係数ＭαはデータＭＷα（図１参照）としてスプライトバッファ１８に書き込まれる。
ＭＷα＝Ｍα  …(1)
ここで、マスクレイヤは半透明係数Ｍαしかデータを有していないが、通常のスプライトと同様に処理する必要上、仮想スプライトの半透明係数ＳＰＷ＿α０および仮想スプライトのカラーデータＳＰＷ＿ＲＧＢ０を定義し、これらのデータとして、
ＳＰＷ＿α０＝０    …(2)
ＳＰＷ＿ＲＧＢ０＝０  …(3)
がスプライトバッファ１８に書き込まれる。
【００１７】
○ スプライト１展開時
次に、スプライト１のアンチエイリアス係数ＳＰ＿Ａｎｔｉα１がパターンＲＯＭ３から読み出されると、α混合処理回路３１において、
α１＝ＭＲα×ＳＰ＿Ａｎｔｉα１  …(4)
なる演算が行われ、演算結果である係数α１がα演算処理回路３２およびＲＧＢ演算処理回路３３へ出力される。ここで、ＭＲαはスプライトバッファ１８から読み出されたマスクレイヤの半透明係数であり、ＭＲα＝ＭＷα＝Ｍαである。
いま、例えば、
マスクレイヤの半透明係数Ｍα＝０．３
スプライト１のアンチエイリアス係数ＳＰ＿Ａｎｔｉα１＝０．６
とすると、上記(4)式に従って、
α１＝０．３×０．６＝０．１８
なる演算が行われる(図２（ａ）参照)。
【００１８】
次に、α演算処理回路３２において、スプライト１の半透明係数ＳＰＷ＿α１が、
ＳＰＷ＿α１＝α１＋（１−α１）×ＳＰＲ＿α０  …(5)
なる演算によって求められる。ここで、ＳＰＲ＿α０は、スプライトバッファ１８から読み出されたマスクレイヤの仮想スプライトの半透明係数であり、上記(2)式から「０」である。したがって、(5)式は、実際には、
ＳＰＷ＿α１＝α１
となる。そして、この半透明係数ＳＰＷ＿α１がスプライトバッファ１８に書き込まれる。
【００１９】
次に、ＲＧＢ演算処理回路３３において、パターンＲＯＭ３から読み出されたスプライト１のカラーデータＲＧＢ１と、上記の係数α１と、データＳＰＲ＿ＲＧＢ０とにおいて、
ＳＰＷ＿ＲＧＢ１＝α１×ＲＧＢ１＋（１−α１）×ＳＰＲ＿ＲＧＢ０    …(6)
なる演算が行われ、演算結果であるカラーデータＳＰＷ＿ＲＧＢ１がスプライトバッファ１８に書き込まれる。ここで、ＳＰＲ＿ＲＧＢ０は、スプライトバッファ１８から読み出されたマスクレイヤの仮想スプライトの半透明係数であり、上記(3)式から「０」である。したがって、(6)式は、実際には、
ＳＰＷ＿ＲＧＢ１＝α１×ＲＧＢ１
となる。そして、このカラーデータＳＰＷ＿ＲＧＢ１がスプライトバッファ１８に書き込まれる。
【００２０】
○ スプライト２展開時
次に、スプライト２のアンチエイリアス係数ＳＰ＿Ａｎｔｉα２がパターンＲＯＭ３から読み出されると、α混合処理回路３１において、
α２＝ＭＲα×ＳＰ＿Ａｎｔｉα２  …(7)
なる演算が行われ、演算結果である係数α２がα演算処理回路３２およびＲＧＢ演算処理回路３３へ出力される。ここで、ＭＲαはスプライトバッファ１８から読み出されたマスクレイヤの半透明係数である。
いま、例えば、
マスクレイヤの半透明係数Ｍα＝０．３
スプライト２のアンチエイリアス係数ＳＰ＿Ａｎｔｉα２＝０．７
とすると、
α２＝０．３×０．７＝０．２１
なる演算が行われる(図２（ａ）参照)。
【００２１】
次に、α演算処理回路３２において、スプライト２の半透明係数ＳＰＷ＿α２が、
ＳＰＷ＿α２＝α２＋（１−α２）×ＳＰＲ＿α１  …(8)
なる演算によって求められる。ここで、ＳＰＲ＿α１（＝ＳＰＷ＿α１）は、スプライトバッファ１８から読み出されたスプライト１の半透明係数（(5)式参照）である。そして、算出された半透明係数ＳＰＷ＿α２がスプライトバッファ１８に書き込まれる。
図2（ａ）に示す例の場合、スプライト２とスプライト１が重なっていない部分については、
ＳＰＷ＿α２＝０．２１
となり、重なっている部分については、
ＳＰＷ＿α２＝０．２１＋（１−０．２１）×０．１８＝０．３５２２
となる。
【００２２】
次に、ＲＧＢ演算処理回路３３において、パターンＲＯＭ３から読み出されたスプライト２のカラーデータＲＧＢ２と、上記の係数α２と、スプライトバッファ１８から読み出されたデータＳＰＲ＿ＲＧＢ１（＝ＳＰＷ＿ＲＧＢ１）とにおいて、
ＳＰＷ＿ＲＧＢ２＝α２×ＲＧＢ２＋（１−α２）×ＳＰＲ＿ＲＧＢ１    …(9)
なる演算が行われ、演算結果であるカラーデータＳＰＷ＿ＲＧＢ２がスプライトバッファ１８に書き込まれる。
【００２３】
以上が、スプライトバッファインターフェイス１７によるスプライトバッファ１８の描画の過程である。そして、スプライトバッファインターフェイス１７は、レンダリングエンジン２１からの読出し指示を受けると、スプライトバッファ１８から各ドット対応でデータ（ＳＰＲ＿α２，ＳＰＲ＿ＲＧＢ２，ＭＲα）を読み出し、レンダリングエンジン２１へ出力する。なお、ＳＰＲ＿α２＝ＳＰＷ＿α２、ＳＰＲ＿ＲＧＢ２＝ＳＰＷ＿ＲＧＢ２、ＭＲα＝ＭＷαである。
」    
【００２４】
レンダリングエンジン２１はスプライトバッファ１８から読み出されたデータについてレンダリング処理をした後、フレームバッファインターフェイス２２へ出力する。フレームバッファインターフェイス２２は、
ＲＧＢ＝ＳＰＲ＿ＲＧＢ２＋（１−ＳＰＲ＿α２）×ＲＧＢ（Ｂ）  …(10)
なる演算によってカラーデータＲＧＢを算出し、フレームバッファ２３に書き込む。ここで、ＲＧＢ（Ｂ）はフレームバッファ２３から読み出されたバックグラウンドのカラーデータである。
図２（ｂ）は、マスクレイヤの半透明係数Ｍα＝１の場合である。
【００２５】
なお、特許請求の範囲における「対背景混合比率」の語は、上記実施形態における(4)式のα１、(7)式のα２に対応し、また、「累算混合比率」の語は、(5)式のＳＰＷ＿α１、(８)式のＳＰＷ＿α２に対応し、また、「重合済みカラーデータ」の語は、(6)式のＳＰＷ＿ＲＧＢ１、(9)式のＳＰＷ＿ＲＧＢ２に対応している。
【産業上の利用可能性】
【００２６】
この発明は、パチンコやその他のゲーム機において使用される。
【図面の簡単な説明】
【００２７】
【図１】この発明の一実施形態による画像処理装置における半透明処理回路１７ａの構成を示すブロック図である。
【図２】同半透明処理回路１７ａの動作を説明するための図である。
【図３】画像処理装置の全体構成を示すブロック図である。
【図４】スプライトによる表示方式を用いた表示システムの構成を示すブロック図である。
【図５】スプライトＳＰの一例を示す図である。
【図６】アンチエイリアス処理を説明するための図である。
【図７】スプライトの半透明処理を説明するための図である。
【符号の説明】
【００２８】
３…パターンＲＯＭ、４…表示装置、１１…画像処理装置、１７…スプライトバッファインターフェイス、１７ａ…半透明処理回路、１８…スプライトバッファ、２２…フレームバッファインターフェイス、２３…フレームバッファ、３１…α混合処理回路、３２…α演算処理回路、３３…ＲＧＢ演算処理回路。
【図１】
0004797749.tif 000002
【図２】
0004797749.tif 000003
【図３】
0004797749.tif 000004
【図４】
0004797749.tif 000005
【図５】
0004797749.tif 000006
【図６】
0004797749.tif 000007
【図７】
0004797749.tif 000008