(57)【要約】【課題】安定したシステム動作を保証しつつ、機能を追加、拡張することができる画像処理装置、画像処理方法、及び、コンピュータプログラムを提供することを目的とする。【解決手段】画像処理に係る機能に対応するプラグインを記憶し、プラグインに基づいてアプリケーションを実行する画像処理装置において、新規プラグインを画像処理装置にインストールするインストール手段５０１と、インストール手段によりインストールされる新規プラグインと画像処理装置内に記憶されている既存プラグインとが共存できるか否かを、新規プラグインに付加されている新規プラグインの機能を示す機能種別情報に基づいて判定する判定手段５０３とを備えることを特徴とする画像処理装置。【選択図】図５
2009223578.tif 000002
【特許請求の範囲】
【請求項１】
画像処理に係る機能に対応するプラグインを記憶し、前記プラグインに基づいてアプリケーションを実行する画像処理装置において、
新規プラグインを前記画像処理装置にインストールするインストール手段と、
前記インストール手段によりインストールされる新規プラグインと前記画像処理装置内に記憶されている既存プラグインとが共存できるか否かを、前記新規プラグインに付加されている前記新規プラグインの機能を示す機能種別情報に基づいて判定する判定手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記新規プラグインと前記既存プラグインとが共存できるか否かを、前記機能種別情報と前記新規プラグインに付加されている前記新規プラグインのレイヤ情報とに基づいて判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記新規プラグインが、前記アプリケーションの一部を実現する部品であるフィルタを複数有する場合、
前記判定手段は、各フィルタに対して既存プラグインと共存できるか否かを判定し、前記複数のフィルタのうち、１つでも既存プラグインと共存できないと判定されれば、前記新規プラグインは共存できないと判定することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記判定手段により共存できないと判定された場合、ユーザに対して警告を行う警告手段をさらに備えることを特徴とする請求項１乃至３いずれか一項に記載の画像処理装置。
【請求項５】
前記判定手段により共存できないと判定された場合、前記新規プラグインの追加を継続するか否かを選択する選択手段をさらに備えることを特徴とする請求項１乃至４いずれか一項に記載の画像処理装置。
【請求項６】
前記判定手段により、共存できないと判定された場合、共存できないと判定された既存プラグインのプラグイン情報を表示する情報表示手段をさらに備えることを特徴とする請求項１乃至５いずれか一項に記載の画像処理装置。
【請求項７】
前記情報表示手段により表示された前記プラグイン情報を選択するプラグイン情報選択手段をさらに備え、
前記情報表示手段は、前記プラグイン情報選択手段により選択された前記プラグイン情報の詳細情報を表示することを特徴とする請求項６記載の画像処理装置。
【請求項８】
画像処理に係る機能に対応するプラグインを記憶し、前記プラグインに基づいてアプリケーションを実行する画像処理装置における画像処理方法であって、
新規プラグインを前記画像処理装置にインストールするインストールステップと、
前記インストールステップによりインストールされる新規プラグインと前記画像処理装置内に記憶されている既存プラグインとが共存できるか否かを、前記新規プラグインに付加されている前記新規プラグインの機能を示す機能種別情報に基づいて判定する判定ステップとを備えることを特徴とする画像処理方法。
【請求項９】
前記判定ステップは、前記新規プラグインと前記既存プラグインとが共存できるか否かを、前記機能種別情報と前記新規プラグインに付加されている前記新規プラグインのレイヤ情報とに基づいて判定することを特徴とする請求項８記載の画像処理方法。
【請求項１０】
前記新規プラグインが、前記アプリケーションの一部を実現する部品であるフィルタを複数有する場合、
前記判定ステップは、前記複数のフィルタに対して既存プラグインと共存できるか否かを判定し、前記複数のフィルタのうち、１つでも既存プラグインと共存できないと判定されれば、前記新規プラグインは共存できないと判定することを特徴とする請求項８又は９記載の画像処理方法。
【請求項１１】
前記判定ステップにより、共存できないと判定された場合、ユーザに対して警告を行う警告ステップをさらに有することを特徴とする請求項８乃至１０いずれか一項に記載の画像処理方法。
【請求項１２】
前記判定ステップにより、共存できないと判定された場合、前記新規プラグインの追加を継続するか否かを決定する決定ステップをさらに有することを特徴とする請求項８乃至１１いずれか一項に記載の画像処理方法。
【請求項１３】
前記判定ステップにより、共存できないと判定された場合、共存できないと判定された既存プラグインのプラグイン情報を表示する情報表示ステップをさらに有することを特徴とする請求項８乃至１２いずれか一項に記載の画像処理方法。
【請求項１４】
前記情報表示手段に表示された前記プラグイン情報を選択するプラグイン情報選択ステップを有し、
前記情報表示ステップは、前記プラグイン情報選択ステップにより選択された前記プラグイン情報の詳細情報を表示することを特徴とする請求項１３記載の画像処理方法。
【請求項１５】
請求項８乃至請求項１４いずれか一項に記載の画像処理方法を、コンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの画像処理装置では、メモリなどの制限は厳しいものの、汎用的なコンピュータと同様にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備え、各機能はアプリケーションの制御によって実現されるようになっている。
【０００３】
また、特許３６７９３４９（特許文献１）では、各アプリケーションから共通的に利用される機能をプラットフォームとして備え、当該プラットフォームのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を利用してアプリケーションを実装している。係る画像処理装置では、システムに機能を追加・拡張を行うときに、他のアプリケーションに影響を与えてしまうことが問題となる。
【０００４】
例えば上記問題に対して、特開２００３−５８３７８（特許文献２）では、情報処理装置において、新たにインストールする機種（印刷制御プログラム）のバージョンとオペレーションシステムに既にインストールされている機種のバージョンとを比較し、それぞれのバージョンを一致させる技術が開示されている。
【０００５】
より詳細には、新たにインストールする機種のバージョンが、既にインストールされている機種のバージョンよりも新しい場合には、既にインストールされている全ての機種のバージョンを新しいバージョンにバージョンアップし、また、新たにインストールする機種のバージョンが、既にインストールされている機種のバージョンよりも古い場合には、インストールする古い機種の共通モジュール群の各ファイル名をリネームしてインストールすることにより、新旧のバージョンの共通モジュール群が共存するようにする。
【特許文献１】特許３６７０３４９号公報
【特許文献２】特開２００３−５８３７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献２に開示されている画像処理装置等の技術においては、新規な機種をインストールする場合に、新旧の機種が共存できるかどうかの確認がされずに既存機種をパージョンアップしてしまう。また、古いバージョンをリネームしてインストールする場合にも、新旧の機種が共存できるかどうかの確認がされずに新旧の機種が存在することになるため、新規機種のインストール後におけるシステムの動作を保証することができない。
【０００７】
本発明は、上記問題に鑑みてなされたものであり、安定したシステム動作を保証しつつ、機能を追加、拡張することができる画像処理装置、画像処理方法、及び、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の画像処理装置は、画像処理に係る機能に対応するプラグインを保持し、前記プラグインに基づいてアプリケーションを実行する画像処理装置であって、新規のプラグインを前記画像処理装置にインストールするインストール手段と、前記新規のプラグインの機能を示す機能種別情報に基づいて、前記新規のプラグインと既存のプラグインとが共存できるか否かを判定する判定手段とを備えることを特徴とする。
【０００９】
また、前記判定手段は、前記新規プラグインと前記既存プラグインとが共存できるか否かを、前記機能種別情報と前記新規プラグインに付加されている前記新規プラグインのレイヤ情報とに基づいて判定してもよい。
【００１０】
ここで、レイヤ情報とは、複数のレイヤで構成される画像処理装置のソフトウェアにおいて、どのレイヤであるかを示す情報のことをいう。
【００１１】
あるいは、画像処理に係る機能に対応するプラグインを保持し、前記プラグインに基づいてアプリケーションを実行する画像処理装置における画像処理方法であって、新規のプラグインを前記画像処理装置にインストールするインストールステップと、前記新規のプラグインの機能を示す機能種別情報に基づいて、前記新規のプラグインと既存のプラグインとが共存できるか否かを判定する判定ステップとを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、安定したシステム動作を保証しつつ、機能を追加、拡張することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例を図面に基づいて説明する。
【実施例１】
【００１４】
＜画像処理装置のハードウェア構成について＞
まず、本実施例に係る画像処理装置のハードウェア構成について、図１を用いて説明する。図１は、本発明の実施例１に係る画像処理装置のハードウェア構成の一例を示す図である。
【００１５】
図１に示すように、画像処理装置は、制御部１０１、主記憶部１０２、補助記憶部１０３、ネットワークＩ／Ｆ１０４、外部記憶装置Ｉ／Ｆ１０５、入力部１０６、表示部１０７、印刷部１０８、スキャナ部１０９、外部装置Ｉ／Ｆ１１０などにより構成されている。
【００１６】
制御部１０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。制御部１０１は、主記憶部１０２に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００１７】
主記憶部１０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などであり、制御部１０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は1次保存する記憶装置である。
【００１８】
補助記憶部１０３は、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部１０３には、画像処理装置が管理する各種情報（例えば、ユーザ情報など）が格納され、データベース（ＤＢ：ＤａｔａＢａｓｅ）、ファイルシステム（ＦＳ：Ｆｉｌｅ  Ｓｙｓｔｅｍ）などの機能により管理される。
【００１９】
ネットワークＩ／Ｆ１０４は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して接続された通信機能を有する周辺機器と当該画像処理装置などのインタフェースである。
【００２０】
外部記憶装置Ｉ／Ｆ１０５は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などのデータ伝送路を介して接続された外部記憶装置１１１（例えば、記憶メディアドライブなど）と当該画像処理装置とのインタフェースである。
【００２１】
入力部１０６や表示部１０７は、キースイッチ（ハードキー）とタッチパネル機能（ＧＵＩのソフトウェアキーを含む：Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を備えたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）とから構成され、画像処理装置が有する機能を利用する際のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）として機能する表示及び／又は入力装置である。
【００２２】
印刷部１０８は、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（ブラック）からなる画像データを受け取ると、レーザービームを用いた電子写真プロセス（露光、潜像、現像及び転写のプロセス）を用いて、受け取った画像データを転写紙（印刷用紙）に出力（印刷）するプロッタ装置である。
【００２３】
スキャナ部１０９は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）光電変換素子からなるラインセンサとＡ／Ｄコンバータとこれらを駆動する駆動回路を備え、原稿読み取り面（コンタクトガラス上）にセットされた原稿をスキャンすることでＲＧＢ各８ビットのデジタル画像データを生成（原稿から情報を読み取り電子化）する読取装置である。
【００２４】
外部装置Ｉ／Ｆ１１０は、ＵＳＢなどのデータ伝送路を介して接続された外部装置１１２（例えば、デジタルカメラなど）のやり取り（送受信や読み込み／書込み）を行っている。
【００２５】
このように、画像処理装置は、主記憶部１０２や補助記憶部１０３などの記憶装置に格納されたプログラムを制御部１０１で実行し、制御信号（制御命令）を各装置へ送出すること（各装置を制御すること）で、画像処理装置が有するコピー、ファックス、スキャナ、プリンタなどのアプリケーションを実現し、画像処理装置で管理する情報、又は画像処理装置が接続されたシステム内で管理する情報を処理することができる。
【００２６】
＜画像処理装置のソフトウェア構成について＞
次に、本実施例１に係る画像処理装置のソフトウェア構成ついて説明する。
【００２７】
図２は、本発明の実施例１に係る画像処理装置のソフトウェア構成の一例を示す図である。
【００２８】
図２に示すように、本実施例に係るソフトウェアは、ユーザインタフェース層２０１、コントロール層２０２、アクティビティ層２０３、フィルタ層２０４、デバイスサービス層２０５、デバイス層２０６などにより構成されている。なお、図２中における各層の上下関係は、基本的に上にある層が下の層を呼び出す関係に基づいている。
【００２９】
ユーザインタフェース層２０１は、アプリケーション（例えば、コピー、ファックス、スキャナ、プリント）の実行要求を受け付けるためのＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）機能が実装されている部分であり、例えば、通信サーバ部２１１及びローカルＵＩ部２１２などが含まれている。
【００３０】
通信サーバ部２１１は、例えば、クライアントＰＣ等からネットワーク経由で要求を受け付ける。また、ローカルＵＩ部２１２は、例えば、オペレーションパネルを介して入力される要求を受け付ける。ユーザインタフェース層２０１において受け付けられた要求は、コントロール層２０２に伝えられる。
【００３１】
コントロール層２０２は、要求されたアプリケーションを実現するための処理を制御するための機能が実装されている部分である。コントロール層２０２は、例えばプラグイン管理部２２１を有する。プラグイン管理部２２１は、画像処理装置にインストールされたプラグインの機能種別とプラグインの情報とを管理する。また、プラグイン管理部２２１は、画像処理装置に実装されるアプリケーションを実行するための手段などの物理的なアドレスや動作などを管理する。
【００３２】
なお、本実施例においては、プラグイン管理部２２１が管理する「プラグイン」とは、画像処理装置が有するアプリケーションに対して新たに追加される追加機能に対応するプログラム又はデバイス、及び画像処理装置が有するアプリケーションに対応するプログラム又はデバイスをいう。
【００３３】
アクティビティ層２０３は、要求されたアプリケーションに応じて、後述するフィルタ層２０４が有する各フィルタをパイプで接続し、接続されたフィルタに基づいてアプリケーションの実行を制御するための機能を実装した部分である。なお、本実施例において「画像処理装置のアプリケーション」とは、画像処理装置がユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスと同義である。
【００３４】
図３は、本実施例の画像処理装置における各アプリケーションを実現するためのアクティビティ構成の一例を示す図である。コピーアクティビティは、例えば、読取フィルタ、パイプＡ、文書加工フィルタ、パイプＡ、印刷フィルタにより構成される。ＦＡＸアクティビティは、例えば、読取フィルタ、パイプＡ、ＦＡＸ送信フィルタにより構成される。プリンタアクティビティは、例えば、ＰＣ文書フィルタ、パイプＢ、文書変換フィルタ、パイプＢ、印刷フィルタにより構成される。
【００３５】
図２に戻り、フィルタ層２０４は、それぞれが画像処理装置において提供されるアプリケーションの一部を実行する部品郡が実装されている部分である。すなわち、フィルタ層２０４における部品を組み合わせることにより一つのアプリケーションが表現される。
【００３６】
本実施例では、各部品を「フィルタ」と呼ぶ。これは、画像処理装置のアプリケーションを実行する手段をソフトウェアで実装する場合に、ソフトウェアアーキテクチャが「パイプ＆フィルタ」と呼ばれるアーキテクチャに基づいているからである。
【００３７】
図４は、パイプ＆フィルタアーキテクチャの概念を説明するための図である。図４において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図４に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００３８】
本実施例における画像処理装置では、各機能をドキュメント（データ）に対する「変換」の連続として捉える。画像処理装置のアプリケーションは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し係）は基本的に存在しない。従って、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能とされている。
【００３９】
図２に戻り、フィルタ層２０４は、入力を実現するフィルタとして、読取フィルタ２４１、保管文書読出フィルタ２４２、ＰＣ文書受信フィルタ２４３などを有する。
【００４０】
読出フィルタ２４１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ２４２は、画像処理装置の記憶装置に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。ＰＣ文書受信フィルタ２４３は、クライアントＰＣから印刷データを受信し、受信された印刷データを出力する。
【００４１】
フィルタ層２０４は、また、画像データの加工を実現するフィルタとして、文書加工フィルタ２４４及び文書変換フィルタ２４５を有する。
【００４２】
文書加工フィルタ２４４は、入力されたデータに所定の画像変換処理（集約、拡大、又は、縮小）を施し、出力する。文書変換フィルタ２４５は、画像データのデータ形式を変換する。文書変換フィルタ２４５は、例えば、レンダリング処理、すなわち、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換する。
【００４３】
フィルタ層２０４は、また、出力を実現するフィルタとして、印刷フィルタ２４６、保管文書登録２４７、ＰＣ文書送信２４８などを有する。
【００４４】
印刷フィルタ２４６は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ２４７は、入力されたデータを画像処理装置内の記憶装置、例えば、ハードディスクに保存する。ＰＣ文書送信フィルタ２４８は、入力されたデータをクライアントＰＣに送信する。
【００４５】
デバイスサービス層２０５は、フィルタ層における各フィルタから、共通に利用される下位機能が実装されている部分であり、画像パイプ２５１、及びデータ管理部２５２などが含まれる。
【００４６】
画像パイプ２５１は、上述したパイプの機能を実現する。すなわち、あるフィルタからの出力データを次のフィルタに伝達する。データ管理部２５２は、各種のデータベースを表現する。例えば、ユーザ情報が登録されたデータベースや、文書又は画像データなどが蓄積されるデータベースなどが相当する。
【００４７】
デバイス層２０６は、デバイス（ハードウェア）を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部、プロッタ制御部、メモリ制御部などがあり、各制御部は、当該制御部の名前につけられているデバイスを制御する。
【００４８】
＜画像処理装置のインストール処理に関する機能ブロック図について＞
図５は、本実施例における画像処理装置のインストール処理に関する機能ブロック図である。画像処理装置５００はインストール手段５０１、プラグイン管理手段５０２、共存判定手段５０３、画面表示手段５０５より構成される。
【００４９】
インストール手段５０１は、ネットワークを介してサーバから、または情報記録媒体などから新規プラグインをインストールする。その際、インストール手段５０１は、新規プラグインのプラグイン情報を共存判定手段５０３に出力する。
【００５０】
また、インストール手段５０１は、新規プラグインのインストールが終了したらプラグイン管理手段５０２に新規プラグインのプラグイン情報を出力する。
【００５１】
図６と図７は、新規プラグインのプラグイン情報を示す図である。このプラグイン情報は、新規プラグインをインストールする際に合わせてインストールされる。ここで、プラグイン情報の特徴は、レイヤ情報と機能種別情報とが含まれていることである。
【００５２】
図６は、特殊印刷フィルタプラグインのプラグイン情報の例を示す図である。プラグイン情報には、プラグイン名、バージョン、ベンダー名、問合せ先、レイヤ情報、機能種別情報などが含まれている。なお、特殊印刷フィルタプラグインのレイヤ情報は「フィルタ」で、機能種別情報は「印刷」である。
【００５３】
図７（ａ）は、コピーＢアクティビティプラグインのプラグイン情報の例を示す図である。プラグイン情報には図６同様、プラグイン名、バージョン、ベンダー名、問合せ先、レイヤ情報、機能種別情報などが含まれている。なお、コピーＢアクティビティプラグインのレイヤ情報は「アクティビティ」で、機能種別情報は「コピー」である。
【００５４】
図７（ｂ）は、コピーＢアクティビティの構成を示す図である。コピーＢは、読取フィルタ、パイプＡ、印刷フィルタを接続してアプリケーションを実行する。
【００５５】
図５に戻り、プラグイン管理手段５０２は、画像処理装置５００内に存在する既存プラグインのプラグイン情報を管理する。ここで、プラグイン情報とは、プラグイン名、プラグインの機能種別情報、レイヤ情報、バージョン、ベンダー名、問合せ先などをいう。プラグイン管理手段５０２が管理するプラグイン情報の詳細については図８を用いて説明する。
【００５６】
図８は、プラグイン管理手段５０２が管理するプラグイン情報の例を示す図である。図８では、レイヤごとに各プラグインを管理している。レイヤごとに管理するとレイヤを共存判定に用いる場合に、レイヤごとに既存プラグインの機能種別を調べればよいので、共存できない既存プラグインの検索が容易になる。
【００５７】
なお、機能種別情報のみを共存判定に用いる場合にはレイヤ情報は関係ないので、プラグイン管理手段５０２は、レイヤごとにプラグイン情報を管理する必要はない。また、既存プラグインのレイヤと機能種別とプラグイン名とが対応付けて管理されていれば、レイヤごとにプラグイン情報を管理する必要はない。
【００５８】
図５に戻り、プラグイン管理手段５０２は、共存判定手段５０３よりプラグイン情報を出力するよう指示を受けると、管理しているプラグイン情報を共存判定手段５０３に出力する。さらに、プラグイン管理手段５０２は、インストール手段５０１よりプラグイン情報を取得すると、取得したプラグイン情報を既存プラグインのプラグイン情報として管理する。
【００５９】
共存判定手段５０３は、新規プラグインと既存プラグインとが共存できるか否かを、それぞれのプラグインの機能種別情報に基づいて判定する。ここで、共存とは、２つのプラグインが画像処理装置のシステムに悪影響を及ぼすことなく、存在することをいう。基本的には、プラグインの機能種別が異なれば共存できるとし、また、プラグインの機能種別が同じであっても、レイヤが異なれば共存できるとする。
【００６０】
共存判定手段５０３は、共存不可情報記憶手段５０４を有する。共存不可情報記憶手段０４は、共存判定手段５０３により共存できないと判定された場合、共存できないと判定された既存プラグインのプラグイン情報を記憶する。
【００６１】
共存判定手段５０３は、全ての既存プラグインについて共存判定が終了した場合、共存できないと判定された既存プラグインが１つもなれければ、インストール手段５０１に新規プラグインをインストールするよう指示する。また、共存判定手段５０３は、共存できないと判定された既存プラグインが１つでも存在すれば、共存できない既存のプラグインがあることを画面表示手段５０５に通知する。
【００６２】
また、情報表示手段５０８の画面が操作画面に表示される場合には、共存判定手段５０３は、共存不可情報記憶手段５０４が記憶する既存プラグインのプラグイン情報を情報表示手段５０８に出力する。
【００６３】
ここでは、共存判定手段５０３の共存判定はプラグインの機能種別情報に基づいて行なった。これは、レイヤが異なれば機能種別の粒度（機能概念の広狭）が異なるため、レイヤに関係なく機能種別情報のみで共存判定できるからである。
【００６４】
しかし、レイヤが異なる場合にも機能種別が同じプラグインが存在するときには、レイヤ情報にも基づいて共存判定を行うようにする。これより、レイヤが異なる場合にも機能種別が同じプラグインが存在する場合に、より正確な共存判定を行うことができる。
【００６５】
画面表示手段５０５は、警告手段５０６、選択手段５０７、情報表示手段５０８を有する。警告手段５０６は、共存判定手段５０３より通知を受けると、新規プラグインと既存プラグインとが共存できない旨の警告を操作画面に表示する。これより、ユーザに対して共存できないプラグインがあることを通知することが可能となる。
【００６６】
選択手段５０７は、共存判定手段５０３より通知を受けると、新規プラグインのインストールを続行するか否かの選択ボタンを操作画面に表示する。これより、ユーザにインストールの続行を判断させることで、より安全にインストールを行うことができる。
【００６７】
図９は、警告手段５０６による警告画面と、選択手段５０７による選択画面とが同時に操作画面に表示される例を示す図である。なお、図９では、警告画面と選択画面とを同時に操作画面に表示したが、それぞれ別画面で表示してもよい。
【００６８】
情報表示手段５０８は、共存判定手段５０４より共存できないと判定された全ての既存プラグインのプラグイン情報を取得すると、共存できない既存プラグインの一覧を操作画面に表示する。これより、共存できない全てのプラグインをユーザに対して通知することができる。また、共存できないプラグインの詳細情報を参照する手段をユーザに提供することができる。
【００６９】
図５に戻り、情報表示手段５０８は、情報選択手段５０９を有する。情報選択手段５０９は、情報表示手段５０８により表示される既存プラグインの一覧から１つの既存プラグインが選択されるよう詳細ボタンを表示する。次に、情報表示手段５０８は、情報選択手段５０９により選択された既存プラグインの詳細情報を操作画面に表示する。これより、ユーザが詳細情報を参照することにより、ユーザが開発者に問合せをして問題がないかを確認することができ、より安全にインストールを行なうことができる。
【００７０】
図１０は、共存できない既存プラグインの一覧の例と既存プラグインの詳細情報の例とを示す図である。ここで、特殊印刷プラグインＡが、フィルタプラグインである場合とアクティビティプラグインである場合とに分けて説明する。まず、特殊印刷プラグインＡがフィルタプラグインである場合について説明する。
【００７１】
図１０（ａ）では、特殊印刷プラグインＡというフィルタ層の新規プラグインに対して、印刷プラグインＢとマーキング印刷プラグインＣとが共存できないと判定され、印刷プラグインＢとマーキング印刷プラグインＣとが警告プラグイン一覧として操作画面に表示されている。
【００７２】
図１０（ｂ）では、警告プラグイン一覧のマーキング印刷プラグインＣの詳細ボタンが押下されたときに、マーキング印刷プラグインＣの詳細情報が操作画面に表示されている。
【００７３】
次に、特殊印刷プラグインＡがアクティビティプラグインである場合について説明する。印刷プラグインＢ、マーキング印刷プラグインＣとは機能が「印刷」で同じとなるため、機能種別のみで共存判定をすると、新規プラグインと既存プラグインとは共存できないと判定される。しかし、レイヤ情報も共存判定に用いれば、新規プラグインと既存プラグインとはレイヤが「アクティビティ層」と「フィルタ層」とで異なるため、係る場合は、新規プラグインと既存プラグインとは共存できると判定される。よって、特殊印刷プラグインＡがアクティビティプラグインの場合は、図１０（ａ）、（ｂ）に示すような画面は表示されない。
【００７４】
＜画像処理装置における新規プラグインの共存判定処理について＞
図１１は、新規プラグインをインストールする際の共存判定処理を示すフローチャートである。ここでは、具体例を用いて説明する。例えば、レイヤが「フィルタ層」、機能種別が「印刷」の印刷フィルタＢの新規プラグインをインストールする場合を例にする。
【００７５】
ステップ１１０１では、共存判定手段５０３が、インストール手段５０１から新規プラグインのプラグイン情報を取得する。ここでは、プラグイン名「印刷フィルタＢプラグイン」、レイヤ「フィルタ層」、機能種別「印刷」などの情報が取得される。
【００７６】
ステップ１１０１に続いてステップ１１０２に進み、共存判定手段５０３が、プラグイン管理手段５０２から既存プラグインのプラグイン情報を取得する。ここでは、プラグイン名「印刷フィルタＡプラグイン」、レイヤ「フィルタ層」、機能種別「印刷」の既存プラグインが取得されたとする。
【００７７】
ステップ１１０２に続いてステップ１１０３に進み、共存判定手段５０３が、新規プラグインと既存プラグインとが同じ機能種別であるか否かを判定する。上記例では、新規プラグイン、既存プラグインともに機能種別が「印刷」であるため、共存判定手段５０３により機能種別が同じであると判定される。
【００７８】
ステップ１１０３によりＹＥＳと判定されるとステップ１１０４に進み、共存判定手段５０３が、新規プラグインと既存プラグインとが同じレイヤであるか否かを判定する。上記例では、新規プラグインと既存プラグインともにレイヤが「フィルタ層」で同じであるため、共存判定手段５０３によりレイヤが同じであると判定される。
【００７９】
ステップ１１０４によりＹＥＳと判定されるとステップ１１０５に進み、共存不可情報記憶手段５０４が、共存できないと判定された既存プラグインのプラグイン情報を共存不可プラグインとして記憶する。上記例では、共存不可情報記憶手段５０４は、印刷フィルタＡプラグインのプラグイン情報を記憶する。
【００８０】
次に、ステップ１１０６に進み、共存判定手段５０３が、全ての既存プラグインの共存判定確認が終了したかどうかを判定する。ここでは簡単のため、既存プラグインは「印刷フィルタＡプラグイン」のみとする。よって、共存判定処理は終了する。なお、他の既存プラグインが存在する場合には、ステップ１１０２に戻る。
【００８１】
次に、機能種別が同じでレイヤが異なる例について説明する。新規プラグインを、機能種別「印刷」は同じで、レイヤが「ユーザインタフェース層」の印刷ＵＩプラグインに変更する。ここでも簡単のため、既存プラグインは上記同様「印刷フィルタＡプラグイン」のみとする。
【００８２】
ステップ１１０３までは上記例と同様であるため省略する。ステップ１１０４では、共存判定手段５０３が、新規プラグインのレイヤ「ユーザインタフェース層」と既存プラグインのレイヤ「フィルタ層」が異なると判定する。最終的には、新規プラグイン「印刷ＵＩプラグイン」と既存プラグイン「印刷フィルタＡプラグイン」とは共存できると判定される。
【００８３】
次に、機能種別が異なる例について説明する。新規プラグインを、機能種別「コピー」、レイヤ「アクティビティ」のコピーＡアクティビティプラグインに変更する。ここでも簡単のため、上記例と同様、既存プラグインは「印刷フィルタＡプラグイン」のみとする。
【００８４】
ステップ１１０２までは、上記例と同様であるため省略する。ステップ１１０３では、共存判定手段５０３が、新規プラグインの機能種別「コピー」と既存プラグインの機能種別「印刷」とが異なると判定する。最終的には、新規プラグイン「コピーＡアクティビティ」と既存プラグイン「印刷フィルタＡプラグイン」は共存できると判定される。
【００８５】
なお、ステップ１１０３の機能種別判定とステップ１１０４のレイヤ判定との処理の順序は逆でもかまわない。また、レイヤごとに機能種別の粒度が異なる場合には、ステップ１１０４のレイヤ判定の処理は行なわなくてもよい。
【００８６】
＜画像処理装置における新規プラグインのインストール処理について＞
図１２は、画像処理装置における新規プラグインのインストール処理を示すフローチャートである。ステップ１２００では、共存判定手段５０３が、図１１に示す共存判定処理を行なう。
【００８７】
ステップ１２００に続いてステップ１２０１に進み、共存判定手段５０３が、共存できないと判定された既存プラグインがある場合には（共存不可情報記憶手段５０４に共存不可プラグインが記憶されている場合）、警告手段５０６に指示を出す。
【００８８】
ステップ１２０１に続いてステップ１２０２に進み、警告手段５０６が、新規プラグインと既存プラグインとが共存できない旨の警告画面を操作画面に表示する。
【００８９】
ステップ１２０２に続いてステップ１２０３に進み、選択手段５０７が、インストールを続行するか否かの選択ボタンを操作画面に表示し、インストール続行の選択ボタンが押下されたかを判定する。
【００９０】
ステップ１２０３によりＹＥＳと判定された場合、または、ステップ１２０１によりＮＯと判定された場合、ステップ１２０４に進む。ステップ１２０４では、選択手段５０７が、インストール手段５０１にインストールを続行するよう指示し、または、共存判定手段５０３がインストール手段５０１にインストールを続行するよう指示し、インストール手段５０１は、新規プラグインをインストールする。
【００９１】
ステップ１２０４に続いてステップ１２０５に進み、インストール手段５０１が、新規プラグインのインストール終了後、新規プラグインのプラグイン情報をプラグイン管理手段５０２に出力する。次に、プラグイン管理手段５０２が、取得したプラグイン情報を既存プラグインのプラグイン情報として管理する。
【００９２】
なお、図１２では、ステップ１２０２の警告処理とステップ１２０３の選択処理とを合わせて行なったが、どちらか一方の処理のみでもよい。
【００９３】
以上の処理より、共存できないプラグインがあることを警告した上で、ユーザに新規プラグインのインストールを続行するか否かを判断させることができ、より安全に新規プラグインのインストールを行うことができる。
【００９４】
図１３は、図１２とは異なるインストール処理を示すフローチャートである。図１２と同様の処理を行なう処理は、図１２と同じ符号を付し、その説明を省略する。
【００９５】
ステップ１３０１では、情報表示手段５０８が、共存できないプラグインの一覧を表示する。その際、情報表示手段１３０１は、共存できないプラグインごとに詳細ボタンを表示する。
【００９６】
ステップ１３０１に続いてステップ１３０２に進み、情報選択手段５０９が、詳細ボタンを押下されたか否かを判定する。ステップ１３０２によりＹＥＳと判定されると、ステップ１３０３に進み、情報表示手段５０８が、押下された詳細ボタンに対応するプラグインの詳細情報を表示する。
【００９７】
ステップ１３０２によりＮＯと判定された場合、または、ステップ１３０３の処理が終了した場合、ステップ１２０３に進む。
【００９８】
以上の処理より、共存できないプラグインの一覧を表示し、詳細情報をユーザに対して提供できるので、ユーザが開発者に問い合わせをして問題がないかを確認することができ、より安全に新規プラグインのインストールを行うことができる。
【００９９】
（変形例）
上記実施例１では、フィルタ層のプラグインの場合、１つのフィルタをインストールする場合について説明したが、変形例では、複数のフィルタを同時にインストールする場合について説明する。
【０１００】
図１４は、複数のフィルタを有する新規プラグインの共存判定処理を示すフローチャートである。図１１と同様の処理を行なう処理については、図１１と同じ符号を付し、その説明を省略する。
【０１０１】
ステップ１４０１では、共存判定手段５０３が、新規プラグインは複数のフィルタを有するか否かを判定する。ステップ１４０１によりＹＥＳと判定されるとステップ１４０２に進み、共存判定手段５０３が、複数のフィルタのうちの１つのフィルタの機能種別情報を取得する。次にステップ１１０２からステップ１１０６までは、図１１に示す処理と同様の処理を行なう。
【０１０２】
ステップ１１０６によりＹＥＳと判定されるとステップ１４０３に進み、共存判定手段５０３が、新規プラグインに含まれる複数のフィルタ全てに共存判定を行なったか否かを判定する。ステップ１４０３によりＮＯと判定されるとステップ１４０２に戻る。ステップ１４０３によりＹＥＳと判定されると共存判定処理を終了する。
【０１０３】
なお、図１４に示す処理では、ステップ１４０２以降のステップにおいてステップ１１０４のレイヤ判定は必要ない。新規プラグインはフィルタ層であることがわかっているからである。
【０１０４】
以上より、新規プラグインに複数のフィルタが含まれている場合にも、全てのフィルタに対して、共存判定を行なうことができ、より安全に新規プラグインのインストールを行うことができる。
【０１０５】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、上記変形例以外にも種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０６】
【図１】実施例１に係る画像処理装置のハードウェア構成の一例を示す図。
【図２】実施例１に係る画像処理装置のソフトウェア構成の一例を示す図。
【図３】実施例１に係る画像処理装置における各アプリケーションを実現するためのアクティビティ構成の一例を示す図。
【図４】パイプ＆フィルタアーキテクチャの概念を説明するための図。
【図５】実施例１における画像処理装置のインストール処理に関する機能ブロック図。
【図６】新規プラグインのプラグイン情報を示す図。
【図７（ａ）】新規プラグインのプラグイン情報を示す図。
【図７（ｂ）】コピーＢアクティビティの構成を示す図。
【図８】プラグイン情報の例を示す図。
【図９】実施例１における警告画面と選択画面とが同時に操作画面に表示される例を示す図。
【図１０（ａ）】警告プラグイン一覧の例を示す図。
【図１０（ｂ）】プラグインの詳細情報の例を示す図。
【図１１】実施例１における新規プラグインの共存判定処理を示すフローチャート。
【図１２】実施例１における新規プラグインのインストール処理を示すフローチャート。
【図１３】図１２とは異なるインストール処理を示すフローチャート。
【図１４】変形例における複数のフィルタを有するプラグインの共存判定処理を示すフローチャート。
【符号の説明】
【０１０７】
２０１  ユーザインタフェース層
２０２  コントロール層
２０３  アクティビティ層
２０４  フィルタ層
２０５  デバイスサービス層
２０６  デバイス層
２１１  通信サーバ部
２１２  ローカルＵＩ部
２２１  プラグイン管理部
２３１  コピー
２３２  ＦＡＸ
２３３  プリンタ
２４１  読取フィルタ
２４２  保管文書読出フィルタ
２４３  ＰＣ文書受信フィルタ
２４４  文書加工フィルタ
２４５  文書変換フィルタ
２４６  印刷フィルタ
２４７  保管文書登録フィルタ
２４８  ＰＣ文書送信フィルタ
２５１  画像パイプ
２５２  データ管理部
５００  画像処理装置
５０１  インストール手段
５０２  プラグイン管理手段
５０３  共存判定手段
５０４  共存不可情報記憶手段
５０５  画面表示手段
５０６  警告手段
５０７  選択手段
５０８  情報表示手段
５０９  情報選択手段
【図１】
2009223578.tif 000003
【図２】
2009223578.tif 000004
【図３】
2009223578.tif 000005
【図４】
2009223578.tif 000006
【図５】
2009223578.tif 000007
【図６】
2009223578.tif 000008
【図７（ａ）】
2009223578.tif 000009
【図７（ｂ）】
2009223578.tif 000010
【図８】
2009223578.tif 000011
【図９】
2009223578.tif 000012
【図１０（ａ）】
2009223578.tif 000013
【図１０（ｂ）】
2009223578.tif 000014
【図１１】
2009223578.tif 000015
【図１２】
2009223578.tif 000016
【図１３】
2009223578.tif 000017
【図１４】
2009223578.tif 000018