JP3874297B2 - Printer - Google Patents

Printer Download PDF

Info

Publication number
JP3874297B2
JP3874297B2 JP2004341896A JP2004341896A JP3874297B2 JP 3874297 B2 JP3874297 B2 JP 3874297B2 JP 2004341896 A JP2004341896 A JP 2004341896A JP 2004341896 A JP2004341896 A JP 2004341896A JP 3874297 B2 JP3874297 B2 JP 3874297B2
Authority
JP
Japan
Prior art keywords
command
image data
print
cpu
image
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.)
Expired - Fee Related
Application number
JP2004341896A
Other languages
Japanese (ja)
Other versions
JP2005067215A5 (en
JP2005067215A (en
Inventor
修司 大▲塚▼
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004341896A priority Critical patent/JP3874297B2/en
Publication of JP2005067215A publication Critical patent/JP2005067215A/en
Publication of JP2005067215A5 publication Critical patent/JP2005067215A5/ja
Application granted granted Critical
Publication of JP3874297B2 publication Critical patent/JP3874297B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、高速印刷に適したプリンタに関する。   The present invention relates to a printer suitable for high-speed printing.

コンピュータシステムで一般に用いられているプリンタは、ホストコンピュータから所定のプリンタ制御言語で記述された一連の印刷コマンドを受け取り、それらの印刷コマンドを順に解釈し、その解釈結果に基づいて印刷動作を行う。従来のプリンタは、CPU、ROM、RAMなどからなるマイクロコンピュータを内蔵し、専らこのマイクロコンピュータが、ホストから印刷コマンドを受信し、これを解釈し、その解釈結果に基づいて印刷ヘッド等の機構を駆動及び制御している。
特開平9−30058号公報
A printer generally used in a computer system receives a series of print commands described in a predetermined printer control language from a host computer, interprets the print commands in order, and performs a printing operation based on the interpretation result. A conventional printer has a microcomputer composed of a CPU, ROM, RAM, etc., which exclusively receives a print command from a host, interprets it, and configures a mechanism such as a print head based on the interpretation result. Drive and control.
Japanese Patent Laid-Open No. 9-30058

必然的に、プリンタ内のマイクロコンピュータの処理速度はプリンタの印刷速度を左右する重要な要因である。従って、従来の高速プリンタは、高速・高性能のCPUを搭載しているが、結果として、その価格はすいぶんと高い。   Inevitably, the processing speed of the microcomputer in the printer is an important factor affecting the printing speed of the printer. Therefore, a conventional high-speed printer is equipped with a high-speed and high-performance CPU, but as a result, its price is very high.

従って、本発明の目的は、低価格でかつ高速印刷が可能なプリンタを提供することにある。   Accordingly, an object of the present invention is to provide a printer that is inexpensive and capable of high-speed printing.

本発明は、CPUで全コマンド処理を行おうとする従来のやり方から抜本的に脱却した技術を提供するものである。一般に、プリンタが受ける一連の印刷コマンドには、印刷条件等に関する各種パラメータを指定するコマンドや、印刷対象であるイメージデータを送って来るコマンドなど、多種多様の印刷コマンドが含まれている。この一連の印刷コマンドの大部分はイメージデータで占められているから、プリンタが行う処理の大部分もイメージデータの処理である。このイメージデータの処理とは、典型的には、所定の形式で通常は圧縮されて印刷コマンドに組み込まれているイメージデータを、コマンドから取り出し、圧縮から解凍し、印刷ヘッド等の印刷機構の駆動に適した特定の形式に変換し(いわゆる「印刷イメージの展開」)、そして、その印刷イメージを印刷機構に転送する、といったデータ操作を、印刷機構の動作タイミングに合わせて行っていくものである。従来技術では、このイメージデータ処理を専らCPUに行わせているが、これはCPUにとって格別複雑な処理ではなく、むしろ単純なデータ操作の膨大な繰り返しに過ぎない。しかし、CPUは本来、複雑な処理や汎用的な使い方に適した装置であって、単純なデータ操作を繰り返し行うような作業では十分な高速性を発揮することができない。このような作業では、CPUの仕事の多くはメモリにデータを入れ出しすることであり、1つのCPUバスを通じて膨大回数のデータ出し入れを逐次的に繰り返していくわけであるから、CPUバスの速度や占有時間の制約からそれほど高速な処理は望めない。一方、印刷コマンドの中でも、印刷条件などに関する各種のパラメータを通知するようなコマンドについては、個々のコマンドの処理量は少ないが、コマンド毎に処理内容が異なり且つ多種多様のコマンドが存在するから、CPUで処理するのに適したものである。   The present invention provides a technology that radically breaks away from the conventional method of processing all commands by a CPU. In general, a series of print commands received by a printer includes a wide variety of print commands such as commands for specifying various parameters relating to print conditions and the like, and commands for sending image data to be printed. Since most of this series of print commands is occupied by image data, most of the processing performed by the printer is also processing of image data. This image data processing typically takes out image data that is normally compressed in a predetermined format and embedded in a print command, extracts from the command, decompresses it, and drives a print mechanism such as a print head. Data operations such as conversion to a specific format suitable for the printer (so-called “development of print image”) and transfer of the print image to the print mechanism are performed in accordance with the operation timing of the print mechanism. . In the prior art, this image data processing is exclusively performed by the CPU, but this is not a particularly complicated process for the CPU, but rather is a huge repetition of simple data operations. However, the CPU is originally an apparatus suitable for complicated processing and general-purpose usage, and cannot perform sufficiently high speed in operations that repeatedly perform simple data operations. In such a work, much of the CPU's work is to put data in and out of the memory, and it repeats enormous numbers of data in and out through one CPU bus. High speed processing cannot be expected due to the limitation of the occupation time. On the other hand, among the print commands, commands that notify various parameters related to printing conditions and the like have a small processing amount of each command, but the processing contents differ for each command, and there are various commands. It is suitable for processing by a CPU.

このような反省に基づき、本発明では、イメージデータ処理を行う専用ハードウェア回路をプリンタに搭載し、CPUを単純データ操作の繰り返し作業から解放する。専用ハードウェア回路でイメージデータ処理を行うわけであるから、それをCPUで行っていた従来技術に比較して高速印刷が可能になることは当然である。しかし、本発明の利点はそれだけではなく、さらに、この改良による価格上昇は小さいという利点もある。すなわち、イメージデータ処理の処理内容は比較的に単純であるから、その専用ハードウェア回路は、それほど複雑な構造である必要はなく、よって低価格で済む。また、プリンタCPUも、イメージデータ処理から解放されたので、それほど高速である必要はなく低価格のものでよい。従って、高速CPUを導入する従来技術ほどに価格を上げることなく高速印刷性能を達成できる。   Based on such reflection, in the present invention, a dedicated hardware circuit for performing image data processing is mounted on the printer, and the CPU is released from the repeated operation of simple data manipulation. Since image data processing is performed by a dedicated hardware circuit, it is naturally possible to perform high-speed printing as compared with the prior art in which it is performed by a CPU. However, this is not the only advantage of the present invention, and further, there is an advantage that the price increase due to this improvement is small. That is, since the processing content of the image data processing is relatively simple, the dedicated hardware circuit does not need to have a very complicated structure and can be inexpensive. Also, since the printer CPU is released from the image data processing, it does not need to be so fast and may be inexpensive. Therefore, it is possible to achieve high-speed printing performance without increasing the price as compared with the prior art that introduces a high-speed CPU.

全てのコマンド処理を専用ハードウェア回路が行うようにすることも不可能ではないが、好適な実施形態では、専用ハードウェア回路はイメージデータを送ってくる印刷コマンドと他の少数の印刷コマンドを理解して処理するだけであり、その他の多種多様な印刷コマンドはCPUが処理する。そうするとハードウェア回路がいたずらに複雑になり過ぎることがなく、しかも、CPUは自己が得意な種類のコマンド処理を行うことができ、上述した高速化と低価格化の目的を最も効果的に達成できる。   Although it is not impossible for a dedicated hardware circuit to perform all command processing, in the preferred embodiment, the dedicated hardware circuit understands print commands that send image data and a few other print commands. The CPU processes a variety of other print commands. As a result, the hardware circuit does not become unnecessarily complicated, and the CPU can perform the kind of command processing that it is good at, and can achieve the above-mentioned objectives of high speed and low cost most effectively. .

また、好適な実施形態では、専用ハードウェア回路がホストコンピュータと通信してデータを受信し、そのデータが自己の処理できる所定のコマンドであるか否か判断し、処理できないデータはCPUへ送る。そのため、ホストコンピュータとの通信インタフェースについてもCPUが関与しなくなり、いっそうの高速化につながる。   In a preferred embodiment, the dedicated hardware circuit communicates with the host computer to receive data, determines whether the data is a predetermined command that can be processed by itself, and sends data that cannot be processed to the CPU. For this reason, the CPU is not involved in the communication interface with the host computer, which leads to higher speed.

また、好適な実施形態では、専用ハードウェア回路は、CPUのRAMとは別の独自のメモリをもっており、このメモリに印刷イメージを展開してCPUを介さずに印刷イメージを印刷機構へ送るようになっている。この構成もCPUをイメージ処理から解放する一つの工夫である。また、後述するように例外的にCPUが印刷イメージを生成する場合があるが、その場合にも、CPUが生成した印刷イメージを専用ハードウェア回路が受け取って自己のメモリに展開し、印刷機構へ送る。このこともCPUの負担を軽減しいっそうの高速化につながる。   In a preferred embodiment, the dedicated hardware circuit has its own memory different from the RAM of the CPU, and the print image is developed in this memory and sent to the printing mechanism without going through the CPU. It has become. This configuration is also a device for releasing the CPU from image processing. Also, as described later, the CPU may exceptionally generate a print image. In this case as well, the dedicated hardware circuit receives the print image generated by the CPU, develops it in its own memory, and sends it to the print mechanism. send. This also reduces the burden on the CPU and leads to higher speed.

ホストから印刷コマンドが来るときの順序は、通常、各ページ毎に、印刷条件などを指定するコマンド群が先に来て、イメージデータを送るコマンドがそれに後続する。本発明の好適な実施形態でもこの順序を採用しているが、先に来る印刷条件などを指定するコマンド群については、専用ハードウェア回路は、これを理解せずにCPUへ送り(専用ハードウェア回路のこのような状態を「ギブアップモード」という)、CPUがこれらのコマンドを理解し処理するようにしている。そして、ホスト側のプリンタドライバは、印刷条件などを指定するコマンド群が終わって、次にイメージデータを送るコマンドを送り始めようとするとき、それに先立って、専用ハードウェア回路をギブアップモードから目覚めさせることをCPUに命じる特別のコマンド(「リスタートコマンド」)を送り、このリスタートコマンドの後に相当量(例えば数十バイト)の無意味データ(NULLデータ)を送るようにしている。このコマンド構成により、専用ハードウェア回路は、イメージデータのコマンドを受ける直前にリスタートコマンドによってギブアップモードから目覚めるが、完全に目覚めるまでの間は無意味データが送られてくるだけであり、完全に目覚めた後に初めてイメージデータのコマンドを受けることになる。結果として、専用ハードウェア回路は確実にイメージデータ処理に入ることができる。   The order in which print commands are received from the host is usually that for each page, a command group for specifying print conditions etc. comes first, followed by a command for sending image data. In the preferred embodiment of the present invention, this order is also employed. However, the dedicated hardware circuit sends the command group specifying the printing conditions and the like to the CPU without understanding this (dedicated hardware). This state of the circuit is referred to as “give-up mode”) so that the CPU understands and processes these commands. Then, the host-side printer driver wakes up the dedicated hardware circuit from the give-up mode prior to the end of the command group for specifying the printing conditions and the start of sending the next command for sending image data. A special command (“restart command”) is sent to the CPU, and a considerable amount (for example, several tens of bytes) of meaningless data (NULL data) is sent after this restart command. With this command structure, the dedicated hardware circuit wakes up from the give-up mode by the restart command immediately before receiving the command of the image data, but only meaningless data is sent until it completely wakes up. You will receive an image data command for the first time after waking up. As a result, the dedicated hardware circuit can reliably enter the image data processing.

さらに、好適な実施形態では、CPUのファームウェアは、ホストから到来する可能性のある全てのコマンドを理解し、イメージデータ処理も含め全ての処理をCPUで行えるよう万全に用意されている。それにより、例えばホスト側のプリンタドライバが古いバージョンであって、専用ハードウェア回路が理解できない古いバージョンの印刷コマンドでイメージを送ってきたとしても、プリンタはそれらの印刷コマンドをCPUで理解して印刷イメージを展開し、正常に印刷を行うことができる。また、例えば、プリンタがネットワークに繋がっていて、プリンタドライバではなくネットワークサーバのネットワークOSからイメージデータ(例えばバナーのイメージ)を受けた場合なども、プリンタはそのイメージをCPUで処理して印刷することが可能である。   Furthermore, in the preferred embodiment, the CPU firmware is fully prepared to understand all commands that may come from the host and to perform all processing including image data processing. As a result, even if the printer driver on the host side is an old version and the image is sent with an old version print command that the dedicated hardware circuit cannot understand, the printer understands the print command with the CPU and prints it. The image can be expanded and printed normally. For example, when the printer is connected to the network and receives image data (for example, a banner image) from the network OS of the network server instead of the printer driver, the printer processes the image with the CPU and prints it. Is possible.

図1は、本発明の一実施形態の構成を示す。   FIG. 1 shows the configuration of an embodiment of the present invention.

ホストコンピュータ1にローカルインタフェース又はネットワークなどを介してプリンタ3が接続されている。ホストコンピュータ1にはプリンタ3用のプリンタドライバ5が搭載されており、このプリンタドライバ5は、プリンタ3が理解できる所定のプリンタ制御言語で記述された一連の印刷コマンドを生成し、その一連の印刷コマンドをOSを通じてプリンタ3に送る。この一連の印刷コマンドの内訳は、簡単にいうと、各ページ毎に、印刷条件などを指定する印刷コマンド群が先に送られ、イメージデータを送る印刷コマンド群がそれに後続するというものである。   A printer 3 is connected to the host computer 1 via a local interface or a network. The host computer 1 is equipped with a printer driver 5 for the printer 3, and the printer driver 5 generates a series of print commands described in a predetermined printer control language that can be understood by the printer 3, and the series of print commands. The command is sent to the printer 3 through the OS. The breakdown of this series of print commands is simply that, for each page, a print command group for specifying a print condition or the like is sent first, followed by a print command group for sending image data.

なお、印刷コマンドに組み込まれているイメージデータは、この実施形態では、既にプリンタドライバ5側でラスタライズ、色変換、ハーフトーニング及びインタレース処理などを終えたデータ形態(典型的には、各画素の各色成分値の階調数がプリンタ3の表現能力と同じ2階調または数階調であるCMYKラスタイメージデータ)であって且つ一定の手法で圧縮されたものであるとする。しかし、必ずしもそうでなければないわけではなく、他のイメージデータ形態(例えば、色変換やハーフトーニングやインタレース処理前の例えばフルカラーRGBラスタデータなど)であってもよい。印刷コマンド内のイメージデータがどのような形態であるかによりプリンタ3側で行うべきイメージデータ処理の複雑程度が異なってくるが、本実施形態の場合は、プリンタ3側では色変換やハーフトーニングやインタレース処理を行う必要が無いので、そのイメージデータ処理は最も簡単なものになる。   In this embodiment, the image data incorporated in the print command is a data format (typically, for each pixel that has already undergone rasterization, color conversion, halftoning, interlace processing, etc. on the printer driver 5 side. It is assumed that the number of gradations of each color component value is CMYK raster image data (2 gradations or several gradations that is the same as the expression capability of the printer 3) and is compressed by a certain method. However, this is not necessarily the case, and other image data forms (for example, full-color RGB raster data before color conversion, halftoning, or interlace processing) may be used. The complexity of image data processing to be performed on the printer 3 side differs depending on the form of the image data in the print command. In the present embodiment, color conversion, halftoning, Since there is no need to perform interlace processing, the image data processing is the simplest.

プリンタ3には、イメージデータ処理を行うための専用ハードウェア回路9が搭載されている。この専用ハードウェア回路は、例えばASIC(ApplicationSpecific IC)であって、ソフトウェアをCPUで実行するようなコンピュータではない。一方、CPU11、ROM13、RAM15などからなるマイクロコンピュータ17も搭載されており、CPU11のバスに専用ハードウェア回路9が接続されている。このマイクロコンピュータ17は、プリンタ3で行う必要のある処理の中で専用ハードウェア回路9が行わない処理(例えば、印刷条件等に関する印刷コマンド処理など)を主として行うためのものであるが、ROM13内のファームウェアとしては、プリンタ3が受信する可能性のある全ての種類の印刷コマンドが処理できるようプログラムされている。また、印刷イメージを着色剤を用いて実際に用紙上に印刷するための印刷ヘッドなどの印刷機構19も、専用ハードウェア回路9に接続されている。   The printer 3 is equipped with a dedicated hardware circuit 9 for performing image data processing. The dedicated hardware circuit is, for example, an ASIC (Application Specific IC), and is not a computer that executes software on a CPU. On the other hand, a microcomputer 17 including a CPU 11, a ROM 13, a RAM 15 and the like is also mounted, and a dedicated hardware circuit 9 is connected to the bus of the CPU 11. The microcomputer 17 is mainly used for processing that is not performed by the dedicated hardware circuit 9 among the processing that needs to be performed by the printer 3 (for example, print command processing related to printing conditions). Is programmed so that it can process all types of print commands that the printer 3 may receive. Further, a printing mechanism 19 such as a print head for actually printing a print image on a sheet using a colorant is also connected to the dedicated hardware circuit 9.

専用ハードウェア回路9は、ホストコンピュータとの通信インタフェース処理を行って、プリンタドライバ5からのデータを受信するホストインタフェース回路21、および、受信したデータを解析してその転送先を切替えるコマンド解析回路13を有している。コマンド解析回路23には少数の所定の印刷コマンドが予め登録されていて、コマンド解析回路23は受信したデータがその登録コマンドであるか否かを判断する。登録コマンドとしては、第1に、ラスタライズ、色変換、ハーフトーニング及びインタレース処理の終わったCMYKラスタイメージデータを送ってくる印刷コマンド(以下、「ラスタイメージコマンド」という)があり、第2に、FF(フォームフィード)や紙送り制御などの少数のコマンドがある。コマンド解析回路13は、受信コマンドが登録コマンドである場合、そのうちラスタイメージコマンドは印刷イメージ展開回路15へ転送し、FFや紙送り制御のコマンドはCPU11へ転送する。また、受信データが登録コマンドに該当しない(つまり、受信データが理解できない)場合には、コマンド解析回路13は、そのデータ及びこれに後続する受信データの解析をやめて、それらのデータの一切をCPUへ転送する(この状態を「ギブアップモード」という)。   The dedicated hardware circuit 9 performs a communication interface process with the host computer to receive the data from the printer driver 5, and a command analysis circuit 13 to analyze the received data and switch the transfer destination. have. A small number of predetermined print commands are registered in advance in the command analysis circuit 23, and the command analysis circuit 23 determines whether or not the received data is the registration command. As a registration command, firstly, there is a print command (hereinafter referred to as “raster image command”) for sending CMYK raster image data that has undergone rasterization, color conversion, halftoning, and interlace processing, and secondly, There are a few commands such as FF (form feed) and paper feed control. When the received command is a registration command, the command analysis circuit 13 transfers the raster image command to the print image development circuit 15 and transfers the FF and paper feed control commands to the CPU 11. When the received data does not correspond to the registration command (that is, the received data cannot be understood), the command analysis circuit 13 stops analyzing the data and the subsequent received data, and all the data is transferred to the CPU. (This state is called "Give-up mode").

専用ハードウェア回路9は、さらに、印刷イメージ展開回路25、イメージバッファ29用のメモリ、及び印刷イメージ転送回路31を有する。印刷イメージ展開回路25は、コマンド解析回路23から受け取ったラスタイメージコマンドを解釈して、CMYKラスタイメージを取り出し、これを圧縮から解凍し、コマンド内での形式から印刷機構19の駆動に適した形式のCMYKラスタイメージ(以下、「印刷イメージ」という)へ組み替え、そして、メモリ上にイメージバッファ29を確保して、そのイメージバッファ29に印刷イメージを展開する。印刷イメージ転送回路31は、印刷機構31の動作タイミングに合わせて、イメージバッファ29内の印刷イメージを印刷機構19へ転送する。   The dedicated hardware circuit 9 further includes a print image development circuit 25, a memory for the image buffer 29, and a print image transfer circuit 31. The print image development circuit 25 interprets the raster image command received from the command analysis circuit 23, extracts the CMYK raster image, decompresses it from the compression, and uses a format suitable for driving the printing mechanism 19 from the format in the command. Are rearranged into CMYK raster images (hereinafter referred to as “print images”), an image buffer 29 is secured on the memory, and the print image is developed in the image buffer 29. The print image transfer circuit 31 transfers the print image in the image buffer 29 to the printing mechanism 19 in accordance with the operation timing of the printing mechanism 31.

なお、本実施形態では、印刷イメージ展開回路25におけるイメージデータ処理は、上記のように圧縮の解凍や形式の組み替えといった簡単なものであり、このことは専用ハードウェア回路9を安価に開発しようとする観点から好ましいことである。しかし、プリンタドライバ5が行っている色変換やハーフトーニングやインタレース処理の一部又は全部を印刷イメージ展開回路25で行えるように構成することも可能である。そのように構成した場合には、プリンタドライバ5の負担が軽減されるので、いっそうの高速化につながる。   In the present embodiment, the image data processing in the print image development circuit 25 is as simple as the above-described decompression of decompression and rearrangement of formats, and this is intended to develop the dedicated hardware circuit 9 at low cost. It is preferable from the viewpoint of. However, it is also possible to configure so that part or all of the color conversion, halftoning, and interlace processing performed by the printer driver 5 can be performed by the print image development circuit 25. In such a configuration, the burden on the printer driver 5 is reduced, which leads to further increase in speed.

専用ハードウェア回路9は、さらに、CPU11が生成した印刷イメージをイメージバッファ29に展開するためのCPUイメージ展開回路27を有する。CPUイメージ展開回路27が働く場合とは、ホスト側のプリンタドライバ5がこのプリンタ3には対応していない古いバージョンであって、専用ハードウェア回路に登録されていない古いバージョンの印刷コマンドを用いてイメージデータを送ってきたような場合や、このプリンタ3がネットワークに繋がっていて、そのネットワーク上のプリンタドライバからでなくネットワークOSから例えばバナーなどのイメージデータを受信したような場合である。このような場合には、コマンド解析回路23は受信したデータを理解できないためギブアップモードとなって受信データを全てCPU11に転送するので、CPU11が受信データのコマンドを解釈して印刷イメージを生成することになる。CPU11が生成した印刷イメージは、CPUイメージ展開回路27によってイメージバッファ27に展開され、上記と同様に印刷機構31へ転送される。   The dedicated hardware circuit 9 further includes a CPU image expansion circuit 27 for expanding the print image generated by the CPU 11 in the image buffer 29. The case where the CPU image development circuit 27 works is that the printer driver 5 on the host side is an old version that is not compatible with the printer 3 and uses an old version print command that is not registered in the dedicated hardware circuit. This is the case when image data is sent, or when the printer 3 is connected to a network and image data such as a banner is received from the network OS instead of from the printer driver on the network. In such a case, since the command analysis circuit 23 cannot understand the received data, it enters the give-up mode and transfers all the received data to the CPU 11. Therefore, the CPU 11 interprets the command of the received data and generates a print image. become. The print image generated by the CPU 11 is developed in the image buffer 27 by the CPU image development circuit 27 and transferred to the printing mechanism 31 in the same manner as described above.

CPU11、ROM13、RAM15などからなるマイクロコンピュータ17は、前述したように、あらゆるコマンド処理ができるようにプログラムされているが、通常は、印刷条件等に関するコマンドや、FFや紙送り制御などに関するコマンドの処理を行なう。また、上述したように、専用ハードウェア回路9が理解できない古いバージョンの印刷コマンドで送られてきたイメージデータや、ネットワークOSから送られて来たイメージデータの処理も例外的に行う。   As described above, the microcomputer 17 including the CPU 11, the ROM 13, the RAM 15, and the like is programmed so that all command processing can be performed. Perform processing. Also, as described above, the processing of image data sent by an old version of the print command that cannot be understood by the dedicated hardware circuit 9 or image data sent from the network OS is exceptionally performed.

さらに、このマイクロコンピュータ17は、ホストコンピュータ1からの所定のリスタートコマンドに応答して、専用ハードウェア回路9のコマンド解析回路23にリスタート信号を与えることにより、このコマンド解析回路23をギブアップモードから目覚めさせる(つまり、コマンド解析が行える状態(本発明でいう「通常モード」)に戻す)という処理も行う。典型的には、このリスタートは次のような場面で使用される。すなわち、前述したように、プリンタドライバ5からの一連の印刷コマンドは、各ページ毎に、印刷条件などを指定するコマンド群が先に来て、ラスタイメージコマンド群がそれに後続する。専用ハードウェア回路9のコマンド解析回路25は、印刷条件などを指定するコマンド群が来ている間はギブアップモードになっているので、それが終わった時点でリスタートさせて後続のラスタイメージコマンドを処理できるようにさせる。   Further, the microcomputer 17 gives a restart signal to the command analysis circuit 23 of the dedicated hardware circuit 9 in response to a predetermined restart command from the host computer 1, thereby setting the command analysis circuit 23 in the give-up mode. (Ie, returning to a state in which command analysis can be performed (“normal mode” in the present invention)). Typically, this restart is used in the following situations. That is, as described above, a series of print commands from the printer driver 5 is preceded by a command group for specifying a print condition or the like for each page, followed by a raster image command group. Since the command analysis circuit 25 of the dedicated hardware circuit 9 is in the give-up mode while a command group for designating printing conditions, etc., it is restarted at the end of the command group and the subsequent raster image command is sent. Let it be processed.

以上の構成の下でのプリンタ3の動作を、さらに図2および図3を参照して説明する。図2は、専用ハードウェア回路9のコマンド解析回路23の状態遷移図であり、図3はCPU11の状態遷移図である。   The operation of the printer 3 under the above configuration will be further described with reference to FIGS. FIG. 2 is a state transition diagram of the command analysis circuit 23 of the dedicated hardware circuit 9, and FIG. 3 is a state transition diagram of the CPU 11.

プリンタ3の電源が入れられると、専用ハードウェア回路9及びCPU11にリセット信号が入り、両者はともにアイドル状態(コマンドを待っている状態)41、51になる。その後、ホストのプリンタドライバ5が一連の印刷コマンドを送ってくるが、これは前述の通り、各ページ毎に、印刷条件などを指定するコマンド群が先に来て、その後にラスタイメージコマンド群や紙送り制御のコマンド群などが来て、各ページの最後にFFのコマンドが来るといった順序になっている。その際、プリンタドライバ5は、最初の印刷条件などを指定するコマンド群が終わると、後続のラスタイメージコマンド群などを送る前に、上述したリスタートコマンドを送るようになっている。このリスタートコマンドには、コマンド解析回路25のリスタート(目覚め)に要する時間を十分カバーできる量(例えば数十バイト)のNULLデータが付加されている。   When the printer 3 is turned on, a reset signal is input to the dedicated hardware circuit 9 and the CPU 11, and both are in an idle state (waiting for commands) 41 and 51. Thereafter, the printer driver 5 of the host sends a series of print commands. As described above, a command group for specifying print conditions and the like comes first for each page, and then a raster image command group and A command group for paper feed control and the like come, and an FF command comes at the end of each page. At this time, when the command group for specifying the first printing condition and the like is completed, the printer driver 5 sends the restart command described above before sending the subsequent raster image command group and the like. The restart command is added with NULL data in an amount (for example, several tens of bytes) that can sufficiently cover the time required for restart (wakeup) of the command analysis circuit 25.

このような一連の印刷コマンドが来ると、専用ハードウェア回路9のコマンド解析回路25は、受信データを解析するが、最初に印刷条件などを指定するコマンドを受けた時点で、そのコマンドが理解できない(登録コマンドでない)ため、図2に示す状態47へ移行して、そのコマンドの先頭まで一旦もどってそのコマンドをCPU11に転送する。これ以後、コマンド解析回路25は、状態49となってコマンド解析をやめ、後続の全ての受信コマンドをそのままCPUへ転送する。この状態47、49がギブアップモード50である(なお、ギブアップモード50以外の状態が、本発明でいう「通常モード」である)。   When such a series of print commands arrives, the command analysis circuit 25 of the dedicated hardware circuit 9 analyzes the received data. However, when the first command specifying the print conditions is received, the command cannot be understood. Since it is not a registered command, the process shifts to the state 47 shown in FIG. Thereafter, the command analysis circuit 25 enters the state 49, stops the command analysis, and transfers all subsequent received commands as they are to the CPU. The states 47 and 49 are the give-up mode 50 (the state other than the give-up mode 50 is the “normal mode” in the present invention).

CPU11は、図3に示すように、起動時にアイドル状態51であったところ、コマンド解析回路25から印刷条件などを指定するコマンド群が転送されてくると、状態53となってそのコマンドの処理を行う。個々のコマンド処理終了するたびCPU11はアイドル状態51に戻り、再び別のコマンドを受けて処理するという動作を繰り返す。印刷条件などに関するコマンド群が終わると、前述したようにリスタートコマンドを受けるので、CPU11は状態59へ移行してリスタート信号をコマンド解析回路23に出力し、そして再びアイドル状態51に戻る。   As shown in FIG. 3, when the CPU 11 is in the idle state 51 at the time of start-up, when a command group designating a printing condition or the like is transferred from the command analysis circuit 25, the CPU 11 enters the state 53 and performs processing of the command. Do. When each command processing is completed, the CPU 11 returns to the idle state 51 and repeats the operation of receiving another command and processing it again. When the command group related to the printing conditions is completed, the restart command is received as described above. Therefore, the CPU 11 shifts to the state 59, outputs a restart signal to the command analysis circuit 23, and returns to the idle state 51 again.

図2に示すように、ギブアップモード50にあるコマンド解析回路23は、CPU11からリスタート信号を受けて、アイドル状態41へ復帰する(目覚める)。リスタート信号からアイドル状態41になるまでの遅れ時間の間、リスタートコマンドに付属するNULLデータがCPU11へ転送されるが、CPU11は図3に示すようにNULLデータを受けると状態55になってNULLデータを読み捨てる。コマンド解析回路23がアイドル状態41になると、残りのNULLデータを受けてコマンド解析回路23は状態45になりNULLデータを読み捨てる。NULLデータが終わると、コマンド制御部23は、ラスタイメージコマンドや、FFや紙送り制御に関するコマンドなどの登録コマンドを受けるので、状態43になって各受信コマンドを処理する。この場合、ラスタイメージコマンドは印刷イメージ展開回路25へ送り、紙送り制御やFFのコマンドなどはCPU11へ転送する。印刷イメージ展開回路25はラスタイメージコマンドを解釈して印刷イメージを展開する。CPU11は、紙送り制御やFFのコマンドを受けると状態53になって各コマンドを処理する。   As shown in FIG. 2, the command analysis circuit 23 in the give-up mode 50 receives a restart signal from the CPU 11 and returns (wakes up) to the idle state 41. During the delay time from the restart signal to the idle state 41, NULL data attached to the restart command is transferred to the CPU 11, but the CPU 11 enters the state 55 when receiving NULL data as shown in FIG. Read and discard NULL data. When the command analysis circuit 23 enters the idle state 41, the remaining NULL data is received and the command analysis circuit 23 enters the state 45 and reads and discards the NULL data. When the NULL data is finished, the command control unit 23 receives a registration command such as a raster image command, a command related to FF or paper feed control, and enters the state 43 to process each received command. In this case, the raster image command is sent to the print image development circuit 25, and the paper feed control and FF commands are transferred to the CPU 11. The print image development circuit 25 interprets the raster image command and develops the print image. When the CPU 11 receives a paper feed control or FF command, the CPU 11 enters a state 53 to process each command.

以上のように、専用ハードウェア回路9とCPU11とがそれぞれに適した処理を分担して行うことにより、高速印刷が実現される。   As described above, high-speed printing is realized by the dedicated hardware circuit 9 and the CPU 11 sharing the processes suitable for each.

以上、本発明の一実施形態を説明したが、これらの実施形態はあくまで本発明の説明のための例示であり、本発明をこれら実施形態にのみ限定する趣旨ではない。従って、本発明は、上記実施形態以外の様々な形態でも実施することができるものである。   As mentioned above, although one Embodiment of this invention was described, these embodiment is an illustration for description of this invention to the last, and is not the meaning which limits this invention only to these embodiment. Therefore, the present invention can be implemented in various forms other than the above-described embodiment.

本発明の一実施形態の構成を示すブロック図。The block diagram which shows the structure of one Embodiment of this invention. 専用ハードウェア回路9のコマンド解析回路23の状態遷移図。The state transition diagram of the command analysis circuit 23 of the dedicated hardware circuit 9. CPU11の状態遷移図。The state transition diagram of CPU11.

符号の説明Explanation of symbols

1…ホストコンピュータ、3…プリンタ、5…プリンタドライバ、9…専用ハードウェア回路、11…CPU、17…マイクロコンピュータ、19…印刷機構、21…ホストインタフェース回路、23…コマンド解析回路、25…印刷イメージ展開回路、27…CPUイメージ展開回路、29…イメージバッファ、31…印刷イメージ転送回路 DESCRIPTION OF SYMBOLS 1 ... Host computer, 3 ... Printer, 5 ... Printer driver, 9 ... Dedicated hardware circuit, 11 ... CPU, 17 ... Microcomputer, 19 ... Printing mechanism, 21 ... Host interface circuit, 23 ... Command analysis circuit, 25 ... Printing Image development circuit 27 ... CPU image development circuit 29 ... Image buffer 31 ... Print image transfer circuit

Claims (2)

印刷コマンドを受信し前記印刷コマンドに基づく制御を実行するプリンタにおいて、
前記印刷コマンドのうちの所定の印刷コマンドを除く他の印刷コマンドを処理することができるマイクロコンピュータと、
前記所定の印刷コマンドを処理できる専用ハードウェア回路と
を備え、
前記所定の印刷コマンドには、所定の形式で圧縮されたイメージデータを送ってくることを示すイメージデータコマンドがあり、
前記マイクロコンピュータは、CPUと第一のメモリとを含み、
前記専用ハードウェア回路は、
第二のメモリと、
前記印刷コマンドを受信するインターフェース手段と、
前記所定の形式で圧縮されているイメージデータを解凍するイメージ処理手段と、
前記イメージデータコマンドを予め登録しており、前記インターフェース手段が受信した印刷コマンドが前記予め登録されているイメージデータコマンドか否かを解析するコマンド解析手段と
を備え、
前記受信した印刷コマンドが前記予め登録されている前記イメージデータコマンドである場合には、前記コマンド解析手段が、前記受信した印刷コマンドを前記予め登録されているイメージデータコマンドであると解析して、該イメージデータコマンドを前記イメージ処理手段に転送し、それにより、前記イメージ処理手段が、転送されて来た該イメージデータコマンドの前記所定の形式で圧縮されているイメージデータを解凍し、該解凍されたイメージデータを前記第二のメモリに格納し、
前記受信した印刷コマンドがイメージデータコマンドであっても前記予め登録されているイメージデータコマンドではない場合には、前記コマンド解析手段が、前記受信した印刷コマンドを前記予め登録されていないイメージデータコマンドであると解析して、該受信した印刷コマンドであるイメージデータコマンドを前記マイクロコンピュータへ転送し、それにより、前記マイクロコンピュータの前記CPUが、転送されて来た該イメージデータコマンドの他の形式で圧縮されているイメージデータを解凍する、
プリンタ。
In a printer that receives a print command and executes control based on the print command,
A microcomputer capable of processing other print commands other than a predetermined print command of the print commands;
A dedicated hardware circuit capable of processing the predetermined print command,
The predetermined print command includes an image data command indicating that image data compressed in a predetermined format is sent.
The microcomputer includes a CPU and a first memory,
The dedicated hardware circuit is:
A second memory,
Interface means for receiving the print command;
Image processing means for decompressing the image data compressed in the predetermined format;
The image data command is pre-registered, and comprises a command analysis means for analyzing whether the print command received by the interface means is the pre-registered image data command,
When the received print command is the pre-registered image data command, the command analysis unit analyzes the received print command as the pre-registered image data command, The image data command is transferred to the image processing means, whereby the image processing means decompresses the image data compressed in the predetermined format of the transferred image data command, and the decompressed Stored image data in the second memory,
If the received print command is an image data command but not the pre-registered image data command, the command analysis means uses the unregistered image data command as the received print command. The image data command which is the received print command is transferred to the microcomputer, and the CPU of the microcomputer compresses the received image data command in another form of the transferred image data command. Decompress the image data
Printer.
前記専用ハードウェア回路が、前記マイクロコンピュータの前記CPUによって解凍されたイメージデータを前記第二のメモリに展開するイメージ展開手段を更に備える、
請求項1記載のプリンタ。
The dedicated hardware circuit further includes image expansion means for expanding image data decompressed by the CPU of the microcomputer into the second memory.
The printer according to claim 1.
JP2004341896A 2004-11-26 2004-11-26 Printer Expired - Fee Related JP3874297B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004341896A JP3874297B2 (en) 2004-11-26 2004-11-26 Printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004341896A JP3874297B2 (en) 2004-11-26 2004-11-26 Printer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP04196098A Division JP3651551B2 (en) 1998-02-24 1998-02-24 Printer and printing system

Publications (3)

Publication Number Publication Date
JP2005067215A JP2005067215A (en) 2005-03-17
JP2005067215A5 JP2005067215A5 (en) 2005-08-04
JP3874297B2 true JP3874297B2 (en) 2007-01-31

Family

ID=34420427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004341896A Expired - Fee Related JP3874297B2 (en) 2004-11-26 2004-11-26 Printer

Country Status (1)

Country Link
JP (1) JP3874297B2 (en)

Also Published As

Publication number Publication date
JP2005067215A (en) 2005-03-17

Similar Documents

Publication Publication Date Title
US6347852B1 (en) System and method of applying double printing modes
JP3651551B2 (en) Printer and printing system
JP3862599B2 (en) Image forming system and control method therefor, print control apparatus and control method therefor
JP3874297B2 (en) Printer
JPH08278862A (en) Image output device and image processing method
JP2007130887A (en) Printer, and its controlling method
JP3655457B2 (en) Printer control device
JP2002178608A (en) Printer and printing method
JP2000168170A (en) Blank paper-detecting apparatus and image-recording apparatus, image-forming apparatus and image-reading apparatus using the same
KR100277734B1 (en) Printer system and method for quickly outputting display bitmap
JP2007136953A (en) Printer
JP2001318772A (en) Interface device and peripheral device
KR100277733B1 (en) Printer system and method for quickly outputting display bitmap using compression
KR100538242B1 (en) Method for improving print speed and saving memory of printer
JP2002240368A (en) Still image printer controlling apparatus
JP2002187315A (en) Printer and printing method
JP2001100970A (en) Printer host, printer system, and storage medium storing operation program of printer host
US7046386B2 (en) Bandwidth booster for aging printer ASICs
JP2004254187A (en) Information processor
JPH10171612A (en) Picture processor and compression processing method
JP2000225735A (en) Image printer
JPH11179975A (en) Color printer control device
JP3093245B2 (en) Image processing device, output control device, image processing system and method
JPH11291563A (en) Print image data control system
JP2003312066A (en) Printer

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060703

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061019

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees