JP2000207147A - Print data transfer system - Google Patents

Print data transfer system

Info

Publication number
JP2000207147A
JP2000207147A JP11011427A JP1142799A JP2000207147A JP 2000207147 A JP2000207147 A JP 2000207147A JP 11011427 A JP11011427 A JP 11011427A JP 1142799 A JP1142799 A JP 1142799A JP 2000207147 A JP2000207147 A JP 2000207147A
Authority
JP
Japan
Prior art keywords
data
band
block
print
print data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11011427A
Other languages
Japanese (ja)
Inventor
Osamu Sagata
修 佐潟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Data Corp filed Critical Oki Data Corp
Priority to JP11011427A priority Critical patent/JP2000207147A/en
Publication of JP2000207147A publication Critical patent/JP2000207147A/en
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently transfer print data at high speed by dividing print data for one page into bands and switching a transfer system for each band. SOLUTION: An application program 1 of a host device transfers print data to a printer 2, while dividing them into bands. A data amount comparing part 10 compares the data amount of a band with a data amount, for which that band is converted into image data and compressed into transfer quantity for each band. Then, it is discriminated for each band whether the data are to be transferred by means of a page-description language(PDL) system or host- based printing(HBP) system, and the data of the relevant system are sent through a selector 13 to a print spooler 14.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、上位装置からプリ
ンタに対して印刷データを効率よく転送するための印刷
データ転送システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a print data transfer system for efficiently transferring print data from a host device to a printer.

【0002】[0002]

【従来の技術】パーソナルコンピュータやワードプロセ
ッサ等においては、アプリケーションが作成した印刷デ
ータをプリンタに転送して印刷を行う。パーソナルコン
ピュータやワードプロセッサのような上位装置側には、
印刷データを処理するプリンタドライバが設けられる。
プリンタドライバは、アプリケーションが作成した印刷
データに含まれる多数のコマンドをプリンタコマンドに
変換してプリントスプーラを介し、プリンタに転送す
る。このような印刷データ転送の方法として、PDL
(Page Description Language)方式と、HBP(Host
Based Printing)方式の2種類が知られている。
2. Description of the Related Art In a personal computer, a word processor, or the like, print data created by an application is transferred to a printer for printing. For higher-level devices such as personal computers and word processors,
A printer driver for processing print data is provided.
The printer driver converts a number of commands included in the print data created by the application into printer commands, and transfers the commands to the printer via the print spooler. As a method of transferring such print data, PDL is used.
(Page Description Language) method and HBP (Host
Based Printing) methods are known.

【0003】PDL方式では、プリンタドライバがコマ
ンドをPDLコマンドに置き換えてプリンタに転送す
る。プリンタでは、このPDLコマンドを受け取り、エ
ミュレータを用いてイメージデータに変換し印刷を行
う。一方、HBP方式では、プリンタドライバが各印刷
コマンドを解釈し、イメージデータへの変換処理をして
しまう。変換処理後のイメージデータは圧縮されて、プ
リンタに転送される。
In the PDL method, a printer driver replaces a command with a PDL command and transfers the command to a printer. The printer receives the PDL command, converts it into image data using an emulator, and prints it. On the other hand, in the HBP method, the printer driver interprets each print command and performs a conversion process into image data. The image data after the conversion processing is compressed and transferred to the printer.

【0004】[0004]

【発明が解決しようとする課題】ところで、上記のよう
な従来の技術には次のような解決すべき課題があった。
PDL方式では、印刷データをPDLコマンドの状態で
転送するため、イメージデータに比較して転送すべきデ
ータ量が比較的少ない。しかしながら、複雑なイメージ
が重なり合ったような印刷データを転送する場合には、
急激に印刷データ量が増え、印刷データ転送時間が長く
なる。しかも、印刷データの内容は予測できないため、
突然、印刷データの量が増えると、プリンタ側でイメー
ジデータへの展開処理が遅れ、印刷速度に追いつかない
ためにいわゆるアンダーランが発生する場合がある。
However, the above-mentioned prior art has the following problems to be solved.
In the PDL method, since print data is transferred in the state of a PDL command, the amount of data to be transferred is relatively small as compared with image data. However, when transferring print data in which complex images overlap,
The amount of print data increases rapidly, and the print data transfer time increases. Moreover, since the contents of the print data cannot be predicted,
If the amount of print data suddenly increases, the process of developing the image data on the printer side is delayed, and a so-called underrun may occur because the printer cannot keep up with the print speed.

【0005】一方、HBP方式では、印刷データをイメ
ージデータに変換し、それを圧縮してからプリンタへ転
送するため、転送データ量は、圧縮されない状態のイメ
ージデータ量を超えることはない。しかしながら、イメ
ージデータの内容によっては圧縮率が極めて低く、転送
に絶対的に多くの時間が必要になることがあるという問
題があった。また、PDL方式とHBP方式のいずれの
方式のデータ転送もできる機能を持つプリンタでは、オ
ペレータが、印刷データの内容を考慮して、いずれか一
方の方式を選択して転送することもできる。しかしなが
ら、オペレータが印刷データの内容を解析して、最適な
印刷データ転送方式を選択するのは容易でない。
On the other hand, in the HBP method, print data is converted into image data, compressed, and then transferred to a printer. Therefore, the transfer data amount does not exceed the uncompressed image data amount. However, depending on the content of the image data, there is a problem that the compression ratio is extremely low, and transfer may require an absolutely long time. In a printer having a function capable of transferring data of either the PDL method or the HBP method, an operator can select and transfer either method in consideration of the contents of print data. However, it is not easy for an operator to analyze the contents of the print data and select an optimal print data transfer method.

【0006】[0006]

