(57)【特許請求の範囲】
【請求項１】
画像データを、所定のライン数のブロックに分割する画像分割制御手段と、
前記画像分割制御手段で分割された第Ｎブロックの、ライン単位の基準ラインデータ、第（ｎ−１）ラインと第ｎラインとの差分データである第１の差分データ、および第Ｎブロックの最終ラインと第（Ｎ＋１）ブロックの基準ラインとの差分データである第２の差分データを圧縮する画像圧縮制御手段と、
前記圧縮された第Ｎブロックに関するデータを、画像形成装置に対して、一定の帯域が保証された同期転送モードで転送を行なう画像転送制御手段とを備える、画像生成装置。
【請求項２】
画像生成装置から元の画像データの第Ｎブロックに関するデータとして受信した、前記第Ｎブロックの、ライン単位の基準ラインデータ、第（ｎ−１）ラインと第ｎラインとの差分データである第１の差分データ、および前記第Ｎブロックの最終ラインと第（Ｎ＋１）ブロックの基準ラインとの差分データである第２の差分データのうち、前記第Ｎブロックの基準ラインデータおよび前記第１の差分データに基づいて、前記元の画像データの前記第Ｎブロックを復元する画像伸張制御手段と、
前記画像生成装置から受信した前記第Ｎブロックに関するデータおよび前記第（Ｎ＋１）ブロックに関するデータを所定期間保存する保存手段と、
前記画像生成装置から前記第Ｎブロックに関するデータを受信する際に生じた通信エラーにより、前記第Ｎブロックの第ｍラインと第（ｍ−１）ラインとの差分データの欠損が発生したことを検知する検知手段と、
前記欠損が検知された場合に、当該画像データの前記第ｍラインを補間する補間手段と、
前記画像伸長制御手段において、前記補間された前記第Ｎブロックの第ｍラインからライン番号の正方向に順次復元して得られた前記第（Ｎ＋１）ブロックの基準ラインと、前記保存手段で保存される前記画像生成装置から受信した前記第（Ｎ＋１）ブロックの基準ラインとを比較することによって、前記補間された前記第Ｎブロックの第ｍラインの内容の成否を判定する判定手段と、
前記判定手段で前記補間された前記第Ｎブロックの第ｍラインの内容が不正であると判断された場合、前記保存手段で保存された前記画像生成装置から受信した前記第（Ｎ＋１）ブロックの基準ラインデータ、前記第Ｎブロックに関するデータのうちの前記第１の差分データ、および前記第２の差分データに基づいて、前記画像生成装置から受信した前記第（Ｎ＋１）ブロックの基準ラインから前記第Ｎブロックの前記第ｍラインまでライン番号の負方向に順次復元する復元手段とを備える、画像形成装置。
【請求項３】
請求項１に記載の画像生成装置と、請求項２に記載の画像形成装置とからなる、印刷制御装置。
【請求項４】
画像生成装置から他の装置に第１のデータを転送する方法であって、
前記画像生成装置は、第２のデータを処理して前記第１のデータを得るための演算部、前記他の装置に前記第１のデータを送信するための通信部、および前記通信部での通信を制御するための通信制御部を含み、
前記演算部が、前記第２のデータを、所定のライン数のブロックに分割する分割制御ステップと、
前記演算部が、前記画像分割制御ステップで分割された第Ｎブロックの、ライン単位の基準ラインデータ、第（ｎ−１）ラインと第ｎラインとの差分データである第１の差分データ、および第Ｎブロックの最終ラインと第（Ｎ＋１）ブロックの基準ラインとの差分データである第２の差分データを圧縮する画像圧縮制御ステップと、
前記通信制御部が、前記通信部において、前記圧縮されて得られた前記第１のデータを、一定の帯域が保証された同期転送モードで転送を行なうための制御を行なう転送制御ステップとを備える、データ転送方法。
【請求項５】
画像形成装置において、第１のデータを第２のデータに変換する方法であって、
前記画像形成装置は、前記第１のデータを受信する受信部と、前記第１のデータに対して処理を行なうための演算部と、前記第１のデータを記憶する記憶部とを含み、
前記受信部が、前記第２のデータの第１ブロックから最終ブロックまでの各ブロックに関するデータとして、第Ｎブロックのライン単位の基準ラインデータと、第Ｎブロックの第（ｎ−１）ラインと第ｎラインとの差分データである第１の差分データと、前記第Ｎブロックの最終ラインと第（Ｎ＋１）ブロックの基準ラインとの差分データである第２の差分データと、を含んだ前記第１のデータを受信する受信ステップと、
前記演算部が、前記受信した前記第１のデータを前記記憶部に保存する保存ステップと、
前記演算部が、受信した前記第１のデータの、前記第Ｎブロックの基準ラインデータおよび前記第１の差分データに基づいて、前記第Ｎブロックの先頭ラインから第（ｍ−１）ラインまで順次復元し、前記第２のデータの、前記第Ｎブロックの先頭ラインから第（ｍ−１）ラインまで得る伸張制御ステップと、
前記受信部が前記第１のデータを受信する際に生じた通信エラーにより、前記演算部が、前記第Ｎブロックの第ｍラインと第（ｍ−１）ラインとの差分データの欠損が発生したことを検知する検知ステップと、
前記データ欠損が検知された場合に、前記演算部が、前記第ｍラインを補間する補間ステップと、
前記演算部が、前記補間された前記第Ｎブロックの第ｍラインからライン番号の正方向に順次復元して、前記第（Ｎ＋１）ブロックの基準ラインを復元する第１復元ステップと、
前記演算部が、前記復元された前記第（Ｎ＋１）ブロックの基準ラインと、前記受信して前記保存ステップで前記記憶部に保存されている前記第（Ｎ＋１）ブロックの基準ラインとを比較することによって、前記補間された前記第Ｎブロックの第ｍラインの内容の成否を判定する判定ステップと、
前記判定ステップで前記補間された前記第Ｎブロックの第ｍラインの内容が不正であると判断された場合、前記演算部が、前記保存ステップで前記記憶部に保存された前記受信した前記第（Ｎ＋１）ブロックの基準ラインデータ、前記第Ｎブロックのデータのうちの前記第１の差分データ、および前記第２の差分データに基づいて、前記受信した前記第（Ｎ＋１）ブロックの基準ラインから前記第Ｎブロックの前記第ｍラインまでライン番号の負方向に順次復元し、前記第２のデータの、前記第Ｎブロックの第ｍラインから前記第Ｎブロックの最終ラインまで得る第２復元ステップとを備える、データ変換方法。
【請求項６】
コンピュータに、第１のデータを他の装置に転送するための処理を実現させるプログラムであって、
前記コンピュータは演算部、通信部、および前記通信部での通信を制御するための通信制御部を含み、
前記演算部が、第２のデータを、所定のライン数のブロックに分割する分割制御ステップと、
前記演算部が、前記分割制御ステップで分割された第Ｎブロックの、ライン単位の基準ラインデータ、第（ｎ−１）ラインと第ｎラインとの差分データである第１の差分データ、および第Ｎブロックの最終ラインと第（Ｎ＋１）ブロックの基準ラインとの差分データである第２の差分データを圧縮する圧縮制御ステップと、
前記通信制御部が、前記通信部において、前記圧縮されて得られた前記第１のデータを、一定の帯域が保証された同期転送モードで転送を行なうための制御を行なう転送制御ステップとをコンピュータに実現させる、データ転送プログラム。
【請求項７】
請求項６に記載のデータ転送プログラムを記録した、コンピュータ読取可能な記録媒体。
【請求項８】
第１のデータを第２のデータに変換する処理をコンピュータに実現させるプログラムであって、
前記コンピュータは、受信部と、演算部と、記憶部とを含み、
前記受信部が、前記第２のデータの第１ブロックから最終ブロックまでの各ブロックに関するデータとして、第Ｎブロックのライン単位の基準ラインデータと、第Ｎブロックの第（ｎ−１）ラインと第ｎラインとの差分データである第１の差分データと、前記第Ｎブロックの最終ラインと第（Ｎ＋１）ブロックの基準ラインとの差分データである第２の差分データと、を含んだ前記第１のデータを受信する受信ステップと、
前記演算部が、前記受信した前記第１のデータを前記記憶部に保存する保存ステップと、
前記演算部が、受信した、前記第１のデータの、前記第Ｎブロックの基準ラインデータおよび前記第１の差分データに基づいて、前記第Ｎブロックの先頭ラインから第（ｍ−１）ラインまで順次復元し、前記第２のデータの、前記第Ｎブロックの先頭ラインから第（ｍ−１）ラインまで得る伸張制御ステップと、
前記受信部が前記第１のデータを受信する際に生じた通信エラーにより、前記演算部が、前記第Ｎブロックの第ｍラインと第（ｍ−１）ラインとの差分データの欠損が発生したことを検知する検知ステップと、
前記データ欠損が検知された場合に、前記演算部が、前記第ｍラインを補間する補間ステップと、
前記演算部が、前記補間された前記第Ｎブロックの第ｍラインからライン番号の正方向に順次復元して、前記第（Ｎ＋１）ブロックの基準ラインを復元する第１復元ステップと、
前記演算部が、前記復元された前記第（Ｎ＋１）ブロックの基準ラインと、前記受信して前記保存ステップで前記記憶部に保存されている前記第（Ｎ＋１）ブロックの基準ラインとを比較することによって、前記補間された前記第Ｎブロックの第ｍラインの内容の成否を判定する判定ステップと、
前記判定ステップで前記補間された前記第Ｎブロックの第ｍラインの内容が不正であると判断された場合、前記演算部が、前記保存ステップで前記記憶部に保存された前記受信した前記第（Ｎ＋１）ブロックの基準ラインデータ、前記第Ｎブロックのデータのうちの前記第１の差分データ、および前記第２の差分データに基づいて、前記受信した前記第（Ｎ＋１）ブロックの基準ラインから前記第Ｎブロックの前記第ｍラインまでライン番号の負方向に順次復元し、前記第２のデータの、前記第Ｎブロックの第ｍラインから前記第Ｎブロックの最終ラインまで得る第２復元ステップとをコンピュータに実現させる、データ変換プログラム。
【請求項９】
請求項８に記載のデータ変換プログラムを記録した、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は画像生成装置、画像形成装置、印刷制御装置、データ転送方法、データ変換方法、データ転送プログラムおよびデータ変換プログラムに関し、特に、効率的な画像データの転送を行なうことのできる画像生成装置、画像形成装置、印刷制御装置、データ転送方法、データ変換方法、データ転送プログラムおよびデータ変換プログラムに関する。
【０００２】
【従来の技術】
レーザプリンタ等の印刷制御装置（プリンタ）は、通常、画像データを生成する画像生成部（プリンタコントローラ部）と画像データを出力する画像形成部（プリンタエンジン部）とから構成される。以下、このような印刷制御装置（プリンタ）における印刷処理の手順を簡単に説明する。
【０００３】
まず、ホストコンピュータ等の外部機器より印刷データが送られてくると、画像生成部（プリンタコントローラ部）は、その印刷データを受信し、メモリ上に画像データとして展開する。そして、展開した画像データを画像形成部（プリンタエンジン部）に転送する。画像形成部（プリンタエンジン部）では、受信した画像データに基づいてプリント出力を行なう。
【０００４】
プリンタエンジンは一定のプロセス速度でプリント出力を行なうため、プリンタコントローラから転送される画像データは、プリンタエンジンの機械的な動作に同期した一定の速度で転送されることになる。このようにプリンタコントローラとプリンタエンジン間の接続には、一定の帯域を保証する同期（アイソクロナス）転送が要求されるため、インタフェースとしては、ビデオ信号を用いたものが一般的であった。
【０００５】
しかし最近は、一定の帯域を保証するアイソクロナス転送機能と十分高速なデータ転送レートを有するインタフェースであるＩＥＥＥ１３９４（High Performance Serial Bus  以下「１３９４シリアルバス」と言う）を利用する方法が用いられつつある。
【０００６】
【発明が解決しようとする課題】
しかしながら、プリンタコントローラとプリンタエンジン間のインターフェイスとして１３９４シリアルバスを用いた場合では、次のような問題があった。
【０００７】
１３９４シリアルバスのアイソクロナス転送モードでは、一定時間内（１２５μｓ）にデータを転送することが保証されるが、送信したパケットに対する送信先からの応答は得られない。このため、ノイズなどの通信エラーが発生してプリンタエンジンにおいて正常に画像データが受信されない場合、すなわちデータ欠損が発生した場合であっても、プリンタコントローラからは画像データが同期転送され続けることになる。したがって、プリント出力された画像にはデータ欠損に該当する部分に画像欠損が生じることになる。
【０００８】
このような画像欠損の発生を防止するために、連続印刷中に通信エラーによるデータ欠損が発生したときには、直ちにリカバリのためのエラー処理がとられていた。すなわち、データ欠損が発生したときには、それ以降の印刷動作が停止され、プリンタエンジン内部にある用紙がすべて排紙される。そして、このようなリセット（エラー処理）が一旦完了してから、データ受信が再開され、連続印刷が行なわれる。
【０００９】
この方法では、確かに画像欠損が生じるという問題は回避される。しかしながら、連続印刷が中断される上、エラー処理に長時間が必要とされるため、最終的に所望の印刷処理が終了するのに要する時間も長くなる。この問題は、プリンタエンジン内部の用紙枚数が多くなる高速機ほど顕著になる。
【００１０】
このため、１３９４シリアルバスのアイソクロナス転送モードを用いて、画像データの送信を行なう際のエラー処理方法は、特開２０００−３３２７７５を始め、従来から種々提案されている。
【００１１】
特開２０００−３３２７７５号公報には、データ欠損等のエラーがある場合に、受信ノードがアイソクロナス転送によりエラーデータの再送信要求を繰返し行なうことで、送信ノードによるデータ再送を可能にするという技術が記載されている。しかしながら、特開２０００−３３２７７５号公報における技術は連続印刷を対象にしたものではなく、必ずしも適切なデータ再送が行なわれるとは限られない。すなわち、データの再送信を行なう送信ノードは、どの時点で受信ノードから再送要求の同期バケットが送られてくるかが分からず、一定速度のデータ転送を定期的に行なえるか否かは明確にされていない。
【００１２】
本発明は係る実情に鑑みてなされたものであり、その目的はアイソクロナス転送によるデータ転送中に通信エラーによるデータ欠損が発生した場合であっても、効率的なエラー回復を行なうことでデータ遅延を防止し、一定のシステム速度で印刷を行なうことのできる画像生成装置、画像形成装置、印刷制御装置、データ転送方法、データ変換方法、データ転送プログラムおよびデータ変換プログラムを提供することである。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本発明のある局面に従うと、画像生成装置は、画像データを、ライン単位の基準ラインデータおよび前ラインと当該ラインとの差分データに分割する画像分割制御手段と、画像分割制御手段でライン単位に分割された画像データを圧縮する画像圧縮制御手段と、圧縮された画像データを、画像形成装置に対して、一定の帯域が保証された同期転送モードで転送を行なう画像転送制御手段とを備える。
【００１４】
本発明の他の局面に従うと、画像形成装置は、画像生成装置から受信した、ライン単位の基準ラインデータおよび前ラインと当該ラインとの差分データに分割された画像データに基づいて、元の画像データを復元する画像伸張制御手段と、画像生成装置から受信した画像データを所定期間保存する保存手段と、画像生成装置から画像データを受信する際に生じた通信エラーにより、画像欠損が発生したことを検知する検知手段と、画像欠損が検知された場合に、当該画像データを補間する補間手段と、補間された画像データの内容の成否を判定する判定手段と、判定手段で補間された画像データの内容が不正であると判断された場合、保存手段で保存される画像生成装置から受信した画像データに基づいて、内容が不正であると判断された補間された画像データを正常な画像データに復元し、内容が不正であると判断された補間された画像データに基づいて、画像伸張制御手段で復元された元の画像データを正常な画像データに復元する復元手段とを備える。
【００１５】
本発明の他の局面に従うと、印刷制御装置は、上述の画像生成装置と、上述の画像形成装置とからなる。
【００１６】
本発明の他の局面に従うと、データ転送方法は、データを、ライン単位の基準ラインデータおよび前ラインと当該ラインとの差分データに分割する分割制御ステップと、分割制御ステップでライン単位に分割されたデータを圧縮する圧縮制御ステップと、圧縮されたデータを、一定の帯域が保証された同期転送モードで転送を行なう転送制御ステップとを備える。
【００１７】
本発明の他の局面に従うと、データ変換方法は、受信した、ライン単位の基準ラインデータおよび前ラインと当該ラインとの差分データに分割されたデータに基づいて、元のデータを復元する伸張制御ステップと、受信したデータを所定期間保存する保存ステップと、データを受信する際に生じた通信エラーにより、データ欠損が発生したことを検知する検知ステップと、データ欠損が検知された場合に、当該データを補間する補間ステップと、補間されたデータの内容の成否を判定する判定ステップと、判定ステップで補間されたデータの内容が不正であると判断された場合、保存ステップで保存される受信したデータに基づいて、内容が不正であると判断された補間されたデータを正常なデータに復元し、内容が不正であると判断された補間されたデータに基づいて、画像伸張制御ステップで復元された元のデータを正常なデータに復元する復元ステップとを備える。
【００１８】
本発明の他の局面に従うと、データ転送プログラムは、データ転送方法をコンピュータに実現させるプログラムであって、データを、ライン単位の基準ラインデータおよび前ラインと当該ラインとの差分データに分割する分割制御ステップと、分割制御ステップでライン単位に分割されたデータを圧縮する圧縮制御ステップと、圧縮されたデータを、一定の帯域が保証された同期転送モードで転送を行なう転送制御ステップとをコンピュータに実現させる。
【００１９】
本発明の他の局面に従うと、コンピュータ読取可能な記録媒体は、上述のデータ転送プログラムを記録する。
【００２０】
本発明の他の局面に従うと、データ変換プログラムは、データ変換方法をコンピュータに実現させるプログラムであって、受信した、ライン単位の基準ラインデータおよび前ラインと当該ラインとの差分データに分割されたデータに基づいて、元のデータを復元する伸張制御ステップと、受信したデータを所定期間保存する保存ステップと、データを受信する際に生じた通信エラーにより、データ欠損が発生したことを検知する検知ステップと、データ欠損が検知された場合に、当該データを補間する補間ステップと、補間されたデータの内容の成否を判定する判定ステップと、判定ステップで補間されたデータの内容が不正であると判断された場合、保存ステップで保存される受信したデータに基づいて、内容が不正であると判断された補間されたデータを正常なデータに復元し、内容が不正であると判断された補間されたデータに基づいて、画像伸張制御ステップで復元された元のデータを正常なデータに復元する復元ステップとをコンピュータに実現させる。
【００２１】
本発明の他の局面に従うと、コンピュータ読取可能な記録媒体は、上述のデータ変換プログラムを記録する。
【００２２】
【発明の実施の形態】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２３】
［第１の実施の形態］
図１は、第１の実施の形態における印刷制御装置（プリンタ）１の制御系の構成を示すブロック図である。
【００２４】
図１を参照して、本実施の形態における印刷制御装置１は、画像生成部（プリンタコントローラ部）１０と、画像形成部（プリンタエンジン部）２０とを含む。
【００２５】
さらに画像生成部１０は、コントローラ制御部１１と、通信入出力部１２と、操作パネル部１３と、構文解析部１４と、画像生成部１５と、画像圧縮部１６と、画像出力部１７と、記憶部１８とを含む。
【００２６】
コントローラ制御部１１はＣＰＵ（Central Processing Unit）であり、各種プログラムに従い画像生成部１０全体の制御を行なう。
【００２７】
通信入出力部１２はネットワークインタフェースであり、インターネットやＬＡＮ（Local Area Network）を介して外部のホストコンピュータとの間で行なわれる印刷情報の送受信を行なう。
【００２８】
操作パネル部１３は、エラーを含む印刷制御装置１の状態の表示や、操作パネルからの印刷指示の制御を行なう。
【００２９】
記憶部１８は画像生成部１０の設定値や各種プログラム等を記憶するＲＯＭと、作業領域として一時的にプログラムやデータを記憶するＲＡＭと、大容量の記憶領域を有し各種プログラムやデータを記憶するハードディスク等とからなる。
【００３０】
構文解析部１４はプログラムのモジュールとして記憶部１８に記憶されており、外部のホストコンピュータより受信した、ＰＤＬ（Page Description Language；ページ記述言語）などの印刷制御データを解釈し、内部処理可能な形式のデータである中間レコードに変換する。
【００３１】
画像生成部１５はＡＳＩＣ（Application Specific Integrated Circuit）等の集積回路で構成されており、構文解析部１４が生成した中間レコードに基づき、画像データ（ビットマップデータ）を生成する。なお、画像生成部１５はソフトウェアで実装されてもよい。
【００３２】
画像圧縮部１６はＡＳＩＣ等の集積回路で構成されており、画像生成部１５が生成した画像データのライン圧縮を行なう。なお、画像圧縮部１６はソフトウェアで実装されてもよい。なお、後に説明を行なう、プロセス速度に応じた一定速度で処理を行なう場合は、ハードウェアにより実装されることが望ましい。
【００３３】
画像出力部１７は、１３９４シリアルバスのインタフェースとその制御部分とから構成され、画像形成部２０との間で、１３９４シリアルバスを介して、印刷指示などを送受信する。また、画像形成部２０へ、１３９４シリアルバスを介して、画像データを送信する。
【００３４】
なお、画像生成部１５における画像生成処理、画像圧縮部１６における画像圧縮処理、および画像出力部１７における画像出力処理は、それぞれ独立して逐次的に行なわれるものではなく、並行して実行される。
【００３５】
上述の画像生成部１０は、外部のホストコンピュータから受信する印刷データに基づいて、画像データを生成し、画像形成部２０へ送信する。
【００３６】
次に、画像形成部２０は、画像生成部１０からの指示に基づき、画像形成部２０の各部を制御して、画像生成部１０で生成された印刷画像データを印刷出力する。
【００３７】
次に、画像形成部２０は、エンジン制御部２１と、スキャナ制御部２２と、高圧制御部２３と、レーザ制御部２４と、画像入力部２５と、画像伸張部２６と、搬送制御部２７と、記憶部２８とを含む。さらに、画像生成部１０の画像出力部１７と画像形成部２０の画像入力部２５とは、１３９４シリアルバスで接続されている。
【００３８】
エンジン制御部２１はＣＰＵであり、各種プログラムに従い画像形成部２０全体の制御を行なう。
【００３９】
スキャナ制御部２２は、ポリゴンミラーによる走査を制御する。
高圧制御部２３は、感光体ドラムへの帯電、現像バイアスおよび転写ローラへの転写バイアスの電圧印加などの高電圧制御を行なう。
【００４０】
レーザ制御部２４は、レーザ光の変調制御を行なう。
画像入力部２５は、１３９４シリアルバスのインタフェースとその制御部分とから構成され、画像生成部１０との間で、１３９４シリアルバスを介して、印刷指示などを送受信する。また、画像生成部１０より、１３９４シリアルバスを介して、画像データを受信する。
【００４１】
画像伸張部２６はＡＳＩＣ等の集積回路で構成されており、画像生成部１０の画像圧縮部１６でライン圧縮された画像データを伸張する。なお、画像伸張部２６はソフトウェアで実装されてもよい。なお、後に説明を行なう、プロセス速度に応じた一定速度で処理を行なう場合は、ハードウェアにより実装されることが望ましい。
【００４２】
搬送制御部２７は、記録用紙の給紙制御を行なう。
記憶部２８は画像形成部２０の設定値や各種プログラム等を記憶するＲＯＭと、作業領域として一時的にプログラムやデータを記憶するＲＡＭ等とからなる。
【００４３】
上述の画像形成部２０は、画像生成部１０からの指示に基づき、画像形成部２０の各部を制御して、画像生成部１０で生成された印刷画像データを印刷出力する。
【００４４】
このような構成の印刷システムにおいて、画像生成部１０は、画像形成部２０に対して、画像データを、プリンタエンジンが印刷を行なう機械的な動作に同期して送り、印刷出力する。すなわち、画像生成部１０は、画像形成部２０のプロセス速度に応じた一定の速度で画像データを供給しなければならない。
【００４５】
したがって、画像生成部１０と画像形成部２０との接続は、一定の帯域を保証する同期転送が要求される。そこで、画像生成部１０と画像形成部２０とは１３９４シリアルバスを用いて接続され、１３９４シリアルバスの同期転送モードが使用されている。
【００４６】
続いて、図１に示される印刷制御装置１において印刷が行なわれる際の動作について説明する。図２は、画像生成部１０における印刷処理の流れを示したフローチャートである。
【００４７】
図２を参照して、画像生成部１０は、通信入出力部１２において、外部のホストコンピュータから印刷ジョブを受信する（Ｓ１０）。
【００４８】
続いて構文解析部１４では、ステップＳ１０で受信した印刷ジョブから、印刷ジョブ制御情報を取得する（Ｓ１１）。すなわち、ステップＳ１１において、画像生成部１０で実行解釈可能なページ記述言語（ＰＤＬ等）で記述された印刷データを取得する。
【００４９】
次に構文解析部１４で、インタープリタプログラムを使用してそのページ記述言語（ＰＤＬ等）を実行解釈し（Ｓ１２）、中間レコードを作成する（Ｓ１３）。
【００５０】
コントローラ制御部１１は、ステップＳ１３で、１ページ分の中間レコードの生成が終了したか否かを判断する（Ｓ１４）。
【００５１】
１ページ分の中間レコードの生成が終了すると（ステップＳ１４でＹｅｓ）、コントローラ制御部１１は、その生成された中間レコードをページキューに登録する（Ｓ１５）。
【００５２】
次に、コントローラ制御部１１は、ページキューから１ページ分の中間レコードを取出し、取出ポインタを１つインクリメントする（Ｓ１６）。
【００５３】
ステップＳ１６で取出された中間レコードは、画像生成部１５において、画像形成部２０に出力可能な画像データへと変換される（Ｓ１７）。
【００５４】
ステップＳ１７で変換された画像データは、１３９４シリアルバスを介して、画像出力部１７から画像形成部２０に送信される（Ｓ１８）。
【００５５】
ステップＳ１２〜Ｓ１８に示される一連の処理が、印刷ジョブが終了するまで（ステップＳ１９でＹｅｓ）繰返されることで、ステップＳ１０で受信した全ての印刷ジョブの画像データが画像形成部２０に送信される。
【００５６】
以上が、印刷制御装置１により印刷が行なわれる際の画像生成部１０における大まかな処理の流れである。
【００５７】
一方、画像形成部２０のエンジン制御部２１は、画像生成部１０からのプリント要求信号を画像入力部２５で受信すると、搬送制御部２７に給紙指示信号を出力して給紙の開始を指示する。また同時に、スキャナ制御部２２に走査準備を指示する。またさらに高圧制御部２３を介して感光体ドラムへの帯電、現像バイアスなどの設定をし、プリントの準備を行なう。次に、レーザ制御部２４は、後に説明を行なう垂直同期信号に同期して、画像生成部１０から画像入力部２５を介して入力された画像信号に基づいて、レーザ光の変調を行なう。これによって感光体ドラム上に静電潜像が形成され、印刷処理が行なわれる。
【００５８】
次に、印刷制御装置１により印刷が行なわれる際の各種信号のタイミングについて説明を行なう。図３は、１ページ分の印刷が行なわれる場合の画像形成部２０の動作を説明するための各種信号のタイミングを示した図である。
【００５９】
図３を参照して、Ｌ６およびＬ７は１ページ分の縦横の用紙幅を示しており、これらの用紙幅からＬ３、Ｌ４、およびＬ１、Ｌ２を除いた領域が印字可能領域となっている。／ＶＳＹＮＣ信号は１ページ分のプリントを開始するための垂直走査方向（副走査方向）の同期信号であり、／ＶＳＲＥＱ信号は、／ＶＳＹＮＣ信号を要求する信号である。また、／ＨＳＹＮＣ信号は、１ライン毎の印刷を開始するための水平走査方向（主走査方向）の同期信号であり、／ＶＩＤＥＯ信号は、実際に画像形成部２０が印字を行なうか否かを示す画像信号である。たとえばモノクロの場合、／ＶＩＤＥＯ信号の有効状態で黒く、／ＶＩＤＥＯ信号の無効状態で白く印字される。
【００６０】
画像形成部２０は、画像を印刷する際、直ちに給紙できる状態であれば給紙を開始し、所定時間後に／ＶＳＹＮＣ信号（垂直同期信号）を要求する／ＶＳＲＥＱ信号をアクティブにする。画像生成部１０は、／ＶＳＲＥＱ信号がアクティブであるとき／ＶＳＹＮＣ信号をアクティブにし、所定時間後に／ＨＳＹＮＣ信号（水平同期信号）に同期して１ライン分ずつ画像データを出力する。
【００６１】
／ＨＳＹＮＣ信号のサイクル幅（ｔ１０）は画像形成部２０のプロセス速度に対応しており、個々のプリンタエンジンの性能により規定される。画像データは、このサイクルに応じて、すなわち画像形成部２０のプロセス速度に応じて、一定速度で画像形成部２０に供給される。
【００６２】
なお、各信号のタイミング幅（ｔ１〜ｔ１１、Ｌ１〜Ｌ４）は、個々のプリンタエンジンの性能により規定されるが、エンジンの出力速度が高く、解像度（画像記録密度）が高いほど、／ＨＳＹＮＣ信号のサイクル幅（ｔ１０）は短くなる。
【００６３】
通常、／ＨＳＹＮＣ信号の周期（ｔ１０）とＩＥＥＥ１３９４の同期転送サイクル（１２５μ秒）とは一致しないが、画像形成部２０にバッファメモリを持たせることによりこの周期の違いを緩衝して対応することが可能となる。図４に、画像形成部２０に備えられるバッファメモリが行なう、周期の違いの緩衝を説明する概略図を示す。図４を参照して、画像形成部２０は、パケット単位に受信したデータの格納用と、実際のエンジンへの出力用とに、共用バッファメモリを備える。すなわち上述の共用バッファメモリは、パケット単位に受信したデータを格納するための受信バッファ（受信履歴バッファ）と、エンジンへデータを出力するためのデータバッファとを含む。画像形成部２０が上述の共有バッファを備えることで、受信データの格納（入力）とエンジンへの出力とが同時に実行される。
【００６４】
例えば、同期転送モードによる受信周期が、エンジンへの出力周期（ｔ１０）よりも遅い場合には、バッファメモリへの書込み（１３９４受信周期）がバッファメモリからの読出し（エンジンへの出力周期）に遅れをとらないようにある程度の余裕を持たせてバッファメモリのサイズが設定される。また、逆の場合は、バッファメモリへの書込みがバッファメモリの読出しを超えないように余裕を持たせてバッファメモリのサイズが設定される。本実施の形態においても、／ＨＳＹＮＣ信号の周期とＩＥＥＥ１３９４の同期転送サイクルとの周期の違いは適切なサイズのバッファメモリにより緩衝されるものとする。
【００６５】
上述の印刷制御装置１において、画像生成部１０から画像形成部２０へ、スキャンライン毎の画像データを、パケットデータとして転送する。本実施の形態においては、１ページの画像データを、任意（本実施の形態においては８スキャンライン）に分割し、ラインブロック毎に差分の元データ（基準ラインのラインデータ）と差分データとを転送する。すなわち、画像生成部１０でデルタロー圧縮法により圧縮された当該スキャンラインと前スキャンラインとの差分データおよび差分の元データ（基準ラインのラインデータ）とが、パケットデータとして転送される。受信した画像形成部２０ではパケットデータを復元（伸張）し、画像を形成する。なおデルタロー圧縮法の圧縮法および復元（伸張）法については、後の具体例の中で説明を行なう。
【００６６】
図５および図６は、本実施の形態における、画像形成部２０のデータ復元処理を示すフローチャートである。
【００６７】
図５を参照して、処理に先だって、画像形成部２０のエンジン制御部２１は全体の処理回数を制御するために、受信パケットカウンタを０に初期化する（Ｓ３０）。
【００６８】
画像入力部２５が１３９４シリアルバスを介して、画像生成部１０の画像出力部１７からパケットを受信すると（Ｓ３１）、エンジン制御部２１は、受信パケットカウンタを１加算し、更新する（Ｓ３２）。
【００６９】
さらにエンジン制御部２１は、通信エラーが発生しているか否かを確認する（Ｓ３３）。
【００７０】
通信エラーが発生していない場合は（Ｓ３４でＮｏ）、エンジン制御部２１は、ステップＳ３１で受信したパケットデータを、図４に示される受信バッファ（受信履歴バッファ）に保存する（Ｓ３５）。
【００７１】
次にステップＳ３１で受信したパケットデータが基準ラインのデータであるか否かを確認する（Ｓ３６）。
【００７２】
ステップＳ３１で受信したパケットデータが基準ラインのラインデータでない場合は（Ｓ３６でＮｏ）、画像伸張部２６は、すでに復元（伸張）されている現ラインの１つ前の前ラインデータと、前ラインデータからの差分データである受信したパケットデータとに基づいて、現ラインのラインデータを復元する（Ｓ３７）。なお、受信した差分データが、前ラインデータから差がないことを示している場合は、現ラインと前ラインとは同一データであるから、ステップＳ３７では前ラインのラインデータがそのまま用いられる。
【００７３】
ステップＳ３６において、ステップＳ３１で受信したパケットデータが基準ラインのデータである場合（Ｓ３６でＹｅｓ）、エンジン制御部２１は通信エラー発生フラグを確認し（Ｓ３８）、前ブロックにおける通信エラーの発生の有無を確認する。
【００７４】
ステップＳ３８において通信エラー発生フラグがＯＦＦの（前ブロックで通信エラーが発生していない）場合（Ｓ３９でＮｏ）、ステップＳ３１で受信したパケットデータが基準ラインのデータとしてそのまま用いられる。
【００７５】
ステップＳ３４において、ステップＳ３１のパケット受信時に通信エラーが発生している場合（Ｓ３４でＹｅｓ）、エンジン制御部２１は通信エラー発生フラグをＯＮにセットする（Ｓ４０）。
【００７６】
さらに通信エラー発生時の受信パケットが、１ライン目（基準ライン）のデータであるか否かを確認する（Ｓ４１）。
【００７７】
通信エラー発生時の受信パケットが１ライン目以外のデータである場合（Ｓ４１でＮｏ）、画像伸張部２６は、現ラインデータを１つ前の前ラインデータで補填する（Ｓ４２）。通信エラー発生時の受信パケットが１ライン目のデータである場合（Ｓ４１でＹｅｓ）、画像伸張部２６は、基準ラインである現ラインデータをヌルデータ（０データ）で補填する（Ｓ４３）。
【００７８】
ステップＳ３７で復元された現ラインデータおよびステップＳ４２，Ｓ４３で補填された現ラインデータは、図４に示されるエンジンへ出力するためのデータバッファに格納される（Ｓ４４）。
【００７９】
ステップＳ３９において、ステップＳ３１で基準ラインのデータを受信しており、さらに通信エラーフラグがＯＮの（前ブロックで通信エラーが発生している）場合（Ｓ３９でＹｅｓ）、図６を参照して、受信した基準ラインの前ラインのラインデータとその差分データとから、ステップＳ３１で受信した基準ラインのラインデータを復元する（Ｓ５１）。
【００８０】
さらにステップＳ５１で復元された基準ラインのラインデータと、ステップＳ３１で受信した基準ラインのラインデータとを比較する（Ｓ５２）。
【００８１】
ステップＳ５１で復元された基準ラインのラインデータと、ステップＳ３１で受信した基準ラインのラインデータとが一致する場合（Ｓ５３でＹｅｓ）、前ブロックで通信エラーが発生した際のステップＳ４２またはＳ４３における補填処理で完全な補填が行なわれたとして、ステップＳ３１で受信した基準ラインのラインデータをそのままデータバッファに格納する（Ｓ４４）。
【００８２】
ステップＳ５１で復元された基準ラインのラインデータと、ステップＳ３１で受信した基準ラインのラインデータとが一致しない場合（Ｓ５３でＮｏ）、前ブロックで通信エラーが発生した際のステップＳ４２またはＳ４３における補填処理で完全な補填が行なわれなかったと判断し、復元処理を行なう。
【００８３】
前ブロックにおける通信エラー発生ラインからステップＳ３１で受信した現ラインである基準ラインまでのライン数を計算する。算出されたライン数を、復元処理回数を制御するための復元ラインカウンタにセットする（Ｓ５４）。
【００８４】
ステップＳ３１で受信した現ラインである基準ラインのデータと、その差分データとから、ステップＳ３７で行なわれた復元処理と逆方向の処理を行ない、１つ前の前ラインのラインデータを復元する（Ｓ５５）。
【００８５】
ステップＳ５５で復元された前ラインのラインデータは、データバッファに格納され（Ｓ５６）、復元ラインカウンタの処理回数が１減算される（Ｓ５７）。
【００８６】
通信エラー発生ラインまでの全ラインの復元処理が終了したか否かが監視され（Ｓ５８）、ステップＳ５４でセットされた復元ラインカウンタが０になるまで、さらに前ラインデータの復元処理（Ｓ５９）、およびデータバッファへの格納処理（Ｓ５６）が繰返される。
【００８７】
ステップＳ３２で更新された受信パケットカウンタが確認され（Ｓ４５）、全ラインの復元処理が終了されるまで（Ｓ４６）、上述のステップＳ３１〜Ｓ４５およびＳ５１〜Ｓ５９の処理が繰返される。
【００８８】
以下に具体例を挙げて、本実施の形態における印刷制御装置１で行なわれるデータ転送について詳細な説明を行なう。
【００８９】
図７は、画像生成部１０において画像データの転送を行なう際の、１ページの画像データの分割構成を示す図である。
【００９０】
図７を参照して、１ページの画像データは、１ラインを１パケットとし、本実施の形態においては８ラインを単位とするブロックで構成される。すなわち、８ライン毎に差分データを復元するための基準データが転送される。なお、１ブロックのサイズは８ラインに限定されるものではなく、実装されるハードウェアの性能により、最適なサイズを決定するものであってもよい。
【００９１】
さらに図８および図９は、１３９４シリアルバスを用いた同期転送モードにおけるパケット転送の、時間的な遷移を示す図である。図８および図９に示されるパケットは、画像生成部１０から画像形成部２０に転送される画像データである。
【００９２】
図８を参照して、本実施の形態における同期転送モードでは、１サイクル毎に、サイクル開始データと、差分データまたは基準ラインのデータとを含むデータがパケットとして転送される。
【００９３】
なお、本実施の形態では、図７に示される、８分された１ブロックの第１ラインのデータが基準データとして転送される。図８を参照して、同期転送モードのサイクル＃ｍ−１では、当該ブロックの第１ラインのデータが基準データとして転送される。さらにサイクル＃ｍでは当該ライン（第２ライン）と前ライン（第１ライン）の差分データが転送される。
【００９４】
さらに図９を参照して、画像生成部１０は、ブロックの最終のパケットデータとして、当該ブロックの最後のラインと、当該ブロックの次ブロックの先頭ライン（次ブロックの基準ライン）との差分データを転送する（９パケット目）。このため、８ラインからなる１ブロックのデータに対して、９パケットのデータが転送される。このパケットデータは、図６に示される、通信エラー発生時のデータ復元処理に用いられる。したがって、通信エラーが発生しなければ、次パケットに、次ブロックの先頭ラインが基準データとして転送されるため、当該（差分のデータの）パケットデータはラインデータの復元処理に必要とされない。なお、データ復元処理については、後に詳細な説明を行なう。
【００９５】
図１０に、転送パケットデータ（差分データ）（ａ）および復元されたラインデータ（ｂ）を示す。図１０に示された場合においては、通信エラー発生のため、パケット番号７の差分データ、すなわち６ライン目と７ライン目の差分データが欠損している。
【００９６】
図１０に示される場合を参照しながら、図５および図６に示される画像形成部２０のデータ復元処理の説明を行なう。
【００９７】
図５のステップＳ３１で受信したパケットが、図１０（ａ）のパケット番号２〜６などに示される、基準データではない差分データである場合（ステップＳ３６でＮｏ）、ステップＳ３７においてラインデータの復元が行なわれる。
【００９８】
図１０（ａ）のライン番号２に示されるパケットデータを図５のステップＳ３１で受信した場合、ステップＳ３７では、前ラインデータである、図１０（ｂ）のライン番号１に示されるラインデータと、パケット番号２に示される差分データとに基づいて、ライン番号２に示されるラインデータが復元される。以下同様の処理が、図１０（ａ）のパケット番号３〜６のパケットデータを用いて行なわれ、図１０（ｂ）のライン番号３〜６のラインデータが復元される。
【００９９】
また図５のステップＳ３１で受信したパケットが、図１０（ａ）のパケット番号１０などに示される、基準データである場合（ステップＳ３６でＹｅｓ）、図５のステップＳ３９で、全ブロックであるパケット番号１〜９の受信時に通信エラーの発生がない場合は（ステップＳ３９でＮｏのとき）、図１０（ｂ）のライン番号９に示されるように、図５のステップＳ４４でそのままデータバッファに格納される。
【０１００】
しかし、図１０においては、図５のステップＳ３４の通信エラーが、図１０（ａ）のパケット番号７受信時に発生した場合（ステップＳ３４でＹｅｓ）が示されている。
【０１０１】
この場合、図５のステップＳ４２において、前ラインのデータで補填し復元処理が行なわれる。すなわち、図１０（ａ）のパケット番号７のパケットデータが通信エラーのため欠損しているので、図１０（ｂ）のライン番号７において、前ラインであるライン番号６のラインデータをライン番号７のラインデータであると仮定して処理を続行する。したがって、ライン番号８のラインデータは、ライン番号７のデータであると仮定されたライン番号６のラインデータと、パケット番号８の差分データとに基づいて復元される。
【０１０２】
なお、図１０に示される通信エラー発生個所はパケット番号７であり、ライン番号６のラインデータで補填しているが、エラー発生個所がパケット番号１などのブロックの１ライン目のデータ（基準データ）であるとき（図５のステップＳ４１でＹｅｓのとき）、前ラインのデータがないため、ヌル（０）データで補填し復元する。
【０１０３】
また図１０に示されるように、通信エラー発生時には、図５のステップＳ４０で通信エラー発生フラグがセットされる。１ブロックのパケットデータの受信終了し、次ブロックの１ライン目である基準ラインのパケットデータ受信時に、図５のステップＳ３８で、前ブロックにおける通信エラーの発生が確認される。すなわち、図１０（ａ）のパケット番号７での通信エラーは、次ブロックの基準データであるパケット番号１０のパケットデータ受信時に確認され、図６に示される復元処理が行なわれる。
【０１０４】
図６のステップＳ５１では、図１０（ｂ）のライン番号８のラインデータと、図１０（ａ）のパケット番号９のパケットデータ（差分データ）とを用いて、９ライン目のラインデータが復元される。
【０１０５】
さらに図１０（ａ）のパケット番号１０で受信した９ライン目のパケットデータである基準データと、上述の復元された９ライン目のラインデータとが、図６のステップＳ５２で比較される。
【０１０６】
図６のステップＳ５３で、上記の比較の結果、両ラインデータが一致した場合、図５のステップＳ４２またはＳ４３で行なわれた補填処理が適切であったことが示される。すなわち、図５のステップＳ４２で行なわれた、図１０（ｂ）のライン番号７のラインデータをライン番号６のラインデータと同一であるとした仮定が正しかったことが示される。そのため、以降の処理が続行される。
【０１０７】
図６のステップＳ５３で、上記の比較の結果、両ラインデータが一致しなかった場合、ステップＳ５４では、復元処理をするべきライン数を算出し、復元ラインカウンタをセットする。すなわち図１０（ａ）では、復元処理をするべきライン数として２をセットする。
【０１０８】
図６のステップＳ５５〜Ｓ５９の処理において、上記のカウンタが０になるまで、すなわち、復元処理をするべきライン数の回数、前ラインデータの復元処理が繰返される。
【０１０９】
ここで図１１に、図６のステップＳ５５〜Ｓ５９に示された復元処理を、模式的に示す。
【０１１０】
図１１を参照して、図１０のライン番号９の、パケット番号１０で受信した基準データと、パケット番号９の差分データとを用いて（図１１の▲１▼）、ライン番号８のラインデータを復元する（図１１の▲１▼’）。さらに同様の処理を繰返し、復元されたライン番号８のラインデータと、パケット番号８の差分データとを用いて（図１１の▲２▼）、ライン番号７のラインデータを復元する（図１１の▲２▼’）。これによって、ライン番号７の正しいラインデータを得ることができる。
【０１１１】
なお、基準ラインデータ受信時に通信エラーが発生した場合は、正常な基準ラインデータが受信できる次ブロックまで処理を続行し、その後、受信した次ブロックの基準データを用いて上述の復元処理を行なう。
【０１１２】
さらに以下に、欠損したパケットデータよりラインデータを復元する処理について、具体的な値を用いてより詳細な説明を行なう。
【０１１３】
図１２に、１ブロックのサイズが３ラインであるデータの具体例を示す。
図１２を参照して、上段はオリジナルデータを示し、下段はデルタロー圧縮法により圧縮され、１つ前のラインデータとの排他的論理和（ＥＸＯＲ；Exclusive-OR）に変換されたパケットデータを示す。
【０１１４】
なお、デルタロー圧縮法は、プリンタのページ記述言語のデータ圧縮法として考案された圧縮法であり、ここでの詳細な説明は行なわない。
【０１１５】
さらに本実施の形態においては、上述の復元処置を可能にするため、１つ前のラインのラインデータと当該ラインのラインデータとの排他的論理和演算の値でパケットデータを構成する。第１値および第２値を知るところであれば、その２値の排他的論理和を算出することで、第３値目を得ることができる。したがって、本実施の形態においては、排他的論理和演算の値が、差分であるとして扱う。なお、ここでの排他的論理和演算についての詳細な説明は行なわない。
【０１１６】
図１２を参照して、オリジナルデータの１ライン目は、基準データとして、そのままの値で１パケット目のパケットデータに変換される。
【０１１７】
変換データの２パケット目は、オリジナルデータの１ライン目と２ライン目との差分を示すデータである。具体的には、２パケット目の０バイト目の上位３ビットで、変化のあるバイト数（置換データ数）が１個であり、下位５ビットでその位置（相対オフセット）がオリジナルデータの４バイト目であることを示す。また１バイト目で、１ライン目から２ライン目へ変化のあるバイトの排他的論理和演算の値を示す。これによって、オリジナルデータの１ライン目の４バイト目のデータである（０００００００）が、２ライン目では（００００１１１１）に変化していることを示している。
【０１１８】
同様に変換データの２バイト目で、次に２ライン目において変化のあるバイトが０バイト目で示された４バイト目から換算して１バイト目であること、すなわちオリジナルデータの５バイト目であることを示す。また、３バイト目で、変化のあるバイトの排他的論理和演算の値を示す。これにより、オリジナルデータの１ライン目の５バイト目のデータである（０００００００）が、２ライン目では（１１１１００００）に変化していることを示している。
【０１１９】
以下同様に、前ラインのラインデータと比較して、変化の発生したバイト数および位置と、そのバイトの前ラインの該当するバイトとの差分との組合わせで、変換データが構成される。
【０１２０】
次に図１３に、図１２に示されるデータの、変換されたパケットデータに一部欠損が発生した場合の具体例を示す。さらに図１４および図１５に、図１３に示される具体例において、欠損したデータを復元する処理についてフローチャートを示す。またさらに、図１６に、図１４および図１５に示される復元処理において復元されるデータの遷移を示す。
【０１２１】
図１３に示される場合においては、図１２に示される変換データの２パケット目が、通信エラーによって失われたものとする。図１６を参照して、この段階の、復元処理を行なう以前の２ライン目の復元データをデータ０１に示す。
【０１２２】
図１４を参照して、まず、欠損のあるパケットの次パケットである３パケット目の“バイト数−１”を、処理カウンタとしてセットする（Ｓ７０）。処理カウンタは処理回数を指し、３パケット目の、２ライン目と３ライン目との差分データ（以下、当該場合の説明においては差分データとだけ言う）を１バイト読込む毎に１減算されて、処理の終了の確認に用いられる。
【０１２３】
次に、３パケット目の差分データから０バイト目を１バイト読込む。同時に処理カウンタが１減算される（Ｓ７１）。
【０１２４】
差分データの０バイト目の下位５ビットの値を読込むことで、３ライン目の２ライン目に対する相対オフセット（変化の発生したバイト位置）が取得される（Ｓ７２）。図１３を参照して、相対オフセットが１であることが取得される。これより、２ライン目のラインデータは、３ライン目の１バイト目のデータを置換し、０バイト目のデータは置換せず３ライン目の０バイト目のデータと同一であることがわかる。
【０１２５】
そこで、３ライン目の０バイト目のデータを、２ライン目の０バイト目のデータとして、図４に示される復元用のデータバッファ（以下、復元バッファと言う）に転送する（Ｓ７３）。これにより、図１６を参照して、２ライン目の復元データはデータ０２に示されるデータになる。
【０１２６】
また、差分データの０バイト目の上位３ビットの値を読込むことで、３ライン目の２ライン目に対する置換データ数（変化の発生したバイト数）が取得される（Ｓ７４）。すなわち、図１３を参照して、２ライン目から３ライン目への置換データ数は１であることが取得される。
【０１２７】
さらに２ライン目の置換データを求めるために、差分データの１バイト目のデータを読込む。さらにステップＳ７２で取得された相対オフセット（変化の発生したバイト位置）より、３ライン目の１バイト目のデータとの排他的論理和を計算する。計算されたデータは、２ライン目の１バイト目のデータとして復元バッファに転送される（Ｓ７５）。これより、図１６を参照して、２ライン目の復元データはデータ０３に示されるデータになる。
【０１２８】
この時点において、ステップＳ７０でセットされた処理カウンタは０でないため（Ｓ７６でＮｏ）、処理は続行される。
【０１２９】
上述の処理と同様に、差分データから次の１バイトを読込み（Ｓ７７）、相対オフセットを取得する（Ｓ７８）。図１３を参照して、相対オフセットが４であることが取得される。これより、２ライン目のラインデータは、３ライン目の５バイト以降のデータを置換し、２〜４バイト目のデータは置換せず３ライン目の２〜４バイト目のデータと同一であることがわかる。
【０１３０】
そこで、３ライン目の２〜４バイト目のデータを、２ライン目の２〜４バイト目のデータとして、復元バッファに転送する（Ｓ７９）。これにより、図１６を参照して、２ライン目の復元データはデータ０４に示されるデータになる。
【０１３１】
また、上述の処理と同様に、置換データ数が取得される（Ｓ８０）。すなわち、図１３を参照して、２ライン目から３ライン目への置換データ数は２であることが取得される。
【０１３２】
さらに差分データの３バイト目のデータを読込み、３ライン目の５バイト目のデータとの排他的論理和を計算する。計算されたデータは、２ライン目の５バイト目のデータとして復元バッファに転送される（Ｓ８１）。これより、図１６を参照して、２ライン目の復元データはデータ０５に示されるデータになる。
【０１３３】
さらに差分データの４バイト目のデータを読込み、３ライン目の６バイト目のデータとの排他的論理和を計算する。計算されたデータは、２ライン目の６バイト目のデータとして復元バッファに転送される（Ｓ８２）。これより、図１６を参照して、２ライン目の復元データはデータ０６に示されるデータになる。
【０１３４】
ここで行なうべき復元処理の回数が終了し、処理カウンタが０になる（Ｓ８３でＹｅｓ）ため、復元処理が終了する。この段階で、図１６を参照して、２ライン目のデータは全て復元される。
【０１３５】
なお、このとき処理カウンタが０でない場合は（Ｓ８３でＮｏ）、何らかのエラーが起こっていることが想定されるので、ここには説明を行なわない、必要とされるエラー処理を行なう（Ｓ８４）。
【０１３６】
図１７に、上述の図１４および図１５に示される復元処理を模式的に示す。
図１７を参照して、受信されたパケットデータは、画像形成部２０の受信バッファ（受信履歴）に保存される。上述の如く、図１３に示される具体例においては、２パケット目が通信エラーによって欠損しているため、受信バッファには保存されていない。したがって、１パケット目に１ライン目のラインデータ（基準データ）、３パケット目に２ライン目と３ライン目との差分データ、および４パケット目に３ライン目のラインデータ（基準データ）が保存されている。
【０１３７】
平常時は、画像形成部２０の画像伸張部２６は、受信バッファに保存された受信パケットデータに基づき、前ラインのデータと、当該ラインとの差分データとを用いて、当該ラインデータを復元する。復元されたラインデータは、復元データバッファに保存される。
【０１３８】
図１７を参照して、上述の図１４および図１５に示される復元処理において、画像形成部２０の画像伸張部２６は、３パケット目の２ライン目と３ライン目との差分データ、および４パケット目の３ライン目のラインデータ（基準データ）とを用いて、欠損により復元されなかった２ライン目のラインデータを復元する。
【０１３９】
上述のデータ転送処理および復元処理を行なう印刷制御装置１を用いることで、通信エラーによる画像欠損が発生した場合であっても、差分データの履歴から欠損した画像データを修復できるため、エラー回復（リカバリ）処理を行なう必要がなく、確実に印刷データの印刷を行なうことができる。
【０１４０】
したがって、通常の画像欠損時のエラー回復方法よりも、エラー回復処理によるシステム全体のオーバーヘッドをなくすことができるため、高い印刷パフォーマンスを実現することができる。
【０１４１】
［第２の実施の形態］
第２の実施の形態においては、パーソナルコンピュータなどからなるホストコンピュータと、印刷制御装置とがＩＥＥＥ１３９４シリアルインタフェースを介して接続された印刷制御システムにおける印刷制御処理について説明を行なう。
【０１４２】
図１８に、第２の実施の形態における印刷制御システムの構成を示す。
図１８を参照して、第２の実施の形態における印刷制御システムは、印刷制御装置１と、ホストコンピュータ３とを含み、ＩＥＥＥ１３９４シリアルバスにより接続される。
【０１４３】
図１８に示される印刷制御装置１は、コントローラ制御部１１と、通信入出力部１２と、操作パネル部１３と、画像出力部１７と、画像伸張部１８と、画像形成部２０としてエンジン制御部２１とスキャナ制御部２２と、高圧制御部２３と、レーザ制御部２４と、画像入力部２５と、搬送制御部２７とを含む。
【０１４４】
上述の印刷制御装置１は、第１の実施の形態における印刷制御装置１に含まれる画像生成部１０を備えず、画像形成部２０と、画像形成部２０を制御するために最低限必要なコントローラ部とから構成される。
【０１４５】
一般的に、図１８に示される印刷制御装置１はイメージプリンタと呼ばれ、ホストコンピュータ３から直接に画像データを受信し、印刷出力する。
【０１４６】
また、図１８に示されるホストコンピュータ３はパーソナルコンピュータなどから構成され、プリンタ制御部アプリケーション３１と、画像圧縮部３２と、プリンタ入出力部３３と、画像生成部３４と、構文解析部３５とを含む。
【０１４７】
上述のホストコンピュータ３は、第１の実施の形態における印刷制御装置１に含まれる画像生成部１０を、構成要素として備える。
【０１４８】
上述の印刷制御システムにおいては、ホストコンピュータ３は印刷制御装置１に対して、画像データを、印刷制御装置１の画像形成部２０が印刷を行なう機械的な動作に同期して送信する。
【０１４９】
すなわち、ホストコンピュータ３は、印刷制御装置１の画像形成部２０のプロセス速度に応じた一定速度で、画像データを印刷制御装置１に供給する必要があるため、一定の帯域が保証される同期転送を行なう１３９４シリアルバスの同期転送モードで画像データを転送する。
【０１５０】
第２の実施の形態においては、第１の実施の形態における印刷制御装置１の画像生成部１０および画像形成部２０が、ホストコンピュータ３および印刷制御装置１そのものに置換わったシステムの構成である。そのため、上述の印刷制御システムは、第１の実施の形態における印刷処理と同様のデータ転送処理および復元処理を行なう。
【０１５１】
上述の印刷制御システムが、第１の実施の形態と同様のデータ転送処理および復元処理を行なうことで、本実施の形態における印刷制御装置１がページバッファメモリや画像生成に必要な複雑な機構を必要としないため、低コストで、パフォーマンスの高い印刷処理を実現することができる。
【０１５２】
［第３の実施の形態］
第３の実施の形態においては、画像生成部に複数台の画像形成部を並列（テンダム）に接続し、それらを並列して動作させることにより高速印刷を実現する印刷制御システム、いわゆるクラスタ型プリントシステムにおける印刷制御処理について説明を行なう。
【０１５３】
図１９に、第３の実施の形態における印刷制御システム（クラスタ型プリントシステム）の構成を示す。
【０１５４】
図１９を参照して、第３の実施の形態における印刷制御システムは、画像生成部１０と、複数台の画像形成部２０ａ〜ｃとを含む。また、複数台の画像形成部２０ａ〜ｃは、ＩＥＥＥ１３９４シリアルバスにより、画像生成部１０に並列に接続される。
【０１５５】
なお、画像生成部１０および画像形成部２０ａ〜ｃの構成は、図１に示される第１の実施の形態における構成と同様であるため、ここでの説明は行なわない。
【０１５６】
図１９に示される印刷システムにおいては、画像生成部１０は、接続された複数台の画像形成部２０ａ〜ｃに対して、画像データを同期的に転送する。
【０１５７】
すなわち、画像生成部１０は、非常に短い時間間隔で、プリンタエンジンの出力に比例して大きくなる一定量のデータを、途切れることなく画像形成部２０ａ〜ｃに供給する必要がある。そのため、本実施の形態の印刷システムでは、高速シリアルバスである１３９４シリアルバスをバス機構として採用する。
【０１５８】
上述の印刷システムを採用することで、画像形成部２０ａ〜ｃが個々に多量のページバッファメモリを必要としない。また、帯域幅が保証され、かつ同報（ブロードキャスト）機能を有するバス機構を採用することで、コストを抑えつつ、高速印刷処理を実現することができる。
【０１５９】
本実施の形態における上述の印刷制御システムが、第１の実施の形態における印刷制御装置１と同様のデータ転送処理および復元処理を行なうことで、同報通信中に生じた通信エラーにより画像欠損が発生した場合、画像形成部２０の出力を止める必要が無く、効率的なエラーリカバリ処理を実現することができる。また、印刷処理の効率を大幅に向上することができる。
【０１６０】
［第４の実施の形態］
さらに、本発明は、１３９４シリアルバスを利用して相互に接続された機器間の制御にも応用することができる。
【０１６１】
第４の実施の形態として、１３９４シリアルバスを介して接続された複数台のパーソナルコンピュータ（以下、ＰＣと言う）の制御を行なう場合について説明を行なう。
【０１６２】
図２０に、第４の実施の形態における画像転送システムの構成を示す。
図２０を参照して、第４の実施の形態における画像転送システムは、画像読取装置４と、複数台のＰＣ５ａ〜ｄとを含む。複数台のＰＣ５ａ〜ｄは１３９４シリアルバスにより相互接続され、画像読取装置４を共有する。
【０１６３】
図２０に含まれる画像読取装置４は、スキャナなどから構成され、コントローラ部の制御を行なうコントローラ制御部４１と、外部との通信を行なう通信入出力部４２と、エラーを含む画像読取装置４の状態の表示や、操作パネルからの画像読取指示の制御を行なう操作パネル部４３と、原稿から画像情報を読取り画像データを作成する画像読取部４４と、画像読取部４４が生成した画像データのライン圧縮を行なう画像圧縮部４５と、ＰＣ５へ１３９４シリアルバスを介して画像データを送信する画像出力部４６とを含む。
【０１６４】
また図２０に示されるＰＣ５は、一般的なパーソナルコンピュータから構成され、画像転送システムに含まれる画像読取装置４の制御を行なうための、スキャナ制御アプリケーション５１と、画像読取装置４から画像を入力する画像入力部５２と、上述の画像の復元処理を行なう画像伸張部５３と、各種画像処理を行なう画像処理部５４と、外部との通信を行なう通信入出力部５５と、ユーザの操作を実現するユーザインタフェース（Ｉ／Ｆ）（ＧＵＩ；Graphical User Interface）部５６とを含む。
【０１６５】
上述の画像転送システムにおいて、１３９４シリアルバスの同期転送モードの同報転送を行なうことで、画像読取装置４から全てのＰＣ５ａ〜ｄに対して、１回のデータ転送で同一の画像データを送信することができる。
【０１６６】
本実施の形態においては、上述の画像転送処理に際して、第１の実施の形態の印刷システムにおいて行なわれたデータ転送処理を行なう。すなわち、転送する画像データをライン分割し、基準データまたは前ラインとの差分データをパケットデータとして同期転送する。
【０１６７】
さらに画像データの同報転送中に生じた通信エラーにより画像欠損が発生した場合に、第１の実施の形態において行なわれる復元処理を行なうことで、画像読取装置４の出力を中止する必要がない。
【０１６８】
このように、１３９４シリアルバスを利用して相互に接続された機器間において、上述のデータ転送処理および復元処理を用いることで、効率的な画像データの転送を実現することができる。
【０１６９】
［第５の実施の形態］
さらに第５の実施の形態として、１３９４シリアルバスを利用して構築された小規模なネットワークにおいて上述の制御を行なう場合について説明を行なう。
【０１７０】
図２１に、第５の実施の形態における画像転送システムの構成例を示す。
図２１を参照して、第５の実施の形態における画像転送システムは、ＰＣ５ａ〜５ｄを含み、それらは１３９４シリアルバスにより相互に接続され、小規模なネットワークを構築している。
【０１７１】
ＰＣ５の構成は、第４の実施の形態におけるＰＣ５の構成要素であるスキャナ制御アプリケーション５１に代えて、ＰＣ５全体の制御を行なう制御部５７を含む。その他の構成要素は図２０に示される第４の実施の形態におけるＰＣ５と同様のため、ここでの説明は繰返さない。
【０１７２】
上述の画像転送システムにおいて、１３９４シリアルバスの同期転送モードの同報転送を行なうことで、１台のＰＣ５から他の複数台のＰＣ５に対して、１回のデータ転送で同一の画像データを送信することができる。
【０１７３】
本実施の形態においても、第４の実施の形態と同様に、上述のデータ転送処理に際して、第１の実施の形態の印刷システムにおいて行なわれたデータ転送処理を用いた画像データの転送を行なう。すなわち、転送する画像データをライン分割し、基準データと前ラインとの差分データとをパケットデータとして送信する。
【０１７４】
さらに画像データの同報転送中に、受信するＰＣ５にエラーが発生し画像欠損が発生した場合であっても、第１の実施の形態において行なわれる復元処理を行なうことで、画像データの再送を行なう必要がない。
【０１７５】
このように、１３９４シリアルバスを利用して構築された小規模なネットワークにおいて、上述のデータ転送処理および復元処理を行なうことで、効率的な画像データの転送を実現することができる。
【０１７６】
なお、上述の第１〜第５の実施の形態においては、画像データの転送を、１３９４シリアルバスによるデータ通信に限定した説明を行なったが、ＵＳＢ（Universal Serial Bus）等の高速シリアル通信規格や、その他のネットワークにおけるパケット通信によるデータ通信であっても構わない。
【０１７７】
またさらに、上述の第１〜第５の実施の形態において、転送されるデータとして画像データに限定した説明を行なったが、転送されるデータは画像データのみに限定されず、その他のデータであってもよい。本発明では、転送データの内容に関わらず、転送するパケットに対して差分圧縮を適用することが可能である。
【０１７８】
さらに、上述のデータ転送方法および復元方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータ読取り可能なプログラムである。
【０１７９】
プログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどの記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１８０】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。
【０１８１】
なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１８２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】  第１の実施の形態における印刷制御装置１の制御系の構成を示すブロック図である。
【図２】  画像生成部１０における印刷処理の流れを示したフローチャートである。
【図３】  １ページ分の印刷が行なわれる場合の画像形成部２０の動作を説明するための各種信号のタイミングを示した図である。
【図４】  画像形成部２０に備えられるバッファメモリが行なう、周期の違いの緩衝を説明する概略図である。
【図５】  画像形成部２０のデータ復元処理を示すフローチャート（その１）である。
【図６】  画像形成部２０のデータ復元処理を示すフローチャート（その２）である。
【図７】  画像生成部１０において画像データの転送を行なう際の、１ページの画像データの分割構成を示す図である。
【図８】  １３９４シリアルバスを用いた同期転送モードにおけるパケット転送の、時間的な遷移を示す図（その１）である。
【図９】  １３９４シリアルバスを用いた同期転送モードにおけるパケット転送の、時間的な遷移を示す図（その２）である。
【図１０】  転送パケットデータ（差分データ）（ａ）および復元されたラインデータ（ｂ）を示す図である。
【図１１】  図６のステップＳ５５〜Ｓ５９に示された復元処理を、模式的に示す図である。
【図１２】  １ブロックのサイズが３ラインであるデータの具体例を示す図である。
【図１３】  図１２に示されるデータの、変換されたパケットデータに一部欠損が発生した場合の具体例を示す図である。
【図１４】  図１３に示される具体例において、欠損したデータを復元する処理を示すフローチャート（その１）である。
【図１５】  図１３に示される具体例において、欠損したデータを復元する処理を示すフローチャート（その２）である。
【図１６】  図１４および図１５に示される復元処理において復元されるデータの遷移を示す図である。
【図１７】  図１４および図１５に示される復元処理を模式的に示す図である。
【図１８】  第２の実施の形態における印刷制御システムの構成を示す図である。
【図１９】  第３の実施の形態における印刷制御システム（クラスタ型プリントシステム）の構成を示す図である。
【図２０】  第４の実施の形態における画像転送システムの構成を示す図である。
【図２１】  第５の実施の形態における画像転送システムの構成例を示す図である。
【符号の説明】
１  印刷制御装置、３  ホストコンピュータ、４  画像読取装置、５，５ａ〜ｄ  ＰＣ、１０  画像生成部、１１  印刷制御装置のコントローラ制御部、１２印刷制御装置の通信入出力部、１３  印刷制御装置の操作パネル部、１４  印刷制御装置の構文解析部、１５  印刷制御装置の画像生成部、１６  印刷制御装置の画像圧縮部、１７  印刷制御装置の画像出力部、１８  画像生成部の記憶部、２０，２０ａ〜ｃ  画像形成部、２１  エンジン制御部、２２  スキャナ制御部、２３  高圧制御部、２４  レーザ制御部、２５  印刷制御装置の画像入力部、２６  印刷制御装置の画像伸張部、２７  搬送制御部、２８  画像形成部の記憶部、３１  プリンタ制御アプリケーション、３２  ホストコンピュータの画像圧縮部、３３  プリンタ入出力部、３４  ホストコンピュータの画像生成部、３５  ホストコンピュータの構文解析部、４１  画像読取装置のコントローラ制御部、４２  画像読取装置の通信入出力部、４３  画像読取装置の操作パネル部、４４  画像読取部、４５  画像読取装置の画像圧縮部、４６  画像読取装置の画像出力部、５１  スキャナ制御アプリケーション、５２  ＰＣの画像入力部、５３  ＰＣの画像伸張部、５４  画像処理部、５５  ＰＣの通信入出力部、５６  ユーザＩ／Ｆ（ＧＵＩ）部、５７  ＰＣの制御部、Ｌ１〜Ｌ７，ｔ１〜ｔ１１  信号のタイミング幅。
【図１】
0004035969.tif 000002
【図２】
0004035969.tif 000003
【図３】
0004035969.tif 000004
【図４】
0004035969.tif 000005
【図５】
0004035969.tif 000006
【図６】
0004035969.tif 000007
【図７】
0004035969.tif 000008
【図８】
0004035969.tif 000009
【図９】
0004035969.tif 000010
【図１０】
0004035969.tif 000011
【図１１】
0004035969.tif 000012
【図１２】
0004035969.tif 000013
【図１３】
0004035969.tif 000014
【図１４】
0004035969.tif 000015
【図１５】
0004035969.tif 000016
【図１６】
0004035969.tif 000017
【図１７】
0004035969.tif 000018
【図１８】
0004035969.tif 000019
【図１９】
0004035969.tif 000020
【図２０】
0004035969.tif 000021
【図２１】
0004035969.tif 000022