(57)【要約】【課題】メインメモリに記憶させるべきデータ量を小さくし、動画像のテクスチャを用いる場合であっても描画装置に接続されたメインメモリの帯域を圧迫することなく、必要となるミップマップレベルのミップマップ画像を生成してポリゴン画像に描画することが可能な描画装置を提供する。【解決手段】本発明の描画装置は、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換部と、ミップマップ画像のミップマップレベルを取得するレベル取得部と、ウェーブレット係数の少なくとも一部を受け取り、ミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、ウェーブレット逆変換部で出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画部とを備える。【選択図】図１
2008084302.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、
Ｈａｒｒのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換部と、
前記ミップマップ画像のミップマップレベルを取得するレベル取得部と、
前記ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Ｈａｒｒのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、
前記ウェーブレット逆変換部において出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画部と、を備える、描画装置。
【請求項２】
縦および横の画素数がそれぞれ２のＮ（Ｎは１以上の整数）乗となる画像ブロック単位で分割されて圧縮された前記原画像を受け取り、当該画像ブロック単位で前記原画像を伸張する伸張部をさらに備え、
前記ウェーブレット変換部は、前記伸張部で伸張された原画像を前記画像ブロック単位でウェーブレット係数に変換することを特徴とする、請求項１に記載の描画装置。
【請求項３】
前記ウェーブレット変換部において変換されたウェーブレット係数の次数が前記Ｎと同じ値であることを特徴とする、請求項２に記載の描画装置。
【請求項４】
複数の前記原画像によって構成される動画像を受け取り、当該原画像を１つずつ前記ウェーブレット変換部に出力する動画像出力部をさらに備える、請求項１に記載の描画装置。
【請求項５】
前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、前記ミップマップレベルと同じ値の次数となる前記ウェーブレット係数の低周波成分全体に対応するウェーブレット係数のみを受け取り、前記逆変換を行うことによって、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体で表された画像を出力することを特徴とする、請求項１に記載の描画装置。
【請求項６】
前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部に対応するウェーブレット係数のみを受け取り、前記逆変換を行うことによって、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部で表された画像を出力することを特徴とする、請求項１に記載の描画装置。
【請求項７】
前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、前記ミップマップレベルよりも次数が高いウェーブレット係数の一部のみを受け取ることを特徴とする、請求項６に記載の描画装置。
【請求項８】
前記ミップマップレベル取得部において取得されたミップマップレベルは、Ｌ（Ｌは０以上の整数）であり、
前記ウェーブレット変換部は、（Ｌ＋Ｍ（Ｍは１以上の整数））次の前記ウェーブレット係数が得られるまで変換しており、
前記ウェーブレット係数の低周波成分の一部で表された画像は、当該低周波成分全体で表された画像内における所定の座標値で位置が特定されており、
前記ウェーブレット逆変換部は、前記ウェーブレット変換部において変換されたウェーブレット係数のうち、（Ｌ＋ｍ（ｍは１以上Ｍ以下の整数））次のウェーブレット係数の高周波成分から、前記所定の座標値を２のｍ乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを、（Ｌ＋１）次から（Ｌ＋Ｍ）次まで次数毎に受け取るとともに、（Ｌ＋Ｍ）次のウェーブレット係数の低周波成分から、前記所定の座標値を２のＭ乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを受け取ることを特徴とする、請求項７に記載の描画装置。
【請求項９】
前記ウェーブレット逆変換部は、前記ミップマップレベルが整数ではない場合、受け取ったウェーブレット係数を当該ミップマップレベルの整数値と同じ値の次数となるまで逆変換することによって、前記整数値と同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像と、前記逆変換する過程で得られた前記整数値よりも次数が１つだけ高いウェーブレット係数の低周波成分の少なくとも一部で表された画像とを出力することを特徴とする、請求項１に記載の描画装置。
【請求項１０】
前記ウェーブレット変換部は、変換したウェーブレット係数のうち、高周波成分を圧縮することを特徴とする、請求項１に記載の描画装置。
【請求項１１】
テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画方法であって、
Ｈａｒｒのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換ステップと、
前記ミップマップ画像のミップマップレベルを取得するレベル取得ステップと、
前記ウェーブレット変換ステップにおいて変換されたウェーブレット係数の少なくとも一部を受け取り、Ｈａｒｒのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換ステップと、
前記ウェーブレット逆変換ステップにおいて出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画ステップと、を含む、描画方法。
【請求項１２】
テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置をコンピュータに実現させるための描画プログラムであって、
Ｈａｒｒのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換ステップと、
前記ミップマップ画像のミップマップレベルを取得するレベル取得ステップと、
前記ウェーブレット変換ステップにおいて変換されたウェーブレット係数の少なくとも一部を受け取り、Ｈａｒｒのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換ステップと、
前記ウェーブレット逆変換ステップにおいて出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画ステップとを、前記コンピュータに実現させるための描画プログラム。
【請求項１３】
テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像が描画されたポリゴン画像を表示する表示装置であって、
Ｈａｒｒのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換部と、
前記ウェーブレット変換部において変換されたウェーブレット係数を記憶する記憶部と、
前記ミップマップ画像のミップマップレベルを取得するレベル取得部と、
前記ウェーブレット係数の少なくとも一部を前記記憶部から受け取り、Ｈａｒｒのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、
前記ウェーブレット逆変換部において出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画部と、
前記ポリゴン描画部において描画されたポリゴン画像を表示する表示部と、を備える、表示装置。
【請求項１４】
テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像が描画されたポリゴン画像を表示する表示方法であって、
Ｈａｒｒのウェーブレット変換式を用いて前記原画像をウェーブレット係数に変換するウェーブレット変換ステップと、
前記ウェーブレット変換ステップにおいて変換されたウェーブレット係数を記憶装置に記憶させる記憶ステップと、
前記ミップマップ画像のミップマップレベルを取得するレベル取得ステップと、
前記ウェーブレット係数の少なくとも一部を前記記憶装置から受け取り、Ｈａｒｒのウェーブレット逆変換式を用いて前記ミップマップレベルと同じ値の次数となるまで逆変換して、前記ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換ステップと、
前記ウェーブレット逆変換ステップにおいて出力された画像をミップマップ画像として前記ポリゴン画像に描画するポリゴン描画ステップと、
前記ポリゴン描画ステップにおいて描画されたポリゴン画像を表示する表示ステップと、を含む、表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画装置、描画方法、および描画プログラムに関し、より特定的には、３次元コンピュータグラフィックスにおける表示物体表面のテクスチャ画像であるミップマップ画像をポリゴン画像に描画する描画装置、描画方法、および描画プログラムに関するものである。
【背景技術】
【０００２】
従来、３次元コンピュータグラフィックスの手法のひとつとして、立体を構成するポリゴン画像にテクスチャ画像を描画するテクスチャマッピングという手法が知られている。テクスチャ画像とは、表示物体表面の模様を表した画像である。
【０００３】
３次元コンピュータグラフィックスにおいて、立体は「ポリゴン画像」と呼ばれる平面多角形（一般的に３角形に限定することが多い）の画像の集合によって構成される。ポリゴン画像は、「ワールド座標」と呼ばれる３次元座標系によって定義されている。立体が表示部（例えばＬＣＤモニタなど）で表示される際には、幾何変換処理が施され、当該立体に定義された「ワールド座標」が「スクリーン座標」と呼ばれる２次元座標系に変換される。スクリーン座標とは、表示画面の左上端点の座標を（０、０）とする２次元座標系である。例えば表示部が横１９２０画素、縦１０８０画素の表示デバイスで構成される場合、スクリーン座標の値は（０、０）から（１９１９、１０７９）の間の数値を取り得ることとなる。テクスチャの原画像の一例と、スクリーン座標に変換されたポリゴン画像の一例とを図１７に示す。図１７（ａ）は、スクリーン座標に変換されたポリゴン画像の一例を示す図である。図１７（ｂ）は、テクスチャの原画像の一例を示す図である。図１７（ａ）において、Ａｓ、Ｂｓ、Ｃｓはポリゴン画像の各頂点を示す点である。各頂点のスクリーン座標は、Ａｓ（Ｘａ、Ｙａ）、Ｂｓ（Ｘｂ、Ｙｂ）、Ｃｓ（Ｘｃ、Ｙｃ）となる。なお、図１７（ａ）に示すように、各頂点には、スクリーン座標以外に、後述するテクスチャ座標も示されている。
【０００４】
テクスチャマッピングでは、テクスチャの原画像と、その原画像内の場所を示す２つの数値（テクスチャ座標）とを用いて処理が行われる。図１７（ｂ）において、テクスチャの原画像のサイズが例えば縦横双方とも１０２４画素であった場合、テクスチャ座標の値は（０、０）から（１０２３、１０２３）の間の数値を取り得ることとなる。ここで、ポリゴン画像の頂点Ａｓに対応するテクスチャ座標上の点をＡｔ（Ｕａ、Ｖａ）と、頂点Ｂｓに対応するテクスチャ座標上の点をＢｔ（Ｕｂ、Ｖｂ）と、頂点Ｃｓに対応するテクスチャ座標上の点をＣｔ（Ｕｃ、Ｖｃ）とする。このとき、ＡｔからＡｓへ、ＢｔからＢｓへ、ＣｔからＣｓへの写像によってテクスチャマッピングが行われる。なおこの場合、頂点Ａｓ〜Ｃｓからなるポリゴン画像の形状と、頂点Ａｔ〜Ｃｔからなるテクスチャの原画像内の形状とを比較すると、ポリゴン画像の方が小さい。したがって、テクスチャの原画像は、上述したテクスチャマッピングによって縮小されることとなる。
【０００５】
しかしながら、テクスチャの原画像が縮小して処理される場合、画像縮小処理や音声のダウンサンプル処理と同様の折り返しノイズが発生するという問題があった。そこで、この問題を回避すべく、「ミップマップ画像」を用いる手法が提案されている（例えば、非特許文献１参照）。ミップマップ画像は、図１８に示すように、テクスチャの原画像をミップマップレベル毎に縮小して生成された画像である。図１８は、ミップマップ画像の一例を示す図である。図１８（ａ）は、テクスチャの原画像の一例を示す図である。図１８（ｂ）は、ミップマップレベル１のミップマップ画像を示す図である。図１８（ｃ）は、ミップマップレベル２のミップマップ画像を示す図である。図１８（ｄ）は、ミップマップレベル３のミップマップ画像を示す図である。図１８（ｅ）は、ミップマップレベル４のミップマップ画像を示す図である。図１８（ａ）〜（ｅ）に示す枠内の数値は、輝度の値を示している。ミップマップレベル１のミップマップ画像は、テクスチャの原画像に対して縦および横方向にそれぞれ１／２だけ縮小された画像である。ミップマップレベル２〜４のミップマップ画像も同様に、１つ前のレベルの画像に対して縦および横方向にそれぞれ１／２だけ縮小された画像となる。
【０００６】
以下、ミップマップ画像の生成方法について具体的に説明する。ミップマップレベル１のミップマップ画像を生成する場合、テクスチャの原画像の近傍４画素が有する輝度の平均をとる。図１８（ａ）に示す原画像において（Ｕ０、Ｖ０）の輝度３２と、（Ｕ０、Ｖ１）の輝度４０と、（Ｕ１、Ｖ０）の輝度３２と、（Ｕ１、Ｖ１）の輝度４０とを平均すると、輝度は３６となる。この輝度３６が、図１８（ｂ）に示すミップマップレベル１のミップマップ画像における（Ｕ０、Ｖ０）の輝度の値となる。同様に、原画像における（Ｕ２、Ｖ０）、（Ｕ２、Ｖ１）、（Ｕ３、Ｖ０）、および（Ｕ３、Ｖ１）の輝度の平均をとった値が、ミップマップレベル１のミップマップ画像における（Ｕ１、Ｖ０）の輝度の値となる。このようにして、１つ前のミップマップレベルのミップマップ画像の近傍４画素が有する輝度の平均をとることで、各ミップマップレベルのミップマップ画像が生成される。また、近傍４画素の平均をとってミップマップ画像を生成することで、低域通過フィルタを作用させることができ、上述した折り返しノイズを発生させないようにすることができる。
【０００７】
以下、図１９を参照して、上述したミップマップ画像を用いる手法を実現する従来の描画装置５について説明する。図１９は、従来の描画装置５を構成する各ユニットを示す図である。描画装置５を構成する各ユニットは、内部バスを介してそれぞれ接続されている。各ユニットは、メモリＩ／Ｆ（メモリインターフェイス）５７を経由してメインメモリ６にデータを書き込んだり、読み出したりすることによって処理を行っている。
【０００８】
ミップマップ生成部５１は、静止画像であるテクスチャの原画像が記憶された記憶媒体（例えば、ＣＤ−ＲＯＭなど）から、ＣＤ−ＲＯＭドライブ（図示なし）などを用いて原画像を読み出す。ミップマップ生成部５１は、上述した生成方法によって、読み出した原画像からミップマップレベルが１以上のミップマップ画像を生成する。生成された各ミップマップレベルのミップマップ画像は、メインメモリ６に書き込まれる。ポリゴン幾何変換部５３は、ポリゴン画像に定義されたワールド座標をスクリーン座標に変換する。またポリゴン幾何変換部５３は、ポリゴン画像上の点のスクリーン座標と、その点に対応する原画像上の点のテクスチャ座標とを比較して、原画像の縮小率を算出する。ポリゴン幾何変換部５３は、算出した縮小率から、必要となるミップマップレベルを取得する。テクスチャ参照部５２は、取得されたミップマップレベルとなるミップマップ画像をメインメモリ６から読み出し、ポリゴン描画部５４に出力する。ポリゴン描画部５４は、テクスチャ参照部５２から出力されたミップマップ画像をポリゴン画像に描画する。ミップマップ画像が描画されたポリゴン画像は、メインメモリ６に書き込まれる。液晶パネル７は、ビデオコントローラ５５に制御されて、ミップマップ画像が描画されたポリゴン画像を表示する。ＣＰＵ５６は上記各ユニットの処理を全体的に制御する。
【０００９】
このように、従来の描画装置５は、多種類のミップマップ画像を生成して、描画装置５に接続されたメインメモリ６に記憶させ、必要となるミップマップ画像をメインメモリ６から読み出してポリゴン画像に描画している。
【非特許文献１】メイソン・ウー（Mason Woo）、外２名著、「ザ・オフィシャル・ガイド・トゥ・ラーニング・オープンジーエル、バージョン１．１（The Official Guide to Learning Opengl, Version 1.1）」、米国、アジソン・ウェスレイ（Addison-Wesley）、１９９７、ｐ．３３９
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の描画装置５では、テクスチャマッピングを行うに際し、多種類のミップマップ画像を、描画装置５に接続されたメインメモリ６に記憶させる必要がある。また、多種類のミップマップ画像のデータ量は大量である。このため、大きな記憶容量を有するメインメモリ６が必要になるという課題があった。さらに、動画像のテクスチャ画像を用いる場合には、多種類のミップマップ画像をフレーム毎に生成してメインメモリ６に記憶させる必要がある。このため、動画像のテクスチャ画像を用いる場合には、メインメモリ６の帯域を圧迫してしまうという課題があった。
【００１１】
それ故、本発明は、メインメモリに記憶させるべきデータ量を小さくし、動画像のテクスチャを用いる場合であっても描画装置に接続されたメインメモリの帯域を圧迫することなく、必要となるミップマップレベルのミップマップ画像を生成してポリゴン画像に描画することが可能な描画装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置であって、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換部と、ミップマップ画像のミップマップレベルを取得するレベル取得部と、ウェーブレット変換部において変換されたウェーブレット係数の少なくとも一部を受け取り、Ｈａｒｒのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、ウェーブレット逆変換部において出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画部と、を備える。
【００１３】
第２の発明は、上記第１の発明において、縦および横の画素数がそれぞれ２のＮ（Ｎは１以上の整数）乗となる画像ブロック単位で分割されて圧縮された原画像を受け取り、当該画像ブロック単位で原画像を伸張する伸張部をさらに備え、ウェーブレット変換部は、伸張部で伸張された原画像を画像ブロック単位でウェーブレット係数に変換することを特徴とする。なお、伸張部は、例えば、後述する実施形態に記載した動画デコーダ１１や静止画デコーダ１９での伸張処理を担う処理部に相当する。
【００１４】
第３の発明は、上記第２の発明において、ウェーブレット変換部において変換されたウェーブレット係数の次数がＮと同じ値であることを特徴とする。
【００１５】
第４の発明は、上記第１の発明において、複数の原画像によって構成される動画像を受け取り、当該原画像を１つずつウェーブレット変換部に出力する動画像出力部をさらに備える。なお、動画像出力部は、例えば、後述する実施形態に記載した動画デコーダ１１での出力処理を担う処理部に相当する。
【００１６】
第５の発明は、上記第１の発明において、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体に対応するウェーブレット係数のみを受け取り、逆変換を行うことによって、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体で表された画像を出力することを特徴とする。
【００１７】
第６の発明は、上記第１の発明において、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部に対応するウェーブレット係数のみを受け取り、逆変換を行うことによって、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の一部で表された画像を出力することを特徴とする。
【００１８】
第７の発明は、上記第６の発明において、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、ミップマップレベルよりも次数が高いウェーブレット係数の一部のみを受け取ることを特徴とする。
【００１９】
第８の発明は、上記第７の発明において、ミップマップレベル取得部において取得されたミップマップレベルは、Ｌ（Ｌは０以上の整数）であり、ウェーブレット変換部は、（Ｌ＋Ｍ（Ｍは１以上の整数））次のウェーブレット係数が得られるまで変換しており、ウェーブレット係数の低周波成分の一部で表された画像は、当該低周波成分全体で表された画像内における所定の座標値で位置が特定されており、ウェーブレット逆変換部は、ウェーブレット変換部において変換されたウェーブレット係数のうち、（Ｌ＋ｍ（ｍは１以上Ｍ以下の整数））次のウェーブレット係数の高周波成分から、所定の座標値を２のｍ乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを、（Ｌ＋１）次から（Ｌ＋Ｍ）次まで次数毎に受け取るとともに、（Ｌ＋Ｍ）次のウェーブレット係数の低周波成分から、所定の座標値を２のＭ乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを受け取ることを特徴とする。
【００２０】
第９の発明は、上記第１の発明において、ウェーブレット逆変換部は、ミップマップレベルが整数ではない場合、受け取ったウェーブレット係数を当該ミップマップレベルの整数値と同じ値の次数となるまで逆変換することによって、整数値と同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像と、逆変換する過程で得られた整数値よりも次数が１つだけ高いウェーブレット係数の低周波成分の少なくとも一部で表された画像とを出力することを特徴とする。
【００２１】
第１０の発明は、上記第１の発明において、ウェーブレット変換部は、変換したウェーブレット係数のうち、高周波成分を圧縮することを特徴とする。
【００２２】
第１１の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画方法であって、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換ステップと、ミップマップ画像のミップマップレベルを取得するレベル取得ステップと、ウェーブレット変換ステップにおいて変換されたウェーブレット係数の少なくとも一部を受け取り、Ｈａｒｒのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換ステップと、ウェーブレット逆変換ステップにおいて出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画ステップと、を含む。
【００２３】
第１２の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像をポリゴン画像に描画する描画装置をコンピュータに実現させるための描画プログラムであって、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換ステップと、ミップマップ画像のミップマップレベルを取得するレベル取得ステップと、ウェーブレット変換ステップにおいて変換されたウェーブレット係数の少なくとも一部を受け取り、Ｈａｒｒのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換ステップと、ウェーブレット逆変換ステップにおいて出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画ステップとを、コンピュータに実現させるための描画プログラムである。
【００２４】
第１３の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像が描画されたポリゴン画像を表示する表示装置であって、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換部と、ウェーブレット変換部において変換されたウェーブレット係数を記憶する記憶部と、ミップマップ画像のミップマップレベルを取得するレベル取得部と、ウェーブレット係数の少なくとも一部を記憶部から受け取り、Ｈａｒｒのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換部と、ウェーブレット逆変換部において出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画部と、ポリゴン描画部において描画されたポリゴン画像を表示する表示部と、を備える。
【００２５】
第１４の発明は、テクスチャの原画像を受け取り、当該原画像を縮小して生成されるミップマップ画像が描画されたポリゴン画像を表示する表示方法であって、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換するウェーブレット変換ステップと、ウェーブレット変換ステップにおいて変換されたウェーブレット係数を記憶装置に記憶させる記憶ステップと、ミップマップ画像のミップマップレベルを取得するレベル取得ステップと、ウェーブレット係数の少なくとも一部を記憶装置から受け取り、Ｈａｒｒのウェーブレット逆変換式を用いてミップマップレベルと同じ値の次数となるまで逆変換して、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分の少なくとも一部で表された画像を出力するウェーブレット逆変換ステップと、ウェーブレット逆変換ステップにおいて出力された画像をミップマップ画像としてポリゴン画像に描画するポリゴン描画ステップと、ポリゴン描画ステップにおいて描画されたポリゴン画像を表示する表示ステップと、を含む。
【発明の効果】
【００２６】
上記第１の発明によれば、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換し、当該ウェーブレット係数を逆変換することで必要となるミップマップレベルのミップマップ画像を生成することができる。これにより、記憶させるべきデータをウェーブレット係数のみにすることができ、多種類のミップマップ画像を大量に記憶させることなく、必要となるミップマップレベルのミップマップ画像を生成することができる。また、記憶させるべきデータをウェーブレット係数のみにすることができるため、描画装置に接続されるべき記憶装置が必要とする記憶容量を小さくすることができる。また、テクスチャが動画像であっても、フレーム毎に生成される多種類のミップマップ画像を上記記憶装置に記憶させる必要がないため、記憶装置の帯域の圧迫を防ぐことができる。
【００２７】
上記第２の発明によれば、例えばＭＰＥＧやＪＰＥＧなどによって画像ブロック単位で分割されて圧縮された原画像に対し、当該原画像を伸張する処理単位と、ウェーブレット係数に変換する処理単位とを一致させることができる。これにより、処理効率を向上させることができ、ミップマップ画像をより高速に生成することができる。
【００２８】
上記第３の発明によれば、画像ブロックの画素数に応じた種類のミップマップ画像を生成することができる。
【００２９】
上記第４の発明によれば、描画装置に接続されるべき記憶装置の帯域を圧迫することなく、動画像のテクスチャを用いた描画処理が可能となる。
【００３０】
上記第５の発明によれば、ウェーブレット逆変換部が受け取るデータ量がさらに小さくなり、描画装置に接続されるべき記憶装置の帯域の圧迫をさらに抑えることができる。また、ウェーブレット逆変換部が受け取るデータ量が小さくなる分だけ、ミップマップ画像を生成するための演算量を小さくすることができる。
【００３１】
上記第６〜８の発明によれば、ウェーブレット逆変換部が受け取るデータ量がさらに小さくなり、描画装置に接続されるべき記憶装置の帯域の圧迫をさらに抑えることができる。また、ウェーブレット逆変換部が受け取るデータ量が小さくなる分だけ、ミップマップ画像を生成するための演算量を小さくすることができる。
【００３２】
上記第９の発明によれば、次数が異なる複数のウェーブレット係数の低周波成分、つまりミップマップレベルの異なる複数のミップマップ画像が、逆変換する過程で自動的に得られる。このため、上記第９の発明よれば、複数のミップマップ画像それぞれを一から生成する場合と比べて、複数のミップマップ画像をより高速に生成することができる。
【００３３】
上記第１０の発明によれば、記憶させるべきデータ量をさらに小さくすることができる。その結果、描画装置に接続されるべき記憶装置が必要とする記憶容量をさらに小さくすることができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施形態について、図面を参照しながら説明する。
【００３５】
図１は、本発明に係る描画装置１ａを構成する各ユニットを示した図である。図１において、描画装置１ａは、動画デコーダ１１、ウェーブレット変換部１２、ミップマップレベル取得部１３、ウェーブレット逆変換部１４、ポリゴン描画部１５、ビデオコントローラ１６、ＣＰＵ１７、およびメモリＩ／Ｆ（メモリインターフェイス）１８を備える。描画装置１ａは、メインメモリ２および液晶パネル３とそれぞれ接続されている。描画装置１ａは、１チップのシステムＬＳＩで構成される。メインメモリ２は、半導体メモリやハードディスクドライブなどで構成された記憶装置である。なお、本発明に係る表示装置は、描画装置１ａ、メインメモリ２、および液晶パネル３により構成されるものである。また、図１では、液晶パネル３を示したが、ポリゴン画像を表示することが可能なものであればよく、例えばＰＤＰパネルであってもよい。また、以下の説明では、テクスチャとして動画像を用いた場合について説明する。
【００３６】
描画装置１ａを構成する各ユニットは、内部バスを介してそれぞれ接続されている。各ユニットは、メモリＩ／Ｆ１８を経由してメインメモリ２にデータを書き込んだり、読み出したりすることによって処理を行っている。
【００３７】
動画デコーダ１１は、ＭＰＥＧなどで圧縮されたテクスチャの動画像データが記憶された記憶媒体（例えば、ＣＤ−ＲＯＭなど）から、動画像データをＣＤ−ＲＯＭドライブ（図示なし）などを用いて読み出す。動画デコーダ１１は、読み出した動画像データを伸張して、ウェーブレット変換部１２に出力する。
【００３８】
動画像データは、静止画像であるテクスチャの原画像１つを１フレームとし、当該フレームを複数集合させて構成されるデータである。図２に、１フレームに相当するテクスチャの原画像を示す。図２では、一例として、縦１０８８画素、横１９２０画素を有するテクスチャの原画像が示されている。
【００３９】
ここで、ＭＰＥＧに代表される圧縮された動画像データの伸張処理は、一般的に横および縦の画素数がそれぞれ２のＮ乗（Ｎは１以上の整数）となる画像ブロック２０（ＭＰＥＧではマクロブロックと称す）単位で行われることが多い。より一般的には、画像ブロック２０が有する総画素数は、８画素から２５６画素程度である。したがってここでは、画像ブロック２０に分割されて圧縮された原画像で構成される動画像データが、記憶媒体などに予め記憶されているとする。また図２では、一例として画像ブロック２０の縦および横の画素数をそれぞれ１６画素としている。動画デコーダ１１は、画像ブロック２０単位で原画像を記憶媒体から読み出し、読み出した原画像を伸張するとする。このように、画像ブロック２０単位で処理を行うことで、動画デコード１１の伸張処理単位と、後述するウェーブレット変換部１２の変換処理単位とが一致することとなる。その結果、処理効率が向上し、ミップマップ画像を高速に生成することができる。
【００４０】
ウェーブレット変換部１２は、Ｈａｒｒのウェーブレット変換式を用いて、画像ブロック２０分の原画像をウェーブレット係数に変換する。変換されたウェーブレット係数は、メインメモリ２に書き込まれる。なお、変換されたウェーブレット係数や、ウェーブレット変換部１２における変換処理については、後述にて詳細に説明する。
【００４１】
ミップマップレベル取得部１３は、記憶媒体（例えば、ＣＤ−ＲＯＭなど）に記憶されたポリゴン画像のデータを、ＣＤ−ＲＯＭドライブ（図示なし）などを用いて読み出す。ミップマップレベル取得部１３は、ポリゴン画像に定義されたワールド座標をスクリーン座標に変換する。またミップマップレベル取得部１３は、ポリゴン画像上の点のスクリーン座標と、その点に対応する図２に示す原画像上の点のテクスチャ座標とを比較して、図２に示す１フレーム分の原画像の縮小率を算出する。ここで縮小率とは、テクスチャの原画像に対して、縦および横方向にどれだけ縮小されたかを示す比率である。例えば、縦および横方向にそれぞれ１／２だけ縮小する場合、縮小率は１／２となる。なお、縮小率の算出方法については、公知の方法を用いるとし、ここでは詳細な説明を省略する。ミップマップレベル取得部１３は、算出した縮小率から、必要となるミップマップレベルを取得する。
【００４２】
以下、ミップマップレベルの取得方法について具体的に説明する。ミップマップレベル１のミップマップ画像は、上述したようにテクスチャの原画像に対して縦および横方向にそれぞれ１／２だけ縮小された画像である。ミップマップレベル２のミップマップ画像は、テクスチャの原画像に対して縦および横方向にそれぞれ１／４だけ縮小された画像である。したがって、ミップマップレベル取得部１３において算出した縮小率が１／４に近い場合、ミップマップレベル取得部１３は、ミップマップレベル２のミップマップレベルを取得する。
【００４３】
なお、より一般的には、算出される縮小率が１／Ｐ（Ｐは１以上の整数）の場合、ミップマップレベル取得部１３で取得すべきミップマップレベルは、ｌｏｇ2Ｐ（２を底とする対数）で求めることができる。ｌｏｇ2Ｐの値が整数にならない場合、四捨五入した整数値をミップマップレベルとしてもよい。また、ｌｏｇ2Ｐの値が整数にならない場合に、そのｌｏｇ2Ｐの値を挟む２つのミップマップレベルをそれぞれ取得し、これらのレベルのミップマップ画像を混ぜ合わせるようにしてもよい。混ぜ合わせる比率としては、例えばｌｏｇ2Ｐの値が２．３となる場合、ミップマップレベル２のミップマップ画像とミップマップレベル３のミップマップ画像とを７：３の比率で混ぜ合わせる。またミップマップレベル取得部１３は、ｌｏｇ2Ｐに特定の値を加減算するようにして、ミップマップレベルを取得するようにしてもよい。
【００４４】
なお、ミップマップレベル取得部１３は、算出した縮小率からミップマップレベルを取得するとしたが、これに限定されない。ユーザが表示シーンの構成に応じて直接ミップマップレベルを指定し、ミップマップレベル取得部１３は、ユーザによって指定されたミップマップレベルを取得するようにしてもよい。
【００４５】
ウェーブレット逆変換部１４は、ウェーブレット変換部１２において変換されたウェーブレット係数をメインメモリ２から読み出す。ウェーブレット逆変換部１４は、Ｈａｒｒのウェーブレット逆変換式を用いて、ミップマップレベルと同じ値の次数となるまで、読み出したウェーブレット係数を逆変換する。ウェーブレット逆変換部１４は、逆変換して求めたウェーブレット係数の低周波成分で表された画像をポリゴン描画部１５に出力する。ウェーブレット逆変換部１４におけるウェーブレット逆変換処理については、後述にて詳細に説明する。
【００４６】
ポリゴン描画部１５は、ウェーブレット逆変換部１４から出力された画像をミップマップ画像としてポリゴン画像に描画する。具体的には、ポリゴン描画部１５は、ポリゴン画像内の画素の輝度をその画素に対応するミップマップ画像上の画素の輝度としてポリゴン画像内全てについて求める。内部すべての画素の輝度が求められたポリゴン画像は、メインメモリ２に書き込まれる。
【００４７】
液晶パネル３は、ビデオコントローラ１６に制御されて、ミップマップ画像が描画されたポリゴン画像を表示する。ＣＰＵ１７は、上記各ユニットの処理を全体的に制御する。
【００４８】
次に、図３を参照して、ウェーブレット変換部１２におけるウェーブレット変換処理について詳細に説明する。図３は、ウェーブレット変換処理の流れを示したフローチャートである。
【００４９】
ステップＳ１０１において、動画デコーダ１１は、圧縮された原画像を画像ブロック２０分だけ記憶媒体から読み出す。ステップＳ１０１の次に、動画デコーダ１１は、読み出した原画像を伸張する（ステップＳ１０２）。図４に、伸張された１つの画像ブロック２０分の原画像を示す。各枠は画素を表し、各枠内の数値は輝度を表している。なお、ＭＰＥＧなどの動画像データに対応した動画デコーダ１１は、一般的に、Ｒ、Ｇ、ＢまたはＹ、Ｕ、Ｖの３種類の輝度を画素ごとに出力する。しかしながら、ここでは説明を簡単にするために、図４では１種類の輝度のみを表している。
【００５０】
ステップＳ１０２の次に、ウェーブレット変換部１２は、Ｈａｒｒのウェーブレット変換式を用いて、画像ブロック２０分の原画像をウェーブレット係数に変換する（ステップＳ１０３）。本発明に用いるＨａｒｒのウェーブレット変換式を式（１）〜（４）に示す。
ａ＝（Ａ＋Ｂ＋Ｃ＋Ｄ）／４      …（１）
ｂ＝（Ａ−Ｂ＋Ｃ−Ｄ）／４      …（２）
ｃ＝（Ａ＋Ｂ−Ｃ−Ｄ）／４      …（３）
ｄ＝（Ａ−Ｂ−Ｃ＋Ｄ）／４      …（４）
上式（１）〜（４）において、ａをウェーブレット係数の低周波成分、ｂ、ｃ、ｄをウェーブレット係数の高周波成分と称す。また、Ａ、Ｂ、Ｃ、Ｄは、近傍４画素の輝度を示す。
【００５１】
以下、一例として図４の左上端にある４画素をウェーブレット変換する場合について考える。左上端にある４画素のうち、（Ｕ０、Ｖ０）の輝度がＡ、（Ｕ１、Ｖ０）の輝度がＢ、（Ｕ０、Ｖ１）の輝度がＣ、（Ｕ１、Ｖ１）の輝度がＤとなる。これらＡ〜Ｄが示す輝度は、Ａ＝３２、Ｂ＝３２、Ｃ＝４０、Ｄ＝４０である。またこれらＡ〜Ｄの輝度を式（１）〜式（４）に代入すると、ａ＝３６、ｂ＝０、ｃ＝−４、ｄ＝０となる。
【００５２】
得られたａ〜ｄの値は、図５に示す位置に配置される。図５は、１次のウェーブレット係数を示す図である。図５に示すように、ａは（Ｕ０、Ｖ０）に、ｂは（Ｕ８、Ｖ０）に、ｃは（Ｕ０、Ｖ８）に、ｄは（Ｕ８、Ｖ８）にそれぞれ配置される。このような処理を画像ブロック２０全ての画素について、図４の左上端から４画素ずつ処理していくことで、最終的に図５に示したウェーブレット係数が得られる。以上の処理が１次のウェーブレット変換処理となり、図５に示したウェーブレット係数が１次のウェーブレット係数となる。なお、１次のウェーブレット係数は、図５に示すように、低周波成分であるａ、高周波成分であるｂ、ｃ、ｄの領域に区分されることとなる。
【００５３】
次に、ウェーブレット変換部１２は、１次のウェーブレット係数の低周波成分ａに対して、式（１）〜式（４）を用いて１次と同様のウェーブレット変換処理を行う。この処理によって算出されたウェーブレット係数が２次のウェーブレット係数となる。このように２次以降は、低周波成分に対してウェーブレット変換処理を行っていく。図６は、４次まで変換されたときのウェーブレット係数を示した図である。図６の３１は、１次のウェーブレット係数の高周波成分を示す。図６の３２は、２次のウェーブレット係数の高周波成分を示す。図６の３３は、３次のウェーブレット係数の高周波成分を示す。図６の３４は、４次のウェーブレット係数の高周波成分を示す。図６の３５は、４次のウェーブレット係数の低周波成分を示す。なお、４次のウェーブレット係数の低周波成分３５は、１つの画素しか有しない。したがって、縦および横の画素数がそれぞれ１６画素となる画像ブロック２０にあっては、４次より高次のウェーブレット変換処理を行うことはできない。
【００５４】
ここで、ウェーブレット変換処理は、必ずしも変換処理ができなくなる次数まで行う必要はない。しかしながら、変換処理ができなくなる次数まで変換処理を行うことで、最終的に、画像ブロック２０の画素数に応じたより多くの種類のミップマップ画像を生成することができる。ここで、横および縦の画素数がそれぞれ２のＮ乗となる画像ブロック２０に対して、変換処理ができなくなる次数はＮとなる。したがって、ウェーブレット変換部１２においてＮ次のウェーブレット係数が得られるまで変換処理を行うようにすれば、異なる画素数の画像ブロック２０単位で処理が行われても、当該画像ブロック２０の画素数に応じたより多くの種類のミップマップ画像を生成することができる。
【００５５】
ステップＳ１０３の次に、ウェーブレット変換部１２は、図６に示すウェーブレット係数をメインメモリ２に書き込む（ステップＳ１０４）。ウェーブレット変換部１２は、図２で示したテクスチャの原画像のうち、最後の画像ブロック２０まで処理したか否かを判断する（ステップＳ１０５）。最後の画像ブロック２０まで処理していないと判断された場合、次の画像ブロック２０についてステップＳ１０１の処理が行われる。最後の画像ブロック２０まで処理したと判断された場合、処理はステップＳ１０６へ進む。ステップＳ１０６においてウェーブレット変換部１２は、最後のフレームまで処理したか否かを判断する。最後のフレームまで処理していないと判断された場合、次のフレームについてステップＳ１０１の処理が行われる。最後のフレームまで処理したと判断された場合、ウェーブレット変換部１２における処理は終了する。
【００５６】
なお、図３に示した処理では、１種類の輝度のみを対象として説明した。しかし、Ｒ、Ｇ、ＢまたはＹ、Ｕ、Ｖの３種類の輝度がある場合は、上述したステップＳ１０１〜Ｓ１０４の処理を３回繰り返す。つまり、輝度の種類数だけ、上述したステップＳ１０１〜Ｓ１０４の処理を繰り返せばよい。
【００５７】
また、図３に示した処理手順は一例であって、実際のシステムＬＳＩでは、ステップＳ１０２とステップ１０３の処理が同時に動作するように実装することも可能である。つまり、ウェーブレット変換部１２がウェーブレット変換している間に、動画デコーダ１１がひとつ先の画像ブロック２０を伸張することも可能である。また、動画デコーダ１１とウェーブレット変換部１２との間にＦＩＦＯメモリ（図示なし）をさらに設け、数個または数十個の画像ブロック２０をバッファリングすることも可能である。この場合、動画デコーダ１１は、数個から数十個先の画像ブロック２０まで先行して伸張する。
【００５８】
次に、図７を参照して、ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理について詳細に説明する。図７は、ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャートである。
【００５９】
ステップＳ２０１において、ミップマップレベル取得部１３は、ポリゴン画像上の点のスクリーン座標と、その点に対応する図２に示す原画像上の点のテクスチャ座標とを比較して、図２に示す１フレーム分の原画像の縮小率を算出する。そして、ミップマップレベル取得部１３は、算出した縮小率から、必要となるミップマップレベルを取得する。
【００６０】
ステップＳ２０１の次に、ウェーブレット逆変換部１４は、メインメモリ２に記憶された画像ブロック２０分のウェーブレット係数のうち、ミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体に対応する係数のみを読み出す（ステップＳ２０２）。そしてウェーブレット逆変換部１４は、Ｈａｒｒのウェーブレット逆変換式を用いて、ミップマップレベルと同じ値の次数となるまで、読み出したウェーブレット係数を逆変換する（ステップＳ２０３）。
【００６１】
以下、ステップＳ２０２およびＳ２０３の処理について詳細に説明する。上述したように、ミップマップ画像は、近傍４画素の平均をとって生成されるのが一般的である。これに対し、ウェーブレット係数の低周波成分も式（１）に示したように、近傍４画素の平均をとって求められる。つまり、ウェーブレット係数の低周波成分を求める式（１）と、ミップマップ画像を生成する式とが同じ式となる。これにより、図５に示す１次のウェーブレット係数の低周波成分ａで表現される画像の輝度と、図１８（ｂ）に示すミップマップレベル１のミップマップ画像の輝度とは一致する。その結果、ウェーブレット係数の低周波成分で表現される画像は、従来と同じ低域通過フィルタが作用したミップマップ画像となる。
【００６２】
図８は、ウェーブレット係数の低周波成分の次数と、ミップマップレベルとの対応を示した図である。図８に示すように、４次のウェーブレット係数の低周波成分で表現される画像とミップマップレベル４のミップマップ画像とが同じ画像となる。３次のウェーブレット係数の低周波成分で表現される画像とミップマップレベル３のミップマップ画像とが同じ画像となる。また２次のウェーブレット係数の低周波成分で表現される画像とミップマップレベル２のミップマップ画像とが同じ画像となる。また１次のウェーブット係数の低周波成分で表現される画像とミップマップレベル１のミップマップ画像とが同じ画像となる。この対応を利用すれば、４次のウェーブレット係数から任意のミップマップレベルのミップマップ画像を簡単に生成することが可能となる。
【００６３】
ここで、ステップＳ２０１で取得されたミップマップレベルが２であるとする。このとき、ウェーブレット逆変換部１４は、２次のウェーブレット係数の低周波成分で表現される画像が生成されるまで、逆変換処理を行う。ここで、ミップマップレベル２のミップマップ画像は、図９に示すように、縦４画素、横４画素とする計１６画素を有する。図９は、４次のウェーブレット係数から、ミップマップレベル２のミップマップ画像を生成する過程を模式的に示した図である。したがって、２次のウェーブレット係数の低周波成分で表現される画像を生成するためには、ステップＳ２０２においてウェーブレット逆変換部１４が、メインメモリ２に記憶されるウェーブレット係数のうち、４次のウェーブレット係数を含む左上端の１６個の係数のみ読み出せばよい。つまり、ステップＳ２０２において、ウェーブレット逆変換部１４は、ステップＳ２０１において取得されたミップマップレベルと同じ値の次数となるウェーブレット係数の低周波成分全体に対応する係数のみをメインメモリ２から読み出せばよいこととなる。換言すれば、ウェーブレット逆変換部１４は、ステップＳ２０１において取得されたミップマップレベルのミップマップ画像に相当する領域内にあるウェーブレット係数のみを、メインメモリ２から読み出せばよいこととなる。これにより、ウェーブレット逆変換部１４がメインメモリ２から受け取るデータ量をさらに小さくすることができる。その結果、メインメモリ２の帯域の圧迫をさらに抑えることができる。
【００６４】
ここで、本発明に用いるＨａｒｒのウェーブレット逆変換式を式（５）〜（８）に示す。式（５）〜式（８）は、式（１）〜式（４）の逆変換式となる。
Ａ＝ａ＋ｂ＋ｃ＋ｄ      …（５）
Ｂ＝ａ−ｂ＋ｃ−ｄ      …（６）
Ｃ＝ａ＋ｂ−ｃ−ｄ      …（７）
Ｄ＝ａ−ｂ−ｃ＋ｄ      …（８）
【００６５】
図９に示す４次のウェーブレット係数は、ａ＝（Ｕ０，Ｖ０）＝９７、ｂ＝（Ｕ１，Ｖ０）＝−１０、ｃ＝（Ｕ０，Ｖ１）＝−１０、ｄ＝（Ｕ１，Ｖ１）＝２となる。これらａ〜ｄの輝度を上式（５）〜式（８）に代入することによって、Ａ〜Ｄの輝度が得られる。得られたＡ〜Ｄの輝度は、図９に示すように、３次のウェーブレット係数の低周波成分となる。同様に、上式（５）〜式（８）を用いることで、図９に示す３次のウェーブレット係数から、２次のウェーブレット係数の低周波成分が得られる。そして、図９に示すように、２次のウェーブレット係数の低周波成分で表現された画像は、ミップマップレベル２のミップマップ画像を一致することが分かる。
【００６６】
ステップＳ２０３の次に、ポリゴン描画部１５は、ウェーブレット逆変換部１４から出力された画像をミップマップ画像としてポリゴン画像に描画する（ステップＳ２０４）。ステップＳ２０４の次に、ポリゴン描画部１５は、図２で示したテクスチャの原画像のうち、最後の画像ブロック２０まで描画する処理を行ったか否かを判断する（ステップＳ２０５）。最後の画像ブロック２０まで描画する処理を行っていないと判断された場合、次の画像ブロック２０についてステップＳ２０２の処理が行われる。最後の画像ブロック２０まで描画する処理を行ったと判断された場合、処理はステップＳ２０６へ進む。ステップＳ２０６においてポリゴン描画部１５は、最後のフレームまで処理が行われたか否かを判断する。最後のフレームまで処理が行われていないと判断された場合、次のフレームについてステップＳ２０１の処理が行われる。最後のフレームまで処理が行われたと判断された場合、処理は終了する。
【００６７】
以上のように、本発明に係る描画装置１ａによれば、Ｈａｒｒのウェーブレット変換式を用いて原画像をウェーブレット係数に変換し、当該ウェーブレット係数を逆変換することで必要となるミップマップレベルのミップマップ画像を生成することができる。これにより、メインメモリ２に記憶させるべきデータをウェーブレット係数のみにすることができ、多種類のミップマップ画像を大量に記憶させることなく、必要となるミップマップレベルのミップマップ画像を生成することができる。また、メインメモリ２に記憶させるべきデータをウェーブレット係数のみにすることができるため、描画装置１ａに接続されたメインメモリ２が必要とする記憶容量を小さくさせることができる。
【００６８】
また本発明に係る描画装置１ａによれば、テクスチャが動画像であっても、フレーム毎に生成される多種類のミップマップ画像をメインメモリ２に記憶させる必要がないため、メインメモリ２の帯域の圧迫を防ぐことができる。
【００６９】
また、従来において、離散コサイン変換（ＤＣＴ）を用いて多数のミップマップ画像を用意する代わりにＤＣＴ係数だけをメインメモリ上に保持する技術が提案されている。しかしながら、この従来技術では、テクスチャを参照するごとにＤＣＴ係数を保持するための逆ＤＣＴ処理が必要になる。これにより、回路規模が増大するという問題がある。さらに、従来のミップマップ画像を用いる手法とは異なる低域通過フィルタを用いているため、描画結果に関して従来のミップマップ画像を用いる手法と比べて画質が劣化するという問題もある。さらに、逆ＤＣＴ処理は、処理負担が大きい。その結果、描画装置の処理性能を向上させるのが難しいという問題もある。
【００７０】
これに対し、本発明に係る描画装置１ａによれば、ＤＣＴおよび逆ＤＣＴ処理よりも処理負担が軽いウェーブレット変換および逆変換を採用している。これにより、回路規模を小さくすることができる。また、処理負担が軽いので、描画装置の処理性能も従来と比べて向上させることができる。また、Ｈａｒｒのウェーブレット変換式を用いて変換する場合、従来のミップマップ画像を用いる手法と同じ低域通過フィルタを作用させることができる。これにより、従来のミップマップ画像を用いる手法と同一の画質を確保することができる。
【００７１】
なお、上述では、ウェーブレット変換部１２は、変換したウェーブレット係数をメインメモリ２に記憶するとした。ここで、ウェーブレット係数の高周波成分は、人の目に認識されにくいという特徴をもつ。したがって、ウェーブレット係数の高周波成分に対して、情報量を削減するような量子化処理、エントロピー符号化、および算術符号化などを施して、可逆または非可逆圧縮してからメインメモリ２に記憶することも可能である。これにより、メインメモリ２のさらなる少容量化を実現することができる。
【００７２】
また、テクスチャが一般的な自然画の場合、ウェーブレット係数の高周波成分の絶対値が小さい値に偏るという特徴をもつ。したがって自然画の場合には、特にエントロピー符号化による可逆圧縮する方がより効果的である。また、ウェーブレット係数の高周波成分は、可逆または非可逆圧縮のいずれの方法で圧縮されてもよいが、好ましくは、可逆圧縮した方がよい。可逆圧縮した場合、従来のミップマップ画像を用いる手法と完全に同一のミップマップ画像を得ることができるためである。なお、ウェーブレット変換部１２でウェーブレット係数の高周波成分を非可逆または可逆圧縮した場合、ウェーブレット逆変換部１４では、メインメモリ２から読み込む時に、圧縮された高周波成分を伸張するようにすればよい。
【００７３】
なお、上述では、動画像のテクスチャをポリゴン画像に描画する場合について説明したが、これに限定されない。単に、静止画像のテクスチャをポリゴン画像に描画する場合であっても動画像のテクスチャを用いた場合と同様の効果を得ることができる。静止画像のテクスチャを用いる描画装置１ｂを構成する各ユニットを図１０に示す。図１０において描画装置１ｂは、上述した描画装置１ａに対して動画デコーダ１１が静止画デコーダ１９に代わった構成である。静止画デコーダ１９は、圧縮された静止画像であるテクスチャの原画像に対して画像ブロック２０単位で伸張処理を行って、ウェーブレット変換部１２に出力する。これにより、動画デコーダ１１を備えた描画装置１ａと同様に、伸張処理単位とウェーブレット変換処理単位とが一致することとなる。その結果、処理効率が向上し、ミップマップ画像を高速に生成することができる。なお、描画装置１ｂの処理は、上述した描画装置１ａにおいてテクスチャの原画像１フレーム分について行われる処理と同様の処理となるので、説明を省略する。なお、処理するテクスチャの原画像が圧縮されていない場合には、上述した描画装置１ａの動画デコーダ１１や描画装置１ｂの静止画デコーダ１９が不要になることは言うまでもない。
【００７４】
なお、上述では、動画像データの圧縮フォーマットとしてＭＰＥＧとしたが、具体的には、ＭＥＰＧ−１、ＭＥＰＧ−２、およびＭＥＰＧ−４が挙げられる。また、動画像データや静止画像の圧縮フォーマットは、ＭＰＥＧに限らず、ＪＰＥＧやＤＶフォーマットであっても本発明の描画装置１ａおよび１ｂに適用可能である。またその他の圧縮フォーマットであっても、横および縦の画素数がそれぞれ２のＮ乗となる画像ブロック２０単位で処理して伸張するものであれば、将来考案されるものも含めて本発明の描画装置１ａおよび１ｂに適用可能である。
【００７５】
なお、図１では、描画装置１ａのみがそれぞれ１チップのシステムＬＳＩで構成されるとしたが、これに限定されない。近年のシステムＬＳＩの集積度の向上により、描画装置１ａおよびメインメモリ２が１チップのシステムＬＳＩで構成されてもよい。また描画装置１ａが、１チップではなく、複数のＬＳＩを組み合わせて構成されてもよい。また、以上に説明したシステムＬＳＩの構成については、図１０に示す描画装置１ｂについても同様のことがいえる。
【００７６】
なお、図１および図１０では、本発明に関連するユニットのみを抜粋して示している。したがって、実際のシステムＬＳＩには、上述したユニット以外に、音声処理等の機能を有するユニットも含まれる場合がある。
【００７７】
なお、図１に示した動画デコーダ１１は、動画像データを、記憶媒体から読み出して取得するとした。また、図１０に示した静止画デコーダ１９も同様に、静止画像であるテクスチャの原画像を、記憶媒体から読み出して取得している。しかしながら、動画デコーダ１１や静止画デコーダ１９は、データを、記録媒体ではなく、電波やインターネット等を利用した通信路から取得するようにしてもよい。この場合であっても、記憶媒体から取得した場合と同様の効果を得ることができる。
【００７８】
以下、図７に示したウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理に関する変形例１、２について説明する。
【００７９】
（変形例１）
上述したように、ミップマップレベル取得部１３がｌｏｇ2Ｐを用いてミップマップレベルを取得する際、取得されるミップマップレベルが整数ではない場合がある。この場合の具体的な処理例を変形例１として、図１１を参照して説明する。図１１は、変形例１におけるウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャートである。なお、以下の説明では一例として、ミップマップ取得部１３において取得されるミップマップレベルが２．３であるとする。また、メインメモリ２には、ウェーブレット変換部１２において４次のウェーブレット係数が得られるまで変換されたウェーブレット係数が記憶されているとする。
【００８０】
ステップＳ３０１において、ミップマップレベル取得部１３は、ポリゴン画像上の点のスクリーン座標と、その点に対応する図２に示す原画像上の点のテクスチャ座標とを比較して、図２に示す１フレーム分の原画像の縮小率を算出する。そして、ミップマップレベル取得部１３は、算出した縮小率から、ミップマップレベル（＝２．３）を取得する。
【００８１】
ステップＳ３０１の次に、ウェーブレット逆変換部１４は、メインメモリ２に記憶された画像ブロック２０分のウェーブレット係数のうち、ミップマップレベルの整数値（＝２）と同じ値の次数となるウェーブレット係数の低周波成分全体に対応する係数のみを読み出す（ステップＳ３０２）。そしてウェーブレット逆変換部１４は、Ｈａｒｒのウェーブレット逆変換式を用いて、ミップマップレベルの整数値（＝２）と同じ値の次数となるまで、読み出したウェーブレット係数を逆変換する（ステップＳ３０３）。ここで、ステップＳ３０３が実行される過程において、２次だけでなく、３次のウェーブレット係数の低周波成分も算出される。ウェーブレット逆変換部１４は、逆変換して求めた２次のウェーブレット係数の低周波成分で表された画像と、３次のウェーブレット係数の低周波成分で表された画像とをポリゴン描画部１５に出力する。
【００８２】
以下、図１２を参照して、２次だけでなく、３次のウェーブレット係数の低周波成分も算出されるメカニズムについて説明する。図１２は、ミップマップレベルが２．３となる場合のミップマップ画像を生成する過程を模式的に示した図である。
【００８３】
ミップマップレベル２のミップマップ画像は、図１２に示すように、縦４画素、横４画素とする計１６画素を有する。したがって、ステップＳ３０２においてウェーブレット逆変換部１４は、メインメモリ２に記憶されるウェーブレット係数のうち、４次のウェーブレット係数を含む左上端の１６個の係数のみを読み出す。ここで、図１２に示すように、４次のウェーブレット係数は、ａ＝（Ｕ０，Ｖ０）＝９７、ｂ＝（Ｕ１，Ｖ０）＝−１０、ｃ＝（Ｕ０，Ｖ１）＝−１０、ｄ＝（Ｕ１，Ｖ１）＝２となる。よって、ステップＳ３０３においてウェーブレット逆変換部１４は、まず、これらａ〜ｄの輝度を上式（５）〜式（８）に代入することによって、Ａ〜Ｄの輝度を算出する。得られたＡの輝度は、３次のウェーブレット係数の低周波成分である（Ｕ０、Ｖ０）の係数となる。得られたＢの輝度は、３次のウェーブレット係数の低周波成分である（Ｕ１、Ｖ０）の係数となる。得られたＣの輝度は、３次のウェーブレット係数の低周波成分である（Ｕ０、Ｖ１）の係数となる。得られたＤの輝度は、３次のウェーブレット係数の低周波成分である（Ｕ１、Ｖ１）の係数となる。このように、ステップＳ３０３において上式（５）〜式（８）が１回適用されることで、３次のウェーブレット係数の低周波成分が算出される。この３次のウェーブレット係数の低周波成分で表現された画像は、図１２に示すように、ミップマップレベル３のミップマップ画像と一致する。次に、上式（５）〜式（８）を４回適用することにより、図１２に示す３次のウェーブレット係数から、２次のウェーブレット係数の低周波成分が算出される。この２次のウェーブレット係数の低周波成分で表現された画像は、図１２に示すように、ミップマップレベル２のミップマップ画像と一致する。このように、ステップＳ３０３が実行される過程において、２次だけでなく、３次のウェーブレット係数の低周波成分も算出される。
【００８４】
ステップＳ３０３の次に、ポリゴン描画部１５は、２次のウェーブレット係数の低周波成分で表された画像（ミップマップレベル２のミップマップ画像）と、３次のウェーブレット係数の低周波成分で表された画像（ミップマップレベル３のミップマップ画像）とを、所定の割合で混合する（ステップＳ３０４）。混合方法については、Ｔｒｉ−Ｌｉｎｅａｒなどの公知の方法を用いるとし、ここでは詳細な説明を省略する。所定の割合は、例えば、ミップマップレベルの小数部の値に応じて決定される。取得したミップマップレベルが２．３である場合、例えば、ミップマップレベル２のミップマップ画像とミップマップレベル３のミップマップ画像とを７：３の比率で混合する。
【００８５】
ステップＳ３０４の次に、ポリゴン描画部１５は、混合したミップマップ画像をポリゴン画像に描画する（ステップＳ３０５）。ステップＳ３０５の次に、ポリゴン描画部１５は、図２で示したテクスチャの原画像のうち、最後の画像ブロック２０まで描画する処理を行ったか否かを判断する（ステップＳ３０６）。最後の画像ブロック２０まで描画する処理を行っていないと判断された場合、次の画像ブロック２０についてステップＳ３０２の処理が行われる。最後の画像ブロック２０まで描画する処理を行ったと判断された場合、処理はステップＳ３０７へ進む。ステップＳ３０７においてポリゴン描画部１５は、最後のフレームまで処理が行われたか否かを判断する。最後のフレームまで処理が行われていないと判断された場合、次のフレームについてステップＳ３０１の処理が行われる。最後のフレームまで処理が行われたと判断された場合、処理は終了する。
【００８６】
以上のように、変形例１の処理によれば、ミップマップレベル２のミップマップ画像とミップマップレベル３のミップマップ画像とを混合する際、ミップマップレベル２のミップマップ画像を求める過程において、ミップマップレベル３のミップマップ画像を自動的に得ることができる。このため、ミップマップレベル３のミップマップ画像を別途生成する必要がない。一方、従来の逆ＤＣＴ処理では、ミップマップレベル２のミップマップ画像とミップマップレベル３のミップマップ画像とを別々に生成しなければならない。したがって、変形例１の処理によれば、ミップマップレベルの異なる複数のミップマップ画像を生成するにあたり、従来の逆ＤＣＴ処理よりも高速に生成することができる。
【００８７】
なお、上述では、算出した縮小率から整数ではないミップマップレベルが取得されるとしたが、これに限定されない。ユーザが、表示シーンの構成に応じて整数ではないミップマップレベルをミップマップレベル取得部１３に直接指定するようにしてもよい。この場合、ミップマップレベル取得部１３は、ユーザによって指定された整数ではないミップマップレベルを取得することになる。
【００８８】
（変形例２）
上述した図７の処理では、ウェーブレット逆変換部１４は、逆変換して求めたウェーブレット係数の低周波成分全体で表された画像を、画像ブロック２０単位のミップマップ画像としてポリゴン描画部１５に出力していた。しかしながら、画像ブロック２０単位のミップマップ画像のうち、特定の画素のみを生成するようにしてもよい。この場合、ウェーブレット逆変換部１４は、ウェーブレット係数の低周波成分のうち、特定の画素を表す一部の係数のみを求めるように、逆変換処理を行えばよい。この場合の具体的な処理例を変形例２として、図１３〜図１６を参照して説明する。
【００８９】
図１３は、画像ブロック２０単位のミップマップ画像のうちの特定の画素Ａを模式的に示した図である。図１３の例では、取得されたミップマップレベルを０とし、ミップマップレベル０のミップマップ画像内に画素Ａが存在しているとする。ここで、図１３に示したミップマップ画像は、ミップマップレベルが０であり、画像ブロック２０単位の画像である。したがって、図１３に示したミップマップ画像は、０次のウェーブレット係数の低周波成分全体で表された画像に相当する。図１３に示す（Ｕｘ、Ｖｙ）は画素Ａの座標であり、ｘ、ｙ（ｘ、ｙは０以上の整数）は座標値である。図１４は、画素Ａのみ生成するために必要なウェーブレット係数を模式的に示した図である。なお、図１４では、メインメモリ２には、ウェーブレット変換部１２において４次のウェーブレット係数が得られるまで変換されたウェーブレット係数が記憶されているとする。図１４（ａ）は、１次のウェーブレット係数の高周波成分である各領域ｂ〜ｄを示した図である。図１４（ａ）の斜線部分は、１次のウェーブレット係数の低周波成分である。図１４（ｂ）は、２次のウェーブレット係数の高周波成分である各領域ｂ〜ｄを示した図である。図１４（ｂ）の斜線部分は、２次のウェーブレット係数の低周波成分である。図１４（ｃ）は、３次のウェーブレット係数の高周波成分である各領域ｂ〜ｄを示した図である。図１４（ｃ）の斜線部分は、３次のウェーブレット係数の低周波成分である。図１４（ｄ）は、４次のウェーブレット係数の高周波成分である各領域ｂ〜ｄを示した図である。図１４（ｄ）の斜線部分は、４次のウェーブレット係数の低周波成分である。図１４（ｅ）は、４次のウェーブレット係数の低周波成分である各領域ｂ〜ｄを示した図である。図１５は、画素Ａのみ生成するために必要なウェーブレット係数を読み出す処理の流れを示したフローチャートである。図１６は、図１４および図１５に示した処理に関する数値例を示した図である。
【００９０】
画素Ａのみ生成するためには、図１４に示すＰ１〜Ｐ５の係数が必要となる。Ｐ１は、１次のウェーブレット係数の高周波成分である各領域ｂ〜ｄに、１つずつ存在している。Ｐ１の座標値は、画素Ａの座標値ｘ、ｙをそれぞれ２で除算した値となり、Ｐ１の座標は、図１４（ａ）に示すように（Ｕｘ／２、Ｖｙ／２）となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標（Ｕｘ／２、Ｖｘ／２）は、各領域ｂ〜ｄにおいて、それぞれの左上端点を座標（Ｕ０、Ｖ０）としたときの座標を示している。この座標の取り方については、後述にて数値例を挙げて説明する。Ｐ２は、２次のウェーブレット係数の高周波成分である各領域ｂ〜ｄに、１つずつ存在している。Ｐ２の座標値は、画素Ａの座標値ｘ、ｙをそれぞれ４で除算した値となり、Ｐ２の座標は、図１４（ｂ）に示すように（Ｕｘ／４、Ｖｙ／４）となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標（Ｕｘ／４、Ｖｙ／４）は、各領域ｂ〜ｄにおいて、それぞれの左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。Ｐ３は、３次のウェーブレット係数の高周波成分である各領域ｂ〜ｄに、１つずつ存在している。Ｐ３の座標値は、画素Ａの座標値ｘ、ｙをそれぞれ８で除算した値となり、Ｐ３の座標は、図１４（ｃ）に示すように（Ｕｘ／８、Ｖｙ／８）となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標（Ｕｘ／８、Ｖｙ／８）は、各領域ｂ〜ｄにおいて、それぞれの左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。Ｐ４は、４次のウェーブレット係数の高周波成分である各領域ｂ〜ｄに、１つずつ存在している。Ｐ４の座標値は、画素Ａの座標値ｘ、ｙをそれぞれ１６で除算した値となり、Ｐ４の座標は、図１４（ｄ）に示すように（Ｕｘ／１６、Ｖｙ／１６）となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標（Ｕｘ／１６、Ｖｙ／１６）は、各領域ｂ〜ｄにおいて、それぞれの左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。Ｐ５は、４次のウェーブレット係数の低周波成分である領域ａ内に存在している。Ｐ５の座標値は、画素Ａの座標値ｘ、ｙをそれぞれ１６で除算した値となり、Ｐ４の座標は、図１４（ｅ）に示すように（Ｕｘ／１６、Ｖｙ／１６）となる。なお、除算した値が整数ではない場合、小数点以下を切り捨てるものとする。また、座標（Ｕｘ／１６、Ｖｙ／１６）は、領域ａにおいて、左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。
【００９１】
次に、図１５を参照して、画素Ａのみ生成するために必要なウェーブレット係数を読み出す処理の流れを一般化して説明する。図１４の説明では、画素Ａがミップマップレベル０のミップマップ画像内に存在するとしたが、図１５に示す処理は、より一般的に画素ＡがミップマップレベルＬのミップマップ画像内に存在する場合に対して適用できる。図１５に示す処理を図７のステップＳ２０２において行えば、ウェーブレット逆変換部１４は、ウェーブレット係数の低周波成分のうち、画素Ａを表す一部の係数のみを求めるように、逆変換処理を行うことができる。なお、図１５の説明では、ミップマップレベル取得部１３で取得されたミップマップレベルをＬとする。Ｌは０以上の整数である。またウェーブレット変換部１２は、（Ｌ＋Ｍ）次のウェーブレット係数が得られるまで変換処理を行っているとする。Ｍは１以上の整数である。
【００９２】
図１５において、ウェーブレット逆変換部１４は、取得されたミップマップレベルＬに１を加算する（ステップＳ２０２１）。ステップＳ２０２１の次に、ウェーブレット逆変換部１４は、画素Ａの座標値ｘ、ｙをそれぞれ２で除算し、読み出すべき係数Ｐ１の座標（Ｕｘ／２、Ｖｙ／２）を算出する（ステップＳ２０２２）。但し、除算した値が整数ではない場合、小数点以下を切り捨てる。ステップＳ２０２２の次に、ウェーブレット逆変換部１４は、ステップＳ２０２１で求めた値（Ｌ＋１）と同じ次数のウェーブレット係数に対し、その高周波成分である各領域ｂ〜ｄから、係数Ｐ１（Ｕｘ／２、Ｖｘ／２）をそれぞれ読み出す（ステップＳ２０２３）。ステップＳ２０２３の次に、ウェーブレット逆変換部１４は、ステップＳ２０２３で読み出したウェーブレット係数の次数が、メインメモリ２に記憶されたウェーブレット係数が示す最高の次数（Ｌ＋Ｍ）と一致するか否かを判断する（ステップＳ２０２４）。今、ステップＳ２０２３で読み出したウェーブレット係数の次数は（Ｌ＋１）であるので、ステップＳ２０２４ではＮｏと判断され、処理はステップＳ２０２５に進む。ステップＳ２０２５において、ウェーブレット逆変換部１４は、ステップＳ２０２３で読み出したウェーブレット係数の次数を１つ繰り上げる（ステップＳ２０２５）。ステップＳ２０２３で読み出したウェーブレット係数の次数は（Ｌ＋１）であるので、ステップＳ２０２５の処理により、次数は（Ｌ＋２）となる。ステップＳ２０２５の次に、処理はステップＳ２０２１に進む。ステップＳ２０２１において、ウェーブレット逆変換部１４は、係数Ｐ１の座標値ｘ／２、ｙ／２をそれぞれ２で除算し、読み出すべき係数Ｐ２の座標（Ｕｘ／４、Ｖｙ／４）を算出する。
【００９３】
このように、ステップＳ２０２２〜Ｓ２０２５の処理が、次数が（Ｌ＋１）から（Ｌ＋Ｍ）となるまで繰り返される。ここで、１以上Ｍ以下の整数をｍとおく。この場合、ステップＳ２０２２〜Ｓ２０２５を繰り返す処理は、（Ｌ＋ｍ）次のウェーブレット係数の高周波成分から、画素Ａの座標値を２のｍ乗で除算した結果の整数値からなる座標値に対応するウェーブレット係数のみを、（Ｌ＋１）次から（Ｌ＋Ｍ）次の間で次数毎に受け取る処理であるといえる。
【００９４】
最終的に、ステップＳ２０２３で読み出したウェーブレット係数の次数が最高の次数（Ｌ＋Ｍ）と一致する場合（ステップＳ２０２４でＹｅｓ）、処理はステップＳ２０２６に進む。ステップＳ２０２６において、ウェーブレット逆変換部１４は、（Ｌ＋Ｍ）次のウェーブレット係数の低周波成分から、画素Ａの座標値を２のＭ乗で除算した結果の整数値のみからなる座標値で特定されるウェーブレット係数のみを受け取る。
【００９５】
図１６に示す数値例を参照して、図１４および図１５に示した処理をより具体的に説明する。なお、図１６では、メインメモリ２には、ウェーブレット変換部１２において４次のウェーブレット係数が得られるまで変換されたウェーブレット係数が記憶されているとする。図１６において、例えば、ミップマップレベル２のミップマップ画像における（Ｕ３、Ｖ２）に存在する画素が画素Ａであるとする。この場合の画素Ａの座標値は、ｘ＝３、ｙ＝２となる。このとき、３次のウェーブレット係数では、画素Ａのみ生成するために必要な係数Ｐの座標値は、ｘ＝３／２＝１、ｙ＝２／２＝１となる。つまり、係数Ｐの座標は、（Ｕ１、Ｖ１）となる。また、この係数Ｐの座標は、各領域ｂ〜ｄにおいて、それぞれの左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。つまり、図１６で言えば、領域ｂの（Ｕ２、Ｖ０）、領域ｃの（Ｕ０、Ｖ２）、領域ｄの（Ｕ２、Ｖ２）が係数Ｐの座標に対する（Ｕ０、Ｖ０）となる。したがって、係数Ｐの座標は、領域ｂでは（Ｕ３、Ｖ１）、領域ｃでは（Ｕ１、Ｖ３）、領域ｄでは（Ｕ３、Ｖ３）となる。次に、４次のウェーブレット係数では、画素Ａのみ生成するために必要な係数Ｐの座標値は、ｘ＝３／４＝０、ｙ＝２／４＝０となる。つまり、係数Ｐの座標は、（Ｕ０、Ｖ０）となる。また、この係数Ｐの座標は、各領域ｂ〜ｄにおいて、それぞれの左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。つまり、図１６で言えば、領域ｂの（Ｕ１、Ｖ０）、領域ｃの（Ｕ０、Ｖ１）、領域ｄの（Ｕ１、Ｖ１）が係数Ｐの座標に対する（Ｕ０、Ｖ０）となる。したがって、係数Ｐの座標は、領域ｂでは（Ｕ１、Ｖ０）、領域ｃでは（Ｕ０、Ｖ１）、領域ｄでは（Ｕ１、Ｖ１）となる。また、図１６では、４次が最高の次数である。また、係数Ｐの座標は、低周波成分である領域ａの左上端を座標（Ｕ０、Ｖ０）としたときの座標を示している。つまり、図１６で言えば、領域ａの（Ｕ０、Ｖ０）が係数Ｐの座標に対する（Ｕ０、Ｖ０）となる。したがって、係数Ｐの座標は、（Ｕ０、Ｖ０）となる。このように、画素（Ｕ３、Ｖ２）を生成するためには、メインメモリ２に記憶されたウェーブレット係数のうち、（Ｕ３、Ｖ１）、（Ｕ１、Ｖ３）、（Ｕ３、Ｖ３）、（Ｕ１、Ｖ０）、（Ｕ０、Ｖ１）、（Ｕ１、Ｖ１）、（Ｕ０、Ｖ０）の計７個の係数のみ必要となる。なお、例えばミップマップレベルが２．３の場合、画素Ａに対応するミップマップレベル３の画素を求める必要があるが、図１６の画素Ａに対応するミップマップレベル３の画素は（Ｕ１、Ｖ１）となる。これはミップマップレベル２の画素Ａ（Ｕ３、Ｖ２）を求める過程で求めることができる。
【００９６】
なお、４次のウェーブレット係数を含む係数のうち、図１６に示した７個の係数だけを用いて４次から２次までウェーブレット逆変換をすると、実際には、２次のウェーブレット係数の低周波成分１６個のうち、４個の値が求まる。この４個中から、必要とする（Ｕ３、Ｖ２）の値を選択するようにすればよい。また、上式（５）〜式（８）を用いて行われる逆変換処理は、４次から３次で１回、３次から２次で１回の計２回だけでよいことになる。つまり、上述した図９では、上式（５）〜式（８）を計５回適用しなければならなかったが、図１６では、計２回だけで済むようになる。
【００９７】
以上のように、ウェーブレット逆変換部１４は、メインメモリ２から特定の画素に対応するウェーブレット係数のみを受け取り、受け取ったウェーブレット係数のみを逆変換処理する。これにより、特定の画素のみを生成することができる。その結果、受け取ったウェーブレット係数の数が減る分だけ、ウェーブレット係数の低周波成分に相当する領域内にある全ての係数を受け取って処理する場合よりも、逆変換処理の演算量を小さくすることができる。
【００９８】
なお、図１５に示した処理では、次数を１つ繰り上げるたびにメインメモリ２から必要なウェーブレット係数を読み出すとしたが、これに限定されない。メインメモリ２に記憶されたウェーブレット係数を画像ブロック２０毎に読み出し、ウェーブレット逆変換部１４の内部メモリに保持しておくようにしてもよい。この場合、ウェーブレット逆変換部１４は、内部メモリに記憶されたウェーブレット係数の中から、必要なウェーブレット係数を用いて逆変換処理を行うことになる。この場合であっても、ウェーブレット係数の低周波成分に相当する領域内にある全ての係数を受け取って処理する場合よりも、逆変換処理の演算量を小さくすることができる。
【００９９】
また、図１５に示した処理では、図２に示したテクスチャの原画像を構成する複数の画像ブロック２０について、画素Ａを描画するようにしていたが、これに限定されない。図２に示したテクスチャの原画像を構成する複数の画像ブロック２０のうち、いずれか１つの画像ブロック２０内にだけ存在する画素Ａを描画することも可能である。この場合、ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理は、次のような処理となる。まず、図７に示したステップＳ２０１の処理が行われる。その後、ウェーブレット逆変換部１４は、画素Ａの存在する画像ブロック２０を特定する。その後、ウェーブレット逆変換部１４は、図１５に示した処理を行って、特定した画像ブロック２０内のウェーブレット係数の中から画素Ａを生成するのに必要なウェーブレット係数のみを受け取る。その後、ウェーブレット逆変換部１４は、受け取ったウェーブレット係数を逆変換し、逆変換したウェーブレット係数の低周波成分の一部で表された画像を画素Ａとしてポリゴン描画部１５に出力する。その後、ポリゴン描画部１５は、画素Ａをポリゴン画像に描画する。
【産業上の利用可能性】
【０１００】
本発明に係る描画装置は、メインメモリに記憶させるべきデータ量を小さくし、動画像のテクスチャを用いる場合であっても描画装置に接続されたメインメモリの帯域を圧迫することなく、必要となるミップマップレベルのミップマップ画像を生成してポリゴン画像に描画することが可能な描画装置、および当該描画装置を用いた表示装置等に適用される。
【図面の簡単な説明】
【０１０１】
【図１】本発明に係る描画装置１ａを構成する各ユニットを示した図
【図２】１フレームに相当するテクスチャの原画像を示す図
【図３】ウェーブレット変換処理の流れを示したフローチャート
【図４】伸張された１つの画像ブロック２０分の原画像を示す図
【図５】１次のウェーブレット係数を示す図
【図６】４次まで変換されたときのウェーブレット係数を示した図
【図７】ウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャート
【図８】ウェーブレット係数の低周波成分の次数と、ミップマップレベルとの対応を示した図
【図９】４次のウェーブレット係数から、ミップマップレベル２のミップマップ画像を生成する過程を模式的に示した図
【図１０】静止画のテクスチャを用いる描画装置１ｂを構成する各ユニットを示す図
【図１１】変形例１におけるウェーブレット逆変換処理をしてポリゴン画像を描画するまでの処理の流れを示したフローチャート
【図１２】ミップマップレベルが２．３となる場合のミップマップ画像を生成する過程を模式的に示した図
【図１３】画像ブロック２０単位のミップマップ画像のうちの特定の画素Ａを模式的に示した図
【図１４】画素Ａのみ生成するために必要なウェーブレット係数を模式的に示した図
【図１５】画素Ａのみ生成するために必要なウェーブレット係数を読み出す処理の流れを示したフローチャート
【図１６】図１４および図１５に示した処理に関する数値例を示した図
【図１７】テクスチャの原画像の一例と、スクリーン座標に変換されたポリゴン画像の一例とを示す図
【図１８】ミップマップ画像の一例を示す図
【図１９】従来の描画装置５を構成する各ユニットを示す図
【符号の説明】
【０１０２】
１ａ、１ｂ    描画装置
１１    動画デコーダ
１２    ウェーブレット変換部
１３    ミップマップレベル取得部
１４    ウェーブレット逆変換部
１５    ポリゴン描画部
１６    ビデオコントローラ
１７    ＣＰＵ
１８    メモリＩ／Ｆ
１９    静止画デコーダ
２    メインメモリ
３    液晶パネル
【図１】
2008084302.tif 000003
【図２】
2008084302.tif 000004
【図３】
2008084302.tif 000005
【図４】
2008084302.tif 000006
【図５】
2008084302.tif 000007
【図６】
2008084302.tif 000008
【図７】
2008084302.tif 000009
【図８】
2008084302.tif 000010
【図９】
2008084302.tif 000011
【図１０】
2008084302.tif 000012
【図１１】
2008084302.tif 000013
【図１２】
2008084302.tif 000014
【図１３】
2008084302.tif 000015
【図１４】
2008084302.tif 000016
【図１５】
2008084302.tif 000017
【図１６】
2008084302.tif 000018
【図１７】
2008084302.tif 000019
【図１８】
2008084302.tif 000020
【図１９】
2008084302.tif 000021