以下、本実施形態に係る医用情報処理装置について、図面を参照して説明する。
(第1実施形態)
図1は、第1実施形態に係る医用システムの構成を示すブロック図である。図1に示すように、医用システムは、ガントリ1と、前処理装置3と、再構成装置5と、第1処理装置7と、第2処理装置11とを備える。
ガントリ1は、スリップリング(slip ring)101と、高電圧発生器103と、X線管105と、X線検出器107と、データ収集回路(DAS:Data Acquisition System)109と、非接触データ伝送回路111と、ガントリ制御回路113とを内部に有している。
ガントリ1は、回転リング117、リング支持機構、および回転駆動装置(電動機)115等を有する。回転リング117の開口部には、被検体Sを載置可能な天板119が挿入される。天板119は、回転リング117の中心軸に沿って移動可能に寝台(図示せず)に支持される。ここで、天板119に載置された被検体Sの体軸が回転リング117の中心軸に一致するように、天板119が位置決めされる。回転リング117には、高電圧発生器103、X線管105、DAS109、冷却装置等が搭載されている。
高電圧発生器103は、ガントリ制御回路113による制御の下で、スリップリング101を介してX線管105に印加する高電圧と、X線管105に供給するフィラメント電流とを発生する。
X線管105は、高電圧発生器103からの高電圧の印加およびフィラメント電流の供給を受けて、X線の焦点から天板119に載置された被検体SへX線を照射する。X線管105は、高電圧発生器103により印加される高電圧に対応するエネルギースペクラトルを有するX線を発生する。X線の照射範囲は、図1に示す二点鎖線で示されている。
X線検出器107は、回転軸を挟んでX線管105に対峙する位置およびアングルで、回転リング117に取り付けられる。X線検出器107は、複数の検出素子を有する。ここでは、単一の検出素子が単一のチャンネルを構成しているものとして説明する。複数のチャンネルは、回転軸に直交し、かつ放射されるX線の焦点を中心として、この中心から1チャンネル分の検出素子の中心までの距離を半径とする円弧方向(チャンネル方向)とZ方向(スライス方向)との2方向に関して2次元状に配列される。X線検出器107の出力側には、DAS109が接続される。
なお、X線検出器107は、複数の検出素子を1列に配列する。このとき、複数の検出素子各々は、上記チャンネル方向に沿って略円弧方向に1次元状に配列される。また、複数の検出素子は、チャンネル方向とスライス方向との2方向に関して2次元状に配列させてもよい。すなわち、2次元状の配列は、上記チャンネル方向に沿って一次元状に配列された複数のチャンネルを、スライス方向に関して複数列並べて構成される。このような2次元状の検出素子配列を有するX線検出器107は、略円弧方向に1次元状に配列される複数の上記複数の検出素子をスライス方向に関して複数列並べて構成してもよい。
DAS109は、X線検出器107の各チャンネルの電流信号を電圧に変換するIV変換器と、この電圧信号をX線の曝射周期に同期して周期的に積分する積分器と、この積分器の出力信号を増幅するアンプと、このアンプの出力信号をディジタル信号変換するアナログ・ディジタル・コンバータとを、チャンネルごとに取り付けている。DAS109は、出力したデータ(生データ(raw data))を、磁気送受信又は光送受信を用いた非接触データ伝送回路111を経由して、前処理装置3に伝送する。
リング支持機構は、回転軸回りに回転自在に回転リング117を支持する。回転駆動装置(電動機)115は、回転リング117の回転を駆動する。
ガントリ制御回路113は、所定のスキャンシーケンスに従って撮影を行うように、高電圧発生器103からX線管105への電力供給を制御する。また、ガントリ制御回路113は、所定のスキャンシーケンスに従って撮影を行うように、回転駆動装置115を駆動制御する。
前処理装置3は、ハードウェア資源として、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサと、ROMやRAM等のメモリとを含む。前処理装置3は、非接触データ伝送回路111および再構成装置5と接続する。前処理装置3は、非接触データ伝送回路111から出力された生データに対して前処理を実行する。前処理には、例えば、生データに対する対数変換処理、チャンネル間の感度不均一補正処理、X線強吸収体、主に金属部による極端な信号強度の低下または、信号脱落を補正する処理等が含まれる。前処理装置3は、前処理を実行した再構成処理直前のデータ(投影データ)を、データ収集したときにビュー角を表すデータと関連付けて、再構成装置5へ伝送する。
なお、投影データとは、被検体を透過したX線の強度に応じたデータ値の集合である。ここでは説明の便宜上、ワンショットで略同時に収集したビュー角が同一である全チャンネルにわたる一揃いの投影データを、投影データセットと称する。また、ビュー角は、X線管105が回転軸を中心として周回する円軌道の各位置を、回転軸から鉛直上向きにおける円軌道の最上部を0°として360°の範囲の角度で表したものである。なお、投影データセットの各チャンネルに対する投影データは、ビュー角、列番号、チャンネル番号によって識別される。
再構成装置5は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。再構成装置5は、前処理装置3、第1処理装置7および第2処理装置11と接続する。再構成装置5は、前処理装置3から伝送された、ビュー角が360°または180°+ファン角の範囲内の投影データセットに基づいて、フェルドカンプ法またはコーンビーム再構成法により、略円柱形のボリュームデータを再構成するものであり、例えばメモリと所定のプロセッサによって実現される。また、再構成装置5は、ファンビーム再構成法(ファンビーム・コンボリューション・バックプロジェクション法ともいう)、フィルタ補正逆投影法(FBP:Filtered Back Projection)または逐次近似再構成法等により、上記投影データセットから2次元CT画像(断層画像)を発生するものであり、例えばメモリと所定のプロセッサによって実現される。フェルドカンプ法は、コーンビームのように再構成面に対して投影レイが交差する場合の再構成法であり、コーン角が小さいことを前提として畳み込みの際にはファン投影ビームとみなして処理し、逆投影はスキャンの際のレイに沿って処理する近似的画像再構成法である。コーンビーム再構成法は、フェルドカンプ法よりもコーン角のエラーが抑えられる方法として、再構成面に対するレイの角度に応じて投影データを補正する再構成法である。
ここで、説明の簡略化のため、当該ボリュームデータおよび2次元CT画像を総称して医用画像データとする。再構成装置5は、当該医用画像データを第1処理装置7と、第2処理装置11とへ伝送する。
本実施形態に係る医用システムは、再構成装置5から伝送された医用画像データに対して複数の処理を同時に実行するため、処理装置を冗長化する。また、当該医用システムは、冗長化することにより、一方の処理装置で問題が発生しても他方の処理装置で処理を継続することが可能である。
第1処理装置7は、例えば、再構成装置5から伝送された医用画像データを収集し、収集した医用画像データによる胸部CT検査や腹部CT検査を実行するためのコンソール(医用画像解析装置)である。第1処理装置7は、医用画像データによる当該検査のための解析処理や解析結果出力処理等を実行するための複数の処理リソースを含む。第2処理装置11は、例えば、再構成装置5から伝送された医用画像データを収集し、収集した医用画像データを閲覧するためのコンソール(医用画像閲覧装置)である。第2処理装置11は、医用画像データを閲覧するためデータベース化処理や閲覧処理等を実行するための複数の処理リソースを含む。
第1処理装置7には、入出力インターフェイス回路(以降、入出力IF回路と呼称する。)701を介して、再構成装置5と、第1入力回路9と、第2処理装置11とが接続される。第1処理装置7は、入出力IF回路701およびスイッチング回路15を介して、第1ディスプレイ17または第2ディスプレイ19に接続する。第1処理装置7は、通信インターフェイス回路(以降、通信IF回路と呼称する。)703およびネットワークNWを介して、第2処理装置11およびサービスセンタ21に接続する。サービスセンタ21には、本実施形態に係る医用システム全体を統括して管理する管理サーバが含まれる。
第1処理装置7は、記憶回路705と、処理回路707と、制御回路709とを有する。記憶回路705は、比較的大容量のデータを記憶可能なHDD(Hard Disk Drive)およびSSD(Solid State Drive)等である。記憶回路705は、処理回路707における機能を実現するための第1処理プログラムを記憶する。本実施形態に係る第1処理プログラムは、第1処理装置7の記憶回路705に記憶されるプログラムの総称である。具体的には、第1処理プログラムは、オペレーティングシステム(OS:Operating System)とアプリケーションとを含む。OSとアプリケーションとは、X線コンピュータ断層撮影装置のコンソールに用いられる如何なる種類のものでも良い。例えば、OSは、第1処理装置7における各部の管理および制御機能を実現する基本ソフトウェアである。アプリケーションとしては、ガントリ1を使用した被検体Sのスキャンを制御するための制御プログラムや当該医用画像データの解析処理を実行するための解析プログラムを含む。また、本実施形態に係るアプリケーションは、第1処理装置7における医用画像データの解析結果と第2処理装置11における医用画像データの解析結果とを比較する比較処理を実現するための比較プログラムを含むものとする。
さらに、記憶回路705は、第1入力回路9から送られる操作者の指示、当該第1処理プログラムに関する設定、および装置内におけるハードウェアに関する設定を記憶する。記憶回路705は、再構成装置5で再構成されたボリュームデータと、再構成装置5で発生された2次元CT画像とを記憶する。
なお、記憶回路705は、HDD等の磁気ディスク以外にも、光磁気ディスクやCD(Compact Disc)、DVD(Digital Versatile Disc)等の光ディスクを利用してもよい。また、記憶回路705の保存領域は、上述の通り第1処理装置7内にあってもよいし、上記ネットワークNWおよび通信IF回路703を介して接続されたサービスセンタ21内にあってもよい。
処理回路707は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。当該処理回路707のメモリは、解析プログラムを一時的に記憶する。図2は、図1に示す処理回路707の機能構成を示すブロック図である。当該処理回路707のプロセッサは、解析プログラムを読み出して実行することで、解析機能711を実現する。解析機能711の実現により、処理回路707は、再構成装置5から伝送された医用画像データを入力し、第1処理プログラムに従った当該医用画像データの解析処理を実行し、解析結果を出力する。処理回路707は、医用画像データの解析結果を第1ディスプレイ17または第2ディスプレイ19に出力する。
当該処理回路707のメモリは、更新プログラムを一時的に記憶する。当該処理回路707のプロセッサは、更新プログラムを読み出して実行することで、更新機能713を実現する。処理回路707は、更新機能713として、記憶回路705に記憶された第1処理プログラムを更新する。更新プログラムには、OS、制御プログラム、解析プログラムおよび比較プログラム等を含む第1処理プログラムを更新するためのプログラムや、当該第1処理装置7におけるセキュリティに関する設定等を修正するためのパッチが含まれる。更新プログラムは、ネットワークNWおよび通信IF回路703を介してサービスセンタ21から第1処理装置7へ送信される。
当該処理回路707のメモリは、比較プログラムを一時的に記憶する。当該処理回路707のプロセッサは、比較プログラムを読み出して実行することで、比較機能715を実現する。比較機能715の実現により、処理回路707は、一方の処理装置における医用画像データの解析結果と、第1処理プログラムを更新した他方の処理装置における医用画像データの解析結果とを比較する。例えば、処理回路707は、病院の運用における検査等のメインの処理を実行する処理装置において出力された実運用での解析結果と、病院の運用における閲覧等のサブの処理を実行する処理装置において、更新した第1処理プログラムに従い動作検証を目的として出力された解析結果とを比較する。処理回路707は、通信IF回路703およびネットワークNWを介して当該比較結果をサービスセンタ21へ送信する。
制御回路709は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。制御回路709は、本第1処理装置7の動作を統括的に制御する。例えば、制御回路709、第1入力回路9から送られる操作者の指示に従って、スキャンを実行するために、ガントリ制御回路113を制御する。また、制御回路709は、第1処理装置7における更新機能713に従う処理において、処理回路707等を制御する。
さらに、制御回路709は、第1入力回路9から送られる操作者の指示等を含めた、第1処理装置7における入出力データの記録および保管を実施する入出力管理を行う。制御回路709は、当該第1処理プログラムに関する設定および装置内におけるハードウェアに関する設定等を含めた、第1処理装置7における設定の記録および保管を実施する設定管理を行う。制御回路709は、更新作業時における第1処理装置7と第2処理装置11との動作切り替えにおいて、第1処理装置7の設定を第2処理装置11の設定と入れ替えるための設定管理を行う。制御回路709は、第1処理プログラムの更新作業時に第1処理装置7が当該医用画像データによる検査のための解析処理や解析結果出力処理等を実行している場合、第1処理装置7における複数の処理リソースの使用状況を監視し、複数の処理リソースのうち少なくとも一つを第1処理プログラムの更新のための処理リソースに割り当てる負荷管理を行う。
第1入力回路9は、トラックボール、スイッチボタン、マウス、キーボード、操作面へ触れることで入力操作を行うタッチパッド、および表示画面とタッチパッドとが一体化されたタッチパネルディスプレイ等によって実現される。第1入力回路9は、入出力IF回路701を介して第1処理装置7に接続されている。第1入力回路9は、操作者から受け取った入力操作を電気信号へ変換し制御回路709へと出力する。なお、本実施形態において、第1入力回路9は、トラックボール、スイッチボタン、マウス、キーボード等の物理的な操作部品を備えるものだけに限られない。例えば、装置とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を制御回路709へ出力する電気信号の処理回路も第1入力回路9の例に含まれる。
第2処理装置11には、入出力IF回路1101を介して、再構成装置5と、第2入力回路13と、第1処理装置7とが接続される。第2処理装置11は、入出力IF回路1101およびスイッチング回路15を介して、第1ディスプレイ17または第2ディスプレイ19に接続する。第2処理装置11は、通信IF回路1103およびネットワークNWを介して、第1処理装置7およびサービスセンタ21に接続する。
第2処理装置11は、記憶回路1105と、処理回路1107と、制御回路1109とを有する。記憶回路1105は、比較的大容量のデータを記憶可能なHDDおよびSSD等である。記憶回路1105は、処理回路1107における機能を実現するための第2処理プログラムを記憶する。第2処理プログラムは、当該第1処理プログラムと同種の処理プログラムである。本実施形態に係る第2処理プログラムは、第2処理装置11の記憶回路1105に記憶されるプログラムの総称である。具体的には、第2処理プログラムは、OS:Operating Systemとアプリケーションとを含む。OSとアプリケーションとは、X線コンピュータ断層撮影装置のコンソールに用いられる如何なる種類のものでも良い。例えば、OSは、第2処理装置11における各部の管理および制御機能を実現する基本ソフトウェアである。アプリケーションとしては、制御プログラムや解析プログラムを含む。また、本実施形態に係るアプリケーションは、比較プログラムを含むものとする。
さらに、記憶回路1105は、第2入力回路13から送られる操作者の指示、当該第2処理プログラムに関する設定、および装置内におけるハードウェアに関する設定を記憶する。記憶回路1105は、再構成装置5で再構成されたボリュームデータと、再構成装置5で発生された2次元CT画像とを記憶する。
なお、記憶回路1105は、HDD等の磁気ディスク以外にも、光磁気ディスクやCD、DVD等の光ディスクを利用してもよい。また、記憶回路1105の保存領域は、上述の通り第2処理装置11内にあってもよいし、上記ネットワークNWおよび通信IF回路1103を介して接続されたサービスセンタ21内にあってもよい。
処理回路1107は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。当該処理回路1107のメモリは、解析プログラムを一時的に記憶する。図3は、図1に示す処理回路1107の機能構成を示すブロック図である。当該処理回路1107のプロセッサは、解析プログラムを読み出して実行することで、解析機能1111を実現する。解析機能1111の実現により、処理回路1107は、再構成装置5から伝送された医用画像データを入力し、第2処理プログラムに従った当該医用画像データの解析処理を実行し、解析結果を出力する。処理回路1107は、医用画像データの解析結果を第1ディスプレイ17または第2ディスプレイ19に出力する。
当該処理回路1107のメモリは、更新プログラムを一時的に記憶する。当該処理回路1107のプロセッサは、更新プログラムを読み出して実行することで、更新機能1113を実現する。更新機能1113の実現により、処理回路1107は、記憶回路1105に記憶された第2処理プログラムを更新する。更新プログラムには、OS、制御プログラム、解析プログラムおよび比較プログラム等を含む第2処理プログラムを更新するためのプログラムや、当該第1処理装置7におけるセキュリティに関する設定等を修正するためのパッチが含まれる。更新プログラムは、ネットワークNWおよび通信IF回路1103を介してサービスセンタ21から第2処理装置11へ送信される。
当該処理回路1107のメモリは、比較プログラムを一時的に記憶する。当該処理回路1107のプロセッサは、比較プログラムを読み出して実行することで、比較機能1115を実現する。比較機能1115の実現により、処理回路1107は、一方の処理装置における医用画像データの解析結果と、処理プログラムを更新した他方の処理装置における医用画像データの解析結果とを比較する。例えば、処理回路1107は、病院の運用における検査等のメインの処理を実行する処理装置において出力された実運用での解析結果と、病院の運用における閲覧等のサブの処理を実行する処理装置において、更新した第2処理プログラムに従い動作検証を目的として出力された解析結果とを比較する。処理回路1107は、通信IF回路1103およびネットワークNWを介して当該比較結果をサービスセンタ21へ送信する。
制御回路1109は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。制御回路1109は、本第2処理装置11の動作を統括的に制御する。例えば、制御回路1109、第2入力回路13から送られる操作者の指示に従って、スキャンを実行するために、ガントリ制御回路113を制御する。また、制御回路1109は、第2処理プログラムの更新機能に従う処理において、処理回路1107等を制御する。
さらに、制御回路1109は、第2入力回路13から送られる操作者の指示等を含めた、第2処理装置11における入出力データの記録および保管を実施する入出力管理を行う。制御回路1109は、当該第2処理プログラムに関する設定および装置内におけるハードウェアに関する設定等を含めた、第2処理装置11における設定の記録および保管を実施する設定管理を行う。制御回路1109は、更新作業時における第1処理装置7と第2処理装置11との動作切り替えにおいて、第2処理装置11の設定を第1処理装置7の設定と入れ替えるための設定管理を行う。制御回路1109は、第2処理プログラムの更新作業時に第2処理装置11が当該医用画像データのデータベース化処理や閲覧処理等を実行している場合、第2処理装置11における複数の処理リソースの使用状況を監視し、複数の処理リソースのうち少なくとも一つを第2処理プログラムの更新のための処理リソースに割り当てる負荷管理を行う。
第2入力回路13は、第1入力回路9と同様に、トラックボール、スイッチボタン、マウス、キーボード、操作面へ触れることで入力操作を行うタッチパッド、および表示画面とタッチパッドとが一体化されたタッチパネルディスプレイ等によって実現される。第2入力回路13は、入出力IF回路1101を介して第2処理装置11に接続されている。第2入力回路13は、操作者から受け取った入力操作を電気信号へ変換し制御回路1109へと出力する。なお、本実施形態において、第2入力回路13は、トラックボール、スイッチボタン、マウス、キーボード等の物理的な操作部品を備えるものだけに限られない。例えば、装置とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を制御回路1109へ出力する電気信号の処理回路も第2入力回路13の例に含まれる。
スイッチング回路15は、各処理装置からの指示により、第1処理装置7および第2処理装置11と、第1ディスプレイ17および第2ディスプレイ19との接続を切り替えるための回路である。スイッチング回路15は、接続を切り替えることで、各処理装置から出力される医用画像データの表示先、当該解析結果の出力先、更新処理に関する入力画面や更新状況を把握するための表示画面の表示先等を切り替える。具体的には、第1ディスプレイ17は、スキャン動作における撮影位置、X線照射条件等のユーザ入力に関する入力画面や当該解析処理の結果を表示する。また、第2ディスプレイ19は、更新作業を実施するための入力画面や処理プログラムの更新状況を把握するための表示画面を表示する。
ここで、本実施形態に係る医用システムにおける処理プログラムの更新の流れについて、図4を参照して説明する。
(処理プログラム更新の流れ)
図4は、第1実施形態に係る医用システムにおける処理プログラムの更新の流れを示すシーケンスである。当該医用システムにおいて、第1処理装置7と第2処理装置11とは、再構成装置5から伝送された共通の医用画像データを入力し、各装置7,11の役割に応じた処理を医用画像データに施す。第1処理装置7は、メインの役割が割り当てられており、第2処理装置11は、サブの役割が割り当てられているものとする。例えば、図4に示すように、第1処理装置7は、第1処理プログラムのうちの解析プログラムに従い、メインの処理を実行している(Sa1)。具体的には、第1処理装置7は、複数の処理リソースを用いて当該解析プログラムを実行することにより、再構成装置5から伝送された医用画像データに検査のための解析処理や解析結果出力処理を実行する。一方、第2処理装置11は、第2処理プログラムのうちの解析プログラムに従い、サブの処理を実行している(Sa2)。例えば、第2処理装置11は、複数の処理リソースを用いて当該解析プログラムを実行することにより、再構成装置5から伝送された医用画像データを収集し、収集した医用画像データを閲覧可能にするためのデータベース化処理や閲覧処理を実行する。
上記条件の下、第1処理装置7より病院の運用に大きな影響を与えない第2処理装置11の第2処理プログラムから更新する。
まず、サービスセンタ21は、第2処理プログラムを更新するための前段階として、負荷調整指示を制御回路1109へ出力する(Sa3)。制御回路1109は、サービスセンタ21から出力された負荷調整指示の受信を契機として、第2処理装置11における複数の処理リソースの使用状況を監視し、第2処理装置11におけるサブの処理に影響を与えないように、CPUやメモリの使用量、およびデータ転送量等を調整する(Sa4)。ここで、CPUやメモリの使用量、およびデータ転送量等の調整を負荷調整と呼称する。当該負荷調整により、制御回路1109は、第2処理装置11に含まれる複数の処理リソースの少なくとも一つを第2処理プログラムの更新のための処理リソースに割り当てる。また、第2処理プログラムの更新のために割り当てられた処理リソース以外の複数の処理リソースは、第2処理装置11におけるサブの処理に割り当てる。負荷調整が完了した後、制御回路1109は、負荷調整完了通知をサービスセンタ21へ送信する(Sa5)。
さらに、サービスセンタ21は、負荷調整完了通知の受信を契機として、更新プログラムを処理回路1107へ送信する(Sa6)。処理回路1107は、サービスセンタ21から送信された更新プログラムに従い、割り当てられた処理リソースにおいて記憶回路1105に記憶された第2処理プログラムを更新する(Sa7)。
第2処理プログラムの更新後、処理回路1107は、第1処理装置7において検査に用いられた医用画像データを第1処理装置7から取得する(Sa8)。このとき、処理回路1107は、入出力IF回路1101を介して当該医用画像データを取得しても、通信IF回路1103を介して当該医用画像データを取得してもよい。
処理回路1107は、更新した第2処理プログラムに従い、第1処理装置7から取得した当該医用画像データを解析する(Sa9)。第2処理装置11における当該医用画像データの解析が完了した後、処理回路1107は、当該検査に用いられた医用画像データに対応する解析結果(実運用での解析結果)を第1処理装置7から取得する(Sa10)。処理回路1107は、処理回路707で解析された医用画像データの解析結果と、処理回路1107で解析された医用画像データの解析結果とを比較する(Sa11)。処理回路1107は、比較結果をサービスセンタ21へ送信する(Sa12)。
サービスセンタ21は、第1処理装置7において出力された医用画像データの解析結果と、第2処理装置11において出力された医用画像データの解析結果とが略一致する場合、ネットワークNWと各通信IF回路とを介して、第1処理装置7におけるメインの処理と第2処理装置11におけるサブの処理とを切り替えるための切り替え指示を制御回路709と制御回路1109とへそれぞれ送信する(Sa13)。例えば、サービスセンタ21は、各処理装置における処理リソース使用状況を監視し、各処理装置の負荷が低いタイミングで切り替え指示を出力する。
なお、第1処理装置7において出力された医用画像データの解析結果と、第2処理装置11において出力された医用画像データの解析結果とが一致しない場合、更新プログラムに不備があるため、更新作業を中止する。このとき、第2処理装置11の第2処理プログラムが更新プログラムにより更新されているため、第1処理装置7の第1処理プログラムを記憶回路1105に上書きする。第1処理プログラムは第2処理プログラムと同種のプログラムであるため、第1処理プログラムを記憶回路1105に上書きすることで、第2処理装置11は、プログラム更新前の状態に戻すことが可能である。
制御回路709は、サービスセンタ21から送信された切り替え指示の受信を契機として、第1処理装置7の役割をメインからサブに切り替える。一方、制御回路1109は、サービスセンタ21から送信された切り替え指示の受信を契機として、第2処理装置の役割をサブからメインに切り替える(Sa14)。切り替え指示により、第1処理装置7は、サブの処理を実行する(Sa15)。また、切り替え指示により、第2処理装置11は、メインの処理を実行する(Sa16)。切り替え指示の受信を契機として各処理装置の役割を切り替えることにより、病院の運用におけるメインの処理を実行しつつ、別の処理装置における更新処理を実行することが可能になる。このとき、制御回路709は、第1処理装置7の設定を第2処理装置11の設定と入れ替える。また、制御回路1109は、第2処理装置11の設定を第1処理装置7の設定と入れ替える。
サービスセンタ21は、更新プログラムを処理回路707へ送信する(Sa17)。例えば、サービスセンタ21は、第1処理装置7の処理リソース使用状況を監視し、第1処理装置7の負荷が低いタイミングで更新プログラムを送信する。処理回路707は、サービスセンタ21から送信された更新プログラムに従い、複数の処理リソースにおいて記憶回路705に記憶された第1処理プログラムを更新する(Sa18)。
これにより、第1処理装置7の第1処理プログラムおよび第2処理装置11の第2処理プログラムの更新を完了する。
さらに、各処理装置におけるメインの処理とサブの処理との入れ替え時における、第1処理装置7と第2処理装置11と第1ディスプレイ17と第2ディスプレイ19との接続の切り替えについて図5を参照して説明する。
(プログラム更新時における第1ディスプレイ17および第2ディスプレイ19の切り替え)
図5は、動作切り替え前の第1処理装置7および第2処理装置11と、第1ディスプレイ17および第2ディスプレイ19との接続を示す図である。図5に示すように、スイッチング回路15は、第1処理装置7がメインの処理を実行し、第2処理装置11がサブの処理を実行する場合、第1処理装置7と第1ディスプレイ17とを接続し、第2処理装置11と第2ディスプレイ19とを接続する。すなわち、メインの処理に関する情報は、第1ディスプレイ17に表示する。また、サブの処理に関する情報および更新処理に関する情報は、第2ディスプレイ19に表示する。
ここで、図5に示す接続状態で各処理装置における役割を入れ替える。第1ディスプレイ17には、突然、サブの処理に関する情報および更新処理に関する情報が表示される。また、第2ディスプレイ19には、突然、メインの処理に関する情報が表示される。すなわち、今まで表示されていた情報とは異なる情報が突然表示されるため、混乱を招く。もし、第1ディスプレイ17と第2ディスプレイ19とが離れた場所に設けられる場合、なおさら混乱を招く。
図6は、動作切り替え後の第1処理装置7および第2処理装置11と、第1ディスプレイ17および第2ディスプレイ19との接続を示す図である。図6に示すように、スイッチング回路15は、サービスセンタ21から送信された切り替え指示の受信を契機として、第1処理装置7と第2ディスプレイ19とを接続し、第2処理装置11と第1ディスプレイ17とを接続する。これにより、各処理装置における役割を入れ替える場合、実質的にメインの処理に関する情報の表示とサブの処理に関する情報の表示とが入れ替わらない。
以上述べた第1実施形態に係る医用システムによれば、メインの処理を実行する第1処理装置7における解析処理の実行時において、第1処理装置7とは別に設けられるサブの処理を実行する第2処理装置11にて、メインの処理で用いられた医用画像データを入力し、更新された処理プログラムに従って医用画像データの解析処理を実行し、医用画像データの解析結果を出力する。すなわち、病院の実運用において出力された医用画像データを用いて、更新した処理プログラムの動作検証を行う。これにより、実際の病院の運用に近い形で更新した処理プログラムの動作検証を実行することができる。
また、メインの処理を実行しつつ、並行して更新作業を行なうことができる。これにより、更新作業完了まで医療機器を使用した患者の検査ができないという問題を解消することができる。加えて、処理プログラムの更新に要する時間が長くなってしまっても病院の運用に影響を与えることがない。また、更新頻度が増加しても病院の運用に影響を与えることがない。これにより、病院での医用システムの運用をより円滑にすることができる。
また、更新プログラムに不備がある場合、更新作業を中止し、第1処理装置7の第1処理プログラムを記憶回路1105に上書きする。これにより、更新作業中に問題が発生しても、すぐに更新作業を中止し、更新された処理装置を元の状態に戻すことができる。
なお、上記実施形態において、更新プログラムは、ネットワークNWおよび通信IF回路を介してサービスセンタ21から送信されるとしたが、これに限定されない。更新プログラムは、更新作業が完了した他方の処理装置から取得してもよい。
また、上記実施形態において、第2処理装置11にて解析結果を比較していたが、これに限定されない。解析結果は、サービスセンタ21で比較してもよい。このとき、患者に関する情報を匿名化する。
また、上記実施形態において、例えば、サービスセンタ21は、第1処理装置の処理リソース使用状況を監視し、第1処理装置の負荷が低いタイミングで更新プログラムを送信し、処理回路707は、送信された更新プログラムに従い、複数の処理リソースにおいて記憶回路705に記憶された第1処理プログラムを更新するとしたが、これに限定されない。サービスセンタ21は、第1処理装置7の負荷が高いタイミングであっても、第1処理装置7におけるサブの処理に影響を与えないよう負荷調整を実施してから更新プログラムを送信し、処理回路707は、送信された更新プログラムに従い、第1処理プログラムを更新してもよい。
(第2実施形態)
図7は、第2実施形態に係る医用システムの構成を示すブロック図である。図7に示すように、前処理装置3には、大量に発生するデータをリアルタイムに処理するため、複数の前処理回路が備えられる。本実施形態では、これら複数の前処理回路における処理プログラムの更新および動作検証について説明する。なお、以下の説明において、第1実施形態に係る医用システムと略同一の機能および構成を有する構成要素については同一符号を付し、重複説明は必要な場合にのみ行う。
図7に示すように、前処理装置3は、通信IF回路39およびネットワークNWを介して、サービスセンタ21と接続する。前処理装置3は、複数の前処理回路31−1〜31−nと、前処理制御回路33と、入力回路35と、出力回路37とを備える。ここで、説明を簡略化するため、前処理回路31−1の構成についてのみ説明し、他の前処理回路31−2〜31−nは、前処理回路31−1と略一致する構成を有することとする。
前処理回路31−1は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。当該前処理回路31−1のメモリは、ガントリ1から伝送された生データの前処理を実現するための処理プログラムを記憶する。図8は、図7に示す前処理回路31−1の機能構成を示すブロック図である。当該前処理回路31−1のプロセッサは、処理プログラムを読み出して実行することで、前処理機能41を実現する。前処理機能41の実現により、前処理回路31−1は、非接触データ伝送回路111から出力された生データに対して前処理を実行する。例えば、複数のビュー角に対応する複数の生データを一単位としてガントリ1から前処理装置3へ伝送されるため、前処理回路31−1は、複数の生データのうち、1つのビュー角に対応する生データに対して前処理を実行する。前処理回路31−1は、前処理を実行した再構成処理直前のデータ(投影データ)を、データ収集したときにビュー角を表すデータと関連付けて、出力回路37へ伝送する。
当該前処理回路31−1のメモリは、記憶された処理プログラムの更新処理を実現するための更新プログラムを一時的に記憶する。当該前処理回路31−1のプロセッサは、更新プログラムを読み出して実行することで、更新機能43を実現する。更新機能43の実現により、前処理回路31−1は、記憶された処理プログラムを更新する。更新プログラムには、生データの前処理を実現する処理プログラムを更新するためのプログラムや、当該前処理装置3におけるセキュリティに関する設定等を修正するためのパッチが含まれる。更新プログラムは、ネットワークNWおよび通信IF回路39を介してサービスセンタ21から前処理回路31−1へ送信される。
前処理制御回路33は、ハードウェア資源として、CPUやMPU等のプロセッサと、ROMやRAM等のメモリとを含む。当該前処理制御回路33のメモリは、処理プログラムを更新した前処理回路からの出力データと他の前処理回路からの出力データとを比較する比較処理を実現するための比較プログラムを記憶する。図9は、図7に示す前処理制御回路33の機能構成を示すブロック図である。当該前処理制御回路33のプロセッサは、比較プログラムを読み出して実行することで、比較機能45を実現する。例えば、比較機能45の実現により、前処理制御回路33は、処理プログラムを更新した前処理回路からの投影データと、他の前処理回路からの投影データとを比較する。前処理制御回路33は、通信IF回路39およびネットワークNWを介して当該比較結果をサービスセンタ21へ送信する。
また、前処理制御回路33は、本前処理装置3の動作を統括的に制御する。さらに、前処理制御回路33は、複数の前処理回路31−1〜31−nにおける入出力データの記録および保管を実施する入出力管理を行う。前処理制御回路33は、当該処理プログラムに関する設定および装置内におけるハードウェアに関する設定等を含めた、前処理回路31−1における設定の記録および保管を実施する設定管理を行う。前処理制御回路33は、更新作業時に複数の前処理回路31−1〜31−nが当該生データの前処理を実行している場合、複数の前処理回路31−1〜31−nの使用状況を監視し、処理プログラムを更新可能な状態に複数の前処理回路31−1〜31−nの負荷を調整する負荷管理を行う。
入力回路35は、ガントリ1から出力された生データを複数の前処理回路31−1〜31−nそれぞれに入力する。例えば、複数のビュー角に対応する複数の生データを一単位としてガントリ1から前処理装置3へ伝送される場合、入力回路35は、複数のビュー角に対応する複数の生データを1つのビュー角に対応する生データごとに分配して、複数の前処理回路31−1〜31−nそれぞれに入力する。また、入力回路35は、複数の前処理回路31−1〜31−nの処理プログラムの更新時において、前処理制御回路33からの指示に応じて、複数の前処理回路31−1〜31−nのうち少なくとも一つを処理プログラムの更新のための処理リソースに割り当てる。
出力回路37は、複数の前処理回路31−1〜31−nから出力された複数の投影データを再構成装置5へ伝送する。また、出力回路37は、前処理制御回路33からの指示に応じて、当該複数の投影データを前処理制御回路33へ伝送する。
ここで、本実施形態に係る医用システムにおける処理プログラムの更新の流れについて、図面を参照して説明する。
(処理プログラム更新の流れ)
図10は、第2実施形態に係る医用システムにおける処理プログラムの更新の流れを示すシーケンスである。図10に示すように、複数の前処理回路31−1〜31−nは、生データに対して前処理を実行している(Sb1)。上記条件の下、複数の前処理回路31−1〜31−nの処理プログラムを更新する。
まず、サービスセンタ21は、処理プログラムを更新するための前段階として、負荷調整指示を前処理制御回路33へ出力する(Sb2)。前処理制御回路33は、サービスセンタ21から出力された負荷調整指示の受信を契機として、前処理装置3における前処理に影響を与えないように、CPUやメモリの使用量、およびデータ転送量等を調整する(Sb3)。当該負荷調整により、複数の前処理回路31−1〜31−nのうち、前処理回路31−nを処理プログラムの更新のための処理リソースに割り当てる。負荷調整を実施することで、複数の前処理回路31−1〜31−(n−1)において前処理が実行され、前処理回路31−nで更新処理が実行される状態となる(Sb4)。複数の前処理回路31−1〜31−(n−1)から出力された投影データは、再構成装置5へ伝送する。
負荷調整が完了した後、前処理制御回路33は、負荷調整完了通知をサービスセンタ21へ送信する(Sb5)。さらに、サービスセンタ21は、負荷調整完了通知の受信を契機として、更新プログラムを前処理回路31−nへ送信する(Sb6)。前処理回路31−nは、サービスセンタ21から送信された更新プログラムにより、自身のメモリに記憶された処理プログラムを更新する(Sb7)。
前処理回路31−nにおける処理プログラムの更新後、前処理回路31−nは、更新した処理プログラムに従い、ガントリ1から伝送された生データに対して前処理を実行する(Sb8)。生データの前処理が完了した後、前処理制御回路33は、出力回路37を介して、複数の前処理回路31−1〜31−(n−1)からの各出力データ(投影データ)と、前処理回路31−nからの出力データ(投影データ)とを取得する(Sb9)。前処理制御回路33は、複数の前処理回路31−1〜31−(n−1)からの各投影データと、更新した処理プログラムに従って前処理された前処理回路31−nからの投影データとを比較する(Sb10)。前処理制御回路33は、通信IF回路39およびネットワークNWを介して当該比較結果をサービスセンタ21へ送信する(Sb11)。
サービスセンタ21は、複数の前処理回路31−1〜31−(n−1)からの各投影データと、更新した処理プログラムに従い前処理された前処理回路31−nからの投影データとが略一致する場合、ネットワークNWおよび通信IF回路39を介して、負荷調整指示を前処理制御回路33へ送信する(Sb12)。例えば、サービスセンタ21は、各前処理回路31−1〜31−nの使用状況を監視し、各前処理回路31−1〜31−(n−1)の負荷が低いタイミングで負荷調整指示を送信する。なお、複数の前処理回路31−1〜31−(n−1)からの各投影データと、更新した処理プログラムに従って前処理された前処理回路31−nからの投影データとが一致しない場合、更新プログラムに不備があるため、更新作業を中止する。このとき、前処理回路31−nの処理プログラムが更新プログラムにより更新されているため、複数の前処理回路31−1〜31−(n−1)の処理プログラムを上書きする。前処理回路31−nの処理プログラムは複数の前処理回路31−1〜31−(n−1)と同種のプログラムであるため、複数の前処理回路31−1〜31−(n−1)の処理プログラムをメモリに上書きすることで、前処理回路31−nは、プログラム更新前の状態に戻すことが可能である。
前処理制御回路33は、サービスセンタ21から出力された負荷調整指示の受信を契機として、前処理装置3における前処理に影響を与えないように、CPUやメモリの使用量、およびデータ転送量等を調整する(Sb13)。当該負荷調整により、複数の前処理回路31−1〜31−nのうち、複数の前処理回路31−1〜31−(n−1)を処理プログラムの更新のための処理リソースに割り当てる。負荷調整を実施することで、前処理回路31−nにおいて前処理が実行され、複数の前処理回路31−1〜31−(n−1)で更新処理が実行される状態となる(Sb14)。前処理回路31−nから出力された投影データは、再構成装置5へ伝送される。
負荷調整が完了した後、前処理制御回路33は、負荷調整完了通知をサービスセンタ21へ送信する(Sb15)。さらに、サービスセンタ21は、更新プログラムを複数の前処理回路31−1〜31−(n−1)へ送信する(Sb16)。例えば、サービスセンタ21は、複数の前処理回路31−1〜31−(n−1)の処理リソース使用状況を監視し、各前処理回路31−1〜31−(n−1)の負荷が低いタイミングで更新プログラムを送信する。複数の前処理回路31−1〜31−(n−1)は、サービスセンタ21から送信された更新プログラムにより、各メモリに記憶された処理プログラムを更新する(Sb17)。
これにより、複数の前処理回路31−1〜31−nの処理プログラムの更新を完了する。
以上述べた第2の実施形態に係る医用システムによれば、生データに対して前処理を実行する複数の前処理回路31−1〜31−nにおける前処理の実行時において、処理リソースを調整して、複数の前処理回路31−1〜31−nのうち少なくとも一つの前処理装置を処理プログラムの更新のための処理リソースに割り当てる。処理プログラムの更新のための処理リソースに割り当てられた前処理回路以外の複数の前処理回路は、前処理された生データを再構成装置5へ出力する。さらに、更新した処理プログラムに従って生データを前処理し、プログラム更新前の処理プログラムに従って前処理された生データと、更新された処理プログラムに従って前処理された生データとを比較する。これにより、更新した処理プログラムの動作検証を行うことができる。
また、実運用の前処理を実行しつつ、並行して更新作業を行なうことができる。これにより、更新作業完了まで医療機器を使用した患者の検査ができないという問題を解消することができる。加えて、処理プログラムの更新に要する時間が長くなってしまっても病院の運用に影響を与えることがない。また、更新頻度が増加しても病院の運用に影響を与えることがない。これにより、病院での医用システムの運用をより円滑にすることができる。
また、更新プログラムに不備がある場合、更新作業を中止し、複数の前処理回路31−1〜31−(n−1)の処理プログラムを前処理回路31−nのメモリに上書きする。これにより、更新作業中に問題が発生しても、すぐに更新作業を中止し、更新された処理装置を元の状態に戻すことができる。
なお、上記実施形態において、更新プログラムは、ネットワークNWおよび通信IF回路39を介してサービスセンタ21から送信されるとしたが、これに限定されない。更新プログラムは、更新作業が完了した他方の処理装置から取得してもよい。
また、上記実施形態において、前処理制御回路33にて比較処理を実行していたが、これに限定されない。比較処理は、サービスセンタ21で実行してもよい。
また、上記実施形態において、複数の前処理回路31−1〜31−(n−1)の負荷が低いタイミングで更新プログラムを送信し、各前処理回路31−1〜31−(n−1)の処理プログラムを更新するとしたが、これに限定されない。前処理制御回路33は、前処理回路31−1〜31−(n−1)の負荷が高いタイミングであっても、前処理装置3における前処理に影響を与えないよう負荷調整を実施してから更新プログラムを送信し、各前処理回路31−1〜31−(n−1)の処理プログラムを更新してもよい。
(総括)
上記の説明の通り、本実施形態に係る医用システムは、第1処理装置と、第2処理装置とを備える。第1処理装置は、第1処理プログラムを記憶する第1記憶部と、記憶された第1処理プログラムに従い、第1入力データに対してデータ処理を実行し、処理結果を出力する第1解析部とを有する。第2処理装置は、第1処理プログラムと同種の第2処理プログラムを記憶する第2記憶部と、ネットワークを介して取得した更新プログラムに基づいて、第2記憶部に記憶された第2処理プログラムを更新する第2更新部と、第1処理装置によるデータ処理の実行時において、更新された第2処理プログラムに従い、第1入力データと同一の第2入力データに対してデータ処理を実行し、処理結果を出力する第2解析部とを有する。
上記の構成により、本実施形態に係る医用システムは、病院におけるメインの処理を実行しつつ、並行して更新作業を行なうことができる。これにより、更新作業完了まで医療機器を使用した患者の検査ができないという問題を解消することができる。加えて、処理プログラムの更新に要する時間が長くなってしまっても病院の運用に影響を与えることがない。また、更新頻度が増加しても病院の運用に影響を与えることがない。
かくして、実施形態によれば、ソフトウェアの更新において生じる運用効率の低下を防止することができる医用情報処理装置を提供することができる。
また、上記実施形態において、一例として、X線コンピュータ断層撮影装置(X線CT(Computed Tomography)装置)の構成を示したが、これに限定されない。例えば、当該医用システムは、磁気共鳴イメージング診断装置(MRI:Magnetic Resonance Imaging)、X線診断装置、核医学診断装置、および超音波診断装置等のモダリティに適用可能である。
また、上記実施形態において、X線CT装置は、いわゆる第3世代であるとした。すなわち、X線CT装置は、X線管105とX線検出器107とが一体となって回転軸の周囲を皆伝する回転/回転型(Rotate/Rotate-Type)であるとした。しかしながら、各実施形態に係るX線CT装置は、それのみに限定されない。例えばX線CT装置は、リング状に配列された多数の検出素子が固定され、X線管105のみが回転軸の周囲を回転する固定/回転型(Stationary/Rotate-Type)でもよい。また、X線CT装置は、リング状に配列された多数の検出素子が固定され、リング状に陽極が配置され、電磁偏向により電子ビームを陽極に照射させる第5世代でもよい。
また、上述した各実施形態の各プロセッサは、プロセッサごとに単一の回路として構成される場合に限らず、複数の独立した回路を組み合わせて1つのプロセッサとして構成し、その機能を実現するようにしてもよい。さらに、図1および図7における各処理回路を各制御回路に統合してその機能を実現するようにしてもよい。
また、上記各実施形態において、プロセッサは、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)やプログラマブル論理デバイス(単純プログラマブル論理デバイス(SPLD:Simple Programmable Logic Device)、複合プログラマブル論理デバイス(CPLD:Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)等)により実現されてもよい。
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。