(57)【要約】【課題】拡張部の消費電力を含めたコントローラ全体の動作中の消費電力を低減すること。【解決手段】画像形成装置100のシステム制御部210は、これから処理するジョブに拡張コントローラ部201が有する機能で処理可能な内容が含まると判定され（S103でYES）、且つ、拡張コントローラ部201が有する機能に対応するメインコントローラ部200の機能がすでに使用されていると判定された（S104でYES）場合には、拡張コントローラ部201に電力を供給し（S106）、これから処理するジョブにおいて拡張コントローラ部201を使用し（S107、S108、S109）、それ以外の場合には、拡張コントローラ部201に電力を供給せず、これから処理するジョブにおいてメインコントローラ部200を使用する（S105、S109）制御を行う。【選択図】図９
2018086751.tif 000002
【特許請求の範囲】
【請求項１】
第１処理手段と、
前記第１処理手段の少なくとも１の機能に対応する機能を有する第２処理手段と、
前記第１処理手段と前記第２処理手段へ個別に電力を供給可能な電力供給手段と、
ジョブの実行を制御する制御手段と、
これから処理するジョブに前記第２処理手段が有する機能で処理可能な内容が含まれているか否かを判定する第１判定手段と、
現在処理しているジョブの処理で、前記第２処理手段が有する機能に対応する前記第１処理手段の機能が、すでに使用しているかどうかを判定する第２判定手段と、を有し、
前記制御手段は、
前記第１判定手段によってこれから処理するジョブに前記第２処理手段が有する機能で処理可能な内容が含まると判定され、且つ、前記第２判定手段によって前記第２処理手段が有する機能に対応する前記第１処理手段の機能がすでに使用されていると判定された第１の場合には、前記電力供給手段にて前記第２処理手段に電力を供給し、これから処理するジョブにおいて前記第２処理手段を使用し、
前記第１の場合でない場合には、前記電力供給手段にて前記第２処理手段に電力を供給せず、これから処理するジョブにおいて前記第１処理手段を使用する制御を行う、
ことを特徴とする情報処理装置。
【請求項２】
前記第１処理手段と前記第２処理手段を接続する接続手段と、
前記接続手段を介してジョブのデータを前記第１処理手段へ送信するか前記第２処理手段へ送信するかを切り替える切り替え手段と、
を有する請求項１に記載の情報処理装置。
【請求項３】
前記ジョブのデータは、ジョブ識別子を含み、
前記切り替え手段は、前記ジョブのジョブ識別子を参照し、該ジョブ識別子に応じて、前記ジョブのデータを前記第１処理手段へ送信するか前記第２処理手段に送信するかを決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記接続手段は、前記第１処理手段と前記第２処理手段とを接続するリングバスであり、
前記切り替え手段は、前記リングバスを流れるデータを前記第１処理手段へ送信するか前記第２処理手段に送信するかを切り替えるバススイッチである、ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記電力供給手段は、前記情報処理装置の起動時には前記第１処理手段に電力を供給し、前記第２処理手段には電力を供給しないことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記制御手段は、前記第２処理手段でジョブの処理が終了し、これから処理する又は現在処理しているジョブが多くとも１つの場合には、前記電力供給手段によって前記第２処理手段への電力供給を停止することを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１処理手段と、前記第２の処理手段とは、同一の構成であることを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項８】
前記第２の処理手段は、前記ジョブの処理に使用しないブロックを省電力状態にすることを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記情報処理装置は、画像形成装置に設けられたコントローラであり、
前記第２処理手段が有する前記第１処理手段の少なくとも１の機能に対応する機能は、画像処理の機能であることを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
第１処理手段と、前記第１処理手段の少なくとも１の機能に対応する機能を有する第２処理手段と、前記第１処理手段と前記第２処理手段への電力供給を個別に制御する電力供給手段と、を有する情報処理装置の制御方法であって、
これから処理するジョブに前記第２処理手段が有する機能で処理可能な内容が含まれているか否かを判定する第１判定ステップと、
現在処理しているジョブの処理で、前記第２処理手段が有する機能に対応する前記第１処理手段の機能が、すでに使用しているかどうかを判定する第２判定ステップと、
前記第１判定ステップでこれから処理するジョブに前記第２処理手段が有する機能で処理可能な内容が含まると判定され、且つ、前記第２判定ステップで前記第２処理手段が有する機能に対応する前記第１処理手段の機能がすでに使用されていると判定された第１の場合には、前記電力供給手段にて前記第２処理手段に電力を供給し、これから処理するジョブにおいて前記第２処理手段を使用する第１制御ステップと、
前記第１の場合でない場合には、前記電力供給手段にて前記第２処理手段に電力を供給せず、これから処理するジョブにおいて前記第１処理手段を使用する第２制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１〜９のいずれか１項に記載の制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張部を有するコントローラの省電力制御に関する。
【背景技術】
【０００２】
スキャナ機能、プリンタ機能、コピー機能、ネットワーク機能、ＦＡＸ送受信といった様々な機能を兼備えるデジタル複合機のような画像形成装置が知られている。デジタル複合機における機能動作は、通常、コントローラと呼ばれる画像入出力制御部により制御されている。
【０００３】
近年、デジタル複合機は、様々な顧客に対応するため低速機から高速機まで幅広く設計・製造されており、それら様々な機器性能に柔軟に対応可能なコントローラが望まれている。そこで、低速機用のコントローラを拡張することで高速機の処理速度に対応し、そのような要望に柔軟に対応するコントローラアーキテクチャがある。
【０００４】
一方、コントローラを含めたデジタル複合機の消費電力は可能な限り低減することが望まれている。そこで、上記説明したように低速機用に用いられるメイン部と高速機用の拡張部を備えたコントローラにおいては、拡張部の利用が不要な場合は省電力状態にすることが望ましい。
【０００５】
例えば、メイン側のノードと拡張側のノードにそれぞれＣＰＵがあり、拡張側のＣＰＵが省電力状態であるときに拡張側のノード全体を省電力状態とし、メイン側ＣＰＵのプロセス数が増加してくると拡張側のノードを復帰させる技術が提案されている(特許文献１)。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２１１３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
コントローラの性能によっては高速機において常に拡張部を動作させる必要がない場合がある。これは、前述のスキャン、プリント、コピー、ＦＡＸといった機能ジョブが競合し、コントローラが拡張部を用いなければ性能が達成できない場合のみ拡張部を動作させればよいものである。よって、それらジョブが競合している状態の場合だけコントローラの拡張部を通常状態に活性化すればよく、それ以外の状態では拡張部を省電力状態に制御することが最もコントローラ動作中の消費電力を低減させる。
【０００８】
しかし、メイン部の負荷の大きさのみで拡張部を通常状態に復帰させていては、必要最低限の通常状態とならない場合がある。これはメイン部・拡張部それぞれに実装されている処理内容とジョブで求められている処理の内容次第によっては、必ずしも拡張部の復帰が必要でない場合があるからである。このような場合に、ＣＰＵなどと同様に負荷の大きさのみで拡張部を通常状態に復帰させるか否かを判断していては、拡張部の消費電力を含めたコントローラ全体の動作中の消費電力を必要最低限に抑えることは困難になる。
【０００９】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、拡張部の消費電力を含めたコントローラ全体の動作中の消費電力を低減させる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、第１処理手段と、前記第１処理手段の少なくとも１の機能に対応する機能を有する第２処理手段と、前記第１処理手段と前記第２処理手段へ個別に電力を供給可能な電力供給手段と、ジョブの実行を制御する制御手段と、これから処理するジョブに前記第２処理手段が有する機能で処理可能な内容が含まれているか否かを判定する第１判定手段と、現在処理しているジョブの処理で、前記第２処理手段が有する機能に対応する前記第１処理手段の機能が、すでに使用しているかどうかを判定する第２判定手段と、を有し、前記制御手段は、前記第１判定手段によってこれから処理するジョブに前記第２処理手段が有する機能で処理可能な内容が含まると判定され、且つ、前記第２判定手段によって前記第２処理手段が有する機能に対応する前記第１処理手段の機能がすでに使用されていると判定された第１の場合には、前記電力供給手段にて前記第２処理手段に電力を供給し、これから処理するジョブにおいて前記第２処理手段を使用し、前記第１の場合でない場合には、前記電力供給手段にて前記第２処理手段に電力を供給せず、これから処理するジョブにおいて前記第１処理手段を使用する制御を行う、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、拡張部としての第２処理手段の消費電力を含めたコントローラ全体の動作中の消費電力を低減させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施例の画像形成装置のブロック図
【図２】コントローラ部のブロック図
【図３】システム制御部のブロック図
【図４】プリント処理部、ループバック処理部、スキャン処理部のブロック図
【図５】画像リングバススイッチのブロック図
【図６】リングバスを流れるパケットデータの構成図
【図７】ループバック画像処理部のブロック図
【図８Ａ】実施例１における画像リングバススイッチの接続制御例
【図８Ｂ】実施例１における画像リングバススイッチの接続制御例
【図８Ｃ】実施例１における画像リングバススイッチの接続制御例
【図９】実施例１におけるジョブ処理の流れを示すフローチャート
【図１０】ジョブとそのジョブで使用される処理を例示する図
【図１１】実施例２における画像リングバススイッチの接続制御例
【図１２】実施例２におけるジョブ処理の流れを示すフローチャート
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１４】
＜画像形成装置概略＞
図１は、本発明の一実施例を示す画像形成装置100の構成を例示するブロック図である。
スキャナ部110は、原稿画像を光学的に読み取り、画像データに変換する。スキャナ部110は、原稿を読取るための機能を持つ原稿読取部112と、原稿用紙を搬送するための機能を持つ原稿給紙部111とを有する。
【００１５】
プリンタ部140は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部140は、複数種類の記録紙カセットを持つ給紙部142と、画像データを記録紙に転写、定着させる機能を持つ転写定着部141と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙部143とを有する。
【００１６】
コントローラ部120は、スキャナ部110、プリンタ部140と電気的に接続され、さらにＬＡＮ、公衆回線、インターネット／イントラネット等のネットワーク150と接続される情報処理装置である。
【００１７】
コントローラ部120は、スキャナ部110を制御して、原稿の画像データを読込み、プリンタ部140を制御して画像データを記録用紙に出力してコピー機能を提供する。また、コントローラ部120は、スキャナ部110から読み取った画像データを、コードデータに変換し、ネットワーク150を介して図示しないホストコンピュータへ送信するスキャナ機能を提供する。さらに、コントローラ部120は、図示しないホストコンピュータからネットワーク150を介して受信したコードデータを画像データに変換し、プリンタ部140に出力するプリンタ機能を提供する。また、コントローラ部120は、公衆回線からデータを受信してプリントするＦＡＸ受信機能や公衆回線へスキャンしたデータを送信するＦＡＸ送信機能を提供する。
【００１８】
また、これらスキャンやプリント、ＦＡＸ送受信といった処理をジョブと呼び、画像形成装置100は、これらジョブを指示に従って制御・処理するものである。これらジョブは、組み合わせによっては同時処理可能である。
【００１９】
操作部130は、コントローラ部120に接続され、液晶タッチパネルで構成され、画像形成装置を操作するためのユーザインタフェースを提供する。
【００２０】
＜コントローラ部＞
図２は、コントローラ部120の構成を例示するブロック図である。
図２に示すように、コントローラ部120は、メインコントローラ部200、拡張コントローラ部201、そして電源供給部290を有する。以下、それぞれについて詳細に説明する。
【００２１】
メインコントローラ部200内部のシステム制御部210は、内部にＣＰＵを持ち、スキャナ部110を用いたスキャン処理や、プリンタ部140を用いたプリント処理を制御する。また、システム制御部210は、それら処理を行うための画像データの転送を、画像リングバススイッチ220を介して行う。さらに、システム制御部210は、ネットワーク150へのデータ送信やネットワーク150からのデータ受信、操作部130への表示処理などシステム全体を統括制御する。また、システム制御部210は、電源供給部290を制御しており、制御詳細は後述する。
【００２２】
次に、画像リングバススイッチ220は、画像データをコントローラ内部の各ブロックへ転送するための画像リングバスのスイッチ制御を行っている。本実施例では、各部へ画像データを転送するためのデータ線が、画像リングバススイッチ220を介して、リング状につながっている。これにより、システム制御部210とプリント処理部230、ループバック処理部240、スキャン処理部250、リングバス外部インタフェース280は、画像データを授受しあうことが可能になっている。画像リングバススイッチ220は、必要に応じて、このリングバスの接続先を変更するためのスイッチであり、スイッチ制御の詳細は後述する。
【００２３】
プリント処理部230は、プリンタ部140で画像データを印字するための色空間変換処理や中間長処理、ガンマ補正など各種画像処理を備えている。プリント処理部230は、画像リングバススイッチ220から画像データを受け取り、画像データにそれら画像処理を施した後に画像データをプリンタ部140へ出力するものである。
【００２４】
ループバック処理部240は、プリント処理とスキャン処理のどちらでも利用する可能性がある画像処理を実施するブロックである。ループバック処理部240は、システム制御部210からリングバスを介して画像データを受け取り、内部の画像処理を施した後に、システム制御部210へリングバスを介して画像データを戻す。内部の画像処理に関しては後述する。
【００２５】
スキャン処理部250は、スキャナ部110で読み取った画像データに施すシェーディング補正処理やＭＴＦ補正処理、入力ガンマ補正やフィルタ処理といった画像処理を備えている。スキャン処理部250は、スキャナ部110から転送されてきた画像データにこれら画像処理を施した後に、画像データを画像リングバススイッチ220へ転送する。画像リングバススイッチ220へ転送された画像データは、リングバスを介してシステム制御部210へ転送される。
【００２６】
ＲＡＭコントローラ260は、プリント処理部230、ループバック処理部240、スキャン処理部250からそれぞれ画像データを受け取り、ＲＡＭ270へ一時的に書き込む制御を行う。また、ＲＡＭコントローラ260は、各部からの指示に従ってＲＡＭ270へ書き込んだ画像データを読み取り、各部へ転送する処理を行う。プリント処理部230、ループバック処理部240、スキャン処理部250は、それぞれ内部に抱えている画像処理を実行するためや、画像データの並びを変更するために、ＲＡＭ270を一時的な画像バッファとして利用している。また、このときＲＡＭコントローラ260とＲＡＭ270間の転送路には、プリント処理部230、ループバック処理部240、スキャン処理部250それぞれの画像データが多重化して行き交う。そのため、この転送路の転送処理性能（メモリ帯域性能）を上回るデータ転送が要求されると、転送待ち状態が発生する。よって、ＲＡＭコントローラ260とＲＡＭ270間のデータ転送がこのメインコントローラ部200の処理能力のボトルネックになるケースが多々発生する。
【００２７】
次に、リングバス外部インタフェース280は、画像リングバススイッチ220を中心としたメインコントローラ部200のリングバスと、メインコントローラ部200の外部を接続するインタフェースである。メインコントローラ部200は、このインタフェースを介してメインコントローラ部200のリングバスのデータを、外部と送受信することが可能になっている。本実施例では、メインコントローラ部200は、リングバス外部インタフェース280を介して拡張コントローラ部201と接続されている。
【００２８】
拡張コントローラ部201は、コントローラ部120の処理を高速化するための拡張ブロックである。ここでは一例として、拡張コントローラ部201は、メインコントローラ部200と同様の構成としている。このような構成をとることで、メインコントローラ部200と別に拡張コントローラ部を設計する開発コストを抑えることができる。よって、拡張コントローラ部201内部のシステム制御部211、画像リングバススイッチ221、プリント処理部231、ループバック処理部241、スキャン処理部251、ＲＡＭコントローラ261、ＲＡＭ271、リングバス外部インタフェース281の機能は、メインコントローラ部200のシステム制御部210、画像リングバススイッチ220、プリント処理部230、ループバック処理部240、スキャン処理部250、ＲＡＭコントローラ260、ＲＡＭ270、リングバス外部インタフェース280の機能と同様である。
【００２９】
また、本実施例において、拡張コントローラ部201内部のプリント処理部231、ループバック処理部241、スキャン処理部251の中で実際に拡張機能として使用されるのはループバック処理部241である。これは、プリント処理部231やスキャン処理部251を使用すると、プリンタ部140、スキャナ部110の接続をメインコントローラ部200から拡張コントローラ部201へ変更する必要が発生し、コントローラ部120の構成が複雑化してしまうためである。よって、ループバック処理部241を使用する場合において、動作させる必要のないシステム制御部211、プリント処理部231、スキャン処理部251は図２において網掛けしている。図２のこれら網掛けされたブロックはクロックの供給を停止させた省電力状態としてもよい。
【００３０】
電源供給部290は、メインコントローラ部200と拡張コントローラ部201の電力供給を制御するブロックである。電源供給部290は、メインコントローラ部200と拡張コントローラ部201へ個別に電力を供給可能である。画像形成装置100の電源がＯＮされると、電源供給部290はコントローラ部120内部で、メインコントローラ部200のみに電力供給を開始する。拡張コントローラ部201への電力供給は、メインコントローラ部200内部のシステム制御部210からの指示に従って制御される。よって、電源供給部290は、システム制御部210からの供給指示があった場合にのみ拡張コントローラ部201へ電力供給を行い、供給停止指示があった場合には、拡張コントローラ部201への電力供給を停止させる。
【００３１】
＜システム制御部＞
図３は、システム制御部210の構成を例示するブロック図である。
システム制御部210の内部を構成する各ブロックは、システムバス300によって接続されている。
【００３２】
ＣＰＵ310は、システム全体を制御するプロセッサである。ＣＰＵ310は、ＲＡＭ331に展開されたＯＳ（オペレーティングシステム）や制御プログラムに従ってプリント処理やスキャン処理といったジョブに関わる処理を統括的に制御する。
【００３３】
ＲＯＭコントローラ320は、システムのブートプラグラムを格納しているＲＯＭ321にアクセスするための制御モジュールである。画像形成装置100の電源がＯＮされた時に、ＣＰＵ310はＲＯＭコントローラ320を介してＲＯＭ321にアクセスし、ＣＰＵ310がブートする。
【００３４】
ＲＡＭコントローラ330は、システムの制御プログラムや画像データが格納されるＲＡＭ331にアクセスするための制御モジュールである。ＲＡＭコントローラ330は、ＲＡＭ331の設定や制御を行うためのレジスタを備えており、このレジスタは、ＣＰＵ310からアクセス可能である。
【００３５】
操作部インタフェース340は、ユーザが操作部130を操作した操作指示の受付及び操作結果の表示の制御を行う。
【００３６】
ＨＤＤ361はハードディスクドライブであり、システムソフトウェアやアプリケーションプログラム、画像データと各画像データに対応するページ情報やジョブ情報を格納する。ＨＤＤ361は、ＨＤＤコントローラ360を介してシステムバス300に接続されており、ＣＰＵ310の指示に従ってデータを読み込み、または書き込みを行う。
【００３７】
ＬＡＮコントローラ370は、ＰＨＹ（Physical Layer）371を介してネットワーク150に接続し、外部のホストコンピュータと画像データなどの情報の入出力を行う。
モデム372は、図示しない公衆回線に接続し、ＦＡＸ送信やＦＡＸ受信ジョブを行う際に外部のＦＡＸ機器とデータ通信を行う。
【００３８】
画像圧縮部350は、ＲＡＭ331またはＨＤＤ361に格納される画像データをＪＰＥＧフォーマットに圧縮処理する。画像伸張部351はＪＰＥＧフォーマットに圧縮された画像データを伸張処理する。
【００３９】
レンダリング部352は、ネットワーク150からＬＡＮコントローラ370を経由し、外部装置から受信した画像データ（ＰＤＬコード）をビットマップデータに展開する。プリント機能で使用される。なお、ＰＤＬは、Page Description Languageを示す。
【００４０】
電源制御部380は、自身が含まれるコントローラ部（メインコントローラ部200又はコントローラ部201）内部の各ブロックに対して、未使用ブロックへのクロック供給を止めるなどの省電力制御を行う。例えば、拡張コントローラ部201のシステム制御部211内部の電源制御部は、システム制御部211やプリント処理部231、スキャン処理部251といった未使用ブロックのクロック供給を停止させ、省電力状態としている。電源制御部は、自身がメインコントローラ部200内部にあるか拡張コントローラ部201内部にあるかを判断するために、図示しない識別信号を外部から入力されている。例えば、この識別信号が「Ｌｏｗ」状態であれば、電源制御部はメインコントローラ部200内部であると判断する。また、この識別信号が「Ｈｉｇｈ」状態であれば、電源制御部は拡張コントローラ部201内部であると判断する。
【００４１】
ＧＰＩＯ制御部390は、コントローラ内部に備えられているＧＰＩＯ（汎用ＩＯポート）を制御するブロックである。ＧＰＩＯ制御部390は、ＣＰＵ310によって制御され、ＧＰＩＯの状態を制御する。本実施例では、ＧＰＩＯ制御部390から出力されるＧＰＩＯ信号は、システム制御部210の外部へ出力され、コントローラ部120内部の電源供給部290へ接続されている。電源供給部290では、このＧＰＩＯ信号が「Ｌｏｗ」の状態であるとき拡張コントローラ部201への電力供給を停止し、「Ｈｉｇｈ」の状態であるときに拡張コントローラ部201への電力供給を行う。これにより、ＣＰＵ310は拡張コントローラ部201への電力供給を制御することが可能となる。なお、ＧＰＩＯ信号の初期状態は「Ｌｏｗ」である。
【００４２】
画像リングインタフェース301は、システム制御部210内部のシステムバス300と、システム制御部210外部の画像リングバススイッチを中心としたリングバスとを接続するインタフェースブロックである。リングバスを流れるデータをパケットデータと呼ぶ。画像リングインタフェース301は、ＲＡＭ331またはＨＤＤ361に格納されたパケットデータをリングバスへ送信する。また、画像リングインタフェース301は、リングバスから受信したパケットデータを、ＲＡＭ331またはＨＤＤ361に格納する。ここで、図６を用いて、パケットデータについて詳細に説明する。
【００４３】
図６は、本実施例のリングバスを流れるパケットデータの構成を例示する図である。
図６に示すように、パケットデータ600は、ヘッダ部610とデータ部620に大きく分かれている。ヘッダ部610は、601〜608までに図示する情報にさらに分割される。
【００４４】
パケットタイプ601は、本パケットが画像データかコマンドかを示すものである。パケットタイプ601が画像データを示す場合には、データ部620には画像データが格納されている。また、パケットタイプ601がコマンドを示す場合には、データ部620には各画像処理部の係数やモードなどを設定するための設定アドレスと設定値を示すデータが格納されている。
【００４５】
チップＩＤ602は、パケットデータを送信するターゲットとなる処理部を識別するためのＩＤ（識別子）を示す。例えばＩＤが「０」ならばプリント処理部230を、ＩＤが「１」ならばループバック処理部240を、ＩＤが「２」ならばスキャン処理部250を示し、ＩＤが「３」ならば拡張コントローラ部201内部のループバック処理部241を示す。
【００４６】
ページＩＤ603は、パケットの属するページ番号を示す。スキャンやプリントといった処理は、複数ページ分実施される場合があり、その場合の何ページ目に属するパケットかを示すものである。
【００４７】
ジョブＩＤ604は、パケットの属するジョブ番号（ジョブ識別子）を示している。例えば、スキャンジョブとプリントジョブが同時に実施される場合には、スキャンジョブのパケットにはジョブ番号「１」が振られ、プリントジョブのパケットにはジョブ番号「２」が振られ、ジョブを識別することが可能になっている。
【００４８】
パケットＹ座標605は、データ部620に画像データが格納されている場合に、その画像データがページ内のどのＹ座標に位置するかを示す。パケットＸ座標606は、データ部620に画像データが格納されている場合に、その画像データがページ内のどのＸ座標に位置するかを示す。データ部620に格納される画像データは、ページ単位の画像データを所定の画素数（例えば、３２画素×３２画素）の矩形サイズに分割したものである。よって、パケットデータからページデータを再生成する場合に、本座標データ（パケットＹ座標605及びパケットＸ座標606）が参照される。なお、この画像データは、画像圧縮部350または各画像処理部の内部に実装されている圧縮器によって圧縮されており、圧縮画像データとしてデータ部620に格納されている。
【００４９】
パケットバイト長607は、パケットのトータルバイト数を示す。
データバイト長608は、データ部620のトータルバイト数を示す。
リングバスには、以上説明したようなパケットデータが流れ、各画像処理部はパケットデータを受信、解釈する。そして、各画像処理部は、コマンドを示すパケットであれば、該コマンドに基づいて、処理のモードや係数などを設定する。また、各画像処理部は、画像データ示すパケットであれば、該画像データに対して画像処理を実施する。
【００５０】
次に、プリント処理部230、ループバック処理部240、スキャン処理部250について図４を用いて詳細に説明する。
図４は、プリント処理部230、ループバック処理部240、スキャン処理部250の内部構成を例示する図である。
【００５１】
＜プリント処理部＞
図４（ａ）は、プリント処理部230の内部構造を示す。
パケット入出力Ｉ／Ｆ400は、パケットデータを受信すると、該パケットデータのヘッダ部610のチップＩＤ602を参照し、自身に割り振られたチップＩＤと同一かどうかをチェックする。チップＩＤ602の示すＩＤが自身に割り振られたチップＩＤと異なる場合、パケット入出力Ｉ／Ｆ400は、自身の画像処理部で処理すべきパケットデータではないと判断して、次の画像処理部にパケットデータを転送する。一方、チップＩＤ602の示すＩＤが自身に割り振られたチップＩＤと同一である場合、パケット入出力Ｉ／Ｆ400は、パケットが画像データであれば内部の画像処理パス（伸張器401、パケットラスタ変換部402、プリンタ画像処理部403）を通し、画像処理を実行する。また、パケットがコマンドであれば、パケット入出力Ｉ／Ｆ400は、該パケットデータのデータ部620に格納されている設定アドレスと設定値を参照し、指定された画像処理部の係数やモードを設定する。
【００５２】
伸張器401は、パケット入出力Ｉ／Ｆ400から入力されてきた圧縮された画像データを伸張し、後段の画像処理を実施可能な画素状態に復元する。パケットラスタ変換部402は、伸張された画素データを伸張器401から受け取り、ラスタ画像データに変換する。前述したように、パケット内の画像データは、３２画素×３２画素の矩形である。電子写真方式の画像形成装置であれば、プリンタ部140内での印字処理は、ラスタ順（ライン順次）で行われるため、このパケットラスタ変換部402で画像データの画素の並びをラスタ順に変換している。また、本実施例では、パケットラスタ変換部402は、画像データを３２画素×３２画素の矩形からラスタ順に変換するための一時バッファとしてＲＡＭ270を使用しており、ＲＡＭコントローラ260を介してＲＡＭ270にアクセスする。
【００５３】
プリンタ画像処理部403は、パケットラスタ変換部402からラスタ順に変換された画像データを受け取り、プリンタ部140で画像データを印字するための前処理としての画像処理を行う。この画像処理は、具体的には、ＲＧＢをＣＭＹＫに変換する色空間変換処理やディザ法や誤差拡散法による中間長処理、ガンマ補正などである。画像処理後の画像データはプリンタ部140へ出力される。また、プリンタ画像処理部403は、プリンタ部の起動および給紙部142からの記録紙からの給紙に合わせてプリンタ部140から画像データを出力する必要がある。そのため、プリンタ画像処理部403は、そのタイミングまでの待ち合わせ用のバッファとしてＲＡＭコントローラ260を介して、ＲＡＭ270へ画像データを一時的に書き込む。そして、プリンタ画像処理部403は、記録紙の給紙のタイミングに同期させＲＡＭ270から画像データを読み込み、プリンタ部140へ出力する。
【００５４】
＜ループバック処理部＞
図４（ｂ）は、ループバック処理部240の内部構造を示す。
パケット入出力Ｉ／Ｆ410は、パケットデータを受信すると、該パケットデータのヘッダ部610のチップＩＤ602を参照し、自身に割り振られたチップＩＤと同一かどうかをチェックする。チップＩＤ602の示すＩＤが自身に割り振られたチップＩＤと異なる場合、パケット入出力Ｉ／Ｆ410は、自身の画像処理部で処理すべきパケットデータではないと判断して、次の画像処理部にパケットデータを転送する。一方、チップＩＤ602の示すＩＤが自身に割り振られたチップＩＤと同一である場合、パケット入出力Ｉ／Ｆ410は、パケットが画像データであれば内部の画像処理パス（伸張器411からループバック画像処理部412）を通し、画像処理を実行する。そして、画像処理後の画像データを圧縮器413から受け取ると、パケット入出力Ｉ／Ｆ410は、画像データにヘッダを付与し、パケットデータとして整形し、システム制御部210へパケットデータを送信する。また、パケットがコマンドであれば、パケット入出力Ｉ／Ｆ410は、該パケットデータのデータ部620に格納されている設定アドレスと設定値を参照し、指定された画像処理部の係数やモードを設定する。
【００５５】
伸張器411は、パケット入出力Ｉ／Ｆ410から入力されてきた圧縮された画像データを伸張し、後段の画像処理を実施可能な画素状態に復元する。
圧縮器413は、ループバック画像処理部412から入力されてきた処理済みの画像データを圧縮し、後段のパケット入出力Ｉ／Ｆ410へ出力する。圧縮器413は、伸張器411で伸張された画像データを再圧縮するために用いられる。
【００５６】
ループバック画像処理部412では、伸張器411から画像データを受け取り、ループバック処理部240に備えられている画像処理を行い、圧縮器413は、画像処理済みの画像データを圧縮器413に渡す。本機能は、プリント処理とスキャン処理のどちらでも利用することが可能であり、拡張コントローラ部201内部でも同様の機能が使用されるものである。ここで、ループバック画像処理部412の詳細を図７を用いて説明する。
【００５７】
＜ループバック画像処理部詳細＞
図７は、ループバック画像処理部412の詳細を例示する図である。
セレクタ700は、伸張器411または圧縮器413から入出力される画像データを、内部のどの画像処理部（710〜714）に接続するかを選択しているセレクタである。本セレクタは、画像データが送信されてくる前に、ＣＰＵ310よりコマンドパケットによって設定されるものであり、画像データが送信されるときには接続先は決定している。
【００５８】
回転処理部710は、画像データを回転する処理を実施する。回転処理部710は、例えば、Ａ４縦でスキャンされた画像をＡ４横にして電子化するために使用され、またＡ４横の画像をプリントする場合に、給紙部142にセットされている記録紙がＡ４横でなくＡ４縦であった場合に画像を回転させるために使用される。
【００５９】
２値化処理部711は、入力された多値（例えばＲＧＢ８ビット諧調）を誤差拡散法などで２値化する処理を実施する。２値化処理部711は、例えばスキャンした画像をＦＡＸ送信する場合に２値化するために使用される。
【００６０】
色空間変換部712は、ＲＧＢ画像をＹＵＶ画像に変換したり、またＹＵＶ画像をＲＧＢ画像に変換する処理を実施する。
解像度変換部713は、入力された画像の解像度を変換する処理を実施する。解像度変換部713は、例えばＦＡＸ送信であれば、スキャンされた高解像度の画像をＦＡＸ送信で使用する低解像度に変換するために使用される。また、解像度変換部713は、ＦＡＸ受信プリントであれば、受信した低解像度の画像をプリント用に高解像度化するために使用される。
【００６１】
画像合成部714は、印刷すべき画像データにページ印字（ナンバリング）や部数印字、地紋といった合成データを合成する処理を実施する。画像形成装置を使用するユーザによっては、セキュリティに関わる地紋印字といった合成処理を常に使用することがあり、合成処理を常に使用したとしても性能が低下しないことが望まれる。
【００６２】
インターコネクト720は、２値化処理部711と解像度変換部713と画像合成部714とＲＡＭコントローラ260を接続するインターコネクトである。２値化処理部711と解像度変換部713は、３２画素×３２画素の矩形のままで画像処理することが困難であり、一度ＲＡＭ270を使用して画像データをラスタ順に変換してから画像処理を実施している。２値化処理部711は、誤差拡散法を順次画素に適用していくためにラスタ順に画素が入力されることが望ましい。また、解像度変換部713も、例えばバイキュービック法で変換する場合にフィルタ処理を行う必要があるため、一度ラスタ順に変換し、内部のラインバッファで画素を蓄積し、フィルタ処理を行うことが望ましい。また、画像合成部714は、パケットとして送信されてくる合成データと、同じくパケットとして送信されてくる画像データとを待ち合わせるための一時バッファとしてＲＡＭ270を利用している。以上説明したように、ループバック画像処理部412は様々なジョブで利用される。
【００６３】
＜スキャナ処理部＞
図４（ｃ）は、スキャン処理部250の内部構造を示す。
パケット入出力Ｉ／Ｆ420は、パケットデータを受信すると、該パケットデータのヘッダ部610のチップＩＤ602を参照し、自身に割り振られたチップＩＤと同一かどうかをチェックする。チップＩＤ602の示すＩＤが自身に割り振られたチップＩＤと異なる場合、パケット入出力Ｉ／Ｆ420は、自身の画像処理部で処理すべきパケットデータではないと判断して、次の画像処理部にパケットデータを転送する。一方、チップＩＤ602の示すＩＤが自身に割り振られたチップＩＤと同一である場合、パケット入出力Ｉ／Ｆ420は、パケットがコマンドであれば、データ部620に格納されている設定アドレスと設定値を参照し、指定された画像処理部の係数やモードを設定する。
なお、スキャン処理部250は、画像データはスキャナ部110からのみ入力されるため、受信したパケットが画像データを示すことなない。
【００６４】
圧縮器421はラスタパケット変換部422から入力されてきた画像データを圧縮し、後段のパケット入出力Ｉ／Ｆ420へ出力する。圧縮処理は、パケット入出力Ｉ／Ｆ420で送信するパケットデータの画像データを圧縮するために行われる。
【００６５】
ラスタパケット変換部422は、スキャン画像処理部423から入力された画素データを３２画素×３２画素の矩形の画像データに変換する。前述したようにパケット内の画像データは３２画素×３２画素の矩形であるため後段のパケット送信のために矩形に変換している。スキャナ部110内でのスキャン処理は、ライン型のイメージセンサを用いてラスタ順（ライン順次）で行われるため、このラスタパケット変換部422で画像データの画素の並びを矩形に変換している。また、本実施例では、画像データをラスタ順から３２画素×３２画素の矩形に変換するための一時バッファとしてＲＡＭ270を使用しており、ラスタパケット変換部422はＲＡＭコントローラ260を介してＲＡＭ270にアクセスする。
【００６６】
スキャン画像処理部423は、スキャナ部110から画像データを受け取り、シェーディング補正処理やＭＴＦ補正処理、入力ガンマ補正やフィルタ処理といった画像処理を行う。画像処理後の画像データは、ラスタパケット変換部422へ出力される。また、スキャン画像処理部423は、スキャナ部110でのイメージセンサを用いたスキャン動作を停止させないために、入力される画像データの入力転送速度に間に合うように画像データを受信する必要がある。一方で、パケット入出力Ｉ／Ｆ420によるパケット送信は、各画像処理部のパケット送信と自身のパケット送信のタイミングが重なった場合、送信を待たされることがあり、送信速度は安定しない。そのため、スキャン画像処理部423は、送信タイミングまでの一時的な干渉用の画像バッファとしてＲＡＭコントローラ260を介して、ＲＡＭ270へ画像データを一時的に書き込む。そして、スキャン画像処理部423は、パケット送信のタイミングに同期させ、ＲＡＭ270から画像データを読み込み、ラスタパケット変換部422へ画像データを送信する。
【００６７】
＜画像リングバススイッチ＞
図５は、画像リングバススイッチ220の構成を例示するブロック図である。
図５に示すように、画像リングバススイッチ220は、内部にスイッチ501〜スイッチ506を持つ。画像リングバススイッチ220は、プリント処理部230とループバック処理部240とスキャン処理部250、およびリングバス外部インタフェース280のそれぞれの接続を目的に合わせて変更する。
【００６８】
スイッチ501は、ＣＰＵ310からの指示に従って、リングバス外部インタフェース280から入力されたパケットデータを、ループバック処理部240へ出力するか、スキャン処理部250へ出力するかを切り替える。
【００６９】
スイッチ502は、ＣＰＵ310からの指示に従って、リングバス外部インタフェース280へ出力するパケットデータを、プリント処理部230から入力されたデータにするか、ループバック処理部240から入力されたデータにするかを切り替える。
【００７０】
スイッチ503は、ＣＰＵ310からの指示に従って、プリント処理部230から入力されたパケットデータを、ループバック処理部240へ出力するか、リングバス外部インタフェース280へ出力するかを切り替える。
【００７１】
スイッチ504は、ＣＰＵ310からの指示に従って、ループバック処理部240へ出力するパケットデータを、プリント処理部230から入力されたデータにするか、リングバス外部インタフェース280から入力されたデータにするかを切り替える。
【００７２】
スイッチ505は、ＣＰＵ310からの指示に従って、ループバック処理部240から入力されたパケットデータを、スキャン処理部250へ出力するか、リングバス外部インタフェース280へ出力するかを切り替える。
【００７３】
スイッチ506は、ＣＰＵ310からの指示に従って、スキャン処理部250へ出力するパケットデータを、ループバック処理部240から入力されたデータにするか、リングバス外部インタフェース280から入力されたデータにするかを切り替える。
【００７４】
＜画像リングバススイッチ制御＞
図８Ａ〜図８Ｃは、実施例１における画像リングバススイッチ220の具体的な接続制御を説明するための図である。以下、図８Ａ〜図８Ｃを用いて詳細に説明する。
【００７５】
図８Ａは、リングバス外部インタフェース280を介してメインコントローラ部200から拡張コントローラ部201へパケットデータを送信しない場合の接続制御例である。このとき、スイッチ501およびスイッチ502には、パケットデータは流れず、未使用状態になる（図中では網掛けしている）。
【００７６】
スイッチ503は、プリント処理部230から入力されるパケットデータをスイッチ504（ループバック処理部240側）へ出力するよう制御されている。スイッチ504は、スイッチ503（プリント処理部230側）から入力されるパケットデータをループバック処理部240へ出力するよう制御されている。スイッチ505は、ループバック処理部240から入力されるパケットデータをスイッチ506（スキャン処理部250側）へ出力するよう制御されている。スイッチ506は、スイッチ505（ループバック処理部240側）から入力されるパケットデータをスキャン処理部250へ出力するよう制御されている。
【００７７】
このように画像リングバススイッチ220を制御することで、システム制御部210を起点として、パケットデータは、プリント処理部230、ループバック処理部240、スキャン処理部250へと順次回り、システム制御部210へと戻る。このような接続制御は、拡張コントローラ部201を使用しない場合に実施される。
【００７８】
図８Ｂは、リングバス外部インタフェースを介してメインコントローラ部200から拡張コントローラ部201へパケットデータを送信する場合の接続制御例である。このときスイッチ504およびスイッチ505にはパケットデータは流れず、未使用状態になる（図中では網掛けしている）。
【００７９】
スイッチ503は、プリント処理部230から入力されるパケットデータをスイッチ502（リングバス外部インタフェース280側）へ出力するよう制御されている。スイッチ502は、スイッチ503（プリント処理部230側）から入力されるパケットデータをリングバス外部インタフェース280へ出力するよう制御されている。
【００８０】
スイッチ501は、リングバス外部インタフェース280から入力されるパケットデータをスイッチ506（スキャン処理部250側）へ出力するよう制御されている。スイッチ506は、スイッチ501（リングバス外部インタフェース280側）から入力されるパケットデータをスキャン処理部250へ出力するよう制御されている。
【００８１】
このように画像リングバススイッチ220を制御することで、システム制御部210を起点としてパケットは、プリント処理部230、リングバス外部インタフェース280、スキャン処理部250へと順次回り、システム制御部210へと戻る。このような接続制御は、拡張コントローラ部201を使用する場合に実施される。このようにメインコントローラ内部のループバック処理部240を使用しないことによって、ＲＡＭ270へのデータ転送路の混雑が緩和され、メインコントローラの性能の低下を防ぐことが可能となる。
【００８２】
図８Ｃは、拡張コントローラ部201内部でパケットデータを処理する場合の画像リングバススイッチ221の接続制御例である。このときスイッチ503およびスイッチ506にはパケットデータは流れず、未使用状態になる（図中では網掛けしている）。
【００８３】
スイッチ501は、リングバス外部インタフェース281から入力されるパケットデータをスイッチ504（ループバック処理部241側）へ出力するよう制御されている。スイッチ504は、スイッチ501（リングバス外部インタフェース281側）から入力されるパケットデータをループバック処理部241へ出力するよう制御されている。
【００８４】
スイッチ505は、ループバック処理部241から入力されるパケットデータをスイッチ502（リングバス外部インタフェース281側）へ出力するよう制御されている。
【００８５】
このように、画像リングバススイッチ221を制御することで、拡張コントローラ部201へ入力されてきたパケットデータは、ループバック処理部241へと回り、メインコントローラ部200へと戻る。なお、パケットはメインコントローラ部200からリングバス外部インタフェース280および281を介して送信されてくる。このような接続制御は拡張コントローラ部201内部で実施される。
【００８６】
＜制御フローチャート＞
図９は、実施例１における画像形成装置のジョブ処理の流れを示すフローチャートである。本フローチャートを実行することで、ジョブ処理状態に合わせた必要最低限のコントローラの動作時消費電力とすることが可能となる。本フローチャートの処理は、ＨＤＤ361又はＲＯＭ321等の記憶装置に格納されたプログラムに従って、ＣＰＵ310がスキャナ部110、コントローラ部120、プリンタ部140を制御することで実行される。
【００８７】
まずS101において、ＣＰＵ310は、ジョブの入力を受け付ける。例えば、スキャンジョブやＦＡＸ送信ジョブであれば、操作部130をユーザが操作したことを、操作部インタフェース340を介してＣＰＵ310が検知し、ジョブの入力を受け付ける。プリントジョブであればネットワーク150およびＬＡＮコントローラ370経由でＣＰＵ310がホストコンピュータからのジョブの入力を受け付ける。また、ＦＡＸ受信ジョブであれば公衆回線およびモデム372を介してＣＰＵ310はジョブの入力を受け付ける。ジョブを受け付けたと判断した場合（S101でYESの場合)、ＣＰＵ310は、S102に処理を進める。
【００８８】
S102において、ＣＰＵ310は、上記S101で受け付けたジョブによって内部で使用される画像処理機能をチェックする。具体的には、ＣＰＵ310は、プリント処理部230、ループバック処理部240、スキャン処理部250のどの処理部が受け付けたジョブによって使用されるかをチェックしている。ここで、ジョブとそのジョブで使用される処理の例について図１０を用いて説明する。
【００８９】
図１０は、ジョブとそのジョブで使用される処理を例示する図である。
例えば、受信ジョブ１として「ＦＡＸ送信ジョブ」を受け付けた場合、まず、ジョブＩＤとして「０」番が該ＦＡＸ送信ジョブに対して振られる。そして、ＦＡＸ送信ジョブでは、ＦＡＸ送信のためにスキャナ部110を用いたスキャン処理を実行するために、スキャン処理部250が使用される。また、ＦＡＸ送信ジョブでは、スキャンした画像データに対してＦＡＸ送信可能なフォーマットに変換するために、ループバック画像処理部412が使用される。ループバック画像処理部412で実行される画像処理は、具体的には、２値化処理部711による送信画像の２値化および解像度変換部713によるＦＡＸ送信可能な解像度への変換処理である。また、ＦＡＸ送信ジョブでは、プリント処理部230およびプリンタ部140は使用されない。
【００９０】
次に、受信ジョブ２として「プリントジョブ」を受け付けた場合、前ジョブの連番としてジョブＩＤに「１」番が該プリントジョブに対して振られる。そして、プリントジョブでは、プリンタ部140を用いたプリント処理を実行するためプリント処理部230が使用される。また、例えばホストコンピュータから送付されてきたプリントすべき画像データと給紙部142にセットされている記録紙の向きが異なる場合は、ループバック画像処理部412の回転処理部710が使用され画像データの向きが回転される。また、例えば、地紋などのデータを画像データに合成する指示があった場合は、ループバック画像処理部412の画像合成部714が使用され画像データに地紋データが合成される。また、プリントジョブでは、スキャン処理部250およびスキャナ部110は使用されない。
【００９１】
以下、フローチャートの説明に戻る。
S103において、ＣＰＵ310は、上記S102でチェックした使用する機能の中に拡張可能な機能があるかどうかを判断する。本実施例では、図２に示したように拡張可能な機能とは拡張コントローラ部201のループバック処理部241内部にあるループバック画像処理の機能である。例えば、図１０に示した２つのジョブであれば、ループバック処理部が使用されているので「拡張可能な機能の使用がある」と判断される。
【００９２】
上記S103において、拡張可能な機能の使用がないと判断した場合（S103でNOの場合）、ＣＰＵ310は、S105に処理を進める。一方、拡張可能な機能の使用があると判断した場合（S103でYESの場合）、ＣＰＵ310は、S104に処理を進める。
【００９３】
S104において、ＣＰＵ310は、上記S102にて使用があると判定された機能をメインコントローラ部200ですでに使用中でないかどうかを判断する。すでに使用中の状態とは、上記S101でジョブを受け付ける以前に別のジョブを受け付けている場合で、さらにそのジョブを現在処理中であって、そのジョブの中で現在拡張可能な機能をメインコントローラ部200内で使用中の状態であることを示す。画像形成装置100は、一般的に複数のジョブを同時に受け付けることが可能であり、このようにジョブが重なる状態をジョブ競合状態と呼ぶ。ジョブ競合状態とは、例えば画像形成装置100がプリントジョブとＦＡＸ送信ジョブを重なるように受け付けた場合に発生する。
【００９４】
上記S104において、メインコントローラ部200で使用していないと判断した場合（S104でNOの場合）、ＣＰＵ310は、S105へ処理を進める。
【００９５】
S105において、ＣＰＵ310は、画像リングバススイッチ220をメインコントローラ部200内部で使用する状態に設定する。S105はメインコントローラ部200内部で拡張可能な機能を使用していないと判断された場合に実施されるため、図８Ａで示したように拡張コントローラ部201を使用しないよう画像リングバススイッチ220を設定する。また、図２で説明したように、電源供給部290は、画像形成装置の電源がＯＮされるとメインコントローラ部200のみに電力供給をしている。よって、拡張コントローラ部201は、電源起動時に電力が供給されない省電力状態となっており、動作しない状態である。しかしながら、画像リングバススイッチ220の設定によりパケットデータは拡張コントローラ部201に転送されないため、問題は発生しない。
上記S105の後、ＣＰＵ310は、S109に処理を進める。
【００９６】
また、上記S104において、上記S102にて使用があると判定された機能をメインコントローラ部200ですでに使用中であると判断した場合（S104でYESの場合）、ＣＰＵ310は、S106へ処理を進める。
【００９７】
S106において、ＣＰＵ310は、拡張コントローラ部201の電源をＯＮする。具体的には、ＣＰＵ310は、ＧＰＩＯ制御部390を制御し、コントローラ部120内部の電源供給部290へ接続されているＧＰＩＯ信号を「Ｈｉｇｈ」状態に変更する。これにより電源供給部290はＧＰＩＯ信号の変化を検出し、拡張コントローラ部201への電力供給を開始する。
【００９８】
次に、S107において、ＣＰＵ310は、リングバス外部インタフェース280を介してメインコントローラ部200から拡張コントローラ部201へパケットデータを送信可能な状態に画像リングバススイッチ220を設定する。具体的な設定は、図８Ｂで示したものとなる。S107はメインコントローラ部200内部で拡張可能な機能をすでに使用中であると判断された場合に実施されるため、図８Ｂで示したように拡張コントローラ部201を使用できるよう画像リングバススイッチ220を設定する。
【００９９】
次に、S108において、ＣＰＵ310は、拡張コントローラ部201の初期設定を実行する。初期設定とは、画像リングバススイッチ221およびループバック処理部241およびＲＡＭコントローラ261の設定である。画像リングバススイッチ221は、図８Ｃに示したように制御される。本実施例では、ＣＰＵ310はパケットタイプ601がコマンドを示すパケットデータを拡張コントローラ部201へ送信することで拡張コントローラ部201の設定をする。
上記S108の後、ＣＰＵ310は、S109に処理を進める。
【０１００】
S109において、ＣＰＵ310は、画像形成装置100の各部を制御し、上記S101で受け付けたジョブを実行する。上記S105が実施されていれば、ジョブはコントローラ部120内部において、メインコントローラ部200のみを用いて実行され、このとき拡張コントローラ部201には電源は供給されていない。一方、上記S106〜S108が実行されていれば、ジョブはコントローラ部120内部において、メインコントローラ部200および拡張コントローラ部201双方を用いて実行される。
【０１０１】
次に、S110において、ＣＰＵ310は、上記S109で実行しているジョブが終了したか否かを判定する。ジョブが終了していないと判定した場合（S110でNOの場合）、ＣＰＵ310は、ジョブが終了するまで待つ。そして、ジョブが終了したと判定した場合（S110でYESの場合）、ＣＰＵ310は、S111に処理を進める。
【０１０２】
S111において、ＣＰＵ310は、上記S110のジョブ終了によってジョブの競合状態が解除されたかどうかを判定する。例えば、ＦＡＸ送信ジョブとプリントジョブによってジョブ競合状態が発生していた場合に、どちらか一方が終了したならばジョブ競合状態は解除されたと判定される。また、そのようなジョブ競合状態でどちらか一方が終了しても、さらに次の競合するジョブをすでに受け付けていた場合などはジョブの競合状態は解除とならない。
【０１０３】
上記S111において、ジョブ競合状態が解除されないと判定した場合（S111でNOの場合）、ＣＰＵ310は、本フローチャートの処理を終了する。
一方、上記S111において、ジョブ競合状態が解除されたと判定した場合（S111でYESの場合）、ＣＰＵ310は、S112に処理を進める。
【０１０４】
S112において、ＣＰＵ310は、拡張コントローラ部201の電源をＯＦＦする。具体的には、ＣＰＵ310は、ＧＰＩＯ制御部390を制御し、コントローラ部120内部の電源供給部290へ接続されているＧＰＩＯ信号を「Ｌｏｗ」状態に変更する。これにより、電源供給部290はＧＰＩＯ信号の変化を検出し、拡張コントローラ部201への電力供給を停止する。なお、拡張コントローラ部201を用いたジョブの処理が終了していない場合には、該処理が完了するまで待機するものとする。すなわち、拡張コントローラ部201でジョブの処理が終了し、コントローラ部120でこれから処理する又は現在処理しているジョブが多くとも１つの場合には、拡張コントローラ部201への電力供給を停止する。これにより拡張コントローラ部201は再び省電力状態へと戻る。また、ＣＰＵ310は、拡張コントローラ部201の電源ＯＦＦに合わせて画像リングバススイッチ220を拡張コントローラ部201を使用しない図８Ａの状態に戻す。
上記S112の後、ＣＰＵ310は、本フローチャートの処理を終了する。
【０１０５】
以上のように、本実施例によれば、拡張コントローラ部201を使用し、拡張コントローラ部201に電力供給する時間をジョブ処理に合わせて必要最低限とすることが可能となる。総じてコントローラ部120の動作中の消費電力を低減させることが可能となる。
【実施例２】
【０１０６】
上述した実施例１では、ジョブ競合状態が発生した場合にメインコントローラ部200内部のループバック処理部240を使用せずに、拡張コントローラ部201内部のループバック処理部241を使用する方法について述べた。実施例２では、ジョブ競合状態が発生した場合に、メインコントローラ部200内部のループバック処理部240の使用を継続したまま、拡張コントローラ部201内部のループバック処理部241を使用する方法に関して説明する。これにより、先行して処理しているジョブによるメインコントローラ部200内部のループバック処理部240の使用を停止させずに拡張コントローラ部201内部のループバック処理部241を使用することを可能とする。
【０１０７】
本実施例２は、上記実施例１と比較して、画像リングバススイッチの構成および制御フローが異なる。画像形成装置100の画像リングバススイッチ以外のコントローラ部120の構成とその他の画像形成装置100の内部構成は実施例１と同様である。以下、実施例１との差分について説明し、実施例１と同一の構成については説明を省略する。
【０１０８】
＜画像リングバススイッチ制御＞
図１１は、実施例２におけるメインコントローラ部200内部の画像リングバススイッチ220の具体的な接続制御を説明するための図である。具体的には、図１１は、リングバス外部インタフェースを介してメインコントローラ部200から拡張コントローラ部201へパケットデータを送信する場合の接続制御例に対応する。
【０１０９】
実施例２の接続制御では、まずシステム制御部210から出力されたパケットデータは、プリント処理部230に入力される。そして、プリント処理部230から出力されたパケットデータは、スイッチ503に入力される。スイッチ503は、実施例１のスイッチと異なり、内部にセレクタ510を有する。セレクタ510は、入力されたパケットデータのジョブＩＤを参照する。そして、セレクタ510は、参照したジョブＩＤに応じて入力されたパケットデータをスイッチ502（リングバス外部インタフェース280側）へ出力するかスイッチ504（ループバック処理部240側）へ出力するかを決定し、出力する。このときセレクタ510には、ＣＰＵ310によってどのジョブＩＤをどちらに出力するか予め設定（登録）されている。
【０１１０】
スイッチ502は、スイッチ503（プリント処理部230側）から入力されるパケットデータをリングバス外部インタフェース280へ出力するよう制御されている。
スイッチ501は、リングバス外部インタフェース280から入力されるパケットデータをスイッチ506（スキャン処理部250側）へ出力するよう制御されている。
【０１１１】
スイッチ504は、スイッチ503（プリント処理部230側）から入力されるパケットデータを、ループバック処理部240へ出力するよう制御されている。
スイッチ505は、ループバック処理部240から入力されるパケットデータをスイッチ506（スキャン処理部250側）へ出力するよう制御されている。
【０１１２】
スイッチ506は、実施例１のスイッチと異なり、内部にＭＵＸ511を有する。スイッチ506は、スイッチ501（リングバス外部インタフェース280側）から入力されるパケットデータとスイッチ505（ループバック処理部240側）から入力されるパケットデータを、スキャン処理部250へ出力するよう制御されている。このとき、ＭＵＸ511は２つのパケットデータ入力を１つの出力に多重化する。なお、ＭＵＸ511は、２つのパケットデータの入力が同時に行われた場合は、内部に持つ不図示のバッファに一時的にパケットを格納することで多重化するものである。
【０１１３】
最後に、スキャン処理部250から出力されたパケットデータは、画像リングバススイッチ220を介してシステム制御部210へ戻る。
【０１１４】
＜制御フローチャート＞
図１２は、実施例２における画像形成装置のジョブ処理の流れを示すフローチャートである。本フローチャートを実行することで、ジョブ処理状態に合わせた必要最低限のコントローラの動作時消費電力とすることが可能となる。本フローチャートの処理は、ＨＤＤ361又はＲＯＭ321等の記憶装置に格納されたプログラムに従って、ＣＰＵ310がスキャナ部110、コントローラ部120、プリンタ部140を制御することで実行される。
【０１１５】
なお、S201〜S204は、実施例１の図９に示したS101〜S104と同様のステップである。また、S206も図９のS106と同様のステップであり、さらに、S208〜S212も図９のS108〜S112と同様のステップである。実施例１（図９）と異なるのはS205およびS207である。図９と同様のステップについては説明を省略する。
【０１１６】
S205において、ＣＰＵ310は、画像リングバススイッチ220をメインコントローラ部200内部で使用する状態に設定する。S205では、画像リングバススイッチ220内部のスイッチ504、スイッチ505は、図８Ａで示したように拡張コントローラ部201を使用しないように設定される。さらに、S205では、ＣＰＵ310は、スイッチ503内部のセレクタ510に対して、ＣＰＵ310がこれから処理するジョブＩＤのパケットデータをスイッチ504（ループバック処理部240側）へ出力するように、該ジョブＩＤを設定（登録）する。また、このとき実施例１と同様に、拡張コントローラ部201は電源供給部290によって電源が供給されておらず省電力状態となっている。
【０１１７】
S207におおいて、ＣＰＵ310は、リングバス外部インタフェース280を介してメインコントローラ部200から拡張コントローラ部201へパケットデータを送信可能な状態に画像リングバススイッチ220を設定する。具体的な設定は、図１１で示したものとなる。ここでスイッチ503内部のセレクタ510について説明する。例えば、現在すでに処理中のジョブがあり、それを図１０の「受信ジョブ１」とする。このとき、本ジョブのジョブＩＤは「０」番となり、このジョブＩＤのパケットデータはセレクタ510によってメインコントローラ部200内部のループバック処理部240側へ出力されるようＣＰＵ310によってセレクタ510に設定（登録）される。また、上記S201にて受け付けたこれから処理するジョブがあり、それを図１０の「受信ジョブ２」とする。このとき本ジョブのジョブＩＤは「１」番となり、このジョブＩＤのパケットデータは、セレクタ510によって拡張コントローラ部201内部のループバック処理部241側へ出力されるようＣＰＵ310によってセレクタ510に設定（登録）される。なお、拡張コントローラ部201内部の画像リングバススイッチ221は図８Ｃに示したように制御されている。
【０１１８】
以上のようにセレクタ510を制御することで、現在処理中のジョブのメインコントローラ部200内部のループバック処理部240の処理を継続したまま、拡張コントローラ部201内部のループバック処理部241を使用することが可能となる。例えば、ループバック処理部内部の２値化処理部711が誤差拡散法で２値化処理を実施していた場合、誤差拡散法では、２値化処理による誤差を周辺画素に伝搬させながら２値化していく。よって途中までの画像データ（ページ内の途中までのパケットデータ）をループバック処理部240で処理させて、途中からの画像データ（ページ内の途中からのパケットデータ）を拡張コントローラ側のループバック処理部241で処理させることはできない。このような場合、本実施例２のように現在処理中のジョブのメインコントローラ部200内部のループバック処理部240の処理を継続させることが有効となる。
【０１１９】
以上のように実施例２により、先行して処理しているジョブによるメインコントローラ部200内部のループバック処理部240の使用を停止させずに拡張コントローラ部201内部のループバック処理部241を使用することを可能とする。よって先行して処理しているジョブの処理内容に依存せずに、拡張コントローラ部201を起動・使用・停止させることができ、拡張コントローラ部201に電力供給する時間をジョブ処理に合わせて必要最低限とすることが可能となる。
【０１２０】
以上のように、各実施例によれば、メインコントローラ部200、拡張コントローラ部201それぞれに実装されている処理内容と、ジョブで求められている処理の内容を鑑みながら、拡張コントローラ部201の通常状態への復帰・省電力状態への移行を制御することで、コントローラ部120全体の動作中の消費電力を低減させることが可能となる。
【０１２１】
上記各実施例では、一例として、拡張コントローラ部201は、メインコントローラ部200と同様の構成としている。しかし、拡張コントローラ部201は、メインコントローラ部200と、異なる構成であってもよい。拡張コントローラ部201は、メインコントローラ部200の少なくとも１の機能（本実施例ではループバック処理部240が有する機能）に対応する機能を有するものであればよい。なお、ループバック処理部241は、ループバック処理部240と同一のものでなくとも、同一の処理結果を出せるものなど、ループバック処理部240を代替可能なものであればよい。また、拡張コントローラ部を複数設ける構成であってもよい。
【０１２２】
また、上記各実施例では、画像形成装置100のコントローラ部120について説明したが、本発明を適用可能なコントローラは、画像形成装置のコントローラに限定されるものではなく、各種電子機器のコントローラに適用可能である。そして、コントローラの機能は、画像処理に限定されるものではなく、該コントローラが適用される機器に対応するデータ処理機能を有するものとする。
以上の構成により、拡張部の消費電力を含めたコントローラ全体の動作中の消費電力を低減することができる。
【０１２３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１２４】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２５】
100    画像形成装置
120    コントローラ部
200    メインコントローラ部
210    システム制御部
240    ループバック処理部
201    拡張コントローラ部
241    ループバック処理部
【図１】
2018086751.tif 000003
【図２】
2018086751.tif 000004
【図３】
2018086751.tif 000005
【図４】
2018086751.tif 000006
【図５】
2018086751.tif 000007
【図６】
2018086751.tif 000008
【図７】
2018086751.tif 000009
【図８Ａ】
2018086751.tif 000010
【図８Ｂ】
2018086751.tif 000011
【図８Ｃ】
2018086751.tif 000012
【図９】
2018086751.tif 000013
【図１０】
2018086751.tif 000014
【図１１】
2018086751.tif 000015
【図１２】
2018086751.tif 000016