(57)【要約】【課題】設定メニュー表示画面において複数の機能間を関連付けて統一化することにより、操作性を向上させ、より多くの機能を容易に活用できるようにし、また、プログラム開発効率を向上させる。【解決手段】画像データ入力手段の各々を示す入力項目群４１０Ｄと、入力された画像データを編集する編集項目群４１２Ｄと、画像データ出力手段の各々を示す出力項目群４１３Ｄとに分けて操作パネルに表示させる。ジョブ種は、入力項目群４１０Ｄのなかの項目の選択と出力項目群４１３Ｄのなかの項目の選択とにより定まる。ジョブ選択キー押下によりジョブを選択することもでき、この選択に対し、入力項目群４１０Ｄ及び出力項目群４１２Ｄのそれぞれについて１つの項目のみ選択表示させる。各項目群のなかの選択された項目を押下すると詳細設定項目が表示される。各項目は機能モジュールと対応付けられている。【選択図】図４
2007215078.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像データ入力手段と、複数の画像データ出力手段と、指示及び設定値を入力する指示入力手段と、表示手段とが、制御手段に結合され、該制御手段は、該指示入力手段からの入力に応じてメニューを階層構造的に順次該表示手段に表示させる画像形成装置において、
該制御手段は、該複数の画像データ入力手段の各々を示す入力項目群と、入力された画像データを編集する編集項目群と、該複数の画像データ出力手段の各々を示す出力項目群とに分けてこれらの項目群を第１メニューとして該表示手段に表示させ、該入力項目群、該編集項目群又は該出力項目群のなかから該指示入力手段により選択された項目の詳細設定項目を第２メニューとして該表示手段に表示させ、
該入力項目群のなかの項目の選択と該出力項目群のなかの項目の選択とによりジョブ種が定まることを特徴とする画像形成装置。
【請求項２】
該編集項目群は該ジョブ種に依存しない項目群であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
該制御手段は、該表示手段に対し、該入力項目群と該出力項目群との間に該編集項目群を表示させることを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
該制御手段は、該指示入力手段により選択されたジョブ種に応じて、該入力項目群及び該出力項目群のそれぞれについて１つの項目のみ選択された状態を表示させる、
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像形成装置。
【請求項５】
該制御手段は、
プログラムに従って動作するプロセッサと、
該プロセッサに結合され、該プログラムが格納される記憶手段と、
を有し、該プログラムは、
該入力項目群及び該出力項目群の各項目に対応した処理を行う機能モジュールと該編集項目群の各項目の一部又は全部に対応した処理を行う機能モジュールとの集合と、
該指示入力手段からのジョブ選択及び起動指示に応じて、該機能モジュールの集合のうち、該入力項目群のなかの１つの項目に対応した機能モジュールを実行させ、該機能モジュールの集合のうち、該編集項目群のなかの選択された項目内の一部又は全部に対応した機能モジュールを実行させ、次いで、該機能モジュールの集合のうち、該出力項目群のなかの１つの項目に対応した機能モジュールを実行させるジョブ実行制御モジュールと、
を有することを特徴とする請求項１乃至４のいずれか１つに記載の画像形成装置。
【請求項６】
該ジョブ実行制御モジュールは、該入力項目群のなかの１つの項目に対応した設定値を、この項目に対応した機能モジュールに与えてこの機能モジュールを実行させ、該編集項目群のなかの選択された項目内の一部又は全部に対応した設定値を、この項目内の一部又は全部に対応した機能モジュールに与えてこの機能モジュールを実行させ、該出力項目群のなかの１つの項目に対応した設定値を、この項目に対応した機能モジュールに与えてこの機能モジュールを実行させる、
ことを特徴とする請求項５に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像入力装置と複数の画像出力装置を備えた画像形成装置に係り、特に、メニュー表示を行う操作パネルを備えた画像形成装置に関する。
【背景技術】
【０００２】
画像形成装置の一種である複合機は、複数の機能で共通のハードウェア資源を用いるので、全体としてコストを低減できるとともに、省スペース化を図ることができる。
【０００３】
下記特許文献１には、ＵＮＩＸなどの汎用オペレーティングシステム（汎用ＯＳ）を用い、コピー、プリント、スキャン及びファクシミリの各アプリケーションの共通機能を括りだして汎用ＯＳとともにプラットフォームを構成することにより、各アプリケーションのプログラムステップ数を低減して、プログラム開発効率を高めることが開示されている。
【０００４】
しかしながら、ジョブ種別毎にアプリケーションを備え、各アプリケーションの共通機能を括り出しただけなので、アプリケーション毎に独自のジョブ生成モジュールが用いられ、メニュー表示画面も複数の機能間で統一性がなくて煩雑であるため、操作性が悪く、ユーザは備わっている機能を充分に活用することができない。
【０００５】
また、例えば３種類の画像入力手段と３種類の画像出力手段とを備えた画像形成装置は、これらを組み合わせた合計３×３＝９通りの機能を有するが、従来では既存のジョブ種別毎にアプリケーションを備えているので、全ての機能を活用できない。たとえ機能を追加したとしても、個別アプリケーションの特殊機能として取り扱われるので、より複雑になり、ユーザは備わっている機能を充分に活用することができない。
【特許文献１】特開２００２−８４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、このような問題点に鑑み、メニュー表示画面において複数の機能間を関連付けて統一化することにより、操作性を向上させることが可能な画像形成装置を提供することにある。
【０００７】
本発明の他の目的は、メニュー表示画面において複数の機能間を関連付けて統一化することにより、より多くの機能を容易に活用することが可能な画像形成装置を提供することにある。
【０００８】
本発明のさらに他の目的は、メニュー表示画面において複数の機能間を関連付けて統一化することにより、プログラム開発効率を向上させることが可能な画像形成装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１態様では、複数の画像データ入力手段と、複数の画像データ出力手段と、指示及び設定値を入力する指示入力手段と、表示手段とが、制御手段に結合され、該制御手段は、該指示入力手段からの入力に応じてメニューを階層構造的に順次該表示手段に表示させる画像形成装置において、
該制御手段は、該複数の画像データ入力手段の各々を示す入力項目群と、入力された画像データを編集する編集項目群と、該複数の画像データ出力手段の各々を示す出力項目群とに分けてこれらの項目群を第１メニューとして該表示手段に表示させ、該入力項目群、該編集項目群又は該出力項目群のなかから該指示入力手段により選択された項目の詳細設定項目を第２メニューとして該表示手段に表示させ、
該入力項目群のなかの項目の選択と該出力項目群のなかの項目の選択とによりジョブ種が定まる。
【００１０】
本発明による画像形成装置の第２態様では、第１態様において、該編集項目群は該ジョブ種に依存しない項目群である。
【００１１】
本発明による画像形成装置の第３態様では、第１又は２態様において、該制御手段は、該表示手段に対し、該入力項目群と該出力項目群との間に該編集項目群を表示させる。
【００１２】
本発明による画像形成装置の第４態様では、第１乃至３態様のいずれか１つにおいて、該制御手段は、該指示入力手段により選択されたジョブ種に応じて、該入力項目群及び該出力項目群のそれぞれについて１つの項目のみ選択された状態を表示させる。
【００１３】
本発明による画像形成装置の第５態様では、第１乃至４態様のいずれか１つにおいて、該制御手段は、
プログラムに従って動作するプロセッサと、
該プロセッサに結合され、該プログラムが格納される記憶手段と、
を有し、該プログラムは、
該入力項目群及び該出力項目群の各項目に対応した処理を行う機能モジュールと該編集項目群の各項目の一部又は全部に対応した処理を行う機能モジュールとの集合と、
該指示入力手段からのジョブ選択及び起動指示に応じて、該機能モジュールの集合のうち、該入力項目群のなかの１つの項目に対応した機能モジュールを実行させ、該機能モジュールの集合のうち、該編集項目群のなかの選択された項目内の一部又は全部に対応した機能モジュールを実行させ、次いで、該機能モジュールの集合のうち、該出力項目群のなかの１つの項目に対応した機能モジュールを実行させるジョブ実行制御モジュールとを有する。
【００１４】
本発明による画像形成装置の第６態様では、第５態様において、該ジョブ実行制御モジュールは、該入力項目群のなかの１つの項目に対応した設定値を、この項目に対応した機能モジュールに与えてこの機能モジュールを実行させ、該編集項目群のなかの選択された項目内の一部又は全部に対応した設定値を、この項目内の一部又は全部に対応した機能モジュールに与えてこの機能モジュールを実行させ、該出力項目群のなかの１つの項目に対応した設定値を、この項目に対応した機能モジュールに与えてこの機能モジュールを実行させる。
【発明の効果】
【００１５】
上記第１態様の構成によれば、複数の画像データ入力手段の各々を示す入力項目群と、入力された画像データを編集する編集項目群と、複数の画像データ出力手段の各々を示す出力項目群とに分けてこれらの項目群を第１メニューとして表示手段に表示させ、該入力項目群、該編集項目群又は該出力項目群のなかから該指示入力手段により選択された項目の詳細設定項目を第２メニューとして該表示手段に表示させ、該入力項目群のなかの項目の選択と該出力項目群のなかの項目の選択とによりジョブ種が定まるので、ユーザは、統一的にメニュー表示された第１メニューでの選択により定まる各種ジョブを容易に活用することができる。
【００１６】
また、第１メニューの統一的表示により操作性が向上する。
【００１７】
さらに、入力項目群、編集項目群及び該出力項目群の分類表示と、このように分類された項目の詳細設定項目とにより、各項目に対応した機能モジュールとの対応付けが可能となるので、プログラム開発効率が向上する。
【００１８】
上記第２態様の構成によれば、該編集項目群がジョブ種に依存しない項目群であるので、ジョブ種に依存することによる混乱が避けられて操作性が向上する。
【００１９】
上記第３態様の構成によれば、該入力項目群と該出力項目群との間に、ジョブ種に依存しない該編集項目群を表示させるので、操作性がよい。また、編集処理は入力処理と出力処理との間で実行されるので、このような配置により、処理の流れを把握し易く、ユーザに対し全体の設定の理解を容易させる。
【００２０】
上記第４態様の構成によれば、該指示入力手段により選択されたジョブ種に応じて、該入力項目群及び該出力項目群のそれぞれについて１つの項目のみ選択された状態を表示させるので、ユーザは通常使用するジョブを容易に選択できるとともに、どの画像入力手段とどの画像出力手段とを使用するのかを容易に理解でき、これにより設定項目の内容を理解し易くなり、さらに、選択された状態から出力項目群内の出力先のみ変更することができるので、操作性がよく、ユーザは備わっている機能を充分に活用することが可能となる。
【００２１】
上記第５及び６態様の構成によれば、メニューと機能モジュールとが対応しているので、プログラム開発効率が向上する。
【００２２】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例１】
【００２３】
図２１は、本発明の実施例１に係る画像形成装置１０のハードウェア概略構成を示すブロック図である。
【００２４】
この画像形成装置１０は、コピー、プリント、スキャン、ファクシミリ送信及びファクシミリ受信機能を有し、プロセッサ１１に、チップセット１２を介してメモリ１３、ハードディスク装置１４、拡張カード１５〜１８、ネットワークインタフェースカード（ＮＩＣ）１９及び通信モデム２０が結合され、拡張カード１５〜１８にそれぞれ操作パネル２５、搬送装置等２６、プリントエンジン２７及びスキャンエンジン２８が結合されている。例えば、拡張カード１５〜１７はＰＣＩカードであり、拡張カード１８はＰＣＩバス用ＳＣＳＩインタフェースカードである。また、ＮＩＣ１９及び通信モデム２０はそれぞれ、外部の通信モデム２０及び公衆回線３１に結合されている。搬送装置等２６は、用紙搬送装置、定着装置及びフィニッシャ等を含む。
【００２５】
ハードディスク装置１４には、マルチスレッド機能を備えた汎用オペレーティングシステム（ＯＳ）と、このＯＳ上で動作する統合アプリケーションと、ＯＳの下で動作するデバイスドライバとを備えている。
【００２６】
図１は、このアプリケーション４０の要部全体構成を示す概略ブロック図である。
【００２７】
上記引用文献１がジョブ種別毎にアプリケーションを備えているのに対し、本実施例１の特徴の１つは、コピー、プリント、スキャン及びファクシミリ送信等の各ジョブを１つの統合型アプリケーションで処理し、かつ、各ジョブを複数のジョブステップに統一的に分割することにより、ソフトウェア構成を整理して、ソフトウェア開発効率を高めることができる点である。
【００２８】
各ジョブの実行は、機能モジュール群４１から選択したものを順次実行することで遂行される。機能モジュール群４１は、これら４つのジョブステップに対応して、入力機能モジュール群４１０、クリエイト機能モジュール群４１１、エディット機能モジュール群４１２及び出力機能モジュール群４１３に分類される。
【００２９】
図２は、機能モジュール群４１の構成を示すブロック図である。各機能モジュールには、ジョブ制御及びジョブステップ制御において識別されるコードが付されている。
【００３０】
入力機能モジュール群４１０は、コード００、０１及び０２の機能モジュールを含んでおり、それぞれ図２１のスキャンエンジン２８、ＮＩＣ１９及び通信モデム２０からデータを取得してメモリ１３に格納させる。
【００３１】
クリエイト機能モジュール群４１１は、コード１０、１１及び１２の機能モジュールを含んでおり、それぞれコード００、０１及び０２の機能モジュールでメモリ１３に格納された画像データの１頁分を、展開されたビットマップデータに変換するものである。コード１１の機能モジュールは、ＲＩＰ処理を行うものであり、コード１０及び１２の機能モジュールは、圧縮されたデータの伸長処理を行うものである。
【００３２】
クリエイト機能モジュール群４１１での処理により、入力装置によらず、データフォーマットが統一されるので、入力装置に依存しない共通の処理を行うことができる。
【００３３】
エディット機能モジュール群４１２は、コード２０、２１及び２２の機能モジュールを含み、それぞれ、クリエイト機能モジュール群４１１によりメモリ１３に格納された画像データに対し、頁付け、２頁分の原稿画像を１枚の用紙サイズに集約する処理（２ｉｎ１）、及び、４頁分の原稿画像を１枚の用紙サイズに集約する処理（４ｉｎ１）を行うものである。実際にはより多種のエディットがあるが、図２では簡単化のため、３種のみ記載している。
【００３４】
出力機能モジュール群４１３は、コード２０、２１及び２２の機能モジュールを含んでおり、それぞれ、エディット機能モジュール群４１２で編集された画像データをプリントエンジン２７に対しそのまま供給し、ハードディスク装置１４及び通信モデム２０に対しては、定められたフォーマットに変換してこれらに出力する。
【００３５】
図１に戻って、ＧＵＩモジュール４２は、ユーザによる操作パネル２５の操作に応じて表示画面を変更するとともに、ユーザの操作に応じた入力データを設定情報としてメモリ１３に格納させる。
【００３６】
図３は、図２１のハードディスク装置１４からメモリ１３にロードされたプログラムに従って行われる制御を示すフローチャートであり、図４〜１１を参照して以下にこれを説明する。このフローチャートは、ステップＳＣ以外はＧＵＩモジュール４２での処理を示すものであり、この処理は、電源投入により開始され、又は、プロセッサ１１がスタンドバイ状態で不図示のハードウェアスタートキーを押下することによりプロセッサ１１に割り込みがかかりプロセッサ１１がラン状態に遷移して開始される。以下、括弧内は図中のステップ識別符号である。
【００３７】
（Ｓ０）操作パネル２５に、図４（Ａ）に示すような初期画面を表示させる。
【００３８】
本実施例１では３種類の画像入力手段と３種類の画像出力手段とを備えているので、これらを組み合わせた合計３×３＝９種の機能を有する。これら組み合わせ機能をユーザに充分に活用させるために、この初期画面に、図２の入力機能モジュール群４１０、エディット機能モジュール群４１２及び出力機能モジュール群４１３にそれぞれ対応した入力項目群４１０Ｄ、編集項目群４１２Ｄ及び出力項目群４１３Ｄからなるジョブステップ選択画像を含ませている。ユーザが容易に理解できるようにするために、図２の入力機能モジュール群４１０のＳＣＡＮ入力、ＮＩＣ入力及びＭＯＤＥＭ入力に対応して、図４（Ａ）入力項目群４１０Ｄではそれぞれ、「原稿読取」、「ＰＣ入力」及び「ＦＡＸ受信」と表記している。同様に、図２の出力機能モジュール群４１３のＰＥ（プリントエンジン）出力、ＨＤ（ハードディスク）出力及びＭＯＤＥＭ出力に対応して、図４（Ａ）出力項目群４１３Ｄではそれぞれ、「印刷」、「ＢＯＸ」及び「ＦＡＸ送信」と表記している。
【００３９】
図４（Ａ）の初期画面に、図２のクリエイト機能モジュール群４１１に対応する項目群がないのは、入力の設定に応じてクリエイト処理が決まるので、設定する必要がないからである。なお、「ＦＡＸ受信」と「ＦＡＸ送信」の組み合わせは、受信したファクシミリデータを、図８（Ｃ）で設定した宛先へファクシミリ転送するジョブである。
【００４０】
また、通常使用するジョブをワンキーで選択できるようにするために、コピージョブ選択キー４１４Ｄ、プリントジョブ選択キー４１５Ｄ、スキャンジョブ選択キー４１６Ｄ及びファクシミリジョブ選択キー４１７Ｄからなるジョブ選択画像を含ませている。
【００４１】
図４（Ａ）において、反転表示されている項目は、その項目が選択されていることを示す（他図においても同様）。図４（Ａ）では、初期状態としてコピージョブが選択され、これに応じて「原稿読取」及び「印刷」が選択されている。エディットは、ジョブ種選択に依存せず、その項目は反転表示されていない。
【００４２】
編集項目群４１２Ｄは全ての機能で共通の項目群であり、そのキーが画面中央部に配置されているので、操作性がよい。また、エディットはインプットとアウトプットの間で実行されるので、そのキーを画面中央部に配置することのより、処理の流れを把握し易く、全体の設定の理解を容易にする。
【００４３】
編集項目群４１２Ｄについては、個々の機能モジュール毎に項目を表示してもよいが、表示画面が比較的大きい場合には、複数の機能モジュールを１つの項目に対応させた方が、設定しやすい。そこで、本実施例では、エディットを拡縮・集約と頁付・消去とに分けている。ここで消去とは、原稿周辺部（枠）又は両開き原稿の中央部の画像消去である。
【００４４】
（Ｓ１）ラン状態で該ハードウェアスタートキーが押下されるとステップＳＣへ進み、そうでなければステップＳ２へ進む。
【００４５】
（Ｓ２）ジョブ選択キー（コピージョブ選択キー４１４Ｄ、プリントジョブ選択キー４１５Ｄ、スキャンジョブ選択キー４１６Ｄ又はファクシミリジョブ選択キー４１７Ｄ）が押下された場合にはステップＳ３へ進み、そうでなければステップＳ５へ進む。
【００４６】
（Ｓ３）押下されたジョブ選択キーに対応するジョブを選択状態にする。すなわち、既に反転表示されているジョブ選択キーを通常表示に戻し、押下されたジョブ選択キーを反転表示させる。具体的には、コピージョブ選択キー４１４Ｄ、プリントジョブ選択キー４１５Ｄ、スキャンジョブ選択キー４１６Ｄ又はファクシミリジョブ選択キー４１７Ｄが押下された場合には、そのジョブを選択してジョブ選択キーをそれぞれ図４（Ａ）、図４（Ｂ）、図５（Ａ）及び図５（Ｂ）に示す状態にする。
【００４７】
このようにすることにより、ユーザは通常使用するジョブを容易に選択できるとともに、どの画像入力手段とどの画像出力手段とを使用するのかを容易に理解できるので、この状態から出力項目群４１３Ｄ内の出力先を変更するのも容易にできる。また、使用する画像入力手段及び画像出力手段を把握することで、それらの設定項目の内容を理解し易い。したがって、ユーザは備わっている機能を充分に活用することが可能となるとともに、操作性がよい。
【００４８】
（Ｓ４）選択されたジョブに応じて、入力項目群４１０Ｄの中の１つのみ及び出力項目群４１３Ｄの中の１つのみを白黒反転表示させる。すなわち、プリントジョブ選択キー４１５Ｄが押下された場合には、図４（Ｂ）に示す如く「ＰＣ入力」及び「印刷」を反転表示させ、スキャンジョブ選択キー４１６Ｄが押下された場合には図５（Ａ）に示す如く「原稿読取」及び「印刷」を反転表示させ、ファクシミリジョブ選択キー４１７Ｄが押下された場合には図５（Ｂ）に示す如く「原稿読取」及び「ＦＡＸ送信」を反転表示させる。
【００４９】
（Ｓ５）入力項目群４１０Ｄ、編集項目群４１２Ｄ又は出力項目群４１３Ｄの中の項目（ジョブステップキー）が押下された場合にはステップＳ６へ進み、そうでなければステップＳ１へ戻る。
【００５０】
ユーザは、ジョブ選択キー４１４Ｄ〜４１７Ｄを押下せずに入力項目群４１０Ｄの中の任意の１つのキーを押し、出力項目群４１３Ｄの中の任意の１つのキーを押してもよい。
【００５１】
（Ｓ６）押下されたキーが白黒反転状態（選択状態）であればステップＳ７へ進み、そうでなければステップＳ４Ａへ進む。すなわち、ジョブステップキーは、ジョブステップの選択と、その設定の選択の２つの機能を有しており、後者の場合にはステップＳ７へ進み、前者の場合にはステップＳ４Ａへ進む。
【００５２】
（Ｓ４Ａ）押下されたジョブステップキーに対応するジョブステップを選択状態にする。すなわち、既に反転表示されているジョブステップキーを通常表示に戻し、押下されたジョブステップキーを反転表示させる。この時の画像入力手段と画像出力手段の組によりジョブ種が変わった場合には、対応するジョブ選択キーのみを反転表示させる。例えば、スキャン入力キー４１６Ｄ及びこれに対応した「原稿読取」キー及び「ＢＯＸ」キーが反転表示状態である場合に、「印刷」キーを押下すると、「ＢＯＸ」キー及び「ＳＣＡＮ」キーを非反転表示させ、「印刷」キー及び「ＰＲＩＮＴ」キーを反転表示させる。次にステップＳ１へ戻る。
【００５３】
（Ｓ７）選択された項目の詳細メニューを表示させる。すなわち、入力項目群４１０Ｄの「原稿読取」、「ＰＣ入力」又は「ＦＡＸ受信」が選択された場合には、それぞれ図６（Ａ）、（Ｂ）又は（Ｃ）の詳細メニュー画面が表示される。編集項目群４１２Ｄの拡縮・集約又は頁付・消去が選択された場合には、それぞれ図７（Ａ）又は（Ｂ）の詳細メニュー画面が表示される。同様に、出力項目群４１３Ｄの「印刷」、「ＢＯＸ」又は「ＦＡＸ送信」が選択された場合には、それぞれ図８（Ａ）、（Ｂ）又は（Ｃ）の詳細メニュー画面が表示される。この状態で、ユーザは詳細項目を設定する。詳細メニュー画面での設定は図を見ただけで容易に理解できるので、その説明を省略する。
【００５４】
（Ｓ８、Ｓ９、ＳＡ、ＳＢ）ＯＫキーが押下された場合には、設定された値を確定してメインメニュー表示に戻り、さらにステップＳ１へ戻る。ＥＸＩＴキーが押下された場合には、設定された値を確定せずに、メインメニュー表示に戻り、さらにステップＳ１へ戻る。確定した値は、機能モジュールの実行段階で用いられる。
【００５５】
（ＳＣ）ＧＵＩモジュール４２は、選択されたジョブのコードと設定情報とをジョブ制御モジュール４３へ供給する。ジョブ制御モジュール４３はこれに応答して、インプットステップ、クリエイトステップ、エディットステップ及びアウトプットステップの順に、選択された項目に対応する機能モジュールを実行させる。
【００５６】
次に、図１のジョブ制御モジュール４３について説明する。
【００５７】
まず、図９に示すように、ジョブコードをそのジョブのインプット機能モジュールコードとアウトプット機能モジュールコードの結合で表す。また、以下では簡略化のため、ジョブステップ制御をＪＳＣと表記する。
【００５８】
ジョブ制御モジュール４３は、ジョブコードと設定情報の受け取りに応答して、ジョブステップ制御ブロック（ＪＳＣブロック）４４０〜４４３を生成し、これらに情報を記入することにより、ジョブを生成し、さらに、インプットＪＳＣモジュール４５０に、ジョブシリアルナンバーＪＳＮｏを含むジョブ生成完了通知をする。複数種のエディットが設定された場合には、ジョブ制御モジュール４３はその数だけエディットＪＳＣブロック４４２を生成する。
【００５９】
プログラム的には、ＪＳＣブロックの生成は例えば、メソッドを含まないクラスのインスタンス生成に対応しており、また、モジュールＡからモジュールＢへの上記「通知」は例えば、モジュールＡが変数に値を代入し、モジュールＢが該変数の値を見ることを意味する。
【００６０】
図１１（Ａ）は、ＪＳＣブロックの構成を示す。このブロックは、機能モジュールコードＦＭＣ、ジョブシリアルナンバーＪＳＮｏ及びページナンバーＰＮｏからなる制御情報のフィールドと、機能モジュールの起動時に引き渡す設定情報のフィールドとを含んでいる。
【００６１】
ジョブ制御モジュール４３は、ＪＳＣブロック４４０及び４４３の機能モジュールコードＦＭＣ欄に、ジョブコードに含まれる機能モジュールコードを記入し、ＪＳＣブロック４４１の機能モジュールコードＦＭＣ欄に、テーブル（図９の一部）を参照してインプット機能モジュールコードにより定まるコードを記入し、ＪＳＣブロック４４２の機能モジュールコードＦＭＣ欄には、ＧＵＩモジュール４２からの設定情報に含まれるエディットの種類に応じて、コード２０、２１又は２２等を記入する。
【００６２】
ジョブ制御モジュール４３は、ジョブカウンタ４３０及びジョブＩＤキュー４３１を備えており、そのジョブカウンタ４３０の値をＪＳＣブロック４４０〜４４３のジョブシリアルナンバーＪＳＮｏ欄に記入するとともに、ジョブカウンタ４３０の値の先頭にジョブコードを付加したものをジョブＩＤとしてジョブＩＤキュー４３１に追加（図１７参照）した後、ジョブカウンタ４３０を１だけインクリメントする。このジョブカウンタ４３０の初期値は０である。ジョブ制御モジュール４３はまた、ＪＳＣブロック４４０〜４４３のページナンバーＰＮｏ欄に初期値１を記入する。
【００６３】
ジョブ制御モジュール４３は、ＧＵＩモジュール４２からの設定情報を、各ジョブステップで必要な設定情報に振り分けて、それぞれＪＳＣブロック４４０〜４４３の設定情報フィールドに記入する。上述のように、エディット以外は機能モジュール毎に設定されており、また、エディットは複数の機能モジュールについて設定しているものの、容易にその設定値を機能モジュール毎に分けられるようになっているので、この振り分けは容易である。これは、プログラムの複雑化を避けるとともに、プログラム開発効率向上にも寄与している。
【００６４】
図１１（Ｂ）は、インプットＪＳＣブロック４４０の具体例を示し、図６（Ａ）の設定画面に対応したものであって、スキャン入力の設定情報が、白黒、片面、Ａ４縦、４００ｄｐｉ及び明るさ１２８であることを示している。図１１（Ｃ）は、エディットＪＳＣブロック４４２の具体例を示し、図７（Ｂ）の設定画面の左側部分に対応したものであって、頁付けの設定情報が、中央上、マージン１０ｍｍ、書式が−？−（？は頁番号）であることを示している。同様に、図１１（Ｄ）はエディットＪＳＣブロック４４２の他の具体例を示し、図７（Ａ）の設定画面の右側部分に対応したものであって、４頁の原稿画を１枚の用紙に集約（４ｉｎ１）する設定情報として、上段左、下段左、上段右、下段右の順に頁画像を割り付け、それらの間に境界線を描くことを示している。
【００６５】
ジョブステップ制御モジュール（ＪＳＣモジュール）４５０〜４５３はそれぞれ、後述のように、頁毎に（但し、ＪＳＣモジュール４５０は全ページについて）、機能モジュール群内の対応する機能モジュールを起動させ（スレッドを生成させ）、機能モジュールの実行終了に応じて、それぞれＪＳＣブロック４４０〜４４３の頁ナンバーＰＮｏを１だけインクリメントするとともに、右隣（下流側隣）のＪＳＣモジュールに対し後述のスレッド制御ブロックを生成する。また、このＪＳＣモジュールは、スレッドの状態をＷＡＩＴ（ＢＬＯＣＫＥＤ）からＲＥＡＤＹ（ＲＵＮＮＡＢＬＥ）に変化させ、又は、自己のＲＵＮ（ＲＵＮＮＩＮＧ）状態のスレッド御ブロックを消滅させる。
【００６６】
ＪＳＣモジュール４５０〜４５３は、ジョブ制御モジュール及びＧＵＩモジュール４２とともに、例えば２０ｍｓｅｃ毎に起動されて、一巡処理される。これに対し機能モジュールは、ＪＳＣモジュール４５０〜４５３により起動されると、ＪＳＣモジュール４５０〜４５３とは独立にスレッドとして動作する。なお、ＧＵＩモジュール４２、ジョブ制御モジュール及びＪＳＣモジュール４５０〜４５３をスレッドとして動作させても同じ結果になる。
【００６７】
次に、どのように機能モジュール実行順を定めればスループットを向上させることができるかについて説明する。
【００６８】
図１２（Ｃ）は、図１２（Ａ）と比較するために記載されたものであって、プリントジョブにおいて異なる頁の画像データが並行処理される場合を示す。
【００６９】
ホストコンピュータ３０から、ページ記述言語（ＰＤＬ）で記述されたプリント用画像データを受信し、ビットマップ展開（ＲＩＰ）してプリントエンジン２７に供給し、用紙にプリントする。この場合、第２頁のデータを受信しながら第１頁のＲＩＰ処理を並行して行う。次に、第１頁のＲＩＰ処理を行いながら第２頁のＲＩＰ処理を並行して行う。
【００７０】
このようにすれば、時分割並行処理により、プログラム切換のオーバーヘッドが生じ、スループットが低下する。また、第１頁のプリント中に、第２頁のプリント待ちとなり、出力期間が競合し易く、この状態でＭＰＵ空き時間が生じてスループットが低下する。
【００７１】
図１２（Ｂ）も、図１２（Ａ）と比較するために記載されたものであって、ＲＩＰ処理が頁順に行われた後にＥＤＩＴ処理が頁順に行われる場合を示す。この場合も、前記同様にスループットが低下する。
【００７２】
以下においては、図１２（Ａ）に示すような機能モジュール実行順になる場合について説明する。
【００７３】
この場合、ＲＩＰ処理が終了してから、同一頁のエディット処理が行われ、次に、この頁のプリント出力処理と次ページのＲＩＰ処理とが並行して行われる。
【００７４】
このようにすれば、複数の画像処理が時分割並行処理されることによる処理切替え時のオーバーヘッドが低減して、スループットが向上し、画像処理と入出力処理との並行処理の機会が多くなるので、ＭＰＵ１１の空き時間が少なくなり、スループットがさらに向上する。
【００７５】
図１２（Ａ）はプリントジョブの場合であるが、他のジョブも同様に４つのジョブステップに分けられているので、他の１つのジョブ又は任意の複数のジョブの組み合わせが並行処理される場合についても、同じ効果が得られる。
【００７６】
なお、コピー、プリント又はファクシミリ受信の２以上の組み合わせの場合には、出力装置が同じプリントエンジンであるので、ジョブ毎に出力結果を纏め、ジョブ単位で例えばＦＩＦＯの順に出力する。
【００７７】
次に、機能モジュールの起動順及び起動条件について説明する。
【００７８】
（１）同一のジョブシリアルナンバーＪＳＮｏ及びページナンバーＰＮｏについて、入力機能モジュール、クリエイト機能モジュール、エディット機能モジュール、出力機能モジュールの順に起動させる。
【００７９】
このような処理をすれば、コピー、プリント、スキャン、ファクシミリ送信及びファクシミリ受信のジョブはぞれぞれ、図１０（Ａ）〜（Ｅ）に示す順序で機能モジュールが起動されて遂行される。
【００８０】
（２）図１３に示すように、第ｎ頁についてクリエイト機能モジュールの処理が終了（第ｎ頁のクリエイトスレッドが消滅）すると、第ｎ頁についてエディット機能モジュールを実行（第ｎ頁のエディットスレッドを生成）させる。このエディット機能モジュールでの処理が終了すると、第ｎ頁についてアウトプット機能モジュールを実行（第ｎ頁のアウトプットスレッドを生成）させるとともに、第（ｎ＋１）頁についてクリエイト機能モジュールを実行させる。
【００８１】
ここで、アプリケーション４０は、図１の構成に加えて、図１４のスキャンエンジン管理モジュール４６、ＮＩＣ管理モジュール４７及びＭＯＤＥＭ管理モジュール４８を備えている。
【００８２】
スキャンエンジン管理モジュール４６、ＮＩＣ管理モジュール４７及びＭＯＤＥＭ管理モジュール４８はそれぞれ、ＦＭＣ＝００、０１及び０２の機能モジュールからの指示に応答して、汎用ＯＳ５０を介し、それぞれデバイスドライバであるスキャンエンジンドライバ５６、ＮＩＣドライバ５７及びＭＯＤＥＭドライバ５８とデータの授受を行い、それぞれ図２１のスキャンエンジン２８、ＮＩＣ１９及び通信モデム２０を制御する。汎用ＯＳ５０は、スキャンエンジン２８、ＮＩＣ１９及び通信モデム２０から入力された各頁の画像データをメモリ管理モジュール５０１に管理させる。スキャンエンジン管理モジュール４６、ＮＩＣ管理モジュール４７及びＭＯＤＥＭ管理モジュール４８はいずれも、該データの授受により、メモリ管理モジュール５０１が１頁分の画像データを図２１のメモリ１３に格納させたことを確認するとともに、その格納開始アドレス及び格納終了アドレスを知得し、対応する機能モジュールからの指示に応じてこれらのアドレスを該機能モジュールへ渡す。
【００８３】
図１５は、クリエイトモジュール制御状態ＣＣＳ、エディットモジュール制御状態ＥＣＳ及びアウトプットモジュール制御状態ＯＣＳ（スレッドの状態）の遷移図である。
【００８４】
図１６は、図１２（Ａ）の時刻ｔ１〜ｔ６における、図１５の状態変化に対応したスレッド制御ブロック４５１ａ〜４５３ａを示す。
【００８５】
このスレッド制御ブロックは、ジョブシリアルナンバー６０と、機能モジュールによる処理対象のページナンバー６１と、スレッド制御状態６２と、このページナンバーの画像データの格納開始アドレス６３及び格納終了アドレス６４とのフィールドを有する。ジョブシリアルナンバー６０は、ＪＳＣブロックと対応させるためのものであり、また、後述のようにジョブ実行順の決定において用いられる。機能モジュールのインスタンスは、このアドレス範囲の画像データに対して処理を行う。
【００８６】
スレッド制御状態６２には、実行可能であることを示すＲＥＡＤＹと、実行中を示すＲＵＮと、実行終了を示すＥＮＤとがある。スレッド制御ブロックは、上流側隣のＪＳＣモジュールによりＲＥＡＤＹ状態で生成される。このスレッド制御ブロックが属するＪＳＣモジュールにより機能モジュールが起動されてスレッド制御状態６２がＲＵＮにされる。この機能モジュールは、実行を終了する直前に後処理としてスレッド制御状態６２をＥＮＤにする。このスレッド制御ブロックが属するＪＳＣモジュールは、ＥＮＤのスレッド制御ブロックを消滅させる。
【００８７】
次に、図１５及び図１６を参照して、ＪＳＣモジュール及びこれにより実行が制御される機能モジュールの動作について説明する。
【００８８】
ジョブ制御モジュールからの上記ジョブ生成完了通知に応答して、
（Ａ）インプットＪＳＣモジュール４５０は、インプットＪＳＣブロック４４０を参照し、そのＦＭＣで識別される機能モジュールＩＦＭにＪＳＣブロック４４０中の設定情報を与えて機能モジュールＩＦＭを起動させる（機能モジュールＩＦＭのインスタンスを生成する）。機能モジュールＩＦＭは、管理モジュール４６、４７又は４８を介して対応する入力装置に１頁分の画像データを入力させ、その格納開始及び終了アドレスを受け取ってインプットＪＳＣモジュール４５０へ渡す。インプットＪＳＣモジュール４５０はこれに応答して、インプットＪＳＣブロック４４０のページナンバーＰＮｏをインクリメントし、また、クリエイトＪＳＣモジュール４５１に対し、クリエイトスレッド制御ブロック４５１ａを、第１頁の場合にはＲＥＡＤＹ状態で生成し（図１２のｔ１）、第２頁以降の場合にはＷＡＩＴ状態で生成し（ｔ２）、この（Ａ）の先頭へ戻る。
【００８９】
インプットＪＳＣモジュール４５０は、入力頁が最後である場合、そのページナンバーＰＮｏを最終ページナンバーＰＥＮｏとして図１のジョブ制御モジュール４３へ通知する。
【００９０】
（Ｂ）クリエイトＪＳＣモジュール４５１は、クリエイトＪＳＣブロック４４１を参照し、そのＦＭＣで識別されるクリエイト機能モジュールＣＦＭにＪＳＣブロック４４１中の設定情報を与えるとともに、クリエイトスレッド制御ブロック４５１ａの画像データ格納アドレス範囲情報を与えて、該機能モジュールＣＦＭを起動させ、クリエイトスレッド制御状態をＲＵＮにする。機能モジュールＣＦＭは、このアドレス範囲の画像データをビットマップ形式に変換して、ＯＳを介しメモリ１３に格納し、その格納開始及び終了アドレスを、クリエイトＪＳＣモジュール４５１に渡し、クリエイトスレッド制御状態をＥＮＤにする。クリエイトＪＳＣモジュール４５１はこれに応答して、クリエイトＪＳＣブロック４４１のページナンバーＰＮｏをインクリメントし、また、エディットＪＳＣモジュール４５２に対し、レディ状態のエディットスレッド制御ブロック４５２ａを生成し（ｔ３）、終了したクリエイトスレッドの制御ブロックを消滅させる。
【００９１】
（Ｃ）エディットＪＳＣモジュール４５２は、エディットＪＳＣブロック４４２を参照し、そのＦＭＣで識別される機能モジュールＥＦＭに、テーブル４４２中の設定情報を与えるとともに、エディットスレッド制御ブロック４５２ａの画像データ格納アドレス範囲情報を与えて、機能モジュールＥＦＭを起動させ、エディットスレッド制御状態をＲＵＮにする。機能モジュールＥＦＭは、このアドレス範囲の画像データに対し編集処理を行い、その結果を、ＯＳを介しメモリ１３に格納し、その格納開始及び終了アドレスを、エディットＪＳＣモジュール４５２へ渡し、エディットスレッド制御状態をＥＮＤにする。エディットＪＳＣモジュール４５２は、これに応答して、エディットＪＳＣブロック４４２のページナンバーＰＮｏをインクリメントし、また、アウトプットＪＳＣモジュール４５３に対しレディ状態のアウトプットスレッド制御ブロック４５３ａを生成するとともに、クリエイトＪＳＣモジュール４５１に対し次ページのＷＡＩＴ状態のクリエイトスレッド制御状態をＲＥＡＤＹにし（ｔ４）、さらに、エディットスレッド制御ブロック４５２ａを消滅させる。
【００９２】
但し、例えばエディットが上述の４ｉｎ１の場合には、機能モジュールＥＦＭ、１頁分のクリエイト処理が終了する毎にその頁の配置処理を行い、これを４頁分繰り返した後に、エディットスレッド制御ブロック４５２ａを消滅させる。
【００９３】
（Ｄ）次ページについて上記（Ｂ）へ進むと同時に、次のような動作を行う。すなわち、アウトプットＪＳＣモジュール４５３は、前記ＲＥＡＤＹ状態への移行に応答して、アウトプットＪＳＣブロック４４３を参照し、そのＦＭＣで識別される機能モジュールＯＦＭにＪＳＣブロック４４３中の設定情報を与えるとともに、アウトプットスレッド制御ブロック４５３ａの画像データ格納アドレス範囲情報を与えて、機能モジュールＯＦＭを起動させ、アウトプットスレッド制御状態をＲＵＮにする。機能モジュールＯＦＭは、このアドレス範囲の画像データを、対応する出力装置から出力させ、これを終了すると、アウトプットスレッド制御状態をＥＮＤにする。アウトプットＪＳＣモジュール４５３は、これに応答して、アウトプットＪＳＣブロック４４３のページナンバーＰＮｏをインクリメントし、また、アウトプットスレッド制御ブロック４５３ａを消滅させる。
【００９４】
図１のジョブ制御モジュール４３は、アウトプットＪＳＣモジュール４５３による最終ページナンバーＰＥＮｏのアウトプットスレッド制御ブロック消滅処理に応答して、このジョブシリアルナンバーＪＮｏのＪＳＣブロック４４０〜４４３を破棄するとともに、ジョブＩＤキュー４３１（図１７参照）からこのジョブシリアルナンバーＪＮｏを含むジョブＩＤを削除する。これにより、このジョブが終了する。
【００９５】
以上説明したように、本実施例１によれば、画像形成装置用アプリケーション４０の構成が簡単かつ全ジョブについて統一的であるので、このアプリケーションの開発効率が高くなる。
【００９６】
また、複数の画像処理が時分割並行処理されることによる処理切替え時のオーバーヘッドが無くなって、スループットが向上するとともに、画像処理と入出力処理との並行処理の機会が多くなるので、ＭＰＵ１１の空き時間が少なくなり、スループットが向上する。
【００９７】
さらに、エディット機能モジュール群４１２が各ジョブで共通であるので、アプリケーション４０の構成が簡単になるとともに、画像形成装置１０のアプリケーション開発効率が高くなる。
【００９８】
また、引用文献１と異なり、メモリ資源管理は汎用ＯＳに任せればよいので、構成が簡単となる。
【００９９】
次に、ジョブ実行順について説明する。
【０１００】
上述のように、ジョブが生成されるとジョブＩＤがジョブＩＤキュー４３１に追加され、アウトプットジョブステップで１つのジョブの全頁出力が完了するとそのジョブＩＤがジョブＩＤキュー４３１から削除されるので、複数のジョブが残っている場合には、ジョブＩＤキュー４３１の内容は例えば図１７（Ａ）に示す如くなる。これに対応して、ジョブＩＤキュー４３１内の各ジョブＩＤに対応したＪＳＣブロック４４０〜４４３が存在している。
【０１０１】
ジョブＩＤキュー４３１及びＪＳＣブロック４４０〜４４３の内容は、ＧＵＩにも容易に利用することができる。すなわち、ユーザが操作パネル２５上のジョブ状況表示キーを押下すると、ＧＵＩモジュール４２はジョブ制御モジュール４３に対しジョブ状況問い合わせをし、ジョブ制御モジュール４３はこれに応答して、ジョブＩＤキュー４３１の内容を読み出し、その各ジョブＩＤのジョブシリアルナンバーＪＳＮｏについて、ＪＳＣブロック４４０、エディットＪＳＣブロック４４２及びアウトプットＪＳＣブロック４４３に記載されているページナンバーＰＮｏを読み出し、これに基づいて出力完了予定時刻を概略計算し、これらをＧＵＩモジュール４２に渡す。ＧＵＩモジュール４２はこれを操作パネル２５に表示させる。
【０１０２】
これにより、例えば図１８（Ａ）に示すような表示が行われる。図中、Ｎｏ．はジョブシリアルナンバーＪＳＮｏであり、Ｎｏ．列は、図１７（Ａ）のジョブＩＤキュー４３１内のジョブＩＤのＪＳＮｏをその順に示している。入力、処理及び出力はそれぞれ、対応するＪＳＣブロック４４０、４４２及び４４３に記載されているページナンバーＰＮｏであり、処理完了ページ数を示している。
【０１０３】
操作パネル２５はタッチパネルを備え、これにはアップキー６６、ダウンキー６７、優先キー６８及び取消キー６９が表示されており、これらはジョブ実行順を変更する場合に、以下のように用いられる。
【０１０４】
例えば、図１８（Ａ）においてユーザがＮｏ．３のジョブをＮｏ．２より先に実行させたい場合、ダウンキー６７を２回押して、Ｎｏ．１に在る矩形枠をＮｏ．３へ移動させ、優先キー６８を押す。これにより、図１８（Ｂ）に示すように矩形枠内に格子点が表示されて、移動対象が選択状態となる。次にアップキー６６を１回押すと、矩形枠が１つ上に移動して図１９（Ａ）に示す如くなり、この状態で優先キー６８を押すと移動が確定して、図１９（Ｂ）に示す如く格子点が消失する。これとともに、ＧＵＩモジュール４２によりこの順番のＮｏ．列にジョブコードを結合したジョブＩＤがジョブＩＤキュー４３１に上書きされて、その内容が図１７（Ｂ）に示す如く、図１９（Ｂ）のＮｏ．列と対応したものになる。もし、この優先キー６８の代わりに取消キー６９を押すと、図１８（Ａ）に示す初期状態に戻る。
【０１０５】
次に、図２０を参照して、クリエイトＪＳＣモジュール４５１のより詳細な動作を説明する。以下、括弧内は図中のステップ識別符号である。
【０１０６】
（Ｓ１０）対応するジョブステップでＲＵＮ状態のスレッド制御ブロック（ＳＢＣ）が有れば処理を終了する。これにより、異なる頁又はジョブの画像処理が時分割並行処理されないので、プログラム切換のオーバーヘッドが生ぜず、スループットが向上する。ＲＵＮ状態のＳＢＣがなければステップＳ１１へ進む。
【０１０７】
（Ｓ１１）ＥＮＤ状態のＳＢＣが有ればステップＳ１６へ進み、なければステップＳ１２へ進む。
【０１０８】
（Ｓ１２、Ｓ１３）ジョブＩＤキュー４３１内のジョブＩＤ並び順に、次の（最初は先頭の）ジョブＩＤを１つ取り出し、そのジョブシリアルナンバーＪＳＮｏを含む、ＲＥＡＤＹ状態のスレッド制御ブロック（ＳＣＢ）が有ればステップＳ１５へ進み、なければステップＳ１４へ進む。
【０１０９】
（Ｓ１４）ジョブＩＤキュー４３１に、次に取り出すべきジョブＩＤがなければ、処理を終了する。
【０１１０】
（Ｓ１５）このジョブＩＤのジョブシリアルナンバーＪＳＮｏを含むクリエイトＪＳＣブロック４４１に記載の設定情報と、該ＪＳＮｏ及びクリエイトＪＳＣブロック４４１に記載のページナンバーＰＮｏを含むＲＥＡＤＹ状態のスレッド制御ブロックに記載されている画像データ格納開始アドレス及び画像データ格納終了アドレスを、該クリエイトＪＳＣブロック４４１に記載の機能モジュールコードＦＭＣの機能ブロックに与えて、該機能ブロックを起動させ、スレッド制御状態をＲＵＮにして、処理を終了する。
【０１１１】
この起動により、機能モジュールは、ＪＳＣモジュールの動作とは独立に、このアドレス範囲の画像データを処理して、ＯＳを介しメモリ１３に格納し、その格納開始及び終了アドレスを、クリエイトＪＳＣモジュール４５１に渡し、また、制御ブロック４５１ａのスレッド制御状態をＥＮＤにして、処理を終了する。
【０１１２】
（Ｓ１６）後処理として、対応するＪＳＣブロックのページナンバーＰＮｏを１だけインクリメントし、スレッド制御状態がＥＮＤのスレッド制御ブロック４５１ａを消滅させ、さらに、エディットＪＳＣモジュール４５２に対し、同一頁のＲＥＡＤＹ状態のエディットスレッド制御ブロック４５２ａを生成する。
【０１１３】
エディットＪＳＣモジュール４５２及びアウトプットＪＳＣモジュール４５３のいずれの動作も、図２０と同様である。アウトプットＪＳＣモジュール４５３の場合、ステップＳ１５での機能モジュール起動により、この機能モジュールは、与えられたアドレス範囲の画像データを、対応する出力装置から出力させる。また、ステップＳ１６では、対応するＪＳＣブロックのページナンバーＰＮｏを１だけインクリメントし、また、ＥＮＤ状態のスレッドの制御ブロック４５３ａを消滅させる。
【０１１４】
図１のジョブ制御モジュール４３は、アウトプットＪＳＣモジュール４５３による最終ページナンバーＰＥＮｏのアウトプットスレッド制御ブロック消滅処理に応答して、このジョブシリアルナンバーＪＮｏのＪＳＣブロック４４０〜４４２を破棄するとともに、ジョブＩＤキュー４３１（図１７参照）からこのジョブシリアルナンバーＪＮｏを含むジョブＩＤを削除する。これにより、このジョブが終了する。
【０１１５】
このような簡単な処理により、ジョブＩＤキュー４３１に格納されているジョブＩＤの並び順かつ同一ジョブＩＤについてはページナンバーＰＮｏ順にジョブが実行されるので、ユーザの操作によりジョブＩＤキュー４３１内のジョブＩＤの順番を変えれば、これに応じてジョブ実行順がジョブ単位で変更される。
【０１１６】
なお、エディットＪＳＣモジュール４５２については、図２０の通りでも問題ないが、上述のようにクリエイトＪＳＣモジュール４５１で処理が終了した後に、この処理対象と同一のジョブシリアルナンバーＪＳＮｏ及びページナンバーＰＮｏを有するスレッド制御ブロックについて、機能ブロックを実行させる場合には、図２０からステップＳ１２〜１４の処理を省略することができる。
【０１１７】
また、図１３を参照して説明した制限を付加するには、クリエイトＪＳＣモジュール４５１において、図２０のステップＳ１３とＳ１５との間で、ＲＥＡＤＹ状態のクリエイトＳＣＢと同一頁に係るエディットＳＣＢがＲＥＡＤＹ状態であれば、ステップＳ１５へ進まずに処理を終了し、なければステップＳ１５へ進むようにすればよい。
【０１１８】
本実施例１によれば、３つの画像データ入力手段の各々を示す入力項目群４１０Ｄと、入力された画像データを編集する編集項目群４１２Ｄと、３つの画像データ出力手段の各々を示す出力項目群４１３Ｄとに分けてこれらの項目群をジョブステップ表示画面として操作パネル２５に表示させ、入力項目群４１０Ｄのなかの項目の選択と出力項目群４１３Ｄのなかの項目の選択とによりジョブ種が定まるので、ユーザは、統一的にメニュー表示された１画面上での選択により定まる各種ジョブを容易に活用することができる。
【０１１９】
また、１画面上にメニューがこのように統一的に表示されるとともに、これら入力項目群４１１Ｄ、編集項目群４１２Ｄ又は出力項目群４１３Ｄのなかからキー押下により選択された項目の詳細設定項目が操作パネル２５に表示されるので、操作性が向上する。
【０１２０】
さらに、入力項目群４１０Ｄ、編集項目群４１２Ｄ及び出力項目群４１３Ｄの各項目が機能モジュールと対応付けられているので、プログラム開発効率が向上する。
【０１２１】
また、編集項目群４１２Ｄがジョブ種に依存しない項目群であるので、ジョブ種に依存することによる混乱が避けられて、操作性が向上する。
【０１２２】
さらに、入力項目群４１０Ｄと出力項目群４１３Ｄとの間の画面中央部に、ジョブ種に依存しない編集項目群４１２Ｄを表示させるので、操作性がよい。また、編集処理は入力処理と出力処理との間で実行されるので、このような配置により、ユーザは処理の流れを把握し易く、ユーザに対し全体の設定の理解を容易させる。
【０１２３】
また、ジョブ選択キーを操作パネル２５に表示させ、そのキー押下によるジョブ選択に応じて、入力項目群４１０Ｄ及び出力項目群４１２Ｄのそれぞれについて１つの項目のみ選択された状態を表示させるので、ユーザは通常使用するジョブを容易に選択できるとともに、どの画像入力手段とどの画像出力手段とを使用するのかを容易に理解でき、これにより設定項目の内容を理解し易くなり、さらに、選択された状態から出力項目群４１３Ｄ内の出力先のみ変更することができるので、操作性がよく、ユーザは備わっている機能を充分に活用することが可能となる。
【０１２４】
その上、ジョブ選択キーとジョブステップ選択キーとが同一画面に表示されるので、前記操作性がさらに向上する。
【０１２５】
上記実施例ではアプリケーション４０の論理構成を説明したが、この論理構成は各種の方法で実現可能であり、例えば、制御ブロックがＲＥＡＤＹになったときにイベントを発生させて機能モジュールを起動させるイベントドリブン型プログラムで実現することができる。
【０１２６】
なお、本発明には外にも種々の変形例が含まれる。
【０１２７】
例えば、上記実施例では指示入力手段としてのジョブ選択キーが操作パネル２５に表示されるソフトウェアキーである場合を説明したが、ジョブ選択キーはハードウェアキーであってもよい。ハードウェアキーを用いる場合には、そのキーの選択状態は、表示画面上で表す。特に画像形成装置が小型で表示部が小さい場合には、ジョブステップ選択キーについても同様である。１つのジョブ選択キー（ハードウェアキー又はソフトウェアキー）を押す毎にジョブ種が表示画面上で順次変化するようにしてもよい。同様に、１つのジョブステップ選択キーを１つの項目群に対応させ、そのキーを押す毎に選択項目が表示画面上で順次変化するようにしてもよい。
【０１２８】
また、特に画像形成装置が小型で表示部が比較的小さい場合には、各項目の詳細項目を多画面に分けてより細かく設定する構成であってもよい。
【０１２９】
さらに、上記スループット向上のための構成がなくても、簡単な構成で、アプリケーション開発効率を高めることができるとともに、ユーザへの詳細なジョブ状況表示処理を簡単化かつ統一化することが可能であるので、本発明にはこの構成がないものも含まれる。すなわち、本発明には、画像処理を並行処理する構成も含まれる。マルチコアプロセッサ又はマルチプロセッサを用いて、並行処理する構成であってもよい。
【図面の簡単な説明】
【０１３０】
【図１】本発明の実施例１に係る画像形成装置を構成するアプリケーションソフトウェアの全体構成を示す概略ブロック図である。
【図２】ジョブの種類に応じて選択的に実行される、４群に分類された複数の機能モジュールを示すブロック図である。
【図３】操作パネルでの設定手順を示す概略フローチャートである。
【図４】（Ａ）及び（Ｂ）はそれぞれメインメニューでコピージョブ及びプリントジョブを選択したときの表示を示す説明図である。
【図５】（Ａ）及び（Ｂ）はそれぞれメインメニューでスキャンジョブ及びファクシミリ送信ジョブを選択したときの表示を示す説明図である。
【図６】（Ａ）〜（Ｃ）はそれぞれメインメニューでインプットステップのスキャン、ＮＩＣ入力及びモデム入力の項目を選択したときに表示される設定画面を示す説明図である。
【図７】（Ａ）及び（Ｂ）はそれぞれメインメニューでエディットステップの拡縮・集約及び頁付・消去の項目を選択したときに表示される設定画面を示す説明図である。
【図８】（Ａ）〜（Ｃ）はそれぞれメインメニューでアウトプットステップのプリントエンジン出力、ハードディスク出力及びモデム出力の項目を選択したときに表示される設定画面を示す説明図である。
【図９】コピー、プリント、スキャン、ファクシミリ送信及びファクシミリ受信のジョブコードと、各ジョブで選択される、エディット以外の機能モジュールのコードとの対応関係を示すテーブルの説明図である。
【図１０】（Ａ）〜（Ｅ）はそれぞれ、コピー、プリント、スキャン、ファクシミリ送信及びファクシミリ受信のジョブ実行時に順次起動される機能モジュールを示す概略シーケンス図である。
【図１１】（Ａ）はジョブステップ制御（ＪＳＣ）ブロックの構成を示す図、（Ｂ）はインプットＪＳＣブロックに記述される情報の具体例を示す図、（Ｃ）及び（Ｄ）はクリエイトＪＳＣブロックに記述される情報の具体例を示す図である。
【図１２】（Ａ）は本発明の実施例１のコピージョブ動作例を示す概略タイムチャートであり、（Ｂ）及び（Ｃ）は（Ａ）の効果を示すために（Ａ）と対比されるコピージョブ動作例を示す概略タイムチャートである。
【図１３】スループットを向上させるための、クリエイト、エディット及びアウトプット機能モジュールの起動条件を説明するブロック図である。
【図１４】クリエイトスレッド、エディットスレッド及びアウトプットスレッドの状態遷移図である。
【図１５】画像入力に関するハードウェア資源管理部を示すブロック図である。
【図１６】図１２（Ａ）の時刻ｔ１〜ｔ６における、図１４の状態変化に対応したスレッド制御ブロックの説明図である。
【図１７】（Ａ）及び（Ｂ）はそれぞれジョブ実行順変更前と変更後のジョブＩＤキューの内容を説明する図である。
【図１８】（Ａ）及び（Ｂ）はジョブ実行順変更操作説明図である。
【図１９】図１８の続きを示すジョブ実行順変更操作説明図である。
【図２０】ジョブＩＤキュー内のジョブＩＤ並び順に従った、ＪＳＣモジュール４５１〜４５３のうちの任意の１つの処理を示すフローチャートである。
【図２１】本発明の実施例１に係る画像形成装置のハードウェア概略構成を示すブロック図である。
【符号の説明】
【０１３１】
１０  画像形成装置
１１  プロセッサ
１２  チップセット
１３  メモリ
１４  ハードディスク装置
１５〜１８  拡張カード
１９  ＮＩＣ
２０  通信モデム
２５  操作パネル
２６  搬送装置等
２７  プリントエンジン
２８  スキャンエンジン
３０  ホストコンピュータ
３１  公衆回線
４０  アプリケーション
４１  機能モジュール群
４１０  入力機能モジュール群
４１０Ｄ  入力項目群
４１１  クリエイト機能モジュール群
４１２  エディット機能モジュール群
４１２Ｄ  編集項目群
４１３  出力機能モジュール群
４１３Ｄ  出力項目群
４１４Ｄ  コピージョブ選択キー
４１５Ｄ  プリントジョブ選択キー
４１６Ｄ  スキャンジョブ選択キー
４１７Ｄ  ファクシミリジョブ選択キー
４２  ＧＵＩモジュール
４３  ジョブ制御モジュール
４３０  ジョブカウンタ
４３１  ジョブＩＤキュー
４４０  インプットＪＳＣブロック
４４１  クリエイトＪＳＣブロック
４４２  エディットＪＳＣブロック
４４３  アウトプットＪＳＣブロック
４５０  インプットＪＳＣモジュール
４５１  クリエイトＪＳＣモジュール
４５２  エディットＪＳＣモジュール
４５３  アウトプットＪＳＣモジュール
４６  スキャンエンジン管理モジュール
４７  ＮＩＣ管理モジュール
４８  ＭＯＤＥＭ管理モジュール
５０  汎用ＯＳ
５０１  メモリ管理モジュール
５６  スキャンエンジンドライバ
５７  ＮＩＣドライバ
５８  ＭＯＤＥＭドライバ
６０  ジョブシリアルナンバー
６１  ページナンバー
６２  状態
６３  格納開始アドレス
６４  格納終了アドレス
６６  アップキー
６７  ダウンキー
６８  優先キー
６９  取消キー
ＦＭＣ  機能モジュールコード
ＪＳＮｏ  ジョブシリアルナンバー
ＰＮｏ  ページナンバー
ＣＣＳ  クリエイトモジュール制御状態
ＥＣＳ  エディットモジュール制御状態
ＯＣＳ  アウトプットモジュール制御状態
【図１】
2007215078.tif 000003
【図２】
2007215078.tif 000004
【図３】
2007215078.tif 000005
【図４】
2007215078.tif 000006
【図５】
2007215078.tif 000007
【図６】
2007215078.tif 000008
【図７】
2007215078.tif 000009
【図８】
2007215078.tif 000010
【図９】
2007215078.tif 000011
【図１０】
2007215078.tif 000012
【図１１】
2007215078.tif 000013
【図１２】
2007215078.tif 000014
【図１３】
2007215078.tif 000015
【図１４】
2007215078.tif 000016
【図１５】
2007215078.tif 000017
【図１６】
2007215078.tif 000018
【図１７】
2007215078.tif 000019
【図１８】
2007215078.tif 000020
【図１９】
2007215078.tif 000021
【図２０】
2007215078.tif 000022
【図２１】
2007215078.tif 000023