JPH08258344A - Printing device - Google Patents

Printing device

Info

Publication number
JPH08258344A
JPH08258344A JP7064096A JP6409695A JPH08258344A JP H08258344 A JPH08258344 A JP H08258344A JP 7064096 A JP7064096 A JP 7064096A JP 6409695 A JP6409695 A JP 6409695A JP H08258344 A JPH08258344 A JP H08258344A
Authority
JP
Japan
Prior art keywords
block data
rotation
data
unit
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7064096A
Other languages
Japanese (ja)
Inventor
Yasuhiro Hino
康弘 日野
Toshiya Mihashi
俊哉 三橋
Hideyuki Kitani
秀之 木谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP7064096A priority Critical patent/JPH08258344A/en
Publication of JPH08258344A publication Critical patent/JPH08258344A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To provide a printing device in which image data are divided into a block having prescribed size and drawing may be conducted without performing rotational processing in relation to the part having symmetry wherein the pattern of the divided block data is the same after the rotation and before the rotation. CONSTITUTION: A format control part 1100 is equipped with a CPU, an ROM and an RAM. Received image data are divided into a block having prescribed size and the pattern of the divided block data is detected. When the pattern of the divided block data is the same patter as after rotation, rotation is not performed. Only in the case other than the above, rotation is performed for the divided block data. Therefore, efficient printing processing is made possible.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、例えば外部装置からの
印刷情報を出力する印刷装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a printing device for outputting print information from an external device, for example.

【0002】[0002]

【従来の技術】ページプリンタにおいては、ページメモ
リに画像を生成する際、ページの向き(ページフォーマ
ット)や用紙の搬送方向によっては印刷画像全体を90
°、180°または270°回転させる必要がある。例
えば、用紙の長辺方向に用紙を搬送する機構を持つ印刷
装置において、ページフォーマットにランドスケープ
(用紙の長辺方向がx軸、短辺方向がy軸)が指定され
たとき、印刷装置内部で印刷画像を90°回転させなけ
ればならない。画像データには文字データや図形データ
などの様々なデータがあり、これらのうち、画像の色情
報や濃淡をビットに対応させた画像データをイメージデ
ータまたは単にイメージと呼び、イメージを形成してい
る画素の単位、すなわち最小単位をピクセルと呼ぶが、
印刷データの中で、このイメージデータだけは受信した
回転前のデータから回転したデータを作成しなければな
らない。
2. Description of the Related Art In a page printer, when an image is generated in a page memory, the entire printed image is printed in 90 pages depending on the page orientation (page format) and the sheet conveying direction.
It must be rotated by 180 °, 180 ° or 270 °. For example, in a printing apparatus having a mechanism for conveying the paper in the long side direction of the paper, when landscape (x-axis in the long side direction of the paper and y-axis in the short side direction) is specified in the page format, The printed image must be rotated 90 °. Image data includes various data such as character data and graphic data. Among these, image data in which color information and shading of an image are associated with bits is called image data or simply an image, and forms an image. The unit of pixel, that is, the minimum unit is called pixel,
Of the print data, only this image data has to be created by rotating the received data before the rotation.

【0003】また、近年、印刷装置の解像度が高くな
り、より精密な印刷が可能となってきている。しかし、
解像度が高くなればなるほどより多くのページメモリが
必要となるが、コスト面からメモリの搭載には限界があ
るため、多くの印刷装置においてバンディング処理とい
う方法が用いられている。これは1ページ分のページメ
モリを具備する(フルペイントと呼ぶ)代わりに、半ペ
ージ分ほどのメモリを例えばバンド1、バンド2、バン
ド3の3つのバンドメモリに分け、バンド1への展開が
終るとバンド1に形成したビットデータをビデオ信号に
変換しながら、バンド2への展開を同時に行う方法で、
バンド1→バンド2→バンド3→バンド1→バンド2→
バンド3と順次展開を行うことで1ページ分の印刷を行
うものである。しかし、展開に時間のかかるデータがあ
るバンドに集中した場合や、展開に必要なメモリが不足
した場合、印刷不能に陥る危険性がある。例えばバンド
1のビットデータのビデオ信号への変換が終了した時点
でバンド2への展開が終了しなければバンド2のビット
データをビデオ信号に変換することができない。これを
回避するため、予め印刷不能に陥る可能性がある場合に
はバンドメモリへの展開時にビットを間引くことにより
解像度を低下させて展開する方法がある。例えば、本来
600dpi(dot/inch)で形成する画像を半
分を間引いて300dpiにすれば、展開のためのメモ
リも少なくて済み、ページメモリも1/4の容量で済む
ためバンド幅を広げたり、フルペイントに切替たりでき
るのである。
Further, in recent years, the resolution of printing apparatuses has increased, and more precise printing has become possible. But,
The higher the resolution, the more page memory is required, but the mounting of the memory is limited in terms of cost, and therefore, a printing method is used in many printing apparatuses. Instead of having a page memory for one page (called a full paint), the memory for about half a page is divided into three band memories, for example, band 1, band 2 and band 3, and the expansion to band 1 is performed. At the end, while converting the bit data formed in band 1 into a video signal, it is possible to expand to band 2 at the same time.
Band 1 → Band 2 → Band 3 → Band 1 → Band 2 →
One page is printed by sequentially developing the band 3. However, there is a risk that printing will not be possible if data that takes time to develop is concentrated in a band that has data, or if the memory required for expansion is insufficient. For example, the bit data of band 2 cannot be converted into a video signal unless the expansion into band 2 is completed at the time when the conversion of the band 1 bit data into a video signal is completed. In order to avoid this, there is a method of reducing the resolution by thinning out the bits when the data is expanded to the band memory when there is a possibility that printing cannot be performed beforehand. For example, if an image originally formed at 600 dpi (dot / inch) is thinned out to half at 300 dpi, the memory for development is small, and the page memory is ¼ of the capacity so that the bandwidth can be widened. You can switch to full paint.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記従
来例では、イメージデータの回転処理を通常ビットごと
に行っているためソフトウェアによる制御では非常に時
間がかかり、印刷処理におけるボトルネックとなってい
た。
However, in the above-mentioned conventional example, since the rotation processing of the image data is usually carried out bit by bit, it takes a very long time to perform the control by the software, which is a bottleneck in the printing processing.

【0005】また、上記従来例では、解像度を低下させ
るためにビットを間引く際、間引きアルゴリズムによっ
ては1dotの黒線は消さないように間引いても、1d
otの白線は消えてしまう等の問題があった。
Further, in the above-mentioned conventional example, when the bits are thinned out in order to reduce the resolution, depending on the thinning-out algorithm, even if the black line of 1 dot is thinned out so as not to be erased, 1d
There was a problem that the white line of ot disappeared.

【0006】本発明は、上記従来例に鑑みてなされたも
のであり、イメージデータの内、回転前と回転後が同一
であるような対称性をもつ部分に関しては回転処理を行
わずに描画することによって高速処理可能な印刷装置を
提供することを目的とする。
The present invention has been made in view of the above-mentioned conventional example, and in the image data, a portion having symmetry such that the pre-rotation and the post-rotation are the same is drawn without performing the rotation processing. It is therefore an object of the present invention to provide a printing device capable of high speed processing.

【0007】また、本発明は、イメージデータを分割し
て回転した後、回転後のブロックデータをキャッシュメ
モリに退避・復帰することによって、同一パターンの回
転が複数回使用された場合のイメージ描画の高速化を目
的とする。
Further, according to the present invention, after the image data is divided and rotated, and the block data after the rotation is saved / restored in the cache memory, an image can be drawn when the rotation of the same pattern is used a plurality of times. It aims at speeding up.

【0008】さらに、本発明は、ブロックデータをビッ
ト反転させることによって、一つの間引きアルゴリズム
で白黒反転した画像にも最適な間引き処理を行い、解像
度低下の際の品位劣化を押えた高品位な画像が得られる
印刷装置を提供することを目的とする。
Further, according to the present invention, by performing bit inversion of block data, an optimum thinning process is performed on an image which is black and white inverted by one thinning algorithm, and a high quality image in which deterioration of quality is suppressed when the resolution is lowered. It is an object of the present invention to provide a printing device that can obtain the above.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
に本発明の請求項1に係る印刷装置は受信したイメージ
データを所定の大きさのブロックに分割する分割手段
と、該分割手段によって分割したブロックデータのパタ
ーンを検知し、当該パターンが回転後のパターンと同一
か否かを判定する判定手段と、該判定手段が同一パター
ンでないと判定したときのみ前記分割したブロックデー
タに対して回転を行う回転手段とを具備したことを特徴
とする。
In order to achieve the above object, a printing apparatus according to claim 1 of the present invention divides received image data into blocks having a predetermined size, and dividing means by the dividing means. The pattern of the block data that has been detected and determines whether or not the pattern is the same as the pattern after rotation, and rotation is performed on the divided block data only when the determination unit determines that the pattern is not the same. And a rotation means for performing the rotation.

【0010】また、本発明の請求項2にかかる印刷装置
は請求項1において、前記判定手段は、回転前と回転後
が同一であるようなブロックデータテーブルを具備し、
前記分割したブロックデータを当該ブロックデータテー
ブルと比較することによって、回転前と回転後のブロッ
クデータが同一か否かを判定することを特徴とする。
According to a second aspect of the present invention, in the printing apparatus according to the first aspect, the determination unit includes a block data table that is the same before and after the rotation.
By comparing the divided block data with the block data table, it is determined whether or not the block data before rotation and the block data after rotation are the same.

【0011】さらに本発明の請求項3にかかる印刷装置
は受信したイメージデータを所定の大きさのブロックに
分割する分割手段と、前記分割したブロックデータに対
して回転を行う回転手段と、回転前および前記回転手段
による回転後のブロックデータを格納する一時記憶手段
と、新たな分割したブロックデータと前記一時記憶手段
にすでに格納されているブロックデータとが一致する場
合には、当該新たな分割したブロックデータに対する回
転後のブロックデータとして、当該一時記憶手段にすで
に格納されているブロックデータを取り出す手段とを具
えたことを特徴とする。
Further, according to a third aspect of the present invention, a printing device divides received image data into blocks of a predetermined size, rotating means for rotating the divided block data, and pre-rotation means. And the temporary storage means for storing the block data after the rotation by the rotation means, and the newly divided block data and the block data already stored in the temporary storage means are matched, the new division is performed. It is characterized in that it comprises means for taking out the block data already stored in the temporary storage means as the block data after the rotation of the block data.

【0012】さらに本発明の請求項4にかかる印刷装置
はエンジン部分に供給する印刷イメージを記憶する記憶
手段と、前記記憶の際に印刷イメージを所定の大きさの
ブロックに分割する分割手段と、前記分割したブロック
データを所定のパターンに基づいて間引き、解像度を低
下させる間引き手段と、該間引き手段による間引き処理
の前後でブロックデータのビットを反転させる手段とを
具備したことを特徴とする。
Further, the printing apparatus according to claim 4 of the present invention comprises a storage means for storing the print image to be supplied to the engine portion, and a dividing means for dividing the print image into blocks of a predetermined size during the storage. It is characterized by comprising thinning means for thinning the divided block data based on a predetermined pattern to reduce the resolution, and means for inverting the bits of the block data before and after the thinning processing by the thinning means.

【0013】[0013]

【作用】本発明に係る第一の印刷装置は、受信したイメ
ージデータを所定の大きさのブロックに分割し、分割し
たブロックデータのパターンを検知し、分割したブロッ
クデータのパターンが回転後と同じパターンである場合
には回転を行わず、それ以外の場合にのみ分割したブロ
ックデータに対して回転を行うため、効率的な印刷処理
が可能となる。
The first printing apparatus according to the present invention divides the received image data into blocks of a predetermined size, detects the pattern of the divided block data, and the pattern of the divided block data is the same as that after rotation. If it is a pattern, rotation is not performed, and only in other cases, rotation is performed on the divided block data, so efficient printing processing is possible.

【0014】また、本発明に係る第二の印刷装置は、受
信したイメージデータを所定の大きさのブロックに分割
し、分割したブロックデータに対して回転を行い、回転
前および回転後のブロックデータを一時記憶手段に退避
・復帰するため、効率的な印刷処理が可能となる。
The second printing apparatus according to the present invention divides the received image data into blocks of a predetermined size, rotates the divided block data, and outputs the block data before and after the rotation. Since it is saved / restored in the temporary storage means, efficient print processing becomes possible.

【0015】また、本発明に係る第三の印刷装置は、例
えばページメモリまたはバンドメモリへの展開時に印刷
イメージを特定の大きさのブロックに分割し、分割した
ブロックデータを特定のパターンに基づいて間引き、解
像度を低下させるとともにブロックデータのビットを反
転させるため、高品位な印刷処理が可能となる。
Further, the third printing apparatus according to the present invention divides the print image into blocks of a specific size at the time of developing to a page memory or a band memory, and the divided block data is based on a specific pattern. Since thinning and resolution are lowered and the bits of the block data are inverted, high-quality printing processing is possible.

【0016】[0016]

【実施例】本実施例の構成を説明する前に、本実施例を
適用するに好適なレーザビームプリンタ(以下「LB
P」と記述することもある)の構成について図1を参照
しながら説明する。なお、本実施例を適用するプリンタ
は、レーザビームプリンタに限られるものではなく、他
のプリント方式のプリンタでも良いことは言うまでもな
い。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing the structure of this embodiment, a laser beam printer suitable for applying this embodiment (hereinafter referred to as "LB
The description will be made with reference to FIG. 1 as well. Needless to say, the printer to which the present embodiment is applied is not limited to the laser beam printer, and may be a printer of another printing method.

【0017】以下、図面を参照して本発明の実施例を詳
細に説明する。
Embodiments of the present invention will be described in detail below with reference to the drawings.

【0018】(実施例1)図1は、本実施例に適用され
るレーザビームプリンタの内部構造を示す断面図で、こ
のLBPは不図示のデータ源から文字パターンの登録や
定型書式(フォームデータ)などの登録が行える。同図
において、1000はLBP本体であり、外部に接続さ
れているホストコンピュータから供給される文字情報
(文字コード)やフォーム情報あるいはマクロ命令など
を入力して記憶するとともに、それらの情報に従って対
応する文字パターンやフォームパターンなどを作成し、
記録媒体である記録紙上に像を形成する。1012は操
作のためのスイッチおよびLED表示器などが配されて
いる操作パネル、1001はLBP1000全体の制御
およびホストコンピュータから供給される文字情報など
を解析するプリンタ制御ユニットである。この制御ユニ
ット1001は、主に文字情報を対応する文字パターン
のビデオ信号に変換してレーザドライバ1002に出力
する。レーザドライバ1002は半導体レーザ1003
を駆動するための回路であり、入力されたビデオ信号に
応じて半導体レーザ1003から発射されるレーザ光1
004をオンオフ切り替えする。レーザ1004は回転
多面鏡1005で左右方向に振られ静電ドラム1006
上を走査する。これにより、静電ドラム1006上には
文字パターンの静電潜像が形成される。この潜像は、静
電ドラム1006周囲の現像ユニット1007により現
像された後、記録紙に転送される。この記録紙にはカッ
トシートを用い、カットシート記録紙はLBP1000
に装着した用紙カセット1008に収納され、給紙ロー
ラ1009および搬送ローラ1010と1011とによ
り装置内に取り込まれて、静電ドラム1006に供給さ
れる。
(Embodiment 1) FIG. 1 is a sectional view showing the internal structure of a laser beam printer applied to this embodiment. This LBP is used for registering a character pattern and a fixed form (form data) from a data source (not shown). ) Etc. can be registered. In the figure, reference numeral 1000 denotes an LBP main body, which inputs and stores character information (character code) supplied from an externally connected host computer, form information, or a macro command, and responds in accordance with those information. Create character patterns, form patterns, etc.,
An image is formed on a recording paper which is a recording medium. An operation panel 1012 is provided with switches for operation and an LED display, and a printer control unit 1001 controls the entire LBP 1000 and analyzes character information supplied from the host computer. The control unit 1001 mainly converts character information into a video signal of a corresponding character pattern and outputs the video signal to the laser driver 1002. The laser driver 1002 is a semiconductor laser 1003.
Is a circuit for driving a laser beam emitted from the semiconductor laser 1003 in accordance with an input video signal.
004 is switched on and off. The laser 1004 is horizontally swung by the rotating polygon mirror 1005 and the electrostatic drum 1006.
Scan over. As a result, an electrostatic latent image having a character pattern is formed on the electrostatic drum 1006. The latent image is developed by the developing unit 1007 around the electrostatic drum 1006 and then transferred to the recording paper. A cut sheet is used as the recording sheet, and the cut sheet recording sheet is LBP1000.
It is stored in a paper cassette 1008 attached to the paper cassette 1008, is taken into the apparatus by the paper feed roller 1009 and the conveyance rollers 1010 and 1011, and is supplied to the electrostatic drum 1006.

