JP2008181306A - Data processor, data processing method, and program - Google Patents
Data processor, data processing method, and program Download PDFInfo
- Publication number
- JP2008181306A JP2008181306A JP2007013920A JP2007013920A JP2008181306A JP 2008181306 A JP2008181306 A JP 2008181306A JP 2007013920 A JP2007013920 A JP 2007013920A JP 2007013920 A JP2007013920 A JP 2007013920A JP 2008181306 A JP2008181306 A JP 2008181306A
- Authority
- JP
- Japan
- Prior art keywords
- coordinates
- data
- outline
- vertexes
- clipping
- 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.)
- Withdrawn
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Image Generation (AREA)
Abstract
Description
本発明は、連続する矩形描画処理命令またはクリップ命令に対して、高速かつ高品位な描画処理を実行する画像形成装置および画像形成方法ならびに画像形成方法を実行するプログラムに関するものである。 The present invention relates to an image forming apparatus, an image forming method, and a program for executing an image forming method that execute high-speed and high-quality drawing processing in response to continuous rectangular drawing processing commands or clip commands.
図形描画の一方法として、互いに接した複数の矩形領域の塗りやクリッピングを指定する画像形成が要求されることがある(図5上)。この場合、前記の矩形領域のデータの輪郭を抽出し(図5中)、その座標点を間引く(図5下)ことで図形描画命令の情報量を削減する発明が、特開2002−259999にて公開されている(情報量を削減することで描画処理時間も短縮される)。前記手法で座標点を間引かれた描画命令は、OSやデバイスで規定されている描画ルールに従って描画される(図6、図7)。
しかしながら、上述した技術では、座標点を間引いたことによって、描画不正が発生する場合があり(図8)、ユーザが意図する描画結果と異なることがあった。 However, with the above-described technique, drawing fraud may occur due to thinning of the coordinate points (FIG. 8), which may differ from the drawing result intended by the user.
上述した課題を解決するために、本発明は互いに接した複数の矩形領域で、塗り、またはクリッピングを指定する画像形成要求に応じて、前記互いに接した複数の矩形領域の輪郭の頂点の座標を抽出する手段と、デバイス解像度に応じて抽出した輪郭の頂点の座標の一部を間引く手段と、前記間引き処理を行うか・行わないかを、前記輪郭の頂点それぞれの座標の変化量によって判断する判断手段と、前記間引いた後の輪郭の頂点の座標点列から、指定された塗り・またはクリッピングを指定する印刷命令データを生成する手段とを具えたことを特徴とする。 In order to solve the above-described problem, the present invention sets the coordinates of the vertices of the outlines of a plurality of rectangular areas in contact with each other in response to an image formation request for specifying painting or clipping in a plurality of rectangular areas in contact with each other. The means for extracting, the means for thinning out a part of the coordinates of the contour vertex extracted according to the device resolution, and whether or not to perform the thinning processing are determined based on the amount of change in the coordinates of each vertex of the contour. It comprises a judging means and means for generating print command data for designating the specified painting or clipping from the coordinate point sequence of the vertices of the outline after the thinning.
本発明によって、連続する矩形描画データの座標点間引き処理で発生する可能性のある描画不正の発生頻度をおさえることができる。 According to the present invention, it is possible to reduce the frequency of drawing fraud that may occur in coordinate point thinning processing of continuous rectangular drawing data.
(実施例1)
図1は、本発明の一実施例である印刷制御装置の構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。
(Example 1)
FIG. 1 is a block diagram illustrating a configuration of a print control apparatus according to an embodiment of the present invention. As long as the function of the present invention is executed, a system in which processing is performed by being connected via a network such as a LAN or WAN, whether it is a single device or a system composed of a plurality of devices. However, it goes without saying that the present invention can be applied.
同図において、コンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、以降で後述される本発明の各実施形態に係わる処理を含む、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理およびそれに基づく印刷処理の実行を制御するCPU1を備えている。このCPU1がシステムバス4に接続される各デバイスの制御を総括する。また、ROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されている。また、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データが記憶されている。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
In the figure, a
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10による表示を制御する。7はディスクコントローラ(DKC)を示し、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インターフェース(インターフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。なお、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。
A keyboard controller (KBC) 5 controls key input from a
ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。 When executing printing, the user can open a window related to print settings and set the print processing method for the printer driver, including printer settings and print mode selection.
プリンタ1500は、そのCPU12によって制御される。プリンタCPU12は、ROM13に記憶された制御プログラム等、あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に印刷出力情報としての画像信号を出力する。
The
また、このROM13のプログラムROMには、CPU12の制御プログラム等が記憶される。また、ROM13のフォント用ROMには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
Further, a control program for the
CPU12は入力部18を介してコンピュータとの通信処理が可能となっている。これにより、プリンタ内の情報等をコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMである。また、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
The
前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、1501は前述した操作パネルで操作のためのスイッチおよびLED表示器等である。 Access to the above-described external memory 14 such as a hard disk (HD) or IC card is controlled by a memory controller (MC) 20. The external memory 14 is connected as an option and stores font data, an emulation program, form data, and the like. Reference numeral 1501 denotes a switch for operating the above-described operation panel, an LED display, and the like.
また、プリンタ1500は図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
The
印刷部17は本実施形態では電子写真方式のエンジンとしている。従って、印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式の印刷装置にも本発明を適用することができる。 The printing unit 17 is an electrophotographic engine in this embodiment. Accordingly, the print data is finally recorded on a medium such as paper by toner dots. Of course, the printing method in the present invention is not limited to such an electrophotographic method. For example, the present invention can be applied to any type of printing apparatus that performs printing by forming dots, such as an inkjet method.
図2において、アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在する。そして、これらは、OSやそのモジュールを利用するモジュールによってRAM2にロードされて実行されるプログラムモジュールである。 In FIG. 2, an application 201, a graphic engine 202, a printer driver 203, and a system spooler 204 exist as files stored in the external memory 11. These are program modules that are loaded into the RAM 2 and executed by the OS and modules that use the modules.
また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力を行う。
Further, the application 201 and the printer driver 203 can be added to the HD of the external memory 11 via the FD of the external memory 11, a CD-ROM (not shown), or a network (not shown). The application 201 stored in the external memory 11 is loaded into the RAM 2 and executed. When printing is performed from the application 201 to the
アプリケーション201は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを挿す物である。グラフィックエンジン202は基本OSの機能の一部であるGraphic Device Interface(以後、GDIと記す)のことであり、プリンタドライバ203を動的にリンクすることで、ユーザが選択したグラフィックスモードに応じて、変換処理や、描画処理を実行するものである。変換または描画した結果は、印刷コマンドとしてシステムスプーラ204を経由して、プリンタ1500に送出される。
The application 201 is an object into which application software that operates on basic software such as a word processor or spreadsheet is inserted. The graphic engine 202 is a Graphic Device Interface (hereinafter referred to as GDI) that is a part of the basic OS function, and dynamically links the printer driver 203 so that it can be used in accordance with the graphics mode selected by the user. Conversion processing and drawing processing are executed. The result of conversion or drawing is sent to the
基本OSによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。 These names and functional frameworks described above may differ slightly depending on the basic OS. However, as long as the technical means referred to in the present invention can be realized, those names and frameworks are not a significant problem for the present invention. is not.
本発明はプリンタドライバ203に渡された連続矩形領域塗りつぶし、またはクリッピング命令から、コマンドサイズを圧縮しつつ、正常な印字を行うことを実現するものである。 The present invention realizes normal printing while compressing the command size from the continuous rectangular area filling or clipping command passed to the printer driver 203.
本発明の動作について、処理の流れの概要を説明する。図3は、本発明の流れ図である。 Regarding the operation of the present invention, an outline of the flow of processing will be described. FIG. 3 is a flowchart of the present invention.
ホストコンピュータ3000のRAM2にロードされたアプリケーション201が、RAM2にドキュメントデータを読み込む。アプリケーション201はRAM2にロードされたグラフィックエンジン202を通して、同じくRAM2にロードされたプリンタドライバ203へ、プリンタ1500への印刷を要求する。
The application 201 loaded in the RAM 2 of the
この際にグラフィックエンジン202からプリンタドライバ203に渡される描画命令は、文字であったり、イメージデータであったり、グラフィックであったりする。 At this time, the drawing command passed from the graphic engine 202 to the printer driver 203 is a character, image data, or graphic.
前記描画命令が連続した矩形描画命令であった場合、プリンタドライバ203では、ステップ500にて矩形領域の描画命令からその矩形領域の輪郭データを抽出する。描画命令によって描画が指定される描画オブジェクトは多数の矩形で構成されるため、矩形の頂点を集めて作った輪郭線はX軸、またはY軸と平行な直線で囲まれた形になる。 If the drawing command is a continuous rectangular drawing command, the printer driver 203 extracts contour data of the rectangular area from the drawing command of the rectangular area in step 500. Since a drawing object whose drawing is specified by a drawing command is composed of a large number of rectangles, a contour line formed by collecting the vertices of the rectangle is surrounded by a straight line parallel to the X axis or the Y axis.
ステップ501にて、前記抽出した輪郭データから、Y座標が最小、X座標が右端の点を開始点(はじめの着眼点)として設定する。
In
ステップ502にて、前記抽出された輪郭データの座標点を開始点から時計回りに順に読み込んでいき、輪郭データの全ての座標点を読み込むまで、ステップ503からステップ506を繰り返す。
In
ステップ503では、前記輪郭データの中で、現在着眼している座標点と、それに隣接する座標点(時計回り)と、前記隣接する座標点に隣接する座標点(時計回り)の座標を取得する。ここでは仮に、前者を点Aとし、そのXY座標を(XA、YA)、後者を点Bとし、そのXY座標を(XB、YB)とする。また現在着眼している座標点を点Sとし、そのXY座標を(XS、YS)とする。
In
ステップ504において、座標点Sと座標点BのX方向およびY方向の変化量、すなわち|XS−XB|および、|YS−YB|を求める。前者もしくは後者の値がある既定値より小さい場合はステップ505の間引き処理を行い、逆にある既定値以上で合った場合には、点Aを着眼点としステップ502へ戻る。
In
ステップ505の間引き処理(間引き可否の判定処理含む)についての詳細は、特開2002―259999を参照のこと。 For details of the thinning process in step 505 (including a process for determining whether thinning is possible), refer to JP-A-2002-259999.
また、ある既定値とは任意の値でよい。前記規定値はデバイスの出力解像度等によって、変化させてもよい。 The certain default value may be an arbitrary value. The specified value may be changed according to the output resolution of the device.
例として既定値の値を10dotとして判断した場合の実施例図を図4に記す。 As an example, FIG. 4 shows an example diagram when the default value is determined as 10 dots.
ステップ500に該当する処理として、矩形領域の輪郭点データを抽出する。 As processing corresponding to step 500, contour point data of a rectangular area is extracted.
図4にあてはめると、上から2番目の図の、A、B、C、D、E、F点がそれにあたる。 When applied to FIG. 4, points A, B, C, D, E, and F in the second diagram from the top correspond to this.
ステップ501に該当する処理として、A点を開始点として、そこから時計回りに2点ずつ座標点をよみこむ。図4では、開始点がA点であるので、B、Cの点を読み込み、A、B、C点のX方向・Y方向の変化量を求める(ステップ502)。矩形領域の座標点を抽出しているので、結局はA点とC点のX方向・Y方向の変化量を求めることになる。 As a process corresponding to step 501, a point A is set as a starting point, and two coordinate points are read clockwise from there. In FIG. 4, since the starting point is point A, points B and C are read, and the amount of change in the X and Y directions at points A, B, and C is obtained (step 502). Since the coordinate points of the rectangular area are extracted, the amount of change in the X and Y directions between point A and point C is eventually obtained.
ステップ503に該当する処理として、この各変化量とあらかじめ定められた規定値とで比較を行い、前記変化量が規定値以上であった場合には、間引き処理を行わないことにする。たとえば規定値が「10dot」であった場合に、図4のC、D、E点に着目すると、X方向の変化量が10dotで規定値以上であることがわかるので、この場合はD点の間引き処理を行わない(特開2002−259999では点Dは間引き処理をされる)。上記処理をAからFまですべての点において繰り返す。上記処理を行った結果が図4の上から3番目右の図になる。従来法での結果が上から3番目左の図である。間引いた結果の点は違うが、描画結果は同様になっていることがわかる。しかし、これらを回転することによって、最下段図のように本来とは違う描画結果となることがわかっている。従来手法では(最下段左図)、1Line分の描画が消えてしまっている。本発明(最下段右)の結果でも、回転によって本来の描画位置とは異なるところに描画がでることになるが、これは従来手法でも同様である。すなわち本発明では、規定値以下の幅高のある矩形では描画不正が起こる可能性があるが、規定値以上のものについては描画不正を起こさず・描画データサイズの縮小による描画高速化が可能となる。 As processing corresponding to step 503, each change amount is compared with a predetermined value, and if the change amount is equal to or greater than the predetermined value, the thinning process is not performed. For example, when the specified value is “10 dots”, focusing on the points C, D, and E in FIG. 4, it can be seen that the amount of change in the X direction is 10 dots or more. The thinning process is not performed (in Japanese Patent Laid-Open No. 2002-259999, the point D is thinned). The above process is repeated at all points from A to F. The result of performing the above processing is the third right diagram from the top in FIG. The result of the conventional method is the third left graph from the top. Although the thinning results are different, it can be seen that the drawing results are the same. However, it has been found that rotating these results in a drawing result different from the original as shown in the bottom diagram. In the conventional method (bottom left diagram), the drawing for one line has disappeared. Even in the result of the present invention (bottom right), drawing is performed at a position different from the original drawing position by the rotation, and this is the same with the conventional method. In other words, in the present invention, there is a possibility that fraud may occur in a rectangle with a width that is less than or equal to a specified value. However, in the case of a rectangle that is greater than the specified value, drawing fraud does not occur. Become.
1 CPU
2 RAM
11 外部メモリ
19 RAM
21 インターフェース
201 アプリケーション
202 グラフィックエンジン
203 プリンタドライバ
204 システムスプーラ
1500 プリンタドライバ
3000 ホストコンピュータ
1 CPU
2 RAM
11 External memory 19 RAM
21 Interface 201 Application 202 Graphic Engine 203 Printer Driver 204
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007013920A JP2008181306A (en) | 2007-01-24 | 2007-01-24 | Data processor, data processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007013920A JP2008181306A (en) | 2007-01-24 | 2007-01-24 | Data processor, data processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008181306A true JP2008181306A (en) | 2008-08-07 |
Family
ID=39725166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007013920A Withdrawn JP2008181306A (en) | 2007-01-24 | 2007-01-24 | Data processor, data processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008181306A (en) |
-
2007
- 2007-01-24 JP JP2007013920A patent/JP2008181306A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000083161A (en) | Image processing unit, its method and image processing system | |
JP5063501B2 (en) | Image forming apparatus, control method, and control program | |
JP3037854B2 (en) | Character generation method and device | |
JP2004192390A (en) | Data processor | |
JP2006244248A (en) | Image processing device, image processing method, and program for executing image processing method | |
JP3754975B2 (en) | Information processing apparatus and information processing method | |
JP2007122188A (en) | Image forming device, image processing method and program | |
JP2008181306A (en) | Data processor, data processing method, and program | |
JP4100912B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP2009269179A (en) | Printer, program and recording medium | |
JP2007152898A (en) | Printing processing apparatus | |
JP2004038527A (en) | Printer driver, printing control method, computer-readable storage medium, and program | |
JP3825883B2 (en) | Information processing apparatus, information processing method, storage medium, and printing system | |
JP2015176231A (en) | Information processing apparatus, information processing method, and information processing system | |
JP2001312383A (en) | Printer, high speed printing method and storage medium | |
US11341383B2 (en) | Methods and apparatus to detect effective tiling area and fill tiles efficiently | |
US8756491B2 (en) | PDL data processing device | |
JP2019197327A (en) | Image processing apparatus, image processing method, and program | |
KR100769677B1 (en) | Control methods of image forming apparatus and system | |
JP2003173446A (en) | Image processing device, system and method, storage medium and program | |
JP2006172043A (en) | Direct print system | |
JP4545903B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JPH10315574A (en) | Printing control device, printing control method, storage medium storing computer readable program | |
JP2019192087A (en) | Information processing device, program, and information processing method | |
JP2006031086A (en) | Print processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100406 |