(57)【要約】【課題】  ジャムリカバリ時に於けるホスト１１−ａとプリンタ１１−ｂ間の通信時間の短縮を図ること。【解決手段】  ＣＰＵ１１−ｂ１−１は、ジャムが発生すると圧縮データの読み出しを停止させ、該読み出し停止された圧縮データの属するページ内で既に読み出し済みの圧縮データの全てを再受信し、受信バッファ１１−ｂ１−３−１の対応する格納領域１〜ｎのそれぞれに再格納する。【選択図】        図１
2005153267.tif 000002
【特許請求の範囲】
【請求項１】
１ページ分の画像情報が、複数個のバンドに分割され、該バンド毎に画像データに変換され、少なくとも１ページ分格納可能な格納領域を有する受信バッファと、該格納領域に格納されている前記画像データの各々についてメモリ開放に至る経過を記憶するメモリ管理手段と、前記メモリ管理手段に基づいて前記画像データの送受信を制御する制御部とを含む画像形成装置であって、
前記格納領域からの前記画像データの読み出しを監視し、該読み出しが完了すると、前記メモリ管理手段における対応する画像データの前記メモリ開放に至る経過を更新し、対応する格納領域へ次ページの画像データの受け入れを可能にするバンド終了判別部とを更に含み、
前記制御部は、前記ジャムが発生すると前記画像データの読み出しを停止させ、該読み出し停止された画像データの属するページ内で既に前記読み出し済みの画像データの全てを再受信し、対応する前記格納領域のそれぞれに再格納することを特徴とする画像形成装置。
【請求項２】
請求項１に記載の画像形成装置に於いて、
前記メモリ管理手段は、
前記格納領域に格納されている画像データが、既に読み出されたか否かを表す読み出し状況情報と、
前記格納領域が既に開放済みか否かを表すメモリ開放状況情報とを含むことを特徴とする画像形成装置。
【請求項３】
請求項２に記載の画像形成装置に於いて、
前記制御部は、前記ジャムが発生すると、既にメモリ開放されている前記格納領域に対応する画像データを再受信し、再格納することを特徴とする画像形成装置。
【請求項４】
請求項１乃至請求項３の何れか１項に記載の画像形成装置と、
１ページ分の画像情報が、複数個のバンドに分割され、該バンド毎に変換され、圧縮された圧縮データを格納する格納領域を有するフレームバッファと、前記格納領域に格納されている前記圧縮データの各々について所定の事項を記憶するバンド管理手段と、前記画像形成装置から前記圧縮データの再送信要求があると、前記バンド管理手段に基づいて前記再送信要求されている圧縮データを特定する情報判別手段と、前記フレームバッファから該当する圧縮データを読み出すバンド読み出し手段とを備えるホスト装置とを含むことを特徴とする印刷システム。
【請求項５】
請求項１乃至請求項３の何れか１項に記載の画像形成装置と、
１ページ分の画像情報が、複数個のバンドに分割され、該バンド毎に画像データに変換され、圧縮された圧縮データを格納する格納領域を有するフレームバッファと、前記格納領域に格納されている前記圧縮データの各々について所定の事項を記憶するバンド管理手段と、前記画像形成装置から前記圧縮データの送信を要求する受信可能通知を受信する毎に、該受信可能通知の回数を計数して保持し、前記画像形成装置に送信済みの圧縮データの内どこまでが消費されたかを検出し、前記プリンタ装置に於いて、ジャムが発生すると、前記検出結果に基づいて再送信を必要とする圧縮データを特定するプリンタ状況判別手段と、該プリンタ状況判別手段が特定する圧縮データを前記フレームバッファから読み出すバンド読み出し手段とを備えるホストとを含むことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストベースプリンタ装置等の画像形成装置、及び、該画像形成装置を備える印刷システムに関する。
【背景技術】
【０００２】
複数ページの画像データを印刷するプリンタ等では、プリンタ側に大容量のメモリを備え、ホストから受け入れた複数ページの画像情報をその大容量のメモリに一旦格納する。その後メモリに一旦格納された画像情報は、プリンタ側でビットマップデータ等の画像データに変換され、印刷される。しかし、低価格のプリンタ等では、１ページ分のメモリしか備えていないものもある。かかるプリンタでは、上記複数ページの画像情報は、ホスト側で画像データに変換処理及び圧縮処理され、プリンタに送られてくる。プリンタは、この画像データを受け入れ印刷する。このようなプリンタは、ホストベースプリンタと呼ばれている。
【０００３】
従来のホストベースプリンタでは、もし、印刷途中でジャムが発生した場合には、ジャムの発生がホストに伝達される。ホストは、これを受け入れると、自動的に、該当するページの画像データを再送信する。同時にプリンタはプリンタ側に残っている該当するページの画像データを全てクリアしてしまう。従って、プリンタが大容量のメモリを備えていなくても、印刷途中でジャムが発生したページを再現することができる（例えば、特許文献１参照）。
【０００４】
しかし、従来のホストベースプリンタには、１ページ分のメモリ（受信バッファ）しか備えられていない。そこで、ジャムの発生を想定すると、ジャムリカバリのために、現在印刷中のページが印刷完了するまでは、受信バッファに現在印刷中のページの圧縮データを全て保持しておく必要がある。従って、ページ内全ての圧縮データの印刷完了後に次ページの圧縮データを受け入れることになる。その結果、現在印刷中のページの印刷完了から次ページの印刷開始までの時間が長くなっていた。
【特許文献１】特開平９−２３７１６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
解決しようとする問題点は、現在印刷中のページの印刷完了から次ページの印刷開始までの時間が長くなっている点である。
【課題を解決するための手段】
【０００６】
１ページ分の画像情報が、複数個のバンドに分割され、該バンド毎に画像データに変換され、圧縮された圧縮データを少なくとも１ページ分格納可能な格納領域を有する受信バッファと、該格納領域に格納されている上記圧縮データの各々についてメモリ開放に至る経過を記憶するメモリ管理手段と、上記メモリ管理手段に基づいて上記圧縮データの送受信を制御する制御部と、上記格納領域から、上記圧縮データの読み出しを監視し、該読み出しが完了すると、上記メモリ管理手段における対応する圧縮データの上記メモリ開放に至る経過を更新し、対応する格納領域へ次ページの圧縮データの受け入れを可能にするバンド終了判別部とを含み、上記制御部は、上記ジャムが発生すると上記圧縮データの読み出しを停止させ、該読み出し停止された圧縮データの属するページ内で既に上記読み出し済みの圧縮データの全てを再受信し、対応する上記格納領域のそれぞれに再格納することを最も大きな特徴とする。
【発明の効果】
【０００７】
１ページ単位でのジャムリカバリを止めてバンド単位でジャムリカバリを実行することが出来るので、ジャムリカバリのために、現在印刷中のページが印刷完了するまで、受信バッファに、現在印刷中のページの圧縮データを全て保持しておく必要がなくなるので、現在印刷中のページの印刷完了から次ページの印刷開始までの時を短縮出来るという効果を得る。
【発明を実施するための最良の形態】
【０００８】
画像情報の画像データへの変換・圧縮はバンド単位で処理され、バンド圧縮データがプリンタに備える受信バッファから読み出される毎に、開放されたメモリに、対応する次ページのバンド圧縮データが次々と格納される。又、ジャムの発生時には、１ページ単位でのジャムリカバリを止めてバンド単位でジャムリカバリを実行する。即ち、ジャムが発生したときに、プリンタは、それまでに受信バッファから読み出し完了済みの圧縮データのみ再受信して再格納し、それ以後の圧縮データは廃棄せずにそのまま保持することとする。
【実施例１】
【０００９】
以下、本発明の実施の形態を実施例を用いて説明する。ここでは、画像形成装置をホストベースプリンタに限定して説明する。
図１は、実施例１の構成のブロック図である。
図より、実施例１の印刷システムは、ホスト１１−ａ、プリンタ１１−ｂ、ネットワーク回線１１−ｃとを含む。
【００１０】
ホスト１１−ａは、印刷要求されている圧縮データをプリンタ１１−ｂへ送信する部分であり、通常システム内に複数個含まれる場合が多い。その内部には、アプリケーション１１−ａ１、ドライバ１１−ａ２、ワーク領域１１−ａ３、送受信部１１−ａ４等が備えられる。ここで言う圧縮データとは１ページの画像情報が複数個のバンドに分割され、該バンド毎に画像データに変換され、且つ、圧縮された後のバンドデータを言う。
アプリケーション１１−ａ１は、印刷すべき画像を作成する部分であり、例えば、ワープロソフトや、ＣＡＤソフト等がこれに該当する。
ドライバ１１−ａ２は、アプリケーション１１−ａ１で作成された画像をバンド単位で印刷できる画像データに変換し、圧縮し、後記フレームバッファ１１−ａ３−１に格納し、格納した圧縮データを後記プリンタ１１−ｂへ送信する部分である。
【００１１】
又、ドライバ１１−ａ２は、情報判別手段１１−ａ２−１とバンド読み出し手段１１−ａ２−２とを有する。
情報判別手段１１−ａ２−１は、後記プリンタ１１−ｂでジャムが発生し、プリンタ１１−ｂより、ジャムリカバリ用のデータ再送信要求があった場合に、データ再送信要求と共にプリンタ１１−ｂから送られてくるジャムリカバリ用のデータのページ番号とバンド番号から、プリンタ１１−ｂが必要としている圧縮データを特定する部分である。
【００１２】
バンド読み出し手段１１−ａ２−２は、情報判別手段１１−ａ２−１が特定したジャムリカバリ用の圧縮データを後記バンド管理表１１−ａ３−２に基づいて後記フレームバッファ１１−ａ３−１から読み出して再送信の準備を実行する部分である。
ワーク領域１１−ａ３は、ドライバ１１−ａ２にアプリケーション１１−ａ１から印刷要求があった時に、アプリケーション１１−ａ１で作成した画像情報を画像データに変換する作業領域と、変換後の画像データを圧縮して格納しておくフレームバッファ１１−ａ３−１と、圧縮データを管理するバンド管理表１１−ａ３−２とを有する。
【００１３】
ここでバンド管理表１１−ａ３−２について説明する。
図２は、バンド管理表の内容説明図である。
図３は、バンド管理表の一例である。
図２に示すようにバンド管理表１１−ａ３−２には、ページ番号１ｂ−ａ１、バンド番号１ｂ−ａ２、開始アドレス１ｂ−ａ３、データサイズ１ｂ−ａ４が含まれている。
ページ番号１ｂ−ａ１は、フレームバッファ１１−ａ３−１（図１）に格納されているバンド毎の圧縮データが何ページのものであるかを表している。
【００１４】
バンド番号１ｂ−ａ２は、フレームバッファ１１−ａ３−１（図１）に格納されているバンド毎の圧縮データがページ番号１ｂ−ａ１で示されるページの何バンド目であるかを表している。
開始アドレス１ｂ−ａ３は、フレームバッファ１１−ａ３−１（図１）に格納されているバンド毎に圧縮データがフレームバッファ１１−ａ３−１のどこに格納されているかを示すために、格納されたバンド毎の圧縮データの先頭のアドレスを表している。
データサイズ１ｂ−ａ４は、開始アドレス１ｂ−ａ３からどれくらいの大きさの圧縮データが格納されているかを表している。
以上説明した内容がバンド管理表１１−ａ３−２の一例として図３に表されている。
【００１５】
尚、このワーク領域１１−ａ３（図１）は、アプリケーション１１−ａ１（図１）からドライバ１１−ａ２（図１）に対して印刷要求があった場合に、ホスト上に確保される領域であってドライバ１１−ａ２が処理を実行していない時には存在しない領域である。
再度図１に戻って、送受信部１１−ａ４は、フレームバッファ１１−ａ３−１に格納されている圧縮データを後記プリンタ１１−ｂに送信したり、プリンタ１１−ｂからステータス信号を受信したりする部分である。
【００１６】
プリンタ１１−ｂは、ホスト１１−ａの要求に応じて再現画像を印刷出力する部分でありコントローラ部１１−ｂ１と印刷エンジン１１−ｂ２とを含む。
コントローラ部１１−ｂ１は、ＣＰＵ１１−ｂ１−１、ＲＯＭ１１−ｂ１−２、ＲＡＭ１１−ｂ１−３、ＤＭＡ１１−ｂ１−４、伸長処理部１１−ｂ１−５、送受信部１１−ｂ１−６、ビデオデータ送信部１１−ｂ１−７、ビデオデータ出力制御部１１−ｂ１−８、バンド終了判別部１１−ｂ１−９を備える。
【００１７】
ＣＰＵ１１−ｂ１−１は、コントローラ部１１−ｂ１全体を制御する中央演算処理装置である。
ＲＯＭ１１−ｂ１−２は、ＣＰＵ１１−ｂ１−１による演算処理を実行するための制御プログラムを格納する部分である。
ＲＡＭ１１−ｂ１−３は、受信バッファ１１−ｂ１−３−１とメモリ管理表１１−ｂ１−３−２とを有する。
【００１８】
受信バッファ１１−ｂ１−３−１は、ホスト１１−ａから送られてくる圧縮データを格納しておく部分であり、バンド１〜バンドｎまでの格納領域がある。各格納領域には、それぞれに対応する圧縮データが格納される。
ここでメモリ管理表１１−ｂ１−３−２について説明する。
図４は、メモリ管理表の内容説明図である。
図５は、メモリ管理表の一例である。
図４に示すようにメモリ管理表１１−ｂ１−３−２には、ホスト１１−ａ（図１）から受信する圧縮データのページ全体の情報（例えば、ライン長、ライン数等）を格納する印刷ページの諸情報部１３−ａと、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納された各圧縮データの諸情報を格納するための各バンド情報部１３−ｂが設けられている。
【００１９】
印刷ページの諸情報部１３−ａには、ページの諸情報部（１）１３−ａ１とページの諸情報部（２）１３−ａ２がある。これらには、印刷中のページの諸情報と次ページがある場合に於ける、次ページの諸情報が格納される。
各バンド情報部１３−ｂには、ページ番号１３−ｂ１、バンド番号１３−ｂ２、開始アドレス１３−ｂ３、データサイズ１３−ｂ４、読み出し状況１３−ｂ５、メモリ開放状況１３−ｂ６、等の情報が含まれている。
【００２０】
ページ番号１３−ｂ１は、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納されている圧縮データが何ページ目のデータであるかを表している。
バンド番号１３−ｂ２は、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納されている圧縮データがページ番号１３−ｂ１で示されるページの何バンド目であるかを表している。
開始アドレス１３−ｂ３は、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納されている圧縮データが受信バッファ１１−ｂ１−３−１のどこに格納されたかを示す圧縮データの先頭を表している。
【００２１】
データサイズ１３−ｂ４は、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納されている圧縮データが開始アドレス１３−ｂ３で示される位置からどれくらいの大きさで格納されているかを表している。
読み出し状況１３−ｂ５は、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納されている圧縮データが、後記ＤＭＡ１１−ｂ１−４（図１）によって読み出され、後記バンド終了判別部１１−ｂ１−９（図１）によって読み出しが完了したかどうかが判断され、その結果を表している。例えば、バンド１格納領域に格納されている圧縮データの全てがＤＭＡ１１−ｂ１−４によって読み出されると、バンド終了判別部１１−ｂ１−９は、バンド１格納領域の読み出し状況を読み出し完了と判断し、バンド１の読み出し状況１３−ｂ５に、読み出し完了を示す情報を書き込む。
【００２２】
メモリ開放状況１３−ｂ６は、受信バッファ１１−ｂ１−３−１の各バンド格納領域に格納されている圧縮データがバンド終了判別部１１−ｂ１−９（図１）で、既に読み出し完了と判別され、この箇所がＣＰＵ１１−ｂ１−１（図１）によって、メモリ開放されたか否かを表している。
以上説明したメモリ管理表１１−ｂ１−３−２の一例が図５に示されている。
【００２３】
再度図１に戻って、ＤＭＡ１１−ｂ１−４は、メモリ管理表１１−ｂ１−３−２に格納されている開始アドレス１３−ｂ３（図４）とデータサイズ１３−ｂ４（図４）の情報に基づいて、受信バッファ１１−ｂ１−３−１から圧縮データを読み出して、伸長処理部１１−ｂ１−５へ圧縮データを転送する部分である。
伸長処理部１１−ｂ１−５は、受信バッファ１１−ｂ１−３−１に格納され、更にＤＭＡ１１−ｂ１−４から転送されてきた圧縮データを伸長し、ビデオデータに変換する部分である。
送受信部１１−ｂ１−６は、ホスト１１−ａから送信されてくるコマンド、印刷ページの諸情報、圧縮データを受信したり、プリンタ１１−ｂの様々なステータスをホスト１１−ａに送信したりする部分である。
【００２４】
ビデオデータ送信部１１−ｂ１−７は、伸長処理部１１−ｂ１−５によって伸長され変換されたビデオデータを後記印刷エンジン１１−ｂ２へ転送する部分である。
ビデオデータ出力制御部１１−ｂ１−８は、印刷エンジン１１−ｂ２からジャム発生の情報を受け入れた時、ビデオデータ送信部１１−ｂ１−７を制御してビデオデータの印刷エンジン１１−ｂ２への送信を停止させる部分である。
【００２５】
バンド終了判別部１１−ｂ１−９は、ＤＭＡ１１−ｂ１−４で受信バッファ１１−ｂ１−３−１からバンド単位で読み出される圧縮データを監視し、ＤＭＡ１１−ｂ１−４で読み出される圧縮データの１バンド毎の終了タイミングを判別する部分である。バンド終了判別部１１−ｂ１−９は、ここで各バンドの読み出し完了を判別するとメモリ管理表１１−ｂ１−３−２の読み出し状況１３−ｂ５（図４）を更新する部分でもある。
【００２６】
印刷エンジン１１−ｂ２は、コントローラ部１１−ｂ１からビデオデータを受信し、印刷用ヘッドへデータを転送し、印刷する部分である。また、印刷用紙の走行状態等を監視し、用紙のジャムを検出する部分でもある。
ネットワーク回線１１−ｃは、ホスト１１−ａとプリンタ１１−ｂとを双方向通信可能な状態で接続する通信路であり、ＩＥＥＥ１２８４標準などのパラレル・インタフェースや、ＵＳＢなどのシリアル・インタフェース等が好ましい。あるいは又構内ＬＡＮ等であっても良い。
【００２７】
実施例１の動作について説明する。
図６は、実施例１のプリンタの動作フローチャート（その１）である。
図７は、実施例１のプリンタの動作フローチャート（その２）である。
図８は、実施例１のプリンタの動作フローチャート（その３）である。
以下にステップＳ１〜ステップＳ３２までステップ順に従って実施例１の印刷システムに於けるプリンタの動作について説明する。
【００２８】
ステップＳ１
プリンタ１１−ｂ（図１）は、ホスト１１−ａ（図１）からの印刷要求を待って待機している。
ステップＳ２
プリンタ１１−ｂは、ホスト１１−ａからの印刷要求があると自己が受信可能な状態であれば、その旨ホスト１１−ａへ通知してホスト１１−ａからデータを受信する。
ステップＳ３
受信したデータが、印刷ページの諸情報であればページの諸情報部（１）１３−ａ１及びページの諸情報部（２）１３−ａ２（図４）に格納される。圧縮データであれば、受信バッファ１１−ｂ１−３−１（図４）の対応するバンド格納領域１〜バンド格納領域ｎに、それぞれ格納される。
【００２９】
ステップＳ４
圧縮データが受信バッファ１１−ｂ１−３−１（図４）の対応するバンド格納領域１〜バンド格納領域ｎに格納されると、ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図４）の各バンド情報部１３−ｂ（図４）の各情報を更新する。
ステップＳ５
ホスト１１−ａ（図１）からのデータ受信はバンド１〜バンドｎまでの圧縮データがそれぞれの対応するバンド格納領域に全て格納されるまで行われる。即ち、１ページ分の圧縮データをホスト１１−ａ（図１）から受信完了するまでステップＳ２からステップＳ５が繰り返して実行される。
【００３０】
ステップＳ６
１ページ分の圧縮データが受信バッファ１１−ｂ１−３−１（図１）に格納されると、ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図１）の各情報に基づいて伸長処理部１１−ｂ１−５（図１）及びＤＭＡ１１−ｂ１−４（図１）の諸設定を実行して起動させる。
ステップＳ７
ＣＰＵ１１−ｂ１−１（図１）は、印刷エンジン１１−ｂ２（図１）に印刷開始を指示する。
【００３１】
ステップＳ８
印刷エンジン１１−ｂ２（図１）は、コントローラ部１１−ｂ１（図１）からビデオデータを受信して印刷を開始する。
ステップＳ９
印刷エンジン１１−ｂ２（図１）は、印刷を開始すると共に印刷処理と並行して用紙ジャムの発生を監視し、ジャムが発生した時はステップＳ２３へ進み、ジャムが発生しなければステップＳ１０へ進む。
【００３２】
ステップＳ１０
バンド終了判別部１１−ｂ１−９（図１）は、受信バッファ１１−ｂ１−３−１から１バンド分の圧縮データの読み出しが完了するのを監視する。
ステップＳ１１
バンド終了判別部１１−ｂ１−９（図１）が、読み出し完了と判断した時には、メモリ管理表１１−ｂ１−３−２の読み出し状況１３−ｂ５（図４）に読み出し済みを書き込んで更新する。
【００３３】
ステップＳ１２
ＣＰＵ１１−１ｂ−１（図１）は、メモリ管理表１１−ｂ１−３−２の各バンドの読み出し状況１３−ｂ５（図４）が読み出し済みになっているバンド格納領域のメモリを定期的に開放する。
ステップＳ１３
ＣＰＵ１１−１ｂ−１（図１）は、バンド格納領域のメモリ開放を行ったとき、ホスト１１−ａに受信可能である旨通知する。
ステップＳ１４
このとき、ホスト１１−ａに次のデータがある場合にはステップＳ１５へ進み、次のデータが無ければ受信を終了する。
【００３４】
ステップＳ１５
ホスト１１−ａから次のデータを受信する。
ステップＳ１６
受信したデータが、印刷ページの諸情報であればページの諸情報部（１）１３−ａ１又はページの諸情報部（２）１３−ａ２（図４）に格納される。圧縮データであれば、受信バッファ１１−ｂ１−３−１（図４）の対応するバンド格納領域１〜バンド格納領域ｎに、それぞれ格納される。
【００３５】
ステップＳ１７
圧縮データが受信バッファ１１−ｂ１−３−１（図４）の対応するバンド格納領域１〜バンド格納領域ｎに格納されると、ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図１）の各バンド情報部１３−ｂ（図４）の各情報を更新してステップＳ９へ戻る。
ここで、受信したデータが２ページ目の時は、印刷ページの諸情報に関するデータは、印刷ページの諸情報部１３−ａのページの諸情報部（２）１３−ａ２（図４）に格納され、３ページ目の場合には、既に、１ページ目の情報が無いので、ページの諸情報部（１）１３−ａ１（図４）に格納される。以後印刷ページが増える毎に印刷ページの諸情報に関するデータは、ページの諸情報部（２）１３−ａ２（図４）とページの諸情報部（１）１３−ａ１（図４）に交互に格納される。
【００３６】
ステップＳ１８
プリンタ１１−ｂは、１ページ分の印刷が完了したか否かの監視を続け、１ページ分の印刷が完了するまでステップＳ９からステップＳ１２を繰り返し、１ページ分の印刷が完了した時にステップＳ１９へ進む。
ステップＳ１９
次のページがある場合にはステップＳ２０へ進み、次のページが無い場合には印刷を終了する。
【００３７】
ステップＳ２０
ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図１）の各情報に基づいて伸長処理部１１−ｂ１−５（図１）及びＤＭＡ１１−ｂ１−４（図１）の諸設定を実行して起動させる。
ステップＳ２１
ＣＰＵ１１−ｂ１−１（図１）は、印刷エンジン１１−ｂ２（図１）に印刷開始を指示する。
ステップＳ２２
印刷エンジン１１−ｂ２（図１）は、コントローラ部１１−ｂ１（図１）からビデオデータを受信して印刷を開始し、再度ステップＳ９へ戻って印刷終了までジャムの発生を監視する。次にジャムが発生した場合のフローについて説明する。
【００３８】
ステップＳ２３
ジャムの発生が印刷エンジン１１−ｂ２（図１）からビデオデータ出力制御部１１−ｂ１−８（図１）へ通知されると、ビデオデータ出力制御部１１−ｂ１−８は、ビデオデータ送信部１１−ｂ１−７を制御してビデオデータが印刷エンジン１１−ｂ２（図１）へ送信されるのを停止させる。  ステップＳ２４
ジャムの発生が印刷エンジン１１−ｂ２（図１）からビデオデータ出力制御部１１−ｂ１−８（図１）に通知されると同時にＣＰＵ１１−ｂ１−１（図１）にも通知される。ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図４）の各バンド情報部１３−ｂのバンド読み出し状況１３−ｂ５（図４）とメモリ開放状況１３−ｂ６（図４）の確認を行う。
【００３９】
ステップＳ２５
ＣＰＵ１１−ｂ１−１（図１）は、受信バッファ１１−ｂ１−３−１（図１）のどのバンド格納領域までがメモリ開放されずに残っているかを判断し、ホスト１１−ａ（図１）にジャム発生を通知すると共に、メモリ開放してしまった圧縮データのページ番号とバンド番号を通知し、ジャムリカバリで必要な圧縮データの再送信要求を行う。
【００４０】
ステップＳ２６
ＣＰＵ１１−ｂ１−１（図１）は、ジャムリカバリに必要な情報をホスト１１−ａ（図１）から再受信する。
ステップＳ２７
受信したデータが、印刷ページの諸情報であればページの諸情報部（１）１３−ａ１又はページの諸情報部（２）１３−ａ２（図４）に格納される。圧縮データであれば、受信バッファ１１−ｂ１−３−１（図４）の対応するバンド格納領域１〜バンド格納領域ｎに、それぞれ格納される。
【００４１】
ステップＳ２８
圧縮データが受信バッファ１１−ｂ１−３−１（図４）の対応するバンド格納領域１〜バンド格納領域ｎに格納されると、ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図４）の各バンド情報部１３−ｂ（図４）の各情報を更新する。
【００４２】
ステップＳ２９
ＣＰＵ１１−ｂ１−１（図１）は、ジャムが解除されるのを待ち、解除されるとステップＳ３０へ進む。
ステップＳ３０
ＣＰＵ１１−ｂ１−１（図１）は、メモリ管理表１１−ｂ１−３−２（図１）の各情報に基づいて伸長処理部１１−ｂ１−５（図１）及びＤＭＡ１１−ｂ１−４（図１）の諸設定を実行して起動させる。
ステップＳ３１
ＣＰＵ１１−ｂ１−１（図１）は、印刷エンジン１１−ｂ２（図１）に印刷開始を指示する。
【００４３】
ステップＳ３２
印刷エンジン１１−ｂ２（図１）は、コントローラ部１１−ｂ１（図１）からビデオデータを受信し、ジャムリカバリ印刷を開始する。
以後、ステップＳ９へ戻って、ジャムが発生したページが正常に印刷完了するまでステップＳ９からステップＳ１９が繰り返され、更に、全ページの印刷が完了するまでステップＳ９からステップＳ３２が繰り返される。
【００４４】
次にプリンタ１１−ｂ（図１）が、ホスト１１−ａ（図１）から１ページ分のデータを受信するまでのメモリ管理表１１−ｂ１−３−２（図１）と受信バッファ１１−ｂ１−３−１（図１）の内容の変化について説明する。
図９は、受信開始から完了までのメモリ管理表の状態変化説明図（その１）である。
図１０は、受信開始から完了までのメモリ管理表の状態変化説明図（その２）である。
図１１は、受信開始から完了までのメモリ管理表の状態変化説明図（その３）である。
図１２は、受信開始から完了までの受信バッファの状態変化説明図である。
【００４５】
図９、図１０、図１１は、既に、図４及び図５を用いて説明したメモリ管理表が状態変化していく様子を表した図である。ここでは、説明を簡単にするために、１ページが５個のバンドに分割された場合に限定して説明する。
図９（ａ）は、メモリ管理表の初期状態を表し、（ｂ）は、１ページ目のページ情報を受信した状態を表している。
図１０（ｃ）は、メモリ管理表の１ページ目のバンド１を受信した状態を表し、（ｄ）は、１ページ目のバンド３までを受信した状態を表している。図１１（ｅ）は、メモリ管理表の１ページ目の受信完了状態を表している。
【００４６】
図１２は、受信バッファ１１−ｂ１−３−１（図１）のバンド格納領域が状態変化していく様子を表した図である。ここでも、説明を簡単にするために、１ページが５個のバンドに分割された場合に限定して説明する。
図１２（ａ）は、受信バッファの初期状態を表し、（ｂ）は、１ページ目のページ情報を受信した状態を表し、（ｃ）は、１ページ目のバンド１を受信した状態を表し、（ｄ）は、１ページ目のバンド３までを受信した状態を表し、（ｅ）は、１ページ目の受信完了状態を表している。
【００４７】
初期状態では、図９（ａ）に示すように、メモリ管理表の全ての情報が０にクリアされている。受信バッファも図１２の（ａ）に示すように全ての情報が０にクリアされている。
プリンタ１１−ｂ（図１）が、１ページ目のページ情報を受信すると、図９（ｂ）に示すように、メモリ管理表の印刷ページ情報部（１）に１ページ目のページ情報が格納される。しかし、この時受信バッファは未だ圧縮データを受信していないので、受信バッファの全ての情報は図１２の（ｂ）に示すように０にクリアされている。
【００４８】
プリンタ１１−ｂ（図１）が、１ページ目のバンド１を受信すると、図１０（ｃ）に示すように、メモリ管理表のバンド１の情報を示す箇所にその内容が格納される。この時図１２の（ｃ）に示すように、受信バッファはバンド１の圧縮データを受信し、バンド１格納領域に１ページ目バンド１の圧縮データが格納される。
【００４９】
プリンタ１１−ｂ（図１）が、１ページ目のバンド３までを受信すると、図１０（ｄ）に示すように、メモリ管理表のバンド１、バンド２、バンド３の情報を示す箇所にその内容が格納される。この時図１２の（ｄ）に示すように、受信バッファはバンド１からバンド３までの圧縮データを受信し、バンド１格納領域に１ページ目バンド１の圧縮データが、バンド２格納領域に１ページ目バンド２の圧縮データが、バンド３格納領域に１ページ目バンド３の圧縮データがそれぞれ書き込まれる。
【００５０】
プリンタ１１−ｂ（図１）が、１ページ目の全てのバンドを受信すると、図１１（ｅ）に示すように、メモリ管理表のバンド情報を示す全ての箇所にその内容が格納される。この時図１２の（ｅ）に示すように、受信バッファは全てのバンドの圧縮データを受信し、全てのバンド格納領域に対応するバンドの圧縮データがそれぞれ書き込まれる。
【００５１】
次に、プリンタ１１−ｂ（図１）が、１ページ目の全てのバンドを受信し、印刷エンジン１１−ｂ２（図１）が印刷開始した後、１ページ目の印刷が完了するまでのメモリ管理表１１−ｂ１−３−２（図１）と受信バッファ１１−ｂ１−３−１（図１）の内容の変化について説明する。
図１３は、印刷開始から完了までのメモリ管理表の状態変化説明図（その１）である。
図１４は、印刷開始から完了までのメモリ管理表の状態変化説明図（その２）である。
図１５は、印刷開始から完了までのメモリ管理表の状態変化説明図（その３）である。
図１６は、印刷開始から完了までのメモリ管理表の状態変化説明図（その４）である。  図１７は、印刷開始から完了までの受信バッファの状態変化説明図である。
【００５２】
図１３、図１４、図１５、図１６は、既に、図４及び図５を用いて説明したメモリ管理表が印刷開始から完了までの間に状態変化していく様子を表した図である。ここでは、説明を簡単にするために、１ページが５個のバンドに分割された場合に限定して説明する。
図１３（ａ）は、メモリ管理表の印刷開始時を表し、（ｂ）は、バンド１格納領域開放済状態を表している。
図１４（ｃ）は、バンド２格納領域開放済状態を表し、（ｄ）は、バンド３格納領域開放済状態を表している。
図１５（ｅ）は、バンド４格納領域開放済状態を表し、（ｆ）は、バンド５格納領域開放済状態を表している。
図１６（ｇ）は、１ページ目印刷完了状態を表している。
【００５３】
図１７は、受信バッファ１１−ｂ１−３−１のバンド格納領域が印刷開始から完了までの間に状態変化していく様子を表した図である。ここでも、説明を簡単にするために、１ページが５個のバンドに分割された場合に限定して説明する。
図１７（ａ）は、受信バッファの印刷開始時を表し、（ｂ）は、バンド１格納領域メモリ開放済状態を表し、（ｃ）は、バンド２格納領域メモリ開放済状態を表し、（ｄ）は、バンド３格納領域メモリ開放済状態を表し、（ｅ）は、バンド４格納領域メモリ開放済状態を表し、（ｆ）は、バンド５格納領域メモリ開放済状態を表し、（ｇ）は、１ページ目の印刷完了状態を表している。
【００５４】
印刷開始時では、図１３（ａ）に示すように、メモリ管理表は１ページ分の圧縮データを受信完了した状態（図１１（ｅ））と同じ状態である。又、受信バッファも図１７の（ａ）に示すように１ページ分の圧縮データを受信完了した状態（図１２（ｅ））と同じ状態である。
【００５５】
ＤＭＡ１１−ｂ１−４（図１）が、１ページ目のバンド１の圧縮データの読み込みを完了すると、図１３（ｂ）に示すように、メモリ管理表のバンド１の読み出し状況が１に書き換えられ、その後ＣＰＵ１１−ｂ１（図１）が、この１を読みとってバンド１の格納領域を開放し、メモリ開放状況を１に書き換える。この時受信バッファは図１７の（ｂ）に示すようにバンド１の格納領域が開放状態になる。
【００５６】
ＤＭＡ１１−ｂ１−４（図１）が、１ページ目のバンド２の圧縮データの読み込みを完了すると、図１４（ｃ）に示すように、メモリ管理表のバンド２の読み出し状況が１に書き換えられ、その後ＣＰＵ１１−ｂ１（図１）が、この１を読みとってバンド２の格納領域を開放し、メモリ開放状況を１に書き換える。この時受信バッファは図１７の（ｃ）に示すようにバンド２の格納領域が開放状態になる。
【００５７】
この時点で、バンド１の格納領域は、既に開放状態になっているためプリンタ１１−ｂ（図１）がホスト１１−ａ（図１）から２ページ目のページ情報を受信し、ページ諸情報部（２）に格納する。更に、バンド１格納領域に２ページ目のバンド１の圧縮データが格納される。
【００５８】
ＤＭＡ１１−ｂ１−１（図１）が、１ページ目のバンド３の圧縮データの読み込みを完了すると、図１４（ｄ）に示すように、メモリ管理表のバンド３の読み出し状況が１に書き換えられ、その後ＣＰＵ１１−ｂ１（図１）が、この１を読みとってバンド３の格納領域を開放し、メモリ開放状況を１に書き換える。この時受信バッファは図１７の（ｄ）に示すようにバンド３の格納領域が開放状態になる。
この時点で、バンド２の格納領域は、既に開放状態になっているためプリンタ１１−ｂ（図１）がホスト１１−ａ（図１）から２ページ目のバンド２の圧縮データを受信し、格納する。
【００５９】
以下、図１５に示すように１ページ目のバンド４の圧縮データ及びバンド５の圧縮データについても同様の処理が実行され、図１６（ｇ）に示すようにメモリ管理表の内容が全て２ページ目の内容に変わっている。同様に受信バッファの内容も図１７の（ｇ）に示すように全ての格納領域に２ページ目の内容が記載されている。
【００６０】
次に、ジャムが発生した時のメモリ管理表１１−ｂ１−３−２（図１）と受信バッファ１１−ｂ１−３−１（図１）の状態について説明する。
ここでは、バンド１からバンド５までの内、１ページ目のバンド２格納領域のメモリ開放が完了し、１ページ目のバンド３格納領域の圧縮データの読み出し中にジャムが発生したものと仮定して説明する。
【００６１】
図１８は、バンド３途中でのジャム発生状態説明図である。
（ａ）は、メモリ管理表の状態を（ｂ）は、受信バッファの状態を表している。
図より、バンド１格納領域には、既に２ページ目のバンド１の圧縮データが格納され、バンド２格納領域は既にメモリ開放されている。この状態では、１ページ目のバンド２までのデータが既に受信バッファ１１−ｂ１−３−１からクリアされているのでプリンタ１１−ｂ（図１）は、ホスト１１−ａ（図１）に対して１ページ目のバンド２までのデータをジャムリカバリ用として再送信要求することになる。
【００６２】
図１９は、バンド１を再受信した状態説明図である。
（ａ）は、メモリ管理表の状態を（ｂ）は、受信バッファの状態を表している。
図より、プリンタ１１−ｂ（図１）が、ホスト１１−ａ（図１）から１ページ目のバンド１の圧縮データを受け入れて、２ページ目バンド１の圧縮データが格納されているバンド１の格納領域を１ページ目のバンド１の圧縮データで上書き保存している。
【００６３】
図２０は、バンド２まで再受信した状態説明図である。
（ａ）は、メモリ管理表の状態を（ｂ）は、受信バッファの状態を表している。
図より、プリンタ１１−ｂ（図１）が、ホスト１１−ａ（図１）から更に１ページ目のバンド２の圧縮データを受け入れて、開放状態にあるバンド２の格納領域に１ページ目のバンド２の圧縮データを格納した状態を表している。
【００６４】
また、このとき１ページ目のバンド２の圧縮データを再度書き込んだのでバンド２の格納領域の読み込み状況とメモリ開放状況を０に更新する。更に、バンド３の格納領域の読み込み状況をも０に更新する。その結果メモリ管理表、及び受信バッファとも全て１ページの印刷直前の状態に戻されたことになる。
【００６５】
次に実施例１のホストの動作について説明する。
図２１は、実施例１のホストの動作フローチャート（その１）である。
図２２は、実施例１のホストの動作フローチャート（その２）である。
以下にステップＳ４１〜ステップＳ５５までステップ順に従って実施例１の印刷システムに用いられているホストの動作について説明する。
【００６６】
ステップＳ４１
ドライバ１１−ａ２（図１）は、アプリケーション１１−ａ１（図１）で画像情報が作成され、印刷指示が出されるのを待って待機する。
ステップＳ４２
ドライバ１１−ａ２（図１）は、アプリケーション１１−ａ１（図１）から印刷指示を受け入れると画像情報をプリンタで印刷可能な画像データへ変換する。
【００６７】
ステップＳ４３
ドライバ１１−ａ２（図１）は、画像情報をバンド単位で変換し、１ページ分の変換が完了するまでステップＳ４２からステップＳ４３を繰り返し、１ページ分の変換が完了するとステップＳ４４へ進む。
ステップＳ４４
ドライバ１１−ａ２（図１）は、画像情報をバンド単位で変換し、画像情報が複数ページ分ある時は、バンド毎の変換を全ページ分完了するまでステップＳ４２からステップＳ４４を繰り返し、全ページ分完了すると画像変換を終了する。
【００６８】
ステップＳ４５
上記画像情報の変換過程（ステップＳ４２）では、１バンド分の変換が終了する毎に取り出されステップＳ４６へ進む。
ステップＳ４６
ドライバ１１−ａ２（図１）は、バンド単位で変換された画像データを圧縮する。
ステップＳ４７
ドライバ１１−ａ２（図１）は、バンド単位で圧縮が終了するまでステップＳ４６とステップＳ４７を繰り返し、バンド単位での圧縮が終了するとステップＳ４８へ進む。
【００６９】
ステップＳ４８
ドライバ１１−ａ２（図１）は、圧縮完了したバンド単位での圧縮データをフレームバッファ１１−ａ３−１（図１）に格納する。
ステップＳ４９
ドライバ１１−ａ２（図１）は、フレームバッファ１１−ａ３−１（図１）に格納した圧縮データに関する情報を書き込んでバンド管理表１１−ａ３−２（図１）を更新する。尚、ステップＳ４５からステップＳ４９までの処理は、ステップＳ５０以後の処理と並行して繰り返し実行される。
【００７０】
ステップＳ５０
ドライバ１１−ａ２（図１）は、１バンド分の圧縮データがフレームバッファ１１−ａ３−１に格納され、バンド管理表１１−ａ３−２の更新が完了すると、処理が完了したバンドの圧縮データの送信準備を行う。
ステップＳ５１
ドライバ１１−ａ２（図１）は、バンド単位で送信準備が終了するまでステップＳ５０とステップＳ５１を繰り返し、バンド単位での送信準備が終了するとステップＳ５２へ進む。
【００７１】
ステップＳ５２
ドライバ１１−ａ２（図１）は、プリンタ１１−ｂ（図１）が受信可能かどうか、受信可能通知の受信を待つ。
ステップＳ５３
ドライバ１１−ａ２（図１）は、ここでプリンタ１１−ｂ（図１）が受信可能であると、受信可能通知を受信し、送受信部１１−ａ４（図１）を介して圧縮データをプリンタ１１−ｂ（図１）へ送信する。
【００７２】
ステップＳ５４
ドライバ１１−ａ２（図１）は、バンド単位で圧縮データの送信が終了するまでステップＳ５３とステップＳ５４を繰り返し、バンド単位での送信が終了するとステップＳ５５へ進む。
ステップＳ５５
ドライバ１１−ａ２（図１）は、続きの圧縮データがある場合には、引き続きステップＳ５０からステップＳ５５を繰り返し、全ての圧縮データをプリンタ１１−ｂ（図１）へ送信した後フローを終了する。
【００７３】
次に実施例１のジャムリカバリ時のホストの動作について説明する。
図２３は、実施例１のジャムリカバリ時のホストの動作フローチャートである。
以下にステップＳ６１〜ステップＳ７２までステップ順に従って実施例１の印刷システムに於けるジャムリカバリ時のホストの動作について説明する。
このフローは、上記ステップＳ２５（図８）において、ＣＰＵ１１−ｂ１−１（図１）が、受信バッファ１１−ｂ１−３−１（図１）のどのバンド格納領域までがメモリ開放されずに残っているかを判断し、ホスト１１−ａにジャム発生を通知すると共に、メモリ開放してしまった圧縮データのページ番号とバンド番号を通知し、ジャムリカバリで必要な圧縮データの再送信要求を行うことによって開始される。
【００７４】
ステップＳ６１
ホスト１１−ａ（図１）は、プリンタ１１−ｂからジャム発生の通知と、プリンタが必要としているジャムリカバリデータのページ番号とバンド番号とを受信する。
ステップＳ６２
ホスト１１−ａ（図１）は、現在送信処理されている圧縮データがある場合には、この送信処理をキャンセルし、情報判別手段１１−ａ２−１（図１）で判断したジャムリカバリ用の圧縮データの送信をバンド管理表１１−ａ３−２（図１）の情報に基づいてフレームバッファ１１−ａ３−１（図１）から読み出し、プリンタ１１−ｂ（図１）へ再送信する準備を行う。
【００７５】
ステップＳ６３
ホスト１１−ａ（図１）は、再送信する準備が完了するとステップＳ６４へ進む。
ステップＳ６４
プリンタ１１−ｂ（図１）が圧縮データを受信可能になるのを待つ。
ステップＳ６５
ホスト１１−ａ（図１）は、プリンタ１１−ｂ（図１）が圧縮データを受信可能になると、ジャムリカバリ用の圧縮データをプリンタ１１−ｂ（図１）へ送信する。
【００７６】
ステップＳ６６
ホスト１１−ａ（図１）は、ジャムリカバリ用の全圧縮データの送信が完了するまで、ステップＳ６１からステップＳ６６までを繰り返してジャムリカバリ用の全圧縮データの送信を行う。
ステップＳ６７
ホスト１１−ａ（図１）は、ジャムリカバリ用の圧縮データの送信が完了した後、ジャムが発生したページ以降の圧縮データがある場合にはステップＳ６８へ進み、ジャムが発生したページ以降の圧縮データが無い場合には送信を終了する。
【００７７】
ステップＳ６８
ホスト１１−ａ（図１）は、次のページの圧縮データの送信準備を行う。
ステップＳ６９
ホスト１１−ａ（図１）は、送信する準備が完了するとステップＳ７０へ進む。
ステップＳ７０
プリンタ１１−ｂ（図１）が圧縮データを受信可能になるのを待つ。
【００７８】
ステップＳ７１
ホスト１１−ａ（図１）は、プリンタ１１−ｂ（図１）が圧縮データを受信可能になると、圧縮データをプリンタ１１−ｂ（図１）へ送信する。
ステップＳ７２
ホスト１１−ａ（図１）は、全圧縮データの送信が完了するまで、ステップＳ６８からステップＳ７２までを繰り返してジャムが発生したページ以降の全圧縮データの送信を行ってフローを終了する。
【００７９】
上記説明では、各構成部分をそれぞれ個別なブロックとして構成した場合に限定して説明しているが、本発明は、この例に限定されるものではない。即ち、各構成部分の全部または一部が、ホスト１１−ａ（図１）の内部に備えるＣＰＵ（図示してない）や、コントローラ部１１−ｂ１に備えるＣＰＵ１１−ｂ１−１の機能の一部として構成されるものであっても良い。
尚、請求項中の制御部は、本実施例中に於けるＣＰＵ１１−ｂ１−１が該当する。又、請求項中の画像形成装置は、本実施例中に於けるプリンタ１１−ｂが該当する。
【００８０】
以上説明したように実施例１の印刷システムは、ジャムが発生すると圧縮データの送信を停止させるビデオ出力制御部と、受信バッファに於ける圧縮データの読み出しを監視し、圧縮データの読み出しが完了すると、メモリ管理手段における対応する圧縮データのメモリ開放に至る経過を更新し、対応する格納領域へ次ページの圧縮データの受け入れを可能にするバンド終了判別部とを備えることによって、上記制御部が、ジャムが発生すると読み出しを停止した圧縮データの属するページ内で読み出し完了済みの圧縮データの全てを再受信し、対応する格納領域のそれぞれに再格納することが可能になり、ジャムリカバリ時に於けるホストとプリンタ間の通信時間の短縮を図ることができるという効果を得る。
又、ホストが再送信すべきバンドの特定管理が容易になるため、上記のような簡単な構成によって実行できるという効果を得る。
【実施例２】
【００８１】
実施例２の印刷システムでは、ホストに、送信完了した圧縮データのページ数とプリンタから受け入れた受信可能通知をカウントするプリンタ状況判別手段を備える。その結果プリンタが、ジャムの発生のみをホストへ通知するだけで、ホストは、ジャムリカバリに必要な圧縮データを特定し、再送信することができるようになる。かかる目的を達成するために実施例２の印刷システムは以下のように構成される。
【００８２】
図２４は、実施例２の構成のブロック図である。
図より、実施例２の印刷システムは、ホスト２１−ａ、プリンタ１１−ｂ、ネットワーク回線１１−ｃとを含む。
以下に実施例１との相違点のみについて説明する。
【００８３】
ドライバ２１−ａ２は、アプリケーション１１−ａ１で作成された画像をバンド単位で印刷できる画像データに変換し、圧縮し、フレームバッファ１１−ａ３−１に格納し、格納した圧縮データをプリンタ１１−ｂへ送信する部分である。
【００８４】
又、ドライバ２１−ａ２は、プリンタ状況判別手段２１−ａ２−１とバンド読み出し手段１１−ａ２−２とを有する。
プリンタ状況判別手段２１−ａ２−１は、１ページ分の圧縮データをプリンタ１１−ｂへ送信した後、その送信完了したページ数を監視し、プリンタ１１−ｂから、受信可能通知を受け取る毎にこの受信可能通知をカウントし、プリンタ１１−ｂの受信バッファ１１−ｂ１−３−１に格納された圧縮データがどこまで消費されたかを監視する部分である。
【００８５】
又、ドライバ２１−ａ２は、プリンタ１１−ｂでジャムが発生した時に監視していたページ数と受信可能通知のカウント数に基づいてジャムリカバリでプリンタ１１−ｂが必要としているジャムリカバリ用の圧縮データを特定する部分でもある。その他の構成部分は、全て実施例１と同様なので説明を省略する。
【００８６】
実施例２の動作について説明する。
図２５は、実施例２のプリンタの動作フローチャート（その１）である。
図２６は、実施例２のプリンタの動作フローチャート（その２）である。
図２７は、実施例２のプリンタの動作フローチャート（その３）である。
以下にステップＳ１０１〜ステップＳ１３１までステップ順に従って実施例２の印刷システムに用いられるプリンタの動作について説明する。
【００８７】
ステップＳ１０１からステップＳ１２２は、実施例１のステップＳ１からステップＳ２２と全く同様なので説明を省略し、ステップＳ１２３以降について説明する。
ステップＳ１２３
ビデオデータ出力制御部１１−ｂ１−８（図２４）は、ジャムの発生が検出されるとビデオデータが印刷エンジン１１−ｂ２へ送信されるのを停止させる。
ステップＳ１２４
ジャムの発生が印刷エンジン１１−ｂ２（図２４）からビデオデータ出力制御部１１−ｂ１−８（図２４）に通知されると同時にＣＰＵ１１−ｂ１−１（図２４）にも通知される。ＣＰＵ１１−ｂ１−１（図２４）は、このジャムの発生をホスト２１−ａに通知する。
【００８８】
ステップＳ１２５
ＣＰＵ１１−ｂ１−１（図２４）は、ジャムリカバリに必要な情報をホスト２１−ａから再受信する。
ステップＳ１２６
受信したデータが、印刷ページの諸情報であればページの諸情報部（１）１３−ａ１又はページの諸情報部（２）１３−ａ２（図４）に格納される。圧縮データであれば、受信バッファ１１−ｂ１−３−１（図２４）の対応するバンド格納領域１〜バンド格納領域ｎに、それぞれ格納される。
【００８９】
ステップＳ１２７
圧縮データが受信バッファ１１−ｂ１−３−１（図２４）の対応するバンド格納領域１〜バンド格納領域ｎに格納されると、ＣＰＵ１１−ｂ１−１（図２４）は、メモリ管理表１１−ｂ１−３−２（図４）の各バンド情報部１３−ｂ（図２４）の各情報を更新する。
【００９０】
ステップＳ１２８
ＣＰＵ１１−ｂ１−１（図２４）は、ジャムが解除されるのを待ち、解除されるとステップＳ１２９へ進む。  ステップＳ１２９  ＣＰＵ１１−ｂ１−１（図２４）は、メモリ管理表１１−ｂ１−３−２（図２４）の各情報に基づいて伸長処理部１１−ｂ１−５（図２４）及びＤＭＡ１１−ｂ１−４（図２４）の諸設定を実行して起動させる。
ステップＳ１３０
ＣＰＵ１１−ｂ１−１（図２４）は、印刷エンジン１１−ｂ２（図２４）に印刷開始を指示する。
【００９１】
ステップＳ１３１
印刷エンジン１１−ｂ２（図２４）は、コントローラ部１１−ｂ１（図２４）からビデオデータを受信し、ジャムリカバリ印刷を開始する。
以後、ジャムが発生したページが正常に印刷完了するまでステップＳ１０９へ戻って、全ページの印刷が完了するまでステップＳ１０９からステップＳ１１９が繰り返される。
【００９２】
次に実施例２のホストの動作について説明する。
図２８は、実施例２のホストの動作フローチャート（その１）である。
図２９は、実施例２のホストの動作フローチャート（その２）である。
ステップＳ１４１からステップＳ１５２までは実施例１のステップＳ４１からステップＳ５２までと全く同様なので説明を省略し、以下にステップＳ１５３からステップＳ１６０までステップ順に従って実施例２の印刷システムに用いられているホストの動作について説明する。
【００９３】
ステップＳ１５３
ホスト２１−ａ（図２４）は、プリンタ１１−ｂ（図２４）へ送信すべき圧縮データが１ページのデータである場合には、直接ステップＳ１５５へ跳ぶが、それ以外の場合にはステップＳ１５４へ進む。
ステップＳ１５４
プリンタ状況判別手段２１−ａ２−１が、受信可能通知の累積数を計数する。
【００９４】
ステップＳ１５５
ホスト２１−ａ（図２４）は、プリンタ１１−ｂ（図２４）へ圧縮データを送信する。
ステップＳ１５６
ドライバ２１−ａ２（図２４）は、バンド単位で圧縮データの送信が終了するまでステップＳ１５５とステップＳ１５６を繰り返し、バンド単位での送信が終了するとステップＳ１５７へ進む。
【００９５】
ステップＳ１５７
ドライバ２１−ａ２（図２４）は、続きの圧縮データがある場合には、引き続きステップＳ１５５からステップＳ１５７を繰り返し、全ての圧縮データをプリンタ１１−ｂ（図２４）へ送信してステップＳ１５８へ進む。
ステップＳ１５８
ホスト２１−ａ（図２４）は、プリンタ１１−ｂからの受信可能通知を待ち、受信可能通知が無ければステップＳ１６０へ跳び、受信可能通知があればステップＳ１５９へ進む。
【００９６】
ステップＳ１５９
プリンタ状況判別手段２１−ａ２−１（図２４）が、受信可能通知の累積数を計数する。
ステップＳ１６０
プリンタ１１−ｂ（図２４）からの印刷終了通知を待ち、印刷終了通知を受信した後データ送信を完了する。
【００９７】
次に実施例２のジャムリカバリ時のホストの動作について説明する。
図３０は、実施例２のジャムリカバリ時のホストの動作フローチャートである。
このフローは、上記ステップＳ１２４（図２７）において、ホスト２１−ａ（図２４）にＣＰＵ１１−ｂ１−１（図２４）からジャムの発生を通知されると、ドライバ２１−ａ２（図２４）が、プリンタ状況判別手段２１−ａ２−１（図２４）の計数結果に基づいてジャムリカバリでプリンタ１１−ｂ（図２４）が必要としているジャムリカバリ用の圧縮データを特定する動作から開始される。
【００９８】
ステップＳ１６１
ホスト２１−ａ（図２４）にＣＰＵ１１−ｂ１−１（図２４）からジャムの発生を通知されると、ドライバ２１−ａ２（図２４）は、現在処理している圧縮データの送信処理を停止する。ドライバ２１−ａ２（図２４）は、プリンタ状況判別手段２１−ａ２−１（図２４）が監視していたページ番号からジャムリカバリが発生したページがどのページであるかを判断する。
【００９９】
ステップＳ１６２
ドライバ２１−ａ２（図２４）は、プリンタ状況判別手段２１−ａ２−１（図２４）の計数結果に基づいてジャムが発生したバンドは何バンドであるかを判定する。
ステップＳ１６３からステップＳ１７３は、実施例１のステップＳ６２からステップＳ７２と全く同様なので説明を省略する。
即ち、上記ステップＳ１６１及びステップＳ１６２に於いてジャムが発生したバンドが特定され、以後は、実施例１と同様な動作によってジャムリカバリ用の圧縮データがホスト２１−ａからプリンタ１１−ｂへ再送信されてフローを終了する。
【０１００】
上記説明では、実施例１と同様に各構成部分をそれぞれ個別なブロックとして構成した場合に限定して説明しているが、本発明は、この例に限定されるものではない。即ち、各構成部分の全部または一部が、ホスト１１−ａ（図２４）の内部に備えるＣＰＵ（図示してない）や、コントローラ部１１−ｂ１に備えるＣＰＵ１１−ｂ１−１の機能の一部として構成されるものであっても良い。
【０１０１】
以上説明したように、実施例２の印刷システムでは、送信完了したページ数と受信可能通知をカウントするプリンタ状況判別手段を備えることによって、プリンタは、ジャムの発生のみをホストへ通知するだけで、ホストがジャムリカバリに必要な圧縮データを特定して再送信することができるようになるので、ジャムリカバリが容易になるという効果を得る。
【産業上の利用可能性】
【０１０２】
以上の説明では、プリンタに限定して説明したが、本発明はこの例に限定されるものではない。即ち、例えば、複写機や、ファクシミリ装置にも適用可能である。
【図面の簡単な説明】
【０１０３】
【図１】実施例１の構成のブロック図である。
【図２】バンド管理表の内容説明図である。
【図３】バンド管理表の一例である。
【図４】メモリ管理表の内容説明図である。
【図５】メモリ管理表の一例である。
【図６】実施例１のプリンタの動作フローチャート（その１）である。
【図７】実施例１のプリンタの動作フローチャート（その２）である。
【図８】実施例１のプリンタの動作フローチャート（その３）である。
【図９】受信開始から完了までのメモリ管理表の状態変化説明図（その１）である。
【図１０】受信開始から完了までのメモリ管理表の状態変化説明図（その２）である。
【図１１】受信開始から完了までのメモリ管理表の状態変化説明図（その３）である。
【図１２】受信開始から完了までの受信バッファの状態変化説明図である。
【図１３】印刷開始から完了までのメモリ管理表の状態変化説明図（その１）である。
【図１４】印刷開始から完了までのメモリ管理表の状態変化説明図（その２）である。
【図１５】印刷開始から完了までのメモリ管理表の状態変化説明図（その３）である。
【図１６】印刷開始から完了までのメモリ管理表の状態変化説明図（その４）である。
【図１７】印刷開始から完了までの受信バッファの状態変化説明図である。
【図１８】バンド３途中でのジャム発生状態説明図である。
【図１９】バンド１を再受信した状態説明図である。
【図２０】バンド２まで再受信した状態説明図である。
【図２１】実施例１のホストの動作フローチャート（その１）である。
【図２２】実施例１のホストの動作フローチャート（その２）である。
【図２３】実施例１のジャムリカバリ時のホストの動作フローチャートである。
【図２４】実施例２の構成のブロック図である。
【図２５】実施例２のプリンタの動作フローチャート（その１）である。
【図２６】実施例２のプリンタの動作フローチャート（その２）である。
【図２７】実施例２のプリンタの動作フローチャート（その３）である。
【図２８】実施例２のホストの動作フローチャート（その１）である。
【図２９】実施例２のホストの動作フローチャート（その２）である。
【図３０】実施例２のジャムリカバリ時のホストの動作フローチャートである。
【符号の説明】
【０１０４】
１１−ａ  ホスト
１１−ａ１  アプリケーション
１１−ａ２  ドライバ
１１−ａ２−１  情報判別手段
１１−ａ２−２  バンド読み出し手段
１１−ａ３  ワーク領域
１１−ａ３−１  フレームバッファ
１１−ａ３−２  バンド管理表
１１−ａ４  送受信部
１１−ｂ  プリンタ
１１−ｂ１  コントローラ部  １１−ｂ１−１  ＣＰＵ
１１−ｂ１−２  ＲＯＭ
１１−ｂ１−３  ＲＡＭ
１１−ｂ１−３−１  受信バッファ
１１−ｂ１−３−２  メモリ管理表
１１−ｂ１−４  ＤＭＡ  １１−ｂ１−５  伸長処理部
１１−ｂ１−６  送受信部
１１−ｂ１−７  ビデオデータ送信部
１１−ｂ１−８  ビデオデータ出力制御部
１１−ｂ１−９  バンド終了判別部
１１−ｂ２  印刷エンジン
【図１】
2005153267.tif 000003
【図２】
2005153267.tif 000004
【図３】
2005153267.tif 000005
【図４】
2005153267.tif 000006
【図５】
2005153267.tif 000007
【図６】
2005153267.tif 000008
【図７】
2005153267.tif 000009
【図８】
2005153267.tif 000010
【図９】
2005153267.tif 000011
【図１０】
2005153267.tif 000012
【図１１】
2005153267.tif 000013
【図１２】
2005153267.tif 000014
【図１３】
2005153267.tif 000015
【図１４】
2005153267.tif 000016
【図１５】
2005153267.tif 000017
【図１６】
2005153267.tif 000018
【図１７】
2005153267.tif 000019
【図１８】
2005153267.tif 000020
【図１９】
2005153267.tif 000021
【図２０】
2005153267.tif 000022
【図２１】
2005153267.tif 000023
【図２２】
2005153267.tif 000024
【図２３】
2005153267.tif 000025
【図２４】
2005153267.tif 000026
【図２５】
2005153267.tif 000027
【図２６】
2005153267.tif 000028
【図２７】
2005153267.tif 000029
【図２８】
2005153267.tif 000030
【図２９】
2005153267.tif 000031
【図３０】
2005153267.tif 000032