JP2009187099A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2009187099A
JP2009187099A JP2008023970A JP2008023970A JP2009187099A JP 2009187099 A JP2009187099 A JP 2009187099A JP 2008023970 A JP2008023970 A JP 2008023970A JP 2008023970 A JP2008023970 A JP 2008023970A JP 2009187099 A JP2009187099 A JP 2009187099A
Authority
JP
Japan
Prior art keywords
processing
plug
folder
processing component
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008023970A
Other languages
English (en)
Inventor
Yoichi Isaka
洋一 井坂
Yukio Kumazawa
幸夫 熊澤
Takashi Nagao
隆 長尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008023970A priority Critical patent/JP2009187099A/ja
Publication of JP2009187099A publication Critical patent/JP2009187099A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】複数の処理部品を連結して一連のタスクを行うプログラムの少なくとも一部の処理の変更や修正を従来と比して容易に行う。
【解決手段】情報処理装置10は、所定のタスクを実行するための複数のプラグインライブラリの各々を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持するプラグインライブラリ蓄積部40と、各フォルダに格納された各プラグインライブラリの処理モジュールを、ディレクトリ構造に基づき予め定められた連結順に従って、連結する処理構築部30とを備え、連結された各処理モジュールを各々実行してタスクを実行する。
【選択図】図1

Description

本発明は、情報処理装置およびプログラムに関する。
情報処理装置において、プログラマブルな処理モジュール群の中からいくつかの処理モジュールを選択し、選択した処理モジュールを連結して一連の処理を実行するプログラムが知られている。
例えば、入力された画像データに対して画像処理を行う画像処理装置でも上記のようなプログラムが採用されることがある。
特許文献1には、プログラマブルな処理モジュールをパイプライン形態やDAG(Directed Acyclic Graph:有向非循環グラフ)形態に接続して、所望の画像処理を行う技術が開示されている。特許文献1では、画像処理モジュールを適宜組み合わせてパイプラインを構成し、各画像処理モジュールを順次動作させることで、所望の画像処理を行っている。
また、特許文献2では、画像処理のタスクに用いる処理部品と処理部品間の結合情報とを記述したタスクシナリオ情報と、処理部品の情報が記述されたコンポーネント情報と、処理部品の実体が格納されたコンポーネットライブラリとを備え、コンテンツを特定するコンテンツ識別子とタスクを特定するタスク識別子に対応するタスクシナリオ情報を解析して、各処理部品間を連結する技術が開示されている。
特許第3617851号 特開2003−303102号公報
上記のような複数の処理モジュールを連結して一連の処理を行うプログラムにおいて、処理モジュールの追加、他の処理モジュールへの置き換え、あるいは処理モジュールの連結順の変更などを行うことで、プログラムを一部変更あるいは修正したいという要望がある。
しかし、一度完成したプログラムにおける処理モジュールの変更や連結順の変更によりプログラムを一部変更あるいは修正することは容易でない場合が多い。
本発明は、複数の処理部品を連結して一連のタスクを行うプログラムの少なくとも一部の処理の変更や修正を従来と比して容易に行うことを目的とする。
本願請求項1に係る発明は、所定のタスクを実行するための複数の処理部品を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する処理部品蓄積部と、各フォルダに格納された各処理部品を、前記ディレクトリ構造に基づき予め定められた連結順に従って、連結する連結部と、連結された各処理部品を実行して前記タスクを実行する実行部と、を備える情報処理装置である。
本願請求項2に係る発明は、所定のタスクを実行するための複数の処理部品の各々に対応する各識別子を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する識別子蓄積部と、各フォルダに格納された各識別子に基づいて、処理部品の実体を格納する処理部品格納部から各処理部品を取得し、前記ディレクトリ構造に基づき予め定められた連結順に従って、取得した各処理部品を連結する連結部と、連結された各処理部品を実行して前記タスクを実行する実行部と、を備える情報処理装置である。
本願請求項3に係る発明は、請求項1または2に記載の情報処理装置において、各フォルダは、ディレクトリ構造上の同一階層に存在し、前記連結順は、各フォルダの各々を一意に特定する各フォルダ識別子を所定の規則に従って並べた場合における昇順あるいは降順に対応する、ことを特徴とする情報処理装置である。
本願請求項4に係る発明は、所定のタスクを実行するための複数の処理部品を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する処理部品蓄積部と、各フォルダに格納された各処理部品を、前記ディレクトリ構造に基づき予め定められた連結順に従って、連結する連結部と、連結された各処理部品を実行して前記タスクを実行する実行部と、してコンピュータを機能させるためのプログラムである。
本願請求項5に係る発明は、所定のタスクを実行するための複数の処理部品の各々に対応する各識別子を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する処理部品保持部と、各フォルダに格納された各識別子に基づいて、処理部品の実体を格納する処理部品格納部から各処理部品を取得し、前記ディレクトリ構造に基づき予め定められた連結順に従って、取得した各処理部品を連結する連結部と、連結された各処理部品を実行して前記タスクを実行する実行部と、してコンピュータを機能させるためのプログラムである。
本願請求項1,2,4,5に係る発明によれば、ディレクトリ構造に基づいて各処理部品を格納すれば、そのディレクトリ構造に基づき定められた連結順で各処理部品が連結され、所定のタスクを実現することができる。よって、例えば、各処理部品を格納するディレクトリ(フォルダ)を変更する、あるいはディレクトリに格納された処理部品を変更/修正するだけで、所定のタスクの処理の少なくとも一部の処理を変更/修正することができる。
本願請求項3に係る発明によれば、連結順が各フォルダの各々を一意に特定する各フォルダ識別子を所定の規則に従って並べた場合における昇順あるいは降順に対応するため、各フォルダ識別子に基づいて連結順を容易に特定することができる。
本発明を実施するための最良の形態(以下、「実施形態」と称す)について、以下図面を用いて説明する。
本実施形態では、所定のタスクを行う情報処理装置の1つとして、所定の画像処理を行う画像処理装置を例に説明する。
図1は、本実施形態に係る画像処理装置の機能ブロックを示す図である。画像処理装置10は、複写機、プリンタ、ファクシミリ装置、これらの機能を備えた複合機でもよい。また、スキャナ、写真プリンタなどのように内部で画像処理を行う必要のある任意の画像取扱機器に組み込まれてもよい。さらに、パーソナルコンピュータなどの独立したコンピュータでもよく、PDA(Personal Digital Assistant)や携帯電話などの携帯機器に組み込まれたコンピュータでもよい。
画像処理装置10は、CPU12、メモリ14、表示部16、操作部18、記憶部20、画像データ供給部22を備え、これらはバス26を介して各々接続される。CPU12が、記憶部20に記録された各種プログラムを適宜メモリ14に展開して、各部を制御する。画像処理装置10が、上記のような画像取扱機器に組み込まれる場合、表示部16や操作部18としては、画像取扱機器に設けられた液晶ディスプレイなどの表示パネルやテンキーなどを適用することができる。また、画像処理装置10が、独立したコンピュータである場合、表示部16や操作部18として、当該コンピュータに接続されたディスプレイやキーボード、マウスなどを適用することができる。また、記憶部20としてはハードディスクドライブ(HDD)が好適であるが、これに代えてフラッシュメモリなどの他の不揮発性メモリを用いることもできる。
画像データ供給部22は、処理対象の画像データを供給できるものであればよく、例えば紙や写真フィルムなどの記録材料に記録されている画像を読み取って画像データを出力する画像読取部、通信回線を介して外部から画像データを受信する受信部、画像データを記憶する画像記憶部などを適用することができる。
また、画像出力部24は、画像処理を経た画像データ又は当該画像データが表す画像を出力するものであればよく、例えば画像データが表す画像を紙や感光材料などの記録材料に記録する画像記録部、画像データが表す画像をディスプレイなどに表示する表示部、画像データを記録メディアに書き込む書込装置、通信回線を介して画像データを送信する送信部などを適用することができる。また、画像出力部24は、画像処理を経た画像データを単に記憶する画像記憶部であっても構わない。
図1に示すように、記憶部20には、CPU12によって実行される各種プログラムおよび各種データベースが記憶されている。
処理構築部30は、アプリケーションプログラム80からの構築指示に従い、アプリケーションプログラム80が指示した画像処理を行う画像処理部をメモリ14上に構築し、アプリケーションプログラム80からの実行指示に従い、当該画像処理部によって画像処理を行う。
プラグインライブラリ蓄積部40は、画像処理における少なくとも一部の処理を行う処理モジュール(処理部品)を提供する複数のプラグインライブラリ42を保持する。本実施形態では、プラグインライブラリ蓄積部40は、各プラグインライブラリ42をディレクトリ構造で保持する。ディレクトリ管理部50は、プラグインライブラリ蓄積部40のディレクトリ構造を管理する。ディレクトリ管理部50は、画像処理装置10に備えられる各部の入出力機能やメモリ管理を司るオペレーティングシステム90で一般的に提供されるディレクトリサービスの機能を用いればよい。
図2に示すように、プラグインライブラリ42は、予め定められた画像処理(例えば、入力処理、フィルタ処理、色変換処理、拡大・縮小処理、スキュー角検知処理、画像回転処理、画像合成処理、出力処理など)を行う少なくとも1つの画像処理モジュール48と、画像処理モジュール48をメモリ14上に展開し画像処理モジュール48を機能させる処理生成モジュール46と、処理生成モジュール46が画像処理モジュール48を機能させるために呼び出す処理モジュール生成関数44とを備える。
また、補助モジュール蓄積部70は、処理モジュールが連結して処理を行うために必要な補助モジュールとして、各種の属性変換処理モジュール72およびバッファモジュール74を蓄積する。
各種画像処理モジュールは、それぞれ入力可能な画像属性(1画素を表現するビット数すなわち白黒画像、フルカラー画像や圧縮の有無など)または出力する画像属性が異なる。そのため、前段の画像処理モジュールが出力する画像属性と後段の画像処理モジュールに入力可能な画像属性とが異なる場合には、前段の画像処理モジュールが出力した画像データの属性を後段の画像処理モジュールに入力可能な画像属性に変換するための属性変換処理モジュール72が用意されている。
また、画像処理モジュールが処理の途中経過を保持するためのバッファメモリが必要である。このバッファメモリは画像処理モジュールの処理内容によって異なる。そこで、処理モジュールを任意の順番で連結し協調して処理をするために、本実施形態では、処理モジュール間に連結されるためのバッファモジュールが用意されている。バッファモジュールは、バッファモジュールの前段に連結された画像処理モジュールがバッファへの画像データの書き込み時の書込データ量を任意に設定可能にし、バッファモジュールの後段に連結された画像処理モジュールがバッファから画像データ読み出し時の読出データ量を任意に設定可能としている。
処理構築部30は、アプリケーションプログラム80からの指示により、例えば図3Aや図3Bに示すように、予め定められた画像処理を行う1つ以上の処理モジュール48と、個々の処理モジュール48の前段および後段の少なくとも一方に配置され画像データを記憶するためのバッファを備えたバッファモジュール74とが、パイプライン形態あるいはDAG形態で連結され、制御手段86で各モジュールを制御する画像処理部60を構築する。
図3Aでは、画像データ供給部22から提供された画像データに対して、1段目の処理モジュール48が入力処理を行い、2段目のバッファモジュール74を介して、3段目の処理モジュール48が色変換処理を行う。その後、4段目のバッファモジュール74を介して5段目の処理モジュール48が拡大/縮小処理を行い、6段目のバッファモジュール74を介して7段目の処理モジュール48が出力処理を行い、画像出力部24へ入力している。
また、図3Bでは、3段目の処理モジュール48が色変換処理の後、処理後の画像データは、4段目のバッファモジュール74を介して、スキュー角度検知処理を行う第1の5段目の処理モジュール48と、画像回転処理を行う第2の5段目の処理モジュール48とに入力される。ここでは、スキュー角度検知処理の結果が、画像データの他に画像回転処理を行う処理モジュール48に入力され、その検知結果を利用して画像回転処理が行われる。その後、画像回転処理後の画像データが6段目のバッファモジュール74を介して7段目の処理モジュール48に入力され、出力処理が行われ、画像出力部24へ入力される。このように、画像処理の内容によっては、処理モジュール48やバッファモジュールの入力や出力は、1つではなく複数に分岐することもある。
さて、本実施形態では、上記の通り、ディレクトリ管理部50が、プラグインライブラリをディレクトリ構造で管理している。このように、ディレクトリ構造でプラグインライブラリ群を管理することで、本実施形態では、プラグインライブラリの変更、修正、追加などにより、画像処理の一部を変更することを容易にしている。
図4に示すように、本実施形態では、ディレクトリを構成する各フォルダには、予め各々を一意に特定できるフォルダ名が付与されている。本実施形態では、各フォルダ内をフォルダ名の昇順に検索し、各フォルダ内から所定の拡張子(本実施形態では「.dll」)をもつ各々プラグインライブラリを取得して、その昇順を連結順として、各処理モジュールを連結して、画像処理部(画像処理パイプライン)を構築する。なお、連結順は、ディレクトリ構造に基づく所定の規則に従った順であれば他の順でもよく、例えばフォルダ名の降順、ディレクトリ階層の降順/昇順などでも構わない。また、本実施形態では、フォルダ名により連結順が定められるため、名前順に規則的に並べられる識別子が好ましく、例えば「10」、「20」、「30」・・・の数字が好適である。また、フォルダ名を数字にする場合、下記に示す通り、フォルダとフォルダとの間に新たなフォルダを追加できるように、連続した数字を付与するよりも、「10」などの所定の数字間隔ごとに付与しておくことが好ましい。
さらに、各フォルダにはプラグインライブラリと同一のファイル名で拡張子の異なる(本実施形態では「.xml」)ファイルが格納されている。このファイルは、プラグインライブラリの画像処理モジュールを生成する際に呼び出される関数(処理モジュール生成関数)に対して設定される設定パラメータが示されている。
本実施形態では、上記の通り、各モジュールの連結順が、ディレクトリ構造に基づき定められている。よって、例えば、プラグインライブラリの修正、置き換えなどを行う場合には、対象のプラグインライブラリが格納されたフォルダを特定し、そのフォルダに新たなプラグインライブラリを格納するだけで済む。また、プラグインライブラリを追加する場合にも、挿入したいプラグインライブラリのフォルダとプラグインライブラリのフォルダとの間に新たなフォルダを追加し、そのフォルダに新たなプラグインライブラリを追加するだけで済む。
図5は、処理構築部30が、アプリケーションプログラム80からの指示に従って、プラグインライブラリ蓄積部40に蓄積されたプラグインライブラリ群を用いて、画像処理部を生成する手順を示す。
図5において、処理構築部30は、アプリケーションプログラム80からの画像処理部の構築指示を受けると、ディレクトリ管理部50から、プラグインライブラリ群42のディレクトリに関する情報(以下、「ディレクトリ情報」と称す)を取得し(S100)、さらに各モジュールを制御する制御手段86を生成する(S102)。
続いて、処理構築部30は、ディレクトリ情報を参照して、まず検索ディレクトリを先頭ディレクトリに設定する(S104)。ここで、先頭ディレクトリとは、フォルダ名の昇順などの所定規則に従った順のうち、第1番目のフォルダ名をもつフォルダのことをいう。
処理構築部30は、検索ディレクトリのフォルダにプラグインライブラリが存在するか否かをディレクトリ管理部50を介して判定する(S106)。判定の結果、検索フォルダにプラグインライブラリが存在する場合には(ステップS106の判定結果、肯定「Y」)、そのプラグインライブラリを呼び出し、画像処理モジュールを生成する(S108)。処理モジュールの生成手順については後述する。
モジュール生成後、処理構築部30は、前段モジュールの出力属性が、生成した処理モジュールの入力属性と一致するか否かを判定する(S110)。判定の結果、一致しない場合には(ステップS110の判定結果が、否定「N」)、前段モジュールの出力属性と、生成した処理モジュールの入力属性とを一致させるのに適合する属性変換処理モジュール72を補助モジュール蓄積部70に蓄積された属性変換処理モジュール72を用いて生成し、前段モジュールの次処理としてその属性変換処理モジュール72を登録する(S112)。
前段モジュールの出力属性が、生成した処理モジュールの入力属性と一致する場合(ステップS110の判定結果が、肯定「Y」)、あるいは前段モジュールの次処理としてその属性変換処理モジュール72が登録された後、処理構築部30は、ステップS108で生成された画像処理モジュールを前段モジュールの次処理として登録する(S114)。
なお、プラグインライブラリによっては複数の処理モジュールを生成するものもある。複数の処理モジュールが生成される場合には、予め定められた順番で生成された各処理モジュールを連結して、連結された先頭の処理モジュールを前段のモジュールの次処理として登録する。
その後、処理構築部30は、現在の検索ディレクトリが最終のディレクトリか否かを判定する(S116)。判定の結果、処理構築部30は、プラグインライブラリ蓄積部40に構築されたすべてのディレクトリを検索していない場合には(ステップS116の判定結果、否定「N」)、検索ディレクトリを次順のディレクトリに設定し(S118)、ステップS106以降の処理を繰り返す。一方、プラグインライブラリ蓄積部40に構築されたすべてのディレクトリを検索した場合には(ステップS116の判定結果、肯定「Y」)、画像処理部に必要なすべての画像処理モジュールの連結が終了したと判断して、処理を終了する。
続いて、図6を参照して、各プラグインライブラリの処理モジュールの生成手順についてさらに説明する。図6は、処理構築部30が検索ディレクトリ内の各プラグインライブラリを呼び出し、各プラグインライブラリの処理モジュールを生成する手順を示すフローチャートである。
図6において、処理構築部30は、まず、検索ディレクトリのフォルダ内のプラグインライブラリの数を計数し、その計数した数をN、前段の処理モジュールの数をMに設定する(S200)。次いで、処理構築部30は、前段の処理モジュールの数Mが1個か否かを判定する(S202)。判定の結果、前段の処理モジュールの数Mが1個の場合には(ステップS202の判定結果、「Y」)には、Nが1か否かを判定する(S204)。つまり、処理構築部30は、検索ディレクトリのフォルダ内のプラグインライブラリの数が1個か否かを判定する。判定の結果、1個の場合には(ステップS204の判定結果が、肯定「Y」)、後述するステップS216以降の処理を行い、複数の場合には(ステップS204の判定結果が、否定「N」)、前段の処理モジュールから出力される画像データをN個の処理モジュールに入力させるために、前段の処理モジュールの出力をN個に分岐させる(S206)。
また、前段の処理モジュールの数Mが複数の場合(ステップS202の判定結果が、否定「N」)、処理構築部30は、前段の処理モジュールの数MがN個か否かを判定する(S207)。つまり、処理構築部30は、前段の処理モジュールの数Mと、検索ディレクトリ内のプラグインライブラリの数とが一致するか否かを判定する。一致しない場合には(ステップS207の判定結果が、否定「N」)、Nが1かどうかを判定し(S208)、Nが1である場合には検索ディレクトリ内のプラグインライブラリが生成する先頭の処理モジュールは前段モジュールを複数持つものとして扱い、M対1に対応づけ(S209)、後述のステップS216以降の処理を行う。一方、Nが1でない場合には、前段の処理モジュールとの連結に矛盾が生じるため、エラーを通知する(S210)。
前段の処理モジュールの数Mと、検索ディレクトリ内のプラグインライブラリの数とが一致する場合には(ステップS207の判定結果が、肯定「Y」)、処理構築部30は、前段の各処理モジュールと、検索ディレクトリ内の各プラグインライブラリを所定の規則に基づいて1対1に対応付ける(S212)。処理構築部30は、例えば、前段の各処理モジュールに対応する各プラグインライブラリの名前および検索ディレクトリ内の各プラグインライブラリの名前をそれぞれ数字やアルファベットに基づいて昇順に並べ、それぞれ対応する順番同士を1対1に対応付ける。
その後、処理構築部30は、検索ディレクトリ内の各プラグインライブラリのうち、例えば、プラグインライブラリの名前の数字やアルファベットに基づいて昇順に並べた場合に、1番目のプラグインライブラリを先頭のライブラリとして、処理対象に設定する(S214)。次いで、処理構築部30は、処理対象のプラグインライブラリに対応する処理パラメータファイルを検索ディレクトリ内から検索する(S216)。対応する処理パラメータファイルが存在する場合には(ステップS216の判定結果が、肯定「Y」)、その処理パラメータを使用して、処理対象のプラグインライブラリの生成モジュール関数を呼び、処理モジュールを生成する(S222)。対応する処理パラメータファイルが存在しない場合には処理対象のプラグインライブラリのデフォルトの処理パラメータを使用して、処理対象のプラグインライブラリの生成モジュール関数を呼び、処理モジュールを生成する(S222)。なお、デフォルトの処理パラメータは、生成モジュール関数の属性などに関連づけて予め記憶部20に登録しておけばよい。
最後に、処理構築部30は、検索ディレクトリ内のすべてのプラグインライブラリについて処理モジュールの生成が完了したか否かを判定する。(S224)。判定の結果、まだ処理モジュールの生成が済んでいない場合には(ステップS224の判定結果が、否定「N」)、次順のプラグインライブラリを処理対象のプラグインライブラリとして(S226)、ステップS216以降の処理を繰り返す。その後、すべてのプラグインライブラリについて処理モジュールの生成が済んだ時点で(ステップS224の判定結果、肯定「Y」)、処理構築部30は処理モジュール生成の処理を終了する。
例えば、図7Aに示すようなディレクトリに各プラグインライブラリが格納されている場合、図7Bに示すように、各モジュールが連結される。なお、図7A、図7Bにおいて、プラグイランライブラリa〜eの入出力属性は同一とし、プラグインライブラリfは、前段のプラグインライブラリd,eとは入出力属性が異なるものとする。
図7A、図7Bに示すように、フォルダ1には、プラグインライブラリaが格納されているため、最前段には、プラグインライブラリaの処理モジュールaが登録され、さらにその後段にバッファモジュールBが生成される。フォルダ2には、プラグインライブラリbとプラグインライブラリcとが存在するため、バッファモジュールB1の出力は2つに分岐される。また、プラグインライブラリbは処理モジュールを2つ保有し、これらを直列に連結して、先頭の処理モジュールb1がバッファモジュールB1の一方の出力に連結される。また、プラグインライブラリcの処理モジュールcがバッファモジュールB1の他方の出力に連結される。同様に、フォルダ3には、2つのプラグインライブラリd,eが格納されているため、それぞれの処理モジュールd,eを前段の処理モジュールb2,cにバッファモジュールBを介して連結される。加えて、フォルダ4は、1つのプラグインライブラリfが格納される。また、その処理モジュールfの入力属性と、処理モジュールb2,cの出力属性は異なるため、各属性を一致させるための属性変換処理モジュール72が挿入され、処理モジュールfが連結される。
以上の通り、本実施形態では、予めディレクトリを構築して、そのディレクトリ構造に基づきモジュールの連結順に対応する順番を予め各ディレクトリ(各フォルダ)に付与しておく。プログラム開発者は、画像処理に必要な各プラグインライブラリを、連結したい順番に、各ディレクトリに格納しておく。処理構築部30は、構築対象の画像処理部に対応するディレクトリ群を参照して、そのディレクトリ群に対して予め定められた順番に、各ディレクトリのフォルダ内を検索して、フォルダ内のプラグインライブラリおよび対応する処理パラメータファイルを取得する。その後、各プラグインライブラリに基づいて生成された各処理モジュールをバッファモジュール(および必要に応じて属性変換処理モジュール)を介して、上記通りディレクトリ構造に基づき予め定められた順番に連結し、1つの画像処理部を構築する。
本実施形態によれば、ディレクトリ構造に基づいて画像処理部の連結順が予め定められている。よって、例えば、プラグインライブラリの修正、置き換えなどを行う場合には、対象のプラグインライブラリが格納されたフォルダを特定し、そのフォルダに新たなプラグインライブラリを格納するだけで済む。また、プラグインライブラリを追加する場合にも、挿入したいプラグインライブラリのフォルダとプラグインライブラリのフォルダとの間に新たなフォルダを追加し、そのフォルダに新たなプラグインライブラリを追加するだけで済む。
なお、本実施形態では、ディレクトリ構造で構築された各フォルダにプラグインライブラリの実体そのものを格納する例について説明した。しかし、プラグインライブラリ(および設定パラメータファイル)の実体は他のデータベースに格納しておき、ディレクトリ構造で構築された各フォルダには、プラグインライブラリを識別する識別子(例えば、プラグインライブラリ名や、プラグインライブラリの格納場所)のみ格納しおいてもよい。この場合、処理構築部30は、各フォルダからプラグインライブラリの識別子を取得し、その識別子をキーとしてデータベースを検索し、対応するプラグインライブラリの実体を取得すればよい。
本実施形態に係る画像処理装置の全体の構成を機能ブロックで示した図である。 プラグインライブラリの構成例を機能ブロックで示した図である。 処理構築部によって構築される画像処理部(画像処理パイプライン)の一例を示す図である。 処理構築部によって構築される画像処理部(画像処理パイプライン)の一例を示す図である。 プラグインライブラリ蓄積部に蓄積されるプラグインライブラリのディレクトリ構造の一例を示す図である。 処理構築部がプラグインライブラリを用いて画像処理に必要な画像処理モジュールを連結する手順を示すフローチャートである。 処理構築部が検索ディレクトリ内の各プラグインライブラリを呼び出し、各プラグインライブラリの処理モジュールを生成する手順を示すフローチャートである。 プラグインライブラリ蓄積部に蓄積されるプラグインライブラリのディレクトリ構造の一例を示す図である。 図7Aに示すディレクトリ構造で蓄積されたプラグインライブラリ群を用いて構築された画像処理部を示す図である。
符号の説明
10 情報処理装置、12 CPU、14 メモリ、16 表示部、18 操作部、20 記憶部、22 画像データ供給部、24 画像出力部、26 バス、30 処理構築部、40 プラグインライブラリ蓄積部、42 プラグインライブラリ、44 処理モジュール生成関数、46 処理生成モジュール、48 画像処理モジュール、50 ディレクトリ管理部、60 画像処理部、70 補助モジュール蓄積部、72 属性変換処理モジュール、74 バッファモジュール、80 アプリケーションプログラム、86 制御手段、90 オペレーティングシステム。

