(57)【特許請求の範囲】
【請求項１】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置であって、
前記複数の機能の少なくとも１つに対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段と、
前記アプリケーションプログラムから前記複数の機能の少なくとも１つに対して設定される、当該機能に関する設定情報を受け付ける受付手段と、
前記併用可否情報を参照して前記受付手段が受け付けた設定情報と併用することができない設定情報である競合設定情報を判定する判定手段と、
前記競合設定情報を前記アプリケーションプログラムに通知する通知手段と、を有し、
前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記判定手段による判定は、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われることを特徴とする画像処理装置。
【請求項２】
更に、前記複数の設定情報を表示することが可能であり、ユーザからの設定情報の選択を受け付ける操作表示手段を備え、
前記アプリケーションプログラムは前記通知手段から通知された前記競合設定情報に関する情報に基づいて、前記操作表示手段の表示内容を変更することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記操作表示手段は、前記通知手段が通知した前記競合設定情報に関する情報に基づいて、前記競合設定情報の選択を受け付けることができないことをユーザに対して識別可能に表示することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置であって、
前記複数の機能の少なくとも１つに対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段と、
前記アプリケーションプログラムから前記複数の機能の少なくとも１つに対して設定される、当該機能に関する複数の設定情報を受け付ける受付手段と、
前記併用可否情報を参照して、前記受付手段が受け付けた複数の設定情報を併用することができない場合、前記複数の設定情報の少なくとも一方を初期値にリセットするリセット手段と、
前記リセット手段がリセットした前記初期値を前記アプリケーションプログラムに通知する通知手段と、を備え、
前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記リセット手段によるリセットは、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われる（段落００７５）ことを特徴とする画像処理装置。
【請求項５】
更に、前記複数の設定情報を表示する表示手段を備え、
前記アプリケーションプログラムは、前記通知手段からの通知に基づいて、前記受付手段が受け付けた設定情報と併用することができない設定情報に関する前記表示手段における表示を更新することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記リセット手段は、前記受付手段が受け付けた設定情報と併用することが出来ない設定情報を非選択状態にすることを特徴とする、請求項４または請求項５に記載の画像処理装置。
【請求項７】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置の制御方法であって、
前記アプリケーションプログラムから前記複数の機能の１つに対して設定される、当該機能に関する設定情報を受け付ける受付工程と、
当該機能に対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段を参照して、前記受付工程で受け付けた設定情報と併用することができない設定情報である競合設定情報を判定する判定工程と、
前記競合設定情報を前記アプリケーションプログラムに通知する通知工程と、を有し、
前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記判定工程における判定は、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われることを特徴とする画像処理装置の制御方法。
【請求項８】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置の制御方法であって、
前記アプリケーションプログラムから前記複数の機能の１つに対して設定される、当該機能に関する設定情報を受け付ける受付工程と、
当該機能に対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段を参照して、前記受付工程で受け付けた複数の設定情報を併用することができない場合、前記複数の設定情報の少なくとも一方を初期値にリセットするリセット工程と、
前記リセット工程においてリセットされた前記初期値を前記アプリケーションプログラムに通知する通知工程と、を有し、
前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記リセット工程によるリセットは、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われることを特徴とする画像処理装置の制御方法。
【請求項９】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置の制御方法を画像処理装置に実行させるための制御プログラムであって、
前記制御方法は、
前記アプリケーションプログラムから前記複数の機能の１つに対して設定される、当該機能に関する設定情報を受け付ける受付工程と、
当該機能に対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段を参照して、前記受付工程で受け付けた設定情報と併用することができない設定情報である競合設定情報を判定する判定工程と、
前記競合設定情報を前記アプリケーションプログラムに通知する通知工程と、を有し、
前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記判定工程における判定は、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われることを特徴とする制御プログラム。
【請求項１０】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置の制御方法を画像処理装置に実行させるための制御プログラムであって、
前記制御方法は、
前記アプリケーションプログラムから前記複数の機能の１つに対して設定選択される、当該機能に関する設定情報を受け付ける受付工程と、
当該機能に対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段を参照して、前記受付工程で受け付けた複数の設定情報を併用することができない場合、前記複数の設定情報の少なくとも一方を初期値にリセットするリセット工程と、
前記リセット工程においてリセットされた前記初期値を前記アプリケーションプログラムに通知する通知工程と、を有し、
前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記リセット工程によるリセットは、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションからの要求に対して複数のデバイスによる画像処理機能を制御可能な画像処理装置の制御に関するものである。
【背景技術】
【０００２】
近年、デジタル複写機をベースとしてスキャン機能とプリンタ機能とネットワーク送受信機能とを備えるデジタル複合機が実用化されている。そして、この種のデジタル複合機などの画像処理装置はますます高機能化している。
【０００３】
単に紙原稿を複写するだけでなく、ハードディスクを備えて画像データをデータベース内にファイルとして保存する機能を備える場合もある。そして、データベース内にファイルをネットワーク上に電子メールで送信するなどのさまざまなネットワークプロトコルで画像を送信する機能も実用化されている。
【０００４】
これらデジタル複合機の機能を既存の顧客のもつ情報処理システムと結合し、顧客の業務を改善する取り組みが多くなっている。
【０００５】
この状況に対応してデジタル複合機に個別のアプリケーションを追加可能な環境が製品化されている。
【０００６】
例えば、デジタル複合機の画像のスキャン機能、画像フォーマット変換機能を利用したアプリケーションを複合機上で動作させ、情報システム上のデータベースと連動させることで、画像データベースシステムを構築することが行われている。
【０００７】
一方、顧客のオフィスにはさまざまな画像処理装置が存在し、それぞれが持つ機能や制限事項も異なっている。
【０００８】
例えば同じメーカの画像処理装置であってもモデルが異なることで利用できる機能が違い処理手順に制限を持つ場合がある。前述のアプリケーションも画像処理の種類ごとに複数持たなくてはならない。
【０００９】
このような問題に対して画像処理装置の機能を抽象化し、アプリケーションから装置の種類に起因した相違を吸収する技術が下記特許文献１に提案されている。
【００１０】
このような技術によりコピー機能を提供するソフトウエアを異なるメーカのスキャナ、プリンタを自由に組み合わせて作ることが可能になる。デバイスの違いを仮想化することでアプリケーションソフトウエアを開発しやすい環境を提供することが可能である。
【特許文献１】特開２０００−２２２３３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
一方、最近の画像処理装置の性能向上は著しく、アプリケーションソフトウエアから利用する画像処理装置の機能は増えてきている。プリンタを例に挙げれば、複雑な製本を実行する、複数のページを１ページに合成するといった処理が可能である。
【００１２】
この様に機能が増えてくると、機能同士の組み合わせに制限が出る。たとえば、１ページの原稿を複数枚の出力に分割するページ連写コピー機能は、逆の機能である縮小レイアウト機能と同時に指定することは出来ない。ここで、縮小レイアウトとは複数枚の原稿を１枚の出力に合成する機能である。
【００１３】
また、ハードウエアの状態によって使うことが出来ない機能もある。例えばステイプラの針が切れている時には、出力用紙のステイプル処理を出来なくする必要がある。こういったデバイスに依存した制約は、デバイスの違いを仮想化するだけでは対応できない。
【００１４】
さらに、デバイスメーカのエンジニアではないアプリケーションソフトウエア開発者が設計するのは困難であり作業量が多くなるという問題があった。
【００１５】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、デバイスの仕様等に関わるアプリケーションの開発負担を軽減できる仕組みを提供することである。
【００１６】
また、アプリケーションが画像処理装置に対して誤った属性値を設定してもデフォルトの設定に変更できるため、他属性との不整合の解消を容易に行うことができる仕組みを提供することである。
【課題を解決するための手段】
【００１７】
上記目的を達成する本発明の画像処理装置は以下に示す構成を備える。
【００１８】
複数の機能を備え、前記複数の機能の少なくともいずれかを実行することを要求するアプリケーションプログラムを複数備える画像処理装置であって、前記複数の機能の少なくとも１つに対して設定可能な複数の設定情報の併用の可否に関する情報である併用可否情報を記憶する記憶手段と、前記アプリケーションプログラムから前記複数の機能の少なくとも１つに対して設定される、当該機能に関する設定情報を受け付ける受付手段と、前記併用可否情報を参照して前記受付手段が受け付けた設定情報と併用することができない設定情報である競合設定情報を判定する判定手段と、前記競合設定情報を前記アプリケーションプログラムに通知する通知手段と、を有し、前記アプリケーションプログラムは、オペレーティングシステム上で動作するアプリケーションプラットフォーム上で動作し、前記判定手段による判定は、前記アプリケーションプラットフォームに含まれるプログラムモジュールを実行することで行われることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、アプリケーションからの要求に対して競合するようなユーザ設定を回避するユーザインタフェースを表示して、デバイスの仕様等に関わるアプリケーションの開発負担を軽減できる。
【００２０】
アプリケーションが画像処理装置に対して誤った属性値を設定してもデフォルトの設定に変更できるため、他属性との不整合の解消を容易に行うことができる。
【発明を実施するための最良の形態】
【００２１】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２２】
＜システム構成の説明＞
〔第１実施形態〕
まず、本発明を適用する画像処理装置について説明する。
【００２３】
図１は、本実施形態の画像処理装置の外観を示す斜視図である。本実施形態の画像処理装置の一例として、デジタル複合機の外観例を示す。なお、（Ａ）は画像処理装置前面右側からの斜視図であり、（Ｂ）は画像処理装置背面側からの斜視図である。
【００２４】
図１において、画像処理装置１００は紙原稿を読み込みデジタル画像データに変換するスキャナ部１と画像データを用紙に印刷物として出力するためのプリンタ部２を備えている。
【００２５】
また、画像処理装置１００は制御装置３を備える。制御装置３にはネットワークが接続され、各種デジタルデータ処理やネットワーク通信を行うソフトウエア、ハードウエアが組み込まれている。
【００２６】
図２は、図１に示した画像処理装置１００の持つ複数の機能を説明するブロック図である。
【００２７】
図２において、プリント機能２００１は、ＰｏｓｔＳｃｒｉｐｔ（登録商標）やＬＩＰＳ（登録商標）といったＰＤＬ（Page Description Language）言語によってホストコンピュータから送られるプリントデータを受信する。そして、プリント機能２００１は、プリントデータに所定のラスタライズ処理等を行った後、印刷出力を行う。
【００２８】
さらに、プリント機能２００１は、ホストコンピュータ等にインストールされるプリンタドライバを介さずにＰＤＦなどのアプリケーションデータを直接受信し印刷するダイレクトプリント機能を実行することも可能である。
【００２９】
コピー機能２００２は、スキャナ部１とプリンタ部２とを使ってコピー処理を行なうことが可能である。
【００３０】
ファクシミリ機能２００３では、Ｇ３やＧ４ファックスの送受信を可能にする。また、ファクシミリ機能２００３は、インターネットを利用したインターネットファックスも可能である。
【００３１】
管理機能２００４は、部門管理機能や個人認証機能を行なう。また、さまざまな設定を複数のデジタル複合機で同期させるための管理データ自動配信機能を持つ。
【００３２】
送信機能２００５では、複数のネットワークプロトコルを使って複数のあて先に画像を同時配信するユニバーサルセンド機能を提供する。また、画像を暗号化して送信したり、画像データに電子署名をつけて送信する機能を有している。
【００３３】
画像記憶機能２００６は、スキャン画像やネットワークから受信した画像データを画像処理装置１００内のハードディスクに保管する機能を提供する。また、画像記憶機能２００６は、保管した画像を操作パネルで表示したり、保管した画像に対する編集処理を行なう機能を提供する。
【００３４】
ウェブブラウザ（webブラウザ）機能２００７では、ウェブブラウザによるウェブサイトの閲覧機能や、ネットワーク上の画像ファイルを指定して印刷を行うウェブプルプリント機能を提供する。
【００３５】
カスタムアプリケーション２００８は、ＪＡＶＡ（登録商標）言語を利用してデジタル複合機の機能を利用したアプリケーションを実行することが可能なオープンプラットフォームによるカスタマイズアプリケーション実行環境を提供している。
【００３６】
図３は、図１に示した画像処理装置を構成する各ユニットの制御構成を示すブロック図である。
【００３７】
図３において、画像処理装置１００は、コピー、プリント、画像入力（スキャン）、画像ファイリング、画像送受信、画像変換など各種の画像処理機能を提供する。
【００３８】
リーダ部（画像入力装置）２００は、原稿画像を光学的に読み取り、画像データに変換する。リーダ部２００は、原稿を読み取るための機能を持つスキャナユニット２１０と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット２５０とで構成される。リーダ部２００は、図１のスキャナ部１に相当する。
【００３９】
プリンタ部（画像出力装置）３００は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部３００は、図１のプリンタ部２に相当する。
【００４０】
プリンタ部３００は、複数種類の記録紙カセットを持つ給紙ユニット３６０と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット３１０を備える。また、プリンタ部３００は、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット３７０を備える。
【００４１】
制御装置１１０は、リーダ部２００、プリンタ部３００と電気的に接続され、さらにＬＡＮ４００に接続されている。制御装置１１０は、リーダ部２００を制御して、原稿の画像データを読込み、プリンタ部３００を制御して画像データを記録用紙に出力してコピー機能を提供する。制御装置１１０は、図１の制御装置３に相当する。
【００４２】
また、制御装置１１０は、リーダ部２００から読取った画像データを、コードデータに変換し、ＬＡＮ４００を介して図示しないホストコンピュータや他の画像処理装置へ送信する画像送信機能を提供する。
【００４３】
さらに、制御装置１１０は、ホストコンピュータからＬＡＮ４００を介して受信したプリントデータを画像データに変換し、プリンタ部３００に出力するプリント機能を提供する。
【００４４】
操作部１５０は、制御装置１１０に接続される。操作部１５０は操作表示手段として機能するため液晶タッチパネルを備え、画像入出力システムを操作するためのユーザＩ／Ｆを提供する。
【００４５】
図４は、図３に示した制御装置１１０のハードウェア構成を示すブロック図である。
【００４６】
図４において、メインコントローラ１１１は、主にＣＰＵ１１２と、バスコントローラ１１３、各種Ｉ／Ｆとから構成される。
【００４７】
ＣＰＵ１１２とバスコントローラ１１３は制御装置１１０全体の動作を制御するものであり、ＣＰＵ１１２はＲＯＭ１１４からＲＯＭ  Ｉ／Ｆ１１５を経由して読込んだプログラムに基づいて動作する。
【００４８】
また、ホストコンピュータから受信したプリントデータに含まれるＰＤＬ（ページ記述言語）を解釈し、ラスターイメージデータに展開する動作も、このプログラムに記述されており、ソフトウエアによって処理される。
【００４９】
バスコントローラ１１３は各Ｉ／Ｆから入出力されるデータ転送を制御するものであり、バス競合時の調停やＤＭＡ（Direct Memory Access）転送の制御を行う。
【００５０】
ＤＲＡＭ１１６はＤＲＡＭ  Ｉ／Ｆ１１７によってメインコントローラ１１１と接続される。ＤＲＡＭ１１６は、ＣＰＵ１１２が動作するためのワークエリアや、画像データを蓄積するためのエリアとして使用される。
【００５１】
Ｅｔｈｅｒｎｅｔ（登録商標）Ｃｏｎｔｒｏｌｌｅｒ１５０Ａは、ＬＡＮ４００に接続するためのネットワークコントローラであり、メインコントローラ１１１がネットワークへアクセスすることを可能にしている。
【００５２】
Ｃｏｄｅｃ１１８は、ＤＲＡＭ１１６に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧ／ＪＰＥＧ等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長する。
【００５３】
ＳＲＡＭ１１９はＣｏｄｅｃ１１８の一時的なワーク領域として使用される。Ｃｏｄｅｃ１１８はＩ／Ｆ１２０を介してメインコントローラ１１１と接続され、ＤＲＡＭ１１６との間のデータの転送は、バスコントローラ１１３によって制御されＤＭＡ転送される。
【００５４】
Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｏｒ１３５は、画像回転、変倍処理、色空間変換等の画像処理を行う。外部通信Ｉ／Ｆ１２１はＩ／Ｆ１２３によってメインコントローラ１１１と接続され、コネクタ１２２によって外部ネットワークと接続される。
【００５５】
汎用高速バス１２５には、拡張ボードを接続するための拡張コネクタ１２４とＩ／Ｏ制御部１２６とが接続される。汎用高速バスとしては、例えばＰＣＩバスが用いられる。
【００５６】
Ｉ／Ｏ制御部１２６には、リーダ部２００、プリンタ部３００の各ＣＰＵと制御コマンドを送受信するための調歩同期シリアル通信コントローラ１２７が２チャンネル装備されている。そして、Ｉ／Ｏ制御部１２６は、Ｉ／Ｏバス１２８によってスキャナＩ／Ｆ回路１４０、プリンタＩ／Ｆ１４５に接続されている。
【００５７】
パネルＩ／Ｆ１３２は、Ｉ／Ｏ制御部１２６に接続するＬＣＤコントローラ１３１に接続される。
【００５８】
パネルＩ／Ｆ１３２は、操作部１５０（図３）上の液晶画面に表示を行うためのインターフェースと、ハードキーやタッチパネルキーの入力を行うためのキー入力Ｉ／Ｆ１３０とから構成される。
【００５９】
コネクタ１４２と１４７は、それぞれリーダ部２００とプリンタ部３００とに接続され、同調歩同期シリアルＩ／Ｆ（１４３，１４８）とビデオＩ／Ｆ（１４４，１４９）とから構成される。
【００６０】
スキャナＩ／Ｆ１４０は、コネクタ１４２を介してリーダ部２００と接続され、また、スキャナバス１４１によってメインコントローラ１１１と接続されており、リーダ部２００から受け取った画像に対して所定の処理を施す機能を有する。
【００６１】
さらに、リーダ部２００から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス１４１に出力する機能も有する。スキャナバス１４１からＤＲＡＭ１１６へのデータ転送は、バスコントローラ１１３によって制御される。
【００６２】
プリンタＩ／Ｆ１４５は、コネクタ１４７を介してプリンタ部３００と接続され、また、プリンタバス１４６によってメインコントローラ１１１と接続されており、メインコントローラ１１１から出力された画像データに所定の処理を施する。
【００６３】
そして、プリンタ部３００へ出力する機能を有し、さらに、プリンタ部３００から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス１４６に出力する機能も有する。
【００６４】
ＤＲＡＭ１１６上に展開されたラスターイメージデータのプリンタ部への転送は、バスコントローラ１１３によって制御され、プリンタバス１４６、ビデオＩ／Ｆ１４９を経由して、プリンタ部３００へＤＭＡ転送される。
【００６５】
操作部１５０は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーを有する。
【００６６】
タッチパネルまたはハードキーにより入力された信号は前述したパネルＩ／Ｆ１３２を介してＣＰＵ１１２に伝えられ、液晶表示部はパネルＩ／Ｆ１３２から送られてきた画像データを表示するものである。液晶表示部には、本画像処理装置１００の操作に関する操作画面や画像データ等を表示する。
【００６７】
リアルタイムクロックモジュール１３３は、機器内で管理する日付と時刻を更新／保存するためのもので、バックアップ電池１３４によってバックアップされている。
【００６８】
Ｅ−ＩＤＥインタフェース１６１は、外部記憶装置を接続するためのものである。本実施形態においては、このＩ／Ｆを介してハードディスクドライブ１６０を接続し、ハードディスク（ＨＤ）１６２へ画像データを記憶させたり、ＨＤ１６２から画像データを読み込ませたりする動作を行う。
【００６９】
図５は、図１に示した画像処理装置のコントローラのソフトウェアモジュール構造を示すブロック図である。本例は、画像処理装置１００のコントローラのソフトウェアモジュール例である。
【００７０】
ここでは、特にＪＡＶＡ（登録商標）言語で提供するデジタル複写機のアプリケーション実行環境に関連するモジュールを中心に説明する。
【００７１】
ＪＡＶＡ（登録商標）言語は、米国Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ社が開発したプログラミング言語である。そして、Ｊａｖａ（登録商標）で開発されたソフトウエアは特定のＯＳやマイクロプロセッサに依存することなく、基本的にはどのようなプラットフォームでも動作する。
【００７２】
近年では、画像処理装置１００にＪＡＶＡ（登録商標）の実行環境を組み込み、ソフトウエアの開発を容易にする製品が販売されてきている。
【００７３】
図５において、画像処理装置１００のソフトウエアは、階層構造をなしている。
【００７４】
オペレーティングシステム５１００は、画像処理装置１００のソフトウエア構造の最下層を構成しており、オペレーティングシステム上で各種ソフトウエアが実行する。
【００７５】
アプリケーションプラットフォーム（ＡＰＦ）５００３はオペレーティングシステム５１００上で動作する。ＡＰＦ５００３は、画像処理装置１００の機能の中心部であり、内部は複数のサブモジュールで構成されている。つまり、アプリケーションプラットフォーム上で実行可能なアプリケーションプログラムは複数存在する。
【００７６】
ＡＰＦ５００３中のサブモジュールのうち、スキャンモジュール５００４は、画像処理装置１００のスキャン動作実現する。プリントモジュール５００５は画像処理装置１００のプリント動作を実現する。
【００７７】
ボックスモジュール５００６は、スキャン画像やＰＤＬ画像を、図４に示したＨＤ１６２に保管する動作を実現する。
【００７８】
なお、これらサブモジュールである各モジュール５００４〜５００６には内部にさらにサブモジュールを保持しているが、これらサブモジュールについては後述する。
【００７９】
プラットフォームＡＰＩモジュール５００２はプラットフォームのアプリケーションプログラムに対するＡＰＩ（Application Program Interface）層であり、ＪＡＶＡ言語のインタフェースをアプリケーション層５００１に提供する。
【００８０】
アプリケーション層５００１は、画像処理装置の機能を実現するための複数のアプリケーションプログラムモジュール５２０１〜５２０４を備える。
【００８１】
なお、アプリケーションプログラムモジュールには、エンドユーザやアプリケーション開発業者が開発する業務用アプリケーションプログラムも含まれる。業務用アプリケーションプログラムは、各ユーザの業務に特化した処理を行うためのソフトウエアであり、ユーザの要望によって修正や追加が行われる。
【００８２】
以下、アプリケーションプログラムを、単に「アプリケーション」と呼ぶ。また、アプリケーション層５００１に含まれるアプリケーションプログラムモジュールを、「ユーザアプリケーション（ＵＡＰ）」と呼ぶ。
【００８３】
本実施形態において、ＵＡＰ５２０１は、画像処理装置１００のコピー機能のためのコピーアプリケーションである。ＵＡＰ５２０２は、画像処理装置１００の送信機能のための送信アプリケーションである。
【００８４】
ＵＡＰ５２０３は、画像処理装置１００のボックス機能のためのボックスアプリケーションである。ＵＡＰ５２０４は、画像処理装置１００の他の機能を実現するためのアプリケーションである。
【００８５】
アプリケーション層５００１には、ＵＡＰ５２０１〜５２０４の以外にもユーザアプリケーションを追加したり削除したりすることが可能である。
【００８６】
ＡＰＦ５００３と、アプリケーション層５００１の各ＵＡＰとの関係は以下のとおりである。すなわち、ＵＡＰは、ＡＰＦ５００３に含まれるサブモジュール（スキャンモジュール５００４、プリントモジュール５００５、ボックスモジュール５００６）が提供する機能を用いたりする。これにより、ＵＡＰは、これらサブモジュールが提供する複数の機能を組み合わせることによってある機能を実現する。
【００８７】
例えば、コピー機能のＵＡＰ５２０１は、スキャンモジュール５００４とプリントモジュール５００５とを組み合わせることによって実現できる。したがってコピー機能を実行する場合には、スキャンモジュール５００４とプリントモジュール５００５がそれぞれ処理を実行する。なお、スキャンモジュール５００４は、後述するようにサブモジュールとして機能モジュール５００７、属性データ５００８、競合テーブル５００９、競合判定ロジック５０１０を備える。
【００８８】
なお、ＵＡＰ５２０１〜５２０４は、画像処理装置１００を利用するアプリケーションであって、画像処理装置１００を開発したメーカや、メーカ以外のサードパーティ等により開発されるアプリケーションである。
【００８９】
これらアプリケーションは、画像処理装置１００の構成に依存しないアプリケーション構造となっている。そして、これらアプリケーションは、画像処理装置１００での機能の実行のための設定情報の整合性を意識しない構造となっている。
【００９０】
このため、ＵＡＰ５２０１〜５２０４からの要求が画像処理装置１００で実行できないような設定である場合、ＡＰＦ５００３側でこのような不正な設定を判定する。そして、その判定の結果はＵＡＰが操作部１５０に表示させる操作画面に反映させる。
【００９１】
これにより、ユーザにより競合した設定となるような操作が実行されてしまう事態を回避することが可能になる。
【００９２】
図６は、本実施形態の画像処理装置におけるアプリケーションプラットフォームのサブモジュールの詳細を示すブロック図である。
【００９３】
図６において、図５に示すモジュールと同じモジュールについては図５と同じ符号を付し、その説明を省略する。
【００９４】
アプリケーションプラットフォームサブモジュール（ＡＰＦサブモジュール）６００１は、ＡＰＦ５００３のサブモジュールである。図５に示した例でいうと、スキャンモジュール５００４、プリントモジュール５００５、ボックスモジュール５００６のいずれかに相当する。
【００９５】
ＡＰＦサブモジュール６００１は、更に複数のサブモジュールとして構成される競合判定部６００４、設定競合テーブル６００５、属性保持部６００７、機能実行部６０１０を含む。
【００９６】
スキャンモジュール５００４は、ステイプル機能や縮小レイアウトなど、スキャン機能を実行要求とともに受け付けた設定情報に従って処理を実行する機能モジュール５００７、機能に関する属性を保持する属性データ５００８を備える。
【００９７】
さらに、スキャンモジュール５００４は、機能の組み合わせの制限を記載した競合テーブル５００９と現在の属性データの値と競合テーブルを利用して機能の組み合わせの整合性の判定を行う競合判定ロジック５０１０を備える。
【００９８】
プリントモジュール５００５やボックスモジュール５００６もスキャンモジュールと同様にそれぞれサブモジュールを備えている。
【００９９】
競合判定部６００４は、設定競合テーブル６００５と、画像処理装置１００の状態を示す属性保持部６００７との値を参照して、競合状態にある設定を判定する。つまり、競合判定部６００４は複数のアプリケーションプログラムのうち、いずれのアプリケーションプログラムの要求にも応答して、競合設定情報の有無の判定を行う機能を備える。
【０１００】
ここで、「競合状態にある設定」とは、ＵＡＰから指定される複数の設定内容に不整合があり、それら機能を同時に設定することができないものを指す。
【０１０１】
例えば、２つの設定内容を同時に設定することが出来ない、即ち併用することが出来ない関係にある設定内容は「競合状態にある設定」である。
【０１０２】
競合判定部６００４は、ＵＡＰから指定された設定と競合している機能の一覧リストである、競合設定一覧リスト６００８を、プラットフォームＡＰＩ５００２を通してアプリケーション層５００１に通知する。
【０１０３】
属性保持部６００７は、画像処理装置の状態（装着されているオプションなどの情報）を保持する。
【０１０４】
なお、設定競合テーブル６００５には、競合状態になる設定である競合ルールが複数設定されている。つまり、設定競合テーブル６００５には、併用可否情報が記憶されている。
【０１０５】
例えば１ページの原稿を複数枚の出力に分割する「ページ連写コピー」設定は、「縮小レイアウト」設定と同時に指定することは出来ない（併用できない）ので競合ルールとして設定競合テーブル６００５に設定される。このような競合ルールが、設定競合テーブル６００５に複数登録されている。
【０１０６】
なお、設定競合テーブル６００５は、スキャンモジュール５００４、プリントモジュール５００５、ボックスモジュール５００６それぞれが備えており、各モジュールの動作に関連する設定の内、競合する設定をそれぞれの設定競合テーブル６００５に登録する。
【０１０７】
例えば、スキャンモジュール５００４はスキャン動作に関して競合するルールを設定競合テーブル６００５に登録する。同様にプリントモジュール５００５はプリント機能に関する競合ルールを、ボックスモジュールはボックス機能に関する競合ルールをそれぞれの設定競合テーブルに登録する。
【０１０８】
これら設定競合テーブル６００５は、図４に示したＨＤ１６２や、ＲＯＭ１１４に記憶されており、システム起動時に、ＤＲＡＭ１１６上に確保されるテーブル領域に保持される。
【０１０９】
機能実行部６０１０は、ＡＰＦサブモジュール６００１が実現する動作を実行する。例えば、スキャンモジュール５００４は画像処理装置１００による原稿画像の読み取りに関する動作を実現する。
【０１１０】
図７は、図６に示した設定競合テーブル６００５の一例を示す図である。本例は、プリントモジュール５００５が備える設定競合テーブル６００５の一例である。
【０１１１】
図７において、設定競合テーブル６００５はプリントモジュールに対して設定可能な設定情報を項目１４０１、１４０２に備えている。そして、「○」は使用可否情報として機能し、２つの設定の両方を同時に設定可能であることを、「×」は使用可否情報として機能し、２つの設定の両方を同時に設定することができないことを示している。つまり、ユーザ設定された項目が「×」に該当しているかどうかを判定することで、競合設定情報の有無を判定することができる。
【０１１２】
例えば、「製本」と「表紙／合紙」は同時に設定することができるが、「表紙／合紙」と「ページ連写」は同時に設定することが出来ない。
【０１１３】
図７にはプリントモジュール５００５が備える設定競合テーブル６００５の一例を示したが、スキャンモジュール５００４、ボックスモジュール５００６も各々設定可能な設定情報に関する設定競合テーブルを備えている。
【０１１４】
スキャンモジュール５００４が備える設定競合テーブル６００５の項目１４０１、１４０２はスキャンに関する設定情報が並びボックスモジュール５００６が備える設定競合テーブル６００５の項目１４０１、１４０２はボックスに関する設定情報が並ぶことになる。
【０１１５】
図８は、図３に示した操作部１５０が備える液晶ディスプレイ上に表示される操作画面の一例を示す図である。なお、本操作画面は、コピーＵＡＰ５２０１の操作画面の表示例である。以下、本実施形態におけるアプリケーションの動作例について図８の操作画面を使って説明する。
【０１１６】
ここで、操作部１５０に表示する操作画面は、コピーＵＡＰ５２０１が制御する。具体的には、図１１、図１２において詳述する。
【０１１７】
図８において、コピーには図７中の設定ボタンＢ１〜Ｂ１２で示されるように複数の設定を選択可能である。
【０１１８】
例えば、ボタンＢ１は、コピー原稿に本を使った場合に、左右のページをそれぞれ一枚のページに分割して印刷する「ページ連写」設定に対応付けられている。
【０１１９】
ボタンＢ２は、印刷物に仕切り用の用紙を挟み込む「表紙／合紙」設定がある。コピーＵＡＰ５２０１を利用するユーザは所望の処理機能を利用するために処理機能が割り当てられたボタンＢ１〜Ｂ１２を押して選択したことをアプリケーションに通知する。
【０１２０】
ここで、ある特定の設定とその他の設定とを同時に選択できない場合がある。
【０１２１】
図９は、図３に示した操作部１５０が備える液晶ディスプレイ上に表示される第１の機能選択不可画面の一例を示す図である。本画面は、ボタンＢ１で「ページ連写」、「左開き」が選択された場合の操作画面の例である。このため、図８のボタンＢ１〜Ｂ１２の中で、「ページ連写、左開き」に対して、併用できない設定に対応するボタンＢ２、Ｂ３、Ｂ５、Ｂ６、Ｂ９、Ｂ１１が選択不可を示すグレー表示状態にする。
【０１２２】
つまり、図９の例では、画像処理装置１００は、「表紙／合紙」、「縮小レイアウト」、「製本」、「ＯＨＰ中差し」、「原稿サイズ混載」、「読み込み画像確認機能」が「ページ連写」とは同時に選択できないということを示している。
【０１２３】
なお、選択できない設定に該当するボタンは、表示状態がグレー表示となって、ユーザが指定が出来ない事を示している。
【０１２４】
そして、グレー表示となっているボタンは、ユーザがそのボタンを押下しても、制御装置１１０はその押下を受け付けないように制御する。
【０１２５】
一方、グレー表示となっていないボタンは、「ページ連写」と併用して選択可能な設定情報である。
【０１２６】
なお、他の設定を選択したいときには、図示しないリセットボタンを押下して、一旦表示状態をリセットして「ページ連写」設定を解除する。これにより、Ｂ１〜Ｂ１２のすべてのボタンが選択可能になる。
【０１２７】
図１０は、図３に示した操作部１５０が備える液晶ディスプレイ上に表示される、操作画面の他の一例を示す図である。
【０１２８】
図１０では、ユーザが操作部１５０の液晶表示部のボタンＢ３を押下して、「縮小レイアウト」設定を選択した場合の表示画面である。
【０１２９】
この場合画像処理装置１００では、「ページ連写」、「表紙／合紙」、「製本」、「ＯＨＰ中差し」、「原稿サイズ混載」、「読み込み画像確認」といった設定が同時に選択できないことが示されている。
【０１３０】
このため、図８のボタンＢ１〜Ｂ１２の中で「縮小レイアウト」設定に対して、組み合わせの不整合となるボタンＢ１、Ｂ２、Ｂ５、Ｂ６、Ｂ９、Ｂ１１を選択不可を示すグレー表示にする。
【０１３１】
このように本実施形態に示す画像処理装置１００では、選択した設定と併用できない設定に該当するボタンを選択不可状態（グレー表示状態）とし、ユーザに指定が出来ない事を示している。つまり、操作部１５０に表示された操作画面において、選択した設定と併用できない設定に該当するボタンを選択不可状態（グレー表示状態）とするように表示内容を変更する。また、非選択状態としてグレー表示状態とすることで、ユーザが選択した機能が競合状態であることを識別可能に表示することができる。
【０１３２】
図９、図１０に示した操作画面を持つアプリケーションを作成する場合、競合する機能の組み合わせを判定する仕組みを作り込まなくてはならない。従来はこの仕組みは、ＵＡＰ側に設けられていた。
【０１３３】
このため、アプリケーション開発者は画像処理装置１００を構成する各デバイス（プリンタ部、スキャナ部、メモリ等）の機能や設定可能な項目を熟知しなくてはならない。
【０１３４】
しかし、アプリケーション作成者は、画像処理装置１００を製造するメーカとは異なるサードパーティである場合が多く、これらサードパーティは画像処理装置１００のすべての機能を熟知しているわけではない。
【０１３５】
したがって、アプリケーション作成者が図９や図１０のような操作画面を表示するための処理を、彼らが開発するアプリケーション内に設けることは非常に困難である。
【０１３６】
また、１つのアプリケーションを複数のデバイスで動作させるといった事も困難である。また、一般的にアプリケーション開発者とデバイス開発者は違うために、デバイスのバージョンアップによって動かないアプリケーションがでてしまうという問題がある。
【０１３７】
そこで、本実施形態では、設定の競合を判定するための仕組みをＵＡＰ側ではなく、ＡＰＦ５００３側に備えるようにした。ＵＡＰにはプラットフォーム側での判定結果を任意のＧＵＩ画面に反映させる処理だけを作成すればよいのでＵＡＰを作成するサードパーティがアプリケーションを開発するための工数を削減することが可能になる。
【０１３８】
また、設定の競合を判定するための仕組みを、アプリケーションを変更することなしに複数の種類の画像処理装置に適用することが出来る。
【０１３９】
続いて、ＵＡＰとＡＰＦサブモジュール６００１の処理の流れを図１１を参照して説明する。
【０１４０】
図１１は、本実施形態を示す画像処理装置におけるＵＡＰ（５２０１〜５２０４のいずれか）とＡＰＦサブモジュール６００１との第１の受け渡しを説明する図である。本例は、画像処理装置１００における競合設定一覧リスト６００８を取得する際の処理の流れを示す。
【０１４１】
なお、Ｓ１００１、Ｓ１００４、Ｓ１００５はＵＡＰ側の処理を示し、Ｓ１００２、Ｓ１００３はＡＰＦサブモジュール６００１側の処理を示す。
【０１４２】
また、各ステップは、図４に示すＣＰＵ１１２がＵＡＰ（５２０１〜５２０４のいずれか）と、ＡＰＦ５００３に示すプログラムモジュールを実行することで実現される。
【０１４３】
図１１において、まず、ＵＡＰはユーザによる操作部１５０の操作を受け付けたことに基づいて、設定情報と設定値を決める（Ｓ１００１）。そして、プラットフォームＡＰＩモジュール５００２に当該設定を示すＩＤと設定値を渡す。プラットフォームＡＰＩモジュール５００２により要求を受けたＡＰＦ５００３は、設定競合テーブル６００５を参照する（Ｓ１００２）。
【０１４４】
そして、プラットフォームＡＰＩモジュール５００２を介してＵＡＰから受け取った設定ＩＤと設定値に基づいて、ＡＰＦサブモジュール６００１のサブモジュールである競合判定部６００４は以下の競合設定一覧リスト６００８を生成する。具体的には、設定競合テーブル６００５に定義されたルールと、現在の画像処理装置１００の状態を示す属性保持部６００７に保持される情報とに基づいて、競合する、即ち併用できない設定に関する情報である競合設定一覧リスト６００８を生成する（Ｓ１００３）。
【０１４５】
競合設定一覧リスト６００８は、図６に示すように、競合設定の機能ＩＤの配列としてＡＰＩの戻り値としてＵＡＰに渡される。
【０１４６】
これを受けて、ＵＡＰは競合設定ＩＤとアプリケーションが持つ画面内のＧＵＩ部品（図８や図９や図１０のボタンなど）とを対応付け（Ｓ１００４）、競合する設定に対応するＧＵＩ部品を選択不可状態にする（Ｓ１００５）。
【０１４７】
ＧＵＩ部品を選択不可状態にすることとしては、図９、図１０で説明したように、ボタンをグレーアウト表示することや、ボタンの押下を受け付けないようにすることを含む。
【０１４８】
これにより、例えば図９に示すように、操作部１５０が備える液晶ディスプレイ上に操作画面が表示される。
【０１４９】
なお、一般的には設定内容を示す名称をラベルとして持つボタンがＧＵＩ部品として利用される。
【０１５０】
また、ステップＳ１００２、Ｓ１００３の処理を実行するＡＰＦ５００３が複数である場合も考えられる。例えば、コピーＵＡＰ５２０１が設定や設定値を指定した場合、ＡＰＦ側としては、スキャンモジュール５００４、プリントモジュール５００５がそれぞれ競合する設定の一覧を作成する。
【０１５１】
そして、コピーＵＡＰ５２０１に対してはスキャンモジュール５００４、プリントモジュール５００５それぞれが作成した競合設定の一覧をマージしたものが通知される。
【０１５２】
ＵＡＰから指定される設定や設定値に基づいて、どのＡＰＦ５００３のどのＡＰＦサブモジュールに競合設定リストを生成させるかは、プラットフォームＡＰＩモジュール５００２が決定する。
【０１５３】
また、プラットフォームＡＰＩモジュール５００２は、複数の競合機能リストのマージを行い、競合設定一覧リスト６００８を生成する。
【０１５４】
このように本実施形態では、ＵＡＰからの要求に対して画像処理機能を制御可能な画像処理装置１００は、設定競合テーブル６００５を備える。
【０１５５】
また、ＵＡＰ６００２からの要求が前記競合ルールに抵触するかを検証する競合判定部６００４を備える。
【０１５６】
また、ＵＡＰ６００２からの要求を取得時に、競合判定部６００４により判定された競合設定情報をアプリケーションに通知するプラットフォームインタフェース部６００３を備える。
【０１５７】
〔第２実施形態〕
第１の実施形態では、図８の操作画面で先に指定した設定に対して競合する設定を図９に示すように選択不可にするように制御した。
【０１５８】
第２実施形態では、競合した設定を含むすべての設定を選択可能とし、ある設定を選択した後に、競合する設定の選択を受け付けた場合には、先に選択した設定を初期状態にキャンセルしてしまうことにより競合を回避する。
【０１５９】
例えば「ページ連写設定」をＯＮに選択した後に、競合する設定である「縮小レイアウト」設定を選択すると、先に選択した「ページ連写機能」をＯＦＦに戻すように制御する。
【０１６０】
第２実施形態において、画像処理装置１００のソフトウエア、ハードウエアの構成は、図１〜図５に示したものと同一である。
【０１６１】
図１２は、本発明の第２実施形態を示す画像処理装置におけるＡＰＦサブモジュール６００１の詳細を示す図である。
【０１６２】
図１２において、図６と同じモジュールについては図６と同一の符号を付し、その説明は省略する。
【０１６３】
図１２において、ＡＰＦサブモジュール６００１は図６とは異なるサブモジュールとして、更新部１３０２を備える。更新部１３０２は、ＵＡＰ（５２０１〜５２０４）から選択された設定の属性を指定された値６００９に更新する。更新部１３０２は、属性を更新する際に、設定競合テーブル６００５と、属性保持部６００７を参照する。そして、競合ルールをもとに不整合があると判定した場合には、先に指定のあった機能の設定を初期値に戻す。
【０１６４】
図１３は、本実施形態を示す画像処理装置におけるＵＡＰ（５２０１〜５２０４のいずれか）とＡＰＦサブモジュール６００１との第２の受け渡しを説明する図である。本例は、画像処理装置１００における任意の機能を利用するために競合する設定の設定値を初期状態（デフォルト）にリセットする際の処理の流れを示す。
【０１６５】
なお、Ｓ１１０１、Ｓ１１０５、Ｓ１１０７はアプリケーション側の処理を示し、Ｓ１１０２、Ｓ１１０３、Ｓ１１０４、Ｓ１１０６はＡＰＦサブモジュール６００１の処理を示す。
【０１６６】
また、各ステップは、図４に示すＣＰＵ１１２が図５に示すＵＡＰ（５２０１〜５２０４のいずれか）、ＡＰＦサブモジュール６００１に対応するプログラムを実行することで実現される。
【０１６７】
図１３において、まず、ＵＡＰはユーザによる操作部１５０の操作を受け付けたことに基づいて、設定と設定値を決める（Ｓ１１０１）。
【０１６８】
そして、プラットフォームＡＰＩモジュール５００２を介して設定と設定値の選択を受け付けたＡＰＦ５００３は、選択された設定の設定値を更新する（Ｓ１１０２）。
【０１６９】
そして、ＡＰＦサブモジュール６００１のサブモジュールである競合判定部６００４は、設定競合テーブル６００５と、属性保持部６００７とを参照する（Ｓ１１０３）。
【０１７０】
そして、競合判定部６００４は、ステップＳ１１０１で設定した設定と競合する設定の一覧を作成し、これら競合するする設定の設定値を初期値にリセットする（Ｓ１１０４）。そして、その初期値が更新目録１３０４としてＵＡＰに引き渡される。初期値としては、当該機能が非選択の状態などが考えられる。
【０１７１】
これにより、値が更新されたことを認識したＵＡＰは、設定値を操作画面に反映するために設定値の再読み込みを行う（Ｓ１１０５）。
【０１７２】
そして、ＵＡＰが最新の設定値をＡＰＦサブモジュール６００１側に返答すると、ＡＰＦサブモジュール６００１がその設定値を最新属性値として取得する（Ｓ１１０６）。そして、ＵＡＰは各設定値に対応する状態に操作部１５０の操作画面上を更新する（Ｓ１１０７）。
【０１７３】
これにより、ＵＡＰから誤った設定値がＡＰＦサブモジュール６００１に指示された場合でも、ＵＡＰの誤った設定値がＡＰＦサブモジュール６００１に反映されてしまう事態を回避できる。
【０１７４】
例えば、図８の操作画面で、ユーザが「ページ連写」ボタンＢ１を押下した後に「表紙／合紙」ボタンＢ２を押下した場合、「表紙／合紙」設定と競合する「ページ連写」設定に関する設定をリセットする。これにより、競合する設定を同時に選択することなく「表紙／合紙」設定を選択可能にすることができる。
【０１７５】
なお、ここではＪａｖａ言語によるＡＰＩ呼び出しでの利用を説明したが、プラットフォームの機能の利用手法はこれに限られるものではない。
【０１７６】
例えばＳＯＡＰプロトコルを利用するＷｅｂサービス技術によって機能を提供すれば、物理的に離れた場所で動作するアプリケーションからでも画像処理装置１００の機能をネットワーク越しに利用することも可能である。
【０１７７】
〔第３実施形態〕
上記実施形態では、ユーザアプリケーションが画像処理装置１００の記憶装置にインストールされている場合ついて説明したが、ユーザアプリケーションは、ネットワークを介してサーバ等から取得されるものであってもよい。
【０１７８】
〔第４実施形態〕
上記実施形態では、画像処理装置１００単体による画像処理機能に関する競合設定を回避する場合について説明した。
【０１７９】
しかし、複数の画像処理装置１００を利用するような画像処理機能である場合には、設定を指示している装置が他の画像処理装置１００に同様の処理を依頼して、その競合情報を編集して、ユーザインタフェースの表示形態に反映させるように構成してもよい。
【０１８０】
〔第５実施形態〕
以下、図１４に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラム（制御プログラム）の構成について説明する。
【０１８１】
図１４は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１８２】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１８３】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。
【０１８４】
また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１８５】
本実施形態における図１１、図１３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１８６】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１８７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８８】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１８９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１９１】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。
【０１９２】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１９３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１９４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。
【０１９５】
例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９７】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１９８】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０１９９】
【図１】本発明の第１実施形態を示す画像処理装置の外観を示す斜視図である。
【図２】図１に示した画像処理装置の機能を説明するブロック図である。
【図３】図１に示した画像処理装置を構成する各ユニットの制御構成を示すブロック図である。
【図４】図３に示した制御装置のハードウェア構成を示すブロック図である。
【図５】図１に示した画像処理装置の具体例であるデジタル複写機コントローラのソフトウェアモジュール構造を示すブロック図である。
【図６】第１実施形態におけるアプリケーションプラットフォームのサブジュールの詳細を示すブロック図である。
【図７】図６に示した設定競合テーブルの一例を示す図である。
【図８】図３に示した操作部に表示される操作画面の表示例を示す図である。
【図９】図３に示した操作部に表示される操作画面の表示例を示す図である。
【図１０】図３に示した操作部に表示される操作画面の表示例を示す図である。
【図１１】第１実施形態におけるＵＡＰとＡＰＵサブモジュールによる処理を説明する図である。
【図１２】第２実施形態におけるアプリケーションプラットフォームのサブジュールの詳細を示すブロック図である。
【図１３】第２実施形態におけるＵＡＰとＡＰＵサブモジュールによる処理を説明する図である。
【図１４】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０２００】
５００３  アプリケーションプラットフォーム
６００２  ユーザアプリケーション
６００３  プラットフォームインタフェース部
６００４  競合判定部
６００５  設定競合テーブル
６００６  機能属性強制更新ロジック部
６００７  属性保持部
【図１】
0005121261.tif 000002
【図２】
0005121261.tif 000003
【図３】
0005121261.tif 000004
【図４】
0005121261.tif 000005
【図５】
0005121261.tif 000006
【図６】
0005121261.tif 000007
【図７】
0005121261.tif 000008
【図８】
0005121261.tif 000009
【図９】
0005121261.tif 000010
【図１０】
0005121261.tif 000011
【図１１】
0005121261.tif 000012
【図１２】
0005121261.tif 000013
【図１３】
0005121261.tif 000014
【図１４】
0005121261.tif 000015