【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉印刷データを複数のブロックに分割して、上
位装置からプリンタに上記ブロック毎に印刷データを転
送するシステムにおいて、上位装置は、上記ブロック毎
に、そのブロックのデータ量と、そのブロックをイメー
ジデータに変換して転送用に圧縮した後のデータ量とを
比較するデータ量比較部と、データ量比較部の比較結果
を受け入れて、ブロックのデータ量の方が多いときは、
そのブロックをイメージデータに変換してから圧縮して
プリンタに転送し、ブロックのデータ量の方が多くない
ときは、そのブロックをイメージデータに変換する前の
状態でプリンタに転送するセレクタを備えたことを特徴
とする印刷データ転送システム。
The present invention employs the following structure to solve the above problems. <Structure 1> In a system in which print data is divided into a plurality of blocks and the print data is transferred from the higher-level device to the printer for each block, the higher-level device determines, for each of the blocks, the data amount of the block, Is converted into image data and the data amount is compared with the data amount after compression for transfer.The data amount comparison unit accepts the comparison result, and when the data amount of the block is larger,
A selector is provided that converts the block into image data, compresses it, and transfers it to the printer. If the data amount of the block is not large, transfers the block to the printer before converting the block into image data. A print data transfer system, characterized in that:

【0007】〈構成2〉構成1に記載の印刷データ転送
システムにおいて、上記ブロックは、印刷ページを主走
査方向に等分割したバンドであることを特徴とする印刷
データ転送システム。
<Structure 2> In the print data transfer system according to structure 1, the block is a band obtained by equally dividing a print page in the main scanning direction.

【0008】〈構成3〉構成1に記載の印刷データ転送
システムにおいて、上記ブロックは、印刷ページ中の任
意の形状の領域であることを特徴とする印刷データ転送
システム。
<Structure 3> The print data transfer system according to Structure 1, wherein the block is an area of an arbitrary shape in a print page.

【0009】〈構成4〉構成1に記載の印刷データ転送
システムにおいて、上記ブロックのデータ量は、当該ブ
ロック中での描画を制御するコマンドのサイズとコマン
ド数により算出されることを特徴とする印刷データ転送
システム。
<Structure 4> In the print data transfer system according to Structure 1, the data amount of the block is calculated based on the size and the number of commands for controlling drawing in the block. Data transfer system.

【0010】〈構成5〉構成1に記載の印刷データ転送
システムにおいて、上記ブロックのデータ量は、当該ブ
ロック中で描画されるオブジェクトの重なり量により算
出されることを特徴とする印刷データ転送システム。
<Structure 5> The print data transfer system according to Structure 1, wherein the data amount of the block is calculated based on an overlap amount of objects drawn in the block.

【0011】[0011]

【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例1〉図1は、具体例1の印刷データ転送システ
ムを示すブロック図である。図のシステムは、図示しな
い上位装置で動作するアプリケーションプログラム1が
印刷データを生成したとき、その印刷データをプリンタ
2に転送して印刷をさせるよう構成されている。図に示
すプリンタ2以外の部分は上位装置に設けられる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below using specific examples. FIG. 1 is a block diagram showing a print data transfer system according to a first embodiment. In the system shown in the figure, when an application program 1 operating on a higher-level device (not shown) generates print data, the print data is transferred to a printer 2 and printed. Parts other than the printer 2 shown in the figure are provided in the host device.

【0012】アプリケーションプログラム1の生成した
印刷データを処理する部分は、いわゆるプリンタドライ
バによって構成される。ここでは、バンド高さ記憶部
3、コマンド分割部4、用紙大きさ記憶部5、非圧縮イ
メージデータ量記憶部6、バンドデータ列スプール部
7、圧縮イメージデータ量算出部8、バンドデータ量算
出部9、データ量比較部10、圧縮ラスタイメージ生成
部11、前回圧縮率記憶部12、セレクタ13、プリン
トスプーラ14を備えている。
The part for processing the print data generated by the application program 1 is constituted by a so-called printer driver. Here, a band height storage unit 3, a command division unit 4, a sheet size storage unit 5, an uncompressed image data amount storage unit 6, a band data string spool unit 7, a compressed image data amount calculation unit 8, a band data amount calculation It comprises a unit 9, a data amount comparison unit 10, a compressed raster image generation unit 11, a previous compression ratio storage unit 12, a selector 13, and a print spooler 14.

【0013】本発明のシステムでは、印刷データを、例
えばバンドのようなブロックに分割して処理し、その処
理結果をプリンタ2に転送する。ここで、図1の各部の
機能を説明する前に、まずブロックへの分割の説明を行
う。
In the system of the present invention, print data is divided into blocks such as bands and processed, and the processing result is transferred to the printer 2. Here, before describing the function of each unit in FIG. 1, division into blocks will be described first.

【0014】図2は、ブロックの説明図である。図2
(a)に示す用紙20は、印刷データを印刷するため
の、例えばA4判といった一定の大きさの用紙とする。
この用紙上に印刷する印刷データは、例えば図に示すよ
うに8個のバンドB1〜B8に分割される。この副走査
方向の各バンドの幅がバンドの高さであり、ここでは用
紙20の高さを8等分したものになっている。図中、破
線の枠で示した部分には様々な文字データD11〜D1
5が印刷されるものとする。この文字データは、印刷デ
ータの段階では文字コードであり、イメージデータに変
換されると、それぞれ例えば16×16ドットのマトリ
クスから構成されるフォントデータとなる。
FIG. 2 is an explanatory diagram of a block. FIG.
The paper 20 shown in (a) is a paper of a fixed size such as A4 size for printing print data.
The print data to be printed on the paper is divided into, for example, eight bands B1 to B8 as shown in FIG. The width of each band in the sub-scanning direction is the height of the band, and here, the height of the paper 20 is divided into eight equal parts. In the figure, various character data D11 to D1
5 shall be printed. This character data is a character code at the stage of print data, and when converted into image data, becomes font data composed of, for example, a 16 × 16 dot matrix.

【0015】D2〜D7は、ベクトルデータである。ベ
クトルデータは、線図を描くために必要な情報を含む印
刷データである。従って、例えば直線の場合には始点と
終点、矩形の場合には2つの頂点、円形の場合には中心
と半径といった情報が含まれる。イメージデータに展開
された場合には、該当する部分を描画するビット列とな
る。図のD8はイメージデータである。アプリケーショ
ンが生成するデータには、このように文字データやベク
トルデータ、イメージデータ等が含まれる。
D2 to D7 are vector data. The vector data is print data including information necessary for drawing a line diagram. Therefore, for example, information such as a start point and an end point for a straight line, two vertices for a rectangle, and a center and a radius for a circle are included. When developed into image data, it becomes a bit string for drawing the corresponding portion. D8 in the figure is image data. The data generated by the application includes character data, vector data, image data, and the like as described above.

【0016】図1に示すバンド高さ記憶部3は、各バン
ドB1〜B8の高さを記憶する部分である。コマンド分
割部4は、バンド毎に印刷データを転送する場合、その
バンドのイメージデータを生成するために必要なコマン
ドだけを印刷データから取り出して処理する部分であ
る。例えば、今、図2に示すバンドB3についての処理
を行っている場合、データD3,D4,D5,D7及び
D13を生成するために必要なコマンドだけを選択し
て、PDLコマンドに置き換え、バンドデータ列スプー
ル部7に記憶させる処理を行う部分である。
The band height storage section 3 shown in FIG. 1 is a section for storing the height of each of the bands B1 to B8. When transferring print data for each band, the command dividing unit 4 is a unit that extracts only commands necessary for generating image data of the band from the print data and processes the commands. For example, when the processing for the band B3 shown in FIG. 2 is being performed, only commands necessary to generate the data D3, D4, D5, D7, and D13 are selected and replaced with PDL commands, and the band data This is a part for performing processing to be stored in the column spool unit 7.

【0017】なお、コマンド分割部4は、バンド高さ記
憶部3からバンド高さに相当する情報を例えば256ド
ットというようにして受け取り、自己のバンドの描画範
囲を認識して、印刷データの中から該当するコマンドを
選択する機能を持つ部分である。
The command division unit 4 receives information corresponding to the band height from the band height storage unit 3 in the form of, for example, 256 dots, recognizes the drawing range of its own band, and stores the information in the print data. This is a part that has a function of selecting a corresponding command from.

【0018】バンドデータ列スプール部7は、コマンド
分割部4から受け入れたバンド毎のコマンド群(バンド
データ列)を格納する部分である。このバンドデータ列
スプール部7は、パーソナルコンピュータの半導体メモ
リやハードディスク上に作成される。バンドデータ列ス
プール部7には、少なくとも1バンド分のコマンド群が
格納され、1ページ分のコマンドがバンド毎に区別され
て格納されることが好ましい。
The band data string spool section 7 is a section for storing a command group (band data string) for each band received from the command dividing section 4. The band data string spool unit 7 is created on a semiconductor memory or a hard disk of a personal computer. It is preferable that the band data string spool unit 7 stores a command group for at least one band, and stores commands for one page separately for each band.

【0019】用紙大きさ記憶部5は、印刷データが印刷
される用紙の大きさを、例えば縦横サイズ共にドット単
位で記憶するメモリにより構成される。従って、使用さ
れる用紙の縦と横のサイズを表示したテーブルデータ等
が記憶される。非圧縮イメージデータ量記憶部6は、印
刷される用紙の大きさを用紙大きさ記憶部5から読み取
り、バンド高さ記憶部3に記憶されたバンド高さに基づ
いて、非圧縮状態での1バンドの最大イメージデータ量
を計算し記憶する部分である。
The paper size storage unit 5 is constituted by a memory for storing the size of the paper on which the print data is printed, for example, in both vertical and horizontal sizes in dot units. Therefore, table data and the like indicating the vertical and horizontal sizes of the paper used are stored. The uncompressed image data amount storage unit 6 reads the size of the paper to be printed from the paper size storage unit 5 and, based on the band height stored in the band height storage unit 3, stores the 1 This part calculates and stores the maximum image data amount of the band.

【0020】バンドデータ量算出部9は、バンドデータ
列スプール部7に記憶された各バンド毎のコマンド群に
よるデータ量を算出する部分である。各コマンドのデー
タサイズを合計することによって算出できる。即ち、こ
れにより1バンド分のコマンドをPDL方式によってプ
リンタに転送する場合のデータ量が算出される。また、
圧縮イメージデータ量算出部8は、1バンド分のイメー
ジデータを圧縮してプリンタに転送する場合のデータ量
を計算する部分である。1バンド分のイメージデータ量
は、非圧縮イメージデータ量記憶部6に記憶されてい
る。
The band data amount calculation section 9 is a section for calculating the data amount based on the command group for each band stored in the band data string spool section 7. It can be calculated by summing the data size of each command. That is, the data amount when the command for one band is transferred to the printer by the PDL method is calculated. Also,
The compressed image data amount calculation unit 8 is a unit that calculates the amount of data when one band of image data is compressed and transferred to the printer. The amount of image data for one band is stored in the uncompressed image data amount storage unit 6.

【0021】ここでは、例えば初期値を圧縮率80パー
セントに設定しておく。従って、最初のバンドは非圧縮
イメージデータ量記憶部6に記憶されたデータ量の80
パーセントとして算出される。そして、2回目以降は、
前回圧縮率記憶部12に記憶された実際の圧縮後のデー
タ圧縮率に基づいて、圧縮イメージデータ量を算出す
る。一般に、データ圧縮の結果は、圧縮をしてみなけれ
ば正確にはわからない。従って、直前のバンドのデータ
圧縮率を参考にして次のバンドのイメージデータ量を計
算するのである。
Here, for example, the initial value is set to a compression ratio of 80%. Therefore, the first band has the data amount of 80 stored in the uncompressed image data amount storage unit 6.
Calculated as a percentage. And after the second time,
The amount of compressed image data is calculated based on the data compression rate after the actual compression stored in the previous compression rate storage unit 12. In general, the result of data compression is not exactly known without compression. Therefore, the image data amount of the next band is calculated with reference to the data compression ratio of the immediately preceding band.

【0022】なお、このような方法によらなくても、圧
縮アルゴリズムに応じた固定した圧縮率を使用して計算
をしてもよいし、過去の圧縮率の平均値を求めてこれを
不揮発性メモリに記憶しておき、その値を使用するとい
った様々な算出方法が考えられる。
The calculation may be performed using a fixed compression ratio according to the compression algorithm without using such a method, or an average value of the past compression ratios may be obtained and used as a nonvolatile value. Various calculation methods such as storing the values in a memory and using the values are conceivable.

【0023】こうして、1バンド分のイメージデータを
圧縮してプリンタ2に転送した場合のデータ量が求めら
れる。データ量比較部10は、圧縮イメージデータ量算
出部8で求めたデータ量と、バンドデータ量算出部9で
求めたデータ量とを比較する部分である。そして、その
比較結果に応じてPDL方式で1バンド分のデータを転
送するか、HBP方式で1バンド分のデータを転送する
かを判定する。その判定結果はセレクタ13に供給され
る。
In this manner, the amount of data when one band of image data is compressed and transferred to the printer 2 is obtained. The data amount comparison unit 10 is a unit that compares the data amount obtained by the compressed image data amount calculation unit 8 with the data amount obtained by the band data amount calculation unit 9. Then, according to the comparison result, it is determined whether to transfer one band of data by the PDL method or one band of data by the HBP method. The result of the determination is supplied to the selector 13.

【0024】圧縮ラスタイメージ生成部11は、HBP
方式でデータを転送する方がデータ量が少ないと判断さ
れた場合に、そのバンドのイメージデータを圧縮処理す
る部分である。一般に、データの圧縮処理には時間がか
かるため、まず圧縮後のイメージデータ量を予測して、
その予測結果に応じてPDL方式かHBP方式かを判定
し、HBP方式と判定された場合にのみイメージデータ
を圧縮するようにしている。
The compressed raster image generation unit 11
When it is determined that the amount of data to be transferred by the method is smaller, the image data of the band is compressed. Generally, data compression takes time, so first estimate the amount of image data after compression,
The PDL system or the HBP system is determined according to the prediction result, and the image data is compressed only when the HBP system is determined.

【0025】セレクタ13は、データ量比較部10の出
力を制御端子に受け入れて、圧縮ラスタイメージ生成部
11から入力する信号と、バンドデータ列スプール部7
から入力する信号のいずれか一方を選択して、プリント
スプーラ14に出力する機能を持つ部分である。HBP
方式がよいと判定された場合には、圧縮ラスタイメージ
生成部11の出力をプリントスプーラ14に送る。ま
た、PDL方式がよいと判定された場合には、バンドデ
ータ列スプール部7に記憶された1バンド分のデータを
選択してプリントスプーラ14に送る。
The selector 13 receives the output of the data amount comparison unit 10 at the control terminal, and outputs the signal input from the compressed raster image generation unit 11 and the band data string spool unit 7
Is a part having a function of selecting one of the signals input from the printer and outputting the selected signal to the print spooler 14. HBP
If the method is determined to be good, the output of the compressed raster image generation unit 11 is sent to the print spooler 14. When it is determined that the PDL method is good, the data for one band stored in the band data string spool unit 7 is selected and sent to the print spooler 14.

【0026】プリントスプーラ14には、こうして各バ
ンド毎にPDL方式かあるいはHBP方式のいずれかで
処理されたデータが記憶される。そして、所定のタイミ
ングでプリンタ2に転送される。なお、プリンタ2にお
いて、どの方式で処理されたデータかを判定するため
に、バンド毎にそのバンドのデータの先頭部分あるいは
適当な属性データを記録する部分に、どの方式で処理さ
れたデータかを示す識別子等を付加しておくことが好ま
しい。
The print spooler 14 stores data processed by either the PDL system or the HBP system for each band. Then, the data is transferred to the printer 2 at a predetermined timing. In the printer 2, in order to determine which type of data has been processed, the head of the data of that band or a part where appropriate attribute data is recorded for each band indicates which type of data has been processed. Preferably, an identifier or the like is added.

【0027】図3に、具体例1のシステム動作フローチ
ャートを示す。まず、ステップS1において、図1に示
すアプリケーションプログラム1が、コマンドを発行す
る。次に、ステップS2において、上記コマンド分割部
4はそのコマンドを解析し、バンドの高さ等を基にバン
ドの境界でコマンドを選別し分割する。ステップS3に
おいて、バンド毎にPDLコマンドに変換をし、図1に
示すバンドデータ列スプール部7に記憶する。
FIG. 3 shows a system operation flowchart of the first embodiment. First, in step S1, the application program 1 shown in FIG. 1 issues a command. Next, in step S2, the command division unit 4 analyzes the command, selects and divides the command at a band boundary based on the height of the band, and the like. In step S3, the data is converted into a PDL command for each band and stored in the band data string spool unit 7 shown in FIG.

【0028】次のステップS4で最後のコマンドかどう
かを判断し、最後のコマンドでなければステップS1に
戻る。この要領で、アプリケーションから順番に印刷デ
ータに含まれる各コマンドを受信する。全てのコマンド
について受信が終了すると、ステップS5に進み、最初
のバンドから、PDL方式にするかHBP方式にするか
の判断を行う。即ち、バンドが複雑かどうかを判断し、
複雑であればステップS6に進み、図1の圧縮ラスタイ
メージ生成部11において、ラスタイメージを生成す
る。そして、ステップS7において、圧縮ラスタイメー
ジへの置き換えを行い、ステップS8において、プリン
トスプーラ14にそのデータを送り出す。
In the next step S4, it is determined whether or not the command is the last command. If not, the process returns to step S1. In this manner, each command included in the print data is sequentially received from the application. When reception of all commands is completed, the process proceeds to step S5, and it is determined whether to use the PDL system or the HBP system from the first band. That is, determine whether the band is complex,
If it is complicated, the process proceeds to step S6, where a raster image is generated in the compressed raster image generation unit 11 of FIG. Then, in step S7, the data is replaced with a compressed raster image, and in step S8, the data is sent to the print spooler 14.

