(57)【要約】【課題】画像データの処理において、分岐処理要素の追加が要求された場合に生じるメモリ量増加または処理速度低下の低減を図る。【解決手段】末端処理要素となっている分岐処理要素Ｅｘを対象にＮ個の分岐処理要素Ｅｙの追加が要求された場合に、分岐可能条件が満足されていれば、制御部は、分岐処理要素Ｅｘの前段の画像処理要素Ｅｚの後段に「Ｎ−１」個の分岐処理要素Ｅｙを連結する（Ｓ４０２）。一方、分岐可能条件が満足されていなければ、制御部は、分岐処理要素Ｅｘの後段にＮ個の分岐処理要素Ｅｙを連結する（Ｓ４０３）。【選択図】図１２
2013058139.tif 000002
【特許請求の範囲】
【請求項１】
前段の処理要素からデータを取得するとともに取得したデータを対象に画像処理を実行する画像処理モジュールと当該画像処理モジュールの画像処理によって生成されたデータを記憶するバッファ領域とを含む１又は複数の画像処理要素、及び、前段の処理要素からデータを取得する分岐モジュールと当該分岐モジュールにより取得されたデータを記憶するバッファ領域とを含む１又は複数の分岐処理要素、を含む複数の処理要素を、無閉路有向グラフ状に連結する連結手段を含み、
前記連結手段は、
画像処理要素の追加が要求された場合に、画像処理要素を、前記無閉路有向グラフを構成する処理要素として既に設定されている１又は複数の処理要素のうちの後段に処理要素がない末端処理要素の後段の、前記無閉路有向グラフの処理要素として設定する第１設定手段と、
Ｎ（Ｎは２以上の整数）個の分岐処理要素の追加が要求された場合に、Ｎ個の分岐処理要素を、末端処理要素の後段の前記無閉路有向グラフの処理要素として設定する第２設定手段と、を含み、
前記第２設定手段は、
Ｎ個の分岐処理要素の追加が要求された場合において末端処理要素が画像処理要素であるとき、Ｎ個の分岐処理要素を、当該末端処理要素の後段の前記無閉路有向グラフの処理要素として設定し、Ｎ個の分岐処理要素の追加が要求された場合において当該末端処理要素が分岐処理要素であるとき、（Ｎ−１）個の分岐処理要素を、当該末端処理要素の前段に位置する画像処理要素の後段の、前記無閉路有向グラフの処理要素として設定すること、
を特徴とする画像処理装置。
【請求項２】
前記画像処理モジュールは、
自身を含む画像処理要素の前段の処理要素のバッファ領域に記憶されるデータを単位読出データ量ずつ読み出し、読み出したデータを対象に画像処理を行うとともに画像処理によって生成されたデータを当該画像処理要素のバッファ領域に単位書込データ量ずつ保存し、
前記分岐モジュールは、
自身を含む分岐処理要素の前段に位置する画像処理要素のバッファ領域に記憶されるデータを単位読出データ量ずつ読み出し、読み出した単位読出データ量のデータを当該分岐処理要素のバッファ領域に保存し、
分岐モジュールの単位読出データ量は、当該分岐モジュールを含む分岐処理要素の前段に位置する画像処理要素の画像処理モジュールの単位書込データ量と同じデータ量に設定され、
前記画像処理装置は、
前記第１設定手段によって画像処理要素が末端処理要素の後段の前記無閉路有向グラフの処理要素として設定された場合において当該末端処理要素が分岐処理要素であるときに、当該末端処理要素の分岐モジュールの単位読出データ量が、当該画像処理要素の画像処理モジュールの単位読出データ量の整数倍のデータ量であれば、当該末端処理要素を削除するとともに、当該画像処理要素を、当該末端処理要素の前段に位置する画像処理要素の後段の、前記無閉路有向グラフの処理要素として設定する手段をさらに含むこと、
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前段の処理要素からデータを取得するとともに取得したデータを対象に画像処理を実行する画像処理モジュールと当該画像処理モジュールの画像処理によって生成されたデータを記憶するバッファ領域とを含む１又は複数の画像処理要素、及び、前段の処理要素からデータを取得する分岐モジュールと当該分岐モジュールにより取得されたデータを記憶するバッファ領域とを含む１又は複数の分岐処理要素、を含む複数の処理要素を、無閉路有向グラフ状に連結する連結手段としてコンピュータを機能させるプログラムであって、
前記連結手段は、
画像処理要素の追加が要求された場合に、画像処理要素を、前記無閉路有向グラフを構成する処理要素として既に設定されている１又は複数の処理要素のうちの後段に処理要素がない末端処理要素の後段の、前記無閉路有向グラフの処理要素として設定する第１設定手段と、
Ｎ（Ｎは２以上の整数）個の分岐処理要素の追加が要求された場合に、Ｎ個の分岐処理要素を、末端処理要素の後段の前記無閉路有向グラフの処理要素として設定する第２設定手段と、を含み、
前記第２設定手段は、
Ｎ個の分岐処理要素の追加が要求された場合において末端処理要素が画像処理要素であるとき、Ｎ個の分岐処理要素を、当該末端処理要素の後段の前記無閉路有向グラフの処理要素として設定し、Ｎ個の分岐処理要素の追加が要求された場合において当該末端処理要素が分岐処理要素であるとき、（Ｎ−１）個の分岐処理要素を、当該末端処理要素の前段に位置する画像処理要素の後段の、前記無閉路有向グラフの処理要素として設定すること、
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
下記特許文献１には、所望の画像処理を行うべく、プログラマブルな複数の画像処理モジュールを接続することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１０５０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、画像データの処理において、分岐処理要素の追加が要求された場合に生じるメモリ量増加または処理速度低下の低減を図ることである。
【課題を解決するための手段】
【０００５】
上記課題を解決するための請求項１の発明は、前段の処理要素からデータを取得するとともに取得したデータを対象に画像処理を実行する画像処理モジュールと当該画像処理モジュールの画像処理によって生成されたデータを記憶するバッファ領域とを含む１又は複数の画像処理要素、及び、前段の処理要素からデータを取得する分岐モジュールと当該分岐モジュールにより取得されたデータを記憶するバッファ領域とを含む１又は複数の分岐処理要素、を含む複数の処理要素を、無閉路有向グラフ状に連結する連結手段を含み、前記連結手段は、画像処理要素の追加が要求された場合に、画像処理要素を、前記無閉路有向グラフを構成する処理要素として既に設定されている１又は複数の処理要素のうちの後段に処理要素がない末端処理要素の後段の、前記無閉路有向グラフの処理要素として設定する第１設定手段と、Ｎ（Ｎは２以上の整数）個の分岐処理要素の追加が要求された場合に、Ｎ個の分岐処理要素を、末端処理要素の後段の前記無閉路有向グラフの処理要素として設定する第２設定手段と、を含み、前記第２設定手段は、Ｎ個の分岐処理要素の追加が要求された場合において末端処理要素が画像処理要素であるとき、Ｎ個の分岐処理要素を、当該末端処理要素の後段の前記無閉路有向グラフの処理要素として設定し、Ｎ個の分岐処理要素の追加が要求された場合において当該末端処理要素が分岐処理要素であるとき、（Ｎ−１）個の分岐処理要素を、当該末端処理要素の前段に位置する画像処理要素の後段の、前記無閉路有向グラフの処理要素として設定すること、を特徴とする画像処理装置である。
【０００６】
また、請求項２の発明は、請求項１の発明において、前記画像処理モジュールは、自身を含む画像処理要素の前段の処理要素のバッファ領域に記憶されるデータを単位読出データ量ずつ読み出し、読み出したデータを対象に画像処理を行うとともに画像処理によって生成されたデータを当該画像処理要素のバッファ領域に単位書込データ量ずつ保存し、前記分岐モジュールは、自身を含む分岐処理要素の前段に位置する画像処理要素のバッファ領域に記憶されるデータを単位読出データ量ずつ読み出し、読み出した単位読出データ量のデータを当該分岐処理要素のバッファ領域に保存し、分岐モジュールの単位読出データ量は、当該分岐モジュールを含む分岐処理要素の前段に位置する画像処理要素の画像処理モジュールの単位書込データ量と同じデータ量に設定され、前記画像処理装置は、前記第１設定手段によって画像処理要素が末端処理要素の後段の前記無閉路有向グラフの処理要素として設定された場合において当該末端処理要素が分岐処理要素であるときに、当該末端処理要素の分岐モジュールの単位読出データ量が、当該画像処理要素の画像処理モジュールの単位読出データ量の整数倍のデータ量であれば、当該末端処理要素を削除するとともに、当該画像処理要素を、当該末端処理要素の前段に位置する画像処理要素の後段の、前記無閉路有向グラフの処理要素として設定する手段をさらに含むこと、を特徴とする。
【０００７】
また、上記課題を解決するための請求項３の発明は、前段の処理要素からデータを取得するとともに取得したデータを対象に画像処理を実行する画像処理モジュールと当該画像処理モジュールの画像処理によって生成されたデータを記憶するバッファ領域とを含む１又は複数の画像処理要素、及び、前段の処理要素からデータを取得する分岐モジュールと当該分岐モジュールにより取得されたデータを記憶するバッファ領域とを含む１又は複数の分岐処理要素、を含む複数の処理要素を、無閉路有向グラフ状に連結する連結手段としてコンピュータを機能させるプログラムであって、前記連結手段は、画像処理要素の追加が要求された場合に、画像処理要素を、前記無閉路有向グラフを構成する処理要素として既に設定されている１又は複数の処理要素のうちの後段に処理要素がない末端処理要素の後段の、前記無閉路有向グラフの処理要素として設定する第１設定手段と、Ｎ（Ｎは２以上の整数）個の分岐処理要素の追加が要求された場合に、Ｎ個の分岐処理要素を、末端処理要素の後段の前記無閉路有向グラフの処理要素として設定する第２設定手段と、を含み、前記第２設定手段は、Ｎ個の分岐処理要素の追加が要求された場合において末端処理要素が画像処理要素であるとき、Ｎ個の分岐処理要素を、当該末端処理要素の後段の前記無閉路有向グラフの処理要素として設定し、Ｎ個の分岐処理要素の追加が要求された場合において当該末端処理要素が分岐処理要素であるとき、（Ｎ−１）個の分岐処理要素を、当該末端処理要素の前段に位置する画像処理要素の後段の、前記無閉路有向グラフの処理要素として設定すること、を特徴とするプログラムである。
【発明の効果】
【０００８】
請求項１、請求項３の発明によれば、画像データの処理において、分岐処理要素の追加が要求された場合に生じるメモリ量増加または処理速度低下の低減を図ることができる。
【０００９】
請求項２の発明によれば、本構成を有しない場合に比して、分岐処理要素の追加が要求された場合に生じるメモリ量増加または処理速度低下の更なる低減を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の構成を例示する図である。
【図２】パイプラインを例示する図である。
【図３】画像処理要素及び分岐処理要素を例示する図である。
【図４】バッファ領域を例示する図である。
【図５】バッファ管理テーブルを例示する図である。
【図６】パイプラインを作成する様子を説明するための図である。
【図７】パイプラインを作成する様子を説明するための図である。
【図８】パイプラインを作成する様子を説明するための図である。
【図９】制御部が実行する処理を例示するフロー図である。
【図１０】制御部が実行する処理を例示するフロー図である。
【図１１】制御部が実行する処理を例示するフロー図である。
【図１２】制御部が実行する処理を例示するフロー図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００１２】
図１は、本発明の実施形態に係る画像処理装置２の構成を例示する図である。画像処理装置２は、制御部４、記憶部６、主記憶８、及び表示部１０等を備えたパイプライン画像処理装置として実現される。制御部４、記憶部６、主記憶８、及び表示部１０はバスを介してデータ授受可能に接続されている。なお、画像処理装置２は、これらの他にもユーザインタフェース等も備えている。
【００１３】
制御部４は、例えばマイクロプロセッサであり、記憶部６に記憶されるプログラムに従って情報処理を実行する。主記憶８は、ＲＡＭであり、情報処理の過程で必要となる各種データが格納される。表示部１０は、例えばモニタであり、制御部４から入力される情報を出力する。表示部１０には、画像処理の結果が出力される。
【００１４】
また、記憶部６は、ＲＯＭ及びハードディスクを含む情報記憶媒体であり、オペレーションシステムの他、アプリケーションプログラムＡＰと、複数の画像処理プログラムＩＰと、パイプライン作成プログラムＰＰと、などが格納される。これらのプログラムは、ＤＶＤ（登録商標）−ＲＯＭ等のコンピュータ読取可能な情報記憶媒体から読み出されて記憶部６に格納されてもよいし、ネットワーク等の通信網から供給されて記憶部６に格納されてもよい。なお、画像処理プログラムＩＰにより実行される画像処理は、画像処理プログラムＩＰごとに異なる。
【００１５】
この画像処理装置２では、アプリケーションプログラムＡＰの要求に応じて、画像データの処理のため、パイプライン作成プログラムＰＰにより、複数の処理要素が無閉路有向グラフ状に連結されたパイプラインが生成される。パイプラインには、複数の処理要素が含まれる。すなわち、パイプラインには、少なくとも１つの画像処理要素ＥＩが含まれ、また１つ以上の分岐処理要素ＥＤが含まれていてもよい。図２は、画像処理装置２で生成されるパイプラインを例示する図である。円の一つ一つが、画像処理要素ＥＩを示し、四角の一つ一つが分岐処理要素ＥＤを示している。画像データがパイプラインの先頭の処理要素（すなわち、画像処理要素ＥＩ（１））に入力されると、当該画像データに対してパイプライン画像処理が実行され、処理結果が表示部１０に出力されることになる。
【００１６】
図３は、画像処理要素ＥＩ及び分岐処理要素ＥＤを例示する図である。図３（Ａ）が画像処理要素ＥＩを示し、図３（Ｂ）が分岐処理要素ＥＤを示している。
【００１７】
図３（Ａ）及び図３（Ｂ）に示すように、画像処理要素ＥＩ及び分岐処理要素ＥＤのどちらも、それぞれに固有のバッファ領域Ｂを含む。但し、画像処理要素ＥＩは、当該画像処理要素ＥＩに固有の画像処理モジュールＭＩを含み（図３（Ａ）参照）を含み、分岐処理要素ＥＤは、画像処理モジュールＭＩではなく、当該分岐処理要素ＥＤに固有の分岐モジュールＭＤを含む。
【００１８】
画像処理モジュールＭＩは、いずれか一の画像処理プログラムＩＰにより実現され、画像処理要素ＥＩの前段の処理要素のバッファ領域Ｂに格納されるデータを単位読出データ量ずつ読み出し、読み出したデータを対象に画像処理を行う。また、画像処理モジュールＭＩは、画像処理によって生成されたデータを、画像処理要素ＥＩのバッファ領域Ｂに、単位書込データ量ずつ保存する。なお、単位書込データ量及び単位読出データ量は、各画像処理要素ＥＩにつき適宜設定される。
【００１９】
また、分岐モジュールＭＤは、分岐処理要素ＥＤの前段に位置する処理要素のバッファ領域Ｂに記憶されるデータを単位読出データ量ずつ読み出し、読み出した単位読出データ量のデータを、分岐処理要素ＥＤのバッファ領域Ｂにそのまま保存する。なお、単位読出データ量は、各分岐処理要素ＥＤにつき適宜設定される。
【００２０】
また、バッファ領域Ｂは、主記憶８に確保される記憶領域であり、少なくとも１つの単位バッファ領域からなる。単位バッファ領域のサイズは、各処理要素につき適宜設定される。図４に、バッファ領域Ｂを例示した。ここでは、図４は、画像処理要素ＥＩ（２）（図１参照）のバッファ領域Ｂを例示している。括弧内の数値範囲は、各単位バッファ領域のメモリアドレスを示している。また、点Ｐｔｒ（ＥＩ（３））は、画像処理要素ＥＩ（２）の後段の画像処理要素ＥＩ（３）の画像処理モジュールＭＩのデータ読出位置を表すメモリアドレスを示し、点Ｐｔｒ（ＥＤ（２））は、画像処理要素ＥＩ（２）の後段の分岐処理要素ＥＤ（２）の分岐モジュールＭＤのデータ読出位置を表すメモリアドレスを示し、点Ｐｔｒ（ＥＤ（３））は、画像処理要素ＥＩ（２）の後段の画像処理要素ＥＤ（３）の分岐モジュールＭＤのデータ読出位置を表すメモリアドレスを示している。バッファ領域Ｂに保存されるデータの増加に応じて、適宜、バッファ領域Ｂに単位バッファ領域が追加される。また、後段の処理要素のすべてが単位バッファ領域に格納されるデータの読み出しを完了すると、その単位バッファ領域は解放される。
【００２１】
なお、この画像処理装置２では、各処理要素のバッファ領域Ｂを管理するために、各処理要素につきバッファ管理テーブルが生成され、主記憶８に保持される。図５に、画像処理要素ＥＩ（２）のバッファ管理テーブルを例示した。同図に示すように、バッファ管理テーブルは、画像処理要素ＥＩ（２）の後段の処理要素の各々の処理要素のレコードを含む。レコードには、後段の処理要素を示す情報と、当該後段の処理要素の単位読出データ量と、当該後段の処理要素のデータ読出位置を示すメモリアドレスと、が含まれる。後段の処理要素がバッファ領域Ｂからデータを読み出す度に、そのデータ読出位置を示すメモリアドレスが更新される。なお、主記憶８には、バッファ管理テーブルだけでなく、各分岐処理要素ＥＤの単位読出データ量や、各画像処理要素ＥＤの単位読出データ量及び単位書込データ量なども保持される。
【００２２】
図６は、図２に示すパイプラインを作成する様子を説明するための図である。この画像処理装置２では、画像データに対して所期の画像処理を実行すべく、アプリケーションプログラムＡＰにより、画像処理要素ＥＩの追加や、Ｎ（Ｎは２以上の整数）個の分岐処理要素ＥＤの追加が、パイプライン作成プログラムＰＰに対して要求される。
【００２３】
画像処理装置ＥＩの追加が要求された場合、制御部４は、既にパイプラインを構成する処理要素に設定されている処理要素のうちの末端処理要素の後段に画像処理要素ＥＩを連結し、末端処理要素の後段に連結した画像処理要素ＥＩをパイプラインを構成する処理要素として設定する。すなわち、制御部４は、末端処理要素のバッファ管理テーブルに、末端処理要素の後段に連結した画像処理要素ＥＩのレコードを追加する。ここで、末端処理要素とは、既にパイプラインを構成する処理要素として設定されている処理要素のうち、後段に処理要素が連結されていない処理要素のことである。例えば、図６（ａ１）に示すように、先頭の画像処理要素ＥＩ（１）ただ一つがパイプラインを構成する処理要素に設定されている状態Ａにおいて、画像処理要素ＥＩ（１）を対象に画像処理装置ＥＩ（２）の追加が要求された場合、画像処理要素ＥＩ（１）の後段に画像処理要素ＥＩ（２）が連結され、画像処理要素ＥＩ（１）のバッファ管理テーブルに画像処理装置ＥＩ（２）のレコードが追加される（状態Ｂ）。また、例えば、図６（ａ２）に示すように、画像処理要素ＥＩ（１）、画像処理要素ＥＩ（２）、分岐処理要素ＥＤ（１）、分岐処理要素ＥＤ（２）、及び分岐処理要素ＥＤ（３）がパイプラインを構成する処理要素に設定されている状態Ｄにおいて、分岐処理要素ＥＤ（１）を対象に画像処理装置ＥＩ（３）の追加が要求された場合、分岐処理要素ＥＤ（１）の後段に画像処理要素ＥＩ（３）が連結され、分岐処理要素ＥＤ（１）のバッファ管理テーブルに画像処理装置ＥＩ（３）のレコードが追加される（状態Ｅ）。
【００２４】
一方、Ｎ個の分岐処理要素ＥＤの追加が要求された場合、制御部４は、原則、末端処理要素の後段にＮ個の分岐処理要素ＥＤを連結し、末端処理要素の後段に連結したＮ個の分岐処理要素ＥＤをパイプラインを構成する処理要素として設定する。すなわち、制御部４は、末端処理要素の後段に連結したＮ個の分岐処理要素ＥＤの各々のレコードを、末端処理要素のバッファ管理テーブルに追加する。但し、所定条件下、制御部４は、末端処理要素の後段にＮ個の分岐処理要素ＥＤを連結するのではなく、末端処理要素の前段の処理要素の後段に「Ｎ−１」個の分岐処理要素ＥＤを連結する。
【００２５】
具体的には、制御部４は、末端処理要素が画像処理要素ＥＩである場合、末端処理要素の後段にＮ個の分岐処理要素ＥＤを連結し、末端処理要素の後段に連結したＮ個の分岐処理要素ＥＤの各々のレコードを、末端処理要素のバッファ管理テーブルに追加する。また、制御部４は、末端処理要素の単位書込データ量と同じデータ量を、各分岐処理要素ＥＤの単位読出データ量として設定する。
【００２６】
一方、末端処理要素が分岐処理要素ＥＤである場合、制御部４は、末端処理要素の前段の画像処理要素ＥＩの後段に「Ｎ−１」個の分岐処理要素ＥＤを連結し、末端処理要素の前段の画像処理要素ＥＩのバッファ管理テーブルに、「Ｎ−１」個の分岐処理要素ＥＤの各々のレコードを追加する。また、制御部４は、末端処理要素の前段の画像処理要素ＥＩの単位書込データ量と同じデータ量を、各分岐処理要素ＥＤの単位読出データ量として設定する。
【００２７】
例えば、図６（ｂ１）に示すように、状態Ｂにおいて末端処理要素である画像処理要素ＥＩ（２）を対象に２個の分岐処理要素ＥＤの追加が要求された場合、画像処理要素ＥＩ（２）の後段に２個の分岐処理要素ＥＤ（すなわち、分岐処理要素ＥＤ（１）及び分岐処理要素ＥＤ（２））が連結され、画像処理要素ＥＩ（２）のバッファ管理テーブルに分岐処理要素ＥＤ（１）及び分岐処理要素ＥＤ（２）の各々のレコードが追加される（状態Ｃ）。また、画像処理要素ＥＩ（２）の単位書込データ量と同じデータ量が、分岐処理要素ＥＤ（１）及び分岐処理要素ＥＤ（２）の各々の単位読出データ量として設定される。
【００２８】
また、例えば、図６（ｂ２）に示すように、状態Ｃにおいて末端処理要素である分岐処理要素ＥＤ（２）を対象に２個の分岐処理要素ＥＤの追加が要求された場合、分岐処理要素ＥＤ（２）の前段の画像処理要素ＥＩ（２）の後段に、１個の分岐処理要素ＥＤ（すなわち、分岐処理要素ＥＤ（３））が連結され、画像処理要素ＥＩ（２）のバッファ管理テーブルに分岐処理要素ＥＤ（３）のレコードが追加される（状態Ｄ）。また、画像処理要素ＥＩ（２）の単位書込データ量と同じデータ量が、分岐処理要素ＥＤ（３）の単位読出データ量として設定される。
【００２９】
ところで、状態Ｃで末端処理要素である分岐処理要素ＥＤ（２）を対象に２個の分岐処理要素ＥＤの追加が要求された場合において、分岐処理要素ＥＤ（２）の後段に２個の分岐処理要素ＥＤを連結した場合を想定する。図７に、分岐処理要素ＥＤ（２）の後段に２個の分岐処理要素ＥＤを連結した状態を例示した。図７に示す状態において分岐処理要素ＥＤ（３）の後段に画像処理要素ＥＩ（４）（図２参照）を連結し且つ分岐処理要素ＥＤ（４）の後段に画像処理要素ＥＩ（５）（図２参照）を連結しても、図６に示す状態Ｄにおいて分岐処理要素ＥＤ（２）の後段に画像処理要素ＥＩ（４）（図２参照）を連結し且つ分岐処理要素ＥＤ（３）の後段に画像処理要素ＥＩ（５）（図２参照）を連結する場合と同様の処理結果が得られる。しかしながら、分岐処理要素ＥＤの数が多くなる。
【００３０】
この点、この画像処理装置２では、制御部４が、末端処理要素が分岐処理要素ＥＤである場合、末端処理要素の前段の画像処理要素ＥＩの後段に「Ｎ−１」個の分岐処理要素ＥＤを連結するので、末端処理要素の後段にＮ個の分岐処理要素ＥＤが連結する場合と同様の処理結果を得つつ、メモリリソースの軽減と処理速度の向上が実現される。
【００３１】
なお、本実施形態の場合、制御部４は、状態Ｅ（図６参照）において、分岐処理要素ＥＤ（１）の単位読出データ量が、分岐処理要素ＥＤ（１）の後段に接続された画像処理要素Ｅ１（３）の単位読出データ量の整数倍のデータ量であれば、以下の処理の実行も行う。すなわち、制御部４は、図８に示すように、分岐処理要素ＥＤ（１）を削除するとともに、分岐処理要素ＥＤ（１）の後段に連結された画像処理要素ＥＩ（３）を、分岐処理要素ＥＤ（１）の前段の画像処理要素ＥＩ（２）に連結する（状態Ｆ）。すなわち、制御部４は、画像処理要素ＥＩ（２）のバッファ管理テーブルから、分岐処理要素ＥＤ（１）のレコードを削除し、且つ、当該バッファ管理テーブルに、画像処理要素ＥＩ（３）のレコードを追加する。こうすることにより、メモリリソースの更なる軽減と処理速度の更なる向上が実現される。
【００３２】
以下、制御部４が実行する処理について説明する。
【００３３】
図９は、末端処理要素となっている画像処理要素（以下、画像処理要素Ｅｘと表記する）を対象に画像処理要素（以下、画像処理要素Ｅｙ）の追加が要求された場合に、制御部４がパイプライン作成プログラムＰＰに従って実行する処理を例示するフロー図である。
【００３４】
この場合、制御部４は、画像処理要素Ｅｙを画像処理要素Ｅｘの後段に連結する（Ｓ１０１）。すなわち、制御部４は、画像処理要素Ｅｘのバッファ管理モジュールに画像処理要素Ｅｙのレコードを追加する。
【００３５】
図１０は、末端処理要素となっている分岐処理要素（以下、分岐処理要素Ｅｘと表記する）を対象に画像処理要素（以下、画像処理要素Ｅｙ）の追加が要求された場合に、制御部４がパイプライン作成プログラムＰＰに従って実行する処理を例示するフロー図である。
【００３６】
この場合、制御部４は、画像処理要素Ｅｙを分岐処理要素Ｅｘの後段に連結する（Ｓ２０１）。すなわち、制御部４は、分岐処理要素Ｅｘのバッファ管理モジュールに画像処理要素Ｅｙのレコードを追加する。
【００３７】
そして、制御部４は、分岐処理要素Ｅｘの分岐モジュールＭＤの単位読出データ量（以下、単位読出データ量Ｘと表記する）が、画像処理要素Ｅｙの画像処理モジュールＭＩの単位読出データ量（以下、単位読出データ量Ｙと表記する）の整数倍のデータ量であるか否かを判定する（Ｓ２０２）。
【００３８】
単位読出データ量Ｘが単位読出データ量Ｙの整数倍のデータ量でない場合（Ｓ２０２のＮ）、制御部４は、処理を終了する。
【００３９】
一方、単位読出データ量Ｘが単位読出データ量Ｙの整数倍のデータ量である場合（Ｓ２０２のＹ）、制御部４は、分岐処理要素Ｅｘをパイプラインから削除し（Ｓ２０３）、分処理要素Ｅｘの前段の画像処理要素（以下、画像処理要素Ｅｚと表記する）のバッファ管理レコードから分岐処理要素Ｅｘのレコードを削除する。また、制御部４は、画像処理要素Ｅｙを画像処理要素Ｅｚの後段に連結し（Ｓ２０４）、画像処理要素Ｅｚのバッファ管理レコードに画像処理要素Ｅｙのレコードを追加する。
【００４０】
図１１は、末端処理要素となっている画像処理要素（以下、画像処理要素Ｅｘと表記する）を対象にＮ（Ｎは２以上の整数）個の分岐処理要素（以下、分岐処理要素Ｅｙ）の追加が要求された場合に、制御部４がパイプライン作成プログラムＰＰに従って実行する処理を例示するフロー図である。
【００４１】
この場合、制御部４は、Ｎ個の分岐処理要素Ｅｙを画像処理要素Ｅｘの後段に連結する（Ｓ３０１）。すなわち、制御部４は、画像処理要素Ｅｘのバッファ管理モジュールにＮ個の分岐処理要素Ｅｙのそれぞれのレコードを追加する。なお、各レコードに含まれる単位読出データ量は、画像処理要素Ｅｘの単位書込データ量と同じデータ量に設定される。
【００４２】
図１２は、末端処理要素となっている分岐処理要素（以下、分岐処理要素Ｅｘと表記する）を対象にＮ個の分岐処理要素（以下、分岐処理要素Ｅｙ）の追加が要求された場合に、制御部４がパイプライン作成プログラムＰＰに従って実行する処理を例示するフロー図である。
【００４３】
この場合、制御部４は、分岐可能条件が満足されるか否かを判定する（Ｓ４０１）。分岐処理要素Ｅｘの前段の画像処理要素（以下、画像処理要素Ｅｚと表記する）のバッファ領域Ｂが、単位バッファ領域の解放が行われない類のバッファ領域Ｂである場合、分岐可能条件は満足される。また、画像処理要素Ｅｚのバッファ領域Ｂが、単位バッファ領域の解放が行われない類のバッファ領域Ｂでなくても、画像処理要素Ｅｚのバッファ領域Ｂの先頭の単位バッファ領域がまだ解放されていなければ、分岐可能条件は満足される。また、画像処理要素Ｅｚのバッファ領域Ｂが、単位バッファ領域の解放が行われない類のバッファ領域Ｂでなく、且つ、画像処理要素Ｅｚのバッファ領域Ｂの先頭の単位バッファ領域が既に解放された場合であっても、画像処理要素Ｅｘの画像処理モジュールＭＩがリセット可能であれば、分岐可能条件は満足される。
【００４４】
分岐可能条件が満足される場合（Ｓ４０１のＹ）、制御部４は、画像処理要素Ｅｚの後段に「Ｎ−１」個の分岐処理要素Ｅｙを連結し（Ｓ４０２）、画像処理要素Ｅｚのバッファ管理モジュールに「Ｎ−１」個の分岐処理要素Ｅｙのそれぞれのレコードを追加する。なお、各レコードに含まれる単位読出データ量は、画像処理要素Ｅｚの単位書込データ量と同じデータ量に設定される。
【００４５】
一方、分岐可能条件が満足されない場合（Ｓ４０１のＮ）、制御部４は、分岐処理要素Ｅｘの後段にＮ個の分岐処理要素Ｅｙを連結し（Ｓ４０３）、分岐処理要素Ｅｘのバッファ管理モジュールにＮ個の分岐処理要素Ｅｙのそれぞれのレコードを追加する。
【符号の説明】
【００４６】
２  画像処理装置、４  制御部、６  記憶部、８  主記憶、１０  表示部、ＡＰ  アプリケーションプログラム、ＩＰ  画像処理プログラム、ＰＰ  パイプライン作成プログラム、ＥＩ  画像処理要素、ＥＤ  分岐処理要素、Ｂ  バッファ領域、ＭＩ  画像処理モジュール、ＭＤ  分岐モジュール。
【図１】
2013058139.tif 000003
【図２】
2013058139.tif 000004
【図３】
2013058139.tif 000005
【図４】
2013058139.tif 000006
【図５】
2013058139.tif 000007
【図６】
2013058139.tif 000008
【図７】
2013058139.tif 000009
【図８】
2013058139.tif 000010
【図９】
2013058139.tif 000011
【図１０】
2013058139.tif 000012
【図１１】
2013058139.tif 000013
【図１２】
2013058139.tif 000014