JP2007244887A - Volumetric rendering method, volumetric rendering system, computer, and program - Google Patents

Volumetric rendering method, volumetric rendering system, computer, and program Download PDF

Info

Publication number
JP2007244887A
JP2007244887A JP2007113406A JP2007113406A JP2007244887A JP 2007244887 A JP2007244887 A JP 2007244887A JP 2007113406 A JP2007113406 A JP 2007113406A JP 2007113406 A JP2007113406 A JP 2007113406A JP 2007244887 A JP2007244887 A JP 2007244887A
Authority
JP
Japan
Prior art keywords
node
data
voxel data
nodes
divided
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.)
Pending
Application number
JP2007113406A
Other languages
Japanese (ja)
Inventor
Kazuhiko Matsumoto
和彦 松本
Original Assignee
Ziosoft Inc
ザイオソフト株式会社
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
Priority to JP2001369119 priority Critical
Application filed by Ziosoft Inc, ザイオソフト株式会社 filed Critical Ziosoft Inc
Priority to JP2007113406A priority patent/JP2007244887A/en
Publication of JP2007244887A publication Critical patent/JP2007244887A/en
Application status is Pending legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a volumetric rendering method, a volumetric rendering system, a computer, and a program, in which a calculation process is not necessary for calculation for interpolation of a rendering process close to a division surface in joining distributed rendering results obtained by division processes by voxel data division so as to carry out volumetric rendering process at high speed even in large voxel data that is otherwise difficult to be processed by use of a single computer achieving high cost performance. <P>SOLUTION: A storage server divides voxel data to a plurality of nodes for performing the volumetric rendering process in a division process. The voxel data are divided in such a way that the data overlap with each other at division surfaces. Each node performs the division rendering process to the divided voxel data. For interpolation calculation in the rendering process close to the division surface, data of the overlapped parts are used. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、複数のノード(計算機)を備えたコンピュータネットワーク上で行われる、動的負荷割り当てを用いた協調分散処理によるボリュームレンダリング処理方法、ボリュームレンダリング処理システム、計算機及びプログラムに関するものである。 The present invention is performed on a computer network with a plurality of nodes (computers), volume rendering processing method according to concurrent treatment with dynamic load allocation, volume rendering processing system, a computer and a program.

近年、ネットワーク環境および計算機が低価格化・高性能化により多くの病院に普及するようになってきている。 In recent years, the network environment and the computer is becoming more popular in many hospitals by lower prices and higher performance. 病院内の複数箇所での利用ニーズに従い、院内ネットワークに複数台の画像処理システムがある場合も珍しくなくなってきている。 According to usage needs of at a plurality of locations in the hospital, it has been no unusual when there is a plurality of image processing system of in-hospital network. CT,MRIなど医療画像診断機器で撮影された医療画像データ(ボクセルデータ)を画像処理システムの画面で見るときの画像処理にはボリュームレンダリング処理が行われる。 CT, the image processing when viewing the medical image data photographed by a medical image diagnostic equipment such as MRI (voxel data) on the screen of the image processing system is volume rendering processing is performed.

CT,MRIなど医療画像診断機器の発達による測定分解能の向上とともに、医療画像データ(ボクセルデータ)のデータ容量が増大している。 CT, with the improvement of the measurement resolution by the development of a medical image diagnostic equipment such as MRI, data capacity of the medical image data (voxel data) has increased. リアルタイムでデータ本来の分解能を反映させながらデータを間引かずにボリュームレンダリング処理を行うためには、大容量のメモリと高速なCPUなど膨大な計算資源を持つ計算機が必要である。 To perform the volume rendering process without thinning the data while reflecting the data inherent resolution in real time, it is necessary computer having a large computational resources such as a large-capacity memory and a high-speed CPU. 現状では上記条件を満たすような計算機は現実的なコストでは得られない。 At present computer which satisfies the above conditions can not be obtained in the real cost. そのためボリュームレンダリング処理を行うことができるボクセルデータの容量に限界がある。 There is a limit to the capacity of the voxel data that can be therefore volume rendering process. すなわち、現状ではコストパフォーマンスの高い計算機1台当たりが装備可能なメモリ容量と計算能力に限界があるため、ボリュームレンダリング処理を行うことができるボクセルデータの容量に限界がある。 That is, at present because the high computer per unit cost performance is limited to the equipment available memory capacity and computing power, there is a limit to the capacity of the voxel data that can perform volume rendering process.

特に医療画像データのデータ容量の増加が著しい。 Especially significant increase in data capacity of the medical image data. この要因には時間分解能と空間分解能の向上が挙げられる。 It includes improvement in time resolution and spatial resolution for this factor. 通常使用される3D医療画像データは、幅(X軸)、高さ(Y軸)が同じ2D画像(体の断面画像、1スライス)を体軸方向(Z軸)に何枚も積層することで構成される。 3D medical image data which is normally used, the width (X axis), also laminated number of sheets to the height (Y-axis) is the same 2D image (the body of cross-sectional images, one slice) the body axis direction (Z-axis) in constructed. さらに時間軸(T軸)が加わった4D医療画像データは、3D医療画像データの時系列で構成されるが、すでにデータ容量が大きい3Dデータを複数持つことになるため、膨大なデータ容量となる。 Additional time axis (T-axis) is applied was 4D medical image data is constituted by time series of 3D medical image data, already because the data volume will have a plurality of large 3D data, a huge data volume . 診断機器の技術革新による時間分解能の向上(T軸方向)によって、3D医療画像の時系列データを臨床現場で取得できるようになってきた。 The improved time resolution by innovation diagnostic equipment (T-axis), has come to the time-series data of 3D medical images can be acquired in a clinical setting.

また、空間分解能の向上(X軸、Y軸方向)も進み、現在は1スライスの解像度は512 × 512 が主流であるがいずれ1024 × 1024 になると言われている。 Also, improved spatial resolution (X-axis, Y-axis direction) advances, the current slice resolution is said is 512 × 512 is mainly made in any 1024 × 1024. さらに、空間分解能の向上(Z軸方向)も挙げられ、1スライスの厚さが薄くなることで同じ撮影部位が従来よりも多くのスライス枚数から構成されるため、データ容量が増加している。 Furthermore, the improvement of the spatial resolution (Z-axis direction) and the like, the same imaging region by the thickness of one slice is thin because it is composed of many number of slices than conventional data capacity is increased.

従来、図16に示すように、1台の計算機50で完結する画像処理システムがあった。 Conventionally, as shown in FIG. 16, there is an image processing system to complete a computer 50 for one. この画像処理システムでは、一台の計算機(複数CPUの場合有り)50でボリュームレンダリング処理の全工程が行われる。 In the image processing system, (there for multiple CPU) one computer all the steps of the volume rendering process is performed in 50.

また図17に示すように、ボクセルデータのストレージを行うストレージサーバー52とボリュームレンダリング処理・表示を行う画像処理システム53とに分け、ストレージサーバー52と複数台の計算機50をネットワークで繋いで構築されるシステム51があった。 In addition, as shown in FIG. 17, divided into an image processing system 53 for storage server 52 and volume rendering processing and display to perform the storage of the voxel data is constructed by connecting the storage server 52 and a plurality of computers 50 in network there is the system 51. 画像処理システム53は、必要なボクセルデータをストレージサーバー52から動的に取得して、画像処理システム内のメモリに読み込んだ後、ボリュームレンダリング処理を行う。 The image processing system 53 dynamically obtains the voxel data needed from the storage server 52, after reading in the memory of the image processing system, it performs a volume rendering process. 長所としては、ボリュームレンダリングで編集したい、必要なボクセルデータのみ画像処理システム53で保持すればよい。 The advantages to be edited in volume rendering, may be held in the image processing system 53 only voxel data needed. つまり、ローカル・ストレージの浪費や、ローカル・ストレージ容量による制限がなくなる。 That is, waste or the local storage, limited by the local storage capacity eliminated.

さらに図18に示すように、ボクセルデータのストレージとボリュームレンダリング処理を行うストレージ・計算サーバー56と、ボリュームレンダリング処理結果を表示する画像表示システム57とに分け、このサーバー56と複数台の計算機50をネットワークで繋いで構築されるシステム55があった。 As further shown in FIG. 18, the storage and calculation server 56 for storage and volume rendering voxel data, divided into an image display system 57 for displaying a volume rendering processing result, the server 56 and a plurality of computers 50 there is a system 55 that is constructed by connecting a network. 長所としては、(1) 処理結果を表示する計算機50は計算資源が少なくてもよく、画像表示システム57を低コストにすることができる、(2) 動的に計算資源を複数のユーザーに配分することができるなどが挙げられる。 The advantages, (1) the processing result computer 50 for displaying may be less computational resources, the image display system 57 can be a low cost, (2) dynamically allocating computing resources to multiple users and the like can be.

また、例えば非特許文献1には、分散処理において、レンダリング計算を画素ごとに分割するボリュームレンダリング処理方法が開示されている。 Further, for example, Non-Patent Document 1, in a distributed processing, volume rendering processing method for dividing a rendering calculation for each pixel is disclosed. また、非特許文献2には、分散処理において、ボクセルデータ(ボリューム)を分割する技術が開示されている。 Further, Non-Patent Document 2, in the distributed processing, techniques to divide the voxel data (volume) is disclosed.

しかしながら、非特許文献2に記載のように、ボクセルデータ(ボリューム)を分割してノード(計算機)に割り当てる構成を採用する場合、各ノードの分散レンダリング処理結果を一つに連結する際に、分割面近傍のレンダリング処理を補う必要があった。 However, as described in Non-Patent Document 2, when employing the configuration to be assigned to nodes by dividing the voxel data (volume) (computer), when connected to one distributed rendering processing result of each node, divided it was necessary to compensate for the rendering of the surface neighborhood.

本発明の目的は、ボクセルデータ分割による分散処理で得られた分散レンダリング処理結果を一つに連結する際に、分割面近傍のレンダリング処理を補う計算処理が伴わずに済み、高コストパフォーマンスを満たす単一計算機では扱うことが難しい大容量ボクセルデータでも高速にボリュームレンダリング処理することができるボリュームレンダリング処理方法、ボリュームレンダリング処理システム、計算機及びプログラムを提供することにある。 An object of the present invention, when connected to one distributed rendering processing result obtained by the dispersion treatment by the voxel data split, requires no calculation process is accompanied compensate for rendering the split surface vicinity, meet high cost volume rendering processing method capable of volume rendering process faster with large voxel data that is difficult to handle in a single computer, volume rendering processing system is to provide a computer and a program.

上記目的を達成するために請求項1に記載の発明は、複数のノードによってコンピュータネットワークが構築され、三次元以上のボクセルデータに施すべきボリュームレンダリング処理を少なくとも二のノードが分散処理で実行するボリュームレンダリング処理システムにおいて、少なくとも一のノードに設けられ、各ノードの計算余力及びメモリ空き状況に係る計算資源使用状況情報を基に分散処理可能な余力のある少なくとも二のノードを割り当てるノード割当手段と、少なくとも一のノードに設けられ、与えられたボクセルデータを、各割り当てノードの計算資源使用状況情報に応じた分割割合で、かつ分割面に関わるボクセルデータを重複させるように複数の分割ボクセルデータに分割するデータ分割割当部と、前記分割ボクセルデ The invention according to claim 1 in order to achieve the above object, is built computer network by a plurality of nodes, at least two nodes volume rendering processing to be performed on three-dimensional or more voxel data is executed in a distributed processing volume in the rendering processing system, provided in at least one node, the node assignment means for assigning at least two of the nodes with calculation reserve capacity and memory according to the availability computing resources usage information available distributed processing based on an available capacity of each node, provided on at least one node, the given voxel data, a splitting rate corresponding to computing resources usage information for each assignment nodes, and a plurality of divided voxel data so as to overlap the voxel data relating to divided surfaces divided a data dividing assignment unit that, the divided Bokuserude タを動的に前記各割り当てノードに割り当てる負荷割当手段と、前記割り当てノードとなる少なくとも二のノードに設けられ、割り当てられた分割ボクセルデータに対して分散レンダリング処理を行うとともに、少なくとも分割面近傍における分散レンダリング処理の補間計算を前記データの重複部分を用いて行う演算手段と、少なくとも一のノードに設けられ、前記各割り当てノードにおける分散レンダリング処理結果を取得して一つに整合させて連結する連結手段と、少なくとも一のノードに設けられ、前記連結されたレンダリング処理結果に基づくボリュームレンダリング画像を表示手段に表示する表示制御手段とを備えたことを要旨とする。 A load allocation means for allocating dynamically the respective assigned node data, provided in at least two nodes serving as the assigned node, performs distributed rendering processing on the divided voxel data allocated, at least split the vicinity calculating means for interpolation calculation of a distributed rendering processing performed using overlapping portions of the data, provided in at least one node, coupled to connecting said aligned into one to obtain the distributed rendering processing results at each assigned node and means, provided on at least one node, and summarized in that and a display control means for displaying a volume rendering image based on the concatenated rendering result on the display unit.

この発明によれば、少なくとも一のノードにおいて、ノード割当手段が各ノードの各ノードの計算余力とメモリ空き容量とを含む計算資源使用状況情報を基に分散処理可能な余力のあるノードを、分散処理を行うノードとしてノード割り当てをする。 According to the invention, at least one node, the node node assignment means with distributed processing can margin based on computational resource usage information including the calculated reserve capacity and memory space of each node of each node, dispersion processing node assigned as node performing. 少なくとも一のノードに設けられたデータ分割割当部は、各割り当てノードの計算資源使用状況情報に応じて、与えられたボクセルデータの分割割合を決定するとともにその分割割合でボクセルデータを分割するに当たり、分割面に関わるボクセルデータを重複させるようにボクセルデータを分割する。 Upon the data division allocation portion provided in at least one node, according to the calculated resource usage status information of each assignment node, to divide the voxel data in the split ratio and determines a split ratio of voxel data given, the voxel data relating to the division surface to divide the voxel data so as to overlap. 割り当てノードとなる少なくとも二のノードに設けられた演算手段は、割り当てられた分割ボクセルデータに対して分散レンダリング計算を行うとともに、少なくとも分割面近傍においては分散レンダリング処理をデータの重複部分も用いて行う。 Calculating means provided in at least two of the nodes to be allocated node performs distributed rendering calculated for dividing the voxel data allocated performed also using overlapping portions of the data distributed rendering processing in at least split the vicinity . この結果、各割り当てノードにおける分散レンダリング処理を分割面まで行うことができる。 As a result, it is possible to perform the distributed rendering processing in each allocated node to split surface. そして、少なくとも一のノードに設けられた連結手段が、各割り当てノードにおける分散レンダリング計算結果を取得して整合させて一つに連結する。 Then, the connecting means provided on at least one node is connected to one in alignment to obtain the distributed rendering calculation results at each assigned node. このとき、ボクセルデータ分割による分散処理で得られた分散レンダリング処理結果を一つに連結する際に、分割面近傍のレンダリング処理を補う計算処理が伴わずに済む。 At this time, when connected to one distributed rendering processing result obtained by the dispersion treatment by the voxel data split, it is not necessary to calculate processing accompanied compensate for rendering the split near the surface. そして、少なくとも一のノードに設けられた表示制御手段は、連結されたレンダリング計算結果に基づくボリュームレンダリング画像を表示手段に表示する。 The display control means provided in at least one node, displays the volume rendering image based on the concatenated rendered calculation result on the display unit. 従って、計算資源に余力のあるノードがあればその計算資源を有効活用し、複数のノード(計算機)が動的に負荷を分担しながらボリュームレンダリング演算を協調分散処理することで、単一計算機(ノード)では扱うことが難しい大容量データでも高速にボリュームレンダリング処理することが可能となる。 Thus, if a node is more available to the computing resources by effectively utilizing the computing resources, a plurality of nodes (computers) that are concurrent processing volume rendering operation while sharing a dynamic load, a single computer ( it is possible to volume rendering process on a high speed even in a large-capacity data can be difficult to handle in the node).

請求項2に記載の発明は、請求項1に記載の発明において、前記分割面に関わるボクセルデータを重複させるとは、前記分割面近傍における補間計算が可能な量を重複させることをいうことを要旨とする。 The invention according to claim 2, in the invention described in claim 1, wherein the to duplicate voxel data relating to splitting surface, that means that to duplicate the amount capable of interpolation calculation in the dividing plane near the gist.

この発明によれば、各割り当てノードには、補間計算が可能な量を重複させた分割ボクセルデータが割り当てられる。 According to the present invention, each assigned node, divided voxel data obtained by overlapping amount capable interpolation calculation is assigned. このため、各割り当てノードの演算手段が、分割面近傍における補間計算を行うことができる。 Therefore, arithmetic means for each assignment nodes can perform interpolation calculation in the divided surface vicinity.

請求項3に記載の発明は、請求項2に記載のボリュームレンダリング処理システムにおいて、前記補間計算は、グラディエント計算又はボクセル補間値計算であることを要旨とする。 The invention described in claim 3 is the volume rendering processing system according to claim 2, wherein the interpolation calculation is summarized in that a gradient calculation or voxel interpolation calculation.

この発明によれば、請求項2に記載の発明の作用に加え、各割り当てノードは、分割ボクセルデータの分割面近傍におけるグラディエント計算又はボクセル補間値計算が可能となる。 According to the invention, in addition to the function of the invention as set forth in claim 2, each assignment node, it is possible to gradient calculation or voxel interpolation calculation in the divided surface vicinity of the divided voxel data.

請求項4に記載の発明は、請求項1〜3のいずれか一項に記載のボリュームレンダリング処理システムにおいて、前記分割ボクセルデータに対する計算負荷を、前記分割ボクセルデータの割り当て先の各ノードの計算資源使用状況情報に応じた分割割合で分割する計算分割割当部を更に備え、前記負荷割当手段は、前記計算分割当部が分割した計算負荷を前記割り当て先の各ノードに割り当てることを要旨とする。 Invention according to claim 4, in the volume rendering processing system according to any one of claims 1 to 3, the computational load on the divided voxel data, computational resources of each node is assigned the divided voxel data further comprising a calculating division assignment unit to divide by the division ratio corresponding to the usage status information, the load allocation means summarized in that assigning the calculated amount assignment unit computational load is divided to each node of the allocation destination.

この発明によれば、請求項1〜3のいずれか一項に記載の発明の作用に加え、計算分割割当部は、分割ボクセルデータの割り当て先の各割り当てノードにおける計算負荷を、計算資源状況使用情報に応じた分割割合で分割する。 According to the invention, in addition to the function of the invention according to any one of claims 1 to 3, calculating division allocation unit, the computational load on each allocated node of the assigned division voxel data, computing resources situation using dividing division ratio corresponding to the information. 負荷割当手段は、計算分割割当部が分割した分割レンダリング計算を各割り当てノードに割り当てる。 Load allocation means allocates the divided rendering calculations calculating division assignment unit is divided into allocation node. よって、複数のノードに同じ分割ボクセルデータが割り当てられ、各ノード間で分割ボクセルデータに対するレンダリング計算が分散処理で行われる。 Therefore, the same divided voxel data is assigned to a plurality of nodes, rendering calculation for dividing the voxel data between nodes is performed in distributed processing.

