(57)【要約】【課題】マクロ実行時に利用する機能の利用可否状態に応じて、登録マクロを再構成する画像処理装置、マクロ情報管理方法、及びマクロ情報管理プログラムを提供する。【解決手段】画像処理装置１００は、データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品１０３ａ〜ｃを有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報４１を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する装置であって、マクロ情報４１を所定の記憶領域に保持する保持手段１３と、保持手段１３により保持されるマクロ情報４１のうち、ソフトウェア部品１０３ａ〜ｃの実行可否状態に応じて変更が必要なマクロ情報４１を特定する特定手段５４と、特定手段５４による特定結果に基づき、登録マクロを再構成する再構成手段５４１とを有することを特徴とする。【選択図】図７
2010026655.tif 000002
【特許請求の範囲】
【請求項１】
データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品を有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する画像処理装置であって、
前記マクロ情報を所定の記憶領域に保持する保持手段と、
前記保持手段により保持されるマクロ情報のうち、前記ソフトウェア部品の実行可否状態に応じて変更が必要なマクロ情報を特定する特定手段と、
前記特定手段による特定結果に基づき、前記登録マクロを再構成する再構成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記再構成手段は、
前記特定手段により特定されたマクロ情報を、前記所定の記憶領域から削除することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記再構成手段は、
前記特定手段により特定されたマクロ情報から、実行するソフトウェア部品として指定されているソフトウェア部品に関する設定を削除し、特定されたマクロ情報の設定内容を変更することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記特定手段により特定されたマクロ情報に、実行するソフトウェア部品として指定されているソフトウェア部品が、前記データ入力手段、前記データ加工手段、又は前記データ出力手段の機能を実現するソフトウェア部品であるかを判定する機能判定手段を有し、
前記再構成手段は、
前記機能判定手段による判定結果に基づき、
前記特定手段により特定されたマクロ情報を前記所定の記憶領域から削除するか、又は、前記特定手段により特定されたマクロ情報から、実行するソフトウェア部品として指定されているソフトウェア部品に関する設定を削除し、特定されたマクロ情報の設定内容を変更するか、どちらか一方の方法を、前記登録マクロを構成する方法として決定することを特徴とする請求項１ないし３のいずれか一項に記載の画像処理装置。
【請求項５】
前記再構成手段は、
当該画像形成装置から前記ソフトウェア部品が削除されたときに、
前記登録マクロを再構成することを特徴とする請求項１ないし４のいずれか一項に記載の画像処理装置。
【請求項６】
前記再構成手段は、
前記登録マクロのマクロ情報を読み出し実行するマクロ実行指示を受け付けたときに、
前記登録マクロを再構成することを特徴とする請求項１ないし５のいずれか一項に記載の画像処理装置。
【請求項７】
当該画像処理装置は、
前記登録マクロのマクロ情報を読み出し実行するマクロ実行指示を受け付けたときに、
前記マクロ実行指示されたマクロ情報が、前記特定手段により特定されたマクロ情報であるか否かを判定する再構成対象判定手段を有し、
前記再構成手段は、
前記再構成対象判定手段による判定結果に基づき、
前記登録マクロを再構成することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記再構成手段は、
前記登録マクロのマクロ情報を読み出し実行するマクロ実行指示を受け付けたときに、
前記登録マクロを再構成する場合、
当該画像形成装置から前記ソフトウェア部品が削除されたときに、前記特定手段により特定されたマクロ情報に対して再構成を行うことを特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
前記再構成手段は、
前記特定手段が、変更が必要なマクロ情報を特定するごとに、特定されたマクロ情報に対して、再構成を行うことを特徴とする請求項１ないし８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記再構成手段は、
前記特定手段により特定されたマクロ情報に対して、特定後に一括して再構成を行うことを特徴とする請求項１ないし９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記特定手段は、
前記マクロ情報に、実行するソフトウェア部品として指定されているソフトウェア部品が、当該画像処理装置から削除されたか否かを判定し、その判定結果に基づき、前記保持手段により保持されるマクロ情報の中から変更が必要なマクロ情報を特定することを特徴とする請求項１ないし１０のしずれか一項に記載の画像処理装置。
【請求項１２】
データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品を有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報を所定の記憶領域に保持する保持手段を備え、前記保持手段により保持されるマクロ情報を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する画像処理装置におけるマクロ情報管理方法であって、
前記保持手段により保持されるマクロ情報のうち、前記ソフトウェア部品の実行可否状態に応じて変更が必要なマクロ情報を特定する特定手順と、
前記特定手順による特定結果に基づき、前記登録マクロを再構成する再構成手順とを有することを特徴とするマクロ情報管理方法。
【請求項１３】
前記再構成手順は、
前記特定手順により特定されたマクロ情報を、前記所定の記憶領域から削除することを特徴とする請求項１２に記載のマクロ情報管理方法。
【請求項１４】
前記再構成手順は、
前記特定手順により特定されたマクロ情報から、実行するソフトウェア部品として指定されているソフトウェア部品に関する設定を削除し、特定されたマクロ情報の設定内容を変更することを特徴とする請求項１２又は１３に記載のマクロ情報管理方法。
【請求項１５】
前記再構成手順は、
当該画像形成装置から前記ソフトウェア部品が削除されたときに、
前記登録マクロを再構成することを特徴とする請求項１２ないし１４のいずれか一項に記載のマクロ情報管理方法。
【請求項１６】
前記再構成手順は、
前記登録マクロのマクロ情報を読み出し実行するマクロ実行指示を受け付けたときに、
前記登録マクロを再構成することを特徴とする請求項１２ないし１５のいずれか一項に記載のマクロ情報管理方法。
【請求項１７】
データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品を有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報を所定の記憶領域に保持する保持手段を備え、前記保持手段により保持されるマクロ情報を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する画像処理装置におけるマクロ情報管理プログラムであって、
コンピュータを、
前記保持手段により保持されるマクロ情報のうち、前記ソフトウェア部品の実行可否状態に応じて変更が必要なマクロ情報を特定する特定手段と、
前記特定手段による特定結果に基づき、前記登録マクロを再構成する再構成手段として機能させるマクロ情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、当該装置が有する提供機能（入力・加工・出力の各機能）を組み合わせて定義されたマクロ情報を管理・実行する画像処理装置に関し、特に、提供機能の削除に応じてマクロ情報を管理する技術に関するものである。
【背景技術】
【０００２】
近年の画像処理装置を代表するデジタル複合機（MFP：Multifunction Peripheral）は、コピー、ファクシミリ、スキャナ、プリンタといった基本機能に加えて、通信装置（例えば、NIC：Network Interface Cardなど。）を介した電子メール配信機能や大容量記憶装置（例えば、HD：Hard Diskなど。）を用いた文書蓄積機能などの拡張機能を有しており、利用者のオフィスワークの効率化を図ることを目的とした多機能化が進んでいる。これに伴って、画像処理装置の利用者は、多機能化により増大した各機能の動作条件を、当該画像処理装置が備える表示部（例えば、操作パネルなど。）において設定しなければならい。
【０００３】
一方、利用者のオフィスワークの中には、画像処理装置が有する機能を利用した定型業務が存在する。このような定型業務は、１日の中で繰り返し行われ、オフィスワークの中で頻度の高いワークフローである。
【０００４】
このように、オフィスワークの中で頻度の高いワークフローにおいても、画像処理装置の利用者が、当該画像処理装置が備える表示部において各機能の動作条件を設定しなければならない状態では、利用者のオフィスワークの効率化を図れない。
【０００５】
そこで、特許文献１には、ワークフロー実現のため利用する各機能の動作条件設定を、予めマクロ情報として当該画像処理装置に登録しておき、利用者が必要に応じて登録したマクロ情報を読み出し実行する画像処理装置が開示されている。
【０００６】
これにより、定型業務などのワークフローを簡便に行うことができ、利用者の作業が軽減される。
【０００７】
しかし、上記に示したようなマクロ実行機能で問題となるのが、登録しておいたマクロ情報に設定された機能が、マクロ実行時に必ずしも動作するという保証はない。例えば、印刷機能を有する画像処理装置がトナー切れの状態の場合に、印刷機能を利用する処理が定義されたマクロ情報を実行しても、印刷時にエラーが発生し、利用者が所望する印刷物を出力することはできない。
【０００８】
そこで、特許文献２には、装置構成や状態などから利用可能な機能と利用不可能（回復不可能）な機能とを判断し、マクロ情報に利用不可能な機能の動作条件設定がある場合には、そのマクロ情報の読み出しを禁止し実行を許可しない画像処理装置が開示されている。
【０００９】
これにより、利用不可能な機能によるマクロ実行時のエラーを未然に防ぐことができる。
【特許文献１】特開２００６−１８６９１８号公報
【特許文献２】特開２００６−５９２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献２に開示されるような従来の画像処理装置では、利用不可能な機能により実行できないマクロ情報が登録されたままの状態となることから、マクロ情報を登録しておく記憶リソースを無駄に使っている。
【００１１】
また、利用不可能な機能によりマクロ情報の実行ができないことから、利用者が、利用不可能な機能を用いる前段階までの工程を実行するためには、改めて、その前段階までの作業工程を定義したマクロ情報を登録する必要がある。
【００１２】
本来、実行できないマクロ情報は、マクロ情報そのものを削除するか又はマクロ情報から利用不可能な機能の設定を削除するか、いずれかの方法によって、画像処理装置の登録マクロを再構成し、有限である記憶リソースを無駄に使用しないようにし、また、実行可能な工程までは、既に登録されたマクロ情報により実行できることが望ましい。
【００１３】
本発明では、上記従来技術の問題点を鑑み、マクロ実行時に利用する機能の利用可否状態に応じて、登録マクロを再構成する画像処理装置、マクロ情報管理方法、及びマクロ情報管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明の画像処理装置は、データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品を有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する画像処理装置であって、前記マクロ情報を所定の記憶領域に保持する保持手段と、前記保持手段により保持されるマクロ情報のうち、前記ソフトウェア部品の実行可否状態に応じて変更が必要なマクロ情報を特定する特定手段と、前記特定手段による特定結果に基づき、前記登録マクロを再構成する再構成手段とを有することを特徴とする。
【００１５】
このような構成によって、本発明の画像処理装置は、マクロ実行時に利用する機能の利用可否状態に応じて登録マクロを再構成する。
【００１６】
また、上記目的を達成するため、本発明の画像処理装置は、前記再構成手段が、前記特定手段により特定されたマクロ情報を前記所定の記憶領域から削除、又は、前記特定手段により特定されたマクロ情報から、実行するソフトウェア部品として指定されているソフトウェア部品に関する設定を削除し、特定されたマクロ情報の設定内容を変更することにより、前記登録マクロの再構成を行う。
【００１７】
また、上記目的を達成するため、本発明の画像処理装置は、前記特定手段により特定されたマクロ情報に、実行するソフトウェア部品として指定されているソフトウェア部品が、前記データ入力手段、前記データ加工手段、又は前記データ出力手段の機能を実現するソフトウェア部品であるかを判定する機能判定手段を有し、前記再構成手段が、前記機能判定手段による判定結果に基づき、前記マクロ情報の削除か、又は、前記マクロ情報の設定内容の変更か、どちらか一方の方法を、前記登録マクロを構成する方法として決定する。
【００１８】
また、上記目的を達成するため、本発明の画像処理装置は、前記再構成手段が、当該画像形成装置から前記ソフトウェア部品が削除されたとき、又は、前記登録マクロのマクロ情報を読み出し実行するマクロ実行指示を受け付けたときのどちらか一方のタイミングで、前記登録マクロを再構成する。
【００１９】
また、上記目的を達成するため、本発明の画像処理装置は、前記登録マクロのマクロ情報を読み出し実行するマクロ実行指示を受け付けたときに、前記マクロ実行指示されたマクロ情報が、前記特定手段により特定されたマクロ情報であるか否かを判定する再構成対象判定手段を有し、前記再構成手段が、前記再構成対象判定手段による判定結果に基づき、前記登録マクロを再構成する。
【００２０】
また、上記目的を達成するため、本発明の画像処理装置は、前記再構成手段が、前記特定手段が、変更が必要なマクロ情報を特定するごとに、特定されたマクロ情報に対して、再構成を行うか、特定後に一括して再構成を行うか、どちらが一方の方法で前記登録マクロの再構成を行う。
【００２１】
これによって、本発明の画像処理装置は、機能部品の削除に伴い実行不可能な登録マクロのマクロ情報による記憶リソース（マクロ情報の格納先である補助記憶部の記憶領域）の無駄な消費を防ぎ（有限な記憶領域の容量を効率よく活用でき）、かつ機能部品の削除に伴う登録マクロの再設定作業（マクロ情報の設定変更作業）の手間を省くことができる。
【００２２】
上記目的を達成するため、本発明のマクロ情報管理方法は、データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品を有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報を所定の記憶領域に保持する保持手段を備え、前記保持手段により保持されるマクロ情報を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する画像処理装置におけるマクロ情報管理方法であって、前記保持手段により保持されるマクロ情報のうち、前記ソフトウェア部品の実行可否状態に応じて変更が必要なマクロ情報を特定する特定手順と、前記特定手順による特定結果に基づき、前記登録マクロを再構成する再構成手順とを有することを特徴とする。
【００２３】
このような手順によって、本発明のマクロ情報管理方法は、マクロ実行時に利用する機能の利用可否状態に応じて登録マクロを再構成するマクロ情報管理処理の動作を実現する。
【００２４】
これによって、本発明のマクロ情報管理方法は、マクロ実行時に利用する機能の利用可否状態に応じて、登録マクロを再構成するマクロ情報管理動作を提供できる。
【００２５】
上記目的を達成するため、本発明のマクロ情報管理プログラムは、データ入力手段、データ加工手段、データ出力手段として機能する各ソフトウェア部品を有し、実行するソフトウェア部品の指定と実行時の動作条件とが設定された登録マクロのマクロ情報を所定の記憶領域に保持する保持手段を備え、前記保持手段により保持されるマクロ情報を読み出し、指定されたソフトウェア部品を、設定された動作条件に従って実行することで、提供機能を実現する画像処理装置におけるマクロ情報管理プログラムであって、前記保持手段により保持されるマクロ情報のうち、前記ソフトウェア部品の実行可否状態に応じて変更が必要なマクロ情報を特定する特定手順と、前記特定手順による特定結果に基づき、前記登録マクロを再構成する再構成手順を、コンピュータに実行させる。
【発明の効果】
【００２６】
本発明によれば、マクロ実行時に利用する機能の利用可否状態に応じて、登録マクロを再構成することにより、マクロ情報による記憶リソースの無駄な消費を防ぎ、かつ利用可能な機能の削除に伴う登録マクロの再設定作業の手間を省くことができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の好適な実施の形態（以下、「実施形態」と言う。）について、図面を用いて詳細に説明する。
【００２８】
［第１の実施形態］
＜ハードウェア構成＞
まず、本実施形態に係る画像処理装置のハードウェア構成について説明する。図１は、本発明の第１の実施形態に係る画像処理装置１００のハードウェア構成例を示す図である。
【００２９】
図１に示すように、画像処理装置１００は、制御部１１、主記憶部１２、補助記憶部１３、ネットワークＩ／Ｆ１４、外部記憶装置Ｉ／Ｆ１５、外部装置Ｉ／Ｆ１６、表示部（表示パネル）１７、入力部（操作部）１８、印刷部（プロッタ）１９、及び原稿読み取り部（スキャナ）２０などにより構成されている。
【００３０】
制御部（ＣＰＵ：Central Processing Unit）１１は、主記憶部１２に記憶されたプログラムを実行し、コンピュータの中で各装置の制御やデータの演算・加工を行う装置である。
【００３１】
主記憶部（ＲＯＭ：Read Only Memory、ＲＡＭ：Random Access Memory）１２は、制御部１１が実行するプログラムやデータを記憶する装置である。また、主記憶部１２のＲＯＭには、画像処理装置１００全体を制御するプログラムや、画像処理装置１００が有する機能を実現するアプリケーションプログラムなどが、関連データとともに記憶されている。
【００３２】
補助記憶部（ＨＤＤ：Hard Disk Drive）１３は、アプリケーションソフトウェアなどに関連するデータ（例えば「画像データ」など）を記憶する装置である。また、補助記憶部１３には、画像処理装置１００が管理する各種情報が格納され、データベース（ＤＢ：database）やファイルシステム（ＦＳ：File System）などにより管理される。
【００３３】
ネットワークＩ／Ｆ１４は、有線又は／及び無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と当該画像処理装置１００とのインタフェースである。
【００３４】
外部記憶装置Ｉ／Ｆ１５は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された外部記憶装置（例えば「記憶メディアドライブ」など）と当該画像処理装置１００とのインタフェースである。
【００３５】
外部装置Ｉ／Ｆ１６は、ＵＳＢなどのデータ伝送路を介して接続された外部入力装置（例えば「デジタルカメラ」など）と当該画像処理装置１００とのインタフェースである。
【００３６】
画像処理装置１００は、これらのインタフェースを介して、外部と各種データのやり取り（送受信や読み込み／書き込み）を行っている。
【００３７】
表示部（表示パネル）１７及び入力部（操作部）１８は、キースイッチ（ハードキーと
ＧＵＩ（Graphical User Interface）のソフトウェアキーを含む）とタッチパネル機能を備えたＬＣＤ（Liquid Crystal Display）とから構成され、画像処理装置１００が有する機能を利用する際のＵＩ（User Interface）として機能する装置である。
【００３８】
印刷部（プロッタ）１９は、レーザービームを用いた電子写真プロセス（露光、潜像、現像、及び転写のプロセス）により、ネットワークＩ／Ｆ１４などを介して受信した画像データを転写紙（印刷用紙）に出力（印刷）する装置である。
【００３９】
原稿読み取り部（スキャナ）２０は、ＣＣＤ（Charge Coupled Devices）光電変換素子からなるラインセンサと、Ａ／Ｄコンバータと、これらを駆動する駆動回路とを備え、原稿読み取り面（コンタクトガラス上）にセットされた原稿をスキャンすることでＲＧＢ各８ビットのデジタル画像データを生成（原稿から情報を読み取り電子化）する装置である。
【００４０】
このように、画像処理装置１００は、主記憶部１２や補助記憶部１３などの記憶装置に格納されたプログラムを制御部１１により実行し、各装置を制御することで、画像処理装置１００が有するコピー、ファックス、スキャナ、プリンタなどの機能を実現している。
【００４１】
＜ソフトウェア構成＞
次に、画像処理装置１００が有するコピー、ファックス、スキャナ、プリンタなどの機能を実現するため、「どのように実装され動作するのか」について、本実施形態におけるソフトウェア構成及び基本処理手順について説明する。
【００４２】
図２は、本発明の第１の実施形態に係る画像処理装置のソフトウェア構成例を示す図である。図２に示されるように、本実施形態におけるソフトウェアは、ユーザインタフェース層１０１、コントロール層１０２、アプリケーションロジック層１０３、デバイスサービス層１０４、及びデバイス制御層１０５などにより構成されている。なお、図中における各層の上下関係は、基本的に上にある層が下の層を呼び出す関係に基づいている。
【００４３】
ユーザインタフェース層１０１は、機能（例えば、「コピー、ファックス、スキャナ、プリンタ」などのアプリケーション）の実行要求を受け付けるための機能が実装されている部分であり、例えば、非図示の利用者端末などからネットワーク経由で要求を受け付ける通信サーバ部や、表示部１７及び入力部１８を介して入力される要求を受け付けるローカルユーザインタフェース（ローカルＵＩ）部などが含まれる。ユーザインタフェース層１０１において受け付けられた要求は、コントロール層１０２に伝えられる。
【００４４】
コントロール層１０２は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。具体的には、要求された機能に応じて、アプリケーションロジック層１０３における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。なお、本実施形態において「画像処理装置１００の機能」とは、画像処理装置１００が利用者に対して提供する１つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスと同義であり、ソフトウェア的には１つのまとまった単位のサービスを提供するアプリケーションと同義である。
【００４５】
アプリケーションロジック層１０３は、それぞれが画像処理装置１００において提供される機能の一部を実現する部品群が実装されている部分である。すなわち、アプリケーションロジック層１０３における部品を組み合わせることにより１つの機能が実現される。
【００４６】
本実施形態では、各部品を「フィルタ」と呼ぶ。これは、画像処理装置１００のソフトウェアアーキテクチャが「パイプ＆フィルタ」と呼ばれる考え方に基づくものである。
【００４７】
ここで、前述したパイプ＆フィルタアーキテクチャについて説明する。図３は、本発明の第１の実施形態に係るパイプ＆フィルタの概念及びフィルタの構成要素の一例を示す図である。図３（ａ）には、パイプ＆フィルタの概念を示し、図３（ｂ）には、フィルタの構成要素の一例を示す。
【００４８】
まず、パイプ＆フィルタの概念について説明する。図３（ａ）において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００４９】
すなわち、本実施形態における画像処理装置１００では、各機能を、画像処理装置１００内部で管理する情報（例えば、「利用者情報」や「文書データ」など。）に対する「変換」の連続として捉える。画像処理装置１００の各機能は、画像処理装置１００内部で取り扱う情報の入力、加工、及び出力によって構成されるものとして一般化することができる。
【００５０】
そこで「入力」、「加工」及び「出力」を変換として捉え、１つの変換を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ１０３ａ（データ入力手段）」と言う。また、加工を実現するフィルタを特に「加工フィルタ１０３ｂ（データ加工手段）」と言う。さらに、出力を実現するフィルタを特に「出力フィルタ１０３ｃ（データ出力手段）」と言う。なお、各フィルタ１０３ａ〜ｃは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的に存在しない。従って、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能とされている。
【００５１】
図２に戻り、アプリケーションロジック層１０３には、入力フィルタ１０３ａとして、原稿読み取り部２０による画像データの読み取りを制御し、読み取られた画像データを出力する読取フィルタ、補助記憶部１３に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する保管文書読出フィルタ、電子メールの受信し、当該電子メールに含まれているデータを出力するメール受信フィルタ、FAX受信を制御し、受信されたデータを出力するＦＡＸ受信フィルタ、非図示の利用者端末（ＰＣ：Personal Computer）から印刷データを受信し、受信された印刷データを出力するＰＣ文書受信フィルタ、画像処理装置１００の設定情報や履歴情報などを、例えば表形式に整形されたデータとして出力するレポートフィルタなどが含まれている。
【００５２】
また、加工フィルタ１０３ｂとしては、入力されたデータに所定の画像変換処理（例えば、「集約」、「拡大」、又は「縮小」など。）を施し、出力する文書加工フィルタ、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換して出力する（レンダリング処理を実行する）文書変換フィルタなどが含まれている。
【００５３】
また、出力フィルタ１０３ｃとしては、入力されたデータを印刷部１９に出力（印刷）させる印刷フィルタ、入力されたデータを補助記憶部１３に保管する保管文書登録フィルタ、入力されたデータを電子メールに添付して送信するメール送信フィルタ、入力されたデータをＦＡＸ送信するＦＡＸ送信フィルタ、入力されたデータを、非図示の利用者端末（ＰＣ）に送信するＰＣ文書送信フィルタ、入力されたデータを表示部１７にプレビュー表示させるプレビューフィルタなどが含まれている。
【００５４】
デバイスサービス層１０４は、アプリケーションロジック層１０３における各フィルタ１０３ａ〜ｃから共通に利用される下位機能が実装されている部分であり、例えば、或るフィルタからの出力データを次のフィルタに伝達するパイプの機能を実現する画像パイプ１０４ａ、利用者情報が登録されたデータベースや文書又は画像データなどが蓄積されるデータベースなどの各種のデータベースを表現するデータ管理部などが含まれている。
【００５５】
デバイス制御層１０５は、デバイス（ハードウェア）を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部、プロッタ制御部、メモリ制御部、Ｔｅｌ回線制御部及びネットワーク制御部などが含まれる。各制御部は、当該制御部の名前に付けられているデバイスを制御する。
【００５６】
フィルタについてさらに詳しく説明する。図３（ｂ）は、フィルタの構成要素の一例を示す図である。図３（ｂ）に示されるように、各フィルタ１０３ａ〜ｃは、フィルタ設定用ＵＩ、フィルタロジック、フィルタ固有下位サービス及び永続記憶領域情報などにより構成されている。このうち、フィルタ設定用ＵＩ、フィルタ固有下位サービス及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
【００５７】
フィルタ設定用ＵＩは、フィルタの実行条件などを設定させるための画面を表示部１７などに表示させるプログラムである。例えば、読取フィルタであれば、解像度、濃度、画像種別などを設定させる画面が相当する。なお、表示部１７の表示がＨＴＭＬ（HyperText Markup Language）データやスクリプトに基づいて行われることを考えると、フィルタ設定用ＵＩはＨＴＭＬデータやスクリプトであってもよい。
【００５８】
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスやデバイスサービス層１０４又はデバイス制御層１０５などを利用して、フィルタ設定用ＵＩを介して設定された実行条件に応じてフィルタの機能を実現する。例えば、読取フィルタであれば、原稿読み取り部２０による原稿の読み取り制御のためのロジックが相当する。
【００５９】
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能（ライブラリ）である。すなわち、デバイスサービス層１０４又はデバイス制御層１０５に相当する機能であるが、他のフィルタから使用されないものについては、フィルタの一部として実装されてもよく、当該一部がフィルタ固有下位サービスに相当する。例えば、読取フィルタであれば、原稿読み取り部２０を制御するための機能が相当するが、本実施形態では、デバイス制御層１０５においてスキャナ制御部として実装されている。従って、読取フィルタにおいて、フィルタ固有下位サービスの実装は必ずしも必要ではない。
【００６０】
永続記憶領域情報は、フィルタに対する設定情報（例えば「実行条件のデフォルト値」）など、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部に登録される。
【００６１】
《基本処理手順》
次に、本実施形態のソフトウェア構成により実行される基本処理手順について用いて説明する。図４及び図５は、本発明の第１の実施形態に係る画像処理装置の基本処理手順の一例（その１、その２）を示すフローチャートである。ここで言う、「基本処理手順」とは、画像処理装置１００が１つの機能を実現する際の処理手順ことを示す。
【００６２】
まず、利用者によって入力フィルタ１０３ａが選択され（ステップＳ１１）、選択された入力フィルタ１０３ａの実行条件が設定される（ステップＳ１２）。同様に、加工フィルタ１０３ｂ又は出力フィルタ１０３ｃについても選択が行われ（ステップＳ１３）、フィルタ間の接続が指定され（ステップＳ１４）、実行条件が設定される（ステップＳ１５）。
【００６３】
ここで、ステップＳ１１からＳ１５の処理手順の中で利用者が行う操作例について簡単に説明しておく。上記の操作は、ユーザインタフェース層１０１のローカルＵＩ部の制御の基、例えば、後述する図８に示したような入力・加工・出力の各フィルタ１０３ａ〜ｃの設定画面３１ｂが表示されたＵＩを介して行われる。
【００６４】
図８の入力画面は、図中の破線で示す「入力」、「加工」及び「出力」などの各選択領域により構成されている。「入力」は、入力フィルタ１０３ａを選択する領域であり、「加工」は、加工フィルタ１０３ｂを選択する領域であり、「出力」は、出力フィルタ１０３ｃを選択する領域である。それぞれの選択領域において、選択するソフトウェアキーが用意されている。図中には、「入力」に読み取りと保管文書の入力フィルタ１０３ａ、また、「加工」に文書加工と文書変換の加工フィルタ１０３ｂ、さらに、「出力」に印刷、保管及び送信の出力フィルタ１０３ｃの各ソフトウェアキーが用意されている例が示されている。
【００６５】
なお、入力フィルタ１０３ａ、加工フィルタ１０３ｂ、及び出力フィルタ１０３ｃは、１つの機能に対してそれぞれ複数個の選択が可能である。例えば、文書変換した文書データを印刷及び送信する際に、変換後の文書データを用紙へ印刷するとともに電子メールやＦＡＸを用いて特定の宛先へデータ送信すると言ったように、２つの出力フィルタ１０３c（印刷フィルタ及びメール送信フィルタ）が選択されることになる。
【００６６】
図４に戻り、フィルタの選択が完了し（ステップＳ１６：ＹＥＳ）、スタートボタンが押下されると、ユーザインタフェース層１０１からコントロール層１０２に対して、要求内容（例えば「フィルタの種別と当該フィルタに対する設定情報」など）が通知される。
【００６７】
コントロール層１０２は、ユーザインタフェース層１０１からの要求内容を受けて、選択された各フィルタ１０３ａ〜ｃ間をパイプによって接続する（ステップＳ１７）。パイプの実体はメモリ（補助記憶部１３も含む。）であるが、パイプの両端のフィルタに応じて利用するメモリの種類が異なり、その対応関係は、例えば、画像処理装置１００の補助記憶部１３内に予め定義されている。従って、コントロール層１０２は、定義された対応関係に基づいて、各フィルタ１０３ａ〜ｃ間を特定のパイプで接続する。
【００６８】
続いて、コントロール層１０２は、各フィルタ１０３ａ〜ｃに対して並列的に実行要求を出力する（ステップＳ１８）。すなわち、フィルタの呼び出しはフィルタの接続順ではなく、全てのフィルタに対してほぼ同時に行われる。フィルタ間の同期はパイプによってとられるからである。すなわち、コントロール層１０２からの実行要求を受けて、各フィルタ１０３ａ〜ｃは、自分の入力側のパイプにデータが入力されるまで待機する。但し、入力フィルタ１０３ａには、入力側にパイプは存在しない。従って、入力フィルタ１０３ａは実行要求に応じて処理を開始する。
【００６９】
図５に移って、まず、入力フィルタ１０３ａは、入力デバイスよりデータを入力し（ステップＳ２１）、当該データを、出力側に接続されているパイプに出力する（ステップＳ２２）。なお、データが複数回に分けて入力される場合（例えば「複数枚の原稿がスキャンされる場合」など）は、データの入力とパイプへの出力が繰り返される。全ての入力データについて処理が終了すると（ステップＳ２３：ＹＥＳ）、入力フィルタ１０３Ａａの処理は終了する。
【００７０】
加工フィルタ１０３ｂは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み（ステップＳ３１）、データに対して画像処理を施す（ステップＳ３２）。続いて、処理結果としてのデータを出力側に接続されているパイプに出力する（ステップＳ３３）。入力側のパイプに入力された全てのデータについて処理が終了すると（ステップＳ２４：ＹＥＳ）、加工フィルタ１０３ｂの処理は終了する。
【００７１】
出力フィルタ１０３ｃは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み（ステップＳ４１）。続いて、読み込まれたデータを出力デバイスを利用して出力する（ステップＳ４２）。入力側のパイプに入力された全てのデータについて処理が終了すると（ステップＳ４３：ＹＥＳ）、出力フィルタ１０３ｃの処理は終了する。
【００７２】
＜マクロ定義されるワークフロー＞
次に、これまで説明した「パイプ＆フィルタ」のソフトウェア構成及び基本処理手順を踏まえて、本実施形態が想定している画像処理装置１００が有するコピー、ファックス、スキャナ、プリンタなどの機能を利用したワークフローの構成要素について説明する。
【００７３】
図６は、本発明の第１の実施形態に係るワークフローの構成要素の一例を示す図である。一般的に、ワークフローは、手続き上の作業手順を規定し、規定された作業手順に従って、業務を円滑に遂行することを目的とした流れになっている。
【００７４】
このことから、本実施形態では、少なくとも１つ以上の作業手順からなる作業工程の組み合わせで構成されるワークフローを想定している。例えば、画像処理装置１００が有するコピー機能について考えてみると、「原稿読み取り→画像処理→印刷」と言う「入力→加工→出力」の作業手順が自動的に行われる。そのため、コピー機能も１つのアクティビティ（作業工程）となる。また、画像処理装置１００が有する機能を利用したワークフローを考えてみると、例えば、原稿を読み取り、読み取った原稿を印刷及び送信する際のワークフローは、コピー機能とファクシミリ機能との２つのアクティビティから構成される。
【００７５】
このように、画像処理装置１００が有する機能を利用したワークフローは、図６に示すように、画像処理装置１００の基本動作である「入力→加工→出力」が作業手順に相当し、これらの作業手順からなるアクティビティが組み合わされて構成（少なくとも1つ以上のアクティビティで構成）される。
【００７６】
このようなワークフローを、「パイプ＆フィルタ」のソフトウェア構成において実行する場合、アクティビティを構成する「入力→加工→出力」の各作業手順は、入力・加工・出力の各フィルタ１０３ａ〜ｃによって実現される。
【００７７】
本実施形態では、このようなワークフローを構成するアクティビティ（機能）、さらにアクティビティを構成するフィルタ（機能部品）などに関する情報を含むマクロ情報を、画像処理装置１００に登録し、必要に応じて登録したマクロ情報を読み出し、読み出したマクロ情報を基に、登録マクロを実行することでワークフローを実現可能である。
【００７８】
＜マクロ情報管理機能＞
ここからは、本実施形態に係る画像処理装置１００が、「どのようにマクロ登録を行い、かつ登録マクロを管理するのか」について説明する。画像処理装置１００は、マクロ登録・登録マクロ管理などを行うマクロ情報管理機能を有している。
【００７９】
《構成》
図７は、本発明の第１の実施形態に係るマクロ情報管理機能の機能構成例を示す図である。本実施形態に係るマクロ情報管理機能は、マクロ登録するマクロ登録部５３と、登録マクロを管理する登録マクロ構成管理部５４とから構成される。以下に、上記各機能部について順に説明する。
【００８０】
《マクロ登録部》
マクロ登録部５３は、主にマクロ条件格納部５３１とマクロ情報構成部５３２とを有している。
【００８１】
マクロ条件格納部５３１は、アクティビティ、入力・加工・出力の各フィルタ１０３ａ〜ｃのパラメータである各マクロ条件の設定を、補助記憶部１３の所定の記憶領域に格納する。
【００８２】
（マクロ条件設定）
ここで、画像処理装置１００が利用者に提供する登録マクロの動作条件設定環境について説明する。
【００８３】
入力・加工・出力の各フィルタ１０３ａ〜ｃは、アクティビティ、入力・加工・出力の各フィルタ１０３ａ〜ｃの各種動作条件を入力するＵＩ部６１を生成する画面生成部５１と、画面生成部５１が生成したＵＩ画面を介して入力された動作条件を受け取り、マクロ条件として設定するマクロ条件設定部５２とを有している。
【００８４】
図８は、本発明の第１の実施形態に係るマクロ登録時の利用者インタフェースの画面表示例を示す図である。例えば、図８に示すように、画面生成部５１が、アプリケーション選択画面３１から表示指示されたコピーアクティビティ画面３１ａやマルチアクティビティ画面３１ｂなどのＵＩ部６１を生成する。
【００８５】
画面生成部５１は、設定可能な動作条件項目を基に、動作条件を入力するＵＩ部６１を生成するために必要な画面要素（表示部品）を作成し、作成した画面要素を基に、動作条件を入力するＵＩ部６１全体を生成する。
【００８６】
設定可能な動作条件項目は、アプリケーション選択画面３１から選択された「特定のアクティビティ（基本的な機能）」か、「マルチアクティビティ（作業工程の組み合わせた機能）」かの違いによって異なる。そのため、画面生成部５１は、設定可能な動作条件項目を基に画面要素を生成する構成としている。
【００８７】
入力・加工・出力の各フィルタ１０３ａ〜ｃが有する画面生成部５１は、それぞれの動作条件を入力する画面要素を作成し、作成した各画面要素をアクティビティが有する画面生成機能に渡す。アクティビティの画面生成機能は、各画面要素を基に、ＵＩ部６１全体を生成する。
【００８８】
但し、このようなＵＩ画面生成は、例えばコピーアクティビティなどのように、予め、アクティビティを構成する入力・加工・出力の各フィルタ１０３ａ〜ｃが決定している場合である。例えば、マルチアクティビティのような、アクティビティを構成する入力・加工・出力の各フィルタ１０３ａ〜ｃが未決定の場合には、マルチアクティビティの画面生成機能が、図９に示すような、アクティビティを構成する入力・加工・出力の各フィルタ１０３ａ〜ｃを選択可能なマルチアクティビティ画面３１ｂを生成する。
【００８９】
図９は、本発明の第１の実施形態に係るマルチアクティビティの画面表示例を示す図である。図９に示すマルチアクティビティ画面３１ｂは、図８に示すアプリケーション選択画面３１の［マルチ］ボタンが押下されると、表示部１７に表示される。利用者は、表示された入力・加工・出力の各フィルタ１０３ａ〜ｃを選択し、マルチアクティビティのアプリケーション定義を行う。図９では、マルチアクティビティを構成するフィルタとして入力フィルタ１０３ａの保管文書フィルタ、加工フィルタ１０３ｂの文書変換フィルタ、出力フィルタ１０３ｃの印刷フィルタが、アプリケーション定義として選択された例が示されている。
【００９０】
マクロ条件設定部５２は、マルチアクティビティの設定を受け付けた場合、マルチアクティビティを構成するフィルタとして選択された入力・加工・出力の各フィルタ１０３ａ〜ｃの名称などの各フィルタ１０３ａ〜ｃを識別するフィルタ識別情報を取得する。
【００９１】
このように、マクロ条件設定部５２は、画面生成部５１により生成されたＵＩ部６１から入力された、マルチアクティビティを構成するフィルタ識別情報や、各フィルタ１０３ａ〜ｃの動作条件の値を設定値として取得し、主記憶部１２のＲＡＭ上に一時保持する。
【００９２】
（マクロ条件保管）
マクロ条件格納部５３１は、ＵＩ部６１を介してマクロ登録実行要求を受け付けると、その要求に応じて、マクロ条件設定部５２がＲＡＭ上に保持しておいた、アクティビティ、入力・加工・出力の各フィルタ１０３ａ〜ｃの各種動作条件に基づいたマクロ条件の設定値を、マクロ情報４１内の該当データ項目に格納する。すなわち、マクロ条件の設定値を、補助記憶部１３などに格納し、永続的に保管する（マクロ条件のデータを永続化する）。
【００９３】
マクロ条件格納部５３１は、マクロ条件設定部５２により設定された、入力・加工・出力の各フィルタ１０３ａ〜ｃのフィルタ条件、アクティビティのアクティビティ条件などのマクロ条件を、マクロ情報４１内のマクロ条件のレコードに書き込む。その際、マクロ条件格納部５３１は、フィルタ識別情報と、アクティビティ条件ＩＤやフィルタ条件ＩＤなどの各フィルタ１０３ａ〜ｃに対応するマクロ条件を識別するための条件識別情報とを書き込む。
【００９４】
（マクロ情報構成）
マクロ情報構成部５３２は、前述したマクロ条件格納部５３１により保管された、アクティビティ、入力・加工・出力の各フィルタ１０３ａ〜ｃのマクロ条件を含むマクロ情報４１を構成する。
【００９５】
マクロ情報構成部５３２は、ＵＩ部６１を介してマクロ情報４１の構成及び保管要求を受け付けると、その要求に従って、登録マクロを識別するマクロ識別情報と、フィルタ識別情報及び条件識別情報からなるマクロ構成情報とを基に、マクロヘッダ情報を構成する。
【００９６】
マクロ情報構成部５３２が、上記マクロヘッダ情報を構成することにより、画像処理装置１００において、マクロ実行時に、実行する登録マクロの特定と、実行する各フィルタ１０３ａ〜ｃやその動作条件を取得することができ、要求に応じたマクロ実行を行うことができる。
【００９７】
マクロ情報構成部５３２は、マクロヘッダ情報と、前述したマクロ条件格納部５３１により保管されたマクロ条件からなるマクロボディ情報とを対応付けることで、１つの登録マクロに対応するマクロ情報４１を構成し、構成したマクロ情報４１を保管する（永続化する）。
【００９８】
（マクロ情報）
図１０は、本発明の第１の実施形態に係る登録されるマクロ情報４１の一例を示す図である。マクロ情報構成部５３２は、例えば図１０に示すようなマクロ情報４１を構成する。図１０には、図９を用いて前述したマルチアクティビティ画面３１ｂを介して設定されたマクロ情報４１の例が示されている。
【００９９】
マクロ情報４１は、主にマクロヘッダ情報とマクロボディ情報とから構成される。
【０１００】
マクロヘッダ情報は、マクロＩＤ、マクロ名称、マクロ作成者名、アクセス制御リストと言った登録マクロの属性情報と、マクロ実行時に利用する入力・加工・出力の各フィルタ１０３ａ〜ｃ（以下、「利用フィルタ」と言う。）を識別するフィルタ識別情報、及びこれら利用フィルタの利用条件を識別する条件識別情報からなるマクロ構成情報４１１とから構成される。
【０１０１】
また、マクロボディ情報は、前述した所定のＵＩ部６１を介して設定されたマクロ条件、すなわち、各利用フィルタの動作条件の設定値から構成される。
【０１０２】
このようなマクロ情報４１が、登録マクロごとに補助記憶部１３に保持され、画像処理装置１００に登録される。これにより、画像処理装置１００では、必要に応じて登録したマクロ情報４１を読み出し、読み出したマクロ情報４１を基に、登録マクロを実行することでワークフローを実現する。
【０１０３】
次に、上記マクロ登録部５３によるマクロ登録時の動作について説明を行う。なお、以下に説明する処理手順は、例えば主記憶部１２のＲＯＭに予め格納しておいたマクロ情報管理プログラムを、ＲＡＭに読み出し、制御部１１であるＣＰＵにより実行することで、実現される。
【０１０４】
《マクロ登録時の動作》
図１１は、本発明の第１の実施形態に係るマクロ登録の処理手順の一例を示すフローチャートである。
【０１０５】
画像処理装置１００は、ＵＩ部６１のコピーアクティビティ画面３１ａやマルチアクティビティ画面３１ｂなどのような設定画面を介して、マクロ自身である対象コンポーネントのアクティビティや、アクティビティを構成する対象コンポーネントから利用される利用フィルタなどの動作条件設定を受け付ける（ステップＳ１０１〜Ｓ１０２）。
【０１０６】
画像処理装置１００は、ＵＩ部６１からマクロ登録要求を受け付けるまで（［マクロ登録］ボタンが押下されるまで）、各種条件設定を行う画面を表示部１７に表示する（ステップＳ１０３）。
【０１０７】
画像処理装置１００は、マクロ登録要求を受け付けると（［マクロ登録］ボタンの押下を検知すると）、ＵＩ部６１をマクロパラメータ設定画面に切り替え、マクロパラメータ設定画面を介して、マクロＩＤ、マクロ名称、及びマクロ作成者などのマクロの属性情報（マクロパラメータ）を受け付ける（ステップＳ１０４）。
【０１０８】
画像処理装置１００は、ＵＩ部６１からマクロ登録実行要求を受け付けるまで（［マクロ登録実行］ボタンが押下されるまで）、属性情報設定を行う画面を表示部１７に表示する（ステップＳ１０５）。
【０１０９】
画像処理装置１００は、マクロ登録実行要求を受け付けると（［マクロ登録実行］ボタンの押下を検知すると）、ステップＳ１０１で設定した利用フィルタの動作条件設定をマクロ条件として、マクロ情報４１のマクロボディ情報における各フィルタ条件のレコードに書き込み、補助記憶部１３に格納し永続化する（ステップＳ１０６）。
【０１１０】
画像処理装置１００は、マクロ条件を補助記憶部１３に格納する際に発行される、マクロ条件を識別する条件識別情報（マクロ条件ＩＤ）を、マクロ条件が対応する利用フィルタと対応付けて設定する（ステップＳ１０７）。
【０１１１】
画像処理装置１００は、永続的に保管するマクロ条件を、登録されるアクティビティや利用フィルタの属性情報として、対応するアクティビティや利用フィルタの各コンポーネント名（アクティビティ名やフィルタ名）とともに、マクロ登録の構成を示す登録データ構成情報に追加登録し、情報を更新する（ステップＳ１０８）。
【０１１２】
画像処理装置１００は、アクティビティを構成する全ての利用フィルタの動作条件設定が、補助記憶部１３の格納され、かつ条件識別情報が発行されたか否かを判断する（ステップＳ１０９）。
【０１１３】
ステップＳ１０９の判定において、全ての利用フィルタの動作条件設定を格納し、条件識別情報が発行したと判断された場合には（ステップＳ１０９：ＹＥＳ）、ステップＳ１０２で設定したアクティビティの動作条件設定をマクロ条件（アクティビティ条件）として、マクロボディ情報のアクティビティ条件のレコードに書き込み、補助記憶部１３に格納し永続化する（ステップＳ１１０）。
【０１１４】
その後、画像処理装置１００は、条件識別情報を、マクロ条件が対応するアクティビティと対応付けて設定する（ステップＳ１１１）。
【０１１５】
一方、ステップＳ１０９の判定において、全ての利用フィルタの動作条件設定を格納し、条件識別情報が発行したと判断されなかった場合には（ステップＳ１０９：ＮＯ）、ステップＳ１０６の処理手順に戻り、全ての利用フィルタの動作条件設定が格納され、条件識別情報が発行されるまで処理を繰り返す。
【０１１６】
《登録マクロ構成管理部》
登録マクロ構成管理部５４は、登録マクロ（対象コンポーネントであるアクティビティ）を構成する機能部品の削除、すなわち、入力、加工、出力の少なくとも１つのフィルタ１０３ａ〜cが削除（アンインストール）されると、マクロ登録時に補助記憶部１３の所定の記憶領域に格納されたマクロ情報４１のうち、削除されるフィルタ（以下、「削除フィルタ」と言う。）が、マクロ実行時に利用される利用フィルタとして設定されているマクロ情報４１を特定する。
【０１１７】
また、登録マクロ構成管理部５４はマクロ再構成部５４１を有しており、マクロ再構成部５４１によって、特定されたマクロ情報４１の登録情報を変更（編集）して再構成を行う。
【０１１８】
つまり、登録マクロ構成管理部５４は、画像処理装置１００に導入（インストール）されている入力、加工、出力の少なくとも１つフィルタの利用可否状態（利用可能か否か）に応じて、フィルタの削除（以下、「フィルタ削除」と言う。）に伴いマクロの実行が不可能な登録マクロを再構成する。
【０１１９】
そのため、登録マクロ構成管理部５４は、マクロ情報４１のマクロ構成情報４１１に基づき、フィルタ削除に伴い登録マクロの再構成が必要か否かを判断し、再構成が必要と判断された場合に、マクロ再構成部５４１により、該当したマクロ情報４１の再構成を行う。
【０１２０】
また、上記判断は、マクロ構成情報４１１に、削除フィルタがマクロ実行時の利用フィルタとして設定されているか否かで判断する。
【０１２１】
（登録マクロと利用フィルタとの対応関係）
図１２は、本発明の第１の実施形態に係る登録マクロと利用フィルタとの関係を示す図である。画像処理装置１０では、前述したマクロ登録部５３により、利用者がＵＩ部６１を介して設定したマクロ実行時の利用フィルタとその動作条件が、マクロ情報４１として、格納先である補助記憶部１３の所定の記憶領域に格納される。
【０１２２】
図１２には、このようにして格納された各マクロ情報４１と、各マクロ情報４１に設定される利用フィルタとの対応関係の一例が示されている。
【０１２３】
図１２に示す例では、画像処理装置１００に、コピーアクティビティ（コピー機能）に関するマクロ情報４１が４つ登録されている。
【０１２４】
マクロ名「マクロ−Ａ」は、入力フィルタ１０３ａにあたる保管文書フィルタ及び読み取りフィルタと、出力フィルタ１０３ｃにあたる印刷フィルタ及び保管フィルタの４つが、利用フィルタとして設定されている。また、マクロ名「マクロ−Ｂ」は、入力フィルタ１０３ａにあたる保管文書フィルタ及び読み取りフィルタと、出力フィルタ１０３ｃにあたる印刷フィルタの３つが、利用フィルタとして設定されている。
【０１２５】
さらに、マクロ名「マクロ−Ｃ」は、入力フィルタ１０３ａにあたる読み取りフィルタと、出力フィルタ１０３ｃにあたる保管フィルタの２つが、利用フィルタとして設定されている。また、マクロ名「マクロ−Ｄ」は、入力フィルタ１０３ａにあたる保管文書フィルタと、出力フィルタ１０３ｃにあたる印刷フィルタ及び保管フィルタの３つが、利用フィルタとして設定されている。
【０１２６】
このような登録マクロの構成では、入力フィルタ１０３ａの保管文書フィルタが、「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」の実行時に利用され、入力フィルタ１０３ａの読み取りフィルタが、「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｃ」の実行時に利用される。また、出力フィルタ１０３ｃの印刷フィルタが、「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」の実行時に利用され、出力フィルタ１０３ｃの保管フィルタは、「マクロ−Ａ」、「マクロ−Ｃ」、及び「マクロ−Ｄ」の実行時に利用される。
【０１２７】
前述したように、画像処理装置１０が有する入力・加工・出力の各フィルタ１０３ａ〜ｃは、複数の登録マクロから共通して利用される機能部品であることから、１つのフィルタを削除しただけでも、その削除フィルタが、マクロ実行時の利用フィルタとしてマクロ情報４１に設定されていると、登録マクロを管理・実行する環境に悪影響を及ぼすこととなる。
【０１２８】
例えば、フィルタ削除に伴い実行不可能なマクロが登録されたままの状態となることから、マクロ情報４１が格納される補助記憶部１３の所定の記憶領域の容量（記憶リソース）を無駄に消費する点や、利用可能なフィルタを用いて実行可能な工程までマクロを動作するために、マクロ情報４１を再設定する必要がある点が挙げられる。
【０１２９】
このことから、マクロ情報管理機能では、利用フィルタが削除（アンインストール）された場合に、登録マクロを再構成することで、前述したような影響がでないようにする。
【０１３０】
ここからは、上記登録マクロ構成管理部５４が、「どのようにしてフィルタ削除に対応しているのか」について、関連する各機能部間の処理手順を基に説明を行う。なお、以下に説明する処理手順は、例えば主記憶部１２のＲＯＭに予め格納しておいたマクロ情報管理プログラムを、ＲＡＭに読み出し、制御部１１であるＣＰＵにより実行することで実現される。
【０１３１】
《フィルタ削除時の動作》
図１３は、本発明の第１の実施形態に係るフィルタ削除に対応する処理手順の一例を示すフローチャートである。
【０１３２】
画像処理装置１００は、入力、加工、出力の少なくとも１つのフィルタ１０３ａ〜cが削除（アンインストール）されると、登録マクロ構成管理部５４によって、マクロ情報４１の格納先である補助記憶部１３にアクセスし、登録マクロが存在するか否か（マクロ情報４１が格納されているか否か）を判定する。（ステップＳ２０１）。このとき、登録マクロ構成管理部５４は、マクロ登録時に各マクロ情報４１に採番された登録番号（登録順を表す情報）に基づき、登録番号１（採番の初期値）から対応する登録マクロが存在するか否かを判定する。
【０１３３】
ステップＳ２０１の判定において、登録マクロが存在しないと判断された場合には（ステップＳ２０１：ＮＯ）、再構成を行う対象のマクロが存在しないとして、図に示す処理を終了する。
【０１３４】
一方、ステップＳ２０１の判定において、登録マクロが存在すると判断された場合には（ステップＳ２０１：ＹＥＳ）、該当したマクロ情報４１に、削除フィルタが利用フィルタとして設定されているか否かを判定する。すなわち、参照中の登録番号に対応するマクロ情報４１の利用フィルタの設定に、削除フィルタが含まれているか否かを判定する（ステップＳ２０２）。このとき、登録マクロ構成管理部５４は、マクロ情報４１のマクロ構成情報４１１を参照し、利用フィルタを識別するフィルタ識別情報の項目に、削除フィルタの情報が設定されているか否かを判定する。
【０１３５】
ステップＳ２０２の判定において、削除フィルタが利用フィルタとして設定されていると判断された場合には（ステップＳ２０２：ＹＥＳ）、参照中の登録番号に対応する登録マクロを再構成する（ステップＳ２０３）。
【０１３６】
一方、ステップＳ２０２の判定において、削除フィルタが利用フィルタとして設定されていないと判断された場合には（ステップＳ２０２：ＮＯ）、参照先の登録番号をインクリメントし（登録番号を１つ進めて）、再びステップＳ２０１の処理手順へ進み（ステップＳ２０４）、登録マクロの再構成処理を継続する。
【０１３７】
《マクロ再構成時の動作》
図１４は、本発明の第１の実施形態に係るマクロを再構成する処理手順の一例を示すフローチャートである。本実施形態では、前述したステップＳ２０３で実行する「登録マクロの再構成処理」として２つの処理方法を提案する。これら２つの処理方法を、図１４の（Ａ）及び（Ｂ）に示す。
【０１３８】
（利用フィルタ設定削除）
図１４（Ａ）に示すように、前述したステップＳ２０３の処理手順において、登録マクロ構成管理部５４は、マクロ再構成部５４１によって、マクロ情報４１のマクロ構成情報４１１から、削除フィルタと一致する利用フィルタの設定を削除する。すなわち、再構成フィルタと一致したマクロ構成情報４１１のフィルタ識別情報の設定データを削除し、削除フィルタと対応関係（利用関係）のないマクロ情報４１の内容に変更することで再構成を行う（ステップＳ３０１）。
【０１３９】
（マクロ削除）
一方、図１４（Ｂ）に示すように、前述したステップＳ２０３の処理手順において、登録マクロ構成管理部５４は、マクロ再構成部５４１によって、削除フィルタが利用フィルタとして設定されているマクロ情報４１を削除する。すなわち、該当するマクロ情報４１を、格納先の補助記憶部１３から削除する（ステップＳ４０１）。
【０１４０】
以下に、前述した「利用フィルタ設定削除」と「マクロ削除」それぞれの方法による再構成後の登録マクロ例について説明する。
【０１４１】
《動作例》
図１５及び図１６には、本発明の第１の実施形態に係る再構成後の登録マクロ例（その１及び２）が示されている。図１５は、上記利用フィルタ設定削除の再構成処理に対応し、また図１６は、上記マクロ削除によるマクロ再構成に対応している。
【０１４２】
図１５と１６では、コピー機能であるコピーアクティビティに関するマクロを構成する入力フィルタ１０３ａと出力フィルタ１０３ｃの複数の利用フィルタ（保管文書、読み取り、印刷、保管の各フィルタ）のうち、入力フィルタ１０３ａの保管文書フィルタが削除された場合の再構成後の例が示されている。
【０１４３】
（利用フィルタ設定削除）
図１５に示すように、保管文書フィルタは、登録マクロである「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１に利用フィルタとして設定されている。
【０１４４】
このような登録マクロの構成において、保管文書フィルタが削除され、利用フィルタ設定削除の再構成処理が行われると、「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１のマクロ構成情報４１１から、削除フィルタである保管文書フィルタの設定が削除され、該当する登録マクロが再構成される。
【０１４５】
また、図１５からも明らかなように、利用フィルタ設定削除の再構成処理では、マクロ情報４１自体を削除するものではなく、あくまでもマクロ構成情報４１１の設定情報を削除するものである。
【０１４６】
よって、マクロ再構成時に、上記利用フィルタ設定削除の再構成処理を行うことにより、再構成後には、利用可能なフィルタのみ設定されているマクロ情報４１を用いて、実行可能な工程まで登録マクロを動作させることができる。これにより、マクロ情報４１の再設定などの手間を省くことができる（設定済みのマクロ情報４１を有効に利用することができる）。
【０１４７】
（マクロ削除）
一方、図１６に示すように、保管文書フィルタが削除され、マクロ削除の再構成処理が行われると、削除フィルタである保管文書フィルタが、利用フィルタとして設定されている「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１が削除され、該当する登録マクロが再構成される。
【０１４８】
また、図１６からも明らかなように、マクロ情報４１自体を削除するものである。
【０１４９】
よって、マクロ再構成時に、上記マクロ削除の再構成処理を行うことにより、再構成後には、格納先である補助記憶部１３において余分に消費していた記憶領域を開放することができる。これにより、登録マクロを管理する環境として、有限な記憶リソースを効率よく使用することができる。
【０１５０】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る画像処理装置１００は、当該画像処理装置１００が有する機能を構成する機能部品（入力・加工・出力の各フィルタ１０３ａ〜ｃ）が、当該装置から削除（アンインストール）されると、削除対象の機能部品（削除フィルタ）が、マクロ実行時に利用される機能部品（利用フィルタ）か否かを判断する。
【０１５１】
続いて画像処理装置１００は、削除対象の機能部品が、マクロ実行時に利用される機能部品であると判断した場合に、その削除対象の機能部品が、マクロ動作時に利用する機能部品として設定されているマクロ情報４１の設定内容を変更、又は、利用される機能部品として設定されているマクロ情報４１自体を削除し、登録マクロの再構成を行う。
【０１５２】
これによって、画像処理装置１００は、マクロ実行時に利用する機能の利用可否状態に応じて、登録マクロを再構成できる。
【０１５３】
以上のように、本実施形態に係る画像処理装置１００は、機能部品の削除に伴い実行不可能な登録マクロのマクロ情報４１による記憶リソース（マクロ情報４１の格納先である補助記憶部１３の記憶領域）の無駄な消費を防ぎ（有限な記憶領域の容量を効率よく活用でき）、かつ機能部品の削除に伴う登録マクロの再設定作業（マクロ情報４１の設定変更作業）の手間を省くことができる。
【０１５４】
［第２の実施形態］
第１の実施形態では、機能部品の削除に伴う登録マクロの再構成処理について、２つの処理方法を提案したが、本実施形態では、所定の条件に従って、これら２つの処理方法を有効に使い分ける。
【０１５５】
第１の実施形態において説明を行ったが、画像処理装置が有する機能は、パイプ＆フィルタアーキテクチャを基に、入力・加工・出力の各機能部品（フィルタ）から構成される。
【０１５６】
パイプ＆フィルタアーキテクチャでは、入力から出力までの一連の作業工程を、動作する機能単位とするため、上記アーキテクチャを基に１つの機能（アクティビティ）を構成するためには、少なくとも入力と出力の２つの機能部品が必要となる。
【０１５７】
このことから、削除対象の機能部品（削除フィルタ）が、入力・加工・出力のどの機能分類の属しているかによって、削除対象の機能部品をマクロ実行時に利用する登録マクロの再構成の処理方法を変えて対応することが望ましい。
【０１５８】
例えば、入力の機能分類に属する機能部品の場合には、機能を実現するための最初の工程であることから、その機能部品自体が削除されると、機能部品を利用する登録マクロが意味を成さなくなる。
【０１５９】
また、出力の機能分類に属する場合には、機能を実現するための最後の工程であることから、削除対象以外の機能部品が、利用する機能部品としてマクロ情報に設定されていれば、代替処理などにより対応可能である。よって、出力の機能分類に属する機能部品の設定がマクロ情報から全て削除されると、機能部品を利用する登録マクロが意味を成さなくなる。
【０１６０】
そこで、本実施形態では、削除対象の機能部品が、入力・加工・出力のどの機能分類の属しているかに応じて、登録マクロの再構成を行う。
【０１６１】
以降に、上記本実施形態に係る画像処理装置について説明するが、本実施形態と第１の実施形態との違いは、前述した技術的事項のみであることから、それ以外の事項については、第１の実施形態と同一図面及び同一符号を参照し、ここでの説明を省略する。
【０１６２】
＜マクロ情報管理機能＞
《構成》
図１７は、本発明の第２の実施形態に係るマクロ情報管理機能の機能構成例を示す図である。本実施形態に係るマクロ情報管理機能において、第１の実施形態に係るマクロ情報管理機能と異なる構成要素は、登録マクロ構成管理部５４が有する条件判定部５４２である。
【０１６３】
条件判定部５４２は、マクロ再構成部５４１で行うマクロの再構成処理において、利用フィルタ設定削除による再構成処理、又はマクロ削除による再構成処理のどちらの処理を行うかを決定するための所定の条件判定を行う。ここで言う「所定の条件判定」とは、まず、削除フィルタの種別判定（削除対象の機能部品が属する機能分類判定）と、画像処理装置１００が有する出力フィルタ１０３ｃの存在有無判定（出力機能に属する機能部品の存在有無判定）である。
【０１６４】
（種別判定）
条件判定部５４２は、削除フィルタが、出力フィルタ（出力機能に属する機能部品）１０３ｃの種別（出力機能）と同じ種別か否かを判定する。このときの判定方法としては、例えば、削除フィルタが有する属性情報を読み取り、読み取った情報を基に種別を判定する例が挙げられる。
【０１６５】
（設定有無判定）
条件判定部５４２は、前述した種別判定において、削除フィルタが、出力フィルタ１０３ｃと同じ種別であると判定された場合に、削除フィルタ以外の出力フィルタ１０３ｃが、マクロ情報４１の利用フィルタとして設定されているか否かを判定する。
【０１６６】
これにより、登録マクロ構成管理部５４は、条件判定部５４２の種別判定において、削除フィルタが出力フィルタ１０３ｃの種別と異なる（入力フィルタ１０３ａ又は加工フィルタ１０３ｂのどちらか一方の種別と一致する）と判定された場合に、マクロ再構成部５４１へ、マクロ削除による再構成処理を指示する。
【０１６７】
一方、条件判定部５４２の種別判定において、削除フィルタが出力フィルタ１０３ｃの種別と一致すると判定され、さらに設定有無判定において、削除フィルタ以外の出力フィルタ１０３ｃが、マクロ情報４１の利用フィルタとして設定されていると判定された場合には、マクロ再構成部５４１へ、利用フィルタ設定削除による再構成処理を指示する。また、削除フィルタが出力フィルタ１０３ｃの種別と一致すると判定され、削除フィルタ以外の出力フィルタ１０３ｃが設定されていないと判定された場合には、マクロ再構成部５４１へ、マクロ削除による再構成処理を指示する。
【０１６８】
以上のように、登録マクロ構成管理部５４は、条件判定部５４２による上記判定結果に基づき、マクロ再構成部５４１の再構成処理を制御する。
【０１６９】
ここからは、上記登録マクロ構成管理部５４が、「どのような条件に従い登録マクロを再構成し、フィルタ削除に対応しているのか」について、関連する各機能部間の処理手順を基に説明を行う。なお、以下に説明する処理手順は、例えば主記憶部１２のＲＯＭに予め格納しておいたマクロ情報管理プログラムを、ＲＡＭに読み出し、制御部１１であるＣＰＵにより実行することで実現される。
【０１７０】
また、以下の説明では、本実施形態の特徴とである登録マクロの再構成処理についてのみ説明し、登録マクロ構成管理部５４によるフィルタ削除時の基本処理手順は、図１３を参照し、ここでの説明は省略する。
【０１７１】
《マクロ再構成時の動作》
図１８は、本発明の第２の実施形態に係るマクロを再構成する処理手順の一例を示すフローチャートである。図１８には、図１３のステップＳ２０３で行われる登録マクロの再構成処理の一例が示されている。
【０１７２】
登録マクロ構成管理部５４は、条件判定部５４２によって、削除フィルタが出力フィルタ１０３ｃと同じ種別か否かの種別判定を行う（ステップＳ５０１）。
【０１７３】
ステップＳ５０１の判定において、出力フィルタ１０３ｃと同じ種別であると判断された場合には（ステップＳ５０１：ＹＥＳ）、さらに、削除フィルタ以外の出力フィルタ１０３ｃが、マクロ情報４１の利用フィルタとして設定されているか否かの設定有無判定を行う（ステップＳ５０２）。
【０１７４】
ステップＳ５０２の判定において、設定されていると判断された場合には（ステップＳ５０２：ＹＥＳ）、登録マクロ構成管理部５４が、マクロ再構成部５４１へ、マクロ情報４１のマクロ構成情報４１１から、削除フィルタと一致する利用フィルタの設定を削除する利用フィルタ設定削除を指示し、登録マクロの再構成処理を行う（ステップＳ５０３）。
【０１７５】
また、ステップＳ５０１の判定において、削除フィルタが出力フィルタ１０３ｃと異なる種別であると判断された場合（ステップＳ５０１：ＮＯ）、又は、ステップＳ５０２の判定において、削除フィルタ以外の出力フィルタ１０３ｃが設定されていないと判断された場合には（ステップＳ５０２：ＮＯ）、登録マクロ構成管理部５４が、マクロ再構成部５４１へ、削除フィルタが利用フィルタとして設定されているマクロ情報４１を削除するマクロ削除を指示し、登録マクロの再構成処理を行う（ステップＳ５０４）。
【０１７６】
以下に、前述した所定の条件に従って行ったマクロ再構成後の登録マクロ例について説明する。
【０１７７】
《動作例》
図１９から図２１には、本発明の第２の実施形態に係る再構成後の登録マクロ例（その１から３）が示されている。
【０１７８】
（条件：削除フィルタが出力フィルタと異なる種別の場合）
図１９では、コピー機能であるコピーアクティビティに関するマクロを構成する入力フィルタ１０３ａと出力フィルタ１０３ｃの複数の利用フィルタ（保管文書、読み取り、印刷、保管の各フィルタ）のうち、入力フィルタ１０３ａの保管文書フィルタが削除された場合の再構成後の例が示されている。
【０１７９】
図１９に示すように、保管文書フィルタは、登録マクロである「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１に利用フィルタとして設定されている。
【０１８０】
このような登録マクロの構成において、削除フィルタである保管文書フィルタが出力フィルタ１０３ｃと異なる種別であることから、マクロ削除の再構成処理が行われる。
【０１８１】
その結果、削除フィルタである保管文書フィルタが、利用フィルタとして設定されている「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１が削除され、該当する登録マクロが再構成される。
【０１８２】
（条件：削除フィルタが出力フィルタと同じ種別の場合）
図２０では、出力フィルタ１０３ｃの保管フィルタが削除された場合の再構成後の例が示されている。
【０１８３】
図２０に示すように、保管フィルタは、登録マクロである「マクロ−Ａ」、「マクロ−Ｃ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１に利用フィルタとして設定されている。また、「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」には、保管フィルタ以外の出力フィルタ１０３ｃ（印刷フィルタ）が設定されている。
【０１８４】
このような登録マクロの構成において、削除フィルタである保管フィルタが出力フィルタ１０３ｃと同じ種別であり、保管フィルタ以外の出力フィルタ１０３ｃが設定されていることから、利用フィルタ設定削除及びマクロ削除の両方の再構成処理が行われる。
【０１８５】
その結果、「マクロ−Ａ」及び「マクロ−Ｄ」それぞれのマクロ情報４１のマクロ構成情報４１１から、削除フィルタである保管フィルタの設定が削除され、「マクロ−Ｂ」のマクロ情報４１は、マクロ情報４１自体が削除され、該当する登録マクロが再構成される。
【０１８６】
（条件：削除フィルタが複数ある場合）
図２１では、入力フィルタ１０３ａの保管文書フィルタと出力フィルタ１０３ｃの保管フィルタの両方が削除された場合の再構成後の例が示されている。
【０１８７】
図２１に示すように、保管文書フィルタは、登録マクロである「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１に利用フィルタとして設定されており、保管フィルタは、登録マクロである「マクロ−Ａ」、「マクロ−Ｃ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１に利用フィルタとして設定されている。
【０１８８】
このような登録マクロの構成において、削除フィルタである保管文書フィルタが出力フィルタ１０３ｃと異なる種別であることから、マクロ削除の再構成処理が行われる。
【０１８９】
その結果、削除フィルタである保管文書フィルタが、利用フィルタとして設定されている「マクロ−Ａ」、「マクロ−Ｂ」、及び「マクロ−Ｄ」それぞれのマクロ情報４１が削除され、該当する登録マクロが再構成される。
【０１９０】
さらに、再構成後の登録マクロの構成において、削除フィルタである保管フィルタが出力フィルタ１０３ｃと同じ種別であり、保管フィルタ以外の出力フィルタ１０３ｃが設定されていないことから、再びマクロ削除の再構成処理が行われる。
【０１９１】
その結果、「マクロ−Ｃ」のマクロ情報４１も削除され、該当する登録マクロが再構成される。
【０１９２】
このように、マクロ情報管理機能では、マクロ再構成時に、上記条件判定を行うことにより、削除フィルタの種別に基づき、フィルタ削除に伴い、マクロ登録が意味を成すか否か（登録機能として成り立つか否か）を判断し、その判断結果に応じて、登録マクロの再構成を行うことができる。
【０１９３】
なお、図２１では、入力フィルタ１０３ａである保管文書フィルタを、出力フィルタ１０３ｃである保管フィルタより先に条件判定を行い、再構成した登録マクロ例について説明を行ったが、どちらのフィルタを先に判定してもよい。
【０１９４】
＜登録マクロ構成管理における再構成通知機能＞
本実施形態では、前述した条件結果に基づき、登録マクロの内容を変更する再構成処理と、登録マクロ自体を削除する再構成処理の２つの処理方法にて、登録マクロの再構成を行う。
【０１９５】
その中で、登録マクロ自体を削除する（マクロ情報４１を格納先である補助記憶部１３の所定の記憶領域から削除する）再構成処理の場合には、例えば、表示部１７に表示されるアプリケーション選択画面３１に、削除したマクロに関連するグラフィックパース（ＧＵＩ部品）を表示させないようにすれば、利用者にその旨を通知することができる。
【０１９６】
しかし、登録マクロの内容を変更する（マクロ情報４１の設定を変更する）再構成処理の場合には、再構成前と後でアプリケーション選択画面３１に変化がない（視覚的に変化がない）ことから、そのまま表示態様では、利用者がその旨を認知するのは困難である。
【０１９７】
そこで、本実施形態では、前述した「マクロ再構成後の処理」として、登録マクロが再構成された旨、特に登録マクロの内容を変更した旨を利用者へ通知する２つの処理方法を提案する。これら２つの処理方法を、図２２の（Ａ）及び（Ｂ）に示す。
【０１９８】
図２２は、本発明の第２の実施形態に係る再構成後の処理手順の一例を示すフローチャートである。
【０１９９】
（マクロ名称変更による通知）
図２２（Ａ）に示すように、登録マクロ構成管理部５４は、再構成の対象となった登録マクロのマクロ情報４１が、格納先である補助記憶部１３の所定の記憶領域から削除されたか否かを判定する（ステップＳ６０１）。
【０２００】
ステップＳ６０１の判定において、マクロ情報４１が削除されたと判断された場合には（ステップＳ６０１：ＹＥＳ）、図に示す処理を終了する。
【０２０１】
一方、ステップＳ６０１の判定において、マクロ情報４１が削除されていないと判断された場合には（ステップＳ６０１：ＮＯ）、マクロ情報４１のマクロ構成情報４１１に設定されているマクロ名称を示す情報を変更し、マクロ情報４１を更新する（ステップＳ６０２）。
【０２０２】
（アイコン変更による通知）
また、図２２（Ａ）に示すように、登録マクロ構成管理部５４は、再構成の対象となった登録マクロのマクロ情報４１が、格納先である補助記憶部１３の所定の記憶領域から削除されたか否かを判定する（ステップＳ７０１）。
【０２０３】
ステップＳ７０１の判定において、マクロ情報４１が削除されたと判断された場合には（ステップＳ７０１：ＹＥＳ）、図に示す処理を終了する。
【０２０４】
一方、ステップＳ７０１の判定において、マクロ情報４１が削除されていないと判断された場合には（ステップＳ７０１：ＮＯ）、マクロ情報４１と関連付けられて保持されている、アプリケーション選択画面３１に表示するグラフィックパーツ（ＧＵＩ部品）の１つである「アイコン」の画像データを変更する（ステップＳ６０２）。
【０２０５】
上記画像データの変更方法については、例えば、利用者への通知用に予め保持しておいた別の画像データに変更する方法などが一例として挙げられる。
【０２０６】
このように、マクロ情報管理機能では、マクロ再構成時に、上記通知を行うことにより、登録マクロの内容を変更する再構成処理であっても、再構成前と後でアプリケーション選択画面３１に変化が生じる（視覚的に変化が生じる）ことから、利用者がその旨を容易に認知することが可能となる。
【０２０７】
なお、図２２では、マクロ名称の変更やアイコンの変更などによる利用者への通知例について説明を行ったが、この方法に本発明が限定されるものではない。再構成による登録マクロの内容変更を、利用者が容易に認知することが可能な方法であれば、どのような方法であってもよい。
【０２０８】
＜まとめ＞
以上のように、本発明の第２の実施形態によれば、本実施形態に係る画像処理装置１００は、当該画像処理装置１００が有する機能を構成する機能部品（入力・加工・出力の各フィルタ１０３ａ〜ｃ）が、当該装置から削除（アンインストール）されると、削除対象の機能部品（削除フィルタ）が、出力の機能分類に属するか否か、また、属する場合には、削除対象の機能部品以外の機能部品が、マクロ実行時に利用する機能部品（利用フィルタ）として設定されているか否かを判断する。
【０２０９】
続いて画像処理装置１００は、これらの判断結果に基づき、その削除対象の機能部品がマクロ動作時に利用する機能部品として設定されているマクロ情報４１の設定内容を変更、又は、利用される機能部品として設定されているマクロ情報４１自体を削除し、登録マクロの再構成を行う。
【０２１０】
これによって、画像処理装置１００は、フィルタ削除後にマクロ登録が意味を成すか否か（機能提供が可能か否か）の判断結果に応じて、登録マクロの再構成を行うことができる。
【０２１１】
以上のように、本実施形態に係る画像処理装置１００は、第１の実施形態と同様の効果を奏するとともに、単に機能部品が削除されたことにより、関連する登録マクロを再構成するのではなく、登録マクロにより実現される機能が、利用者にとって有効な機能として成り立つかを判断し、最適なマクロ環境を維持することができる。
【０２１２】
［第３の実施形態］
第１の実施形態では、機能部品の削除（アンインストール）と連動して、関連する登録マクロの再構成を行うが、本実施形態では、登録マクロのマクロ実行を指示されたときに、すなわち、登録マクロが使用されたときに再構成を行う。
【０２１３】
例えば、機能部品を削除したが、再び削除した機能部品を追加（インストール）すると言ったように、画像処理装置が有するソフトウェア環境が変化した場合、機能部品の削除と連動し、関連する登録マクロを再構成する仕組みでは、再構成を行う必要がない登録マクロに対して処理することとなり、無駄な処理となる。
【０２１４】
このことから、登録マクロの再構成は、再構成を必要とするタイミングで行うのが望ましい。
【０２１５】
そこで、本実施形態では、登録マクロが使用されるタイミングで再構成を行う。
【０２１６】
以降に、上記本実施形態に係る画像処理装置について説明するが、本実施形態と第１の実施形態との違いは、前述した技術的事項のみであることから、それ以外の事項については、第１及び第２の実施形態と同一図面及び同一符号を参照し、ここでの説明を省略する。
【０２１７】
＜マクロ情報管理機能＞
《構成》
図２３は、本発明の第３の実施形態に係るマクロ情報管理機能の機能構成例を示す図である。本実施形態に係るマクロ情報管理機能において、第１の実施形態に係るマクロ情報管理機能と異なる構成要素は、登録マクロ構成管理部５４が有する再構成対象マクロ判定部５４３である。
【０２１８】
再構成対象マクロ判定部５４３は、登録マクロのマクロ実行が指示されたときに、指示された登録マクロが、再構成処理の対象となるマクロか否かを判定する。
【０２１９】
再構成対象マクロ判定部５４３は、例えば、登録マクロ構成管理部５４によって、マクロ実行が指示されたときに取得した登録マクロの識別情報と、再構成処理を行う対象として指定された登録マクロ（以下、「再構成対象マクロ」と言う。）の識別情報とに基づき、マクロ実行が指示された登録マクロが、再構成対象マクロか否かを判定する。
【０２２０】
再構成対象マクロの識別情報とは、登録マクロの登録番号などが該当し、登録マクロ構成管理部５４が、フィルタ削除時に行う登録マクロの再構成を検証する処理の中で、フィルタ削除に伴い、再構成が必要と判断された登録マクロの登録番号を抽出し、画像処理装置１００が備える主記憶部１２のＲＡＭ上に一時保持する。
【０２２１】
これにより、再構成対象マクロ判定部５４３は、取得した登録番号と保持する登録番号とを比較し、値が一致していれば、マクロ実行が指定された登録マクロが、再構成対象マクロであると判断する。
【０２２２】
以上のように、登録マクロ構成管理部５４は、再構成対象マクロ判定部５４３による上記判定結果に基づき、マクロ再構成部５４１の再構成処理を制御する。
【０２２３】
ここからは、上記登録マクロ構成管理部５４が、「どのようなタイミングで登録マクロを再構成し、フィルタ削除に対応しているのか」について、関連する各機能部間の処理手順を基に説明を行う。なお、以下に説明する処理手順は、例えば主記憶部１２のＲＯＭに予め格納しておいたマクロ情報管理プログラムを、ＲＡＭに読み出し、制御部１１であるＣＰＵにより実行することで実現される。
【０２２４】
《フィルタ削除時の動作（その１）》
図２４は、本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その１−１）を示すフローチャートである。この処理の中では、登録マクロの再構成処理を行わず、あくまでも再構成対象マクロについて確認を行い、登録マクロの再構成を検証する。
【０２２５】
画像処理装置１００は、入力・加工・出力の少なくとも１つのフィルタ１０３ａ〜cが削除（アンインストール）されると、登録マクロ構成管理部５４によって、マクロ情報４１の格納先である補助記憶部１３にアクセスし、登録マクロが存在するか否か（マクロ情報４１が格納されているか否か）を判定する。（ステップＳ８０１）。このとき、登録マクロ構成管理部５４は、マクロ登録時に各マクロ情報４１に採番された登録番号（登録順を表す情報）に基づき、登録番号１（採番の初期値）から対応する登録マクロが存在するか否かを判定する。
【０２２６】
ステップＳ８０１の判定において、登録マクロが存在しないと判断された場合には（ステップＳ８０１：ＮＯ）、再構成を行う対象のマクロが存在しないとして、図に示す処理を終了する。
【０２２７】
一方、ステップＳ８０１の判定において、登録マクロが存在すると判断された場合には（ステップＳ８０１：ＹＥＳ）、該当したマクロ情報４１に、削除フィルタが利用フィルタとして設定されているか否かを判定する。すなわち、参照中の登録番号に対応するマクロ情報４１の利用フィルタの設定に、削除フィルタが含まれているか否かを判定する（ステップＳ８０２）。このとき、登録マクロ構成管理部５４は、マクロ情報４１のマクロ構成情報４１１を参照し、各利用フィルタの項目に、削除フィルタが設定されているか否かを判定する。
【０２２８】
ステップＳ８０２の判定において、削除フィルタが利用フィルタとして設定されていると判断された場合には（ステップＳ８０２：ＹＥＳ）、参照中の登録番号に基づき、マクロ実行時に再構成する登録マクロを指定する（ステップＳ８０３）。このとき、登録マクロ構成管理部５４は、参照中の登録番号を、マクロ実行時に再構成処理を行う対象の登録マクロを識別する情報として保持する。
【０２２９】
一方、ステップＳ８０２の判定において、削除フィルタが利用フィルタとして設定されていないと判断された場合には（ステップＳ８０２：ＮＯ）、参照先の登録番号をインクリメントし（登録番号を１つ進めて）、再びステップＳ８０１の処理手順へ進み（ステップＳ８０４）、登録マクロの再構成を検証する。
【０２３０】
このように、マクロ情報管理機能では、フィルタ削除時に登録マクロの再構成処理を行わず、再構成が必要な登録マクロの情報、すなわち、マクロ実行が指示されたときに再構成を行う登録マクロを特定するための情報を保持しておく。
【０２３１】
《マクロ再構成時の動作》
図２５は、本発明の第３の実施形態に係るマクロを再構成する処理手順の一例（その１−２）を示すフローチャートである。
【０２３２】
図２５に示すように、登録マクロ構成管理部５４は、再構成対象マクロ判定部５４３によって、マクロ実行が指示されたときに取得した登録マクロの登録番号と、前述したステップＳ８０３の処理手順において保持された、再構成処理対象として指定された登録マクロの登録番号とに基づき、実行が指示された登録マクロが再構成対象マクロか否か（検証の際に再構成を指定されたマクロか否か）を判定する（ステップＳ９０１）。
【０２３３】
ステップＳ９０１の判定において、実行される登録マクロが再構成対象マクロである（再構成を指定されたマクロ）と判断された場合に（ステップＳ９０１：ＹＥＳ）、登録マクロ構成管理部５４が、マクロ再構成部５４１に対して、登録マクロの再構成処理を指示する（ステップＳ９０２）。
【０２３４】
また、ステップＳ９０１の判定において、実行される登録マクロが再構成対象マクロでない（再構成を指定されていないマクロ）と判断された場合には（ステップＳ９０１：ＮＯ）、図に示す処理を終了する。
【０２３５】
このように、マクロ情報管理機能では、登録マクロのマクロ実行が指示されたときに、上記判定を行うことにより、再構成が必要な登録マクロに対して処理を行う。これにより、画像処理装置１００が有するソフトウェア環境の変化に応じて、効率よく登録マクロの再構成処理を行うことが可能となる。
【０２３６】
＜登録マクロ構成管理における再構成単位指定機能＞
前述した各実施形態では、フィルタ削除時に再構成対象マクロごとに１つずつ再構成処理を行っていた。そこで、本実施形態では、登録マクロの再構成処理において、「再構成対象マクロごとに処理するか」、「複数の再構成対象マクロを一括して処理するか」、再構成処理を、どのような単位で行うのかを指定可能な構成を提案する。
【０２３７】
このような構成にしたことで、再構成対象マクロごとに再構成処理の方法を指定可能な環境と、全ての再構成対象マクロに共通した再構成処理の方法を指定可能な環境とを、利用者に選択決定させることができ、利用者の状況に合わせた処理を行うことができる。例えば、速く処理したい利用者は、一括して処理する再構成単位を指定すればよい。また、マクロごとに最適な再構成処理を行いたい利用者は、１つずつ処理する再構成単位を指定すればよい。
【０２３８】
ここからは、登録マクロ構成管理部５４が、「再構成処理を行う単位をどのように指定し、フィルタ削除に対応するのか」について、関連する各機能部間の処理手順を基に説明を行う。なお、以下に説明する処理手順は、例えば主記憶部１２のＲＯＭに予め格納しておいたマクロ情報管理プログラムを、ＲＡＭに読み出し、制御部１１であるＣＰＵにより実行することで実現される。
【０２３９】
《フィルタ削除時の動作（その２）》
図２６は、本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その２−１）を示すフローチャートである。
【０２４０】
画像処理装置１００は、入力・加工・出力の少なくとも１つのフィルタ１０３ａ〜ｃが削除（アンインストール）されると、登録マクロ構成管理部５４によって、図２７に示すようなマクロ再構成操作画面３２が表示部１７に表示される。登録マクロ構成管理部５４は、このマクロ再構成操作画面３２を介して、利用者から選択指示された、登録マクロの再構成を行う単位設定を受け取る（ステップＳ１００１）。
【０２４１】
続いて、登録マクロ構成管理部５４は、ステップＳ１００１で受け取った単位設定から、再構成対象マクロを一括処理する設定か、再構成対象マクロごとに１つずつ処理する設定かを判定する（ステップＳ１００２）。
【０２４２】
ステップＳ１００２の判定において、受け取った単位設定が、再構成対象マクロを１つずつ処理する設定であると判断された場合には（ステップＳ１００２：「１つずつ処理」）、登録マクロ構成管理部５４により、再構成対象マクロごとに１つずつ再構成処理を行う処理手順へ移行する（ステップＳ１００３）。
【０２４３】
一方、ステップＳ１００２の判定において、受け取った単位設定が、再構成対象マクロを一括処理する設定であると判断された場合には（ステップＳ１００２：「一括処理」）、登録マクロ構成管理部５４が、複数の再構成対象マクロを一括して再構成処理を行う処理手順へ移行する（ステップＳ１００４）。
【０２４４】
図２７は、本発明の第３の実施形態に係る再構成時の利用者インタフェースの画面表示例（その１）を示す図である。利用者は、表示部１７に表示された、図２７に示すようなマクロ再構成操作画面３２を介して、再構成対象マクロの処理単位（「１つずつ再構成」又は「一括して再構成」のどちらか一方の処理単位）を設定することができる。図２７では、マクロ再構成操作画面３２に表示された、再構成を行う処理単位の選択候補の中から１つを選択し、［実行］ボタンを押下することで処理単位を指定する。
【０２４５】
続いて、前述したステップＳ１００３及びＳ１００４において行う、指定再構成単位に従った登録マクロの再構成処理について説明する。
【０２４６】
《フィルタ削除時の動作（その２−２：マクロごとに１つずつ再構成する場合）》
図２８は、本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その２−２）を示すフローチャートである。
【０２４７】
画像処理装置１００は、登録マクロ構成管理部５４によって、マクロ情報４１の格納先である補助記憶部１３にアクセスし、登録マクロが存在するか否か（マクロ情報４１が格納されているか否か）を判定する。（ステップＳ１１０１）。このとき、登録マクロ構成管理部５４は、マクロ登録時に各マクロ情報４１に採番された登録番号（登録順を表す情報）に基づき、登録番号１（採番の初期値）から対応する登録マクロが存在するか否かを判定する。
【０２４８】
ステップＳ１１０１の判定において、登録マクロが存在しないと判断された場合には（ステップＳ１１０１：ＮＯ）、再構成を行う対象のマクロが存在しないとして、図に示す処理を終了する。
【０２４９】
一方、ステップＳ１１０１の判定において、登録マクロが存在すると判断された場合には（ステップＳ１１０１：ＹＥＳ）、該当したマクロ情報４１に、削除フィルタが利用フィルタとして設定されているか否かを判定する。すなわち、参照中の登録番号に対応するマクロ情報４１の利用フィルタの設定に、削除フィルタが含まれているか否かを判定する（ステップＳ１１０２）。このとき、登録マクロ構成管理部５４は、マクロ情報４１のマクロ構成情報４１１を参照し、各利用フィルタの項目に、削除フィルタの情報が設定されているか否かを判定する。
【０２５０】
ステップＳ１１０２の判定において、削除フィルタが利用フィルタとして設定されていると判断された場合には（ステップＳ１１０２：ＹＥＳ）、表示部１７を介して、利用者からの登録マクロの再構成処理の実行指示として「今処理を行う」、又は「マクロ実行時に行う」のどちらの実行指示を受け付けたかを判定する（ステップＳ１１０３）。
【０２５１】
ステップＳ１１０３の判定において、登録マクロの再構成処理として「今処理を行う」と言う実行指示を受け付けたと判断された場合には（ステップＳ１１０３：「今処理を行う」）、図２８に示すようなマクロ再構成操作画面３２が表示部１７に表示される。登録マクロ構成管理部５４は、このマクロ再構成操作画面３２を介して、利用者から選択指示された、登録マクロの再構成を行う処理方法の設定を受け取る（ステップＳ１１０４）。
【０２５２】
登録マクロ構成管理部５４は、マクロ再構成部５４１へ、ステップＳ１１０４の処理手順で取得した再構成を行う処理方法（例えば「利用フィルタ設定削除」や「マクロ削除」）の設定に従って、再構成対象マクロごとに１つずつ再構成処理を行うように指示する（ステップＳ１１０５）。
【０２５３】
一方、ステップＳ１１０３の判定において、登録マクロの再構成処理として「マクロ実行時に行う」と言う実行指示を受け付けたと判断された場合には（ステップＳ１１０３：「マクロ実行時に行う」）、参照中の登録番号に基づき、マクロ実行時に１つずつ再構成する登録マクロを指定する（ステップＳ１１０６）。このとき、登録マクロ構成管理部５４は、参照中の登録番号を、マクロ実行時に再構成処理を行う対象の登録マクロを識別する情報として保持する。
【０２５４】
また、ステップＳ１１０２の判定において、削除フィルタが利用フィルタとして設定されていないと判断された場合には（ステップＳ１１０２：ＮＯ）、参照先の登録番号をインクリメントし（登録番号を１つ進めて）、再びステップＳ１１０１の処理手順へ進み（ステップＳ１１０４）、登録マクロの再構成処理を継続する。
【０２５５】
図２９は、本発明の第３の実施形態に係る再構成時の利用者インタフェースの画面表示例（その２）を示す図であり、再構成を行う処理単位として「マクロごとに１つずつ処理」が選択指示された場合の表示画面例が示されている。利用者は、表示部１７に表示された、図２９に示すようなマクロ再構成操作画面３２を介して、再構成対象マクロの処理方法（「利用フィルタ設定削除」又は「マクロ削除」のどちらか一方の処理方法）を設定することができる。図２９では、マクロ再構成操作画面３２において表示された、再構成を行う処理方法の選択候補の中から１つを選択し、［実行］ボタンを押下することで処理方法を指定する。
【０２５６】
《フィルタ削除時の動作（その２−３：複数のマクロを一括して再構成する場合）》
図３０は、本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その２−３）を示すフローチャートである。
【０２５７】
画像処理装置１００は、登録マクロ構成管理部５４によって、マクロ情報４１の格納先である補助記憶部１３にアクセスし、登録マクロが存在するか否か（マクロ情報４１が格納されているか否か）を判定する。（ステップＳ１２０１）。このとき、登録マクロ構成管理部５４は、マクロ登録時に各マクロ情報４１に採番された登録番号（登録順を表す情報）に基づき、登録番号１（採番の初期値）から対応する登録マクロが存在するか否かを判定する。
【０２５８】
ステップＳ１２０１の判定において、登録マクロが存在すると判断された場合には（ステップＳ１２０１：ＹＥＳ）、該当したマクロ情報４１に、削除フィルタが利用フィルタとして設定されているか否かを判定する。すなわち、参照中の登録番号に対応するマクロ情報４１の利用フィルタの設定に、削除フィルタが含まれているか否かを判定する（ステップＳ１２０２）。このとき、登録マクロ構成管理部５４は、マクロ情報４１のマクロ構成情報４１１を参照し、各利用フィルタの項目に、削除フィルタを示す情報が設定されているか否かを判定する。
【０２５９】
ステップＳ１２０２の判定において、削除フィルタが利用フィルタとして設定されていると判断された場合には（ステップＳ１２０２：ＹＥＳ）、該当したマクロ情報４１を抽出する（ステップＳ１２０３）。
【０２６０】
また、ステップＳ１２０２の判定において、削除フィルタが利用フィルタとして設定されていないと判断された場合には（ステップＳ１２０２：ＮＯ）、参照先の登録番号をインクリメントし（登録番号を１つ進めて）、再びステップＳ１２０１の処理手順へ進み（ステップＳ１２０４）、登録マクロの再構成処理を継続する。
【０２６１】
一方、ステップＳ１２０１の判定において、登録マクロが存在しないと判断された場合には（ステップＳ１２０１：ＮＯ）、再構成を行う対象のマクロが存在するとして、ステップＳ１２０３の処理手順においてマクロ情報４１が抽出されたか否かを判定する（ステップＳ１２０５）。
【０２６２】
ステップＳ１２０５の判定において、マクロ情報４１が抽出されなかった判断された場合には（ステップＳ１２０５：ＮＯ）、再構成を行う対象のマクロが存在しないとして、図に示す処理を終了する。
【０２６３】
一方、ステップＳ１２０５の判定において、マクロ情報４１が抽出されたと判断された場合には（ステップＳ１２０５：ＹＥＳ）、表示部１７を介して、利用者からの登録マクロの再構成処理の実行指示として「今処理を行う」、又は「マクロ実行時に行う」のどちらの実行指示を受け付けたかを判定する（ステップＳ１２０６）。
【０２６４】
ステップＳ１２０６の判定において、登録マクロの再構成処理として「今処理を行う」と言う実行指示を受け付けたと判断された場合には（ステップＳ１２０６：「今処理を行う」）、図３１に示すようなマクロ再構成操作画面３２が表示部１７に表示される。登録マクロ構成管理部５４は、このマクロ再構成操作画面３２を介して、利用者から選択指示された、登録マクロの再構成を行う処理方法の設定を受け取る（ステップＳ１２０７）。
【０２６５】
登録マクロ構成管理部５４は、マクロ再構成部５４１へ、ステップＳ１２０７の処理手順で取得した再構成を行う処理方法の設定（例えば「利用フィルタ設定削除」や「マクロ削除」）の設定に従って、再構成対象マクロを一括して再構成処理を行うように指示する（ステップＳ１２０８）。
【０２６６】
一方、ステップＳ１２０６の判定において、登録マクロの再構成処理として「マクロ実行時に行う」と言う実行指示を受け付けたと判断された場合には（ステップＳ１２０６：「マクロ実行時に行う」）、参照中の登録番号に基づき、マクロ実行時に一括して再構成する登録マクロを指定する（ステップＳ１２０９）。このとき、登録マクロ構成管理部５４は、参照中の登録番号を、マクロ実行時に再構成処理を行う対象の登録マクロを識別する情報として保持する。
【０２６７】
図３１は、本発明の第３の実施形態に係る再構成時の利用者インタフェースの画面表示例（その３）を示す図であり、再構成を行う処理単位として「複数のマクロを一括処理」が選択指示された場合の表示画面例が示されている。
【０２６８】
＜まとめ＞
以上のように、本発明の第３の実施形態によれば、本実施形態に係る画像処理装置１００は、当該画像処理装置１００が有する機能を構成する機能部品（入力・加工・出力の各フィルタ１０３ａ〜ｃ）が、当該装置から削除（アンインストール）されると、登録マクロの再構成について検証を行い、登録マクロの中から再構成対象マクロのマクロ情報４１を抽出する。
【０２６９】
その結果、画像処理装置１００は、登録マクロのマクロ実行が指示されたときに、抽出しておいた再構成対象マクロのマクロ情報４１に基づいて、登録マクロの再構成を行う。
【０２７０】
また、画像処理装置１００は、登録マクロの再構成を行う処理単位として、「再構成対象マクロごとに１つずつ処理」、又は、「再構成対象マクロを一括して処理」のどちらか一方の処理単位で再構成を行う。
【０２７１】
これによって、画像処理装置１００は、ソフトウェア環境の変化に応じて、登録マクロの再構成を行う処理単位を指定することができる。
【０２７２】
以上のように、本実施形態に係る画像処理装置１００は、第１の実施形態と同様の効果を奏するとともに、当該画像処理装置１００が有するソフトウェア環境の変化に応じて、効率よく登録マクロの再構成処理を行うことができ、最適なマクロ環境を維持することができる。
【０２７３】
ところで、上記各実施形態に係る画像処理装置１００が有する「マクロ情報管理機能」は、図を用いて説明を行った各処理手順を、ソフトウェアの動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行することで実現することができる。よって、上記プログラムは、コンピュータが読み取り可能な記録媒体（非図示）に格納することができる。
【０２７４】
よって、上記プログラムは、フロッピー（登録商標）ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）などの記録媒体に記憶させ、これらの記録媒体を、読み取り可能な記憶メディアドライブ（非図示）にセットし、画像処理装置１００が備える外部記憶装置Ｉ／Ｆ１５を介してインストールすることができる。
【０２７５】
また、画像処理装置１００は、ネットワークなどのデータ伝送路に接続可能なネットワークＩ／Ｆ１４を備えていることから、インターネットなどの電気通信回線を用いてプログラムをダウンロードし、インストールすることもできる。
【０２７６】
ここまで、上記各実施形態に基づき本発明の説明を行ってきた。その中で、登録マクロ構成管理部５４が、マクロ登録部５３により登録されたマクロ情報４１を、フィルタ削除に応じて再構成する動作について説明を行ったが、この動作に本発明が限定されるものではない。例えば、外部記憶装置Ｉ／Ｆ１５を介して、記憶メディアドライブにセットされた記録媒体から、マクロ情報４１を読み取り、読み取ったマクロ情報４１に対して、再構成を行ってもよい。また、ネットワークＩ／Ｆ１４を介してダウンロードしたマクロ情報４１であってもよい。
【０２７７】
最後に、上記各実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０２７８】
【図１】本発明の第１の実施形態に係る画像処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る画像処理装置のソフトウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係るパイプ＆フィルタの概念及びフィルタの構成要素の一例を示す図である。
【図４】本発明の第１の実施形態に係る画像処理装置の基本処理手順の一例（その１）を示すフローチャートである。
【図５】本発明の第１の実施形態に係る画像処理装置の基本処理手順の一例（その２）を示すフローチャートである。
【図６】本発明の第１の実施形態に係るワークフローの構成要素の一例を示す図である。
【図７】本発明の第１の実施形態に係るマクロ情報管理機能の機能構成例を示す図である。
【図８】本発明の第１の実施形態に係る登録時の利用者インタフェースの画面表示例を示す図である。
【図９】本発明の第１の実施形態に係るマルチアクティビティの画面表示例を示す図である。
【図１０】本発明の第１の実施形態に係る登録されるマクロ情報の一例を示す図である。
【図１１】本発明の第１の実施形態に係るマクロ登録の処理手順の一例を示すフローチャートである。
【図１２】本発明の第１の実施形態に係る登録マクロと利用フィルタとの関係を示す図である。
【図１３】本発明の第１の実施形態に係るフィルタ削除に対応する処理手順の一例を示すフローチャートである。
【図１４】本発明の第１の実施形態に係るマクロを再構成する処理手順の一例を示すフローチャートである。
【図１５】本発明の第１の実施形態に係る再構成後の登録マクロ例（その１）を示す図である。
【図１６】本発明の第１の実施形態に係る再構成後の登録マクロ例（その２）を示す図である。
【図１７】本発明の第２の実施形態に係るマクロ情報管理機能の機能構成例を示す図である。
【図１８】本発明の第２の実施形態に係るマクロを再構成する処理手順の一例を示すフローチャートである。
【図１９】本発明の第２の実施形態に係る再構成後の登録マクロ例（その１）を示す図である。
【図２０】本発明の第２の実施形態に係る再構成後の登録マクロ例（その２）を示す図である。
【図２１】本発明の第２の実施形態に係る再構成後の登録マクロ例（その３）を示す図である。
【図２２】本発明の第２の実施形態に係る再構成後の処理手順の一例を示すフローチャートである。
【図２３】本発明の第３の実施形態に係るマクロ情報管理機能の機能構成例を示す図である。
【図２４】本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その１−１）を示すフローチャートである。
【図２５】本発明の第３の実施形態に係るマクロを再構成する処理手順の一例（その１−２）を示すフローチャートである。
【図２６】本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その２−１）を示すフローチャートである。
【図２７】本発明の第３の実施形態に係る再構成時の利用者インタフェースの画面表示例（その１）を示す図である。
【図２８】本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その２−２）を示すフローチャートである。
【図２９】本発明の第３の実施形態に係る再構成時の利用者インタフェースの画面表示例（その２）を示す図である。
【図３０】本発明の第３の実施形態に係るフィルタ削除に対応する処理手順の一例（その２−３）を示すフローチャートである。
【図３１】本発明の第３の実施形態に係る再構成時の利用者インタフェースの画面表示例（その３）を示す図である。
【符号の説明】
【０２７９】
１１    制御部（ＣＰＵ）
１２    主記憶部（ＲＯＭ，ＲＡＭ）
１３    補助記憶部（ＨＤＤ）
１４    ネットワークＩ／Ｆ
１５    外部記憶装置Ｉ／Ｆ
１６    外部装置Ｉ／Ｆ
１７    表示部（表示パネル）
１８    入力部（操作部）
１９    印刷部（プロッタ）
２０    原稿読み取り部（スキャナ）
３１    アプリケーション選択画面
（ａ：コピーアクティビティ、ｂ：マルチアクティビティ）
３２    マクロ再構成操作画面
４１    マクロ情報
４１１  マクロ構成情報
５１    画面生成部
５２    マクロ条件設定部
５３    マクロ登録部
５３１  マクロ条件格納部
５３２  マクロ情報構成部
５４    登録マクロ構成管理部
５４１  マクロ再構成部
５４２  条件判定部
５４３  再構成対象マクロ判定部
６１    ＵＩ部
１００  画像処理装置
１０１  ユーザインタフェース層
１０２  コントロール層
１０３  アプリケーション層
（ａ：入力フィルタ、ｂ：加工フィルタ、ｃ：出力フィルタ）
１０４  デバイスサービス層（ａ：画像パイプ）
１０５  デバイス制御層
【図１】
2010026655.tif 000003
【図２】
2010026655.tif 000004
【図３】
2010026655.tif 000005
【図４】
2010026655.tif 000006
【図５】
2010026655.tif 000007
【図６】
2010026655.tif 000008
【図７】
2010026655.tif 000009
【図８】
2010026655.tif 000010
【図９】
2010026655.tif 000011
【図１０】
2010026655.tif 000012
【図１１】
2010026655.tif 000013
【図１２】
2010026655.tif 000014
【図１３】
2010026655.tif 000015
【図１４】
2010026655.tif 000016
【図１５】
2010026655.tif 000017
【図１６】
2010026655.tif 000018
【図１７】
2010026655.tif 000019
【図１８】
2010026655.tif 000020
【図１９】
2010026655.tif 000021
【図２０】
2010026655.tif 000022
【図２１】
2010026655.tif 000023
【図２２】
2010026655.tif 000024
【図２３】
2010026655.tif 000025
【図２４】
2010026655.tif 000026
【図２５】
2010026655.tif 000027
【図２６】
2010026655.tif 000028
【図２７】
2010026655.tif 000029
【図２８】
2010026655.tif 000030
【図２９】
2010026655.tif 000031
【図３０】
2010026655.tif 000032
【図３１】
2010026655.tif 000033