JP4670185B2 - 画像生成装置、画像処理装置およびそれらの方法 - Google Patents
画像生成装置、画像処理装置およびそれらの方法 Download PDFInfo
- Publication number
- JP4670185B2 JP4670185B2 JP2001168120A JP2001168120A JP4670185B2 JP 4670185 B2 JP4670185 B2 JP 4670185B2 JP 2001168120 A JP2001168120 A JP 2001168120A JP 2001168120 A JP2001168120 A JP 2001168120A JP 4670185 B2 JP4670185 B2 JP 4670185B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- line
- image data
- buffer
- filter 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
Links
- 238000012545 processing Methods 0.000 title claims description 78
- 238000000034 method Methods 0.000 title claims description 41
- 239000000872 buffer Substances 0.000 claims description 218
- 230000009467 reduction Effects 0.000 claims description 92
- 230000015654 memory Effects 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 29
- 238000001914 filtration Methods 0.000 claims description 23
- 238000011946 reduction process Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 7
- 230000000717 retained effect Effects 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000009877 rendering Methods 0.000 description 15
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000005549 size reduction Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、1または複数の解像度のミップマップ画像を生成する画像生成装置、画像処理装置およびそれらの方法に関するものである。
【0002】
【従来の技術】
3次元グラフィックスシステムにおいては、3次元座標を3角形などのポリゴン(多角形)に分解し、そのポリゴンを描画することで、画像全体の描画が行われる。したがって、この場合、3次元画像は、ポリゴンの組み合わせで定義されていると言える。
ところで、身の回りにある物体表面は、複雑な模様の繰り返しパターンを有することが多く、模様やパターンが複雑で細かくなるほど、各模様やパターンを3角形などでモデリングすることは困難となる。そこで、これを解決する手段として、テクスチャマッピング (Texture Mapping)が用いられる。
【0003】
テクスチャマッピングは、スキャナ等で取り込んだイメージデータを、物体表面に貼り付けることにより、少ない頂点数で、リアリティの高い画像を実現するもので、オブジェクト(Object)座標系からテクスチャ(Texture )座標系への写像fを定義し、さらに、ウインドウ(Window)座標系からテクスチャ座標系への写像gを求めて、ウインドウ座標系における各ピクセル(Pixel, Picture Cell Element )に対応するテクスチャの要素であるテクセル(Texel, Texture Cell Element )を求める。
【0004】
テクスチャに利用される画像データは、テクスチャメモリと呼ばれるメモリ領域に格納される。したがって、動画像データを用いてテクスチャメモリを随時更新する処理を行うと、動画像によるテクスチャマッピング処理が可能となる。
【0005】
ところで、テクスチャマッピングは、上述のように、テクスチャを、物体表面に貼り付けることにより行われる。
たとえば、図11(A)に示すように、オブジェクト座標系上において、矩形ポリゴン200の表面にテクスチャ201を貼り付けたものがあり、これを、図11(B)に示すように回転させて表示した場合、ウインドウ座標系上においては、元のポリゴン(この場合は、矩形)に対して、左端に、拡大されたテクスチャが貼り付けられ、右にいくほど、縮小されたテクスチャが貼り付けられたように見える。
この場合、画素に、原画よりも拡大されたテクスチャを貼り付けるときには、たとえば、4近傍補間等の、原画のフィルタリング処理を行うことで、リアルタイムに対処することができる。
【0006】
しかしながら、テクスチャが縮小される場合には、1つの画素に、多くのテクセルが対応することとなり、画像のエイリアシング(Aliasing)妨害が目立つようになる。
そこで、ポリゴンの大きさに対応した多種類のテクスチャの大きさを有するテクスチャパターンをあらかじめ生成しておき、必要に応じてそれをポリゴンにマッピングするミップマップ(MIPMAP:multum in parvo、many things in a small place)テクスチャマッピング法(以下、ミップマップ法という)が知られている。
【0007】
ミップマップ法においては、テクスチャメモリに、原画を種々の縮小率で縮小したビットマップのデータ(Bitmap Data )(テクスチャデータ)を記憶させておく。
たとえば、図12に示すように、原画の横と縦の長さを順次1/2に縮小したイメージ(縮小率が1/2 、1/4 、1/8 、・・・のイメージ)をあらかじめ用意し、テクスチャメモリに記憶させておく。
【0008】
各々の縮小画像のサイズに関しては、詳細度( LOD:Level of Detail)という尺度が用いられる。最も大きい画像は入力画像と同じサイズであり、これはLOD「0」である。縦横のサイズが1/2(面積では1/4)の縮小画像はLOD「1」である。同様に、縦横のサイズが1/4,1/8の画像は、それぞれLOD「2」,「3」というように、縦横のサイズが1/2になる度にLODの値は1ずつ増加する。この縮小画像セットは、理論上は縦横のサイズが1×1ピクセルの大きさになるまで用意しておく必要がある。
【0009】
そして、ミップマップ処理では、テクスチャマッピングの際に、処理するピクセルにおける縮小率に最も近いサイズの縮小画像を選択して貼り付けることで、高速でかつエイリアシングのない処理結果を得る。
また、さらに高画質を望む場合は、選択した縮小画像内で補間演算を行ったり(bilinear処理)、複数のサイズの縮小画像を選択し、縮小画像間でさらに補間演算を行ったり(trilinear 処理)する手法などが知られている。
これらの演算にはより多くの時間がかかるが、近年の半導体技術の発達によって高速な演算が可能になったことから、現在では普通に利用されている。
【0010】
【発明が解決しようとする課題】
ところで、ミップマップ処理は、複数の解像度を持つ縮小画像を用意する必要があり、これに時間がかかるため、動画像のように次々と更新される画像に対し、リアルタイムで縮小画像のセットを揃えることは困難であるとされていた。
【0011】
そこで、従来、生成されたミップマップ画像に折り返しが生じないミップマップ画像生成装置が提案されている(たとえば特開平7−230555号公報参照)。
この装置では、たとえば折り返しノイズを抑えるために、離散コサイン変換(DCT)、逆離散コサイン変換(IDCT)や、離散フーリエ変換および逆フーリエ変換等の空間変換処理部を含み、空間変換中に高周波をカットするフィルタが用いられる。
【0012】
しかしながら、この従来の装置では、DCTおよびIDCT等の空間変換処理を行うために、これをハードウェアで実現しようとすると、回路規模が大きくなるという不利益がある。
【0013】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、回路規模の増大を招くことなく、ミップマップ処理によってリアルタイムに1または複数の解像度のテクスチャ画像(ミップマップ画像)を生成できる画像生成装置、それらを用いてテクスチャマッピング処理を高い精度で行うことができる画像処理装置およびそれらの方法を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明は、テクスチャの原画像データを受けて、所定の詳細度を持って縮小したミップマップ画像を生成する画像生成装置であって、上記原画像データの1ライン分のデータを保持し、保持したデータを順次にパラレル転送する、縦続接続された5つのラインバッファと、上記各ラインバッファで保持された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出し、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する少なくとも2つのフィルタ部と、パラレルイン・シリアルアウト機能を有し、最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングで出力する複数のバッファを含む出力部と、を有し、上記各フィルタ部は、縮小率に応じた縮小フィルタを含み、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、2ライン分取り込む毎に縮小フィルタの結果を保持し、上記原画像データの入力段の上記ラインバッファは、シリアルイン・パラレルアウト機能を有し、シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部に出力する処理を順次繰り返し、2段目以降の上記ラインバッファは、水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、上記各フィルタ部は、上記係数kが1の1/2縮小処理を行う1/2フィルタ部と、上記係数kが2の1/4縮小処理を行う1/4フィルタ部と、を含み、上記係数kが1の縮小率の上記1/2フィルタ部は、最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、上記係数kが2の縮小率の上記1/4フィルタ部は、上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する。
【0015】
また、本発明の画像処理装置は、テクスチャの原画像データの1ライン分のデータを保持し、保持したデータを順次にパラレル転送する、縦続接続された5つのラインバッファと、上記各ラインバッファで保持された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出し、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する少なくとも2つのフィルタ部と、パラレルイン・シリアルアウト機能を有し、最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングで出力する複数のバッファを含む出力部と、を有する画像生成装置と、上記原画像データおよび上記画像生成装置から出力されるミップマップ画像を記憶する記憶回路と、上記記憶回路に記憶された画像データに基づいてテクスチャマッピング処理を行って出力画像を生成する画像処理回路と、を有し、上記画像生成装置において、上記各フィルタ部は、縮小率に応じた縮小フィルタを含み、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、2ライン分取り込む毎に縮小フィルタの結果を保持し、上記原画像データの入力段の上記ラインバッファは、シリアルイン・パラレルアウト機能を有し、シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部に出力する処理を順次繰り返し、2段目以降の上記ラインバッファは、水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、上記フィルタ部は、上記係数kが1の1/2縮小処理を行う1/2フィルタ部と、上記係数kが2の1/4縮小処理を行う1/4フィルタ部と、を含み、上記係数kが1の縮小率の上記1/2フィルタ部は、最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、上記係数kが2の縮小率の上記1/4フィルタ部は、上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する。
【0016】
また、本発明では、上記画像生成装置および回路のフィルタ部は、n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出する。
【0017】
また、本発明では、上記画像生成装置および回路の出力部は、ビデオクロックに同期して上記フィルタ部で生成されたミップマップ画像データを入力し、上記ビデオクロックより高速なクロックで出力するバッファを含む。
【0018】
また、本発明では、上記画像生成装置および回路は、それぞれ異なる詳細度をもって縮小したミップマップ画像データを生成する複数のフィルタ部を有し、上記出力部は、上記各フィルタ部によるミップマップ画像データを、それぞれ異なるタイミングで出力する出力回路を含む。
【0019】
また、本発明では、上記画像生成装置および回路の出力回路は、各フィルタ部の出力毎に、出力すべき上記記憶回路のメモリ空間のベースポインタを切り換えて、ライン毎に書き込まれるように、各フィルタ部で生成されたミップマップ画像データを選択して出力する。
【0020】
また、本発明では、上記画像生成装置および回路のラインバッファは、水平同期信号に同期してラインデータの入力およびパラレル転送を行う。
【0021】
また、本発明は、テクスチャの原画像データを受けて、所定の詳細度を持って縮小したミップマップ画像を生成する画像生成方法であって、上記原画像データの1ライン分のデータを5ライン分、縦続接続されたラインバッファに保持する保持ステップと、上記ラインバッファに保持したデータを順次にパラレル転送する転送ステップと、フィルタ部において、上記各ラインバッファで保持され、パラレル転送された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出する抽出ステップと、上記フィルタ部において、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する生成ステップと、最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングでシリアルデータとして、パラレルイン・シリアルアウト機能を有するバッファにより出力する出力ステップと、を有し、上記生成ステップにおいては、上記フィルタ部において、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、上記原画像データの入力段の上記ラインバッファにおいては、シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部にパラレルに出力する処理を順次繰り返し、2段目以降の上記ラインバッファにおいては、水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、上記抽出ステップおよび上記生成ステップにおいては、フィルタ部において、縮小率に応じた縮小フィルタを用いた処理を行い、2ライン分取り込む毎に縮小フィルタの結果を保持し、上記保持ステップおよび上記転送ステップにおいては、縦続接続された5つのラインバッファによりデータの保持およびパラレル転送を行い、上記生成ステップは、上記係数kが1の1/2縮小処理を行う1/2縮小画像生成ステップと、上記係数kが2の1/4縮小処理を行う1/4縮小画像生成ステップと、を含み、上記係数kが1の縮小率の上記1/2縮小画像生成ステップにおいては、上記フィルタ部において、最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、上記係数kが2の縮小率の上記1/4縮小画像生成ステップにおいては、上記フィルタ部において、上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する。
【0022】
また、本発明の画像処理方法は、テクスチャの原画像データの1ライン分のデータを5ライン分、縦続接続されたラインバッファに保持する保持ステップと、上記ラインバッファに保持したデータを順次にパラレル転送する転送ステップと、フィルタ部において、上記各ラインバッファで保持され、パラレル転送された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出する抽出ステップと、上記フィルタ部において、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する第1の生成ステップと、最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングでシリアルデータとして、パラレルイン・シリアルアウト機能を有するバッファにより出力する出力ステップと、原画像データおよび生成したミップマップ画像データを記憶回路に記憶する記憶ステップと、上記記憶ステップで記憶された画像データに基づいてテクスチャマッピング処理を行って出力画像を生成する第2の生成ステップと、を有し、上記第1の生成ステップにおいては、上記フィルタ部において、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、上記原画像データの入力段の上記ラインバッファにおいては、シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部にパラレルに出力する処理を順次繰り返し、2段目以降の上記ラインバッファにおいては、水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、上記抽出ステップおよび上記第1の生成ステップにおいては、フィルタ部において、縮小率に応じた縮小フィルタを用いた処理を行い、2ライン分取り込む毎に縮小フィルタの結果を保持し、上記保持ステップおよび上記転送ステップにおいては、縦続接続された5つのラインバッファによりデータの保持およびパラレル転送を行い、上記第1の生成ステップは、上記係数kが1の1/2縮小処理を行う1/2縮小画像生成ステップと、上記係数kが2の1/4縮小処理を行う1/4縮小画像生成ステップと、を含み、上記係数kが1の縮小率の上記1/2縮小画像生成ステップにおいては、上記フィルタ部において、最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、上記係数kが2の縮小率の上記1/4縮小画像生成ステップにおいては、上記フィルタ部において、上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する。
【0023】
また、本発明方法では、n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出する。
【0024】
本発明によれば、たとえば原画像データが画像生成装置および記憶回路に入力され、記憶回路の所定の領域に原画像データが記憶される。
また、画像生成回路においては、ラインバッファに原画像データの1ライン分のデータが保持され、保持したデータが順次にパラレル転送される。
そして、各ラインバッファで保持された連続するたとえば3ライン分のデータがフィルタ部に供給される。
フィルタ部では、入力ライン数nに基づく所定の画素を中心としたn×n(たとえば3×3)の画素が抽出される。このとき、たとえば、n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインがオーバーラップされて抽出される。
そして、抽出したn×nの画素を重み付けされた係数で色値が加重平均されて、テクスチャの幅(横)、高さ(縦)があらかじめ設定した詳細度をもって縮小されて所望のミップマップ画像データが生成され、出力部に出力される。
【0025】
出力部では、フィルタで生成されたミップマップ画像データが所定のタイミングで出力される。
出力部においては、たとえばフィルタ部で生成されたミップマップ画像データがビデオクロックに同期してバッファに保持され、保持されたミップマップ画像データがビデオクロックより高速なクロックで出力される。
また、フィルタ部が複数存在する場合には、出力部は、出力回路により各フィルタ部によるミップマップ画像データが、それぞれ異なるタイミングで出力される。具体的には、たとえば各フィルタ部の出力毎に、出力すべき記憶回路のメモリ空間のベースポインタを切り換えて、ライン毎に書き込まれるように、各フィルタ部で生成されたミップマップ画像データが選択されて出力される。
記憶回路では、画像生成回路からのミップマップ画像データが、所定の領域に書き込まれる。
次に、画像処理回路によって、記憶回路に記憶された画像データが読み出されて、レンダリング処理が行われる。
【0026】
【発明の実施の形態】
以下、図面に関連付けて本発明の実施形態に係る画像処理装置について説明する。
【0027】
図1は、本発明に係る画像処理装置の全体構成を示す図であり、図2は、図1に示す画像処理装置の要部を信号の流れを含めてより具体的に示すブロック図である。
本画像処理装置1は、図1および図2に示すように、ビデオ信号生成回路2、ミップマップ(MIPMAP)処理回路3、テクスチャメモリ4、レンダリング回路5、フレームメモリ6、ディスプレイ7、および制御回路8を有し、これらがAV(Audio Visual)バス9を介して接続されている。
【0028】
ここで、ミップマップ処理回路3が本発明の画像生成装置に対応し、テクスチャメモリ4が本発明の記憶回路に対応し、レンダリング回路5が本発明の画像処理回路に対応し、フレームメモリ6が本発明のフレームメモリに対応し、ディスプレイ7が本発明の表示手段に対応している。
【0029】
以下、画像処理装置1の各構成要素の機能について説明する。
【0030】
ビデオ信号生成回路2は、ビデオ撮像装置から得られたデジタルのビデオ信号(たとえば動画像信号)や、MPEGデコード処理を経て得られたデジタルのビデオ信号を生成し、これをビデオ信号S2としてミップマップ処理回路3およびテクスチャメモリ4に出力する。
ビデオ信号S2は、ミップマップ処理における、詳細度LODのレベル(以下、LODレベルとも記す)が「0」の画像の信号である。ここで、詳細度が本発明の解像度に対応している。
【0031】
ミップマップ処理回路3は、ビデオ信号生成回路2から入力したビデオ信号S2を用いて、それぞれLODレベルが「0」,「1」,「2」,・・・,「n」のテクスチャ画像(ミップマップ画像)に応じたビデオ信号S30,S31,S32,・・・,S3nをリアルタイムに生成し、これをテクスチャメモリ4に出力する。
kを1≦k≦nを満たす整数とした場合に、LODレベル「k」の画像は、LODレベル「0」の画像の縦横のサイズを1/2k 倍にした縮小画像である。
なお、LODレベル「k」の値が大きくなるに従って、縮小画像の解像度は低くなる。
本実施形態では、ミップマップ処理回路3は、ビデオ信号S2の入力に同期して、具体的には、水平同期信号HSYNCに同期して、ビデオ信号S30〜S3nの生成および出力をリアルタイムに行う。
【0032】
図3は、本発明に係るミップマップ処理回路3の具体的な構成例を示す回路図である。また、図4は、図3のラインバッファのデータ入力および転送のタイミングチャートを示す図である。
【0033】
本ミップマップ処理回路3は、ラインバッファ300〜304、1/2フィルタ部305、1/4フィルタ部306、バッファ307〜309、非同期FIFO(asyncronous First-In First-Out)310〜312、および出力回路313を有している。
【0034】
ビデオ信号生成回路2によるビデオ信号S2の入力ラインに対して、ラインバッファ304、303、302、301、300の順に縦続接続されている。
【0035】
ラインバッファ304は、いわゆるシリアルイン・パラレルアウトの機能を有し、図4(A)〜(C)に示すように、水平同期信号SYNCに同期して、ビデオ信号生成回路2によるシリアルなビデオ信号S2の1ライン分のデータAを順次に入力し、h0の期間1ライン分のデータAを保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータAを次のラインバッファ303、および1/4フィルタ部306にパラレル転送する。
ラインバッフ304は、このパラレル転送に並行して、図4(A)〜(C)に示すように、水平同期信号SYNCに同期して、ビデオ信号生成回路2によるシリアルなビデオ信号S2の次の1ライン分のデータBを順次に入力し、期間h1の間1ライン分のデータBを保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータBを次のラインバッファ303、および1/4フィルタ部306にパラレル転送する。
ラインバッファ304は、以降、同様の動作を1ライン分のデータC〜G,・・・に対して順次に行う。
【0036】
ラインバッファ303は、図4(A)〜(D)に示すように、水平同期信号HSYNCに同期してパラレル転送された1ライン部のデータAをh1の期間に入力して保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータAを次のラインバッファ302、および1/4フィルタ部306にパラレル転送する。
ラインバッフ303は、このパラレル転送に並行して、図4(A)〜(D)に示すように、水平同期信号SYNCに同期して、ラインバッファ304からパラレル転送された次の1ライン分のデータBを入力し、期間h2の間1ライン分のデータBを保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータBを次のラインバッファ302、および1/4フィルタ部306にパラレル転送する。
ラインバッフ303は、以降、同様の動作を1ライン分のデータC〜G,・・・に対して順次に行う。
【0037】
ラインバッファ302は、図4(A)〜(E)に示すように、水平同期信号HSYNCに同期してパラレル転送された1ライン部のデータAをh2の期間に入力して保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータAを次のラインバッファ301、1/2フィルタ部305、および1/4フィルタ部306にパラレル転送する。
ラインバッフ302は、このパラレル転送に並行して、図4(A)〜(E)に示すように、水平同期信号SYNCに同期して、ラインバッファ303からパラレル転送された次の1ライン分のデータBを入力し、期間h3の間1ライン分のデータBを保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータBを次のラインバッファ301、1/2フィルタ部305、および1/4フィルタ部306にパラレル転送する。
ラインバッフ302は、以降、同様の動作を1ライン分のデータC〜G,・・・に対して順次に行う。
【0038】
ラインバッファ301は、図4(A)〜(F)に示すように、水平同期信号HSYNCに同期してパラレル転送された1ライン部のデータAをh3の期間に入力して保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータAを次のラインバッファ300、1/2フィルタ部305、および1/4フィルタ部306にパラレル転送する。
ラインバッフ301は、このパラレル転送に並行して、図4(A)〜(F)に示すように、水平同期信号SYNCに同期して、ラインバッファ302からパラレル転送された次の1ライン分のデータBを入力し、期間h4の間1ライン分のデータBを保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータBを次のラインバッファ300、1/2フィルタ部305、および1/4フィルタ部306にパラレル転送する。
ラインバッフ301は、以降、同様の動作を1ライン分のデータC〜G,・・・に対して順次に行う。
【0039】
ラインバッファ300は、図4(A)〜(F)に示すように、水平同期信号HSYNCに同期してパラレル転送された1ライン部のデータAをh4の期間に入力して保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータAを1/2フィルタ部305、1/4フィルタ部306、およびバッファ307にパラレル転送する。
ラインバッフ300は、このパラレル転送に並行して、図4(A)〜(F)に示すように、水平同期信号SYNCに同期して、ラインバッファ301からパラレル転送された次の1ライン分のデータBを入力し、期間h5間に1ライン分のデータBを保持し、次の水平同期信号SYNCに同期して、保持した1ライン分のデータBを1/2フィルタ部305、1/4フィルタ部306、およびバッファ307にパラレル転送する。
ラインバッフ300は、以降、同様の動作を1ライン分のデータC〜G,・・・に対して順次に行う。
【0040】
1/2フィルタ部305は、たとえば3×3の9画素分を抽出する9点縮小フィルタを有し、ラインバッファ302、301、および300からの3ライン分のデータ(たとえばA〜C)を受けて、図5および図6に示すような9点縮小フィルタを通したデータを保持し、たとえば図6(C)に示すように、保持した9点に対し重み付けされた係数を使用してカラー(色)値を加重平均することで、テクスチャの幅(横)、高さ(縦)をそれぞれ1/2に縮小し、縮小したミップマップ画像データS305をバッファ308に出力する。
図6(C)の例では、9点の中心画素の重み付け係数が1/4、左右および上下の4画像の重み付け係数が1/8、周囲4画素の重み付け係数が1/16に設定されている。
【0041】
なお、1/2フィルタ部305に配置される9点縮小フィルタは、隣接の9点と1ラインだけオーバーラップするように入力ラインデータに対してフィルタリングを行う。
1/2フィルタ部305は、3つのラインバッファ300〜302に対しては、2ライン分取り込む毎に縮小フィルタの結果を保持する。
この1/2フィルタ部305においては、1/2縮小処理は、最初は3h期間で行われ、以降、5h,7hと2水平同期信号HSYNCに一度行われる。
そして、2水平同期信号HSYNCに一度、1/2フィルタ部305からフィルタリング結果がミップマップ画像データS305としてバッファ308に出力される。
【0042】
1/4フィルタ部306は、たとえば5×5の25画素分を抽出する25点縮小フィルタを有し、ラインバッファ304、303、302、301、および300からの5ライン分のデータ(たとえばA〜E)を受けて、図6および図7に示すような25点縮小フィルタを通したデータを保持し、たとえば図6(E)に示すように、保持した25点に対し重み付けされた係数を使用してカラー値を加重平均することで、テクスチャの幅(横)、高さ(縦)をそれぞれ1/4に縮小し、縮小したミップマップ画像データS306をバッファ309に出力する。
図6(E)の例では、25点の中心画素の重み付け係数が1/9、左右および上下の4画像の重み付け係数が2/27、斜め上下に隣接する4画素の重み付け係数が4/81、中心画素が上下および左右に1画素おいた4画素の重み付け係数が1/27、それらの上下および左右の8画素の重み付け係数が2/81、周囲4画素の重み付け係数が1/81に設定されている。
【0043】
なお、1/4フィルタ部306に配置される25点縮小フィルタは、隣接の25点と1ラインだけオーバーラップするように入力ラインデータに対してフィルタリングを行う。
1/4フィルタ部306は、5つのラインバッファ300〜304に対しては、2ライン分取り込む毎に縮小フィルタの結果を保持する。
この1/4フィルタ部306においては、1/4縮小処理は、最初は2h期間で行われ、以降、6h,10hと4水平同期信号HSYNCに一度行われる。
そして、4水平同期信号HSYNCに一度、1/4フィルタ部306からフィルタリング結果がミップマップ画像データS306としてバッファ309に出力される。
【0044】
バッファ307は、いわゆるパラレルイン・シリアルアウトの機能を有し、低速のビデオクロックVCLKに同期してラインバッファ300からパラレル転送された1ライン部のデータを受けて、ビデオクロックVCLKより高速(周波数の高い)クロックHICLKに同期してシリアルデータとして非同期FIFO310に転送する。
【0045】
バッファ308は、パラレルイン・シリアルアウトの機能を有し、低速のビデオクロックVCLKに同期して1/2フィルタ部305からパラレル転送された1/2縮小のミップマップ画像データS305(テクスチャデータ)を受けて、ビデオクロックVCLKより高速クロックHICLKに同期してシリアルデータとして非同期FIFO311に転送する。
【0046】
バッファ309は、パラレルイン・シリアルアウトの機能を有し、低速のビデオクロックVCLKに同期して1/4フィルタ部306からパラレル転送された1/4縮小のミップマップ画像データS306(テクスチャデータ)を受けて、ビデオクロックVCLKより高速クロックHICLKに同期してシリアルデータとして非同期FIFO312に転送する。
【0047】
非同期FIFO310は、バッファ307から転送された1ライン分のシリアルデータを順次に入力し、入力順にLOD0のデータとして出力回路313に出力する。
【0048】
非同期FIFO311は、バッファ308からシリアルデータとして転送されたLOD1のデータである1/2縮小のミップマップ画像データを順次に入力し、入力順出力回路313に出力する。
【0049】
非同期FIFO312は、バッファ309からシリアルデータとして転送されたLOD2のデータである1/4縮小のミップマップ画像データを順次に入力し、入力順に出力回路313に出力する。
【0050】
出力回路313は、非同期FIFO310によるLOD0の1ライン分のシリアルデータ、非同期FIFO311によるLOD1の1/2縮小のミップマップ画像データ、および非同期FIFO312によるLOD2の1/4縮小のミップマップ画像データを、たとえばそれぞれ異なるタイミングでテクスチャメモリ4に出力する。
出力回路313は、たとえば図8に示すように、それぞれ詳細度(縮小レベル)が異なるデータが格納される非同期FIFO310、311、312の出力先を、メモリ空間MSのベースポインタBPを切り換えて、ライン毎に書き込まれるように、非同期FIFO310、311、312の出力を選択してテクスチャメモリ4に出力する。
【0051】
テクスチャメモリ4は、ビデオ信号生成回路2からのビデオ信号S2と、ミップマップ処理回路3からのビデオ信号(ミップマップ画像データ)S30〜S3nとを所定の領域に記憶する。
【0052】
次に、図1および図2に示す画像処理装置1におけるテクスチャメモリ4の具体的な構成例について説明する。
【0053】
図9は、テクスチャメモリ4の具体的な構成例を示す図である。
テクスチャメモリ4は、図9に示すように、物理メモリ41,42およびバス43,44を有する。
【0054】
物理メモリ41,42は、デュアルポートメモリであり、データの書き込みとデータの読み出しとを独立して行える。
物理メモリ41の書き込みポートは、図1および図2に示すAVバス9に接続されており、ビデオ信号生成回路2から出力された原画像データであるビデオ信号S2が入力される。
また、物理メモリ41の読み出しポートは、バス44に接続されている。
【0055】
物理メモリ42の書き込みポートはバス43に接続されており、物理メモリ42の読み出しポートはバス44に接続されている。
【0056】
バス43は、図1および図2に示すAVバス9および物理メモリ42の書き込みポートに接続されており、AVバス9を介してミップマップ画像データS30〜S3nを受けて、これらを物理メモリ42の書き込みポートに出力する。
【0057】
バス44は、物理メモリ41,42の読み出しポートと、図1および図2に示すAVバス9とに接続されており、物理メモリ41,42から読み出しされた画像データS4をレンダリング回路5に出力する。
【0058】
図9に示す構成のテクスチャメモリ4では、ミップマップ画像データS30〜S3nを書き込む物理メモリ42内のアドレスが、ライン単位で不連続となることから、高速動作が可能なたとえばSRAMなどを用いることが好ましい。
【0059】
レンダリング回路5は、テクスチャメモリ4に記憶されたビデオ信号S2,S31 〜S3n のうち、制御回路8によって指定されたLODレベルのビデオ信号S4をテクスチャメモリ4から読み出し、読み出したビデオ信号S4を用いてレンダリング処理を行ってビデオ信号S5を生成し、これをフレームメモリ6に出力する。
このレンダリング処理では、3次元モデルに動画像を張り付けるテクスチャマッピングが行われる。
【0060】
フレームメモリ6は、レンダリング回路5から入力して記憶したビデオ信号をディスプレイ7に出力する。
【0061】
ディスプレイ7は、フレームメモリ6から入力したビデオ信号に応じた画像を表示する。
【0062】
次に、上記構成を有する画像処理装置1の動作を説明する。
【0063】
ビデオ信号生成回路2において生成された原画像データとしてのビデオ信号S2がミップマップ処理回路3およびテクスチャメモリ4に出力される。
そして、ビデオ信号S2が、AVバス9を介して、テクスチャメモリ4の物理メモリ41の書き込みポートに入力され、物理メモリ41に書き込まれる。
【0064】
また、ミップマップ処理回路3においては、ビデオ信号生成回路2によるシリアルなビデオ信号S2の1ライン分のデータがラインバッファ304に順次に入力され、h(0,1,・・)の期間に1ライン分のデータが保持され、次の水平同期信号SYNCに同期して、保持した1ライン分のデータが次のラインバッファ303、および1/4フィルタ部306にパラレル転送される。
ラインバッファ303では、水平同期信号HSYNCに同期してラインバッファ304からパラレル転送された1ライン部のデータがh(1,2,・・・)の期間に入力されて保持され、次の水平同期信号SYNCに同期して、保持した1ライン分のデータが次のラインバッファ302、および1/4フィルタ部306にパラレル転送される。
ラインバッファ302では、水平同期信号HSYNCに同期してラインバッファ303からパラレル転送された1ライン部のデータがh(2,3,・・・)の期間に入力されて保持され、次の水平同期信号SYNCに同期して、保持した1ライン分のデータが次のラインバッファ301、1/2フィルタ部305、および1/4フィルタ部306にパラレル転送される。
ラインバッファ301では、水平同期信号HSYNCに同期してラインバッファ302からパラレル転送された1ライン部のデータがh(3,4,・・・)の期間に入力されて保持され、次の水平同期信号SYNCに同期して、保持した1ライン分のデータが次のラインバッファ300、1/2フィルタ部305、および1/4フィルタ部306にパラレル転送される。
さらに、ラインバッファ300では、水平同期信号HSYNCに同期してラインバッファ301からパラレル転送された1ライン部のデータAがh(4,5,・・・)の期間に入力されて保持され、次の水平同期信号SYNCに同期して、保持した1ライン分のデータが1/2フィルタ部305、1/4フィルタ部306、およびバッファ307にパラレル転送される。
【0065】
1/2フィルタ部305においては、ラインバッファ302、301、および300からの3ライン分のデータを受けて、9点縮小フィルタを通したデータが保持される。9点縮小フィルタでは、隣接の9点と1ラインだけオーバーラップするように入力ラインデータに対してフィルタリングが行われる。
そして、1/2フィルタ部305では、保持した9点に対し重み付けされた係数を使用してカラー値が加重平均され、これによりテクスチャの幅(横)、高さ(縦)がそれぞれ1/2に縮小される。
この1/2フィルタ部305においては、1/2縮小処理は、最初は3h期間で行われ、以降、5h,7hと2水平同期信号HSYNCに一度行われる。
そして、2水平同期信号HSYNCに一度、1/2フィルタ部305からフィルタリング結果がミップマップ画像データS305としてバッファ308に出力される。
【0066】
また、1/4フィルタ部306では、ラインバッファ304、303、302、301、および300からの5ライン分のデータを受けて、25点縮小フィルタを通したデータが保持される。25点縮小フィルタでは、隣接の25点と1ラインだけオーバーラップするように入力ラインデータに対してフィルタリングが行われる。
そして、1/4フィルタ部306は、保持した25点に対し重み付けされた係数を使用してカラー値が加重平均され、これによりテクスチャの幅(横)、高さ(縦)がそれぞれ1/4に縮小される。
この1/4フィルタ部306においては、1/4縮小処理は、最初は2h期間で行われ、以降、6h,10hと4水平同期信号HSYNCに一度行われる。
そして、4水平同期信号HSYNCに一度、1/4フィルタ部306からフィルタリング結果がミップマップ画像データS306としてバッファ309に出力される。
【0067】
バッファ307では、低速のビデオクロックVCLKに同期してラインバッファ300からパラレル転送された1ライン部のデータが入力され、入力されたデータがビデオクロックVCLKより高速クロックHICLKに同期してシリアルデータとして非同期FIFO310に転送される。
バッファ308では、低速のビデオクロックVCLKに同期して1/2フィルタ部305からパラレル転送された1/2縮小のミップマップ画像データS305が入力され、入力されたデータが高速HICLKに同期してシリアルデータとして非同期FIFO311に転送される。
同様に、バッファ309では、低速のビデオクロックVCLKに同期して1/4フィルタ部306からパラレル転送された1/4縮小のミップマップ画像データS306が入力され、入力されたデータが高速クロックHICLKに同期してシリアルデータとして非同期FIFO312に転送される。
【0068】
そして、非同期FIFO310において、バッファ307から転送された1ライン分のシリアルデータが順次に入力され、入力順にLOD0のデータとして出力回路313に出力される。
また、非同期FIFO311では、バッファ308からシリアルデータとして転送されたLOD1のデータである1/2縮小のミップマップ画像データが順次に入力され、入力順に出力回路313に出力される。
同様に、非同期FIFO312では、バッファ309からシリアルデータとして転送されたLOD2のデータである1/4縮小のミップマップ画像データが順次に入力され、入力順に出力回路313に出力される。
【0069】
出力回路313では、非同期FIFO310によるLOD0の1ライン分のシリアルデータ、非同期FIFO311によるLOD1の1/2縮小のミップマップ画像データ、および非同期FIFO312によるLOD2の1/4縮小のミップマップ画像データが、メモリ空間MSのベースポインタBPを切り換えて、ライン毎に書き込まれるように、非同期FIFO310、311、312の出力が選択され、選択されたミップマップ画像データがフレームメモリ4に出力される。
【0070】
テクスチャメモリ4では、ミップマップ処理回路3からのミップマップ画像データS30〜S3nが、AVバス9およびテクスチャメモリ4のバス43を介して、物理メモリ42の書き込みポートに入力され、物理メモリ42に書き込まれる。
このとき、図8を参照して説明したように、ミップマップ画像データS30〜S3nは、メモリ空間MSのベースポインタBPを切り換えて、衝突することなくライン毎に連続して書き込まれる。
そして、物理メモリ41,42への書き込み動作とは独立に、レンダリング回路5からの要求に応じて、物理メモリ41および42に記憶された画像データ(ビデオ信号)S4が、バス44およびAVバス9を介して、レンダリング回路5に読み出される。
【0071】
次に、レンダリング回路5によって、テクスチャメモリ4に記憶されたビデオ信号S2,S31 〜S3n のうち、制御回路8によって指定されたLODレベルのビデオ信号がビデオ信号S4としてテクスチャメモリ4から読み出される。
そして、レンダリング回路5において、ビデオ信号S4を用いてレンダリング処理が行われ、それによって生成されたビデオ信号S5がフレームメモリ6に書き込まれる。
そして、フレームメモリ6から読み出されたビデオ信号がディスプレイ7に出力され、ビデオ信号に応じた画像がディスプレイ7に表示される。
【0072】
以上説明したように、本実施形態によれば、原画像データの1ライン分のデータを保持し、保持したデータを順次にパラレル転送する、縦続接続されたラインバッファ300〜304と、各ラインバッファで保持された連続する3ライン分、5ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出し、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する1/2フィルタ部305、1/4フィルタ部306と、フィルタ部305,306で生成されたミップマップ画像を所定のタイミングで出力する出力回路313を設けたので、回路規模の増大を招くことなく、ミップマップ処理によってリアルタイムに1または複数の解像度のミップマップ画像データを生成することができる利点がある。
そして、生成したミップマップ画像データを用いて高精度でテクスチャマッピング処理を行うことができる利点がある。
【0073】
また、フィルタ部305,306は、n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出することから、よりリアルタイムに1または複数の解像度のミップマップ画像データを生成することができる。
【0074】
図10は、折り返しノイズの発生度合いを示す図である。
図10(A)のように折り返しノイズが発生する原(オリジナル)画像データを従来のように間引き処理により詳細度LOD1で縮小した場合、図10(B)に示すように、折り返しノイズを十分に取り除くことができない。
これに対して、本発明のフィルタ部を用いた場合、図10(C)に示すように、折り返しノイズを十分に取り除くことができる。
そのため、画像処理装置1によれば、レンダリング回路5が生成した3次元動画像信号によって得られる画像は、縮小時のエイリアシングが抑えられた高品質なものになる。
【0075】
なお、ミップマップ処理においては、縮小画像は厳密には縦横のサイズが1×1ピクセルのサイズまで利用される可能性があるが、実際には動画像の内容を確認できなくなるほど縮小することは少ないと考えられるため、ビデオ信号S2がHDTV(High Definition Television, 1920×1080ピクセル)やSDTV(Standard Definition Television, 720×525ピクセル)程度のサイズである場合、ミップマップ処理回路3は、LODレベル「1」,「2」,「3」のミップマップ画像データを生成すれば十分である。
【0076】
【発明の効果】
以上説明したように、本発明によれば、回路規模の増大を招くことなく、ミップマップ処理によってリアルタイムに1または複数の解像度のミップマップ画像データを生成することができる利点がある。
そして、生成したミップマップ画像データを用いて高精度でテクスチャマッピング処理を行うことができる利点がある。
【図面の簡単な説明】
【図1】本発明に係る画像処理システムの全体構成を示す図である。
【図2】図1に示す画像処理装置の要部を信号の流れを含めてより具体的に示すブロック図である。
【図3】図1および図2に示す本発明に係る画像生成装置としてのミップマップ処理回路の具体的な構成例を示す図である。
【図4】本発明に係る画像生成装置としてのミップマップ処理回路の動作を説明するためのタイミングチャートである。
【図5】本発明に係る画像生成としてミップマップ処理回路における1/2フィルタ部の処理を説明するための図である。
【図6】本発明に係る画像生成としてミップマップ処理回路における1/2フィルタ部および1/4フィルタ部の処理を説明するための図である。
【図7】本発明に係る画像生成としてミップマップ処理回路における1/4フィルタ部の処理を説明するための図である。
【図8】テクスチャメモリへのミップマップ画像データをメモリ空間に書き込む場合の例を示す図である。
【図9】図1および図2に示すテクスチャメモリの構成例を示す図である。
【図10】折り返しノイズの発生度合いを示す図である。
【図11】テクスチャマッピング処理を説明するための図である。
【図12】ミップマップ処理を説明するための図である。
【符号の説明】
1…画像処理装置、2…ビデオ信号生成回路、3…ミップマップ処理回路、4…テクスチャメモリ、5…レンダリング回路、6…フレームメモリ、7…ディスプレイ、8…制御回路、9…AVバス、300〜304…ラインバッファ、305…1/2フィルタ部、306…1/4フィルタ部、307〜309…バッファ、310〜312…非同期FIFO、313…出力回路、41、42…物理メモリ、43,44…バス。
Claims (14)
- テクスチャの原画像データを受けて、所定の詳細度を持って縮小したミップマップ画像を生成する画像生成装置であって、
上記原画像データの1ライン分のデータを保持し、保持したデータを順次にパラレル転送する、縦続接続された5つのラインバッファと、
上記各ラインバッファで保持された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出し、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する少なくとも2つのフィルタ部と、
パラレルイン・シリアルアウト機能を有し、最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングで出力する複数のバッファを含む出力部と、を有し、
上記各フィルタ部は、
縮小率に応じた縮小フィルタを含み、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、
2ライン分取り込む毎に縮小フィルタの結果を保持し、
上記原画像データの入力段の上記ラインバッファは、
シリアルイン・パラレルアウト機能を有し、シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部に出力する処理を順次繰り返し、
2段目以降の上記ラインバッファは、
水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、
上記各フィルタ部は、
上記係数kが1の1/2縮小処理を行う1/2フィルタ部と、
上記係数kが2の1/4縮小処理を行う1/4フィルタ部と、を含み、
上記係数kが1の縮小率の上記1/2フィルタ部は、
最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、
上記係数kが2の縮小率の上記1/4フィルタ部は、
上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する
画像生成装置。 - 上記各フィルタ部は、n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出する
請求項1記載の画像生成装置。 - 上記出力部の上記バッファは、ビデオクロックに同期して上記フィルタ部で生成されたミップマップ画像データを入力し、上記ビデオクロックより高速なクロックで出力する
請求項1または2記載の画像生成装置。 - 上記出力部は、上記各バッファによるミップマップ画像データを、それぞれ異なるタイミングで出力する出力回路を含む
請求項1から3のいずれか一に記載の画像生成装置。 - 上記出力回路は、各バッファの出力毎に、出力すべき記憶回路のメモリ空間のベースポインタを切り換えて、ライン毎に書き込まれるように、各フィルタ部で生成されたミップマップ画像データを選択して出力する
請求項4記載の画像生成装置。 - テクスチャの原画像データの1ライン分のデータを保持し、保持したデータを順次にパラレル転送する、縦続接続された5つのラインバッファと、上記各ラインバッファで保持された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出し、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する少なくとも2つのフィルタ部と、パラレルイン・シリアルアウト機能を有し、最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングで出力する複数のバッファを含む出力部と、を有する画像生成装置と、
上記原画像データおよび上記画像生成装置から出力されるミップマップ画像を記憶する記憶回路と、
上記記憶回路に記憶された画像データに基づいてテクスチャマッピング処理を行って出力画像を生成する画像処理回路と、を有し、
上記画像生成装置において、
上記各フィルタ部は、
縮小率に応じた縮小フィルタを含み、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、
2ライン分取り込む毎に縮小フィルタの結果を保持し、
上記原画像データの入力段の上記ラインバッファは、
シリアルイン・パラレルアウト機能を有し、シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部に出力する処理を順次繰り返し、
2段目以降の上記ラインバッファは、
水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、
上記フィルタ部は、
上記係数kが1の1/2縮小処理を行う1/2フィルタ部と、
上記係数kが2の1/4縮小処理を行う1/4フィルタ部と、を含み、
上記係数kが1の縮小率の上記1/2フィルタ部は、
最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、
上記係数kが2の縮小率の上記1/4フィルタ部は、
上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する
画像処理装置。 - 上記各フィルタ部は、n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出する
請求項6記載の画像処理装置。 - 上記出力部の上記バッファは、ビデオクロックに同期して上記フィルタ部で生成されたミップマップ画像データを入力し、上記ビデオクロックより高速なクロックで出力する
請求項6または7記載の画像処理装置。 - 上記出力部は、上記各バッファによるミップマップ画像データを、それぞれ異なるタイミングで出力する出力回路を含む
請求項6から8のいずれか一に記載の画像処理装置。 - 上記出力回路は、各バッファの出力毎に、出力すべき記憶回路のメモリ空間のベースポインタを切り換えて、ライン毎に書き込まれるように、各フィルタ部で生成されたミップマップ画像データを選択して出力する
請求項9記載の画像処理装置。 - テクスチャの原画像データを受けて、所定の詳細度を持って縮小したミップマップ画像を生成する画像生成方法であって、
上記原画像データの1ライン分のデータを5ライン分、縦続接続されたラインバッファに保持する保持ステップと、
上記ラインバッファに保持したデータを順次にパラレル転送する転送ステップと、
フィルタ部において、上記各ラインバッファで保持され、パラレル転送された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出する抽出ステップと、
上記フィルタ部において、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する生成ステップと、
最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングでシリアルデータとして、パラレルイン・シリアルアウト機能を有するバッファにより出力する出力ステップと、を有し、
上記生成ステップにおいては、
上記フィルタ部において、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、
上記原画像データの入力段の上記ラインバッファにおいては、
シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部にパラレルに出力する処理を順次繰り返し、
2段目以降の上記ラインバッファにおいては、
水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、
上記抽出ステップおよび上記生成ステップにおいては、
フィルタ部において、縮小率に応じた縮小フィルタを用いた処理を行い、2ライン分取り込む毎に縮小フィルタの結果を保持し、
上記保持ステップおよび上記転送ステップにおいては、
縦続接続された5つのラインバッファによりデータの保持およびパラレル転送を行い、
上記生成ステップは、
上記係数kが1の1/2縮小処理を行う1/2縮小画像生成ステップと、
上記係数kが2の1/4縮小処理を行う1/4縮小画像生成ステップと、を含み、
上記係数kが1の縮小率の上記1/2縮小画像生成ステップにおいては、
上記フィルタ部において、最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、
上記係数kが2の縮小率の上記1/4縮小画像生成ステップにおいては、
上記フィルタ部において、上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する
画像生成方法。 - n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出する
請求項11記載の画像生成方法。 - テクスチャの原画像データの1ライン分のデータを5ライン分、縦続接続されたラインバッファに保持する保持ステップと、
上記ラインバッファに保持したデータを順次にパラレル転送する転送ステップと、
フィルタ部において、上記各ラインバッファで保持され、パラレル転送された連続する少なくとも3ライン分のデータを受けて、入力ライン数nに基づく所定の画素を中心としたn×nの画素を抽出する抽出ステップと、
上記フィルタ部において、抽出したn×nの画素を重み付けされた係数で色値を加重平均して、テクスチャの幅、高さをあらかじめ設定した詳細度をもって縮小し所望のミップマップ画像データを生成する第1の生成ステップと、
最終段の上記ラインバッファからパラレル転送されるデータおよび上記各フィルタ部で生成されてパラレル転送されるミップマップ画像データを所定のタイミングでシリアルデータとして、パラレルイン・シリアルアウト機能を有するバッファにより出力する出力ステップと、
原画像データおよび生成したミップマップ画像データを記憶回路に記憶する記憶ステップと、
上記記憶ステップで記憶された画像データに基づいてテクスチャマッピング処理を行って出力画像を生成する第2の生成ステップと、を有し、
上記第1の生成ステップにおいては、
上記フィルタ部において、係数kを1≦k≦nを満たす整数とした場合に、原画像データの縦横のサイズを1/2k 倍にした縮小率の異なる縮小画像を生成し、
上記原画像データの入力段の上記ラインバッファにおいては、
シリアルデータである原画像データを水平同期信号に同期して順次入力して1ライン分のデータを保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段のラインバッファおよび上記係数kが2を含む2以上の縮小率の所定のフィルタ部にパラレルに出力する処理を順次繰り返し、
2段目以降の上記ラインバッファにおいては、
水平同期信号に同期して前段の上記ラインバッファからパラレル転送された1ライン分のデータを入力して保持し、次の水平同期信号に同期して保持した1ライン分のデータを次段の上記ラインバッファおよび上記フィルタ部に出力する処理を繰り返し、
上記抽出ステップおよび上記第1の生成ステップにおいては、
フィルタ部において、縮小率に応じた縮小フィルタを用いた処理を行い、2ライン分取り込む毎に縮小フィルタの結果を保持し、
上記保持ステップおよび上記転送ステップにおいては、
縦続接続された5つのラインバッファによりデータの保持およびパラレル転送を行い、
上記第1の生成ステップは、
上記係数kが1の1/2縮小処理を行う1/2縮小画像生成ステップと、
上記係数kが2の1/4縮小処理を行う1/4縮小画像生成ステップと、を含み、
上記係数kが1の縮小率の上記1/2縮小画像生成ステップにおいては、
上記フィルタ部において、最終段の上記ラインバッファを含む当該最終段の上記ラインバッファから3ラインバッファにより転送されたデータを受けて縮小率1/2のミップマップ画像データを生成し、当該1/2縮小処理は、最初は3水平同期期間で行い、以降、2水平同期信号に一度行い、2水平同期信号に一度フィルタリング結果を対応する上記バッファに出力し、
上記係数kが2の縮小率の上記1/4縮小画像生成ステップにおいては、
上記フィルタ部において、上記5つのラインバッファから転送されたデータを受けて縮小率1/4のミップマップ画像データを生成し、当該1/4の縮小処理は、最初は2水平同期期間で行い、以降、2水平同期信号に一度行い、4水平同期信号に一度フィルタリング結果を対応する上記バッファに出力する
画像処理方法。 - n×nの画素を抽出する場合、隣接するn×nの抽出画素とラインをオーバーラップさせて抽出する
請求項13記載の画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001168120A JP4670185B2 (ja) | 2001-06-04 | 2001-06-04 | 画像生成装置、画像処理装置およびそれらの方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001168120A JP4670185B2 (ja) | 2001-06-04 | 2001-06-04 | 画像生成装置、画像処理装置およびそれらの方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002358537A JP2002358537A (ja) | 2002-12-13 |
JP4670185B2 true JP4670185B2 (ja) | 2011-04-13 |
Family
ID=19010395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001168120A Expired - Fee Related JP4670185B2 (ja) | 2001-06-04 | 2001-06-04 | 画像生成装置、画像処理装置およびそれらの方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4670185B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4224093B2 (ja) | 2006-09-25 | 2009-02-12 | 株式会社東芝 | テクスチャフィルタリング装置、テクスチャマッピング装置、方法およびプログラム |
JP4931055B2 (ja) * | 2006-11-22 | 2012-05-16 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
KR101345379B1 (ko) | 2007-06-28 | 2014-01-22 | 삼성전자주식회사 | 3차원 그래픽스 데이터 렌더링 방법 및 장치 |
KR100977396B1 (ko) | 2008-08-08 | 2010-08-24 | 팅크웨어(주) | 밉맵 이미지 처리 장치 및 그 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996007987A1 (fr) * | 1994-09-09 | 1996-03-14 | Sony Corporation | Circuit integre pour le traitement des signaux numeriques |
JP2000155850A (ja) * | 1998-11-20 | 2000-06-06 | Sony Corp | テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置 |
JP2000270211A (ja) * | 1999-03-16 | 2000-09-29 | Fuji Xerox Co Ltd | 画像処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230555A (ja) * | 1993-12-22 | 1995-08-29 | Matsushita Electric Ind Co Ltd | ミップマップ画像生成装置および生成方法 |
JP3618826B2 (ja) * | 1994-07-25 | 2005-02-09 | キヤノン株式会社 | 画像信号処理装置及び方法 |
JPH08263628A (ja) * | 1995-03-22 | 1996-10-11 | Hitachi Ltd | 画像処理プロセッサおよびそれを用いた画像処理システム |
JP3712139B2 (ja) * | 1995-10-31 | 2005-11-02 | ソニー株式会社 | 画像作成装置および方法 |
JPH11175739A (ja) * | 1997-12-12 | 1999-07-02 | Hitachi Ltd | 3次元図形表示処理装置及びその表示方法 |
-
2001
- 2001-06-04 JP JP2001168120A patent/JP4670185B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996007987A1 (fr) * | 1994-09-09 | 1996-03-14 | Sony Corporation | Circuit integre pour le traitement des signaux numeriques |
JP2000155850A (ja) * | 1998-11-20 | 2000-06-06 | Sony Corp | テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置 |
JP2000270211A (ja) * | 1999-03-16 | 2000-09-29 | Fuji Xerox Co Ltd | 画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2002358537A (ja) | 2002-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6327000B1 (en) | Efficient image scaling for scan rate conversion | |
US6411333B1 (en) | Format conversion using patch-based filtering | |
US6556193B1 (en) | De-interlacing video images using patch-based processing | |
US6724948B1 (en) | Scaling images for display | |
US5481275A (en) | Resolution enhancement for video display using multi-line interpolation | |
US6441818B1 (en) | Image processing apparatus and method of same | |
JP2006330704A (ja) | 最小大きさの出力メモリを備えたビデオスケーラ及び出力メモリの大きさ選択方法 | |
US20110148888A1 (en) | Method and apparatus for controlling multiple display panels from a single graphics output | |
JP4445122B2 (ja) | 2タップ/3タップフリッカフィルタリングのためのシステム及び方法 | |
US6552750B1 (en) | Apparatus for improving the presentation of graphics data on a television display | |
JP4670185B2 (ja) | 画像生成装置、画像処理装置およびそれらの方法 | |
US7528841B2 (en) | Image transformation apparatus, image transformation circuit and image transformation method | |
JP2002099926A (ja) | 画像処理装置、受信装置およびそれらの方法 | |
CN109873954B (zh) | 一种基于FPGA实现Bayer阵列彩色恢复方法 | |
JPH06209406A (ja) | 電子画像処理装置および画像データ作成方法 | |
JP3268999B2 (ja) | 映像信号処理回路 | |
JP2510019B2 (ja) | 画像表示方法および装置 | |
JP2002197454A (ja) | 画像変換装置及び方法 | |
JPH05292393A (ja) | 動画編集処理方式 | |
JPH10187124A (ja) | 描画装置および描画方法 | |
JP2622622B2 (ja) | 走査線数変換制御方式 | |
JP2001155673A (ja) | 走査型電子顕微鏡 | |
JP3420151B2 (ja) | 画像処理装置 | |
JPH07225562A (ja) | 走査変換装置 | |
JP3092581B2 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101126 |
|
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: 20101221 |
|
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: 20110103 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140128 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |