JP2007148578A - Printer for executing rendering suitable for operation system or application program - Google Patents

Printer for executing rendering suitable for operation system or application program Download PDF

Info

Publication number
JP2007148578A
JP2007148578A JP2005339294A JP2005339294A JP2007148578A JP 2007148578 A JP2007148578 A JP 2007148578A JP 2005339294 A JP2005339294 A JP 2005339294A JP 2005339294 A JP2005339294 A JP 2005339294A JP 2007148578 A JP2007148578 A JP 2007148578A
Authority
JP
Japan
Prior art keywords
application program
print data
image
drawing process
image processing
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
JP2005339294A
Other languages
Japanese (ja)
Inventor
Yasushi Tanaka
康司 田中
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 JP2005339294A priority Critical patent/JP2007148578A/en
Publication of JP2007148578A publication Critical patent/JP2007148578A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a printer for executing the optimal rendering even to print data generated by a different application program or operation system. <P>SOLUTION: This printer for executing image formation by executing image processing including rendering according to supplied print data is provided with: an image processing unit (32) for analyzing the print data, and for deciding at least one of an application program and an operating system which has generated the print data, and for the print data by rendering predetermined according to the decided application program or operating system; and a print engine (42) for executing image formation on the basis of the image data rendered by the image processing unit. Thus, it is possible to quicken the print job by executing the optimal rendering corresponding to at least one of the operation system and the application program which has generated the print data. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は,プリンタなどの印刷装置に関し,特に,印刷データを生成したオペレーションシステムやアプリケーションプログラムに適した描画処理を行う印刷装置に関する。   The present invention relates to a printing apparatus such as a printer, and more particularly, to a printing apparatus that performs drawing processing suitable for an operation system or application program that generates print data.

プリンタなどの印刷装置は,ホストコンピュータから特定のアプリケーションプログラムとオペレーティングシステムによって生成された印刷データを受信し,その印刷データについて必要な描画処理を含む画像処理を行い,印刷エンジンにより画像形成を行う。印刷データには,画像形成のための描画コマンドが含まれ,印刷装置はその描画コマンドにしたがって画像の描画処理を行い,描画された画像データに対して必要な色変換や二値化処理を行い,印刷エンジンにより画像形成を行う。   A printing device such as a printer receives print data generated by a specific application program and operating system from a host computer, performs image processing including necessary drawing processing on the print data, and forms an image using a print engine. The print data includes drawing commands for image formation. The printing device performs image drawing processing according to the drawing commands, and performs necessary color conversion and binarization processing on the drawn image data. , Image formation is performed by the print engine.

ホストコンピュータにインストールされるオペレーションシステムやアプリケーションプログラムは千差万別であり,それらの組合せに応じて描画コマンドの記述も異なっている。たとえば,複数の文字オブジェクトをまとめて所定の色に描画するように指示する描画コマンドの記述もあれば,個々の文字オブジェクト毎に所定の色に描画するように指示する描画コマンドの記述もある。いずれの記述であってもそれぞれの描画コマンドがプリンタにより処理可能であれば,描画結果は同じになる。また,描画コマンドの記述に応じて最適な描画処理方法が存在するが,ある描画コマンドの記述に最適な描画処理方法が,必ずしも異なる描画コマンドの記述に適しているとは限らない。むしろ,異なる描画コマンドの記述の場合は描画処理工数が増大して印刷装置における処理時間が長くなる場合がある。   There are many different operation systems and application programs installed on the host computer, and the description of the drawing command differs depending on the combination of them. For example, there is a description of a drawing command for instructing to draw a plurality of character objects together in a predetermined color, and a description of a drawing command for instructing to draw each character object in a predetermined color. Regardless of the description, if each drawing command can be processed by the printer, the drawing result will be the same. Further, although there is an optimum drawing processing method according to the description of the drawing command, the drawing processing method optimum for the description of a certain drawing command is not necessarily suitable for the description of different drawing commands. Rather, in the case of describing different drawing commands, the number of drawing processing steps increases, and the processing time in the printing apparatus may become longer.

上記のような処理の最適化を図るために,ホストコンピュータにインストールされているプリンタドライバが,印刷要求を出したアプリケーションプログラムの種類に応じて,プリンタに最適な描画コマンドを生成し,その描画コマンドを含む印刷データをプリンタに送信することが提案されている。例えば,以下の特許文献1,2に記載されるとおりである。
特開平11−327825号公報 特開平11−327846号公報
In order to optimize the above processing, the printer driver installed on the host computer generates a drawing command optimal for the printer according to the type of application program that issued the print request, and the drawing command It has been proposed to send print data including a printer to a printer. For example, it is as described in the following Patent Documents 1 and 2.
JP-A-11-327825 Japanese Patent Laid-Open No. 11-327846

上記の従来例では,プリンタドライバがアプリケーションプログラムから受け取った描画要求を印刷装置であるプリンタの処理に最適な描画コマンドに変換してプリンタに送信する。そのため,アプリケーションプログラムから受け取った描画要求が必ずしも最適化された描画コマンドに変換できるとは限らない。あるアプリケーションプログラムから受け取った描画要求はそれに対応した描画コマンドに変換し,当該描画コマンドに最適な描画処理を行うほうがより効率的に処理を行うことができる場合がある。その場合でも,上記従来例ではプリンタの持つ描画処理に適合するような描画コマンドの記述方式を採用しているので,必ずしも最適な描画処理が行われるとは限らない。   In the conventional example described above, the drawing request received from the application program by the printer driver is converted into a drawing command that is most suitable for the processing of the printer, which is a printing apparatus, and transmitted to the printer. Therefore, the drawing request received from the application program cannot always be converted into an optimized drawing command. In some cases, a drawing request received from an application program is converted into a drawing command corresponding to the drawing command, and a drawing process optimal for the drawing command is performed more efficiently. Even in such a case, the conventional drawing method employs a drawing command description method suitable for the drawing process of the printer, so that the optimum drawing process is not always performed.

そこで,本発明の目的は,異なるアプリケーションプログラムまたはオペレーションシステムで生成された印刷データであっても,最適な描画処理を行うことができる印刷装置を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a printing apparatus that can perform optimal drawing processing even for print data generated by different application programs or operation systems.

上記の目的を達成するために,本発明の第1の側面によれば,供給された印刷データにしたがって描画処理を含む画像処理を行って画像形成を行う印刷装置において,前記印刷データを解析して当該印刷データを生成したアプリケーションプログラム及びオペレーティングシステムの少なくとも一つを判別し,当該判別されたアプリケーションプログラムまたはオペレーティングシステムに応じてあらかじめ定められている描画処理で前記印刷データを描画処理する画像処理ユニットと,前記画像処理ユニットにより描画処理された画像データに基づいて画像形成を行う印刷エンジンとを有する。   In order to achieve the above object, according to a first aspect of the present invention, in a printing apparatus that performs image processing including drawing processing according to supplied print data and forms an image, the print data is analyzed. An image processing unit that determines at least one of an application program and an operating system that have generated the print data and draws the print data by a drawing process that is predetermined according to the determined application program or operating system And a print engine for forming an image based on the image data drawn by the image processing unit.

上記の印刷装置によれば,印刷データを生成したオペレーティングシステム及びアプリケーションプログラムの少なくとも一つに対応する最適の描画処理を実行するので,印刷ジョブを高速化することができる。   According to the above printing apparatus, the optimum drawing process corresponding to at least one of the operating system and the application program that generated the print data is executed, so that the print job can be speeded up.

以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and equivalents thereof.

図1は,本実施の形態におけるホストコンピュータとプリンタ(印刷装置)の構成図である。ホストコンピュータ10は,中央処理ユニット12と,メモリ14と,キーボードなどの入力デバイスKBと,表示ユニットDISPとが内部バス22を介して接続されている。また,ホストコンピュータ10には,オペレーションシステム16と,ワードプロセッサや描画ツールなどの複数のアプリケーションプログラム18と,プリンタドライバ20がインストールされている。   FIG. 1 is a configuration diagram of a host computer and a printer (printing apparatus) in the present embodiment. In the host computer 10, a central processing unit 12, a memory 14, an input device KB such as a keyboard, and a display unit DISP are connected via an internal bus 22. The host computer 10 is installed with an operation system 16, a plurality of application programs 18 such as a word processor and a drawing tool, and a printer driver 20.

特定のアプリケーションプログラム18により生成された出力データが,オペレーションシステム(以下OSと称する)の描画インターフェースを介してプリンタドライバ20に渡され,プリンタドライバ20がプリンタ30に解釈可能な描画コマンドを有する印刷データを生成する。この描画コマンドはプリンタが解釈できる記述方式で記述されている。したがって,印刷データを生成したアプリケーションプログラムとOSの種類に応じて,描画コマンドの記述の仕方が異なるのが一般的である。   Output data generated by a specific application program 18 is transferred to the printer driver 20 via a drawing interface of an operation system (hereinafter referred to as OS), and the print data having drawing commands that the printer driver 20 can interpret to the printer 30. Is generated. The drawing command is described in a description method that can be interpreted by the printer. Therefore, in general, the description method of the drawing command differs depending on the type of OS and the application program that generated the print data.

プリンタ30は,プリンタドライバ20と通信するインターフェースIFと,プリンタドライバから供給される印刷データに対する画像処理の制御を行う画像処理制御ユニット32と,内部メモリ34と,画像処理制御ユニット32からの制御に応答して描画処理を行う描画処理ユニット36と,画像データの色変換処理を行う色変換ユニット38と,画像データを二値化する二値化ユニット40と,二値化されたデータに基づいて画像を形成する印刷エンジン42とを有する。画像処理制御ユニット32は,中央処理ユニットと画像処理制御プログラムとにより実現される。また,描画処理ユニット36,色変換ユニット38,二値化ユニット40は,専用のハードウエアにより実現されてもよく,またはソフトウエアにより実現されてもよい。   The printer 30 is controlled by the interface IF that communicates with the printer driver 20, the image processing control unit 32 that controls image processing for print data supplied from the printer driver, the internal memory 34, and the image processing control unit 32. Based on the binarized data, a rendering processing unit 36 that performs rendering processing in response, a color conversion unit 38 that performs color conversion processing of image data, a binarization unit 40 that binarizes image data, and the binarized data. And a print engine 42 for forming an image. The image processing control unit 32 is realized by a central processing unit and an image processing control program. The drawing processing unit 36, the color conversion unit 38, and the binarization unit 40 may be realized by dedicated hardware or may be realized by software.

画像処理制御ユニット32は,プリンタドライバ20から供給された印刷データを解析し,画像形成に必要な描画コマンドを抽出する。そして,抽出した描画コマンドを描画処理ユニット36に与えて画像の描画処理を行う。描画処理では,例えば画像の輪郭を登録し輪郭内部をクリップエリアに設定し,クリップエリアに対して色データを与える着色処理を行ってカラー若しくはモノクロの画像を形成する。さらに,別の描画処理では,例えば所定領域に対して所定の色の演算処理を繰り返して画像の形成を行う。いずれの描画処理においても,複数の描画コマンドを処理することで,形成すべき画像の画素毎の色データを有するビットマップデータからなる画像データが生成される。   The image processing control unit 32 analyzes the print data supplied from the printer driver 20 and extracts drawing commands necessary for image formation. The extracted drawing command is given to the drawing processing unit 36 to perform image drawing processing. In the drawing process, for example, an image outline is registered, the inside of the outline is set as a clip area, and a color process for giving color data to the clip area is performed to form a color or monochrome image. Further, in another drawing process, for example, a predetermined color calculation process is repeated for a predetermined area to form an image. In any drawing process, by processing a plurality of drawing commands, image data composed of bitmap data having color data for each pixel of the image to be formed is generated.

画像処理制御ユニット32は,供給された印刷データを解析して最適な描画処理判定を行う。すなわち,描画処理ユニット36は,複数種類の描画処理を行うことができ,画像処理制御ユニット32から指定された描画処理に基づいて描画コマンドを処理する。   The image processing control unit 32 analyzes the supplied print data and makes an optimum drawing process determination. That is, the drawing processing unit 36 can perform a plurality of types of drawing processing, and processes drawing commands based on the drawing processing designated by the image processing control unit 32.

画像処理制御ユニット32は,形成された画像データに対して,例えばRGBからCMYKへの色変換を色変換ユニット38に行わせ,色変換された画像データの二値化処理を二値化ユニット40に行わせる。そして,二値化された画像再生データが印刷エンジン42に供給され,印刷媒体上への画像形成が行われる。   The image processing control unit 32 causes the color conversion unit 38 to perform color conversion from, for example, RGB to CMYK on the formed image data, and performs binarization processing on the color-converted image data. To do. Then, the binarized image reproduction data is supplied to the print engine 42, and an image is formed on the print medium.

図2は,本実施の形態における画像処理制御ユニットによる描画処理判定のフローチャート図である。画像処理制御ユニット32(図1)は,受信した印刷データからその印刷データを生成したOSとアプリケーションプログラムを判別する。ウインドウズ(登録商標)などの汎用OSの場合,印刷データにはOSとアプリケーションプログラムの情報が含まれている。したがって,画像処理制御ユニット32は,その情報を抽出していずれのOSとアプリケーションプログラムにより生成されたかを判別する。   FIG. 2 is a flowchart of drawing process determination by the image processing control unit in the present embodiment. The image processing control unit 32 (FIG. 1) determines the OS and application program that generated the print data from the received print data. In the case of a general-purpose OS such as Windows (registered trademark), the print data includes information on the OS and application programs. Therefore, the image processing control unit 32 extracts the information and determines which OS and application program generated the information.

画像処理制御ユニット32は,あらかじめOSとアプリケーションプログラムに対応して最適な描画処理の種類を登録した描画処理テーブルを参照して,判別したOSとアプリケーションプログラムが登録済みであれば(S12のYES),その描画処理テーブルに登録されている対応する描画処理を選択する(S14)。登録されていなければ,あらかじめ定められているデフォルトの描画処理を選択する(S16)。   The image processing control unit 32 refers to the drawing processing table in which the optimum drawing processing type is registered in advance corresponding to the OS and application program, and if the determined OS and application program have been registered (YES in S12). , The corresponding drawing process registered in the drawing process table is selected (S14). If not registered, a predetermined default drawing process is selected (S16).

図3は,描画処理テーブルの一例を示す図である。このテーブルでは,OSの種類OS1,OS2と,アプリケーションプログラムの種類APL1,APL2の組合せに応じて,描画処理1,2がそれぞれ対応付けて登録されている。なお,OSとアプリケーションプログラムの少なくとも一つに対応して描画処理1,2をそれぞれ登録するようにしても良い。   FIG. 3 is a diagram illustrating an example of a drawing processing table. In this table, drawing processes 1 and 2 are registered in association with each other according to the combination of the OS types OS1 and OS2 and the application program types APL1 and APL2. The drawing processes 1 and 2 may be registered in correspondence with at least one of the OS and the application program.

判別したOSとアプリケーションプログラムが描画処理テーブルに登録されていない場合,その未登録のOSとアプリケーションプログラムとを所定の回数N回判別した場合は(S18のYES),デフォルトの描画処理により描画処理を含む画像処理を終了したアイドル状態の時に,異なる描画処理で同じ印刷データについて描画処理を追試する(S20)。そして,複数の描画処理のうち最も適した(例えば最も高速,最もメモリ使用量が少ないなど)描画処理を選択し,描画処理テーブルに登録する(S22のYES,S24)。図3の例では,判別したOSxとアプリケーションプログラムAPLxとの組合せに対応して,描画処理1が登録されている。   If the determined OS and application program are not registered in the drawing process table, and the unregistered OS and application program are determined N times a predetermined number of times (YES in S18), the drawing process is performed by the default drawing process. When the image processing including the image processing is in an idle state, the drawing processing is re-examined for the same print data by different drawing processing (S20). Then, the most suitable drawing process (for example, the highest speed and the smallest memory usage) is selected from the plurality of drawing processes and registered in the drawing process table (YES in S22, S24). In the example of FIG. 3, the drawing process 1 is registered corresponding to the combination of the determined OSx and the application program APLx.

また,画像処理制御ユニット32が,供給された印刷データからOSとアプリケーションプログラムを判別することができない場合は,その判別不能の印刷データの処理をN回行った後に(S18のYES),異なる描画処理で追試を行い最適な描画処理を選択し,判別できないOSとアプリケーションプログラムとして(図3のUK)描画処理テーブルに登録する。図3の例では,判別不能UKに対応して描画処理2が登録されている。   If the image processing control unit 32 cannot determine the OS and the application program from the supplied print data, after performing N times of processing of the indistinguishable print data (YES in S18), a different drawing is performed. An additional test is performed to select an optimum drawing process, and the OS and application program that cannot be identified (UK in FIG. 3) are registered in the drawing process table. In the example of FIG. 3, the drawing process 2 is registered corresponding to the indistinguishable UK.