【0019】図2は、本実施例の印刷装置の構成を示す
ブロック図である。
FIG. 2 is a block diagram showing the arrangement of the printing apparatus of this embodiment.

【0020】図2において2000は印刷装置1000
に接続されたホストコンピュータであり、プリントデー
タおよび制御コードからなる印刷情報を印刷装置100
0に出力するものである。印刷装置1000は、大きく
分けてフォーマッタ制御部1100、インターフェース
1200、出力制御部1300、プリンタエンジン部1
400より構成されている。
In FIG. 2, reference numeral 2000 is a printing apparatus 1000.
Is a host computer connected to the printer 100, and prints information including print data and control codes.
It outputs to 0. The printing apparatus 1000 is roughly divided into a formatter control unit 1100, an interface 1200, an output control unit 1300, and a printer engine unit 1.
It consists of 400.

【0021】フォーマッタ制御部1100は、受信バッ
ファ1101、コマンド判別部1102、コマンド解析
部1103、コマンド実行部1104、ページメモリ1
105、データ分割部1106、回転実行部1107よ
り構成されている。
The formatter control unit 1100 includes a reception buffer 1101, a command discrimination unit 1102, a command analysis unit 1103, a command execution unit 1104, and a page memory 1.
105, a data division unit 1106, and a rotation execution unit 1107.

【0022】受信バッファ1101は、ホストコンピュ
ータ2000から受信した印刷情報を一時的に保持する
記憶手段である。コマンド判別部1102は、各印刷制
御コマンドの判別を行うものであり、印刷制御コマンド
がイメージ描画命令以外であれば、印刷データはそのま
まコマンド解析部1103において解析され、コマンド
実行部1104において実行される。コマンド解析部1
103は各印刷制御コマンドの解析を行うものである。
The reception buffer 1101 is a storage means for temporarily holding the print information received from the host computer 2000. The command discrimination unit 1102 discriminates each print control command. If the print control command is other than the image drawing command, the print data is directly analyzed by the command analysis unit 1103 and executed by the command execution unit 1104. . Command analyzer 1
Reference numeral 103 is for analyzing each print control command.

【0023】コマンド解析部1103で解析されたコマ
ンドは、印刷データの解析を行った中間的な結果であり
コマンド実行部1104においてより処理しやすい形式
の中間コードの形に変換される。コマンド判別部110
2において、印刷制御コマンドがイメージ描画命令であ
ると判別された場合、そのパアメータをコマンド解析部
1103において解析した後、さらにコマンド実行部1
104において回転処理が必要か否かを判断する。
The command analyzed by the command analysis unit 1103 is an intermediate result of analysis of print data, and is converted into an intermediate code in a format that is easier to process in the command execution unit 1104. Command discrimination unit 110
When it is determined in 2 that the print control command is an image drawing command, the parameter is analyzed by the command analysis unit 1103, and then the command execution unit 1
At 104, it is determined whether rotation processing is necessary.

【0024】コマンド実行部1104において回転処理
が必要と判断された場合、イメージデータはデータ分割
部1106によって一定の大きさに分割され、分割単位
ごとに回転実行部1107において回転処理が行われ
る。回転実行部1107は一定の大きさのビットデータ
から、テーブルやビットシフト等を用いて90°、18
0°、270°回転したビットデータを作成するもので
ある。以上のように処理されたイメージデータは、コマ
ンド実行部1104によってページメモリ1105に展
開(記憶)される。なお一般的には、フォーマッタ制御
部1100は、CPU、ROM、RAMなどを用いたコ
ンピュータシステムによって構成されており、このCP
Uの制御手順(図3、図4、図5を含む)はROM内に
格納されている。
When the command execution unit 1104 determines that the rotation processing is necessary, the image data is divided into a certain size by the data division unit 1106, and the rotation execution unit 1107 performs the rotation processing for each division unit. The rotation execution unit 1107 uses a table, a bit shift, or the like to rotate the 90 °, 18
Bit data rotated by 0 ° and 270 ° is created. The image data processed as described above is expanded (stored) in the page memory 1105 by the command execution unit 1104. Note that, in general, the formatter control unit 1100 is composed of a computer system using a CPU, ROM, RAM, etc.
The U control procedure (including FIGS. 3, 4, and 5) is stored in the ROM.

【0025】出力制御部1300は、ページメモリ11
05の内容をビデオ信号に変換処理し、プリンタエンジ
ン部1400へ画像転送を行う。プリンタエンジン部1
400は受け取ったビデオ信号を記録紙に永久可視画像
形成するための印刷機構部である。
The output control unit 1300 has a page memory 11
The contents of 05 are converted into a video signal, and the image is transferred to the printer engine unit 1400. Printer engine section 1
Reference numeral 400 is a printing mechanism unit for forming a permanent visible image on the recording paper by using the received video signal.

【0026】次に、このような構成された印刷装置にお
いて、本実施例における全体の印刷制御処理手順を図
3、図4、図5に示すフローチャートを参照しながら説
明する。図3におけるS301〜S304、図4におけ
るS401〜S411、図5におけるS501〜S50
9は各処理ステップを示す。
Next, an explanation will be given of the overall print control processing procedure in the present embodiment in the printing apparatus having such a configuration with reference to the flow charts shown in FIGS. 3, 4 and 5. S301 to S304 in FIG. 3, S401 to S411 in FIG. 4, and S501 to S50 in FIG.
Reference numeral 9 indicates each processing step.

【0027】図3は印刷装置1000の動作の開始から
終了までのメイン処理を示している。まずステップS3
01でホストコンピュータ2000から送られてくる印
刷データの受け取りを行い、受信バッファ1101にス
トックする。次にステップS302で受信バッファにス
トックされた印刷データを読み出し、次にステップS3
03で描画処理を行う。その後、ステップS304で印
刷終了命令を受け取ったか否か、または印刷データが終
了したか否かを判断し、印刷終了であれば印刷動作を終
了する。印刷終了でなければステップS301からの処
理を繰り返す。図4は、図3のステップS303にあた
る描画処理を示している。この処理は実際に印刷処理を
行う処理である。まずステップS401において、コマ
ンド解析部1103でデータが排紙命令かどうかをチェ
ックし、排紙命令の場合はステップS406に進み処理
を行う。また、ステップS401において排紙命令でな
い場合は、次に解析したコマンドが文字印字または図形
描画などページメモリへの展開処理のコマンドかどうか
を判別し(ステップS402)、どうでない場合はステ
ップS405に進み、そのコマンドを直ちに実行する。
また、そうである場合(ステップS402からステップ
S409に進んだ場合)は、ステップS409で受信し
た印刷制御コマンドがイメージ描画命令か否かを判断す
る。もしイメージ描画命令でない場合にはステップS4
03に進み、イメージ描画命令である場合には続いて回
転処理が必要か否かを判断する(ステップS410)。
ここでいう回転とは、90°、180°、270°の直
交回転であり、ページフォーマットやイメージ描画命令
のパラメータ等により決定するものである。もし回転処
理が必要ない場合にはそのままステップS403に進
み、オフセット指定がある場合にはステップS411に
おいて回転処理を行った後、ステップS403に進む。
FIG. 3 shows the main processing from the start to the end of the operation of the printing apparatus 1000. First, step S3
At 01, the print data sent from the host computer 2000 is received and stocked in the reception buffer 1101. Next, the print data stocked in the reception buffer in step S302 is read out, and then in step S3.
At 03, drawing processing is performed. Then, in step S304, it is determined whether or not a print end command is received, or whether or not the print data is ended. If the print is ended, the print operation is ended. If printing has not ended, the processing from step S301 is repeated. FIG. 4 shows the drawing process corresponding to step S303 in FIG. This process is a process for actually performing the printing process. First, in step S401, the command analysis unit 1103 checks whether or not the data is a paper discharge command. If the data is a paper discharge command, the process proceeds to step S406 and is processed. If it is not the paper discharge command in step S401, it is determined whether or not the next analyzed command is a command for expansion processing to page memory such as character printing or graphic drawing (step S402). If not, the process proceeds to step S405. , Execute the command immediately.
If so (when the process proceeds from step S402 to step S409), it is determined whether the print control command received in step S409 is an image drawing command. If it is not an image drawing command, step S4
If it is an image drawing command, it is determined whether rotation processing is necessary (step S410).
The rotation referred to here is orthogonal rotation of 90 °, 180 °, and 270 °, and is determined by parameters such as the page format and the image drawing command. If the rotation process is not necessary, the process directly proceeds to step S403. If the offset is designated, the rotation process is performed at step S411, and then the process proceeds to step S403.

