JP2004519043A - 画像処理機能を分散型プロセッサ環境のプログラマブルプラットフォーム上に展開配置するソフトウェアシステム - Google Patents
画像処理機能を分散型プロセッサ環境のプログラマブルプラットフォーム上に展開配置するソフトウェアシステム Download PDFInfo
- Publication number
- JP2004519043A JP2004519043A JP2002563428A JP2002563428A JP2004519043A JP 2004519043 A JP2004519043 A JP 2004519043A JP 2002563428 A JP2002563428 A JP 2002563428A JP 2002563428 A JP2002563428 A JP 2002563428A JP 2004519043 A JP2004519043 A JP 2004519043A
- Authority
- JP
- Japan
- Prior art keywords
- image
- data
- software system
- module
- strip
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Computer And Data Communications (AREA)
Abstract
画像処理機能をプラットフォームと呼ばれるマルチプロセッサシステム上に展開配置することにより画像のシーケンスを処理するための、画像移送エンジンと呼ぶソフトウェアシステムであり、上記プラットフォームは処理された出力画像データを供給するために入力画像データを発生する。該ソフトウェアシステムは、上記シーケンスの画像をタイムスタンプが付されたデータパケットを用いて分割するような通信パターンと呼ぶソフトウェアデータ分割モデルを有し、これらパケットの伝送は上記画像処理機能の実行と重なり得る。上記通信パターンは、ポートを介してソフトウェアモジュールに関連された方向付けされた接続部により連結されたソフトウェアモジュールから形成される。各モジュールは自身に付属された1つの画像処理機能を活性化し、データの伝送及び同期を管理する。ソースモジュールは入力データをデータパケットに分割し、これらパケットは連続した画像ラインから形成される画像ストリップ(細片)である。これら画像ストリップは他の画像ストリップと重なり得る。上記画像ストリップの両側に位置する画像ストリップの余分な部分から形成される重なり領域は、これら画像ストリップと一緒に処理することができる。
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理機能をプラットフォームと呼ばれるマルチプロセッサシステム上に展開配置(deploy)することにより画像のシーケンスを処理するための画像移送エンジンと呼ぶソフトウェアシステムであって、上記プラットフォームが処理された出力画像データを供給するために入力画像データを発生するようなソフトウェアシステムに関する。展開配置とは、ハードウェアの構成要素上にソフトウェアの構成要素をマッピングする処理として知られている。
【0002】
また、本発明は医療X線画像のシーケンスを処理するように設計されたソフトウェアシステムの分野に特別な用途を有するものである。
【0003】
【従来の技術】
幾つかの処理を、分散型プログラマブルプラットフォームを形成するマルチプロセッサ型信号処理システムを用いて同一の画像処理タスクに対して共動させるような能力を提供するソフトウェアパッケージは、“1999年3月7〜12日、米国、TN、ナッシュビルでのコンピュータ型システムのエンジニアリングに関するIEEE会議及びワークショップの会報”の第261〜268頁におけるRandal JANKAによる「リアルタイム組み込み不均一マルチコンピュータのための効率的ミドルウェアに基づく新たな開発のフレームワーク」なる名称の文献から既知である。上記文献によれば、信号処理アプリケーションは複雑さが増加しており、今や、満足のゆく性能を達成するには“スケーラブルな不均一なマルチコンピュータ”を必要とする。従って、これらの要件を満足させるために、特定のマルチプロセッサハードウェア目標は、計算的スループット及びプロセッサ間通信帯域幅が増加している。斯かる開発の困難さを軽減するソフトウェアは“ミドルウェア”として知られており、これは標準のオペレーティングシステムより上でアプリケーションソフトウェアより下の層に位置している。即ち、ミドルウェアはプラットフォームとアプリケーションとの間に位置する汎用ソフトウェアである。プラットフォームとは、プロセッサアーキテクチャ及びオペレーティングシステムのアプリケーションプログラミングインターフェースにより規定される一連の処理構成要素である。ミドルウェアは、アプリケーションプログラミングインターフェースとサポートするプロトコルとにより規定される。ミドルウェアは、動作するハードウェア目標の数及び型式に依存して、自身のインターフェース及びプロトコル仕様に従うような複数の構成を有することができる。“フレームワーク”とは、リアルタイム信号処理のような特化されたアプリケーションドメインのためのアプリケーション開発及びシステム管理を容易化するように設計されると共に、アプリケーションプログラミングインターフェース、ユーザインターフェース及びミドルウェアにより規定されるようなソフトウェア環境である。上記文献においては、“マーキュリ・コンピュータ・システムズ”のTALARISミドルウェアと呼ばれるミドルウェアが考察されている。TALARISミドルウェアの上には“RACE用のピークウェア(PW4Rと称す)”と呼ばれるフレームワークが位置し、これはグラフィック的開発ツールのスケーラブルな不均一システムへの統合をサポートするように設計されている。PW4Rは、開発者がアプリケーションのソフトウェア及びハードウェアをグラフィック的に指定し、次いで上記ソフトウェアを上記ハードウェアにマップするのを可能にする。このように、PW4Rは上記マーキュリのコンピュータシステムが改善された柔軟性を示すのを、即ち容易にアップグレードされるのを可能にするような(低レベルの手段を使用する以前のシステムでは可能でなかった)高レベルの手段である。斯様なコンピュータシステムに関しては多くの異なるアルゴリズム的構成が必要とされるであろう。また、複雑なアルゴリズムが、当該プラットフォーム上に新たに導入される他のアルゴリズムと合成され、又は斯かる他のアルゴリズムに接続されるであろう。更に、上記プラットフォームは新たなコンピュータ手段を受け入れるか、又は何らかのコンピュータ手段が交換若しくは削除され得るであろう。PW4Rは、このような柔軟性の問題に対する解決策である。
【0004】
デジタル画像処理においては(特に、医療デジタルX線画像シーケンスの処理においては)、リアルタイム動作の間に必要とされるアルゴリズム的画像処理を達成するために複数のプロセッサが使用される。計算能力故に、この結果、プラットフォーム上に分散された幾つかのコンピュータは同一のタスクに対して共動しなければならない。前記既知のフレームワークPW4Rは、以下に示す理由により、医療デジタルX線画像のシーケンスを処理する問題に対する解決策とはならない。
【0005】
【発明が解決しようとする課題】
斯様な画像処理システムに関する第1の主たる問題は待ち時間(latency)に関するもので、該待ち時間は当該システムがピクセルの処理を開始した時点に対して、処理されたピクセルを生成するのに要する時間として定義される。例えば、医師によるカテーテルの患者の動脈への導入及びスクリーン上での該カテーテルの動脈内での進行の追跡を含むような心臓医学的手術の間において、画像のシーケンスを収集すると共に該シーケンスの処理された画像を生成するために医療システムを使用することができる。この場合、該医療システムは緊密な医師に対する画像の帰還を供給することが特に重要である。医師がカテーテルを操作する際に、該医師の操作の結果は、極めて短い遅延後にスクリーン上で知覚されねばならない。許容される遅延は例えば80msであり、これは、毎秒25画像の率で取得されるシーケンスにおいては、2画像フレームに相当する。この目的のためには、当該画像処理システムの全計算待ち時間が低減されねばならない。
【0006】
斯様な画像処理に関する第2の主たる問題は、許容される遅延内に伝送するピクセルの量に関するものである。この量は、リアルタイム動作故に、メガピクセル程度が毎秒処理されるべきものとなる。
【0007】
前記文献に開示されたコンピュータシステムに関連するPW4Rは、これらの2つの主たる問題に対する解決策を提案していない。これらの問題を解決するシステムを設定するには、画像処理アプリケーション分野に適合した計算モデルの精密な仕様が必要となる。この計算モデルは、上述した必要な性能を達成するための効率的なメカニズムの設計を含むものである。
【0008】
他の問題は、プラットフォーム上に分散された異なるプロセッサ間でのメモリ手段の使用に存在する。単一のメモリが全てのプロセッサにより共用される場合は、結果として競合が生じる。これらの競合を制御するには仲裁手段が必要とされるであろうが、結果として待ち時間が生じる。画像処理に固有の他の問題は、画像がピクセル毎に処理されるか(効率的ではない)又は画像毎に処理されるか(伝送に関しては効率的であるが、待ち時間に関しては効率的でない)の事実に存在する。また、他の問題は、多くの異なるアルゴリズム的構成が必要とされるであろうという事実に存在する。従って、これらの種々の可能な構成の処理を自動化する方法が必要である。
【0009】
本発明の目的は、プラットフォームと呼ばれるマルチプロセッサ上に画像処理機能を展開配置することにより画像のシーケンスを処理するための、画像移送エンジンとよぶソフトウェアシステムであって、上記プラットフォームが処理された出力画像データを供給するために入力画像データを発生するようなソフトウェアシステムを提供することにある。
【0010】
【課題を解決するための手段】
この課題は、請求項1及び従属請求項に記載された画像移送エンジンにより解決される。この画像移送エンジンは、通信パターンと呼ぶソフトウェアデータ分割モデルを有し、該モデルはタイムスタンプが付されたデータパケットを使用して前記シーケンスの画像を分割し、これらデータパケットの伝送は前記画像処理機能の実行と重なり合うことができる。
【0011】
本発明による画像移送エンジンは幾つかの利点を提供する。即ち、該エンジンは前記画像処理機能のプラットフォーム上への展開配置を自動的且つ柔軟性のある方法で実行することができる。また、該エンジンは待ち時間を最小化することができる。特に、該エンジンは伝送及び待ち時間の両者に関して効率的である。また、該エンジンは異なる画像処理機能を果たす幾つかのアルゴリズムを展開配置することができる。該エンジンは、特に、X線画像シーケンスの処理アプリケーションに使用するのに適している。或る実施例においては、本発明は競合の問題を解決する手段を提案する。
【0012】
【発明の実施の形態】
以下、本発明を概念図を参照して詳細に説明する。
【0013】
本発明は、プラットフォームと呼ばれるハードウェアプログラマブルアーキテクチャ上に位置し、通信パターンと呼ぶソフトウェア構成要素に基づくような、画像移送エンジンと呼ぶソフトウェアシステムに関するものである。該画像移送エンジンは、処理機能の1つ又は数個のアルゴリズム的連鎖(又は複数の連鎖)の上記プラットフォーム上への展開配置を実行する。該プラットフォームは、経路によりリンクされた、CEなる符号の付される一群の分散されたプロセッサ環境を含んでいる。一実施例において、上記画像移送エンジンが、以下、プラットフォーム上へのIPなる符号が付されるデジタルX線画像処理機能の自動化構成に関して説明される。効率、アップグレード可能性、柔軟性、小待ち時間及びユーザ利便性が、この画像移送エンジンの特徴の幾つかである。
【0014】
この画像移送エンジンは、X線システム用の画像後処理であるアプリケーション分野により制約を有している。例えば、入力データとしては、画像寸法は1Kx1Kx16ビットピクセル程度であり、画像レートは毎秒25又は30画像程度である。画像の走査は、プログレッシブであり、データは水平ラインとして到来する。該画像移送エンジンは1つの生の入力のみを許容する。画像寸法及び画像レートは変化し得るが、画像シーケンスの途中ではない。出力データに関しては、表示又は記憶されるべきものとして、1Kx1Kx16ビットピクセルとすることができる。表示器は、医療用モニタであり得る。上記処理連鎖の種々のレベルにおいて、ディスク上への画像の記憶が必要とされるであろう。該処理連鎖においては、幾つかのアルゴリズムを合成することができる。該提案された画像移送エンジンの目的は、待ち時間が1フレーム期間未満となることである。アルゴリズムが一層多くを必要とする場合は、より多くの待ち時間を許容することができる。画像は直列に形成され、所与のシーケンスにおける全ての画像は画像損失が存在しないように処理されねばならない。また、この画像移送エンジンは異なるアルゴリズムを比較する能力も有する。画像の間で、パラメータは変化し得る。プラットフォーム上に展開配置されるべきアルゴリズムは、当業者により既知のように、時間的、空間的又は空間時間的処理機能を含むノイズ低減処理;複数解像度におけるコントラスト強調又はエッジ強調;画像減算;補間を伴うズーム;画像回転;動き推定;構造検出;及び構造抽出を含むことができる。例示として示した該リストは、全てを網羅するものではない。これらアルゴリズムは、非線形的であり得、異なる空間的広がり、即ち近隣を有し得、原因的又は反原因的であり得る。アルゴリズムの複雑さは、ピクセル当たり約100演算にも達し得る。
【0015】
このリストは、X線画像処理用のマルチプロセッサアプリケーションの実施化は非常に多く制約されることを示している。データレート、待ち時間、フィルタの空間的広がり及びアルゴリズムの多様性は、効率的な構成の設計を非常に敏感にさせる。柔軟性及びアップグレード可能性は、これらが性能の問題に加えて単純さに対する強い要件を加えることになる(即ち、アルゴリズムの挿入、削除及びスワッピングは簡単な介入により達成されねばならない)ので、制約要因となる。また、該画像移送エンジンは非専門家に対しても管理可能なものでなければならない。該エンジンはアプリケーションの完全さを危うくしてはならない。また、前記画像寸法及び画像レートは容易に変更することができるものとする。新たな、多分一層性能の良いプロセッサが上記プラットフォームに追加され得る。当該アプリケーションインフラストラクチャにおける如何なる変更も、簡単な介入により管理することができるものとする。
【0016】
I)通信パターンの仕様
当該画像移送エンジンは上述した全ての要件に答えるように設計されている。分散型処理アプリケーション用の効率的な通信インフラストラクチャを構築することが、通信パターンの仕様となる。上記画像移送エンジンの全体の動作は該通信パターンの単なる仕様を介して自動化されるので、全てのデータ通信及び処理制御は自動的に実現される。以下に定義する通信パターンは、分散されたX線アプリケーションを処理することができると共に、ユーザに所与のアプリケーションに適応された特定の通信インフラストラクチャを作製する手段を提供することができる。
【0017】
この通信パターンの定義は、プロセッサの数、これらプロセッサの能力及び接続性を含む目標ハードウェアを定義する段階を有する。目標とされるハードウェアプラットフォームは、商用のオペレーティングシステム、及び互いの間でデータを交換することができるようなコンピュータ環境(CEで示す)と呼ぶ付加的な分散されたプログラム可能な環境を備える商用ホストプロセッサと組み合わせることができる。該コンピュータ環境は、バスと呼ぶ物理的なプログラム可能なデータ経路により相互に接続される。各CEは、プロセッサと、該プロセッサのローカルメモリと、上記バス上の伝送を監視することが可能なインターフェース手段とを含んでいる。各CEは商用のリアルタイムオペレーティングシステムと組み合わされ、該オペレーティングシステムはCE間のデータ伝送及び同期を管理する基本的手段を含んでいる。この商用のリアルタイムオペレーティングシステムは、先に定義した柔軟性及びアップグレード可能性に対する要求を満たすものではない。
【0018】
これが、並列なアプリケーションの設計及びコーディングを、画像処理機能しかコーディングする必要がなく、全体のアプリケーションのインフラストラクチャをテキスト的又は概念的既述から指定及び発生することができる点まで容易化するために、本発明により画像移送エンジンと呼ばれるソフトウェア構成要素が生み出された理由である。この画像移送エンジンは、望ましくは、待ち時間及び淀みなさの両方に関して効率的なアプリケーションを生成しなければならない。この目的のため、該画像移送エンジンは画像データパケットの伝送用に設計された通信パターンに基づくものである。待ち時間とは、当該システムを介して入力から出力までのデータ要素の平均横断時間を指す。淀みなさとは、データ伝送、同期及びスケジューリングの効率を指す。画像データパケットの同期は、画像データパケットの伝送時間と比較して非常に短い場合に効率的となる。画像データパケットの伝送は、当該伝送が生じるバスの帯域幅を完全に利用する場合に効率的となる。画像データパケットの伝送のスケジューリングは、ローカルな処理に対して非顕著である、即ちデータの処理と通信との時間的重なりの場合に効率的となる。
【0019】
図1Aないし図1Dを参照すると、当該通信パターンは画像処理アプリケーションの定義を可能にするモデルである。該通信パターンは、上記画像処理アプリケーションに参加する一群の画像処理機能IPに対してデータ通信及び計算の自動化及び最適化を達成することができる方向付けされたソフトウェアモデルである。該通信パターンは基本画像データパケットを扱い、これらパケットはソフトウェアモジュールにより処理されて、モジュールからモジュールへと通常の方法で受け渡される。全体の処理は、モデル内で互いに押し合う連続した画像データパケットの流れとして見ることができ、該モデルにおいて、これらパケットはモジュールと呼ばれる計算ユニットを横断し、これらモジュールは画像データパケットを次から次へと処理する。しかしながら、淀みのないデータの流れに到達する前に、当該システムは全てのモジュールが初期化条件で阻止されている凍結状態から開始しなければならず、平穏に進む(即ち、デッドロック及び誤った同期を防止する)ことができなければならない。該通信パターンは、ノード、インターフェース及びエッジを有するデータ通信設計に従って配設された幾つかのソフトウェア構成要素から形成されている。
【0020】
上記ノードは、ボックスにより示されるソフトウェアモジュール(簡略化のためにモジュールと呼ぶ)である。モジュールは実行ユニットである。モジュールの役割は、当該モジュールに付属される画像処理機能(IPで示す)を活性化すると共に、対応するデータ伝送及び同期を管理することである。1つのモジュールには、単一の画像処理機能IPのみが付属される。この機能IPは、幾つかの他の機能を呼び出す。短い待ち時間を保証するために、画像処理機能IPは当該処理の境界内で定義されると共に、通常は画像データパケットのレベルである。従って、画像処理アプリケーションは、データ、パラメータ又は同期情報を交換する一群のモジュールとして定義される。通信パターンは、マルチ処理、即ち同一の画像処理アプリケーションに属する幾つかのモジュールが同一のプロセッサ上で動作することも、又は並行画像処理アプリケーション、即ち幾つかの別個の画像処理アプリケーションが同一のプロセッサを共有することも排除しない。
【0021】
前記エッジとは、矢印により示されると共に、接続部と呼ばれるリンクである。通信パターンは、所与のアプリケーションのモジュールに関連する論理的接続性を定義する。このように、該通信パターンはリンクを介してデータが1方向のみに非巡回的に流れるように方向付けされている。即ち、ループは許可されず、上流に向かうデータリンクは存在しない。接続部を表す矢印は、それに応じて方向付けされている。
【0022】
モジュールと接続部との間の前記インターフェースとは、ポートである。モジュールは、これらインターフェースが情報を交換するのを可能にする固有の内部構造を有している。モジュールと情報を交換する唯一の方法は、ポートを介してのものである。矢印により示される接続部の向きが、入力ポート及び出力ポートを規定する。これらのモジュールが当該通信パターンの外部の主体と通信しなければならない場合、これら主体は端末ポートと呼ばれる。接続部はモジュールポート間での情報交換を担うメカニズムを規定する。論理接続は、これら接続が物理的経路、即ち物理的接続部と組み合わされた場合にのみ成功し得る。
【0023】
3つのタイプの接続部分類が定義される。即ち、第1のタイプはデータ接続部分類であり、この場合、接続部は画像データを扱う。データ接続部は画像データの伝送に特化されており、1方向性である。第2のタイプは端末接続部の分類であり、これら接続部はモジュールポートを端末ポートにリンクする半接続部であり、1方向性である。第3のタイプはパラメータ接続部の分類であり、これら接続部はアルゴリズムのパラメータを扱い、双方向性である。
【0024】
各データ接続部は、静的に定義された伝送されるべきデータのタイプを示すようなパラメータを帯びる。事実、データ伝送に関する限り、ピクセル当たりのバイトの数で充分である。通信パターンはデータ伝送時においてはタイプの変換は許可しない。もし斯様な変換が必要なら、斯かる変換は画像処理IP機能内で実施されねばならない。従って、或る接続部に対応する全ての入力及び出力ポートは同一のデータタイプを扱い、かくして、接続部毎の固有のパラメータを正当化する。データ伝送が関係する限りにおいて、ピクセル当たり如何なるバイト数も許容される。しかしながら、データタイプは画像処理IP機能レベルにおいても意味があるから、ピクセル当たり1、2、4又は8バイトなる可能性のある値が指定される。
【0025】
モジュールは幾つかのタイプを有し、それらの中で、SOURCEと符号を付したソースモジュールは如何なる入力データ接続部も有さず、処理されるべきデータを同期情報と共に発生する責務を有している。SINKと符号を付したシンクモジュールは如何なる出力データ接続部も有さず、処理されたデータの受信部として使用される。MODと符号を付した通常のモジュールはソースモジュールでもシンクモジュールでもない。ソース及びシンクモジュールは、性質上、しばしば入力及び出力端末接続部を備えている。通信パターン当たりには単一のソースモジュールしか存在しない。端末出力接続部は必ずしもシンクモジュールから派生するものではないことに注意すべきである。端末接続部は、例えばデータを所与の媒体に待避するために当該通信パターンの幾つかの場所で使用することができる。
【0026】
ソースモジュールは、同期したデータストリームを送出する限り、幾つかの出力データ接続部を有することができる。また、ソースモジュールはTime−Refとして示す時間参照データ構造を生成する責務も有し、該時間参照データ構造は所与の画像シーケンスの全ての画像データパケットの位置を定める。事実、この参照は、当該画像シーケンス内の画像インデックスを識別するフィールドと、現画像内のパケットインデックスを帯びるフィールドとを含んでいる。Time−Refは、対応するパケットと共にモジュールからモジュールへと受け渡される。これは幾つかの重要なタスクを実行することを可能にし、これらタスクとはデータの突き止め、画像処理機能IPの管理及び遅延管理である。Time−Refは、定義により、データパケットを当該シーケンス内の画像インデックスに対して及び現画像内の当該データパケット位置に対してデータパケットの位置を特定する時間参照構造である。このように、幾つかの別個のデータパケットを同一の情報を含むTime−Ref構造と共に伝送することができるという点で、これはデータパケットの参照ではない。これは、特に、或る入力データパケットが幾つかの出力データパケットを生成する場合に当てはまる。
【0027】
これまで紹介された構成要素によれば、非常に複雑な有効な通信モデルを作成することが既に可能である。以下では接続性の規則が提示される。即ち、各モジュールは固有のパラメータ接続部を備える。各通信パターンは少なくとも1つのソース及び1つのシンクモジュールを含まなければならない。ソースモジュールは固有のものである。幾つかのシンクモジュールが共存することができる。ソースは、同期したストリームに対応する幾つかのデータ出力ポートを有することができる。シンクは幾つかのデータ入力ポートを有することができる。通常のモジュールは2以上の入力及び/又は出力ポートを有することができる。データ出力ポートは、幾つかの単純なデータ接続部により読み取ることができる。データ入力ポートには、幾つかの単純なデータ接続部によっては書き込むことができない。データ接続部はパイプラインレベルをバイパスすることができる。データ接続部のループは許されない(“ループ無し”規則)。幾つかの接続部は、共通の分散から生じ、且つ、同一のストリップ(細片)伝送周波数を有するならば、集合させることができる。最後の2つの規則を犯さないなら、部分的集合も可能である。上に掲げた規則の殆どは、当然であるか又は許される。しかしながら、上記“ループ無し”規則は時間的再帰アルゴリズムを実施化する可能性を耐え難く放棄しているように見える。確かに、これは誤った主張である。時間的巡回(再帰)フィルタは前の出力データを入力として必要とする。しかし、前の出力データは、これらデータが内部的に生成されたものであれば、外部経路から再生する必要はない。該困難性を克服するには、開発者に連続する画像間でデータを記憶する方法を提供するだけで充分である。このように、通信パターン仕様からデータ接続ループを削除することは、過酷な実施化の理論的な問題を防止する。同様に、モジュール間レベルで如何なる帰還も不可能であると結論すべきではない。上記“ループ無し”条件はデータ接続部のみに当てはまるものであり、パラメータ接続部は例えば制御情報を含む限られた帰還を導入するためには完全に使用することができる。
【0028】
II)通信パターンのプラットフォーム上へのマッピング
通信パターンはプラットフォーム上にマッピングされる。該マッピング処理は、モジュールと計算環境との間の関連性を定義し、当該画像処理機能IPがプロセッサネットワーク上を通過するデータと相互作用し合う態様を構成させる。この処理は、入力データをデータパケットに分割する段階と、該画像データパケットを伝送する段階とを含む。
【0029】
本発明によれば、入力データはソースモジュールにより、画像ストリップと呼ばれるデータの細片(スライス)であるようなデータパケットに分割される。画像ストリップは、おそらくは他の画像ストリップと重なるような、連続する画像ラインのパケットである。以下のX線医療画像処理の例においては、シーケンスにおける画像は水平方向に走査され、データは処理されるべきピクセルから形成される水平ラインに沿って到来する。画像はピクセル毎に(効率的ではない)処理されるのではなく、シーケンスが画像毎に(伝送に関しては効率的であるが、待ち時間に関しては効率的でない)処理されるのでもない。代わりに、画像は上述した画像データパケットに相当するような、幾つかのラインからなる画像ストリップに分割される。これら画像ストリップは上記画像ラインに平行である。これら画像ストリップが画像処理のために伝送される。事実、各モジュールは処理すべきデータの量に比例した待ち時間を生じる。本発明によれば、画像ストリップの使用は高伝送及び小待ち時間の両方において効率的であることが分かった。1つの画像ストリップを形成するためのラインの数の選択は、伝送効率と待ち時間との間の妥協点を決定する。画像ストリップは待ち時間を最小に維持する。このように、データパケットに関して先に述べた全てが、画像ストリップに適用されると考えられるべきである。一実施例においては、1024ラインから形成される画像は、32ラインからなる32個の画像ストリップを有する。
【0030】
殆どのX線画像化アルゴリズムは、二次元の近隣部を導入するので、空間的重なりを考慮しなければならない。重なり領域は入力ポートレベルで必要である。IP機能には、処理されるべきピクセルから形成される活性領域と、該活性領域内で処理を達成するために必要とされる余分なピクセルから形成される重なり領域との両方が供給される。該IP機能により見られる入力領域は当然一致すべきであるから、重なりパラメータはモジュールレベルで宣言される。このことは、異なる空間的広がりを要する幾つかのエントリを合成するアルゴリズムには、事実、固有の重なりを有する領域が供給されることを意味する。また、対称的な重なり幾何学構造も考慮される。水平方向の画像ストリップのみが考慮されるので、重なりの効果は、当該画像ストリップの両側上の重なるラインの数に関するモジュールレベルのパラメータのみにより考慮に入れることができる。空間的重なりが各モジュールの横断において余分なストリップ遅延を生じることに注意すべきである。また、空間的重なりを、データ伝送をデータ処理と重ね合わさせる能力を指す時間的重なりと混同すべきでないことに注意すべきである。
【0031】
現画像ストリップに対してユーザ定義の画像処理機能IPを開始するために、幾つかの予め定義された接続手段タイプに対して時間的モジュール間/モジュール内入力/出力計算の重なりを達成することにより、最適化が実現される。以下パイプライン接続部、分散/集合接続部及び枝路接続部と呼ぶ接続手段タイプが定義される。上述した接続部の中で、データ接続部が最も重要な分類である。データ接続部の分類に属する全ての接続部は、連続する画像ストリップのTime−Refを含む所要の同期情報と共の繰り返し伝送を保証する。これらは全て単方向性である。図1Aないし図1Dを参照すると、データ接続部は以下のものを有する。
【0032】
ポイントツーポイント接続部であり、PPで示す単純接続部。該接続部は連続する画像ストリップを伝送することができる(図1A)。
【0033】
SCで示す[1/n]分散接続部。該接続部は、全てが共通の出力ポートから発するn個の接続部のグループに属するポイントツーポイント接続部である。該接続部はn画像ストリップ毎に1つの画像ストリップの率で画像ストリップを次から次へと伝送することができる。対応する放出ポートはデータ分散ポートと呼ばれる(図1B)。
【0034】
GAで示す[1/n]集合接続部。該接続部は全てが共通の入力ポートに到達するn個の接続部のグループに属するポイントツーポイント接続部である。該接続部はn画像ストリップ毎に1つの画像ストリップの率で画像ストリップを次から次へと伝送し、この入力ポートに到達する全ての画像ストリップを集合させる。対応する受信ポートはデータ集合ポートと呼ばれる(図1B)。
【0035】
BRで示す枝路接続部(図1C)。該接続部は単純接続部と同様のポイントツーポイント接続部であるが、分散/集合構造の同一の枝路に属する2つのモジュールをリンクする。
【0036】
以下に、上記画像ストリップを用いた最小の待ち時間による通信パターンの例を説明する。これら例は、タスク分割方法及びデータ分割方法に依存している。
【0037】
図1Aを参照すると、パイプライン構造は、ソースモジュールSOURCEと、例えばMOD1、MOD2等の1又は数個の通常のモジュールと、シンクモジュールSINKとを有している。該パイプラインの実施化のために単純接続部が適用されており、アルゴリズムの直列合成を実施することができる。画像処理機能が、関連するモジュールをリンクする物理的データ経路に沿って次から次へと適用され、当該タスク分割構造を形成する。各モジュールは全ての画像ストリップに対して或るタスクを活性化させ、幾つかの中間結果は次のモジュールへ並列データストリームとして受け渡すことができる。図1Aは、純粋なタスク分割構造を表している。点線により表された接続部により示されるように、ソースモジュールとシンクモジュールとの間、又はソースモジュールと通常のモジュールとの間の近道が許容される。パイプライン処理によるタスク分割によって生じる待ち時間は、パイプラインのレベルの数に伴い増加する。事実、パイプライン段を通過する毎に幾つかの画像ストリップ期間が失われるが、実際には、パイプライン処理によるタスク分割は非常に効率的である。
【0038】
図1Bを参照すると、分散/集合構造は、1つのソースモジュールSOURCEと、MOD1、MOD2、…、MODnのような枝路に並列に配置された少なくとも2つの通常のモジュールと、シンクモジュールSINKとを有している。分散接続部SC及び集合接続部GAは分散/集合タイプのタスク分割に特化されている。例えば、上記ソースモジュールのポートにより送出された画像はインデックスに従って番号付けされた画像ストリップに裁断される。[1/n]分散接続部は、これら画像ストリップを斯かるストリップのストリップインデックスに従ってモジュールMOD1ないしMODn上に均一に分配する。一旦処理されたら、[1/n]集合接続部により、上記の分散された画像ストリップは自動的に集合される。n個の枝路の代わりに、2つのみの枝路を使用して分散/集合構造を形成することもできる。この場合、奇数のインデックスを有する画像ストリップは一方の枝路上で処理され、偶数インデックスを有する画像ストリップは他方の枝路上で処理される。図1Bは純粋なデータ分割方法を示している。ソースモジュールとシンクモジュールとの間の近道が、許される。該分散/集合処理は、小待ち時間を維持しながらデータ分割の利点を得ることを可能にする。しかしながら、広い空間的広がりを特徴とするアルゴリズムに適用された場合は、重大な困難さを伴い得る。何故なら、性質上、分散構造の各枝路は非連続的な画像ストリップを処理するからである。必要とされる空間的重なりが限られる場合に最も有利となる。
【0039】
図1Cを参照すると、枝路モード構造は、枝路にパイプライン構造を持つような分散/集合構造を有している。該分散/集合構造は、1つのソースモジュールSOURCEと、通常のモジュールのパイプライン構造を有する少なくとも2つの並列な枝路と、シンクモジュールSINKとを有している。例えば、上記ソースモジュールのポートにより送出された画像はn=2の画像ストリップに裁断される。これら画像ストリップはインデックスに従って番号付けされるが、この例では、インデックスは1、2であり得る。[1/2]分散接続部SCは、これら画像ストリップをストリップインデックスの一致に従って最初の枝路BRのMOD1、MOD2上に分配する。これら画像ストリップは、代わる代わる2番目の枝路BRのモジュールMOD3、MOD4により処理される。一旦処理されると、上記の分散された画像ストリップは[1/2]集合接続部GAにより自動的に再び集合される。先に述べたような近道も許される。
【0040】
図1Dを参照すると、広帯データ分割構造と呼ばれる他の構造を、単純接続部PPを使用して先の構造の合成として設計することができる。該広帯データ分割構造はソースモジュールの性質、即ち該ソースの2つの同期した出力ストリームを伝送する能力を使用する。もし、モジュールSOURCE内で画像の半分の遅延が導入され、更に空間的に重なる画像ストリップを設けることができれば、2つの同期したストリームを、あたかも2つの別個の半分の寸法の画像から生じるように生成することが可能になる。下流のモジュールは、これらのストリームを、2つの別個の入力ポート(1つは当該画像の上部用、もう1つは下部用)を持つモジュールSINKまで独立に処理する。かくして、シンク画像処理機能内で上記2つの半画像を集合させ、最終結果を目標とされる端末点に向かって押し出すことが残る。もっと一般的に言うと、この構成は、n個の連続する多分重なり合う、幾つかの連続する画像ストリップからならなる画像広帯に適用することができる。パイプライン処理による前述したタスク分割は、図1Dに示されるように、広帯データ分割と継ぎ目無しで合成することができる。
【0041】
広帯データ分割はパイプライン処理によるタスク分割よりも利点を有している。何故なら、該広帯データ分割は必要とされる帯域幅の数を減じると共に高モジュール性を可能にするので、タスクがパイプライン処理を介してリアルタイム状況に到達するために不自然な裁断処理を受ける必要がないからである。しかしながら、広帯データ分割は一層大きな待ち時間を生じる。パイプライン処理によるタスク分割は広帯データ分割よりも一層効率的のままである。
【0042】
III)画像ストリップの伝送の定義
Time−Refは、画像ストリップを当該シーケンスにおける現画像インデックスに関して及び現画像内での画像ストリップ位置に関して位置特定する。前述したように、或る入力画像ストリップが幾つかの出力画像ストリップを生成する場合のように、幾つかの別個の画像ストリップを同一の情報を含むTime−Ref構造と共に伝送することができる。これら画像ストリップは接続部を介して次から次へと伝送される。従って、全てのデータ通信及び計算はストリップレベルで生じ、これは待ち時間を非常に小さく維持するのを可能にする。各モジュールは画像ストリップを反復的に受信し、処理し且つ送信する。タイムスタンプが付された画像ストリップは、画像ストリップ伝送の間にモジュール間の及びモジュール内の時間的重なりが実行されるように、且つ、計算が一定的に達成されるように使用される。従って、全体の動作は極めて最適化される。各接続手段タイプに関して、これらの重なり合い特性が達成される精細な方法を詳細に説明する。これは、適切な入力/出力画像ストリップ遅延方針に依存する。
【0043】
図2は、重なり無しパイプライン処理と呼ぶ技術による、図1Aのパイプライン構造における画像ストリップの伝送を示している。ソースは、所定数の隣接する画像ストリップ(重なり領域の無い活性領域を伴う)を生成すると定義される。これら画像ストリップは、幅wと呼ぶ所与の数のラインを有している。上記ソースにより生成された斯かる画像ストリップは、次から次へとMOD1へ送信され、次いでMOD1からMOD2へ送信される。例えば、MOD1は各画像ストリップに第1画像処理機能IP1を適用し、MOD2は送信された画像ストリップに更に第2画像処理機能IP2を適用する。符号t−4、t−3、t−2、t−1及びtは順次の画像ストリップがMOD1において処理される時点である。第1画像処理機能IP1が時点tにおいて画像ストリップ(“[t]画像ストリップ”により示す)を生成している間、前の時点t−1において生成された画像ストリップ(“[t−1]画像ストリップ”により示す)は既にMOD2に送信することができる。更に、時点t−2において生成された先行する画像ストリップ(“[t−2]画像ストリップ”により示す)は、IP2画像処理機能により処理されるべく既にMOD2において利用可能である。このように、パイプライン構造においては、時点tにおける第1モジュールによる所与の[t]画像ストリップの生成の間において、該第1モジュールの出力ポートは時間的に最後の[t−1]画像ストリップを送信する。そして、第2モジュールによる或る[t−2]画像ストリップの処理の間において、該第2モジュールの入力ポートは時間的に次の[t−1]画像ストリップを受信する。従って、各モジュールは常に動作している。
【0044】
図3Aは、重なりを伴うパイプライン処理と呼ぶ技術による図1Aのパイプライン構造における画像ストリップの伝送を示している。ソースは、所定数の隣接する画像ストリップ(重なり領域の無い活性領域を伴う)を生成すると定義される。これら画像ストリップは、幅wと呼ぶ所与の数のラインを有している。一例においては、ソースにより生成された斯かる画像ストリップは、第1処理機能IP1により処理されるべく、次から次へと第1モジュールMOD1へ送信される。次いで、これら画像ストリップは第2処理機能IP2により処理されるべく第2モジュールMOD2へ同一の順序で送信されるが、該第2処理機能IP2は上記画像ストリップを処理するためにピクセルの近隣のものを必要とする。このように、上記第2処理機能IP2を実行するためには、MOD2においては、上記活性領域の各側に位置する所定幅aの2つの重なり領域が必要となる。符号t−4、t−3、t−2、t−1及びtは、幅wの隣接する画像ストリップが第1モジュールMOD1により生成される順次の時点である。
【0045】
画像処理機能IP1がMOD1において時点tに[t]画像ストリップを生成する際に、該機能は[t−1]画像ストリップを既に生成している。次のモジュールMOD2は活性領域に加えて2つの重なり領域を必要とする。従って、上記[t−1]画像ストリップは送信することができない。何故なら、[t]画像ストリップ内に位置する重なり領域の準備が整っていないからである。しかしながら、t−2において生成された[t−2]画像ストリップは既に利用可能である。従って、時点tにおいては、MOD1の出力ポートは[t−2]画像ストリップに加えて[t−1]画像ストリップ内に位置する重なり領域を送信する。しかしながら、MOD1は[t−3]画像ストリップ内に位置する重なり領域も、[t−2]画像ストリップ内に該[t−3]に隣接して位置する幅aの領域も送信する必要はない。何故なら、これらの領域は第2モジュールMOD2内に既に存在するからである。[t]画像ストリップの生成の間において、第2モジュールMOD2へ送信される画像ストリップは、幅wを有すると共に[t−2]画像ストリップに対して[t−1]画像ストリップに向かい幅aだけシフトされているという特徴を有している。この送信動作の間において、モジュールMOD2は該MOD2に既に存在する2つの重なり領域(各側に1つの重なり領域が位置する)を伴う[t−3]画像ストリップを処理する。従って、重なりを伴うパイプライン処理によるタスク分割のメカニズムにおいては、或る画像ストリップの生成と前に生成された画像ストリップの送信との間に余分な遅延が必要となる。この余分な遅延は、時間的に最後の画像ストリップ内に位置する所要の重なり領域の生成に関係する。斯様な余分な遅延及び空間的シフトを使用すると、画像ストリップの送信の最適な構成が得られる。
【0046】
図3Bは、重なりを伴う分散処理と呼ぶ技術による図1Bの分散構造における画像ストリップの伝送を示している。ソースは、幅wと呼ぶ所与の数のラインを有する所定数の隣接する画像ストリップを生成するものと定義される。図3Bにより示される例においては、2つのうちの1つの画像ストリップが第1モジュールMOD1に送信される。上記画像ストリップは第1処理機能IP1により処理されるべく次から次へと送信される。第1モジュールMOS1へ送信されない画像ストリップは、第2処理機能IP2により処理されるべく、並列に配置された第2モジュールMOD2へ送信される。このように、モジュールMOD1及びMOD2は交互の画像ストリップを処理する。これは、図1Bのモジュールの数がn=2の場合であろう。MOD1により処理される画像ストリップの間にはラインの空所が存在し、MOD2により処理される画像ストリップの間にもラインの空所が存在する。例えば、MOD1は白の帯により表された画像ストリップを処理し、MOD2はハッチングされた帯により表される画像ストリップを処理する。例えば、MOD1は奇数のインデックスの画像ストリップを処理し、MOD2は偶数インデックスの画像ストリップを処理する。MOD1及びMOD2の画像処理機能は、ピクセルを処理するために斯かるピクセルの近隣のものを必要とすると仮定する。このように、上記画像処理機能IP1及びIP2を実行するためには、活性領域の各々の側に位置する所定幅aの2つの重なり領域が必要とされる。符号t−4、t−3、t−2、t−1及びtは、SOURCEにより幅wの画像ストリップが生成される順次の時点である。時点tにおいてSOURCEが偶数インデックスの[t]画像ストリップを生成している間に、該SOURCEはt−4、t−3、t−2、t−1、…において以前の画像ストリップを既に生成している。次のモジュールMOD2は、偶数インデックスを持つ活性領域に加えて、奇数インデックスを持つ画像ストリップの各側に位置する2つの重なり領域を必要とする。従って、当該SOURCEにおいてt−2に生成された偶数インデックスを持ち既に利用可能な[t−2]画像ストリップが、既に作成されている奇数インデックスの [t−3]及び[t−1]画像ストリップ内に位置する幅aの2つの重なり領域と一緒にMOD2へ送信される。従って、時点tにおいては、SOURCEの出力ポートは[t−2]画像ストリップに加えて、該画像ストリップの両側に位置する上記重なり領域を送信する。この送信動作の間において、モジュールMOD2は、該MOD2で既に利用可能な、偶数インデックスを持つ[t−4]画像ストリップと、奇数インデックスの[t−5]画像ストリップ及び奇数インデックスの[t−3]画像ストリップから到来した該[t−4]画像ストリップの2つの重なり領域(各側に1つの重なり領域が位置する)とを処理する。偶数インデックスの[t−2]画像ストリップの送信の間において、SOURCEの出力ポートは奇数インデックスの[t−1]画像ストリップをMOD1に送信することはできない。何故なら、[t]画像ストリップ内に位置する重なり領域が未だ準備されていないからである。従って、MOD1は上記偶数インデックスの[t−2]画像ストリップの送信前に送信された奇数インデックスの[t−3]画像ストリップを処理する。重なり領域は活性領域と一緒に送信されるべきであることに注意すべきである。何故なら、これら重なり領域は、さもなければMOD1又はMOD2によっては処理されないインデックスの画像ストリップ内に位置するからである。例えば、MOD2は重なり領域のラインを除いて奇数インデックスの画像ストリップのラインは有さない。また、MOD1も重なり領域のラインを除いて偶数インデックスの画像ストリップのラインを有さない。上述したように、MOD1及びMOD2においては画像ストリップの間に空きが存在する。
【0047】
図3Cは、重なりを伴う集合処理と呼ぶ技術による図1Bの集合構造における画像ストリップの伝送を示している。SINKは、所定数の隣接する画像ストリップ(例えば、上述した重なりを伴う分散処理により処理された画像ストリップ)の集合から最終画像を構築するものと定義される。画像ストリップは幅wと呼ばれる所与の数のラインを有している。図3Cに示された例においては、これらの画像ストリップは上記SINKの入力ポートにより集合される。SINKはIP1及びIP2により処理された前記重なり領域は必要としない。該SINKは、最終画像を構築するために、隣接する活性領域のみを必要とする。従って、画像ストリップは、これら画像ストリップの重なり領域を伴わないでMOD1及びMOD2により、連続する時点t−4、t−3、t−2、t−1及びtの順に交互に送信される。従って、MOD1は奇数インデックスの[t−5]画像ストリップを送信し、次いでMOD2が偶数インデックスの[t−4]画像ストリップを送信し、次いでMOD1が奇数インデックスの[t−3]画像ストリップを送信し、次いでMOD2が偶数インデックスの[t−2]画像ストリップを送信し、次いでMOD1が奇数インデックスの[t−1]画像ストリップを送信し、次いでMOD2が偶数インデックスの[t]画像ストリップを送信する。そして、SINKは活性領域のみを用いて最終画像を構築する。何故なら、例えばSINKが[t]画像ストリップのラインを受信する際、該SINKは隣接する[t−1]画像ストリップのラインは既に処分している等々であるからである。
【0048】
図3Dは、重なりを伴う枝路接続と呼ばれる技術による図1Cの枝路構造における画像ストリップの伝送を示している。モジュールMOD1及びMOD3により形成される枝路に関し、SOURCEが時点tにおいて偶数インデックスの[t]画像ストリップを生成している間に、該SOURCEは時点t−4、t−3、t−2、t−1、…において先行する画像ストリップを既に生成している。次のモジュールMOD1は、偶数インデックスを有する活性領域に加えて、奇数インデックスを持つ画像ストリップにおいて各々の側に位置する2つの重なり領域を必要とすると仮定する。このように、SOURCEにおいてt−2に生成された[t−2]画像ストリップ(偶数インデックスを有し既に利用可能である)は、既に生成されている奇数インデックスの[t−3]及び[t−1]画像ストリップ内に位置する幅aの2つの重なり領域と一緒にMOD1へ送信される。従って、時点tにおいて、該SOURCEの出力ポートは[t−2]画像ストリップに加えて該画像ストリップの両側に位置する上記重なり領域を送信する。この送信動作の間において、モジュールMOD1は、該MOD2内で既に利用可能な偶数インデックスを持つ[t−4]画像ストリップと、奇数インデックスの[t−5]画像ストリップ及び奇数インデックスの[t−3]画像ストリップから各々到来した該[t−4]画像ストリップの2つの重なり領域(各々の側に1つの重なり領域が位置する)とを処理する。偶数インデックスの[t−2]画像ストリップの送信の間において、上記SOURCEの出力ポートは奇数インデックスの[t−1]画像ストリップをMOD2に送信することはできない。何故なら、該[t−1]画像ストリップ内に位置する重なり領域は未だ準備が整っていないからである。従って、MOD2は上記偶数インデックスの[t−2]画像ストリップの送信前に送信された奇数インデックスの[t−3]画像ストリップを処理する。上記重なり領域は活性領域と一緒に送信されるべきであることに注意すべきである。何故なら、これら重なり領域は、さもなければモジュールMOD1又はMOD2によっては処理されないようなインデックスの画像ストリップ内に位置しているからである。ここで、当該枝路の次のモジュールMOD3も重なり領域を必要とすると仮定すると、これら重なり領域は上記枝路のモジュールの連鎖内で使用されるために該枝路に沿って蓄積されねばならない。
【0049】
図1Dの広帯構造においては、画像ストリップは重なりを伴う広帯と呼ばれる技術により伝送される。SOURCEは、各画像半部が画像ストリップにより形成されるような2つの画像半部を生成するものと定義される。第1画像半部は、モジュールMOD1及びMOD3を有する第1枝路に送信される。第2画像半部は、モジュールMOD2及びMOD4を有する並列に配置された第2枝路に送信される。各枝路において、画像ストリップはパイプライン構造におけるのと同様に処理される。送信は、図2により示されたパイプライン処理技術によるか、又は近隣のものが必要とされる場合において図3Aにより示された重なりを伴うパイプライン処理技術によるかの何れかにより実施される。
【0050】
重なりを含む全ての伝送技術において、画像ストリップを生成するための遅延、画像ストリップを放出するための遅延、及び受信された画像ストリップを処理するための遅延は相違する。従って、これら技術は、モジュールによる画像ストリップの生成の時点と、該モジュールによる画像ストリップの放出の時点との間の差を調整するステップを有する。また、これら技術は、モジュールによる画像ストリップの受信の時点と、該モジュールによる画像ストリップの処理の時点との間の差を調整するステップも有している。これら技術は、更に、重なり領域に関する精細な調整のステップも有している。
【0051】
IV)画像移送エンジンの動作
この画像移送エンジンは、実行時における当該システムの正確な振る舞いを支配する。該画像移送エンジンは、ソフトウェアモジュールを外界にリンクする入力及び出力データ伝送を管理すると共に、パラメータの読み取り、IP機能の呼び出し及びデータの突き止めを管理する。この最後の機能は、例えば遅延データストリームの調整に要する情報を提供すべく、画像ストリップを空間及び時間に対して位置特定する必要性に対応する。また、該画像移送エンジンは、可能性のある時間的及び/又は空間的な画像ストリップの重ね合わせ、可能性のあるデータの分散又は集合処理も調整する。
【0052】
V)当該ソフトウェアシステムを使用する計算手段を有する装置、及び当該ソフトウェアシステムを形成するプログラム製品
図4を参照すると、医療検査装置150は画像シーケンスのデジタル画像データを収集する手段と、これらデータを上述したソフトウェアシステムを使用して処理するデジタル処理システム120とを有している。該医療検査装置は、上記処理システム120に画像データを供給する手段を有し、該処理システムは画像データを表示及び/又は記憶手段130、140に供給するための少なくとも1つの出力部106を有している。該表示及び記憶手段は、各々、ワークステーション110のスクリーン140及びメモリとすることができる。該記憶手段は代わりに外部記憶手段とすることもできる。この画像処理システム120は、ワークステーション110の適切にプログラムされたコンピュータ又は専用プロセッサとすることができる。また、ワークステーション110はキーボード131及びマウス132を有することができる。
【図面の簡単な説明】
【図1A】図1Aは、通信パターンのパイプライン構造のブロック図である。
【図1B】図1Bは、通信パターンの分散/集合構造のブロック図である。
【図1C】図1Cは、通信パターンの枝路構造のブロック図である。
【図1D】図1Dは、通信パターンの広帯構造のブロック図である。
【図2】図2は、重なりのないパイプライン伝送を示す。
【図3A】図3Aは、重なりを伴うパイプライン伝送を示す。
【図3B】図3Bは、重なりを伴う分散伝送を示す。
【図3C】図3Cは、重なりを伴う集合伝送を示す。
【図3D】図3Dは、重なりを伴う枝路接続伝送を示す。
【図4】図4は、画像移送エンジンを使用した処理手段を有する医療装置のブロック図である。
【発明の属する技術分野】
本発明は、画像処理機能をプラットフォームと呼ばれるマルチプロセッサシステム上に展開配置(deploy)することにより画像のシーケンスを処理するための画像移送エンジンと呼ぶソフトウェアシステムであって、上記プラットフォームが処理された出力画像データを供給するために入力画像データを発生するようなソフトウェアシステムに関する。展開配置とは、ハードウェアの構成要素上にソフトウェアの構成要素をマッピングする処理として知られている。
【0002】
また、本発明は医療X線画像のシーケンスを処理するように設計されたソフトウェアシステムの分野に特別な用途を有するものである。
【0003】
【従来の技術】
幾つかの処理を、分散型プログラマブルプラットフォームを形成するマルチプロセッサ型信号処理システムを用いて同一の画像処理タスクに対して共動させるような能力を提供するソフトウェアパッケージは、“1999年3月7〜12日、米国、TN、ナッシュビルでのコンピュータ型システムのエンジニアリングに関するIEEE会議及びワークショップの会報”の第261〜268頁におけるRandal JANKAによる「リアルタイム組み込み不均一マルチコンピュータのための効率的ミドルウェアに基づく新たな開発のフレームワーク」なる名称の文献から既知である。上記文献によれば、信号処理アプリケーションは複雑さが増加しており、今や、満足のゆく性能を達成するには“スケーラブルな不均一なマルチコンピュータ”を必要とする。従って、これらの要件を満足させるために、特定のマルチプロセッサハードウェア目標は、計算的スループット及びプロセッサ間通信帯域幅が増加している。斯かる開発の困難さを軽減するソフトウェアは“ミドルウェア”として知られており、これは標準のオペレーティングシステムより上でアプリケーションソフトウェアより下の層に位置している。即ち、ミドルウェアはプラットフォームとアプリケーションとの間に位置する汎用ソフトウェアである。プラットフォームとは、プロセッサアーキテクチャ及びオペレーティングシステムのアプリケーションプログラミングインターフェースにより規定される一連の処理構成要素である。ミドルウェアは、アプリケーションプログラミングインターフェースとサポートするプロトコルとにより規定される。ミドルウェアは、動作するハードウェア目標の数及び型式に依存して、自身のインターフェース及びプロトコル仕様に従うような複数の構成を有することができる。“フレームワーク”とは、リアルタイム信号処理のような特化されたアプリケーションドメインのためのアプリケーション開発及びシステム管理を容易化するように設計されると共に、アプリケーションプログラミングインターフェース、ユーザインターフェース及びミドルウェアにより規定されるようなソフトウェア環境である。上記文献においては、“マーキュリ・コンピュータ・システムズ”のTALARISミドルウェアと呼ばれるミドルウェアが考察されている。TALARISミドルウェアの上には“RACE用のピークウェア(PW4Rと称す)”と呼ばれるフレームワークが位置し、これはグラフィック的開発ツールのスケーラブルな不均一システムへの統合をサポートするように設計されている。PW4Rは、開発者がアプリケーションのソフトウェア及びハードウェアをグラフィック的に指定し、次いで上記ソフトウェアを上記ハードウェアにマップするのを可能にする。このように、PW4Rは上記マーキュリのコンピュータシステムが改善された柔軟性を示すのを、即ち容易にアップグレードされるのを可能にするような(低レベルの手段を使用する以前のシステムでは可能でなかった)高レベルの手段である。斯様なコンピュータシステムに関しては多くの異なるアルゴリズム的構成が必要とされるであろう。また、複雑なアルゴリズムが、当該プラットフォーム上に新たに導入される他のアルゴリズムと合成され、又は斯かる他のアルゴリズムに接続されるであろう。更に、上記プラットフォームは新たなコンピュータ手段を受け入れるか、又は何らかのコンピュータ手段が交換若しくは削除され得るであろう。PW4Rは、このような柔軟性の問題に対する解決策である。
【0004】
デジタル画像処理においては(特に、医療デジタルX線画像シーケンスの処理においては)、リアルタイム動作の間に必要とされるアルゴリズム的画像処理を達成するために複数のプロセッサが使用される。計算能力故に、この結果、プラットフォーム上に分散された幾つかのコンピュータは同一のタスクに対して共動しなければならない。前記既知のフレームワークPW4Rは、以下に示す理由により、医療デジタルX線画像のシーケンスを処理する問題に対する解決策とはならない。
【0005】
【発明が解決しようとする課題】
斯様な画像処理システムに関する第1の主たる問題は待ち時間(latency)に関するもので、該待ち時間は当該システムがピクセルの処理を開始した時点に対して、処理されたピクセルを生成するのに要する時間として定義される。例えば、医師によるカテーテルの患者の動脈への導入及びスクリーン上での該カテーテルの動脈内での進行の追跡を含むような心臓医学的手術の間において、画像のシーケンスを収集すると共に該シーケンスの処理された画像を生成するために医療システムを使用することができる。この場合、該医療システムは緊密な医師に対する画像の帰還を供給することが特に重要である。医師がカテーテルを操作する際に、該医師の操作の結果は、極めて短い遅延後にスクリーン上で知覚されねばならない。許容される遅延は例えば80msであり、これは、毎秒25画像の率で取得されるシーケンスにおいては、2画像フレームに相当する。この目的のためには、当該画像処理システムの全計算待ち時間が低減されねばならない。
【0006】
斯様な画像処理に関する第2の主たる問題は、許容される遅延内に伝送するピクセルの量に関するものである。この量は、リアルタイム動作故に、メガピクセル程度が毎秒処理されるべきものとなる。
【0007】
前記文献に開示されたコンピュータシステムに関連するPW4Rは、これらの2つの主たる問題に対する解決策を提案していない。これらの問題を解決するシステムを設定するには、画像処理アプリケーション分野に適合した計算モデルの精密な仕様が必要となる。この計算モデルは、上述した必要な性能を達成するための効率的なメカニズムの設計を含むものである。
【0008】
他の問題は、プラットフォーム上に分散された異なるプロセッサ間でのメモリ手段の使用に存在する。単一のメモリが全てのプロセッサにより共用される場合は、結果として競合が生じる。これらの競合を制御するには仲裁手段が必要とされるであろうが、結果として待ち時間が生じる。画像処理に固有の他の問題は、画像がピクセル毎に処理されるか(効率的ではない)又は画像毎に処理されるか(伝送に関しては効率的であるが、待ち時間に関しては効率的でない)の事実に存在する。また、他の問題は、多くの異なるアルゴリズム的構成が必要とされるであろうという事実に存在する。従って、これらの種々の可能な構成の処理を自動化する方法が必要である。
【0009】
本発明の目的は、プラットフォームと呼ばれるマルチプロセッサ上に画像処理機能を展開配置することにより画像のシーケンスを処理するための、画像移送エンジンとよぶソフトウェアシステムであって、上記プラットフォームが処理された出力画像データを供給するために入力画像データを発生するようなソフトウェアシステムを提供することにある。
【0010】
【課題を解決するための手段】
この課題は、請求項1及び従属請求項に記載された画像移送エンジンにより解決される。この画像移送エンジンは、通信パターンと呼ぶソフトウェアデータ分割モデルを有し、該モデルはタイムスタンプが付されたデータパケットを使用して前記シーケンスの画像を分割し、これらデータパケットの伝送は前記画像処理機能の実行と重なり合うことができる。
【0011】
本発明による画像移送エンジンは幾つかの利点を提供する。即ち、該エンジンは前記画像処理機能のプラットフォーム上への展開配置を自動的且つ柔軟性のある方法で実行することができる。また、該エンジンは待ち時間を最小化することができる。特に、該エンジンは伝送及び待ち時間の両者に関して効率的である。また、該エンジンは異なる画像処理機能を果たす幾つかのアルゴリズムを展開配置することができる。該エンジンは、特に、X線画像シーケンスの処理アプリケーションに使用するのに適している。或る実施例においては、本発明は競合の問題を解決する手段を提案する。
【0012】
【発明の実施の形態】
以下、本発明を概念図を参照して詳細に説明する。
【0013】
本発明は、プラットフォームと呼ばれるハードウェアプログラマブルアーキテクチャ上に位置し、通信パターンと呼ぶソフトウェア構成要素に基づくような、画像移送エンジンと呼ぶソフトウェアシステムに関するものである。該画像移送エンジンは、処理機能の1つ又は数個のアルゴリズム的連鎖(又は複数の連鎖)の上記プラットフォーム上への展開配置を実行する。該プラットフォームは、経路によりリンクされた、CEなる符号の付される一群の分散されたプロセッサ環境を含んでいる。一実施例において、上記画像移送エンジンが、以下、プラットフォーム上へのIPなる符号が付されるデジタルX線画像処理機能の自動化構成に関して説明される。効率、アップグレード可能性、柔軟性、小待ち時間及びユーザ利便性が、この画像移送エンジンの特徴の幾つかである。
【0014】
この画像移送エンジンは、X線システム用の画像後処理であるアプリケーション分野により制約を有している。例えば、入力データとしては、画像寸法は1Kx1Kx16ビットピクセル程度であり、画像レートは毎秒25又は30画像程度である。画像の走査は、プログレッシブであり、データは水平ラインとして到来する。該画像移送エンジンは1つの生の入力のみを許容する。画像寸法及び画像レートは変化し得るが、画像シーケンスの途中ではない。出力データに関しては、表示又は記憶されるべきものとして、1Kx1Kx16ビットピクセルとすることができる。表示器は、医療用モニタであり得る。上記処理連鎖の種々のレベルにおいて、ディスク上への画像の記憶が必要とされるであろう。該処理連鎖においては、幾つかのアルゴリズムを合成することができる。該提案された画像移送エンジンの目的は、待ち時間が1フレーム期間未満となることである。アルゴリズムが一層多くを必要とする場合は、より多くの待ち時間を許容することができる。画像は直列に形成され、所与のシーケンスにおける全ての画像は画像損失が存在しないように処理されねばならない。また、この画像移送エンジンは異なるアルゴリズムを比較する能力も有する。画像の間で、パラメータは変化し得る。プラットフォーム上に展開配置されるべきアルゴリズムは、当業者により既知のように、時間的、空間的又は空間時間的処理機能を含むノイズ低減処理;複数解像度におけるコントラスト強調又はエッジ強調;画像減算;補間を伴うズーム;画像回転;動き推定;構造検出;及び構造抽出を含むことができる。例示として示した該リストは、全てを網羅するものではない。これらアルゴリズムは、非線形的であり得、異なる空間的広がり、即ち近隣を有し得、原因的又は反原因的であり得る。アルゴリズムの複雑さは、ピクセル当たり約100演算にも達し得る。
【0015】
このリストは、X線画像処理用のマルチプロセッサアプリケーションの実施化は非常に多く制約されることを示している。データレート、待ち時間、フィルタの空間的広がり及びアルゴリズムの多様性は、効率的な構成の設計を非常に敏感にさせる。柔軟性及びアップグレード可能性は、これらが性能の問題に加えて単純さに対する強い要件を加えることになる(即ち、アルゴリズムの挿入、削除及びスワッピングは簡単な介入により達成されねばならない)ので、制約要因となる。また、該画像移送エンジンは非専門家に対しても管理可能なものでなければならない。該エンジンはアプリケーションの完全さを危うくしてはならない。また、前記画像寸法及び画像レートは容易に変更することができるものとする。新たな、多分一層性能の良いプロセッサが上記プラットフォームに追加され得る。当該アプリケーションインフラストラクチャにおける如何なる変更も、簡単な介入により管理することができるものとする。
【0016】
I)通信パターンの仕様
当該画像移送エンジンは上述した全ての要件に答えるように設計されている。分散型処理アプリケーション用の効率的な通信インフラストラクチャを構築することが、通信パターンの仕様となる。上記画像移送エンジンの全体の動作は該通信パターンの単なる仕様を介して自動化されるので、全てのデータ通信及び処理制御は自動的に実現される。以下に定義する通信パターンは、分散されたX線アプリケーションを処理することができると共に、ユーザに所与のアプリケーションに適応された特定の通信インフラストラクチャを作製する手段を提供することができる。
【0017】
この通信パターンの定義は、プロセッサの数、これらプロセッサの能力及び接続性を含む目標ハードウェアを定義する段階を有する。目標とされるハードウェアプラットフォームは、商用のオペレーティングシステム、及び互いの間でデータを交換することができるようなコンピュータ環境(CEで示す)と呼ぶ付加的な分散されたプログラム可能な環境を備える商用ホストプロセッサと組み合わせることができる。該コンピュータ環境は、バスと呼ぶ物理的なプログラム可能なデータ経路により相互に接続される。各CEは、プロセッサと、該プロセッサのローカルメモリと、上記バス上の伝送を監視することが可能なインターフェース手段とを含んでいる。各CEは商用のリアルタイムオペレーティングシステムと組み合わされ、該オペレーティングシステムはCE間のデータ伝送及び同期を管理する基本的手段を含んでいる。この商用のリアルタイムオペレーティングシステムは、先に定義した柔軟性及びアップグレード可能性に対する要求を満たすものではない。
【0018】
これが、並列なアプリケーションの設計及びコーディングを、画像処理機能しかコーディングする必要がなく、全体のアプリケーションのインフラストラクチャをテキスト的又は概念的既述から指定及び発生することができる点まで容易化するために、本発明により画像移送エンジンと呼ばれるソフトウェア構成要素が生み出された理由である。この画像移送エンジンは、望ましくは、待ち時間及び淀みなさの両方に関して効率的なアプリケーションを生成しなければならない。この目的のため、該画像移送エンジンは画像データパケットの伝送用に設計された通信パターンに基づくものである。待ち時間とは、当該システムを介して入力から出力までのデータ要素の平均横断時間を指す。淀みなさとは、データ伝送、同期及びスケジューリングの効率を指す。画像データパケットの同期は、画像データパケットの伝送時間と比較して非常に短い場合に効率的となる。画像データパケットの伝送は、当該伝送が生じるバスの帯域幅を完全に利用する場合に効率的となる。画像データパケットの伝送のスケジューリングは、ローカルな処理に対して非顕著である、即ちデータの処理と通信との時間的重なりの場合に効率的となる。
【0019】
図1Aないし図1Dを参照すると、当該通信パターンは画像処理アプリケーションの定義を可能にするモデルである。該通信パターンは、上記画像処理アプリケーションに参加する一群の画像処理機能IPに対してデータ通信及び計算の自動化及び最適化を達成することができる方向付けされたソフトウェアモデルである。該通信パターンは基本画像データパケットを扱い、これらパケットはソフトウェアモジュールにより処理されて、モジュールからモジュールへと通常の方法で受け渡される。全体の処理は、モデル内で互いに押し合う連続した画像データパケットの流れとして見ることができ、該モデルにおいて、これらパケットはモジュールと呼ばれる計算ユニットを横断し、これらモジュールは画像データパケットを次から次へと処理する。しかしながら、淀みのないデータの流れに到達する前に、当該システムは全てのモジュールが初期化条件で阻止されている凍結状態から開始しなければならず、平穏に進む(即ち、デッドロック及び誤った同期を防止する)ことができなければならない。該通信パターンは、ノード、インターフェース及びエッジを有するデータ通信設計に従って配設された幾つかのソフトウェア構成要素から形成されている。
【0020】
上記ノードは、ボックスにより示されるソフトウェアモジュール(簡略化のためにモジュールと呼ぶ)である。モジュールは実行ユニットである。モジュールの役割は、当該モジュールに付属される画像処理機能(IPで示す)を活性化すると共に、対応するデータ伝送及び同期を管理することである。1つのモジュールには、単一の画像処理機能IPのみが付属される。この機能IPは、幾つかの他の機能を呼び出す。短い待ち時間を保証するために、画像処理機能IPは当該処理の境界内で定義されると共に、通常は画像データパケットのレベルである。従って、画像処理アプリケーションは、データ、パラメータ又は同期情報を交換する一群のモジュールとして定義される。通信パターンは、マルチ処理、即ち同一の画像処理アプリケーションに属する幾つかのモジュールが同一のプロセッサ上で動作することも、又は並行画像処理アプリケーション、即ち幾つかの別個の画像処理アプリケーションが同一のプロセッサを共有することも排除しない。
【0021】
前記エッジとは、矢印により示されると共に、接続部と呼ばれるリンクである。通信パターンは、所与のアプリケーションのモジュールに関連する論理的接続性を定義する。このように、該通信パターンはリンクを介してデータが1方向のみに非巡回的に流れるように方向付けされている。即ち、ループは許可されず、上流に向かうデータリンクは存在しない。接続部を表す矢印は、それに応じて方向付けされている。
【0022】
モジュールと接続部との間の前記インターフェースとは、ポートである。モジュールは、これらインターフェースが情報を交換するのを可能にする固有の内部構造を有している。モジュールと情報を交換する唯一の方法は、ポートを介してのものである。矢印により示される接続部の向きが、入力ポート及び出力ポートを規定する。これらのモジュールが当該通信パターンの外部の主体と通信しなければならない場合、これら主体は端末ポートと呼ばれる。接続部はモジュールポート間での情報交換を担うメカニズムを規定する。論理接続は、これら接続が物理的経路、即ち物理的接続部と組み合わされた場合にのみ成功し得る。
【0023】
3つのタイプの接続部分類が定義される。即ち、第1のタイプはデータ接続部分類であり、この場合、接続部は画像データを扱う。データ接続部は画像データの伝送に特化されており、1方向性である。第2のタイプは端末接続部の分類であり、これら接続部はモジュールポートを端末ポートにリンクする半接続部であり、1方向性である。第3のタイプはパラメータ接続部の分類であり、これら接続部はアルゴリズムのパラメータを扱い、双方向性である。
【0024】
各データ接続部は、静的に定義された伝送されるべきデータのタイプを示すようなパラメータを帯びる。事実、データ伝送に関する限り、ピクセル当たりのバイトの数で充分である。通信パターンはデータ伝送時においてはタイプの変換は許可しない。もし斯様な変換が必要なら、斯かる変換は画像処理IP機能内で実施されねばならない。従って、或る接続部に対応する全ての入力及び出力ポートは同一のデータタイプを扱い、かくして、接続部毎の固有のパラメータを正当化する。データ伝送が関係する限りにおいて、ピクセル当たり如何なるバイト数も許容される。しかしながら、データタイプは画像処理IP機能レベルにおいても意味があるから、ピクセル当たり1、2、4又は8バイトなる可能性のある値が指定される。
【0025】
モジュールは幾つかのタイプを有し、それらの中で、SOURCEと符号を付したソースモジュールは如何なる入力データ接続部も有さず、処理されるべきデータを同期情報と共に発生する責務を有している。SINKと符号を付したシンクモジュールは如何なる出力データ接続部も有さず、処理されたデータの受信部として使用される。MODと符号を付した通常のモジュールはソースモジュールでもシンクモジュールでもない。ソース及びシンクモジュールは、性質上、しばしば入力及び出力端末接続部を備えている。通信パターン当たりには単一のソースモジュールしか存在しない。端末出力接続部は必ずしもシンクモジュールから派生するものではないことに注意すべきである。端末接続部は、例えばデータを所与の媒体に待避するために当該通信パターンの幾つかの場所で使用することができる。
【0026】
ソースモジュールは、同期したデータストリームを送出する限り、幾つかの出力データ接続部を有することができる。また、ソースモジュールはTime−Refとして示す時間参照データ構造を生成する責務も有し、該時間参照データ構造は所与の画像シーケンスの全ての画像データパケットの位置を定める。事実、この参照は、当該画像シーケンス内の画像インデックスを識別するフィールドと、現画像内のパケットインデックスを帯びるフィールドとを含んでいる。Time−Refは、対応するパケットと共にモジュールからモジュールへと受け渡される。これは幾つかの重要なタスクを実行することを可能にし、これらタスクとはデータの突き止め、画像処理機能IPの管理及び遅延管理である。Time−Refは、定義により、データパケットを当該シーケンス内の画像インデックスに対して及び現画像内の当該データパケット位置に対してデータパケットの位置を特定する時間参照構造である。このように、幾つかの別個のデータパケットを同一の情報を含むTime−Ref構造と共に伝送することができるという点で、これはデータパケットの参照ではない。これは、特に、或る入力データパケットが幾つかの出力データパケットを生成する場合に当てはまる。
【0027】
これまで紹介された構成要素によれば、非常に複雑な有効な通信モデルを作成することが既に可能である。以下では接続性の規則が提示される。即ち、各モジュールは固有のパラメータ接続部を備える。各通信パターンは少なくとも1つのソース及び1つのシンクモジュールを含まなければならない。ソースモジュールは固有のものである。幾つかのシンクモジュールが共存することができる。ソースは、同期したストリームに対応する幾つかのデータ出力ポートを有することができる。シンクは幾つかのデータ入力ポートを有することができる。通常のモジュールは2以上の入力及び/又は出力ポートを有することができる。データ出力ポートは、幾つかの単純なデータ接続部により読み取ることができる。データ入力ポートには、幾つかの単純なデータ接続部によっては書き込むことができない。データ接続部はパイプラインレベルをバイパスすることができる。データ接続部のループは許されない(“ループ無し”規則)。幾つかの接続部は、共通の分散から生じ、且つ、同一のストリップ(細片)伝送周波数を有するならば、集合させることができる。最後の2つの規則を犯さないなら、部分的集合も可能である。上に掲げた規則の殆どは、当然であるか又は許される。しかしながら、上記“ループ無し”規則は時間的再帰アルゴリズムを実施化する可能性を耐え難く放棄しているように見える。確かに、これは誤った主張である。時間的巡回(再帰)フィルタは前の出力データを入力として必要とする。しかし、前の出力データは、これらデータが内部的に生成されたものであれば、外部経路から再生する必要はない。該困難性を克服するには、開発者に連続する画像間でデータを記憶する方法を提供するだけで充分である。このように、通信パターン仕様からデータ接続ループを削除することは、過酷な実施化の理論的な問題を防止する。同様に、モジュール間レベルで如何なる帰還も不可能であると結論すべきではない。上記“ループ無し”条件はデータ接続部のみに当てはまるものであり、パラメータ接続部は例えば制御情報を含む限られた帰還を導入するためには完全に使用することができる。
【0028】
II)通信パターンのプラットフォーム上へのマッピング
通信パターンはプラットフォーム上にマッピングされる。該マッピング処理は、モジュールと計算環境との間の関連性を定義し、当該画像処理機能IPがプロセッサネットワーク上を通過するデータと相互作用し合う態様を構成させる。この処理は、入力データをデータパケットに分割する段階と、該画像データパケットを伝送する段階とを含む。
【0029】
本発明によれば、入力データはソースモジュールにより、画像ストリップと呼ばれるデータの細片(スライス)であるようなデータパケットに分割される。画像ストリップは、おそらくは他の画像ストリップと重なるような、連続する画像ラインのパケットである。以下のX線医療画像処理の例においては、シーケンスにおける画像は水平方向に走査され、データは処理されるべきピクセルから形成される水平ラインに沿って到来する。画像はピクセル毎に(効率的ではない)処理されるのではなく、シーケンスが画像毎に(伝送に関しては効率的であるが、待ち時間に関しては効率的でない)処理されるのでもない。代わりに、画像は上述した画像データパケットに相当するような、幾つかのラインからなる画像ストリップに分割される。これら画像ストリップは上記画像ラインに平行である。これら画像ストリップが画像処理のために伝送される。事実、各モジュールは処理すべきデータの量に比例した待ち時間を生じる。本発明によれば、画像ストリップの使用は高伝送及び小待ち時間の両方において効率的であることが分かった。1つの画像ストリップを形成するためのラインの数の選択は、伝送効率と待ち時間との間の妥協点を決定する。画像ストリップは待ち時間を最小に維持する。このように、データパケットに関して先に述べた全てが、画像ストリップに適用されると考えられるべきである。一実施例においては、1024ラインから形成される画像は、32ラインからなる32個の画像ストリップを有する。
【0030】
殆どのX線画像化アルゴリズムは、二次元の近隣部を導入するので、空間的重なりを考慮しなければならない。重なり領域は入力ポートレベルで必要である。IP機能には、処理されるべきピクセルから形成される活性領域と、該活性領域内で処理を達成するために必要とされる余分なピクセルから形成される重なり領域との両方が供給される。該IP機能により見られる入力領域は当然一致すべきであるから、重なりパラメータはモジュールレベルで宣言される。このことは、異なる空間的広がりを要する幾つかのエントリを合成するアルゴリズムには、事実、固有の重なりを有する領域が供給されることを意味する。また、対称的な重なり幾何学構造も考慮される。水平方向の画像ストリップのみが考慮されるので、重なりの効果は、当該画像ストリップの両側上の重なるラインの数に関するモジュールレベルのパラメータのみにより考慮に入れることができる。空間的重なりが各モジュールの横断において余分なストリップ遅延を生じることに注意すべきである。また、空間的重なりを、データ伝送をデータ処理と重ね合わさせる能力を指す時間的重なりと混同すべきでないことに注意すべきである。
【0031】
現画像ストリップに対してユーザ定義の画像処理機能IPを開始するために、幾つかの予め定義された接続手段タイプに対して時間的モジュール間/モジュール内入力/出力計算の重なりを達成することにより、最適化が実現される。以下パイプライン接続部、分散/集合接続部及び枝路接続部と呼ぶ接続手段タイプが定義される。上述した接続部の中で、データ接続部が最も重要な分類である。データ接続部の分類に属する全ての接続部は、連続する画像ストリップのTime−Refを含む所要の同期情報と共の繰り返し伝送を保証する。これらは全て単方向性である。図1Aないし図1Dを参照すると、データ接続部は以下のものを有する。
【0032】
ポイントツーポイント接続部であり、PPで示す単純接続部。該接続部は連続する画像ストリップを伝送することができる(図1A)。
【0033】
SCで示す[1/n]分散接続部。該接続部は、全てが共通の出力ポートから発するn個の接続部のグループに属するポイントツーポイント接続部である。該接続部はn画像ストリップ毎に1つの画像ストリップの率で画像ストリップを次から次へと伝送することができる。対応する放出ポートはデータ分散ポートと呼ばれる(図1B)。
【0034】
GAで示す[1/n]集合接続部。該接続部は全てが共通の入力ポートに到達するn個の接続部のグループに属するポイントツーポイント接続部である。該接続部はn画像ストリップ毎に1つの画像ストリップの率で画像ストリップを次から次へと伝送し、この入力ポートに到達する全ての画像ストリップを集合させる。対応する受信ポートはデータ集合ポートと呼ばれる(図1B)。
【0035】
BRで示す枝路接続部(図1C)。該接続部は単純接続部と同様のポイントツーポイント接続部であるが、分散/集合構造の同一の枝路に属する2つのモジュールをリンクする。
【0036】
以下に、上記画像ストリップを用いた最小の待ち時間による通信パターンの例を説明する。これら例は、タスク分割方法及びデータ分割方法に依存している。
【0037】
図1Aを参照すると、パイプライン構造は、ソースモジュールSOURCEと、例えばMOD1、MOD2等の1又は数個の通常のモジュールと、シンクモジュールSINKとを有している。該パイプラインの実施化のために単純接続部が適用されており、アルゴリズムの直列合成を実施することができる。画像処理機能が、関連するモジュールをリンクする物理的データ経路に沿って次から次へと適用され、当該タスク分割構造を形成する。各モジュールは全ての画像ストリップに対して或るタスクを活性化させ、幾つかの中間結果は次のモジュールへ並列データストリームとして受け渡すことができる。図1Aは、純粋なタスク分割構造を表している。点線により表された接続部により示されるように、ソースモジュールとシンクモジュールとの間、又はソースモジュールと通常のモジュールとの間の近道が許容される。パイプライン処理によるタスク分割によって生じる待ち時間は、パイプラインのレベルの数に伴い増加する。事実、パイプライン段を通過する毎に幾つかの画像ストリップ期間が失われるが、実際には、パイプライン処理によるタスク分割は非常に効率的である。
【0038】
図1Bを参照すると、分散/集合構造は、1つのソースモジュールSOURCEと、MOD1、MOD2、…、MODnのような枝路に並列に配置された少なくとも2つの通常のモジュールと、シンクモジュールSINKとを有している。分散接続部SC及び集合接続部GAは分散/集合タイプのタスク分割に特化されている。例えば、上記ソースモジュールのポートにより送出された画像はインデックスに従って番号付けされた画像ストリップに裁断される。[1/n]分散接続部は、これら画像ストリップを斯かるストリップのストリップインデックスに従ってモジュールMOD1ないしMODn上に均一に分配する。一旦処理されたら、[1/n]集合接続部により、上記の分散された画像ストリップは自動的に集合される。n個の枝路の代わりに、2つのみの枝路を使用して分散/集合構造を形成することもできる。この場合、奇数のインデックスを有する画像ストリップは一方の枝路上で処理され、偶数インデックスを有する画像ストリップは他方の枝路上で処理される。図1Bは純粋なデータ分割方法を示している。ソースモジュールとシンクモジュールとの間の近道が、許される。該分散/集合処理は、小待ち時間を維持しながらデータ分割の利点を得ることを可能にする。しかしながら、広い空間的広がりを特徴とするアルゴリズムに適用された場合は、重大な困難さを伴い得る。何故なら、性質上、分散構造の各枝路は非連続的な画像ストリップを処理するからである。必要とされる空間的重なりが限られる場合に最も有利となる。
【0039】
図1Cを参照すると、枝路モード構造は、枝路にパイプライン構造を持つような分散/集合構造を有している。該分散/集合構造は、1つのソースモジュールSOURCEと、通常のモジュールのパイプライン構造を有する少なくとも2つの並列な枝路と、シンクモジュールSINKとを有している。例えば、上記ソースモジュールのポートにより送出された画像はn=2の画像ストリップに裁断される。これら画像ストリップはインデックスに従って番号付けされるが、この例では、インデックスは1、2であり得る。[1/2]分散接続部SCは、これら画像ストリップをストリップインデックスの一致に従って最初の枝路BRのMOD1、MOD2上に分配する。これら画像ストリップは、代わる代わる2番目の枝路BRのモジュールMOD3、MOD4により処理される。一旦処理されると、上記の分散された画像ストリップは[1/2]集合接続部GAにより自動的に再び集合される。先に述べたような近道も許される。
【0040】
図1Dを参照すると、広帯データ分割構造と呼ばれる他の構造を、単純接続部PPを使用して先の構造の合成として設計することができる。該広帯データ分割構造はソースモジュールの性質、即ち該ソースの2つの同期した出力ストリームを伝送する能力を使用する。もし、モジュールSOURCE内で画像の半分の遅延が導入され、更に空間的に重なる画像ストリップを設けることができれば、2つの同期したストリームを、あたかも2つの別個の半分の寸法の画像から生じるように生成することが可能になる。下流のモジュールは、これらのストリームを、2つの別個の入力ポート(1つは当該画像の上部用、もう1つは下部用)を持つモジュールSINKまで独立に処理する。かくして、シンク画像処理機能内で上記2つの半画像を集合させ、最終結果を目標とされる端末点に向かって押し出すことが残る。もっと一般的に言うと、この構成は、n個の連続する多分重なり合う、幾つかの連続する画像ストリップからならなる画像広帯に適用することができる。パイプライン処理による前述したタスク分割は、図1Dに示されるように、広帯データ分割と継ぎ目無しで合成することができる。
【0041】
広帯データ分割はパイプライン処理によるタスク分割よりも利点を有している。何故なら、該広帯データ分割は必要とされる帯域幅の数を減じると共に高モジュール性を可能にするので、タスクがパイプライン処理を介してリアルタイム状況に到達するために不自然な裁断処理を受ける必要がないからである。しかしながら、広帯データ分割は一層大きな待ち時間を生じる。パイプライン処理によるタスク分割は広帯データ分割よりも一層効率的のままである。
【0042】
III)画像ストリップの伝送の定義
Time−Refは、画像ストリップを当該シーケンスにおける現画像インデックスに関して及び現画像内での画像ストリップ位置に関して位置特定する。前述したように、或る入力画像ストリップが幾つかの出力画像ストリップを生成する場合のように、幾つかの別個の画像ストリップを同一の情報を含むTime−Ref構造と共に伝送することができる。これら画像ストリップは接続部を介して次から次へと伝送される。従って、全てのデータ通信及び計算はストリップレベルで生じ、これは待ち時間を非常に小さく維持するのを可能にする。各モジュールは画像ストリップを反復的に受信し、処理し且つ送信する。タイムスタンプが付された画像ストリップは、画像ストリップ伝送の間にモジュール間の及びモジュール内の時間的重なりが実行されるように、且つ、計算が一定的に達成されるように使用される。従って、全体の動作は極めて最適化される。各接続手段タイプに関して、これらの重なり合い特性が達成される精細な方法を詳細に説明する。これは、適切な入力/出力画像ストリップ遅延方針に依存する。
【0043】
図2は、重なり無しパイプライン処理と呼ぶ技術による、図1Aのパイプライン構造における画像ストリップの伝送を示している。ソースは、所定数の隣接する画像ストリップ(重なり領域の無い活性領域を伴う)を生成すると定義される。これら画像ストリップは、幅wと呼ぶ所与の数のラインを有している。上記ソースにより生成された斯かる画像ストリップは、次から次へとMOD1へ送信され、次いでMOD1からMOD2へ送信される。例えば、MOD1は各画像ストリップに第1画像処理機能IP1を適用し、MOD2は送信された画像ストリップに更に第2画像処理機能IP2を適用する。符号t−4、t−3、t−2、t−1及びtは順次の画像ストリップがMOD1において処理される時点である。第1画像処理機能IP1が時点tにおいて画像ストリップ(“[t]画像ストリップ”により示す)を生成している間、前の時点t−1において生成された画像ストリップ(“[t−1]画像ストリップ”により示す)は既にMOD2に送信することができる。更に、時点t−2において生成された先行する画像ストリップ(“[t−2]画像ストリップ”により示す)は、IP2画像処理機能により処理されるべく既にMOD2において利用可能である。このように、パイプライン構造においては、時点tにおける第1モジュールによる所与の[t]画像ストリップの生成の間において、該第1モジュールの出力ポートは時間的に最後の[t−1]画像ストリップを送信する。そして、第2モジュールによる或る[t−2]画像ストリップの処理の間において、該第2モジュールの入力ポートは時間的に次の[t−1]画像ストリップを受信する。従って、各モジュールは常に動作している。
【0044】
図3Aは、重なりを伴うパイプライン処理と呼ぶ技術による図1Aのパイプライン構造における画像ストリップの伝送を示している。ソースは、所定数の隣接する画像ストリップ(重なり領域の無い活性領域を伴う)を生成すると定義される。これら画像ストリップは、幅wと呼ぶ所与の数のラインを有している。一例においては、ソースにより生成された斯かる画像ストリップは、第1処理機能IP1により処理されるべく、次から次へと第1モジュールMOD1へ送信される。次いで、これら画像ストリップは第2処理機能IP2により処理されるべく第2モジュールMOD2へ同一の順序で送信されるが、該第2処理機能IP2は上記画像ストリップを処理するためにピクセルの近隣のものを必要とする。このように、上記第2処理機能IP2を実行するためには、MOD2においては、上記活性領域の各側に位置する所定幅aの2つの重なり領域が必要となる。符号t−4、t−3、t−2、t−1及びtは、幅wの隣接する画像ストリップが第1モジュールMOD1により生成される順次の時点である。
【0045】
画像処理機能IP1がMOD1において時点tに[t]画像ストリップを生成する際に、該機能は[t−1]画像ストリップを既に生成している。次のモジュールMOD2は活性領域に加えて2つの重なり領域を必要とする。従って、上記[t−1]画像ストリップは送信することができない。何故なら、[t]画像ストリップ内に位置する重なり領域の準備が整っていないからである。しかしながら、t−2において生成された[t−2]画像ストリップは既に利用可能である。従って、時点tにおいては、MOD1の出力ポートは[t−2]画像ストリップに加えて[t−1]画像ストリップ内に位置する重なり領域を送信する。しかしながら、MOD1は[t−3]画像ストリップ内に位置する重なり領域も、[t−2]画像ストリップ内に該[t−3]に隣接して位置する幅aの領域も送信する必要はない。何故なら、これらの領域は第2モジュールMOD2内に既に存在するからである。[t]画像ストリップの生成の間において、第2モジュールMOD2へ送信される画像ストリップは、幅wを有すると共に[t−2]画像ストリップに対して[t−1]画像ストリップに向かい幅aだけシフトされているという特徴を有している。この送信動作の間において、モジュールMOD2は該MOD2に既に存在する2つの重なり領域(各側に1つの重なり領域が位置する)を伴う[t−3]画像ストリップを処理する。従って、重なりを伴うパイプライン処理によるタスク分割のメカニズムにおいては、或る画像ストリップの生成と前に生成された画像ストリップの送信との間に余分な遅延が必要となる。この余分な遅延は、時間的に最後の画像ストリップ内に位置する所要の重なり領域の生成に関係する。斯様な余分な遅延及び空間的シフトを使用すると、画像ストリップの送信の最適な構成が得られる。
【0046】
図3Bは、重なりを伴う分散処理と呼ぶ技術による図1Bの分散構造における画像ストリップの伝送を示している。ソースは、幅wと呼ぶ所与の数のラインを有する所定数の隣接する画像ストリップを生成するものと定義される。図3Bにより示される例においては、2つのうちの1つの画像ストリップが第1モジュールMOD1に送信される。上記画像ストリップは第1処理機能IP1により処理されるべく次から次へと送信される。第1モジュールMOS1へ送信されない画像ストリップは、第2処理機能IP2により処理されるべく、並列に配置された第2モジュールMOD2へ送信される。このように、モジュールMOD1及びMOD2は交互の画像ストリップを処理する。これは、図1Bのモジュールの数がn=2の場合であろう。MOD1により処理される画像ストリップの間にはラインの空所が存在し、MOD2により処理される画像ストリップの間にもラインの空所が存在する。例えば、MOD1は白の帯により表された画像ストリップを処理し、MOD2はハッチングされた帯により表される画像ストリップを処理する。例えば、MOD1は奇数のインデックスの画像ストリップを処理し、MOD2は偶数インデックスの画像ストリップを処理する。MOD1及びMOD2の画像処理機能は、ピクセルを処理するために斯かるピクセルの近隣のものを必要とすると仮定する。このように、上記画像処理機能IP1及びIP2を実行するためには、活性領域の各々の側に位置する所定幅aの2つの重なり領域が必要とされる。符号t−4、t−3、t−2、t−1及びtは、SOURCEにより幅wの画像ストリップが生成される順次の時点である。時点tにおいてSOURCEが偶数インデックスの[t]画像ストリップを生成している間に、該SOURCEはt−4、t−3、t−2、t−1、…において以前の画像ストリップを既に生成している。次のモジュールMOD2は、偶数インデックスを持つ活性領域に加えて、奇数インデックスを持つ画像ストリップの各側に位置する2つの重なり領域を必要とする。従って、当該SOURCEにおいてt−2に生成された偶数インデックスを持ち既に利用可能な[t−2]画像ストリップが、既に作成されている奇数インデックスの [t−3]及び[t−1]画像ストリップ内に位置する幅aの2つの重なり領域と一緒にMOD2へ送信される。従って、時点tにおいては、SOURCEの出力ポートは[t−2]画像ストリップに加えて、該画像ストリップの両側に位置する上記重なり領域を送信する。この送信動作の間において、モジュールMOD2は、該MOD2で既に利用可能な、偶数インデックスを持つ[t−4]画像ストリップと、奇数インデックスの[t−5]画像ストリップ及び奇数インデックスの[t−3]画像ストリップから到来した該[t−4]画像ストリップの2つの重なり領域(各側に1つの重なり領域が位置する)とを処理する。偶数インデックスの[t−2]画像ストリップの送信の間において、SOURCEの出力ポートは奇数インデックスの[t−1]画像ストリップをMOD1に送信することはできない。何故なら、[t]画像ストリップ内に位置する重なり領域が未だ準備されていないからである。従って、MOD1は上記偶数インデックスの[t−2]画像ストリップの送信前に送信された奇数インデックスの[t−3]画像ストリップを処理する。重なり領域は活性領域と一緒に送信されるべきであることに注意すべきである。何故なら、これら重なり領域は、さもなければMOD1又はMOD2によっては処理されないインデックスの画像ストリップ内に位置するからである。例えば、MOD2は重なり領域のラインを除いて奇数インデックスの画像ストリップのラインは有さない。また、MOD1も重なり領域のラインを除いて偶数インデックスの画像ストリップのラインを有さない。上述したように、MOD1及びMOD2においては画像ストリップの間に空きが存在する。
【0047】
図3Cは、重なりを伴う集合処理と呼ぶ技術による図1Bの集合構造における画像ストリップの伝送を示している。SINKは、所定数の隣接する画像ストリップ(例えば、上述した重なりを伴う分散処理により処理された画像ストリップ)の集合から最終画像を構築するものと定義される。画像ストリップは幅wと呼ばれる所与の数のラインを有している。図3Cに示された例においては、これらの画像ストリップは上記SINKの入力ポートにより集合される。SINKはIP1及びIP2により処理された前記重なり領域は必要としない。該SINKは、最終画像を構築するために、隣接する活性領域のみを必要とする。従って、画像ストリップは、これら画像ストリップの重なり領域を伴わないでMOD1及びMOD2により、連続する時点t−4、t−3、t−2、t−1及びtの順に交互に送信される。従って、MOD1は奇数インデックスの[t−5]画像ストリップを送信し、次いでMOD2が偶数インデックスの[t−4]画像ストリップを送信し、次いでMOD1が奇数インデックスの[t−3]画像ストリップを送信し、次いでMOD2が偶数インデックスの[t−2]画像ストリップを送信し、次いでMOD1が奇数インデックスの[t−1]画像ストリップを送信し、次いでMOD2が偶数インデックスの[t]画像ストリップを送信する。そして、SINKは活性領域のみを用いて最終画像を構築する。何故なら、例えばSINKが[t]画像ストリップのラインを受信する際、該SINKは隣接する[t−1]画像ストリップのラインは既に処分している等々であるからである。
【0048】
図3Dは、重なりを伴う枝路接続と呼ばれる技術による図1Cの枝路構造における画像ストリップの伝送を示している。モジュールMOD1及びMOD3により形成される枝路に関し、SOURCEが時点tにおいて偶数インデックスの[t]画像ストリップを生成している間に、該SOURCEは時点t−4、t−3、t−2、t−1、…において先行する画像ストリップを既に生成している。次のモジュールMOD1は、偶数インデックスを有する活性領域に加えて、奇数インデックスを持つ画像ストリップにおいて各々の側に位置する2つの重なり領域を必要とすると仮定する。このように、SOURCEにおいてt−2に生成された[t−2]画像ストリップ(偶数インデックスを有し既に利用可能である)は、既に生成されている奇数インデックスの[t−3]及び[t−1]画像ストリップ内に位置する幅aの2つの重なり領域と一緒にMOD1へ送信される。従って、時点tにおいて、該SOURCEの出力ポートは[t−2]画像ストリップに加えて該画像ストリップの両側に位置する上記重なり領域を送信する。この送信動作の間において、モジュールMOD1は、該MOD2内で既に利用可能な偶数インデックスを持つ[t−4]画像ストリップと、奇数インデックスの[t−5]画像ストリップ及び奇数インデックスの[t−3]画像ストリップから各々到来した該[t−4]画像ストリップの2つの重なり領域(各々の側に1つの重なり領域が位置する)とを処理する。偶数インデックスの[t−2]画像ストリップの送信の間において、上記SOURCEの出力ポートは奇数インデックスの[t−1]画像ストリップをMOD2に送信することはできない。何故なら、該[t−1]画像ストリップ内に位置する重なり領域は未だ準備が整っていないからである。従って、MOD2は上記偶数インデックスの[t−2]画像ストリップの送信前に送信された奇数インデックスの[t−3]画像ストリップを処理する。上記重なり領域は活性領域と一緒に送信されるべきであることに注意すべきである。何故なら、これら重なり領域は、さもなければモジュールMOD1又はMOD2によっては処理されないようなインデックスの画像ストリップ内に位置しているからである。ここで、当該枝路の次のモジュールMOD3も重なり領域を必要とすると仮定すると、これら重なり領域は上記枝路のモジュールの連鎖内で使用されるために該枝路に沿って蓄積されねばならない。
【0049】
図1Dの広帯構造においては、画像ストリップは重なりを伴う広帯と呼ばれる技術により伝送される。SOURCEは、各画像半部が画像ストリップにより形成されるような2つの画像半部を生成するものと定義される。第1画像半部は、モジュールMOD1及びMOD3を有する第1枝路に送信される。第2画像半部は、モジュールMOD2及びMOD4を有する並列に配置された第2枝路に送信される。各枝路において、画像ストリップはパイプライン構造におけるのと同様に処理される。送信は、図2により示されたパイプライン処理技術によるか、又は近隣のものが必要とされる場合において図3Aにより示された重なりを伴うパイプライン処理技術によるかの何れかにより実施される。
【0050】
重なりを含む全ての伝送技術において、画像ストリップを生成するための遅延、画像ストリップを放出するための遅延、及び受信された画像ストリップを処理するための遅延は相違する。従って、これら技術は、モジュールによる画像ストリップの生成の時点と、該モジュールによる画像ストリップの放出の時点との間の差を調整するステップを有する。また、これら技術は、モジュールによる画像ストリップの受信の時点と、該モジュールによる画像ストリップの処理の時点との間の差を調整するステップも有している。これら技術は、更に、重なり領域に関する精細な調整のステップも有している。
【0051】
IV)画像移送エンジンの動作
この画像移送エンジンは、実行時における当該システムの正確な振る舞いを支配する。該画像移送エンジンは、ソフトウェアモジュールを外界にリンクする入力及び出力データ伝送を管理すると共に、パラメータの読み取り、IP機能の呼び出し及びデータの突き止めを管理する。この最後の機能は、例えば遅延データストリームの調整に要する情報を提供すべく、画像ストリップを空間及び時間に対して位置特定する必要性に対応する。また、該画像移送エンジンは、可能性のある時間的及び/又は空間的な画像ストリップの重ね合わせ、可能性のあるデータの分散又は集合処理も調整する。
【0052】
V)当該ソフトウェアシステムを使用する計算手段を有する装置、及び当該ソフトウェアシステムを形成するプログラム製品
図4を参照すると、医療検査装置150は画像シーケンスのデジタル画像データを収集する手段と、これらデータを上述したソフトウェアシステムを使用して処理するデジタル処理システム120とを有している。該医療検査装置は、上記処理システム120に画像データを供給する手段を有し、該処理システムは画像データを表示及び/又は記憶手段130、140に供給するための少なくとも1つの出力部106を有している。該表示及び記憶手段は、各々、ワークステーション110のスクリーン140及びメモリとすることができる。該記憶手段は代わりに外部記憶手段とすることもできる。この画像処理システム120は、ワークステーション110の適切にプログラムされたコンピュータ又は専用プロセッサとすることができる。また、ワークステーション110はキーボード131及びマウス132を有することができる。
【図面の簡単な説明】
【図1A】図1Aは、通信パターンのパイプライン構造のブロック図である。
【図1B】図1Bは、通信パターンの分散/集合構造のブロック図である。
【図1C】図1Cは、通信パターンの枝路構造のブロック図である。
【図1D】図1Dは、通信パターンの広帯構造のブロック図である。
【図2】図2は、重なりのないパイプライン伝送を示す。
【図3A】図3Aは、重なりを伴うパイプライン伝送を示す。
【図3B】図3Bは、重なりを伴う分散伝送を示す。
【図3C】図3Cは、重なりを伴う集合伝送を示す。
【図3D】図3Dは、重なりを伴う枝路接続伝送を示す。
【図4】図4は、画像移送エンジンを使用した処理手段を有する医療装置のブロック図である。
Claims (15)
- 画像処理機能をプラットフォームと呼ぶマルチプロセッサシステム上に展開配置することにより画像のシーケンスを処理するような画像移送エンジンと呼ぶソフトウェアシステムであって、前記プラットフォームが処理された出力画像データを供給するために入力画像データを発生するようなソフトウェアシステムにおいて、
通信パターンと呼ぶソフトウェアデータ分割モデルであって、前記シーケンスの画像をタイムスタンプが付されたデータパケットを使用して分割し、これらデータパケットの伝送が前記画像処理機能の実行と重なり合ってもよいようなソフトウェアデータ分割モデルを有することを特徴とするソフトウェアシステム。 - 請求項1に記載のソフトウェアシステムにおいて、前記通信パターンは弧によりリンクされたノードであり、前記ノードはソフトウェアモジュールであり、前記弧は前記モジュールにポートを介して関連付けられる有向接続部であり、前記モジュールの各々は当該モジュールに付属される1つの画像処理機能を活性化すると共にデータの伝送及び同期を管理することを特徴とするソフトウェアシステム。
- 請求項2に記載のソフトウェアシステムにおいて、
モジュールはポートを介して他のモジュールと情報を交換し、
前記モジュールの中には、前記タイムスタンプが付されたデータパケットと、所与の画像シーケンスの全ての画像データパケットの位置を特定するようなTime−Refにより示す時間参照データ構造とを発生する1つのソースモジュールと;出力データ受信部として使用される1個又は数個のシンクモジュールと;前記ソースモジュールと前記シンクモジュールとの間に前記画像データが1方向のみに且つ非巡回的に流れるように接続される通常のモジュールとが存在し、
前記ソースモジュールは入力ポートを有さず、前記シンクモジュールは出力ポートを有さず、前記通常のモジュールは入力ポート及び出力ポートを有している、
ことを特徴とするソフトウェアシステム。 - 請求項3に記載のソフトウェアシステムにおいて、前記接続部の中には、データを扱うと共に画像データパケットの伝送に特化されたデータ接続部が存在し、これらデータ接続部が単方向性接続部であることを特徴とするソフトウェアシステム。
- 請求項4に記載のソフトウェアシステムにおいて、前記Time−Refにより示す時間参照データ構造がデータパケットを、当該画像シーケンス内の画像インデックスに関し且つ現画像内でのデータパケット位置に関して位置特定することを特徴とするソフトウェアシステム。
- 請求項5に記載のソフトウェアシステムにおいて、前記ソースモジュールは前記入力データを、画像ストリップと呼ぶデータ細片であるようなデータパケットに分割し、1つの画像ストリップは画像ラインと平行な連続する画像ラインのパケットであり、前記データは処理されるべきピクセルから形成される前記画像ラインに沿って到来し、或る画像ストリップは他の画像ストリップと重なり合ってもよいことを特徴とするソフトウェアシステム。
- 請求項6に記載のソフトウェアシステムにおいて、前記画像ストリップの活性領域に対して重なり領域の定義を有し、これら重なり領域は前記画像ストリップの前記活性領域の両側に位置する画像ストリップの余分な部分から形成されていることを特徴とするソフトウェアシステム。
- 分散型アプリケーションをプログラムするための請求項7に記載のソフトウェアシステムにおいて、送出するモジュールと受信するモジュールとの間で重なり領域を伴う画像ストリップを伝送するステップと、或るモジュールによる画像ストリップの生成の時点と該モジュールによる前記画像ストリップの送出の時点との間の差を調整するステップと、或るモジュールによる画像ストリップの受信の時点と該モジュールによる前記画像ストリップの処理の時点との間の差を調整するステップとを有し、データ送信とデータ処理との間の最適な重なりを実施することを特徴とするソフトウェアシステム。
- 請求項6ないし8の何れか一項に記載のソフトウェアシステムにおいて、前記Time−Refにより示す時間参照データ構造が前記画像ストリップを、当該シーケンス内の現画像インデックスに関し且つ現画像内での画像ストリップ位置に関して位置特定し、前記データ接続部は連続する画像ストリップのTime−Refを含む同期情報と一緒の繰り返し伝送を保証し、全てのモジュールが前記画像ストリップを繰り返し受信し、処理し且つ送信することを特徴とするソフトウェアシステム。
- 請求項2ないし9の何れか一項に記載のソフトウェアシステムにおいて、前記通信パターンは2つのポートの間に:
ポイントツーポイント接続部であって、連続する画像ストリップを伝送するパイプライン接続部;
全てが共通の出力ポートから発せられたn個の接続部の群に属するようなポイントツーポイント接続部であって、n画像ストリップ毎に1つの画像ストリップを伝送する[1/n]分散接続部;
全てが共通の入力ポートに到達するn個の接続部の群に属するようなポイントツーポイント接続部であって、n画像ストリップ毎に1つの画像ストリップを伝送すると共に前記共通入力ポートに到達する全ての画像ストリップを集合させる[1/n]集合接続部;
なる型式の接続部のうちの1つを有することを特徴とするソフトウェアシステム。 - 請求項10に記載のソフトウェアシステムにおいて、タスク分割方法及び/又はデータ分割方法を有し、これらの中でタスク分割構造はパイプライン接続部を使用し、前記画像処理機能は関連するモジュールをリンクする物理的データ経路に沿って次から次へと適用され、各モジュールは前記全ての画像ストリップに関して所与のタスクを活性化することを特徴とするソフトウェアシステム。
- 請求項10に記載のソフトウェアシステムにおいて、タスク分割方法及び/又はデータ分割方法を有し、これら方法の中で、分散/集合タイプのデータ分割は、前記画像ストリップを画像ストリップインデックスに従い且つ画像ストリップ間の可能性のある空間的シフトと時間遅延調整とを伴ってn個の宛先モジュールに分配する[1/n]分散接続部を用い、及び/又はn個の画像ストリップを、これら画像ストリップの画像ストリップインデックスに従って宛先モジュールに集合させる[1/n]集合接続部を用いることを特徴とするソフトウェアシステム。
- 請求項10に記載のソフトウェアシステムにおいて、パイプライン接続部と2つの同期した出力ストリームをあたかも画像の2つの別個の部分から生じるように伝送する前記ソースモジュールの特性とを使用するデータ分割構造を有し、前記画像の2つの部分をシンク画像処理機能内で集合させると共に、最終的結果を目標の端末ポートに向かって押し出すことを特徴とするソフトウェアシステム。
- 医療デジタル画像データを収集する手段を有すると共に、該医療デジタル画像データにアクセスする請求項1ないし13の何れか一項に記載のソフトウェアシステムを使用する医療検査画像化装置において、前記医療デジタル画像及び処理された医療デジタル画像を表示する表示手段を有していることを特徴とする医療検査画像化装置。
- 請求項1ないし13の何れか一項に記載のソフトウェアシステムを動作させる一連の命令を有することを特徴とするコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01400352 | 2001-02-09 | ||
PCT/IB2002/000309 WO2002063559A2 (en) | 2001-02-09 | 2002-01-28 | Software system for deploying image processing functions on a programmable platform of distributed processor environments |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004519043A true JP2004519043A (ja) | 2004-06-24 |
Family
ID=8182619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002563428A Withdrawn JP2004519043A (ja) | 2001-02-09 | 2002-01-28 | 画像処理機能を分散型プロセッサ環境のプログラマブルプラットフォーム上に展開配置するソフトウェアシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030026505A1 (ja) |
EP (1) | EP1368786B1 (ja) |
JP (1) | JP2004519043A (ja) |
AT (1) | ATE316672T1 (ja) |
DE (1) | DE60208883T2 (ja) |
WO (1) | WO2002063559A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007135693A (ja) * | 2005-11-15 | 2007-06-07 | Toshiba Corp | 磁気共鳴イメージング装置 |
JP2011156418A (ja) * | 2011-05-25 | 2011-08-18 | Toshiba Corp | 磁気共鳴イメージング装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2398715A (en) * | 2003-02-21 | 2004-08-25 | Sony Uk Ltd | Pixel-based colour correction using two or more colour correction processes |
US8595074B2 (en) * | 2003-07-15 | 2013-11-26 | American Express Travel Related Services Company, Inc. | System and method for activating or changing the status of an account associated with a prepaid card |
TWI220096B (en) * | 2003-07-28 | 2004-08-01 | Realtek Semiconductor Corp | Image processing device and method thereof |
US20060062491A1 (en) * | 2004-09-17 | 2006-03-23 | Chen Ernest P | Techniques for image processing |
JP2006099579A (ja) * | 2004-09-30 | 2006-04-13 | Toshiba Corp | 情報処理装置及び情報処理方法 |
CN102538979A (zh) * | 2011-12-31 | 2012-07-04 | 北京毕威康坶技术有限公司 | 一种红外热成像处理方法和系统 |
EP3652742B1 (en) * | 2017-07-14 | 2023-12-13 | Illumina, Inc. | Coordinated application processing |
CA3136258A1 (en) * | 2021-01-05 | 2022-07-05 | The Boeing Company | Fuel receptacle and boom tip position and pose estimation for aerial refueling |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8713819D0 (en) * | 1987-06-12 | 1987-12-16 | Smiths Industries Plc | Information processing systems |
US5212777A (en) * | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
US5212742A (en) * | 1991-05-24 | 1993-05-18 | Apple Computer, Inc. | Method and apparatus for encoding/decoding image data |
US5325485A (en) * | 1992-10-30 | 1994-06-28 | International Business Machines Corporation | Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order |
US5444709A (en) * | 1993-09-30 | 1995-08-22 | Apple Computer, Inc. | Protocol for transporting real time data |
US5434629A (en) * | 1993-12-20 | 1995-07-18 | Focus Automation Systems Inc. | Real-time line scan processor |
US5493643A (en) * | 1994-05-03 | 1996-02-20 | Loral Aerospace Corp. | Image generator architecture employing tri-level fixed interleave processing and distribution buses |
US6111582A (en) * | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
GB9707020D0 (en) * | 1997-04-07 | 1997-05-28 | Pandora Int Ltd | Image processing |
CA2318272A1 (en) * | 1998-01-26 | 1999-07-29 | Yendo Hu | Method and apparatus for advanced television signal encoding and decoding |
US6526163B1 (en) * | 1998-11-23 | 2003-02-25 | G.E. Diasonics Ltd. | Ultrasound system with parallel processing architecture |
-
2002
- 2002-01-28 EP EP02710220A patent/EP1368786B1/en not_active Expired - Lifetime
- 2002-01-28 DE DE60208883T patent/DE60208883T2/de not_active Expired - Fee Related
- 2002-01-28 WO PCT/IB2002/000309 patent/WO2002063559A2/en active IP Right Grant
- 2002-01-28 AT AT02710220T patent/ATE316672T1/de not_active IP Right Cessation
- 2002-01-28 JP JP2002563428A patent/JP2004519043A/ja not_active Withdrawn
- 2002-02-05 US US10/067,365 patent/US20030026505A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007135693A (ja) * | 2005-11-15 | 2007-06-07 | Toshiba Corp | 磁気共鳴イメージング装置 |
JP2011156418A (ja) * | 2011-05-25 | 2011-08-18 | Toshiba Corp | 磁気共鳴イメージング装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2002063559A3 (en) | 2003-06-05 |
EP1368786B1 (en) | 2006-01-25 |
EP1368786A2 (en) | 2003-12-10 |
DE60208883T2 (de) | 2006-08-24 |
WO2002063559A2 (en) | 2002-08-15 |
US20030026505A1 (en) | 2003-02-06 |
DE60208883D1 (de) | 2006-04-13 |
ATE316672T1 (de) | 2006-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170262567A1 (en) | Code partitioning for the array of devices | |
US7274706B1 (en) | Methods and systems for processing network data | |
US8325618B2 (en) | Electronic device, system on chip and method for monitoring a data flow | |
US20160173104A1 (en) | Programmable forwarding plane | |
JP2004519043A (ja) | 画像処理機能を分散型プロセッサ環境のプログラマブルプラットフォーム上に展開配置するソフトウェアシステム | |
CN104067581B (zh) | 多网关装置、复用线路通信系统以及复用线路通信方法 | |
JP2003510669A (ja) | リアルタイムビデオ処理のためのモジュラ平行パイプライン化ビジョンシステム | |
WO2008004185A2 (en) | Electronic device, system on chip and method for monitoring data traffic | |
CN109828843A (zh) | 一种计算节点间数据传输的方法、系统及电子设备 | |
CN115086250B (zh) | 一种网络靶场分布式流量发生系统与方法 | |
Moro et al. | A framework for network function decomposition and deployment | |
BeaulahSoundarabai et al. | An improved leader election algorithm for distributed systems | |
US10614026B2 (en) | Switch with data and control path systolic array | |
US8549259B2 (en) | Performing a vector collective operation on a parallel computer having a plurality of compute nodes | |
Elliott et al. | Real-time simulation of videophone image coding algorithms on reconfigurable multicomputers | |
WO2008018004A2 (en) | Electronic device and method for synchronizing a communication | |
US11706097B2 (en) | Task processing method applied to network topology, electronic device and storage medium | |
CN107181701B (zh) | 公共网关接口数据的收集方法及装置 | |
CN109189699A (zh) | 多路服务器通信方法、系统、中间控制器及可读存储介质 | |
Chio et al. | Adaptive mediation for data exchange in IoT systems | |
JP2013196509A (ja) | 情報処理装置及びその制御方法 | |
CN106487694A (zh) | 一种数据流处理方法和装置 | |
Álvarez-Llorente et al. | Formal modeling and performance evaluation of a run-time rank remapping technique in broadcast, allgather and allreduce MPI collective operations | |
Gong | Segment streaming for efficient pipelined televisualization | |
RU2794969C1 (ru) | Способ, устройство и электронное устройство для обработки задач |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041221 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050127 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070806 |