(57)【要約】【課題】  バイリニアフィルタ処理とαブレンディングを併用してレンダリングを行う場合において、α値が大きく変化するエッジをソース画像が含んでいる場合に、レンダリング後の画像の当該エッジ部分のカラーが不自然になるのを防止する。【解決手段】  バイリニアフィルタ１は、ソース画像において補間点を囲む４個のソース画素の各ソースカラー値に各々のα値を乗算し、α値乗算後の４個のソースカラー値にバイリニアフィルタ処理を施して補間点ソースカラー値を算出し、４個のα値にバイリニアフィルタ処理を施して補間点ソースα値を算出する。αブレンディング部２は、ディスティネーション画素のディスティネーションカラー値と補間点ソースカラー値とを補間点ソースα値に基づいて混合し、αブレンディング後のディスティネーション画素のカラー値Ｄ’を算出する。【選択図】図１
2010224733.tif 000002
【特許請求の範囲】
【請求項１】
ソース画像においてレンダリング先であるディスティネーション画像のディスティネーション画素となる補間点を囲む４個のソース画素の各ソースカラー値に前記４個のソース画素の各α値を各々乗算し、各α値乗算後の４個のソースカラー値に対し、前記４個のソース画素と前記補間点との位置関係により定まる４個のバイリニアフィルタ係数を用いたバイリニアフィルタ処理を施し、その結果に基づいて補間点ソースカラー値を算出するとともに、前記４個のソース画素の各α値に前記４個のバイリニアフィルタ係数を用いたバイリニアフィルタ処理を施して補間点ソースα値を算出するバイリニアフィルタと、
前記ディスティネーション画素のディスティネーションカラー値と前記補間点ソースカラー値とを前記補間点ソースα値に基づいて混合し、αブレンディング後の前記ディスティネーション画素のカラー値を算出するαブレンディング部と
を具備することを特徴とするレンダリング装置。
【請求項２】
前記バイリニアフィルタは、前記各α値乗算後の４個のソースカラー値に対し、前記４個のバイリニアフィルタ係数を用いたバイリニアフィルタ処理を施した結果を前記補間点ソースカラー値として出力し、
前記αブレンディング部は、前記補間点ソースα値を１から差し引いた値を前記ディスティネーションカラー値に乗算し、この乗算結果と前記補間点ソースカラー値とを加算することにより、αブレンディング後の前記ディスティネーション画素のカラー値を算出することを特徴とする請求項１に記載のレンダリング装置。
【請求項３】
前記バイリニアフィルタは、前記各α値乗算後の４個のソースカラー値に対し、前記４個のバイリニアフィルタ係数を用いたバイリニアフィルタ処理を施し、その結果を前記補間点ソースα値によって除算したものを前記補間点ソースカラー値として出力し、
前記αブレンディング部は、前記補間点ソースα値を１から差し引いた値を前記ディスティネーションカラー値に乗算し、この乗算結果と、前記補間点ソースα値と前記補間点ソースカラー値との乗算結果を加算することにより、αブレンディング後の前記ディスティネーション画素のカラー値を算出することを特徴とする請求項２に記載のレンダリング装置。
【請求項４】
コンピュータを、
ソース画像においてレンダリング先であるディスティネーション画像のディスティネーション画素となる補間点を囲む４個のソース画素の各ソースカラー値に前記４個のソース画素の各α値を各々乗算し、各α値乗算後の４個のソースカラー値に対し、前記４個のソース画素と前記補間点との位置関係により定まる４個のバイリニアフィルタ係数を用いたバイリニアフィルタ処理を施すことにより補間点ソースカラー値を算出するとともに、前記４個のソース画素の各α値に前記４個のバイリニアフィルタ係数を用いたバイリニアフィルタ処理を施して補間点ソースα値を算出するバイリニアフィルタと、
前記ディスティネーション画素のディスティネーションカラー値と前記補間点ソースカラー値とを前記補間点ソースα値に基づいて混合し、αブレンディング後の前記ディスティネーション画素のカラー値を算出するαブレンディング部と
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、描画処理技術に係り、特にバイリニアフィルタとαブレンディング部とを備えたレンダリング装置およびプログラムに関する。
【背景技術】
【０００２】
スプライト画像等のレンダリングに関連した技術として、αブレンディングとバイリニアフィルタ処理がある。ここで、αブレンディングは、レンディング対象である画像（以下、ソース画像という。）の各画素のカラー値（Ｒ、Ｇ、Ｂの各成分の輝度）と各画素の透明度を示すα値と、ソース画像の背景となるレンダリング先の画像（以下、ディスティネーション画像という。）の各画素のカラー値とに基づき、ソース画像がレンダリングされた後のディスティネーション画像の各画素（ソース画像とディスティネーション画像とがオーバラップした領域の各画素）のカラー値を演算する技術である。さらに詳述すると、このαブレンディングでは、図３に示すように、ソース画像を構成する１つの画素（以下、ソース画素という。）のカラー値がＳＣ、このソース画素に対応したディスティネーション画像の画素（以下、ディスティネーション画素という。）のカラー値がＤである場合、次式に示すカラー値Ｄ’を算出し、レンダリング後におけるディスティネーション画素のカラー値とする。
Ｄ’＝α＊ＳＣ＋（１−α）＊Ｄ                          ……（１）
これにより、レンダリング後の画像において、レンダリング前のディスティネーション画像がソース画像越しにα値に応じた透明度で透けて見える状態を演出することができる。
【０００３】
一方、バイリニアフィルタ処理は、スプライト画像等のソース画像を拡大、回転等してディスティネーション画像にレンダリングする際に、レンダリング対象であるソース画像（拡大等してレンダリングする場合には拡大等がなされた後のもの）において、レンダリング先のディスティネーション画像のディスティネーション画素と同一位置を占める補間点のカラー値を演算する線形補間処理手段である。さらに詳述すると、バイリニアフィルタ処理では、図４に示すように、ソース画像を構成する各画素のうちディスティネーション画素の位置に対応した補間点ＰＰ（ｘ、ｙ）を囲む周囲４個の画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）の各カラー値ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３を用いて、次式に示す演算を行い、補間点ＰＰ（ｘ、ｙ）に対応したカラー値ＳＣ（ｘ、ｙ）を算出する。
ＳＣ（ｘ、ｙ）
＝Ｂ０＊ＳＣ０＋Ｂ１＊ＳＣ１＋Ｂ２＊ＳＣ２＋Ｂ３＊ＳＣ３  ……（２）
【０００４】
ここで、Ｂ０〜Ｂ３は、補間点ＰＰ（ｘ、ｙ）の周囲４個の画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）に対する位置関係により定まるバイリニア係数である。周囲４個の画素の各画素位置間隔を１とした場合における補間点の座標値ｘ、ｙの小数部を各々ｐ、ｑとした場合、各バイリニア係数Ｂ０〜Ｂ３は、次式により与えられる。
Ｂ０＝（１−ｐ）＊（１−ｑ）                              ……（３）
Ｂ１＝（１−ｑ）＊ｐ                                      ……（４）
Ｂ２＝（１−ｐ）＊ｑ                                      ……（５）
Ｂ３＝ｐ＊ｑ                                              ……（６）
【０００５】
そして、バイリニア係数Ｂ０〜Ｂ３には、次式に示す関係がある。
Ｂ０＋Ｂ１＋Ｂ２＋Ｂ３
＝（１−ｐ）（１−ｑ）＋ｐ（１−ｑ）＋（１−ｐ）ｑ＋ｐｑ
＝１                                                        ……（７）
【０００６】
レンダリングにおいては、以上述べたバイリニアフィルタ処理とαブレンディングとを併用する場合がある。図５は、このバイリニアフィルタ処理とαブレンディングとを併用するレンダリングの処理内容を示すものである。図５に示すように、バイリニアフィルタ処理とαブレンディングとを併用するレンダリングでは、まず、ソース画像における補間点ＰＰ（ｘ、ｙ）の周囲４個の画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）の各α値Ａ０、Ａ１、Ａ２、Ａ３を用いて、次式に示すバイリニアフィルタ処理を実行し、補間点ＰＰ（ｘ、ｙ）に適用するα値Ａを算出する。
Ａ＝Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３            ……（８）
【０００７】
また、補間点ＰＰ（ｘ、ｙ）の周囲４個の画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）の各カラー値ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３を用いて、次式に示すバイリニアフィルタ処理を実行し、補間点ＰＰ（ｘ、ｙ）のソースカラー値ＳＣを算出する。
ＳＣ＝Ｂ０＊ＳＣ０＋Ｂ１＊ＳＣ１＋Ｂ２＊ＳＣ２＋Ｂ３＊ＳＣ３  ……（９）
【０００８】
そして、以上の２種類のバイリニアフィルタ処理により得られる補間点ＰＰ（ｘ、ｙ）のソースカラー値ＳＣおよびα値Ａと、ディスティネーション画素のディスティネーションカラー値Ｄとを用いて、次式に示すαブレンディングを実行し、レンダリング後のディスティネーション画素のカラー値Ｄ’を算出するのである。
Ｄ’＝Ａ＊ＳＣ＋（１−Ａ）＊Ｄ                              ……（１０）
なお、バイリニアフィルタ処理とαブレンディングを併用したレンダリングに関する文献としては、例えば特許文献１がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−１８３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、上述した従来のバイリニアフィルタとαブレンディングを併用したレンダリングは、ソース画像がα値の大きく変化するエッジを含む場合に、レンダリング後の画像において、本来、小さなα値が適用されるべき画素の色がレンダリング後の画像のエッジ部分に過剰に現れ、エッジ部分が不自然な色になるという問題があった。以下、図６を参照し、この問題について詳述する。
【００１１】
図６に示す例では、ソース画像であるスプライト１００をディスティネーション画像である背景画像２００にレンダリングしている。ここで、スプライト１００は拡大処理がなされており、α値が１である円状領域１０１とその周囲のα値が０である領域１０２とを有している。そして、図示の例では、バイリニアフィルタ処理とαブレンディングを併用して、スプライト１００を背景画像２００にレンダリングしている。図６において、スプライト１００における補間点ＰＰ（ｘ、ｙ）は、円状領域１０１のエッジの上にあり、この補間点ＰＰ（ｘ、ｙ）の周囲の４画素のうちソース画素Ｐ（ｍ、ｎ）およびＰ（ｍ、ｎ＋１）はα値が１である円状領域１０１内にあり、ソース画素Ｐ（ｍ＋１、ｎ）およびＰ（ｍ＋１、ｎ＋１）はα値が０である領域１０２内にある。ここで、ソース画素Ｐ（ｍ＋１、ｎ）およびＰ（ｍ＋１、ｎ＋１）は、α値が０であるので、レンダリング後は、背景画像２００の画素の色を透過させるべきものである。従って、レンダリング後において、円状領域１０１のエッジ上の補間点ＰＰ（ｘ、ｙ）の画素のカラーは、円状領域１０１の画素のカラーと背景領域２００の画素のカラーが混ざったものになるべきであり、α値が０である領域１０２の画素のカラーが混ざったものになるべきではない。
【００１２】
しかしながら、従来のバイリニアフィルタ処理とαブレンディングを併用したレンダリングでは、ソース画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）のカラー値に前掲式（９）のバイリニアフィルタ処理を施して、後処理であるαブレンディングに引き渡すカラー値ＳＣを算出する。このため、αブレンディングの対象となるカラー値は、前掲式（９）に示すように、α値が０である領域内の画素のカラー値ＳＣ１およびＳＣ３を含んだものとなり、αブレンディング後における補間点ＰＰ（ｘ、ｙ）の画素のカラー値も、本来含まれるべきではないカラー値ＳＣ１およびＳＣ３を含んだものとなる。このため、レンダリング後におけるスプライト１００の円状領域１０１のエッジが不自然なカラーになるのである。以上、ソース画像においてエッジの一方の側のα値が１であり、他方の側のα値が０である典型例について説明したが、このような典型例に該当しなくても、ソース画像においてエッジを境にα値が大きく変化する場合には、同様に、レンダリング後におけるエッジのカラーが不自然なものになる不具合が発生していた。
【００１３】
この発明は、以上説明した事情に鑑みてなされたものであり、バイリニアフィルタ処理とαブレンディングを併用してレンダリングを行う場合において、α値が大きく変化するエッジをレンダリング対象であるソース画像が含んでいる場合に、レンダリング後の画像の当該エッジ部分のカラーが不自然になるのを防止する技術的手段を提供することを目的としている。
【課題を解決するための手段】
【００１４】
本願発明者は、以上の問題について鋭意検討した結果、次のような考えに至った。すなわち、上述のような不具合を発生させないためには、図１に示すように、ソース画像における補間点ＰＰ（ｘ、ｙ）の周囲の４個のソース画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）の各ソースカラー値ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３の各々と、ディスティネーション画素のディスティネーションカラー値Ｄとのαブレンディングを各々行い、この４種類のαブレンディングの結果得られる４個のカラー値にバイナリフィルタ処理を施すことによりレンダリング後のディスティネーション画素のカラー値Ｄ’を算出するべきである、との考えである。
【００１５】
このようなレンダリングを行う場合、レンダリング後のディスティネーション画素のカラー値Ｄ’は、次式に示すものとなる。
Ｄ’＝Ｂ０＊（Ａ０＊ＳＣ０＋（１−Ａ０）＊Ｄ）＋
Ｂ１＊（Ａ１＊ＳＣ１＋（１−Ａ１）＊Ｄ）＋
Ｂ２＊（Ａ２＊ＳＣ２＋（１−Ａ２）＊Ｄ）＋
Ｂ３＊（Ａ３＊ＳＣ３＋（１−Ａ３）＊Ｄ）                ……（１１）
【００１６】
上記式の右辺において、バイリニア係数Ｂ０〜Ｂ３が各々乗算される４個の括弧の中の各値は、ソースカラー値ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３の各々と、ディスティネーション画素のディスティネーションカラー値Ｄとのαブレンディングの結果である。
【００１７】
前掲図６の例の場合、上記式（１１）におけるα値Ａ０およびＡ２が１、α値Ａ１およびＡ３が０となることから、レンダリング後のディスティネーション画素のカラー値Ｄ’は、次式のようになる。
Ｄ’＝Ｂ０＊（１＊ＳＣ０＋（１−１）＊Ｄ）＋
Ｂ１＊（０＊ＳＣ１＋（１−０）＊Ｄ）＋
Ｂ２＊（１＊ＳＣ２＋（１−１）＊Ｄ）＋
Ｂ３＊（０＊ＳＣ３＋（１−０）＊Ｄ）
＝Ｂ０＊ＳＣ０＋Ｂ１＊Ｄ＋Ｂ２＊ＳＣ２＋Ｂ３＊Ｄ          ……（１２）
このように、図１に示すレンダリングを行うと、レンダリング後のディスティネーション画素のカラー値Ｄ’は、スプライト１００の円状領域１０１内の画素のカラー値ＳＣ０、ＳＣ２と、背景画像の画素のカラー値Ｄとが混ざったものとなり、本来意図したエッジのカラー値となる。
【００１８】
以上のように、バイリニアフィルタ処理とαブレンディングを併用したレンダリングでは、αブレンディングを行ってからバイリニアフィルタ処理を行うようにすれば、上述したエッジのカラーが不自然なものとなる不具合を防止することができる。しかし、既存のレンダリング装置は、αブレンディングがバイリニアフィルタ処理の後に実行されることを前提に構成されており、上記のようにバイリニアフィルタ処理をαブレンディング処理の後処理とすることは、レンダリング装置全体の構成に与える影響が大きく、現実的にみて実施が困難である。
【００１９】
そこで、この発明では、バイリニアフィルタ処理の後にαブレンディングを行うという基本的な演算順序は崩さず、αブレンディングの全演算のうちバイリニアフィルタを利用して演算することが可能な部分を選んでバイリニアフィルタに実行させ、その結果をαブレンディングに引き渡すことにより、結果的に前掲式（１１）と同じ演算を行う。具体的には次の通りである。
【００２０】
まず、前掲式（１１）は、次のように変形可能である。
ラー値Ｄ’は、次式に示すものとなる。
Ｄ’＝Ｂ０＊（Ａ０＊ＳＣ０＋（１−Ａ０）＊Ｄ）＋
Ｂ１＊（Ａ１＊ＳＣ１＋（１−Ａ１）＊Ｄ）＋
Ｂ２＊（Ａ２＊ＳＣ２＋（１−Ａ２）＊Ｄ）＋
Ｂ３＊（Ａ３＊ＳＣ３＋（１−Ａ３）＊Ｄ）
＝Ｂ０＊Ａ０＊ＳＣ０＋Ｂ０＊（１−Ａ０）＊Ｄ＋
Ｂ１＊Ａ１＊ＳＣ１＋Ｂ１＊（１−Ａ１）＊Ｄ＋
Ｂ２＊Ａ２＊ＳＣ２＋Ｂ２＊（１−Ａ２）＊Ｄ＋
Ｂ３＊Ａ３＊ＳＣ３＋Ｂ３＊（１−Ａ３）＊Ｄ
＝Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋
Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３＋
Ｂ０＊Ｄ−Ｂ０＊Ａ０＊Ｄ＋Ｂ１＊Ｄ−Ｂ１＊Ａ１＊Ｄ＋
Ｂ２＊Ｄ−Ｂ２＊Ａ２＊Ｄ＋Ｂ３＊Ｄ−Ｂ３＊Ａ３＊Ｄ
＝Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋
Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３＋
（Ｂ０−Ｂ０＊Ａ０＋Ｂ１−Ｂ１＊Ａ１＋
Ｂ２−Ｂ２＊Ａ２＋Ｂ３−Ｂ３＊Ａ３）＊Ｄ      ……（１３）
【００２１】
上記式（１３）において、バイリニア係数Ｂ０、Ｂ１、Ｂ２、Ｂ３の総和は１であることから、上記式（１３）は次のようになる。
Ｄ’＝Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋
Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３＋
｛１−（Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３）｝＊Ｄ
……（１４）
【００２２】
この発明では、上記式（１４）の右辺におけるＢ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３と、Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３の演算をバイリニアフィルタに実行させる。そして、これらの演算結果を利用した右辺全体の演算をαブレンディング部に実行させるのである。
【００２３】
ここで、Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３は、ソース画像においてレンダリング先であるディスティネーション画像のディスティネーション画素となる補間点を囲む４個のソース画素の各ソースカラー値ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３に４個のソース画素の各α値Ａ０、Ａ１、Ａ２、Ａ３を各々乗算し、各α値乗算後の４個のソースカラー値Ａ０＊ＳＣ０、Ａ１＊ＳＣ１、Ａ２＊ＳＣ２、
Ａ３＊ＳＣ３に対し、４個のソース画素と補間点との位置関係により定まる４個のバイリニアフィルタ係数Ｂ０、Ｂ１、Ｂ２、Ｂ３を用いたバイリニアフィルタ処理を施すことにより得られる補間点ソースカラー値である。また、Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３は、４個のソース画素の各α値Ａ０、Ａ１、Ａ２、Ａ３に４個のバイリニアフィルタ係数Ｂ０、Ｂ１、Ｂ２、Ｂ３を用いたバイリニアフィルタ処理を施すことにより得られる補間点ソースα値である。
【００２４】
そして、αブレンディング部では、ディスティネーション画素のディスティネーションカラー値Ｄと補間点ソースカラー値Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３とを補間点ソースα値Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３に基づいて混合し、上記式（１４）に示すαブレンディング後のディスティネーション画素のカラー値Ｄ’を算出するのである。
【００２５】
以上のように、この発明によれば、バイリニアフィルタ処理の後にαブレンディングを行うという基本的な演算順序を崩さず、結果的に上記式（１１）の演算を行うことができる。従って、レンダリング対象であるソース画像にα値が大きく変化するエッジがある場合に、レンダリング後の画像において当該エッジに対応した部分のカラーが不自然になるのを防止することができる。
【図面の簡単な説明】
【００２６】
【図１】この発明が実現しようとするバイリニアフィルタ処理とαブレンディングとを併用したレンダリングの処理内容を示す図である。
【図２】この発明の一実施形態であるレンダリング装置の構成を示すブロック図である。
【図３】αブレンディング理を説明する図である。
【図４】バイリニアフィルタ処理を説明する図である。
【図５】従来のバイリニアフィルタ処理とαブレンディング処理とを併用したレンダリングの処理内容を示す図である。
【図６】従来のレンダリングにおいて生じる問題点を説明する図である。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照し、この発明の実施の形態を説明する。
図２は、この発明の一実施形態であるレンダリング装置の構成を示すブロック図である。このレンダリング装置は、例えばゲーム機等に用いられる画像処理用ＬＳＩの一部の回路をなすものであり、同画像処理用ＬＳＩ内においてスプライト画像を例えばゲーム機の表示対象である画像にレンダリングする処理を行うものである。図示のように、レンダリング装置は、バイリニアフィルタ１と、αブレンディング部２と、ソース画像メモリ３と、ディスティネーション画像メモリ４とを有する。ここで、ソース画像メモリ３は、レンダリング対象であるソース画像の画像データを記憶するメモリである。このソース画像の画像データは、ソース画像を構成する各画素を示す画素データの集合体である。１個の画素を示す画素データは、画素のカラーのＲ、Ｇ、Ｂの各成分の輝度を示すデータと、画素の透明度を示すα値により構成されている。ディスティネーション画像メモリ４は、ソース画像のレンダリング先であるディスティネーション画像の画像データを記憶するメモリである。
【００２８】
バイリニアフィルタ処理およびαブレンディングを併用したレンダリングを行う場合において、バイリニアフィルタ１には、ディスティネーション画素に対応した補間点ＰＰ（ｘ、ｙ）のｘ、ｙ座標値の小数部ｐ、ｑと、レンダリング先であるディスティネーション画像のディスティネーション画素に対応した補間点ＰＰ（ｘ、ｙ）を囲む４個のソース画素Ｐ（ｍ、ｎ）、Ｐ（ｍ＋１、ｎ）、Ｐ（ｍ、ｎ＋１）、Ｐ（ｍ＋１、ｎ＋１）の各ソースカラー値ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３と、各ソースα値Ａ０、Ａ１、Ａ２、Ａ３が与えられる。この場合、バイリニアフィルタ１は、まず、次式に示す演算を行う。
ＡＢ０＝Ｂ０＊Ａ０                ……（１５）
ＡＢ１＝Ｂ１＊Ａ１                ……（１６）
ＡＢ２＝Ｂ２＊Ａ２                ……（１７）
ＡＢ３＝Ｂ３＊Ａ３                ……（１８）
【００２９】
次にバイリニアフィルタ１は、下記式（１９）に従って補間点ソースカラー値ＳＣを算出するとともに、下記式（２０）に従って補間点ソースα値Ａを算出する。
ＳＣ＝ＡＢ０＊ＳＣ０＋ＡＢ１＊ＳＣ１＋ＡＢ２＊ＳＣ２＋ＡＢ３＊ＳＣ３
……（１９）
Ａ＝Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３          ……（２０）
【００３０】
バイリニアフィルタ１は、この補間点ソースカラー値ＳＣおよび補間点ソースα値Ａをαブレンディング部２に送る。αブレンディング部２は、ディスティネーション画素のディスティネーションカラー値Ｄをディスティネーション画像メモリ４から読み出し、このディスティネーションカラー値Ｄと、補間点ソースカラー値ＳＣおよび補間点ソースα値Ａとを用いて次式に示す演算を行い、レンダリング後のディスティネーションカラー値Ｄ’を算出する。
Ｄ’＝ＳＣ＋（１−Ａ）＊Ｄ                                  ……（２１）
【００３１】
通常のαブレンディングでは、補間点ソースカラー値ＳＣにα値を乗算するが、本実施形態では、上記式（２１）に示すように補間点ソースカラー値ＳＣへのα値の乗算は行わない。これは、本実施形態においてバイリニアフィルタ１は、α値が乗算された後の４個のソースカラー値にバイリニアフィルタ処理を施したものを補間点ソースカラー値ＳＣとして出力するからである。本実施形態において、上記式（２１）の演算結果は、次式(２２）に示すように前掲式（１４）と同じものになる。従って、α値が大きく変化するエッジをレンダリング対象であるソース画像が含んでいる場合であっても、レンダリング後の画像の当該エッジ部分のカラーが不自然になるのを防止することができる。
Ｄ’＝ＳＣ＋（１−Ａ）＊Ｄ
＝（ＡＢ０＊ＳＣ０＋ＡＢ１＊ＳＣ１＋ＡＢ２＊ＳＣ２＋ＡＢ３＊ＳＣ３）＋
｛１−（Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３）｝＊Ｄ
＝Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋
Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３＋
｛１−（Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３）｝＊Ｄ
……（２２）
αブレンディング部２は、このカラー値Ｄ’をレンダリング後のディスティネーション画素のカラー値としてディスティネーション画像メモリ４に上書きする。
【００３２】
以上のように、本実施形態によれば、バイリニアフィルタ処理の後にαブレンディングを行うという演算の順序を崩さずに、バイリニアフィルタ処理およびαブレンディングを併用したレンダリングを行い、その際に、α値が大きく変化するエッジをレンダリング対象であるソース画像が含んでいる場合であっても、レンダリング後の画像の当該エッジ部分のカラーが不自然になるのを防止することができる。
【００３３】
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば次の通りである。
【００３４】
（１）バイリニアフィルタ１は、次式に示すように、前掲式（１９）の補間点ソースカラー値ＳＣを補間点ソースα値Ａによって除算したものを補間点ソースカラー値ＳＣとして出力してもよい。
ＳＣ＝（ＡＢ０＊ＳＣ０＋ＡＢ１＊ＳＣ１＋ＡＢ２＊ＳＣ２＋ＡＢ３＊ＳＣ３）／Ａ
……（２３）
【００３５】
この態様において、後段のαブレンディング部２は、次式に示すように通常のαブレンディングを行えば、前掲式（１４）と同じ値のレンダリング後のディスティネーションカラー値Ｄ’を得ることができる。
Ｄ’＝Ａ＊ＳＣ＋（１−Ａ）＊Ｄ
＝Ａ＊｛（ＡＢ０＊ＳＣ０＋ＡＢ１＊ＳＣ１＋
ＡＢ２＊ＳＣ２＋ＡＢ３＊ＳＣ３）／Ａ｝＋（１−Ａ）＊Ｄ
＝（ＡＢ０＊ＳＣ０＋ＡＢ１＊ＳＣ１＋ＡＢ２＊ＳＣ２＋ＡＢ３＊ＳＣ３）＋
（１−Ａ）＊Ｄ
＝（ＡＢ０＊ＳＣ０＋ＡＢ１＊ＳＣ１＋ＡＢ２＊ＳＣ２＋ＡＢ３＊ＳＣ３）＋
｛１−（Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３）｝＊Ｄ
＝Ｂ０＊Ａ０＊ＳＣ０＋Ｂ１＊Ａ１＊ＳＣ１＋
Ｂ２＊Ａ２＊ＳＣ２＋Ｂ３＊Ａ３＊ＳＣ３＋
｛１−（Ｂ０＊Ａ０＋Ｂ１＊Ａ１＋Ｂ２＊Ａ２＋Ｂ３＊Ａ３）｝＊Ｄ
……（２４）
【００３６】
従って、この態様においても、上記実施形態と同様な効果が得られる。また、この態様は、αブレンディング部２の演算内容を通常のαブレンディングから変えなくて済むという利点がある。また、この態様において、バイリニアフィルタ１が出力する補間点ソースカラー値ＳＣは、α値（具体的には補間点ソースα値Ａ）が乗算されていない内容のものなので、バイリニアフィルタ１とαブレンディング部２との間に輝度操作を行う他の演算手段が介在する場合でも、輝度操作の演算内容に変更を加える必要がないという利点がある。
【００３７】
（２）上記実施形態では、ソース画像を構成する各ソース画素の画素データがα値を含んでいたが、ソース画素にα値を対応付ける態様はこれに限定されるものではない。例えばあるカラー値を持った画素にはα＝１、別のあるカラー値を持った画素にはα＝０という具合に、カラー値にα値を対応付けてもよい。
【００３８】
（３）この発明は、上記各実施形態（上記（１）および（２）に示すような変形された態様を含む。）のバイリニアフィルタ１およびαブレンデイング部２を備えた専用のハードウェアとして実現する他、コンピュータを上記各実施形態のバイリニアフィルタ１およびαブレンデイング部２として機能させるコンピュータプログラムとして実現してもよい。
【符号の説明】
【００３９】
１……バイリニアフィルタ、２……αブレンディング部、３……ソース画像メモリ、４……ディスティネーション画像メモリ。
【図１】
2010224733.tif 000003
【図２】
2010224733.tif 000004
【図３】
2010224733.tif 000005
【図４】
2010224733.tif 000006
【図５】
2010224733.tif 000007
【図６】
2010224733.tif 000008