【0029】バンドが複雑かどうかの判断は、既に図1
を用いて説明した通り、データ量比較部10において行
われる。ステップS9では、最後のバンドかどうかを判
断し、例えば1ページ8バンドであれば8回、ステップ
S5〜ステップS9の処理を繰り返す。
The determination as to whether or not the band is complex has already been made in FIG.
Is performed in the data amount comparison unit 10 as described with reference to FIG. In step S9, it is determined whether or not the band is the last band. For example, if the band is 8 bands per page, the processes of steps S5 to S9 are repeated eight times.

【0030】〈具体例1の効果〉例えば、図2の(a)
に示す用紙20を見た場合に、例えばバンドB3は、ベ
クトルデータD3,D4,D5,D7及び文字データD
13を描画するといった構成になっており、多数のコマ
ンドが含まれる。従って、こうしたバンドでは、コマン
ドをPDLコマンドに変換してプリンタに送信するより
もイメージデータに変換処理をして、これを圧縮して転
送した方がデータ量が少なくなると考えられる。従っ
て、この部分では、HBP方式のデータ転送が行われ
る。
<Effect of Specific Example 1> For example, FIG.
When the paper 20 shown in FIG. 1 is viewed, for example, the band B3 includes the vector data D3, D4, D5, D7 and the character data D.
13 is drawn, and includes a large number of commands. Therefore, in such a band, it is considered that the data amount is smaller when the command is converted into image data and the data is compressed and transferred than when the command is converted into the PDL command and transmitted to the printer. Therefore, in this part, the data transfer of the HBP method is performed.

【0031】逆に、バンドB1のように文字データD1
1のみが含まれるような部分では、イメージデータに変
換後のものを転送するより、少量の文字データ表示用コ
マンドを転送した方が十分にデータ転送量が少なくな
る。
Conversely, character data D1 like band B1
In a portion where only 1 is included, a small amount of character data display commands are transferred less than a transfer of image data after the conversion, and the data transfer amount is sufficiently reduced.

【0032】以上のように、ページをバンド単位に分割
して、バンド毎にデータ転送方式を切り換えるので、文
書の内容に関わらず転送データ量を可能な限り少なくす
ることができる。しかも、イメージデータの圧縮を行わ
ないバンドにおいては、イメージデータ圧縮処理が不要
なため、データ処理のための合計時間も十分に短縮する
ことができる。
As described above, since a page is divided into bands and the data transfer method is switched for each band, the transfer data amount can be reduced as much as possible regardless of the contents of the document. Moreover, in a band in which image data is not compressed, the image data compression processing is not required, so that the total time for data processing can be sufficiently reduced.

【0033】〈具体例2〉図4は、具体例2のシステム
を示すブロック図である。このシステムは、具体例1の
コマンド分割部4、バンド高さ記憶部3、バンドデータ
列スプール部7、バンドデータ量算出部9等の部分を変
更したものである。即ち、アプリケーションプログラム
1の出力する印刷データは、コマンド分割部22に入力
し、ブロックデータ列スプール部23にブロック毎のコ
マンドが入力するように構成されている。
FIG. 4 is a block diagram showing a system according to a second embodiment. This system is obtained by changing the command division unit 4, the band height storage unit 3, the band data string spool unit 7, the band data amount calculation unit 9, and the like of the first embodiment. That is, the print data output from the application program 1 is input to the command division unit 22, and a command for each block is input to the block data string spool unit 23.

【0034】また、具体例1のバンド高さ記憶部3の代
わりにブロック決定部21が設けられ、バンドデータ量
算出部9の代わりにブロックデータ量算出部24が設け
られている。
Further, a block determining unit 21 is provided instead of the band height storage unit 3 of the first embodiment, and a block data amount calculating unit 24 is provided instead of the band data amount calculating unit 9.

【0035】図2(b)は、具体例2の動作原理を説明
する図面である。ここでは、用紙を任意の矩形により2
つのブロックR1,R2に区分している。この領域の形
や広さ等は自由に選定して差し支えない。選定はオペレ
ータがマウス等を操作して行えば良い。また、例えば図
の例のように、余白とイメージの集中している部分との
判別が容易な場合、自動的に矩形その他の領域決定がで
きる。図に示すような矩形領域の設定ならば、自動制御
が容易である。この具体例は、特に用紙の一部にのみ描
画すべき図形が集中しているような場合、図形が集中し
ている部分のみはイメージデータを圧縮してHBP方式
でデータを転送し、その他の部分はPDL方式でデータ
を転送しようというものである。
FIG. 2B is a diagram for explaining the operation principle of the second embodiment. Here, the paper is set to 2 by an arbitrary rectangle.
Are divided into two blocks R1 and R2. The shape and size of this area can be freely selected. The selection may be made by an operator operating a mouse or the like. Further, for example, when it is easy to determine the margin and the portion where the image is concentrated as in the example in the figure, the rectangle and other areas can be automatically determined. If a rectangular area is set as shown in the figure, automatic control is easy. In this specific example, especially when a figure to be drawn is concentrated only on a part of the paper, only the part where the figure is concentrated is compressed by the image data and the data is transferred by the HBP method. The part is to transfer data by the PDL method.

【0036】複雑な文書では狭い領域内に多数のコマン
ドを用いてイメージの重ね書きを繰り返しているものが
多いので、こうした方法を採る。この場合、多数のオブ
ジェクトが集中している部分を最小の矩形で取り囲むよ
うにする。縦方向に平行な直線と横方向に平行な直線
が、それぞれ描画される各種の図形と初めて交差する場
所を探す処理を、上下左右の端から合計4回実行するこ
とによって、この矩形が決まる。例えば横方向の直線を
用紙の上端部分から下へ下ろしていきながら、いずれか
の図形と交差した接点を見つけたとき、その位置を矩形
の上辺とする。
In many cases, a complicated document repeatedly overwrites an image using a large number of commands in a narrow area. In this case, a portion where many objects are concentrated is surrounded by a minimum rectangle. This rectangle is determined by executing a process of searching for a place where a straight line parallel to the vertical direction and a straight line parallel to the horizontal direction intersect each of the various figures to be drawn for the first time from the upper, lower, left and right ends a total of four times. For example, when a horizontal straight line is lowered from the upper end portion of the sheet and a contact point intersecting with one of the figures is found, the position is set as the upper side of the rectangle.

