説明

画像形成装置、その制御方法及びプログラム。

【課題】 プリンタエンジンのサイクルダウンが発生すると再度印刷が可能になるまでに長時間必要なため、生産性が大きく低下する。
【解決手段】 プリントデータのページ並列によるRIP処理を行う際に次ページ以降の処理状況を監視し、サイクルダウンに入る制限時間を適応的に延長制御する

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、その制御方法及びプログラムに関するものである。
【背景技術】
【0002】
複写機、レーザプリンタ等の画像形成装置は、ホストコンピュータからのプリントデータを受け取り、そのデータの解析及び画像処理を行い、印字するためのイメージデータを生成するコントローラを備える。また、コントローラと通信可能に接続され、コントローラからのイメージデータに応じて画像形成動作を行うエンジン(プリンタエンジン)を備える。コントローラはエンジンに対し、画像形成に関する様々な指示をコマンドとして送信する。エンジンはコントローラに対してエンジンの内部状態をステータスとして返送する。
【0003】
ホストコンピュータからのプリントデータを受信すると、コントローラはプリントデータを解析し、イメージデータに展開する処理を開始する。最初にコントローラはエンジンに対し、プリント準備要求コマンドを送信する。そして、エンジンはその状態をスタンバイ状態から印字動作可能なプリント状態へ遷移させる。エンジンはスタンバイ状態からプリント状態へ遷移する際に、記録媒体の搬送用の駆動源であるモータ等の各種アクチュエータの立ち上げを行う。また、電子写真プロセスに必要な帯電、露光、現像、転写、定着といった各種ユニットの立ち上げもあわせて行う。これらは印字動作前に行う前処理工程であり、この前処理工程を前回転と呼ぶ。また、コントローラは画像処理が終了した時点で、エンジンに対してプリント開始要求コマンドを送る。エンジンはプリント開始要求コマンドを受信すると、印字動作を開始する。
【0004】
そして、プリントデータ中の全ページの印字が完了すると、コントローラはプリント完了コマンドを送信する。プリント完了コマンドを受信して、エンジンは全ての印字動作が終了したと判断する。そして、再びスタンバイ状態へ遷移すべく、各種アクチュエータや各種ユニットを停止させていく。これらは印字動作後に行う後処理工程であり、この後処理工程を後回転と呼ぶ。この前回転及び後回転に要する時間は、プリンタエンジンの種類によって異なり、およそ数秒程度のものから数十秒程度に及ぶものまで存在する。
【0005】
また、エンジンはプリント完了コマンドを受信しなくても、最後のプリント開始要求コマンドの受信から所定の時間が経過すると、印字動作が終了したと判断し後回転を始める。しかし、その直後にコントローラから新たなプリント開始要求コマンドが送られてきた場合に問題が生じる。エンジンは一旦、後回転を開始すると、途中で中止することが困難であり、後回転を最後まで実行する。そして、エンジンはコントローラからの新たなプリント開始の指示に従い、再び前回転を実行する。つまり、画像形成装置のユーザは後回転と前回転の両方を実行する時間分だけ余計に出力を待たなければならない。最後のプリント開始要求コマンドの受信から所定の時間が経過してもイメージデータを形成できなった場合に後回転に入る、この動作をサイクルダウンと呼ぶ。また、後回転に入った後から前回転に入るまでの待ち時間をダウンタイムと呼ぶ。
【0006】
このようなダウンタイムの発生を解決するために、様々な方式が提案されている。特許文献1には、次ページのプリント開始に相当するコマンドの送信が遅れてもエンジンが後回転に入らないようにするため、プリント開始が遅れることを通知するコマンドを用意する方式が提案されている。そして、このコマンド(プリント開始遅延コマンド)をコントローラから受信していた場合、エンジンは後回転に入るタイミングを延長する。
【0007】
一方、エンジンのスループットを満たすべく、コントローラにおけるプリントデータのRIP処理時間を短縮する方法も提案されている。近年、CPUクロックの向上が頭打ちとなり、複数のコアを単一パッケージに格納したマルチコア化が進んでいる。マルチコア化したCPUの性能をフルに引き出すためにはRIP処理の並列化が必要であり、幾つかの方法が考案されている。例えば、複数ジョブを複数のコアで同時並行してRIP処理するジョブ並列処理方式がある。ジョブ並列処理方式では大量のジョブを処理する場合には、全体の生産性を向上することができる。また、別の方法として、単一ジョブ内の複数ページを複数のコアで同時並行してRIP処理するページ並列処理方式がある。ページ並列処理方式では単一ジョブに対しても高速化が見込める。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−015515
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、プリントデータのRIP処理に並列処理を採用したとしても、並列処理時にかかる時間がエンジンスループットに間に合わないケースは未だに散見される。これは、ホストコンピュータの性能向上に伴うプリントデータの複雑化と、エンジンの高速化が主な要因である。印刷物の生産性を考えた場合、エンジンがサイクルダウンに入らないようにプリント待機状態を保たせることが考えられるが、感光ドラムや定着機などの部品寿命と消費電力の観点で好ましくない。
【0010】
そこで、本発明は、同時並行してページを処理している際に、次に処理されるべきページ以降の処理状況を考慮して、エンジンがサイクルダウンに入る時間を延長させる仕組みを設けることを目的とする。
【課題を解決するための手段】
【0011】
本発明の一実施系に係る画像形成装置は、印刷データを基に中間データをページ単位で生成する処理を行う第1の実行手段と、印刷データを基に中間データをページ単位で生成する処理を、前記第1の実行手段と並行して行う第2の実行手段と、前記第1の実行手段、または前記第2の実行手段の何れか1つの実行手段により生成された中間データを基に1ページ分のイメージデータを描画するレンダラと、前記レンダラにより描画されたページのイメージデータを記録媒体に形成し、かつ該イメージデータを形成後、サイクルダウン制限時間を経過しても該ページの次のページに対応するイメージデータの形成指示がなかった場合にエンジン内部の各ユニットを停止させるプリンタエンジンと、前記第1の実行手段が所定のページの中間データを生成中の際、前記第2の実行手段が生成した該所定のページ以降のページの中間データに対応する描画済みイメージデータのページ数を基に、前記プリンタエンジンに設定されている前記サイクルダウン制限時間の延長を要求する要求手段と、を有し、前記プリンタエンジンは、前記延長の要求により制限時間が延びたサイクルダウン制限時間に従いエンジン内部の各ユニットを停止させることを特徴とする。
【発明の効果】
【0012】
同時並行して処理される次のページ以降の処理状況を考慮して、サイクルダウンに入る時間を延長することにより、より効率的な制御が可能となる。このように制御することのメリットは、並列処理により印刷物の生産性を高めつつも、印刷機の部材寿命を維持することができるという点である。
【図面の簡単な説明】
【0013】
【図1】画像形成装置の概略断面図
【図2】制御部全体のブロック図
【図3】コントローラにおけるソフトウェアブロック図
【図4】コントローラにおけるプリント処理のフローチャート
【図5】コントローラにおけるプリントドライバ処理のフローチャート
【図6】エンジン制御部におけるプリント処理のフローチャート
【発明を実施するための形態】
【0014】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0015】
図1は、本実施形態における画像形成装置の概略断面図である。画像形成装置は、印刷装置、複写機、レーザプリンタ、ファクシミリまたは複合機(MFP)などとして実現される。
【0016】
プリンタエンジン101は、画像を形成するための各種のハードウェア機構を備えている。コントローラ103は、画像形成装置全体を制御するための制御ユニットである。エンジン制御部104は、コントローラ103から受信した制御コマンドと画像データに従ってプリンタエンジン101に画像形成を実行させる制御ユニットである。また、エンジン制御部104は、プリンタエンジン101の状態等をコントローラ103へ通知する。
【0017】
作像ユニット105、106、107および108は、感光ドラム、一次帯電器、レーザー露光装置、現像スリーブ、ドラムクリーナーなどを有している。各作像ユニットは、それぞれY、M、C、Kの各色の作像と中間転写ベルト(ITB)109への一次転写とを実行する。
中間転写ベルト109の表面は、作像ユニット105〜108により順次各色の現像剤像が重畳され、最終的に1つのカラー画像が形成される。中間転写ベルト109は、図1において時計周りに回転する。パターン検知センサ113は、調整処理(例:オートレジストレーションや濃度調整など)のためのテストパターンを検知する。パターン検知センサ113は、図1のように作像ユニットの下流に配置される。
二次転写ローラー114は、中間転写ベルト109上のカラー画像を記録媒体上に二次転写する。ベルトクリーナー115は、二次転写後の中間転写ベルト109を清掃する。
【0018】
給紙ユニット131、132や手差しトレイ137から給紙された記録媒体は、レジ前ローラー116によって搬送され、レジセンサ117により先端が検出されると、レジローラー118に突き当てられるようにして一旦停止される。その後、中間転写ベルト109上の画像が二次転写位置に到着するタイミングと同期して、レジローラー118とレジ前ローラー116により記録媒体が搬送される。そして、二次転写ローラー114によって、中間転写ベルト109上のカラー画像が記録媒体へと二次転写される。二次転写後搬送ベルト119は、二次転写後の記録媒体を定着器120へ搬送する。定着器120は、未定着のカラー画像を記録媒体へと定着させる。
給紙カセット128、129に搭載されている記録媒体は、ピックアップローラなどの給紙ユニット131、132により、縦パスローラー135、136に向けて給紙される。給紙された記録媒体は、縦パスローラー135、136によって、上述したレジ前ローラー116へ搬送される。
【0019】
図2は、本実施形態における制御部のブロック図である。103はコントローラであり、画像信号やデバイス情報の入出力を制御する。CPU201はROM203あるいはHDD204に記憶されたプログラムをRAM202に読み出し、実行する。さらに、システムバス200に接続される各デバイスをCPU201が統括的に制御する。CPU201は内部に二つのコアを有するデュアルコアプロセッサであり、二つの制御プログラムを同時並列に実行可能である。なお、本実施例では、1つのCPUに2つのコアを内蔵するCPUを採用したが、1つのコアを有する複数のCPUで構成したとしても良い。RAM202は、CPU201の主メモリ、ワークエリアとして機能する。ROM203には電源ON時に実行されるブートプログラムが格納され、HDD204にはオペレーティングシステムと本装置の制御プログラム本体が格納される。また、HDD204は画像データやプリントデータ等の大容量データを一時的あるいは長期的に保持する目的でも使用される。
【0020】
Network205はローカルエリアネットワークに接続し、印刷データやデバイス情報の入出力を担う。操作部I/F206は操作部207とのインターフェース部で、操作部207に表示する画像データを操作部207に対して出力する。また、操作部207から本装置の使用者が入力した情報を、CPU201に伝える役割をする。操作部207は、出力器として液晶パネルと音源を備え、入力器としてタッチパネルとハードキーを備えるものである。
【0021】
コントローラ103はエンジンI/F212を介して、エンジン制御部104に接続される。エンジンI/F212はCPU201の指示に基づき、画像信号の送出、デバイス動作指示、デバイス情報の受信を行う。Raster Image Processor(RIP)208は中間データであるディスプレイリストをイメージデータに展開する専用ハードウェアである。RIP208はCPU201によりRAM202上に生成されたディスプレイリストを高速かつ、CPU201の実行と並列に、処理するものである。プリンタ画像処理部209は、プリント出力画像データに対して、画像補正、ハーフトーニング等を行う。画像回転部211は画像データの回転を行う。画像圧伸部210は、多値画像データはJPEG、2値画像データはJBIG、MMR、MHの圧縮伸張処理を行う。
【0022】
104はエンジン制御部であり、電子写真プロセスに必要な帯電、露光、現像、転写、定着、紙搬送といった各種ユニットの制御を担う。CPU213は、プリンタエンジン101の中心的な制御ユニットである。ROM214はプリンタエンジン101の制御プログラムを格納する記憶ユニットである。RAM215は、プリンタエンジン101を制御する際のワーク領域として利用される記憶ユニットである。不揮発メモリ216は、各種の調整値を格納したりする記憶ユニットである。コントローラI/F218は、コントローラ103とのコマンドの送受信や、コントローラ103からの画像データの受信を行う通信ユニットである。上述したように、作像ユニット105〜108は、コントローラI/F218を経由して転送された画像データを用いて作像を実行する。
【0023】
Vsync発生部217は、画像の同期信号VSYNCを発生させ、これをコントローラI/F218を経由してコントローラ103へ送信する。コントローラ103は、VSYNCに同期して画像データをエンジン制御部104へ転送する。これにより、プリンタエンジン101とコントローラ103間の同期がとられる。
調整部219は、画質を維持するための各種の調整処理を実行するための制御ユニットである。例えば、オートレジストレーションに関して、調整部219は、パターン検知センサ113が検知した信号とCPU213からの指示に従って、VSYNCと画像データとの関係を調整することで、色ずれの発生を低減する。テストパターンの発生部223は、各作像ユニットに対して、調整処理に使用されるテストパターンの画像データを発生して送出する。
ITB制御部220は、中間転写ベルト109の駆動制御を実行する。定着器制御部222は、定着器120の駆動と温度調節を実行する。駆動系制御部222は、記録媒体の搬送や二次転写を実行するために各モータやソレノイドを制御する。
プリンタエンジン104は、レンダラにより描画されたページのイメージデータを記録媒体に形成し、かつ該イメージデータを形成後、サイクルダウン制限時間を経過しても該ページの次のページに対応するイメージデータの形成指示がなかった場合にエンジン内部の各ユニットを停止させるプリンタエンジンに相当する。なお、各ユニットの停止とは、作像ユニットに含まれるポリゴンミラー駆動モータや感光ドラム等の回転の作像ユニットに含まれるポリゴンミラー駆動モータや感光ドラム等の回転の停止を意味する。
【0024】
図3は、本実施形態におけるコントローラのソフトウェアブロック図である。図3に記載した各ソフトウェアモジュールは、プログラムとしてHDD204に格納され、RAM202にロードされCPU201により実行されるものである。より具体的には、各ソフトウェアモジュールはCPU201上で動作するOS(オペレーティングシステム)によりRAM202にロードされ、スレッド単位で実行権を付与され、実行されるものである。データ受信部301はホストから送信されたプリントデータを受信し、受信したデータはジョブ制御部302を介してジョブデータ管理部307で保持される。ジョブ制御部302はデータ受信から印刷までのジョブ制御の全般を司る。PDLインタプリタ303はプリントデータであるページ記述言語データ(PDLデータ)を解釈して、中間データであるディスプレイリストを生成する。生成されたディスプレイリストはジョブ制御部302を介してジョブデータ管理部307で保持される。なお、本実施例におけるPDLインタプリタ303は、マルチスレッドにより複数個存在することになる。即ち、2つのコアが夫々、PDLインタプリタを実現するためのプログラムを実行することでPDLインタプリタ303が実現する。夫々のスレッドが、印刷データを基に中間データをページ単位で生成する処理を行う。
【0025】
レンダラ304はディスプレイリストからイメージデータを生成するモジュールであり、多くの処理は専用ハードウェアRIP208により実行される。レンダラ304は、上述の複数のPDLインタプリタ303の内、何れか1つのPDLインタプリタにより生成された中間データを基に1ページ分のイメージデータを描画するレンダラに相当する。生成されたイメージデータはジョブ制御部302を介してジョブデータ管理部307で保持される。本実施例におけるPDLインタプリタ303、およびレンダラ304は、夫々、1ページ分ずつ中間データの生成、1ページ分ずつ描画を行ったが、ページ単位で行うことが必須ではない。例えば、1ページにおける一定の描画領域分ずつ中間データを生成したり、描画を行う形態であっても良い。
プリントドライバ305はエンジンI/F212を介してプリンタエンジンへの印刷指示とイメージデータの送出を行う。ユーザインターフェース306は操作部I/F206を介して、操作部207を制御するモジュールである。主に操作部207の液晶パネルに表示するデータを生成し、タッチパネルからの入力に従い液晶パネルの表示を更新する。また、タッチパネルからの入力が何らかのジョブ実行指示であった場合は、ジョブ制御部302に指示を伝達する。ジョブデータ管理部307はプリントデータ、ディスプレイリスト、イメージデータのそれぞれを一時的もしくは長期的に保持管理するデータベースである。なお、本実施例におけるレンダリングとは、PDLデータを解釈しディスプレイリストを作成し、作成したディスプレイリストを基にイメージデータを生成する処理をレンダリングと呼ぶ。
【0026】
図4は、コントローラにて実行される基本プリントフローをあらわすフローチャートである。なお、本説明では図3の各ソフトウェアモジュールによって実行されるように記述する。また、本フローチャートはHDD204に記憶された図3の各ソフトウェアモジュール内の各プログラムがRAM202に読み出され、CPU201により実行されることにより実現される。本フローチャートではスレッドA、スレッドB1、スレッドB2、スレッドCの四つのスレッドが並列に実行される。各スレッドはOSにより時分割され、CPU201内の二つのコアに順番にその実行権が割り振られる。時分割の単位は十分に小さいため、四つのスレッドは並列動作すると見なすことができる。しかしながら、ある一時点に着目すると同時に実行されるスレッドは二つである。これは、CPU201が前述の通り2コアのデュアルコアプロセッサであることが理由である。オペレーティングシステムによるマルチスレッディング処理は一般に広く知られる技術であるため、詳細は省略する。スレッドAがプリント処理のメインスレッドであり、スレッドB1、スレッドB2はスレッドAにより実行時に動的生成されるインタプリタスレッドである。スレッドCは本画像形成装置の起動時にOSにより生成される常駐スレッドである。なお、本実施例ではスレッドB1が第1の実行手段に相当し、スレッドB2が第2の実行手段に相当するが、各スレッドに対する実行手段が逆であっても良い。
【0027】
スレッドAでは最初にステップS4001において、データ受信部301はプリントデータを受信し、ジョブ制御部302を介してジョブデータ管理部307に保持させる。次にステップS4002において、ジョブ制御部302はプリントドライバ305を介してエンジンに対してプリント準備要求コマンドを送信する。
【0028】
次にステップS4003において、ジョブ制御部302はディスプレイリストの生成が完了したページがあるか否かを判定する。図4のフローを開始した当初はディスプレイリストの生成は完了していないので、Noとなる。Noの場合はステップS4004へ進み、ジョブ制御部302は全ページのディスプレイリスト生成依頼が完了したか判定する。後述するように、各ページのディスプレイリスト生成処理は別スレッドに依頼して行う。図4のフローを開始した当初は全ページのディスプレイリスト生成依頼は完了していないためNoとなる。Noの場合はステップS4005へ進み、ジョブ制御部302はPDLデータから、次ページのPDLデータを取りだす。ページが各スレッドに割り振られていない場合は、1ページ目が取り出されることになる。
【0029】
そして、ステップS4006へ進み、その時点におけるディスプレイリスト生成依頼中のページは二つか否か判定する。Noの場合はステップS4008へ進み、ジョブ制御部302はページに対応するPDLデータのディスプレイリスト生成依頼をPDLインタプリタ303に通知する。ここでジョブ制御部302は新たなスレッドBを生成し、PDLインタプリタ303にディスプレイリスト生成を実行させる。ステップS4006でYesの場合は、ステップS4007へ進み、ジョブ制御部302はいずれかのページのディスプレイリスト生成処理が完了するまで待つ。なお、図4ではスレッドB1、スレッドB2と二つのスレッドを図示しているが、スレッドはページの数分だけ動的生成される。ただし、ステップS4006、ステップS4007の制御により同時に実行されるスレッドは二つに限定されるため、便宜的にスレッドB1、スレッドB2と表記する。ステップS4007では、スレッドB1もしくはB2との同期制御が行われ、スレッドB1もしくはB2の処理が完了すると次のステップS4008に進む。なお、ステップS4006でページ数の判定値を2としているのは、CPUコアが二つであることに対応している。さらに多数のCPUコアを有する実施形態では判定値をその数に合わせて変更すれば良い。ステップS4008の処理が終了すると、ステップS4003へ戻り、処理を繰り返す。
【0030】
ステップS4003でYesの場合はステップS4010へ進み、ジョブ制御部302はレンダリングを行い、そしてビットマップを生成する。次にステップS4011において、ジョブ制御部302はビットマップをジョブデータ管理部307に保存し、プリントドライバ305にプリントを依頼する。プリントの依頼はプリントドライバ305に対してレンダリング終了通知を送信することにより実行される。プリントドライバ305はエンジン同期して処理を実行するために、スレッドCとしてスレッドAとは別スレッドで実行される。依頼を受けたプリントドライバ305はステップS4201において、エンジンに対してプリント開始要求コマンドを送信し、画像転送する。また、プリントドライバ305はステップS4201においてサイクルダウン制限時間の経過通知の処理も実行する。なお、ステップS4201の詳細は別途後述する。また、サイクルダウン制限時間とは、エンジンがサイクルダウンに入るまでの時間であり、サイクルダウン制限時間を超えてもレンダリング済みページが来ない場合、エンジンはサイクルダウンに入る。
【0031】
次にステップS4012へ進み、ジョブ制御部302は全ページのレンダリングが完了したか判定する。Yesの場合は、図4のフローを終了する。Noの場合は、ステップS4003へ戻り、処理を繰り返す。ステップS4004でYesの場合はステップS4009へ進み、ジョブ制御部302はいずれかのページのディスプレイリスト生成が完了するまで待つ。この制御フローは、全てのページのディスプレイリスト生成依頼が完了し、スレッドB1もしくはB2での処理待ちの状態になった際に発生する。
【0032】
スレッドB1、スレッドB2のステップS4101において、PDLインタプリタ303は当該ページに対応するPDLデータを解釈し、ディスプレイリストを生成する。PDLインタプリタ303のディスプレイリスト生成処理はリエントラントな構成となっており、同時に二つのPDLデータを処理することが可能である。スレッドB1、スレッドB2の処理時間は解釈するPDLデータの量と複雑度に大きく依存するため、終了タイミングは事前に予測できない。従って、ディスプレイリストの生成が完了するタイミングはページ順になるとは限らない。即ち、各スレッドが実現するPDLインタプリタは、割り当てられたページのサイズや構成オブジェクトにより生成時間が変化するため、ページ順を保った状態でディスプレイリストが生成されるとは限らない。プリント時のページ順への並び替えはプリントドライバ305により実行される。なお、スレッドAとスレッドCは同期の為の待ち時間が非常に多い(スレッドCに関しては後述)。結果として、CPU201の二つのコアにおける実行時間の大半がスレッドB1とスレッドB2に割り当てられることになる。
【0033】
図5は、プリントドライバ305により実行される画像転送処理とサイクルダウン制限時間経過通知を受信した際の処理をあらわすフローチャートである。また、図4のステップS4201を詳細化したフローチャートである。最初にステップS5001において、プリントドライバ305はレンダリング終了通知とサイクルダウン制限時間経過通知のいずれかを受信するまで待つ。レンダリング終了通知は、前述したように、ジョブ制御部302によりステップS4011で送信されるものである。また、サイクルダウン制限時間経過通知はエンジン制御部104からコントローラ103に通知される。サイクルダウン制限時間経過通知はエンジン制御部104において前ページのプリントから所定の時間が経過した為にエンジン停止して良いか確認する問い合わせである。二つの通知のうちいずれかを受信したところで、ステップS5001の処理は終了する。
【0034】
次にステップS5002において、プリントドライバ305は通知がレンダリング終了通知であるか否か判定する。Yesであれば、S5003へ進む。S5003において、プリントドライバ305はレンダリング済みのページがジョブの先頭ページか、もしくは前ページの印字出力が完了しているか判定する。Noの場合は、前のページのレンダリング完了を待つために、ステップS5001に戻る。前述したように、各ページのレンダリングは非同期に並列して実行されるため、完了がページ順になるとは限らない。ステップS5003でYesの場合は、ステップS5004へ進み、プリントドライバ305はエンジンに対してプリント開始要求コマンドを送信し、画像を転送する。即ち、イメージデータと、イメージデータの形成指示をエンジンに送信する。なお、ステップS5004において、プリントドライバ305はエンジン制御部104との同期処理も行う。プリンタエンジンは所定のスピード以上では出力できない。コントローラ103はそのRIP処理が速すぎる場合にエンジン制御部104の印字出力を待つ必要がある。
【0035】
次にステップS5005において、プリントドライバ305は次ページがレンダリング済みか否か判定する。Yesであれば、ステップS5006に進み、プリントドライバ305はエンジンと同期して、プリント開始要求コマンドを送信し、画像を転送する。そして、再びステップS5005に戻り同様の処理を繰り返す。ステップS5005、S5006の処理により、先にレンダリング済みのページが全て出力される。ステップS5005でNoの場合は、ステップS5007へ進み、プリントドライバ305は全ページの画像転送が完了したか否か判定する。Yesの場合は、ステップS5008へ進み、プリントドライバ305はエンジン制御部104に対してプリント完了要求コマンドを送信する。No場合は、ステップS5001へ戻り、処理を繰り返す。
【0036】
ステップS5002でNoの場合、即ち通知がサイクルダウン制限時間経過通知であった場合は、ステップS5009へ進む。ステップS5009において、プリントドライバ305は次にプリントされるべき現在レンダリング中のページ以降に何ページ連続してレンダリング済みのページがあるか数える。これを具体的に説明する。例えば、2ページ目までが印刷済みで、プリントエンジンがプリント待機状態だったとする。そして、エンジンがプリント待機してからの経過時間がサイクルダウン制限時間を経過したと仮定する。このとき、サイクルダウン制限時間経過通知をプリントドライバ305 は受信するであろう。そして、スレッドB1が3ページ目の中間データを生成中の際、プリントドライバ305は、もう一方のスレッドB2が生成した3ページ目以降のページの中間データに対応する描画済みイメージデータのページ数を確認する。この描画済みイメージデータのページ数の確認結果を基に、プリントドライバ305は、サイクルダウン制限時間の延長を要求する他、延長時間の程度を変更、または延長時間の要求を行わないと言った処理を切り替えて行う。
【0037】
次に、ステップS5010へ進み、プリントドライバ305は残りの全ページのレンダリングが終了しているか否か判定する。即ち、現在レンダリング中のページ以降のページにおいて、全ページ分の中間データがレンダリング済みであるか否かの判定が行われる。Yesであれば、ステップS5011に進み、プリントドライバ305はエンジン制御部104に対してサイクルダウン制限時間の最大延長を要求するコマンドを送信する。そしてステップS5001に戻り、処理を繰り返す。
【0038】
ステップS5010でNoの場合は、ステップS5012においてプリントドライバ305はレンダリング未終了のページ数が規定値以下か否か判定する。即ち、現在レンダリング中のページ以降のページにおいて、規定値以上のページ数の中間データがレンダリング済みであるか否かの判定が行われる。Yesの場合はステップS5013へ進み、プリントドライバ305はエンジン制御部104に対してサイクルダウン制限時間の中程度の延長を要求するコマンドを送信する。そしてステップS5001に戻り、処理を繰り返す。ステップS5012でNoの場合は、ステップS5014においてプリントドライバ305は1ページ以上連続してレンダリングが終了しているか否か判定する。Yesの場合はステップS5015へ進み、プリントドライバ305はエンジン制御部104に対してサイクルダウン制限時間の小程度の延長を要求するコマンドを送信する。そしてステップS5001に戻り、処理を繰り返す。ステップS5014でNoの場合もステップS5001に戻り、処理を繰り返す。ステップS5014の場合、サイクルダウン制限時間の延長を要求しないように制御する。なお、サイクルダウン制限時間の延長程度(最大、中程度、小程度)はコマンドのパラメータとしてエンジン制御部104に通知されるものである。本フローチャートのステップS5003〜S5007を実行中に、プリントドライバ305はサイクルダウン制限時間経過通知を受信することができない。しかし、S5003〜S5007ではエンジンスループットで印字動作中のため、サイクルダウン制限時間経過通知は基本的に発生しない。
【0039】
図6はエンジン制御部にて実行される基本プリントフローをあらわすフローチャートである。ステップS6001において、CPU213はコントローラ103からプリント準備要求を受信したか否か判定する。受信すると、ステップS6002へ進み、CPU213はプリント準備処理を開始する。プリント準備処理としては、例えば、作像ユニットに含まれるポリゴンミラー駆動モータや感光ドラム等の回転の開始などがある。より具体的には、CPU213が、作像ユニット105、ITB制御部221、定着器制御部222および駆動系制御部223にプリント準備を指示し、前回転処理を実行させる。その後、エンジンは、レンダリング済みのページを印刷し後回転処理に入る。そして、後回転処理に入った時から、経過時間のカウントが始まり、経過時間がサイクルダウン制限時間を超えるか否かの判定が始まる。
【0040】
次にステップS6003において、CPU213は前回プリントからサイクルダウン制限時間分の時間が経過したか否かを判定する。Noの場合は、ステップS6004へ進み、CPU213はコントローラ103からプリント開始要求コマンドを受信したか否かを判定する。Noの場合は、ステップS6003に戻り、処理を繰り返す。Yesの場合は、ステップS6005に進み、CPU213はプリントを実行する。具体的に述べると、CPU213は給紙ユニット131を駆動させるよう駆動系制御部222に指示する。CPU213は搬送された記録媒体に対してコントローラ103より受信したビットマップ画像を形成するよう、各ユニットを制御する。即ち、イメージデータの形成指示があった場合は、プリントエンジンはエンジン内部の各ユニットを停止することなくイメージデータを形成する。
【0041】
次に、ステップS6013へ進み、CPU213はコントローラ103よりプリント完了要求コマンドを受信したか否か判定する。Yesの場合は、ステップS6014へ進みCPU213は各ユニットに対して停止を指示し、後回転処理を実行させ、エンジンを停止する。Noの場合はステップS6003に戻り、処理を繰り返す。
【0042】
ステップS6003でYesの場合、即ち、イメージデータの形成指示がサイクルダウン制限時間の時間分だけ経過してもなかった場合は、ステップS6006へ進み、CPU213はプリント準備後に発生したサイクルダウン回数が規定値未満か否かを判定する。Noの場合は、ステップS6010へ進み、CPU213は各ユニットに対して停止を指示し、後回転処理を実行させ、エンジンを停止する。次にステップS6011へ進み、CPU213はプリント開始要求コマンドを受信したか否か判定する。受信すると、ステップS6012へ進み、CPU213はプリント準備後にプリントを実行する。ステップS6012では、ステップS6002、S6005と同様の処理が順番に実行される。そして、ステップS6013へ進む。
【0043】
ステップS6006でYesの場合は、ステップS6007へ進み、CPU213はコントローラ103に対してサイクルダウン制限時間経過通知を送信する。次に、ステップS6008においてCPU213はコントローラ103からサイクルダウン制限時間の延長要求コマンドを受信したか否かを判定する。Yesの場合はステップS6009に進み、CPU213はサイクルダウン制限時間を延長する。エンジン制御部は、延長の要求により制限時間が延びたサイクルダウン制限時間に従いエンジン内部の各ユニットを停止させる。
【0044】
なお、制限時間の延長量はサイクルダウン制限時間の延長要求コマンドのパラメータにより決定する。延長程度が最大の場合には2.0倍に、中程度の場合は1.5倍に、小程度の場合は1.3倍に制限時間を延長する。本画像形成装置におけるサイクルダウン制限時間は実験的に4秒と設定されており、延長程度が最大、中程度、小程度はそれぞれ8.0秒、6.0秒、5.2秒となる。延長は当初の制限時間に対して行われるものであり、再延長は行わない。ただし、延長程度のより大きな要求を受けた場合は当初制限時間に対する延長を行う。例えば、中程度の延長がされた状態で最大の延長が要求された場合は、当初制限時間の2.0倍まで制限時間を延長する。なお、延長した制限時間も当該ページをプリントした直後に当初の値にリセットされる。また、プリント待機時間の経過時間も、プリントした直後にリセットされ、初期値からカウントが始まる。次に、ステップS6003へ戻り、処理を繰り返す。ステップS6008でNoの場合は、ステップS6010へ進む。
【0045】
このように、同時並行して処理される次のページ以降の処理状況を考慮して、後回転に入る動作を遅延させることにより、より効率的な制御が可能となる。具体的には部材寿命と消費エネルギー量の悪化なく、生産性を高めることができる。ただし、本実施形態で示した制限時間の延長を行わない形態における制限時間に比較して、サイクルダウン制限時間の初期値は小さくする必要がある。たとえ制限時間を小さくしたとしても、本実施形態における制限時間の適応制御を行うことにより、トータルでは生産性を高めることができる。
【0046】
まず、単一のプリントジョブに対してサイクルダウン回数が規定回数以上発生している場合は、その後も高い確率でサイクルダウンが発生すると予想されるので、制限時間の延長を行わない。そして、次ページのレンダリングが終了している場合には、少なくとも次のページでサイクルダウン発生することは無いので、制限時間を小程度延長する。そして、次ページ以降の全てのページのレンダリングが終了している場合には、当該ページにおけるサイクルダウンさえ回避すれば、残りのページでサイクルダウンは発生しない。この場合には、制限時間を最大程度延長する。そして、レンダリング未終了のページ数が規定値以下と少ない場合には、当該ページおけるサイクルダウンを回避すれば、残りのページでサイクルダウンが発生する確率は低い。この場合には、制限時間を中程度延長する。前述したように各ページのRIP処理時間はPDLデータの量や複雑度に依存する。これら複数の制御を組み合わせて、PDLデータの傾向に合わせた適応制御を行うことにより、最大限の効果を得ることができる。
【符号の説明】
【0047】
301 データ受信部
302 ジョブ制御部
303 PDLインタプリタ
304 レンダラ
305 プリントドライバ
306 ユーザインターフェース
307 ジョブデータ管理部

