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 PDFInfo
- 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
Links
Images
Abstract
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に記載されるとおりである。
上記の従来例では,プリンタドライバがアプリケーションプログラムから受け取った描画要求を印刷装置であるプリンタの処理に最適な描画コマンドに変換してプリンタに送信する。そのため,アプリケーションプログラムから受け取った描画要求が必ずしも最適化された描画コマンドに変換できるとは限らない。あるアプリケーションプログラムから受け取った描画要求はそれに対応した描画コマンドに変換し,当該描画コマンドに最適な描画処理を行うほうがより効率的に処理を行うことができる場合がある。その場合でも,上記従来例ではプリンタの持つ描画処理に適合するような描画コマンドの記述方式を採用しているので,必ずしも最適な描画処理が行われるとは限らない。 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
特定のアプリケーションプログラム18により生成された出力データが,オペレーションシステム(以下OSと称する)の描画インターフェースを介してプリンタドライバ20に渡され,プリンタドライバ20がプリンタ30に解釈可能な描画コマンドを有する印刷データを生成する。この描画コマンドはプリンタが解釈できる記述方式で記述されている。したがって,印刷データを生成したアプリケーションプログラムとOSの種類に応じて,描画コマンドの記述の仕方が異なるのが一般的である。
Output data generated by a
プリンタ30は,プリンタドライバ20と通信するインターフェースIFと,プリンタドライバから供給される印刷データに対する画像処理の制御を行う画像処理制御ユニット32と,内部メモリ34と,画像処理制御ユニット32からの制御に応答して描画処理を行う描画処理ユニット36と,画像データの色変換処理を行う色変換ユニット38と,画像データを二値化する二値化ユニット40と,二値化されたデータに基づいて画像を形成する印刷エンジン42とを有する。画像処理制御ユニット32は,中央処理ユニットと画像処理制御プログラムとにより実現される。また,描画処理ユニット36,色変換ユニット38,二値化ユニット40は,専用のハードウエアにより実現されてもよく,またはソフトウエアにより実現されてもよい。
The
画像処理制御ユニット32は,プリンタドライバ20から供給された印刷データを解析し,画像形成に必要な描画コマンドを抽出する。そして,抽出した描画コマンドを描画処理ユニット36に与えて画像の描画処理を行う。描画処理では,例えば画像の輪郭を登録し輪郭内部をクリップエリアに設定し,クリップエリアに対して色データを与える着色処理を行ってカラー若しくはモノクロの画像を形成する。さらに,別の描画処理では,例えば所定領域に対して所定の色の演算処理を繰り返して画像の形成を行う。いずれの描画処理においても,複数の描画コマンドを処理することで,形成すべき画像の画素毎の色データを有するビットマップデータからなる画像データが生成される。
The image
画像処理制御ユニット32は,供給された印刷データを解析して最適な描画処理判定を行う。すなわち,描画処理ユニット36は,複数種類の描画処理を行うことができ,画像処理制御ユニット32から指定された描画処理に基づいて描画コマンドを処理する。
The image
画像処理制御ユニット32は,形成された画像データに対して,例えばRGBからCMYKへの色変換を色変換ユニット38に行わせ,色変換された画像データの二値化処理を二値化ユニット40に行わせる。そして,二値化された画像再生データが印刷エンジン42に供給され,印刷媒体上への画像形成が行われる。
The image
図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
画像処理制御ユニット32は,あらかじめOSとアプリケーションプログラムに対応して最適な描画処理の種類を登録した描画処理テーブルを参照して,判別したOSとアプリケーションプログラムが登録済みであれば(S12のYES),その描画処理テーブルに登録されている対応する描画処理を選択する(S14)。登録されていなければ,あらかじめ定められているデフォルトの描画処理を選択する(S16)。
The image
図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,
判別した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
また,画像処理制御ユニット32が,供給された印刷データからOSとアプリケーションプログラムを判別することができない場合は,その判別不能の印刷データの処理をN回行った後に(S18のYES),異なる描画処理で追試を行い最適な描画処理を選択し,判別できないOSとアプリケーションプログラムとして(図3のUK)描画処理テーブルに登録する。図3の例では,判別不能UKに対応して描画処理2が登録されている。
If the image
以上のように,汎用している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
図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
上記の描画処理において,台形要素のデータベース化の処理には,ツリー構造のデータベースにするか(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
並べ方のルールは,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
そこで,コマンドの記述に応じて,いずれの構造のデータベースがデータベース構築処理に効率的かが問題になる。コマンドの記述に,複数文字に対して第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
このように,複数の文字に対して各コマンドが記述される場合,第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
上記第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
以上説明したとおり,本実施の形態によれば,印刷データから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. .
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.
前記画像処理ユニットは,前記アプリケーションプログラム及びオペレーティングシステムの少なくとも一つに対応して描画処理を定めた描画処理テーブルを記憶し,前記印刷データを解析して判別されたアプリケーションプログラム及びオペレーティングシステムに対応する描画処理が前記描画処理テーブルに登録されていない場合は,当該印刷データに対して複数の描画処理を実行し,最適の描画処理を当該判別されたアプリケーションプログラム及びオペレーティングシステムに対応して前記描画処理テーブルに新たに登録することを特徴とする印刷装置。 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.
前記画像処理ユニットは,前記印刷データを解析してアプリケーションプログラム及びオペレーティングシステムを判別できない場合は,当該印刷データに対して複数の描画処理を実行し,最適の描画処理を判別不能アプリケーションプログラム及びオペレーティングシステムに対応して前記描画処理テーブルに新たに登録することを特徴とする印刷装置。 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.
前記描画処理は,画像を構成する図形を複数の図形要素に分解し,当該複数の図形要素をその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.
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)
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 |
-
2005
- 2005-11-24 JP JP2005339294A patent/JP2007148578A/en active Pending
Cited By (4)
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 |