(57)【特許請求の範囲】
【請求項１】
画像データを受信し、当該受信した画像データに基づいてエンジンが媒体に対して画像形成を行う、画像形成装置であって、
前記受信した画像データを格納し、１ページ分の前記画像データに対して所定容量の領域を備えるデータ格納手段と、
前記データ格納手段に格納された画像データを所定タイミングで読み出し前記エンジン側へ転送するデータ転送手段と、
１ページ分の前記画像データの受信中に、前記データ格納手段の前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの予測量とに基いて、当該ページについての、前記データ転送手段によるデータ転送の前記所定タイミングを決定する判断手段とを有し、
前記判断手段は、前記１ページ分の画像データの受信中において、前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの前記予測量とを比較し、当該比較に基いて、前記所定タイミングに達したか否かを判断し、
前記比較の結果が、前記空き容量の方が小さいことを示す場合には、前記所定タイミングに達していないと判断され、当該判断の後、前記画像データの受信が経過した後に、再度、前記比較と前記所定タイミングに達したか否かの判断がなされる
ことを特徴とする画像形成装置。
【請求項２】
画像データを受信し、当該受信した画像データに基づいてエンジンが媒体に対して画像形成を行う画像形成装置の制御方法であって、
前記画像形成装置は、前記受信した画像データを格納し、１ページ分の前記画像データに対して所定容量の領域を備えるデータ格納手段を有し、
１ページ分の前記画像データの受信中に、前記データ格納手段の前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの予測量とに基いて、当該ページの画像データについて、前記データ格納手段から前記エンジン側へ転送するタイミングを決定し、当該タイミングで前記転送がなされるように制御し、
前記１ページ分の画像データの受信中において、前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの前記予測量とを比較し、当該比較に基いて、前記エンジン側へ転送するタイミングに達したか否かを判断するように制御し、
前記比較の結果が、前記空き容量の方が小さいことを示す場合には、前記エンジン側へ転送するタイミングに達していないと判断され、当該判断の後、前記画像データの受信が経過した後に、再度、前記比較と前記エンジン側への転送タイミングに達したか否かの判断がなされる
ことを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置から送信される印刷データに基いて画像の形成を行うプリンタなどの画像形成装置等に関し、特に、いわゆるフライングスタートによる印刷時に無駄な印刷を少なくすることができる画像形成装置等に関する。
【背景技術】
【０００２】
通常、紙などの印刷媒体に印刷を実行する印刷システムにおいては、パーソナルコンピュータなどのホスト装置から印刷データを送信し、当該印刷データを受信した印刷装置が当該印刷データに基づいて上記印刷を実施する。そして、印刷が完了するまでの間に、前記印刷データについては、ホスト装置のアプリケーションから発せられる印刷要求のデータを画素毎の色の濃度値で表した画像データとする処理、当該画像データの色表現を印刷装置における色表現に変換する処理、当該色変換後のデータをドットのイメージとする処理等が行われる。このような印刷システムにおいて、近年、上記色変換の処理までをホスト装置側で行わせる所謂ホストベースの処理が行われるようになっており、かかる場合には、色変換後の画像データがホスト装置側で圧縮された後に印刷装置側へ送信され、印刷装置側では、受信したデータを解凍した後に使用する。
【０００３】
このようなホストベースのシステムにおいては、印刷装置側に、ホスト装置から圧縮されて送信される印刷データを格納するための、所定容量のバッファが設けられるが、送信されるデータ容量が大きくこのバッファに収まらない場合も発生し得る。下記特許文献１では、かかる場合に、ホスト装置側で印刷データの圧縮率を変更するなどして印刷データを作成し直し、印刷装置へ再送する旨の提案がなされている。
【０００４】
一方、かかるシステムの印刷装置側では、前述したバッファ（メモリ）にホスト装置から送信されるデータを受信して格納する処理と、当該格納されたデータを読み出して印刷エンジンに転送する処理とが行われるが、印刷装置がページ単位で印刷処理を実行するいわゆるページプリンタである場合には、印刷エンジンがページ単位の印刷処理を連続動作で実行するため、前記印刷エンジンへのデータ転送を開始した後は、ページの途中で当該データ転送を中止することができない。そのため、印刷エンジンに転送するデータは読み出す際に既に受信されメモリに格納されている必要がある。
【０００５】
前記メモリに１ページ分のデータが格納されるのを待ってから、当該ページについて印刷エンジンへの転送を開始するという方法を取ることにより、上述の条件は満たされ、印刷エンジンにおける印刷動作においてデータが間に合わないという事態は発生しないが、印刷エンジンでの印刷動作の開始時刻が遅くなるという問題がある。
【０００６】
そこで、１ページ分のデータが格納されるのを待たずに、ある程度のデータが格納された時点で印刷エンジンへの転送を開始する、いわゆるフライングスタートが従来より提案されている。かかるフライングスタートにより、印刷エンジンでの印刷処理の開始時刻を早めることができ、プリンタにおけるスループットを向上させることができる。
【０００７】
このフライングスタートのタイミングについては、印刷エンジンにおける印刷処理にデータが間に合わないという事態、即ち、転送すべきデータがメモリに格納されていないことによる印刷の失敗が発生しない範囲で早い方がよく、かかるタイミングの決め方について幾つかの提案がなされている。
【特許文献１】特開２００３−４４２３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のこのようなシステムにおいては、主にホスト装置側で行なわれる、前述したバッファに収まらずにメモリ不足となると判断されてデータを作り直す処理と、印刷装置側で行なわれるフライングスタートのタイミングを決定して実行する処理とが、独立して行なわれていた。
【０００９】
従って、フライングスタートを行なった後に、前記メモリ不足となって印刷をやり直すという場合も発生し、かかる場合には、既に印刷エンジンによる印刷動作が始まった後に当該ページの印刷をやり直すこととなって、用紙やトナーなどを無駄に消費してしまうことになる。特に、印刷エンジンへのデータ転送時間が長い印刷装置においては、このようなケースが起こりやすく無駄な印刷を行ってしまう危険性が高い。
【００１０】
そこで、本発明の目的は、ホスト装置から送信される印刷データに基いて画像の形成を行う画像形成装置であって、いわゆるフライングスタートによる印刷時に無駄な印刷を少なく抑えることのできる画像形成装置等を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の一つの側面は、画像データを受信し、当該受信した画像データに基づいてエンジンが媒体に対して画像形成を行う、画像形成装置が、前記受信した画像データを格納し、１ページ分の前記画像データに対して所定容量の領域を備えるデータ格納手段と、前記データ格納手段に格納された画像データを所定タイミングで読み出し前記エンジン側へ転送するデータ転送手段と、１ページ分の前記画像データの受信中に、前記データ格納手段の前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの予測量とに基いて、当該ページについての、前記データ転送手段によるデータ転送の前記所定タイミングを決定する判断手段とを有することである。
【００１２】
更に、上記の発明において、その好ましい態様は、前記判断手段は、前記１ページ分の画像データの受信中において、前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの前記予測量とを比較し、当該比較に基いて、前記所定タイミングに達したか否かを判断することを特徴とする。
【００１３】
更に、上記の発明において、好ましい態様は、前記比較の結果が、前記空き容量の方が小さいことを示す場合には、前記所定タイミングに達していないと判断され、当該判断の後、前記画像データの受信が経過した後に、再度、前記比較と前記所定タイミングに達したか否かの判断がなされることを特徴とする。
【００１４】
上記の目的を達成するために、本発明の別の側面は、画像データを受信し、当該受信した画像データに基づいてエンジンが媒体に対して画像形成を行う画像形成装置の制御方法において、前記画像形成装置は、前記受信した画像データを格納し、１ページ分の前記画像データに対して所定容量の領域を備えるデータ格納手段を有し、１ページ分の前記画像データの受信中に、前記データ格納手段の前記所定容量の領域における空き容量と、当該ページの未だ受信していないデータの予測量とに基いて、当該ページの画像データについて、前記データ格納手段から前記エンジン側へ転送するタイミングを決定し、当該タイミングで前記転送がなされるように制御することである。
【００１５】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００１７】
図１は、本発明を適用した画像形成装置であるプリンタの実施の形態例に係る構成図である。図１に示すプリンタ２が本実施の形態例に係る画像形成装置であり、いわゆるフライングスタートのタイミングを、対象としているページの残りの予測データ量とバッファの空き容量とを考慮して決定し、フライングスタート後の印刷やり直しを少なく抑えようとするものである。
【００１８】
図１に示すホストコンピュータ１は、プリンタ２に対して印刷要求を行うホスト装置であり、いわゆるパーソナルコンピュータなどの汎用的なコンピュータで構成することができる。ホストコンピュータ１には、印刷要求元のアプリケーションと当該アプリケーションからの要求を受けてプリンタ２に送信する印刷データを生成するプリンタドライバが備えられている（双方とも図示せず）。このプリンタドライバでは、印刷する画像を、プリンタ２において使用される色（例えば、ＣＭＹＫ）によって表現した画像データ（画素毎のデータ）として生成し、生成した画像データにはページ毎に各種制御情報であるヘッダーを付加して前記印刷データを生成する。また、生成された印刷データは、圧縮された後にプリンタ２に送信される。このように、本実施の形態例では、前述したホストベースのシステムを想定している。
【００１９】
プリンタ２は、前記ホストコンピュータ１から送信される印刷データを受信して、ページ単位で印刷を実行するページプリンタ（例えば、４サイクルのレーザプリンタ等）であり、図１に示すように、コントローラ１０と印刷エンジン２０が備えられている。コントローラ１０は、前記印刷データを受信し、必要な加工を施した後に印刷エンジン２０に渡す一連の処理を行う回路として、Ｉ／Ｆ１１、ＤＭＡコントローラ１２、データ伸長回路１３、ビデオコントローラ１４を備えている。これらの処理回路は、例えば、ＡＳＩＣ等の専用ハードウェアロジック回路で構成することができる。
【００２０】
また、コントローラ１０は、本プリンタ２において行われる各種処理を制御するＣＰＵ１５、主に受信バッファメモリとして用いられるＤＲＡＭ１６（データ格納手段）、プログラム等を格納したＲＯＭ１７を備えており、それらは、図１に示すように、相互にデータ授受可能に接続されている。
【００２１】
まず、ホストコンピュータ１から送信される印刷データは、Ｉ／Ｆ１１で受信され、受信された印刷データに含まれる画像データは、ＤＭＡコントローラ１２によってＤＲＡＭ１６に転送されてＤＲＡＭ１６に格納される。ここで、ＤＲＡＭ１６には１ページ分の画像データの格納に対して所定容量の領域を備えている。格納された画像データは、所定のタイミングでＤＭＡコントローラ１２によりＤＲＡＭ１６から読み出されてデータ伸長回路１３に転送される。転送される画像データは、前述の通り、圧縮されているので、当該データ伸長回路１３において伸長の処理が実行され、それによりビデオデータが生成される。生成されたビデオデータは、ビデオコントローラ１４により、印刷エンジン２０からの垂直同期信号、水平同期信号に同期して印刷エンジン２０に送信される。印刷エンジン２０では、送信されたビデオデータに基づく印刷が実行され、紙などの印刷媒体に対する画像形成がなされる。
【００２２】
これらプリンタ２においてなされる一連の処理は、ＲＯＭ１７に記録されたプログラムに従ってＣＰＵ１５により制御される。本実施の形態例に係るプリンタ２は、以上説明した処理のうち、印刷データを受信して格納し、当該格納したデータを所定のタイミングで印刷エンジン２０側へ転送する処理、さらに具体的には、データを受信中のページについてフライングスタートのタイミングを決定する処理に特徴を有し、以下、かかるデータ受信及び転送処理について具体的に説明する。なお、ここで、印刷エンジン２０へのデータ転送開始は、印刷エンジン２０による対象ページについての印刷動作の開始を意味し、更に、言い換えれば、印刷エンジン２０における給紙処理の開始を意味する。図２は、１ページについてのデータ受信と転送開始に係る処理を例示したフローチャートである。
【００２３】
まず、ホストコンピュータ１から送信された印刷データについて、処理の対象とするページの印刷データの受信を開始する（ステップＳ１）。また、ここで、対象ページについての暫定の給紙処理開始タイミングを決定する。すなわち、暫定のフライングスタートタイミングを決定する。なお、１ページ分の印刷データは、前述の通り、ヘッダーと画像データから成っており、画像を表現する画像データは、１ページを高さ方向に所定の間隔で分割した各領域であるバンドの単位で扱われる。このバンド毎に分割された画像データのことを、以降、バンドデータと呼ぶこととする。
【００２４】
上記給紙処理開始タイミングの決定は、例えば、プリンタ２が当該ページについて既に受信したバンドデータの数によって行うことができ、かかる場合、例えば、全バンドの１／１０のバンドについてデータを受信した時点で給紙処理開始を開始すると決定することができる。かかるタイミングの決定は、ホストコンピュータ１側で予め決定されたものを受信してその通り決定しても良いし、予めプリンタ２内にデフォルト値として収められているものを利用しても良い。
【００２５】
このようにして、データ受信が開始され、プリンタ２が各バンドデータをホストコンピュータ１から順次受信するが（ステップS２）、各バンドデータを受信する毎に、まず、当該受信したバンドデータのデータ量と、残りのバッファ容量を比較する（ステップＳ３）。ここで、残りのバッファ容量とは、受信した画像データ用に前記ＤＲＡＭ１６内に確保されたバッファ（所定容量の領域）の残容量（空き容量）のことである。図３の（ａ）は、この比較について、その一例を模式的に示した図である。図中のバッファ容量が、上記ＤＲＡＭ１６内に確保されたバッファの全容量を表しており、そのうちの塗りつぶされた部分は既に受信されたデータが格納されている部分を示している。従って、この例では、残りの白い部分が前述した残りのバッファ容量（Ｓ）を表している。一方、その右側に示した塗りつぶしの矩形は、今回受信したバンドデータを表しており、そのデータ量（Ｖ）と前記残りのバッファ容量（Ｓ）が上記比較の対象となる。
【００２６】
かかる比較の結果、残りのバッファ容量よりも今回受信したバンドデータの量の方が大きい場合には（ステップＳ３のＮｏ）、すなわち、図３の（ａ）に示す例のような場合には、もはや対象としているページについてデータが当該バッファには収まらないので、メモリ不足と判断しエラー処理を行なう（ステップＳ４）。この場合には、当該ページについてホストコンピュータ１で行なう印刷データの生成処理からやり直すことになる。具体的には、データ量が小さくなるように圧縮方法の変更等がなされる。
【００２７】
一方、残りのバッファ容量が今回受信したバンドデータを収められる場合には（ステップＳ３のＹｅｓ）、バッファにデータを格納し、前記決定した暫定の給紙処理開始タイミングに達したか否かをチェックする（ステップＳ５）。そして、未だ当該給紙タイミングに達していない場合には（ステップＳ５のＮｏ）、次のバンドデータの受信を行なう。すなわち、前述したメモリ不足（Ｓ４）になるか、給紙タイミングに達するまで、順次、各バンドデータについてステップＳ２及びＳ３の処理が繰り返し行われる。
【００２８】
そして、給紙タイミングに達した場合には（ステップＳ５のＹｅｓ）、ここで、本当に給紙処理を開始するか否かの判断がなされる。まず、この時点で当該ページについての未だ受信していない残りのデータ量を予測し、その予測量と、この時点での前述した残りのバッファ容量を比較する（ステップＳ６）。ここで、上記当該ページの残りのデータ量は、受信済みであるバンドデータの累計容量を受信済みのバンド（データ）数で割ることにより、１バンドデータの平均容量を求め、プリンタ２側で既知である当該ページの全バンド数から求まる未受信のバンド数（残りのバンド数）に、この平均容量をかけることによって予測することができる。なお、この予測法は一例であって、他の方法を用いてもよい。
【００２９】
図３の（ｂ）は、上記比較（Ｓ６）について、その一例を模式的に示した図である。図３の（ａ）の場合と同様に、図中のバッファ容量は、前記バッファの全容量を表しており、そのうちの塗りつぶされた部分は既に受信されたデータが格納されている部分を示している。従って、残りの白い部分が前述した残りのバッファ容量（Ｓ）を表している。一方、その右側に示した各矩形は、上記予測に基く当該ページの残りのデータを表しており（２例）、そのデータ量（ＰＶ１、ＰＶ２）と前記残りのバッファ容量（Ｓ）が上記比較の対象となる。
【００３０】
かかる比較の結果、残りのバッファ容量が上記残りのデータの予測量よりも大きくない場合には（ステップＳ６のＮｏ）、すなわち、図３の（ｂ）に示すＰＶ１のような場合には、この時点では給紙処理を開始せず、前記決定した暫定の給紙処理開始タイミングを変更する（ステップＳ７）。具体的には、予め定めた方法に基いて、よりデータ受信が進んだ段階に変更する。例えば、受信済みのバンド数で当該タイミングが決定されている場合に、そのバンド数を所定数増加させることによってタイミングの変更を行なう。
【００３１】
その後、当該変更された給紙タイミングに至るまで、各バンドデータの受信処理、すなわち、前述したステップＳ２からの処理が継続される。このように、本プリンタ２では、対象とするページのデータ量が備えられているバッファよりも大きいと予測される場合には、前述したメモリ不足によるエラー（Ｓ４）となって当該ページの処理がホストコンピュータ１側からやり直される可能性が高いので、無駄な印刷を行わないように、その時点では未だフライングスタートをしない。
【００３２】
一方、残りのバッファ容量が上記残りのデータの予測量よりも大きい場合には（ステップＳ６のＹｅｓ）、すなわち、図３の（ｂ）に示すＰＶ２のような場合には、給紙処理を開始するか否かについて、次の判断を行なう。具体的には、当該ページについての残りの受信時間と転送時間を比較する（ステップＳ８）。ここで、残りの受信時間は、当該ページの未だ受信していないデータについて受信が完了するまでの予測時間であり、転送時間は、印刷エンジン２０における印刷動作（給紙動作）の開始後、前記バッファに収められた１ページのデータが印刷エンジン２０側へ転送し終わるまでの時間である。
【００３３】
そして、上記残りの受信時間は、例えば、前記予測した残りのデータ量を、当該ページについてこれまでに受信したデータ量と受信時間から求まる平均受信速度で割ることによって求めることができる。なお、他の方法で予測をしてもよい。また、前記転送時間は、固定値として予め定められている。
【００３４】
前記比較の結果、残りの受信時間の方が転送時間よりも大きい場合には（ステップＳ８のＮｏ）、この時点で給紙処理を開始すると印刷エンジン２０への転送処理にデータ受信が間に合わなくなる可能性が高いため、この時点ではフライングスタートせず、前記暫定の給紙タイミングを変更する（ステップＳ７）。変更は、よりデータ受信が進んだ段階に変更する。例えば、残りの受信時間が転送時間以下になるタイミングを予測してそのタイミングを新しい給紙タイミングにすることができる。また、前述したように、受信済みのバンド数で当該タイミングが決定されている場合に、そのバンド数を所定数増加させることによってタイミングの変更を行なうこともできる。
【００３５】
その後、当該変更された給紙タイミングに至るまで、各バンドデータの受信処理、すなわち、前述したステップＳ２からの処理が継続される。
【００３６】
一方、残りの受信時間が転送時間以下である場合には（ステップＳ８のＹｅｓ）、この時点で、当該ページについてメモリ不足になる危険性が少なく、かつ、転送処理にデータ受信が間に合わないことも起こる可能性が低いので、給紙処理を開始する（ステップＳ９）。すなわち、印刷エンジン２０の印刷動作を開始する。これにより、前記バッファに格納された当該ページのデータが順次印刷エンジン２０側へ転送されていくことになる。
【００３７】
以上説明したように、本実施の形態例に係るプリンタ２では、フライングスタートの判断において、対象とするページの予測データ量とそのデータを格納するために備えられたバッファの容量を考慮し、今後受信される残りのデータ量がバッファの空き容量以上であると予測される時点では、フライングスタートを行なわないように制御される。従って、データ量が大きすぎてホストコンピュータ１側でのデータ生成からし直す可能性が高いページについて、フライングスタートが行なわれない。これにより、フライングスタート後に、言い換えれば、印刷エンジン２０での印刷動作が開始された後に、そのページについて、メモリ不足によりホストコンピュータ１側でのデータ生成からし直す可能性は小さくなり、従来のような無駄な印刷を少なく抑えることができるようになる。
【００３８】
また、上記残りのデータ量とバッファの空き容量に基くフライングスタートの判断が、対象とするページのデータ受信中に繰り返し実行されるので、受信処理の初期の段階で行なわれる精度のあまり高くない残データ予測量に基く上記判断で、当該ページについてフライングスタートを諦めてしまうことがない。従って、当初はデータ量が大きいと予測されたが実際にはバッファに格納し得るページについて、フライングスタートをできる可能性があり、無駄な印刷を抑える一方でスループットの向上に寄与できる。
【００３９】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００４０】
【図１】本発明を適用した画像形成装置の実施の形態例に係る構成図である。
【図２】１ページについてのデータ受信と転送開始に係る処理のフローチャートである。
【図３】バッファ容量と格納するデータ量との関係を説明するための図である。
【符号の説明】
【００４１】
１  ホストコンピュータ、  ２  プリンタ、  １０  コントローラ、  １１  Ｉ／Ｆ、  １２  ＤＭＡコントローラ（データ転送手段）、  １３  データ伸長回路、  １４  ビデオコントローラ、  １５  ＣＰＵ（データ転送手段、判断手段）、  １６  ＤＲＡＭ（データ格納手段）、  １７  ＲＯＭ（データ転送手段、判断手段）、  ２０  印刷エンジン
【図１】
0004618106.tif 000002
【図２】
0004618106.tif 000003
【図３】
0004618106.tif 000004