(57)【要約】【課題】ソフトウェアの生産性、再利用性を向上させる。【解決手段】  デバイスの状態を管理するデバイス状態管理クラスと、デバイス状態管理クラスを継承すると共に、画像処理として使用される機能毎に存在して、当該機能において複数の機種に共通している設定を行うクラス群と、当該クラス群に含まれるクラスを継承すると共に、機能毎に存在して、継承したクラスの機能において自装置の機種固有の設定を行うクラス群と、を備える。【選択図】        図３
2007317101.tif 000002
【特許請求の範囲】
【請求項１】
機能に共通する情報を管理するデバイス管理手段と、
前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、
前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記固有機能処理手段と情報の送受信が可能な経路管理手段と、
前記経路管理手段を継承すると共に、前記固有機能処理手段を生成する経路作成手段と、
をさらに備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記固有機能処理手段は、各機能について色毎に複数備えられ、対応する色における前記機能の設定を行うこと、
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記経路作成手段は、色毎に備えられ、対応付けられた色で使用される機能の設定を行う前記固有機能処理手段を生成すること、
を特徴とする請求項３に記載の情報処理装置。
【請求項５】
処理の要求を受け付け、該処理に必要な機能に対応する前記固有機能処理手段に対して、該機能に対して該処理に適した設定を要求する要求受付手段をさらに備え、
前記固有機能処理手段は、前記要求受付手段からの要求に応じて、前記機能に対し前記処理に適した設定を行うこと、
を特徴とする請求項１乃至４のいずれか一つに記載の情報処理装置。
【請求項６】
前記要求受付手段は、外部から処理の要求を受け付けた場合に生成されること、
を特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記共有機能処理手段は、前記機能において複数の機種に共通する設定を行う操作を有すること、
を特徴とする請求項１乃至６のいずれか一つに記載の情報処理装置。
【請求項８】
前記共有機能処理手段は、前記操作として、画像データの入力処理を行うための操作を有すること、
を特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記共有機能処理手段は、前記操作として、情報処理装置において処理が行われた画像データの出力処理を行うための操作を有すること、
を特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記固有機能処理手段は、前記機能において自装置の機種に固有の設定を行う操作を有すること、
を特徴とする請求項１乃至９のいずれか一つに記載の情報処理装置。
【請求項１１】
前記経路作成手段は、前記情報処理装置が起動した時に前記固有機能処理手段を生成すること、
を特徴とする請求項１乃至１０のいずれか一つに記載の情報処理装置。
【請求項１２】
前記デバイス管理手段は、使用可能な機能に共通する情報として、前記機能の状態を管理していること、
を特徴とする請求項１乃至１１のいずれか一つに記載の情報処理装置。
【請求項１３】
画像処理時に使用される機能に共通する情報を管理するデバイス管理手段と、
前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、
前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項１４】
前記固有機能処理手段と情報の送受信が可能な経路管理手段と、
前記経路管理手段を継承すると共に、前記固有機能処理手段を生成する経路作成手段と、
をさらに備えたことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記固有機能処理手段は、各機能について色毎に複数備えられ、対応する色における前記機能の設定を色毎に行うこと、
を特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
処理の要求を受け付け、受け付けた該処理に必要な機能に対応する前記固有機能処理手段に対して、該機能に対して該処理に適した設定を要求する要求受付手段をさらに備え、
前記固有機能処理手段は、前記要求受付手段からの要求に応じて、前記機能に対し前記処理に適した設定を行うこと、
を特徴とする請求項１３乃至１５のいずれか一つに記載の画像処理装置。
【請求項１７】
画像処理時に使用される機能に共通する情報を管理するデバイス管理手段と、
前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、
前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、
を備えたことを特徴とする画像形成装置。
【請求項１８】
前記固有機能処理手段と情報の送受信が可能な経路管理手段と、
前記経路管理手段を継承すると共に、前記固有機能処理手段を生成する経路作成手段と、
をさらに備えたことを特徴とする請求項１７に記載の画像形成装置。
【請求項１９】
前記固有機能処理手段は、各機能について色毎に複数備えられ、対応する色における前記機能の設定を色毎に行うこと、
を特徴とする請求項１８に記載の画像形成装置。
【請求項２０】
処理の要求を受け付け、受け付けた該処理に必要な機能に対応する前記固有機能処理手段に対して、該機能に対して該処理に適した設定を要求する要求受付手段をさらに備え、
前記固有機能処理手段は、前記要求受付手段からの要求に応じて、前記機能に対し前記処理に適した設定を行うこと、
を特徴とする請求項１７乃至１９のいずれか一つに記載の画像形成装置。
【請求項２１】
機能に対して設定を行う手段として、コンピュータを機能させるプログラムであって、
機能に共通する情報を管理するデバイス管理手段と、
前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、
前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、
としてコンピュータを機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像処理装置、画像形成装置及び情報処理プログラムに関するものであり、特に機能について設定を行う技術に関するものである。
【背景技術】
【０００２】
従来から、画像形成装置において、複数の機種が製品化されていた。このような画像形成装置では、機種毎に異なる機能を備えていると共に、機種毎に異なる処理を行うことも多い。このため画像処理装置を制御するソフトウェアは、機種毎に固有のものが作成されていた。
【０００３】
そして、近年、コンピュータ技術の発達とユーザからの要望により、画像形成装置に様々な機能が追加されていく傾向にある。にもかかわらず、開発期間は短縮する傾向にあるので、開発負担が増大している。
【０００４】
そこで、オブジェクト指向によるソフトウェアを、部品化する技術が注目されている。ソフトウェアを部品化することで、機能の追加又は変更を行う場合、ソフトウェア部品単位で変更すれば良く、ソフトウェア全体を修正する必要がなくなる。
【０００５】
例えば、特許文献１では、画像形成装置において転写バイアス制御値を演算するためのソフトウェアを、ソフトウェア部品で構成した。これにより、構成されたソフトウェア部品によっては、他の装置との間で共有することもできる。
【０００６】
【特許文献１】特開２００３−２８０４１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された技術では、他の装置と同じ機能のソフトウェア部品は複数の装置間で共有できるが、機種に依存する機能のソフトウェア部品は、複数の機種に利用することができず、開発負担を軽減できないという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、ソフトウェアの生産性、再利用性を向上させた情報処理装置、画像処理装置、画像形成装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、機能に共通する情報を管理するデバイス管理手段と、前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、を備えたことを特徴とする。
【００１０】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記固有機能処理手段と情報の送受信が可能な経路管理手段と、前記経路管理手段を継承すると共に、前記固有機能処理手段を生成する経路作成手段と、をさらに備えたことを特徴とする。
【００１１】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記固有機能処理手段は、各機能について色毎に複数備えられ、対応する色における前記機能の設定を行うこと、を特徴とする。
【００１２】
また、請求項４にかかる発明は、請求項３にかかる発明において、前記経路作成手段は、色毎に備えられ、対応付けられた色で使用される機能の設定を行う前記固有機能処理手段を生成すること、を特徴とする。
【００１３】
また、請求項５にかかる発明は、請求項１乃至４のいずれか一つにかかる発明において、処理の要求を受け付け、該処理に必要な機能に対応する前記固有機能処理手段に対して、該機能に対して該処理に適した設定を要求する要求受付手段をさらに備え、前記固有機能処理手段は、前記要求受付手段からの要求に応じて、前記機能に対し前記処理に適した設定を行うこと、を特徴とする。
【００１４】
また、請求項６にかかる発明は、請求項５にかかる発明において、前記要求受付手段は、外部から処理の要求を受け付けた場合に生成されること、を特徴とする。
【００１５】
また、請求項７にかかる発明は、請求項１乃至６のいずれか一つにかかる発明において、前記共有機能処理手段は、前記機能において複数の機種に共通する設定を行う操作を有すること、を特徴とする。
【００１６】
また、請求項８にかかる発明は、請求項７に記載の発明において、前記共有機能処理手段は、前記操作として、画像データの入力処理を行うための操作を有すること、を特徴とする。
【００１７】
また、請求項９にかかる発明は、請求項７に記載の発明において、前記共有機能処理手段は、前記操作として、情報処理装置において処理が行われた画像データの出力処理を行うための操作を有すること、を特徴とする。
【００１８】
また、請求項１０にかかる発明は、請求項１乃至９のいずれか一つにかかる発明において、前記固有機能処理手段は、前記機能において自装置の機種に固有の設定を行う操作情報を有すること、を特徴とする。
【００１９】
また、請求項１１にかかる発明は、請求項１乃至１０のいずれか一つにかかる発明において、前記経路作成手段は、前記情報処理装置が起動した時に前記固有機能処理手段を生成すること、を特徴とする。
【００２０】
また、請求項１２にかかる発明は、請求項１乃至１１のいずれか一つにかかる発明において、前記デバイス管理手段は、使用可能な機能に共通する情報として、前記機能の状態を管理していること、を特徴とする。
【００２１】
また、請求項１３にかかる発明は、画像処理時に使用される機能に共通する情報を管理するデバイス管理手段と、前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、を備えたことを特徴とする。
【００２２】
また、請求項１４にかかる発明は、請求項１３にかかる発明において、前記固有機能処理手段と情報の送受信が可能な経路管理手段と、前記経路管理手段を継承すると共に、前記固有機能処理手段を生成する経路作成手段と、をさらに備えたことを特徴とする。
【００２３】
また、請求項１５にかかる発明は、請求項１４にかかる発明において、前記固有機能処理手段は、各機能について色毎に複数備えられ、対応する色における前記機能の設定を色毎に行うこと、を特徴とする。
【００２４】
また、請求項１６にかかる発明は、請求項１３乃至１５のいずれか一つにかかる発明において、処理の要求を受け付け、受け付けた該処理に必要な機能に対応する前記固有機能処理手段に対して、該機能に対して該処理に適した設定を要求する要求受付手段をさらに備え、前記固有機能処理手段は、前記要求受付手段からの要求に応じて、前記機能に対し前記処理に適した設定を行うこと、を特徴とする。
【００２５】
また、請求項１７にかかる発明は、画像処理時に使用される機能に共通する情報を管理するデバイス管理手段と、前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、を備えたことを特徴とする。
【００２６】
また、請求項１８にかかる発明は、請求項１７にかかる発明において、前記固有機能処理手段と情報の送受信が可能な経路管理手段と、前記経路管理手段を継承すると共に、前記固有機能処理手段を生成する経路作成手段と、をさらに備えたことを特徴とする。
【００２７】
また、請求項１９にかかる発明は、請求項１８にかかる発明において、前記固有機能処理手段は、各機能について色毎に複数備えられ、対応する色における前記機能の設定を色毎に行うこと、を特徴とする。
【００２８】
また、請求項２０にかかる発明は、請求項１７乃至１９のいずれか一つにかかる発明において、処理の要求を受け付け、受け付けた該処理に必要な機能に対応する前記固有機能処理手段に対して、該機能に対して該処理に適した設定を要求する要求受付手段をさらに備え、前記固有機能処理手段は、前記要求受付手段からの要求に応じて、前記機能に対し前記処理に適した設定を行うこと、を特徴とする。
【００２９】
また、請求項２１にかかる発明は、機能に対して設定を行う手段として、コンピュータを機能させるプログラムであって、機能に共通する情報を管理するデバイス管理手段と、前記デバイス管理手段を継承すると共に、前記機能毎に存在して、前記機能毎に複数の機種に共通している設定を行う共有機能処理手段と、前記共有機能処理手段を継承すると共に、前記機能毎に存在して、前記機能毎に自装置の機種固有の設定を行う固有機能処理手段と、としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００３０】
請求項１にかかる発明によれば、デバイス管理手段が機能に共通する情報を管理し、共有機能処理手段が機種に共通する設定を行い、固有機能処理手段で機種に固有の設定を行うので、デバイス管理手段と共有機能処理手段を複数機種で共有化することができるので、ソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【００３１】
また、請求項２にかかる発明によれば、経路作成手段が固有機能処理手段を生成するので、機能の追加、削除又は変更が行われた場合に経路作成手段に対して生成する固有機能処理手段を変更すれば生成する対象を変更できるので、複数の機種へのソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【００３２】
また、請求項３にかかる発明によれば、固有機能処理手段は色毎に備えているので、機能の設定を色毎に行うことになり、当該機能について色毎に適切な設定を行うことができるという効果を奏する。
【００３３】
また、請求項４にかかる発明によれば、固有機能処理手段が色毎に生成されるので、当該機能について色毎に適切な設定を行うことができるという効果を奏する。
【００３４】
また、請求項５にかかる発明によれば、受け付けた処理に従って固有機能処理手段で適切な機能の設定を行うことができるという効果を奏する。
【００３５】
また、請求項６にかかる発明によれば、外部から受け付けた要求に応じて要求受付手段が生成されるので、受け付けた要求毎に必要な設定を制御できるという効果を奏する。
【００３６】
また、請求項７にかかる発明によれば、共有機能処理手段が機能において複数の機種に共通する設定を行う操作情報を有するので、当該機能を使用する際の処理が容易になるという効果を奏する。
【００３７】
また、請求項８にかかる発明によれば、当該操作を呼び出すことで、機種の異なる情報処理装置において入力処理で共通する設定を共有することで、機種毎に異なる入力処理のために変更が必要な範囲を限定できるので、機種毎の変更による影響を他の構成に及ぶのを抑えることができるという効果を奏する。
【００３８】
また、請求項９にかかる発明によれば、当該操作を呼び出すことで、機種の異なる情報処理装置において出力処理で共通する設定を共有することで、機種毎に異なる出力処理のために変更が必要な範囲を限定できるので、機種毎の変更による影響が他の構成に及ぶのを抑えることができるという効果を奏する。
【００３９】
また、請求項１０にかかる発明によれば、固有機能処理手段が機能において自装置の機種に固有の設定を行う操作情報を有するので、当該機能を使用する際の処理が容易になるという効果を奏する。
【００４０】
また、請求項１１にかかる発明によれば、情報処理装置が起動した時に固有機能処理手段を生成されるので、機能を使用する度に生成する必要が無く、迅速に処理を行うことが可能になるという効果を奏する。
【００４１】
また、請求項１２にかかる発明によれば、デバイス管理手段が機能の状態を管理するので、処理の要求を受け付けた際に、機能が使用できるか否かなどの状態が確認できるので、待機するか否かなどの処理を行うための適切な判断が可能になるという効果を奏する。
【００４２】
また、請求項１３にかかる発明によれば、デバイス管理手段が機能に共通する情報を管理し、共有機能処理手段が機種に共通する設定を行い、固有機能処理手段で機種に固有の設定を行うので、デバイス管理手段と共有機能処理手段を複数機種で共有化することができるので、ソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【００４３】
また、請求項１４にかかる発明によれば、経路作成手段が固有機能処理手段を生成するので、機能の追加、削除又は変更が行われた場合に経路作成手段に対して生成する固有機能処理手段を変更すれば生成する対象を変更できるので、複数の機種へのソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【００４４】
また、請求項１５にかかる発明によれば、固有機能処理手段は色毎に備えているので、機能の設定を色毎に行うことになり、当該機能について色毎に適切な設定を行うことができるという効果を奏する。
【００４５】
また、請求項１６にかかる発明によれば、受け付けた処理に従って固有機能処理手段で適切な機能の設定を行うことができるという効果を奏する。
【００４６】
また、請求項１７にかかる発明によれば、デバイス管理手段が機能に共通する情報を管理し、共有機能処理手段が機種に共通する設定を行い、固有機能処理手段で機種に固有の設定を行うので、デバイス管理手段と共有機能処理手段を複数機種で共有化することができるので、ソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【００４７】
また、請求項１８にかかる発明によれば、経路作成手段が固有機能処理手段を生成するので、機能の追加、削除又は変更が行われた場合に経路作成手段に対して生成する固有機能処理手段を変更すれば生成する対象を変更できるので、複数の機種へのソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【００４８】
また、請求項１９にかかる発明によれば、固有機能処理手段は色毎に備えているので、機能の設定を色毎に行うことになり、当該機能について色毎に適切な設定を行うことができるという効果を奏する。
【００４９】
また、請求項２０にかかる発明によれば、受け付けた処理に従って固有機能処理手段で適切な機能の設定を行うことができるという効果を奏する。
【００５０】
また、請求項２１にかかる発明によれば、デバイス管理手段が機能に共通する情報を管理し、共有機能処理手段が機種に共通する設定を行い、固有機能処理手段で機種に固有の設定を行うので、デバイス管理手段と共有機能処理手段を複数機種で共有化することができるので、ソフトウェアの生産性、再利用性を向上させるという効果を奏する。
【発明を実施するための最良の形態】
【００５１】
以下に添付図面を参照して、この発明にかかる情報処理装置、画像処理装置、画像形成装置及び情報処理プログラムの最良な実施の形態を詳細に説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、任意の機能を備えた各種装置に適用することができる。
【００５２】
また、本発明の一実施の形態として、画像形成装置であってコピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能及び入力画像（スキャナ機能による読み取り原稿画像やプリンタあるいはＦＡＸ機能により入力された画像）を配信する機能等を複合したいわゆるＭＦＰ（Multi Function Peripheral）と称される複合機に適用した例を示す。
【００５３】
（第１の実施の形態）
図１は、第１の実施の形態にかかる複合機１００のブロック構成の概要を示す図である。本図に示すように複合機１００の内部は、システム制御部１０１と、画像処理部１０２と、画像記憶部１０３と、アプリ制御部１０４と、操作部１０５と、表示部１０６と、読取部１０７と、印刷部１０８と、を備えている。また、これら各部は、バス等により接続されている。また、システム制御部１０１と、画像記憶部１０３と、アプリ制御部１０４と、を複合機１００をコントロールする制御部１０とする。また、画像処理部１０２と、印刷部１０８と、を印刷処理を行うエンジン部６０とする。
【００５４】
システム制御部１０１は、後述するＣＰＵ等に含まれる構成とし、複合機１００の各部を制御するシーケンスを実行する。また、システム制御部１０１は、図示しない記憶部に格納された情報処理プログラムを読み込むことで、後述するソフトウェア構成が形成される。
【００５５】
アプリ制御部１０４は、後述するＣＰＵ等に含まれる構成とし、複合機１００が備えたアプリケーションの動作を制御する。また、制御するアプリケーションとしては、例えばコピーアプリ、スキャナアプリ、ＦＡＸアプリ、プリンタアプリ等とする。
【００５６】
画像記憶部１０３は、後述する読取部１０７で読み取られた画像データを記憶する。また、画像記憶部１０３に記憶される画像データは、読取部１０７から読み込まれた画像データに制限するものではなく、例えば、図示しないネットワークを介して入力処理された画像データでもよい。また、画像記憶部１０３は、本実施の形態においてはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）とするが、光ディスク、メモリカード、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの一般的に利用されているあらゆる記憶手段により構成することができる。
【００５７】
操作部１０５は、利用者からの操作を受け付け可能な構成とし、テンキー、スタートキー、ファンクションキー、ワンタッチキー等の各種操作キーやタッチパネルにより構成されている。
【００５８】
表示部１０６は、ユーザが操作部から入力した画像形成装置の動作に関する各種命令内容や、画像形成装置からユーザに用紙切れや、記録紙詰まり等の各種情報を表示するための装置であり、本実施の形態ではタッチパネルとする。読取部１０７は、画像情報に対して光走査を行い、画像情報としての読取処理を行う。
【００５９】
画像処理部１０２は、システム制御部１０１により形成されたソフトウェア構成に従って、画像データに対して画像処理を行う。なお、行われる画像処理の機能等については、後述する。
【００６０】
印刷部１０８は、画像記憶部１０３に記憶されている画像データを取得して記録紙に印刷する。
【００６１】
次に、複合機１００が備えるハードウェア構成について詳述する。図２は、かかる複合機１００のハードウェア構成を示すブロック図である。本図に示すように、この複合機１００は、制御部１０とエンジン部（Engine）６０とスキャン部７０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。制御部１０は、複合機１００全体の制御と描画、通信、操作パネル２０からの入力を制御するコントローラである。
【００６２】
操作パネル２０は、上述した表示部１０６に相当する液晶タッチパネル２１と、上述した操作部１０５に相当するテンキー２２やスタートキー２３等の利用者からの操作を受け付けるキーとを、備えている。
【００６３】
エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジン等であり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部６０は、プロッタ等のいわゆる印刷部１０８に加えて、誤差拡散やガンマ変換等の画像処理部１０２を含んでいる。
【００６４】
スキャン部７０は、上述した読取部１０７に相当し、ＰＣＩバスに接続可能なイメージスキャナ（図示しない）等を備え、原稿に光を照射してその反射光を、光学系を介してイメージスキャナに入射することによって原稿を走査し、原稿の画像情報を読み取る。
【００６５】
制御部１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ（Random Access Memory）１２ｂとをさらに有する。これらが、図１で示したシステム制御部１０１と、画像処理部１０２と、アプリ制御部１０４と、画像記憶部１０３と、を実現するハードウェア構成となる。
【００６６】
ＣＰＵ１１は、複合機１００の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２及びＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００６７】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書き等を制御するメモリコントローラと、ＰＣＩマスタ及びＡＧＰターゲットとを有する。
【００６８】
ＭＥＭ−Ｐ１２は、後述するソフト構成を実現する情報処理プログラムやデータの格納用メモリ、情報処理プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、情報処理プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、情報処理プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能なメモリである。
【００６９】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部等も接続される。
【００７０】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８及びＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲット及びＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等をおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。
【００７１】
また、このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００７２】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００７３】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００７４】
次に、本実施の形態にかかる複合機１００を制御するクラス構成について説明する。図３は、本実施の形態にかかる複合機１００を制御するクラス構成を示した図である。本図に示すように、複合機１００は、要求受付ソフトウェア部品２０１と、画像経路ソフトウェア部品２０２と、デバイス制御ソフトウェア部品２０３と、を備えている。図３はオブジェクト指向のソフトウェア開発における、プログラム設計図の統一表記法である統一モデリング言語ＵＭＬを用いた表記である。
【００７５】
また、本図に示す複合機１００の機種は、機種Ａとする。この機種Ａは、画像データの入力処理が行われた後、画像処理としてガンマ補正処理と、パターン出力処理と、変倍処理とを行い、画像処理が行われた後に出力処理を行う。
【００７６】
また、デバイス制御ソフトウェア部品２０３は、デバイス状態管理層２０３ａと、共有機能処理層２０３ｂと、固有機能処理層２０３ｃとを、備えている。次に、これらの構成が備えるクラスについて説明する。
【００７７】
また、デバイス状態管理層２０３ａに含まれる各クラスは、換言すればデバイス管理手段に相当する。また、共有機能処理層２０３ｂに含まれる各クラスは、換言すれば共有機能処理手段に相当する。また、固有機能処理層２０３ｃに含まれる各クラスは、換言すれば固有機能処理手段に相当する。
【００７８】
要求受付ソフトウェア部品２０１は、要求受付クラス２１０を備える。画像経路ソフトウェア部品２０２は、経路管理クラス２２０と、機種Ａ＿経路作成クラス２２１と、を備える。
【００７９】
デバイス状態管理層２０３ａは、デバイス状態管理クラス２４０を備え、デバイス毎に実行中か否かなどを示した状態を管理する。
【００８０】
共有機能処理層２０３ｂは、デバイス状態管理クラス２４０を継承した入力処理クラス２５０と、ガンマ補正処理クラス２５１と、パターン出力処理クラス２５２と、変倍処理クラス２５３と、出力処理クラス２５４と、を備える。これらクラスは、機能毎に備えられるものであり、複数の機種に共通する機能毎の情報を管理する。この機能の情報としては、当該機能において複数の機種に共通する設定手順や設定パラメータ等とする。これにより、各機能において、複数の機種に共通する設定を行うことが可能になる。
【００８１】
固有機能処理層２０３ｃは、共有機能処理層２０３ｂが備える各クラスを継承した機種Ａ＿入力ＩＦ処理クラス２６０と、機種Ａ＿ガンマ補正処理クラス２６１と、機種Ａ＿パターン出力処理クラス２６２と、機種Ａ＿変倍処理クラス２６３と、機種Ａ＿出力ＩＦ処理クラス２６４と、を備える。これらクラスは、機能毎に備えられるものであり、機能毎の機種Ａ固有の情報を管理する。機種Ａ固有の情報は、機種Ａに固有の設定手順や設定パラメータ等とする。これにより、各機能において、機種Ａ固有の設定を行うことが可能となる。
【００８２】
各クラスを示す矩形は３段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、要求受付クラス２１０を示す矩形の名前区画は、かかるクラスのクラス名が「要求受付」であることを示し、属性区画は、かかるクラスが有する属性が、「色」であることを示し、操作区画は、かかるクラスが有する操作が、「準備要求（）」と「準備終了通知（）」であることを示している。
【００８３】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、情報処理プログラムの一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したインスタンスは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【００８４】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「準備要求（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【００８５】
また、クラス間が線で結ばれている場合は関係があることを示している。そして、これらクラスが実体化された場合（なお、実体化されたクラスをインスタンスという）、関係付けられたクラスのインスタンス（実態化されたクラス）が互いにメッセージを送受信し、協調動作する。これにより、複合機１００の制御を実現する。なお、メッセージ送受信と協調動作の方法は実装依存となる。
【００８６】
次に、図３に示した各クラスについて説明する。要求受付クラス２１０は、外部から処理の要求を受け付けるクラスである。具体的には、この要求受付クラス２１０は、属性として、色２１０ａを有し、操作として、準備要求（）２１０ｂと、準備終了通知（）２１０ｃを有する。なお、かかる要求受付クラス２１０を実体化したインスタンスが生成されると、色２１０ａはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。なお、以下に示すクラスが有する属性も同様に、インスタンスが生成された場合に読み書きが可能となる。
【００８７】
色２１０ａは、画像処理の対象となる色を保持する。この色２１０ａは、例えばＲＧＢにおいては赤、緑、青となる。なお、色の表現方法はＲＧＢに制限するものではなく、ＣＭＹＫを用いても良い。つまり、要求受付クラス２１０の実体化されたインスタンスは、利用者等から受け付けた画像処理の対象となる色毎に生成される。
【００８８】
準備要求（）２１０ｂは、外部からの画像処理の要求を受け付けた場合、後述する機種Ａ＿経路作成クラス２２１を実体化したインスタンスの準備要求（）２２０ｄを呼び出す。
【００８９】
準備終了通知（）２１０ｃは、機種Ａ＿経路作成クラス２２１を実体化したインスタンスから、準備が終了した旨の通知を受け付け、外部に対して準備が終了した旨を通知する。
【００９０】
経路管理クラス２２０は、デバイス制御ソフトウェア部品２０３が有するクラスが実体化されたインスタンスとの間でメッセージの送受信をおこなうクラスである。具体的には、この経路管理クラス２２０は、属性として、色２２０ａ、状態２２０ｂおよびデバイス制御の数２２０ｃを有し、操作として、準備要求（）２２０ｄ及び準備終了通知（）２２０ｅを有する。この経路管理クラス２２０は、機種Ａ＿経路作成クラス２２１の上位クラス（スーパークラス）であり、経路管理クラス２２０自体が実体化されることはないが、経路管理クラス２２０の属性および操作は、下位クラス（サブクラス）である機種Ａ＿経路作成クラス２２１に継承される。
【００９１】
色２２０ａは、画像処理の対象となる色を保持する。この色２２０ａは、例えばＲＧＢにおいては赤、緑、青となる。なお、色の表現方法はＲＧＢに制限するものではなく、ＣＭＹＫを用いても良い。
【００９２】
状態２２０ｂは、経路管理インスタンス２２０Ａの状態（例えば、待機中または実行中であるか等）を管理する。
【００９３】
デバイス制御の数２２０ｃは、デバイス制御ソフトウェア部品２０３に含まれるクラスを実体化したインスタンスのうち、経路管理インスタンス２２０Ａが管理しているインスタンスの数を保持している。
【００９４】
準備要求（）２２０ｄは、要求受付インスタンス２１０Ａから呼び出され、デバイス状態管理クラス２４０を継承するクラスを実体化したインスタンスに対して受け付けた処理で使用される各機能について準備を要求する。
【００９５】
準備終了通知（）２２０ｅは、デバイス状態管理クラス２４０を継承するクラスを実体化したインスタンスから呼び出され、要求受付インスタンス２１０Ａを実体化したインスタンスの準備終了通知（）２１０ｃを呼び出す。
【００９６】
機種Ａ＿経路作成クラス２２１は、経路管理クラス２２０を継承し、デバイス制御ソフトウェア部品２０３が有するクラスを制御する。例えば、機種Ａ＿経路作成クラス２２１を実体化した機種Ａ＿経路作成インスタンス２２１Ａは、固有機能処理層２０３ｃの各クラスのインスタンスの生成を行う。つまり、機種Ａ＿経路作成クラス２２１と、後述する固有機能処理層２０３ｃの各クラスとの間を繋ぐ破線は、生成関係にあることを示している。つまり、機種Ａ＿経路作成インスタンス２２１Ａが、固有機能処理層２０３ｃの有する各クラスのインスタンスを生成することで、生成されたインスタンスにより各機能の設定等が可能となる。これにより、複合機１００で、これら機能を使用した画像処理が可能となる。
【００９７】
デバイス状態管理クラス２４０は、各機能に共通する情報を管理するクラスである。各機能に共通する情報の例としては、各機能の当該クラスが実体化されたインスタンスの状態等とする。具体的には、このデバイス状態管理クラス２４０は、属性として、状態２４０ａを有し、操作として、準備要求（）２４０ｂを有する。このデバイス状態管理クラス２４０は、共有機能処理層２０３ｂ及び固有機能処理層２０３ｃに含まれるクラスの上位クラス（スーパークラス）であり、デバイス状態管理クラス２４０自体が実体化されることはないが、デバイス状態管理クラス２４０の属性および操作は、下位クラス（サブクラス）に継承される。
【００９８】
状態２４０ａは、当該クラスを継承するクラスを実体化したインスタンスの状態（例えば、待機中または実行中であるか等）を管理する。
【００９９】
準備要求（）２４０ｂは、機種Ａ＿経路作成インスタンス２２１Ａから呼び出された場合、状態２４０ａにより設定可能か否か判断し、設定可能と判断した場合、当該デバイス状態管理クラス２４０を継承するクラスを実体化したインスタンスが、当該インスタンスの有する機能の設定を行う。
【０１００】
入力処理クラス２５０は、画像データの入力処理時に、入力処理について複数の機種に共通する設定や制御を行うクラスである。具体的には、この入力処理クラス２５０は、属性として、入力画像サイズ２５０ａおよび入力アドレス２５０ｂを有し、操作として、パラメータ計算設定（）２５０ｃを有する。また、入力処理とは、複合機１００の自動原稿送り装置（ＡＤＦ）などから原稿の読取処理を行い、読取処理により得られたデータを複合機１００で扱う画像形式への変換をする処理をいう。
【０１０１】
入力画像サイズ２５０ａは、入力する画像データのサイズを保持する。入力アドレス２５０ｂは、入力する画像データの入力元を特定するアドレスを保持する。
【０１０２】
パラメータ計算設定（）２５０ｃは、親クラスが備える準備要求（）２４０ｂから呼び出され、入力処理について機種に共通する設定を行ったあと、後述する機種固有計算設定（）２６０ａを呼びだす。また、共有機能処理層２０３ｂの各クラスが備える操作‘パラメータ計算設定（）’も同様に、各クラスが行う処理について機種に共通する設定を行うものとして、説明を省略する。なお、このパラメータ計算設定（）は、呼び出しを容易にするためにデバイス状態管理クラスに定義しても良い。
【０１０３】
ガンマ補正処理クラス２５１は、ガンマ補正処理について、複数の機種に共通する設定や制御を行うクラスである。具体的には、このガンマ補正処理クラス２５１は、属性として、ガンマテーブル２５１ａを有し、操作として、パラメータ計算設定（）２５１ｂを有する。
【０１０４】
ガンマテーブル２５１ａは、ガンマ計算に用いるテーブルを保持する。
【０１０５】
パターン出力処理クラス２５２は、パターン出力処理について、複数の機種に共通する設定や制御（例えば、パラメータ計算）を行うクラスである。具体的には、このパターン出力処理クラス２５２は、属性として、出力モード２５２ａおよびパターン種類２５２ｂを有し、操作として、パラメータ計算設定（）２５２ｃを有する。
【０１０６】
出力モード２５２ａは、出力する画像データに対してパターンを出力するか否か、及び出力する場合にパターンを合成するか上書きするか判断するためのモード値を保持する。
【０１０７】
パターン種類２５２ｂは、格子状やグラデーションなど出力するパターンの種類を保持する。
【０１０８】
変倍処理クラス２５３は、変倍処理について、複数の機種に共通する設定や制御（例えば、パラメータ計算）を行うクラスである。具体的には、この変倍処理クラス２５３は、属性として、変倍率２５３ａを有し、操作として、パラメータ計算設定（）２５３ｂを有する。
【０１０９】
変倍率２５３ａは、画像データに対して変倍処理を行う際の変倍率を保持する。
【０１１０】
出力処理クラス２５４は、画像データの出力処理時に、出力処理について複数の機種に共通する設定や制御を行うクラスである。具体的には、この出力処理クラス２５４は、属性として、出力方法２５４ａを有し、操作として、パラメータ計算設定（）２５４ｂを有する。
【０１１１】
出力方法２５４ａは、画像データに含まれる一画素あたりのビットの数を保持する。また、出力方法２５４ａは、画像データをパッキングする場合に何画素単位でパッキングするかという出力時に必要な情報を保持する。
【０１１２】
また、上述した入力処理クラス２５０、ガンマ補正処理クラス２５１、パターン出力処理クラス２５２、変倍処理クラス２５３及び出力処理クラス２５４は、固有機能処理層２０３ｃに含まれ、且つ線で結ばれている各クラスの上位クラス（スーパークラス）であり、入力処理クラス２５０、ガンマ補正処理クラス２５１、パターン出力処理クラス２５２、変倍処理クラス２５３及び出力処理クラス２５４自体が実体化されることはないが、これら各クラスの属性および操作は、下位クラス（サブクラス）に継承される。次に、固有機能処理層２０３ｃに含まれた各クラスについて説明する。
【０１１３】
機種Ａ＿入力ＩＦ処理クラス２６０は、画像データの入力処理時に、入力処理について、機種Ａに固有の設定や制御を行うクラスである。具体的には、この機種Ａ＿入力ＩＦ処理クラス２６０は、操作として、機種固有計算設定（）２６０ａを有する。
【０１１４】
機種固有計算設定（）２６０ａは、親クラスが保持するパラメータ計算設定（）から呼び出され、機種Ａ固有の設定を行ったあと、機種Ａ＿経路作成インスタンス２２１Ａの準備終了通知（）２２０ｅを呼び出して、終了した旨を通知する。また、この機種固有計算設定（）は、呼び出しを容易にするために共有機能処理層２０３ｂに含まれる各クラスで定義のみしていても良い。なお、固有機能処理層２０３ｃの各クラスが備える操作‘機種固有計算設定（）’も同様とする。
【０１１５】
機種Ａ＿ガンマ補正処理クラス２６１は、ガンマ補正処理について、機種Ａに固有の設定や制御（例えば、機種Ａに固有なパラメータ計算や、機種Ａに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ａ＿ガンマ補正処理クラス２６１は、操作として、機種固有計算設定（）２６１ａを有する。
【０１１６】
機種Ａ＿パターン出力処理クラス２６２は、パターン出力処理について、機種Ａに固有の設定や制御（例えば、機種Ａに固有なパラメータ計算や、機種Ａに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ａ＿パターン出力処理クラス２６２は、操作として、機種固有計算設定（）２６２ａを有する。
【０１１７】
機種Ａ＿変倍処理クラス２６３は、変倍処理について、機種Ａに固有の設定や制御（例えば、機種Ａに固有なパラメータ計算や、機種Ａに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ａ＿変倍処理クラス２６３は、操作として、機種固有計算設定（）２６３ａを有する。
【０１１８】
機種Ａ＿出力ＩＦ処理クラス２６４は、画像処理が終了した後の画像データの出力処理時に、出力処理について、機種Ａに固有の設定や制御を行うクラスである。具体的には、この機種Ａ＿出力ＩＦ処理クラス２６４は、操作として、機種固有計算設定（）２６４ａを有する。
【０１１９】
図３に示すように、ＵＭＬクラス図においては、クラス間に何らかの関係がある場合には、それらのクラスを表す矩形の間が直線で結ばれる。また直線に付された数字はクラスの多重度を表す。多重度とは、直線で結ばれた他方のクラスのインスタンスと関連付けられて生成されるインスタンスの数のことである。
【０１２０】
次に、要求受付クラス２１０と経路管理クラス２２０とのクラス関係について説明する。１個の経路管理インスタンス２２０Ａは、０又は１個の要求受付インスタンス２１０Ａと関連づけられる。
【０１２１】
そして、経路管理クラス２２０と機種Ａ＿経路作成クラス２２１とのクラス関係について説明する。経路管理クラス２２０は、機種Ａ＿経路作成クラス２２１の上位クラス（スーパークラス）であり、機種Ａ＿経路作成クラス２２１は、経路管理クラス２２０の属性および操作を継承する。
【０１２２】
次に、経路管理クラス２２０と、デバイス状態管理クラス２４０とのクラス関係について説明する。経路管理クラス２２０側に記された白抜きのひし形は集約関係をあらわしている。集約関係とは、あるクラスが別のクラスの一部として含まれる関係のことである。具体的には、画像処理について、複数の機能（デバイス等も含まれる）により一つの経路を形成するので、経路管理クラス２２０は、デバイス状態管理クラス２４０を集約する関係を有する。
【０１２３】
また、１個の経路管理インスタンス２２０Ａは、０個以上複数のデバイス状態管理クラス２４０を継承したクラスを実体化したインスタンスを管理する。このため、かかるデバイス状態管理クラス２４０を継承したクラスを実体化したインスタンスは、１個の経路管理インスタンス２２０Ａに対して１個以上ｎ個以下の範囲で存在する。
【０１２４】
また、入力処理クラス２５０、ガンマ補正処理クラス２５１、パターン出力処理クラス２５２、変倍処理クラス２５３、出力処理クラス２５４は、デバイス状態管理クラス２４０を継承する。また、機種Ａ＿入力ＩＦ処理クラス２６０は入力処理クラス２５０を継承し、機種Ａ＿ガンマ補正処理クラス２６１はガンマ補正処理クラス２５１を継承し、機種Ａ＿パターン出力処理クラス２６２はパターン出力処理クラス２５２を継承し、機種Ａ＿変倍処理クラス２６３は変倍処理クラス２５３を継承し、機種Ａ＿出力ＩＦ処理クラス２６４は出力処理クラス２５４を継承する。
【０１２５】
そして、複合機１００に電源が投入された場合に、機種Ａ＿経路作成インスタンス２２１Ａが生成される。そして、生成された機種Ａ＿経路作成インスタンス２２１Ａが、機種Ａ＿入力ＩＦ処理インスタンス２６０Ａ、機種Ａ＿ガンマ補正処理インスタンス２６１Ａ、機種Ａ＿パターン出力処理インスタンス２６２Ａ、機種Ａ＿変倍処理インスタンス２６３Ａ及び機種Ａ＿出力ＩＦ処理インスタンス２６４Ａを生成する。そして、要求受付インスタンス２１０Ａは、外部から画像処理の要求を受け付ける度に生成され、すでに生成されている機種Ａ＿経路作成インスタンス２２１Ａに対して画像処理を行うための設定を要求する。
【０１２６】
このように、要求受付クラス２１０、経路管理クラス２２０、機種Ａ＿経路作成クラス２２１、デバイス状態管理クラス２４０、入力処理クラス２５０、ガンマ補正処理クラス２５１、パターン出力処理クラス２５２、変倍処理クラス２５３、出力処理クラス２５４、機種Ａ＿入力ＩＦ処理クラス２６０、機種Ａ＿ガンマ補正処理クラス２６１、機種Ａ＿パターン出力処理クラス２６２、機種Ａ＿変倍処理クラス２６３、機種Ａ＿出力ＩＦ処理クラス２６４の各インスタンスは、相互に関連し合い、協調して、画像処理に必要な機能を実現している。
【０１２７】
次に、図３で示した各クラスの操作の実行手順について例をあげて説明する。図４は、複合機１００が画像処理の要求を受け付けた場合の処理の準備を行う操作の実行手順を示すＵＭＬシーケンス図である。
【０１２８】
ここで、ＵＭＬシーケンス図について説明しておく。図４の上部に並んだ矩形は、それぞれがクラスを実体化したインスタンスを示している。各インスタンスから下方に伸びた線は、各インスタンスが生存していることを示す線（ライフライン）であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のインスタンスが実際に活動している期間（活性期間）を示す。
【０１２９】
各ライフラインの間を結ぶ横向きの矢印は、インスタンスに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のインスタンスが、矢印の先のインスタンスに含まれる操作を呼び出すことを示す。また、矢印が自分自身のインスタンスを指している場合は、インスタンスが自分に含まれる操作を自身で呼び出すことを意味する。
【０１３０】
まず、利用者が複合機１００でコピー機能などの実行を指示すると、要求受付インスタンス２１０Ａが生成され、当該要求受付インスタンス２１０Ａの準備要求（）２１０ｂを呼び出す。
【０１３１】
そして、図４に示すように、要求受付インスタンス２１０Ａは、画像処理のための設定を行うために、機種Ａ＿経路作成インスタンス２２１Ａの準備要求（）２２０ｄを呼び出す（ステップＳ４０１）。準備要求（）２２０ｄを呼び出された機種Ａ＿経路作成インスタンス２２１Ａは、画像処理に必要なインスタンスに対して画像処理の準備を要求する。
【０１３２】
具体的には、機種Ａ＿経路作成インスタンス２２１Ａは、機種Ａ＿入力ＩＦ処理インスタンス２６０Ａの準備要求（）２４０ｂを呼び出す（ステップＳ４０２）。次に、機種Ａ＿経路作成インスタンス２２１Ａは、機種Ａ＿ガンマ補正処理インスタンス２６１Ａの準備要求（）２４０ｂを呼び出す（ステップＳ４０３）。そして、機種Ａ＿経路作成インスタンス２２１Ａは、機種Ａ＿パターン出力処理インスタンス２６２Ａの準備要求（）２４０ｂを呼び出す（ステップＳ４０４）。
【０１３３】
さらに、機種Ａ＿経路作成インスタンス２２１Ａは、機種Ａ＿変倍処理インスタンス２６３Ａの準備要求（）２４０ｂを呼び出す（ステップＳ４０５）。次に、機種Ａ＿経路作成インスタンス２２１Ａは、機種Ａ＿出力ＩＦ処理インスタンス２６４Ａの準備要求（）２４０ｂを呼び出す（ステップＳ４０６）。
【０１３４】
そして、準備要求（）２４０ｂを呼び出された機種Ａ＿入力ＩＦ処理インスタンス２６０Ａは、状態２４０ａにより画像処理の準備が可能か否か判断する。そして、可能と判断した場合、機種Ａ＿入力ＩＦ処理インスタンス２６０Ａは、自インスタンスが有するパラメータ計算設定（）２５０ｃを呼び出す（ステップＳ４０７）。これにより、入力処理において、機種に共通の設定が行われる。
【０１３５】
次に、パラメータ計算設定（）２５０ｃが呼び出された機種Ａ＿入力ＩＦ処理インスタンス２６０Ａは、機種に共通の設定を行ったあと、機種固有計算設定（）２６０ａを呼び出す（ステップＳ４０８）。これにより、入力処理において、機種Ａに固有の設定が行われる。
【０１３６】
そして、機種固有計算設定（）２６０ａが呼び出された機種Ａ＿入力ＩＦ処理インスタンス２６０Ａは、機種Ａに固有の設定を行ったあと、機種Ａ＿経路作成インスタンス２２１Ａの準備終了通知（）２２０ｅを呼び出す（ステップＳ４０９）。これにより、入力処理のための設定を終了したことが通知されたことになる。
【０１３７】
次に、準備要求（）２４０ｂを呼び出された機種Ａ＿ガンマ補正処理インスタンス２６１Ａは、状態２４０ａにより画像処理の準備か可能か否か判断する。そして、可能と判断した場合、機種Ａ＿ガンマ補正処理インスタンス２６１Ａは、自インスタンスが有するパラメータ計算設定（）２５１ｂを呼び出す（ステップＳ４１０）。これにより、ガンマ補正処理において、機種に共通の設定が行われる。
【０１３８】
そして、パラメータ計算設定（）２５１ｂが呼び出された機種Ａ＿ガンマ補正処理インスタンス２６１Ａは、機種に共通の設定を行ったあと、機種固有計算設定（）２６１ａを呼び出す（ステップＳ４１１）。これにより、ガンマ補正処理において、機種Ａに固有の設定が行われる。
【０１３９】
次に、機種固有計算設定（）２６１ａが呼び出された機種Ａ＿ガンマ補正処理インスタンス２６１Ａは、機種Ａに固有の設定を行ったあと、機種Ａ＿経路作成インスタンス２２１Ａの準備終了通知（）２２０ｅを呼び出す（ステップＳ４１２）。これにより、ガンマ補正処理のための設定を終了したことが通知されたことになる。
【０１４０】
そして、準備要求（）２４０ｂを呼び出された機種Ａ＿パターン出力処理インスタンス２６２Ａは、状態２４０ａにより画像処理の準備か可能か否か判断する。そして、可能と判断した場合、機種Ａ＿パターン出力処理インスタンス２６２Ａは、自インスタンスが有するパラメータ計算設定（）２５２ｃを呼び出す（ステップＳ４１３）。これにより、パターン出力処理において、機種に共通の設定が行われる。
【０１４１】
次に、パラメータ計算設定（）２５２ｃが呼び出された機種Ａ＿パターン出力処理インスタンス２６２Ａは、機種に共通の設定を行ったあと、機種固有計算設定（）２６２ａを呼び出す（ステップＳ４１４）。これにより、入力処理において、機種Ａに固有の設定が行われる。
【０１４２】
そして、機種固有計算設定（）２６２ａが呼び出された機種Ａ＿パターン出力処理インスタンス２６２Ａは、機種Ａに固有の設定を行ったあと、機種Ａ＿経路作成インスタンス２２１Ａの準備終了通知（）２２０ｅを呼び出す（ステップＳ４１５）。これにより、パターン出力処理のための設定を終了したことが通知されたことになる。
【０１４３】
次に、準備要求（）２４０ｂを呼び出された機種Ａ＿変倍処理インスタンス２６３Ａは、状態２４０ａにより画像処理の準備か可能か否か判断する。そして、可能と判断した場合、機種Ａ＿変倍処理インスタンス２６３Ａは、自インスタンスが有するパラメータ計算設定（）２５３ｂを呼び出す（ステップＳ４１６）。これにより、変倍処理において、機種に共通の設定が行われる。
【０１４４】
そして、パラメータ計算設定（）２５３ｂが呼び出された機種Ａ＿変倍処理インスタンス２６３Ａは、機種に共通の設定を行ったあと、機種固有計算設定（）２６３ａを呼び出す（ステップＳ４１７）。これにより、変倍処理において、機種Ａに固有の設定が行われる。
【０１４５】
次に、機種固有計算設定（）２６３ａが呼び出された機種Ａ＿変倍処理インスタンス２６３Ａは、機種Ａに固有の設定を行ったあと、機種Ａ＿経路作成インスタンス２２１Ａの準備終了通知（）２２０ｅを呼び出す（ステップＳ４１８）。これにより、変倍処理のための設定を終了したことが通知されたことになる。
【０１４６】
そして、準備要求（）２４０ｂを呼び出された機種Ａ＿出力ＩＦ処理インスタンス２６４Ａは、状態２４０ａにより画像処理の準備か可能か否か判断する。そして、可能と判断した場合、機種Ａ＿出力ＩＦ処理インスタンス２６４Ａは、自インスタンスが有するパラメータ計算設定（）２５４ｂを呼び出す（ステップＳ４１９）。これにより、出力処理において、機種に共通の設定が行われる。
【０１４７】
次に、パラメータ計算設定（）２５４ｂが呼び出された機種Ａ＿出力ＩＦ処理インスタンス２６４Ａは、機種に共通の設定を行ったあと、機種固有計算設定（）２６４ａを呼び出す（ステップＳ４２０）。これにより、出力処理において、機種Ａに固有の設定が行われる。
【０１４８】
そして、機種固有計算設定（）２６４ａが呼び出された機種Ａ＿出力ＩＦ処理インスタンス２６４Ａは、機種Ａに固有の設定を行ったあと、機種Ａ＿経路作成インスタンス２２１Ａの準備終了通知（）２２０ｅを呼び出す（ステップＳ４２１）。これにより、出力処理のための設定を終了したことが通知されたことになる。
【０１４９】
次に、固有機能処理層２０３ｃに含まれるクラスを実体化したインスタンス全てから準備終了通知（）２２０ｅが呼び出された機種Ａ＿経路作成インスタンス２２１Ａは、要求受付インスタンス２１０Ａの準備終了通知（）２１０ｃを呼び出す（ステップＳ４２２）。
【０１５０】
これにより、画像処理の準備が終了したことを、複合機１００が認識できる。また、複合機１００は、画像処理の準備終了通知の受信を、他動作におけるタイミング制御に使用することもできる。
【０１５１】
なお、上述したインスタンスは、色毎に生成されるため、上述した処理も色毎に行われることになる。これにより、色毎に適切な設定が行われることになる。
【０１５２】
そして、画像処理の準備が終了したあとに、複合機１００に対して画像データが入力された場合、複合機１００は、予め設定されたパラメータに基づいて画像処理を行った後に、画像処理が行われた画像データを出力する。
【０１５３】
また、画像処理の例として、パターン出力の設定がなされている場合、複合機１００は、設定されたパターンを、入力処理された画像データに対して合成又は上書き処理を行う。このように画像処理が行われた画像データは、複合機１００から出力される。
【０１５４】
以上のように、各ソフトウェア部品がメッセージを送受信することで複合機１００の画像処理の準備が行われることになる。そして、画像処理の準備がソフトウェア上で行われているので、複合機１００はハードウェアデバイスを用いて画像処理の制御を実現することができる。
【０１５５】
次に、上述した複合機１００のソフトウェア構成により制御される画像処理について説明する。図５は、複合機１００が備える画像処理に関する構成と画像データの入出力を示す図である。本図に示すように、複合機１００は、画像処理の機能毎に、画像処理モジュールを備えている。
【０１５６】
本図に示すように複合機１００は、画像処理モジュールとして、入力処理モジュール５０１、ガンマ補正処理モジュール５０２、パターン出力処理モジュール５０３、変倍処理モジュール５０４、出力処理モジュール５０５を有する。
【０１５７】
入力処理モジュール５０１は、図１で示したブロック構成でいうと、原稿から読み取り処理を行った画像データに対して画像処理を行う場合、読取部１０７が相当する。なお、入力処理モジュール５０１は、ＨＤＤから読取処理を行う構成等でも良い。
【０１５８】
ガンマ補正処理モジュール５０２は、図１で示したブロック図では、画像処理部１０２に含まれ、ガンマ補正を行うためのモジュールとする。
【０１５９】
パターン出力処理モジュール５０３は、図１で示したブロック図では、画像処理部１０２に含まれ、例えば、画像データに対して格子やグラデーション模様のパターンを出力する。これにより、複合機１００は、入力された画像データに対して合成や上書き等をするテスト印刷の機能として使用できる。また、パターン出力処理モジュール５０３では、パターン出力を行なわずに、後段の変倍処理モジュール５０４に出力することもできる。
【０１６０】
変倍処理モジュール５０４は、図１で示したブロック図では、画像処理部１０２に含まれ、変倍処理を行うためのモジュールとする。
【０１６１】
出力処理モジュール５０５は、画像処理が行われた画像データに対して、出力処理するための画像形式に変換して、後段部への出力処理を行なう。また、出力処理モジュール５０５は、図１で示したブロックでいうと、印刷出力する場合は、印刷部１０８が相当する。なお、出力処理モジュール５０５は、ＨＤＤに対して書き込み処理を行う構成等でも良い。
【０１６２】
これら各画像処理モジュールは、例えばレジスタのようなパラメータ設定部を備えている。そして、パラメータ設定部には、各モジュールが行なう画像処理を特徴づけるパラメータが設定される。これらパラメータが設定されることで、各モジュールは、設定されたパラメータに従って画像処理を行なう。
【０１６３】
これらパラメータ設定は、上述した機種Ａ＿入力ＩＦ処理インスタンス２６０Ａ、機種Ａ＿ガンマ補正処理インスタンス２６１Ａ、機種Ａ＿パターン出力処理インスタンス２６２Ａ、機種Ａ＿変倍処理インスタンス２６３Ａ、機種Ａ＿出力ＩＦ処理インスタンス２６４Ａにより行われる。これにより機種Ａに適した画像処理が可能となる。
【０１６４】
なお、パラメータ設定は、複合機１００内で行うことに制限するものではなく、Ｉ２Ｃ(Inter-Integrated Circuit)バス等を介して行われた通信で設定されるものでもよい。これにより、複合機１００に画像データが入力された場合、設定されているパラメータに基づいて画像処理を行なうことができる。
【０１６５】
また、機種Ａに対して新たな機能を追加した場合には、複合機１００のクラス構成も変更される。図６は、図３で示した複合機１００にシフト処理の機能を追加した複合機６００のクラス構成を示した図である。なお、デバイス状態管理層６０１ａは、デバイス状態管理層２０３ａと同じ構成として、説明を省略する。
【０１６６】
シフト処理クラス６１０は、画像データに対して行うシフト処理について、複数の機種に共通する設定や制御（例えば、パラメータ計算）を行うクラスである。具体的には、このシフト処理クラス６１０は、属性として、シフト幅６１０ａを有し、操作として、パラメータ計算設定（）６１０ｂを有する。シフト幅６１０ａは、画像データを移行させるシフト幅を保持する。また、パラメータ計算設定（）６１０ｂは、図３で説明したものと同様の処理を行うものとして、説明を省略する。
【０１６７】
機種Ａ＿シフト処理クラス６２０は、シフト処理について、機種Ａに固有の設定や制御（例えば、機種Ａに固有なパラメータ計算や、機種Ａに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ａ＿シフト処理クラス６２０は、操作として、機種固有計算設定（）６２０ａを有する。また、機種固有計算設定（）６２０ａは、図３で説明したものと同様の処理を行うものとして、説明を省略する。
【０１６８】
機種Ａ＿経路作成クラス６３０は、機種Ａ＿経路作成クラス２２１と異なる点として、機種Ａ＿シフト処理クラス６２０にインスタンスの生成も行う点とする。これによって、画像処理を行う際にシフト処理を可能とする。
【０１６９】
つまり、複合機１００に画像処理に関する機能を追加する場合、共有機能処理層６０１ｂに複数の機種に共通する機能を示すクラスを、デバイス状態管理クラス２４０を継承させた上で追加する。そして、固有機能処理層６０１ｃに機種に固有の機能の設定を行うクラスを、共有機能処理層６０１ｂに追加したクラスを継承させた上で追加する。さらに、機種Ａ＿経路作成クラス６３０に対して、固有機能処理層６０１ｃに追加したクラスのインスタンスを生成するように変更する。つまり、共通機能処理層６０１ｂと固有機能処理層６０１ｃのそれぞれに新たな機能を示すクラスの追加と、機種Ａ経路作成クラスを変更するだけで、新たな機能が使用可能となる。
【０１７０】
このように、本実施の形態においては、機種Ａ＿経路作成クラス６３０以外のクラスに対して変更を行うことなく、新たな機能を示すクラスを追加できるので、機能の追加する際の開発負担が軽減される。
【０１７１】
図３及び図６で示した複合機１００のクラス構成において、同様の機能を備える他機種で使用されるクラスも存在する。そこで、第１の実施の形態の変形例として、複合機の機種Ｂに適用した例について説明する。
【０１７２】
図７は、第１の実施の形態の変形例にかかる機種Ｂの複合機７００のクラス構成を示した図である。本図に示すように、機種Ｂは機種Ａと比べて、ガンマ補正処理機能が削除され、フィルタ処理機能が追加されている。なお、第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。また、デバイス状態管理層７０１ａは、デバイス状態管理層２０３ａと同様の構成として、その説明を省略する。
【０１７３】
本図に示すクラス構成は、図３で示したクラス構成と比べて、共有機能処理層７０１ｂにおいて、ガンマ補正処理クラス２５１が削除され、フィルタ処理クラス７２０が追加されている。
【０１７４】
フィルタ処理クラス７２０は、画像データに対して行うフィルタ処理について、複数の機種に共通する設定や制御（例えば、パラメータ計算）を行うクラスである。具体的には、このフィルタ処理クラス７２０は、属性として、設定値７２０ａを有し、操作として、パラメータ計算設定（）７２０ｂを有する。設定値７２０ａは、フィルタリングを行う際のパラメータを保持する。また、パラメータ計算設定（）７２０ｂは、図３で説明したものと同様の処理を行うものとして、説明を省略する。
【０１７５】
そして、共有機能処理層７０１ｂに含まれる入力処理クラス２５０と、パターン出力処理クラス２５２と、変倍処理クラス２５３と、出力処理クラス２５４は、機種Ａの共有機能処理層２０３ｂに含まれるクラスと共通している。これは、当該共有機能処理層７０１ｂに含まれるクラスは、複数の機種に共通する設定や制御を行うクラスだからである。つまり、共有機能処理層７０１ｂに含まれるクラスは、機能が同一であれば複数の機種に使用することができる。
【０１７６】
そして、固有機能処理層７０１ｃに含まれる機種Ｂ＿入力ＩＦ処理クラス７３０と、機種Ｂ＿フィルタ処理クラス７３１と、機種Ｂ＿パターン出力処理クラス７３２と、機種Ｂ＿変倍処理クラス７３３と、機種Ｂ＿出力ＩＦ処理クラス７３４とは、共有機能処理層７０１ｂに含まれる各クラスを継承して、機種Ｂ固有の設定や制御を行うクラスとする。これらのクラスを備えることで、機種Ｂに適した画像処理が可能となる。なお機種固有計算設定（）７３０ａ、７３１ａ、７３２ａ、７３３ａ、７３４ａは、図３で説明した操作と同様の処理を行う操作であり、説明を省略する。
【０１７７】
機種Ｂ＿経路作成クラス７１０は、固有機能処理層７０１ｃに含まれる機種Ｂ＿入力ＩＦ処理クラス７３０と、機種Ｂ＿フィルタ処理クラス７３１と、機種Ｂ＿パターン出力処理クラス７３２と、機種Ｂ＿変倍処理クラス７３３と、機種Ｂ＿出力ＩＦ処理クラス７３４のインスタンスを生成する。これにより、機種Ｂが行う画像処理に用いられる各機能に対して、適した設定等が行われることになる。
【０１７８】
また、本実施の形態にかかる複合機１００では、デバイス制御ソフトウェア部品および画像経路ソフトウェア部品のインスタンスが、複合機で扱われる画像データの色毎に存在する。これにより、それぞれのインスタンスにより色別に制御することができる。
【０１７９】
また、インスタンスが扱う色は、ＲＧＢ（赤、緑、青）毎又はＣＭＹＫ（シアン、マゼンタ、イエロー、黒）毎が考えられる。
【０１８０】
また、本実施の形態とは異なるが、モノクロ画像形成装置の場合は、各クラスのインスタンスは１個ずつ生成される。このように、上述したクラス構成は、カラー画像形成装置またはモノクロ画像形成装置にかかわらず適用することができる。また、上述したソフトウェア構成は、画像処理の対象となる画像データが多色かモノクロかによらず画像処理を行うことができる。
【０１８１】
上述した第１の実施の形態及びこの変形例に示すように、複数機種が同じ機能を備えている場合に、共有機能処理層に含まれるクラスが複数機種間で共有される。これにより、開発者が複数機種に搭載される機能を開発する際に、重複開発を抑止することができる。さらに、開発効率を向上させるとともに、開発期間の短縮化を図ることができる。そして、固有機能処理層に含まれるクラスで当該機種に最適の設定を行うため、機種毎に適した設定を行うことができる。
【０１８２】
つまり、本実施の形態は、複合機１００を含む画像処理装置を制御するためのソフトウェアシステムを部品化して、複数の独立したコンポーネントで構成することとした。これによりコンポーネント毎に開発が可能となった。また、コンポーネント単位で構成することで、他の機種等への再利用が容易となったので、ソフトウェアの生産性、再利用性を向上させることが可能となる。また、複数機種に対して本ソフトウェア部品を適用し、また機能の追加/削除や変更への対応を容易にする。また、ソフトウェアの開発効率を向上させることが可能となる。
【０１８３】
本実施の形態にかかる複合機１００では、共有機能処理層２０３ｂに含まれるクラスと、固有機能処理層２０３ｃに含まれるクラスとで構成されている。そして、固有機能処理層２０３ｃに含まれるクラスを実体化したインスタンスが、機種固有の設定を行うために、自インスタンスの機種固有計算設定（）を呼び出している。これにより、外部から、機種固有の制御手法を隠蔽できる。これにより、外部からの制御が容易になる。
【０１８４】
また、本実施の形態にかかる複合機１００では、画像経路ソフトウェア部品２０２の機種Ａ＿経路作成クラス２２１が、固有機能処理層２０３ｃが有する各クラスの実体化を一括して管理している。これにより、デバイス制御ソフトウェア部品２０３に含まれる機能を示すクラスの追加、削除又は変更等が行われた場合、機種Ａ＿経路作成クラス２２１を修正するだけで対応できる。このように、デバイス制御ソフトウェア部品２０３のインスタンス生成に柔軟性を持たせることを可能とした。これにより、複合機１００のように当該ソフト構成を備えた装置であれば、画像処理等の信号経路の組み合わせの変更を容易にする。
【０１８５】
また、本実施の形態にかかる複合機１００では、ソフト構成として、入力処理クラス２５０が含まれる。これにより、複合機１００では、前段部からの画像入力処理を行なうことができ、複合機１００での前段部の変更による影響を局所化できる。
【０１８６】
また、本実施の形態にかかる複合機１００では、ソフト構成として、出力処理クラス２５４が含まれる。これにより、複合機１００では、画像処理が行われた画像データに対して、画像形式を変換したあと、後段部（例えば印刷部１０８、画像記憶部１０３）等により画像データを出力できる。このように、後段部の変更による影響を局所化できる。
【０１８７】
また、本実施の形態に係る複合機１００とは異なるが、画像形成装置のソフト構成として、共有機能処理層２０３ｂに、テスト印刷機能をもつクラスを含めることで、テスト印刷機能を容易に実現できる。このように、このようなソフト構成としたことで、テスト印刷機能を画像処理の機能と同等に扱うことができる。
【０１８８】
また、本実施の形態にかかる複合機１００において、画像経路ソフトウェア部品２０２が、画像処理の信号経路の組合せを複合機１００の機種に応じて管理している。つまり、画像処理の信号経路を変更する場合に、変更された信号経路に該当する画像経路ソフトウェア部品を修正することで容易に対応することができる。
【０１８９】
（第２の実施の形態）
第１の実施の形態においては、上述したソフトウェア構成を複合機（画像形成装置）に適用した場合について説明した。しかしながら、上述したソフトウェア構成は、複合機に適用した場合に制限するものではない。そこで、第２の実施の形態においては、デジタルスチルカメラが、上述したソフトウェア構成を備えた場合について説明する。
【０１９０】
図８は、第２の実施の形態にかかるデジタルスチルカメラ８００のブロック構成の概要を示す図である。本図に示すようにデジタルスチルカメラ８００の内部は、撮像部８０１と、操作部８０２と、制御部８０３と、表示部８０５と、画像記憶部８０６とを備えている。
【０１９１】
撮像部８０１は、光学系と、ＣＣＤと、Ａ／Ｄ変換部を有し、光学系により結像された被写体像をＣＣＤにより電気信号に変換し、変換された電気信号をＡ／Ｄ変換部により画像データに変換し、後述する制御部８０３に出力する。
【０１９２】
制御部８０３の内部にシステム制御部８０４と画像処理部８０７とを備え、デジタルスチルカメラ８００が備えた各構成を制御する。
【０１９３】
システム制御部８０４は、ＣＰＵ等から構成され、デジタルスチルカメラ８００の各部を制御するシーケンスを実行する。また、システム制御部８０４は、図示しない記憶部に格納された情報処理プログラムを読み込むことで、後述するソフトウェア構成が形成される。
【０１９４】
画像処理部８０７は、システム制御部１０１により形成されたソフトウェア構成に従って、画像データに対して画像処理を行う。
【０１９５】
画像記憶部８０６は、撮像された画像データ又は画像処理部８０７により画像処理が施された画像データを記憶する。また、画像記憶部８０６は、本実施の形態においてはフラッシュＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの一般的に利用されているあらゆる記憶手段により構成することができる。
【０１９６】
操作部８０２は、利用者からの撮像操作を受け付け可能な構成とし、各種操作キーにより構成されている。
【０１９７】
表示部８０５は、撮像部８０１が出力した被写体像や、ユーザが操作部から入力したデジタルスチルカメラ８００の動作に関する各種命令内容、を表示する装置であり、本実施の形態では液晶パネルとする。
【０１９８】
本実施の形態にかかるデジタルスチルカメラ８００は、撮像した画像データに対して画像処理を行う画像処理装置を備えた構成とする。つまり、デジタルスチルカメラは、画像処理を行うためのソフトウェア構成を備えている。
【０１９９】
図９は、第２の実施の形態にかかるデジタルスチルカメラ８００を制御するクラス構成を示す図である。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。なお、デジタルスチルカメラ８００の機種は、機種Ｃとする。
【０２００】
また、デバイス状態管理層９０１ａは、デバイス状態管理層２０３ａと同じなので説明を省略する。また、デジタルスチルカメラ８００が、第１の実施の形態にかかる複合機１００と同じ機能を備える場合、共有機能処理層９０１ｂは、第１の実施の形態にかかる共有機能処理層２０３ｂに含まれていた当該機能を示すクラスを備えている。
【０２０１】
フィルタ処理クラス９１０は、画像データに対してノイズやモアレの除去、エッジ強調を行うフィルタ処理について、複数の機種に共通する設定や制御（例えば、パラメータ計算）を行うクラスである。具体的には、このフィルタ処理クラス９１０は、属性として、設定値９１０ａを有し、操作として、パラメータ計算設定（）９１０ｂを有する。設定値９１０ａは、フィルタリングを行う際のパラメータを保持する。また、パラメータ計算設定（）９１０ｂは、図３で説明したものと同様の処理を行うものとして、説明を省略する。
【０２０２】
表示処理クラス９１１は、画像データの表示処理について、複数の機種に共通する設定や制御（例えば、パラメータ計算）を行うクラスである。具体的には、この表示処理クラス９１１は、属性として、表示サイズ９１１ａを有し、操作として、パラメータ計算設定（）９１１ｂを有する。表示サイズ９１１ａは、表示部８０５に表示可能な画像データのサイズを保持する。また、パラメータ計算設定（）９１１ｂは、図３で説明したものと同様の処理を行うものとして、説明を省略する。
【０２０３】
機種Ｃ＿入力ＩＦ処理クラス９２０は、画像データの入力処理時に、入力処理について、機種Ｃに固有の設定や制御を行うクラスである。具体的には、この機種Ｃ＿入力ＩＦ処理クラス９２０は、操作として、機種固有計算設定（）９２０ａを有する。
【０２０４】
機種固有計算設定（）９２０ａは、親クラスが保持するパラメータ計算設定（）２５０ｃから呼び出され、機種Ｃ固有の設定を行ったあと、準備終了通知（）２２０ｅを呼び出して、終了した旨を通知する。なお、固有機能処理層９０１ｃの各クラスが備える操作'機種固有計算設定（）'も同様とする。
【０２０５】
機種Ｃ＿ガンマ補正処理クラス９２１は、ガンマ補正処理について、機種Ｃに固有の設定や制御（例えば、機種Ｃに固有なパラメータ計算や、機種Ｃに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ｃ＿ガンマ補正処理クラス９２１は、操作として、機種固有計算設定（）９２１ａを有する。
【０２０６】
機種Ｃ＿フィルタ処理クラス９２２は、フィルタ処理について、機種Ｃに固有の設定や制御（例えば、機種Ｃに固有なパラメータ計算や、機種Ｃに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ｃ＿フィルタ処理クラス９２２は、操作として、機種固有計算設定（）９２２ａを有する。
【０２０７】
機種Ｃ＿変倍処理クラス９２３は、変倍処理について、機種Ｃに固有の設定や制御（例えば、機種Ｃに固有なパラメータ計算や、機種Ｃに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ｃ＿変倍処理クラス９２３は、操作として、機種固有計算設定（）９２３ａを有する。
【０２０８】
機種Ｃ＿表示処理クラス９２４は、画像データを表示処理する際に、機種Ｃに固有の設定や制御（例えば、機種Ｃに固有なパラメータ計算や、機種Ｃに固有なパラメータ設定）を行うクラスである。具体的には、この機種Ｃ＿表示処理クラス９２４は、操作として、機種固有計算設定（）９２４ａを有する。
【０２０９】
上述したように、本実施の形態にかかるデジタルスチルカメラ８００において、デバイス状態管理層９０１ａと、共有機能処理層９０１ｂと、固有機能処理層９０１ｃとに上述したクラスを備えることで、他の機種とクラスを共通化すると共に、機種毎に適した処理を可能とする。
【０２１０】
また、上述した複合機やデジタルスチルカメラなどの画像処理装置に、本発明のソフト構成を適用することに制限するものではなく、複数の機種を有する様々な装置に適用することができる。このような装置としては、例えば、音声再生装置、動画再生装置、動画録画装置などに対して適用できる。また、他の例として家電製品に対して適用しても良い。
【０２１１】
なお、上述した実施形態の複合機又はデジタルスチルカメラで実行される情報処理プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０２１２】
上述した実施の形態で実行される情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０２１３】
さらに、上述した実施の形態にかかる情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかる情報処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０２１４】
上述した実施の形態で実行される情報処理プログラムは、上述した各部（要求受付ソフトウェア部品、画像経路ソフトウェア部品及びデバイス制御ソフトウェア部品）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから情報処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、要求受付ソフトウェア部品、画像経路ソフトウェア部品及びデバイス制御ソフトウェア部品が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０２１５】
以上のように、本発明にかかる情報処理装置、画像処理装置、画像形成装置及び情報処理プログラムは、機能に対して設定する技術として有用であり、特に、機能を設定するためのソフトウェア部品を複数の異なる機種で使用する技術に適している。
【図面の簡単な説明】
【０２１６】
【図１】第１の実施の形態にかかる複合機のブロック構成の概要を示す図である。
【図２】第１の実施の形態にかかる複合機のハードウェア構成を示すブロック図である。
【図３】第１の実施の形態にかかる複合機を制御するクラス構成を示した図である。
【図４】第１の実施の形態にかかる複合機が画像処理の要求を受け付けた場合の処理の準備を行う操作の実行手順を示すＵＭＬシーケンス図である。
【図５】第１の実施の形態にかかる複合機が備える画像処理に関する構成と画像データの入出力を示す図である。
【図６】図３で示した複合機にシフト処理の機能を追加した複合機のクラス構成を示した図である。
【図７】第１の実施の形態の変形例にかかる機種Ｂの複合機のクラス構成を示した図である。
【図８】第２の実施の形態にかかるデジタルスチルカメラのブロック構成の概要を示す図である。
【図９】第２の実施の形態にかかるデジタルスチルカメラを制御するクラス構成を示す図である。
【符号の説明】
【０２１７】
１０  制御部
１１  ＣＰＵ
１２  ＭＥＭ−Ｐ
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ＮＢ
１４  ＳＢ
１５  ＡＧＰバス
１６  ＡＳＩＣ
１７  ＭＥＭ−Ｃ
１８  ＨＤＤ
２０  操作パネル
２１  液晶タッチパネル
２２  テンキー
２３  スタートキー
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４インターフェース
６０  エンジン部
７０  スキャン部
１００、６００、７００  複合機
１０１  システム制御部
１０２  画像処理部
１０３  画像記憶部
１０４  アプリ制御部
１０５  操作部
１０６  表示部
１０７  読取部
１０８  印刷部
２０１  要求受付ソフトウェア部品
２０２、９０２  画像経路ソフトウェア部品
２０３、６０１，７０１、９０１  デバイス制御ソフトウェア部品
２０３ａ、６０１ａ、７０１ａ、９０１ａ  デバイス状態管理層
２０３ｂ、６０１ｂ、７０１ｂ、９０１ｂ  共有機能処理層
２０３ｃ、６０１ｃ、７０１ｃ、９０１ｃ  固有機能処理層
２１０  要求受付クラス
２１０ａ  色
２１０ｂ  準備要求（）
２１０ｃ  準備終了通知（）
２１０Ａ  要求受付インスタンス
２２０  経路管理クラス
２２０ａ  色
２２０ｂ  状態
２２０ｃ  デバイス制御の数
２２０Ａ  経路管理インスタンス
２２１、６３０  機種Ａ＿経路作成クラス
２２１Ａ  機種Ａ＿経路作成インスタンス
２４０  デバイス状態管理クラス
２４０ａ  状態
２４０ｂ  準備要求（）
２５０  入力処理クラス
２５０ａ  入力画像サイズ
２５０ｂ  入力アドレス
２５０ｃ  パラメータ計算設定（）
２５１  ガンマ補正処理クラス
２５１ａ  ガンマテーブル
２５１ｂ  パラメータ計算設定（）
２５２  パターン出力処理クラス
２５２ａ  出力モード
２５２ｂ  パターン種類
２５２ｃ  パラメータ計算設定（）
２５３  変倍処理クラス
２５３ａ  変倍率
２５３ｂ  パラメータ計算設定（）
２５４  出力処理クラス
２５４ａ  出力方法
２５４ｂ  パラメータ計算設定（）
２６０  機種Ａ＿入力ＩＦ処理クラス
２６０ａ  機種固有計算設定（）
２６０Ａ  機種Ａ＿入力ＩＦ処理インスタンス
２６１    機種Ａ＿ガンマ補正処理クラス
２６１ａ  機種固有計算設定（）
２６１Ａ    機種Ａ＿ガンマ補正処理インスタンス
２６２    機種Ａ＿パターン出力処理クラス
２６２ａ  機種固有計算設定（）
２６２Ａ    機種Ａ＿パターン出力処理インスタンス
２６３    機種Ａ＿変倍処理クラス
２６３ａ  機種固有計算設定（）
２６３Ａ    機種Ａ＿変倍処理インスタンス
２６４  機種Ａ＿出力ＩＦ処理クラス
２６４ａ  機種固有計算設定（）
２６４Ａ  機種Ａ＿出力ＩＦ処理インスタンス
５０１  入力処理モジュール
５０２  ガンマ補正処理モジュール
５０３  パターン出力処理モジュール
５０４  変倍処理モジュール
５０５  出力処理モジュール
６１０  シフト処理クラス
６１０ａ  シフト幅
６１０ｂ  パラメータ計算設定（）
６２０  機種Ａ＿シフト処理クラス
６２０ａ  機種固有計算設定（）
７１０  機種Ｂ＿経路作成クラス
７２０  フィルタ処理クラス
７２０ａ  設定値
７２０ｂ  パラメータ計算設定（）
７３０  機種Ｂ＿入力ＩＦ処理クラス
７３０ａ  機種固有計算設定（）
７３１  機種Ｂ＿フィルタ処理クラス
７３１ａ  機種固有計算設定（）
７３２  機種Ｂ＿パターン出力処理クラス
７３２ａ  機種固有計算設定（）
７３３  機種Ｂ＿変倍処理クラス
７３３ａ  機種固有計算設定（）
７３４  機種Ｂ＿出力ＩＦ処理クラス
７３４ａ  機種固有計算設定（）
８００  デジタルスチルカメラ
８０１  撮像部
８０２  操作部
８０３  制御部
８０４  システム制御部
８０５  表示部
８０６  画像記憶部
８０７  画像処理部
９１０  フィルタ処理クラス
９１０ａ  設定値
９１０ｂ  パラメータ計算設定（）
９１１  表示処理クラス
９１１ａ  表示サイズ
９１１ｂ  パラメータ計算設定（）
９２０  機種Ｃ＿入力ＩＦ処理クラス
９２０ａ  機種固有計算設定（）
９２１  機種Ｃ＿ガンマ補正処理クラス
９２１ａ  機種固有計算設定（）
９２２  機種Ｃ＿フィルタ処理クラス
９２２ａ  機種固有計算設定（）
９２３  機種Ｃ＿変倍処理クラス
９２３ａ  機種固有計算設定（）
９２４  機種Ｃ＿表示処理クラス
９２４ａ  機種固有計算設定（）
【図１】
2007317101.tif 000003
【図２】
2007317101.tif 000004
【図３】
2007317101.tif 000005
【図４】
2007317101.tif 000006
【図５】
2007317101.tif 000007
【図６】
2007317101.tif 000008
【図７】
2007317101.tif 000009
【図８】
2007317101.tif 000010
【図９】
2007317101.tif 000011