以上のように,汎用しているOSやアプリケーションプログラムの組合せに対しては,あらかじめいずれの描画処理が最適であるかを設計段階で決めておくことができるので,描画処理テーブルに登録しておく。そして,供給された印刷データに含まれているOSやアプリケーションプログラムの情報を抽出して,最適の描画処理を選択する。汎用していないOSやアプリケーションプログラムの組合せに対しては,それらを判別した後,複数種類の描画処理をトライして,最も適した描画処理を検証し,動的に描画処理テーブルに追加する。さらに,供給される印刷データからOSやアプリケーションプログラムの情報を得られない場合は,判別不能のOS及びアプリケーションプログラムに対応して,複数の描画処理のトライヤルにより見つけた最適描画処理を,動的に描画処理テーブルに追加する。これにより,常に最適の描画処理を選択して処理することができる。   As described above, for a combination of general-purpose OSs and application programs, which drawing process is optimal can be determined in advance at the design stage, and is registered in the drawing process table. . Then, information on the OS and application program included in the supplied print data is extracted, and an optimum drawing process is selected. For combinations of OSs and application programs that are not general-purpose, after identifying them, a plurality of types of drawing processes are tried, the most suitable drawing process is verified, and dynamically added to the drawing process table. Further, when the OS and application program information cannot be obtained from the supplied print data, the optimum drawing process found by a plurality of drawing process trials is dynamically handled corresponding to the OS and application program that cannot be discriminated. Add to the drawing process table. As a result, the optimum drawing process can always be selected and processed.

図4〜図8は,本実施の形態における描画処理の一例を説明する図である。これらの図を参照して,異なる描画コマンドに適した描画処理を説明する。   4 to 8 are diagrams for explaining an example of the drawing processing in the present embodiment. A drawing process suitable for different drawing commands will be described with reference to these drawings.

図4(A)は,文字「Terminal Server」を赤色から黄色,緑,紫と徐々に変化させてグラデーションをつけた図形である。このような文字の印刷を行うための印刷データは,例えば次の3つのコマンドを有する。すなわち,図4(B)に示されるように,第1に,「T」から始まる各文字の輪郭(サブパス)50を登録するコマンド,第2に,輪郭で囲まれた領域をクリップエリア52として登録するコマンド,図4(C)に示されるように,第3に,色が変化する矩形54を文字のクリップエリア52上に描画して文字を着色するコマンドである。   FIG. 4A shows a figure in which the character “Terminal Server” is gradually changed from red to yellow, green, and purple to give a gradation. The print data for printing such characters has, for example, the following three commands. That is, as shown in FIG. 4B, first, a command for registering the outline (subpath) 50 of each character starting with “T”, and second, the area surrounded by the outline is set as a clip area 52. As shown in FIG. 4C, a third command is a command for coloring a character by drawing a rectangle 54 whose color changes on the character clip area 52.

図5は,図4の描画処理のフローチャート図である。まず,第1のコマンドを実行して,文字,つまり図形の輪郭(サブパス)を登録する(S30)。そして,第2のコマンドを実行して,図形を小さな図形要素,例えば台形要素に分割し(S32),各台形要素をクリップエリアとしてデータベース化する(S36,S38)。最後に,第3のコマンドを実行して色矩形54と重なる台形要素内に色矩形の色を着色する(S40)。第3のコマンドは着色処理であり,例えばクリップエリア52を構成する台形要素領域に色矩形54の色データを上書きする論理演算コマンドである。   FIG. 5 is a flowchart of the drawing process of FIG. First, the first command is executed to register a character, that is, a contour (subpath) of a figure (S30). Then, the second command is executed to divide the figure into small figure elements, for example, trapezoid elements (S32), and each trapezoid element is databased as a clip area (S36, S38). Finally, the third command is executed to color the color rectangle in the trapezoidal element overlapping the color rectangle 54 (S40). The third command is a coloring process, for example, a logical operation command for overwriting the color data of the color rectangle 54 on the trapezoidal element area constituting the clip area 52.

上記の描画処理において,台形要素のデータベース化の処理には,ツリー構造のデータベースにするか(S36),リスト構造のデータベースにするか(S38)の2つの処理が可能である。   In the above drawing processing, trapezoidal element database processing can be performed in two processes: a tree structure database (S36) or a list structure database (S38).

図6は,描画処理におけるツリー構造とリスト構造のデータベースを示す図である。図6(A)はツリー構造のリレーショナルなデータベースである。ツリー構造では,各ノードの右側にはそのノードの値より大きな値を持つノードが,左側にはそのノードの値より小さな値を持つノードがリンクされる。図中,各ノードにはその値に対応する数字が与えられている。このように値「2」のノードの左側には値「1」,右側には値「3」のノードがリンクされる。それ以外も同様である。かかるデータベースの利点は,例えば最も高い値「4」のノードからある値のノードを検索する場合,検索対象がランダムな場合は目的のノードに達するまでの工数が少なくなる。例えば,値「3」のノードを検索する場合,値「4」,値「2」のノードをチェックした後に値「3」のノードに到達する。また,ある値のノードを追加する場合も,追加するノードの値がランダムな場合は追加すべき位置に達するまでの工数が少なくなる。例えば,値「3.5」のノードを追加する場合,値「4」,値「2」,値「3」をチェックした後に,値「3」のノードの右側に追加される。   FIG. 6 is a diagram showing a database of a tree structure and a list structure in the drawing process. FIG. 6A shows a relational database having a tree structure. In the tree structure, a node having a value larger than the value of the node is linked to the right side of each node, and a node having a value smaller than the value of the node is linked to the left side. In the figure, each node is given a number corresponding to its value. Thus, the value “1” is linked to the left side of the node of value “2”, and the node of value “3” is linked to the right side. The same applies to other cases. The advantage of such a database is that, for example, when searching for a node having a certain value from the node having the highest value “4”, if the search target is random, the number of steps required to reach the target node is reduced. For example, when searching for a node having a value “3”, the node having the value “3” is reached after checking the nodes having the values “4” and “2”. Also, when adding a certain value of node, if the value of the node to be added is random, the number of steps required to reach the position to be added is reduced. For example, when adding a node with a value “3.5”, after checking a value “4”, a value “2”, and a value “3”, the node is added to the right side of the node with a value “3”.

