JP2001277613A - Apparatus and method for image processing - Google Patents
Apparatus and method for image processingInfo
- Publication number
- JP2001277613A JP2001277613A JP2000100006A JP2000100006A JP2001277613A JP 2001277613 A JP2001277613 A JP 2001277613A JP 2000100006 A JP2000100006 A JP 2000100006A JP 2000100006 A JP2000100006 A JP 2000100006A JP 2001277613 A JP2001277613 A JP 2001277613A
- Authority
- JP
- Japan
- Prior art keywords
- data
- generating
- procedure
- conversion
- header
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000012545 processing Methods 0.000 title claims description 78
- 238000006243 chemical reaction Methods 0.000 claims description 59
- 238000009877 rendering Methods 0.000 claims description 19
- 238000003672 processing method Methods 0.000 claims description 12
- 239000000872 buffer Substances 0.000 abstract description 42
- 230000008569 process Effects 0.000 abstract description 27
- 230000014759 maintenance of location Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 36
- 230000008859 change Effects 0.000 description 27
- 238000012546 transfer Methods 0.000 description 21
- 238000007906 compression Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 239000003086 colorant Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 210000000078 claw Anatomy 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 101150017296 ddi-1 gene Proteins 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、画像処理装置およ
び方法に関する。[0001] The present invention relates to an image processing apparatus and method.
【0002】[0002]
【従来の技術】従来から、印刷システムとしては、一般
的には、図11に示すように、セントロニクスインタフ
ェースのようなパラレル通信手段や、ネットワーク通信
手段を介して、ホストコンピュータ200とレーザビー
ムプリンタ100とが接続されたものが知られている。2. Description of the Related Art Conventionally, as a printing system, generally, as shown in FIG. 11, a host computer 200 and a laser beam printer 100 are connected via parallel communication means such as a Centronics interface or network communication means. Are connected.
【0003】ホストコンピュータ200では、ワードプ
ロセッサや表計算のようなアプリケーションソフトウェ
ア201がWindows(登録商標)のようないわゆる基本
ソフトの上で動作している。このようなアプリケーショ
ンから印刷を行うには、そのプログラム内から、基本ソ
フトにより提供されるいくつかのサブシステムのうちグ
ラフィックサブシステム202の機能を用いて行う。こ
のグラフィックサブシステムは、例えばWindowsでは、
GDI(Graphic Device Interface)2021と呼ばれ
ており、ディスプレイやプリンタに対する画像情報の処
理を司っている。GDI2021はディスプレイやプリ
ンタのような各デバイスごとの依存性を吸収するため
に、デバイスドライバと呼ばれるモジュールが動的にリ
ンクされ、各デバイスに対する出力処理を行う。In the host computer 200, application software 201 such as a word processor or a spreadsheet operates on so-called basic software such as Windows (registered trademark). Printing from such an application is performed by using the function of the graphic subsystem 202 among several subsystems provided by the basic software from within the program. This graphics subsystem, for example on Windows,
It is called a GDI (Graphic Device Interface) 2021 and manages processing of image information for a display and a printer. In the GDI 2021, a module called a device driver is dynamically linked to perform output processing for each device in order to absorb the dependence of each device such as a display and a printer.
【0004】プリンタに対するこのモジュールはプリン
タドライバ2023と呼ばれる。このプリンタドライバ
2023では、その能力や機能等に応じて予めデバイス
ドライバに実装することが決められている関数群(DD
I(Device Dreve Interface)2022と呼ばれる)を
用意する必要がある。This module for a printer is called a printer driver 2023. In the printer driver 2023, a function group (DD) that is determined in advance to be installed in a device driver in accordance with the capability, function, and the like is set.
I (called Device Dreve Interface) 2022).
【0005】アプリケーションソフトウェァのAP1
(Application Programing Interface)コールを、GD
I2021がデバイスドライバ用にデータ変換を行い、
DDI2022が、適宜、GDI2021からコールさ
れ、所定の印刷処理が実行されるような仕組みになって
いる。GDI2021では、このように、プリンタドラ
イバ2023を介して、アプリケーションからの印刷要
求をシーケンシャルに処理している。一般的には、この
ようにOS(operaating system)の枠組内のプリンタ
ドライバ2023で、PDL(Page Description Langu
age)コマンドを生成したり、イメージモードとしてレ
ンダリング処理を行う。[0005] Application software AP1
(Application Programming Interface) call to GD
I2021 performs data conversion for the device driver,
The DDI 2022 is appropriately called from the GDI 2021 to execute a predetermined print process. As described above, the GDI 2021 sequentially processes a print request from an application via the printer driver 2023. Generally, the PDL (Page Description Language) is stored in the printer driver 2023 in the framework of the operating system (OS).
age) command is generated, and rendering processing is performed in the image mode.
【0006】イメージモード時のバンディング処理を独
自で行う逆順印刷等のページハンドリング処理、処理モ
ード自動切り換え等は、OSがサポートしていない機能
である。このような機能を追加するには、プリンタドラ
イバ2023は受け取った描画命令から中間言語ファイ
ル(PDF(portable document format)2031)の
みを生成し、アプリケーションであるスプールサブシス
テム203のデスプーラ2032によりPDF2031
を読み込む仕組みが考えられる。The page handling processing such as reverse printing, which independently performs banding processing in the image mode, and the automatic switching of processing modes are functions that are not supported by the OS. In order to add such a function, the printer driver 2023 generates only an intermediate language file (PDF (portable document format) 2031) from the received drawing command, and the PDF 2031 is generated by the despooler 2032 of the spool subsystem 203 as an application.
There is a mechanism for reading.
【0007】プリンタドライバの処理はPDLモード系
トランスレータ2033と、イメージモード系トランス
レータ2034〜2036の2種類に大別できる。The processing of the printer driver can be roughly classified into two types: a PDL mode translator 2033 and image mode translators 2034 to 2036.
【0008】PDLモード系トランスレータ2033は
印刷装置側にPDLと呼ばれる制御コマンドを処理可能
なコントローラを搭載するもの向けであり、PDF20
31からPDLのコマンドに変換し次第、インタフェー
ス(I/F)2038を介してプリンタに送出する。The PDL mode translator 2033 is intended for a printer in which a controller capable of processing control commands called PDL is mounted on the printing apparatus side.
As soon as the command is converted from P.31 to PDL command, the command is sent to the printer via the interface (I / F) 2038.
【0009】PDLモード時の処理はDDI2022で
受け取ったデータをシーケンシャルにコマンド生成する
だけなので、ドライバにとっては軽い処理といえる。P
DLモードタイプの特徴として、プリンタのPDLコマ
ンド解析能力が高ければ、GDI2021から受け取っ
た抽象度の高いデータをそのまま送出するため、文字中
心の通常ページ印刷は出力階調に関わらず高速である。The processing in the PDL mode is a light processing for the driver because it only generates commands sequentially from the data received by the DDI 2022. P
As a feature of the DL mode type, if the PDL command analysis capability of the printer is high, data with a high degree of abstraction received from the GDI 2021 is transmitted as it is, so that normal page printing centered on characters is fast regardless of the output gradation.
【0010】しかし、グラフィックス系アプリケーショ
ンで複雑な図形、高解像度、高階調イメージを出力しよ
うとすると、PDLコマンドは大きくなり、転送速度、
プリンタの処理速度が落ちる。理論的には、PDLコマ
ンドサイズに上限はない。However, when attempting to output a complicated figure, high resolution, and high gradation image in a graphics application, the PDL command becomes large, and the transfer speed,
The processing speed of the printer decreases. In theory, there is no upper limit on the PDL command size.
【0011】一方、イメージモードでは、プリンタドラ
イバ2023側で確保したバンドメモリ空間上に印刷イ
メージの展開を行い、それを印刷装置で直接印刷できる
形態に変換し、印刷装置に送り印刷するものである。On the other hand, in the image mode, a print image is developed on the band memory space secured by the printer driver 2023, converted into a form that can be directly printed by the printing apparatus, and sent to the printing apparatus for printing. .
【0012】イメージモードタイプの特徴として、転送
データサイズは描画面積と出力階調数で決まるため、簡
単なページでも、複雑なページでも、転送速度、プリン
タの処理時間は変わらない。そこで、PDLモードで、
処理時間のかかるページに対して比較的高速な印刷が可
能であるが、文字だけの簡単なページに対しては、プリ
ンタをエンジンスループットで動かすことは難しい。As a feature of the image mode type, since the transfer data size is determined by the drawing area and the number of output gradations, the transfer speed and the processing time of the printer do not change even for a simple page or a complicated page. So, in PDL mode,
Although relatively high-speed printing is possible for pages that require processing time, it is difficult to operate the printer at engine throughput for simple text-only pages.
【0013】デスプーラ2032はPDF2031をデ
スプールする際に、適当な高さに分割したバンドメモリ
を用い、複数回に分けて描画位置に関係する描画命令を
イメージモード系トランスレータ2034〜2036に
渡して描画処理を行う。生成されたビットマップデータ
はバンドごとにインタフェース2038を介してレーザ
ビームプリンタ100に送出される。When despooling the PDF 2031, the despooler 2032 uses a band memory divided into appropriate heights and passes a drawing command related to a drawing position in a plurality of times to the image mode translators 2034 to 2036 for drawing processing. I do. The generated bitmap data is transmitted to the laser beam printer 100 via the interface 2038 for each band.
【0014】イメージモードの特徴として、高解像度カ
ラーイメージや複雑なグラフィックスデータの描画処理
が高速である。これに対して、文字や簡単な図形でも、
描画領域全体のイメージデータを出力解像度、出力階調
で生成し、印刷コマンドとして送出するため、高解像
度、高階調ページの高速印刷は苦手である。ただし、カ
ラー印刷をする場合、描画用ページメモリを1ページ分
保持することは困難なため、バンディング処理を行う
が、そのためには、1ページ分の中間言語を一旦保持す
る必要があり、ディスク容量が少ないホストマシンでは
出力できないデータも存在する。As a feature of the image mode, the drawing process of a high-resolution color image or complicated graphics data is performed at high speed. On the other hand, even for characters and simple figures,
Since image data of the entire drawing area is generated at an output resolution and an output gradation and transmitted as a print command, high-speed printing of a high-resolution and high-gradation page is not good. However, in the case of color printing, it is difficult to hold one page of drawing page memory, so banding processing is performed. There are some data that cannot be output on a host machine with few data.
【0015】両モード共、描画処理を行うためには、イ
メージモードではホストマシンに、PDLモードではカ
ラープリンタに、1ページ分の描画用メモリ領域が必要
である。ところが、カラープリンタでは、RGB各色8
ビットで600dpi、A4フルページ分のメモリを確保
しようとすると、96MByte必要であり、現状では、ホ
ストマシンでも確保することは困難である。In both modes, in order to perform a drawing process, a host machine in the image mode and a color printer in the PDL mode require a drawing memory area for one page. However, in a color printer, each of the RGB colors 8
In order to secure a memory of 600 dpi in bits and A4 full page, 96 MByte is required, and at present, it is difficult to secure even a host machine.
【0016】そこで、カラープリンタの描画処理は出力
形式であるYMCK各色に対して、1bit、2bit、また
は4bitの色空間を使い、さらにページをいくつかの領
域に分割したバンドメモリを使うことにより、描画処理
用メモリを削減している。Therefore, the drawing process of the color printer uses a 1-bit, 2-bit or 4-bit color space for each color of YMCK as an output format, and further uses a band memory in which a page is divided into several areas. The memory for drawing processing is reduced.
【0017】このように、1ページを複数のバンドに分
割して描画処理を行うことをバンディング処理と呼んで
いる。バンディング処理はPDLモードの場合はプリン
タが、イメージモードの場合はホストマシンで、1ペー
ジ分の描画命令を保持し、各バンドに必要な印刷コマン
ドのみを処理することにより各バンドの描画処理を実現
するものである。Thus, dividing a page into a plurality of bands and performing drawing processing is called banding processing. The banding process is performed by the printer in the PDL mode and by the host machine in the image mode, and the drawing command of one page is held, and the printing process of each band is realized by processing only the print command necessary for each band. Is what you do.
【0018】[0018]
【発明が解決しようとする課題】DDIを介して渡され
る描画命令の中には、1ライン描画関数(Windows9x
(登録商標):Output関数のSCANLINE)、数ピクセルの
矩形塗りつぶし関数(Windows9x:Output関数のRECTANG
LE)が何度もコールされて、複雑な形の図形描画処理を
行う場合がある。The drawing command passed through the DDI includes a one-line drawing function (Windows 9x).
(Registered trademark): Output function SCANLINE), rectangle fill function of several pixels (Windows 9x: Output function RECTANG)
LE) may be called many times to perform complex shapes.
【0019】このような場合に、PDLモードにおいて
は、印刷コマンドサイズの肥大化により速度が低下し、
イメージモードにおいては、スプールデータサイズが増
大して速度が低下したり、出力が不可能になったりす
る。In such a case, in the PDL mode, the speed decreases due to the enlargement of the print command size,
In the image mode, the spool data size increases and the speed decreases, or output becomes impossible.
【0020】本発明の目的は、このような問題点を解決
し、より高速な印刷処理を行うことができる画像処理装
置および方法を提供することにある。An object of the present invention is to provide an image processing apparatus and an image processing method capable of solving such a problem and performing higher-speed printing processing.
【0021】[0021]
【課題を解決するための手段】請求項1の発明は、印刷
すべき送信すべき印刷データを生成する画像処理装置で
あって、印刷命令を、中間データ形式の描画データに変
換し、かつ描画属性情報とデータ種別情報と抽出する変
換手段と、前記変換手段により得られた中間データ形式
の描画データの描画属性およびデータ種別情報が同一で
ある複数の描画データをまとめて一時的にスプールする
スプール手段と、前記スプール手段によりスプールされ
る描画データに基づいて印刷データを生成する印刷デー
タ生成手段とを有することを特徴とする。According to a first aspect of the present invention, there is provided an image processing apparatus for generating print data to be transmitted, which is to be transmitted. Conversion means for extracting attribute information and data type information; and spool for temporarily spooling a plurality of pieces of drawing data having the same drawing attribute and data type information of the drawing data in the intermediate data format obtained by the conversion means And print data generating means for generating print data based on the drawing data spooled by the spool means.
【0022】請求項1において、印刷データはビットマ
ップ展開されたイメージデータとすることができる。According to the first aspect, the print data can be image data developed by bitmap development.
【0023】請求項1において、前記スプール手段は、
前記変換手段による変換より得られた中間データ形式の
描画データを保持するための保持手段と、前記変換手段
による変換より得られた中間データ形式の描画データの
有するヘッダの描画属性情報およびデータ種別情報が、
前記保持手段に保持されている前回更新された中間デー
タ形式の描画データのヘッダの描画属性情報およびデー
タ種別情報と同一か否かを判定する同一判定手段と、該
同一判定手段により肯定判定された場合に、前記前回更
新された中間データ形式の描画データのヘッダのデータ
カウンタ値を1だけインクリメントし、該前回更新され
た中間データ形式の描画データの最後尾に、前記変換手
段による変換より得られた中間データ形式の描画データ
のデータフィールドのみを付加する第1更新手段と、前
記保持手段による中間データ形式の描画データ保持終了
後、前記保持手段の中間データ形式の描画データから印
刷データを生成する印刷データ生成手段とを有すること
ができる。In the first aspect, the spool means includes:
Holding means for holding the drawing data in the intermediate data format obtained by the conversion by the conversion means; drawing attribute information and data type information of the header of the drawing data in the intermediate data format obtained by the conversion by the conversion means But,
An identical determination unit that determines whether the header is the same as the rendering attribute information and the data type information of the header of the previously updated intermediate data format held in the holding unit, and an affirmative determination is made by the same determination unit. In this case, the data counter value of the header of the previously updated intermediate data format drawing data is incremented by one, and the end of the last updated intermediate data format drawing data is obtained by the conversion by the conversion means. A first updating unit that adds only the data field of the drawing data in the intermediate data format, and print data is generated from the drawing data in the intermediate data format in the holding unit after the holding unit finishes holding the drawing data in the intermediate data format. Print data generating means.
【0024】請求項3において、印刷データ生成手段
は、前記ヘッダの属性が変化するか、前記保持手段に入
りきれなくなるか、あるいは、ページの最後を示す命令
が来た場合に、前記保持手段の中間データ形式の描画デ
ータから印刷データを生成することができる。According to a third aspect of the present invention, when the attribute of the header changes, when the attribute of the header cannot be accommodated, or when an instruction indicating the end of a page comes, Print data can be generated from the drawing data in the intermediate data format.
【0025】請求項3において、前記変換手段による変
換により得られたデータフィールドの描画座標が、最後
尾のデータフィールドの描画座標に対して、相対座標
と、該相対座標の繰り返し回数とで表すことが可能か否
かを判定する判定手段と、該判定手段により肯定判定さ
れた場合に、相対座標と、該相対座標の繰り返し回数と
を表すコマンドコードを生成するコマンドコード生成手
段と、該コマンドコード生成手段により生成されたコマ
ンドコードを前記最後尾のデータフィールドにオーバラ
イトする第2更新手段とをさらに有することができる。According to a third aspect of the present invention, the drawing coordinates of the data field obtained by the conversion by the conversion means are expressed by relative coordinates with respect to the drawing coordinates of the last data field and the number of repetitions of the relative coordinates. Determining means for determining whether or not the command is possible; command code generating means for generating a command code representing the relative coordinates and the number of repetitions of the relative coordinates when the determination means makes an affirmative determination; Second updating means for overwriting the command code generated by the generating means in the last data field may be further provided.
【0026】請求項3において、前記ヘッダは前記デー
タカウンタ値情報に代えてデータサイズ情報を有するこ
とができる。In the third aspect, the header may have data size information instead of the data counter value information.
【0027】請求項1において、前記印刷データはペー
ジ記述言語で記述されたデータとすることができる。In the first aspect, the print data may be data described in a page description language.
【0028】請求項7において、前記印刷データ生成手
段は、前記ヘッダの属性が変化するか、前記保持手段に
入りきれなくなるか、あるいは、ページの最後を示す命
令が来た場合に、前記保持手段の中間データ形式の描画
データに基づきページ記述言語で記述されたデータを生
成することができる。[0028] The print data generating means according to claim 7, wherein the print data generating means changes the attribute of the header, becomes unable to fit in the holding means, or receives a command indicating the end of the page. The data described in the page description language can be generated based on the drawing data in the intermediate data format.
【0029】請求項7において、前記変換手段による変
換により得られたデータフィールドの描画座標が、最後
尾のデータフィールドの描画座標に対して、相対座標
と、該相対座標の繰り返し回数とで表すことが可能か否
かを判定する判定手段と、該判定手段により肯定判定さ
れた場合に、相対座標と、該相対座標の繰り返し回数と
を表すコマンドコードを生成するコマンドコード生成手
段と、該コマンドコード生成手段により生成されたコマ
ンドコードを前記最後尾のデータフィールドにオーバラ
イトする第2更新手段とをさらに有することができる。The drawing coordinates of the data field obtained by the conversion by the conversion means may be represented by relative coordinates with respect to the drawing coordinates of the last data field and the number of repetitions of the relative coordinates. Determining means for determining whether or not the command is possible; command code generating means for generating a command code representing the relative coordinates and the number of repetitions of the relative coordinates when the determination means makes an affirmative determination; Second updating means for overwriting the command code generated by the generating means in the last data field may be further provided.
【0030】請求項7において、前記ヘッダは前記デー
タカウンタ値情報に代えてデータサイズ情報を有するこ
とができる。[0030] In claim 7, the header may include data size information instead of the data counter value information.
【0031】請求項11の発明は、印刷すべき送信すべ
き印刷データを生成する画像処理方法であって、印刷命
令を、中間データ形式の描画データに変換し、かつ描画
属性情報とデータ種別情報と抽出する変換ステップと、
前記変換ステップにて得た中間データ形式の描画データ
の描画属性およびデータ種別情報が同一である複数の描
画データをまとめて一時的にスプールするスプールステ
ップと、前記スプールステップにてスプールした描画デ
ータに基づいて印刷データを生成する印刷データ生成ス
テップとを有することを特徴とする。According to an eleventh aspect of the present invention, there is provided an image processing method for generating print data to be transmitted to be printed, wherein the print command is converted into rendering data in an intermediate data format, and rendering attribute information and data type information are converted. And a conversion step to extract
A spooling step of temporarily spooling a plurality of pieces of drawing data having the same drawing attribute and data type information of the drawing data in the intermediate data format obtained in the conversion step, and a step of spooling the drawing data spooled in the spooling step. And a print data generating step of generating print data based on the print data.
【0032】請求項11において、印刷データはビット
マップ展開されたイメージデータとすることができる。In the eleventh aspect, the print data may be bitmap-developed image data.
【0033】請求項11において、前記スプールステッ
プは、前記変換ステップにて得た中間データ形式の描画
データの有するヘッダの描画属性情報およびデータ種別
情報が、前記変換ステップにて得た中間データ形式の描
画データを保持するための保持手段に保持されている前
回更新された中間データ形式の描画データのヘッダの描
画属性情報およびデータ種別情報と同一か否かを判定す
る同一判定ステップと、該同一判定ステップにて肯定判
定した場合に、前記前回更新した中間データ形式の描画
データのヘッダのデータカウンタ値を1だけインクリメ
ントし、該前回更新した中間データ形式の描画データの
最後尾に、前記変換ステップにて得た中間データ形式の
描画データのデータフィールドのみを付加する第1更新
ステップと、前記保持手段に中間データ形式の描画デー
タの保持が終了した後、前記保持手段の中間データ形式
の描画データから印刷データを生成する印刷データ生成
ステップとを有することができる。In the eleventh aspect, in the spooling step, the drawing attribute information and the data type information of the header included in the drawing data in the intermediate data format obtained in the conversion step are converted to the intermediate data format obtained in the conversion step. An identical determination step of determining whether the drawing attribute information and the data type information of the header of the previously updated intermediate data format held in the holding unit for holding the drawing data are the same, and the same determination If an affirmative determination is made in the step, the data counter value of the header of the previously updated intermediate data format drawing data is incremented by 1 and the last updated intermediate data format drawing data is transferred to the conversion step. A first updating step of adding only the data field of the drawing data in the intermediate data format obtained by After holding the drawing data in the intermediate data format ended lifting means can have a print data generation step of generating print data from the drawing data in the intermediate data format of the holding means.
【0034】請求項13において、前記印刷データ生成
ステップは、前記ヘッダの属性が変化するか、前記保持
手段に入りきれなくなるか、あるいは、ページの最後を
示す命令が来たときに、保持手段の中間データ形式の描
画データから印刷データを生成することができる。The print data generating step according to claim 13, wherein, when the attribute of the header changes, the header cannot be accommodated, or an instruction indicating the end of the page comes, Print data can be generated from the drawing data in the intermediate data format.
【0035】請求項13において、前記変換ステップに
て得たデータフィールドの描画座標が、最後尾のデータ
フィールドの描画座標に対して、相対座標と、該相対座
標の繰り返し回数とで表すことが可能か否かを判定する
判定ステップと、該判定ステップにて肯定判定した場合
に、相対座標と、該相対座標の繰り返し回数とを表すコ
マンドコードを生成するコマンドコード生成ステップ
と、該コマンドコード生成ステップにて生成したコマン
ドコードを前記最後尾のデータフィールドにオーバライ
トする第2更新ステップとをさらに有することができ
る。According to a thirteenth aspect, the drawing coordinates of the data field obtained in the conversion step can be expressed by relative coordinates with respect to the drawing coordinates of the last data field and the number of repetitions of the relative coordinates. A command code generating step of generating a command code representing relative coordinates and the number of repetitions of the relative coordinates when an affirmative determination is made in the determining step; And a second updating step of overwriting the command code generated in step (1) in the last data field.
【0036】請求項13において、ヘッダは前記データ
カウンタ値情報に代えてデータサイズ情報を有すること
ができる。[0036] In claim 13, the header may have data size information instead of the data counter value information.
【0037】請求項11において、前記印刷データはペ
ージ記述言語で記述されたデータとすることができる。In the eleventh aspect, the print data may be data described in a page description language.
【0038】請求項17において、前記印刷データ生成
ステップは、前記ヘッダの属性が変化するか、前記保持
手段に入りきれなくなるか、あるいは、ページの最後を
示す命令が来たときに、前記保持手段の中間データ形式
の描画データに基づきページ記述言語で記述されたデー
タを生成することができる。18. The print data generating method according to claim 17, wherein the print data generating step is performed when the attribute of the header changes, the print data cannot be stored in the storage means, or a command indicating the end of a page comes. The data described in the page description language can be generated based on the drawing data in the intermediate data format.
【0039】請求項17において、前記変換ステップに
て得たデータフィールドの描画座標が、最後尾のデータ
フィールドの描画座標に対して、相対座標と、該相対座
標の繰り返し回数とで表すことが可能か否かを判定する
判定ステップと、該判定ステップにて肯定判定した場合
に、相対座標と、該相対座標の繰り返し回数とを表すコ
マンドコードを生成するコマンドコード生成ステップ
と、該コマンドコード生成ステップにて生成したコマン
ドコードを前記最後尾のデータフィールドにオーバライ
トする第2更新ステップとをさらに有することができ
る。In another embodiment, the drawing coordinates of the data field obtained in the conversion step can be represented by relative coordinates with respect to the drawing coordinates of the last data field, and the number of repetitions of the relative coordinates. A command code generating step of generating a command code representing relative coordinates and the number of repetitions of the relative coordinates when an affirmative determination is made in the determining step; And a second updating step of overwriting the command code generated in step (1) in the last data field.
【0040】請求項17において、ヘッダは前記データ
カウンタ値情報に代えてデータサイズ情報を有すること
ができる。In the seventeenth aspect, the header can have data size information instead of the data counter value information.
【0041】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、印刷命令を、中間データ形式の描
画データに変換し、かつ描画属性情報とデータ種別情報
と抽出する変換手順と、前記変換手順により得られた中
間データ形式の描画データの描画属性およびデータ種別
情報が同一である複数の描画データをまとめて一時的に
スプールするスプール手順と、前記スプール手順により
スプールされる描画データに基づいて印刷データを生成
する印刷データ生成手順とをコンピュータに実行させ
る。The program stored in the computer-readable storage medium converts the print command into drawing data in the intermediate data format and extracts drawing attribute information and data type information, and is obtained by the conversion procedure. A spooling procedure for temporarily spooling a plurality of pieces of drawing data having the same drawing attribute and data type information of the drawing data in the intermediate data format, and generating print data based on the drawing data spooled by the spooling procedure. And causing the computer to execute the print data generation procedure.
【0042】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、印刷データがビットマップ展開さ
れたイメージデータとすることができる。The program stored in the computer-readable storage medium can be image data in which print data is bit-mapped.
【0043】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、スプール手順が、該変換手順によ
る変換より得られた中間データ形式の描画データを保持
するための保持手順と、前記変換手順による変換より得
られた中間データ形式の描画データの有するヘッダの描
画属性情報およびデータ種別情報が、前記保持手順に保
持されている前回更新された中間データ形式の描画デー
タのヘッダの描画属性情報およびデータ種別情報と同一
か否かを判定する同一判定手順と、該同一判定手順によ
り肯定判定された場合に、前記前回更新された中間デー
タ形式の描画データのヘッダのデータカウンタ値を1だ
けインクリメントし、該前回更新された中間データ形式
の描画データの最後尾に、前記変換手順による変換より
得られた中間データ形式の描画データのデータフィール
ドのみを付加する第1更新手順と、前記保持手順による
中間データ形式の描画データ保持終了後、前記保持手順
の中間データ形式の描画データから印刷データを生成す
る印刷データ生成手順とをコンピュータに実行させる。The program stored in the computer-readable storage medium is such that the spooling procedure has a holding procedure for holding the drawing data in the intermediate data format obtained by the conversion by the conversion procedure, and a storage procedure by the conversion procedure. The drawing attribute information and the data type information of the header of the drawn data in the intermediate data format obtained are the drawing attribute information and the data type information of the header of the previously updated intermediate data format drawn data held in the holding procedure. The same determination procedure for determining whether or not they are the same, and when a positive determination is made in the same determination procedure, the data counter value of the header of the previously updated intermediate data format drawing data is incremented by one, and At the end of the rendered data in the intermediate data format, the intermediate data obtained by the conversion A first update procedure for adding only the data field of the drawing data in the format, and print data generation for generating print data from the rendering data in the intermediate data format in the holding procedure after the holding of the drawing data in the intermediate data format by the holding procedure And let the computer perform the steps.
【0044】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、印刷データ生成手順が、前記ヘッ
ダの属性が変化するか、前記保持手順に入りきれなくな
るか、あるいは、ページの最後を示す命令が来た場合
に、前記保持手順の中間データ形式の描画データから印
刷データを生成することができる。In the program stored in the computer-readable storage medium, the print data generation procedure receives an instruction indicating that the attribute of the header has changed, the storage procedure cannot be completed, or the end of the page has been received. In this case, print data can be generated from the drawing data in the intermediate data format in the holding procedure.
【0045】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、前記変換手順による変換により得
られたデータフィールドの描画座標が、最後尾のデータ
フィールドの描画座標に対して、相対座標と、該相対座
標の繰り返し回数とで表すことが可能か否かを判定する
判定手順と、該判定手順により肯定判定された場合に、
相対座標と、該相対座標の繰り返し回数とを表すコマン
ドコードを生成するコマンドコード生成手順と、該コマ
ンドコード生成手順により生成されたコマンドコードを
前記最後尾のデータフィールドにオーバライトする第2
更新手順とをさらにコンピュータに実行させる。The program stored in the computer-readable storage medium is such that the drawing coordinates of the data field obtained by the conversion according to the conversion procedure are relative coordinates with respect to the drawing coordinates of the last data field. A determination procedure for determining whether or not it can be represented by the number of repetitions of, and when an affirmative determination is made by the determination procedure,
A command code generation procedure for generating a command code representing relative coordinates and the number of repetitions of the relative coordinates, and a second command for overwriting the command code generated by the command code generation procedure in the last data field.
And causing the computer to execute the update procedure.
【0046】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、ヘッダが前記データカウンタ値情
報に代えてデータサイズ情報を有することができる。In the program stored in the computer-readable storage medium, the header may have data size information instead of the data counter value information.
【0047】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、印刷データがページ記述言語で記
述されたデータとすることができる。The program stored in the computer-readable storage medium may be print data described in a page description language.
【0048】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、印刷データ生成手順が、前記ヘッ
ダの属性が変化するか、前記保持手順に入りきれなくな
るか、あるいは、ページの最後を示す命令が来た場合
に、前記保持手順の中間データ形式の描画データに基づ
きページ記述言語で記述されたデータを生成することが
できる。In the program stored in the computer-readable storage medium, the print data generation procedure receives an instruction indicating that the attribute of the header has changed, the storage procedure cannot be completed, or the end of the page has been received. In this case, it is possible to generate data described in a page description language based on the drawing data in the intermediate data format in the holding procedure.
【0049】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、前記変換手順による変換により得
られたデータフィールドの描画座標が、最後尾のデータ
フィールドの描画座標に対して、相対座標と、該相対座
標の繰り返し回数とで表すことが可能か否かを判定する
判定手順と、該判定手順により肯定判定された場合に、
相対座標と、該相対座標の繰り返し回数とを表すコマン
ドコードを生成するコマンドコード生成手順と、該コマ
ンドコード生成手順により生成されたコマンドコードを
前記最後尾のデータフィールドにオーバライトする第2
更新手順とをさらにコンピュータに実行させる。The program stored in the storage medium readable by the computer is such that the drawing coordinates of the data field obtained by the conversion according to the conversion procedure are relative to the drawing coordinates of the last data field. A determination procedure for determining whether or not it can be represented by the number of repetitions of, and when an affirmative determination is made by the determination procedure,
A command code generation procedure for generating a command code representing relative coordinates and the number of repetitions of the relative coordinates, and a second command for overwriting the command code generated by the command code generation procedure in the last data field.
And causing the computer to execute the update procedure.
【0050】コンピュータ読み取り可能な記憶媒体に記
憶したプログラムは、ヘッダが前記データカウンタ値情
報に代えてデータサイズ情報を有することができる。In the program stored in the computer-readable storage medium, the header may have data size information instead of the data counter value information.
【0051】[0051]
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。Embodiments of the present invention will be described below in detail with reference to the drawings.
【0052】図1は本発明の一実施の形態を示す。これ
は印刷システムの例であり、カラーレーザプリンタ1と
ホストコンピュータ3が接続してある。FIG. 1 shows an embodiment of the present invention. This is an example of a printing system, in which a color laser printer 1 and a host computer 3 are connected.
【0053】カラーレーザプリンタ1を説明する。カラ
ーレーザビームプリンタ1は600dpiの解像度を有
し、各色成分各画素が8ビットで表現された多値データ
に基づいて画像記録を行うものである。また、カラーレ
ーザビームプリンタ1はホストコンピュータ3から供給
されるプリントデータ(文字コードや画像データ等)と
制御コードからなる印刷情報を入力して記憶するととも
に、それらの情報に従って対応する文字パターンやイメ
ージ等を作成し記録紙上に像を形成するものである。The color laser printer 1 will be described. The color laser beam printer 1 has a resolution of 600 dpi, and performs image recording based on multi-value data in which each pixel of each color component is represented by 8 bits. Further, the color laser beam printer 1 inputs and stores print data (character code, image data, etc.) and control information supplied from the host computer 3, and also stores a corresponding character pattern or image according to the information. To form an image on recording paper.
【0054】カラーレーザビームプリンタ1はフォーマ
ッタ制御部110と、オペレーション・パネル120を
有する。The color laser beam printer 1 has a formatter control section 110 and an operation panel 120.
【0055】フォーマッタ制御部110を説明する。こ
のフォーマッタ制御部110は、通常は、PDLコント
ローラなどとも呼ばれている部分であり、ホストコンピ
ュータ3との接続手段であるインタフェース部(I/
F)111と、受信データ等を一時的に保持管理するた
めの受信バッファ1121と、送信データ等を一時的に
保持管理するための送信バッファ1122と、印刷デー
タの解析を司るコマンド解析部113と、印刷制御処理
実行部114と、描画処理実行部115と、ページメモ
リ116を有する。The formatter control section 110 will be described. The formatter control unit 110 is a unit usually called a PDL controller or the like, and an interface unit (I / I /
F) 111, a reception buffer 1121 for temporarily holding and managing received data and the like, a transmission buffer 1122 for temporarily holding and managing transmission data and the like, and a command analysis unit 113 for analyzing print data. , A print control processing execution unit 114, a drawing processing execution unit 115, and a page memory 116.
【0056】インタフェース部111はホストコンピュ
ータ3との印刷データの送受信を行う通信手段あり、通
信プロトコルとしてIEEE-1284に準拠した通信を可能と
するものである。ただし、本実施の形態では、この通信
手段に限定するものでなく、ネットワークを介してさま
ざまなプロトコルによる接続であってもよいし、IEEE-1
394に準じた通信手段であってもよい。The interface unit 111 is a communication unit for transmitting and receiving print data to and from the host computer 3, and enables communication conforming to IEEE-1284 as a communication protocol. However, in the present embodiment, the present invention is not limited to this communication means, and connection using various protocols via a network or IEEE-1
Communication means according to 394 may be used.
【0057】インタフェース部111を通して受信され
た印刷データは、受信バッファ1121に逐次蓄積さ
れ、必要に応じて、コマンド解析部113または描画処
理実行部115によって読み出され処理される。コマン
ド解析部113は、各PDLコマンド体系や印刷ジョブ
制御言語に準じた制御プログラムにより構成されてお
り、文字印字、図形、イメージなどの描画に関する印刷
データの解析結果を、描画処理実行部115に指示を与
えて処理し、給紙選択やリセット命令等の描画以外のコ
マンドを、印刷制御処理実行部114に指示を出し処理
するものである。The print data received through the interface unit 111 is sequentially accumulated in the reception buffer 1121, and is read and processed by the command analysis unit 113 or the drawing processing execution unit 115 as necessary. The command analysis unit 113 is configured by a control program conforming to each PDL command system and the print job control language, and instructs the rendering processing execution unit 115 of the analysis result of print data relating to rendering of character printing, graphics, images, and the like. The processing is performed by giving an instruction to the print control processing execution unit 114 for a command other than drawing, such as a paper feed selection or a reset instruction.
【0058】描画処理実行部115は文字やイメージの
各描画オブジェクトをページメモリ116に逐次展開し
て行くものである。The drawing processing execution unit 115 sequentially develops each drawing object such as a character or an image in the page memory 116.
【0059】カラーレーザビームプリンタ1に対して
は、MCYKの面順次で、エンジン回転処理に間に合う
ようにページデータを送出する必要があるが、標準状態
では、そのために必要なメモリをすべて確保するわけで
はなく、1プレーン(lbit/pixelまたは2bit/pixel)
の数分の1のバンド領域としてメモリが確保され、その
バンド領域を使いまわして画像をエンジン速度に同期し
て処理するするように構成されている。通常は、このよ
うにYMCKの描画処理実行部115による展開処理
と、プリンタエンジン150へのビデオ信号のシッピン
グとの追いかけっこ、つまりバンディング制御によって
ページメモリ116は管理されているが、十分なメモリ
がある場合は、1ページ分の展開が可能な領域を確保し
ても良い。It is necessary to send page data to the color laser beam printer 1 in the MCYK plane sequence so as to be ready for the engine rotation process. In a standard state, all the memory required for this is secured. Not 1 plane (lbit / pixel or 2bit / pixel)
The memory is secured as a band area of a fraction of the above, and the band area is reused to process the image in synchronization with the engine speed. Normally, the page memory 116 is managed by the development processing by the drawing processing execution unit 115 of YMCK and the shipping of the video signal to the printer engine 150, that is, the page memory 116 is managed by the banding control. In some cases, an area that can be expanded for one page may be secured.
【0060】一般的に、フォーマッタ制御部110はC
PU(central processing unit)、ROM(read only
memory)、RAM(random access memory)等を用い
たコンピュータシステムによって構成されている。ま
た、各部の処理はマルチタスクモニタ(リアルタイムO
S(operating system))のもとでタイムシエアリング
で処理される構成てあっても良いし、各機能ごとに専用
のコントローラ・ハードウェアを用意して、独立して処
理される構成であっても良い。Generally, the formatter control section 110
PU (central processing unit), ROM (read only)
memory), a computer system using a random access memory (RAM) and the like. The processing of each part is performed by a multitask monitor (real-time monitoring).
S (operating system)), processing may be performed by time sharing, or dedicated controller hardware may be prepared for each function and processed independently. Is also good.
【0061】出力制御部130はページメモリ116の
内容をビデオ信号に変換処理し、プリンタエンジン15
0へ画像転送を行う。出力制御部130はフォーマッタ
制御部110により生成された最終的な印刷イメージが
ビデオ信号として入力され、カラーレーザビームプリン
タ1の不図示の各種センサからの状態入力とともに光学
ユニット140(図2)および各種駆動系機構部に対し
制御信号を出力しカラーレーザビームプリンタ1として
の印刷処理の制御を司るものである。The output control unit 130 converts the content of the page memory 116 into a video signal, and
0 is transferred. The output control unit 130 receives the final print image generated by the formatter control unit 110 as a video signal, and inputs the status from various sensors (not shown) of the color laser beam printer 1 together with the optical unit 140 (FIG. 2) A control signal is output to the drive system mechanism to control the printing process of the color laser beam printer 1.
【0062】プリンタエンジン150は受け取ったビデ
オ信号を記録紙に永久可視画像形成するものである。オ
ペレーション・パネル120は前述した通りカラーレー
ザビームプリンタ1の各種状態を設定し表示するための
ものである。The printer engine 150 forms a permanent visible image of the received video signal on recording paper. The operation panel 120 is for setting and displaying various states of the color laser beam printer 1 as described above.
【0063】次に、ホストコンピュータ3を説明する。
ホストコンピュータ3はプリントデータおよび制御コー
ドよりなる印刷情報をカラーレーザビームプリンタ1に
出力するものである。Next, the host computer 3 will be described.
The host computer 3 outputs print information including print data and control codes to the color laser beam printer 1.
【0064】ホストコンピュータ3は入力デバイスとし
てのキーボード310や、ポインテイングデバイスとし
てのマウス311と、表示デバイスとしてのディスプレ
イモニタ320とを合わせた1つのコンピュータシステ
ムとして構成されている。ホストコンピュータ3はWind
ows NT(登録商標)、Windows 9x等の基本OSによって
動作しているものとする。The host computer 3 is configured as a single computer system including a keyboard 310 as an input device, a mouse 311 as a pointing device, and a display monitor 320 as a display device. Host computer 3 is Wind
It is assumed that it is operated by a basic OS such as ows NT (registered trademark) and Windows 9x.
【0065】ホストコンピュータ3は、基本OS上での
機能を大きく分類すると、アプリケーションソフトウェ
ア301と、グラフィックサブシステム302と、印刷
情報格納手段およびカラーレーザビームプリンタ1との
通信手段を含むスプールサブシステム303とに大別さ
れる。The host computer 3 roughly classifies the functions on the basic OS into application software 301, a graphic subsystem 302, a spool information subsystem 303 including a print information storage unit and a communication unit with the color laser beam printer 1. They are roughly divided into
【0066】アプリケーションソフトウェア301は、
基本ソフトウェア上で動作する応用ソフトウェア、例え
ば、ワープロや表計算などを指すものである。グラフィ
ックサブシステム302は基本OSの機能の一部である
GDI3021と、GDI3021から動的にリンクさ
れるプリンタドライバ3023とを有する。The application software 301 is
This refers to application software that operates on the basic software, for example, a word processor or a spreadsheet. The graphic subsystem 302 has a GDI 3021 that is a part of the function of the basic OS, and a printer driver 3023 that is dynamically linked from the GDI 3021.
【0067】プリンタドライバ3023はGDI302
1からDDIインタフェース3022を介してコールさ
れ、デバイスに応じた処理を描画オブジェクトごとに行
うものである。本システムでは、プリンタドライバ30
23が、DDI関数を介して受け取った描画命令の情報
を、描画オブジェクトタイプごとにタグをつけ、描画位
置情報、色情報、パターン情報、描画論理情報といった
属性とともに、一次バッファ3024にバッファリング
する。ただし、一次バッファ3024に入りきれないよ
うな描画オブジェクト(巨大なイメージデータ等)は保
持しない。The printer driver 3023 is a GDI 302
1 is called via the DDI interface 3022, and performs processing according to the device for each drawing object. In this system, the printer driver 30
23 attaches a tag for each drawing object type to the information of the drawing command received via the DDI function, and buffers the information in the primary buffer 3024 together with attributes such as drawing position information, color information, pattern information, and drawing logic information. However, drawing objects (such as huge image data) that cannot be stored in the primary buffer 3024 are not stored.
【0068】一次バッファ3024に保持する際に、既
に保持されている描画オブジェクトがある場合や、タイ
プおよび描画属性が同じときは、一次バッファ3024
に追加していく。そして、タイプが異なるか、一次バッ
ファ3024にデータが入りきれないか、描画属性が変
化するか、ページ処理が終了するかのいずれかに該当す
る場合は、既に一次バッファ3024に入っている描画
オブジェクトからPDF3031(ページデータファイ
ル)を生成し、スプールする。When there is a drawing object already stored in the primary buffer 3024 or when the type and the drawing attribute are the same, the primary buffer 3024 is used.
To be added. If the type is different, the data cannot be completely stored in the primary buffer 3024, the drawing attribute is changed, or the page processing ends, the drawing object already in the primary buffer 3024 , A PDF 3031 (page data file) is generated and spooled.
【0069】スプールサブシステム303はグラフィッ
クサブシステム302の後段に位置するプリンタデバイ
スに特有のサブシステムである。デスプーラ3032は
PDF3031を読み込み、PDLモード系トランスレ
ータ3033とイメージモード系トランスレータ303
4〜3036のうちの選択されたトランスレータにより
デスプール処理を行うものである。選択されたトランス
レータがイメージモード系トランスレータ3034〜3
036のいずれかであれば、バンドメモリ3037を用
いてイメージ展開を行い、他方、PDLモード系トラン
スレータ3033であれば、スプールファイルからPD
Lコマンドへの変換処理を行い、それぞれ、データがイ
ンタフェース部(I/F)3038を介してカラーレー
ザビームプリンタ1に送出される。The spool subsystem 303 is a subsystem specific to a printer device located downstream of the graphic subsystem 302. The despooler 3032 reads the PDF 3031, and converts the PDL mode translator 3033 and the image mode translator 303.
The despooling process is performed by a translator selected from 4 to 3036. If the selected translator is an image mode translator 3034-3
036, the image is developed using the band memory 3037. On the other hand, if the PDL mode translator 3033 is
Conversion processing into L commands is performed, and data is sent to the color laser beam printer 1 via the interface unit (I / F) 3038, respectively.
【0070】基本OSによって、上述したこれらの名称
や機能的な枠組みは若干異なる場合があるが、本発明の
構成要素を実現できるモジュールであれば、それらの名
称や枠組みは本発明にとってあまり大きな問題ではな
い。例えば、スプーラやスプールファイルと呼ばれるも
のは、別のOSにおいてプリントキューと呼ばれるモジ
ュールに処理を組み込むことによっても実現可能であ
る。The above-mentioned names and functional frameworks may slightly differ depending on the basic OS. However, as long as the module can realize the components of the present invention, the names and frameworks are very important issues for the present invention. is not. For example, what is called a spooler or a spool file can also be realized by incorporating processing in a module called a print queue in another OS.
【0071】なお、一般的に、これらの各機能モジュー
ルを含むホストコンピュータ3は、CPU、ROM、R
AM、ハードディスクドライブ、各種入出力制御部(I
/O)などのハードウェアのもとで、基本ソフトと呼ば
れるソフトウェアがその制御を司り、その基本ソフトの
元で、それぞれの応用ソフト、サブシステム・プロセス
が機能モジュールとして動作するようになっている。Generally, the host computer 3 including these functional modules includes a CPU, ROM,
AM, hard disk drive, various input / output control units (I
Under hardware such as (/ O), software called basic software controls the control, and under the basic software, each application software and subsystem process operate as a functional module. .
【0072】図2は図1のカラーレーザビームプリンタ
1の構造を示す。図2において、110,130は図1
と同一部分を示す。120はオペレーション・パネル部
であり、ユーザによる操作とユーザに対する状態通知の
ためのスイッチとLED表示器等が配してあり、カラー
レーザビームプリンタ1の外装の一部として配設してあ
る。FIG. 2 shows the structure of the color laser beam printer 1 of FIG. In FIG. 2, reference numerals 110 and 130 correspond to those in FIG.
The same parts are shown. Reference numeral 120 denotes an operation panel unit, which is provided with a switch for operation by a user and notification of a state to the user, an LED display, and the like, and is provided as a part of the exterior of the color laser beam printer 1.
【0073】161は給紙カセットであり、用紙Pが収
納してある。給紙カセット161から給紙された用紙P
は、その先端をグリッパ154fにより狭持され、転写
ドラム154の外周に保持される。光学ユニット140
により感光ドラム151上に形成された各色の潜像は、
イエロー(Y)、マゼンタ(M)、シアン(C)、ブラ
ック(B)の各色現像器Dy、Dm、Dc、Dbにより
現像され、転写ドラム154外周の用紙に複数回転写さ
れて多色画像が形成される。その後、用紙Pは転写ドラ
ム154より分離され、定着ユニット155で定着さ
れ、排紙部159より排紙トレー部160に排出され
る。Reference numeral 161 denotes a paper feed cassette in which paper P is stored. Paper P fed from paper feed cassette 161
Is held at the outer periphery of the transfer drum 154 with its leading end held by a gripper 154f. Optical unit 140
The latent image of each color formed on the photosensitive drum 151 by
Each of the yellow (Y), magenta (M), cyan (C), and black (B) color developing units Dy, Dm, Dc, and Db is developed, and is transferred to paper around the transfer drum 154 a plurality of times to form a multicolor image. It is formed. Thereafter, the sheet P is separated from the transfer drum 154, fixed by the fixing unit 155, and discharged from the sheet discharge unit 159 to the sheet discharge tray unit 160.
【0074】各色の現像器Dy、Dm、Dc、Dbは、
その両端に回転支軸を有し、各軸を中心に回転可能とな
るように現像器選択機構部152に保持されている。こ
れによって、各現像器Dy、Dc、Db、Dmは、図2
に示すように、現像器選択のために現像器選択機構部1
52が回転軸152aを中心にして回転しても、その姿
勢を一定に維持できる構成をとっている。選択された現
像器が現像位置に移動後、現像器選択機構部152は現
像器と一体で支点153bを中心にして、選択機構保持
フレーム153がソレノイド153aにより感光ドラム
151方向へ引っ張られ、感光ドラム151方向へ移動
し現像処理が行われるように構成されている。The developing units Dy, Dm, Dc and Db of the respective colors are:
It has a rotation support shaft at both ends, and is held by the developing device selection mechanism 152 so as to be rotatable around each shaft. As a result, each of the developing devices Dy, Dc, Db, and Dm is configured as shown in FIG.
As shown in FIG. 1, the developing device selecting mechanism 1
Even if the 52 rotates about the rotation shaft 152a, the posture is maintained constant. After the selected developing device is moved to the developing position, the developing device selecting mechanism 152 is integrated with the developing device, and the selection mechanism holding frame 153 is pulled toward the photosensitive drum 151 by the solenoid 153a around the fulcrum 153b. It is configured to move in the direction of 151 and perform the development processing.
【0075】156は帯電器であり、感光ドラム151
表面を所定の極性に均一に帯電するものである。フォー
マッタ制御部110において画像イメージとして展開さ
れた印刷情報は、対応するパターンのビデオ信号に変換
され、レーザドライバに出力され、半導体レーザ141
を駆動する。Reference numeral 156 denotes a charger, and the photosensitive drum 151
The surface is uniformly charged to a predetermined polarity. The print information developed as an image in the formatter control unit 110 is converted into a video signal of a corresponding pattern, output to the laser driver, and output to the laser driver.
Drive.
【0076】入力されたビデオ信号に基づき半導体レー
ザ141から出射されたレーザ光は、オンオフ制御さ
れ、さらにスキャナモータ143によって高速回転され
ているポリゴンミラー142で左右方向に振らされ、ポ
リゴンレンズ134と反射鏡144を介して、感光ドラ
ム151上を走査露光する。この走査露光により、感光
ドラム151上には、画像パターンの静電潜像が形成さ
れることになる。そして、感光ドラム151上の例えば
マゼンタの静電潜像は、マゼンタの現像器Dmにより現
像され、感光ドラム151上にマゼンタの第1のトナー
像が形成される。The laser light emitted from the semiconductor laser 141 based on the input video signal is turned on and off, and is further swung right and left by a polygon mirror 142 rotated at high speed by a scanner motor 143, and reflected by the polygon lens 134. Scanning exposure is performed on the photosensitive drum 151 via the mirror 144. By this scanning exposure, an electrostatic latent image of an image pattern is formed on the photosensitive drum 151. Then, for example, a magenta electrostatic latent image on the photosensitive drum 151 is developed by a magenta developing device Dm, and a first magenta toner image is formed on the photosensitive drum 151.
【0077】一方、所定のタイミングで転写紙Pが給紙
され、トナーと反対極性(例えば、プラス極性)の転写
バイアス電圧が転写ドラム154に印加され、感光ドラ
ム151上の第1トナー像が転写紙Pに転写されるとと
もに、転写紙Pが転写ドラム154の表面に静電吸着さ
れる。その後、感光ドラム151に残留するマゼンタの
トナーは、クリーナ157によって除去され、次の色の
潜像形成、現像行程に備える。On the other hand, the transfer paper P is fed at a predetermined timing, a transfer bias voltage of the opposite polarity (for example, positive polarity) to the toner is applied to the transfer drum 154, and the first toner image on the photosensitive drum 151 is transferred. While being transferred to the paper P, the transfer paper P is electrostatically attracted to the surface of the transfer drum 154. Thereafter, the magenta toner remaining on the photosensitive drum 151 is removed by the cleaner 157 to prepare for a latent image forming and developing process of the next color.
【0078】以後、同様の手順によって、シアン、イエ
ロ、ブラックの順で第2、3、4色のトナー像が同一の
転写紙P上に重畳転写される。ただ、各色の転写時に
は、転写ドラム154には前回よりも高いバイアス電圧
が印加される点が異なる。Thereafter, the toner images of the second, third, and fourth colors are superimposed and transferred on the same transfer paper P in the order of cyan, yellow, and black by the same procedure. However, the difference is that a higher bias voltage is applied to the transfer drum 154 at the time of transfer of each color.
【0079】4色のトナー像が重畳転写された後、4色
のトナー像が重畳転写された転写紙Pの先端部が分離位
置に近づくと、分離爪158が接近して、転写紙Pの先
端を転写ドラム154の表面に接触させ、転写紙Pを転
写ドラム154から分離させる。この分離された転写紙
Pは定着ユニット155に搬送され、定着ユニット15
5により転写紙上のトナー像が定着され、その後、排紙
トレイ160上に排出される。After the four color toner images are superimposed and transferred, when the leading end of the transfer paper P on which the four color toner images are superimposed and transferred approaches the separation position, the separation claw 158 approaches and the transfer paper P The leading end is brought into contact with the surface of the transfer drum 154 to separate the transfer paper P from the transfer drum 154. The separated transfer paper P is conveyed to the fixing unit 155,
5, the toner image on the transfer paper is fixed, and then discharged onto the discharge tray 160.
【0080】以上のような画像形成過程を経て、カラー
レーザピームプリンタ1は600dpiの解像度で画像出
力を行う。Through the above-described image forming process, the color laser beam printer 1 outputs an image at a resolution of 600 dpi.
【0081】なお、本発明を適用可能なプリンタは、カ
ラーレーザビームプリンタに限られるものではなく、イ
ンクジエットプリンタやサーマルプリンタ等、他のプリ
ント方式のカラープリンタでもよい。The printer to which the present invention can be applied is not limited to a color laser beam printer, but may be a color printer of another printing system such as an ink jet printer or a thermal printer.
【0082】次に、図1の一次バッファ3024を用い
たPDFデータ圧縮方法をより詳しく説明する。まず、
Windows 9xのDDIを説明する。Windows 9xのDDIに
はグラフィックス系関数の1つとして、 Output (LPPDEVICE lpDestDev, WORD wStyle, WORD wCount, LPPOINT lpPoints, LPPEN lpPPen, LPPBRUSH lpPBrush, LPDRAWMODE lpDrawMode, LPRECT lpClipRect) が用意されている。Next, the PDF data compression method using the primary buffer 3024 in FIG. 1 will be described in more detail. First,
The DDI of Windows 9x will be described. Output (LPPDEVICE lpDestDev, WORD wStyle, WORD wCount, LPPOINT lpPoints, LPPEN lpPPen, LPPBRUSH lpPBrush, LPDRAWMODE lpDrawMode, LPRECT lpClipRect) is prepared as one of the graphics functions in the DDI of Windows 9x.
【0083】本関数は第2引数のwStyleの値によって、
渡されるデータの意味が変化する。例えば、OS_RECTANG
LEがセットされていた場合、wCountには必ず2がセット
される。本関数は第4引数のlpPointsが示す最初の座標
情報(X、Y)は、矩形の左上を、次の座標情報(X、
Y)は右下の点を示し、その対角線を持つ矩形の内側を
lpPBrushが示す色、パターン、lpPPenが示す枠線で、描
画処理することが求められる。This function is based on the value of wStyle of the second argument.
The meaning of the data passed changes. For example, OS_RECTANG
If LE is set, wCount is always set to 2. In this function, the first coordinate information (X, Y) indicated by the lpPoints of the fourth argument is expressed by the following coordinate information (X, Y) in the upper left corner of the rectangle.
Y) indicates the lower right point, and the inside of the diagonal rectangle is
It is required to perform drawing processing using the color and pattern indicated by lpPBrush and the frame line indicated by lpPPen.
【0084】プリンタドライバ3023で、DDI関数
ごとにPDFが生成されると、図3に示すようなフォー
マットのヘッダ401とデータ部402とを有するデー
タ構造が生成される。ヘッダ401は先頭部にデータタ
イプ情報403を有し、その他に、ブラシ情報404
と、ペン情報405と、データサイズ情報406と、描
画モード情報407と、外接矩形情報408とを有す
る。When a PDF is generated for each DDI function by the printer driver 3023, a data structure having a header 401 and a data part 402 in a format as shown in FIG. 3 is generated. The header 401 has data type information 403 at the top, and brush information 404
, Pen information 405, data size information 406, drawing mode information 407, and circumscribed rectangle information 408.
【0085】データ部402はPOINT型構造体配列で構
成されており、データサイズ分、すなわち、Count分の
(x、y)配列にデータが格納される。The data section 402 is composed of a POINT type structure array, and data is stored in an (x, y) array corresponding to the data size, that is, Count.
【0086】このようにデータ構造を構成したので、グ
ラフィックス系アプリケーションでグラデーションを描
いて出力しようとする場合、例えば、図4に示すような
図形の場合、各ピクセルごとに、RECTANGLEの描画命令
が発行される。すなわち、各ピクセルごとに、図3に示
すフォーマットのデータ構造が生成されることになり、
その結果、スプールデータサイズ、PDLコマンドサイ
ズが肥大化することになる。Since the data structure is configured as described above, when drawing and outputting a gradation in a graphics application, for example, in the case of a graphic as shown in FIG. 4, a RECTANGLE drawing command is issued for each pixel. publish. That is, a data structure of the format shown in FIG. 3 is generated for each pixel,
As a result, the spool data size and the PDL command size increase.
【0087】このように細かく分割された図形描画命令
は、同一種類の命令が描画位置を変えて何度もコールさ
れてくることが多いことから、本発明の発明者は、デー
タの連続性を使ってデータを容易に圧縮できることを見
い出した。Since the same type of instruction is often called many times while changing the drawing position, the inventor of the present invention considers the continuity of data as the finely divided figure drawing instruction. We found that it was easy to compress the data using it.
【0088】そこで、プリンタドライバ3023は、D
DI関数がコールされても直ちにPDFを生成せず、一
次バッファ3024を使って、一旦描画命令を保持し、
連続性のある描画命令は一次バッファ3024で圧縮処
理しPDFの圧縮処理を行うようにした。そのために
は、一次バッファ3024はページ内で保持される必要
があり、かつ、ドライバが堤供している全てのDDI関
数内からアクセスし、格納中のデータにアクセスする必
要がある。Therefore, the printer driver 3023 sets the D
When the DI function is called, a PDF is not generated immediately, and the drawing command is temporarily stored using the primary buffer 3024,
The rendering command having continuity is compressed in the primary buffer 3024 to perform PDF compression processing. For that purpose, the primary buffer 3024 needs to be held in the page, and needs to be accessed from all the DDI functions provided by the driver to access the data being stored.
【0089】Windows 9xの全てのDDIにはLPPDEVICE
lpDestDevが第1引数に入っており、1つのジョブ内で保
持されるメモリ空間へのポインタを示している。この構
造体の拡張部分に一次バッファ3024へのポインタを
メンバとして登録する。また、ドライバが提供している
全てのDDI関数には、この一次バッファ3024に格
納されているデータをチェックし、前回スプールしたデ
ータと比較、圧縮、ファイル化する処理を実装する必要
がある。For all Windows 9x DDIs, LPPDEVICE
lpDestDev is included in the first argument, and indicates a pointer to a memory space held in one job. A pointer to the primary buffer 3024 is registered as a member in the extension of this structure. In addition, all DDI functions provided by the driver need to implement processing for checking the data stored in the primary buffer 3024, comparing the data with the data spooled last time, compressing the data, and creating a file.
【0090】本実施の形態における圧縮処理は、大きく
分けて、 ヘッダの共通化によるサイズ、コマンド数の削減 データ部の圧縮によるデータサイズの削減 のような2つの手法の組み合わせによって実現される。The compression processing according to the present embodiment can be broadly divided and realized by a combination of two methods, such as reducing the size and the number of commands by using a common header and reducing the data size by compressing the data part.
【0091】まず、ヘッダの共通化によるサイズ、コマ
ンド数の削減()を説明する。細かく分割された同じ
属性の描画命令は、ヘッダ情報の共通化でPDFのサイ
ズ削減が可能である。前回の描画属性と比較するため
に、次のようなメンバが必要である。First, the reduction of the size and the number of commands by sharing the header () will be described. The finely divided drawing commands having the same attribute can reduce the size of the PDF by sharing the header information. To compare with the previous drawing attribute, the following members are required.
【0092】 typedef struct { enum_ELEMTYPE lastDataType; //前回データタイプ WORD lastPenIndex; //前回データのペン情報 WORD lastBrushIndex; //前回データのブラシ情報 DRAWMODE lastDrawMode; //前回データのDrawMode RECT lastboundRect; //前回データの外接矩形 RECT BoundRect; //前回データ全体の外接矩形 LPSTR lpstart; //圧縮データの先頭ポインタ LPSTR lplast; //前回データの現状の最終ポインタ WORD bufsize; //一次バッファサイズ }LASTDATA; プリンタドライバ3023が提供するDDI関数では、
LASTDATAにセットされている前回のデータタイプと今回
のデータを比較し、lastDataTypeが同じ場合には、タイ
プ別圧縮処理関数をコールし、違う場合は、一次バッフ
ァ3024内のデータからPDFの生成を行う。Typedef struct {enum_ELEMTYPE lastDataType; // previous data type WORD lastPenIndex; // previous data pen information WORD lastBrushIndex; // previous data brush information DRAWMODE lastDrawMode; // previous data DrawMode RECT lastboundRect; // previous data // The circumscribed rectangle of the previous data RECT BoundRect; // The circumscribed rectangle of the entire previous data LPSTR lpstart; // The start pointer of the compressed data LPSTR lplast; // The current final pointer of the previous data WORD bufsize; // The primary buffer size} LASTDATA; Printer driver 3023 Provides the DDI function
The last data type set in LASTDATA is compared with the current data. If the lastDataType is the same, a compression processing function for each type is called, and if different, a PDF is generated from the data in the primary buffer 3024. .
【0093】このような処理手順を図5のフローチャー
トを参照して説明する。一次バッファ3024にデータ
がセットされているか否かを判定し(S601)、セッ
トされていると判定した場合は、一次バッファ3024
に格納されている描画データのタイプ、属性(ブラシ、
ペン、論理演算種)と同じか否かを判定する(S60
2)。同じでないと判定した場合は、S604に移行
し、同じと判定した場合は、渡されたデータが1次バッ
ファ3024内に格納可能なサイズか否かを判定する
(S603)。格納可能なサイズと判定した場合は、S
605に移行する。Such a processing procedure will be described with reference to the flowchart of FIG. It is determined whether data is set in the primary buffer 3024 (S601). If it is determined that data is set, the primary buffer 3024 is set.
The type and attributes of the drawing data stored in the
(Pen, logical operation type) (S60)
2). If it is determined that they are not the same, the process proceeds to S604, and if it is determined that they are the same, it is determined whether or not the passed data has a size that can be stored in the primary buffer 3024 (S603). If the size is determined to be storable, S
The process moves to 605.
【0094】他方、格納可能なサイズでないと判定した
場合は(S603)、一次バッファ3024に格納され
ている描画データからPDFを作成し、格納したデータ
部のサイズをPDFヘッダのCount706にセットし、L
ASTDATAをクリアし(S604)、その後、S605に
移行する。On the other hand, if it is determined that the size is not a storable size (S603), a PDF is created from the drawing data stored in the primary buffer 3024, and the size of the stored data portion is set in the Count 706 of the PDF header. L
ASTDATA is cleared (S604), and thereafter, the process proceeds to S605.
【0095】他方、一次バッファ3024にデータがセ
ットされていないと判定した場合は(S601)、S6
05に移行する。On the other hand, if it is determined that no data has been set in the primary buffer 3024 (S601), the process proceeds to S6.
Move to 05.
【0096】そして、現在のDDI関数に渡された描画
データをデータタイプ別圧縮関数に渡して一次バッファ
3024にセットし(S605)、LASTDATAを更新する
(S606)。すなわち、lastDataType、lastPenInde
x、lastBrushIndex、lastDrawModeに対しては、それぞ
れ、変更があった場合はセットし、lastboundRectに対
しては、今回の描画命令の外接矩形をセットし、BoundR
ectに対しては、前回のBoundRectと今回の外接矩形のA
NDをとり、lpstartに対しては、一次バッファ302
4の先頭アドレスを変更せず、lplastは一次バッファ3
024内の現在のデータに付加したデータ部を指し示す
ポインタ、すなわち、最終ポインタであり、bufsizeは
今回付加したデータのデータサイズを加算した結果を示
す。Then, the drawing data passed to the current DDI function is passed to the compression function for each data type and set in the primary buffer 3024 (S605), and LASTDATA is updated (S606). That is, lastDataType, lastPenInde
For x, lastBrushIndex, and lastDrawMode, set if there is a change, respectively. For lastboundRect, set the circumscribed rectangle of the current drawing instruction.
For ect, the previous BoundRect and the current bounding rectangle A
ND, and for lpstart, the primary buffer 302
Lplast is the primary buffer 3 without changing the start address of 4
A pointer indicating the data portion added to the current data in 024, that is, the last pointer, and bufsize indicates the result of adding the data size of the data added this time.
【0097】そして、描画命令が全て終了していない場
合は(S607)、S601に戻り、終了した場合は、
一次バッファ3024に描画データが残っていたら、こ
の残っている描画データからPDFを作成する。If all drawing commands have not been completed (S607), the process returns to S601.
If drawing data remains in the primary buffer 3024, a PDF is created from the remaining drawing data.
【0098】この例では、ヘッダ401に、データ部の
サイズの総計を入れるようにしたが、データ部のサイズ
の総計に代えて、ヘッダ401に、ヘッダ401に付加
されたデータ部の数を入れるようにし、データ部のサイ
ズの総計は、データ部の数分のデータ部のサイズの累計
して求めるようにしてもよい。In this example, the total size of the data portion is put in the header 401. However, instead of the total size of the data portion, the number of data portions added to the header 401 is put in the header 401. In this way, the total size of the data part may be obtained by summing up the size of the data part for the number of data parts.
【0099】次に、データ部の圧縮によるデータサイズ
の削減()について説明する。一次バッファ3024
に既に格納されている描画命令と同一タイプの描画命令
がコールされたときに、コールされるデータタイプ別圧
縮関数は、座標空間の連続性等を活かして、データ部の
圧縮処理を行う。ここで、具体例として、Windows 9x、
Ountput(Scanline)の圧縮方法を説明する。 (Output(Scanline)圧縮アルゴリズム)まず、図6を参
照して、Output(Scanline)関数を説明する。DDIの1
つであるOutput関数の第2引数にOS_SCANLINESTがセッ
トされているとき、lpPointsが指し示すPOINT構造体配
列は、 lpPoints[0]->y:Y座標 lpPoints[1]->:左座標、lpPoints[1]->:右座標 を示す。Next, the reduction of the data size by compressing the data part () will be described. Primary buffer 3024
When a rendering command of the same type as the rendering command already stored in the data type is called, the called compression function for each data type performs a compression process on the data portion by utilizing the continuity of the coordinate space. Here, as specific examples, Windows 9x,
The compression method of Ountput (Scanline) will be described. (Output (Scanline) Compression Algorithm) First, the Output (Scanline) function will be described with reference to FIG. DDI 1
When OS_SCANLINEST is set to the second argument of the Output function, the POINT structure array pointed to by lpPoints is: lpPoints [0]-> y: Y coordinate lpPoints [1]->: Left coordinate, lpPoints [1 ]->: Indicates the right coordinate.
【0100】wCountはlpPoints配列の個数を示すが、ス
キャンラインが1本の場合は、2、2本の場合は3、
…、n本の場合はn+1がセットされる。WCount indicates the number of lpPoints arrays, and is 2 when the number of scan lines is 1 and 3 when the number of scan lines is 2.
.., N + 1 is set in the case of n lines.
【0101】図7はOuntput関数で、複数回、Scanline
描画の指定を受けたときに、圧縮処理を行わない場合の
動きと、以上2つの手法を組み合わせた場合の動きを示
す。描画領域800に図形802を描画する場合、Wind
ow 9xはOutput関数801を使って、Y座標の小さい方
から順にScanline描画を指定してくる場合がある。FIG. 7 shows the Mountput function.
The movement when compression processing is not performed when a drawing instruction is received and the movement when the above two methods are combined are shown. When drawing the figure 802 in the drawing area 800, Wind
The ow 9x may use the Output function 801 to specify Scanline drawing in order from the smaller Y coordinate.
【0102】1つのOutput関数に対して1つのヘッダを
持つPDF803を作ると、同一のブラシやペンのよう
な重複データが何度も登録されることになる(803を
参照)。When a PDF 803 having one header for one Output function is created, duplicate data such as the same brush or pen is registered many times (see 803).
【0103】また、第1の方法によって、同一ブラシ、
ペン、描画属性がこれらの情報を1つのヘッダとして扱
うことにより、ヘッダサイズの削減が可能である(80
4を参照)。Further, the same brush,
The pen and drawing attributes treat these pieces of information as one header, so that the header size can be reduced (80).
4).
【0104】さらに、Scanlineどうしが接している場合
(802を参照)、次のような方法によって全座標情報
を保持するよりも、データサイズを小さくすることが可
能である。Further, when the Scanlines are in contact with each other (see 802), the data size can be reduced as compared with the case where all coordinate information is held by the following method.
【0105】Scanlineデータ圧縮時には、一次バッファ
3024の管理用にLASTDATA以外に次のメンバを必要と
する。すなわち、 typedef struct { WORD repetcnt; //繰り返し回数 WORD lastY; //前回のY座標 WORD lastLeftX; //前回の左X座標 WORD lastRightX; //前回の右X座標 WORD delLeftX; //前回の左X座標変化量 WORD delRightX; //前回の右X座標変化量 }CMPSCNLINES; CMPSCNLINESを使ってScanlineの情報を蓄えることによ
り、次のコマンドを生成する。When compressing Scanline data, the following members are required in addition to LASTDATA for managing the primary buffer 3024. That is, typedef struct {WORD repetcnt; // number of repetitions WORD lastY; // previous Y coordinate WORD lastLeftX; // previous left X coordinate WORD lastRightX; // previous right X coordinate WORD delLeftX; // previous left X Coordinate change amount WORD delRightX; // The previous right X coordinate change amount} CMPSCNLINES; The following command is generated by storing Scanline information using CMPSCNLINES.
【0106】次に、図8を参照してコマンドデータ構成
を説明する。コマンドとは、COMPSCANLINEデータ部の最
上位4ビット部を使い、圧縮したデータ識別用に設けら
れたコード(0〜15)を示し、その値により圧縮され
たデータ構造が異なる(図8参照)。Next, the command data structure will be described with reference to FIG. The command indicates a code (0 to 15) provided for identifying compressed data using the most significant 4-bit portion of the COMPSCANLINE data portion, and the compressed data structure differs depending on the value (see FIG. 8).
【0107】Windows9xプリンタドライバは16ビット
空間で動作するため、コマンドの最小単位は16ビット
を使っている。Since the Windows 9x printer driver operates in a 16-bit space, the minimum command unit uses 16 bits.
【0108】コマンドコード1は、前スキャンラインと
の差分を示すコマンドである。前回の座標データと今回
の座標データを比較し、Y座標変化量が+1、left側座
標は前回と同じで、かつright側座標変化量を11ビッ
トで表現可能な変化範囲の場合に使用される(ビット長
は12だが、12ビットのうちの1ビットは正負符号に
使用される)。The command code 1 is a command indicating a difference from the previous scan line. The previous coordinate data is compared with the current coordinate data, and the Y coordinate change amount is +1; the left side coordinate is the same as the previous time; and the right side coordinate change amount is used when the change range can be expressed by 11 bits. (The bit length is 12, but one of the 12 bits is used for the sign.)
【0109】コマンドコード2は、Y座標変化量が+
1、right側座標が前回と同じで、かつleft座標変化量
を11ビットで表現可能な場合に使われる。Command code 2 has a Y coordinate variation of +
1. Used when the right side coordinate is the same as the previous time and the left coordinate change amount can be represented by 11 bits.
【0110】コマンドコード3は、前スキャンラインと
の差分を示すコマンドである。前回の座標データと今回
の座標データを比較し、Y座標変化量が+1、leftおよ
びright座標変化が5ビットで表現可能な変化範囲の場
合に使用される(ビット長は6であるが、6ビットのう
ちの1ビットは正負符号に使用される)。The command code 3 is a command indicating a difference from the previous scan line. The previous coordinate data and the present coordinate data are compared, and the Y coordinate change amount is used when the change amount is +1 and the left and right coordinate changes are within a change range that can be expressed by 5 bits (the bit length is 6 but 6 One of the bits is used for the sign).
【0111】コマンド15は、前回と今回の座標データ
を比較することにより求められるコマンドコード番号が
前回のものと同じ場合、その連続数を12ビットで表現
できるときに使用される。なお、12ビット以上になる
ときは、コマンド0を使用して初期座標の再設定を行
う。The command 15 is used when the command code number obtained by comparing the previous and current coordinate data is the same as that of the previous command, when the continuous number can be represented by 12 bits. When the number of bits becomes 12 bits or more, the initial coordinates are reset using command 0.
【0112】(コマンド使用例)圧縮コマンドは基本的
に、[初期座標]、[変化分コマンド]の連続である。(Example of Command Use) A compression command is basically a sequence of [initial coordinates] and [change command].
【0113】次に、コマンド排出例を示す。Next, an example of command ejection will be described.
【0114】(1)縦一直線 縦一直線の場合は、長さ分連続する変化分0のSCANLINE
となる。従って、コマンドは [(番号0)(初期座標)] [(番号15)(連続数=長さ)] [(番号3)(左変化分=0)(右変化分=0)] となる。(1) Vertical straight line In the case of a vertical straight line, a SCANLINE with a continuous change of 0 for the length
Becomes Therefore, the command is [(No. 0) (initial coordinates)] [(No. 15) (continuous number = length)] [(No. 3) (left change = 0) (right change = 0)].
【0115】(2)斜め45度線 斜め45度線の場合は、左右変化分が1となる場合がほ
とんどである。よって「長さ分連続する変化分1のSCAN
LINE」となるので、コマンドは、 [(番号0)(初期座標)] [(番号15)(連続数=長さ)] [(番号3)(左変化分=1)(右変化分=1)] となる。(2) 45-degree Oblique Line In the case of the 45-degree oblique line, the left-right change amount is almost always 1. Therefore, "SCAN of change 1 that is continuous for the length
LINE ", the command is [(No. 0) (initial coordinates)] [(No. 15) (Continuous number = length)] [(No. 3) (Left change = 1) (Right change = 1) )].
【0116】(3)斜め線 一般的な斜め線では、各SCANLINE毎の変化分はまちまち
である。そこで、変化分が変わったその都度コマンドを
発行する。 [(番号0)(初期座標)] [(番号3)(左変化分)(右変化分)] [(番号3)(左変化分)(右変化分)] [(番号3)(左変化分)(右変化分)] … … となる。(3) Diagonal line In a general diagonal line, the variation for each SCANLINE varies. Therefore, a command is issued each time the change is changed. [(No. 0) (initial coordinates)] [(No. 3) (Left change) (Right change)] [(No. 3) (Left change) (Right change)] [(No. 3) (Left change Min) (change to the right)] ...
【0117】次に、図6を説明する。図6はで説明し
たへッダ部と、で説明したコマンド部の関係を示す。
図6において、701はヘッダ、702は圧縮データ部
を示す。ヘッダ701は図3の非圧縮データと同じ要素
で構成してある。フィールド703はSCANLINEの圧縮デ
ータであることを示すELEM_CMPSCANLINESがセットする
ことにより、Scanline圧縮データであることを示す。Next, FIG. 6 will be described. FIG. 6 shows the relationship between the header section described in the section and the command section described in the section.
In FIG. 6, reference numeral 701 denotes a header, and 702 denotes a compressed data part. The header 701 is composed of the same elements as the uncompressed data in FIG. A field 703 indicates that the data is Scanline compressed data by setting ELEM_CMPSCANLINES indicating that the data is SCANLINE compressed data.
【0118】データ部702は必ず圧縮コマンドで始ま
っており、初期座標を示すCommand-0がフィールド70
9に格納してある。Command-0に続いて、フィールド7
10、711、712で、Y座標、左X座標、右X座標
を示す。The data section 702 always starts with a compression command, and Command-0 indicating initial coordinates is set in the field 70.
9. Field 7 following Command-0
Reference numerals 10, 711, and 712 indicate a Y coordinate, a left X coordinate, and a right X coordinate.
【0119】フィールド713のCommand-15は、その次
のCommand-3の繰り返し回数を指定するコマンドであ
る。Command-15 in the field 713 is a command for specifying the number of repetitions of the next Command-3.
【0120】次に、以上の圧縮Scanlineコマンド生成処
理の流れを図9のフローチャートを参照して説明する。
次のような処理は図5のS605の内部処理に相当す
る。Next, the flow of the above-described compressed Scanline command generation processing will be described with reference to the flowchart of FIG.
The following processing corresponds to the internal processing of S605 in FIG.
【0121】一次キャッシュに格納されている前回のSc
anlineデータのY座標LastYと、今回のScanlineのY座
標の差delYを求める(S901)。ここで、一次キャッ
シュ内に未格納時はdelY=0である。そして、delY=0
であれば(S902)、今回のScanlineの左XとlastLe
ftX、右XとlastRightXとの差分を求める(S90
3)。ついで、左右とも前回の差分lastLeftX、lastRig
htXと同じであれば(S904)、繰り返しカウンタrep
tcntをカウントアップし(S910)、lastLeftXおよ
びlastRightXを更新し(S911)、その後、この処理
を終了する。Previous Sc stored in primary cache
The difference delY between the Y coordinate LastY of the anline data and the Y coordinate of the current Scanline is obtained (S901). Here, delY = 0 when not stored in the primary cache. And delY = 0
If (S902), the left X and lastLe of this Scanline
ftX, find the difference between right X and lastRightX (S90
3). Next, left and right last difference lastLeftX, lastRig
If it is the same as htX (S904), repeat counter rep
tcnt is counted up (S910), lastLeftX and lastRightX are updated (S911), and then this processing is terminated.
【0122】他方、delY=0でない場合は(S90
2)、S905に移行する。そして、繰り返しカウンタ
reptcnt≠0か否かを判定する(S905)。そして、
繰り返しカウンタreptcnt≠0と判定した場合は、新規
座標コマンド(CmndNo.0)でY座標、左右X座標を一次
バッファ3024に保持し(S908)、lastLeftXお
よびlastRightXにS907でセットした左右X座標をセ
ットし、delLeftXおよびdelRightXを0で初期化する
(S909)。その後、この処理を終了する。On the other hand, if delY is not 0 (S90)
2), proceed to S905. And a repetition counter
It is determined whether or not reptcnt ≠ 0 (S905). And
When it is determined that the repetition counter is reptcnt ≠ 0, the new coordinate command (CmndNo.0) holds the Y coordinate and the left / right X coordinate in the primary buffer 3024 (S908), and sets the left and right X coordinates set in S907 in lastLeftX and lastRightX. Then, delLeftX and delRightX are initialized to 0 (S909). After that, this processing ends.
【0123】他方、繰り返しカウンタreptcnt≠0と判
定した場合は、連続コマンド(CmndNo.15)を一次バッ
ファ3024にバッファリングし、続けてdelLeftXおよ
びdeltRightXを示すコマンドをバッファリングし(S9
06)、データ部のサイズをCount(705)にセットする
(S907)。その後、S908に移行する。On the other hand, if it is determined that the repetition counter is reptcnt ≠ 0, the continuous command (CmndNo. 15) is buffered in the primary buffer 3024, and subsequently, commands indicating delLeftX and deltRightX are buffered (S9).
06), the size of the data part is set to Count (705) (S907). After that, the processing shifts to S908.
【0124】他方、どちらか1つでも違う場合は(S9
04)、S905に移行する。On the other hand, if any one of them is different (S9
04), the process proceeds to S905.
【0125】次に、圧縮データのデスプール(解凍)方
法を図10のフローチャートを参照して説明する。ここ
で、デスプーラ3032で既にScanline圧縮データであ
ることが判明しているものとする。Next, a method of despooling (decompressing) compressed data will be described with reference to the flowchart of FIG. Here, it is assumed that the despooler 3032 has already determined that the data is Scanline compressed data.
【0126】ヘッダ701(図6)から、ブラシ、ペ
ン、論理演算値のような描画属性パラメータを読み込
み、PDLモード時であれば、PDLコマンドに、イメ
ージモード時であれば描画属性として登録する(S10
01)。ヘッダ701のCount705の値を伸張処理用
変数Cntにセットする(S1002)。ここに、Count7
05にはデータ部702のデータサイズが圧縮処理時に
セットされる。そして、データ部のデータを1コマンド
分読み込み(S1003)、読み込んだデータが初期座
標コマンド(Command-0)であるか否かを判定する(S
1004)。The drawing attribute parameters such as a brush, a pen, and a logical operation value are read from the header 701 (FIG. 6), and are registered as PDL commands in the PDL mode and as drawing attributes in the image mode ( S10
01). The value of Count 705 of the header 701 is set in the decompression processing variable Cnt (S1002). Here, Count7
In 05, the data size of the data section 702 is set at the time of compression processing. Then, the data of the data portion is read for one command (S1003), and it is determined whether or not the read data is an initial coordinate command (Command-0) (S1003).
1004).
【0127】そして、読み込んだデータが初期座標コマ
ンド(Command-0)と判定した場合は、現在位置を示す
変数lastPosに初期座標をセット、データ部の次データ
を読み込む(S1005)。そして、読み込んだデータ
が繰り返しを示すコマンド(Command-15)であるか否か
を判定する(S1006)。If it is determined that the read data is the initial coordinate command (Command-0), the initial coordinate is set in a variable lastPos indicating the current position, and the next data in the data part is read (S1005). Then, it is determined whether the read data is a command (Command-15) indicating repetition (S1006).
【0128】そして、読み込んだデータが繰り返しを示
すコマンド(Command-15)と判定した場合は、繰り返し
回数を変数delYにセットし、次データを読み込む(S1
007)。ただし、このデータは、左右のX座標値の前
回との差分を示すものであり、差分値によって、コマン
ド番号、データサイズが異なる。If it is determined that the read data is a command indicating repetition (Command-15), the number of repetitions is set in a variable delY, and the next data is read (S1).
007). However, this data indicates the difference between the left and right X coordinate values from the previous time, and the command number and data size differ depending on the difference value.
【0129】そして、左右のX座標の差分が共に0であ
るか否かを判定し(S1008)、ともに0でないと判
定した場合は、lastPosを1辺、高さdelY、左右の変化
量一定の台形描画を意味する。イメージモードであれ
ば、多角形描画処理を行い、PDLモードであれば、多
角形描画命令を生成する(S1010)。lastPosを更
新し、各処理系で読み込んだデータサイズ分だけ、Cnt
を更新し(S1012)、Cntが0でなければ、S10
03に戻り、Cntが0であれば、この処理を終了する。Then, it is determined whether or not the difference between the left and right X coordinates is both 0 (S1008). If both are not 0, the lastPos is set to one side, the height delY, and the left and right change amount is fixed. It means trapezoidal drawing. In the image mode, a polygon drawing process is performed. In the PDL mode, a polygon drawing command is generated (S1010). LastPos is updated, and only the data size read by each processing system, Cnt
Is updated (S1012), and if Cnt is not 0, S10
Returning to 03, if Cnt is 0, this process ends.
【0130】他方、左右のX座標の差分が共に0である
と判定した場合は(S1008)、lastPosを1辺、高
さdelYの矩形描画を意味する。イメージモードであれば
矩形描画処理を、PDLモードであれば矩形描画命令を
生成(S1009)。その後、S1012に移行する。On the other hand, if it is determined that the difference between the left and right X coordinates is 0 (S1008), it means a rectangular drawing with one side of lastPos and a height of delY. In the image mode, a rectangle drawing process is generated, and in the PDL mode, a rectangle drawing command is generated (S1009). Thereafter, the flow shifts to S1012.
【0131】他方、読み込んだデータが初期座標コマン
ド(Command-0)でないと判定した場合は(S100
4)、左右×差分とlastPosから今回描画するScanline
の座標値を算出し、イメージモードであれば、Scanline
描画処理を、PDLモードであれば、Scanline描画命令
を生成し(S1011)、その後、S1012に移行す
る。On the other hand, if it is determined that the read data is not the initial coordinate command (Command-0) (S100
4), Scanline to draw this time from left / right x difference and lastPos
Calculate the coordinate values of
If the drawing process is in the PDL mode, a Scanline drawing command is generated (S1011), and then the process proceeds to S1012.
【0132】他方、読み込んだデータが繰り返しを示す
コマンド(Command-15)でないと判定した場合は、S1
011に移行する。On the other hand, if it is determined that the read data is not a command (Command-15) indicating repetition, the process proceeds to S1.
011.
【0133】以上、本発明の一実施の形態を説明した
が、同一図形をOSが別関数で描画指定をしてきた場合
も、スプールオブジェクト個数、スプールデータサイズ
を押さえることができ、より高速な印刷処理が可能とな
る。As described above, an embodiment of the present invention has been described. Even when the same graphic is drawn by the OS using another function, the number of spool objects and the spool data size can be suppressed, and higher-speed printing can be performed. Processing becomes possible.
【0134】本発明は、複数の機器(例えばホストコン
ピュータ、インタフエイス機器、リーダ、プリンタな
ど)から構成されるシステムに適用しても、1つの機器
からなる装置(例えば、複写機、ファクシミリ装置な
ど)に適用しても良い。Even if the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), a device including one device (for example, a copying machine, a facsimile machine, etc.) ) May be applied.
【0135】また、本発明の目的は、前述した実施形態
の機能を実現するプリンタドライバと呼ばれるソフトウ
ェアプログラムコードを記録した記憶媒体を、システム
あるいは装置に供給し、そのシステムあるいは装置のコ
ンピュータ(またはCPUやMPU)が記憶媒体に格納
されたプログラムコードを読み出し実行することによっ
ても、達成されることは言うまでもない。Further, an object of the present invention is to supply a storage medium storing a software program code called a printer driver for realizing the functions of the above-described embodiment to a system or an apparatus, and to provide a computer (or CPU) of the system or the apparatus. And MPU) read out and execute the program code stored in the storage medium.
【0136】この場合、記憶媒体から読み出されたプロ
グラムコード事態が前述した実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。In this case, the program code read out from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.
【0137】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピー(登録商標)ディス
ク、ハードディスク、光ディスク、光磁気ディスク、C
D−ROM、CD−R、磁気テープ、不揮発性のメモリ
カード、ROMなどを用いることができる。As a storage medium for supplying the program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, C
A D-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
【0138】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOS(oper
ating system)などが実際の処理の一部または全部を行
い、その処理によって前述した実施形態の機能が実現さ
れる場合も含まれることは言うまでもない。When the computer executes the readout program code, not only the functions of the above-described embodiment are realized, but also the OS (operator) running on the computer based on the instruction of the program code.
Needless to say, a case where the functions of the above-described embodiments are implemented by performing a part or all of the actual processing by an operating system or the like is also included.
【0139】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部または全部を行
い、その処理によって前述した実施形態の機能が実現さ
れる場合も含まれることはいうまでもない。Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, based on the instructions of the program code, It goes without saying that the CPU included in the function expansion board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
【0140】本発明を記憶媒体に適応する場合、その記
憶媒体には、先に説明したフローチャートに対応するプ
ログラムコードを格納することになる。When the present invention is applied to a storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
【0141】[0141]
【発明の効果】以上説明したように、本発明によれば、
上記のように構成したので、より高速な印刷処理を行う
ことができる。As described above, according to the present invention,
With the configuration described above, higher-speed printing processing can be performed.
【図1】本発明の一実施の形態を示すブロック図であ
る。FIG. 1 is a block diagram showing an embodiment of the present invention.
【図2】図1のカラーレーザビームプリンタ1の構造を
示す断面図である。FIG. 2 is a sectional view showing the structure of the color laser beam printer 1 of FIG.
【図3】非圧縮PDFの構造を示す模式図である。FIG. 3 is a schematic diagram illustrating a structure of an uncompressed PDF.
【図4】Rectangle描画命令を使ったグラデーション描
画方法を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a gradation drawing method using a Rectangle drawing command.
【図5】描画属性が同じ描画命令のヘッダを共通化した
場合の処理手順の一例を示すフローチャートである。FIG. 5 is a flowchart illustrating an example of a processing procedure when a header of a drawing command having the same drawing attribute is shared.
【図6】Windows9xのOoutput関数で渡されたScanlineデ
ータ部を圧縮したPDPの一例を示す模式図である。FIG. 6 is a schematic diagram showing an example of a PDP obtained by compressing a Scanline data part passed by an Ooutput function of Windows 9x.
【図7】Windows9xのScanlineで図形を描画した様子
と、従来のPDFと一実施の形態によるPDFの違いを
示す模式図である。FIG. 7 is a schematic diagram showing a state in which a figure is drawn by Scanline of Windows 9x and a difference between a conventional PDF and a PDF according to an embodiment.
【図8】コマンドコードの構成を示す模式図である。FIG. 8 is a schematic diagram showing a configuration of a command code.
【図9】別関数で送られてきたScanlineデータを圧縮す
る方法の一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of a method for compressing Scanline data sent by another function.
【図10】圧縮したScanlineデータを伸張する処理方法
の一例を示すフローチャートである。FIG. 10 is a flowchart illustrating an example of a processing method for expanding compressed Scanline data.
【図11】従来の描画方法を説明するためのブロック図
である。FIG. 11 is a block diagram for explaining a conventional drawing method.
1 カラーレーザビームプリンタ 3 ホストコンピュータ 110 フォーマッタ制御部 111 インタフェース部 113 コマンド解析部 114 印刷制御処理実行部 115 描画処理実行部 116 ページメモリ 120 オペレーション・パネル 130 出力制御部 150 プリンタエンジン 301 アプリケーションソフトウェア 302 グラフィックサブシステム 303 スプールサブシステム 310 キーボード 311 マウス 320 ディスプレイモニタ 1121 受信バッファ 1122 送信バッファ 3021 GDI 3022 DDIインタフェース 3023 プリンタドライバ 3024 一次バッファ 3031 PDF 3032 デスプーラ 3033 PDLモード系トランスレータ 3034〜3036 イメージモード系トランスレータ 3037 バンドメモリ 3038 インタフェース部 Reference Signs List 1 color laser beam printer 3 host computer 110 formatter control unit 111 interface unit 113 command analysis unit 114 print control processing execution unit 115 drawing processing execution unit 116 page memory 120 operation panel 130 output control unit 150 printer engine 301 application software 302 graphic sub System 303 Spool subsystem 310 Keyboard 311 Mouse 320 Display monitor 1121 Receive buffer 1122 Transmit buffer 3021 GDI 3022 DDI interface 3023 Printer driver 3024 Primary buffer 3031 PDF 3032 Despooler 3033 PDL mode translator 3034-3036 Image mode translator 30 7-band memory 3038 interface unit
Claims (30)
する画像処理装置であって、 印刷命令を、中間データ形式の描画データに変換し、か
つ描画属性情報とデータ種別情報と抽出する変換手段
と、 前記変換手段により得られた中間データ形式の描画デー
タの描画属性およびデータ種別情報が同一である複数の
描画データをまとめて一時的にスプールするスプール手
段と、 前記スプール手段によりスプールされる描画データに基
づいて印刷データを生成する印刷データ生成手段とを有
することを特徴とする画像処理装置。1. An image processing apparatus for generating print data to be transmitted to be printed, comprising: a conversion unit configured to convert a print command into rendering data in an intermediate data format and to extract rendering attribute information and data type information. Spooling means for temporarily spooling a plurality of pieces of drawing data having the same drawing attribute and data type information of the drawing data in the intermediate data format obtained by the converting means; and drawing spooled by the spooling means. An image processing apparatus, comprising: print data generation means for generating print data based on data.
ットマップ展開されたイメージデータであることを特徴
とする画像処理装置。2. The image processing apparatus according to claim 1, wherein the print data is bitmap-developed image data.
は、 前記変換手段による変換より得られた中間データ形式の
描画データを保持するための保持手段と、 前記変換手段による変換より得られた中間データ形式の
描画データの有するヘッダの描画属性情報およびデータ
種別情報が、前記保持手段に保持されている前回更新さ
れた中間データ形式の描画データのヘッダの描画属性情
報およびデータ種別情報と同一か否かを判定する同一判
定手段と、 該同一判定手段により肯定判定された場合に、前記前回
更新された中間データ形式の描画データのヘッダのデー
タカウンタ値を1だけインクリメントし、該前回更新さ
れた中間データ形式の描画データの最後尾に、前記変換
手段による変換より得られた中間データ形式の描画デー
タのデータフィールドのみを付加する第1更新手段と、 前記保持手段による中間データ形式の描画データ保持終
了後、前記保持手段の中間データ形式の描画データから
印刷データを生成する印刷データ生成手段とを有するこ
とを特徴とする画像処理装置。3. The storage device according to claim 1, wherein the spooling unit holds a drawing data in an intermediate data format obtained by the conversion by the conversion unit, and the intermediate data obtained by the conversion by the conversion unit. Whether the drawing attribute information and data type information of the header of the drawing data in the format are the same as the drawing attribute information and data type information of the header of the previously updated intermediate data format drawing data held in the holding unit And a data counter value of a header of the previously updated intermediate data format drawing data is incremented by 1 when the same determination unit makes an affirmative determination, and the previously updated intermediate data At the end of the drawing data in the format, a data feed of the drawing data in the intermediate data format obtained by the conversion by the conversion means is provided. First update means for adding only fields, and print data generating means for generating print data from the intermediate data format drawing data of the holding means after the holding means finishes holding the intermediate data format drawing data. Characteristic image processing device.
手段は、前記ヘッダの属性が変化するか、前記保持手段
に入りきれなくなるか、あるいは、ページの最後を示す
命令が来た場合に、前記保持手段の中間データ形式の描
画データから印刷データを生成することを特徴とする画
像処理装置。4. The print data generating unit according to claim 3, wherein the print data generating unit changes the attribute of the header, becomes unable to fit in the holding unit, or receives an instruction indicating the end of a page. An image processing apparatus for generating print data from drawing data in an intermediate data format in a holding unit.
ドの描画座標が、最後尾のデータフィールドの描画座標
に対して、相対座標と、該相対座標の繰り返し回数とで
表すことが可能か否かを判定する判定手段と、 該判定手段により肯定判定された場合に、相対座標と、
該相対座標の繰り返し回数とを表すコマンドコードを生
成するコマンドコード生成手段と、 該コマンドコード生成手段により生成されたコマンドコ
ードを前記最後尾のデータフィールドにオーバライトす
る第2更新手段とをさらに有することを特徴とする画像
処理装置。5. The drawing coordinate system according to claim 3, wherein the drawing coordinates of the data field obtained by the conversion by the conversion unit are relative coordinates with respect to the drawing coordinates of the last data field, and the number of repetitions of the relative coordinates. Determining means for determining whether or not it can be represented; and when the determination means makes an affirmative determination, relative coordinates;
Command code generating means for generating a command code representing the number of repetitions of the relative coordinates, and second updating means for overwriting the command code generated by the command code generating means on the last data field. An image processing apparatus characterized by the above-mentioned.
ータカウンタ値情報に代えてデータサイズ情報を有する
ことを特徴とする画像処理装置。6. The image processing apparatus according to claim 3, wherein the header has data size information instead of the data counter value information.
ージ記述言語で記述されたデータであることを特徴とす
る画像処理装置。7. The image processing apparatus according to claim 1, wherein the print data is data described in a page description language.
手段は、前記ヘッダの属性が変化するか、前記保持手段
に入りきれなくなるか、あるいは、ページの最後を示す
命令が来た場合に、前記保持手段の中間データ形式の描
画データに基づきページ記述言語で記述されたデータを
生成することを特徴とする画像処理装置。8. The print data generating unit according to claim 7, wherein the print data generating unit changes the attribute of the header, becomes unable to fit in the holding unit, or receives a command indicating the end of a page. An image processing apparatus for generating data described in a page description language based on drawing data in an intermediate data format of a holding unit.
ドの描画座標が、最後尾のデータフィールドの描画座標
に対して、相対座標と、該相対座標の繰り返し回数とで
表すことが可能か否かを判定する判定手段と、 該判定手段により肯定判定された場合に、相対座標と、
該相対座標の繰り返し回数とを表すコマンドコードを生
成するコマンドコード生成手段と、 該コマンドコード生成手段により生成されたコマンドコ
ードを前記最後尾のデータフィールドにオーバライトす
る第2更新手段とをさらに有することを特徴とする画像
処理装置。9. The drawing coordinate system according to claim 7, wherein the drawing coordinates of the data field obtained by the conversion by the conversion unit are relative coordinates with respect to the drawing coordinates of the last data field, and the number of repetitions of the relative coordinates. Determining means for determining whether or not it can be represented; and when the determination means makes an affirmative determination, relative coordinates;
Command code generating means for generating a command code representing the number of repetitions of the relative coordinates, and second updating means for overwriting the command code generated by the command code generating means on the last data field. An image processing apparatus characterized by the above-mentioned.
データカウンタ値情報に代えてデータサイズ情報を有す
ることを特徴とする画像処理装置。10. The image processing apparatus according to claim 7, wherein the header has data size information instead of the data counter value information.
成する画像処理方法であって、 印刷命令を、中間データ形式の描画データに変換し、か
つ描画属性情報とデータ種別情報と抽出する変換ステッ
プと、 前記変換ステップにて得た中間データ形式の描画データ
の描画属性およびデータ種別情報が同一である複数の描
画データをまとめて一時的にスプールするスプールステ
ップと、 前記スプールステップにてスプールした描画データに基
づいて印刷データを生成する印刷データ生成ステップと
を有することを特徴とする画像処理方法。11. An image processing method for generating print data to be transmitted and to be transmitted, the method comprising: converting a print command into drawing data in an intermediate data format, and extracting drawing attribute information and data type information. A spooling step of temporarily spooling together a plurality of pieces of drawing data having the same drawing attribute and data type information of the drawing data in the intermediate data format obtained in the conversion step; and a drawing spooled in the spooling step. A print data generating step of generating print data based on the data.
はビットマップ展開されたイメージデータであることを
特徴とする画像処理方法。12. The image processing method according to claim 11, wherein the print data is bitmap-decompressed image data.
テップは、 前記変換ステップにて得た中間データ形式の描画データ
の有するヘッダの描画属性情報およびデータ種別情報
が、前記変換ステップにて得た中間データ形式の描画デ
ータを保持するための保持手段に保持されている前回更
新された中間データ形式の描画データのヘッダの描画属
性情報およびデータ種別情報と同一か否かを判定する同
一判定ステップと、 該同一判定ステップにて肯定判定した場合に、前記前回
更新した中間データ形式の描画データのヘッダのデータ
カウンタ値を1だけインクリメントし、該前回更新した
中間データ形式の描画データの最後尾に、前記変換ステ
ップにて得た中間データ形式の描画データのデータフィ
ールドのみを付加する第1更新ステップと、 前記保持手段に中間データ形式の描画データの保持が終
了した後、前記保持手段の中間データ形式の描画データ
から印刷データを生成する印刷データ生成ステップとを
有することを特徴とする画像処理方法。13. The spooling step according to claim 11, wherein the rendering attribute information and the data type information of the header of the rendering data in the intermediate data format obtained in the conversion step are obtained by the intermediate data obtained in the conversion step. A determination step of determining whether or not the drawing attribute information and data type information of the header of the previously updated intermediate data format held in the holding unit for storing the format drawing data are the same as the drawing data; If an affirmative determination is made in the same determination step, the data counter value of the header of the previously updated intermediate data format drawing data is incremented by one, and the conversion data is added to the end of the last updated intermediate data format drawing data. A first updating step of adding only the data field of the drawing data in the intermediate data format obtained in the step, A print data generating step of generating print data from the intermediate data format drawing data of the holding unit after the holding unit finishes holding the intermediate data format drawing data.
生成ステップは、前記ヘッダの属性が変化するか、前記
保持手段に入りきれなくなるか、あるいは、ページの最
後を示す命令が来たときに、保持手段の中間データ形式
の描画データから印刷データを生成することを特徴とす
る画像処理方法。14. The print data generating step according to claim 13, wherein the print data generation step is performed when the attribute of the header is changed, cannot be stored in the storage unit, or when a command indicating the end of the page is received. An image processing method, wherein print data is generated from drawing data in an intermediate data format.
が、最後尾のデータフィールドの描画座標に対して、相
対座標と、該相対座標の繰り返し回数とで表すことが可
能か否かを判定する判定ステップと、 該判定ステップにて肯定判定した場合に、相対座標と、
該相対座標の繰り返し回数とを表すコマンドコードを生
成するコマンドコード生成ステップと、 該コマンドコード生成ステップにて生成したコマンドコ
ードを前記最後尾のデータフィールドにオーバライトす
る第2更新ステップとをさらに有することを特徴とする
画像処理方法。15. The drawing coordinate according to claim 13, wherein the drawing coordinates of the data field obtained in the conversion step are expressed by relative coordinates with respect to the drawing coordinates of the last data field and the number of repetitions of the relative coordinates. A determining step of determining whether or not the above is possible; and, when a positive determination is made in the determining step, relative coordinates;
A command code generating step of generating a command code representing the number of repetitions of the relative coordinates; and a second updating step of overwriting the command code generated in the command code generating step to the last data field. An image processing method comprising:
記データカウンタ値情報に代えてデータサイズ情報を有
することを特徴とする画像処理方法。16. The image processing method according to claim 13, wherein said header has data size information instead of said data counter value information.
はページ記述言語で記述されたデータであることを特徴
とする画像処理方法。17. The image processing method according to claim 11, wherein the print data is data described in a page description language.
処理ステップは、前記ヘッダの属性が変化するか、前記
保持手段に入りきれなくなるか、あるいは、ページの最
後を示す命令が来たときに、前記保持手段の中間データ
形式の描画データに基づきページ記述言語で記述された
データを生成することを特徴とする画像処理方法。18. The print data processing step according to claim 17, wherein the print data processing step is performed when the attribute of the header changes, the header cannot be stored, or a command indicating the end of a page comes. An image processing method for generating data described in a page description language based on drawing data in an intermediate data format of a holding unit.
が、最後尾のデータフィールドの描画座標に対して、相
対座標と、該相対座標の繰り返し回数とで表すことが可
能か否かを判定する判定ステップと、 該判定ステップにて肯定判定した場合に、相対座標と、
該相対座標の繰り返し回数とを表すコマンドコードを生
成するコマンドコード生成ステップと、 該コマンドコード生成ステップにて生成したコマンドコ
ードを前記最後尾のデータフィールドにオーバライトす
る第2更新ステップとをさらに有することを特徴とする
画像処理方法。19. The drawing method according to claim 17, wherein the drawing coordinates of the data field obtained in the conversion step are expressed by relative coordinates with respect to the drawing coordinates of the last data field and the number of repetitions of the relative coordinates. A determining step of determining whether or not the above is possible; and, when a positive determination is made in the determining step, relative coordinates;
A command code generating step of generating a command code representing the number of repetitions of the relative coordinates; and a second updating step of overwriting the command code generated in the command code generating step to the last data field. An image processing method comprising:
記データカウンタ値情報に代えてデータサイズ情報を有
することを特徴とする画像処理方法。20. The image processing method according to claim 17, wherein said header has data size information instead of said data counter value information.
ータに変換し、かつ描画属性情報とデータ種別情報と抽
出する変換手順と、 前記変換手順により得られた中間データ形式の描画デー
タの描画属性およびデータ種別情報が同一である複数の
描画データをまとめて一時的にスプールするスプール手
順と、 前記スプール手順によりスプールされる描画データに基
づいて印刷データを生成する印刷データ生成手順とをコ
ンピュータに実行させるためのプログラムを記憶したコ
ンピュータ読み取り可能な記憶媒体。21. A conversion procedure for converting a print command into rendering data in an intermediate data format and extracting rendering attribute information and data type information, and a rendering attribute of the rendering data in the intermediate data format obtained by the conversion procedure. And executing a spooling procedure for temporarily spooling a plurality of drawing data having the same data type information collectively and a print data generating procedure for generating print data based on the drawing data spooled by the spooling procedure. A computer-readable storage medium storing a program for causing a computer to execute the program.
がビットマップ展開されたイメージデータであるプログ
ラムを記憶したコンピュータ読み取り可能な記憶媒体。22. A computer-readable storage medium according to claim 21, wherein the print data is a program which is bitmap-developed image data.
順が、 該変換手順による変換より得られた中間データ形式の描
画データを保持するための保持手順と、 前記変換手順による変換より得られた中間データ形式の
描画データの有するヘッダの描画属性情報およびデータ
種別情報が、前記保持手順に保持されている前回更新さ
れた中間データ形式の描画データのヘッダの描画属性情
報およびデータ種別情報と同一か否かを判定する同一判
定手順と、 該同一判定手順により肯定判定された場合に、前記前回
更新された中間データ形式の描画データのヘッダのデー
タカウンタ値を1だけインクリメントし、該前回更新さ
れた中間データ形式の描画データの最後尾に、前記変換
手順による変換より得られた中間データ形式の描画デー
タのデータフィールドのみを付加する第1更新手順と、 前記保持手順による中間データ形式の描画データ保持終
了後、前記保持手順の中間データ形式の描画データから
印刷データを生成する印刷データ生成手順とをコンピュ
ータに実行させるためのプログラムを記憶したコンピュ
ータ読み取り可能な記憶媒体。23. The spooling procedure according to claim 21, wherein the spooling procedure comprises: a holding procedure for holding rendering data in an intermediate data format obtained by the conversion by the conversion procedure; and an intermediate data obtained by the conversion by the conversion procedure. Whether the drawing attribute information and data type information of the header of the drawing data in the format are the same as the drawing attribute information and data type information of the header of the previously updated intermediate data format drawing data held in the holding procedure And when the affirmative determination is made by the same determination procedure, the data counter value of the header of the previously updated intermediate data format drawing data is incremented by one, and the previously updated intermediate data is updated. At the end of the drawing data in the format, the data file of the drawing data in the intermediate data format obtained by the conversion according to the conversion procedure is added. And executing a first update procedure for adding only a field and a print data generation procedure for generating print data from the intermediate data format drawing data in the holding procedure after the holding of the intermediate data format drawing data in the holding procedure. A computer-readable storage medium storing a program for causing a computer to execute the program.
生成手順が、前記ヘッダの属性が変化するか、前記保持
手順に入りきれなくなるか、あるいは、ページの最後を
示す命令が来た場合に、前記保持手順の中間データ形式
の描画データから印刷データを生成するプログラムを記
憶したコンピュータ読み取り可能な記憶媒体。24. The print data generation procedure according to claim 23, wherein the print data generation procedure is executed when the attribute of the header changes, the storage procedure cannot be completed, or an instruction indicating the end of a page comes. A computer-readable storage medium storing a program for generating print data from drawing data in an intermediate data format in a holding procedure.
ドの描画座標が、最後尾のデータフィールドの描画座標
に対して、相対座標と、該相対座標の繰り返し回数とで
表すことが可能か否かを判定する判定手順と、 該判定手順により肯定判定された場合に、相対座標と、
該相対座標の繰り返し回数とを表すコマンドコードを生
成するコマンドコード生成手順と、 該コマンドコード生成手順により生成されたコマンドコ
ードを前記最後尾のデータフィールドにオーバライトす
る第2更新手順とをさらにコンピュータに実行させるた
めのプログラムを記憶したコンピュータ読み取り可能な
記憶媒体。25. The drawing method according to claim 23, wherein the drawing coordinates of the data field obtained by the conversion according to the conversion procedure are relative coordinates with respect to the drawing coordinates of the last data field, and the number of repetitions of the relative coordinates. A determination procedure for determining whether or not it can be represented; and, when an affirmative determination is made in the determination procedure, relative coordinates;
Further comprising: a command code generating step of generating a command code representing the number of repetitions of the relative coordinates; and a second updating step of overwriting the command code generated by the command code generating step in the last data field. A computer-readable storage medium storing a program to be executed by a computer.
記データカウンタ値情報に代えてデータサイズ情報を有
するプログラムを記憶したコンピュータ読み取り可能な
記憶媒体。26. A computer-readable storage medium according to claim 23, wherein said header stores a program having data size information instead of said data counter value information.
がページ記述言語で記述されたデータであるプログラム
を記憶したコンピュータ読み取り可能な記憶媒体。27. A computer-readable storage medium according to claim 23, wherein said print data is a program described in a page description language.
生成手順が、前記ヘッダの属性が変化するか、前記保持
手順に入りきれなくなるか、あるいは、ページの最後を
示す命令が来た場合に、前記保持手順の中間データ形式
の描画データに基づきページ記述言語で記述されたデー
タを生成するプログラムを記憶したコンピュータ読み取
り可能な記憶媒体。28. The print data generation procedure according to claim 27, wherein the print data generation procedure is performed when an attribute of the header changes, the storage procedure cannot be completed, or an instruction indicating the end of a page comes. A computer-readable storage medium storing a program for generating data described in a page description language based on drawing data in an intermediate data format of a holding procedure.
ドの描画座標が、最後尾のデータフィールドの描画座標
に対して、相対座標と、該相対座標の繰り返し回数とで
表すことが可能か否かを判定する判定手順と、 該判定手順により肯定判定された場合に、相対座標と、
該相対座標の繰り返し回数とを表すコマンドコードを生
成するコマンドコード生成手順と、 該コマンドコード生成手順により生成されたコマンドコ
ードを前記最後尾のデータフィールドにオーバライトす
る第2更新手順とをさらにコンピュータに実行させるた
めのプログラムを記憶したコンピュータ読み取り可能な
記憶媒体。29. The drawing method according to claim 27, wherein the drawing coordinates of the data field obtained by the conversion according to the conversion procedure are relative to the drawing coordinates of the last data field, and the number of repetitions of the relative coordinates. A determination procedure for determining whether or not it can be represented; and, when an affirmative determination is made in the determination procedure, relative coordinates;
Further comprising: a command code generating step of generating a command code representing the number of repetitions of the relative coordinates; and a second updating step of overwriting the command code generated by the command code generating step in the last data field. A computer-readable storage medium storing a program to be executed by a computer.
記データカウンタ値情報に代えてデータサイズ情報を有
するプログラムを記憶したコンピュータ読み取り可能な
記憶媒体。30. A computer-readable storage medium according to claim 27, wherein said header stores a program having data size information instead of said data counter value information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000100006A JP2001277613A (en) | 2000-03-31 | 2000-03-31 | Apparatus and method for image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000100006A JP2001277613A (en) | 2000-03-31 | 2000-03-31 | Apparatus and method for image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001277613A true JP2001277613A (en) | 2001-10-09 |
Family
ID=18614276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000100006A Pending JP2001277613A (en) | 2000-03-31 | 2000-03-31 | Apparatus and method for image processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001277613A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014112396A (en) * | 2014-01-07 | 2014-06-19 | Canon Inc | Image processor and control method therefor |
-
2000
- 2000-03-31 JP JP2000100006A patent/JP2001277613A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014112396A (en) * | 2014-01-07 | 2014-06-19 | Canon Inc | Image processor and control method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826038B2 (en) | Printing system, printing method therefor, and printing apparatus | |
US6611347B1 (en) | Print control apparatus, print control method, storage medium, and computer readable program performing a form overlay process | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
US8294914B2 (en) | Image forming apparatus and method for changing number of lines in band buffer based on memory size to be required | |
US7023579B2 (en) | Information processing apparatus, information processing method, and memory medium storing print control program therein | |
JP2003029938A (en) | Information processor, control method therefor, printing system, computer program and storage medium | |
JPH0937062A (en) | Device and method for processing image | |
EP0870277B1 (en) | Image rendering for page printers | |
JP2003256166A (en) | Print command generation device and method, printer, its control method and print system | |
JP4418642B2 (en) | HOST DEVICE, PRINTING DEVICE, PRINTING SYSTEM HAVING THEM, PRINT CONTROL METHOD, AND PROGRAM THEREOF | |
US7038815B2 (en) | Image processing apparatus and its method, and image processing system and its control method | |
JP2003114778A (en) | Printing system, printing control device, printing device, method for selecting compression method, and storage medium | |
JP2001277613A (en) | Apparatus and method for image processing | |
JPH10240477A (en) | Information processor, information processing method and storage medium storing computer readable program | |
JP4325339B2 (en) | Printing system, host computer and printer driver | |
JP4174547B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2004326266A (en) | Print control method, information processing device, and printer | |
JP2001047673A (en) | Apparatus and method for processing data and memory medium with computer readable program stored thereon | |
JP2003050683A (en) | Image processor and image processing method its program and storage medium | |
JP2000200161A (en) | Information processor, print controller, printing system composed of the same and computer readable storage medium | |
JP3056948B2 (en) | PRINTING APPARATUS, CONTROLLER THEREOF, AND METHOD OF CONTROLLING PRINTING APPARATUS | |
JP2003122521A (en) | Print system, information processor, plotting method therefor, program and storage medium | |
JPH09218763A (en) | Printing processing system | |
JPH1049317A (en) | Device and method for print control, and storage medium | |
JPH09218762A (en) | Printing processing system |