【0028】ステップS403では、コマンド実行処理
がしやすい形の中間コードを生成する。この中間コード
を受けて、コマンド実行部1104では、ページメモリ
1105への展開処理を行い(ステップS404)、展
開処理終了後は図3のステップS302に戻り、データ
の解析処理を繰り返す。一方、ステップS401におい
て排紙命令と判断された場合は、出力制御部1300に
おいてページメモリ1105の内容をプリンタエンジン
部1400に対するビデオ信号に変換して画像転送出力
する(ステップS406)。プリンタエンジン部140
0では、受け取ったビデオ信号を記録紙に永久可視画像
形成し印刷を行う(ステップS407)。そしてステッ
プS408で印刷された結果を排紙すると1ページ当た
りの印刷処理は終了する。
In step S403, an intermediate code in a form that facilitates command execution processing is generated. Upon receiving this intermediate code, the command execution unit 1104 performs expansion processing on the page memory 1105 (step S404), and after completion of the expansion processing, returns to step S302 in FIG. 3 to repeat data analysis processing. On the other hand, if it is determined in step S401 that it is a paper discharge command, the output control unit 1300 converts the content of the page memory 1105 into a video signal for the printer engine unit 1400, and outputs the image (step S406). Printer engine unit 140
At 0, a permanent visible image is formed on the recording paper with the received video signal and printing is performed (step S407). When the printed result is ejected in step S408, the printing process for one page ends.

【0029】図5は図4で用いた回転処理を示してい
る。この処理は描画するイメージデータの直交回転を行
う処理である。まずステップS501でページフォーマ
ットやイメージの変形パラメータから回転角が90°、
180°、270°のいずれであるかを算出する。次に
ステップS502において、イメージデータをm×mピ
クセルのブロックに分割する。ここでmはハード構成に
依存した閾値である。そしてステップS503で1ブロ
ック分のデータを取り出した後、ステップS504、ス
テップS505へと進む。ステップS505では分割し
たブロックの端から1ライン(m×1ピクセル)分のパ
ターンを検出する。本実施例では回転実行部1107に
おいて予めm×mピクセルのブロックテーブルを具備し
ており、ステップS506において検出した1ライン分
のパターンをブロックテーブルの端から1ライン分と比
較する。その結果、1ライン分のパターンがブロックテ
ーブルの1ライン分のパターンと一致したら(S50
7)、ステップS504に戻り、次の1ラインのパター
ンについて同様の処理を行う。もしステップS507に
おいて、テーブルと一致しないラインがあった場合は、
ステップS508に進み、マトリクス計算やルックアッ
プテーブルなどにより1ブロック分の回転を行う。この
ようにパターンの比較結果が一致している間、ステップ
S503からステップS506までの処理を繰り返し、
1ブロック分すなわちmライン分の比較が終了したらス
テップS509に進む。ステップS504において1ブ
ロック分の比較が終了したら、回転は行わずにステップ
S509に進む。このようにステップS502で分割し
た全ブロックが終了するまでステップS503からの処
理を繰り返す。なお、本実施例で使用するブロックテー
ブルは図6に挙げるような対称性を持つものである。
FIG. 5 shows the rotation process used in FIG. This process is a process of orthogonally rotating the image data to be drawn. First, in step S501, the rotation angle is 90 ° from the page format and the image deformation parameter,
Which of 180 ° and 270 ° is calculated. Next, in step S502, the image data is divided into m × m pixel blocks. Here, m is a threshold value depending on the hardware configuration. Then, after one block of data is extracted in step S503, the process proceeds to steps S504 and S505. In step S505, a pattern for one line (m × 1 pixel) from the end of the divided block is detected. In this embodiment, the rotation execution unit 1107 is provided with a block table of m × m pixels in advance, and the pattern for one line detected in step S506 is compared with one line from the end of the block table. As a result, if the pattern for one line matches the pattern for one line in the block table (S50
7) Then, the process returns to step S504, and the same process is performed for the pattern of the next one line. If there is a line that does not match the table in step S507,
Proceeding to step S508, one block is rotated by matrix calculation or a lookup table. While the pattern comparison results match in this way, the processing from step S503 to step S506 is repeated,
When the comparison for one block, that is, for m lines is completed, the process proceeds to step S509. When the comparison for one block is completed in step S504, the process proceeds to step S509 without rotating. In this way, the processes from step S503 are repeated until all the blocks divided in step S502 are completed. The block table used in this embodiment has symmetry as shown in FIG.

【0030】以上、印刷装置全体の動きを説明したが、
これらの処理はフォーマッタ制御部1100のコンピュ
ータシステムによって実現される。
The operation of the entire printing apparatus has been described above.
These processes are realized by the computer system of the formatter control unit 1100.

【0031】(実施例2)図7は、本実施例の印刷装置
の構成を示すブロック図である。
(Second Embodiment) FIG. 7 is a block diagram showing the arrangement of a printing apparatus according to this embodiment.

【0032】図7において2000は印刷装置1000
に接続されたホストコンピュータであり、プリントデー
タおよび制御コードからなる印刷情報を印刷装置100
0に出力するものである。印刷装置1000は、大きく
分けてフォーマッタ制御部1100、インターフェース
1200、出力制御部1300、プリンタエンジン部1
400より構成されている。
In FIG. 7, reference numeral 2000 is a printing apparatus 1000.
Is a host computer connected to the printer 100, and prints information including print data and control codes.
It outputs to 0. The printing apparatus 1000 is roughly divided into a formatter control unit 1100, an interface 1200, an output control unit 1300, and a printer engine unit 1.
It consists of 400.

【0033】フォーマッタ制御部1100は、受信バッ
ファ1101、コマンド判別部1102、コマンド解析
部1103、コマンド実行部1104、ページメモリ1
105、データ分割部1106、回転実行部1107、
キャッシュメモリ1108より構成されている。
The formatter control unit 1100 includes a reception buffer 1101, a command determination unit 1102, a command analysis unit 1103, a command execution unit 1104, and a page memory 1.
105, a data division unit 1106, a rotation execution unit 1107,
It is composed of a cache memory 1108.

【0034】受信バッファ1101は、ホストコンピュ
ータ2000から受信した印刷情報を一時的に保持する
記憶手段である。コマンド判別部1102は、各印刷制
御コマンドの判別を行うものであり、印刷制御コマンド
がイメージ描画命令以外であれば、印刷データはそのま
まコマンド解析部1103において解析され、コマンド
実行部1104において実行される。コマンド解析部1
103は各印刷制御コマンドの解析を行うものである。
The reception buffer 1101 is a storage means for temporarily holding the print information received from the host computer 2000. The command discrimination unit 1102 discriminates each print control command. If the print control command is other than the image drawing command, the print data is directly analyzed by the command analysis unit 1103 and executed by the command execution unit 1104. . Command analyzer 1
Reference numeral 103 is for analyzing each print control command.