このように,ツリー構造の場合は,ノードの検索や追加に要する工数が高々ツリー構造の深さ方向のノード数のチェックに限られるので,検索や追加のノードの値がランダムであっても,平均的な工数を少なくできるメリットがある。   In this way, in the case of a tree structure, the man-hours required for searching and adding nodes are limited to checking the number of nodes in the depth direction of the tree structure, so even if the values of the search and additional nodes are random, There is an advantage that the average man-hour can be reduced.

図6(B)はリスト構造のリレーショナルなデータベースである。リスト構造では,各ノードはその値の昇降順にシリアルにリンクされる。図示されるとおり,値「1」〜「7」のノードがシリアルにリンクされている。このようなリスト構造のデータベースでは,追加されるノードの値が順に大きくまたは小さくなる場合は,直前に追加されたノードに次のノードがリンクされる処理となるので,極めて少ない工数で処理可能である。例えば,値「1」〜「4」のノードが順番に追加された状態で,次に値「5」のノードが追加される場合,直前に追加された値「4」のノードに現在ポインタが設定されている状態で値「5」のノードが追加されるので,現在ポインタの値「4」のノードとの比較チェックして,そのノードの次に新たな値「5」のノードがリンクされるだけで良い。また,ノードの検索においても,検索するノードの値が順に大きくまたは小さくなる場合は,同様の理由で処理工数が少なくてすむ。   FIG. 6B shows a relational database having a list structure. In the list structure, each node is serially linked in ascending / descending order. As shown in the figure, nodes having values “1” to “7” are serially linked. In such a list-structured database, if the value of the node to be added becomes larger or smaller in order, the next node is linked to the node added immediately before. is there. For example, when nodes with values “1” to “4” are sequentially added and a node with a value “5” is added next, the current pointer is set to the node with the value “4” added immediately before. Since the node with the value “5” is added in the set state, a comparison check with the node with the current pointer value “4” is performed, and the node with the new value “5” is linked next to the node. Just do it. In the node search, if the value of the node to be searched increases or decreases in order, the number of processing steps can be reduced for the same reason.

このように,リスト構造の場合は,ノードの検索や追加に要する工数がノードの値が順に大きくまたは小さくなる場合は,非常に効率的に処理可能である。   As described above, in the case of the list structure, the man-hours required for searching and adding nodes can be processed very efficiently when the values of the nodes increase or decrease in order.

以上の通り,ノードの検索や追加がランダムに発生する場合は,そのデータベースはツリー型が効率的であり,昇降順の場合はリスト構造が効率的である。このようなデータベースの特徴に起因して,図5の描画処理において,台形要素をツリー構造にデータベース化するか(S36),リスト構造にするか(S38)に応じて処理効率に違いが生じる。   As described above, when a node search or addition occurs at random, the database is efficient in the tree type, and in the ascending / descending order, the list structure is efficient. Due to the characteristics of such a database, the processing efficiency varies depending on whether the trapezoidal elements are converted into a tree structure (S36) or a list structure (S38) in the drawing process of FIG.

図7,8は,図形の要素図形のデータベース化する例を示す図である。この例にしたがって,ツリー構造とリスト構造それぞれのデータベース化のメリット・デメリットを説明する。図7,8いずれも,3つの図形60,61,62が横方向に並んで印刷される例である。図4(C)で説明した第3のコマンドに対する処理では,色矩形54と重なるクリップエリア52を検出する処理が必要になる。その場合,図形60〜62を図7に示すように台形要素に分割し,それを印刷領域のX座標とY座標に基づいて並べてデータベース化することが行われる。そして,データベース化された並べ順に対応して,色矩形54との重なりがチェックされる。   7 and 8 are diagrams showing an example of creating an element figure database of figures. According to this example, the advantages and disadvantages of creating a database of tree structure and list structure will be described. 7 and 8 are examples in which three graphics 60, 61, 62 are printed side by side in the horizontal direction. In the processing for the third command described with reference to FIG. 4C, processing for detecting the clip area 52 that overlaps the color rectangle 54 is required. In that case, the figures 60 to 62 are divided into trapezoidal elements as shown in FIG. 7, and are arranged in a database based on the X coordinate and Y coordinate of the print area. Then, the overlap with the color rectangle 54 is checked in correspondence with the arrangement order in the database.

並べ方のルールは,Y座標が小さいほど前に,Y座標が同じであればX座標が小さいほど前にするルールである。そして,色矩形54の領域は,ラスタスキャン方向に移動させる。つまり,Y座標の小さい行についてX座標を小から大に増加させて行方向に移動し,次にY座標を増加した行について同様に行方向に移動する。つまり,上記の並べ方のルールによれば,データベースの並べられた順に色矩形54の領域がクリップ領域である台形要素と重なっているか否かのチェックを行うことができるので,第3のコマンドの処理効率を上げることができる。   The arrangement rule is a rule that precedes the smaller the Y coordinate, and precedes the smaller the X coordinate if the Y coordinate is the same. The area of the color rectangle 54 is moved in the raster scan direction. In other words, the X coordinate is increased from small to large for the line with a small Y coordinate and moved in the line direction, and the line with the increased Y coordinate is moved in the line direction in the same manner. In other words, according to the above arrangement rules, it is possible to check whether or not the area of the color rectangle 54 overlaps the trapezoid element that is the clip area in the order in which the database is arranged. Efficiency can be increased.