請求項5に記載の発明は、請求項1〜3のいずれか一項に記載のボリュームレンダリング処理システムにおけるノードを構成する計算機であって、前記ノード割当手段、前記データ分割割当部及び前記負荷割当手段を備えたことを要旨とする。 Invention of claim 5, a computer constituting the nodes in the volume rendering processing system according to claim 1, wherein the node assignment unit, wherein the data division allocation unit and the load allocation and summarized in that it comprises means.

この発明によれば、計算機(コンピュータ)は、ノード割当手段、データ分割割当部及び負荷割当手段を備えるので、この計算機を、ボリュームレンダリング処理システムに用いることで、請求項1〜6のいずれか一項に記載の発明と同様の作用効果が得られる。 According to the present invention, a computer (computer) node assignment unit, since a data division allocation unit and the load allocating means, the computer, by using the volume rendering processing system, one of the claims 1 to 6 one the same effect as the invention described in claim is obtained.

請求項6に記載の発明は、複数のノードによって構築されるコンピュータネットワークを用いて、少なくとも二のノードが、三次元以上のボクセルデータに施すべきボリュームレンダリング処理を分散処理で実行するボリュームレンダリング処理システムにおける前記ノードの機能をコンピュータに実現させるプログラムであって、コンピュータを、各ノードの計算余力とメモリ空き状況に係る計算資源使用状況情報に基づき分散処理を割り当て可能な余力のある少なくとも二のノードを割り当てるノード割当手段と、与えられたボクセルデータを、前記各割り当てノードの計算資源使用状況情報に応じた分割割合で、かつ分割面に関わるボクセルデータを重複させるように複数の分割ボクセルデータに分割するデータ分割割当部と、前記分 The invention described in claim 6, using a computer network constructed by a plurality of nodes, at least two nodes, volume rendering processing system for performing volume rendering processing to be performed on three-dimensional or more voxel data distributed processing the function of the node a program for realizing on a computer in a computer, at least two of the nodes with allocable surplus distributed processing based on the computational resource use status information according to the calculated reserve capacity and memory availability of each node a node assignment means for assigning, the voxel data given, divides the splitting rate corresponding to computing resources usage information for each assignment nodes, and a plurality of divided voxel data so as to overlap the voxel data relating to the division surface a data dividing allocation unit, the component ボクセルデータを動的に前記各割り当てノードに割り当てる負荷割当手段と、割り当てられた分割ボクセルデータに対して分散レンダリング処理を行うとともに、少なくとも分割面近傍における分散レンダリング処理の補間計算を前記データの重複部分を用いて行う演算手段と、前記各割り当てノードにおける分散レンダリング処理結果を取得して一つに整合させて連結する連結手段と、前記連結されたレンダリング処理結果に基づくボリュームレンダリング画像を表示手段に表示する表示制御手段、として機能させるプログラムであることを要旨とする。 A load allocation means for allocating dynamically the respective assigned node voxel data, performs a distributed rendering processing on the divided voxel data allocated, overlapping portions of the data interpolation calculation of a distributed rendering processing in at least split the vicinity calculating means for performing with a connecting means for connecting in alignment to one to get a distributed rendering processing results in said respective allocated nodes, displaying a volume rendering image based on the concatenated rendering result on the display unit and summarized in that a display control means, a program to function as the.

この発明によれば、プログラムをコンピュータに実行させることにより、請求項1に記載のボリュームレンダリング処理システムを構成するノードとして機能させることができ、このノードでシステムを構築することにより、請求項1に記載の発明と同様の作用効果が得られる。 According to the present invention, by causing a computer to execute a program, it can be made to function as a node constituting the volume rendering processing system according to claim 1, by constructing the system in this node, in claim 1 the same effect as the invention described can be obtained.

請求項7に記載の発明は、請求項6に記載のプログラムにおいて、前記分割面に関わるボクセルデータを重複させるとは、補間計算が可能な量を重複させることをいうことを要旨とする。 The invention described in claim 7 is the program according to claim 6, wherein the to duplicate voxel data relating to splitting plane, and summarized in that means that to duplicate the amount capable of interpolation calculation.

この発明によれば、プログラムをコンピュータに実行させることにより、請求項2に記載のボリュームレンダリング処理システムを構成するノードとして機能させることができ、このノードでシステムを構築することにより、請求項2に記載の発明と同様の作用効果が得られる。 According to the present invention, by causing a computer to execute a program, it can be made to function as a node constituting the volume rendering processing system according to claim 2, by building the system in this node, in claim 2 the same effect as the invention described can be obtained.

請求項8に記載の発明は、請求項7に記載のプログラムにおいて、前記補間計算は、グラディエント計算又はボクセル補間値計算であることを要旨とする。 The invention according to claim 8, in the program according to claim 7, wherein the interpolation calculation is summarized in that a gradient calculation or voxel interpolation calculation.
この発明によれば、プログラムをコンピュータに実行させることにより、請求項3に記載のボリュームレンダリング処理システムを構成するノードとして機能させることができ、このノードでシステムを構築することにより、請求項3に記載の発明と同様の作用効果が得られる。 According to the present invention, by causing a computer to execute a program, it can be made to function as a node constituting the volume rendering processing system according to claim 3, by constructing the system in this node, in claim 3 the same effect as the invention described can be obtained.

請求項9に記載の発明は、請求項6〜8のいずれか一項に記載のプログラムであって、前記分割ボクセルデータに対する計算負荷を、前記分割ボクセルデータの割り当て先の各ノードの計算資源使用状況情報に応じた分割割合で分割する計算分割割当部としてもコンピュータを機能させ、前記負荷割当手段は、前記計算分割割当部が分割した計算負荷を前記各割り当て先の各ノードに割り当てることを要旨とする。 The invention described in claim 9, a program according to any one of claims 6-8, the computational load on the divided voxel data, computational resources used for each node is assigned the divided voxel data also cause the computer to function as a calculating division assignment unit to divide by the division ratio corresponding to the status information, the load allocation means gist assigning the calculated division assignment unit computational load is divided to each node of each allocation destination to.

この発明によれば、プログラムをコンピュータに実行させることにより、請求項4に記載のボリュームレンダリング処理システムを構成するノードとして機能させることができ、このノードでシステムを構築することにより、請求項4に記載の発明と同様の作用効果を得ることができる。 According to the present invention, by causing a computer to execute a program, it can be made to function as a node constituting the volume rendering processing system according to claim 4, by constructing the system in this node, in claim 4 it is possible to obtain the same effect as the invention described.

請求項10に記載の発明は、複数のノードによって構築されるコンピュータネットワークを用いて、三次元以上のボクセルデータに対して少なくとも二のノードが分散処理でボリュームレンダリング処理を施すボリュームレンダリング処理方法であって、前記複数のノードのうち少なくとも一のノード割当手段が、各ノードの計算余力及びメモリ空き状況に係る計算資源使用状況情報に基づいて分散処理可能な余力のある少なくとも二のノードを割り当てる段階と、少なくとも一のノードのデータ分割割当部が、与えられたボクセルデータを、各割り当てノードの計算資源使用状況情報に応じた分割割合で、かつ分割面に関わるボクセルデータを重複させるように複数の分割ボクセルデータに分割する段階と、少なくとも一のノードの負荷割 The invention according to claim 10, using a computer network constructed by a plurality of nodes, there at least volume rendering processing method and second node executes volume rendering processing by distributed processing for three-dimensional or more voxel data Te, at least one node assignment unit among the plurality of nodes, the steps of allocating at least two of the nodes with distributed processing possible margin based on the calculated resource usage information according to the calculated reserve capacity and memory availability of each node data dividing assignment of at least one node, voxel data given, a splitting rate corresponding to computing resources usage information for each assignment nodes, and a plurality of divided so as to overlap the voxel data relating to the division surface a step of dividing the voxel data, the load split of at least one node 手段が、前記分割ボクセルデータを動的に前記各割り当てノードに割り当てる段階と、前記割り当てノードの演算手段が、割り当てられた分割ボクセルデータに対して分散レンダリング処理を行うとともに、少なくとも分割面近傍における分散レンダリング処理の補間計算を前記データの重複部分を用いて行う段階と、少なくとも一のノードの連結手段が、前記各割り当てノードにおける分散レンダリング処理結果を取得して一つに整合させて連結する段階と、少なくとも一の表示制御部が、前記連結されたレンダリング処理結果に基づくボリュームレンダリング画像を表示手段に表示する段階とを備えたことを要旨とする。 Means, the steps of allocating dynamically each allocated node the divided voxel data, calculation means of the assignment nodes, performs distributed rendering processing on the divided voxel data allocated, dispersed in at least split the vicinity and performing an interpolation calculation of the rendering process with the overlapping portions of the data, the steps connecting means of at least one node, which connects in alignment to one to get a distributed rendering processing results in said respective allocated nodes at least one display control section, and summarized in that and a step of displaying a volume rendering image based on the concatenated rendering result on the display unit.

この発明によれば、請求項1に記載のシステムの発明と同様の作用効果が得られる。 According to the present invention, the same effect as the invention of a system according to claim 1 is obtained.

請求項1〜10に記載の発明によれば、ボクセルデータを分割して複数のノードに割り当てて分散処理を行う場合に、ボクセルデータを分割面に関わるボクセルデータを重複させるように分割し、分割面近傍でも補間計算が可能となるように分割データに冗長性を持たせるので、各割り当てノードにおける分散レンダリング処理を分割面まで行うことができる。 According to the invention described in claims 1 to 10, when performing the distributed processing assigned to the plurality of nodes by dividing the voxel data is divided so as to overlap the voxel data concerning the voxel data split surface, divided since also redundancy in the divided data so as to allow interpolation calculation in terms vicinity, it is possible to perform the distributed rendering processing in each allocated node to split surface. よって、ボクセルデータ分割による分散処理で得られた分散レンダリング処理結果を一つに連結する際に、分割面近傍のレンダリング処理を補う計算処理が伴わずに済み、高コストパフォーマンスを満たす単一計算機では扱うことが難しい大容量ボクセルデータでも高速にボリュームレンダリング処理することができる。 Therefore, upon coupling to one distributed rendering processing result obtained by the dispersion treatment by the voxel data split, requires no calculation process is accompanied compensate for rendering the split surface vicinity, a single computer that meets the high cost performance it is possible that the volume rendering processing on high-speed even in difficult large-capacity voxel data to be handled.

以下、本発明を具体化した一実施形態を図1〜図15に従って説明する。 Hereinafter, an embodiment embodying the present invention with reference to FIGS. 1 to 15.
図1に示すボリュームレンダリング協調分散処理システム1は、例えば病院内に配備されている。 Volume rendering concurrent processing system 1 shown in FIG. 1 is deployed for example within a hospital. 病院内の複数箇所には、CT,MRIなどの医療画像を見るための複数台(ここでは3台)の画像処理システムA,B,Cが設置されている。 The plurality of locations in the hospital, CT, an image processing system A of a plurality of for viewing medical images such as MRI (3 units in this case), B, C is provided. これらの画像処理システムA,B,Cが医療画像データ(ボクセルデータ)を記憶(蓄積)するサーバー(ストレージサーバー)2と通信線を介して接続され、コンピュータネットワークとしての院内ネットワーク(LAN))が構築されている。 These image processing system A, B, C are connected via the server (storage server) 2 and the communication line for storing medical image data (voxel data) (storage), in-house network as a computer network (LAN)) is It has been constructed.

画像処理システムA,B,Cは、コンピュータ(例えばワークステーション)によって構成されており、計算機(ノード)としてのコンピュータ本体3、表示装置4および入力装置5をそれぞれ備えている。 Image processing system A, B, C is constituted by a computer (e.g. a workstation), a computer main body 3 as a computer (node), the display device 4 and input device 5, respectively. ストレージサーバー2には、CT,MRIなど医療画像診断機器で撮影された医療画像データ(ボクセルデータ)が蓄積されている。 The storage server 2, CT, medical image data photographed by a medical image diagnostic equipment such as MRI (voxel data) are accumulated. 医師は画像処理システムA,B,Cの画面を通してストレージサーバー2に蓄積された例えば患者の医療画像を見ることができる。 Physician can see the image processing system A, B, the medical image of the stored eg patient through C screen to the storage server 2.

医療画像データ(ボクセルデータ)は、CT,MRIなど医療画像診断機器の発達による測定分解能の向上とともに、そのデータ容量が増大している。 Medical image data (voxel data), CT, with the improvement of the measurement resolution by the development of a medical image diagnostic equipment such as MRI, the data capacity is increased. 医療画像データのデータ容量増大の要因として診断機器の空間分解能及び時間分解能の向上が挙げられる。 Improvement of the spatial and temporal resolution of the diagnostic equipment as a factor of data capacity increase of the medical image data and the like. 空間分解能向上としては、(1)XY軸方向:現在は1スライスの解像度は51 2×512が主流であるが、いずれ1024×1024になると言われている、(2)Z軸方向:1スライスの厚さが薄くなることで、物体を構成するスライス枚数が従来よりも多くなる、などがある。 The spatial resolution enhancement, (1) XY axis: current is 1 slice resolution is 51 2 × 512 is the mainstream, is said to be either 1024 × 1024, (2) Z-axis: 1 slice by the thickness of the is reduced, the number of slices constituting the object is larger than the conventional, and the like. また時間分解能向上としては、(1)マルチスライスCTという技術により、単位時間内で撮影できるスライス枚数が増えているため、短時間でより多くのスライス画像を得ることができる、(2)(1)と撮影時間の短縮により、心臓の拍動など器官の動きを3次元で撮影することが容易になりつつある、などがある。 Also as time resolution improves, by a technique called (1) multi-slice CT, since the increased number of slices that can be taken by a unit time, it can be obtained more slice images in a short time, (2) (1 ) and the shortening of the imaging time is becoming easier to shoot a three-dimensional motion of an organ such as the beating of the heart, and the like.

医療画像データ(ボクセルデータ)を表示装置4の画面で見るときの画像処理にはボリュームレンダリング処理が行われる。 The image processing when viewing the medical image data (voxel data) on the screen of the display device 4 is volume rendering processing is performed. リアルタイムでデータ本来の分解能を反映させながらデータを間引かずにボリュームレンダリング処理を行うために、複数の計算機で分散処理を行う。 To perform the volume rendering process without thinning the data while reflecting the data inherent resolution in real-time, it performs the distributed processing by a plurality of computers. 各計算機3は計算資源に余裕がある場合、別計算機3のプロセスに計算資源を提供することができるため、ユーザーが直接使用していない場合にも計算資源が有効に活用される。 If the computer 3 can afford the computational resources, it is possible to provide computing resources to another computer 3 process, the user can also compute resources when not in use directly be effectively utilized. また、冗長性を持たせることによる高可用性を実現する。 Moreover, high availability due to redundancy.

ここで、「ボリュームレンダリング」とは、ボリュームデータ(volume data,vo lumetric data)を2次元(2D)画像に表示する方法である。 Here, the "volume rendering", a method of displaying the volume data (volume data, vo lumetric data) in two-dimensional (2D) images. 視点位置から視線方向に向かってレイキャスティングを行い、画像を生成する。 It performs ray casting toward the viewing direction from the viewpoint position to produce an image. 通常ボリュームデータは、3次元物体をサンプリングした三次元ボクセルデータを指すことが多いが、本実施形態ではボクセルデータの次元を3次元に限定しない。 Normal volume data, it often refers to three-dimensional voxel data sampled three-dimensional objects, not limited to the three-dimensional dimensions of the voxel data in the present embodiment. 特に3次元と4次元のボクセルデータ(空間軸3+時間軸1)を想定している。 In particular 3-D and 4-D voxel data is assumed (spatial axes 3+ time axis 1). 一般的に用いられる4Dボクセルデータは、3Dボクセルデータを時系列にしたものである。 Generally 4D voxel data used are those in which the 3D voxel data in time series. 従って、4Dボクセルデータに対するボリュームレンダリング処理は、一般にはアニメーション(3Dボクセルデータに対するボリュームレンダリングを時系列に従って高速に行う)を指す場合が多い。 Therefore, the volume rendering process on the 4D voxel data is generally often refer to animation (at high speed in chronological volume rendering for 3D voxel data). ボクセルデータの次元としては、3次元と4次元に留まらず、さらに5次元以上であっても構わない。 The dimensions of the voxel data, not only to the three-dimensional and four-dimensional, but may be more 5 or more dimensions. 4Dデータのアニメーション処理は、多次元ボリュームレンダリング処理の視点から見ると、n次元データの異なる(n−1)次元断面を高速に次々表示する処理に対応する。 Animation processing of 4D data, from the perspective of a multi-dimensional volume rendering processing corresponds to the processing sequentially displaying different n-dimensional data (n-1) dimensional cross-section at high speed. また「ボクセルデータ」とは、3次元以上の離散的な配列データであって、2D配列データのピクセルデータに対応するものである。 Also the "voxel data" is a discrete sequence data of three or more dimensions, it corresponds to the pixel data of the 2D array data.

ボリュームレンダリングの種類としては、各ボクセルに不透明度を設定してレイキャスティングを行う方法(一般にボリュームレンダリングはこれを指す場合が多い)、MIP(Maximum Intensity Projection), Min IP(Minimum Intensity Projection)、RaySum等が挙げられる。 The types of volume rendering, a method of performing ray casting by setting the opacity to each voxel (in general volume rendering often refer to this), MIP (Maximum Intensity Projection), Min IP (Minimum Intensity Projection), RaySum etc. the.

また、応用範囲は多岐に渡り、使用するデータがボクセルデータであればデータ取得方法には特によらない。 The application range is wide-ranging, not particularly depend on the data acquisition method if the data to be used is a voxel data. 例えば、医療分野の他、顕微鏡解析、気象解析、地質調査(石油探査など)、非破壊検査などが挙げられる。 For example, other medical fields, microscopic analysis, meteorological analysis, (such as oil exploration) Geological survey, like non-destructive testing. なお、5次元以上のボクセルデータには、例えば分子間力の解析(結合角)などが挙げられる。 Note that 5 or more dimensions of the voxel data, for example, analysis of the intermolecular force (bond angle), and the like.

本システム1の特徴は、ボクセルデータのストレージ(保管)を行うストレージサーバー2と、ボリュームレンダリング処理・表示を行う画像処理システムA,B,Cとに分けた点にある。 Features of the present system 1 is a storage server 2 to perform the storage (storage) of the voxel data, the image processing system A to perform the volume rendering processing and display, B, in that divided into the C. 複数台の画像処理システムA,B,Cは互いに協調して計算を行い、互いに対等な関係にある。 The image processing system A of multiple, B, C performs calculations in cooperation with each other, are in equal relationship to each other. 従来技術で述べた図17,18の手法において計算資源を提供する計算機が一台であるのに対し、本実施形態による新規手法では計算資源を複数台の計算機3が提供する。 While providing computing resources in a manner of 17 and 18 described in the prior art computer is single, the novel procedure according to the present embodiment the computing resources plurality of computers 3 provides. 各計算機3には、協調分散処理対応の同一のプログラムがそれぞれインストールされている。 Each computer 3, concurrent processing correspondence of the same program is installed, respectively.

