(57)【要約】【課題】並列処理を行う際の割り当て時間を短縮し、全体の処理時間を短縮させることが可能な画像分散処理装置を提供する。【解決手段】画像分散処理装置１は、複数の画像を結合して結合ファイルを生成する結合部１４と、結合ファイルを複数の分離部１５に出力する割り当て部１１と、結合ファイルを１枚ずつの画像に分離する複数の分離部１５と、分離部１５により分離された画像を画像処理する複数の画像処理部１２と、を備える。割り当て部１１は、複数の画像処理部１２のうち画像処理を行っていない画像処理部１２を特定し、分離部１５に対し、分離された画像を該特定した画像処理部１２に出力するように指示する。【選択図】図１
2016046578.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を結合して結合ファイルを生成する結合部と、
前記結合ファイルを複数の分離部に出力する割り当て部と、
前記結合ファイルを１枚ずつの画像に分離する複数の分離部と、
前記分離部により分離された画像を画像処理する複数の画像処理部と、を備え、
前記割り当て部は、前記複数の画像処理部のうち画像処理を行っていない画像処理部を特定し、前記分離部に対し、前記分離された画像を該特定した画像処理部に出力するように指示することを特徴とする画像分散処理装置。
【請求項２】
動画像をＧＯＰ単位に分割してＧＯＰファイルを生成する分割部と、
前記ＧＯＰファイルを複数の画像処理部に出力する割り当て部と、
前記ＧＯＰファイルを画像処理する複数の画像処理部と、
前記画像処理部により画像処理されたＧＯＰファイルを元の動画像の時系列順に並び替える複数の集約部と、を備え、
前記割り当て部は、前記複数の画像処理部のうち画像処理を行っていない画像処理部を特定し、前記ＧＯＰファイルを該特定した画像処理部に出力し、
前記集約部は、複数段設けられてツリー構造を形成し、段階的にＧＯＰファイルを結合することを特徴とする画像分散処理装置。
【請求項３】
動画像をＧＯＰ単位に分割してＧＯＰファイルを生成する分割部と、
複数の前記ＧＯＰファイルを結合してＧＯＰ結合ファイルを生成する結合部と、
前記結合ファイルを複数の分離部に出力する割り当て部と、
前記ＧＯＰ結合ファイルを１つずつのＧＯＰファイルに分離する複数の分離部と、
前記分離部により分離されたＧＯＰファイルを画像処理する複数の画像処理部と、
前記画像処理部により画像処理されたＧＯＰファイルを元の動画像の時系列序に並び替える複数の集約部と、を備え、
前記割り当て部は、前記複数の画像処理部のうち画像処理を行っていない画像処理部を特定し、前記分離部に対し、前記分離されたＧＯＰファイルを該特定した画像処理部に出力するように指示し、
前記集約部は、複数段設けられてツリー構造を形成し、段階的にＧＯＰファイルを結合することを特徴とする画像分散処理装置。
【請求項４】
前記集約部は、ｋ＋１（ｋ≧２）段目の数がｋ段目の数の１/２であることを特徴とする、請求項２又は３に記載の画像分散処理装置。
【請求項５】
前記集約部は、１段目の数が前記ＧＯＰファイルの総数の１/２であることを特徴とする、請求項４に記載の画像分散処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像を並列に処理する画像分散処理装置に関する。
【背景技術】
【０００２】
画像データに対し、画像サイズやフォーマットの変換処理、圧縮符号化処理、色変換処理、輪郭抽出処理などの画像処理を行う際には、多くの処理工程が必要となる。画像処理時間の短縮化手法として、ハードウェアの動作速度（クロック周波数）を上げる方法や、複数の処理系を用意して並列に実行する方法が考えらえる。
【０００３】
動画像は複数の静止画像を時間軸上に並べて構成するものであり、動画像データを複数の静止画像に分割して並列に処理することが容易である。前後する静止画像フレームの相関関係を利用する圧縮符号化処理の場合も、相関関係を利用する複数フレームの塊であるＧｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ（ＧＯＰ）単位で並列処理することができる。例えば、大量の動画像を高速に処理するために、動画像を所定の長さに分割し、複数の安価な汎用ＣＰＵを並列に用いて動画像を処理する手法などが知られている（特許文献１参照）。
【０００４】
また、データベースに順次入力されるデータに対してＭａｐ処理を逐次実行し、末尾情報が付与されたデータまでのＭａｐ処理完了後にシャッフル＆ソート処理に移行することにより、同一ジョブのＭａｐ処理の実行時間帯の集中を避け、効率的に分散処理を実行する分散処理システムが知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７６０６９号公報
【特許文献２】特開２０１３−２５４２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
汎用ＣＰＵを搭載するコンピュータに並列に画像処理を割り当てる場合、コンピュータの台数に比例して、処理時間が短縮され、処理速度が向上することが見込まれる。しかしながら、複数のコンピュータへの処理の割り当てにも時間を要するため、従来の手法では、特に並列処理を行うコンピュータの台数が少ない場合には、並列処理台数に対する処理速度向上効果が減少してしまうという問題があった。
【０００７】
かかる事情に鑑みてなされた本発明の目的は、並列処理を行う際の割り当て時間を短縮し、全体の処理時間を短縮させることが可能な画像分散処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る画像分散処理装置は、複数の画像を結合して結合ファイルを生成する結合部と、前記結合ファイルを複数の分離部に出力する割り当て部と、前記結合ファイルを１枚ずつの画像に分離する複数の分離部と、前記分離部により分離された画像を画像処理する複数の画像処理部と、を備え、前記割り当て部は、前記複数の画像処理部のうち画像処理を行っていない画像処理部を特定し、前記分離部に対し、前記分離された画像を該特定した画像処理部に出力するように指示することを特徴とする。
【０００９】
また、上記課題を解決するため、本発明に係る画像分散処理装置は、動画像をＧＯＰ単位に分割してＧＯＰファイルを生成する分割部と、前記ＧＯＰファイルを複数の画像処理部に出力する割り当て部と、前記ＧＯＰファイルを画像処理する複数の画像処理部と、前記画像処理部により画像処理されたＧＯＰファイルを元の動画像の時系列順に並び替える複数の集約部と、を備え、前記割り当て部は、前記複数の画像処理部のうち画像処理を行っていない画像処理部を特定し、前記ＧＯＰファイルを該特定した画像処理部に出力し、前記集約部は、複数段設けられてツリー構造を形成し、段階的にＧＯＰファイルを結合することを特徴とする。
【００１０】
また、上記課題を解決するため、本発明に係る画像分散処理装置は、動画像をＧＯＰ単位に分割してＧＯＰファイルを生成する分割部と、複数の前記ＧＯＰファイルを結合してＧＯＰ結合ファイルを生成する結合部と、前記結合ファイルを複数の分離部に出力する割り当て部と、前記ＧＯＰ結合ファイルを１つずつのＧＯＰファイルに分離する複数の分離部と、前記分離部により分離されたＧＯＰファイルを画像処理する複数の画像処理部と、前記画像処理部により画像処理されたＧＯＰファイルを元の動画像の時系列序に並び替える複数の集約部と、を備え、前記割り当て部は、前記複数の画像処理部のうち画像処理を行っていない画像処理部を特定し、前記分離部に対し、前記分離されたＧＯＰファイルを該特定した画像処理部に出力するように指示し、前記集約部は、複数段設けられてツリー構造を形成し、段階的にＧＯＰファイルを結合することを特徴とする。
【００１１】
さらに、本発明に係る画像分散処理装置において、前記集約部は、ｋ＋１（ｋ≧２）段目の数がｋ段目の数の１/２であることを特徴とする。
【００１２】
さらに、本発明に係る画像分散処理装置において、前記集約部は、１段目の数が前記ＧＯＰファイルの総数の１/２であることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、並列処理を行う際に、処理の割り当て時間を短縮することができるため、全体の処理時間が短縮し、処理の高速化を図ることができるようになる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る画像分散処理装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係る画像分散処理装置の動作を示すフローチャートである。
【図３】本発明の第２の実施形態に係る画像分散処理装置の構成例を示すブロック図である。
【図４】本発明の第２の実施形態に係る画像分散処理装置の動作を示すフローチャートである。
【図５】本発明の第３の実施形態に係る画像分散処理装置の構成例を示すブロック図である。
【図６】本発明の第３の実施形態に係る画像分散処理装置の動作を示すフローチャートである。
【図７】静止画像を分散処理する従来の画像分散処理装置の構成例を示すブロック図である。
【図８】静止画像を分散処理する従来の画像分散処理装置の動作を示すフローチャートである。
【図９】動画像を分散処理する従来の画像分散処理装置の構成例を示すブロック図である。
【図１０】動画像を分散処理する従来の画像分散処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１６】
［静止画像］
静止画像の分散処理について、本発明と従来技術との違いを明確にするために、まず従来技術について説明する。図７は、静止画像を分散処理する従来の画像分散処理装置の構成例を示すブロック図である。従来の画像分散処理装置４は、割り当て部１１と、複数（ｎ個）の画像処理部１２（１２−１から１２−ｎ）と、複数（ｎ個）の記憶部１３（１３−１から１３−ｎ）とを備える。
【００１７】
割り当て部１１は、画像処理部１２が画像処理を行っているか否かを監視し、画像処理を行っていない画像処理部１２（空きリソース）を特定する。そして、１枚の画像を、該特定した画像処理部１２に出力して処理を割り当てる。割り当て部１１が処理を割り当てる際には、割り当てと同時に処理対象となる画像を画像処理部１２に送るようにしてもよいし、予め画像処理部１２に処理対象の画像を分配しておき、割り当て部１１が各画像処理部１２に対して、画像処理部１２の保有する画像を画像処理するように指示してもよい。
【００１８】
画像処理部１２は、処理内容に従って、サイズ変換、色変換、圧縮符号化などの画像処理を行い、処理結果の画像をそれぞれ記憶部１３に記憶する。画像処理部１２は、それぞれ独立して画像処理を行うが、それぞれの処理速度は一定ではなく、処理時間にばらつきがあってもよい。
【００１９】
図８は、このような従来の静止画像用の画像分散処理装置４の動作を示すフローチャートである。図８を参照して画像分散処理装置４の動作を説明する。
【００２０】
割り当て部１１は処理すべき画像の有無を確認し（ステップＳ４０１）、処理すべき画像がある場合には（ステップＳ４０１−Ｙｅｓ）、画像処理部１２の中で画像処理を行っていない画像処理部１２（空きリソース）の有無を確認する（ステップＳ４０２）。ステップＳ４０２にて空きリソースがない場合には（ステップＳ４０２−Ｎｏ）、空きリソースが発生するまで待機する。
【００２１】
ステップＳ４０２にて空きリソースがある場合には（ステップＳ４０２−Ｙｅｓ）、割り当て部１１は空きリソースである画像処理部１２−ｋ（１≦ｋ≦ｎ）に処理すべき画像を出力して処理を割り当てる（ステップＳ４０３）。処理を割り当てられた画像処理部１２−ｋは処理内容に従って画像処理を行い（ステップＳ４０４）、記憶部１３−ｋは処理された画像をそれぞれ記憶する（ステップＳ４０５）。ステップＳ４０１にて処理すべき画像がなくなった場合には（ステップＳ４０１−Ｎｏ）、ステップＳ４０５の記憶処理が完了するまで待機した後（ステップＳ４０６−Ｙｅｓ）、画像分散処理装置４は動作を終了する。
【００２２】
ステップＳ４０３において、割り当て部１１は処理を割り当てたら直ちにステップＳ４０１に戻り、別の処理すべき画像の有無を確認し、まだ残っている場合は、新たに空きリソースに画像を処理するよう指示を出す。割り当て部１１が空きリソースに対し次々に処理を割り当てるため、各画像処理部１２の処理完了を待つことなく、それぞれの画像処理部１２が独立して並列に複数の画像を画像処理することができる。
【００２３】
このときの全画像を画像処理するのに要する全処理時間Ｔ１は、空きリソースの待ち時間がない場合には、割り当て時間ｔ１、画像１枚の画像処理時間ｔ２、入力画像の枚数Ｐ、及び画像処理部１２の個数ｎを用いて、式（１）で表すことができる。
【００２４】
【数１】
2016046578.tif 000003
【００２５】
並列処理を行わない場合と画像分散処理装置４により並列処理を行った場合との全処理時間を比較する。例えば、ｔ１＝１秒、ｔ２＝５秒、Ｐ＝１０００枚、ｎ＝１０個とすると、並列処理を行わない場合は、５×１０００＝５０００秒を要する。一方、画像分散処理装置４により並列処理を行った場合は、（１＋５）×１０００／１０＝６００秒で全処理を行うことができる。
【００２６】
（第１の実施形態）
次に、本発明の第１の実施形態に係る画像分散処理装置について説明する。図１は本発明の第１の実施形態に係る画像分散処理装置の構成例を示すブロック図である。図１に示す例では、画像分散処理装置１は、結合部１４と、割り当て部１１と、複数（ｎ個）の分離部１５と、複数（ｎ個）の画像処理部１２（１２−１から１２−ｎ）と、複数（ｎ個）の記憶部１３（１３−１から１３−ｎ）とを備える。画像分散処理装置１は、上述した従来の画像分散処理装置４と比較して、更に結合部１４と分離部１５を備える点が相違する。従来の画像分散処理装置４と同様のブロックには同一の参照番号を付して適宜説明を省略する。
【００２７】
結合部１４は、複数の静止画像を結合して結合ファイルを生成し、割り当て部１１に出力する。
【００２８】
割り当て部１１は、画像処理部１２が画像処理を行っているか否かを監視し、画像処理を行っていない画像処理部１２（空きリソース）を特定する。また、結合部１４により生成された結合ファイルを複数の分離部１５に出力する。そして、分離部１５に対し、分離された画像を該特定した画像処理部１２に出力するように指示する。
【００２９】
分離部１５は、複数枚の画像からなる結合ファイルを１枚ずつの画像に分離する。分離部１５は、予め結合ファイルの結合枚数を決めておいて所定のオフセット位置から１画像分のデータを読み込んでもよいし、画像ヘッダを利用して１画像分のデータを読み込んでもよい。そして、分離した画像を、割り当て部１１により特定された、画像処理を行っていない画像処理部１２（空きリソース）に出力する。
【００３０】
画像処理部１２は、分離部１５により分離された画像を入力し、所定の画像処理を行う。
【００３１】
記憶部１３は、画像処理部１２による処理結果を記憶する。その際、後段の処理に応じて、再び結合して１つのファイルの固まりとして記憶してもよいし、結合せずに１枚の画像単位で記憶してもよい。
【００３２】
図２は、このような画像分散処理装置１の動作を示すフローチャートである。図２を参照して、画像分散処理装置１の動作を説明する。
【００３３】
結合部１４は、静止画像を結合して結合ファイルを生成する（ステップＳ１０１）。割り当て部１１は処理すべき結合ファイルの有無を確認し（ステップＳ１０２）、処理すべき結合ファイルがある場合には（ステップＳ１０２−Ｙｅｓ）、画像処理部１２の中で画像処理を行っていない画像処理部１２（空きリソース）の有無を確認する（ステップＳ１０３）。空きリソースである画像処理部１２−ｋ（１≦ｋ≦ｎ）がある場合には（ステップＳ１０３−Ｙｅｓ）、割り当て部１１は分離部１５−ｋに対し、結合ファイルを分離した画像を画像処理部１２−ｋに出力するように指示する（ステップＳ１０４）。
【００３４】
分離部１５−ｋは、結合ファイルを１枚ずつの画像に分離し、画像処理部１２−ｋに出力する（ステップＳ１０５）。処理を割り当てられた画像処理部１２−ｋは、処理内容に従って画像処理を行い（ステップＳ１０６）、記憶部１３−ｋは画像処理された画像を記憶する（ステップＳ１０７）。ステップＳ１０２にて処理すべき結合ファイルがなくなった場合には（ステップＳ１０２−Ｎｏ）、ステップＳ１０７の記憶処理が完了するまで待機した後（ステップＳ１０８−Ｙｅｓ）、画像分散処理装置１は動作を終了する。
【００３５】
このように、第１の実施形態に係る画像分散処理装置１によれば、割り当て部１１による割り当て回数が減少するため、全体の処理の高速化を実現することができる。全画像を画像処理するのに要する全処理時間Ｔ２は、空きリソースの待ち時間がない場合には、割り当て時間ｔ１、画像１枚の画像処理時間ｔ２、１ファイルの結合枚数Ｑ、入力画像の枚数Ｐ、及び画像処理部１２の個数ｎを用いて、式（２）で表すことができる。結合処理、分離処理に要する時間は割り当て時間ｔ１に対して無視できる程度なので、ここでは省略している。
【００３６】
【数２】
2016046578.tif 000004
【００３７】
従来の画像分散処理装置４により並列処理を行った場合と、本発明の第１の実施形態に係る画像分散処理装置１により並列処理を行った場合との全処理時間を比較する。例えば、ｔ１＝１秒、ｔ２＝５秒、Ｐ＝１０００枚、Ｑ＝１０枚、ｎ＝１０個とすると、画像分散処理装置１により並列処理を行った場合は、（１＋５×１０）×（１０００／１０）／１０＝５１０秒を要する。従来の画像分散処理装置４により並列処理を行った場合は、上述したように６００秒要するため、更に処理時間を９０秒短縮することができる。
【００３８】
すなわち、式（１）と比較して、割り当て部１１による割り当て回数が（Ｐ−Ｐ／Ｑ）だけ減少するため、全体としてｔ１×（Ｐ−Ｐ／Ｑ）／ｎの時間だけ処理時間を短縮することができる。特に、画像処理時間ｔ２と比較して割り当て時間ｔ１が大幅に大きい処理の場合には、大幅な並列処理速度の向上を見込むことができる。
【００３９】
［動画像］
次に、動画像の分散処理について説明する。本発明と従来技術との違いを明確にするために、まず従来技術について説明する。図９は動画像を分散処理する従来の画像分散処理装置の構成例を示すブロック図である。図９に示す例では、画像分散処理装置５は、分割部１６と、割り当て部１１と、複数（ｎ個）の画像処理部１２（１２−１から１２−ｎ）と、複数（ｎ個）の記憶部１３（１３−１から１３−ｎ）と、集約部１７とを備える。従来の静止画像の画像分散処理装置４と比較して、更に分割部１６と集約部１７を備える点が相違する。従来の静止画像の画像分散処理装置４と同様のブロックには同一の参照番号を付して適宜説明を省略する。
【００４０】
動画像は複数の静止画像を時間軸上に並べたものであり、前後の静止画像（フレーム）の相関関係を利用してデータ量を削減するための圧縮符号化処理などが行われた後に送信される。相関関係を利用する連続した静止画像の集まりをＧＯＰという。ＧＯＰはイントラフレームのＩフレームと予測インターフレームのＰフレームと双方向予測インターフレームのＢフレームを含むことができる。なお、図９では便宜上ＧＯＰを３枚の静止画像の集まりとして表示している。
【００４１】
分割部１６は、動画像をＧＯＰ単位に分割してＧＯＰファイルを生成し、割り当て部１１に出力する。
【００４２】
割り当て部１１は、画像処理部１２が画像処理を行っているか否かを監視し、画像処理を行っていない画像処理部１２（空きリソース）を特定する。そして、分割部１６により生成されたＧＯＰファイルを、画像処理を行っていない画像処理部１２（空きリソース）に出力して処理を割り当てる。その際、割り当て部１１は、ＧＯＰファイルに対して動画像の時系列順に連番を割り振っておく。例えばＧＯＰファイルが１０個ある場合、ＧＯＰファイルに１〜１０までの番号を割り振る。
【００４３】
画像処理部１２は、ＧＯＰファイルに対して圧縮符号化処理などの所定の画像処理を行い、処理結果を記憶部１３に出力する。
【００４４】
集約部１７は、各画像処理部１２で別々に画像処理されたＧＯＰファイルを記憶部１３から取得し、ＧＯＰファイルに割り振られた連番に基づいて、ＧＯＰファイルの並びを元の入力動画像の時系列順に並び替える。
【００４５】
図１０は、このような従来の動画像用の画像分散処理装置５の動作を示すフローチャートである。図１０を参照して画像分散処理装置５の動作を説明する。
【００４６】
分割部１６は、動画像をＧＯＰ単位に分割してＧＯＰファイルを生成する（ステップＳ５０１）。割り当て部１１は処理すべきＧＯＰファイルの有無を確認し（ステップＳ５０２）、処理すべきＧＯＰファイルがある場合には（ステップＳ５０２−Ｙｅｓ）、画像処理部１２の中で画像処理を行っていない画像処理部１２（空きリソース）の有無を確認する（ステップＳ５０３）。空きリソースがある場合には（ステップＳ５０３−Ｙｅｓ）、割り当て部１１は空きリソースである画像処理部１２−ｋ（１≦ｋ≦ｎ）に処理すべきＧＯＰファイルを出力して処理を割り当てる。その際、ＧＯＰファイルに対して動画像の時系列順に連番を割り振る（ステップＳ５０４）。
【００４７】
処理を割り当てられた画像処理部１２−ｋは処理内容に従って画像処理を行い（ステップＳ５０５）、記憶部１３−ｋは処理された画像をそれぞれ記憶する（ステップＳ５０６）。集約部１７は、ＧＯＰファイルを取得し、ＧＯＰファイルに割り振られた連番に基づいて、元の入力動画像の時系列順に並び替える（ステップＳ５０７）。処理すべきＧＯＰファイルがなくなった場合には（ステップＳ５０２−Ｎｏ）、ステップＳ５０７における集約処理が完了するまで待機した後（ステップＳ５０８−Ｙｅｓ）、画像分散処理装置５は動作を終了する。このように静止画像の並列処理機能に分割・集約処理を付加することで、動画像の並列処理を実現することができる。
【００４８】
（第２の実施形態）
次に、本発明の第２の実施形態に係る画像分散処理装置について説明する。図３は本発明の第２の実施形態に係る画像分散処理装置の構成例を示すブロック図である。図３に示す例では、画像分散処理装置２は、分割部１６と、割り当て部１１と、複数（ｎ個）の画像処理部１２（１２−１から１２−ｎ）と、複数（ｎ個）の記憶部１３（１３−１から１３−ｎ）と、複数（ｍ個）の集約部１７とを備える。画像分散処理装置２は、上述した従来の画像分散処理装置５と比較して、集約部１７を複数備える点が相違する。従来の動画像の画像分散処理装置５と同様のブロックには同一の参照番号を付して適宜説明を省略する。
【００４９】
集約部１７は、複数段設けられてツリー構造を形成する。すなわち、１段目の集約部１７の数＞２段目の集約部１７の数＞・・・＞最終段目の集約部１７の数となり、最終段目の集約部１７の数は１である。ｋ段目の集約部１７は、ｋ−１段目の集約部１７により集約されたＧＯＰファイル群を取得し、ＧＯＰファイルに割り振られた連番に基づいて並び替え、ｋ＋1段目の集約部１７に出力する。このようにして、集約部１７は画像処理されたＧＯＰファイルを連番順に段階的に結合し、最終的に最終段目の集約部１７−ｍから元の動画像の処理結果として１つの動画像ファイルを出力する。なお、図５に示す例では集約部１７の段数は２段である。
【００５０】
図４は、画像分散処理装置２の動作を示すフローチャートである。図４を参照して画像分散処理装置２の動作を説明する。ステップＳ２０１〜２０６の処理は、図１０で示したステップＳ５０１〜５０６の処理と同一であるので、説明を省略する。
【００５１】
ＧＯＰ単位で画像処理されたデータはＧＯＰの連番ごとに定められた集約部１７に集められる。次段に集約部１７がある場合には（ステップＳ２０７−Ｙｅｓ）、初期値が０のカウンタｋの値を１だけインクリメントし（ステップＳ２０８）、ｋ段目の集約部１７においてＧＯＰファイルを取得する（ステップＳ２０９）。ここで、ｋ段目において集約処理すべき全てのＧＯＰファイルを取得するまで待機し、全ＧＯＰファイルの取得が完了すると（ステップＳ２１０−Ｙｅｓ）、ＧＯＰファイルの連番に基づいて順番を並び替え（ステップＳ２１１）、次段の集約部１７に集約したＧＯＰファイル群を送る。次段の集約部１７でも同様に全ＧＯＰファイルの取得が完了すると順番を並び替える。処理すべきＧＯＰファイルがなくなり（ステップＳ２０２−Ｎｏ）、次段に集約部１７もない場合には（ステップＳ２０７−Ｎｏ）、ステップＳ２１１における並び替え処理が完了するまで待機し（ステップＳ２１２−Ｙｅｓ）、最終的に最終段の集約部１７−ｍが１つの動画像ファイルを出力し、画像分散処理装置２は動作を終了する。
【００５２】
このように、第２の実施形態に係る画像分散処理装置２によれば、集約処理を複数の集約部１７で並行して行うことができるため、全体の処理の高速化を実現することができる。特に長時間の動画像を処理する場合には、複数の集約部１７をツリー状に配置することで集約処理時間を短縮することができる。画像枚数に関わらず前段から入力されるＧＯＰファイル群あたりの集約時間ｔ３が同じ場合、集約処理時間Ｔｓは、ＧＯＰファイルの総数Ｆ、集約部の段数ｘ、ｋ段目の集約部１７の数ｙ（ｋ）を用いて式（３）で表される。
【００５３】
【数３】
2016046578.tif 000005
【００５４】
例えば、ｔ３＝１秒であり、ＧＯＰファイルの総数Ｆ＝１０００個の場合、１個の集約部１７で集約するのに１０００秒かかるが、並列処理時の集約処理時間Ｔｓは下記のようになる。
１）１０個の集約部１７＋１個の集約部１７で並列処理した場合、
Ｔｓ＝１０００／１０＋１０／１＝１１０秒
２）１００個の集約部１７＋１個の集約部１７で並列処理した場合、
Ｔｓ＝１０００／１００＋１００／１＝１１０秒
３）１００個の集約部１７＋１０個の集約部１７＋１個の集約部１７で並列処理した場合、
Ｔｓ＝１０００／１００＋１００／１０＋１０／１＝３０秒
【００５５】
なお、集約部１７をツリー状に配置したときの最も処理時間が短くなる構成は、１段目の集約部１７の数ｙ（１）をＧＯＰファイルの総数Ｆ／２とし、ｋ＋１（ｋ≧２）段目の集約部１７の数ｙ（ｋ＋１）をｋ段目の集約部１７の数ｙ（ｋ）の１／２としたときである。その際の処理時間ＴｓｍｉｍはＦ≦２ＮとなるＮの最小値Ｎｍｉｍと、１つのＧＯＰファイルあたりの集約時間ｔ３を用いて、式（４）で表される。
【００５６】
【数４】
2016046578.tif 000006
【００５７】
（第３の実施形態）
次に、本発明の第３の実施形態に係る画像分散処理装置について説明する。図５は本発明の第３の実施形態に係る画像分散処理装置の構成例を示すブロック図である。図５に示す例では、画像分散処理装置３は、分割部１６と、結合部１４と、割り当て部１１と、複数（ｎ個）の分離部１５（１５−１から１５−ｎ）と、複数（ｎ個）の画像処理部１２（１２−１から１２−ｎ）と、複数（ｎ個）の記憶部１３（１３−１から１３−ｎ）と、複数（ｍ個）の集約部１７とを備える。画像分散処理装置３は、上述した第２の実施形態に係る画像分散処理装置２と比較して、更に結合部１４と分離部１５を備える点が相違する。本発明の第２の実施形態に係る画像分散処理装置２と同様のブロックには同一の参照番号を付して適宜説明を省略する。
【００５８】
分割部１６は、動画像をＧＯＰ単位に分割してＧＯＰファイルを生成し、結合部１４に出力する。
【００５９】
結合部１４は、第１の実施形態に係る画像分散処理装置１では複数の静止画像を結合して結合ファイルを生成したが、第３の実施形態に係る画像分散処理装置３では、複数のＧＯＰファイルを結合してＧＯＰ結合ファイルを生成し、割り当て部１１に出力する。
【００６０】
割り当て部１１は、画像処理部１２が画像処理を行っているか否かを監視し、画像処理を行っていない画像処理部１２（空きリソース）を特定する。また、結合部１４により生成されたＧＯＰ結合ファイルを複数の分離部１５に出力する。そして、分離部１５に対し、分離されたＧＯＰファイルを該特定した画像処理部１２に出力するように指示する。
【００６１】
分離部１５は、第１の実施形態に係る画像分散処理装置１では結合ファイルを１枚ずつの画像に分離したが、第３の実施形態に係る画像分散処理装置３では、ＧＯＰ結合ファイルを１つずつのＧＯＰファイルに分離し、画像処理部１２に出力する。画像処理部１２、記憶部１３、及び集約部１７は第２の実施形態に係る画像分散処理装置２と同様であるため説明を省略する。
【００６２】
図６は、このような画像分散処理装置３の動作を示すフローチャートである。図６を参照して画像分散処理装置３の動作を説明する。
【００６３】
分割部１６は動画像をＧＯＰ単位に分割してＧＯＰファイルを生成し（ステップＳ３０１）、続いて結合部１４は、ＧＯＰファイルを結合してＧＯＰ結合ファイルを生成する（ステップＳ３０２）。割り当て部１１は処理すべきＧＯＰ結合ファイルの有無を確認し（ステップＳ３０３）、処理すべきＧＯＰ結合ファイルがある場合には（ステップＳ３０３−Ｙｅｓ）、画像処理部１２の中で画像処理を行っていない画像処理部１２（空きリソース）の有無を確認する（ステップＳ３０４）。空きリソースがある場合には（ステップＳ３０４−Ｙｅｓ）、割り当て部１１は分離部１５−ｋに対し、ＧＯＰ結合ファイルを分離したＧＯＰファイルを画像処理部１２−ｋに出力するように指示する。その際、ＧＯＰファイルに動画像の時系列順に連番を割り振る（ステップＳ３０５）。分離部１５−ｋは、ＧＯＰ結合ファイルを１つずつのＧＯＰファイルに分離する（ステップＳ３０６）。以降のステップＳ３０７〜３１４処理は、第２の実施形態に係る画像分散処理装置２の動作で説明したステップＳ２０５〜２１２と同一であるため、説明を省略する。
【００６４】
このように、第３の実施形態に係る画像分散処理装置３によれば、割り当て部１１による割り当て回数が減少するため、第２の実施形態に係る画像分散処理装置２よりも更に割り当て時間を短縮することができ、全体の処理時間を短縮することができる。
【００６５】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを１つに組み合わせたり、あるいは１つの構成ブロックを分割したりすることが可能である。
【００６６】
また、上述の実施形態では静止画像及び動画像を処理する例を説明したが、処理対象データが一定の区切りで分割して処理することが可能な形態であれば、静止画像、動画像にかかわらず本発明を適用可能である。
【００６７】
また、画像分散処理装置１，２，３は複数の装置により構成するようにしてもよい。例えば、画像分散処理装置１において、結合部１４及び割り当て部１１で１つの装置を構成し、各分離部１５−ｋ、各画像処理部１２−ｋ、及び各記憶部１３−ｋで１つの装置を構成するようにしてもよい。また、画像分散処理装置２，３において、各集約部１７−ｋを１つの装置で構成するようにしてもよいし、画像処理部１２−ｋと集約部１７−ｋを同じ装置が兼用し、画像処理を終えた後に集約処理を行うようにしてもよい。さらに、画像分散処理装置１，２，３において、記憶部１３は外部の装置が備えるようにしてもよい。
【符号の説明】
【００６８】
１，２，３  画像分散処理装置
１１        割り当て部
１２        画像処理部
１３        記憶部
１４        結合部
１５        分離部
１６        分割部
１７        集約部
【図１】
2016046578.tif 000007
【図２】
2016046578.tif 000008
【図３】
2016046578.tif 000009
【図４】
2016046578.tif 000010
【図５】
2016046578.tif 000011
【図６】
2016046578.tif 000012
【図７】
2016046578.tif 000013
【図８】
2016046578.tif 000014
【図９】
2016046578.tif 000015
【図１０】
2016046578.tif 000016