Claims (5)

  1. 所定のタスクを実行するための複数の処理部品を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する処理部品蓄積部と、
    各フォルダに格納された各処理部品を、前記ディレクトリ構造に基づき予め定められた連結順に従って、連結する連結部と、
    連結された各処理部品を実行して前記タスクを実行する実行部と、
    を備える情報処理装置。
  2. 所定のタスクを実行するための複数の処理部品の各々に対応する各識別子を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する識別子蓄積部と、
    各フォルダに格納された各識別子に基づいて、処理部品の実体を格納する処理部品格納部から各処理部品を取得し、前記ディレクトリ構造に基づき予め定められた連結順に従って、取得した各処理部品を連結する連結部と、
    連結された各処理部品を実行して前記タスクを実行する実行部と、
    を備える情報処理装置。
  3. 請求項1または2に記載の情報処理装置において、
    各フォルダは、ディレクトリ構造上の同一階層に存在し、
    前記連結順は、各フォルダの各々を一意に特定する各フォルダ識別子を所定の規則に従って並べた場合における昇順あるいは降順に対応する、
    ことを特徴とする情報処理装置。
  4. 所定のタスクを実行するための複数の処理部品を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する処理部品蓄積部と、
    各フォルダに格納された各処理部品を、前記ディレクトリ構造に基づき予め定められた連結順に従って、連結する連結部と、
    連結された各処理部品を実行して前記タスクを実行する実行部と、
    してコンピュータを機能させるためのプログラム。
  5. 所定のタスクを実行するための複数の処理部品の各々に対応する各識別子を少なくとも1つずつ格納する複数のフォルダをディレクトリ構造で保持する処理部品蓄積部と、
    各フォルダに格納された各識別子に基づいて、処理部品の実体を格納する処理部品格納部から各処理部品を取得し、前記ディレクトリ構造に基づき予め定められた連結順に従って、取得した各処理部品を連結する連結部と、
    連結された各処理部品を実行して前記タスクを実行する実行部と、
    してコンピュータを機能させるためのプログラム。
