(57)【特許請求の範囲】
【請求項１】
データ転送路を介して接続された印刷装置に対して所定の印刷イメージデータを生成しつつ転送する印刷制御方法であって、
印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力工程と、
上記印刷データ入力工程にて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向とが異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ上記印刷装置に転送する印刷イメージデータ分割転送工程とを具備することを特徴とする印刷制御方法。
【請求項２】
上記請求項１に記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、予め所定の領域に格納された上記印刷装置が備えるページフレームバッファのバンド単位を読み出して取得するとともに、同取得したバンド単位によりラスタライズした印刷イメージデータを分割することを特徴とする印刷制御方法。
【請求項３】
上記請求項１に記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、所定のタイミングにより上記印刷装置に対してページフレームバッファのバンド単位を問い合わせて取得するとともに、同取得したバンド単位によりラスタライズした印刷イメージデータを分割することを特徴とする印刷制御方法。
【請求項４】
上記請求項１〜請求項３のいずれかに記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、バンド単位により分割した印刷イメージデータをページ単位でスプールする印刷イメージデータスプール工程を備えることを特徴とする印刷制御方法。
【請求項５】
上記請求項１〜請求項４のいずれかに記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、分割した印刷イメージデータを所定の手法により圧縮する圧縮データ生成工程を備えることを特徴とする印刷制御方法。
【請求項６】
発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成しつつ、接続する印刷装置に同印刷イメージデータを転送する印刷制御装置であって、
印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力手段と、
上記印刷データ入力手段にて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向が異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ、同印刷装置に転送する印刷イメージデータ分割転送手段とを具備することを特徴とする印刷制御装置。
【請求項７】
発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成し、接続する印刷装置に同印刷イメージデータを転送する処理を、コンピュータに実行させる印刷制御プログラムを記録した媒体であって、
印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力ステップと、
上記印刷データ入力ステップにて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向が異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ、同印刷装置に転送する印刷イメージデータ分割転送ステップとを、実行させることを特徴とする印刷制御プログラムを記録した媒体。
【請求項８】
発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成しつつ、接続する印刷装置に同印刷イメージデータを転送する印刷制御装置であって、印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力手段と、上記印刷データ入力手段にて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向が異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割し、当該分割した印刷イメージデータを所定の手法により圧縮して上記印刷装置に転送する印刷イメージデータ分割転送手段とを具備する印刷制御装置と、
上記印刷制御装置から転送された圧縮されている印刷イメージデータを入力し、この印刷イメージデータをバンド単位に区切られたページフレームバッファの所定の位置に格納する印刷イメージデータ格納手段と、所定のタイミングに基づいて上記印刷イメージデータ格納手段に格納された圧縮されている印刷イメージデータを復元し、ページイメージデータを再生する印刷データ復元再生手段と、上記印刷データ復元再生手段により復元されるとともに再生されたページイメージデータに基づいて印刷を実行するページイメージデータ印刷手段とを具備する印刷装置と、からなることを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御方法、印刷制御装置、印刷制御プログラムを記録した媒体および印刷装置に関し、特に、印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成するとともに、同生成した印刷イメージデータを入力して印刷を実行する印刷制御方法、印刷制御装置、印刷制御プログラムを記録した媒体および印刷装置に関する。
【０００２】
【従来の技術】
プリンタはプリンタホストであるコンピュータの周辺機器として所定のインターフェイスケーブルを介して接続され、コンピュータにおいて印刷ジョブが実行されると、同印刷ジョブに伴う印刷データから生成される印刷イメージデータがプリンタに転送される。
そして、プリンタはこの転送された印刷イメージデータに基づいて印刷を実行する。ここで、コンピュータから印刷イメージデータをプリンタに転送する手法としては二つの手法がある。
一つ目は、コンピュータ側のプリンタドライバにて印刷ジョブに伴う印刷データを所定のライン単位にラスタライズして印刷イメージデータを生成し、同印刷イメージデータをプリンタが備えるページフレームバッファのバンド単位に対応させてプリンタに転送する手法である。
二つ目は、コンピュータ側のプリンタドライバにて印刷ジョブに伴う印刷データを所定のライン単位でラスタライズして印刷イメージデータを生成し、同印刷イメージデータをプリンタが備えるページフレームバッファのバンド単位に対応させた後に、所定の圧縮手法により同印刷イメージデータを圧縮してプリンタに転送手法である。
【０００３】
【発明が解決しようとする課題】
上述したプリンタへの印刷イメージデータの転送方法においては、次のような課題がある。
前者においては、所定のバンド単位にて生成した複数の印刷イメージデータを順次プリンタに転送するため、転送する印刷イメージデータのデータ量が大きくなってしまう。
また、プリンタは転送された各印刷イメージデータを内部に備えるページフレームバッファに順次格納する場合、バンドごとに、転送されたバンドに係る印刷イメージデータをリンクしたリンクデータを生成する。
そして、印刷イメージデータをレンダリングするときに、このリンクデータを順次展開してバンド単位の印刷イメージデータを復元し、同復元した印刷イメージデータに基づいて印刷を実行する。
従って、コンピュータ側にて印刷データのラスタライズ方向と、プリンタ側のページフレームバッファのバンド方向が異なる場合、ラスタライズされバンド単位に対応された各印刷イメージデータは、プリンタに転送されページフレームバッファに格納される場合、全てのバンドに係ることになり、各バンドにおいて同一の印刷イメージデータをリンクしたリンクデータが生成されることになる。
すなわち、プリンタに転送するバンド単位に対応した印刷イメージデータには、複数のバンドに渡る印刷イメージデータを格納している。従って、各バンドは全ての印刷イメージデータをリンクしなければならないため、ページフレームバッファをの容量が大きくなり、同ページフレームバッファを格納するメモリの使用効率が低下してしまうという課題がある。
【０００４】
後者においては、所定のライン単位にてラスタライズし所定のバンド単位に対応した印刷イメージデータを圧縮してからプリンタに転送するため、転送する印刷イメージデータのデータ量を小さくすることが可能になる。
一方、プリンタ側では、転送された圧縮データを復元してから、ページフレームバッファの各バンドに印刷イメージデータをリンクしてリンクデータを生成するため、処理負荷が大きくなってしまう。
また、前者と同様、コンピュータ側にて印刷データのラスタライズ方向と、プリンタ側のページフレームバッファのバンド方向が異なる場合に、各バンドにおいて復元した各印刷イメージデータをリンクしたリンクデータを生成するため、ページフレームバッファの容量が大きくなり、同ページフレームバッファを格納するメモリの使用効率が低下してしまうという課題がある。
【０００５】
本発明は、上記課題にかんがみてなされたもので、印刷装置のページフレームバッファのバンド方向に分割した印刷イメージデータを生成することにより、印刷装置側では、各バンドに含まれる印刷イメージデータのみから構成されるリンクデータの生成することが可能になり、同リンクデータを格納するページフレームバッファの容量が小さくなることによって、同ページフレームバッファを格納するメモリの負荷を低減させることが可能であるとともに、この印刷イメージデータを圧縮することによりデータ転送量を低減させることが可能な印刷制御方法、印刷制御装置、印刷制御プログラムを記録した媒体および印刷装置の提供を目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、データ転送路を介して接続された印刷装置に対して所定の印刷イメージデータを生成しつつ転送する印刷制御方法であって、印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力工程と、上記印刷データ入力工程にて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向とが異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ上記印刷装置に転送する印刷イメージデータ分割転送工程とを具備する構成としてある。
【０００７】
上記のように構成した請求項１にかかる発明において、印刷制御方法は印刷データ入力工程と、印刷イメージデータ分割転送工程とを備え、システムまたはアプリケーションにて印刷ジョブが実行された場合、この印刷ジョブに伴う印刷データに所定のデータ処理を実施し生成した印刷イメージデータを印刷装置に転送するものである。
また、印刷装置は、この転送された印刷イメージデータをページ単位によって格納するページフレームバッファを備え、順次格納して所定のタイミングでレンダリングするとともに、印刷を実行している。このページフレームバッファは、複数のバンドに分割されており、バンドが分割される方向をバンド方向というとともに、この一つのバンドをバンド単位という。
かかる場合、印刷ジョブがシステムまたはアプリケーションプログラムにて実行されると、この印刷ジョブに伴う印刷データを印刷データ入力工程は入力する。ここで、システムまたはアプリケーションが生成する印刷データは、ページ単位を複数に分割されて、ランダムに印刷データ入力工程に渡される。従って、印刷データ入力工程では入力したランダムに分割されている複数の印刷データを順次入力するとともに、ページ単位の印刷イメージデータを生成するために整列させる。
【０００８】
そして、印刷イメージデータ分割転送工程は、所定のライン単位にて同印刷イメージデータをラスタライズする。ここで、このラスタライズ方向と上記プリンタが備えるページフレームバッファのバンド方向とが異なる場合に、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ、上記印刷装置に転送する。
本実施形態においては、バンド方向に分割する構成を採用している。従って、このバンド方向は上述したバンド単位であってもよいし、複数のバンド単位を一つの塊とし分割するものであってもよく、適宜変更可能である。
【０００９】
すなわち、印刷データ入力工程にて生成された印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向とが異なる場合、所定のライン単位によりラスタライズして生成された各印刷イメージデータは、印刷装置のページフレームバッファに格納されるとき、全てのバンドに係る。これによる各バンド単位において各印刷イメージデータを含むリンクデータの生成を防止するため、ラスタライズされた各印刷イメージデータをページフレームバッファが分割されるバンド方向に分割する。従って、各バンドは、自己のバンドに含まれる印刷イメージデータのみをに保存することが可能になり、ページフレームバッファの容量を小さくすることが可能になり、同ページフレームバッファを格納するメモリを効率的に使用することができる。
【００１０】
例えば、印刷イメージデータ分割転送工程にて所定のライン単位によってラスタライズした印刷イメージデータが５ライン生成されるとともに、各印刷イメージデータの大きさが５ＭＢであり、ページフレームバッファが５バンド単位に分割されるとともに印刷装置に転送される場合を考察する。
かかる場合、各バンドにおいて５ＭＢの印刷イメージデータの５ライン分をリンクしたリンクデータが生成され保存されることになるため、各バンドが格納するリンクデータは、合計５ＭＢ＊５ライン＝２５ＭＢとになる。一方、５ＭＢの印刷イメージデータを５バンド単位に分割すると、一バンド単位の印刷イメージデータは１ＭＢになる。そして、それぞれのバンドは、この１ＭＢの印刷イメージデータを５ライン分をリンクしたリンクデータを保存するため、各バンドが格納するリンクデータは、合計１ＭＢ＊５ライン＝５ＭＢとなり、前者と比較して５分の一のデータ量に低減させることが可能になることが分かる。
【００１１】
次に、印刷データ入力工程にて生成された印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向とが異なる一例について説明する。
ここではシステムプログラムまたはアプリケーションプログラムによる印刷ジョブに伴う印刷データが上下辺の長い長方形を形成する印刷領域を有していて、この印刷領域をＡ４用紙に印刷する場合を考察する。
上述した印刷データについては、短辺を区切る方向により所定のライン単位に基づいてラスタライズされた印刷イメージデータが生成される。この短辺を区切る方向がラスタライズ方向になる。
一方、印刷装置にてこの印刷イメージデータを印刷する場合、Ａ４用紙の縦方向が用紙搬出方向となるため、バンド方向はこの搬出方向に直角になる。従って、Ａ４用紙の長辺を区切る方向がバンド方向となる。
このように、ラスタライズ方向がＡ４用紙短辺分割方向であって、バンド方向がＡ４用紙長辺分割方向である場合がラスタライズ方向とバンド方向が異なる場合に該当する。
【００１２】
上記印刷イメージデータ分割転送工程は、ラスタライズして生成された印刷イメージデータを印刷装置が備えるページフレームバッファのバンド方向に分割する際に、分割を行うバンド単位を所定の手法により取得しなければならない。
この取得手法の具体的な実現方法として、予め所定の領域に格納されているバンド単位の大きさを示すパラメータを取得してもよいし、接続する印刷装置にバンド単位の大きさを問い合わせて取得してもよい。
前者の一例として、請求項２にかかる発明は、請求項１に記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、予め所定の領域に格納された上記印刷装置が備えるページフレームバッファのバンド単位を読み出して取得するとともに、同取得したバンド単位によりラスタライズした印刷イメージデータを分割する構成としてある。
上記のように構成した請求項２にかかる発明において、印刷イメージデータ分割転送工程は、予め所定の領域に格納された上記印刷装置が備えるページフレームバッファのバンド単位を読み出して取得するとともに、同取得したバンド単位によりラスタライズした印刷イメージデータを分割する。すなわち、印刷イメージデータを印刷装置に転送する際に、所定の領域に格納されているバンド単位を読み出して分割しつつ、印刷装置に転送する。
ここで、バンド単位を格納する領域は、印刷イメージデータ分割転送工程の所定の処理時に読み出すことができる領域であればよく、ハードディスクやＥＥＰＲＯＭであってもよいし、ＲＯＭなどに格納されているものであってもよい。
また、複数の印刷装置におけるページフレームバッファのバンド単位を格納しておき、接続されている印刷装置に適合したバンド単位を読み出すようにしてもよい。
【００１３】
上述した印刷イメージデータ分割転送工程がバンド単位を取得する後者の一例として、請求項３にかかる発明は、請求項１に記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、所定のタイミングにより上記印刷装置に対してページフレームバッファのバンド単位を問い合わせて取得するとともに、同取得したバンド単位によりラスタライズした印刷イメージデータを分割する構成としてある。
上記のように構成した請求項３にかかる発明において、印刷イメージデータ分割転送工程は、ラスタライズして生成した印刷イメージデータを分割するためのバンド単位を所定のタイミングにより上記印刷装置より取得する。かかる場合、印刷装置に対してページフレームバッファのバンド単位を問い合わせる。そして、この問い合わせに対するバンド単位の返答を入力し、同入力したバンド単位によりラスタライズした印刷イメージデータを分割する。
ここで、印刷装置にバンド単位を問い合わせて取得する所定のタイミングは、印刷装置が接続されたタイミングでもよいし、印刷データ入力工程が印刷データを入力したとき、すなわち、システムプログラムあるいはアプリケーションプログラムにて印刷ジョブが実行されたときでもよい。また、これらに限定されるものではなく、印刷装置のプロパティを変更するタイミングなど、適宜変更可能である。
【００１４】
印刷イメージデータ分割転送工程にてラスタライズして生成した印刷イメージデータをバンド単位によって分割した場合、この分割した印刷イメージデータを生成するごとに接続される印刷装置に対して転送してもよいし、この印刷イメージデータをページ単位にスプールしてから所定のタイミングにて順次印刷装置に転送してもよい。後者の一例として 、請求項４にかかる発明は、請求項１〜請求項３のいずれかに記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、バンド単位により分割した印刷イメージデータをページ単位でスプールする印刷イメージデータスプール工程を備える構成としてある。
上記のように構成した請求項４にかかる発明において、印刷イメージデータスプール工程は、印刷イメージデータ分割転送工程にてラスタライズして生成された印刷イメージデータを分割してページ単位にページイメージを再現するように同印刷イメージデータをスプールする。そして、所定量の印刷イメージデータのスプールが完了すると印刷装置に転送する。
ここで、スプールして印刷装置に転送する所定量は上述したようにページ単位であってもよいし、ページ単位がスプールされるまえに、スプールする領域が満杯になった場合などは、この満杯になったタイミングに印刷装置に転送するようにしてもよい。
【００１５】
印刷イメージデータ分割転送工程にて印刷装置のページフレームバッファのバンド単位に分割された印刷イメージデータは、一つ当たりの印刷イメージデータのデータ量としては小さくなるものの、印刷装置に転送する印刷イメージデータのデータ量の合計は所定のライン単位にてラスタライズして生成した印刷イメージデータを順次転送する場合と変わらない。ここで、バンド単位に分割した印刷イメージデータを圧縮して印刷装置に転送するとデータ量を低減させることができ好適である。
そこで、請求項５にかかる発明は、請求項１〜請求項４のいずれかに記載の印刷制御方法において、上記印刷イメージデータ分割転送工程は、分割した印刷イメージデータを所定の手法により圧縮する圧縮データ生成工程を備える構成としてある。
上記のように構成した請求項５にかかる発明において、圧縮データ生成工程は、印刷イメージデータ分割転送工程における前工程にて生成されたバンド単位に分割された印刷イメージデータを所定の手法により圧縮する。ここで、この圧縮を実行する所定の手法は、圧縮された印刷イメージデータを転送された印刷装置側で復元可能な手法であればよく、特に限定されるものではない。
【００１６】
このように、システムプログラムまたはアプリケーションプログラムにより発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成しつつ、接続する印刷装置に同印刷イメージデータを転送する手法は必ずしも方法に限られる必要はなく、その印刷制御方法を実行する工程を組み込むことにより実体化した印刷制御装置としても機能することは容易に理解できる。
このため、請求項６にかかる発明は、発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成しつつ、接続する印刷装置に同印刷イメージデータを転送する印刷制御装置であって、印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力手段と、上記印刷データ入力手段にて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向が異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ、同印刷装置に転送する印刷イメージデータ分割転送手段とを具備する構成としてある。
すなわち、必ずしも印刷制御方法に限られずこの印刷制御方法を適用して実体化した印刷制御装置としても有効であることに相違はない。
【００１７】
ところで、このようなシステムプログラムまたはアプリケーションプログラムにて発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成しつつ、接続する印刷装置に同印刷イメージデータを転送する印刷制御装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。
従って、ソフトウェアであったりハードウェアであったりするなど、適宜変更可能である。従って、発明の思想の具現化例として、この発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成しつつ、接続する印刷装置に同印刷イメージデータを転送する印刷制御装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【００１８】
その一例として、請求項７にかかる発明は、発生した印刷ジョブに伴う印刷データに対して所定のデータ処理を実行して印刷イメージデータを生成し、接続する印刷装置に同印刷イメージデータを転送する処理を、コンピュータに実行させる印刷制御プログラムを記録した媒体であって、印刷ジョブが実行されると同印刷ジョブに伴う印刷データを入力しつつ、同印刷データに基づいたページ単位の印刷イメージデータを生成する印刷データ入力ステップと、上記印刷データ入力ステップにて生成したページ単位の印刷イメージデータのラスタライズ方向と上記印刷装置が備えるページフレームバッファのバンド方向が異なるか否か判断し、上記ラスタライズ方向とバンド方向とが異なる場合には、ラスタライズした印刷イメージデータを上記ページフレームバッファのバンド方向に分割しつつ、同印刷装置に転送する印刷イメージデータ分割転送ステップとを、実行させる構成としてある。
【００１９】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００２０】
上述した印刷制御装置に接続され、所定の印刷イメージデータを入力するとともに、所定のデータ処理を実行して印刷を実行する印刷装置においても本発明が利用されることにかわりはない。
そこで、接続する印刷ホストにて生成される印刷イメージデータのラスタライズ方向とページフレームバッファのバンド方向が異なる場合に、ラスタライズされた印刷イメージデータを上記ページフレームバッファのバンド方向に分割されるとともに、所定の手法により圧縮された印刷イメージデータを入力する印刷装置であって、上記印刷ホストから転送された圧縮されている印刷イメージデータをバンド単位に区切られたページフレームバッファの所定の位置に格納する印刷イメージデータ格納手段と、所定のタイミングに基づいて上記印刷イメージデータ格納手段に格納された圧縮されている印刷イメージデータを復元し、ページフレームデータを再生する印刷データ復元再生手段と、上記印刷データ復元再生手段により復元されるとともに再生されたページイメージデータに基づいて印刷を実行するページイメージデータ印刷手段とを具備する構成としてもよい。
【００２１】
上記構成においては、印刷装置は接続する印刷ホストにて生成される印刷イメージデータのラスタライズ方向とページフレームバッファのバンド方向が異なる場合に、ラスタライズされた印刷イメージデータを上記ページフレームバッファのバンド方向に分割されて、所定の手法により圧縮された印刷イメージデータを入力して、バンド単位に展開し所定の印刷媒体に同印刷イメージデータの印刷を実行する。
所定のライン単位とは、印刷ホスト側にて制御されるものであり、所定のバンド単位は、印刷装置が備えるページフレームバッファを分割するものであり、本印刷装置が備える記憶領域の大きさなどに基づく仕様により適宜変更されるものである。
また、印刷イメージデータ格納手段は、上記印刷ホストから転送された圧縮されている印刷イメージデータをバンド単位に区切られたページフレームバッファの所定の位置に格納する。また、印刷データ復元再生手段は、所定のタイミングに基づいて上記印刷イメージデータ格納手段に格納された圧縮されている印刷イメージデータを解凍することにより復元し、印刷を実行するページイメージデータを再生する。そして、ページイメージデータ印刷手段は、上記印刷イメージデータ復元再生手段により復元されるとともに再生されたページイメージデータについて印刷を実行する。
また、上記所定のタイミングは、転送された所定のライン単位でラスタライズされるとともにバンド単位によって分割圧縮された印刷イメージデータがページフレームバッファにページ単位で格納されたタイミングであってもよいし、上記印刷イメージデータ入力手段が印刷イメージデータに含まれる所定の制御コードであって転送の終了を示すものを含む印刷イメージデータを入力したタイミングであってもよい。
【００２２】
【発明の効果】
以上説明したように本発明は、印刷装置のページフレームバッファのバンド方向に分割した印刷イメージデータを生成し印刷装置に転送することにより、印刷装置側では、各バンドに含まれる印刷イメージデータのみから構成されるリンクデータを生成することが可能になる。また、同リンクデータを格納するページフレームバッファの容量を小さくすることにより、同ページフレームバッファを格納するメモリの負荷を低減することが可能であるとともに、この印刷イメージデータを圧縮することによりデータ転送量を低減させることが可能な印刷制御方法を提供することができる。
また、請求項２にかかる発明によれば、簡易な構成により印刷装置が備えるページフレームバッファのバンド単位を取得することが可能になる。
さらに、請求項３にかかる発明によれば、接続される印刷装置が交換され、ページフレームバッファのバンド単位が変化する場合に容易に対応することが可能になる。
さらに、請求項４にかかる発明によれば、印刷データを印刷装置に転送する前にスプールするため、スプールした印刷イメージデータに所定の処理を実施することが可能になる。
さらに、請求項５にかかる発明によれば、印刷装置に転送する印刷イメージデータを圧縮することによって、転送するデータ量を低減させることが可能になる。
【００２３】
さらに、請求項６にかかる発明によれば、印刷装置のページフレームバッファのバンド方向に分割した印刷イメージデータを生成し印刷装置に転送することにより、印刷装置側では、各バンドに含まれる印刷イメージデータのみから構成されるリンクデータを生成することが可能になる。また、同リンクデータを格納するページフレームバッファの容量を小さくすることにより、同ページフレームバッファを格納するメモリの負荷を低減することが可能であるとともに、この印刷イメージデータを圧縮することによりデータ転送量を低減させることが可能な印刷制御装置を提供することができる。
さらに、請求項７にかかる発明によれば、印刷装置のページフレームバッファのバンド方向に分割した印刷イメージデータを生成し印刷装置に転送することにより、印刷装置側では、各バンドに含まれる印刷イメージデータのみから構成されるリンクデータを生成することが可能になる。また、同リンクデータを格納するページフレームバッファの容量を小さくすることにより、同ページフレームバッファを格納するメモリの負荷を低減することが可能であるとともに、この印刷イメージデータを圧縮することによりデータ転送量を低減させることが可能な印刷制御プログラムを記録した媒体を提供することができる。
さらに、請求項８にかかる発明によれば、印刷制御装置側から印刷装置に対して印刷装置のページフレームバッファのバンド単位に適合するとともに圧縮した印刷イメージデータを生成して転送することにより、印刷装置側のページフレームバッファを格納するメモリ負荷を低減することが可能であるとともに、圧縮したデータ形式でページフレームバッファに格納することが可能な印刷システムを提供することができる。
【００２４】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
図１は、本発明の一実施形態にかかる印刷システムの概略フローを示しており、この印刷システムはプリンタホストとプリンタとから構成されている。まず、これらのプリンタホストとプリンタの構成について説明する。
図２はプリンタホストを実現する典型的なパーソナルコンピュータ本体（以下、パソコンと呼ぶ）１０を示している。
【００２５】
パソコン１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１にはＣＰＵバス１２を介して二次キャッシュ１３やデータバスユニット１４やシステムコントローラ１５が接続されている。近年のパソコンでは処理効率を向上させるためにＣＰＵバス１２のクロックスピードを上げており、遅いメモリ１６はデータバスユニット１４やシステムコントローラ１５を介してＣＰＵ１１によってアクセスされるようになっている。なお、このメモリ１６にはバイオスエリアなどのＲＯＭエリアとともにＲＡＭエリアも含まれている。
【００２６】
同様にインターフェイス類も速いＣＰＵバス１２と直に接続することはできず、データバスユニット１４やシステムコントローラ１５によって汎用高速バスであるＰＣＩバス１７が提供されている。このＰＣＩバス１７にはパソコン１０自体が直接持つＰＳ／２ポートやパラレルポートやシリアルポートなどの通信用インターフェイスとともにフロッピーディスクを接続するための共通インターフェイス１８が接続され、また、特に高速性を要求されるハードディスクやＣＤ−ＲＯＭを接続してＤＭＡ転送させるためのバスマスタ１９も接続されている。
ＰＣＩバスには直にＰＣＩデバイス２１を接続できるほか、ＩＳＡブリッジ２２を介してデータ幅の狭い旧式の汎用バスであるＩＳＡバス２３を提供しており、このＩＳＡバス２３を介してＩＳＡデバイス２４を接続できるようになっている。
【００２７】
図３はこのパソコン１０に対する周辺機器を示しており、キーボード２５とマウス２６はＰＳ／２ポートを介して、プリンタ２７はパラレルポートを介して、モデム２８はシリアルポートを介してそれぞれ共通インターフェイス１８に接続されている。スキャナ２９はＰＣＩデバイス２１としてのＳＣＳＩカード２１ａを介してＰＣＩバス１７に接続され、このＳＣＳＩカード２１ａに対しては各種の外部機器を接続可能であり、光磁気記憶装置３２などを接続したりすることができる。また、ディスプレイ３１は、ディスプレイコントローラカード２１ｂを介して接続され、ハードディスク１９ａとＣＤ−ＲＯＭドライブ１９ｂはバスマスタ１９を介してＰＣＩバス１７に接続されている。
【００２８】
ＩＳＡデバイス２４としてはさまざまな機器が提供されているが、ＰＣＭＣＩＡカード２４ａを利用すればＰＣＭＣＩＡカードソケットを３３を接続でき、画像データを記録したメモリカード３４を装着してデータの入出力が容易になる。このメモリカード３４はデジタルスチルカメラ３５であるとか、他のモバイルパソコンなどからのデータを入力することも容易である。パソコン１０にはこれらの他にもビデオカードを介して外部ディスプレイを接続する他、ＬＡＮカードを接続してネットワークに接続することが可能であるし、赤外線通信装置を介して他の外部機器と接続したりすることも可能である。以上がパソコンシステムのハードウェアの概略構成であり、かかるハードウェアを前提として、パソコン１０上では図４に示す態様でソフトウェアが実行されている。
【００２９】
すなわち、上記ハードウェア４１を基礎としてバイオス４２が実行され、その上層にてオペレーティングシステム４３とアプリケーション４４が実行される。基本的にはオペレーティングシステム４３がバイオス４２を介するか直にハードウェア４１とアクセスし、アプリケーション４４はこのオペレーティングシステム４３を介してハードウェア４１とデータなどのやりとりを行う。例えば、ハードディスク１９ａからデータを読み込むには、オペレーティングシステム４３を介してハードウェア４１にアクセスする。この他、オペレーティングシステム４３にはハードウェア４１を制御するための各種のドライバを組み込むことが可能であり、組み込まれたドライバ類はオペレーティングシステム４３の一部となって各種の制御を実行する。ドライバの類としてはビデオカードを介して外部のディスプレイへの表示を制御するディスプレイドライバであるとか、プリンタ２７への印字制御を実行するプリンタドライバ４３ａなどが組み込まれている。
【００３０】
一方、本印刷システムで印刷を実行するプリンタの概略構成を図５に示している。
このプリンタ５０はレーザプリンタであり、上述したプリンタ２７と同様にプリンタホストであるパソコン１０のパラレルポートに接続される。プリンタ５０にはパソコン１０のパラレルポートと接続するためのインターフェイス５１が備えられ、コマンドや印刷データの送受をパラレル通信で行う。本印刷システムにおけるパラレル通信は、プリンタ５０の性能をパソコン１０の側から検出する場合もあるので、単方向通信のセントロニクス方式ではなく、ニブル、ＥＣＢ、ＥＰＰといった双方向通信を実行可能なインターフェイスを備えている。インターフェイス５１はＤＭＡコントローラ５２に接続され、同ＤＭＡコントローラ５２はＣＰＵ５３とＲＯＭ５４とＲＡＭ５５が相互に接続されたバス５６に接続されている。ＣＰＵ５３はＲＯＭ５４に書き込まれているプリンタ制御プログラムを実行する。ＲＡＭ５５は印刷するドットマトリクス状の各画素に対応してドットのオン・オフを示す印刷画素データが記録される。
本実施形態においては、ＲＡＭ５５が必ずしも１頁分の印刷イメージデータを保持できなければならないわけではなく、データの入力と出力とを並行して行えるようにＲＡＭ５５はＤＭＡコントローラ５２を介して直接アクセスすることができるようにしている。
【００３１】
すなわち、パソコン１０の側から印刷画素データが入力されるとＣＰＵ５３を介することなく直にＲＡＭ５５に書き込めるようにしている。そして、ＲＡＭ５５から印刷画素データを直に読み出して送り出すことになる。
ＲＡＭ５５から読み出された印刷画素データは特に圧縮されていない限りはデータ伸張回路５８をスルーしてビデオコントローラ５９に入力され、同ビデオコントローラ５９でタイミング調整される。このビデオコントローラ５９もデータの入力と出力とを並行して行なう関係から特にタイミング調整をクリティカルに実行できるようにしてあり、このビデオコントローラ５９から出力されるビデオ信号は後処理回路６１に入力され、印刷エンジン６２の解像度に対応して解像度の変換を行ったり、エッジスムージング、ガンマ特性の調整というような印刷エンジン６２を中心としたプリンタ５０のハードウェアに固有の後処理を実行する。
【００３２】
一方、転送効率を向上させたりＲＡＭ５５の占有量を減らすために印刷画素データを圧縮してＲＡＭ５５に記録することが可能であり、この場合にＤＭＡコントローラ５２を介して直にデータを読み出すと圧縮されたままとなってしまう。このため、上述したデータ伸張回路５８が介在されており、圧縮された印刷画素データを読み出した場合にはそれを伸張し、ビデオコントローラ５９に出力する。
これらのパソコン１０とプリンタ５０とをパラレル接続ケーブル７０で接続することにより、パソコン１０上のアプリケーション４４から印刷処理を実行するときにパソコン１０のプリンタドライバ４３ａおよびプリンタ５０の動作を示す概略フローは図１に示すようになる。
【００３３】
まず、アプリケーション４４から印刷処理を実行すると直接的にはオペレーティングシステム４３は標準的な手順に従ってプリンタドライバ４３ａに対して印刷データを出力する。これに対応してプリンタドライバ４３ａはオペレーティングシステム４３からコールされる。
そして、ステップ１１０のイメージデータ生成処理にてアプリケーション４４での印刷操作に対応する印刷データであるビットイメージの印刷イメージデータが生成されると、この生成された印刷イメージデータを所定のライン単位に基づいてラスタライズする。
次に、ステップＳ１２０にてラスタライズ方向と、プリンタ５０のＲＡＭ５５が備えるページフレームバッファのバンド方向を比較し、異なっていると、ステップ１３０〜Ｓ１５０にて上記印刷イメージデータに対して所定のデータ処理を実行する。
概略的には、ステップＳ１３０のバンド分割処理にてステップＳ１１０にてラスタライズされた印刷イメージデータを入力し、ステップＳ１４０にて取得した上記ページフレームバッファのバンド単位に基づき各印刷イメージデータを分割する。そして、ステップＳ１５０にて、この分割した印刷イメージデータに対して所定の手法に基づいてデータ圧縮処理を実施する。そして、この分割するとともに圧縮して生成された印刷イメージデータをスプールファイルへと格納する。このスプール自体はオペレーティングシステムの標準機能を利用しても良いし、これに代替するものを利用することも可能である。
このステップ１５０にてスプールファイルにスプールされる時点では、印刷イメージデータは、印刷用紙の左上領域から右下領域に向かって左右の主走査方向と上下の副走査方向の順序どおりに生成されている。すなわち、印刷用紙上の所定の矩形領域を基準として印刷を実行する単位に用紙の領域を分割し、少なくとも１頁分の印刷データが左上領域から右下領域に向かって整列するように生成される。そして、この印刷イメージデータは、所定の順序に従って順次プリンタ５０に転送され、プリンタ５０はステップＳ１６０にて転送された印刷イメージデータに基づいて印刷用紙などの媒体に対して印刷出力を実行する。
【００３４】
この処理内容を示した概略ブロック図を図６に示す。
同図において、プリンタドライバ４３ａは、イメージデータ生成モジュール４３ａ１と、スプールファイル４３ａ２と、転送モジュール４３ａ３とを備えている。そして、アプリケーション４４から印刷要求と印刷データをプリンタドライバ４３ａが入力すると、イメージデータ生成モジュール４３ａ１にてこの印刷要求および印刷データを入力する。そして、イメージデータ生成モジュール４３ａ１にてステップＳ１１０〜Ｓ１５０の処理を実行し、生成された印刷イメージデータをスプールファイル４３ａ２にステップＳ１５０にて格納する。ここで、スプールファイル４３ａ２に格納された印刷イメージデータは転送モジュール４３ａ３によりプリンタ５０に転送される。この転送モジュール４３ａ３は、プリンタ５０と双方向通信を実行可能になっており、プリンタ５０のステータスなどを取得可能にもなっている。
以上から、概略的には、印刷データを入力するとともに、ページ単位の印刷イメージデータを生成することからステップＳ１１０のイメージデータ生成処理が印刷データ入力工程を構成し、生成された印刷イメージデータに対して所定のデータ処理を実行し、プリンタ５０に転送する印刷イメージデータを生成することからステップＳ１２０〜Ｓ１５０が印刷イメージデータ分割転送工程を構成する。
【００３５】
以下、各処理をより詳細に説明していく。
アプリケーション４４で印刷処理を選択したときにオペレーティングシステム４３のプリンタドライバ４３ａがステップＳ１１０にてイメージデータを生成するイメージデータ生成処理のフローチャートを図７に示している。
アプリケーション４４から印刷処理を実行すると直接的にはオペレーティングシステム４３に対して標準的な手順に従って所定のプリンタドライバ４３ａに対して印刷データを出力する。これに対応してプリンタドライバ４３ａはオペレーティングシステム４３からコールされ、ステップ１１１にて印刷要求ありと判断すると、まずはステップ１１２にてスプールファイルの準備を行う。スプールファイルはハードディスク１９ａの所定領域から確保され、ステップ１１３ではアプリケーション４４が生成した印刷データを入力して同スプールファイルへと格納する。このスプール自体はオペレーティングシステムの標準機能を利用しても良いし、これに代替するものを利用することも可能である。
【００３６】
スプールされた時点では印刷データはアプリケーション４４によってさまざまな切り出し方が行われている。すなわち、必ずしも用紙の左上領域から右下領域に向かって左右の主走査方向と上下の副走査方向の順序どおりに印刷データは生成されず、用紙上の任意の矩形領域を基準として印刷イメージが存在する部分を全て補う程度に用紙領域を分割し、任意の順序で送り出される。
従って、スプール完了後、プリンタドライバ４３ａはステップ１１４にてスプールファイルの整理を行ない、少なくとも１頁分の印刷データが左上領域から右下領域に向かって整列させてイメージデータを生成することになる。そして、ステップＳ１１５にてこの整列された印刷イメージデータを所定のライン単位にてラスタライズする。ここまでがステップ１１０のイメージデータ生成処理に該当する。
【００３７】
このスプールファイル４３ａ３は、ステップＳ１５０にて所定のデータ処理を施した印刷イメージファイルを格納するスプールファイル４３ａ３と同一であってもよい。かかる場合、ステップＳ１１０のイメージデータ生成処理にて整理されたスプールファイルに対して所定の単位ごとに所定のデータ処理を行い、ステップＳ１５０ではデータ処理終了後に同一領域を更新する。また、本イメージデータ生成処理のスプールファイル４３ａ３と、ステップＳ１５０のスプールファイル４３ａ３を別領域とし、ステップＳ１１４のスプールファイル４３ａ３の所定の領域に対して所定のデータ処理をほどした後に、ステップＳ１５０にて別領域のスプールファイル４３ａ３に格納するものであってもよい。
【００３８】
このようラスタライズされたスプールファイル４３ａ３が生成されると、ステップＳ１２０にてラスタライズ方向と、プリンタ５０のＲＡＭ５５に形成されるページフレームバッファのバンド方向が比較され、異なる場合は、図８のフローチャートに示すステップＳ１３０のバンド単位取得処理の処理が実行される。
同図において、プリンタドライバ４３ａはイメージデータ生成モジュール４３ａ１にて印刷要求を入力すると、ステップＳ２００にて転送モジュール４３ａ３からバンド単位取得コマンドをプリンタ５０に送出する。そして、プリンタ５０は、このコマンドを入力すると、プリンタドライバ４３ａから転送された印刷イメージデータを格納するＲＡＭ５５に形成されるページフレームバッファを分割するバンド単位をプリンタドライバ４３ａに返答する。ここで、プリンタドライバ４３ａは、ステップＳ２１０にてこの返答を入力すると、所定の領域にバンド単位データとして設定する。
本実施形態においては、プリンタ５０にバンド単位を問い合わせる構成を採用しているが、むろん、予め所定の領域にバンド単位を記憶させておき、この記録されたバンド単位データとして設定する構成であってもよい。また、本実施形態においては、イメージデータ生成モジュール４３ａ１が印刷要求を入力したタイミングでプリンタ５０に問い合わせる構成を採用しているが、むろん、プリンタ５０のバンド単位を取得するタイミングは、印刷時に限定されるものではなく、プリンタ５０をコンピュータ１０に接続したときでもよいし、所定の手法によりプリンタ５０の属性を変更するタイミングでもよく、適宜採用可能である。
【００３９】
図９は、ステップＳ１４０のバンド分割処理の処理内容をフローチャートにより示したものである。
同図において、生成モジュール４３ａ１はステップＳ２５０においてアプリケーション４４から出力された印刷データを入力するとともに、ステップＳ２５５にてバンド単位取得処理により所定の領域に設定されたバンド単位データを入力する。
次に、ステップＳ２６０にてビットイメージデータである印刷イメージデータを所定の解像度変換を経て所定のライン単位にてラスタライズを実行する。そして、ステップＳ２６５ではラスタライズデータをＲＧＢからＣＭＹＫへ色変換処理を実行し、その後のステップＳ２７０でＣＭＹＫの階調データから二値データに変換するハーフトーン処理を実行する。
ステップ２７５では、ステップＳ２１０にて設定されたバンド単位データを読み出し、この変換した印刷イメージデータを同バンド単位データに基づいて分割する。これにより、ステップＳ２８０にて所定のライン単位によりラスタライズされるとともに、バンド単位に分割された印刷イメージデータが生成される。
【００４０】
ここで、図１０（ａ）は、アプリケーション４４から出力される印刷データを示したものである。
通常、印刷データは、同図に示すラスタライズ方向に所定のライン単位によりラスタライズされ、所定のデータ処理がなされた後に印刷イメージデータとしてプリンタ５０に転送される。本実施形態においては印刷データを四つのライン単位によって分割する一例を示している。
一方、図１０（ｂ）は、転送された印刷イメージデータを入力したプリンタ５０が同印刷イメージデータをページフレームバッファに格納する状態を示している。本実施形態においては、ページフレームバッファを四つのバンド０〜３に分割する一例を示している。ここで、バンドは図示した用紙搬出方向に対して直交するように所定のバンド単位により分割される。
【００４１】
かかる場合、印刷データから生成される印刷イメージデータをＬ１００〜Ｌ４００とし、そのデータ量を印刷イメージデータＬ１００＝１６Ｍバイト，印刷イメージデータＬ２００＝１２Ｍバイト，印刷イメージデータＬ３００＝８Ｍバイト，印刷イメージデータＬ４００＝４Ｍバイトとしたとき、この印刷イメージデータＬ１００〜Ｌ４００がプリンタ５０に転送されると、図１０（ｂ）に示すよう用紙搬出方向に沿って、バンド０〜３の全てに係るように順次格納される。
従って、ページフレームバッファの容量は４０Ｍバイト＊４＝１６０Ｍバイトとなる。なぜなら、図１１に示すようにアプリケーション４４が出力した印刷データから生成された印刷イメージデータに図１１（ａ）に示す図形Ａ，Ｂ，Ｃがある場合、上述したようにページフレームバッファには図１１（ｂ）に示す状態で格納される。ここで、バンド０〜３のそれぞれにおいて印刷イメージデータＬ１００〜Ｌ４００の全てのデータを参照しなければ、印刷エンジン６２にて図形Ａ，Ｂ，Ｃの再現を行うことができないため、バンド０〜３はそれぞれが印刷イメージデータＬ１００〜Ｌ４００を格納しなければならないためである。
【００４２】
そこで、図１２（ａ）はアプリケーション４４から出力された印刷データを四つのライン単位にてラスタライズするとともに、四つのバンド単位で分割し印刷イメージデータを生成した場合を示している。従って、印刷イメージデータとしてＬ１００１〜Ｌ１００４，Ｌ２００１〜Ｌ２００４，Ｌ３００１〜Ｌ３００４，Ｌ４００１〜Ｌ４００４が生成されることになる。
ここでは理解しやすいように四つのバンド単位で分割した印刷イメージデータの大きさは印刷イメージデータＬ１００１〜Ｌ１００４，Ｌ２００１〜Ｌ２００４，Ｌ３００１〜Ｌ３００４，Ｌ４００１〜Ｌ４００４ごとに同一であると考える。例えば、印刷イメージデータＬ１００１〜Ｌ１００４＝４Ｍバイト，Ｌ２００１〜Ｌ２００４＝３Ｍバイト，Ｌ３００１〜Ｌ３００４＝２Ｍバイト，Ｌ４００１〜Ｌ４００４＝１Ｍバイトとし、印刷イメージデータＬ１００１〜Ｌ１００４の大きさの合計は図１０に示す印刷イメージデータＬ１００に対応させ１６Ｍバイトとし、印刷イメージデータＬ２００１〜Ｌ２００４の大きさの合計は印刷イメージデータＬ２００に対応させ１２Ｍバイトとし、印刷イメージデータＬ３００１〜Ｌ３００４の大きさの合計は印刷イメージデータＬ３００に対応させ８Ｍバイトとし、印刷イメージデータＬ４００１〜Ｌ４００４の大きさの合計は印刷イメージデータＬ４００に対応させ４Ｍバイトとする。
【００４３】
一方、図１２（ｂ）は、この印刷イメージデータＬ１００１〜Ｌ４００４を入力したプリンタ５０が同印刷イメージデータＬ１００１〜Ｌ４００４をページフレームバッファに格納した状態を示している。本実施形態においては、ページフレームバッファを四つのバンド０〜３に分割する一例を示している。
かかる場合、印刷イメージデータＬ１００１〜Ｌ４００４がプリンタ５０に転送されると、図１２（ｂ）に示すようにバンド０〜３をそれぞれ四分割した一のエリアに対応して印刷イメージデータＬ１００１，Ｌ２００１，Ｌ３００１，Ｌ４００１が格納される。従って、バンド０の容量は、４＋３＋２＋１＝１０Ｍバイトになる。バンド１〜３も同様に容量が１０Ｍバイトになるため、ページフレームバッファの容量は、合計４０Ｍバイトとなる。
すなわち、図９に示したバンド分割処理によりプリンタ５０のページフレームバッファのバンド単位に印刷データを分割して印刷イメージデータを生成するため、プリンタ５０がページフレームバッファに格納する印刷イメージデータのデータ量を削減することが可能になる。また、コンピュータ１０とプリンタ５０間のデータ転送量も１６０Ｍバイトから４０Ｍバイトに低減させることが可能になる。
ここで、このデータ転送量を低減するために、印刷イメージデータＬ１００〜Ｌ４００をそれぞれ圧縮データに変換し、プリンタ５０に転送する手法も考えられる。しかし、かかる場合、この圧縮された印刷イメージデータをページフレームバッファに格納する際に、復元してから格納しなければならないため、プリンタ５０に処理負荷がかかり得策ではない。
【００４４】
上述したように、アプリケーション４４が出力した印刷データは、プリンタ５０がページフレームバッファに格納する印刷イメージデータのデータ量を削減するために所定のライン単位でラスタライズされるとともに所定のバンド単位により分割されてプリンタに転送される印刷イメージデータとなる。そして、ステップＳ１５０ではこの印刷イメージデータに対してデータ圧縮処理が実施し、よりデータ量を縮少してプリンタ５０に転送する。
図１３は、このデータ圧縮処理の処理内容をフローチャートにより示したものである。
同図において、ステップＳ３００にてラスタライズされるとともにバンド単位で分割された印刷イメージデータを入力し、ステップＳ３０５にて所定の手法に基づいてこの印刷イメージデータを圧縮する。これによりステップＳ３１０にてプリンタ５０に転送する印刷イメージデータが生成される。そして、ステップＳ３１５にてスプールファイル４３ａ２の所定の領域にこの印刷イメージデータを格納する。ステップＳ３００では、印刷イメージデータＬ１００１からＬ４００４を順次入力するため、ステップＳ３２０にて印刷イメージデータＬ４００４まで入力したか否かを判断し、入力していればデータ圧縮処理を終了する。
【００４５】
ここで、スプールファイル４３ａ３に格納される印刷イメージデータＬ１００１〜Ｌ４００４のデータ形式を図１４に示す。
同図において、印刷イメージデータＬ１００１〜Ｌ４００４はデータ領域Ｄ１００〜Ｄ１０４に区分され、データ領域Ｄ１００には、ビットマップ描画コマンドが格納され、印刷イメージデータＬ１００１〜Ｌ４００４に格納されているビットマップデータを描画するための描画コマンドデータが格納されている。従って、プリンタ５０では、この描画コマンドデータに基づいて印刷を実行することになる。データ領域Ｄ１０１には、データ圧縮処理により圧縮された印刷イメージデータの圧縮データが格納される。そして、データ領域Ｄ１０２には、印刷イメージデータの印刷を行う開始点が座標データとして格納されるとともに、データ領域Ｄ１０３には、印刷イメージデータの上記開始点からの相対的な終了点の座標データが格納される。プリンタ５０は、転送された印刷イメージデータをページバッファに格納するときに、この開始点および終了点の座標データを参照しつつ、これらの座標データが含まれるバンド０〜３を検出し、対応するバンドの所定位置に格納する。また、データ領域Ｄ１０４には、データ圧縮処理における圧縮形式が格納され、この圧縮形式を読み出して、データ領域Ｄ１０１の圧縮データを復元する。従って、プリンタ５０は描画コマンドデータに基づいて印刷を実行する際に、開始点および終了点より印刷イメージデータの大きさを決定し、復元した印刷イメージデータの印刷を実行する。
【００４６】
プリンタ５０は、印刷イメージデータを入力するとＲＡＭ５５のページフレームバッファに同印刷イメージデータを順次書き込む。そして、ステップ１７０における印刷出力処理を実行する。印刷出力処理は、図１５に示すように、ステップ３５０にてＲＡＭ５５のページフレームバッファに格納された印刷イメージデータをＤＭＡコントローラ５２が読み出してビデオコントローラ５９へ送出し、ステップＳ３５５でタイミングを調整しながら後処理回路６１にて、データ領域Ｄ１０１の圧縮データをデータ領域Ｄ１０４の圧縮形式に基づいて復元するとともに、印刷エンジン６２に応じたデータに変更する。そして、ステップ３６５にてデータ領域Ｄ１００のビットマップ描画エントリーデータおよびデータ領域Ｄ１０２の開始点およびデータ領域Ｄ１０３の終了点を参照し、同印刷エンジン６２が所定の記録紙にトナーを付着させて印刷物を生成していく。
【００４７】
ところで、上述した各種のプログラムの位置づけは処理の流れに沿った説明を行っているが、複数の機器がタイミングを取り合って実行するので、実際にはさまざまな態様で実現されている。また、各プログラムは独立実行されるようなものであっても良いし、他のプログラムの一部であっても良い。さらに、ソフトウェア処理をハードウェア処理で置き換えることも可能であり、この意味でモジュールという語はソフトウェアとしてもハードウェアとしても共通な手段を指している。
【００４８】
このように、プリンタ５０のページフレームバッファのバンド単位を取得して、このバンド単位に分割した印刷イメージデータを生成することにより、プリンタ５０のページフレームバッファの容量を小さくし、ＲＡＭ５５の利用効率を向上させることが可能であるとともに、この印刷イメージデータをデータ圧縮処理により圧縮してプリンタ５０に転送するため、コンピュータ１０とプリンタ５０間のデータ転送量を低減することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる印刷システムの処理内容を示したフローチャートである。
【図２】印刷システムにおけるパソコンの概略ブロック図である。
【図３】印刷システムにおけるパソコンへの周辺装置の接続状況を示す概略ブロック図である。
【図４】パソコンのソフトウェアの構成を示す図である。
【図５】プリンタの概略ブロック図である。
【図６】プリンタドライバ４３ａの概略内部構成を示すブロック図である。
【図７】イメージデータ生成処理のフローチャートである。
【図８】バンド単位取得処理のフローチャートである。
【図９】バンド分割処理のフローチャートである。
【図１０】印刷データのラスタライズおよび印刷イメージデータの格納状態を示した図である。
【図１１】印刷データのラスタライズおよび印刷イメージデータの具体的な格納状態を示した図である。
【図１２】バンド単位に分割された印刷データおよび印刷イメージデータの格納状態を示した図である。
【図１３】データ圧縮処理のフローチャートである。
【図１４】印刷イメージデータのデータフォーマットを示した図である。
【図１５】印刷出力処理のフローチャートである。
【符号の説明】
１０…コンピュータ
４３ａ…プリンタドライバ
４３ａ１…生成モジュール
４３ａ２…スプールファイル
４３ａ３…転送モジュール
５０…プリンタ
【図１】
0003858956.tif 000002
【図２】
0003858956.tif 000003
【図３】
0003858956.tif 000004
【図４】
0003858956.tif 000005
【図５】
0003858956.tif 000006
【図６】
0003858956.tif 000007
【図７】
0003858956.tif 000008
【図８】
0003858956.tif 000009
【図９】
0003858956.tif 000010
【図１０】
0003858956.tif 000011
【図１１】
0003858956.tif 000012
【図１２】
0003858956.tif 000013
【図１３】
0003858956.tif 000014
【図１４】
0003858956.tif 000015
【図１５】
0003858956.tif 000016