そこで,コマンドの記述に応じて,いずれの構造のデータベースがデータベース構築処理に効率的かが問題になる。コマンドの記述に,複数文字に対して第1,第2,第3のコマンドを記述する場合(第1の記述)と,文字毎に第1,第2,第3のコマンドを記述する場合(第2の記述)とが存在する。第1の記述の場合は,第2のコマンドに対して複数文字のクリップエリアを単一のデータベースに登録することが必要になる。一方,第2の記述の場合は,第2のコマンドに対して単一の文字のクリップエリアをデータベースに登録することが必要になる。   Therefore, depending on the description of the command, the question is which database structure is efficient for database construction processing. When describing the first, second, and third commands for a plurality of characters in the command description (first description) and when describing the first, second, and third commands for each character ( A second description). In the case of the first description, it is necessary to register a clip area of a plurality of characters in a single database for the second command. On the other hand, in the case of the second description, it is necessary to register a single character clip area in the database for the second command.

図7を参照して,第1の記述の場合のデータベース化を説明する。図形60〜62が複数の台形(三角形を含む)に分解される。図7(1)に示されるとおり,図形60の4つの台形要素が図中の番号の順に並べられる。次に,図7(2)に示されるとおり,図形61の3つの台形要素がデータベースに追加される。前述の並べ方のルールによれば,図形60と61の合計7つの台形要素が図中の番号の順に並べられる。つまり,図形61の3つの台形要素が追加される。そして,図7(3)に示されるとおり,台形62の6つの台形要素がデータベースに追加され,図中の番号順に並べ直される。   With reference to FIG. 7, database formation in the case of the first description will be described. The figures 60 to 62 are decomposed into a plurality of trapezoids (including triangles). As shown in FIG. 7 (1), the four trapezoid elements of the figure 60 are arranged in the order of the numbers in the figure. Next, as shown in FIG. 7B, three trapezoidal elements of the figure 61 are added to the database. According to the arrangement rule described above, a total of seven trapezoid elements of the figures 60 and 61 are arranged in the order of the numbers in the figure. That is, three trapezoid elements of the figure 61 are added. Then, as shown in FIG. 7 (3), the six trapezoid elements of the trapezoid 62 are added to the database and rearranged in the order of the numbers in the figure.

このように,複数の文字に対して各コマンドが記述される場合,第2のコマンドに対する図形要素のデータベース化処理において,追加ノードの値(上記例ではY座標とX座標)がランダムに発生する。したがって,このような場合は前述したとおりツリー構造のデータベースが好ましい。つまり,第1の記述による描画コマンドの場合は,ツリー構造でデータベース化することが処理の効率の観点から好ましい。   In this way, when each command is described for a plurality of characters, additional node values (Y coordinate and X coordinate in the above example) are randomly generated in the database processing of graphic elements for the second command. . Therefore, in such a case, a database having a tree structure is preferable as described above. That is, in the case of the drawing command according to the first description, it is preferable to create a database with a tree structure from the viewpoint of processing efficiency.

一方,図8を参照して,第2の記述の場合のデータベース化を説明する。第2の記述によれば,文字毎に第1〜第3のコマンドが記述される。したがって,各文字に対して第1〜第3のコマンドに対する処理が行われる。図8(1)に示されるとおり,図形60について3つのコマンドが処理されるので,図形60の4つの台形要素が前述の並べ方ルールに基づいてデータベース化される。この場合,図形60の4つの台形要素が上から順に追加される。図形60の3つのコマンドが処理された後に,図形61について3つのコマンドが処理される。図8(2)に示されるとおり,図形61について3つの台形要素が上から順に追加されてデータベース化される。最後に,図形62について3つのコマンドが処理され,図8(3)に示されるとおり,図形62の6つの台形要素が上から順に追加されてデータベース化される。   On the other hand, with reference to FIG. 8, database formation in the case of the second description will be described. According to the second description, the first to third commands are described for each character. Therefore, processing for the first to third commands is performed for each character. As shown in FIG. 8A, since three commands are processed for the graphic 60, the four trapezoid elements of the graphic 60 are made into a database based on the above-described arrangement rules. In this case, four trapezoid elements of the graphic 60 are added in order from the top. After the three commands for graphic 60 are processed, three commands for graphic 61 are processed. As shown in FIG. 8 (2), three trapezoidal elements are added to the graphic 61 in order from the top and are made into a database. Finally, three commands are processed for the graphic 62, and as shown in FIG. 8 (3), six trapezoidal elements of the graphic 62 are added in order from the top to form a database.

このように各文字に対して3つのコマンドが記述される第2の記述による場合は,第2のコマンドに対する図形要素のデータベース化処理において,追加ノードの値が昇降順に発生する。よって,この場合はリスト構造でデータベース化することが処理の効率の観点から好ましい。   As described above, in the case of the second description in which three commands are described for each character, the value of the additional node is generated in the ascending / descending order in the database processing of the graphic elements for the second command. Therefore, in this case, it is preferable to create a database with a list structure from the viewpoint of processing efficiency.

