JP2005222346A - Image processor and image processing method - Google Patents
Image processor and image processing method Download PDFInfo
- Publication number
- JP2005222346A JP2005222346A JP2004030118A JP2004030118A JP2005222346A JP 2005222346 A JP2005222346 A JP 2005222346A JP 2004030118 A JP2004030118 A JP 2004030118A JP 2004030118 A JP2004030118 A JP 2004030118A JP 2005222346 A JP2005222346 A JP 2005222346A
- Authority
- JP
- Japan
- Prior art keywords
- type
- command
- image
- image processing
- printer driver
- 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
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は画像処理装置およびその方法に関し、例えば、描画すべきオブジェクトの種類に応じた描画処理を行う画像処理装置およびその方法に関する。 The present invention relates to an image processing apparatus and method, for example, an image processing apparatus and method for performing drawing processing according to the type of object to be drawn.
最近のワークステーション(WS)やパーソナルコンピュータ(PC)、並びに、レーザビームプリンタ(LBP)およびインクジェットプリンタ(IJP)などに代表されるカラープリンタの普及により、アプリケーションソフトウェアによって作成および/または編集された各種のカラー文書が印刷出力されるようになった。 Various types created and / or edited by application software due to the spread of recent color printers such as workstations (WS), personal computers (PCs), and laser beam printers (LBP) and inkjet printers (IJP) Color documents are now printed out.
ただし、ユーザが望むカラー印刷出力が容易に得られるようにするには、以下に示す問題を解決しなければならない。 However, in order to easily obtain the color print output desired by the user, the following problems must be solved.
(1)ユーザがカラー文書を作成・編集するCRTなどのモニタと、プリンタとは色再現範囲(gamut)が異なる。一般にモニタの色再現範囲はプリンタの色再現範囲よりも広く、プリンタは、モニタにより表現される色のすべてを再現することはできない。このため、色空間の圧縮処理(色空間マッチング)が必要になり、色空間圧縮として幾つかの手法が提案されている。しかし、どの手法が適当であるかをユーザが判断することは難しい。 (1) The color reproduction range (gamut) is different between a monitor such as a CRT on which a user creates and edits a color document and a printer. In general, the color reproduction range of the monitor is wider than the color reproduction range of the printer, and the printer cannot reproduce all the colors represented by the monitor. For this reason, color space compression processing (color space matching) is required, and several methods have been proposed for color space compression. However, it is difficult for the user to determine which method is appropriate.
(2)上記(1)に関連するが、モニタの色はRGBの加色混法で表現され、プリンタの色はCMYKの減色混法であるから、モニタで確認された複数色の混合色と、プリンタによって得られる混合色とは異なる可能性がある。 (2) Although related to (1) above, the monitor color is expressed by RGB additive color mixing, and the printer color is CMYK subtractive color mixing. The mixed color obtained by the printer may be different.
(3)最近のプリンタは高解像度、例えば1200dpiや600dpiであり、72dpi程度のモニタによるプレビューに比べて、遥かに高精細な印刷を必要とし、用途に応じた適切なハーフトーニング(二値化、多値化、量子化など)を選択する必要がある。 (3) Recent printers have high resolution, for example, 1200 dpi or 600 dpi, and require much higher-definition printing than previews on a monitor of about 72 dpi, and appropriate halftoning (binarization, Multi-value quantization, quantization, etc.) must be selected.
(4)LBPに代表される電子写真方式のプリンタは、系時変化やエンジンの個体差により微妙に色味が異なる場合がある。色味の差異を制御する方法が幾つか提案されているが、ある種類のオブジェクト(データ)には有効であるが、別種のオブジェクト(データ)には副作用が出る場合などがある。 (4) An electrophotographic printer typified by LBP may have a slightly different color due to system changes or engine differences. Several methods for controlling the color difference have been proposed, but they are effective for one type of object (data), but may have side effects on another type of object (data).
また、カラー文書には、特徴が異なる各種オブジェクト、例えばテキスト、グラフィックス、イメージなどが含まれている。例えば、テキストには1バイトで示されるアルファニューメリック文字や、2バイトの漢字などがあり、イメージは二次元に配列された画素をもち、各画素毎に異なるカラー情報をもつ。そして、イメージは、効率化のために圧縮されている場合もある。また、グラフィックスは、ライン、並びに、多角形の輪郭および内部領域で表現される。 The color document includes various objects having different characteristics, such as text, graphics, and images. For example, text includes alphanumeric characters indicated by 1 byte and 2-byte kanji characters, and an image has pixels arranged two-dimensionally and has different color information for each pixel. The image may be compressed for efficiency. Graphics are represented by lines, polygonal outlines, and internal regions.
印刷出力において良好な色再現を実現するには、各オブジェクトの特徴に応じて、上記の問題を解決する処理が必要になる。具体的な解決策として、描画コマンドの形式に応じて、そのコマンドにより示されるオブジェクトの種類を判別する技術がある(特許文献1参照)。 In order to realize good color reproduction in the print output, a process for solving the above problem is required according to the characteristics of each object. As a specific solution, there is a technique for discriminating the type of object indicated by the command according to the format of the drawing command (see Patent Document 1).
その技術によれば、アプリケーションソフトウェアが発行するテキストコマンドに基づくオブジェクトはすべてテキストオブジェクトとして描画される。
しかしながら、従来の手法ではプリンタドライバに渡される描画コマンドのみを手がかりに各種オブジェクトの種類を判別するため、正確なオブジェクトの識別が出来ないことがあった。以下、テキスト描画における具体例を示す。 However, in the conventional method, since the types of various objects are determined based on only the drawing command passed to the printer driver, there are cases where accurate object identification cannot be performed. A specific example of text drawing will be shown below.
図1は、Microsoft社のWindows(R)シリーズが稼動している印刷システムにおけるアプリケーションからプリンタドライバに到るテキスト描画の処理フローを例示している。図1の様にアプリケーションがGDI(Graphics Device Interface。以後GDIと称する)に対しテキスト描画を行い、それを受けてGDIがプリンタドライバへテキスト描画を指示すれば、プリンタドライバは正しくテキストオブジェクトと判別出来る。 FIG. 1 exemplifies a text drawing processing flow from an application to a printer driver in a printing system in which the Microsoft® Windows® series is operating. As shown in FIG. 1, if an application performs text drawing on GDI (Graphics Device Interface, hereinafter referred to as GDI), and GDI instructs the printer driver to draw the text, the printer driver can be correctly identified as a text object. .
一方、図2は図1と同様にアプリケーションがGDIに対しテキスト描画を行っているが、GDIはフォントのポイントが非常に大きいためプリンタドライバへグラフィック描画を指示している。このような場合、プリンタドライバは本来テキストオブジェクトと判別すべきものを誤ってグラフィックオブジェクトと判別してしまう。 On the other hand, FIG. 2 shows that the application draws text on the GDI as in FIG. 1, but the GDI has a very large font point and instructs the printer driver to draw graphics. In such a case, the printer driver erroneously determines what should be determined as a text object as a graphic object.
図3は、アプリケーションがテキストを描画を行う際、文字形状をビットマップとして抽出してイメージ描画を行うため、GDIはそれを受けてプリンタドライバへイメージ描画を行う。このような場合、プリンタドライバは本来テキストオブジェクトと判別すべきものを誤ってイメージオブジェクトと判別してしまう。 In FIG. 3, when the application draws text, the character shape is extracted as a bitmap and image drawing is performed. Therefore, the GDI receives the image and performs image drawing to the printer driver. In such a case, the printer driver erroneously determines what should be determined as a text object as an image object.
本発明は、上述の問題を個々にまたはまとめて解決するためのものであり、正確なオブジェクトの種類の判定を行う画像処理装置及びその方法を提供することを目的とする。 The present invention is for solving the above-described problems individually or collectively, and an object thereof is to provide an image processing apparatus and method for accurately determining the type of an object.
本発明は、前記の目的を達成する一手段として、以下の構成を備える。 The present invention has the following configuration as one means for achieving the above object.
本発明にかかる画像処理方法は、描画すべきオブジェクトの種類を識別し、識別したオブジェクトの種類に応じて描画を行う画像処理方法であって、オブジェクトの描画を指示するコマンドによらず、外部のプログラムより指定されたオブジェクトの種類によって描画オブジェクトを識別することを特徴とする。 An image processing method according to the present invention is an image processing method for identifying a type of an object to be drawn and performing drawing according to the identified type of the object, and without using a command for instructing drawing of the object. The drawing object is identified by the type of the object specified by the program.
また、描画を指示するコマンドを入力し、該入力コマンドによって指示される描画すべきオブジェクトの種類によらず、外部のプログラムより指定されたオブジェクトの種類によって描画オブジェクトを識別し、識別されたオブジェクトの種類に応じて描画を行うことを特徴とする。 In addition, a command for instructing drawing is input, the drawing object is identified by the type of object designated by an external program, regardless of the type of object to be drawn instructed by the input command, and the identified object Drawing is performed according to the type.
本発明にかかる画像処理装置は、描画すべきオブジェクトの種類を識別し、識別したオブジェクトの種類に応じて描画を行う画像処理装置であって、オブジェクトの描画を指示するコマンドによらず、外部のプログラムより指定されたオブジェクトの種類によって描画オブジェクトを識別する識別手段を有することを特徴とする。 An image processing apparatus according to the present invention is an image processing apparatus that identifies a type of an object to be drawn and performs drawing according to the identified type of the object. It has an identification means for identifying a drawing object according to the type of object specified by the program.
また、描画を指示するコマンドを入力する入力手段と、入力コマンドによって指示される描画すべきオブジェクトを識別されたオブジェクトの種類に応じて描画を行う描画手段とを有し、前記識別手段は、入力コマンドによって指示される描画すべきオブジェクトの種類によらず外部のプログラムより指定されたオブジェクトの種類によって描画オブジェクトを識別することを特徴とする。 And an input means for inputting a command for instructing drawing, and a drawing means for drawing an object to be drawn instructed by the input command in accordance with the type of the identified object. The drawing object is identified by the type of object specified by an external program regardless of the type of the object to be drawn specified by the command.
以上説明したように本発明によれば、正確な描画オブジェクトの種類の判定を行う画像処理が可能となる。 As described above, according to the present invention, it is possible to perform image processing for accurately determining the type of a drawing object.
以下添付図面を参照して、本発明にかかる第一実施形態を詳細に説明する。 Hereinafter, a first embodiment of the present invention will be described in detail with reference to the accompanying drawings.
なお、以下では、本発明をカラープリンタに適用する例を説明するが、モノクロプリンタに対しても同様に適用可能であることはいうまでもない。 In the following, an example in which the present invention is applied to a color printer will be described, but it is needless to say that the present invention can be similarly applied to a monochrome printer.
<第1実施形態>
[構成]
図4は第1実施形態のホストコンピュータシステムの構成例を示すブロック図である。
<First Embodiment>
[Constitution]
FIG. 4 is a block diagram illustrating a configuration example of the host computer system according to the first embodiment.
図4において、ホストコンピュータ502は、プリントデータおよび制御コードからなる印刷情報を印刷装置100に出力する。ホストコンピュータ502は、入力デバイスであるキーボード2100、ポインティングデバイスであるマウス2110、および、表示デバイスであるディスプレイモニタ2200などを組み合わせたホストコンピュータシステムとして構成され、例えばMicrosoft社のWindows(R)シリーズなどの基本オペレーティングシステム(OS)が稼動している。
In FIG. 4, the host computer 502 outputs print information including print data and a control code to the printing apparatus 100. The host computer 502 is configured as a host computer system that combines a keyboard 2100 that is an input device, a mouse 2110 that is a pointing device, a
ホストコンピュータ502について、本実施形態に関する機能的な部分にのみ注目し、基本OS上での機能を大きく分類すると、アプリケーションソフトウェア2010、画像情報処理手段であるグラフィックサブシステム2020、スプールサブシステム2030、および、ユーザインタフェイス処理部(UI)2040に分類される。
With regard to the host computer 502, focusing only on the functional part related to the present embodiment, and broadly classifying the functions on the basic OS, the
グラフィックサブシステム2020は、基本OSの機能の一部であるグラフィックスデバイスインタフェイス(Graphics Device Interface: GDI)2021、および、GDI2021から動的にリンクされるデバイスドライバであるプリンタドライバ2022によって構成される。
The
プリンタドライバ2022は、アプリケーションソフトウェア2010からGDI描画命令(関数)としてコールされる命令をページ記述言語(Page Description Language: PDL)に変換するのが大きな役割である。また、プリンタドライバ2022は、ユーザに指定されたモード、および、GDI描画命令の種類に応じて、カラーマネージメントシステム(Color Management System:CMS)モジュール2023、および、色調整モジュール2024に色処理を依頼する。
A major role of the
スプールサブシステム2030は、グラフィックサブシステム2020の後段に位置するプリンタデバイスに特有のサブシステムで、データ格納手段であるスプールファイル2031(実態はハードディスクなど)、および、スプールファイル2031に蓄えられたPDLコードを読み出して印刷装置100における処理の進行状況を監視するプロセスモニタ2034などから構成される。
The
UI2040は、基本OSより提供される関数を利用しながら、印刷品位の制御パラメータを決定すべく、各種メニューボタンなどをディスプレイモニタ2200に表示し、キーボード2100やマウス2110を介したユーザアクションを解析する。
The UI 2040 displays various menu buttons and the like on the
上述した構成(モジュール)の名称や機能的な枠組みは、基本OSによって若干異なる場合があるが、各技術的手段が実現可能なモジュールであればよく、それらの名称や枠組みの差異は本実施形態の実施に影響を与えることはない。例えば、スプーラやスプールファイル2031は、他のOSにおいてはプリントキューと呼ばれるモジュールに処理を組み込むことによって実現可能である。
Although the names and functional frameworks of the above-described configurations (modules) may be slightly different depending on the basic OS, any module capable of realizing each technical means may be used. Will not affect the implementation of For example, the spooler and the
なお、一般に、これらの機能モジュールを含むホストコンピュータ502とは、図示しないCPU、ROM、RAM、ハードディスクドライブ(HDD)および各種入出力制御部(I/O)などから構成されるハードウェア上で、基本OSなどのソフトウェアがそれらハードウェアの制御を司り、基本OSの基でアプリケーションソフトウェア2010のプロセスやサブシステムのプロセスが機能モジュールとして動作するものである。
In general, the host computer 502 including these functional modules refers to hardware configured by a CPU, a ROM, a RAM, a hard disk drive (HDD), various input / output control units (I / O), and the like (not shown). Software such as a basic OS controls the hardware, and the process of the
[プリンタドライバの処理]
以下、プリンタドライバ2022が実行する処理を図5に示すフローチャートに従い説明する。
[Printer Driver Processing]
The processing executed by the
ユーザが、ホストコンピュータ502上で稼動する、あるアプリケーションソフトウェア2010から印刷の開始を指示すると、UI2040により印刷の制御パラメータを設定するための印刷ダイアログがディスプレイモニタ2200に表示される(S4000)。そして、印刷ダイアログ上でユーザにより、出力プリンタ、記録紙サイズ、印刷部数および印刷品質などの各種設定が行われ、印刷が指示される(S4010)。
When the user gives an instruction to start printing from
印刷が指示されると、アプリケーションソフトウェア2010によって作成・編集された画像を示す描画データが、印刷ジョブとしてGDI2021を介してプリンタドライバ2022に渡され、プリンタドライバ2022は該印刷ジョブの初期化を行う(S4020)。
When printing is instructed, drawing data indicating an image created and edited by the
プリンタドライバ2022は次に該印刷ジョブのページ毎の初期化を行い(S4030)、続いて描画を行う(S4040)が、この描画の詳細については後述する。
Next, the
ページ単位の描画後は改ページ等の後処理を行い(S4050)、ステップS4060でまだ印刷すべきページが残っていればステップS4030へ戻って次ページの処理を行うが、ページの終端であればステップS4070に進んで印刷ジョブの後処理を行った後、印刷処理を終了する。 After drawing in units of pages, post-processing such as page break is performed (S4050). If there is still a page to be printed in step S4060, the process returns to step S4030 to process the next page. After proceeding to step S4070 to perform post-processing of the print job, the print processing is terminated.
以下、ステップS4040に示した描画処理について、図6を参照して説明する。図6は、アプリケーション2010とGDI2021とプリンタドライバ2022間におけるエスケープコマンドと各描画コマンド(テキストコマンド、イメージ・コマンド、グラフィックスコマンド)のインタフェースを示す図である。
Hereinafter, the drawing process shown in step S4040 will be described with reference to FIG. FIG. 6 is a diagram showing an interface between the escape command and each drawing command (text command, image command, graphics command) between the
ここでアプリケーション2010は、説明を簡易化するために以後もアプリケーションと称するが、実際にはGDIに描画を要求できるモジュールならばアプリケーション以外でもかまわない。プリンタドライバとして提供されるモジュールの一部であっても一向にかまわない。
Here, the
エスケープコマンド5010は、プリンタドライバ2022の内部に実装されるエスケープコマンド処理関数DrvEscapeやDrvDrawEscapeを、GDI2021が呼び出すことを意味する。アプリケーションが、GDI2021に対しエスケープを発行すると、GDI2021をバイパスし、エスケープコードとデータはそのままプリンタドライバ2022に渡る。
The escape command 5010 means that the
なお、エスケープコマンド処理関数の名称は、Windows(R)NT/Windows(R)2000においてはDrvEscapeやDrvDrawEscapeだが、Windows(R)Me/98/95/3.1においてはControlである。基本OSによってこれらの名称や機能は若干異なるが、基本的な考え方は同様である。 The name of the escape command processing function is DrvEscape or DrvDrawEscape in Windows (R) NT / Windows (R) 2000, but is Control in Windows (R) Me / 98/95 / 3.1. Although these names and functions differ slightly depending on the basic OS, the basic concept is the same.
DrvEscape関数の呼び出しは、例えば、次のようになる。ここでは主なパラメータだけを紹介する。 The DrvEscape function is called as follows, for example. Only the main parameters are introduced here.
DrvEscape(p1、p2、p3、p4、p5)
パラメータp1:エスケープコード。
DrvEscape (p1, p2, p3, p4, p5)
Parameter p1: Escape code.
パラメータp2:入力データのサイズ。 Parameter p2: size of input data.
パラメータp3:入力データ。 Parameter p3: input data.
パラメータp4:出力データサイズ。 Parameter p4: output data size.
パラメータp5:出力データ。 Parameter p5: output data.
テキストコマンド5020は、プリンタドライバ2022の内部に実装されるテキスト処理関数DrvTextOutを、GDI2021が呼び出すことを意味する。アプリケーションが、GDI2021に対しテキスト描画を行うと、GDI2021はプリンタドライバのテキストコマンド(DrvTextOut関数)をコールすることが多い。また、このとき図2で例示したように、アプリケーション2010とGDI2021間と、GDI2021とプリンタドライバ間では、必ずしも対にならない。テキストコマンド5020は、プリンタドライバ2022に実装されたテキスト処理関数(DrvTextOut関数)のGDI2021による呼び出しを意味する。
A
なお、テキスト処理関数の名称は、Windows(R)NT/Windows(R)2000においてはDrvTextOutだが、Windows(R)Me/98/95/3.1においてはExtTextOutである。基本OSによってこれらの名称や機能は若干異なるが、基本的な考え方は同様である。 The name of the text processing function is DrvTextOut in Windows (R) NT / Windows (R) 2000, but is ExtTextOut in Windows (R) Me / 98/95 / 3.1. Although these names and functions differ slightly depending on the basic OS, the basic concept is the same.
DrvTextOut関数の呼び出しは、例えば、次のようになる。ここでは主なパラメータだけを紹介する。 For example, the DrvTextOut function is called as follows. Only the main parameters are introduced here.
DrvTextOut(p1、p2、p3、p4、p5、p6)
パラメータp1:文字列情報が格納された変数名。文字列が含まれる。
DrvTextOut (p1, p2, p3, p4, p5, p6)
Parameter p1: Variable name in which character string information is stored. Contains a string.
パラメータp2:フォント情報が格納された変数名。文字サイズが含まれる。 Parameter p2: Variable name in which font information is stored. Includes character size.
パラメータp3:文字装飾領域が格納された変数名。NULLの場合は装飾線なし。 Parameter p3: Variable name in which the character decoration area is stored. In case of NULL, there is no decorative line.
パラメータp4:文字背景領域が格納された変数名。NULLの場合は文字背景は透明。 Parameter p4: Variable name in which the character background area is stored. In the case of NULL, the character background is transparent.
パラメータp5:文字色が格納された変数名。 Parameter p5: Variable name in which the character color is stored.
パラメータp6:文字背景色が格納された変数名。 Parameter p6: Variable name in which the character background color is stored.
テキストコマンドと同様に、イメージ・コマンド5030は、プリンタドライバ2022に実装されたイメージ処理関数(DrvCopyBits、DrvBitBlt、DrvStretchBlt関数等)のGDI2021による呼び出しを意味し、グラフィックスコマンド5040は、プリンタドライバ2022に実装されたグラフィックス処理関数(DrvStrokePath、DrvFillPath、DrvStrokeAndFillPath関数等)のGDI2021による呼び出しを意味する。
Similar to the text command, the
プリンタドライバ2022は、これら各コマンドに対応する各描画オブジェクトの種類に応じて、カラー調整やカラーマッチング処理を行う。そして、カラーマッチング処理が行われた色情報をPDLコマンドに変換することによって、描画処理が行われる。
The
以下、ステップS4040における描画処理について、図7以降のフローチャートを参照して詳細に説明する。 Hereinafter, the drawing process in step S4040 will be described in detail with reference to the flowcharts in FIG.
次に、図6のエスケープコマンド処理部5010を図7に示すフローチャートに従い説明する。 Next, the escape command processing unit 5010 shown in FIG. 6 will be described with reference to the flowchart shown in FIG.
まず、アプリケーション2010とプリンタドライバ2022の間で認識可能なエスケープコード4つを規定する。
First, four escape codes that can be recognized between the
#define UNKNOWN_OBJ0x2410
#define TEXT_OBJ0x2411
#define IMAGE_OBJ0x2412
#define GRAPHIC_OBJ0x2413
これらの値に特に意味は無く、GDIや一般のアプリケーションなどで定義済みのエスケープコードと重複しない限りどのような値を定義してもかまわない。
#Define UNKNOWN_OBJ0x2410
#Define TEXT_OBJ0x2411
#Define IMAGE_OBJ0x2412
#Define GRAPHIC_OBJ0x2413
These values have no particular meaning, and any values may be defined as long as they do not overlap with the escape codes already defined in GDI or general applications.
エスケープコードがTEXT_OBJのとき(S7010)、drawobj変数にTEXT_OBJを代入する(S7020)。このdrawobj変数は、印刷ジョブ中保持される。初期値はUNKNOWN_OBJである。エスケープコードがIMAGE_OBJのとき(S7030)、drawobj変数にIMAGE_OBJを代入する(S7040)。エスケープコードがGRAPHIC_OBJのとき(S7050)、drawobj変数にGRAPHIC_OBJを代入する(S7060)。エスケープコードがUNKNOWN_OBJのとき(S7070)、drawobj変数にUNKNOWN_OBJを代入する(S7080)。以上のエスケープコード以外のときは、本実施案と無関係な処理を行う(S7090)。 When the escape code is TEXT_OBJ (S7010), TEXT_OBJ is assigned to the drawobj variable (S7020). This drawobj variable is retained during the print job. The initial value is UNKNOWN_OBJ. When the escape code is IMAGE_OBJ (S7030), IMAGE_OBJ is assigned to the drawobj variable (S7040). When the escape code is GRAPHIC_OBJ (S7050), GRAPHIC_OBJ is assigned to the drawobj variable (S7060). When the escape code is UNKNOWN_OBJ (S7070), UNKNOWN_OBJ is substituted into the drawobj variable (S7080). In cases other than the above escape codes, processing unrelated to the present embodiment is performed (S7090).
次に、図6のテキストコマンド処理部5020を図8に示すフローチャートに従い説明する。
Next, the text
まず、drawobj変数がUNKNOWN_OBJと等しい値であるかどうか評価する(S8010)。等しい場合、テキストオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S8020)。drawobj変数がUNKNOWN_OBJ以外のときは、GRAPHIC_OBJと等しい値であるかどうか評価する(S8030)。等しい場合、グラフィックオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S8040)。drawobj変数がGRAPHIC_OBJ以外のときは、IMAGE_OBJと等しい値であるかどうか評価する(S8050)。等しい場合、イメージオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S8060)。以上の色処理を終えた後、テキストの描画処理を行う(S8070)。
First, it is evaluated whether or not the drawobj variable is equal to UNKNOWN_OBJ (S8010). If equal, it is regarded as a text object, and color processing is requested to the
次に、図6のイメージ・コマンド処理部5030を図9に示すフローチャートに従い説明する。
Next, the image /
まず、drawobj変数がUNKNOWN_OBJと等しい値であるかどうか評価する(S9010)。等しい場合、イメージオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S9020)。drawobj変数がUNKNOWN_OBJ以外のときは、GRAPHIC_OBJと等しい値であるかどうか評価する(S9030)。等しい場合、グラフィックオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S9040)。drawobj変数がGRAPHIC_OBJ以外のときは、TEXT_OBJと等しい値であるかどうか評価する(S9050)。等しい場合、テキストオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S9060)。以上の色処理を終えた後、イメージの描画処理を行う(S9070)。
First, it is evaluated whether or not the drawobj variable is equal to UNKNOWN_OBJ (S9010). If they are equal, it is regarded as an image object, and color processing is requested to the
次に、図6のグラフィックコマンド処理部5040を図10に示すフローチャートに従い説明する。
Next, the graphic
まず、drawobj変数がUNKNOWN_OBJと等しい値であるかどうか評価する(S10010)。等しい場合、グラフィックオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S10020)。drawobj変数がUNKNOWN_OBJ以外のときは、TEXT_OBJと等しい値であるかどうか評価する(S10030)。等しい場合、テキストオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S10040)。drawobj変数がGRAPHIC_OBJ以外のときは、IMAGE_OBJと等しい値であるかどうか評価する(S10050)。等しい場合、イメージオブジェクトとみなし、CMSモジュール2023や色調整モジュール2024に色処理を依頼する(S10060)。以上の色処理を終えた後、グラフィックの描画処理を行う(S10070)。
First, it is evaluated whether or not the drawobj variable is equal to UNKNOWN_OBJ (S10010). If equal, it is regarded as a graphic object, and the
アプリケーション2010がGDI2021に対し描画命令を発行したとき、プリンタドライバ2022のオブジェクトの識別はどのように行われるかを、図11に示す時系列の遷移状態例に従い説明する。
How the object of the
S11010でアプリケーション2010は、エスケープを使って以下に続く描画が全てテキストオブジェクトであることをプリンタドライバ2022に通知する。つまりエスケープコードTEXT_OBJがプリンタドライバ2022に届く。このため次のエスケープが発行されるまで(S11040)、プリンタドライバ2022はS11020とS11030の描画をテキストオブジェクトと判別する。もし、S11010を指定しないと、図2の例が示すようにプリンタドライバ2022はS11020をグラフィックオブジェクトと判別することがありえる。S11030は図3の例と同じである。アプリケーション2010はイメージ描画を行っているが、描画されるビットマップがテキストであるため、プリンタドライバ2022にテキストオブジェクトとみなすよう指示している。
In step S <b> 11010, the
S11040でアプリケーション2010は、エスケープを使って以下に続く描画が全てイメージオブジェクトであることをプリンタドライバ2022に通知する。つまりエスケープコードIMAGE_OBJがプリンタドライバ2022に届く。このため次のエスケープが発行されるまで(S11060)、プリンタドライバ2022はS11050の描画をイメージオブジェクトと判別する。
In step S <b> 11040, the
S11060でアプリケーション2010は、エスケープを使って以下に続く描画が全てグラフィックオブジェクトであることをプリンタドライバ2022に通知する。つまりエスケープコードGRAPHIC_OBJがプリンタドライバ2022に届く。このため次のエスケープが発行されるまで(S11080)、プリンタドライバ2022はS11070の描画をイメージオブジェクトと判別する。
In step S <b> 11060, the
S11080でアプリケーション2010は、エスケープを使って以下に続く描画を判定しないようにプリンタドライバ2022に通知する。つまりエスケープコードUNKNOWN_OBJがプリンタドライバ2022に届く。このためプリンタドライバ2022はS11090の描画がグラフィックコマンドであるのでグラフィックオブジェクトと判別する。
In step S11080, the
(他の実施形態)
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
(Other embodiments)
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004030118A JP2005222346A (en) | 2004-02-06 | 2004-02-06 | Image processor and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004030118A JP2005222346A (en) | 2004-02-06 | 2004-02-06 | Image processor and image processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005222346A true JP2005222346A (en) | 2005-08-18 |
Family
ID=34997919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004030118A Withdrawn JP2005222346A (en) | 2004-02-06 | 2004-02-06 | Image processor and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005222346A (en) |
-
2004
- 2004-02-06 JP JP2004030118A patent/JP2005222346A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7839531B2 (en) | Printing control method | |
EP2109066B1 (en) | Image output apparatus | |
US8054493B2 (en) | Optimizing raster operation functions during print job processing | |
US8724153B2 (en) | Information processing apparatus, method of information processing, and storage mediurn for performing scaling processing on image data | |
JP2002041261A (en) | Information processing device, information processing method, and storage medium which stores computer- readable program | |
US20170364317A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2003320715A (en) | Information processing apparatus, information processing system, method for controlling information output, storage medium, and program | |
JP2005084898A (en) | Print data processing system and program for this system | |
EP1128329B1 (en) | Image processing apparatus and method | |
US6912066B2 (en) | Image processing method and apparatus for performing processing according to the type of rendering command, and program implementing image processing method | |
US10140558B2 (en) | Print control system, print control apparatus, and program | |
US8804141B2 (en) | Character output device, character output method and computer readable medium | |
US20180060003A1 (en) | Control method and information processing apparatus | |
US8098385B2 (en) | Spool file modifying device | |
JP6437076B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2005070957A (en) | Conversion control unit and conversion control program | |
US20150262043A1 (en) | Information processing apparatus, information processing method, and information processing system | |
JP2012155415A (en) | Printing system | |
JP3927766B2 (en) | Image processing apparatus and method | |
JP2005222346A (en) | Image processor and image processing method | |
US7196812B2 (en) | Information processing apparatus and control code generation method | |
JP3359317B2 (en) | Image processing method and recording medium | |
JP4522006B2 (en) | Information processing apparatus, information processing method, and printer driver program | |
JP2005222345A (en) | Image processor and its method | |
US8358435B2 (en) | Image processing device and recording medium containing program therefor |
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: 20070501 |