JP4461361B2 - Drawing processing method and program, drawing command output device and image forming apparatus - Google Patents
Drawing processing method and program, drawing command output device and image forming apparatus Download PDFInfo
- Publication number
- JP4461361B2 JP4461361B2 JP2003426264A JP2003426264A JP4461361B2 JP 4461361 B2 JP4461361 B2 JP 4461361B2 JP 2003426264 A JP2003426264 A JP 2003426264A JP 2003426264 A JP2003426264 A JP 2003426264A JP 4461361 B2 JP4461361 B2 JP 4461361B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- processing
- unit
- transparent
- transparency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Image Generation (AREA)
Description
本発明は、たとえばワープロソフトや図面作成ソフトなどのドキュメント作成ツールで作成された電子データに基づいて、プリンタなどで印刷出力したりあるいはCRTやLCD(液晶)などの表示デバイスに表示出力したりするために使用される描画処理方法、並びにこの描画処理方法を利用した描画命令出力装置およびこの描画命令出力装置から受け取った描画命令に基づいて画像を形成する画像形成装置に関する。より詳細には、透過演算処理を行なって描画処理をする技術に関する。 In the present invention, for example, based on electronic data created by a document creation tool such as word processing software or drawing creation software, it is printed out by a printer or displayed on a display device such as a CRT or LCD (liquid crystal). The present invention relates to a drawing processing method used for this purpose, a drawing command output device using the drawing processing method, and an image forming apparatus that forms an image based on a drawing command received from the drawing command output device. More specifically, the present invention relates to a technique for performing drawing processing by performing transparency calculation processing.
描画命令出力装置で生成された画像データに基づいて画像形成装置で画像を形成して出力する場合がある。たとえばプリンタなどで印刷出力したりあるいはCRTやLCD(液晶)などの表示デバイスに表示出力したりする。 An image forming apparatus may form and output an image based on image data generated by a drawing command output apparatus. For example, it is printed out by a printer or the like, or displayed on a display device such as CRT or LCD (liquid crystal).
これらの出力に際しては、通常、その出力前に、画像データを出力単位(たとえば1ページ分や1画面分)に合わせてレンダリング(描画展開、ラスタ化)している。たとえばプリンタでは、パーソナルコンピュータなどの画像作成装置などから出力される様々な描画命令を処理し、印刷装置で印刷可能な画素の並びで表現された画像データに展開する。 In these outputs, the image data is usually rendered (drawn and rasterized) in accordance with an output unit (for example, one page or one screen) before the output. For example, a printer processes various drawing commands output from an image creation device such as a personal computer, and develops the image data represented by an array of pixels printable by the printing device.
特に、今日では、小型、高速のデジタル印刷に適した電子写真方式のページプリンタ(画像処理装置の一例)の開発に伴い、従来の文字情報中心の印刷から脱皮した、画像、図形、文字などを同様に取り扱い、図形、文字などの拡大、回転、変形などが自由に制御できるページ記述言語(PDL:Page Description Language )を用いる画像処理装置が一般に普及している。 In particular, today, with the development of an electrophotographic page printer (an example of an image processing device) suitable for small-sized and high-speed digital printing, images, figures, characters, etc. that have been taken away from conventional character-centered printing have been developed. Similarly, an image processing apparatus using a page description language (PDL: Page Description Language) in which handling, enlargement, rotation, and deformation of figures and characters can be freely controlled is generally popular.
ここでPDLで作成されている画像データは、ページ内の任意位置の画像、図形、文字を表現する描画命令およびデータを任意の順で配置した命令およびデータ列で構成されており、ページプリンタで印字するために、印字前に出力単位ごと(1ページごと)に画像データをレンダリング(描画展開)してからプリンタエンジン部にそのラスタデータを出力する。 Here, the image data created by PDL is composed of a command and a data sequence in which drawing commands and data representing an image, a figure, and a character in an arbitrary position in a page are arranged in an arbitrary order. For printing, image data is rendered (drawn and developed) for each output unit (each page) before printing, and then the raster data is output to the printer engine unit.
レンダリングに際しては、パソコンなどの画像作成装置などから出力される様々な描画命令を受け取ってから装置で出力可能な画素の並びで表現された画像データに展開するまでの間には、描画命令に応じた様々な処理を行なう。 When rendering, depending on the rendering command, from when various rendering commands output from an image creation device such as a personal computer are received until they are developed into image data represented by an array of pixels that can be output by the device. Various processes are performed.
描画コマンドの1つとして、複数の画像が重なる位置に描かれる場合に、もとの画像と、新たに書き込む画像との重ね合わせの方法の指示に従って、両方の画像を重ね合わせる処理がよく知られている。指示される重ね合わせの方法は、通常、論理和、論理積、排他的論理和などの論理演算の種類として指示される。このような画像間の論理演算は、一般にROP(Raster OPeration)と称されている。 As one of the drawing commands, when a plurality of images are drawn at an overlapping position, a process for superimposing both images according to an instruction of a method for superimposing an original image and a newly written image is well known. ing. The superposition method to be designated is usually designated as the type of logical operation such as logical sum, logical product, exclusive logical sum, or the like. Such a logical operation between images is generally called ROP (Raster OPeration).
ROP処理の基本的な考え方は、様々なアプリケーションプログラムによって使用される様々な塗り潰しや陰影付け技法を支援することを目的とした描画記述手法である。たとえば、ラスタ操作であるROP処理を使用して、任意形状のオブジェクトを固定的な塗り潰し、またはパターン化された塗り潰しで塗り潰す。 The basic idea of ROP processing is a drawing description method for the purpose of supporting various filling and shading techniques used by various application programs. For example, an ROP process that is a raster operation is used to fill an object of arbitrary shape with a fixed fill or a patterned fill.
しかしながら、ROP処理は、一般に複雑で処理時間が掛り、実行のためのメモリも多く必要とするものが多い。特に、1つの効果を表現するために、複数のROP処理を組み合わせた(PDL命令)を出力するようなアプリケーションプログラムも数多く存在する。このようなROP処理を組み合わせた指示が、装置によって画像が出力されるまでの処理時間を増大させる要因となっていた。 However, ROP processing is generally complicated and takes a long time, and many of them require a lot of memory for execution. In particular, there are many application programs that output (PDL instructions) that combine a plurality of ROP processes in order to express one effect. An instruction combined with such ROP processing has been a factor of increasing processing time until an image is output by the apparatus.
これに対して、描画命令を解釈する際、処理の効率化のために複数の描画命令を低減して、たとえば1つの描画命令に変換したり、より処理に時間の掛らない別の描画命令に変換したりすることで、ROP処理時間を高速化する技術も提案されている(たとえば特許文献1,2参照)。 On the other hand, when interpreting a drawing command, a plurality of drawing commands are reduced to improve processing efficiency, and converted into, for example, one drawing command, or another drawing command that takes less time to process. For example, a technique for speeding up the ROP processing time by converting to (see, for example, Patent Documents 1 and 2) has been proposed.
たとえば特許文献1には、ROP処理の特徴的パターンを検出して、ROP処理のステップ数を削減し、より単純なROP処理に置き換えることで、ROP処理の実行回数を少なくし、高速な処理を実現する装置が提案されている。 For example, Patent Document 1 detects a characteristic pattern of ROP processing, reduces the number of steps of ROP processing, and replaces it with simpler ROP processing, thereby reducing the number of execution times of ROP processing and performing high-speed processing. An apparatus for realizing this has been proposed.
また特許文献2には、一般の印刷装置で使用されるCMYK色空間上においても色再現上の不具合が発生することがないように、ROP描画が指定された描画命令をROP演算を行なわない描画命令に変換できるかどうかを判定し、変換できる場合にはROP演算を行なわない描画命令に変換する、つまりROP処理が必要な命令を不必要な命令に変換して処理することにより論理演算動作に掛る処理時間と画質劣化を低減することで、高速および高画質の描画処理を可能とした技術が提案されている。 Patent Document 2 discloses a drawing command in which ROP drawing is designated without performing ROP calculation so as not to cause a problem in color reproduction even in a CMYK color space used in a general printing apparatus. It is determined whether or not it can be converted into an instruction, and if it can be converted, it is converted into a drawing instruction that does not perform ROP operation, that is, an instruction that requires ROP processing is converted into an unnecessary instruction and processed into a logical operation. A technique has been proposed that enables high-speed and high-quality drawing processing by reducing the processing time and image quality degradation.
この特許文献2に記載の技術に依れば、論理演算処理を含む描画命令について、指示された論理演算処理をそのまま実行することが必要でない場合に、論理演算処理を含まないコマンドに変換して実行することができるので、論理演算処理に掛る時間を省いた高速な画像処理が可能となるし、論理演算処理を行なわないことによって、色段差などの論理演算処理に伴う色変換処理の結果生じる画質上の不具合を回避することができるので、結果として高速な処理と高画質を両立した画像処理が実現できる。 According to the technique described in Patent Document 2, when it is not necessary to execute the instructed logical operation processing as it is for a rendering command including the logical operation processing, the command is converted into a command not including the logical operation processing. Since it can be executed, it is possible to perform high-speed image processing that saves time required for logical operation processing, and by not performing logical operation processing, the result of color conversion processing accompanying logical operation processing such as a color step occurs. Since problems in image quality can be avoided, as a result, high-speed image processing and high-quality image processing can be realized.
また、別の描画コマンドとして、透過(Transparency)演算を行なうものがある。透過演算処理とROP処理は独立した概念の描画コマンドであり、透過演算処理は、これ単独で使用されず、透明度モードとして、ROP演算処理と組み合わせて使用されるのが一般的である。すなわち、ソースとパターン透明度が不透明体(Opaque)に明示的に設定される場合にはROP処理を行ない、ソースおよび/またはパターンの透明度モードが透明(Transparent )ならば、Transparency演算処理を副次的に行なって、最終結果を達成する。 As another drawing command, there is a command for performing a transparency operation. The transparency calculation process and the ROP process are independent drawing commands, and the transparency calculation process is not used alone, and is generally used as a transparency mode in combination with the ROP calculation process. That is, ROP processing is performed when the source and pattern transparency are explicitly set to opaque (Opaque). If the source and / or pattern transparency mode is Transparent, the Transparency operation processing is performed as a secondary. To achieve the final result.
この透過演算処理を行なう技術としては、たとえば、ページ記述言語の一例であるPCL5cやPCL6(PCL;Printer Command Language)など(以下纏めてPCL言語という)で使われるTransparencyコマンドの処理に関するものがある。グラフィックのプログラムを開発するプログラマは、このようなPCL言語を使用して表示イメージを定義することができる。なお、PCL言語は、レーザプリンタ用制御コマンドであり、今日、パソコン用ソフトウエアハウスに広く受け入れられ、サポートされている。 As a technique for performing this transparent calculation process, for example, there is a technique related to the processing of a Transparency command used in PCL5c and PCL6 (PCL; Printer Command Language) (hereinafter collectively referred to as PCL language) which are examples of a page description language. A programmer who develops a graphic program can define a display image using such a PCL language. The PCL language is a control command for laser printers, and is widely accepted and supported by software houses for personal computers today.
このPCL言語の詳細については、非特許文献1を参照するとよい。また、PCL Transparency演算については、非特許文献2を参照するとよい。 Refer to Non-Patent Document 1 for details of the PCL language. For PCL Transparency calculation, Non-Patent Document 2 may be referred to.
しかしながら、PCL Transparency演算は、上記非特許文献2の“5 The PCL Print Model;Logical Operations and Transparency Interactions(P5-12) ”に記載されている計算式に従って求めることができるが、この演算をソフトウェアで実現するには負荷の重い処理である。 However, the PCL Transparency calculation can be obtained according to the calculation formula described in “5 The PCL Print Model; Logical Operations and Transparency Interactions (P5-12)” in Non-Patent Document 2 above. This is a heavy processing load.
Transparencyコマンドは、透過処理といった特殊な視覚効果を得るために使われるのが一般的であるが、プリンタドライバによっては簡単な原稿でもこのコマンドを多用するものが存在する。 The Transparency command is generally used to obtain a special visual effect such as transparency processing. However, some printer drivers frequently use this command even for simple manuscripts.
このようなプリンタドライバを使って印刷を行なうと比較的簡単な原稿の印刷でもプリント時間が非常に長くなる問題が発生する。因みに、同じアプリーションで生成された同一の電子データを別のプリンタドライバで出力する場合には、より簡単なコマンドで表現するため、問題とはならない。 When printing is performed using such a printer driver, there arises a problem that the printing time becomes very long even when a relatively simple document is printed. Incidentally, when the same electronic data generated by the same application is output by another printer driver, it is not a problem because it is expressed by a simpler command.
また、背景に何らかのオブジェクトが存在する場合、上記特許文献2が解決しようとする課題と同質のものとして、Transparency演算の対象となる領域とそうでない領域間に色段差が発生する課題もある。これは、オブジェクトに適した色変換を実現するために色情報+タグ情報を画素情報として保持する場合は、Transparencyの演算をすることでタグ情報が不正なものになってしまうからである。 In addition, when there is an object in the background, there is a problem that a color step is generated between the region to be subjected to the Transparency calculation and the region that is not the same as the problem to be solved by Patent Document 2. This is because when color information + tag information is held as pixel information in order to realize color conversion suitable for an object, the tag information becomes invalid by performing the Transparency calculation.
ここで、Transparency演算に関わる上述の問題を解決するために、上記特許文献1,2に記載の技術を利用することが考えられる。しかしながら、上記特許文献1,2に記載の技術は、ROP処理におけるものであり、Transparency演算に適用することはできない。何故なら、これらにおいて置換対象となるのは、ROP演算のみであるから、Transparency演算を置換対象とすることはできないからである。 Here, in order to solve the above-described problems related to the Transparency calculation, it is conceivable to use the techniques described in Patent Documents 1 and 2 above. However, the techniques described in Patent Documents 1 and 2 are for ROP processing and cannot be applied to Transparency calculation. This is because the replacement target in these is only the ROP operation, and the Transparency operation cannot be the replacement target.
本発明は、上記事情に鑑みてなされたものであり、Transparency演算処理を行なって描画する場合であっても、高速の描画処理を可能とし、さらに好ましくは、高画質の描画処理を可能とする技術を提供することを目的とする。 The present invention has been made in view of the above circumstances, and enables high-speed drawing processing, more preferably high-quality drawing processing, even when drawing is performed by performing a transparency calculation process. The purpose is to provide technology.
本発明に係る描画処理方法は、透過(Transparency)演算処理を含む描画命令を受け取って描画処理を行なう描画処理方法であって、透過演算処理が、透過演算処理を行なわなくても処理可能な内容であるか否かを判定し、透過演算処理が透過演算処理を行なわなくても処理可能な内容であると判定された場合には、透過演算処理を透過演算処理を必要としない描画命令に変換することとした。 The drawing processing method according to the present invention is a drawing processing method for receiving a drawing command including a transparency calculation process and performing the drawing process, and the transparency calculation process can be processed without performing the transparency calculation process. If it is determined that the transparency calculation process can be processed without performing the transparency calculation process, the transparency calculation process is converted into a drawing command that does not require the transparency calculation process. It was decided to.
本発明に係る描画命令出力装置は、上記本発明に係る描画処理方法を実施するのに好適な装置であって、透過演算処理が透過演算処理を行なわなくても処理可能な内容であるか否かを判定する透過命令判定部と、透過命令判定部の判定結果が、透過演算処理が透過演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、透過演算処理を透過演算処理を必要としない描画命令に変換する透過命令変換部とを備えるものとした。 The drawing command output device according to the present invention is a device suitable for carrying out the above-described drawing processing method according to the present invention, and whether or not the transparent calculation processing can be processed without performing the transparent calculation processing. The transparent instruction determination unit and the determination result of the transparent instruction determination unit are based on the fact that the transparent calculation process indicates that the contents can be processed without performing the transparent calculation process. Is provided with a transparent command conversion unit for converting into a drawing command that does not require transparent calculation processing.
本発明に係る画像形成装置は、上記本発明に係る描画命令出力装置と、この描画命令出力装置から出力された描画命令に基づいて画像を所定の記憶媒体に形成する画像形成部とを備えたものである。 An image forming apparatus according to the present invention includes the drawing command output device according to the present invention and an image forming unit that forms an image on a predetermined storage medium based on the drawing command output from the drawing command output device. Is.
また従属項に記載された発明は、本発明に係る描画命令出力装置のさらなる有利な具体例を規定する。さらに、本発明に係るプログラムは、本発明に係る描画命令出力装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なものである。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。 The invention described in the dependent claims defines a further advantageous specific example of the drawing command output device according to the present invention. Furthermore, the program according to the present invention is suitable for realizing the drawing command output device according to the present invention by software using an electronic computer (computer). The program may be provided by being stored in a computer-readable storage medium, or may be distributed via wired or wireless communication means.
たとえば、透過命令判定部は、Transparency演算を伴う描画コマンドを検出したら、ある一定の条件(置換条件)に合うかどうかを調べる。置換条件にマッチしていた場合には、透過命令変換部は、Transparency演算を伴う描画命令(描画コマンド)をキャンセルし、比較的に負荷の少ない描画コマンドに置き換えるか、もしくは描画自体を行なわない。 For example, when the transparent command determination unit detects a drawing command accompanied by a Transparency operation, it checks whether or not a certain condition (replacement condition) is met. If the replacement condition is met, the transparent command conversion unit cancels the drawing command (drawing command) accompanied by the Transparency operation and replaces it with a drawing command with a relatively low load, or does not perform drawing itself.
また、このような透過命令変換部による処理済みの描画命令について、さらに、論理演算を行なわなくても処理可能であれば、論理演算を必要としない描画命令に変換することで、一層の処理効率の向上を図る。 Further, if the rendering command processed by the transparent command conversion unit can be processed without performing a logical operation, it can be further converted into a rendering command that does not require a logical operation. To improve.
本発明に依れば、透過演算を伴う描画命令が、所定の置換条件に合致している場合には、透過演算を伴う描画命令を透過演算処理を必要としない描画命令に変換するようにした。これにより、指示された処理負荷の重たい透過演算を行なわなくて済むので、処理に掛る時間を省いた高速な描画処理が可能となる。 According to the present invention, when a drawing command with a transparent operation meets a predetermined replacement condition, the drawing command with a transparent operation is converted into a drawing command that does not require a transparent operation process. . As a result, it is not necessary to perform a transparent operation with a heavy processing load as instructed, so that a high-speed drawing process can be performed while saving processing time.
以下、図面を参照して本発明の実施形態について詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<第1実施形態;プリンタ側での処理の基本>
図1は、本発明に係る描画命令出力装置および画像形成装置を適用した第1実施形態の印刷システムの構成例を示すブロック図である。第1実施形態の印刷システム1は、プリンタ側において、ホスト側装置から受け取ったTransparencyコマンドを含むPDLデータを解釈する際に、Transparency演算を行なう描画処理をTransparency演算を含まない描画処理に変換するかどうかを判定し、より処理速度の向上が見込まれる選択をするようにした形態のものである。
<First Embodiment: Basic Processing on the Printer Side>
FIG. 1 is a block diagram illustrating a configuration example of a printing system according to a first embodiment to which a drawing command output device and an image forming apparatus according to the present invention are applied. The printing system 1 according to the first embodiment converts, on the printer side, rendering processing that performs a Transparency operation into rendering processing that does not include a Transparency operation when interpreting PDL data including a Transparency command received from a host-side device. This is a mode in which it is determined whether or not the selection is made so that the processing speed can be further improved.
図示するように、第1実施形態の印刷システム1は、図形を含む文書データを作成して出力するパソコンなどのホスト側装置100と、ホスト側装置100から出力されたデータに基づいて印刷処理をするプリンタ装置200とを備えている。 As shown in the figure, the printing system 1 according to the first embodiment performs a printing process based on a host-side device 100 such as a personal computer that creates and outputs document data including graphics, and data output from the host-side device 100. Printer apparatus 200.
プリンタ装置200は、本発明に係る描画命令出力装置を備え、本発明に係る画像形成装置として機能する。なお、描画処理のためのメモリ容量を低減するため、プリンタ装置200においては、後述する各部における処理の過程で、たとえば、1ページ分の画像を所定数のバンドに分割して取り扱い、かつ描画展開処理や圧縮符号化処理などのために、分割したバンド数よりも少ない所定バンド数分のバンドバッファをワークメモリ領域として使用するバンドバッファ技術を用いる。 The printer device 200 includes a drawing command output device according to the present invention, and functions as an image forming device according to the present invention. In order to reduce the memory capacity for the drawing process, the printer apparatus 200 handles, for example, an image for one page by dividing it into a predetermined number of bands in the course of processing in each unit to be described later, and draw development. For processing, compression coding processing, and the like, band buffer technology is used in which a band buffer for a predetermined number of bands smaller than the number of divided bands is used as a work memory area.
第1実施形態において、ホスト側装置100によって作成される図形を含む文書データは、PDLで記述された印刷データ(PDLデータ)であって、具体的にはPCL言語で記述されているものであり、その描画命令の中には、Transparency演算を必要とするものが含まれている。 In the first embodiment, the document data including graphics created by the host-side device 100 is print data (PDL data) described in PDL, specifically, described in the PCL language. Among the drawing commands, those that require a transparency operation are included.
ホスト側装置100は、文書や図形などの画像データを生成するデータ生成部110と、ホスト側装置100の各部の動作を制御する中央制御部120と、プリンタ装置200との間のインタフェース機能をなすインタフェース部130とを有する。 The host-side device 100 functions as an interface between the printer 200 and a data generation unit 110 that generates image data such as documents and graphics, a central control unit 120 that controls the operation of each unit of the host-side device 100, and the printer device 200. And an interface unit 130.
データ生成部110には、たとえば、文書や図形などのデータを生成するためのアプリケーションプログラムが組み込まれる。また中央制御部120には、ホスト側装置100の全体を制御するソフトウェアであるOS(オペレーティングシステム)やプリンタ装置200を制御するためのソフトウェアであるプリンタドライバPDが組み込まれる。 In the data generation unit 110, for example, an application program for generating data such as a document or a graphic is incorporated. The central control unit 120 incorporates an OS (operating system) that is software for controlling the entire host-side device 100 and a printer driver PD that is software for controlling the printer device 200.
これにより、ホスト側装置100は、プリンタ装置200に対して印刷指示を発する装置を、プログラムに基づいてソフトウェア的に実現するようになる。すなわち、各機能部を構成するためのプログラムを格納したCD−ROMなどからプログラムを読み出して図示しないハードディスク装置などにインストールさせておき、ハードディスク装置からプログラムを読み出して中央制御部120を構成する図示しないCPU(Central Processing Unit )やMPU(Micro Processing Unit )が所定の処理手順を実行することにより、各機能をソフトウェア的に実現することができる。 As a result, the host-side device 100 implements a device that issues a print instruction to the printer device 200 in software based on the program. That is, a program is read from a CD-ROM or the like storing a program for configuring each function unit and installed in a hard disk device (not shown), and the central control unit 120 is configured by reading the program from the hard disk device. When a CPU (Central Processing Unit) or MPU (Micro Processing Unit) executes a predetermined processing procedure, each function can be realized in software.
なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。また、これらのプログラムや当該プログラムを格納した記憶媒体は、既存のシステムやアプリケーションプログラムあるいはプリンタドライバPDをバージョンアップするものとして提供されてもよい。あるいは、各機能部分をソフトウェア的に実現するパッチファイルなど、一部の機能に対応したオプションプログラムとして提供されてもよい。 The program may be provided by being stored in a computer-readable storage medium, or may be distributed via wired or wireless communication means. In addition, these programs and storage media storing the programs may be provided as versions of existing systems, application programs, or printer drivers PD. Alternatively, it may be provided as an optional program corresponding to a part of functions such as a patch file for realizing each functional part as software.
ホスト側装置100内のハードウェアや各種の装置、および、各種のソフトウェアは、オペレーティングシステムOSによって制御、管理されている。このオペレーティングシステムOSによる制御および管理の元で、アプリケーションプログラムが動作する。アプリケーションプログラムは、文字や画像などを印刷する指示を行なうことができる。ここでは、印刷する内容はページ記述言語などによって記述された描画情報として出力されるものとする。ページ記述言語としては、たとえばPCL言語を用いる。 Hardware, various devices, and various software in the host-side device 100 are controlled and managed by the operating system OS. An application program operates under the control and management by the operating system OS. The application program can instruct to print characters and images. Here, it is assumed that the content to be printed is output as drawing information described in a page description language or the like. As the page description language, for example, the PCL language is used.
たとえば、ホスト側装置100に組み込まれているアプリケーションプログラムから、イメージ描画命令、グラフィック描画命令、フォント描画命令などの命令種別を持った描画命令が順次プリンタドライバPDに入力される。 For example, a drawing command having a command type such as an image drawing command, a graphic drawing command, or a font drawing command is sequentially input to the printer driver PD from an application program incorporated in the host-side device 100.
プリンタドライバPDは、通常、プリンタ装置200に付属して提供されるものであり、ホスト側装置100にロードされて機能するプログラムである。またプリンタドライバPDは、通常、特定のプリンタ装置200での使用が予想される様々なデータ形式にホスト側装置100を対応させるために使用される。プリンタドライバPDは、アプリケーションプログラムから描画情報を受け取ると、プリンタ装置200に送信する前に、様々な処理ステップを実行する。たとえば、アプリケーションプログラムから受け取った描画情報をプリンタ装置200で解釈可能なコマンドおよび描画オブジェクトの列に変換して送信することができる。あるいは、描画情報のデータ形式のままプリンタ装置200へ送信してもよい。 The printer driver PD is usually provided with the printer device 200, and is a program that is loaded into the host device 100 and functions. The printer driver PD is usually used to make the host-side device 100 correspond to various data formats expected to be used in a specific printer device 200. When the printer driver PD receives the drawing information from the application program, the printer driver PD executes various processing steps before transmitting the drawing information to the printer device 200. For example, the drawing information received from the application program can be converted into a command and drawing object string that can be interpreted by the printer apparatus 200 and transmitted. Alternatively, the drawing information may be transmitted to the printer device 200 in the data format.
この第1実施形態では、プリンタドライバPDは描画命令をプリンタ装置200が理解可能なプリント命令としてPCL言語データに変換してインタフェース部130に出力する。インタフェース部130に入力されたPCL言語データ(プリント命令)は、伝送路(接続ケーブルやネットワーク)9を通りプリンタ装置200に伝送される。プリンタ装置200は、受け取ったPCL言語データに従って、用紙に画像を印刷(画像出力)する。 In the first embodiment, the printer driver PD converts a drawing command into PCL language data as a print command understandable by the printer device 200 and outputs the converted data to the interface unit 130. The PCL language data (print command) input to the interface unit 130 is transmitted to the printer device 200 through the transmission path (connection cable or network) 9. The printer device 200 prints an image on a sheet (image output) according to the received PCL language data.
プリンタ装置200は、後述する各処理機能部分を、ソフトウェアで組み込む構成としている。この場合、その機能を実現するプログラムコードに基づいて電子計算機(コンピュータ)を用いてソフトウェア的に実現するようになる。よって、本発明に係る描画命令出力装置や画像形成装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。 The printer apparatus 200 is configured to incorporate each processing function part described later with software. In this case, it is realized by software using an electronic computer (computer) based on a program code for realizing the function. Accordingly, a program suitable for realizing the drawing command output device and the image forming apparatus according to the present invention by software using an electronic computer (computer) or a computer-readable storage medium storing the program is extracted as an invention. You can also. By adopting a mechanism that is executed by software, it is possible to enjoy the advantage that the processing procedure and the like can be easily changed without changing hardware.
後述する各処理機能をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ(組込マイコンなど)、あるいは、CPU(Central Processing Unit ;中央処理部)、論理回路、記憶装置などの機能を1つのチップ上に搭載して所望のシステムを実現するSOC(System On a Chip:システムオンチップ)、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体やネットワークを介してインストールされる。 When each processing function described later is executed by software, a computer (embedded microcomputer or the like) in which a program constituting the software is incorporated in dedicated hardware or a CPU (Central Processing Unit; central processing unit) ), A system on a chip (SOC) that implements a desired system by mounting functions such as logic circuits and storage devices on a single chip, or various functions by installing various programs Is installed via a recording medium or a network on a general-purpose personal computer capable of executing the above.
記録媒体は、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disc-Read Only Memory )、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc )を含む)、または半導体メモリなどよりなるパッケージメディア(可搬型の記憶媒体)により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM(Read Only Memory)やRAM(Random Access Memory)あるいはハードディスクなどで構成されてもよい。または、ソフトウェアを構成するプログラムが、有線あるいは無線などの通信網を介して提供されてもよい。 The recording medium causes a change state of energy such as magnetism, light, electricity, etc. to the reading device provided in the hardware resource of the computer according to the description content of the program, and in the form of a signal corresponding thereto. The program description can be transmitted to the reader. For example, a magnetic disc (including a flexible disc), an optical disc (CD-ROM (Compact Disc-Read Only Memory)), a DVD (which is distributed to provide a program to a user separately from a computer, (Including Digital Versatile Disc), magneto-optical disc (including MD (Mini Disc)), or package media (portable storage media) made of semiconductor memory, etc. The program may be configured by a ROM (Read Only Memory), a RAM (Random Access Memory), a hard disk, or the like that is provided to the user in a state where a program is recorded. Or the program which comprises software may be provided via communication networks, such as a wire communication or radio | wireless.
たとえば、プリンタ装置200は、不揮発性の記憶部の一例であるROM(Read Only Memory)201と、書換可能な記憶部の一例でありメインメモリとして機能するRAM(Random Access Memory)202と、プリンタ装置200全体の動作制御やそのほかの演算や制御の各処理機能をなすCPUやMPUなどの中央演算制御処理部210とを備える。 For example, the printer device 200 includes a ROM (Read Only Memory) 201 that is an example of a nonvolatile storage unit, a RAM (Random Access Memory) 202 that is an example of a rewritable storage unit and functions as a main memory, and a printer device. And a central processing control processing unit 210 such as a CPU or MPU that performs the operation control of the entire system 200 and other processing and control processing functions.
またプリンタ装置200は、ホストコンピュータなどのホスト側装置100との間のインタフェース機能をなすインタフェース部230と、PDLデータを解釈して得た描画命令を後段の処理機能部に渡す描画命令出力装置の一例であるインタプリタ部240とを備える。またプリンタ装置200は、インタプリタ部240から受けとった解釈命令に基づいて中間データを生成する中間データ生成部260と、中間データに基づいてバンドごとのビットマップデータを生成するレンダリング部270とを備える。 The printer device 200 includes an interface unit 230 that performs an interface function with the host-side device 100 such as a host computer, and a drawing command output device that passes a drawing command obtained by interpreting PDL data to a subsequent processing function unit. An interpreter unit 240 as an example is provided. In addition, the printer device 200 includes an intermediate data generation unit 260 that generates intermediate data based on the interpretation command received from the interpreter unit 240, and a rendering unit 270 that generates bitmap data for each band based on the intermediate data.
インタプリタ部240は、インタフェース部230を介して入力されたPDLデータを解釈するPDLデータ解釈部242と、Transparency演算処理を含む描画命令を、Transparency演算を必要としない描画命令に変換するか否かを判定する透過命令判定部340と、透過命令判定部340が描画命令に変換すると判定したときにはPDLデータ解釈部242が解釈した描画命令を変換する透過命令変換部344とを有する。 The interpreter unit 240 interprets the PDL data interpretation unit 242 that interprets the PDL data input via the interface unit 230, and whether or not to convert the rendering command including the Transparency operation processing into a rendering command that does not require the Transparency operation. A transparent command determining unit 340 for determining, and a transparent command converting unit 344 for converting the drawing command interpreted by the PDL data interpreting unit 242 when the transparent command determining unit 340 determines to convert to a drawing command.
インタプリタ部240は、PCL言語で記述されたPDLデータ内に含まれるTransparency演算処理を置き換える(つまりTransparency演算を使わない)べきかどうかを透過命令判定部340にて判定し、置き換えるべき場合には透過命令変換部344は、“Transparent ”の指定をキャンセルし、論理演算(ここではROP2の仕様を使う)のみで描画するか、もしくは、関係する描画コマンドを無視して、中間データ生成部250に渡す。 The interpreter unit 240 determines whether or not to replace the Transparency calculation process included in the PDL data described in the PCL language (that is, does not use the Transparency calculation) by the transparent command determination unit 340. The instruction conversion unit 344 cancels the designation of “Transparent” and draws only with a logical operation (here, the ROP2 specification is used), or ignores the related drawing command and passes it to the intermediate data generation unit 250. .
インタプリタ部240は、取り込んだ描画情報やコマンドと描画データの列などを認識し、コマンドと引数に組み立ててコマンドを解釈する。そして、解釈したコマンドの内容に従って、中間データ生成部260を呼び出して、グラフィックス描画、文字描画、イメージ処理を行なう。中間データ生成部260は、インタプリタ部240の指示に従って画像を描画する。 The interpreter unit 240 recognizes the fetched drawing information, the sequence of the command and the drawing data, and interprets the command by assembling the command and the argument. Then, in accordance with the contents of the interpreted command, the intermediate data generation unit 260 is called to perform graphics drawing, character drawing, and image processing. The intermediate data generation unit 260 renders an image in accordance with an instruction from the interpreter unit 240.
レンダリング部270は、中間データ生成部260で描画された画像をラスタ化し、一旦、ハードディスク装置350のページメモリ領域に記憶させる。このとき、たとえばカラー印刷を行なうのであれば、それぞれの色ごとに、たとえばC(シアン),M(マゼンタ),Y(イエロ),K(ブラック)の4プレーンにラスタ化し、ハードディスク装置350のページメモリ領域に個別に記憶させる。 The rendering unit 270 rasterizes the image drawn by the intermediate data generation unit 260 and temporarily stores it in the page memory area of the hard disk device 350. At this time, for example, if color printing is performed, each color is rasterized into, for example, four planes of C (cyan), M (magenta), Y (yellow), and K (black), and the page of the hard disk device 350. Store them individually in the memory area.
またプリンタ装置200は、レンダリング部270により描画展開されたビットマップデータに基づいて印刷処理を制御する印刷制御部(出力処理部)290と、印刷制御部290の指令に従って印刷処理を実行するプリンタエンジン部300とを備える。プリンタエンジン部300とシステムバスとの間にはプリンタIF(インタフェース)部308が設けられる。プリンタエンジン部300は、描画命令出力装置の一例であるインタプリタ部240から出力された描画命令、具体的には、インタプリタ部240から出力されさらに中間データ生成部260やレンダリング部270にて処理されたデータに基づいて、画像を所定の記憶媒体に形成する画像形成部の一例である。 In addition, the printer device 200 includes a print control unit (output processing unit) 290 that controls print processing based on bitmap data drawn and developed by the rendering unit 270, and a printer engine that executes print processing in accordance with instructions from the print control unit 290. Unit 300. A printer IF (interface) unit 308 is provided between the printer engine unit 300 and the system bus. The printer engine unit 300 is a rendering command output from the interpreter unit 240, which is an example of a rendering command output device. Specifically, the printer engine unit 300 is output from the interpreter unit 240 and further processed by the intermediate data generation unit 260 and the rendering unit 270. It is an example of an image forming unit that forms an image on a predetermined storage medium based on data.
印刷制御部290は、印刷を行なう際に、プリンタエンジン部300を起動し、出力単位分のビットマップデータを、プリンタエンジン部300に供給する。プリンタエンジン部300は、プリンタIF部308を介して供給されるビットマップデータに従って、用紙に画像を形成して出力する。すなわち、プリンタエンジン部300は、ページメモリ領域に格納された画像データに従って実際に被記録媒体上に画像を形成する。プリンタエンジン部300としては、たとえばレーザ方式を始め、種々の方式の記録方法を採用することができる。このとき、画像処理部302にて、必要に応じて2値化処理やスクリーン処理を行なう。 When printing, the print control unit 290 activates the printer engine unit 300 and supplies bitmap data for an output unit to the printer engine unit 300. The printer engine unit 300 forms and outputs an image on a sheet according to bitmap data supplied via the printer IF unit 308. That is, the printer engine unit 300 actually forms an image on the recording medium in accordance with the image data stored in the page memory area. As the printer engine unit 300, for example, various recording methods such as a laser method can be adopted. At this time, the image processing unit 302 performs binarization processing and screen processing as necessary.
RAM202には、中間データ領域202a、バンド展開領域202b、ワーク領域202cなどが割り当てられる。プリンタ装置200は、RAM202における中間データ領域(中間データ用保持領域)、バンド展開領域などに関する情報を設定・管理するメモリ管理部(保持領域管理部)310をROM201のプログラム領域に備える。中間データ生成部260やレンダリング部270などが利用するRAM202は、プリンタ装置200の全体を制御する中央演算制御処理部210が使用するメインメモリとしても利用される。この場合、RAM202には、メインメモリ用のワーク領域が割り当てられる。 An intermediate data area 202a, a band development area 202b, a work area 202c, and the like are allocated to the RAM 202. The printer apparatus 200 includes a memory management unit (holding region management unit) 310 for setting and managing information related to an intermediate data region (intermediate data holding region) and a band development region in the RAM 202 in the program region of the ROM 201. The RAM 202 used by the intermediate data generation unit 260 and the rendering unit 270 is also used as a main memory used by the central processing control processing unit 210 that controls the entire printer apparatus 200. In this case, a work area for main memory is allocated to the RAM 202.
なお、中間データ領域は、中間データを保存するための領域である。バンド展開領域は、バンドごとに中間データを画像データに展開するための領域である。ワーク領域は、プログラムが動作するために一時的に使われる領域である。 The intermediate data area is an area for storing intermediate data. The band development area is an area for developing intermediate data into image data for each band. The work area is an area temporarily used for operating the program.
さらにプリンタ装置200は、描画処理時に描画命令を一時的に格納しておくため不揮発性の記憶媒体の一例であるハードディスク装置350を備える。ハードディスク装置350は、たとえば、PDLデータ解釈部242で解釈・変換した描画オブジェクトおよび描画演算指示を記憶する描画オブジェクト格納(記憶)部350aや、描画演算部として機能する中間データ生成部260や、描画演算部(中間データ生成部260やレンダリング部270)で演算された結果の画像データを格納する処理結果格納部350bなどを含む、データ格納部の一例である。 The printer device 200 further includes a hard disk device 350, which is an example of a nonvolatile storage medium, for temporarily storing drawing commands during drawing processing. The hard disk device 350 includes, for example, a drawing object storage (storage) unit 350 a that stores drawing objects interpreted and converted by the PDL data interpretation unit 242 and drawing calculation instructions, an intermediate data generation unit 260 that functions as a drawing calculation unit, It is an example of a data storage unit including a processing result storage unit 350b that stores image data obtained as a result of calculation performed by a calculation unit (intermediate data generation unit 260 and rendering unit 270).
なお、ハードディスク装置350に描画オブジェクト格納部350aの機能を持たせない構成も可能であるが、透過命令判定部340で連続する複数の描画演算指示について判定を行なう際は、この描画オブジェクト格納部として機能するハードディスク装置350に複数の描画演算指示および対応する描画オブジェクトを記憶させておくと便利である。 The hard disk device 350 may be configured not to have the function of the drawing object storage unit 350a. However, when the transparent command determination unit 340 determines a plurality of consecutive drawing calculation instructions, the drawing object storage unit is used as the drawing object storage unit. It is convenient to store a plurality of drawing calculation instructions and corresponding drawing objects in a functioning hard disk device 350.
前述のように、インタプリタ部240は、PDLデータ解釈部242にてTransparency演算を含むPDLデータを解釈した際、透過命令判定部340にてTransparency演算に対して置換処理を行なうか否かを判定し、置換処理を行なう場合には、透過命令変換部344にて、“Transparent ”の指定をキャンセルし、論理演算(ROP2)のみで描画するか、もしくは、関係する描画コマンドを無視する。 As described above, when the PDL data interpretation unit 242 interprets the PDL data including the Transparency operation, the interpreter unit 240 determines whether the transparent instruction determination unit 340 performs the replacement process for the Transparency operation. When performing the replacement process, the transparent command conversion unit 344 cancels the designation of “Transparent” and draws only with the logical operation (ROP2) or ignores the related drawing command.
ここで、Transparency演算処理を置き換えるべきかどうかは、Transparency演算処理が、特定の条件にマッチするか否かを判断条件とする。特定の条件は、描画オブジェクトが単純なものであるものとする。具体的には、
(1) Patternイメージ(パターン画像),Sourceイメージ(ソース画像)ともに“Transparent ”が指定されている、
(2)ROPコマンドは上書き(ROP3:TSo=252)、
(3) Patternイメージは全画素均一で色は白か黒、
(4)Sourceイメージは色が白か黒で構成されている、
と言った、4つの条件が揃った場合とする。
Here, whether or not the Transparency calculation process should be replaced depends on whether or not the Transparency calculation process matches a specific condition. The specific condition is that the drawing object is simple. In particular,
(1) “Transparent” is specified for both the Pattern image (pattern image) and Source image (source image).
(2) ROP command is overwritten (ROP3: TSo = 252),
(3) The pattern image is uniform for all pixels and the color is white or black.
(4) The source image is composed of white or black.
Suppose that all four conditions are met.
上記(3)に似通った条件ではあるが、 Patternイメージが全画素均一でない場合や、全画素均一であっても色が白か黒でない場合や、上記(4)に似通った条件ではあるが、Sourceイメージの色が白および黒の何れでもない場合には、Transparency演算に対する置換処理を行なわない。 Although the conditions are similar to the above (3), the pattern image is not uniform for all pixels, the color is not white or black even if all the pixels are uniform, or the condition is similar to (4) above. If the source image color is neither white nor black, the replacement process for the Transparency operation is not performed.
なお、Sourceイメージとは、任意のカラー画像(以下Destination ;ディスティネーション画像という)に描画する描画オブジェクトであるビットマップ画像(描画オブジェクトがイメージの場合のみ)を意味する。 Patternイメージは、描画オブジェクトの塗潰しパターンを定義するものである。なお、Sourceイメージはマスクパターン、 Patternイメージは背景パターンとも呼ぶことがある。 Note that the source image means a bitmap image (only when the drawing object is an image) that is a drawing object to be drawn on an arbitrary color image (hereinafter referred to as a destination image). The Pattern image defines the filling pattern of the drawing object. The source image may also be called a mask pattern, and the pattern image may be called a background pattern.
上記(1)〜(4)のような条件としたのは一例であり、比較的に負荷の少ない描画コマンドに置き換え可能であるか否かと、変換に伴う画像品質変化や描画属性の等価性の維持度合いを考慮して、他の条件を設定することもできる。 The above conditions (1) to (4) are just examples, and whether or not the drawing command can be replaced with a drawing command having a relatively low load, the image quality change accompanying conversion, and the equivalence of drawing attributes. Other conditions can be set in consideration of the degree of maintenance.
何れにしても、Transparency処理を省略できるもののうち、変換処理によって描画の高速化を図ることができるものは、変換対象となり得る。ドライバから出力される描画コマンドのうち、上記(1)〜(4)の条件に合致するもの以外に、Transparency処理処理を省略可能な描画コマンドが何れであるのかを探すのは必ずしも容易ではないが、他の組合せでも置換可能なものは存在し得る。たとえば、Sourceイメージの色が赤や青などの単色である場合のようにイメージ色が複雑でない場合は、他の条件との兼ね合いもあるが、描画命令を変換できる可能性がある。 In any case, among those that can omit the transparency process, those that can speed up the drawing by the conversion process can be converted. Of the drawing commands output from the driver, it is not always easy to find out which drawing command can omit the transparency processing other than those that match the above conditions (1) to (4). There may be other combinations that can be substituted. For example, if the image color is not complicated as in the case where the source image is a single color such as red or blue, there is a possibility that the drawing command can be converted although there is a balance with other conditions.
また、たとえば、透過命令判定部340に対して判定条件を設定する条件設定部を設け、条件設定部がユーザ指示を受けて条件設定するように構成してもよい。こうすることで、より柔軟な運用ができるようになる。 In addition, for example, a condition setting unit that sets a determination condition may be provided for the transparent command determination unit 340 so that the condition setting unit receives the user instruction and sets the condition. This will allow more flexible operation.
インタプリタ部240は、Transparency演算処理に対しての置換処理やそのための判定処理を行なった後に、処理済みのPDLデータを中間データ生成部260に渡す。中間データ生成部260は、入力された、インタプリタ部240での処理済みのPDL形式の印字データを解釈して、バンドごとに分割された中間データを生成する。生成された中間データは、メモリ管理部310で管理されたRAM202により記憶・保持される。レンダリング部270は、中間データ生成部260により生成された中間データを描画展開することでバンドラスタデータを生成し、このバンドラスタデータをバンドバッファとして機能するRAM202に記憶する。 The interpreter unit 240 passes the processed PDL data to the intermediate data generation unit 260 after performing a replacement process for the transparency calculation process and a determination process therefor. The intermediate data generation unit 260 interprets the input print data in the PDL format that has been processed by the interpreter unit 240, and generates intermediate data divided for each band. The generated intermediate data is stored / held by the RAM 202 managed by the memory management unit 310. The rendering unit 270 generates band raster data by drawing and developing the intermediate data generated by the intermediate data generation unit 260, and stores the band raster data in the RAM 202 functioning as a band buffer.
第1実施形態の構成では、プリンタ装置200における機能部分を、プログラムに基づいてソフトウェア的に実現するようにしているが、インタプリタ部240(PDLデータ解釈部242や透過命令判定部340)、中間データ生成部260、レンダリング部270、印刷制御部290、あるいはメモリ管理部310などを、ハードウェア処理回路で構成してもよい。こうすることで、ソフトウェア処理よりもさらに高速に処理可能となる。 In the configuration of the first embodiment, the functional part of the printer apparatus 200 is realized by software based on a program. However, the interpreter unit 240 (PDL data interpretation unit 242 and transparent command determination unit 340), intermediate data The generation unit 260, the rendering unit 270, the print control unit 290, the memory management unit 310, and the like may be configured by a hardware processing circuit. By doing so, processing can be performed at higher speed than software processing.
図2は、プリンタ装置200におけるプリント動作、特にインタプリタ部240の動作を示すフローチャートである。インタプリタ部240は、PCL言語で記述されたPDLデータをインタフェース部230を介して受信すると、PDLデータ解釈処理を開始し、先ず未処理のPDL命令が存在するかどうかを調べ(S102)、未処理のPDL命令がない場合には処理を終了する(S102−NO,S103)。一方、未処理のPDL命令が残っている場合には、インタプリタ部240は、PDL命令を解析し(S102−YES,S104)、この後PDL命令を判定する。 FIG. 2 is a flowchart showing a printing operation in the printer apparatus 200, particularly an operation of the interpreter unit 240. When the interpreter unit 240 receives the PDL data described in the PCL language via the interface unit 230, the interpreter unit 240 starts PDL data interpretation processing, and first checks whether there is an unprocessed PDL instruction (S102). If there is no PDL instruction, the process ends (S102-NO, S103). On the other hand, when an unprocessed PDL instruction remains, the interpreter unit 240 analyzes the PDL instruction (S102-YES, S104), and then determines the PDL instruction.
たとえば、PDL命令が“StartPage”であるかどうかを判定し(S105)、“StartPage”である場合はページ開始処理を行ない、処理完了後ステップS102に戻る(S105−YES,S108)。ページ開始処理の際には、インタプリタ部240の状態を示す変数である“state ”を“描画中”に初期化する。一方、“StartPage” でない場合には(S105−NO)、インタプリタ部240は、PDL命令が“EndPage” であるかどうかを判定する(S106)。 For example, it is determined whether or not the PDL command is “StartPage” (S105). If it is “StartPage”, page start processing is performed, and the processing returns to step S102 after the processing is completed (S105—YES, S108). In the page start process, “state” which is a variable indicating the state of the interpreter unit 240 is initialized to “drawing”. On the other hand, when it is not “StartPage” (S105—NO), the interpreter unit 240 determines whether or not the PDL command is “EndPage” (S106).
そして“EndPage” である場合にはページ排出処理を行ない、処理完了後ステップS102に戻る(S106−YES,S109)。一方、“EndPage” でない場合には(S106−NO)、インタプリタ部240は、PDL命令が“SetRopMode”であるかどうかを判定する(S107)。そして、“SetRopMode”である場合にはROP設定命令処理を行ない、処理完了後ステップS102に戻る(S107−YES,S110)。一方、“SetRopMode”でない場合には、インタプリタ部240は、描画命令処理を行ない、処理完了後ステップS102に戻る(S107−NO,S111)。詳しくは後述するが、この描画命令処理においては、描画命令が通常のROP処理演算命令であるのか、Transparency演算処理を含む演算命令であるのかに応じて処理を切り替える。 If “EndPage”, the page discharge process is performed, and the process returns to step S102 after the process is completed (S106—YES, S109). On the other hand, if it is not “EndPage” (S106—NO), the interpreter unit 240 determines whether the PDL instruction is “SetRopMode” (S107). If it is “SetRopMode”, ROP setting command processing is performed, and the processing returns to step S102 after the processing is completed (S107—YES, S110). On the other hand, if it is not “SetRopMode”, the interpreter unit 240 performs the drawing command processing, and returns to step S102 after the processing is completed (S107—NO, S111). As will be described in detail later, in this drawing command processing, processing is switched depending on whether the drawing command is a normal ROP processing calculation command or a calculation command including a transparency calculation processing.
なおPDL命令を判定する処理は、上記例の手順に限らず、PDL命令が“StartPage” 、“EndPage” 、“SetRopMode”、およびそれ以外のうちの何れであるのかを判断し、その判断結果に応じた処理をするようにするものである限り、その手順(すなわち前記判断の優先順位)を入れ替えてもよい。 The process of determining the PDL instruction is not limited to the procedure in the above example, and it is determined whether the PDL instruction is “StartPage”, “EndPage”, “SetRopMode”, or any other one, and the determination result is As long as the corresponding processing is performed, the procedure (that is, the priority of the determination) may be switched.
図3は、図2のステップS111における描画命令処理の詳細を示すフローチャートである。インタプリタ部240のPDLデータ解釈部242は、本処理を開始すると先ず、“state ”が“描画中”であるかを判定する(S202)。そして“描画中”である場合には(S202−YES)、インタプリタ部240は、命令の種別が“通常のROP処理”および“Transparency演算を含む処理”の何れであるのかを判定する(S203)。 FIG. 3 is a flowchart showing details of the drawing command process in step S111 of FIG. When the PDL data interpretation unit 242 of the interpreter unit 240 starts this process, it first determines whether “state” is “drawing” (S202). If it is “drawing” (S202—YES), the interpreter 240 determines whether the instruction type is “normal ROP processing” or “processing including a Transparency operation” (S203). .
インタプリタ部240は、PDLデータ解釈部242の解釈結果が“通常のROP処理”である場合は、通常のROP処理を行なって本処理を完了させる一方(S204)、Transparency演算に関わる“Opaque”指定もしくは“Transparent ”指定がある描画命令である場合は、透過命令判定部340にて、以下の判定基準に従って、Transparency演算処理に対して置換処理を行なうか否かを判定する(S206)。 When the interpretation result of the PDL data interpretation unit 242 is “normal ROP processing”, the interpreter unit 240 performs normal ROP processing and completes this processing (S204), while specifying “Opaque” related to Transparency calculation. Alternatively, if the drawing command has “Transparent” designation, the transparent command determination unit 340 determines whether or not to perform the replacement process for the Transparency calculation process according to the following determination criteria (S206).
すなわち先ず、 Patternイメージ,Sourceイメージともに“Transparent ”が指定されているか否かを判定する(S206−YES,S208)。ともに“Transparent ”が指定されている場合には、ROPコマンドは上書き(ROP3:TSo=252)であるか否かを判定する(S208−YES,S210)。ROPコマンドが上書きである場合は、さらに Patternイメージが全画素均一でかつ色が白か黒であるかを判定する(S210−YES,S212)。全画素均一でかつ色が白か黒である場合には、さらにSourceイメージの色が白か黒で構成されているか否かを判定する(S212−YES,S214)。 That is, first, it is determined whether or not “Transparent” is designated for both the Pattern image and the Source image (S206—YES, S208). When “Transparent” is designated for both, it is determined whether or not the ROP command is overwritten (ROP3: TSo = 252) (S208—YES, S210). If the ROP command is overwrite, it is further determined whether the pattern image is uniform in all pixels and the color is white or black (S210-YES, S212). If all the pixels are uniform and the color is white or black, it is further determined whether or not the source image is composed of white or black (S212-YES, S214).
このようにして、上述した全ての条件を充足する場合には、透過命令判定部340は、Transparency演算に対しての置換処理を行なうべきと判断し、その判断結果をPDLデータ解釈部242に通知する(S214−YES,S216)。これを受けて、PDLデータ解釈部242は、“Transparent ”の指定をキャンセルし、論理演算(ROP2)のみで描画するか、もしくは、関係する描画コマンドを無視し、これら処理済みのPDLデータを使用して実行するように中間データ生成部260やレンダリング部270に指示する(S218)。 In this way, when all the above-described conditions are satisfied, the transparent instruction determination unit 340 determines that a replacement process for the Transparency calculation should be performed, and notifies the PDL data interpretation unit 242 of the determination result. (S214-YES, S216). In response to this, the PDL data interpretation unit 242 cancels the designation of “Transparent” and draws only with the logical operation (ROP2), or ignores the related drawing commands and uses these processed PDL data. The intermediate data generation unit 260 and the rendering unit 270 are instructed to execute (S218).
一方、上述した何れかの条件を充足しない場合には、透過命令判定部340は、Transparency演算に対しての置換処理を行なうべきでないと判断し、その判断結果をPDLデータ解釈部242に通知する(S208,S210,S212,S214の各NO,S220)。これを受けて、PDLデータ解釈部242は、“Transparent ”の指定をそのまま受け付けて、Transparency演算に対しての置換処理を行なうことなく、既に蓄積してあるTransparency演算命令を使用して実行するように中間データ生成部260やレンダリング部270に指示する(1022)。 On the other hand, if any of the above-described conditions is not satisfied, the transparent instruction determination unit 340 determines that the replacement process for the Transparency calculation should not be performed, and notifies the PDL data interpretation unit 242 of the determination result. (NO in S208, S210, S212, and S214, S220). In response to this, the PDL data interpretation unit 242 accepts the designation of “Transparent” as it is, and executes it using the already stored Transparency calculation instruction without performing the replacement process for the Transparency calculation. The intermediate data generation unit 260 and the rendering unit 270 are instructed (1022).
そして、インタプリタ部240は、上記ステップS218あるいはステップS222の後、“state ”を“描画中”に変更してから本処理を完了させる(S224)。 Then, after step S218 or step S222, the interpreter unit 240 changes “state” to “drawing” and completes this processing (S224).
図4は、上記図2のステップS109におけるページ排出処理の詳細を示すフローチャートである。インタプリタ部240は、ページ排出処理を開始すると先ず、“state ”が“命令を蓄積中”(命令の種類は不問)であるかどうかを判定する(S302)。 FIG. 4 is a flowchart showing details of the page discharge process in step S109 of FIG. When the interpreter unit 240 starts the page discharge process, it first determines whether or not “state” is “accumulating commands” (the command type is not questioned) (S302).
そして、“命令を蓄積中”の場合には(S302−YES)、中間データ生成部260やレンダリング部270に対して蓄積された命令を実行するように指示し(S304)、インタプリタ部240の状態を示す変数である“state ”をデフォルトの“描画中”に変更する(S305)。一方、“命令を蓄積中”でない場合(S302−NO)はPDL命令を解釈する(S303)。この後、あるいは前記ステップS305にて“state ”を“描画中”に変更した後には、インタプリタ部240は、印刷制御部290に対して印刷処理を開始するように指示する(S306)。 If “command is being stored” (S302—YES), the intermediate data generation unit 260 and the rendering unit 270 are instructed to execute the stored command (S304), and the state of the interpreter unit 240 is determined. Is changed to the default “during drawing” (S305). On the other hand, when the instruction is not “accumulating” (S302—NO), the PDL instruction is interpreted (S303). After this, or after changing “state” to “drawing” in step S305, the interpreter unit 240 instructs the print control unit 290 to start the printing process (S306).
これを受けて印刷制御部290は、レンダリング部270により生成されたページイメージを、プリンタIF部308を介してプリンタエンジン部300に送信する。プリンタエンジン部300は、このページイメージに基づいて、用紙に印刷する。 In response to this, the print control unit 290 transmits the page image generated by the rendering unit 270 to the printer engine unit 300 via the printer IF unit 308. The printer engine unit 300 prints on a sheet based on the page image.
図5は、第1実施形態の印刷システム1において処理対象とするPCL言語で記述されたPDLデータの一例を示す図である。この例では、ソースイメージとして、イメージを描画する場合と楕円を描画する場合と例示している。ソースイメージの部分が、線や矩形などのグラフィックス、あるいはフォント(文字)となる場合もある(後述する図12を参照)。これらの描画命令の中には、図中Tr10およびTr12に示すように、Transparency演算に関わる“Opaque”指定もしくは“Transparent ”指定がある描画命令が含まれている。 FIG. 5 is a diagram illustrating an example of PDL data described in the PCL language to be processed in the printing system 1 according to the first embodiment. In this example, the case of drawing an image and the case of drawing an ellipse are illustrated as source images. The source image portion may be graphics such as lines and rectangles or fonts (characters) (see FIG. 12 described later). These drawing commands include drawing commands with “Opaque” designation or “Transparent” designation related to the Transparency calculation, as indicated by Tr10 and Tr12 in the figure.
ここで、Tr10の“Transparent ”指定部分は、上述したステップS208,S210,S212の各条件を満たすものであり、その後に継続するSourceイメージについての描画命令に際して、指定色が白か黒で構成されている場合には最後の条件S214も充足するので、これらの描画コマンドが置換の対象となる。Sourceイメージについての描画命令の指定色が白か黒で構成されていない場合には、置換の対象とならない。 Here, the “Transparent” designation portion of Tr10 satisfies the above-mentioned conditions of steps S208, S210, and S212, and the designated color is composed of white or black in the subsequent rendering command for the source image. If so, the final condition S214 is also satisfied, and these drawing commands are to be replaced. If the specified color of the rendering command for the Source image is not composed of white or black, it will not be replaced.
また、Tr12の“Opaque”指定部分は、ステップS208の条件を充足しないので、その後に継続するSourceイメージについての指定色に拘らず、置換の対象とならない。 In addition, the “Opaque” designation portion of Tr12 does not satisfy the condition of step S208, and therefore is not subject to replacement regardless of the designated color for the source image that continues thereafter.
図6は、図5に示されるPCL言語記述のPDLデータに対応する、Transparency演算の置換処理の一例を説明する図である。ここで、図6(A)は、 Patternイメージが全画素(全面)黒の場合を示し、図6(B)は、 Patternイメージが全画素(全面)白の場合を示している。 FIG. 6 is a diagram for explaining an example of the replacement process of the Transparency operation corresponding to the PDL data in the PCL language description shown in FIG. Here, FIG. 6A shows a case where the pattern image is all pixels (entire surface) black, and FIG. 6B shows a case where the pattern image is all pixels (entire surface) white.
Patternイメージ,Sourceイメージともに“Transparent ”が指定されている(S208−YES)、ROPコマンドは上書き(ROP3:TSo=252)である(S210−YES)、 Patternイメージは全画素均一でかつ色は白か黒である(S212−YES)、Sourceイメージは色が白か黒(図の例では黒)で構成されている(S214−YES)ので、図6(A)および図6(B)の何れにおいても、透過命令判定部340は、置換処理の対象となると判断し、その判断結果をPDLデータ解釈部242に通知する。 If “Transparent” is specified for both the Pattern image and the Source image (S208—YES), the ROP command is overwritten (ROP3: TSo = 252) (S210—YES), the pattern image is uniform in all pixels, and the color is white Since the source image is composed of white or black (black in the example in the figure) (S214-YES), either of FIG. 6A or FIG. 6B is used. In this case, the transparent command determination unit 340 determines that the instruction is to be replaced, and notifies the PDL data interpretation unit 242 of the determination result.
これを受けて、PDLデータ解釈部242は、変更前の描画属性を、以下のようにして変更する。たとえば、図6(A)に示す、 Patternイメージが全画素(全面)黒の場合には、変換後の描画属性としては、Source Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ROP2:8とし、 Patternイメージは定義しない。 In response to this, the PDL data interpretation unit 242 changes the drawing attribute before the change as follows. For example, when the pattern image shown in FIG. 6A is black for all pixels (entire surface), both the Source Transparency Mode and the PatternTransparency Mode are set to “Opaque” as drawing attributes after conversion. ROP2: 8, Pattern image is not defined.
ここで、ROP2:8の意味は、“Destination にSourceイメージを上書き”である。ROPは色空間がBGRで定義されたものであり、処理としては、黒が“0”、白が“1”であり、“AND”演算する。したがって、このように描画命令を変換することで、中間データ生成部260やレンダリング部270において、SourceイメージとDestination をROP2:8(BGR空間)で描画すると、描画処理結果(Result)としては、Destination イメージ上にSourceイメージの黒丸画像が上書きされた状態となる。変換されたROP2:8を含む描画命令は、変換前のTransparency演算を伴う描画命令に比べると、負荷の少ない描画命令である。 Here, the meaning of ROP2: 8 is “Destination overwrites source image”. ROP has a color space defined by BGR. As processing, black is “0” and white is “1”, and an “AND” operation is performed. Therefore, when the rendering command is converted in this way and the source image and the destination are rendered in ROP 2: 8 (BGR space) in the intermediate data generation unit 260 and the rendering unit 270, the rendering processing result (Result) is Destination. The black circle image of the Source image is overwritten on the image. The drawing command including the converted ROP2: 8 is a drawing command with less load compared to the drawing command with the Transparency calculation before the conversion.
また、図6(B)に示す、 Patternイメージが全画素(全面)白の場合には、変換後の描画属性としては、全画素(全面)黒の場合と同様にSource Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ROP2:14とし、 Patternイメージは定義しない。ROPは色空間がBGRで定義されたものであり、処理としては、黒が“0”、白が“1”であり、“OR”演算する。 When the pattern image shown in FIG. 6B is all pixels (entire surface) white, the drawing attributes after conversion are the same as those of Source Transparency Mode and PatternTransparency Mode as in the case of all pixels (entire surface) black. Both are set to “Opaque”, ROP2: 14, and the Pattern image is not defined. ROP has a color space defined by BGR. As processing, black is “0” and white is “1”, and an “OR” operation is performed.
したがって、このように描画命令を変換することで、中間データ生成部260やレンダリング部270において、SourceイメージとDestination をROP2:14(BGR空間)で描画すると、描画処理結果(Result)としては、Sourceイメージの黒丸画像におけるDestination のアクティブ部分(図中の白)が無効化された状態となる。ROP2:14を含む描画命令は、変換前のTransparency演算を伴う描画命令に比べると、負荷の少ない描画命令である。 Therefore, by converting the drawing command in this way, when the intermediate data generation unit 260 and the rendering unit 270 draw the source image and the destination in ROP 2:14 (BGR space), the drawing processing result (Result) is the Source The Destination active part (white in the figure) in the black circle image of the image is disabled. The drawing command including ROP2: 14 is a drawing command with less load compared to the drawing command accompanied by the Transparency operation before conversion.
以上説明したことから分かるように、第1実施形態の印刷システム1に依れば、Transparency演算を伴う描画命令をTransparency演算を含まない描画処理に変換できる場合に、Transparency演算を伴う描画命令をTransparency演算を含まない描画命令に変換するべきかどうかを所定の条件(本例では前述した(1)〜(4)の4つの条件)と突き合わせて判定し、より処理速度の向上が見込まれかつ画質も損なわない描画命令に変換して後段の処理機能部に渡すようにした。このため、所定の条件を満たす場合には、Transparency演算処理に掛る時間を省いた高速な画像処理が可能となる。 As can be seen from the above description, according to the printing system 1 of the first embodiment, when a rendering command with a Transparency operation can be converted into a rendering process that does not include a Transparency operation, the rendering command with a Transparency operation is converted to Transparency. Whether or not to convert to a drawing command that does not include an operation is determined by matching with predetermined conditions (in this example, the four conditions (1) to (4) described above), and an improvement in processing speed is expected and image quality is expected. Is converted to a rendering command that will not be damaged, and then passed to the processing function section at the subsequent stage. For this reason, when a predetermined condition is satisfied, high-speed image processing that saves time required for the Transparency calculation processing can be performed.
チャート(特定の原稿+特定のプリンタドライバを使用)によっては重い処理であるTransparency演算を行なう必要がなくなるため、プリンタ装置200における出力処理時間が大幅に短縮される。ここではチャートの具体的事例については図示を割愛するが、たとえば、あるPCL5パフォーマンスチャートの場合に、従来では7PPM(Page Per Minute )程度であったものが、上記実施形態を適用することで、31PPMを達成することができ、大幅にパフォーマンスを改善することができた。 Depending on the chart (specific document + specific printer driver is used), it is not necessary to perform the Transparency calculation, which is a heavy process, so that the output processing time in the printer apparatus 200 is greatly shortened. Here, illustration of a specific example of the chart is omitted, but for example, in the case of a certain PCL5 performance chart, what was conventionally about 7 PPM (Page Per Minute) is 31 PPM by applying the above embodiment. Was able to achieve and greatly improved performance.
<第2実施形態;プリンタ装置での処理の変形>
図7は、本発明に係る描画命令出力装置および画像形成装置を適用した第2実施形態の印刷システムの構成例を示すブロック図である。第2実施形態の印刷システム1は、第1実施形態と同様に、プリンタ側において、Transparency演算に関わる描画命令の判定処理および変換処理を行なうとともに、ハードウェア処理回路を利用することでさらなる処理速度の向上を図るようにしたものである。
<Second Embodiment: Modification of Processing in Printer>
FIG. 7 is a block diagram illustrating a configuration example of a printing system according to the second embodiment to which the drawing command output device and the image forming apparatus according to the invention are applied. Similar to the first embodiment, the printing system 1 according to the second embodiment performs a rendering command determination process and a conversion process related to the Transparency calculation on the printer side, and further increases the processing speed by using a hardware processing circuit. It is intended to improve.
具体的には、中間データを直接ラスタデータに変換し、プリンタエンジン部300にラスタデータを転送するH/W(Hard Wear) アクセラレータスロット360をシステムバス上に備えた点が図1に示した構成と異なる。 Specifically, the configuration shown in FIG. 1 is provided with an H / W (Hard Wear) accelerator slot 360 on the system bus for directly converting intermediate data into raster data and transferring the raster data to the printer engine unit 300. And different.
またインタプリタ部240は、描画処理を高速に処理する高速化処理部の一例であるH/Wレンダラが存在するかどうかを判定するH/Wレンダラ判定部370と、H/Wレンダラ(高速化処理部)が存在するとH/Wレンダラ判定部370が判定したことを条件として、Transparency演算を含まない描画命令に変換せずに処理する第1の処理方法を選択する一方、H/Wレンダラ(高速化処理部)が存在しないとH/Wレンダラ判定部370が判定したことを条件として、Transparency演算を含まない描画命令に変換して処理する第2の処理方法(第1実施形態の処理方法)を選択する処理方法切替部380とを備えている。 The interpreter unit 240 also includes an H / W renderer determination unit 370 that determines whether there is an H / W renderer that is an example of an acceleration processing unit that performs drawing processing at high speed, and an H / W renderer (acceleration processing). The H / W renderer (high-speed) is selected on the condition that the H / W renderer determination unit 370 determines that the first processing method is processed without being converted into a rendering command that does not include a Transparency operation. The second processing method (processing method of the first embodiment) that converts the processing into a rendering command that does not include a Transparency operation on condition that the H / W renderer determination unit 370 determines that there is no conversion processing unit) And a processing method switching unit 380 for selecting.
H/Wアクセラレータスロット360には、オプションとして、H/Wでレンダリング(描画展開)することで描画処理を高速に処理可能な高速化処理部の一例であるH/Wレンダラ(図示せず)が着脱可能になっている。H/Wレンダラは、S/W(Soft Wear) でレンダリングする場合に比べ、Transparency演算処理やROP処理を高速に行なうことができる。したがって、H/WレンダラがH/Wアクセラレータスロット360に装着されているときには、Transparency演算を伴う描画命令の置換えを行なう必要はない。 In the H / W accelerator slot 360, as an option, an H / W renderer (not shown), which is an example of a high-speed processing unit capable of processing drawing processing at high speed by rendering (drawing and developing) with H / W, is available. Detachable. The H / W renderer can perform Transparency calculation processing and ROP processing at a higher speed than when rendering with S / W (Soft Wear). Therefore, when the H / W renderer is installed in the H / W accelerator slot 360, it is not necessary to replace the drawing command with the Transparency operation.
処理方法切替部380は、H/Wレンダラ判定部370の結果に応じて、たとえば処理中のフラグを“0”および“1”の何れかに切り替えることで、前述した第1実施形態の処理、すなわち基本パスとしてのTransparency演算を伴う描画命令についての変換可否判定や変換処理を行なうパスを経由させるかどうかを切り替える。 The processing method switching unit 380 switches the flag being processed to either “0” or “1”, for example, according to the result of the H / W renderer determination unit 370, thereby performing the processing of the first embodiment described above. That is, it is switched whether or not to pass through a path for performing conversion determination and conversion processing for a rendering command accompanied by a Transparency operation as a basic path.
これにより、第2実施形態においては、Transparency演算を伴う描画命令をTransparency演算を含まない描画命令に置換するかどうかが、H/Wレンダラが存在するかどうかで切り替わるようになる。したがって、H/Wレンダラが存在する場合には、Transparency演算を伴う描画命令についての変換可否判定や変換処理を割愛して、H/Wに処理を任せることで、処理速度を高速にすることができる。 As a result, in the second embodiment, whether or not to replace the rendering command with the Transparency operation with a rendering command that does not include the Transparency operation is switched depending on whether or not the H / W renderer exists. Therefore, when there is an H / W renderer, it is possible to increase the processing speed by omitting the conversion possibility determination and the conversion processing for the rendering command accompanied by the Transparency operation and leaving the processing to the H / W. it can.
また、第2実施形態においても、H/Wレンダラが存在しないときには、基本パスとして、第1実施形態と同様の処理を行なうことができるから、不都合は生じない。 Also in the second embodiment, when there is no H / W renderer, the same processing as in the first embodiment can be performed as a basic pass, so there is no inconvenience.
<第3実施形態;ホスト側装置での処理>
図8は、本発明に係る描画命令出力装置および画像形成装置を適用した第3実施形態の印刷システムの構成例を示すブロック図である。第3実施形態の印刷システム1は、ホスト側装置に、プリンタドライバからTransparencyコマンドを含むPDLデータを受け取り、Transparency演算を行なう描画処理を、Transparency演算を含まない描画処理に変換するかどうかを判定し、より処理速度の向上が見込まれる選択をするオプションユニットを装着した形態のものである。
<Third Embodiment: Processing in Host-side Device>
FIG. 8 is a block diagram illustrating a configuration example of a printing system according to the third embodiment to which the drawing command output device and the image forming apparatus according to the invention are applied. The printing system 1 according to the third embodiment determines whether or not the host apparatus receives PDL data including the Transparency command from the printer driver and converts the drawing process for performing the Transparency calculation into a drawing process that does not include the Transparency calculation. In this configuration, an optional unit that makes a selection that is expected to improve the processing speed is mounted.
図8(A)に示すように、ホスト側装置100のインタフェース部130の後段に、本発明に係る描画命令出力装置の一例であるインタフェースオプション部140が装着可能に構成している。 As shown in FIG. 8A, an interface option unit 140, which is an example of a drawing command output device according to the present invention, can be attached to the subsequent stage of the interface unit 130 of the host-side device 100.
インタフェースオプション部140は、図8(B)に示すように、インタフェース部130を介して入力されたPDLデータを記憶する描画命令記憶部142と、Transparency演算処理を含む描画命令を、Transparency演算を必要としない描画命令に変換するか否かを判定する変換判定部144と、変換判定部144が描画命令に変換すると判定したときには描画命令記憶部142に記憶しおいたTransparency演算を伴う描画命令をTransparency演算を含まない描画命令に変換する透過命令変換部344とを有する。 As shown in FIG. 8B, the interface option unit 140 needs to perform a transparency calculation with a drawing command storage unit 142 that stores the PDL data input via the interface unit 130 and a drawing command including a transparency calculation process. A conversion determination unit 144 that determines whether or not to convert to a rendering command that does not, and a rendering command that is stored in the rendering command storage unit 142 when the conversion determination unit 144 determines to convert the rendering command to Transparency And a transparent command conversion unit 344 for converting into a drawing command that does not include an operation.
なお、透過命令変換部344は、変換判定部144が描画命令に変換すると判定していなければ、描画命令記憶部142に記憶しおいたTransparency演算を伴う描画命令をそのまま出力する。 Note that the transparent command conversion unit 344 outputs the drawing command accompanied by the Transparency calculation stored in the drawing command storage unit 142 as it is unless the conversion determination unit 144 determines to convert the drawing command.
変換判定部144の機能は第1実施形態の透過命令判定部340の機能と同じである。また、描画命令変換部148の機能は、第1実施形態の透過命令変換部344の機能と同じである。 The function of the conversion determination unit 144 is the same as the function of the transparent command determination unit 340 of the first embodiment. The function of the drawing command conversion unit 148 is the same as the function of the transparent command conversion unit 344 of the first embodiment.
このような構成の第3実施形態の印刷システム1においては、ホスト側装置100に導入されているプリンタドライバPDによって、PCL言語記述の描画命令が生成され、それが一旦描画命令記憶部142に保存される。この後には、第1実施形態と同様にして、描画命令の変換判定処理や、その結果に基づく変換処理を行なう。したがって、この第3実施形態の構成においても、第1実施形態の印刷システム1と同様の効果が得られる。 In the printing system 1 according to the third embodiment having such a configuration, a drawing command for PCL language description is generated by the printer driver PD installed in the host-side device 100 and is temporarily stored in the drawing command storage unit 142. Is done. Thereafter, similarly to the first embodiment, a drawing command conversion determination process and a conversion process based on the result are performed. Therefore, also in the configuration of the third embodiment, the same effect as the printing system 1 of the first embodiment can be obtained.
また。この第3実施形態では、ホスト側装置100側にて、変化処理可否判定と、その結果に基づく変換処理を行なうようにしており、プリンタ装置200側が、第1実施形態のような機能を備えていない場合であっても、実質的に、プリンタ装置200は、第1実施形態の構成と同様の効果が得られる。 Also. In the third embodiment, the host device 100 side performs change processing availability determination and performs conversion processing based on the result, and the printer device 200 has the functions as in the first embodiment. Even if not, the printer device 200 can obtain substantially the same effect as the configuration of the first embodiment.
<第4実施形態;ホスト側装置とプリンタ装置との協働処理>
図9は、本発明の画像処理装置を適用した第4実施形態の印刷システムの一構成例を示すブロック図である。第4実施形態の印刷システム1は、予め描画命令の中に、Transparency演算の不要な描画命令への変換を行なうべきか否かを判断することができる判断指標情報を描画命令と対応付けてプリンタ装置200に出力し、プリンタ装置200における実際の描画展開処理時には、この判断指標情報を参照して、描画命令の解釈処理の手順を変えたりするようにした形態のものである。つまり、ホスト側装置100とプリンタ装置200とが協働して、第1実施形態の構成と同様の機能を果たすようにする。
<Fourth Embodiment; Cooperative Processing of Host Side Device and Printer Device>
FIG. 9 is a block diagram showing a configuration example of a printing system according to the fourth embodiment to which the image processing apparatus of the present invention is applied. The printing system 1 according to the fourth embodiment associates determination index information that can determine whether or not to convert a drawing command into a drawing command that does not require a Transparency calculation in advance with a drawing command. This is output to the apparatus 200, and at the time of the actual drawing development process in the printer apparatus 200, with reference to this judgment index information, the procedure of the interpretation process of the drawing command is changed. That is, the host-side device 100 and the printer device 200 cooperate to perform the same function as the configuration of the first embodiment.
ホスト側装置100は、第1〜第3実施形態と同様の、データ生成部110、中央制御部120、インタフェース部130に加えて、スプーラ部152およびハードディスク装置などの記憶媒体165を備える。中央制御部120には、ホスト側装置100の全体を制御するOSやプリンタ装置200を制御して印刷処理をするためのプリンタドライバがソフトウェアとして組み込まれている。勿論、これらも、ハードウェア要素で構成されていてもよい。図では、これらソフトウェアをハードウェア要素と見なして、OS部150およびプリンタドライバ160で示す。 The host-side device 100 includes a storage medium 165 such as a spooler unit 152 and a hard disk device in addition to the data generation unit 110, the central control unit 120, and the interface unit 130, as in the first to third embodiments. The central control unit 120 incorporates an OS that controls the entire host-side device 100 and a printer driver that controls the printer device 200 and performs printing processing as software. Of course, these may also be constituted by hardware elements. In the figure, these software are regarded as hardware elements, and are indicated by an OS unit 150 and a printer driver 160.
プリンタドライバ160は、OS部150から描画命令を受け取る入力部162、受け取った描画命令などを記憶媒体165に記憶させる記憶制御部164、記憶媒体165に記憶させた1ページ分の描画命令に基づいて判断指標情報(判定情報)として抽出すべき情報を探す描画命令走査部166と、判断指標情報を作成して記憶媒体165に記憶される1ページ分の描画命令の中に埋め込む判断指標情報作成部168と、判断指標情報を埋め込んだ1ページ分の描画命令をホスト側装置100内のスプーラ部152に対して出力する出力部169を有する。 The printer driver 160 is based on an input unit 162 that receives a drawing command from the OS unit 150, a storage control unit 164 that stores the received drawing command and the like in the storage medium 165, and a drawing command for one page stored in the storage medium 165. A drawing command scanning unit 166 that searches for information to be extracted as judgment index information (determination information), and a judgment index information creation unit that creates judgment index information and embeds it in a drawing command for one page stored in the storage medium 165. 168 and an output unit 169 that outputs a drawing command for one page in which the determination index information is embedded to the spooler unit 152 in the host-side device 100.
描画命令走査部166は、プリンタ装置200における描画展開処理時に、Transparency演算を必要とする描画命令からTransparency演算を必要としない描画命令に変換することが可能であるのか不可能であるのかを示す判断指標情報として抽出すべき情報をサーチする。ここで、判断指標情報は、プリンタ装置200における描画命令から印刷データへの変換処理や印刷処理に際して、必要な情報となる。 The drawing command scanning unit 166 determines whether or not it is possible to convert from a drawing command that requires a Transparency operation to a drawing command that does not require a Transparency operation during a drawing development process in the printer device 200. Search for information to be extracted as index information. Here, the determination index information is necessary information for the conversion process from the drawing command to the print data in the printer apparatus 200 and the printing process.
判断指標情報作成部168は、描画命令走査部166によるサーチ結果を参照して、Transparency演算を必要とする描画命令からTransparency演算を必要としない描画命令に変換することが可能であるのか不可能であるのかを示す判断指標情報を生成し、描画命令の中に埋め込む。この判断指標情報作成部168は、判定情報生成部および出力部の両機能を備える。スプーラ部152は、プリンタドライバ160から出力された描画命令を1命令ずつ印字データとして、インタフェース部130を介してプリンタ装置200に送る。 The determination index information creating unit 168 refers to the search result by the drawing command scanning unit 166 and can convert the drawing command that requires the Transparency calculation into a drawing command that does not need the Transparency calculation. Judgment index information indicating whether or not there is generated and embedded in the drawing command. The determination index information creation unit 168 has both functions of a determination information generation unit and an output unit. The spooler unit 152 sends drawing commands output from the printer driver 160 to the printer device 200 via the interface unit 130 as print data one by one.
プリンタ装置200は、CPU210およびインタフェース部230などに加え、インタフェース部230を介して入力された描画命令を受け取る入力部232と、入力部232が受け付けた描画命令を解釈してラスタ画像に展開する展開部400と、インタフェース部230を介して入力された判断指標情報を読み取る判断指標情報読取部410とを備える。展開部400は、第1実施形態の構成におけるPDLデータ解釈部242、レンダリング部270、印刷制御部290など、従来より公知の描画展開処理の機能を備える。 In addition to the CPU 210, the interface unit 230, and the like, the printer device 200 includes an input unit 232 that receives a drawing command input via the interface unit 230, and an expansion that interprets the drawing command received by the input unit 232 and expands the raster image. Unit 400 and a determination index information reading unit 410 that reads determination index information input via the interface unit 230. The development unit 400 includes conventionally known drawing development processing functions such as the PDL data interpretation unit 242, the rendering unit 270, and the print control unit 290 in the configuration of the first embodiment.
このような第4実施形態の構成に依れば、ホスト側装置100に組み込まれたプリンタドライバ150で描画命令を蓄積し、プリンタ装置200で描画命令を解釈するにあたって有用な情報を判断指標情報として描画命令列の中に埋め込んでおき、プリンタ装置200側では、この判断指標情報に基づいて描画展開処理する構成とした。このため、プリンタ装置200では、置換判断のための描画命令の無駄な蓄積領域が不要となり、置換処理のためにプリンタ装置200に用意するメモリ領域を少なく抑えることができる。また判断指標情報を参照して描画展開することができるので、描画命令解釈を行ない易いなどの付加的な効果も得られる。 According to such a configuration of the fourth embodiment, drawing commands are accumulated by the printer driver 150 incorporated in the host-side device 100, and information useful for interpreting the drawing commands by the printer device 200 is used as determination index information. The printer 200 is embedded in the drawing command sequence, and the drawing expansion processing is performed on the printer device 200 side based on the determination index information. For this reason, the printer apparatus 200 does not need a useless storage area for drawing commands for replacement determination, and can reduce the memory area prepared in the printer apparatus 200 for replacement processing. Further, since drawing development can be performed with reference to the determination index information, additional effects such as easy interpretation of drawing commands can be obtained.
<第5実施形態;色段差への対処>
図10は、本発明に係る描画命令出力装置および画像形成装置を適用した第5実施形態の印刷システムの構成例を示すブロック図である。第5実施形態の印刷システム1は、画命令を解釈する際、処理の効率化のために複数の描画命令を低減して、たとえば1つの描画命令に変換したり、より処理に時間の掛らない別の描画命令に変換したりすることで、ROP処理時間を高速化する、たとえば特許文献1,2に記載の技術を組み合わせた点に特徴を有する。
<Fifth Embodiment: Dealing with Color Steps>
FIG. 10 is a block diagram illustrating a configuration example of a printing system according to a fifth embodiment to which a drawing command output device and an image forming apparatus according to the invention are applied. When interpreting an image command, the printing system 1 according to the fifth embodiment reduces a plurality of drawing commands to improve processing efficiency, for example, converts them into one drawing command, or takes more time for processing. For example, the technique described in Patent Documents 1 and 2 is combined to speed up the ROP processing time by converting to another drawing command that is not included.
具体的には、ここでは、第1実施形態と同様に、プリンタ装置200側にて置換処理の要否判定や置換処理を行なう構成とするとともに、特許文献2に記載の技術を組み合わせた構成としている。 Specifically, here, as in the first embodiment, the printer device 200 performs a determination process of necessity of replacement processing and a replacement process, and a configuration in which the technique described in Patent Document 2 is combined. Yes.
たとえば、第5実施形態の印刷システム1においては、プリンタ装置200は、第1実施形態の構成に加えて、論理命令判定部342と論理命令変換部346とを備えている。論理命令判定部342は、透過命令変換部344にて変換処理が行なわれた描画命令について、さらに、描画論理演算指示を解析し、その描画論理演算指示あるいは連続した複数の描画論理演算指示が、論理演算処理を行なわなくても処理可能な指示内容であるか否かを判定する。 For example, in the printing system 1 according to the fifth embodiment, the printer device 200 includes a logical command determination unit 342 and a logical command conversion unit 346 in addition to the configuration of the first embodiment. The logic instruction determination unit 342 further analyzes the drawing logic operation instruction for the drawing command subjected to the conversion processing by the transparent instruction conversion unit 344, and the drawing logic operation instruction or a plurality of continuous drawing logic operation instructions are It is determined whether or not the instruction content can be processed without performing logical operation processing.
この判定は、たとえば描画論理演算指示が特定の描画論理演算指示である場合や、連続する複数の描画論理演算指示が特定の描画論理演算指示のパターンであることを条件とすることができる。また、この判定の際に、その描画論理演算指示によって指示されている論理演算処理の対象となる描画オブジェクトを参照して判定することもできる。 This determination can be made on the condition that, for example, the drawing logic operation instruction is a specific drawing logic operation instruction, or that a plurality of consecutive drawing logic operation instructions are patterns of a specific drawing logic operation instruction. In this determination, the determination can also be made with reference to the drawing object to be subjected to the logical operation processing instructed by the drawing logical operation instruction.
論理命令変換部346は、論理命令判定部342において論理演算処理を行なわなくても処理可能な指示内容であると判定された1〜複数の論理演算指示、その論理演算指示に対応する描画オブジェクトについて、描画論理演算を必要としない指示および描画オブジェクトに変換する。 The logical instruction conversion unit 346 determines one or more logical operation instructions that are determined to be processable contents without performing logical operation processing in the logical instruction determination unit 342, and drawing objects corresponding to the logical operation instructions. , Convert to instructions and drawing objects that do not require drawing logic operations.
このような構成の第5実施形態の印刷システム1においては、インタプリタ部240のPDLデータ解釈部242にTransparency演算を伴う描画命令や描画論理演算指示を含む描画命令が入力されると、PDLデータ解釈部242は、入力された描画命令を描画オブジェクトと描画指示に変換し、ハードディスク装置350の描画オブジェクト格納部350aに格納する。 In the printing system 1 of the fifth embodiment having such a configuration, when a drawing command including a transparency operation or a drawing command including a drawing logic operation instruction is input to the PDL data interpreting unit 242 of the interpreter unit 240, PDL data interpretation is performed. The unit 242 converts the input drawing command into a drawing object and a drawing instruction, and stores it in the drawing object storage unit 350 a of the hard disk device 350.
そして、透過命令判定部340と透過命令変換部344とにより、先ず、第1実施形態と同様にして、Transparency演算を伴う描画命令についての変換可否判定や変換処理を行ない、処理済みの描画命令を論理命令判定部342に渡す。 Then, by using the transparent command determination unit 340 and the transparent command conversion unit 344, first, similarly to the first embodiment, the conversion command for the drawing command accompanied by the Transparency calculation and the conversion processing are performed, and the processed drawing command is processed. It is passed to the logical instruction determination unit 342.
論理命令判定部342は、描画オブジェクト格納部350aに格納されている1つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、描画論理演算処理を行なわなくても描画できる指示内容であるか否かを判定する。判定の結果、描画論理演算処理を行なわなくても処理可能な指示内容であると判断された場合は、論理命令変換部346によって、判定した描画論理演算指示および描画オブジェクトを、描画論理演算を必要としない指示と描画オブジェクトに変換し、後続の処理機能部にその後の処理を継続する。 Whether the logical instruction determination unit 342 has one drawing logical operation instruction or a plurality of continuous drawing logical operation instructions stored in the drawing object storage unit 350a is an instruction content that can be drawn without performing the drawing logical operation process. Determine whether or not. As a result of the determination, if it is determined that the instruction content can be processed without performing the drawing logic operation processing, the logic instruction conversion unit 346 needs to perform the drawing logic operation on the determined drawing logic operation instruction and the drawing object. The instruction is converted to the drawing object and the drawing object, and the subsequent processing function unit continues the subsequent processing.
一方、論理命令判定部342によって描画論理演算処理が必要な指示内容であると判断された場合には、論理命令変換部346は、背景画像データ格納部(図示せず)から背景画像データを読み出し、描画論理演算指示に従い、読み出した背景画像データと描画オブジェクトとの描画論理演算を行なう。この演算が行なわれた結果の画像データは、背景画像データ格納部に書き戻される。 On the other hand, if the logical instruction determination unit 342 determines that the instruction content requires drawing logic operation processing, the logical instruction conversion unit 346 reads background image data from a background image data storage unit (not shown). In accordance with a drawing logic operation instruction, a drawing logic operation between the read background image data and the drawing object is performed. The image data resulting from this calculation is written back to the background image data storage unit.
これにより、第1実施形態と同様の効果が得られることに加えて、ROP処理が必要な命令を不必要な命令に変換して処理することにより、論理演算動作に掛る処理時間を低減することで、高速および高画質の描画処理が可能となる。論理演算処理を含む描画命令について、指示された論理演算処理をそのまま実行することが必要でない場合に、論理演算処理を含まないコマンドに変換して実行することができるので、論理演算処理に掛る時間を省いた高速な画像処理が可能となるし、論理演算処理を行なわないことによって、色段差などの論理演算処理に伴う色変換処理の結果生じる画質上の不具合を回避することができるので、結果として高速な処理と高画質を両立した画像処理が実現できる。 Thereby, in addition to obtaining the same effect as the first embodiment, the processing time required for the logical operation is reduced by converting the instruction that requires ROP processing into the unnecessary instruction and processing it. Thus, high-speed and high-quality drawing processing is possible. When it is not necessary to execute the specified logical operation process as it is for the drawing command including the logical operation process, it can be converted into a command not including the logical operation process and executed, so the time required for the logical operation process High-speed image processing is possible, and by not performing logical operation processing, it is possible to avoid image quality problems caused by color conversion processing associated with logical operation processing such as color steps, so that the result As a result, it is possible to realize image processing that achieves both high-speed processing and high image quality.
図11は、第5実施形態における置換処理の一例を説明する図である。ここでは、 Patternイメージが全画素(全面)黒の場合を示している。 FIG. 11 is a diagram illustrating an example of replacement processing in the fifth embodiment. Here, the case where the pattern image is all pixels (entire surface) black is shown.
Patternイメージ,Sourceイメージともに“Transparent ”が指定されている(S208−YES)、ROPコマンドは上書き(ROP3:TSo=252)である(S210−YES)、 Patternイメージは全画素均一でかつ色は白か黒である(S212−YES)、Sourceイメージは色が白か黒(図の例では黒)で構成されている(S214−YES)ので、図6(A)に示したように、透過命令変換部344にて、Source Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ROP2:8とし、 Patternイメージは定義しない状態とされた描画命令が論理命令判定部342に通知される。 If “Transparent” is specified for both the Pattern image and the Source image (S208—YES), the ROP command is overwritten (ROP3: TSo = 252) (S210—YES), the pattern image is uniform in all pixels, and the color is white Or black (S212-YES), the source image is composed of white or black (black in the example in the figure) (S214-YES), so as shown in FIG. The conversion unit 344 sets both the Source Transparency Mode and the PatternTransparency Mode to “Opaque”, sets ROP2: 8, and notifies the logical command determination unit 342 of a drawing command in which the Pattern image is not defined. .
詳しい説明は割愛するが、ROP2:8は、描画論理演算処理を行なわなくても描画できる指示内容であるので、論理命令判定部342は、描画論理演算処理を行なわなくても処理可能な指示内容であると判断し、論理命令変換部346に変換を指示する。これを受けて、論理命令変換部346は、ROP2:8を対応するROP2:12(上書き)に変換する。 Although detailed description is omitted, since ROP2: 8 is an instruction content that can be drawn without performing the drawing logic operation processing, the logic instruction determination unit 342 can process the instruction content that can be processed without performing the drawing logic operation processing. And the logical instruction conversion unit 346 is instructed to perform conversion. In response to this, the logical instruction conversion unit 346 converts ROP2: 8 into the corresponding ROP2: 12 (overwrite).
こうすることで、Transparency演算だけでなく、論理演算も必要がなくなり、Sourceイメージの黒い部分のみ上書き描画となる。チャートによっては、描画不具合(色段差)も回避できることになり、画質向上に繋がる。 This eliminates the need for not only the Transparency operation but also the logical operation, and only the black portion of the Source image is overwritten. Depending on the chart, drawing defects (color steps) can be avoided, leading to an improvement in image quality.
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。 As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. Various changes or improvements can be added to the above-described embodiment without departing from the gist of the invention, and embodiments to which such changes or improvements are added are also included in the technical scope of the present invention.
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。 Further, the above embodiments do not limit the invention according to the claims (claims), and all combinations of features described in the embodiments are not necessarily essential to the solution means of the invention. Absent. The embodiments described above include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. Even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, as long as an effect is obtained, a configuration from which these some constituent requirements are deleted can be extracted as an invention.
たとえば、上記実施形態では、置換条件にマッチするTransparency演算を伴う描画命令を、比較的に負荷の少ない描画命令に置き換える場合を示したが、このような置換に代えて、描画自体を行なわない構成とすることもできる。 For example, in the above-described embodiment, a case has been described in which a rendering command with a transparency operation that matches a replacement condition is replaced with a rendering command with a relatively low load. However, instead of such replacement, a configuration in which rendering itself is not performed. It can also be.
たとえば、描画オブジェクトがグラフィックスやフォントの場合、ソースイメージがオブジェクトの形状(つまりすべて黒と解釈する)となり、パターンイメージがオブジェクトの色となるため、白色のグラフィックスやフォントを描画する場合は、関係するコマンド群をすべて無効とすることができる。 For example, if the drawing object is a graphic or a font, the source image will be the shape of the object (that is, all will be interpreted as black), and the pattern image will be the color of the object. All related commands can be invalidated.
たとえば、図12は、ソースイメージとして、線や矩形などのグラフィックスもしくはフォント(文字)の場合を例示している。描画命令の中には、図中Tr10およびTr12に示すように、Transparency演算に関わる“Opaque”指定もしくは“Transparent ”指定がある描画命令が含まれている。 For example, FIG. 12 illustrates the case of graphics such as lines and rectangles or fonts (characters) as the source image. The drawing commands include drawing commands having “Opaque” designation or “Transparent” designation related to the Transparency calculation, as indicated by Tr10 and Tr12 in the figure.
図13は、図12に示されるPCL言語記述のPDLデータに対応する、Transparency演算の置換処理の一例を説明する図である。ここでは、色が白か黒のグラフィックスの一例として三角形の場合を示すとともに、図13(A)は、三角形の色が黒の場合を示し、図13(B)は、三角形の色が白の場合を示している。 FIG. 13 is a diagram for explaining an example of the replacement process of the Transparency operation corresponding to the PDL data in the PCL language description shown in FIG. Here, a case of a triangle is shown as an example of white or black graphics, FIG. 13A shows a case where the color of the triangle is black, and FIG. 13B shows a case where the color of the triangle is white. Shows the case.
描画対象がグラフィックスの場合は、Sourceイメージが形状を表し、 Patternイメージに色がセットされる。したがって、三角形の色が黒の場合には、図13(A)に示すように、Sourceイメージで示される三角形の枠内を Patternイメージで示される黒で塗り潰す描画命令になるので、変換後の描画属性としては、Source Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ROP2:8とし、 Patternイメージは定義しない。 If the drawing target is graphics, the Source image represents the shape, and the color is set in the Pattern image. Therefore, when the color of the triangle is black, as shown in FIG. 13A, the drawing command fills the inside of the triangle frame indicated by the Source image with black indicated by the Pattern image. As drawing attributes, both Source Transparency Mode and PatternTransparency Mode are set to “Opaque”, ROP2: 8 is set, and a Pattern image is not defined.
このようにして、描画命令を変換し、中間データ生成部260やレンダリング部270において、SourceイメージとDestination をROP2:8(BGR空間)で描画すると、描画処理結果(Result)としては、Destination イメージ上にSourceイメージの三角形が黒で上書きされた状態となる。変換されたROP2:8を含む描画命令は、変換前のTransparency演算を伴う描画命令に比べると、負荷の少ない描画命令である。 In this way, when the rendering command is converted and the source image and the destination are rendered in ROP 2: 8 (BGR space) in the intermediate data generation unit 260 and the rendering unit 270, the rendering processing result (Result) is the same as that on the destination image. The source image triangle is overwritten with black. The drawing command including the converted ROP2: 8 is a drawing command with less load compared to the drawing command with the Transparency calculation before the conversion.
また、三角形の色が白の場合には、図13(B)に示すように、Sourceイメージで示される三角形の枠内を Patternイメージで示される白で塗り潰す描画命令になるので、実際には、Sourceイメージは全て白となるので、描画しないことと同じ結果となる。したがって、変換後の描画属性としては、描画コマンドをキャンセルして、描画自体を行なわないようにすればよい。 If the triangle color is white, as shown in FIG. 13B, the drawing command fills the triangle frame indicated by the source image with white indicated by the pattern image. Since the source image is all white, the result is the same as not drawing. Therefore, as a drawing attribute after conversion, the drawing command may be canceled so that the drawing itself is not performed.
1…印刷システム、9…伝送路、100…ホスト側装置、110…データ生成部、120…中央制御部、130…インタフェース部、140…インタフェースオプション部、142…描画命令記憶部、144…変換判定部、148…描画命令変換部、150…OS部、160…プリンタドライバ、200…プリンタ装置、201…ROM、202…RAM、210…中央演算制御処理部、230…インタフェース部、240…インタプリタ部、242…PDLデータ解釈部、260…中間データ生成部、270…レンダリング部、290…印刷制御部、300…プリンタエンジン部、308…プリンタIF部、310…メモリ管理部、340…透過命令判定部、342…論理命令判定部、344…透過命令変換部、346…論理命令変換部、350…ハードディスク装置、360…H/Wアクセラレータスロット、370…H/Wレンダラ判定部、380…処理方法切替部 DESCRIPTION OF SYMBOLS 1 ... Printing system, 9 ... Transmission path, 100 ... Host side apparatus, 110 ... Data generation part, 120 ... Central control part, 130 ... Interface part, 140 ... Interface option part, 142 ... Drawing command memory | storage part, 144 ... Conversion determination 148: Drawing command conversion unit, 150 ... OS unit, 160 ... Printer driver, 200 ... Printer device, 201 ... ROM, 202 ... RAM, 210 ... Central processing control processing unit, 230 ... Interface unit, 240 ... Interpreter unit, 242 ... PDL data interpretation unit, 260 ... intermediate data generation unit, 270 ... rendering unit, 290 ... print control unit, 300 ... printer engine unit, 308 ... printer IF unit, 310 ... memory management unit, 340 ... transparency command determination unit, 342 ... Logical instruction determination unit, 344 ... Transparent instruction conversion unit, 346 ... Logical instruction conversion unit, 50 ... hard disk drive, 360 ... H / W accelerator slot, 370 ... H / W renderer determination unit, 380 ... processing method switching unit
Claims (8)
前記透過命令判定部の判定結果が、前記透過演算処理が透過演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、前記透過演算処理を含む描画命令を、透過演算処理を必要としない描画命令に変換する透過命令変換部と
を備えたことを特徴とする描画命令出力装置。 A transparency command determination unit that determines whether or not the transparency calculation process included in the received drawing command is a content that can be processed without performing the transparency calculation process;
On the condition that the determination result of the transparent command determination unit indicates that the transparent calculation processing can be processed without performing the transparent calculation processing, the drawing command including the transparent calculation processing is transmitted transparently. A drawing command output device comprising: a transparent command conversion unit for converting into a drawing command that does not require arithmetic processing.
ことを特徴とする請求項1に記載の描画命令出力装置。 The drawing command output device according to claim 1 , wherein the transparent command conversion unit replaces designation of the transparent calculation processing with a drawing command with a relatively low load.
ことを特徴とする請求項1に記載の描画命令出力装置。 The drawing command output device according to claim 1 , wherein the transparent command conversion unit invalidates designation of the transparent calculation processing and prohibits drawing processing corresponding to the transparent calculation processing.
前記論理命令判定部の判定結果が、前記論理演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、前記透過命令変換部によって前記透過演算処理を必要としない描画命令に変換された描画命令を論理演算を必要としない描画命令に変換する論理命令変換部と
をさらに備えたことを特徴とする請求項1から3のうちの何れか1項に記載の描画命令出力装置。 A logical command determination unit that determines whether or not the drawing command converted into the drawing command that does not require the transparent calculation processing by the transparent command conversion unit is content that can be processed without performing logical calculation processing;
Drawing that does not require the transparent operation processing by the transparent command conversion unit on the condition that the determination result of the logical instruction determination unit indicates that the content can be processed without performing the logical operation processing drawing instruction according to any one of the converted drawing command to the command from claim 1, further comprising a logic command converter for converting the drawing command that does not require logical operation 3 Output device.
をさらに備えたことを特徴とする請求項1から4のうちの何れか1項に記載の描画命令出力装置。 The drawing command output device according to any one of claims 1 to 4 , further comprising: a condition setting unit that sets a determination condition of the transparent command determination unit.
当該描画命令出力装置から出力された描画命令に基づいて画像を所定の記憶媒体に形成する画像形成部と
を備えたことを特徴とする画像形成装置。 A drawing command output device according to any one of claims 1 to 5 ,
An image forming apparatus comprising: an image forming unit configured to form an image on a predetermined storage medium based on a drawing command output from the drawing command output device.
前記コンピュータを、
前記透過演算処理が、透過演算処理を行なわなくても処理可能な内容であるか否かを判定する透過命令判定部と、
前記透過命令判定部の判定結果が、前記透過演算処理が透過演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、前記透過演算処理を含む描画命令を、透過演算処理を必要としない描画命令に変換する透過命令変換部と
して機能させることを特徴とするプログラム。 A program for executing, using a computer, a drawing processing method for receiving a drawing command including a transparent calculation process and performing the drawing process,
The computer,
A transparency command determination unit for determining whether the transparency calculation process is a content that can be processed without performing the transparency calculation process;
On the condition that the determination result of the transparent command determination unit indicates that the transparent calculation processing can be processed without performing the transparent calculation processing, the drawing command including the transparent calculation processing is transmitted transparently. A program that functions as a transparent command conversion unit that converts drawing commands that do not require arithmetic processing.
前記透過演算処理を必要としない描画命令に変換された描画命令が、論理演算処理を行なわなくても処理可能な内容であるか否かを判定する論理命令判定部と、 A logical instruction determination unit that determines whether or not the drawing instruction converted into the drawing instruction that does not require the transparent arithmetic processing is a content that can be processed without performing the logical arithmetic processing;
前記論理命令判定部により、前記論理演算処理を行なわなくても処理可能な内容であると判定された場合には、前記透過演算処理を必要としない描画命令に変換された描画命令を論理演算を必要としない描画命令に変換する論理命令変換部と When the logical instruction determination unit determines that the content can be processed without performing the logical operation processing, the logical operation is performed on the drawing instruction converted into the drawing instruction that does not require the transparent operation processing. A logical instruction conversion unit for converting into unnecessary drawing instructions;
してさらに機能させることを特徴とする請求項7に記載のプログラム。 The program according to claim 7, further functioning.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003426264A JP4461361B2 (en) | 2003-12-24 | 2003-12-24 | Drawing processing method and program, drawing command output device and image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003426264A JP4461361B2 (en) | 2003-12-24 | 2003-12-24 | Drawing processing method and program, drawing command output device and image forming apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005182692A JP2005182692A (en) | 2005-07-07 |
JP4461361B2 true JP4461361B2 (en) | 2010-05-12 |
Family
ID=34785844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003426264A Expired - Fee Related JP4461361B2 (en) | 2003-12-24 | 2003-12-24 | Drawing processing method and program, drawing command output device and image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4461361B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4702533B2 (en) * | 2005-08-11 | 2011-06-15 | 富士ゼロックス株式会社 | Image processing apparatus, image processing program, and storage medium |
JP4717570B2 (en) * | 2005-09-15 | 2011-07-06 | 株式会社リコー | Data transfer device, display device, and data transfer method |
JP4396670B2 (en) * | 2006-07-24 | 2010-01-13 | コニカミノルタビジネステクノロジーズ株式会社 | Image forming apparatus, image forming method, and program |
CN100545831C (en) * | 2006-09-27 | 2009-09-30 | 北京大学 | A kind of grating processing method of transparent page and device |
JP4914318B2 (en) | 2007-09-14 | 2012-04-11 | 株式会社リコー | Image processing apparatus, image processing system, image processing method, program, and recording medium |
JP4561883B2 (en) | 2008-06-19 | 2010-10-13 | コニカミノルタビジネステクノロジーズ株式会社 | Image forming apparatus, program, and image forming processing method |
JP5087525B2 (en) * | 2008-11-19 | 2012-12-05 | 京セラドキュメントソリューションズ株式会社 | Image forming system |
-
2003
- 2003-12-24 JP JP2003426264A patent/JP4461361B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005182692A (en) | 2005-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8422046B2 (en) | Print setting based reprinting | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
JPH11170655A (en) | Method and apparatus for outputting image | |
JPH10297050A (en) | Output controller, output control method, image processor, image processing method, and recording medium | |
JP4250470B2 (en) | Information processing apparatus, information processing method, and print control program | |
JP3962606B2 (en) | Printing command generation apparatus and method, printing apparatus and control method thereof, information processing apparatus, and printing system | |
JP4461361B2 (en) | Drawing processing method and program, drawing command output device and image forming apparatus | |
JP2005316950A (en) | Data processing apparatus, data processing method, printer driver program, print control apparatus, print control method and printing system | |
JPH02301464A (en) | Image output device | |
JP6135329B2 (en) | Print data processing apparatus, program, and system | |
JP2001293936A (en) | Image information processor and method of processing image information | |
JP3823846B2 (en) | Spool file processing apparatus, program, and recording medium | |
JP2006293561A (en) | Printer driver and its printer system | |
JP2011053263A (en) | Image processing device, image processing method, image output system, program and recording medium | |
JP5424546B2 (en) | Image processing apparatus and image forming system | |
JP2000335021A (en) | Image processing apparatus and method | |
JP4280606B2 (en) | Image formation control device, control method therefor, printer driver, print control device, and print control method | |
JP2004021886A (en) | Image processing device and image processing method | |
JP2002133429A (en) | Plotting information processing device, plotting information processing method, and storage medium | |
JP2002024840A (en) | Drawing processing device | |
JPH11235849A (en) | Image processing device, data processing method thereof, and storage medium storing program readable by computer | |
JP4325339B2 (en) | Printing system, host computer and printer driver | |
JP3792881B2 (en) | Image processing apparatus, data processing method for image processing apparatus, and storage medium storing computer-readable program | |
JP4467715B2 (en) | Image output control apparatus and method | |
JPH09218763A (en) | Printing processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061127 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20091009 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091222 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100121 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100203 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4461361 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140226 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |