(57)【要約】  本発明は、プロセッサ群にわたって画像処理アプリケーションを分散させるシステムに関する。システムは、入力文書を読み取る読み取り手段と、入力文書における不一致を検出するコンパイル手段と、プロセッサ群をプログラムするようコンパイル文書から実行可能コードを構築する構築手段とを備える。入力文書は、画像処理機能全体又は画像処理機能のステップを入力画像に施すモジュールを規定する。そうしたモジュールは、入力／出力リンクを介して画像ストリップを受信又は送信する入力／出力ポートを備える。上記入力／出力ポートはジオメトリ及び規定によって規定され、上記ジオメトリは上記入力画像の分割を画像ストリップ群に規定し、上記規定は、上記入力／出力ポートを通る対象の上記画像ストリップ群の部分集合を規定する。モジュールは、規定される画像処理機能を実行する、上記プロセッサ群の一プロセッサにアタッチされる。
2007515731.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ群によって実行する対象の実行可能コ―ドを生成するシステムであって、
前記プロセッサ群にわたる画像処理アプリケーションの分散を表す入力文書を読み取る読み取り手段であって、前記入力文書が、前記プロセッサ群のプロセッサによって少なくとも１つの入力画像に施す対象の画像処理機能の少なくとも一部を表す少なくとも１つのモジュールを備え、前記入力画像は画像ストリップに分割され、前記モジュールは、少なくとも１つの入力リンクを介して前記モジュールによって処理される対象の画像ストリップを受信する少なくとも１つの入力ポート、及び／又は、少なくとも１つの出力リンクを介して処理済画像ストリップを送信する少なくとも１つの出力ポートを備え、前記入力／出力ポートは、ジオメトリ及び規定によって規定され、前記ジオメトリは上記入力画像の画像ストリップ群への分割を規定し、前記規定は、前記入力／出力ポートを通る対象の前記画像ストリップ群の部分集合を規定する読み取り手段と、
前記入力文書における不一致を検出するコンパイル手段と、
前記プロセッサ群をプログラミングするよう前記コンパイル文書から実行可能コードを構築する構築手段とを備えることを特徴とするシステム。
【請求項２】
請求項１記載のシステムであって、前記コンパイル手段は、前記入力文書の構文、及び前記分散の有効性を検査するよう企図されることを特徴とするシステム。
【請求項３】
請求項１記載のシステムであって、前記ジオメトリによって、画像ストリップ・インデックスによって画像ストリップが位置特定され、前記規定によって、前記画像ストリップ・インデックスが反復インデックスの関数として定義されることを特徴とするシステム。
【請求項４】
請求項１記載のシステムであって、前記ジオメトリ及び前記規定は、前記入力文書によって規定されるパラメータによってパラメータ化され、前記パラメータはモジュールに対して相対的であることを特徴とするシステム。
【請求項５】
請求項３記載のシステムであって、相対パラメータを、前記分散に対して絶対的なパラメータに変換する算出手段を備えることを特徴とするシステム。
【請求項６】
請求項３記載のシステムであって、前記規定は、ランク及び周期によってパラメータ化され、前記ランクは第１の画像ストリップの前記画像ストリップ・インデックスであり、前記周期は、前記入力／出力ポートを介して伝送される対象の連続した２つの画像ストリップのインデックス間の差であることを特徴とするシステム。
【請求項７】
請求項１記載のシステムであって、前記入力文書はグラフィカル形式を有することを特徴とするシステム。
【請求項８】
プロセッサ群にわたる画像処理アプリケーションの分散を表す入力文書であって、
前記プロセッサ群のプロセッサによって少なくとも１つの入力画像に施す対象の画像処理機能の少なくとも一部を表す少なくとも１つのモジュールを備え、前記入力画像は画像ストリップに分割され、前記モジュールは、少なくとも１つの入力リンクを介して前記モジュールによって処理される対象の画像ストリップを受信する少なくとも１つの入力ポート、及び／又は、少なくとも１つの出力リンクを介して処理済画像ストリップを送信する少なくとも１つの出力ポートを備え、前記入力／出力ポートは、ジオメトリ及び規定によって規定され、前記ジオメトリは前記入力画像の画像ストリップ群への分割を規定し、前記規定は、前記入力／出力ポートを通る対象の前記画像ストリップ群の部分集合を規定することを特徴とする入力文書。
【請求項９】
プロセッサ群にわたって画像処理アプリケーションを分散させる方法であって、
入力文書を読み取るステップであって、前記入力文書は、前記プロセッサ群にわたる画像処理アプリケーションの分散を表すよう企図され、前記プロセッサ群のプロセッサによって少なくとも１つの入力画像に施す対象の画像処理機能の少なくとも一部を表す少なくとも１つのモジュールを備え、前記入力画像は画像ストリップに分割され、前記モジュールは、少なくとも１つの入力リンクを介して前記モジュールによって処理される対象の画像ストリップを受信する少なくとも１つの入力ポート、及び／又は、少なくとも１つの出力リンクを介して処理済画像ストリップを送信する少なくとも１つの出力ポートを備え、前記入力／出力ポートは、ジオメトリ及び規定によって規定され、前記ジオメトリは前記入力画像の画像ストリップ群への分割を規定し、前記規定は、前記入力／出力ポートを通る対象の前記画像ストリップ群の部分集合を規定する、入力文書を読み取るステップと、
前記入力文書における不一致を検出する、前記入力文書をコンパイルするステップと、
前記プロセッサ群をプログラミングするよう前記コンパイル入力文書から実行可能コードを構築するステップとを備えることを特徴とする方法。
【請求項１０】
実行可能コードであって、プロセッサ群にロードされると、請求項８記載の入力文書によって規定される画像処理アプリケーションを前記プロセッサ群に行わせる命令群を備えることを特徴とする実行可能コード。
【請求項１１】
コンピュータ・プログラムであって、ホスト・プロセッサにロードされると、請求項９記載の方法を前記ホスト・プロセッサに行わせる命令群を備えることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理アプリケーションをプロセッサ群にわたって分散させるシステムに関する。本発明は、そうしたシステムにおいて実施される方法に更に関する。本発明は、そうしたシステムが読み取る対象の入力文書にも関する。本発明は最後に、プロセッサ群にわたって画像処理アプリケーションをプログラミングする実行可能コードに関する。
【０００２】
本発明には、特に、医療画像処理の領域においてその応用がみられる。
【背景技術】
【０００３】
新たなリアルタイム医療アプリケーションは今日、複雑な分散プロセッサ・システムを用いることを必要としている。そうしたシステムは、処理対象データを伝送する相互接続ファブリックによって種々のプロセッサがリンクされている商用の標準仕様マルチプロセッサ・ボ―ドを備えている。
【０００４】
そうしたアプリケーションをプログラミングすることは、アプリケーション開発者に難題を投げかけるものであり、アプリケーション開発者はアプリケーションの最初のバージョンがコンパイル及び実行されるようにするうえで多大な労力を費やさなければならない。このことは、同時に実行し、データを実行しなければならない多くの処理又はタスクを有するという複雑度によるものである。したがって、正しいマルチプロセッサ実行可能コードの生成を支援するツールに対する必要性が存在している。
【０００５】
そうしたツールの主要要件として、開発時間及びデバッグ時間の削減による性能の向上と、アプリケーション仕様の簡単ですばやいアップグレードを可能にすることによる柔軟性の増大がある。
【０００６】
Ｋｏｎｉｎｋｌｉｊｋｅ  Ｐｈｉｌｉｐｓ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．出願の、西暦２００２年８月１５日公開の国際公開第０２／０６３５５９号明細書は、医療画像処理アプリケーションをプロセッサ群にわたって分散させるシステムを開示しており、このシステムは３つの原理に基づいている。
【０００７】
機能を表すモジュールを備える有向グラフと、データが上を流れるパスを表す有向弧とによって表される同期フロー。このパスはコネクション又はリンクとも呼ばれる。同期データ・フロー・モデルでは、各機能呼び出しで各モジュールによって生成又は消費されるいくつかのデータ・パケットが推測的に規定され、
入力画像はいくつかの画像ストリップに分割される。画像ストリップは、入力の順序での連続した画素の水平方向の帯である。そうした分割の利点は、低レーテンシの制約を満たすという点である。実際に、レーテンシは、１つの全体の画像の代わりに１つの画像ストリップを処理するのに必要な時間に削減される。
【０００８】
いくつかのコネクション・タイプを採用する。
【０００９】
いくつかのデータ・パスを介して同じ画像ストリップを送ることに相当するブロードキャスト、
データ・パスを介して非連続ストリップを送ることに相当する分散、
同じ入力画像に属する画像ストリップをそれぞれがもたらす、いくつかのデータ・パスからの寄与を受けることに相当する収集。
【００１０】
分散／収集（データ分割）の概念によって、いくつかのモジュールにわたって機能の実行を分散させることが可能になり、各モジュールは、画像ストリップの一部分についてのみ呼び出される。そうした概念は、機能の１つ又はいくつかのステップをそれぞれが実行するいくつかの連続モジュールにわたって機能の実行を分散させるパイプライン（タスク分割）の概念とは区別しなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
そうしたシステムの欠点は、どの画像ストリップがどのコネクション上に流れるかを明白に判定することができないという点である。よって、パイプラインと、分散／収集とを組み合わせた、医療画像処理の領域に係わるもののような複雑なアプリケーションは、適切かつ安全に企図することができない。
【００１２】
本発明の目的は、画像ストリップがたどるパスを明白に判定する、複雑な分散アプリケーションを効率的かつ柔軟に開発するツールを提供することである。
【課題を解決するための手段】
【００１３】
このことは、プロセッサ群にわたって画像処理アプリケーションを分散させるシステムによって達成され、このシステムは、
プロセッサ群にわたる画像処理アプリケーションの分散を表す入力文書を読み取る読み取り手段であって、入力文書が、上記プロセッサ群のプロセッサによって少なくとも１つの入力画像に施す対象の画像処理機能の少なくとも一部を表す少なくとも１つのモジュールを備え、上記入力画像は画像ストリップに分割され、上記モジュールは、少なくとも１つの入力リンクを介してモジュールによって処理される対象の画像ストリップを受信する少なくとも１つの入力ポート、及び／又は、少なくとも１つの出力リンクを介して処理済画像ストリップを送信する少なくとも１つの出力ポートを備え、上記入力／出力ポートは、ジオメトリ及び規定によって規定され、上記ジオメトリは上記入力画像の画像ストリップ群への分割を規定し、上記規定は、上記入力／出力ポートを通る対象の上記画像ストリップ群の部分集合を規定する読み取り手段と、
上記入力文書における不一致を検出するコンパイル手段と、
上記プロセッサ群をプログラミングするよう上記コンパイル文書から実行可能コードを構築する構築手段とを備える。
【００１４】
本発明によれば、モジュールの入力／出力ポートにアタッチされるジオメトリ及び規定は、繰り返される手順の１回の実行で上記モジュールによって受信され、処理され、送信される画像ストリップを完全に規定するものである。モジュール間の画像ストリップがたどるパスをそのように厳密に規定することによって、あいまいさが何らなしで複雑なコネクション手順を定義することが可能になる。
【００１５】
効果的には、ジオメトリによって、画像ストリップ・インデックスによって画像ストリップが位置特定され、規定によって、画像ストリップ・インデックスが反復インデックスの関数として定義される。
【００１６】
本発明によって、モジュールの入力／出力ポートにアタッチされるジオメトリ及び規定が、モジュールに対して相対的なパラメータによってパラメータ化される。上記相対パラメータは、入力文書によって規定される。効果的には、本発明によるコンパイル手段は、上記相対パラメータを、規定された分散に対する絶対的なパラメータに変換する算出手段を備える。
【００１７】
本発明によれば、モジュールは、画像処理機能全体の一部又は画像処理機能全体を施し得る。第１の場合には、上記モジュールは、パイプライン・コネクションによってリンクされたモジュールの群に属する。
【００１８】
本発明の別の局面は、モジュールが、入力画像の画像ストリップの一部又は全部を処理し得るということである。第１の場合には、上記モジュールは、分散・収集コネクションによってリンクされたモジュールの群に属する。モジュールの各入力ポートにアタッチされる規定は、モジュールによって処理される対象の入力画像の画像ストリップを規定する。
【００１９】
本発明の第１の実施例では、連続した画像ストリップのサブ群がモジュールに送られる。この解決策の利点は、簡単であるという点である。画像処理アプリケーションのレーテンシは、画像ストリップの最大サブ群を処理するうえでの遅延に結果的になる。
【００２０】
本発明の第２の実施例では、画像ストリップを、分散／収集コネクションを形成するモジュール群のモジュール間で周期的に分散させる。この解決策には、利点として、画像処理アプリケーションのレーテンシを１つの画像ストリップを処理するうえでの遅延まで削減するという点がある。
【００２１】
なお、本発明によるシステムによって、効果的には、パイプライン・コネクション及び分散／収集コネクションを組み合わせることが可能になる。そうした複雑なコネクション手順では、モジュールは、機能の一部を、入力画像内のジオメトリによって規定される画像ストリップの一部に施し得る。
【発明を実施するための最良の形態】
【００２２】
本発明の前述及びその他の局面は、以下で説明する実施例から明らかであり、そうした実施例を参照しながら明らかになるであろう。
【００２３】
本発明は次に、更に詳細に、例として、添付図面を参照しながら説明する。
【００２４】
本発明は、プロセッサ群にわたって画像処理アプリケーションを分散させるシステムに関する。このシステムは、医療画像処理に特に適合されるが、より一般には、画像処理アプリケーションの開発に用いることができる。
【実施例】
【００２５】
図１は、そうしたシステムを機能的に示す。アプリケーション開発者は、画像処理アプリケーションを、例えば、パソコンＰＣ上の、入力文書ＩＤにおいて規定する。本発明によるシステムは、入力文書ＩＤを読み取る読み取り手段１と、上記入力文書ＩＤにおける不一致を検出するコンパイル手段２と、プロセッサ４の群をプログラミングするようコンパイル入力文書から実行可能コードＥＣを構築する構築手段３とを備える。
【００２６】
アプリケーションは、入力文書ＩＤによって規定される複数の画像処理機能を備える。図３ａ乃至図６は、本発明による入力文書を示す。上記入力文書は、グラフィカル形式を有する。グラフィカル入力文書の利点は、アプリケーションを表す視覚言語を用いることが可能になるという点であり、それは、簡単で、非常に強力なものであり得る。しかし、テキスト表現も用いることができる。
【００２７】
図３ａを参照すると、そうした入力文書は、画像処理機能ＩＰＦ、又は該画像処理機能ＩＰＦのステップを入力画像Ｉに施す少なくとも１つのモジュールＭを備える。該モジュールＭは、それがマッピングされる対象のプロセッサＰＳｘの表示を備える。上記モジュールＭは、少なくとも入力リンクＩＬ１を介して画像Ｉを受信する少なくとも入力ポートＩＰ１、及び／又は、少なくとも出力リンクＯＬ１を介して処理画像ＰＩを送信する少なくとも出力ポ―トＯＰ１を備える。リンクＩＬ１又はＯＬ１は、別個の２つのモジュールの出力ポートと入力ポートとの間のパスである。なお、ソース・モジュールと呼ばれる一部のモジュール、例えば、入力画像Ｉを獲得するモジュールは入力ポートを何ら有しておらず、シンク・モジュールと呼ばれる一部のモジュール、例えば、処理アプリケーションの終わりに処理画像を表示するモジュールは出力ポートを何ら有していない。
【００２８】
入力／出力ポートを介して受信又は送信する対象のデータの空間局所化及び時間局所化は、本発明によって、入力文書ＩＤによって完全に規定される。
【００２９】
本発明によれば、入力／出力ポートを介して受信又は送信する対象のデータは、要素、例えば、入力画像Ｉの画素の群である。効果的には、入力画像Ｉは画像ストリップ群に分割される。そうした分割には、利点として、全体の画像を処理する時間から、画像ストリップを処理する時間にアプリケーションのレーテンシを削減するという点がある。画像ストリップは、モジュール入力順序又は画像走査順序による入力画像Ｉの連続した画素の群である。図２ａは画像ストリップの例を示す。入力画像Ｉは、幅Ｗ及び高さＨを有する。画像ストリップは、例えば（ｉ，ｊ）にあるその第１の画素のインデックスｓ（ｓ＝ｉ．ｗ＋ｊ）によって規定され、幅Ｗｓは、画像ストリップを形成する連続画素数に等しい。
【００３０】
入力文書ＩＤは、入力画像の、画像ストリップＩＳ１乃至ＩＳＮの群への少なくとも１つの分割を表す。該分割は、ジオメトリＧと呼ばれ、ジオメトリＧは、画像ストリップＩＳ１乃至ＩＳＮの空間特性を規定し、入力画像Ｉ内のそれらの位置を表す。
【００３１】
図２ｂは、入力画像Ｉを、入力画像の幅Ｗに等しい同じ幅を全てが有する画像ストリップに簡単にかつ規則的に分割することを示す。しかし、本発明によるシステムによって、最も簡単なものから最も複雑なものまでどんな種類のジオメトリＧも規定することが可能になる。例えば、画像ストリップは、同数の連続画素を有していなくてよく、ジオメトリによって規定される画像ストリップ全ての和によって、入力画像全体が必ずしも包含されなくてよい。
【００３２】
図３ａに示すように、ジオメトリ（ＩＧ１，ＯＧ１）が、入力／出力ポート（ＩＰ１，ＯＰ１）にアタッチされる。理論的には、同じ画像処理アプリケーションの別個の２つの入力／出力ポートは異なるジオメトリを有し得る。
【００３３】
入力／出力ポート（ＩＰ１，ＯＰ１）は、規定（ＩＦ１，ＯＦ１）によって更に規定される。規定は、入力／出力ポートを通る対象の、ジオメトリ（ＩＧ１，ＯＧ１）によって規定される画像ストリップ群の部分集合を規定する。更に、この部分集合の各ストリップには、ストリップ・インデックスと呼ばれる一意の識別子が関連付けられる。ストリップがＮ個の場合、上記識別子の個数は、０以上Ｎ−１以下の範囲である。
【００３４】
処理の反復によって、入力規定ＩＬ１及び入力ジオメトリＩＧ１によって規定されるインデックスｓｎの画像ストリップは、入力ポートＩＰ１を通り、モジュールＭによって処理される。この反復の場合、入力ストリップの処理によって生成される対象の１つ（又は複数の）ストリップ・インデックスｓｎは、出力ポートの規定によって判定される。
【００３５】
出力ポートＯＰは、出力リンクＯＬ１によってリンクされる入力ポートのジオメトリ及び規定に準拠しなければならないジオメトリ及び規定を有する。こうした準拠は、本発明によって、システムのコンパイル手段２によって検査される。
【００３６】
図３ｂは、本発明による入力文書ＩＤを表す。上記入力文書は、４つのモジュールＭ１、Ｍ２、Ｍ３及びＭ４を備えるグラフィカル文書である。モジュールＭ１は、入力ポートを何ら有しておらず、かつ、２つの出力ポートＯＰ１，１、ＯＰ１，２を有し、例えば、画像獲得機能を有するソース・モジュールを有する。２つの入力ポートＩＰ４，１、ＩＰ４，２を有しており、かつ、出力ポートを何ら有していないモジュールＭ４は、例えば、表示機能を有するシンク・モジュールである。入力ポートＩＰ２１、ＩＰ３１も出力ポートＯＰ２，１、ＯＰ３，１も有するモジュールＭ２及びＭ３は、例えば、空間フィルタのものなどの画像処理機能を行い得る。
【００３７】
入力ポートＩＰｍ，ｐ（ｐは整数）を備えたモジュールＭｍ（ｍは整数）の場合、上記入力ポートは、ジオメトリＩＧｍ，ｐ及び規定ＩＦｍ，ｐによって規定される。上記ジオメトリＩＧｍ，ｐは入力画像Ｉ内の画像ストリップ群を規定する。画像ストリップは、例えば、上記画像ストリップの第１の画素のインデックスであるインデックスｓによって規定される。ジオメトリは、よって、上記インデックスｓの関数であり、インデックスｓを有する画像ストリップの空間特性を規定する。ジオメトリＩＧｍ，ｐは、インデックスｓの画像ストリップに施されるジオメトリｇｍ．ｐ（ｓ）の和、すなわち
【数１】
2007515731.tif 000003
として表され、ここで、
【数２】
2007515731.tif 000004
は、入力画像Ｉ内のジオメトリによって規定される画像ストリップの合計数である。
【００３８】
各モジュールでは、反復インデックスｋが、アプリケーション開始時にゼロに初期化され、このモジュールにアタッチされた画像処理機能がトリガされる都度、１増やされる整数値として規定される。
【００３９】
上記入力ポートＩＰｍ，ｐの規定ＩＦｍ，ｐは、処理する対象の画像ストリップｓのインデックスを、反復インデックスｋ（ｋは整数）及び他のパラメータαｍ、βｍ，…ωｍの関数として、モジュールＭｍのみに応じて規定する、すなわち、ＩＦｍ，ｐ＝ｆ（ｋ，αｍ，βｍ，…，ωｍ）＝ｓである。
【００４０】
図３ｂ、図４ａ及び図４ｂは、各種のコネクションに関するアプリケーションを規定する、本発明による入力文書の例である。
【００４１】
図３ｂの例では、入力リンクＬ１１，２１及びＬ１２，３１はブロードキャスト・コネクションを備える、すなわち、入力画像Ｉの同じ画像ストリップＩが、別々の２つのデータ・パスを介して送られる。
【００４２】
図４ａは、パイプライン・コネクションによってリンクされる３つのモジュールＭ１、Ｍ２及びＭ３を表す、すなわち、各モジュールは、画像処理機能ＩＰＦの別々のステップＳＴＰ１、ＳＴＰ２、ＳＴＰ３を受信画像ストリップに施す。
【００４３】
図４ｂは、分散／収集コネクションを備えるアプリケーションを表す、すなわち、モジュールＭ１を２つの画像ストリップ部分集合に分散させる。第１の部分集合がモジュールＭ２によって処理され、第２の部分集合はモジュールＭ３によって処理される。モジュールＭ２もＭ３も同じ画像処理機能を施すが、画像ストリップの別個の部分集合に施す。処理された部分集合は、モジュールＭ４によって更に収集される。なお、アプリケーションは完全に規定されているが、それは、入力文書内の画像ストリップがたどるパスが、各入力／出力ポートに関連したジオメトリ及び規定によって完全に判定されるからである。
【００４４】
分散／収集コネクションの場合、同じ画像処理機能を、入力画像Ｉの画像ストリップの別々の部分集合に施す複数のモジュールにわたって画像ストリップを分散させるいくつかのやり方が存在する。そうした分散は、分散／収集コネクションに関するモジュールの入力ノードの規定によって規定される。
【００４５】
図４ｂに示す、本発明の第１の実施例では、画像ストリップは単に、連続する画像ストリップの２つの部分集合に分割される。モジュールＭ２及びＭ３の入力ポートは以下の規定を有している。
【００４６】
【数３】
2007515731.tif 000005
ここで、ａ％ｂは、ａのｂによる整数除算の余りである。
【００４７】
【数４】
2007515731.tif 000006
ここで、
【数５】
2007515731.tif 000007
は、分散／収集コネクションを構成するモジュールによって規定されるジオメトリ全てが、同じ合計数の画像ストリップを有するとした場合の、入力画像Ｉ内の合計画像ストリップ数である。
【００４８】
本発明のこの第１の実施例の利点は、連続した画像ストリップが、同じモジュールによって処理されるので、単純であり、かつ、重なりが大きな空間フィルタリングにふさわしいという点である。
【００４９】
図５に表す、本発明の第２の実施例では、分散／収集コネクション手順に関するモジュール間の画像ストリップの分散が、順序付けられて、かつ、周期的に行われる。この場合、モジュールＭ２及びＭ３の規定は、ランク及び周期によってパラメータ化され、上記ランクは第１の画像の画像ストリップ・インデックスであり、上記周期は、上記入力／出力ポートを介して伝送される対象の連続した２つの画像ストリップのインデックス間の差である、すなわち、
ＩＦ２，１＝（ρ２＋ｋ．θ）％Ｓであり、ここで、θは分散／収集コネクションに関するモジュールの数に等しい整数であり、ρ２は分散／収集コネクション手順におけるモジュールＭ２のランクであり、
ＩＦ３，１＝（ρ３＋ｋ．θ）％Ｓであり、ここで、ρ３は分散／収集コネクション手順におけるモジュールＭ３のランクである。
【００５０】
画像の第１の画像ストリップＩＳ１が第１のモジュールＭ２に送られ、０に等しいランクρ２を有し、第２の画像ストリップＩＳ２は第２のモジュールＭ３に送られ、１に等しいランクρ３を有し、θ番目の画像ストリップは第１のモジュールＭ２に送られ、０に等しいランクを有する、等である。
【００５１】
分散／収集コネクション手順が２つのモジュールのみを備える、図５に示す簡単な場合では、分散の周期はθ＝２であり、ランクρ２＝０を有するモジュールＭ２は常に偶数画像ストリップを処理する一方、ランクρ３＝１を有するモジュールＭ３は常に奇数画像ストリップを処理する。
【００５２】
θが３以上の整数のとき、θ個のモジュールを備える、より一般的な分散／収集コネクション手順の場合、各モジュールＭｍは、ＩＦｍ．ｐ＝（ρｍ＋ｋ．θ）％Ｓという規定によってドライブされるランクρｍ及び入力ポートＩＰｍ．ｐを有する。よって、モジュールＭｍは、その入力ポートの規定によって規定されるものと同じインデックスを常に処理する。
【００５３】
なお、合計画像ストリップ数を周期θで除算する場合、入力画像を構成する画像ストリップ群を整数の周期に分割することが可能である。この場合、画像ストリップを、関係するモジュール間で一様に分散させる。更に、分散／収集コネクションを構成するモジュール群のモジュール全てが同数の画像ストリップを処理することが可能である。
【００５４】
図６は、７個のモジュールが関係する、より複雑なコネクション手順を表す入力文書の例である。
【００５５】
なお、グラフィカル入力文書ＩＤは、例えば、グラフィカル・ライブラリにおいて利用可能なものとして存在する、あらかじめ規定されたグラフィカル・エレメントを備えたグラフィカル・インタフェースを用いて構築される。モジュールＭのボックス又はリンクＬの線などのあらかじめ規定されたグラフィカル・エレメントは、システムによってスクリプト命令に変換される技術特性を備える。
【００５６】
例えば、モジュールＭ１の入力ポートＩＰ１，１にアタッチされるジオメトリＩＧ１，１及び規定ＩＦ１，１も、入力文書内に、あらかじめ規定されたグラフィカル・エレメントを用いて規定される。ジオメトリＩＧ１，１を規定するのに用いる、あらかじめ規定されたエレメントとして、例えば、連続した画像ストリップを内部で区切ることが可能な、入力画像を表す２次元アレイがある。本発明によるシステムは、２次元アレイのそうしたグラフィカル区分を、ジオメトリＩＧ１，１を表すスクリプトに変換することができる。なお、２次元アレイは効果的には、アイテムＩＧ１，１上をクリックすると、グラフィカル・インタフェースにおいてポップアップ・ウィンドウとして表示することができる。
【００５７】
規定ＩＦ１，１は通常、モジュールに対して相対的ないくつかのパラメータによって規定される。例えば、本発明の第２の実施例によれば、２つのパラメータ（θｒ，ρｒ）を規定しなければならない。
【００５８】
本発明による入力文書では、アプリケーション開発者は、画像処理機能ＩＰＦを現行画像ストリップｓに施す、モジュールＭｍによって必要な重なりＯｖも規定しなければならない。特定のストリップの上記重なりは、モジュールＭｍのレベルで現行の画像ストリップを処理するのに利用可能にしなければならない、他の画像ストリップ内に備えられたいくつかの画素を表す。例えば、重なりＯｖは、現行の画像ストリップを処理するうえで先行ラインしか必要でない場合、１に等しい。先行画像ストリップが、処理済形式又は未処理形式で必要であることがあり得る。何れの場合も、そうしたものはモジュール・レベルでメモリに記憶することができる。
【００５９】
別の代替策では、整正ストリップ、処理済ストリップ及び転移ストリップの概念であって、
整正ストリップは、入力／出力ポートのジオメトリによって規定される、重ならない画像ストリップであり、
処理済ストリップは、モジュールの画像処理機能によって供給されるストリップであり、
転移ストリップは、画像処理機能によって必要であり、かつ、モジュールＭｍの入力ポートで規定によって規定される、空間ストリップの重なりを考慮に入れた、整正ストリップの拡充バージョンであると規定する概念を採用する。
【００６０】
要約すれば、本発明によるシステムは、少なくとも、
モジュールＭ１乃至Ｍｍの群と、
１≦ｍ≦Ｍのとき、モジュールＭｍを、群の他のモジュールにリンクする入力リンク及び出力リンクと、
相対的な重なりＯｖ、画像処理機能ＩＰＦの実行を担うプロセッサＰＳｘ、ジオメトリ及び規定がアタッチされるいくつかの入力／出力ポート、データ・タイプ、例えば、いくつかの相対的な周期及びランクなどのモジュール相対性パラメータに関する、画像処理機能ＩＰＦによって規定される各モジュールＭｍとの構成要素を規定する入力文書ＩＤに基づいて分散画像処理アプリケーションを生成することができる。
【００６１】
本発明によるシステムの入力文書は、例えば、周期、ランクや重なりなどの、特定のモジュール又はモジュール群に対して相対的ないくつかのパラメータを規定する。これらのパラメータは、モジュール又はモジュール群について入力文書ＩＤ内に規定される。
【００６２】
効果的には、本発明によるシステムは、上記相対パラメータに相当する絶対パラメータを算出する算出手段を備える。特に、上記算出手段は、分散／収集コネクションを構成するモジュール群内のモジュールＭの相対ランクρｒ及び相対周期θｒを、絶対ランクρａ及び絶対周期θａと置き換え、可能性のあるカスケード分散／収集手順を累積する。上記算出手順は、連続したモジュールの相対的な重なりの累積も担う。
【００６３】
図６を参照すると、相対周期及び相対ランク（θｒ，ρｒ）をリンク・レベルで示す一方、絶対周期及び絶対ランク（θａ，ρａ）をモジュール内で示す。
【００６４】
本発明によるシステムの読み取り手段１は、入力文書ＩＤを解釈することが意図されている。特に、入力文書ＩＤによって備えられる規定から、読み取り手段１は、モジュールＭｍが入力画像１に施す対象の画像処理機能ＩＰＦのプロトタイプを出力する。上記プロトタイプに相当するソース・コードは、例えば、アプリケーション開発者によって、又は、あらかじめプログラムされたＩＰ機能のライブラリによって更に提供される。
【００６５】
コンパイル手段２は、入力文書において不一致がないか否かを更に検査する。コンパイル手段２は、入力文書の構文、及び、入力文書によって表される分散の有効性を検査することが意図されている。例えば、コンパイル手段２は、入力文書ＩＤに規定されている分散／収集コネクションが有効であるということを検査する。
【００６６】
構築手段３は、コンパイル入力文書からの実行可能コードの構築も更に担う。上記実行可能コードは、プロセッサ群を駆動させる命令を備え、入力文書によって規定される画像処理アプリケーションをプロセッサ群に実行させる。
【００６７】
図７は、本発明による、システムを備えるハードウェア・プラットフォームを示す。ハードウェア・プラットフォームは、局所バス１２を介してお互いに直接通信し合うプロセッサ群１０、１１を備える。局所バス１２は、Ｘ線検出器１４などの周辺ハードウェア構成要素に接続される入力インタフェース・ボード１３に更に接続されている。
【００６８】
本発明によるシステムは、例えば、ホスト・プロセッサ１６によって実施される。ホスト・プロセッサ１６は、システムとのユーザ対話を行うよう、端末１７に接続される。例えば、端末１７は、入力文書ＩＤを作成するためにアプリケーション開発者によって用いられる。これに応答して、本発明によるシステムは、コンパイル手段によって出力されるエラー・メッセージを端末１７に送る。ホスト・プロセッサ１６は、局所バス１２を介してプロセッサ群１０、１１と通信し、入力インタフェース・ボードと通信し、表示装置１９などのハードウェア周辺構成要素と接続された出力インタフェース・ボード１８と通信する制御バス１５に更に接続される。本発明によるシステムによって生成される実行可能コードＥＣは、よって、制御バス１５及び局所バス１２を介してプロセッサ群１０、１１に送信される。
【００６９】
本発明は、プロセッサ群にわたって画像処理アプリケーションを分散させる方法にも関する。上記方法は、
入力文書を読み取るステップであって、入力文書が、プロセッサ群にわたって画像処理アプリケーションの分散を表すよう企図されており、上記プロセッサ群のプロセッサによって少なくとも１つの入力画像に施す対象の画像処理機能の少なくとも一部を表す少なくとも１つのモジュールを備え、上記入力画像は画像ストリップに分割され、上記モジュールは、少なくとも１つの入力リンクを介してモジュールによって処理される対象の画像ストリップを受信する少なくとも１つの入力ポート、及び／又は、少なくとも１つの出力リンクを介して処理済画像ストリップを送信する少なくとも１つの出力ポートを備え、上記入力／出力ポートは、ジオメトリ及び規定によって規定され、上記ジオメトリは上記入力画像の画像ストリップ群への分割を規定し、上記規定は、上記入力／出力ポートを通る対象の上記画像ストリップ群の部分集合を規定する、入力文書を読み取るステップと、
上記入力文書における不一致を検出する、上記入力文書をコンパイルするステップと、
上記プロセッサ群をプログラミングするよう上記コンパイル入力文書から実行可能コードを構築するステップとを備える。
【００７０】
添付図面及びその説明は、本発明を限定するよりも例証するものである。特許請求の範囲の範囲内に収まる代替策が数多くあるということは明らかになるであろう。この点で、最終的なコメントを以下に記す。すなわち、ハードウェア・アイテムとソフトウェア・アイテムとの一方又は両方によって機能を実施する方法は数多く存在する。この点で、添付図面は、非常に概略的なものであり、それぞれは、本発明の、考えられる１つの実施例のみを表している。よって、添付図面は、別々の機能を別々のブロックとして示している場合があるが、このことは、単一のハードウェア・アイテム又はソフトウェア・アイテムがいくつかの機能を行うということを何ら排除するものでなく、単一の機能が、ハードウェア・アイテム・アセンブリとソフトウェア・アイテム・アセンブリとの一方又は両方によって行われるということを排除するものでもない。
【００７１】
特許請求の範囲における参照符号は何れも、特許請求の範囲を限定するものと解すべきでない。「ｔｏ  ｃｏｍｐｒｉｓｅ」の動詞及びその活用形を用いていることは、特許請求の範囲記載のもの以外の構成要素又はステップが存在することを排除するものでない。構成要素又はステップに先行する冠詞「ａ」又は「ａｎ」を用いていることは、そうした構成要素又はステップが複数存在することを排除するものでない。
【図面の簡単な説明】
【００７２】
【図１】本発明による、プロセッサ群にわたってアプリケーションを分散させるシステムの機能図である。
【図２ａ】本発明による、入力文書によって規定されるジオメトリの例を示す図である。
【図２ｂ】本発明による、入力文書によって規定されるジオメトリの例を示す図である。
【図３ａ】本発明による、入力文書によって規定されるモジュールの例である。
【図３ｂ】本発明による、入力文書によって規定されるブロードキャスト処理の略図である。
【図４ａ】本発明による、入力文書によって規定されるパイプライン処理の略図である。
【図４ｂ】本発明の第１の実施例による、入力文書によって規定される分散／収集処理の略図である。
【図５】本発明の第２の実施例による、入力文書によって規定される分散／収集処理の略図である。
【図６】本発明の第２の実施例による、入力文書によって規定される、カスケード式の分散／収集コネクション手順を備えるアプリケーションの略図である。
【図７】本発明によるシステムを備えるハードウェア・プラットフォームの略図である。
【図１】
2007515731.tif 000008
【図２ａ】
2007515731.tif 000009
【図２ｂ】
2007515731.tif 000010
【図３ａ】
2007515731.tif 000011
【図３ｂ】
2007515731.tif 000012
【図４ａ】
2007515731.tif 000013
【図４ｂ】
2007515731.tif 000014
【図５】
2007515731.tif 000015
【図６】
2007515731.tif 000016
【図７】
2007515731.tif 000017
【国際調査報告】
2007515731.tif 000018
2007515731.tif 000019
2007515731.tif 000020