【0035】コマンド解析部1103で解析されたコマ
ンドは、印刷データの解析を行った中間的な結果であり
コマンド実行部1104においてより処理しやすい形式
の中間コードの形に変換される。コマンド判別部110
2において、印刷制御コマンドがイメージ描画命令であ
ると判別された場合、そのパラメータをコマンド解析部
1103において解析した後、イメージデータはデータ
分割部1106によって一定の大きさに分割され、分割
単位ごとに回転実行部1107において回転処理が行わ
れる。
The command analyzed by the command analysis unit 1103 is an intermediate result obtained by analyzing the print data, and is converted into an intermediate code in a format easier to process in the command execution unit 1104. Command discrimination unit 110
When it is determined that the print control command is the image drawing command in 2, the command analyzing unit 1103 analyzes the parameter, and the image dividing unit 1106 divides the image data into a certain size. The rotation execution unit 1107 performs rotation processing.

【0036】回転実行部1107は一定の大きさのビッ
トデータから、テーブルやマトリクスを用いて回転した
ビットデータを作成するものである。キャッシュメモリ
1108はデータ分割部1106において分割された回
転前のブロックデータと回転実行部によって処理された
回転後のブロックデータ、およびそれらに付随する回転
角や階調などを一時的に格納する高速アクセスが可能な
メモリである。
The rotation execution unit 1107 creates rotated bit data using a table or matrix from bit data of a fixed size. The cache memory 1108 is a high-speed access that temporarily stores the block data before rotation divided by the data division unit 1106, the block data after rotation processed by the rotation execution unit, and the rotation angle and gradation accompanying them. Is a possible memory.

【0037】なお一般的には、フォーマッタ制御部11
00は、CPU、ROM、RAMなどを用いたコンピュ
ータシステムによって構成されており、このCPUの制
御手順(図8を含む)はROM内に格納されている。出
力制御部1300は、ページメモリ1105の内容をビ
デオ信号に変換処理し、プリンタエンジン部1400へ
画像転送を行う。プリンタエンジン部1400は受け取
ったビデオ信号を記録紙に永久可視画像形成するための
印刷機構部である。
In general, the formatter control unit 11
00 is configured by a computer system using a CPU, a ROM, a RAM, etc., and the control procedure of this CPU (including FIG. 8) is stored in the ROM. The output control unit 1300 converts the content of the page memory 1105 into a video signal and transfers the image to the printer engine unit 1400. The printer engine unit 1400 is a printing mechanism unit for forming a permanent visible image on the recording paper by using the received video signal.

【0038】次に、このように構成された印刷装置にお
いて、本実施例における全体の印刷制御処理手順を図8
に示すフローチャートを参照しながら説明する。なお、
印刷装置1000の動作の開始から終了までのメイン処
理は図3、図4に示したフローチャートと同様であるの
でここでは省略する。
Next, in the printing apparatus configured as described above, an overall print control processing procedure in this embodiment is shown in FIG.
This will be described with reference to the flowchart shown in FIG. In addition,
The main processing from the start to the end of the operation of the printing apparatus 1000 is the same as the flowcharts shown in FIGS.

【0039】図8は図4で用いた回転処理を示してお
り、S801〜S811は各処理ステップを示す。この
処理は描画するイメージデータの回転を行う処理であ
る。
FIG. 8 shows the rotation processing used in FIG. 4, and S801 to S811 show processing steps. This process is a process of rotating the image data to be drawn.

【0040】まずステップS801でページフォーマッ
トやイメージの変形パラメータから回転角を算出する。
次にステップS802において、イメージデータをm×
mピクセルのブロックに分割する。ここでmはハード構
成に依存した閾値である。そしてステップS803で1
ブロック分のデータを取り出した後、ステップS80
4、ステップS805へと進む。ステップS805では
分割したブロックの端から1ライン(m×1ピクセル)
分のパターンを検出する。
First, in step S801, the rotation angle is calculated from the page format and the image deformation parameter.
Next, in step S802, the image data is m ×
Divide into blocks of m pixels. Here, m is a threshold value depending on the hardware configuration. Then, in step S803, 1
After extracting the block of data, step S80
4. Go to step S805. In step S805, one line (m × 1 pixel) from the end of the divided block
Detect minute patterns.

【0041】ステップS806において検出した1ライ
ン分のパターンをキャッシュメモリに格納してあるブロ
ックパターンの端から1ライン分と比較する。この時、
同時にブロックパターンと共に格納してある回転角、階
調などの情報の比較も行う。なお、キャッシュメモリに
は複数個のブロックパターンが格納できるが、ステップ
S806では一致するパターンに当たるまで全てのパタ
ーンとの比較を行う。その後、ステップS807におい
て1ライン分がキャッシュメモリ上のパターンと一致し
たか否かを判定し、一致するパターンが見つかった場合
には、ステップS804からの処理を繰り返す。
The pattern for one line detected in step S806 is compared with the one line from the end of the block pattern stored in the cache memory. This time,
At the same time, information such as the rotation angle and gradation stored together with the block pattern is also compared. It should be noted that although a plurality of block patterns can be stored in the cache memory, in step S806, comparison is made with all patterns until a matching pattern is hit. Then, in step S807, it is determined whether or not one line matches the pattern on the cache memory. If a matching pattern is found, the process from step S804 is repeated.

【0042】また、ステップS807においてキャッシ
ュメモリ上に一致するパターンが見つからなかった場
合、すなわち1ラインでも一致しないラインがあった場
合にはステップS808へと進み、マトリクス計算やル
ックアップテーブルなどにより1ブロック分の回転を行
う。ステップS808において回転を処理した場合に
は、その後ステップS809に進み、回転前と回転後の
ブロック、および回転角や階調などの情報からなる情報
部をキャッシュメモリに格納する。一方、ステップS8
04においてキャッシュメモリ上のパターンとの比較が
1ブロック分すなわちmライン分終了したらステップS
811に進み、一致したブロックと対にしてキャッシュ
メモリに格納してある回転後のブロックを取り出す。そ
の後、ステップS810において、ステップS802で
分割した全ブロック分の処理が終了したか否かを判断
し、全ブロックの処理が終了するまでステップS803
からの処理を繰り返す。
If no matching pattern is found in the cache memory in step S807, that is, if there is a line that does not match even one line, the process proceeds to step S808, and one block is calculated by matrix calculation or a lookup table. Do a minute rotation. When the rotation is processed in step S808, the process proceeds to step S809, and the information unit including the blocks before and after the rotation and the information such as the rotation angle and the gradation is stored in the cache memory. On the other hand, step S8
In step 04, when the comparison with the pattern on the cache memory is completed for one block, that is, for m lines, step S
In step 811, the rotated block stored in the cache memory as a pair with the matched block is extracted. After that, in step S810, it is determined whether or not the processing for all the blocks divided in step S802 is completed, and step S803 is executed until the processing for all blocks is completed.
Repeat the process from.

【0043】以上、印刷装置全体の動きを説明したが、
これらの処理はフォーマッタ制御部1100のコンピュ
ータシステムによって実現される。
The operation of the entire printing apparatus has been described above.
These processes are realized by the computer system of the formatter control unit 1100.

【0044】(実施例3)図9は、本実施例の印刷装置
の構成を示すブロック図である。
(Third Embodiment) FIG. 9 is a block diagram showing the arrangement of a printing apparatus according to this embodiment.

【0045】図9において2000は印刷装置1000
に接続されたホストコンピュータであり、プリントデー
タおよび制御コードからなる印刷情報を印刷装置100
0に出力するものである。印刷装置1000は、大きく
分けてフォーマッタ制御部1100、インターフェース
1200、出力制御部1300、プリンタエンジン部1
400より構成されている。
In FIG. 9, reference numeral 2000 is the printing apparatus 1000.
Is a host computer connected to the printer 100, and prints information including print data and control codes.
It outputs to 0. The printing apparatus 1000 is roughly divided into a formatter control unit 1100, an interface 1200, an output control unit 1300, and a printer engine unit 1.
It consists of 400.