図1に括弧( )で示した数字は、ボリュームレンダリング協調分散処理の流れを示すものである。 The numbers indicated in parentheses () in Fig. 1 shows a flow of volume rendering concurrent processing. 以下、処理の手順について順に説明する。 Hereinafter, a description is given of the procedure of processing in order. なお、医師(ユーザー)が画面上で医療画像を見るために入力装置5が操作される画像処理システムが「メイン」となる。 The image processing system doctor (the user) is the input device 5 is operated to view the medical image on the screen is "Main". ここでは画像処理システムAをメインとする。 Here, the main image processing system A.

(1) データリスト要求メインの画像処理システムの入力装置5を操作して医療画像を選択するためのデータリストをストレージサーバー2に対して要求する。 (1) by operating the input device 5 of the data list request main image processing system requests a data list for selecting the medical image to the storage server 2.

(2) データリスト取得上記データリスト要求に応答してストレージサーバー2から送られてくるデータリストを取得する。 (2) acquiring the data list sent from the storage server 2 in response to a data list obtaining the data list request.

(3) ノード割り当て データリスト取得によって画像表示の指示が予想されると、メインとなる画像処理システムAは、ネットワーク上の他の画像処理システムの計算資源利用状況を確認する。 (3) when an instruction to node assignment image displayed by the data list acquisition is expected, the image processing system A to be the main confirms the calculated resource usage status of another image processing system on the network. この計算資源利用状況確認のため本実施形態では、その情報としてメモリ空き容量およびCPU使用率を取得する。 In this embodiment for this calculation resource usage status confirmation, it acquires the available memory and CPU usage as that information. そしてCPU使用率から例えばCPU余力(=(1−CPU使用率)×CPUクロック周波数)を求める。 And obtaining, for example, CPU reserve capacity from the CPU use rate (= (1-CPU usage) × CPU clock frequency). そしてCPU余力とメモリ空き容量とを基に処理能力(計算資源)上の余力が必要量ある他ノードの存在の有無を判断し、該当する他ノードが存在すればそれを分散処理に加わる画像処理システムとして決定する。 The image processing to determine the presence or absence of another node that reserve capacity on the processing based on the CPU reserve capacity and memory space capacity (computing resources) it is the amount necessary, applied if it exists corresponding other nodes in the distributed processing It is determined as a system. つまりメインノード3と共に分散処理に加わるサブノード3をその余力(処理能力の空き)に応じて決定し、分散処理を担当する各ノードを割り当てる。 That determined according subnodes 3 applied to distributed processing with the main node 3 to the reserve capacity (empty capacity) assigned to each node in charge of distributed processing.

ここで、CPU余力とは、上記計算式からCPU使用率を用いて算出されたものに限定されず、CPUの種類・性能の違いの要素を考慮して決定されるものであってもよい。 Here, the CPU reserve capacity, not limited to those calculated by using the CPU utilization from the above equation, or may be determined in consideration of the elements of the differences in type and performance of the CPU. またノード割り当て前などにベンチマークを行い、各ノードの処理能力(又は余力)を計測する方法を採用しても構わない。 Also performed benchmark like the previous node allocation, may be adopted a method of measuring the processing power of each node (or margin). さらにCPU性能やメモリ性能の違いを考慮してCPU余力とメモリ空き容量とから決まるトータルパフォーマンスを考慮して計算資源の余力を決める方法を採用することも可能である。 It is also possible to adopt a further method in consideration of the difference in CPU performance and memory performance determine the reserve capacity of the computational resources in view of the total performance determined by the CPU reserve capacity and memory space. 同図では、画像処理システムAの他、画像処理システムB,Cが協調分散処理のノードとして選択されている。 In the drawing, another image processing system A, an image processing system B, C is selected as the node for concurrent processing. なお、本実施形態では、各ノード3からメモリ使用率の情報を通信で取得し、メモリ空き容量(=(1−メモリ使用率)×メモリ容量)を求めている。 In the present embodiment, it is taken from the node 3 information memory usage in communication, seeking memory space (= (1-memory usage) × memory capacity). 特に本実施形態では全てのノード3のメモリが同一性能(種類)・同一容量であることから、メモリ空き容量をメモリ空き率(=1−メモリ使用率)から判断している。 Especially since the memory of all the nodes 3 in the present embodiment are the same performance (type) and the same volume, and to determine the available memory space from the memory free rate (= 1-memory usage). もちろん、メモリ使用率そのものからメモリ空き容量を判断してもよい。 Of course, it may be determined memory space from the memory usage itself.

メインとなる画像処理システムA(メインノード3)は、他の画像処理システムB,C(サブノード3)の動作状況を確認しながら各々の処理能力に応じて、協調分散処理を担当する各画像処理システムA,B,C(各割り当てノード3)のそれぞれに割り当てるべきデータ負荷と計算負荷の分担割合を決める。 A main image processing system A (main node 3) in response to each of the processing capacity while checking the other image processing system B, and the operation status of the C (subnode 3), each image processing in charge of the concurrent processing system a, B, determines the C respectively share ratio data load and computation load to allocate the (each assigned node 3). つまり、各ノード3のその時々の処理能力に応じて割り当て負荷を決める動的負荷割り当てを行う。 That is, it performs dynamic load allocation determining the allocation load according to prevailing processing power of each node 3. なお、メインノードはユーザーに使用されている表示対象指定元のノードであり、サブノードはユーザーが利用しておらずその計算資源の空きを利用して分散処理が行われるノードである。 The main nodes are displayed designated source node being used for user subnode is a node distributed processing by using the idle of the computational resources not utilizing user is performed.

動的負荷割り当ての手法として、本実施形態では、データコピーモード、データ分割モード、混合モードの3モードが用意されている。 As a method of dynamic load assignment, in the present embodiment, data copy mode, the data division mode, third mode mixing mode are prepared. データ分割モードあるいは混合モードの場合では、単にノードを割り当てるだけでなく、さらに各ノードに対するボクセルデータの分割割合を決定する。 In the case of data division mode or mixed mode, not only assigning the node further determines the division ratio of the voxel data for each node. 以下、これら3モードについて詳しく説明する。 The following describes these three modes in detail.

(a) 「データコピーモード」では、ボクセルデータの容量がそれほど大きくなければ全ての計算機(ノード)3にボリュームレンダリングの対象となるボクセルデータを分割せずまるごとコピーする。 (A) In the "data copy mode" and whole copy without dividing the voxel data to be volume rendering on all the computers (nodes) 3 to be greater capacity of the voxel data so. 単一計算機による処理性能の限界を突破することを目的とする。 And an object thereof is to break through the limitations of the processing performance by a single computer. しかし、後述する(b) のモードに比べ扱えるボクセルデータの容量が制限される。 However, the capacity of the voxel data that can be handled compared to mode described below (b) is restricted.

(b) 「データ分割モード」では、ボクセルデータの容量が大きい場合、ボリュームレンダリングの対象となるボクセルデータを分割し、各計算ノードに割り当てる。 (B) In the "data division mode", when the capacity of the voxel data is large, divide the voxel data to be volume rendering, allocated to each computing node. 単一計算機による処理容量の限界を突破することを目的とする。 And an object thereof is to break through the limitation of processing capacity by a single computer. しかし、処理速度は(a) のモードに比べ多少遅くなる。 However, the processing speed is somewhat slower than in the mode of (a).

(c) 「混合モード」とは、上記(a), (b) 両方の特徴を持つモードである。 The (c) "mixed mode", the (a), a mode having characteristics of both (b). 例えばボクセルデータを2つに分割し、それぞれ2つの分割データコピーを用いれば、4台の計算機(ノード)3がボリュームレンダリング処理を行う。 For example dividing the voxel data into two, the use of the two divided data copy each, four computers (nodes) 3 performs the volume rendering process. この場合、データ(メモリ負荷)と計算処理(計算負荷)の両方が分割され、2データ分割×2データコピーによって4台の計算機(ノード)3に負荷が割り当てられる。 In this case, both data (memory load) and calculation processing (calculation load) is divided, the load is assigned to second data divided × 2 data copied by four computers (nodes) 3.

(4) データ選択 データ分割モード、混合モードの場合は、上記(3) で決定したボクセルデータの割り当ての情報も転送される。 (4) Data selection data split mode, mixed mode, also information of allocation of voxel data determined in (3) is transferred. サーバー2は割り当ての情報を解釈し、ボクセルデータの分割転送を行う機能を持っている。 Server 2 has a function of interpreting the information of the assignment, it performs a division transfer of voxel data.

(5) データ転送・メモリ読み込み データコピーモードでは、全ての割り当てノード3にボクセルデータ全体を転送する。 (5) In the data transfer memory read data copy mode, to transfer the entire voxel data to all assignment nodes 3. データ分割モードでは、分割したボクセルデータを対応する各ノード3に転送する。 The data division mode, and transfers the divided voxel data corresponding to each node 3. このモードでは、各ノード3に割り当てられる分割データがそれぞれ異なる。 In this mode, the divided data assigned to each node 3 are different. 混合モードでは、分割したボクセルデータを対応する各ノード3に転送するが、複数のノード3に同じ分割データが重複して割り当てられる。 In a mixed mode, and transfers to the node 3 to the corresponding divided voxel data, the same divided data to a plurality of nodes 3 are assigned duplicate.

(6) 分散ボリュームレンダリング処理要求 前記(3) で割り当てたノード3に対し前記(4) で決定したモードに応じて割り当てた動的負荷の計算を行わせる分散ボリュームレンダリング処理を要求する。 (6) requests the distributed volume rendering processing request the (3) in (4) at the determined mode dispersion volume rendering process to perform the calculation of the allocated dynamic load depending on the relative node 3 assigned.

(7) 分散ボリュームレンダリング処理 各ノード3において分散ボリュームレンダリング処理が実行される。 (7) distributed volume rendering process is performed in a distributed volume rendering processing nodes 3.
(8) 処理結果転送 各サブノード3で行われた分散ボリュームレンダリング処理の処理結果がメインノード3に転送される。 (8) the processing result transfer process results in the distributed volume rendering process performed by each subnode 3 is transferred to the main node 3.

(9) 分散処理結果の連結 各ノードから転送された分散ボリュームレンダリング処理の処理結果を連結する処理が行われる。 (9) the process for connecting the connecting processing result of the distributed volume rendering process transferred from each node of the distributed processing results is performed.

(10)表示 前記(9) で連結された処理結果に基づいて画像データを生成し、表示装置4の画面に表示させる。 (10) Display the generated image data based on the concatenated processing result in (9), is displayed on the screen of the display device 4.

(6) 〜(10)の処理がループで行われる。 (6) Processing to (10) are carried out in a loop. ボクセルデータの割り当ては処理開始時の他、各画像処理システムA,B,Cの利用状況が変わった場合に実行される。 Other beginning allocation of voxel data processing, is executed when the image processing system A, B, and usage C has changed.
図2は、ボリュームレンダリング協調分散処理システムの機能ブロック図を示す。 Figure 2 shows a functional block diagram of a volume rendering concurrent processing system. 計算機3には、CPU、メモリ及びプログラムによって、同図に示す各機能部10〜13が構築されている。 The computer 3, CPU, by a memory and a program, each function unit 10 to 13 shown in the figure are constructed. すなわち、要求処理部10、割当処理部11、分散ボリュームレンダリング処理部12およびデータ連結処理部13を備えている。 That is, the request processing section 10, allocation processing section 11, and a distributed volume rendering processor 12 and a data link unit 13. またメモリにより構成されるボクセルデータ格納部14および画像メモリ15が備えられている。 The voxel data storage unit 14 and the image memory 15 is provided constituted by a memory. また画像メモリ15に格納された画像データを基に表示装置4の画面に画像を表示させる表示制御部16が備えられている。 The display control unit 16 to display an image based on the image data stored in the image memory 15 on the screen of the display device 4 is provided. なお、要求処理部10により要求手段が構成される。 Incidentally, the request means constituted by the request processing unit 10.

割当処理部11は、ノード割当部17と負荷割当部18とから構成されている。 Assignment processing section 11 is configured from the node allocation unit 17 and the load allocation unit 18.. 負荷割当部18はさらにモード決定部19、データ分割割当部20および計算分割割当部21を備えている。 Load allocation unit 18 further mode determining section 19, a data division allocation unit 20 and the calculating division assignment unit 21. 割当処理部11は他のノード3との通信によって他のノード3のCPU使用率およびメモリ空き容量を含む計算資源利用状況情報を取得する。 Assignment processing section 11 acquires the computed resource usage status information including CPU usage and memory space of the other nodes 3 through communication with the other nodes 3.

要求処理部10は、入力装置5の操作によりデータリスト要求を受け付けると、ストレージサーバー2に対しデータリストを要求し、データリストを取得すると、表示制御部16を介して表示装置4の画面上にリストを表示させる。 Request processing unit 10 accepts the data list request by operating the input device 5, requesting data list to the storage server 2 acquires the data list, on the screen of the display device 4 through the display control unit 16 to display the list. リストデータにはその一覧中の医療画像に関するボクセルデータのデータ容量を示す情報が含まれている。 The list data includes information indicating the data capacity of the voxel data relates to a medical image in the list. 画面上に表示されたリスト中からユーザー(医師)が入力装置5を操作して例えば患者の医療画像(例えば心臓CT画像等)を選択すると、要求処理部10は、リストから選択指定された医療画像のボクセルデータをストレージサーバー2に対し要求する処理を行う。 When a user from the list displayed on the screen (doctor) to select a by operating the input device 5, for example a patient's medical image (e.g. cardiac CT image or the like), the request processing unit 10 has been selected and designated from the list medical It performs a process of requesting the voxel data of the image to the storage server 2. このボクセルデータ要求処理に先立ち要求処理部10はリストから選ばれた医療画像に関するボクセルデータのデータ量情報を割当処理部11に送る。 Request processing unit 10 prior to the voxel data request process sends the data amount information of the voxel data to a medical image selected from the list to the allocation processing section 11. そして割当処理部11では、ノード割当部17がボクセルデータ量情報に基づき協調分散処理の必要性判断を行い、協調分散処理が必要と判断したときには、ノード割り当てが可能であるかどうかを判断する。 And the assignment processing section 11 performs the node allocation unit 17 need determination concurrent process based on the voxel data amount information, when the concurrent processing is determined to be necessary, determines whether it is possible to node assignment. そしてノード割当部17は、協調分散処理必要かつノード割り当て可能である場合、ボクセルデータ量情報と各ノード3における計算資源利用状況情報(CPU使用率、メモリ空き容量)とに基づき、協調分散処理を担当するノードを割り当てるノード割当処理を実行し、割り当てノードを決定する。 The node assignment unit 17, if a concurrent processing necessary and nodes can be allocated, computed resource usage status information in the voxel data amount information and the node 3 (CPU usage, memory space) based on the, the concurrent processing run the node assignment process of assigning the responsible node, determines the allocation node. また割り当てノードが決定すると、次に負荷割当部18が各ノード3に対して負荷(データ負荷・計算負荷)を割り当てる負荷割当処理が実行され、各ノード3に対する負荷割り当て(データ負荷割当・計算負荷割当)を決定する。 Also the assignment node decides, then the load allocation unit 18 load allocation process is performed to assign load (data load and computation load) for each node 3, the load allocation (data load allocation and computational load for each node 3 allocation) to determine. ノード割り当て・負荷割り当ての決定情報は要求処理部10に渡され、要求処理部10はこれらの情報を付してストレージサーバー2に対しボクセルデータ要求を出す。 Determining information of the node allocation and load allocation is passed to the request processing unit 10, the request processing section 10 to the storage server 2 are denoted by the information issues a voxel data request. このように要求処理部10は、図1における「(1) データリスト選択」および「(4) データ選択」を司る。 Thus request processing unit 10 is responsible for "(1) Data list selection" and "(4) Data Selection" in FIG.

ノード割当部17は、他の計算機(ノード)から通信によって入手した他の各計算機3のCPU使用率およびメモリ空き容量の情報に基づき協調分散処理を行うノードを割り当てる。 Node assignment unit 17 assigns a node that performs concurrent processing based on other computers (nodes) from another CPU usage and memory space information of each computer 3, obtained by communication. ノード割当部17は、図1における「(3) ノード割り当て」を司る。 Node assignment unit 17 is responsible for "(3) Node Assignment" in FIG.

負荷割当部18は、協調分散処理のため選択された各ノードに対しリストから指定されたボクセルデータの容量や計算負荷(表示条件等から決まる計算負荷)に応じて、各ノード3のCPU使用率およびメモリ空き容量を考慮しつつ各ノード毎のデータ負荷および計算負荷を割り当てる。 Load allocation unit 18, in response to concurrent capacity and computational load of the voxel data specified from the list for each node selected for processing (calculation load determined from the display conditions, etc.), CPU usage rate of each node 3 and taking into account the available memory space allocated to data load and computation load for each node. すなわちモード決定部19が動的負荷割り当て手法の違いによって3モードで設定された、「データコピーモード」、「データ分割モード」、「混合モード」のうちいずれを採用するかを決定する。 That mode determining portion 19 is configured in three modes by a difference in dynamic load allocation method, "data copy mode", the "data division mode" to determine whether to employ any of the "mixed mode".

データ分割割当部20は、データ分割モードまたは混合モードにおいてボクセルデータの分割割合を決定する。 Data division assignment unit 20 determines the division ratio of the voxel data in the data division mode or mixed mode. また計算分割割当部21は、データコピーモードまたは混合モードにおいて計算負荷分割処理を行う。 The calculation division assignment unit 21 performs computational load division processing in a data copy mode or mixed mode. 混合モードでは、データ分割割当部20と計算分割割当部21との協働によって、データ分割処理と計算負荷分割処理が行われる。 In mixed mode, by calculating division assignment unit 21 in cooperation with the data division allocation unit 20, the data dividing processing and computational load sharing processing is performed. また、要求処理部10は割り当てノード3に対して割り当て負荷内容を指示する分散ボリュームレンダリング処理要求を行う。 The request processing unit 10 performs distributed volume rendering processing request that instructs the allocation load content to assigned node 3.

ストレージサーバー2は、指定されたボクセルデータを必要に応じて指示に従い分割して割り当て先の各ノード3に転送する。 Storage server 2 transfers to the node 3 is assigned by dividing follow the instructions as necessary the specified voxel data. ノード3に転送されたボクセルデータはボクセルデータ格納部14に格納される。 Voxel data transferred to the node 3 is stored in the voxel data storage section 14. 分散ボリュームレンダリング処理部12は、ボクセルデータ格納部14に格納された割り当てデータに対し割り当てられた計算処理を行う分散ボリュームレンダリング処理を実行する。 Distributed volume rendering processing unit 12 executes the distributed volume rendering process performs the calculation processes assigned to allocated data stored in the voxel data storage section 14.

