(57)【要約】【課題】メモリの数を減少し面積を大幅に削減できるデータ変換装置、そのデータ変換装置を用いた画像生成装置、及びそのデータ変換装置に用いられる記憶装置を提供する。【解決手段】ＳＲＡＭ１０３は、３００ＭＨｚの倍速クロック信号１０２で動作し、他の回路構成は、１５０ＭＨｚのシステムクロック信号１０１で動作する。互換回路１０４ａは、アドレス信号ＲＡ０とＲＡ１をシリアル信号に変換し、互換回路１０４ｂは、マルチポートＳＲＡＭ１０３から出力された信号ＲＡ０とＲＡ１に対応するデータからなるシリアル信号ＳＯＵＴから、信号ＲＡ０とＲＡ１に対応するデータＯＵＴ０とＯＵＴ１を抽出する。このように、２つのアドレス信号ＲＡ０とＲＡ１に対応するデータＯＵＴ０とＯＵＴ１を、１つのマルチポートＳＲＡＭ１０３から読み出す。【選択図】図５
2004139146.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号で動作する、インデックスに応じたデータが記憶されている記憶部と、
第２のクロック信号で動作する、複数の前記インデック信号を、前記第２のクロック信号に応じて第１のシリアル信号に変換し前記記憶部に入力する第１の互換回路と、
前記第２のクロック信号で動作する、前記第１のシリアル信号に変換された前記複数のインデックス信号に応じた前記記憶部に記憶されているデータを含む、前記記憶部から出力された第２のシリアル信号を、前記第２のクロック信号に応じて前記複数のインデックス信号に対応する複数のデータ信号に変換する第２の互換回路と
を有し、
前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数より高い
データ変換装置。
【請求項２】
前記第１の互換回路は、前記第２のクロック信号の１周期における複数の期間において、前記複数のインデックス信号を順次選択し、前記第１のシリアル信号を生成する第１の選択回路を有する
請求項１に記載のデータ変換装置。
【請求項３】
前記第２の互換回路は、前記第２のクロック信号の１周期における複数の期間において、前記第２のシリアル信号から、前記複数のデータ信号を順次選択し、前記複数のデータ信号を出力する第２の選択回路を有する
請求項１に記載のデータ変換装置。
【請求項４】
前記第１の互換回路は、２つの前記インデック信号を、前記第２のクロック信号に応じて前記第１のシリアル信号に変換し、
前記第２の互換回路は、当該第１のシリアル信号に変換された前記２つのインデックス信号に応じた前記記憶部に記憶されているデータを含む、前記記憶部から出力された前記第２のシリアル信号を、前記第２のクロック信号に応じて前記２つのインデックス信号に対応する２つのデータ信号に変換し、
前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数の２倍である
請求項１に記載のデータ変換装置。
【請求項５】
前記第１の互換回路は、前記第２のクロック信号の１周期における第１のレベル期間と第２のレベル期間において、前記２つのインデックス信号を順次選択し、前記第１のシリアル信号を生成する第１の選択回路を有する
請求項４に記載のデータ変換装置。
【請求項６】
前記第２の互換回路は、前記第２のクロック信号の１周期における第１のレベル期間と第２のレベル期間において、前記第２のシリアル信号から、前記２つのデータ信号を順次選択し、前記２つのデータ信号に出力する第２の選択回路を有する
請求項４に記載のデータ変換装置。
【請求項７】
画素データを生成する画素データ生成手段と、
前記生成された各画素データに対して、テクスチャインデックスデータを、テクスチャデータに変換するデータ変換装置と、
前記生成された画素データに対して、前記変換されたテクスチャデータを用いてテクスチャマッピングし、画像データを生成するテクスチャマッピング手段と、
前記生成された画像データを記憶する画像メモリと、
前記記憶された画像データより所望の領域のデータを読み出し、出力する画像データ出力手段と
を有し、
前記データ変換装置は、
インデックステクスチャデータに応じたテクスチャデータが記憶されている、第１のクロック信号で動作する記憶部と、
第２のクロック信号で動作する、複数のインデックステクスチャデータを前記第２のクロック信号に応じて第１のシリアル信号に変換し前記記憶部に入力する第１の互換回路と、
前記第２のクロック信号で動作する、前記第１のシリアル信号に変換された複数のインデックステクスチャデータに応じた前記記憶部に記憶されているテクスチャデータを含む、前記記憶部から出力された第２のシリアル信号を、前記第２のクロック信号に応じて前記複数のインデックステクスチャデータに対応する複数のテクスチャデータに変換する第２の互換回路と
を有し、
前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数より高い
画像生成装置。
【請求項８】
第１のクロック信号で動作する記憶部と、
第２のクロック信号で動作する、複数の入力信号を前記第２のクロック信号に応じて第１のシリアル信号に変換し前記記憶部に入力する第１の互換回路と
を有し、
前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数より高い
記憶装置。
【請求項９】
前記第２のクロック信号で動作する、前記第１のシリアル信号に変換された前記複数の入力信号に応じた前記記憶部に記憶されているデータからなり、前記記憶部から出力された第２のシリアル信号を、前記第２のクロック信号に応じて前記複数の入力信号に対応する複数の出力信号に変換する第２の互換回路をさらに有する
請求項８に記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インデックスデータを実データに変換するために用いられる記憶装置とデータ変換装置、および、そのデータ変換によりたとえばインデックステクスチャデータを実テクスチャデータに変換し、適切にテクスチャマッピングを行えるようにした画像生成装置に関する。
【０００２】
【従来の技術】
画像データのような大量のデータをコンピュータなどの処理装置内部のメモリに記憶する際には、その処理装置内部のメモリ資源を有効に活用するために、そのメモリに記憶するデータの量を削減して記憶するのが好ましい。そのような、データ量を削減する一般的な方法として、インデックスデータを使用する方法がある。この方法は、実際のデータ（以後、これを実データと言う場合もある）にそのデータビット幅より小さいビット幅で示される番号を付与し、この番号を記憶することにより、実際のデータを直接記憶するよりも少ないデータ量で必要なデータを記憶するものである。この実データに付与した番号をインデックス、或は、インデックスデータと言う。
【０００３】
インデックスデータを用いる際には、処理装置内部のメモリに、インデックスデータと実データとを対応付けるリストであるインデックステーブルと、インデックスデータの両方を記憶する必要がある。しかし通常は、インデックステーブルを記憶することによって生じるデータ量の増加分より、インデックスデータを用いることによって生じるデータ量の減少分の方が圧倒的に大きいため、全体としてデータ量を大幅に削減できる。
【０００４】
画像データに対して、このインデックスデータによる記憶方法を適用した場合には、処理装置の内部のメモリに画像データをインデックスデータで記憶しておく。外部にその画像データを出力する時に、例えば、ディスプレイにその画像データを表示する場合など、インデックスデータを実データに変換して出力することになる。
このインデックスデータの実データへの変換は、例えばディスプレイの表示速度などに応じて高速に行なう必要がある。通常このデータ変換処理は、ハードウェアにより構成されたデータ変換装置により行われる場合が多い。
【０００５】
具体的には、データ変換装置は、例えば、インデックスデータに対応した実データを記憶した専用のメモリを用いて構成され、インデックスデータをアドレスとしてデータ変換装置のそのメモリに入力すると、出力データとして実データが読み出される。
図１４は、メモリにより構成されたデータ変換装置の一例を模式的に示す図である。
図１４（Ａ）において、例えば、８ビットのインデックスデータをアドレスとしてデータ変換装置のメモリに入力し、データ変換装置のメモリにおいて入力されたアドレスに対応する１６ビットの実データを読み出す。
図１４（Ｂ）は、インデックスデータとメモリに記憶されている実データの内容を例示している。
【０００６】
以上の方法は、特にコンピュータグラフィックスの分野において良く用いられている。コンピュータグラフィックスの分野においては、データ量の非常に多いカラー画像データを処理対象としているために、カラーデータをインデックスで表現するインデックスカラーによる処理がよく利用されている。インデックスカラーによる処理とは、例えばＲ，Ｇ，Ｂ各８ビットで構成される２４ビットの実カラーデータに対し、必要とする特定のカラーの数により、例えば４ビット、８ビット、１６ビットなどのインデックスデータ（ここで、「インデックスカラーデータ」と呼ぶ）を規定し、そのインデックスカラーデータに対応したインデックステーブルを保持して、インデックスカラーデータを実カラーデータに変換する処理である。
【０００７】
コンピュータグラフィックスを用いる処理には、このインデックスカラーデータを実カラーデータに高速変換するデータ変換装置は、カラーデータを変換することから、カラールックアップテーブル（ＣＬＵＴ：　Ｃｏｌｏｒ　Ｌｏｏｋ−Ｕｐ　Ｔａｂｌｅ）と呼ばれる。
グラフィックス処理は、通常集積化回路（ＬＳＩ）によって行なわれ、データ変換装置は、例えば、カラーデータを記憶しておいたマルチポートＳＲＡＭ（Ｓｔａｔｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）で構成されている。マルチポートＳＲＡＭは、複数の書き込みポートと読出しポートを持つことが可能であり、複数のメモリセルにカラーデータを書きこむことができ、また、複数のメモリセルからカラーデータを読出し、後段の処理にデータを出力することができる。
【０００８】
上記のようなインデックスデータを用いる場合、読み出される実データの種類は、メモリに記憶されている実データのエントリ数により制限される。エントリ数をなるべく多くしておくのが好ましいが、エントリ数を増やすことは結局使用するメモリ容量を増やすことになるので、通常は、十分に増やすことができない場合が多い。
一方、アプリケーションによって、エントリ数より多くのデータを使用したい場合もある。例えば、画像を生成する処理などに、アプリケーションによって使用する色の数が変わる。エントリ数に制限され使用できる色の数は十分ではないと、微妙な色合いの表示が行えず所望の画像を表示することができない。
【０００９】
そこで、そのような場合には、通常、メモリの内容を書き換えて使用したり、データを記憶したメモリを複数備え、状況に応じて切り替えて使用する方法が用いられている。ただし、メモリの内容の書き換えを行なう方法は、書き換え時間に相当する時間分、処理スピードが遅くなるため、一般的には、メモリを多くもつ方法がとられている。
特に、同じデータを記憶した複数のメモリを備えた場合、各時点で読み出せるデータの種類は、エントリの数で制限されることが変わっていないが、同じデータを多く持ち、一連の連続した処理の中でこれを適宜切り替えて使用することにより、アプリケーションから見ると、実質的に多くのデータを使用していることになる。
【００１０】
例えば、コンピュータグラフィックス処理の場合、上記のカラールックアップテーブル（ＣＬＵＴ）は、同じカラーデータを記憶した複数のマルチポートＳＲＡＭで構成される。
図１５は、カラーデータ変換装置の一具体例を示す図である。
図１５に示されたカラーデータ変換装置２００は、８つのマルチポートＳＲＡＭ２０３ａ、２０３ｂ、２０３ｃ、２０３ｄ、２０３ｅ、２０３ｆ、２０３ｇ、２０３ｈから構成される。なお、８個のＳＲＡＭは、同じカラーデータが記憶されている。
各ＳＲＡＭは、例えば、１６ビットのカラーデータを２５６個記憶しており、４個の８ビットの読出しアドレスの入力ポートと、４個の１６ビットのデータ読出しポートを持っている。即ち、各ＳＲＡＭは、４個の８ビットのアドレスに応じて、４個の１６ビットのデータを同時に読出し、出力することができる。２つのＳＲＡＭごとに１メモリ単位とし、１メモリ単位における２つのＳＲＡＭのそれぞれの記憶領域を、同一のアドレス空間の上位１６ビットの領域および下位１６ビットの領域に割り当てれば、１メモリ単位は、２５６アドレス×３２ビットの構成の記憶部となる。この場合に、カラーデータ変換装置２００全体は、１６個の８ビットのアドレスに応じて、３２ビットのカラーデータを１６個同時に読出す構成となる。
【００１１】
カラーデータ変換装置２００において、例えば、インデックスカラーデータ信号は、読出しアドレスとしてそれぞれＳＲＡＭ２０３ａ、２０３ｂ、２０３ｃ、２０３ｄ、２０３ｅ、２０３ｆ、２０３ｇ、２０３ｈに入力される。各マルチポートＳＲＡＭに記憶されたカラーデータから、入力された読出しアドレス信号に対応するカラーデータが読み出され、出力される。
【００１２】
図１６は、カラーデータ変換装置２００における読み出しアドレス入力のうち、２並列分の回路構成を例示している。図１６に示された回路構成は、２並列分の読み出しアドレス入力回路と、２つのマルチポートＳＲＡＭ２０３ａ、２０３ｂと、マルチポートＳＲＡＭ２０３ａ、２０３ｂから出力された２並列分のカラーデータを受けるデータ出力回路とを有する。該読み出しアドレス入力回路は、２つの読み出しアドレス信号を、例えば、マルチポートＳＲＡＭ２０３ａ、２０３ｂに入力し、マルチポートＳＲＡＭ２０３ａ、２０３ｂから、対応するカラーデータが読み出す。なお、図１６に示された回路構成の各部分はシステムクロック信号１０１によって駆動される。
読み出しアドレス入力回路は、前段回路の最終段となるフリップフロップ２１１ａ、２１１ｂ、２１１ｃと、フリップフロップ２１２ａ、２１２ｂ、２１２ｃとを含む。
データ出力回路は、ＦＩＦＯ回路（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）２１３ａと２１３ｂを含む。
【００１３】
ＳＲＡＭ２０３ａに読み出しアドレスを入力する回路において、各フリップフロップは、システムクロック信号１０１のタイミングに応じて信号の出力タイミングを制御し、読み出しアドレス信号ＲＡ０と、イネーブルなどの制御信号となる信号ＲＥ０ＡとＲＥ０ＢをＳＲＡＭ２０３ａに入力する。ＳＲＡＭ２０３ａからは、読み出しアドレス信号ＲＡ０に対応するカラーデータＯＵＴ０が出力される。
同様に、ＳＲＡＭ２０３ｂに読み出しアドレスを入力する回路において、各フリップフロップは、システムクロック信号１０１のタイミングに応じて信号出力のタイミングを制御し、アドレス信号ＲＡ１と、制御用信号となるＲＥ１ＡとＲＥ１ＢをＳＲＡＭ２０３ｂに入力する。ＳＲＡＭ２０３ｂからは、読み出しアドレス信号ＲＡ１に対応するカラーデータＯＵＴ１が出力される。
ＦＩＦＯ回路（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）２１３ａと２１３ｂに、マルチポートＳＲＡＭ２０３ａと２０３ｂから出力されたカラーデータＯＵＴ０とＯＵＴ１が送られる。
【００１４】
図１７は、マルチポートＳＲＡＭ２０３ａ及び２０３ｂの具体的な回路構成を示している。
図１７に示されたマルチポートＳＲＡＭ２０３ａは、マルチポートＳＲＡＭ２０３ａの中に読み出し時の動作に関わる簡略した回路構成であり、メモリアレイ２３４ａと、メモリアレイ２３４ａの入力側の回路部分と、メモリアレイ２３４ａの出力側の回路部分とを備えている。同様に、マルチポートＳＲＡＭ２０３ｂは、メモリアレイ２３４ｂと、メモリアレイ２３４ｂの入力側の回路部分と、メモリアレイ２３４ｂの出力側の回路部分とを備えている。
メモリアレイ２３４ａ及び２３４ｂは、ＳＲＡＭ２０３ａ及び２０３ｂのコアとなるメモリセルのアレイであり、これらメモリアレイにおいて、多数のメモリセルがマトリックス状に配置され、カラーデータがアドレス順に記憶されている。
【００１５】
ＳＲＡＭ２０３ａにおいて、信号ＲＥ０ＡとＲＥ０Ｂは、フリップフロップのイネーブル信号や、選択回路の選択信号として、メモリアレイ２３４ａに入力する前の読出しアドレス信号ＲＡ０のタイミング、及びメモリアレイ２３４ａから読み出されたカラーデータのタイミングを制御し、読出しアドレス信号ＲＡ０に対して、ＳＲＡＭ２０３ａからカラーデータＯＵＴ０を読み出す。
ＳＲＡＭ２０３ｂも同じように動作する。
【００１６】
特許文献１は、インデックステーブルにエントリされたエントリの数及びデータの精度をアプリケーションに応じて適宜変更することができ、適切にインデックスデータからリアルデータの変換が行えるデータ変換装置及び画像生成装置を開示している。
【００１７】
【特許文献１】
特開平１１−１７５６９３号公報
【００１８】
【発明が解決しようとする課題】
しかしながら、データ変換装置において、メモリを複数備えることによって、データ変換装置を集積化したＬＳＩチップの面積は大きくなる。グラフィックＬＳＩにおいて、チップ面積が増大することはコストの増加を招き、好ましくない。そのため、チップ面積の削減はＬＳＩのコスト削減における重要な要素である。
【００１９】
例えば、データ変換装置２００の場合に、同じデータを記憶したＳＲＡＭを８個備えているので、回路構成として冗長であり、面積を無駄に占有しているのが問題である。
具体的には、２つのＳＲＡＭを１メモリ単位として、４つのメモリ単位によって、１６個の８ビットのアドレスに応じて、３２ビットのカラーデータを１６個同時に読出す構成において、各ＳＲＡＭに同じデータを常に記憶しているので、４つのメモリ単位のうち、３メモリ単位は構成上冗長であり、面積を余計に占有している。
【００２０】
本発明は、上記の問題を鑑みてなされたものであり、その第１の目的は、インデックスデータから実データの変換が行なうデータ変換装置において、備えたメモリの数を減少し、面積を大幅に削減できるデータ変換装置を提供することにある。
また、本発明の第２の目的は、そのようなデータ変換装置を用いた画像生成装置を提供することにある。
また、本発明の第３の目的は、そのようなデータ変換装置において、実データを記憶する記憶装置を提供することにある。
【００２１】
【課題を解決するための手段】
したがって、本発明のデータ変換装置は、第１のクロック信号で動作する、インデックスに応じたデータが記憶されている記憶部と、第２のクロック信号で動作する、複数のインデックス信号を、前記第２のクロック信号に応じて第１のシリアル信号に変換し前記記憶部に入力する第１の互換回路と、前記第２のクロック信号で動作する、前記第１のシリアル信号に変換された複数のインデックス信号に応じた前記記憶部に記憶されているデータを含む、前記記憶部から出力された第２のシリアル信号を、前記第２のクロック信号に応じて前記複数のインデックス信号に対応する複数のデータ信号に変換する第２の互換回路とを有し、前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数より高い。
【００２２】
好ましくは、前記第１の互換回路は、前記第２のクロック信号の１周期における複数の期間において、前記複数のインデックス信号を順次選択し、前記第１のシリアル信号を生成する第１の選択回路を有する。
また、前記第２の互換回路は、前記第２のクロック信号の１周期における複数の期間において、前記第２のシリアル信号から、前記複数のデータ信号を順次選択し、前記複数のデータ信号を出力する第２の選択回路を有する。
【００２３】
好ましくは、前記第１の互換回路は、２つの前記インデック信号を、前記第２のクロック信号に応じて前記第１のシリアル信号に変換し、前記第２の互換回路は、当該第１のシリアル信号に変換された前記２つのインデックス信号に応じた前記記憶部に記憶されているデータを含む、前記記憶部から出力された前記第２のシリアル信号を、前記第２のクロック信号に応じて前記２つのインデックス信号に対応する２つのデータ信号に変換し、前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数の２倍である。
前記第１の互換回路は、前記第２のクロック信号の１周期における第１のレベル期間と第２のレベル期間において、前記２つのインデックス信号を順次選択し、前記第１のシリアル信号を生成する第１の選択回路を有する。
前記第２の互換回路は、前記第２のクロック信号の１周期における第１のレベル期間と第２のレベル期間において、前記第２のシリアル信号から、前記２つのデータ信号を順次選択し、前記２つのデータ信号に出力する第２の選択回路を有する。
【００２４】
また、本発明の画像生成装置は、画素データを生成する画素データ生成手段と、前記生成された各画素データに対して、テクスチャインデックスデータを、テクスチャデータに変換するデータ変換装置と、前記生成された画素データに対して、前記変換されたテクスチャデータを用いてテクスチャマッピングし、画像データを生成するテクスチャマッピング手段と、前記生成された画像データを記憶する画像メモリと、前記記憶された画像データより所望の領域のデータを読み出し、出力する画像データ出力手段とを有し、前記データ変換装置は、インデックステクスチャデータに応じたテクスチャデータを記憶した、第１のクロック信号で動作する記憶部と、第２のクロック信号で動作する、複数のインデックステクスチャデータを前記第２のクロック信号に応じて第１のシリアル信号に変換し前記記憶部に入力する第１の互換回路と、前記第２のクロック信号で動作する、前記第１のシリアル信号に変換された複数のインデックステクスチャデータに応じた前記記憶部に記憶されているテクスチャデータを含む、前記記憶部から出力された第２のシリアル信号を、前記第２のクロック信号に応じて前記複数のインデックステクスチャデータに対応する複数のテクスチャデータに変換する第２の互換回路とを有し、前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数より高い。
【００２５】
また、本発明の記憶装置は、第１のクロック信号で動作する記憶部と、第２のクロック信号で動作する、複数の入力信号を前記第２のクロック信号に応じて第１のシリアル信号に変換し前記記憶部に入力する第１の互換回路とを有し、前記第１のクロック信号の周波数は、前記第２のクロック信号の周波数より高い。
好ましくは、本発明の記憶装置は、前記第２のクロック信号で動作する、前記第１のシリアル信号に変換された前記複数の入力信号に応じた前記記憶部に記憶されているデータからなり、前記記憶部から出力された第２のシリアル信号を、前記第２のクロック信号に応じて前記複数の入力信号に対応する複数の出力信号に変換する第２の互換回路をさらに有する。
【００２６】
以上の請求項１にかかる発明によれば、データ変換装置の記憶部は周波数が第２のクロック信号より高い第１のクロック信号で動作し、記憶部に信号を入力する第１の互換回路と、記憶部からの出力信号を受ける第２の互換回路は、周波数が第２のクロック信号で動作する。第１の互換回路は、複数のインデックス信号を第２のクロック信号に応じて第１のシリアル信号に変換して記憶部に入力する。記憶部は、該第１のシリアル信号が含んだ複数のインデックス信号に対応する記憶データを、第２のシリアル信号としてシリアルに出力する。第２の互換回路は、該第２のシリアル信号を第２のクロック信号に応じて複数のデータ信号に変換する。
【００２７】
記憶部が周波数の高いクロック信号を用いることによって、複数の入力信号をシリアル信号に変換して１個の記憶部に入力して高い周波数のクロック信号で処理するので、複数の入力信号に対して、複数のデータ信号を得るには、１つの記憶部で足りる。これによって、本発明にかかるデータ変換装置において、記憶部の数が大幅に削減される。
【００２８】
【発明の実施の形態】
実施の形態
次に、本発明のデータ変換装置、画像表示装置及び記憶装置の実施の形態について、添付した図面を参照して説明する。
本実施の形態において、家庭用ゲーム機などに適用される３次元物体モデルに対する所望の３次元画像を、ディスプレイ上に高速に表示する３次元コンピュータグラフィックシステムに、本発明のデータ変換装置を適用した場合について述べる。
【００２９】
図１は、本発明にかかる３次元コンピュータグラフィックシステムの構成の一例を示す。図１に示された３次元コンピュータグラフィックシステム１は、立体モデルを単位図形である三角形やポリゴンなどの張り合わせとして表現しておき、このポリゴンを描画することで表示画面の各画素の色を決定しディスプレイに表示するポリゴンレンダリング処理を行なうシステムである。また、３次元コンピュータグラフィックシステム１においては、平面を表わす（ｘ、ｙ）座標のほかに、奥行きを表わすｚ座標を用いて３次元物体を表わし、またこのｘ、ｙ、ｚの３つの座標で３次元空間内の任意の１点を特定する。
【００３０】
図１に示すように、３次元コンピュータグラフィックシステム１は、入力部２、３次元画像生成装置３、および表示装置４を有する。また、３次元画像生成装置３は、転送回路３１、ジオメトリ演算回路３２、パラメータ演算回路３３、画素発生回路３４、マッピング回路３５、テクスチャメモリ３６、メモリ制御回路３７、画像メモリ３８およびディスプレイ制御回路３９を有する。
【００３１】
入力部２は、３次元画像生成装置３に対して、表示対象の立体モデルのデータを入力する。本実施の形態においては、３次元コンピュータグラフィックシステム１は家庭用ゲーム機に適用されているので、入力部２は、その家庭用ゲーム機のゲーム自体を制御する主制御装置などに接続される。その主制御装置においては、ゲームの進行状況などに基づいて表示する画面を決定し、その画面表示に必要な立体モデルを選択し、その表示方法の情報を生成する。したがって入力部２は、これらの情報を、家庭用ゲーム機の主制御装置より受け取り、３次元画像生成装置３へ入力するのに適した形態に変換するなどして３次元画像生成装置３に入力する。具体的には、入力部２は、前述したような表示する立体モデルのポリゴンデータを３次元画像生成装置３の転送回路３１を介してジオメトリ演算回路３２に入力する。また、その入力されるポリゴンのデータは、各頂点のｘ，ｙ，ｚ座標データ、およびカラー、透明度、テクスチャなどの付随データである。
【００３２】
ジオメトリ演算回路３２は、入力部２より入力されたポリゴンを、３次元空間中の所望の位置に配置させ、その位置におけるポリゴンデータを生成する。具体的には、ポリゴンの各頂点（ｘ、ｙ、ｚ）ごとに、並進変換、平行変換および回転変換などの幾何学的変換処理（ジオメトリ変換処理とも言われる）を行なう。ジオメトリ変換処理を行なったポリゴンデータは、パラメータ演算回路３３に出力される。
【００３３】
パラメータ演算回路３３は、ジオメトリ演算回路３２から入力されたポリゴンのデータ、すなわち、ポリゴンの各頂点のデータに基づいて、画素発生回路３４において、ポリゴン内部の画素データを発生するために必要なパラメータを求め、画素発生回路３４に出力する。具体的には、例えば、カラー、奥行きおよびテクスチャの傾きの情報などを求める。
【００３４】
画素発生回路３４は、ジオメトリ演算回路３２でジオメトリ変換処理が行われたポリゴンデータ、及び、パラメータ演算回路３３で求められたパラメータに基づいて、ポリゴンの各頂点間を線型補間してポリゴン内部およびエッジ部分の画素データを発生する。また画素発生回路３４は、画素データの表示に対応した所定の２次元平面上でのアドレスの生成を行なう。生成された画素データ及びアドレスは順次マッピング回路３５に入力される。
【００３５】
マッピング回路３５は、画素発生回路３４で生成された画素データ及びアドレスを読み出し、その画素データに対して、テクスチャメモリ３６に格納されているテクスチャデータを用いて、テクスチャマッピング処理を行なう。テクスチャマッピング処理を行った画素データおよびアドレスは、メモリ制御回路３７に出力する。
【００３６】
テクスチャメモリ３６は、マッピング回路３５でテクスチャマッピングする際に用いるテクスチャパタンを記憶しておくメモリである。本実施の形態において、このテクスチャメモリ３６には、テクスチャデータがインデックスデータで記憶されている。
【００３７】
メモリ制御回路３７は、マッピング回路３５から入力される画素データおよびアドレス、および、既に画像メモリ３８に記憶されている対応する画素データに基づいて、新たな画素データを生成し、画像メモリ３８に記憶する。すなわち、メモリ制御回路３７は、マッピング回路３５から入力されるアドレスに対応した画素データを画像メモリ３８から読み出し、その画素データと、マッピング回路３５から入力された画素データとを用いて、画素演算処理を行い、得られた画素データを画像メモリ３８へ書き込む。また、メモリ制御回路３７は、ディスプレイ制御回路３９から表示領域が指定された場合には、その表示領域の画素データを、画像メモリ３８から読み出し、ディスプレイ制御回路３９に出力する。
【００３８】
画像メモリ３８は、表示用の画像データを記録するメモリであり、同時にアクセスすることができる２つのメモリバッファ、フレームバッファとＺバッファを有する。フレームバッファには、各画素のカラー情報であるフレームデータが格納される。また、Ｚバッファには、各画素の奥行き情報（Ｚ値）であるＺデータが格納される。
【００３９】
ディスプレイ制御回路３９は、メモリ制御回路３７を介して画像メモリ３８より読み出した表示領域の画素データを、表示装置４により表示可能なアナログ信号に変換し、表示装置４に出力する。なお、これに先立ちディスプレイ制御回路３９は、メモリ制御回路３７に対して、表示すべき表示領域の画素データの要求を行なう。
【００４０】
表示装置４は、本実施の形態においては、通常家庭などで用いられているビデオ入力端子などを有するテレビジョン受信機である。３次元画像生成装置３のディスプレイ制御回路３９からは、ビデオ信号入力端子を介してアナログビデオ信号が入力され、その信号に基づいて３次元映像を画面上に表示する。
【００４１】
次に、この３次元コンピュータグラフィックシステム１の動作について説明する。まず、家庭用ゲーム機のゲーム自体を制御する主制御装置などにおいて、表示する３次元画像が決定されると、その画面表示に必要な立体モデルの情報が入力部２に入力される。入力部２はこの情報に基づいて、その画像を表示するための立体モデルのポリゴンデータを３次元画像生成装置３に入力する。
３次元画像生成装置３に入力された各ポリゴンデータは、ジオメトリ演算回路３２において、画面表示のために３次元空間中の所望の位置に配置されるように、並進変換、平行変換および回転変換などのジオメトリ変換処理が行われる。
【００４２】
次に、座標変換の行われたポリゴンデータに対して、パラメータ演算回路３３においてポリゴン内部の画素データを発生するために必要なパラメータが求められ、画素発生回路３４において、実際にポリゴンの各頂点間を線型補間してポリゴン内部及びエッジ部分の画素データが発生される。発生された画素データは、順次マッピング回路３５に入力される。
【００４３】
マッピング回路３５においては、テクスチャメモリ３６に記録されているインデックスデータであるテクスチャパターンデータを、実カラーデータに変換し、これを用いてテクスチャマッピング処理を行い、生成した画素データをメモリ制御回路３７を介して画像メモリ３８に記憶する。
【００４４】
画像メモリ３８に記憶された画素データは、同様の経路により入力される他の画素データや制御データに基づいて処理が行われる。これにより画像メモリ３８には常に最新の画像データが格納され、画面表示に供される。すなわち、表示装置４に表示するための所定の領域のデータの出力の要求がディスプレイ制御回路３９からメモリ制御回路３７に対して行われ、その領域の画素データが画像メモリ３８から読み出され、ディスプレイ制御回路３９において画面表示用の所定の信号に変換され、表示装置４に出力される。これにより、表示装置４には、所望の画像が画面に表示される。
【００４５】
前述したテクスチャマッピングを処理するマッピング回路３５に、本発明にかかるカラーデータ変換装置が格納されている。
図２は、マッピング回路３５の概略構成を示す図である。
図２に示すように、マッピング回路３５は、カラーデータ変換装置１００と、マッピング部１００ａとを有する。
カラーデータ変換装置１００は、インデックスカラーデータをインデックステーブルを参照して実カラーデータに変換する装置、いわゆるカラールックアップテーブル（ＣＬＵＴ）である。
マッピング部１００ａはテクスチャマッピング処理を行なう装置である、即ち、マッピング部１００ａは、３次元物体の表面にテクスチャを貼り付け、物体の質感を向上させ、レンダリング結果の質感、現実感を増加させる。テクスチャマッピングは、テクスチャのビットマップデータを物体に貼り付けてレンダリングをすることによって実現する。
【００４６】
テクスチャメモリ３６より読み出されたテクスチャデータは、カラーデータ変換装置１００に入力される。テクスチャメモリ３６から読み出されるテクスチャデータは、インデックスカラーで記憶されており、カラーデータ変換装置１００は、このインデックスカラーを実のテクスチャカラーに変換して、マッピング部１００ａに入力し、テクスチャマッピングの処理に供される。
マッピング部１００ａにおいて、カラーデータ変換装置１００により変換された実のテクスチャカラーデータは、画素発生回路３４より入力される各画素データにマッピングしていく。テクスチャマッピング処理を行った画素データは、メモリ制御回路３７に出力する。
【００４７】
図３は、本実施形態にかかるカラーデータ変換装置１００の構成の一例を示す図である。
図３に示すように、カラーデータ変換装置１００は、４つのマルチポートＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄと、互換回路１０４ａ、１０４ｂと、読出しアドレス入力部１０５ａと、データ出力部１０５ｂとを有する。
カラーデータ変換装置１００において、テクスチャメモリ３６より読み出されたインデックスカラーデータは、読出しアドレスとして読出しアドレス入力部１０５ａに入力され、互換回路１０４ａにおいて変換され、各マルチポートＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄに入力される。
ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄにカラーデータがアドレス順に記憶されている。各ＳＲＡＭから、入力された読出しアドレス信号に対応するカラーデータが読み出され、互換回路１０４ｂに入力され、互換回路１０４ｂで変換されて、データ出力部１０５ｂから出力される。
【００４８】
ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄのいずれかは、例えば、１６ビットのカラーデータを２５６個記憶している、即ち、２５６色のテクスチャカラーデータをエントリされたインデックステーブルを持っている。また、各ＳＲＡＭは、例えば、４個の８ビットの読出しアドレスの入力ポートと、４個の１６ビットのデータ読出しポートを備えている、即ち、４個の８ビットのアドレスに応じて、４個の１６ビットのデータを同時に読出すことができる。なお、ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄに、同じテクスチャカラーデータが記憶されている。
カラーデータ変換装置１００において、４つのＳＲＡＭのベースアドレスを指定することにより、各ＳＲＡＭに記憶されたカラーデータテーブルをアクセスできる。
【００４９】
ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄに記憶されているテクスチャカラーデータは１６ビットであるが、１６ビットデータと３２ビットデータの、精度の異なる２種類の実のテクスチャカラーデータを扱うことができる。
テクスチャカラーデータは１６ビットの場合は、各ＳＲＡＭは２５６アドレス×１６ビットの構成、即ち、エントリ数が２５６の記憶部となる。
テクスチャカラーデータは３２ビットの場合は、各ＳＲＡＭは、１２８アドレス×３２ビット、即ち、エントリ数は１２８の記憶部となる。２つのＳＲＡＭを１メモリ単位とすれば、２つのＳＲＡＭのそれぞれの記憶領域を、同一のアドレス空間の上位１６ビットの領域および下位１６ビットの領域に割り当てることによって、１メモリ単位は、２５６アドレス×３２ビットの構成の記憶部となる。
以降、カラーデータ変換装置１００は、例えば、１６個の８ビットのアドレスに応じて、１６個の３２ビットのカラーデータを同時に読出すモードで動作するとする。
【００５０】
図４は、一例として、１６ビットおよび３２ビットの実カラーデータのフォーマットを示す。図４（ａ）に示された１６ビットの実カラーデータは、ＬＳＢ側より、５ビットの赤輝度データＲ、５ビットの緑輝度データＧ、５ビットの青輝度データＢ、および、１ビットの透明度データＡから構成される。図４（ｂ）に示された３２ビットの実カラーデータは、各々８ビットの赤輝度データＲ、緑輝度データＧ、青輝度データＢ、および透明度データＡが、ＬＳＢ側より配置されて構成される。
【００５１】
図３に示すように、読出しアドレス入力部１０５ａ、データ出力部１０５ｂ、互換回路１０４ａ、１０４ｂは、例えば、周波数が１５０ＭＨｚのシステムクロック信号（ＳＹＳＣＬＫ）１０１に駆動される。一方、ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄは、周波数がシステムクロック信号１０１の倍となる（３００ＭＨｚ）倍速クロック信号１０２に駆動される。
互換回路１０４ａと１０４ｂは、倍速クロック信号で動作するマルチポートＳＲＡＭと従来と同様の周辺回路（読出しアドレス入力部１０５ａ、データ出力部１０５ｂなど）との互換を保つために設けられたものである。
即ち、互換回路１０４ａは、読出しアドレス入力部１０５ａから入力された、システムクロック信号１０１によってタイミングが制御された読出しアドレス信号を、データ率が倍速クロック信号１０２の周波数に応じた信号に変換し、ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄに入力する。互換回路１０４ｂは、ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄから出力される倍のデータ率のカラーデータ信号を、システムクロック信号１０１の周波数に一致するデータ率の信号に変換して、データ出力部１０５ｂより読み出す。
【００５２】
図５は、読出しアドレス入力部１０５ａとデータ出力部１０５ｂの構成の一例を示している。
図５に示された回路構成は、図３に示されたカラーデータ変換装置１００の読み出しアドレス入力部のうち、２並列分に相当し、２つの読み出しアドレス信号ＲＡ０とＲＡ１は、マルチポートＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄのいずれかに入力される。ここで、ＳＲＡＭ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄのいずれかを符号１０３で表わす。
【００５３】
図５に示された読み出しアドレス入力部１０５ａは、前段回路の最終段となるの２並列分のフリップフロップ１１１ａ、１１１ｂ、１１１ｃ、及びフリップフロップ１１２ａ、１１２ｂ、１１２ｃを有する。
フリップフロップ１１１ａ、フリップフロップ１１１ｂ、及び１１１ｃは、システムクロック信号１０１の立ち上がりのタイミングに応じて、信号の出力タイミングを制御し、読出しアドレス信号ＲＡ０、イネーブル信号や選択信号になる信号ＲＥ０ＡとＲＥ０Ｂを出力する。読出しアドレス信号ＲＡ０と信号ＲＥ０Ａはそれぞれ互換回路１０４ａに入力し、信号ＲＥ０Ｂは出力側にある互換回路１０４ｂに入力し、ＳＲＡＭ１０３からアドレス信号ＲＡ０に対応するカラーデータを読出し、その出力を制御する。
同様に、フリップフロップ１１２ａは、フリップフロップ１１２ｂ、及び１１２ｃは、読出しアドレス信号ＲＡ１、制御信号ＲＥ１ＡとＲＥ１Ｂの出力タイミングを制御し出力し、互換回路１０４ａと互換回路１０４ｂに入力し、ＳＲＡＭ１０３からアドレス信号ＲＡ１に対応するカラーデータを読出し、その出力を制御する。
【００５４】
図５に示されたデータ出力部１０５ｂは、ＦＩＦＯ回路（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）１１３ａと１１３ｂを含み、該ＦＩＦＯ回路１１３ａ、１１３ｂに、マルチポートＳＲＡＭ１０３から出力されるカラーデータが送られる。
【００５５】
互換回路１０４ａは、入力されたアドレス信号ＲＡ０とＲＡ１をシリアル信号に変換し、マルチポートＳＲＡＭ１０３に入力する。
マルチポートＳＲＡＭ１０３において、入力されたシリアル信号に含まれているアドレス信号ＲＡ０とＲＡ１に対応するカラーデータが読み出され、シリアル信号ＳＯＵＴとして出力され、互換回路１０４ｂに入力される。
互換回路１０４ｂは、シリアル信号ＳＯＵＴから、アドレス信号ＲＡ０とＲＡ１に対応するカラーデータＯＵＴ０とＯＵＴ１を抽出し、それぞれＦＩＦＯ回路１１３ａ、１１３ｂに入力する。
このように、２つのアドレス信号ＲＡ０とＲＡ１に対応するカラーデータＯＵＴ０とＯＵＴ１を、１つのマルチポートＳＲＡＭ１０３から読み出すことができる。
【００５６】
図６は、互換回路１０４ａの具体的な回路構成を示している。
互換回路１０４ａは、読み出しアドレス信号ＲＡ０とＲＡ１を処理する回路からなり、フリップフロップ１２１と１２３、選択回路１２２と１２４、及び選択回路１２５を含む。
【００５７】
フリップフロップ１２１において、読出しアドレス信号ＲＡ０がデータ端子に入力され、システムクロック信号１０１が反転されてクロック端子に入力され、信号ＲＥ０Ａはイネーブル信号としてイネーブル端子に入力される。
フリップフロップ１２１は、イネーブル信号ＲＥ０Ａのレベルに応じて、システムクロック信号１０１の立ち下りのタイミングで、入力信号ＲＡ０のレベルを出力端子に伝送するタイミングを制御し、信号ＳＲＡ０を出力し、選択回路１２２に入力する。
【００５８】
選択回路１２２において、アドレス信号ＲＡ０とタイミングが制御されたアドレス信号ＳＲＡ０が入力され、また、信号ＲＥ０Ａが選択信号として入力される。
選択回路１２２は、選択信号ＲＥ０Ａのレベルに応じて、信号ＲＡ０と信号ＳＲＡ０のいずれかを選択する。具体的に、図６に示すように、選択回路１２２は、信号ＲＥ０Ａの値が１である場合に、信号ＲＡ０を選択し、信号ＲＥ０Ａの値が０である場合に、信号ＳＲＡ０を選択する。選択回路１２２は、信号ＳＥＬ１を出力し、選択回路１２５に入力する。
【００５９】
一方、図６に示すように、フリップフロップ１２３において、アドレス信号ＲＡ１、反転されたシステムクロック信号１０１、及びイネーブル信号としての信号ＲＥ１Ａは入力される。
フリップフロップ１２３は、イネーブル信号ＲＥ１Ａのレベルに応じて、システムクロック信号１０１の立ち下りのタイミングで、入力信号ＲＡ１のレベルを出力端子に伝送するタイミングを制御し、信号ＳＲＡ１を出力し、選択回路１２４に入力する。
選択回路１２４において、読出しアドレス信号ＲＡ１とフリップフロップ１２３の出力信号ＳＲＡ１は入力され、また、信号ＲＥ１Ａは選択信号として入力される。
選択回路１２４は、信号ＲＥ１Ａの値に応じて、信号ＲＡ１とＳＲＡ１のいずれかを選択し、信号ＳＥＬ２を出力する。
【００６０】
選択回路１２５において、選択回路１２２の出力信号ＳＥＬ１と選択回路１２４の出力信号ＳＥＬ２は入力され、また、システムクロック信号１０１は選択信号として入力される。したがって、選択回路１２５は、システムクロック信号１０１のレベルに応じて、ＳＥＬ１とＳＥＬ２のいずれかを選択し、信号ＳＥＬ３として出力する。
即ち、選択回路１２５は、システムクロック信号１０１のハイレベルの半周期とローレベルの半周期において、信号ＳＥＬ１とＳＥＬ２が交互に選択し、出力信号ＳＥＬ３に交互に取り入れる。このように、並列する信号ＳＥＬ１とＳＥＬ２（或は、元の信号ＲＡ０とＲＡ１）は、選択回路１２５によってシリアル信号ＳＥＬ３に変換され、マルチポートＳＲＡＭ１０３に入力される。システムクロック信号１０１の１周期に信号ＳＥＬ１とＳＥＬ２を交互に選択したので、シリアル信号ＳＥＬ３のデータ率は、信号ＳＥＬ１とＳＥＬ２の倍、即ち、システムクロック信号１０１の周波数の倍となっている。
【００６１】
図７は、ＳＲＡＭ１０３と互換回路１０４ｂの具体的な回路構成を示している。
図７に示された回路構成は、マルチポートＳＲＡＭ１０３の中に読み出し時の動作に関わる簡略した回路構成である。図７のように、ＳＲＡＭ１０３は、メモリアレイ１３４と、メモリアレイ１３４の入力側のフリップフロップ１３１、１３２、１３３と、メモリアレイ１３４の出力側のフリップフロップ１３５、１３６、１３７，１３８と、選択回路１３９とを備えている。なお、ＳＲＡＭ１０３は、倍速クロック信号１０２で動作する。
【００６２】
メモリアレイ１３４は、ＳＲＡＭ１０３のコアとなるメモリセルのアレイであり、メモリアレイ１３４において、多数のメモリセルがマトリックス状に配置され、カラーデータがアドレス順に記憶されている。
フリップフロップ１３１において、読出しアドレス信号ＲＡ０とＲＡ１から変換されたシリアル信号ＳＥＬ３、倍速クロック信号１０２、及びイネーブル信号となる信号ＲＥは入力される。
フリップフロップ１３１は、シリアル信号ＳＥＬ３のタイミングを倍速クロック信号１０２のタイミング及びイネーブル信号ＲＥ１のレベルに応じて制御し、メモリアレイ１３４に入力する。
【００６３】
フリップフロップ１３２と１３３は、制御信号となる信号ＲＥ１とＲＥ２を生成する。フリップフロップ１３２において、データ端子に電源電圧ＶＤＤが入力され、データ端子が常にハイレベルに設定されている。したがって、その出力信号ＲＥ１は常にハイレベルとなっている。同様に、フリップフロップ１３３の出力信号ＲＥ２も常にハイレベルとなっている。
これは、実際の使用の便宜上、本実施形態におけるＳＲＡＭ１０３として、従来のＳＲＡＭがそのまま用いられているので、本発明の効果を実現するには、不必要な構成も含まれているからである。
【００６４】
メモリアレイ１３４において、シリアル信号ＳＥＬ３に含まれている読出しアドレス信号ＲＡ０とＲＡ１に応じて、記憶されているカラーデータが順次読み出され、シリアル信号ＳＥＬ３に読出しアドレス信号ＲＡ０とＲＡ１の配置順番と同じ順番で、シリアルカラーデータ信号ＣＤとして出力される。
フリップフロップ１３５において、シリアルカラーデータ信号ＣＤ、反転された倍速クロック信号１０２、及びイネーブル信号としての信号ＲＥ１は入力される。フリップフロップ１３５は、倍速クロック信号１０２のタイミング及びイネーブル信号ＲＥ１のレベルに応じて、カラーデータＣＤの出力タイミングを制御し、信号ＳＣＤ１として出力する。
フリップフロップ１３６は、フリップフロップ１３５と同じように、カラーデータＳＣＤ１の出力タイミングを制御し、信号ＳＣＤ２として出力する。
フリップフロップ１３７とフリップフロップ１３８は、それぞれカラーデータＳＣＤ１とＳＣＤ２を倍速クロック信号１０２の半周期分遅延し、選択回路１３９に入力する。
【００６５】
選択回路１３９において、遅延された信号ＳＣＤ１と信号ＳＣＤ２は入力され、また、信号ＲＥ２は選択信号として入力される。選択回路１３９は、信号ＲＥ２の値に応じて、信号ＳＣＤ１とＳＣＤ２のいずれかを選択し、信号ＳＯＵＴとして出力する。図７に示すように、信号ＲＥ２の値が１の場合、選択回路１３９は信号ＳＣＤ１を選択し、信号ＲＥ２の値が０の場合、選択回路１３９は信号ＳＣＤ２を選択する。
但し、ＶＤＤがＤピンに接続されているフリップフロップ１３３の出力ＲＥ２は常にハイレベルであり、選択回路１３９は常に信号ＳＣＤ１を選択し、シリアルカラーデータ信号ＳＯＵＴとして送り出す。これは、実際の使用の便宜上、本実施形態におけるＳＲＡＭ１０３として、従来のＳＲＡＭがそのまま用いられているので、本発明の効果を実現するには、不必要な構成も含まれているからである。
選択回路１３９は、シリアルカラーデータ信号ＳＯＵＴを互換回路１０４ｂに入力する。
【００６６】
互換回路１０４ｂにおいて、読み出しアドレス信号ＲＡ０とＲＡ１に対応して読み出されたカラーデータを処理する回路は、フリップフロップ１２６と１２７、及びフリップフロップ１２８を含む。
フリップフロップ１２６において、ＳＲＡＭ１０３から入力されたシリアルカラーデータ信号ＳＯＵＴが入力され、また、システムクロック信号１０１が反転されて入力される。フリップフロップ１２６は、システムクロック信号１０１の立ち下りのタイミングで、データ率がシステムクロック信号１０１の周波数の倍となる信号ＳＯＵＴから、読出しアドレス信号ＲＡ０に対応するカラーデータのレベルのみを出力端子に伝送し、読出しアドレス信号ＲＡ０に対応するカラーデータを抽出し、信号ＳＯＵＴ０として出力する。
【００６７】
フリップフロップ１２７において、抽出された読出しアドレス信号ＲＡ０に対応するカラーデータＳＯＵＴ０が入力され、また、システムクロック信号１０１、読出しアドレス信号ＲＡ０に伴う制御信号ＲＥ０Ｂをイネーブル信号として入力される。
フリップフロップ１２７は、イネーブル信号ＲＥ０Ｂのレベル及びシステムクロック信号１０１のタイミングに応じて、抽出された読出しアドレス信号ＲＡ０に対応するカラーデータＳＯＵＴ０の出力タイミングを制御し、信号ＯＵＴ０として出力する。
【００６８】
フリップフロップ１２８において、ＳＲＡＭ１０３から入力されたシリアルカラーデータ信号ＳＯＵＴ、及びシステムクロック信号１０１が入力され、また、読出しアドレス信号ＲＡ１に伴う制御信号ＲＥ１Ｂがイネーブル信号として入力される。
フリップフロップ１２６と同じように、フリップフロップ１２８は、イネーブル信号ＲＥ１Ｂのレベル及びシステムクロック信号１０１の立ち上がりのタイミングに応じて、シリアルカラーデータ信号ＳＯＵＴから、読出しアドレス信号ＲＡ１に対応するカラーデータを抽出し、信号ＯＵＴ１として出力する。
【００６９】
次に、図８〜図１１に示されたタイミングチャートを用いて、以上に説明したデータ変換装置の動作を説明する。
図８（ａ）〜（ｅ）は、図６に示された構成の互換回路１０４ａの動作を示すタイミングチャートである。
互換回路１０４ａは、例えば周波数が１５０ＭＨｚとなるシステムクロック信号（ＳＹＳＣＬＫ）１０１によって動作される。
【００７０】
図８（ｂ）は制御信号ＲＥ０Ａの波形を例示する。
信号ＲＥ０Ａをイネーブル信号として用いられる場合は、そのレベルは、テクスチャマッピングを行なうためのカラーデータを出力するか否かによって決められている。
前述したように、カラーデータ変換装置１００から読み出されたカラーデータは、図２に示されたマッピング部１００ａにおいて、画素発生回路３４からマッピング部１００ａに入力される各画素データに対してテクスチャマッピングされる。続けてカラーデータを出力したい時は、信号ＲＥ０Ａをハイレベルに設定し、逆に、今のカラーデータのまま、新しいカラーデータを出力しないようにしたい時は、信号ＲＥ０Ａをローレベルに設定する。また、後段回路はデータ処理中であり、新しいカラーデータの処理できない場合にも、信号ＲＥ０Ａをローレベルに設定し、カラーデータの出力を暫く止めておく。
例えば、信号ＲＥ０Ａは図８（ｂ）に示す波形を有し、即ち、時刻ｔ０からｔ１まではハイレベルであり、時刻ｔ１からｔ２まではローレベルになり、時刻ｔ２以降はハイレベルになる。
【００７１】
読み出しアドレス信号ＲＡ０は、例えば、図８（ｃ）に示すように、ＳＲＡＭ１０３の記憶領域における実際のアドレスを表わす０と１からなるデータ信号である。本実施形態において、読み出しアドレス信号のビット長は８ビットであるので、信号ＲＡ０は８ビットのデータ（つまり、Ａ００〜Ａ０７、それぞれ８ビッドのデータを表す。）を表す。
【００７２】
図８（ｄ）は、フリップフロップ１２１の出力信号ＳＲＡ０を示している。
図６に示すように、アドレス信号ＲＡ０はフリップフロップ１２１のデータ端子に入力され、システムクロック信号１０１が反転されてフリップフロップ１２１のクロック端子に入力され、信号ＲＥ０Ａはイネーブル信号としてフリップフロップ１２１のイネーブル端子に入力される。
時刻ｔ０からｔ１までは、イネーブル信号ＲＥ０Ａはハイレベルになっているので、フリップフロップ１２１は通常に動作し、システムクロック信号１０１の立ち下りのタイミングで、入力信号ＲＡ０のレベルを出力端子に伝送し、信号ＳＲＡ０として出力する。図８（ｄ）に示すように、時刻ｔ０からｔ１までは、入力信号ＲＡ０に含まれているアドレスデータ−Ａ０１、Ａ００、Ａ０１は、システムクロック信号１０１の半周期分を遅延して、出力信号ＳＲＡ０として出力される。
【００７３】
時刻ｔ１からｔ２までは、イネーブル信号ＲＥ０Ａはハイレベルからローレベルになっているので、この期間に、フリップフロップ１２１は、時刻ｔ１直前の出力信号ＳＲＡ０のレベルをそのまま保持し、出力する。図８（ｄ）に示すように、時刻ｔ１からｔ２までは、入力信号ＲＡ０に含まれているアドレスデータＡ０２、Ａ０３は、フリップフロップ１２１の出力端子に伝送されず、時刻ｔ１直前に伝送されたデータＡ０１の値はそのまま保持され、出力信号ＳＲＡ０として出力される。
【００７４】
時刻ｔ２からは、イネーブル信号ＲＥ０Ａはハイレベルになるので、フリップフロップ１２１は、システムクロック信号１０１の立ち下りのタイミングで、入力信号ＲＡ０のレベルを出力端子に伝送し、出力する。図８（ｄ）に示すように、クロック信号１０１の次の立ち下りが来る時刻ｔ３まで、出力信号ＳＲＡ０の値Ａ０１は変化せず、そのまま保持されている。時刻ｔ３から、入力信号ＲＡ０に含まれているアドレスデータＡ０４、Ａ０５、Ａ０６、Ａ０７…は、システムクロック信号１０１の半周期分を遅延し、出力信号ＳＲＡ０として出力される。
【００７５】
図８（ｂ）〜（ｅ）は、選択回路１２２の動作を示している。
図６に示すように、読出しアドレス信号ＲＡ０とフリップフロップ１２１の出力信号ＳＲＡ０は選択回路１２２に入力される。また、信号ＲＥ０Ａは選択信号として選択回路１２２に入力される。選択回路１２２は、信号ＲＥ０Ａの値に応じて、信号ＲＡ０とＳＲＡ０のいずれかを選択し、信号ＳＥＬ１として出力する。
時刻ｔ０からｔ１までは、選択信号ＲＥ０Ａはハイレベルであり、即ち、その値は１であるので、選択回路１２２は信号ＲＡ０を選択する。
時刻ｔ１からｔ２までは、選択信号ＲＥ０Ａはローレベルになっており、即ち、その値は０であるので、選択回路１２２は信号ＳＲＡ０を選択し、ＳＥＬ１として出力する。
時刻ｔ２からは、選択信号ＲＥ０Ａはハイレベルになり、選択回路１２２は信号ＲＡ０を選択する。
図８（ｃ）〜（ｅ）に示すように、時刻ｔ０からｔ１までは、入力信号ＲＡ０に含まれているアドレスデータ−Ａ０１、Ａ００、Ａ０１、時刻ｔ１からｔ２までは、データＡ０１、時刻ｔ２からは、データＡ０４、Ａ０５、Ａ０６は、信号ＳＥＬ１として出力される。
【００７６】
図９（ａ）〜（ｇ）は、図８に続いて互換回路１０４ａの他の部分の動作を示すタイミングチャートである。
図９（ｂ）は、制御信号ＲＥ１Ａを示す。例えば、信号ＲＥ１Ａは常にハイレベルに設定されている場合を考える。
図９（ｃ）は、読み出しアドレス信号ＲＡ１を示す。
図９（ｄ）は、フリップフロップ１２３の出力信号ＳＲＡ１を示す。
図６に示すように、アドレス信号ＲＡ１はフリップフロップ１２３のデータ端子に入力され、システムクロック信号１０１が反転されてフリップフロップ１２３のクロック端子に入力され、信号ＲＥ１Ａはイネーブル信号としてフリップフロップ１２３のイネーブル端子に入力される。
イネーブル信号ＲＥ１Ａは常にハイレベルになっているので、フリップフロップ１２３は、システムクロック信号１０１の立ち下りのタイミングで、入力信号ＲＡ１のレベルを出力端子に伝送し、信号ＳＲＡ１として出力する。
図９（ｄ）に示すように、入力信号ＲＡ１に含まれているアドレスデータ−Ａ１１、Ａ１０、…、Ａ１８は、システムクロック信号１０１の半周期分を遅延し、出力信号ＳＲＡ１として出力される。
【００７７】
図９（ｂ）〜（ｅ）は、選択回路１２４の動作を示している。
図６に示すように、読出しアドレス信号ＲＡ１とフリップフロップ１２３の出力信号ＳＲＡ１は選択回路１２４に入力される。また、信号ＲＥ１Ａは選択信号として選択回路１２４に入力される。選択回路１２４は、信号ＲＥ１Ａの値に応じて、信号ＲＡ１とＳＲＡ１のいずれかを選択し、ＳＥＬ２として出力する。
ここで、選択信号ＲＥ１Ａは常にハイレベルになっているので、選択回路１２４は常に信号ＲＡ１を選択する。図７（ｃ）と（ｅ）に示すように、入力信号ＲＡ１に含まれているアドレスデータは、信号ＳＥＬ２として出力される。
【００７８】
選択回路１２２の出力信号ＳＥＬ１と選択回路１２４の出力信号ＳＥＬ２は、選択回路１２５に入力される。また、システムクロック信号１０１は選択信号として選択回路１２５に入力される。したがって、選択回路１２５は、システムクロック信号１０１のレベルに応じて、ＳＥＬ１とＳＥＬ２のいずれかを選択し、信号ＳＥＬ３として出力する。
図９（ａ）と（ｅ）〜（ｇ）は、選択回路１２５の動作を示している。
選択回路１２５は、システムクロック信号１０１が１の場合に、信号ＳＥＬ１を選択し、システムクロック信号１０１の値が０の場合に、信号ＳＥＬ２を選択する。即ち、図９（ａ）と（ｅ）〜（ｇ）に示すように、システムクロック信号１０１のハイレベルの半周期とローレベルの半周期において、信号ＳＥＬ１とＳＥＬ２が交互に選択される。
【００７９】
前段回路において、信号ＲＡ０とＲＡ１は、レベルの変化タイミングがシステムクロック信号１０１の立ち上がりと一致するように制御されて、信号ＳＥＬ１とＳＥＬ２として出力されたので、システムクロック信号１０１の１周期内において、信号ＳＥＬ１とＳＥＬ２の値が一定であり、したがって、システムクロック信号１０１のハイレベルの半周期又はローレベルの半周期においても、信号ＳＥＬ１又はＳＥＬ２の値を確実に抽出できる。
このように、並列信号ＲＡ０とＲＡ１は、選択回路１２５によって、読出しアドレスの情報を保ったまま、シリアル信号ＳＥＬ３に変換され、ＳＲＡＭ１０３に入力される。
【００８０】
図１０（ａ）〜（ｉ）は、図７に示されたＳＲＡＭ１０３の動作を示すタイミングチャートである。
ＳＲＡＭ１０３は、図１０（ｂ）に示されたクロック信号１０２で動作する。クロック信号１０２の周波数は３００ＭＨｚであり、図１０（ａ）に示されたシステムクロック信号１０１の周波数の倍となる。
【００８１】
図１０（ｆ）は、フリップフロップ１３１の出力信号ＳＲＡを示す。
図７に示すように、フリップフロップ１３１において、互換回路１０４ａにおいて読出しアドレス信号ＲＡ０とＲＡ１から変換されたシリアル信号信号ＳＥＬ３、倍速クロック信号１０２、イネーブル信号となる信号ＲＥ１は入力される。
前述したように、信号ＲＥ１を生成するフリップフロップ１３２のデータ入力端子に電源電圧ＶＤＤが入力され、常にハイレベルに設定されているので、図１０（ｄ）に示すように、フリップフロップ１３２の出力信号ＲＥ１も常にハイレベルとなっている。同じ理由で、図１０（ｅ）に示すように、フリップフロップ１３３の出力信号ＲＥ２も常にハイレベルとなっている。
したがって、図１０（ｆ）に示すように、フリップフロップ１３１は、倍速クロック信号１０２の立ち上がりのタイミングで、入力信号ＳＥＬ３のレベルを出力端子に伝送し、倍速クロック信号の１周期分（ＳＹＳ　ＣＬＫの半分の周期）を遅延し出力信号ＳＲＡとして出力され、メモリアレイ１３４に入力される。
【００８２】
メモリアレイ１３４において、記憶されているカラーデータから、シリアル信号ＳＲＡに含まれている読出しアドレス信号ＲＡ０とＲＡ１に応じたカラーデータが読み出される。図１０（ｃ）と（ｇ）に示すように、ＳＥＬ３におけるアドレスＲＡ０のデータ（−Ａ０１、Ａ００、Ａ０１、…、Ａ０７）とアドレスＲＡ１のデータ（−Ａ１１、Ａ１０、Ａ１１、…、Ａ１７）と同じ配置順番に、カラーデータ（−Ｄ０１、Ｄ００、…、Ｄ０７、及び−Ｄ１１、Ｄ１０、…、Ｄ１７）は、ＳＲＡＭ１０３から交互に読み出され、シリアル信号ＣＤとして出力される。
【００８３】
シリアルカラーデータ信号ＣＤはフリップフロップ１３５のデータ入力端子に入力される。また、倍速クロック信号１０２が反転されてフリップフロップ１３５のクロック端子に入力され、信号ＲＥ１はイネーブル信号としてフリップフロップ１３５のイネーブル端子に入力される。
イネーブル信号ＲＥ１は常にハイレベルになっているので、フリップフロップ１３５は、図１０（ｇ）と（ｈ）に示すように、倍速クロック信号１０２の立ち下りのタイミングで、入力信号ＣＤのレベルを出力端子に伝送し、倍速クロック信号１０２の半周期分を遅延し、信号ＳＣＤ１として出力する。
シリアルカラーデータ信号ＳＣＤ１は、反転された倍速クロック信号１０２、及び常にハイレベルになっているイネーブル信号となる信号ＲＥ２はフリップフロップ１３６に入力される。同じように、フリップフロップ１３６は、入力信号ＳＣＤ１を倍速クロック信号１０２の１周期分遅延させ、ＳＣＤ２として出力する。
【００８４】
続いて、信号ＳＣＤ１と信号ＳＣＤ２は、フリップフロップ１３７とフリップフロップ１３８にそれぞれ入力され、倍速クロック信号１０２の半周期分遅延され、選択回路１３９に入力される。また、信号ＲＥ２は選択信号として選択回路１３９に入力される。選択回路１３９は、信号ＲＥ２の値に応じて、信号ＳＣＤ１とＳＣＤ２のいずれかを選択し、信号ＳＯＵＴとして出力する。選択信号ＲＥ２は常にハイレベルになっているので、選択回路１３９は常に信号ＳＣＤ１を選択し、信号ＳＯＵＴとして出力する。
【００８５】
図１１（ａ）〜（ｇ）は、図７に図解した互換回路１０４ｂの動作を示すタイミングチャートである。
互換回路１０４ｂは、図１１（ａ）に示されたシステムクロック信号１０１（１５０ＭＨｚ）で動作する。
図７に示すように、読出しアドレス信号ＲＡ０とＲＡ１に対応するカラーデータを含んだシリアルカラーデータ信号ＳＯＵＴは、互換回路１０４ｂにおいて２つに分岐され、フリップフロップ１２６とフリップフロップ１２８に入力される。フリップフロップ１２６には、システムクロック信号１０１が反転されてクロック端子に入力される。
フリップフロップ１２６は、図１１（ａ）、（ｂ）と（ｃ）に示すように、システムクロック信号１０１の立ち下りで、入力信号ＳＯＵＴに含まれているデータ−Ｄ０２、−Ｄ０１、Ｄ００、Ｄ０１、…、Ｄ０６、…を、入力信号ＳＯＵＴから順次抽出し、出力信号ＳＯＵＴ０として出力する。即ち、抽出された信号ＳＯＵＴ０は、読出しアドレスデータＲＡ０に対応するカラーデータからなる信号である。
【００８６】
図７に示すように、フリップフロップ１２７において、読出しアドレスデータＲＡ０に対応するカラーデータ信号ＳＯＵＴ０、システムクロック信号１０１、及びイネーブル信号としての読出しアドレス信号ＲＡ０に伴う制御信号ＲＥ０Ｂは入力される。
前述した信号ＲＥ０Ａと同じように、信号ＲＥ０Ｂは、テクスチャマッピングを行なうためのカラーデータを出力するか否かによって決められている。
例えば、イネーブル信号ＲＥ０Ｂは図１１（ｄ）に示す波形を有する。即ち、イネーブル信号ＲＥ０Ｂは、時刻ｓ０からｓ１まではハイレベル、時刻ｓ１からｓ２まではローレベル、時刻ｓ２からｓ３まではハイレベル、時刻ｓ３からｓ４まではローレベル、時刻ｓ４以降はハイレベルとなっている。
【００８７】
時刻ｓ０からｓ１までは、イネーブル信号ＲＥ０Ｂはハイレベルであるので、フリップフロップ１２７は、図１１（ａ）、（ｃ）、（ｄ）、（ｅ）に示すように、システムクロック信号１０１の立ち上がりのタイミングで、入力信号ＳＯＵＴ０に含まれているカラーデータ−Ｄ０２、−Ｄ０１、Ｄ００を、システムクロック信号１０１の半周期分遅延させ、出力信号ＯＵＴ０として出力する。
時刻ｓ１からｓ２までは、イネーブル信号ＲＥ０Ｂはローレベルになるので、この期間に、フリップフロップ１２７は、図１１（ｃ）、（ｄ）、（ｅ）に示すように、入力信号ＳＯＵＴ０に含まれているカラーデータＤ０１を伝送させず、時刻ｓ１直前に伝送されたデータＤ００の値はそのまま保持し、出力信号ＯＵＴ０として出力する。
【００８８】
時刻ｓ２からｓ３までは、イネーブル信号ＲＥ０Ｂはハイレベルになるので、フリップフロップ１２７は、図１１（ａ）、（ｄ）に示すように、時刻ｓ２からクロック信号１０１の次の立ち上がりが来るまで（時刻ｓ５）は、出力信号ＯＵＴ０の値Ｄ００を保持する。時刻ｓ５に、システムクロック信号１０１の立ち上がりが出現し、フリップフロップ１２７は、入力信号ＳＯＵＴ０のデータＤ０１を出力する。
時刻ｓ３からｓ４までは、イネーブル信号ＲＥ０Ｂはローレベルになるので、この期間に、フリップフロップ１２７は、図１１（ｃ）、（ｄ）、（ｅ）に示すように、入力信号ＳＯＵＴ０の値Ｄ０４を出力せず、時刻ｓ３直前に伝送されたデータＤ０１の値はそのまま保持し、出力する。
時刻ｓ４からは、イネーブル信号ＲＥ０Ｂはハイレベルであるので、フリップフロップ１２７は、図１１（ａ）、（ｃ）、（ｅ）に示すように、クロック信号１０１の次の立ち上がりが来るまで（時刻ｓ６）、出力信号ＯＵＴ０の値Ｄ０１を保持する。時刻ｓ６に、システムクロック信号１０１の立ち上がりが出現し、フリップフロップ１２７は、入力信号ＳＯＵＴ０のデータＤ０５を出力する。
【００８９】
一方、図７に示すように、フリップフロップ１２８において、読出しアドレス信号ＲＡ０とＲＡ１に対応するカラーデータを含んだシリアル信号ＳＯＵＴ、システムクロック信号１０１、及び読出しアドレス信号ＲＡ１に伴う、イネーブル信号となる信号ＲＥ１Ｂは入力される。
図１１（ｆ）に示すように、フリップフロップ１２８に入力されるイネーブル信号ＲＥ１Ｂは、例えば、常にハイレベルに設定されている。したがって、フリップフロップ１２８は、システムクロック信号１０１の立ち上がりのタイミングで、入力信号ＳＯＵＴを信号ＯＵＴ１として出力する。図１１（ａ）、（ｂ）と（ｇ）に示すように、フリップフロップ１２８は、システムクロック信号１０１の立ち上がりで、入力信号ＳＯＵＴに含まれているデータ−Ｄ１２、−Ｄ１１、Ｄ１０、…、Ｄ１６、…を、入力信号ＳＯＵＴから順次抽出し、出力信号ＯＵＴ１として出力する。即ち、抽出された信号ＯＵＴ１は、読出しアドレスデータＲＡ１に対応するカラーデータからなる信号である。
【００９０】
したがって、互換回路１０４ｂは、ＳＲＡＭ１０３から出力された信号ＳＯＵＴから、読出しアドレス信号ＲＡ０と読出しアドレス信号ＲＡ１に対応するカラーデータＯＵＴ０とＯＵＴ１を順次抽出する。
互換回路１０４ｂによって、信号ＳＯＵＴから抽出されたカラーデータＯＵＴ０とＯＵＴ１信号は、データ率がシステムクロック信号１０１の周期に一致する信号になり、それぞれＦＩＦＯ回路１１３ａ、１１３ｂに入力される。
このように、本実施形態のデータ変換装置１００は、２つの読出しアドレス信号ＲＡ０とＲＡ１を１つのＳＲＡＭ１０３に入力し、このＳＲＡＭ１０３から対応するカラーデータＯＵＴ０とＯＵＴ１を読み出すことができた。
【００９１】
本実施形態によれば、データ変換装置におけるマルチポートＳＲＡＭをシステムＣＬＫの倍周期の倍速ＣＬＫで動作させ、その読み出しアドレスの入力部と、データ出力部に従来との互換を可能とする互換回路を付け加えることにより、従来のデータ変換装置よりも半分の数のマルチポートＳＲＡＭのみで従来と同様な機能を有したデータ変換装置が構成できる。これによって、使用するＳＲＡＭのセル面積を半分にすることができ、ＬＳＩの面積を削減することが可能となる。
【００９２】
比較例
上記の本発明にかかるデータ変換装置１００と比較するために、図１５〜１７に示された従来のデータ変換装置２００の動作を、図１２と１３を用いて説明する。
データ変換装置２００の構成について、図１５〜１７を用いて既に説明したように、２並列分の読み出しアドレス入力に関わる回路構成において、２つのＳＲＡＭ２０３ａと２０３ｂが配置されている。これに対して、上記の本発明にかかるデータ変換装置１００において、２並列分の読み出しアドレス入力に関わる回路構成では、ＳＲＡＭ１０３が１つで足りる。
【００９３】
図１７に示されたＳＲＡＭ２０３ａは、データ変換装置１００におけるＳＲＡＭ１０３と比較すれば分るように、ＳＲＡＭ２０３ａとＳＲＡＭ１０３は同じ構成を有しており、ただし、ＳＲＡＭ２０３ａにおいて、フリップフロップ２３２ａと２３３ａのデータ端子に、読出しアドレス信号ＲＡ０に伴う制御信号ＲＥ０ＡとＲＥ０Ｂがそれぞれ入力される。一方、ＳＲＡＭ１０３において、フリップフロップ１３２と１３３のデータ端子が電源電圧ＶＤＤ（ハイレベル）に設定されている。さらに、データ変換装置２００において、ＳＲＡＭ２０３ａを含む各部分はシステムクロック信号１０１で動作しているのに対して、データ変換装置１００において、ＳＲＡＭ１０３は、システムクロック信号の周期の倍となる倍速クロック信号１０２で動作し、その周辺回路はシステムクロック信号１０１で動作している。
次の説明に、データ変換装置２００の回路構成の説明を省略する。
【００９４】
図１２（ａ）〜（ｌ）は、図１７に図解されたＳＲＡＭ２０３ａの動作を示すタイミングチャートを示す。
ＳＲＡＭ２０３ａは、図１２（ａ）に示されたシステムクロック信号１０１で動作する。その周波数は、前述と同じように、１５０ＭＨｚとする。
図１２（ｂ）〜（ｄ）は、ＳＲＡＭ２０３ａに入力された読出しアドレス信号ＲＡ０、及び制御信号ＲＥ０ＡとＲＥ０Ｂの波形を示す。ＳＲＡＭ２０３ａに入力された信号は、ＳＲＡＭ１０３に入力された信号（図８（ｂ）、（ｃ）、図１１（ｄ））と同じとされている。
【００９５】
図１７に示すように、フリップフロップ２３２ａにおいて、信号ＲＥ０Ａ、及びシステムクロック信号１０１は入力される。フリップフロップ２３２ａは、図１２（ｅ）に示すように、システムクロック信号１０１の立ち上がりのタイミングで、入力信号ＲＥ０Ａをシステムクロック信号１０１の１周期分遅延させて、出力する。出力信号ＴＲＥ０Ａは、フリップフロップ２３１ａとフリップフロップ２３５ａに入力される。
同様に、フリップフロップ２３３ａは、図１２（ｆ）に示すように、信号ＲＥ０Ｂを、システムクロック信号１０１の１周期分遅延させ、信号ＴＲＥ０Ｂとして出力する。信号ＴＲＥ０Ｂは、フリップフロップ２３６ａと選択回路２３７ａに入力される。
【００９６】
読出しアドレス信号ＲＡ０は、及びシステムクロック信号１０１とイネーブル信号としての信号ＴＲＥ０Ａはフリップフロップ２３１ａに入力される。
フリップフロップ２３１ａは、システムクロック信号１０１の立ち上がりのタイミング、及びイネーブル信号ＴＲＥ０Ａのレベルの値に応じて、入力信号ＲＡ０のレベルを伝送し、信号ＴＲＡ０として出力する。
【００９７】
図１２（ｅ）に示すように、信号ＴＲＥ０Ａは、時刻ｐ０からｐ１まではハイレベル、時刻ｐ１からｐ２まではローレベル、時刻ｐ２以降はハイレベルとなっている。
時刻ｐ０からｐ１までは、イネーブル信号ＴＲＥ０Ａはハイレベルであるので、フリップフロップ２３１ａは、図１２（ａ）、（ｂ）と（ｇ）に示すように、信号ＲＡ０に含まれているアドレスデータ−Ａ０１、Ａ００、Ａ０１、Ａ０２を、システムクロック信号１０１の１周期分遅延させて、出力信号ＴＲＡ０として出力する。
時刻ｐ１からｐ２までは、イネーブル信号ＴＲＥ０Ａはローレベルになっているので、この期間に、フリップフロップ２３１ａは、入力信号ＲＡ０に含まれているアドレスデータＡ０３、Ａ０４を出力せず、時刻ｐ１直前に伝送されたデータＡ０２の値をそのまま保持し、出力する。
【００９８】
時刻ｐ２からは、イネーブル信号ＴＲＥ０Ａはハイレベルであるので、フリップフロップ２３１ａは、クロック信号１０１の次の立ち上がりが出現する時刻ｐ３まで、出力信号ＴＲＡ０の値Ａ０２をそのまま保持し、時刻ｐ３からは、入力信号ＲＡ０に含まれているアドレスデータＡ０５、Ａ０６、Ａ０７…を、システムクロック信号１０１の１周期分遅延させ、出力信号ＴＲＡ０として出力し、メモリアレイ２３４ａに入力する。
メモリアレイ２３４ａにおいて、アドレス信号ＴＲＡ０に応じたカラーデータＣＤ０が読み出される。図１２（ｈ）は、メモリアレイ２３４ａから読み出されたカラーデータＣＤ０を示す。
カラーデータ信号ＣＤ０はフリップフロップ２３５ａのデータ入力端子に入力される。また、システムクロック信号１０１が反転されてフリップフロップ２３５ａのクロック端子に、信号ＴＲＥ０Ａはイネーブル信号としてフリップフロップ２３５ａのイネーブル端子に入力される。
【００９９】
フリップフロップ２３５ａは、システムクロック信号１０１の立ち下がりのタイミング、及び図１２（ｅ）に示されたイネーブル信号ＴＲＥ０Ａのレベルの値に応じて、入力信号ＣＤ０のレベルを出力端子に伝送し、信号Ｔ１Ｕ０として出力する。
時刻ｐ０からｐ１までは、図１２（ｈ）、（ｉ）に示すように、信号ＣＤ０の値−Ｄ０２、−Ｄ０１、Ｄ００、Ｄ０１は、システムクロック信号１０１の半周期分遅延され、出力される。
時刻ｐ１からｐ２までは、フリップフロップ２３５ａは、入力信号ＣＤ０のアドレスデータＤ０２を出力せず、時刻ｐ１直前のデータＤ０１の値を保持し、出力する。
時刻ｐ２からは、フリップフロップ２３５ａは、クロック信号１０１の次の立ち下がりが出現する時刻ｐ４まで、出力信号Ｔ１Ｕ０の値Ｄ０１を保持し、時刻ｐ４からは、入力信号ＣＤ０に含まれているアドレスデータＤ０２、Ｄ０５、Ｄ０６、Ｄ０７、…を、システムクロック信号１０１の半周期分遅延させ、出力信号Ｔ１Ｕ０として出力し、選択回路２３７ａ及びフリップフロップ２３６ａに入力する。
【０１００】
フリップフロップ２３６ａは、システムクロック信号１０１の立ち下がりのタイミング、及びイネーブル信号ＴＲＥ０Ｂのレベルに応じて、入力信号Ｔ１Ｕ０を制御し、信号Ｔ２Ｕ０として出力する。
図１２（ｆ）に示すように、イネーブル信号ＴＲＥ０Ｂは、時刻ｑ０からｑ１まではハイレベル、時刻ｑ１からｑ２まではローレベル、時刻ｑ２からｑ３まではハイレベル、時刻ｑ３からｑ４まではローレベル、時刻ｑ４以降はハイレベルとなっている。
時刻ｑ０からｑ１まで、フリップフロップ２３６ａは、図１２（ａ）、（ｆ）、（ｉ）、（ｊ）に示すように、入力信号Ｔ１Ｕ０に含まれているデータ−Ｄ０２、−Ｄ０１、Ｄ００を、システムクロック信号１０１の１周期分遅延させ、信号Ｔ２Ｕ０として出力する。
時刻ｑ１からｑ２まで、フリップフロップ２３６ａは、入力信号Ｔ１Ｕ０のデータＤ０１を出力せず、時刻ｑ１直前に伝送されたデータＤ００の値を保持し、出力信号Ｔ２Ｕ０として出力する。
【０１０１】
時刻ｑ２からｑ３まで、フリップフロップ２３６ａは、クロック信号１０１の次の立ち下がりが来るまで（時刻ｑ５）に、出力信号Ｔ２Ｕ０の値Ｄ００を保持し、時刻ｑ５に、入力信号Ｔ１Ｕ０のデータＤ０１を出力端子に伝送し、出力する。
時刻ｑ３からｑ４まで、フリップフロップ２３６ａは、入力信号Ｔ１Ｕ０の値Ｄ０２とＤ０５を出力せず、時刻ｑ３直前に伝送されたデータＤ０１の値をそのまま保持し、出力信号Ｔ１Ｕ０として出力する。
時刻ｑ４からは、フリップフロップ２３６ａは、クロック信号１０１の次の立ち下がりが来るまで（時刻ｑ６）、出力信号Ｔ１Ｕ０の値Ｄ０１をそのまま保持し、時刻ｓ６に、入力信号Ｔ１Ｕ０のデータＤ０５を出力する。
【０１０２】
図１７に示すように、カラーデータ信号Ｔ１Ｕ０とＴ２Ｕ０は、それぞれフリップフロップ２３７ａと２３８ａに入力され、システムクロック信号１０１の半周期分遅延され、信号ＳＥＬ２１とＳＥＬ２２として選択回路２３９ａに入力される。
図１２（ｋ）と（ｌ）は、信号ＳＥＬ２１とＳＥＬ２２を示す。
図１７に示すように、カラーデータ信号ＳＥＬ２１とＳＥＬ２２は、選択回路２３９ａに入力される。また、信号ＴＲＥ０Ｂは選択信号として選択回路２３９ａに入力される。
選択回路２３９ａは、選択信号ＴＲＥ０Ｂの値が１の場合は、信号ＳＥＬ２１、選択信号ＴＲＥ０Ｂの値が０の場合は、ＳＥＬ２２を選択し、信号ＯＵＴ０として出力する。信号ＯＵＴ０は、読出しアドレスデータＲＡ０に対応するカラーデータからなる信号である。
図１２（ｍ）は、カラーデータ信号ＯＵＴ０を示す。
図１１（ｅ）と比較すれば分るように、読出しアドレスデータＲＡ０、制御信号ＲＥ０Ａ、ＲＥ０Ｂに対して、データ変換装置２００から出力された、図１２（ｌ）に示された信号は、データ変換装置１００から出力された、図１１（ｅ）に示された信号と同じである。
【０１０３】
図１３（ａ）〜（ｉ）は、図１７に図解されたＳＲＡＭ２０３ｂの動作を示すタイミングチャートを示す。
図１３（ｂ）〜（ｄ）は、ＳＲＡＭ２０３ｂに入力された読出しアドレス信号ＲＡ１、及び制御信号ＲＥ１ＡとＲＥ１Ｂを示す。ここで、信号ＲＥ１ＡとＲＥ１Ｂは常にハイレベルに設定されているとする。なお、これらの入力信号は、ＳＲＡＭ１０３に入力された信号（図９（ｂ）、（ｃ）、図１１（ｆ））と同じである。
信号ＲＥ１ＡとＲＥ１Ｂが常にハイレベルとなっているので、フリップフロップ２３２ｂ２３３ｂの出力信号ＴＲＥ１ＡとＴＲＥ１Ｂも常にハイレベルとなっている。
したがって、フリップフロップ２３１ｂは、入力信号ＲＡ１をそのまま伝送し、信号ＴＲＡ１として出力する。図１３（ｅ）は、信号ＴＲＡ１を示している。
信号ＴＲＡ１は、メモリアレイ２３４ｂに入力され、メモリアレイ２３４ｂにおいて、アドレス信号ＴＲＡ１に応じたカラーデータＣＤ１が読み出される。図１３（ｆ）は、メモリアレイ２３４ｂから読み出されたカラーデータＣＤ１を示す。
カラーデータ信号ＣＤ１はフリップフロップ２３５ｂに入力される。イネーブル信号ＴＲＥ１Ａは常にハイレベルであるので、フリップフロップ２３５ａは、入力信号ＣＤ１をそのまま伝送し、信号Ｔ１Ｕ１を出力する。図１３（ｇ）は信号Ｔ１Ｕ１を示す。
【０１０４】
出力信号Ｔ１Ｕ１は、選択回路２３７ｂ及びフリップフロップ２３６ｂに入力される。イネーブル信号ＴＲＥ１Ｂは常にハイレベルであるので、フリップフロップ２３６ｂは、システムクロック信号１０１の立ち下がりのタイミングで、入力信号Ｔ１Ｕ１のレベルを出力端子に伝送し、信号Ｔ２Ｕ１を出力する。図１３（ｈ）信号Ｔ２Ｕ１を示す。
カラーデータ信号Ｔ１Ｕ１とＴ２Ｕ１は選択回路２３７ｂに入力される。また、信号ＴＲＥ０Ｂは選択信号として選択回路２３７ａに入力される。
選択回路２３７ｂは、選択信号ＴＲＥ１Ｂの値に応じて、カラーデータ信号Ｔ１Ｕ１とＴ２Ｕ１のいずれかを選択して出力する。信号ＴＲＥ１Ｂは常にハイレベル、即ち、その値は１であるので、選択回路２３７ｂは常に信号Ｔ１Ｕ１を選択し、フリップフロップ２３８ｂに入力する。
フリップフロップ２３８ａにおいて、システムクロック信号１０１の立ち上がりのタイミングで、入力信号のレベルを出力端子に伝送し、信号ＯＵＴ１を出力する。信号ＯＵＴ１は、読出しアドレスデータＲＡ１に対応するカラーデータからなる信号である。
図１３（ｉ）は信号ＯＵＴ１を示す。図１１（ｇ）と比較すれば分るように、読出しアドレスデータＲＡ１、制御信号ＲＥ１Ａ、ＲＥ１Ｂに対して、データ変換装置２００から出力された、図１３（ｉ）に示された信号は、データ変換装置１００から出力された、図１１（ｇ）に示された信号と同じである。
【０１０５】
以上、本発明を好ましい実施の形態に基づき説明したが、本発明は以上に説明した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲で、種々の改変が可能である。
例えば、グラフィックＬＳＩのＣＬＵＴ回路を一例として説明したが、本発明はこれに限定されず、マルチポートＳＲＡＭを用いたシステムにおいて、数少ないマルチポートＳＲＡＭを用いて、並列数の多いシステムを構成するような応用も考えられる。
また、以上は、マルチポートＳＲＡＭからデータを読み出す，いわゆる読出しフェーズを例としたが、書き込みのフェーズにも適用できる。
また、マルチポートＳＲＡＭに用いるクロック信号の周波数は、システムクロック信号の２倍だけではなく、他の倍数でも、基本的に可能である。
【０１０６】
【発明の効果】
本発明によれば、データ変換装置におけるメモリを、周波数がシステムクロック信号（メモリに接続する周辺回路を駆動する）の周波数の倍数となるクロック信号で動作させ、そのメモリの入力部と出力部に従来との互換を可能とする互換回路を付け加えることにより、従来のデータ変換装置よりも少なくとも半分の数のメモリのみで従来と同様な機能を有したデータ変換装置が構成できる。これによって、使用するメモリが占用する面積を少なくとも半分にすることができ、ＬＳＩの面積を削減することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかる画像生成装置の概略構成を示す図である。
【図２】本発明の実施形態にかかる画像生成装置におけるマッピング回路の概略構成を示す図である。
【図３】本発明の実施形態にかかる画像生成装置におけるデータ変換装置の構成の一例を示す図である。
【図４】本発明の実施形態にかかる画像生成装置におけるデータ変換装置により変換された実データのフォーマットの一例を示す図である。
【図５】本発明の実施形態にかかる画像生成装置におけるデータ変換装置において、読出しアドレス入力部とデータ出力部の構成の一例を示す図である。
【図６】本発明の実施形態にかかる画像生成装置におけるデータ変換装置において、互換回路の回路構成を示す図である。
【図７】本発明の実施形態にかかる画像生成装置におけるデータ変換装置において、マルチポートＳＲＡＭと互換回路の回路構成を示す図である。
【図８】本発明の実施形態にかかるデータ変換装置における互換回路の動作を示すタイミングチャートである。
【図９】図８に続いて、互換回路の動作を示すタイミングチャートである。
【図１０】本発明の実施形態にかかるデータ変換装置におけるマルチポートＳＲＡＭと互換回路の動作を示すタイミングチャートである。
【図１１】本発明の実施形態にかかるデータ変換装置における互換回路の動作を示すタイミングチャートである。
【図１２】従来のデータ変換装置において、マルチポートＳＲＡＭの動作を示すタイミングチャートである。
【図１３】図１２に続いて、従来のデータ変換装置において、マルチポートＳＲＡＭの動作を示すタイミングチャートである。
【図１４】データ変換装置を模式的に示す図である。
【図１５】従来のデータ変換装置の構成の一例を示す図である。
【図１６】従来のデータ変換装置の回路構成の一部を示す図である。
【図１７】従来のデータ変換装置においてマルチポートＳＲＡＭの回路構成の一例を示す図である。
【符号の説明】
１…画像生成装置、２…入力部、３…３次元画像生成装置、４…表示装置、３１…転送回路、３２…ジオメトリ演算回路、３３…パラメータ演算回路、３４…画素発生回路、３５…マッピング回路、３６…テクスチャメモリ、３７…メモリ制御回路、３８…画像メモリ、３９…ディスプレイ制御回路、１００…データ変換装置、１００ａ…マッピング部、１０１…システムクロック信号、１０２…倍速クロック信号、１０３、１０３ａ、１０３ｂ、１０３ｃ、１０３ｄ…マルチポートＳＲＡＭ、１０４ａ、１０４ｂ…互換回路、１０５ａ…読出しアドレス入力部、１０５ｂ…データ出力部、１１１ａ、１１１ｂ、１１１ｃ、１１２ａ、１１２ｂ、１１２ｃ、１２１，１２３、１２６、１２７、１２８、１３１、１３２、１３３、１３５、１３６、１３７、１３８、…フリップフロップ、１１３ａ、１１３ｂ…ＦＩＦＯ、１２２、１２４、１２５、１３９、…選択回路、１３４…メモリアレイ、２０３ａ、２０３ｂ、２０３ｃ、２０３ｄ、２０３ｅ、２０３ｆ、２０３ｇ、２０３ｈ…マルチポートＳＲＡＭ、２１１ａ、２１１ｂ、２１１ｃ、２１２ａ、２１２ｂ、２１２ｃ、２３１ａ、２３２ａ、２３３ａ、２３５ａ、２３６ａ、２３７ａ、２３８ａ、２３１ｂ、２３２ｂ、２３３ｂ、２３５ｂ、２３６ｂ、２３７ｂ、２３８ｂ…フリップフロップ、２１３ａ、２１３ｂ…ＦＩＦＯ、２３９ａ、２３９ｂ…選択回路、２３４ａ、２３４ｂ…メモリアレイ。
【図１】
2004139146.tif 000003
【図２】
2004139146.tif 000004
【図３】
2004139146.tif 000005
【図４】
2004139146.tif 000006
【図５】
2004139146.tif 000007
【図６】
2004139146.tif 000008
【図７】
2004139146.tif 000009
【図８】
2004139146.tif 000010
【図９】
2004139146.tif 000011
【図１０】
2004139146.tif 000012
【図１１】
2004139146.tif 000013
【図１２】
2004139146.tif 000014
【図１３】
2004139146.tif 000015
【図１４】
2004139146.tif 000016
【図１５】
2004139146.tif 000017
【図１６】
2004139146.tif 000018
【図１７】
2004139146.tif 000019