JP2008023970A 2008-02-04 2008-02-04 情報処理装置およびプログラム Pending JP2009187099A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008023970A JP2009187099A (ja) 2008-02-04 2008-02-04 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008023970A JP2009187099A (ja) 2008-02-04 2008-02-04 情報処理装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2009187099A true JP2009187099A (ja) 2009-08-20

Family

ID=41070310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008023970A Pending JP2009187099A (ja) 2008-02-04 2008-02-04 情報処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2009187099A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132012A (ja) * 2011-12-22 2013-07-04 Hiroshima Univ 映像配信プラットフォームおよび映像配信方法
WO2015146281A1 (ja) * 2014-03-27 2015-10-01 村田機械株式会社 搬送制御システム
WO2018002967A1 (ja) * 2016-06-30 2018-01-04 日本電気株式会社 情報処理システム、情報処理方法、及び、記録媒体
JPWO2019198221A1 (ja) * 2018-04-13 2020-04-30 三菱電機株式会社 データ処理装置、データ処理方法及びプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132012A (ja) * 2011-12-22 2013-07-04 Hiroshima Univ 映像配信プラットフォームおよび映像配信方法
WO2015146281A1 (ja) * 2014-03-27 2015-10-01 村田機械株式会社 搬送制御システム
JP2015191245A (ja) * 2014-03-27 2015-11-02 村田機械株式会社 搬送制御システム
US9989936B2 (en) 2014-03-27 2018-06-05 Murata Machinery, Ltd. Transport control system
TWI677773B (zh) * 2014-03-27 2019-11-21 村田機械股份有限公司 搬運控制系統
WO2018002967A1 (ja) * 2016-06-30 2018-01-04 日本電気株式会社 情報処理システム、情報処理方法、及び、記録媒体
JPWO2019198221A1 (ja) * 2018-04-13 2020-04-30 三菱電機株式会社 データ処理装置、データ処理方法及びプログラム