各ノード3における分散ボリュームレンダリング処理結果は通信によりメインのノード3に転送される。 Distributed volume rendering processing results at each node 3 is transferred to the main node 3 through communication. データ連結処理部13は、自身のノード3の分散ボリュームレンダリング処理部12からの処理結果と各ノード3から転送された分散ボリュームレンダリング処理結果を一つに連結する。 Data link unit 13 connects the processing result and the dispersion volume rendering process result sent from the node 3 from distributed volume rendering processing unit 12 of its own node 3 to one. 連結されることで生成された画像データは画像メモリ15に送られる。 Image data generated by coupling is sent to the image memory 15. 表示制御部16は画像メモリ15に格納された画像データを基に表示装置4の画面に画像を表示する。 The display control unit 16 displays the image on the screen of the display device 4 on the basis of the image data stored in the image memory 15.

図3は、計算負荷割り当て手法を説明するものである。 Figure 3 is a diagram for explaining the calculation load allocation method. ここでは512×512ピクセルのボリュームレンダリング画像を作成する場合、512×512=262,144本のレイをキャストするため、処理を各レイごとの区画に分割している。 Here, when creating a volume rendering image of 512 × 512 pixels, in order to cast a 512 × 512 = 262,144 pieces of Lay is divided processing to partition for each ray.

計算処理を複数の処理区画に分割し、各ノードに割り当てる処理区画を決定する。 Dividing the computation to a plurality of processing sections, to determine the processing compartment to be assigned to each node. 各ノード3はそれぞれに割り当てられた処理区画に従い計算処理を行う。 Each node 3 a calculation process is performed in accordance with the processing compartment assigned to each. 一定数(または一定割合)の処理区画の計算処理が終了したら、処理結果をメインとなる画像処理システムAへ返す。 After calculation process ends the processing compartment of a certain number (or a certain percentage), and returns the processing result to the image processing system A to be the main. 処理結果を返すにあたり、必ずしも割り当てられた処理区画の処理が全て終了するのを待たなくてもよい。 Upon returning the processing result, the processing of the necessarily assigned processing compartment may not wait for the end of all. そのため、全ての処理が終わり、次の割り当てがくるまで待機するようなことがない。 Therefore, all of the processing is terminated, there is no such thing as to wait until the next allocation. メインとなる画像処理システムAは、処理結果を返してきたノード3に、次の処理区画を割り当てる。 The image processing system A to be the main is the node 3 has returned the processing result, assign the following processing compartment. 例えばメインの画像処理システムAが画像処理システムBに対し区画1−2000の処理要求を行う。 For example, the main image processing system A performs the processing request compartment 1-2000 to the image processing system B. これに対して画像処理システムBは区画1−1000の処理を終了するとそこまでの処理結果を画像処理システムAに返す。 The image processing system B whereas return processing results to there Upon completion of the processing compartment 1-1000 to the image processing system A. 画像処理システムAは区画1−1000の処理結果を受け取ると、画像処理システムBに対して次の区画2000−4000の処理要求をする。 When the image processing system A receives the processing result of the compartment 1-1000, the processing request for the next compartment 2000-4000 to the image processing system B. 結果として処理結果が速いノード3ほど多くの区画が割り当てられることになり、それぞれのノード3の能力に見合った計算負荷を動的に割り当てることができる。 As a result the processing result is to be assigned a number of compartments the faster node 3, it is possible to dynamically allocate computational load commensurate with each node 3 capacity.

図4,図5は本実施形態の協調分散処理システムの特徴的な作動状況を説明するものである。 4, FIG. 5 illustrates the characteristic operating conditions of concurrent processing system of this embodiment. 図4に示すように例えば4台の画像処理システムA〜Dのうち、メインの画像処理システムCの1台のみ医師が使用していると、使用されていない他の画像処理システムA,B,Dの各計算機3を有効活用して協調分散処理で計算処理(ボリュームレンダリング処理)を行う。 Of the image processing system A~D example of four as shown in FIG. 4, the doctor only one main imaging system C is used, other image processing system A which are not used, B, computing with concurrent processing by effectively utilizing the computer 3 of the D (the volume rendering processing). この結果、メインの画像処理システムCではデータを間引くことなくリアルタイムの速度で大容量医療画像データのボリュームレンダリング画像を見ることができる。 As a result, it is possible to view the volume rendering image of large medical image data in real time speed without thinning out the data in the main image processing system C.

また図5に示すように、複数台の画像処理システムA,C,Dを医師が使用しているとする。 Further, as shown in FIG. 5, the image processing system A of multiple, C, and D physician uses. このとき例えばボクセルデータ容量の多い医療画像を扱うメインの画像処理システムCは、使用されていない画像処理システムBや使用されていても計算負荷に余裕のある画像処理システムDに対し計算処理(ボリュームレンダリング処理)を分担させる。 The main image processing system C is dealing with many medical images of this time for example voxel data volume, calculated on the image processing system D there be an image processing system B and use unused margin to calculate the load process (volume to share the rendering process). この結果、メインの画像処理システムA,C,Dが複数台であっても、負荷の大きい計算処理を他の画像処理システムB,Dの計算資源を有効活用して協調分散することによりデータを間引くことなくリアルタイムの速度でボリュームレンダリング画像を見ることができる。 As a result, the main image processing system A, C, even more than one D is larger computing the other image processing system B of the load, the data by concurrent by effectively utilizing the computing resources of the D you can see the volume rendering images in real time of speed without thinning. なお、各ノード3はローカルストレージを持っており、過去に使用した割り当てデータを既に持っているときはサーバー2からノード3にデータを転送することはせず、既に持っているデータを用いて計算処理を行うようになっている。 Each node 3 has a local storage, when you have allocated data used in the past already without possible to transfer data from the server 2 to the node 3, computed using the data you already have It is adapted to perform processing.

図6,図7は、ノード割り当ておよび負荷割り当ての変更処理を説明するものである。 6 and 7 illustrate the process of changing node assignment and load allocation. ノード割り当ておよび負荷割り当ては、処理開始時の他、処理中にも行われる場合がある。 Node assignment and load assignments, another at the start of processing, it may also take place during processing. 再割り当てのトリガーとなる状況が図6,図7にそれぞれ示す2つある。 2 There the situation as a reallocation of trigger 6, respectively shown in FIG.

(A)ユーザーが直接使用していないが、分散処理を割り当てられているサブノードを、新たなユーザーが使用しようとした場合(図6)と、(B)ユーザーが処理を終了し、1つの分散処理に携わっていたノードが開放された場合(図7)である。 (A) but the user is not used directly, to exit if the subnode assigned the distributed processing, new user attempts to use (FIG. 6), (B) a user process, one distributed a case (FIG. 7) of the node which have been involved in the process is opened.

まずノード割り当てについて説明する。 It will be described first node allocation. 割り当てノードには、CPU使用率とメモリ空き容量の利用状況から、CPUとメモリにある程度の空きがある必要がある。 The allocation node, the usage of CPU usage and memory space, it is necessary to have some space in the CPU and memory. CPUの空きは計算処理(ボリュームレンダリング処理)を行うために必要で、これに基づき計算負荷割り当て量(分散ボリュームレンダリング処理割当量)が決まる。 Free of the CPU is required to perform calculation processing (volume rendering process), the computational load quota based on this (distributed volume rendering process quota) is determined. 一方、メモリの空きはボクセルデータを格納するために必要で、これに基づきボクセルデータ割当量が決まる。 On the other hand, free of memory required to store the voxel data, voxel data quota is determined on this basis. ここで、ユーザーが使うノードを「メインノード」、ユーザーに使われていないが処理が割り当てられるノードを「サブノード」と呼ぶことにすると、上記(A),(B)の状況は、メインノードの数が変わった状況と考えることができる。 Here, a node that the user uses "main node" and is not used for users to nodes process is allocated is referred to as a "sub-nodes", the (A), the situation, the main node (B) it can be considered that the number has changed the situation. 以下、計算負荷割り当ておよびボクセルデータ割り当ての変更処理について説明する。 The following describes the calculation load assigned and voxel data allocation changing process.

(1) 計算負荷割り当て 計算負荷割り当てはノードの利用状況に対応できる。 (1) calculation load allocation calculation load allocation may correspond to a usage of the node. 図6に示すように、ユーザーがないサブノード(例えば画像処理システムBの計算機)3を、ユーザーが使い始めた場合は、そのサブノード3に割り当てる計算負荷が軽減される。 As shown in FIG. 6, the 3 (computer, for example an image processing system B) the user is not subnode, if the user started using the computational load is reduced to be assigned to its sub-nodes 3. 一方、図7に示すように、ユーザーがいたメインノード(例えば画像処理システムBの計算機)3から、ユーザーがいなくなる場合は、そのサブノードとなったノード3に割り当てる計算負荷が大きくなる。 On the other hand, as shown in FIG. 7, from 3 (the computer, for example an image processing system B) user purchased was the main node, if the user does not have the computational load is increased to be assigned to node 3 becomes its subnodes.

(2) ボクセルデータ割り当て ボクセルデータの割り当てはメモリ空き容量に対応するように行われる。 (2) Allocation of voxel data assignment voxel data is performed so as to correspond to the memory space. 図6に示すように、ユーザーが直接使用していないが、分散処理を割り当てられているサブノード(例えば画像処理システムBの計算機)3を、新たなユーザーが使用しようとした場合を考える。 As shown in FIG. 6, the user is not using directly the 3 (computer, for example an image processing system B) subnode assigned the distributed processing, consider the case where a new user is attempting to use. このとき、その空きメモリ容量が十分でない場合は新しい処理にメモリを確保するために、既に割り当てられている処理で使用されているメモリを減らさなければならない。 At this time, because the free memory capacity to allocate memory to the new process is not sufficient, it must reduce the memory used in the process already allocated. 新しい処理開始時に画像処理システムBは他の画像処理システムA,Cにメッセージを通知する。 The image processing system B to a new process start notifies the message other image processing system A, the C. メッセージを受信した既存処理のメインノード(メイン1)は、メッセージを送信したノード(画像処理システムBの計算機)3に対するボクセルデータの割り当てを減らし、減らした分を他のノード(画像処理システムCの計算機)3に振り分ける。 The main node for an existing process that receives the message (main 1) is to reduce the allocation of the voxel data for the 3 (computer image processing system B) transmitted node message, minute others with reduced node (of the image processing system C distributed to computer) 3. この結果、画像処理システムBの計算機3のメモリのうちメイン1の画像処理システムAの既存処理に使用されていたメモリ容量「M1」が減り、メイン2の画像処理システムBで新しく開始される処理に使用するメモリ容量「M2」が確保される。 As a result, the image processing system memory space used in the existing processing of the image processing system A of the main one of the memory of the computer 3 of the B "M1" is reduced, it is newly started in the image processing system B of the main 2 treatment memory capacity "M2" to be used to be ensured.

一方、図7に示すように、メイン1の画像処理システムAを使用していたユーザーが処理を終了し、1つの分散処理に携わっていたメインノード(例えば画像処理システムAの計算機)3が開放された場合、終了した処理が使用していたメモリが開放されるため、既存処理はそのメモリを活用することができる。 On the other hand, as shown in FIG. 7, it ends the user process that was using the image processing system A of the main 1, one main node that is involved in the distributed processing (e.g. image processing system A computer) 3 open If it is, because the finished process memory used is released, the existing process can take advantage of its memory. すなわち、画像処理システムAはノード開放時点に他の画像処理システムB,Cにメッセージを通知する。 That is, the image processing system A to the other image processing node open time system B, and sends a message to the C. メッセージを受信した既存処理のメインノード(画像処理システムBの計算機)3は、必要であればメッセージを送信したノード(画像処理システムAの計算機)3の空きメモリ容量を利用してボクセルデータを割り当てる。 3 (computer image processing system B) existing process of the main node that received the message, allocates the voxel data by using a free memory capacity of 3 (computer image processing system A) node which sent the message, if necessary . この結果、メイン2の画像処理システムBにおけるノード割り当て数が増え、大容量・高速処理に対処できる。 As a result, node assignment number increases in the image processing system B of the main 2 can cope with a large-capacity, high-speed processing.

次にボリュームレンダリング処理の詳細について説明する。 Next, a description will be given details of the volume rendering processing.
図8(a),(b)に示すように、ボリュームレンダリング処理には、「平行投影法」と「透視投影法」とがある。 As shown in FIG. 8 (a), (b), the volume rendering process, there is a "perspective projection method" and "parallel projection". 平行投影法の方が計算負荷が軽いため、通常この投影法がよく用いられる。 For lighter calculation load towards the parallel projection method, usually used this projection well. 透視投影法では内視鏡から得られるような画像を生成するため、血管内部など組織内の様子を観察したい場合に用いられる。 To generate an image as obtained from the endoscope in perspective projection method is used when you want to observe in the organization such as internal vessel.

図8に示すように、ボクセルデータVDは3次元(但し同図では2次元的に描かれている)の格子点にボクセル値(例えばCT値)を持つデータである。 As shown in FIG. 8, the voxel data VD is data having a voxel value at a lattice point of a three-dimensional (although depicted two-dimensionally in the drawing) (e.g., CT value). ボリュームレンダリングには一般的にレイキャスティング法が用いられる。 In general ray casting method is used in volume rendering. レイキャスティング法とは、観察する側(フレーム側)から光の経路を考えるもので、フレーム側のピクセルから光のレイを飛ばし、一定距離を進むごとにその位置での反射光を計算する(図8では「…,Vn-1 ,Vn ,Vn+1 ,Vn+2 ,…」の符号が各到達位置のボクセルに対応している)。 The ray casting, but considering the path of light from the observation side (frame side), skip a ray of light from the frame side of the pixel, to calculate a reflected light at that position every time advances the predetermined distance (FIG. the 8 "..., Vn-1, Vn, Vn + 1, Vn + 2, ..." the sign of which corresponds to a voxel of each arrival position). レイ到達位置が格子上にない場合はその周りのボクセルのボクセル値から補間処理を行ってその位置でのボクセル値を計算する。 If Ray arrival position is not on the grid by performing the interpolation processing from the voxel values ​​of the voxels surrounding it calculates the voxel value at that position.

図9は、レイキャスティング法の計算方法を説明するもので、図8における1本のレイに対応した処理である。 Figure 9 is for explaining a calculation method of ray casting, a process corresponding to one ray in FIG. 同図におけるブロックはボクセルに相当するもので、これら各ボクセルは光に対する特性パラメータとして不透明度(opacity) αn およびシェーディング係数βn を有する。 Those blocks in the figure corresponding to the voxels, each of these voxels having opacity as a characteristic parameter for light (opacity) .alpha.n and shading coefficient .beta.n. ここで、不透明度αn は、0≦αn ≦1を満たす数値で表され、値(1−αn )は透明度(transparency)を示す。 Here, opacity .alpha.n is represented by a numerical value satisfying 0 ≦ αn ≦ 1, the value (1-αn) indicates the degree of transparency (transparency). 不透明度αn=1は不透明、αn=0は透明、0<αn<1は半透明にそれぞれ対応する。 Opacity .alpha.n = 1 is opaque, .alpha.n = 0 is transparent, 0 <αn <1 corresponds respectively translucent. シェーディング係数は色、グラディエントなどシェーディングに関する情報を持つ。 Shading coefficient has the information color, about shading, such as gradient.

初期入射光(光線)I1 は、各ボクセルを順次透過してゆくとともに各ボクセルで一部反射および吸収されることによりその残存光(透過光)は徐々に減衰する。 Initial incident light (ray) I1, the remaining light by with slide into successively transmitted through each voxel is part reflected and absorbed by each voxel (transmitted light) is gradually attenuated. 各ボクセルにおける部分反射光Rn (n=1,2,…)の積算値(積算反射光)が、フレーム側におけるピクセルの輝度に相当する。 Integrated value of partial reflected light Rn at each voxel (n = 1,2, ...) (integrated reflected light) corresponds to the luminance of the pixels in the frame side. ここで、減衰光Dn (n=1,2,…)は、n番目のボクセルの入射光In を用いて、式 Dn =αn In で表されるため、部分反射光Rn は、式 Rn =βn Dn =βn αn In で表される。 Here, attenuation optical Dn (n = 1,2, ...), using incident light In the n-th voxel, for the formula Dn = .alpha.n In, partially reflecting light Rn has the formula Rn = .beta.n represented by dn = βn αn in. また各ボクセルにおける入射光と残存光(透過光)との関係式から、式 In+1 =(1−αn )In が成り立つ。 The relational expression between the incident light and the remaining light (transmitted light) at each voxel, holds the expression In + 1 = (1-αn) In. よって積算反射光Eは、次式により表される。 Therefore integrated reflected light E can be expressed by the following equation.

なお、各ボクセル値に対して不透明度αnとの関係付けが予めなされており、その関係付け情報に基づきボクセル値から不透明度αnを得ている。 Incidentally, and association with the opacity αn is made in advance for each voxel value, to obtain the opacity αn from the voxel value based on the association information. 例えば、血管のボリュームレンダリング画像を得たい場合、血管のCT値が0から200に分布していることから、ボクセル値0から200には不透明度1を対応させ、他のボクセル値には不透明度0を対応させることで、血管を表示することができる。 For example, when it is desired to obtain a volume rendered image of the blood vessel, since the CT value of the blood vessel are distributed from 0 to 200, in correspondence opacity 1 from the voxel value 0 to 200, the opacity to other voxel value 0 is made to correspond, it is possible to display the blood vessel.

次にボクセルデータ分割割り当ておよび計算負荷割り当てを実施したときの計算方法について説明する。 Then the calculation method will be described when performing the voxel data split allocation and computational load allocation.
図10(a)はデータ分割割り当てを示すもので、同図(b)は計算負荷割り当てを示すものである。 10 (a) is intended to indicate a data division assignment, Fig (b) shows a calculation load allocation. 同図(a)のデータ分割はボクセルデータを2つに分割した例を示す。 Data division of FIG (a) shows an example of dividing the voxel data into two. ボクセルデータVDは分割ボクセルデータVD1とVD2とに分割され、それぞれ別々のノード3に割り当てられる。 Voxel data VD is divided into the divided voxel data VD1 and VD2, respectively assigned to different nodes 3. 分割ボクセルデータVD1が割り当てられたノード3では、V1 〜Vk までのボクセルについて分散ボリュームレンダリング処理を行い、分割ボクセルデータVD2が割り当てられたノード3では、Vk+1 〜Vn までのボクセルについて分散ボリュームレンダリング処理を行う。 In the node 3 divided voxel data VD1 has been assigned, was dispersed volume rendering processing on voxel to V1 ~Vk, the node 3 divided voxel data VD2 is allocated, the dispersion volume rendering for the voxel to Vk + 1 to Vn processing is carried out.

