(57)【要約】      （修正有）【課題】複数のチップに分散して実装することで、ラスタライザの並列化と共に、チップと画像メモリ間のバス転送速度と、大容量画像メモリのチップ内蔵による製品歩留まりの両問題を解決する。【解決手段】画像メモリを分割して複数のチップにそれぞれ内蔵する手段と、それぞれのチップにはビデオ走査タイミングで分割画像メモリを読み出した画像データと、この画像データに同期したクロックと、また画像データが有効であることを示す有効信号のそれぞれを送受信する入出力ポートを設ける手段と、チップの１つ（チップＡとする）が、他のそれぞれのチップに対して分割画像メモリの走査開始信号を送出し、この信号を受けたチップでは分割画像メモリを読み出し開始し、入出力ポートを通してチップＡに画像データ、またチップＡでは受信した画像データから全体映像を合成すると共に、このビデオ信号を表示装置に送出する。【選択図】図３
2006268809.tif 000002
【特許請求の範囲】
【請求項１】
複数のグラフィックスＬＳＩを用いたコンピュータグラフィックス並列処理回路に関し、前記グラフィックスＬＳＩは少なくとも視野変換回路、ラスタライザ、画像メモリおよびＤ／Ａ変換器を内蔵したチップ構造をもち、また前記画像メモリは、全表示空間を任意分割したサイズとする手段と、前記それぞれのチップには入出力ポートを設け、この入出力ポートには、ビデオ走査タイミングで前記分割画像メモリを読み出し得た画像データと、この画像データに同期したクロックと、また前記画像データが有効であることを示す有効信号のそれぞれを送出する手段と、チップの１つが、他の全てのチップから送出される前記画像データ、同期クロックおよび有効信号を、前記入出力ポートを通して受信して、全表示空間の画像に合成すると共に、内蔵する前記Ｄ／Ａ変換器を用いてビデオ信号に変換した後、このビデオ信号を表示装置に送出する手段のそれぞれを有する画像メモリ並列回路。
【請求項２】
請求項１の回路において、それぞれのチップが内蔵する前記分割画像メモリを、順次ビデオ走査タイミングに同期して読み出し、読み出された画像データをつなぎ合わせて全体の映像を構成する手段として、前記入出力ポートに接続された１つのチップから、他のそれぞれのチップに対して、それぞれのチップが内蔵する分割画像メモリの読み出し走査開始を知らせる信号を送出する手段と、それぞれのチップでは、前記走査開始信号を受信すると前記分割画像メモリを走査して読み出した画像データと、チップ内で生成した同期クロックおよび有効信号のそれぞれを分割画像メモリ領域の走査読み出し期間中、前記入出力ポートに送出する手段を有する画像メモリ並列回路。
【請求項３】
請求項１および２の回路において、前記入出力ポートを双方向バスとし、それぞれのチップの入出力ポートをワイヤードＯＲで接続し、それぞれのチップから順次出力される前記画像データ、同期クロックおよび有効信号のそれぞれを、前記双方向性バスを通して１つのチップが受信する手段と、この１つのチップが画像データを合成し、前記Ｄ／Ａ変換器を用いてビデオ信号に変換するそれぞれの手段を有する画像メモリ並列回路。
【請求項４】
請求項１および２の回路において、前記入出力ポートの入力および出力をそれぞれ物理的に分離したバス構造とし、前記入力・出力間を直列に接続して、それぞれのチップでは前段のチップから受信した画像データおよび有効信号を、前段からの同期クロックで取り込むと共に、受信した前記画像データを、チップ内で再生成した有効信号と同期信号と共に、出力ポート介して次段に送出する手段と、最終段に位置するチップにおいて画像データを合成し、前記Ｄ／Ａ変換器を用いてビデオ信号に変換するそれぞれの手段を有する画像メモリ並列回路。
【請求項５】
請求項１の回路において、前記分割画像メモリが互いに隣接する分割境界周辺において、それぞれのメモリの領域の一部が互いに重複するように画素分を増設する手段と、それぞれのチップにおいて画像メモリの描画空間は、前記増設した領域を含む前記分割画像メモリとする一方、ビデオ走査読み出し領域は増設した領域を含まない分割画像メモリとする手段のそれぞれを有する画像メモリ並列回路。
【請求項６】
請求項１の回路において、画像メモリの分割の手段として、水平および垂直軸のアドレスの上位ビットをスワップ回路により交換することにより、チップに内蔵する分割画像メモリの水平および垂直比率を任意のサイズにプログラマブルに構築可能とする手段を有する画像メモリ並列回路。
【発明の詳細な説明】
【技術分野】
【００１】  この発明はコンピュータグラフィックスにおけるレンダリング・プロセッサを並列接続して高速処理を得る手段としての画像メモリの構造とその周辺の論理回路に関する。
【背景技術】
【００２】  近年、ＬＳＩの大容量化が進み大規模回路のチップ内実装が可能となっている。実時間コンピュータグラフィックス・プロセッサにおいては視野変換回路、ポリゴン内挿補間回路、光反射照明モデル回路、画素演算回路など大規模なレンダリング回路が一つのチップ内に実装されている。グラフィックスプロセッサには従来から、その性能やコストに大きく影響を与える重要な回路として画像メモリ容量と共に、レンダリング回路と画像メモリとのインターフェイスの２つがあった。ＰＣなどの画像表示空間は通常１０００ｘ１０００程度の解像度が必要であり、カラー画素情報だけでも２４Ｍビットから３２Ｍビットの大容量が必要となる。さらにデプス値、シャドーマップ情報などの画素演算用データを考慮すると、その数倍のメモリが必要となり、大容量化ＬＳＩといえども、全画像メモリを一つのチップに内蔵することはチップサイズ（コスト）やＬＳＩの歩留まりの問題を抱えることになる。このため、今日においても高性能・高解像度商用機は例外なく画像メモリは外部取り付けとしている。一方、レンダリング回路と画像メモリ間のデータ転送の問題に関しては、それらのバス幅を可能な限り大きく、またＤＤＲなど高速のメモリアクセス方式が利用されている。しかし画像メモリが外部取り付け構造である限り、性能とコストがボットルネックとする問題は解決されない。
【発明の開示】
【発明が解決しようとする課題】
【００３】  本発明は、画像メモリをチップ外部に取り付けるのではなく、複数のチップに分散して実装することで、ラスタライザの並列化と共に、チップと画像メモリ間のバス転送速度の問題の解決と、大容量画像メモリのチップ内蔵による製品歩留まりの両問題を同時に解決することを課題としている。
【課題を解決するための手段】
【００４】  高解像度のシステムにおいでは、通常、レンダリング論理回路自体がチップ面積に占める規模は、画像メモリに比較して小規模となる。このため複数のチップに画像メモリを分割して内蔵し、チップのそれぞれから出力されるビデオ信号を合成する手段が可能であれば、チップ当たりに内蔵される画像メモリを１／ｋ（ｋは整数）とし、分割数ｋをＬＳＩ許容容量に合わせれば画像メモリ内蔵型のチップの製造も可能となる。チップの単価は数千万ポリゴン秒の性能のレンダリング回路であっても、コストが千円を下回る可能性のある今日では、画像メモリ外部取り付けよりは分散内臓型で複数のチップ構成の方がコスト上、有利である場合がある。複数のチップを用いることで、レンダリング回路はチップの数だけ並列処理が可能となり、また画像表示領域を分割することでチップ当たりの描画（クリッピング）領域が小さくなることから、相乗効果として性能が大幅に増加する可能性がある。
本発明の回路は視野変換回路およびラスタライザで構成するレンダラーと共に、画像表示領域を１／ｋ（ｋは整数）に分割した画像メモリを内蔵したチップ構造とする。チップの視野変換回路では、分割された画像メモリ領域をクリッピング領域と定めてクリップ処理を行う。ラスタライザは視野変換回路で得た情報から画素に展開し、分割された画像メモリに画素情報を記憶する。この際、画素間の演算も行なう。一方、画像データを表示するためにビデオ走査信号に同期して、画像メモリを走査し、画像データを読み出してチップ外部に出力する。画像全体は、それぞれのチップから出力する分割された画像データを集配して得ることができる。ここで本発明では画像メモリ分割の１例として、水平方向にスライスする例を取り上げる。例えば１０００（水平軸）ｘ１０００（垂直軸）の画像メモリにおいて、４分割の場合は１０００（水平軸）ｘ２５０（垂直軸）で４分割する。すなわち、それぞれのチップには１０００（水平軸）ｘ２５０（垂直軸）の画像メモリが実装される。この分割方式は水平同期ブランキング期間を利用して、それぞれのスライスされた画像メモリから読み出したビデオ信号の連続的な引継ぎに有利であるためである。１例として画像メモリに１Ｇビット必要なシステムにおいて、４分割の場合には、それぞれのチップは２５０Ｍビットを内蔵することになる。現在１Ｇビットを単一のチップに内蔵することは物理的には可能であっても、実用的には困難である。しかし２５０Ｍビットであれば９０ｎプロセスにおいて困難な容量ではない。画像メモリはその容量が大きければ大きいほど高機能化が可能となることから、今後１Ｇビットが実装可能となっても、その時点で更なる容量が要求されることになり、画像メモリの分割手段自体は将来とも有効となる。【００５】  画像メモリから読み出した画像データの合成手段は本発明の主要な部分である。本発明では、チップには分割画像メモリから読み出した画像データ（デジタルビデオ信号）を送出しチップ間を結ぶバスを設ける。１例として、このバスを２４ビットで構成する。画像メモリは、ラスタライザからのリードモディファイライトサイクルと、表示のためのビデオ走査読み出しサイクルの２つのアクセスが互いにシェアーしている。画像メモリ分割方式では、走査領域は分割された領域のみとなるため、１／４分割ではチップ当たりの走査サイクルが全画像フレームサイクルの１／４となり、この結果、ラスタライザは、全画像メモリ領域を有する構造に対して３／４の走査読み出し期間をスチールすることができる。すなわち画像メモリの分割によって、クリッピング領域の小領域化による視野変換処理の効率化と、ラスタライザからのアクセス占有期間の増加の、２つの描画性能の向上要因が得られる。本発明ではチップのバス構造として、それぞれをワイヤードＯＲした共有バス構造を１例とする。チップからの出力信号有効期間は、そのチップの画像メモリが走査されている期間のみ信号を出力し、他のチップはアサートされない。画像メモリが水平分割されている場合、出力される信号は交互に入れ替わるため互いにバス・コンフリクトを起こすことはない。本発明のワイヤードＯＲ構造の例では、チップの１つが他の全て���チップからのビデオ信号を、共通バスを通して受信する。すなわちビデオバスは双方向バスであり１つのチップだけが受信モードとなる。受信したそれぞれのチップからの画像データは順次、チップ内のＤ／Ａ変換器を通して最終的なアナログ信号に変換し表示器に送出する。この結果、１つのチップを除いてＤ／Ａ変換器は使用されない。Ｄ／Ａ変換器をチップ外部に取り付け、集配したそれぞれのチップからの信号を時分割でマルチプレックスして合成する方法もあるが、高解像度システムのビデオ合成段階での信号は１００ＭＨｚ以上の高速であり動作安定性上、ボード上ではなくチップ内で処理することが好ましい。【００６】  前記【００５】ではビデオバスを双方向としたが他の１例として、外部取り付け画像メモリ構造と比較すれば、２４ビットバスを入力と出力専用の２組に設け、４８ビットとしてもバス数は１／５以下となる。この構造の場合、それぞれのチップをカスケード（直列）に接続し、最終段のチップ内でＤ／Ａ変換器を通してアナログビデオ信号にする。前記【００５】あるいは【００６】のいずれのバス構造であっても画像メモリが外部に接続されることはない。【００７】  画像領域が分割されたそれぞれの物理的に異なるチップからの出力信号を合成することは、合成のタイミング（分割された画像から他の分割された画像への切り替わり時点）に関して、それが高速であればあるほど外部バスの遅延問題が生じる。本発明ではこの問題を解決するために、２つの手段を設ける。１つはすべてのチップは同一の動作周波数で動作はしているが、チップ間でのバス上での遅延誤差を調整するため画像データに対する同期クロックと、ビデオ信号が有効であることを示す有効（イネーブル）信号のそれぞれを前記チップ間接続バスに制御信号として設ける。この有効信号は水平同期ブランキング期間を含めて、チップから画像データが送出されている期間中アサートされる。よってこの信号がディスイネーブルとなるときは、水平軸スライス方式の分割では、チップからチップへの切り替わり時点の水平同期ブランキング時間および垂直同期ブランキング期間中となる。カスケード接続ではｊ番目のチップからのビデオ読み出し信号はｊ−１クロック先行して読み出す。しかしそれぞれのチップからのビデオデータの切り替え時の遅延ミスを避けるため、それぞれのチップのビデオバスの入力にはラインバッファを設ける。よってｊ番目のチップからは、ｊ−１にラインバッファ数を乗算したクロック数分先行読み出しされなければならない。このクロックス数に対して、前記の遅延誤差を考慮してさらに数クロック分先行して読み出しを行う。遅延調整はビデオ信号を受信する最後のチップがもつ画面全体のビデオ走査タイミング信号に合わせて、前記ラインバッファに到達しているビデオストリームの先頭ビットを前記イネーブル信号から検出して、連続してビデオ信号をチップ内部のＤ／Ａ変換器に出力する。それぞれのチップでの先行ビデオ読み出しは、スライス分割方式では水平同期ブランキング時間内に行うためチップ間ビデオ信号の同期は容易となる。【００８】
【００４】項では画像メモリを１／ｋ（ｋ≧１）に分割する場合、これら分割した画像メモリはそれぞれｋ個のチップに実装される。しかし、通常、フィルタリングを含む画素間演算を行う場合、サンプリング点（フィルタ対象点）に対してその周辺の複数の画素も同時に参照する。よってサンプリング点が分割境界線上、あるいはその近辺に位置する場合は、前記の参照点が自身以外のチップの画像メモリに含まれることになり参照できない。この結果、２つの分割メモリをそれぞれの境界線上で結ぶと、画質の変化が生じる可能がある。これを防ぐ方法として本発明では、１／ｋの分割画素数に加えていくらかのオーバーラップ領域となる画素をそれぞれの分割メモリに追加する。例えば画像メモリを水平軸でスライス分割する場合は、数本分の水平軸オーバーラップ画素数を実装する。この結果、隣接する分割メモリは互いに境界線近傍で相手方の領域の一部をオーバーラップして保持することとなる。視野変換回路では、オーバーラップ領域を含む空間をクリッピング領域として処理する一方、ビデオ走査読み出しではこのオーバーラップ分を含まない領域を読み出す。以上のような画像メモリ構造とすることで、複数の近傍画素を用いた演算においても参照すべき画素が保持され処理が可能となる。【００９】  分割が水平軸に沿ったスライス法ではなく、例えば１０００ｘ１０００の画像メモリを５００ｘ５００の４つに分割することもある。この分割方式では１つのチップ内で水平走査読み出しがアドレスが５００に到達したとき、続く５０１番目の画像データは別のチップ内から１クロックの抜けもなく読み出されなくてはならない。１画素のビデオ走査速度が１００ＭＨｚを超える場合はチップ間でのバス上の遅延は深刻な問題となる。これを解決する方法として本発明では、ビデオ走査読み出しタイミングをそれぞれのチップに発信するチップは、数画素分先行して該当するチップに与える。この結果、該当するチップから出力される画像データ、同期クロックおよび有効信号は連続する画像データのストリームタイミングに対して数クロック分早くチップから出力する。カスケード接続においては、送信と受信は独立しており、受信部にはラッチが実装されるため、先行して受信データを取り込み、切り替わり時点で有効信号が立つ画像データのラッチ位置を選択して、転送中の画像データに繋げることができる。この方式は双方向バスにはバス・コンフリクトが生じるため適用できない。よって水平垂直比率が任意の分割メモリ構造が必要な場合は【００６】で定義したバス構造となる。【０１０】
【００４】項では分割画像メモリに関して、１例として１０００ｘ１０００の画像メモリを水平方向にスライスして分割することを示した。例えば１０００ｘ１０００を４分割する場合、それぞれの分割画像メモリは１０００ｘ２５０となる。これはそのチップがもつ映像表示空間が１０００ｘ２５０となることを意味する。通常、グラフィックスＬＳＩに接続される表示装置の表示サイズは任意である。よって画像メモリの水平・垂直画素の比率を物理的に固定するのではなく、水平・垂直軸の画素サイズをプログラマブルに設定可能とすることが好ましい。本発明では、水平および垂直軸の画像メモリ走査アドレス（ビデオ走査アドレス）のそれぞれの上位ビットフィールドの一部を相互に交換できるように、アドレス・スワップ機能を設ける。例えば１０００ｘ２５０サイズは、同一の画像メモリサイズであっても画像メモリの水平垂直アドレスの上位ビットをスワップして、５００ｘ５００あるいは２５０ｘ１０００、２０００ｘ１２５などの構成に再構築可能な構造とする。
【発明の効果】
【０１１】  本発明の回路構成によって、性能のボトルネックとなる画像メモリがチップ内に実装されることで性能の著しい向上と共にレンダラーの並列化によって視野変換処理の高速化がえられ、実時間描画を可能とする。
【発明を実施するための最良の形態】
【０１２】  本発明の技術はＬＳＩ、プログラマブル論理回路等への実装あるいはＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）の形態で実施され、コンピュータグラフィックス映像生成プロセッサに実装される。
【実施例】
【０１３】  本発明の実施例を以下に説明する。図１は本発明のレンダラーを示し、レンダラーには視野変換回路１０とラスタライザ１１が含まれる。レンダラーには画像メモリを１／ｋに分割したメモリ１３も内蔵する。ラスタライザ１１で求めた画素は、分割画像メモリ１３に記憶され、これがビデオ走査タイミングで読み出されて表示装置に送り出されるが、本発明ではビデオタイミング回路１２により、自分の読み出しサイクルが来ると、分割画像メモリ１３に走査アドレスを与えて画素を読み出し開始し、これをビデオ切り替え回路１４に出力する。レンダラーが最終段のチップでない場合は、前段からの信号から、自分の信号に切り替える。このビテオ信号は画素Ｄ、同期クロックＣおよび有効（イネーブル）信号Ｅからなり、信号送出の場合はＣおよびＥ信号はビデオ切り替え回路１４で発生する。イネーブル信号および同期クロックは、画素の送出期間のみ出力する。レンダラーが最終段のチップであった場合には、前段からの信号や自身の信号はＤ／Ａ変換器１５に送出する。【０１４】  図２には本発明に関する４つのレンダラーＡ、Ｂ、Ｃ、Ｄから成る２種類の接続例を示す。画像メモリの大きさが１０００ｘ１０００の解像度で構成している場合、それぞれのレンダラーは１０００ｘ２５０に分割された画像メモリを内蔵する。レンダラーＡからバスＤを通して出力される画像データ、Ｃバス上の同期クロックおよびＥバスのイネーブル信号があり、次段レンダラーＢおよびＣも同様にそれぞれの信号を出力する。レンダラーＡの走査が終了すると、レンダラーＢの走査が開始され、この走査の切り替わりは、順次ＡからＤに移る。レンダラーＤを除く他のすべてのレンダラーからの画素は時間差をおいてレンダラーＤに到達する。以上から、それぞれのレンダラーは転送ライン上の遅延とそれぞれに実装される入出力バッファレジスタの遅延分を考慮したタイミングで先行走査読み出しが必要となる。このためそれぞれのレンダラーの分割画像メモリの走査開始タイミングを一元的に得るために、最終段のレンダラーＤは走査開始信号をバスＢを通して全ての他のレンダラーに送出する。すなわち全体のレンダラーの画像メモリ読み出しのタイミングは最終段のレンダラーが制御する。最終段のレンダラーＤでは自身を含め、取り込んだ画像データをＤ／Ａ変換器を経てアナログビデオ信号Ｖに変換して外部にある表示装置に出力する。図２においてレンダラー２０〜２３はワイヤードＯＲされた１組の双方向バスで接続された構成であり、またレンダラー２４〜２７は入出力バスをそれぞれ分離し、入出力間で相互にカスケード接続した構成で、それぞれレンダラーＤからは前者はバスＢ０、後者はバスＢ１を通してそれぞれのレンダラーに分割画像メモリの読み出し開始タイミングを与えている。【０１５】  図３に図１に示したビデオ切替回路１４の内部を示す。ビデオ切替回路には前段からのビデオ信号を受信するシフトレジタ３０があり、数画素分ここに記憶する。画素Ｄ、同期クロックＣ、イネーブルＥ信号の内、ＣとＥをバスＢ２を通して同期回路３１が受け、前段からの信号を検出して、これをバスＢ３を通してマルチプレクサ３２に転送する。マルチプレクサ３２では、同期回路３１で生成された次段のための同期クロックとイネーブル信号を再生して次段に送出する。一方、同期回路３１には最終段のレンダラーから与えられた走査開始信号ＨＫを受ける。これが入力すると、同期回路内のカウンタを起動し画像メモリ３４の読み出しアドレスをバスＢ４に与えて画素を読み出し、これをマルチプレクサ３２に出力する。最終段のレンダラーではマルチプレクサは画素情報のみが選択され、この画素をＤ／Ａ変換器３３に出力する。この結果、それぞれのレンダラーが内蔵する画像メモリから走査転送される画素情報は、最終段に内蔵されたＤ／Ａ変換器３３をへてアナログ信号Ｖとして表示器に出力される。【０１６】  図４は本発明の分割画像メモリの領域を示す。画像メモリ４１は２つの領域ＡおよびＢに水平に２分割したものである。メモリ４１において、下半分の領域Ａの表示領域はメモリ領域の中心分割線ｃ（実線）までであるが、物理的な実装としては破線ａで示す領域まで実装し、描画（視野クリッピング）領域をａまでとして画像メモリに描画する。中心分割線から破線までの増加領域の画素数がｐとなる。しかし領域Ａの、ビデオ走査読み出し（走査）領域は領域の下から中心分割線ｃまでとなる。領域Ｂは中心線を超えて破線ｂまでを描画領域とする。画像メモリ４２は、それぞれの分割メモリの水平・垂直幅を等しく４分割したものである。この場合、分割領域はＡ、Ｂ、Ｃ、Ｄとなり、領域Ａの描画領域は右と上の太い破線ｄまでとなる。この結果、分割される領域のオーバーラップ領域が最大となる場合は左右上下が隣接する分割画像メモリで囲まれた場合となる。また垂直軸を分割する方法は【００９】に記載した条件から、図２における直列接続構造（右図）に有効となる。
【産業上の利用可能性】
【０１７】  本発明の回路をＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）として、あるいはグラフィックスプロセッサＬＳＩチップに実装することによって、スケーラブルなグラフィックスプロセッサが実現でき大量な描画データであっても実時間描画を可能とする。
【図面の簡単な説明】
【０１８】図１  「本発明のレンダラーを示す。」
図２  「本発明のレンダラー接続回路を示す。」
図３  「本発明のビデオ切替回路を示す。」
図４  「本発明の分割画像メモリ領域を示す。」
【符号の説明】
図１
１０  視野変換回路
１１  ラスタライザ
１２  ビデオタイミング回路
１３  分割画像メモリ
１４  ビデオ切替回路
１５  Ｄ／Ａ変換器
図２
２０−２３  レンダラー
図３
３０  シフトレジスタ
３１  同期回路
３２  マルチプレクサ
３３  Ｄ／Ａ変換器
３４  分割画像メモリ
図４
４１  水平分割画像メモリ領域
４２  水平・垂直分割画像メモリ領域
【図１】
2006268809.tif 000003
【図２】
2006268809.tif 000004
【図３】
2006268809.tif 000005
【図４】
2006268809.tif 000006