Similar Documents

Publication Publication Date Title
JP5018504B2 (ja) データ処理装置,撮像装置,データ処理プログラム
US8271544B2 (en) Data file having more than one mode of operation
JP4979287B2 (ja) 画像処理装置及びプログラム
US20110173555A1 (en) Using style elements to copy and paste a selected area of a screen display
JP2004215231A (ja) ファイル管理プログラム
CN111818175B (zh) 企业服务总线配置文件生成方法、装置、设备和存储介质
US11328021B2 (en) Automatic resource management for build systems
JP2009187099A (ja) 情報処理装置およびプログラム
CN105183393A (zh) 基于磁盘缓存实现文件快速预览的方法
JP2018045286A (ja) 前処理装置、インデックス追加ツリーデータ修正方法及びインデックス追加ツリーデータ修正プログラム
US8881098B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP4977681B2 (ja) データパターン/テストデータ生成・蓄積方法及びシステム
JP2005244614A (ja) 電子カメラ装置、及び記録媒体
JP2012118932A (ja) 情報処理装置及びプログラム
JP2011154608A (ja) 帳票入出力装置
US20120102077A1 (en) Method and apparatus to convert multimedia file name
JP4869890B2 (ja) 画像処理装置及びプログラム
CN110647568A (zh) 一种图数据库数据转化为编程语言数据方法及装置
JP2019016243A (ja) 注文データ管理装置、注文データ管理方法、および、注文データ管理プログラム
Doménech Fons Study and development of an Autopsy module for automated analysis of image metadata
WO2023006024A1 (zh) 图像处理方法、装置、电子设备及可读存储介质
CN115277674A (zh) 图片压缩的方法、装置、电子设备、介质及程序产品
US20040254986A1 (en) Information processing apparatus and program
CN115857917A (zh) 一种组件开发方法及装置
JP2009217588A (ja) ファイルシステム、電子カメラ、ファイルアクセス方法及びプログラム