JP4352990B2 - 3次元画像生成システム - Google Patents

3次元画像生成システム Download PDF

Info

Publication number
JP4352990B2
JP4352990B2 JP2004145848A JP2004145848A JP4352990B2 JP 4352990 B2 JP4352990 B2 JP 4352990B2 JP 2004145848 A JP2004145848 A JP 2004145848A JP 2004145848 A JP2004145848 A JP 2004145848A JP 4352990 B2 JP4352990 B2 JP 4352990B2
Authority
JP
Japan
Prior art keywords
space
tracking
computer
packet
computers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004145848A
Other languages
English (en)
Other versions
JP2005327146A (ja
Inventor
保成 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2004145848A priority Critical patent/JP4352990B2/ja
Publication of JP2005327146A publication Critical patent/JP2005327146A/ja
Application granted granted Critical
Publication of JP4352990B2 publication Critical patent/JP4352990B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

本発明は3次元画像生成システムに係り、特にコンピュータ・グラフィックス(GG)や各種の画像生成・画像処理分野において、ネットワーク(空間追跡ネットワーク装置)を介して接続された複数の計算機を用い高速に3次元画像を生成する3次元画像生成システムに関する。
コンピュータ・グラフィックス(CG)や各種の画像生成・画像処理分野において、計算機を使い、現実世界に近い画像を生成する手法として、レイトレーシング、ラジオシティ法、フォトンマッピングなどのアルゴリズムが開発されている(例えば、非特許文献1、2及び3参照)。このようなアルゴリズムは、高画質の映像生成を行うことができるが、計算時間が非常にかかるため、ゲームやVR(バーチャルリアリティ)のように応答性が重視されるアプリケーションにおいては、利用できなかった。
そのため、並列計算機を使った高速化のための手法が開発されており、例えば、オブジェクトが存在する空間を分割して複数の計算機で管理し、表示エリアを分割して複数の計算機を使いエリア毎に映像を計算するといったことがなされている(前記非特許文献3参照)。
レイトレーシングやフォトンマップは、追跡を基本としており、レイと物体の交差判定に、多くの計算時間がかかる。一方、各追跡は独立しており、他の追跡に影響されず行えるため、並列性の高いアルゴリズムとされている。交差判定は、追跡しようとする光線と物体との間で行われるため、物体の存在する空間に依存している。交差判定の高速化の一手法として空間を複数台の計算機に分割管理させて、交差判定処理を分散する方法がある。
この交差判定処理を分散する方法では、視点移動に伴って、視点から光線追跡によって参照される分割空間が変化するため、参照された空間を管理している各計算機の交差判定回数が変動する。また、各分割空間に存在するオブジェクトの数や形状、分布の仕方、追跡する軌跡と空間との関係等の要因により、一回の交差判定にかかる処理時間が変わってくる。そのため、各計算機での処理時間にばらつきが出る。この処理時間は最も遅い計算機によって決まるため、同一空間内容を持つ計算機を複数台用意し、ばらつきを抑えることが行われる。
前記非特許文献3に記載されているように、簡略化された光線追跡法(レイトレース)では、図14に示すように視点1と仮想のスクリーン2を配置する。視点1から対応する仮想スクリーン2上の点3への視線を追跡し、一番初めに物体にぶつかった点の色を求めて、その色を仮想スクリーン2上の点3の色として、4に示すように映像化することができる。
また、等間隔に分割された空間を直線が通る時、交わる空間を求める方法として、3DDDA(3D Digital Differential Analyzer)と呼ばれる3次元デジタル直線の高速な発生アルゴリズムが知られている(前記非特許文献1参照)。このアルゴリズムを用いて、視線が通る分割空間を求めると、図15に示すように、まず視点1から対応する仮想スクリーン2への視線5を追跡し、物体の存在する仮想空間を分割した空間の中で一番初めにぶつかる空間を求める。このぶつかった空間を始点として、3DDDAアルゴリズムにより、視線が通る分割空間を6に示すように順次求めることができる。
千葉則茂/村岡一信著「CによるCGレイトレーシング」サイエンス社 1991年 Henrik Wann Jensen著 苗村健訳「フォトンマッピング−実写に迫るコンピュータグラフィックス」 オーム社 2002年 James D.Foley,Andries van Dam,Steven K.Feiner,John F.Hughes共著 佐藤義男 監訳「コンピュータグラフィックス理論と実践」 オーム社
ところで、前記の並列計算機を使った高速化のための手法である、空間分割して複数の計算機に負荷分散する方式では、個々の分割空間と計算機の対応をとるマップ情報の参照の仕方として、以下の2つの方法があるがいずれも問題がある。
すなわち、第1の方法は、マップ情報を管理する計算機を設け、追跡を行う計算機はそこに問い合わせを行う方法である。しかし、この方法では、マップ情報管理計算機に問い合わせが集中し、そこが処理のボトルネックの一つとなる。また、オブジェクトが全く無い分割空間を参照した時にも、マップ情報管理計算機に問い合わせを行い、無駄な処理が発生するという問題がある。
また、第2の方法は、マップ情報を、追跡を行う計算機に事前に配布しておき、その配布されたマップ情報を参照する方法である。しかし、この方法は、負荷に応じて動的に空間管理する計算機を増やした時に、追跡を行っている複数の計算機に、個々の分割空間と計算機のマップ情報を更新する必要があり、リアルタイム性に欠ける。また、どの分割空間管理計算機が空いているのかという情報が分からない。
また、均等に分割した空間では、オブジェクトの配置やオブジェクトの複雑さの違いにより、分割空間毎の交差判定処理にかかる時間がまちまちである。例えば、宇宙空間をCGの仮想空間内で表現しようとすると、銀河の星々が集まる分割空間と、銀河の果ての星が一つあるかないかのところでは、交差判定に要する時間が異なる。
星々が集まる分割空間を基準に空間分割を行うと、適切な処理時間に収めるため、非常に細かく空間分割を行わなければならず、マップ情報に使用するメモリの大きさが膨大になり、また光線追跡による交わる分割空間の数が分割する細かさに比例して増えるため、交差判定回数が増えてしまうため、高速化に限界が来てしまう。
本発明は以上の点に鑑みなされたもので、リアルタイムにマップ情報を参照でき、特定計算機へのアクセス集中を防ぎ、オブジェクトが全く無い分割空間の参照を無くし得る3次元画像生成システムを提供することを目的とする。
また、本発明の他の目的は、空間内のオブジェクトの存在や複雑さに偏りがあっても、空間分割に必要なマップ情報格納に必要なメモリや交差判定処理を削減し、広大な空間を効率良くレンダリングし得る3次元画像生成システムを提供することにある。
上記目的を達成するため、本発明は、視点又は光源からの光線を追跡する複数の第1の計算機と、物体が存在する3次元仮想空間を均等に分割し、分割された空間にオブジェクトが存在する時に、その分割空間のオブジェクトデータを格納する複数の第2の計算機と、第1の計算機と第2の計算機とをネットワーク接続し、第1の計算機により生成された、視点又は光源からの光線がぶつかるオブジェクトが存在する分割空間の位置を示す特定パターンのパケットを、複数の第2の計算機のうち、そのパケットを処理し送るべき空間を担当する第2の計算機を探し出して転送するネットワーク接続装置とを有し、第2の計算機は特定パターンのパケットを受け取った時には、管理する分割空間内に交差するオブジェクトが存在するかどうか交差判定を行い、判定結果を示す追跡応答パケットをネットワーク接続装置を介して第1の計算機へ通知し、第1の計算機は追跡応答パケットに基づき3次元画像情報を生成して格納することを特徴とする。
本発明では、予め分割した空間毎に第2の計算機を複数割り当て、ラウンドロビンを実現することにより、複数の第1の計算機間で同一分割空間を参照した場合にでも、適切に負荷分散を行うことができる。また、第1の計算機は追跡応答パケットが交差するオブジェクトが存在しないことを示しているときには、検索を打ち切ることができる。
また、上記の目的を達成するため、本発明は、視点又は光源からの光線を追跡する複数の第1の計算機と、互いに上位と下位の関係に接続された複数のネットワーク接続装置と、複数のネットワーク接続装置の各々に接続されており、物体が存在する3次元仮想空間を均等に分割し、分割された空間にオブジェクトが存在する時に、その分割空間のオブジェクトデータを格納する複数の第2の計算機とを有し、上位のネットワーク接続装置は、第1の計算機と第2の計算機とをネットワーク接続し、第1の計算機により生成された、視点又は光源からの光線がぶつかるオブジェクトが存在する分割空間の位置を示す特定パターンのパケットを、複数の第2の計算機のうち、そのパケットを処理し送るべき空間を担当する第2の計算機を探し出して転送し、特定の分割空間にオブジェクトが予め定めた数以上存在するときには、下位のネットワーク接続装置を割り当て、特定の分割空間を更に均等に分割した細分割空間にオブジェクトが存在するときには、そのオブジェクトが存在する特定パターンのパケットを、下位のネットワーク接続装置に接続された第2の計算機のうち、そのパケットを処理し送るべき空間を担当する第2の計算機を探し出して転送し、第2の計算機は特定パターンのパケットを受け取った時には、管理する分割空間内に交差するオブジェクトが存在するかどうか交差判定を行い、判定結果を示す追跡応答パケットを下位のネットワーク接続装置及び上位のネットワーク装置をそれぞれ介して、又は上位のネットワーク装置のみを介して第1の計算機へ通知し、第1の計算機により追跡応答パケットに基づき生成した3次元画像情報を格納させることを特徴とする。
この発明では、複数のネットワーク接続装置が上位と下位の関係があり、上位の管理する分割された空間の一部を下位に管理させることができるため、空間内に存在するオブジェクトの分布に偏りがあっても対応できる。
本発明によれば、予め分割した空間毎に第2の計算機を複数割り当て、ラウンドロビンを実現することにより、複数の第1の計算機間で同一分割空間を参照した場合にでも、特定計算機へのアクセス集中を防ぎ、適切に負荷分散を行うことができる。また、本発明によれば、第1の計算機は追跡応答パケットが交差するオブジェクトが存在しないことを示しているときには、検索を打ち切るようにしたため、オブジェクトが全く無い分割空間の無駄な空間参照処理を無くすことができる。
また、本発明によれば、複数のネットワーク接続装置が上位と下位の関係があり、上位の管理する分割された空間の一部を下位に管理させることにより、空間内のオブジェクトの存在や複雑さに偏りがあっても、空間分割に必要なマップ情報格納に必要なメモリや交差判定処理を削減し、広大な仮想3次元空間を効率良くレンダリングすることができる。
次に、本発明の各実施の形態について、図面と共に説明する。
(第1の実施の形態)
図1は本発明になる3次元画像生成システムの第1の実施の形態の要部のブロック図、図2は本発明になる3次元画像生成システムの第1の実施の形態の他の要部のブロック図を示す。両図中、同一構成部分には同一符号を付してある。本実施の形態はレイトレースを実装した例で、図1に示すように、分割された空間内のオブジェクト情報を持った分割空間管理計算機11、12及び13と、空間追跡ネットワーク装置14と、システム全体を管理する並列画像処理管理計算機15と、視点からの光線を追跡する追跡計算機16、17、18及び19とより構成されている。空間追跡ネットワーク装置14は、追跡計算機16〜19からのパケットを解析して、分割空間管理計算機11〜13のうち適切な分割空間管理計算機に転送する機能を持つ。
本実施の形態では、まず、物体の存在する3次元仮想空間を図3に20で示すように、任意区間に均等に分割する。分割された空間にオブジェクトが存在する場合、その分割された空間のオブジェクトデータを分割空間管理計算機11〜13のうち、その分割された空間に対応して予め割り当てた適切な一台以上の分割空間管理計算機に格納しておく。上記のオブジェクトデータは、オブジェクトを構成する複数の頂点の座標値、色、材質などのデータからなる。
光線追跡法(レイトレース)では、図15に示したように視点1と仮想スクリーン2を配置する。仮想スクリーン2は領域分割され、その分割領域毎に追跡計算機16〜19が一台ずつ配置される(割り当てられる)。追跡計算機16〜19の各出力パケットは、図2に示すように、映像合成装置26で一つの画像に合成されてコンピュータのディスプレイやプロジェクタ等からなる映像表示装置27に供給されることにより、仮想スクリーン2の3次元映像が映像表示装置27に表示される。この映像表示装置27上の画像の点(pixel)は、仮想スクリーン2上の点に対応する。
映像表示装置27上の各々の点(pixel)の色を求めるため、追跡計算機16〜19では、映像表示装置27上の点に対応する仮想スクリーン2上の各分割領域の座標を求める。ここでは、追跡計算機16、17、18、19は、図4に示すように、映像表示装置の映像表示エリアを4分割したときの映像表示エリア21、22、23、24に対応したエリアに表示する。
次に、追跡計算機16〜19では、図15に示した視点1から対応する仮想スクリーン2上の座標方向へ視線(追跡方向ベクタ)を伸ばしていき、物体の存在する仮想空間6を分割した空間の中で、一番初めにぶつかる空間と座標(追跡開始点)を求めて得たアプリケーションデータを、図5の構造のパケット中に34で示すように含めて図1の空間追跡ネットワーク装置14へ供給する。なお、視点1が物体の存在する空間の中にあるときには、視点を追跡開始点とする。
図5に示すパケットは、先頭から順にイーサネット(Ethernet:登録商標)ヘッダ31、IP(Internet Protocol)ヘッダ32、UDP(User Datagram Protocol)ヘッダ33及びアプリケーションデータ34が配置された構造である。
上記のアプリケーションデータ34は、例えば、図6に示すパケット構造とされている。同図に示すように、アプリケーションデータ34は、「パケット種別」341、「パケット識別子」342、「追跡開始点」343、「追跡方向ベクタ」344、「追跡空間ブロック数」345、「その他のデータ」346から構成されている。「パケット種別」341は、光線追跡パケット、フォトン追跡パケット、光線追跡応答パケット、フォトン追跡応答パケット等、パケットの種別を表している。
「パケット識別子」342は、個々のパケットを識別するためのID番号である。応答パケットの場合、この「パケット識別子」342により、どの追跡パケットに対する応答かが、空間追跡ネットワーク装置14で分かる。「追跡開始点」343は、先の追跡開始点を示し、3次元座標値である。また、「追跡方向ベクタ」344は、視点からの追跡方向を表した、3次元ベクタである。また、「追跡空間ブロック数」345は、3DDDAで空間を追跡する際に、始めにスキップする空間の数、すなわち、パケットを送る際に求められた空間までいくつ跳び越したかという情報を示す。
更に、「その他のデータ」346は、3DDDAで視線が通る空間を求める際には必要がないが、レイトレースでは必要なデータ、例えば、視線の反射回数のカウントなどのデータである。以上の情報をアプリケーションデータ34に持つ図5の構造のIPv4のUDPパケットを追跡計算機16〜19から空間追跡ネットワーク装置14のIPアドレス,事前に決められた追跡用のUDPポート番号に対して送出する。
次に、上記のパケットを受信する空間追跡ネットワーク装置14について説明する。図7は空間追跡ネットワーク装置14の一実施の形態のブロック図を示す。同図に示すように、空間追跡ネットワーク装置14は、ネットワークのパケットを操作するネットワーク・プロセッサ141に、プログラムを格納しているリード・オンリ・メモリ(ROM)142、作業領域用のランダム・アクセス・メモリ(RAM)143、処理するパケットを専用に格納するパケットメモリ144、そしてバスを経由して接続された複数のネットワークIF(インタフェース)145、146、147及び148とから構成されている。
予め分割した空間から分割空間管理計算機11〜13のIPアドレスへの空間管理マップを、図1に示した並列画像処理管理計算機15から空間追跡ネットワーク装置14に設定する。空間管理マップは、図8のような構造を持っている。同図において、分割数によって決まるindex3次元配列の要素は、その空間にマシン、すなわち分割空間管理計算機11〜13が存在しなければヌル(NULL)となり、存在すれば分割空間管理計算機11〜13のIPアドレスのリストを指す。アドレス管理をリスト構造で行うため、同一空間に複数台の分割空間管理計算機11〜13を割り当てて、リクエストをアサインしたらリストの最後に移動させることにより、簡単にラウンドロビンが実現できる。
また、空間追跡ネットワーク装置14では、装置宛のIPアドレス及び事前に決められた追跡用のUDPポート番号に一致しないパケットについては、通常のレイヤ2イーサネット・スイッチやルータなどのネットワーク装置と同様の処理を行う。装置宛のIPアドレス及び事前に決められた追跡用のUDPポート番号に一致したパケットについては、空間追跡ネットワーク装置14はパケット種別に応じた処理内容の処理を行う。
光線追跡パケットの場合、図6のパケット構造の中の「追跡開始点」343から分割された空間へのインデックス(index)が求められ、「追跡方向ベクタ」344から増分係数、そして現在の光線の位置を求め、3DDDAのアルゴリズムに必要なパラメータを算出する。その空間から、3DDDAのアルゴリズムを使い、「追跡空間ブロック数」345で示された値だけ先に進んだブロックを求め、そこから3DDDAのアルゴリズムを使い、オブジェクトが存在する空間が見付かるまで空間管理マップを1ブロックずつ進めながら調べていく。
オブジェクトが存在する空間が見付からず、管理している空間の外に出てしまった時には、空間追跡ネットワーク装置14は、追跡計算機16〜19にオブジェクトが存在する空間が見付からなかった旨、追跡空間ブロック数を無限大とした光線追跡応答パケット(すなわち、否定応答パケット)を生成し、パケット送出元に通知する。
他方、オブジェクトが存在する空間が見付かった場合は、空間追跡ネットワーク装置14は、空間管理マップの中で対応する分割空間管理計算機IPアドレスリストの先頭をアクセスし、ラウンドロビンのためリスト最後尾に移動させた後、そのIPアドレスをコピーする。次に、空間追跡ネットワーク装置14は、処理を行っている光線追跡パケットの追跡空間ブロック数(図6の345)を、先のオブジェクトが存在する空間を求めるためにカウントアップされたブロック数に置き換え、次に先ほどコピーしておいたIPアドレスとそれに対応するイーサネット(Ethernet:登録商標)ヘッダ内のMACアドレスを書き換えて分割空間管理計算機11〜13のうち、パケットを処理すべき空間に割り当てられた分割空間管理計算機に送る。
分割空間管理計算機11〜13のうち、パケットを処理すべき空間に割り当てられた分割空間管理計算機では、光線追跡パケットから管理される分割空間へのトレース軌跡を求め、交差判定を行う。交差判定の結果、交差するオブジェクトが存在しない場合、追跡計算機16〜19に見付からなかった旨の光線追跡応答パケットを生成し通知する。交差判定の結果、交差するオブジェクトが存在した場合、追跡計算機16〜19に見付かった旨の光線追跡応答パケットを生成し通知する。光線追跡応答パケットには、最も手前で見付かったオブジェクトのID及び交差した位置の直接光や間接光から求めた色情報を計算した結果を載せる。
追跡計算機16〜19は、上記の光線追跡応答パケットを受け取り、その光線追跡応答パケットが交差するオブジェクトが見付かった旨の通知である場合は、オブジェクトが交差した位置の直接光や間接光から求めた色情報を仮想スクリーン上の色とする。一方、受け取った上記の光線追跡応答パケットが、交差するオブジェクトが見付からなかった旨の通知である場合は、追跡計算機16〜19は、光線追跡応答パケット中の追跡空間ブロック数を見て、規定のブロック数以上であった場合、そこで検索を打ち切り、背景色として設定された色を仮想スクリーン上の色とする。これにより、無駄な空間参照処理を省略できる。
また、受け取った光線追跡応答パケットが、交差するオブジェクトが見付からなかった旨の通知である場合、追跡計算機16〜19は、その応答パケット中の追跡空間ブロック数を見て、規定のブロック数未満であった場合、応答パケットの追跡空間ブロック数を設定した光線追跡パケットを生成し、空間追跡ネットワーク装置14へ送出する。このようにして生成された3次元画像情報は、追跡計算機16〜19のメモリに格納される。
このように、本実施の形態によれば、予め分割した空間毎に分割空間管理計算機11〜13を複数割り当てることができ、それは図8に示したリスト構造の空間管理マップで管理されており、そのリスト構造の先頭の分割空間管理計算機に光線追跡パケットを転送すると、リストの最後尾に移動させることにより、ラウンドロビンが実現できるため、複数の追跡計算機16〜19間で同一分割空間を参照した場合にでも、適切に負荷分散を行うことができ、また、追跡する光線の軌跡がオブジェクトが存在しない分割空間を通る場合に、無駄な空間参照処理を無くすことができる。
(第2の実施の形態)
図9は本発明になる3次元画像生成システムの第2の実施の形態の要部のブロック図を示す。本実施の形態はフォトンマップの実装の実施の形態で、同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。図9において、空間追跡ネットワーク装置14には、光源からの光線を追跡する光源追跡計算機51、52、53及び54が接続されている。
本実施の形態では、まず、物体の存在する仮想空間を図3に20で示すように、任意区間に均等に分割する。分割された空間にオブジェクトが存在する場合、その分割空間のオブジェクトデータを分割空間管理計算機11〜13のうち、分割空間に予め割り当てられた一台以上の分割空間管理計算機に格納しておく。オブジェクトデータは、オブジェクトを構成する複数の頂点の座標値、色、材質などのデータからなる。
フォトンマップ法では、光源からの追跡は独立して処理できるため、複数台の光源追跡計算機(図9では4台の光源追跡計算機51〜54)を用いる。個々のフォトンの出力は均等であることが望ましいため、光源のエネルギーに応じて、生成されるフォトン数を決める。光源追跡計算機51〜54に対しては、フォトン数が均等になるように、割り当てをすることにより、簡易的なロードバランスを行うことができる。
また、物体の存在する空間の照度分布を求めるため、光源追跡計算機51〜54では、光源の強度分布情報と乱数からフォトンの放出方向を決め、光源の色及びエネルギーからフォトンの出力を決める。
次に、光源追跡計算機51〜54では、光源からフォトンの放出方向(追跡方向ベクタ)へトレースを行い、物体の存在する仮想空間を分割した空間の中で、一番初めにぶつかる空間と座標(追跡開始点)を求めて得たアプリケーションデータを、図5の構造のパケット中に含めて空間追跡ネットワーク装置14へ供給する。なお、光源が物体の存在する空間の中にあるときには、光源を追跡開始点とする。
図5に示すパケット中のアプリケーションデータ34は、本実施の形態では、例えば、図10に示すパケット構造とされている。同図中、図6と同一部分には同一符号を付し、その説明を省略する。図10に示すパケット構造は、図6のパケット構造に比べて、「オブジェクトぶつかった回数」347が追加されている。「オブジェクトぶつかった回数」347は、フォトンがオブジェクトとぶつかり、反射や屈折をした回数を示す。
図10において、「追跡方向ベクタ」344は、光源からの追跡方向を表した、3次元ベクタである。また、「その他のデータ」346は、3DDDAで視線が通る空間を求める際には必要がないが、フォトンマップでは必要なデータ、例えば、フォトンの色や強度などのデータである。以上の情報をアプリケーションデータ部分に持つIPv4のUDPパケットを光源追跡計算機51〜54から空間追跡ネットワーク装置14のIPアドレス、事前に決められた追跡用のUDPポート番号に対して送出する。
次に、上記のUDPパケットを受信する空間追跡ネットワーク装置14について説明する。空間追跡ネットワーク装置14の構成は、図7に示した構成と同一であり、予め分割した空間から分割空間管理計算機11〜13のIPアドレスへの空間管理マップを並列画像処理管理計算機15から空間追跡ネットワーク装置14に設定する点も第1の実施の形態と同様である。
空間管理マップは、前述した図8のような構造を持っている。図9の空間追跡ネットワーク装置14では、装置宛のIPアドレス及び事前に決められた追跡用のUDPポート番号に一致しないパケットについては、通常のレイヤ2イーサネット(登録商標)・スイッチやルータなどのネットワーク装置同様の処理を行う。一致したパケットについては、パケット種別によって処理内容が変わる。
フォトン追跡パケットの場合、追跡開始点から分割された空間へのインデックスが求められ追跡方向ベクタから増分係数、そして現在のフォトン追跡の位置を求め、3DDDAのアルゴリズムに必要なパラメータを算出する。その空間から、3DDDAのアルゴリズムを使い、追跡空間ブロック数分だけ先に進んだブロックを求め、そこから3DDDAのアルゴリズムを使いオブジェクトが存在する空間が見付かるまで空間管理マップを1ブロックずつ進めながら調べていく。
オブジェクトが存在する空間が見付からず、管理している空間の外に出てしまった時には、図9の空間追跡ネットワーク装置14は、光源追跡計算機51〜54にオブジェクトが存在する空間が見付からなかった旨、追跡空間ブロック数を無限大としたフォトン追跡応答パケットを生成し通知する。
他方、オブジェクトが存在する空間が見付かった場合は、図9の空間追跡ネットワーク装置14は、空間管理マップの中で対応する分割空間管理計算機IPアドレスリストの先頭をアクセスし、ラウンドロビンのためリスト最後尾に移動させた後、そのIPアドレスをコピーする。
次に、空間追跡ネットワーク装置14は、処理を行っているフォトン追跡パケットの追跡空間ブロック数(図10の345)を、先のオブジェクトが存在する空間を求めるためにカウントアップされたブロック数に置き換え、次に先ほどコピーしておいたIPアドレスとそれに対応するイーサネット(Ethernet:登録商標)ヘッダ内のMACアドレスを書き換えて図9の分割空間管理計算機11〜13のうち、割り当てられた分割空間管理計算機に送る。
図9の分割空間管理計算機11〜13のうち、割り当てられた分割空間管理計算機では、フォトン追跡パケットから管理される空間へのトレース軌跡を求め、交差判定を行う。交差判定の結果、交差するオブジェクトが存在しない場合、光源追跡計算機51〜54に見付からなかった旨のフォトン追跡応答パケットを生成し通知する。
交差判定の結果、交差するオブジェクトが存在した場合、光源追跡計算機51〜54に見付かった旨のフォトン追跡応答パケットを生成し通知する。フォトン追跡応答パケットには、最も手前で見付かったオブジェクトのID及び交差した位置の座標情報、フォトンの反射や屈折が発生したか、発生したならばその方向、オブジェクトぶつかった回数(図10の347)をインクリメントして載せる。そして、フォトン追跡パケットの情報を第1の実施の形態の間接光計算のために、分割空間管理計算機11〜13に記憶する。
光源追跡計算機51〜54は、上記のフォトン追跡応答パケットを受け取り、そのフォトン追跡応答パケットが、交差するオブジェクトが見付かった旨の通知である場合、そのパケット中の「オブジェクトぶつかった回数」347が規定値に達しているかどうか判定し、規定値に達している場合、そこで検索を打ち切る。
他方、「オブジェクトぶつかった回数」347が規定値未満の場合、フォトンの反射や屈折が発生していれば、交差した位置を追跡開始点、フォトンの反射や屈折方向を追跡方向ベクタとして、追跡空間ブロック数345を0にして、新たにフォトン追跡パケットを生成する。
また、光源追跡計算機51〜54は、交差するオブジェクトが見付からなかった旨の上記のフォトン追跡応答パケットを受け取った場合、その応答パケット中の「追跡空間ブロック数」345を見て、規定のブロック数以上であるかどうか判定し、規定のブロック数以上である場合、そこで検索を打ち切るが、規定のブロック数未満である場合は、応答パケットの追跡空間ブロック数の値を設定したフォトン追跡パケットを生成し送出する。
一連の処理終了後に、空間追跡ネットワーク装置14は、同一空間を管理している分割空間管理計算機11〜13間で、蓄積されたフォトン追跡パケットの情報を交換し、同一内容となるようにする。
このように、本実施の形態によれば、複数の光源追跡計算機51〜54間で同一分割空間を参照した場合にでも、適切に負荷分散を行うことができ、また、追跡する光線の軌跡がオブジェクトが存在しない分割空間を通る場合に、無駄な空間参照処理を無くすことができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。図11は本発明になる3次元画像生成システムの第3の実施の形態の要部のブロック図を示す。本実施の形態はレイトレースの実装例で、同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。図11に示す実施の形態では、第1の実施の形態と同様の構成に加え、空間追跡ネットワーク装置14に、追跡計算機16〜19からのパケットを解析して適切な分割空間管理計算機に転送する機能を持つ第2の空間追跡ネットワーク装置60が接続され、また、空間追跡ネットワーク装置60には、分割された空間内のオブジェクト情報を持つ分割空間管理計算機61〜63がそれぞれ接続されている。
本実施の形態では、まず、物体の存在する仮想空間を図12に65で示すように、任意区間に均等に分割する。分割された空間にオブジェクトが存在する場合、その分割空間のオブジェクトデータをその分割空間に対応して予め割り当てられた一台以上の分割空間管理計算機(ここでは、一例として11、12)に格納しておく。オブジェクトデータは、オブジェクトを構成する複数の頂点の座標値、色、材質などのデータからなる。
また、仮想空間65の複数の分割空間(階層1)の中に多数のオブジェクトデータが含まれる分割空間がある場合、例えば、その分割空間を更に図12に66で示すように均等に複数分割する。66で示すように均等に分割された複数の分割空間(階層2)の一つにオブジェクトが存在する場合、その分割空間のオブジェクトデータを、その分割空間に対応して予め割り当てられた一台以上の分割空間管理計算機61〜63に格納する。
光線追跡法(レイトレース)では、前述した図15のように視点1と仮想のスクリーン2を配置する。仮想スクリーン2は、領域分割され、その分割領域毎に追跡計算機16〜19が配置される。追跡計算機16〜19は、図2に示したように、映像合成装置26を介して映像表示装置27に接続されているので、仮想スクリーン2の画像が映像表示装置27に表示され、映像表示装置27上の点(pixel)は、仮想スクリーン2上の点に対応する。
映像表示装置27上の各々の点(pixel)の色を求めるため、追跡計算機16〜19では、映像表示装置27上の点に対応する仮想スクリーン2上の座標を求める。次に、追跡計算機16〜19では、視点1から対応する仮想スクリーン2上の座標方向へ視線(追跡方向ベクタ)を伸ばしていき、物体の存在する仮想空間を分割した空間の中で、一番初めにぶつかる空間と座標(追跡開始点)を求める。視点が物体の存在する空間の中にあるときには、視点を追跡開始点とする。
図11の追跡計算機16〜19は空間追跡ネットワーク装置14、60へ図5に示す構造のパケットを送出する。図5に示すパケット中のアプリケーションデータ34は、本実施の形態では、例えば、図13に示すパケット構造とされている。同図中、図6と同一部分には同一符号を付し、その説明を省略する。
図13において、「最大階層数」351は、空間追跡ネットワーク装置を最大何段まで経由できるかを示す値であり、「現在の階層」352は空間追跡ネットワーク装置を何段経由したかを示す値であり、初期値は0である。また、「追跡空間ブロック数」353〜355は、階層毎に全部で最大階層数nだけあり、3DDDAで空間を追跡する際に、始めにスキップする空間の数、すなわち、パケットを送る際に求められた空間までいくつ跳び越したかという情報を示す。更に、「その他のデータ」356は、3DDDAで視線が通る空間を求める際に必要がないが、レイトレースでは必要なデータであり、例えば、視線の反射回数のカウントなどである。
以上の情報をアプリケーションデータとして持つIPv4のUDPパケットは、図11の追跡計算機16〜19から空間追跡ネットワーク装置14、60のIPアドレス、事前に決められた追跡用のUDPポート番号に対して送出される。
次に、上記のUDPパケットを受信する空間追跡ネットワーク装置14、60について説明する。空間追跡ネットワーク装置14及び60はそれぞれ同一構成であり、図7に示したように、ネットワークのパケットを操作するネットワーク・プロセッサ141、プログラムを格納するROM142、作業領域用のRAM143、処理するパケットを専用に格納するパケットメモリ144、複数のネットワークIF145〜148とからなる。
この空間追跡ネットワーク装置14及び60には、予め分割した空間から分割空間管理計算機11〜13、61〜63のIPアドレスへの空間管理マップが、並列画像処理管理計算機15から設定される。この空間管理マップは、前述した図8のような構造を持っている。
空間追跡ネットワーク装置を本実施の形態の空間追跡ネットワーク装置14及び60のように多段で接続した場合、追跡計算機16〜19に直接接続された上位の空間追跡ネットワーク装置14の空間管理マップに、下位の空間追跡ネットワーク装置60はマシンとして、すなわち分割空間管理計算機として登録される。そのため、上位から下位への問い合わせは、通常の分割空間管理計算機への問い合わせと同一手順で行われる。
図11の空間追跡ネットワーク装置14、60では、装置宛のIPアドレス及び事前に決められた追跡用のUDPポート番号に一致しないパケットについては、通常のレイヤ2イーサネット・スイッチやルータなどのネットワーク装置同様の処理を行う。一致したパケットについては、パケット種別によって処理内容が変わる。
光線追跡パケットの場合、追跡開始点から分割された空間へのインデックスが求められ、追跡方向ベクタから増分係数、そして現在の光線の位置を求め、3DDDAのアルゴリズムに必要なパラメータを算出する。その空間から、3DDDAのアルゴリズムを使い、追跡空間ブロック数分だけ先に進んだブロックを求め、そこから3DDDAのアルゴリズムを使いオブジェクトが存在する空間が見付かるまで空間管理マップを1ブロックずつ進めながら調べていく。
すなわち、光線追跡パケット内の階層情報を参照して空間追跡ネットワーク装置の多段接続数(ここでは、2)をインデックスとし、交差する分割された空間を始点側から順番に求める際に、光線追跡パケット内の飛び越す分割空間ブロック数の情報を格納した配列を先のインデックスを用いてアクセスし、飛び越した先から処理を始め、オブジェクトが存在する空間が見付かるまで空間管理マップを1ブロックずつ進めながら調べていく。
オブジェクトが存在する空間が見付からず、管理している空間の外に出てしまった時には、追跡計算機に見付からなかった旨、追跡空間ブロック数を無限大とした光線追跡応答パケットを生成し通知する。オブジェクトが存在する空間が見付かった場合、空間管理マップの中で対応する分割空間管理計算機IPアドレスリストの先頭をアクセスし、ラウンドロビンのためリスト最後尾に移動させた後、そのIPアドレスをコピーする。
次に、空間追跡ネットワーク装置14、60の処理について説明する。前述したように、2つの空間追跡ネットワーク装置14及び60は、上位と下位の関係があり、上位の空間追跡ネットワーク装置14が管理する空間の一部を下位の空間追跡ネットワーク装置60に管理させる。下位の空間追跡ネットワーク装置60は、光線追跡パケットが入ってきた時点で上位の空間追跡ネットワーク装置14からの問い合わせと認識する。
光線追跡パケットは、追跡計算機16〜19から上位の空間追跡ネットワーク装置14へ供給され、下位の空間追跡ネットワーク装置60に渡され、更に分割空間管理計算機61〜63へ供給される。光線追跡応答パケットは、上記とは逆に分割空間管理計算機61〜63から下位の空間追跡ネットワーク装置60へ供給された後上位の空間追跡ネットワーク装置14に渡され、その後追跡計算機16〜19へ供給される。このようにして、2つの空間追跡ネットワーク装置14及び60は、処理対象の光線追跡パケットに以下のような処理を行う。
まず、「現在の階層」352の値を1増やす。増やした結果、「現在の階層」352の値が最大階層数を超えた場合、図11の追跡計算機16〜19に対し、オブジェクトが存在する空間が見付からなかった旨、「追跡空間ブロック数」353〜355のうち、担当する階層の「追跡空間ブロック数」を無限大とした光線追跡応答パケットを生成し通知する。担当する階層がどこかは、現在の階層で知ることができる。
続いて、「現在の階層」352をインデックスとして「追跡空間ブロック数」353〜355の配列をアクセスし、先のオブジェクトが存在する空間を求めるためにカウントアップされたブロック数に置き換えた後、先ほどコピーしておいたIPアドレスとそれに対応するイーサネット(Ethernet:登録商標)ヘッダ内のMACアドレスを書き換える。
以上の処理を終えた後に、空間追跡ネットワーク装置14、60は、分割空間に対応する分割空間管理計算機11〜13、61〜63もしくは一方の空間追跡ネットワーク装置に送る。分割空間管理計算機11〜13、61〜63では、空間追跡ネットワーク装置14、60から送出された光線追跡パケットを受信し、その受信光線追跡パケットから管理される空間へのトレース軌跡を求め、交差判定を行う。
交差判定の結果、交差するオブジェクトが存在しない場合、見付からなかった旨の光線追跡応答パケットを生成し追跡計算機16〜19に通知する。交差判定の結果、交差するオブジェクトが存在した湯合、見付かった旨の光線追跡応答パケットを生成し追跡計算機に通知する。光線追跡応答パケットには、最も手前で見付かったオブジェクトのID及び交差した位置の直接光や間接光から求めた色情報を計算した結果を載せる。
図11の追跡計算機16〜19は、光線追跡応答パケットを受け取り、その光線追跡応答パケットが交差するオブジェクトが見付かった旨の通知である場合は、オブジェクトが交差した位置の直接光や間接光から求めた色情報を仮想スクリーン上の色とする。一方、受け取った上記の光線追跡応答パケットが、交差するオブジェクトが見付からなかった旨の通知である場合は、追跡計算機16〜19は、光線追跡応答パケット中の追跡空間ブロック数を見て、規定のブロック数以上であった場合、そこで検索を打ち切り、背景色として設定された色を仮想スクリーン上の色とする。
また、受け取った光線追跡応答パケットが、交差するオブジェクトが見付からなかった旨の通知である場合、追跡計算機16〜19は、その応答パケット中の現在の階層をインデックスとする追跡空間ブロック数をアクセスし、規定のブロック数未満であった場合、応答パケットの追跡空間ブロック数の配列の内容を設定した光線追跡パケットを生成し、空間追跡ネットワーク装置14、60へ送出する。
このように、本実施の形態によれば、階層1の特定の分割空間に多数のオブジェクトが存在するような、空間内に存在するオブジェクトの分布に偏りがある場合でも、多数のオブジェクトが存在する階層1の特定の分割空間を更に階層2の複数の分割空間に均等に分割して、空間追跡ネットワーク装置60により分割空間管理計算機61〜63のうちの一台以上の対応する分割空間管理計算機に割り当てるようにしたため、複数の追跡計算機16〜19間で適切に負荷分散を行うことができ、これにより、広大な仮想3次元空間を効率良く扱うことができる。
なお、第3の実施の形態も、フォトンマップの実装は可能であり、特定パターンを持つパケットとしてフォトン追跡パケットの処理に適用可能である。光線追跡パケットかフォトン追跡パケットかの識別は、イーサネットヘッダ及びIPヘッダ、UDPヘッダ及びアプリケーションデータのパケット種別が一致しているかで行う。また、空間追跡ネットワーク装置は最大階層数を越えない範囲であれば、3台以上あってもよい。
本発明の第1の実施の形態の要部のブロック図である。 本発明の第1の実施の形態の他の要部のブロック図である。 本発明の空間分割管理の一例の概念説明図である。 図2中の追跡計算機の出力と映像表示装置の分割された映像表示エリアとの関係を示す図である。 追跡計算機が出力するパケットの一例の構造図である。 図5中のアプリケーションデータの一例の構造図である。 図1中の空間追跡ネットワーク装置の一例のブロック図である。 空間管理マップの構成図である。 本発明の第2の実施の形態の要部のブロック図である。 フォトン追跡パケットのアプリケーションデータの一例の構造図である。 本発明の第3の実施の形態の要部のブロック図である。 図11における階層空間分割管理の一例の概念図である。 追跡パケットのアプリケーションデータの一例の構造図である。 光線追跡法(レイトレース)の説明図である。 3DDDAアルゴリズム説明図である。
符号の説明
11、12、13、61、62、63 分割空間管理計算機
14、60 空間追跡ネットワーク装置
15 並列画像処理装置
16、17、18、19 追跡計算機
26 映像合成装置
27 映像表示装置
34 アプリケーションデータ
51、52、53、54 光源追跡計算機
141 ネットワーク・プロセッサ
144 パケットメモリ
145〜148 ネットワークIF(インタフェース)

Claims (2)

  1. 視点又は光源からの光線を追跡する複数の第1の計算機と、
    物体が存在する3次元仮想空間を均等に分割し、分割された空間にオブジェクトが存在する時に、その分割空間のオブジェクトデータを格納する複数の第2の計算機と、
    前記第1の計算機と前記第2の計算機とをネットワーク接続し、前記第1の計算機により生成された、前記視点又は光源からの光線がぶつかる前記オブジェクトが存在する前記分割空間の位置を示す特定パターンのパケットを、前記複数の第2の計算機のうち、そのパケットを処理し送るべき空間を担当する第2の計算機を探し出して転送するネットワーク接続装置と
    を有し、前記第2の計算機は前記特定パターンのパケットを受け取った時には、管理する分割空間内に交差するオブジェクトが存在するかどうか交差判定を行い、判定結果を示す追跡応答パケットを前記ネットワーク接続装置を介して前記第1の計算機へ通知し、前記第1の計算機は前記追跡応答パケットに基づき3次元画像情報を生成して格納することを特徴とする3次元画像生成システム。
  2. 視点又は光源からの光線を追跡する複数の第1の計算機と、
    互いに上位と下位の関係に接続された複数のネットワーク接続装置と、
    前記複数のネットワーク接続装置の各々に接続されており、物体が存在する3次元仮想空間を均等に分割し、分割された空間にオブジェクトが存在する時に、その分割空間のオブジェクトデータを格納する複数の第2の計算機と
    を有し、上位の前記ネットワーク接続装置は、前記第1の計算機と前記第2の計算機とをネットワーク接続し、前記第1の計算機により生成された、前記視点又は光源からの光線がぶつかる前記オブジェクトが存在する前記分割空間の位置を示す特定パターンのパケットを、前記複数の第2の計算機のうち、そのパケットを処理し送るべき空間を担当する第2の計算機を探し出して転送し、特定の分割空間に前記オブジェクトが予め定めた数以上存在するときには、下位の前記ネットワーク接続装置を割り当て、前記特定の分割空間を更に均等に分割した細分割空間に前記オブジェクトが存在するときには、そのオブジェクトが存在する前記特定パターンのパケットを、前記下位のネットワーク接続装置に接続された前記第2の計算機のうち、そのパケットを処理し送るべき空間を担当する第2の計算機を探し出して転送し、前記第2の計算機は前記特定パターンのパケットを受け取った時には、管理する分割空間内に交差するオブジェクトが存在するかどうか交差判定を行い、判定結果を示す追跡応答パケットを前記下位のネットワーク接続装置及び前記上位のネットワーク装置をそれぞれ介して、又は前記上位のネットワーク装置のみを介して前記第1の計算機へ通知し、前記第1の計算機により前記追跡応答パケットに基づき生成した3次元画像情報を格納させることを特徴とする3次元画像生成システム。

JP2004145848A 2004-05-17 2004-05-17 3次元画像生成システム Expired - Fee Related JP4352990B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004145848A JP4352990B2 (ja) 2004-05-17 2004-05-17 3次元画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004145848A JP4352990B2 (ja) 2004-05-17 2004-05-17 3次元画像生成システム

Publications (2)

Publication Number Publication Date
JP2005327146A JP2005327146A (ja) 2005-11-24
JP4352990B2 true JP4352990B2 (ja) 2009-10-28

Family

ID=35473454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004145848A Expired - Fee Related JP4352990B2 (ja) 2004-05-17 2004-05-17 3次元画像生成システム

Country Status (1)

Country Link
JP (1) JP4352990B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738107B1 (ko) * 2006-02-15 2007-07-12 삼성전자주식회사 3차원 포인트 기반 모델링 장치 및 방법
US9270783B2 (en) * 2008-12-06 2016-02-23 International Business Machines Corporation System and method for photorealistic imaging workload distribution
US9250966B2 (en) * 2011-08-11 2016-02-02 Otoy, Inc. Crowd-sourced video rendering system
KR102042539B1 (ko) 2012-07-24 2019-11-08 삼성전자주식회사 레이 트레이싱 방법 및 장치

Also Published As

Publication number Publication date
JP2005327146A (ja) 2005-11-24

Similar Documents

Publication Publication Date Title
US8089481B2 (en) Updating frame divisions based on ray tracing image processing system performance
US8373699B2 (en) Method and apparatus for parallel ray-tracing employing modular space division
US8248401B2 (en) Accelerated data structure optimization based upon view orientation
KR102080851B1 (ko) 레이 추적의 스케쥴링을 위한 장치 및 방법
US9041713B2 (en) Dynamic spatial index remapping for optimal aggregate performance
US9911212B2 (en) Resetting of dynamically grown accelerated data structure
US11463272B2 (en) Scalable in-network computation for massively-parallel shared-memory processors
US7940266B2 (en) Dynamic reallocation of processing cores for balanced ray tracing graphics workload
US9292965B2 (en) Accelerated data structure positioning based upon view orientation
US8243081B2 (en) Methods and systems for partitioning a spatial index
US8248412B2 (en) Physical rendering with textured bounding volume primitive mapping
US7864174B2 (en) Methods and systems for reducing the number of rays passed between processing elements in a distributed ray tracing system
US20080122845A1 (en) Dynamic Determination of Optimal Spatial Index Mapping to Processor Thread Resources
US20090183167A1 (en) Two-Tiered Dynamic Load Balancing Using Sets of Distributed Thread Pools
US8957902B2 (en) Method and apparatus for interprocessor communication employing modular space division
US7990380B2 (en) Diffuse photon map decomposition for parallelization of global illumination algorithm
JPH10510074A (ja) 像構成
CN111210498A (zh) 降低多边形网格的细节水平以减少被渲染几何的复杂度
US8564600B2 (en) Streaming physics collision detection in multithreaded rendering software pipeline
CN115374396A (zh) 用于使用稀疏矩阵的分层表示来加速矩阵乘法计算的技术
CN103578130B (zh) 用于光线跟踪的方法和设备
JP4352990B2 (ja) 3次元画像生成システム
WO2017115898A1 (ko) 대용량 tin 데이터 분산 저장 방법
Debenham et al. Efficient field of vision algorithms for large 2D grids
JP2001034783A (ja) 画像データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090720

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees