(57)【特許請求の範囲】
【請求項１】
制御部、取得部、第１メモリ、及び処理部を備えた画像処理装置によって実行され、
第１画像座標上の第１画像データと、テクスチャとして使用される第２画像座標上の第２画像データとを用いた画像処理方法であって、
前記第１画像データの前記第１画像座標に対応する前記第２画像データの前記第２画像座標と、該第２画像座標に対応して読み出されるべき４個以上の第２画像データの位置関係を示す取得モードとを、前記制御部によって受信するステップと、
前記第２画像座標に対応すると共に、前記取得モードに従って配列された前記４個以上の第２画像データを、前記取得部によって選択するステップと、
前記第２画像座標と前記取得モードとに基づいて、前記選択された第２画像データのアドレスを、前記取得部によって算出するステップと、
前記アドレスを用いて、前記選択された第２画像データを前記第１メモリから、前記取得部によって読み出すステップと、
前記処理部によって、前記第１メモリから読み出した前記第２画像データについてフィルタリング処理を行い、前記第１画像座標に貼り付けられるべき第３画像データを得るステップと
を具備し、前記取得モードは、複数の取得モードのうちから選択され、
前記取得モードは、
二次元の座標系において第１方向に配列された４つの第２画像データを取得する第１取得モードと、
前記座標系において、前記第１方向に直交する第２方向に配列された４つの第２画像データを取得する第２取得モードと、
前記座標系において、ある第２画像データを挟んで、前記第１方向で対向する２つの第２画像データと前記第２方向で対向する別の２つの第２画像データとを取得する第３取得モードと、
前記座標系において、ある第２画像データを挟んで、前記第１、第２方向と異なる第３方向で対向する２つの第２画像データと、前記第３方向と直交する第４方向で対向する別の２つの第２画像データとを取得する第４取得モードと
を含む４つの取得モードのうちの少なくとも２つを含む
ことを特徴とする画像処理方法。
【請求項２】
前記アドレスを算出する前に、前記フィルタリング処理の繰り返し回数を、前記制御部によって受信するステップを更に備え、
前記アドレスを算出するステップ、前記第２画像データを読み出すステップ、及び前記第３画像データを得るステップは、前記繰り返し回数だけ繰り返され、
前記アドレスを算出するステップにおいては、繰り返される度に該アドレスのオフセット値が前記アドレスに加算され、
前記第２画像データは、前記アドレスと前記オフセット値との前記加算結果に基づいて前記第１メモリから読み出される
ことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記フィルタリング処理時に用いる補間係数情報を、前記制御部によって受信するステップと、
係数取得部が、前記補間係数情報に基づいて、前記補間係数を第２メモリから読み出すステップと
を更に備え、前記フィルタリング処理は、前記第２メモリから読み出された前記補間係数と、前記第２画像データの各々とを積算するステップと、
前記積算した結果を加算して前記第３画像データを得るステップと
を備えることを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記アドレスを算出する前に、前記フィルタリング処理の繰り返し回数を、前記制御部によって受信するステップと、
前記フィルタリング処理時に用いる補間係数情報を、前記制御部によって受信するステップと、
係数取得部が、前記補間係数情報に基づいて、前記補間係数を第２メモリから読み出すステップと
を更に備え、前記アドレスを算出するステップ、前記第２画像データを読み出すステップ、前記補間係数を読み出すステップ、及び前記第３画像データを得るステップは、前記繰り返し回数だけ繰り返され、
前記アドレスを算出するステップにおいては、繰り返される度に該アドレスのオフセット値が前記アドレスに加算され、
前記第２画像データは、前記アドレスと前記オフセット値との前記加算結果に基づいて前記第１メモリから読み出され、
前記フィルタリング処理は、前記第２メモリから読み出された前記補間係数と、前記第２画像データの各々とを積算するステップと、
前記積算した結果を加算して前記第３画像データを得るステップと
を備え、前記繰り返す度に異なる前記補間係数が読み出される
ことを特徴とする請求項１記載の画像処理方法。
【請求項５】
第１画像座標上の第１画像データと、テクスチャとして使用される第２画像座標上の第２画像データとを用いた画像処理装置であって、
画像データを保持する第１メモリと、
前記第１画像データの前記第１画像座標に対応する前記第２画像データの前記第２画像座標と、前記第２画像座標に対応して読み出されるべき４個以上の第２画像データの位置関係を示す取得モードとに基づいて、複数の前記第２画像データを選択し、
前記第２画像座標と前記取得モードとに基づいて、前記選択された第２画像データのアドレスを算出し、
前記アドレスを用いて、前記選択された第２画像データを前記第１メモリから読み出す画像データ取得部と、
前記画像データ取得部が前記第１メモリから読み出した前記第２画像データについてフィルタリング処理を行い、第３画像データを得るフィルタリング処理部と
を具備し、前記取得モードは、複数の取得モードのうちから選択され、
前記取得モードは、
二次元の座標系において第１方向に配列された４つの第２画像データを取得する第１取得モードと、
前記座標系において、前記第１方向に直交する第２方向に配列された４つの第２画像データを取得する第２取得モードと、
前記座標系において、ある第２画像データを挟んで、前記第１方向で対向する２つの第２画像データと前記第２方向で対向する別の２つの第２画像データとを取得する第３取得モードと、
前記座標系において、ある第２画像データを挟んで、前記第１、第２方向と異なる第３方向で対向する２つの第２画像データと、前記第３方向と直交する第４方向で対向する別の２つの第２画像データとを取得する第４取得モードと
を含む４つの取得モードのうちの少なくとも２つを含む
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理方法及び画像処理装置に関するもので、例えばテクスチャのフィルタリング手法に関するものである。
【背景技術】
【０００２】
従来、３ＤグラフィックスＬＳＩではポリゴンにテクスチャ（texture）を貼る処理を行う。この際、より豊かな表現を行うために、１つのピクセルに対して複数のテクセル（texel）を参照する場合がある（例えば非特許文献１参照）。
【０００３】
しかしながら上記従来の方法であると、１度に読み出しが可能なテクセルは（２×２）個に限られている。従って、テクセルの処理の自由度は大きく制限されており、また処理が複雑化するという問題があった。
【非特許文献１】Paul S. Heckbert著、“Fundamentals of Texture Mapping and Image Warping (Masters Thesis)”、Report No. UCB/CSD 89/516, Computer Science Division, University of California, Berkeley, June 1989年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は、画像処理の自由度を向上出来る画像処理方法及び画像処理装置を提供する。
【課題を解決するための手段】
【０００５】
この発明の一態様に係る画像処理方法は、制御部、取得部、第１メモリ、及び処理部を備えた画像処理装置によって実行され、第１画像座標上の第１画像データと、テクスチャとして使用される第２画像座標上の第２画像データとを用いた画像処理方法であって、前記第１画像データの前記第１画像座標に対応する前記第２画像データの前記第２画像座標と、該第２画像座標に対応して読み出されるべき４個以上の第２画像データの位置関係を示す取得モードとを、前記制御部によって受信するステップと、前記第２画像座標に対応すると共に、前記取得モードに従って配列された前記４個以上の第２画像データを、前記取得部によって選択するステップと、前記第２画像座標と前記取得モードとに基づいて、前記選択された第２画像データのアドレスを、前記取得部によって算出するステップと、前記処理部によって、前記アドレスを用いて前記第２画像データを第１メモリから読み出すステップと、前記第１メモリから読み出した前記第２画像データについてフィルタリング処理を行い、前記第１画像座標に貼り付けられるべき第３画像データを得るステップとを具備し、前記取得モードは、複数の取得モードのうちから選択され、前記取得モードは、二次元の座標系において第１方向に配列された４つの第２画像データを取得する第１取得モードと、前記座標系において、前記第１方向に直交する第２方向に配列された４つの第２画像データを取得する第２取得モードと、前記座標系において、ある第２画像データを挟んで、前記第１方向で対向する２つの第２画像データと前記第２方向で対向する別の２つの第２画像データとを取得する第３取得モードと、前記座標系において、ある第２画像データを挟んで、前記第１、第２方向と異なる第３方向で対向する２つの第２画像データと、前記第３方向と直交する第４方向で対向する別の２つの第２画像データとを取得する第４取得モードとを含む４つの取得モードのうちの少なくとも２つを含む。
【発明の効果】
【０００７】
この発明によれば、画像処理の自由度を向上出来る画像処理方法及び画像処理装置を提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００９】
この発明の第１の実施形態に係る画像処理方法及び画像処理装置について、図１を用いて説明する。図１は、本実施形態に係るグラフィックプロセッサのブロック図である。
【００１０】
図示するように、グラフィックプロセッサ１はラスタライザ（rasterizer）２、複数のピクセルシェーダ（pixel shader）３、及びローカルメモリ４を備えている。ピクセルシェーダ３の数は、例えば４個、あるいは８個、１６個、３２個等でも良く、その数は限定されるものではない。
【００１１】
ラスタライザ２は、入力された図形情報に従ってピクセル（pixel）を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。生成されたピクセルはピクセルシェーダ３へ投入される。
【００１２】
ピクセルシェーダ３は、ラスタライザ２から投入されたピクセルにつき演算処理を行い、ローカルメモリ４上に画像を生成する。ピクセルシェーダ３の各々は、データ振り分け部５、複数のピクセル処理部６、及びテクスチャユニット（texture unit）７を備えている。データ振り分け部５はラスタライザ２からピクセルを受け取る。そして、受け取ったピクセルを各ピクセル処理部６へ割り振る。ピクセル処理部６はシェーダエンジン部であり、ピクセルに対してシェーダプログラムを実行する。そして、ピクセル処理部６のそれぞれはＳＩＭＤ（Single Instruction Multiple Data）動作を行って、複数個のピクセルを同時に処理する。テクスチャユニット７はローカルメモリ４からテクスチャを読み出し、テクスチャマッピング（texture mapping）に必要な処理を行う。テクスチャマッピングとは、ピクセル処理部６で処理されたピクセルにテクスチャを貼り付ける処理のことであり、ピクセル処理部６において行われる。
【００１３】
ローカルメモリ４は、例えばｅＤＲＡＭ（embedded DRAM）であり、ピクセルシェーダ３で描画されたピクセルを記憶する。またテクスチャを記憶する。
【００１４】
次に、本実施形態に係るグラフィックプロセッサ１における図形描画の概念について説明する。図２は、図形を描画すべき二次元空間（ＸＹ座標空間）の一部を示す概念図である。なお、図２に示す描画領域は、ローカルメモリ４内においてピクセルを保持するメモリ空間（以下、フレームバッファと呼ぶ）に相当する。
【００１５】
図示するように、フレームバッファは、マトリクス状に配置された複数のブロックＢＬＫ０〜ＢＬＫｎ（ｎは自然数）を含んでいる。図２では（３×３）個のブロックＢＬＫ０〜ＢＬＫ８のみを示しているが、この数は特に限定されるものではない。ピクセルシェーダ３は、ブロックＢＬＫ０〜ＢＬＫｎ順にピクセルを生成する。各ブロックはそれぞれ、マトリクス状に配置された例えば（４×４）個のピクセルを含んで形成されている。なお、１つのブロックに含まれるピクセルの個数も特に１６個に限定されるものでは無い。実際にはより多くのピクセルが含まれることが通常であり、ここでは説明の簡単化のために１６ピクセルの場合について説明する。また、図２において各ピクセルに付記した番号をピクセルＩＤと呼び、以下ピクセル０〜ピクセル１５と呼ぶことにする。
【００１６】
次に、上記フレームバッファに描画される図形に関して説明する。まず図形を描画するにあたって、ラスタライザ２に図形情報が入力される。図形情報は、例えば図形の頂点座標や色情報などである。ここで、例として三角形を描画する場合について説明する。ラスタライザ２に入力された三角形は、描画空間において図２に記載したような位置を占めるとする。すなわち、三角形の３つの頂点座標が、ブロックＢＬＫ１におけるピクセル１５、ブロックＢＬＫ６におけるピクセル３、及びブロックＢＬＫ８におけるピクセル４に位置すると仮定する。ラスタライザ２は、描画すべき三角形が占める位置に対応するピクセルを生成する。この様子を示しているのが図３である。生成されたピクセルは、それぞれ予め対応付けられたピクセルシェーダ３に送られる。
【００１７】
そしてピクセルシェーダ３は、自らの担当するピクセルについて描画処理を行う。その結果、図３に示されるような三角形が、複数のピクセルによって描画される。ピクセルシェーダ３によって描画されたピクセルはローカルメモリ４に格納される。
【００１８】
次に、テクスチャに関して図４を用いて説明する。図４はテクスチャの一部を示す概念図である。テクスチャとは、描画されたピクセルに対して貼り付けられる二次元画像のことである。テクスチャをピクセルに貼り付けることにより、物体表面に様々な模様を加えることができる。テクスチャは、図示するようにＵＶ座標に二次元的に配置された複数のテクスチャブロックＴＢＬＫ０〜ＴＢＬＫｍ（ｍは自然数）を含んでいる。図４では（３×３）個のテクスチャブロックＴＢＬＫ０〜ＴＢＬＫ８のみを示しているが、この数は特に限定されるものではない。各テクスチャブロックはそれぞれ、マトリクス状に配置された例えば（４×４）個のテクセルを含んで形成されている。テクセルとは、テクスチャにおける最小単位の構成要素のことである。なお、１つのテクスチャブロックに含まれるテクセルの個数も特に１６個に限定されるものでは無い。実際にはより多くのテクセルが含まれることが通常であり、ここでは説明の簡単化のために１６テクセルの場合について説明する。また、図４において各テクセルに付記した番号をテクセルＩＤと呼び、以下テクセル０〜テクセル１５と呼ぶことにする。
【００１９】
次に、図１におけるテクスチャユニット７の詳細について説明する。テクスチャユニット７は、その内部にキャッシュメモリを有しており、ローカルメモリ４から読み出したテクセルを一時的に保持する。そして、ピクセル処理部６からの要求に応答してテクセルをキャッシュメモリから読み出し、必要に応じてフィルタリング処理を施した後、ピクセル処理部６へ供給する。  
図５はテクスチャユニット７のブロック図である。図示するようにテクスチャユニット７は、テクスチャ制御部１０、データ取得部１１、前記キャッシュメモリ１２、及びフィルタリング処理部１３を備えている。
【００２０】
テクスチャ制御部１０は、ピクセル処理部６からのテクスチャ要求に応答して、データ取得部１１を制御する。テクスチャ要求とは、ピクセル処理部６から与えられる、テクセルを読み出す旨の命令であり、この際、ピクセル座標（ｘ、ｙ）及びテクセルの取得モードが、ピクセル処理部６からテクスチャ制御部１０に与えられる。なお、取得モードについては後述する。テクスチャ制御部１０は、入力されたピクセル座標に相当するテクセルの座標（テクセル座標（ｕ、ｖ））を算出し、このテクセル座標と取得モードをデータ取得部１１へ出力すると共に、テクセルの取得をデータ取得部１１に命令する。
【００２１】
データ取得部１１は、入力されたテクセル座標を基に、４つのテクセルをキャッシュメモリ１２から読み出す。より詳しくは、入力されたテクセル座標に応じた４つのテクセルの、キャッシュメモリ１２におけるアドレスを計算する。そして算出したアドレスに基づいて、当該４つのテクセルをキャッシュメモリ１２から読み出す。
【００２２】
ここで、前述の取得モードについて図４を用いて説明する。取得モードとは、入力されたピクセル座標（テクセル座標）に対して、いずれの位置にある４個のテクセルを読み出すか、を示す情報である。図４では５種類の取得モード（ＣＡＳＥ１〜ＣＡＳＥ５）について示している。図中において×印が、入力されたピクセル座標に対応するテクセル座標である。まずＣＡＳＥ１について説明する。ＣＡＳＥ１の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルと、それに対してＶ座標が同一でＵ座標が“１”ずつずれた位置にある３つのテクセルを取得するモードである。すなわち図４に示すように、横一列に隣接して並んだ（４×１）個のテクセル１１、１、３、５が読み出される。
【００２３】
ＣＡＳＥ２の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルと、それに対してＵ座標が同一でＶ座標が“１”ずつづれた位置にある３つのテクセルを取得するモードである。すなわち図４に示すように、縦一列に隣接して並んだ（１×４）個のテクセル６、７、２、３が読み出される。
【００２４】
ＣＡＳＥ３の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルを中心に、十字に位置する４つのテクセルを取得するモードである。すなわち図４に示すように、テクセル８に近接して十字を形作る４個のテクセル１３、１４、１０、９が読み出される。
【００２５】
ＣＡＳＥ４の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルを中心に、×印に位置する４つのテクセルを取得するモードである。すなわち図４に示すように、テクセル１２に近接して×印を形作る４個のテクセル３、１１、７、１５が読み出される。
【００２６】
ＣＡＳＥ５の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルと、それに対してＵ座標のみが“１”ずれたテクセル、Ｖ座標のみが“１”ずれたテクセル、及びＵ座標及びＶ座標が共に“１”ずれたテクセルのを取得するモードである。すなわち図４に示すように、隣接する（２×２）個のテクセル１４、１５、４、５が読み出される。  
以下ではＣＡＳＥ１〜ＣＡＳＥ５をそれぞれ、（４×１）モード、（１×４）モード、Crossモード、ＲＣ（Rotated cross）モード、及び（２×２）モードと呼ぶことにする。
【００２７】
フィルタリング処理部１３は、データ取得部１１で読み出された４つのテクセルについてフィルタリング処理を行う。フィルタリング処理の詳細は後述する。
【００２８】
次に図６を用いて、テクスチャユニット７の備えるデータ取得部１１の構成について説明する。図６はデータ取得部１１のブロック図である。図示するようにデータ取得部１１は、制御部２０、４つの座標計算部２１−０〜２１−３、及び４つのテクセル取得部２２−０〜２２−３を備えている。
【００２９】
制御部２０は、テクスチャ制御部１０からテクセルの取得命令、ピクセル座標に対応するテクセル座標、及び取得モードを受信する。そして、座標計算部２１−０〜２１−３に対して、入力されたテクセル座標及び取得モードに応じて、キャッシュメモリ１２から読み出すべき４つのテクセルの座標計算を命令する。
【００３０】
座標計算部２１−０〜２１−３は、それぞれ読み出すべき４つのテクセルに対応して設けられている。そして、各々に対応づけられたテクセルのテクセル座標を計算する。
【００３１】
テクセル取得部２２−０〜２２−３は、それぞれ座標計算部２１−０〜２１−３に対応づけて設けられている。そしてテクセル取得部２２−０〜２２−３はそれぞれ、座標計算部２１−０〜２１−３で算出されたテクセル座標に基づいて、当該テクセルのキャッシュメモリ１２におけるアドレスを計算し、キャッシュメモリ１２からテクセルを読み出す。読み出されたテクセルはフィルタリング処理部１３へ与えられる。
【００３２】
なお、図６及び上記説明では、座標計算部及びテクセル取得部がそれぞれ４個ずつ設けられている場合について説明した。しかし図６はあくまでデータ取得部１１の機能を図示したものであり、勿論、図６の構成を有していても良いが、座標計算部及びテクセル取得部がそれぞれ１個だけ設けられていても良い。つまり、４個のテクセルを読み出すことの出来る構成であれば限定されるものではない。
【００３３】
次に、上記構成のグラフィックプロセッサ１におけるテクスチャユニット７の動作について図７のフローチャートを用いて説明する。  
まず、ピクセル処理部６がテクスチャ制御部１０に対して、あるピクセルＰ１のＸＹ座標を入力すると共に、ピクセルＰ１に対応する４つのテクセルの取得命令を与える（ステップＳ１０）。この際、前述の取得モードも併せてピクセル処理部６からテクスチャ制御部１０に入力される。次に、テクスチャ制御部１０はピクセルＰ１に対応するテクセル座標を算出し、算出したテクセル座標及び取得モードと共に、テクセル取得をデータ取得部１１に対して命令する（ステップＳ１１）。そしてデータ取得部１１は、ピクセルＰ１に対応するテクセル座標近傍の４つのテクセルを取得モードに応じて選択し、これらのアドレスを計算する（ステップＳ１２）。更にデータ取得部１１は、ステップＳ１２で算出したアドレスに基づいて、テクセルをキャッシュメモリ１２から読み出す（ステップＳ１２）。そして、データ取得部１１で読み出した４つのテクセルについて、フィルタリング処理部１３がフィルタリング処理を行い（ステップＳ１４）、その結果がピクセル処理部６へ与えられる。ピクセル処理部６では、ステップＳ１４で得られたテクセル（フィルタリング処理後のテクセル）をピクセルＰ１に貼り付ける（テクスチャマッピング）。
【００３４】
上記ステップＳ１２の具体例について図８乃至図１７を用いて説明する。図８、図１０、図１２、図１４、及び図１６はそれぞれ（４×１）モード、（１×４）モード、Crossモード、ＲＣモード、及び（２×２）モードにおいて読み出されるテクセルの位置を示すＵＶ座標であり、図中の×印が入力されたピクセル座標に対応するテクセル座標を示す。また図９、図１１、図１３、図１５、及び図１７はそれぞれ（４×１）モード、（１×４）モード、Crossモード、ＲＣモード、及び（２×２）モードにおけるデータ取得部１１の一部構成を示すブロック図である。なお以下では説明の簡単化のために、読み出される４つのテクセルはテクセル０〜テクセル３であるものとする。
【００３５】
まず図８及び図９を用いて（４×１）モードの場合について説明する。図８に示すように、（４×１）モードの場合には、ピクセル座標に対応するテクセルがテクセル０であったとする。すると、テクセル０の他に、テクセル０とＶ座標が同一であり、Ｕ座標が“１”ずつずれたテクセル１〜３が読み出される。従ってテクセル０〜３の座標をそれぞれ（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）とすると、座標計算部２１−０はテクセル０に関してｓ０＝ｕ、ｔ０＝ｖを計算する。座標計算部２１−１はテクセル１に関してｓ１＝ｕ＋１、ｔ１＝ｖを計算する。座標計算部２１−２はテクセル２に関してｓ２＝ｕ＋２、ｔ２＝ｖを計算する。座標計算部２１−３はテクセル３に関してｓ３＝ｕ＋３、ｔ３＝ｖを計算する。これらの座標（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）がテクセル取得部２２−０〜２２−３に与えられ、テクセル取得部２２−０〜２２−３は与えられた座標に対応するアドレスを計算する。
【００３６】
次に図１０及び図１１を用いて（１×４）モードの場合について説明する。図１０に示すように、（１×４）モードの場合には、ピクセル座標に対応するテクセルがテクセル０であったとする。すると、テクセル０の他に、テクセル０とＵ座標が同一であり、Ｖ座標が“１”ずつずれたテクセル１〜３が読み出される。従って座標計算部２１−０はテクセル０に関してｓ０＝ｕ、ｔ０＝ｖを計算する。座標計算部２１−１はテクセル１に関してｓ１＝ｕ、ｔ１＝ｖ＋１を計算する。座標計算部２１−２はテクセル２に関してｓ２＝ｕ、ｔ２＝ｖ＋２を計算する。座標計算部２１−３はテクセル３に関してｓ３＝ｕ、ｔ３＝ｖ＋３を計算する。これらの座標（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）がテクセル取得部２２−０〜２２−３に与えられ、テクセル取得部２２−０〜２２−３は与えられた座標に対応するアドレスを計算する。
【００３７】
次に図１２及び図１３を用いてCrossモードの場合について説明する。図１２に示すように、Crossモードの場合には、ピクセル座標に対応するテクセル座標に対して、Ｕ座標が同一でＶ座標がそれぞれ“−１”及び“＋１”ずれたテクセル０、３、及びＵ座標が同一でＶ座標が“−１”及び“＋１”ずれたテクセル１、４が読み出される。従って座標計算部２１−０はテクセル０に関してｓ０＝ｕ、ｔ０＝ｖ−１を計算する。座標計算部２１−１はテクセル１に関してｓ１＝ｕ−１、ｔ１＝ｖを計算する。座標計算部２１−２はテクセル２に関してｓ２＝ｕ＋１、ｔ２＝ｖを計算する。座標計算部２１−３はテクセル３に関してｓ３＝ｕ、ｔ３＝ｖ＋１を計算する。これらの座標（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）がテクセル取得部２２−０〜２２−３に与えられ、テクセル取得部２２−０〜２２−３は与えられた座標に対応するアドレスを計算する。
【００３８】
次に図１４及び図１５を用いてＲＣモードの場合について説明する。図１４に示すように、ＲＣモードの場合には、ピクセル座標に対応するテクセル座標に対して、Ｕ座標が“−１”ずれ、且つＶ座標がそれぞれ“−１”及び“＋１”ずれたテクセル０、１、及びＵ座標が“＋１”ずれ、且つＶ座標が“−１”及び“＋１”ずれたテクセル２、３が読み出される。従って座標計算部２１−０はテクセル０に関してｓ０＝ｕ−１、ｔ０＝ｖ−１を計算する。座標計算部２１−１はテクセル１に関してｓ１＝ｕ−１、ｔ１＝ｖ＋１を計算する。座標計算部２１−２はテクセル２に関してｓ２＝ｕ＋１、ｔ２＝ｖ−１を計算する。座標計算部２１−３はテクセル３に関してｓ３＝ｕ＋１、ｔ３＝ｖ＋１を計算する。これらの座標（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）がテクセル取得部２２−０〜２２−３に与えられ、テクセル取得部２２−０〜２２−３は与えられた座標に対応するアドレスを計算する。
【００３９】
次に図１６及び図１７を用いて（２×２）モードの場合について説明する。図１６に示すように、（２×２）モードの場合には、ピクセル座標に対応するテクセルがテクセル０であったとする。すると、テクセル０の他に、テクセル０とＶ座標が同一でありＵ座標が“１”ずれたテクセル１、テクセル０とＵ座標が同一でありＶ座標が“１”ずれたテクセル２、及びテクセル０に対してＵ座標及びＶ座標がそれぞれ“１”ずれたテクセル３が読み出される。従って座標計算部２１−０はテクセル０に関してｓ０＝ｕ、ｔ０＝ｖを計算する。座標計算部２１−１はテクセル１に関してｓ１＝ｕ、ｔ１＝ｖ＋１を計算する。座標計算部２１−２はテクセル２に関してｓ２＝ｕ＋１、ｔ２＝ｖを計算する。座標計算部２１−３はテクセル３に関してｓ３＝ｕ＋１、ｔ３＝ｖ＋１を計算する。これらの座標（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）がテクセル取得部２２−０〜２２−３に与えられ、テクセル取得部２２−０〜２２−３は与えられた座標に対応するアドレスを計算する。
【００４０】
次に、フィルタリング処理部１３におけるフィルタリング処理（ステップＳ１４）の詳細について図１８を用いて説明する。図１８はフィルタリング処理のフローチャートである。まず前述のようにデータ取得部１１で読み出された４つのテクセルが、フィルタリング処理部１３へ入力される（ステップＳ２０）。するとフィルタリング処理部１３は、入力された４つのテクセルにつき、ベクトル値を読み出す（ステップＳ２１）。ベクトル値とは、例えば色を表すカラー値（ＲＧＢ）及び透明度（α）などである。そして、４つのテクセルにつき読み出したベクトル値を加算する（ステップＳ２２）。この加算結果がフィルタリング処理後のテクセルとなり、フィルタリング処理部１３は加算結果をピクセル処理部６へ出力する（ステップＳ２３）。
【００４１】
図１９はフィルタリング処理の様子を模式的に示す概念図である。図示するように、４つのテクセル０〜３がフィルタリング処理部１３へ入力されたとすると、これらのベクトル値を加算した結果がテクセル０’となる。これにより、ピクセルには４つのテクセル０〜３が反映されたテクセル０’が貼り付けられる。
【００４２】
なお、（４×１）モード、（１×４）モード、Crossモード、ＲＣモード、及び（２×２）モードで読み出したテクセル０〜３についてのフィルタリング処理を、それぞれ（４×１）フィルタリング、（１×４）フィルタリング、Crossフィルタリング、ＲＣフィルタリング、及び（２×２）フィルタリングと呼ぶことがある。これらのフィルタリング処理は、全て４つのテクセルを用いたフィルタリング処理である。
【００４３】
図２０は、本実施形態を用いた（４×４）フィルタリングの様子を示している。（４×４）フィルタリングとは、ある１つのピクセルに対して（４×４）＝１６個のテクセルを用いて行うフィルタリング処理のことである。ここでは、（８×８）個のテクセル０〜６３を含むテクスチャ画像を（４×４）フィルタリングする場合について説明する。
【００４４】
図示するように、まず上記説明した手法により（１×４）フィルタリングを６４個のテクセル０〜６３について行う。すなわち、例えばテクセル０についてはテクセル０〜３を読み出して（１×４）フィルタリングを行い、テクセル１についてはテクセル１〜４を読み出して（１×４）フィルタリングを行う。また、テクセル８についてはテクセル８〜１１を読み出して（１×４）フィルタリングを行い、テクセル９についてはテクセル９〜１２２を読み出して（１×４）フィルタリングを行う。
【００４５】
以上のようにして（８×８）個のテクセル０〜６３につき（１×４）フィルタリングで得られたフィルタリング結果を、テクセル０’〜テクセル６３’と呼ぶ。そして、これらを（８×８）で配置して新たなテクスチャ画像とする。次に、得られた６４個のテクセル０’〜６３’を含むテクスチャ画像につき、上記説明した手法により（４×１）フィルタリングを行う。すなわち、例えばテクセル０’についてはテクセル０’、８’、１６’、２４’を読み出して（１×４）フィルタリングを行い、テクセル１’についてはテクセル１’、９’、１７’、２５’を読み出して（１×４）フィルタリングを行う。また、テクセル８’についてはテクセル８’、１６’、２４’、３２’を読み出して（１×４）フィルタリングを行い、テクセル９’についてはテクセル９’、１７’、２５’、３３’を読み出して（１×４）フィルタリングを行う。
【００４６】
以上のようにして（８×８）個のテクセル０’〜６３’につき（４×１）フィルタリングで得られたフィルタリング結果を、テクセル０”〜テクセル６３”と呼ぶ。そして、これらを（８×８）で配置して新たなテクスチャ画像とする。このようにして得られた結果が、各テクセルについて（４×４）フィルタリングの施されたテクスチャ画像となる。
【００４７】
図２０の具体例について図２１乃至図２３を用いて説明する。図２１はフィルタリング処理を行う前のテクスチャ画像であり、図２２は図２１の画像につき（４×１）フィルタリングを行って作成したテクスチャ画像であり、図２３は図２２の画像につき（１×４）フィルタリングを行って作成したテクスチャ画像である。図示するように、（４×１）フィルタリングを行うことにより、テクスチャ画像は横方向にぼけた画像となる。そして、引き続き（１×４）フィルタリングを行うことで、更に縦方向にぼけた画像となる。その結果、図２３に示すような（４×４）フィルタリング結果が得られる。
【００４８】
上記のように、この発明の第１の実施形態に係るグラフィックプロセッサであると、下記（１）の効果が得られる。  
（１）フィルタリング処理の自由度を向上出来る（その１）。  
本実施形態に係るグラフィックプロセッサであると、データ取得部１１は複数のテクセルを（２×２）モード以外の様々な取得モードによりキャッシュメモリ１２から読み出すことが出来る。従って、必要に応じて取得モードを選択することにより、適切なフィルタリング処理を行うことが出来る。
【００４９】
例えば、テクスチャマッピングを行う従来のグラフィックプロセッサであると、一度に取得できるテクセルは（２×２）個でしかなかった。従って、従来の構成において（４×１）フィルタリングを行う場合には、次のような方法を用いざる得なかった。すなわち、まずピクセル座標に対応するＵＶ座標点をサンプリング点と呼ぶと、サンプリング点を含む（２×２）テクセルを読み出し、更にそれに隣接する（２×２）テクセルを読み出す。そして、サンプリング点とＶ座標の異なる４つのテクセルを破棄し、同一の４つのテクセルを用いてフィルタリングを行う。つまり、データ取得部１１はテクセルの取得を２度行う必要がある。
【００５０】
しかし本実施形態であると、データ取得部１１は取得モードに応じてテクセル座標を算出する。従って、（２×２）モード以外でもテクセルを読み出すことが出来る。例えば（４×１）フィルタリングを行う場合には、（４×１）モードでテクセルを読み出すことが出来、データ取得部１１がテクセルを取得する回数は１度で済む。このように、テクスチャユニット７における負荷の増大を抑えつつ、フィルタリング処理の自由度を向上出来る。
【００５１】
次に、この発明の第２の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第１の実施形態におけるデータ取得部１１が、ピクセル処理部６からの１度のテクセル取得命令により複数回のテクセル取得を行う構成に関するものである。図２４は、本実施形態に係るテクスチャユニット７のブロック図である。なおテクスチャユニット７以外の構成は第１の実施形態と同様であるので説明は省略する。
【００５２】
図示するようにテクスチャユニット７は、テクスチャ制御部１０、データ取得部１１、キャッシュメモリ１２、フィルタリング処理部１３、カウンタ１４、及びデータ保持部１５を備えている。
【００５３】
テクスチャ制御部１０は、ピクセル処理部６から繰り返し回数を情報として受信する。そして、上記第１の実施形態で説明した機能に加えて、データ取得部１１に対するテクセル取得の命令を、上記繰り返し回数だけ繰り返す。また、繰り返す度にアドレスオフセット情報をデータ取得部１１へ出力する。アドレスオフセット情報については後述する。
【００５４】
データ取得部１１は、入力されたテクセル座標を基に、４つのテクセルをキャッシュメモリ１２から読み出す。より具体的には、入力されたテクセル座標に応じた４つのテクセルの、キャッシュメモリ１２におけるアドレスを、アドレスオフセット情報を用いて計算する。そして算出したアドレスに基づいて、当該４つのテクセルをキャッシュメモリ１２から読み出す。
【００５５】
カウンタ１４は、データ取得部１１においてテクセルを読み出した回数をカウントする。
【００５６】
キャッシュメモリ１２及びフィルタリング処理部１３は第１の実施形態で説明した通りである。
【００５７】
データ保持部１５は、フィルタリング処理部１３におけるフィルタリング処理結果を保持する。
【００５８】
次に、上記構成のグラフィックプロセッサ１におけるテクスチャユニット７の動作について図２５のフローチャートを用いて説明する。  
まず、ピクセル処理部６がテクスチャ制御部１０に対して、あるピクセルＰ１のＸＹ座標を入力すると共に、ピクセルＰ１に対応する４つのテクセルを取得する旨の命令を与える（ステップＳ１０）。この際、前述の取得モードだけでなく繰り返し回数も併せてピクセル処理部６からテクスチャ制御部１０に入力される。次に、テクスチャ制御部１０はピクセルＰ１に対応するテクセル座標を算出し、算出したテクセル座標及び取得モードと共に、テクセル取得をデータ取得部１１に対して命令する（ステップＳ３０）。この際、テクスチャ制御部１０は繰り返し回数も併せてデータ取得部１１へ与えても良い。更にテクスチャ制御部１０は、データ保持部１５内のデータをリセットし（ステップＳ３１）、カウンタ１４のカウンタ値をリセットする（ステップＳ３２）。
【００５９】
次にデータ取得部１１は、ピクセルＰ１に対応するテクセル座標（サンプリング点）近傍の４つのテクセルを取得モードに応じて選択し、これらのアドレスを計算する（ステップＳ１２）。そしてデータ取得部１１は、ステップＳ１２で算出したアドレスに基づいて、テクセルをキャッシュメモリ１２から読み出す（ステップＳ１２）。そして、データ取得部１１で読み出した４つのテクセルについて、フィルタリング処理部１３がフィルタリング処理を行い（ステップＳ１４）、その結果はデータ保持部１５内に保持される（ステップＳ３３）。データ保持部１５においては、既に保持されているデータに対して、新たに与えられたテクセルを加算する処理が行われる（ステップＳ３４）。但し、データ保持部３１のリセット直後である場合には、入力されたテクセルがそのまま保持される。
【００６０】
データ取得部１１におけるテクセルの読み出し（ステップＳ１３）が完了すると、データ取得部１１から与えられる取得終了情報に応答して、カウンタ１４がカウンタ値をカウントアップする（ステップＳ３５）。次にテクスチャ制御部１０はカウンタ値を確認し、カウンタ値と繰り返し回数とを比較する（ステップＳ３６）。カウンタ値が繰り返し回数に達していれば（ステップＳ３７、ＹＥＳ）、処理は終了する。達していなければ（ステップＳ３７、ＮＯ）、テクスチャ制御部１０はアドレスオフセット値と共に再度のテクセル取得をデータ取得部１１へ命令する（ステップＳ３８）。なお、繰り返し回数がデータ取得部に与えられる場合には、ステップＳ３６、Ｓ３７の処理をデータ取得部１１が行っても良い。
【００６１】
以後、カウンタ値が繰り返し回数に達するまでステップＳ１２〜Ｓ１４、Ｓ３３〜Ｓ３８の処理を繰り返す。その際、ステップＳ１２におけるアドレス計算には、ステップＳ３８で与えられるアドレスオフセット値が使用される。ステップＳ１２の詳細について図２６乃至図２８を用いて説明する。図２６乃至図２８はそれぞれ（４×１）モード時におけるデータ取得部１１の一部構成を示すブロック図であり、図２６はカウンタ値が“１”の場合、図２７はカウンタ値が“２”の場合、図２８はカウンタ値が“ｉ（ｉは自然数）”の場合について示している。なお以下ではサンプリング点のＵＶ座標は（ｕ、ｖ）であるとする。
【００６２】
まずカウンタ値がゼロの場合には、座標計算部２１−０〜２１−３はそれぞれ第１の実施形態と同様、図９に示した演算を行って、４つのテクセル座標（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）、（ｓ３、ｔ３）を算出する。
【００６３】
次にカウンタ値が“１”の場合について図２６を用いて説明する。図示するように、制御部２０はアドレスオフセット値として“１”を座標計算部２１−０〜２１−３に与える。すると座標計算部２１−０〜２１−３はそれぞれ、Ｖ軸方向に値を“＋１”する。すなわち、カウンタ値がゼロである場合に対して、Ｕ座標が同じであり、Ｖ座標が“＋１”だけずれた４つのテクセル座標を計算する。
【００６４】
次にカウンタ値が“２”の場合について図２７を用いて説明する。図示するように、制御部２０はアドレスオフセット値として“２”を座標計算部２１−０〜２１−３に与える。すると座標計算部２１−０〜２１−３はそれぞれ、Ｖ軸方向に値を“＋２”する。すなわち、カウンタ値がゼロである場合に対して、Ｕ座標が々であり、Ｖ座標が“＋２”だけずれた４つのテクセル座標を計算する。
【００６５】
次にカウンタ値が“ｉ”の場合について図２８を用いて説明する。図２８は図２６及び図２７の例を一般化して示すものである。図示するように、アドレスオフセット値として“ｉ”が与えられると、座標計算部２１−０〜２１−３はそれぞれＶ座標を“＋ｉ”だけずらす。なおアドレスオフセット値“ｉ”は、上記のようにカウンタ１４のカウンタ値と同一でも良いし、例えばカウンタ値を“ｋ”とすると、ｉ＝２ｋなる関係があっても良いし、ｉ＝４ｋなる関係があっても良く、適宜設定可能である。  
なお上記では（４×１）モードの場合についてのみ説明したが、（１×４）モードの場合には、Ｕ座標に対して“ｉ”を加算すれば良い。
【００６６】
図２９及び図３０は、本実施形態に係る（４×１）フィルタリングを用いた（４×４）フィルタリングの様子を示している。図２９に示すように、ある１つのピクセルに対して（４×４）＝１６個のテクセル０〜１５を用いてフィルタリング処理を行う場合について説明する。この場合、繰り返し回数は“４”である。
【００６７】
図３０において、サンプリング点は×印で示した箇所である。まず座標計算部２１−０〜２１−３は、サンプリング点に対応するテクセル０と、テクセル０にＵ軸方向に隣接する３つのテクセル１〜３の４つのテクセル０〜３の座標を計算する（ステップＳ１２）。そしてテクセル取得部２２−０〜２２−３がテクセル０〜３をキャッシュメモリ１２から読み出す（ステップＳ１３）。次にフィルタリング処理部１３がテクセル０〜３につき（４×１）フィルタリングを行い（ステップＳ１４）、その結果であるテクセル０’がデータ保持部１５に保持される（ステップＳ３３）。そしてカウンタ値が“１”となる（ステップＳ３５）。
【００６８】
カウンタ値は繰り返し回数“４”に等しくないので（ステップＳ３６、Ｓ３７）は、テクスチャ制御部１０はアドレスオフセット値として“１”をデータ取得部１１に与える（ステップＳ３８）。これにより、座標計算部２１−０〜２１−３は、サンプリング点に対してＶ座標が“＋１”ずれた位置のテクセル４と、テクセル４にＵ軸方向に隣接する３つのテクセル５〜７の４つのテクセル４〜７の座標を計算する（ステップＳ１２）。そしてテクセル取得部２２−０〜２２−３がテクセル４〜７をキャッシュメモリ１２から読み出す（ステップＳ１３）。次にフィルタリング処理部１３がテクセル４〜７につき（４×１）フィルタリングを行い（ステップＳ１４）、その結果であるテクセル４’がデータ保持部１５に保持される（ステップＳ３３）。データ保持部１５には既にテクセル０’が保持されているので、データ保持部１５においてテクセル０’とテクセル４’とが加算される（ステップＳ３４）。そしてカウンタ値が“２”となる（ステップＳ３５）。
【００６９】
カウンタ値は繰り返し回数“４”に等しくないので（ステップＳ３６、Ｓ３７）は、テクスチャ制御部１０はアドレスオフセット値として“２”をデータ取得部１１に与える（ステップＳ３８）。これにより、座標計算部２１−０〜２１−３は、サンプリング点に対してＶ座標が“＋２”ずれた位置のテクセル８と、テクセル８にＵ軸方向に隣接する３つのテクセル９〜１１の４つのテクセル８〜１１の座標を計算する（ステップＳ１２）。そしてテクセル取得部２２−０〜２２−３がテクセル８〜１１をキャッシュメモリ１２から読み出す（ステップＳ１３）。次にフィルタリング処理部１３がテクセル８〜１１につき（４×１）フィルタリングを行い（ステップＳ１４）、その結果であるテクセル８’がデータ保持部１５に保持される（ステップＳ３３）。データ保持部１５では、更にテクセル８’が加算される（ステップＳ３４）。そしてカウンタ値が“３”となる（ステップＳ３５）。
【００７０】
カウンタ値は繰り返し回数“４”に等しくないので（ステップＳ３６、Ｓ３７）は、テクスチャ制御部１０はアドレスオフセット値として“３”をデータ取得部１１に与える（ステップＳ３８）。これにより、座標計算部２１−０〜２１−３は、サンプリング点に対してＶ座標が“＋３”ずれた位置のテクセル１２と、テクセル１２にＵ軸方向に隣接する３つのテクセル１３〜１５の４つのテクセル１２〜１５の座標を計算する（ステップＳ１２）。そしてテクセル取得部２２−０〜２２−３がテクセル１２〜１５をキャッシュメモリ１２から読み出す（ステップＳ１３）。次にフィルタリング処理部１３がテクセル１２〜１５につき（４×１）フィルタリングを行い（ステップＳ１４）、その結果であるテクセル１２’がデータ保持部１５に保持される（ステップＳ３３）。データ保持部１５では、更にテクセル１２’が加算される（ステップＳ３４）。この結果、（４×４）フィルタリングが完了する。そしてカウンタ値が“４”となる（ステップＳ３５）。
【００７１】
カウンタ値が繰り返し回数“４”と等しくなるため、テクスチャ制御部１０はデータ保持部１５の内容をピクセル処理部６へ出力するよう命令する。
【００７２】
図２９及び図３０の具体例について図３１を用いて説明する。図３１はフィルタリング処理過程におけるテクスチャ画像である。図示するように、（４×１）フィルタリングを行うことにより、４つのテクセルを含み、且つ横方向にぼけたテクスチャ画像が得られ、これらを加算することによって、更に縦にぼけた１つのテクセルを含むテクスチャ画像が完成する。
【００７３】
上記のように、この発明の第２の実施形態に係るグラフィックプロセッサであると、第１の実施形態で説明した（１）の効果に加えて、下記（２）の効果が得られる。  
（２）テクスチャマッピングにおける負荷を軽減出来る。  
本実施形態に係るグラフィックプロセッサであると、テクスチャユニット７はピクセル処理部６から繰り返し回数を情報として受け取る。そしてテクスチャユニット７は、繰り返し回数だけ、テクセルの取得処理を繰り返す。例えば、（４×１）モードによるテクセルの取得を４回繰り返した場合、ピクセル処理部６から与えられる１回のテクセル取得命令で（４×４）＝１６個のテクセルを取得し、（４×４）フィルタリングを行うことが可能である。
【００７４】
この点、従来の構成であると（２×２）個以上のテクセルを読み出す場合、その度にピクセル処理部６がテクセル取得命令をテクスチャユニット７へ与える必要があった。しかし本実施形態ではピクセル処理部６から与えられる１回のテクセル取得命令により、テクスチャユニット７は複数回のテクセル取得処理を実行出来る。従って、テクスチャマッピングを行うグラフィックプロセッサにおいて、ピクセル処理部６の負荷を軽減出来る。
【００７５】
次に、この発明の第３の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第１の実施形態においてデータ取得部１１で読み出したテクセルにつき重み付けを行う構成に関するものである。図３２は、本実施形態に係るテクスチャユニット７のブロック図である。なおテクスチャユニット７以外の構成は第１の実施形態と同様であるので説明は省略する。
【００７６】
図示するようにテクスチャユニット７は、テクスチャ制御部１０、データ取得部１１、キャッシュメモリ１２、フィルタリング処理部１３、フィルタリング係数取得部１６、及びフィルタリング係数保持部１７を備えている。
【００７７】
テクスチャ制御部１０は、ピクセル処理部６から係数情報を受信する。そして、上記第１の実施形態で説明した機能に加えて、フィルタリング係数取得部１６に対して係数情報に基づく補間係数の取得を命令する。補間係数については後述する。
【００７８】
データ取得部１１及びキャッシュメモリ１２の構成及び動作は第１の実施形態で説明したとおりである。
【００７９】
フィルタリング係数保持部１７は補間係数を保持する。フィルタリング係数保持部１７の構成について図３３を用いて説明する。図３３はフィルタリング係数保持部１７の構成を示す模式図である。図示するように、フィルタリング係数保持部１７は複数のエントリ０〜Ｎ（Ｎは自然数）を備えたメモリである。そして、各エントリはそれぞれ４つの補間係数ｗ（ｎ０）〜ｗ（ｎ３）を保持している。但しｎはエントリ番号である。補間係数とは、テクセルに対する重み付けの情報である。フィルタリング係数保持部１７におけるエントリを、以下では係数エントリと呼ぶことがある。
【００８０】
フィルタリング係数取得部３４は、テクスチャ制御部１０から与えられる係数情報に従って、フィルタリング係数保持部１７のいずれかのエントリに保持されている補間係数を読み出す。図３４はフィルタリング係数取得部３４のブロック図である。
【００８１】
図示するようにフィルタリング係数取得部３４は、制御部３０、４つの係数選択部３１−０〜３１−３、及び４つの係数取得部３２−０〜３２−３を備えている。
【００８２】
制御部３０は、テクスチャ制御部１０から補間係数の取得命令、及び係数情報を受信する。そして、係数選択部３１−０〜３１−３に対して、入力された係数情報に応じてフィルタリング係数保持部１７から読み出すべき４つの補間係数の選択を命令する。
【００８３】
係数選択部３１−０〜３１−３は、テクセル取得部２２−０〜２２−３で読み出される４つのテクセルに対応して設けられている。そして、各々に対応づけられたテクセルに対して使用すべき補間係数を選択する。
【００８４】
係数取得部３２−０〜３２−３は、それぞれ係数取得部３１−０〜３１−３に対応づけて設けられている。係数取得部３２−０〜３２−３はそれぞれ、係数選択部３１−０〜３１−３で選択された結果、具体的にはフィルタリング係数保持部１７におけるエントリ、に基づいて、フィルタリング係数保持部１７から補間係数を読み出す。読み出された補間係数はフィルタリング処理部１３へ与えられる。
【００８５】
なお、図３４及び上記説明では、係数選択部及び係数取得部がそれぞれ４個ずつ設けられている場合について説明した。しかし図３４はあくまでフィルタリング係数取得部３４の機能を図示したものであり、勿論、図３４の構成を有していても良いが、係数選択部及び係数取得部がそれぞれ１個だけ設けられていても良い。つまり、４個の補間係数を読み出すことの出来る構成であれば限定されるものではない。
【００８６】
フィルタリング処理部１３は、データ取得部１１で得られたテクセルと、フィルタリング係数取得部１６で得られた補間係数とを乗算し、４つのテクセルに関する乗算結果を加算する。図３５はフィルタリング処理部１３と、データ取得部１１及びフィルタリング係数取得部１６の一部領域のブロック図である。
【００８７】
図示するようにフィルタリング処理部１３は、乗算器４０−０〜４０−３及び加算器４１を備えている。乗算器４０−０〜４０−３はそれぞれ、テクセル取得部２２−０〜２２−３で読み出されたテクセルと、係数取得部３２−０〜３２−３で読み出された補間係数との乗算を行う。加算器４１は、乗算器４０−０〜４０−３における乗算結果を加算して、加算結果をピクセル処理部６へ出力する。
【００８８】
次に、上記構成のグラフィックプロセッサ１におけるテクスチャユニット７の動作について図３６のフローチャートを用いて説明する。  
まず、ピクセル処理部６がテクスチャ制御部１０に対して、あるピクセルＰ１のＸＹ座標を入力すると共に、ピクセルＰ１に対応する４つのテクセルの取得命令を与える（ステップＳ１０）。この際、取得モードだけでなく係数情報も併せてピクセル処理部６からテクスチャ制御部１０に入力される。次にテクスチャ制御部１０は、上記第１の実施形態で説明したステップＳ１１〜Ｓ１３の処理を行って、４つのテクセルを読み出す。
【００８９】
またテクスチャ制御部１０は、ピクセル処理部６から与えられた係数情報をフィルタリング係数取得部１６へ与え、フィルタリング係数の取得を命令する（ステップＳ４０）。すると、係数情報に基づいて係数選択部３１−０〜３１−３が、フィルタリング係数保持部１７におけるいずれかの係数エントリを選択する（ステップＳ４１）。次に、係数取得部３２−０〜３２−３が係数選択部３１−０〜３１−３で選択された係数エントリから補間係数を読み出す（ステップＳ４２）。
【００９０】
そしてフィルタリング処理部１３が、フィルタリング係数取得部１６で読み出された４つの補間係数を用いて、データ取得部１１で読み出された４つのテクセルにつきフィルタリング処理を行う（ステップＳ４３）。
【００９１】
上記ステップＳ４１の具体例について図３７乃至図３９を用いて説明する。図３７及び図３８はそれぞれフィルタリング係数取得部１６の一部領域のブロック図であり、図３７は係数エントリ＝“０”が選択される場合、図３８は係数エントリ＝“１”が選択される場合について示している。
【００９２】
まず図３７に示すように、係数選択部３１−０〜３１−３は係数エントリＥＮとして“０”を選択する。この際、選択した係数エントリ内に含まれる４つの補間係数のうちのい
ずれの選択も行う。これが係数番号ＣＮで表される。フィルタリング係数保持部１７の保持するデータが図３３に示す通りであったとすると、図３７の場合、係数選択部３１−０〜３１−３はそれぞれ係数取得部３２−０〜３２−３に対して、係数エントリ“０”内の補間係数ｗ００〜ｗ０３をそれぞれ読み出すように命令する。
【００９３】
図３８の場合には、係数選択部３１−０〜３１−３はそれぞれ係数取得部３２−０〜３２−３に対して、係数エントリ“１”内の補間係数ｗ００〜ｗ０３をそれぞれ読み出すように命令する。
【００９４】
次に図３９の例について説明する。図３９は図３７及び図３８の例を一般化して示すものである。図示するように係数選択部３１−０〜３１−３はそれぞれ、入力される係数情報に基づいて、フィルタリング係数保持部１７におけるいずれかの係数エントリＥＮ＝“ｊ０”〜“ｊ３”を選択する。また、選択した係数エントリ内において、いずれの補間係数を選択するかを係数番号ＣＮ＝“ｋ０”〜“ｋ３”により選択する。この際、各係数選択部３１−０〜３１−３が選択する“ｊ０”〜“ｊ３”は、異なる係数エントリＥＮを選択するものであっても良いし、同一の係数エントリＥＮを選択するものであってもよい。また、各係数選択部３１−０〜３１−３が選択する“ｋ０”〜“ｋ３”は、異なる係数番号ＣＮを選択するものであってもよいし、同一の係数番号ＣＮを選択するものであっても良い。例えば、係数選択部３１−０〜３１−３がそれぞれ係数エントリＥＮ＝“０”〜“３”を選択し、また同一の係数番号ＣＮ＝“０”を選択したとする。この場合には、係数取得部３２−０〜３２−３はそれぞれ、補間係数ｗ００、ｗ１０、ｗ２０、ｗ３０を読み出す。
【００９５】
次に、フィルタリング処理部１３におけるフィルタリング処理（ステップＳ４３）の詳細について図４０を用いて説明する。図３０は本実施形態に係るフィルタリング処理Ｓ４３のフローチャートである。まずデータ取得部１１で読み出された４つのテクセルがフィルタリング処理部１３へ入力される（ステップＳ２０）。一例として、テクセル取得部２２−０〜２２−３がそれぞれテクセル０〜３が読み出した場合を仮定する。更に、フィルタリング係数取得部１６で読み出された４つの補間係数がフィルタリング処理部１３へ入力される（ステップＳ５０）。一例として、係数取得部３２−０〜３２−３がそれぞれ補間係数ｗ００、ｗ０１、ｗ０２、ｗ０３を読み出した場合を仮定する。
【００９６】
すると、フィルタリング処理部１３における乗算器４０−０〜４０−３がそれぞれ、テクセル０〜３のベクトル値を読み出す（ステップＳ２１）。引き続き乗算器４０−０〜４０−３はそれぞれ、テクセル０〜３のベクトル値と、対応する補間係数ｗ００、ｗ０１、ｗ０２、ｗ０３との乗算を行う（ステップＳ５１）。次に、加算器４１が乗算器４０−０〜４０−３における乗算結果を加算する（ステップＳ５２）。この加算結果がフィルタリング処理後のテクセルとなり、加算器４１は加算結果をピクセル処理部６へ出力する（ステップＳ２３）。
【００９７】
すなわち、フィルタリング処理部１３では次式の計算を行い、その計算結果をピクセル処理部６へ出力する。  
Ｖ０・ｗ０＋Ｖ１・ｗ１＋Ｖ２・ｗ２＋Ｖ３・ｗ３  
但し、Ｖ０〜Ｖ３はそれぞれテクセル取得部２２−０〜２２−３で読み出されたテクセルのベクトル値であり、ｗ０〜ｗ３はそれぞれ係数取得部３２−０〜３２−３で読み出された補間係数である。
【００９８】
上記のように、この発明の第３の実施形態に係るグラフィックプロセッサであると、第１の実施形態で説明した（１）の効果に加えて、下記（３）の効果が得られる。  
（３）フィルタリング処理の自由度を向上出来る（その２）。  
本実施形態に係るグラフィックプロセッサであると、読み出したテクセルについての重み付けに関する情報（補間係数）をフィルタリング係数保持部１７が保持している。そして、データ取得部１１において読み出されたテクセルに応じてフィルタリング係数取得部１６が補間係数を読み出し、フィルタリング処理部１３は読み出された補間係数を用いてフィルタリング処理を行っている。従って、複数のテクセルを用いてフィルタリング処理を行う場合に、複数のテクセルに対して各種の重みを設定することが出来、フィルタリング処理の自由度を向上出来る。
【００９９】
また本実施形態では、フィルタリング係数取得部１６がテクスチャユニット７内に設けられている。そのため、フィルタリング係数の取得処理をテクスチャユニット７内で完結させることが可能となり、ピクセル処理部６に対する負荷を増加させることなく高速なフィルタリング処理が可能となる。
【０１００】
次に、この発明の第４の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第２、第３の実施形態を組み合わせたものである。図４１は、本実施形態に係るテクスチャユニット７のブロック図である。なおテクスチャユニット７以外の構成は第１の実施形態と同様であるので説明は省略する。
【０１０１】
図示するようにテクスチャユニット７は、テクスチャ制御部１０、データ取得部１１、キャッシュメモリ１２、フィルタリング処理部１３、カウンタ１４、データ保持部１５、フィルタリング係数取得部１６、及びフィルタリング係数取得部１７を備えている。
【０１０２】
テクスチャ制御部１０は、上記実施形態で説明したＵＶ座標、取得モード、繰り返し回数、及び係数情報をピクセル処理部６から受け取る。そして第２の実施形態で説明したとおり、データ取得部１１に対して繰り返し回数だけ、テクセルの取得処理を命令する。またテクスチャ制御部１０は、フィルタリング係数取得部１６に対して繰り返し回数だけ、補間係数の取得を命令する。
【０１０３】
図４２は、フィルタリング係数保持部１７の構成を示す模式図である。図示するように、フィルタリング係数保持部１７は複数のエントリ０〜Ｎを備えたメモリである。そして各エントリは、それぞれ補間係数テーブル０〜ｎを保持している。但しｎはエントリ番号である。補間係数テーブルについて図４３を用いて説明する。図４３は補間係数テーブル０の模式図である。図示するように補間係数テーブル０は、複数のエントリ０〜Ｍ（これを以下ではテーブル内エントリＴＥＮと呼ぶ）を備えており、各エントリは係数番号ＣＮ＝０〜３に対応した補間係数を保持している。
【０１０４】
フィルタリング係数取得部１６は、係数情報に基づいていずれかの補間係数テーブルを選択する。更に繰り返し回数ｉに応じて、選択した補間係数テーブル内の補間係数を選択する。  
その他の構成は第１乃至第３の実施形態で説明したとおりである。
【０１０５】
次に、上記構成のグラフィックプロセッサ１におけるテクスチャユニット７の動作について図４４のフローチャートを用いて説明する。  
まず、ピクセル処理部６がテクスチャ制御部１０に対して、あるピクセルＰ１のＸＹ座標を入力すると共に、ピクセルＰ１に対応する４つのテクセルの取得命令を与える（ステップＳ１０）。この際、取得モード、繰り返し回数、及び係数情報も併せてピクセル処理部６からテクスチャ制御部１０に入力される。次に、テクスチャ制御部１０はピクセルＰ１に対応するテクセル座標を算出し、算出したテクセル座標及び取得モードと共に、テクセル取得をデータ取得部１１に対して命令する（ステップＳ３０）。この際、テクスチャ制御部１０は繰り返し回数も併せてデータ取得部１１へ与えても良い。同時にテクスチャ制御部１０は、ピクセル処理部６から与えられた係数情報をフィルタリング係数取得部１６へ与え、フィルタリング係数の取得を命令する（ステップＳ４０）。更にテクスチャ制御部１０は、データ保持部１５内のデータをリセットし（ステップＳ３１）、カウンタ１４のカウンタ値をリセットする（ステップＳ３２）。
【０１０６】
次にデータ取得部１１は、ピクセルＰ１に対応するテクセル座標（サンプリング点）近傍の４つのテクセルを取得モードに応じて選択し、これらのアドレスを計算する（ステップＳ１２）。そしてデータ取得部１１は、ステップＳ１２で算出したアドレスに基づいて、テクセルをキャッシュメモリ１２から読み出す（ステップＳ１２）。
【０１０７】
また係数選択部３１−０〜３１−３は、係数情報に基づいてフィルタリング係数保持部１７におけるいずれかの係数エントリを選択し、更にいずれかのテーブル内エントリを選択する（ステップＳ６０）。次に、係数取得部３２−０〜３２−３が係数選択部３１−０〜３１−３で選択されたテーブル内エントリから補間係数を読み出す（ステップＳ４２）。その後、上記第２、第３の実施形態で説明したステップＳ４３、Ｓ３３〜Ｓ３８の処理が行われる。すなわち、フィルタリング処理部１３が、フィルタリング係数取得部１６で読み出された４つの補間係数を用いて、データ取得部１１で読み出された４つのテクセルにつきフィルタリング処理を行う（ステップＳ４３）。その結果はデータ保持部１５内に保持される（ステップＳ３３）。データ保持部１５においては、既に保持されているデータに対して、新たに与えられたテクセルを加算する処理が行われる（ステップＳ３４）。但し、データ保持部３１のリセット直後である場合には、入力されたテクセルがそのまま保持される。そして、カウンタ値と繰り返し回数とが比較される（ステップＳ３６）。カウンタ値が繰り返し回数に達していれば（ステップＳ３７、ＹＥＳ）、処理は終了する。達していなければ（ステップＳ３７、ＮＯ）、テクスチャ制御部１０はアドレスオフセット値と共に再度のテクセル取得をデータ取得部１１へ命令する（ステップＳ３８）。この際テクスチャ処理部１０は、テーブル内エントリＴＥＮを“＋１”する旨を新たに係数情報に与える（ステップＳ６１）。
【０１０８】
以後、カウンタ値が繰り返し回数に達するまでステップＳ１２、Ｓ１３、Ｓ６０、Ｓ４２、Ｓ４３、Ｓ３３〜Ｓ３８、Ｓ６１の処理を繰り返す。その際、ステップＳ１２におけるアドレス計算には、ステップＳ３８で与えられるアドレスオフセット値が使用され、ステップＳ６０におけるテーブル内エントリＴＥＮの選択には、ステップＳ６１で与えられるテーブル内エントリＴＥＮが使用される。
【０１０９】
ステップＳ６０の詳細について図４５乃至図４７を用いて説明する。図４５及び図４６はそれぞれ係数エントリ＝“０”が選択される際のフィルタリング係数取得部１６の一部領域のブロック図であり、図４５はカウンタ値がゼロ（ｉ＝０）の場合、図４６はカウンタ値が“１”（ｉ＝１）の場合について示している。
【０１１０】
まず図４５に示すように、係数選択部３１−０〜３１−３は係数エントリＥＮとして“０”を選択する。また、繰り返し回数に応じてテーブル内エントリＴＥＮを選択する。具体的には、例えばカウンタ値に等しい番号のテーブル内エントリＴＥＮが選択される。従って、カウンタ値がゼロの場合、係数選択部３１−０〜３１−３はテーブル内エントリＴＥＮとして“０”を選択する。また、係数選択部３１−０〜３１−３は、それぞれ係数番号ＣＮ＝０〜３をそれぞれ選択したとする。すると、係数選択部３１−０〜３１−３はフィルタリング係数保持部１７における補間係数テーブル０を選択する。また補間係数テーブル０が図４３に示す通りであったとすると、係数選択部３１−０〜３１−３は、係数取得部３２−０〜３２−３に対して、それぞれテーブル内エントリＴＥＮ＝“０”における補間係数ｗ００〜ｗ０３を読み出すように命令する。
【０１１１】
図４６の場合には、カウンタ値が“１”であるので、係数選択部３１−０〜３１−３は係数取得部３２−０〜３２−３に対して、それぞれテーブル内エントリＴＥＮ＝“０”における補間係数ｗ１０〜ｗ１３を読み出すように命令する。
【０１１２】
次に図４７の例について説明する。図４７は図４５及び図４６の例を一般化して示すものである。図示するように係数選択部３１−０〜３１−３は、入力される係数情報に基づいて、フィルタリング係数保持部１７におけるいずれかの係数エントリＥＮ＝“ｊ”を選択する。すなわち、補間係数テーブル“ｊ”を選択する。また、繰り返し回数ｉに応じて、選択した補間係数テーブル“ｊ”内のテーブル内エントリＴＥＮ＝“ｉ”を選択する。また、選択したテーブル内エントリ内において、いずれの補間係数を選択するかを係数番号ＣＮ＝“ｋ”により選択する。勿論、係数選択部３１−０〜３１−３は、互いに異なる係数エントリＥＮ＝“ｊ０”〜“ｊ３”をそれぞれ選択し、更に異なる係数番号ＣＮ＝“ｋ０”〜“ｋ３”をそれぞれ選択しても良い。これは上記第３の実施形態で説明した通りである。
【０１１３】
上記のように、この発明の第４の実施形態に係るグラフィックプロセッサであると、第１乃至第３の実施形態でそれぞれ説明した（１）乃至（３）の効果が得られる。
【０１１４】
次に、この発明の第５の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第４の実施形態で説明したグラフィックプロセッサの第１の応用例に関するものであり、物体に対して光が照射された場合の処理に関する。
【０１１５】
例えば図４８の模式図に示すように、光源からポリゴンに対して光が照射されているとする。このような場合の画像描画処理は、ポリゴンの各頂点Ｐ１〜Ｐ３におけるパラメータと、光源に関する係数（これをライティング係数と呼ぶ）との内積計算により行われる。ポリゴンの各頂点Ｐ１〜Ｐ３におけるパラメータは、例えば２５次元であり、（２５×１）の行列で表すことが出来る。ライティング係数もＰ１〜Ｐ３と同様の例えば２５次元のパラメータであり、（１×２５）の行列で表すことが出来る。
【０１１６】
そこで、図４９の模式図に示すように、各頂点Ｐ１〜Ｐ３についての（２５×１）行列と、ライティング係数についての（１×２５）行列との内積を計算して、光に対する描画処理が行われる。図４９では頂点Ｐ１についてのみ図示しているが、頂点Ｐ２、Ｐ３についても同様の計算が行われる。
【０１１７】
この際、ポリゴンの各頂点Ｐ１〜Ｐ３のパラメータを拡張し、例えばＲＧＢ、αについて２５個のパラメータを有する（２５×４）行列で表現する場合がある。この場合には、ライティング係数も、少なくとも（４×２５）行列に拡張される。すると図５０の模式図に示すように、頂点Ｐ１〜Ｐ３の各々について、（２５×４）行列と（４×２５）行列との内積を行う必要がある。
【０１１８】
この場合において、頂点Ｐ１〜Ｐ３の各々の（２５×４）行列、及びライティング係数となる（４×２５）行列を、それぞれテクスチャ及び補間係数として設定する。そして、ピクセル処理部６は、テクセルアドレスとして頂点のパラメータの最初の列であり且つ最初の行に相当するパラメータのアドレスを与え、取得モードを（１×４）モード、繰り返し回数を２５回と設定して、テクセル（つまりＰ１〜Ｐ３のパラメータ）の取得をテクスチャユニット７へ命令する。この際、係数情報として与えられるライティング係数を用いてフィルタリング処理を行うように命令する。その後は、上記第４の実施形態で説明した処理を行う。
【０１１９】
以下、具体例を用いて説明する。図５１は、頂点Ｐ１のパラメータをテクスチャとして設定した際の模式図である。図示するように、頂点Ｐ１の赤色成分Ｒ、緑色成分Ｇ、青色成分、及び透明度成分αはそれぞれ、（６×４）行列の２４個の成分を有している。赤色成分Ｒの各成分をＲ００〜Ｒ２３、緑色成分Ｇの各成分をＧ００〜Ｇ２３、青色成分Ｂの各成分をＢ００〜Ｂ２３、透明度成分αの各成分をα００〜α２３と呼ぶことにする。
【０１２０】
図５２は、補間係数として設定されたライティング係数について示している。図示するように、６個のエントリ０〜５の各々には、４つのライティング係数が格納される。エントリ０にはライティング係数ｗ００、ｗ０１、ｗ０２、ｗ０３が格納され、エントリ１にはライティング係数ｗ１０、ｗ１１、ｗ１２、ｗ１３が格納され、エントリ５にはライティング係数ｗ５０、ｗ５１、ｗ５２、ｗ５３が格納される。
【０１２１】
するとテクスチャユニット７は、まず赤色成分について、Ｒ００を先頭アドレス、繰り返し回数６回として、第４の実施形態で説明した（１×４）フィルタリングを行う。この様子を図５３に示す。図示するように、データ取得部１１は赤色成分の最初の列Ｒ００〜Ｒ０３を読み出す。またフィルタリング係数取得部１６は補間係数ｗ００〜ｗ０３を読み出す。そしてフィルタリング処理部１３が、（Ｒ００×ｗ００＋Ｒ０１×ｗ０１＋Ｒ０２×ｗ０２＋Ｒ０３×ｗ０３）の計算を行う。次に。データ取得部１１は赤色成分の２列目であるＲ０４〜Ｒ０７を読み出す。またフィルタリング係数取得部１６は補間係数ｗ１０〜ｗ１３を読み出す。そしてフィルタリング処理部１３が、（Ｒ０４×ｗ１０＋Ｒ０５×ｗ１１＋Ｒ０６×ｗ１２＋Ｒ０７×ｗ１３）の計算を行う。テクスチャユニット７は、以上の計算を、赤色成分Ｒの（６×４）行列の最後の列（Ｒ２０〜Ｒ２３）まで繰り返し、その結果の総和を出力する。  
緑色成分Ｇ、青色成分Ｂ、及び透明度成分αについても同様の計算が行われる。
【０１２２】
本実施形態に係るグラフィックプロセッサであると、上記実施形態で説明した（１）乃至（３）の効果に加えて、下記（４）の効果が得られる。  
（４）行列計算を高速化出来る。  
上記のように、光が照射されている際の物体の表現は行列計算によって行われる。しかし、物体をより豊かに表現しようとすると行列の要素が膨大となり、上記行列計算にかかる負担が非常に大きくなりがちである。
【０１２３】
しかし本実施形態に係る構成であると、ポリゴンの頂点に関するパラメータをテクスチャとして設定し、ライティング係数を補間係数として設定し、（１×４）モードでフィルタリング処理を繰り返している。従って、ピクセル処理部６は頂点に関するパラメータの先頭の要素を指定し、且つライティング係数の取得情報と繰り返し回数を与えるだけで、全ての行列演算を行うことが出来る。従って、行列演算を高速化出来る。
【０１２４】
なお、上記実施形態では頂点のパラメータとライティング係数との内積を例に説明したが、この場合に限らず（４×Ｌ）行列（但しＬは自然数）と（Ｌ×４）行列との内積計算を行うものであれば全てに適用可能である。勿論、（４×１）モードを使用すれば、（Ｌ×４）行列と（４×Ｌ）行列との内積計算にも適用出来る。
【０１２５】
次に、この発明の第６の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第４の実施形態で説明したグラフィックプロセッサの第２の応用例に関するものであり、テクスチャユニットをデブロッキングフィルタ（Deblocking filter）として使用するものである。
【０１２６】
図５４はＭＰＥＧ（Moving Picture Experts Group）画像の模式図である。図示するように、ＭＰＥＧ画像は二次元のＸＹ座標に描画されているものとする。ここでは説明の簡単化のために（１２×１２）個のピクセルによって描画された画像を仮定する。ＭＰＥＧ等の画像圧縮技術では、画像を例えば（８×８）個のピクセルのブロック、または（４×４）個のピクセルにブロックに分割する。そして、分割して得られた領域毎に、ＤＣＴ等の圧縮処理を行う。分割して得られた領域を以下ではピクセルブロックＭＢＬＫと呼ぶこととし、本実施形態ではピクセルブロックＭＢＬＫが（４×４）個のピクセルを含む場合を仮定する。
【０１２７】
上記のような圧縮方法であると、異なるピクセルブロック間では、互いのピクセル情報が圧縮スキームに考慮されない。従って、隣接するブロック間（図５４において領域ＡＡ１、ＡＡ２で示した領域）において、ピクセルの輝度につきアーティファクトが生じる場合がある。これは通常ブロックノイズ（block noise）と呼ばれている。本実施形態は、上記第２、第４の実施形態で説明したグラフィックプロセッサにおけるテクスチャユニット７を、ブロックノイズを低減するデブロッキングフィルタとして用いる。
【０１２８】
図５５は、テクスチャユニット７を用いたブロックノイズ低減処理のフローチャートである。図示するように、まずＭＰＥＧ画像をテクスチャ画像として設定する（ステップＳ７０）。次に、ピクセルブロックの境界を挟んでＵ方向で隣接するテクセルについて、（４×１）モードでフィルタリング処理を行う（ステップＳ７１）。この様子を示しているのが図５６である。図５６はテクスチャの概念図である。図５６において、斜線を付したテクセルが、フィルタリング処理を行うべきテクセルである。なお図５６ではテクセルブロックＴＢＬＫ０におけるテクセル６、７、１４についてのフィルタリングの様子のみを示している。
【０１２９】
図示するように、テクセルブロックＴＢＬＫ０のテクセル６につきフィルタリング処理を行う場合には、例えばテクセルブロックＴＢＬＫ０のテクセル２、４、６、及びテクセルブロックＴＢＬＫ１のテクセル１２を読み出してフィルタリング処理を行う。また、テクセルブロックＴＢＬＫ０のテクセル７につきフィルタリング処理を行う場合には、例えばテクセルブロックＴＢＬＫ０のテクセル３、５、７、及びテクセルブロックＴＢＬＫ１のテクセル１３を読み出してフィルタリング処理を行う。更に、テクセルブロックＴＢＬＫ０のテクセル１４につきフィルタリング処理を行う場合には、例えばテクセルブロックＴＢＬＫ０のテクセル１０、１２、１４、及びテクセルブロックＴＢＬＫ１のテクセル８を読み出してフィルタリング処理を行う。以上のようにして、テクセルブロックＴＢＬＫ０のテクセル６と同一のＵ座標を有する１２個のテクセルにつき、それぞれ（４×１）フィルタリングを行う。なお、テクセルの取り方はこれに限定されるものでは無く、例えばテクセルブロックＴＢＬＫ０のテクセル６につきフィルタリング処理を行う場合には、テクセルブロックＴＢＬＫ０のテクセル４、６、及びテクセルブロックＴＢＬＫ１のテクセル１２、１４を読み出しても良い。
【０１３０】
次に、テクセルブロックＴＢＬＫ１のテクセル１２とＵ座標が同一であるテクセルにつき、それぞれ（４×１）モードでのフィルタリング処理を行う。更にテクセルブロックＴＢＬＫ１のテクセル６とＵ座標が同一であるテクセルにつき、それぞれ（４×１）モードでのフィルタリング処理を行う。最後に、テクセルブロックＴＢＬＫ２のテクセル０とＵ座標が同一であるテクセルにつき、（４×１）モードでのフィルタリング処理を行う。
【０１３１】
以上のフィルタリング処理が終了すると、フィルタリング処理結果を新たなテクスチャ画像として設定する（ステップＳ７２）。そして、ピクセルブロックの境界を挟んでＶ方向で隣接するテクセルについて、（１×４）モードでフィルタリング処理を行う（ステップＳ７３）。この様子を示しているのが図５７である。図５７はテクスチャの概念図である。図５７において、斜線を付したテクセルが、フィルタリング処理を行うべきテクセルである。なお図５７ではテクセルブロックＴＢＬＫ０におけるテクセル９、１１、１３についてのフィルタリングの様子のみを示している。
【０１３２】
図示するように、テクセルブロックＴＢＬＫ０のテクセル９につきフィルタリング処理を行う場合には、例えばテクセルブロックＴＢＬＫ０のテクセル１、８、９、及びテクセルブロックＴＢＬＫ３のテクセル１２を読み出してフィルタリング処理を行う。また、テクセルブロックＴＢＬＫ０のテクセル１１につきフィルタリング処理を行う場合には、例えばテクセルブロックＴＢＬＫ０のテクセル３、１０、１１、及びテクセルブロックＴＢＬＫ３のテクセル１４を読み出してフィルタリング処理を行う。更に、テクセルブロックＴＢＬＫ０のテクセル１３につきフィルタリング処理を行う場合には、例えばテクセルブロックＴＢＬＫ０のテクセル５、１２、１３、及びテクセルブロックＴＢＬＫ３のテクセル８を読み出してフィルタリング処理を行う。以上のようにして、テクセルブロックＴＢＬＫ０のテクセル９と同一のＶ座標を有する１２個のテクセルにつき、それぞれ（４×１）フィルタリングを行う。なお、テクセルの取り方はこれに限定されるものでは無く、例えばテクセルブロックＴＢＬＫ０のテクセル９につきフィルタリング処理を行う場合には、テクセルブロックＴＢＬＫ０のテクセル８、９、及びテクセルブロックＴＢＬＫ３のテクセル１２、１３を読み出しても良い。
【０１３３】
次に、テクセルブロックＴＢＬＫ３のテクセル１２とＶ座標が同一であるテクセルにつき、それぞれ（１×４）モードでのフィルタリング処理を行う。更にテクセルブロックＴＢＬＫ３のテクセル５とＶ座標が同一であるテクセルにつき、それぞれ（１×４）モードでのフィルタリング処理を行う。最後に、テクセルブロック６のテクセル０とＶ座標が同一であるテクセルにつき、それぞれ（１×４）モードでのフィルタリング処理を行う。  
以上の処理の結果、ブロックノイズが低減されたＭＰＥＧ画像が得られる。
【０１３４】
上記のように、本実施形態に係るグラフィックプロセッサであると、上記実施形態で説明した（１）乃至（３）の効果に加えて、下記（５）の効果が得られる。  
（５）ブロックノイズの低減処理を、ハードウェアの増加を招くことなく高速に行うことが出来る。  
ブロックノイズを低減するための手法として、デブロッキングフィルタ等がＨ．２６４等の圧縮コーデックで規定されている。しかし、特別なハードウェアを有しない汎用のＣＰＵによって処理を行う場合、その処理量は大きく、デコード時における総演算量の５０％程度を占めることもある。そこで、ブロックノイズを低減するために新たなハードウェアを設ける方法が考え得るが、この場合にはグラフィックプロセッサのサイズ及びコストが増大するという問題があった。
【０１３５】
しかし本実施形態に係るグラフィックプロセッサであると、テクスチャユニット７をデブロッキングフィルタとして用いている。従って、ピクセル処理部６におけるブロックノイズ低減処理の負荷を軽減し、高速に処理を行うことが出来る。また、テクスチャユニット７を流用することで、ハードウェアの増加も防ぐことが出来る。
【０１３６】
次に、この発明の第７の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第１乃至第４の実施形態に係るグラフィックプロセッサの第３の応用例に関するものであり、被写界深度効果に適用したものである。コンピュータグラフィックスにおける被写界深度効果とは、現実のカメラにおいてピントがずれて映像がぼける現象をシミュレートすることを言う。被写界深度効果をコンピュータグラフィックス画像に与えることで、奥行き感のあるシーンを表現することが出来る。
【０１３７】
図５８は被写界深度効果についての処理のフローチャートである。図示するように、まずピクセル処理部６が画像を描画する（ステップＳ８０）。この際、テクスチャユニット７からテクスチャを読み出してテクスチャマッピングを行うが、用いられるテクスチャは上記実施形態で説明したぼかし処理を行わないテクスチャである。またステップＳ８０における画像描画により、各ピクセルについての奥行き値を得る（ステップＳ８１）。奥行き値とは、その画像における物体の位置を示すものであり、奥行き値が大きいということは、その物体が画像の奥、換言すれば遠い位置にあることを示す。
【０１３８】
次にステップＳ８０で描画した画像をテクスチャ画像として設定し、数種類の繰り返し回数を用いてフィルタリング処理を行う（ステップＳ８２）。これにより、ぼかし度合いの異なる複数の画像を得ることができる（ステップＳ８３）。図５９は、テクスチャ画像とその精細度とを示す概念図である。図示するように、フィルタリングを行わない画像５０と、例えば繰り返し回数ｉ＝０、２、４、８でフィルタリング処理を行った画像５１〜５４を用意する、複数枚のテクスチャ画像を用意する。当然ながら、繰り返し回数が多いほど、得られる画像はぼけたものとなる。
【０１３９】
次にピクセル処理部６は、各ピクセルの奥行き値に応じて、適切な画像５０〜５４のいずれかのピクセルをフレームバッファに貼り付けることにより画像を描画する（ステップＳ８４）。勿論、奥行き値の大きい画像であるほど、ぼけたテクスチャ画像が選択される。ステップＳ６０の処理の模式図を図６０に示す。図示するように、ピクセル処理部６はまず奥行き値５５から、ピクセルＡに対応する位置の奥行き値を読み出す。そして、読み出した奥行き値に適切な画像５０〜５４のいずれかのピクセルＡを読み出す。そして、フレームバッファ５６において、ピクセルＡと同一の場所に位置するピクセルＡ’に、読み出したピクセルＡを貼り付ける。
【０１４０】
図６１は、ピクセル処理部６がフレームバッファ５６に貼り付けるべきピクセルを生成する際の様子を示している。図示するように、ピクセルＡの奥行き値が、画像の最前面よりも少し奥にある場合には、フィルタリングを行っていない画像５０と、ぼけた画像５１とを用いて線形補間を行う。そしてその結果を、フレームバッファ５６へ貼り付けるべきピクセルＡとする。またピクセルＡよりも更に奥行き値の大きいピクセルＢの場合には、ぼけた画像５１と更にぼけた画像５２とを用いて線形補間を行い、フレームバッファ５６に貼り付けるべきピクセルＢを生成する。
【０１４１】
上記のように、本実施形態に係るグラフィックプロセッサであると、上記実施形態で説明した（１）乃至（３）の効果に加えて、下記（６）の効果が得られる。  
（６）被写界深度効果をコンピュータグラフィックス画像に容易に与えることが出来る。  
本実施形態であると、精細度の異なる画像を複数用意し、奥行き値に応じて画像を選択している。この際、精細度の異なる画像を作成する際には、フィルタリング時における繰り返し回数を変化させるだけで良く、その他の特殊な処理は不要である。従って、非常に容易に被写界深度効果を得ることが出来る。
【０１４２】
次に、この発明の第８の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第１乃至第４の実施形態に係るグラフィックプロセッサの第４の応用例に関するものであり、ソフトシャドウ（Soft Shadow）効果を得るためのものである。ソフトシャドウ効果とは、影の輪郭のぼかすことを言う。現実の世界においては、太陽などの非常に明るく且つ指向性のある光源以外による影の多くは、はっきりとした輪郭を持たない。従って、ソフトシャドウ効果を用いることにより、コンピュータグラフィックス画像のリアリティを増すことが出来る。特に間接照明などを用いたシーンに有効である。
【０１４３】
図６２は、本実施形態に係るソフトシャドウ効果のフローチャートである。まず、ピクセル処理部６が画像を描画し、必要に応じてテクスチャマッピングを行う（ステップＳ９０）。描画された画像を図６３に示す。この時点において、画像内の影の輪郭ははっきりとしている。次に、影のみをとりだし、テクスチャ画像に設定する（ステップＳ９１）。そして、テクスチャ画像に設定した影についてフィルタリング処理を行う（ステップＳ９２）。フィルタリング処理の具体的な手法は上記実施形態で説明したとおりである。但し、影全体についてフィルタリング処理を行う必要は無く、影の輪郭部分のみについて行えば十分である。この処理の様子を示しているのが図６４である。図示するように、輪郭のぼけた影の画像が得られる。最後に、ステップＳ９２で得られた影を元の画像（図６３）の影に置き換える（ステップＳ９３）と、図６５に示すように、影の輪郭がぼけて、よりリアリティのある画像が得られる。  
このように、上記実施形態はソフトシャドウ効果に用いることも出来る。
【０１４４】
次に、この発明の第９の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第１乃至第４の実施形態に係るグラフィックプロセッサの第５の応用例に関するものであり、テクセルの取得方法に関するものである。
【０１４５】
本実施形態に係るグラフィックプロセッサは、新たにテクセル取得パラメータＥを有している。パラメータＥは、取得モードと共にピクセル処理部６からテクスチャユニット７に与えられる。座標計算部２１−０〜２１−３では取得モード、ＵＶ座標、及びパラメータＥを用いて計算を行う。以下、パラメータＥについて説明する。パラメータＥとは、取得する４つのテクセルの間隔を示す情報である。
【０１４６】
図６６は（４×１）モードにおいてＥ＝０、１、２の場合に読み出されるテクセルの位置関係を示している。図中における×印がサンプリング点であり、斜線を付した四角形が読み出されるテクセルを示している。図示するように、Ｅ＝０の場合には読み出されるテクセルの間隔はゼロである。Ｅ＝１であると、テクセルはＵ軸方向に１つとばしで読み出される。またＥ＝２の場合には、テクセルはＵ軸方向に２つとばしで読み出される。すなわち、座標計算部２１−０〜２１−３は、隣接するテクセルにパラメータＥの値を加算してＵ座標を計算する。具体的には、座標計算部２１−０は図９で説明した通り  
（ｓ０＝ｕ、ｔ０＝ｖ）  
であるが、座標計算部２１−１は  
（ｓ１＝ｓ０＋Ｅ、ｔ１＝ｖ）  
を計算する。また座標計算部２１−２は、  
（ｓ２＝ｓ１＋Ｅ、ｓ２＝ｖ）  
を計算する。また座標計算部２１−３は、  
（ｓ３＝ｓ２＋Ｅ、ｓ３＝ｖ）  
を計算する。
【０１４７】
図６７は（１×４）モードにおいてＥ＝０、１、２の場合に読み出されるテクセルの位置関係を示している。座標計算部２１−０は
（ｓ０＝ｕ、ｔ０＝ｖ）  
を計算する。座標計算部２１−１は  
（ｓ１＝ｕ、ｔ１＝ｔ０＋Ｅ）  
を計算する。また座標計算部２１−２は、  
（ｓ２＝ｕ、ｓ２＝ｔ１＋Ｅ）  
を計算する。また座標計算部２１−３は、  
（ｓ３＝ｕ、ｓ３＝ｔ２＋Ｅ）  
を計算する。
【０１４８】
図６８はクロスモードにおいてＥ＝０、１、２の場合に読み出されるテクセルの位置関係を示している。図示するようにクロスモードであると、読み出されるテクセルの位置はパラメータＥだけＵ軸及びＶ軸の両方に変化する。座標計算部２１−０は  
（ｓ０＝ｕ、ｔ０＝ｖ−１−Ｅ）  
を計算する。座標計算部２１−１は  
（ｓ１＝ｕ−１−Ｅ、ｔ１＝ｖ）  
を計算する。また座標計算部２１−２は、  
（ｓ２＝ｕ＋１＋Ｅ、ｓ２＝ｖ）  
を計算する。また座標計算部２１−３は、  
（ｓ３＝ｕ、ｓ３＝ｖ＋１＋Ｅ）  
を計算する。
【０１４９】
図６９はＲＣモードにおいてＥ＝０、１、２の場合に読み出されるテクセルの位置関係を示している。座標計算部２１−０は  
（ｓ０＝ｕ−１−Ｅ、ｔ０＝ｖ−１−Ｅ）  
を計算する。座標計算部２１−１は  
（ｓ１＝ｕ−１−Ｅ、ｔ１＝ｖ＋１＋Ｅ）  
を計算する。また座標計算部２１−２は、  
（ｓ２＝ｕ＋１＋Ｅ、ｓ２＝ｖ−１−Ｅ）  
を計算する。また座標計算部２１−３は、  
（ｓ３＝ｕ＋１＋Ｅ、ｓ３＝ｖ＋１＋Ｅ）  
を計算する。
【０１５０】
以上のように、パラメータＥを用いることにより、テクセルの読み出し方法に様々なバリエーションを与えることが可能である。
【０１５１】
上記のように、この発明の第１乃至第９の実施形態に係るグラフィックプロセッサであると、ピクセル処理部６がテクスチャユニット７に対してテクセルの取得モードを情報として与えている。そしてテクスチャユニット７は、取得モードに応じて（２×２）以外のパターンでテクセルを取得する。従って、テクセルのフィルタリング処理の自由度が飛躍的に向上する。また、ピクセル処理部６から繰り返し回数の指示を受け、その回数だけテクセル取得処理を繰り返すことで、テクセル取得に関するピクセル処理部６の負荷を軽減出来る。更に、補間係数を用いることにより、より豊かな画像表現が可能となる。
【０１５２】
なお上記実施形態では、例えば図８に示すように、（４×１）モードの場合には、サンプリング点に相当するテクセルと、サンプリング点からＵ軸の正方向に隣り合う３つのテクセルが読み出される場合について説明した。また（１×４）モードの場合には、サンプリング点に相当するテクセルと、サンプリング点からＶ軸の正方向に隣り合う３つのテクセルが読み出される場合について説明した。しかし、読み出される４つのテクセルの位置は上記の場合に限定されるものではなく、サンプリング点を基準にして適宜自由に設定出来る。図７０はＵＶ座標であり、（１×４）モードにおいて読み出される４つのテクセルとサンプリング点との関係を示している。図中において×印がサンプリング点である。
【０１５３】
ＣＡＳＥ１は上記実施形態で説明した場合である。ＣＡＳＥ２は、Ｖ座標がサンプリング点に対して“−１”となる位置を基準に正方向に４つのテクセルを取得する場合を示している。ＣＡＳＥ３は、Ｖ座標がサンプリング点に対して“−２”となる位置を基準に正方向に４つのテクセルを取得する場合を示している。ＣＡＳＥ４は、Ｖ座標がサンプリング点に対して“−３”となる位置を基準に正方向に４つのテクセルを取得する場合を示している。ＣＡＳＥ５は、Ｖ座標がサンプリング点に対して“＋１”となる位置を基準に正方向に４つのテクセルを取得する場合を示している。この場合、サンプリング点に相当するテクセルは読み出されない。（４×１）モードの場合も同様である。
【０１５４】
またデータ取得部１１の制御部２０は、座標計算時に使用するオフセットテーブルを有していても良い。図７１はオフセットテーブルの概念図である。オフセットテーブルとは、座標計算部２１−０〜２１−３が座標を計算する際に、サンプリング点に対応するＵＶ座標（ｕ、ｖ）に対して加算すべき値Δｓ０〜Δｓ３、Δｔ０〜Δｔ３を保持するテーブルである。つまり座標計算部２１−０〜２１−３は、制御部２０におけるオフセットテーブル内の値を読み出し、それぞれ次の計算を行う。  
（ｓ０、ｔ０）＝（ｕ＋Δｓ０、ｖ＋Δｔ０）  
（ｓ１、ｔ１）＝（ｕ＋Δｓ１、ｖ＋Δｔ１）  
（ｓ２、ｔ２）＝（ｕ＋Δｓ２、ｖ＋Δｔ２）  
（ｓ３、ｔ３）＝（ｕ＋Δｓ３、ｖ＋Δｔ３）  
図７１において、ｉは繰り返し回数（カウンタ値）であり、ｈ、ｇは定数または所定の関数等である。一例として（１×４）モードの場合について説明する。オフセットテーブルは、（１×４）モードにおいては、Δｓ０＝（ｉ×ｇ）、Δｔ０＝（０＋ｈ）、Δｓ１＝（ｉ×ｇ）、Δｔ１＝（１＋ｈ）、Δｓ２＝（ｉ×ｇ）、Δｔ２＝（２＋ｈ）、Δｓ３＝（ｉ×ｇ）、Δｔ３＝（３＋ｈ）である。ｈ＝０の場合が図７０におけるＣＡＳＥ１に相当する。ｈ＝−１、−２、−３の場合が、図７０におけるそれぞれＣＡＳＥ２〜ＣＡＳＥ４に相当する。またｈ＝１の場合が図７０におけるＣＡＳＥ５に相当する。また、ｇ＝１の場合には、テクセルの取得を繰り返す度にＵ座標が“＋１”されるが、ｇ＝２とすれば“＋２”とされ、１列間隔でテクセルが読み出される。（４×１）モードの場合も同様である。なおCrossモード及びＲＣモードの場合にも、繰り返し回数ｉの情報が与えられていても良い。
【０１５５】
また上記実施形態では、テクセルの取得を繰り返す際に、（４×１）モードではＶ軸の正方向に向かって繰り返し、（１×４）モードではＵ軸方向に向かって繰り返す場合について説明したが、この場合に限定されるものでもない。図７２はＵＶ座標であり、４つのテクセルの取得処理を繰り返す様子を示している。図示するように、処理を繰り返す度にＵ座標とＶ座標の両方が変化しても良い。この場合、ピクセル処理部６からテクスチャユニット７に対して、処理を進めるベクトル情報（Δｔ／Δｓ）が与えられれば良い。このベクトル情報に基づいて、制御部２０は図７１に示すオフセットテーブルを更新することが出来る。
【０１５６】
更に第３、第４の実施形態において、補間係数を使用するか否かは自由に選択することも可能である。図７３は、第３、第４の実施形態の変形例に係るフィルタリング処理部１３のブロック図である。図示するようにフィルタリング処理部１３は、図３５で説明した構成においてスイッチ４２−０〜４２−３を更に備えている。そして補間係数を使用する場合には、スイッチ４２−０〜４２−３は、テクセル取得部２２−０〜２２−３で取得されたテクセルを乗算器４０−０〜４０−３へ入力する。使用しない場合には、乗算器４０−０〜４０−３に入力することなく、直接加算器４１へ入力する。図７４は上記場合の処理のフローチャートである。図示するように、ステップＳ４２で補間係数を取得した後、補間係数を使用するか否かを判定する（ステップＳ１００）。使用する場合（ステップＳ１００、ＹＥＳ）にはステップＳ４３に進む。使用しない場合（ステップＳ１００、ＮＯ）にはステップＳ１４の処理を行って、ステップＳ３３に進む。
【０１５７】
また、補間係数を使用するか否かを処理の始めに判定し、使用しない場合には補間係数の取得を行わないことも可能である。図７５はこのような場合のフローチャートである。図示するようにステップＳ３０の後に、上記ステップＳ１００の処理を行う。そして使用する場合（ステップＳ１００、ＹＥＳ）にはステップＳ４０に進み、第４の実施形態で説明した処理を行う。使用しない場合（ステップＳ１００、ＮＯ）には、ステップＳ４０を省いてステップＳ３１に進み、第２の実施形態で説明した処理を行う。
【０１５８】
更に、上記実施形態では１度に読み出すテクセルの個数は４つである場合について説明したが、例えば４つ未満、または５つ以上であっても良い。この場合、例えば図３３に示す補間係数テーブルは、テクセルと同一の数の補間係数を保持する。
【０１５９】
また、上記第１乃至第９の実施形態に係るグラフィックプロセッサは、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図７６は上記第１乃至第９の実施形態に係るグラフィックプロセッサを備えたデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード１０００は、フロントエンド部１１００、画像描画プロセッサシステム１２００、デジタル入力部１３００、Ａ／Ｄコンバータ１４００、１８００、ゴーストリダクション部１５００、三次元ＹＣ分離部１６００、カラーデコーダ１７００、ＬＡＮ処理ＬＳＩ１９００、ＬＡＮ端子２０００、ブリッジメディアコントローラ２１００、カードスロット２２００、フラッシュメモリ２３００、及び大容量メモリ（例えばＤＲＡＭ）２４００を備えている。フロントエンド部１１００は、デジタルチューナーモジュール１１１０、１１２０、ＯＦＤＭ（Orthogonal Frequency Division Multiplex）復調部１１３０、ＱＰＳＫ（Quadrature Phase Shift Keying）復調部１１４０を備えている。
【０１６０】
画像描画プロセッサシステム１２００は、送受信回路１２１０、ＭＰＥＧ２デコーダ１２２０、グラフィックエンジン１２３０、デジタルフォーマットコンバータ１２４０、及びプロセッサ１２５０を備えている。そして、例えばグラフィックエンジン１２３０が、上記第１乃至第９の実施形態で説明したグラフィックプロセッサに対応する。
【０１６１】
上記構成において、地上デジタル放送波、ＢＳデジタル放送波、及び１１０°ＣＳデジタル放送波は、フロントエンド部１１００で復調される。また地上アナログ放送波及びＤＶＤ／ＶＴＲ信号は、３次元ＹＣ分離部１６００及びカラーデコーダ１７００でデコードされる。これらの信号は、画像描画プロセッサシステム１２００に入力され、送受信回路１２１０で、映像・音声・データに分離される。そして、映像に関しては、ＭＰＥＧ２デコーダ１２２０を介してグラフィックエンジン１２３０に映像情報が入力される。するとグラフィックエンジン１２３０は、上記実施形態で説明したようにして図形を描画する。
【０１６２】
図７７は、上記第１乃至第９の実施形態に係るグラフィックプロセッサを備えた録画再生機器のブロック図である。図示するように、録画再生機器３０００はヘッドアンプ３１００、モータードライバ３２００、メモリ３３００、画像情報制御回路３４００、ユーザＩ／Ｆ用ＣＰＵ３５００、フラッシュメモリ３６００、ディスプレイ３７００、ビデオ出力部３８００、及びオーディオ出力部３９００を備えている。
【０１６３】
画像情報制御回路３４００は、メモリインターフェース３４１０、デジタル信号プロセッサ３４２０、プロセッサ３４３０、映像処理用プロセッサ３４５０、及びオーディオ処理用プロセッサ３４４０を備えている。そして、例えば映像処理用プロセッサ３４５０及びデジタル信号プロセッサ３４２０が、上記第１乃至第９の実施形態で説明したグラフィックプロセッサに対応する。
【０１６４】
上記構成において、ヘッドアンプ３１００で読み出された映像データが画像情報制御回路３４００に入力される。そして、デジタル信号処理プロセッサ３４２０から映像情報用プロセッサ３４５０に図形情報が入力される。すると映像情報用プロセッサ３４５０は、上記実施形態で説明したようにして図形を描画する。
【０１６５】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【０１６６】
【図１】この発明の第１の実施形態に係るグラフィックプロセッサのブロック図。
【図２】この発明の第１の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図。
【図３】この発明の第１の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図。
【図４】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。
【図５】この発明の第１の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。
【図６】この発明の第１の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図。
【図７】この発明の第１の実施形態に係る画像処理方法のフローチャート。
【図８】ＵＶ座標の概念図であり、この発明の第１の実施形態に係るグラフィックプロセッサの（４×１）モードで取得されるテクセルの位置を示す図。
【図９】この発明の第１の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、（４×１）モードにおける座標計算の様子を示す図。
【図１０】ＵＶ座標の概念図であり、この発明の第１の実施形態に係るグラフィックプロセッサの（１×４）モードで取得されるテクセルの位置を示す図。
【図１１】この発明の第１の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、（１×４）モードにおける座標計算の様子を示す図。
【図１２】ＵＶ座標の概念図であり、この発明の第１の実施形態に係るグラフィックプロセッサのCrossモードで取得されるテクセルの位置を示す図。
【図１３】この発明の第１の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、Crossモードにおける座標計算の様子を示す図。
【図１４】ＵＶ座標の概念図であり、この発明の第１の実施形態に係るグラフィックプロセッサのＲＣモードで取得されるテクセルの位置を示す図。
【図１５】この発明の第１の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、ＲＣモードにおける座標計算の様子を示す図。
【図１６】ＵＶ座標の概念図であり、この発明の第１の実施形態に係るグラフィックプロセッサの（２×２）モードで取得されるテクセルの位置を示す図。
【図１７】この発明の第１の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、（２×２）モードにおける座標計算の様子を示す図。
【図１８】この発明の第１の実施形態に係る画像処理方法のフローチャートであり、特にフィルタリング処理を示す図。
【図１９】フィルタリング処理の概念図。
【図２０】テクスチャ画像の概念図であり、この発明の第１の実施形態に係る画像処理方法を用いたフィルタリング処理の様子を示す図。
【図２１】図面に代わる写真であって、フィルタリング処理前のテクスチャ画像であり、この発明の第１の実施形態に係る画像処理方法によって（４×１）フィルタリング行う様子を示す図。
【図２２】図面に代わる写真であって、（４×１）フィルタリング後のテクスチャ画像であり、この発明の第１の実施形態に係る画像処理方法によって（１×４）フィルタリング行う様子を示す図。
【図２３】図面に代わる写真であって、（４×４）フィルタリングのテクスチャ画像。
【図２４】この発明の第２の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。
【図２５】この発明の第２の実施形態に係る画像処理方法のフローチャート。
【図２６】この発明の第２の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、（４×１）モードにおいて繰り返し回数が１回の場合の座標計算の様子を示す図。
【図２７】この発明の第２の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、（４×１）モードにおいて繰り返し回数が２回の場合の座標計算の様子を示す図。
【図２８】この発明の第２の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、（４×１）モードにおいて繰り返し回数がｉ回の場合の座標計算の様子を示す図。
【図２９】（４×４）フィルタリングの概念図。
【図３０】この発明の第２の実施形態に係る画像処理方法による（４×４）フィルタリングの概念図。
【図３１】図面に代わる写真であって、フィルタリング処理前のテクスチャ画像であり、この発明の第２の実施形態に係る画像処理方法によって（４×４）フィルタリング行う様子を示す図。
【図３２】この発明の第３の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。
【図３３】この発明の第３の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数保持部の概念図。
【図３４】この発明の第３の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図。
【図３５】この発明の第３の実施形態に係るグラフィックプロセッサの備えるフィルタリング処理部のブロック図。
【図３６】この発明の第３の実施形態に係る画像処理方法のフローチャート。
【図３７】この発明の第３の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ０選択時の様子を示す図。
【図３８】この発明の第３の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ１選択時の様子を示す図。
【図３９】この発明の第３の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリｊ選択時の様子を示す図。
【図４０】この発明の第３の実施形態に係る画像処理方法のフローチャートであり、特にフィルタリング処理を示す図。
【図４１】この発明の第４の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。
【図４２】この発明の第４の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数保持部の概念図。
【図４３】この発明の第４の実施形態に係るグラフィックプロセッサの備える補間係数テーブルの概念図。
【図４４】この発明の第４の実施形態に係る画像処理方法のフローチャート。
【図４５】この発明の第４の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ０、テーブル内エントリ０選択時の様子を示す図。
【図４６】この発明の第４の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ０、テーブル内エントリ１選択時の様子を示す図。
【図４７】この発明の第４の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリｊ、テーブル内エントリｉ選択時の様子を示す図。
【図４８】ポリゴンに対して光源から光が照射されている様子を示す模式図。
【図４９】ポリゴンの頂点におけるパラメータと、ライティング係数との内積計算の様子を示す概念図。
【図５０】この発明の第５の実施形態に係る画像処理方法において、ポリゴンの頂点におけるパラメータと、ライティング係数との内積計算の様子を示す概念図。
【図５１】この発明の第５の実施形態に係る画像処理方法において、ポリゴンの頂点におけるパラメータの概念図。
【図５２】この発明の第５の実施形態に係る画像処理方法において、ライティング係数の概念図。
【図５３】この発明の第５の実施形態に係る画像処理方法において、ポリゴンの頂点におけるパラメータと、ライティング係数との内積計算の様子を示す概念図。
【図５４】この発明の第６の実施形態に係るグラフィックプロセッサで使用されるＭＰＥＧ画像の模式図。
【図５５】この発明の第６の実施形態に係る画像処理方法のフローチャート。
【図５６】この発明の第６の実施形態に係る画像処理方法による（４×１）フィルタリングの概念図。
【図５７】この発明の第６の実施形態に係る画像処理方法による（１×４）フィルタリングの概念図。
【図５８】この発明の第７の実施形態に係る画像処理方法のフローチャート。
【図５９】この発明の第７の実施形態に係る画像処理方法において使用する複数の画像と、その精細度との関係を示す概念図。
【図６０】この発明の第７の実施形態に係る画像処理方法を実行する際のピクセル処理部のブロック図。
【図６１】この発明の第７の実施形態に係る画像処理方法において使用する複数の画像と、それらの線形補間の様子を示す概念図。
【図６２】この発明の第８の実施形態に係る画像処理方法のフローチャート。
【図６３】この発明の第８の実施形態に係る画像処理方法が適用される画像の模式図。
【図６４】この発明の第８の実施形態に係る画像処理方法が適用される画像の模式図であり、影の部分についてフィルタリングを行う様子を示す図。
【図６５】この発明の第８の実施形態に係る画像処理方法を適用した後に得られる画像の模式図。
【図６６】この発明の第９の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、（４×１）モードでパラメータＥを変化させた際に読み出されるテクセルの位置関係を示す図。
【図６７】この発明の第９の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、（１×４）モードでパラメータＥを変化させた際に読み出されるテクセルの位置関係を示す図。
【図６８】この発明の第９の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、CrossモードでパラメータＥを変化させた際に読み出されるテクセルの位置関係を示す図。
【図６９】この発明の第９の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、ＲＣモードでパラメータＥを変化させた際に読み出されるテクセルの位置関係を示す図。
【図７０】ＵＶ座標の概念図であり、この発明の第１乃至第９の実施形態の第１変形例に係るグラフィックプロセッサの（１×４）モードで取得されるテクセルの位置を示す図。
【図７１】ＵＶ座標の概念図であり、この発明の第１乃至第９の実施形態の第２変形例に係るグラフィックプロセッサの備えるオフセットテーブルの概念図。
【図７２】ＵＶ座標の概念図であり、この発明の第１乃至第９の実施形態の第３変形例に係るグラフィックプロセッサの（１×４）モードでフィルタリングを行う様子を示す図。
【図７３】この発明の第１乃至第９の実施形態の第４変形例に係るグラフィックプロセッサの備えるフィルタリング処理部のブロック図。
【図７４】この発明の第１乃至第９の実施形態の第５変形例に係る画像処理方法のフローチャート。
【図７５】この発明の第１乃至第９の実施形態の第６変形例に係る画像処理方法のフローチャート。
【図７６】この発明の第１乃至第９の実施形態に係るグラフィックプロセッサを備えたデジタルテレビのブロック図。
【図７７】この発明の第１乃至第９の実施形態に係るグラフィックプロセッサを備えた録画再生機器のブロック図。
【符号の説明】
【０１６７】
１…グラフィックプロセッサ、２…ラスタライザ、３…ピクセルシェーダ、４…ローカルメモリ、５…データ振り分け部、６…ピクセル処理部、７…テクスチャユニット、１０…テクスチャ制御部、１１…データ取得部、１２…キャッシュメモリ、１３…フィルタリング処理部、１４…カウンタ、１５…データ保持部、１６…フィルタリング係数取得部、１７…フィルタリング係数保持部、２０、３０…制御部、２１−０〜２１−３…座標計算部、２２−０〜２２−３…テクセル取得部、３１−０〜３１−３…係数選択部、３２−０〜３２−３…係数取得部、４０−０〜４０−３…乗算器、４１…加算器、４２−０〜４２−３…スイッチ、５０〜５４…画像、５５…奥行き値、５６…フレームバッファ
【図１】
0004843377.tif 000002
【図２】
0004843377.tif 000003
【図３】
0004843377.tif 000004
【図４】
0004843377.tif 000005
【図５】
0004843377.tif 000006
【図６】
0004843377.tif 000007
【図７】
0004843377.tif 000008
【図８】
0004843377.tif 000009
【図９】
0004843377.tif 000010
【図１０】
0004843377.tif 000011
【図１１】
0004843377.tif 000012
【図１２】
0004843377.tif 000013
【図１３】
0004843377.tif 000014
【図１４】
0004843377.tif 000015
【図１５】
0004843377.tif 000016
【図１６】
0004843377.tif 000017
【図１７】
0004843377.tif 000018
【図１８】
0004843377.tif 000019
【図１９】
0004843377.tif 000020
【図２０】
0004843377.tif 000021
【図２１】
0004843377.tif 000022
【図２２】
0004843377.tif 000023
【図２３】
0004843377.tif 000024
【図２４】
0004843377.tif 000025
【図２５】
0004843377.tif 000026
【図２６】
0004843377.tif 000027
【図２７】
0004843377.tif 000028
【図２８】
0004843377.tif 000029
【図２９】
0004843377.tif 000030
【図３０】
0004843377.tif 000031
【図３１】
0004843377.tif 000032
【図３２】
0004843377.tif 000033
【図３３】
0004843377.tif 000034
【図３４】
0004843377.tif 000035
【図３５】
0004843377.tif 000036
【図３６】
0004843377.tif 000037
【図３７】
0004843377.tif 000038
【図３８】
0004843377.tif 000039
【図３９】
0004843377.tif 000040
【図４０】
0004843377.tif 000041
【図４１】
0004843377.tif 000042
【図４２】
0004843377.tif 000043
【図４３】
0004843377.tif 000044
【図４４】
0004843377.tif 000045
【図４５】
0004843377.tif 000046
【図４６】
0004843377.tif 000047
【図４７】
0004843377.tif 000048
【図４８】
0004843377.tif 000049
【図４９】
0004843377.tif 000050
【図５０】
0004843377.tif 000051
【図５１】
0004843377.tif 000052
【図５２】
0004843377.tif 000053
【図５３】
0004843377.tif 000054
【図５４】
0004843377.tif 000055
【図５５】
0004843377.tif 000056
【図５６】
0004843377.tif 000057
【図５７】
0004843377.tif 000058
【図５８】
0004843377.tif 000059
【図５９】
0004843377.tif 000060
【図６０】
0004843377.tif 000061
【図６１】
0004843377.tif 000062
【図６２】
0004843377.tif 000063
【図６３】
0004843377.tif 000064
【図６４】
0004843377.tif 000065
【図６５】
0004843377.tif 000066
【図６６】
0004843377.tif 000067
【図６７】
0004843377.tif 000068
【図６８】
0004843377.tif 000069
【図６９】
0004843377.tif 000070
【図７０】
0004843377.tif 000071
【図７１】
0004843377.tif 000072
【図７２】
0004843377.tif 000073
【図７３】
0004843377.tif 000074
【図７４】
0004843377.tif 000075
【図７５】
0004843377.tif 000076
【図７６】
0004843377.tif 000077
【図７７】
0004843377.tif 000078