また図10(b)の計算負荷分割は、割り当てられたボクセルデータに対して行うべき計算処理を複数に分割し、それぞれ別々のノード3に割り当てる。 The computational load sharing in FIG. 10 (b), divides the calculation processing to be performed on the assigned voxel data into a plurality, respectively assigned to different nodes 3. 計算負荷分割の仕方としては光線(レイ)の本数で分割する方法が挙げられるが、光線の光軸方向(奥行き方向)に計算を分割しても構わない。 Although as a method of calculation load division and a method of dividing by the number of rays (ray), it may be divided calculate the ray in the optical axis direction (depth direction). 例えば図3に挙げた処理区画で分割する方法は、光線の本数で分割した計算負荷分割である。 For example, a method of dividing the processing compartment listed in FIG. 3 is a computation load sharing divided by the number of rays. フレーム側のピクセルがボリュームレンダリングを行う際の光線に相当するため、光線の本数で分割するこの計算負荷分割は、フレームをエリア分割した計算処理に相当する。 Since the frame side of the pixel corresponds to a light beam for performing the volume rendering, the calculation load sharing for dividing by the number of rays corresponds to a calculation processing area dividing a frame. なお、データ分割したときは、その分割に伴って計算処理も必然的に光軸方向に分割される。 Incidentally, when the data split, the computing along with the division are also inevitably split the optical axis direction.

図11は、光線が光軸方向で分割された計算分割の場合における計算方法を説明するものである。 Figure 11 is a diagram for explaining the calculation method in the case of computation partitioning the ray is divided by the optical axis direction. 使用されている記号の意味は図9と同じである。 Meaning of the symbols used are the same as those in FIG. 同図のように、符号「V1 〜Vn 」のボクセル群が、符号「V1 〜Vk 」のボクセル群と「Vk+1 〜Vn 」のボクセル群とに分割されたとすると、符号「V1 〜Vk 」のボクセル群に対する計算と、符号「Vk+1 〜Vn 」のボクセル群に対する計算とが別々に行われる。 As in the figure, reference numeral voxel group of "V1 to Vn" is, if the voxel groups of symbols "V1 ~Vk" and is divided into voxels of "Vk + 1 to Vn", code "V1 ~Vk" a calculation for a voxel group, a calculation for voxels of the symbol "Vk + 1 to Vn" is performed separately. よって、積算反射光Eは、次式のように表される。 Thus, the integrated reflected light E is expressed by the following equation.

ここで、分割された計算処理の計算結果を連結するときには、符号「Vk+1 〜Vn 」のボクセル群に対する計算結果に初期入射光として入射光Ik+1 の条件を採用し、1つのデータとして連結したときに整合がとれるように、各分割計算処理結果の連結を行う。 Here, when connecting the calculation results of the divided calculation process, and employs a code "Vk + 1 to Vn" incident light Ik + 1 conditions as the initial incident light to the calculation result for the voxels of, as one data as alignment when connecting can take performs connection of the divided calculation process result. また図12に示すように、データ分割は、ボクセルデータVDを一部データが重複するように分割し、冗長性を持たせている。 Further, as shown in FIG. 12, the data division is to divide the voxel data VD as partial data overlap, and to provide redundancy. これは、光線があるボクセルに到達したときに格子上にないときのボクセル値を求める際の補間計算をするときなどに周囲のボクセルが必要になるからである。 This is because it is necessary to voxels surrounding the like when the interpolation calculation for obtaining the voxel value when not on the grating when it reaches the voxel is light. このように周囲のボクセルも必要になるその他の処理としては、ボリュームレンダリングにおけるグラディエントの計算方法(グレイレベルグラディエント)が挙げられる。 This Other processing voxel also need the surrounding as the calculation method of the gradient in the volume rendering (gray level gradient) and the like. このようにグラディエントやボクセル補間値などボリュームレンダリングに必要なパラメータを計算するために、注目座標の周囲のボクセルも必要になる。 To calculate the parameters required for volume rendering, etc. Thus gradient or voxel interpolation value, voxels around the current coordinate is also required.

次に、各モードにおける計算負荷割り当ておよびデータ分割割り当ての詳細について説明する。 Next, details of calculation load allocation and data division allocation in each mode. 図13はデータコピーモード、図14はデータ分割モード、図15は混合モードをそれぞれ示す。 Figure 13 is a data copy mode, 14 data split mode, Figure 15 illustrates a mixing mode, respectively.

図13に示すようにデータコピーモードでは、ボクセルデータは各ノード3にまるごと割り当てられる。 In data copy mode as shown in FIG. 13, the voxel data is whole assigned to each node 3. 計算負荷割り当ての仕方によって同図(a)〜(c)が挙げられる。 FIG (a) ~ (c) are exemplified by way of calculation load allocation. 同図(a),(b)は平行投影法、同図(c)が透視投影法である。 FIG (a), a (b) parallel projection method, FIG. (C) is perspective projection method. 同図(a)は光線(レイ)の本数で分割することにより計算分割したもので、光線の本数を4分割したそれぞれが4つのノード3に割り当てられる。 FIG (a) is obtained by calculating division by dividing by the number of rays (ray), respectively divided into four, the number of light beams is assigned to four nodes 3. 同図(b)は多数本の光線(レイ)をデータの領域別に4分割することにより計算分割したもので、4分割したそれぞれの計算負荷が4つのノード3に割り当てられる。 FIG (b) is obtained by calculating divided by 4 dividing the large number of rays (ray) for each area of ​​the data, 4 divided each computational load is assigned to four nodes 3. 同図(c)は透視投影による多数本の光線(レイ)をデータの領域別に4分割することにより計算分割したもので、4分割したそれぞれの計算負荷が4つのノード3に割り当てられる。 FIG (c) is obtained by calculating divided by 4 dividing the large number of rays by perspective projection (Rei) for each area of ​​the data, 4 divided each computational load is assigned to four nodes 3.

図14に示すようにデータ分割モードでは、ボクセルデータは複数分割され、各分割データVD1〜VD4がそれぞれ異なる各ノード3に割り当てられる。 The data division mode as shown in FIG. 14, the voxel data is more divided, each divided data VD1~VD4 is assigned to each node 3 respectively different. つまりノード毎にデータ負荷が割り当てられる。 That data load is assigned to each node. データコピーモードの図13(b)における計算負荷割当では、ボクセルデータの回転時に計算負荷分割されるボクセルデータのエリアの変更が有り得るが、データ分割モードでは、ボクセルデータの回転時でも計算分割されるデータの分割面は変わらない。 The calculation load assigned in Figure 13 of the data copy mode (b), but changes in the voxel data calculated load sharing during rotation of the voxel data area likely, the data split mode, is calculated dividing even during rotation of the voxel data split surface of the data does not change.

図15に示すように混合モードでは、ボクセルデータは複数分割され、各分割データVD1,VD2のうち同一データがそれぞれ異なるノード3に割り当てられる。 In mixed mode, as shown in FIG. 15, the voxel data is more divided, the same data among the divided data VD1, VD2 are assigned to different nodes 3, respectively. さらに同一データが割り当てられた異なるノード3間で計算負荷割当が実施される。 Further computational load allocation among different nodes 3 in which the same data is allocated is performed.

従って、この実施形態によれば以下の効果を得ることができる。 Therefore, it is possible to obtain the following effects according to this embodiment.
(1) 大容量のメモリと高速なCPUなどの膨大な計算資源を持つ計算機ではなく、現実的なコストで得られるコンピュータ(ワークステーション)を使用しても、ボリュームレンダリング処理を行うことができるボクセルデータの容量を著しく増やすことができる。 (1) rather than a computer with a large computational resources, such as large-capacity memory and a high-speed CPU, even using a computer obtained by realistic cost (workstation), it is possible to perform volume rendering voxels the amount of data can be increased considerably. すなわち、コストパフォーマンスの高い計算機1台あたりが装備可能なメモリ容量と計算能力に限界があっても、ボリュームレンダリング処理を行うことができるボクセルデータの容量にほぼ限界がない。 That is, even if there is a limit to the high cost-performance computer per can be equipped memory capacity and computing power, almost no limit to the volume of the voxel data that can be volume rendering process. 従来はバッチ的な長時間処理、あるいは極めて高価な専用システムによる処理でしか扱うことができなかった大容量データを低コスト、リアルタイムで扱うことができる。 Conventionally it can be treated batchwise for prolonged treatment, or large amounts of data that could not be handled only by treatment with a very expensive dedicated system cost, in real time.

(2)データ転送時に画像処理システムのローカル・ストレージに保存せずに、受信と同時に直接メモリに読み込むため、ローカル・ストレージの浪費がなく、事前のデータ転送も不要となる。 Without saving the local storage of the image processing system when (2) data transfer, to load at the same time direct memory and receiving, no waste of the local storage, it becomes unnecessary pre-data transfer.

(3)計算資源(メモリ・CPU)に余力がある利用可能なノードをその時々に探し出して動的にノード割り当てを行うので、他ノードの計算資源を有効活用でき、高可用性を実現できる。 (3) Since the computational resources available nodes with spare capacity (memory · CPU) performs dynamic node allocation locate time to time, can effectively utilize the computational resources of the other nodes, it can realize high availability.

(4)画像表示処理受け付け時にノード数および負荷(データ負荷・計算負荷)を動的に割り当てることで動的にノードを活用できる。 (4) Image display processing node speed and load during reception (data load and computation load) can be utilized to dynamically allocate a dynamic node. このため、時間帯により刻々と変化する運用形態・状況にも無駄なく、最適なオペレーション環境を全てのユーザーに対して常に提供することができる。 For this reason, without waste also to the operating mode or situation to ever-changing by time zone, always it is possible to provide an optimal operating environment for all users.

(5)動的負荷割り当ての種類として3モード用意し、CPU使用率やメモリ空き容量に応じて大容量データの高速処理により適したノード割り当ておよび負荷割り当てができるようにしたので、大容量データの高速処理をより適切に実現できる。 (5) Dynamic load 3 modes are prepared as the type of assignment, since the node-to-node assignments and load assigned more suitable for high-speed processing of large-capacity data in accordance with the CPU utilization and memory space, the mass data It is better high-speed processing. すなわち、院内ネットワーク上の複数の計算機3の計算資源を有効活用できる。 In other words, it can be effectively used multiple computing resources of the computer 3 on the hospital network.

(6)負荷割当部18は、負荷割り当てした分散ボリュームレンダリング処理のうち予め設定された所定量又は所定割合終了した処理結果を返してきたノードに対して、次の分散ボリュームレンダリング処理の負荷割り当てを行う(図3)。 (6) the load allocation unit 18, the load assigned to the distributed volume rendering process preset predetermined amount or predetermined ratio termination processing result and the has returned node of the load allocation of the following distributed volume rendering process performed (Figure 3). 従って、処理速度の速いノード3に優先的に負荷が割り当てられるため、各ノード3間の協調分散処理を高速に実現可能である。 Accordingly, since the priority load is assigned to the fast node 3 processing speed, it is possible to realize a concurrent process between the nodes 3 at high speed.

(7)メインノード3のメモリ容量やCPUの空きが必要なだけ確保される場合は、ボクセルデータを分割せずメインノード3に全て送り、メインノード3単独で(単独計算機で)ボリュームレンダリング処理が行われる。 (7) If the amount of memory and available for the CPU of the main node 3 is secured as necessary sends all main node 3 without dividing the voxel data, the main node 3 alone (alone computer) volume rendering process It takes place. よって、不要な分散処理の実施によるボリュームレンダリング演算の処理速度低下を防ぐことができる。 Therefore, it is possible to prevent the processing speed decreases in volume rendering operation according to the practice of unnecessary distributed processing.

(8)サーバー2に対し要求されたボクセルデータのうち割り当てるべきデータを既にローカル・ストレージに持つノードに対しては、サーバー2からその割り当てデータを送信することなく、その割り当てノード3はローカル・ストレージに持つデータを用いてボリュームレンダリング処理を実行する。 (8) for the node that already has the local storage of data to be allocated among the voxel data requested to the server 2, without sending the assignment data from the server 2, the assignment node 3 local storage executing the volume rendering processing using the data held in the. 従って、割り当てノード3が既にローカルストレージに必要なボクセルデータを持つ場合は、サーバー2から割り当てノード3へのデータ送信時間を省き一層の高速処理を実現できる。 Therefore, if the assigned node 3 already has voxel data needed for local storage, eliminates the data transmission time from the server 2 to the assigned node 3 can be realized higher speed processing.

(9)メインノード3の数に変更があると、ノード割当部17はノードの割り当てをし直すとともに、負荷割当部18は割り当てノード3に対する動的負荷割り当てをし直す。 When (9) there is a change in the number of main node 3, node assignment unit 17 with again the assignment of nodes, the load allocation unit 18 re dynamic load assignment for assignment node 3. 従って、メインノード3の数の増減により計算資源の空き度合いに変更が生じた時にノード割り当てと動的負荷割り当ての見直しが図られるので、他ノード3の処理を妨げずその計算資源を有効活用でき、高速なボリュームレンダリング処理を実行できる。 Therefore, since the revision of node allocation and dynamic load allocation when the change occurs in the availability of the computational resources by increasing or decreasing the number of main node 3 is achieved, it can effectively utilize its computing resources without interfering with processing of the other nodes 3 , you can perform high-speed volume rendering processing.

(10)複数のノード3はサブノード、メインノードに必要な機能を全て持っており、役割に応じてサブノード、メインノードと切り替わる。 (10) a plurality of nodes 3 subnode has got all functions required to the main node, switching subnode, the main node in response to the role. よって、どのノード3もメインノードになることができ、どのノード3の画面からもボリュームレンダリング画像を見ることができる。 Therefore, any node 3 can also be a main node, it is possible to view the volume rendering image from the screen of any node 3.

なお、実施形態は前記に限定されず、例えば次の態様に変更してもよい。 The embodiments are not limited to the above, for example, it may be changed to the following aspects.
・ CPU使用率とメモリ空き容量のうち少なくとも一方を含む計算資源利用状況の情報から割り当てノードを決定すれば足りる。 · CPU usage and of the memory space is sufficient to determine the allocation node from information computed resource usage status including at least one. 例えばCPU使用率のみ、あるいはメモリ空き容量だけをノード割り当てを決めるときに使う情報としてもよい。 For example CPU usage only, or it may be information used when determining the only node allocated memory space.

・ 前記実施形態では、3つのモードを設定し、動的負荷割り当ての種類を幾つか用意したが、いずれか1つのモードだけを実施するものであっても構わない。 Although in the embodiments described above, sets the three modes has been some prepared types of dynamic load assignment, may be one for implementing only one of modes.
・ メインノード(またはサブノード)の数に変更があったときには、負荷割り当てをし直したが、対象とする画像処理が開放されるまで処理開始時の割り当てを維持する構成であっても構わない。 - when there is a change in the number of main nodes (or subnode) it has been re-load allocation, may be configured to image processing of interest to maintain the allocation of at the start of processing until opened.

・ ストレージサーバーとノードの機能を両方持つ計算機であってもよい。 Storage server and may be a computer having both the function of the node. 前記実施形態ではストレージサーバー2と画像処理システム(例えばA)5は別々の計算機に分かれていたが、これが同一の計算機であっても構わない。 Wherein the storage server 2 and the image processing system (e.g., A) 5 in the embodiment has been divided into separate computer, which may be the same computer. つまり、ストレージサーバー2となる計算機は固定されているが、ユーザーがストレージサーバー2上でボリュームレンダリング処理を行いその画像をストレージサーバー2び画面で見ることができる。 In other words, the storage server 2 to become computer is fixed, the user can view the image performs volume rendering process on the storage server 2 in the storage server 2 beauty screen.

・ サーバーにCPUやメモリの空きがあるときにサーバーにボリュームレンダリングの計算処理を負担させても構わない。 - to bear the calculation processing of the volume rendering to the server when the server there is a CPU and available memory may be. この場合、ストレージサーバー2はボリュームレンダリング画像を表示する表示装置4を備えず、単に分散処理目的で分散ボリュームレンダリング処理のみを実行する構成でも構わない。 In this case, the storage server 2 is not provided with the display device 4 for displaying the volume rendering image, it may be simply configured to perform only distributed volume rendering process in a distributed processing purposes.

・ ネットワークを構成する複数のノードのうち少なくとも一つに入力手段及び表示手段が備えられるだけの構成でも構わない。 Among a plurality of nodes constituting the network may be just the configuration input means and display means are provided in at least one. 例えば複数のノードのうち幾つかが画像処理計算用ではなく他の用途で使われるもので、他の用途のノード(計算機)のCPU使用率やメモリ空き容量から空きがあれば分散ボリュームレンダリング処理に利用する構成でも構わない。 For example, some of the plurality of nodes is intended to be used in other applications not for image processing calculation, the dispersion volume rendering process if there is a space from the CPU usage and memory space for other applications node (computer) it may be adapted to be utilized.

・ 1つのノードが、要求手段、ノード割当手段、負荷割当手段、演算手段、連結手段及び表示制御手段のすべての機能を実現するプログラムを持つ必要はない。 - one node, requesting means, node assignment means, the load allocating means, calculation means, need not have a program for realizing all functions of the connection means and display control means. つまりノードのすべてがメインノードとなる機能を備えるのではなく、サブノードとなる機能のプログラムだけを持つノードが含まれていてもよい。 That all nodes rather than a function of the main node may include a node with only program the subnode function. サブノードは例えば演算手段の機能(ボリュームレンダリング演算機能)のプログラムを持つ。 Subnode with example program function arithmetic means (volume rendering operation function). またサーバ機能を持つノードについては、要求手段の機能をプログラムから削除することができる。 With respect to the node with a server function, it is possible to delete the function of the request means from the program.

また、ボリュームレンダリング処理システムを構成する複数台のノードの中に、比較的負荷のかかるボリュームレンダリング演算はせず、画像表示などの比較的演算負荷の小さい処理だけを主に担当するノードが存在してもよい。 Further, in the plurality of nodes constituting the volume rendering processing system, relatively volume rendering operation without consuming load, a node responsible for only a relatively computational load small processing such as image display mainly exists it may be. すなわち、このノードは、入力手段、要求手段、ノード割当手段、負荷割当手段、連結手段および表示制御手段は備えるが、比較的負荷のかかる演算手段の機能は他のノード(割り当てノード)に任せる。 That is, the node includes an input means, requesting means, node assignment means, the load allocating means, coupling means and the display control means comprises, the functionality of the computing means consuming a relatively load left to other nodes (assignment node). 具体的には、演算能力の低い計算機に端末機能を持たせ、ボリュームレンダリング画像の演算はネットワークを通じて他のノードに任せる形とする。 Specifically, to have the terminal function with low computing power calculator, calculation of the volume rendering image in the form of left to other nodes through the network. 例えば4次元以上の高次元ボリュームレンダリング処理をするにはノードに高い演算能力が要求されるが、ボリュームレンダリング演算を行わないノードであれば演算能力の低いパーソナルコンピュータ(ノートパソコン等)で済ませられ、比較的高価なワークステーションばかりを取り揃える必要がなくなる。 For example, to 4-dimensional or higher dimensional volume rendering process is higher computing power to a node is required, be finished with a low personal computer of computing power as long as the node that does not perform the volume rendering computer (laptop, etc.), just a it is not necessary to equip relatively expensive workstations. なお、この例のノードは、図2における要求処理部10、割当処理部11、データ連結処理部13、画像メモリ15および表示制御部16を備え、分散ボリュームレンダリング処理部12およびボクセルデータ格納部14は備えていない。 Incidentally, a node in this example, the request processing unit 10 in FIG. 2, the allocation processing section 11, a data link unit 13 includes an image memory 15, and a display control unit 16, the distributed volume rendering processor 12 and the voxel data storage section 14 It does not include is. また、要求処理部10、割当処理部11、データ連結処理部13および表示制御部16は、コンピュータにより実行されるプログラムにより実現される。 The request processing unit 10, the allocation processing section 11, a data link unit 13 and the display control unit 16 is realized by a program executed by a computer.

