(57)【特許請求の範囲】
【請求項１】
第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置と、
任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータに対して、該フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保し、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する記憶領域管理手段と、
入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスするアクセス手段と、を有し、
前記記憶領域管理手段は、
特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換すると同時に、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成する第１のアドレス変換部と、
特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換する第２のアドレス変換部と、を有し、
前記アクセス手段は、
前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスする
データ記憶装置。
【請求項２】
前記２個の半導体記憶装置は、同一の記憶容量を有する
請求項１記載のデータ記憶装置。
【請求項３】
前記記憶領域は、前記半導体記憶装置の１のワード線によりそのデータが選択されるページを単位として設定される
請求項１記載のデータ記憶装置。
【請求項４】
第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置に、任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータとを、同一画素のフレームデータとＺデータを同時にアクセス可能にするデータ記憶装置の制御装置であって、
前記２個の半導体記憶装置の各々に、前記フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保し、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する記憶領域管理手段と、
入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスするアクセス手段と、を有し、
前記記憶領域管理手段は、
特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換すると同時に、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成する第１のアドレス変換部と、
特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換する第２のアドレス変換部と、を有し、
前記アクセス手段は、
前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスする
データ記憶装置の制御装置。
【請求項５】
前記２個の半導体記憶装置は、同一の記憶容量を有する
請求項４記載のデータ記憶装置の制御装置。
【請求項６】
第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置に、任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータとを、同一画素のフレームデータとＺデータを同時にアクセス可能に記憶させるデータ記憶装置の制御方法であって、
前記２個の半導体記憶装置の各々に、前記フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保する第１ステップと、
同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する第２ステップと、
入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスする第３ステップと、を含み、
前記第２ステップは、
特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換するステップと、
当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成するステップと、
特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換するステップと、を有し、
前記第３ステップは、
前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスするステップと、
他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスするステップと、を含む
データ記憶装置の制御方法。
【請求項７】
第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置と、
任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータに対して、該フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保し、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する記憶領域管理手段と、
入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスするアクセス手段と、
前記３次元画像データを、前記アクセス手段を介して、前記半導体記憶装置に記憶するデータ記憶手段と、
入力される特定の画素を示すアドレスに基づいて、前記アクセス手段を介して、前記半導体記憶装置に記憶されている当該画素の前記フレームデータおよび前記Ｚデータを読み出すデータ再生手段と、
入力される制御信号に基づいて、少なくとも前記読み出したフレームデータに対して所定の処理を行い、当該画素の新たなフレームデータを生成する画素データ処理手段と、
前記生成した新たなフレームデータにより、前記アクセス手段を介して、前記半導体記憶装置に記憶されている当該画素のフレームデータを更新するデータ更新手段と、
を有し、
前記記憶領域管理手段は、
特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換すると同時に、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成する第１のアドレス変換部と、
特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換する第２のアドレス変換部と、を有し、
前記アクセス手段は、
前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、
前記半導体記憶装置に所望の画像データを生成する
画像生成装置。
【請求項８】
前記２個の半導体記憶装置は、同一の記憶容量を有する
請求項７記載の画像生成装置。
【請求項９】
前記画像データ処理手段は、前記読み出したフレームデータに対して、入力された任意のデータを用いて前記所定の処理を行う
請求項７記載の画像生成装置。
【請求項１０】
前記画像データ処理手段は、さらに、前記読み出したＺデータと、入力される任意の画素データのＺデータとを比較し、
前記データ更新手段は、前記比較結果に基づいて、前記フレームデータの更新を行う
請求項７記載の画像生成装置。
【請求項１１】
前記半導体記憶装置に記憶されている画像データの所望の領域の画像データを、前記データ再生手段を介して順次読み出し、所定の画像表示装置に表示可能な所定の信号に変換するデータ変換手段
をさらに有する請求項７記載の画像生成装置。
【請求項１２】
前記３次元画像データは、任意の３次元立体モデルを、少なくとも３次元位置情報を有する頂点によって示される基本多角形の集合として示されているデータであり、
前記基本多角形の前記頂点に対して所定の座標変換を行う座標変換手段と、
前記基本多角形の頂点のデータに基づいて、当該基本多角形の内部のデータを生成し、ラスター形式の３次元画像データを生成する画素データ生成手段と
をさらに有し、
入力された前記３次元画像データに対して、前記３次元立体モデルに対して任意の座標変換を行った３次元画像データを生成し、画像表示装置に表示可能な画像信号を出力する
請求項１１記載の画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば３次元コンピュータグラフィックスシステムにおいて回転、移動および拡大／縮小などの座標変換を頻繁に行って立体モデルを表示する際に、その表示画像の生成を好適に行えるようにデータを記憶する記憶装置、その記憶装置の制御装置と制御方法、および、そのような表示画像の生成を適切に行う画像生成装置に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスシステムは、計算機とグラフィックス周辺装置により、画像や映像を作成して表示するシステムであり、機械、電気、建築などにおける設計支援のためのＣＡＤシステム、化学、航空、制御などにおける反応や応答のシミュレーション、教育、芸術、ビデオゲームなど、多くの分野において広く活用されている。
【０００３】
このようなコンピュータグラフィックスシステムの中には、主として計算機の数値計算能力を活用して立体的な画像を作成する３次元画像生成装置を具えたシステム（以後、３次元グラフィックスシステムと言う。）がある。
この３次元グラフィックスシステムは、計算機中の立体モデルに対して、回転、移動、拡大／縮小という座標変換を頻繁に行って表示画像を生成し、表示するシステムであり、２次元グラフィックスシステムに比べ、座標変換、透視変換、陰影処理、および隠線／隠面消去処理などの高度な処理を必要とする。
【０００４】
これまでの３次元グラフィックスシステムでは、表示解像度に応じた容量の、カラー値を格納するバッファ（以後、フレームバッファと言う。）と、奥行情報（以後、Ｚ値と言う。）を格納するバッファ（以後、Ｚバッファと言う。）を具え、これらのバッファに記憶されている画素ごとのデータに対して所望の演算を行う画素演算処理を行うことにより、このような高度な処理を行っている。このフレームバッファおよびＺバッファは、完全に物理的に分離されたメモリで構成されており、それぞれのデータも分離して格納される。また、必要とされる容量も、要求されるカラー値のビット長、Ｚ値のビット長の違いに応じて異なっている。
【０００５】
このような、これまでの３次元グラフィックスシステムの３次元画像生成装置の具体的構成を図４に示す。
図４に示すように、３次元画像生成装置９は、画素データの書き込みに応じてメモリ制御を行うメモリ制御回路９１と、カラー値が記憶されたメモリＡ（フレームバッファ）９２とＺ値が記憶されたメモリＢ（Ｚバッファ）９３とを有する。
また、メモリ制御回路９１は、ＦＢ制御回路９１１とＺＢ制御回路９１５とを有する。
【０００６】
ＦＢ制御回路９１１は、コントロール線９０ａを介して入力されるリクエスト信号Ｒｅｑに応じてフレームバッファ９２の制御信号を発生するＦＢ制御部９１２と、アドレス線９０ｂを介して入力される描画の論理アドレスＸＹａｄｄをフレームバッファ９２の物理アドレスへ変換するＦＡ変換部９１３と、データ線９０ｃを介して入力されるカラー値Ｃｄａｔとデータ線９０ｇを介して入力される既にフレームバッファ９２に記憶されているカラー値ＦＢｄａｔとの演算を行うＣ値演算部９１４とを有する。
ＦＢ制御部９１２から出力される制御信号ＦＢｃｔｌはコントロール線９０ｅを介して、ＦＡ変換部９１３から出力されるアドレスＦＢａｄｄはアドレス線９０ｆを介して、Ｃ値演算部における演算結果のデータＦＢｄａｔはデータ線９０ｇを介して、それぞれフレームバッファ９２に入力される。
【０００７】
ＺＢ制御回路９１５は、コントロール線９０ａを介して入力されるリクエスト信号Ｒｅｑに応じてＺバッファ９３の制御信号を発生するＺＢ制御部９１６と、アドレス線９０ｂを介して入力される描画の論理アドレスＸＹａｄｄをＺバッファ９３の物理アドレスへ変換するＺＡ変換部９１７と、データ線９０ｄを介して入力されるＺ値Ｚｄａｔと、データ線９０ｊを介して入力される既にＺバッファ９３に記憶されているＺ値ＺＢｄａｔとを比較するＺ値比較部９１８とを有する。
ＺＢ制御部９１６から出力される制御信号ＺＢｃｔｌはコントロール線９０ｈを介して、ＺＡ変換部９１７から出力されるアドレスＺＢａｄｄはアドレス線９０ｉを介して、Ｚ値比較部９１８における比較結果のデータＺＢｄａｔはデータ線９０ｊを介して、それぞれＺバッファ９３に入力される。また、Ｚ値比較部９１８における比較結果のデータＺＢｄａｔは、ＦＢ制御回路９１１にも入力され、Ｃ値演算部９１４における演算に供される。
【０００８】
【発明が解決しようとする課題】
ところで、図４に示したようにメモリ制御回路とフレームバッファおよびＺバッファが接続されている従来の３次元画像生成装置９では、フレームバッファとＺバッファの取り得る構成が予め決められており、構成の自由度が低いという問題がある。
また、バッファの取り得る容量は、それぞれのメモリの容量で制限されてしまうため、たとえば図４に斜線部で示すように、メモリＢにメモリＡよりも大きな空き容量が有ったとしても、これを大きな容量の必要なフレームバッファとして使用することはできなかった。その結果、メモリ容量を有効に使用することができない場合があり、メモリＡ、メモリＢの使用効率が良いとは言い難かった。
【０００９】
これらの問題を解決するために、フレームバッファおよびＺバッファを構成するメモリの単位を細かくして、必要に応じてコンフィギュレーションを変更する手法が取られる場合がある。
具体的な例を図５を参照して説明する。
図５（Ａ）〜（Ｃ）は、メモリＡおよびメモリＢを４Ｍｂｉｔのメモリ８個で構成する場合の、フレームバッファおよびＺバッファの構成を説明するための図であり、実線部がフレームバッファとして、点線部がＺバッファとしてコンフィギュレーションされたことを示す。すなわち、図５（Ａ）は、フレームバッファに要求される容量（ＦＢ）とＺバッファに要求される容量（ＺＢ）が１：１の場合、図５（Ｂ）は、ＦＢ：ＺＢ＝５：３の場合、図５（Ｃ）はＦＢ：ＺＢ＝３：１の場合の効率良いメモリＡ、メモリＢのコンフィギュレーション例を示している。
【００１０】
しかし、いずれの構成も、メモリの最小単位が４Ｍｂｉｔで制限されているため、たとえば、ＦＢ：ＺＢ＝２：１、ＦＢ：ＺＢ＝３：２と言うようなコンフィギュレーションを効率良く構成することはできない。つまり、Ｎ個のメモリで構成されるバッファが取り得るコンフィギュレーションは、たかだかＮ通りに制限されてしまうのである。
また、このような手法を実現するためには、Ｎ個のメモリ各々に対し、制御の主体がＦＢ制御回路なのかＺＢ制御回路なのかを設定する必要があり、制御が複雑になり回路規模が大きくなるという問題も生じる。
すなわち、このような手法を用いたとしても、メモリの最小単位は現実にはあまり小さくはとれないために画像データに応じて好適なコンフィギュレーションを適宜構成することはできず、また、制御が複雑になり回路規模が大きくなるという問題も生じるため、あまり得策ではなかった。
【００１１】
したがって、本発明の目的は、たとえばフレームバッファとＺバッファのような複数種類の記憶手段を、記録対象のデータに応じてその容量が任意の比率となるように構成することができ、これにより具備されたメモリ空間を効率よく使用することができるデータ記憶装置を提供することにある。
また本発明の他の目的は、具備されたメモリに対して、記録対象のデータに応じて、複数種類の記憶手段を任意の容量比率で設定することができ、これによりそのメモリを効率よく使用することができる記憶装置の制御装置およびその方法を提供することにある。
さらに本発明の目的は、そのような記憶装置を有効に使用することにより、種々の解像度の画像データに対して所望の画像変換処理を好適に行い、所望の画像データを生成することができる画像生成装置を提供することにある。
【００１２】
【課題を解決するための手段】
前記課題を解決するために、記憶手段を構成する複数のメモリについて、記憶するデータの種類を固定せずに、各データを各メモリに等しいデータ量ずつ格納するようにした。そしてこれにより、複数のメモリの使用量を同じにし、メモリ容量を最大限に使用して複数種類の記憶手段を構成できるようにした。
また、その時に、異なる種類のデータの対応するデータは異なるメモリに格納するようにし、それぞれのデータを並列に処理することができるようにした。
【００１３】
したがって本発明のデータ記憶装置は、第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置と、任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータに対して、該フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保し、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する記憶領域管理手段と、入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスするアクセス手段と、を有し、前記記憶領域管理手段は、特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換すると同時に、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成する第１のアドレス変換部と、特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換する第２のアドレス変換部と、を有し、前記アクセス手段は、前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスする。
【００１６】
また本発明のデータ記憶装置の制御装置は、第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置に、任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータとを、同一画素のフレームデータとＺデータを同時にアクセス可能にするデータ記憶装置の制御装置であって、前記２個の半導体記憶装置の各々に、前記フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保し、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する記憶領域管理手段と、入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスするアクセス手段と、を有し、前記記憶領域管理手段は、特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換すると同時に、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成する第１のアドレス変換部と、特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換する第２のアドレス変換部と、を有し、前記アクセス手段は、前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスする。
【００１９】
また本発明のデータ記憶装置の制御方法は、第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置に、任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータとを、同一画素のフレームデータとＺデータを同時にアクセス可能に記憶させるデータ記憶装置の制御方法であって、前記２個の半導体記憶装置の各々に、前記フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保する第１ステップと、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する第２ステップと、入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスする第３ステップと、を含み、前記第２ステップは、特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換するステップと、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成するステップと、特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換するステップと、を有し、前記第３ステップは、前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスするステップと、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスするステップと、を含む。
【００２０】
また本発明の画像生成装置は、第１の物理アドレスまたは第２の物理アドレスにより各々独立にアクセス可能な２個の半導体記憶装置と、任意の３次元画像データの画素ごとの色情報であるフレームデータと奥行きデータであるＺデータに対して、該フレームデータの１／２の記憶容量を有するフレームバッファと、該Ｚデータの１／２の記憶容量を有するＺバッファとを前記２個の半導体記憶装置各々に確保し、同一の画素に対する前記フレームデータと前記Ｚデータが同一の前記半導体記憶装置に記憶されないように、前記フレームバッファおよび前記Ｚバッファに、前記３次元画像データの各画素のフレームデータおよびＺデータのデータ量に応じて各半導体記憶装置のアクセス単位であるページ単位で、フレームデータおよびＺデータの記憶領域を可変に設定する記憶領域管理手段と、入力される特定の画素を示すアドレスに基づいて、前記設定された当該画素の前記フレームデータの記憶領域および前記Ｚデータの記憶領域を同時にアクセスするアクセス手段と、前記３次元画像データを、前記アクセス手段を介して、前記半導体記憶装置に記憶するデータ記憶手段と、入力される特定の画素を示すアドレスに基づいて、前記アクセス手段を介して、前記半導体記憶装置に記憶されている当該画素の前記フレームデータおよび前記Ｚデータを読み出すデータ再生手段と、入力される制御信号に基づいて、少なくとも前記読み出したフレームデータに対して所定の処理を行い、当該画素の新たなフレームデータを生成する画素データ処理手段と、前記生成した新たなフレームデータにより、前記アクセス手段を介して、前記半導体記憶装置に記憶されている当該画素のフレームデータを更新するデータ更新手段と、を有し、前記記憶領域管理手段は、特定の画素の論理アドレスをフレームバッファの第１の物理アドレスに変換すると同時に、当該論理アドレスおよび全フレームデータ量に基づいて当該画素のカラー値を前記２個の半導体記憶装置のどちらに格納すべきかを判別し、格納すべき半導体記憶装置を選択する選択信号を生成する第１のアドレス変換部と、特定の画素の論理アドレスをＺバッファの第２の物理アドレスに変換する第２のアドレス変換部と、を有し、前記アクセス手段は、前記第１のアドレス変換部による選択信号に応じて、同一の画素に対する前記フレームデータと前記Ｚデータとを同時に書き込むため、または、読み出すために、前記２個の半導体記憶装置のいずれか一方の半導体記憶装置に設定されたフレームバッファまたはＺバッファを上記第１の物理アドレスまたは第２の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、他方の半導体記憶装置に設定されたＺバッファまたはフレームバッファを前記一方の半導体記憶装置と異なる前記第２の物理アドレスまたは第１の物理アドレスのうち選択手段により選択した物理アドレスに基づいてアクセスし、前記半導体記憶装置に所望の画像データを生成する。
【００２１】
この画像生成装置によれば、同一の記憶容量を有し各々独立にアクセス可能な実質的に２個の半導体記憶装置に対して、記憶領域管理手段において、処理対象の任意の３次元画像データの、画素ごとの色情報であるフレームデータの１／２の記憶容量を有するフレームバッファと、画素ごとの奥行きデータであるＺデータの１／２の記憶容量を有するＺバッファとを確保し、さらに、同一の画素に対するフレームデータとＺデータが同一の半導体記憶装置に記憶されないように、３次元画像データの各画素のフレームデータおよびＺデータの記憶領域をそのフレームバッファおよびＺバッファに設定する。そして、データ記憶手段により、その３次元画像データを、入力されるアドレスに基づいて対応する画素のフレームデータの記憶領域およびＺデータの記憶領域を同時的にアクセスするアクセス手段を介して、その半導体記憶装置に記憶する。
以後、入力される所定の画素を示すアドレスに基づいて、データ再生手段がアクセス手段を介して半導体記憶装置に記憶されているその画素のフレームデータおよびＺデータを読み出し、入力される制御信号に基づいて、画素データ処理手段が少なくとも読み出したフレームデータに対して所定の処理を行いその画素の新たなフレームデータを生成し、データ更新手段が、生成した新たなフレームデータをアクセス手段を介して半導体記憶装置に記憶し、既に記憶されているその画素のフレームデータを更新し、これにより、所望の画像データを生成する。
【００２２】
なお好適には、画像データ処理手段は、読み出したフレームデータに対して、入力された任意のデータを用いて所定の処理を行う。
また特定的には、画像データ処理手段は、読み出したＺデータと入力される任意の画素データのＺデータとの比較を行い、データ更新手段は、その比較結果に基づいてフレームデータの更新を選択的に行う。
また好適には、本発明の画像生成装置は、半導体記憶装置に記憶されている画像データの所望の領域の画像データをデータ再生手段を介して順次読み出し、所定の画像表示装置に表示可能な所定の信号に変換するデータ変換手段をさらに有する。
また特定的には、前記３次元画像データは、任意の３次元立体モデルを、少なくとも３次元位置情報を有する頂点によって示される基本多角形の集合として示されているデータである。
【００２３】
【発明の実施の形態】
本発明の一実施の形態について図１〜図３を参照して説明する。
本実施の形態においては、家庭用ゲーム機などに適用され、任意の３次元物体モデルに対する所望の３次元画像を、ディスプレイ上に高速に表示する３次元コンピュータグラフィックスシステムについて説明する。
この３次元コンピュータグラフィックスシステムは、立体モデルを単位図形である三角形（ポリゴン）の張り合わせとして表現しておき、このポリゴンを描画することで表示画面の各画素の色を決定しディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、この３次元コンピュータグラフィックスシステムにおいては、平面を表わす（ｘ、ｙ）座標の他に、奥行きを表わすｚ座標を用いて３次元物体を表わし、またこのｘ、ｙ、ｚの３つの座標で３次元空間内の任意の１点を特定する。
【００２４】
図１は、その３次元コンピュータグラフィックスシステム１の構成を示すブロック図である。
３次元コンピュータグラフィックスシステム１は、入力部２、３次元画像生成装置３および表示装置４を有する。
また、３次元画像生成装置３は、転送回路３１、ジオメトリ演算回路３２、パラメータ演算回路３３、画素発生回路３４、マッピング回路３５、テクスチャメモリ３６、メモリ制御回路３７、画像メモリ３８およびディスプレイ制御回路３９を有する。
【００２５】
まず、各部の構成・機能の概要について説明する。
入力部２は、３次元画像生成装置３に対して、表示対象の立体モデルのデータを入力する。本実施の形態においては、３次元コンピュータグラフィックスシステム１は家庭用ゲーム機に適用されているので、入力部２は、その家庭用ゲーム機のゲーム自体を制御する主制御装置などに接続される。その主制御装置においては、ゲームの進行状況などに基づいて、表示する画面を決定し、その画面表示に必要な立体モデルを選択し、その表示方法の情報を生成する。したがって入力部２は、これらの情報を、家庭用ゲーム機の主制御装置より受け取り、３次元画像生成装置３へ入力するのに適した形態に変換するなどして、３次元画像生成装置３に入力する。具体的には、入力部２は、表示する立体モデルのポリゴンデータを３次元画像生成装置３の転送回路３１に入力する。
【００２６】
３次元画像生成装置３の転送回路３１は、入力部２より入力されたポリゴンのデータを直接メモリアクセス（ＤＭＡ：Direct Memory Access）転送により、ジオメトリ演算回路３２に高速転送する。
なお、入力部２より入力されるポリゴンのデータは、各頂点のｘ，ｙ，ｚ座標データおよびカラー、透明度、テクスチャなどの付随データである。
【００２７】
ジオメトリ演算回路３２は、転送回路３１を介して入力されたポリゴンを、３次元空間中の所望の位置に配置させその位置におけるポリゴンデータを生成する。具体的には、ポリゴンの各頂点（ｘ、ｙ、ｚ）ごとに、並進変換、平行変換および回転変換などの幾何学的変換処理（ジオメトリ変換処理という場合もある）を行う。ジオメトリ変換処理を行ったポリゴンデータは、パラメータ演算回路３３に出力される。
【００２８】
パラメータ演算回路３３は、ジオメトリ演算回路３２から入力されたポリゴンデータに基づいて、画素発生回路３４においてポリゴン内部の画素データを発生するために必要なパラメータを求め、画素発生回路３４に出力する。具体的にはたとえば、ポリゴンの各辺の傾きを求めるなどの処理を行う。
【００２９】
画素発生回路３４は、パラメータ演算回路３３からのパラメータによりセットアップされ、ジオメトリ演算回路３２でジオメトリ変換処理が行われたポリゴンデータ、および、パラメータ演算回路３３で求められたパラメータに基づいて、ポリゴンの各頂点間を線型補間してポリゴン内部の画素データを発生し、また表示に対応する２次元平面上でのアドレスの生成を行う。生成された画素データおよびアドレスは、マッピング回路３５に出力する。
【００３０】
マッピング回路３５は、画素発生回路３４から入力された画素データおよびアドレスに基づいて、テクスチャメモリ３６に格納されているテクスチャデータを用いて、テクスチャマッピング処理を行う。テクスチャマッピング処理を行った画素データおよびアドレスは、メモリ制御回路３７に出力する。
【００３１】
テクスチャメモリ３６は、マッピング回路３５でテクスチャマッピングする際に用いるテクスチャパタンを記憶しておくメモリである。
【００３２】
メモリ制御回路３７は、マッピング回路３５から入力される画素データおよびアドレス、および、既に画像メモリ３８に記憶されている対応する画素データに基づいて、新たな画素データを生成し、画像メモリ３８に記憶する。すなわち、メモリ制御回路３７は、マッピング回路３５から入力されるアドレスに対応した画素データを画像メモリ３８から読み出し、その画素データと、マッピング回路３５から入力された画素データとを用いて、所望の画素演算処理を行い、得られた画素データを画像メモリ３８へ書き込む。
また、メモリ制御回路３７は、ディスプレイ制御回路３９から表示領域が指定された場合には、その表示領域の画素データを、画像メモリ３８から読み出し、ディスプレイ制御回路３９に出力する。
【００３３】
画像メモリ３８は、表示用の画像データを記録するメモリであり、各々独立した全く別個の、換言すれば同時にアクセスすることができる２つのメモリ、メモリＡとメモリＢとを有する。具体的にはメモリＡおよびメモリＢは、各々ＤＲＡＭによって構成される。
なお、これらメモリ制御回路３７および画像メモリ３８については、後により詳細に説明する。
【００３４】
ディスプレイ制御回路３９は、メモリ制御回路３７を介して画像メモリ３８より読み出した表示領域の画素データを、表示装置４により表示可能なたとえば所定のアナログ信号に変換し、表示装置４に出力する。また、これに先立ちディスプレイ制御回路３９は、メモリ制御回路３７に対して、表示すべき表示領域の画素データの要求を行う。
【００３５】
表示装置４は、本実施の形態においては、通常家庭などで用いられているビデオ入力端子などを有するテレビジョン受信機である。発信者番号入力装置のディスプレイ制御回路３９からは、ビデオ信号入力端子を介してアナログビデオ信号が入力され、その信号に基づいて３次元映像を画面上に表示する。
【００３６】
次に、３次元コンピュータグラフィックスシステム１の動作、処理の流れについて説明する。
まず、家庭用ゲーム機のゲーム自体を制御する主制御装置などにおいて、表示する３次元画像が決定されると、その画面表示に必要な立体モデルの情報が入力部２に入力される。入力部２はこの情報に基づいて、その画像を表示するための立体モデルのポリゴンデータを３次元画像生成装置３に入力する。
３次元画像生成装置３に入力された各ポリゴンデータは、転送回路３１によりＤＭＡ転送されてジオメトリ演算回路３２に入力され、ジオメトリ演算回路３２において、画面表示のために３次元空間中の所望の位置に配置されるように、並進変換、平行変換および回転変換などのジオメトリ変換処理が行われる。
【００３７】
座標変換の行われたポリゴンデータに対して、パラメータ演算回路３３において、ポリゴン内部の画素データを発生するために必要なパラメータが求められ、画素発生回路３４において、実際にポリゴンの各頂点間を線型補間してポリゴン内部の画素データが発生される。
そして、マッピング回路３５において、各画素データに対して、テクスチャメモリ３６に記録されているテクスチャパタンデータを参照して、テクスチャマッピング処理が行われ、生成された画素データがメモリ制御回路３７を介して画像メモリ３８に記憶される。
【００３８】
画像メモリ３８に記憶された画素データは、同様の経路により入力される他の画素データや任意の制御データに基づいて適宜所望の処理が行われる。
これにより画像メモリ３８には常に最新の画像データが保持され、画面表示に供される。すなわち、表示装置４に表示するための所定の領域のデータの出力の要求がディスプレイ制御回路３９からメモリ制御回路３７に対して行われ、その領域の画素データが適宜画像メモリ３８から読み出され、ディスプレイ制御回路３９において画面表示用の所定のアナログ信号に変換され、表示装置４に出力される。
これにより、表示装置４においては、そのアナログ信号に基づいて、所望の画像が画面に表示される。
【００３９】
次に、本発明に係わるメモリ制御回路３７および画像メモリ３８について、図２を参照して詳細に説明する。
図２は、メモリ制御回路３７および画像メモリ３８のより詳細な構成を示すブロック図である。
図示のごとく、メモリ制御回路３７は、ＦＢ制御回路１１０、ＺＢ制御回路１２０および選択回路１３０を有し、画像メモリ３８は、２組のメモリ、メモリＡとメモリＢとを有する。
【００４０】
メモリ制御回路３７と画像メモリ３８のメモリＡとは、コントロール線４０ａ、アドレス線４０ｂおよびデータ線４０ｃとにより接続されており、コントロール線４０ａおよびアドレス線４０ｂを介してメモリ制御回路３７からメモリＡに出力される制御信号ＭＡｃｔｌおよびアドレスＭＡａｄｄにより、メモリ制御回路３７はメモリＡをアクセスする。また、データ線４０ｃを介して、メモリ制御回路３７とメモリＡとの間のリードまたはライトのデータＭＡｄａｔの転送が行われる。
【００４１】
同様に、メモリ制御回路３７と画像メモリ３８のメモリＢとは、コントロール線４０ｄ、アドレス線４０ｅおよびデータ線４０ｆとにより接続されており、コントロール線４０ｄおよびアドレス線４０ｅを介してメモリ制御回路３７からメモリｂに出力される制御信号ＭＢｃｔｌまたはアドレスＭＢａｄｄにより、メモリ制御回路３７はメモリＢをアクセスする。また、データ線４０ｆを介して、メモリ制御回路３７とメモリＢとの間のリードまたはライトのデータＭＢｄａｔの転送が行われる。
【００４２】
ＦＢ制御回路１１０は、ＦＢ制御部１１１、ＦＡ変換部１１２およびＣ値演算部１１３を有する。
ＦＢ制御部１１１は、リクエスト線４０ｎを介して入力されるリクエスト信号Ｒｅｑに応じて、フレームバッファに対する制御信号ＦＢｃｔｌを発生し、コントロール線４０ｇを介して選択回路１３０に出力する。
なお、ＦＢ制御部１１１には、後述するＺＢ制御回路１２０のＺ値比較部１２３より処理対象の画素の奥行き情報（Ｚ値）の比較結果が入力される。その画素に対する処理内容によっては、ＦＢ制御部１１１はこの比較結果を参照して、生成したカラー値ＦＢｄａｔでフレームバッファを更新するか否かを制御する。
【００４３】
ＦＡ変換部１１２は、アドレス線４０ｐを介して入力される画素データの論理アドレスＸＹａｄｄをフレームバッファの物理アドレスＦＢａｄｄへ変換し、アドレス線４０ｈを介して選択回路１３０に出力する。また、ＦＡ変換部１１２は、入力されるカラー値Ｃｄａｔを画像メモリ３８の内部のメモリＡ、メモリＢのどちらに格納すべきかを論理アドレスＸＡａｄｄから判別し、格納すべきメモリを選択する選択信号Ｍｓｅｌを生成し、信号線４０ｓを介して選択回路１３０に出力する。
【００４４】
Ｃ値演算部１１３は、データ線４０ｑを介して入力されるカラー値Ｃｄａｔと、必要に応じて双方向のデータ線４０ｉを介して入力される既にフレームバッファ内に記憶されているカラー値ＦＢｄａｔとを用いて演算処理を行い、新たなカラー値ＦＢｄａｔを生成し、双方向のデータ線４０ｉを介して、選択回路１３０に出力する。
【００４５】
ＺＢ制御回路１２０は、ＺＢ制御部１２１、ＺＡ変換部１２２およびＺ値比較部１２３を有する。
ＺＢ制御部１２１は、リクエスト線４０ｎを介して入力されるリクエスト信号Ｒｅｑに応じて、Ｚバッファに対する制御信号ＺＢｃｔｌを発生し、コントロール線４０ｊを介して選択回路１３０に出力する。
ＺＡ変換部１２２は、アドレス線４０ｋを介して入力される画素データの論理アドレスＸＹａｄｄを、Ｚバッファの物理アドレスＺＢａｄｄへ変換し、選択回路１３０に出力する。
【００４６】
Ｚ値比較部１２３は、データ線４０ｒを介して入力されるＺ値Ｚｄａｔと、必要に応じて双方向のデータ線４０ｍを介して入力される既にＺバッファ内に記憶されているＺ値ＺＢｄａｔとを用いて演算処理を行い、新たなＺ値ＺＢｄａｔを生成し、双方向のデータ線４０ｍを介して選択回路１３０に出力する。
なお、Ｚ値比較部１２３での比較結果は、信号線４０ｔを介してＦＢ制御回路１１０に入力され、前述したフレームバッファを更新するか否かの制御に供される。
【００４７】
選択回路１３０は、６個のマルチプレクサ１３１〜１３６と、切り替え信号発生部１３７を有し、ＦＢ制御回路１１０またはＺＢ制御回路１２０の出力を選択して画像メモリ３８に出力し、また、画像メモリ３８からの出力データを選択してＦＢ制御回路１１０またはＺＢ制御回路１２０に出力する。
マルチプレクサ１３１（ＣＭＵＸＡ）は、メモリＡに印加されるコントロール信号を選択するマルチプレクサである。マルチプレクサ１３１は、コントロール線４０ｇおよび４０ｊを介して入力されるコントロール信号ＦＢｃｔｌおよびＺＢｃｔｌのいずれかを、後述する切り替え信号発生部１３７より信号線４０ｔを介して入力される選択信号Ｃｓｅｌに基づいて選択し、制御信号ＭＡｃｔｌとしてコントロール線４０ａを介して画像メモリ３８のメモリＡへ出力する。
【００４８】
マルチプレクサ１３２（ＣＭＵＸＢ）は、メモリＢに印加されるコントロール信号を選択するマルチプレクサである。マルチプレクサ１３２は、コントロール信号ＦＢｃｔｌおよびＺＢｃｔｌのいずれかを、選択信号Ｃｓｅｌに基づいて選択し、制御信号ＭＢｃｔｌとしてコントロール線４０ｄを介して画像メモリ３８のメモリＢへ出力する。
【００４９】
マルチプレクサ１３１とマルチプレクサ１３２はともに、ＦＢ制御部１１１で生成されたコントロール信号ＦＢｃｔｌと、ＺＢ制御部１２１で生成されたコントロール信号ＺＢｃｔｌが入力され、選択信号Ｃｓｅｌによりそのいずれかが選択される。しかし、図示のごとくマルチプレクサ１３１とマルチプレクサ１３２では各コントロール信号の入力端子が異なっているので、各マルチプレクサでは必ず異なるコントロール信号が選択される。
【００５０】
マルチプレクサ１３３（ＡＭＵＸＡ）は、メモリＡに印加されるアドレスを選択するマルチプレクサである。マルチプレクサ１３３は、アドレス線４０ｈおよび４０ｋを介して入力されるアドレスＦＢａｄｄおよびＺＢａｄｄのいずれかを、後述する切り替え信号発生部１３７より信号線４０ｕを介して入力される選択信号Ａｓｅｌに基づいて選択し、アドレスＭＡａｄｄとしてアドレス線４０ｂを介してメモリＡへ出力する。
【００５１】
マルチプレクサ１３４（ＡＭＵＸＢ）は、メモリＢに印加されるアドレスを選択するマルチプレクサである。マルチプレクサ１３４は、アドレスＦＢａｄｄおよびＺＢａｄｄのいずれかを、選択信号Ａｓｅｌに基づいて選択し、アドレスＭＢａｄｄとしてアドレス線４０ｅを介してメモリＢへ出力する。
このマルチプレクサ１３３とマルチプレクサ１３４においても、前述したマルチプレクサ１３１とマルチプレクサ１３２と同様に、各マルチプレクサでは必ず異なるアドレスが選択される。
【００５２】
マルチプレクサ１３５（ＤＭＵＸＡ）は、メモリＡに書き込まれるデータが入力される制御回路、および、メモリＡから読み出されたデータを出力する制御回路を選択するマルチプレクサである。マルチプレクサ１３５は、双方向のデータ線４０ｉまたはデータ線４０ｍのいずれかを、後述する切り替え信号発生部１３７より信号線４０ｖを介して入力される選択信号Ｄｓｅｌに基づいて選択し、メモリＡのデータ線４０ｃと接続する。これにより、Ｃ値演算部１１３およびＺ値演算部１２３より出力されるデータＦＢｄａｔおよびＺＢｄａｔのいずれかを、メモリＡへの書き込みデータＭＡｄａｔとして選択し、メモリＡに出力する。また、メモリＡから読み出されたデータＭＡｄａｔは、データＦＢｄａｔまたはデータＺＢｄａｔとして、Ｃ値演算部１１３またはＺ値演算部１２３のいずれかに入力される。
【００５３】
マルチプレクサ１３６（ＤＭＵＸＢ）は、メモリＢに書き込まれるデータが入力される制御回路、および、メモリＢから読み出されたデータを出力する制御回路を選択するマルチプレクサである。マルチプレクサ１３６は、双方向のデータ線４０ｉまたはデータ線４０ｍのいずれかを、選択信号Ｄｓｅｌに基づいて選択し、メモリＢのデータ線４０ｆと接続する。これにより、Ｃ値演算部１１３およびＺ値演算部１２３より出力されるデータＦＢｄａｔおよびＺＢｄａｔのいずれかが、メモリＢへの書き込みデータＭＢｄａｔとして選択され、メモリＢに出力される。また、メモリＢから読み出されたデータＭＢｄａｔは、データＦＢｄａｔまたはデータＺＢｄａｔとして、Ｃ値演算部１１３またはＺ値演算部１２３のいずれかに入力される。
このマルチプレクサ１３５とマルチプレクサ１３６においても、各マルチプレクサでは必ず異なる信号線が選択される。
【００５４】
切り替え信号発生部１３７は、ＦＢ制御回路１１０から信号線４０ｓを介して入力される選択信号Ｍｓｅｌに基づいて、制御線の切り替え信号Ｃｓｅｌ、アドレス線の切り替え信号Ａｓｅｌ、データ線の切り替え信号Ｄｓｅｌを発生し、それぞれ信号線４０ｔ、４０ｕ、４０ｖを介して、マルチプレクサ１３１〜１３６に出力する。
【００５５】
このような構成のメモリ制御回路３７と画像メモリ３８において、フレームバッファおよびＺバッファを構成する方法、換言すれば、前述したＦＡ変換部１１２におけるメモリ選択信号Ｍｓｅｌの生成方法について、図３を参照して説明する。
図３は、画像メモリ３８の２つのメモリ、メモリＡおよびメモリＢに、フレームバッファおよびＺバッファをマッピングした状態を示す図である。
【００５６】
処理対象の画像データのフレームバッファの総容量を２ｍ行アドレス分、Ｚバッファの総容量を２ｎ行アドレス分とすると、フレームバッファのｍ行アドレス分をメモリＡへ格納してこの領域をフレームバッファＡとし、残りｍ行分をメモリＢへ格納してこの領域をフレームバッファＢとする。同様にＺバッファのｎ行アドレス分をメモリＡへ格納してこの領域をＺバッファＡとし、残りｎ行アドレス分をメモリＢへ格納してこの領域をＺバッファＢとする。
【００５７】
また、データを格納する際には、フレームバッファＡ内のカラー値に対するＺ値をＺバッファＢに格納し、フレームバッファＢ内のカラー値に対するＺ値をＺバッファＡに格納する。
具体的には、図３に示すように、フレームバッファＡ内のカラー値Ｃ０に対応するＺ値Ｚ０をＺバッファＢに格納し、フレームバッファＢ内のカラー値Ｃ１に対応するＺ値Ｚ１をＺバッファＡに格納する。すべてのカラー値とＺ値について同様の格納を行う。
【００５８】
したがって、ＦＡ変換部１１２は、入力された処理対象の画素のアドレスＸＹａｄｄをフレームバッファの物理アドレスＦＢａｄｄへ変換すると同時に、そのアドレスＸＹａｄｄおよび全フレームデータ量に基づいてその画素のカラー値Ｃｄａｔが記憶されているメモリを検出し、カラー値ＦＢｄａｔのアクセス先としてそのメモリを選択する信号Ｍｓｅｌを生成する。
【００５９】
次に、このようにフレームバッファとＺバッファを構成した場合の、構成の自由度および容量について説明する。
図３に示したように、行アドレスがｐ行のＤＲＡＭを２個用いて、上記格納方法でフレームバッファとＺバッファを構成した場合、それぞれのバッファを構成する最小単位は、２行アドレス分（メモリＡの１行＋メモリＢの１行）の容量となる。
フレームバッファの残りを全てＺバッファと考えると、フレームバッファとＺバッファの取り得る構成は、ＤＲＡＭの行アドレスに相当するｐ−１通りが可能となる。通常ＤＲＡＭにおける行アドレスｐは、２５６以上の値を取るため、フレームバッファとＺバッファの取り得る構成は２５５以上となる。すなわち、処理対象のデータのフレームデータとＺデータとの比率にほぼ等しい比率でフレームバッファとＺバッファを構成することができ、バッファの構成の自由度は十分であると言える。
【００６０】
また、そのように、画像データの構成すなわちフレームデータとＺデータとの比率に即してバッファを構成することができるので、どのような構成の画像データであっても画像メモリ３８の容量一杯に有効にバッファを形成できる。
【００６１】
このように、本実施の形態の３次元コンピュータグラフィックスシステム１においては、表示装置４に表示する画像を記憶する画像メモリ３８としてＤＲＡＭを複数個用いた構成においても、ページを単位として、フレームバッファとＺバッファとを実質的に任意の比率で構成することができ、その構成の自由度が非常に高い。
その結果、そのバッファの構成に起因して、画像メモリ３８が有効に使用できないという問題は生じなくなり、画像メモリ３８を容量一杯に有効に使用することができる。また、余分な記憶領域を確保する必要がなくなり、平均的に、画像メモリ３８の容量に比べて大容量の画像データを処理することができる。
【００６２】
さらに、図３から分かるように、画像メモリ３８の２つのメモリ、メモリＡとメモリＢの未使用部分（斜線部）の容量が常に同じとなるので、フレームバッファ、Ｚバッファ以外に同様の格納方法で第３のバッファを容易に構成することが可能である。
【００６３】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
たとえば、本実施の形態の３次元画像生成装置３においては、図３に示すように、ＤＲＡＭの構成単位である行アドレス単位でバッファを構成する例を示したが、列アドレス単位での構成も可能であり、その場合ｐ×ｑ通りの構成が可能となる。
また、バッファの構成要素をどういう単位にするかは、メモリ制御回路３７のＦＡ変換部１１２およびＺＡ変換部１２２の変換式により、必要に応じて容易に変更が可能である。
また、表示装置４は本実施の形態においてはテレビジョン受信機であったが、ビットマップディスプレイなどの任意の表示装置を用いてよく、ディスプレイ制御回路３９はそれに応じた信号を生成するようにしてよい。
【００６４】
【発明の効果】
以上説明したように、本発明のデータ記憶装置によれば、たとえばフレームバッファとＺバッファのような複数の記憶領域を、記録対象のデータに応じてその容量が任意の比率となるように構成することができ、これにより具備されたメモリ空間を効率よく使用することができる。
また本発明のデータ記憶装置の制御装置およびその方法によれば、具備されたメモリに対して、複数の記憶領域を記録対象のデータに応じて任意の容量の比率で設定することができ、これによりそのメモリを効率よく使用することができる。
さらに本発明の画像生成装置によれば、記憶装置を有効に使用することにより、種々の解像度の画像データに対して所望の変換処理を好適に行い、所望の画像データを生成することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の３次元コンピュータグラフィックスシステムの一実施例の構成を示すブロック図である。
【図２】図１に示した３次元コンピュータグラフィックスシステムのメモリ制御回路および画像メモリの構成およびその接続状態をより詳細に示す図である。
【図３】図２に示したメモリ制御回路および画像メモリにおいて、フレームバッファおよびＺバッファを構成した場合の具体例を示す図である。
【図４】従来のメモリ制御回路とフレームバッファおよびＺバッファの構成および接続状態を示す図である。
【図５】従来の方法により、メモリにフレームバッファおよびＺバッファを構成する場合の、その構成方法を説明するための図である。
【符号の説明】
１…３次元コンピュータグラフィックスシステム、２…入力部、３…３次元画像生成装置、４…表示装置、３１…転送回路、３２…ジオメトリ演算回路、３３…パラメータ演算回路、３４…画素発生回路、３５…マッピング回路、３６…テクスチャメモリ、３７…メモリ制御回路、３８…画像メモリ、３９…ディスプレイ制御回路
【図１】
0004271270.tif 000002
【図２】
0004271270.tif 000003
【図３】
0004271270.tif 000004
【図４】
0004271270.tif 000005
【図５】
0004271270.tif 000006