【0046】フォーマッタ制御部1100は、受信バッ
ファ1101、コマンド判別部1102、コマンド解析
部1103、コマンド実行部1104、ページメモリ1
105、データ分割部1106、パターン検出部110
9A、間引き実行部1109B、反転実行部1109C
より構成されている。受信バッファ1101は、ホスト
コンピュータ2000から受信した印刷情報を一時的に
保持する記憶手段である。コマンド判別部1102は、
各印刷制御コマンドの判別を行うものである。
The formatter control unit 1100 includes a reception buffer 1101, a command discrimination unit 1102, a command analysis unit 1103, a command execution unit 1104, and a page memory 1.
105, data division unit 1106, pattern detection unit 110
9A, thinning execution unit 1109B, inversion execution unit 1109C
It is composed of The reception buffer 1101 is a storage unit that temporarily holds the print information received from the host computer 2000. The command discrimination unit 1102
The determination of each print control command is performed.

【0047】コマンド解析部1103は各印刷制御コマ
ンドの解析を行うものである。コマンド解析部1103
で解析されたコマンドは、印刷データの解析を行った中
間的な結果でありコマンド実行部1104においてより
処理しやすい形式の中間コードの形に変換される。デー
タ分割部1106はコマンド実行部1104からのペー
ジメモリ1105への展開時に解像度変換が必要である
場合に展開データを特定の大きさのブロックに分割する
ものである。
The command analysis unit 1103 analyzes each print control command. Command analysis unit 1103
The command analyzed in (1) is an intermediate result of analysis of print data, and is converted into an intermediate code in a format that is easier to process in the command execution unit 1104. The data dividing unit 1106 divides the expanded data into blocks of a specific size when resolution conversion is required when expanding from the command executing unit 1104 to the page memory 1105.

【0048】パターン検出部1109Aはデータ分割部
1106によって分割されたブロックデータのパターン
を1ラインごとにサーチし、ON(黒)、OFF(白)
ビットの数をカウントするものであり、間引き実行部1
109Bはブロックデータに対して、一定の法則に従っ
てビットを間引き、解像度を低下させるものである。パ
ターン検出部1109AによってONビットが閾値より
も多い場合、ブロックデータは反転実行部1109Cに
おいて反転された後、間引き実行部1109Bにおいて
解像度変換が行われる。
The pattern detection unit 1109A searches the pattern of the block data divided by the data division unit 1106 for each line, and turns ON (black) and OFF (white).
The number of bits is counted, and the thinning execution unit 1
A block 109B thins out bits from the block data according to a certain rule to reduce the resolution. When the pattern detection unit 1109A has more ON bits than the threshold value, the block data is inverted by the inversion execution unit 1109C, and then the thinning execution unit 1109B performs resolution conversion.

【0049】なお一般的には、フォーマッタ制御部11
00は、CPU、ROM、RAMなどを用いたコンピュ
ータシステムによって構成されており、このCPUの制
御手順(図10、図11を含む)はROM内に格納され
ている。出力制御部1300は、ページメモリ1105
の内容をビデオ信号に変換処理し、プリンタエンジン部
1400へ画像転送を行う。プリンタエンジン部140
0は受け取ったビデオ信号を記録紙に永久可視画像形成
するための印刷機構部である。
In general, the formatter control unit 11
00 is configured by a computer system using a CPU, a ROM, a RAM, and the control procedure of this CPU (including FIGS. 10 and 11) is stored in the ROM. The output control unit 1300 has a page memory 1105.
Is converted into a video signal, and the image is transferred to the printer engine unit 1400. Printer engine unit 140
Reference numeral 0 denotes a printing mechanism unit for forming a permanent visible image on the recording paper by using the received video signal.

【0050】次に、このように構成された印刷装置にお
いて、本実施例における全体の印刷制御処理手順を図1
0、図11に示すフローチャートを参照しながら説明す
る。なお、印刷装置1000の動作の開始から終了まで
のメイン処理は図3に示したフローチャートと同様であ
るのでここでは省略する。
Next, in the printing apparatus configured as described above, an overall print control processing procedure in this embodiment is shown in FIG.
0, a description will be given with reference to the flowchart shown in FIG. The main processing from the start to the end of the operation of the printing apparatus 1000 is the same as the flowchart shown in FIG.

【0051】図10におけるS1001〜S1009、
図11におけるS1101〜S1111は各処理ステッ
プを示す。
S1001 to S1009 in FIG.
S1101 to S1111 in FIG. 11 indicate processing steps.

【0052】図10は図3のステップS303にあたる
描画処理を示している。この処理は実際に印刷処理を行
う処理である。まずステップS1001において、コマ
ンド解析部1103でデータが排紙命令かどうかをチェ
ックし、排紙命令の場合はステップS1006に進み処
理を行う。また、ステップS1001において排紙命令
でない場合は、次に解析したコマンドが文字印字または
図形描画などページメモリへの展開処理のコマンドかど
うかを判別し(ステップS1002)、そうでない場合
はステップS1005に進み、そのコマンドを直ちに実
行する。また、そうである場合(ステップS1002か
らステップS1003に進んだ場合)は、ステップS1
003においてコマンド実行処理がしやすい形の中間コ
ードを生成する。
FIG. 10 shows the drawing process corresponding to step S303 in FIG. This process is a process for actually performing the printing process. First, in step S1001, the command analysis unit 1103 checks whether the data is a paper discharge command. If the data is a paper discharge command, the process proceeds to step S1006 to perform processing. If it is not the paper discharge command in step S1001, it is determined whether the next analyzed command is a command for expanding the page memory such as character printing or graphic drawing (step S1002). If not, the process proceeds to step S1005. , Execute the command immediately. If so (step S1002 to step S1003), step S1
At 003, an intermediate code in a form that facilitates command execution processing is generated.

【0053】その後ステップS1009において解像度
変換処理を行う。この中間コードを受けてコマンド実行
部1104では、ページメモリ1105への展開処理を
行い(ステップS1004)、展開処理終了後は図3の
ステップS302に戻り、データの解析処理を繰り返
す。一方、ステップS1001において排紙命令と判断
された場合は、出力制御部1300においてページメモ
リ1105の内容をプリンタエンジン部1400に対す
るビデオ信号に変換して画像転送出力する(ステップS
1006)。プリンタエンジン部1400では、受け取
ったビデオ信号を記録紙に永久可視画像形成し印刷を行
う(ステップS1007)。そしてステップS1008
で印刷された結果を排紙すると1ページ当たりの印刷制
御処理は終了する。
Thereafter, in step S1009, resolution conversion processing is performed. Upon receiving this intermediate code, the command execution unit 1104 performs expansion processing to the page memory 1105 (step S1004), and after completion of the expansion processing, the flow returns to step S302 in FIG. 3 to repeat the data analysis processing. On the other hand, if it is determined in step S1001 that the instruction is a paper discharge instruction, the output control unit 1300 converts the content of the page memory 1105 into a video signal for the printer engine unit 1400 and outputs the image (step S).
1006). The printer engine unit 1400 forms a permanent visible image on the recording paper with the received video signal and prints it (step S1007). Then, in step S1008
When the result printed in step 1 is ejected, the print control process for each page ends.

【0054】図11は図10で用いた解像度変換処理を
示している。この処理は描画する印刷イメージを間引い
て解像度を低下させる処理である。まずステップS11
01において、1ページ分のページメモリが確保できて
いない場合(この場合のページメモリは一般にバンドメ
モリと呼ばれる)、ステップS1003で作成した中間
コードをバンドメモリに展開する展開時間を算出する。
次にステップS1102において、展開のために必要な
メモリすなわち中間コードを印刷イメージに展開するた
めに一時的に必要となるメモリを算出する。
FIG. 11 shows the resolution conversion process used in FIG. This process is a process of thinning a print image to be drawn to reduce the resolution. First, step S11
In 01, when the page memory for one page is not secured (the page memory in this case is generally called a band memory), the expansion time for expanding the intermediate code created in step S1003 into the band memory is calculated.
Next, in step S1102, the memory required for expansion, that is, the memory temporarily required for expanding the intermediate code into the print image is calculated.