図5に戻り,描画処理1は図7のように描画コマンドが第1の記述で記述するOSやアプリケーションプログラムに対応付けられ,第2のコマンドのクリップエリアの登録では図形(文字)の図形要素がツリー構造にデータベース化される。描画処理2は図8のように描画コマンドが第2の記述で記述するOSやアプリケーションプログラムに対応付けられ,リスト構造にデータベース化される。したがって,図3の描画処理テーブルを参照して判別したOSやアプリケーションプログラムが描画処理1が対応付けられている場合は,図形要素をツリー構造にデータベース化する処理が選択される。描画処理2が対応付けられている場合は,図形要素をリスト構造にデータベース化する処理が選択される。   Returning to FIG. 5, in the drawing process 1, as shown in FIG. 7, the drawing command is associated with the OS or application program described in the first description, and the graphic element of the figure (character) is registered in the clip area of the second command. Is databased in a tree structure. In the drawing process 2, as shown in FIG. 8, the drawing command is associated with the OS or application program described in the second description, and is databased in a list structure. Therefore, when the drawing process 1 is associated with the OS or application program determined with reference to the drawing process table of FIG. 3, the process of creating a database of graphic elements in the tree structure is selected. When the drawing process 2 is associated, a process for creating a database of graphic elements in a list structure is selected.

上記第1及び第2の記述は,描画コマンドの記述例であり,それ以外にも様々な記述例が予想される。したがって,ツリー構造のデータベース化とリスト構造のデータベース化のいずれがより処理を効率化できるか否かは,それぞれの描画コマンドを処理して検証することができる。よって,図2で説明したとおり,あらかじめ描画処理テーブルに登録されていない場合は,その描画コマンドを複数の処理で行いいずれの処理が効率的に可能かを検証し,最適な処理が検出できれば描画処理テーブルに追加登録される。   The first and second descriptions are description examples of drawing commands, and various other description examples are expected. Accordingly, whether each of the tree structure database and the list structure database can be processed more efficiently can be verified by processing each drawing command. Therefore, as described with reference to FIG. 2, if the drawing command is not registered in advance in the drawing processing table, the drawing command is executed in a plurality of processes to verify which processing can be efficiently performed, and if the optimum processing can be detected, drawing is performed. It is additionally registered in the processing table.

図4に戻り,第3のコマンドの処理において,色が変化する矩形54をラスタ方向にスキャンしながら,台形要素のデータベースを検索して色矩形54と重なる台形要素を抽出し,抽出された台形要素内の画素に色矩形の色データを展開する。データベースでは,前述の並べ方ルールに基づいて並べられているので,ラスタ方向に順次スキャンする色矩形54との重なりを検出する検索工程では,データベースの並べられた順に台形要素が検出されるので,効率的に処理が行える。   Returning to FIG. 4, in the processing of the third command, while scanning the rectangle 54 whose color changes in the raster direction, the trapezoid element database is searched to extract the trapezoid element overlapping the color rectangle 54, and the extracted trapezoid is extracted. Color rectangle color data is expanded on the pixels in the element. Since the database is arranged based on the above-described arrangement rules, trapezoid elements are detected in the order in which the databases are arranged in the search process for detecting the overlap with the color rectangles 54 sequentially scanned in the raster direction. Can be processed automatically.

以上説明したとおり,本実施の形態によれば,印刷データからOSやアプリケーションプログラムを判別し最適な描画処理を実行できるので,印刷ジョブの処理工数を減らし,印刷完了までの時間を短くすることができる。また,OSやアプリケーションプログラムが予期しない場合でも,その描画コマンドを複数の処理方法で処理して最適な描画処理を検証し描画処理テーブルに登録できるので,その後の印刷ジョブを最適化することができる。   As described above, according to the present embodiment, the OS and application program can be identified from the print data and the optimum drawing process can be executed. Therefore, the processing time for the print job can be reduced and the time until the completion of printing can be shortened. it can. Even if the OS or application program does not anticipate, the drawing command can be processed by a plurality of processing methods, the optimum drawing processing can be verified and registered in the drawing processing table, and the subsequent print job can be optimized. .

本実施の形態におけるホストコンピュータとプリンタ(印刷装置)の構成図である。1 is a configuration diagram of a host computer and a printer (printing apparatus) in the present embodiment. 本実施の形態における画像処理制御ユニットによる描画処理判定のフローチャート図である。It is a flowchart figure of the drawing process determination by the image processing control unit in this Embodiment. 描画処理テーブルの一例を示す図である。It is a figure which shows an example of a drawing process table. 本実施の形態における描画処理の一例を説明する図である。It is a figure explaining an example of the drawing process in this Embodiment. 図4の描画処理のフローチャート図である。FIG. 5 is a flowchart of the drawing process of FIG. 4. 描画処理におけるツリー構造とリスト構造のデータベースを示す図である。It is a figure which shows the database of the tree structure and list structure in a drawing process. 図形の要素図形のデータベース化する例を示す図である。It is a figure which shows the example which makes the database of the element figure of a figure. 図形の要素図形のデータベース化する例を示す図である。It is a figure which shows the example which makes the database of the element figure of a figure.

符号の説明Explanation of symbols

10:ホストコンピュータ 30:印刷装置(プリンタ)
32:画像処理制御ユニット 42:印刷エンジン
10: Host computer 30: Printing device (printer)
32: Image processing control unit 42: Print engine

Claims (4)

供給された印刷データにしたがって描画処理を含む画像処理を行って画像形成を行う印刷装置において,
前記印刷データを解析して当該印刷データを生成したアプリケーションプログラム及びオペレーティングシステムの少なくとも一つを判別し,当該判別されたアプリケーションプログラムまたはオペレーティングシステムに応じてあらかじめ定められている描画処理で前記印刷データを描画処理する画像処理ユニットと,
前記画像処理ユニットにより描画処理された画像データに基づいて画像形成を行う印刷エンジンとを有することを特徴とする印刷装置。
In a printing apparatus that forms an image by performing image processing including drawing processing according to supplied print data,
The print data is analyzed to determine at least one of an application program and an operating system that generated the print data, and the print data is subjected to drawing processing determined in advance according to the determined application program or operating system. An image processing unit for drawing processing;
A printing apparatus comprising: a print engine that forms an image based on image data drawn by the image processing unit.
請求項1において,
前記画像処理ユニットは,前記アプリケーションプログラム及びオペレーティングシステムの少なくとも一つに対応して描画処理を定めた描画処理テーブルを記憶し,前記印刷データを解析して判別されたアプリケーションプログラム及びオペレーティングシステムに対応する描画処理が前記描画処理テーブルに登録されていない場合は,当該印刷データに対して複数の描画処理を実行し,最適の描画処理を当該判別されたアプリケーションプログラム及びオペレーティングシステムに対応して前記描画処理テーブルに新たに登録することを特徴とする印刷装置。
In claim 1,
The image processing unit stores a drawing processing table that defines drawing processing corresponding to at least one of the application program and operating system, and corresponds to the application program and operating system determined by analyzing the print data. If the drawing process is not registered in the drawing process table, a plurality of drawing processes are executed on the print data, and the drawing process is performed in accordance with the determined application program and operating system. A printing apparatus newly registered in a table.
請求項2において,
前記画像処理ユニットは,前記印刷データを解析してアプリケーションプログラム及びオペレーティングシステムを判別できない場合は,当該印刷データに対して複数の描画処理を実行し,最適の描画処理を判別不能アプリケーションプログラム及びオペレーティングシステムに対応して前記描画処理テーブルに新たに登録することを特徴とする印刷装置。
In claim 2,
When the image processing unit cannot analyze the print data and determine an application program and an operating system, the image processing unit executes a plurality of drawing processes on the print data and cannot determine the optimum drawing process. A printing apparatus that newly registers in the drawing processing table corresponding to the above.
請求項1において,
前記描画処理は,画像を構成する図形を複数の図形要素に分解し,当該複数の図形要素をそのX,Y座標にしたがってリレーショナルデータベースに登録し,前記リレーショナルデータベースを検索して所定領域内に位置する前記図形要素内に色データを与える着色処理を含み,
前記リレーショナルデータベースをツリー構造とする第1の描画処理と,リスト構造とする第2の描画処理とを有することを特徴とする印刷装置。
In claim 1,
In the drawing process, a figure constituting an image is decomposed into a plurality of graphic elements, the plurality of graphic elements are registered in a relational database according to their X and Y coordinates, and the relational database is searched and positioned in a predetermined area. A coloring process for providing color data in the graphic element
A printing apparatus comprising: a first drawing process having a tree structure for the relational database; and a second drawing process having a list structure.
JP2005339294A 2005-11-24 2005-11-24 Printer for executing rendering suitable for operation system or application program Pending JP2007148578A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005339294A JP2007148578A (en) 2005-11-24 2005-11-24 Printer for executing rendering suitable for operation system or application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005339294A JP2007148578A (en) 2005-11-24 2005-11-24 Printer for executing rendering suitable for operation system or application program

Publications (1)

Publication Number Publication Date
JP2007148578A true JP2007148578A (en) 2007-06-14

Family

ID=38209952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005339294A Pending JP2007148578A (en) 2005-11-24 2005-11-24 Printer for executing rendering suitable for operation system or application program

Country Status (1)

Country Link
JP (1) JP2007148578A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258987A (en) * 2008-04-16 2009-11-05 Sharp Corp Printer driver executed by computer, utility program, and installer for utility program
US8675237B2 (en) 2011-09-16 2014-03-18 Fuji Xerox Co., Ltd. Image forming apparatus, image forming method, and computer readable medium for comparing two types of print data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258987A (en) * 2008-04-16 2009-11-05 Sharp Corp Printer driver executed by computer, utility program, and installer for utility program
JP4663754B2 (en) * 2008-04-16 2011-04-06 シャープ株式会社 Printing system
US8339644B2 (en) 2008-04-16 2012-12-25 Sharp Kabushiki Kaisha Printer driver, printer driver program recording medium, print data importing device, print data importing program recording medium, and installer recording medium
US8675237B2 (en) 2011-09-16 2014-03-18 Fuji Xerox Co., Ltd. Image forming apparatus, image forming method, and computer readable medium for comparing two types of print data

Similar Documents

Publication Publication Date Title
EP1962224B1 (en) Applying traps to a printed page specified in a page description language format
US6577777B1 (en) Image processing using adjoining relationships between image parts
US8711372B2 (en) Techniques for image segment accumulation in document rendering
EP0933723A1 (en) Printing apparatus
US8723884B2 (en) Scan converting a set of vector edges to a set of pixel aligned edges
US9384427B2 (en) Systems and methods for optimizing pixel based raster trapping
US6891970B1 (en) Image processing apparatus and method
JP2007148578A (en) Printer for executing rendering suitable for operation system or application program
JP5684466B2 (en) Method and computer readable medium for processing at least one pixel in a raster image buffer corresponding to objects of multiple object types
CN108717544A (en) A kind of newspaper sample manuscript word automatic testing method based on intelligent image analysis
JP2021167084A (en) Image processing device, image processing method and program
JP2574994B2 (en) Optical character recognition method and apparatus
US7206463B2 (en) Image processing method, device and system
US8537425B2 (en) Method for optimizing the search for trapping regions
JP6107270B2 (en) Image processing apparatus and computer program
JP2022090469A (en) Format defining device, format defining method, and program
US9489590B2 (en) Color mode determination apparatus and non-transitory computer readable medium storing color mode determination program
JPH1011593A (en) Image forming device
US9269031B2 (en) Method of detecting regions in an edge-based representation
JP2003051929A (en) Image processing method and apparatus
US6339654B1 (en) Apparatus and method for efficiently processing color and monochrome images
US20120200896A1 (en) Method for Optimizing the Search for Trapping Regions
US7616344B2 (en) Image processing apparatus and method for printing and plate making, and recording medium having image processing program recorded therein for printing and plate making
JP4810995B2 (en) Image processing apparatus, method, and program
JP2001143076A (en) Image processor