【特許請求の範囲】
【請求項1】
印刷データを基に中間データをページ単位で生成する処理を行う第1の実行手段と、
印刷データを基に中間データをページ単位で生成する処理を、前記第1の実行手段と並行して行う第2の実行手段と、
前記第1の実行手段、または前記第2の実行手段の何れか1つの実行手段により生成された中間データを基に1ページ分のイメージデータを描画するレンダラと、
前記レンダラにより描画されたページのイメージデータを記録媒体に形成し、かつ該イメージデータを形成後、サイクルダウン制限時間を経過しても該ページの次のページに対応するイメージデータの形成指示がなかった場合にエンジン内部の各ユニットを停止させるプリンタエンジンと、
前記第1の実行手段が所定のページの中間データを生成中の際、前記第2の実行手段が生成した該所定のページ以降のページの中間データに対応する描画済みイメージデータのページ数を基に、前記プリンタエンジンに設定されている前記サイクルダウン制限時間の延長を要求する要求手段と、を有し、
前記プリンタエンジンは、前記延長の要求により制限時間が延びたサイクルダウン制限時間に従いエンジン内部の各ユニットを停止させることを特徴とする画像形成装置。
【請求項2】
前記プリンタエンジンは、前記サイクルダウン制限時間を経過する前に前記次のページに対応するイメージデータの形成指示があった場合はエンジン内部の各ユニットを停止することなくイメージデータを形成するプリンタエンジンであって、
前記サイクルダウン制限時間を経過しているか否かを確認するための経過時間をリセットし、前記サイクルダウン制限時間を経過しているか否かを確認することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記要求手段は、前記描画済みイメージデータのページ数に応じて延長を要求する時間を変更することを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
前記要求手段は、前記描画済みイメージデータのページ数が該所定のページ以降の全ページ分であった場合は、サイクルダウン制限時間の最大延長を要求することを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。
【請求項5】
前記要求手段は、前記描画済みイメージデータのページ数が規定値以上であった場合は、サイクルダウン制限時間の中程度の延長を要求することを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。
【請求項6】
前記要求手段は、前記描画済みイメージデータのページが1ページ以上連続して描画済みである場合は、サイクルダウン制限時間の小程度の延長を要求することを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
【請求項7】
前記要求手段は、前記描画済みイメージデータの数が該所定のページ以降の全ページ分ではなく、かつ前記描画済みイメージデータの数が規定値以上ではなく、かつ前記描画済みイメージデータが1ページ以上連続して描画済み出ない場合は、サイクルダウン制限時間の延長を要求しないことを特徴とする請求項6に記載の画像形成装置。
【請求項8】
印刷データを基に中間データをページ単位で生成する処理を行う実行手段と、
前記実行手段により生成された中間データを基にイメージデータを描画するレンダラと、
前記レンダラにより描画されたページのイメージデータを記録媒体に形成し、かつ該イメージデータを形成後、サイクルダウン制限時間を経過しても該ページの次のページに対応するイメージデータの形成指示がなかった場合に後回転に入るプリンタエンジンと、
実行手段が生成したページの中間データに対応する描画済みイメージデータのページ数を基に、前記プリンタエンジンに設定されている前記サイクルダウン制限時間の延長を要求する際、前記ページ数を基に延長を要求する時間が異なるように要求する要求手段と、を有し、
前記プリンタエンジンは、前記延長の要求に応じた時間分だけ制限時間が延びたサイクルダウン制限時間に従い後回転に入る動作を遅延させることを特徴とする画像形成装置。
【請求項9】
第1の実行手段は、印刷データを基に中間データをページ単位で生成する処理を行い、
第2の実行手段は、前記第1の実行手段と並行して印刷データを基に中間データをページ単位で生成する処理を行い、
レンダラは、前記第1の実行手段、または前記第2の実行手段の何れか1つの実行手段により生成された中間データを基に1ページ分のイメージデータを描画し、
プリンタエンジンは、前記レンダラにより描画されたページのイメージデータを記録媒体に形成し、かつ該イメージデータを形成後、サイクルダウン制限時間を経過しても該ページの次のページに対応するイメージデータの形成指示がなかった場合にエンジン内部の各ユニットを停止させ、
要求手段は、前記第1の実行手段が所定のページの中間データを生成中の際、前記第2の実行手段が生成した該所定のページ以降のページの中間データに対応する描画済みイメージデータのページ数を基に、前記プリンタエンジンに設定されている前記サイクルダウン制限時間の延長を要求し、
更に、前記プリンタエンジンは、前記延長の要求により制限時間が延びたサイクルダウン制限時間に従いエンジン内部の各ユニットを停止させることを特徴とする画像形成装置を制御する制御方法。
【請求項10】
請求項9に記載の制御方法をプリンタエンジンを有する画像形成装置に実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−218178(P2012−218178A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−82890(P2011−82890)
【出願日】平成23年4月4日(2011.4.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】