(57)【要約】【課題】処理要素群を再構成する処理効率を向上させる。【解決手段】情報処理装置１０は、複数の処理要素のうち統合又は処理順序の交換が可能な処理要素の組毎に、当該組の処理要素間の統合又は処理順序の交換に関する関係情報を格納し、複数の処理要素を含む対象処理要素群を取得し、取得した対象処理要素群に含まれる処理要素に関して格納される関係情報を抽出し、抽出した関係情報の統合に関する情報に基づいて、対象処理要素群に含まれる処理要素の中から統合する処理要素の組を決定し、決定した処理要素の組に基づいて、対象処理要素群に含まれる処理要素と当該対象処理要素群に含まれる各処理要素間の関係情報を更新し、更新された関係情報の処理順序の交換に関する情報に基づいて、更新された対象処理要素群に含まれる処理要素の処理順序を決定する。【選択図】図１
2010198567.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理要素のうち統合又は処理順序の交換が可能な処理要素の組毎に、当該組の処理要素間の統合又は処理順序の交換に関する関係情報を格納する格納手段と、
複数の処理要素を含む対象処理要素群を取得する取得手段と、
前記取得手段により取得した対象処理要素群に含まれる処理要素に関して前記格納手段に格納される関係情報を抽出する抽出手段と、
前記抽出手段により抽出した関係情報の統合に関する情報に基づいて、前記対象処理要素群に含まれる処理要素の中から統合する処理要素の組を決定する統合処理要素決定手段と、
前記統合処理要素決定手段により決定した処理要素の組に基づいて、前記対象処理要素群に含まれる処理要素と当該対象処理要素群に含まれる各処理要素間の関係情報を更新する更新手段と、
前記更新手段により更新された関係情報の処理順序の交換に関する情報に基づいて、前記更新手段により更新された対象処理要素群に含まれる処理要素の処理順序を決定する処理順序決定手段と、を含む
ことを特徴とする情報処理装置。
【請求項２】
前記複数の処理要素を格納する処理要素格納手段と、
前記更新手段により更新された前記対象処理要素群に含まれる処理要素を前記処理要素格納手段から取得すると共に、当該取得した処理要素を前記処理順序決定手段により決定された処理順序に従って連結して前記対象処理要素群を再構成する再構成手段と、をさらに含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記関係情報は、前記組の処理要素間の統合の可否、又は処理順序の交換の効果についての情報を含む
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
指定された処理要素群に含まれる処理要素のうち、前記格納手段に関係情報が格納されない処理要素を特定する特定手段と、をさらに含み、
前記取得手段は、前記特定手段により特定した処理要素に基づいて前記指定された処理要素群を分割した各処理要素群を前記対象処理要素群としてそれぞれ取得する
ことを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
複数の処理要素のうち統合又は処理順序の交換が可能な処理要素の組毎に、当該組の処理要素間の統合又は処理順序の交換に関する関係情報を格納する格納手段を参照する手段と、
複数の処理要素を含む対象処理要素群を取得する取得手段と、
前記取得手段により取得した対象処理要素群に含まれる処理要素に関して前記格納手段に格納される関係情報を抽出する抽出手段と、
前記抽出手段により抽出した関係情報の統合に関する情報に基づいて、前記対象処理要素群に含まれる処理要素の中から統合する処理要素の組を決定する統合処理要素決定手段と、
前記統合処理要素決定手段により決定した処理要素の組に基づいて、前記対象処理要素群に含まれる処理要素と当該対象処理要素群に含まれる各処理要素間の関係情報を更新する更新手段と、
前記更新手段により更新された関係情報の処理順序の交換に関する情報に基づいて、前記更新手段により更新された対象処理要素群に含まれる処理要素の処理順序を決定する処理順序決定手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
複数の処理要素（処理モジュール）を直列に接続して構成されたパイプラインの処理効率を向上させるために、例えば下記の特許文献１に記載されているように、パイプラインを構成する処理要素の処理順序を入れ換えたり、処理要素を統合したりする技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２９０３９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的の一つは、処理要素群を再構成する処理効率を向上させることができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の情報処理装置の発明は、複数の処理要素のうち統合又は処理順序の交換が可能な処理要素の組毎に、当該組の処理要素間の統合又は処理順序の交換に関する関係情報を格納する格納手段と、複数の処理要素を含む対象処理要素群を取得する取得手段と、前記取得手段により取得した対象処理要素群に含まれる処理要素に関して前記格納手段に格納される関係情報を抽出する抽出手段と、前記抽出手段により抽出した関係情報の統合に関する情報に基づいて、前記対象処理要素群に含まれる処理要素の中から統合する処理要素の組を決定する統合処理要素決定手段と、前記統合処理要素決定手段により決定した処理要素の組に基づいて、前記対象処理要素群に含まれる処理要素と当該対象処理要素群に含まれる各処理要素間の関係情報を更新する更新手段と、前記更新手段により更新された関係情報の処理順序の交換に関する情報に基づいて、前記更新手段により更新された対象処理要素群に含まれる処理要素の処理順序を決定する処理順序決定手段と、を含むことを特徴とする。
【０００６】
また、請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記複数の処理要素を格納する処理要素格納手段と、前記更新手段により更新された前記対象処理要素群に含まれる処理要素を前記処理要素格納手段から取得すると共に、当該取得した処理要素を前記処理順序決定手段により決定された処理順序に従って連結して前記対象処理要素群を再構成する再構成手段と、をさらに含むことを特徴とする。
【０００７】
また、請求項３に記載の発明は、請求項１又は２に記載の情報処理装置において、前記関係情報は、前記組の処理要素間の統合の可否、又は処理順序の交換の効果についての情報を含むことを特徴とする。
【０００８】
また、請求項４に記載の発明は、請求項１乃至３のいずれかに記載の情報処理装置において、指定された処理要素群に含まれる処理要素のうち、前記格納手段に関係情報が格納されない処理要素を特定する特定手段と、をさらに含み、前記取得手段は、前記特定手段により特定した処理要素に基づいて前記指定された処理要素群を分割した各処理要素群を前記対象処理要素群としてそれぞれ取得することを特徴とする。
【０００９】
また、請求項５に記載のプログラムの発明は、複数の処理要素のうち統合又は処理順序の交換が可能な処理要素の組毎に、当該組の処理要素間の統合又は処理順序の交換に関する関係情報を格納する格納手段を参照する手段と、複数の処理要素を含む対象処理要素群を取得する取得手段と、前記取得手段により取得した対象処理要素群に含まれる処理要素に関して前記格納手段に格納される関係情報を抽出する抽出手段と、前記抽出手段により抽出した関係情報の統合に関する情報に基づいて、前記対象処理要素群に含まれる処理要素の中から統合する処理要素の組を決定する統合処理要素決定手段と、前記統合処理要素決定手段により決定した処理要素の組に基づいて、前記対象処理要素群に含まれる処理要素と当該対象処理要素群に含まれる各処理要素間の関係情報を更新する更新手段と、前記更新手段により更新された関係情報の処理順序の交換に関する情報に基づいて、前記更新手段により更新された対象処理要素群に含まれる処理要素の処理順序を決定する処理順序決定手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１０】
請求項１及び５に記載の発明によれば、処理要素群を再構成する処理効率を向上させることができる。
【００１１】
請求項２に記載の発明によれば、対象処理要素群の再構成を行う際の処理情報量を低減することができる。
【００１２】
請求項３に記載の発明によれば、統合又は処理順序の変更ができない処理要素が含まれる処理要素群についても再構成の処理効率を向上させることができる。
【００１３】
請求項４に記載の発明によれば、対象処理要素群の再構成を行う処理負荷を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る情報処理装置の機能ブロック図である。
【図２Ａ】全体対応関係情報の一例を示す図である。
【図２Ｂ】処理モジュールＭ１〜Ｍ２６の内容を具体的に示した図である。
【図２Ｃ】全体対応関係行列の各行列要素に格納された値の示す内容を表した図である。
【図３】パイプラインの分割例を示す図である。
【図４】部分対応関係行列の一例を示した図である。
【図５】「２」の箇所を更新した部分対応関係行列の一例を示した図である。
【図６】処理モジュールの統合処理を具体的に説明する図である。
【図７Ａ】第１の順序交換について説明する図である。
【図７Ｂ】第２の順序交換について説明する図である。
【図８】パイプラインの再構成処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための好適な実施の形態（以下、実施形態という）を、図面に従って説明する。
【００１６】
図１には、本実施形態に係る情報処理装置１０の機能ブロック図を示す。図１に示されるように、情報処理装置１０は、入力部１２、記憶部１４、制御部１６、処理モジュール群格納部１８、対応関係情報格納部２０、部分パイプライン抽出部２２、部分対応関係情報生成部２４、部分対応関係情報更新部２６、及びパイプライン再構成部２８を含む。上記の各部の機能は、ＣＰＵ等の制御手段、メモリ等の記憶手段、外部デバイスとデータを送受信する入出力手段等を備えたコンピュータが、コンピュータ読み取り可能な情報記憶媒体に格納されたプログラムを読み込み実行することで実現されるものとしてよい。なお、プログラムは情報記憶媒体によってコンピュータたる情報処理装置１０に供給されることとしてもよいし、インターネット等のデータ通信ネットワークを介して供給されることとしてもよい。
【００１７】
入力部１２は、キーボードやマウス等の入力デバイスからの入力や、スキャナ等の外部装置からのデータの入力を受け付けるものである。本実施形態では、入力部１２はスキャナにより取得された画像の入力を受け付けることとする。
【００１８】
記憶部１４は、半導体メモリや磁気ディスク等の記憶装置を含み構成され、本実施形態に係る情報処理装置１０の各部の機能を実現するプログラムを記憶すると共に、制御部１６による処理のワークメモリとしても用いられる。
【００１９】
制御部１６は、ＣＰＵ（中央処理装置）を含み構成され、記憶部１４に記憶される制御プログラムに従って処理を行うと共に、情報処理装置１０の各部を制御するものである。本実施形態では、制御部１６には、入力部１２により受け付けた画像と共に、当該画像を処理する指定されたパイプライン（処理モジュールを連結して構成した処理モジュール群）が入力される。そして、本実施形態に係る情報処理装置１０には、後述するように、指定されたパイプラインの再構成を効率良く実行する機能が備えられる。
【００２０】
処理モジュール群格納部１８は、半導体メモリ、磁気ディスク、情報記憶媒体等の記憶手段を含み構成され、処理モジュールの全体集合に含まれる各処理モジュールに係る情報を格納している。処理モジュールに係る情報には、処理モジュールへの入力情報（入力画像情報）の属性及び出力情報（出力画像情報）の属性、処理モジュールに備えられた機能を実行する関数（メソッド）、入力情報と出力情報とのデータ変化量を演算する関数等が含まれる。なお、データ変化量を演算する関数とは、処理モジュールへの入力の情報量に対する出力の情報量の比を演算する関数である。
【００２１】
対応関係情報格納部２０は、半導体メモリ、磁気ディスク、情報記憶媒体等の記憶手段を含み構成され、処理モジュールの全体集合に含まれる処理モジュールのうち統合又は処理順序の交換が可能な処理モジュールの組毎に、当該組の処理モジュール間の統合又は処理順序の交換に関する関係情報（以下、全体対応関係情報とする）を格納するものである。
【００２２】
図２Ａには、対応関係情報格納部２０に格納される全体対応関係情報の一例を示した。図２Ａに示されるように、全体対応関係情報は、第１の処理モジュール（Ｐ１）を行要素に、第２の処理モジュール（Ｐ２）を列要素に表し、第１の処理モジュールと第２の処理モジュール間の統合の可否又は処理順序の交換の効果を行列要素の値により表した行列（全体対応関係行列）である。全体対応関係行列は、Ｎ（図示した例ではＮ＝２６）個の処理モジュールＭ１〜ＭＮ間の関係を表しており、Ｎ×Ｎの行列として表される。
【００２３】
図２ＡにおいてはＰ１、Ｐ２の順に実行される場合の関係が行列要素に格納されていることとする。また、図２Ａに示した全体対応関係行列は、入力画像がカラー、処理順序の交換の効果を処理速度を基準として評価したものとするが、全体対応関係行列は入力画像の属性及び効果の評価基準に応じてそれぞれ生成しておくこととしてよい。なお、図２Ｂには、本実施形態における処理モジュールＭ１〜Ｍ２６の内容を具体的に示した。
【００２４】
図２Ｃには、全体対応関係行列の各行列要素に格納された値の示す内容を表した。図２Ｃにおいては、処理速度を評価基準とした場合と、画質を評価基準とした場合の二通りを例示しているが、これ以外の評価基準を用いても構わない。
【００２５】
処理速度を評価基準とした場合には、「−２」はＰ１とＰ２とは「処理順序を固定」する関係にあることを表し、「−１」はＰ１、Ｐ２の順に処理すると逆順序よりも処理速度が「遅い」ことを表し、「０」はＰ１とＰ２の処理順序を入れ換えても処理速度が「同等」であることを表し、「１」はＰ１、Ｐ２の順に処理すると逆順序よりも処理速度が「速い」ことを表し、「２」はＰ１とＰ２の処理順序による処理速度は「処理する情報量に依存」することを表す。また、「３」はＰ１とＰ２とが「統合可」であることを表す。
【００２６】
また、画質を評価基準とした場合には、「−２」はＰ１とＰ２とは「処理順序を固定」する関係にあることを表し、「−１」はＰ１、Ｐ２の順に処理すると逆順序よりも画質が「悪い」ことを表し、「０」はＰ１とＰ２の処理順序を入れ換えても画質が「同等」であることを表し、「１」はＰ１、Ｐ２の順に処理すると逆順序よりも画質が「良い」ことを表し、「３」はＰ１とＰ２とが「統合可」であることを表す。
【００２７】
図２Ａに示されるように、処理速度を評価基準として生成された全体対応関係行列の特徴としては、対角要素は同じ処理モジュール同士の関係であるため概ね「３」であり、行列要素（ｉ，ｊ）に「０」，「２」が格納されていれば、行列要素（ｊ，ｉ）にはそれぞれ「０」，「２」が格納され、行列要素（ｉ，ｊ）に「１」，「−１」が格納されていれば行列要素（ｊ，ｉ）にはそれぞれ「−１」，「１」が格納される。
【００２８】
部分パイプライン抽出部２２は、制御部１６に指定されたパイプラインの中から最適化の対象とする部分パイプライン（対象処理要素群）を抽出するものである。本実施形態では、部分パイプライン抽出部２２は、指定されたパイプラインに含まれる処理モジュールの中に全体対応関係行列に含まれない処理モジュール（以下、固定処理モジュール）を特定し、当該特定した固定処理モジュールを基準としてパイプラインを分割する。そして、部分パイプライン抽出部２２は、固定処理モジュールを除き分割された各部分パイプラインを最適化の対象として抽出する。
【００２９】
図３には、固定処理モジュールに基づく指定されたパイプラインの分割例を示す。処理モジュールＢは全体対応関係行列に含まれない固定処理モジュールであることとし、指定されたパイプラインは、処理モジュールＢを基準として処理モジュールＡ１〜Ａ６からなる部分パイプラインＡと、処理モジュールＣ１〜Ｃｎからなる部分パイプラインＣとに分割され、各部分パイプラインが最適化対象として部分パイプライン抽出部２２により抽出される。図示した例においては、Ａ１：１／２倍縮小（scale）、Ａ２：画素値反転（not）、Ａ３：色空間変換（Color Space）、Ａ４：画素値反転（not）、Ａ５：３倍拡大（scale）、Ａ６：Ｘ軸対象変換（MirrorX）とする。
【００３０】
部分対応関係情報生成部２４は、部分パイプライン抽出部２２により抽出された部分パイプライン毎に、当該部分パイプラインに含まれる処理モジュールが全体対応関係行列中で該当するデータを抽出して部分対応関係行列をそれぞれ生成する。以下、部分パイプラインＡを例に挙げて部分対応関係行列を生成する処理を具体的に説明する。
【００３１】
図４には、全体対応関係行列において部分パイプラインＡの要素Ａ１〜Ａ６のそれぞれが該当する行要素及び列要素（Ｍ２０，Ｍ１１，Ｍ１０，Ｍ１１，Ｍ２０，Ｍ１８）を全体対応関係行列から抜き出して生成した部分対応関係行列を示した。抜き出して生成した直後の部分対応関係行列は、行及び列における処理モジュールの並びは元々指定された順序（Ａ１，Ａ２，・・・，Ａ６の順）となっている。
【００３２】
次に、部分対応関係情報更新部２６は、部分対応関係情報生成部２４により生成した部分対応関係行列をその格納された値に基づいて更新する。以下、図５乃至図７を参照しながら部分対応関係情報更新部２６による部分対応関係行列の更新処理の一例を具体的に説明する。
【００３３】
まず、部分対応関係情報更新部２６は、部分対応関係行列に格納される「２」（処理データ量に依存）の箇所を更新する。図５には、部分対応関係情報更新部２６により「２」の箇所を更新した部分対応関係行列の一例を示した。具体的には、部分対応関係情報更新部２６は、入力部１２から入力される画像データと、処理モジュール群格納部１８に格納される各処理モジュールのデータ変化量を演算する関数に基づいて、第１の処理モジュール（列）と第２の処理モジュール（行）との予め定められた評価基準（処理速度に基づく評価基準）についての関係が「１」（速い）、「０」（同等）、「−１」（遅い）のいずれであるのかを決定し、当該決定した値に基づいて部分対応関係行列を更新する。
【００３４】
次に、部分対応関係情報更新部２６は、部分対応関係行列に格納される値に基づいて統合する処理モジュールの組を決定すると共に、当該決定した処理モジュールの組に基づいて部分対応関係行列を更新する。本実施形態では、部分対応関係情報更新部２６は、部分対応関係行列の第ｉ（初期値＝１）行から順に着目し、その着目した行に「３」が含まれているか否かを判断する。「３」が含まれていて、かつ、上記着目した行において「３」が格納されている列までに「−２」が含まれていなければ当該行及び列により特定される処理モジュールを統合する。処理モジュールをいずれの側に統合するかは、統合した場合に出力される処理データ量の大小に基づいて決定することとしてよい。また、統合処理が終わった場合、又は統合する処理モジュールがなかった場合は次の行に進み同様の処理を繰り返す。以下、図６を参照しながら、部分対応関係情報更新部２６により行われる処理モジュールの統合処理を具体的に説明する。
【００３５】
まず、部分対応関係情報更新部２６は、図６（ａ）に示されるように、第１行に着目し、この行の中に含まれる「３」の箇所を特定する。図６（ａ）に示される例では１行５列の箇所に「３」があり、第１行において５列の前には「−２」が存在しないから、処理モジュールＡ１と処理モジュールＡ５とを統合すると決定する。処理モジュールＡ１は１／２倍縮小、処理モジュールＡ５は３倍拡大であり、統合後は１．５倍拡大となり出力データ量が入力データ量よりも大きくなるため、ここではより後段に配置された処理モジュールＡ５に処理モジュールＡ１を統合させることとする。本実施形態では、処理モジュールが統合可能な場合には統合させることとしているが、統合するか否かを判断する判断手段をさらに設け、その判断結果に基づいて統合処理を行うこととしてもよい。
【００３６】
部分対応関係情報更新部２６は、処理モジュールＡ１をＡ５に統合することにより、図６（ｂ）に示されるように部分対応関係行列において処理モジュールＡ１に該当する行及び列を削除すると共に、図６（ｃ）に示されるように統合後の処理モジュール間の対応関係に基づいて部分対応関係行列の各値を更新する。図６（ｃ）では「３」から対角要素までに「−２」が存在するためにここで統合処理を終了する。
【００３７】
部分対応関係情報更新部２６は、統合処理により更新された部分対応関係行列に格納された値に基づいて、部分対応関係行列に含まれる処理モジュールの処理順序を決定し、当該決定した処理順序に基づいて部分対応関係行列を更新する。以下、部分対応関係情報更新部２６により行われる順序決定処理の決定処理について具体的に説明する。
【００３８】
部分対応関係情報更新部２６は、部分対応関係行列のうち、処理順序が隣接する処理モジュール間の対応関係情報（以下、隣接対応関係情報とする）に着目し、この隣接対応関係情報に「−1」が含まれなくなるまで処理モジュールの順序交換を行う。この処理を第１の順序交換とする。なお、隣接対応関係情報は対角要素の上部に位置する行列要素である。以下、図７Ａを参照しながら第１の順序交換について説明する。
【００３９】
図７Ａ（ａ）に示されるように、隣接対応関係情報のうち処理モジュールＡ５と処理モジュールＡ６との対応関係情報が「−1」であるため、この処理モジュールＡ５と処理モジュールＡ６との順序を交換して、図７Ａ（ｂ）に示されるように部分対応関係行列を更新する。更新された部分対応関係行列では隣接対応関係情報に「−1」が含まれていないため、ここで第１の順序交換を終了する。
【００４０】
次に、図７Ｂを参照しながら、隣接対応関係情報に含まれる「−２」に着目した第２の順序交換について説明する。まず、「−２」の右隣及び右下に位置する行列要素の値に着目し、図７Ｂ（ａ）に示されるようにこの値が「１」又は「０」であれば、処理モジュールＸ２，Ｘ３の順序で処理を行い、かつ、Ｘ２，Ｘ４の順序及びＸ３，Ｘ４の順序が望ましいため、処理順序がＸ２，Ｘ３，Ｘ４と一意に決定される。一方で、図７Ｂ（ｂ）に示されるように、右隣に「−1」、右下に「１」が格納されている場合には、処理モジュールＸ２，Ｘ３の順序で処理を行い、かつ、Ｘ４，Ｘ２の順序及びＸ３，Ｘ４の順序が望ましいため、処理順序としてＸ４，Ｘ２，Ｘ３とＸ２，Ｘ３，Ｘ４の二通りが考えられ処理順序が一意に決定されない。そこで、この場合には、処理モジュールＸ４と処理モジュール（Ｘ２＋Ｘ３）とのデータ変化量の大小を比較し、データ変化量が小さくなる処理モジュールを前段側に配置することとする。
【００４１】
部分対応関係情報更新部２６は、以上説明した部分対応関係行列の更新を最適化の対象とした全ての部分パイプラインについて行う。
【００４２】
パイプライン再構成部２８は、部分対応関係情報更新部２６により更新された各部分パイプラインの部分対応関係行列に基づいてパイプラインを再構成するものである。具体的には、パイプライン再構成部２８は、部分対応関係行列の行（又は列）に示される処理モジュールを処理モジュール群格納部１８から読み出して取得し、取得した処理モジュールを部分対応関係行列の行（又は列）の順序で順次連結して部分パイプラインをそれぞれ形成し、形成した部分パイプラインと固定処理モジュールとをさらに連結してパイプラインを再構成する。
【００４３】
次に、図８に示されたフローチャートを参照しながら、情報処理装置１０により行われるパイプラインの再構成処理の流れについて説明する。
【００４４】
情報処理装置１０は、画像データ及び画像データに対する処理内容を示すパイプライン（処理パス）の入力を受け付ける（Ｓ１）。パイプラインは、複数の処理モジュールを順次連結して構成されるものである。情報処理装置１０は、処理モジュール間で統合又は順序変更が可能なものについての情報を格納した全体対応関係情報に基づいて、上記入力されたパイプラインを１又は複数の部分パイプラインに分割する（Ｓ２）。
【００４５】
情報処理装置１０は、分割した部分パイプラインのうち未処理の部分パイプラインを１つ選択して（Ｓ３）、当該選択した部分パイプラインについて全体対応関係情報の中から該当する箇所を抽出して部分対応関係情報を生成する（Ｓ４）。情報処理装置１０は、生成した部分対応関係情報に含まれる情報のうち、処理モジュール間の統合についての情報に基づいて統合する処理モジュールを決定して、当該決定した統合する処理モジュールに基づいて部分対応関係情報を更新する（Ｓ５）。さらに情報処理装置１０は、更新した部分対応関係情報に含まれる情報に基づいて、部分パイプラインの処理順序を決定し、当該決定した処理順序に基づいて部分対応関係情報を更新する（Ｓ６）。
【００４６】
情報処理装置１０は、未処理の部分パイプラインがあるか否かを判断して（Ｓ７）、「ある」と判断する場合には（Ｓ７：Ｙ）Ｓ３に戻ってそれ以降の処理を繰り返し、「ない」と判断する場合には（Ｓ７：Ｎ）更新された各部分パイプラインの部分対応関係情報に基づいて処理モジュール群格納部１８から処理モジュールを取得してパイプラインを再構成して（Ｓ８）、処理を終了する。
【００４７】
以上説明した本実施形態に係る情報処理装置１０では、パイプラインに含まれる処理モジュール群について統合の処理を先に実行した上で処理順序を最適化することでパイプラインを最適な処理パスで再構成する処理が効率良く行われる。また、処理モジュール間の統合又は処理順序の効果を格納した対応関係情報を用いて処理モジュールの統合、順序交換を行うことで処理負荷が低減される。
【００４８】
なお、本発明は上記の実施形態に限定されるものではなく、例えば情報処理装置１０は、パイプラインを再構成した後に、再構成したパイプラインにより画像データを続けて処理することとしてもよい。また、本発明は画像データ以外の他のデータ一般を処理する用途にも適用してよいのはもちろんである。
【符号の説明】
【００４９】
１０  情報処理装置、１２  入力部、１４  記憶部、１６  制御部、１８  処理モジュール群格納部、２０  対応関係情報格納部、２２  部分パイプライン抽出部、２４  部分対応関係情報生成部、２６  部分対応関係情報更新部、２８  パイプライン再構成部。
【図１】
2010198567.tif 000003
【図２Ａ】
2010198567.tif 000004
【図２Ｂ】
2010198567.tif 000005
【図２Ｃ】
2010198567.tif 000006
【図３】
2010198567.tif 000007
【図４】
2010198567.tif 000008
【図５】
2010198567.tif 000009
【図６】
2010198567.tif 000010
【図７Ａ】
2010198567.tif 000011
【図７Ｂ】
2010198567.tif 000012
【図８】
2010198567.tif 000013