【0037】水平な直線を下端から上に移動させながら
図形との接点を見つければ矩形の下辺となる。図4に示
すブロック決定部21は、こうした処理を実行すること
によって矩形ブロックR2を決定すると共に、そのブロ
ックを、例えば具体例1と同様にドット数や座標値等に
よってコマンド分割部22に通知する。コマンド分割部
22はこの情報に従って、上記ブロックR1を描画する
ためのコマンド群とブロックR2を描画するためのコマ
ンド群とに分割する。そして、ブロック毎にブロックデ
ータ列スプール部23にPDLコマンドを格納する。
If the point of contact with the figure is found while moving the horizontal straight line upward from the lower end, it becomes the lower side of the rectangle. The block determining unit 21 illustrated in FIG. 4 determines the rectangular block R2 by executing such processing, and notifies the command dividing unit 22 of the block by, for example, the number of dots, the coordinate value, and the like as in the first specific example. . The command division unit 22 divides the command into a command group for drawing the block R1 and a command group for drawing the block R2 according to this information. Then, the PDL command is stored in the block data string spool unit 23 for each block.

【0038】ここで、例えばこの例では、図2(b)に
示すように、ブロックR1のデータ量が多ければHBP
方式で転送し、ブロックR2は無条件でPDL方式でデ
ータを転送するものとする。この場合、ブロックR1に
ついては、図1を用いて説明したのと同様の機能を持つ
ブロックデータ列スプール部23からそのブロックR1
のコマンド群を取り出す。ブロック決定部21はセレク
タ13を制御して、ブロックデータ列スプール部23の
出力をプリントスプーラ14に出力させる。
Here, for example, in this example, if the data amount of the block R1 is large, as shown in FIG.
The block R2 transfers data unconditionally by the PDL method. In this case, regarding the block R1, the block data string spool unit 23 having the same function as described with reference to FIG.
Command group. The block determining section 21 controls the selector 13 to output the output of the block data string spool section 23 to the print spooler 14.

【0039】一方、ブロックR2の処理をする場合に
は、具体例1と全く同様の判断を行う。即ち、非圧縮イ
メージデータ量記憶部6において、ブロックR2のイメ
ージデータ量が、ブロック決定部21や用紙大きさ記憶
部5に記憶された情報により算出される。更に、ブロッ
クR2のイメージデータを圧縮してプリンタ2に転送し
た場合のデータ量が求められる。データ量比較部10
は、圧縮イメージデータ量算出部8で求めたデータ量
と、バンドデータ量算出部9で求めたデータ量とを比較
する。そして、その比較結果に応じてPDL方式でブロ
ックR2のデータを転送するか、HBP方式でブロック
R2のデータを転送するかを判定する。ブロック決定部
21はその判定結果によりセレクタ13を制御する。
On the other hand, when processing the block R2, the same judgment as in the first embodiment is performed. That is, in the uncompressed image data amount storage unit 6, the image data amount of the block R2 is calculated based on the information stored in the block determination unit 21 and the sheet size storage unit 5. Further, the data amount when the image data of the block R2 is compressed and transferred to the printer 2 is obtained. Data amount comparison unit 10
Compares the data amount obtained by the compressed image data amount calculation unit 8 with the data amount obtained by the band data amount calculation unit 9. Then, according to the comparison result, it is determined whether to transfer the data of the block R2 by the PDL method or to transfer the data of the block R2 by the HBP method. The block determining unit 21 controls the selector 13 based on the determination result.

【0040】図5に、具体例2のシステム動作フローチ
ャートを示す。まず、図4に示したアプリケーションプ
ログラム1がコマンドを発行すると、これを図示しない
一時ファイルに記憶する(ステップS1)。その一時フ
ァイルは、上位装置の所定の記憶領域に確保される。ブ
ロック決定部21は、そのコマンドを解析して重ね書き
をチェックし、図2(b)を用いて説明した要領で矩形
領域を設定する(ステップS2)。そして、ステップS
3において、矩形の境界で印刷データを分割する。
FIG. 5 shows a system operation flowchart of the second embodiment. First, when the application program 1 shown in FIG. 4 issues a command, the command is stored in a temporary file (not shown) (step S1). The temporary file is secured in a predetermined storage area of the host device. The block determination unit 21 analyzes the command to check for overwriting, and sets a rectangular area as described with reference to FIG. 2B (step S2). And step S
In 3, the print data is divided at the rectangular boundary.

【0041】ステップS4では、分割したイメージデー
タを、それぞれPDLコマンドに変換する。ステップS
5では、最後の命令かどうかを判断し、ステップS3〜
ステップS4の処理を繰り返す。こうして、ブロックR
1とブロックR2のコマンド群がそれぞれ決定される。
なお、例えばそれぞれ別々のコマンドによって制御され
るイメージが5個以上重ね書きされている場合には、こ
の部分のイメージが複雑であろうと仮定してその領域を
取り囲む矩形を設定する。矩形の数も大きさも形状も任
意である。もちろんその矩形は、用紙の中央部分でも用
紙の端の部分でも構わない。用紙の辺がその矩形の辺と
重なり合っていてもよい。
In step S4, each of the divided image data is converted into a PDL command. Step S
In step 5, it is determined whether or not the instruction is the last instruction.
Step S4 is repeated. Thus, block R
1 and the command group of the block R2 are determined.
If, for example, five or more images controlled by different commands are overwritten, a rectangle surrounding the area is set on the assumption that the image of this part will be complicated. The number, size, and shape of the rectangles are arbitrary. Of course, the rectangle may be a central portion of the sheet or an edge portion of the sheet. The sides of the paper may overlap the sides of the rectangle.

