JP2006235926A - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
JP2006235926A
JP2006235926A JP2005048826A JP2005048826A JP2006235926A JP 2006235926 A JP2006235926 A JP 2006235926A JP 2005048826 A JP2005048826 A JP 2005048826A JP 2005048826 A JP2005048826 A JP 2005048826A JP 2006235926 A JP2006235926 A JP 2006235926A
Authority
JP
Japan
Prior art keywords
value
polygon
block
pixel
viewpoint
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.)
Granted
Application number
JP2005048826A
Other languages
English (en)
Other versions
JP4284285B2 (ja
JP2006235926A5 (ja
Inventor
Sumihiko Yamamoto
澄彦 山本
Taku Takemoto
卓 竹本
Yasuharu Takenaka
康晴 竹中
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 JP2005048826A priority Critical patent/JP4284285B2/ja
Priority to US11/225,051 priority patent/US7948486B2/en
Priority to CNB2005101076155A priority patent/CN100541539C/zh
Publication of JP2006235926A publication Critical patent/JP2006235926A/ja
Publication of JP2006235926A5 publication Critical patent/JP2006235926A5/ja
Application granted granted Critical
Publication of JP4284285B2 publication Critical patent/JP4284285B2/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/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Abstract

【課題】陰面処理の効率を向上させることができる画像処理装置を提供すること。
【解決手段】3次元コンピュータグラフィックスを描画した画像の描画領域を分割したブロックごとに、階層Z値を記憶する階層Zバッファ160と、ポリゴンの頂点のピクセルのうち最も手前に存在するピクセルのZ値であるポリゴンZ値を選択するポリゴンZ値選択部132bと、ポリゴンのなす平面に含まれるピクセルのうちブロックにおいて最も手前に存在するピクセルのZ値であるブロックZ値を算出するブロックZ値算出部132dと、ポリゴンZ値とブロックZ値とを比較し、もっとも視点に近い値を推定Z値として選択するZ値選択部132eと、推定Z値が階層Z値より奥に存在する値である場合に、ポリゴンのブロックにおける描画処理を取り消す陰面消去部132fと、を備えた。
【選択図】 図1

Description

この発明は、3次元コンピュータグラフィックスの描画処理を実行する画像処理装置、画像処理方法および画像処理プログラムに関するものである。
3次元コンピュータグラフィックスの描画処理においては、視点から見た場合に重なり合う描画対象オブジェクトが存在する場合、ピクセルごとの奥行き方向の座標値であるZ値を比較して、最も手前の描画対象オブジェクトを描画し、それより奥に存在する描画対象の描画をキャンセルする陰面処理が行われる。
陰面処理を行うためには1画面分のピクセルのZ値を保持するZバッファと、Zバッファに保持されているZ値と描画対象オブジェクトのZ値を比較する処理が必要である。通常、Zバッファのデータはアクセスの遅いDRAM(Dynamic Random Access Memory)などのメモリに置かれることが多く、Zバッファのデータを読み書きするためのメモリアクセス処理が3次元コンピュータグラフィックスの描画処理のボトルネックになっており、Zバッファへのアクセス頻度は性能に大きな影響を与える要因となっている。
Zバッファへのアクセス頻度を減らして処理性能を向上させるため、ピクセル単位の陰面処理を行う前に、描画領域を区分けしたブロックと呼ばれる矩形領域内のピクセルのうち、最も奥に存在するピクセルのZ値を記憶した階層Zバッファを用いてブロック単位の陰面処理を行う方法が提案されている。
このような方法では、描画するポリゴンがブロックにおいて占めるピクセルのうち最も手前のピクセルのZ値(Znear値)を求め、階層Zバッファに記憶されているブロック内に存在する描画済みポリゴンの最も奥のピクセルのZ値と比較し、Znear値に対応するピクセルが階層Zバッファ内のZ値に対応するピクセルよりも奥に存在するときは、描画するポリゴンの当該ブロック内のすべてのピクセルの描画を一括してキャンセルすることができる。このため、ピクセル単位の陰面処理に比べてメモリアクセス頻度が減少し、処理性能が向上する。
この際、Znear値の生成に時間を要すると、かえって性能の低下を招きかねず、ブロック単位の陰面処理を実行する意味がなくなるため、Znear値を高速に生成することが重要となる。ところが、Znear値を正確に求めるためにはブロック領域とポリゴン領域との交差判定が必要であり、この計算には非常に大きな計算コストを要するため、Znear値を高速に生成できない場合が生じうる。
このため、Znear値を正確に求める代わりに、正確なZnear値よりも手前のZ値であり、かつ高速に求めることができるZ値で代用して陰面処理を行う方法が提案されている。
正確なZnear値よりも手前のZ値であれば、描画するポリゴンのピクセルはこの値に対応するピクセルより奥に存在することが保証されるため、描画済みポリゴンより手前に存在するはずのピクセルが陰面処理において誤ってキャンセルされることはない。さらに、正確なZnear値により近いZ値を求めることができれば、陰面処理の精度を高く保つことができる。
例えば、特許文献1においては、描画するポリゴンのなす平面がブロック領域においてとりうる最も手前のピクセルのZ値(ブロックZ値)でZnear値を代用する方法が提案されている。この方法においては、最も手前のピクセルは、描画するポリゴンのなす平面の傾き情報を用いて、ブロックの4隅のうちの一点が選択される。この方法によれば、ポリゴン領域とブロック領域の交差判定が不要なため、高速な陰面処理が可能となる。
US 6,646,639 B1
しかしながら、特許文献1の技術においては、ブロックの4隅から選択されたピクセルがポリゴンの占める領域の外に存在する場合に、ブロックZ値とZnear値とに大きな誤差が生じ、陰面処理の効率低下を引き起こす可能性があるという問題があった。
データを構成するポリゴンが大きく、ブロックの4隅から選択されたピクセルがポリゴンの領域内に存在する確率が高い場合には大きな効率低下にはならない。しかし、近年のように高精細の傾向にある3次元コンピュータグラフィックスを描画した画像においては、ポリゴンが小さくなり、ブロックの4隅から選択されたピクセルがポリゴンの領域外に存在する確率が高くなっているため、陰面処理の効率低下が生じる可能性が大きくなるという問題があった。
本発明は、上記に鑑みてなされたものであって、小さなポリゴンが多い高精細データに対しても陰面処理の効率を向上させることができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、画像処理装置において、3次元コンピュータグラフィックスを描画した画像の描画領域を分割した部分領域であるブロックごとに、前記ブロック内で既に描画されたピクセルのうち視点に対し最も奥に存在するピクセルの奥行き方向の座標値である階層Z値を記憶する階層Z値記憶手段と、描画の単位となる多角形であるポリゴンの頂点のピクセルのうち視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるポリゴンZ値を算出する第1のZ値算出手段と、前記ポリゴンのなす平面に含まれるピクセルのうち前記ブロックにおいて視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるブロックZ値を算出する第2のZ値算出手段と、前記第1のZ値算出手段が算出した前記ポリゴンZ値と、前記第2のZ値算出手段が算出した前記ブロックZ値とを比較し、最も視点に近い値を、前記ブロックにおいて視点に対し最も手前に存在する前記ポリゴンのピクセルの奥行き方向の座標値の推定値である推定Z値として選択するZ値選択手段と、前記Z値選択手段が選択した前記推定Z値と、前記階層Z値記憶手段に記憶されている前記階層Z値とを比較し、前記推定Z値が前記階層Z値より視点に対し奥に存在する値である場合に、前記ポリゴンの前記ブロックにおける描画処理を取り消す陰面消去手段と、を備えたことを特徴とする。
また、本発明は、上記装置を実行することができる画像処理方法および画像処理プログラムである。
本発明によれば、ブロックの4隅から選択されるブロックZ値に加え、描画するポリゴンの3頂点からZ値を算出し、双方のうちより奥に存在するピクセルに対応するZ値を、Znear値の推定値として使用し、陰面処理を実行することができる。このため、ブロックZ値だけでは小さなポリゴンが多い高精細データに対して推定値の誤差が生じる可能性が高かったのに対し、推定値の誤差発生の可能性が低下し、陰面処理の効率を向上させることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、画像処理プログラムの最良な実施の形態を詳細に説明する。
本実施の形態にかかる画像処理装置は、ブロックの4隅から選択されるブロックZ値と、描画するポリゴンの3頂点から選択されるポリゴンZ値とのうち、より奥に存在するピクセルに対応する値を、Znear値の推定値である推定Z値として使用し、階層Zバッファに記憶された階層Z値と推定Z値とを比較することにより陰面処理を実行するものである。
ここで、ブロックとは、3次元コンピュータグラフィックスを描画した画像の描画領域を分割した部分領域をいい、隠面処理を行う単位となる。本実施の形態においては、矩形により描画領域を分割した部分領域をブロックとする。なお、ブロック内における奥行きを考えるときは、上記部分領域を視線方向に延長した立体をブロックとする。すなわち、2次元である描画領域においてはその部分領域であるブロックも2次元であるが、奥行きなどの3次元情報を扱うときにはブロックは3次元の領域として考える。
階層Z値とは、ブロック内で既に描画されたピクセルのうち視点に対し最も奥に存在するピクセルのZ値をいい、階層Z値を記憶する階層Zバッファにブロックごとに記憶されている。ここで、Z値とは、ピクセルの視点に対する奥行き方向の座標値のことをいう。階層Z値を利用することにより、ブロック単位の隠面処理が可能となる。
ポリゴンとは、3次元コンピュータグラフィックスを描画した画像の描画対象となる立体の形状を表するため描画対象の表面を分割した、描画の単位となる多角形をいう。一般的に三角形がポリゴンとして使用される。描画処理においては、ポリゴンを描画の単位とし、各ポリゴンに対しブロックごとに陰面処理を実行する。
ポリゴンZ値とは、描画しているポリゴンの頂点のピクセルのうち視点に対し最も手前に存在するピクセルのZ値をいう。ポリゴンZ値は、陰面処理を行っているブロックに関わらず、そのポリゴンの頂点のうちの1つから定められる。
ブロックZ値とは、ポリゴンのなす平面に含まれるピクセルのうち、陰面処理を行っているブロックにおいて視点に対し最も手前に存在するピクセルのZ値をいう。
Znear値とは、描画しているポリゴンのピクセルのうち、陰面処理を行っているブロックにおいて視点に対し最も手前に存在するピクセルのZ値をいう。Znear値を正確に算出するには、計算コストの非常に大きいポリゴンとブロックの交差判定が必要であるため、一般に計算コストの小さい方法により推定した値が使用される。
推定Z値とは、Znear値の代用のために用いるZnear値の推定値をいう。すなわち、正確なZnear値ではなく、正確なZnear値により近似した値を求める各種方法によって算出されたZnear値であることを意味する。
図1は、本実施の形態にかかる画像処理装置100の構成を示すブロック図である。同図に示すように、画像処理装置100は、頂点入力部110と、頂点処理部120と、ラスタライズ部130と、ピクセル処理部140と、RAM(Random Access Memory)に確保された頂点データバッファ150と、階層Zバッファ160と、Zバッファ170と、描画バッファ180とを備えている。階層Zバッファ160が、本発明における階層Z値記憶手段に相当する。
頂点入力部110は、描画する三角形の頂点データを入力するものである。ここで、頂点データは、頂点の座標と、カラー、フォグ、テクスチャ座標、法線ベクトルなどの頂点パラメータとから構成される。
頂点処理部120は、頂点入力部110から入力された頂点データに対する演算を行うものである。
ラスタライズ部130は、頂点処理部120によって演算処理された頂点データから描画するポリゴンのピクセルデータを生成するものであり、セットアップ部131と、陰面処理部132と、トラバース部133とを備えている。
ピクセル処理部140は、ラスタライズ部130によって生成されたピクセルデータに対し、ピクセル単位で陰面処理、描画処理などの演算を行うものである。
セットアップ部131は、頂点データを記憶する頂点データバッファ150から、描画するポリゴンの頂点データを取得し、ラスタライズに必要なセットアップデータを生成するものである。
陰面処理部132は、ピクセル処理部140がピクセル単位の陰面処理を行う前に、階層Zバッファ160に記憶された階層Z値を利用してブロック単位の陰面処理を行い、陰面となるブロックにおけるポリゴンの描画処理をキャンセルするものである。
トラバース部133は、陰面処理部132でキャンセルされなかったブロックについて、セットアップ部131が生成したセットアップデータを用いてピクセルデータを生成するものである。なお、画像処理装置100を、セットアップ部131から渡されるセットアップデータを用いて、陰面処理部132とトラバース部133とが並列に処理を実行し、トラバース部133で生成されたピクセルデータを陰面処理部132の結果によりブロック単位でキャンセルし、ピクセル処理部140に出力するように構成してもよい。
同図に示すように、陰面処理部132は、頂点Z値算出部132aと、ポリゴンZ値選択部132bと、平面方程式係数算出部132cと、ブロックZ値算出部132dと、Z値選択部132eと、陰面消去部132fとを備えている。
頂点Z値算出部132aは、描画するポリゴンの各頂点のZ値を算出するものである。ポリゴンZ値選択部132bは、頂点Z値算出部132aが算出した各頂点のZ値のうち、値が最小のZ値をポリゴンZ値として選択するものである。本実施の形態においては、特に説明がある場合を除き、Z値が小さいほど対応するピクセルが視点に対し手前に存在するような座標系を前提とする。なお、Z値が大きいほど対応するピクセルが視点に対し手前に存在するような座標系を取るように構成してもよい。
平面方程式係数算出部132cは、描画するポリゴンの各頂点の座標を用いて、入力ポリゴンのなす平面をあらわす平面方程式の係数を算出するものである。ブロックZ値算出部132dは、平面方程式係数算出部132cにより算出された平面方程式の係数の正負の組み合わせにより、ブロックZ値を算出するものである。
Z値選択部132eは、描画するポリゴンが存在するブロック毎に、ポリゴンZ値選択部132bが選択したポリゴンZ値と、ブロックZ値算出部132dが算出したブロックZ値とを比較して、より大きい値、すなわち視点に対しより奥に存在するピクセルに対応するZ値を、Znear値の推定値である推定Z値として選択するものである。
陰面消去部132fは、Z値選択部132eにより選択された推定Z値と階層Zバッファ160に記憶されている階層Z値とを比較し、推定Z値が階層Z値より大きいとき、すなわち推定Z値に対応するピクセルが階層Z値に対応するピクセルより奥に存在するときは、ブロック単位でポリゴンの描画処理をキャンセルするものである。
頂点データバッファ150は、頂点処理部120から入力される頂点データを記憶するものである。階層Zバッファ160は、既に描画されたピクセルのうち視点に対し最も奥に存在するピクセルのZ値である階層Z値をブロックごとに記憶するものである。Zバッファ170は、ピクセル処理部140において加工されたピクセルデータのZ値をピクセルごとに記憶するものである。描画バッファ180は、ピクセル処理部140において加工されたピクセルデータの色情報を記憶するものである。
次に、このように構成された本実施の形態にかかる画像処理装置100による描画処理について説明する。図2は、本実施の形態における描画処理の全体の流れを示すフローチャートである。
まず、頂点入力部110が、描画するポリゴンの頂点データを入力する(ステップS201)。次に、頂点処理部120が、頂点入力部110により入力された頂点データに対し、ラスタライズ部130がラスタライズ処理を実行するために必要な演算処理を実行する(ステップS202)。
次に、セットアップ部131が、頂点処理部120が演算処理を行った頂点データを頂点データバッファ150から取得し、取得した頂点データからラスタライズ処理に必要なセットアップデータを生成する(ステップS203)。
次に、陰面処理部132が、描画するポリゴンに対し、ブロックごとに陰面処理を実行する(ステップS204)。陰面処理については後述する。
陰面処理部132により隠面処理が実行された後、トラバース部133が、陰面処理によりキャンセルされなかったブロックについて、セットアップ部131が生成したセットアップデータを用いてピクセルデータを生成する(ステップS205)。
次に、ピクセル処理部140が、トラバース部133により生成されたピクセルデータに対し、ピクセル単位で描画処理を実行し(ステップS206)、描画処理が終了する。なお、上述の描画処理は1つのポリゴンに対する処理であり、この処理を描画対象となる立体を構成するすべてのポリゴンについて繰り返すことにより、当該描画対象全体の描画処理を実行することができる。
次に、このように構成された本実施の形態にかかる画像処理装置100によるステップS204に示した陰面処理の概要について説明する。図3はブロックごとの陰面処理におけるポリゴンとZ値に対応するピクセルとの関係の一例を示す説明図である。
同図に示すように、同図の上部に示す矢印の方向(垂直方向)が視線方向であり、上方向が視点に近く、下方向が視点から遠い座標系を前提とする。また、隠面処理を行っているブロック301において既に描画されたポリゴン302のピクセルのうち、最も奥に存在するピクセルをピクセル304とする。このピクセルのZ値が階層Z値として階層Zバッファ160に記憶されている。
描画するポリゴン303のピクセルのうち、最も手前に存在するピクセルがピクセル305であり、このピクセルがピクセル304より奥に存在するとき、ブロック301における描画するポリゴン303の全ピクセルは、既に描画されたピクセルより奥に存在することになるため、以降の処理をキャンセル(陰面消去)することができる。
なお、同図においては、ブロック301内で既に描画されたポリゴンが1つだけであるが、ブロック301内に描画済みポリゴンが複数ある場合はそのうち最も奥のピクセルのZ値が階層Zバッファ160に記憶される。
このような階層Zバッファ160を用いたブロック単位の陰面処理により、ピクセル処理部140におけるZバッファ170および描画バッファ180へのメモリアクセスなどのスループットのボトルネックになる処理の回数が減少し、処理性能が向上する。
次に、このように構成された本実施の形態にかかる画像処理装置100によるステップS204に示した陰面処理の詳細について説明する。図4は、本実施の形態における陰面処理の全体の流れを示すフローチャートである。
まず、頂点Z値算出部132aが、ポリゴンの各頂点のZ値である頂点Z値を算出する(ステップS401)。具体的には、頂点Z値算出部132aは、以下の手順により頂点Z値を算出する。
まず、頂点Z値算出部132aは、セットアップ部131が生成したセットアップデータから、視点位置を原点とし視線方向をZ方向とした座標系における描画するポリゴンの位置座標を取得する。
位置座標は、3次元空間座標を用いた(x、y、z)という3次元ベクトル、あるいは同次座標系を用いた(x、y、z、w)という4次元ベクトルで表現される。なお、同次座標系は3次元空間座標にもう1つの要素wを加えて次元を1あげた座標系であり、同次座標における4次元ベクトル(x、y、z、w)は、3次元空間座標における3次元ベクトル(x/w、y/w、z/w)に対応する。
取得した位置座標が3次元ベクトル(x、y、z)の場合、頂点Z値算出部132aは、n番目の頂点のZ値データZ_Vnを以下の(1)式により算出する。ここで、znはn番目の頂点の位置を表す3次元ベクトルのz成分である。
Z_Vn=zn(n=0,1,2,・・・) ・・・(1)
取得した位置座標が同次座標系の4次元ベクトル(x、y、z、w)の場合、頂点Z値算出部132aは、n番目の頂点のZ値データZ_Vnを以下の(2)式により算出する。ここで、zn、wnはそれぞれn番目の頂点の位置を表す3次元ベクトルのz成分、w成分である。
Z_Vn=zn/wn(n=0,1,2,・・・) ・・・(2)
なお、これらの方法は一例であり、ポリゴンの各頂点のZ値を算出するものであればあらゆる方法を適用することができる。
ステップS401において、頂点Z値算出部132aが頂点Z値を算出した後、ポリゴンZ値選択部132bが、算出した頂点Z値の最小値を、ポリゴンZ値として選択する(ステップS402)。
具体的には、ポリゴンZ値Z_polyは、以下の(3)式により選択することができる。ここでmin(A,B,C)はA,B,Cのうち最小の値を求める演算を表す。
Z_poly=min(Z_V0,Z_V1,・・・,Z_Vn)・・・(3)
Z値が大きいほど対応するピクセルが視点に対し手前に存在するような座標系の場合、ポリゴンZ値Z_polyは、以下の(4)式により選択することができる。ここでmax(A,B,C)はA,B,Cのうち最大の値を求める演算を表す。
Z_poly=max(Z_V0,Z_V1,・・・,Z_Vn)・・・(4)
なお、ポリゴンZ値は、ポリゴン単位で算出される値であるため、ブロックの描画処理ごとに計算する必要はなく、描画するポリゴンが切り替わった際に算出した値を記憶し、同じポリゴンを処理している間はこの値を使用することができる。
ポリゴン内の全てのピクセルは、このようにして算出したポリゴンZ値に対応するピクセルより奥に存在することが保証されるため、ポリゴンZ値を陰面消去の際に比較対象とするZ値として用いることができる。
ステップS402において、ポリゴンZ値選択部132bがポリゴンZ値を選択した後、平面方程式係数算出部132cが、描画するポリゴンのなす平面の平面方程式の係数を算出する(ステップS403)。平面方程式を以下の(5)式で表すとすると、この式にポリゴンの頂点のうち3点の座標の値を代入し、連立方程式の解を求める処理を実行することにより、平面方程式の係数a、bを算出することができる。
z=ax+by+c ・・・(5)
次に、ブロックZ値算出部132dが、平面方程式係数算出部132cにより算出された平面方程式のX,Y方向の係数の正負を判定し、陰面処理を行っているブロック内における、当該平面方程式で表される平面の最も手前に存在するピクセルのZ値を、ブロックZ値として算出する(ステップS404)。具体的には、ブロックZ値算出部132dは、平面方程式で表される平面がブロック内において形成する矩形(四角形)の頂点のうち最も手前に存在する頂点のピクセルのZ値をブロックZ値として算出する。
例えば、視線方向をZ軸、水平右方向にX軸、垂直上方向にY軸をとるような座標系において、各辺がX軸またはY軸と平行な四角形をブロックとした場合、(5)式で表される平面方程式のX,Y方向の係数a,bの符号が共に正なら、平面がブロック内で形成する四角形の左下の頂点のZ値がブロックZ値となる。同様に、aが正、bが負なら左上、aが負、bが正なら右下、a,b共に負なら右上の頂点のZ値がブロックZ値となる。
なお、以上の説明においては、ステップS401〜ステップS402のポリゴンZ値選択処理を実行したあとに、ステップS403〜ステップS404のブロックZ値算出処理を実行するように構成しているが、ブロックZ値算出処理を先に実行するように構成してもよいし、両処理を並行して実行するように構成してもよい。
次にZ値選択部132eが、ポリゴンZ値選択部132bにより選択されたポリゴンZ値と、ブロックZ値算出部132dが算出したブロックZ値とを比較し、より大きい値を推定Z値として選択する(ステップS405)。
具体的には、推定Z値Z_esimateは、以下の(6)式により選択することができる。ここでZ_blockはブロックZ値を表す。
Z_estimate=max(Z_block, Z_poly)・・・(6)
Z値が大きいほど対応するピクセルが視点に対し手前に存在するような座標系の場合、推定Z値Z_esimateは、以下の(7)式により選択することができる。
Z_estimate=min(Z_block, Z_poly)・・・(7)
次に、陰面消去部132fが、Z値選択部132eにより選択された推定Z値と、階層Zバッファ160に記憶されている階層Z値とを比較し(ステップS406)、推定Z値が階層Z値より大きいか否かを判断する(ステップS407)。なお、Z値が小さいほど対応するピクセルが視点に対し手前に存在するような座標系を用いることを前提としているため、推定Z値が階層Z値より大きいか否かを判断するとは、推定Z値に対応するピクセルが階層Z値に対応するピクセルより奥に存在するか否かを判断することを意味する。
Z値が大きいほど対応するピクセルが視点に対し手前に存在するような座標系の場合は、推定Z値が階層Z値より小さいか否かを判断することにより、推定Z値に対応するピクセルが階層Z値に対応するピクセルより奥に存在するか否かを判断する。
ステップS407において、推定Z値が階層Z値より大きいと判断された場合は(ステップS407:YES)、陰面消去部132fは、描画するポリゴンの、現在陰面処理を行っているブロックにおける描画処理をキャンセルする(ステップS408)。この後、次のブロックの描画処理を実行するため、ステップS404に戻り処理を繰り返す。
ステップS407において、推定Z値が階層Z値より小さいと判断された場合は(ステップS407:NO)、陰面消去部132fは、描画処理のキャンセルは行わず、陰面処理が終了する。この後、トラバース部133によるピクセルデータの生成処理(ステップS205)、ピクセル処理部140によるピクセル単位の描画処理(ステップS206)が実行される。
図5は、上述した陰面処理において算出される推定Z値と、ブロックおよびポリゴンとの関係の一例を示す説明図である。同図においては、ブロックは8ピクセル×8ピクセルの矩形領域であり、視線方向にZ軸をとった座標系を前提とする。同図には、この座標系において、ポリゴン501をブロック502およびブロック503において陰面処理したときに算出されるブロックZ値に対応するピクセル504、ピクセル505、ポリゴンZ値に対応するピクセル506が示されている。
ポリゴンZ値選択部132bにおいて選択されるポリゴンZ値は(ステップS402)、例えばピクセル506のようなポリゴンのある1頂点のZ値となる。この例では、ポリゴン501は、右上側が手前にくるように傾いていると仮定している。
一方、ポリゴン501のなす平面の右上側が手前にくるように傾いている場合、平面方程式係数算出部132cにより求められるポリゴン501のなす平面の平面方程式(上述の(5)式)のX,Y方向の傾き係数a,bは共に負となる(ステップS403)。従って、ブロックZ値算出部132dは、ブロック502においてはブロック502の右上隅のピクセル504のZ値を、ブロック503においてはブロック503の右上隅のピクセル505のZ値を、ブロックZ値として算出する(ステップS404)。
Z値選択部132eは、ブロック毎にブロックZ値とポリゴンZ値を比較し、大きいほうを推定Z値として選択する(ステップS405)。例えば、ブロック503においては、ブロックZ値に対応するピクセル505がポリゴン領域内に存在するため、ブロックZ値とポリゴンZ値を比較した場合、必ずブロックZ値がポリゴンZ値以上の値となり、ピクセル505のZ値であるブロックZ値が推定Z値として選択される。このときの推定Z値は、Znear値と同じ値であるため、正しく陰面処理が実行され効率低下は発生しない。
一方、ブロック502においては、ブロックZ値に対応するピクセル504がポリゴン領域外に存在するため、ブロックZ値とポリゴンZ値を比較し、より大きい値が推定Z値として選択される。また、このときのZnear値は、例えば、ブロック502とポリゴン501の交点であるピクセル507のZ値である。
従って、この場合の推定Z値は、Znear値以下の値になり、陰面処理の効率低下が生じうる。しかし、ブロックZ値とポリゴンZ値という2つの推定値からZnear値に近い値を選択することができるため、効率低下の発生頻度を減少させることが可能となる。
図6は、図5と同じポリゴンに対して、特許文献1において提案されている方法により陰面処理を実行した場合に算出されるブロックZ値と、ブロックおよびポリゴンとの関係の一例を示す説明図である。
特許文献1の方法では、本発明におけるブロックZ値算出部132dに相当する手段のみによりZ値(ブロックZ値)を算出し、この値を陰面処理に使用する。すなわち、図6に示すように、ブロックの右上のピクセルのZ値がブロックZ値であり、この値が必ず陰面処理において使用される。例えば、ブロック502においては、ピクセル504のZ値がブロックZ値として算出され陰面処理において使用される。ポリゴン501とブロック502との共有領域601は考慮しないため、従来のようにピクセル507に対応する正確なZnear値を算出する必要がなく、陰面処理が高速化される。しかし、ブロックZ値とZnear値の誤差が大きくなる可能性があり、その場合は陰面処理の効率が低下する。
特に、図6に示す例のように、データの高精細化などのためブロックに対するポリゴンの大きさが相対的に小さい場合、算出されるブロックZ値に対応するピクセルがポリゴンの領域外に存在する確率が高くなっているため、陰面処理の効率が低下する可能性が高くなる。
これに対し、本発明は、ブロックZ値だけでなく、ポリゴンの各頂点のZ値から求めたポリゴンZ値も使用して、より適切な値を選択して陰面処理を実行することができるため、小さいポリゴンの多い高精細データに対しても陰面処理の効率低下を防止することが可能となる。
図7は、本実施の形態の方法により従来の方法に比べて陰面処理の効率が向上する場合の各Z値と、ブロックおよびポリゴンとの関係の一例を示す説明図である。同図においては、図5、図6と異なり、視線方向であるZ軸を横から観察した状態が図示されている。同図のブロック710において、ブロック710内のポリゴン701の最も手前の点のZ値がZnear値703である。また、階層Z値720は、同図の点線で示す位置に対応するZ値である。
従来の方法では、ポリゴンのなす平面の延長702とブロック710が交差する点のうち最も手前の点のZ値であるブロックZ値704のみからZnear値の推定値が算出される。この値が階層Z値720と比較されるため、推定値(ブロックZ値704)に対応するピクセルは、階層Z値720に対応するピクセルより手前に存在すると判断される。このため、陰面処理によりブロック単位の描画が正しくキャンセルされなくなる。
しかし、本実施の形態の方法では、ブロックZ値704と、全ポリゴン領域705の最も手前の点のZ値であるポリゴンZ値706とを比較し、より大きい値であるポリゴンZ値706がZnear値の推定値として算出される。この値が階層Z値720と比較されるため、推定値(ポリゴンZ値706)に対応するピクセルは、階層Z値720に対応するピクセルより奥に存在すると判断される。このため、陰面処理によりブロック単位で描画が正しくキャンセルされる。
このように、本実施の形態にかかる画像処理装置100においては、ブロックの4隅から選択されるブロックZ値と、描画するポリゴンの3頂点から選択されるポリゴンZ値とを比較し、より大きい値を、Znear値の推定値である推定Z値として使用し、陰面処理を実行することができる。このため、小さいポリゴンの多い高精細データに対しても陰面処理の効率低下を防止し、ピクセル処理部140におけるZバッファ170および描画バッファ180へのメモリアクセスなどのボトルネックになる処理の回数が減少し、3次元コンピュータグラフィックスの描画処理の性能を向上させることができる。
本実施の形態にかかる画像処理装置は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施の形態にかかる画像処理装置で実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施の形態にかかる画像処理装置で実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態にかかる画像処理装置で実行される画像処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施の形態の画像処理プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態にかかる画像処理装置で実行される画像処理プログラムは、上述した各部(頂点入力部、頂点処理部、セットアップ部、頂点Z値算出部、ポリゴンZ値選択部、平面方程式係数算出部、ブロックZ値算出部、Z値選択部、陰面消去部、トラバース部、ピクセル処理部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から画像処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかる画像処理装置、画像処理方法および画像処理プログラムは、3次元コンピュータグラフィックスの描画処理を実行するコンピュータ、携帯電話等の携帯端末、ナビゲーション装置などの画像処理装置に適している。
本実施の形態にかかる画像処理装置の構成を示すブロック図である。 本実施の形態にかかる画像処理装置おける描画処理の全体の流れを示すフローチャートである。 ポリゴンとZ値との関係の一例を示す説明図である。 本実施の形態にかかる画像処理装置おける陰面処理の全体の流れを示すフローチャートである。 推定Z値とブロックおよびポリゴンとの関係の一例を示す説明図である。 ブロックZ値とブロックおよびポリゴンとの関係の一例を示す説明図である。 Z値とブロックおよびポリゴンとの関係の一例を示す説明図である。
符号の説明
100 画像処理装置
110 頂点入力部
120 頂点処理部
130 ラスタライズ部
131 セットアップ部
132 陰面処理部
132a 頂点Z値算出部
132b ポリゴンZ値選択部
132c 平面方程式係数算出部
132d ブロックZ値算出部
132e Z値選択部
132f 陰面消去部
133 トラバース部
140 ピクセル処理部
150 頂点データバッファ
160 階層Zバッファ
170 Zバッファ
180 描画バッファ
301 ブロック
302、303 ポリゴン
304、305 ピクセル
501 ポリゴン
502、503 ブロック
504、505、506、507 ピクセル
601 共有領域
701 ポリゴン
702 ポリゴンのなす平面の延長
703 Znear値
704 ブロックZ値
705 全ポリゴン領域
706 ポリゴンZ値
710 ブロック
720 階層Z値

Claims (6)

  1. 3次元コンピュータグラフィックスを描画した画像の描画領域を分割した部分領域であるブロックごとに、前記ブロック内で既に描画されたピクセルのうち視点に対し最も奥に存在するピクセルの奥行き方向の座標値である階層Z値を記憶する階層Z値記憶手段と、
    描画の単位となる多角形であるポリゴンの頂点のピクセルのうち視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるポリゴンZ値を算出する第1のZ値算出手段と、
    前記ポリゴンのなす平面に含まれるピクセルのうち前記ブロックにおいて視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるブロックZ値を算出する第2のZ値算出手段と、
    前記第1のZ値算出手段が算出した前記ポリゴンZ値と、前記第2のZ値算出手段が算出した前記ブロックZ値とを比較し、最も視点に近い値を、前記ブロックにおいて視点に対し最も手前に存在する前記ポリゴンのピクセルの奥行き方向の座標値の推定値である推定Z値として選択するZ値選択手段と、
    前記Z値選択手段が選択した前記推定Z値と、前記階層Z値記憶手段に記憶されている前記階層Z値とを比較し、前記推定Z値が前記階層Z値より視点に対し奥に存在する値である場合に、前記ポリゴンの前記ブロックにおける描画処理を取り消す陰面消去手段と、
    を備えたことを特徴とする画像処理装置。
  2. 前記第1のZ値算出手段は、
    前記ポリゴンの各頂点のピクセルの奥行き方向の座標値である頂点Z値を算出する頂点Z値算出手段と、
    前記頂点Z値算出手段が算出した前記頂点Z値のうち、視点に対し最も手前に存在する頂点のピクセルの前記頂点Z値を前記ポリゴンZ値として選択するポリゴンZ値選択手段と、
    を備えたことを特徴とする請求項1に記載の画像処理装置。
  3. 前記第2のZ値算出手段は、
    前記ポリゴンのなす平面を表す平面方程式のX,Y方向の係数を算出する平面方程式係数算出手段と、
    前記平面方程式係数算出手段が算出した前記X,Y方向の係数の正負の組み合わせに基づき、前記ポリゴンのなす平面に含まれるピクセルのうち前記ブロックにおいて視点に対し最も手前に存在するピクセルの奥行き方向の座標値を前記ブロックZ値として算出するブロックZ値算出手段と、
    を備えたことを特徴とする請求項1に記載の画像処理装置。
  4. 前記描画の単位となる多角形は三角形であることを特徴とする請求項1〜3のいずれか1つに記載の画像処理装置。
  5. 描画の単位となる多角形であるポリゴンの頂点のピクセルのうち視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるポリゴンZ値を算出する第1のZ値算出ステップと、
    前記ポリゴンのなす平面に含まれるピクセルのうち、3次元コンピュータグラフィックスを描画した画像の描画領域を分割した部分領域であるブロックにおいて視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるブロックZ値を算出する第2のZ値算出ステップと、
    前記第1のZ値算出ステップが算出した前記ポリゴンZ値と、前記第2のZ値算出ステップが算出した前記ブロックZ値とを比較し、最も視点に近い値を、前記ブロックにおいて視点に対し最も手前に存在する前記ポリゴンのピクセルの奥行き方向の座標値の推定値である推定Z値として選択するZ値選択ステップと、
    前記Z値選択ステップが選択した前記推定Z値と、記憶手段に記憶されている前記ブロック内で既に描画されたピクセルのうち視点に対し最も奥に存在するピクセルの奥行き方向の座標値である階層Z値とを比較し、前記推定Z値が前記階層Z値より視点に対し奥に存在する値である場合に、前記ポリゴンの前記ブロックにおける描画処理を取り消す陰面消去ステップと、
    を備えたことを特徴とする画像処理方法。
  6. 描画の単位となる多角形であるポリゴンの頂点のピクセルのうち視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるポリゴンZ値を算出する第1のZ値算出手順と、
    前記ポリゴンのなす平面に含まれるピクセルのうち、3次元コンピュータグラフィックスを描画した画像の描画領域を分割した部分領域であるブロックにおいて視点に対し最も手前に存在するピクセルの奥行き方向の座標値であるブロックZ値を算出する第2のZ値算出手順と、
    前記第1のZ値算出手順が算出した前記ポリゴンZ値と、前記第2のZ値算出手順が算出した前記ブロックZ値とを比較し、最も視点に近い値を、前記ブロックにおいて視点に対し最も手前に存在する前記ポリゴンのピクセルの奥行き方向の座標値の推定値である推定Z値として選択するZ値選択手順と、
    前記Z値選択手順が選択した前記推定Z値と、記憶手段に記憶されている前記ブロック内で既に描画されたピクセルのうち視点に対し最も奥に存在するピクセルの奥行き方向の座標値である階層Z値とを比較し、前記推定Z値が前記階層Z値より視点に対し奥に存在する値である場合に、前記ポリゴンの前記ブロックにおける描画処理を取り消す陰面消去手順と、
    をコンピュータに実行させる画像処理プログラム。
JP2005048826A 2005-02-24 2005-02-24 画像処理装置、画像処理方法および画像処理プログラム Expired - Fee Related JP4284285B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005048826A JP4284285B2 (ja) 2005-02-24 2005-02-24 画像処理装置、画像処理方法および画像処理プログラム
US11/225,051 US7948486B2 (en) 2005-02-24 2005-09-14 Apparatus and method for performing hidden surface removal and computer program product
CNB2005101076155A CN100541539C (zh) 2005-02-24 2005-09-29 用于执行隐藏面消除的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005048826A JP4284285B2 (ja) 2005-02-24 2005-02-24 画像処理装置、画像処理方法および画像処理プログラム

Publications (3)

Publication Number Publication Date
JP2006235926A true JP2006235926A (ja) 2006-09-07
JP2006235926A5 JP2006235926A5 (ja) 2009-01-08
JP4284285B2 JP4284285B2 (ja) 2009-06-24

Family

ID=36912203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005048826A Expired - Fee Related JP4284285B2 (ja) 2005-02-24 2005-02-24 画像処理装置、画像処理方法および画像処理プログラム

Country Status (3)

Country Link
US (1) US7948486B2 (ja)
JP (1) JP4284285B2 (ja)
CN (1) CN100541539C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077627A (ja) * 2006-09-18 2008-04-03 Samsung Electronics Co Ltd 3次元画像のレンダリングにおける早期zテスト方法およびシステム
US8463070B2 (en) 2009-12-15 2013-06-11 Kabushiki Kaisha Toshiba Image processing apparatus and image processing method
WO2014020663A1 (ja) * 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090091564A1 (en) * 2007-10-03 2009-04-09 Raju Thevan System and method for rendering electronic documents having overlapping primitives
US20090322747A1 (en) * 2008-06-30 2009-12-31 Robert Farrell Graphics processing with hidden surface removal
US8884963B2 (en) * 2011-05-04 2014-11-11 Qualcomm Incorporated Low resolution buffer based pixel culling
CN102779352B (zh) * 2012-05-11 2015-02-25 北京像素软件科技股份有限公司 3d世界中的物体处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161526A (ja) * 1994-11-30 1996-06-21 Namco Ltd 画像合成装置及び画像合成方法
JPH09179999A (ja) * 1995-12-25 1997-07-11 Nec Corp 画像生成方法およびその装置
JP2000331185A (ja) * 1999-05-24 2000-11-30 Sony Corp 画像処理方法、画像処理装置、及びプログラム提供媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596686A (en) * 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
JPH08249494A (ja) * 1995-03-09 1996-09-27 Sharp Corp Zバッファ方式隠面消去装置
JPH0916806A (ja) * 1995-07-04 1997-01-17 Ricoh Co Ltd 立体画像処理装置
JPH11195132A (ja) * 1997-10-31 1999-07-21 Hewlett Packard Co <Hp> テクスチャマッピング用バッファ、3次元グラフィクス処理装置、3次元グラフィクス処理システム、3次元グラフィクス処理方法および処理プログラムが記憶された記憶媒体
US6052125A (en) * 1998-01-07 2000-04-18 Evans & Sutherland Computer Corporation Method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US6480205B1 (en) * 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
US6646639B1 (en) * 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US6473082B1 (en) * 1999-05-18 2002-10-29 S3 Graphics Co., Ltd. System and method for implementing a two-layer z-range buffer
US6593923B1 (en) * 2000-05-31 2003-07-15 Nvidia Corporation System, method and article of manufacture for shadow mapping
GB2378108B (en) * 2001-07-24 2005-08-17 Imagination Tech Ltd Three dimensional graphics system
CN1404017A (zh) * 2001-09-13 2003-03-19 矽统科技股份有限公司 电脑绘图中物件三角形的处理方法
US7030877B1 (en) * 2002-03-04 2006-04-18 Advanced Micro Devices, Inc. Computer graphics processing system, computer memory, and method of use with computer graphics processing system utilizing hierarchical image depth buffer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161526A (ja) * 1994-11-30 1996-06-21 Namco Ltd 画像合成装置及び画像合成方法
JPH09179999A (ja) * 1995-12-25 1997-07-11 Nec Corp 画像生成方法およびその装置
JP2000331185A (ja) * 1999-05-24 2000-11-30 Sony Corp 画像処理方法、画像処理装置、及びプログラム提供媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077627A (ja) * 2006-09-18 2008-04-03 Samsung Electronics Co Ltd 3次元画像のレンダリングにおける早期zテスト方法およびシステム
JP4579262B2 (ja) * 2006-09-18 2010-11-10 三星電子株式会社 3次元画像のレンダリングにおける早期zテスト方法およびシステム
US8463070B2 (en) 2009-12-15 2013-06-11 Kabushiki Kaisha Toshiba Image processing apparatus and image processing method
WO2014020663A1 (ja) * 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置
CN104246831A (zh) * 2012-07-30 2014-12-24 三菱电机株式会社 地图显示装置
JP5762637B2 (ja) * 2012-07-30 2015-08-12 三菱電機株式会社 地図表示装置
CN104246831B (zh) * 2012-07-30 2016-12-28 三菱电机株式会社 地图显示装置

Also Published As

Publication number Publication date
CN1825357A (zh) 2006-08-30
CN100541539C (zh) 2009-09-16
JP4284285B2 (ja) 2009-06-24
US7948486B2 (en) 2011-05-24
US20060187220A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP5518967B2 (ja) グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト
US10424112B2 (en) Mesh boundary smoothing
KR100714672B1 (ko) 스플렛을 이용한 깊이 기반의 영상 렌더링 방법 및 그방법을 채용한 시스템
JP4284285B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US9013479B2 (en) Apparatus and method for tile-based rendering
US10592242B2 (en) Systems and methods for rendering vector data on static and dynamic-surfaces using screen space decals and a depth texture
US8345064B2 (en) Method and system for tile binning using half-plane edge function
JP5050786B2 (ja) 描画処理装置、描画処理方法および描画処理プログラム
WO2014087572A1 (ja) 領域分割描画装置及び領域分割描画方法
KR102399686B1 (ko) 3d 렌더링 방법 및 장치
KR102477265B1 (ko) 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
US10621774B2 (en) Systems and methods for rendering reflections
US10796474B2 (en) Systems and methods for rendering reflections
US10818079B2 (en) Systems and methods for rendering reflections
EP2908289B1 (en) Information processing apparatus, generation method, program, and storage medium
CN112837416A (zh) 基于三角剖分的多边形渲染方法、装置及存储介质
KR20200018207A (ko) 반사들을 렌더링하는 시스템들 및 방법들
KR101682298B1 (ko) 3차원 모델의 비트맵 생성 장치 및 방법
KR20150042095A (ko) 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법
KR100269118B1 (ko) 사각형을이용한래스터화방법
US20160321835A1 (en) Image processing device, image processing method, and display device
US11087482B2 (en) Apparatus that generates three-dimensional shape data, method and storage medium
EP1926052B1 (en) Method, medium, and system rendering 3 dimensional graphics data considering fog effect
JP2000207576A (ja) 画像処理方法,画像処理装置,および画像処理プログラムを記録した記録媒体
CN114627221A (zh) 一种场景渲染方法、装置及运行器、可读存储介质

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090303

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: 20090310

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: 20090323

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees