JP5004717B2 - 描画装置、描画方法、および描画プログラム - Google Patents

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

Info

Publication number
JP5004717B2
JP5004717B2 JP2007210889A JP2007210889A JP5004717B2 JP 5004717 B2 JP5004717 B2 JP 5004717B2 JP 2007210889 A JP2007210889 A JP 2007210889A JP 2007210889 A JP2007210889 A JP 2007210889A JP 5004717 B2 JP5004717 B2 JP 5004717B2
Authority
JP
Japan
Prior art keywords
wavelet
image
mipmap
order
transform 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
JP2007210889A
Other languages
English (en)
Other versions
JP2008084302A5 (ja
JP2008084302A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007210889A priority Critical patent/JP5004717B2/ja
Publication of JP2008084302A publication Critical patent/JP2008084302A/ja
Publication of JP2008084302A5 publication Critical patent/JP2008084302A5/ja
Application granted granted Critical
Publication of JP5004717B2 publication Critical patent/JP5004717B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、描画装置、描画方法、および描画プログラムに関し、より特定的には、3次元コンピュータグラフィックスにおける表示物体表面のテクスチャ画像であるミップマップ画像をポリゴン画像に描画する描画装置、描画方法、および描画プログラムに関するものである。
従来、3次元コンピュータグラフィックスの手法のひとつとして、立体を構成するポリゴン画像にテクスチャ画像を描画するテクスチャマッピングという手法が知られている。テクスチャ画像とは、表示物体表面の模様を表した画像である。
3次元コンピュータグラフィックスにおいて、立体は「ポリゴン画像」と呼ばれる平面多角形(一般的に3角形に限定することが多い)の画像の集合によって構成される。ポリゴン画像は、「ワールド座標」と呼ばれる3次元座標系によって定義されている。立体が表示部(例えばLCDモニタなど)で表示される際には、幾何変換処理が施され、当該立体に定義された「ワールド座標」が「スクリーン座標」と呼ばれる2次元座標系に変換される。スクリーン座標とは、表示画面の左上端点の座標を(0、0)とする2次元座標系である。例えば表示部が横1920画素、縦1080画素の表示デバイスで構成される場合、スクリーン座標の値は(0、0)から(1919、1079)の間の数値を取り得ることとなる。テクスチャの原画像の一例と、スクリーン座標に変換されたポリゴン画像の一例とを図17に示す。図17(a)は、スクリーン座標に変換されたポリゴン画像の一例を示す図である。図17(b)は、テクスチャの原画像の一例を示す図である。図17(a)において、As、Bs、Csはポリゴン画像の各頂点を示す点である。各頂点のスクリーン座標は、As(Xa、Ya)、Bs(Xb、Yb)、Cs(Xc、Yc)となる。なお、図17(a)に示すように、各頂点には、スクリーン座標以外に、後述するテクスチャ座標も示されている。
テクスチャマッピングでは、テクスチャの原画像と、その原画像内の場所を示す2つの数値(テクスチャ座標)とを用いて処理が行われる。図17(b)において、テクスチャの原画像のサイズが例えば縦横双方とも1024画素であった場合、テクスチャ座標の値は(0、0)から(1023、1023)の間の数値を取り得ることとなる。ここで、ポリゴン画像の頂点Asに対応するテクスチャ座標上の点をAt(Ua、Va)と、頂点Bsに対応するテクスチャ座標上の点をBt(Ub、Vb)と、頂点Csに対応するテクスチャ座標上の点をCt(Uc、Vc)とする。このとき、AtからAsへ、BtからBsへ、CtからCsへの写像によってテクスチャマッピングが行われる。なおこの場合、頂点As〜Csからなるポリゴン画像の形状と、頂点At〜Ctからなるテクスチャの原画像内の形状とを比較すると、ポリゴン画像の方が小さい。したがって、テクスチャの原画像は、上述したテクスチャマッピングによって縮小されることとなる。
しかしながら、テクスチャの原画像が縮小して処理される場合、画像縮小処理や音声のダウンサンプル処理と同様の折り返しノイズが発生するという問題があった。そこで、この問題を回避すべく、「ミップマップ画像」を用いる手法が提案されている(例えば、非特許文献1参照)。ミップマップ画像は、図18に示すように、テクスチャの原画像をミップマップレベル毎に縮小して生成された画像である。図18は、ミップマップ画像の一例を示す図である。図18(a)は、テクスチャの原画像の一例を示す図である。図18(b)は、ミップマップレベル1のミップマップ画像を示す図である。図18(c)は、ミップマップレベル2のミップマップ画像を示す図である。図18(d)は、ミップマップレベル3のミップマップ画像を示す図である。図18(e)は、ミップマップレベル4のミップマップ画像を示す図である。図18(a)〜(e)に示す枠内の数値は、輝度の値を示している。ミップマップレベル1のミップマップ画像は、テクスチャの原画像に対して縦および横方向にそれぞれ1/2だけ縮小された画像である。ミップマップレベル2〜4のミップマップ画像も同様に、1つ前のレベルの画像に対して縦および横方向にそれぞれ1/2だけ縮小された画像となる。
以下、ミップマップ画像の生成方法について具体的に説明する。ミップマップレベル1のミップマップ画像を生成する場合、テクスチャの原画像の近傍4画素が有する輝度の平均をとる。図18(a)に示す原画像において(U0、V0)の輝度32と、(U0、V1)の輝度40と、(U1、V0)の輝度32と、(U1、V1)の輝度40とを平均すると、輝度は36となる。この輝度36が、図18(b)に示すミップマップレベル1のミップマップ画像における(U0、V0)の輝度の値となる。同様に、原画像における(U2、V0)、(U2、V1)、(U3、V0)、および(U3、V1)の輝度の平均をとった値が、ミップマップレベル1のミップマップ画像における(U1、V0)の輝度の値となる。このようにして、1つ前のミップマップレベルのミップマップ画像の近傍4画素が有する輝度の平均をとることで、各ミップマップレベルのミップマップ画像が生成される。また、近傍4画素の平均をとってミップマップ画像を生成することで、低域通過フィルタを作用させることができ、上述した折り返しノイズを発生させないようにすることができる。
以下、図19を参照して、上述したミップマップ画像を用いる手法を実現する従来の描画装置5について説明する。図19は、従来の描画装置5を構成する各ユニットを示す図である。描画装置5を構成する各ユニットは、内部バスを介してそれぞれ接続されている。各ユニットは、メモリI/F(メモリインターフェイス)57を経由してメインメモリ6にデータを書き込んだり、読み出したりすることによって処理を行っている。
ミップマップ生成部51は、静止画像であるテクスチャの原画像が記憶された記憶媒体(例えば、CD−ROMなど)から、CD−ROMドライブ(図示なし)などを用いて原画像を読み出す。ミップマップ生成部51は、上述した生成方法によって、読み出した原画像からミップマップレベルが1以上のミップマップ画像を生成する。生成された各ミップマップレベルのミップマップ画像は、メインメモリ6に書き込まれる。ポリゴン幾何変換部53は、ポリゴン画像に定義されたワールド座標をスクリーン座標に変換する。またポリゴン幾何変換部53は、ポリゴン画像上の点のスクリーン座標と、その点に対応する原画像上の点のテクスチャ座標とを比較して、原画像の縮小率を算出する。ポリゴン幾何変換部53は、算出した縮小率から、必要となるミップマップレベルを取得する。テクスチャ参照部52は、取得されたミップマップレベルとなるミップマップ画像をメインメモリ6から読み出し、ポリゴン描画部54に出力する。ポリゴン描画部54は、テクスチャ参照部52から出力されたミップマップ画像をポリゴン画像に描画する。ミップマップ画像が描画されたポリゴン画像は、メインメモリ6に書き込まれる。液晶パネル7は、ビデオコントローラ55に制御されて、ミップマップ画像が描画されたポリゴン画像を表示する。CPU56は上記各ユニットの処理を全体的に制御する。
このように、従来の描画装置5は、多種類のミップマップ画像を生成して、描画装置5に接続されたメインメモリ6に記憶させ、必要となるミップマップ画像をメインメモリ6から読み出してポリゴン画像に描画している。
メイソン・ウー(Mason Woo)、外2名著、「ザ・オフィシャル・ガイド・トゥ・ラーニング・オープンジーエル、バージョン1.1(The Official Guide to Learning Opengl, Version 1.1)」、米国、アジソン・ウェスレイ(Addison-Wesley)、1997、p.339
しかしながら、従来の描画装置5では、テクスチャマッピングを行うに際し、多種類のミップマップ画像を、描画装置5に接続されたメインメモリ6に記憶させる必要がある。また、多種類のミップマップ画像のデータ量は大量である。このため、大きな記憶容量を有するメインメモリ6が必要になるという課題があった。さらに、動画像のテクスチャ画像を用いる場合には、多種類のミップマップ画像をフレーム毎に生成してメインメモリ6に記憶させる必要がある。このため、動画像のテクスチャ画像を用いる場合には、メインメモリ6の帯域を圧迫してしまうという課題があった。
それ故、本発明は、メインメモリに記憶させるべきデータ量を小さくし、動画像のテクスチャを用いる場合であっても描画装置に接続されたメインメモリの帯域を圧迫することなく、必要となるミップマップレベルのミップマップ画像を生成してポリゴン画像に描画することが可能な描画装置を提供することを目的とする。
の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、Harrのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換部と、ミップマップ画像のミップマップレベルを取得するレベル取得部と、ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Harrのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、ウェーブレット逆変換部において出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画部とを備え、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体に対応するウェーブレット係数のみを受け取り、逆変換を行うことによって、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体で表された画像を出力することを特徴とする。
の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、Harrのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換部と、ミップマップ画像のミップマップレベルを取得するレベル取得部と、ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Harrのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、ウェーブレット逆変換部において出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画部とを備え、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部に対応するウェーブレット係数のみを受け取り、逆変換を行うことによって、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部で表された画像を出力することを特徴とする。
の発明は、上記第の発明において、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、ミップマップレベルよりも次数が高いウェーブレット係数の一部のみを受け取ることを特徴とする。
の発明は、上記第の発明において、ミップマップレベル取得部において取得されたミップマップレベルは、L(Lは0以上の整数)であり、ウェーブレット変換部は、(L+M(Mは1以上の整数))次のウェーブレット係数が得られるまで変換しており、ウェーブレット係数の低周波成分の一部で表された画像は、当該低周波成分全体で表された画像内における所定の座標値で位置が特定されており、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、(L+m(mは1以上M以下の整数))次のウェーブレット係数の高周波成分から、所定の座標値を2のm乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを、(L+1)次から(L+M)次まで次数毎に受け取るとともに、(L+M)次のウェーブレット係数の低周波成分から、所定の座標値を2のM乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを受け取ることを特徴とする。
の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、Harrのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換部と、ミップマップ画像のミップマップレベルを取得するレベル取得部と、ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Harrのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、ウェーブレット逆変換部において出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画部とを備え、ウェーブレット逆変換部は、ミップマップレベルが整数ではない場合、受け取ったウェーブレット係数を当該ミップマップレベルの整数値と同じ値の次数となるまで逆変換することによって、整数値と同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像と、逆変換する過程で得られた整数値よりも次数が1つだけ高いウェーブレット係数の低周波成分の少なくとも一部で表された画像とを出力することを特徴とする。
上記第1の発明によれば、Harrのウェーブレット変換式を用いて原画像をウェーブレット係数に変換し、当該ウェーブレット係数を逆変換することで必要となるミップマップレベルのミップマップ画像を生成することができる。これにより、記憶させるべきデータをウェーブレット係数のみにすることができ、多種類のミップマップ画像を大量に記憶させることなく、必要となるミップマップレベルのミップマップ画像を生成することができる。また、記憶させるべきデータをウェーブレット係数のみにすることができるため、描画装置に接続されるべき記憶装置が必要とする記憶容量を小さくすることができる。また、テクスチャが動画像であっても、フレーム毎に生成される多種類のミップマップ画像を上記記憶装置に記憶させる必要がないため、記憶装置の帯域の圧迫を防ぐことができる。
上記第2の発明によれば、例えばMPEGやJPEGなどによって画像ブロック単位で分割されて圧縮された原画像に対し、当該原画像を伸張する処理単位と、ウェーブレット係数に変換する処理単位とを一致させることができる。これにより、処理効率を向上させることができ、ミップマップ画像をより高速に生成することができる。
上記第3の発明によれば、画像ブロックの画素数に応じた種類のミップマップ画像を生成することができる。
上記第4の発明によれば、描画装置に接続されるべき記憶装置の帯域を圧迫することなく、動画像のテクスチャを用いた描画処理が可能となる。
上記第5の発明によれば、ウェーブレット逆変換部が受け取るデータ量がさらに小さくなり、描画装置に接続されるべき記憶装置の帯域の圧迫をさらに抑えることができる。また、ウェーブレット逆変換部が受け取るデータ量が小さくなる分だけ、ミップマップ画像を生成するための演算量を小さくすることができる。
上記第6〜8の発明によれば、ウェーブレット逆変換部が受け取るデータ量がさらに小さくなり、描画装置に接続されるべき記憶装置の帯域の圧迫をさらに抑えることができる。また、ウェーブレット逆変換部が受け取るデータ量が小さくなる分だけ、ミップマップ画像を生成するための演算量を小さくすることができる。
上記第9の発明によれば、次数が異なる複数のウェーブレット係数の低周波成分、つまりミップマップレベルの異なる複数のミップマップ画像が、逆変換する過程で自動的に得られる。このため、上記第9の発明よれば、複数のミップマップ画像それぞれを一から生成する場合と比べて、複数のミップマップ画像をより高速に生成することができる。
上記第10の発明によれば、記憶させるべきデータ量をさらに小さくすることができる。その結果、描画装置に接続されるべき記憶装置が必要とする記憶容量をさらに小さくすることができる。
以下、本発明の実施形態について、図面を参照しながら説明する。
図1は、本発明に係る描画装置1aを構成する各ユニットを示した図である。図1において、描画装置1aは、動画デコーダ11、ウェーブレット変換部12、ミップマップレベル取得部13、ウェーブレット逆変換部14、ポリゴン描画部15、ビデオコントローラ16、CPU17、およびメモリI/F(メモリインターフェイス)18を備える。描画装置1aは、メインメモリ2および液晶パネル3とそれぞれ接続されている。描画装置1aは、1チップのシステムLSIで構成される。メインメモリ2は、半導体メモリやハードディスクドライブなどで構成された記憶装置である。なお、本発明に係る表示装置は、描画装置1a、メインメモリ2、および液晶パネル3により構成されるものである。また、図1では、液晶パネル3を示したが、ポリゴン画像を表示することが可能なものであればよく、例えばPDPパネルであってもよい。また、以下の説明では、テクスチャとして動画像を用いた場合について説明する。
描画装置1aを構成する各ユニットは、内部バスを介してそれぞれ接続されている。各ユニットは、メモリI/F18を経由してメインメモリ2にデータを書き込んだり、読み出したりすることによって処理を行っている。
動画デコーダ11は、MPEGなどで圧縮されたテクスチャの動画像データが記憶された記憶媒体(例えば、CD−ROMなど)から、動画像データをCD−ROMドライブ(図示なし)などを用いて読み出す。動画デコーダ11は、読み出した動画像データを伸張して、ウェーブレット変換部12に出力する。
動画像データは、静止画像であるテクスチャの原画像1つを1フレームとし、当該フレームを複数集合させて構成されるデータである。図2に、1フレームに相当するテクスチャの原画像を示す。図2では、一例として、縦1088画素、横1920画素を有するテクスチャの原画像が示されている。
ここで、MPEGに代表される圧縮された動画像データの伸張処理は、一般的に横および縦の画素数がそれぞれ2のN乗(Nは1以上の整数)となる画像ブロック20(MPEGではマクロブロックと称す)単位で行われることが多い。より一般的には、画像ブロック20が有する総画素数は、8画素から256画素程度である。したがってここでは、画像ブロック20に分割されて圧縮された原画像で構成される動画像データが、記憶媒体などに予め記憶されているとする。また図2では、一例として画像ブロック20の縦および横の画素数をそれぞれ16画素としている。動画デコーダ11は、画像ブロック20単位で原画像を記憶媒体から読み出し、読み出した原画像を伸張するとする。このように、画像ブロック20単位で処理を行うことで、動画デコード11の伸張処理単位と、後述するウェーブレット変換部12の変換処理単位とが一致することとなる。その結果、処理効率が向上し、ミップマップ画像を高速に生成することができる。
ウェーブレット変換部12は、Harrのウェーブレット変換式を用いて、画像ブロック20分の原画像をウェーブレット係数に変換する。変換されたウェーブレット係数は、メインメモリ2に書き込まれる。なお、変換されたウェーブレット係数や、ウェーブレット変換部12における変換処理については、後述にて詳細に説明する。
ミップマップレベル取得部13は、記憶媒体(例えば、CD−ROMなど)に記憶されたポリゴン画像のデータを、CD−ROMドライブ(図示なし)などを用いて読み出す。ミップマップレベル取得部13は、ポリゴン画像に定義されたワールド座標をスクリーン座標に変換する。またミップマップレベル取得部13は、ポリゴン画像上の点のスクリーン座標と、その点に対応する図2に示す原画像上の点のテクスチャ座標とを比較して、図2に示す1フレーム分の原画像の縮小率を算出する。ここで縮小率とは、テクスチャの原画像に対して、縦および横方向にどれだけ縮小されたかを示す比率である。例えば、縦および横方向にそれぞれ1/2だけ縮小する場合、縮小率は1/2となる。なお、縮小率の算出方法については、公知の方法を用いるとし、ここでは詳細な説明を省略する。ミップマップレベル取得部13は、算出した縮小率から、必要となるミップマップレベルを取得する。
以下、ミップマップレベルの取得方法について具体的に説明する。ミップマップレベル1のミップマップ画像は、上述したようにテクスチャの原画像に対して縦および横方向にそれぞれ1/2だけ縮小された画像である。ミップマップレベル2のミップマップ画像は、テクスチャの原画像に対して縦および横方向にそれぞれ1/4だけ縮小された画像である。したがって、ミップマップレベル取得部13において算出した縮小率が1/4に近い場合、ミップマップレベル取得部13は、ミップマップレベル2のミップマップレベルを取得する。
なお、より一般的には、算出される縮小率が1/P(Pは1以上の整数)の場合、ミップマップレベル取得部13で取得すべきミップマップレベルは、log2P(2を底とする対数)で求めることができる。log2Pの値が整数にならない場合、四捨五入した整数値をミップマップレベルとしてもよい。また、log2Pの値が整数にならない場合に、そのlog2Pの値を挟む2つのミップマップレベルをそれぞれ取得し、これらのレベルのミップマップ画像を混ぜ合わせるようにしてもよい。混ぜ合わせる比率としては、例えばlog2Pの値が2.3となる場合、ミップマップレベル2のミップマップ画像とミップマップレベル3のミップマップ画像とを7:3の比率で混ぜ合わせる。またミップマップレベル取得部13は、log2Pに特定の値を加減算するようにして、ミップマップレベルを取得するようにしてもよい。
なお、ミップマップレベル取得部13は、算出した縮小率からミップマップレベルを取得するとしたが、これに限定されない。ユーザが表示シーンの構成に応じて直接ミップマップレベルを指定し、ミップマップレベル取得部13は、ユーザによって指定されたミップマップレベルを取得するようにしてもよい。
ウェーブレット逆変換部14は、ウェーブレット変換部12において変換されたウェーブレット係数をメインメモリ2から読み出す。ウェーブレット逆変換部14は、Harrのウェーブレット逆変換式を用いて、ミップマップレベルと同じ値の次数となるまで、読み出したウェーブレット係数を逆変換する。ウェーブレット逆変換部14は、逆変換して求めたウェーブレット係数の低周波成分で表された画像をポリゴン描画部15に出力する。ウェーブレット逆変換部14におけるウェーブレット逆変換処理については、後述にて詳細に説明する。
ポリゴン描画部15は、ウェーブレット逆変換部14から出力された画像をミップマップ画像としてポリゴン画像に描画する。具体的には、ポリゴン描画部15は、ポリゴン画像内の画素の輝度をその画素に対応するミップマップ画像上の画素の輝度としてポリゴン画像内全てについて求める。内部すべての画素の輝度が求められたポリゴン画像は、メインメモリ2に書き込まれる。
液晶パネル3は、ビデオコントローラ16に制御されて、ミップマップ画像が描画されたポリゴン画像を表示する。CPU17は、上記各ユニットの処理を全体的に制御する。
次に、図3を参照して、ウェーブレット変換部12におけるウェーブレット変換処理について詳細に説明する。図3は、ウェーブレット変換処理の流れを示したフローチャートである。
ステップS101において、動画デコーダ11は、圧縮された原画像を画像ブロック20分だけ記憶媒体から読み出す。ステップS101の次に、動画デコーダ11は、読み出した原画像を伸張する(ステップS102)。図4に、伸張された1つの画像ブロック20分の原画像を示す。各枠は画素を表し、各枠内の数値は輝度を表している。なお、MPEGなどの動画像データに対応した動画デコーダ11は、一般的に、R、G、BまたはY、U、Vの3種類の輝度を画素ごとに出力する。しかしながら、ここでは説明を簡単にするために、図4では1種類の輝度のみを表している。
ステップS102の次に、ウェーブレット変換部12は、Harrのウェーブレット変換式を用いて、画像ブロック20分の原画像をウェーブレット係数に変換する(ステップS103)。本発明に用いるHarrのウェーブレット変換式を式(1)〜(4)に示す。
a=(A+B+C+D)/4 …(1)
b=(A−B+C−D)/4 …(2)
c=(A+B−C−D)/4 …(3)
d=(A−B−C+D)/4 …(4)
上式(1)〜(4)において、aをウェーブレット係数の低周波成分、b、c、dをウェーブレット係数の高周波成分と称す。また、A、B、C、Dは、近傍4画素の輝度を示す。
以下、一例として図4の左上端にある4画素をウェーブレット変換する場合について考える。左上端にある4画素のうち、(U0、V0)の輝度がA、(U1、V0)の輝度がB、(U0、V1)の輝度がC、(U1、V1)の輝度がDとなる。これらA〜Dが示す輝度は、A=32、B=32、C=40、D=40である。またこれらA〜Dの輝度を式(1)〜式(4)に代入すると、a=36、b=0、c=−4、d=0となる。
得られたa〜dの値は、図5に示す位置に配置される。図5は、1次のウェーブレット係数を示す図である。図5に示すように、aは(U0、V0)に、bは(U8、V0)に、cは(U0、V8)に、dは(U8、V8)にそれぞれ配置される。このような処理を画像ブロック20全ての画素について、図4の左上端から4画素ずつ処理していくことで、最終的に図5に示したウェーブレット係数が得られる。以上の処理が1次のウェーブレット変換処理となり、図5に示したウェーブレット係数が1次のウェーブレット係数となる。なお、1次のウェーブレット係数は、図5に示すように、低周波成分であるa、高周波成分であるb、c、dの領域に区分されることとなる。
次に、ウェーブレット変換部12は、1次のウェーブレット係数の低周波成分aに対して、式(1)〜式(4)を用いて1次と同様のウェーブレット変換処理を行う。この処理によって算出されたウェーブレット係数が2次のウェーブレット係数となる。このように2次以降は、低周波成分に対してウェーブレット変換処理を行っていく。図6は、4次まで変換されたときのウェーブレット係数を示した図である。図6の31は、1次のウェーブレット係数の高周波成分を示す。図6の32は、2次のウェーブレット係数の高周波成分を示す。図6の33は、3次のウェーブレット係数の高周波成分を示す。図6の34は、4次のウェーブレット係数の高周波成分を示す。図6の35は、4次のウェーブレット係数の低周波成分を示す。なお、4次のウェーブレット係数の低周波成分35は、1つの画素しか有しない。したがって、縦および横の画素数がそれぞれ16画素となる画像ブロック20にあっては、4次より高次のウェーブレット変換処理を行うことはできない。
ここで、ウェーブレット変換処理は、必ずしも変換処理ができなくなる次数まで行う必要はない。しかしながら、変換処理ができなくなる次数まで変換処理を行うことで、最終的に、画像ブロック20の画素数に応じたより多くの種類のミップマップ画像を生成することができる。ここで、横および縦の画素数がそれぞれ2のN乗となる画像ブロック20に対して、変換処理ができなくなる次数はNとなる。したがって、ウェーブレット変換部12においてN次のウェーブレット係数が得られるまで変換処理を行うようにすれば、異なる画素数の画像ブロック20単位で処理が行われても、当該画像ブロック20の画素数に応じたより多くの種類のミップマップ画像を生成することができる。
ステップS103の次に、ウェーブレット変換部12は、図6に示すウェーブレット係数をメインメモリ2に書き込む(ステップS104)。ウェーブレット変換部12は、図2で示したテクスチャの原画像のうち、最後の画像ブロック20まで処理したか否かを判断する(ステップS105)。最後の画像ブロック20まで処理していないと判断された場合、次の画像ブロック20についてステップS101の処理が行われる。最後の画像ブロック20まで処理したと判断された場合、処理はステップS106へ進む。ステップS106においてウェーブレット変換部12は、最後のフレームまで処理したか否かを判断する。最後のフレームまで処理していないと判断された場合、次のフレームについてステップS101の処理が行われる。最後のフレームまで処理したと判断された場合、ウェーブレット変換部12における処理は終了する。
なお、図3に示した処理では、1種類の輝度のみを対象として説明した。しかし、R、G、BまたはY、U、Vの3種類の輝度がある場合は、上述したステップS101〜S104の処理を3回繰り返す。つまり、輝度の種類数だけ、上述したステップS101〜S104の処理を繰り返せばよい。
また、図3に示した処理手順は一例であって、実際のシステムLSIでは、ステップS102とステップ103の処理が同時に動作するように実装することも可能である。つまり、ウェーブレット変換部12がウェーブレット変換している間に、動画デコーダ11がひとつ先の画像ブロック20を伸張することも可能である。また、動画デコーダ11とウェーブレット変換部12との間にFIFOメモリ(図示なし)をさらに設け、数個または数十個の画像ブロック20をバッファリングすることも可能である。この場合、動画デコーダ11は、数個から数十個先の画像ブロック20まで先行して伸張する。
次に、図7を参照して、ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理について詳細に説明する。図7は、ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャートである。
ステップS201において、ミップマップレベル取得部13は、ポリゴン画像上の点のスクリーン座標と、その点に対応する図2に示す原画像上の点のテクスチャ座標とを比較して、図2に示す1フレーム分の原画像の縮小率を算出する。そして、ミップマップレベル取得部13は、算出した縮小率から、必要となるミップマップレベルを取得する。
ステップS201の次に、ウェーブレット逆変換部14は、メインメモリ2に記憶された画像ブロック20分のウェーブレット係数のうち、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体に対応する係数のみを読み出す(ステップS202)。そしてウェーブレット逆変換部14は、Harrのウェーブレット逆変換式を用いて、ミップマップレベルと同じ値の次数となるまで、読み出したウェーブレット係数を逆変換する(ステップS203)。
以下、ステップS202およびS203の処理について詳細に説明する。上述したように、ミップマップ画像は、近傍4画素の平均をとって生成されるのが一般的である。これに対し、ウェーブレット係数の低周波成分も式(1)に示したように、近傍4画素の平均をとって求められる。つまり、ウェーブレット係数の低周波成分を求める式(1)と、ミップマップ画像を生成する式とが同じ式となる。これにより、図5に示す1次のウェーブレット係数の低周波成分aで表現される画像の輝度と、図18(b)に示すミップマップレベル1のミップマップ画像の輝度とは一致する。その結果、ウェーブレット係数の低周波成分で表現される画像は、従来と同じ低域通過フィルタが作用したミップマップ画像となる。
図8は、ウェーブレット係数の低周波成分の次数と、ミップマップレベルとの対応を示した図である。図8に示すように、4次のウェーブレット係数の低周波成分で表現される画像とミップマップレベル4のミップマップ画像とが同じ画像となる。3次のウェーブレット係数の低周波成分で表現される画像とミップマップレベル3のミップマップ画像とが同じ画像となる。また2次のウェーブレット係数の低周波成分で表現される画像とミップマップレベル2のミップマップ画像とが同じ画像となる。また1次のウェーブット係数の低周波成分で表現される画像とミップマップレベル1のミップマップ画像とが同じ画像となる。この対応を利用すれば、4次のウェーブレット係数から任意のミップマップレベルのミップマップ画像を簡単に生成することが可能となる。
ここで、ステップS201で取得されたミップマップレベルが2であるとする。このとき、ウェーブレット逆変換部14は、2次のウェーブレット係数の低周波成分で表現される画像が生成されるまで、逆変換処理を行う。ここで、ミップマップレベル2のミップマップ画像は、図9に示すように、縦4画素、横4画素とする計16画素を有する。図9は、4次のウェーブレット係数から、ミップマップレベル2のミップマップ画像を生成する過程を模式的に示した図である。したがって、2次のウェーブレット係数の低周波成分で表現される画像を生成するためには、ステップS202においてウェーブレット逆変換部14が、メインメモリ2に記憶されるウェーブレット係数のうち、4次のウェーブレット係数を含む左上端の16個の係数のみ読み出せばよい。つまり、ステップS202において、ウェーブレット逆変換部14は、ステップS201において取得されたミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体に対応する係数のみをメインメモリ2から読み出せばよいこととなる。換言すれば、ウェーブレット逆変換部14は、ステップS201において取得されたミップマップレベルのミップマップ画像に相当する領域内にあるウェーブレット係数のみを、メインメモリ2から読み出せばよいこととなる。これにより、ウェーブレット逆変換部14がメインメモリ2から受け取るデータ量をさらに小さくすることができる。その結果、メインメモリ2の帯域の圧迫をさらに抑えることができる。
ここで、本発明に用いるHarrのウェーブレット逆変換式を式(5)〜(8)に示す。式(5)〜式(8)は、式(1)〜式(4)の逆変換式となる。
A=a+b+c+d …(5)
B=a−b+c−d …(6)
C=a+b−c−d …(7)
D=a−b−c+d …(8)
図9に示す4次のウェーブレット係数は、a=(U0,V0)=97、b=(U1,V0)=−10、c=(U0,V1)=−10、d=(U1,V1)=2となる。これらa〜dの輝度を上式(5)〜式(8)に代入することによって、A〜Dの輝度が得られる。得られたA〜Dの輝度は、図9に示すように、3次のウェーブレット係数の低周波成分となる。同様に、上式(5)〜式(8)を用いることで、図9に示す3次のウェーブレット係数から、2次のウェーブレット係数の低周波成分が得られる。そして、図9に示すように、2次のウェーブレット係数の低周波成分で表現された画像は、ミップマップレベル2のミップマップ画像を一致することが分かる。
ステップS203の次に、ポリゴン描画部15は、ウェーブレット逆変換部14から出力された画像をミップマップ画像としてポリゴン画像に描画する(ステップS204)。ステップS204の次に、ポリゴン描画部15は、図2で示したテクスチャの原画像のうち、最後の画像ブロック20まで描画する処理を行ったか否かを判断する(ステップS205)。最後の画像ブロック20まで描画する処理を行っていないと判断された場合、次の画像ブロック20についてステップS202の処理が行われる。最後の画像ブロック20まで描画する処理を行ったと判断された場合、処理はステップS206へ進む。ステップS206においてポリゴン描画部15は、最後のフレームまで処理が行われたか否かを判断する。最後のフレームまで処理が行われていないと判断された場合、次のフレームについてステップS201の処理が行われる。最後のフレームまで処理が行われたと判断された場合、処理は終了する。
以上のように、本発明に係る描画装置1aによれば、Harrのウェーブレット変換式を用いて原画像をウェーブレット係数に変換し、当該ウェーブレット係数を逆変換することで必要となるミップマップレベルのミップマップ画像を生成することができる。これにより、メインメモリ2に記憶させるべきデータをウェーブレット係数のみにすることができ、多種類のミップマップ画像を大量に記憶させることなく、必要となるミップマップレベルのミップマップ画像を生成することができる。また、メインメモリ2に記憶させるべきデータをウェーブレット係数のみにすることができるため、描画装置1aに接続されたメインメモリ2が必要とする記憶容量を小さくさせることができる。
また本発明に係る描画装置1aによれば、テクスチャが動画像であっても、フレーム毎に生成される多種類のミップマップ画像をメインメモリ2に記憶させる必要がないため、メインメモリ2の帯域の圧迫を防ぐことができる。
また、従来において、離散コサイン変換(DCT)を用いて多数のミップマップ画像を用意する代わりにDCT係数だけをメインメモリ上に保持する技術が提案されている。しかしながら、この従来技術では、テクスチャを参照するごとにDCT係数を保持するための逆DCT処理が必要になる。これにより、回路規模が増大するという問題がある。さらに、従来のミップマップ画像を用いる手法とは異なる低域通過フィルタを用いているため、描画結果に関して従来のミップマップ画像を用いる手法と比べて画質が劣化するという問題もある。さらに、逆DCT処理は、処理負担が大きい。その結果、描画装置の処理性能を向上させるのが難しいという問題もある。
これに対し、本発明に係る描画装置1aによれば、DCTおよび逆DCT処理よりも処理負担が軽いウェーブレット変換および逆変換を採用している。これにより、回路規模を小さくすることができる。また、処理負担が軽いので、描画装置の処理性能も従来と比べて向上させることができる。また、Harrのウェーブレット変換式を用いて変換する場合、従来のミップマップ画像を用いる手法と同じ低域通過フィルタを作用させることができる。これにより、従来のミップマップ画像を用いる手法と同一の画質を確保することができる。
なお、上述では、ウェーブレット変換部12は、変換したウェーブレット係数をメインメモリ2に記憶するとした。ここで、ウェーブレット係数の高周波成分は、人の目に認識されにくいという特徴をもつ。したがって、ウェーブレット係数の高周波成分に対して、情報量を削減するような量子化処理、エントロピー符号化、および算術符号化などを施して、可逆または非可逆圧縮してからメインメモリ2に記憶することも可能である。これにより、メインメモリ2のさらなる少容量化を実現することができる。
また、テクスチャが一般的な自然画の場合、ウェーブレット係数の高周波成分の絶対値が小さい値に偏るという特徴をもつ。したがって自然画の場合には、特にエントロピー符号化による可逆圧縮する方がより効果的である。また、ウェーブレット係数の高周波成分は、可逆または非可逆圧縮のいずれの方法で圧縮されてもよいが、好ましくは、可逆圧縮した方がよい。可逆圧縮した場合、従来のミップマップ画像を用いる手法と完全に同一のミップマップ画像を得ることができるためである。なお、ウェーブレット変換部12でウェーブレット係数の高周波成分を非可逆または可逆圧縮した場合、ウェーブレット逆変換部14では、メインメモリ2から読み込む時に、圧縮された高周波成分を伸張するようにすればよい。
なお、上述では、動画像のテクスチャをポリゴン画像に描画する場合について説明したが、これに限定されない。単に、静止画像のテクスチャをポリゴン画像に描画する場合であっても動画像のテクスチャを用いた場合と同様の効果を得ることができる。静止画像のテクスチャを用いる描画装置1bを構成する各ユニットを図10に示す。図10において描画装置1bは、上述した描画装置1aに対して動画デコーダ11が静止画デコーダ19に代わった構成である。静止画デコーダ19は、圧縮された静止画像であるテクスチャの原画像に対して画像ブロック20単位で伸張処理を行って、ウェーブレット変換部12に出力する。これにより、動画デコーダ11を備えた描画装置1aと同様に、伸張処理単位とウェーブレット変換処理単位とが一致することとなる。その結果、処理効率が向上し、ミップマップ画像を高速に生成することができる。なお、描画装置1bの処理は、上述した描画装置1aにおいてテクスチャの原画像1フレーム分について行われる処理と同様の処理となるので、説明を省略する。なお、処理するテクスチャの原画像が圧縮されていない場合には、上述した描画装置1aの動画デコーダ11や描画装置1bの静止画デコーダ19が不要になることは言うまでもない。
なお、上述では、動画像データの圧縮フォーマットとしてMPEGとしたが、具体的には、MEPG−1、MEPG−2、およびMEPG−4が挙げられる。また、動画像データや静止画像の圧縮フォーマットは、MPEGに限らず、JPEGやDVフォーマットであっても本発明の描画装置1aおよび1bに適用可能である。またその他の圧縮フォーマットであっても、横および縦の画素数がそれぞれ2のN乗となる画像ブロック20単位で処理して伸張するものであれば、将来考案されるものも含めて本発明の描画装置1aおよび1bに適用可能である。
なお、図1では、描画装置1aのみがそれぞれ1チップのシステムLSIで構成されるとしたが、これに限定されない。近年のシステムLSIの集積度の向上により、描画装置1aおよびメインメモリ2が1チップのシステムLSIで構成されてもよい。また描画装置1aが、1チップではなく、複数のLSIを組み合わせて構成されてもよい。また、以上に説明したシステムLSIの構成については、図10に示す描画装置1bについても同様のことがいえる。
なお、図1および図10では、本発明に関連するユニットのみを抜粋して示している。したがって、実際のシステムLSIには、上述したユニット以外に、音声処理等の機能を有するユニットも含まれる場合がある。
なお、図1に示した動画デコーダ11は、動画像データを、記憶媒体から読み出して取得するとした。また、図10に示した静止画デコーダ19も同様に、静止画像であるテクスチャの原画像を、記憶媒体から読み出して取得している。しかしながら、動画デコーダ11や静止画デコーダ19は、データを、記録媒体ではなく、電波やインターネット等を利用した通信路から取得するようにしてもよい。この場合であっても、記憶媒体から取得した場合と同様の効果を得ることができる。
以下、図7に示したウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理に関する変形例1、2について説明する。
(変形例1)
上述したように、ミップマップレベル取得部13がlog2Pを用いてミップマップレベルを取得する際、取得されるミップマップレベルが整数ではない場合がある。この場合の具体的な処理例を変形例1として、図11を参照して説明する。図11は、変形例1におけるウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャートである。なお、以下の説明では一例として、ミップマップ取得部13において取得されるミップマップレベルが2.3であるとする。また、メインメモリ2には、ウェーブレット変換部12において4次のウェーブレット係数が得られるまで変換されたウェーブレット係数が記憶されているとする。
ステップS301において、ミップマップレベル取得部13は、ポリゴン画像上の点のスクリーン座標と、その点に対応する図2に示す原画像上の点のテクスチャ座標とを比較して、図2に示す1フレーム分の原画像の縮小率を算出する。そして、ミップマップレベル取得部13は、算出した縮小率から、ミップマップレベル(=2.3)を取得する。
ステップS301の次に、ウェーブレット逆変換部14は、メインメモリ2に記憶された画像ブロック20分のウェーブレット係数のうち、ミップマップレベルの整数値(=2)と同じ値の次数となるウェーブレット係数の低周波成分全体に対応する係数のみを読み出す(ステップS302)。そしてウェーブレット逆変換部14は、Harrのウェーブレット逆変換式を用いて、ミップマップレベルの整数値(=2)と同じ値の次数となるまで、読み出したウェーブレット係数を逆変換する(ステップS303)。ここで、ステップS303が実行される過程において、2次だけでなく、3次のウェーブレット係数の低周波成分も算出される。ウェーブレット逆変換部14は、逆変換して求めた2次のウェーブレット係数の低周波成分で表された画像と、3次のウェーブレット係数の低周波成分で表された画像とをポリゴン描画部15に出力する。
以下、図12を参照して、2次だけでなく、3次のウェーブレット係数の低周波成分も算出されるメカニズムについて説明する。図12は、ミップマップレベルが2.3となる場合のミップマップ画像を生成する過程を模式的に示した図である。
ミップマップレベル2のミップマップ画像は、図12に示すように、縦4画素、横4画素とする計16画素を有する。したがって、ステップS302においてウェーブレット逆変換部14は、メインメモリ2に記憶されるウェーブレット係数のうち、4次のウェーブレット係数を含む左上端の16個の係数のみを読み出す。ここで、図12に示すように、4次のウェーブレット係数は、a=(U0,V0)=97、b=(U1,V0)=−10、c=(U0,V1)=−10、d=(U1,V1)=2となる。よって、ステップS303においてウェーブレット逆変換部14は、まず、これらa〜dの輝度を上式(5)〜式(8)に代入することによって、A〜Dの輝度を算出する。得られたAの輝度は、3次のウェーブレット係数の低周波成分である(U0、V0)の係数となる。得られたBの輝度は、3次のウェーブレット係数の低周波成分である(U1、V0)の係数となる。得られたCの輝度は、3次のウェーブレット係数の低周波成分である(U0、V1)の係数となる。得られたDの輝度は、3次のウェーブレット係数の低周波成分である(U1、V1)の係数となる。このように、ステップS303において上式(5)〜式(8)が1回適用されることで、3次のウェーブレット係数の低周波成分が算出される。この3次のウェーブレット係数の低周波成分で表現された画像は、図12に示すように、ミップマップレベル3のミップマップ画像と一致する。次に、上式(5)〜式(8)を4回適用することにより、図12に示す3次のウェーブレット係数から、2次のウェーブレット係数の低周波成分が算出される。この2次のウェーブレット係数の低周波成分で表現された画像は、図12に示すように、ミップマップレベル2のミップマップ画像と一致する。このように、ステップS303が実行される過程において、2次だけでなく、3次のウェーブレット係数の低周波成分も算出される。
ステップS303の次に、ポリゴン描画部15は、2次のウェーブレット係数の低周波成分で表された画像(ミップマップレベル2のミップマップ画像)と、3次のウェーブレット係数の低周波成分で表された画像(ミップマップレベル3のミップマップ画像)とを、所定の割合で混合する(ステップS304)。混合方法については、Tri−Linearなどの公知の方法を用いるとし、ここでは詳細な説明を省略する。所定の割合は、例えば、ミップマップレベルの小数部の値に応じて決定される。取得したミップマップレベルが2.3である場合、例えば、ミップマップレベル2のミップマップ画像とミップマップレベル3のミップマップ画像とを7:3の比率で混合する。
ステップS304の次に、ポリゴン描画部15は、混合したミップマップ画像をポリゴン画像に描画する(ステップS305)。ステップS305の次に、ポリゴン描画部15は、図2で示したテクスチャの原画像のうち、最後の画像ブロック20まで描画する処理を行ったか否かを判断する(ステップS306)。最後の画像ブロック20まで描画する処理を行っていないと判断された場合、次の画像ブロック20についてステップS302の処理が行われる。最後の画像ブロック20まで描画する処理を行ったと判断された場合、処理はステップS307へ進む。ステップS307においてポリゴン描画部15は、最後のフレームまで処理が行われたか否かを判断する。最後のフレームまで処理が行われていないと判断された場合、次のフレームについてステップS301の処理が行われる。最後のフレームまで処理が行われたと判断された場合、処理は終了する。
以上のように、変形例1の処理によれば、ミップマップレベル2のミップマップ画像とミップマップレベル3のミップマップ画像とを混合する際、ミップマップレベル2のミップマップ画像を求める過程において、ミップマップレベル3のミップマップ画像を自動的に得ることができる。このため、ミップマップレベル3のミップマップ画像を別途生成する必要がない。一方、従来の逆DCT処理では、ミップマップレベル2のミップマップ画像とミップマップレベル3のミップマップ画像とを別々に生成しなければならない。したがって、変形例1の処理によれば、ミップマップレベルの異なる複数のミップマップ画像を生成するにあたり、従来の逆DCT処理よりも高速に生成することができる。
なお、上述では、算出した縮小率から整数ではないミップマップレベルが取得されるとしたが、これに限定されない。ユーザが、表示シーンの構成に応じて整数ではないミップマップレベルをミップマップレベル取得部13に直接指定するようにしてもよい。この場合、ミップマップレベル取得部13は、ユーザによって指定された整数ではないミップマップレベルを取得することになる。
(変形例2)
上述した図7の処理では、ウェーブレット逆変換部14は、逆変換して求めたウェーブレット係数の低周波成分全体で表された画像を、画像ブロック20単位のミップマップ画像としてポリゴン描画部15に出力していた。しかしながら、画像ブロック20単位のミップマップ画像のうち、特定の画素のみを生成するようにしてもよい。この場合、ウェーブレット逆変換部14は、ウェーブレット係数の低周波成分のうち、特定の画素を表す一部の係数のみを求めるように、逆変換処理を行えばよい。この場合の具体的な処理例を変形例2として、図13〜図16を参照して説明する。
図13は、画像ブロック20単位のミップマップ画像のうちの特定の画素Aを模式的に示した図である。図13の例では、取得されたミップマップレベルを0とし、ミップマップレベル0のミップマップ画像内に画素Aが存在しているとする。ここで、図13に示したミップマップ画像は、ミップマップレベルが0であり、画像ブロック20単位の画像である。したがって、図13に示したミップマップ画像は、0次のウェーブレット係数の低周波成分全体で表された画像に相当する。図13に示す(Ux、Vy)は画素Aの座標であり、x、y(x、yは0以上の整数)は座標値である。図14は、画素Aのみ生成するために必要なウェーブレット係数を模式的に示した図である。なお、図14では、メインメモリ2には、ウェーブレット変換部12において4次のウェーブレット係数が得られるまで変換されたウェーブレット係数が記憶されているとする。図14(a)は、1次のウェーブレット係数の高周波成分である各領域b〜dを示した図である。図14(a)の斜線部分は、1次のウェーブレット係数の低周波成分である。図14(b)は、2次のウェーブレット係数の高周波成分である各領域b〜dを示した図である。図14(b)の斜線部分は、2次のウェーブレット係数の低周波成分である。図14(c)は、3次のウェーブレット係数の高周波成分である各領域b〜dを示した図である。図14(c)の斜線部分は、3次のウェーブレット係数の低周波成分である。図14(d)は、4次のウェーブレット係数の高周波成分である各領域b〜dを示した図である。図14(d)の斜線部分は、4次のウェーブレット係数の低周波成分である。図14(e)は、4次のウェーブレット係数の低周波成分である各領域b〜dを示した図である。図15は、画素Aのみ生成するために必要なウェーブレット係数を読み出す処理の流れを示したフローチャートである。図16は、図14および図15に示した処理に関する数値例を示した図である。
画素Aのみ生成するためには、図14に示すP1〜P5の係数が必要となる。P1は、1次のウェーブレット係数の高周波成分である各領域b〜dに、1つずつ存在している。P1の座標値は、画素Aの座標値x、yをそれぞれ2で除算した値となり、P1の座標は、図14(a)に示すように(Ux/2、Vy/2)となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標(Ux/2、Vx/2)は、各領域b〜dにおいて、それぞれの左上端点を座標(U0、V0)としたときの座標を示している。この座標の取り方については、後述にて数値例を挙げて説明する。P2は、2次のウェーブレット係数の高周波成分である各領域b〜dに、1つずつ存在している。P2の座標値は、画素Aの座標値x、yをそれぞれ4で除算した値となり、P2の座標は、図14(b)に示すように(Ux/4、Vy/4)となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標(Ux/4、Vy/4)は、各領域b〜dにおいて、それぞれの左上端を座標(U0、V0)としたときの座標を示している。P3は、3次のウェーブレット係数の高周波成分である各領域b〜dに、1つずつ存在している。P3の座標値は、画素Aの座標値x、yをそれぞれ8で除算した値となり、P3の座標は、図14(c)に示すように(Ux/8、Vy/8)となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標(Ux/8、Vy/8)は、各領域b〜dにおいて、それぞれの左上端を座標(U0、V0)としたときの座標を示している。P4は、4次のウェーブレット係数の高周波成分である各領域b〜dに、1つずつ存在している。P4の座標値は、画素Aの座標値x、yをそれぞれ16で除算した値となり、P4の座標は、図14(d)に示すように(Ux/16、Vy/16)となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標(Ux/16、Vy/16)は、各領域b〜dにおいて、それぞれの左上端を座標(U0、V0)としたときの座標を示している。P5は、4次のウェーブレット係数の低周波成分である領域a内に存在している。P5の座標値は、画素Aの座標値x、yをそれぞれ16で除算した値となり、Pの座標は、図14(e)に示すように(Ux/16、Vy/16)となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標(Ux/16、Vy/16)は、領域aにおいて、左上端を座標(U0、V0)としたときの座標を示している。
次に、図15を参照して、画素Aのみ生成するために必要なウェーブレット係数を読み出す処理の流れを一般化して説明する。図14の説明では、画素Aがミップマップレベル0のミップマップ画像内に存在するとしたが、図15に示す処理は、より一般的に画素AがミップマップレベルLのミップマップ画像内に存在する場合に対して適用できる。図15に示す処理を図7のステップS202において行えば、ウェーブレット逆変換部14は、ウェーブレット係数の低周波成分のうち、画素Aを表す一部の係数のみを求めるように、逆変換処理を行うことができる。なお、図15の説明では、ミップマップレベル取得部13で取得されたミップマップレベルをLとする。Lは0以上の整数である。またウェーブレット変換部12は、(L+M)次のウェーブレット係数が得られるまで変換処理を行っているとする。Mは1以上の整数である。
図15において、ウェーブレット逆変換部14は、取得されたミップマップレベルLに1を加算する(ステップS2021)。ステップS2021の次に、ウェーブレット逆変換部14は、画素Aの座標値x、yをそれぞれ2で除算し、読み出すべき係数P1の座標(Ux/2、Vy/2)を算出する(ステップS2022)。但し、除算した値が整数ではない場合、小数点以下を切り捨てる。ステップS2022の次に、ウェーブレット逆変換部14は、ステップS2021で求めた値(L+1)と同じ次数のウェーブレット係数に対し、その高周波成分である各領域b〜dから、係数P1(Ux/2、Vx/2)をそれぞれ読み出す(ステップS2023)。ステップS2023の次に、ウェーブレット逆変換部14は、ステップS2023で読み出したウェーブレット係数の次数が、メインメモリ2に記憶されたウェーブレット係数が示す最高の次数(L+M)と一致するか否かを判断する(ステップS2024)。今、ステップS2023で読み出したウェーブレット係数の次数は(L+1)であるので、ステップS2024ではNoと判断され、処理はステップS2025に進む。ステップS2025において、ウェーブレット逆変換部14は、ステップS2023で読み出したウェーブレット係数の次数を1つ繰り上げる(ステップS2025)。ステップS2023で読み出したウェーブレット係数の次数は(L+1)であるので、ステップS2025の処理により、次数は(L+2)となる。ステップS2025の次に、処理はステップS202に進む。ステップS202において、ウェーブレット逆変換部14は、係数P1の座標値x/2、y/2をそれぞれ2で除算し、読み出すべき係数P2の座標(Ux/4、Vy/4)を算出する。
このように、ステップS2022〜S2025の処理が、次数が(L+1)から(L+M)となるまで繰り返される。ここで、1以上M以下の整数をmとおく。この場合、ステップS2022〜S2025を繰り返す処理は、(L+m)次のウェーブレット係数の高周波成分から、画素Aの座標値を2のm乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを、(L+1)次から(L+M)次の間で次数毎に受け取る処理であるといえる。
最終的に、ステップS2023で読み出したウェーブレット係数の次数が最高の次数(L+M)と一致する場合(ステップS2024でYes)、処理はステップS2026に進む。ステップS2026において、ウェーブレット逆変換部14は、(L+M)次のウェーブレット係数の低周波成分から、画素Aの座標値を2のM乗で除算した結果の整数値のみからなる座標値で特定されるウェーブレット係数のみを受け取る。
図16に示す数値例を参照して、図14および図15に示した処理をより具体的に説明する。なお、図16では、メインメモリ2には、ウェーブレット変換部12において4次のウェーブレット係数が得られるまで変換されたウェーブレット係数が記憶されているとする。図16において、例えば、ミップマップレベル2のミップマップ画像における(U3、V2)に存在する画素が画素Aであるとする。この場合の画素Aの座標値は、x=3、y=2となる。このとき、3次のウェーブレット係数では、画素Aのみ生成するために必要な係数Pの座標値は、x=3/2=1、y=2/2=1となる。つまり、係数Pの座標は、(U1、V1)となる。また、この係数Pの座標は、各領域b〜dにおいて、それぞれの左上端を座標(U0、V0)としたときの座標を示している。つまり、図16で言えば、領域bの(U2、V0)、領域cの(U0、V2)、領域dの(U2、V2)が係数Pの座標に対する(U0、V0)となる。したがって、係数Pの座標は、領域bでは(U3、V1)、領域cでは(U1、V3)、領域dでは(U3、V3)となる。次に、4次のウェーブレット係数では、画素Aのみ生成するために必要な係数Pの座標値は、x=3/4=0、y=2/4=0となる。つまり、係数Pの座標は、(U0、V0)となる。また、この係数Pの座標は、各領域b〜dにおいて、それぞれの左上端を座標(U0、V0)としたときの座標を示している。つまり、図16で言えば、領域bの(U1、V0)、領域cの(U0、V1)、領域dの(U1、V1)が係数Pの座標に対する(U0、V0)となる。したがって、係数Pの座標は、領域bでは(U1、V0)、領域cでは(U0、V1)、領域dでは(U1、V1)となる。また、図16では、4次が最高の次数である。また、係数Pの座標は、低周波成分である領域aの左上端を座標(U0、V0)としたときの座標を示している。つまり、図16で言えば、領域aの(U0、V0)が係数Pの座標に対する(U0、V0)となる。したがって、係数Pの座標は、(U0、V0)となる。このように、画素(U3、V2)を生成するためには、メインメモリ2に記憶されたウェーブレット係数のうち、(U3、V1)、(U1、V3)、(U3、V3)、(U1、V0)、(U0、V1)、(U1、V1)、(U0、V0)の計7個の係数のみ必要となる。なお、例えばミップマップレベルが2.3の場合、画素Aに対応するミップマップレベル3の画素を求める必要があるが、図16の画素Aに対応するミップマップレベル3の画素は(U1、V1)となる。これはミップマップレベル2の画素A(U3、V2)を求める過程で求めることができる。
なお、4次のウェーブレット係数を含む係数のうち、図16に示した7個の係数だけを用いて4次から2次までウェーブレット逆変換をすると、実際には、2次のウェーブレット係数の低周波成分16個のうち、4個の値が求まる。この4個中から、必要とする(U3、V2)の値を選択するようにすればよい。また、上式(5)〜式(8)を用いて行われる逆変換処理は、4次から3次で1回、3次から2次で1回の計2回だけでよいことになる。つまり、上述した図9では、上式(5)〜式(8)を計5回適用しなければならなかったが、図16では、計2回だけで済むようになる。
以上のように、ウェーブレット逆変換部14は、メインメモリ2から特定の画素に対応するウェーブレット係数のみを受け取り、受け取ったウェーブレット係数のみを逆変換処理する。これにより、特定の画素のみを生成することができる。その結果、受け取ったウェーブレット係数の数が減る分だけ、ウェーブレット係数の低周波成分に相当する領域内にある全ての係数を受け取って処理する場合よりも、逆変換処理の演算量を小さくすることができる。
なお、図15に示した処理では、次数を1つ繰り上げるたびにメインメモリ2から必要なウェーブレット係数を読み出すとしたが、これに限定されない。メインメモリ2に記憶されたウェーブレット係数を画像ブロック20毎に読み出し、ウェーブレット逆変換部14の内部メモリに保持しておくようにしてもよい。この場合、ウェーブレット逆変換部14は、内部メモリに記憶されたウェーブレット係数の中から、必要なウェーブレット係数を用いて逆変換処理を行うことになる。この場合であっても、ウェーブレット係数の低周波成分に相当する領域内にある全ての係数を受け取って処理する場合よりも、逆変換処理の演算量を小さくすることができる。
また、図15に示した処理では、図2に示したテクスチャの原画像を構成する複数の画像ブロック20について、画素Aを描画するようにしていたが、これに限定されない。図2に示したテクスチャの原画像を構成する複数の画像ブロック20のうち、いずれか1つの画像ブロック20内にだけ存在する画素Aを描画することも可能である。この場合、ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理は、次のような処理となる。まず、図7に示したステップS201の処理が行われる。その後、ウェーブレット逆変換部14は、画素Aの存在する画像ブロック20を特定する。その後、ウェーブレット逆変換部14は、図15に示した処理を行って、特定した画像ブロック20内のウェーブレット係数の中から画素Aを生成するのに必要なウェーブレット係数のみを受け取る。その後、ウェーブレット逆変換部14は、受け取ったウェーブレット係数を逆変換し、逆変換したウェーブレット係数の低周波成分の一部で表された画像を画素Aとしてポリゴン描画部15に出力する。その後、ポリゴン描画部15は、画素Aをポリゴン画像に描画する。
本発明に係る描画装置は、メインメモリに記憶させるべきデータ量を小さくし、動画像のテクスチャを用いる場合であっても描画装置に接続されたメインメモリの帯域を圧迫することなく、必要となるミップマップレベルのミップマップ画像を生成してポリゴン画像に描画することが可能な描画装置、および当該描画装置を用いた表示装置等に適用される。
本発明に係る描画装置1aを構成する各ユニットを示した図 1フレームに相当するテクスチャの原画像を示す図 ウェーブレット変換処理の流れを示したフローチャート 伸張された1つの画像ブロック20分の原画像を示す図 1次のウェーブレット係数を示す図 4次まで変換されたときのウェーブレット係数を示した図 ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャート ウェーブレット係数の低周波成分の次数と、ミップマップレベルとの対応を示した図 4次のウェーブレット係数から、ミップマップレベル2のミップマップ画像を生成する過程を模式的に示した図 静止画のテクスチャを用いる描画装置1bを構成する各ユニットを示す図 変形例1におけるウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャート ミップマップレベルが2.3となる場合のミップマップ画像を生成する過程を模式的に示した図 画像ブロック20単位のミップマップ画像のうちの特定の画素Aを模式的に示した図 画素Aのみ生成するために必要なウェーブレット係数を模式的に示した図 画素Aのみ生成するために必要なウェーブレット係数を読み出す処理の流れを示したフローチャート 図14および図15に示した処理に関する数値例を示した図 テクスチャの原画像の一例と、スクリーン座標に変換されたポリゴン画像の一例とを示す図 ミップマップ画像の一例を示す図 従来の描画装置5を構成する各ユニットを示す図
符号の説明
1a、1b 描画装置
11 動画デコーダ
12 ウェーブレット変換部
13 ミップマップレベル取得部
14 ウェーブレット逆変換部
15 ポリゴン描画部
16 ビデオコントローラ
17 CPU
18 メモリI/F
19 静止画デコーダ
2 メインメモリ
3 液晶パネル

Claims (5)

  1. テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、
    Harrのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換部と、
    前記ミップマップ画像のミップマップレベルを取得するレベル取得部と、
    前記ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Harrのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、
    前記ウェーブレット逆変換部において出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画部と、を備え、
    前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、前記ミップマップレベルと同じ値の次数となる前記ウェーブレット係数の低周波成分全体に対応するウェーブレット係数のみを受け取り、前記逆変換を行うことによって、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体で表された画像を出力することを特徴とする、描画装置。
  2. テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、
    Harrのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換部と、
    前記ミップマップ画像のミップマップレベルを取得するレベル取得部と、
    前記ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Harrのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、
    前記ウェーブレット逆変換部において出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画部と、を備え、
    前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部に対応するウェーブレット係数のみを受け取り、前記逆変換を行うことによって、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部で表された画像を出力することを特徴とする、描画装置。
  3. 前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、前記ミップマップレベルよりも次数が高いウェーブレット係数の一部のみを受け取ることを特徴とする、請求項に記載の描画装置。
  4. 前記ミップマップレベル取得部において取得されたミップマップレベルは、L(Lは0以上の整数)であり、
    前記ウェーブレット変換部は、(L+M(Mは1以上の整数))次の前記ウェーブレット係数が得られるまで変換しており、
    前記ウェーブレット係数の低周波成分の一部で表された画像は、当該低周波成分全体で表された画像内における所定の座標値で位置が特定されており、
    前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、(L+m(mは1以上M以下の整数))次のウェーブレット係数の高周波成分から、前記所定の座標値を2のm乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを、(L+1)次から(L+M)次まで次数毎に受け取るとともに、(L+M)次のウェーブレット係数の低周波成分から、前記所定の座標値を2のM乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを受け取ることを特徴とする、請求項に記載の描画装置。
  5. テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、
    Harrのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換部と、
    前記ミップマップ画像のミップマップレベルを取得するレベル取得部と、
    前記ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Harrのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、
    前記ウェーブレット逆変換部において出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画部と、を備え、
    前記ウェーブレット逆変換部は、前記ミップマップレベルが整数ではない場合、受け取ったウェーブレット係数を当該ミップマップレベルの整数値と同じ値の次数となるまで逆変換することによって、前記整数値と同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像と、前記逆変換する過程で得られた前記整数値よりも次数が1つだけ高いウェーブレット係数の低周波成分の少なくとも一部で表された画像とを出力することを特徴とする、描画装置。
JP2007210889A 2006-08-28 2007-08-13 描画装置、描画方法、および描画プログラム Expired - Fee Related JP5004717B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007210889A JP5004717B2 (ja) 2006-08-28 2007-08-13 描画装置、描画方法、および描画プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006231169 2006-08-28
JP2006231169 2006-08-28
JP2007210889A JP5004717B2 (ja) 2006-08-28 2007-08-13 描画装置、描画方法、および描画プログラム

Publications (3)

Publication Number Publication Date
JP2008084302A JP2008084302A (ja) 2008-04-10
JP2008084302A5 JP2008084302A5 (ja) 2010-05-06
JP5004717B2 true JP5004717B2 (ja) 2012-08-22

Family

ID=39355043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007210889A Expired - Fee Related JP5004717B2 (ja) 2006-08-28 2007-08-13 描画装置、描画方法、および描画プログラム

Country Status (1)

Country Link
JP (1) JP5004717B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102247565B1 (ko) 2014-09-12 2021-05-03 삼성전자 주식회사 렌더링 방법 및 장치
JP7303340B2 (ja) * 2018-01-09 2023-07-04 株式会社コーエーテクモゲームス プログラム、画像処理方法、及び画像処理装置
JP7039294B2 (ja) * 2018-01-09 2022-03-22 株式会社コーエーテクモゲームス プログラム、画像処理方法、及び画像処理装置
CN117111304A (zh) 2018-11-16 2023-11-24 奇跃公司 用于保持图像清晰度的图像尺寸触发的澄清
CN110120021B (zh) * 2019-05-05 2021-04-09 腾讯科技(深圳)有限公司 图像亮度的调整方法、装置、存储介质及电子装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230555A (ja) * 1993-12-22 1995-08-29 Matsushita Electric Ind Co Ltd ミップマップ画像生成装置および生成方法
JP4093871B2 (ja) * 2003-01-30 2008-06-04 株式会社リコー 画像形成装置、プログラムおよび記憶媒体
JP2005286472A (ja) * 2004-03-29 2005-10-13 Sanyo Electric Co Ltd 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP2008084302A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
Fenney Texture compression using low-frequency signal modulation
KR100609614B1 (ko) 화상데이터전송및화상처리를위한방법및장치
US8395634B2 (en) Method and apparatus for processing information
US7898550B2 (en) System and method for memory bandwidth compressor
CN101123723A (zh) 基于图形处理器的数字视频解码方法
JP5004717B2 (ja) 描画装置、描画方法、および描画プログラム
JP3814637B2 (ja) 画像符号/復号方法及びそのプログラムを記録した記録媒体並びに装置
CN113170140A (zh) 数据阵列的位平面编码
KR20010043394A (ko) 정보 스트림 디코더에서 메모리 자원 이용을 증가시키는방법 및 장치
US5892518A (en) Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
US7768521B2 (en) Image processing apparatus and image processing method
KR20210031296A (ko) 전자 장치 및 그 제어 방법
JP2007249796A (ja) 画像処理装置および画像処理方法、並びにプログラム
JP6186429B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
US7911478B2 (en) Drawing device, drawing method, and drawing program
US20050219252A1 (en) Two-dimensional buffer, texture and frame buffer decompression
KR102250088B1 (ko) 비디오 스트림을 복호화하는 방법 및 장치
Maleki et al. Rate-distortion analysis of directional wavelets
JP3452115B2 (ja) 画像処理装置
US10733764B2 (en) Texture processing method and device
JP2021174404A (ja) データ生成装置、訓練装置及びデータ生成方法
Hollemeersch et al. A new approach to combine texture compression and filtering
JP2004328178A (ja) 画像処理装置
JP6377222B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP2011249954A (ja) 交流成分予測システムおよび交流成分予測プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100317

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100317

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5004717

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees