(57)【要約】      （修正有）【課題】複数のプログラムモジュールを利用するアプリケーションプログラムにおいて、プログラムモジュールを追加したり、削除したりする場合に、アプリケーションプログラム本体を改変することなく、好適な順序で複数のプログラムモジュールを実行する。【解決手段】アプリケーションプログラム１１０が起動されると、制御装置１０１は、記憶装置１０２に記憶されているプログラムモジュール１２０〜１２２のそれぞれについて、プログラムモジュールの処理順序に関する処理順序情報１３０〜１３２を読み出す。制御装置１０１は、読み出された処理順序情報に従って、複数のプログラムモジュールの処理順序を決定する。【選択図】図１
2006085529.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置および制御装置を有する情報処理装置において実行され、複数のデータ編集機能のそれぞれに対応する複数のプログラムモジュールを利用するアプリケーションプログラムであって、該アプリケーションプログラムが起動されると、前記情報処理装置に、
前記記憶装置に記憶されている前記プログラムモジュールのそれぞれについて、該プログラムモジュールの処理順序に関する処理順序情報を前記制御装置によって前記記憶装置から読み出すステップと、
複数の前記プログラムモジュールのそれぞれについて読み出された前記処理順序情報に従って、複数の該プログラムモジュールの処理順序を決定するステップと
を実行させるアプリケーションプログラム。
【請求項２】
前記処理順序に従って、前記プログラムモジュールのそれぞれに対応する前記データ編集機能の各操作インタフェースが配置されたユーザインタフェースを表示するステップをさらに含む請求項１に記載のアプリケーションプログラム。
【請求項３】
前記表示のステップには、
前記プログラムモジュールのそれぞれについて読み出された前記処理順序情報を、前記記憶装置に記憶される前記アプリケーションプログラムの管理情報へと、前記制御装置によって登録するステップと、
前記管理情報に登録された前記処理順序情報を読み出し、読み出された該処理順序情報に従って複数の前記データ編集機能の各操作インタフェースが配置された前記ユーザインタフェースを作成するステップと
が含まれる、請求項２に記載のアプリケーションプログラム。
【請求項４】
前記アプリケーションプログラムの管理情報は、該アプリケーションプログラム内の内部テーブル、ＯＳのレジストリデータ、または該アプリケーションプログラムから分離された設定ファイルの何れかに含まれる、請求項３に記載のアプリケーションプログラム。
【請求項５】
編集対象となるデータに対して、決定された前記処理順序に従って、複数の前記データ編集機能のそれぞれに対応するデータ編集処理を前記制御装置によって実行するステップをさらに含む請求項１に記載のアプリケーションプログラム。
【請求項６】
前記アプリケーションプログラムに、他のデータ編集機能に対応する他のプログラムモジュールを追加する際に、追加される該プログラムモジュールが、複数ある前記プログラムモジュールのうち第１のプログラムモジュールと第２のプログラムモジュールとの間の順番で実行されるべきときは、該第１のプログラムモジュールの次であって該第２のプログラムモジュールの前となる実行順番を表す値が、追加される該プログラムモジュールの処理順序情報に設定される、請求項１に記載のアプリケーションプログラム。
【請求項７】
前記データ編集機能は、画像データの補正機能である、請求項１に記載のアプリケーションプログラム。
【請求項８】
前記プログラムモジュールの処理順序情報は、該プログラムモジュール内のリソースデータ、ＯＳのレジストリデータ、または前記プログラムモジュールから分離された設定ファイルの何れかに含まれる、請求項１に記載のアプリケーションプログラム。
【請求項９】
請求項１ないし請求項８の何れかに記載のアプリケーションプログラムを記憶したコンピュータ可読記憶媒体。
【請求項１０】
複数のデータ編集機能のそれぞれに対応する複数のプログラムモジュールを利用するアプリケーションプログラムを実行する情報処理装置であって、
前記アプリケーションプログラムと前記複数のプログラムモジュールとを記憶する記憶手段と、
前記アプリケーションプログラムが起動されると、前記記憶手段に記憶されている前記プログラムモジュールのそれぞれについて、該プログラムモジュールの処理順序に関する処理順序情報を読み出す読み出し手段と、
複数の前記プログラムモジュールのそれぞれについて読み出された前記処理順序情報に従って、複数の該プログラムモジュールの処理順序を決定する決定手段と
を含む情報処理装置。
【請求項１１】
複数のデータ編集機能のそれぞれに対応する複数のプログラムモジュールを利用するアプリケーションプログラムを実行する情報処理方法であって、
前記アプリケーションプログラムと前記複数のプログラムモジュールとを記憶装置に記憶するステップと、
前記アプリケーションプログラムが起動されると、前記記憶装置に記憶されている前記プログラムモジュールのそれぞれについて、該プログラムモジュールの処理順序に関する処理順序情報を読み出すステップと、
複数の前記プログラムモジュールのそれぞれについて読み出された前記処理順序情報に従って、複数の該プログラムモジュールの処理順序を決定するステップと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、好適な処理順序が概ね決まっている複数のプログラムモジュールを利用するアプリケーションプログラムに対して、好適に他のプログラムモジュールを追加する技術に関する。
【背景技術】
【０００２】
データを編集するための複数のプログラムモジュールを利用するアプリケーションプログラムにおいて、各プログラムモジュールの処理順序については、好ましい順番が決まっている場合がある。とりわけ、画像処理の分野では、画像の特性を補正する複数の機能の処理順序には、重要な意味が存在する。
【０００３】
たとえば、画像データに予め格納されている撮影時の情報を利用した補正処理を「補正処理１」とし、任意に明るさを補正する補正処理を「補正処理２」とする。また、撮影時「フラッシュなし」のデータについては、自動的に補正処理１を適用して、明るさをより明るくする補正が実行されるように設定されているものとする。
【０００４】
この前提において、「フラッシュなし」で撮影された画像データについて、補正処理２によってユーザの好みに応じて、明るさがより暗くなるように画像データを補正した後で、自動的に補正処理１を実行してしまうと、折角、明るさを暗めに補正したにもかかわらず、再び明るさが元に戻されてしまうといった不都合が生じる。
【０００５】
この場合は、撮影情報に従って補正処理１を実行した後で、ユーザの好みに応じて補正処理２を実行すれば、上述の問題を生じない。このように、各補正処理については予め好ましい処理順序が存在するのである。
【０００６】
従来、このような補正順序や各補正処理の機能は、アプリケーションプログラム内でのみ規定されていた。そのため、新規の補正機能をアプリケーションプログラムに追加しようとすると、その補正処理の順序を考慮した上で、アプリケーションプログラムを改変しなければならなかった。
【０００７】
ところで、補正機能に関するモジュールをプラグイン形式で追加したり削除したりするアプリケーションプログラムが提案されている（特許文献１）。
【特許文献１】特開２００３−１２５２２２号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の発明によって、新規の補正機能を容易に追加できるようになるが、依然として、その補正処理の順序を考慮した上で、アプリケーションプログラムを改変しなければならないといった課題が存在する。
【０００９】
そこで、本発明は、このような課題および他の課題の少なくとも１つを解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明は、記憶装置および制御装置を有する情報処理装置において実行され、複数のデータ編集機能のそれぞれに対応する複数のプログラムモジュールを利用するアプリケーションプログラムであって、該アプリケーションプログラムが起動されると、前記情報処理装置に、前記記憶装置に記憶されている前記プログラムモジュールのそれぞれについて、該プログラムモジュールの処理順序に関する処理順序情報を前記制御装置によって前記記憶装置から読み出すステップと、複数の前記プログラムモジュールのそれぞれについて読み出された前記処理順序情報に従って、複数の該プログラムモジュールの処理順序を決定するステップとを実行させるアプリケーションプログラムを提供する。
【発明の効果】
【００１１】
本発明によれば、各プログラムモジュールの処理順序を処理順序情報によって管理するようにするので、とくに、新規のプログラムモジュールが追加されるときは、当該モジュールの処理順序情報を好適に設定することで、アプリケーションプログラムを改変することなく、好適な順序で複数のプログラムモジュールを実行することが可能になる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の上位概念、中位概念および下位概念の理解に役立つ一実施形態を示す。なお、以下の実施形態に含まれる概念について、そのすべてが特許請求の範囲に記載されているとは限らない。ただし、これは特許発明の技術的範囲から意識的に除外したのではなく、特許発明と均等の関係にあるため特許請求の範囲には記載していない場合があることを理解していただきたい。
【００１３】
［第１の実施形態］
図１は、実施形態に係る情報処理装置の例示的なブロック図である。図において、制御装置１０１は、アプリケーションプログラム１１０など従って各機能ブロックを制御するＣＰＵなどの制御手段である。記憶装置１０２は、ＲＡＭやハードディスクドライブなどから構成される記憶手段である。記憶装置１０２は、複数のデータ編集機能のそれぞれに対応する複数のプログラムモジュール１２０、１２１および１２２や、これらのプログラムモジュールを利用するアプリケーションプログラム１１０が記憶されている。
【００１４】
記憶装置１０２に記憶されているプログラムモジュール１２０〜１２２のそれぞれについては、当該プログラムモジュールの処理順序に関する処理順序情報１３０、１３１、および１３２が記憶されている。処理順序情報１３０〜１３１は、プログラムモジュール内のリソースデータ、ＯＳ（オペレーティングシステム）のレジストリデータ、またはプログラムモジュールから分離された設定ファイルなど、何らかの保存手法によって記憶装置１０２に記憶されている。
【００１５】
管理情報１１１は、アプリケーションプログラム１１０の内部テーブル、ＯＳのレジストリデータ、またはプログラムモジュールから分離された設定ファイルなど、何らかの保存手法によって記憶装置１０２に記憶されている。この管理情報１１０には、プログラムモジュール１２０〜１２２のそれぞれについて読み出された処理順序情報１３０〜１３２が登録されている。とりわけ本実施形態では、アプリケーションプログラム１１０が起動されるたびに制御装置１０１によって管理情報１１１の内容が更新されることが好ましい。
【００１６】
制御装置１０１は、複数のプログラムモジュール１２０〜１２２のそれぞれについて読み出された処理順序情報１３０〜１３２に従って、各プログラムモジュールの処理順序を決定する。管理情報１１１には、処理順序情報１３０〜１３２がそのまま登録されてもよいし、決定された処理順序が登録されてもよい。
【００１７】
表示装置１０３は、複数の前記データ編集機能の各操作インタフェースが配置されたユーザインタフェースを表示する表示手段である。この例のユーザインタフェースによれば、第１のプログラムモジュール１２０に対応する第１の編集機能についての操作インタフェース１４１が示されている。同様に、第２のプログラムモジュール１２１に対応する操作インタフェース１４２、第ｎのプログラムモジュール１２２に対応する操作インタフェース１４３がそれぞれ示されている（ｎは２以上の自然数）。実行ボタン１５４は、各操作インタフェース上に設けられており、これが操作されると対応する編集処理が、編集対象データに対して実行される。次へボタン１５５は、第ｎ編集機能以外の操作インタフェースに設けられており、これが操作されると、次の処理順序の操作インタフェース（すなわち、ユーザインタフェース上で次に配置されている操作インタフェース）がアクティブとなる。表示ボックス１４６には、編集対象のデータが表示される。
【００１８】
図２は、実施形態に係る情報処理方法の一例を示すフローチャートである。このフローチャートは上述の情報処理装置により実行されるアプリケーションプログラム１１０の処理を示している。
【００１９】
アプリケーションプログラム１１０が起動されると、ステップＳ２０１において、制御装置１０１は、記憶装置１０２に記憶されているプログラムモジュール１２０〜１２２のそれぞれについて、当該プログラムモジュールの処理順序に関する処理順序情報１３０〜１３２を記憶装置１０２から読み出す。
【００２０】
ステップＳ２０２において、制御装置１０１は、複数のプログラムモジュール１２０〜１２２のそれぞれについて読み出された処理順序情報１３０〜１３２に従って、各プログラムモジュールの処理順序を決定する。そして、プログラムモジュール１２０〜１２２のそれぞれについて読み出された処理順序情報１３０〜１３２に従って、複数のデータ編集機能の各操作インタフェース１４１〜１４３が配置されたユーザインタフェースを表示装置１０３に表示する。
【００２１】
なお、ステップＳ２０２には、たとえば、次のステップに細分化することができる。ステップＳ２１０において、制御装置１０１は、プログラムモジュール１２０〜１２２のそれぞれについて読み出された処理順序情報１３０〜１３２を、記憶装置１０２に記憶されているアプリケーションプログラム１１０の管理情報１１１へと登録する。この際に、制御装置１０１は、各プログラムモジュール１２０〜１２２のそれぞれの処理順序情報１３０〜１３２に従って、各プログラムモジュール１２０〜１２２の処理順序を決定し、決定された処理順序を表す情報を管理情報１１１に登録してもよい。
【００２２】
ステップＳ２１１において、制御装置１０１は、管理情報１１１に登録された処理順序情報を読み出し、読み出された処理順序情報に従って複数のデータ編集機能の各操作インタフェース１４１〜１４３を配置し、ユーザインタフェースを作成する。
【００２３】
そして、ステップＳ２０３において、制御装置１０１は、編集対象となるデータに対して、ユーザインタフェース上の配置順序または処理順序情報に規定された処理順序に従って、複数のデータ編集機能のそれぞれに対応するデータ編集処理を実行する。
【００２４】
本実施形態によれば、各プログラムモジュール１２０〜１２２の処理順序を処理順序情報１３０〜１３２によって管理し、この処理順序情報に従ってユーザインタフェースを表示するようにしたので、とくに、新規のプログラムモジュールが追加されるときは、当該モジュールの処理順序情報を好適に設定することで、アプリケーションプログラムを改変することなく、好適な順序で複数のプログラムモジュールを実行することが可能になる。
【００２５】
図３は、実施形態において、他のプログラムモジュールが追加されたときの動作を説明する図である。この例では、アプリケーションプログラム１１０に、他のデータ編集機能に対応する他の第３のプログラムモジュール１２３を追加することを考えてみる。また、追加される第３のプログラムモジュール１２３が、第１のプログラムモジュール１２０と第２のプログラムモジュール１２１との間の順番で実行されるべきものとする。この場合、第１のプログラムモジュール１２０の次であって、第２のプログラムモジュール１２１の前となる実行順番を表す値が、追加される第３のプログラムモジュールの処理順序情報１３３に設定される。
【００２６】
制御装置１０１は、アプリケーションプログラム１１０が起動されると、第３のプログラムモジュール１２３の処理順序情報１３３を読み出し（Ｓ２０１）、処理順序情報１３０〜１３３に従って、各プログラムモジュールの処理順序を決定し、続いて、第３のプログラムモジュール１２３の操作インタフェース１４４を、第１の操作インタフェース１４１と、第２の操作インタフェース１４２との間に配置する（Ｓ２０２）。また、編集処理の順番も管理情報１１１に反映されるので、第１のプログラムモジュール１２０に対応する第１編集機能１４１が実行された後に、第３のプログラムモジュール１２０に対応する第３編集機能１４４が実行される（Ｓ２０３）。
【００２７】
このように、本実施形態では、アプリケーションプログラムを改変することなく、好適な順序で複数のプログラムモジュールを実行することが可能になる。
【００２８】
また、処理順序に従って、各プログラムモジュールに対応する操作インタフェースをユーザインタフェース上で再配置するようにしたので、プログラムモジュールを追加したり削除したりした結果が適確にユーザインタフェースに反映される。そのため、ユーザは、視覚的にどの編集機能を使用できるかを把握できる。しかも操作インタフェースは処理順序に従って並んでいるので、ユーザは、視覚的に処理順序を認識しやすくなる。
【００２９】
また、アプリケーションプログラムの管理情報は、アプリケーションプログラム内の内部テーブルだけでなく、ＯＳのレジストリデータ、または該アプリケーションプログラムから分離された設定ファイルの何れかによっても管理できる。これにより、アプリケーションプログラムを改変することなく、プログラムモジュールを追加または削除でき、しかも複数のプログラムモジュールの実行順序を、アプリケーションプログラムを改変することなく変更できる。
【００３０】
編集対象となるデータに対して、決定された処理順序に従って、複数のデータ編集機能のそれぞれに対応するデータ編集処理を実行することで、ユーザが不適切な順序でデータ編集処理を実行してしまう恐れを低減できる。
【００３１】
プログラムモジュールの処理順序情報は、プログラムモジュール内のリソースデータ、ＯＳのレジストリデータ、またはプログラムモジュールから分離された設定ファイルの何れかに含まれるようにしたので、処理順序情報を開発者等が設定しやすくなるといったメリットがある。
【００３２】
［第２の実施形態］
本実施形態では、アプリケーションプログラムの一例として画像補正プログラムに本発明を適用する例を説明する。
【００３３】
図４は、実施形態に係る画像形成システムの一例を示す図である。本実施形態における画像形成システムでは、印刷データ（たとえば、制御コマンドなど）を生成する情報処理装置４００と、その印刷データに基づいて画像を形成するプリンタ４７０とが含まれる。プリンタ４７０は、画像形成装置の一例であり、印刷機能を内蔵した複合機などであってもよい。また、情報処理装置４００は、画像データの補正を行なうためのアプリケーションプログラム４１１がインストールされており、画像処理装置として機能する。
【００３４】
情報処理装置４００は、メモリ４１０、ＣＰＵ４３０、ハードディスク・コントローラ（ＨＤＣ）４２０、ハードディスク（ＨＤ）４２１、フロッピー（登録商標）ディスク・コントローラ（ＦＤＣ）４２５、フロッピー（登録商標）ディスクドライブ（ＦＤ）４２６、プリンタ・コントローラ（ＰＲＴＣ）４４０、キーボード・コントローラ（ＫＢＣ）４５０、キーボード（ＫＢ）４５１、ＣＲＴコントローラ（ＣＲＴＣ）４６０、ＣＲＴ４６１などを備えている。
【００３５】
メモリ４１０は、たとえば、ＨＤ４２１からロードされた画像補正処理を司るアプリケーションプログラム４１１、プリンタ４７０に対応する印刷データを生成するためのソフトウェアであるプリンタドライバ４１２、プリンタ４７０に供給すべき印刷データをスプールするスプーラ領域４１３、その他不図示のＯＳ（オペレーティングシステム）やワーク領域等を有する。
【００３６】
ＣＰＵ４３０は、メモリ４１０内のアプリケーションプログラム４１１、プリンタドライバ４１２、ＯＳ等に基づいて動作する。なお、ＣＰＵ４３０は、電源が投入されると、不図示のＲＯＭに記憶されたブートプログラムにより起動し、ＨＤ４２１からメモリ４１０にＯＳをロードした後、アプリケーションプログラム４１１も同様にメモリ４１１にロードする。これによって、情報処理装置４００およびプリンタ４７０は、画像形成システムとして機能する。また、当然のことながら、ＣＰＵ４３０は、ＨＤＣ４２０を介してＨＤ４２１にアクセスし、データを読み出したり、書き込んだりすることができる。
【００３７】
ＰＲＴＣ４４０は、スプーラ領域４１３に蓄積された印刷データを順次プリンタ４７０に送信する。ＫＢＣ４５０は、ＫＢ４５１を制御し、ユーザから指示されたデータを装置内に取り込む。ＣＲＴＣ４６０は、表示装置として機能するＣＲＴ４６１を制御するコントローラである。これらのＫＢＣ４５０、ＫＢ４５１、ＣＲＴＣ４６０、およびＣＲＴ４６１等は、ＣＰＵ４３０の制御に応じてユーザインタフェースを構成する。なお、情報処理装置４００は、ポインティング・デバイス等の他の機能ブロックを備えてもよい。
【００３８】
また、プリンタ４７０には、情報処理装置４００から印刷データを受信したり、各種ステータスを情報処理装置４００に送信したりするためのインタフェース４７１と、主として受信した印刷データを解釈し、ビットマップイメージデータを生成するプリンタ制御部４７２と、プリンタ制御部４７２から出力されてきたビットマップイメージデータを受信し、実際に画像を形成するプリンタエンジン４７３が含まれている。なお、図示してはいないが操作パネル等が含まれていてもよい。
【００３９】
図５は、実施形態に係る画像補正モジュールのリソースデータの構成例を示す図である。本実施形態では、固定のデータであるリソースデータ５００が各画像補正用のＤＬＬ（ダイナミック・リンク・ライブラリ）モジュール内に含まれている。リソースデータ５００には、当該ＤＬＬモジュールが画像補正モジュールであることを示すための画像補正モジュール識別フラグ５０１と、アプリケーションプログラム４１１が画像補正モジュールを特定するための画像補正ＩＤ５０２と、アプリケーションプログラム４１１がユーザインタフェースのタブ上に表示するためのタブ名称５０３と、補正処理の相対的な順序を示す処理順序情報５０４と、その他の情報を格納するその他情報５０５とを含んでいる。
【００４０】
図６は、実施形態に係るアプリケーションプログラムの内部に作成される内部テーブルの構成例を示す図である。図に示すように、内部テーブル６００には、３つの画像補正モジュールに関する制御情報６１０〜６１２が登録されている。各制御情報には、補正処理の実行順序を示す処理順序情報６０１、画像補正モジュールを識別するための画像補正ＩＤ６０２、ユーザインタフェースのタブ上に表示されるタブ名称６０３、およびその他の情報を示すその他情報６０４から構成される。このように、内部テーブル６００では、アプリケーションプログラム４１１によって利用される複数の画像補正モジュールから読み出されたリソースデータ５００の内容が制御情報として反映される。
【００４１】
図７は、実施形態に係る画像補正用のアプリケーションプログラムに関する例示的なフローチャートである。なお、このフローチャートに関する処理は、アプリケーションプログラム４１１に従って、ＣＰＵ４３０により実行されるものとする。
【００４２】
画像補正用のアプリケーションプログラム４１１を起動すると、ステップＳ７０１において、ＣＰＵ４３０は、アプリケーションプログラム４１１のインストール先フォルダからＤＬＬモジュールを読み出す。インストール先フォルダが、ＨＤ４２１に記憶されていることはいうまでもない。
【００４３】
ステップＳ７０２において、ＣＰＵ４３０は、読み出されたＤＬＬモジュールからリソースデータ５００を読み出す。
【００４４】
ステップＳ７０３において、ＣＰＵ４３０は、読み出されたリソースデータ５００に画像補正モジュール識別フラグ５０１が存在するかどうかを判定する。存在しなければステップＳ７０６に進む。一方、存在した場合は、ステップＳ７０４に進む。
【００４５】
ステップＳ７０４において、ＣＰＵ４３０は、リソースデータ５００内の処理順序情報に従って画像補正モジュールの処理順序を決定する。さらに、当該画像補正モジュールに対応するタブの、ユーザインタフェース上における表示位置を決定する。たとえば、画像補正モジュールＡの処理順序情報に数値「１００」が設定されており、画像補正モジュールＢの処理順序情報に数値「２００」が設定されており、かつ、画像補正モジュールＣの処理順序情報に数値「３００」が設定されていたとする。この場合ＣＰＵ４３０は、各処理順序情報の大小を判定し、画像補正モジュールＡの配置順序を１番目とし、画像補正モジュールＢの配置順序を２番目とし、画像補正モジュールＣの配置順序を３番目と決定する。
【００４６】
ステップＳ７０５において、ＣＰＵ４３０は、決定された表示位置や処理順序に関する情報を保持するために内部テーブル６００に登録する。なお、ＣＰＵ４３０は、単純に、リソースデータ５００の内容を内部テーブル６００に登録するだけで、ステップＳ７０４を省略してもよい。リソースデータ５００の処理順序情報には予め相対的な処理順序の値が設定されているからである。
【００４７】
ステップＳ７０６において、ＣＰＵ４３０は、インストール先フォルダに次のＤＬＬモジュールが存在するかどうかを判定する。判定の結果、次のＤＬＬモジュールが存在した場合は、ステップＳ７０１に戻り、上述の処理を繰り返す。一方、次のＤＬＬモジュールが存在しなければ、ステップＳ７０７に進む。
【００４８】
ステップＳ７０７において、ＣＰＵ４３０は、内部テーブル６００を参照しながら、処理順序情報に従って各画像補正モジュール用の補正タブをユーザインタフェース上に配置し、補正タブの名称として、内部テーブルのタブ名称６０３を読み出して補正タブに設定するなどして、ユーザインタフェースを作成する。
【００４９】
ステップＳ７０８において、ＣＰＵ４３０は、ＣＰＴＣ４６０を通じて、作成したユーザインタフェースをＣＲＴ４６１に表示する。
【００５０】
ステップＳ７０９において、ＣＰＵ４３０は、画像補正の対象となる画像データを読み込む。すなわち、ＨＤ４２１に記憶されている画像データを指定して、メモリ４１０にロードする。
【００５１】
ステップＳ７１０において、ＣＰＵ４３０は、補正タブの配置順序（リソースデータ５００の処理順序情報５０４、または内部テーブル６００内の処理順序情報６０１）に従って、順番に画像補正処理を、画像データに適用してゆく。
【００５２】
本実施形態によれば、画像補正用のアプリケーションプログラムにおいて、補正機能ごと個別の画像補正モジュールを作成し、かつ、各画像補正モジュール内に補正処理の処理順序情報を備えるようにする。これにより、各画像補正モジュールの処理順序情報を適宜設定するだけで、アプリケーションプログラム本体を変更することなく、補正機能を追加したり削除したりすることが容易に可能となる。
【００５３】
図８は、実施形態に係る画像補正モジュールの具体例を示す図である。この例では、画像補正機能Ａを実現する画像補正モジュールである「補正Ａ．ＤＬＬ」と、画像補正機能Ｂを実現する画像補正モジュールである「補正Ｂ．ＤＬＬ」と、画像補正機能Ｃを実現する画像補正モジュールである「補正Ｃ．ＤＬＬ」とがＨＤ４２１にインストールされている。また、それぞれ、処理順序情報は、１００、２００、３００に設定されている。
【００５４】
図９は、実施形態に係る画像補正アプリケーションプログラムのユーザインタフェースの一例を示す図である。図９は、とりわけ図８の環境を反映させたものである。すなわち、アプリケーションプログラム４１１起動されると、上述のフローチャートに従って、アプリケーション用のウインドウ９００が作成され、表示される。
【００５５】
たとえば、処理順序情報によれば、画像補正機能Ａ（補正Ａ．ＤＬＬ）が１番目に実行されるべきであるから、画像補正機能Ａ用のタグ９４１が最も左に配置される。また、処理順序情報によれば、画像補正機能Ｂ（補正Ｂ．ＤＬＬ）が２番目に実行されるべきであるから、画像補正機能Ｂ用のタグ９４２が左から２番目に配置される。画像補正機能Ｃ（補正Ｃ．ＤＬＬ）が３番目に実行されるべきであるから、画像補正機能Ｃ用のタグ９４３が左から３番目に配置される。
【００５６】
図９の例では、表示ボックス９４６に表示されている処理対象の画像データに対してすでに画像補正機能Ａが実行されており、画像補正機能Ｂの実行順番となっている。そのため画像補正機能Ｂ用のタグ９４２がアクティブになっている。ここで補正実行ボタン９５４が操作されると、画像補正機能Ｂが画像データに適用される。次へボタン９５５が操作されると画像補正機能Ｃのタグ９４３がアクティブとなる。
【００５７】
図１０は、実施形態に係る画像補正モジュールの他の具体例を示す図である。この例では、新規の画像補正機能として、画像補正モジュールＤ（補正Ｄ．ＤＬＬ）と、画像補正モジュールＥ（補正Ｅ．ＤＬＬ）とがインストール先フォルダに追加されている。なお、開発者は、画像補正モジュールＤを画像補正モジュールＡとＢとの間に追加し、画像補正モジュールＥを、画像補正モジュールＢとＣとの間に追加したいと希望しているものとする。この場合は、画像補正モジュールＤについては、画像補正モジュールＡの処理順序情報「１００」と、画像補正モジュールＢの処理順序情報「２００」との間にくるような処理順序情報を画像補正モジュールＤに設定すればよいので、たとえば「１５０」などを設定する。画像補正モジュールＥについては、画像補正モジュールＢの処理順序情報「２００」と、画像補正モジュールＣの処理順序情報「３００」との間にくるような処理順序情報を画像補正モジュールＥに設定すればよいので、たとえば「２５０」などを設定する。
【００５８】
この状態で、アプリケーションプログラム４１１が起動されると、画像補正モジュールＡないしＥについてリソースデータが読み出され（Ｓ７０１，Ｓ７０２）、その内容が内部テーブルに反映される（Ｓ７０３〜Ｓ７０６）。そして、新しい内部テーブルに登録されている各画像補正モジュールの処理順序情報に従って、それぞれのタブが順番に配置され、ユーザインタフェースが作成されて（Ｓ７０７）、表示される（Ｓ７０８）。
【００５９】
図１１は、実施形態に係る画像補正アプリケーションプログラムの他のユーザインタフェースの一例を示す図である。ユーザインタフェース１１００には、処理順序情報に従って、各画像補正モジュールのタグ１１４１ないし１１４５が配置される。すなわち、画像補正機能Ａ（補正Ａ．ＤＬＬ）が１番目に実行されるべきであるから、画像補正機能Ａ用のタグ１１４１が最も左に配置される。また、処理順序情報によれば、画像補正機能Ｄ（補正Ｄ．ＤＬＬ）が２番目に実行されるべきであるから、画像補正機能Ｄ用のタグ１１４４が左から２番目に配置される。また、処理順序情報によれば、画像補正機能Ｂ（補正Ｂ．ＤＬＬ）が３番目に実行されるべきであるから、画像補正機能Ｂ用のタグ１１４２が左から３番目に配置される。また、処理順序情報によれば、画像補正機能Ｅ（補正Ｅ．ＤＬＬ）が４番目に実行されるべきであるから、画像補正機能Ｅ用のタグ１１４５が左から４番目に配置される。そして、画像補正機能Ｃ（補正Ｃ．ＤＬＬ）が５番目に実行されるべきであるから、画像補正機能Ｃ用のタグ１１４３が左から５番目に配置される。
【００６０】
以上説明したように、本実施形態によれば、アプリケーションプログラムを改変することなく、画像補正モジュールを容易に追加できる。しかも、複数の画像補正モジュールが利用される場合に、その処理順序に意味がある場合は、各画像補正モジュールの処理順序情報を適宜設定することで、アプリケーションプログラムを改変することなく、ユーザインタフェースを動的に変更することができる。また、各画像補正モジュールの処理順序についても、アプリケーションプログラムを改変することなく、処理順序情報によって好適に制御できるようになる。
【００６１】
また、必ずしも補正モジュールの動作順を厳密に規定させ無くても良い。つまり使用者は、処理順序情報に従った順序で処理をしなくても可能に設計しておいても構わない。しかし、各種の画像処理の経験が高い人のお薦めの処理順序や、プログラム設計上のお薦めの処理順序を、使用者に明示出来るので、使用者にとっても、詳しい知識を必要とせずに、好ましい処理順序で処理が可能になる。
【００６２】
［他の実施形態］
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。すなわち、単体にＰＣにアプリケーションプログラムやプログラムモジュールをインストールしてもよいし、アプリケーションプログラムやプログラムモジュールをアプリケーションサーバに記憶しておき、クライントＰＣにダウンロードして本発明を実現してもよい。
【００６３】
なお、本発明は、前述した実施形態の各機能を実現するソフトウェアプログラム（本実施形態では図２または７に示すフローチャートに対応したプログラム）を、システム若しくは装置に対して直接または遠隔から供給し、そのシステム若しくは装置に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【００６４】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００６５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６６】
プログラムを供給するための記録媒体としては、たとえば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００６７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００６８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７１】
【図１】図１は、実施形態に係る情報処理装置の例示的なブロック図である。
【図２】図２は、実施形態に係る情報処理方法の一例を示すフローチャートである。
【図３】図３は、実施形態において、他のプログラムモジュールが追加されたときの動作を説明する図である。
【図４】図４は、実施形態に係る画像形成システムの一例を示す図である。
【図５】図５は、実施形態に係る画像補正モジュールのリソースデータの構成例を示す図である。
【図６】図６は、実施形態に係るアプリケーションプログラムの内部に作成される内部テーブルの構成例を示す図である。
【図７】図７は、実施形態に係る画像補正用のアプリケーションプログラムに関する例示的なフローチャートである。
【図８】図８は、実施形態に係る画像補正モジュールの具体例を示す図である。
【図９】図９は、実施形態に係る画像補正アプリケーションプログラムのユーザインタフェースの一例を示す図である。
【図１０】図１０は、実施形態に係る画像補正モジュールの他の具体例を示す図である。
【図１１】図１１は、実施形態に係る画像補正アプリケーションプログラムの他のユーザインタフェースの一例を示す図である。
【図１】
2006085529.tif 000003
【図２】
2006085529.tif 000004
【図３】
2006085529.tif 000005
【図４】
2006085529.tif 000006
【図５】
2006085529.tif 000007
【図６】
2006085529.tif 000008
【図７】
2006085529.tif 000009
【図８】
2006085529.tif 000010
【図９】
2006085529.tif 000011
【図１０】
2006085529.tif 000012
【図１１】
2006085529.tif 000013