(57)【要約】【課題】  本発明は，コンピュータグラフィックスにおいて，必要とされる記憶容量を軽減できる，ぼかした画像を取得するための装置及び方法を提供することを目的とする。【解決手段】  本発明は，ＳＡＴテーブルのすべてを記憶して，ぼかし画像を得るのではなく，必要な列の演算結果のみを残す処理を行う。その結果，本発明によれば，コンピュータグラフィックスにおいて，必要とされる記憶容量を軽減できる，ぼかした画像を取得するための装置及び方法を提供することができる。【選択図】図４
2011118224.tif 000002
【特許請求の範囲】
【請求項１】
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）における入力画像データをｉ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとし，
前記ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩで表される値としたときに，
座標（Ｘ，Ｙ）における入力画像データｉ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段（２０）と，
前記入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉで示されるｓａｔの値を求めるためのｓａｔ演算手段（２１）と，
前記ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュ（２２，２３）と，
前記キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段（２４）と，
前記Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値，前記ｗ及び前記ｈを用いて，ＩＢｌｕｒ（ｘ，ｙ）を用いるぼかし画像データ取得手段（２５）と，
を有する，
コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
前記キャッシュは，第１のキャッシュ（２２）及び第２のキャッシュ（２３）を含み，
前記第１のキャッシュは，フロントキャッシュ（２２ａ）及びバックキャッシュ（２２ｂ）を含み，
前記第２のキャッシュは，フロントキャッシュ（２３ａ）及びバックキャッシュ（２３ｂ）を含み，
前記ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
前記第１のキャッシュのフロントキャッシュは，
前記１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶し，
前記ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，前記第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
前記第１のキャッシュのバックキャッシュは，
前記２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶し，
前記ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，前記第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
前記第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新し，
以下同様の演算を繰り返し，
（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶し，
前記ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，前記キャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，前記第２のキャッシュのフロントキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
前記第２のキャッシュのバックキャッシュは，
前記Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，前記第２のキャッシュのバックキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新し，
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，
システム。
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
【請求項２】
前記ｉ（ｘ，ｙ）は，色を示すＲ，Ｇ又はＢのいずれかの値である，請求項１に記載のシステム。
【請求項３】
前記ｉ（ｘ，ｙ）は，色を示すＲ，Ｇ又はＢのいずれかの値であるか，透明度を示すα（アルファ）値である，請求項１に記載のシステム。
【請求項４】
前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶したキャッシュを，Ｙｔ行目のｓａｔ演算処理から前記ＩＢｌｕｒ（ｘ，ｙ）を求める処理までの間，ぼかし画像データを得る以外の処理のためのキャッシュとして利用する，請求項１に記載のシステム。
【請求項５】
係数決定部１１と，ぼかし画像取得部１２とを有するコンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）における入力画像データをｉ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉａを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとし，
前記ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩ又は式ＩＩＩａで表される値としたときに，
前記ぼかし画像取得部１２は，
座標（Ｘ，Ｙ）における入力画像データｉ（Ｘ，Ｙ）を受け取るとともに，前記係数決定部１１からぼかし係数ｗ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段（２０）と，
前記入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉａで示されるｓａｔの値を求めるためのｓａｔ演算手段（２１）と，
前記ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュ（２２，２３）と，
前記キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段（２４）と，
前記Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値を用いて，ＩＢｌｕｒ（ｘ，ｙ）を用いるぼかし画像データ取得手段（２５）と，
を有する，
コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
前記キャッシュは，第１のキャッシュ（２２）及び第２のキャッシュ（２３）を含み，
前記第１のキャッシュは，フロントキャッシュ（２２ａ）及びバックキャッシュ（２２ｂ）を含み，
前記第２のキャッシュは，フロントキャッシュ（２３ａ）及びバックキャッシュ（２３ｂ）を含み，
前記ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
前記第１のキャッシュのフロントキャッシュは，
前記１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶し，
前記ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，前記第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
前記第１のキャッシュのバックキャッシュは，
前記２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶し，
前記ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，前記第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
前記第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新し，
以下同様の演算を繰り返し，
（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶し，
前記ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，前記キャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，前記第２のキャッシュのフロントキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
前記第２のキャッシュのバックキャッシュは，
前記Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，前記第２のキャッシュのバックキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新し，
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，
システム。
ｓａｔ（Ｘ，Ｙ）＝ｗ（Ｘ，Ｙ）×ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉａ
ただし，式Ｉａにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／Ｗ            ・・・・式ＩＩＩａ
【数９】
2011118224.tif 000011
【請求項６】
請求項５に記載のシステムであって，
前記係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ）の奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）に関する情報が入力される入力手段と，
第１の閾値Ａ及び第２の閾値Ｂが入力される閾値入力手段と，
前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）と前記第１の閾値Ａ及び第２の閾値Ｂとを比較する比較演算手段と，
前記比較演算手段の比較結果に応じて，係数ｗ（Ｘ，Ｙ）を決定する係数決定手段とを有し，
前記係数決定手段は，前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が前記第１の閾値Ａ以上の場合は，ｗ（Ｘ，Ｙ）を０とし，
前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が前記第２の閾値Ｂ以下の場合は，ｗ（Ｘ，Ｙ）を１とし，
前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が前記第２の閾値Ｂより大きく前記第１の閾値Ａより小さい場合は，ｗ（Ｘ，Ｙ）を０から１の間の値とするように演算処理を行う，
システム。
【請求項７】
請求項５に記載のシステムであって，
前記係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と，
前記ぼかし画像処理の対象となる対象物に関する情報，前記対象物の識別番号及び前記入力画像データｉ（Ｘ，Ｙ）を用いて，ぼかし画像処理の対象となる対象物を把握し，このぼかし画像対象となる対象物に関するぼかし係数ｗ（Ｘ，Ｙ）を１とする係数決定手段とを有する，
システム。
【請求項８】
請求項５に記載のシステムであって，
前記係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と，
前記対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得るマスク領域取得手段と，
前記マスク領域取得手段が取得したマスク領域の新たな画像データを得るマスク領域の画像データ取得手段と，
前記マスク領域の係数ｗ（ｘ，ｙ）を１と決定する係数決定手段と，
を有し，
前記ぼかし画像取得部１２は，
前記係数決定部１１が決定したマスク領域に関して，
前記係数ｗ（ｘ，ｙ）＝１を受け取るとともに，前記新たな画像データを入力画像データとして受け取り，
前記対象物のマスクのぼかし画像を得る，
システム。
【請求項９】
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
前記座標（Ｘ，Ｙ）における入力画像データをｉ（Ｘ，Ｙ）とし，
前記座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとし，
前記ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩで表される値としたときに，
コンピュータを，
前記入力画像データｉ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段と，
前記入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉで示されるｓａｔの値を求めるためのｓａｔ演算手段と，
前記ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュと，
前記キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段と，
前記Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値，前記ｗ及び前記ｈを用いて，ＩＢｌｕｒ（ｘ，ｙ）を用いるぼかし画像データ取得手段と，
を有する，
コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
前記キャッシュは，第１のキャッシュ及び第２のキャッシュを含み，
前記第１のキャッシュは，フロントキャッシュ及びバックキャッシュを含み，
前記第２のキャッシュは，フロントキャッシュ及びバックキャッシュを含み，
前記ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
前記第１のキャッシュのフロントキャッシュは，
前記１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶し，
前記ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，前記第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
前記第１のキャッシュのバックキャッシュは，
前記２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶し，
前記ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，前記第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
前記第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新し，
以下同様の演算を繰り返し，
（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶し，
前記ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，前記キャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，前記第２のキャッシュのフロントキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
前記第２のキャッシュのバックキャッシュは，
前記Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，前記第２のキャッシュのバックキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新し，
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，
システムとして機能させるためのプログラム。
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
【請求項１０】
請求項９に記載のプログラムを記憶したコンピュータにより読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，コンピュータグラフィックスにおける，ぼかした画像を取得するための装置及び方法に関する。
【背景技術】
【０００２】
特開２００６−７２８２９号公報には，エリア総和テーブル（Ｓｕｍｍｅｄ−ａｒｅａ  ｔａｂｌｅｓ）を用いてぼかした画像を取得するシステムが開示されている。【０００３】
エリア総和テーブルを用いて，ぼかした画像を求める場合は，入力された画像に基づいてエリア総和テーブル（ＳＡＴ）を求める。ある画素の座標（ｘ，ｙ）におけるＳＡＴの値をｓａｔ（ｘ，ｙ）とする。入力された画素の画素データをｉ（ｘ，ｙ）とする。すると，ｓａｔ（ｘ，ｙ）は，以下の式１で求められる値となる。【０００４】
【数１】
2011118224.tif 000003
【０００５】
上記の式１は，以下の式２と同義である。【０００６】
【数２】
2011118224.tif 000004
【０００７】
なお，任意のｘ，及びｙについて，ｓａｔ（−１，ｙ），ｓａｔ（ｘ,−１），及びｓａｔ（−１，−１）を０（ゼロ）とする。【０００８】
４×４画素からなる仮想的な画像の元データとエリア総和テーブル(ＳＡＴ)の例は，以下の表１のとおりである。【０００９】
【表１】
2011118224.tif 000005
【００１０】
エリア総和テーブル(ＳＡＴ)を用いて，ぼかした画像を得る場合，上記のとおり，元の画像と同じ大きさのＳＡＴを演算により求め，求めたＳＡＴを一度記憶部に記憶する必要があった（特開２００６−７２８２９号公報の段落［００２２］を参照）。表１は，４×４画素からなる仮想的な画像の例である。しかしながら，実際の画像は，表１よりもはるかに画素が大きい。このため，ＳＡＴを記憶するために多くのメモリが必要となり，そして，ＳＡＴから情報を読み出すためにも時間のロスが起こる。【００１１】
図１は，エリア総和テーブルの概念を説明するための図である。図中，点は，座標（ｘ、ｙ）の画素を意味する。図１における黒丸で示される点（ｘ，ｙ）のぼかし画像データを求めるためのＳａｔ（ｘ，ｙ）は，次の式３のように表現することができる。【００１２】
Sat(x,y)=
【数３】
2011118224.tif 000006
【００１３】
そして，図１における座標（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ），及び（Ｘｌ，Ｙｂ）の中心に存在する点（ｘ，ｙ）のぼかし画像データは，以下の式４で与えられることとなる。なお，式４において，ｗ＝Ｘｒ−Ｘｌであり，ｈ＝Ｙｔ−Ｙｂである。【００１４】
【数４】
2011118224.tif 000007
【００１５】
エリア総和テーブル(ＳＡＴ)を用いた場合，ｗ及びｈ（これらをフィルタ度Ｗとも表現する）を適宜調整して任意の平均画像を得ることができる。【００１６】
図２に，エリア総和テーブル（ＳＡＴ）を用いたぼかし画像の例を示す。図２（ａ）は，Ｗ＝１の画像（元の画像）を示す。図２（ｂ）は，Ｗ＝５のぼかし画像を示す。図２（ｃ）は，Ｗ＝１５のぼかし画像を示す。図２（ｄ）は，Ｗ＝３０のぼかし画像を示す。図２に示されるように，ＳＡＴを用いることでぼかしの程度を容易に調整して，ぼかし画像を得ることができる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００６−７２８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
上記のとおり，エリア総和テーブル(ＳＡＴ)を用いて，ぼかした画像を得る場合，元の画像と同じ大きさのＳＡＴを一度記憶部に記憶する。【００１９】
一方，動画の全部又は一部をリアルタイムにぼかすニーズが発生した。先に説明したＳＡＴを用いたぼかし処理では，動画のある画像全体についてＳＡＴを求め続けなければならない。このため，動画のぼかし画像を，従来のＳＡＴを用いて求めると，多大な記憶容量を必要とするという問題がある。【００２０】
そこで，本発明は，コンピュータグラフィックスにおいて，必要とされる記憶容量を軽減できる，ぼかした画像を取得するための装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明の第１の側面は，コンピュータグラフィックス用のぼかし画像データを得るためのシステムに関する。【００２２】
本発明のシステムの例は，グラフィック処理用のチップやソフトウェアを搭載したコンピュータにより実現できる。そして，このコンピュータは，画像処理用のハードウェアを有する。そして，メインメモリに格納されたメインプログラムからの処理を制御部が受ける。制御部は，適宜記憶部に記憶されたデータを読み出し，入力されたデータを用いて，演算部に演算処理を行わせる。この演算部における演算処理には後述するぼかし画像処理も含まれる。そして，演算処理結果を適宜記憶部に記憶させるほか，モニタなどへ出力する。以下説明する，本発明の各機能や手段は，回路，チップ，及びコアといったハードウェアにより実装してもよいし，演算処理回路等とソフトウェアとの協働により実現されるものであってもよい。【００２３】
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とする。座標（Ｘ，Ｙ）における入力画像データをｉ（Ｘ，Ｙ）とする。座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とする。ぼかし画像は，基本的には，画面に存在する全ての画素について求める。後述するように，ぼかし画像データは，たとえば，赤（Ｒ）などの色味や透明度など，コンピュータグラフィックスに必要な情報をぼかしたデータである。座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とする。ｌ（エル）＞ｒとする。ｂ＞ｔとする。ある点（Ｘ，Ｙ）について，以下の式Ｉを満たす値をｓａｔ（Ｘ，Ｙ）とする。以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とする。Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとする。ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩで表される値とする。【００２４】
式ＩＩＩは，以下のとおりである。
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
ここで，Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩである。
なお，ｙの座標値において，ｔはトップ，ｂはボトム（底）を意味する。【００２５】
このシステムは，ハードウェアのみにより実装されてもよい。また，このシステムは，ハードウェアとソフトウェアにより実装されてもよい。このシステムが，ハードウェアとソフトウェアにより実装される場合，このシステムは，入出力部，制御部，演算部，及び記憶部を有する。それらの要素はバスなどで情報を授受できるように接続されている。そして，記憶部には制御プログラムが記憶されている。そして，所定の入力情報が入力部から入力されると，制御部は，記憶部に記憶された制御プログラムを読み出して，適宜記憶部から情報を読み出し，演算部で演算処理を行う。そして，演算処理した結果を記憶部に記憶する。また，演算処理した結果を入出力部から出力する。【００２６】
このシステムは，入力画像データｉ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段を有する。【００２７】
このシステムは，入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉで示されるｓａｔの値を求めるためのｓａｔ演算手段を有する。具体的にはｓａｔ演算手段は，ｉ（Ｘ，０）を用いて，ｓａｔ（０，０）から順に，ｓａｔ（Ｘ，０）の値を求める。この際は，ｓａｔ（Ｘ−１，０）とｉ（Ｘ，０）を読み出して，加算することで，この値を求めることができる。２行目以降は，ｉ（Ｘ，Ｙ），ｓａｔ（Ｘ−１，Ｙ），ｓａｔ（Ｘ，Ｙ−１），及びｓａｔ（Ｘ−１，Ｙ−１）の値を読み出して，加算処理や符号変換処理（＋を−にする処理）を行って，ｓａｔ値を求める。【００２８】
式Ｉは，以下のとおりである。
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。【００２９】
このシステムは，ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュを有する。キャッシュは，第１のキャッシュ及び第２のキャッシュを含む。第１のキャッシュは，フロントキャッシュ及びバックキャッシュを含む。第２のキャッシュは，フロントキャッシュ及びバックキャッシュを含む。これらのキャッシュは，たとえばフラグにより指定される。【００３０】
このシステムは，キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段を有する。Ｓａｔ（ｘ，ｙ）の値は，式ＩＩのとおりである。よって，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して加算処理や符号変換処理（＋を−にする処理）を行って，Ｓａｔ値を求める。【００３１】
このシステムは，Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値，ｗ及びｈを用いて，ＩＢｌｕｒ（ｘ，ｙ）を用いるぼかし画像データ取得手段を有する。ＩＢｌｕｒ（ｘ，ｙ）は，式ＩＩＩで求められる。よって，Ｓａｔ（ｘ，ｙ），ｗ及びｈを読み出して，乗算器及び１／ｘ回路を用いることで，ＩＢｌｕｒ（ｘ，ｙ）の値を求めることができる。【００３２】
このシステムは，以下のようにしてＩＢｌｕｒ（ｘ，ｙ）の値を求めることができる。【００３３】
まず，ｓａｔ演算手段は，１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求める。そして，第１のキャッシュのフロントキャッシュは，１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶する。【００３４】
次に，ｓａｔ演算手段は，２行目の入力画像データｉ（Ｘ，１）と，第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求める。そして，第１のキャッシュのバックキャッシュは，２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶する。【００３５】
次に，ｓａｔ演算手段は，３行目の入力画像データｉ（Ｘ，２）と，第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求める。そして，第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新する。【００３６】
このようにして，Ｓａｔ値を求めるために用いないｓａｔデータを順次消去する。また，フロントキャッシュ及びバックキャッシュを交互に更新することで，少ないメモリ容量を用いて，効率的に必要な情報を更新できる。【００３７】
以下同様の演算を繰り返し，（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，第１のキャッシュのフロントキャッシュ及び第１のキャッシュのバックキャッシュのいずれかが記憶する。【００３８】
同様の演算とは，ｓａｔ演算手段が，ｍ行目の入力画像データｉ（Ｘ，ｍ−１）と，第１のキャッシュのバックキャッシュが記憶した（ｍ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，ｍ−２）を用いて，ｍ行目のｓａｔ値であるｓａｔ（Ｘ，ｍ−１）を求める。そして，いずれかのキャッシュは，ｍ行目のｓａｔ演算結果であるｓａｔ（Ｘ，ｍ−１）を用いて記憶情報を更新する。この作業をｍがＹｔ−２となるまで繰り返す。【００３９】
そして，（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，第１のキャッシュのフロントキャッシュ及び第１のキャッシュのバックキャッシュのうち，ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶する。【００４０】
続いて，ｓａｔ演算手段は，Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，キャッシュから読み出したｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求める。第２のキャッシュのフロントキャッシュは，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶する。【００４１】
次に，ｓａｔ演算手段は，Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，第２のキャッシュのフロントキャッシュから読み出したｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求める。第２のキャッシュのバックキャッシュは，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶する。【００４２】
次に，ｓａｔ演算手段は，Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，第２のキャッシュのバックキャッシュから読み出したｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求める。第２のキャッシュのフロントキャッシュは，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新する。【００４３】
このシステムは，以下同様の演算を繰り返す。そして，（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，第２のキャッシュのフロントキャッシュ及び第２のキャッシュのバックキャッシュのいずれかが記憶する。【００４４】
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，第２のキャッシュのフロントキャッシュ及び第２のキャッシュのバックキャッシュのうち，ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，【００４５】
式Ｉは，以下のとおりである。
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。【００４６】
式ＩＩは，以下のとおりである。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ【００４７】
式ＩＩＩは，以下のとおりである。
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ【００４８】
本発明の好ましい態様は，ｉ（ｘ，ｙ）は，色を示すＲ，Ｇ又はＢのいずれかの値である，上記に記載のシステムである。【００４９】
本発明の好ましい態様は，ｉ（ｘ，ｙ）は，色を示すＲ，Ｇ又はＢのいずれかの値であるか，透明度を示すα（アルファ）値である，上記に記載のシステムである。【００５０】
本発明の好ましい態様は，第１のキャッシュのフロントキャッシュ及び第１のキャッシュのバックキャッシュのうちｓａｔ（Ｘ，Ｙｔ−１）を記憶したキャッシュを，Ｙｔ行目のｓａｔ演算処理からＩＢｌｕｒ（ｘ，ｙ）を求める処理までの間，ぼかし画像データを得る以外の処理のためのキャッシュとして利用する上記に記載のシステムである。 【００５１】
本発明の第２の側面は，係数決定部１１と，ぼかし画像取得部１２とを有するコンピュータグラフィックス用のぼかし画像データを得るためのシステムに関する。そして，ぼかし画像取得部１２は，先に説明したシステムと同様の動作を行う。【００５２】
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
座標（ｘ，ｙ）における入力画像データをｉ（ｘ，ｙ）とし，
座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉａを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとする。【００５３】
ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩ又は式ＩＩＩａで表される値とする。【００５４】
すると，ぼかし画像取得部１２は，
座標（Ｘ，Ｙ）における入力画像データｉ（Ｘ，Ｙ）を受け取るとともに，係数決定部１１からぼかし係数ｗ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段２０と，
入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉａで示されるｓａｔの値を求めるためのｓａｔ演算手段２１と，
ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュ２２，２３と，
キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段２４と，
Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値を用いて，ＩＢｌｕｒ（ｘ，ｙ）を用いるぼかし画像データ取得手段２５と，を有する。【００５５】
キャッシュは，第１のキャッシュ２２及び第２のキャッシュ２３を含み，
第１のキャッシュは，フロントキャッシュ２２ａ及びバックキャッシュ２２ｂを含み，
第２のキャッシュは，フロントキャッシュ２３ａ及びバックキャッシュ２３ｂを含む。【００５６】
ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
第１のキャッシュのフロントキャッシュは，
１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶する。【００５７】
ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
第１のキャッシュのバックキャッシュは，
２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶する。【００５８】
ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新する。【００５９】
以下同様の演算を繰り返し，（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，第１のキャッシュのフロントキャッシュ及び第１のキャッシュのバックキャッシュのいずれかが記憶する。【００６０】
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，第１のキャッシュのフロントキャッシュ及び第１のキャッシュのバックキャッシュのうち，ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶する。【００６１】
ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，キャッシュから読み出したｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
第２のキャッシュのフロントキャッシュは，
Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶する。【００６２】
ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，第２のキャッシュのフロントキャッシュから読み出したｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
第２のキャッシュのバックキャッシュは，
Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶する。【００６３】
ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，第２のキャッシュのバックキャッシュから読み出したｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
第２のキャッシュのフロントキャッシュは，
Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新する。【００６４】
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，第２のキャッシュのフロントキャッシュ及び第２のキャッシュのバックキャッシュのいずれかが記憶する。【００６５】
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，第２のキャッシュのフロントキャッシュ及び第２のキャッシュのバックキャッシュのうち，ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する      【００６６】
ｓａｔ（Ｘ，Ｙ）＝ｗ（Ｘ，Ｙ）×ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉａ
ただし，式Ｉａにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。【００６７】
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ【００６８】
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／Ｗ            ・・・・式ＩＩＩａ
【数５】
2011118224.tif 000008
【００６９】
この側面の好ましい態様は，係数決定部１１が，
入力画像データｉ（Ｘ，Ｙ）の奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）に関する情報が入力される入力手段と，
第１の閾値Ａ及び第２の閾値Ｂが入力される閾値入力手段と，
奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）と第１の閾値Ａ及び第２の閾値Ｂとを比較する比較演算手段と，
比較演算手段の比較結果に応じて，係数ｗ（Ｘ，Ｙ）を決定する係数決定手段とを有し，
係数決定手段は，奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が第１の閾値Ａ以上の場合は，ｗ（Ｘ，Ｙ）を０とし，
奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が第２の閾値Ｂ以下の場合は，ｗ（Ｘ，Ｙ）を１とし，
奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が第２の閾値Ｂより大きく第１の閾値Ａより小さい場合は，ｗ（Ｘ，Ｙ）を０から１の間の値とするように演算処理を行うものである。【００７０】
入力手段に入力画像データｉ（Ｘ，Ｙ）の奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）に関する情報が入力される。一方，閾値入力手段に第１の閾値Ａ及び第２の閾値Ｂが入力される。比較演算手段が，奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）と第１の閾値Ａ及び第２の閾値Ｂとを比較する。係数決定手段が，比較演算手段の比較結果に応じて，係数ｗ（Ｘ，Ｙ）を決定する。そして，係数決定手段は，奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が第１の閾値Ａ以上の場合は，ｗ（Ｘ，Ｙ）を０とする。係数決定手段は，奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が第２の閾値Ｂ以下の場合は，ｗ（Ｘ，Ｙ）を１とする。係数決定手段は，奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が第２の閾値Ｂより大きく第１の閾値Ａより小さい場合は，ｗ（Ｘ，Ｙ）を０から１の間の値とするように演算処理を行う。たとえば，Ａ−ｚ／Ａ−ＢかＡ−ｄ／Ａ−Ｂをｗ（Ｘ，Ｙ）としてもよいし，ｗ（Ｘ，Ｙ）の値をルックアップテーブルから読み出してもよい。【００７１】
この側面の好ましい態様は，係数決定部１１が，
入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と，
ぼかし画像処理の対象となる対象物に関する情報，対象物の識別番号及び入力画像データｉ（Ｘ，Ｙ）を用いて，ぼかし画像処理の対象となる対象物を把握し，このぼかし画像対象となる対象物に関するぼかし係数ｗ（Ｘ，Ｙ）を１とする係数決定手段とを有する，
システムである。【００７２】
対象物入力手段に，入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される。係数決定手段は，ぼかし画像処理の対象となる対象物に関する情報，対象物の識別番号及び入力画像データｉ（Ｘ，Ｙ）を用いて，ぼかし画像処理の対象となる対象物を把握し，このぼかし画像対象となる対象物に関するぼかし係数ｗ（Ｘ，Ｙ）を１とする。【００７３】
この側面の好ましい態様は，
係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と，
対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得るマスク領域取得手段と，
マスク領域取得手段が取得したマスク領域の新たな画像データを得るマスク領域の画像データ取得手段と，
マスク領域の係数ｗ（ｘ，ｙ）を１と決定する係数決定手段と，
を有し，
ぼかし画像取得部１２は，
係数決定部１１が決定したマスク領域に関して，
係数ｗ（ｘ，ｙ）＝１を受け取るとともに，新たな画像データを入力画像データとして受け取り，
対象物のマスクのぼかし画像を得る，
システムである。【００７４】
対象物入力手段には，入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される。マスク領域取得手段は，対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得る。このマスク領域は，グラフィック上の対象物の位置を示す領域である。画像データ取得手段は，マスク領域取得手段が取得したマスク領域の新たな画像データを得る。たとえば，対象物をぼんやりと光らせたい場合は，マスクの色情報として光の色情報をデータベース等から読み出せばよい。係数決定手段は，マスク領域の係数ｗ（ｘ，ｙ）を１と決定する。ぼかし画像取得部１２は，係数決定部１１が決定したマスク領域に関して，係数ｗ（ｘ，ｙ）＝１を受け取るとともに，新たな画像データを入力画像データとして受け取る。そして，対象物のマスクのぼかし画像を得る。こうすると，対象物の周辺までを含むぼかし画像を得ることができる。たとえば対象物をぼんやり光らせたい場合，対象物とその周辺を光らせるマスクを得ることができる。そして，このマスクと原画像とを合成すると，対象物がぼんやり光った画像を得ることができる。
【００７５】
本発明は，コンピュータを上記のシステムとして機能させるためのプログラムをも提供する。また，本発明は，そのようなプログラムを記憶したコンピュータにより読み取り可能な情報記録媒体をも提供する。  
【発明の効果】
【００７６】
本発明によれば，コンピュータグラフィックスにおいて，必要とされる記憶容量を軽減できる，ぼかした画像を取得するための装置及び方法を提供することができる。  
【図面の簡単な説明】
【００７７】
【図１】Ｓａｔ（ｘ，ｙ）を求めるための４点を示す概念図。
【図２】図２に，エリア総和テーブル（ＳＡＴ）を用いたぼかし画像の例を示す。図２（ａ）は，Ｗ＝１の画像（元の画像）を示す。図２（ｂ）は，Ｗ＝５のぼかし画像を示す。図２（ｃ）は，Ｗ＝１５のぼかし画像を示す。図２（ｄ）は，Ｗ＝３０のぼかし画像を示す。
【図３】図３は，ぼかし画像データを説明するための概念図である。
【図４】図４は，第２の実施態様に係るシステムのブロック図である。
【図５】図５は，本発明のぼかし画像生成システムを実装するための回路図である。
【図６】図６は，本発明のぼかし画像生成システムを実装するための回路図である。
【図７】図７は，本発明のぼかし画像技術を得るためのハードウェア構成を示すブロック図である。
【図８】図８は，ポストエフェクトコアを説明するためのブロック図である。
【図９】図９は，Ｐｔ，Ｐｘｙ，及びＰｂのピクセル位置を説明するための図である。
【図１０】図１０は，ぼかし演算処理を実現するためのハードウェア実装のブロック図である。
【図１１】図１１（ａ）は，あるシーンのうち，視点の近くにある対象のみを抽出した画像を示す。図１１（ｂ）は図１１（ａ）のマスクを用いたぼやかし画像を示す図である。図１１（ｃ）は，閾値Ａ及び閾値Ｂを用いたスムーズマスクを示す図である。
【図１２】図１２は，図１１（ｃ）のマスクを用いて，マスク対象をぼやかさず，画像を合成したものを示す図である。
【図１３】図１３は，実施例4におけるグローイング処理を施す前の原画像である。
【図１４】図１４は，灯篭オブジェクトのステンシル値を有する入力画像領域を集約したものを示す図である。
【図１５】図１５は，実施例４において得られた画像を示す。
【図１６】図１６はサムライの画像を得るためのものである。
【図１７】図１７は，ぼかされたマスクを示す図である。
【図１８】図１８は実施例５において得られた画像を示す図である
【発明を実施するための形態】
【００７８】
第１の実施態様
以下，本発明の第１の実施態様について説明する。
【００７９】
図３は，ぼかし画像データを説明するための概念図である。各升目は画素を表す。図中三角で示される部分が，ぼかし画像データを得るための画素である。図３中三角で示される部分が，図１における点（ｘ，ｙ）に相当する。また，図３中，白丸（オープンサークル）で示される点が，図１における座標（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ），及び（Ｘｌ，Ｙｂ）に相当する。すると，Ｓａｔ（ｘ，ｙ）は，式ＩＩＩのとおり求めることができる。
【００８０】
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
【００８１】
一方，座標（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ），及び（Ｘｌ，Ｙｂ）のｓａｔ（ｘ，ｙ）は，式Ｉのとおり求めることができる。式Ｉは，ある画像（ｘ，ｙ）のｓａｔを，その画像（ｘ，ｙ）の入力データ（ｉ（ｘ，ｙ）），及びその画素よりｘ座標が１つ小さい座標のｓａｔデータ（ｓａｔ（ｘ−１，ｙ）），その画素よりｙ座標が１つ小さい座標のｓａｔデータ（ｓａｔ（ｘ，ｙ−１））及びその画素よりｘ座標が１つ小さくｙ座標も１つ小さい座標のｓａｔデータ（ｓａｔ（ｘ−１，ｙ−１））を用いて求めることができることを示す。
【００８２】
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
【００８３】
すなわち、図３の座標（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ），及び（Ｘｌ，Ｙｂ）のｓａｔ（ｘ，ｙ）は，それぞれの座標の入力データ，左の座標のｓａｔ，上の座標のｓａｔ，及び上斜め左の座標のｓａｔを用いて求めることができる。それぞれの座標の左の座標，上の座標，及び上斜め左の座標は、図３において黒丸（クローズドサークル）で示した通りである。
【００８４】
そうであれば，ぼかし画像データを得るために，白丸及び黒丸の存在する４行のみのデータ（ｓａｔデータ及び入力データ）が存在すれば，Ｓａｔ（ｘ，ｙ）を求めることができる。
【００８５】
ここで，画像（ｘ，ｙ）が左よりの場合，（Ｘｒ，Ｙｔ）及び（Ｘｒ，Ｙｂ）が存在しない場合がある。このような場合は，ｓａｔ（Ｘｒ，Ｙｔ）及びｓａｔ（Ｘｒ，Ｙｂ）を０とすればよい。もちろん，画像（ｘ，ｙ）が左よりでかつ上よりの場合，（Ｘｌ，Ｙｔ）が存在しない場合もある。その場合は，ｓａｔ（Ｘｌ，Ｙｔ）も０とすればよい。
【００８６】
すなわち，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。なお，式Ｉでは，ｘ＝０及びｙ＝０が左上の点の座標である。よって，左上の座標がｘ＝１，Ｙ＝１の場合は，ｘ＝０又はｙ＝０の場合のｓａｔを０とすればよい。
【００８７】
なお，たとえば，ぼかし度を示す値Ｗがコンピュータに入力された場合，このぼかし度を用いてｗとｈの値が求められるようにしてもよい。すなわち，Ｗが大きいほど，広い領域においてぼかし画像処理を行うようにしてもよい。このＷと，ｗ及びｈの関係はたとえば，１次元のルックアップテーブルに記憶しておき，入力されたＷに基づいてｗ及びｈを求めてもよい。また，演算処理で必要なｗ×ｈの値も合わせてルックアップテーブルに格納しておき，演算の際にｗとｈとを乗算せずに乗算値をルックアップテーブルから読み出してもよい。
【００８８】
次に，図３の三角で示される点のぼかし画像データを得る工程を説明する。
【００８９】
この点は，色（Ｒ，Ｇ，Ｂ）及び透明度（α）といった値を有するものであるから，これらの値のぼかした値を得る。そして，画面の全体か又は少なくとも一定領域の点について，同様にぼかし画像データを得ることでぼかし画像を得ることができる。
【００９０】
まず，入力データｉ（ｘ，ｙ）（ｙ＝０）を用いて，１行目のｓａｔ（ｘ，ｙ）を求める。ここで，ｙ＝０である。ｘは，０〜右端の画素のｘ座標である。そして，求めた１行目のｓａｔ（ｘ，０）を，第１のキャッシュのフロントキャッシュに記憶する。
【００９１】
ｉ（ｘ，ｙ）は，たとえば，座標（ｘ，ｙ）における赤Ｒの値Ｒｉ（ｘ，ｙ）であってもよいし，緑Ｇｉ（ｘ，ｙ）であってもよいし，青Ｂｉ（ｘ，ｙ）であってもよいし，透明度αｉ（ｘ，ｙ）であってもよい。
【００９２】
次に，入力データｉ（ｘ，１）及び１行目のｓａｔ（ｘ，０）を用いて，２行目のｓａｔ（ｘ，１）を求める。そして，求めた２行目のｓａｔ（ｘ，１）を，第１のキャッシュのバックキャッシュに記憶する。
【００９３】
この動作は，たとえば，コンピュータが，ｓａｔ（１，１）を求める演算を行う場合，入力されたｉ（１，１）を記憶部に記憶する。そして，ｉ（１，１），ｓａｔ（０，１），ｓａｔ（１，０），及びｓａｔ（０，０）を記憶部から読みだす。そして，加算演算及び減算演算（符号逆転演算及び加算演算）を行って，ｓａｔ（１，１）＝ｉ（１，１）＋ｓａｔ（０，１）＋ｓａｔ（１，０）−ｓａｔ（０，０）を求める演算処理を行い記憶部に格納する。このようにすれば，ｓａｔ（１，１）を求めることができる。これ以外のｓａｔ（ｘ，１）値についても同様にして求めることができる。
【００９４】
この動作は，たとえば，コンピュータが，ｓａｔ（０，１）を求める演算を行う場合，入力されたｉ（０，１）を記憶部に記憶する。そして，ｉ（０，１），ｓａｔ（−１，１），ｓａｔ（０，０），及びｓａｔ（−１，０）を記憶部から読みだす。ｓａｔ（−１，１）及びｓａｔ（−１，０）が０であるから，この値を記憶しておいて，ｉ（０，１），ｓａｔ（−１，１），ｓａｔ（０，０），及びｓａｔ（−１，０）を加算又は減算して，ｓａｔ（０，１）を求めてもよい。
【００９５】
次に，入力データｉ（ｘ，２）及び２行目のｓａｔ（ｘ，１）を用いて，３行目のｓａｔ（ｘ，２）を求める。そして，求めた３行目のｓａｔ（ｘ，２）を，第１のキャッシュのフロントキャッシュに記憶する。この際，３行目のｓａｔ（ｘ，２）を１行目のｓａｔ（ｘ，０）に上書きするため，１行目のｓａｔ（ｘ，０）に関するデータは，第１のキャッシュのフロントキャッシュから消去される。
【００９６】
図３の例では，３行目のｓａｔ（ｘ，２）に，ｓａｔ（Ｘｒ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｔ）が存在する。よって，ｓａｔ（Ｘｒ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｔ）の値は，第１のキャッシュのフロントキャッシュから読み出せる。
【００９７】
次に，入力データｉ（ｘ，３）及び３行目のｓａｔ（ｘ，２）を用いて，４行目のｓａｔ（ｘ，３）を求める。求めたｓａｔ（ｘ，３）を第２のキャッシュのフロントキャッシュに記憶する。なお，この例では，ｓａｔ（ｘ，１）を今後使用しない。このため，第１のキャッシュのバックキャッシュを消去し，次の行のぼかし画像を求めるまでの間，他の作業のメモリ空間として利用してもよい。
【００９８】
同様の処理を繰り返し，ｙ座標が（Ｙｂ−１）の行までｓａｔを求めたとする。そして，このｓａｔ（ｘ，Ｙｂ−１）の値が，第２のキャッシュのフロントキャッシュに記憶されたとする。場合によっては，ｓａｔ（ｘ，Ｙｂ−１）の値が，第２のキャッシュのバックキャッシュに記憶される。以下では，ｓａｔ（ｘ，Ｙｂ−１）の値が，第２のキャッシュのフロントキャッシュに記憶されたとして，動作説明を続ける。
【００９９】
なお同様の処理とは，ｓａｔ演算手段が，ｍ行目の入力画像データｉ（Ｘ，ｍ−１）と，第１のキャッシュのバックキャッシュが記憶した（ｍ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，ｍ−２）を用いて，ｍ行目のｓａｔ値であるｓａｔ（Ｘ，ｍ−１）を求める。そして，いずれかのキャッシュは，ｍ行目のｓａｔ演算結果であるｓａｔ（Ｘ，ｍ−１）を用いて記憶情報を更新する。この作業をｍがＹｔ−２となるまで繰り返す。
【０１００】
次に，入力データｉ（ｘ，Ｙｂ）及びｓａｔ（ｘ，Ｙｂ−１）を用いて，（Ｘｒ，Ｙｂ）及び（Ｘｌ，Ｙｂ）の属する行目のｓａｔ（ｘ，Ｙｂ）を，ｓａｔ（ｘ，Ｙｂ）まで求める。ここで，Ｓａｔ（ｘ，ｙ）を求めるために，（ｘ，Ｙｂ＋１）以降のｓａｔ（ｘ，Ｙｂ）を求める必要はない。もっとも，（ｘ，Ｙｂ＋１）以降のｓａｔ（ｘ，Ｙｂ）を求めておいて，後の演算に用いてもよい。そして，求めたｓａｔ（ｘ，Ｙｂ）を，第２のキャッシュのバックキャッシュに記憶する。この際，ｓａｔ（ｘ，Ｙｂ）を上書きするため，ｓａｔ（ｘ，Ｙｂ−２）に関するデータが，第２のキャッシュのバックキャッシュから消去される。
【０１０１】
先に説明した通り，ｓａｔ（Ｘｒ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｔ）の値は，第１のキャッシュのフロントキャッシュから読み出せる。ｓａｔ（Ｘｒ，Ｙｂ）及びｓａｔ（Ｘｌ，Ｙｂ）は，第２のキャッシュのバックキャッシュから読み出せる。
【０１０２】
そこで，本発明のぼかし画像生成システムは，これらのキャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｌ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ）及びｓａｔ（Ｘｌ，Ｙｂ）を読み出す。そして，たとえば，符号変換器及び加算器を用いて，式ＩＩに従ってＳａｔ（ｘ，ｙ）を求める演算処理を行う。なお，この演算は，制御プログラムの指令を受けた制御部が，キャッシュからｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｌ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ）及びｓａｔ（Ｘｌ，Ｙｂ）を読み出して，演算部にｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）を求めさせるようにすることで行ってもよい。以下同様である。
【０１０３】
さらに，ｗ及びｈの値は，あらかじめ記憶部に記憶されているので，式ＩＩＩに従って，座標（ｘ，ｙ）におけるぼかし画像データを求めることができる。
【０１０４】
ぼかし画像データの例は，たとえば，色を示すＲ，Ｇ，及びＢのそれぞれのデータと，透明度を示すα（アルファ）のデータである。
【０１０５】
次に，図３の三角で示される点（ｘ，ｙ）の横の点（ｘ，ｙ＋１）のぼかし画像データを求めることを考える。
【０１０６】
この場合，ｓａｔ（Ｘｒ＋１，Ｙｔ），ｓａｔ（Ｘｌ＋１，Ｙｔ），ｓａｔ（Ｘｒ＋１，Ｙｂ）及びｓａｔ（Ｘｌ＋１，Ｙｂ）の値，ｗ及びｈの値を用いれば，点（ｘ，ｙ＋１）のぼかし画像データが得られることになる。ｓａｔ（Ｘｒ＋１，Ｙｔ），ｓａｔ（Ｘｌ＋１，Ｙｔ）及びｓａｔ（Ｘｒ＋１，Ｙｂ）は，既に求められているため，適宜キャッシュからよみだせばよい。ｓａｔ（Ｘｌ＋１，Ｙｂ）の値も既に求められてキャッシュに記憶されている場合は，ｓａｔ（Ｘｌ＋１，Ｙｂ）の値を読み出せばよい。一方ｓａｔ（Ｘｌ＋１，Ｙｂ）の値が求められていない場合，式２に従って，ｉ（Ｘｌ＋１，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｂ），ｓａｔ（Ｘｌ＋１，Ｙｂ−１）及びｓａｔ（Ｘｌ，Ｙｂ−１）を用いて，ｓａｔ（Ｘｌ＋１，Ｙｂ）の値を求め，第２のキャッシュのバックキャッシュに記憶すればよい。
【０１０７】
次に，図３の三角で示される点（ｘ，ｙ）の次の行のぼかし画像データを求めることを考える。
【０１０８】
図３に示す例では，まず，４行目のｓａｔ（ｘ，３）を求める。ｓａｔ（ｘ，３）は，入力データｉ（ｘ，３）及び３行目のｓａｔ（ｘ，２）を用いて求めることができる。すなわち，３行目のｓａｔ（ｘ，２）は，第１のキャッシュのフロントキャッシュに記憶されている。そして，本発明のぼかし画像生成システムは，入力されたｉ（ｘ，３）及びキャッシュから読み出したｓａｔ（ｘ，２）を用いて，４行目のｓａｔ（ｘ，３）を求める。そして，求めた４行目のｓａｔ（ｘ，３）を第１のキャッシュのバックキャッシュに記憶する。
【０１０９】
（Ｘｒ，Ｙｂ＋１）及び（Ｘｌ，Ｙｂ＋１）の属する行目のｓａｔ（ｘ，Ｙｂ＋１）も先に説明したと同様にして求めることができる。すると，点（ｘ，ｙ）の次の行のぼかし画像データも先に説明したと同様にして求めることができることがわかる。
【０１１０】
第２の実施態様
本発明の第２の実施態様について説明する。第２の実施態様は，マスク技術を更に用いたものである。第２の実施態様では，たとえば，注目（フォーカス）対象となっていない対象のぼかし画像を得ることができる。たとえば，後述するぼかし係数が０のものは，ぼかし画像処理に参加しない点である。このぼかし係数は，たとえば画像のアルファチャネルなどの記憶領域に格納できる。以下の説明では，ぼかし係数をｗ（ｘ，ｙ）と表現する。
【０１１１】
図４は，第２の実施態様に係るシステムのブロック図である。図４に示されるように，このシステムは，係数決定部１１と，ぼかし画像取得部１２とを有する。このシステムは，通常の描画装置における各種構成を適宜採用できる。ぼかし画像取得部１２は，入力画像データ入力手段２０と，ｓａｔ演算手段２１と，キャッシュ２２，２３と，Ｓａｔ演算手段２４と，ぼかし画像データ取得手段２５と，を有する。そして，キャッシュは，第１のキャッシュ２２及び第２のキャッシュ２３を含み，第１のキャッシュ２２は，フロントキャッシュ２２ａ及びバックキャッシュ２２ｂを含み，第２のキャッシュ２３は，フロントキャッシュ２３ａ及びバックキャッシュ２３ｂを含む。図４中符号２７は出力手段を示す。図４に示されるものはあくまで必要な要素を示すものであり，このシステムは，通常のコンピュータグラフィック装置に用いられる要素を適宜採用できる。そして，各手段は，回路，チップ又はコアといったハードウェアにより実装されてもよいし，ハードウェアとソフトウェアとの協働により実装されてもよい。
【０１１２】
係数決定部は，以下の式Ｉａにおけるｗ（ｘ，ｙ）を決定するための要素である。ぼかし画像取得部は，先に説明した第１の実施態様に係る要素を適宜用いることができる。
【０１１３】
たとえば，グラフィックス全体をぼかす場合は，すべての（ｘ，ｙ）についてｗを１とすればよい。また，ｗの値を小さくすることで，入力されたもとものと画像データの影響を小さくすることができる。
【０１１４】
ぼかし係数ｗを用いれば，式Ｉを式Ｉａのように表現できる。
【０１１５】
ｓａｔ（Ｘ，Ｙ）＝ｗ（Ｘ，Ｙ）×ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）−ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉａ
ただし，式Ｉａにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
【０１１６】
この場合も，式ＩＩは変わらない。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
【０１１７】
この実施態様２においては，ぼかし画像値であるＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩ又は式ＩＩＩａのように表現する。式ＩＩＩとするか，式ＩＩＩａとするかは，適宜システムに入力される情報により選択可能とされていればよい。
【０１１８】
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／Ｗ            ・・・・式ＩＩＩａ
【０１１９】
【数６】
2011118224.tif 000009
【０１２０】
すなわち，式ＩＩＩａでは，式ＩＩＩにおけるｗ×ｈを，幅ｗ及び高さｈの四角領域に含まれる全ての値の和に置き換えた。すなわち，Ｗは，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）の４点を頂点とする四角内に含まれるｗ（ｘ，ｙ）の値の和である。ぼかし係数ｗが全ての点で１の場合は，Ｗはｗ×ｈと同じ値をとるため，式ＩＩＩａは式ＩＩＩと同じになる。
【０１２１】
Ｗを求めるためには，上記の四角内に含まれるｗ（ｘ，ｙ）の値を加算すればよい。たとえば，ぼかしの重みが５の場合，ある点からｘ座標が−５〜＋５，ｙ座標が＋５〜−５の領域についてのｗの和を求めればよい。
【０１２２】
もしある点がぼかし画像処理に参加しない点であれば，ｗは０となるため，その点はｓａｔ演算に参加しないこととなる。
【０１２３】
なお，ｗが０の場合，ｗ（ｘ，ｙ）×ｉ（ｘ，ｙ）も０となる。すると，式ＩＩＩａの値が０／０となるが，この場合はその値を０とすればよい。
【０１２４】
第３の実施態様
次に第３の実施態様について説明する。この実施態様は，奥行き値ｚ又は画素の深さに応じてぼかし処理を変化させるものである。すなわち，図４における係数決定部１１に各画素の奥行き値ｚ又は深さｄに関する値が入力される。そして，このシステムは，メモリに閾値Ａ及び閾値Ｂのいずれか又は両方を記憶している。係数決定部１１は，メモリから閾値Ａ及び閾値Ｂの値のいずれか又は両方を読み出して，奥行き値ｚ又は深さｄと比較する。そのうえで，たとえば，ルックアップテーブルからｗの値を読み出して，ｗ（ｘ，ｙ）としてもよい。また，ｗ（ｘ，ｙ）が０から１の場合は，その値をもとめる演算処理を行ってもよい。
【０１２５】
ある距離の閾値Ａが与えられたとする。するとこの閾値を超える深さの値を有するものは注目から外れものであり，完全にぼやかし処理の対象となる。ある距離の閾値Ｂが与えられたとする。するとこの閾値より近いものは完全に注目される対象となる。この２つの閾値の間の物体については，注目から注目しないものへの遷移が起こるといえ，すなわち全くぼかさないものから完全にぼかすものへの遷移が起こるといえる。
【０１２６】
通常のコンピュータグラフィックスでは，物体はカラーバッファ（色画像）と深さバッファ（カメラからの深さ情報を有する）を含むフレームバッファにレンダリングされる。カメラからの可視領域は，前のクリッピング面（ｆｒｏｎｔ  ｃｌｉｐｐｉｎｇ  ｆａｃｅ）及び遠いクリッピング面（ｆａｒ  ｃｌｉｐｐｉｎｇ  ｆａｃｅ）により定義される。先に説明したとおり，この例では閾値Ａ及びＢという２つの閾値を用いた。この２つの閾値が，前のクリッピング面および遠いクリッピング面に相当する。
【０１２７】
これを実現するためには，１次元のルックアップテーブルを用いて実現できる。このルックアップテーブルは，深さの値がＡより大きい場合は，ｗを１とする。深さの値がＢより小さい場合は，ｗを０とする。深さの値がＢ以上Ａ以下の（Ｂより大きくＡより小さい）場合はたとえば，ｗは０より大きく１より小さい値とすればよい。閾値Ａ及びＢをメモリに記憶する。そしてメモリに記憶したＡ又はＢの値を読み出して，前のモジュールから入力された深さの値と，Ａ及びＢを比較する。そして，深さの値がＡより大きい場合は，ｗを１とする。深さの値がＢより小さい場合は，ｗを０とする。深さの値がＢ以上Ａ以下の（Ｂより大きくＡより小さい）場合はたとえば，ｗは０より大きく１より小さい値で連続的に変化するものとすればよい。たとえば，閾値Ｂから閾値Ａまでの加重平均値を０から１までの数値に割り当てればよい。
【０１２８】
深さが閾値Ｂから閾値Ａの中間をとる場合は，ぼかし係数ｗとして０から１までの中間の値をとるものとすればよい。このぼかし係数ｗの集合であるマスク値は，プレプロセッシングモジュールにて求めてもよい。
【０１２９】
ｗの値が求まった後の処理は，第２の実施態様と同様である。
【０１３０】
第４の実施態様
第４の実施態様は，グローイング処理をもたらすものである。すなわち，あるグラフィック中に含まれる対象物を特定して，ぼかし画像を取得するものである。
【０１３１】
この態様では，たとえば係数決定部１１にコンピュータグラフィックに含まれる対象物の識別番号が入力される。これがステンシル値である。そして，ステンシルバッファから入力された対象物の識別番号に応じて，ぼかし処理を施すか否かを決定する。すなわち，係数決定部１１には，ぼかし処理対象物に関する情報が入力される。そして，その対象物の識別番号を用いて，ぼかし対象となるものかぼかし対象とならないものか決定する。たとえば，ぼかし対象とならないものを示すｉ（ｘ，ｙ）については，ｗを０とする。または，ぼかし対象とならないものについては，ぼかし画像取得部１２を素通りさせて，次のモジュールへデータが送られるようにしてもよい。
【０１３２】
一方，この実施態様では，ぼかし対象となるものに関する情報が係数決定部１１に入力されてもよい。その場合，係数決定部１１は，その対象物の識別番号を用いて，ぼかし対象となるものかぼかし対象とならないものか決定する。たとえば，ぼかし対象となるものを示すｉ（ｘ，ｙ）については，ｗを１とする。このようにして特定の対象のみをぼかすことができる。
【０１３３】
この場合は，ｗ（ｘ，ｙ）＝１の部分が完全にぼかし対象となる部分である。この部分をマスクとして扱うことができる。一方，ぼかし対象となるもの以外の部分については，たとえば，第１の実施態様から第３の実施態様のシステム構成を適宜利用してぼかし画像を取得できる。
【０１３４】
第５の実施態様は，シルエットを得る画像処理を行うことができるシステムに関する。
【０１３５】
第４の実施態様に関するグローイングオブジェクトの描画方法を用いることで，あるオブジェクトのシルエットを簡単に得ることができる。オブジェクトの識別番号を入手できれば，マスクデータを得ることができる。そして，第５の態様では，そのマスク自体をぼかす。ぼかした領域は，もともとの対象よりもぼかし処理のため少し大きくなる。このためぼかし処理を施した領域には，もとのオブジェクトの識別番号と異なる識別番号を有することとなるものが含まれる。
【０１３６】
いったん，シルエットマスクを生成した後，マスクをぼかし処理を施し，色値とぼかしたマスクとを調整する。これによれば，たとえば，ゲームにおいて主人公や武器の周辺を光らせるといった画像処理を容易に行うことができることとなる。
【０１３７】
係数決定部１１にコンピュータグラフィックに含まれる対象物の識別番号が入力される。そして，画像データが入力された場合に，この対象物の識別番号を用いて，対象物を示す画像データを特定する。その特定した画像データの（ｘ，ｙ）の集合がマスクである。そして，そのマスクの色，透明度，輝度等の設定値を適宜読み出す。そのうえで，新たな対象物のマスク画像データを，ぼかし画像取得部１２へと出力する。すると，ぼかし画像取得部１２は，マスク画像データのぼかし画像を取得し，次のモジュールへと出力する。次のモジュールでは，画像合成処理を行う。この際，ぼかし画像処理により，対象物の周辺についても画像データが得られることとなるので，その部分については原画像の色データと，ぼかし画像処理が施されたマスクデータの色データとを足し合わせる等の画像処理を行う。これにより，このシステムはシルエット処理を施した画像を得ることができることとなる。
【実施例１】
【０１３８】
実施例１は，第１の実施態様に基づく画像生成システムの例に関する。【０１３９】
図５及び図６は，本発明のぼかし画像生成システムを実装するための回路図である。なお，この回路をソフトウェアでも実装できる。【０１４０】
図５中，ＲＢＸは，ｘ軸方向のぼかしサイズ（（ｗ−１）／２）である。ＲＢＹは，ｙ軸方向のぼかしサイズ（（ｈ−１）／２）である。ＲＴＸは，入力画像の幅（Ｗ又はＷ−１）である。ＲＴＹは，入力画像の高さ（Ｈ又はＨ−１）である。ＲＴＢＸは，ＲＴＸとＲＴＹとの和である。【０１４１】
図５及び図６に示される本発明のぼかし画像生成システムにより，ぼかし画像を得るための動作について説明する。【０１４２】
図５の回路は，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）の座標を求める。また図５の回路は，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ），及びｓａｔ（Ｘｌ，Ｙｂ）の座標を求める。つまり，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）のいずれかが，もともとの画像にない仮想的な座標である場合は，その座標のｓａｔの値を０としたり，他の座標のｓａｔにより求めることができる。【０１４３】
たとえば，Ｘｌを求める場合，座標（ｘ，ｙ）のｘに，ｘ軸方向のぼかし幅ＲＢＸ（図３の場合では２：（（５−１）／２））を加えることで求めることができる。【０１４４】
そして，求めた値をクリッピング回路でクリッピングする。すなわち，クリッピング回路は，加算値とＲＴＸとを比較して，加算値が０以上ＲＴＸ以下の場合は，加算値をそのままＸＰとして出力する。また，クリッピング回路は，加算値がＲＴＸ以上の場合は，ＲＴＸをＸＰとして出力する。クリッピング回路は，加算値が０以下の場合は，０をＸＰとして出力する。【０１４５】
また，上記とは別のクリッピング回路は，加算値とＲＴＢＸとを比較して，加算値が０以上ＲＴＢＸ以下の場合は，加算値をそのままＸＡＰとして出力する。また，クリッピング回路は，加算値がＲＴＢＸ以上の場合は，ＲＴＢＸをＸＡＰとして出力する。クリッピング回路は，加算値が０以下の場合は，０をＸＡＰとして出力する。【０１４６】
同様にして，図５に示す回路は，ＸＰ，ＸＡＰ，ＸＭ，ＸＡＭ，ＹＭ及びＹＰを出力する。【０１４７】
次に，図６に示す回路によりぼかし画像が得られる。図中，ｆｌａｇはフラグを意味し，キャッシュを指定する。図中ＬＬは下の左，ＬＲは下の右，ＵＬは上の左，ＵＲは上の右を示す。【０１４８】
たとえば，図３の４つの白丸のうち，下の左の点（白丸ＬＬ）におけるｓａｔを求めることを考える。この場合の，白丸ＬＬのｘ座標は，ＸＰである。すると，白丸ＬＬにおけるｓａｔは，白丸ＬＬにおける入力値（ＴＧＢＡ），白丸ＬＬの左の座標のｓａｔ，上の座標のｓａｔ，及び斜め左上のｓａｔを用いて求めることができる。白丸ＬＬの左の点及び斜め左上の点の座標は，ＸＰ−１である。これら３点のｓａｔの値は，キャッシュに記憶されている。よって，フラグによりバックキャッシュ又はフロントキャッシュを指定して，ＸＰ及ＸＰ−１の値を用いて，キャッシュ上の番地を指定することで，計算に必要なｓａｔの値を読み出すことができる。【０１４９】
値ｉ及びｓａｔの加減算は，式２に従って行えばよく，図５に示される加算器及び減算器を用いて実現できる。なお，減算器は，符号変換回路と加算器とを用いて実現してもよい。【０１５０】
また，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ），及びｓａｔ（Ｘｌ，Ｙｂ）を用いてＳａｔ（ｘ，ｙ）を求めることも，式３に従って行えばよく，図５に示される加算器及び減算器を用いて実現できる。【０１５１】
さらに，ｗ及びｈの乗算値ｗ×ｈは，図６に示されるように，乗算器を用いて求められる。そして，インバース回路（１／ｘ）で，１／ｗ×ｈを求める。そして，乗算器でＳａｔ（ｘ，ｙ）と１／ｗ×ｈとを乗算することで，Ｓａｔ（ｘ，ｙ）／ｗ×ｈを求めることができる。Ｒ，Ｇ，Ｂ及びαについてのＳａｔ（ｘ，ｙ）／ｗ×ｈの値が，点（ｘ，ｙ）におけるぼかし画像として出力される。
【実施例２】
【０１５２】
第２の実施態様
本発明の第２の実施態様に基づく実施例２について説明する。第２の実施態様は，マスク技術を更に用いたものである。第２の実施態様では，たとえば，注目対象となっていない点のぼかし画像を得ることができる。たとえば，後述するぼかし係数が０のものは，ぼかし画像処理に参加しない点である。このぼかし係数は，たとえば画像のアルファチャネルなどの記憶領域に格納できる。以下の説明では，ぼかし係数をｗ（ｘ，ｙ）と表現する。【０１５３】
図７は，本発明のぼかし画像技術を得るためのハードウェア構成を示すブロック図である。ぼかし画像処理を行うモジュールは，ＰｏｓｔＥｆｆｅｃｔ（ポストエフェクト）コアに搭載されている。【０１５４】
図７において，スレイブＩ／Ｆは，コマンド等やデータの送受信を行うためのインターフェイスモジュールである。このインターフェイスは，他のシステムの構成要素と情報の授受を行う。マスターバス調停回路（Ａｒｂｉｔｅｒ）は，外部メモリへとアクセスすることと，記憶部において書き込み及び読み出しのコンフリクトが起こらないように調整するための回路である。外部メモリの例は，色バッファや深さバッファである。ブロック／線変換回路は，メモリデータの記憶フォーマットを変換するためのモジュールである。画面制御回路は，モニタに出力される画像情報を制御するためのモジュールである。ポストエフェクトコアは，画像処理を行うとともに，ぼかし画像処理モジュールを含むモジュールである。【０１５５】
図８は，ポストエフェクトコアを説明するためのブロック図である。スレイブＩ／Ｆモジュールは，たとえば図７のスレイブＩ／Ｆを含む他のモジュールからのコマンドを受け取る。そして，スキャンラインアルゴリズムに従って，Ｘ，Ｙ座標を生成する。たとえば，入力画像の各ラインを順に処理し，それぞれのライン状の各点を順次生成する。【０１５６】
その都度，Ｐｔ，Ｐｘｙ，及びＰｂを生成する。ここでｔは，トップを意味し，ｘｙは現在地の座標を意味し，ｂは底を意味する。図９は，Ｐｔ，Ｐｘｙ，及びＰｂのピクセル位置を説明するための図である。Ｐｔ，Ｐｘｙ，及びＰｂは図９に示される通りである。さらに，更なるテクスチャのアクセスをようする場合は付加的な座標Ｔｘｙを生成してもよい。【０１５７】
次のモジュールは，色，深さ，ステンシル読み出し回路である。このモジュールは，上記のＰｔ，Ｐｘｙ，及びＰｂを利用した処理を行う。このモジュールは，マスターバス調停回路と協働して，様々なメモリにアクセスする。そして，典型的にはＲＧＢ及びアルファ（Ａ）の値，ステンシル及び深さの値を読み出す。読みだした値をぼかしモジュールへと伝える。【０１５８】
ぼかし演算モジュールから出力されたぼかし処理の結果はポストプロセッシングモジュールの入力として用いられる。このモジュールは様々な演算処理を施す。その例は，ブレンディング，アルファ，深さまたはステンシルテスト，色を輝度に変換する処理である。演算処理後，出力される色情報は，書き出しメモリに格納される。このメモリは，マスターバス調停回路を用いて，得られた色情報をメモリに格納する。【０１５９】
図１０は，ぼかし演算処理を実現するためのハードウェア実装のブロック図である。このモジュールは，Ｐｘｙ及びＴｘｙを処理せず，単に次のモジュールであるポストプロセッシング回路へと渡す。【０１６０】
先に説明した４つのローカルメモリーは，図１０のＳＲＡＭ０ｔ，ＳＲＡＭ１ｔ，ＳＲＡＭ０ｂ，及びＳＲＡＭ１ｂ（これらをまとめてＳＲＡＭとも表記する）に相当する。ＳＲＡＭ０ｔ，及びＳＲＡＭ１ｔは，トップに関連する演算に関連し，ＳＲＡＭ０ｂ，及びＳＲＡＭ１ｂはボトム（底）に関する等式と関連したものである。【０１６１】
式Ｉの計算に必要な情報が，これらのＳＲＡＭから読みだされ，入力値ｉ（ｘ，ｙ）は前のモジュールからの入力として得られる。ｓａｔ（Ｘｒ，Ｙｔ）及びｓａｔ（Ｘｒ，Ｙｂ）は，２つの合算モジュールの出力として得られ，ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）は，ＳＲＡＭから読みだすことで得ることができる。これらの値は，次に合算モジュール及び割り算モジュールにて，式ＩＩ及び式ＩＩＩの演算が行われる。その演算結果であるＢｘｙを次のモジュールへ伝える。【０１６２】
次に，本発明の第２の実施態様に基づく演算処理について説明する。この演算処理では，すでにＰｔ及びＰｂが以下の演算処理前に求められている。式Ｉａを再掲すると以下のとおりとなる。【０１６３】
ｓａｔ（ｘ，ｙ）＝ｗ（ｘ，ｙ）×ｉ（ｘ，ｙ）＋ｓａｔ（ｘ−１，ｙ）−ｓａｔ（ｘ，ｙ−１）−ｓａｔ（ｘ−１，ｙ−１）・・・・式Ｉａ【０１６４】
ｗ（ｘ，ｙ）の値は，たとえば，トップ及びボトム入力の２度計算される。ｗ（ｘ，ｙ）は，深さ，アルファ，ステンシルテスト，色から輝度への変換，適切なスイッチ選択を用いたテスクチャ入力などに基づいて求めればよい。ｉ（ｘ，ｙ）の典型的な初期値はＲＧＢＡの入力値である。モジュールによる演算の後は，Ｒ’Ｇ’Ｂ’Ｗが出力される。ここで，Ｒ’Ｇ’及びＢ’は，入力ＲＧＢ値の修正された値であり，Ｗは重み値である。求められたものは，合算モジュールにて使用される。合算モジュール及び除算モジュールでは，重み値は，以下の式と等しいものとして求められる。【０１６５】
【数７】
2011118224.tif 000010
【０１６６】
Ｗは，ｓａｔ演算の結果得られる値であり，合算モジュールの出力である。また，Ｗは，ＳＲＡＭの読み出し結果であってもよい。
【実施例３】
【０１６７】
深さに基づきぼかし係数を変化させる態様
この実施例は，第３の実施態様に基づくものである。この実施例３では，奥行き値ｚまたはカメラからの距離（深さ）ｄに基づいて，ぼかし処理を変化させるものである。フィールド効果の深さは，以下のようにして求めることができる。かなり深いフィールドの場合は，たとえば，以下のようにしてかなり深いフィールドを定義する。カメラを用いてシーンが得られたとする。ある距離の閾値Ａが与えられたとする。するとこの閾値を超える深さの値を有するものは注目から外れものであり，完全にぼやかし処理の対象となる。ある距離の閾値Ｂが与えられたとする。するとこの閾値より近いものは完全に注目される対象となる。この２つの閾値の間の物体については，注目から注目しないものへの遷移が起こるといえ，すなわち全くぼかさないものから完全にぼかすものへの遷移が起こるといえる。【０１６８】
通常のコンピュータグラフィックスでは，物体はカラーバッファ（色画像）と深さバッファ（カメラからの深さ情報を有する）を含むフレームバッファにレンダリングされる。カメラからの可視領域は，前のクリッピング面（ｆｒｏｎｔ  ｃｌｉｐｐｉｎｇ  ｆａｃｅ）及び遠いクリッピング面（ｆａｒ  ｃｌｉｐｐｉｎｇ  ｆａｃｅ）により定義される。先に説明したとおり，この例では閾値Ａ及びＢという２つの閾値を用いた。この２つの閾値が，前のクリッピング面および遠いクリッピング面に相当する。【０１６９】
これを実現するためには，１次元のルックアップテーブルを用いて実現できる。このルックアップテーブルは，深さの値がＡより大きい場合は，ｗを１とする。深さの値がＢより小さい場合は，ｗを０とする。深さの値がＢ以上Ａ以下の（Ｂより大きくＡより小さい）場合はたとえば，ｗは０より大きく１より小さい値とすればよい。閾値Ａ及びＢをメモリに記憶する。そしてメモリに記憶したＡ又はＢの値を読み出して，前のモジュールから入力された深さの値と，Ａ及びＢを比較する。そして，深さの値がＡより大きい場合は，ｗを１とする。深さの値がＢより小さい場合は，ｗを０とする。深さの値がＢ以上Ａ以下の（Ｂより大きくＡより小さい）場合はたとえば，ｗは０より大きく１より小さい値で連続的に変化するものとすればよい。たとえば，閾値Ｂから閾値Ａまでの加重平均値を０から１までの数値に割り当てればよい。【０１７０】
深さが閾値Ｂから閾値Ａの中間をとる場合は，ぼかし係数ｗとして０から１までの中間の値をとるものとすればよい。このぼかし係数ｗの集合であるマスク値は，プレプロセッシングモジュールにて求めてもよい。【０１７１】
図１１（ａ）は，あるシーンのうち，視点の近くにある対象のみを抽出した画像を示す。この黒色部分がブール関数マスクである。この画像は，それぞれの画素データの深さの値を読み出す一方，閾値を読み出し，これらを比較すればよい。そして，その深さの値が所定の値以下のもののみ抽出すればよい。そして，深さの値が所定の値以下のもののみの集合が，図１１（ａ）に示されるブール関数マスクとなる。【０１７２】
図１１（ｂ）は図１１（ａ）のマスクを用いたぼやかし画像を示す図である。図１１（ｃ）は，閾値Ａ及び閾値Ｂを用いたスムーズマスクを示す図である。【０１７３】
図１２は，図１１（ｃ）のマスクを用いて，マスク対象をぼやかさず，画像を合成したものを示す図である。
【実施例４】
【０１７４】
グローイング
以下の例では，コンピュータグラフィックの描画対象は，色像を記憶するカラーバッファと，物体の識別番号と関連したステンシル値を記憶するステンシルバッファとを含むフレームバッファにレンダリングされるとする。【０１７５】
図１３は，実施例4におけるグローイング処理を施す前の原画像である。図１３の例では，３つの灯篭がグローイングオブジェクトとして含まれている。この実施例においては，３つの灯篭の回りにグローイング効果をもたらすものである。【０１７６】
この方法の最初のステップは，マスクを定義することである。灯篭オブジェクトのステンシル値を有するものについては，ｗの値を１とする。この例では，第１の実施態様のぼかし技術と，第２の実施態様のぼかし技術とを併用することで，灯篭のみをぼかすことができる。【０１７７】
図１４は，灯篭オブジェクトのステンシル値を有する入力画像領域を集約したものを示す図である。この灯篭オブジェクト画像にぼかし処理を施し，原画像とブレンディングしたものが図１５である。図１５は，実施例４において得られた画像を示す。
【実施例５】
【０１７８】
シルエット
上記のグローイングオブジェクトの描画方法を用いることで，あるオブジェクトのシルエットを簡単に得ることができる。オブジェクトの識別番号を入手できれば，マスクデータを得ることができる。オブジェクトのマスクデータとして光に関する画像データを用いる。そして，この態様では，そのマスク自体をぼかす。ぼかした領域は，もともとの対象よりもぼかし処理のため少し大きくなる。このためぼかし処理を施した領域には，もとのオブジェクトの識別番号と異なる識別番号を有することとなるものが含まれる。ポストプロセッシングにおいては，たとえば，異なるオブジェクト識別番号を有するフラグメントのみをメモリに出力するようにすればよい。図１６はその結果を示す。図１６はサムライの画像を得るためのものである。図１６に示されるように，サムライの輪郭であるシルエットのみを得ることができている。この出力値は，まさにオブジェクトの識別番号テストに基づくブーリアン関数値（Ｂｏｏｌｅａｎ  ｖａｌｕｅ）である。【０１７９】
いったん，シルエットマスクを生成した後，マスクをぼかし処理を施す。図１７は，ぼかされたマスクを示す図である。その後，マスクと原画像を調整する。図１８は実施例５において得られた画像を示す図である。
【産業上の利用可能性】
【０１８０】
本発明は，ぼかし画像を得るためのシステムである。よって，コンピュータグラフィックスの分野において利用されうる。
【図１】
2011118224.tif 000012
【図２】
2011118224.tif 000013
【図３】
2011118224.tif 000014
【図４】
2011118224.tif 000015
【図５】
2011118224.tif 000016
【図６】
2011118224.tif 000017
【図７】
2011118224.tif 000018
【図８】
2011118224.tif 000019
【図９】
2011118224.tif 000020
【図１０】
2011118224.tif 000021
【図１１】
2011118224.tif 000022
【図１２】
2011118224.tif 000023
【図１３】
2011118224.tif 000024
【図１４】
2011118224.tif 000025
【図１５】
2011118224.tif 000026
【図１６】
2011118224.tif 000027
【図１７】
2011118224.tif 000028
【図１８】
2011118224.tif 000029
【手続補正書】
【提出日】平成24年8月17日(2012.8.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
このシステムは，Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値，ｗ及びｈを用いて，ＩＢｌｕｒ（ｘ，ｙ）を求めるぼかし画像データ取得手段を有する。ＩＢｌｕｒ（ｘ，ｙ）は，式ＩＩＩで求められる。よって，Ｓａｔ（ｘ，ｙ），ｗ及びｈを読み出して，乗算器及び１／ｘ回路を用いることで，ＩＢｌｕｒ（ｘ，ｙ）の値を求めることができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
たとえば，グラフィックス全体をぼかす場合は，すべての（ｘ，ｙ）についてｗを１とすればよい。また，ｗの値を小さくすることで，入力されたもとの画像データの影響を小さくすることができる。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）における入力画像データをｉ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとし，
前記ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩで表される値としたときに，
座標（Ｘ，Ｙ）における入力画像データｉ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段（２０）と，
前記入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉで示されるｓａｔの値を求めるためのｓａｔ演算手段（２１）と，
前記ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュ（２２，２３）と，
前記キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段（２４）と，
前記Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値，前記ｗ及び前記ｈを用いて，ＩＢｌｕｒ（ｘ，ｙ）を求めるぼかし画像データ取得手段（２５）と，
を有する，
コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
前記キャッシュは，第１のキャッシュ（２２）及び第２のキャッシュ（２３）を含み，
前記第１のキャッシュは，フロントキャッシュ（２２ａ）及びバックキャッシュ（２２ｂ）を含み，
前記第２のキャッシュは，フロントキャッシュ（２３ａ）及びバックキャッシュ（２３ｂ）を含み，
前記ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
前記第１のキャッシュのフロントキャッシュは，
前記１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶し，
前記ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，前記第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
前記第１のキャッシュのバックキャッシュは，
前記２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶し，
前記ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，前記第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
前記第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新し，
以下同様の演算を繰り返し，
（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶し，
前記ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，前記キャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，前記第２のキャッシュのフロントキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
前記第２のキャッシュのバックキャッシュは，
前記Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，前記第２のキャッシュのバックキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新し，
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，
システム。
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
【請求項２】
前記ｉ（ｘ，ｙ）は，色を示すＲ，Ｇ又はＢのいずれかの値である，請求項１に記載のシステム。
【請求項３】
前記ｉ（ｘ，ｙ）は，色を示すＲ，Ｇ又はＢのいずれかの値であるか，透明度を示すα（アルファ）値である，請求項１に記載のシステム。
【請求項４】
前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶したキャッシュを，Ｙｔ行目のｓａｔ演算処理から前記ＩＢｌｕｒ（ｘ，ｙ）を求める処理までの間，ぼかし画像データを得る以外の処理のためのキャッシュとして利用する，請求項１に記載のシステム。
【請求項５】
係数決定部１１と，ぼかし画像取得部１２とを有するコンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）における入力画像データをｉ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉａを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとし，
前記ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩ又は式ＩＩＩａで表される値としたときに，
前記ぼかし画像取得部１２は，
座標（Ｘ，Ｙ）における入力画像データｉ（Ｘ，Ｙ）を受け取るとともに，前記係数決定部１１からぼかし係数ｗ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段（２０）と，
前記入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉａで示されるｓａｔの値を求めるためのｓａｔ演算手段（２１）と，
前記ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュ（２２，２３）と，
前記キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段（２４）と，
前記Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値を用いて，ＩＢｌｕｒ（ｘ，ｙ）を求めるぼかし画像データ取得手段（２５）と，
を有する，
コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
前記キャッシュは，第１のキャッシュ（２２）及び第２のキャッシュ（２３）を含み，
前記第１のキャッシュは，フロントキャッシュ（２２ａ）及びバックキャッシュ（２２ｂ）を含み，
前記第２のキャッシュは，フロントキャッシュ（２３ａ）及びバックキャッシュ（２３ｂ）を含み，
前記ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
前記第１のキャッシュのフロントキャッシュは，
前記１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶し，
前記ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，前記第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
前記第１のキャッシュのバックキャッシュは，
前記２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶し，
前記ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，前記第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
前記第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新し，
以下同様の演算を繰り返し，
（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶し，
前記ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，前記キャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，前記第２のキャッシュのフロントキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
前記第２のキャッシュのバックキャッシュは，
前記Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，前記第２のキャッシュのバックキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新し，
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，
システム。
ｓａｔ（Ｘ，Ｙ）＝ｗ（Ｘ，Ｙ）×ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉａ
ただし，式Ｉａにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／Ｗ            ・・・・式ＩＩＩａ
【数９】
2011118224.tif 000030
【請求項６】
請求項５に記載のシステムであって，
前記係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ）の奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）に関する情報が入力される入力手段と，
第１の閾値Ａ及び第２の閾値Ｂが入力される閾値入力手段と，
前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）と前記第１の閾値Ａ及び第２の閾値Ｂとを比較する比較演算手段と，
前記比較演算手段の比較結果に応じて，係数ｗ（Ｘ，Ｙ）を決定する係数決定手段とを有し，
前記係数決定手段は，前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が前記第１の閾値Ａ以上の場合は，ｗ（Ｘ，Ｙ）を０とし，
前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が前記第２の閾値Ｂ以下の場合は，ｗ（Ｘ，Ｙ）を１とし，
前記奥行きｚ（Ｘ，Ｙ）又は深さｄ（Ｘ，Ｙ）が前記第２の閾値Ｂより大きく前記第１の閾値Ａより小さい場合は，ｗ（Ｘ，Ｙ）を０から１の間の値とするように演算処理を行う，
システム。
【請求項７】
請求項５に記載のシステムであって，
前記係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と，
前記ぼかし画像処理の対象となる対象物に関する情報，前記対象物の識別番号及び前記入力画像データｉ（Ｘ，Ｙ）を用いて，ぼかし画像処理の対象となる対象物を把握し，このぼかし画像対象となる対象物に関するぼかし係数ｗ（Ｘ，Ｙ）を１とする係数決定手段とを有する，
システム。
【請求項８】
請求項５に記載のシステムであって，
前記係数決定部１１は，
入力画像データｉ（Ｘ，Ｙ），及びコンピュータブラフィックスにおける対象物の識別番号が入力されるとともに，ぼかし画像処理の対象となる対象物に関する情報が入力される対象物入力手段と，
前記対象物入力手段により特定された対象物の画素データ部分についてマスク領域を得るマスク領域取得手段と，
前記マスク領域取得手段が取得したマスク領域の新たな画像データを得るマスク領域の画像データ取得手段と，
前記マスク領域の係数ｗ（ｘ，ｙ）を１と決定する係数決定手段と，
を有し，
前記ぼかし画像取得部１２は，
前記係数決定部１１が決定したマスク領域に関して，
前記係数ｗ（ｘ，ｙ）＝１を受け取るとともに，前記新たな画像データを入力画像データとして受け取り，
前記対象物のマスクのぼかし画像を得る，
システム。
【請求項９】
ぼかし画像データを得る画素の座標を（ｘ，ｙ）とし，
前記座標（Ｘ，Ｙ）における入力画像データをｉ（Ｘ，Ｙ）とし，
前記座標（ｘ，ｙ）におけるぼかし画像データをＩＢｌｕｒ（ｘ，ｙ）とし，
前記座標（ｘ，ｙ）から，ｘ座標が所定値異なり，ｙ座標が所定値異なる点を，（Ｘｒ，Ｙｔ），（Ｘｒ，Ｙｂ），（Ｘｌ，Ｙｔ）及び（Ｘｌ，Ｙｂ）とし，
ｌ（エル）＞ｒとし，ｂ＞ｔとし，
ある点（Ｘ，Ｙ）について，以下の式Ｉを満たす値をｓａｔ（Ｘ，Ｙ）とし，
以下の式ＩＩを満たす値をＳａｔ（ｘ，ｙ）とし，
Ｘｌ−Ｘｒをｗ，Ｙｂ−Ｙｔをｈとし，
前記ＩＢｌｕｒ（ｘ，ｙ）を，以下の式ＩＩＩで表される値としたときに，
コンピュータを，
前記入力画像データｉ（Ｘ，Ｙ）を受け取るための入力画像データ入力手段と，
前記入力画像データ入力手段が受け取った入力画像データｉ（Ｘ，Ｙ）を用いて式Ｉで示されるｓａｔの値を求めるためのｓａｔ演算手段と，
前記ｓａｔ演算手段が求めた行ごとのｓａｔ演算結果を記憶するためのキャッシュと，
前記キャッシュから，ｓａｔ（Ｘｒ，Ｙｔ），ｓａｔ（Ｘｒ，Ｙｂ），ｓａｔ（Ｘｌ，Ｙｔ）及びｓａｔ（Ｘｌ，Ｙｂ）の値を読み出して，Ｓａｔ（ｘ，ｙ）の値を求めるためのＳａｔ演算手段と，
前記Ｓａｔ演算手段が求めたＳａｔ（ｘ，ｙ）の値，前記ｗ及び前記ｈを用いて，ＩＢｌｕｒ（ｘ，ｙ）を用いるぼかし画像データ取得手段と，
を有する，
コンピュータグラフィックス用のぼかし画像データを得るためのシステムであって，
前記キャッシュは，第１のキャッシュ及び第２のキャッシュを含み，
前記第１のキャッシュは，フロントキャッシュ及びバックキャッシュを含み，
前記第２のキャッシュは，フロントキャッシュ及びバックキャッシュを含み，
前記ｓａｔ演算手段は，
１行目の入力画像データｉ（Ｘ，０）を用いて，１行目のｓａｔ値であるｓａｔ（Ｘ，０）を求め，
前記第１のキャッシュのフロントキャッシュは，
前記１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を記憶し，
前記ｓａｔ演算手段は，
２行目の入力画像データｉ（Ｘ，１）と，前記第１のキャッシュのフロントキャッシュが記憶した１行目のｓａｔ演算結果であるｓａｔ（Ｘ，０）を用いて，２行目のｓａｔ値であるｓａｔ（Ｘ，１）を求め，
前記第１のキャッシュのバックキャッシュは，
前記２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を記憶し，
前記ｓａｔ演算手段は，
３行目の入力画像データｉ（Ｘ，２）と，前記第１のキャッシュのバックキャッシュが記憶した２行目のｓａｔ演算結果であるｓａｔ（Ｘ，１）を用いて，３行目のｓａｔ値であるｓａｔ（Ｘ，３）を求め，
前記第１のキャッシュのフロントキャッシュは，３行目のｓａｔ演算結果であるｓａｔ（Ｘ，２）を用いて記憶情報を更新し，
以下同様の演算を繰り返し，
（Ｙｔ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ−１）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｔ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ）を，前記第１のキャッシュのフロントキャッシュ及び前記第１のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｔ−１）を記憶していない方が記憶し，
前記ｓａｔ演算手段は，
Ｙｔ行目の入力画像データｉ（Ｘ，Ｙｔ＋１）と，前記キャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ）とを用いて，Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋１）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋１行目の入力画像データｉ（Ｘ，Ｙｔ＋２）と，前記第２のキャッシュのフロントキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋１）とを用いて，Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を求め，
前記第２のキャッシュのバックキャッシュは，
前記Ｙｔ＋１行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋２）を記憶し，
前記ｓａｔ演算手段は，
Ｙｔ＋２行目の入力画像データｉ（Ｘ，Ｙｔ＋３）と，前記第２のキャッシュのバックキャッシュから読み出した前記ｓａｔ（Ｘ，Ｙｔ＋２）とを用いて，Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を求め，
前記第２のキャッシュのフロントキャッシュは，
前記Ｙｔ＋２行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｔ＋３）を用いて記録情報を更新し，
以下同様の演算を繰り返し，
（Ｙｂ−２）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ−１）を，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのいずれかが記憶し，
（Ｙｂ−１）行目のｓａｔ演算結果であるｓａｔ（Ｘ，Ｙｂ）のうち少なくともＸ＝０からＸ＝Ｘｌを，前記第２のキャッシュのフロントキャッシュ及び前記第２のキャッシュのバックキャッシュのうち，前記ｓａｔ（Ｘ，Ｙｂ−１）を記憶していない方が記憶する，
システムとして機能させるためのプログラム。
ｓａｔ（Ｘ，Ｙ）＝ｉ（Ｘ，Ｙ）＋ｓａｔ（Ｘ−１，Ｙ）＋ｓａｔ（Ｘ，Ｙ−１）−ｓａｔ（Ｘ−１，Ｙ−１）・・・・式Ｉ
ただし，式Ｉにおいて，Ｘ−１が−１である場合は，ｓａｔ（Ｘ−１，Ｙ），及びｓａｔ（Ｘ−１，Ｙ−１）を０とし，Ｙ−１が−１である場合は，ｓａｔ（Ｘ，Ｙ−１）及びｓａｔ（Ｘ−１，Ｙ−１）を０とする。
Ｓａｔ（ｘ，ｙ）＝ｓａｔ（Ｘｒ，Ｙｔ）−ｓａｔ（Ｘｒ，Ｙｂ）−ｓａｔ（Ｘｌ，Ｙｔ）＋ｓａｔ（Ｘｌ，Ｙｂ）・・・・式ＩＩ
ＩＢｌｕｒ（ｘ，ｙ）＝Ｓａｔ（ｘ，ｙ）／ｗ×ｈ            ・・・・式ＩＩＩ
【請求項１０】
請求項９に記載のプログラムを記憶したコンピュータにより読み取り可能な情報記録媒体。
【国際調査報告】
2011118224.tif 000031
2011118224.tif 000032
2011118224.tif 000033
2011118224.tif 000034