(57)【特許請求の範囲】
【請求項１】
複数のプロセッサを備え、プロセッサ間で共通の部分として実現される手段と各プロセッサに分割して実現される手段との間で相互に情報を入出力し、入力画像によって処理負荷が変化する画像処理アルゴリズムを複数のプロセッサにより並列実行する並列画像処理装置において、
上記プロセッサ間で共通の部分として実現される手段は、
単位領域での最大処理負荷量を設定する単位領域当たりの最大処理量設定手段と、
使用プロセッサ数を設定する使用プロセッサ数設定手段と、
画像処理領域サイズを設定する処理画像情報設定手段と、
上記使用プロセッサ数設定手段に設定された使用プロセッサ数および上記処理画像情報設定手段に設定された画像処理領域サイズに応じて処理領域の割当方法を設定する領域分割法設定手段と、
上記単位領域当たりの最大処理量設定手段に設定された単位領域での最大処理負荷量および算出される処理領域に応じて処理制限量を設定する処理制限量計算手段と、
上記領域分割法設定手段によって設定された割当方法に基づいて処理領域を算出し、その処理領域およびその処理領域に応じて上記処理制限量計算手段によって設定された処理制限量を各プロセッサに割り当てると共に、プロセッサから再割当を要求された場合に、その再割当を要求された領域を未処理領域として再度割り当てを行う画像領域割当手段とを備え、
上記各プロセッサに分割して実現される手段は、
各プロセッサにおいて、上記画像領域割当手段によって割り当てられた処理領域に対して対象画像領域での処理負荷を計算し、その計算された処理負荷が設定された処理制限量を超えない場合には、割り当てられた処理領域を対応する画像処理実行手段に処理を指示し、その計算された処理負荷が設定された処理制限量を超えた場合には、割り当てられた処理領域のうちの処理制限量を超えた領域の再割当を上記画像領域割当手段に要求し、再割当要求後に割り当てられた処理領域のうちの処理制限量を超えない領域を対応する画像処理実行手段に処理を指示する処理負荷計算手段を備えたことを特徴とする並列画像処理装置。
【請求項２】
領域分割法設定手段を、単位領域当たりの最大処理量設定手段に設定された単位領域での最大処理負荷量に応じて処理領域の割当方法を設定する負荷計算型領域分割法設定手段としたことを特徴とする請求項1記載の並列画像処理装置。
【請求項３】
画像処理アルゴリズムでの単位領域に対する最大負荷に対する実行時間と最小負荷に対する実行時間とを実測する処理負荷実測手段を備え、領域分割法設定手段を、上記処理負荷実測手段によって実測された実測時間に応じて処理領域の割当方法を設定する実測対応型領域分割法設定手段とし、処理制限量計算手段を、上記処理負荷実測手段によって実測された実測時間に応じて処理制限量を設定する実測対応型処理制限量計算手段としたことを特徴とする請求項１記載の並列画像処理装置。
【請求項４】
任意のサイズの画像領域をブロックとして設定する処理ブロック設定手段を備え、処理負荷計算手段を、上記処理ブロック設定手段によって設定されたブロックを優先処理する処理ブロック対応型処理負荷計算手段とし、画像処理実行手段を、上記処理ブロック対応型処理負荷計算手段によって指示された画像領域の画像処理を実行する処理ブロック対応型画像処理実行手段としたことを特徴とする請求項１から請求項３のうちのいずれか１項記載の並列画像処理装置。
【請求項５】
対象計算機でのキャッシュ情報を設定するキャッシュ情報設定手段と、処理画像情報設定手段によって設定された画像処理領域サイズおよび上記キャッシュ情報設定手段によって設定されたキャッシュ情報に応じて処理ブロック設定手段によって設定されるブロックのサイズを設定する処理ブロック計算手段とを備えたことを特徴とする請求項４記載の並列画像処理装置。
【請求項６】
画像領域割当手段によって算出された処理領域、および処理ブロック対応型処理負荷計算手段に指定されたブロックのサイズに応じて処理ブロック設定手段によって設定されるブロックのサイズを動的に変化させて設定する動的処理ブロック計算手段を備えたことを特徴とする請求項４または請求項５記載の並列画像処理装置。
【請求項７】
領域分割法設定手段を、処理ブロック設定手段によって設定されたブロックのサイズに応じて処理領域の割当方法を設定する処理ブロック対応型領域分割法設定手段としたことを特徴とする請求項４から請求項６のうちのいずれか１項記載の並列画像処理装置。
【請求項８】
処理制限量計算手段を、処理ブロック設定手段によって設定されたブロックのサイズに応じて処理制限量を設定する処理ブロック対応型処理制限量計算手段としたことを特徴とする請求項４から請求項７のうちのいずれか１項記載の並列画像処理装置。
【請求項９】
領域分割設定手段を、単位領域の分割を考慮した処理領域の割当方法を設定する単位領域分割対応型領域分割設定手段とし、処理制限量計算手段を、単位領域を分割した場合の処理制限量を設定する単位領域分割対応型処理制限量計算手段とし、画像領域割当手段を、単位領域を分割して処理領域の割当および再割当を行う単位領域分割対応型画像領域割当手段とし、処理負荷計算手段を、単位領域の分割に対応して処理負荷の計算と再割当の有無を判定する単位領域分割対応型処理負荷計算手段とし、画像処理実行手段を、単位領域の分割に対応して指定された画像領域の画像処理を実行する単位領域分割対応型画像処理実行手段としたことを特徴とする請求項１記載の並列画像処理装置。
【請求項１０】
単位領域分割対応型領域分割設定手段の情報を参照して、単位領域の分割の可否を判定し、単位領域分割対応型処理負荷計算手段に伝達する単位領域分割可否条件設定手段を備えたことを特徴とする請求項９記載の並列画像処理装置。
【請求項１１】
単位領域を分割して再割当する際に、最初にその単位領域で処理負荷を計算した単位領域分割対応型処理負荷計算手段のその計算結果を保持し、分割された単位領域を再割り当てされた別のプロセッサの単位領域分割対応型処理負荷計算手段がその計算結果を参照可能にする事前計算結果保持手段を備えたことを特徴とする請求項９または請求項１０記載の並列画像処理装置。
【請求項１２】
対象計算機でのキャッシュ情報を設定するキャッシュ情報設定手段と、上記キャッシュ情報設定手段に設定されたキャッシュ情報および処理画像情報設定手段に設定された画像処理領域サイズに応じて単位領域を分割した場合のコストを算出すると共に、その算出されたコストから処理制限量を算出して単位領域分割対応型処理負荷計算手段に伝達する単位領域分割コスト計算手段とを備えたことを特徴とする請求項９から請求項１１のうちのいずれか１項記載の並列画像処理装置。
【請求項１３】
画像処理アルゴリズムでの単位領域毎に、予測負荷を設定する負荷予測設定手段を備え、領域分割法手段を、上記負荷予測設定手段によって設定された予測負荷に応じて処理領域の割当方法を設定する負荷予測型領域分割法手段としたことを特徴とする請求項１記載の並列画像処理装置。
【請求項１４】
画像を撮影した地域情報から、画像処理アルゴリズムでの単位領域毎の予測負荷を計算し、負荷予測設定手段に伝達する撮影地域負荷予測計算手段を備えたことを特徴とする請求項１３記載の並列画像処理装置。
【請求項１５】
算出した予測値と入力条件を記録する予測値記録手段と、予測値に対して実際の実行で算出された処理負荷を記録する処理結果記録手段 と、上記予測値記録手段によって記録された予測値と上記処理結果記録手段によって記録された処理負荷から予測負荷の計算方法を補正する予測パラメータ補正手段とを備えたことを特徴とする請求項１４記載の並列画像処理装置。
【請求項１６】
過去の予測計算実行時の画像を撮像した条件を記録すると共に、新たな予測計算を行う対象の画像への撮像条件から、最適の予測計算の補正を選択する撮影条件負荷予測補正手段を備えたことを特徴とする請求項１５記載の並列画像処理装置。
【請求項１７】
新たな予測値算出を指示された時に、予測値記録手段に記録された予測値算出の入力条件の中で類似の条件を検索して選択すると共に、処理結果記録手段に記録された計算結果を参照して、選択した予測計算に対する補正を行う最適予測条件計算手段を備えたことを特徴とする請求項１５記載の並列画像処理装置。
【請求項１８】
事前計算による処理を行うか否かの条件を設定する事前計算選択設定手段と、上記事前計算選択設定手段によって設定された条件から事前計算による処理の有無を判定する事前計算判定手段と、上記事前計算判定手段によって事前計算による処理を指示された時に、画像領域全体を対象に単位領域毎の処理負荷量を求める計算を事前に実行する事前処理負荷量計算手段と、上記事前処理負荷量計算手段によって事前に計算された単位領域毎の処理負荷量を基準に、各プロセッサの処理負荷が均等になるように領域の割当を行う事前処理対応型画像領域割当手段とを備えたことを特徴とする請求項１記載の並列画像処理装置。
【請求項１９】
領域分割設定手段を、画像情報を考慮した処理領域の割当方法を設定する画像情報参照型領域分割設定手段とし、画像領域割当手段を、プロセッサから再割当を要求された場合に、画像情報を参照して処理領域の再割当を行う画像情報参照型画像領域割当手段とし、処理負荷計算手段を、割り当てられた処理領域に対して処理単位毎の画像情報を計算する画像情報参照型処理負荷計算手段としたことを特徴とする請求項１記載の並列画像処理装置。
【請求項２０】
画像情報参照型画像領域割当手段は、画像情報を参照して処理領域の再割当を行う際に、単位領域数を優先して再割当を行う処理領域を決定することを特徴とする請求項１９記載の並列画像処理装置。
【請求項２１】
画像情報参照型画像領域割当手段は、画像情報を参照して処理領域の再割当を行う際に、画像情報の大きさを優先して再割当を行う処理領域を決定することを特徴とする請求項１９記載の並列画像処理装置。
【請求項２２】
画像情報参照型画像領域割当手段は、画像情報を参照して処理領域の再割当を行う際に、単純に画像情報から再割当を行う処理領域を採用するのではなく、得られた画像情報に基づいて、実行する画像処理の処理負荷を算出し、その処理負荷に基づいて再割当を行う処理領域を決定することを特徴とする請求項１９から請求項２１のうちのいずれか１項記載の並列画像処理装置。
【請求項２３】
画像情報参照型処理負荷計算手段は、初期割当時に、画像情報の計算と、画像処理実行手段への処理の指示とを連続して実行することを特徴とする請求項１９から請求項２１のうちのいずれか１項記載の並列画像処理装置。
【請求項２４】
複数のプロセッサを備え、プロセッサ間で共通の部分として実現される手段と各プロセッサに分割して実現される手段との間で相互に情報を入出力し、入力画像によって処理負荷が変化する画像処理アルゴリズムを複数のプロセッサにより並列実行する並列画像処理方法において、
上記プロセッサ間で共通の部分として実現される手段は、
割当処理領域を動的に決定すると共に、その割当処理領域に対する処理制限量を、単位領域での最大処理負荷量から算出し、各プロセッサへ割当処理領域と処理制限量の組として割り当てると共に、各プロセッサから処理制限量を超えた領域を受け取り、その領域を全体の未処理領域に組み込んで、再度処理領域として各プロセッサに割り当て、
上記各プロセッサに分割して実現される手段は、
各プロセッサにおいて、割当処理領域に対して対象画像領域での処理負荷を計算し、その計算された処理負荷が設定された処理制限量を超えない場合には、割当処理領域の処理実行を指示し、その計算された処理負荷が設定された処理制限量を超えた場合には、割当処理領域のうちの処理制限量を超えた領域の再割当を要求し、再割当要求後に割り当てられた処理領域のうちの処理制限量を超えない領域の処理実行を指示することを特徴とする並列画像処理方法。
【請求項２５】
画像処理アルゴリズムでの単位領域での最大処理負荷量から、割当処理領域の割当方法を決定することを特徴とする請求項２４記載の並列画像処理方法。
【請求項２６】
画像処理アルゴリズムの単位領域での最大負荷に対する実行時間と最小負荷に対する実行時間とを実測し、その実測時間から割当処理領域の割当方法と処理制限量の算出方法を決定することを特徴とする請求項２４記載の並列画像処理方法。
【請求項２７】
任意のサイズの画像領域をブロックとして指定し、そのブロック内では指定された処理を優先して行うことを特徴とする請求項２４記載の並列画像処理方法。
【請求項２８】
あるプロセッサで処理負荷が著しく増加し、画像処理アルゴリズムでの単位領域を基準とした再割当では十分対応できないときに、単位領域を分割して再割当を行うと共に、各プロセッサにおいても、単位領域の分割を考慮して、指定された処理制限量の判定と、分割された単位領域で処理の実行を行うことを特徴とする請求項２４記載の並列画像処理方法。
【請求項２９】
待機中のプロセッサ数や残りの処理領域の量を基準に、単位領域の分割の可否を判定することを特徴とする請求項２８記載の並列画像処理方法。
【請求項３０】
単位領域を分割して再割当を要求する時に、その単位領域を最初に処理するプロセッサが、処理負荷を求めるために実施する前半部分の計算結果を記録しておき、分割された単位領域での残りの処理を、後から指示されたプロセッサでは、その記録された前半部分の計算結果を利用して、後半部分の処理を行うことを特徴とする請求項２８記載の並列画像処理方法。
【請求項３１】
単位領域を分割する際に、キャッシュと画像領域のサイズから、キャッシュアクセスが有利となる分割位置を求めることを特徴とする請求項２８記載の並列画像処理方法。
【請求項３２】
画像処理アルゴリズムでの単位領域毎に予測負荷を設定し、その予測負荷を基準に画像領域の割当方法を決定することを特徴とする請求項２４記載の並列画像処理方法。
【請求項３３】
算出した予測値とそれに対する入力条件を記録すると共に、予測値に対して実際の実行で算出された処理負荷を記録し、これら記録した値を基準に予測負荷の算出方法を補正することを特徴とする請求項３２記載の並列画像処理方法。
【請求項３４】
過去の予測計算実行時の画像の撮像した条件や、予測値の算出基準となった入力条件から、新たに予測値を算出する際の方法を選択すると共に、適切な補正を行うことを特徴とする請求項３３記載の並列画像処理方法。
【請求項３５】
事前に単位領域毎の処理負荷を求めるか否かを判定して実行すると共に、事前に単位領域毎の処理負荷を求める場合には、求めた負荷を基準に画像領域の割当方法を決定することを特徴とする請求項２４記載の並列画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、入力画像により処理負荷が変化する画像処理アルゴリズムを、並列計算機上で効率良く実行する並列画像処理装置および並列画像処理方法に関するものである。
【０００２】
【従来の技術】
画像処理用のアルゴリズムには、入力画像によって処理負荷が変化するものがある。このようなアルゴリズムの１つに、ＭＵＳＩＣ（Ｍｕｌｔｉｐｌｅ  Ｓｉｇｎａｌ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）がある。ＭＵＳＩＣは、ＳＡＲ（Ｓｙｎｔｈｅｔｉｃ  Ａｐｅｒｔｕｒｅ  Ｒａｄｅｒ：合成開口レーダ）画像の解像度向上等で利用される。
ＭＵＳＩＣをＳＡＲ画像の解像度向上で利用する場合、各行（または列、説明を簡単にするため、以後は行方向のみ表記する）毎に、まず、固有値に基づいて散乱点数を推定する。次に、推定した散乱点数を基準に、ＳＡＲ画像の解像度向上処理を実施する。このため、各行の計算量は、推定した散乱点の数に依存する。この散乱点数が入力画像に依存するため、入力画像を処理しないと、各行の処理負荷が分からない。
一方で、画像処理の高速化手法の１つに、複数のプロセッサを使った並列処理がある。並列処理は、画像処理内での依存関係が少なく、画像サイズが大きいケースや処理負荷が高いケースで有効である。並列処理を効率良く行うためには、各プロセッサへ負荷を均等に割り振ることと、各プロセッサでの処理を効率良く行うことがポイントになる。
ＭＵＳＩＣでは、入力画像により各行の処理負荷が異なる。このような画像処理アルゴリズムを、画像領域のサイズを基準に単純に並列化すると（領域の大きさを基準に分割すると）、各プロセッサに負荷を均等に割り振れるとは限らない。プロセッサに負荷を均等に割り振れない場合には、並列処理の実行効率は低下する。
このように、入力画像によって処理負荷が変化するアルゴリズムの並列化では、単純な方法では、実行効率が低下する可能性がある。
【０００３】
これに対応する一般的な対応方法として、動的スケジューリング（データ分割）や、事前に散乱点を計算しておくことが考えられる。
この問題に対応する動的スケジューリングとしては、実行時の負荷により、データの分割を決定する方法が考えられる。このような方法の１つに、Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングがある。Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングでは、各プロセッサが動的に処理領域の割当を要求する。また、割当領域を動的に設定（徐々に小さく）する（図７参照）。このスケジューリング方法は、一般に、割当の要求回数と分割領域のばらつきを抑えられるケースが多い。このため、効率の良い動的スケジューリング法として知られている。
Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングで、ＭＵＳＩＣを並列化すると、散乱点を多く含んだ行を処理したプロセッサは、処理領域の割当回数が減るため、ある程度、処理負荷のばらつきを吸収できる。ただし、特定の行で処理負荷が著しく高い場合には、うまくいかない。例えば、最後の１行で負荷が高くなるケースや、特定の行の処理だけが画像サイズの数倍以上の処理時間がかかるケース等である。
これを解決するには、画像領域の分割と割当方法を変える必要（問題）がある。分割方法を変えるには、基準となる情報（ＭＵＳＩＣでは散乱点数）の特徴を考慮する必要がある。ただし、この問題に対して、最適な解を得る一般的な解決方法は存在しない。また、従来例もない。
一方、事前に計算する方法では、次の問題がある。
ＭＵＳＩＣによるＳＡＲ画像の解像度向上を、各行単位で実行する場合には、散乱点数推定の計算で使ったキャッシュ・データ（プロセッサのキャッシュ・メモリ中に蓄積済のデータ）を、次の計算フェーズである解像度向上処理でも利用できる利点がある。
事前に全行の散乱点数推定を実行する場合には、解像度向上処理フェーズで散乱点数推定の計算で使ったキャッシュ・データを利用できない。このため、各プロセッサで実行する処理の効率が低下する問題がある。また、散乱点を数えておくためのメモリ領域が、新たに必要になる。
なお、ここではＭＵＳＩＣの例で説明したが、ＭＵＳＩＣと同様に、入力画像により処理負荷が変化する画像処理アルゴリズムでは、同じ問題が発生する。
【０００４】
【発明が解決しようとする課題】
従来の並列画像処理方法は以上のように構成されているので、動的スケジューリングを採用する場合には、画像領域の分割と割当方法を変える必要があるが、分割方法を変えるには、基準となる情報（ＭＵＳＩＣでは散乱点数）の特徴を考慮する必要があり、この最適な解を得る一般的な解決方法は存在しないという課題があった。
また、事前に散乱点を計算する方法では、各プロセッサで実行する処理の効率が低下してしまうなどの課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、負荷の基準となる要素（ＭＵＳＩＣの場合散乱点数）に基づいて、処理の領域を再度割り当てることで、入力画像によって処理負荷が変化する画像処理用のアルゴリズムを効率良く実行する並列画像処理装置および並列画像処理方法を得ることを目的とする。
【０００６】
また、この発明は、処理領域の再度割当の要求に応じて割り当てる領域の大きさを調整することで、各プロセッサへの処理領域の割り当てをより均等にすることで、画像処理用のアルゴリズムを効率良く実行する並列画像処理装置および並列画像処理方法を得ることも目的とする。
【０００７】
さらに、この発明は、キャッシュを効率良くアクセスできる範囲等、各計算機に割り振られた処理を効率良く実行できる範囲を考慮して、処理領域を各プロセッサに割り当てることで、画像処理用のアルゴリズムをより効率良く並列実行する並列画像処理装置および並列画像処理方法を得ることを目的とする。
【０００８】
さらに、この発明は、画像領域を割当後、あるプロセッサで計算負荷が著しく増加し、画像処理アルゴリズムでの処理負荷の計算と画像処理実行の組みを計算する最小単位の画像領域（ＭＵＳＩＣの場合、１行分の領域）での再割当では十分対応できない時に、この最小単位の画像領域をも分割（ＭＵＳＩＣの場合、１行分の処理を分割）して再割当の対象として実行することで、より効率良く並列実行する並列画像処理装置および並列画像処理方法を得ることを目的とする。
【０００９】
さらに、この発明は、動的なスケジューリングで処理を分散して実行する時には、処理の後半で負荷が高い部分が現れると、各プロセッサでの処理の終了を均等にすることが難しく、並列実行で不利になるが、簡易な計算で入手可能な入力画像に対する情報を利用して、対象の画像処理用のアルゴリズムでの負荷を予測し、その予測結果を利用して負荷の高いと予測される処理領域から各プロセッサへの割り当てを行うことで、対象の画像処理用のアルゴリズムを効率良く実行する並列画像処理装置および並列画像処理方法を得ることを目的とする。
【００１０】
さらに、この発明は、画像を撮影した条件を利用して負荷を予測することで、対象の画像処理用のアルゴリズムを効率良く実行する並列画像処理装置および並列画像処理方法を得ることを目的とする。
【００１１】
さらに、この発明は、対象の画像処理用のアルゴリズムにおいて、最大処理時間と最小処理時間の差が、動的な処理領域の再割り当てでは効率の良い並列実行が困難なほど大きい場合に、これを検知し、事前に画像領域全体の負荷を計算し、その計算結果に基づいて各プロセッサへの処理領域割当を決定することで、困難な条件下でも、対象の画像処理用のアルゴリズムを効率良く実行する並列画像処理装置および並列画像処理方法を得ることを目的とする。
【００１２】
【課題を解決するための手段】
この発明に係る並列画像処理装置は、プロセッサ間で共通の部分として実現される手段には、使用プロセッサ数および画像処理領域サイズに応じて処理領域の割当方法を設定する領域分割法設定手段と、単位領域での最大処理負荷量および算出される処理領域に応じて処理制限量を設定する処理制限量計算手段と、領域分割法設定手段によって設定された割当方法に基づいて処理領域を算出し、その処理領域およびその処理領域に応じて処理制限量計算手段によって設定された処理制限量を各プロセッサに割り当てると共に、プロセッサから再割当を要求された場合に、その再割当を要求された領域を未処理領域として再度割り当てを行う画像領域割当手段とを備え、各プロセッサに分割して実現される手段には、各プロセッサにおいて、画像領域割当手段によって割り当てられた処理領域に対して対象画像領域での処理負荷を計算し、その計算された処理負荷が設定された処理制限量を超えない場合には、割り当てられた処理領域を対応する画像処理実行手段に処理を指示し、その計算された処理負荷が設定された処理制限量を超えた場合には、割り当てられた処理領域のうちの処理制限量を超えた領域の再割当を画像領域割当手段に要求し、再割当要求後に割り当てられた処理領域のうちの処理制限量を超えない領域を対応する画像処理実行手段に処理を指示する処理負荷計算手段を備えたものである。
【００１３】
この発明に係る並列画像処理装置は、領域分割法設定手段を、単位領域当たりの最大処理量設定手段に設定された単位領域での最大処理負荷量に応じて処理領域の割当方法を設定する負荷計算型領域分割法設定手段としたものである。
【００１４】
この発明に係る並列画像処理装置は、領域分割法設定手段を、画像処理アルゴリズムでの単位領域に対する最大負荷に対する実行時間と最小負荷に対する実行時間とを実測する処理負荷実測手段を備え、領域分割法設定手段を、処理負荷実測手段によって実測された実測時間に応じて処理領域の割当方法を設定する実測対応型領域分割法設定手段とし、処理制限量計算手段を、処理負荷実測手段によって実測された実測時間に応じて処理制限量を設定する実測対応型処理制限量計算手段としたものである。
【００１５】
この発明に係る並列画像処理装置は、任意のサイズの画像領域をブロックとして設定する処理ブロック設定手段を備え、処理負荷計算手段を、処理ブロック設定手段によって設定されたブロックを優先処理する処理ブロック対応型処理負荷計算手段とし、画像処理実行手段を、処理ブロック対応型処理負荷計算手段によって指示された画像領域の画像処理を実行する処理ブロック対応型画像処理実行手段としたものである。
【００１６】
この発明に係る並列画像処理装置は、対象計算機でのキャッシュ情報を設定するキャッシュ情報設定手段と、処理画像情報設定手段によって設定された画像処理領域サイズおよびキャッシュ情報設定手段によって設定されたキャッシュ情報に応じて処理ブロック設定手段によって設定されるブロックのサイズを設定する処理ブロック計算手段とを備えたものである。
【００１７】
この発明に係る並列画像処理装置は、画像領域割当手段によって算出された処理領域、および処理ブロック対応型処理負荷計算手段に指定されたブロックのサイズに応じて処理ブロック設定手段によって設定されるブロックのサイズを動的に変化させて設定する動的処理ブロック計算手段を備えたものである。
【００１８】
この発明に係る並列画像処理装置は、領域分割法設定手段を、処理ブロック設定手段によって設定されたブロックのサイズに応じて処理領域の割当方法を設定する処理ブロック対応型領域分割法設定手段としたものである。
【００１９】
この発明に係る並列画像処理装置は、処理制限量計算手段を、処理ブロック設定手段によって設定されたブロックのサイズに応じて処理制限量を設定する処理ブロック対応型処理制限量計算手段としたものである。
【００２０】
この発明に係る並列画像処理装置は、領域分割設定手段を、単位領域の分割を考慮した処理領域の割当方法を設定する単位領域分割対応型領域分割設定手段とし、処理制限量計算手段を、単位領域を分割した場合の処理制限量を設定する単位領域分割対応型処理制限量計算手段とし、画像領域割当手段を、単位領域を分割して処理領域の割当および再割当を行う単位領域分割対応型画像領域割当手段とし、処理負荷計算手段を、単位領域の分割に対応して処理負荷の計算と再割当の有無を判定する単位領域分割対応型処理負荷計算手段とし、画像処理実行手段を、単位領域の分割に対応して指定された画像領域の画像処理を実行する単位領域分割対応型画像処理実行手段としたものである。
【００２１】
この発明に係る並列画像処理装置は、単位領域分割対応型領域分割設定手段の情報を参照して、単位領域の分割の可否を判定し、単位領域分割対応型処理負荷計算手段に伝達する単位領域分割可否条件設定手段を備えたものである。
【００２２】
この発明に係る並列画像処理装置は、単位領域を分割して再割当する際に、最初にその単位領域で処理負荷を計算した単位領域分割対応型処理負荷計算手段のその計算結果を保持し、分割された単位領域を再割り当てされた別のプロセッサの単位領域分割対応型処理負荷計算手段がその計算結果を参照可能にする事前計算結果保持手段を備えたものである。
【００２３】
この発明に係る並列画像処理装置は、対象計算機でのキャッシュ情報を設定するキャッシュ情報設定手段と、キャッシュ情報設定手段に設定されたキャッシュ情報および処理画像情報設定手段に設定された画像処理領域サイズに応じて単位領域を分割した場合のコストを算出すると共に、その算出されたコストから処理制限量を算出して単位領域分割対応型処理負荷計算手段に伝達する単位領域分割コスト計算手段とを備えたものである。
【００２４】
この発明に係る並列画像処理装置は、画像処理アルゴリズムでの単位領域毎に、予測負荷を設定する負荷予測設定手段を備え、領域分割法手段を、負荷予測設定手段によって設定された予測負荷に応じて処理領域の割当方法を設定する負荷予測型領域分割法手段としたものである。
【００２５】
この発明に係る並列画像処理装置は、画像を撮影した地域情報から、画像処理アルゴリズムでの単位領域毎の予測負荷を計算し、負荷予測設定手段に伝達する撮影地域負荷予測計算手段を備えたものである。
【００２６】
この発明に係る並列画像処理装置は、算出した予測値と入力条件を記録する予測値記録手段と、予測値に対して実際の実行で算出された処理負荷を記録する処理結果記録手段と、予測値記録手段によって記録された予測値と処理結果記録手段によって記録された処理負荷から予測負荷の計算方法を補正する予測パラメータ補正手段とを備えたものである。
【００２７】
この発明に係る並列画像処理装置は、過去の予測計算実行時の画像を撮像した条件を記録すると共に、新たな予測計算を行う対象の画像への撮像条件から、最適の予測計算の補正を選択する撮影条件負荷予測補正手段を備えたものである。
【００２８】
この発明に係る並列画像処理装置は、新たな予測値算出を指示された時に、予測値記録手段に記録された予測値算出の入力条件の中で類似の条件を検索して選択すると共に、処理結果記録手段に記録された計算結果を参照して、選択した予測計算に対する補正を行う最適予測条件計算手段を備えたものである。
【００２９】
この発明に係る並列画像処理装置は、事前計算による処理を行うか否かの条件を設定する事前計算選択設定手段と、事前計算選択設定手段によって設定された条件から事前計算による処理の有無を判定する事前計算判定手段と、事前計算判定手段によって事前計算による処理を指示された時に、画像領域全体を対象に単位領域毎の処理負荷量を求める計算を事前に実行する事前処理負荷量計算手段と、事前処理負荷量計算手段によって事前に計算された単位領域毎の処理負荷量を基準に、各プロセッサの処理負荷が均等になるように領域の割当を行う事前処理対応型画像領域割当手段とを備えたものである。
【００３０】
この発明に係る並列画像処理装置は、領域分割設定手段を、画像情報を考慮した処理領域の割当方法を設定する画像情報参照型領域分割設定手段とし、画像領域割当手段を、プロセッサから再割当を要求された場合に、画像情報を参照して処理領域の再割当を行う画像情報参照型画像領域割当手段とし、処理負荷計算手段を、割り当てられた処理領域に対して処理単位毎の画像情報を計算する画像情報参照型処理負荷計算手段としたものである。
【００３１】
この発明に係る並列画像処理装置は、画像情報参照型画像領域割当手段において、画像情報を参照して処理領域の再割当を行う際に、単位領域数を優先して再割当を行う処理領域を決定するようにしたものである。
【００３２】
この発明に係る並列画像処理装置は、画像情報参照型画像領域割当手段において、画像情報を参照して処理領域の再割当を行う際に、画像情報の大きさを優先して再割当を行う処理領域を決定するようにしたものである。
【００３３】
この発明に係る並列画像処理装置は、画像情報参照型画像領域割当手段において、画像情報を参照して処理領域の再割当を行う際に、単純に画像情報から再割当を行う処理領域を採用するのではなく、得られた画像情報に基づいて、実行する画像処理の処理負荷を算出し、その処理負荷に基づいて再割当を行う処理領域を決定するようにしたものである。
【００３４】
この発明に係る並列画像処理装置は、画像情報参照型処理負荷計算手段において、初期割当時に、画像情報の計算と、画像処理実行手段への処理の指示とを連続して実行するようにしたものである。
【００３５】
この発明に係る並列画像処理方法は、プロセッサ間で共通の部分として実現される手段では、割当処理領域を動的に決定すると共に、その割当処理領域に対する処理制限量を、単位領域での最大処理負荷量から算出し、各プロセッサへ割当処理領域と処理制限量の組として割り当てると共に、各プロセッサから処理制限量を超えた領域を受け取り、その領域を全体の未処理領域に組み込んで、再度処理領域として各プロセッサに割り当て、各プロセッサに分割して実現される手段では、各プロセッサにおいて、割当処理領域に対して対象画像領域での処理負荷を計算し、その計算された処理負荷が設定された処理制限量を超えない場合には、割当処理領域の処理実行を指示し、その計算された処理負荷が設定された処理制限量を超えた場合には、割当処理領域のうちの処理制限量を超えた領域の再割当を要求し、再割当要求後に割り当てられた処理領域のうちの処理制限量を超えない領域の処理実行を指示するようにしたものである。
【００３６】
この発明に係る並列画像処理方法は、画像処理アルゴリズムでの単位領域での最大処理負荷量から、割当処理領域の割当方法を決定するようにしたものである。
【００３７】
この発明に係る並列画像処理方法は、画像処理アルゴリズムの単位領域での最大負荷に対する実行時間と最小負荷に対する実行時間とを実測し、その実測時間から割当処理領域の割当方法と処理制限量の算出方法を決定するようにしたものである。
【００３８】
この発明に係る並列画像処理方法は、任意のサイズの画像領域をブロックとして指定し、そのブロック内では指定された処理を優先して行うようにしたものである。
【００３９】
この発明に係る並列画像処理方法は、あるプロセッサで処理負荷が著しく増加し、画像処理アルゴリズムでの単位領域を基準とした再割当では十分対応できないときに、単位領域を分割して再割当を行うと共に、各プロセッサにおいても、単位領域の分割を考慮して、指定された処理制限量の判定と、分割された単位領域で処理の実行を行うようにしたものである。
【００４０】
この発明に係る並列画像処理方法は、待機中のプロセッサ数や残りの処理領域の量を基準に、単位領域の分割の可否を判定するようにしたものである。
【００４１】
この発明に係る並列画像処理方法は、単位領域を分割して再割当を要求する時に、その単位領域を最初に処理するプロセッサが、処理負荷を求めるために実施する前半部分の計算結果を記録しておき、分割された単位領域での残りの処理を、後から指示されたプロセッサでは、その記録された前半部分の計算結果を利用して、後半部分の処理を行うようにしたものである。
【００４２】
この発明に係る並列画像処理方法は、単位領域を分割する際に、キャッシュと画像領域のサイズから、キャッシュアクセスが有利となる分割位置を求めるようにしたものである。
【００４３】
この発明に係る並列画像処理方法は、画像処理アルゴリズムでの単位領域毎に予測負荷を設定し、その予測負荷を基準に画像領域の割当方法を決定するようにしたものである。
【００４４】
この発明に係る並列画像処理方法は、算出した予測値とそれに対する入力条件を記録すると共に、予測値に対して実際の実行で算出された処理負荷を記録し、これら記録した値を基準に予測負荷の算出方法を補正するようにしたものである。
【００４５】
この発明に係る並列画像処理方法は、過去の予測計算実行時の画像の撮像した条件や、予測値の算出基準となった入力条件から、新たに予測値を算出する際の方法を選択すると共に、適切な補正を行うようにしたものである。
【００４６】
この発明に係る並列画像処理方法は、事前に単位領域毎の処理負荷を求めるか否かを判定して実行すると共に、事前に単位領域毎の処理負荷を求める場合には、求めた負荷を基準に画像領域の割当方法を決定するようにしたものである。
【００４７】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による並列画像処理装置を示す構成図であり、図において、１は並列画像処理装置、２は画像領域割当手段、３は単位領域当たりの最大処理量設定手段、４は使用プロセッサ数設定手段、５は処理画像情報設定手段、６は領域分割法設定手段、７は処理制限量計算手段、８は処理負荷計算手段、９は画像処理実行手段、１０はプラットホーム、１１は画像処理プログラム、１２は処理負荷を決定する処理部分、１３は動的に負荷が変化する処理部分である。
図２は画像領域割当手段の処理を示すフローチャート、図３は処理負荷計算手段の処理を示すフローチャート、図４は並列実行時の並列画像処理装置の実装イメージを示す構成図、図５はＭＵＳＩＣを用いたＳＡＲ画像の超解像処理を実行するプログラムの動作の概要を示す説明図、図６は実行管理テーブルの操作の概念を示す説明図、図７はＧｕｉｄｅｄ−Ｓｅｌｆスケジューリングでの処理領域の割当例を示す説明図、図８は処理負荷計算手段に割り当てられた「次処理領域」に対する「超解像実行領域」と「未処理領域」の例を示す説明図、図９は処理対象であるＭＵＳＩＣを用いたＳＡＲ画像の超解像処理での、あるサンプル画像に対する推定散乱点数と処理負荷（処理時間）を示す説明図、図１０は４プロセッサ構成で処理する時の実装イメージを示す説明図である。
【００４８】
次に動作について説明する。
プラットホーム１０は、並列計算機のＨ／ＷやＯＳ、並列化ライブラリ等のプラットホームである。画像処理プログラム１１は、ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理を実行するプログラムである。
図５のように、画像処理プログラム１１は、各行毎に処理を進めていく。各行での処理は、固有値を基に散乱点数を推定する処理を行う部分と、推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分に分けることができる。
処理負荷を決定する処理部分１２は、画像処理プログラム１１中で、各行毎に固有値を基に散乱点数を推定する処理を行う部分である。この処理で散乱点数を推定するのに要する時間は、各行で同じ（一定）である。
動的に負荷が変化する処理部分１３は、画像処理プログラム１１中で、推定した散乱点数を基準に、ＳＡＲ画像の解像度向上処理を実施する部分である。この処理に要する時間は、推定された散乱点数に比例する。
【００４９】
並列画像処理装置１は、プラットホーム１０上で動作し、ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理において、各プロセッサ毎に処理を実行する領域の割当を行い、割り当てた領域を画像処理プログラム１１に実行させる装置である。
並列画像処理装置１の実装法としては、並列化支援ライブラリとして独立して提供する方法、プラットホームであるＯＳや並列化ライブラリへ組み込む方法、画像処理プログラム中へ組み込む方法がある。
この実施の形態１では、並列化支援ライブラリとして独立して提供する方法で説明する。
【００５０】
並列画像処理装置１が並列実行する時には、図４のように、処理負荷計算手段 ８と画像処理実行手段９は、各プロセッサに１個ずつ配置される。図４の例で、プロセッサ数がＮ個ならば、処理負荷計算手段８−１、処理負荷計算手段８−２、・・・、処理負荷計算手段８−Ｎのように、各プロセッサに１個ずつ、合計Ｎ個の処理負荷計算手段８と画像処理実行手段９がある。
実施の形態１では、プラットホーム１０のＨ／Ｗ構成として、共有メモリ型のＳＭＰ（Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）を考えている。ここでは、プロセッサ間で共通の部分として実現される手段と、各プロセッサに分割して実現される手段がある。
この実施の形態１では、画像領域割当手段２や処理制限量計算手段７や画像処理プログラム１１等は、プロセッサ間で共通の部分として実現されており、処理負荷計算手段８と画像処理実行手段９は、各プロセッサに分割して実現される手段として実装されたとして、説明を行っていく。
【００５１】
画像領域割当手段２の動作について図２を用いて説明する。
画像領域割当手段２では、まず、単位領域当たりの最大処理量設定手段３、使用プロセッサ数設定手段４、領域分割法設定手段６から初期化で必要な情報を入手する。
使用プロセッサ数設定手段４からは、使用するプロセッサ数を、単位領域当たりの最大処理量設定手段３からは、単位領域当たりの最大処理数を入手する。ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理の例では、単位領域は行、最大処理数は各行で推定する散乱点数の最大値となる。
領域分割法設定手段６からは、画像処理領域全体のサイズと処理領域の割当法を入手する。領域分割法設定手段６は、処理画像情報設定手段５から画像処理領域の情報（画像サイズや画素のサイズ、データ型等）、使用プロセッサ数設定手段４からは、使用するプロセッサ数を入手する。
領域分割法設定手段６では、処理画像情報設定手段５から画像のサイズ、使用プロセッサ数設定手段４から使用するプロセッサ数を入手し、処理領域の割当法を決定する。この算出方法は、任意に設定できることとする。
この例では、各行での処理負荷を一様と仮定して、一般的な並列処理の動的な領域分割法に基づく処理領域の割当法とする。但し、本装置では再割当要求が行われ、途中で処理を行う画像領域が増えることがある。このため、領域分割法設定手段６では、再割当要求により画像領域が増えることを前提とした割当法を選択する。
次に、画像領域割当手段２では、入手した情報を利用して、内部情報の初期化を行う。ここでは、「残処理領域数」を「画像処理領域全体のサイズ」から計算して処理単位の個数（この例では、行数）に設定し、全プロセッサの実行中フラグを「ＯＮ」に設定する。さらに、「画像処理領域全体のサイズ」から、処理単位別の実行管理テーブルを作成し、全ての処理単位での管理フラグを「未」に、「画像割当ポインタ」の先頭を画像領域の先頭に設定する（図６参照）。
また、全プロセッサの処理負荷計算手段８に実行開始を指示する（ステップＳＴ１）。
ここまでの初期化を完了した後で、画像領域割当手段２は、各プロセッサの処理負荷計算手段８からの「要求待ち」状態となる（ステップＳＴ２）。
【００５２】
「要求待ち」状態において、処理負荷計算手段８から「次処理」が要求された場合の動作を説明する。
まず、「残処理領域数」をチェックする（ステップＳＴ３）。ここで、「残処理領域数」が０より大きければ、次の処理領域割当操作を行う。
処理領域割当操作では、まず、要求元の処理負荷計算手段８へ割り当てる「次処理領域」を決定する（ステップＳＴ４）。ここで割り当てる「次処理領域」のサイズは、領域分割法設定手段６が指定した処理領域の割当法（この例では「次処理領域」のサイズの算出法）に従う。
「画像割当ポインタ」が示す位置から、「次処理領域のサイズ」分だけ管理フラグが「未」となっている領域を順次選択して、「次処理領域」として選択する。なお、選択中に処理領域の最後に到達した場合には、先頭に戻って管理フラグが「未」となっている領域を順次選択する。
「次処理領域」が決定すると、その領域に対応する処理単位別の実行管理テーブルの管理フラグを「計」（計算中）にする。また、「画像割当ポインタ」を管理フラグが「未」となる要素まで進める。処理領域の最後に到達した場合には、先頭に戻って検索し、最初に「未」となる要素まで進める。また、「未」となる要素がない場合には、画像割当ポインタを「空」に設定する。
また、「残処理領域数」を更新する（「残処理領域数」−「次処理領域のサイズ」にする）（ステップＳＴ５）。
次に、処理領域割当操作では、選択した「次処理領域」に対する「処理制限量」の計算を処理制限量計算手段７に指示する（ステップＳＴ６）。
処理制限量計算手段７では、単位領域当たりの最大処理量設定手段３から単位領域当たりの最大処理数を入手し、画像領域割当手段２から指示された「次処理領域」から、対象領域での「処理制限量」を算出する。
処理領域割当操作では、処理制限量計算手段７から「処理制限量」の計算結果を受け取った後で、「次処理領域」と「処理制限量」の情報を、要求元の処理負荷計算手段８へ通知する（ステップＳＴ７）。
この通知をもって、一連の処理領域割当操作を完了し、「要求待ち」状態へ復帰する。
【００５３】
「残処理領域数」をチェック時に、「残処理領域数」が０のケースについて説明する。
この場合、まず、要求元の処理負荷計算手段８へ実行の「一次停止」を指示する。また、要求元の処理負荷計算手段８に対応するプロセッサの実行中フラグを「ＯＦＦ」に設定する（ステップＳＴ８）。
次に、プロセッサの実行中フラグが全て「ＯＦＦ」になっているかを調べる（ステップＳＴ９）。ここで、１個でも実行中フラグが「ＯＮ」になっているプロセッサがあれば、「要求待ち」状態へ復帰する。
一方、全ての実行中フラグが「ＯＦＦ」の場合には、全プロセッサの処理負荷計算手段８に、「実行完了」を通知する（ステップＳＴ１０）。
【００５４】
「要求待ち」状態において、処理負荷計算手段８から「再割当」が要求された場合の動作を説明する。
この場合は、まず、「残処理領域数」を更新する（「残処理領域数」＋「再割当領域のサイズ」にする）（ステップＳＴ１１）。
また、「再割当」を要求された領域に対応する、処理単位別の実行管理テーブルの管理フラグを「未」（計から未）にする（ステップＳＴ１２）。
ここで、画像割当ポインタが「空」の場合には、管理フラグを「未」に更新した領域の先頭に、画像割当ポインタを設定する（ステップＳＴ１３）。
次に、各プロセッサの実行中フラグをチェックし、「ＯＦＦ」になっているプロセッサがあれば、これに対応する処理負荷計算手段８へ「実行再開」を通知する（ステップＳＴ１４）。
また、実行再開を通知したプロセッサに対応する実行中フラグを「ＯＮ」に設定する（ステップＳＴ１５）。
この後で、「要求待ち」状態へ復帰する。
【００５５】
処理負荷計算手段８の動作について図３を用いて説明する。
処理負荷計算手段８では、まず、画像領域割当手段２からの実行開始の指示を受けて（ステップＳＴ２１）、次処理の要求を行い（ステップＳＴ２２）、その回答を待つ（ステップＳＴ２３）。
ここで、回答が「次処理領域」と「処理制限量」の情報の通知の場合、一連の処理実行操作を開始する。
処理実行操作では、まず、「次処理領域」で指定された処理領域内で、各行毎に散乱点数の推定計算を実行する（推定散乱点数を算出する）（ステップＳＴ２４）。この推定散乱点数の算出では、画像処理プログラム１１の処理負荷を決定する処理部分１２を利用する。なお、この算出では、単位領域当たりの最大処理量設定手段３の行当たりの最大散乱点数を参照して、各行での推定散乱点数の最大値が、この最大散乱点数以下になるようにする。
次に、「次処理領域」の先頭の行から順番に、各行の推定散乱点数を１行づつ足していき、この和と「処理制限量」を比較する（ステップＳＴ２５〜ステップＳＴ２９）。
ここで、和が「処理制限量」を超えた行を「境界行」とする（ステップＳＴ３０）。「次処理領域」の先頭から「境界行」まで（「境界行」を含む）の領域を「超解像実行領域」に設定する（ステップＳＴ３１）。
「超解像実行領域」を設定後、「境界行」の次の行から、「次処理領域」の最後の行までの領域を「未処理領域」に設定する（図８参照）（ステップＳＴ３３）。
ここで、「境界行」が「次処理領域」の最後の行（「再割当領域」が空）の場合には、次の超解像処理実行に進む（ステップＳＴ３２）。
一方で、「境界行」が「次処理領域」の最後の行でない（「再割当領域」が存在）の場合には、画像領域割当手段２へ「未処理領域」の再割当を要求する（ステップＳＴ３４）。この要求を通知した後で、次の超解像処理実行に進む。
超解像処理の実行では、「超解像実行領域」に対する超解像処理の実行を画像処理実行手段９に指示する（ステップＳＴ３５）。画像処理実行手段９では、画像処理プログラム１１の動的に負荷が変化する処理部分１３を利用して、超解像処理を実行する。
その後、画像処理実行手段９での超解像処理の実行完了を待って、処理実行操作を終了し、再度「次処理の要求」へ戻って処理を開始する（ステップＳＴ３６）。
【００５６】
次処理の要求に対する回答が、実行の「一次停止」の場合、「指示待ち」状態となる（ステップＳＴ３７）。
「指示待ち」状態で、画像領域割当手段２から「実行再開」を指示された場合には、再度「次処理の要求」へ戻って処理を再開する。
一方、「指示待ち」状態で、画像領域割当手段２から「実行完了」を指示された場合には、処理を終了する（ステップＳＴ３８）。
【００５７】
この実施の形態１の装置で、図９に示すサンプル画像を、４プロセッサ構成の計算機で処理したケースについて説明する。
図９では、処理が１，３，５，７行目で推定散乱点数が１００と処理が集中しており、他の行では全て推定散乱点数１と小さな処理になっている。ここでは、推定散乱点数の計算時間が１、散乱点１個当たりに掛かる超解像処理の時間が１になっている。
以下、ここでの処理時間の単位を「Ｔ」とする。図９の処理を逐次実行した場合には、６００Ｔの時間が掛かることになる。
なお、図９では、各行の推定散乱点数と処理負荷（処理時間）を明示してあるが、これは、散乱点数の推定計算結果後に分かる値であり、計算の実行開始前には分からない値である。
比較のため、まず、単純にデータ領域のサイズから各プロセッサに処理を割り当てたケースを説明する。ここでは、Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリング（最初の処理領域の割当を変更しないまま実行したケース。図７参照）の例で説明する。
この場合、最初に割当を要求したプロセッサが、１行目から２５行目までの領域を割当られる。この場合、このプロセッサは、処理全体の約７５％を集中して実行することになり、約４５０Ｔだけ時間が掛かる。
一方、他のプロセッサは、残りの領域を順次割り当てられていく。ここでは、負荷が一定のため、他の３個のプロセッサは、それぞれ処理全体の約８％ずつを実行することになり、４８Ｔだけ時間が掛かる。
このように、一般的な並列処理での領域の割当を採用し、最初の割当を変更しない場合には、並列計算実行時に、各プロセッサへの割り当てる処理量を均等に保てないことがある。
この時の全体での実行時間は、最も時間が掛かったプロセッサの処理時間となるため、４プロセッサで実行したのに、約４５０Ｔも時間が掛かってしまう（１．３倍しか高速化できない）。処理量を均等に保てないと、このように実行効率が低下する。
【００５８】
一方で、実施の形態１の装置では、次のように処理される。
各種設定を行う手段では、使用プロセッサ数設定手段４の使用プロセッサ数を「４」、処理画像情報設定手段５は画像処理領域の大きさを「１００」行に設定する。また、単位領域当たりの最大処理量設定手段３では、行当たりの最大の推定散乱点数を「１００」に設定されているとする。また、実装イメージは、図１０のようになる。
画像領域割当手段２では、上述の図２のフローチャートに沿って処理が進められる。まずは、各手段に設定されたデータを基に初期化が行われる。プロセッサ１〜４の実行中フラグを「ＯＮ」に、「残処理領域数」を１００に、実行管理テーブルの１行から１００行の管理フラグを「未」に、「画像割当ポインタ」を１行目に設定する。領域分割法設定手段６は、「次処理領域」のサイズを決定法として、“（「残処理領域数」＋「使用プロセッサ数」−１）／「使用プロセッサ数」”を通知したとする。
また、処理負荷計算手段８−１〜８−４へ実行開始を指示する。
処理負荷計算手段８−１〜８−４では、図３のフローチャートに従って処理を進めていく。ここでは、画像領域割当手段２からの実行開始の指示を受け、順次画像領域割当手段２へ「次処理要求」を行う。
ここでは、説明を簡単にするため、まず、処理負荷計算手段８−１が１番最初に画像領域割当手段２へ「次処理要求」を行い、続いてほぼ同時に、処理負荷計算手段８−２、処理負荷計算手段８−３、処理負荷計算手段８−４の順で「次処理要求」を行ったとして説明する。また、処理負荷計算手段８−１〜８−４は、時刻「０Ｔ」で一斉に処理を「次処理要求」を行ったとする。
まず、時刻「０Ｔ」で画像領域割当手段２は、処理負荷計算手段８−１からの「次処理要求」を受け取る。最初は、「残処理領域数」は１００であり、領域分割法設定手段６の領域分割法に従って、先頭から２５行分、１行から２５行までを「次処理領域」に選択する。
次に、「残処理領域数」を７５に、１行から２５行までの管理フラグを「計」に、「画像割当ポインタ」を２６行目に更新する。
その後、処理制限量計算手段７に「処理制限量」を算出させる。この例では、“「次処理領域のサイズ」＊４−１”を「処理制限量」として算出することにする。「次処理領域のサイズ」が２５のため、ここでは、「処理制限量」が９９となる。
「処理制限量」の算出後、処理負荷計算手段８−１へ、「次処理領域」（１行〜２５行）と「処理制限量」９９を通知し、「要求待ち」状態へ復帰する。
画像領域割当手段２では、時刻「０Ｔ」でさらに処理負荷計算手段８−２、処理負荷計算手段８−３、処理負荷計算手段８−４からの「次処理要求」を受け取る。
ここでは、処理負荷計算手段８−１からの要求時と同じ手順で、「次処理領域」の割当を行っていく。
処理負荷計算手段８−２には、「次処理領域」（２６行〜４４行）と「処理制限量」７５を、処理負荷計算手段８−３には、「次処理領域」（４５行〜５８行）と「処理制限量」５５を、処理負荷計算手段８−４には、「次処理領域」（５９行〜６９行）と「処理制限量」４３を、通知し、「要求待ち」状態へ復帰する。
なお、ここでの処理の結果、「残処理領域数」は３１に、２６行から６９行までの管理フラグが「計」に、「画像割当ポインタ」は７０行目に更新されている。
【００５９】
処理負荷計算手段８−１では、時刻「０Ｔ」で、画像領域割当手段２から「次処理要求」への回答として、「次処理領域」（１行〜２５行）と「処理制限量」９９を受け取る。
まず、「次処理領域」の各行での推定散乱点数を計算する。ここでは、２５行分の推定散乱点数の計算に、「２５Ｔ」掛かる。
次に、各行の推定散乱点数の和を求めて、「処理制限量」９９と比較していく。ここでは、１行目で推定散乱点数が１００となり、１行目が「境界行」となる。「超解像実行領域」は１行目だけになる。
当然、「境界行」は最終行ではないので、２行〜２５行を「未処理領域」に設定し、画像領域割当手段２へ再割当を要求する。ここでは、推定散乱点数の計算の終了した時刻「２５Ｔ」で、画像領域割当手段２への再割当要求が行われる。
再割当要求後、処理負荷計算手段８−１は、画像処理実行手段９−１へ、「超解像実行領域」（１行目）の超解像処理の実行を指示する。処理負荷計算手段８−１では、この処理の終了を時刻「１２５Ｔ」まで待つことになる。
処理負荷計算手段８−２では、時刻「０Ｔ」で「次処理領域」（２６行〜４４行）と「処理制限量」７５を受け取る。
上記処理負荷計算手段８−１と同様の手順で処理を進めていくが、ここでは、各行の推定散乱点数の和は、最後の行まで計算しても１９までしか増加しない。このため、再割当要求は行わず、「次処理領域」である２６行〜４４行の全てを「超解像実行領域」に設定する。
「超解像実行領域」の設定後、画像処理実行手段９−２へ、２６行〜４４行の超解像処理の実行を指示する。ここでは、この処理の終了を時刻「３８Ｔ」まで待つことになる。
処理負荷計算手段８−３では、時刻「０Ｔ」で「次処理領域」（４５行〜５８行）と「処理制限量」５５を受け取る。ここでは、処理負荷計算手段８−２と同様に、推定散乱点数の累計が１４と処理制限量より小さい値までしか増加しないため、４５行〜５８行を「超解像実行領域」に設定して、画像処理実行手段９−３に超解像処理の実行を指示する。この処理の終了を時刻「２８Ｔ」まで待つことになる。
処理負荷計算手段８−４では、時刻「０Ｔ」で「次処理領域」（５９行〜６９行）と「処理制限量」４３を受け取る。ここでも、推定散乱点数の累計が１１と処理制限量より小さい値までしか増加しないため、５９行〜６９行を「超解像実行領域」に設定して、画像処理実行手段９−４に超解像処理の実行を指示する。この処理の終了を時刻「２２Ｔ」まで待つことになる。
【００６０】
時刻「２２Ｔ」で超解像処理の実行が終了するため、処理負荷計算手段８−４は、「次処理要求」を行う。
ここで画像領域割当手段２では、時刻「０Ｔ」の時と同様の手順で、処理負荷計算手段８−４へ「次処理領域」（７０行〜７７行）と「処理制限量」３１を通知し、「要求待ち」状態へ復帰する。なお、「残処理領域数」は２３に、７０行から７７行までの管理フラグが「計」に、「画像割当ポインタ」は７８行目に更新される。
また、これを受けた処理負荷計算手段８−４でも、前回と同じ手順で処理を進める。ここでも、推定散乱点数の累計が８と処理制限量より小さい値までしか増加しないため、７０行〜７７行を「超解像実行領域」に設定して、画像処理実行手段９−４に超解像処理の実行を指示する。
処理負荷計算手段８−４は、この処理の終了を時刻「３８Ｔ」まで待つことになる。
【００６１】
時刻「２５Ｔ」で、処理負荷計算手段８−１は、２行〜２５行（２４行分）の再割当要求を行う。
ここで画像領域割当手段２は、「残処理領域数」を２３から４７へ更新（２４行追加）し、２行〜２５行の管理フラグを「未」に設定する。
ここでは、プロセッサ１〜４の実行中フラグは全て「ＯＮ」のため、実行再開に関する処理は行わずに、「要求待ち」状態へ復帰する。
【００６２】
時刻「２８Ｔ」で超解像処理の実行が終了するため、処理負荷計算手段８−３は、「次処理要求」を行う。
ここで画像領域割当手段２では、基本的に時刻「０Ｔ」の時と同様の手順で処理を進める。但し、再割当要求を受け取っているため、「残処理領域数」は時刻「２５Ｔ」での２３から時刻「２５Ｔ」での４７へ更新されている。このため、「次処理領域のサイズ」は１２となる（なお、「残処理領域数」２３では「次処理領域のサイズ」のサイズは４となっていた）。
この結果、画像領域割当手段２は、処理負荷計算手段８−３へ「次処理領域」（７８行〜８９行）と「処理制限量」４７を通知し、「要求待ち」状態へ復帰する。なお、「残処理領域数」は３５に、７８行から８９行までの管理フラグが「計」に、「画像割当ポインタ」は９０行目に更新される。
これを受けた処理負荷計算手段８−３側では、前回と同じ手順で処理を進める。ここでも、推定散乱点数の累計が１２と処理制限量より小さい値までしか増加しないため、７８行〜８９行を「超解像実行領域」に設定して、画像処理実行手段９−３に超解像処理の実行を指示する。
処理負荷計算手段８−３は、この処理の終了を時刻「５２Ｔ」まで待つことになる。
【００６３】
時刻「３８Ｔ」で超解像処理の実行が終了するため、処理負荷計算手段８−２は、「次処理要求」を行う。
画像領域割当手段２では、「次処理領域」（９０行〜９８行）と「処理制限量」３５を処理負荷計算手段８−２へ通知し、「要求待ち」状態へ復帰する。「残処理領域数」は２６に、９０行から９８行までの管理フラグが「計」に、「画像割当ポインタ」は９９行目に更新される。
これを受けた処理負荷計算手段８−２側では、前回と同じ手順で処理を進める。推定散乱点数の累計が８と処理制限量より小さい値までしか増加しないため、９０行〜９８行を「超解像実行領域」に設定して、画像処理実行手段９−２に超解像処理の実行を指示する。処理負荷計算手段８−２は、この処理の終了を時刻「５６Ｔ」まで待つことになる。
【００６４】
処理負荷計算手段８−４でも、時刻「３８Ｔ」で超解像処理の実行が終了するため、「次処理要求」を行う。ここでは、処理負荷計算手段８−２の要求に対する処理の完了直後に受け取ったとする。
ここで画像領域割当手段２では、基本的に先ほどの処理負荷計算手段８−２の要求の時と同様に処理を進める。この結果、「次処理領域のサイズ」は８となる。この時点で、「画像割当ポインタ」は９９行目のため、９９，１００行を選択後、２〜７行を「次処理領域」として選択する。このため、「次処理領域」（９９〜１００行と２〜７行）と「処理制限量」３１を処理負荷計算手段８−４へ通知し、「要求待ち」状態へ復帰する。「残処理領域数」は１８に、９９〜１００行と２〜７行までの管理フラグが「計」に、「画像割当ポインタ」は１周して８行目に更新される。
これを受けた処理負荷計算手段８−４側では、前回と同じ手順で処理を進める。ここでは、９９，１００，２，３の順で推定散乱点数の累計を求めて行くと、３行までの累計で推定散乱点数が１０３となり、処理制限量を超える。ここでは、３行目が「境界行」となる。このため、上記の処理負荷計算手段８−１と同様に、４行〜７行を「未処理領域」に設定し、画像領域割当手段２へ再割当を要求する。ここでは、推定散乱点数の計算が終了する時刻「４６Ｔ」で、画像領域割当手段２への再割当要求が行われる。また、９９，１００，２，３行を「超解像実行領域」に設定して、画像処理実行手段９−４に超解像処理の実行を指示する。処理負荷計算手段８−４は、この処理の終了を時刻「１４９Ｔ」まで待つことになる。
【００６５】
時刻「４６Ｔ」で、処理負荷計算手段８−４は、４行〜７行（４行分）の再割当要求を行う。
ここで画像領域割当手段２は、時刻「２５Ｔ」の時と同様の処理を行い、「残処理領域数」を１８から２２へ更新（４行追加）し、４行〜７行の管理フラグを「未」に設定後、「要求待ち」状態へ復帰する。
【００６６】
時刻「５２Ｔ」で超解像処理が終了し、処理負荷計算手段８−３は、「次処理要求」を行う。ここでは、画像領域割当手段２と処理負荷計算手段８−３の双方で前回の時刻「５２Ｔ」と同様に処理が進む。
画像領域割当手段２では、「残処理領域数」は１６に、８〜１３行の管理フラグが「計」に、「画像割当ポインタ」が１４行目に更新される。
「次処理領域」（８〜１３行）と「処理制限量」２３を受けた処理負荷計算手段８−３では、推定散乱点数の累計が６までしか増加しないため、８〜１３行を「超解像実行領域」に設定して、画像処理実行手段９−３に実行を指示する。この処理の終了を時刻「６４Ｔ」まで待つことになる。
【００６７】
この後、時刻「５２Ｔ」の同様の手順で、時刻「５６Ｔ」で処理負荷計算手段８−２が１４〜１７行を、時刻「６４Ｔ」で処理負荷計算手段８−２が１８〜２０行を、同じく時刻「６４Ｔ」で処理負荷計算手段８−３が２１〜２２行を、時刻「７０Ｔ」で処理負荷計算手段８−２が２３〜２４行を、割り当られて実行することになる。
この結果、画像領域割当手段２では、「残処理領域数」は４に、１４〜２４行の管理フラグが「計」に、「画像割当ポインタ」が再び１周して４行目に更新される。
また、処理負荷計算手段８−２では、時刻「７４Ｔ」まで、処理負荷計算手段 ８−３は、時刻「７０Ｔ」まで、超解像処理の実行完了を待つことになる。
【００６８】
時刻「７０Ｔ」では、処理負荷計算手段８−３が４行（１行だけ）を割り当られて実行することになる。
この結果、画像領域割当手段２では、「残処理領域数」は３に、４行の管理フラグが「計」に、「画像割当ポインタ」が５行目に更新される。
また、処理負荷計算手段８−３は、時刻「７２Ｔ」まで、超解像処理の実行完了を待つことになる。
【００６９】
時刻「７２Ｔ」では、処理負荷計算手段８−３が５行を割り当られて実行することになる。
この結果、画像領域割当手段２では、「残処理領域数」は２に、５行の管理フラグが「計」に、「画像割当ポインタ」が６行目に更新される。
また、処理負荷計算手段８−３は、時刻「１７３Ｔ」まで、超解像処理の実行完了を待つことになる。
【００７０】
この後、処理負荷計算手段８−２では、時刻「７４Ｔ」で、６行を、時刻「７６Ｔ」で７行を割り当られて実行することになる。
この結果、画像領域割当手段２では、「残処理領域数」は０に、６行と７行の管理フラグが「計」になる。全ての管理フラグが「計」になるため、「画像割当ポインタ」は指す行がなくなる（次に、再割当要求があった時に、再度設定される）。
また、処理負荷計算手段８−２は、時刻「１７７Ｔ」まで、超解像処理の実行完了を待つことになる。
【００７１】
時刻「１２５Ｔ」で、処理負荷計算手段８−１が「次処理要求」を行う。
画像領域割当手段２では、「残処理領域数」が０のため、処理負荷計算手段８−１に一時停止を指示し、プロセッサ１の実行中フラグを「ＯＦＦ」にする。
この時点では、プロセッサ２〜４の実行中フラグが「ＯＮ」のため、「要求待ち状態」へ戻る。
「次処理要求」に対して、一時停止を指示された処理負荷計算手段８−１は、「指示待ち状態」で待つことになる。
【００７２】
時刻「１４９Ｔ」では処理負荷計算手段８−４が、時刻「１７３Ｔ」では処理負荷計算手段８−３が「次処理要求」を行う。
画像領域割当手段２では、時刻「１２５Ｔ」の処理負荷計算手段８−１に対するのと同様の処理が行われ、処理負荷計算手段８−４と処理負荷計算手段８−３へ一時停止を指示し、プロセッサ４とプロセッサ３の実行中フラグを「ＯＦＦ」にする。
この時点では、まだ全ての実行中フラグが「ＯＦＦ」にならないため、「要求待ち状態」へ戻る。
また、「次処理要求」に対して、一時停止を指示された処理負荷計算手段８−４と処理負荷計算手段８−３は、「指示待ち状態」で待つことになる。
【００７３】
時刻「１７７Ｔ」で、処理負荷計算手段８−２が「次処理要求」を行う。
ここで、画像領域割当手段２は、処理負荷計算手段８−２に対して一時停止を指示し、プロセッサ２の実行中フラグを「ＯＦＦ」にする。
ここでは、全ての実行中フラグが「ＯＦＦ」になるため、全プロセッサへ「実行完了」を通知し、画像領域割当手段２は処理を終了する。
処理負荷計算手段８−２では、「次処理要求」に対して、一時停止を指示されるため、「指示待ち状態」で待つことになる。その後で、画像領域割当手段２からの「実行完了」を通知を受け取り、処理負荷計算手段８−２は、処理を終了する。
「指示待ち状態」で待っていた処理負荷計算手段８−１、処理負荷計算手段８−３、処理負荷計算手段８−４も「実行完了」を通知を受け取り、それぞれ処理を終了する。
【００７４】
このように、今回の図９の画像の例で、実施の形態１の装置では、１７７Ｔだけの時間で処理を完了できる（約３．４倍高速化できている）。
【００７５】
以上のように、この実施の形態１によれば、負荷の基準となる散乱点の個数を基準に各プロセッサに割り当てた処理負荷を監視し、あるプロセッサでの処理が制限量を超えた場合には、制限量を超えたプロセッサに割り当てた処理領域を再度割り当てることで、入力画像によって処理負荷が変化する画像処理用のアルゴリズムを効率良く実行できる並列画像処理装置を得られる効果がある。
また、処理領域の再度割当の要求に応じて、割り当てる領域の大きさを調整することで、各プロセッサへの処理領域の割り当てをより均等にすることができ、画像処理用のアルゴリズムを効率良く実行できる画像処理装置を得られる効果がある。
これにより、Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリング等、単純な動的領域分割では十分な負荷分散を行えなかったケースでも、画像処理用のアルゴリズムをより効率良く実行できる利点がある。
各プロセッサでは、各行での処理負荷を判断するための計算を先に行い、制限量を超える場合には、画像領域の再度割当要求を行った後で、自分が担当することになった領域での本体部分（ここでは推定散乱点数に基づく超解象処理）を実行する。これにより、他のプロセッサへの再度割当を効率良く行うことができる利点がある。
【００７６】
上記実施の形態１では、ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理の例で説明を行ったが、この画像処理以外でも、次の条件を満たす画像処理であれば、上記実施の形態１と同様の効果を奏することができる。
入力画像によって処理負荷が変化する画像処理用のアルゴリズムであり、単位領域毎に処理負荷を判断するための要素を算出する部分（前半負荷算出部）と、前半負荷算出部の結果に基づいて計算を行う部分（後半処理実行部）に分けることができること。
さらに、単位領域の計算では、前半負荷算出部は一定の処理時間内で処理負荷を判断するための要素を算出でき、後半処理実行部は算出した要素に比例した時間で処理を完了できること。
【００７７】
上記実施の形態１では、並列画像処理装置１の実装法として、並列化支援ライブラリとして独立して提供する方法で説明したが、プラットホームであるＯＳや並列化ライブラリへ組み込む方法、画像処理プログラム中へ組み込む方法等で実装しても上記実施の形態１と同様の効果を奏することができる。
プラットホーム１０のＨ／Ｗ構成として、共有メモリ型のＳＭＰの例で説明したが、この実施の形態１は、特定の計算機構成に依存するものでなく、任意の並列計算機（Ｈ／Ｗ構成）において、上記実施の形態１と同様の効果を奏することができる。
また、共有メモリ型のＳＭＰであっても、プロセッサ間で共通の部分として実現される手段を、各プロセッサに分割して動作するようにしても実現可能であり、上記実施の形態１と同様の効果を奏することができる。
【００７８】
上記実施の形態１では、「次処理領域」のサイズの算出法として、“（「残処理領域数」＋「使用プロセッサ数」−１）／「使用プロセッサ数」”を用いた例で説明したが、これ以外の算出方法であっても、再割当要求が行われ、途中で処理を行う画像領域が増える毎に対応できる算出方法であれば、任意の算出法を採用することができ、上記実施の形態１と同様の効果を奏することができる。
また、「次処理領域」の選択方法として、画像領域の先頭から順次選択する方法で説明したが、未処理の領域を残すことなく割り当てられる方法であれば、任意の領域選択方法を採用することができ、上記実施の形態１と同様の効果を奏することができる。
これは、実行管理テーブルでの全ての処理単位での管理フラグについても同様であり、未処理の領域を残すことなく割り当てられる方法であれば、任意の管理法を採用することができ、上記実施の形態１と同様の効果を奏することができる。
【００７９】
上記実施の形態１では、残処理領域数とプロセッサの実行状況フラグにより、終了判定法および、先に処理が一旦終了したプロセッサの再実行をコントロールしていた。
これらは説明のための１例であり、全ての処理が終了した判定と、先に処理が一旦終了したプロセッサが再度処理領域を割り当てられて実行が可能な仕組であれば、任意の方法を採用することができ、上記実施の形態１と同様の効果を奏することができる。
例えば、画像領域割当手段２では、処理負荷計算手段８から「次処理領域」を受け取った時に、そのプロセッサへ直前に渡した「次処理領域」に対応する実行管理テーブルの管理フラグを「済」にする。
また、「再割当要求」受け取った時に、そのプロセッサへ直前に渡した「次処理領域」の内再割当されなかった範囲は「済」にする。
さらに、残処理領域が０で次処理要求を受け取った時に、全ての管理フラグが「済」ならば終了を、１個でも管理フラグが「済」でないならば、空（大きさ０）の「次処理領域」を、処理負荷計算手段８に渡す。
処理負荷計算手段８では、空の「次処理領域」を受け取った場合には、一定時間待って再度「次処理領域」を出す。終了を指示された場合に、各プロセッサでの処理を終了する。
このような実装法でも上記実施の形態１と同様の効果を奏することができる。
【００８０】
上記実施の形態１では、処理負荷計算手段８において、まず、割り当てられた「次処理領域」全ての推定散乱点を計算した後で「境界行」を求める例で説明した。
これは、各行毎に、推定散乱点の計算とその行までの累計推定散乱点数を求める計算を行い、求めた累計推定散乱点数と処理制限量を比較して、「境界行」を決定する方法で実現しても、上記実施の形態１と同様の効果を奏することができる。
この場合には、累計推定散乱点数が処理制限量を超えて再割当要求を行う範囲の推定散乱点を計算しなくても良い。
また、「境界行」の判定を、処理制限量を超えた行とする例で説明したが、これを処理制限量を超える前の行としても、上記実施の形態１と同様の効果を奏することができる。
この場合には、割り当てられた「次処理領域」の先頭から一定の範囲（例えば、先頭の１行だけ）は、必ず実行するような制約を課すことや、処理制限量に設定する値を調整すると良い。
【００８１】
上記実施の形態１では、図９の画像と図１０の計算機構成で説明したが、これらは説明のための１例であり、任意の画像データ、および任意の構成（任意のプロセッサ数等）においても、上記実施の形態１と同様の効果を奏することができる。
【００８２】
実施の形態２．
図１１はこの発明の実施の形態２による並列画像処理装置を示す構成図であり、図において、１４は図１における領域分割法設定手段６の機能を拡張した負荷計算型領域分割法設定手段である。その他の構成は、図１と同一である。
【００８３】
次に動作について説明する。
この実施の形態２では、負荷計算型領域分割法設定手段１４が、領域分割法設定手段６に代わって、単位領域当たりの最大処理量設定手段３の単位領域当たりの最大処理負荷量を参照して、画像領域の分割法を決定することが実施の形態１と異なる。
単位領域当たりの最大処理量設定手段３が指定した画像領域の分割法を基準に、「次処理領域」が決定されること以外（他の手段の動作手順等）は、実施の形態１と同じである。
【００８４】
実施の形態１では、Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングを参考に、“（「残処理領域数」＋「使用プロセッサ数」−１）／「使用プロセッサ数」”で「次処理領域」のサイズを決定する方法を選択していた。
ここでは、単位領域での最大処理負荷量がどの程度かは、考慮していない。
この実施の形態２では、単位領域当たりの最大処理量設定手段３で指定された最大処理負荷量を参照して、負荷計算型領域分割法設定手段１４が「次処理領域」サイズの算出する方法を決定する。
負荷計算型領域分割法設定手段１４では、１行当たりで、最大算出可能な推定散乱点数を基準に、任意の「次処理領域」サイズの算出方法が指定可能である。ここでは、算出式の選択条件や、算出式そのものに、最大処理量を利用することが可能である。
例えば、単位領域での最大処理量として、１行当たりの最大で算出可能な推定散乱点数が数個程度（例えば２，３個）の場合を考える。
この場合には、各行での算出された推定散乱点数の違いによる処理負荷の差は、比較的小さいと推測できる。この時には、例えば単純なスケジューリングを参考に、“（「残処理領域数」＋「使用プロセッサ数」−１）／「使用プロセッサ数」”で「次処理領域」のサイズを決定する方法を選択する。
一方で、例えば、単位領域での最大処理負荷量として、１行当たりの最大で算出可能な推定散乱点数が数百個程度（例えば２，３百個）の場合を考える。
この場合には、各行での、算出された推定散乱点数の違いによる処理負荷の差は、比較的大きいと推測できる。この時には、致命的な処理負荷の発生があるか否かをなるべく早めに検出したい。また、再割当による処理負荷の均衡を計るために、ある程度以上の大きさの行を、各プロセッサに割り当てることが大切になる。
このため、例えば次のような方法で、「次処理領域」のサイズを決定する。
まず、“（「残処理領域数」＋「使用プロセッサ数」−１）／「使用プロセッサ数」”で「暫定処理数」を決定する。
「暫定処理数」が５行より大きい時には、「次処理領域」のサイズを“「暫定処理数」の値”にする。
ここで、「暫定処理数」が５行以下で「残処理領域数」が１０行より大きい時には、「次処理領域」のサイズを“５行”にする。
「暫定処理数」が５行以下で「残処理領域数」が５行より大きく１０行以下の時には、「次処理領域」のサイズを“「残処理領域数」／２”にする。
「暫定処理数」が５行以下で「残処理領域数」が５行以下の時には、「次処理領域」のサイズを“「残処理領域数」の値”にする。
【００８５】
以上のように、この実施の形態２によれば、単位領域での最大処理負荷量を基準に、各プロセッサに割り当てる処理領域の大きさを算出する方法を決定することができる。
ここでは、各プロセッサへ割り当るサイズを決定する時に、単位領域での最大処理負荷量を基準に、算出式の選択条件を選択できる利点がある。
また、算出式そのものに、単位領域での最大処理負荷量を利用できる利点がある。
これにより、単位領域での最大処理負荷量に応じて、適切な大きさの処理領域を各プロセッサへ割り当てることが可能な、並列画像処理装置を得られる効果がある。
【００８６】
上記実施の形態２では、単純なスケジューリングをベースに「暫定処理数」等を利用する算出法で説明を行ったが、これ以外の算出方法であっても、単位領域での最大処理負荷量を考慮した任意の算出法を採用することができ、上記実施の形態２と同様の効果を奏することができる。
算出法選択の判断基準として「暫定処理数」が５行以上等で説明を行ったが、これ以外の判断基準であっても、単位領域での最大処理負荷量を考慮した任意の判断基準を採用することができ、上記実施の形態２と同様の効果を奏することができる。
また、５行や１０行等の値も、任意の値を設定することが可能であり、上記実施の形態２と同様の効果を奏することができる。
【００８７】
実施の形態３．
図１２はこの発明の実施の形態３による並列画像処理装置を示す構成図であり、図において、１５は処理負荷実測手段、１６は図１における領域分割法設定手段６の機能を拡張した実測対応型領域分割法設定手段、１７は図１における処理制限量計算手段７の機能を拡張した実測対応型処理制限量計算手段である。その他の構成は、図１と同一である。
【００８８】
次に動作について説明する。
この実施の形態３では、処理負荷実測手段１５が単位領域当たりの計算に掛かる処理負荷が最大の場合の実行時間と、最小の場合の実行時間とを実測することと、領域分割法設定手段６に代わって、実測対応型領域分割法設定手段１６が処理負荷実測手段１５の実測時間を参照して、画像領域の分割法を決定することと、処理制限量計算手段７に代わって、実測対応型処理制限量計算手段１７が処理負荷実測手段１５の実測時間を参照して、処理制限量を算出することが実施の形態１と異なる。
【００８９】
この実施の形態３では、処理負荷実測手段１５が、単位領域当たりの最大処理量設定手段３で指定された最大処理負荷量（この例では、推定散乱点数の最大値）を基準に、単位領域（１行）当たりの計算に掛かる、最大の実行時間（推定散乱点数が最大の時の実行時間）と、最小の実行時間（推定散乱点数が０の時の実行時間）を実測して記録している。
【００９０】
実施の形態１では、Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングを参考に、“（「残処理領域数」＋「使用プロセッサ数」−１）／「使用プロセッサ数」”で「次処理領域」のサイズを決定する方法を選択していた。
また、実施の形態２では、単位領域当たりの最大処理量設定手段３で指定された最大処理負荷量を参照して、負荷計算型領域分割法設定手段１４が「次処理領域」サイズの算出する方法を決定していた。
この実施の形態３では、実測対応型領域分割法設定手段１６が、処理負荷実測手段１５が記録している実行時間を参考に「次処理領域」サイズを算出する。
実測対応型領域分割法設定手段１６では、単位領域（１行）当たりで変化する最大と最小の実行時間を基準に、任意の「次処理領域」サイズの算出方法が指定可能である。ここでは、算出式の選択条件や、算出式を、最大と最小の実行時間を基準に決定することが可能である。
【００９１】
この実施の形態３では、実測対応型処理制限量計算手段１７が、処理負荷実測手段１５が記録している実行時間を参考に、処理制限量を算出する。
実施の形態１と実施の形態２の処理制限量計算手段７では、“「次処理領域のサイズ」＊４−１”で処理制限量を算出していた。
ここでは、与えられた処理領域の大きさと、単位領域当たりの最大処理量設定手段３で指定された最大処理量から、適当な式が指定されていることを仮定していた。
一方で、この実施の形態３では、処理負荷実測手段１５が記録している実行時間を参考に、１行当たりの最大と最小の実行時間を基準に、任意の処理制限量の算出式を指定することが可能である。
【００９２】
なお、他の手段の動作手順等は、実施の形態１または実施の形態２と同じである。
【００９３】
以上のように、この実施の形態３によれば、単位領域での最大と最小の計算時間を実測し、その実測値を基準に、各プロセッサに割り当てる処理領域の大きさを算出する方法を決定することができる。
ここでは、各プロセッサへ割り当てるサイズを決定する時に、単位領域での最大と最小の計算時間を基準に、算出式の選択条件や算出式そのものを決定できる利点がある。
これにより、実測した単位領域での最大と最小の計算時間を基準に、適切な大きさの処理領域を各プロセッサへ割り当てることが可能な、並列画像処理装置を得られる効果がある。
また、本装置では、「処理制限量」を求める算出式を、単位領域での最大と最小の計算時間を実測結果を基に決定することができる。
これにより、単位領域での最大と最小の計算時間を基準に、各プロセッサに割り当てた「次処理領域」に対応する「処理制限量」を計算することが可能な、並列画像処理装置を得られる効果がある。
【００９４】
実施の形態４．
図１３はこの発明の実施の形態４による並列画像処理装置を示す構成図であり、図において、１８は処理ブロック設定手段、１９は図１における処理負荷計算手段８の機能を拡張した処理ブロック対応型処理負荷計算手段、２０は図１における画像処理実行手段９の機能を拡張した処理ブロック対応型画像処理実行手段である。その他の構成は、図１と同一である。
【００９５】
次に動作について説明する。
この実施の形態４では、処理ブロック対応型処理負荷計算手段１９と処理ブロック対応型画像処理実行手段２０が、処理ブロック設定手段１８で指定された領域の処理を優先して行うことが実施の形態１と異なる。他の手段の動作手順等は、実施の形態１と同じである。
【００９６】
処理ブロック対応型処理負荷計算手段１９では、任意の大きさと形状の画像処理領域を「ブロック」として指定することができる。
また、この「ブロック」単位で優先する計算を指定することができる。
処理ブロック対応型処理負荷計算手段１９と処理ブロック対応型画像処理実行手段２０は、処理ブロック設定手段１８で指定された「ブロック」の範囲内では、同じく処理ブロック設定手段１８で指定された計算を優先して実行する。
【００９７】
まず、「ブロック」が単位領域（行）より大きい例について説明する。
例えば、「ブロック」として「次処理領域」の先頭から２行、優先する計算として、“固有値を基に散乱点数を推定する処理を行う部分と、推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分との連続した計算”が指定されたケースを示す。
ここでは、「次処理領域」の大きさが２行以上の場合で、かつ、ここまでの処理量が画像領域割当手段２から通知された「制限処理量」を超えない場合には、処理ブロック対応型処理負荷計算手段１９は、まず、先頭の２行分について、処理ブロック対応型画像処理実行手段２０に計算の実行を指示する。
その後で、処理ブロック対応型処理負荷計算手段１９は、「境界行」の検出から、再割当要求（「制限処理量」を超えた場合）や、先頭から３行目以後を対象に「超解像実行領域」の算出を行い、「超解像実行領域」の計算実行を処理ブロック対応型画像処理実行手段２０に指示する。
この他、例えば、「ブロック」として「超解像実行領域」の４行分の領域、優先する計算として、“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”が指定されたケースを示す。
このケースで、処理ブロック対応型処理負荷計算手段１９は、「超解像実行領域」の算出後に、「超解像実行領域」が４行より大きいサイズだった場合に、「超解像実行領域」から４行づつ選択して、計算実行の指示を処理ブロック対応型画像処理実行手段２０に行う。
例えば、「超解像実行領域」が１２行あった場合には、４行づつ選択して、３回に分けて計算を実行するように処理ブロック対応型画像処理実行手段２０に指示する。
【００９８】
次に、「ブロック」が単位領域（行）より小さい例について説明する。
例えば、「ブロック」としてキャッシュのラインサイズに納まる範囲（ここでは、「８画素」と仮定する）、優先する計算として、“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”が指定されたケースを示す。
このケースで、処理ブロック対応型画像処理実行手段２０は、「超解像実行領域」で指定された各行に対する“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”の計算を行う場合に、「８画素」毎の計算を繰り返す形式で実行する。
【００９９】
以上のように、この実施の形態４によれば、任意の大きさと形状の画像処理領域を「ブロック」として指定し、「ブロック」単位で優先する計算を指定することができる。
この「ブロック」と優先する計算の指定を適切に行うことで、実行効率の良い並列画像処理装置を得られる効果がある。
【０１００】
上記実施の形態４では、「ブロック」および優先する計算について、先頭から２行や、“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”を指定した例で説明したが、任意の大きさと形状の「ブロック」に対して、任意の優先する計算の指定を行うことができ、また、上記実施の形態４と同様の効果を奏することができる。
上記実施の形態４では、実施の形態１への拡張で説明を行ったが、実施の形態２または実施の形態３の装置に対して、処理ブロック設定手段１８、処理ブロック対応型処理負荷計算手段１９、処理ブロック対応型画像処理実行手段２０を加えて並列画像処理装置を構成しても、上記実施の形態４と同様の効果を奏する。
【０１０１】
実施の形態５．
図１４はこの発明の実施の形態５による並列画像処理装置を示す構成図であり、図において、２１はキャッシュ情報設定手段、２２は処理ブロック計算手段である。その他の構成は、図１３と同一である。
【０１０２】
次に動作について説明する。
この実施の形態５では、処理ブロック計算手段２２が、キャッシュ情報設定手段２１のキャッシュ情報を利用して、「ブロック」の大きさと形状および「ブロック」単位で優先する計算を決定することが実施の形態４と異なる。その他は、実施の形態４と同じである。
【０１０３】
例えば、実施の形態４では、「ブロック」として「超解像実行領域」の４行分の領域と、優先する計算として、“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”が指定されていた。
この実施の形態５では、処理ブロック計算手段２２がキャッシュ情報設定手段 ２１のキャッシュ情報（キャッシュラインのサイズや制御法、キャッシュの総容量等）と、処理画像情報設定手段５で設定された画像サイズと画素のサイズの情報等から、キャッシュアクセスで有利となる領域（行数）を算出し、「ブロック」として定義する。
キャッシュアクセスが有利となる範囲は、キャッシュの構成と処理対象の画像サイズ（特に行のサイズ）の組合せによって変わる。
処理ブロック計算手段２２では、処理対象の画像サイズ別に、キャッシュアクセスが有利となる「ブロック」として算出することができる（キャッシュの構成は、同じ計算機では固定のため、ここでは画像サイズが変わる例で説明）。
【０１０４】
また、実施の形態４では、「ブロック」としてキャッシュのラインサイズに納まる範囲（ここでは、「８画素」と仮定する）、優先する計算として、“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”が指定されていた。
この実施の形態５では、このキャッシュのラインサイズに納まる範囲を、キャッシュ情報設定手段２１のキャッシュ情報と、処理画像情報設定手段５で設定された画素のサイズの情報から自動的に算出して、設定することが可能になる。
【０１０５】
以上のように、この実施の形態５によれば、「ブロック」の大きさと範囲を、キャッシュの情報と処理対象画像の情報から設定できる。これにより、「ブロック」の指定範囲をより適切に設定できる利点がある。
【０１０６】
実施の形態６．
図１５はこの発明の実施の形態６による並列画像処理装置を示す構成図であり、図において、２３は動的処理ブロック計算手段である。その他の構成は、図１３と同一である。
【０１０７】
次に動作について説明する。
この実施の形態６では、動的処理ブロック計算手段２３が、処理ブロック対応型処理負荷計算手段１９に指定された処理対象領域のサイズ情報から、処理ブロック設定手段１８での「ブロック」のサイズと形状および「ブロック」単位で優先する計算を、動的に変化させて決定することが実施の形態４と異なる。その他は、実施の形態４と同じである。
【０１０８】
例えば、実施の形態４では、「ブロック」として「超解像実行領域」の４行分の領域と、優先する計算として、“推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分”が指定されていた。
この時、処理ブロック対応型処理負荷計算手段１９が指定された領域のサイズに関わりなく、「ブロック」は４行のままである。
一方で、この実施の形態６では、「ブロック」のサイズを、処理ブロック対応型処理負荷計算手段１９に指定されたサイズにより、変更することもできる。
例えば、「超解像実行領域」が４の倍数の時には「ブロック」サイズを４行分のまま、４で割って１余る時には可能な範囲はサイズは４行分で最後に「ブロック」サイズを１行分に、４で割って２余る時には可能な範囲はサイズは４行分で最後に「ブロック」サイズを２行分に、４で割って３余る時には可能な範囲はサイズは４行分で最後に「ブロック」サイズを２行分と１行分にして実行することもできる。
また、「ブロック」のサイズを、画像領域割当手段２が保持する残処理領域の情報から、「ブロック」のサイズを変更することもできる。
【０１０９】
以上のように、この実施の形態６によれば、「ブロック」の大きさと範囲を、割り当てられた「次処理領域」のサイズを基準に、動的に設定できる。
また、残処理領域の情報からも、「ブロック」の大きさと範囲を動的に設定できる。
これにより、「ブロック」の指定範囲をより適切に設定できる利点がある。
【０１１０】
実施の形態７．
図１６はこの発明の実施の形態７による並列画像処理装置を示す構成図であり、図において、２４は図１３における領域分割法設定手段６の機能を拡張した処理ブロック対応型領域分割法設定手段である。その他の構成は、図１３と同一である。
【０１１１】
次に動作について説明する。
この実施の形態７では、処理ブロック対応型領域分割法設定手段２４が、処理ブロック設定手段１８で指定された「ブロック」のサイズと優先される処理を考慮して、領域の割当方法を決定することが、実施の形態４と異なる。その他は、実施の形態４と同じである。
【０１１２】
例えば、実施の形態４では、「ブロック」として「次処理領域」の先頭から２行、優先する計算として、“固有値を基に散乱点数を推定する処理を行う部分と、推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分との連続した計算”が指定されていた。
但し、実施の形態４では、処理ブロック対応型処理負荷計算手段１９へ割り当てられる処理領域のサイズは、この「ブロック」を考慮せずに決められていた。
一方で、この実施の形態７では、処理ブロック対応型領域分割法設定手段２４が、処理ブロック設定手段１８で指定された「ブロック」のサイズと優先される処理を考慮して、領域の割当方法を決定することができる。
このため、例えば、処理ブロック対応型処理負荷計算手段１９へ割り当てる処理領域を、可能な限り連続した２行分より大きな領域として選択する、領域の割当方法を選択することが可能になる。
【０１１３】
以上のように、この実施の形態７によれば、指定された「ブロック」の大きさと範囲および優先する計算を基準に、各プロセッサへ割り当てる処理領域の決定方法を指定することが可能であり、これにより、「ブロック」で指定された範囲の計算を、より適切に実行できる並列画像処理装置を得られる効果がある。
【０１１４】
実施の形態８．
図１７はこの発明の実施の形態８による並列画像処理装置を示す構成図であり、図において、２５は図１３における処理制限量計算手段７の機能を拡張した処理ブロック対応型処理制限量計算手段である。その他の構成は、図１３と同一である。
【０１１５】
次に動作について説明する。
この実施の形態８では、処理ブロック対応型処理制限量計算手段２５が、処理ブロック設定手段１８で指定された「ブロック」のサイズと優先される処理を考慮して、割当領域に対する最大処理負荷量を計算することが、実施の形態４と異なる。その他は、実施の形態４と同じである。
【０１１６】
例えば、実施の形態４では、「ブロック」として「次処理領域」の先頭から２行、優先する計算として、“固有値を基に散乱点数を推定する処理を行う部分と、推定した散乱点数を基準にＳＡＲ画像の解像度向上処理を実施する部分との連続した計算”が指定されていた。
但し、実施の形態４では、処理ブロック対応型処理負荷計算手段１９へ通知される処理制限量は、この「ブロック」を考慮せずに決められていた。
一方で、この実施の形態８では、処理ブロック対応型処理制限量計算手段２５が処理ブロック設定手段１８で指定された「ブロック」のサイズと優先される処理を考慮して、割当領域に対する最大処理負荷量を計算することができる。
このため、ある「次処理領域」への処理制限量を決める時に、最初２行までの処理制限量と、３行目以後に対する処理制限量を異なる値とし、最初の２行での連続実行をより優先して行えるようなことも可能になる。
【０１１７】
以上のように、この実施の形態８によれば、指定された「ブロック」の大きさと範囲および優先する計算を基準に、各プロセッサへ割り当てる処理領域に対する処理制限量を任意に指定することが可能であり、これにより、「ブロック」で指定された範囲の計算を、より適切に実行できる並列画像処理装置を得られる効果がある。
【０１１８】
実施の形態９．
図１８はこの発明の実施の形態９による並列画像処理装置を示す構成図であり、図では、図１３に示した構成に、キャッシュ情報設定手段２１と、処理ブロック計算手段２２と、動的処理ブロック計算手段２３と、処理ブロック対応型領域分割法設定手段２４と、処理ブロック対応型処理制限量計算手段２５とを加えて並列画像処理装置を構成したものである。
【０１１９】
以上のように、この実施の形態９によれば、実施の形態４の装置に、実施の形態５から実施の形態８の機能拡張を組み合わせて実現されている。
このため、実施の形態５から実施の形態８の機能拡張から任意の機能拡張手段を選択し、それぞれの利点を組み合わせて利用できる効果がある。
【０１２０】
実施の形態１０．
図１９はこの発明の実施の形態１０による並列画像処理装置を示す構成図であり、図において、２６は図１における画像領域割当手段２の機能を拡張した単位領域分割対応型画像領域割当手段、２７は図1における領域分割法設定手段６の機能を拡張した単位領域分割対応型領域分割設定手段、２８は図1における処理制限量計算手段７の機能を拡張した単位領域分割対応型処理制限量計算手段、２９は図1における処理負荷計算手段８の機能を拡張した単位領域分割対応型処理負荷計算手段、３０は図１における画像処理実行手段９の機能を拡張した単位領域分割対応型画像処理実行手段である。その他の構成は、図１と同一である。
図２０は単位領域分割対応型画像領域割当手段の処理を示すフローチャート、図２１は単位領域分割対応型処理負荷計算手段の処理を示すフローチャート、図２２は行単位の処理の分割のイメージを示す説明図である。
【０１２１】
次に動作について説明する。
この実施の形態１０では、単位領域での処理を分割して再割当するために、単位領域分割対応型画像領域割当手段２６、単位領域分割対応型領域分割設定手段 ２７、単位領域分割対応型処理制限量計算手段２８、単位領域分割対応型処理負荷計算手段２９、単位領域分割対応型画像処理実行手段３０での動作が実施の形態１の画像領域割当手段２、領域分割法設定手段６、処理制限量計算手段７、処理負荷計算手段８、画像処理実行手段９と異なる。
但し、単位領域当たりの最大処理量設定手段３、使用プロセッサ数設定手段４、処理画像情報設定手段５については、実施の形態１と同様の動作をする。
【０１２２】
単位領域分割対応型画像領域割当手段２６の動作について図２０を用いて説明する。
まず、初期化については、基本的に実施の形態１の画像領域割当手段２と同じである（ステップＳＴ４１）。但し、単位領域分割対応型領域分割設定手段２７から指示される処理領域の割当法が、行分割を考慮した方法であることが、実施の形態１と異なる。
この例では、説明を簡潔にするため、行分割されて再割当された行については、未処理の行として扱う例で説明する。ここでは、行分割されて再割当された行があった場合に、この行分だけ「残処理領域」を１増加させることにする。
【０１２３】
初期化後、単位領域分割対応型画像領域割当手段２６は、「要求待ち」状態になる（ステップＳＴ４２）。この「要求待ち」状態において、単位領域分割対応型処理負荷計算手段２９から「次処理」が要求された場合の動作を説明する。
ここでは、まず、「残処理領域数」をチェックする（ステップＳＴ４３）。「残処理領域数」が０より大きい場合、処理領域割当操作を行う。
この手順は、基本的に実施の形態１の画像領域割当手段２と同じであるが、次の２点が異なる。
１点目として、「次処理領域」の決定法がある。
ここでは、単位領域分割対応型領域分割設定手段２７から指示される処理領域の割当法が、行分割を考慮した方法であることが、実施の形態１と異なる。
例えば、実施の形態１では、「次処理領域」のサイズを決定した後で、「画像割当ポインタ」が示す位置から、「次処理領域のサイズ」分だけ管理フラグが「未」となっている領域を順番に選択した。
一方で、この例では、まず、管理フラグが「分」となっている領域がないかをチェックする（ステップＳＴ４４）。ここで、管理フラグが「分」となっている領域があれば、その１行だけからなる画像領域を「次処理領域」として決定する。
この時には、「次処理領域」情報として、再割当後の計算を開始する散乱点の数（例えば、もともと１行で１００個の散乱点が見つかって、そのうち７０個が処理され、残りの３０個を再割当した場合には、再割当後の計算を開始する散乱点の数として、７１が指定される）の情報も付加される（ステップＳＴ４５）。
また、「残処理領域」を１減少させる。管理フラグが「分」となっている領域がない場合には、実施の形態１と同様の方法で、「次処理領域」を決定する（ステップＳＴ４６，ステップＳＴ４７）。
なお、管理フラグが「分」となっているのは、行が分割されて再割当を要求された領域である。
２点目として、「処理制限量」の算出と指示がある。
実施の形態１では、処理制限量計算手段７で単位領域を最小単位とした割当を前提に「処理制限量」を算出し、この「処理制限量」を処理負荷計算手段８を通知していた。
一方でこの例では、単位領域分割対応型処理負荷計算手段２９は、単位領域を最小単位とした割当（行単位の割当）を前提にした「処理制限量」（以下、実行制約）に加えて、単位領域を分割した（行の処理も分割した）割当の判断基準となる「処理制限量」（以下、分割制約）を算出する。
単位領域分割対応型画像領域割当手段２６は、実行制約と分割制約の２種類の「処理制限量」を単位領域分割対応型処理負荷計算手段２９へ通知することが、実施の形態１と異なる。
【０１２４】
次に、単位領域分割対応型画像領域割当手段２６で、単位領域分割対応型処理負荷計算手段２９から「次処理」が要求され時に、「残処理領域数」が０の場合の動作を示す。ここでは、実施の形態１の画像領域割当手段２と同じ手順で動作する（ステップＳＴ５１〜ステップＳＴ５３）。
【０１２５】
単位領域分割対応型画像領域割当手段２６が「要求待ち」状態において、単位領域分割対応型処理負荷計算手段２９から「再割当」が要求された場合の動作を説明する。
この場合は、まず、「残処理領域数」を更新する（ステップＳＴ５４）。ここでは、「再割当」を要求された（行単位の）領域に加えて、処理を分割されて「再割当」を要求された行についても、その数を「残処理領域数」として加える。
このため、行分割による「再割当」があった場合には、“「残処理領域数」＋「再割当領域のサイズ（行単位：境界行の次の行から「次処理領域」の最終行まで）」＋１行”が、新しい「残処理領域数」になる。
次に、「再割当」を要求された領域について、処理単位別の実行管理テーブルの管理フラグを更新する。ここで、行分割による「再割当」を要求された行は管理フラグを「分」に、その他の行については管理フラグを「未」に更新する（ステップＳＴ５５）。また、管理フラグを「分」にした行については、再割当を開始する位置（推定散乱点数）も同時に記録する。
この後の手順、画像割当ポインタが「空」の場合の設定や、各プロセッサの実行中フラグの確認と「実行再開」通知等は、実施の形態１の画像領域割当手段２と同じである（ステップＳＴ５６〜ステップＳＴ５８）。
【０１２６】
単位領域分割対応型処理負荷計算手段２９の動作について図２１を用いて説明する。
単位領域分割対応型処理負荷計算手段２９では、単位領域分割対応型画像領域割当手段２６から実行開始の指示を受けて、次処理の要求を行い、その回答を待つ（ステップＳＴ６１〜ステップＳＴ６９）。ここで、回答が「一時停止」であった場合、および、その後の処理手順については、実施の形態１の処理負荷計算手段８と同様である（ステップＳＴ８４，ステップＳＴ８５）。
【０１２７】
次処理の要求に対する回答が、「次処理領域」と「処理制限量」の情報の通知の場合、「次処理領域」が行分割された範囲の再割当か否かをチェックする（ステップＳＴ６４）。ここで、行分割された範囲の再割当の場合には、「次処理領域」情報として、再割当後の計算を開始する位置の情報が付加されているので、これを基準に判断する。
「次処理領域」が行分割された範囲の再割当でない場合、まず、実施の形態１の処理負荷計算手段８と同様の手順で、「境界行」を求める。但し、ここでは、単位領域分割対応型画像領域割当手段２６からの「処理制限量」として、実行制約と分割制約の２種類の制約条件が設定されていることが実施の形態１と異なる。ここでは、実行制約を使って、実施の形態１と同様の手順で「境界行」を求める（ステップＳＴ６５〜ステップＳＴ７０）。
「境界行」が確定後、「処理制限量」の分割制約を用いて、行単位の処理を分割するか否かを決定する（ステップＳＴ７１）。この制約条件としては、「境界行」での推定散乱点数が一定の数以上になる場合や、今回の割り当てられた「次処理領域」でする推定散乱点数の総数が一定の数以上になる場合等の条件を任意に設定することができる。
ここで、「境界行」で行単位の処理分割が必要と判断された場合には、「境界行」を「超解像実行領域」と「未処理領域」に分割する。この分割では、先頭から分割制約で指定された個数の推定散乱点を「超解像実行領域」に、「超解像実行領域」に含まれなかった推定散乱点を「未処理領域」に設定する（ステップＳＴ７２，ステップＳＴ７３）。また、「未処理領域」の先頭の推定散乱点が、先頭から何番目かという情報も記録する。
一方で、「境界行」で行単位の処理を分割の必要がないと判断された場合には、「境界行」全体を「超解像実行領域」に設定する（ステップＳＴ７４）。
次に、単位領域分割対応型処理負荷計算手段２９では、「次処理領域」の先頭から「境界行」の前の行までを「超解像実行領域」に追加設定する（ステップＳＴ７５）。さらに、「境界行」が最終行でない場合には、「境界行」の次の行から「次処理領域」の最後の行までの領域を「未処理領域」に追加設定する（ステップＳＴ７３）。
【０１２８】
上記の「超解像実行領域」と「未処理領域」の設定を終了した後、単位領域分割対応型処理負荷計算手段２９が「未処理領域」を単位領域分割対応型画像領域割当手段２６への再割当要求する手順や（ステップＳＴ８１）、「超解像実行領域」の超解像処理の実行を単位領域分割対応型画像処理実行手段３０へ指示を行い（ステップＳＴ８２）、次処理要求へ復帰する手順は、基本的に実施の形態１の処理負荷計算手段８と同様である。
但し、次の２点が実施の形態１と異なる。
まず、１点目として、単位領域分割対応型画像領域割当手段２６への再割当要求で付加する情報がある。
この実施の形態１０では、単位領域分割対応型画像領域割当手段２６への再割当要求時には、“行単位での再割当部分”と“行を分割する再割当部分”を区別した形式で情報を伝える。また、“行を分割する再割当部分”については、「未処理領域」の先頭の推定散乱点が、先頭から何番目かという情報も付加して通知する。なお、“行を分割する再割当部分”がない場合には、“行単位での再割当部分”の情報だけが通知される。この場合には、実施の形態１と同じ情報になる。
次に、２点目として、単位領域分割対応型画像処理実行手段３０へ「超解像実行領域」の超解像処理の実行を指示する範囲がある。
この実施の形態１０では、「超解像実行領域」として、行全体を実行する行と、行分割して実行する行とその範囲（開始散乱点と終了散乱点）を指定して、単位領域分割対応型画像処理実行手段３０へ「超解像実行領域」の超解像処理の実行を指示する。
単位領域分割対応型画像処理実行手段３０では、行全体を実行するように指示された行については、実施の形態１の画像処理実行手段９と同様に実行する。一方で、行分割して実行する行については、対象の行の開始散乱点から終了散乱点だけを対象に、「超解像実行領域」の超解像処理の実行を実行する。
【０１２９】
一方で、「次処理領域」が行分割された範囲の再割当の場合、単位領域分割対応型処理負荷計算手段２９は次のように動作する。
この場合には、「次処理領域」情報として、再割当後の計算を開始する位置（何番目の散乱点から処理対象とするか）の情報が付加されている。
ここでは、まず、実施の形態１の処理負荷計算手段８と同様の方法で、「次処理領域」で指定された行の推定散乱点を全て算出する。その後で、求めた推定散乱点数のうち、計算を開始する位置よりも後ろの推定散乱点を「行分割再処理対象推定散乱点」とする（ステップＳＴ７７）。
次に、「行分割再処理対象推定散乱点」の数を、「処理制限量」の分割制約を用いて、再度行単位の処理を分割するか否かを決定する（ステップＳＴ７８）。ここで、分割の必要がない場合には、「行分割再処理対象推定散乱点」全てを「超解像実行領域」に指定する（ステップＳＴ７９）。
逆に、分割の必要がある場合には、上記の「境界行」の分割と同様に、「処理制限量」の分割制約を用いて、「超解像実行領域」と「未処理領域」に分割する（ステップＳＴ８０）。但し、ここでの「超解像実行領域」の先頭は、再割当後の計算を開始する位置となり、この位置から指定の個数が選択される。
また、「未処理領域」の先頭を示す推定散乱点については、「境界行」の分割と同様に、行の先頭から何番目かという情報が設定される（こちらは、再割当後の計算を開始する位置から数えない）。
「超解像実行領域」と「未処理領域」の設定後は、上記の「次処理領域」が行分割された範囲の再割当でない場合と同様である。但し、単位領域分割対応型画像処理実行手段３０に指示される「超解像実行領域」で、行分割して実行する行の開始点は、行の先頭ではなく、単位領域分割対応型画像領域割当手段２６から指示された“再割当後の計算を開始する位置”になっている。
【０１３０】
以上のように、この実施の形態１０によれば、あるプロセッサでの処理負荷が増大した時に、単位領域をも分割して他のプロセッサへ処理を再割当することが可能である。これにより、入力画像によって処理負荷が変化する画像処理用のアルゴリズムで、ある単位領域への負荷が著しく増加するケースでも、並列実行するプロセッサに処理を効率良く負荷を分散し、実行効率が良い並列画像処理装置を得られる効果がある。
【０１３１】
上記の実施の形態１０では、簡潔な方法で説明するため、単位領域での分割基準を簡単な方法で示したが、この制約条件は、単位領域の処理負荷を決定する要素（この例では推定散乱点数）を基準としたものであれば、任意の選択法を採用可能であり、上記実施の形態１０と同様の効果を奏する。
また、他の条件（画像処理のサイズ等）を組み合わせた制約条件とすることも当然可能であり、上記実施の形態１０と同様の効果を奏する。
「次処理領域」の算出法および実行管理テーブルでの管理フラグを用いた制御についても同様であり、単位領域での分割に対応して、未処理の領域を残すことなく割り当てられる方法であれば、任意の「次処理領域」の算出法または領域の管理法を採用することができ、上記実施の形態１０と同様の効果を奏することができる。
【０１３２】
上記の実施の形態１０では、簡潔な方法で説明するため、行分割された範囲の再割当を、１行だけ選択して優先して実行する例で説明したが、これを他の未処理行（１度も計算を実行していない行）と混在させて割り当てることも可能であり、上記実施の形態１０と同様の効果を奏することができる。
【０１３３】
実施の形態１１．
図２３はこの発明の実施の形態１１による並列画像処理装置を示す構成図であり、図において、３１は単位領域分割可否条件設定手段である。その他の構成は、図２０と同一である。
【０１３４】
次に動作について説明する。
この実施の形態１１では、単位領域分割対応型処理制限量計算手段２８が処理制限量の分割制限の判断基準として、画像処理全体での残りの処理量と実行待ちで一時停止しているプロセッサの個数を組み合わせた条件を設定していると仮定する。
この場合、単位領域分割対応型処理負荷計算手段２９は、単位領域分割対応型画像領域割当手段２６から、単位領域分割対応型処理制限量計算手段２８が算出したこの組合せ条件を、処理制限量の分割制限の判断基準として指定されることになる。
単位領域分割対応型処理負荷計算手段２９では、組合せ条件に指定された情報を採取するため、単位領域分割可否条件設定手段３１に、情報の収集を指示する。
単位領域分割可否条件設定手段３１では、指示をうけた時に単位領域分割対応型領域分割設定手段２７を参照し、画像処理全体での残りの処理量（「残処理量」を参照）や、実行待ちで一時停止しているプロセッサの個数（実行フラグが「ＯＦＦ」になっているプロセッサの個数を参照）等の情報を収集して、単位領域分割対応型処理負荷計算手段２９に伝える。
単位領域分割対応型処理負荷計算手段２９では、行分割の可否を判定する際に、この単位領域分割可否条件設定手段３１からの情報を参照して、組合せ条件を判定する。
なお、本装置では、上記の行分割の可否を判定する際の、組合せ条件の指定およびその採取の手順以外の部分については、実施の形態１０の装置と同様に動作する。
【０１３５】
以上のように、この実施の形態１１によれば、単位領域の分割の可否を判断する条件として、画像処理全体での残りの処理量と実行待ちで一時停止しているプロセッサの個数等の実行状況を利用することができる。
これにより、現在の実行状況に適した負荷分散を選択することができ、実行効率が良い並列画像処理装置を得られる効果がある。
【０１３６】
上記実施の形態１１では、単位領域分割可否条件設定手段３１が参照する情報として、画像処理全体での残りの処理量と実行待ちで一時停止しているプロセッサの個数を指定したが、単位領域分割対応型領域分割設定手段２７が管理している情報ならば、任意の情報を採取することが可能であり、上記実施の形態１１と同様の効果を奏する。
また、処理画像情報設定手段５が保持する処理対象画像の情報等、単位領域分割対応型領域分割設定手段２７が入手して利用している情報についても、同様に任意の情報を採取することが可能であり、上記実施の形態１１と同様の効果を奏する。
【０１３７】
実施の形態１２．
図２４はこの発明の実施の形態１２による並列画像処理装置を示す構成図であり、図において、３２は事前計算結果保持手段である。その他の構成は、図２０と同一である。
【０１３８】
次に動作について説明する。
単位領域分割対応型処理負荷計算手段２９は、任意の行に対する推定散乱点に関する計算結果を保持させることができる手段である。また、保存済みの計算結果の中から、指定された行に対する推定散乱点に関する計算結果を取り出すこともできる手段である。
この実施の形態１２の単位領域分割対応型処理負荷計算手段２９では、ある行に対して、最初に行分割の必要があると判断した時に、推定散乱点に関する算出結果を事前計算結果保持手段３２に保存する。
また、単位領域分割対応型画像領域割当手段２６から「次処理領域」が行分割された範囲の再割当の場合には、推定散乱点を求める計算を再実行することなく、事前計算結果保持手段３２が保持している情報を利用する。
なお、事前計算結果保持手段３２は、基本的にプロセッサ間で共通の部分に実装する。例えば、ＳＭＰ計算機であれば、共有メモリ部分に事前計算結果を保持するように、実装することが考えられる。
【０１３９】
以上のように、この実施の形態１２によれば、単位領域を分割して実行する時に、最初に分割対象の単位領域を計算したプロセッサが、その領域に対する前処理の計算結果を記録しておく。後から分割された単位領域の他の部分の実行を指示されたプロセッサでは、この記録済みの計算結果を利用することで、前処理の計算を再度行う必要がない。
このため、前処理の計算を時間を節約することができ、実行効率が良い並列画像処理装置を得られる効果がある。
【０１４０】
実施の形態１３．
図２５はこの発明の実施の形態１３による並列画像処理装置を示す構成図であり、図において、２１はキャッシュ情報設定手段、３３は単位領域分割コスト計算手段である。その他の構成は、図２０と同一である。
【０１４１】
次に動作について説明する。
この実施の形態１３では、単位領域分割対応型処理制限量計算手段２８が処理制限量の分割制限の判断基準として、選択可能な最大と最小の推定散乱点の個数を設定していると仮定する。
この場合、単位領域分割対応型処理負荷計算手段２９は、選択可能な最大と最小の推定散乱点の範囲での実行コストの計算を単位領域分割コスト計算手段３３に指示する。
単位領域分割コスト計算手段３３では、実行対象の計算でのキャッシュアクセスによる処理コストを算出するための基準条件が設定されている。
単位領域分割コスト計算手段３３は、キャッシュ情報設定手段２１のキャッシュ情報からキャッシュのヒット率のキャッシュミスのペナルティを得、処理画像情報設定手段５から処理対象画像のサイズや画素のサイズ等の情報を得て、対象画像でのキャッシュアクセスが有利または不利になる範囲と、その程度を概算する。
単位領域分割コスト計算手段３３では、単位領域分割対応型処理負荷計算手段 ２９から実行コストの計算指示があった時に、推定散乱点が処理される画像上の位置から、そのコストを算出する。
例えば、推定散乱点が密集している箇所には、同じキャッシュのデータを繰り返して利用できるためにコストは低くなり、逆に広く分散している箇所では違うキャッシュを使うことになるためにコストが高くなる。
単位領域分割コスト計算手段３３では、単位領域分割対応型処理負荷計算手段 ２９が指定された最大と最小の推定散乱点の数の範囲で、設定された処理コストの基準条件に従って、最適となる数の推定散乱点の数を選択し、単位領域分割対応型処理負荷計算手段２９に通知する。
単位領域分割対応型処理負荷計算手段２９では、単位領域分割コスト計算手段 ３３から通知された推定散乱点の数で、対象の行の処理を分割することを決定する。
なお、本装置では、上記の行分割の可否を判定する際の、組合せ条件の指定およびその採取の手順以外の部分については、実施の形態１０の装置と同様に動作する。
【０１４２】
以上のように、この実施の形態１３によれば、キャッシュアクセスの効率を考慮して、単位領域の分割する位置を決定することができる。これにより、効率良い範囲で、分割された後の領域での計算を実行することができ、実行効率が良い並列画像処理装置を得られる効果がある。
【０１４３】
実施の形態１４．
図２６はこの発明の実施の形態１４による並列画像処理装置を示す構成図であり、図では、図２０に示した構成に、キャッシュ情報設定手段２１と、単位領域分割可否条件設定手段３１と、事前計算結果保持手段３２と、単位領域分割コスト計算手段３３とを加えて並列画像処理装置を構成したものである。
【０１４４】
以上のように、この実施の形態１４によれば、実施の形態１０の装置に、実施の形態１１から実施の形態１３の機能拡張を組み合わせて実現されている。
このため、実施の形態１１から実施の形態１３の機能拡張から任意の機能拡張手段を選択し、それぞれの利点を組み合わせて利用できる効果がある。
【０１４５】
実施の形態１５．
図２７はこの発明の実施の形態１５による並列画像処理装置を示す構成図であり、図において、３４は負荷予測設定手段、３５は図１における領域分割法設定手段６の機能を拡張した負荷予測型領域分割法手段である。その他の構成は、図１と同一である。
【０１４６】
次に動作について説明する。
動的なスケジューリングで処理を分散して実行する時には、処理の後半（特に終了直前）で負荷が高い部分が現れると、各プロセッサでの処理の終了を均等にすることが難しく、並列実行で不利になる。
これは、Ｇｕｉｄｅｄ−ＳｅｌｆスケジューリングやＳｅｌｆスケジューリングといった一般的な処理の動的な分割方法だけでなく、実施の形態１から実施の形態１４の処理でも同じ傾向となる。
【０１４７】
この実施の形態１５の負荷予測設定手段３４では、処理対象画像に対する負荷の予測を設定することができる。
例えば、ＭＵＳＩＣでの超解像処理を実行するユーザが、処理対象の画像を目で見て、画像の局所的な領域で処理負荷が高くなると予測した場合には、その領域での処理負荷が高く、他の部分の処理負荷が低いといった予測情報を設定することができる。
この設定方法としては、グラフィカルユーザインタフェースを利用して、画像処理領域を表示した画面上で指定すること等が考えられる。
負荷予測型領域分割法手段３５では、負荷予測設定手段３４に指定された予測値を基準に、負荷が高いと予測される処理領域（行）から、各プロセッサへの割当を優先して行うような領域分割法を選択できる。
【０１４８】
本装置では、上記のような手順で選択された、負荷が高いと予測される処理領域から優先して処理するような領域分割法を用いて、対象の画像処理を並列実行する。
なお、ここでの画像処理の並列実行方法は、処理領域の選択方法が異なる以外は、実施の形態１の装置と同じである。
【０１４９】
以上のように、この実施の形態１５によれば、入力された予測値に基づいて、負荷が高いと予測される画像領域を優先して各プロセッサに割り当ることが可能になる。
このため、処理の後半（特に終了直前）で負荷が高い部分が現れる可能性を抑えることができ、各プロセッサでの処理の終了をより均等化できる（負荷を均等に分散できる）確率が高くなる利点がある。
また、処理負荷の予測値を利用することで、より適切な画像処理対象領域の割当方法を選択できる確率が高くなる利点もある。
【０１５０】
上記実施の形態１５では、予測値の指定方法としてユーザが指定する方法で説明したが、この指定方法は任意であり、他の方法や手段を用いて指定を行っても、上記実施の形態１５と同様の効果を奏することができる。
上記実施の形態１５では、画像処理領域全体で負荷に不均衡があり、この中の負荷が大きい領域が画像処理実行の後半に現れて、負荷分散が難しくなるのを防ぐ例で説明した。
本装置では、これとは逆に、ほとんど一様な負荷が予測される場合には、単純でオーバーヘッドの少ない処理の割当方法を選択することもできる。
このように、本装置では、負荷の大きい部分に対応するケースだけでなく、入力された予測情報に基づいて様々なタイプの当方法を選択することが可能であり、この場合にも上記実施の形態１５と同様の効果を奏することができる。
【０１５１】
実施の形態１６．
図２８はこの発明の実施の形態１６による並列画像処理装置を示す構成図であり、図において、５４は撮影地域負荷予測計算手段である。その他の構成は、図２７と同一である。
【０１５２】
次に動作について説明する。
今回の実施の形態１６で、処理の対象となるＳＡＲ画像は、衛星や航空機で撮像されるケースが多い。
この時、撮影される地域が同じであれば、過去の画像情報等からも、負荷の予測を行うことが可能である。
撮影地域負荷予測計算手段５４では、撮影される地域と、その地域の画像に対する処理負荷の予測を記録することができる。
撮影地域負荷予測計算手段５４では、処理対象の画像が撮影される地域を入力された時に、その地域の画像に対する処理負荷の予測を取り出し、負荷予測設定手段３４へ設定する。
負荷予測設定手段３４へ設定された予測負荷を基に、実施の形態１５と同様の手順で負荷予測型領域分割法手段３５が領域分割法を決定する。
【０１５３】
以上のように、この実施の形態１６によれば、画像を撮影した地域に関する情報から処理負荷の予測を行うことができる。
画像を撮影した地域に関する情報を基に負荷を予測することで、負荷の予測精度を向上させる確率が高くなる利点がある。
予測の精度を向上させることは、より適切な画像処理対象領域の割当方法を選択できる利点がある。
【０１５４】
実施の形態１７．
図２９はこの発明の実施の形態１７による並列画像処理装置を示す構成図であり、図において、５６は予測値記録手段、５７は処理結果記録手段、５８は予測パラメータ補正手段である。その他の構成は、図２８と同一である。
【０１５５】
次に動作について説明する。
ここで、予測値記録手段５６は、過去に算出した予測値と入力条件を記録する。
処理結果記録手段５７では、過去の予測値に対して実際の実行で算出された処理負荷を記録する。
予測パラメータ補正手段５８では、予測値記録手段５６の予測値と、処理結果記録手段５７の実際の処理時間の結果から、輝度値のしきい値等、予測パラメータを補正する。
【０１５６】
ここでは、過去に基準領域負荷予測計算手段４７が算出し、負荷予測設定手段 ３４へ設定した予測値を予測値記録手段５６が記録する。
また、この予測値を元に実行された画像処理に対する、実際の実行時間を処理結果記録手段５７が記録する。
予測パラメータ補正手段５８では、予測値記録手段５６が記録した予測値と、処理結果記録手段５７が記録した実際の処理負荷から、「しきい値１」や「しきい値２」の値に対する補整値を算出し、基準領域負荷予測条件設定手段４８に、予測負荷の計算方法の修正を指示する。
基準領域負荷予測条件設定手段４８では、予測パラメータ補正手段５８の指示に従って、予測負荷の計算方法を修正する。
これ以後は、基準領域負荷予測条件設定手段４８では、修正されたしきい値を使った、予測負荷の計算方法を利用するようになる。
【０１５７】
以上のように、この実施の形態１７によれば、過去の処理負荷の予測とそれに対する実際の処理負荷から、処理負荷の予測計算方法を補正することができる。
過去の予測結果と実際の処理負荷から、処理負荷の予測計算方法を補正して改善することで、負荷の予測精度を向上できる利点がある。
予測の精度を向上させることで、より適切な画像処理対象領域の割当方法を選択できる利点もある。
【０１５８】
実施の形態１８．
図３０はこの発明の実施の形態１８による並列画像処理装置を示す構成図であり、図において、５９は撮影条件負荷予測補正手段である。その他の構成は、図２８と同一である。
【０１５９】
次に動作について説明する。
撮影条件負荷予測補正手段５９では、過去の予測計算実行時の天候や撮影日時、季節、撮影角度等の画像を撮像した条件を記録すると共に、新たな予測計算を行う対象の画像への撮像条件から、最適の予測計算の補正を選択する。
【０１６０】
例えば、実施の形態１７の装置に対して、撮影条件負荷予測補正手段５９を加えて並列画像処理装置を構成する。
ここで、撮影条件負荷予測補正手段５９は、予測値記録手段５６と処理結果記録手段５７が、それぞれ予測値や実際の処理負荷を記録する時に、それに対応する、天候や撮影日時、季節、撮影角度等の画像を撮像した条件を記録する。
次に、撮影条件負荷予測補正手段５９は、新たに予測を行う時に、記録した過去の撮影条件から、新たな予測で利用するに適した条件を選択し、この条件に対する予測値記録手段５６と処理結果記録手段５７が記録する、予測値と実際の処理負荷から、予測値算出計算の修正方法を算出するように、予測パラメータ補正手段５８に指示する。
ここからは、実施の形態１７と同様の手順で、基準領域負荷予測条件設定手段 ４８の予測負荷の計算方法が修正される。このため、新たな予測値の算出では、撮影条件を考慮した修正を行った予測負荷の計算方法が採用される。
【０１６１】
以上のように、この実施の形態１８によれば、過去の撮影時の条件から、新たに予測を行う際に、その処理負荷の予測計算方法を補正することができる。
これにより、負荷の予測精度を向上できる利点がある。
今回の実施の形態１８で、処理の対象となるＳＡＲ画像は、衛星や航空機で撮像されるケースが多い。
この時、撮像時の天候や撮影日時、季節、撮影角度等の画像を撮像した条件から、結果として得られるＳＡＲ画像は影響を受ける（同じ場所を撮影したケースでも変化する）。
この処理元画像への影響により、ＭＵＳＩＣによる超解像処理での負荷も変化する。
このため、予測計算においても、撮像条件を考慮することが望ましい。
本装置では、撮影時の条件に基づいて、過去に行った予測計算とそれに対する実際の処理量を比較し、処理負荷の予測計算方法を補正することができる。
これは、今回の実施の形態１８のように、撮像条件により、処理対象画像が影響を受けるケースの予測計算で、その予測精度をより向上できる利点がある。
【０１６２】
上記実施の形態１８では、記録した過去の撮影条件から、新たな予測で利用するに適した条件に対応する予測値と処理負荷の実測値を選択する例で説明したが、撮影条件から、複数の予測値と処理負荷の実測値を選択し、選択した値に重み付けを行うようにしても、上記実施の形態１８と同様の効果を奏することができる。
【０１６３】
実施の形態１９．
図３１はこの発明の実施の形態１９による並列画像処理装置を示す構成図であり、図において、６０は最適予測条件計算手段である。その他の構成は、図２８と同一である。
【０１６４】
次に動作について説明する。
最適予測条件計算手段６０は、新たに予測値算出を指示された時に、予測値記録手段５６が記録している予測値算出の入力条件の中で類似の条件を検索し、これに適した予測値算出の条件を選択する。
また、選択した予測値算出の条件に対する予測値と、処理結果記録手段５７が保持する予測結果に対応する実際の処理量から、選択した予測値算出の条件に対するパラメータの補正を行う。
【０１６５】
例えば、実施の形態１７の装置に対して、最適予測条件計算手段６０を加えて並列画像処理装置を構成する。
この例で、最適予測条件計算手段６０は、新たに予測値算出を指示された時に、予測値記録手段５６が記録している予測値算出の入力条件の中から、新たな予測値算出で指定された条件と近いものを検索し、１個を選択する。
次に、最適予測条件計算手段６０は、選択した条件に対する予測値記録手段 ５６に記録している算出した予測値の結果と、処理結果記録手段５７が保持する予測結果に対応する実際の処理量を入手し、予測パラメータ補正手段５８に選択した予測計算の補正を指示する。
ここで、予測パラメータ補正手段５８は、実施の形態２６と同様の手順で補正を行う。
この補正終了後に、選択した補正済みの予測計算を用いて、新たな予測値の算出を行う。
【０１６６】
以上のように、この実施の形態１９によれば、新たに予測を行う際に、過去の予測計算の入力条件から、類似の条件で実行された予測計算を選択できる。
さらに、選択した予測条件に対する、予測結果と実際の処理負荷量から、この予測条件に対する予測値の算出式を補正することができる。
これにより、負荷の予測精度を向上できる利点がある。
【０１６７】
上記実施の形態１９では、過去の入力条件から、類似した１個の条件を選択する例で説明したが、複数の条件を選択し、選択した値に重み付けを行うようにしても、上記実施の形態１９と同様の効果を奏することができる。
【０１６８】
実施の形態２０．
図３２はこの発明の実施の形態２０による並列画像処理装置を示す構成図であり、図において、６１は事前計算選択設定手段、６２は事前計算判定手段、６３は事前処理負荷量計算手段、６４は事前処理対応型画像領域割当手段である。その他の構成は、図１と同一である。
【０１６９】
次に動作について説明する。
事前計算選択設定手段６１は、事前計算による処理を行うか否かの判断条件を設定する。
事前計算判定手段６２は、事前計算選択設定手段６１の設定から事前計算による処理の有無を判定する。
事前処理負荷量計算手段６３は、事前計算判定手段６２から事前計算による処理を指示された時に、画像領域全体を対象に、単位領域毎の処理負荷量を事前に計算する。また、この処理負荷量を求める計算の結果を保持する。
事前処理対応型画像領域割当手段６４は、事前処理負荷量計算手段６３が事前に計算した単位領域毎の処理負荷量を基準に、各プロセッサの処理負荷が均等になるように処理領域の割当を行う。
【０１７０】
例えば、実施の形態１の装置に対して、事前計算選択設定手段６１と、事前計算判定手段６２と、事前処理負荷量計算手段６３と、事前処理対応型画像領域割当手段６４とを加えて並列画像処理装置を構成する。
この例で、事前計算選択設定手段６１は、単位領域毎の最大処理負荷量が５００以上の場合に、事前計算による処理を選択するように設定されている。
事前計算判定手段６２は、事前計算選択設定手段６１の設定と、単位領域当たりの最大処理量設定手段３で指定された単位領域当たりの最大処理負荷量から、事前計算による処理の有無を判定する。
【０１７１】
ここでは、まず、事前計算判定手段６２での判定時に、最大処理負荷量が１０００で、事前計算が選択された場合の処理手順を示す。
この場合、事前計算判定手段６２は、事前処理負荷量計算手段６３に事前計算の開始を指示する。
事前計算の開始を指示された事前処理負荷量計算手段６３では、画像領域全体を対象に、単位領域毎の処理負荷量を事前に計算する。
この例では、単位領域毎（各行毎）に推定散乱点を求める計算を実行する。
この算出では、実施の形態１と同様に、画像処理プログラム１１の処理負荷を決定する処理部分１２を利用する。
また、事前処理負荷量計算手段６３は、算出した推定散乱点の情報を記録しておく。
なお、事前処理負荷量計算手段６３での計算を並列に実行するように実現しても良い。
ここでの計算は、各単位領域毎に処理負荷が一定のため、一般的な並列処理の領域分割方法を利用して実装しても、十分な並列化の効果を得やすい。
事前処理負荷量計算手段６３での事前計算終了後、事前処理対応型画像領域割当手段６４では、事前処理負荷量計算手段６３で算出された各行毎の推定散乱点数情報と、使用プロセッサ数設定手段４からの使用するプロセッサ数情報から、各プロセッサに割り当てる処理領域を決定する。
事前処理対応型画像領域割当手段６４は、各プロセッサが処理する推定散乱点数の総計が、均等になるように、各プロセッサに割り当てる処理領域を決定する。
ここでは、事前に分かっている処理の大きさに対する割り当てのため、一般的な並列処理の領域分割方法を利用して実装しても、均等に割当を行える可能性が高い。
各プロセッサの画像処理実行手段９へ割り当てられる推定散乱点の数は均等になるように調整済みのため、一般的な並列処理の領域分割方法を利用して実装しても、十分な並列化の効果を得やすい。
各プロセッサに割り当てる処理領域が決定した後、事前処理対応型画像領域割当手段６４では、各プロセッサの画像処理実行手段９に対して、割り当てる処理領域に対する超解像処理の実行を指示する。
この時、事前処理対応型画像領域割当手段６４では、事前処理負荷量計算手段 ６３が保持する推定散乱点の情報から、各プロセッサの画像処理実行手段９へ、割り当てられた範囲に対応する推定散乱点の計算結果を引き渡す。
ここで、各プロセッサの画像処理実行手段９は、実施の形態1と同じように、超解像処理を並列に実行する。
【０１７２】
次に、事前計算判定手段６２での判定時に、最大処理量が１０で、事前計算が選択されない場合の処理手順を示す。
この場合には、事前計算判定手段６２が画像領域割当手段２に通常の計算方法での処理の開始を指示する。
処理開始の指示を受けた画像領域割当手段２は、実施の形態１と同様の手順で、画像処理アルゴリズムの計算を開始する。
【０１７３】
以上のように、この実施の形態２０によれば、事前計算による処理方法の可否を選択して実行することができる。
単位領域毎に動的に決定する処理負荷量の差が特に大きい場合、これを実行時に処理範囲の割当を決定する動的なスケジューリングで対応するには、困難なことがある。
本実施の形態２０では、このような可能性がある条件下では、処理負荷の計算を事前に行い、この計算結果から並列に実行する領域を決定することができる。
逆に、動的なスケジューリングで対応可能な条件下では、単位領域毎の処理で有利になる動的スケジューリングを採用して、並列に実行する。
このように、本装置では、処理が行われる条件に従って、適切な処理方法を選択できる利点がある。
【０１７４】
上記実施の形態２０では、事前計算の判断条件として、単位領域毎の最大処理量が５００以上とした例で説明したが、この判断条件としては、画像処理アルゴリズムでの単位領域毎での最大負荷と最小負荷の処理量の差（処理時間の差）がどの程度かを見積もって事前計算の可否を判定できる条件であれば、任意の条件を設定可能であり、上記実施の形態２０と同様の効果を奏することができる。
【０１７５】
上記実施の形態２０では、実施の形態１に対して事前計算選択設定手段６１と、事前計算判定手段６２と、事前処理負荷量計算手段６３と、事前処理対応型画像領域割当手段６４とを加えた例で説明したが、実施の形態２から実施の形態１９のいずれの装置に対しても、上記の４手段を加えた構成が可能であり、上記実施の形態２０と同様の効果を奏することができる。
例えば、実施の形態３に加えた場合には、実測した単位領域毎の最大処理時間と最小処理時間を基準に、事前計算の判断を行うといったことが可能であり、実際の実行時間に基づいたより正確な判断を行うことが可能となる効果がある。
また、実施の形態１０に加えた場合には、事前計算の結果を基に、単位領域の分割も行うような並列画像処理装置を得られる効果がある。
【０１７６】
実施の形態２１．
図３３はこの発明の実施の形態２１による並列画像処理装置を示す構成図であり、図において、６５は図１における画像領域割当手段２の機能を拡張した画像情報参照型画像領域割当手段、６６は図１における処理負荷計算手段８の機能を拡張した画像情報参照型処理負荷計算手段、６７は図１における領域分割法設定手段６の機能を拡張した画像情報参照型領域分割法設定手段である。その他の構成は、図１と同一である。
図３４は画像情報参照型画像領域割当手段の処理を示すフローチャート、図３５は画像情報参照型処理負荷計算手段の処理を示すフローチャート、図３６は並列実行時の並列画像処理装置の実装イメージを示す構成図、図３７は実行管理テーブルの操作の概念を示す説明図、図３８は画像情報参照型処理負荷計算手段に割り当てられた「次処理領域」に対する「超解像実行領域」と「超解像未処理領域」の例を示す説明図、図３９は４プロセッサ構成で処理する時の実装イメージを示す説明図、図４０は画像情報参照型領域分割法設定手段が再割当を行う際の割当方法の概念を示す説明図である。
【０１７７】
次に動作について説明する。
画像情報参照型画像領域割当手段６５の動作について図３４を用いて説明する。
画像情報参照型画像領域割当手段６５では、まず、単位領域当たりの最大処理量設定手段３、使用プロセッサ数設定手段４、画像情報参照型領域分割法設定手段６７から初期化で必要な情報を入手する。
使用プロセッサ数設定手段４からは、使用するプロセッサ数を、単位領域当たりの最大処理量設定手段３からは、単位領域当たりの最大処理数を入手する。ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理の例では、単位領域は行、最大処理数は各行で推定する散乱点数の最大値となる。
画像情報参照型領域分割法設定手段６７からは、画像処理領域全体のサイズと処理領域の割当法を入手する。画像情報参照型領域分割法設定手段６７は、処理画像情報設定手段５から画像処理領域の情報（画像サイズや画素のサイズ、データ型等）、使用プロセッサ数設定手段４からは、使用するプロセッサ数を入手する。
画像情報参照型領域分割法設定手段６７では、処理画像情報設定手段５から画像のサイズ、使用プロセッサ数設定手段４からは使用するプロセッサ数を入手し、処理領域の割当法を決定する。この算出方法は、任意に設定できることとする。
この例では、各行での処理負荷を一様と仮定して、一般的な並列処理の動的な領域分割法に基づく処理領域の割当法とする。但し、本装置では再割当要求が行われ、途中で処理を行う画像領域が増えることがある。このため、画像情報参照型領域分割法設定手段６７では、再割当要求により画像領域が増えることを前提とした割当法を選択する。
次に、画像情報参照型画像領域割当手段６５では、入手した情報を利用して、内部情報の初期化を行う。ここでは、「残処理領域数」を「画像処理領域全体のサイズ」から計算して処理単位の個数（この例では、行数）に設定し、全プロセッサの実行中フラグを「ＯＮ」に設定する。さらに、「画像処理領域全体のサイズ」から、処理単位別の実行管理テーブルを作成し、全ての処理単位での管理パラメータを「未」に、「画像割当ポインタ」の先頭を画像領域の先頭に設定する（図３９参照）。
また、全プロセッサの画像情報参照型処理負荷計算手段６６に実行開始を指示する（ステップＳＴ１０１）。
ここまでの初期化を完了した後で、画像情報参照型画像領域割当手段６５は、各プロセッサの画像情報参照型処理負荷計算手段６６からの「要求待ち」状態となる（ステップＳＴ１０２）。
【０１７８】
「要求待ち」状態において、画像情報参照型処理負荷計算手段６６から「次処理」が要求された場合の動作を説明する。
まず、「残処理領域数」をチェックする（ステップＳＴ１０３）。ここで、「残処理領域数」が０より大きければ、次の処理領域割当操作を行う。
処理領域割当操作では、まず、要求元の画像情報参照型処理負荷計算手段６６へ割り当てる「次処理領域」を決定する（ステップＳＴ１０４）。ここで割り当てる「次処理領域」のサイズは、画像情報参照型領域分割法設定手段６７が指定した処理領域の割当法に従う。
初期割当時には、「画像割当ポインタ」が示す位置（画像領域の先頭）から、「次処理領域のサイズ」分だけ管理パラメータが「未」となっている領域を順次選択して、「次処理領域」として選択する。なお、選択中に処理領域の最後に到達した場合には、先頭に戻って管理パラメータが「未」となっている領域を順次選択する。
再割当時には、再割当領域に対応する処理単位別の実行管理テーブルの管理パラメータに記録された、画像情報（ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理の例では、推定散乱点数の計算結果）を基に、画像情報参照型領域分割法設定手段６７が与える領域分割法を用いて「次処理領域」を決定する。
「次処理領域」が決定すると、その領域に対応する処理単位別の実行管理テーブルの管理パラメータを「計」（計算中）にする。また、「画像割当ポインタ」を管理パラメータが「未」となる要素まで進める。処理領域の最後に到達した場合には、先頭に戻って検索し、最初に「未」となる要素まで進める。また、「未」となる要素がない場合には、画像割当ポインタを「空」に設定する。
また、「残処理領域数」を更新する（「残処理領域数」−「次処理領域のサイズ」にする）（ステップＳＴ１０５）。
次に、処理領域割当操作では、選択した「次処理領域」に対する「処理制限量」の計算を処理制限量計算手段７に指示する（ステップＳＴ１０６）。
処理制限量計算手段７では、単位領域当たりの最大処理量設定手段３から単位領域当たりの最大処理数を入手し、画像情報参照型画像領域割当手段６５から指示された「次処理領域」から、対象領域での「処理制限量」を算出する。
処理領域割当操作では、処理制限量計算手段７から「処理制限量」の計算結果を受け取った後で、「次処理領域」と「処理制限量」の情報を、要求元の画像情報参照型処理負荷計算手段６６へ通知する（ステップＳＴ１０７）。
【０１７９】
「残処理領域数」をチェック時に、「残処理領域数」が０の場合について説明する。
この場合、まず、要求元の画像情報参照型処理負荷計算手段６６へ実行の「一時停止」を指示する。また、要求元の画像情報参照型処理負荷計算手段６６に対応するプロセッサの実行中フラグを「ＯＦＦ」に設定する（ステップＳＴ１０８）。
次に、プロセッサの実行中フラグが全て「ＯＦＦ」になっているかを調べる（ステップＳＴ１０９）。ここで、１個でも実行中フラグが「ＯＮ」になっているプロセッサがあれば、「要求待ち」状態へ復帰する。
一方、全ての実行中フラグが「ＯＦＦ」の場合には、全プロセッサの画像情報参照型処理負荷計算手段６６に、「実行完了」を通知する（ステップＳＴ１１０）。
【０１８０】
「要求待ち」状態において、画像情報参照型処理負荷計算手段６６から「再割当」が要求された場合の動作を説明する。
この場合は、まず、「残処理領域数」を更新する（「残処理領域数」＋「再割当領域のサイズ」にする）（ステップＳＴ１１１）。
ここで、画像割当ポインタが「空」の場合には、管理パラメータが画像情報の数値（ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理の例では、推定散乱点数の計算結果）となっている領域の先頭に、画像割当ポインタを設定する（ステップＳＴ１１２）。
次に、各プロセッサの実行中フラグをチェックし、「ＯＦＦ」になっているプロセッサがあれば、これに対応する画像情報参照型処理負荷計算手段６６へ「実行再開」を通知する（ステップＳＴ１１３）。
また、実行再開を通知したプロセッサに対応する実行中フラグを「ＯＮ」に設定する（ステップＳＴ１１４）。
この後で、「要求待ち」状態へ復帰する。
【０１８１】
画像情報参照型処理負荷計算手段６６の動作について図３５を用いて説明する。
画像情報参照型処理負荷計算手段６６では、まず、画像情報参照型画像領域割当手段６５からの実行開始の指示を受けて（ステップＳＴ１２１）、次処理の要求を行い（ステップＳＴ１２２）、その回答を待つ（ステップＳＴ１２３）。
ここで、回答が「次処理領域」と「処理制限量」の情報の通知の場合、一連の処理実行操作を開始する。
初期割当の場合（ステップＳＴ１２４）、処理実行操作では、まず、「次処理領域」で指定された処理領域内で、各行毎に散乱点数の推定計算を実行する（ステップＳＴ１２５）。この推定散乱点数の算出では、画像処理プログラム１１の処理負荷を決定する処理部分１２を利用する。なお、この算出では、単位領域当たりの最大処理量設定手段３の行当たりの最大散乱点数を参照して、各行での推定散乱点数の最大値が、この最大散乱点数以下になるようにする。また、この推定散乱点数の算出結果を、対応する処理単位別の実行管理テーブルの管理パラメータに記録する。
次に、「次処理領域」の先頭の行から順番に、各行の推定散乱点数を１行ずつ足していき、この和と「処理制限量」を比較する（ステップＳＴ１２６〜ステップＳＴ１３０）。
ここで、和が「処理制限量」を超えた行を「境界行」とする（ステップＳＴ１３１）。「次処理領域」の先頭から「境界行」まで（「境界行」を含む）の領域を「超解像実行領域」に設定する（ステップＳＴ１３２）。
「超解像実行領域」を設定後、「境界行」の次の行から、「次処理領域」の最後の行までの領域を「超解像未処理領域」に設定する（図３８参照）（ステップＳＴ１３４）。
ここで、「境界行」が「次処理領域」の最後の行（「再割当領域」が空）の場合には、次の超解像処理実行に進む（ステップＳＴ１３３）。
一方で、「境界行」が「次処理領域」の最後の行でない（「再割当領域」が存在）場合には、画像情報参照型画像領域割当手段６５へ「超解像未処理領域」の再割当を要求する（ステップＳＴ１３５）。この要求を通知した後で、次の超解像処理実行に進む。
一方、再割当の場合（ステップＳＴ１２４）、既に散乱点数の推定計算を実行済みであるので、「次処理領域」の全領域を「超解像実行領域」に設定した後で、次の超解像処理実行に進む（ステップＳＴ１３６）。
超解像処理の実行では、「超解像実行領域」に対する超解像処理の実行を画像処理実行手段９に指示する（ステップＳＴ１３７）。画像処理実行手段９では、画像処理プログラム１１の動的に負荷が変化する処理部分１３を利用して、超解像処理を実行する。
その後、画像処理実行手段９での超解像処理の実行完了を待って、処理実行操作を終了し、再度「次処理要求」へ戻って処理を開始する（ステップＳＴ１３８）。
【０１８２】
次処理の要求に対する回答が、実行の「一時停止」の場合、「指示待ち」状態となる（ステップＳＴ１３９）。
「指示待ち」状態で、画像情報参照型画像領域割当手段６５から「実行再開」を指示された場合には、再度「次処理要求」へ戻って処理を再開する。
一方、「指示待ち」状態で、画像情報参照型画像領域割当手段６５から「実行完了」を指示された場合には、処理を終了する（ステップＳＴ１４０）。
【０１８３】
画像情報参照型領域分割法設定手段６７の動作について説明する。
「次処理領域」の各行で計算された推定散乱点数を累積して得られる累積推定散乱点数が、「処理制限量」を超えた場合、「境界行」の次の行から「次処理領域」の最後の行までの領域を「超解像未処理領域」として、画像情報参照型処理負荷計算手段６６から画像情報参照型画像領域割当手段６５に対して、再割当が要求される。
その後、画像情報参照型画像領域割当手段６５は、実行管理テーブルの管理パラメータに記録された推定散乱点数を基に、画像情報参照型領域分割法設定手段６７が与える領域分割法を用いて「次処理領域」を決定する。
画像情報参照型領域分割法設定手段６７が与える領域分割法について説明する。
まず、実行管理テーブルの管理パラメータに記録された散乱点数の累積値および使用プロセッサ数設定手段４に設定された使用プロセッサ数を基に、「割当散乱点数」を算出する。その後、画像割当ポインタの先頭から、各行の推定散乱点数の和を算出していき、「割当散乱点数」を超える行までの領域を「次処理領域」とする。
【０１８４】
この実施の形態２１の装置で、図９に示すサンプル画像を、４プロセッサ構成の計算機で処理したケースについて説明する。
図９では、処理が１，３，５，７行目で推定散乱点数が１００と処理が集中しており、他の行では全て推定散乱点数が１と小さな処理になっている。ここでは、推定散乱点数の計算時間が１、散乱点１個当たりにかかる超解像処理の時間が１になっている。
以下、ここではの処理時間の単位を「Ｔ」とする。図９の処理を逐次実行した場合には、「６００Ｔ」の時間が掛ることになる。
なお、図９では、各行の推定散乱点数と処理負荷（処理時間）を明示してあるが、これは、散乱点数の推定計算結果後に分かる値であり、計算の実行開始前には分からない値である。
Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリング（最初の処理領域の割当を変更しないまま実行したケース。図７参照）の例では、全体の実行時間は約「４５０Ｔ」も時間が掛かってしまう（１．３倍しか高速化できない）。
これに対して、上記実施の形態１に示した例では、全体の実行時間は約「１７７Ｔ」だけの時間で処理を完了できる（約３．４倍高速化できている）。
【０１８５】
一方で、実施の形態２１の装置では、次のように処理される。
各種設定を行う手段では、使用プロセッサ数設定手段４の使用プロセッサ数を「４」、処理画像情報設定手段５の画像処理領域の大きさを「１００」行に設定する。また、単位領域当たりの最大処理量設定手段３では、行当たりの最大の推定散乱点数を「１００」に設定されているとする。また、実装イメージは、図３９のようになる。
画像情報参照型画像領域割当手段６５では、上述の図３４のフローチャートに沿って処理が進められる。まずは、各手段に設定されたデータを基に初期化が行われる。プロセッサ１〜４の実行中フラグを「ＯＮ」に、「残処理領域数」を１００に、実行管理テーブルの１行から１００行の管理パラメータを「未」に、「画像割当ポインタ」を１行目に設定する。画像情報参照型領域分割法設定手段６７は、初期割当時の「次処理領域」サイズの決定法として、“「画像処理領域全体のサイズ」／「使用プロセッサ数」”を通知したとする。
また、画像情報参照型処理負荷計算手段６６−１〜６６−４へ実行開始を指示する。
画像情報参照型処理負荷計算手段６６−１〜６６−４では、図３５のフローチャートに従って処理を進めていく。ここでは、画像情報参照型画像領域割当手段６５からの実行開始の指示を受け、順次画像情報参照型画像領域割当手段６５へ「次処理要求」を行う。
ここでは、説明を簡単にするため、まず、画像情報参照型処理負荷計算手段６６−１が１番最初に画像情報参照型画像領域割当手段６５へ「次処理要求」を行い、続いてほぼ同時に、画像情報参照型処理負荷計算手段６６−２、画像情報参照型処理負荷計算手段６６−３、画像情報参照型処理負荷計算手段６６−４の順で「次処理要求」を行ったとして説明する。また、画像情報参照型処理負荷計算手段６６−１〜６６−４は、時刻「０Ｔ」で一斉に「次処理要求」を行ったとする。
まず、時刻「０Ｔ」で画像情報参照型画像領域割当手段６５は、画像情報参照型処理負荷計算手段６６−１からの「次処理要求」を受け取る。最初は、画像情報参照型領域分割法設定手段６７の領域分割法に従って、先頭から２５行分、１行から２５行までを「次処理領域」に選択する。
次に、「残処理領域数」を７５に、実行管理テーブルの１行から２５行までの管理パラメータを「計」に、「画像割当ポインタ」を２６行目に更新する。
その後、処理制限量計算手段７に「処理制限量」を算出させる。この例では、“「次処理領域のサイズ」＊４−１”を「処理制限量」として算出することにする。「次処理領域のサイズ」が２５のため、ここでは、「処理制限量」が９９となる。
「処理制限量」の算出後、画像情報参照型処理負荷計算手段６６−１へ、「次処理領域」（１行〜２５行）と「処理制限量」９９を通知し、「要求待ち」状態へ復帰する。
画像情報参照型画像領域割当手段６５では、時刻「０Ｔ」でさらに画像情報参照型処理負荷計算手段６６−２、画像情報参照型処理負荷計算手段６６−３、画像情報参照型処理負荷計算手段６６−４からの「次処理要求」を受け取る。
ここでは、画像情報参照型処理負荷計算手段６６−１からの要求時と同じ手順で、「次処理領域」の割当を行っていく。
画像情報参照型処理負荷計算手段６６−２には、「次処理領域」（２６行〜５０行）と「処理制限量」９９を、画像情報参照型処理負荷計算手段６６−３には、「次処理領域」（５１行〜７５行）と「処理制限量」９９を、画像情報参照型処理負荷計算手段６６−４には、「次処理領域」（７６行〜１００行）と「処理制限量」９９を、通知し、「要求待ち」状態へ復帰する。
なお、ここでの処理の結果、「残処理領域数」は０に、２６行から１００行までの管理パラメータが「計」に、「画像割当ポインタ」は指す行がなくなる（次に、再割当要求があったときに、再度設定される）。
【０１８６】
画像情報参照型処理負荷計算手段６６−１では、時刻「０Ｔ」で、画像情報参照型画像領域割当手段６５から「次処理要求」への回答として、「次処理領域」（１行〜２５行）と「処理制限量」９９を受け取る。
まず、「次処理領域」の各行で、推定散乱点数を計算し、実行管理テーブルの１行〜２５行までの管理パラメータに、推定散乱点数の計算結果を記録する。ここでは、２５行分の推定散乱点数の計算に、「２５Ｔ」掛かる。
次に、各行の推定散乱点数の和を求めて、「処理制限量」９９と比較していく。ここでは、１行目で推定散乱点数が１００となり、１行目が「境界行」となる。したがって、「超解像実行領域」は１行目だけになる。
当然、「境界行」は最終行ではないので、２行〜２５行の再割当を画像情報参照型画像領域割当手段６５に要求する。ここでは、推定散乱点数の計算の終了した時刻「２５Ｔ」で、画像情報参照型画像領域割当手段６５への再割当要求が行われる。
再割当要求後、画像情報参照型処理負荷計算手段６６−１は、画像処理実行手段９−１へ、「超解像実行領域」（１行目）の超解像処理の実行を指示し、「超解像実行領域」（１行目）の管理パラメータを「計」にする。画像情報参照型処理負荷計算手段６６−１では、この処理の終了を時刻「１２５Ｔ」まで待つことになる。
画像情報参照型処理負荷計算手段６６−２では、時刻「０Ｔ」で「次処理領域」（２６行〜５０行）と「処理制限量」９９を受け取る。
上記画像情報参照型処理負荷計算手段６６−１と同様の手順で処理を進めていくが、ここでは、各行の推定散乱点数の和は、最後の行まで計算しても２５までしか増加しない。このため、再割当要求は行わず、「次処理領域」である２６行〜５０行の全てを「超解像実行領域」に設定する。「超解像実行領域」の設定後、画像処理実行手段９−２へ、２６行〜５０行の超解像処理の実行を指示する。ここでは、この処理の終了を時刻「５０Ｔ」まで待つことになる。
画像情報参照型処理負荷計算手段６６−３では、時刻「０Ｔ」で「次処理領域」（５１行〜７５行）と「処理制限量」９９を受け取る。ここでは、画像情報参照型処理負荷計算手段６６−２と同様に、推定散乱点数の累積が２５と「処理制限量」より小さい値までしか増加しないため、５１行〜７５行を「超解像実行領域」に設定して、画像処理実行手段９−３に超解像処理の実行を指示する。この処理の終了を時刻「５０Ｔ」まで待つことになる。
画像情報参照型処理負荷計算手段６６−４では、時刻「０Ｔ」で「次処理領域」（７６行〜１００行）と「処理制限量」９９を受け取る。ここでも、画像情報参照型処理負荷計算手段６６−２と同様に、推定散乱点数の累積が２５と「処理制限量」より小さい値までしか増加しないため、７６行〜１００行を「超解像実行領域」に設定して、画像処理実行手段９−４に超解像処理の実行を指示する。この処理の終了を時刻「５０Ｔ」まで待つことになる。
【０１８７】
時刻「２５Ｔ」で、画像情報参照型処理負荷計算手段６６−１は、２行〜２５行（２４行分）の再割当要求を行う。
ここで画像情報参照型画像領域割当手段６５は、「残処理領域数」を０から２４に更新（２４行追加）する。ここでは、プロセッサ１〜４の実行中フラグは全て「ＯＮ」であるため、実行再開に関する処理は行わずに、「要求待ち」状態へ復帰する。
時刻「５０Ｔ」で超解像処理の実行が終了するため、画像情報参照型処理負荷計算手段６６−２〜画像情報参照型処理負荷計算手段６６−４は、「次処理要求」を行う。ここでは、説明を簡単にするため、画像情報参照型処理負荷計算手段６６−２〜画像情報参照型処理負荷計算手段６６−４の順で「次処理要求」を行ったとして説明する。
画像情報参照型領域分割法設定手段６７は、再割当時における「次処理領域」の決定法として、“「割当散乱点数」＝「累積推定散乱点数」＋「使用プロセッサ数」−１／「使用プロセッサ数」”を通知したとする。
残処理領域である２行〜２５行の「管理パラメータの累積」は３２１である。ここで、「画像割当ポインタ」は画像領域の先頭から、管理パラメータに推定散乱点数の数値が記録されている行、すなわち２行目に移動している。
画像情報参照型処理負荷計算手段６６−２の「割当散乱点数」は８１となる。２行目から記録された推定散乱点数の和を算出していくと、３行目で１０１となり、「割当散乱点数」の８１以上となる。したがって、２行〜３行を「次処理領域」とする。「処理制限量」は７であるが、推定散乱点数は既に計算済みであるため、使用しない。「次処理領域」を受け取った画像情報参照型処理負荷計算手段６６−２は、「次処理領域」を「超解像処理実行領域」に設定し、画像処理実行手段９−２へ、２行〜３行の超解像処理の実行を指示する。ここでは、この処理の終了を「１５１Ｔ」まで待つことになる。
同様に、画像情報参照型処理負荷計算手段６６−３の「割当散乱点数」は５５となる。「画像割当ポインタ」の指す４行目から記録された推定散乱点数の和を算出して行くと、５行目で１０１となり、「割当散乱点数」の５５以上となる。したがって、４行〜５行を「次処理領域」とする。「次処理領域」を受け取った画像情報参照型処理負荷計算手段６６−３は、「次処理領域」を「超解像処理実行領域」に設定し、画像処理実行手段９−３へ、４行〜５行の超解像処理の実行を指示する。ここでは、この処理の終了を「１５１Ｔ」まで待つことになる。
同様に、画像情報参照型処理負荷計算手段６６−４の「割当散乱点数」は３０となる。「画像割当ポインタ」の指す６行目から記録された推定散乱点数の和を算出して行くと、７行目で１０１となり、「割当散乱点数」の３０以上となる。したがって、６行〜７行を「次処理領域」とする。「次処理領域」を受け取った画像情報参照型処理負荷計算手段６６−４は、「次処理領域」を「超解像処理実行領域」に設定し、画像処理実行手段９−４へ、６行〜７行の超解像処理の実行を指示する。ここでは、この処理の終了を「１５１Ｔ」まで待つことになる。
【０１８８】
時刻「１２５Ｔ」で超解像処理の実行が終了するため、画像情報参照型処理負荷計算手段６６−１は、「次処理要求」を行う。
画像情報参照型処理負荷計算手段６６−１の「割当散乱点数」は５となる。「画像割当ポインタ」の指す８行目から記録された推定散乱点数の和を算出して行くと、１２行目で５となり、「割当散乱点数」の５以上となる。したがって、８行〜１２行を「次処理領域」とする。「次処理領域」を受け取った画像情報参照型処理負荷計算手段６６−１は、「次処理領域」を「超解像処理実行領域」に設定し、画像処理実行手段９−１へ、８行〜１２行の超解像処理の実行を指示する。ここでは、この処理の終了を「１３０Ｔ」まで待つことになる。
時刻「１３０Ｔ」で超解像処理の実行が終了するため、画像情報参照型処理負荷計算手段６６−１は、「次処理要求」を行う。
画像情報参照型処理負荷計算手段６６−１の「割当散乱点数」は４となる。「画像割当ポインタ」の指す１３行目から記録された推定散乱点数の和を算出して行くと、１６行目で４となり、「割当散乱点数」の４以上となる。したがって、１３行〜１６行を「次処理領域」とする。「次処理領域」を受け取った画像情報参照型処理負荷計算手段６６−１は、「次処理領域」を「超解像処理実行領域」に設定し、画像処理実行手段９−１へ、１３行〜１６行の超解像処理の実行を指示する。ここでは、この処理の終了を「１３４Ｔ」まで待つことになる。
同様にして、「再割当領域」の最後の行（２５行）まで全て、画像情報参照型処理負荷計算手段６６−１が超解像処理を実行し、時刻「１４３Ｔ」で「再割当領域」は空となる。
画像情報参照型処理負荷計算手段６６−２〜画像情報参照型処理負荷計算手段６６−４の実行も全て「１５１Ｔ」で終了する。
【０１８９】
このように、今回の図９の画像の例では、実施の形態２１の装置では、１５１Ｔだけでの時間で処理を完了できる（約４．０倍高速化できている）。
【０１９０】
以上のように、この実施の形態２１によれば、入力画像から得られる画像情報に基づいて再割当を行う際の処理領域を決定することにより、並列実行するプロセッサに効率良く負荷を分散することができる並列画像処理装置を得られる効果がある。
【０１９１】
実施の形態２２．
この実施の形態２２による画像情報参照型画像領域割当手段６５は、画像情報を参照して処理領域の再割当を行う際に、単位領域数を優先して再割当を行う処理領域を決定するように構成したものである。その他の構成については、上記実施の形態２１と同一である。
【０１９２】
次に動作について説明する。
「再割当要求」があった場合、画像情報参照型画像領域割当手段６５は、実行管理テーブルの管理パラメータに記録された推定散乱点数を基に、画像情報参照型領域分割法設定手段６７が与える領域分割法を用いて「次処理領域」を決定する。
その際、各行の推定散乱点数の和が「割当散乱点数」以上となるように、行を採用していき、採用された行で構成される領域を「次処理領域」とする。上記実施の形態２１では、画像割当ポインタの先頭から、順次行を採用していた。
この実施の形態２２では、順次採用して行くのではなく、画像割当ポインタの先頭から開始して、推定散乱点数を基に、採用する行および採用しない行とを選択し、「割当散乱点数」に可能な限り近い値となるような行を選択し、この領域を「次処理領域」とする。
「割当散乱点数」は、Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングを基に算出しているが、各プロセッサへ再割当する「次処理領域」を、可能な限り「割当散乱点数」に近い値とすることで、効率良く残処理領域の負荷を割り当てることが期待できる。
【０１９３】
以上のように、この実施の形態２２によれば、画像情報参照型画像領域割当手段６５において、画像情報を参照して処理領域の再割当を行う際に、単位領域数を優先して再割当を行う処理領域を決定することにより、効率良く残処理領域の負荷を割り当てることができる並列画像処理装置を得られる効果がある。
【０１９４】
実施の形態２３．
この実施の形態２３による画像情報参照型画像領域割当手段６５は、画像情報を参照して処理領域の再割当を行う際に、画像情報の大きさを優先して再割当を行う処理領域を決定するように構成したものである。その他の構成については、上記実施の形態２１と同一である。
【０１９５】
次に動作について説明する。
「再割当要求」があった場合、画像情報参照型画像領域割当手段６５は、実行管理テーブルの管理パラメータに記録された推定散乱点数を基に、画像情報参照型領域分割法設定手段６７が与える領域分割法を用いて「次処理領域」を決定する。
その際、各行の推定散乱点数の和が「割当散乱点数」以上となるように、行を採用していき、採用された行で構成される領域を「次処理領域」とする。上記実施の形態２１では、画像割当ポインタの先頭から、順次行を採用していた。
この実施の形態２３では、順次採用して行くのではなく、推定散乱点数が大きいものから順次採用して行く。これにより、残処理領域において、画像割当ポインタの先頭から遠い位置に、推定散乱点数が大きい行がある場合などにも、効率良く残処理領域の負荷を割り当てることが期待できる。
【０１９６】
以上のように、この実施の形態２３によれば、画像情報参照型画像領域割当手段６５において、画像情報を参照して処理領域の再割当を行う際に、画像情報の大きさを優先して再割当を行う処理領域を決定することにより、効率良く残処理領域の負荷を割り当てることができる並列画像処理装置を得られる効果がある。
【０１９７】
実施の形態２４．
この実施の形態２４による画像情報参照型画像領域割当手段６５は、画像情報を参照して処理領域の再割当を行う際に、単純に画像情報から再割当を行う処理領域を採用するのではなく、得られた画像情報に基づいて、実行する画像処理の処理負荷を算出し、その処理負荷に基づいて再割当を行う処理領域を決定するように構成したものである。その他の構成については、上記実施の形態２１と同一である。
【０１９８】
次に動作について説明する。
「再割当要求」があった場合、上記実施の形態２１から２３では、画像情報参照型画像領域割当手段６５は、実行管理テーブルの管理パラメータに記録された推定散乱点数を基に、画像情報参照型領域分割法設定手段６７が与える領域分割法を用いて「次処理領域」を決定する。これは、超解像処理の実行時間は、推定散乱点数に依存することが分かっているからである。しかし、「推定散乱点数の計算→超解像処理」を一回実行後は、推定散乱点の個数および超解像処理の実行時間の関係が明らかになっている。したがって、単純に推定散乱点数ではなく、推定散乱点数を超解像処理の実行時間に変換した値を基に、再割当時の「次処理領域」を決定することとする。これにより、効率良く残処理領域の負荷を割り当てることが期待できる。
【０１９９】
以上のように、この実施の形態２４によれば、画像情報参照型画像領域割当手段６５において、画像情報を参照して処理領域の再割当を行う際に、単純に画像情報から再割当を行う処理領域を採用するのではなく、得られた画像情報に基づいて、実行する画像処理の処理負荷を算出し、その処理負荷に基づいて再割当を行う処理領域を決定することにより、効率良く残処理領域の負荷を割り当てることができる並列画像処理装置を得られる効果がある。
【０２００】
実施の形態２５．
この実施の形態２５による画像情報参照型処理負荷計算手段６６は、初期割当時に、画像情報の計算と、画像処理実行手段９への処理の指示とを連続して実行するように構成したものである。その他の構成については、上記実施の形態２１と同一である。
【０２０１】
次に動作について説明する。
上記実施の形態２１から２３では、初期割当時に、割り当てられた「次処理領域」の各行に対して、まず、推定散乱点数の計算を全て行い、その後に、超解像処理を行っていた。この実施の形態３４では、初期割当時に関しては、割り当てられた各行に関して、「推定散乱点数の計算→超解像処理」を連続して実行することとする。これにより、キャッシュ情報を効率良く利用し、実行時間が小さくなることが期待できる。
【０２０２】
以上のように、この実施の形態２５によれば、画像情報参照型処理負荷計算手段６６において、初期割当時に、画像情報の計算と、画像処理実行手段への処理の指示とを連続して実行することにより、キャッシュ情報を効率良く利用し、実行時間を小さくすることができる並列画像処理装置を得られる効果がある。
【０２０３】
【発明の効果】
以上のように、この発明によれば、プロセッサ間で共通の部分として実現される手段には、使用プロセッサ数および画像処理領域サイズに応じて処理領域の割当方法を設定する領域分割法設定手段と、単位領域での最大処理負荷量および算出される処理領域に応じて処理制限量を設定する処理制限量計算手段と、領域分割法設定手段によって設定された割当方法に基づいて処理領域を算出し、その処理領域およびその処理領域に応じて処理制限量計算手段によって設定された処理制限量を各プロセッサに割り当てると共に、プロセッサから再割当を要求された場合に、その再割当を要求された領域を未処理領域として再度割り当てを行う画像領域割当手段とを備え、各プロセッサに分割して実現される手段には、各プロセッサにおいて、画像領域割当手段によって割り当てられた処理領域に対して対象画像領域での処理負荷を計算し、その計算された処理負荷が設定された処理制限量を超えない場合には、割り当てられた処理領域を対応する画像処理実行手段に処理を指示し、その計算された処理負荷が設定された処理制限量を超えた場合には、割り当てられた処理領域のうちの処理制限量を超えた領域の再割当を画像領域割当手段に要求し、再割当要求後に割り当てられた処理領域のうちの処理制限量を超えない領域を対応する画像処理実行手段に処理を指示する処理負荷計算手段を備えるように構成したので、単位領域での最大処理負荷量に応じた処理制限量を基準に各プロセッサに割り当てた処理負荷を監視し、あるプロセッサでの処理が処理制限量を超えた場合には、処理制限量を超えたプロセッサに割り当てた処理領域を再度割り当てることで、入力画像によって処理負荷が変化する画像処理用のアルゴリズムを効率良く実行できる効果がある。
【０２０４】
この発明によれば、領域分割法設定手段を、単位領域当たりの最大処理量設定手段に設定された単位領域での最大処理負荷量に応じて処理領域の割当方法を設定する負荷計算型領域分割法設定手段とするように構成したので、単位領域での最大処理負荷量に応じて、適切な大きさの処理領域を各プロセッサへ割り当てることができる効果がある。
【０２０５】
この発明によれば、領域分割法設定手段を、画像処理アルゴリズムでの単位領域に対する最大負荷に対する実行時間と最小負荷に対する実行時間とを実測する処理負荷実測手段を備え、領域分割法設定手段を、処理負荷実測手段によって実測された実測時間に応じて処理領域の割当方法を設定する実測対応型領域分割法設定手段とし、処理制限量計算手段を、処理負荷実測手段によって実測された実測時間に応じて処理制限量を設定する実測対応型処理制限量計算手段とするように構成したので、実測した単位領域での最大と最小の実行時間を基準に、適切な大きさの処理領域および処理制限量を各プロセッサへ割り当てることができる効果がある。
【０２０６】
この発明によれば、任意のサイズの画像領域をブロックとして設定する処理ブロック設定手段を備え、処理負荷計算手段を、処理ブロック設定手段によって設定されたブロックを優先処理する処理ブロック対応型処理負荷計算手段とし、画像処理実行手段を、処理ブロック対応型処理負荷計算手段によって指示された画像領域の画像処理を実行する処理ブロック対応型画像処理実行手段とするように構成したので、任意のサイズのブロック内の画像領域を優先処理することにより、実行効率を良くすることができる効果がある。
【０２０７】
この発明によれば、対象計算機でのキャッシュ情報を設定するキャッシュ情報設定手段と、処理画像情報設定手段によって設定された画像処理領域サイズおよびキャッシュ情報設定手段によって設定されたキャッシュ情報に応じて処理ブロック設定手段によって設定されるブロックのサイズを設定する処理ブロック計算手段とを備えるように構成したので、画像処理領域サイズおよびキャッシュ情報に応じたブロックのサイズを設定することができる効果がある。
【０２０８】
この発明によれば、画像領域割当手段によって算出された処理領域、および処理ブロック対応型処理負荷計算手段に指定されたブロックのサイズに応じて処理ブロック設定手段によって設定されるブロックのサイズを動的に変化させて設定する動的処理ブロック計算手段を備えるように構成したので、ブロックのサイズをより適切に設定することができる効果がある。
【０２０９】
この発明によれば、領域分割法設定手段を、処理ブロック設定手段によって設定されたブロックのサイズに応じて処理領域の割当方法を設定する処理ブロック対応型領域分割法設定手段とするように構成したので、ブロックで指定された範囲の計算をより適切に実行することができる効果がある。
【０２１０】
この発明によれば、処理制限量計算手段を、処理ブロック設定手段によって設定されたブロックのサイズに応じて処理制限量を設定する処理ブロック対応型処理制限量計算手段とするように構成したので、ブロックで指定された範囲の計算をより適切に実行することができる効果がある。
【０２１１】
この発明によれば、領域分割設定手段を、単位領域の分割を考慮した処理領域の割当方法を設定する単位領域分割対応型領域分割設定手段とし、処理制限量計算手段を、単位領域を分割した場合の処理制限量を設定する単位領域分割対応型処理制限量計算手段とし、画像領域割当手段を、単位領域を分割して処理領域の割当および再割当を行う単位領域分割対応型画像領域割当手段とし、処理負荷計算手段を、単位領域の分割に対応して処理負荷の計算と再割当の有無を判定する単位領域分割対応型処理負荷計算手段とし、画像処理実行手段を、単位領域の分割に対応して指定された画像領域の画像処理を実行する単位領域分割対応型画像処理実行手段とするように構成したので、あるプロセッサでの処理負荷が増大した時に、単位領域をも分割して他のプロセッサへ処理を再割当することができ、入力画像によって処理負荷が変化する画像処理用のアルゴリズムで、ある単位領域での処理負荷が著しく増加するケースでも、並列実行するプロセッサに効率良く負荷を分散することができる効果がある。
【０２１２】
この発明によれば、単位領域分割対応型領域分割設定手段の情報を参照して、単位領域の分割の可否を判定し、単位領域分割対応型処理負荷計算手段に伝達する単位領域分割可否条件設定手段を備えるように構成したので、現在の実行状況に適した負荷分散を選択することができ、実行効率を良くすることができる効果がある。
【０２１３】
この発明によれば、単位領域を分割して再割当する際に、最初にその単位領域で処理負荷を計算した単位領域分割対応型処理負荷計算手段のその計算結果を保持し、分割された単位領域を再割り当てされた別のプロセッサの単位領域分割対応型処理負荷計算手段がその計算結果を参照可能にする事前計算結果保持手段を備えるように構成したので、処理負荷の計算時間を節約することができ、実行効率を良くすることができる効果がある。
【０２１４】
この発明によれば、対象計算機でのキャッシュ情報を設定するキャッシュ情報設定手段と、キャッシュ情報設定手段に設定されたキャッシュ情報および処理画像情報設定手段に設定された画像処理領域サイズに応じて単位領域を分割した場合のコストを算出すると共に、その算出されたコストから処理制限量を算出して単位領域分割対応型処理負荷計算手段に伝達する単位領域分割コスト計算手段とを備えるように構成したので、効率の良い範囲で、分割された後の領域での計算を実行することができ、実行効率を良くすることができる効果がある。
【０２１５】
この発明によれば、画像処理アルゴリズムでの単位領域毎に、予測負荷を設定する負荷予測設定手段を備え、領域分割法手段を、負荷予測設定手段によって設定された予測負荷に応じて処理領域の割当方法を設定する負荷予測型領域分割法手段とするように構成したので、処理負荷をより均等に分散することができ、実行効率を良くすることができる効果がある。
【０２１６】
この発明によれば、画像を撮影した地域情報から、画像処理アルゴリズムでの単位領域毎の予測負荷を計算し、負荷予測設定手段に伝達する撮影地域負荷予測計算手段を備えるように構成したので、画像を撮影した地域情報から負荷を予測することにより、負荷の予測精度を高めることができる効果がある。
【０２１７】
この発明によれば、算出した予測値と入力条件を記録する予測値記録手段と、予測値に対して実際の実行で算出された処理負荷を記録する処理結果記録手段 と、予測値記録手段によって記録された予測値と処理結果記録手段によって記録された処理負荷から予測負荷の計算方法を補正する予測パラメータ補正手段とを備えるように構成したので、過去の予測値と実際の処理負荷から予測負荷の計算方法を補正して改善することで、負荷の予測精度を高めることができる効果がある。
【０２１８】
この発明によれば、過去の予測計算実行時の画像を撮像した条件を記録すると共に、新たな予測計算を行う対象の画像への撮像条件から、最適の予測計算の補正を選択する撮影条件負荷予測補正手段を備えるように構成したので、過去の撮影時の条件から新たに予測を行う際に、その処理負荷の予測計算方法を補正することができ、負荷の予測精度を高めることができる効果がある。
【０２１９】
この発明によれば、新たな予測値算出を指示された時に、予測値記録手段に記録された予測値算出の入力条件の中で類似の条件を検索して選択すると共に、処理結果記録手段に記録された計算結果を参照して、選択した予測計算に対する補正を行う最適予測条件計算手段を備えるように構成したので、予測計算に対する補正を行うことができ、負荷の予測精度を高めることができる効果がある。
【０２２０】
この発明によれば、事前計算による処理を行うか否かの条件を設定する事前計算選択設定手段と、事前計算選択設定手段によって設定された条件から事前計算による処理の有無を判定する事前計算判定手段と、事前計算判定手段によって事前計算による処理を指示された時に、画像領域全体を対象に単位領域毎の処理負荷量を求める計算を事前に実行する事前処理負荷量計算手段と、事前処理負荷量計算手段によって事前に計算された単位領域毎の処理負荷量を基準に、各プロセッサの処理負荷が均等になるように領域の割当を行う事前処理対応型画像領域割当手段とを備えるように構成したので、事前計算による処理方法の可否を選択して実行することができる効果がある。
【０２２１】
この発明によれば、領域分割設定手段を、画像情報を考慮した処理領域の割当方法を設定する画像情報参照型領域分割設定手段とし、画像領域割当手段を、プロセッサから再割当を要求された場合に、画像情報を参照して処理領域の再割当を行う画像情報参照型画像領域割当手段とし、処理負荷計算手段を、割り当てられた処理領域に対して処理単位毎の画像情報を計算する画像情報参照型処理負荷計算手段とするように構成したので、入力画像から得られる画像情報に基づいて再割当を行う際の処理領域を決定することにより、並列実行するプロセッサに効率良く負荷を分散することができる効果がある。
【０２２２】
この発明によれば、画像情報参照型画像領域割当手段において、画像情報を参照して処理領域の再割当を行う際に、単位領域数を優先して再割当を行う処理領域を決定するように構成したので、効率良く残処理領域の負荷を割り当てることができる効果がある。
【０２２３】
この発明によれば、画像情報参照型画像領域割当手段において、画像情報を参照して処理領域の再割当を行う際に、画像情報の大きさを優先して再割当を行う処理領域を決定するように構成したので、効率良く残処理領域の負荷を割り当てることができる効果がある。
【０２２４】
この発明によれば、画像情報参照型画像領域割当手段において、画像情報を参照して処理領域の再割当を行う際に、単純に画像情報から再割当を行う処理領域を採用するのではなく、得られた画像情報に基づいて、実行する画像処理の処理負荷を算出し、その処理負荷に基づいて再割当を行う処理領域を決定するように構成したので、効率良く残処理領域の負荷を割り当てることができる効果がある。
【０２２５】
この発明によれば、画像情報参照型処理負荷計算手段において、初期割当時に、画像情報の計算と、画像処理実行手段への処理の指示とを連続して実行するように構成したので、キャッシュ情報を効率良く利用し、実行時間を小さくすることができる効果がある。
【０２２６】
この発明によれば、プロセッサ間で共通の部分として実現される手段では、割当処理領域を動的に決定すると共に、その割当処理領域に対する処理制限量を、単位領域での最大処理負荷量から算出し、各プロセッサへ割当処理領域と処理制限量の組として割り当てると共に、各プロセッサから処理制限量を超えた領域を受け取り、その領域を全体の未処理領域に組み込んで、再度処理領域として各プロセッサに割り当て、各プロセッサに分割して実現される手段では、各プロセッサにおいて、割当処理領域に対して対象画像領域での処理負荷を計算し、その計算された処理負荷が設定された処理制限量を超えない場合には、割当処理領域の処理実行を指示し、その計算された処理負荷が設定された処理制限量を超えた場合には、割当処理領域のうちの処理制限量を超えた領域の再割当を要求し、再割当要求後に割り当てられた処理領域のうちの処理制限量を超えない領域の処理実行を指示するように構成したので、単位領域での最大処理負荷量に応じた処理制限量を基準に各プロセッサに割り当てた処理負荷を監視し、あるプロセッサでの処理が処理制限量を超えた場合には、処理制限量を超えたプロセッサに割り当てた処理領域を再度割り当てることで、入力画像によって処理負荷が変化する画像処理用のアルゴリズムを効率良く実行できる効果がある。
【０２２７】
この発明によれば、画像処理アルゴリズムでの単位領域での最大処理負荷量から、割当処理領域の割当方法を決定するように構成したので、単位領域での最大処理負荷量を基準に各プロセッサに割り当てる処理領域の大きさを算出する方法を決定することができ、これにより、単位領域での最大処理負荷量に応じて、適切な大きさの処理領域を各プロセッサへ割り当てることができる効果がある。
【０２２８】
この発明によれば、画像処理アルゴリズムの単位領域での最大負荷に対する実行時間と最小負荷に対する実行時間とを実測し、その実測時間から割当処理領域の割当方法と処理制限量の算出方法を決定するように構成したので、実測した単位領域での最大と最小の実行時間を基準に、適切な大きさの割当処理領域および処理制限量を各プロセッサへ割り当てることができる効果がある。
【０２２９】
この発明によれば、任意のサイズの画像領域をブロックとして指定し、そのブロック内では指定された処理を優先して行うように構成したので、任意のサイズのブロック内の画像領域を優先処理することにより、実行効率を良くすることができる効果がある。
【０２３０】
この発明によれば、あるプロセッサで処理負荷が著しく増加し、画像処理アルゴリズムでの単位領域を基準とした再割当では十分対応できないときに、単位領域を分割して再割当を行うと共に、各プロセッサにおいても、単位領域の分割を考慮して、指定された処理制限量の判定と、分割された単位領域で処理の実行を行うように構成したので、あるプロセッサでの処理負荷が増大した時に、単位領域をも分割して他のプロセッサへ処理を再割当することができ、入力画像によって処理負荷が変化する画像処理用のアルゴリズムで、ある単位領域での処理負荷が著しく増加するケースでも、並列実行するプロセッサに効率良く負荷を分散することができる効果がある。
【０２３１】
この発明によれば、待機中のプロセッサ数や残りの処理領域の量を基準に、単位領域の分割の可否を判定するように構成したので、現在の実行状況に適した負荷分散を選択することができ、実行効率を良くすることができる効果がある。
【０２３２】
この発明によれば、単位領域を分割して再割当を要求する時に、その単位領域を最初に処理するプロセッサが、処理負荷を求めるために実施する前半部分の計算結果を記録しておき、分割された単位領域での残りの処理を、後から指示されたプロセッサでは、その記録された前半部分の計算結果を利用して、後半部分の処理を行うように構成したので、前半部分の計算時間を節約することができ、実行効率を良くすることができる効果がある。
【０２３３】
この発明によれば、単位領域を分割する際に、キャッシュと画像領域のサイズから、キャッシュアクセスが有利となる分割位置を求めるように構成したので、効率の良い範囲で、分割された後の領域での計算を実行することができ、実行効率を良くすることができる効果がある。
【０２３４】
この発明によれば、画像処理アルゴリズムでの単位領域毎に予測負荷を設定し、その予測負荷を基準に画像領域の割当方法を決定するように構成したので、処理負荷をより均等に分散することができ、実行効率を良くすることができる効果がある。
【０２３５】
この発明によれば、算出した予測値とそれに対する入力条件を記録すると共に、予測値に対して実際の実行で算出された処理負荷を記録し、これら記録した値を基準に予測負荷の算出方法を補正するように構成したので、過去の予測値と実際の処理負荷から予測負荷の算出方法を補正して改善することで、負荷の予測精度を高めることができる効果がある。
【０２３６】
この発明によれば、過去の予測計算実行時の画像の撮像した条件や、予測値の算出基準となった入力条件から、新たに予測値を算出する際の方法を選択すると共に、適切な補正を行うように構成したので、過去の撮影時の条件から新たに予測を行う際に、その処理負荷の予測計算方法を補正することができ、負荷の予測精度を高めることができる効果がある。
【０２３７】
この発明によれば、事前に単位領域毎の処理負荷を求めるか否かを判定して実行すると共に、事前に単位領域毎の処理負荷を求める場合には、求めた負荷を基準に画像領域の割当方法を決定するように構成したので、事前計算による処理方法の可否を選択して実行することができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による並列画像処理装置を示す構成図である。
【図２】  画像領域割当手段の処理を示すフローチャートである。
【図３】  処理負荷計算手段の処理を示すフローチャートである。
【図４】  並列実行時の並列画像処理装置の実装イメージを示す構成図である。
【図５】  ＭＵＳＩＣを用いたＳＡＲ画像の超解像処理を実行するプログラムの動作の概要を示す説明図である。
【図６】  実行管理テーブルの操作の概念を示す説明図である。
【図７】  Ｇｕｉｄｅｄ−Ｓｅｌｆスケジューリングでの処理領域の割当例を示す説明図である。
【図８】  処理負荷計算手段に割り当てられた「次処理領域」に対する「超解像実行領域」と「未処理領域」の例を示す説明図である。
【図９】  処理対象であるＭＵＳＩＣを用いたＳＡＲ画像の超解像処理での、あるサンプル画像に対する推定散乱点数と処理負荷（処理時間）を示す説明図である。
【図１０】  ４プロセッサ構成で処理する時の実装イメージを示す説明図である。
【図１１】  この発明の実施の形態２による並列画像処理装置を示す構成図である。
【図１２】  この発明の実施の形態３による並列画像処理装置を示す構成図である。
【図１３】  この発明の実施の形態４による並列画像処理装置を示す構成図である。
【図１４】  この発明の実施の形態５による並列画像処理装置を示す構成図である。
【図１５】  この発明の実施の形態６による並列画像処理装置を示す構成図である。
【図１６】  この発明の実施の形態７による並列画像処理装置を示す構成図である。
【図１７】  この発明の実施の形態８による並列画像処理装置を示す構成図である。
【図１８】  この発明の実施の形態９による並列画像処理装置を示す構成図である。
【図１９】  この発明の実施の形態１０による並列画像処理装置を示す構成図である。
【図２０】  単位領域分割対応型画像領域割当手段の処理を示すフローチャートである。
【図２１】  単位領域分割対応型処理負荷計算手段の処理を示すフローチャートである。
【図２２】  行単位の処理の分割のイメージを示す説明図である。
【図２３】  この発明の実施の形態１１による並列画像処理装置を示す構成図である。
【図２４】  この発明の実施の形態１２による並列画像処理装置を示す構成図である。
【図２５】  この発明の実施の形態１３による並列画像処理装置を示す構成図である。
【図２６】  この発明の実施の形態１４による並列画像処理装置を示す構成図である。
【図２７】  この発明の実施の形態１５による並列画像処理装置を示す構成図である。
【図２８】  この発明の実施の形態１６による並列画像処理装置を示す構成図である。
【図２９】  この発明の実施の形態１７による並列画像処理装置を示す構成図である。
【図３０】  この発明の実施の形態１８による並列画像処理装置を示す構成図である。
【図３１】  この発明の実施の形態１９による並列画像処理装置を示す構成図である。
【図３２】  この発明の実施の形態２０による並列画像処理装置を示す構成図である。
【図３３】  この発明の実施の形態２１による並列画像処理装置を示す構成図である。
【図３４】  画像情報参照型画像領域割当手段の処理を示すフローチャートである。
【図３５】  画像情報参照型処理負荷計算手段の処理を示すフローチャートである。
【図３６】  並列実行時の並列画像処理装置の実装イメージを示す構成図である。
【図３７】  実行管理テーブルの操作の概念を示す説明図である。
【図３８】  画像情報参照型処理負荷計算手段に割り当てられた「次処理領域」に対する「超解像実行領域」と「超解像未処理領域」の例を示す説明図である。
【図３９】  ４プロセッサ構成で処理する時の実装イメージを示す説明図である。
【図４０】  画像情報参照型領域分割法設定手段が再割当を行う際の割当方法の概念を示す説明図である。
【符号の説明】
１  並列画像処理装置、２  画像領域割当手段、３  単位領域当たりの最大処理量設定手段、４  使用プロセッサ数設定手段、５  処理画像情報設定手段、６  領域分割法設定手段、７  処理制限量計算手段、８  処理負荷計算手段、９  画像処理実行手段、１０  プラットホーム、１１  画像処理プログラム、１２  処理負荷を決定する処理部分、１３  動的に負荷が変化する処理部分、１４  負荷計算型領域分割法設定手段、１５  処理負荷実測手段、１６  実測対応型領域分割法設定手段、１７  実測対応型処理制限量計算手段、１８  処理ブロック設定手段、１９  処理ブロック対応型処理負荷計算手段、２０  処理ブロック対応型画像処理実行手段、２１  キャッシュ情報設定手段、２２  処理ブロック計算手段、２３  動的処理ブロック計算手段、２４  処理ブロック対応型領域分割法設定手段、２５  処理ブロック対応型処理制限量計算手段、２６  単位領域分割対応型画像領域割当手段、２７  単位領域分割対応型領域分割設定手段、２８  単位領域分割対応型処理制限量計算手段、２９  単位領域分割対応型処理負荷計算手段、３０  単位領域分割対応型画像処理実行手段、３１  単位領域分割可否条件設定手段、３２  事前計算結果保持手段、３３  単位領域分割コスト計算手段、３４  負荷予測設定手段、３５  負荷予測型領域分割法手段、５４  撮影地域負荷予測計算手段、５５  予測計算重み付け設定手段、５６  予測値記録手段、５７  処理結果記録手段、５８  予測パラメータ補正手段、５９  撮影条件負荷予測補正手段、６０  最適予測条件計算手段、６１  事前計算選択設定手段、６２  事前計算判定手段、６３  事前処理負荷量計算手段、６４  事前処理対応型画像領域割当手段、６５  画像情報参照型画像領域割当手段、６６  画像情報参照型処理負荷計算手段、６７  画像情報参照型領域分割法設定手段。
【図１】
0004202033.tif 000002
【図２】
0004202033.tif 000003
【図３】
0004202033.tif 000004
【図４】
0004202033.tif 000005
【図５】
0004202033.tif 000006
【図６】
0004202033.tif 000007
【図７】
0004202033.tif 000008
【図８】
0004202033.tif 000009
【図９】
0004202033.tif 000010
【図１０】
0004202033.tif 000011
【図１１】
0004202033.tif 000012
【図１２】
0004202033.tif 000013
【図１３】
0004202033.tif 000014
【図１４】
0004202033.tif 000015
【図１５】
0004202033.tif 000016
【図１６】
0004202033.tif 000017
【図１７】
0004202033.tif 000018
【図１８】
0004202033.tif 000019
【図１９】
0004202033.tif 000020
【図２０】
0004202033.tif 000021
【図２１】
0004202033.tif 000022
【図２２】
0004202033.tif 000023
【図２３】
0004202033.tif 000024
【図２４】
0004202033.tif 000025
【図２５】
0004202033.tif 000026
【図２６】
0004202033.tif 000027
【図２７】
0004202033.tif 000028
【図２８】
0004202033.tif 000029
【図２９】
0004202033.tif 000030
【図３０】
0004202033.tif 000031
【図３１】
0004202033.tif 000032
【図３２】
0004202033.tif 000033
【図３３】
0004202033.tif 000034
【図３４】
0004202033.tif 000035
【図３５】
0004202033.tif 000036
【図３６】
0004202033.tif 000037
【図３７】
0004202033.tif 000038
【図３８】
0004202033.tif 000039
【図３９】
0004202033.tif 000040
【図４０】
0004202033.tif 000041