(57)【特許請求の範囲】
【請求項１】
画像データを処理するジョブを複数種類の動作モードに選択的に対応しつつ実行する画像入出力手段と、
前記画像入出力手段が複数のジョブを実行する際のスケジューリングを各動作モード別に行うジョブ制御手段とを備えるとともに、
前記ジョブ制御手段は、
前記複数種類の動作モードに対応して設けられた複数の処理待ちキューを用い、動作モードの切り替えに応じて処理待ちキューの切り替えを行うことで、各動作モード別のスケジューリングを行い、
全ての動作モードで実行開始させることが指定されたジョブについては、当該ジョブのスケジューリングを各処理待ちキューを用いて行い得るようにし、処理待ちキューの切り替えに応じて切り替え前の処理待ちキューから切り替え後の処理待ちキューへ当該ジョブの移し替えを行うことで、常に当該切り替え後の処理待ちキューへ移動するジョブの存在を許容する
ことを特徴とする画像処理装置。
【請求項２】
前記動作モードの１つは、前記画像入出力手段があるジョブを他のジョブに対し割り込み実行するための割り込みモードである
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記動作モードの１つは、前記画像入出力手段の診断を行うための自己診断モードである
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記動作モードの１つは、前記画像入出力手段がジョブの実行を一時停止するためのポーズモードである
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記動作モードの１つは、装置起動に必要な初期化処理を行うための初期状態モードである
ことを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記ジョブ制御手段は、前記初期状態モードに対応した処理待ちキューについては、当該処理待ちキュー内に処理待ち状態のジョブが存在していると、当該ジョブの実行が完了するまで、動作モードの切り替えがあってもこれに応じた処理待ちキューの切り替えを行わない
ことを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記ジョブ制御手段は、前記複数の処理待ちキューの初期化として、全キュー用のメモリ領域確保およびそのクリア、並びに全キューをインアクティブにすることを行う
ことを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記ジョブ制御手段は、前記処理待ちキューへのジョブの格納の際に、格納対象のジョブの実行プライオリティと当該処理待ちキューに既に格納されているジョブの実行プライオリティを考慮して、前記格納対象のジョブの当該処理待ちキュー内における格納位置を決定する
ことを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コピージョブ、スキャンジョブ、プリントジョブ、ＦＡＸジョブ等といった、画像データの処理ジョブを実行するための画像処理装置に関する。
【０００２】
【従来の技術】
近年、画像データの処理ジョブを実行する画像処理装置としては、例えばコピー機能、スキャナ機能、プリンタ機能、ＦＡＸ機能等といった複数の機能を1台の装置で提供する、いわゆる複合機（以下「ＭＦ機」という）が普及している。
ＭＦ機は、紙原稿スキャンのための画像入力部（Image Input Terminal；以下「ＩＩＴ」という）、ＦＡＸ受信のための公衆回線接続部、プリントデータ受信のためのＬＡＮ（Local Area Network）等のネットワーク接続部、といった複数の画像入力手段を持つ。また、用紙への印刷出力のための画像出力部（Image Output Terminal;以下「ＩＯＴ」という）、ＦＡＸ送信のための公衆回線接続部、様々な入力画像データのホストコンピュータへの送信のためのＬＡＮ等のネットワーク接続部、といった複数の画像出力手段も併せ持つ。さらには、入力画像データを一旦蓄積・保管して様々な機能を提供するためのＨＤＤ（Hard Disk Drive）等の画像蓄積手段を持つものもある。
【０００３】
このようなＭＦ機では、複数の画像入力手段のうちのいずれか１つと、複数の画像出力手段のうちのいずれか１つを組み合わせることによって、様々な画像入出力ジョブをユーザに提供することが可能である。例えば、ＩＩＴでスキャンした画像データをＩＯＴで出力することによるコピー機能、ネットワーク経由で受信したＰＤＬ（Page Description Language）等のデータをデコンポーズしてＩＯＴで出力することによるプリンタ機能、ＩＩＴでスキャンした画像データを公衆回線経由で送信するＦＡＸ機能等、多種多様な機能を提供できる。
【０００４】
ところが、それに伴い、ＭＦ機では、ユーザからの画像入出力ジョブの提供要求が一時期に複数集中する可能性も増大している。ただし、ＩＩＴ/ＩＯＴ等の画像入出力デバイスは同時に１つの画像入出力ジョブしか処理できないので、一時期に複数の画像入出力ジョブが集中すると、これら複数の画像入出力ジョブを装置内に滞留して順番に処理する必要がある。そのため、ＭＦ機では、通常、装置内にジョブの処理待ち行列（以下、単に「キュー」という）を備えて、そこに複数の画像入出力ジョブを配置して管理・制御し、これらジョブの処理順序を適切にスケジューリングするようになっている。
【０００５】
さらに、最近では、このようなキューを複数備えて、これらのキューを適切に切り替えることによって、様々な機能を提供する画像処理装置も提案されている。例えば、特開平７−２８１８５１号公報には、画像処理装置を使用する複数のユーザ各々に対応するキューを用意し、これらのキューを順次切り替えてジョブの実行制御を行うことによって、特定のユーザによって投入されたジョブばかりを偏って実行してしまうような不具合を解決することが開示されている。また、特開平１１−２６５２６６号公報によれば、コピー、プリント、ＦＡＸといった提供サービス毎にキューを設け、サービス毎に設けられた優先順位に基づいてこれらのキューを切り替えることにより、提供サービスの優先順位を切り替えるといった機能が提案されている。また、特開平１０−３２６９１号公報によれば、投入されるジョブの実行優先順位毎にキューを設け、各キューの優先順位に基づいてキューを切り替えてジョブの実行制御を行うことによって、ジョブの実行順位制御を適切に行う機能が提案されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来における複数のキューを備えた画像処理装置では、複数のキューを切り替えることによってジョブの適切な順序制御を行おうとしているが、いずれのものも複数のキューを備えることによって単一のキューによる管理よりも制御処理負荷や装置コスト等の上昇が発生しているにも拘わらず、以下に述べるような問題点を有している。
【０００７】
例えば、コピー機能を提供するＭＦ機では、コピージョブを他のジョブに優先して実行すべく、そのコピージョブを割り込みモードにて実行する場合がある。
ところが、このような複写機等に特有な割り込みモード機能を実現する場合に、ユーザ毎に設けられたキューおよびサービス毎に設けられたキューでは、割り込みモード期間中に優先実行させるべきジョブを管理・制御することができない。
【０００８】
また、例えば、コピー機能やプリンタ機能等を提供するＭＦ機では、ＩＯＴ等の出力デバイスによる出力処理実行中にその処理を一時的に停止して、その一時停止期間中に他のジョブを処理するポーズモードを実行する場合がある。ところが、このような複写機やプリンタ等に特有なポーズモード機能を実現する場合に、ユーザ毎に設けられたキュー、サービス毎に設けられたキューおよび優先順位毎に設けられたキューでは、一時停止期間中に他のジョブを実行するポーズモードを管理・制御することができない。
【０００９】
さらに、例えば、コピー機能、プリンタ機能、ＦＡＸ機能等を提供するＭＦ機では、テストプリントや故障レポートの印刷等を行って、故障発生の有無や発生箇所等を診断するための自己診断モードを実行する場合がある。ところが、このような複写機、プリンタ、ＦＡＸ装置等に特有な自己診断モード機能を実現する場合には、通常の画像入出力ジョブを実行開始させずに、自己診断用のジョブ（テストプリントや故障レポートの印刷等）を実行させる必要があるが、これについても、ユーザ毎に設けられたキュー、サービス毎に設けられたキューおよび優先順位毎に設けられたキューでは、ユーザ毎に設けられたキューや、サービス毎に設けられたキュー、優先順位毎に設けられたキュー等では管理・制御することができない。
【００１０】
また、例えば、プリンタ機能を提供するＭＦ機では、電源投入時にスタートアップページ（利用状況に関するレポート等）の印刷出力を、装置起動に必要な初期化処理の１つとして行う場合がある。ところが、このようなプリンタ等に特有な初期状態モード機能を実現する場合には、他の通常の画像入出力ジョブよりも優先させて初期化処理用のジョブを実行開始させる必要があるが、これを例えば優先順位毎に設けられたキューで制御しようとすると、初期化処理専用の優先順位およびキューを設定しなければならず、コストアップと開発コストの増大が懸念される。
【００１１】
そこで、本発明は、上記従来の問題点に鑑み、複数種類の動作モードに対応する場合であっても、複数のキューの管理方式を改善して複雑なキュー管理制御を必要とせずにジョブ制御を行うことによって、機器の生産性向上、ユーザの操作性向上、製品開発コストや装置コストの抑制等を可能にする画像処理装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置で、画像データを処理するジョブを複数種類の動作モードに選択的に対応しつつ実行する画像入出力手段と、前記画像入出力手段が複数のジョブを実行する際のスケジューリングを各動作モード別に行うジョブ制御手段とを備えるとともに、前記ジョブ制御手段が、前記複数種類の動作モードに対応して設けられた複数の処理待ちキューを用い、動作モードの切り替えに応じて処理待ちキューの切り替えを行うことで、各動作モード別のスケジューリングを行い、全ての動作モードで実行開始させることが指定されたジョブについては、当該ジョブのスケジューリングを各処理待ちキューを用いて行い得るようにし、処理待ちキューの切り替えに応じて切り替え前の処理待ちキューから切り替え後の処理待ちキューへ当該ジョブの移し替えを行うことで、常に当該切り替え後の処理待ちキューへ移動するジョブの存在を許容することを特徴とする。
【００１３】
上記構成の画像処理装置によれば、ジョブのスケジューリングを複数種類の動作モード（例えば、通常動作モード、割り込みモード、ポーズモード、自己診断モード、初期状態モード等）毎にそれぞれ個別に行うので、各動作モードに選択的に対応しつつジョブを実行する場合であっても、通常のモードで実行されるジョブと特殊なモードで実行開始される必要があるジョブとの振り分けができ、動作モードに応じた適切なジョブ制御が行えるようになる。しかも、全ての動作モードで実行開始させることが指定されたジョブについては、当該ジョブのスケジューリングを各処理待ちキューを用いて行い得るようにし、処理待ちキューの切り替えに応じて切り替え前の処理待ちキューから切り替え後の処理待ちキューへ当該ジョブの移し替えを行うので、常にアクティブ・キューに移動するようなジョブ実行モードを許容し、これにより例えばＦＡＸ時刻指定送信ジョブのように指定された時刻にどのような動作モードであっても実行開始させたいジョブについては、どのような動作モードの期間中でも確実にジョブ実行開始させることができ、動作モードの切り替えによってジョブが実行開始されなくなってしまうことがなくなる。
【００１４】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置について説明する。
【００１５】
〔画像処理装置の基本構成の説明〕
先ず、画像処理装置の基本的な構成について説明する。図１は、本発明の一実施形態における画像処理装置の基本構成を示すブロック図である。
【００１６】
本実施形態で説明する画像処理装置（以下「本装置」という）は、ユーザからのジョブ要求等の操作指示を受け付けたり、本装置の動作状況等を表示したりする操作手段１と、この操作手段１等からの様々な画像入出力ジョブ要求を受け付けて複数のジョブの実行を制御するジョブ制御手段２と、画像入出力ジョブを実行する際に必要となる画像入出力手段３と、画像入出力手段３が実行すべき複数の画像入出力ジョブを一時的に格納しジョブ制御手段２での順序制御に供する複数の処理待ち行列（キュー）４と、これらを相互接続するシステムバス５とによって構成される。また、本装置には、操作手段１とは別に、ネットワーク７に接続されたコンピュータ装置（以下「ＰＣ」と略す）８上で動作するリモート操作手段９が接続されている。
【００１７】
操作手段１は、ユーザ・インタフェースを司る部分であり、表示画面および各種操作ボタンを備える。したがって、ユーザは、操作手段１の各種操作ボタンを押下することによって、本装置への画像入出力ジョブの実行要求、ジョブ状態確認、各画像入出力手段３の機器状態表示、等を行うことになる。例えば、コピー機能を実現する場合であれば、操作ボタンとして、コピー倍率やコピー部数等を指定するためのテンキー、用紙トレイ選択ボタン、コピースタートを行わせるためのスタートボタン、実行中の処理を一時停止させるためのストップボタン、全ての設定情報を初期化するクリアボタン、割り込みコピージョブを行わせるための割り込みボタン等が実装される。また、プリンタ機能やファクシミリ機能を実現する場合であれば、上記ボタンに加え、ネットワーク７との画像データの送受信を一時的に停止させるオフラインボタン、用紙入れ替え等の操作のために印刷中のジョブを一時停止させるポーズボタン（これはストップボタンと共用される場合もある）、ＦＡＸ主導送受信を行わせるための手動スタートボタン、電話番号を入力するためのテンキー（これはコピー倍率等を指定するテンキーと共用される場合もある）等が実装される。
【００１８】
また、ＰＣ８上で動作するリモートの操作手段９にも、必要に応じて上記ボタンが実装される。ただし、この場合、ローカルの操作手段１とは異なり、全てのボタンがハードウエアで構成されるわけではなく、ＰＣ８上のＧＵＩ（Graphical User Interface）機能によって実現される。このＧＵＩボタンを操作することによって、指定された各種ジョブ指示は、ネットワーク７を経由して本装置内に入力される。
【００１９】
画像入出力手段３には、詳細は図示しないが、ＩＩＴを制御し紙原稿情報をスキャンしてデジタル画像データを入力するＩＩＴ制御部、公衆回線に接続しＦＡＸ画像データを相手先ＦＡＸ装置６と送受信するＦＡＸ制御部、ＬＡＮ等のネットワーク７と接続しＰＤＬや画像データファイルをＰＣ８と送受信するネットワーク制御部、ＭＯやＣＤ−ＲＷ等の外部記憶媒体に接続し画像データ等を読み書きする外部記憶媒体制御部、ＩＯＴを制御し装置内の画像データを用紙に印刷するＩＯＴ制御部、ＨＤＤ等の二次記憶媒体を制御し本装置内に入力された画像データをＨＤＤに蓄積する画像蓄積制御部、入力画像データがＰＤＬであったり圧縮画像データである場合に必要に応じてデコンポーザ/圧縮・伸長を行うデコンポーズ制御部および圧縮/伸長制御部、装置内の各種システムデータやユーザ登録データ等を参照してこの情報を印刷/送信するために画像データ化するレポート生成部、等がある。
【００２０】
これらの各部は、本装置の製品構成上、必要に応じて実装されるものである。
例えば、コピー機能を実現する場合には、ＩＩＴ制御部並びにＩＯＴ制御部（必要に応じて画像蓄積制御部および圧縮/伸長制御部）が、画像入出力手段３として実装される。また、プリンタ機能を実現する場合には、ネットワーク制御部、デコンポーズ制御部並びにＩＯＴ制御部（必要に応じて画像蓄積制御部および圧縮/伸長制御部）が、画像入出力手段３として実装される。さらに、ＦＡＸ機能を実現する場合には、ＩＩＴ制御部、ＦＡＸ制御部並びにＩＯＴ制御部（必要に応じて画像蓄積制御部および圧縮/伸長制御部）が、画像入出力手段３として実装される。
【００２１】
また、画像入出力手段３は、操作手段１，９やＦＡＸ装置６等から実行要求が発行された画像入出力ジョブに対して、これを複数種類の動作モードに選択的に対応しつつ実行するようになっている。複数種類の動作モードとしては、例えば、本装置の起動に必要な初期化（ブート）処理を行うための初期状態モード、通常の動作により画像入出力ジョブを実行するノーマルモード、ある画像入出力ジョブを他の画像入出力ジョブに対し割り込み実行するための割り込みモード、処理中の画像入出力ジョブの実行を一時停止するためのポーズモード、本装置の故障診断を行うための自己診断（ダイアグ）モード等、が挙げられる。
【００２２】
キュー４は、操作手段１，９やＦＡＸ装置６等から実行要求が発行された複数の画像入出力ジョブに関する各種情報を、各ジョブ毎に一時的に格納する領域である。ただし、キュー４では、発行時点で即座に実行開始できないジョブに関する情報を格納する。そのため、キュー４内に格納される各ジョブは、実行開始待ち状態となる。このような格納を行うために、キュー４は、ＦＩＦＯ（First-In/First-Out）構造を持っている。そして、キュー４内の各ジョブについては、先頭にあるジョブから順に実行開始できるか否かの判定（後述するジョブ・スケジューリング処理）がジョブ制御手段２によって行われる。ここで、実行開始可能と判断されると、ジョブ制御手段２が画像入出力手段３にジョブ実行開始指示を出すことにより、そのジョブの処理が画像入出力手段３によって開始され、その実行開始されたジョブはキュー４内から取り除かれることになる。
【００２３】
また、キュー４は、ゲート（キューの出口）を持っていて、このゲートの開閉によって、キュー内のジョブを取り出せるかどうか（実行開始待ちジョブを実行開始させるかどうか）が切り替わる。すなわち、ジョブ制御手段２は、ゲートが開くとそのキュー内のジョブの取り出し（実行開始）が可能で、ゲートが閉じるとキュー内のジョブは取り出す（実行開始する）ことが不可能となるという判断を行う。以下、ゲートが開いているキューを「アクティブ・キュー」、閉じているキューを「インアクティブ・キュー」というものとする。
【００２４】
このような機能を果たすキュー４は、上述した複数種類の動作モードに対応して、複数個用意されている。例えば、本装置では、電源投入時から画像入出力ジョブが提供開始可能になるまでの期間に行われるブート処理期間中に対応した初期状態モード用キュー４１と、通常の画像入出力ジョブを提供する期間中に対応したノーマルモード用キュー４２と、操作手段１，９に実装された割り込みボタン押下からそれが解除されるまでの期間中に対応した割り込みモード用キュー４３と、処理中のジョブを一時停止させるためにストップボタンまたはポーズボタンの押下からそれが解除されるまでの期間中に対応した一時停止モード用キュー４４と、カスタマーエンジニアやシステム管理者等が本装置の故障診断を行うためにダイアグモードへの移行を行っている期間中に対応したダイアグモード用キュー４５と、を備えている。なお、これら複数のキュー４１〜４５のうち、どれを用いるかの切り替え処理、すなわちキューのアクティブ/インアクティブ切り替えは、ジョブ制御手段２が行う。
【００２５】
なお、ジョブ制御手段２は、本装置内に複数のキュー４１〜４５が用意されていることから、これら複数のキュー４１〜４５のうちのいずれか１つしかアクティブ・キューとならないように排他制御を行う。具体的には、ゲート開閉のアクティブ/インアクティブの排他制御には、複数のタスク間の同期をとるセマフォ（semaphore）等のソフトウエア制御機構を利用する。
【００２６】
〔初期化処理についての説明〕
次に、以上のように構成された本装置における処理動作例について説明する。
はじめに、本装置の電源投入時における初期化処理について説明する。
【００２７】
本装置に電源が投入されると、操作手段１、ジョブ制御手段２および画像入出力手段３は、各々初期化処理を開始する。操作手段１は、表示パネルおよび各種操作ボタンの初期化を行う。ジョブ制御手段２は、投入されるジョブの情報を管理するためのメモリ領域の初期化や、各種動作モードに対応したキュー４１〜４５の初期化等を行う。このとき、キュー４の初期化とは、全キュー４１〜４５用のメモリ領域確保およびそのクリア、並びに全キュー４１〜４５をインアクティブにすることをいう。すなわち、初期化処理によって一旦全キュー４１〜４５のゲートは閉じられ、それ以降にキュー４１〜４５内に格納されるジョブは全て実行開始待ち状態になることを意味する。画像入出力手段３は、各画像入出力デバイス（ＩＩＴ、ＩＯＴ、ＨＤＤ、圧縮/伸長器、公衆回線、ネットワーク・プロトコル等）のハードウエア/ソフトウエアの初期化を行い、画像入出力ジョブの処理を開始できるように準備する。なお、操作手段１および画像入出力手段３は、各々の初期化処理が完了すると、ジョブ制御手段２に初期化処理完了通知を発行する。
【００２８】
〔ジョブの実行開始要求があった場合の処理動作についての説明〕
次いで、本装置の電源投入後、ユーザが本装置に対してジョブの実行開始を要求した場合における処理動作について説明する。図２は、ジョブの実行開始要求があった場合の処理動作例を示すフローチャートである。
【００２９】
本装置において、操作手段１，９、一部の画像入出力手段３は、ユーザからのジョブ実行開始要求を直接的または間接的に検出する機能を持つ。例えば、操作手段１では、ユーザが各種操作ボタンを押下することによるユーザのジョブ実行要求を検出する。具体的には、スタートボタン押下によるコピージョブのスタート指示は、操作手段１の検出するジョブ実行開始要求イベントとなる。また、例えば、操作手段９内の各種ＧＵＩボタン押下によるプリントジョブ開始指示、画像入出力手段３内のＦＡＸ制御部によるＦＡＸ装置６からの呼接続検出、レポート生成部に予めプログラミングされたスタートアップページ等の自動レポート生成処理等、もジョブ実行開始要求イベントとなり得る。
【００３０】
そして、操作手段１，９、一部の画像入出力手段３は、ジョブ実行開始要求を検出すると（ステップ１０１、以下ステップを「Ｓ」と略す）、当該ジョブをどの動作モードで画像入出力手段３に実行開始させるかを特定するためのジョブ実行モードを決定する（Ｓ１０２）。ジョブ実行モードとしては、既に説明した複数の動作モードに対応して、以下に示す複数種類が予め設定されているものとする。
【００３１】
NORMAL MODE：ノーマルモードでのジョブ実行
INTERRUPT MODE：割り込みモードでのジョブ実行
PAUSE MODE：ポーズモードでのジョブ実行
DIAG MODE：ダイアグモードでのジョブ実行
INITIAL MODE：初期状態モードでのジョブ実行
ACTIVE MODE：全ての動作モードでのジョブ実行
【００３２】
これらジョブ実行モードのうち、NORMAL MODE、INTERRUPT MODE、PAUSE MODE、DIAG MODE、INITIAL MODEは、いずれも、本装置の動作モードがそれぞれに対応する動作モード（ノーマルモード、割り込みモード、ポーズモード、ダイアグモード、初期状態モード）の期間中にのみ、ジョブ実行開始させても良いことを表す。また、ACTIVE MODEは、全ての動作モードの期間中のいずれでも実行開始させて良いことを表す。
【００３３】
例えば、通常のコピージョブを検出した操作手段１、操作手段９から要求されたプリントジョブ要求イベントを受信したネットワーク制御部、ＦＡＸ送受信要求イベントを検出したＦＡＸ制御部等の場合には、NORMAL MODEを選択する。ただし、操作手段１は割り込みボタン押下後に検出したコピージョブ等の場合にはINTERRUPT MODE、ポーズ（ストップ）ボタン押下後に検出したレポート出力ジョブ等の場合にはPAUSE MODE、故障診断期間中に検出したテストプリント出力ジョブ等の場合にはDIAG MODEを、それぞれ選択する。また、初期化処理中に検出したコピージョブ、すなわちＩＯＴ等の予熱期間中で直ちにコピー処理が開始できない場合や（この場合、操作手段１は「自動的にスタートします。お待ち下さい」等の表示を行い、当該コピージョブが予約状態となった旨をユーザに報知する）、スタートアップページ出力ジョブの場合等には、INITIAL MODEを選択する。さらに、ＦＡＸ時刻指定送信ジョブを検出した場合等は、指定された時刻に本装置がどの動作モードになっているか不明なため、特定の動作モードを指定しないACTIVE MODEを選択する。
【００３４】
ジョブ実行モードを決定すると、その決定を行った操作手段１，９、一部の画像入出力手段３は、続いて、決定したジョブ実行モードと、ジョブ実行要求時にユーザが指定した各種ジョブ制御パラメータ（ジョブの実行プライオリティ、ＩＩＴでの原稿スキャン倍率、ＩＯＴでの印刷部数、ＦＡＸ電話番号、外部ＰＣのＩＰアドレス/メールアドレス/ディレクトリパス等）とを、ジョブ要求パラメータとしてメモリ上に展開する（Ｓ１０３）。そして、そのメモリのアドレスをセットしたジョブ要求イベントを、ジョブ制御手段２に対して発行する（Ｓ１０４）。
【００３５】
ジョブ要求イベントを受信すると、ジョブ制御手段２は、初期化処理期間中、通常処理期間中に拘わらず、後述するジョブ生成処理およびジョブのキュー格納処理を行う。なお、操作手段１、ジョブ制御手段２、画像入出力手段３間の各種イベント送受信には、ソフトウエアで実現されるＩＰＣ（interprocessor communication）メッセージ通信等を用いればよい。
【００３６】
〔各種操作ボタンの押下によるモード遷移処理についての説明〕
続いて、本装置に対するジョブの実行開始要求があった後、さらにユーザが各種操作ボタンを押下したときの、操作手段１におけるモード遷移処理動作について詳しく説明する。図３は、ユーザが各種操作ボタンを押下したときのモード遷移処理の手順に一例を示すフローチャートである。
【００３７】
本装置において、ユーザが各種操作ボタンを押下したかどうか、押下したボタンがどのようなものであるかといったイベントは、各種操作ボタンが備えるセンサからの電気信号、すなわち各種操作ボタンに対応したＩＯポートのハードウエア割り込み信号に変換される。これを操作手段１が検出して何らかのボタンが押下されたと判断すると（Ｓ２０１）、操作手段１は、どのボタンが押されたかをチェックする。
【００３８】
そして、押下された操作ボタンが割り込みボタンであれば（Ｓ２０２）、操作手段１は、その時点で本装置が割り込み期間中であるかどうかをチェックし（Ｓ２０３）、割り込み期間中でなかったら、本装置の動作モードとして割り込みモードを選択して（Ｓ２０４）、モード遷移イベントをジョブ制御手段２に対して発行する（Ｓ２０５）。一方、割り込み期間中であれば、操作手段１は、ユーザが割り込み解除を指示したと判断し、本装置の動作モードとしてノーマルモードを選択して（Ｓ２０６）、モード遷移イベントをジョブ制御手段２に対して発行する（Ｓ２０５）。
【００３９】
また、押下された操作ボタンがポーズ（ストップ）ボタンであれば（Ｓ２０７）、操作手段１は、その時点で本装置が一時停止期間中であるかどうかをチェックし（Ｓ２０８）、一時停止期間中でなかったら、本装置の動作モードとして一時停止モードを選択して（Ｓ２０９）、モード遷移イベントをジョブ制御手段２に対して発行する（Ｓ２０５）。一方、一時停止期間中であれば、操作手段１は、ユーザが一時停止解除を指示したと判断し、本装置の動作モードとしてノーマルモードを選択して（Ｓ２０６）、モード遷移イベントをジョブ制御手段２に対して発行する（Ｓ２０５）。
【００４０】
さらに、押下された操作ボタンが故障診断モードへのエントリキーであれば（Ｓ２１０）、操作手段１は、その時点で本装置がダイアグ期間中であるかどうかをチェックし（Ｓ２１１）、ダイアグ期間中でなかったら、本装置の動作モードとしてダイアグモードを選択して（Ｓ２１２）、モード遷移イベントをジョブ制御手段２に対して発行する（Ｓ２０５）。一方、ダイアグ期間中であれば、操作手段１は、ユーザがダイアグモード解除を指示したと判断し、本装置の動作モードとしてノーマルモードを選択して（Ｓ２０６）、モード遷移イベントをジョブ制御手段２に対して発行する（Ｓ２０５）。
【００４１】
このようなモード遷移イベントを操作手段１が発行すると、そのモード遷移イベントを受信したジョブ制御手段２は、後述するキュー切り替えの処理を行う。
【００４２】
なお、上述したモード遷移イベントは、操作手段１以外でも発行することがあるのはいうまでもない。例えば、リモートの操作手段９上で操作手段１が提供するのと同様な操作ボタン（ＧＵＩボタン）をユーザが押下したような場合にも、略同様な処理手順によってモード遷移イベントを発行することになる。
【００４３】
〔初期化処理完了後のジョブ制御処理についての説明〕
次に、本装置の初期化処理完了後、ジョブ制御手段２が行うジョブ制御処理の処理動作について説明する。図４は、ジョブ制御処理の手順の一例を示すフローチャートである。
【００４４】
ジョブ制御手段２は、自らの初期化処理が完了したら、操作手段１、画像入出力手段３から発行される初期化処理完了通知を待つ（Ｓ３０１）。そして、全ての初期化処理完了通知を受信したら、初期状態モード用キュー４１をアクティブにする（Ｓ３０２）。これにより、ジョブ制御手段２の初期化処理時に一旦インアクティブになっていた全てのキュー４１〜４５のうち、初期状態モードキュー４１のみがアクティブ・キューになる。
【００４５】
その後、ジョブ制御手段２は、アクティブになった初期状態モード用キュー４１内を参照して、ジョブが存在しているかどうかをチェックし、ジョブが存在していたらそのジョブに対してジョブ・スケジューリング処理を行う（Ｓ３０３）。ジョブ・スケジューリング処理とは、対象となるジョブ（実行開始待ち状態となっているジョブ）が、現時点で画像入出力手段３の組み合わせによって実行可能か否かを判断する処理のことをいう。実行可能か否かは、ジョブ要求イベント発行時に操作手段１等がセットしたジョブ要求パラメータを参照して、その要求通りのパラメータで画像入出力手段３が実行開始できるかをチェックすることによって判断する。
【００４６】
例えば、コピージョブ実行中（すなわち、ＩＩＴ制御部とＩＯＴ制御部が画像入出力ジョブを実行している期間中）にプリントジョブを実行可能か否か判断する場合には、プリントジョブの実行に必要となるＩＯＴ制御部が、コピージョブによって占有されているため現時点では実行開始できないと判断する。また、ＦＡＸ時刻指定送信ジョブが実行開始可能か否かを判断する場合には、たとえ、ＦＡＸ送信に必要な画像処理手段３（ＩＩＴ制御部、画像蓄積制御部、ＦＡＸ制御部）の全てが使用可能であったとしても、指定された時刻に達していない場合には現時点では実行開始できないと判断する。
【００４７】
このようなジョブ・スケジューリング処理を、ジョブ制御手段２は、初期状態モード用キュー４１内に存在している全てのジョブに対して行う。そして、初期状態モード用キュー４１内の全ジョブのジョブ・スケジューリング処理が完了し、全てのジョブが実行開始された状態、すなわち全てのジョブが当該キューから取り出された状態になったら（Ｓ３０４）、ジョブ制御手段２は、初期状態モード用キュー４１をインアクティブにするとともに、ノーマルモード用キュー４２をアクティブにし、そのノーマルモード用キュー４２内のジョブに対してジョブ・スケジューリング処理を行う（Ｓ３０５）。
【００４８】
これらのステップ（Ｓ３０２〜Ｓ３０５）の処理を行うことによって、INITIAL_MODEで実行要求されたジョブは、他のどのモードで要求されたジョブよりも優先して実行開始されるようになる。こうすることにより、例えば、NORMAL_MODEでのジョブ要求と、INITIAL_MODEでのジョブ要求が、初期化処理期間中の略同時期に発生し、かつ、NORMAL_MODEのジョブがINITIAL_MODEのジョブよりも実行プライオリティが高く設定されていたとしても、INITIAL_MODEのジョブの方がNORMAL_MODEのジョブよりも先に実行開始されることになり、装置の電源投入時に「最も初めに」実行されるべきジョブが追い越されるといったことが解消される。
【００４９】
その後、ノーマルモード用キュー４２内のジョブ・スケジューリング処理が完了すると、ジョブ制御手段２は、操作手段１，９、一部の画像入出力手段３等からの各種イベントの受信を待ち（Ｓ３０６）、イベントが受信されたら（Ｓ３０７）、そのイベントがどのような種類のものかをチェックする。
【００５０】
その結果、ジョブ要求イベントだった場合には（Ｓ３０８）、ジョブ制御手段２は、ジョブ生成処理を行って（Ｓ３０９）、そのジョブを所定のキューに格納する（Ｓ３１０）。ジョブ生成処理とは、ジョブ管理用のメモリ領域から当該ジョブ用の領域を確保し、当該ジョブ用に一意にジョブ識別子を採番し、受信したジョブ要求イベントにセットされたジョブ要求パラメータおよびジョブ識別子を確保した領域にセットする処理のことをいう。このようにして生成されたジョブは、ジョブ識別子によってアクセス可能となるので、このジョブ識別子をキュー４１〜４５のいずれかに格納する処理を、ジョブ生成処理後のステップ（Ｓ３１０）で行う。
【００５１】
ジョブ生成処理後のステップ（Ｓ３１０）では、ジョブ実行要求イベント発行時にセットされたジョブ実行モードを参照し、NOMRAL_MODEだったらノーマルモード用キュー４２、INTERRUPT_MODEだったら割り込みモード用キュー４３、PAUSE_MODEだったら一時停止モード用キュー４４、DIAG_MODEだったらダイアグモード用キュー４５、ACTIVE_MODEだったらキュー４１〜４５のうち現在アクティブになっているキュー、をそれぞれ選択して当該ジョブの格納を行う。
【００５２】
キュー格納の際には、格納対象のジョブの実行プライオリティと既に格納されているジョブ（群）の実行プライオリティを考慮する。格納対象のジョブに、既にキュー格納されている全てのジョブよりも低い、もしくは同じ実行プライオリティが指定されていた場合には、当該キュー内の最後尾に当該ジョブを格納する。そうでない場合には、当該ジョブが持つ実行プライオリティと同じ値を持つジョブの直後に格納する。また、当該ジョブの実行プライオリティが格納されている全てのジョブのそれよりも高い値を持っていた場合には、当該ジョブはキューの先頭に格納する。
【００５３】
そして、キュー格納処理の後、ジョブ制御手段２は、ジョブ・スケジューリング・イベントを発行する（Ｓ３１１）。これは、ジョブ制御手段２が自らに向けて発行する内部生成イベントであり、このイベントを受信したジョブ制御手段２は上述のジョブ・スケジューリング処理を行う。ジョブ・スケジューリング・イベントを発行したジョブ制御手段２は、再びイベント受信待ちに戻る（Ｓ３０７）。ただし、このときには、既に上述のステップ（Ｓ３１１）で発行したイベントが発生しているのでそのイベントを即座に受信することになる。
【００５４】
ジョブ・スケジューリング・イベントを受信すると（Ｓ３１２）、ジョブ制御手段２は、上述のジョブ・スケジューリング処理を行う（Ｓ３１３）。これは、Ｓ３０３，Ｓ３０５で説明したジョブ・スケジューリング処理と同じで処理である。そして、ジョブ・スケジューリング処理が終了したら、ジョブ制御手段２は、再びイベント受信待ちに戻る（Ｓ３０７）。
【００５５】
ただし、イベント受信待ち状態（Ｓ３０７）で受信したイベントが、操作手段１等から発行されるモード遷移イベントだった場合には（Ｓ３１４）、ジョブ制御手段２は、受信したモード遷移イベントを参照し、そのモード遷移イベントが割り込みモードへの遷移要求であれば（Ｓ３１５）、割り込みモード用キュー４３をアクティブにする処理を行う（Ｓ３１６）。このとき、その時点でアクティブになっているキューはインアクティブにする。そして、ジョブ・スケジューリング・イベントを発行し（Ｓ３１１）、イベント受信待ちに戻る（Ｓ３０７）。
【００５６】
また、モード遷移イベントが一時停止モードへの遷移要求であれば（Ｓ３１７）、ジョブ制御手段２は、一時停止モード用キュー４４をアクティブにする処理を行う（Ｓ３１８）。このときも、その時点でアクティブになっているキューはインアクティブにする。そして、ジョブ・スケジューリング・イベントを発行し（Ｓ３１１）、イベント受信待ちに戻る（Ｓ３０７）。
【００５７】
また、モード遷移イベントがダイアグモードへの遷移要求であれば（Ｓ３１９）、ジョブ制御手段２は、ダイアグモード用キュー４５をアクティブにする処理を行う（Ｓ３２０）。このときも、その時点でアクティブになっているキューはインアクティブにする。そして、ジョブ・スケジューリング・イベントを発行し（Ｓ３１１）、イベント受信待ちに戻る（Ｓ３０７）。
【００５８】
また、モード遷移イベントがノーマルモードへの遷移要求であれば（Ｓ３２１）、ジョブ制御手段２は、ノーマルモード用キュー４２をアクティブにする処理を行う（Ｓ３２２）。このときも、その時点でアクティブになっているキューはインアクティブにする。そして、ジョブ・スケジューリング・イベントを発行し（Ｓ３１１）、イベント受信待ちに戻る（Ｓ３０７）。
【００５９】
なお、ジョブ制御手段２は、これらの各キューへの切り替え処理（Ｓ３１６，Ｓ３１８，Ｓ３２０，Ｓ３２２）からジョブ・スケジューリング・イベントの発行処理（Ｓ３１１）との間で、ジョブ実行モードがACTIVE_MODEを指定されたジョブのキュー移動処理を施す（Ｓ３２３）。これは、アクティブからインアクティブに変わったキュー内のジョブを参照して、ジョブ実行モードがACTIVE_MODEになっているものを、当該キューから切り替え後にアクティブになるキューに移動する処理のことをいう。この移動処理の際には、移動対象のジョブの実行プライオリティとアクティブ・キュー内に格納されている各ジョブの実行プライオリティを比較して格納場所を決定する。
【００６０】
このようにして、ジョブ制御手段２は、本装置のシステム動作モードの遷移に応じて、ジョブ・スケジューリングの際に用いるキュー４１〜４５を切り替える。つまり、ジョブ制御手段２では、各動作モードに対応したキュー４１〜４５からその動作モードで実行開始することが許されているジョブを適切にスケジューリングすることになる。また、ACTIVE_MODEが指定されたジョブについては、常にアクティブ・キュー内に格納されるようにする。そのため、ＦＡＸ時刻指定送信のようなジョブの場合であっても、実行開始時刻になったときに格納されているキューがインアクティブだったため実行開始できない、といったことが発生しなくなる。
【００６１】
以上、〔画像処理装置の基本構成〕、〔初期化処理〕、〔ジョブの実行開始要求があった場合の処理〕および〔初期化処理完了後のジョブ制御処理〕の説明からも明らかなように、本装置は、複数のジョブを実行する際のスケジューリングを、ジョブ制御手段２が各動作モード別に行うようになっている。
【００６２】
さらに詳しくは、本装置では、ノーマルモード、割り込みモード、一時停止モード、ダイアグモード、初期状態モードといった複数種類の動作モードの各々に１対１に対応して設けられた複数のキュー４１〜４５を備えている。そして、画像入出力ジョブが投入されると、そのジョブを各キュー４１〜４５のいずれかに格納するとともに、動作モードの切り替え指示に応じてジョブ制御手段２がジョブ・スケジューリング処理に用いるキュー４１〜４５も切り替えるようになっている。
【００６３】
例えば、本装置が通常状態で動作している場合には、ノーマルモード用キュー４２が選択され、ジョブ制御手段２はノーマルモードに格納されているジョブに対してジョブ・スケジューリング処理を行う。このとき、他のキューに格納されているジョブはスケジューリング対象とはならない。そして、ユーザが割り込みボタンを押下した場合には、動作モードが割り込みモードに変更され、それに伴って割り込みモードに対応した割り込みモード用キュー４３が選択される。このとき、ノーマルモード用キュー４２に格納されていたジョブはスケジューリング対象にはならなくなり、割り込みモード用キュー４３に格納されているジョブに対してジョブ・スケジューリング処理が行われる。また、他のモードへの移行時、すなわち一時停止（ポーズ、オフライン）ボタン押下時、故障診断モード移行時にも同様の処理を行う。
【００６４】
したがって、本装置では、ジョブ・スケジューリング処理を各動作モード毎にそれぞれ個別に行うので、各動作モードに選択的に対応しつつジョブを実行する場合であっても、通常のモードで実行されるジョブと特殊なモードで実行開始される必要があるジョブ（割り込みジョブ、一時停止中のレポート出力ジョブ、ダイアグ期間中の各種診断レポート出力ジョブ等）との振り分けができ、動作モードに応じた適切なジョブ制御が行えるようになる。つまり、本装置によれば、複数のキュー４１〜４５を動作モードに応じて切り替えるので、複数の動作モードに選択的に対応する場合であっても、そのうちの特殊なモードにおけるジョブについても適切な順序制御を行うことができ、結果として機器の生産性向上、ユーザの操作性向上、製品開発コストや装置コストの抑制等を実現することができ、さらには多様な製品構成（コンフィグレーション）への柔軟な対応等も可能となる。
【００６５】
また、本装置では、初期状態モードに対応した初期状態モード用キュー４１内に一つ以上のジョブが存在している場合には、それらのジョブが実行開始されるまでは、たとえ他の動作モードに切り替える指示がきたとしても、それに対応したキューへの切り替えを直ちには行わないようになっている。つまり、初期状態モード用キュー４１の切り替えタイミングについては、他のキューの切り替えと異なる制御を行う。したがって、本装置によれば、初期状態時に実行されるべきスタートアップページ等、電源投入時に最初に行わなければならないジョブの実行を、他のジョブに追い越されることなく、確実に行うことができるようになる。
【００６６】
さらに、本装置では、全ての動作モードで実行開始させることが指定されたジョブについては、当該ジョブのスケジューリングを各処理待ちキューを用いて行い得るようにし、処理待ちキューの切り替えに応じて切り替え前の処理待ちキューから切り替え後の処理待ちキューへ当該ジョブの移し替えを行うようになっている。つまり、常にアクティブ・キューに移動するようなジョブ実行モードを許容する。したがって、例えばＦＡＸ時刻指定送信ジョブのように、指定された時刻にどのような動作モードであっても実行開始させたいジョブであっても、そのジョブの投入時に「どの動作モードでも常に実行対象とさせる」といった指定を行っておくことで、どのような動作モードの期間中でも確実にジョブ実行開始させることができ、動作モードの切り替えによってジョブが実行開始されなくなってしまうといったことがなくなる。
【００６７】
なお、本実施形態では、キュー４を、初期状態モード、ノーマルモード、割り込みモード、一時停止モード、ダイアグモードといった動作モードに対応したもので説明したが、それ以外の動作モードに対応させることや、製品構成上必要のない動作モードには対応しないようにすることも可能であることは勿論である。
【００６８】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置は、ジョブを実行する際のスケジューリングを各動作モード別に行うので、複数種類の動作モードに選択的に対応しつつジョブを実行する場合であっても、複雑なキュー管理制御を必要とせずにジョブ制御が可能となり、しかもそのうちの特殊なモードにおけるジョブについても適切な順序制御を行うことができる。したがって、本発明に係る画像処理装置によれば、機器の生産性向上、ユーザの操作性向上、製品開発コストや装置コストの抑制等を実現することができ、さらには多様な製品構成（コンフィグレーション）への柔軟な対応等も可能となる。
【図面の簡単な説明】
【図１】  本発明の一実施形態における画像入出力装置の基本構成を示すブロック図である。
【図２】  ジョブの実行開始要求があった場合の処理動作例を示すフローチャートである。
【図３】  ユーザが各種操作ボタンを押下したときのモード遷移処理の手順に一例を示すフローチャートである。
【図４】  ジョブ制御処理の手順の一例を示すフローチャートである。
【符号の説明】
１，９…操作手段、２…ジョブ制御手段、３…画像入出力手段、４…キュー、４１…初期状態モード用キュー、４２…ノーマルモード用キュー、４３…割り込みモード用キュー、４４…一時停止モード用キュー、４５…ダイアグモード用キュー
【図１】
0003941380.tif 000002
【図２】
0003941380.tif 000003
【図３】
0003941380.tif 000004
【図４】
0003941380.tif 000005