(57)【要約】【課題】描画データ展開後の空白部分の画像データサイズを削減して、従来よりも省メモリで印字処理を実現すること。【解決手段】ライン単位でレフトマージンからの最初の印字データまでの主走査のドット数をカウントする手段、前記カウント値を描画ハードが展開したデータに対してフラグとして付加してバンドメモリ内へ格納する手段、描画データ読み出し回路は前述のフラグを参照してレフトマージンより空白データのラン長の間プリンタエンジンに対してデータをマスク出力する手段、および前述のラン長カウント後にバンドメモリより読み出したデータを順次プリンタエンジンへ出力する手段。【選択図】　　　　図１
2004042406.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから送信されたページ記述言語などの印字データを印刷制御部内のプログラムにしたがって描画ハードウエアが解析できるような中間データ（以後ｄｉｓｐｌａｙ　ｌｉｓｔと呼ぶ）に変換するプログラムを備えた印刷制御部において、前述のｄｉｓｐｌａｙ　ｌｉｓｔは１ページを複数のバンド単位に分割して描画オブジェクト単位で生成する手段、前述のｄｉｓｐｌａｙ　ｌｉｓｔを描画ハードウエアが描画データに展開処理し主走査ライン単位でバンドメモリへ格納する手段、またその格納時において各ラインの先頭意味する主走査基準点からのドット数を先頭のデータに付加させておく手段、およびバンドメモリより前述の属性が付加されたラスターデータを読み出してプリンタエンジンに対して出力する手段を備えたことを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力される印刷情報を解析して印刷部が印刷可能な描画データを展開処理する印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものである。
【０００２】
【従来の技術】
従来はページ記述言語から中間言語へプリンタ制御部のプログラムにしたがって変換した後で、描画ハードウエアによりバンド単位でラスターデータへ展開される。前記ラスターデータは描画データ格納用のバンドメモリへ格納され、１バンド分のデータが用意できるとプリンタエンジンへデータをシッピングする回路によってレーザービームプリンタの主走査１ラインごとに読み出されてシリアルデータとしてプリンタエンジンへ転送されていた。描画ハードは印字用紙の描画基準点（図２参照のこと）からページの左オフセットを加算した点より各主走査ラインごとにデータを展開していた。そして、バンドメモリへ格納する際にはｂｙｔｅ単位の圧縮方法のひとつであるＰａｃｋＢｉｔｓ圧縮などの処理をした後に格納していた。
【０００３】
【発明が解決しようとする課題】
しかしながら従来においてはバンドの中心位置あるいはページの右側に描画オブジェクトが集中しているような印字データの場合にも、ページ左のオフセット（以下よりレフトマージンと呼ぶ）からの空白部分のデータについても描画データとしてバンドメモリへ格納されていた。たとえばバイト単位でデータを圧縮するＰａｃｋＢｉｔｓ圧縮法については、同一データの繰り返し回数は”ＦＦ”（１２７ｄｏｔ）までしか一つのコードとして扱うことが出来ない。
【０００４】
このため印字用紙の右側に印字オブジェクトが集中してあるようなドキュメントにおいては白データを表す圧縮コードの量が多くなる。
【０００５】
【課題を解決するための手段】
本発明では上記空白データがバンドメモリにおいて占有する領域を削減するために以下に挙げる手段を設ける。第一に改行ごとにレフトマージンからの最初の印字データまでの主走査のドット数をカウントする手段、前記カウント値を描画ハードが展開したデータに対してフラグとして付加してバンドメモリ内へ格納する手段、描画データ読み出し回路は前述のフラグを参照してレフトマージンより空白データのラン長の間プリンタエンジンに対してデータをマスク出力する手段、および前述のラン長カウント後にバンドメモリより読み出したデータを順次プリンタエンジンへ出力する手段を備えることを特徴とする。
【０００６】
【発明の実施の形態】
（実施例）
図１は本発明を適用可能なプリンタ制御部の構成を示したものである。
【０００７】
同図においては図示していないホストコンピュータより転送された印字コマンド・データをＨｏｓｔ　Ｉ／Ｆ　Ｌｏｇｉｃ　１０１を介して１０２のバンドメモリ（ＲＡＭ）へ格納する。
【０００８】
図において、１０６はＣＰＵであり、印字処理とプリンタエンジン本体の全制御を行うための演算・制御部である。１０２はＤＡＲＭであり受信バッファとしても使用され、ホストコンピュータからのコマンドおよびデータ等の受信データを一時的に蓄える。
【０００９】
１０５には後述する図５に示すフローチャートによる一連の制御を実現するためのプログラムデータ，　Ｆｏｎｔデータ、および本発明で使用するディザ関数などを格納しているＲＯＭである。１０２はＲＡＭであり、前述で説明したような印字データを格納するバンドメモリとしての用途の他にＣＰＵ（１０６）が各プログラムを実行する際のワークエリアとして使用する。１０７は描画処理用のブロックであり、１０２のＭａｉｎ　Ｍｅｍｏｒｙから読み込んだｄｉｓｐｌａｙ　ｌｉｓｔを１０５のＲＯＭに格納されたプログラムに従って画像データへ展開する。前記のプログラムＲＯＭ（１０５）には他にもホストコンピュータから受信した印字データのコマンドを解析して、ライスタライズ処理ハードウエアを起動させるためのプログラムが格納されている。
【００１０】
図２は実際の印字用紙上における描画オブジェクトの座標関係を示す図である。
【００１１】
同図においてＸ１，　Ｘ２はそれぞれレフトマージンからの主走査方向のオフセット座標を示している。１Ｂａｎｄ目のラインＬ１においてはオフセットＸ１　ｄｏｔ分の白データが必要であり、２Ｂａｎｄ目のラインＬ２においてはオフセットＸ２　ｄｏｔ分の白データが必要であることを示している。図３は図２の画像データを出力したときのタイミングを示す図である。
【００１２】
同図においてｎＶＤＯ＿ＣＬＫは画像データを出力するときの同期クロックであり、ｎＢＤは主走査方向の同期信号であり、図２の描画基準点より前にａｓｓｅｒｔされる。ｎＶＤＯ＿ｄａｔａは画像データ（ａｃｔｉｖｅ　Ｌｏｗ）を示しており、ＬｏｗのときにＯＮとなって用紙に画像が印字される。
【００１３】
同図においてＬ１ラインではＸ１　ｄｏｔの期間ｎＶＤＯ＿ｄａｔａ信号がｈｉｇｈであるので白データを出力していることを示している。　Ｌ２ラインにおいても同様である。
【００１４】
図４は本実施例におけるバンドメモリへ格納する描画展開後のラスターデータの形式を示すものである。各ライン単位でラスターデータがＰａｃｋＢｉｔｓ圧縮されている。本発明においては、各ラインのＬｅｆｔ　ｍａｒｇｉｎからの水平オフセット座標をｄｏｔ単位で表した“印字開始座標”を各ラインの圧縮データの先頭に付加し、１ライン最後の圧縮データの後に終了を示すフラグを付加する。このデータを１まとまりとして１バンドのライン数分データをバンドメモリへ格納する。１バンド分のデータが図１のＨａｒｄｗａｒｅ　Ｒａｓｔｅｒ　Ｌｏｇｉｃ（１０７）によって展開されると図１のＨｏｒｉ．　Ｄｏｔ　ｃｏｕｎｔｅｒ（１０８）は前述の印字開始座標分だけｎＶＤＯ＿ｄａｔａ信号を”Ｈｉｇｈ”にドライブし図３のＶｉｄｅｏ　ＣＬＫをカウントした後に圧縮データをＰａｃｋＢｉｔｓ伸張してｎＶＤＯ＿ｄａｔａとして図１のＰｒｉｎｔｅｒ　Ｅｎｇｉｎｅ（１１１）に送出する。
【００１５】
図４中にある３ライン目の　”ＸＯＲフラグ”とは、描画展開したデータがひとつ前のラインのデータと一致する場合において、画像データの削減を図る為のフラグである。
【００１６】
このフラグが付加されているラインのについては、図１のＶｉｄｅｏ　ｄａｔａ　ｓｈｉｐｐｉｎｇ　ｌｏｇｉｃ（１０８）が前ラインの画像データを再度読み出して使用することを意味している。
【００１７】
図５は本実施例の処理を示すフローチャートである。１バンド分の中間データの作成が終了すると図１のＲａｓｔｅｒ　Ｌｏｇｉｃ（１０７）がライン単位で描画データへの展開を開始する（Ｓ１）。
【００１８】
最初の印字ｄａｔａ出現までのｄｏｔ数（ＰａｃｋＢｉｔｓ圧縮の場合ではｒｕｎ長）をカウントし（Ｓ２）白データを圧縮したコードが一定量よりも大きくなった場合には、描画基準点からのｏｆｆｓｅｔ　ａｄｄｒｅｓｓとして格納する（Ｓ４）。次の印字ｄｏｔ以降からラスターデータを圧縮してｄａｔａを格納する（Ｓ５）。前述の処理は、１バンド分のライン数分の画像データについて行なう。
【００１９】
そして、１バンド分の画像データが生成されるとプリンタエンジンにＶｉｄｅｏ　ｄａｔａとしてｓｈｉｐｐｉｎｇされる（Ｓ６）。以上の一連の処理を１ページに含まれるバンド数分行なう。
【００２０】
【発明の効果】
本発明によれば描画データ展開後の空白部分の画像データサイズを削減することにより、従来よりも省メモリで印字処理が実現できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施例を示すプリンタ制御システムの構成を示す図である。
【図２】本発明の実施例で説明する印字オブジェクトの位置関係を示す図である。
【図３】図２の印字オブジェクトの画像出力タイミングを示すタイムチャートである。
【図４】本実施例で使用する描画展開処理を行なったデータの圧縮形式を示す図である。
【図５】本実施例の処理の流れを示すフローチャートである。
【符号の説明】
１０１：　Ｈｏｓｔ　Ｉ／Ｆ　Ｌｏｇｉｃ
１０２：　ＲＡＭ１０３：　Ｈａｒｄ　Ｄｉｓｋ
１０４：　ＮＶＲＡＭ１０５：　ＲＯＭ
１０６：　ＣＰＵ
１０７：　Ｈａｒｄｗａｒｅ　Ｒａｓｔｅｒ　Ｌｏｇｉｃ
１０８：　Ｄｏｕｂｌｅ　Ｂｕｆｆｅｒ
１０９：　Ｖｉｄｅｏ　Ｉ／Ｆ　Ｌｏｇｉｃ
１１０：　Ｏｐｅｒａｔｉｏｎａｌ　Ｐａｎｅｌ
１１１：　Ｐｒｉｎｔｅｒ　Ｅｎｇｉｎｅ
【図１】
2004042406.tif 000003
【図２】
2004042406.tif 000004
【図３】
2004042406.tif 000005
【図４】
2004042406.tif 000006
【図５】
2004042406.tif 000007