(57)【要約】【課題】画像パス情報を変更することなく追加した拡張画像処理を含む機能を実行可能にすること。【解決手段】画像形成装置１００は、追加される拡張処理を抽象化した処理を含むパス情報と、抽象化した処理の実体を示す拡張処理の管理情報を保持しておき、操作部１０２から実行指示された複数の画像処理の設定情報に基づいて、予め保持されている画像パス情報からいずれかのパス情報を選択し（Ｓ８０１〜Ｓ８０２）、選択されたパス情報に含まれる抽象化した処理を具体化する拡張処理を、拡張処理情報７００に基づいて決定し（Ｓ８０３〜Ｓ８０５）、決定された拡張処理を含む複数の処理を連携して実行する。【選択図】図８
2017108250.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行制御する制御手段と、
拡張機能として実行可能な処理を追加可能な追加手段と、
前記パス情報として、前記追加手段により追加される拡張処理を抽象化した処理を含むパス情報を保持する第１保持手段と、
前記抽象化した処理の実体を示す前記拡張処理の管理情報を保持する第２保持手段と、
連携して実行指示する前記拡張処理を含む複数の処理を設定するための設定手段と、
前記設定手段による設定情報に基づいて、前記第１保持手段に保持されているパス情報からいずれかのパス情報を選択する選択手段と、
前記選択手段で選択されたパス情報に含まれる前記抽象化した処理を具体化する拡張処理を、前記管理情報に基づいて決定する決定手段と、を有し、
前記制御手段は、前記選択手段で選択されたパス情報に基づいて、前記決定手段で決定された拡張処理を含む複数の処理を連携して実行制御することを特徴とする情報処理装置。
【請求項２】
前記管理情報は、前記拡張処理ごとに、拡張処理が前記抽象化した処理のいずれに対応するかを示す第１管理情報と、同一の第１管理情報を有する拡張処理同士の実行順序を示す第２管理情報と、を含み、
前記決定手段は、１の抽象化した処理に対して複数の拡張処理が決定された場合、前記第２管理情報に基づいて、該複数の拡張処理の実行順序を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理情報は、連携して実行不可能な拡張処理を特定可能な第３管理情報を含み、
前記設定手段は、前記第３管理情報に基づいて、連携して実行不可能な拡張処理同士を連携する設定を禁止することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記追加手段により前記拡張処理が追加されるタイミングで、該拡張処理に対応する管理情報が前記第２保持手段に登録されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記拡張処理は、前記情報処理装置に装着される拡張部で実行される処理を含むことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記拡張部は、プログラマブルロジックデバイスを備えることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記拡張処理は、外部サービスにより実行される処理を含むことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、画像形成装置であり、
前記拡張処理は、画像処理であることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行制御する制御手段と、拡張機能として実行可能な処理を追加可能な追加手段と、前記パス情報として、前記追加手段により追加される拡張処理を抽象化した処理を含むパス情報を保持する第１保持手段と、前記抽象化した処理の実体を示す前記拡張処理の管理情報を保持する第２保持手段と、を有する情報処理装置の制御方法であって、
連携して実行する前記拡張処理を含む複数の処理を設定する設定ステップと、
前記設定ステップでの設定情報に基づいて、前記第１保持手段に保持されているパス情報からいずれかのパス情報を選択する選択ステップと、
前記選択ステップで選択されたパス情報に含まれる前記抽象化した処理を具体化する拡張処理を、前記管理情報に基づいて決定する決定ステップと、
前記選択ステップで選択されたパス情報に基づいて、前記決定ステップで決定された拡張処理を含む複数の処理を連携して実行制御するステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１０】
コンピュータを、請求項９に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行可能な情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
複合機に代表される画像形成装置が提供するコピー、プリント、スキャン原稿送信などの機能では、画像データに対して様々な画像処理を実行し、出力結果を生成する。画像処理は、複数の画像処理機能の組み合わせを所定の順番で実行するための画像パス情報に基づき実行される。画像パス情報は、画像形成装置が備えるＡＳＩＣ（特定用途集積回路）やＣＰＵ（中央演算処理装置）で行う複数の画像処理、および、各処理の実行の前後で必要となる一時データ保持等の処理の組み合わせと、実行順序を示すものである。
【０００３】
また、画像形成装置に外付けできるオプションボード等を用い、拡張機能として画像処理を追加する場合は、画像形成装置で行う画像処理と拡張機能で行う画像処理の組み合わせとして画像パス情報が構成される。このような画像パス情報は、画像形成装置の全機能で使用する全画像処理の組み合わせに基づき予め画像形成装置のファームウェアの一部として実装される。
【０００４】
特許文献１には、画像処理を、データの入力、加工、出力等の構成要素に分類し、ユーザが構成要素の組み合わせを指定することで、画像パス情報を構成する画像形成装置が提案されている。
【０００５】
なお、画像形成装置のオプションボードには、ＦＰＧＡ（Field Programmable Gate Array）等の再構成デバイス（プログラマブルロジックデバイス）を備えたものがある。ＦＰＧＡは、ローカルなＲＯＭ（Read Only Memory）に予め備えた回路構成情報に基づき処理回路を構成して所望の画像処理を実行できる。また、ＦＰＧＡに接続するホストＣＰＵからハードディスク等の外部記憶装置に備える回路構成情報をロードすることで処理回路を構成できるＦＰＧＡも実用化されている。これにより、ＦＰＧＡのローカルＲＯＭに予め回路構成情報を備えなくとも、例えば、画像形成装置がネットワーク経由で新規な回路情報を取得することで後から任意なタイミングでＦＰＧＡに所望の画像処理を構成できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３１８６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像形成装置に外付けするオプションボードが備えるＦＰＧＡ等で新規な画像処理を提供するには、新規な画像処理を含む画像パス情報が必要となる。そのため、ＦＰＧＡに新規な画像処理を追加する毎に、画像パス情報を含むファームウェアを修正する必要がある。特に、ホストＣＰＵから回路構成情報をロードできるＦＰＧＡを使用する場合、上述したように、任意のタイミングで画像処理を追加できるため、画像パスを含むファームウェアの更新を頻繁に行う必要があり、その分だけ対応工数が必要となってしまう。
【０００８】
また、画像パス情報が既に備える特定の画像パスの一部に、ＦＰＧＡで行う複数の異なる新規な画像処理を追加する場合、ＦＰＧＡで行う画像処理以外は全て同じ画像処理の組み合わせと実行順となる類似した画像パスを複数作成することになってしまう。このように、類似した画像パスを複数備えると、画像パスの管理が煩雑となる。さらに、このような画像パスに変更が必要となった場合には、類似した画像パスの変更も必要となり、非効率に対応工数が増加してしまう。
また、ＦＰＧＡで行う画像処理は、他の画像処理と同様に、一緒に実行する画像処理を鑑み、画像パス中で適切な順序に配置して実行しなければ、画像処理の効果が低減してしまう場合がある。
【０００９】
しかし、特許文献１の技術では、新規な画像処理を追加した分だけ画像処理に係る構成要素が増加するため、画像パスの構成管理が煩雑となってしまう。また、画像処理の実行順はユーザが管理するため、知識の乏しいユーザでは、画像パス中に新規な画像処理を適切に配置することは困難である。なお、この種の課題は、画像形成装置に限定されるものではなく、画像形成装置と同様に拡張機能として実行可能な処理を追加可能であり、且つパス情報に基づいて処理を連携する各種の情報処理装置にも共通の課題となり得る。
【００１０】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、パス情報を変更することなく追加した拡張処理を含む機能を実行することができる仕組みを提供することである。
【課題を解決するための手段】
【００１１】
本発明は、複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行制御する制御手段と、拡張機能として実行可能な処理を追加可能な追加手段と、前記パス情報として、前記追加手段により追加される拡張処理を抽象化した処理を含むパス情報を保持する第１保持手段と、前記抽象化した処理の実体を示す前記拡張処理の管理情報を保持する第２保持手段と、連携して実行指示する前記拡張処理を含む複数の処理を設定するための設定手段と、前記設定手段による設定情報に基づいて、前記第１保持手段に保持されているパス情報からいずれかのパス情報を選択する選択手段と、前記選択手段で選択されたパス情報に含まれる前記抽象化した処理を具体化する拡張処理を、前記管理情報に基づいて決定する決定手段と、を有し、前記制御手段は、前記選択手段で選択されたパス情報に基づいて、前記決定手段で決定された拡張処理を含む複数の処理を連携して実行制御することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、パス情報を変更することなく追加した拡張処理を含む機能を実行することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施例の画像形成装置の全体構成図
【図２】本実施例の画像形成装置が備える画像処理部のブロック図
【図３】本実施例の拡張処理部のブロック図
【図４】本実施例の拡張処理部が備えるプログラマブル処理部のブロック図
【図５】本実施例の回路構成情報の模式図
【図６】本実施例の画像パス情報の模式図
【図７】本実施例の拡張処理情報の模式図
【図８】本実施例において画像パスを決定する処理のフローチャート
【図９】本実施例において画像処理を実行する処理フローのシーケンス図
【図１０】本実施例において設定情報を指示する際の操作画面を例示する図
【図１１】本実施例において他の製造者による拡張処理の拡張処理情報と設定操作を行う操作画面を例示する図
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明を実施するための形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は適宜省略する。
図１は、本発明の情報処理装置の一実施例を示す画像形成装置の全体構成を例示する図である。
【００１５】
図１において、画像形成装置１００は、画像の入出力や送受信と、それに関連する各種の画像処理を行う複合機である。画像形成装置１００は、メインコントローラ１０１、ユーザインタフェースである操作部１０２、画像入力デバイスであるスキャナ１０３、および、画像出力デバイスであるプリンタ１０４を備える。操作部１０２、スキャナ１０３、および、プリンタ１０４は、それぞれメインコントローラ１０１に接続され、メインコントローラ１０１が各部の動作を制御する。また、画像形成装置１００は、メインコントローラ１０１が備える後述する拡張ＩＦ１２１を通じて拡張処理部１０５と接続する。
【００１６】
メインコントローラ１０１は、主制御を司るＣＰＵ（Central Processing Unit）１０６を備える。ＣＰＵ１０６は、システムバス１３０を介して、ＲＡＭ（Random Access Memory）１０７、ＲＯＭ（Read Only Memory）１０８、ＦＬＡＳＨ１０９と接続する。さらに、ＣＰＵ１０６は、画像バスＩ／Ｆ１１０、操作部Ｉ／Ｆ１１１、ＮＷ通信部１１２、モデム部１１３、ＨＤＤ１１４、および、拡張ＩＦ１２１と接続する。
【００１７】
ＲＡＭ１０７は、ＣＰＵ１０６の主記憶部として作業領域を提供するための随時読み書き可能なメモリであり、内部処理する画像データを一時記憶するための画像メモリとしても使用される。ＲＯＭ１０８は、ブートＲＯＭでありシステム起動に必要なブートプログラム、および、動作に必要な各種処理プログラムが格納する。ＦＬＡＳＨ１０９は、不揮発性メモリであり、画像形成装置１００の電源遮断後にも保持が必要なシステムソフトウエアや設定値データ等が格納される。
【００１８】
操作部ＩＦ１１１は、例えば、液晶タッチパネル等で構成する操作部１０２との間で入出力を行うためのインタフェースである。操作部ＩＦ１１１は、操作部１０２に対して表示すべき画像データを出力し、また、ユーザが操作部１０２を介して入力した情報をＣＰＵ１０６に伝送する。ＮＷ通信部１１２は、ＬＡＮ（Local Area Network）と接続するためのインタフェースであり、ＬＡＮに対して情報の入出力を行う。モデム部１１３は、公衆回線と接続するためのインタフェースであり、公衆回線に対して情報の入出力を行う。
【００１９】
画像バスＩＦ１１０は、システムバス１３０と画像データを転送するための画像バス１３１とを接続するインタフェースであり、互いのバスプロトコルを変換するバスブリッジとして動作する。ＨＤＤ（Hard Disk Drive）１１４は、不揮発なデータ記憶装置であり、画像データ、システムデータ、ユーザデータ等の各種データ、および、ＣＰＵ１０６が実行する動作プログラムが保持される。なお、拡張処理部１０５として接続されるＦＰＧＡを備えるオプションボードの制御プログラムや回路情報も、ＨＤＤ１１４に保持されるプログラムに含まれる。メインコントローラ１０１が、ＨＤＤ１１４を接続しない構成をとる場合は、前記各種データはＦＬＡＳＨ１０９に保持されるものとする。
【００２０】
画像バス１３１には、ＲＩＰ（Raster Image Processor）１１５、デバイスＩＦ１１６、スキャナ画像処理部１１７、プリンタ画像処理部１１８、編集画像処理部１１９、および、画像圧縮部１２０が接続される。ＲＩＰ１１５は、ＬＡＮから受信したＰＤＬ（Page Description Language）データをビットマップイメージに展開する。デバイスＩＦ１１６は、スキャナ１０３やプリンタ１０４の各デバイスとメインコントローラ１０１とを接続するインタフェースであり、互いの画像データ送受信を行う。スキャナ画像処理部１１７は、スキャナ１０３から読み込んだ入力画像データに対して、また、プリンタ画像処理部１１８は、プリンタ１０４へ出力するプリント出力画像データに対して、それぞれ画像処理を行う。編集画像処理部１１９は、ＲＡＭ１０７やＨＤＤ１１４が保持する画像データに対してループバック的に画像処理を行う。これらの画像処理部は、例えばＡＳＩＣ（Application Specific Integrated Circuit）を用いたハードウェア処理として実装される。スキャナ画像処理部１１７、プリンタ画像処理部１１８、編集画像処理部１１９の詳細は後述する。
【００２１】
画像圧縮部１２０は、多値画像データに対してはＪＰＥＧ（Joint Photographic Experts Group）圧縮伸長処理を行う。また、画像圧縮部１２０は、２値画像データに対してはＪＢＩＧ（Joint Bi-level Image Experts Group）、ＭＭＲ（Modified Modified Read）などの符号化方式を用いた圧縮伸長処理を行う。
拡張ＩＦ１２１は、例えば、ＰＣＩＥｘｐｒｅｓｓで構成される周辺機器接続用のインタフェースであり、接続する周辺機器とコントローラ１０１との間でデータ送受信を行う。本実施例では、周辺機器として拡張処理部１０５が拡張ＩＦ１２１と接続してコントローラ１０１に対して機能拡張となる画像処理を提供する。拡張処理部１０５の詳細は後述する。
電源制御部１２２は、電力供給手段である電源装置１２３から電力供給ライン１２４を介して受容したＤＣ電源を、電力供給ライン１２５を介してメインコントローラ１０１の電源ドメイン１４１に供給する。
【００２２】
図２は、スキャナ画像処理部１１７、プリンタ画像処理部１１８、および、編集画像処理部１１９の構成を例示するブロック図である。
図２（ａ）に示すように、スキャナ画像処理部１１７は、入出力制御部２００と画像処理部（２０１〜２０４）とで構成される。入出力制御部２００は、不図示のＤＭＡ（Direct Memory Access）制御部を備え、接続する画像バス１３１からのデータを画像処理部２０１に送信して画像処理を開始する。また、入出力制御部２００は、画像処理部２０４から画像処理後のデータを受信して画像バス１３１へ送信する。本実施例では、スキャナ画像処理部１１７は、４個の画像処理部を直列接続する構成とする。具体的には、処理Ｓ１（２０１）にシェーディング補正、処理Ｓ２（２０２）にＭＴＦ補正、処理Ｓ３（２０３）にガンマ補正、処理Ｓ４（２０４）に下地除去、の各処理を備えるものとする。
【００２３】
図２（ｂ）に示すように、プリンタ画像処理部１１８は、上述したスキャナ画像処理部１１７と同様、入出力制御部２１０と画像処理部（２１１〜２１４）とで構成される。本実施例では、プリンタ画像処理部１１８は、４個の画像処理部を直列接続する構成とする。具体的には、処理Ｐ１（２１１）に色空間変換、処理Ｐ２（２１２）にハーフトーニング、処理Ｐ３（２１３）にスムージング、処理Ｓ４（２１４）にマスキング、の各処理を備えるものとする。
【００２４】
図２（ｃ）に示すように、編集画像処理部１１９は、上述したスキャナ画像処理部１１７と同様、入出力制御部２２０と画像処理部（２２１〜２２３）とで構成される。本実施例では、編集画像処理部１１９は、３個の画像処理部を備え、入出力制御部は各画像処理と個別にデータ送受信できる構成とする。具体的には、処理Ｌ１（２２１）に変倍、処理Ｌ２（２２２）に合成、処理Ｌ３（２２３）に回転、の各処理を備えるものとする。
【００２５】
図３は、拡張処理部１０５の構成を例示するブロック図である。
拡張処理部１０５は、プログラマブル処理部３０１と、ローカルＲＡＭ３０２と、ローカルＲＯＭ３０３等で構成される。
【００２６】
プログラマブル処理部３０１は、回路構成情報に応じて論理回路を変更できる再構成デバイス（プログラマブルロジックデバイス）であり、本実施例ではＦＰＧＡで構成するものとする。プログラマブル処理部３０１は、内部にメインコントローラ１０１と接続するためのホストインタフェースや、後述するローカルＲＡＭ３０２やローカルＲＯＭ３０３との接続インタフェース、および、再構成できる回路領域等を備える。プログラマブル処理部３０１の詳細は後述する。
【００２７】
ローカルＲＡＭ３０２は、プログラマブル処理部３０１が動作時に使用する主記憶メモリであり、プログラマブル処理部３０１が画像処理する画像データ等の中間データを一時的に保持するためのワークメモリとして使用される。ローカルＲＯＭ３０３は、プログラマブル処理部３０１の回路構成情報を備える不揮発なフラッシュメモリである。本実施例では、ローカルＲＯＭ３０３は、プログラマブル処理部３０１で常に使用する領域の設定情報を含む回路構成情報を備える。この回路構成情報は、コントローラ１０１のＣＰＵ１０６と通信するために必要となる最小限の回路情報と、プログラマブル処理部３０１がハードマクロとして実装されるホストインタフェース回路等の初期設定情報等を備える。
【００２８】
拡張処理部１０５は、電源起動後にローカルＲＯＭ３０３から回路構成情報を読み出し、プログラマブル処理部３０１に、後述する拡張ＩＦ１２１と通信するためのホストインタフェースやシステムバス等の常時使用する回路部を構成し、使用可能状態となる。プログラマブル処理部３０１を用いた処理の詳細は後述する。
【００２９】
図４は、プログラマブル処理部３０１の詳細を例示するブロック図である。
機能部４０１は、ローカルＲＯＭ３０３、および、ＣＰＵ１０６からロードされる回路構成情報に基づき画像処理回路等を構成する論理回路である。
ホストＩＦ４０２は、メインコントローラ１０１の拡張ＩＦ１２１と接続するインタフェース処理部である。ホストＩＦ４０２は、例えばハードマクロで実装するＰＣＩＥｘｐｒｅｓｓで構成され、ＣＰＵ１０６とプログラマブル処理部３０１との通信を媒介する。
【００３０】
ＲＡＭ ＩＦ４０３は、ローカルＲＡＭ３０２と接続するインタフェース処理部である。ＲＡＭ ＩＦ４０３は、機能部４０１やホストＩＦ４０２を介して受信する、データ書き込み要求や、データ読み出し要求に基づくメモリ制御を行う。
バス４０４は、機能部４０１とホストＩＦ４０２、および、ＲＡＭ ＩＦ４０３とを接続するシステムバスである。
ＲＯＭ ＩＦ４０５は、ローカルＲＯＭ３０３と接続するインタフェース処理部である。ＲＯＭ ＩＦ４０５は、回路構成情報を読み出し、機能部４０１に回路情報として展開し論理回路を形成する。
【００３１】
ホストＩＦ４０２は、電源投入時にローカルＲＯＭ３０３が備える回路構成情報に基づき初期状態設定を行い使用可能状態となり、コントローラ１０１のＣＰＵ１０６と通信可能状態となる。これにより、ＣＰＵ１０６から機能部４０１に画像処理等の回路構成情報を設定することができ、コントローラ１０１から受信した画像データに対して機能部４０１に設定した処理を実行できる。
【００３２】
図５は、プログラマブル処理部３０１の機能部４０１に適用する回路構成情報の詳細を例示する図である。
プログラマブル処理部３０１が備える機能部４０１において異なる機能の処理回路を構成するために、ＨＤＤ１１４は、内部の回路構成情報の格納領域５００に、複数の回路構成情報（例えば５０１〜５０５等）を保持する。ここで、格納領域５００は、ＨＤＤ１１４上で回路構成情報を保持するために割り当てた所定の論理アドレス領域を示す。ＣＰＵ１０６は、格納領域５００に対応するＨＤＤ１１４の所定の論理アドレスから、必要な回路構成情報を読み出し、拡張ＩＦ１２１を介してプログラマブル処理部３０１に転送し、回路構成を行う。上記回路構成情報は、機能部４０１とシステムバス４０４とを構成する回路情報を備え、回路情報が含む論理機能と接続情報とに基づき回路を構成する。
【００３３】
格納領域５００は、機能部４０１に構成される回路の機能の種類に応じて複数の回路構成情報を備える。本実施例では、格納領域５００は、回路情報Ｅ１（５０１）、回路情報Ｅ２（５０２）、回路情報Ｅ３（５０３）の３つの回路情報を備えるものとする。回路情報Ｅ１（５０１）は拡張下地除去、回路情報Ｅ２（５０２）は拡張色変換、回路情報Ｅ３（５０３）は拡張トナー量制御の画像処理機能にそれぞれ対応する。
【００３４】
次に、図６、図７、図８、および、図９を用いて、画像形成装置１００が備える画像パス情報を用いた画像処理実行の詳細を説明する。
図６は、本実施例における画像パス情報６００を例示する模式図である。
図６に示す画像パス情報６００は、複数の画像パスを含む。画像パス情報６００は、画像形成装置１００が備えるコピー（ＣＯＰＹ）やスキャン原稿送信（ＳＥＮＤ）、および、不図示のプリント等の機能６０１毎に、画像パスを備える。各画像パスは、ＩＤ６０２を備え、ＩＤ６０２を用いて画像パスを一意に識別できる。
【００３５】
ここで、画像パスとは、画像形成装置１００が備える機能を所定の設定情報で実行する際に使用する、一連の画像処理の組み合わせと、実行順序とを、画像格納情報と併せて示したものである。例えば、ＩＤ６０２が「Ｃ１」で識別される画像パス（６１０）では、スキャナ１０３から入力した画像データに対して、スキャナ画像処理部１１７の処理Ｓ１〜Ｓ４をこの順に実行した後、ｓｐｏｏｌ６１１に基づきＨＤＤ１１４に画像データをスプールする。さらに、スプールした画像データに対して、プリンタ画像処理部１１８の処理Ｐ１〜Ｐ４をこの順に実行して得られた出力画像データを、プリンタ１０４へ送信して、コピー機能実行に必要な画像処理を実行できる。
【００３６】
また、ＩＤ６０２が「Ｃ２」で識別される画像パス（６２０）は、コピー実行時に拡張処理部１０５で行う画像処理を指定するための画像パスである。ここでは、前述のＩＤがＣ１の画像パス（６１０）と同様に、処理Ｓ１〜Ｓ４の画像処理後に、ＨＤＤ１１４に画像データをスプール後、拡張処理１（６２１）に基づき拡張処理部１０５で画像処理を行う。その後、ｓｐｏｏｌ６２２に基づき、処理後の画像データをＨＤＤ１１４に再度スプール後、処理Ｐ１〜Ｐ４の画像処理により出力画像データを得る。
【００３７】
ここで、画像パス（６２０）に示す拡張処理１（６２１）は、拡張処理部１０５で実行される画像処理（拡張処理）を抽象化した処理である。拡張処理１（６２１）で行う画像処理の内容は、コピー実行時の設定情報と、後述する図７に示す拡張処理情報７００とに基づき指定される。なお、図６に示す他の「拡張処理１」や「拡張処理２」についても同様に抽象化した処理に対応する。このため、従来のように拡張機能が追加される毎に該追加された拡張機能を含む画像パス情報が必要となる、といったことがなくなる。よって、拡張機能を追加する毎に画像パス情報を含むファームウェアを修正する、といった必要もなくなる。
【００３８】
以下、図７の拡張処理情報７００について説明する。
図７は、本実施例における拡張処理情報７００を例示する模式図である。
拡張処理情報７００は、拡張機能として追加された拡張処理の管理情報であり、画像パス情報に含まれる抽象化した処理（例えば「拡張処理１」、「拡張処理２」）の実体を示す拡張処理の管理情報を保持するものである。拡張処理情報７００は、拡張処理７０１で示す画像処理（例えば処理Ｅ１〜Ｅ３）毎に、機能７０２、配置情報７０３、実行順７０４、グループ情報７０５、製造者ＩＤ７０６の情報を備える。
【００３９】
機能７０２は、拡張処理７０１で示す画像処理が、画像形成装置１００が既に備える、画像パス情報６００に含まれるどの機能６０１（例えばＣＯＰＹ，ＰＲＩＮＴ，ＳＥＮＤ）で実行できるかを示すためのものである。配置情報７０３は、画像パス情報６００の画像パスが備える、どの抽象化した処理の実行位置（例えば６２１等）で、拡張処理７０１で示す画像処理が実行できるかを示す（対応付けする）ためのものである。実行順７０４は、同じ配置情報７０３を備える拡張処理を複数同時に指定して実行する場合に、拡張処理同士の実行順序を定めるためのものである。本実施例では実行順７０４の昇順の優先度で拡張処理を実行するものとする。グループ情報７０５は、複数の拡張処理を同時実行できるか否かを示すためのものである。製造者ＩＤ７０６は、製造者を特定する情報を示す。なお、製造者ＩＤ７０６は管理情報に用いる他、グループ情報７０５のような拡張処理実行時の禁則条件に用いてもよい。即ち、グループ情報７０５、製造者ＩＤ７０６を、連携して実行可能な拡張処理と実行不可能な拡張処理を特定可能な管理情報として用いてもよい。なお、詳細は、後述する図１０、図１１で示すが、機能７０２、グループ情報７０５、製造者ＩＤ７０６は、操作画面（例えば拡張機能の設定画面）の表示制御に使用される。
【００４０】
図７の拡張処理情報７００の場合、図６の画像パス（６２０）の拡張処理１（６２１）に対応する拡張処理として、設定情報に応じて、処理Ｅ１（７１０）や処理Ｅ２（７２０）が指定される。なお、処理Ｅ１（７１０）と処理Ｅ２（７２０）の双方が指定される場合には、処理Ｅ１（７１０）、処理Ｅ２（７２０）の順に実行される。このように、拡張処理情報７００を用いて、図６の画像パス情報に含まれる抽象化した処理を、拡張処理で具体化することが可能となる。
【００４１】
本実施例において、画像形成装置１００は、既に３つの拡張処理（処理Ｅ１〜Ｅ３）を備えるものとし、これらは上述した図５の回路構成情報５０１〜５０３に対応するものである。例えば、処理Ｅ１（７１０）は、回路情報Ｅ１（５０１）により拡張処理部１０５のプログラマブル処理部３０１に構成される「拡張下地除去」を行う画像処理である。処理Ｅ１（７１０）は、画像パス情報の機能６０１におけるコピー（ＣＯＰＹ）と、スキャン原稿送信（ＳＥＮＤ）機能の画像パスのいずれかが備える「拡張処理１」に配置して実行できる。このように、スキャナ画像処理部１１７の処理後に処理Ｅ１を配置することで、最も効果的に下地除去処理が実行できる。また、処理Ｅ２（７２０）は、「拡張色変換」を行う画像処理である。処理Ｅ１はグループ情報として「ｇｒｏｕｐ１」（７１４）を備え、例えば、同じグループ情報として「ｇｒｏｕｐ１」（７２４）を備える処理Ｅ２（７２０）と同時実行する場合には、実行順７０４に基づき処理Ｅ１、処理Ｅ２の順に実行する。これにより、処理Ｅ１で行う下地除去の効果を低減することなく処理Ｅ１と処理Ｅ２を実行できる。
【００４２】
同様に、処理Ｅ３（７３０）は、「拡張トナー量制御」を行う画像処理であり、コピー（ＣＯＰＹ）とプリント（ＰＲＩＮＴ）機能で実行できる。また、処理Ｅ３（７３０）は、配置情報７０３として「拡張処理２」を備える。よって、処理Ｅ３（７３０）は、画像パス情報の機能６０１におけるコピー（ＣＯＰＹ）とプリント（ＰＲＩＮＴ）機能の画像パスのいずれかが備える「拡張処理２」に配置して実行できる。処理Ｅ３（７３０）は、編集系の画像処理や他の拡張処理を行った後の色味やレイアウトが確定した画像データに対して濃度制御を行い、トナー量制御を効果的に実行できる。
【００４３】
なお、前述した画像パス情報６００は、ＨＤＤ１１４に格納されＲＡＭ１０７に展開してＣＰＵ１０６が実行する不図示のファームウェアに、予め備えられているものとする。また、拡張処理情報７００が備える拡張機能および付随する各情報は、例えば、その拡張機能を画像形成装置１００にインストールする時に追加更新されるものとする。即ち、拡張処理が追加されるタイミングで、該拡張処理に対応する管理情報が拡張処理情報７００に登録されるものとする。
【００４４】
次に、図８のフローチャートを用いて、画像形成装置１００が機能実行時の設定に基づき所望の画像処理を実行するための画像パスを決定する処理を説明する。
図８は、画像形成装置１００が機能実行時の設定に基づき所望の画像処理を実行するための画像パスを決定する処理を例示するフローチャートである。図８（ａ）〜図８（ｃ）のフローチャートで示す処理は、ユーザが操作部１０２で機能設定を行い実行開始指示したことをＣＰＵ１０６が検知後、ＣＰＵ１０６で実行する画像パス制御部９５１（図９）が開始するものとする。なお、画像パス制御部９５１は、ＨＤＤ１１４等に備える不図示のファームウェアに予め実装されるもので、画像形成装置１００の電源起動後、ＣＰＵ１０６がファームウェアをＲＡＭ１０７に展開後に動作可能状態となる。画像パス制御部９５１の処理詳細は後述する。
【００４５】
図８（ａ）は、画像パス決定におけるメイン処理を例示するフローチャートである。
Ｓ８０１において、画像パス制御部９５１は、機能実行時に指定された不図示の設定情報を取得する。この設定情報は、例えば、ユーザが、コピーを実行する前に操作部１０２に指定する「色味変更」や「下地除去」等の設定の情報である。この設定情報は、不図示の予め備えた変換表等を用いてスキャナ画像処理部１１７、プリンタ画像処理部１１８、編集画像処理部１１９および拡張処理部１０５で行う画像処理（例えばＳ１〜Ｓ４、Ｐ１〜Ｐ４、Ｌ１〜Ｌ３、Ｅ１〜Ｅ３）と対応付けできる。また、拡張処理部１０５で行う画像処理（例えば拡張処理Ｅ１〜Ｅ３）については、拡張処理情報７００を用いて、抽象化した処理（例えば図６の拡張処理１、拡張処理２）と対応付けできる。
【００４６】
次に、Ｓ８０２において、画像パス制御部９５１は、上記Ｓ８０１で取得した設定情報等に基づき、画像パス情報６００から画像パスを選択して取得する。
次に、Ｓ８０３において、画像パス制御部９５１は、上記Ｓ８０２で取得した画像パスが拡張処理部１０５で行う画像処理を含むか否かにより、拡張処理を実行するか否かを判定する。これは、取得した画像パスにおける「拡張処理１」や「拡張処理２」等で示す拡張処理部１０５で行う画像処理の実行位置の有無で判定できる。そして、上記Ｓ８０２で取得した画像パスが拡張処理部１０５で行う画像処理を含み、拡張処理を実行しないと判定した場合（Ｓ８０３でＹｅｓの場合）、画像パス制御部９５１は、Ｓ８０４に処理を進める。
【００４７】
Ｓ８０４において、画像パス制御部９５１は、上記Ｓ８０２で選択した画像パスが備える拡張処理の実行位置で行う画像処理を決定する。Ｓ８０４で行う処理の詳細は後述する図８（ｂ）で説明する。
次に、Ｓ８０５において、画像パス制御部９５１は、上記Ｓ８０４で決定した拡張機能の実行位置で行う画像処理について、拡張機能の実行位置で複数の画像処理を行う場合に画像処理の実行順序を決定する。Ｓ８０５で行う処理の詳細は後述する図８（ｃ）で説明する。
【００４８】
そして、上記Ｓ８０５の後、画像パス制御部９５１は、Ｓ８０６に処理を進める。
一方、上記Ｓ８０３において、上記Ｓ８０２で取得した画像パスが拡張処理部１０５で行う画像処理を含まず、拡張処理を実行しないと判定した場合（Ｓ８０３でＮｏの場合）、画像パス制御部９５１は、そのままＳ８０６に処理を進める。
Ｓ８０６において、画像パス制御部９５１は、上記Ｓ８０２で選択した画像パスで行う画像処理を確定し、図８（ａ）の処理を終了する。なお、Ｓ８０６で確定した画像処理は、後述する画像処理実行部９５２により実行制御される。
【００４９】
図８（ｂ）は、図８（ａ）のＳ８０４で行う画像パスが備える拡張処理の実行位置で実際に行う画像処理を決定する処理の詳細を例示するフローチャートである。
Ｓ８１０〜Ｓ８１４において、画像パス制御部９５１は、Ｓ８１１〜Ｓ８１３の処理を、図８（ａ）のＳ８０１で取得した設定情報で実行指定された全ての拡張処理部１０５で行う画像処理（拡張処理）に対して実行するように制御する。この制御により、該実行指定された全ての拡張処理を画像パスの拡張処理実行位置に配置する。以下、詳細に説明する。まず、Ｓ８１０において、画像パス制御部９５１は、図８（ａ）のＳ８０１で取得した設定情報で実行指定された拡張処理部１０５で行う画像処理を一つ選択し（例えば「拡張下地除去」に対応する「処理Ｅ１」を選択し）、判定対象の画像処理とする。
【００５０】
次に、Ｓ８１１において、画像パス制御部９５１は、上記Ｓ８１０で選択した拡張処理部１０５で行う画像処理（拡張処理７０１）をキーとして拡張処理情報７００を参照して、対応する配置情報７０３を取得する。
次に、Ｓ８１２において、画像パス制御部９５１は、上記Ｓ８１１で取得した配置情報７０３と、図８（ａ）のＳ８０２で選択した画像パスが備える抽象化した処理の実行位置（配置情報）とが一致するか否かを判定する。そして、一致すると判定した場合（Ｓ８１２でＹｅｓの場合）、画像パス制御部９５１は、Ｓ８１３に処理を進める。Ｓ８１３において、画像パス制御部９５１は、判定対象の画像処理を上記Ｓ８１２で一致した拡張処理の実行位置で実行するよう画像パスを決定し、Ｓ８１４に処理を進める。
【００５１】
Ｓ８１４において、画像パス制御部９５１は、上記Ｓ８１１〜Ｓ８１３の処理を、実行指定された全ての拡張処理部１０５で行う画像処理に対して行ったか否かを判定する。そして、実行指定された拡張処理部１０５で行う画像処理のうち、まだ上記Ｓ８１１〜Ｓ８１３の処理を行っていないものがあると判定した場合、Ｓ８１０に処理を戻す。
【００５２】
一方、上記Ｓ８１１〜Ｓ８１３の処理を、実行指定された全ての拡張処理部１０５で行う画像処理に対して行ったと判定した場合、画像パス制御部９５１は、図８（ｂ）の処理（図８（ａ）のＳ８０４）を終了する。以上の処理により、実行指定された全ての拡張処理を画像パス内の抽象化した処理の実行位置に配置することができる。
【００５３】
なお、上記Ｓ８１２にて、上記Ｓ８１１で取得した配置情報７０３と、図８（ａ）のＳ８０２で選択した画像パスが備える抽象化した処理の実行位置とが一致しないと判定した場合（Ｓ８１２でＮｏの場合）、画像パス制御部９５１は、Ｓ８１５に処理を進める。Ｓ８１５において、画像パス制御部９５１は、例外処理を行う。この例外処理では、例えば、画像パス制御部９５１は、例外処理となった画像処理に対応する機能が実行できないため再設定を促す旨を操作部１０２に通知する。Ｓ８１５の処理の後、画像パス制御部９５１は、図８（ｂ）の処理（図８（ａ）のＳ８０４）を終了する。この場合、図示しないが、上記通知に応じてユーザにより再度設定が行われたら、再度図８（ａ）のＳ８０１から処理を開始するものとする。
【００５４】
図８（ｃ）は、図８（ａ）のＳ８０５で行う、画像パスが備える拡張処理の実行位置において複数の画像処理を実行する際の実行順序を決定する処理の詳細を示すフローチャートである。
Ｓ８２０〜Ｓ８２３において、画像パス制御部９５１は、Ｓ８２１〜Ｓ８２２の処理を、図８（ａ）のＳ８０２で取得した画像パスが備える全ての拡張処理の実行位置に対して実行するように制御する。この制御により、画像パスが備える全ての拡張処理（例えば「拡張処理１」）内の処理実行順序を決定する。まず、Ｓ８２０において、画像パス制御部９５１は、図８（ａ）のＳ８０２で取得した画像パスが備える拡張処理の実行位置の一つを選択して判定対象とし、Ｓ８２１に処理を進める。
【００５５】
Ｓ８２１において、画像パス制御部９５１は、図８（ａ）のＳ８０４（図８（ｂ））の処理結果に基づき、判定対象である拡張処理の実行位置で複数の画像処理が実行するか否かを判定する。そして、複数の画像処理が実行すると判定した場合（Ｓ８２１でＹｅｓの場合）、画像パス制御部９５１は、Ｓ８２２に処理を進める。
Ｓ８２２において、画像パス制御部９５１は、拡張処理情報７００から判定対象である拡張処理の実行位置で行う各画像処理の実行順７０４を取得し、実行順の昇順で画像処理をソートし、Ｓ８２３に処理を進める。即ち、図８（ｂ）の処理において、１の抽象化した処理に対して複数の拡張処理が具体化された場合、これらの実行順序を実行順７０４に基づいて決定する。
【００５６】
一方、上記Ｓ８２１において、判定対象である拡張処理の実行位置で複数の画像処理が実行しないと判定した場合（Ｓ８２１でＮｏの場合）、画像パス制御部９５１は、そのままＳ８２３に処理を進める。
【００５７】
Ｓ８２３において、画像パス制御部９５１は、上記Ｓ８２１〜Ｓ８２２の処理を、画像パスが備える全ての拡張処理の実行位置に対して実行したか否かを判定する。そして、画像パスが備える全ての拡張処理の実行位置のうち、まだ上記Ｓ８２１〜Ｓ８２２の処理を行っていないものがあると判定した場合、画像パス制御部９５１は、Ｓ８２０に処理を戻す。
【００５８】
一方、上記Ｓ８２１〜Ｓ８２３の処理を、画像パスが備える全ての拡張処理の実行位置に対して実行したと判定した場合、画像パス制御部９５１は、図８（ｃ）の処理（図８（ａ）のＳ８０５）を終了する。以上の処理により、全ての拡張処理位置における画像処理実行順を決定することができる。
【００５９】
以上のように、予め、拡張機能により追加された拡張処理を含む画像パス情報を備えておき、該画像パス情報を用いた画像処理を実行する場合に、画像パス制御部９５１が、該画像パスに含まれる抽象化した処理を、追加された拡張処理で具体化する。これにより、画像処理実行部９５２は、予め備える画像パス情報を用いて、任意のタイミングで追加される拡張処理を含む一連の画像処理を実行することができる。
【００６０】
次に、図９を用い、ユーザが「コピー機能」で「縮小レイアウト」と拡張画像処理で行う「拡張下地除去」、「拡張色変換」および「拡張トナー量制御」を実行指定した場合を例に、画像形成装置１００が画像パスを決定し処理を実行する振る舞いを説明する。
図９は、設定情報に基づき決定した画像パスに基づいて画像処理を実行する処理フローを示すシーケンス図である。なお、図９に示す操作部制御部９５０、画像パス制御部９５１、画像処理実行部９５２および拡張処理制御部９５３は、ＨＤＤ１１４等に格納される不図示のファームウェアに実装され、画像形成装置１００の電源起動後にＣＰＵ１０６で実行されるものとする。また、本処理フローは、ユーザが操作部１０２で機能設定を行い実行開始指示したことをＣＰＵ１０６が検知した後に開始されるものとする。
【００６１】
まず、操作部制御部９５０は、ユーザが操作部１０２で設定した設定情報を取得する（９０１）。さらに、操作部制御部９５０は、該取得した設定情報を画像パス制御部９５１、および画像処理実行部９５２に送信する（９０２）。本実施例では、設定情報として、「縮小レイアウト」、「拡張下地除去」、「拡張色変換」、「拡張トナー量制御」を指定したコピー実行指示が含まれているものとして、図９のシーケンスを説明する。
【００６２】
画像パス制御部９５１は、操作部制御部９５０から受信した設定情報を用いて前述の図８で示した処理フローに基づき画像パスを決定する（９０３）。上述の例では、設定情報から、コピー機能で「縮小レイアウト処理」、すなわち「編集処理」を行うことが分かる。さらに、拡張処理部１０５で行う「拡張下地除去」、「拡張色変換」、および「拡張トナー量制御」の３つの拡張処理を実行することが分かる。また、拡張処理情報７００から、「拡張下地除去」と「拡張色変換」の配置は「拡張処理１」、「拡張トナー量制御」の配置は「拡張処理２」であることが分かる。これにより、画像パス情報６００から「コピー機能」で「編集処理」と「拡張処理１」と「拡張処理２」を含む画像パスとして画像パス６３０を決定する。また、「拡張処理１」で行う画像処理は、拡張処理が備える実行順７０４に基づき、実行順７０４の値が小さい「拡張下地除去」、「拡張色変換」の順で実行するものとする。また、「拡張処理２」では、「拡張トナー量制御」を実行するものとする。
画像パス制御部９５１は、最終的に決定した画像パスを、画像処理実行部９５２に送信する（９０４）。
【００６３】
画像処理実行部９５２は、操作部制御部９５０から受信した設定情報と、画像パス制御部９５１から受信した画像パスとに基づき、各画像処理部の設定と実行制御を行う。
まず、画像処理実行部９５２は、設定情報に基づきスキャナ画像処理部１１７、プリンタ画像処理部１１８、編集画像処理部１１９が備える画像処理部のレジスタ設定を行う（９０５、９０６、９０７）。全ての画像処理が終了したことを検出するための終了検知処理の実行を開始した後（９０８）、画像処理実行部９５２は、デバイスＩＦ１１６にスキャン開始を指示して（９０９）スキャナ１０３の原稿読み込みを開始する。スキャナ１０３は、原稿読み込みにより画像データを取得する。画像処理実行部９５２は、デバイスＩＦ１１６からスキャナ１０３の原稿読み込み終了の通知を受信後（９１０）、スキャナ画像処理部１１７に画像処理開始を指示する（９１１）。スキャナ画像処理部１１７は、スキャナ１０３で取得した画像データに対して画像処理Ｓ１〜Ｓ４（２０１〜２０４）で処理を行った後（９１２）、画像処理実行部９５２に処理終了を通知する（９１３）。スキャナ画像処理部１１７で処理後の画像データは、画像パス６３０に基づきＨＤＤ１１４にスプールされる。
【００６４】
次に、画像処理実行部９５２は、設定情報で指示される「拡張下地除去」を行うために、拡張処理制御部９５３に対して、画像パス６３０の「拡張処理１」で行う「拡張下地除去」の開始指示を行う（９１４）。拡張処理制御部９５３は、受信した指示に基づき回路情報Ｅ１（５０１）を用いて、拡張処理部１０５に回路構成指示を行う（９１５）。そして、拡張処理制御部９５３は、「拡張下地除去」に対応する処理回路をプログラマブル処理部３０１に構成した後、処理開始指示を行う（９１６）。拡張処理部１０５は、スキャナ画像処理後の画像データに対して画像処理を実行し（９１７）、処理終了通知を拡張処理制御部９５３に通知する（９１８）。そして、拡張処理制御部９５３は、画像処理実行部９５２に対して「拡張処理１」での処理終了を通知する（９１９）。「拡張処理１」で処理後の画像データは、画像パス６３０に基づきＨＤＤ１１４にスプールされる。
【００６５】
次に、画像処理実行部９５２は、設定情報で指示される「拡張色変換」を行うために、拡張処理制御部９５３に対して、画像パス６３０の「拡張処理１」で行う「拡張色変換」の開始指示を行う（９２０）。拡張処理制御部９５３は、受信した指示に基づき回路情報Ｅ２（５０２）を用いて、拡張処理部１０５に回路構成指示を行う（９２１）。そして、拡張処理制御部９５３は、「拡張色変換」に対応する処理回路をプログラマブル処理部３０１に構成した後、処理開始指示を拡張処理部１０５に対して行う（９２２）。拡張処理部１０５は、拡張下地処理後の画像データに対して画像処理を実行後（９２３）、処理終了通知を拡張処理制御部９５３に通知する（９２４）。拡張処理制御部９５３は、画像処理実行部９５２に対して、「拡張処理１」での処理終了を通知する（９２５）。「拡張処理１」で処理後の画像データは、画像パス６３０に基づきＨＤＤ１１４にスプールされる。
【００６６】
次に、画像処理実行部９５２は、設定情報で指示される「縮小レイアウト」処理を行うために、編集画像処理部１１９に対して画像処理の開始指示を行う（９２６）。編集画像処理部１１９は、「拡張処理１」で行った「拡張色変換」処理後の画像データに対して画像処理Ｌ１〜Ｌ３（２２１〜２２３）の各処理を実行後（９２７）、画像処理実行部９５２に対して処理終了を通知する（９２８）。編集画像処理部１１９で処理後の画像データは、画像パス６３０に基づきＨＤＤ１１４にスプールされる。
【００６７】
次に、画像処理実行部９５２は、設定情報で指示される「拡張トナー量制御」を行うために、拡張処理制御部９５３に対して、画像パス６３０の「拡張処理２」で行う「拡張トナー量制御」の開始指示を行う（９２９）。拡張処理制御部９５３は、受信した指示に基づき、回路情報Ｅ３（５０３）を用いて拡張処理部１０５に回路構成指示を行う（９３０）。そして、拡張処理制御部９５３は、「拡張トナー量制御」に対応する処理回路をプログラマブル処理部３０１に構成した後、処理開始指示を拡張処理部１０５に対して行う（９３１）。拡張処理部１０５は、編集画像処理部１１９における処理後の画像データに対して画像処理を実行後（９３２）、処理終了通知を拡張処理制御部９５３に通知する（９３３）。拡張処理制御部９５３は、画像処理実行部９５２に対して「拡張処理２」での処理終了を通知する（９３４）。「拡張処理２」で処理後の画像データは、画像パス６３０に基づきＨＤＤ１１４にスプールされる。
【００６８】
次に、画像処理実行部９５２は、設定情報で指示されるコピー機能におけるプリント処理を行うために、プリンタ画像処理部１１８に対して画像処理の開始指示を行う（９３５）。プリンタ画像処理部１１８は、「拡張処理２」で行った「拡張トナー量制御」処理後の画像データに対して画像処理Ｐ１〜Ｐ４（２１１〜２１４）の各処理を実行後（９３６）、画像処理実行部９５２に対して処理終了を通知する（９３７）。プリンタ画像処理部１１８で処理後の画像データは、デバイスＩＦ１１６を介してプリンタ１０４へ送信され出力される。
【００６９】
画像処理実行部９５２は、画像パス６３０の全画像処理の終了を検出すると（９３８）、画像パス制御部９５１と操作部制御部９５０に対して終了通知を行い（９３９、９４０）、処理を終了する。
【００７０】
次に、図１０を用いて、ユーザが所望の機能実行を指示する際に操作部１０２が備える不図示の液晶タッチパネル上に表示する操作画面を説明する。
図１０は、設定情報を操作部１０２で指示する際の操作画面を例示する図である。これらの画面は、例えば操作部制御部９５０により操作部１０２の表示部に表示制御される。
【００７１】
図１０（ａ）に示す画面１０００は、画像形成装置１００が提供する機能を選択するためのメニュー画面である。本実施例では、前述のとおりユーザは「コピー」機能で「縮小レイアウト」と拡張画像処理で行う「拡張下地除去」、「拡張色変換」、および、「拡張トナー量制御」を実行指定する。そのため、ユーザは「コピー」機能を実行指定するボタン１００１を押下し、図１０（ｂ）に示すコピー設定画面１０１０を表示する。
【００７２】
図１０（ｂ）に示す画面１０１０は、ボタン１００１を押下後に表示されるコピー設定画面である。本実施例では、ユーザは、出力原稿の仕上げを設定するボタン１０１１を押下して表示される不図示の設定画面で「縮小レイアウト」の実行を指示する。また、ユーザは、拡張機能を実行指定するボタン１０１２を押下して、拡張処理部１０５が提供する図１０（ｃ）に示す拡張機能の設定画面１０２０を表示する。
【００７３】
図１０（ｃ）に示す画面１０２０は、ボタン１０１２を押下後に表示される拡張機能の設定画面である。操作部制御部９５０は、拡張処理情報７００に基づいて画面１０２０の表示制御を行う。
画面１０２０は、画像形成装置１００が保持する拡張処理情報７００が備える拡張処理７０１である処理Ｅ１〜処理Ｅ３（７１０、７２０、７３０）に対応するボタン（１０２１、１０２２、１０２３）をそれぞれ備える。上述の例では、「拡張下地除去」、「拡張色変換」および「拡張トナー量制御」を実行するため、ユーザは全てのボタン（１０２１〜１０２３）を押下して、画像形成装置１００が提供する全ての拡張機能の実行を指定する。以上の画面操作の後、ユーザが操作部１０２の不図示のコピー開始ボタンを押下することで、設定情報を確定しコピー機能を実行できる。
【００７４】
以上の説明により、本実施例では、画像形成装置に外付けするオプションボード等で追加する画像処理の実行順序を抽象化した画像処理（例えば図６の６２１、６３１、６３２等）として定めた画像パス（例えば図６の６２０、６３０等）を予め保持しておく。これにより、画像形成装置の機能実行時の設定情報に基づき、後から追加した画像処理でも適切な順序で実行可能な画像パスを構成できる。さらに、追加する画像処理の実体機能を示す管理情報（例えば図７の拡張処理情報７００）を、該画像処理の追加時等に追加しておく。そして、画像形成装置は、ユーザによる画像形成装置の機能実行時の設定情報に基づき、後から追加した画像処理から、対応する機能の画像処理を選択して、画像パス内の抽象化した画像処理の位置で実行可能に制御する。これにより、予め備える画像パスを変更することなく追加した画像処理を用いた新規な機能を実行できる。
【００７５】
なお、上述した実施例は本発明を限定するものではない。
例えば、画像形成装置１００に後から追加して行う画像処理の実行は、拡張処理部１０５のプログラマブル処理部３０１に限定するものではなく、例えば、画像形成装置１００が接続するＬＡＮに接続する外部サーバで行ってもよい。この場合、拡張処理情報７００は、不図示のサーバやクラウドサービス等の外部サービスで拡張処理として実行する画像処理に係る各種情報（７０１〜７０６）を備えるものとする。これにより、外部サーバ等が備えるＣＰＵ、ＧＰＵ（画像処理アクセラレータ）、や、ＦＰＧＡ等のプログラマブル処理デバイスを用いて画像形成装置１００の機能を拡張して画像処理を実行できる。また、その他の構成として、画像形成装置１００に外付けするオプションボード備えるＣＰＵやＧＰＵを用いてもよく、これにより、拡張処理をより柔軟な形態で実行できる。なお、拡張処理は画像処理に限定されるものではなく、画像処理以外の各種データ処理であってもよい。即ち、本実施例の拡張処理は、画像形成装置に装着される拡張部（例えばプログラムロジックデバイスを備える）で実行される処理であっても、外部サービスにより実行される処理であってもよく、これらの処理が混在していてもよい。
【００７６】
また、画像形成装置１００が備える拡張処理は、処理Ｅ１〜Ｅ３に限定するものでなく、他の画像処理を拡張処理として備えてもよい。以下、図１１を用いて説明する。
図１１は、他の製造者による拡張処理の拡張処理情報と、係る設定操作を行う表示画面を例示する図である。
【００７７】
例えば、画像形成装置１００は、拡張処理情報７００として、さらに、図１１（ａ）で示す拡張処理（７４０、７５０）を備えるとする。ここで、処理Ｅ１０（７４０）、処理Ｅ２０（７４０）は、処理Ｅ１〜Ｅ３とは異なる製造者ＩＤ（７５４、７５５）を備える製造者により作成されたものである。よって、処理Ｅ１０〜Ｅ２０は、処理Ｅ１〜Ｅ３との同時実行（連携して実行すること）が想定されていない処理であるため、ここでは連携して実行不可能な拡張処理として扱う。このような場合でも、処理Ｅ１〜Ｅ３が備えるグループ情報（７１４）と異なるグループ情報（７４４、７４５）を適切に備えることで、互いの処理を同時実行しない制御ができる。
【００７８】
このとき、図１１（ｂ）で示すように、操作部１０２で表示する拡張機能の設定画面１０２０は、さらに、処理Ｅ１０に対応する機能指定ボタン１０２４と、処理Ｅ１１に対応する機能指定ボタン１０２５を備える。ボタン１０２４を押下した場合（１０３０）に、操作部制御部９５０は、拡張処理情報７００に基づき、グループ情報７０５が同じ処理のボタン１０２５を有効とし、グループ情報７０５が異なる処理のボタン（１０２１〜１０２３）を無効にする表示制御を行う。即ち、操作部制御部９５０は、連携して実行不可能な拡張処理同士を連携する設定を禁止するように操作画面の表示制御を行う。これにより、拡張処理の設定指示を適切に制御でき、互いの処理を同時実行しない（連携して実行しない）制御が可能である。
【００７９】
上記実施例では、画像形成装置において画像パス情報に基づき画像処理を実行する場合に本発明を適用する例について説明した。しかし、本発明は、例えば、パーソナルコンピュータ等の画像形成装置以外の各種情報処理装置の各種データ処理についても適用可能である。なお、上記の各種データ処理は、外部のサーバやクラウドサービス等で提供される処理であってもよい。
【００８０】
以上のように、画像形成装置に外付けするオプションボードのＦＰＧＡ等で追加した画像処理の実行順序を定めた画像パスを予め備え、画像形成装置の機能実行時の設定情報に基づき、後から追加した画像処理を適切な順序で実行する画像パスを構成する。これにより、予め備える画像パスを変更することなく追加した画像処理を用いた新規な機能を実行できる。
【００８１】
なお、本発明は、画像形成装置に限定されるものではなく、画像形成装置と同様に拡張機能として実行可能な処理を追加可能であり、且つパス情報に基づいて処理を連携する各種の情報処理装置（例えば携帯端末や各種家電）にも適用可能である。この場合、追加される処理も画像処理に限定されるものではなく、各種処理に適用可能である。
【００８２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【００８３】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８４】
１００    画像形成装置
１０５    拡張処理部
１０６    ＣＰＵ
１１４    ＨＤＤ
１２１    拡張ＩＦ
【図１】
2017108250.tif 000003
【図２】
2017108250.tif 000004
【図３】
2017108250.tif 000005
【図４】
2017108250.tif 000006
【図５】
2017108250.tif 000007
【図６】
2017108250.tif 000008
【図７】
2017108250.tif 000009
【図８】
2017108250.tif 000010
【図９】
2017108250.tif 000011
【図１０】
2017108250.tif 000012
【図１１】
2017108250.tif 000013