(57)【要約】【課題】ホストコンピュータのプリンタドライバやプリンタコントローラに大きな負担がかかることなく、回転処理を伴う印刷等を快適に実行すること。【解決手段】描画手段１３は、印刷する原画像の領域Ｐ１を含み所定サイズのブロックが整数個配置可能な描画領域Ｐ２を設定し、原画像の描画を行う。その際、原画像の領域Ｐ１の中心と描画領域Ｐ２の中心とがほぼ一致するよう配置する。ブロック化手段１４は、描画領域Ｐ２を複数のブロックに分割して原画像のブロックデータを生成する。データ処理手段３５は、ブロックデータに対し回転処理を含む画像処理を施し印刷用データを生成する。【選択図】図１
2006254169.tif 000002
【特許請求の範囲】
【請求項１】
印刷する原画像を所定サイズの複数のブロックに分割し、回転を含む画像処理を施して印刷の制御を行う印刷制御システムにおいて、
上記原画像の領域を含み上記ブロックが整数個配置可能な描画領域を設定し、該原画像の領域の中心と該描画領域の中心とがほぼ一致するよう配置して該原画像の描画を行う描画手段と、
該描画領域を上記複数のブロックに分割して上記原画像のブロックデータを生成するブロック化手段と、
該ブロックデータに対し回転処理を含む画像処理を施し印刷用データを生成するデータ処理手段とを備えることを特徴とする印刷制御システム。
【請求項２】
ホストコンピュータが持つサブグラフィック機能から描画命令を受け、印刷の制御を行う印刷制御システムであって、
該サブグラフィック機能から描画命令を受けると、印刷する原画像の指定されたサイズ以上で、所定サイズのタイル状のブロックを整数個配置可能な描画領域を設定し、該描画領域上に上記原画像をそれらの中心がほぼ一致するように配置して描画する描画手段と、
該描画領域に描画された原画像を複数のブロックに分割してブロックデータとし、該データを圧縮して圧縮ブロックデータを生成するとともに、各圧縮ブロックデータ毎の付加情報を生成するブロック化手段と、
該ブロック化手段から伝送される該圧縮ブロックデータを保持するフレームデータ記憶手段と、
該ブロック化手段から伝送される該付加情報に基づき、各圧縮ブロックデータ毎の回転処理に関する情報、及び該圧縮ブロックデータの上記フレームデータ記憶手段内でのアドレスに関する情報を含むブロック位置情報リストを生成する印刷制御手段と、
該ブロック位置情報リストに基づいて、上記フレームデータ記憶手段から圧縮ブロックデータを読み出し、データ伸長及び指定された回転処理を施すデータ処理手段と、
該データ処理手段で処理されたブロックデータから印刷可能なラインデータを生成する画像処理手段と、
該ラインデータを印刷手段に出力する出力手段とを備えることを特徴とする印刷制御システム。
【請求項３】
ホストコンピュータが持つサブグラフィック機能から描画命令を受け、印刷の制御を行う印刷制御システムであって、
該サブグラフィック機能から描画命令を受けると、印刷する原画像の指定されたサイズ以上で、所定サイズのタイル状のブロックを整数個配置可能な描画領域を設定し、該描画領域上に上記原画像をそれらの中心がほぼ一致するように配置して描画する描画手段と、
該描画領域に描画された原画像を複数のブロックに分割してブロックデータとし、該データを圧縮して圧縮ブロックデータを生成する第１のブロック化手段と、
該第１のブロック化手段で生成したブロックデータを複数個まとめてマクロブロックデータとし、該データを圧縮して圧縮マクロブロックデータを生成するとともに、各圧縮マクロブロックデータ毎の付加情報を生成する第２のブロック化手段と、
該第２のブロック化手段から伝送される該圧縮マクロブロックデータを保持するフレームデータ記憶手段と、
該第２のブロック化手段から伝送される該付加情報に基づき、各圧縮マクロブロックデータ毎の回転処理に関する情報、及び該圧縮マクロブロックデータの上記フレームデータ記憶手段内でのアドレスに関する情報を含むブロック位置情報リストを生成する印刷制御手段と、
該ブロック位置情報リストに基づいて、上記フレームデータ記憶手段から圧縮マクロブロックデータを読み出し、データ伸長及び指定された回転処理を施してブロックデータを生成するデータ処理手段と、
該データ処理手段で生成されたブロックデータから印刷可能なラインデータを生成する画像処理手段と、
該ラインデータを印刷手段に出力する出力手段とを備えることを特徴とする印刷制御システム。
【請求項４】
請求項２または３に記載の印刷制御システムであって、
前記描画手段により設定された描画領域と描画された原画像の領域との間には、該領域の周囲に均一に差分領域を有し、
前記印刷手段により該差分領域のラインデータが印刷されないように前記出力手段の出力を制御する出力制御手段を有することを特徴とする印刷制御システム。
【請求項５】
請求項４記載の印刷制御システムにおいて、
前記データ処理手段で処理されたブロックデータを保持するブロックラスタ記憶手段を有し、
前記画像処理手段は該ブロックラスタ記憶手段からブロックデータを読み出す際に、前記差分領域に対応するブロックデータをスキップして読み出し、該差分領域のラインデータを生成しないことを特徴とする印刷制御システム。
【請求項６】
請求項２または３に記載の印刷制御システムであって、
前記ブロック化手段または前記第２のブロック化手段の生成する前記付加情報は、前記ブロックデータまたは前記マクロブロックデータの圧縮条件に関する情報を含むことを特徴とする印刷制御システム。
【請求項７】
請求項２または３に記載の印刷制御システムであって、
前記ブロック化手段または前記第２のブロック化手段は、前記生成した各圧縮ブロックデータまたは前記各圧縮マクロブロックデータの先頭に前記生成した付加情報を付加して伝送することを特徴とする印刷制御システム。
【請求項８】
印刷する原画像を所定サイズの複数のブロックに分割し、回転を含む画像処理を施して印刷の制御を行う印刷制御方法において、
上記原画像の領域を含み上記ブロックが整数個配置可能な描画領域を設定し、該原画像の領域の中心と該描画領域の中心とがほぼ一致するよう配置して該原画像の描画を行い、
該描画領域を上記複数のブロックに分割して上記原画像のブロックデータを生成し、
該ブロックデータに対し回転処理を含む画像処理を施し印刷用データを生成し、
該生成された印刷用データを印刷手段に出力して印刷を行わせることを特徴とする印刷制御方法。
【請求項９】
ホストコンピュータが持つサブグラフィック機能から描画命令を受け、印刷の制御を行う印刷制御方法であって、
該サブグラフィック機能から描画命令を受けると、印刷する原画像の指定されたサイズ以上で、所定サイズのタイル状のブロックを整数個配置可能な描画領域を設定し、該描画領域上に上記原画像をそれらの中心がほぼ一致するように配置して描画し、
該描画領域に描画された原画像を複数のブロックに分割してブロックデータとし、該データを圧縮して圧縮ブロックデータを生成するとともに、各圧縮ブロックデータ毎の付加情報を生成し、
該圧縮ブロックデータをフレームデータ記憶手段に保持し、
該付加情報に基づき、各圧縮ブロックデータ毎の回転処理に関する情報、及び該圧縮ブロックデータの上記フレームデータ記憶手段内でのアドレスに関する情報を含むブロック位置情報リストを生成し、
該ブロック位置情報リストに基づいて、上記フレームデータ記憶手段から圧縮ブロックデータを読み出し、データ伸長及び指定された回転処理を施してブロックデータを生成し、
該生成されたブロックデータから印刷可能なラインデータを生成し、
該ラインデータを印刷手段に出力して印刷を行わせることを特徴とする印刷制御方法。
【請求項１０】
ホストコンピュータが持つサブグラフィック機能から描画命令を受け、印刷の制御を行う印刷制御方法であって、
該サブグラフィック機能から描画命令を受けると、印刷する原画像の指定されたサイズ以上で、所定サイズのタイル状のブロックを整数個配置可能な描画領域を設定し、該描画領域上に上記原画像をそれらの中心がほぼ一致するように配置して描画し、
該描画領域に描画された原画像を複数のブロックに分割してブロックデータとし、該データを圧縮して圧縮ブロックデータを生成し、
該生成したブロックデータを複数個まとめてマクロブロックデータとし、該データを圧縮して圧縮マクロブロックデータを生成するとともに、各圧縮マクロブロックデータ毎の付加情報を生成し、
該圧縮マクロブロックデータをフレームデータ記憶手段に保持し、
該付加情報に基づき、各圧縮マクロブロックデータ毎の回転処理に関する情報、及び該圧縮マクロブロックデータの上記フレームデータ記憶手段内でのアドレスに関する情報を含むブロック位置情報リストを生成し、
該ブロック位置情報リストに基づいて、上記フレームデータ記憶手段から圧縮マクロブロックデータを読み出し、データ伸長及び指定された回転処理を施してブロックデータを生成し、
該生成されたブロックデータから印刷可能なラインデータを生成し、
該ラインデータを印刷手段に出力して印刷を行わせることを特徴とする印刷制御方法。
【請求項１１】
請求項９または１０に記載の印刷制御方法であって、
前記描画領域と描画された原画像の領域との間には、該領域の周囲に均一に差分領域を有し、
前記印刷手段に対し、該差分領域のラインデータを印刷しないように制御することを特徴とする印刷制御方法。
【請求項１２】
請求項９または１０に記載の印刷制御方法であって、
前記付加情報は、前記ブロックデータまたは前記マクロブロックデータの圧縮条件に関する情報を含むことを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを効率的に処理する印刷制御システム及び印刷制御方法に関するものである。
【背景技術】
【０００２】
近年、オフィスや家庭においてプリンタで印刷するデータは、高精細化、カラー化が進み、印刷データの容量が飛躍的に増大している。印刷データの容量が増大すると、プリンタで画像処理のために保持するデータ容量が大きくなり、プリンタが持つメモリの容量を大きくする必要がある。しかしながら、メモリ容量の増大に伴い必然的にプリンタのコストが高くなる。この問題点を解決するため、小容量のメモリで印刷データを効率的に処理する技術が提案されている。
【０００３】
特許文献１に記載のページプリンタは、ホスト装置から時系列的に送信されてくる、複数のバンド単位イメージデータからなる１ページ分のイメージデータに基づき、そのイメージデータをマトリックス状に分割したイメージデータである複数のブロック単位イメージデータのそれぞれを復元可能な圧縮データ群を生成する手段を備える。さらに、この圧縮データ群に基づき、前記ホスト装置によって送信された前記イメージデータを９０度回転させた印刷用イメージデータを生成する手段とを備える構成である。この構成によれば、１ページ分の印刷イメージデータを記憶するための記憶領域を予め確保しておかなくても９０度回転させた印刷用イメージデータを生成できるので、より小容量のメモリの搭載により提供できることが述べられる。
【０００４】
このようにイメージデータ（原画像）をマトリックス状に分割して処理する場合、原画像のサイズがブロックサイズの整数倍になるとは限らない。そのため、画像の端部に無効画像を付加して全体をブロックサイズの整数倍とした後に、画像分割する手法が提案されている。
【０００５】
さらに特許文献２には、無効画像を付加して回転処理を行う場合、分割画像の処理に起因する原画像の欠落がない画像を出力する技術が述べられる。すなわち特許文献２に記載の画像処理装置は、第１のサイズの原画像を第１の座標を基準として所定の大きさの分割画像（タイル画像）に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成手段と、前記第２のサイズの中心点に関して前記複数の分割画像の集合を回転処理する処理手段と、前記回転処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力手段とを有する。ここに前記生成手段は、前記処理手段による回転処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域（余白部分）をどの分割画像が含むかを決定することで、前記出力画像に回転処理された原画像全体が含まれるようにするものである。具体例として、１８０度の回転処理を施す場合には、原画像の左側と上側に余白部分を設けることで画像の欠落を防止できることが示される。
【０００６】
【特許文献１】特開２００３−２９６０５４号公報
【特許文献２】特開２００４−１２８８１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記特許文献１に記載の技術は、１ページ分のイメージデータをブロック単位の複数画像に分割するものであるが、前記したように原画像のサイズがブロック画像の整数倍のサイズになるとは限らないので、余白部分を設けるなどの処理が必要となる。
【０００８】
また、特許文献２記載の技術は、余白部分を付加して分割するものであるが、欠落のない画像を出力するために余白部分を原画像のどの位置に付加すればよいかを、回転処理の内容、例えば回転角度（９０度、１８０度、２７０度）に応じて適宜決定せねばならない。すなわち、回転条件をその都度認識して画像分割を行わねばならず、煩雑な処理が伴う。あるいは、一旦分割した各画像の印刷位置を個々に調整することでも可能であるが、その作業も煩雑である。
【０００９】
また、ホストコンピュータのプリンタドライバで分割画像を生成する場合、ランドスケープページやポートレートページの回転だけでなく、例えばＡ３プリンタでＡ４サイズの印刷を行う場合には、用紙セット方向によってはページ回転が必要になる場合があるので、プリンタドライバとプリンタで通信を行って用紙方向を認識する必要がある。しかも、ページによって回転方向が異なり、複数ページを１枚の用紙に印刷する集約印刷する場合には非常に煩雑な処理となる。
【００１０】
また、分割画像をプリンタ側で生成する場合には、一般的にホストコンピュータより処理能力の低いＣＰＵで処理するので、画像分割の処理に時間がかかる。プリンタ側に高性能なＣＰＵを搭載すればよいが、コストが高くなる。
【００１１】
本発明の目的は、上記のような課題を解決し、ホストコンピュータのプリンタドライバやプリンタコントローラに大きな負担がかかることなく、回転処理を伴う印刷等を快適に実行する印刷制御システム及び印刷制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明では、印刷する原画像を所定サイズの複数のブロックに分割し、回転を含む画像処理を施して印刷の制御を行う印刷制御システムにおいて、上記原画像の領域を含み上記ブロックが整数個配置可能な描画領域を設定し、該原画像の領域の中心と該描画領域の中心とがほぼ一致するよう配置して該原画像の描画を行う描画手段と、該描画領域を上記複数のブロックに分割して上記原画像のブロックデータを生成するブロック化手段と、該ブロックデータに対し回転処理を含む画像処理を施し印刷用データを生成するデータ処理手段とを備える。
【００１３】
また本発明では、印刷する原画像を所定サイズの複数のブロックに分割し、回転を含む画像処理を施して印刷の制御を行う印刷制御方法において、上記原画像の領域を含み上記ブロックが整数個配置可能な描画領域を設定し、該原画像の領域の中心と該描画領域の中心とがほぼ一致するよう配置して該原画像の描画を行い、該描画領域を上記複数のブロックに分割して上記原画像のブロックデータを生成し、該ブロックデータに対し回転処理を含む画像処理を施し印刷用データを生成し、該生成された印刷用データを印刷手段に出力して印刷を行わせる。
【００１４】
さらに本発明では、前記描画領域と描画された原画像の領域との間には、該領域の周囲に均一に差分領域を有し、印刷手段により該差分領域のラインデータが印刷されないように制御する。
【発明の効果】
【００１５】
本発明によれば、ホストコンピュータのプリンタドライバやプリンタコントローラに負担をかけずに、回転処理を伴う印刷等を快適かつ迅速に実行することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明による印刷制御システム及び印刷制御方法の実施例について、図面を用いて説明する。
【実施例１】
【００１７】
図１は、本発明による印刷制御システムの一実施例を示す構成図である。ホストコンピュータ１は、ユーザが印刷指示を直接入力するアプリケーション１１、ＯＳが持つグラフィックサブシステムであるＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）１２、プリンタドライバなどの描画手段１３、及び印刷する画像（印刷データ）をタイル状に分割してブロック化するブロック化手段１４を有する。ブロック化手段１４は描画手段１３にその機能を含ませても良い。ホストコンピュータ１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの通信路２を介して、プリンタコントローラ３と接続される。
【００１８】
プリンタコントローラ３は、印刷制御手段３１、受信手段３２、フレームデータ記憶手段３３、ブロック位置情報記憶手段３４、データ処理手段３５、ブロックラスタ記憶手段３６、画像処理手段３７、ラインデータ記憶手段３８、及び出力手段３９を備える。プリンタコントローラ３は、印刷手段である印刷エンジン４に接続される。
【００１９】
図２は、図１の印刷制御システムにおける印刷制御方法の一例を示すフローチャート図である。ユーザは、ホストコンピュータ１上で動作しているアプリケーション１１に印刷指示を出す（Ｓ１０１）。アプリケーション１１はＧＤＩ１２に対して印刷要求を行い（Ｓ１０２）、ＧＤＩ１２は描画手段１３に対して印刷データの描画を行うよう指示する（Ｓ１０３）。
【００２０】
描画手段１３は、印刷指示された原画像（印刷データ）の領域のサイズ以上で、かつブロック化手段１４にて分割する所定サイズのタイル画像のサイズの整数倍となる領域（以下、描画領域）に、該印刷データの領域の中心と該描画領域の中心とがほぼ一致するよう配置して描画を行う（Ｓ１０４）。
【００２１】
描画手段１３が描画を行った後、ブロック化手段１４は、印刷データが配置された描画領域をタイル画像に分割し（ブロック化）、各タイル画像毎のブロックデータを生成する。そして、ＭＨ（Ｍｏｄｅｆｉｅｄ  Ｈｕｆｆｍａｎ）圧縮などの方法で各ブロックデータ毎に圧縮を行い、圧縮ブロックデータを生成する（Ｓ１０５）。このブロック化処理により、画像処理を行う上で必要なメモリ容量を低減できる。
【００２２】
ここで、図３は、本実施例における印刷画像に対する画像分割及びページ回転の様子を模式的に示した図である。図３（ａ）は画像分割を示す。Ｐ１は印刷指示された原画像（印刷データ）の領域である。これに対し描画領域Ｐ２は、領域Ｐ１以上のサイズ（Ｐ１≦Ｐ２）で、所定サイズのブロック（タイル画像）を整数個（横５ブロック、縦６ブロック）配置して構成された領域である。原画像領域Ｐ１の中心と、描画領域Ｐ２の中心とはほぼ一致している。すなわち、領域Ｐ１と領域Ｐ２との差分領域ΔＰは、領域周囲４辺に均等（上下左右対称）に設けている。Ｂ１１〜Ｂ６５は、タイル画像に分割された圧縮ブロックデータである。
【００２３】
図３（ｂ）（ｃ）（ｄ）は、（ａ）の原画像をそれぞれ時計回りに９０度、１８０度、２７０度回転させた後の配置を示す。例えば（ｂ）の９０度回転の場合、起点となる左上端の位置には、原画像（ａ）の左下端のブロックデータＢ６１が配置される。回転処理は、各ブロック単位で実行され、各ブロックが所定位置に配置されるので、画像回転は、描画領域Ｐ２の中心を回転中心として回転する。ここに原画像領域Ｐ１の中心と描画領域Ｐ２の中心は一致させてあるので、回転後の画像は、周辺に均等に差分領域ΔＰを有することになる。すなわち、回転処理により印刷画像の偏りが生じることはない。特に描画領域が正方形の場合には、原画像の位置と印刷画像の位置を一致させることができる。このように本実施例によれば、原画像領域の中心と描画領域の中心とを一致させたので、どのような回転処理に対しても、印刷画像の偏りが解消できる。またそのための特別な処理を必要としない。
【００２４】
このように描画手段１３は、原画像領域Ｐ１の中心と描画領域Ｐ２の中心を一致させて描画するのであるが、一致させる際、印字ドットのサイズ等で決まる描画の分解能に伴う設定誤差や、印刷品質として支障のない程度の偏り量を許容することは言うまでもない。
【００２５】
次にブロック化手段１４は、各圧縮ブロックデータのサイズ等の付加情報を生成する。
【００２６】
図４は、付加情報の一例を示したものである。ここでは、２種類の圧縮方法と２種類のデータタイプ（２値データと多値データ）に対応できるシステムを想定し、これらの条件を識別できるようにしている。付加情報Ａは、第１の圧縮方法が当該ブロックデータに適用されているかどうかを示す第１圧縮フラグ（Ａ１）、第２の圧縮方法が当該ブロックデータに適用されているかどうかを示す第２圧縮フラグ（Ａ２）、２値データか多値データかを示すデータタイプ（Ａ３）、及び当該ブロックデータのサイズ（バイト量）を示すブロックサイズ（Ａ４）を含む。ブロックサイズ（Ａ４）は可変長圧縮において、メモリに格納された当該ブロックのデータを過不足なく読み出すために必要となる情報である。
【００２７】
ブロック化手段１４は、全てのブロックデータ分の付加情報Ａをリスト状に連結した付加情報リストデータを生成する（Ｓ１０７）。そして付加情報リストデータ及び圧縮ブロックデータを、通信路２を介してプリンタコントローラ３へ送出する（Ｓ１０８）。
【００２８】
プリンタコントローラ３の受信手段３２は、付加情報リストデータ及び圧縮ブロックデータを受信し、これを印刷制御手段３１に通知する（Ｓ２０１）。印刷制御手段３１は受信手段３２に対し、受信した圧縮ブロックデータをフレームデータ記憶手段３３に送るよう指示する（Ｓ２０２）。また印刷制御手段３１は、受信手段３２から付加情報リストデータを受け取り、さらにプリンタコントローラ３が管理している用紙カセット内の用紙設置方向の情報を受け取る。これらの情報を基に、各圧縮ブロックデータの回転処理情報及び該圧縮ブロックデータを記憶するフレームデータ記憶手段３３内でのアドレス情報をリスト状に連結させたブロック位置情報リストを作成し、その結果をブロック位置情報記憶手段３４に格納する（Ｓ２０３）。
【００２９】
その際印刷制御手段３１は、ページ回転後の圧縮ブロックデータの新たな配列を計算し、その新たな配列に従ってデータ処理が行えるよう圧縮ブロックデータを順番に読み出すためのブロック位置情報リストを作成する。このリストの回転処理情報により、ホストコンピュータが指定した回転に加え、用紙のセット状況に応じた回転が必要になっても、プリンタコントローラ側で自由に回転処理を行うことができる。
【００３０】
図５は、ブロック位置情報リストの一例を図示したものである。ここでは、図３（ｂ）の９０度のページ回転を行う場合を示した。ブロック位置情報リストは、第１圧縮フラグ、第２圧縮フラグ、データタイプ、ブロックサイズ、回転情報、及びアドレス情報を有するエントリからなる。ページ回転後のブロックデータの配置において、画像処理を行うためにデータをスキャンする順に記述する。つまり図３（ｂ）に示される通り、ページの左上端のブロックデータＢ６１を起点に右方向に、Ｂ５１、Ｂ４１・・・の順にエントリを連結し、右端のＢ１１のエントリまで連結した後、次行のブロックデータの左端のブロックデータＢ６２のエントリから右方向に続けて連結する。これを繰り返して、ページの右下端のブロックデータＢ１５のエントリまでを連結する。また、各ブロックの回転情報は、この場合９０度回転処理を示す内容となる。
【００３１】
フレームデータ記憶手段３３は、少なくとも１ページ分の圧縮ブロックデータを記憶する。フレームデータ記憶手段３３に少なくとも１ページ分の圧縮ブロックデータが格納されたら、データ処理手段３５は印刷制御手段３１からの指示で、ブロック位置情報記憶手段３４で記憶しているブロック位置情報リストに従ってフレームデータ記憶手段３３から各圧縮ブロックデータを読み出す。さらに読み出した圧縮ブロックデータの伸長処理及び回転処理を行う（Ｓ２０４）。これらの処理を行ったデータを、ブロックラスタ記憶手段３６に格納する（Ｓ２０５）。
【００３２】
図６は、ブロックラスタ記憶手段３６内のブロックデータを模式的に示したものである。ブロックラスタ記憶手段３６では、ページ回転後のブロックデータをラスタ単位で記憶しており、図６では、２ブロックラスタ分のブロックデータ（Ｂ６１〜Ｂ１１、及びＢ６２〜Ｂ１２）を記憶している場合を示す。
【００３３】
ブロックラスタ記憶手段３６に所定量のブロックデータ（例えばブロックデータの１ラスタ分）が格納されたら、画像処理手段３７は印刷制御手段３１の指示で画像処理に必要なブロックデータを読み出し、γ補正やＵＣＲ／ＢＧ（Ｕｎｄｅｒ  Ｃｏｌｏｒ  Ｒｅｍｏｖａｌ／Ｂｌａｃｋ  Ｇｅｎｅｒａｔｉｏｎ）、スムージングなどの各種画像処理を行う（Ｓ２０６）。
【００３４】
これらの処理、格納動作は、並行して行う。すなわち、画像処理手段３７がブロックデータＢ６１〜Ｂ１１の処理が終え、次のブロックラスタであるブロックデータＢ６２〜Ｂ１２に移ったら、データ処理手段３５はフレームデータ記憶手段３３から次のブロックデータＢ６３〜Ｂ１３を読み出し、伸長処理、及びブロックデータの回転処理を行い、ブロックラスタ記憶手段３６に送る。ここに印刷データはタイル状に分割されているので、ページの回転方向に応じてブロックラスタ記憶手段３６にブロックデータを展開しながら、印刷エンジンに出力して並行動作を行えば、ブロックラスタ記憶手段を１ページ分必要とせず、メモリ容量を小さく抑えることができる。
【００３５】
画像処理手段３７により各種画像処理を行ったデータは、ラインデータ記憶手段３８に格納する（Ｓ２０７）。ラインデータ記憶手段３８は、印刷エンジンが直接処理可能な印刷データを保持する。例えば８ライン分などの一定量のラインデータがラインデータ記憶手段３８に格納されたら、印刷制御手段３１は出力手段３９に対して該ラインデータを印刷エンジン４に送るよう指示する。出力手段３９は、該ラインデータをラインデータ記憶手段３８から読み出し、印刷エンジン４に送出する（Ｓ２０８）。
【００３６】
ここで、ラインデータ記憶手段３８で保持しているラインデータは、図３の描画領域Ｐ２の大きさのデータであるので、印刷データ領域Ｐ１との差分領域ΔＰのラインデータは不要であり、これを出力しないように制御する。そのためには、例えば画像処理手段３７が画像処理のためにブロックラスタ記憶手段３６からブロックデータを読み出す際に、不要なブロックデータをスキップして読み出す。その際スキップする量、すなわち差分領域ΔＰのサイズは、描画領域サイズＰ２と印刷データサイズＰ１とから容易に算出できる。あるいは、差分領域ΔＰのラインデータをそのまま出力し、印刷エンジン４をデータに付随した印刷制御信号（フラグ）を介して印刷動作を制御するようにしても良い。印刷エンジン４は、ラインデータを受信すると用紙に印刷を行う。
【００３７】
以上述べた本実施例の印刷制御システム及び印刷制御方法によれば、ホストコンピュータ１のプリンタドライバやプリンタコントローラ３に大きな負担をかけることなく、回転処理等を含む印刷処理を、印刷画像の偏りを発生せずに快適に実行できる。その際、メモリ容量が節約できるとともに、特別の処理が不要であり、迅速な処理が可能となる。
【００３８】
また、回転ページを含む複数のページを１枚の用紙に印刷する集約印刷を行う場合でも、印刷データはタイル状のブロックデータで構成された描画領域の中心に描画されているので、同じ印刷面に集約される複数のページ間でずれが生じない。
【００３９】
本実施例では、ブロック化手段１４でブロックデータ全てに圧縮をかけるとしたが、ブロックデータを選択的に圧縮してもよい。その場合、図４の付加情報Ａの第１圧縮フラグＡ１もしくは第２圧縮フラグＡ２に圧縮の有無を明示してプリンタコントローラ３に通知すればよい。またブロック化手段１４は、２種類の圧縮を行うとしたが、圧縮方式はそれ以外（１種類あるいは３種類以上）でもよい。その場合、付加情報Ａに必要な数の圧縮フラグ情報を設ければよい。
【００４０】
また本実施例では、データ処理手段３５でブロックデータの回転を行うとしたが、画像処理手段３７でブロックデータの回転を行ってもよい。この場合、画像処理手段３７はブロック位置情報記憶手段３４から各ブロックデータの回転情報を読み出すか、もしくはデータ処理手段３５から各ブロックデータの回転情報を受け取って回転処理を行う。
【実施例２】
【００４１】
本発明による印刷制御システム及び印刷制御方法の他の実施例（実施例２）を説明する。前記実施例１と異なる点は、ブロック化手段１４は、付加情報Ａをリストデータとして生成するのではなく、圧縮ブロックデータの各々の先頭に付加情報Ａを付加し、プリンタコントローラ３へ送信する点である。そのため印刷制御手段３１は、より簡単化されたブロック位置情報リスト（回転情報とアドレス情報）を生成し、ブロック位置情報記憶手段３４に格納すればよい。
【００４２】
実施例２の印刷制御システムにおける印刷手順について説明する。実施例１と同様の手順で、原画像をタイル画像に分割して、圧縮ブロックデータを生成する。ブロック化手段１４は各圧縮ブロックデータの先頭にそのブロックの付加情報Ａを付加する。付加情報Ａは前記図４と同様の構成であり、その末尾のブロックサイズＡ４の後に圧縮ブロックデータが配置される。
【００４３】
この圧縮ブロックデータを受信すると、印刷制御手段３１は付加情報Ａを取り出して、これを基にブロック位置情報リストを作成して、ブロック位置情報記憶手段３４に格納する。この場合のブロック位置情報リストは、各圧縮ブロックデータの回転情報と該圧縮ブロックデータを記憶するフレームデータ記憶手段３３内でのアドレス情報を含むが、付加情報Ａに含まれる圧縮方式等の情報は省略されている。
【００４４】
図７は、本実施例におけるブロック位置情報リストの一例を図示したものであり、９０度のページ回転を行う場合である。ブロック位置情報リストは、各ブロックデータの回転情報とアドレス情報を有するエントリからなる。また、ページ回転後のブロックデータの配置に従い、画像処理を行うためにデータをスキャンする順に記述している。
【００４５】
データ処理手段３５は、各圧縮ブロックデータに付加されている付加情報Ａと、上記ブロック位置情報リストに記述されている情報に応じてデータの読み出し、伸長、回転の各処理を行い、ブロックラスタ記憶手段３６に送る。以降の動作は前記実施例１と同様である。
【００４６】
本実施例では、実施例１と同様の効果が得られるだけでなく、ブロック位置情報記憶手段３４に格納するブロック位置情報リストの情報量を削減できるので、これに必要なメモリ容量を小さくし、かつデータ処理手段３５はより効率的に処理を実行することができる。
【実施例３】
【００４７】
本発明による印刷制御システム及び印刷制御方法の他の実施例（実施例３）を説明する。
【００４８】
図８は、実施例３における印刷制御システムの構成を示す図である。前記実施例１と異なる点は、ホストコンピュータ１において、ブロック化手段１４を第１ブロック化手段１５及び第２ブロック化手段１６の２段構成とした点である。第１ブロック化手段１５は、ＢＴＣ（Ｂｌｏｃｋ  Ｔｒｕｎｃａｔｉｏｎ  Ｃｏｄｉｎｇ）圧縮などの固定長圧縮により複数の画素を１つのブロックとしてまとめて情報を圧縮する手段であり、第２ブロック化手段１６は第１ブロック化手段で生成したブロックデータをさらに複数個まとめてブロック化してマクロブロックデータを生成する手段である。
【００４９】
実施例３の印刷制御システムにおける印刷手順について説明する。ホストコンピュータ１の描画手段１３は、前記実施例１と同様に描画領域に描画を行う。第１ブロック化手段１５は、原画像が描画領域の中心に配置された描画領域を、ＢＴＣ圧縮などの方法でブロック化を行ってブロックデータを生成する。さらに第２ブロック化手段１６は、第１ブロック化手段１５で生成したブロックデータを所定個数まとめてマクロブロックデータとし、これをＭＨ圧縮などの方法で圧縮を行い、圧縮マクロブロックデータを生成する。例えば、第１のブロック化では８×８ドットを単位とし、第２のマクロブロック化では８×８ブロック（すなわち６４×６４ドット）を単位とする。
【００５０】
また、第２ブロック化手段１６は、各圧縮マクロブロックデータについてサイズ等の付加情報を生成する。付加情報の内容は実施例１と同様である。第２ブロック化手段１６は、全ての圧縮マクロブロックデータ分の付加情報Ａを連結してリスト状にした付加情報リストデータを生成する。該付加情報リストデータ及び該圧縮マクロブロックデータは、通信路２を介してプリンタコントローラ３へ送出される。
【００５１】
プリンタコントローラ３の動作は、基本的には実施例１と同様である。本実施例では、画像データとしてマクロブロック単位に処理しているので、データ処理手段３５はその伸長処理において、上記第１のブロック化及び第２のブロック化に対応した伸長処理を採用する。
【００５２】
本実施例によれば、実施例１と同様の効果が得られるだけでなく、画像データを複数段のブロック化処理を行うことで、より効率的な圧縮データを生成することができ、ひいては送受信するデータ量、メモリの容量の低減に寄与する。
【００５３】
以上述べた各実施例は典型的な例であり、これらを組み合わせた実施例も可能である。例えば、実施例２と実施例３とを組み合わせ、複数段でブロック化処理（マクロブロック化）を行い、かつ圧縮マクロブロックデータの先頭にそのブロックの付加情報を付加して送信する方式も可能である。さらに本発明の趣旨の範疇で、システムを構成する処理手段の一部の機能を変更することも可能である。
【図面の簡単な説明】
【００５４】
【図１】本発明による印刷制御システムの一実施例を示す構成図（実施例１）。
【図２】図１の印刷制御システムにおける印刷制御方法の一例を示すフローチャート図。
【図３】印刷画像に対する画像分割及びページ回転の様子を示した図。
【図４】ブロック化手段が生成する付加情報の一例を示す図。
【図５】印刷制御手段が生成するブロック位置情報リストの一例を示す図。
【図６】ブロックラスタ記憶手段内のブロックデータの一例を示す図。
【図７】実施例２におけるブロック位置情報リストの一例を示す図。
【図８】本発明による印刷制御システムの他の実施例を示す構成図（実施例３）。
【符号の説明】
【００５５】
１…ホストコンピュータ、１３…描画手段、１４，１５，１６…ブロック化手段、２…通信路、３…プリンタコントローラ、３１…印刷制御手段、３２…受信手段、３３…フレームデータ記憶手段、３４…ブロック位置情報記憶手段、３５…データ処理手段、３６…ブロックラスタ記憶手段、３７…画像処理手段、３８…ラインデータ記憶手段、３９…出力手段、４…印刷エンジン。
【図１】
2006254169.tif 000003
【図２】
2006254169.tif 000004
【図３】
2006254169.tif 000005
【図４】
2006254169.tif 000006
【図５】
2006254169.tif 000007
【図６】
2006254169.tif 000008
【図７】
2006254169.tif 000009
【図８】
2006254169.tif 000010