さらにノード割当手段、負荷割当手段、連結手段も他のノードに任せ、他のノードで連結処理まで終わったボリュームレンダリング画像のデータを受信し、ボリュームレンダリング画像を表示手段に表示させる表示制御手段の機能だけを持つノード(端末ノード)が存在してもよい。 Moreover node assignment means, the load allocating means, coupling means also left to other nodes receive the data ended volume rendering image to the connection process with the other nodes, the function of the display control means for displaying a volume rendering image to the display unit node with only (terminal node) may be present. つまり、この場合のノードは、入力手段、要求手段、表示制御手段を備えるが、ノード割当手段、負荷割当手段、演算手段、連結手段は他のノードが受け持つ。 That is, a node in this case, the input means, requesting means, although comprising display control means, node assignment means, the load allocating means, calculation means, coupling means other nodes responsible. 例えば連結手段はメインノードが受け持ち、このノードは、メインノードから受信したボリュームレンダリング画像データに基づき画像表示処理を行う。 For example coupling means responsible main node, the node performs image display processing, based on the volume rendering image data received from the main node. 見かけ上は、この端末ノードとは別の、演算処理を受け持つ複数台のノードのうち一台がメインノードとなる。 Apparently, different from this terminal node, a single of the plurality of nodes responsible for processing is the main node.

具体的には、この端末ノードは回転、縮小、オパシティ値の変更、色の変更などの表示指示をメインノードに送信する。 Specifically, the terminal node rotation, reduction, and transmits changes in opacity value, a display instruction, such as color changes to the main node. このメインノードがノード割当ておよび負荷分割からデータ連結処理までを行い、得られた画像を端末ノードに送信する。 The main node performs up data connection process from node allocation and load sharing, and transmits the obtained image to the terminal node. 端末ノードは受信した画像を表示する。 Terminal node displays an image received. この例の端末ノードは、図2における要求処理部10と、画像メモリ15と、表示制御部16とを備え、割当処理部11、分散ボリュームレンダリング処理部12およびデータ連結処理部13、ボクセルデータ格納部14は備えていない。 Terminal node in this example, the request processing unit 10 in FIG. 2, an image memory 15, and a display control unit 16, assignment processing section 11, the dispersion volume rendering processor 12 and a data link unit 13, stores voxel data part 14 does not include. 端末ノードでは、メインノードから受信したボリュームレンダリング画像データが画像メモリ15に格納され、表示制御部16はこの画像データを基に表示装置4の画面にボリュームレンダリング画像を表示させる。 The terminal node, a volume rendering image data received from the main node is stored in the image memory 15, the display control unit 16 displays the volume rendering image on the screen of the display device 4 on the basis of the image data. なお、要求処理部10および表示制御部16は、コンピュータにより実行されるプログラムにより実現される。 Incidentally, the request processing unit 10 and the display control unit 16 is realized by a program executed by a computer.

・ サーバに対するボクセルデータの要求元はメインノードのみに限定されない。 - requesting the voxel data to the server is not limited to the main node. 例えばサブノードが割り当てられたボクセルデータ(または分割ボクセルデータ)をサーバに対して個々に要求する方法を採用しても構わない。 May be adopted a method of requesting individually example voxel data subnode is assigned (or divided voxel data) to the server. この場合、メインノードの要求処理部10とサブノードの要求処理部10とにより要求手段が構成される。 In this case, the request means is constituted by a request processing section 10 and the request processing unit 10 of the sub-nodes of the main node.

・ ノード割当手段がノード割り当て時に各ノードの計算資源使用状況の情報を基に判断する「分散処理可能な余力」、「ノードの処理能力」とは、ノードのCPU余力およびメモリ空き容量のみを指標とする方法に限定されない(計算余力もCPU余力に限定されない)。 Node assignment means nodes assigned during the "distributed processing possible surplus" to determine based on information of the computational resource usage for each node, a "node processing capability", only the CPU reserve capacity and memory space of the node index not limited to the method of the (calculated reserve capacity is not limited to the CPU reserve capacity). 要するに、計算能力の指標とデータ容量の指標の2種類の指標からノード割り当てを判断することを基本とし、各指標としてCPU余力とメモリ空き容量のみを用いることに限定されない。 In short, and to determine the node assignment of two types of indicators indicators indicators and data capacity of computing power and basic, but it is not limited to using only the CPU reserve capacity and memory space as each index. 計算能力の指標はCPU以外にも計算処理する部分がある場合、例えばボリュームレンダリング専用拡張ボード上でも計算を行う場合はこれも考慮する。 Indication of computing power also considered this case to perform calculations case, for example, even on the volume rendering dedicated expansion board that is part of computing processing in addition to CPU. またデータ容量の指標は、通常のメモリのほかに専用拡張ボード上のメモリがある場合は、専用拡張ボード上のメモリのメモリ空き容量も考慮する。 Index of also data capacity, if there is a memory on a dedicated expansion board in addition to the normal memory also takes into account the memory space of memory on a dedicated expansion board. また同一ノード上で異なるメモリ構成を取る場合、メモリの種類の違いを考慮して指標とする。 In the case of taking a different memory configurations on the same node, as an index taking into account the differences in types of memory. また、同一のボリュームレンダリング専用拡張ボードに専用演算チップと、専用メモリの両方がある場合、それらも指標として考慮する。 Further, a dedicated arithmetic chip in the same volume rendering dedicated expansion board, if there is both a dedicated memory, consider them as an indicator. さらに計算能力の指標として、例えばシステムバスの性能(帯域幅、クロック)を考慮する。 Furthermore as an indicator of computing power, for example, consider the system bus performance (bandwidth, clock). システム バスは、CPUとその他のコンポーネント(メモリやビデオカードなど)を結ぶ重要なパイプで、大量の命令やデータをCPUに送ったり、CPUが処理した結果をメモリやビデオカードなどに送り返す役割を果たし、計算能力に影響を与えるからである。 The system bus is an important pipe that connects the CPU and other components (such as memory and video card), play a role to be sent back or sent to the CPU a large number of instructions and data, the results of CPU has processed such as memory and video card This is because an impact on computing power.

計算能力の指標の算出方法としては以下の例が挙げられる。 As a method of calculating the index of computing power include the following examples. 各ノードは、能力値ベクトルを持っており、能力値ベクトルの要素として考えられるものを以下に列挙する。 Each node lists have the ability value vector, what is considered as the elements of the ability value vector below. ベクトルの個々の要素はそれぞれ相対的な値を持つ。 Individual elements of the vector, each having a relative value. なお、以下の(3),(7),(12),(1 5)はノード割り当て時にその都度計測の必要がある。 Incidentally, the following (3), (7), (12), (1 5) is in each case it is necessary to measure at node assignment.
(1)CPUクロック (1) CPU clock
(2)CPUキャッシュ容量 (2) CPU cache capacity
(3)CPU未使用率(=1−CPU使用率) (3) CPU non-utilization ratio (= 1-CPU utilization)
(4)システムバス帯域幅 (4) system bus bandwidth
(5)システムバスクロック (5) system bus clock
(6)専用拡張ボード演算処理部クロック (6) dedicated expansion board processing unit clock
(7)専用拡張ボード演算処理部未使用率(=1−ボード使用率) (7) dedicated expansion board processing unit unused rate (= 1-board usage)
(8)拡張ボードとシステム間のバス帯域幅 (8) bus bandwidth between the expansion board and the system
(9)拡張ボードとシステム間のバスクロック (9) bus clock between expansion board and system
(10)メモリ総容量 (10) total memory capacity
(11)メモリの動作クロック (11) operating clock of memory
(12)メモリ空き容量 (12) memory space
(13)専用拡張ボードの総メモリ容量 (13) The total memory capacity of the dedicated expansion board
(14)専用拡張ボードのメモリの動作クロック (14) the operation clock of the memory of a dedicated expansion board
(15)専用拡張ボードのメモリ空き容量ここで、能力値ベクトルを入力とし、スカラー値を出力する関数を定義すれば、計算能力の指標を得ることができる。 (15) where memory space dedicated expansion board inputs the capacity value vector, by defining a function that outputs a scalar value, it is possible to obtain an indication of the computing power. 例えばスカラー値を出力する関数の例を以下に示す。 For example illustrating an example of a function that outputs a scalar value below. なお、以下の関数式において( )内に示す各要素の数値は、機種間の相違を考慮した相対値で表している。 The numerical values ​​of each element shown in the following in the function expression () represents a relative value that takes into account the differences between models. また( )の前の乗算値は各要素の重み付け値である。 Multiplication value before the addition () is the weighted value of each element.

(A) 計算能力の指標(計算余力)=[35*(40:CPUクロック)+10*(10:CPUキャッシュ容量) ]*(0.70:CPU未使用率)+15*(20:システムバス帯域幅)+10*(30:システムバスクロック)+[17.5*(50:専用拡張ボード演算処理部クロック) ]*(0.65:専用拡張ボード演算処理部未使用率)+5*(70:拡張ボードとシステム間のバス帯域幅)+7.5*(60:拡張ボードとシステム間のバスクロック) (A) an index of computing capacity (calculated reserve capacity) = [35 * (40: CPU clock) + 10 * (10: CPU cache capacity)] * (0.70: CPU non-utilization ratio) + 15 * (20: System bus bandwidth) + 10 * (30: system bus clock) + 17.5 * (50: dedicated expansion board processing unit clock)] * (0.65: dedicated expansion board processing unit unused rate) + 5 * (70: between expansion board and system bus bandwidth) + 7.5 * (60: bus clock between expansion board and system)
(B)データ容量の指標(保持可能データ余力)=5*(70:システムバス帯域幅)+ 5*(40:システムバスクロック)+[ 70*(10:メモリ総容量) + 5*(3:メモリの動作クロック)]*(0.55:メモリ空き容量)+ [ 5*(30:専用拡張ボードのメモリの動作クロック)+ 10*(20:専用拡張ボードの総メモリ容量) ] * (0.35:専用拡張ボードのメモリ空き容量) (B) an indication of the data volume (retainable data margin) = 5 * (70: System bus bandwidth) + 5 * (40: System bus clock) + 70 * (10: total memory) + 5 * (3 : operation of the memory clock)] * (0.55: free memory capacity) + [5 * (30: dedicated extended operating clock of the memory of the board) + 10 * (20: total memory capacity of the dedicated expansion board)] * ​​(0.35: free memory capacity of the dedicated expansion board)
なお、上記(1)〜(15)の要素は全て採用する必要はもちろんなく、必要に応じて適宜選択することができるが、CPU余力(例えばCPU未使用率)とメモリ空き容量は必須とすることが好ましい。 The above (1) to (15) element is not of course necessary to employ all, can be selected as needed, memory space and CPU reserve capacity (e.g. CPU non-utilization ratio) is mandatory it is preferable.

・ ノード割り当てをする際に、通信オーバーヘッドを考慮してもよい。 · When the node assignment, may be considered a communication overhead. 例えば通信オーバーヘッドは、データ容量が小さい場合は複数ノードで分散処理するよりも、一台のノードで行う方が効率的であることを判断する条件の1つになる。 For example, the communication overhead than when the data capacity is small is distributed processing on multiple nodes, it becomes one of the conditions for determining that person performed by a single node is efficient. データ分割モードではノード割り当てをせざるを得ないが、データコピーモードおよび混合モードでは、通信オーバーヘッドが大きいと判断されれば同一データ(同一分割データを含む)を複数ノードに割り当てることはせず一台のノードのみ割り当てるか、ノード割り当て数を通常より減らすようにする。 Forced to node assignment in the data division mode, the data copy mode and mixed mode, not be assigned when it is determined that the communication overhead is large the same data (including the same divided data) to multiple nodes one assign base nodes alone, the number of nodes allocated to reduce than usual. このように構成すれば、通信オーバーヘッドに起因する画像処理速度の低下を防ぐことができる。 According to this structure, it is possible to prevent reduction in image processing speed due to communication overhead.

・ メインノード数が変化したときに動的負荷割り当て内容を見直す制御方法を採用したが、動的負荷割り当て内容の見直し時期は特にメインノード数変化時に限らない。 - Although the main node number has adopted a control method of reviewing the dynamic load assignment details when changes, reviewing the timing of dynamic load assignment content is not particularly limited when the number of main nodes change. 例えば所定時間(例えば数100ミリ秒〜数秒)ごとに動的負荷割り当て内容の見直しを行ってもよい。 For example, it may be carried out a review of dynamic load assignment details every predetermined time (for example, several 100 milliseconds to several seconds).

・ 各割り当てノードへのボクセルデータ(分割ボクセルデータを含む)のサーバへの転送要求は、メインノードがサーバに対して一括的に行うことに限定されない。 · Transfer request to the server voxel data (including the divided voxel data) to each assignment node, the main node is not limited to be performed collectively with respect to the server. 例えばメインノードがサブノードに対して割当負荷の情報を伝え、各ノードがそれぞれサーバに対し自分が使うボクセルデータ(分割ボクセルデータを含む)を個々に要求するシステム構成を採用することもできる。 For example, the main node convey information of the allocated load to subnodes, each node can also each be employed a system configuration request individually voxel data it uses to the server (including the divided voxel data). さらにメインノードから1つのサブノードに対し各割り当てノード分すべての割当負荷の情報を伝え、そのサブノードがサーバに対し各割り当てノード分すべてのボクセルデータ(分割ボクセルデータを含む)を一括要求するシステム構成を採用することもできる。 Further convey information for each assignment nodes worth all assigned load for one subnode from the main node, the system configuration its subnodes to batch requests each assignment nodes worth every voxel data to the server (including the divided voxel data) It can also be employed. つまりノードは、ボクセルデータをサーバに対して一括要求する要求手段を必ずしも持つ必要はなく、他ノードが一括要求したボクセルデータ(分割ボクセルデータを含む)を受け付けるだけの構成であっても構わない。 That node does not need to have necessarily the requesting means for collectively requesting voxel data to the server, the other nodes may be a configuration in which only accepts voxel data batch request (including the divided voxel data).

・ 4次元(4D)以上のボリュームレンダリング処理においては、複数のノードに動的に負荷を割り当てる際の負荷分割方法は前記実施形態の方法に限定されない。 · 4-dimensional (4D) in the volume rendering process described above, no load sharing method for assigning dynamic load over multiple nodes are limited to the method of the embodiment. 次元に応じた負荷分割方法を採用できる。 It can be employed load sharing method according to the dimensions. 4D処理の具体例を以下に示す。 Specific examples of the 4D process shown below.
4D処理は3D処理を時系列方向に繰り返す。 4D process repeats 3D processing in a time series direction. データコピーモード、分割モード、混合モードのいずれも採用できる。 Data copy mode, split mode, none of the mixed mode can be adopted. 但し、データの分割は、3D処理の場合は空間的な分割であったが、4D処理の場合は空間的な分割とともに時系列方向の分割も含まれる。 However, division of the data, in the case of 3D processing was the spatial division, in the case of 4D process also includes dividing a time series direction with spatial division. 例えば、「300スライス×10フェーズ(時刻)=計3000スライス」のような4Dデータ、計算ノード2台(同等の能力)があったとする。 For example, it is assumed that there is a 4D data, compute node two, such as "300 slices × 10 phase (time) = Total 3000 slice" (equivalent capacity). 計算ノード1がメインノードとする。 Compute node 1 and the main node.
(1)時間コピーモード計算ノード1,2 に全データをコピーする。 Copying all data (1) time copy mode compute nodes 1,2. メインノード(ノード1)は時刻1を計算しながら、ノード2に時刻2のデータの分散処理要求を出す。 Main node (node ​​1) while computing the time 1, issues a distributed processing request data at time 2 the node 2. ノード1の演算結果に基づき時刻1の画像を表示手段に表示した後、ノード2の演算結果に基づき時刻2の画像を表示する。 After displaying on the display means an image of time 1 on the basis of the node 1 of the operation result, and displays the image at the time 2 based on the operation result of the node 2.
(2)時間分割モード計算ノード1 に「時刻1,3,5,7,9」、計算ノード2 に「時刻2,4,6,8,10」を分担させる。 (2) "Time 1,3,5,7,9" in time division mode computation nodes 1, cause the computing node 2 is allotted the "time 2,4,6,8,10". 各計算ノードに全てのデータをコピーすることがベストだが、ストレージ容量の都合により、時刻別に半分の容量ずつ重複しないように割り当てるとする。 But best to copy all of the data in each computing node, the convenience of storage capacity, and allocates so as not to overlap each half volume in hourly. 各ノードに割り当てる時刻は割り当て手段が決定する(この例では交互の時刻)。 Time allocated to each node allocation means determines (alternating time in this example).
(3)時間混合モード (3) time mixed mode
(1),(2)の組み合わせ (1) a combination of (2)
(4)時間&空間分割ノード時間分割と空間分割(空間分割モード、空間混合モード)を組み合わせる負荷分担方法も採用できる。 (4) time and space division node time division and space-division (spatial division mode, the space mixed mode) even load sharing method of combining can be employed. 現実的には4Dデータの分割は、同時刻では空間的に分割せず、異なる時刻をそれぞれ別のノードに振り分ける時間的な分割のみを行う場合が多いと考えられるが、時間的な分割に加え同時刻のデータを重複しないように別々のノードに空間的にも分割する方法も採用できる。 Realistic division of 4D data is do not spatially divided at the same time, it is believed that in many cases of performing only temporal division distributing different times on separate nodes, in addition to the temporal division how also divided into spatially separate nodes so as not to overlap the data at the same time it can be employed.

従って、これらの方法の採用により、3D処理よりも扱うデータ容量が大きい4D処理において、時系列方向に分割して協調分散処理を行うことで、空間的な分割のみ採用する場合に比べ、システムの処理能力をより効果的に向上させることができる。 Therefore, the adoption of these methods, the 4D processing data capacity is large to handle than 3D processing, when by performing divided and concurrent processing sequence direction, compared with the case of employing only spatial division, the system it is possible to more effectively improve the processing capacity. よって、4Dデータのボリュームレンダリング処理の需要が増えつつある医療業界で、従来技術よりも著しい性能差が出る。 Therefore, in the medical industry a growing demand for volume rendering process of 4D data, significant performance differences over the prior art comes out.

