(57)【要約】【課題】  印刷に失敗する用紙を最小限に留め、また片面で印刷に失敗した用紙にはそれ以上無駄なトナーを消費させないようにする。【解決手段】  ホストベース印刷システムのようにコスト的にプリンタに大容量のメモリを搭載できない印刷システムに置いて、二枚滞留交互給紙による両面印刷中にアンダーランエラーが発生した場合、ホストコンピュータはプリンタ機内に滞留している用紙を把握し、片面の印刷に成功している用紙に対してはもう片面の印刷データを送信し両面印刷を成功させ、一方、片面がアンダーランエラーで滞留している用紙に対してはもう片面の印刷データとして白紙データ（白データ）を送信する。【選択図】  図１
2008003912.tif 000002
【特許請求の範囲】
【請求項１】
片面を印刷済みの第１媒体における他面の印刷に先行して第２媒体を給紙部より給紙し片面を印刷し、前記第２媒体の片面印刷に平行し前記媒体の両面印刷の為の搬送動作を行い、前記第２媒体の片面を印刷した後に前記両面印刷の為の搬送動作を行った第１媒体を給紙し両面印刷を行う、交互給紙可能な印刷装置と通信可能で、アプリケーションデータに基づく印刷データを生成可能な情報処理装置であって、
前記交互給紙による印刷ページ順に従う印刷データをインタフェースを介して印刷装置に出力する第１出力手段と、
前記印刷装置の状態情報を取得する第１取得手段と、
前記印刷データに基づく印刷の状況情報を取得する第２取得手段と、
前記第１取得手段により取得された状態情報に基づき新たに給紙される媒体に対して、画像データを印刷機構部へビデオ出力する速度の方が、情報処理装置から画像データを受信する速度よりも速いために、印刷途中で画像データの受信バッファが空になり画像が途中で切れてしまい印刷に失敗する現象（以後、アンダーランエラーと記す）が検知されると、前記交互給紙による印刷ページ順を変更すべく、既に給紙済みで片面を印刷済みの滞留している媒体における未印刷ページの印刷データを印刷装置に出力する第２出力手段と、
片面が前記アンダーランエラーで印刷に失敗した状態で滞留している媒体における未印刷ページの印刷データとして、白紙データを印刷装置に出力する第３出力手段を有することを特徴とする情報処理装置。
【請求項２】
前記請求項１において、印刷を実行している用紙がアンダーランエラー（印刷失敗）となった時、プリンタの印刷動作が停止するのを待ち、次の印刷データを送信する前に、プリンタのページメモリのクリア（リセット）を指示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記請求項１において、第３の出力手段により滞留していた最後の用紙を出力した後、アンダーランエラーが発生したことを表示することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記請求項１において、第３の出力手段は白紙データを印刷装置に送信して出力したが、第４の出力手段として強制排紙コマンドを印刷装置に送信することにより出力することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
片面が印刷済みで滞留している媒体の印刷に対するアンダーランが検知されると、前記交互給紙による印刷ページ順を変更せずに、既に給紙済みで片面を印刷済みの滞留している媒体における未印刷ページの印刷データを印刷装置に出力する第２出力手段とを有することを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションソフト（ワープロなど）で作成された印刷データを、印刷装置へ出力する情報処理装置の印刷制御に関するものである。
【背景技術】
【０００２】
従来、この種の印刷装置において、二枚滞留交互給紙による両面印刷が可能な印刷装置が提案されている。
【０００３】
このような印刷装置において、両面印刷を実行する場合、第一面を印刷後、第二面の印刷を開始するまでに、用紙の前端と後端を反転させた後に用紙を感光ドラムまで搬送する。いわゆる再給紙を行う必要があり、一枚滞留の両面印刷ではこの間印刷が行えないため、印刷速度が遅くなる。
【０００４】
一方、二枚滞留交互給紙の両面印刷においては、この問題を解決するために、上記の反転および再給紙を行っている時間を利用して、別の用紙を印刷することにより印刷速度が遅くならないようにしている。
【０００５】
この二枚滞留交互給紙の両面印刷を実現するために、印刷装置は大容量のページメモリに複数ページの印刷データを保持することで、印刷順序の変更（通常の印刷では、1,2,3,4,5,….のページ順で印刷する。しかし、二枚滞留交互給紙の場合は、2,4,1,6,3,8,5,10…..のページ順で印刷することになる）や、エラーが発生した場合、保持された印刷データを用いてエラー回復を行うのが一般的である。
【０００６】
ところで、この方法によって両面印刷を行うためには，少なくとも２ページの印刷データを保持可能な容量のメモリを印刷装置に保持しなければエラー回復が行えず、またプリンタエンジンの最高印刷速度で印刷するためには通常４ないし８ページの印刷データを保持可能な容量のメモリを必要とする。このため、特にデータサイズが大きい高解像度プリンタあるいはカラープリンタにおいては印刷データを保持するために大容量のメモリが必要になり，印刷装置のコストが上昇するという問題があった。
【０００７】
そこで、この問題を解決するため、エラー回復用のページメモリを情報処理装置に持ち、また二枚滞留交互給紙による両面印刷の印刷ページ順を情報処理装置で決定し、その順番で印刷データを印刷装置に送信するという方法が、特に低価格競争が激しくコスト的に大容量のメモリを搭載できないホストベース印刷システムで使われている。
【０００８】
しかしながら、印刷装置に小容量のメモリしか搭載しない場合、次のような新たな問題が発生する。ホストベース印刷システムでは、情報処理装置から転送されたビットマップにレンダリングされた画像データを受信すると、印刷装置のメモリに格納し、そのメモリからビットマップデータをプリンタエンジンへビデオ信号として出力するのが一般的である。ビットマップデータの転送を開始し、ある程度印刷装置のメモリに格納できたら、印刷を実行しビデオデータの出力を開始させてしまい、その後はビットマップデータを転送しながら、一方でビデオ出力も行うことで、少ないメモリ容量で印刷することを可能としている。しかし、情報処理装置から印刷装置へのデータ転送速度が遅いと、印刷途中で印刷装置へ出力するビデオデータが無くなってしまい、印刷が失敗してしまうことがある（以後、アンダーランエラーと記述する）
ここで二枚滞留交互給紙による両面印刷中にアンダーランエラーが発生した場合を考える。先にも述べたように二枚滞留交互給紙の両面印刷でフェイスダウントレイに排紙する場合は、以下のようなページ順で印刷を行う。
【０００９】
1B(2)→2B(4)→1A(1)→3B(6)→2A(3)→4B(8)→3A(5)→5B(10)→4A(7)…となる。
【００１０】
ただし、表面をＡと、裏面をＢとし、（）内はページ数を示す。
【００１１】
また、フェイスアップトレイに排紙する場合は、上記印刷順序で各用紙の表裏の順番が入れ替わるだけの違いなので、以後フェイスアップトレイに排紙する場合で説明する。
【００１２】
ここで、4B(8) でアンダーランエラーが発生したとする。このとき印刷装置内には第一面のみ印刷完了した3B(6)と、第一面がアンダーランエラーとなった4B(8)の二枚の用紙が滞留している。従来の印刷装置では、次に3A(5)の印刷を実行し３枚目の用紙は印刷完了とさせ、４枚目の用紙は第一面がアンダーランエラーで印刷失敗しているので、第二面は印刷をせずに排紙させていた。
【００１３】
同様のことをホストベース印刷システムでも行えばよいのだが、画像データを印刷装置のメモリに連続的に書き込んでしまい、ページの境界がわからないホストベース印刷システムでは、あるページでアンダーランエラーが発生すると、印刷が途切れたそのページの残りのデータがメモリに残ってしまい、次ページのデータの先頭を特定できなくなる。
【００１４】
従来例としては、例えば、両面印刷の第一面目に印刷エラーが検出された場合、用紙搬送経路を切り替え本体外へ排出する（両面ユニットには入れない）ものがある（特許文献１参照）。
【特許文献１】特開平02-239058号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
そのため、従来のホストベース印刷システムでは、上記例でアンダーランエラーが発生した場合、印刷装置内に滞留している３枚目、４枚目の用紙の第二面は両方とも印刷をせず強制排紙させていた。つまり、第一面の印刷が成功している３枚目の用紙も結果として印刷失敗用紙としていた。
【００１６】
本発明は、上記の問題点を解決するためになされたもので、二枚滞留交互給紙による両面印刷を行うホストベース印刷システムにおいて、連続ページ印刷中にアンダーランエラーが発生しても、第一面の印刷に成功し印刷装置の中に滞留している用紙は、第二面の印刷を正しく実行し、極力無駄な用紙を出さない仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１７】
（手段１）
上記目的を達成するために本発明のプリンタ及び、外部装置は以下のような構成を備える。
【００１８】
即ち、
片面を印刷済みの第１媒体における他面の印刷に先行して第２媒体を給紙部より給紙し片面を印刷し、前記第２媒体の片面印刷に平行し前記媒体の両面印刷の為の搬送動作を行い、前記第２媒体の片面を印刷した後に前記両面印刷の為の搬送動作を行った第１媒体を給紙し両面印刷を行う、交互給紙可能な印刷装置と通信可能で、アプリケーションデータに基づく印刷データを生成可能な情報処理装置であって、
前記交互給紙による印刷ページ順に従う印刷データをインタフェースを介して印刷装置に出力する第１出力手段と、
前記印刷装置の状態情報を取得する第１取得手段と、
前記印刷データに基づく印刷の状況情報を取得する第２取得手段と、
前記第１取得手段により取得された状態情報に基づき新たに給紙される媒体に対するアンダーランエラー（印刷失敗）が検知されると、前記交互給紙による印刷ページ順を変更すべく、既に給紙済みで片面を印刷済みの滞留している媒体における未印刷ページの印刷データを印刷装置に出力する第２出力手段と、
片面がアンダーランエラーにより印刷に失敗し（印刷画像が途中で切れる）滞留している媒体における未印刷ページの印刷データとして白紙データを印刷装置に出力する第３出力手段と、
を有する。
【００１９】
（手段２）
上記目的を達成するために本発明のプリンタ及び、外部装置は以下のような構成を備える。
【００２０】
即ち、
印刷を実行している用紙がアンダーランエラー（印刷失敗）となった時、プリンタの印刷動作が停止するのを待ち、次の印刷データを送信する前に、プリンタのページメモリのクリア（リセット）を指示する手段、
を有する。
【００２１】
（手段３）
上記目的を達成するために本発明のプリンタ及び、外部装置は以下のような構成を備える。
【００２２】
即ち、
第３の出力手段により滞留していた最後の用紙を出力した後、アンダーランエラーが発生したことを表示する手段、
を有する。
【００２３】
（手段４）
上記目的を達成するために本発明のプリンタ及び、外部装置は以下のような構成を備える。
【００２４】
即ち、
第３の出力手段は白紙データを印刷装置に送信して出力したが、第４の出力手段として強制排紙コマンドを印刷装置に送信することにより滞留用紙を排紙する手段、
を有する。
【００２５】
（手段５）
上記目的を達成するために本発明のプリンタ及び、外部装置は以下のような構成を備える。
【００２６】
即ち、
すでに片面が印刷済みで滞留している媒体の印刷（両面印刷）に対するアンダーランが検知されると、前記交互給紙による印刷ページ順を変更せずに、既に給紙済みで片面を印刷済みの滞留している媒体における未印刷ページの印刷データを印刷装置に出力する第２出力手段、
を有する。
【発明の効果】
【００２７】
本発明によれば、二枚滞留交互給紙による両面印刷を行うホストベース印刷システムにおいて、連続ページ印刷中にアンダーランエラーが発生しても、第一面の印刷に成功し印刷装置の中に滞留している用紙は、第二面の印刷を正しく実行することができる。
【発明を実施するための最良の形態】
【００２８】
以下、添付図面にしたがって本発明の実施の形態について説明する。
【実施例１】
【００２９】
［ホストベース印刷システムの構成（図１）］
図１は、本発明の実施の形態に係る画像記録装置の構成を示す図である。
【００３０】
同図において、データ処理装置１０１は、例えば、ホストコンピュータであり、画像情報の供給源又はプリンタの制御装置として機能する。この実施の形態においては、印刷装置１０２として、タンデム方式のカラーレーザビームプリンタ（以下「プリンタ」という）を用いている。本実施の形態において適用される画像記録装置は、レーザビームプリンタに限られるものではなく、インクジェットプリンタ等の他のプリント方式のプリンタでもよいことは言うまでもない。
【００３１】
ビデオコントローラ１０３は、データ処理装置１０１から供給される画像データ（ホストベース印刷システムにおいてはビットマップデータ）を受信し、プリンタエンジン１０５に送出する。
【００３２】
プリンタエンジン１０５は、ビデオコントローラ１０３から供給される画像データに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着（電子写真方式）することにより画像を記録する。
【００３３】
パネル部１０４は、ユーザインタフェースとして使用される。ユーザは、パネル部１０４を操作することにより、所望の動作を指示することができる。また、パネル部１０４には、プリンタ１０２の処理内容やユーザへの警告内容が表示される。
【００３４】
［レーザビームプリンタの説明（図２）］
図２は、プリンタ１０２（タンデム式カラーレーザプリンタ）の構成を説明する断面図である。
【００３５】
同図において、２０１はプリンタ筐体である。２０２は、ユーザが各種指示を与えるためのスイッチ、プリンタの状態を表示するためのＬＥＤ表示器等が配された操作パネルであり、図１に示すパネル部１０４の一態様である。２０３は、ボードの収容部であり、ビデオコントローラ１０３及びプリンタエンジン１０５の電子回路部分を構成するボードを収容する。
【００３６】
２２０は、用紙（記録媒体）Ｓを保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。２２１は、カセットクラッチであり、用紙カセット２２０上に載置された用紙Ｓの最上位の一枚を取り出して、取り出した用紙Ｓを不図示の駆動手段から伝達される駆動力によって給紙ローラ２２２まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙Ｓを給紙する。２２３は用紙検知センサで、それぞれ用紙カセット２２０に保持されている用紙Ｓの量を検知する。
【００３７】
給紙ローラ２２２は、用紙Ｓの先端部をレジストシャッタ２２４まで搬送するローラである。レジストシャッタ２２４は、用紙Ｓを押圧することにより給紙を停止することができる。
【００３８】
２３０は手差しトレイであり、２３１は手差し給紙クラッチである。手差し給紙クラッチ２３１は、用紙Ｓの先端を手差し給紙ローラ２３２まで搬送するために使用され、手差し給紙ローラ２３２は用紙Ｓの先端をレジストシャッタ２２４まで搬送するために使用される。画像記録に供する用紙Ｓは、用紙カセット２２０及び手差しトレイ２３０のいずれかの給紙手段を選択して給紙される。
【００３９】
プリンタエンジン１０５は、ビデオコントローラ１０３と所定の通信プロトコルにしたがって通信を行い、ビデオコントローラ部１０３からの指示にしたがって用紙カセット２２０や手差しトレイ２３０の中からいずれかの給紙手段を選択し、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ２２４まで用紙Ｓを搬送する。なお、プリンタエンジン１０５は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含む。
【００４０】
２０４ａ，２０４ｂ，２０４ｃ，２０４ｄは、それぞれ感光ドラム２０５ａ，２０５ｂ，２０５ｃ，２０５ｄやトナー保持部等を有する画像記録部であり、電子写真プロセスにより用紙Ｓ上にトナー像を形成する。一方、符号２０６ａ，２０６ｂ，２０６ｃ，２０６ｄは、レーザスキャナ部であり、画像記録部にレーザビームによる画像情報を供給する。
【００４１】
画像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄには、用紙Ｓを搬送する用紙搬送ベルト２５０が複数の回転ローラ２５１〜２５４によって用紙搬送方向（図２の下から上方向）に扁平に張設され、その最上流部においては、バイアスを印加した吸着ローラ２２５によって、用紙を用紙搬送ベルト２５０に静電吸着させる。またこのベルト搬送面に対向して４個の感光ドラム２０５ａ，２０５ｂ，２０５ｃ，２０５ｄが直線状に配設されており、画像形成手段を構成している。画像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄのそれぞれには、感光ドラムの周辺近傍を順次取り囲んで、帯電器及び現像器が配置されている。
【００４２】
レーザスキャナ部２０６ａ，２０６ｂ，２０６ｃ，２０６ｄにおいて、２０７ａ，２０７ｂ，２０７ｃ，２０７ｄは、レーザユニットであり、ビデオコントローラ１０３から送出される画像信号（ビデオ信号）に応じて、内蔵の半導体レーザを駆動し、レーザビームを発射する。
【００４３】
レーザユニット２０７ａ，２０７ｂ，２０７ｃ，２０７ｄから発せられたレーザビームは、ポリゴンミラー（回転多面鏡）２０８ａ，２０８ｂ，２０８ｃ，２０８ｄにより走査され、感光ドラム２０５ａ，２０５ｂ，２０５ｃ，２０５ｄ上に潜像を形成する。
【００４４】
符号２６０は定着器で、画像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄにより用紙Ｓに形成されたトナー画像を用紙Ｓに熱定着させる。２６１は搬送ローラであり、用紙Ｓを排紙搬送する。２６２は排紙センサであり、用紙Ｓの排紙状態を検知する。２６３は排紙ローラ兼両面印刷用搬送路切替えローラであり、用紙Ｓを排紙方向へ搬送し、用紙Ｓの搬送指示が排紙の場合は、そのまま排紙トレイ２６４に排紙し、搬送指示が両面搬送の場合は、用紙Ｓの後端が排紙センサ２６２を通過した直後に回転方向を逆向きに変え、スイッチバックすることにより用紙Ｓを両面印刷用搬送路２７０へ搬送する。
【００４５】
２６５は排紙積載量検知センサであり、排紙トレイ２６４上に積載された用紙Ｓの積載量を検知する。
【００４６】
排紙ローラ兼両面印刷用搬送路切替えローラ２６３により両面印刷用に搬送された用紙Ｓは、両面搬送ローラ２７１〜２７４によって再びレジストシャッタ２２４まで搬送されて、画像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄへの搬送指示を待つ。
【００４７】
尚、プリンタ１０２には、さらにオプションカセットや封筒フィーダ等のオプションユニットを装備することができる。
【００４８】
［プリンタ制御系の説明（図３）］
図3は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。ここでは、カラーレーザビームプリンタ（図２）を例にして説明する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００４９】
図において、１０１はホストコンピュータで、ＲＯＭ３０３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形，イメージ，文字，表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ３０１を備え、システムデバイス３０４に接続される各デバイスをＣＰＵ３０１が総括的に制御する。
【００５０】
また、このＲＯＭ３０３のプログラム用ＲＯＭには、本発明図９、図１０のフローチャートで示されるようなＣＰＵ３０１の制御プログラム等を記憶し、ＲＯＭ３０３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデ−タ等を記憶し、ＲＯＭ３０３のデ−タ用ＲＯＭは上記文書処理等を行う際に使用する各種デ−タを記憶する。３０２はＲＡＭで、ＣＰＵ３０１の主メモリ，ワークエリア等として機能する。３０５はキーボードコントローラ（ＫＢＣ）で、キーボード３０９や不図示のポインティングデバイスからのキー入力を制御する。３０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）３１０の表示を制御する。３０７はメモリコントローラ（ＭＣ）で、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ３１１とのアクセスを制御する。３０８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェース（インタフェース）３２０を介してプリンタ１０２に接続されて、プリンタコントローラ部１０３との通信制御処理を実行する。なお、ＣＰＵ３０１は、例えばＲＡＭ３０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ３１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ３０１は、ＣＲＴ３１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００５１】
プリンタ１０２において、３１２はプリンタＣＰＵで、ＲＯＭ３１４のプログラム用ＲＯＭに記憶された制御プログラム等に基づいてシステムバス３１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース３１７を介して接続される印刷部（プリンタエンジン）１０５に出力情報としての画像信号を出力する。ＣＰＵ３１２は入力部３１６を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ１０１に通知可能に構成されている。３１３はＣＰＵ３１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ３１３は、ホストコンピュータより受信した画像データを格納しておくための描画メモリ、ビデオ信号ＯＮ／ＯＦＦ情報格納領域、その他のワーク領域等に用いられる。１０４は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。そして、３１８はメモリコントローラ（ＭＣ）で、ホストコンピュータから受信したビットマップデータ等を記憶するハードディスク（ＨＤＤ）３１９とのアクセスを制御する。
【００５２】
以上のような構成を有するＬＢＰ(プリンタ)１０２において、本実施の形態の制御部による処理動作を説明する。
【００５３】
図４は本発明のホストコンピュータの構成を示すブロック図である。図中、１０１は図３で説明したところによるホストコンピュータである。４０１はオペレーティングシステムであり、ホストコンピュータ１０１が備えるハードウェア、およびアプリケーション４０２、プリンタドライバ４０３、ランゲージモニタ４０４、ポートドライバ４０５などのソフトウェアを管理する。アプリケーション４０２は、例えばワードプロセッサのようなソフトウェアであり、操作者の指示に従って文書の作成・印刷などを行う。４０３はプリンタドライバであり、アプリケーション４０２が発行した印刷指令をオペレーティングシステム４０１を経て受け取り、該印刷指令をランゲージモニタ４０４、およびプリンタ１０２が解釈可能なプリンタコマンドに変換する。４０４はランゲージモニタであり、プリンタドライバ４０３が出力したプリンタコマンドを受け取り、ポートドライバ４０５を経由してプリンタ１０２に送信する。４０５はポートドライバであり、ランゲージモニタ４０４が出力したプリンタコマンドを、例えば、ＵＳＢインタフェースを経てプリンタ１０２へ送信するとともに、プリンタ１０２からステータスを受信した場合にはランゲージモニタ４０４に出力する。１０２はプリンタであり、ポートドライバ４０５から受信したプリンタコマンドに従って印刷を行う。
【００５４】
図５は、プリンタ１０２の構成を示すブロック図である。図中、５０１は例えばＵＳＢインタフェースのようなホストインタフェースであり、ホストコンピュータ１０１からプリンタコマンドを受信する。５０２はＦＩＦＯメモリであり、ホストインタフェース５０１から受信した画像データを格納する。複合回路５０３は、ＦＩＦＯメモリ５０２に記憶された画像データを複合し、プリンタエンジン５０４に出力する。プリンタエンジン５０４は、レーザビームプリンタエンジンであり、例えば１チップＣＰＵで構成され、ネットワークインタフェース５０１、ＦＩＦＯメモリ５０２、複合回路５０３およびプリンタエンジン５０４の制御を行う。
【００５５】
以下、印刷動作について説明する。
【００５６】
ユーザがホストコンピュータ１０１側でアプリケーション４０２を操作して印刷を指示すると、アプリケーション４０２からオペレーティングシステム４０１を経由してプリンタドライバ４０３に印刷指令が渡される。プリンタドライバ４０３はアプリケーション４０２から発行された印刷指令に基づき、画像データに変換して圧縮し、圧縮した画像データを、両面印刷の有無、印刷部数の指定などを指示するジョブ情報コマンド、用紙サイズ、用紙タイプ、給紙口、排紙口、画像データのラインの長さとライン数などを指定するページ情報コマンド、ページの終了を示す終了コマンド、およびジョブの終了を通知するジョブ終了コマンドとともに出力する。なお、両面印刷においては、綴じる辺が長辺か短辺かによって長辺綴じ、短辺綴じの２種類があり、長辺綴じで短辺から給紙するいわゆる縦送りである場合、および短辺綴じで長辺から給紙するいわゆる横送りである場合には、裏面の画像を１８０度回転する必要があるので、プリンタドライバ４０３は予め、綴じ方向と給紙方法に応じて、必要な場合には１８０度回転する。また、本実施例については、排紙先は常にフェースダウントレイが指定される。
【００５７】
プリンタコマンドが出力されると、オペレーティングシステム４０１は出力されたプリンタコマンドを順次ランゲージモニタ４０４へ引き渡す。ランゲージモニタ４０４は、受け取ったプリンタコマンドを順次プリンタ１０２に送信する。なお、ランゲージモニタ４０４は画像データコマンドをプリンタ１０２に送信する前に、ステータス要求コマンドを送信し、プリンタ１０２のステータスを取得して、画像データコマンドが送信可能であることを確認する。制御回路５０５は、画像データコマンドを受信すると、画像データをＦＩＦＯメモリ５０２に格納する。制御回路５０５はまた、ページ終了コマンドを受信すると、プリンタエンジン５０４に対して印刷開始を指示する。プリンタエンジン５０４は印刷開始を指示されると、給紙を行い、用紙が所定の位置に達したときに画像データの出力を要求する。画像データの出力が要求されると、複合回路５０３はＦＩＦＯメモリ５０２から圧縮された画像データを読み出し、複合した元の画像データをプリンタエンジン５０４に出力する。このときＦＩＦＯメモリ５０２から読み出された画像データは、ＦＩＦＯメモリ５０２から取り除かれる。
【００５８】
ランゲージモニタ５０４はまた、取得したプリンタステータスがページの印刷が終了したことを示した場合には、該当するページメモリを開放する。ランゲージモニタ５０４はまた、取得したプリンタステータスがエラーを示した場合は、印刷が正常終了していないページを含むシートから再送信を試みる。ここでシートとは、一枚の紙に相当し、片面印刷においては１ページによって、両面印刷においては２ページによって構成される。
【００５９】
このようにしてジョブの全ページのプリンタコマンドを転送し終えると、ランゲージモニタ５０４はジョブの全シートの印刷完了を待ち、ジョブの全シートの印刷が完了した場合には、ジョブを終了する。
【００６０】
次に図６を参照し、両面印刷時にランゲージモニタ４０４が使用する管理テーブル６０１のデータ構造を説明する。図６では両面６ページのジョブの例を示す。
【００６１】
シート管理テーブル６０１には、次のシート管理テーブル６０１のアドレスを示す次のシートアドレス６０２、表面ページのデータバッファのアドレスを示す表面ページアドレス６０３、裏面ページのデータバッファのアドレスを示す裏面ページアドレス６０４、未送信の部数を示す未送信カウンタ６０５、印刷未完了の部数を示す未完了カウンタ６０６を含み、オペレーティングシステム２０１から受信した順に、先頭シート管理テーブルアドレス６００、および次のシートアドレス６０２によって線形リストを形成する。線形リストを構成する。次のシートアドレス６０２がＮＵＬＬである場合には、次のシート管理テーブル６０１が存在しないことを示す。また、表面ページアドレス６０３がＮＵＬＬである場合は、そのシートはジョブの終了を示す空シートであることを示す。また、裏面ページアドレス６０４がＮＵＬＬである場合には、そのシートには裏面が存在せず、片面印刷を行うシートであることを示す。このシート管理テーブルは、ランゲージモニタ４０４がプリンタコマンドを受信しながら、また印刷を実行しながら、リアルタイムに生成、更新していく。
【００６２】
次に図７を参照し、両面印刷においてランゲージモニタ４０４が使用する送信データ管理テーブル７０１のデータ構造を説明する。図６は二枚滞留交互給紙による両面印刷のジョブの例を示す。送信データ管理テーブル７０１には、次の送信データ管理テーブル７０１のアドレスを示す次の送信データアドレス７０２、その送信データ管理テーブル７０１に対応するシート管理テーブル６０１のアドレスを示すシート管理テーブルアドレス７０３、その送信データ管理テーブル７０１の種類が片面印刷または両面印刷の表面ページ、両面印刷の裏面ページ、あるいは二枚滞留交互給紙による両面印刷の場合に裏面ページが入るべき空きテーブルのいずれかであるかを示す送信データ種別７０４、印刷順序を示すページ番号（不図示）を含み印刷が行われる順に、先頭送信データ管理テーブルアドレス７００、および次の送信データアドレス７０２によって線形リストを構成する。次の送信データアドレス７０２がＮＵＬＬである場合には、次の送信データ管理テーブルが存在しないことを示す。前述したように、フェースダウン排紙を行う場合には表面よりも裏面を先に印刷するため、図７において同一シートの裏面が表面に先行している。この送信データ管理テーブルは、ランゲージモニタ４０４がプリントコマンドを受信しながら、また印刷を実行しながら、リアルタイムに生成、更新していく。
【００６３】
ここで、二枚滞留交互給紙の両面印刷における、印刷順序を説明する。両面印刷を行う際には、裏面を印刷後、表面の印刷を開始するまでに、用紙の前端と後端を反転させた後に、用紙を感光ドラムまで搬送する、いわゆる再給紙を行う必要があり、一枚滞留の両面印刷ではこの間印刷が行えないため、印刷速度が遅くなる。二枚滞留交互給紙による両面印刷においては、この問題を解決するために、上述の反転および再給紙を行っている時間を利用して、別のシートを印刷することにより印刷速度が遅くならないようにする。具体的には、以下のような規則に従って印刷を行う。
【００６４】
●  同一シートの裏面印刷と表面印刷の間に、別のシートを２ページ印刷する。
【００６５】
●  裏面印刷と表面印刷を交互に行う。
【００６６】
●  ただし、送信順序２に対応するページはシート１に先行するシートの表面であるが、そのようなページは存在しないため印刷を行うことができず、この間時間が空く。
【００６７】
●  また、送信順序７に対応するページはシート４の裏面であるが、そのようなページが存在しない場合には印刷を行うことができず、この間時間が空く。
【００６８】
●  二枚滞留交互給紙の両面印刷を行う場合、シートの長さの上限は、用紙搬送路の長さなどにより制約を受けるため、例えばＡ４横送りよりも長い用紙では二枚滞留交互給紙の両面印刷を行うことができない。そのような場合には一枚滞留にて両面印刷を行う。
【００６９】
●  二枚滞留交互給紙の両面印刷を行う場合、用紙サイズまたは用紙タイプが異なるシートを混在して印刷することはできない。
【００７０】
以上、ランゲージモニタ４０４がシート管理テーブル、及び送信データ管理テーブルを生成、更新しながら印刷順序を決定し、二枚滞留交互給紙による両面印刷を実現することを説明してきた。
【００７１】
次に本発明によるところの二枚滞留交互給紙による両面印刷中にデータオーバーランエラーが発生した時のプリンタの処理動作を図８を使用して説明する。
【００７２】
まず、最初に断っておくが、図８のフローチャートは二枚滞留交互給紙による両面印刷のジョブが開始されてから、ジョブ中にアンダーランエラーが発生したときまでのプリンタの動作を説明するためのものであり、ジョブの終了までは表していない。
【００７３】
また、本実施例では印刷を完了した用紙をフェイスダウントレイに排紙する場合の処理動作を示している。
【００７４】
図８において、ステップＳ１１で次に給紙口から給紙するシート番号（用紙番号）Ｎに１を代入し初期化する。ステップＳ１２でシート１の裏面を印刷する。そして、ステップＳ１３へ進み、シート１の裏面の印刷でアンダーランエラーが発生したかどうか監視する。正常に印刷が完了した場合、ステップＳ１４で、次に給紙するシート番号Ｎを１加算しておき、ステップＳ１５でシートＮの裏面を印刷する。ステップＳ１６では、シートＮの裏面の印刷でアンダーランエラーが発生したかどうか監視し、正常に印刷が完了した場合、ステップＳ１７へ進みシート（Ｎ−１）の表面の印刷を行う。そして、ステップＳ１８でもシート（Ｎ−１）の表面の印刷でアンダーランエラーが発生したかどうか監視し、エラーが発生しなければステップＳ１４へ戻り、これを繰り返すことで二枚滞留交互給紙による両面印刷が進んでいく。一方、各アンダーランエラー監視ステップでアンダーランエラーが発生した場合、まずはステップＳ１９、ステップ２２、ステップ２６で示されるように、ホストコンピュータへアンダーランエラーが発生したことを通知する。このエラー通知方法はプリンタ状態取得コマンドのステータスとして返答するなど、特に限定されるものではなくいかなる方法でもよい。そして、ステップＳ２０、ステップＳ２３、ステップＳ２７、ですでにプリンタエンジンに発行済みの印刷指示を取り消す（キャンセル）コマンドを発行し印刷をキャンセルさせる。ここまではアンダーランが発生した状況によらず必ず行うことであるが、この後はアンダーランエラーが発生したページにより動作が異なるため、次にそれぞれの動作を説明する。ステップＳ１３のシート１の裏面の印刷でアンダーランエラーが発生した場合は、ステップＳ２８でシート１の表面を白紙印刷（用紙一面白で印刷する）する。また、ステップＳ１６のシートＮの裏面の印刷でアンダーランエラーが発生した場合は、ステップＳ２４でまずシート（Ｎ−１）の表面の印刷を実行し、次にシートＮの表面を白紙印刷する。そして、ステップＳ１８のシート（Ｎ−１）の表面の印刷でアンダーランエラーが発生した場合は、ステップＳ２１でシートＮの表面の印刷を実行する。ところで、以上説明したアンダーランエラー発生後の印刷は、すべてプリンタ機内に滞留している用紙に対して行うものである。そして各印刷が終了するのをステップＳ２９で待ち、ステップＳ３０でプリンタの表示パネルのＬＣＤ表示器などにアンダーランエラーが発生したことを表示させる。
【００７５】
以上が二枚滞留交互給紙による両面印刷中にアンダーランエラーが発生した時のプリンタの処理動作であるが、次にこの時のホストコンピュータの動作処理を図９、図１０のフローチャートを使用して説明する。
【００７６】
この図９、図１０のフローチャートも二枚滞留交互給紙による両面印刷のジョブが開始されてから、ジョブ中にアンダーランエラーが発生したときのホストコンピュータの動作を説明するためのものであり、ジョブの終了までは表していない。
【００７７】
図９は印刷開始後のデータ転送シーケンスを表す図である。印刷が開始されると、まずステップＳ４１において、図７で示した送信データ管理テーブルに次の印刷データが存在するか確認する。印刷データが存在した場合、ステップＳ４２へ進み次の印刷データでしめされるデータをプリンタへ送信する。そして、印刷データ送信後ステップＳ４３で送信データ管理テーブルを更新し、ステップＳ４１へ戻る。このような手順で送信データ管理テーブルに従い、印刷データをプリンタへ送信する。
【００７８】
一方、図１０は、プリンタの状態監視シーケンスを表す図である。まずステップＳ５１で印刷が開始されるのを待つ。印刷が開始されるとステップＳ５２へ進み、プリンタからステータス情報を取得し、ステップＳ５３でアンダーランエラーが発生していないか確認する。エラーが発生していなければ、その印刷ページは完了したとの判断でステップＳ５１へ戻り次ページの監視を行う。また、ステップＳ５３でアンダーランエラーが発生したことを検知した場合、ステップＳ５５へ進み、プリンタの印刷動作が停止するのを待つ。そして、ステップＳ５６でプリンタの受信データクリアコマンドを発行する。これは、アンダーランエラーが発生したため、プリンタの受信バッファにビデオ出力されずに中途半端に残ってしまっている画像データがあり、それをクリアするためである。次にステップＳ５７でアンダーランエラーが発生したページ情報をプリンタから取得する。このページ情報には、ページ番号、印刷した面（表裏）などが含まれる。ステップＳ５８では、アンダーランエラーしたページがシート１（1枚目の用紙）の裏面、つまり印刷ジョブの最初のページで発生したかどうか判断する。シート１の裏面でアンダーランエラーが発生した場合は、ステップＳ６０でシート１の表の印刷データとして白紙データ（白データ）を送信し、裏面でアンダーランエラーが発生した用紙を排紙させる。一方、アンダーランエラーが発生したページがシート１の裏面でない場合、ステップＳ５９へ進み、シートＮの裏面、つまり２枚目以降の用紙の裏面でアンダーランエラーが発生したかどうか判断する。シートＮの裏面でアンダーランエラーが発生した場合、プリンタ機内には、シート（Ｎ−１）の裏面の印刷に成功した用紙と、シートＮの裏面でアンダーランエラーが発生した用紙、の２枚が滞留している。その場合、ステップＳ６１でまず、シート（Ｎ−１）の表面の印刷データを送信し、シート（Ｎ−１）の用紙の両面印刷を完了させる。そして、ステップＳ６３でシートＮの表面の印刷データを白紙データ（白データ）として送信し、裏面でアンダーランエラーが発生した用紙を排紙させる。また、ステップＳ５９でアンダーランエラーが発生したのがシートＮの裏面でなければ、それはシート（Ｎ−１）の表面でアンダーランエラーが発生したということであり、ステップＳ６２ではプリンタ機内に滞留している裏面が印刷済みのシートＮの表面を印刷するために、シートＮの表面の印刷データを送信する。以上の手順により、アンダーランエラー発生時にプリンタ機内に滞留している用紙はすべて排紙されることになるため、ステップＳ６４でプリンタの印刷動作が停止したかどうか確認し、印刷動作が停止したらステップＳ６５でプリンタのステータスを表示するツール（プリンタステータスウィンドウ）などに、アンダーランエラーを表示させる。
【００７９】
以上に説明したように、本実施例１によれば、ホストベース印刷システムのようにコスト的にプリンタに大容量のメモリを搭載できない印刷システムに置いて、二枚滞留交互給紙による両面印刷中にアンダーランエラーが発生した場合、ホストコンピュータはプリンタ機内に滞留している用紙を把握し、片面の印刷に成功している用紙に対してはもう片面の印刷データを送信し両面印刷を成功させ、一方、片面がアンダーランエラーで滞留している用紙に対してはもう片面の印刷データとして白紙データ（白データ）を送信することにより、印刷に失敗する用紙を最小限に留め、また片面で印刷に失敗した用紙にはそれ以上無駄なトナーを消費させない、ことを可能とする効果がある。
【実施例２】
【００８０】
実施例１では、二枚滞留交互給紙による両面印刷中に第一面でアンダーランエラーが発生した時、そのシートの第二面は白紙データを印刷していたが、これでは現像器や定着器は動作することになるので、無駄な電力が消費されることになる。そこで、第一面でアンダーランエラーが発生した場合、強制排紙コマンドをプリンタに発行し、プリンタ機内に滞留している用紙を強制的に排紙させる。
【００８１】
以上、説明したように、本実施例２によれば、用紙の第一面でアンダーランエラーが発生した場合、白紙を印刷するのではなく強制排紙コマンドにより用紙を排紙させるため、定着器を加熱する必要もなく、無駄な電力を消費させない、ことを可能とする効果がある。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態に係る画像記録装置の構成を示す図である。
【図２】本発明の実施例におけるカラーレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。
【図３】図１のＬＢＰを含むプリンタ制御システムの構成を示すブロック図である。
【図４】本発明のホストコンピュータの構成を示すブロック図である。
【図５】本発明のプリンタの構成を示すブロック図である。
【図６】本発明で使用するシート管理テーブルのデータ構造を示す説明図である。
【図７】本発明で使用する送信データ管理テーブルのデータ構造を示す説明図である。
【図８】本発明実施例１におけるプリンタの制御手順を示すフローチャートである。
【図９】本発明実施例１におけるホストコンピュータの印刷データ送信制御手順を示すフローチャートである。
【図１０】本発明実施例１におけるホストコンピュータのプリンタ状態監視制御手順を示すフローチャートである。
【図１】
2008003912.tif 000003
【図２】
2008003912.tif 000004
【図３】
2008003912.tif 000005
【図４】
2008003912.tif 000006
【図５】
2008003912.tif 000007
【図６】
2008003912.tif 000008
【図７】
2008003912.tif 000009
【図８】
2008003912.tif 000010
【図９】
2008003912.tif 000011
【図１０】
2008003912.tif 000012