1-D-5-5 画像情報システム / 一般口演セッション: 画像システム ― 技術(1)
札幌医科大学 情報センター
抄録: 正常人体断面の画像ライブラリの構築を主旨とするVHP(Visible Human Project, USA)が1980年代の中期から始められ,そのデータベースが世界中の医療・教育機関に活用され,多大な研究成果があげられている。我々はこれらの高解像度フルカラー画像を解剖教育にも活用すべく,以前から任意位置と任意方向の切断面をリアルタイムで抽出・再構築するシステムの研究を行ってきた。本稿では,高速ネットワーク上のPCを利用した高度分散処理によるこの膨大な画像データをオンメモリで処理する大容量断面画像生成システムを提案し,その構成と実験について報告する。本システムは,ユーザインタフェース層とサーバ制御層と分散プロセッサ層との三層構造によって構成されている。ユーザインタフェース層には,横断面、前額断面と矢状断面をリアルタイムに観察・選定できるようにOpenGLベースとWebベースのビューアを開発し,元画像の縮小画像を使って観察したい部位を決め,断面画像生成リクエストの発信によってフルサイズ画像(横断面:2048x1216、前額断面:2048x1878、矢状断面:1216x1878)をサーバ制御層から取得して表示する。サーバ制御層のGbossはビューアからの要求をもとに分散プロセッサの制御手続きを生成し,動かすべきプロセッサへ一斉送信する。プロセス終了後,それぞれのプロセッサから部分画像を集め,一枚のフルサイズ画像を再構成しビューアへ転送する。分散プロセッサ層のGserver群はGbossの命令のもとに互い独立に動作し,オンメモリで画像データを処理し,ソッケト通信によって命令と部分画像データの交換を行う。本提案の有効性を検証するため,35台CPUで構成するプロトタイプシステムの試作を行い,実験した結果,従来の手法を使って1台CPUによる任意位置の断面画像を抽出する処理は2,100秒がかかったことに対して,本システムでは2秒以内で処理できた。
Information Center of Computer Communication, Sapporo Medical University, Sapporo, Japan
Abstract: To use VHP medical image database for medical education, we need powerful computers to handle the large data sets of tens giga-bytes. In this article, we propose a distributed processing solution implemented on low-cost PCs connected with high performance network. Each of the distributed processors handles a subset of the image data on memory and works independently. Experiments on 35 PCs proved the proposed solution can response in about 2 seconds to retrieve a 12MB image from about 15GB image database, this is over 1000 times faster than a straightforward method on one PC.
Keywords: network computing, parallel processing, medical imaging, VHP, distributed systems
正常人体断面の画像ライブラリの構築を主旨とするVHP(Visible Human Project, USA) が1980年代の中期から始められ,そのデータベースが世界中の医療・教育機関に活用され,多大な研究成果があげられている。我々はこれらの高解像度フルカラー画像を解剖教育に活用すべく,以前から任意位置と任意方向の切断面をリアルタイムで抽出・再構築するシステムの研究を行ってきた2)。しかし,これらの画像データは十数GB〜数十GB(表1)に及ぶため,通常のコンピュータでの実現が難しい1),3)。
本稿では,高速ネットワーク上のPCを利用した高度分散処理によるこの膨大な画像データをオンメモリで処理する大容量断面画像生成システムを提案し,その構成と実験について報告する。また,クライアントとしてOpenGLベースとWebベースのビューアを開発し,高機能コンピュータによる多様な画像表示とインターネット上の遠隔教育に対応できる。
本システムは,インタフェース層とサーバ制御層と分散プロセッサ層との三層構造によって構成される(図1)。インタフェース層(GLview,WEBview)には,横断面、前額断面と矢状断面の縦横1/9に,奥行1/3に縮小した画像を使って観察したい部位を決め,断面画像生成リクエストによってフルサイズ画像(横断面:2048x1216、前額断面:2048x1878、矢状断面:1216x1878)をサーバ制御層から取得して表示する。サーバ制御層(Gboss)はインタフェース層からの要求をもとに分散プロセッサの制御手続きを生成し,動かすべきプロセッサへ一斉送信する。プロセス終了後,分散プロセッサから部分画像を集め,フルサイズ画像を再構成し返送する。分散プロセッサ層(Gserver)は制御層の命令のもとに互い独立に動作し,オンメモリで画像データを処理し,ソッケト通信によって命令と部分画像データの交換を行う。
GLviewのメインウィンドウに横断縮小画像が表示され,画像上に両端が自由に移動できる直線がある。両端の位置を変えることによって前額と矢状方向の斜め断面画像がリアルタイムに表示される。また,前額断と矢状断画像上のクロス直線の中心位置をマウスで移動することによって横断、前額断と矢状断画像を変えることができる。また,ポップアップメニューを使って前額断面、矢状断面とボリューム切り出し断面の三次元表示ができ,マウスとキーボードを使って拡大縮小や回転させることができる。三つのサブウィンドウに縮小画面で選定された部位の三種断面フルサイズ画面が出力される。WEBviewは横断面,前額断面と矢状断面のそれぞれに対応するページがあり,縮小前額断面の横にあるスライダーを動かし,フルサイズ横断面の位置を決める。縮小横断面画像の両側のスライダーを動かし,前額断面画像の切断位置と方向を,縮小画像の上下にあるスライダーを動かし,矢状断面画像の切断位置と方向を指定する。
Gbossはユーザインタフェース層と並列プロセッサ層Gserverともに通信を行い,すべての並列プロセッサの動作を制御し,実行状態を監視する。Gbossはビューアから断面作成命令、断面種類と断面両端の位置情報(Gslice,Stype,Slice1,Slice2)を受信し,生成した画像のサイズ情報(Data Size)を先頭に画像データのRGBストリームを送信する。
並列プロセッサ層のGserverはGbossの命令のもとに互い独立に動作し,ソッケト通信によって処理命令(Gtask.cmd)と部分画像データ(Slice.raw)の交換を行う。Gbossの命令には,各GserverにVHP元画像を読込む命令Gload,すべての処理を終了し再起動する命令Gabort,各種断面を作成する命令Gsliceが含まれる。各Gserverには同じサーバプログラムが実行され,どこからどのVHP元画像をメモリに読込むか,どのように部分データを抽出するかは,すべてこのGtask.cmd構造をもとに制御される。また,任意断面画像の抽出を高速化するためにデータ抽出には一次線形補間アルゴリズムを用い,各画素値は平面空間と画素空間の最近傍座標変換によって求めている。
プロトタイプシステムを試作し,本学の情報教育用MacG3コンピュータの中の35台を利用して実験した。各PCに並列プロセッサ用プログラムを導入しVHP男性データ(約14GB)を読込ませ,動作させた結果を測定した(表2)。処理時間はGbossより各プロセッサに命令を送信してから生成された部分データを集めてフルサイズ画像を再構成するまでの時間,転送時間はGLviewとGboss間の通信時間のそれぞれを示す。処理量はビューアへ転送する画像データ量を,メモリ量は各プロセッサのメモリ占有量を表す。1CPUの処理時間も同様に測定した。
GLviewはOpenGLとGLUTとMesa3Dを用いて開発し,Windows9x/NTとSGI,LinuxのXwindowシステム上で動作する。WEBviewは幾つかのCGIとJavaScriptプログラムにより構成され,一般的なWWWサーバとブラウザー上で動作する。GbossとGserverはUnix-Cで開発したため,MacOSX,SGI,Linux上で動作する。
本研究は,高度分散処理による大容量画像任意断面の高速生成手法を提案した。プロトタイプを構築し実験した結果,従来の方法で2,100秒以上を要する処理を2秒以内で処理でき,35台のPCによる高速並列処理は1,000倍以上のパフォーマンスが得られ,本提案の有効性を検証した。
今後の課題として,インターネット上の遠隔実験,分散処理による関心領域の抽出,ボリュームレンダリングや三次元再構築などを試みる。さらにローコストPC部品とLinuxで並列処理エンジンを構築する。
この研究は、文部省科学研究費、科学技術振興調整費、厚生科学研究費及び日本学術振興会未来開拓学術研究事業(JSPS-RFTF97R16301)の成果を含んでいる。
[1] Aoki, Tastumi, Nogawa, Akashi, Nakahashi, Guo. A Parallel Approach for VHP Image Viewer: Internet Workshop 2000, Intl. Workshop on APAN and its Applications, Proceedings pp.209-214, Feb. 2000.
[2] Nogawa, Tatsumi, Nakamura, Kato, Takaoki. An Application of an End-User Computing Environment for the Visible Human Project: The Second Visible Human Project Conference, Proceedings pp.99-100, Oct.1988.
[3] Aoki, Nogawa, Tatsumi, Akashi, Nakahashi, Guo, Maeda. Distributed Computing Approach for High Resolution Medical Images: 16th World Computer Congress 2000, Proceedings on Software: Theory and Practice, pp.611-618, Aug.2000.
表1 VHP 画像データセット |
図1 本システムの三層構造 |
表2 テスト結果 |