前記実施形態及び別例から把握できる技術的思想を、以下に記載する。 The technical idea understood from the embodiment and another example is described below.
(1)請求項1〜4のいずれか一項の発明において、前記サーバは前記複数のノードとは別に設けられ、三次元以上のボクセルデータを記憶するサーバと、前記サーバからボクセルデータを受け付けてボリュームレンダリング処理を行う複数のノードとによってコンピュータネットワークが構築されたボリュームレンダリング処理システムであることを特徴とする。 (1) In the invention of claim 1, wherein said server said plurality of nodes and is provided separately, accepts a server for storing a three-dimensional or voxel data, the voxel data from the server characterized in that it is a volume rendering processing system computer network constructed by a plurality of nodes performing the volume rendering process. この構成であれば、サーバがデータを保管することで、ノードの計算資源をデータの計算処理のためにより多く活用でき、一層の高速処理に対応できる。 With this configuration, the server by storing data, can be utilized more by for computing resources of a node in the calculation processing of the data, it can cope with higher-speed processing.

(2)請求項1〜4のいずれか一項の発明において、前記サーバは前記複数のノードのうち少なくとも一つが兼ねていることを特徴とする。 (2) In the invention of claim 1, wherein the server is characterized in that at least one of which serves as one of the plurality of nodes. この構成であれば、サーバ機能を持つノードからも表示対象指定による表示要求を出してその表示手段に協調分散処理結果の画像(ボリュームレンダリング画像)を表示させることができる。 With this configuration, it is possible to view the concurrent processing result image (volume rendering image) on the display means also issues a display request by the display object designated by the node with the server function.

(3)請求項1〜4のいずれか一項に記載の発明において、前記複数のノードのうち少なくとも二つは、前記入力手段、前記要求手段、前記ノード割当手段、前記負荷割当手段、前記演算手段、前記連結手段及び表示制御手段をそれぞれ備え、表示手段に画像を表示可能な表示対象指定元のメインノードとなり得るノードであることを特徴とする。 (3) In the invention described in claim 1, at least two, said input means among the plurality of nodes, said requesting means, said node allocation unit, the load allocating means, said arithmetic means, each comprise the connecting means and the display control means, characterized in that it is a result obtained node visible display target specified former main node an image on a display unit. この構成によれば、複数のノードのうち各手段のすべてを備える少なくとも二つのノードは、ボリュームレンダリング画像を見ることが可能なメインノードにも、分散処理(分散ボリュームレンダリング処理)でメインノードを支援するサブノードにもなり得る。 According to this configuration, at least two nodes comprising all the means of the plurality of nodes, in the main node that can view the volume rendering image, supporting main node in a distributed processing (Distributed volume rendering process) It can also be a sub-node to. よって、ユーザーは少なくとも二つ(二つ以上)のどのノードからも、入力手段で指定したボクセルデータのボリュームレンダリング画像を表示手段を通して見ることができる。 Therefore, the user can also at least two (two or more) throat nodes, volume rendering image of the voxel data specified by the input means can be viewed through the display means.

(4)前記技術的思想(3)において、前記複数のノードのすべてが前記メインノードとなり得るノードである。 (4) In the technical idea (3), a node where all of the plurality of nodes can become the main node. この構成によれば、各ノードはサブノード、メインノードに必要な機能を全て持っており、役割に応じてサブノード、メインノードと切り替わるので、どのノードもメインノードに成り得る。 According to this configuration, each node subnode, which has all the functions required for the main nodes, sub-nodes depending on the role, since switched to the main node, any node may become a main node. よって、どのノードからもボリュームレンダリング画像を見ることができる。 Therefore, it is possible to see the volume rendering image from any node.

(5)請求項1〜4及び技術的思想(1)〜(4)のいずれかにおいて、前記ノード割当手段は、ノード割り当て条件として前記計算資源使用状況以外に通信オーバーヘッドを考慮し、計算資源使用状況から決まるノード数では通信オーバーヘッドが大きいと判断したときには、前記表示対象指定元となるメインノードを含む割り当てノード数を、前記計算資源使用状況から決まるノード数より少なく設定し、前記負荷割当手段は、前記割り当てノードに対し当該割り当てノード数に応じた負荷割り当てを行うことを特徴とする。 (5) In any one of claims 1 to 4 and spirit (1) to (4), said node assignment unit, taking into account the communication overhead than the computational resource usage as node allocation condition, computing resources used when the number of nodes determined by the status is determined that a large communication overhead, the number of allocation node including a display object specified source and comprising a main node, the set smaller than the number of nodes determined by the computing resource usage, the load allocation means , characterized in that to said assigned node performs load allocation in accordance with the number of the assigned nodes.

(6)請求項1〜4及び技術的思想(1)〜(5)のいずれかにおいて、前記ノード割当手段は、前記表示対象指定元となるメインノードの処理能力で足りると判断すれば他のノードに割り当てをせず当該メインノード単独で割り当て、前記負荷割当手段は、当該メインノードにのみ前記表示対象のボクセルデータとボリュームレンダリング処理を割り当て、当該メインノードの前記演算手段が前記表示対象のボクセルデータに対するボリュームレンダリング処理を単独で実行することを特徴とする。 (6) In any one of claims 1 to 4 and spirit (1) to (5), said node assignment means, other if it is determined that sufficient processing capacity of the main node serving as the display target specified source allocation in the main node itself without assigned to a node, the load allocation means, the only main node allocates a voxel data and volume rendering process of the display object, the voxel said calculating means of the display target of the main node and executes volume rendering process on data alone. この構成によれば、メインノードの処理能力で足りると判断すればメインノード単独でボクセルデータに対するボリュームレンダリング処理が行われる。 According to this configuration, the volume rendering processing on voxel data in the main node itself if it is judged that sufficient processing capability of the main node is performed. そして、ノード割当手段は、メインノードの処理能力では足りないと判断したときに他のノードをも割り当て、各割り当てノードにより協調分散処理が行われる。 Then, node assignment means assigns also other nodes when it is determined that insufficient processing capability of the main node, concurrent processing is performed by each assigned node.

(7)請求項1〜4及び技術的思想(1)〜(6)のいずれかにおいて、前記表示対象指定元となるメインノードから入力手段により指定されて前記サーバに要求されたボクセルデータのうち少なくとも割り当てるべきデータを既にローカルストレージに持つ割り当てノードに対しては、前記サーバはその割り当てデータを送信することはせず、当該割り当てノードにおける前記演算手段は前記ローカルストレージに持つデータを用いて当該データに対するボリュームレンダリング処理を実行することを特徴とする。 (7) according to claim 1 to 4 and the technical idea (1) In any one of the - (6), of the voxel data requested to the server designated by the input means from the main node to be the display target specified source already data to at least assigned to the assignment node with the local storage, the server is not able to send the assignment data, the said calculating means in allocation node the data by using the data with the local storage and executes volume rendering processing on. この構成によれば、サーバから割り当てノードへのデータ送信時間を省け一層の高速処理に対応できる。 According to this structure, saves the data transmission time to the allocated node from the server can respond to higher-speed processing.

(8)請求項1〜4及び技術的思想(1)〜(7)のいずれかにおいて、前記負荷割当手段は、前記ノード割当手段により割り当てられた各ノードに対し各々の処理能力に応じて前記表示対象のボクセルデータと該ボクセルデータに施すボリュームレンダリング処理とのうち少なくとも一方の分割割合を決定して動的負荷割り当てを行うことを特徴とする。 (8) In any one of claims 1 to 4 and spirit (1) to (7), wherein the load allocation means, in response to said each of the processing capability for each node allocated by the node assignment means and performing dynamic load assignment to determine at least one of the split ratio of the volume rendering processing to be performed on voxel data and the voxel data to be displayed.

(9)請求項1〜4及び技術的思想(1)〜(8)のいずれかにおいて、前記負荷割当手段は、前記ノード割当手段により割り当てられた各ノードの処理能力に応じて、前記表示対象のボクセルデータに施すべき計算処理のみの分割割合を決定するデータコピーモードと、前記表示対象のボクセルデータのみの分割割合を決定するデータ分割モードと、前記表示対象のボクセルデータと該ボクセルデータに施すべき計算処理との両方の分割割合を決定する混合モードとの中から一つを選択することを特徴とする。 (9) In any one of claims 1 to 4 and spirit (1) to (8), wherein the load allocation means, in accordance with the processing capability of each node allocated by the node assignment unit, the display target a data copy mode that determines the division ratio of the calculation processing only to be performed on the voxel data, a data dividing mode that determines the division ratio of only voxel data of the display object is subjected to the voxel data and the voxel data of the display target and selects one of a mixed-mode to determine both division ratio of the calculation process to. この構成によれば、ノードの計算資源を一層効率よく活用できボリュームレンダリング処理を高速に実行できる。 According to this structure, it can perform volume rendering processing can be utilized more efficiently computing resources of a node in a high speed.

(10)請求項1〜4及び技術的思想(1)〜(9)のいずれかにおいて、前記表示対象指定元のメインノードは、他のノードとの通信によって各ノードの計算資源利用状況の情報を取得しており、前記ノード割当手段は前記各ノードの計算資源利用状況の情報に基づいて当該各ノードの処理能力を判断して処理能力上必要な空きのあるノードを選択してノード割り当てを行い、前記負荷割当手段は、前記各割り当てノードの計算資源利用状況の情報に基づいて当該各割り当てノードの処理能力を判断して処理能力上の空きに応じてボクセルデータとボリュームレンダリング処理との少なくとも一方の分割割合を決定して動的負荷割り当てを行うことを特徴とする。 (10) In any one of claims 1 to 4 and spirit (1) to (9), the main node of the display target specified source, information computing resource usage status of each node by communicating with other nodes has obtained, the node assignment unit node selects the node with the processing capability to determine the processing capacity necessary for free for each node based on the information of the computational resource usage status of each node allocated performed, the load allocating means, said at least between the calculated resources relevant based on the information of the usage voxel data and volume rendering process in accordance with the free capacity of the judges on the processing capability of each assignment node of each assignment node to determine the one of the split ratio and performing dynamic load allocation.

(11)請求項1〜4及び技術的思想(8)〜(10)のいずれかにおいて、前記要求手段は、前記ノード割当手段によるノード割当情報と、前記負荷割当手段による負荷割当情報とを前記サーバに要求として送り、前記サーバは前記ノード割当情報で指定された割り当てノードに対し、前記負荷割当情報で指定された割合でデータ分割された分割ボクセルデータ又はボクセルデータをそのまま送ることを特徴とする。 (11) In any one of claims 1 to 4 and spirit (8) to (10), said request means, and node allocation information by the node assignment unit, and a load allocation information by the load allocation means the feeding as a request to the server, the server is to allocated nodes specified in the node assignment information, characterized in that the sending as divided voxel data or voxel data data divided in specified proportion with the load allocation information .

(12)前記技術的思想(11)において、前記各割り当てノードの演算手段は、前記サーバから取得した分割ボクセルデータ又はボクセルデータに対し前記表示対象指定元となるメインノードから得た負荷割当情報で指定された計算負荷の計算処理を実行することを特徴とする。 In (12) the technical idea (11), computing means of said each assignment node, the load allocation information from the main node to be the display target specified source to divide the voxel data or voxel data acquired from the server and executes the calculation processing for the specified computational load.

(13)請求項1〜4及び技術的思想(1)〜(12)のいずれかにおいて、前記負荷割当手段は、予め通信で情報として得た各ノードの処理能力に応じて、前記各割り当てノードのメモリ空き容量に応じてデータ容量負荷を決定するとともにCPU空き容量に応じて計算負荷を決定して動的負荷割り当てを行うことを特徴とする。 (13) In any one of claims 1 to 4 and spirit (1) to (12), wherein the load allocation means, in accordance with the processing capability of each node as a data in advance by communication, wherein each allocation node and performing dynamic load allocation to determine the computational load depending on the CPU space and determines the data capacity load depending on the memory space of. この場合、複数のノード(計算機)が動的にデータ容量負荷と計算負荷を分担しながら協調分散処理を行うことにより、請求項1の発明と同様の効果が得られる。 In this case, the plurality of nodes (computer) performs a concurrent processing while sharing a dynamic data capacity load and computation load, the same effect as the first aspect can be obtained.

(14)請求項1〜4及び技術的思想(1)〜(13)のいずれかにおいて、前記表示対象指定元となるメインノードの数に変更があると、前記ノード割当手段はノードの割り当てをし直すとともに、前記負荷割当手段は割り当てノードに対する動的負荷割り当てをし直すことを特徴とする。 In any one of (14) claim 1 and spirit (1) to (13), when there is a change in the number of main node to be the display object specifying source allocation of the node assignment unit node together again, the load allocating means is characterized in that re-dynamic load assignment for assignment nodes. この構成によればメインノードの数に変更があったときにノード割り当てと動的負荷割り当ての見直しが図られるので、他ノードの処理を妨げず計算資源を有効に活用でき、ボクセルデータに施すボリュームレンダリング処理を高速に実行できる。 Since review of this according to the configuration node when there is a change in the number of main node allocation and dynamic load allocation is achieved, effective use of computing resources without interfering with processing of the other nodes, applied to the voxel data volume It can perform rendering processing at high speed.

(15)請求項1〜3のいずれか一項の発明において、前記ノード割当手段は、計算能力の指標とデータ容量の指標に基づいてノード割当を行う。 (15) In the invention of claim 1, wherein the node assignment means performs node assignment based on the index of the index and data capacity of computing power.
(16)前記技術的思想(5)〜(15)のいずれかにおける前記ノード割当手段及び前記負荷割当手段を備える請求項6に記載の計算機。 (16) The computer according to claim 6 comprising the node assignment means and the load allocating means in any of the technical idea (5) to (15).

(17)請求項1〜7及び技術的思想(11),(12)のいずれかに記載の分散処理システムにおいて使用されるサーバであって、前記表示対象指定元となるメインノードからノード割当情報及びデータ分割割当情報と共にボクセルデータの要求を受け付けると、前記割り当てノードに対しデータ分割割当情報から決まる分割ボクセルデータを送信することを特徴とするサーバ。 (17) according to claim 7 and spirit (11), a server used in a distributed processing system according to any one of (12), node assignment information from the main node to be the display target specified source and when receiving a request for the voxel data along with data division allocation information, server and transmits the divided voxel data to which the allocation node to determined from the data dividing allocation information.

(18)請求項10に記載のボリュームレンダリング処理方法において、コンピュータの前記ノード割当手段は、前記ノードを割り当てる段階において、前記表示対象指定元となるメインノードの処理能力で足りると判断すれば他のノードに割り当てをせず当該メインノード単独で割り当て、コンピュータの負荷割当手段は前記動的負荷割り当てを行う段階において当該メインノードにのみボクセルデータとボリュームレンダリング処理を割り当て、当該メインノードを構成するコンピュータの前記演算手段は単独で前記表示対象のボクセルデータに対するボリュームレンダリング処理を実行することを特徴とする。 (18) In the volume rendering processing method according to claim 10, wherein the node assignment means of the computer, in allocating the node, the other if it is determined that sufficient processing capacity of the main node serving as the display target specified source allocation in the main node itself without assigned to a node, a load allocation means of the computer assigns the dynamic load allocation only voxel data and volume rendering process in the main node in the step of performing, in the computer that constitutes the main node It said calculating means is characterized in that solely executing the volume rendering processing on voxel data of the display object.

(19)請求項10に記載のボリュームレンダリング処理方法において、前記表示対象指定元となるメインノードから入力手段により指定されて前記サーバに要求されたボクセルデータのうち少なくとも割り当てるべきデータを既にローカルストレージに持つ割り当てノードに対しては、前記サーバはその割り当てデータを送信することはせず、当該割り当てノードにおけるコンピュータの前記演算手段は前記ローカルストレージに持つデータを用いて当該データに対するボリュームレンダリング処理を実行することを特徴とする。 (19) In the volume rendering processing method according to claim 10, at least the data to be allocated among the voxel data requested to the server designated by the input means from the main node to be the display target specified source already in the local storage for assignment nodes with the server will not be sending the assignment data, said computing means of the computer in the allocated node performs a volume rendering process on the data by using the data with the local storage it is characterized in. この方法によれば、割り当てノードが既にローカルストレージに必要なボクセルデータを持つ場合は、サーバから割り当てノードへのデータ送信時間を省け一層の高速処理に対応できる。 According to this method, if the assignment node has already voxel data needed for local storage, eliminates the data transmission time to the allocated node from the server can respond to higher-speed processing.

一実施形態におけるボリュームレンダリング処理システムのブロック図。 Block diagram of a volume rendering process system in one embodiment. ボリュームレンダリング処理システムの機能ブロック図。 Functional block diagram of the volume rendering processing system. 計算負荷割り当て手法の説明図。 Illustration of computational load allocation method. 協調分散処理システムの特徴的な作動状況を説明する説明図。 Explanatory view illustrating a characteristic operating conditions of concurrent processing system. 協調分散処理システムの特徴的な作動状況を説明する説明図。 Explanatory view illustrating a characteristic operating conditions of concurrent processing system. ノード割り当ておよび負荷割り当ての変更処理の説明図。 Illustration of processing of changing node assignment and load allocation. ノード割り当ておよび負荷割り当ての変更処理の説明図。 Illustration of processing of changing node assignment and load allocation. (a)「平行投影法」、(b)「透視投影法」を示す説明図。 (A) "parallel projection method", explanatory view showing a (b) "perspective projection method". ボリュームレンダリング処理を説明するブロック図。 Block diagram illustrating the volume rendering process. (a)データ分割、(b)は計算負荷分割の説明図。 (A) Data division, (b) is an explanatory view of a computational load sharing. 計算分割時のボリュームレンダリング処理を説明するブロック図。 Block diagram illustrating a volume rendering process when calculating division. ボクセルデータ分割の説明図。 Illustration of a voxel data division. (a)〜(c)データコピーモードにおける計算負荷割当の説明図。 (A) ~ (c) illustrates the calculation load assigned in the data copy mode. データ分割モードにおけるデータ分割の説明図。 It illustrates the data division in the data division mode. 混合モードにおけるデータ分割および計算分割の説明図。 It illustrates the data division and calculation division in mixed mode. 従来技術における画像処理システムのブロック図。 Block diagram of an image processing system in the prior art. 従来技術における画像処理用ネットワークシステムのブロック図。 Block diagram of a network system for image processing in the prior art. 同じくブロック図。 Same block diagram.

符号の説明 DESCRIPTION OF SYMBOLS