【0055】ステップS1101、ステップS1102
の結果を受けてステップS1103において解像度変換
が必要か否かを判定する。ここで判定の方法について説
明を加えると、バンドメモリへの展開を行う場合には、
展開が終ったバンドから順次ビデオ信号に変換してい
き、ビデオ信号への変換が終了したバンドから順次開き
バンドメモリとして中間コードを展開していく、いわゆ
るバンディング処理と呼ばれる処理が必要である。しか
し、あるバンドメモリへの中間コードの展開処理が複雑
で、中間コードの展開処理がビデオ信号への変換処理に
追い付かれると印刷が不可能となってしまうため、ステ
ップS1101で予め算出した展開時間が上記ビデオ信
号への変換時間に間に合わない場合にはステップS11
03において解像度変換が必要と判定される。また、ス
テップS1102において展開のために必要なメモリ
が、確保可能なメモリ容量に不足する場合にもやはり印
刷不可能となるのでステップS1103において解像度
変換が必要と判定される。このような判定方法によって
ステップS1103において解像度変換が不用と判定さ
れた場合にはそのまま処理を終了する。
Steps S1101 and S1102
In step S1103, it is determined whether the resolution conversion is necessary or not. Here, adding a description of the determination method, when expanding to a band memory,
It is necessary to perform a so-called banding process, in which the bands that have been expanded are sequentially converted into video signals, and the bands that have been converted into video signals are sequentially opened to expand the intermediate code as a band memory. However, since the expansion process of the intermediate code to a certain band memory is complicated and printing cannot be performed if the expansion process of the intermediate code catches up with the conversion process to the video signal, the expansion time calculated in advance in step S1101. Is not in time for the conversion to the above video signal, step S11
In 03, it is determined that resolution conversion is necessary. Further, even if the memory required for expansion in step S1102 is insufficient in the memory capacity that can be secured, printing is still impossible, so it is determined in step S1103 that resolution conversion is necessary. When it is determined that the resolution conversion is unnecessary in step S1103 by such a determination method, the process ends as it is.

【0056】一方、ステップS1103において解像度
変換が必要と判定された場合には、ステップS1104
において印刷イメージをブロックに分割する。次にステ
ップS1105で1ブロック分のデータを取り出し、ス
テップS1106においてブロック中のONビットをカ
ウントする。その後、ステップS1107でONビット
がブロック中のビットの過半数を占めているか否かを判
定し、過半数を占めていない場合すなわちOFFビット
が過半数である場合には、そのままステップS1108
に進み間引き処理を行う。
On the other hand, if it is determined in step S1103 that resolution conversion is necessary, step S1104.
In, the print image is divided into blocks. Next, in step S1105, one block of data is taken out, and in step S1106, the ON bits in the block are counted. Then, in step S1107, it is determined whether the ON bit occupies the majority of the bits in the block. If the ON bit does not occupy the majority, that is, if the OFF bit is the majority, the step S1108 is performed as it is.
Then, the thinning process is performed.

【0057】ステップS1108では、一定の法則に従
ってビットを間引き、解像度を低下させる。一方、ステ
ップS1107においてONビットが過半数である場合
にはステップS1109に進む。ステップS1109で
はブロックを白黒反転させてのブロック中のONビット
とOFFビットを入れ換える。その後ステップS111
0において間引き処理を行った後、ステップS1111
で再度白黒反転を行い、ON/OFFビットを元に戻
す。ステップS1108またはステップS1111で処
理を行った後、ステップS1112においてステップS
1104で分割した全ブロック分の間引き処理が終了し
たか否かを判定し、終了であれば処理を終了し、終了で
なければ全ブロック分終了するまでステップS1105
からの処理を繰り返す。
In step S1108, bits are thinned out according to a certain rule to reduce the resolution. On the other hand, if the number of ON bits is a majority in step S1107, the process proceeds to step S1109. In step S1109, the black and white of the block are inverted, and the ON bit and the OFF bit in the block are exchanged. After that, step S111
After performing the thinning process at 0, step S1111
Invert the black and white again and reset the ON / OFF bit. After performing the processing in step S1108 or step S1111, in step S1112, step S
It is determined whether or not the thinning-out processing for all the blocks divided in 1104 is completed. If the thinning-out processing is completed, the processing is ended.
Repeat the process from.

【0058】以上、印刷装置全体の動きを説明したが、
これらの処理はフォーマッタ制御部1100のコンピュ
ータシステムによって実現される。
The operation of the entire printing apparatus has been described above.
These processes are realized by the computer system of the formatter control unit 1100.

【0059】(他の実施例)実施例1では、ブロックデ
ータの対称性の判定にブロックテーブルを用いたが、テ
ーブルは使用せず、単にブロックデータが全てONまた
は全てOFFの時のみ回転処理を省略するようにするこ
とも可能である。さらに、実施例1では、イメージデー
タについての例を述べたが、フォントの回転数にも同様
に使用することができる。この場合、点対称のフォント
についてはフラグを立てておき、フラグが立っているフ
ォントについては2回目からはパターンを検知せず、自
動的に回転処理を省略することが可能である。
(Other Embodiments) In the first embodiment, the block table is used to determine the symmetry of the block data. However, the table is not used, and the rotation process is performed only when all the block data are ON or OFF. It is also possible to omit it. Furthermore, in the first embodiment, the example of the image data is described, but the same can be applied to the number of rotations of the font. In this case, it is possible to set a flag for a point-symmetrical font in advance and not detect a pattern for the flagged font from the second time and automatically omit the rotation processing.

【0060】また、実施例2では、パターン検知の方法
としてブロックの端から1ラインごとに比較したが、ブ
ロック中のパターンさえ比較することができればその他
のパターンマッチング法を使用しても実現可能であるこ
とはいうまでもない。
Further, in the second embodiment, as a method of pattern detection, comparison is made line by line from the end of the block. However, if pattern in the block can be compared, it can be realized by using other pattern matching methods. Needless to say.

【0061】また、実施例3では、予めブロックに分割
してから間引き処理を行ったが、印刷装置の構成上ブロ
ックに分割する必要のない場合には分割処理を省略して
もよい。
Further, in the third embodiment, the thinning process is performed after dividing into blocks in advance. However, if it is not necessary to divide into blocks due to the configuration of the printing apparatus, the dividing process may be omitted.

【0062】[0062]

【発明の効果】以上説明したように、本発明によれば、
イメージデータの内、回転前と回転後が同一であるよう
な対称性をもつ部分に関しては回転処理を行わずに描画
することによって高速なイメージ描画が可能となる。
As described above, according to the present invention,
In the image data, a high-speed image can be drawn by performing drawing without performing the rotation process on a portion having symmetry such that the image before rotation is the same as the image after rotation.

【0063】また、イメージデータを分割して回転した
後、回転後のブロックデータを一時記憶手段に退避・復
帰することによって、同一パターンの回転が複数回使用
された場合のイメージ描画を高速化することが可能とな
る。
Further, after the image data is divided and rotated, the rotated block data is saved / restored in the temporary storage means to speed up the image drawing when the rotation of the same pattern is used a plurality of times. It becomes possible.

【0064】さらに、ブロックデータをビット反転させ
ることによって、一つの間引きアルゴリズムで白黒反転
した画像にも最適な間引き処理を行うことができ、解像
度低下の際にも品位劣化を押えた高品位な印刷が可能と
なる。
Further, by bit-reversing the block data, it is possible to perform optimal thinning-out processing even on an image that is black-and-white inverted by one thinning-out algorithm, and high-quality printing that suppresses quality deterioration even when resolution is lowered. Is possible.

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

【図1】本発明の各実施例のレーザビームプリンタの構
造を示す側断面図である。
FIG. 1 is a side sectional view showing a structure of a laser beam printer according to each embodiment of the present invention.

【図2】実施例1による印刷装置の基本構成を示すブロ
ック図である。
FIG. 2 is a block diagram showing a basic configuration of a printing apparatus according to the first embodiment.

【図3】実施例1の印刷制御手順を示すフローチャート
である。
FIG. 3 is a flowchart illustrating a print control procedure according to the first exemplary embodiment.

【図4】図3に示した描画処理の手順を示すフローチャ
ートである。
FIG. 4 is a flowchart showing a procedure of the drawing process shown in FIG.

【図5】図4に示した回転処理の手順を示すフローチャ
ートである。
5 is a flowchart showing a procedure of a rotation process shown in FIG.

【図6】実施例1におけるブロックテーブルの一例を示
す図である。
FIG. 6 illustrates an example of a block table according to the first exemplary embodiment.

【図7】実施例2による印刷装置の基本構成を示すブロ
ック図である。
FIG. 7 is a block diagram illustrating a basic configuration of a printing apparatus according to a second embodiment.

