(57)【要約】【課題】  画像を表示する場合に同期して表示することが可能な同期表示システム、クライアント、サーバ、プログラム及び同期表示方法を提供する。【解決手段】  レンダサーバ１０２，１０３は画像データの描画が終了した後、コントロールクライアント１０１に対して描画完了通知を出力し、コントロールクライアント１０１は、全てのレンダサーバ１０２，１０３から描画終了通知を受信した後に、画像データの出力通知を出力し、各レンダサーバ１０２，１０３はコントロールクライアント１０１から出力通知を受信した後に画像データをそれぞれに接続されたプロジェクタ１０４，１０５に出力し、スクリーン１０６に画像を合わせて出力させる。【選択図】  図１
2005181637.tif 000002
【特許請求の範囲】
【請求項１】
画像データを生成する範囲及び該範囲の色情報を含むデータを生成する生成手段と、
前記データをサーバに対して送信する送信手段と、
前記サーバから画像データの格納が終了した旨を示す終了通知を受信する終了通知受信手段と、
前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する出力通知送信手段とを有するクライアントと、
前記クライアントから前記データを受信する受信手段と、
生成された画像データを格納する画像データ格納手段と、
前記データに示される画像データを生成して前記画像データ格納手段に格納させる描画手段と、
前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して前記終了通知を送信する終了通知送信手段と、
前記クライアントから前記出力通知を受信する出力通知受信手段と、
前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する指示手段とを有する少なくとも２以上のサーバとを備える同期表示システム。
【請求項２】
画像データを生成する範囲及び該範囲の色情報を含むデータを生成する生成手段と、
前記データをサーバに対して送信する送信手段と、
前記サーバから画像データの格納が終了した旨を示す終了通知を受信する終了通知受信手段と、
前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する出力通知送信手段とを備えるクライアント。
【請求項３】
クライアントから画像データを生成する範囲及び該範囲の色情報を含むデータを受信する受信手段と、
生成された画像データを格納する画像データ格納手段と、
前記データに示される画像データを生成して前記画像データ格納手段に格納させる描画手段と、
前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して画像データの格納が終了した旨を示す終了通知を送信する終了通知送信手段と、
前記クライアントから画像データの出力を指示する出力通知を受信する出力通知受信手段と、
前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する指示手段とを備えるサーバ。
【請求項４】
コンピュータを、
画像データを生成する範囲及び該範囲の色情報を含むデータを生成する生成手段、
前記データをサーバに対して送信する送信手段、
前記サーバから画像データの格納が終了した旨を示す終了通知を受信する終了通知受信手段、及び、
前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する出力通知送信手段として機能させるためのプログラム。
【請求項５】
コンピュータを、
クライアントから画像データを生成する範囲及び該範囲の色情報を含むデータを受信する受信手段、
生成された画像データを格納する画像データ格納手段、
前記データに示される画像データを生成して前記画像データ格納手段に格納させる描画手段、
前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して画像データの格納が終了した旨を示す終了通知を送信する終了通知送信手段、
前記クライアントから画像データの出力を指示する出力通知を受信する出力通知受信手段、及び、
前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する指示手段として機能させるためのプログラム。
【請求項６】
生成手段が、画像データを生成する範囲及び該範囲の色情報を含むデータを生成する工程と、
送信手段が、前記データをサーバに対して送信する工程と、
受信手段が、クライアントから前記データを受信する工程と、
描画手段が、前記データに示される画像データを生成して画像データ格納手段に格納させる工程と、
終了通知送信手段が、前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して画像データの格納が終了した旨を示す終了通知を送信する工程と、
終了通知受信手段が、前記サーバから前記終了通知を受信する工程と、
出力通知送信手段が、前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する工程と、
出力通知受信手段が、前記クライアントから前記出力通知を受信する工程と、
指示手段が、前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する工程とを備える同期表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を同期して表示させる同期表示システム、クライアント、サーバ、プログラム及び同期表示方法に関する。
【背景技術】
【０００２】
従来、３次元コンピュータグラフィックスにおけるリアルタイムグラフィックスでは、高性能なＧＷＳ（Ｇｒａｐｈｉｃｓ  Ｗｏｒｋｓｔａｔｉｏｎ）を必要としていた。すなわち、従来では、高速のＣＰＵ、大規模なメモリ、高性能なグラッフィックスハードウェアというスペックを満たすことで、満足のいくグラッフィックス環境を得ていた。
【０００３】
しかし、分散コンピューティング技術を３次元コンピュータグラフィックスにおけるリアルタイムグラッフィックスに適用することにより、３次元コンピュータグラフィックスにおけるリアルタイムグラッフィックスにおいて利用される装置の要求スペックを低下させることができる。この分散リアルタイムグラッフィックスは、ネットワークを介して各装置に描画負荷を分散させて、廉価な装置のマシン群により実現する。
【０００４】
ここで、上記分散リアルタイムグラッフィックス技術の１つである分散リアルタイムレンダリングについて図８及び図９を参照して説明する。図８は、分散リアルタイムレンダリングの処理の概念図であり、図９は、図８に示される分散リアルタイムレンダリングにおけるダブルバッファ描画の概念図である。
【０００５】
図８に示されるように、従来の分散リアルタイムレンダリングにおいては、コントロールクライアント８０１と、レンダサーバ８０２，８０３とを備える。なお、レンダサーバとは、レンダリングを行うレンダリングサーバのことであり、以降、レンダリングサーバのことをレンダサーバという。ここで、コントロールクライアントの数は１つに限定されるものではなく、１以上の任意の数であって良い。また、レンダサーバの数も２つに限定されるものではなく、２以上の任意の数であって良い。
【０００６】
図８に示される処理において、コントロールクライアント８０１は、表示する画像の各部分について描画命令を発行する。この描画命令は、例えば三角ポリゴンの頂点位置及び色情報からなる。そして、コントロールクライアント８０１は、発行された描画命令を送信用データ形式にエンコードする。そして、コントロールクライアント８０１は、エンコードされた描画命令をそれぞれのレンダサーバ８０２，８０３に分散して送信する。
【０００７】
次に、それぞれのレンダサーバ８０２，８０３は、コントロールクライアント８０１から送信された描画命令を受信する。そして、各レンダサーバ８０２，８０３は、受信した描画命令をデコードして実行可能な描画命令に変換する。そして、各レンダサーバ８０２，８０３は、描画命令を実行し、画像データを描画バッファに格納する。以上の処理により、分散リアルタイムレンダリングを実行することができる。
【０００８】
次に、図８に示されるリアルタイムレンダリングにおいて使用されるダブルバッファ描画について図９を参照して説明する。このダブルバッファ描画では、図９に示されるように、各レンダサーバにバッファ９０１とバッファ９０２との２つのバッファを用意する。そして、各レンダサーバは、この２つのバッファを表示用とレンダリング用との２つの用途に切り換えて使用する。そして、各レンダサーバは、一方のバッファの表示中に、他方のバッファにレンダリングを行う。そして、各レンダサーバは、この処理を２つのバッフ
ァ間で切り換えることにより、スムーズな画像表示を実現する。
【特許文献１】特開２０００−３２２０３９号公報
【特許文献２】特開平６−３１９１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した分散リアルタイムグラッフィックス技術を用いて、複数のレンダサーバが１つの画像の各部分の表示を担当し、各レンダサーバからの出力を組み合わせることにより１つの画像を表示する技術が知られている。しかし、この技術では、分散処理を行なった各レンダサーバにより表示された画像の間で同期がとれていない場合があるという問題点を有していた。この問題点について図１０を参照して説明する。図１０は、各レンダサーバから出力される画像の表示における同期のずれを説明する概念図である。
【００１０】
図１０に示されるように、まず、コントロールクライアント１００１は、各レンダサーバ１００２，１００３に描画命令１００４を送信する。ここで、コントロールクライアント１００１は、描画位置に応じたレンダサーバのみにその描画命令を送信する。
【００１１】
この描画命令１００４には、図１０に示されるように、線を引く、色を塗るなどのコマンドや画像の範囲情報などが含まれる。ここで、この描画命令１００４をコントロールクライアント１００１からレンダサーバ１００２，１００３に送信する際に、一方のコントロールクライアントとレンダサーバとの間におけるデータ転送が他方のコントロールクライアントとレンダサーバとの間におけるデータ転送より遅れ、画像表示の同期がずれる要因となる（要因（１））。このデータ転送が遅れる場合として、例えば、各レンダサーバに送信される画像の複雑さが異なる場合がある。
【００１２】
次に、各レンダサーバ１００２，１００３は、バッファ１では、コマンドに従った描画を行い、画像データのバッファへの格納を行う。また、バッファ２では、前の時間の画像を出力し、出力の終了をコントロールクライアントに通知する。
【００１３】
次に、各レンダサーバ１００２，１００３は、バッファ１では、画像を出力し、出力の終了をコントロールクライアントに通知する。バッファ２では、コマンドに従った描画、画像データのバッファへの格納を行う。そして、この画像データを生成しバッファに格納する描画処理において、一方のレンダサーバの描画処理速度が遅い場合があり、画像表示の同期がずれる要因となる（要因（２））。また、バッファに格納された画像データを出力して表示する場合に、その表示タイミングが各レンダサーバ間でバラバラであることにより、画像表示の同期がずれる要因となる（要因（３））。以上のような、要因（１）、要因（２）、要因（３）等により画像表示の同期がずれる。
【００１４】
本発明の目的は、画像を表示する場合に同期して表示することが可能な同期表示システム、クライアント、サーバ、プログラム及び同期表示方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明の同期表示システムは、
画像データを生成する範囲及び該範囲の色情報を含むデータを生成する生成手段と、
前記データをサーバに対して送信する送信手段と、
前記サーバから画像データの格納が終了した旨を示す終了通知を受信する終了通知受信手段と、
前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対
して画像データの出力を指示する出力通知を送信する出力通知送信手段とを有するクライアントと、
前記クライアントから前記データを受信する受信手段と、
生成された画像データを格納する画像データ格納手段と、
前記データに示される画像データを生成して前記画像データ格納手段に格納させる描画手段と、
前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して前記終了通知を送信する終了通知送信手段と、
前記クライアントから前記出力通知を受信する出力通知受信手段と、
前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する指示手段とを有する少なくとも２以上のサーバとを備える。
【００１６】
また、本発明のクライアントは、
画像データを生成する範囲及び該範囲の色情報を含むデータを生成する生成手段と、
前記データをサーバに対して送信する送信手段と、
前記サーバから画像データの格納が終了した旨を示す終了通知を受信する終了通知受信手段と、
前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する出力通知送信手段とを備える。
【００１７】
また、本発明のサーバは、
クライアントから画像データを生成する範囲及び該範囲の色情報を含むデータを受信する受信手段と、
生成された画像データを格納する画像データ格納手段と、
前記データに示される画像データを生成して前記画像データ格納手段に格納させる描画手段と、
前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して画像データの格納が終了した旨を示す終了通知を送信する終了通知送信手段と、
前記クライアントから画像データの出力を指示する出力通知を受信する出力通知受信手段と、
前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する指示手段とを備える。
【００１８】
また、本発明のプログラムは、
コンピュータを、
画像データを生成する範囲及び該範囲の色情報を含むデータを生成する生成手段、
前記データをサーバに対して送信する送信手段、
前記サーバから画像データの格納が終了した旨を示す終了通知を受信する終了通知受信手段、及び、
前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する出力通知送信手段として機能させる。
【００１９】
また、本発明のプログラムは、
コンピュータを、
クライアントから画像データを生成する範囲及び該範囲の色情報を含むデータを受信する受信手段、
生成された画像データを格納する画像データ格納手段、
前記データに示される画像データを生成して前記画像データ格納手段に格納させる描画手段、
前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して画像データの格納が終了した旨を示す終了通知を送信する終了通知送信手段、
前記クライアントから画像データの出力を指示する出力通知を受信する出力通知受信手段、及び、
前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する指示手段として機能させる。
【００２０】
また、本発明の同期表示方法は、
生成手段が、画像データを生成する範囲及び該範囲の色情報を含むデータを生成する工程と、
送信手段が、前記データをサーバに対して送信する工程と、
受信手段が、クライアントから前記データを受信する工程と、
描画手段が、前記データに示される画像データを生成して画像データ格納手段に格納させる工程と、
終了通知送信手段が、前記画像データの前記画像データ格納手段への格納が終了した後に、前記クライアントに対して画像データの格納が終了した旨を示す終了通知を送信する工程と、
終了通知受信手段が、前記サーバから前記終了通知を受信する工程と、
出力通知送信手段が、前記データを送信した全てのサーバから前記終了通知を受信した後に、前記サーバに対して画像データの出力を指示する出力通知を送信する工程と、
出力通知受信手段が、前記クライアントから前記出力通知を受信する工程と、
指示手段が、前記出力通知受信手段が前記出力通知を受信した後に前記画像データ格納手段に対して画像データの出力を指示する工程とを備える。
【発明の効果】
【００２１】
このように、本発明によれば、クライアントが各サーバに対して画像データを生成させた場合であっても、各サーバはクライアントからの出力通知を受信するまでは画像データの出力を行わないため、画像を表示する場合の同期を取ることができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明を実施するための最良の形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。また、以下に説明する同期表示システムの一実施形態の説明は、本発明のクライアント、サーバ、プログラム及び同期表示方法の一実施形態の説明を兼ねる。
【００２３】
＜同期表示システムの構成＞
まず、本発明の同期表示システムの一実施形態について図１を参照して説明する。図１は、本発明の同期表示システムの一実施形態の構成を示す概念図である。図１に示される同期表示システムは、コントロールクライアント１０１と、レンダサーバ１０２，１０３と、プロジェクタ１０４，１０５とを備える。
【００２４】
なお、図１に示される例では、コントロールクライアントを１個、レンダサーバを２個の場合を例に挙げているが、コントロールクライアント、レンダサーバの数はこれらの個数に限定されるものではない。すなわち、コントロールクライアントは１以上の任意の個数、レンダサーバは２以上の任意の個数であって良い。
【００２５】
次に、図１に示される各装置の動作について説明する。コントロールクライアント１０１は、入力した画像を幾つかの部分に分割する。そして、コントロールクライアント１０１は、この分割した画像について、レンダサーバ１０２，１０３に対して、出力する画像データの作成を指示する。以上が、図１における（１）の処理である。
【００２６】
レンダサーバ１０２，１０３は、コントロールクライアント１０１からの指示を受けて必要な部分の画像データを生成する。また、レンダサーバ１０２，１０３は、この時点では、プロジェクタ１０４，１０５に対して作成した画像データを出力せずに内部に保持しておく。また、レンダサーバ１０２，１０３は、自分が担当した画像データの作成が完了した場合、その完了をコントロールクライアント１０１に通知する。以上が、図１における（２）の処理である。
【００２７】
次に、コントロールクライアント１０１は、各レンダサーバ１０２，１０３から画像データの作成が終了した旨の通知が来るのを待つ。そして、コントロールクライアント１０１は、全レンダサーバから終了の通知が来たことを確認したら、画像の表示を指示する情報を各レンダサーバ１０２，１０３に出力する。
【００２８】
各レンダサーバ１０２，１０３は、コントロールクライアント１０１からの画像の表示を指示する情報を受信する。そして、各レンダサーバ１０２，１０３は、この指示を受けて、内部に保持していた画像データをそれぞれに接続されているプロジェクタ１０４，１０５に出力する。本実施形態では、このプロセスにより各レンダサーバから出力された画像データが表示される際の同期化を図る。各プロジェクタ１０４，１０５は、入力した画像データに基づいて分割して作成した画像を他のプロジェクタからの画像と合わせてスクリーン１０６に表示することで１画像化する。したがって、スクリーン１０６には、見かけ上、大きな１つの画像が表示される。以上が、図１における（３）の処理である。
【００２９】
＜画像の分散表示について＞
次に、本発明の同期表示システムの一実施形態における画像の分散表示について図２を参照して説明する。図２は、本発明の同期表示システムの一実施形態における画像の分散表示の概念図である。
【００３０】
本実施形態では、分散型グラッフィックスとしてスタンフォード大学の「Ｗｉｒｅ  ＧＬ」を採用した。Ｗｉｒｅ  ＧＬとは、複数のコンピュータで１つの画像を再生させる技術を具現化したソフトウェアである。もちろん、本発明は、Ｗｉｒｅ  ＧＬを使用する場合に限定されるものではなく、Ｗｉｒｅ  ＧＬと同様の機能を有するソフトウェアを用いることもできる。
【００３１】
Ｗｉｒｅ  ＧＬは、ＣＡＶＥなどの高解像度でスケーラブルなディスプレイを対象にしたクラスタリングソフトウェアである。ここで、ＣＡＶＥとは、Ｃａｖｅ  Ａｕｔｏｍａｔｉｃ  Ｖｉｒｔｕａｌ  Ｅｎｖｉｒｏｎｍｅｎｔのことである。このＣＡＶＥは、１９９５年にイリノイ大学が発表した没入感のあるディスプレイシステムで被験者を床面、前面、左面、右面のスクリーンが囲み、４枚のスクリーンで立体の画像を出力することで没入感を実現したものである。また、スケーラブルなディスプレイとは、上述のイリノイ大学が開発したディスプレイのように複数のディスプレイで１つのものを表現するディスプレイのことをいう。
【００３２】
Ｗｉｒｅ  ＧＬは、Ｏｐｅｎ  ＧＬライブラリと置き換える形で使用される。Ｗｉｒｅ
ＧＬは、通常のＯｐｅｎ  ＧＬアプリケーションを分散型グラッフィックスを行うアプリケーションとして使用可能とする。ここで、Ｏｐｅｎ  ＧＬとは、グラフィックスライブラリのことである。また、Ｗｉｒｅ  ＧＬは、ＧＰＬ（Ｇｎｕ  Ｐｕｂｌｉｃ  Ｌｉｃｅｎｓｅ）に基づくオープンなソフトウェアであるので、不具合を修正していくことも可能である。
【００３３】
図２に示されるように、コントロールクライアント２０１のＷｉｒｅ  ＧＬ２０３は、
Ｏｐｅｎ  ＧＬアプリケーション２０４からのＯｐｅｎ  ＧＬ命令を取得し、ネットワーク越しに各レンダサーバ２０２に送信する。この場合、Ｏｐｅｎ  ＧＬアプリケーション２０４からのＯｐｅｎ  ＧＬ命令は、各レンダサーバ２０２に丸投げされる。すなわち、Ｗｉｒｅ  ＧＬ２０３は、ＯｐｅｎＧＬ命令を分割して転送することはない。そして、Ｏｐｅｎ  ＧＬ命令を受信した各レンダサーバ２０２は、各レンダサーバで分担する部分の画像だけを表示処理する。
【００３４】
＜リアルタイムＣＧの描画ついて＞
次に、本発明の同期表示システムの一実施形態における、リアルタイムＣＧの描画について説明する。まず、コントロールクライアントは、撮像装置などから取り込んだ三次元ＣＡＤデータの面を細かい三角形に分割する。この場合、コントロールクライアントは、形が複雑な部分は細かい三角形に分割する。また、コントロールクライアントは、形が単純な部分は大雑把な三角形に分割する。
【００３５】
次に、コントロールクライアントは、ライティングの情報から、三角形の内部を何色にどのようにグラデーションをつけて塗ればよいかを計算する。ここで、ライティングの情報について説明する。ＣＧを作る際には三次元データに対して照明をあてそこで起きる反射光りの情報から画像を作成する。もし照明がないと真っ暗な画像になってしまう。これは現実の世界と同様である。ＣＧでの照明は点光源、面光源などの種類があり、どこからどの角度であてるかという情報を持っている。これらの照明情報をライティング情報という。
【００３６】
そして、コントロールクライアントは、三角形の頂点情報、色情報、視点位置、視野角などの情報をレンダサーバに送信する。レンダサーバでは、コントロールクライアントから受信した三角形の頂点情報、色情報、視点位置、視野角などの情報に基づいて描画を実施する。なお、視点位置、視野角はＣＧ作成時にコントロールクライアントに与える情報である。これらの情報を与えられたコントロールクライアントは、与えられた視点位置、与えられた視野角の条件で見た頂点位置、色等を計算する。
【００３７】
＜コントロールクライアントの内部構成＞
次に、図１に示されるコントロールクライアントの内部構成について図３を参照して説明する。図３は、図１に示されるコントロールクライアントの内部構成のブロック図である。図３に示されるように、コントロールクライアント３０２は、画像データを撮像する撮像装置３０１と接続されている。また、コントロールクライアント３０２は、画像生成部３１１と、検索部３１２と、記憶部３１３と、送信部３１４と、通知受信部３１５と、通知送信部３１６とを備える。なお、図３に示される各部の機能は、コントロールクライアントが備えるＣＰＵが記憶媒体に格納されたプログラムと協働して実現されるとして良い。
【００３８】
画像生成部３１１は、撮像装置３０１から入力した三次元データ、ライティングの情報等から三角ポリゴンの頂点位置及びその三角ポリゴンの内部の色を計算する。この三角ポリゴンの頂点位置は、画像データを生成する範囲を決める。検索部３１２は、画像生成部３１１から三角ポリゴンの頂点位置、内部の色の情報を受け取る。そして、検索部３１２は、記憶部３１３を検索して、そのポリゴンに示される画像を表示させるレンダサーバを検索する。
【００３９】
ここで、上記検索部３１３の動作について説明する。各レンダサーバは全体画面の中で自分がどの場所の画像を生成すべきかを知っている。例えば３台のレンダサーバで全体の画像を生成する場合はそれぞれのレンダサーバが全体画像の１／３ずつを書くことは決まっており、またどの１／３（左か、真中か、右か）を書くかということも予め分っている
。したがって、コントロールクライアントは、三角ポリゴンの頂点位置が分るとそれが全体の画像のどの部分にあたるかを判断し、その部分に対応するレンダサーバにその三角ポリゴンの情報を送って画像を生成させる。
【００４０】
送信部３１４は、検索部３１２から受信した、三角ポリゴンの頂点位置、内部の色及びポリゴンを表示すべきレンダサーバの情報を受け取る。そして、送信部３１４は、検索部３１２から受信した、三角ポリゴンの頂点位置及び内部の色を、ポリゴンを表示すべきレンダサーバに送信する。
【００４１】
通知受信部３１５は、各レンダサーバから描画バッファ部への画像データの描画終了通知を受け取る。そして、通知送信部３１６は、全てのレンダサーバから画像データの描画終了通知を受け取ると、各レンダサーバに対して画像データの出力通知を送信する。
【００４２】
＜レンダサーバの内部構成＞
次に、図１に示されるレンダサーバの内部構成について図４を参照して説明する。図４は、図１に示されるレンダサーバの内部構成のブロック図である。なお、図１にはレンダサーバ１０２，１０３の２つのレンダサーバが示されているが、レンダサーバ１０２の内部構成もレンダサーバ１０３の内部構成も同じであり、以下の図４に示される説明が成り立つ。
【００４３】
図４に示されるように、レンダサーバ４０１には、受信部４１１と、描画部４１２と、通知送信部４１３と、描画バッファ部４１４と、指示部４１５と、通知受信部４１６とを有する。なお、図４に示される各部の機能は、レンダサーバが備えるＣＰＵが記憶媒体に格納されたプログラムと協働して実現されるとして良い。受信部４１１は、コントロールクライアントから三角ポリゴンの頂点位置及び内部の色の情報を受信する。
【００４４】
描画部４１２は、受信部４１１から三角ポリゴンの頂点位置及び内部の色の情報を受信する。そして、描画部４１２は、三角ポリゴンの頂点位置及び内部の色の情報に基づいて、描画バッファ部４１４の２つのバッファのうち、現在出力していない方のバッファに画像データの描画を行う。この場合、描画バッファ部４１４は、画像データの格納が完了しても直ちに出力はしないで出力処理の指示があるまで待機する。また、描画バッファ部４１４は、ダブルバッファ構造を有する。このダブルバッファ構造及びその動作については前述の図９を参照して説明した従来技術の場合と同様なのでその説明を省略する。また、描画部４１２は、受信した画像の全ての画像データの描画が完了した場合、通知送信部４１３に対して、描画完了通知を出力する。
【００４５】
通知送信部４１３は、描画部４１２から出力された描画終了通知に基づいて、コントロールクライアントに対して描画終了通知を出力する。また、通知受信部４１６は、コントロールクライアントからの出力通知を受信する。また、通知受信部４１６は、コントロールクライアントから出力通知を受信すると、指示部４１５に対して出力通知を受信した旨の情報を出力する。
【００４６】
指示部４１５は、通知受信部４１６から、出力通知を受信した旨の情報を受信すると、描画バッファ部４１４に対して出力処理を指示する。そして、指示部４１５からの出力処理の指示を受けた描画バッファ部４１４は、バッファ内に格納されている画像データを出力する。
【００４７】
＜動作の説明＞
次に、図５を参照して、本発明の同期表示システムの一実施形態の動作について説明する。図５は、本発明の同期表示システムの一実施形態の動作のフローチャートである。ま
ず、Ｓ５０１において、コントロールクライアントの画像生成部は、三次元データ、ライティングの情報から三角ポリゴンの頂点位置、内部の色を計算する。
【００４８】
次に、Ｓ５０２において、コントロールクライアントの検索部は記憶部を検索して、三角ポリゴンの頂点の描画を各レンダサーバのうちのどのレンダサーバが担当するかを決定する。そして、送信部は、検索されたレンダサーバに三角ポリゴンの頂点位置、色情報を送信する。
【００４９】
次に、Ｓ５０３において、レンダサーバの描画部は、２つあるメモリのバッファのうち、現在出力していない領域に実際に画像データの描画を行う。そして、レンダサーバの通知送信部は、全ての画像データの描画が完了したら、描画終了通知をコントロールクライアントに送信する。なお、画像データの描画とは、画像データを描画バッファ部に格納することをいう。
【００５０】
次に、Ｓ５０４において、コントロールクライアントの通知受信部は、各レンダサーバからの完了通知を待ち、全てのレンダサーバから通知を受信したら、画像データの出力通知を全レンダサーバに送信する。
【００５１】
次に、レンダサーバの描画バッファ部は、コントロールクライアントからの出力通知に基づいて、Ｓ５０３において描画した領域の画像データを出力する。また、レンダサーバの描画バッファ部は、今まで画像データを出力していた領域を非出力に変更する。
【００５２】
＜本実施形態の効果＞
次に、上述の本発明の同期表示システムの一実施形態の効果について図６及び図７を参照して説明する。図６は、本発明の同期表示システムの一実施形態を適用した場合の従来例からの改善状態を示す概念図であり、図７は、本発明の同期表示システムの一実施形態の効果を示す概念図である。
【００５３】
図６に示されるように、本実施形態では、画像表示の同期対策として、レンダサーバ間で同期が取れていなかった処理を改善した。すなわち、従来例６０１では、各レンダサーバでバラバラに各画像データの出力を行っていた。これを本実施形態６０２では、レンダサーバがコントロールクライアントに描画終了通知を出力し、全てのレンダサーバが画像データのバッファへの描画処理を終了するまで画像データの出力を待機可能とした。そして、全てのレンダサーバが画像データのバッファへの描画処理を終了した時点でコントロールクライアントがレンダサーバに一括して出力通知を出力する。これにより、レンダサーバ間の画像表示のズレを低減し、画像表示の同期を取る。
【００５４】
本実施形態を適用した具体例の効果について図７を参照して説明する。本具体例では、レンダサーバ１、レンダサーバ２、レンダサーバ３の３台のレンダサーバを用意した。レンダサーバ１は、以下のスペックである。
・ＣＰＵ：Ｘｅｏｎ２．８ＧＨｚ×２
・メモリ：２ＧＢ
・グラフィクス：ＧｅＦｏｒｃｅ４  Ｔｉ  ４２００
また、レンダサーバ２は以下のスペックである。
・ＣＰＵ：Ｘｅｏｎ２．８ＧＨｚ×２
・メモリ：２ＧＢ
・グラフィクス：ＦｉｒｅＧＬ  Ｘ１
また、レンダサーバ３は以下のスペックである。
・ＣＰＵ：Ｘｅｏｎ２ＧＨｚ×２
・メモリ：２ＧＢ
・グラフィクス：ＷｉｌｄＣａｔＩＩＩ  ６１１０
【００５５】
また、レンダサーバ１は、図７の（ａ）において左の画面７０１の描画、出力を担当した。また、レンダサーバ２は、図７の（ａ）において中の画面７０２の描画、出力を担当した。また、レンダサーバ３は、図７の（ａ）において右の画面７０３の描画、出力を担当した。
【００５６】
以上の結果、図７の（ｂ）に示されるように、中の画像７０２と左の画像７０１との間のズレ１は、従来例では３５．７ｍ秒であったのに対し、本実施形態の具体例では７．８ｍ秒であり、ズレの低減が−２７．９ｍ秒であった。また、中の画像７０２と右の画像７０３との間のズレ２は、従来例では３６．６ｍ秒であったのに対し、本実施形態の具体例では８．７ｍ秒であり、ズレの低減が−２４．９ｍ秒であった。また、左の画像７０１と右の画像７０３との間のズレ３は、従来例では６１．８ｍ秒であったのに対し、本実施形態の具体例では１６．５ｍ秒であり、ズレの低減が−４５．３ｍ秒であった。このように、本発明の実施形態では、画像表示の際のズレが低減されていることが分る。
【図面の簡単な説明】
【００５７】
【図１】本発明の同期表示システムの一実施形態の構成を示す概念図である。
【図２】本発明の同期表示システムの一実施形態における画像の分散表示の概念図である。
【図３】図１に示されるコントロールクライアントの内部構成のブロック図である。
【図４】図１に示されるレンダサーバの内部構成のブロック図である。
【図５】本発明の同期表示システムの一実施形態の動作のフローチャートである。
【図６】本発明の同期表示システムの一実施形態を適用した場合の従来例からの改善状態を示す概念図である。
【図７】本発明の同期表示システムの一実施形態の効果を示す概念図である。
【図８】分散リアルタイムレンダリングの処理の概念図である。
【図９】図８に示される分散リアルタイムレンダリングにおけるダブルバッファ描画の概念図である。
【図１０】各レンダサーバから出力される画像の表示における同期のずれを説明する概念図である。
【符号の説明】
【００５８】
１０１  コントロールクライアント
１０２，１０３  レンダサーバ
１０４，１０５  プロジェクタ
１０６  スクリーン
３０１  撮像装置
３０２  コントロールクライアント
３１１  画像生成部
３１２  検索部
３１３  記憶部
３１４  送信部
３１５  通知受信部
３１６  通知送信部
４０１  レンダサーバ
４１１  受信部
４１２  描画部
４１３  通知送信部
４１４  描画バッファ部
４１５  指示部
４１６  通知受信部
【図１】
2005181637.tif 000003
【図２】
2005181637.tif 000004
【図３】
2005181637.tif 000005
【図４】
2005181637.tif 000006
【図５】
2005181637.tif 000007
【図６】
2005181637.tif 000008
【図７】
2005181637.tif 000009
【図８】
2005181637.tif 000010
【図９】
2005181637.tif 000011
【図１０】
2005181637.tif 000012