【0042】次に、ステップS6に移り、まず初めに、
矩形で囲まれた即ち図2の例でいけばブロックR2以外
の部分のブロックR1のコマンドをブロックデータ列ス
プール部23からセレクタ13を通じてプリントスプー
ラ14に転送する。次に、ステップS7において、矩形
で囲まれた領域が複雑であるかどうかを判断する。複雑
かどうかの判断は具体例1と同様である。
Next, the process proceeds to step S6, and first,
In the example of FIG. 2, the command of the block R1 other than the block R2 is transferred from the block data sequence spool unit 23 to the print spooler 14 through the selector 13. Next, in step S7, it is determined whether the area surrounded by the rectangle is complicated. The determination of the complexity is the same as in the first embodiment.

【0043】ステップS7,S8,S9,S10は、図
3のステップS5,S6,S7,S8と対応し、これら
と全く同一の処理を行う。即ち、ブロック決定部におい
て、用紙の任意の領域を矩形で取り囲み、その部分とそ
れ以外の部分とを区別して、複雑なイメージの重なりが
ない部分はそのままコマンドを転送するようにし、それ
以外の部分はイメージデータに変換した場合とそうでな
い場合とを比較して、具体例1と同様の転送制御を行
う。
Steps S7, S8, S9 and S10 correspond to steps S5, S6, S7 and S8 in FIG. 3, and perform exactly the same processing as these. That is, the block determination unit encloses an arbitrary area of the sheet with a rectangle, distinguishes that part from the other part, and transfers the command as it is to the part where there is no complicated image overlap. Performs the same transfer control as in the first embodiment by comparing the case where the image data is converted into the image data and the case where the image data is not converted.

【0044】なお、初めから矩形で囲んだ部分は複雑な
部分と判断し、無条件でその部分はイメージデータに変
換して圧縮データを転送するといった方法としてもよ
い。この場合には、図4において、ブロック決定部2
1、コマンド分割部22、ブロックデータ列スプール部
23と、圧縮ラスタイメージ生成部11及びセレクタ1
3、プリントスプーラ14があればよく、その他のデー
タ例比較のための機能ブロックは不要となる。
It should be noted that a method may be adopted in which a portion surrounded by a rectangle from the beginning is determined to be a complicated portion, and the portion is unconditionally converted into image data and compressed data is transferred. In this case, in FIG.
1, command division unit 22, block data string spool unit 23, compressed raster image generation unit 11, and selector 1
3. The print spooler 14 only needs to be provided, and other functional blocks for comparing data examples are not required.

【0045】なお、上記具体例1及び具体例2では、い
ずれもそれぞれ所定の機能ブロックを組み合わせた構成
で説明したが、これらは全てプリンタドライバを構成す
るプログラムモジュールによって構成されていても差し
支えない。従って、上記の動作を実行するコンピュータ
プログラムを、コンピュータ読み取り可能な記憶媒体に
記憶させて、パーソナルコンピュータ等にインストール
して、本発明を実現することができる。
Although the specific examples 1 and 2 have been described in terms of a configuration in which predetermined functional blocks are combined, they may be all configured by a program module that forms a printer driver. Therefore, the present invention can be realized by storing a computer program for executing the above operation in a computer-readable storage medium and installing the program in a personal computer or the like.

【0046】〈具体例2の効果〉以上の具体例2のシス
テムは、用紙中のイメージデータが複雑に重なっている
ような部分を選択して所定の領域を設定し、その部分を
イメージデータに変換し圧縮して転送すると共に、その
他の部分はコマンドでそのままプリンタに転送するとい
う方式を採用することができるため、具体例1と同様に
文書の内容に関わらず転送データ量を最小にすることが
できる。
<Effect of Specific Example 2> The system of the specific example 2 selects a portion where the image data on the paper overlaps in a complicated manner, sets a predetermined area, and converts the portion into the image data. Since it is possible to adopt a method in which the data is converted, compressed and transferred, and the other parts are transferred to the printer by using commands, the transfer data amount is minimized irrespective of the content of the document as in the first embodiment. Can be.

【0047】この具体例は、特に1枚の用紙の一部に複
雑な図形が集中しているような場合に効果的である。こ
うした領域のイメージが複雑であるかどうかは、コマン
ドの種類や重ね書きの種類、例えば文字や直線かどう
か、あるいは複雑な多角形かどうかといった判断や、重
ね書き、上書き、アンド、オアといった描画制御のため
の手順も含めて判断の基準にすることができる。
This specific example is effective particularly when complicated figures are concentrated on a part of one sheet. The complexity of the image in such an area is determined by the type of command and the type of overwriting, for example, whether it is a character, a line, or a complex polygon, and drawing control such as overwriting, overwriting, and, or OR. Can be used as a criterion for determination, including procedures for

【図面の簡単な説明】[Brief description of the drawings]

【図1】具体例1の印刷データ転送システムブロック図
である。
FIG. 1 is a block diagram of a print data transfer system according to a first embodiment.

【図2】ブロックの説明図である。FIG. 2 is an explanatory diagram of a block.

【図3】具体例1のシステム動作フローチャートであ
る。
FIG. 3 is a system operation flowchart of a specific example 1;

【図4】具体例2の印刷データ転送システムブロック図
である。
FIG. 4 is a block diagram of a print data transfer system according to a second embodiment;

【図5】具体例2のシステム動作フローチャートであ
る。
FIG. 5 is a system operation flowchart of a specific example 2;

【符号の説明】[Explanation of symbols]

