(57)【要約】      （修正有）【課題】複数の処理ユニットによる並列処理において、トランザクション管理を実行しなくても済むようにする。【解決手段】複数の画像処理ユニット１０〜１２が、直列にバス接続されてなる。各画像処理ユニット１０〜１２は、制限時間が設定される制限情報設定部３２を有している。各画像処理ユニット１０〜１２は、ＣＥＬＬ２４によって複数の画像処理ユニット１０〜１２間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理としての画像処理を実行する。各画像処理ユニット１０〜１２は、制限時間に従って、各演算処理単位ごとのデータに対する画像処理を実行する。各画像処理ユニット１０〜１２は、画像処理された処理データをメモリ２５に格納する。各画像処理ユニット１０〜１２は、複数の画像処理ユニット１０〜１２間の入力端子及び出力端子が連結されることにより、相互にバス接続されるようにする。【選択図】図６
2011002952.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ユニットが、
直列にバス接続されてなり、
上記各処理ユニットは、
各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、
上記複数の処理ユニット間において同一のプログラムに従って上記演算処理単位ごとのデータに対する演算処理を実行すると共に、上記制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、
上記演算部によって演算処理された処理データを格納するメモリと、
上記複数の処理ユニット間をバス接続する接続部と
を有する演算処理装置。
【請求項２】
上記演算部は、
上記接続部に対する他の処理ユニットの接続の有無により、上記演算処理装置の端部を構成するか否かを認識し、
上記演算処理装置の後端以外であると認識した場合、
上記制限情報設定部によって設定された制限情報に従って上記演算処理を実行した後、当該演算処理された上記処理データを後段の処理ユニットにおける上記メモリに記憶させる
請求項１に記載の演算処理装置。
【請求項３】
上記演算部は、
上記プログラムに従った上記演算処理の進行度合いを表す進行情報を上記後段の処理ユニットにおける上記メモリに記憶させる
請求項２に記載の演算処理装置。
【請求項４】
上記演算部は、
複数の演算器と、
上記複数の演算器に対して複数のタスクを割り当てる制御部と
を有する請求項１に記載の演算処理装置。
【請求項５】
上記複数の演算器は、
上記メモリに記憶された進行情報に基づいて処理を実行する
請求項４に記載の演算処理装置。
【請求項６】
上記演算部は、
上記演算処理装置の終端以外であると認識した場合、
上記制限情報が表す上記処理すべき演算処理の量を演算処理していないにも拘らず、上記演算処理単位ごとのデータに対する演算処理を終了すると、警告を発する
請求項２に記載の演算処理装置。
【請求項７】
上記演算部は、
上記演算処理装置の終端であると認識した場合、
上記制限情報が表す演算処理の量を演算処理したにも拘らず、上記演算処理単位ごとのデータに対する演算処理を終了しないと、警告を発する
請求項６に記載の演算処理装置。
【請求項８】
上記演算部は、
上記制限情報が表す演算処理の量の範囲内で上記演算処理単位ごとのデータに対する演算処理を終了すると、残りの上記演算処理の量が多い場合には、警告を発する
請求項７に記載の演算処理装置。
【請求項９】
上記演算部は、
上記接続部に対する他の処理ユニットの接続の有無により、上記演算処理装置の端部を構成するか否かを認識し、
上記演算処理装置の始端であると認識した場合、
上記演算処理を開始する際、上記演算処理単位ごとのデータを上記演算処理するのに要する処理時間を計測し、当該計測された処理時間に基づいて上記制限情報を算出し、
接続されている他の処理ユニットに対して上記制限情報を供給する
請求項１に記載の演算処理装置。
【請求項１０】
上記演算部は、
上記接続されている他の処理ユニットの数をカウントする
請求項８に記載の演算処理装置。
【請求項１１】
各演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、
プログラムに従って上記演算処理単位ごとのデータに対する演算処理を実行すると共に、上記制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、
上記演算部によって演算処理された処理データを格納するメモリと、
上記演算部と同一のプログラムに従って演算処理を実行する他の処理ユニットと直列にバス接続する接続部と
を有する処理ユニット。
【請求項１２】
直列にバス接続された複数の処理ユニット、及びサーバを有し、
上記複数の処理ユニットは、
各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、
上記複数の処理ユニット間において同一のプログラムに従って上記演算処理単位ごとのデータに対する演算処理を実行すると共に、上記制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、
上記演算部によって演算処理された処理データを格納するメモリと、
上記複数の処理ユニット間を接続する接続部と
を有し、
上記サーバは、
上記複数の処理ユニットにおける始端の処理ユニットに対して上記演算処理単位ごとのデータを供給し、
上記複数の処理ユニットにおける終端の処理ユニットから、上記演算部によって演算処理された上記処理データを受け取る
演算処理システム。
【請求項１３】
直列にバス接続された第１の処理ユニット及び第２の処理ユニットが実行し、
上記第１の処理ユニットによって、
演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される第１の制限情報設定ステップと、
プログラム及び上記第１の制限情報設定ステップにおいて設定された上記制限情報に従って、処理すべき演算処理の量だけ各演算処理単位ごとのデータに対する演算処理を実行し、当該演算処理の終了部分を表す進行情報を生成する第１の演算ステップと、
上記演算部によって演算処理された処理データを格納する第１の格納ステップと、
が実行され、
上記第２の処理ユニットによって、
上記第１の制限情報設定部と同一の上記制限情報が設定される第２の制限情報設定ステップと、
上記第１の演算ステップによって演算処理された上記処理データに対し、上記第１の演算部と同一のプログラム及び上記第２の制限情報設定ステップにおいて設定された上記制限情報に従って、上記第１の演算ステップによって生成された進行情報が表す上記終了部分以外について、各演算処理単位ごとのデータにおける演算処理を実行する第２の演算ステップと、
上記第２の演算ステップにおいて演算処理された処理データを格納する第２の格納ステップと
を有する演算処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は演算処理装置、処理ユニット、演算処理システム及び演算処理方法に関し、例えば動画像を符号化する画像処理装置に適用して好適なものである。
【背景技術】
【０００２】
従来、例えば動画などの画像処理や流体力学のシミュレーションなど、処理負荷の高い演算処理を短時間で達成するため、複数の処理ユニットを接続し、並列処理を実行させるようになされた演算処理システムが提案されている（例えば、特許文献１参照）。
【０００３】
この演算処理システムでは、一般的に、分散サーバＳＶが演算処理システム全体を統括制御することにより、並列処理が実行される。例えば図１に示すように、演算処理システムは、分散サーバＳＶを介して各処理ユニットＮＯＤＥ１〜３が接続されている。
【０００４】
そして演算処理システムでは、分散サーバＳＶが１つのプログラムＰＧが有する複数（図１では３つ）のタスクＴａｓｋ１〜３を、３つの処理ユニットＮＯＤＥ１〜３にそれぞれ割り振る。分散サーバは、処理ユニットＮＯＤＥ１〜３に対し、データＤＡＴＡ１〜３をそれぞれ供給する。
【０００５】
処理ユニットＮＯＤＥ１〜３は、データＤＡＴＡ１〜３に対し、割り当てられたタスクＴａｓｋ１〜３をそれぞれ実行し、生成した処理済データＤＡＴＡ１´〜３´を分散サーバＳＶに供給する。
【０００６】
分散サーバＳＶは、各処理ユニットＮＯＤＥ１〜３におけるＴａｓｋ１〜３の処理順序及び進行度合いなどに応じて、各処理ユニットＮＯＤＥ１〜３に対しデータＤＡＴＡ１〜３をそれぞれ供給するようになされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−５３７０公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところでかかる構成の演算処理システムでは、分散サーバＳＶが各処理ユニットＮＯＤＥ１〜３における処理の進行度合いやデータＤＡＴＡの供給などのトランザクション管理を実行している。このトランザクション管理は煩雑であることから、分散サーバＳＶの処理負荷が大きくなってしまい、構成が複雑になるという問題があった。
【０００９】
本発明は以上の点を考慮してなされたもので、構成を簡易にし得る演算処理装置、処理ユニット、演算処理システム及び演算処理方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明の演算処理装置においては、複数の処理ユニットが、直列にバス接続されてなり、各処理ユニットは、各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、複数の処理ユニット間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理を実行すると共に、制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、演算部によって演算処理された処理データを格納するメモリと、複数の処理ユニット間をバス接続する接続部とを設けるようにした。
【００１１】
これにより、演算処理装置は、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
【００１２】
また、本発明の処理ユニットは、各演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、プログラムに従って演算処理単位ごとのデータに対する演算処理を実行すると共に、制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、演算部によって演算処理された処理データを格納するメモリと、演算部と同一のプログラムに従って演算処理を実行する他の処理ユニットと直列にバス接続する接続部とを設けるようにした。
【００１３】
これにより、処理ユニットは、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
【００１４】
さらに、本発明の演算処理システムは、直列にバス接続された複数の処理ユニット、及びサーバを有し、複数の処理ユニットは、各複数の処理ユニットが演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される制限情報設定部と、複数の処理ユニット間において同一のプログラムに従って演算処理単位ごとのデータに対する演算処理を実行すると共に、制限情報設定部において設定された制限情報に従って、各演算処理単位ごとのデータに対する演算処理を実行する演算部と、演算部によって演算処理された処理データを格納するメモリと、複数の処理ユニット間を接続する接続部とを設け、サーバは、複数の処理ユニットにおける始端の処理ユニットに対して演算処理単位ごとのデータを供給し、複数の処理ユニットにおける終端の処理ユニットから、演算部によって演算処理された処理データを受け取るようにした。
【００１５】
これにより、演算処理システムは、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
【００１６】
さらに、本発明の演算処理方法は、直列にバス接続された第１の処理ユニット及び第２の処理ユニットが実行し、第１の処理ユニットによって、演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報が設定される第１の制限情報設定ステップと、プログラム及び第１の制限情報設定ステップにおいて設定された制限情報に従って、処理すべき演算処理の量だけ各演算処理単位ごとのデータに対する演算処理を実行し、当該演算処理の終了部分を表す進行情報を生成する第１の演算ステップと、演算部によって演算処理された処理データを格納する第１の格納ステップと、が実行され、第２の処理ユニットによって、第１の制限情報設定部と同一の制限情報が設定される第２の制限情報設定ステップと、第１の演算ステップによって演算処理された処理データに対し、第１の演算部と同一のプログラム及び第２の制限情報設定ステップにおいて設定された制限情報に従って、第１の演算ステップによって生成された進行情報が表す終了部分以外について、各演算処理単位ごとのデータにおける演算処理を実行する第２の演算ステップと、第２の演算ステップにおいて演算処理された処理データを格納する第２の格納ステップとを設けるようにした。
【００１７】
これにより、演算処理方法は、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、第１及び第２の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。
【発明の効果】
【００１８】
本発明によれば、制限情報に従って演算処理を実行するだけで、演算処理単位ごとのデータに対し、複数の処理ユニットによって分担して演算処理を実行することができ、トランザクション管理を実行しなくても済む。かくして本発明は、構成を簡易にし得る演算処理装置、処理ユニット、演算処理システム及び演算処理方法を実現できる。
【図面の簡単な説明】
【００１９】
【図１】従来の並列処理（１）の説明に供する略線図である。
【図２】従来の並列処理（２）の説明に供する略線図である。
【図３】画像処理システムの構成を示す略線図である。
【図４】画像処理装置の構成を示す略線図である。
【図５】画像処理ユニット間のバス接続の構成を示す略線図である。
【図６】画像処理ユニットの構成を示す略線図である。
【図７】処理プログラムのインストールの説明に供する略線図である。
【図８】時分割処理の説明に供する略線図である。
【図９】同一プログラム並行処理手順を示すフローチャートである。
【図１０】従来の並列処理における処理時間を示す略線図である。
【図１１】接続台数の確認の説明に供する略線図である。
【図１２】制限時間の算出の説明に供する略線図である。
【図１３】制限時間の設定の説明に供する略線図である。
【図１４】自動開始処理手順の説明に供するフローチャートである。
【図１５】接続台数確認手順の説明に供するフローチャートである。
【図１６】制限情報設定処理手順の説明に供するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面について、本発明の一実施の形態を詳述する。なお、説明は以下の順序で行う。
１．第１の実施の形態（同一プログラムを用いた並行処理）
２．第２の実施の形態（自動開始処理）
３．他の実施の形態
【００２１】
＜１．第１の実施の形態＞
［１−１．画像処理システムの構成］
図３において１は、全体として画像処理システムを示している。この画像処理システム１は、サーバ２と画像処理装置３とを有しており、サーバ２及び画像処理装置３は、入力ケーブル４及び出力ケーブル５によって接続されている。
【００２２】
この画像処理システム１は、例えば動画像データを符号化する符号化などの画像処理に使用されることが想定されている。サーバ２は、入力ケーブル４を介して画像データＥ１１を画像処理装置３に供給する。画像処理装置３は、当該画像データＥ１に画像処理を施して結果データＲ１を生成し、出力ケーブル５を介して当該結果データＲ１をサーバ２に供給するようになされている。
【００２３】
図４に示すように、画像処理装置３は、３つの画像処理ユニット１０〜１２から構成されている。各画像処理ユニット１０〜１２は、入力端子２１及び出力端子２２を有しており、当該入力端子２１及び出力端子２２が相互に接続可能である。各画像処理ユニット１０〜１２は、隣接する画像処理ユニット間の入力端子２１及び出力端子２２が接続されることにより、相互に接続され、画像処理装置３を構成している。
【００２４】
また、隣接する画像処理ユニットが存在しない画像処理ユニット１０の入力端子２１及び画像処理ユニット１２の出力端子２２には、何も接続されていない。これにより、画像処理ユニット１０及び１２は、自身が画像処理装置３の端部に配置されていることを認識し得るようになされている。画像処理ユニット１０及び１２は、例えばイーサネット（登録商標）などにより入力ケーブル４及び出力ケーブル５と接続されることにより、サーバ２と接続している。
【００２５】
すなわち、画像処理システム１では、連続的に接続された画像処理ユニット１０〜１２の両端部にサーバ２が接続されており、サーバ２、画像処理ユニット１０、１１及び１２がループを形成している。
【００２６】
図５に示すように、画像処理ユニット１０〜１２は、ＣＥＬＬ２４及びメモリ２５を有している。ＣＥＬＬ２４及びメモリ２５は、データの送受を制御するホストコントローラ２６を介してバス２９に接続されている。入力端子２１及び出力端子２２は、バス２９に直接的に接続されている。
【００２７】
従って、画像処理ユニット１０〜１２は、入力端子２１及び出力端子２２を介してバス２９を連結することにより、画像処理ユニット間において高速（例えば２５［Ｇｂｐｓ］）でデータの転送を実行することができる。言い換えると、各画像処理ユニット１０〜１２は、連結されたバス２９を介したホストコントローラ２６の制御により、隣接する画像処理ユニットの内部のメモリ２５を参照することが可能である。
【００２８】
図６に示すように、ＣＥＬＬ２４は、ＰＰＥ（Power Processor Element）構成でなるプログラム制御部３１と、８つのＳＰＥ（Synergistic Processor Element）４１〜４８と、制限情報設定部３２とを有している。
【００２９】
メモリ２５には、プログラムやデータを格納する領域が割り当てられている。ＰＰＥプログラム格納領域６１は、プログラム制御部３１が実行するＰＰＥプログラムが格納される。プログラム制御部３１は、ＰＰＥプログラム格納領域６１からＰＰＥプログラムを読み出し、ＲＡＭに展開することにより、ＣＥＬＬ２４を統括制御し、各種処理を実行する。
【００３０】
本実施の形態において、画像処理ユニット１０〜１２におけるプログラム制御部３１は、同一プログラムを用いた同一プログラム並行処理（詳しくは後述する）を実行する。このため、画像処理ユニット１０〜１２におけるＰＰＥプログラム格納領域６１には、同一のプログラムが格納される。
【００３１】
ＳＰＥプログラム格納領域６１は、ＳＰＥ４１〜４８が実行するＳＰＥプログラムが格納される。ＳＰＥ４１〜４８は、ＳＰＵ（Synergistic Processing Unit）、レジスタ５２及びローカルストレージ５３を有している。ＳＰＥ４１〜４８は、ＳＰＥプログラム格納領域６１からＳＰＥプログラムを読み出し、ローカルストレージ５３に展開することにより、各種処理を実行する。レジスタ５２は、プログラムの進行度合いをカウントするプログラムカウントレジスタでなる。
【００３２】
本実施の形態において、画像処理ユニット１０〜１２におけるＳＰＥ４１〜４８は、同一プログラムを用いた同一プログラム並行処理（詳しくは後述する）を実行する。このため、画像処理ユニット１０〜１２におけるＳＰＥプログラム格納領域６２には、同一のプログラムが格納される。
【００３３】
入力データ格納領域６３、中間データ格納領域６４及び結果データ格納領域６５は処理前、処理中及び処理後の画像データが格納される。画像処理ユニット１０〜１２は、供給される画像データ又は生成する画像データに応じた格納領域を有することになる。
【００３４】
画像処理ユニット１０は、サーバ２から画像データＥ１が入力される。このため、画像処理ユニット１０は、これらを格納するための入力データ格納領域６３を有している。画像処理ユニット１０は、画像処理が途中まで実行された中間データＭ１を生成する。この中間データＭ１は、画像処理ユニット１１のメモリ２５に書込まれる。
【００３５】
画像処理ユニット１１は、中間データＭ１を格納するための中間データ格納領域６４を有している。画像処理ユニット１１は、中間データＭ１を読み出して中間データＭ２を生成する。この中間データＭ２は、画像処理ユニット１２のメモリ２５に書込まれる。画像処理ユニット１２は、中間データＭ２を読み出して結果データＲ１を生成する。このため、画像処理ユニット１２は、中間データＭ２を格納するための中間データ格納領域６４及び結果データＲ１を格納するための結果データ格納領域６５を有している。
【００３６】
レジスタ格納領域６６は、前段の画像処理ユニットにおける進行情報を格納する領域である。この進行情報は、プログラムの進行度合いを表しており、前段の画像処理ユニットにおけるレジスタ５２のカウンタデータがコピーされる。
【００３７】
ホストコントローラ２６は、バス２９を介してＣＥＬＬ２４及びメモリ２５間のデータの送受を制御する。さらにホストコントローラ２６は、隣接する画像処理ユニットにおけるホストコントローラ２６にアクセスし、隣接する隣接する画像処理ユニットにおけるメモリ２５対するデータの送受を実行する。
【００３８】
このように、画像処理システム１は、複数の画像処理ユニット１０〜１２が高速なバス２９を介して直列的に接続されることにより画像処理装置３を構成する。画像処理ユニット１０〜１２は、複数のＳＰＥ４１〜４８がプログラム制御部３１を介して並列的に接続されてなるＣＥＬＬ２４を有している。すなわち画像処理装置３は、複数のＳＰＥ４１〜４８を同時に使用して高速な演算処理を実行するだけでなく、さらに複数の画像処理ユニット１０〜１２を用いることにより、演算処理のさらなる高速化を実現している。
【００３９】
ところで、各ＣＥＬＬ２４は、従来の並行処理と同様に、タスクの割り当てによる並行処理を実現している。仮に、画像処理システム１は、同様にして画像処理ユニット１０〜１２にタスクを割り当てると、階層的にタスクを割り当てる必要が生じてしまい、プログラムの設計に多大なる制限を加えることになる。
【００４０】
そこで本発明の画像処理システム１は、各画像処理ユニット１０〜１２を直列に接続し、時分割で流れ作業的に演算処理を実行させる同一プログラム並行処理を実行するようになされている。
【００４１】
［１−２．同一プログラム並行処理］
次に、同一プログラム並行処理について説明する。なお、説明の便宜上、画像処理ユニット１０〜１２における各部を示すときには、符号の後に各画像処理ユニットを表す符号１０〜１２をハイフンと共に末尾に附する。例えば、各画像処理ユニット１０〜１２におけるプログラム制御部３１は、プログラム制御部３１−１０、３１−１１及び３１−１２と表す。各画像処理ユニット１０〜１２において共通の処理については、かかる符号を付加しない。
【００４２】
［１−２−１．設定］
画像処理システム１のサーバ２は、操作部に対するユーザの操作に応じて、画像処理プログラムをインストールする旨の要求がなされると、当該画像処理プログラムをＲＯＭから読み出す。図７に示すように、サーバ２は、インストール要求信号Ｓ２及び画像処理プログラムＰＧを画像処理装置３に供給する。この結果、画像処理装置３の画像処理ユニット１０には、インストール要求信号Ｓ２及び画像処理プログラムＰＧが供給される。
【００４３】
画像処理ユニット１０は、画像処理プログラムＰＧをＰＰＥプログラム格納領域６１−１０及びＳＰＥプログラム格納領域６２−１０に記憶すると共に、インストール要求信号Ｓ２及び画像処理プログラムＰＧを画像処理ユニット１１に供給する。
【００４４】
画像処理ユニット１１は、画像処理プログラムＰＧをＰＰＥプログラム格納領域６１−１１及びＳＰＥプログラム格納領域６２−１１に記憶すると共に、インストール要求信号Ｓ２及び画像処理プログラムＰＧを画像処理ユニット１２に供給する。
【００４５】
画像処理ユニット１２は、画像処理プログラムＰＧをＰＰＥプログラム格納領域６１−１２及びＳＰＥプログラム格納領域６２−１２に記憶する。画像処理ユニット１２のプログラム制御部３１−１２は、画像処理プログラムＰＧの記憶が終了すると、終了信号Ｓ２Ｒを生成し、これをサーバ２に供給する。
【００４６】
この結果、サーバ２は、画像処理装置３の全ての画像処理ユニット１０〜１２に対し、画像処理プログラムＰＧのインストールが終了したことを認識し得るようになされている。
【００４７】
また、サーバ２は、操作部に対するユーザの操作に応じて、制限時間を設定する旨を表す設定要求信号及び制限時間情報（図示せず）を画像処理装置３に対して供給する。
【００４８】
画像処理ユニット１０のプログラム制御部３１−１０は、制限時間情報に基づいて制限情報設定部３２−１０に制限時間（例えば１０［ｍｓｅｃ］）を設定すると共に、設定要求信号及び制限時間情報を画像処理ユニット１１に供給する。
【００４９】
画像処理ユニット１１も同様に、制限時間情報に基づいて制限情報設定部３２−１１に制限時間を設定すると共に、設定要求信号及び制限時間情報を画像処理ユニット１２に供給する。
【００５０】
画像処理ユニット１２のプログラム制御部３１−１２は、制限時間情報に基づいて制限情報設定部３２−１２に制限時間を設定すると共に、制限時間の設定を終了すると、終了信号を生成し、これをサーバ２に供給するようになされている。
【００５１】
このように、画像処理装置３における画像処理ユニット１０〜１２は、同一の画像処理プログラムがインストールされると共に、同一の制限時間が設定されるようになされている。
【００５２】
［１−２−２．画像処理］
図８に示すように、画像処理システム１のサーバ２は、操作部に対するユーザの操作に応じて、画像処理を開始する旨の要求がなされると、画像データＥ１を画像処理ユニット１０に供給する。画像処理ユニット１０は、供給される画像データＥ１を入力データ格納領域６３−１０に記憶する。
【００５３】
画像処理ユニット１０のプログラム制御部３１−１０は、画像処理プログラムＰＧに従って画像処理を開始する。プログラム制御部３１−１０は、制限情報設定部３２−１０をリセットし、所定の演算処理単位（例えばフレーム画像単位、又は数フレーム単位など）ごとの画像データＥ１を読み出してＳＰＥ４１〜４８のローカルストレージ５３に一時記憶する。プログラム制御部３１−１０は、ＳＰＥ４１〜４８を用いて画像処理を実行する。このとき、各ＳＰＥ４１〜４８のレジスタ５２には、割り当てられたタスクに応じて処理が進行中のデータがそれぞれ記憶されている。
【００５４】
例えば、プログラム制御部３１−１０は、ＳＰＥ４１〜４８のうち、７つのＳＰＥに画像処理を担当させる場合に、演算処理単位でなる画像データＥ１を７分割して画像処理を実行する各ＳＰＥのローカルストレージ５３に記憶させる。画像処理を実行する各ＳＰＥは、自身のローカルストレージ５３に記憶された画像データＥ１に対してそれぞれ画像処理を実行する。すなわち、ＣＥＬＬ２４では、複数のＳＰＥによるパイプライン処理が実行される。
【００５５】
プログラム制御部３１−１０は、制限時間が経過すると、画像処理を終了し、レジスタ５２−１０が示す処理の進行状況を表す進行情報を後段の画像処理ユニット１１のレジスタ格納領域６４−１１に書込む。
【００５６】
また、画像処理ユニット１０は、各ＳＰＥ４１〜４８のレジスタ５２−１０に記憶されているデータを読み出し、後段の画像処理ユニット１１のレジスタ格納領域６６−１１に記憶する。データ等をコピーするこれらの処理は、ＳＰＥ４１−１０〜４８−１０のうち、画像処理を実行しないＳＰＥによって実行される。
【００５７】
画像処理ユニット１１のプログラム制御部３１−１１は、自身の中間データ格納領域６４−１１を監視し、中間データＭ１が記憶されていることを認識すると、制限情報設定部３２−１１をリセットし、画像処理を開始する。プログラム制御部３１−１１は、演算処理単位ごとに中間データＭ１を読み出し、レジスタ５２−１１に記憶させる。
【００５８】
プログラム制御部３１−１１は、さらにレジスタ格納領域６４−１１から進行情報を読み出し、画像処理ユニット１０によって画像処理が実行された終端部分から画像処理を実行する。
【００５９】
プログラム制御部３１−１１は、制限時間が経過すると、画像処理を終了し、レジスタ５２−１１が示す処理の進行状況を表す進行情報を後段の画像処理ユニット１２における中間データ格納領域６４−１２に書込む。画像処理ユニット１１は、画像処理を実行するＳＰＥのローカルストレージ５３に記憶されたデータを中間データ格納領域６４−１２に記憶する。この結果、画像処理された中間データＭ１は、中間データＭ２として中間データ格納領域６４−１２に記憶される。データ等をコピーするこれらの処理は、ＳＰＥ４１−１１〜４８−１１のうち、画像処理を実行しないＳＰＥによって実行される。
【００６０】
画像処理ユニット１２のプログラム制御部３１−１２は、自身の中間データ格納領域６４−１２を監視し、中間データＭ２が記憶されていることを認識すると、制限情報設定部３２−１２をリセットし、画像処理を開始する。プログラム制御部３１−１２は、演算処理単位ごとに中間データＭ２を読み出し、レジスタ５２−１２に記憶させる。
【００６１】
プログラム制御部３１−１２は、さらにレジスタ格納領域６６−１２から進行情報を読み出し、画像処理ユニット１１によって画像処理が実行された終端部分から画像処理を実行する。
【００６２】
画像処理ユニット１２は、画像処理を終了すると、レジスタ５２−１２から画像処理された中間データＭ２を読み出し、結果データＲ１として結果データ格納領域６５−１２に記憶する。さらに、画像処理ユニット１２は、結果データＲ１を所定のビットレートで出力端子２２−１２から送出する。この結果、サーバ２には、画像処理が施された結果データＲ１が供給される。データ等をコピーしサーバ２へ送出するこれらの処理は、ＳＰＥ４１−１２〜４８−１２のうち、画像処理を実行しないＳＰＥによって実行される。
【００６３】
なお、画像処理ユニット１０及び１１は、後段の画像処理ユニットにおける中間データ格納領域６４に対して中間データＭ１及びＭ２を書込み、後段の画像処理ユニットにおけるレジスタ格納領域６４に対して進行情報を書込む。
【００６４】
すなわち、画像処理ユニット１０は、画像処理が終了すると、ローカルストレージ５３から読み出した中間データＭ１をホストコントローラ２６−１０に供給する。ホストコントローラ２６は、中間データＭ１を後段のホストコントローラ２６−１１に供給する。ホストコントローラ２６−１１は、当該中間データＭ１を中間データ格納領域６４−１１に割り当てる。この結果、メモリ２５−１１における中間データ格納領域６４−１１に中間データＭ１が記憶される。進行情報についての処理も同様である。従って、画像処理ユニット１１は、自身のメモリ２５から中間データＭ１を読み出せば良い。
【００６５】
これに対して、仮に画像処理ユニット１０が自身のメモリに中間データＭ１を記憶した場合、画像処理ユニット１１は、メモリ２５−１０から中間データＭ１を読み出す必要がある。このとき、プログラム制御部３１−１１は、ホストコントローラ２６−１１を介してホストコントローラ２６−１０に読出要求を供給しなければならない。この場合、読出要求によりバス２９が使用されるため、データの伝送速度が低下してしまう。
【００６６】
このように、画像処理ユニット１０は、後段の画像処理ユニットにおける中間データ格納領域６４及びレジスタ格納領域６６−１１に対して中間データＭ１及び進行情報を書込む。これにより、画像処理ユニット１０及び１１は、自身のメモリ２５に記憶した中間データＭ１及びＭ２などを後段の画像処理ユニット１０に読み出させる場合と比較して、データの伝送速度を大きくすることができる。
【００６７】
また、画像処理ユニット１１も同様にして、後段の画像処理ユニット１２における中間データ格納領域６４−１２に対して中間データＭ２を書込み、レジスタ格納領域６４−１２に対して進行情報を書込む。
【００６８】
かかる構成に加えて、本発明の画像処理ユニット１０〜１２は、制限時間が不適切であると認識した場合には、アラームを鳴らしてユーザに知らせるようになされている。
【００６９】
画像処理装置３の終端でない画像処理ユニット１０及び１１は、制限時間内に演算処理単位に対する画像処理を終了すると、制限時間が不適切であると認識し、アラームを鳴らす。
【００７０】
画像処理装置３の終端を構成する画像処理ユニット１２のプログラム制御部３１−１２は、制限時間内に演算処理単位に対する画像処理を終了すると、制限情報設定部３２−１２を確認する。プログラム制御部３１−１２は、残り時間が残時間閾値を超えていた場合には、制限時間の設定が不適切であると認識し、アラームを鳴らす。なおこの残時間閾値は、例えば制限時間の割合として設定されている。
【００７１】
これにより、画像処理装置３は、いずれの画像処理ユニット１０〜１２で画像処理が終了したかをユーザに知らせることができ、適切な制限時間をユーザに設定させ得る。
【００７２】
一方、画像処理ユニット１２のプログラム制御部３１−１２は、制限時間を経過したにも拘らず、演算処理単位に対する画像処理が終了していない場合に、アラームを鳴らす。このアラームは、制限時間が残時間閾値を超えていたときとは相違する音又はパターンが使用される。これにより、画像処理ユニット１２は、制限時間が過大であるか過小であるかをユーザに知らせ得る。
【００７３】
このように、画像処理装置３は、各画像処理ユニット１０〜１２が制限時間だけ画像処理を実行することにより、トランザクション管理をすることなく複数の画像処理ユニット１０〜１２による同一プログラム並列処理を実行することができる。
【００７４】
各画像処理ユニット１０〜１２は、同一プログラムに従って画像処理を実行するため、画像処理プログラムにおいてタスクを分離する必要はなく、画像処理プログラムの設計の自由度を向上させ得る。
【００７５】
［１−３．処理手順］
次に、画像処理プログラムに従って実行される同一プログラム並行処理手順ＲＴ１について、図９のフローチャートを用いて説明する。
【００７６】
各画像処理ユニット１０〜１２におけるプログラム制御部３１は、同一プログラム並行処理手順ＲＴ１を開始すると、ステップＳＰ１へ移る。プログラム制御部３１は、参照すべき格納領域（入力データ格納領域６３−１０、並びに中間データ格納領域６４−１１及び６４−１２）に処理対象データ（画像データＥ１、並びに中間データＭ１及びＭ２）等が有るか否かについて判別する。
【００７７】
ここで否定結果が得られると、プログラム制御部３１は、ステップＳＰ１において、処理対象データ等が供給されるのを待ち受ける。これに対してステップＳＰ１において肯定結果が得られると、プログラム制御部３１は、次のステップＳＰ２へ移る。
【００７８】
ステップＳＰ２において、プログラム制御部３１は、ローカルストレージ５３に必要な処理対象データ等をコピーすると、次のステップＳＰ３へ移る。
【００７９】
ステップＳＰ３において、プログラム制御部３１は、制限情報設定部３２をリセットし、制限時間のカウントを開始すると、次にステップＳＰ４へ移る。
【００８０】
ステップＳＰ４において、プログラム制御部３１は、処理対象データに対して画像処理を施すと、次のステップＳＰ５へ移る。
【００８１】
ステップＳＰ５において、プログラム制御部３１は、制限時間が経過したか否かについて判別する。ここで否定結果が得られた場合、プログラム制御部３１は、ステップＳＰ３４へ戻り、画像処理を継続する。
【００８２】
これに対してステップＳＰ５において肯定結果が得られた場合、プログラム制御部３１は、次のステップＳＰ６へ移る。
【００８３】
ステップＳＰ６において、プログラム制御部３１は、メモリ２５にコピーすべきデータ（処理対象データ、結果データＲ１及びレジスタ情報）をコピーすべきデータ格納領域（レジスタ格納領域６６−１１及び１２、中間データ格納領域６４−１１及び１２、結果データ格納領域６５−１２）にコピーすると、次のステップＳＰ７へ移る。
【００８４】
ステップＳＰ７において、プログラム制御部３１は、全ての演算処理単位に対する画像処理を実行し終えたか否かについて判別する。ここで否定結果が得られた場合、プログラム制御部３１は、ステップＳＰ１へ戻り、次の演算処理単位に対する処理を実行する。
【００８５】
これに対してステップＳＰ７において肯定結果が得られた場合、プログラム制御部３１は、全ての演算処理単位に対する画像処理を実行し終えたため、終了ステップへ移って同一プログラム並行処理手順ＲＴ１を終了する。
【００８６】
なお、上述した一連の同一プログラム並行処理は、ハードウェアにより実行させることもでき、また、ソフトウェアにより実行させることも可能である。同一プログラム並行処理をソフトウェアによって実現する場合、ＣＰＵ及びＲＡＭに仮想的に画像処理装置３が形成される。そして、ＲＯＭに格納された画像処理プログラムをＲＡＭに展開することにより、同一プログラム並行処理が実行される。
【００８７】
［１−４．動作及び効果］
以上の構成において、画像処理システム１の画像処理装置３は、複数の処理ユニットとしての画像処理ユニット１０〜１２が、直列にバス接続されてなる。各画像処理ユニット１０〜１２は、各複数の画像処理ユニット１０〜１２が演算処理単位ごとのデータに対して処理すべき演算処理の量を表す制限情報としての制限時間が設定される制限情報設定部３２を有している。
【００８８】
各画像処理ユニット１０〜１２は、演算部としてのＣＥＬＬ２４によって複数の画像処理ユニット１０〜１２間において同一のプログラムに従って演算処理単位ごとのデータ（画像データＥ１、若しくは中間データＭ１又はＭ２）に対する演算処理としての画像処理を実行する。
【００８９】
各画像処理ユニット１０〜１２は、制限情報設定部３２において設定された制限時間に従って、各演算処理単位ごとのデータに対する画像処理を実行する。各画像処理ユニット１０〜１２は、画像処理された処理データ（中間データＭ１又はＭ２若しくは結果データＲ１）をメモリ２５に格納する。各画像処理ユニット１０〜１２は、複数の画像処理ユニット１０〜１２間の入力端子２１及び出力端子２２が連結されることにより、相互にバス接続されている。
【００９０】
画像処理装置３は、画像処理ユニット１０〜１２間において同一プログラムに従って同一の画像処理を流れ作業的に制限時間ずつ実行することにより、結果データＲ１を生成することができる。このとき、画像処理装置３は、バス接続により画像処理ユニット１０〜１２間におけるデータの転送をスムーズに実行することができる。
【００９１】
すなわち、画像処理装置３は、実質的に演算処理単位ごとの画像データＥ１を３つに分割し、各画像処理ユニット１０〜１２に分担させて画像処理を実行している。しかし、画像処理装置３は、前段の画像処理ユニットにおける画像処理が終了してからその続きを後段の画像処理ユニットで実行するというように、画像処理ユニット１０〜１２における画像処理を時間的にずらして実行する。
【００９２】
これにより、画像処理装置３は、各画像処理ユニット１０〜１２に対し、自身の制限時間の管理のみを実行させることにより、画像処理を実行している。言い換えると、画像処理装置３では、制限時間によって画像処理を担当する領域が自動的に決定されるため、画像データＥ１を分割する処理を実行する制御部を必要としない。
【００９３】
また、各画像処理ユニット１０〜１２が相互にバス接続されているため、画像処理を施した中間データＭ１及びＭ２をメモリ２５に格納しておくだけで、画像処理ユニット１１及び１２が必要なときに必要な中間データＭ１及びＭ２を取得できる。すなわち、画像処理装置３は、各画像処理ユニット１０〜１２間のデータのやりとりを管理する制御部を必要としない。
【００９４】
この結果、画像処理装置３は、トランザクション管理を実行する必要がなく、その構成を簡易にすることができる。
【００９５】
また、上述したように、一般的な従来の画像処理装置は、複数の処理ユニットＮＯＤＥ（図１）にタスクを割り当てる。図１０に示すように、従来の画像処理装置は、各処理ユニット間において処理時間が相違した場合、最も処理時間を要する処理ユニットＮＯＤＥ２が律速となり、全体の処理時間を決定することになる。この場合、処理ユニットＮＯＤＥ１及びＮＯＤＥ３は、処理ユニットＮＯＤＥ２の処理が終了するのを待ち受けなければならず、処理ユニットＮＯＤＥ１及びＮＯＤＥ３の処理能力を活用しきれなかった。
【００９６】
画像処理装置３は、制限時間の管理の下に画像処理を実行するため、かかる問題が生じ得ず、画像処理ユニット１０〜１２の処理能力を最大限活用することができる。
【００９７】
また、画像処理装置３は、同一のプログラムに従って処理を実行するため、デバックが容易であると共に、タスクを分割することを考えてプログラムを設計する必要がないため、プログラムの設計の自由度を向上させ得る。
【００９８】
例えば、パイプライン処理を実行する従来の処理ユニットでは、予め画像データＥ１を複数に分割して処理を実行していた。このため、従来の処理ユニットでは、分割された領域ごとに分離して画像処理が実行されることになり、分割された領域間での参照ができなかった。従来の処理ユニットは、例えば画像を符号化する場合、分割された境界部分において隣接する画素を参照できないため、符号化効率の低下又は画質の低下を生じてしまっていた。
【００９９】
画像処理装置３は、各画像処理ユニット１０〜１２が、演算処理単位ごとの画像データＥ１のうちそれぞれ相違する領域に対して画像処理を実行するものの、前段の画像処理ユニットの画像処理が終了してから後段の画像処理ユニットがその続きを実行する。このため、画像処理装置３は、制限時間により分割された領域の境界部分であっても、隣接する画素を参照でき、かかる符号化効率の低下又は画質の低下を生じさせずに済む。
【０１００】
すなわち、画像処理装置３は、複数の画像処理ユニット１０〜１２によって画像処理を実行しているにも拘らず、１つの画像処理ユニットによる画像処理と同一の画像処理を実行することが可能となる。従って、画像処理装置３は、画像処理ユニットの演算能力を高める場合と比較して、簡易な構成により同等の性能を発揮することができる。
【０１０１】
各画像処理ユニット１０〜１２は、入力端子２１及び出力端子２２に対する他の画像処理ユニットの接続の有無により、画像処理装置３の端部を構成するか否かを認識する。画像処理装置３の後端以外であると認識した画像処理ユニット１０及び１１は、制限情報設定部３２に設定された制限時間に従って演算処理を実行した後、当該演算処理された中間データＭ１及びＭ２を後段の画像処理ユニット１１及び１２におけるメモリ２５−１１及び２５−１２に記憶させる。
【０１０２】
画像処理ユニット１０及び１１は、プログラムに従った演算処理の進行度合いを表す進行情報を後段の画像処理ユニット１１及び１２におけるメモリ２５−１１及び２５−１２に記憶させる。
【０１０３】
これにより、画像処理ユニット１１及び１２は、自身のメモリ２５−１１及び１２に記憶された中間データＭ１及びＭ２を読み出せば良く、隣接する画像処理ユニット間を接続するバス２９を使用せずに済む。このため、画像処理ユニット１１及び１２は、バス２９の帯域を中間データＭ１及びＭ２の書込み時にのみ使用させることができ、バス２９の伝送能力を最大限に活用することができる。
【０１０４】
画像処理ユニット１０〜１２における演算部としてのＣＥＬＬ２４は、複数の演算器としてのＳＰＥ４１〜４８と、複数のＳＰＥ４１〜４８に対してタスクを割り当てるプログラム制御部３１とを有する。
【０１０５】
ここで、画像処理装置３は、前段の画像処理ユニットが画像処理を終了しなければ後段の画像処理ユニットが画像処理を開始できず、終端の画像処理ユニットが画像処理を開始するまでに、画像処理ユニットの数−１×制限時間だけの待ち時間が発生することになる。仮に、画像処理装置３は、ＣＥＬＬ２４においても同一プログラム並行処理を実行すると、ＣＥＬＬ２４においても待ち時間を発生させることになる。
【０１０６】
画像処理装置３は、ＣＥＬＬ２４において従来の手法であるパイプライン処理を実行することにより、かかる待ち時間が累積的に大きくなることを防止し、効率良く、かつ画質を低下させないというバランスを保つことができる。
【０１０７】
また、画像処理装置３は、ＣＥＬＬ２４に汎用的なパイプライン処理を実行させることにより、汎用的に設計されたプログラムを用いて同一プログラム並行処理を実行させることができる。
【０１０８】
画像処理ユニット１１は、入力端子２１及び出力端子２２に画像処理ユニット１０及び１２が接続されていることにより、画像処理装置３の終端以外であると認識する。画像処理ユニット１１は、制限情報としての制限時間情報が表す処理すべき演算処理の量（制限時間）を演算処理していないにも拘らず、演算処理単位ごとの中間データＭ１に対する画像処理を終了すると、警告としてアラームを鳴らす。
【０１０９】
これにより、画像処理ユニット１１は、設定されている制限時間が適切でないことをユーザに知らせることができる。また、画像処理ユニット１１は、当該画像処理ユニット１１において画像処理が終了してしまったことを知らせることができるため、適切な制限時間をユーザに予測させ易くできる。
【０１１０】
画像処理ユニット１２は、画像処理装置３の終端であると認識した場合、制限時間だけ画像処理したにも拘らず、演算処理単位ごとのデータに対する画像処理を終了しないと、警告としてアラームを鳴らす。
【０１１１】
これにより、画像処理ユニット１２は、設定されている制限時間が適切でないことをユーザに知らせることができる。
【０１１２】
画像処理ユニット１２は、制限時間内で演算処理単位ごとのデータに対する画像処理を終了すると、残りの制限時間が多い場合には、警告としてアラームを鳴らす。
【０１１３】
これにより、画像処理ユニット１２は、設定されている制限時間が適切でないことをユーザに知らせることができる。
【０１１４】
以上の構成によれば、画像処理装置３では、第１の処理ユニットである画像処理ユニット１０及び第２の処理ユニットとしての画像処理ユニット１１が直列にバス接続されている。画像処理ユニット１０は、制限時間が設定されている。画像処理ユニット１０は、プログラム及び制限時間に従って、当該制限時間だけ各演算処理単位ごとの画像データＥ１に対する画像処理を実行し、当該画像処理の終了部分を表す進行情報を生成する。画像処理ユニット１０は、画像処理された処理データである中間データＭ１を中間データ格納領域６４に格納する。
【０１１５】
画像処理ユニット１１は、画像処理ユニット１０と同一の制限時間を設定する。画像処理ユニット１１は、中間データＭ１に対し、画像処理ユニット１０と同一のプログラム及び制限時間に従って、進行情報が表す終了部分以外について（すなわち終端部分から）、各演算処理単位ごとのデータにおける画像処理を実行する。画像処理ユニット１１は、画像処理された処理データである中間データＭ２を中間データ格納領域６４に格納する。
【０１１６】
これにより、画像処理装置３は、複数の画像処理ユニットによって画像処理を分担して実行できる。また、画像処理装置３は、前段の画像処理ユニット１０の画像処理の後に後段の画像処理ユニット１１が画像処理を実行するだけの処理により実行できるため、トランザクション管理を省略できる。かくして、本発明は、構成を簡易にし得る演算処理装置、処理ユニット、演算処理システム及び演算処理方法を実現できる。
【０１１７】
＜２．第２の実施の形態＞
［２−１．画像処理装置の構成］
図１１〜図１６に示す第２の実施の形態においては、図１〜図１０に示す第１の実施の形態と対応する箇所に同一符号を附して示し、同一部分についての説明を省略する。第２の実施の形態では、制限時間が自動的に設定される点が、第１の実施の形態と異なっている。なお本実施の形態では、第１の実施の形態に相当する箇所に１００を付加した符号を用いている。
【０１１８】
実際上、画像処理システム１のサーバ２は、画像処理を開始する旨の要求がなされると、画像データＥ１を画像処理ユニット１１０に供給する。画像処理ユニット１１０は、供給される画像データＥ１を入力データ格納領域６３−１１０に記憶しながら、接続台数の確認処理を実行する。
【０１１９】
すなわち、図１１に示すように、画像処理装置１０３の始端を構成する画像処理ユニット１１０のプログラム制御部１３１−１１０は、接続されている全ての画像処理ユニット１１１及び１１２に対し、識別番号ＩＤを要求する要求信号ＳＡを供給する。これに応じて、画像処理ユニット１１１及び１１２のプログラム制御部１３１−１１１及び１３１−１１２は、識別番号ＩＤ１及びＩＤ２をプログラム制御部１３１−１１０に供給する。
【０１２０】
この結果、プログラム制御部１３１−１１０は、受け取った識別番号ＩＤの数及び自身の「１」を加えた数を、画像処理装置１０３が有する画像処理ユニットの数として認識し得るようになされている。
【０１２１】
次に、プログラム制御部１３１−１１０は、制限情報設定処理を実行する。
【０１２２】
図１２に示すように、プログラム制御部１３１−１１０は、供給される画像データＥ１に対して画像処理を実行し、演算処理単位当たりの画像処理に要する時間を算出する。このとき、プログラム制御部１３１−１１０は、例えば複数の演算処理単位に対して画像処理を実行し、平均時間を演算処理単位当たりに要する画像処理の時間とする。
【０１２３】
プログラム制御部１３１−１１０は、演算処理単位当たりに要する画像処理の時間を、画像処理装置１０３が有する画像処理ユニットの数によって除算した値を、制限時間として算出する。図１３に示すように、プログラム制御部１３１−１１０は、制限情報設定部３２−１１０に対し、制限時間を設定すると共に、制限時間情報ＴＭ及び当該制限時間情報ＴＭを設定する旨の要求信号Ｓ４をプログラム制御部１３１−１１１及び１１２にそれぞれ供給する。
【０１２４】
プログラム制御部１３１−１１１及び１１２は、制限時間情報ＴＭが表す制限時間を制限情報設定部３２−１１１及び３２−１１２にそれぞれ設定する。
【０１２５】
この結果、画像処理ユニット１１０〜１１２には、画像処理に応じた最適な制限時間が自動的に設定されるようになされている。
【０１２６】
［２−２．処理手順］
次に、画像処理プログラムに従って実行される自動開始処理手順ＲＴ２について、図１４〜１６のフローチャートを用いて説明する。
【０１２７】
画像処理装置１０３は、自動開始処理手順ＲＴ２（図１４）を開始すると、ステップＳＰ１１へ移り、サーバ２から画像データＥ１が供給されると、次のステップＳＰ１２へ移る。
【０１２８】
ステップＳＰ１２において、画像処理装置１０３は、サブルーチンＳＲＴ１１に移り、接続台数確認処理を実行すると、次のステップＳＰ１３へ移る。
【０１２９】
ステップＳＰ１３において、画像処理装置１０３は、サブルーチンＳＲＴ１２に移り、制限情報設定処理を実行すると、次のステップＳＰ１４へ移る。
【０１３０】
ステップＳＰ１４において、画像処理装置１０３は、同一プログラム並行処理手順ＲＴ１（図９）を実行すると、終了ステップへ移って処理を終了する。
【０１３１】
自動開始処理手順ＲＴ２のステップＳＰ１２において、画像処理装置１０３における画像処理ユニット１１０は、サブルーチンＳＲＴ１１（図１５）のステップＳＰ２１に移り、接続されている各画像処理ユニットに対して識別番号ＩＤの供給を要求すると、次のステップＳＰ２２へ移る。
【０１３２】
ステップＳＰ２２において、画像処理ユニット１１０は、所定の待受時間に亘って識別番号ＩＤの供給を待ち受けると、次のステップＳＰ２３へ移る。
【０１３３】
ステップＳＰ２３において、画像処理ユニット１１０は、供給された識別番号ＩＤの数から、接続されている画像処理ユニットの数を認識すると、自動開始処理手順ＲＴ２（図１４）のステップＳＰ１３へ戻る。
【０１３４】
自動開始処理手順ＲＴ２のステップＳＰ１３において、画像処理装置１０３における画像処理ユニット１１０は、サブルーチンＳＲＴ１２（図１６）のステップＳＰ３１に移る。ステップＳＰ３１において、画像処理ユニット１１０は、画像データＥ１に対する画像処理を実行し、演算処理単位当たりの処理時間を計測すると、次のステップＳＰ３２へ移る。
【０１３５】
ステップＳＰ３２において、画像処理ユニット１１０は、ステップＳＰ３１において計測した演算処理単位当たりの処理時間に基づいて制限時間を決定すると、次のステップＳＰ３３へ移る。
【０１３６】
ステップＳＰ３３において、画像処理ユニット１１０は、制限時間を表す制限時間情報ＴＭを生成し、接続されている各画像処理ユニット１１１〜１１２に供給すると、次のステップＳＰ３４へ移る。
【０１３７】
ステップＳＰ３４において、画像処理ユニット１１０は、自身の制限情報設定部３２に制限時間を設定すると、自動開始処理手順ＲＴ２（図１４）のステップＳＰ１４へ戻る。
【０１３８】
［２−３．動作及び効果］
以上の構成において、画像処理ユニット１１０は、接続部に対する他の処理ユニットの接続の有無により、画像処理装置１０３の端部を構成するか否かを認識し、画像処理装置１０３の始端であると認識する。画像処理ユニット１１０は、画像処理を開始する際、演算処理単位ごとの画像データＥ１を画像処理するのに要する処理時間を計測し、当該計測された処理時間に基づいて制限時間を算出する。そして、画像処理ユニット１１０は、接続されている他の画像処理ユニット１１１及び１１２に対して制限時間情報ＴＭを供給する。
【０１３９】
これにより、画像処理ユニット１１０は、画像データＥ１及びプログラムの特性に応じた最適な制限時間を、ユーザになんら処理をさせることなく、制限情報設定部３２に自動的に設定し得る。これにより、画像処理ユニット１１０は、画像処理装置１０３としての処理能力を最大限発揮し得ると共に、ユーザの使い勝手を向上させ得る。
【０１４０】
画像処理ユニット１１０は、接続されている他の画像処理ユニット１１１及び１１２の数をカウントする。
【０１４１】
これにより、画像処理ユニット１１０は、ユーザになんら処理をさせることなく、最適な制限時間を算出し得る。
【０１４２】
以上の構成によれば、画像処理装置１０３は、１台の画像処理ユニット１１０によって画像データＥ１に対する画像処理に要する処理時間を計測し、制限時間を自動的に設定するようにした。
【０１４３】
これにより、画像処理装置１０３は、ユーザの手を煩わせずに最適な制限時間を設定することができる。
【０１４４】
＜３．他の実施の形態＞
なお上述した第１の実施の形態においては、３つの画像処理ユニット１０〜１２が直列に接続されるようにした場合について述べた。本発明はこれに限らず、接続される画像処理ユニットの数に制限はなく、２台、若しくは４台以上の画像処理ユニットが直列に接続されるようにしても良い。
【０１４５】
また上述した実施の形態においては、画像処理装置３が画像データＥ１に対して画像処理を実行するようにした場合について述べた。本発明はこれに限らず、例えば流体力学や宇宙工学の物理的シミュレーション及び将棋やチェスのプログラムを実行するなど、各種演算処理を実行するようにしても良い。
【０１４６】
さらに上述した実施の形態においては、制限情報として制限時間が設定されるようにした場合について述べた。本発明はこれに限らず、例えばフレーム画像の数やデータ量などが設定されるようにしても良い。
【０１４７】
さらに上述した実施の形態においては、演算処理単位として、フレーム画像を基準とするようにした場合について述べた。本発明はこれに限らず、演算処理単位に制限はなく、処理対象となるデータの種類に応じて適した単位が選択される。
【０１４８】
さらに上述した実施の形態においては、画像処理ユニット１０〜１２は、画像処理した中間データＭ１及びＭ２、結果データＲ１を後段の画像処理ユニットのメモリ２５に格納するようにした場合について述べた。本発明はこれに限らず、格納するメモリ２５の場所に特に制限はない。例えば自身の処理ユニットのメモリ２５に格納するようにしても良い。この場合、自身の画像処理ユニットではなく、中間データＭ１及びＭ２の格納されているメモリ２５を有する画像処理ユニット（すなわち前段の画像処理ユニット）から中間データＭ１及びＭ２を読み出すようにする。
【０１４９】
さらに上述した実施の形態においては、プログラムを予めインストールしてから画像処理を実行するようにした場合について述べた。本発明はこれに限らず、サーバ２が画像データＥ１と共にプログラムを供給し、画像処理と同時並行でプログラムがコピーされるようにしても良い。この場合、画像処理ユニット１０及び１１は、画像処理を開始する際に、中間データＭ１及びＭ２並びに進行情報と共に、後段の画像処理ユニット１１及び１２のメモリ２５にプログラムをコピーして書込む。これにより、画像処理装置３は、ユーザになんら操作をさせる必要なく、画像処理を開始することができ、操作性を向上させ得る。
【０１５０】
さらに上述した実施の形態においては、ホストコントローラ２６がデータの送受を実行するようにした場合について述べた。本発明はこれに限らず、必ずしもホストコントローラ２６は必要ではない。バス２９の接続に制限はなく、例えばバス２９がＣＥＬＬ２４間を接続していても良い。この場合、ＣＥＬＬ２４の例えばプログラム制御部３１がデータの送受を実行する。また、ＣＥＬＬ２４及びメモリ２５がバス２９に直接接続されていても良い。
【０１５１】
さらに上述した実施の形態においては、後段の画像処理ユニット１１及び１２は、中間データＭ１及びＭ２において画像処理が終了した部分の終端から画像処理を開始するようにした場合について述べた。本発明はこれに限らず、画像処理を実行していない部分に対して画像処理を実行すればよく、その開始位置に制限はない。
【０１５２】
さらに上述した実施の形態においては、入力端子２１及び出力端子２２に対する接続の有無により、画像処理装置３における端部か否かを認識するようにした場合について述べた。本発明はこれに限らず、例えばサーバ２からの情報の供給、又は入力ケーブル４及び出力ケーブル５の接続により始端であることを認識するようにしても良い。
【０１５３】
さらに上述した実施の形態においては、画像処理ユニット１０〜１２において演算を実行するＣＥＬＬ２４がパイプライン処理を実行するようにした場合について述べた。本発明はこれに限らず、例えば本発明の同一プログラム並行処理や、相違するタスクを実行させる処理などを実行しても良い。また、本発明は、必ずしも演算部に並行処理を実行させる必要はない。
【０１５４】
さらに上述した実施の形態においては、ＣＥＬＬ２４は、８つのＳＰＥ４１〜４８と、プログラム制御部３１を有するようにした場合について述べた。本発明はこれに限らず、演算部としての構成に制限はない。例えば、演算部が単一のプロセッサにより構成されていても良い。
【０１５５】
さらに上述した実施の形態においては、制限時間が適切でない場合には、アラームを鳴らすようにした場合について述べた。本発明はこれに限らず、必ずしもアラームを鳴らす必要はない。また、警告として、例えば警告ランプを点灯させたり、アナウンスをかけるようにしても良い。
【０１５６】
さらに上述した実施の形態においては、残時間閾値が制限時間の割合として設定されているようにした場合について述べた。本発明はこれに限らず、実際の数値（例えば８［ｍｓｅｃ］）として設定されていても良い。この残時間閾値は、ユーザにより任意に設定されるようにしても良い。
【０１５７】
さらに上述した実施の形態においては、複数の演算処理単位に対して画像処理を実行し、処理に要する時間の平均値を画像処理ユニットの数で除算するようにした場合について述べた。本発明はこれに限らず、例えば１つの演算処理単位に対する処理に要する時間を用いても良い。また、不意の事態に備えて制限時間に若干の余裕を持たせるため、例えば処理に要する時間の平均値の１．１倍の値を画像処理ユニットの数で除算するようにしても良い。
【０１５８】
さらに、上述した実施の形態においては、画像処理プログラム等をＲＯＭ又はハードディスクドライブなどに予め格納するようにした場合について述べた。本発明はこれに限らず、メモリースティック（ソニー株式会社の登録商標）などの外部記憶媒体からフラッシュメモリなどにインストールするようにしても良い。また、画像処理プログラムなどをＵＳＢ（Universal Serial Bus）やＥｔｈｅｒｎｅｔ（登録商標）（Institute of Electrical and Electronics Engineers）８０２．１１ａ／ｂ／ｇなどの無線ＬＡＮ（Local Area Network）を介して外部から取得し、さらに、は地上ディジタルテレビジョン放送やＢＳディジタルテレビジョン放送により配信されるようにしても良い。
【０１５９】
さらに上述した実施の形態においては、制限情報設定部としての制限情報設定部３２と、メモリとしてのメモリ２５と、接続部としての入力端子２１及び出力端子２２とを有する複数の処理ユニットとしての画像処理ユニット１０〜１２によって、演算処理装置としての画像処理装置３を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる制限情報設定部と、メモリと、接続部を有する複数の処理ユニットによって本発明の演算処理装置を構成するようにしても良い。
【０１６０】
さらに上述した実施の形態においては、制限情報設定部としての制限情報設定部３２と、メモリとしてのメモリ２５と、接続部としての入力端子２１及び出力端子２２とを有する複数の処理ユニットとしての画像処理ユニット１０〜１２と、サーバとしてのサーバ２によって、演算処理システムとしての画像処理システム１を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる制限情報設定部と、メモリと、バスと、接続部を有する複数の処理ユニットとサーバとによって本発明の演算処理システムを構成するようにしても良い。
【産業上の利用可能性】
【０１６１】
本発明は、例えばプロ用の画像編集装置や学術的に使用される高精度のシミュレーションに利用することができる。
【符号の説明】
【０１６２】
１……画像処理システム、２……サーバ、３……画像処理装置、４……入力ケーブル、５……出力ケーブル、１０、１１、１２……画像処理ユニット、２４……ＣＥＬＬ、２５……メモリ、２９……バス、３１……プログラム制御部、３２……タイマー、４１〜４８……ＳＰＥ、５１……ＳＰＵ、５２……レジスタ、５３……ローカルストレージ、６１……ＰＰＥプログラム格納領域、６２……ＳＰＥプログラム格納領域、６３……入力データ格納領域、６４……中間データ格納領域、６５……結果データ格納領域、Ｅ１……画像データ、Ｍ１、Ｍ２……中間データ、Ｒ１……結果データ、ＴＭ……制限時間情報。
【図１】
2011002952.tif 000003
【図２】
2011002952.tif 000004
【図３】
2011002952.tif 000005
【図４】
2011002952.tif 000006
【図５】
2011002952.tif 000007
【図６】
2011002952.tif 000008
【図７】
2011002952.tif 000009
【図８】
2011002952.tif 000010
【図９】
2011002952.tif 000011
【図１０】
2011002952.tif 000012
【図１１】
2011002952.tif 000013
【図１２】
2011002952.tif 000014
【図１３】
2011002952.tif 000015
【図１４】
2011002952.tif 000016
【図１５】
2011002952.tif 000017
【図１６】
2011002952.tif 000018