(57)【要約】【課題】画像処理シーケンスを適切に決定することを目的とする。【解決手段】接続された拡張デバイスより拡張デバイスの画像処理情報を受信する受信手段と、画像処理装置の画像処理情報を取得する取得手段と、受信された拡張デバイスの画像処理情報と、取得された画像処理装置の画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定手段と、を有することによって課題を解決する。【選択図】図７
2016009995.tif 000002
【特許請求の範囲】
【請求項１】
拡張デバイスと接続可能な画像処理装置であって、
接続された前記拡張デバイスより前記拡張デバイスの画像処理情報を受信する受信手段と、
前記画像処理装置の画像処理情報を取得する取得手段と、
前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記画像処理装置の画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、前記ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定手段と、
を有する画像処理装置。
【請求項２】
前記受信手段により前記拡張デバイスの画像処理情報が受信された場合、前記拡張デバイスの画像処理情報に基づき、前記画像処理装置で使用可能な拡張機能を操作部に表示する表示制御手段を更に有し、
前記決定手段は、前記操作部を介して表示された拡張機能の一つが選択された場合、前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記画像処理装置の画像処理情報と、前記選択された拡張機能に係るジョブのジョブ情報と、に基づいて、前記画像処理シーケンスを決定する請求項１記載の画像処理装置。
【請求項３】
前記決定手段は、前記複数の画像処理モジュールのうちの一つの画像処理モジュールが前記拡張デバイスと前記画像処理装置とにある場合、前記拡張デバイスの画像処理情報に含まれる前記画像処理モジュールの処理速度と、前記画像処理装置の画像処理情報に含まれる前記画像処理モジュールの処理速度と、に基づいて、何れの画像処理モジュールを用いるかを決定し、前記画像処理シーケンスを決定する請求項１又は２記載の画像処理装置。
【請求項４】
前記決定手段は、更に、前記拡張デバイスの画像処理情報と、前記画像処理装置の画像処理情報と、に含まれる通信インターフェースの通信速度に基づいて、何れの画像処理モジュールを用いるかを決定し、前記画像処理シーケンスを決定する請求項３記載の画像処理装置。
【請求項５】
前記拡張デバイスとの通信が確立した際の通信速度に基づいて、前記拡張デバイスの画像処理情報と、前記画像処理装置の画像処理情報と、に含まれる通信インターフェースの通信速度を更新する更新手段を更に有する請求項４記載の画像処理装置。
【請求項６】
前記決定手段は、更に、前記拡張デバイスの画像処理情報に含まれる前記画像処理モジュールの使用状況と、前記画像処理装置の画像処理情報に含まれる前記画像処理モジュールの使用状況と、に基づいて、何れの画像処理モジュールを用いるかを決定する請求項３乃至５何れか１項記載の画像処理装置。
【請求項７】
前記決定手段は、前記複数の画像処理モジュールの処理順序と、各画像処理モジュールの入力データのデータ量と、を含む画像処理シーケンスを決定し、
前記決定された画像処理シーケンスと、前記拡張デバイスの画像処理情報に含まれる前記拡張デバイスのメモリ容量と、前記画像処理装置の画像処理情報に含まれる前記画像処理装置のメモリ容量と、に基づいて、前記拡張デバイス、又は前記画像処理装置のメモリ容量が不足していると判断した場合、前記画像処理シーケンスを変更する変更手段を更に有する請求項１乃至６何れか１項記載の画像処理装置。
【請求項８】
前記変更手段は、前記画像処理シーケンスと、前記拡張デバイスのメモリ容量と、前記画像処理装置のメモリ容量と、に基づいて、前記拡張デバイスにおいて前記画像処理シーケンスに含まれる一の画像処理を行う場合にメモリ容量が不足すると判断した場合、前記拡張デバイスに転送するデータ量を分割するように前記画像処理シーケンスを変更する請求項７記載の画像処理装置。
【請求項９】
前記拡張デバイスが接続された際に、ユーザ認証を行う認証手段を更に有し、
前記表示制御手段は、前記拡張機能の使用ユーザとして前記認証手段によりユーザ認証されたユーザ情報を前記操作部に更に表示する請求項２記載の画像処理装置。
【請求項１０】
前記表示制御手段は、前記拡張機能の使用権限を解除するオブジェクトを前記操作部に更に表示する請求項２又は９記載の画像処理装置。
【請求項１１】
画像処理装置と拡張デバイスとを有する画像処理システムであって、
前記画像処理装置は、
接続された前記拡張デバイスより前記拡張デバイスの画像処理情報を受信する受信手段と、
前記画像処理装置の画像処理情報を取得する取得手段と、
前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記画像処理装置の画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、前記ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定手段と、
を有する画像処理システム。
【請求項１２】
拡張デバイスと接続可能な画像処理装置が実行する情報処理方法であって、
接続された前記拡張デバイスより前記拡張デバイスの画像処理情報を受信する受信ステップと、
前記画像処理装置の画像処理情報を取得する取得ステップと、
前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記画像処理装置の画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、前記ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定ステップと、
を含む情報処理方法。
【請求項１３】
画像処理装置と拡張デバイスとを有する画像処理システムにおける情報処理方法であって、
前記画像処理装置が、接続された前記拡張デバイスより前記拡張デバイスの画像処理情報を受信する受信ステップと、
前記画像処理装置が、 前記画像処理装置の画像処理情報を取得する取得ステップと、
前記画像処理装置が、前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記画像処理装置の画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、前記ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定ステップと、
を含む情報処理方法。
【請求項１４】
拡張デバイスと接続可能なコンピュータに、
接続された前記拡張デバイスより前記拡張デバイスの画像処理情報を受信する受信ステップと、
前記コンピュータの画像処理情報を取得する取得ステップと、
前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記コンピュータの画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、前記ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、例えば画像形成装置にて原稿をコピーする場合、ユーザは、コピーモードを選択して、原稿台よりスキャナ機能を用いて原稿の画像データを読み込み、操作パネルから様々な指示を入力してコピーモードにおける基本機能を設定する。画像形成装置は、設定された設定情報等に基づき、画像処理（集約、変倍等）を行ってから、プリンタ機能により印刷する。このような画像形成装置は、多くの標準機能を備えると共にユーザの要望に応じて導入されるオプション機能（拡張機能）が準備されている。
拡張機能として例えば、"スキャンデータをＦＡＸ送信"、"スキャンデータをＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）を行う"、"ユーザの基幹系システムへスキャンデータからの必要部分のみを切りだして転送する"等がある。
拡張機能を画像形成装置において実現する方法としては、ネットワーク接続された（画像形成装置から見て外部の）情報処理装置（例えばサーバコンピュータ）にプログラムを準備しておく。そして、画像形成装置からネットワークを介してデータを通信してサーバにおいてデータ処理を実行することにより実現する方法がある。又は、画像形成装置自体にプログラムをダウンロード等して画像形成装置においてデータ処理を実行することに実現する方法等がある。
【０００３】
このようにネットワークを介して画像形成装置と画像形成装置の外部の装置とで連携させて処理するサービスを提供するシステムが開示されている（例えば、特許文献１参照）。
上述した特許文献１には、画像形成装置が標準的に備える標準機能と共に、その標準機能に関係する拡張機能が表示されるものである。このため、画像形成装置を使用しているユーザに関係がある（ユーザが選択する可能性が高い標準機能に関係がある）拡張機能をそのユーザは容易に実行することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１０１１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、標準機能と共にその標準機能に関係する拡張機能を表示し利用する場合、ユーザはネットワークを介しての拡張機能を行うための処理時間、処理できる文書の制限や、拡張機能を利用するための文書形式等も加味してしなくてはならない。
更に近年、コンピュータやテレビジョンに接続可能な小型のコンピュータ（以下、ドングルという）が安価に利用できるようになってきた。
したがってネットワークを介してサーバにおいてデータ処理させる拡張機能の他に、ドングルを直接、画像形成装置に具備されているＵＳＢ等の高速インターフェースを介して接続し、更に大容量なデータに対しての拡張機能も実現できるような環境が整っている。
また画像処理のハードウェアとしても、ユーザ側でコンフィギュレーションファイルを入れ替えることにより、市場出荷後でも回路構成を行うことができるＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）等が適用されはじめている。したがって、画像形成装置側でも拡張機能用のハードウェアを構成することが可能となっている。
このような環境のなかでは、ネットワークを介した拡張機能だけでなく、ドングルを利用した画像処理、また画像形成装置内のコンフィギュレーション自在なＦＰＧＡのようなデバイスの画像処理機能を利用することができる。
しかし、様々なデバイスを組み合わせて画像処理を実行する場合、各々のデバイス、また接続される通信インターフェースが任意となる。そのために、拡張機能を実行するための画像処理シーケンスの設定を適切に行わないとジョブのスループット低下や、場合により処理できないケースが発生する問題がある。
【課題を解決するための手段】
【０００６】
そこで、本発明は、拡張デバイスと接続可能な画像処理装置であって、接続された前記拡張デバイスより前記拡張デバイスの画像処理情報を受信する受信手段と、画像処理装置の画像処理情報を取得する取得手段と、前記受信された前記拡張デバイスの画像処理情報と、前記取得された前記画像処理装置の画像処理情報と、拡張機能に係るジョブのジョブ情報と、に基づいて、前記ジョブを処理する複数の画像処理モジュールの処理順序を含む画像処理シーケンスを決定する決定手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、画像処理シーケンスを適切に決定することができる。
【図面の簡単な説明】
【０００８】
【図１】画像形成装置のハードウェア構成等の一例を示す図である。
【図２】実施形態１の画像形成装置のソフトウェア構成の一例を示す図である。
【図３】拡張デバイスのハードウェア構成の一例を示す図である。
【図４】"保存ファイルの利用"のタグが選択された後の画面の一例を示す図である。
【図５】その他の機能実行ボタンが押下された後の画面の一例を示す図である。
【図６】拡張デバイスが拡張Ｉ／Ｆに挿入された場合の画面の一例を示す図である。
【図７】実施形態１の情報処理の一例を示すフローチャートである。
【図８】画像形成装置の画像処理情報テーブルの一例を示す図である。
【図９】拡張デバイスの画像処理情報テーブルの一例を示す図である。
【図１０】実施形態１の画像処理シーケンスの一例を示す図である。
【図１１】実施形態２の情報処理の一例を示すフローチャートである。
【図１２】実施形態２の画像処理シーケンスの一例を示す図である。
【図１３】実施形態３の画像形成装置のソフトウェア構成の一例を示す図である。
【図１４】実施形態３の情報処理の一例を示すフローチャートである。
【図１５】拡張機能が追加された場合の認証に係る画面の一例を示す図である。
【図１６】拡張機能を使用中である旨を表示する画面の一例を示す図である。
【図１７】拡張機能の権限を解除する画面の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、画像形成装置１００のハードウェア構成等の一例を示す図である。画像形成装置１００は、スキャナ画像処理部１１８を介して画像入力デバイスであるスキャナ１０１と接続されている。また、画像形成装置１００は、プリンタ画像処理部１１９を介して画像出力デバイスであるプリンタエンジン１０２と接続されている。
画像形成装置１００は、画像データの読み取りやプリント出力のための制御を行う。また、画像形成装置１００は、ＬＡＮ１０や公衆回線１０４と接続することで、画像情報やデバイス情報をＬＡＮ１０経由で入出力するための制御を行う。
ＣＰＵ１０５は、画像形成装置１００を制御するための中央処理装置である。ＲＡＭ１０６は、ＣＰＵ１０５がプログラムに基づき処理を実行する際に利用するシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。ＲＯＭ１０７は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ１０８はハードディスクドライブであり、各種処理のためのシステムソフトウェアのプログラム及び入力された画像データ等が格納されている。操作部Ｉ／Ｆ１０９は、画像データ等を表示可能な表示画面を表示する操作部１１０に対するインターフェース部であり、操作部１１０に対して画面データ等を出力する。また、操作部Ｉ／Ｆ１０９は、操作部１１０から操作者が入力した情報をＣＰＵ１０５に伝える役割をする。ネットワークＩ／Ｆ１１１は、例えばＬＡＮカード等で実現され、ＬＡＮ１０に接続して外部装置との間で情報の入出力を行う。また、モデム１１２は、公衆回線１０４に接続し、外部装置との間で情報の入出力を行う。ＧＰＵ１３２は、グラフィックスプロセッシングユニットでありＧＰＵ１３２上で画像処理プログラムを動作させることにより、様々な画像処理を行わせることが可能である。以上のユニットがシステムバス１１３上に配置されている。
【００１１】
イメージバスＩ／Ｆ１１４は、システムバス１１３と画像データを高速で転送する画像バス１１５とを接続するためのインターフェースであり、データ構造を変換するバスブリッジである。そして、画像バス１１５上には、ラスタイメージプロセッサ（ＲＩＰ）部１１６、デバイスＩ／Ｆ１１７、画像編集用画像処理部１２０、画像圧縮部１０３、画像伸張部１２１、拡張デバイス通信用Ｉ／Ｆ１３０、オプション画像処理部１５０が接続されている。
ＲＩＰ部１１６は、ページ記述言語（ＰＤＬ）コードをイメージデータに展開する。デバイスＩ／Ｆ１１７は、スキャナ画像処理部１１８とプリンタ画像処理部１１９を介してスキャナ１０１やプリンタエンジン１０２とを接続し、画像データの同期系／非同期系の変換を行う。
また、スキャナ画像処理部１１８は、スキャナ１０１から入力した画像データに対して、補正、加工に加え、像域分離等の各種処理を行う。画像編集用画像処理部１２０は、画像データの回転や、変倍、２値化処理等の各種画像処理を行う。画像圧縮部１０３は、ＲＩＰ部１１６やスキャナ画像処理部１１８、画像編集用画像処理部１２０で処理された画像データをＨＤＤ１０８で一度格納する際に所定の圧縮方式で符号化する。画像伸張部１２１は、ＨＤＤ１０８で圧縮されている画像データを必要に応じて画像編集用画像処理部１２０やプリンタ画像処理部１１９で画像処理し、プリンタエンジン１０２で出力する場合において、一度圧縮され符号化されているデータを、複号化し伸張する。プリンタ画像処理部１１９は、プリント出力する画像データに対して、プリンタエンジンに応じた画像処理補正等を行う。拡張デバイス通信用Ｉ／Ｆ１３０は、後述する拡張デバイス１４０と拡張Ｉ／Ｆ１３１を介して接続するためのインターフェース部であり、拡張デバイス内の画像処理モジュールと画像データの入出力を行うためのものである。オプション画像処理部１５０は、例えばＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）で構成されており、ユーザ側で必要な回路を構成できるプログラマブルなロジックデバイスである。ユーザはオプション画像処理部１５０に必要な画像処理回路を構成することにより、画像処理機能を追加できる。
ＣＰＵ１０５が、ＲＯＭ１０７又はＨＤＤ１０８等に記憶されているプログラムに基づき処理を実行することによって、以下に示す実施形態における画像形成装置１００の機能や画像形成装置１００のフローチャートの処理が実現される。画像形成装置１００は、拡張デバイスと接続可能な画像処理装置の一例である。
【００１２】
図２は、実施形態１の画像形成装置１００のソフトウェア構成の一例を示す図である。
ジョブコントロール処理部２０１は、各ソフトウェアモジュールを統括・制御し、コピー、プリント、スキャン、ＦＡＸ送受信、ＵＩ処理等の画像形成装置１００内で発生するあらゆるジョブの制御を行う。
ネットワーク処理部２０２は、主にネットワークＩ／Ｆ１１１を介して行われる、外部との通信を制御するモジュールであり、ＬＡＮ１０上の各機器との通信制御を行う。ネットワーク処理部２０２は、ＬＡＮ１０の各機器からの制御コマンドやデータを受信すると、その内容を、ジョブコントロール処理部２０１へ通知する。また、ネットワーク処理部２０２は、ジョブコントロール処理部２０１からの指示に基づき、ＬＡＮ１０の各機器へ制御コマンドやデータの送信を行う。
ＵＩ処理部２０３は、主に操作部１１０、操作部Ｉ／Ｆ１０９に係る制御を行う。ＵＩ処理部２０３は、操作者が操作部１１０を操作した内容を、ジョブコントロール処理部２０１へ通知する。また、ＵＩ処理部２０３は、ジョブコントロール処理部２０１からの指示に基づいて、操作部１１０上の表示画面の表示内容を制御する。また、ＵＩ処理部２０３は、操作部１１０に表示するための描画データの編集等も制御する。
【００１３】
ＦＡＸ処理部２０４は、ＦＡＸ機能の制御を行う。ＦＡＸ処理部２０４は、モデム１１２を介してＦＡＸ受信を行い、ＦＡＸ画像特有の画像処理を施した後、受信画像をジョブコントロール処理部２０１へ通知する。また、ＦＡＸ処理部２０４は、ジョブコントロール処理部２０１からの指定される画像を、指定通知先へＦＡＸ送信を行う。
プリント処理部２０７は、ジョブコントロール処理部２０１の指示に基づいて、画像編集用画像処理部１２０、プリンタ画像処理部１１９及びプリンタエンジン１０２を制御し、指定画像の印刷処理を行う。プリント処理部２０７は、ジョブコントロール処理部２０１より、画像データ、画像情報（画像データのサイズ、カラーモード、解像度等）、レイアウト情報（オフセット、拡大縮小、面つけ等）及び出力用紙情報（サイズ、印字方向等）の情報を受け付ける。そして、プリント処理部２０７は、画像圧縮部１０３、画像伸張部１２１、画像編集用画像処理部１２０、オプション画像処理部１５０、及びプリンタ画像処理部１１９を制御して、画像データに対して適切な画像処理を施すよう制御する。また、プリント処理部２０７は、プリンタエンジン１０２を制御して指定用紙への印刷を行わせる。
スキャン処理部２１０は、ジョブコントロール処理部２０１の指示に基づいて、スキャナ１０１、及びスキャナ画像処理部１１８を制御して、スキャナ１０１上にある原稿の読み込みを行わせる。
【００１４】
色変換処理部２０９は、ジョブコントロール処理部２０１の指示に基づいて、指示画像に対して、色変換処理を行い、色変換処理後の画像をジョブコントロール処理部２０１へ通知する。
ＲＩＰ処理部２１１は、ジョブコントロール処理部２０１の指示に基づいて、ＰＤＬ（ページ記述言語）の解釈（インタプリット）を行い、ＲＩＰ部１１６を制御してレンダリングすることで、ビットマップイメージへの展開を行う。
拡張Ｉ／Ｆ制御部２０５は、拡張Ｉ／Ｆ１３１の制御と拡張Ｉ／Ｆ１３１を介して通信する拡張デバイスとのデータのやり取りの制御とを行う部分であり、画像データの送受信のステータスをジョブコントロール処理部２０１へ通知する。
画像処理シーケンス決定処理部２０６は、画像形成装置１００や接続された拡張デバイス１４０の画像処理情報を記述した画像処理情報テーブル７００、８００を呼び出し、照合する。このことで、画像処理シーケンス決定処理部２０６は、ユーザの指示により実行されるジョブに対して最適な画像処理シーケンスの決定を行わせる。
【００１５】
図３は、拡張デバイス１４０のハードウェア構成の一例を示す図である。
システムバス３０８にＣＰＵ３０１、ＲＡＭ３０２、ＧＰＵ３０３、ネットワークＩ／Ｆ３０４、ＲＯＭ３０５、不揮発性メモリ３０６、通信用バスＩ／Ｆ３０７が接続されている。ＣＰＵ３０１は、拡張デバイス１４０を制御する中央演算装置である。ＲＡＭ３０２は、ＣＰＵ３０１、ＧＰＵ３０３が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。また、ＲＯＭ３０５は、ブートＲＯＭであり、システムのブートプログラムが格納されている。不揮発性メモリ３０６は、拡張機能として追加可能な画像処理のプログラムを拡張するメモリである。通信用バスＩ／Ｆ３０７は、外部通信用Ｉ／Ｆ３１０を介すための通信用バス３０９のインターフェース回路である。外部通信用Ｉ／Ｆ３１０は、拡張Ｉ／Ｆ１３１を介して画像形成装置１００と接続し、通信の制御、画像データの入出力を行うインターフェース部である。
【００１６】
以上のような構成で、ユーザが拡張デバイス１４０を画像形成装置１００に接続し、ＨＤＤ１０８内にある文書データを拡張デバイス１４０内にある拡張機能を用いてＯＣＲ処理を行う制御について説明する。
ここで、図４は、操作部１１０に表示されたモード選択画面より"保存ファイルの利用"のタグが選択された後の画面の一例を示す図である。ユーザはファイル一覧画面４０１より利用したいファイルのデータを選択し、例えばその他の機能実行ボタン４０４を押下する。
図５は、その他の機能実行ボタン４０４が押下された後の画面の一例を示す図である。
図５のようにファイルに対してＰＤＦ変換ボタン５０１、リサイズボタン５０２等により保存されているファイルに対して各種処理を選択できるボタンが一覧で表示されている。ここで本実施形態においては、拡張デバイス１４０が接続された場合に拡張機能をユーザが利用できるようにメニュー領域に拡張機能領域５１０が設けられている。画像形成装置１００の拡張Ｉ／Ｆ１３１に何も接続されておらず、拡張機能を取得できない場合は図５のようにこの拡張機能領域５１０はグレーアウトされている。
以下、拡張デバイス１４０が接続された場合について説明する。
【００１７】
ここで、ユーザが拡張デバイス１４０を画像形成装置１００の拡張Ｉ／Ｆ１３１の挿入口に差し込んだ場合の操作部１１０の画面表示を説明する。
図６は、ユーザが拡張デバイス１４０を拡張Ｉ／Ｆに挿入した場合の画面の一例を示す図である。図６のように先ほどのグレーアウトされていた拡張機能領域５１０には、拡張機能が表示されている。
【００１８】
以下、拡張デバイス１４０が接続された場合の処理について説明する。
図７は、画像処理システムの情報処理の一例を示すフローチャートである。
ＣＰＵ１０５は、拡張Ｉ／Ｆ１３１の挿入口に拡張デバイス１４０が挿入（又は接続）されたか否かを判定する（Ｓ１４０１）。ＣＰＵ１０５は、拡張デバイス１４０の接続が検知された場合、Ｓ１４０４に進む。
一方、ＣＰＵ３０１は、画像形成装置１００の拡張Ｉ／Ｆ１３１の挿入口に挿入（又は接続）されたか否かを判定する（Ｓ１４０２）。ＣＰＵ３０１は、画像形成装置１００への接続が検知された場合、Ｓ１４０３に進む。
【００１９】
Ｓ１４０３において、ＣＰＵ３０１は、拡張デバイス１４０内の不揮発性メモリ３０６内に記憶されている画像処理情報テーブル８００を外部通信用Ｉ／Ｆ３１０、拡張Ｉ／Ｆ１３１を介し画像形成装置１００へ送信する。
Ｓ１４０４において、ＣＰＵ１０５は、拡張Ｉ／Ｆ１３１から拡張デバイス通信用Ｉ／Ｆ１３０を介し、受信した画像処理情報テーブル８００をＲＡＭ１０６に格納する。その後、ＣＰＵ１０５は、画像処理情報テーブル８００の内容に従い画像形成装置１００で使用できる拡張機能を抽出し、拡張機能領域５１０に表示する。
【００２０】
ここで、図８は、画像形成装置１００が画像処理に係る処理のリソース情報をリスト化した画像処理情報テーブル７００を説明する図である。
画像処理情報テーブル７００は、２つのサブテーブル７０１、７０２より構成されている。１つは画像形成装置１００内の演算器、画像処理に使用可能なメモリ容量及び拡張通信Ｉ／Ｆの詳細を記述してあるリソーステーブル７０１である。
リソーステーブル７０１は、拡張通信Ｉ／Ｆの情報欄７０３、使用演算器の情報欄７０４〜７０６、画像処理に使用可能なメモリ容量の情報欄７０７等から構成されている。
もう一方のサブテーブルは、各画像処理のモジュールを示してある処理モジュールテーブル７０２である。
処理モジュールテーブル７０２は、画像形成装置１００で使用可能な画像処理モジュールの種類と各々モジュールで処理可能なデータ形式、処理速度、使用状況等から構成されている。
なお、処理モジュールテーブル７０２に記載してある処理モジュールはソフトウェアで実行するものでも、ハードウェアで実行するものでもどちらでもよい。
【００２１】
図９は、拡張デバイス１４０が画像処理に係る処理のリソース情報をリスト化した画像処理情報テーブル８００を説明する図である。
拡張デバイス１４０の構成は画像処理情報テーブル７００の構成と同じである。
画像処理情報テーブル７００及び８００は、画像形成装置１００や拡張デバイスの構成やソフトウェアの追加削除等があれば更新されるものであり、常に画像処理に係る最新の情報を示しているものである。
また、処理速度等も画像処理モジュールがソフトウェアの場合は、動作させる演算器の変更、クロックアップ等があった場合には更新され、ハードウェアの場合も内部回路の動作回路クロックアップがあった場合には更新されるものである。なお、各テーブルの更新は、各装置のＣＰＵが行う。
また、ＣＰＵ１０５及びＣＰＵ３０１は、画像形成装置と拡張デバイスとの通信が確立した際の通信速度に基づいて、各画像処理情報テーブルの拡張通信Ｉ／Ｆの通信速度を更新するようにしてもよい。
以上、先ほどの説明した図６の拡張機能領域５１０には、拡張デバイス１４０の画像処理情報テーブル８００の情報を反映した拡張機能が表示される。
【００２２】
以下、ユーザが先ほどの図４にてＪＰＥＧファイルを選択し、更に拡張デバイス１４０を画像形成装置１００に接続し、図６の画面にて拡張デバイス１４０を利用する拡張機能であるＯＣＲ処理を、ＯＣＲボタン６０１を押して実行する場合を説明する。
ユーザが図６のＯＣＲボタン６０１を押下すると、ＣＰＵ１０５は、拡張機能のジョブが選択されたことを検出する（Ｓ１４０５）。そして、ＣＰＵ１０５は、選択されたＪＰＥＧファイルから拡張デバイス１４０でＯＣＲするまでの画像処理モジュールを抽出する（Ｓ１４０６）。選択された拡張機能を識別する情報はジョブ情報の一例である。
この例の場合、ＣＰＵ１０５は、選択されたファイルがＪＰＥＧファイルであり、また先ほどＲＡＭ１０６に格納された拡張デバイス１４０側の画像処理情報テーブル８００側の８０８欄のＯＣＲの処理可能データ形式がＲａｗ形式であることを判断する。そして、ＣＰＵ１０５は、ＪＰＥＧファイルをＲａｗデータに変更し、ＯＣＲ処理を行う画像処理シーケンスが必要となると判断する。
ＣＰＵ１０５（画像処理シーケンス決定処理部２０６）は、双方の画像処理情報テーブル７００、８００を照合し、最も高速に処理できる画像処理シーケンスを決定する。
図１０（ａ）は、画像処理情報テーブル７００、８００の情報を基に画像処理シーケンス決定処理部２０６が決定した画像処理シーケンスの一例を示す図である。
図１０（ａ）は、文書ファイルの呼出すモジュール（この場合、ＨＤＤ１０８）から拡張デバイス１４０上でＯＣＲ処理が実行され、結果が拡張デバイス１４０上のＲＡＭ３０２に格納されるまでのシーケンスを示している。なお、ＲＡＭ３０２に格納されたＯＣＲ後の出力データの転送シーケンスについては省略する。
通信シーケンスには、複数の画像処理モジュール等の処理順序が含まれる。
【００２３】
ＣＰＵ１０５は、最初に画像処理情報テーブル７００、８００を照合し、選択された文書ファイルに対して選択されたジョブ実行を行うために必要なモジュールがあるか否かを確認する（Ｓ１４０７）。
ここで、本実施形態においては、後述するように画像形成装置１００と、拡張デバイス１４０と、の双方にＪＰＥＧデコーダの処理が実装されている例を説明している。
しかしながら、ジョブの選択において、選択された文書が例えばＪＢＩＧファイルであり、画像形成装置１００と、拡張デバイス１４０と、の双方にＪＢＩＧデコード処理が実装されていない場合には、ＣＰＵ１０５は、以下の処理を実行する。即ち、ＣＰＵ１０５は、処理が不可能であることを操作部１１０に通知する、又はファイル選択画面に処理できない文書をグレーアウトする等によりユーザに選択させない等の表示制御を実行する（Ｓ１４０８）。ここで、ＪＢＩＧは、Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐの略である。
次に、ＣＰＵ１０５は、選択されたジョブ実行を行うために必要なモジュールの中で、同様の処理モジュールが画像処理情報テーブル７００、８００の両者に存在するかを確認する（Ｓ１４０９）。
本実施形態では、図８の７０９欄と図９の８０９欄とに示した通りＪＰＥＧデコーダを両装置が持っていることをＣＰＵ１０５は、検出する。
【００２４】
ここでＣＰＵ１０５は、７０９欄と８０９欄との処理速度や、使用状況に基づき（Ｓ１４１０）、画像処理シーケンスを決定する。
この場合、画像形成装置１００側のＪＰＥＧデコーダの処理速度は２００ＭＢ／ｓ、使用状況はＮｏであり、拡張デバイス１４０側のＪＰＥＧデコーダの処理速度は７０ＭＢ／ｓ、使用状況はＮｏである。そのため、ＣＰＵ１０５は、図１０（ａ）に示したように処理速度の大きい画像形成装置１００側のＪＰＥＧデコーダにて処理する画像処理シーケンスを生成する（Ｓ１４１１）。一方、拡張デバイス１４０側のＪＰＥＧデコーダの処理速度が画像形成装置１００側のＪＰＥＧデコーダの処理速度より速かったり、画像形成装置１００側のＪＰＥＧデコーダの使用状況がＹＥＳであったりした場合、ＣＰＵ１０５は、Ｓ１４１３に進む。Ｓ１４１３において、ＣＰＵ１０５は、拡張デバイス１４０側のＪＰＥＧデコーダにて処理する画像処理シーケンスを生成する。
ＣＰＵ１０５は、例えば各処理９０１〜９０８を決定するにあたり、図１０（ａ）に示すように使用リソースに対して、処理（転送）速度、各処理での入力データ形式や入力データのデータ容量に基づいて決定する。
したがって図１０（ａ）のように、ＣＰＵ１０５は、ＨＤＤ１０８から読み出したＪＰＥＧファイルの文書データを画像形成装置１００側でＪＰＥＧデコードまでを行うよう制御する（Ｓ１４１２）。ＣＰＵ１０５は、デコードされたＲａｗ形式の文書データを拡張Ｉ／Ｆ１３１（この場合、ＵＳＢ３．０を使用）を介し、拡張デバイス１４０に送信する（Ｓ１４１４）。拡張デバイス１４０側において、ＣＰＵ３０１は、一度、ＲＡＭ３０２にデコードデータを格納する（Ｓ１４１５）。そして、ＣＰＵ３０１は、ＯＣＲ処理を行うよう制御する（Ｓ１４１６）。そして、ＣＰＵ３０１は、ＯＣＲ後の出力データをＲＡＭ３０２に再び格納する。その後、ＣＰＵ３０１は、ＲＡＭ３０２に格納した出力データを、拡張Ｉ／Ｆ１３１を介し、画像形成装置１００に送信し（Ｓ１４１７）、図７に示す拡張デバイス１４０側の処理を終了する。ＣＰＵ１０５は、拡張デバイス１４０から送信されたデータを受信し（Ｓ１４１８）、図７に示す画像形成装置１００側の処理を終了する。
【００２５】
なお、この例は拡張Ｉ／Ｆ１３１が例えばＵＳＢ３．０であり、閾値より通信速度の速いインターフェースで画像形成装置１００と拡張デバイス１４０とが接続された場合の画像処理シーケンスであった。以下、例えばＵＳＢ２．０のように閾値より通信速度が遅いインターフェースの場合について説明する。拡張Ｉ／Ｆは通信インターフェースの一例である。
図１０（ｂ）は先ほどの画像処理情報テーブル７００、８００の拡張通信Ｉ／Ｆの情報欄７０３、８０３に"ＵＳＢ２．０：６０ＭＢ／ｓ"の記述があった場合にＣＰＵ１０５がＳ１４１３で生成した画像処理シーケンスの一例である。
図１０（ｂ）のように画像形成装置１００内のＨＤＤ１０８から呼び出されたＪＰＥＧファイルの文書データはＲＡＭ１０６、拡張Ｉ／Ｆ１３１（この場合、ＵＳＢ２．０）を介し、拡張デバイス１４０へ転送される。そして、拡張デバイス１４０内でＪＰＥＧデコード処理とＯＣＲ処理とが行われる。
これは、図１０（ａ）の拡張Ｉ／Ｆ１３１がＵＳＢ３．０の場合には、処理９０５の中段、転送速度欄に記述されているように転送速度が６２５ＭＢ／ｓであり、下段の出力データ形式でのデータ容量が１３４ＭＢであるので処理時間は約０．２１ｓｅｃとなる。処理のボトルネックは拡張デバイス１４０側のＯＣＲ処理（処理９０７）で処理時間が約１．１１ｓｅｃである。
これに対して図１０（ｂ）の場合、処理のボトルネックが拡張デバイス１４０側の処理９１３のＪＰＥＧデコード処理であり、処理時間が約１．９１ｓｅｃとなる。
これは例えば、拡張Ｉ／Ｆ１３１がＵＳＢ２．０の場合にＪＰＥＧデコーダの処理速度の比較のみで画像形成装置１００内のＪＰＥＧデコーダを使用する図１０（ａ）の画像処理シーケンスになってしまうとする。そうすると実際はＵＳＢ２．０の拡張Ｉ／Ｆ１３１に対してＪＰＥＧデコード後のＲａｗデータ１３４ＭＢが通信され、ここでの通信時間が約２．２３ｓｅｃとなり画像処理シーケンスのボトルネックとなる。これは図１０（ｂ）の処理９１３のＪＰＥＧデコード処理の処理時間約１．９１ｓｅｃより更に遅い処理時間となってしまい、全体としてはスループットが下がる。
したがってＣＰＵ１０５は、各処理の処理（通信時間）を算出し、各画像処理シーケンスのボトルネックを比較することで画像処理シーケンスの決定を行い、最速なスループットとなる画像処理シーケンスを生成する。
【００２６】
なお、ここでは拡張Ｉ／Ｆが異なる場合に決定される画像処理シーケンスの方法について説明した。しかし、ＣＰＵ１０５は、拡張Ｉ／に限らず、画像処理シーケンスの経路に関するいかなる部分でも画像処理シーケンスの決定について考慮すべきである。
また、ＣＰＵ１０５は、処理モジュールテーブル７０２、８０２の使用状況欄において、使用する画像処理モジュールの使用状況がＹｅｓの場合には画像処理シーケンスの決定の過程で代替モジュールが選択できるか否かを判断する。そして、ＣＰＵ１０５は、画像処理シーケンスの決定の過程で代替モジュールが選択できる場合、代替モジュールを選択するように画像処理シーケンス生成する等の方法をとってもよい。
【００２７】
以上説明したように、本実施形態において、画像処理形成装置と拡張デバイスとが接続され、拡張機能を利用する旨が選択された場合、ＣＰＵ１０５は、互いの画像処理モジュール、通信Ｉ／Ｆの情報を照合することで画像処理シーケンスを生成する。その際、ＣＰＵ１０５は、画像処理モジュールの処理速度、選択された文書の形式及び画像処理シーケンスを実行する上での各経路のデータ形式やデータ容量に基づき、画像処理シーケンス生成する。このことで、選択された拡張機能の実行において、最適な画像パスが生成され、ジョブの終了時間を短縮することができる。
【００２８】
＜実施形態２＞
実施形態１では、拡張デバイス１４０が接続され、拡張機能としてジョブが選択された場合、ＣＰＵ１０５は、画像処理モジュールの処理速度、選択された文書の形式及び各経路のデータ形式やデータ容量に基づき、画像処理シーケンスを生成した。
これに対して本実施形態では、ＣＰＵ１０５は、選択された拡張機能と選択された文書とにより使用されるメモリの容量と、画像形成装置１００及び拡張デバイス１４０の使用できるメモリ容量と、に基づいて画像処理シーケンスを生成する。
本実施形態における画像形成装置１００のハードウェア構成、ソフトウェア構成及び拡張デバイス１４０のハードウェア構成等は実施形態１で説明した図１、図２、図３と同様であるために説明を省略する。
更に画像形成装置１００と拡張デバイス１４０とが有する画像処理情報テーブルも実施形態１で説明した図８、図９と同様であるために説明を省略する。
【００２９】
以上の構成において、本実施形態では、先ほどと同様に図６の操作部画面にて、ＯＣＲボタン６０１が押下され、拡張デバイス１４０の拡張機能であるＯＣＲ処理が実行される場合を例に説明する。本実施形態においては、図４で選択されたファイルがＪＰＥＧファイルであるが１ページあたりのデータ量が大きい場合（例えば、１２００ｄｐｉ）の画像処理シーケンス生成の一例を図１１のフローチャートに基づいて説明する。
ＣＰＵ１０５は、拡張Ｉ／Ｆ１３１の挿入口に拡張デバイス１４０が挿入（又は接続）されたか否かを判定する（Ｓ１５０１）。ＣＰＵ１０５は、拡張デバイス１４０の接続が検知された場合、Ｓ１５０４に進む。
一方、ＣＰＵ３０１は、画像形成装置１００の拡張Ｉ／Ｆ１３１の挿入口に挿入（又は接続）されたか否かを判定する（Ｓ１５０２）。ＣＰＵ３０１は、画像形成装置１００への接続が検知された場合、Ｓ１５０３に進む。
【００３０】
Ｓ１５０３において、ＣＰＵ３０１は、拡張デバイス１４０内の不揮発性メモリ３０６内に記憶されている画像処理情報テーブル８００を外部通信用Ｉ／Ｆ３１０、拡張Ｉ／Ｆ１３１を介し画像形成装置１００へ送信する。
Ｓ１５０４において、ＣＰＵ１０５は、拡張Ｉ／Ｆ１３１から拡張デバイス通信用Ｉ／Ｆ１３０を介し、受信した画像処理情報テーブル８００をＲＡＭ１０６に格納する。その後、ＣＰＵ１０５は、画像処理情報テーブル８００の内容に従い画像形成装置１００で使用できる拡張機能を抽出し、拡張機能領域５１０に表示する。
ユーザが図６のＯＣＲボタン６０１を押下すると、ＣＰＵ１０５は、拡張機能のジョブが選択されたことを検出する（Ｓ１５０５）。そして、ＣＰＵ１０５は、選択されたＪＰＥＧファイルから拡張デバイス１４０でＯＣＲするまでの画像処理モジュールを抽出する（Ｓ１５０６）。ここで、選択されたファイルがＪＰＥＧファイルであり、また拡張デバイス１４０側のＯＣＲ処理で処理可能なデータ形式がＲａｗ形式であるためにＪＰＥＧファイルをＲａｗデータに変更し、ＯＣＲ処理させる画像処理シーケンスが必要となる。ここで、ＣＰＵ１０５は、双方の画像処理情報テーブル７００、８００を照合し、最も高速に処理できる画像処理シーケンスを決定する（Ｓ１５０７）。
【００３１】
図１２は、ＪＰＥＧファイルのデータ量が大きい場合（例えばＲａｗデータ５３３ＭＢ）の画像処理シーケンスの一例を示す図である。図１２（ａ）は処理不可能な一例を示しており、図１２（ｂ）は処理可能になるようにＣＰＵ１０５が修正した画像処理シーケンスである。
図１２（ａ）では、画像処理シーケンスを実施形態１の図１０（ａ）と同様に最速の処理になるように生成されたものである。
ここでは、画像形成装置１００側の処理は問題なく処理できるが、拡張デバイス１４０では処理ができないことを示している。処理１００６、つまり画像形成装置１００内でＪＰＥＧデコードされたＲａｗ形式の文書データを一度、ＲＡＭ３０２で受け、図１２（ａ）中の処理１００７のＯＣＲ処理後の出力データをＲＡＭ３０２に格納する画像処理シーケンスである。
この画像処理シーケンスでは、特に拡張デバイス１４０側で使用するメモリ容量は処理１００６と処理１００７との部分の使用リソース欄のメモリ容量の総和で５８３ＭＢとなる。
しかし、画像形成装置１００内のＲＡＭ１０６に格納された画像処理情報テーブル８００の８０７欄の使用可能メモリ容量を確認すると、５１２ＭＢである。
したがって、ＣＰＵ１０５は、Ｓ１５０７で生成した画像処理シーケンスで使用するメモリ容量の総和（この場合、５８３ＭＢ）と、使用可能なメモリ容量（この場合、５１２ＭＢ）と、を画像処理情報テーブルに基づき比較する（Ｓ１５０８）。そして、ＣＰＵ１０５は、比較の結果、画像形成装置又は拡張デバイスの処理においてメモリ容量が不足する画像処理シーケンスとなっていないか判断し、判断の結果に応じて画像処理シーケンスを変更する。
【００３２】
図１２（ｂ）は、ＣＰＵ１０５が変更した画像処理シーケンスである。
図１２（ａ）と比較すると図１２（ｂ）では、ＣＰＵ１０５は、処理１０１２でメモリから呼び出すサイズをＲａｗデータの１ページ全てから１／４ページ毎に分割して（Ｓ１５０９）、拡張デバイス１４０側に送信するように変更している。これによりＣＰＵ１０５は、画像形成装置１００内のＲＡＭ１０６より１／４ページ毎に拡張デバイス１４０へデータを送信する（Ｓ１５１０）。
ＣＰＵ３０１は、処理１０１４にて１／４ページ毎にデータをＲＡＭ３０２に格納する（Ｓ１５１１）。そして、ＣＰＵ３０１は、順次、処理１０１５にてＯＣＲ処理（Ｓ１５１２）を行う。そして、ＣＰＵ３０１は、処理１０１６にてＲＡＭ３０２に１／４ページ分の出力データを格納した後（Ｓ１５１３）、再度、データ送信要求割り込み１０１７を画像形成装置１００に送信する（Ｓ１５１４）。
ＣＰＵ１０５は、拡張デバイス１４０よりデータ送信要求割り込み１０１７を受信する（Ｓ１５１５）。すると、ＣＰＵ１０５は、対象の文書データを全て送信したかを確認し（Ｓ１５１６）。残りの文書データがある場合には、ＣＰＵ１０５は、再度１／４ページ毎にデータを送信していく。全ての文書データを送信した場合に、ＣＰＵ１０５は、拡張Ｉ／Ｆ１３１を介し、拡張デバイス側のＣＰＵ３０１へ全ての文書データを送信したことを示す送信終了信号を送信する（Ｓ１５１７）。
ＣＰＵ３０１は、送信終了信号を受信すると（Ｓ１５１８においてＹｅｓ）、全てのＯＣＲ処理を行いＲＡＭ３０２に格納している出力データを拡張デバイスＩ／Ｆ１３１を介し、画像形成装置１００側に送信する（Ｓ１５１９）。そして、ＣＰＵ３０１は、図１１に示す処理を終了する。
一方、ＣＰＵ１０５は、拡張デバイスから送信された出力データを受信する（Ｓ１５２０）。そして、ＣＰＵ１０５は、図１１に示す処理を終了する。
【００３３】
以上説明したように、本実施形態において、画像処理形成装置と拡張デバイスとが接続され、拡張機能を利用する旨が選択された場合に、ＣＰＵ１０５は、以下の処理を実行する。即ち、ＣＰＵ１０５は、選択された拡張機能と選択された文書により使用されるメモリの容量と、画像形成装置１００及び拡張デバイス１４０の双方で使用可能なメモリ容量と、に基づいて画像処理シーケンスを生成する。このことで、例えば選択された文書のデータ容量が大きい場合にも拡張機能が実行できるように対応することができ、拡張機能におけるジョブの制限を少なくすることができる。
【００３４】
＜実施形態３＞
本実施形態では、画像形成装置１００を複数のユーザが使用する場合について、拡張デバイス１４０の拡張機能を使用する際に使用権限を持たせることで、拡張デバイス１４０の挿抜を容易にする。
本実施形態における画像形成装置１００のハードウェア構成及び拡張デバイス１４０のハードウェア構成等は実施形態１で説明した図１、図３と同じである。
図１３は、実施形態３の画像形成装置１００のソフトウェア構成の一例を示す図である。本実施形態では、実施形態１、２の構成に拡張機能管理処理部２１２が追加されている。拡張機能管理処理部２１２によって拡張機能を使用する場合に使用権限を持たせることができ、ユーザが使用権限を取得し、拡張機能を使用している場合には別のユーザが使用できないように管理することができる。
【００３５】
本実施形態は図１４のフローチャートを基に説明していくが、実施形態１と重複する部分は省略して本実施形態で特有の動作のみを説明する。
実施形態１と同様に拡張デバイス１４０が画像形成装置１００に接続される。この際、ＣＰＵ１０５（拡張機能管理処理部２１２）は、例えば、図１５、図１６に示すような拡張機能の管理に係る処理を実行する。ＣＰＵ１０５は、図１５に示すように操作部１１０上に拡張機能が追加された旨の通知と共に拡張機能を使用するためのユーザ権限の取得を促すユーザＩＤ入力欄１１０１とパスワード入力欄１１０２とを合わせて表示する（Ｓ１６０３）。
ＣＰＵ１０５は、入力されたユーザＩＤ及びパスワードに基づいてユーザ認証に係る処理を実行し、ユーザ認証が成功し、拡張機能を使用する使用権限がログインしたユーザに付与されると、図１６に示すような画面を表示させる。
図１６に示される様に、ログインユーザに権限がわたると、拡張機能領域５１０の欄に"使用中"を示す記載が表示され、画面下部１２０１上に拡張機能を使用している使用ユーザのユーザＩＤが表示される。このことで拡張機能権限がユーザＩＤで識別されるユーザにより取得され、使用されていることを示すことができる。また、拡張機能の権限を解除するためのボタン１２０２が表示される。ユーザがボタン１２０２を選択すると、例えば、後述する図１７に示す画面が表示される。ボタン１２０２は、拡張機能の使用権限を解除するオブジェクトの一例である。また、ユーザＩＤは、ユーザ情報の一例である。
なお、本実施形態では拡張デバイス１４０が接続された時点でユーザ権限の取得を促す画面を表示していたが、ＣＰＵ１０５は、拡張機能のジョブが選択された時点でユーザ権限の取得を促す画面を表示するようにしてもよい。
拡張機能が追加され、拡張機能の選択及び拡張機能モジュールを含めた画像処理シーケンスがＣＰＵ１０５により生成されるまでの処理は実施形態１と同様であるので省略する（Ｓ１６０４〜Ｓ１６１０）。
【００３６】
次に、画像処理シーケンスが決定され、拡張機能が実行されている際に、別のユーザが拡張機能を利用しようとした場合の動作について説明する。
第１のユーザが拡張機能を実行している場合（Ｓ１６１０以降）、別の第２のユーザが拡張機能のジョブを使用したい場合にも、図１６のように第１のユーザが拡張機能を使用していることが識別できる。しかし、誤って使用要求の実行をした場合（Ｓ１６１３）においてもＣＰＵ１０５は、操作部１１０に拡張機能が使用中であり、現在は使用不可能である旨を通知する（Ｓ１６１４）。このようにＣＰＵ１０５は、あるユーザが拡張機能を使用中である場合は別のユーザが拡張機能を使用できないようにする。
拡張機能の使用権限を有するユーザが実行した拡張機能のジョブが終了する（Ｓ１６１５以降）と、ＣＰＵ１０５は、使用権限を有しているユーザに権限の解除を促す画面を表示する。なお、上述したように、ＣＰＵ１０５は、図１６の画面においてボタン１２０２が選択された場合に、権限の解除を促す画面を表示するようにしてもよい。図１７は、権原を解除する画面の一例を示す図である。図１７の画面において"はい"のボタン１３０１が押下されると、ＣＰＵ１０５は、拡張機能領域５１０の使用中の記載を消灯し、画面下部のユーザＩＤの表示を"Ｎｏ  Ｕｓｅｒ"と表示する（Ｓ１６１６）。このことにより拡張機能の使用権限はどのユーザにも取得されていない状態となったことが分かる。
これにより、使用権限を取得し、拡張機能のジョブ実行したユーザは、ジョブの終了後に拡張機能の使用権限が解放されたことを確認し、接続した拡張デバイス１４０を問題なく抜くことが可能となる。
【００３７】
以上説明したように、本実施形態において、画像形成装置と拡張デバイスとを接続することによる拡張機能を利用する場合に、ＣＰＵ１０５は、拡張デバイスが接続されたときや、拡張機能を利用するときに拡張機能の使用権限を取得する。そして、その後、ＣＰＵ１０５は、使用権限を取得したユーザが拡張機能を実行するように制御する。これにより例えば、第１のユーザの拡張機能ジョブの実行中に、第２のユーザが拡張機能を実行してしまい、第１のユーザが拡張機能のジョブ終了後に別のユーザに使用され拡張デバイスをとり外すことができなくなる等の利便性を損ねることがなくなる。
【００３８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３９】
以上、上述した各実施形態によれば、画像処理シーケンスを適切に決定することができる。
【符号の説明】
【００４０】
１００  画像形成装置、１０５  ＣＰＵ、１４０  拡張デバイス
【図１】
2016009995.tif 000003
【図２】
2016009995.tif 000004
【図３】
2016009995.tif 000005
【図４】
2016009995.tif 000006
【図５】
2016009995.tif 000007
【図６】
2016009995.tif 000008
【図７】
2016009995.tif 000009
【図８】
2016009995.tif 000010
【図９】
2016009995.tif 000011
【図１０】
2016009995.tif 000012
【図１１】
2016009995.tif 000013
【図１２】
2016009995.tif 000014
【図１３】
2016009995.tif 000015
【図１４】
2016009995.tif 000016
【図１５】
2016009995.tif 000017
【図１６】
2016009995.tif 000018
【図１７】
2016009995.tif 000019