1 アプリケーションプログラム 2 プリンタ 3 バンド高さ記憶部 4 コマンド分割部 5 用紙大きさ記憶部 6 非圧縮イメージデータ量記憶部 7 バンドデータ列スプール部 8 圧縮イメージデータ量算出部 9 バンドデータ量算出部 10 データ量比較部 11 圧縮ラスタイメージ生成部 12 前回圧縮率記憶部 13 セレクタ 14 プリントスプーラ REFERENCE SIGNS LIST 1 application program 2 printer 3 band height storage unit 4 command division unit 5 paper size storage unit 6 uncompressed image data amount storage unit 7 band data string spool unit 8 compressed image data amount calculation unit 9 band data amount calculation unit 10 data Amount comparison unit 11 Compressed raster image generation unit 12 Previous compression ratio storage unit 13 Selector 14 Print spooler

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 印刷データを複数のブロックに分割し
て、上位装置からプリンタに前記ブロック毎に印刷デー
タを転送するシステムにおいて、 上位装置は、 前記ブロック毎に、そのブロックのデータ量と、そのブ
ロックをイメージデータに変換して転送用に圧縮した後
のデータ量とを比較するデータ量比較部と、 データ量比較部の比較結果を受け入れて、ブロックのデ
ータ量の方が多いときは、そのブロックをイメージデー
タに変換してから圧縮してプリンタに転送し、ブロック
のデータ量の方が多くないときは、そのブロックをイメ
ージデータに変換する前の状態でプリンタに転送するセ
レクタを備えたことを特徴とする印刷データ転送システ
ム。
1. A system for dividing print data into a plurality of blocks and transferring print data for each block from a higher-level device to a printer, wherein the higher-level device includes, for each of the blocks, a data amount of the block; A data amount comparison unit that converts a block into image data and compares the data amount after compression for transfer, and accepts a comparison result of the data amount comparison unit. Providing a selector that converts blocks to image data, compresses them and transfers them to the printer, and transfers the blocks to the printer before converting the blocks to image data if the data amount of the blocks is not large A print data transfer system.
【請求項2】 請求項1に記載の印刷データ転送システ
ムにおいて、 前記ブロックは、印刷ページを主走査方向に等分割した
バンドであることを特徴とする印刷データ転送システ
ム。
2. The print data transfer system according to claim 1, wherein the block is a band obtained by equally dividing a print page in a main scanning direction.
【請求項3】 請求項1に記載の印刷データ転送システ
ムにおいて、 前記ブロックは、印刷ページ中の任意の形状の領域であ
ることを特徴とする印刷データ転送システム。
3. The print data transfer system according to claim 1, wherein the block is an area of an arbitrary shape in a print page.
【請求項4】 請求項1に記載の印刷データ転送システ
ムにおいて、 前記ブロックのデータ量は、当該ブロック中での描画を
制御するコマンドのサイズとコマンド数により算出され
ることを特徴とする印刷データ転送システム。
4. The print data transfer system according to claim 1, wherein the data amount of the block is calculated based on the size and the number of commands for controlling drawing in the block. Transfer system.
【請求項5】 請求項1に記載の印刷データ転送システ
ムにおいて、 前記ブロックのデータ量は、当該ブロック中で描画され
るオブジェクトの重なり量により算出されることを特徴
とする印刷データ転送システム。
5. The print data transfer system according to claim 1, wherein the data amount of the block is calculated based on an overlap amount of objects drawn in the block.
JP11011427A 1999-01-20 1999-01-20 Print data transfer system Pending JP2000207147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11011427A JP2000207147A (en) 1999-01-20 1999-01-20 Print data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11011427A JP2000207147A (en) 1999-01-20 1999-01-20 Print data transfer system

Publications (1)

Publication Number Publication Date
JP2000207147A true JP2000207147A (en) 2000-07-28

Family

ID=11777786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11011427A Pending JP2000207147A (en) 1999-01-20 1999-01-20 Print data transfer system

Country Status (1)

Country Link
JP (1) JP2000207147A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007144648A (en) * 2005-11-24 2007-06-14 Fuji Xerox Co Ltd Printer, its controlling method, and printing system
US7535589B2 (en) 2003-05-02 2009-05-19 Canon Kabushiki Kaisha Print control apparatus, print control method and printing system
JP2013089011A (en) * 2011-10-18 2013-05-13 Ricoh Co Ltd Print data generation program, printing system and printing method
JP2014197740A (en) * 2013-03-29 2014-10-16 セイコーエプソン株式会社 Print control device and print control program
JP2015032238A (en) * 2013-08-06 2015-02-16 セイコーエプソン株式会社 Print controller, print control method, and print control program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7535589B2 (en) 2003-05-02 2009-05-19 Canon Kabushiki Kaisha Print control apparatus, print control method and printing system
JP2007144648A (en) * 2005-11-24 2007-06-14 Fuji Xerox Co Ltd Printer, its controlling method, and printing system
JP2013089011A (en) * 2011-10-18 2013-05-13 Ricoh Co Ltd Print data generation program, printing system and printing method
JP2014197740A (en) * 2013-03-29 2014-10-16 セイコーエプソン株式会社 Print control device and print control program
JP2015032238A (en) * 2013-08-06 2015-02-16 セイコーエプソン株式会社 Print controller, print control method, and print control program

Similar Documents

Publication Publication Date Title
EP0622755B1 (en) Page printer having improved system for receiving and printing raster pixel image data from a host computer
US6891632B2 (en) Method and apparatus for selecting print strategy for optimal performance
US6665081B1 (en) Print system printer driver and printer
US20120105873A1 (en) Information processing apparatus, information processing method and printing control method
EP0772115B1 (en) System, output device, method, and computer-usable medium using a split printer driver to control a computer printer device
JP2000238349A (en) Image forming apparatus and method
EP0820004B1 (en) Print system, print method, printer driver and printer
US7103833B1 (en) Image processing apparatus, output apparatus, image processing system and image processing method
JP2000207147A (en) Print data transfer system
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
KR100477777B1 (en) Method, system, program, and data structure for generating raster objects
US6738150B1 (en) Methods and systems for processing image data
JP4461361B2 (en) Drawing processing method and program, drawing command output device and image forming apparatus
JP2006293561A (en) Printer driver and its printer system
JP2004030386A (en) Image processing method and image processor
US7170616B2 (en) Print processing and method for banding areas and pages of each physical color
JP3432205B2 (en) Information processing apparatus, data processing method, and print control system
JP2002096506A (en) Rasterizing method, print controller, print system, and medium having program recorded therein
JP2005275671A (en) Printing controller, printing control method and printing control program-recorded medium
JP4259328B2 (en) Image processing apparatus, printer, and method for reading stored data
JPH06262810A (en) Image processing device
JPH10337934A (en) Method and system for forming image
JP3686490B2 (en) System and method using variable binarization for printer driver architecture
JP4467715B2 (en) Image output control apparatus and method
JP3450958B2 (en) Printing apparatus and printing method