1…ボリュームレンダリング処理システムとしての協調分散処理システム、2…サーバとしてのストレージサーバー、3…ノード(計算機)、4…表示手段としての表示装置、5…入力手段としての入力装置、10…要求手段としての要求処理部、12…演算手段としての分散ボリュームレンダリング処理部、13…連結手段としてのデータ連結処理部、16…表示制御手段としての表示制御部、17…ノード割当手段としてのノード割当部、18…負荷割当手段としての負荷割当部、20…データ分割割当部、21…計算分割割当部、VD…ボクセルデータ、VD1,VD2…分割ボクセルデータ。 1 ... concurrent processing system as volume rendering processing system, 2 ... storage server as a server, 3 ... node (computer), 4 ... display device as display means, an input device as 5 ... input unit, 10 ... request means request processing unit as, distributed volume rendering processor as 12 ... computing unit, the data link unit as 13 ... connecting means, 16 ... display control unit as a display controller, a node allocation unit as 17 ... node assignment means , 18 ... load allocation unit as a load allocation means, 20 ... data division assignment unit, 21 ... computing division assignment unit, VD ... voxel data, VD1, VD2 ... divided voxel data.

Claims (10)

  1. 複数のノードによってコンピュータネットワークが構築され、三次元以上のボクセルデータに施すべきボリュームレンダリング処理を少なくとも二のノードが分散処理で実行するボリュームレンダリング処理システムにおいて、 Built a computer network by a plurality of nodes, in the volume rendering processing system at least second node volume rendering processing to be performed on three-dimensional or more voxel data to be executed by distributed processing,
    少なくとも一のノードに設けられ、各ノードの計算余力及びメモリ空き状況に係る計算資源使用状況情報を基に分散処理可能な余力のある少なくとも二のノードを割り当てるノード割当手段と、 Provided on at least one node, the node assignment means for assigning at least two of the nodes with calculation reserve capacity and memory according to the availability computing resources usage information available distributed processing based on an available capacity of each node,
    少なくとも一のノードに設けられ、与えられたボクセルデータを、各割り当てノードの計算資源使用状況情報に応じた分割割合で、かつ分割面に関わるボクセルデータを重複させるように複数の分割ボクセルデータに分割するデータ分割割当部と、 Provided on at least one node, the given voxel data, a splitting rate corresponding to computing resources usage information for each assignment nodes, and a plurality of divided voxel data so as to overlap the voxel data relating to divided surfaces divided a data dividing assignment unit that,
    前記分割ボクセルデータを動的に前記各割り当てノードに割り当てる負荷割当手段と、 A load allocation means for allocating dynamically the respective assigned node the divided voxel data,
    前記割り当てノードとなる少なくとも二のノードに設けられ、割り当てられた分割ボクセルデータに対して分散レンダリング処理を行うとともに、少なくとも分割面近傍における分散レンダリング処理の補間計算を前記データの重複部分を用いて行う演算手段と、 Performing the provided assigned node to become at least two nodes, performs distributed rendering processing on the divided voxel data assigned, the interpolation calculation of the distributed rendering processing in at least divided surface vicinity using overlapping portions of the data and arithmetic means,
    少なくとも一のノードに設けられ、前記各割り当てノードにおける分散レンダリング処理結果を取得して一つに整合させて連結する連結手段と、 Provided on at least one node, and connecting means for connecting in alignment to one to get a distributed rendering processing results in said respective allocated nodes,
    少なくとも一のノードに設けられ、前記連結されたレンダリング処理結果に基づくボリュームレンダリング画像を表示手段に表示する表示制御手段とを備えたことを特徴とするボリュームレンダリング処理システム。 Provided on at least one node, volume rendering processing system characterized by comprising a display control means for displaying on the display means the volume rendering image based on the concatenated rendering results.
  2. 前記分割面に関わるボクセルデータを重複させるとは、前記分割面近傍における補間計算が可能な量を重複させることをいうことを特徴とする請求項1に記載のボリュームレンダリング処理システム。 Wherein the to overlap voxel data relating to splitting surface, volume rendering processing system according to claim 1, characterized in that means that to overlap amount capable interpolation calculation in the dividing plane vicinity.
  3. 前記補間計算は、グラディエント計算又はボクセル補間値計算であることを特徴とする請求項2に記載のボリュームレンダリング処理システム。 The interpolation calculation is volume rendering processing system according to claim 2, characterized in that the gradient calculation or voxel interpolation calculation.
  4. 前記分割ボクセルデータに対する計算負荷を、前記分割ボクセルデータの割り当て先の各ノードの計算資源使用状況情報に応じた分割割合で分割する計算分割割当部を更に備え、 The computational load for dividing the voxel data, further comprising a calculating division assignment unit to divide by the division ratio corresponding to the calculated resource use status information of each node is assigned the divided voxel data,
    前記負荷割当手段は、前記計算分割割当部が分割した計算負荷を前記割り当て先の各ノードに割り当てることを特徴とする請求項1〜3のいずれか一項に記載のボリュームレンダリング処理システム。 The load allocating means is volume rendering processing system according to claim 1, characterized in that assigning the calculated division assignment unit computational load is divided to each node of the allocation destination.
  5. 請求項1〜3のいずれか一項に記載のボリュームレンダリング処理システムにおけるノードを構成する計算機であって、 A computer constituting the nodes in the volume rendering processing system according to any one of claims 1 to 3,
    前記ノード割当手段、前記データ分割割当部及び前記負荷割当手段を備えたことを特徴とする計算機。 Computer characterized by comprising the node assignment unit, wherein the data division allocation unit and the load allocating means.
  6. 複数のノードによって構築されるコンピュータネットワークを用いて、少なくとも二のノードが、三次元以上のボクセルデータに施すべきボリュームレンダリング処理を分散処理で実行するボリュームレンダリング処理システムにおける前記ノードの機能をコンピュータに実現させるプログラムであって、 Using a computer network constructed by a plurality of nodes, at least two nodes, implement the functions of the nodes to the computer in the volume rendering processing system for executing distributed processing volume rendering processing to be performed on three-dimensional or more voxel data a program to be,
    コンピュータを、 The computer,
    各ノードの計算余力とメモリ空き状況に係る計算資源使用状況情報に基づき分散処理を割り当て可能な余力のある少なくとも二のノードを割り当てるノード割当手段と、 A node assignment means for assigning at least two of the nodes with allocable surplus distributed processing based on the computational resource use status information according to the calculated reserve capacity and memory availability of each node,
    与えられたボクセルデータを、前記各割り当てノードの計算資源使用状況情報に応じた分割割合で、かつ分割面に関わるボクセルデータを重複させるように複数の分割ボクセルデータに分割するデータ分割割当部と、 The voxel data supplied, a data division assignment unit to divide the splitting rate corresponding to computing resources usage information for each assignment nodes, and a plurality of divided voxel data so as to overlap the voxel data relating to splitting surface,
    前記分割ボクセルデータを動的に前記各割り当てノードに割り当てる負荷割当手段と、 A load allocation means for allocating dynamically the respective assigned node the divided voxel data,
    割り当てられた分割ボクセルデータに対して分散レンダリング処理を行うとともに、少なくとも分割面近傍における分散レンダリング処理の補間計算を前記データの重複部分を用いて行う演算手段と、 It performs distributed rendering processing for the assigned division voxel data, calculating means for interpolation calculation of a distributed rendering processing in at least divided surface near performed using overlapping portions of the data,
    前記各割り当てノードにおける分散レンダリング処理結果を取得して一つに整合させて連結する連結手段と、 And connecting means for connecting in alignment to one to get a distributed rendering processing results in said respective allocated nodes,
    前記連結されたレンダリング処理結果に基づくボリュームレンダリング画像を表示手段に表示する表示制御手段、として機能させることを特徴とするプログラム。 Program for causing to function as display control means, for displaying the volume rendering image based on the concatenated rendering result on the display unit.
  7. 前記分割面に関わるボクセルデータを重複させるとは、前記分割面近傍における補間計算が可能な量を重複させることをいうことを特徴とする請求項6に記載のプログラム。 Wherein the to overlap voxel data relating to splitting surface, the program according to claim 6, characterized in that means that to overlap amount capable interpolation calculation in the dividing plane vicinity.
  8. 前記補間計算は、グラディエント計算又はボクセル補間値計算であることを特徴とする請求項7に記載のプログラム。 The interpolation calculation, a program according to claim 7, characterized in that the gradient calculation or voxel interpolation calculation.
  9. 前記分割ボクセルデータに対する計算負荷を、前記分割ボクセルデータの割り当て先の各ノードの計算資源使用状況情報に応じた分割割合で分割する計算分割割当部としてもコンピュータを機能させ、 The computational load for dividing the voxel data, also cause the computer to function as a calculating division assignment unit to divide by the division ratio corresponding to the calculated resource use status information of each node is assigned the divided voxel data,
    前記負荷割当手段は、前記計算分割割当部が分割した計算負荷を前記各割り当て先の各ノードに割り当てることを特徴とする請求項6〜8のいずれか一項に記載のプログラム。 The load allocation means, the program according to any one of claims 6-8, characterized in that assigning the calculated division allocation unit is a computational load divided to each node of each allocation destination.
  10. 複数のノードによって構築されるコンピュータネットワークを用いて、三次元以上のボクセルデータに対して少なくとも二のノードが分散処理でボリュームレンダリング処理を施すボリュームレンダリング処理方法であって、 Using a computer network constructed by a plurality of nodes, at least two nodes is a volume rendering processing method for performing a volume rendering process in a distributed processing for three-dimensional or voxel data,
    前記複数のノードのうち少なくとも一のノード割当手段が、各ノードの計算余力及びメモリ空き状況に係る計算資源使用状況情報に基づいて分散処理可能な余力のある少なくとも二のノードを割り当てる段階と、 At least one node assignment unit among the plurality of nodes, the steps of allocating at least two nodes in a computationally reserve capacity and computational resources usage information distribution processable margin based on according to the memory availability of each node,
    少なくとも一のノードのデータ分割割当部が、与えられたボクセルデータを、各割り当てノードの計算資源使用状況情報に応じた分割割合で、かつ分割面に関わるボクセルデータを重複させるように複数の分割ボクセルデータに分割する段階と、 Data division allocation of at least one node, the given voxel data, a plurality of divided voxels as a splitting rate corresponding to computing resources usage information for each assignment nodes, and to duplicate the voxel data relating to the division surface and the stage is divided into data,
    少なくとも一のノードの負荷割当手段が、前記分割ボクセルデータを動的に前記各割り当てノードに割り当てる段階と、 Load allocation means for at least one node, and allocating dynamically each allocated node the divided voxel data,
    前記割り当てノードの演算手段が、割り当てられた分割ボクセルデータに対して分散レンダリング処理を行うとともに、少なくとも分割面近傍における分散レンダリング処理の補間計算を前記データの重複部分を用いて行う段階と、 Calculating means of the assignment nodes, it performs distributed rendering processing on the divided voxel data allocated, and performing with the overlapping portions of the data interpolation calculation of a distributed rendering processing in at least split the vicinity,
    少なくとも一のノードの連結手段が、前記各割り当てノードにおける分散レンダリング処理結果を取得して一つに整合させて連結する段階と、 A step connecting means of at least one node, for connecting said aligned into one to obtain the distributed rendering processing results at each allocation node,
    少なくとも一の表示制御部が、前記連結されたレンダリング処理結果に基づくボリュームレンダリング画像を表示手段に表示する段階とを備えたボリュームレンダリング処理方法。 At least one display control unit, a volume rendering processing method and a step of displaying a volume rendering image based on the concatenated rendering result on the display unit.
JP2007113406A 2001-12-03 2007-04-23 Volumetric rendering method, volumetric rendering system, computer, and program Pending JP2007244887A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001369119 2001-12-03
JP2007113406A JP2007244887A (en) 2001-12-03 2007-04-23 Volumetric rendering method, volumetric rendering system, computer, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007113406A JP2007244887A (en) 2001-12-03 2007-04-23 Volumetric rendering method, volumetric rendering system, computer, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002100111 Division

Publications (1)

Publication Number Publication Date
JP2007244887A true JP2007244887A (en) 2007-09-27

Family

ID=38589745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007113406A Pending JP2007244887A (en) 2001-12-03 2007-04-23 Volumetric rendering method, volumetric rendering system, computer, and program

Country Status (1)

Country Link
JP (1) JP2007244887A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011507339A (en) * 2007-12-05 2011-03-03 オンライブ インコーポレイテッド A system that combines multiple views of real-time streaming interactive video
WO2011070910A1 (en) * 2009-12-07 2011-06-16 日本電気株式会社 Data arrangement/calculation system, data arrangement/calculation method, master device, and data arrangement method
JP2012108887A (en) * 2010-10-25 2012-06-07 Toshiba Corp Medical image management system and medical image management device
US8468575B2 (en) 2002-12-10 2013-06-18 Ol2, Inc. System for recursive recombination of streaming interactive video
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
JP2013158543A (en) * 2012-02-07 2013-08-19 Hitachi Medical Corp Magnetic resonance imaging apparatus
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8632410B2 (en) 2002-12-10 2014-01-21 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US8832772B2 (en) 2002-12-10 2014-09-09 Ol2, Inc. System for combining recorded application state with application streaming interactive video output
US8834274B2 (en) 2002-12-10 2014-09-16 Ol2, Inc. System for streaming databases serving real-time applications used through streaming interactive
US8893207B2 (en) 2002-12-10 2014-11-18 Ol2, Inc. System and method for compressing streaming interactive video
US8949922B2 (en) 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US9003461B2 (en) 2002-12-10 2015-04-07 Ol2, Inc. Streaming interactive video integrated with recorded video segments
US9015784B2 (en) 2002-12-10 2015-04-21 Ol2, Inc. System for acceleration of web page delivery
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721408A (en) * 1993-06-23 1995-01-24 Hitachi Ltd Illuminance calculating method for computer graphics and display device
JPH09160884A (en) * 1995-12-04 1997-06-20 Mitsubishi Electric Corp Dynamic load-distributed parallel computer
JPH09282288A (en) * 1996-04-09 1997-10-31 Fujitsu Ltd Plural-computer operation system
JPH11143839A (en) * 1997-11-14 1999-05-28 Nec Corp System and method for load distribution control
JPH11143836A (en) * 1997-11-05 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> Application program moving position decision method, data file moving position decision method and device therefor
JPH11327120A (en) * 1998-05-19 1999-11-26 Toppan Printing Co Ltd Equipment and method for performing simulation of optical power and storage media storing simulation program of optical power
JP2000207576A (en) * 1999-01-13 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Method and device for processing image and recording medium recording image processing program
WO2000068884A1 (en) * 1999-05-05 2000-11-16 Kla-Tencor Corporation Method and apparatus for inspecting reticles implementing parallel processing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721408A (en) * 1993-06-23 1995-01-24 Hitachi Ltd Illuminance calculating method for computer graphics and display device
JPH09160884A (en) * 1995-12-04 1997-06-20 Mitsubishi Electric Corp Dynamic load-distributed parallel computer
JPH09282288A (en) * 1996-04-09 1997-10-31 Fujitsu Ltd Plural-computer operation system
JPH11143836A (en) * 1997-11-05 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> Application program moving position decision method, data file moving position decision method and device therefor
JPH11143839A (en) * 1997-11-14 1999-05-28 Nec Corp System and method for load distribution control
JPH11327120A (en) * 1998-05-19 1999-11-26 Toppan Printing Co Ltd Equipment and method for performing simulation of optical power and storage media storing simulation program of optical power
JP2000207576A (en) * 1999-01-13 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Method and device for processing image and recording medium recording image processing program
WO2000068884A1 (en) * 1999-05-05 2000-11-16 Kla-Tencor Corporation Method and apparatus for inspecting reticles implementing parallel processing

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949922B2 (en) 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US9015784B2 (en) 2002-12-10 2015-04-21 Ol2, Inc. System for acceleration of web page delivery
US8468575B2 (en) 2002-12-10 2013-06-18 Ol2, Inc. System for recursive recombination of streaming interactive video
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US9003461B2 (en) 2002-12-10 2015-04-07 Ol2, Inc. Streaming interactive video integrated with recorded video segments
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8632410B2 (en) 2002-12-10 2014-01-21 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
US8832772B2 (en) 2002-12-10 2014-09-09 Ol2, Inc. System for combining recorded application state with application streaming interactive video output
US8834274B2 (en) 2002-12-10 2014-09-16 Ol2, Inc. System for streaming databases serving real-time applications used through streaming interactive
US8840475B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US8893207B2 (en) 2002-12-10 2014-11-18 Ol2, Inc. System and method for compressing streaming interactive video
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
JP2011507339A (en) * 2007-12-05 2011-03-03 オンライブ インコーポレイテッド A system that combines multiple views of real-time streaming interactive video
US8898677B2 (en) 2009-12-07 2014-11-25 Nec Corporation Data arrangement calculating system, data arrangement calculating method, master unit and data arranging method
WO2011070910A1 (en) * 2009-12-07 2011-06-16 日本電気株式会社 Data arrangement/calculation system, data arrangement/calculation method, master device, and data arrangement method
JP2012108887A (en) * 2010-10-25 2012-06-07 Toshiba Corp Medical image management system and medical image management device
JP2013158543A (en) * 2012-02-07 2013-08-19 Hitachi Medical Corp Magnetic resonance imaging apparatus

Similar Documents

Publication Publication Date Title
Xu et al. Real-time 3D computed tomographic reconstruction using commodity graphics hardware
Udupa et al. Fast visualization, manipulation, and analysis of binary volumetric objects
US4928247A (en) Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
JP3747404B2 (en) Graphics image creating apparatus, and method and program
JP3289110B2 (en) Method of generating a shading value for the pixel of the scan line width, shading method, interpolation method rendering device and a pixel value
JP2625621B2 (en) How to create an object
US6852081B2 (en) Volume rendering in the acoustic grid methods and systems for ultrasound diagnostic imaging
EP2033085B1 (en) Fast reconfiguration of graphics pipeline state
US9875138B2 (en) General purpose software parallel task engine
JP4795538B2 (en) Ultrasound system with parallel processing architecture
US20090201303A1 (en) Multi-user multi-gpu render server apparatus and methods
US5097411A (en) Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
US9595242B1 (en) Client-server visualization system with hybrid data processing
US20110285735A1 (en) System and method for compositing path color in path rendering
Strengert et al. Hierarchical visualization and compression of large volume datasets using GPU clusters.
JP2014081972A (en) Rendering system and method by ray tracing
Lacroute Analysis of a parallel volume rendering system based on the shear-warp factorization
US7242401B2 (en) System and method for fast volume rendering
US8144149B2 (en) System and method for dynamically load balancing multiple shader stages in a shared pool of processing units
JP3275920B2 (en) Scientific graphic display method
Johnson et al. The irregular Z-buffer: Hardware acceleration for irregular data structures
JP4197203B2 (en) Volume rendering system and volume rendering methods
JP4065327B2 (en) Projection image display method and device
Baum et al. Real time radiosity through parallel processing and hardware acceleration
US6559843B1 (en) Segmented ray casting data parallel volume rendering

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101130