JP4843377B2 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP4843377B2
JP4843377B2 JP2006139270A JP2006139270A JP4843377B2 JP 4843377 B2 JP4843377 B2 JP 4843377B2 JP 2006139270 A JP2006139270 A JP 2006139270A JP 2006139270 A JP2006139270 A JP 2006139270A JP 4843377 B2 JP4843377 B2 JP 4843377B2
Authority
JP
Japan
Prior art keywords
image data
texel
image
acquisition
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006139270A
Other languages
English (en)
Other versions
JP2007310669A (ja
Inventor
将洋 藤田
敬弘 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006139270A priority Critical patent/JP4843377B2/ja
Priority to US11/804,318 priority patent/US20070279434A1/en
Publication of JP2007310669A publication Critical patent/JP2007310669A/ja
Application granted granted Critical
Publication of JP4843377B2 publication Critical patent/JP4843377B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Description

この発明は、画像処理方法及び画像処理装置に関するもので、例えばテクスチャのフィルタリング手法に関するものである。
従来、3DグラフィックスLSIではポリゴンにテクスチャ(texture)を貼る処理を行う。この際、より豊かな表現を行うために、1つのピクセルに対して複数のテクセル(texel)を参照する場合がある(例えば非特許文献1参照)。
しかしながら上記従来の方法であると、1度に読み出しが可能なテクセルは(2×2)個に限られている。従って、テクセルの処理の自由度は大きく制限されており、また処理が複雑化するという問題があった。
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年
この発明は、画像処理の自由度を向上出来る画像処理方法及び画像処理装置を提供する。
この発明の一態様に係る画像処理方法は、制御部、取得部、第1メモリ、及び処理部を備えた画像処理装置によって実行され、第1画像座標上の第1画像データと、テクスチャとして使用される第2画像座標上の第2画像データとを用いた画像処理方法であって、前記第1画像データの前記第1画像座標に対応する前記第2画像データの前記第2画像座標と、該第2画像座標に対応して読み出されるべき4個以上の第2画像データの位置関係を示す取得モードとを、前記制御部によって受信するステップと、前記第2画像座標に対応すると共に、前記取得モードに従って配列された前記4個以上の第2画像データを、前記取得部によって選択するステップと、前記第2画像座標と前記取得モードとに基づいて、前記選択された第2画像データのアドレスを、前記取得部によって算出するステップと、前記処理部によって、前記アドレスを用いて前記第2画像データを第1メモリから読み出すステップと、前記第1メモリから読み出した前記第2画像データについてフィルタリング処理を行い、前記第1画像座標に貼り付けられるべき第3画像データを得るステップとを具備し、前記取得モードは、複数の取得モードのうちから選択され、前記取得モードは、二次元の座標系において第1方向に配列された4つの第2画像データを取得する第1取得モードと、前記座標系において、前記第1方向に直交する第2方向に配列された4つの第2画像データを取得する第2取得モードと、前記座標系において、ある第2画像データを挟んで、前記第1方向で対向する2つの第2画像データと前記第2方向で対向する別の2つの第2画像データとを取得する第3取得モードと、前記座標系において、ある第2画像データを挟んで、前記第1、第2方向と異なる第3方向で対向する2つの第2画像データと、前記第3方向と直交する第4方向で対向する別の2つの第2画像データとを取得する第4取得モードとを含む4つの取得モードのうちの少なくとも2つを含む
この発明によれば、画像処理の自由度を向上出来る画像処理方法及び画像処理装置を提供できる。
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
この発明の第1の実施形態に係る画像処理方法及び画像処理装置について、図1を用いて説明する。図1は、本実施形態に係るグラフィックプロセッサのブロック図である。
図示するように、グラフィックプロセッサ1はラスタライザ(rasterizer)2、複数のピクセルシェーダ(pixel shader)3、及びローカルメモリ4を備えている。ピクセルシェーダ3の数は、例えば4個、あるいは8個、16個、32個等でも良く、その数は限定されるものではない。
ラスタライザ2は、入力された図形情報に従ってピクセル(pixel)を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。生成されたピクセルはピクセルシェーダ3へ投入される。
ピクセルシェーダ3は、ラスタライザ2から投入されたピクセルにつき演算処理を行い、ローカルメモリ4上に画像を生成する。ピクセルシェーダ3の各々は、データ振り分け部5、複数のピクセル処理部6、及びテクスチャユニット(texture unit)7を備えている。データ振り分け部5はラスタライザ2からピクセルを受け取る。そして、受け取ったピクセルを各ピクセル処理部6へ割り振る。ピクセル処理部6はシェーダエンジン部であり、ピクセルに対してシェーダプログラムを実行する。そして、ピクセル処理部6のそれぞれはSIMD(Single Instruction Multiple Data)動作を行って、複数個のピクセルを同時に処理する。テクスチャユニット7はローカルメモリ4からテクスチャを読み出し、テクスチャマッピング(texture mapping)に必要な処理を行う。テクスチャマッピングとは、ピクセル処理部6で処理されたピクセルにテクスチャを貼り付ける処理のことであり、ピクセル処理部6において行われる。
ローカルメモリ4は、例えばeDRAM(embedded DRAM)であり、ピクセルシェーダ3で描画されたピクセルを記憶する。またテクスチャを記憶する。
次に、本実施形態に係るグラフィックプロセッサ1における図形描画の概念について説明する。図2は、図形を描画すべき二次元空間(XY座標空間)の一部を示す概念図である。なお、図2に示す描画領域は、ローカルメモリ4内においてピクセルを保持するメモリ空間(以下、フレームバッファと呼ぶ)に相当する。
図示するように、フレームバッファは、マトリクス状に配置された複数のブロックBLK0〜BLKn(nは自然数)を含んでいる。図2では(3×3)個のブロックBLK0〜BLK8のみを示しているが、この数は特に限定されるものではない。ピクセルシェーダ3は、ブロックBLK0〜BLKn順にピクセルを生成する。各ブロックはそれぞれ、マトリクス状に配置された例えば(4×4)個のピクセルを含んで形成されている。なお、1つのブロックに含まれるピクセルの個数も特に16個に限定されるものでは無い。実際にはより多くのピクセルが含まれることが通常であり、ここでは説明の簡単化のために16ピクセルの場合について説明する。また、図2において各ピクセルに付記した番号をピクセルIDと呼び、以下ピクセル0〜ピクセル15と呼ぶことにする。
次に、上記フレームバッファに描画される図形に関して説明する。まず図形を描画するにあたって、ラスタライザ2に図形情報が入力される。図形情報は、例えば図形の頂点座標や色情報などである。ここで、例として三角形を描画する場合について説明する。ラスタライザ2に入力された三角形は、描画空間において図2に記載したような位置を占めるとする。すなわち、三角形の3つの頂点座標が、ブロックBLK1におけるピクセル15、ブロックBLK6におけるピクセル3、及びブロックBLK8におけるピクセル4に位置すると仮定する。ラスタライザ2は、描画すべき三角形が占める位置に対応するピクセルを生成する。この様子を示しているのが図3である。生成されたピクセルは、それぞれ予め対応付けられたピクセルシェーダ3に送られる。
そしてピクセルシェーダ3は、自らの担当するピクセルについて描画処理を行う。その結果、図3に示されるような三角形が、複数のピクセルによって描画される。ピクセルシェーダ3によって描画されたピクセルはローカルメモリ4に格納される。
次に、テクスチャに関して図4を用いて説明する。図4はテクスチャの一部を示す概念図である。テクスチャとは、描画されたピクセルに対して貼り付けられる二次元画像のことである。テクスチャをピクセルに貼り付けることにより、物体表面に様々な模様を加えることができる。テクスチャは、図示するようにUV座標に二次元的に配置された複数のテクスチャブロックTBLK0〜TBLKm(mは自然数)を含んでいる。図4では(3×3)個のテクスチャブロックTBLK0〜TBLK8のみを示しているが、この数は特に限定されるものではない。各テクスチャブロックはそれぞれ、マトリクス状に配置された例えば(4×4)個のテクセルを含んで形成されている。テクセルとは、テクスチャにおける最小単位の構成要素のことである。なお、1つのテクスチャブロックに含まれるテクセルの個数も特に16個に限定されるものでは無い。実際にはより多くのテクセルが含まれることが通常であり、ここでは説明の簡単化のために16テクセルの場合について説明する。また、図4において各テクセルに付記した番号をテクセルIDと呼び、以下テクセル0〜テクセル15と呼ぶことにする。
次に、図1におけるテクスチャユニット7の詳細について説明する。テクスチャユニット7は、その内部にキャッシュメモリを有しており、ローカルメモリ4から読み出したテクセルを一時的に保持する。そして、ピクセル処理部6からの要求に応答してテクセルをキャッシュメモリから読み出し、必要に応じてフィルタリング処理を施した後、ピクセル処理部6へ供給する。
図5はテクスチャユニット7のブロック図である。図示するようにテクスチャユニット7は、テクスチャ制御部10、データ取得部11、前記キャッシュメモリ12、及びフィルタリング処理部13を備えている。
テクスチャ制御部10は、ピクセル処理部6からのテクスチャ要求に応答して、データ取得部11を制御する。テクスチャ要求とは、ピクセル処理部6から与えられる、テクセルを読み出す旨の命令であり、この際、ピクセル座標(x、y)及びテクセルの取得モードが、ピクセル処理部6からテクスチャ制御部10に与えられる。なお、取得モードについては後述する。テクスチャ制御部10は、入力されたピクセル座標に相当するテクセルの座標(テクセル座標(u、v))を算出し、このテクセル座標と取得モードをデータ取得部11へ出力すると共に、テクセルの取得をデータ取得部11に命令する。
データ取得部11は、入力されたテクセル座標を基に、4つのテクセルをキャッシュメモリ12から読み出す。より詳しくは、入力されたテクセル座標に応じた4つのテクセルの、キャッシュメモリ12におけるアドレスを計算する。そして算出したアドレスに基づいて、当該4つのテクセルをキャッシュメモリ12から読み出す。
ここで、前述の取得モードについて図4を用いて説明する。取得モードとは、入力されたピクセル座標(テクセル座標)に対して、いずれの位置にある4個のテクセルを読み出すか、を示す情報である。図4では5種類の取得モード(CASE1〜CASE5)について示している。図中において×印が、入力されたピクセル座標に対応するテクセル座標である。まずCASE1について説明する。CASE1の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルと、それに対してV座標が同一でU座標が“1”ずつずれた位置にある3つのテクセルを取得するモードである。すなわち図4に示すように、横一列に隣接して並んだ(4×1)個のテクセル11、1、3、5が読み出される。
CASE2の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルと、それに対してU座標が同一でV座標が“1”ずつづれた位置にある3つのテクセルを取得するモードである。すなわち図4に示すように、縦一列に隣接して並んだ(1×4)個のテクセル6、7、2、3が読み出される。
CASE3の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルを中心に、十字に位置する4つのテクセルを取得するモードである。すなわち図4に示すように、テクセル8に近接して十字を形作る4個のテクセル13、14、10、9が読み出される。
CASE4の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルを中心に、×印に位置する4つのテクセルを取得するモードである。すなわち図4に示すように、テクセル12に近接して×印を形作る4個のテクセル3、11、7、15が読み出される。
CASE5の取得モードは、ピクセル座標に対応するテクセル座標に位置するテクセルと、それに対してU座標のみが“1”ずれたテクセル、V座標のみが“1”ずれたテクセル、及びU座標及びV座標が共に“1”ずれたテクセルのを取得するモードである。すなわち図4に示すように、隣接する(2×2)個のテクセル14、15、4、5が読み出される。
以下ではCASE1〜CASE5をそれぞれ、(4×1)モード、(1×4)モード、Crossモード、RC(Rotated cross)モード、及び(2×2)モードと呼ぶことにする。
フィルタリング処理部13は、データ取得部11で読み出された4つのテクセルについてフィルタリング処理を行う。フィルタリング処理の詳細は後述する。
次に図6を用いて、テクスチャユニット7の備えるデータ取得部11の構成について説明する。図6はデータ取得部11のブロック図である。図示するようにデータ取得部11は、制御部20、4つの座標計算部21−0〜21−3、及び4つのテクセル取得部22−0〜22−3を備えている。
制御部20は、テクスチャ制御部10からテクセルの取得命令、ピクセル座標に対応するテクセル座標、及び取得モードを受信する。そして、座標計算部21−0〜21−3に対して、入力されたテクセル座標及び取得モードに応じて、キャッシュメモリ12から読み出すべき4つのテクセルの座標計算を命令する。
座標計算部21−0〜21−3は、それぞれ読み出すべき4つのテクセルに対応して設けられている。そして、各々に対応づけられたテクセルのテクセル座標を計算する。
テクセル取得部22−0〜22−3は、それぞれ座標計算部21−0〜21−3に対応づけて設けられている。そしてテクセル取得部22−0〜22−3はそれぞれ、座標計算部21−0〜21−3で算出されたテクセル座標に基づいて、当該テクセルのキャッシュメモリ12におけるアドレスを計算し、キャッシュメモリ12からテクセルを読み出す。読み出されたテクセルはフィルタリング処理部13へ与えられる。
なお、図6及び上記説明では、座標計算部及びテクセル取得部がそれぞれ4個ずつ設けられている場合について説明した。しかし図6はあくまでデータ取得部11の機能を図示したものであり、勿論、図6の構成を有していても良いが、座標計算部及びテクセル取得部がそれぞれ1個だけ設けられていても良い。つまり、4個のテクセルを読み出すことの出来る構成であれば限定されるものではない。
次に、上記構成のグラフィックプロセッサ1におけるテクスチャユニット7の動作について図7のフローチャートを用いて説明する。
まず、ピクセル処理部6がテクスチャ制御部10に対して、あるピクセルP1のXY座標を入力すると共に、ピクセルP1に対応する4つのテクセルの取得命令を与える(ステップS10)。この際、前述の取得モードも併せてピクセル処理部6からテクスチャ制御部10に入力される。次に、テクスチャ制御部10はピクセルP1に対応するテクセル座標を算出し、算出したテクセル座標及び取得モードと共に、テクセル取得をデータ取得部11に対して命令する(ステップS11)。そしてデータ取得部11は、ピクセルP1に対応するテクセル座標近傍の4つのテクセルを取得モードに応じて選択し、これらのアドレスを計算する(ステップS12)。更にデータ取得部11は、ステップS12で算出したアドレスに基づいて、テクセルをキャッシュメモリ12から読み出す(ステップS12)。そして、データ取得部11で読み出した4つのテクセルについて、フィルタリング処理部13がフィルタリング処理を行い(ステップS14)、その結果がピクセル処理部6へ与えられる。ピクセル処理部6では、ステップS14で得られたテクセル(フィルタリング処理後のテクセル)をピクセルP1に貼り付ける(テクスチャマッピング)。
上記ステップS12の具体例について図8乃至図17を用いて説明する。図8、図10、図12、図14、及び図16はそれぞれ(4×1)モード、(1×4)モード、Crossモード、RCモード、及び(2×2)モードにおいて読み出されるテクセルの位置を示すUV座標であり、図中の×印が入力されたピクセル座標に対応するテクセル座標を示す。また図9、図11、図13、図15、及び図17はそれぞれ(4×1)モード、(1×4)モード、Crossモード、RCモード、及び(2×2)モードにおけるデータ取得部11の一部構成を示すブロック図である。なお以下では説明の簡単化のために、読み出される4つのテクセルはテクセル0〜テクセル3であるものとする。
まず図8及び図9を用いて(4×1)モードの場合について説明する。図8に示すように、(4×1)モードの場合には、ピクセル座標に対応するテクセルがテクセル0であったとする。すると、テクセル0の他に、テクセル0とV座標が同一であり、U座標が“1”ずつずれたテクセル1〜3が読み出される。従ってテクセル0〜3の座標をそれぞれ(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)とすると、座標計算部21−0はテクセル0に関してs0=u、t0=vを計算する。座標計算部21−1はテクセル1に関してs1=u+1、t1=vを計算する。座標計算部21−2はテクセル2に関してs2=u+2、t2=vを計算する。座標計算部21−3はテクセル3に関してs3=u+3、t3=vを計算する。これらの座標(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)がテクセル取得部22−0〜22−3に与えられ、テクセル取得部22−0〜22−3は与えられた座標に対応するアドレスを計算する。
次に図10及び図11を用いて(1×4)モードの場合について説明する。図10に示すように、(1×4)モードの場合には、ピクセル座標に対応するテクセルがテクセル0であったとする。すると、テクセル0の他に、テクセル0とU座標が同一であり、V座標が“1”ずつずれたテクセル1〜3が読み出される。従って座標計算部21−0はテクセル0に関してs0=u、t0=vを計算する。座標計算部21−1はテクセル1に関してs1=u、t1=v+1を計算する。座標計算部21−2はテクセル2に関してs2=u、t2=v+2を計算する。座標計算部21−3はテクセル3に関してs3=u、t3=v+3を計算する。これらの座標(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)がテクセル取得部22−0〜22−3に与えられ、テクセル取得部22−0〜22−3は与えられた座標に対応するアドレスを計算する。
次に図12及び図13を用いてCrossモードの場合について説明する。図12に示すように、Crossモードの場合には、ピクセル座標に対応するテクセル座標に対して、U座標が同一でV座標がそれぞれ“−1”及び“+1”ずれたテクセル0、3、及びU座標が同一でV座標が“−1”及び“+1”ずれたテクセル1、4が読み出される。従って座標計算部21−0はテクセル0に関してs0=u、t0=v−1を計算する。座標計算部21−1はテクセル1に関してs1=u−1、t1=vを計算する。座標計算部21−2はテクセル2に関してs2=u+1、t2=vを計算する。座標計算部21−3はテクセル3に関してs3=u、t3=v+1を計算する。これらの座標(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)がテクセル取得部22−0〜22−3に与えられ、テクセル取得部22−0〜22−3は与えられた座標に対応するアドレスを計算する。
次に図14及び図15を用いてRCモードの場合について説明する。図14に示すように、RCモードの場合には、ピクセル座標に対応するテクセル座標に対して、U座標が“−1”ずれ、且つV座標がそれぞれ“−1”及び“+1”ずれたテクセル0、1、及びU座標が“+1”ずれ、且つV座標が“−1”及び“+1”ずれたテクセル2、3が読み出される。従って座標計算部21−0はテクセル0に関してs0=u−1、t0=v−1を計算する。座標計算部21−1はテクセル1に関してs1=u−1、t1=v+1を計算する。座標計算部21−2はテクセル2に関してs2=u+1、t2=v−1を計算する。座標計算部21−3はテクセル3に関してs3=u+1、t3=v+1を計算する。これらの座標(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)がテクセル取得部22−0〜22−3に与えられ、テクセル取得部22−0〜22−3は与えられた座標に対応するアドレスを計算する。
次に図16及び図17を用いて(2×2)モードの場合について説明する。図16に示すように、(2×2)モードの場合には、ピクセル座標に対応するテクセルがテクセル0であったとする。すると、テクセル0の他に、テクセル0とV座標が同一でありU座標が“1”ずれたテクセル1、テクセル0とU座標が同一でありV座標が“1”ずれたテクセル2、及びテクセル0に対してU座標及びV座標がそれぞれ“1”ずれたテクセル3が読み出される。従って座標計算部21−0はテクセル0に関してs0=u、t0=vを計算する。座標計算部21−1はテクセル1に関してs1=u、t1=v+1を計算する。座標計算部21−2はテクセル2に関してs2=u+1、t2=vを計算する。座標計算部21−3はテクセル3に関してs3=u+1、t3=v+1を計算する。これらの座標(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)がテクセル取得部22−0〜22−3に与えられ、テクセル取得部22−0〜22−3は与えられた座標に対応するアドレスを計算する。
次に、フィルタリング処理部13におけるフィルタリング処理(ステップS14)の詳細について図18を用いて説明する。図18はフィルタリング処理のフローチャートである。まず前述のようにデータ取得部11で読み出された4つのテクセルが、フィルタリング処理部13へ入力される(ステップS20)。するとフィルタリング処理部13は、入力された4つのテクセルにつき、ベクトル値を読み出す(ステップS21)。ベクトル値とは、例えば色を表すカラー値(RGB)及び透明度(α)などである。そして、4つのテクセルにつき読み出したベクトル値を加算する(ステップS22)。この加算結果がフィルタリング処理後のテクセルとなり、フィルタリング処理部13は加算結果をピクセル処理部6へ出力する(ステップS23)。
図19はフィルタリング処理の様子を模式的に示す概念図である。図示するように、4つのテクセル0〜3がフィルタリング処理部13へ入力されたとすると、これらのベクトル値を加算した結果がテクセル0’となる。これにより、ピクセルには4つのテクセル0〜3が反映されたテクセル0’が貼り付けられる。
なお、(4×1)モード、(1×4)モード、Crossモード、RCモード、及び(2×2)モードで読み出したテクセル0〜3についてのフィルタリング処理を、それぞれ(4×1)フィルタリング、(1×4)フィルタリング、Crossフィルタリング、RCフィルタリング、及び(2×2)フィルタリングと呼ぶことがある。これらのフィルタリング処理は、全て4つのテクセルを用いたフィルタリング処理である。
図20は、本実施形態を用いた(4×4)フィルタリングの様子を示している。(4×4)フィルタリングとは、ある1つのピクセルに対して(4×4)=16個のテクセルを用いて行うフィルタリング処理のことである。ここでは、(8×8)個のテクセル0〜63を含むテクスチャ画像を(4×4)フィルタリングする場合について説明する。
図示するように、まず上記説明した手法により(1×4)フィルタリングを64個のテクセル0〜63について行う。すなわち、例えばテクセル0についてはテクセル0〜3を読み出して(1×4)フィルタリングを行い、テクセル1についてはテクセル1〜4を読み出して(1×4)フィルタリングを行う。また、テクセル8についてはテクセル8〜11を読み出して(1×4)フィルタリングを行い、テクセル9についてはテクセル9〜122を読み出して(1×4)フィルタリングを行う。
以上のようにして(8×8)個のテクセル0〜63につき(1×4)フィルタリングで得られたフィルタリング結果を、テクセル0’〜テクセル63’と呼ぶ。そして、これらを(8×8)で配置して新たなテクスチャ画像とする。次に、得られた64個のテクセル0’〜63’を含むテクスチャ画像につき、上記説明した手法により(4×1)フィルタリングを行う。すなわち、例えばテクセル0’についてはテクセル0’、8’、16’、24’を読み出して(1×4)フィルタリングを行い、テクセル1’についてはテクセル1’、9’、17’、25’を読み出して(1×4)フィルタリングを行う。また、テクセル8’についてはテクセル8’、16’、24’、32’を読み出して(1×4)フィルタリングを行い、テクセル9’についてはテクセル9’、17’、25’、33’を読み出して(1×4)フィルタリングを行う。
以上のようにして(8×8)個のテクセル0’〜63’につき(4×1)フィルタリングで得られたフィルタリング結果を、テクセル0”〜テクセル63”と呼ぶ。そして、これらを(8×8)で配置して新たなテクスチャ画像とする。このようにして得られた結果が、各テクセルについて(4×4)フィルタリングの施されたテクスチャ画像となる。
図20の具体例について図21乃至図23を用いて説明する。図21はフィルタリング処理を行う前のテクスチャ画像であり、図22は図21の画像につき(4×1)フィルタリングを行って作成したテクスチャ画像であり、図23は図22の画像につき(1×4)フィルタリングを行って作成したテクスチャ画像である。図示するように、(4×1)フィルタリングを行うことにより、テクスチャ画像は横方向にぼけた画像となる。そして、引き続き(1×4)フィルタリングを行うことで、更に縦方向にぼけた画像となる。その結果、図23に示すような(4×4)フィルタリング結果が得られる。
上記のように、この発明の第1の実施形態に係るグラフィックプロセッサであると、下記(1)の効果が得られる。
(1)フィルタリング処理の自由度を向上出来る(その1)。
本実施形態に係るグラフィックプロセッサであると、データ取得部11は複数のテクセルを(2×2)モード以外の様々な取得モードによりキャッシュメモリ12から読み出すことが出来る。従って、必要に応じて取得モードを選択することにより、適切なフィルタリング処理を行うことが出来る。
例えば、テクスチャマッピングを行う従来のグラフィックプロセッサであると、一度に取得できるテクセルは(2×2)個でしかなかった。従って、従来の構成において(4×1)フィルタリングを行う場合には、次のような方法を用いざる得なかった。すなわち、まずピクセル座標に対応するUV座標点をサンプリング点と呼ぶと、サンプリング点を含む(2×2)テクセルを読み出し、更にそれに隣接する(2×2)テクセルを読み出す。そして、サンプリング点とV座標の異なる4つのテクセルを破棄し、同一の4つのテクセルを用いてフィルタリングを行う。つまり、データ取得部11はテクセルの取得を2度行う必要がある。
しかし本実施形態であると、データ取得部11は取得モードに応じてテクセル座標を算出する。従って、(2×2)モード以外でもテクセルを読み出すことが出来る。例えば(4×1)フィルタリングを行う場合には、(4×1)モードでテクセルを読み出すことが出来、データ取得部11がテクセルを取得する回数は1度で済む。このように、テクスチャユニット7における負荷の増大を抑えつつ、フィルタリング処理の自由度を向上出来る。
次に、この発明の第2の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第1の実施形態におけるデータ取得部11が、ピクセル処理部6からの1度のテクセル取得命令により複数回のテクセル取得を行う構成に関するものである。図24は、本実施形態に係るテクスチャユニット7のブロック図である。なおテクスチャユニット7以外の構成は第1の実施形態と同様であるので説明は省略する。
図示するようにテクスチャユニット7は、テクスチャ制御部10、データ取得部11、キャッシュメモリ12、フィルタリング処理部13、カウンタ14、及びデータ保持部15を備えている。
テクスチャ制御部10は、ピクセル処理部6から繰り返し回数を情報として受信する。そして、上記第1の実施形態で説明した機能に加えて、データ取得部11に対するテクセル取得の命令を、上記繰り返し回数だけ繰り返す。また、繰り返す度にアドレスオフセット情報をデータ取得部11へ出力する。アドレスオフセット情報については後述する。
データ取得部11は、入力されたテクセル座標を基に、4つのテクセルをキャッシュメモリ12から読み出す。より具体的には、入力されたテクセル座標に応じた4つのテクセルの、キャッシュメモリ12におけるアドレスを、アドレスオフセット情報を用いて計算する。そして算出したアドレスに基づいて、当該4つのテクセルをキャッシュメモリ12から読み出す。
カウンタ14は、データ取得部11においてテクセルを読み出した回数をカウントする。
キャッシュメモリ12及びフィルタリング処理部13は第1の実施形態で説明した通りである。
データ保持部15は、フィルタリング処理部13におけるフィルタリング処理結果を保持する。
次に、上記構成のグラフィックプロセッサ1におけるテクスチャユニット7の動作について図25のフローチャートを用いて説明する。
まず、ピクセル処理部6がテクスチャ制御部10に対して、あるピクセルP1のXY座標を入力すると共に、ピクセルP1に対応する4つのテクセルを取得する旨の命令を与える(ステップS10)。この際、前述の取得モードだけでなく繰り返し回数も併せてピクセル処理部6からテクスチャ制御部10に入力される。次に、テクスチャ制御部10はピクセルP1に対応するテクセル座標を算出し、算出したテクセル座標及び取得モードと共に、テクセル取得をデータ取得部11に対して命令する(ステップS30)。この際、テクスチャ制御部10は繰り返し回数も併せてデータ取得部11へ与えても良い。更にテクスチャ制御部10は、データ保持部15内のデータをリセットし(ステップS31)、カウンタ14のカウンタ値をリセットする(ステップS32)。
次にデータ取得部11は、ピクセルP1に対応するテクセル座標(サンプリング点)近傍の4つのテクセルを取得モードに応じて選択し、これらのアドレスを計算する(ステップS12)。そしてデータ取得部11は、ステップS12で算出したアドレスに基づいて、テクセルをキャッシュメモリ12から読み出す(ステップS12)。そして、データ取得部11で読み出した4つのテクセルについて、フィルタリング処理部13がフィルタリング処理を行い(ステップS14)、その結果はデータ保持部15内に保持される(ステップS33)。データ保持部15においては、既に保持されているデータに対して、新たに与えられたテクセルを加算する処理が行われる(ステップS34)。但し、データ保持部31のリセット直後である場合には、入力されたテクセルがそのまま保持される。
データ取得部11におけるテクセルの読み出し(ステップS13)が完了すると、データ取得部11から与えられる取得終了情報に応答して、カウンタ14がカウンタ値をカウントアップする(ステップS35)。次にテクスチャ制御部10はカウンタ値を確認し、カウンタ値と繰り返し回数とを比較する(ステップS36)。カウンタ値が繰り返し回数に達していれば(ステップS37、YES)、処理は終了する。達していなければ(ステップS37、NO)、テクスチャ制御部10はアドレスオフセット値と共に再度のテクセル取得をデータ取得部11へ命令する(ステップS38)。なお、繰り返し回数がデータ取得部に与えられる場合には、ステップS36、S37の処理をデータ取得部11が行っても良い。
以後、カウンタ値が繰り返し回数に達するまでステップS12〜S14、S33〜S38の処理を繰り返す。その際、ステップS12におけるアドレス計算には、ステップS38で与えられるアドレスオフセット値が使用される。ステップS12の詳細について図26乃至図28を用いて説明する。図26乃至図28はそれぞれ(4×1)モード時におけるデータ取得部11の一部構成を示すブロック図であり、図26はカウンタ値が“1”の場合、図27はカウンタ値が“2”の場合、図28はカウンタ値が“i(iは自然数)”の場合について示している。なお以下ではサンプリング点のUV座標は(u、v)であるとする。
まずカウンタ値がゼロの場合には、座標計算部21−0〜21−3はそれぞれ第1の実施形態と同様、図9に示した演算を行って、4つのテクセル座標(s0、t0)、(s1、t1)、(s2、t2)、(s3、t3)を算出する。
次にカウンタ値が“1”の場合について図26を用いて説明する。図示するように、制御部20はアドレスオフセット値として“1”を座標計算部21−0〜21−3に与える。すると座標計算部21−0〜21−3はそれぞれ、V軸方向に値を“+1”する。すなわち、カウンタ値がゼロである場合に対して、U座標が同じであり、V座標が“+1”だけずれた4つのテクセル座標を計算する。
次にカウンタ値が“2”の場合について図27を用いて説明する。図示するように、制御部20はアドレスオフセット値として“2”を座標計算部21−0〜21−3に与える。すると座標計算部21−0〜21−3はそれぞれ、V軸方向に値を“+2”する。すなわち、カウンタ値がゼロである場合に対して、U座標が々であり、V座標が“+2”だけずれた4つのテクセル座標を計算する。
次にカウンタ値が“i”の場合について図28を用いて説明する。図28は図26及び図27の例を一般化して示すものである。図示するように、アドレスオフセット値として“i”が与えられると、座標計算部21−0〜21−3はそれぞれV座標を“+i”だけずらす。なおアドレスオフセット値“i”は、上記のようにカウンタ14のカウンタ値と同一でも良いし、例えばカウンタ値を“k”とすると、i=2kなる関係があっても良いし、i=4kなる関係があっても良く、適宜設定可能である。
なお上記では(4×1)モードの場合についてのみ説明したが、(1×4)モードの場合には、U座標に対して“i”を加算すれば良い。
図29及び図30は、本実施形態に係る(4×1)フィルタリングを用いた(4×4)フィルタリングの様子を示している。図29に示すように、ある1つのピクセルに対して(4×4)=16個のテクセル0〜15を用いてフィルタリング処理を行う場合について説明する。この場合、繰り返し回数は“4”である。
図30において、サンプリング点は×印で示した箇所である。まず座標計算部21−0〜21−3は、サンプリング点に対応するテクセル0と、テクセル0にU軸方向に隣接する3つのテクセル1〜3の4つのテクセル0〜3の座標を計算する(ステップS12)。そしてテクセル取得部22−0〜22−3がテクセル0〜3をキャッシュメモリ12から読み出す(ステップS13)。次にフィルタリング処理部13がテクセル0〜3につき(4×1)フィルタリングを行い(ステップS14)、その結果であるテクセル0’がデータ保持部15に保持される(ステップS33)。そしてカウンタ値が“1”となる(ステップS35)。
カウンタ値は繰り返し回数“4”に等しくないので(ステップS36、S37)は、テクスチャ制御部10はアドレスオフセット値として“1”をデータ取得部11に与える(ステップS38)。これにより、座標計算部21−0〜21−3は、サンプリング点に対してV座標が“+1”ずれた位置のテクセル4と、テクセル4にU軸方向に隣接する3つのテクセル5〜7の4つのテクセル4〜7の座標を計算する(ステップS12)。そしてテクセル取得部22−0〜22−3がテクセル4〜7をキャッシュメモリ12から読み出す(ステップS13)。次にフィルタリング処理部13がテクセル4〜7につき(4×1)フィルタリングを行い(ステップS14)、その結果であるテクセル4’がデータ保持部15に保持される(ステップS33)。データ保持部15には既にテクセル0’が保持されているので、データ保持部15においてテクセル0’とテクセル4’とが加算される(ステップS34)。そしてカウンタ値が“2”となる(ステップS35)。
カウンタ値は繰り返し回数“4”に等しくないので(ステップS36、S37)は、テクスチャ制御部10はアドレスオフセット値として“2”をデータ取得部11に与える(ステップS38)。これにより、座標計算部21−0〜21−3は、サンプリング点に対してV座標が“+2”ずれた位置のテクセル8と、テクセル8にU軸方向に隣接する3つのテクセル9〜11の4つのテクセル8〜11の座標を計算する(ステップS12)。そしてテクセル取得部22−0〜22−3がテクセル8〜11をキャッシュメモリ12から読み出す(ステップS13)。次にフィルタリング処理部13がテクセル8〜11につき(4×1)フィルタリングを行い(ステップS14)、その結果であるテクセル8’がデータ保持部15に保持される(ステップS33)。データ保持部15では、更にテクセル8’が加算される(ステップS34)。そしてカウンタ値が“3”となる(ステップS35)。
カウンタ値は繰り返し回数“4”に等しくないので(ステップS36、S37)は、テクスチャ制御部10はアドレスオフセット値として“3”をデータ取得部11に与える(ステップS38)。これにより、座標計算部21−0〜21−3は、サンプリング点に対してV座標が“+3”ずれた位置のテクセル12と、テクセル12にU軸方向に隣接する3つのテクセル13〜15の4つのテクセル12〜15の座標を計算する(ステップS12)。そしてテクセル取得部22−0〜22−3がテクセル12〜15をキャッシュメモリ12から読み出す(ステップS13)。次にフィルタリング処理部13がテクセル12〜15につき(4×1)フィルタリングを行い(ステップS14)、その結果であるテクセル12’がデータ保持部15に保持される(ステップS33)。データ保持部15では、更にテクセル12’が加算される(ステップS34)。この結果、(4×4)フィルタリングが完了する。そしてカウンタ値が“4”となる(ステップS35)。
カウンタ値が繰り返し回数“4”と等しくなるため、テクスチャ制御部10はデータ保持部15の内容をピクセル処理部6へ出力するよう命令する。
図29及び図30の具体例について図31を用いて説明する。図31はフィルタリング処理過程におけるテクスチャ画像である。図示するように、(4×1)フィルタリングを行うことにより、4つのテクセルを含み、且つ横方向にぼけたテクスチャ画像が得られ、これらを加算することによって、更に縦にぼけた1つのテクセルを含むテクスチャ画像が完成する。
上記のように、この発明の第2の実施形態に係るグラフィックプロセッサであると、第1の実施形態で説明した(1)の効果に加えて、下記(2)の効果が得られる。
(2)テクスチャマッピングにおける負荷を軽減出来る。
本実施形態に係るグラフィックプロセッサであると、テクスチャユニット7はピクセル処理部6から繰り返し回数を情報として受け取る。そしてテクスチャユニット7は、繰り返し回数だけ、テクセルの取得処理を繰り返す。例えば、(4×1)モードによるテクセルの取得を4回繰り返した場合、ピクセル処理部6から与えられる1回のテクセル取得命令で(4×4)=16個のテクセルを取得し、(4×4)フィルタリングを行うことが可能である。
この点、従来の構成であると(2×2)個以上のテクセルを読み出す場合、その度にピクセル処理部6がテクセル取得命令をテクスチャユニット7へ与える必要があった。しかし本実施形態ではピクセル処理部6から与えられる1回のテクセル取得命令により、テクスチャユニット7は複数回のテクセル取得処理を実行出来る。従って、テクスチャマッピングを行うグラフィックプロセッサにおいて、ピクセル処理部6の負荷を軽減出来る。
次に、この発明の第3の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第1の実施形態においてデータ取得部11で読み出したテクセルにつき重み付けを行う構成に関するものである。図32は、本実施形態に係るテクスチャユニット7のブロック図である。なおテクスチャユニット7以外の構成は第1の実施形態と同様であるので説明は省略する。
図示するようにテクスチャユニット7は、テクスチャ制御部10、データ取得部11、キャッシュメモリ12、フィルタリング処理部13、フィルタリング係数取得部16、及びフィルタリング係数保持部17を備えている。
テクスチャ制御部10は、ピクセル処理部6から係数情報を受信する。そして、上記第1の実施形態で説明した機能に加えて、フィルタリング係数取得部16に対して係数情報に基づく補間係数の取得を命令する。補間係数については後述する。
データ取得部11及びキャッシュメモリ12の構成及び動作は第1の実施形態で説明したとおりである。
フィルタリング係数保持部17は補間係数を保持する。フィルタリング係数保持部17の構成について図33を用いて説明する。図33はフィルタリング係数保持部17の構成を示す模式図である。図示するように、フィルタリング係数保持部17は複数のエントリ0〜N(Nは自然数)を備えたメモリである。そして、各エントリはそれぞれ4つの補間係数w(n0)〜w(n3)を保持している。但しnはエントリ番号である。補間係数とは、テクセルに対する重み付けの情報である。フィルタリング係数保持部17におけるエントリを、以下では係数エントリと呼ぶことがある。
フィルタリング係数取得部34は、テクスチャ制御部10から与えられる係数情報に従って、フィルタリング係数保持部17のいずれかのエントリに保持されている補間係数を読み出す。図34はフィルタリング係数取得部34のブロック図である。
図示するようにフィルタリング係数取得部34は、制御部30、4つの係数選択部31−0〜31−3、及び4つの係数取得部32−0〜32−3を備えている。
制御部30は、テクスチャ制御部10から補間係数の取得命令、及び係数情報を受信する。そして、係数選択部31−0〜31−3に対して、入力された係数情報に応じてフィルタリング係数保持部17から読み出すべき4つの補間係数の選択を命令する。
係数選択部31−0〜31−3は、テクセル取得部22−0〜22−3で読み出される4つのテクセルに対応して設けられている。そして、各々に対応づけられたテクセルに対して使用すべき補間係数を選択する。
係数取得部32−0〜32−3は、それぞれ係数取得部31−0〜31−3に対応づけて設けられている。係数取得部32−0〜32−3はそれぞれ、係数選択部31−0〜31−3で選択された結果、具体的にはフィルタリング係数保持部17におけるエントリ、に基づいて、フィルタリング係数保持部17から補間係数を読み出す。読み出された補間係数はフィルタリング処理部13へ与えられる。
なお、図34及び上記説明では、係数選択部及び係数取得部がそれぞれ4個ずつ設けられている場合について説明した。しかし図34はあくまでフィルタリング係数取得部34の機能を図示したものであり、勿論、図34の構成を有していても良いが、係数選択部及び係数取得部がそれぞれ1個だけ設けられていても良い。つまり、4個の補間係数を読み出すことの出来る構成であれば限定されるものではない。
フィルタリング処理部13は、データ取得部11で得られたテクセルと、フィルタリング係数取得部16で得られた補間係数とを乗算し、4つのテクセルに関する乗算結果を加算する。図35はフィルタリング処理部13と、データ取得部11及びフィルタリング係数取得部16の一部領域のブロック図である。
図示するようにフィルタリング処理部13は、乗算器40−0〜40−3及び加算器41を備えている。乗算器40−0〜40−3はそれぞれ、テクセル取得部22−0〜22−3で読み出されたテクセルと、係数取得部32−0〜32−3で読み出された補間係数との乗算を行う。加算器41は、乗算器40−0〜40−3における乗算結果を加算して、加算結果をピクセル処理部6へ出力する。
次に、上記構成のグラフィックプロセッサ1におけるテクスチャユニット7の動作について図36のフローチャートを用いて説明する。
まず、ピクセル処理部6がテクスチャ制御部10に対して、あるピクセルP1のXY座標を入力すると共に、ピクセルP1に対応する4つのテクセルの取得命令を与える(ステップS10)。この際、取得モードだけでなく係数情報も併せてピクセル処理部6からテクスチャ制御部10に入力される。次にテクスチャ制御部10は、上記第1の実施形態で説明したステップS11〜S13の処理を行って、4つのテクセルを読み出す。
またテクスチャ制御部10は、ピクセル処理部6から与えられた係数情報をフィルタリング係数取得部16へ与え、フィルタリング係数の取得を命令する(ステップS40)。すると、係数情報に基づいて係数選択部31−0〜31−3が、フィルタリング係数保持部17におけるいずれかの係数エントリを選択する(ステップS41)。次に、係数取得部32−0〜32−3が係数選択部31−0〜31−3で選択された係数エントリから補間係数を読み出す(ステップS42)。
そしてフィルタリング処理部13が、フィルタリング係数取得部16で読み出された4つの補間係数を用いて、データ取得部11で読み出された4つのテクセルにつきフィルタリング処理を行う(ステップS43)。
上記ステップS41の具体例について図37乃至図39を用いて説明する。図37及び図38はそれぞれフィルタリング係数取得部16の一部領域のブロック図であり、図37は係数エントリ=“0”が選択される場合、図38は係数エントリ=“1”が選択される場合について示している。
まず図37に示すように、係数選択部31−0〜31−3は係数エントリENとして“0”を選択する。この際、選択した係数エントリ内に含まれる4つの補間係数のうちのい
ずれの選択も行う。これが係数番号CNで表される。フィルタリング係数保持部17の保持するデータが図33に示す通りであったとすると、図37の場合、係数選択部31−0〜31−3はそれぞれ係数取得部32−0〜32−3に対して、係数エントリ“0”内の補間係数w00〜w03をそれぞれ読み出すように命令する。
図38の場合には、係数選択部31−0〜31−3はそれぞれ係数取得部32−0〜32−3に対して、係数エントリ“1”内の補間係数w00〜w03をそれぞれ読み出すように命令する。
次に図39の例について説明する。図39は図37及び図38の例を一般化して示すものである。図示するように係数選択部31−0〜31−3はそれぞれ、入力される係数情報に基づいて、フィルタリング係数保持部17におけるいずれかの係数エントリEN=“j0”〜“j3”を選択する。また、選択した係数エントリ内において、いずれの補間係数を選択するかを係数番号CN=“k0”〜“k3”により選択する。この際、各係数選択部31−0〜31−3が選択する“j0”〜“j3”は、異なる係数エントリENを選択するものであっても良いし、同一の係数エントリENを選択するものであってもよい。また、各係数選択部31−0〜31−3が選択する“k0”〜“k3”は、異なる係数番号CNを選択するものであってもよいし、同一の係数番号CNを選択するものであっても良い。例えば、係数選択部31−0〜31−3がそれぞれ係数エントリEN=“0”〜“3”を選択し、また同一の係数番号CN=“0”を選択したとする。この場合には、係数取得部32−0〜32−3はそれぞれ、補間係数w00、w10、w20、w30を読み出す。
次に、フィルタリング処理部13におけるフィルタリング処理(ステップS43)の詳細について図40を用いて説明する。図30は本実施形態に係るフィルタリング処理S43のフローチャートである。まずデータ取得部11で読み出された4つのテクセルがフィルタリング処理部13へ入力される(ステップS20)。一例として、テクセル取得部22−0〜22−3がそれぞれテクセル0〜3が読み出した場合を仮定する。更に、フィルタリング係数取得部16で読み出された4つの補間係数がフィルタリング処理部13へ入力される(ステップS50)。一例として、係数取得部32−0〜32−3がそれぞれ補間係数w00、w01、w02、w03を読み出した場合を仮定する。
すると、フィルタリング処理部13における乗算器40−0〜40−3がそれぞれ、テクセル0〜3のベクトル値を読み出す(ステップS21)。引き続き乗算器40−0〜40−3はそれぞれ、テクセル0〜3のベクトル値と、対応する補間係数w00、w01、w02、w03との乗算を行う(ステップS51)。次に、加算器41が乗算器40−0〜40−3における乗算結果を加算する(ステップS52)。この加算結果がフィルタリング処理後のテクセルとなり、加算器41は加算結果をピクセル処理部6へ出力する(ステップS23)。
すなわち、フィルタリング処理部13では次式の計算を行い、その計算結果をピクセル処理部6へ出力する。
V0・w0+V1・w1+V2・w2+V3・w3
但し、V0〜V3はそれぞれテクセル取得部22−0〜22−3で読み出されたテクセルのベクトル値であり、w0〜w3はそれぞれ係数取得部32−0〜32−3で読み出された補間係数である。
上記のように、この発明の第3の実施形態に係るグラフィックプロセッサであると、第1の実施形態で説明した(1)の効果に加えて、下記(3)の効果が得られる。
(3)フィルタリング処理の自由度を向上出来る(その2)。
本実施形態に係るグラフィックプロセッサであると、読み出したテクセルについての重み付けに関する情報(補間係数)をフィルタリング係数保持部17が保持している。そして、データ取得部11において読み出されたテクセルに応じてフィルタリング係数取得部16が補間係数を読み出し、フィルタリング処理部13は読み出された補間係数を用いてフィルタリング処理を行っている。従って、複数のテクセルを用いてフィルタリング処理を行う場合に、複数のテクセルに対して各種の重みを設定することが出来、フィルタリング処理の自由度を向上出来る。
また本実施形態では、フィルタリング係数取得部16がテクスチャユニット7内に設けられている。そのため、フィルタリング係数の取得処理をテクスチャユニット7内で完結させることが可能となり、ピクセル処理部6に対する負荷を増加させることなく高速なフィルタリング処理が可能となる。
次に、この発明の第4の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第2、第3の実施形態を組み合わせたものである。図41は、本実施形態に係るテクスチャユニット7のブロック図である。なおテクスチャユニット7以外の構成は第1の実施形態と同様であるので説明は省略する。
図示するようにテクスチャユニット7は、テクスチャ制御部10、データ取得部11、キャッシュメモリ12、フィルタリング処理部13、カウンタ14、データ保持部15、フィルタリング係数取得部16、及びフィルタリング係数取得部17を備えている。
テクスチャ制御部10は、上記実施形態で説明したUV座標、取得モード、繰り返し回数、及び係数情報をピクセル処理部6から受け取る。そして第2の実施形態で説明したとおり、データ取得部11に対して繰り返し回数だけ、テクセルの取得処理を命令する。またテクスチャ制御部10は、フィルタリング係数取得部16に対して繰り返し回数だけ、補間係数の取得を命令する。
図42は、フィルタリング係数保持部17の構成を示す模式図である。図示するように、フィルタリング係数保持部17は複数のエントリ0〜Nを備えたメモリである。そして各エントリは、それぞれ補間係数テーブル0〜nを保持している。但しnはエントリ番号である。補間係数テーブルについて図43を用いて説明する。図43は補間係数テーブル0の模式図である。図示するように補間係数テーブル0は、複数のエントリ0〜M(これを以下ではテーブル内エントリTENと呼ぶ)を備えており、各エントリは係数番号CN=0〜3に対応した補間係数を保持している。
フィルタリング係数取得部16は、係数情報に基づいていずれかの補間係数テーブルを選択する。更に繰り返し回数iに応じて、選択した補間係数テーブル内の補間係数を選択する。
その他の構成は第1乃至第3の実施形態で説明したとおりである。
次に、上記構成のグラフィックプロセッサ1におけるテクスチャユニット7の動作について図44のフローチャートを用いて説明する。
まず、ピクセル処理部6がテクスチャ制御部10に対して、あるピクセルP1のXY座標を入力すると共に、ピクセルP1に対応する4つのテクセルの取得命令を与える(ステップS10)。この際、取得モード、繰り返し回数、及び係数情報も併せてピクセル処理部6からテクスチャ制御部10に入力される。次に、テクスチャ制御部10はピクセルP1に対応するテクセル座標を算出し、算出したテクセル座標及び取得モードと共に、テクセル取得をデータ取得部11に対して命令する(ステップS30)。この際、テクスチャ制御部10は繰り返し回数も併せてデータ取得部11へ与えても良い。同時にテクスチャ制御部10は、ピクセル処理部6から与えられた係数情報をフィルタリング係数取得部16へ与え、フィルタリング係数の取得を命令する(ステップS40)。更にテクスチャ制御部10は、データ保持部15内のデータをリセットし(ステップS31)、カウンタ14のカウンタ値をリセットする(ステップS32)。
次にデータ取得部11は、ピクセルP1に対応するテクセル座標(サンプリング点)近傍の4つのテクセルを取得モードに応じて選択し、これらのアドレスを計算する(ステップS12)。そしてデータ取得部11は、ステップS12で算出したアドレスに基づいて、テクセルをキャッシュメモリ12から読み出す(ステップS12)。
また係数選択部31−0〜31−3は、係数情報に基づいてフィルタリング係数保持部17におけるいずれかの係数エントリを選択し、更にいずれかのテーブル内エントリを選択する(ステップS60)。次に、係数取得部32−0〜32−3が係数選択部31−0〜31−3で選択されたテーブル内エントリから補間係数を読み出す(ステップS42)。その後、上記第2、第3の実施形態で説明したステップS43、S33〜S38の処理が行われる。すなわち、フィルタリング処理部13が、フィルタリング係数取得部16で読み出された4つの補間係数を用いて、データ取得部11で読み出された4つのテクセルにつきフィルタリング処理を行う(ステップS43)。その結果はデータ保持部15内に保持される(ステップS33)。データ保持部15においては、既に保持されているデータに対して、新たに与えられたテクセルを加算する処理が行われる(ステップS34)。但し、データ保持部31のリセット直後である場合には、入力されたテクセルがそのまま保持される。そして、カウンタ値と繰り返し回数とが比較される(ステップS36)。カウンタ値が繰り返し回数に達していれば(ステップS37、YES)、処理は終了する。達していなければ(ステップS37、NO)、テクスチャ制御部10はアドレスオフセット値と共に再度のテクセル取得をデータ取得部11へ命令する(ステップS38)。この際テクスチャ処理部10は、テーブル内エントリTENを“+1”する旨を新たに係数情報に与える(ステップS61)。
以後、カウンタ値が繰り返し回数に達するまでステップS12、S13、S60、S42、S43、S33〜S38、S61の処理を繰り返す。その際、ステップS12におけるアドレス計算には、ステップS38で与えられるアドレスオフセット値が使用され、ステップS60におけるテーブル内エントリTENの選択には、ステップS61で与えられるテーブル内エントリTENが使用される。
ステップS60の詳細について図45乃至図47を用いて説明する。図45及び図46はそれぞれ係数エントリ=“0”が選択される際のフィルタリング係数取得部16の一部領域のブロック図であり、図45はカウンタ値がゼロ(i=0)の場合、図46はカウンタ値が“1”(i=1)の場合について示している。
まず図45に示すように、係数選択部31−0〜31−3は係数エントリENとして“0”を選択する。また、繰り返し回数に応じてテーブル内エントリTENを選択する。具体的には、例えばカウンタ値に等しい番号のテーブル内エントリTENが選択される。従って、カウンタ値がゼロの場合、係数選択部31−0〜31−3はテーブル内エントリTENとして“0”を選択する。また、係数選択部31−0〜31−3は、それぞれ係数番号CN=0〜3をそれぞれ選択したとする。すると、係数選択部31−0〜31−3はフィルタリング係数保持部17における補間係数テーブル0を選択する。また補間係数テーブル0が図43に示す通りであったとすると、係数選択部31−0〜31−3は、係数取得部32−0〜32−3に対して、それぞれテーブル内エントリTEN=“0”における補間係数w00〜w03を読み出すように命令する。
図46の場合には、カウンタ値が“1”であるので、係数選択部31−0〜31−3は係数取得部32−0〜32−3に対して、それぞれテーブル内エントリTEN=“0”における補間係数w10〜w13を読み出すように命令する。
次に図47の例について説明する。図47は図45及び図46の例を一般化して示すものである。図示するように係数選択部31−0〜31−3は、入力される係数情報に基づいて、フィルタリング係数保持部17におけるいずれかの係数エントリEN=“j”を選択する。すなわち、補間係数テーブル“j”を選択する。また、繰り返し回数iに応じて、選択した補間係数テーブル“j”内のテーブル内エントリTEN=“i”を選択する。また、選択したテーブル内エントリ内において、いずれの補間係数を選択するかを係数番号CN=“k”により選択する。勿論、係数選択部31−0〜31−3は、互いに異なる係数エントリEN=“j0”〜“j3”をそれぞれ選択し、更に異なる係数番号CN=“k0”〜“k3”をそれぞれ選択しても良い。これは上記第3の実施形態で説明した通りである。
上記のように、この発明の第4の実施形態に係るグラフィックプロセッサであると、第1乃至第3の実施形態でそれぞれ説明した(1)乃至(3)の効果が得られる。
次に、この発明の第5の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第4の実施形態で説明したグラフィックプロセッサの第1の応用例に関するものであり、物体に対して光が照射された場合の処理に関する。
例えば図48の模式図に示すように、光源からポリゴンに対して光が照射されているとする。このような場合の画像描画処理は、ポリゴンの各頂点P1〜P3におけるパラメータと、光源に関する係数(これをライティング係数と呼ぶ)との内積計算により行われる。ポリゴンの各頂点P1〜P3におけるパラメータは、例えば25次元であり、(25×1)の行列で表すことが出来る。ライティング係数もP1〜P3と同様の例えば25次元のパラメータであり、(1×25)の行列で表すことが出来る。
そこで、図49の模式図に示すように、各頂点P1〜P3についての(25×1)行列と、ライティング係数についての(1×25)行列との内積を計算して、光に対する描画処理が行われる。図49では頂点P1についてのみ図示しているが、頂点P2、P3についても同様の計算が行われる。
この際、ポリゴンの各頂点P1〜P3のパラメータを拡張し、例えばRGB、αについて25個のパラメータを有する(25×4)行列で表現する場合がある。この場合には、ライティング係数も、少なくとも(4×25)行列に拡張される。すると図50の模式図に示すように、頂点P1〜P3の各々について、(25×4)行列と(4×25)行列との内積を行う必要がある。
この場合において、頂点P1〜P3の各々の(25×4)行列、及びライティング係数となる(4×25)行列を、それぞれテクスチャ及び補間係数として設定する。そして、ピクセル処理部6は、テクセルアドレスとして頂点のパラメータの最初の列であり且つ最初の行に相当するパラメータのアドレスを与え、取得モードを(1×4)モード、繰り返し回数を25回と設定して、テクセル(つまりP1〜P3のパラメータ)の取得をテクスチャユニット7へ命令する。この際、係数情報として与えられるライティング係数を用いてフィルタリング処理を行うように命令する。その後は、上記第4の実施形態で説明した処理を行う。
以下、具体例を用いて説明する。図51は、頂点P1のパラメータをテクスチャとして設定した際の模式図である。図示するように、頂点P1の赤色成分R、緑色成分G、青色成分、及び透明度成分αはそれぞれ、(6×4)行列の24個の成分を有している。赤色成分Rの各成分をR00〜R23、緑色成分Gの各成分をG00〜G23、青色成分Bの各成分をB00〜B23、透明度成分αの各成分をα00〜α23と呼ぶことにする。
図52は、補間係数として設定されたライティング係数について示している。図示するように、6個のエントリ0〜5の各々には、4つのライティング係数が格納される。エントリ0にはライティング係数w00、w01、w02、w03が格納され、エントリ1にはライティング係数w10、w11、w12、w13が格納され、エントリ5にはライティング係数w50、w51、w52、w53が格納される。
するとテクスチャユニット7は、まず赤色成分について、R00を先頭アドレス、繰り返し回数6回として、第4の実施形態で説明した(1×4)フィルタリングを行う。この様子を図53に示す。図示するように、データ取得部11は赤色成分の最初の列R00〜R03を読み出す。またフィルタリング係数取得部16は補間係数w00〜w03を読み出す。そしてフィルタリング処理部13が、(R00×w00+R01×w01+R02×w02+R03×w03)の計算を行う。次に。データ取得部11は赤色成分の2列目であるR04〜R07を読み出す。またフィルタリング係数取得部16は補間係数w10〜w13を読み出す。そしてフィルタリング処理部13が、(R04×w10+R05×w11+R06×w12+R07×w13)の計算を行う。テクスチャユニット7は、以上の計算を、赤色成分Rの(6×4)行列の最後の列(R20〜R23)まで繰り返し、その結果の総和を出力する。
緑色成分G、青色成分B、及び透明度成分αについても同様の計算が行われる。
本実施形態に係るグラフィックプロセッサであると、上記実施形態で説明した(1)乃至(3)の効果に加えて、下記(4)の効果が得られる。
(4)行列計算を高速化出来る。
上記のように、光が照射されている際の物体の表現は行列計算によって行われる。しかし、物体をより豊かに表現しようとすると行列の要素が膨大となり、上記行列計算にかかる負担が非常に大きくなりがちである。
しかし本実施形態に係る構成であると、ポリゴンの頂点に関するパラメータをテクスチャとして設定し、ライティング係数を補間係数として設定し、(1×4)モードでフィルタリング処理を繰り返している。従って、ピクセル処理部6は頂点に関するパラメータの先頭の要素を指定し、且つライティング係数の取得情報と繰り返し回数を与えるだけで、全ての行列演算を行うことが出来る。従って、行列演算を高速化出来る。
なお、上記実施形態では頂点のパラメータとライティング係数との内積を例に説明したが、この場合に限らず(4×L)行列(但しLは自然数)と(L×4)行列との内積計算を行うものであれば全てに適用可能である。勿論、(4×1)モードを使用すれば、(L×4)行列と(4×L)行列との内積計算にも適用出来る。
次に、この発明の第6の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第4の実施形態で説明したグラフィックプロセッサの第2の応用例に関するものであり、テクスチャユニットをデブロッキングフィルタ(Deblocking filter)として使用するものである。
図54はMPEG(Moving Picture Experts Group)画像の模式図である。図示するように、MPEG画像は二次元のXY座標に描画されているものとする。ここでは説明の簡単化のために(12×12)個のピクセルによって描画された画像を仮定する。MPEG等の画像圧縮技術では、画像を例えば(8×8)個のピクセルのブロック、または(4×4)個のピクセルにブロックに分割する。そして、分割して得られた領域毎に、DCT等の圧縮処理を行う。分割して得られた領域を以下ではピクセルブロックMBLKと呼ぶこととし、本実施形態ではピクセルブロックMBLKが(4×4)個のピクセルを含む場合を仮定する。
上記のような圧縮方法であると、異なるピクセルブロック間では、互いのピクセル情報が圧縮スキームに考慮されない。従って、隣接するブロック間(図54において領域AA1、AA2で示した領域)において、ピクセルの輝度につきアーティファクトが生じる場合がある。これは通常ブロックノイズ(block noise)と呼ばれている。本実施形態は、上記第2、第4の実施形態で説明したグラフィックプロセッサにおけるテクスチャユニット7を、ブロックノイズを低減するデブロッキングフィルタとして用いる。
図55は、テクスチャユニット7を用いたブロックノイズ低減処理のフローチャートである。図示するように、まずMPEG画像をテクスチャ画像として設定する(ステップS70)。次に、ピクセルブロックの境界を挟んでU方向で隣接するテクセルについて、(4×1)モードでフィルタリング処理を行う(ステップS71)。この様子を示しているのが図56である。図56はテクスチャの概念図である。図56において、斜線を付したテクセルが、フィルタリング処理を行うべきテクセルである。なお図56ではテクセルブロックTBLK0におけるテクセル6、7、14についてのフィルタリングの様子のみを示している。
図示するように、テクセルブロックTBLK0のテクセル6につきフィルタリング処理を行う場合には、例えばテクセルブロックTBLK0のテクセル2、4、6、及びテクセルブロックTBLK1のテクセル12を読み出してフィルタリング処理を行う。また、テクセルブロックTBLK0のテクセル7につきフィルタリング処理を行う場合には、例えばテクセルブロックTBLK0のテクセル3、5、7、及びテクセルブロックTBLK1のテクセル13を読み出してフィルタリング処理を行う。更に、テクセルブロックTBLK0のテクセル14につきフィルタリング処理を行う場合には、例えばテクセルブロックTBLK0のテクセル10、12、14、及びテクセルブロックTBLK1のテクセル8を読み出してフィルタリング処理を行う。以上のようにして、テクセルブロックTBLK0のテクセル6と同一のU座標を有する12個のテクセルにつき、それぞれ(4×1)フィルタリングを行う。なお、テクセルの取り方はこれに限定されるものでは無く、例えばテクセルブロックTBLK0のテクセル6につきフィルタリング処理を行う場合には、テクセルブロックTBLK0のテクセル4、6、及びテクセルブロックTBLK1のテクセル12、14を読み出しても良い。
次に、テクセルブロックTBLK1のテクセル12とU座標が同一であるテクセルにつき、それぞれ(4×1)モードでのフィルタリング処理を行う。更にテクセルブロックTBLK1のテクセル6とU座標が同一であるテクセルにつき、それぞれ(4×1)モードでのフィルタリング処理を行う。最後に、テクセルブロックTBLK2のテクセル0とU座標が同一であるテクセルにつき、(4×1)モードでのフィルタリング処理を行う。
以上のフィルタリング処理が終了すると、フィルタリング処理結果を新たなテクスチャ画像として設定する(ステップS72)。そして、ピクセルブロックの境界を挟んでV方向で隣接するテクセルについて、(1×4)モードでフィルタリング処理を行う(ステップS73)。この様子を示しているのが図57である。図57はテクスチャの概念図である。図57において、斜線を付したテクセルが、フィルタリング処理を行うべきテクセルである。なお図57ではテクセルブロックTBLK0におけるテクセル9、11、13についてのフィルタリングの様子のみを示している。
図示するように、テクセルブロックTBLK0のテクセル9につきフィルタリング処理を行う場合には、例えばテクセルブロックTBLK0のテクセル1、8、9、及びテクセルブロックTBLK3のテクセル12を読み出してフィルタリング処理を行う。また、テクセルブロックTBLK0のテクセル11につきフィルタリング処理を行う場合には、例えばテクセルブロックTBLK0のテクセル3、10、11、及びテクセルブロックTBLK3のテクセル14を読み出してフィルタリング処理を行う。更に、テクセルブロックTBLK0のテクセル13につきフィルタリング処理を行う場合には、例えばテクセルブロックTBLK0のテクセル5、12、13、及びテクセルブロックTBLK3のテクセル8を読み出してフィルタリング処理を行う。以上のようにして、テクセルブロックTBLK0のテクセル9と同一のV座標を有する12個のテクセルにつき、それぞれ(4×1)フィルタリングを行う。なお、テクセルの取り方はこれに限定されるものでは無く、例えばテクセルブロックTBLK0のテクセル9につきフィルタリング処理を行う場合には、テクセルブロックTBLK0のテクセル8、9、及びテクセルブロックTBLK3のテクセル12、13を読み出しても良い。
次に、テクセルブロックTBLK3のテクセル12とV座標が同一であるテクセルにつき、それぞれ(1×4)モードでのフィルタリング処理を行う。更にテクセルブロックTBLK3のテクセル5とV座標が同一であるテクセルにつき、それぞれ(1×4)モードでのフィルタリング処理を行う。最後に、テクセルブロック6のテクセル0とV座標が同一であるテクセルにつき、それぞれ(1×4)モードでのフィルタリング処理を行う。
以上の処理の結果、ブロックノイズが低減されたMPEG画像が得られる。
上記のように、本実施形態に係るグラフィックプロセッサであると、上記実施形態で説明した(1)乃至(3)の効果に加えて、下記(5)の効果が得られる。
(5)ブロックノイズの低減処理を、ハードウェアの増加を招くことなく高速に行うことが出来る。
ブロックノイズを低減するための手法として、デブロッキングフィルタ等がH.264等の圧縮コーデックで規定されている。しかし、特別なハードウェアを有しない汎用のCPUによって処理を行う場合、その処理量は大きく、デコード時における総演算量の50%程度を占めることもある。そこで、ブロックノイズを低減するために新たなハードウェアを設ける方法が考え得るが、この場合にはグラフィックプロセッサのサイズ及びコストが増大するという問題があった。
しかし本実施形態に係るグラフィックプロセッサであると、テクスチャユニット7をデブロッキングフィルタとして用いている。従って、ピクセル処理部6におけるブロックノイズ低減処理の負荷を軽減し、高速に処理を行うことが出来る。また、テクスチャユニット7を流用することで、ハードウェアの増加も防ぐことが出来る。
次に、この発明の第7の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第1乃至第4の実施形態に係るグラフィックプロセッサの第3の応用例に関するものであり、被写界深度効果に適用したものである。コンピュータグラフィックスにおける被写界深度効果とは、現実のカメラにおいてピントがずれて映像がぼける現象をシミュレートすることを言う。被写界深度効果をコンピュータグラフィックス画像に与えることで、奥行き感のあるシーンを表現することが出来る。
図58は被写界深度効果についての処理のフローチャートである。図示するように、まずピクセル処理部6が画像を描画する(ステップS80)。この際、テクスチャユニット7からテクスチャを読み出してテクスチャマッピングを行うが、用いられるテクスチャは上記実施形態で説明したぼかし処理を行わないテクスチャである。またステップS80における画像描画により、各ピクセルについての奥行き値を得る(ステップS81)。奥行き値とは、その画像における物体の位置を示すものであり、奥行き値が大きいということは、その物体が画像の奥、換言すれば遠い位置にあることを示す。
次にステップS80で描画した画像をテクスチャ画像として設定し、数種類の繰り返し回数を用いてフィルタリング処理を行う(ステップS82)。これにより、ぼかし度合いの異なる複数の画像を得ることができる(ステップS83)。図59は、テクスチャ画像とその精細度とを示す概念図である。図示するように、フィルタリングを行わない画像50と、例えば繰り返し回数i=0、2、4、8でフィルタリング処理を行った画像51〜54を用意する、複数枚のテクスチャ画像を用意する。当然ながら、繰り返し回数が多いほど、得られる画像はぼけたものとなる。
次にピクセル処理部6は、各ピクセルの奥行き値に応じて、適切な画像50〜54のいずれかのピクセルをフレームバッファに貼り付けることにより画像を描画する(ステップS84)。勿論、奥行き値の大きい画像であるほど、ぼけたテクスチャ画像が選択される。ステップS60の処理の模式図を図60に示す。図示するように、ピクセル処理部6はまず奥行き値55から、ピクセルAに対応する位置の奥行き値を読み出す。そして、読み出した奥行き値に適切な画像50〜54のいずれかのピクセルAを読み出す。そして、フレームバッファ56において、ピクセルAと同一の場所に位置するピクセルA’に、読み出したピクセルAを貼り付ける。
図61は、ピクセル処理部6がフレームバッファ56に貼り付けるべきピクセルを生成する際の様子を示している。図示するように、ピクセルAの奥行き値が、画像の最前面よりも少し奥にある場合には、フィルタリングを行っていない画像50と、ぼけた画像51とを用いて線形補間を行う。そしてその結果を、フレームバッファ56へ貼り付けるべきピクセルAとする。またピクセルAよりも更に奥行き値の大きいピクセルBの場合には、ぼけた画像51と更にぼけた画像52とを用いて線形補間を行い、フレームバッファ56に貼り付けるべきピクセルBを生成する。
上記のように、本実施形態に係るグラフィックプロセッサであると、上記実施形態で説明した(1)乃至(3)の効果に加えて、下記(6)の効果が得られる。
(6)被写界深度効果をコンピュータグラフィックス画像に容易に与えることが出来る。
本実施形態であると、精細度の異なる画像を複数用意し、奥行き値に応じて画像を選択している。この際、精細度の異なる画像を作成する際には、フィルタリング時における繰り返し回数を変化させるだけで良く、その他の特殊な処理は不要である。従って、非常に容易に被写界深度効果を得ることが出来る。
次に、この発明の第8の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第1乃至第4の実施形態に係るグラフィックプロセッサの第4の応用例に関するものであり、ソフトシャドウ(Soft Shadow)効果を得るためのものである。ソフトシャドウ効果とは、影の輪郭のぼかすことを言う。現実の世界においては、太陽などの非常に明るく且つ指向性のある光源以外による影の多くは、はっきりとした輪郭を持たない。従って、ソフトシャドウ効果を用いることにより、コンピュータグラフィックス画像のリアリティを増すことが出来る。特に間接照明などを用いたシーンに有効である。
図62は、本実施形態に係るソフトシャドウ効果のフローチャートである。まず、ピクセル処理部6が画像を描画し、必要に応じてテクスチャマッピングを行う(ステップS90)。描画された画像を図63に示す。この時点において、画像内の影の輪郭ははっきりとしている。次に、影のみをとりだし、テクスチャ画像に設定する(ステップS91)。そして、テクスチャ画像に設定した影についてフィルタリング処理を行う(ステップS92)。フィルタリング処理の具体的な手法は上記実施形態で説明したとおりである。但し、影全体についてフィルタリング処理を行う必要は無く、影の輪郭部分のみについて行えば十分である。この処理の様子を示しているのが図64である。図示するように、輪郭のぼけた影の画像が得られる。最後に、ステップS92で得られた影を元の画像(図63)の影に置き換える(ステップS93)と、図65に示すように、影の輪郭がぼけて、よりリアリティのある画像が得られる。
このように、上記実施形態はソフトシャドウ効果に用いることも出来る。
次に、この発明の第9の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第1乃至第4の実施形態に係るグラフィックプロセッサの第5の応用例に関するものであり、テクセルの取得方法に関するものである。
本実施形態に係るグラフィックプロセッサは、新たにテクセル取得パラメータEを有している。パラメータEは、取得モードと共にピクセル処理部6からテクスチャユニット7に与えられる。座標計算部21−0〜21−3では取得モード、UV座標、及びパラメータEを用いて計算を行う。以下、パラメータEについて説明する。パラメータEとは、取得する4つのテクセルの間隔を示す情報である。
図66は(4×1)モードにおいてE=0、1、2の場合に読み出されるテクセルの位置関係を示している。図中における×印がサンプリング点であり、斜線を付した四角形が読み出されるテクセルを示している。図示するように、E=0の場合には読み出されるテクセルの間隔はゼロである。E=1であると、テクセルはU軸方向に1つとばしで読み出される。またE=2の場合には、テクセルはU軸方向に2つとばしで読み出される。すなわち、座標計算部21−0〜21−3は、隣接するテクセルにパラメータEの値を加算してU座標を計算する。具体的には、座標計算部21−0は図9で説明した通り
(s0=u、t0=v)
であるが、座標計算部21−1は
(s1=s0+E、t1=v)
を計算する。また座標計算部21−2は、
(s2=s1+E、s2=v)
を計算する。また座標計算部21−3は、
(s3=s2+E、s3=v)
を計算する。
図67は(1×4)モードにおいてE=0、1、2の場合に読み出されるテクセルの位置関係を示している。座標計算部21−0は
(s0=u、t0=v)
を計算する。座標計算部21−1は
(s1=u、t1=t0+E)
を計算する。また座標計算部21−2は、
(s2=u、s2=t1+E)
を計算する。また座標計算部21−3は、
(s3=u、s3=t2+E)
を計算する。
図68はクロスモードにおいてE=0、1、2の場合に読み出されるテクセルの位置関係を示している。図示するようにクロスモードであると、読み出されるテクセルの位置はパラメータEだけU軸及びV軸の両方に変化する。座標計算部21−0は
(s0=u、t0=v−1−E)
を計算する。座標計算部21−1は
(s1=u−1−E、t1=v)
を計算する。また座標計算部21−2は、
(s2=u+1+E、s2=v)
を計算する。また座標計算部21−3は、
(s3=u、s3=v+1+E)
を計算する。
図69はRCモードにおいてE=0、1、2の場合に読み出されるテクセルの位置関係を示している。座標計算部21−0は
(s0=u−1−E、t0=v−1−E)
を計算する。座標計算部21−1は
(s1=u−1−E、t1=v+1+E)
を計算する。また座標計算部21−2は、
(s2=u+1+E、s2=v−1−E)
を計算する。また座標計算部21−3は、
(s3=u+1+E、s3=v+1+E)
を計算する。
以上のように、パラメータEを用いることにより、テクセルの読み出し方法に様々なバリエーションを与えることが可能である。
上記のように、この発明の第1乃至第9の実施形態に係るグラフィックプロセッサであると、ピクセル処理部6がテクスチャユニット7に対してテクセルの取得モードを情報として与えている。そしてテクスチャユニット7は、取得モードに応じて(2×2)以外のパターンでテクセルを取得する。従って、テクセルのフィルタリング処理の自由度が飛躍的に向上する。また、ピクセル処理部6から繰り返し回数の指示を受け、その回数だけテクセル取得処理を繰り返すことで、テクセル取得に関するピクセル処理部6の負荷を軽減出来る。更に、補間係数を用いることにより、より豊かな画像表現が可能となる。
なお上記実施形態では、例えば図8に示すように、(4×1)モードの場合には、サンプリング点に相当するテクセルと、サンプリング点からU軸の正方向に隣り合う3つのテクセルが読み出される場合について説明した。また(1×4)モードの場合には、サンプリング点に相当するテクセルと、サンプリング点からV軸の正方向に隣り合う3つのテクセルが読み出される場合について説明した。しかし、読み出される4つのテクセルの位置は上記の場合に限定されるものではなく、サンプリング点を基準にして適宜自由に設定出来る。図70はUV座標であり、(1×4)モードにおいて読み出される4つのテクセルとサンプリング点との関係を示している。図中において×印がサンプリング点である。
CASE1は上記実施形態で説明した場合である。CASE2は、V座標がサンプリング点に対して“−1”となる位置を基準に正方向に4つのテクセルを取得する場合を示している。CASE3は、V座標がサンプリング点に対して“−2”となる位置を基準に正方向に4つのテクセルを取得する場合を示している。CASE4は、V座標がサンプリング点に対して“−3”となる位置を基準に正方向に4つのテクセルを取得する場合を示している。CASE5は、V座標がサンプリング点に対して“+1”となる位置を基準に正方向に4つのテクセルを取得する場合を示している。この場合、サンプリング点に相当するテクセルは読み出されない。(4×1)モードの場合も同様である。
またデータ取得部11の制御部20は、座標計算時に使用するオフセットテーブルを有していても良い。図71はオフセットテーブルの概念図である。オフセットテーブルとは、座標計算部21−0〜21−3が座標を計算する際に、サンプリング点に対応するUV座標(u、v)に対して加算すべき値Δs0〜Δs3、Δt0〜Δt3を保持するテーブルである。つまり座標計算部21−0〜21−3は、制御部20におけるオフセットテーブル内の値を読み出し、それぞれ次の計算を行う。
(s0、t0)=(u+Δs0、v+Δt0)
(s1、t1)=(u+Δs1、v+Δt1)
(s2、t2)=(u+Δs2、v+Δt2)
(s3、t3)=(u+Δs3、v+Δt3)
図71において、iは繰り返し回数(カウンタ値)であり、h、gは定数または所定の関数等である。一例として(1×4)モードの場合について説明する。オフセットテーブルは、(1×4)モードにおいては、Δs0=(i×g)、Δt0=(0+h)、Δs1=(i×g)、Δt1=(1+h)、Δs2=(i×g)、Δt2=(2+h)、Δs3=(i×g)、Δt3=(3+h)である。h=0の場合が図70におけるCASE1に相当する。h=−1、−2、−3の場合が、図70におけるそれぞれCASE2〜CASE4に相当する。またh=1の場合が図70におけるCASE5に相当する。また、g=1の場合には、テクセルの取得を繰り返す度にU座標が“+1”されるが、g=2とすれば“+2”とされ、1列間隔でテクセルが読み出される。(4×1)モードの場合も同様である。なおCrossモード及びRCモードの場合にも、繰り返し回数iの情報が与えられていても良い。
また上記実施形態では、テクセルの取得を繰り返す際に、(4×1)モードではV軸の正方向に向かって繰り返し、(1×4)モードではU軸方向に向かって繰り返す場合について説明したが、この場合に限定されるものでもない。図72はUV座標であり、4つのテクセルの取得処理を繰り返す様子を示している。図示するように、処理を繰り返す度にU座標とV座標の両方が変化しても良い。この場合、ピクセル処理部6からテクスチャユニット7に対して、処理を進めるベクトル情報(Δt/Δs)が与えられれば良い。このベクトル情報に基づいて、制御部20は図71に示すオフセットテーブルを更新することが出来る。
更に第3、第4の実施形態において、補間係数を使用するか否かは自由に選択することも可能である。図73は、第3、第4の実施形態の変形例に係るフィルタリング処理部13のブロック図である。図示するようにフィルタリング処理部13は、図35で説明した構成においてスイッチ42−0〜42−3を更に備えている。そして補間係数を使用する場合には、スイッチ42−0〜42−3は、テクセル取得部22−0〜22−3で取得されたテクセルを乗算器40−0〜40−3へ入力する。使用しない場合には、乗算器40−0〜40−3に入力することなく、直接加算器41へ入力する。図74は上記場合の処理のフローチャートである。図示するように、ステップS42で補間係数を取得した後、補間係数を使用するか否かを判定する(ステップS100)。使用する場合(ステップS100、YES)にはステップS43に進む。使用しない場合(ステップS100、NO)にはステップS14の処理を行って、ステップS33に進む。
また、補間係数を使用するか否かを処理の始めに判定し、使用しない場合には補間係数の取得を行わないことも可能である。図75はこのような場合のフローチャートである。図示するようにステップS30の後に、上記ステップS100の処理を行う。そして使用する場合(ステップS100、YES)にはステップS40に進み、第4の実施形態で説明した処理を行う。使用しない場合(ステップS100、NO)には、ステップS40を省いてステップS31に進み、第2の実施形態で説明した処理を行う。
更に、上記実施形態では1度に読み出すテクセルの個数は4つである場合について説明したが、例えば4つ未満、または5つ以上であっても良い。この場合、例えば図33に示す補間係数テーブルは、テクセルと同一の数の補間係数を保持する。
また、上記第1乃至第9の実施形態に係るグラフィックプロセッサは、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図76は上記第1乃至第9の実施形態に係るグラフィックプロセッサを備えたデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード1000は、フロントエンド部1100、画像描画プロセッサシステム1200、デジタル入力部1300、A/Dコンバータ1400、1800、ゴーストリダクション部1500、三次元YC分離部1600、カラーデコーダ1700、LAN処理LSI1900、LAN端子2000、ブリッジメディアコントローラ2100、カードスロット2200、フラッシュメモリ2300、及び大容量メモリ(例えばDRAM)2400を備えている。フロントエンド部1100は、デジタルチューナーモジュール1110、1120、OFDM(Orthogonal Frequency Division Multiplex)復調部1130、QPSK(Quadrature Phase Shift Keying)復調部1140を備えている。
画像描画プロセッサシステム1200は、送受信回路1210、MPEG2デコーダ1220、グラフィックエンジン1230、デジタルフォーマットコンバータ1240、及びプロセッサ1250を備えている。そして、例えばグラフィックエンジン1230が、上記第1乃至第9の実施形態で説明したグラフィックプロセッサに対応する。
上記構成において、地上デジタル放送波、BSデジタル放送波、及び110°CSデジタル放送波は、フロントエンド部1100で復調される。また地上アナログ放送波及びDVD/VTR信号は、3次元YC分離部1600及びカラーデコーダ1700でデコードされる。これらの信号は、画像描画プロセッサシステム1200に入力され、送受信回路1210で、映像・音声・データに分離される。そして、映像に関しては、MPEG2デコーダ1220を介してグラフィックエンジン1230に映像情報が入力される。するとグラフィックエンジン1230は、上記実施形態で説明したようにして図形を描画する。
図77は、上記第1乃至第9の実施形態に係るグラフィックプロセッサを備えた録画再生機器のブロック図である。図示するように、録画再生機器3000はヘッドアンプ3100、モータードライバ3200、メモリ3300、画像情報制御回路3400、ユーザI/F用CPU3500、フラッシュメモリ3600、ディスプレイ3700、ビデオ出力部3800、及びオーディオ出力部3900を備えている。
画像情報制御回路3400は、メモリインターフェース3410、デジタル信号プロセッサ3420、プロセッサ3430、映像処理用プロセッサ3450、及びオーディオ処理用プロセッサ3440を備えている。そして、例えば映像処理用プロセッサ3450及びデジタル信号プロセッサ3420が、上記第1乃至第9の実施形態で説明したグラフィックプロセッサに対応する。
上記構成において、ヘッドアンプ3100で読み出された映像データが画像情報制御回路3400に入力される。そして、デジタル信号処理プロセッサ3420から映像情報用プロセッサ3450に図形情報が入力される。すると映像情報用プロセッサ3450は、上記実施形態で説明したようにして図形を描画する。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
この発明の第1の実施形態に係るグラフィックプロセッサのブロック図。 この発明の第1の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図。 この発明の第1の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図。 この発明の第1の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図。 この発明の第1の実施形態に係る画像処理方法のフローチャート。 UV座標の概念図であり、この発明の第1の実施形態に係るグラフィックプロセッサの(4×1)モードで取得されるテクセルの位置を示す図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、(4×1)モードにおける座標計算の様子を示す図。 UV座標の概念図であり、この発明の第1の実施形態に係るグラフィックプロセッサの(1×4)モードで取得されるテクセルの位置を示す図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、(1×4)モードにおける座標計算の様子を示す図。 UV座標の概念図であり、この発明の第1の実施形態に係るグラフィックプロセッサのCrossモードで取得されるテクセルの位置を示す図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、Crossモードにおける座標計算の様子を示す図。 UV座標の概念図であり、この発明の第1の実施形態に係るグラフィックプロセッサのRCモードで取得されるテクセルの位置を示す図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、RCモードにおける座標計算の様子を示す図。 UV座標の概念図であり、この発明の第1の実施形態に係るグラフィックプロセッサの(2×2)モードで取得されるテクセルの位置を示す図。 この発明の第1の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、(2×2)モードにおける座標計算の様子を示す図。 この発明の第1の実施形態に係る画像処理方法のフローチャートであり、特にフィルタリング処理を示す図。 フィルタリング処理の概念図。 テクスチャ画像の概念図であり、この発明の第1の実施形態に係る画像処理方法を用いたフィルタリング処理の様子を示す図。 図面に代わる写真であって、フィルタリング処理前のテクスチャ画像であり、この発明の第1の実施形態に係る画像処理方法によって(4×1)フィルタリング行う様子を示す図。 図面に代わる写真であって、(4×1)フィルタリング後のテクスチャ画像であり、この発明の第1の実施形態に係る画像処理方法によって(1×4)フィルタリング行う様子を示す図。 図面に代わる写真であって、(4×4)フィルタリングのテクスチャ画像。 この発明の第2の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。 この発明の第2の実施形態に係る画像処理方法のフローチャート。 この発明の第2の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、(4×1)モードにおいて繰り返し回数が1回の場合の座標計算の様子を示す図。 この発明の第2の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、(4×1)モードにおいて繰り返し回数が2回の場合の座標計算の様子を示す図。 この発明の第2の実施形態に係るグラフィックプロセッサの備えるデータ取得部のブロック図であり、(4×1)モードにおいて繰り返し回数がi回の場合の座標計算の様子を示す図。 (4×4)フィルタリングの概念図。 この発明の第2の実施形態に係る画像処理方法による(4×4)フィルタリングの概念図。 図面に代わる写真であって、フィルタリング処理前のテクスチャ画像であり、この発明の第2の実施形態に係る画像処理方法によって(4×4)フィルタリング行う様子を示す図。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数保持部の概念図。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるフィルタリング処理部のブロック図。 この発明の第3の実施形態に係る画像処理方法のフローチャート。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ0選択時の様子を示す図。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ1選択時の様子を示す図。 この発明の第3の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリj選択時の様子を示す図。 この発明の第3の実施形態に係る画像処理方法のフローチャートであり、特にフィルタリング処理を示す図。 この発明の第4の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。 この発明の第4の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数保持部の概念図。 この発明の第4の実施形態に係るグラフィックプロセッサの備える補間係数テーブルの概念図。 この発明の第4の実施形態に係る画像処理方法のフローチャート。 この発明の第4の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ0、テーブル内エントリ0選択時の様子を示す図。 この発明の第4の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリ0、テーブル内エントリ1選択時の様子を示す図。 この発明の第4の実施形態に係るグラフィックプロセッサの備えるフィルタリング係数取得部のブロック図であり、係数エントリj、テーブル内エントリi選択時の様子を示す図。 ポリゴンに対して光源から光が照射されている様子を示す模式図。 ポリゴンの頂点におけるパラメータと、ライティング係数との内積計算の様子を示す概念図。 この発明の第5の実施形態に係る画像処理方法において、ポリゴンの頂点におけるパラメータと、ライティング係数との内積計算の様子を示す概念図。 この発明の第5の実施形態に係る画像処理方法において、ポリゴンの頂点におけるパラメータの概念図。 この発明の第5の実施形態に係る画像処理方法において、ライティング係数の概念図。 この発明の第5の実施形態に係る画像処理方法において、ポリゴンの頂点におけるパラメータと、ライティング係数との内積計算の様子を示す概念図。 この発明の第6の実施形態に係るグラフィックプロセッサで使用されるMPEG画像の模式図。 この発明の第6の実施形態に係る画像処理方法のフローチャート。 この発明の第6の実施形態に係る画像処理方法による(4×1)フィルタリングの概念図。 この発明の第6の実施形態に係る画像処理方法による(1×4)フィルタリングの概念図。 この発明の第7の実施形態に係る画像処理方法のフローチャート。 この発明の第7の実施形態に係る画像処理方法において使用する複数の画像と、その精細度との関係を示す概念図。 この発明の第7の実施形態に係る画像処理方法を実行する際のピクセル処理部のブロック図。 この発明の第7の実施形態に係る画像処理方法において使用する複数の画像と、それらの線形補間の様子を示す概念図。 この発明の第8の実施形態に係る画像処理方法のフローチャート。 この発明の第8の実施形態に係る画像処理方法が適用される画像の模式図。 この発明の第8の実施形態に係る画像処理方法が適用される画像の模式図であり、影の部分についてフィルタリングを行う様子を示す図。 この発明の第8の実施形態に係る画像処理方法を適用した後に得られる画像の模式図。 この発明の第9の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、(4×1)モードでパラメータEを変化させた際に読み出されるテクセルの位置関係を示す図。 この発明の第9の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、(1×4)モードでパラメータEを変化させた際に読み出されるテクセルの位置関係を示す図。 この発明の第9の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、CrossモードでパラメータEを変化させた際に読み出されるテクセルの位置関係を示す図。 この発明の第9の実施形態に係るグラフィックプロセッサにおいて読み出されるテクセルの模式図であり、RCモードでパラメータEを変化させた際に読み出されるテクセルの位置関係を示す図。 UV座標の概念図であり、この発明の第1乃至第9の実施形態の第1変形例に係るグラフィックプロセッサの(1×4)モードで取得されるテクセルの位置を示す図。 UV座標の概念図であり、この発明の第1乃至第9の実施形態の第2変形例に係るグラフィックプロセッサの備えるオフセットテーブルの概念図。 UV座標の概念図であり、この発明の第1乃至第9の実施形態の第3変形例に係るグラフィックプロセッサの(1×4)モードでフィルタリングを行う様子を示す図。 この発明の第1乃至第9の実施形態の第4変形例に係るグラフィックプロセッサの備えるフィルタリング処理部のブロック図。 この発明の第1乃至第9の実施形態の第5変形例に係る画像処理方法のフローチャート。 この発明の第1乃至第9の実施形態の第6変形例に係る画像処理方法のフローチャート。 この発明の第1乃至第9の実施形態に係るグラフィックプロセッサを備えたデジタルテレビのブロック図。 この発明の第1乃至第9の実施形態に係るグラフィックプロセッサを備えた録画再生機器のブロック図。
符号の説明
1…グラフィックプロセッサ、2…ラスタライザ、3…ピクセルシェーダ、4…ローカルメモリ、5…データ振り分け部、6…ピクセル処理部、7…テクスチャユニット、10…テクスチャ制御部、11…データ取得部、12…キャッシュメモリ、13…フィルタリング処理部、14…カウンタ、15…データ保持部、16…フィルタリング係数取得部、17…フィルタリング係数保持部、20、30…制御部、21−0〜21−3…座標計算部、22−0〜22−3…テクセル取得部、31−0〜31−3…係数選択部、32−0〜32−3…係数取得部、40−0〜40−3…乗算器、41…加算器、42−0〜42−3…スイッチ、50〜54…画像、55…奥行き値、56…フレームバッファ

Claims (5)

  1. 制御部、取得部、第1メモリ、及び処理部を備えた画像処理装置によって実行され、
    第1画像座標上の第1画像データと、テクスチャとして使用される第2画像座標上の第2画像データとを用いた画像処理方法であって、
    前記第1画像データの前記第1画像座標に対応する前記第2画像データの前記第2画像座標と、該第2画像座標に対応して読み出されるべき4個以上の第2画像データの位置関係を示す取得モードとを、前記制御部によって受信するステップと、
    前記第2画像座標に対応すると共に、前記取得モードに従って配列された前記4個以上の第2画像データを、前記取得部によって選択するステップと、
    前記第2画像座標と前記取得モードとに基づいて、前記選択された第2画像データのアドレスを、前記取得部によって算出するステップと、
    前記アドレスを用いて、前記選択された第2画像データを前記第1メモリから、前記取得部によって読み出すステップと、
    前記処理部によって、前記第1メモリから読み出した前記第2画像データについてフィルタリング処理を行い、前記第1画像座標に貼り付けられるべき第3画像データを得るステップと
    を具備し、前記取得モードは、複数の取得モードのうちから選択され
    前記取得モードは、
    二次元の座標系において第1方向に配列された4つの第2画像データを取得する第1取得モードと、
    前記座標系において、前記第1方向に直交する第2方向に配列された4つの第2画像データを取得する第2取得モードと、
    前記座標系において、ある第2画像データを挟んで、前記第1方向で対向する2つの第2画像データと前記第2方向で対向する別の2つの第2画像データとを取得する第3取得モードと、
    前記座標系において、ある第2画像データを挟んで、前記第1、第2方向と異なる第3方向で対向する2つの第2画像データと、前記第3方向と直交する第4方向で対向する別の2つの第2画像データとを取得する第4取得モードと
    を含む4つの取得モードのうちの少なくとも2つを含む
    ことを特徴とする画像処理方法。
  2. 前記アドレスを算出する前に、前記フィルタリング処理の繰り返し回数を、前記制御部によって受信するステップを更に備え、
    前記アドレスを算出するステップ、前記第2画像データを読み出すステップ、及び前記第3画像データを得るステップは、前記繰り返し回数だけ繰り返され、
    前記アドレスを算出するステップにおいては、繰り返される度に該アドレスのオフセット値が前記アドレスに加算され、
    前記第2画像データは、前記アドレスと前記オフセット値との前記加算結果に基づいて前記第1メモリから読み出される
    ことを特徴とする請求項1記載の画像処理方法。
  3. 前記フィルタリング処理時に用いる補間係数情報を、前記制御部によって受信するステップと、
    係数取得部が、前記補間係数情報に基づいて、前記補間係数を第2メモリから読み出すステップと
    を更に備え、前記フィルタリング処理は、前記第2メモリから読み出された前記補間係数と、前記第2画像データの各々とを積算するステップと、
    前記積算した結果を加算して前記第3画像データを得るステップと
    を備えることを特徴とする請求項1記載の画像処理方法。
  4. 前記アドレスを算出する前に、前記フィルタリング処理の繰り返し回数を、前記制御部によって受信するステップと、
    前記フィルタリング処理時に用いる補間係数情報を、前記制御部によって受信するステップと、
    係数取得部が、前記補間係数情報に基づいて、前記補間係数を第2メモリから読み出すステップと
    を更に備え、前記アドレスを算出するステップ、前記第2画像データを読み出すステップ、前記補間係数を読み出すステップ、及び前記第3画像データを得るステップは、前記繰り返し回数だけ繰り返され、
    前記アドレスを算出するステップにおいては、繰り返される度に該アドレスのオフセット値が前記アドレスに加算され、
    前記第2画像データは、前記アドレスと前記オフセット値との前記加算結果に基づいて前記第1メモリから読み出され、
    前記フィルタリング処理は、前記第2メモリから読み出された前記補間係数と、前記第2画像データの各々とを積算するステップと、
    前記積算した結果を加算して前記第3画像データを得るステップと
    を備え、前記繰り返す度に異なる前記補間係数が読み出される
    ことを特徴とする請求項1記載の画像処理方法。
  5. 第1画像座標上の第1画像データと、テクスチャとして使用される第2画像座標上の第2画像データとを用いた画像処理装置であって、
    画像データを保持する第1メモリと、
    前記第1画像データの前記第1画像座標に対応する前記第2画像データの前記第2画像座標と、前記第2画像座標に対応して読み出されるべき4個以上の第2画像データの位置関係を示す取得モードとに基づいて、複数の前記第2画像データを選択し、
    前記第2画像座標と前記取得モードとに基づいて、前記選択された第2画像データのアドレスを算出し、
    前記アドレスを用いて、前記選択された第2画像データを前記第1メモリから読み出す画像データ取得部と、
    前記画像データ取得部が前記第1メモリから読み出した前記第2画像データについてフィルタリング処理を行い、第3画像データを得るフィルタリング処理部と
    を具備し、前記取得モードは、複数の取得モードのうちから選択され
    前記取得モードは、
    二次元の座標系において第1方向に配列された4つの第2画像データを取得する第1取得モードと、
    前記座標系において、前記第1方向に直交する第2方向に配列された4つの第2画像データを取得する第2取得モードと、
    前記座標系において、ある第2画像データを挟んで、前記第1方向で対向する2つの第2画像データと前記第2方向で対向する別の2つの第2画像データとを取得する第3取得モードと、
    前記座標系において、ある第2画像データを挟んで、前記第1、第2方向と異なる第3方向で対向する2つの第2画像データと、前記第3方向と直交する第4方向で対向する別の2つの第2画像データとを取得する第4取得モードと
    を含む4つの取得モードのうちの少なくとも2つを含む
    ことを特徴とする画像処理装置。
JP2006139270A 2006-05-18 2006-05-18 画像処理装置及び画像処理方法 Expired - Fee Related JP4843377B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006139270A JP4843377B2 (ja) 2006-05-18 2006-05-18 画像処理装置及び画像処理方法
US11/804,318 US20070279434A1 (en) 2006-05-18 2007-05-17 Image processing device executing filtering process on graphics and method for image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006139270A JP4843377B2 (ja) 2006-05-18 2006-05-18 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2007310669A JP2007310669A (ja) 2007-11-29
JP4843377B2 true JP4843377B2 (ja) 2011-12-21

Family

ID=38789558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006139270A Expired - Fee Related JP4843377B2 (ja) 2006-05-18 2006-05-18 画像処理装置及び画像処理方法

Country Status (2)

Country Link
US (1) US20070279434A1 (ja)
JP (1) JP4843377B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5911166B2 (ja) * 2012-01-10 2016-04-27 シャープ株式会社 画像処理装置、画像処理方法、画像処理プログラム、撮像装置、及び画像表示装置
US9355489B2 (en) 2013-11-14 2016-05-31 Intel Corporation Land grid array socket for electro-optical modules
US9659341B2 (en) * 2014-06-25 2017-05-23 Qualcomm Incorporated Texture pipe as an image processing engine
US20170243375A1 (en) * 2016-02-18 2017-08-24 Qualcomm Incorporated Multi-step texture processing with feedback in texture unit
US10089708B2 (en) * 2016-04-28 2018-10-02 Qualcomm Incorporated Constant multiplication with texture unit of graphics processing unit
CN111861865B (zh) * 2019-04-29 2023-06-06 精工爱普生株式会社 电路装置、电子设备以及移动体

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579444A (en) * 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
JP2682559B2 (ja) * 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
US5544283A (en) * 1993-07-26 1996-08-06 The Research Foundation Of State University Of New York Method and apparatus for real-time volume rendering from an arbitrary viewing direction
JPH07230555A (ja) * 1993-12-22 1995-08-29 Matsushita Electric Ind Co Ltd ミップマップ画像生成装置および生成方法
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US6002407A (en) * 1997-12-16 1999-12-14 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
JP4313863B2 (ja) * 1998-09-11 2009-08-12 株式会社タイトー 画像処理装置
GB2343599B (en) * 1998-11-06 2003-05-14 Videologic Ltd Texturing systems for use in three dimensional imaging systems
US6529201B1 (en) * 1999-08-19 2003-03-04 International Business Machines Corporation Method and apparatus for storing and accessing texture maps
US6614443B1 (en) * 2000-02-29 2003-09-02 Micron Technology, Inc. Method and system for addressing graphics data for efficient data access
US6819793B1 (en) * 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
US7081892B2 (en) * 2002-04-09 2006-07-25 Sony Computer Entertainment America Inc. Image with depth of field using z-buffer image data and alpha blending
JP3860545B2 (ja) * 2003-02-07 2006-12-20 誠 小川 画像処理装置及び画像処理方法
US7312021B2 (en) * 2004-01-07 2007-12-25 Taiwan Semiconductor Manufacturing Company, Ltd. Holographic reticle and patterning method
WO2005088548A1 (ja) * 2004-03-10 2005-09-22 Kabushiki Kaisha Toshiba 描画装置、描画方法、及び描画プログラム
JP4044069B2 (ja) * 2004-04-23 2008-02-06 株式会社ソニー・コンピュータエンタテインメント テクスチャ処理装置、テクスチャ処理方法および画像処理装置
JP4521811B2 (ja) * 2004-06-21 2010-08-11 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び画像生成システム
US20060022987A1 (en) * 2004-07-29 2006-02-02 Rai Barinder S Method and apparatus for arranging block-interleaved image data for efficient access
US7995868B2 (en) * 2004-10-19 2011-08-09 Megachips Corporation Image processing method and image processing device
US20070008333A1 (en) * 2005-07-07 2007-01-11 Via Technologies, Inc. Texture filter using parallel processing to improve multiple mode filter performance in a computer graphics environment

Also Published As

Publication number Publication date
JP2007310669A (ja) 2007-11-29
US20070279434A1 (en) 2007-12-06

Similar Documents

Publication Publication Date Title
US6483505B1 (en) Method and apparatus for multipass pixel processing
JP4843377B2 (ja) 画像処理装置及び画像処理方法
US7969444B1 (en) Distributed rendering of texture data
EP2800369B1 (en) Moving image compressing apparatus, image processing apparatus, moving image compressing method, image processing method, and data structure of moving image compressed file
US10121221B2 (en) Method and apparatus to accelerate rendering of graphics images
JP2005339313A (ja) 画像提示方法及び装置
CN110246081B (zh) 一种图像拼接方法、装置及可读存储介质
CA2895551C (en) Methods and systems for computing an alpha channel value
EP0399663A1 (en) An electronic image progressing system
JP2007058614A (ja) スライドショー生成装置およびスライドショー用データ生成装置ならびにそれらの制御方法ならびにそれらを制御するプログラム
US6879329B2 (en) Image processing apparatus having processing operation by coordinate calculation
US20240037701A1 (en) Image processing and rendering
JP4380740B2 (ja) 画像処理装置
KR100371253B1 (ko) 화상생성방법및장치
CN116489457A (zh) 视频的显示控制方法、装置、设备、系统和存储介质
US7957612B1 (en) Image processing device, method and distribution medium
US9230305B2 (en) Summed area computation using ripmap of partial sums
CN107273072B (zh) 图片显示方法、装置及电子设备
JP4109740B2 (ja) 畳み込み走査ラインレンダリング
JP3052839B2 (ja) 画像処理装置及びその処理方法
CN105389841A (zh) 借助于可配置硬件在电子设备中执行图形系统的图形处理的方法以及相关装置
JP2005189663A (ja) マルチレイヤ画像合成装置
JP5387276B2 (ja) 画像処理装置及び画像処理方法
JP2007249791A (ja) 画像処理装置および画像処理方法、並びにプログラム
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111007

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees