(57)【特許請求の範囲】
【請求項１】
各々ｎビットのデータ幅のデータを記憶するメモリであって、任意のデータが記憶されている第１のメモリおよび第２のメモリと、
入力されたデータに基づいて、前記第１のメモリおよび前記第２のメモリの当該データに対応するデータが記憶されているアドレスを求めるアドレス検出手段と、
前記第１のメモリおよび前記第２のメモリに、前記求められたアドレスを印加し、当該アドレスに記憶されているデータを各々読み出すデータ読み出し手段と、
前記入力されたデータに基づいて、前記第１のメモリより読み出されたデータまたは前記第２のメモリより読み出されたデータのいずれか一方を選択する第１のデータ選択手段と、
前記選択されたデータを、２×ｎビット幅のデータに拡張するデータ拡張手段と、
入力される選択信号に基づいて、前記第１のメモリより出力されたデータと前記第２のメモリより出力されたデータとを連結して形成される第１のデータ、または、前記拡張されたデータのいずれかを選択する第２のデータ選択手段と
を有し、前記データの入力に対して前記第２のデータ選択手段で選択されたデータを出力する
データ変換装置。
【請求項２】
前記アドレス検出手段は、前記入力されたデータと、所定のベースアドレスとを加算して、前記対応するデータが記憶されているアドレスを求める
請求項１記載のデータ変換装置。
【請求項３】
前記第１のメモリおよび前記第２のメモリには実カラーデータが記憶され、
前記アドレス検出手段には、読み出し対象の実カラーデータに対応して付されたインデックスカラーデータが入力され、
インデックスカラーデータを実カラーデータに変換する
請求項２記載のデータ変換装置。
【請求項４】
前記実カラーデータは、赤色輝度データ、緑色輝度データ、青色輝度データ、および、透明度データを有するデータである
ことを特徴とする請求項３記載のデータ変換装置。
【請求項５】
前記第１のメモリおよび前記第２のメモリは各々１６ビットのデータ幅のデータを記憶するメモリであり、
前記実カラーデータは、赤色輝度データ、緑色輝度データ、青色輝度データおよび透明度データが、各々８ビットずつの３２ビットのデータ、または、５ビット、５ビット、５ビット、１ビットの１６ビットのデータであり、
前記データ拡張手段は、前記読み出したデータが前記１６ビットの実カラーデータであった場合に、前記選択されたデータを、３２ビットの実カラーデータに拡張し、
前記第２のデータ選択手段は、前記読み出したデータが、前記３２ビットの実カラーデータであった場合は、前記第１のメモリより出力されたデータと前記第２のメモリより出力されたデータとを連結して形成される３２ビットの実カラーデータを選択し、前記読み出したデータが前記１６ビットの実カラーデータであった場合は、前記拡張された３２ビットの実カラーデータを選択する
請求項４記載のデータ変換装置。
【請求項６】
前記入力されるデータのデータ幅は、ｎビットより小さい
ことを特徴とする請求項１記載のデータ変換装置。
【請求項７】
前記第１のメモリ、前記第２のメモリ、前記アドレス検出手段、前記データ読み出し手段と、前記第１のデータ選択手段、前記データ拡張手段、および、前記第２のデータ選択手段は、
集積回路として構成されている
ことを特徴とする請求項１記載のデータ変換装置。
【請求項８】
任意の３次元立体モデルが、少なくとも３次元位置情報を有する頂点によって示される基本多角形の集合として示されている３次元画像データの、当該基本多角形の前記頂点に対して所定の座標変換を行う座標変換手段と、
前記基本多角形の頂点のデータに基づいて、当該基本多角形の画素データを生成する画素データ生成手段と、
前記生成された各画素データに対してテクスチャマッピングを行うための、テクスチャインデックスデータを、実テクスチャデータに変換するデータ変換装置と、
前記生成された各画素データに対して、前記変換された実テクスチャデータを用いてテクスチャマッピングし、表示用３次元画像データを生成するテクスチャマッピング手段と、
前記生成された表示用３次元画像データとして記憶する画像メモリと、
前記記憶された表示用３次元画像データより所望の領域のデータを読み出し表示用画面データとして出力する出力手段と
を有し、
前記データ変換装置は、
各々ｎビットのデータ幅のデータを記憶するメモリであって、テクスチャデータの実データが記憶されている第１のメモリおよび第２のメモリと、
入力されたインデックステクスチャデータに基づいて、前記第１のメモリおよび前記第２のメモリの当該インデックステクスチャデータに対応する実テクスチャデータが記憶されているアドレスを求めるアドレス検出手段と、
前記第１のメモリおよび前記第２のメモリに、前記求められたアドレスを印加し、当該アドレスに記憶されている前記実テクスチャデータを各々読み出すデータ読み出し手段と、
前記インデックステクスチャデータに基づいて、前記第１のメモリより読み出された実テクスチャデータまたは前記第２のメモリより読み出された実テクスチャデータのいずれか一方を選択する第１のデータ選択手段と、
前記選択されたデータを、２×ｎビット幅のデータに拡張するデータ拡張手段と、
入力される選択信号に基づいて、前記第１のメモリより出力された実テクスチャデータと前記第２のメモリより出力された実テクスチャデータとを連結して形成される第１のデータ、または、前記拡張されたデータのいずれかを選択する第２のデータ選択手段と
を有し、前記インデックステクスチャデータの入力に応じて実テクスチャデータを出力する
画像生成装置。
【請求項９】
前記アドレス検出手段は、前記入力されたインデックステクスチャデータと、インデックステーブルの所定のベースアドレスとを加算して、前記実テクスチャデータが記憶されているアドレスを求める
請求項８記載の画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インデックスデータを実データに変換するデータ変換装置、および、そのデータ変換によりたとえばインデックステクスチャデータを実テクスチャデータに変換し、適切にテクスチャマッピングを行えるようにした画像生成装置に関する。
【０００２】
【従来の技術】
たとえば画像データのような大量のデータをコンピュータなどの処理装置に記憶する際には、その装置の限られた記憶領域を有効に活用するために、データ量を削減して記憶するのが好ましい。そのような、データ量を削減する一般的な方法として、インデックスデータを使用する方法がある。
この方法は、実際のデータ（以後、これを実データまたはリアルデータと言う場合もある）にそのデータビット幅より小さいビット幅で示される番号を付与し、この番号によりデータを記憶することにより、実際のデータを直接記憶するよりも少ないデータ量でそのデータを記憶できるようにするものである。この、実際のデータに付与した番号をインデックスと言い、インデックスで参照する形式に変換されたデータをインデックスデータと言う。
【０００３】
インデックスデータを用いる際には、処理装置内部に、インデックスデータと実データとを対応付けるリストであるインデックステーブルと、インデックスデータで表されたデータの両方を記憶する必要がある。しかし通常は、インデックステーブルを記憶することによって生じるデータ量の増加分より、インデックスデータを用いることによって生じるデータ量の減少分の方が圧倒的に大きいため、全体としてデータ量を大幅に削減できる。
【０００４】
画像データに対して、このインデックスデータによる記憶方法を適用した場合には、処理装置の内部では画像データをインデックスデータで記憶しておき、ディスプレイにその画像データを表示する場合など、外部にその画像データを出力する時に、インデックスデータを実データに変換して出力することになる。そしてこのインデックスデータの実データへの変換は、たとえばディスプレイの表示速度などに応じて高速に行う必要がある。そこで通常このデータ変換処理は、ハードウェアにより構成されたデータ変換装置により行われる場合が多い。
【０００５】
具体的には、データ変換装置はたとえばメモリを用いて構成され、インデックスをアドレスとして入力すると、出力データとして変換された実データが出力されるようになっている。
そのような、メモリにより構成されたデータ変換装置の一例を図６に示す。
図６（Ａ）は、３ビットのインデックスデータを３２ビットの実データに変換するメモリにより構成されたデータ変換装置を示す図である。また、このメモリに記憶されているインデックスデータの内容を図６（Ｂ）に示す。
【０００６】
ところで、コンピュータグラフィックスの分野においては、データ量が非常に多いカラー画像データを処理対象としているために、カラーデータをインデックスを用いて表現するインデックスカラーによる処理がよく利用されている。
インデックスカラーによる処理とは、たとえばＲ，Ｇ，Ｂ各８ビットで構成される２４ビットのリアルカラーデータに対し、必要とする特定のカラーの数により、たとえば４ビット、８ビット、１６ビットなどのインデックスカラーデータを規定し、そのインデックスカラーデータに対応したインデックステーブルを保持して、インデックスカラーデータをリアルカラーデータに変換する処理である。
【０００７】
コンピュータグラフィックスを用いる処理には、カラー数を限定して使用しても実用上問題が生じないようなアプリケーションも多く、そのような場合により一層、このインデックスカラーによる処理が利用されている。
このインデックスカラーデータをリアルカラーデータに高速変換するデータ変換装置は、カラーデータを変換することから、カラールックアップテーブルと呼ばれる。
【０００８】
このようなインデックスデータを用いる場合、使用できるデータの種類は、インデックステーブルのエントリ数により制限される。しかし、アプリケーションによっては、インデックステーブルのエントリ数より多くのデータを使用したい場合もある。そこでこのような場合には、通常、インデックステーブルを書き換えて使用したり、インデックステーブルを複数具え、状況に応じて切り替えて使用するという方法が用いられている。ただし、インデックステーブルの書き換えを行う方法は、書き換え時間に相当する時間分、処理スピードが遅くなるため、一般的には、データ変換装置のメモリの記憶領域が許す範囲で、インデックステーブルを多くもつ方法がとられている。
【０００９】
このような方法により、インデックステーブルを複数具えたとしても、各時点で使用できるデータの種類は、選択されたインデックステーブルのエントリ数で制限されることには変わりはないが、インデックステーブルを多く持ち、一連の連続した処理の中でこれを適宜切り替えて使用することにより、アプリケーションから見ると、実質的に多くのデータを使用していることになる。
このように、インデックスデータによる処理においては、実用上、インデックステーブルを多く持つことが１つの非常に重要な事項となっている。
【００１０】
また、このようなインデックスデータを用いる場合には、インデックステーブルから出力されるデータのビット幅、つまり、インデックステーブルの精度も重要な事項である。
このインデックステーブルのデータ精度は、アプリケーションによりその要求が異なり、データ精度を必要とするものもあれがしないものあり、様々である。コンピュータグラフィックスの分野を例にとると、意匠デザイン用のＣＡＤなどでは、微妙な色合いの違いを表示することがデザイナーにとって非常に重要であり、インデックステーブルのデータに高い精度が要求される。しかし、機構設計用のＣＡＤなどの場合は、色によって部品を識別できればよい程度であり、部品個々の微妙な色の違いなどはあまり重要ではない。
【００１１】
このように、インデックスデータを用いた処理においては、エントリの数、および、インデックステーブルの精度が非常に重要な事項である。
【００１２】
【発明が解決しようとする課題】
しかしながら、これまでのデータ変換装置においては、エントリはメモリのアドレスと１対１に対応しており、インデックステーブルの精度はメモリのデータビット幅に対応しており、実質的に固定化されたもので、アプリケーションなどに対応して、調整できるようなものではない。
【００１３】
そのために、インデックステーブルの精度については、比較的高い精度が要求されるアプリケーションにも適用可能な精度となるように予め設定されている場合が多い。すなわち、各データがある程度長めのビット幅を有するようにしてある場合が多い。その結果、あまり精度が必要のないようなアプリケーションに用いる場合においても、必要以上の精度をもったインデックステーブルをもって処理を行うようになっている。
また、エントリ数については、なるべく多くしておくのが好ましいが、エントリ数を増やすことは結局使用するメモリ容量を増やすことになるので、通常は、十分に増やすことができない場合が多い。
【００１４】
すなわち、これまでのデータ変換装置においては、精度は不必要に高い割にはエントリ数が十分ではないなどの問題が生じ易く、メモリを有効に使用し、アプリケーションにあった適切なインデックスを用いた処理を行うことが難しいという問題があった。
その結果、このようなデータ変換装置を適用した種々の処理装置において、適切な処理が行えないという問題があった。
たとえば、画像を生成する処理などにこのデータ変換装置を適用した場合には、使用できる色の数が十分ではなく色による識別が適切に行えなかったり、微妙な色合いの表示が行えず所望の画像を表示することができないという問題が生じていた。
【００１５】
したがって、本発明の目的は、１つのエントリに対するインデックステーブルの精度、および、エントリの数を、必要に応じて適宜変更することができ、アプリケーションに適合した所望の形態で、適切にインデックスデータからリアルデータの変換が行えるようなデータ変換装置を提供することにある。
また、本発明の他の目的は、処理する画像データの種類などに応じて、１つのエントリに対するインデックステーブルの精度およびエントリの数を適宜変更することができ、これにより、アプリケーションに適合した所望の形態で、適切にインデックスカラーからリアルカラーへの変換が行え、所望の画像を適切に生成することができる画像生成装置を提供することにある。
【００１６】
【課題を解決するための手段】
したがって、本発明のデータ変換装置は、各々ｎビットのデータ幅のデータを記憶するメモリであって、任意のデータが記憶されている第１のメモリおよび第２のメモリと、入力されたデータに基づいて、前記第１のメモリおよび前記第２のメモリの当該データに対応するデータが記憶されているアドレスを求めるアドレス検出手段と、前記第１のメモリおよび前記第２のメモリに、前記求められたアドレスを印加し、当該アドレスに記憶されているデータを各々読み出すデータ読み出し手段と、前記入力されたデータに基づいて、前記第１のメモリより読み出されたデータまたは前記第２のメモリより読み出されたデータのいずれか一方を選択する第１のデータ選択手段と、前記選択されたデータを、２×ｎビット幅のデータに拡張するデータ拡張手段と、入力される選択信号に基づいて、前記第１のメモリより出力されたデータと前記第２のメモリより出力されたデータとを連結して形成される第１のデータ、または、前記拡張されたデータのいずれかを選択する第２のデータ選択手段とを有し、前記データの入力に対して前記第２のデータ選択手段で選択されたデータを出力する。
【００１７】
また、本発明の画像生成装置は、任意の３次元立体モデルが、少なくとも３次元位置情報を有する頂点によって示される基本多角形の集合として示されている３次元画像データの、当該基本多角形の前記頂点に対して所定の座標変換を行う座標変換手段と、前記基本多角形の頂点のデータに基づいて、当該基本多角形の画素データを生成する画素データ生成手段と、前記生成された各画素データに対してテクスチャマッピングを行うための、テクスチャインデックスデータを、実テクスチャデータに変換する前記データ変換装置と、前記生成された各画素データに対して、前記変換された実テクスチャデータを用いてテクスチャマッピングし、表示用３次元画像データを生成するテクスチャマッピング手段と、前記生成された表示用３次元画像データとして記憶する画像メモリと、前記記憶された表示用３次元画像データより所望の領域のデータを読み出し表示用画面データとして出力する出力手段とを有する。
【００１８】
【発明の実施の形態】
本発明の一実施の形態について図１〜図５を参照して説明する。
本実施の形態においては、家庭用ゲーム機などに適用される任意の３次元物体モデルに対する所望の３次元画像を、ディスプレイ上に高速に表示する３次元コンピュータグラフィックシステムに、本発明データ変換装置を適用した場合について説明する。
【００１９】
まず、その本発明のメモリ装置を適用する、３次元コンピュータグラフィックシステムについて図１を参照して説明する。
この３次元コンピュータグラフィックシステムは、立体モデルを単位図形である三角形（ポリゴン）の張り合わせとして表現しておき、このポリゴンを描画することで表示画面の各画素の色を決定しディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、３次元コンピュータグラフィックシステム１においては、平面を表わす（ｘ、ｙ）座標のほかに、奥行きを表わすｚ座標を用いて３次元物体を表わし、またこのｘ、ｙ、ｚの３つの座標で３次元空間内の任意の１点を特定する。
【００２０】
図１は、その３次元コンピュータグラフィックシステム１の構成を示すブロック図である。
３次元コンピュータグラフィックシステム１は、入力部２、３次元画像生成装置３および表示装置４を有する。
また、３次元画像生成装置３は、ジオメトリ演算部３２、パラメータ演算部３３、画素発生部３４、マッピング部３５、テクスチャメモリ３６、メモリ制御部３７、画像メモリ３８およびディスプレイ制御部３９を有する。
【００２１】
まず、各部の構成・機能について説明する。
入力部２は、３次元画像生成装置３に対して、表示対象の立体モデルのデータを入力する。本実施の形態においては、３次元コンピュータグラフィックシステム１は家庭用ゲーム機に適用されているので、入力部２は、その家庭用ゲーム機のゲーム自体を制御する主制御装置などに接続される。その主制御装置においては、ゲームの進行状況などに基づいて表示する画面を決定し、その画面表示に必要な立体モデルを選択し、その表示方法の情報を生成する。したがって入力部２は、これらの情報を、家庭用ゲーム機の主制御装置より受け取り、３次元画像生成装置３へ入力するのに適した形態に変換するなどして３次元画像生成装置３に入力する。
具体的には、入力部２は、前述したような表示する立体モデルのポリゴンデータを３次元画像生成装置３のジオメトリ演算部３２に入力する。また、その入力されるポリゴンのデータは、各頂点のｘ，ｙ，ｚ座標データおよびカラー、透明度、テクスチャなどの付随データである。
【００２２】
ジオメトリ演算部３２は、入力部２より入力されたポリゴンを、３次元空間中の所望の位置に配置させその位置におけるポリゴンデータを生成する。具体的には、ポリゴンの各頂点（ｘ、ｙ、ｚ）ごとに、並進変換、平行変換および回転変換などの幾何学的変換処理（ジオメトリ変換処理という場合もある）を行う。ジオメトリ変換処理を行ったポリゴンデータは、パラメータ演算部３３に出力される。
【００２３】
パラメータ演算部３３は、ジオメトリ演算部３２から入力されたポリゴンのデータ、すなわち、ポリゴンの各頂点のデータに基づいて、画素発生部３４においてポリゴン内部の画素データを発生するために必要なパラメータを求め、画素発生部３４に出力する。具体的にはたとえば、カラー、奥行きおよびテクスチャの傾きの情報などを求める。
【００２４】
画素発生部３４は、ジオメトリ演算部３２でジオメトリ変換処理が行われたポリゴンデータ、および、パラメータ演算部３３で求められたパラメータに基づいて、ポリゴンの各頂点間を線型補間してポリゴン内部およびエッジ部分のの画素データを発生する。また画素発生回路３４は、画素データの表示に対応した所定の２次元平面上でのアドレスの生成を行う。生成された画素データおよびアドレスは順次マッピング部３５に入力される。
【００２５】
マッピング部３５は、画素発生部３４で生成された画素データおよびアドレスを読み出し、その画素データに対して、テクスチャメモリ３６に格納されているテクスチャデータを用いて、テクスチャマッピング処理を行う。テクスチャマッピング処理を行った画素データおよびアドレスは、メモリ制御部３７にに出力する。
【００２６】
テクスチャメモリ３６は、マッピング部３５でテクスチャマッピングする際に用いるテクスチャパタンを記憶しておくメモリである。本実施の形態において、このテクスチャメモリ３６には、テクスチャデータがインデックスデータで記憶されている。
【００２７】
メモリ制御部３７は、マッピング部３５から入力される画素データおよびアドレス、および、既に画像メモリ３８に記憶されている対応する画素データに基づいて、新たな画素データを生成し、画像メモリ３８に記憶する。すなわち、メモリ制御部３７は、マッピング部３５から入力されるアドレスに対応した画素データを画像メモリ３８から読み出し、その画素データと、マッピング部３５から入力された画素データとを用いて、所望の画素演算処理を行い、得られた画素データを画像メモリ３８へ書き込む。
また、メモリ制御部３７は、ディスプレイ制御部３９から表示領域が指定された場合には、その表示領域の画素データを、画像メモリ３８から読み出し、ディスプレイ制御部３９に出力する。
【００２８】
画像メモリ３８は、表示用の画像データを記録するメモリであり、同時にアクセスすることができる２つのメモリバッファ、フレームバッファとＺバッファを有する。フレームバッファには、各画素のカラー情報であるフレームデータが格納される。また、Ｚバッファには、各画素の奥行き情報（Ｚ値）であるＺデータが格納される。
【００２９】
ディスプレイ制御部３９は、メモリ制御部３７を介して画像メモリ３８より読み出した表示領域の画素データを、表示装置４により表示可能なたとえば所定のアナログ信号に変換し、表示装置４に出力する。なお、これに先立ちディスプレイ制御部３９は、メモリ制御部３７に対して、表示すべき表示領域の画素データの要求を行う。
【００３０】
表示装置４は、本実施の形態においては、通常家庭などで用いられているビデオ入力端子などを有するテレビジョン受信機である。３次元画像生成装置３のディスプレイ制御部３９からは、ビデオ信号入力端子を介してアナログビデオ信号が入力され、その信号に基づいて３次元映像を画面上に表示する。
【００３１】
次に、この３次元コンピュータグラフィックシステム１の動作について説明する。
まず、家庭用ゲーム機のゲーム自体を制御する主制御装置などにおいて、表示する３次元画像が決定されると、その画面表示に必要な立体モデルの情報が入力部２に入力される。入力部２はこの情報に基づいて、その画像を表示するための立体モデルのポリゴンデータを３次元画像生成装置３に入力する。
３次元画像生成装置３に入力された各ポリゴンデータは、まず、ジオメトリ演算部３２において、画面表示のために３次元空間中の所望の位置に配置されるように、並進変換、平行変換および回転変換などのジオメトリ変換処理が行われる。
【００３２】
次に、座標変換の行われたポリゴンデータに対して、パラメータ演算部３３においてポリゴン内部の画素データを発生するために必要なパラメータが求められ、画素発生部３４において、実際にポリゴンの各頂点間を線型補間してポリゴン内部およびエッジ部分の画素データが発生される。
発生された画素データは、順次マッピング部３５に入力される。マッピング部３５においては、テクスチャメモリ３６に記録されているインデックスデータであるテクスチャパタンデータを、リアルカラーデータに変換し、これを用いてテクスチャマッピング処理を行い、、生成した画素データをメモリ制御部３７を介して画像メモリ３８に記憶する。
【００３３】
画像メモリ３８に記憶された画素データは、同様の経路により入力される他の画素データや任意の制御データに基づいて適宜所望の処理が行われる。
これにより画像メモリ３８には常に最新の画像データが格納され、画面表示に供される。すなわち、表示装置４に表示するための所定の領域のデータの出力の要求がディスプレイ制御部３９からメモリ制御部３７に対して行われ、その領域の画素データが適宜画像メモリ３８から読み出され、ディスプレイ制御部３９において画面表示用の所定の信号に変換され、表示装置４に出力される。
これにより、表示装置４には、所望の画像が画面に表示される。
【００３４】
次に、本発明に係わるカラーデータ変換装置１００について図２〜図４を参照して説明する。
カラーデータ変換装置１００は、前述した３次元コンピュータグラフィックシステム１の３次元画像生成装置３０の、テクスチャマッピングを処理するマッピング部３５に格納されている。マッピング部３５は、テクスチャメモリ３６よりテクスチャデータを読み出して、画素発生部３４より入力される各画素データにマッピングしていくが、前述したように、テクスチャメモリ３６から読み出されるテクスチャデータは、インデックスカラーで記憶されている。したがってカラーデータ変換装置１００は、このインデックスカラーをリアルカラーに変換して、テクスチャマッピングの処理に供するために設けられているものである。
【００３５】
まず、カラーデータ変換装置１００の機能について概略を説明する。
前述したように、カラーデータ変換装置１００はインデックスカラーデータをインデックステーブル（以後、カラールックアップテーブルと言う。）を参照して、リアルカラーデータに変換する装置である。
インデックスカラーデータとしては、２ビット、４ビット、８ビットのデータを使用することができる。
カラールックアップテーブルは、複数具えることができ、ベースアドレスを指定することによりテーブルを指定するようになっている。
カラールックアップテーブルで管理するリアルカラーデータとしては、１６ビットデータと３２ビットデータの、精度の異なる２つのインデックスデータを扱うことができる。このインデックスデータの精度の選択は、インデックステーブルの精度のモード信号ｍｏｄｅにより選択される。
なお、カラーデータ変換装置１００から出力されるデータは、３２ビットのリアルカラーデータである。
【００３６】
この１６ビットおよび３２ビットのリアルカラーデータのフォーマットを図２に示す。
図２（Ａ）に示すように、１６ビットリアルカラーデータは、ＬＳＢ側より、５ビットの赤輝度データＲ、５ビットの緑輝度データＧ、５ビットの青輝度データＢ、および、１ビットの透明度データＡが配置された構成である。
また、図２（Ｂ）に示すように、３２ビットリアルカラーデータは、各々８ビットの赤輝度データＲ、緑輝度データＧ、青輝度データＢおよび透明度データＡが、ＬＳＢ側より配置された構成である。
【００３７】
次に、カラーデータ変換装置１００の具体的構成について、図３および図４を参照して説明する。
まず、図３を参照して、カラーデータ変換装置１００の構成の概略を説明する。
図３に示すように、カラーデータ変換装置１００は、基本的な構成部として、入力インターフェイス部１１０、メモリ部１２０およびデータ拡張部１３０を有する。
入力インターフェイス部１１０は、テクスチャメモリ３６より読み出され入力されるデータより、必要なフィールドを抜き出してインデックスカラーデータを抽出し、メモリ部１２０に入力する。
メモリ部１２０は、インデックステーブルを収容し、入力されるインデックスカラーをリアルカラーに変換する。
データ拡張部１３０は、メモリ部１２０から読み出されたリアルカラーデータが１６ビットデータであった場合に、３２ビットのフルカラーデータに拡張して出力する。
【００３８】
次に、図４を参照して、カラーデータ変換装置１００の各部の構成を詳細に説明する。
図４に示すように、カラーデータ変換装置１００は、入力インターフェイス部１１０としてセレクタ（ＳＥＬ）１１１および加算器（ＡＤＤ）１１２、メモリ部１２０として第１のメモリ（ＭＥＭ１）１２１および第２のメモリ（ＭＥＭ２）１２２、データ拡張部１３０として第１のマルチプレクサ（ＭＵＸ１）１３１、データ拡張器（ＥＸＴ）１３２および第２のマルチプレクサ（ＭＵＸ２）１３３を各々有する。
【００３９】
セレクタ１１１は、インデックステーブルの精度のモード信号ｍｏｄｅ、および、テクスチャメモリ３６より読み出されたデータの下位４ビットｍａｄｄｒ［３：０］に基づいて、テクスチャメモリ３６より読み出された３２ビットのデータｍｄａｔａのうちの有効な部分を選択し、必要に応じて上位に０を拡張し、８ビットのインデックスデータｉｎｄｅｘを生成して加算器１１２に出力する。
【００４０】
加算器１１２は、使用するインデックステーブルのベースアドレスｂａｓｅと、セレクタ１１１より入力されたインデックスデータｉｎｄｅｘの値を加算し、所望のエントリを指定する９ビットのメモリアドレスａｄｄｒ［８：０］を生成する。生成したメモリアドレスの下位８ビットａｄｄｒ［７：０］は、第１のメモリ１２１および第２のメモリ１２２に印加され、また、最上位のデータａｄｄｒ［８］は、第１のマルチプレクサ１３１に選択信号として出力される。
【００４１】
第１のメモリ１２１および第２のメモリ１２２は、実際にカラールックアップテーブルが記憶される、各々２５６アドレス×１６ビットデータのＳＲＡＭである。
第１のメモリ１２１および第２のメモリ１２２には、各々３２ビットで合計６４ビットの入力データ線ＷＤを介して、カラールックアップテーブルが記憶される。
また、第１のメモリ１２１および第２のメモリ１２２より読み出されたデータは、第１のマルチプレクサ１３１および第２のマルチプレクサ１３３に出力される。
【００４２】
なお、インデックステーブルの精度のモードが１６ビットモードの時は、この第１のメモリ１２１および第２のメモリ１２２の各記憶領域は、異なるアドレス空間に割り当てられていることになり、メモリ部１２０全体としては５１２アドレス×１６ビットの構成の記憶部となる。したがって、この時のインデックスエントリ数は、５１２エントリとなる。
また、インデックステーブルの精度のモードが３２ビットモードの時は、第１のメモリ１２１および第２のメモリ１２２の各記憶領域は、同一のアドレス空間の上位１６ビットの領域および下位１６ビットの領域に割り当てられていることになり、メモリ部１２０全体としては２５６アドレス×３２ビットの構成の記憶部となる。したがって、この時のインデックスエントリ数は、２５６エントリとなる。
【００４３】
第１のマルチプレクサ１３１は、加算器１１２で生成されたメモリアドレスのビット８の信号ａｄｄｒ［８］に基づいて、第１のメモリ１２１より入力される１６ビットのデータ、または、第２のメモリ１２２より入力される１６ビットのデータのいずれかを選択し、データ拡張器１３２に出力する。
【００４４】
データ拡張器１３２は、第１のマルチプレクサ１３１より入力される１６ビットのデータを、３２ビットのデータに拡張し、第２のマルチプレクサ１３３に出力する。
１６ビットのリアルカラーデータは、図２（Ａ）に示すように、５ビットの赤輝度データＲ、５ビットの緑輝度データＧ、５ビットの青輝度データＢおよび１ビットの透明度データＡから構成されている。データ拡張器１３２においては、各輝度データＲ，Ｇ，Ｂに対しては、５ビットデータｄ［４：０］に対し、ｄのＬＳＢ側にｄの上位３ビットのデータｄ［４：２］を付けて８ビットデータを作成する。また、透明度データＡに対しては、予め透明度データＡ＝０に対する８ビットのデータと、透明度データＡ＝１に対する８ビットのデータとを用意しておき、透明度データＡの値に基づいてこの８ビットのデータで置き換えることにより、８ビットのデータを作成する。
その結果、図２（Ｂ）に示すようなフォーマットの３２ビットのリアルカラーデータが生成される。
【００４５】
第２のマルチプレクサ１３３は、インデックステーブルの精度のモード信号ｍｏｄｅに基づいて、データ拡張器１３２より入力される３２ビットのデータ、または、第１のメモリ１２１および第２のメモリ１２２より出力される各々１６ビットのデータからなる３２ビットのデータのいずれかを選択し、カラーデータ変換装置１００からの出力データ、すなわち３２ビットリアルカラーデータとして出力する。
第２のマルチプレクサ１３３は、インデックステーブルの精度のモードが１６ビットモードの時はデータ拡張器１３２の出力を選択し、３２ビットモードの時は第１のメモリ１２１および第２のメモリ１２２の出力を選択する。
出力されたデータは、マッピング部３５のテクスチャマッピングを行う処理部に、入力される。
【００４６】
次に、カラーデータ変換装置１００の動作について説明する。
まず、カラーデータ変換装置１００においては、初期設定として、第１のメモリ１２１および第２のメモリ１２２へのカラールックアップテーブルの書き込みが行われる。
カラールックアップテーブルの書き込みは、セレクタ１１１を介してアドエスを入力し、６４ビットの入力データ線ＷＤに書き込みデータを印加し、リード／ライト制御信号ｒ／ｗをライトにし、チップイネーブル信号ｃｅをイネーブルにすることにより行う。
【００４７】
データ変換を行う時は、リード／ライト制御信号ｒ／ｗをリードに設定し、インデックテーブルの精度のモードｍｏｄｅ、および、使用するインデックステーブルのベースアドレスｂａｓｅを指定した上で、テクスチャメモリ３６より読み出したデータおよびアドレスの下位ビットをセレクタ１１１に入力する。
この入力したデータおよびアドレスに基づいて、セレクタ１１１でインデックスデータｉｎｄｅｘが生成され、加算器１１２でベースアドレスｂａｓｅと加算され、メモリアドレスａｄｄｒが生成される。
生成されたアドレスｄｄｒの下位８ビットａｄｄｒ［７：０］は、第１のメモリ１２１および第２のメモリ１２２へ印加され、第１のメモリ１２１および第２のメモリ１２２よりリアルデータがよみだされる。
【００４８】
インデックステーブルの精度のモードが３２ビットモードの時には、第１のメモリ１２１および第２のメモリ１２２からは３２ビットのリアルカラーデータが出力されるので、そのまま第２のマルチプレクサ１３３を介してマッピング部３５のテクスチャマッピング処理部に出力される。
【００４９】
また、インデックステーブルの精度のモードが１６ビットモードの時は、第１のメモリ１２１および第２のメモリ１２２から読み出されたデータは各々異なる１６ビットリアルカラーデータである。したがって、第１のメモリ１２１から出力されたデータまたは第２のメモリ１２２から出力されたデータのいずれかが、加算器１１２より出力されたアドレス信号の最上位ビットａｄｄｒ［８］に基づいて、第１のマルチプレクサ１３１で選択され、データ拡張器１３２に出力される。
データ拡張器１３２に入力された１６ビットリアルカラーデータは、前述したような方法により３２ビットリアルカラーデータに拡張され、第２のマルチプレクサ１３３を介してマッピング部３５のテクスチャマッピング処理部に出力される。
【００５０】
なお、１つのカラールックアップテーブルのエントリ数は、インデックスカラーデータが何ビットかにより決まる。２ビットインデックスカラーを使用する場合、インデックスカラー値は０、１、２、３の４つであり、エントリ数はこれに対応して４エントリである。同様に、４ビットインデックスカラーなら１６エントリ、８ビットインデックスカラーなら２５６エントリが１つのカラールックアップテーブルのエントリ数となる。
カラーデータ変換装置１００全体としては、メモリ部１２０は１６ビット×２５６アドレスのメモリ２個で構成しているので、インデックステーブルの精度のモードを１６ビットモードで使用する場合は５１２エントリ、３２ビットモードで使用する場合は、２５６エントリである。
インデックスカラーデータのビット数、および、インデックステーブルの精度のモードに応じて、メモリ部１２０に設定できるカラールックアップテーブルの数を図５に示す。
【００５１】
このように、本実施の形態のカラーデータ変換装置１００においては、インデックスカラーデータのビット数、すなわち、１つのカラールックアップテーブルの精度、および、エントリ数を、必要に応じて選択することができる。したがって、アプリケーションの種類などに応じて、必要な精度、必要なエントリ数でカラールックアップテーブルを構成することができ、アプリケーションに応じた適切なカラーデータを生成することができる。
【００５２】
また、本実施の形態の３次元コンピュータグラフィックシステム１においては、テクスチャマッピング時において、アプリケーションに応じて、適宜そのインデックステーブルの精度やエントリ数を調整することができる。したがって、アプリケーションに応じて、所望のカラー画像を得ることができ、メモリの有効活用および、それによるシステムの性能アップが可能となる。
【００５３】
なお、本発明は本実施の形態に限られるものではなく、種々の改変が可能である。
たとえば、データ拡張部１３０のデータ拡張器１３２におけるデータ拡張方法は、任意の方法でよい。たとえば、各データのＬＳＢ側に０００や１１１のような特定パタンを入れて拡張する方法でもよい。
また、カラールックアップテーブルの内容が固定であるならば、メモリ部１２０の第１のメモリ１２１および第２のメモリ１２２を、ＲＯＭで構成するようにしてもよい。ＲＯＭで構成すれば、カラーデータ変換装置１００をより小型化することができる。
また、メモリ部１２０に種々の演算結果を入れておくことにより、汎用的な演算器を構成するようにしてもよい。
【００５４】
【発明の効果】
以上説明したように、本発明のデータ変換装置を用いれば、１つのエントリに対するインデックステーブルの精度、および、エントリの数を必要に応じて適宜変更し、アプリケーションに適合した所望の形態で、適切にインデックスデータからリアルデータの変換が行える。
また、本発明の画像生成装置によれば、処理する画像データの種類などに応じて、１つのエントリに対するインデックステーブルの精度およびエントリの数を適宜変更することができ、これにより、アプリケーションに適合した所望の形態で、適切にインデックスカラーからリアルカラーへの変換が行え、所望の画像を適切に生成することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の３次元コンピュータグラフィックシステムの構成を示すブロック図である。
【図２】１６ビットおよび３２ビットのリアルカラーデータのフォーマットを示す図である。
【図３】図１に示した３次元コンピュータグラフィックシステムのマッピング部に設けられているカラールックアップテーブルの概略の構成を説明するためのブロック図である。
【図４】図２に示したカラールックアップテーブルの詳細なブロック図である。
【図５】図４に示したカラーデータ変換装置のメモリ部に設定できる、カラールックアップテーブルの数を示す図である。
【図６】従来のデータ変換装置の一例であり、メモリにより構成されたデータ変換装置を示す図である。
【符号の説明】
１…３次元コンピュータグラフィックシステム、２…入力部、３…３次元画像生成装置、４…表示装置、３２…ジオメトリ演算部、３３…パラメータ演算部、３４…画素発生部、３５…マッピング部、３６…テクスチャメモリ、３７…メモリ制御部、３８…画像メモリ、３９…ディスプレイ制御部、１００…カラールックアップテーブル、１１０…入力インターフェイス部、１１１…セレクタ、１１２…加算器、１２０…メモリ部、１２１…第１のメモリ、１２２…第２のメモリ、１３０…データ拡張部、１３１…第１のマルチプレクサ、１３２…データ拡張器、１３３…第２のマルチプレクサ
【図１】
0003903557.tif 000002
【図２】
0003903557.tif 000003
【図３】
0003903557.tif 000004
【図４】
0003903557.tif 000005
【図５】
0003903557.tif 000006
【図６】
0003903557.tif 000007