【図8】実施例2による図4に示した回転処理の手順を
示すフローチャートである。
FIG. 8 is a flow chart showing a procedure of the rotation processing shown in FIG. 4 according to the second embodiment.

【図9】実施例3による印刷装置の基本構成を示すブロ
ック図である。
FIG. 9 is a block diagram showing a basic configuration of a printing apparatus according to a third embodiment.

【図10】実施例3による図3に示した描画処理の手順
を示すフローチャートである。
FIG. 10 is a flowchart showing a procedure of the drawing process shown in FIG. 3 according to the third embodiment.

【図11】図10に示した解像度変換処理の手順を示す
フローチャートである。
11 is a flowchart showing a procedure of resolution conversion processing shown in FIG.

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

1000 印刷装置 1002 レーザドライバ 1003 半導体レーザ 1004 レーザ光 1005 回転多面鏡 1006 静電ドラム 1007 現像ユニット 1008 用紙カセット 1009 給紙ローラ 1010 搬送ローラ 1011 搬送ローラ 1012 操作パネル 1100 フォーマッタ制御部 1101 受信バッファ 1102 コマント判別部 1103 コマンド解析部 1104 コマンド実行部 1105 ページメモリ 1106 データ分割部 1107 回転実行部 1108 キャッシュメモリ 1109A パターン検出部 1109B 間引き検出部 1109C 反転実行部 1200 インターフェース 1300 出力制御部 1400 プリンタエンジン部 2000 ホストコンピュータ 1000 printer 1002 laser driver 1003 semiconductor laser 1004 laser beam 1005 rotating polygon mirror 1006 electrostatic drum 1007 developing unit 1008 paper cassette 1009 paper feed roller 1010 transport roller 1011 transport roller 1012 operation panel 1100 formatter control unit 1101 receive buffer 1102 command discrimination unit 1103 Command analysis unit 1104 Command execution unit 1105 Page memory 1106 Data division unit 1107 Rotation execution unit 1108 Cache memory 1109A Pattern detection unit 1109B Thinning detection unit 1109C Inversion execution unit 1200 Interface 1300 Output control unit 1400 Printer engine unit 2000 Host computer

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 受信したイメージデータを所定の大きさ
のブロックに分割する分割手段と、該分割手段によって
分割したブロックデータのパターンを検知し、当該パタ
ーンが回転後のパターンと同一か否かを判定する判定手
段と、該判定手段が同一パターンでないと判定したとき
のみ前記分割したブロックデータに対して回転を行う回
転手段とを具備したことを特徴とする印刷装置。
1. A dividing unit for dividing the received image data into blocks of a predetermined size, and a pattern of the block data divided by the dividing unit is detected to determine whether the pattern is the same as the rotated pattern. A printing apparatus comprising: a determination unit for determining and a rotation unit for rotating the divided block data only when the determination unit determines that the patterns are not the same.
【請求項2】 請求項1において、前記判定手段は、回
転前と回転後が同一であるようなブロックデータテーブ
ルを具備し、前記分割したブロックデータを当該ブロッ
クデータテーブルと比較することによって、回転前と回
転後のブロックデータが同一か否かを判定することを特
徴とする印刷装置。
2. The rotating means according to claim 1, wherein the determining means comprises a block data table that is the same before and after the rotation, and compares the divided block data with the block data table. A printing apparatus, which determines whether or not block data before and after rotation is the same.
【請求項3】 受信したイメージデータを所定の大きさ
のブロックに分割する分割手段と、前記分割したブロッ
クデータに対して回転を行う回転手段と、回転前および
前記回転手段による回転後のブロックデータを格納する
一時記憶手段と、新たな分割したブロックデータと前記
一時記憶手段にすでに格納されているブロックデータと
が一致する場合には、当該新たな分割したブロックデー
タに対する回転後のブロックデータとして、当該一時記
憶手段にすでに格納されているブロックデータを取り出
す手段とを具えたことを特徴とする印刷装置。
3. Dividing means for dividing the received image data into blocks of a predetermined size, rotating means for rotating the divided block data, and block data before and after rotation by the rotating means. When the temporary storage means for storing, the new divided block data and the block data already stored in the temporary storage means match, as the block data after rotation for the new divided block data, A printing apparatus comprising: means for retrieving block data already stored in the temporary storage means.
【請求項4】 エンジン部分に供給する印刷イメージを
記憶する記憶手段と、前記記憶の際に印刷イメージを所
定の大きさのブロックに分割する分割手段と、前記分割
したブロックデータを所定のパターンに基づいて間引
き、解像度を低下させる間引き手段と、該間引き手段に
よる間引き処理の前後でブロックデータのビットを反転
させる手段とを具備したことを特徴とする印刷装置。
4. A storage means for storing a print image to be supplied to an engine part, a dividing means for dividing the print image into blocks of a predetermined size at the time of the storage, and the divided block data in a predetermined pattern. A printing apparatus comprising: a thinning means for thinning based on the thinning means, and a means for inverting the bits of the block data before and after the thinning processing by the thinning means.
JP7064096A 1995-03-23 1995-03-23 Printing device Pending JPH08258344A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7064096A JPH08258344A (en) 1995-03-23 1995-03-23 Printing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7064096A JPH08258344A (en) 1995-03-23 1995-03-23 Printing device

Publications (1)

Publication Number Publication Date
JPH08258344A true JPH08258344A (en) 1996-10-08

Family

ID=13248213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7064096A Pending JPH08258344A (en) 1995-03-23 1995-03-23 Printing device

Country Status (1)

Country Link
JP (1) JPH08258344A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341551A (en) * 2004-04-27 2005-12-08 Canon Inc Image processing apparatus, image processing method, program thereof, and recording medium
JP2009214537A (en) * 2008-02-14 2009-09-24 Seiko Epson Corp Printing control method for printer and printer
US7809186B2 (en) 2004-04-27 2010-10-05 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program thereof, and recording medium
JP2013114675A (en) * 2011-11-29 2013-06-10 Apple Inc In-line image rotation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341551A (en) * 2004-04-27 2005-12-08 Canon Inc Image processing apparatus, image processing method, program thereof, and recording medium
US7809186B2 (en) 2004-04-27 2010-10-05 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program thereof, and recording medium
JP2009214537A (en) * 2008-02-14 2009-09-24 Seiko Epson Corp Printing control method for printer and printer
JP2013114675A (en) * 2011-11-29 2013-06-10 Apple Inc In-line image rotation
US8797359B2 (en) 2011-11-29 2014-08-05 Apple Inc. Inline image rotation

Similar Documents

Publication Publication Date Title
JPH0937062A (en) Device and method for processing image
EP0629973B1 (en) Output apparatus and method
JPH08258344A (en) Printing device
JP3297445B2 (en) Output method and device
JP3015133B2 (en) Print control apparatus and method
JP2000335021A (en) Image processing apparatus and method
JP2981400B2 (en) Printing apparatus and data processing method for printing apparatus
JP3576622B2 (en) Image output apparatus and method and printing system
JP2006159458A (en) Image output device
JP3174233B2 (en) Image forming apparatus and method
JP3397514B2 (en) Output device and output method
JP3175492B2 (en) Image data processing method and apparatus
JPH10171612A (en) Picture processor and compression processing method
JP2001078036A (en) Device and method for processing image
JP3327744B2 (en) Recording apparatus and method, and computer control apparatus
JPH1051636A (en) Printing controller, information processor, printer and printing information processing method
JP3100304B2 (en) Dot pattern generation device and dot pattern generation method
JPH1044530A (en) Printing control apparatus, information-processing apparatus, printing apparatus, and method for processing print information
JPH08300745A (en) Image processing device and control method thereof
JPH0858178A (en) Printer, printing mechanism and printing control method
JPH08290627A (en) Method and apparatus for printing
JP2000079727A (en) Printing control apparatus, method for processing data for printing control apparatus, and memory medium storing computer readable program
JPH11198489A (en) Printing processing apparatus
JPH0557959A (en) Printer
JP2001331287A (en) Picture processor and picture processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050802

A131 Notification of reasons for refusal

Effective date: 20060606

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20080701

Free format text: JAPANESE INTERMEDIATE CODE: A01

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080701

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20130711

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20130711