(57)【特許請求の範囲】
【請求項１】
印刷対象のデータを圧縮した圧縮データを受け取り、前記圧縮データを伸張して印刷出力用データを生成する印刷制御装置であって、
外部から送られる前記圧縮データを格納する記憶部と、
所定のまとまりのある単位データ毎に前記記憶部から前記圧縮データを読み出す読出部と、
前記読出部によって読み出された圧縮データに伸張処理を施す伸張部と、
前記伸張部による伸張処理によって得られる各単位データについての伸張後のデータサイズが正しいか否かを検査する検査部と
を備え、
前記圧縮データ中の各単位データには、圧縮された状態でのデータサイズの情報および伸張後のデータサイズの情報を含む区切りデータが先頭のデータとして含まれるとともに、圧縮された状態でのデータサイズに応じた数の濃度データが前記区切りデータに続くデータとして含まれ、
前記伸張部は、前記圧縮データに伸張処理を施している期間中、伸張処理が行われているか否かを示すフラグである伸張フラグをオンにし、
前記検査部は、
前記伸張フラグがオンになっている期間をカウントすることによって、各単位データについての伸張後のデータサイズを求め、
前記区切りデータに含まれる伸張後のデータサイズの情報に基づいて、各単位データについての伸張後のデータサイズが正しいか否かを判断し、
前記伸張部が或る単位データについての伸張処理を行っている期間中および前記検査部が当該或る単位データについての検査を行っている期間中に、前記読出部は次の単位データについての圧縮データを前記記憶部から読み出すことができることを特徴とする、印刷制御装置。
【請求項２】
前記読出部は、前記区切りデータを、伸張処理の対象としない非処理データとして、前記伸張部による伸張処理が施されるべき圧縮データに含め、
前記伸張部は、前記非処理データを検出すると、前記伸張フラグをオフにすることを特徴とする、請求項１に記載の印刷制御装置。
【請求項３】
前記検査部によって伸張後のデータサイズが正しくないと判断された場合に前記印刷出力用データに基づく印刷出力の停止を指示する制御部を更に備えることを特徴とする、請求項１または２に記載の印刷制御装置。
【請求項４】
請求項１から３までのいずれか１項に記載の印刷制御装置と、
前記印刷出力用データに基づいて印刷用紙への印字を行う印字部と
を備えることを特徴とする、インクジェット印刷装置。
【請求項５】
印刷対象のデータを圧縮した圧縮データを伸張して印刷出力用データを生成するための印刷制御プログラムであって、
前記圧縮データを所定の記憶部に格納する記憶ステップと、
所定のまとまりのある単位データ毎に前記記憶部から前記圧縮データを読み出す読出ステップと、
前記読出ステップで読み出された圧縮データに伸張処理を施す伸張ステップと、
前記伸張ステップでの伸張処理によって得られる各単位データについての伸張後のデータサイズが正しいか否かを検査する検査ステップと
をコンピュータのＣＰＵがメモリを利用して実行させ、
前記圧縮データ中の各単位データには、圧縮された状態でのデータサイズの情報および伸張後のデータサイズの情報を含む区切りデータが先頭のデータとして含まれるとともに、圧縮された状態でのデータサイズに応じた数の濃度データが前記区切りデータに続くデータとして含まれ、
前記伸張ステップでは、前記圧縮データに伸張処理が施されている期間中、伸張処理が行われているか否かを示すフラグである伸張フラグがオンにされ、
前記検査ステップでは、
前記伸張フラグがオンになっている期間をカウントすることによって、各単位データについての伸張後のデータサイズが求められ、
前記区切りデータに含まれる伸張後のデータサイズの情報に基づいて、各単位データについての伸張後のデータサイズが正しいか否かが判断され、
前記伸張ステップで或る単位データについての伸張処理が行われている期間中および前記検査ステップで当該或る単位データについての検査が行われている期間中に、前記読出ステップで次の単位データについての圧縮データが前記記憶部から読み出され得ることを特徴とする、印刷制御プログラム。
【請求項６】
前記読出ステップでは、前記区切りデータが、伸張処理の対象としない非処理データとして、前記伸張ステップで伸張処理が施されるべき圧縮データに含められ、
前記伸張ステップでは、前記非処理データが検出されると、前記伸張フラグがオフにされることを特徴とする、請求項５に記載の印刷制御プログラム。
【請求項７】
前記検査ステップで伸張後のデータサイズが正しくないと判断された場合に前記印刷出力用データに基づく印刷出力の停止を指示する制御ステップを更に含むことを特徴とする、請求項５または６に記載の印刷制御プログラム。
【請求項８】
印刷対象のデータを圧縮した圧縮データを伸張して印刷出力用データを生成するための印刷制御方法であって、
前記圧縮データを所定の記憶部に格納する記憶ステップと、
所定のまとまりのある単位データ毎に前記記憶部から前記圧縮データを読み出す読出ステップと、
前記読出ステップで読み出された圧縮データを伸張処理を施す伸張ステップと、
前記伸張ステップでの伸張処理によって得られる各単位データについての伸張後のデータサイズが正しいか否かを検査する検査ステップと
を含み、
前記圧縮データ中の各単位データには、圧縮された状態でのデータサイズの情報および伸張後のデータサイズの情報を含む区切りデータが先頭のデータとして含まれるとともに、圧縮された状態でのデータサイズに応じた数の濃度データが前記区切りデータに続くデータとして含まれ、
前記伸張ステップでは、前記圧縮データに伸張処理が施されている期間中、伸張処理が行われているか否かを示すフラグである伸張フラグがオンにされ、
前記検査ステップでは、
前記伸張フラグがオンになっている期間をカウントすることによって、各単位データについての伸張後のデータサイズが求められ、
前記区切りデータに含まれる伸張後のデータサイズの情報に基づいて、各単位データについての伸張後のデータサイズが正しいか否かが判断され、
前記伸張ステップで或る単位データについての伸張処理が行われている期間中および前記検査ステップで当該或る単位データについての検査が行われている期間中に、前記読出ステップで次の単位データについての圧縮データが前記記憶部から読み出され得ることを特徴とする、印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮されたデータに伸張処理を施して印刷出力用のデータを生成する印刷制御装置、印刷制御プログラム、および印刷制御方法に関する。
【背景技術】
【０００２】
従来より、インクジェット印刷装置などの印刷装置と印刷データの送信元であるホスト（典型的には、「サーバ」と呼ばれるコンピュータ）とによって構成された印刷システムが知られている。このような印刷システムにおいて、ホスト−印刷装置間のデータ転送速度と印刷装置の印字速度とを比較すると、概して印刷装置の印字速度の方が速くなっている。従って、印刷対象の画像データがそのままホストから印刷装置に送られた場合、印刷装置は本来の印字速度で印刷をすることができない（印字を時々止める必要がある）。そこで、印刷が行われる際には、ホストから印刷装置には圧縮された画像データが送られている。
【０００３】
図１１は、インクジェット印刷装置で印刷が行われる際のデータの流れを模式的に示した図である。印刷が行われる際、まず、ホストにて印刷対象の画像データが圧縮される。そして、ホストからインクジェット印刷装置内の印刷制御装置へと圧縮データが送られる。その圧縮データは、印刷制御装置内のメモリに一旦、格納される。その後、印刷制御装置では、メモリから圧縮データが読み出され、その読み出された圧縮データを伸張する処理が行われる。そして、伸張後のデータが印刷機本体の印字ヘッド部に送られ、印刷出力（印刷用紙への印字）が行われる。
【０００４】
ところが、メモリから読み出された圧縮データに異常があると、データの伸張が正しく行われない。なお、圧縮データの異常の原因としては、メモリの不良，ノイズ等による誤動作，ホスト−印刷制御装置間のデータ伝送経路におけるデータの損失などが挙げられる。印刷装置で大量のページの印刷が行われる場合に、仮に圧縮データ中の或る濃度データ（画素値のデータ）についてのみ正しく伸張が行われなければ、当該濃度データを含むページの印刷物だけが欠陥（印刷不良）となる。しかしながら、仮に或るページについての伸張後のデータサイズに誤りが生じると、当該ページ以降の全てのページの印刷物が欠陥となる。例えば、本来であれば図１２（ａ）に示すような画像の印刷出力が行われるべき場合に、伸張後のデータサイズが本来のサイズよりも小さくなると、印刷結果は例えば図１２（ｂ）に示すようなものとなる。この例では、３ページ全ての印刷物が欠陥となっている。
【０００５】
上述のような異常に対処する方法として、伸張したデータ数（例えばバイト数）をカウントし、そのカウントで得られた値と期待される値（予めホストから印刷装置に通知される伸張後のデータサイズ）とを比較することによって伸張処理の異常を検出するという方法（以下、「第１の従来手法」という）がある。ところが、印刷制御装置では処理の高速化のためパイプライン処理が行われており、伸張処理を行う伸張部には図１３に示すようにページの区切りの情報を含まない圧縮データが随時与えられる。このため、例えば図１３に示す圧縮データについての伸張処理が行われても、１ページ目の伸張結果と２ページ目の伸張結果とを区別することができない。従って、全ページについての伸張後のデータサイズが得られた後すなわち全ページの印刷出力終了後でなければ、伸張処理の異常を検出することができない。よって、伸張処理に異常が生じた時点で印刷出力を停止させることができず、印刷用紙やインクの無駄が生じる。
【０００６】
そこで、圧縮データの読み出しを１ページずつ行い、１ページ分の圧縮データの伸張処理が終了する毎に伸張後のデータサイズ（以下、「伸張サイズ」という）の検査を行うという方法（以下、「第２の従来手法」という）が考えられている。以下、図１４に示すフローチャートを参照しつつ、この第２の従来手法の処理手順について説明する。なお、この処理は印刷制御装置で行われる。まず、印刷制御装置内の受信部が、ホストから送られる圧縮データを受信する（ステップＳ９０）。また、ホストからは圧縮データとは別に１ページ毎の伸張サイズの情報が送られる。受信部は、その伸張サイズを検査部に通知する（ステップＳ９１）。そして、圧縮データがメモリに書き込まれる（ステップＳ９２）。或る一定値の圧縮データがメモリに書き込まれると、印刷制御装置内の読出部が、圧縮データをメモリから読み出し、それを伸張部に転送する（ステップＳ９３）。なお、第２の従来手法においては、圧縮データ内には、１ページ毎の圧縮データのサイズ（以下、「圧縮サイズ」という）の情報を含む区切りデータが含まれている。その圧縮サイズの情報に基づき、読出部から伸張部には１ページ毎に圧縮データが転送される。伸張部に圧縮データが転送されると、伸張部で伸張処理が行われる（ステップＳ９４）。伸張処理が行われている期間中、伸張部は、伸張処理が行われているか否かを示すフラグである伸張フラグをオンにし、検査部は、伸張フラグがオンになっている期間をカウントする。伸張処理が終了すると、伸張フラグがオフにされ、検査部は正しく伸張処理が行われたか否かの検査を行う（ステップＳ９５）。この検査は、カウントによって得られた値とステップＳ９１で通知された伸張サイズの値とを比較することによって行われる。その結果、両者が一致していれば、「正しく伸張処理が行われた」と判断され、両者が一致していなければ「正しく伸張処理が行われていない」と判断される。正しく伸張処理が行われている場合には、ステップＳ９３に戻り、次のページの圧縮データについてのメモリからの読み出しが行われる。一方、正しく伸張処理が行われていない場合には、印刷出力を停止させるなどのエラー処理が行われる（ステップＳ９６）。以上のようにして、伸張処理が正しく行われているかを１ページ分ずつ検査することが可能となっている。
【０００７】
なお、本件発明に関連して、特開平３−１９６７６０号公報および特開平４−２６５０５７号公報には、送受信されるデータ内にページ間の区切りを示す区切りマーク（区切りデータ）を付加することが記載されている。また、特開平５−４９０２０号公報には、圧縮データの区切りコードに圧縮データの長さを示す情報を含めることが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平３−１９６７６０号公報
【特許文献２】特開平４−２６５０５７号公報
【特許文献３】特開平５−４９０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところが、第２の従来手法によれば、或るページの圧縮データがメモリから読み出された後、当該ページについての伸張結果の検査が終了するまでの期間、次のページの圧縮データをメモリから読み出すことができない。このため、印刷装置は本来の印字速度での印刷を行うことができない。また、第１の従来手法によれば、上述したように、伸張処理の異常が生じた時点で印刷出力を停止させることができず、印刷用紙やインクの無駄が生じる。
【００１０】
そこで本発明は、印刷装置の印字速度を低下させることなく、圧縮データの伸張の異常を速やかに検出することを目的とする。
【課題を解決するための手段】
【００１１】
第１の発明は、印刷対象のデータを圧縮した圧縮データを受け取り、前記圧縮データを伸張して印刷出力用データを生成する印刷制御装置であって、
外部から送られる前記圧縮データを格納する記憶部と、
所定のまとまりのある単位データ毎に前記記憶部から前記圧縮データを読み出す読出部と、
前記読出部によって読み出された圧縮データに伸張処理を施す伸張部と、
前記伸張部による伸張処理によって得られる各単位データについての伸張後のデータサイズが正しいか否かを検査する検査部と
を備え、
前記圧縮データ中の各単位データには、圧縮された状態でのデータサイズの情報および伸張後のデータサイズの情報を含む区切りデータが先頭のデータとして含まれるとともに、圧縮された状態でのデータサイズに応じた数の濃度データが前記区切りデータに続くデータとして含まれ、
前記伸張部は、前記圧縮データに伸張処理を施している期間中、伸張処理が行われているか否かを示すフラグである伸張フラグをオンにし、
前記検査部は、
前記伸張フラグがオンになっている期間をカウントすることによって、各単位データについての伸張後のデータサイズを求め、
前記区切りデータに含まれる伸張後のデータサイズの情報に基づいて、各単位データについての伸張後のデータサイズが正しいか否かを判断し、
前記伸張部が或る単位データについての伸張処理を行っている期間中および前記検査部が当該或る単位データについての検査を行っている期間中に、前記読出部は次の単位データについての圧縮データを前記記憶部から読み出すことができることを特徴とする。
【００１３】
第２の発明は、第１の発明において、
前記読出部は、前記区切りデータを、伸張処理の対象としない非処理データとして、前記伸張部による伸張処理が施されるべき圧縮データに含め、
前記伸張部は、前記非処理データを検出すると、前記伸張フラグをオフにすることを特徴とする。
【００１４】
第３の発明は、第１または第２の発明において、
前記検査部によって伸張後のデータサイズが正しくないと判断された場合に前記印刷出力用データに基づく印刷出力の停止を指示する制御部を更に備えることを特徴とする。
【００１５】
第４の発明は、インクジェット印刷装置であって、
第１から第３までのいずれかの発明に係る印刷制御装置と、
前記印刷出力用データに基づいて印刷用紙への印字を行う印字部と
を備えることを特徴とする。
【００１６】
第５の発明は、印刷対象のデータを圧縮した圧縮データを伸張して印刷出力用データを生成するための印刷制御プログラムであって、
前記圧縮データを所定の記憶部に格納する記憶ステップと、
所定のまとまりのある単位データ毎に前記記憶部から前記圧縮データを読み出す読出ステップと、
前記読出ステップで読み出された圧縮データに伸張処理を施す伸張ステップと、
前記伸張ステップでの伸張処理によって得られる各単位データについての伸張後のデータサイズが正しいか否かを検査する検査ステップと
をコンピュータのＣＰＵがメモリを利用して実行させ、
前記圧縮データ中の各単位データには、圧縮された状態でのデータサイズの情報および伸張後のデータサイズの情報を含む区切りデータが先頭のデータとして含まれるとともに、圧縮された状態でのデータサイズに応じた数の濃度データが前記区切りデータに続くデータとして含まれ、
前記伸張ステップでは、前記圧縮データに伸張処理が施されている期間中、伸張処理が行われているか否かを示すフラグである伸張フラグがオンにされ、
前記検査ステップでは、
前記伸張フラグがオンになっている期間をカウントすることによって、各単位データについての伸張後のデータサイズが求められ、
前記区切りデータに含まれる伸張後のデータサイズの情報に基づいて、各単位データについての伸張後のデータサイズが正しいか否かが判断され、
前記伸張ステップで或る単位データについての伸張処理が行われている期間中および前記検査ステップで当該或る単位データについての検査が行われている期間中に、前記読出ステップで次の単位データについての圧縮データが前記記憶部から読み出され得ることを特徴とする。
【００１８】
第６の発明は、第５の発明において、
前記読出ステップでは、前記区切りデータが、伸張処理の対象としない非処理データとして、前記伸張ステップで伸張処理が施されるべき圧縮データに含められ、
前記伸張ステップでは、前記非処理データが検出されると、前記伸張フラグがオフにされることを特徴とする。
【００１９】
第７の発明は、第５または第６の発明において、
前記検査ステップで伸張後のデータサイズが正しくないと判断された場合に前記印刷出力用データに基づく印刷出力の停止を指示する制御ステップを更に含むことを特徴とする。
【００２０】
第８の発明は、印刷対象のデータを圧縮した圧縮データを伸張して印刷出力用データを生成するための印刷制御方法であって、
前記圧縮データを所定の記憶部に格納する記憶ステップと、
所定のまとまりのある単位データ毎に前記記憶部から前記圧縮データを読み出す読出ステップと、
前記読出ステップで読み出された圧縮データを伸張処理を施す伸張ステップと、
前記伸張ステップでの伸張処理によって得られる各単位データについての伸張後のデータサイズが正しいか否かを検査する検査ステップと
を含み、
前記圧縮データ中の各単位データには、圧縮された状態でのデータサイズの情報および伸張後のデータサイズの情報を含む区切りデータが先頭のデータとして含まれるとともに、圧縮された状態でのデータサイズに応じた数の濃度データが前記区切りデータに続くデータとして含まれ、
前記伸張ステップでは、前記圧縮データに伸張処理が施されている期間中、伸張処理が行われているか否かを示すフラグである伸張フラグがオンにされ、
前記検査ステップでは、
前記伸張フラグがオンになっている期間をカウントすることによって、各単位データについての伸張後のデータサイズが求められ、
前記区切りデータに含まれる伸張後のデータサイズの情報に基づいて、各単位データについての伸張後のデータサイズが正しいか否かが判断され、
前記伸張ステップで或る単位データについての伸張処理が行われている期間中および前記検査ステップで当該或る単位データについての検査が行われている期間中に、前記読出ステップで次の単位データについての圧縮データが前記記憶部から読み出され得ることを特徴とする。
【発明の効果】
【００２１】
上記第１の発明によれば、印刷出力が行われる際、単位データ毎の圧縮サイズ，伸張サイズの情報を有する区切りデータを含む圧縮データが、外部から印刷制御装置に送られる。そして、検査部では、単位データ毎に、区切りデータに含まれる伸張サイズに基づいて、伸張処理が正しく行われたか否かの検査が行われる。ここで、或る単位データについての伸張処理および検査が行われている期間中に次の単位データについての記憶部からの読み出しが可能となっている。以上より、印刷装置の印字速度を低下させることなく伸張の異常を速やかに検出することが可能となる。
また、従来圧縮データとは別に外部から送られていた伸張サイズの情報を要することなく、検査部が単位データ毎の伸張サイズを求めることが可能となる。これにより、データの通信時間が短縮され、印字速度の低下が効果的に抑制される。
【００２３】
上記第２の発明によれば、複数のページについての伸張処理が連続して行われても、単位データ毎の伸張サイズを確実に求めることが可能となる。
【００２４】
上記第３の発明によれば、伸張後のデータサイズが正しくない場合に、印刷出力の停止やオペレータへのエラーの通知が行われる。これらの処理は単位データ毎（例えば１ページ毎）に行われるので、伸張処理に異常があった場合に、印刷用紙の無駄やインクの無駄の発生が抑止される。
【００２５】
上記第４の発明によれば、上記第１から第３までのいずれかの発明と同様の効果を奏するインクジェット印刷装置が実現される。
【００２６】
上記第５の発明によれば、上記第１の発明と同様の効果を印刷制御プログラムにおいて奏することができる。
【００２８】
上記第６の発明によれば、上記第２の発明と同様の効果を印刷制御プログラムにおいて奏することができる。
【００２９】
上記第７の発明によれば、上記第３の発明と同様の効果を印刷制御プログラムにおいて奏することができる。
【００３０】
上記第８の発明によれば、上記第１の発明と同様の効果を印刷制御方法において奏することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態において、印刷制御装置の機能構成を示す機能ブロック図である。
【図２】上記実施形態に係る印刷システム全体の構成を示すブロック図である。
【図３】上記実施形態において、インクジェット印刷装置の印刷機本体の構成を示す図である。
【図４】上記実施形態における印刷制御装置のハードウェア構成図である。
【図５】上記実施形態における圧縮データの構成を示す図である。
【図６】上記実施形態において、読出部から伸張部に与えられる圧縮データの構成を示す図である。
【図７】上記実施形態において、伸張処理について説明するための図である。
【図８】上記実施形態において、印刷が行われる際の印刷制御装置での処理手順を示すフローチャートである。
【図９】上記実施形態において、伸張処理が行われている期間のカウントについて説明するための図である。
【図１０】上記実施形態における効果について説明するための図である。
【図１１】インクジェット印刷装置で印刷が行われる際のデータの流れを模式的に示した図である。
【図１２】伸張後のデータサイズに誤りが生じた場合の印刷結果の一例を示す図である。
【図１３】従来例における圧縮データの構成例を示す図である。
【図１４】第２の従来手法の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、添付図面を参照しつつ、本発明の一実施形態について説明する。
【００３３】
＜１．全体構成＞
図２は、本発明の一実施形態に係る印刷システム全体の構成を示すブロック図である。この印刷システムは、インクジェット印刷装置１およびホスト３０によって構成されている。インクジェット印刷装置１は、印刷機本体２０とその制御装置である印刷制御装置１０とによって構成されている。ホスト３０は、この印刷システムにおいては、圧縮済みの印刷対象データ（以下、「圧縮データ」という。）を印刷制御装置１０に転送する転送装置として機能する。より詳しくは、ホスト３０は、印刷対象データをＲＩＰ（Raster Image Processor）によってベクター形式からラスタ形式に変換し、その変換後のデータに例えばＰａｃｋｂｉｔｓ方式などのランレングス圧縮を施すことによって得られる圧縮データを印刷制御装置１０に転送する。なお、典型的には、ホスト３０には「サーバ」と呼ばれる比較的高性能のコンピュータが採用される。ホスト３０−印刷制御装置１０間のインタフェースとしては、例えば、転送速度が２Ｇｂｐｓ，４Ｇｂｐｓなどの光インタフェースが採用される。印刷制御装置１０は、ホスト３０から送られる圧縮データを受け取り、当該圧縮データを伸張して、印刷機本体２０から印刷物として出力するための印刷出力用データを生成する。そして、印刷制御装置１０は、その印刷出力用データを印刷機本体２０に送る。なお、印刷制御装置１０についての詳しい説明は後述する。印刷機本体２０は、印刷制御装置１０から送られる印刷出力用データを受け取り、印刷出力（印刷用紙への印字）を行う。
【００３４】
図３は、インクジェット印刷装置１の印刷機本体２０の構成を示す図である。印刷機本体２０は、印刷用紙を供給する巻き出し部２１と、印刷用紙の搬送路となる基材２２と、印刷用紙を印刷機構内部へと搬送するための第１の搬送機構２３と、印刷機構内部で印刷用紙を搬送するための複数個のローラ２４と、印刷用紙にインクを吐出して印刷を行う吐出部２５と、印刷後の印刷用紙を乾燥させる乾燥部２６と、印刷用紙への印刷の状態を検査する検査部２７と、印刷用紙を印刷機構内部から出力するための第２の搬送機構２８と、印刷後の印刷用紙を巻き取る巻き取り部２９とを備えている。このような構成において、印刷出力の指示があると、印刷用紙が巻き出し部２１から巻き取り部２９へと搬送される。その搬送過程において、まず吐出部２５によってインクの吐出による印字が行われ、次に乾燥部２６によって印刷用紙の乾燥が行われ、最後に検査部２７によって印刷状態の検査が行われる。
【００３５】
＜２．印刷制御装置の構成および動作＞
図４は、印刷制御装置１０のハードウェア構成図である。印刷制御装置１０は、本体１１０と、磁気ディスク装置などの補助記憶装置１２０と、ＣＲＴなどの表示装置１３０と、キーボード１４０やマウス１５０等の入力装置と、ＣＤ−ＲＯＭ駆動装置（ＣＤ−ＲＯＭドライブ）１６０とを備えている。本体１１０には、ＣＰＵ１１１と、メモリ（ＲＡＭ）１１２と、表示制御部１１３と、ディスクインタフェース部１１４と、入力インタフェース部１１５と、ネットワークインタフェース部１１６と、ＣＤ−ＲＯＭインタフェース部１１７とが含まれている。表示制御部１１３には表示装置１３０が接続されている。ディスクインタフェース部１１４には補助記憶装置１２０が接続されている。入力インタフェース部１１５には入力装置が接続されている。ＣＤ−ＲＯＭインタフェース部１１７にはＣＤ−ＲＯＭ駆動装置１６０が接続されている。また、この印刷制御装置１０はネットワークインタフェース部１１６によってＬＡＮ４０に接続されている。
【００３６】
印刷を実行するためのプログラム（以下、「印刷制御プログラム」という。）Ｐは補助記憶装置１２０に格納されている。この印刷制御装置１０の動作が開始すると、印刷制御プログラムＰはディスクインタフェース部１１４を介してメモリ１１２に読み込まれる。そして、ＣＰＵ１１１がメモリ１１２に読み込まれた印刷制御プログラムＰを実行することにより、印刷処理が実行される。
【００３７】
なお、印刷制御プログラムＰは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に格納されて提供される。すなわちユーザは、例えば、印刷制御プログラムＰの記録媒体としてのＣＤ−ＲＯＭ１６１を購入してＣＤ−ＲＯＭ駆動装置１６０に装着し、そのＣＤ−ＲＯＭ１６１から印刷制御プログラムＰを読み出して補助記憶装置１２０にインストールする。また、これに代えて、ＬＡＮ４０を介して送られる印刷制御プログラムＰを受信して、補助記憶装置１２０にインストールするようにしてもよい。
【００３８】
図１は、印刷制御装置１０の機能構成を示す機能ブロック図である。この印刷制御装置１０は、機能的には、受信部１１と記憶部１２と読出部１３と伸張部１４と検査部１５と出力部１６と制御部１７とによって構成されている。受信部１１は、ホスト３０から送られるデータを受信する。ホスト３０から送られたデータが印刷指示を示すデータ（コマンド）であれば、受信部１１は、制御部１７に対して印刷動作の準備を行わせるコマンドを与える。ホスト３０から送られたデータが圧縮データＰＤであれば、受信部１１は、当該圧縮データＰＤを記憶部１２に書き込む。なお、受信部１１は、図４におけるネットワークインタフェース部１１６によって実現される。記憶部１２は、ＤＤＲ−ＳＤＲＡＭ（Double Data Rate Synchronous Dynamic Random Access Memory)などの比較的高速で大容量のメモリ１１２であって、圧縮データＰＤを一時的に保持する。図１と同等の機能は、集積回路で実現しても良い。
【００３９】
ところで、本実施形態においては、ホスト３０から印刷制御装置１０に送られる圧縮データには、図５に示すように区切りデータＫが含まれている。詳しくは、圧縮データ内の１ページ分のデータ毎に、該当するページについての圧縮データのサイズ（圧縮サイズ）および当該圧縮データの伸張後のデータサイズ（伸張サイズ）の情報を含む区切りデータが設けられている。このように、本実施形態においては、１ページ分のデータによって単位データが実現されている。なお、圧縮データは、各ページのデータのうち最初に区切りデータが読み込まれるように構成されている。すなわち、圧縮データ中の１ページ分のデータに着目すると、先頭のデータが区切りデータとされ、区切りデータに続いてページ内の各画素の値を示す濃度データが存在している。
【００４０】
読出部１３は、記憶部１２に格納されている圧縮データＰＤを読み出す。読出部１３は、圧縮データＰＤを読み出すと、まず区切りデータを検出する。上述したように区切りデータには圧縮サイズの情報と伸張サイズの情報とが含まれているので、読出部１３は、今から読み出しを行うページについての圧縮サイズおよび伸張サイズを取得する。そして、読出部１３は、区切りデータより取得した伸張サイズＳＩを検査部１５に通知する。また、読出部１３は、区切りデータより取得した圧縮サイズに基づき、１ページ分の圧縮データを読み出し、当該圧縮データＰＤを伸張部１４に転送する。なお、その際、区切りデータについては、伸張処理の対象としないＮＯＰデータ（非処理データ）として伸張部１４に与えられる。
【００４１】
伸張部１４は、読出部１３から与えられた圧縮データＰＤを伸張する伸張処理を行う。そして、伸張部１４は、伸張処理で得られた伸張データＳＤを検査部１５に与える。例えば、図７（ａ）に示すような圧縮データＰＤに対して伸張処理が行われると、図７（ｂ）に示すような伸張データＳＤが得られる。伸張部１４は、また、伸張処理を行っている期間中、伸張処理が行われているか否かを示すフラグである伸張フラグＦＬＧをオンにする。なお、この伸張フラグＦＬＧは検査部１５に与えられる。
【００４２】
検査部１５は、伸張部１４から与えられる伸張データＳＤを印刷出力用データとして出力部１６に送るとともに、伸張フラグＦＬＧがオンになっている期間をカウントする。このカウントにより、検査部１５は、各ページのデータについての実際の伸張サイズを取得することができる。そして、検査部１５は、カウントに基づいて得られた伸張サイズと読出部１３から与えられた伸張サイズＳＩとを比較し、両者が一致すれば、出力部１６に対して印刷指示命令ＯＵＴを与え、両者が一致しなければ、制御部１７に対してエラー処理を行う旨の命令ＥＲＲを与える。
【００４３】
出力部１６は、検査部１５から送られる伸張データＳＤを一時的に保持する。そして、出力部１６は、検査部１５から印刷指示命令ＯＵＴが与えられると、保持していた伸張データＳＤを印刷機本体２０の印字ヘッド部２０７へと出力する。印字ヘッド部２０７では、出力部１６から送られた伸張データＳＤに基づいて、印刷用紙への印字が行われる。制御部１７は、検査部１５からエラー処理を行う旨の命令ＥＲＲが与えられると、印刷出力を停止させる処理やオペレータにエラーを通知する処理などを行う。
【００４４】
＜３．印刷制御装置の処理手順＞
次に、図８に示すフローチャートを参照しつつ、本実施形態において印刷が行われる際の印刷制御装置１０での処理手順について説明する。まず、受信部１１が、ホスト３０から送られる圧縮データＰＤを受信する（ステップＳ１０）。そして、受信部１１は、当該圧縮データＰＤを記憶部１２（メモリ１１２）に書き込む（ステップＳ１１）。或る一定値の圧縮データＰＤが記憶部１２に書き込まれると、読出部１３は、記憶部１２からの圧縮データＰＤの読み出しを開始する。上述したように圧縮データ内において各ページのデータのうちの最初のデータは区切りデータとなっているので、読出部１３はまず区切りデータを検出する（ステップＳ１２）。そして、読出部１３は、区切りデータに含まれている伸張サイズＳＩを検査部１５に通知する（ステップＳ１３）。さらに、読出部１３は、区切りデータに含まれている圧縮サイズに基づいて、１ページ分の圧縮データＰＤを記憶部１２から読み出し、当該圧縮データＰＤを伸張部１４に転送する（ステップＳ１４）。なお、上述したように、区切りデータについては、ＮＯＰデータとして伸張部１４に転送される。
【００４５】
ところで、本実施形態においては、伸張部１４および検査部１５での処理と並行して読出部１３での処理が行われる。従って、或るページについてのステップＳ１４の処理の終了後、後述するステップＳ１５，Ｓ１６の処理の終了を待つことなく、ステップＳ１２に戻って次のページについての記憶部１２からの圧縮データＰＤの読み出しが行われる。
【００４６】
ステップＳ１４で圧縮データＰＤが伸張部１４に転送されると、伸張部１４で伸張処理が行われる（ステップＳ１５）。伸張処理が行われている期間中、伸張部１４は、伸張フラグＦＬＧをオンにする。検査部１５は、伸張フラグＦＬＧがオンになっている期間をカウントする。これについて、図９を参照しつつ説明する。
【００４７】
図９には、伸張部１４から伸張データが出力されるタイミングと伸張フラグＦＬＧの変化を模式的に示している。なお、Ｑｎ（ｎ＝１、２、３、・・・）は、１クロックで出力される伸張データを表している。また、伸張フラグＦＬＧについては、ハイレベルの状態がオンを表し、ローレベルの状態がオフを表している。図９に示すように、伸張部１４から伸張データが出力されている期間には、伸張フラグＦＬＧはオンになっている。例えば、伸張フラグＦＬＧがオンになっている期間が１０００クロックに相当し、１クロックにつき２バイトのデータが伸張部１４から出力されるのであれば、伸張サイズは２０００バイトである。図９に示す例では、検査部１５は、１ページ目についての伸張データが伸張部１４から出力されている期間中にクロック数を「７」までカウントすることになる。
【００４８】
伸張部１４は、ＮＯＰデータを検出すると、伸張フラグＦＬＧをオフにする。これにより、１ページ分のデータについて、正しく伸張処理が行われたか否かの検査が検査部１５で行われる（ステップＳ１６）。この検査は、伸張処理が行われている期間中のカウントに基づいて得られた値とステップＳ１３で通知された伸張サイズＳＩの値とを比較することによって行われる。その結果、両者が一致していれば、「正しく伸張処理が行われた」と判断され、両者が一致していなければ、「正しく伸張処理が行われていない」と判断される。正しく伸張処理が行われている場合には、ステップＳ１５に戻り、次のページの圧縮データＰＤについての伸張処理が行われる。一方、正しく伸張処理が行われていない場合には、印刷出力を停止させるなどのエラー処理が行われる（ステップＳ１７）。
【００４９】
＜４．効果＞
本実施形態によれば、インクジェット印刷装置１で印刷出力が行われる際、１ページ毎の圧縮サイズ，伸張サイズの情報を有する区切りデータを含む圧縮データＰＤが、ホスト３０から印刷制御装置１０に送られる。区切りデータ内の伸張サイズの情報は検査部１５に与えられる。また、検査部１５では、１ページ分のデータ毎に、伸張処理が行われている期間中のクロック数のカウントに基づいて、実際の伸張サイズが取得される。以上より、１ページ毎に圧縮データＰＤの伸張の異常を検出することが可能となる。ここで、本実施形態においては、或るページについての伸張処理や検査が行われている期間中に次のページについての圧縮データＰＤのメモリ１１２からの読み出しが可能となっている。このため、１ページ毎に検査を行うことに起因する印字速度の低下が抑制される。これについて、図１０を参照しつつ説明する。図１０には、第２の従来手法および本実施形態において３ページ分のデータ（Ｐ１〜Ｐ３）の処理に要する時間を模式的に示している。第２の従来手法においては、或るページについての伸張結果の検査が終了するまでの期間、読出部では、次のページの圧縮データについてのメモリからの読み出しは行われない。従って、読出部で処理が行われる期間および伸張部，検査部で処理が行われる期間は、図１０（ａ）に示すようなものとなる。これに対して、本実施形態においては、伸張部，検査部での処理を読出部での処理と並行して行うことが可能となっている。従って、読出部で処理が行われる期間および伸張部，検査部で処理が行われる期間は、図１０（ｂ）に示すようなものとなる。図１０から把握されるように、本実施形態における全体の処理時間Ｔ２は、第２の従来手法における全体の処理時間Ｔ１よりも短くなっている。
【００５０】
以上のように、本実施形態によれば、インクジェット印刷装置１での実際の印字速度を本来の印字速度よりも低下させることなく、圧縮データの伸張の異常を速やかに検出することが可能となる。
【００５１】
また、本実施形態においては、検査部１５によって伸張後のデータサイズが正しくないと判断された場合、制御部１７は、印刷出力を停止させる処理やオペレータにエラーを通知する処理などを行う。これらの処理は１ページ毎に行われるので、圧縮データの伸張が正しく行われなかった場合の無駄な印刷出力が抑止される。
【００５２】
＜５．その他＞
上記実施形態においてはインクジェット印刷装置１の印刷制御装置１０を例に挙げて説明したが、本発明はこれに限定されない。圧縮データに伸張処理を施して印刷出力用データを生成するものであれば、インクジェット印刷装置１以外の印刷装置の印刷制御装置１０にも本発明を適用することができる。
【００５３】
また、上記実施形態においては、１ページ毎に伸張処理が正しく行われたか否かの検査が行われる構成としているが、本発明はこれに限定されない。例えば、ホスト３０から送られる圧縮データについて１本分の主走査ラインのデータ毎に上述した区切りデータを含めるようにすることによって、主走査ライン毎に伸張処理が正しく行われているか否かの検査を行うことが可能となる。
【００５４】
さらに、上記実施形態においてはランレングス圧縮が行われている場合を例に挙げて説明したが、本発明はこれに限定されず、ランレングス圧縮以外の方式で圧縮されたデータが印刷装置に送られる場合にも、本発明を適用することができる。
【符号の説明】
【００５５】
１…インクジェット印刷装置
１０…印刷制御装置
１１…受信部
１２…記憶部
１３…読出部
１４…伸張部
１５…検査部
１６…出力部
１７…制御部
２０…印刷機本体
３０…ホスト
２０７…印字ヘッド部
Ｐ…印刷制御プログラム
【図１】
0005819756.tif 000002
【図２】
0005819756.tif 000003
【図３】
0005819756.tif 000004
【図４】
0005819756.tif 000005
【図５】
0005819756.tif 000006
【図６】
0005819756.tif 000007
【図７】
0005819756.tif 000008
【図８】
0005819756.tif 000009
【図９】
0005819756.tif 000010
【図１０】
0005819756.tif 000011
【図１１】
0005819756.tif 000012
【図１２】
0005819756.tif 000013
【図１３】
0005819756.tif 000014
【図１４】
0005819756.tif 000015