JP2011025478A - Image forming apparatus, image forming method, program, and recording medium - Google Patents

Image forming apparatus, image forming method, program, and recording medium Download PDF

Info

Publication number
JP2011025478A
JP2011025478A JP2009172300A JP2009172300A JP2011025478A JP 2011025478 A JP2011025478 A JP 2011025478A JP 2009172300 A JP2009172300 A JP 2009172300A JP 2009172300 A JP2009172300 A JP 2009172300A JP 2011025478 A JP2011025478 A JP 2011025478A
Authority
JP
Japan
Prior art keywords
drawing data
data
format
value
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009172300A
Other languages
Japanese (ja)
Inventor
Taiji Yanagida
泰司 柳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009172300A priority Critical patent/JP2011025478A/en
Publication of JP2011025478A publication Critical patent/JP2011025478A/en
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Color, Gradation (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image forming apparatus capable of efficiently reading or writing image plotting data, an image forming method, a program, and a recording medium. <P>SOLUTION: This image forming apparatus 110 includes a divide processing means 234 for dividing image plotting data in accordance with a size of an image data memory for storing the image plotting data, a count processing means 236 for counting the number of colors to be used in each pieces of the image plotting data divided by the divide processing means, an image plotting data storing means 238 for storing each pieces of the image plotting data divided by the divide processing means as intermediate data, a multi-value image plot processing means 240 for generating RGB format image plotting data by using the intermediate data, and a color conversion processing means 242 for converting the RGB format image plotting data generated by the multi-value image plot processing means into CMYK format image plotting data. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、画像形成装置に関し、より詳細には、描画処理を効率化する画像形成装置、画像形成方法、プログラムおよび記録媒体に関する。   The present invention relates to an image forming apparatus, and more particularly to an image forming apparatus, an image forming method, a program, and a recording medium that make drawing processing more efficient.

画像形成装置は、コンピュータ上で作成された文書や画像などを印刷する場合、PDL(Page Description Language)によって文字や図形の位置情報、書式情報などのデータを解析・解読し、ビットマップイメージを作成して紙媒体等に印刷する。画像形成装置がPDLを解析・解読する際に行う描画処理として、透過制御処理がある。透過制御処理とは、背景上に描かれたオブジェクトが透けて、オブジェクトが背景に溶け込んでいるように描画する処理であり、Microsoft社が提供するWindows(登録商標)Vista等のOSで使用されている電子文書規格であるXPS(XML Paper Specification)に基づいた描画処理である。   When printing a document or image created on a computer, the image forming device analyzes and decodes data such as character and graphic position information and format information using PDL (Page Description Language) to create a bitmap image. And printing on a paper medium or the like. There is a transmission control process as a drawing process performed when the image forming apparatus analyzes and decodes the PDL. The transparency control process is a process for drawing an object drawn on the background so that the object is melted into the background, and is used in an OS such as Windows (registered trademark) Vista provided by Microsoft Corporation. Drawing processing based on XPS (XML Paper Specification) which is an electronic document standard.

透過制御処理では、重畳する描画データ(以降、ソースデータとして参照する。)の透過属性情報と、ソースデータが重畳される描画先の画像データ(以降、デスティネーションとして参照する。)の透過属性情報とを使用して、最終的に描画される描画データの色情報を決定する。これらの透過属性情報は、描画データを構成するピクセル毎に保存する必要がある。   In the transparency control process, transparency attribute information of rendering data to be superimposed (hereinafter referred to as source data) and transparency attribute information of rendering destination image data (hereinafter referred to as a destination) on which source data is superimposed. Are used to determine color information of drawing data to be finally drawn. These pieces of transparency attribute information need to be stored for each pixel constituting the drawing data.

また、現在の画像形成装置では、PDLを解析して得られたカラー画像に対して、複数画素単位で階調を表現させるハーフトーン処理が施されている。ハーフトーン処理とは、黒と白の2色だけを用いてハーフトーン(中間色)を表現する技術であり、2値出力の表示装置でグレースケールを表現しようとする技術である。ハーフトーン処理を実行する場合、透過制御処理後にも描画オブジェクトの属性情報が必要となる。   Further, in the current image forming apparatus, a halftone process for expressing gradation in units of a plurality of pixels is performed on a color image obtained by analyzing PDL. Halftone processing is a technique for expressing a halftone (intermediate color) using only two colors of black and white, and is a technique for expressing a gray scale on a binary output display device. When the halftone process is executed, the attribute information of the drawing object is required even after the transparency control process.

したがって、透過制御処理を実行する場合には、描画データの色情報、属性情報、および透過属性情報がピクセル毎に必要となり、RGB24bitで1ピクセル分の描画データを処理するためには、色情報(3バイト)の他、属性情報および透過属性情報のデータをCPUのレジスタにロードする必要がある。   Therefore, when the transparency control process is executed, the color information, attribute information, and transparency attribute information of the drawing data are required for each pixel. In order to process the drawing data for one pixel with RGB 24 bits, the color information ( In addition to (3 bytes), it is necessary to load attribute information and transparent attribute information data into the CPU register.

特許文献1は、入力された描画コマンドをビットマップ画像に描画する描画プレーンを生成する手段と、描画コマンドの画像オブジェクトを描画プレーンに重畳して新たに描画プレーンを生成する手段と、描画コマンドとその属性から画像全体の各ピクセルに対して属性の決定に用いる情報プレーンを生成する手段とを備える画像形成装置を開示する。この画像形成装置は、RGB24bitの描画プレーンおよび3bitの情報プレーンを用いて、RGB24bitからCMYK32bitの色空間変換を行う。したがって、特許文献1の画像形成装置は、1ピクセル分の描画処理を実行するために、少なくとも4バイトのデータ量を処理する。   Japanese Patent Application Laid-Open No. 2004-133830 discloses a means for generating a drawing plane for drawing an input drawing command on a bitmap image, a means for generating a new drawing plane by superimposing an image object of the drawing command on the drawing plane, a drawing command, An image forming apparatus comprising: an information plane used to determine an attribute for each pixel of the entire image from the attribute. This image forming apparatus performs color space conversion from RGB 24-bit to CMYK 32-bit using an RGB 24-bit drawing plane and a 3-bit information plane. Therefore, the image forming apparatus of Patent Document 1 processes a data amount of at least 4 bytes in order to execute a drawing process for one pixel.

一方、現在の画像形成装置で使用されているCPUは通常、32bit(4バイト)のレジスタを含んで構成されている。   On the other hand, the CPU used in the current image forming apparatus is usually configured to include a 32-bit (4-byte) register.

特許文献1に示すような従来の画像形成装置で透過制御処理を実行しようとする場合、色情報および属性情報の他、透過属性情報を含む描画データをレジスタにロードする必要があるため、通常使用されている32bitのレジスタは、1ピクセル分の描画データを1度にロードすることができない。このため、CPUは、RAM等に格納されている描画データを1バイト単位でレジスタにロードして、1ピクセル分の描画データを処理しなければならず、解像度が高い印刷データほど描画処理が非効率的になるという問題があった。   When trying to execute the transparency control process in a conventional image forming apparatus as shown in Patent Document 1, it is necessary to load drawing data including transparency attribute information in addition to color information and attribute information, so that it is normally used. The 32-bit register cannot load drawing data for one pixel at a time. For this reason, the CPU must load the drawing data stored in the RAM or the like into the register in units of 1 byte to process the drawing data for one pixel, and the higher the resolution, the lower the drawing processing. There was a problem of becoming efficient.

したがって、画像形成装置に搭載されたCPUが少ない読み出し回数で効率的に描画データを読み出すことができ、さらに描画データを効率的に画像データメモリに書き込むことができる画像形成装置が必要とされていた。   Therefore, there is a need for an image forming apparatus in which the CPU mounted on the image forming apparatus can efficiently read the drawing data with a small number of reading times and can further write the drawing data into the image data memory. .

本発明は、上述した従来技術の問題点に鑑みてなされたものであり、効率的に描画データを読み出し・書き込み可能な画像形成装置、画像形成方法、プログラムおよび記録媒体を提供することを目的とする。   The present invention has been made in view of the above-described problems of the prior art, and an object thereof is to provide an image forming apparatus, an image forming method, a program, and a recording medium that can efficiently read and write drawing data. To do.

本発明では、上述した問題に対応するために、描画データを処理する画像形成装置は、描画データが格納される画像データメモリのサイズに応じて、描画データを分割する分割処理手段と、分割処理手段が分割した各描画データで使用される色数を計数する計数処理手段と、分割処理手段が分割した各描画データを中間データとして保存する描画データ保存手段と、中間データを使用してRGB形式の描画データを生成する多値描画処理手段と、多値描画処理手段が生成したRGB形式の描画データをCMYK形式の描画データに変換する色変換処理手段とを含む。   In the present invention, in order to cope with the above-described problem, an image forming apparatus that processes drawing data includes a division processing unit that divides drawing data according to the size of an image data memory in which the drawing data is stored, and a division process. Counting processing means for counting the number of colors used in each drawing data divided by the means, drawing data storage means for saving each drawing data divided by the dividing processing means as intermediate data, and RGB format using the intermediate data Multi-value drawing processing means for generating the drawing data, and color conversion processing means for converting the drawing data in the RGB format generated by the multi-value drawing processing means into drawing data in the CMYK format.

中間データには、描画データの色情報と、描画データの属性情報、および描画データが描画される画像データに対する描画データの透過の割合を示す透過属性値とが含まれており、多値描画処理手段は、描画データの色情報および透過属性値を使用して描画データに対して透過制御処理を実行することができる。   The intermediate data includes drawing data color information, drawing data attribute information, and a transparent attribute value indicating a ratio of drawing data transmission to the image data on which the drawing data is drawn. The means can execute the transparency control process on the drawing data using the color information and the transparency attribute value of the drawing data.

また、多値描画処理手段は、描画データが描画される画像データの色情報および透過属性値を使用して、描画データに対して透過制御処理を実行することができる。   Further, the multi-value drawing processing means can execute the transparency control process on the drawing data by using the color information and the transparency attribute value of the image data on which the drawing data is drawn.

さらに、画像形成装置は、描画データの属性情報を使用して、色変換処理手段が生成した描画データに対してハーフトーン処理を実行して、描画データを2値化する2値変換処理手段をさらに備えており、描画データをグレースケールで表現することができる。   Further, the image forming apparatus includes a binary conversion processing unit that binarizes the drawing data by performing halftone processing on the drawing data generated by the color conversion processing unit using the attribute information of the drawing data. Furthermore, drawing data can be expressed in gray scale.

さらに、画像形成装置が備えるCPUが、2回の読み出しで1ピクセル分の描画データを読み取り可能であり、描画処理を効率化することができる。   Further, the CPU included in the image forming apparatus can read the drawing data for one pixel by reading twice, and the drawing processing can be made efficient.

さらに、色変換処理手段は、多値描画処理手段が描画データを生成する際に使用した画像データメモリの同一領域にCMYK形式の描画データを格納し、これにより、画像データメモリへの書き込み処理を効率化することができる。   Furthermore, the color conversion processing means stores the drawing data in the CMYK format in the same area of the image data memory used when the multi-value drawing processing means generates the drawing data, thereby performing the writing process to the image data memory. Efficiency can be improved.

さらに、計数処理手段は、分割された各描画データで使用される色値と、当該色値に関連付けられたインデックスとが登録されるインデックステーブルを作成し、多値描画処理手段は、インデックステーブルを使用して、RGB形式の描画データを生成し、色変換処理手段は、RGB形式およびCMYK形式の色値対応表を用いて、多値描画処理手段が生成したRGB形式の描画データをCMYK形式の描画データに変換して出力データとするため、描画処理に必要とされるデータ量を大幅に削減することができる。   Further, the counting processing unit creates an index table in which color values used in each divided drawing data and an index associated with the color value are registered, and the multi-value drawing processing unit stores the index table. Using the color value correspondence table in the RGB format and the CMYK format, the color conversion processing unit generates the RGB format rendering data in the CMYK format. Since it is converted into drawing data and used as output data, the amount of data required for the drawing process can be greatly reduced.

さらに、描画データの属性情報には、インデックステーブルを用いた描画形式であるインデックス描画形式を指定する情報が含まれており、多値描画処理手段は、インデックス描画形式を指定する情報を使用して、RGB各色8ビットの描画形式およびインデックス描画形式のいずれかを描画形式として選択することができる。   Further, the attribute information of the drawing data includes information specifying an index drawing format that is a drawing format using an index table, and the multi-value drawing processing means uses information specifying the index drawing format. Any one of the 8-bit drawing format of RGB and the index drawing format can be selected as the drawing format.

さらに、多値描画処理手段は、分割された描画データで使用されている色数に応じて、インデックス描画形式を指定することができる。   Further, the multi-value drawing processing means can designate an index drawing format according to the number of colors used in the divided drawing data.

さらに、多値描画処理手段は、分割された描画データ毎に描画形式を選択することができる。   Furthermore, the multi-value drawing processing means can select a drawing format for each divided drawing data.

さらに、多値描画処理手段は、描画データの属性情報にラスターオペレーション処理を指定する値が含まれている場合に、描画データに対してラスターオペレーション処理を実行し、描画データの属性情報に前記透過属性値が含まれている場合に、描画データに対して透過制御処理を実行するため、ラスターオペレーション処理または透過制御処理を選択的に指定することができる。   Further, the multi-value drawing processing means executes the raster operation processing on the drawing data when the attribute information of the drawing data includes a value specifying the raster operation processing, and the transparent information is included in the attribute information of the drawing data. If the attribute value is included, the raster operation process or the transparency control process can be selectively designated in order to execute the transparency control process on the drawing data.

また、本発明は、画像形成装置が、画像データメモリのサイズに応じて描画データを分割し、各描画データで使用される色数を計数し、各描画データを中間データとして保存し、中間データを使用してRGB形式の描画データを生成し、RGB形式の描画データをCMYK形式の描画データに変換する方法を提供する。   Further, according to the present invention, the image forming apparatus divides drawing data according to the size of the image data memory, counts the number of colors used in each drawing data, stores each drawing data as intermediate data, Is used to generate drawing data in RGB format and convert the drawing data in RGB format into drawing data in CMYK format.

さらに、本発明は、画像処理装置を上記機能手段として機能させるためのコンピュータ実行可能なプログラムおよび記録媒体を提供する。 Furthermore, the present invention provides a computer-executable program and a recording medium for causing an image processing apparatus to function as the functional unit.

本発明の画像形成装置100のハードウェア構成の実施形態を示した図。1 is a diagram illustrating an embodiment of a hardware configuration of an image forming apparatus 100 according to the present invention. 本実施形態のコントローラ110の機能ブロック200を示した図。The figure which showed the functional block 200 of the controller 110 of this embodiment. 本実施形態のコントローラ110が実行する描画処理のフローチャート。The flowchart of the drawing process which the controller 110 of this embodiment performs. 従来のPDLの描画命令400Aおよび本実施形態のコントローラ110が使用する描画命令400Bの実施形態を示した図。The figure which showed embodiment of the drawing command 400B which the drawing command 400A of the conventional PDL and the controller 110 of this embodiment use. 描画モジュール・インタフェース232が描画した描画オブジェクトの実施形態を示した図。The figure which showed embodiment of the drawing object which the drawing module interface 232 drawn. 計数処理部236が描画オブジェクトの色を計数するために使用されるカラーテーブルおよび色数管理テーブルの実施形態を示した図。The figure which showed embodiment of the color table and color number management table which are used in order that the count process part 236 counts the color of a drawing object. 中間データとして保存される描画データのデータ構造700Aおよび描画コマンドの対応表700Bを示した図。The figure which showed the data structure 700A and drawing command corresponding table 700B of the drawing data preserve | saved as intermediate data. 描画データが格納される画像データメモリ800のデータ構造を示す概念図。The conceptual diagram which shows the data structure of the image data memory 800 in which drawing data are stored. インデックス描画形式により描画データを処理する際に使用するインデックステーブルの作成処理のフローチャート。6 is a flowchart of processing for creating an index table used when drawing data is processed in an index drawing format. 図9の処理によって作成されたインデックステーブルの実施形態を示した図。The figure which showed embodiment of the index table produced by the process of FIG. インデックス描画形式によって画像データメモリに点順次フォーマットで格納された描画データのデータ構造を示した図。The figure which showed the data structure of the drawing data stored in the image data memory by the dot drawing format by the index drawing format.

以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本発明の画像形成装置100のハードウェア構成の実施形態を示す。画像形成装置100は、ネットワークプリンタやラインプリンタなどの印刷処理装置として機能し、画像形成装置100の制御を行うコントローラ110と、用紙に画像を印刷するためのエンジン140と、ユーザからの入力を受領し、または画像形成装置100の状態を表示するパネル装置150とを含んで構成されている。   Hereinafter, although this invention is demonstrated with embodiment, this invention is not limited to embodiment mentioned later. FIG. 1 shows an embodiment of a hardware configuration of an image forming apparatus 100 of the present invention. The image forming apparatus 100 functions as a print processing apparatus such as a network printer or a line printer, and receives a controller 110 that controls the image forming apparatus 100, an engine 140 that prints an image on paper, and input from a user. Or a panel device 150 that displays the state of the image forming apparatus 100.

コントローラ110は、CPU112と、ROM114とを含んでいる。CPU112は、コントローラ110が実装するプログラムの命令を実行する。ROM114は、コントローラ110上で動作するプログラムを格納する。また、コントローラ110は、RAM116を含んでおり、プログラムが生成するページ空間を提供するページメモリ等の画像データメモリや、プログラムが動作するために必要なワークメモリとして機能する。さらに、コントローラ110は、NVRAM118を含んでおり、NVRAM118は、画像形成装置100の印刷設定条件などを保存する。   The controller 110 includes a CPU 112 and a ROM 114. CPU 112 executes instructions of a program implemented by controller 110. The ROM 114 stores a program that operates on the controller 110. The controller 110 includes a RAM 116 and functions as an image data memory such as a page memory that provides a page space generated by the program, and a work memory necessary for the program to operate. Further, the controller 110 includes an NVRAM 118, and the NVRAM 118 stores print setting conditions of the image forming apparatus 100 and the like.

また、コントローラ110は、ネットワーク・インタフェース(以下、ネットワークI/Fとして参照する。)120とエンジン・インタフェース(以下、エンジンI/Fとして参照する。)122とを含んでおり、ネットワークI/F120は、ネットワークを介してホストPC130とデータ交換を行ない、エンジンI/F122は、エンジン140に対する印刷制御を行う。さらに、コントローラ110は、パネル装置150の制御を行うためのパネル・インタフェース(以下、パネルI/Fとして参照する。)124とを含んでおり、ユーザからの入力を受領して各種処理を実行する。   The controller 110 includes a network interface (hereinafter referred to as a network I / F) 120 and an engine interface (hereinafter referred to as an engine I / F) 122. The network I / F 120 includes: The data exchange with the host PC 130 is performed via the network, and the engine I / F 122 performs print control for the engine 140. Further, the controller 110 includes a panel interface (hereinafter referred to as a panel I / F) 124 for controlling the panel device 150, and receives various inputs from the user and executes various processes. .

さらに、画像形成装置100は、ネットワークを介してホストPC130に接続されており、ホストPC130から印刷指示を受領して印刷処理を行う。ネットワークは、1000Base−TXなどのイーサネット(登録商標)、光ネットワーク、IEEE802.11などの規格に準拠した無線ネットワークを含んで構成することができ、フレームまたはTCP/IPプロトコルに基づくパケット通信によって、相互通信が行われる。ネットワークは、LAN(Local Area Network)などの狭域ネットワークとして構成することができる。   Further, the image forming apparatus 100 is connected to the host PC 130 via a network, and receives a print instruction from the host PC 130 and performs print processing. The network can be configured to include a wireless network complying with a standard such as Ethernet (registered trademark) such as 1000Base-TX, an optical network, IEEE802.11, etc., and can be mutually connected by packet communication based on a frame or TCP / IP protocol. Communication takes place. The network can be configured as a narrow area network such as a LAN (Local Area Network).

図2は、本実施形態のコントローラ110の機能ブロック200を示した図である。コントローラ110は、PDL(Page Description Language)の構文解析を行うPDLパーサ220と、描画処理を行う描画コア230とを含んで構成されている。PDLパーサ220は、ホストPC130から受領した印刷データに含まれるPDLの構文解析を行う。PDLパーサ220は、Post ScriptやPDF、PCL、XPSなどの様々なページ記述言語を解析可能であり、描画コア230を呼び出して描画処理を実行させることにより、PDLの種類に関わらず描画が可能である。   FIG. 2 is a diagram illustrating a functional block 200 of the controller 110 according to the present embodiment. The controller 110 includes a PDL parser 220 that performs PDL (Page Description Language) syntax analysis and a drawing core 230 that performs drawing processing. The PDL parser 220 performs syntax analysis of PDL included in the print data received from the host PC 130. The PDL parser 220 can analyze various page description languages such as Post Script, PDF, PCL, and XPS, and can perform drawing regardless of the type of PDL by calling the drawing core 230 to execute drawing processing. is there.

描画コア230は、描画モジュール・インタフェース(以下、描画モジュールI/Fとして参照する。)232と、分割処理部234と、計数処理部236と、描画データ保存部238とを含んでいる。描画モジュールI/F232は、PDLパーサ220からテキスト、イメージ、ベクターグラフィックス等の描画データや、色、ブラシ、透過属性情報である透過属性値、線形状等の描画設定情報を受領するインタフェースであり、描画データや描画設定情報を設定可能なインタフェース関数を備えている。描画コア230は、当該インタフェース関数を用いてPDLから描画データを生成する。なお、インタフェース関数については、より詳細に後述する。   The drawing core 230 includes a drawing module interface (hereinafter referred to as a drawing module I / F) 232, a division processing unit 234, a counting processing unit 236, and a drawing data storage unit 238. The drawing module I / F 232 is an interface that receives drawing data such as text, images, and vector graphics from the PDL parser 220, and drawing setting information such as color, brush, transmission attribute value that is transmission attribute information, and line shape. Interface functions that can set drawing data and drawing setting information are provided. The drawing core 230 generates drawing data from the PDL using the interface function. The interface function will be described in detail later.

分割処理部234は、コントローラ110が1ページ分の描画データを格納可能なメモリを確保できない場合に、ページメモリ等の画像データメモリが格納可能な大きさに描画データを分割する。具体的には、分割処理部234は、描画モジュールI/F232が描画するデータである描画オブジェクトをバンド高さに応じて分割する。バンド高さとは、描画オブジェクトが描画される画像データであるデスティネーションをy軸方向に分割した領域の幅であり、画像データメモリが格納可能な描画データのデータ量によって決められる。なお、分割処理部234の分割処理については、より詳細に後述する。   When the controller 110 cannot secure a memory that can store drawing data for one page, the dividing processing unit 234 divides the drawing data into a size that can be stored in an image data memory such as a page memory. Specifically, the division processing unit 234 divides a drawing object which is data drawn by the drawing module I / F 232 according to the band height. The band height is the width of an area obtained by dividing a destination, which is image data on which a drawing object is drawn, in the y-axis direction, and is determined by the amount of drawing data that can be stored in the image data memory. Note that the division processing of the division processing unit 234 will be described later in more detail.

計数処理部236は、分割処理部234が分割した各描画オブジェクトを構成する色の数である色数を計数する。計数処理部236は、計数した色数をバンドに関連付けて色数管理テーブルに登録する。また、計数処理部236は、計数した色数がしきい値以下の場合には、後述するインデックステーブルを作成する。しきい値は、RGBの各色を8ビットで表現される色数よりも少ない値、例えば、2、4、16、128、256等とすることができる。したがって、1ピクセルの描画データを表現するのに24ビットの画像データメモリを必要とするRGBの各色8ビットの表現形式に比べて、インデックステーブルを用いて描画データを表現するインデックス形式は、使用する画像データメモリのデータ量を大幅に削減することができる。   The count processing unit 236 counts the number of colors that is the number of colors constituting each drawing object divided by the division processing unit 234. The counting processing unit 236 registers the counted number of colors in the color number management table in association with the band. In addition, the counting processing unit 236 creates an index table to be described later when the counted number of colors is equal to or less than a threshold value. The threshold value may be a value smaller than the number of colors represented by 8 bits for each color of RGB, for example, 2, 4, 16, 128, 256, and the like. Therefore, an index format that represents rendering data using an index table is used in comparison with an 8-bit rendering format for each color of RGB that requires a 24-bit image data memory to represent 1-pixel rendering data. The amount of data in the image data memory can be greatly reduced.

描画データ保存部238は、分割処理部234が分割した描画データを中間データとしてRAM等のメモリまたはHDD等の主記憶装置に保存する。なお、計数処理部236の計数処理、インデックステーブル作成処理、および保存される中間データの詳細については、より詳細に後述する。   The drawing data storage unit 238 stores the drawing data divided by the division processing unit 234 as intermediate data in a memory such as a RAM or a main storage device such as an HDD. The details of the counting process of the counting processing unit 236, the index table creation process, and the intermediate data to be stored will be described later in more detail.

さらに、描画コア230は、多値描画処理部240と、色変換処理部242と、2値変換処理部244とを含んでいる。多値描画処理部240は、中間データとして保存されている描画データおよびデスティネーションの描画データを用いて、描画対象であるオブジェクトの描画データを生成し、各色8ビットのRGBカラーデータとして画像データメモリに格納する。また、多値描画処理部240は、描画形式がインデックス形式である場合、計数処理部236が作成したインデックステーブルを用いて描画データを画像データメモリに格納する。   Further, the drawing core 230 includes a multi-value drawing processing unit 240, a color conversion processing unit 242, and a binary conversion processing unit 244. The multi-value drawing processing unit 240 generates drawing data of an object to be drawn using drawing data stored as intermediate data and destination drawing data, and image data memory as RGB color data of 8 bits for each color. To store. Further, when the drawing format is an index format, the multi-value drawing processing unit 240 stores the drawing data in the image data memory using the index table created by the counting processing unit 236.

色変換処理部242は、多値描画処理部240が画像データメモリに格納した描画データに対して色変換処理を実行して、RGB形式の描画データを、デバイスの色特性に適合したCMYK形式の描画データに変換し、画像データメモリを更新する。また、色変換処理部242は、描画形式がインデックス形式である場合、RBG形式の色値とCMYK形式の色値との対応表を用いて、描画データをRGB形式からCMYK形式に変換する。   The color conversion processing unit 242 performs color conversion processing on the drawing data stored in the image data memory by the multi-value drawing processing unit 240, and converts the drawing data in RGB format into CMYK format that matches the color characteristics of the device. It converts to drawing data and updates the image data memory. Further, when the drawing format is the index format, the color conversion processing unit 242 converts the drawing data from the RGB format to the CMYK format by using a correspondence table between the RBG format color values and the CMYK format color values.

2値変換処理部244は、画像データメモリからCMYK形式の描画データおよび属性データを受領し、属性データを用いて、描画オブジェクト毎にディザ法や誤差拡散法などによる階調処理、ディザリング処理等のハーフトーン処理を実行して、描画データを2値形式に変換する。属性データには、オブジェクトの種類、例えば、当該オブジェクトを構成する各ピクセルがイメージ、文字、塗りつぶし図形、線等であるかを示すフラグ情報が含まれている。本実施形態のハーフトーン処理では、オブジェクトの各ピクセルの色と、ハーフトーンパターンまたはディザパターンの閾値とを比較し、当該ピクセルの色が閾値以上である場合には、属性データからオブジェクトの種類を判断し、当該オブジェクトに適したハーフトーンパターンを用いてハーフトーン処理を行う。   The binary conversion processing unit 244 receives drawing data and attribute data in the CMYK format from the image data memory, and uses the attribute data to perform gradation processing, dithering processing, etc. for each drawing object using a dither method or an error diffusion method. The halftone process is executed to convert the drawing data into a binary format. The attribute data includes flag information indicating the type of object, for example, whether each pixel constituting the object is an image, a character, a filled figure, a line, or the like. In the halftone process of this embodiment, the color of each pixel of the object is compared with the threshold value of the halftone pattern or dither pattern. If the color of the pixel is equal to or greater than the threshold value, the object type is determined from the attribute data. Judgment is performed, and halftone processing is performed using a halftone pattern suitable for the object.

図3は、本実施形態のコントローラ110が実行する描画処理のフローチャートを示す。以下、図3を参照して、コントローラ110の描画処理について説明する。   FIG. 3 shows a flowchart of the drawing process executed by the controller 110 of this embodiment. Hereinafter, the drawing process of the controller 110 will be described with reference to FIG.

図3の処理は、画像形成装置100がホストPC130から印刷データを受領することにより開始する。図3の処理は、ステップS300から開始し、ステップS301では、画像形成装置100のコントローラ110に実装されているPDLパーサ220が、受領した印刷データに含まれるページ記述言語を解析する。ステップS302は、PDLパーサ220が、描画コア230に含まれる描画モジュールI/F232をコールして描画処理を実行する。   The process in FIG. 3 starts when the image forming apparatus 100 receives print data from the host PC 130. The processing in FIG. 3 starts from step S300. In step S301, the PDL parser 220 mounted on the controller 110 of the image forming apparatus 100 analyzes the page description language included in the received print data. In step S302, the PDL parser 220 calls the drawing module I / F 232 included in the drawing core 230 to execute the drawing process.

ステップS303では、分割処理部234が、ステップS302で生成された描画オブジェクトを特定のバンド高さ毎に分割する。ステップS304では、計数処理部236が、後述するカラーテーブルを使用して、分割された各描画オブジェクトの色数を計数する。ステップS305では、計数処理部236が、ステップS304で計数した色数がしきい値以下であるか判断し、色数がしきい値以下である場合には(yes)、処理をステップS306に分岐する。ステップS306では、計数処理部236が、後述するインデックステーブルを作成する。一方、ステップS305の判定で、色数がしきい値よりも大きいと判断された場合には(no)、処理をステップS307に分岐する。   In step S303, the division processing unit 234 divides the drawing object generated in step S302 for each specific band height. In step S304, the counting processing unit 236 counts the number of colors of each divided drawing object using a color table described later. In step S305, the counting processing unit 236 determines whether the number of colors counted in step S304 is equal to or smaller than the threshold value. If the number of colors is equal to or smaller than the threshold value (yes), the process branches to step S306. To do. In step S306, the count processing unit 236 creates an index table to be described later. On the other hand, if it is determined in step S305 that the number of colors is larger than the threshold value (no), the process branches to step S307.

ステップS307では、描画データ保存部238が、分割された描画データおよび描画設定情報を中間データとして保存する。ステップS308では、多値描画処理部240が中間データを取得し、描画形式がインデックス形式であるか否か判断する。ステップS308の判定で、描画形式がインデックス形式でないと判断された場合(no)、処理をステップS309に分岐させる。ステップS309では、多値描画処理部240が、描画データを画像データメモリに描画する。ステップS310では、色変換処理部242が、出力デバイスの色特性に合わせて描画データの色変換を行う。   In step S307, the drawing data storage unit 238 stores the divided drawing data and drawing setting information as intermediate data. In step S308, the multi-value drawing processing unit 240 acquires intermediate data and determines whether the drawing format is an index format. If it is determined in step S308 that the drawing format is not the index format (no), the process branches to step S309. In step S309, the multilevel drawing processing unit 240 draws drawing data in the image data memory. In step S310, the color conversion processing unit 242 performs color conversion of drawing data in accordance with the color characteristics of the output device.

一方、ステップS308の判定で、描画形式がインデックス形式であると判断された場合(yes)、処理をステップS311に分岐させる。ステップS311では、多値描画処理部240が、インデックステーブルを用いて描画データを画像データメモリに描画する。ステップS312では、色変換処理部242が、RGB形式およびCMYK形式の色値対応表を用いて、描画データをRGB形式からCMYK形式に変換する。   On the other hand, if it is determined in step S308 that the drawing format is the index format (yes), the process branches to step S311. In step S311, the multilevel drawing processing unit 240 draws drawing data in the image data memory using the index table. In step S312, the color conversion processing unit 242 converts the drawing data from the RGB format to the CMYK format using the color value correspondence table in the RGB format and the CMYK format.

ステップS313では、2値変換処理部244が、色変換処理部242が変換した描画データに対してハーフトーン処理を実行して2値形式に変換し、ステップS314で処理を終了する。   In step S313, the binary conversion processing unit 244 performs halftone processing on the drawing data converted by the color conversion processing unit 242 to convert it into a binary format, and the process ends in step S314.

図4は、従来のPDLの描画命令400Aおよび本実施形態のコントローラ110が使用する描画命令400Bの実施形態を示した図である。描画命令400Aは、Post Scriptで使用される描画命令である。描画命令400Aは、カラースペースとしてRGBカラースペースが指定されており、色値(0.5,0.0,0.0)が指定されている。また、描画命令400Aは、対角の座標(100,100)および座標(200,200)を指定して矩形を描画する。   FIG. 4 is a diagram showing an embodiment of a conventional PDL drawing command 400A and a drawing command 400B used by the controller 110 of this embodiment. The drawing command 400A is a drawing command used in Post Script. In the rendering command 400A, the RGB color space is designated as the color space, and the color value (0.5, 0.0, 0.0) is designated. The drawing command 400A draws a rectangle by designating diagonal coordinates (100, 100) and coordinates (200, 200).

描画命令400Bには、描画データの色指定を行うインタフェース関数setcolorと、矩形を描画するインタフェース関数rectangleとが含まれている。インタフェース関数setcolorは、第1引数でカラースペースを指定し、第2〜第4引数で描画データの色値を0.0〜1.0の範囲で指定する。本実施形態では、カラースペースとしてRGBカラースペースが指定されており、色値(0.5,0.0,0.0)が指定されている。   The drawing command 400B includes an interface function setcolor for specifying the color of drawing data and an interface function rectangle for drawing a rectangle. The interface function setcolor specifies a color space with a first argument, and specifies a color value of drawing data with a second to fourth argument in a range of 0.0 to 1.0. In the present embodiment, an RGB color space is designated as the color space, and a color value (0.5, 0.0, 0.0) is designated.

インタフェース関数rectangleは、描画データとされるべき値を引数として対角の座標(100,100)および座標(200,200)が指定された矩形を描画するインタフェース関数である。これらのインタフェース関数をコールすることにより、上述したPost Scriptの描画命令が生成する描画データと同じ描画データを生成することができる。   The interface function “rectangle” is an interface function that draws a rectangle in which diagonal coordinates (100, 100) and coordinates (200, 200) are designated with a value to be rendered data as an argument. By calling these interface functions, it is possible to generate the same drawing data as the drawing data generated by the Post Script drawing command described above.

図5は、描画モジュールI/F232が描画した描画オブジェクトの実施形態を示した図である。以下、図5を参照して、分割処理部234の描画データの分割処理について説明する。   FIG. 5 is a diagram showing an embodiment of a drawing object drawn by the drawing module I / F 232. Hereinafter, with reference to FIG. 5, the drawing data dividing process of the dividing processing unit 234 will be described.

図5には、描画オブジェクト510、520が示されている。図5の実施形態では、バンド高さを256としており、Y座標が0〜255をバンド0、Y座標が256〜512をバンド1として規定している。描画オブジェクト510は、インタフェース関数rectangleに引数(100,100,200,200)を設定して描画されたデータである。図5に示すように、描画オブジェクト510は、Y座標が0〜255の範囲に収まるため、バンド0に分類される。   FIG. 5 shows drawing objects 510 and 520. In the embodiment of FIG. 5, the band height is set to 256, the Y coordinate is defined as 0 for band 0 to 255, and the Y coordinate is defined as band 1 for 256 to 512. The drawing object 510 is data drawn by setting an argument (100, 100, 200, 200) to the interface function “rectangle”. As shown in FIG. 5, the drawing object 510 is classified into the band 0 because the Y coordinate falls within the range of 0 to 255.

描画オブジェクト520は、インタフェース関数rectangleに引数(100,100,300,300)を設定して描画されたデータである。図5に示すように、描画オブジェクト520は、バンド高さを規定する境界を跨って存在する。したがって、本実施形態の場合、分割処理部234は、描画オブジェクト520を、描画オブジェクト522と描画オブジェクト524とに分割する。本実施形態では、描画オブジェクト522はバンド0に分類され、描画オブジェクト524はバンド1に分類される。なお、本実施形態では、バンド高さを256としているが、画像データメモリに格納可能な限り、任意の大きさにすることができる。また、本実施形態では、座標の原点を左下にして説明しているが、他の実施形態では、原点を左上に規定することもできる。   The drawing object 520 is data drawn by setting an argument (100, 100, 300, 300) to the interface function “rectangle”. As shown in FIG. 5, the drawing object 520 exists across the boundary that defines the band height. Therefore, in the present embodiment, the division processing unit 234 divides the drawing object 520 into the drawing object 522 and the drawing object 524. In the present embodiment, the drawing object 522 is classified into band 0 and the drawing object 524 is classified into band 1. In the present embodiment, the band height is 256, but the band height can be arbitrarily set as long as it can be stored in the image data memory. In the present embodiment, the origin of coordinates is described with the lower left. However, in other embodiments, the origin can be defined as the upper left.

分割処理部234は、画像データメモリに格納可能なデータ量の描画データ、本実施形態では、描画オブジェクト510、520に分割する。そして、多値描画処理部240が、描画データのうちの一つ、例えば、描画オブジェクト510を画像データメモリに格納する。その他の描画データ、例えば、描画オブジェクト520は、圧縮して画像データメモリ以外のRAMに格納するか、またはHDDに待避しておく。描画データ510の描画処理が終了した場合には、描画データ510は圧縮されて画像データメモリ以外のRAMに格納され、またはHDDに格納される。そして、多値描画処理部240は、圧縮された描画データ520を解凍して画像データメモリにロードし、またはHDDから画像データメモリに描画データをロードする。   The division processing unit 234 divides the drawing data into an amount of drawing data that can be stored in the image data memory, in this embodiment, drawing objects 510 and 520. Then, the multi-value drawing processing unit 240 stores one of the drawing data, for example, the drawing object 510 in the image data memory. Other drawing data, for example, the drawing object 520 is compressed and stored in a RAM other than the image data memory, or saved in the HDD. When the drawing process of the drawing data 510 is completed, the drawing data 510 is compressed and stored in a RAM other than the image data memory, or stored in the HDD. Then, the multi-value drawing processing unit 240 decompresses the compressed drawing data 520 and loads it into the image data memory, or loads drawing data from the HDD into the image data memory.

図6は、計数処理部236が描画オブジェクトの色を計数するために使用されるカラーテーブルおよび色数管理テーブルの実施形態を示した図である。以下、図6を参照して、カラーテーブル610および色数管理テーブル620について説明する。図6で説明する各種データおよび各種データに対して施す処理によって、本実施形態の色変換処理が行われる。   FIG. 6 is a diagram illustrating an embodiment of a color table and a color number management table used by the counting processing unit 236 to count the colors of the drawing objects. Hereinafter, the color table 610 and the color number management table 620 will be described with reference to FIG. The color conversion processing according to the present embodiment is performed by various data described in FIG. 6 and processing performed on the various data.

カラーテーブル610はハッシュテーブルであり、描画オブジェクトで使用されている色を示す色値を元に生成されたハッシュ値であるインデックス値612を添え字とした配列である。本実施形態のカラーテーブル610は、256の配列が結合されたデータ構造を有しており、各配列には、描画オブジェクトで使用されている色を示す色値がリスト形式で格納される。   The color table 610 is a hash table, and is an array in which an index value 612 that is a hash value generated based on a color value indicating a color used in a drawing object is a subscript. The color table 610 of this embodiment has a data structure in which 256 arrays are combined, and each array stores color values indicating colors used in the drawing object in a list format.

本実施形態では、インデックス値612は、描画オブジェクトで使用されている色の色値を元に算出される。具体的には、描画オブジェクトを構成するピクセルの色値がRGB(255,0,0)である場合、これらの値の総和をハッシュテーブルサイズで除したときに得られる剰余(モジュロ)をハッシュ値とする。すなわち、RGB(255,0,0)の場合、色値の総和(255+0+0)をハッシュテーブルサイズ(256)で除して得られた剰余(255)がハッシュ値、すなわちインデックス値である。したがって、色値(255,0,0)は、インデックス値(255)に関連付けられた配列616に格納される。   In the present embodiment, the index value 612 is calculated based on the color value of the color used in the drawing object. Specifically, when the color value of the pixel constituting the drawing object is RGB (255, 0, 0), the remainder (modulo) obtained by dividing the sum of these values by the hash table size is the hash value. And That is, in the case of RGB (255, 0, 0), the remainder (255) obtained by dividing the sum of color values (255 + 0 + 0) by the hash table size (256) is the hash value, that is, the index value. Accordingly, the color value (255, 0, 0) is stored in the array 616 associated with the index value (255).

同様に、色値がRGB(0,0,255)である場合、色値の総和(0+0+255)をハッシュテーブルサイズ(256)で除して得られた剰余(255)がインデックス値であり、色値(0,0,255)は、当該インデックス値に関連付けられた配列618に新たなリストとして追加される。なお、同一の色値がカラーテーブルに既に登録されている場合には、当該色値は登録されない。   Similarly, when the color value is RGB (0, 0, 255), the remainder (255) obtained by dividing the sum (0 + 0 + 255) of the color value by the hash table size (256) is the index value, and the color The value (0, 0, 255) is added as a new list to the array 618 associated with the index value. If the same color value is already registered in the color table, the color value is not registered.

計数処理部236は、バンド単位で分割された各描画オブジェクトのカラーテーブルを作成し、カラーテーブルに登録された色値の数を計数する。そして、計数処理部236は、計数された数を当該描画オブジェクトで使用されている色の数として、色数管理テーブル620に登録する。   The counting processing unit 236 creates a color table for each drawing object divided in band units, and counts the number of color values registered in the color table. Then, the counting processing unit 236 registers the counted number in the color number management table 620 as the number of colors used in the drawing object.

色数管理テーブル620は、各バンドで使用されている色の数を登録するデータテーブルである。色数管理テーブル620のバンド622には、分割処理部234が生成したバンドを固有に識別するバンド名が登録される。色数624には、各バンドで使用される色の数が、バンド名に関連付けられて登録される。   The color number management table 620 is a data table for registering the number of colors used in each band. A band name that uniquely identifies the band generated by the division processing unit 234 is registered in the band 622 of the color number management table 620. In the number of colors 624, the number of colors used in each band is registered in association with the band name.

図7は、描画データ保存部238が中間データとして保存する描画データのデータ構造700Aおよび描画モジュールI/F232が発行する描画コマンドの対応表700Bを示した図である。以下、図7を参照して、中間データについて説明する。   FIG. 7 is a diagram illustrating a data structure 700A of drawing data stored as intermediate data by the drawing data storage unit 238 and a correspondence table 700B of drawing commands issued by the drawing module I / F 232. Hereinafter, the intermediate data will be described with reference to FIG.

中間データは、分割処理部234が分割した各描画オブジェクトの属性情報、描画位置情報およびイメージデータ等を含むデータであり、FIFO(First In First Out)形式により、RAMやHDD等の記憶装置に格納される。中間データは、描画オブジェクトの属性情報であるグラフィックス状態(GStatus)が格納されるレコード710と、描画モジュールI/F232が発行する描画コマンドのID番号722、パッディングバイト724および描画コマンドの属性情報(flag)726が格納されるレコード720と、描画コマンドによって生成される描画データの位置情報が格納されるレコード730とが含まれる。   The intermediate data is data including attribute information, drawing position information, image data, and the like of each drawing object divided by the division processing unit 234, and is stored in a storage device such as a RAM or HDD in a FIFO (First In First Out) format. Is done. The intermediate data includes a record 710 in which a graphics state (GStatus) that is attribute information of a drawing object is stored, an ID number 722 of a drawing command issued by the drawing module I / F 232, a padding byte 724, and attribute information of the drawing command. A record 720 in which (flag) 726 is stored and a record 730 in which position information of drawing data generated by the drawing command is stored are included.

レコード710に格納されるグラフィックス状態には、描画オブジェクトのカラースペース、色値、透過属性値、ラスターオペレーション(Raster Operation値(以降、ROP値として参照する。)、線幅および描画形式情報などの属性情報が含まれる。描画形式情報とは、描画オブジェクトをRGB形式によって描画する方法か、インデックス形式によって描画する方法かを選択するための情報である。   The graphics state stored in the record 710 includes the color space, color value, transparency attribute value, raster operation (Raster Operation value (hereinafter referred to as ROP value)), line width, and drawing format information of the drawing object. Attribute information is included.The drawing format information is information for selecting whether to draw a drawing object in the RGB format or to draw in the index format.

図5を参照して説明した描画コマンドsetcolor(RGBColor,0.5,0.0,0.0)の場合、RGBカラースペースおよび色値(0.5,0.0,0.0)が、グラフィックス状態として設定される。なお、同一のバンド内で複数の色が使用されている場合には、複数の色値をグラフィックス状態として設定することができる。   In the case of the drawing command setcolor (RGBColor, 0.5, 0.0, 0.0) described with reference to FIG. 5, the RGB color space and the color value (0.5, 0.0, 0.0) are Set as graphics state. When a plurality of colors are used in the same band, a plurality of color values can be set as the graphics state.

レコード720に含まれる描画コマンドのID番号722には、描画モジュールI/F232が発行する描画コマンドの種類が設定される。対応表700Bには、描画コマンドのID番号と描画コマンドとの対応関係が示されている。本実施形態では、ID=0x00は、矩形を描画するコマンドであるRectangleを示し、ID=0x01は、直線を描画するコマンドであるLineDrawを示している。また、ID=0x02は、直線で囲まれた領域を塗りつぶすコマンドであるLineFillを示しており、ID=0x03は、イメージを描画するコマンドであるImageを示している。さらに、ID=0x04は、文字を描画するコマンドであるTextを示している。   A drawing command type issued by the drawing module I / F 232 is set in the drawing command ID number 722 included in the record 720. The correspondence table 700B shows the correspondence between the ID number of the drawing command and the drawing command. In this embodiment, ID = 0x00 indicates Rectangle, which is a command for drawing a rectangle, and ID = 0x01 indicates LineDraw, which is a command for drawing a straight line. ID = 0x02 indicates LineFill which is a command for painting an area surrounded by a straight line, and ID = 0x03 indicates Image which is a command for drawing an image. Further, ID = 0x04 indicates Text that is a command for drawing a character.

描画コマンドの属性情報(flag)726には、例えば、描画コマンドRectangleをClipとする場合に、クリッピングの有効を示す情報などが含まれ、ビット操作により当該属性情報を指定することができる。   The drawing command attribute information (flag) 726 includes, for example, information indicating that clipping is effective when the drawing command Rectangle is set to Clip, and the attribute information can be designated by bit operation.

レコード730には、描画コマンドによって生成される描画オブジェクトの位置情報が格納され、図5を参照して説明した描画コマンドRectangle(100,100,200,200)の場合、引数として指定された描画オブジェクトの左下座標(100,100)および右上座標(200,200)が、それぞれレコード732、レコード734、レコード736およびレコード738に登録される。   The record 730 stores the position information of the drawing object generated by the drawing command. In the case of the drawing command Rectangle (100, 100, 200, 200) described with reference to FIG. 5, the drawing object specified as an argument is stored. Lower left coordinates (100, 100) and upper right coordinates (200, 200) are registered in record 732, record 734, record 736 and record 738, respectively.

また、レコード740には、別のバンドの描画データが中間データとして登録されている。当該描画データの描画コマンドID742は、テキストを描画するコマンドが設定されており、そのテキストの描画位置が、レコード744およびレコード746で指定される。レコード748には、EUC−JPやShift_JIS、UTF−8などのテキストの文字コードが登録される。レコード750は、描画される文字の大きさが登録され、文字の大きさを指定するポイント等の値が設定される。   In the record 740, drawing data of another band is registered as intermediate data. The drawing command ID 742 of the drawing data is set with a command for drawing text, and the drawing position of the text is designated by a record 744 and a record 746. In the record 748, a character code of a text such as EUC-JP, Shift_JIS, UTF-8 or the like is registered. In the record 750, the size of a character to be drawn is registered, and a value such as a point specifying the size of the character is set.

さらに、レコード760には、他のバンドの描画データが中間データとして登録されている。当該描画データの描画コマンドID762は、イメージを描画するコマンドが設定されており、そのイメージの描画位置が、レコード764およびレコード766で指定される。レコード768には、描画されるイメージデータが設定される。レコード768には、描画されるイメージデータが格納されたメモリ領域のアドレスや圧縮されたイメージデータ、非圧縮のイメージデータなどを格納することができる。   Further, in the record 760, drawing data of other bands are registered as intermediate data. A drawing command ID 762 of the drawing data is set with a command for drawing an image, and the drawing position of the image is designated by a record 764 and a record 766. In the record 768, image data to be drawn is set. The record 768 can store an address of a memory area where image data to be drawn is stored, compressed image data, uncompressed image data, and the like.

なお、本実施形態では、座標の原点が左下に位置することを前提にして描画オブジェクトの描画位置を説明しているが、他の実施形態では、原点を左上に規定して描画位置を指定することができる。   In the present embodiment, the drawing position of the drawing object is described on the assumption that the origin of the coordinates is located at the lower left. However, in other embodiments, the drawing position is specified by defining the origin at the upper left. be able to.

図8は、描画データが格納される画像データメモリ800のデータ構造を示す概念図である。図8に示す画像データメモリ800は、各ピクセルのRGB色情報が点順次フォーマットで格納されるメモリ領域であるRGBプレーン810と、各ピクセルの属性値が格納されるメモリ領域である属性プレーン820と、デスティネーションの各ピクセルの透過属性値が格納されるメモリ領域である透過プレーン830とを含んでいる。   FIG. 8 is a conceptual diagram showing the data structure of the image data memory 800 in which drawing data is stored. An image data memory 800 shown in FIG. 8 includes an RGB plane 810 that is a memory area in which RGB color information of each pixel is stored in a dot sequential format, and an attribute plane 820 that is a memory area in which attribute values of each pixel are stored. , And a transmission plane 830 which is a memory area in which the transmission attribute value of each pixel of the destination is stored.

RGBプレーン810は、描画処理が施されたオブジェクトのピクセル毎の色情報(P、R、G、B)が設定されるメモリ領域であり、描画オブジェクトが描画されるデスティネーションを構成する各ピクセルの色情報が予め設定されている。RGBプレーン810には、例えば、ページに何も描画されていない場合には、初期値としてデスティネーションの色値であるCd(P,R,G,B)=(0,255,255,255)が設定される。そして、RGBプレーン810には、当該デスティネーションの色値等を使用して算出される描画処理後のデスティネーションの色値であるCd’が登録される。なお、デスティネーションの色値Cd’の算出方法については、より詳細に後述する。   The RGB plane 810 is a memory area in which color information (P, R, G, B) for each pixel of the object subjected to the drawing process is set, and each pixel constituting the destination where the drawing object is drawn is set. Color information is preset. In the RGB plane 810, for example, when nothing is drawn on the page, Cd (P, R, G, B) = (0, 255, 255, 255) which is the destination color value as an initial value Is set. In the RGB plane 810, Cd ′, which is the color value of the destination after the drawing process calculated using the color value of the destination or the like, is registered. The method for calculating the destination color value Cd ′ will be described in more detail later.

RGBプレーン810の各色情報は1バイトのデータ量を有しているため、1ピクセルの描画に必要な色情報のデータサイズは4バイトである。Pはパディングバイトであり、カラースペースがRGBカラースペースの場合には、0がパディングバイトとして埋められる。R、G、Bは、それぞれ赤、緑、青を示しており、本実施形態では、各色が8ビットの情報量を有しているため、各色が256種類の色を表現することができる。   Since each color information of the RGB plane 810 has a data amount of 1 byte, the data size of the color information necessary for rendering one pixel is 4 bytes. P is a padding byte. When the color space is an RGB color space, 0 is filled as the padding byte. R, G, and B represent red, green, and blue, respectively. In this embodiment, since each color has an 8-bit information amount, each color can represent 256 types of colors.

属性プレーン820は、描画処理が施されたオブジェクトの各ピクセルの属性情報が格納されるメモリ領域である。属性情報は、描画されたピクセルの種類を区別するための情報であり、描画されたピクセルが、文字、イメージ、グラフィックス等であるか区別するために使用される。本実施形態では、1ピクセルの描画に必要な属性情報のサイズは1バイト(8ビット)であり、1ピクセルにつき最大で256種類の属性情報を持たせることができる。   The attribute plane 820 is a memory area in which attribute information of each pixel of the object subjected to the drawing process is stored. The attribute information is information for distinguishing the type of the drawn pixel, and is used for distinguishing whether the drawn pixel is a character, an image, graphics, or the like. In the present embodiment, the size of attribute information necessary for rendering one pixel is 1 byte (8 bits), and up to 256 types of attribute information can be provided per pixel.

透過プレーン830は、透過制御処理が施されたオブジェクトの透過属性値が登録されるメモリ領域であり、描画オブジェクトが描画されるデスティネーションを構成する各ピクセルの透過属性値が予め設定されている。透過プレーン830には、例えば、初期値としてデスティネーションの透過属性値Ad=0(不透過)が設定される。透過属性値は、重畳する描画データの透過の割合を示す値であり、0〜100の値で指定される。当該透過属性値は、描画処理後のデスティネーションの色値を決定するために使用され、透過制御処理後のデスティネーションの透過属性値であるAd’が、透過プレーン830に登録される。なお、透過制御処理後のデスティネーションの透過属性値Ad’の算出方法については、より詳細に後述する。本実施形態では、1ピクセルの描画に必要とされる透過属性値のデータサイズは1バイト(8ビット)である。なお、ラスターオペレーション処理を実行する場合には、透過プレーン830は使用されない。   The transparency plane 830 is a memory area in which the transparency attribute value of the object subjected to the transparency control process is registered, and the transparency attribute value of each pixel constituting the destination where the drawing object is rendered is set in advance. In the transmission plane 830, for example, the destination transmission attribute value Ad = 0 (non-transmission) is set as an initial value. The transmission attribute value is a value indicating the transmission ratio of the drawing data to be superimposed, and is specified by a value of 0 to 100. The transparency attribute value is used to determine the color value of the destination after the drawing process, and Ad ′ that is the transparency attribute value of the destination after the transparency control process is registered in the transparency plane 830. A method for calculating the destination transmission attribute value Ad ′ after the transmission control process will be described later in more detail. In the present embodiment, the data size of the transparency attribute value required for drawing one pixel is 1 byte (8 bits). Note that the transparent plane 830 is not used when the raster operation process is executed.

本実施形態の画像形成装置100のCPU112は、1ピクセル分の描画データとして、4バイトの色情報、1バイトの属性情報および1バイトの透過属性情報を処理し、1ピクセル分の描画処理に必要な描画データサイズは、合計6バイトとなる。本実施形態では、1ピクセルの描画処理を実行する場合、CPU112に含まれる32bitレジスタが、4バイトの色情報と、1バイトの属性情報および1バイトの透過属性情報とを個別にロードするように構成されており、合計2回の読み出し処理で1ピクセル分の描画データを取得することができる。   The CPU 112 of the image forming apparatus 100 according to the present embodiment processes 4-byte color information, 1-byte attribute information, and 1-byte transparency attribute information as rendering data for one pixel, and is necessary for rendering processing for one pixel. The total drawing data size is 6 bytes in total. In the present embodiment, when a 1-pixel rendering process is executed, the 32-bit register included in the CPU 112 loads 4-byte color information, 1-byte attribute information, and 1-byte transparency attribute information individually. The drawing data for one pixel can be acquired by a total of two reading processes.

なお、本実施形態では、属性プレーン820および透過プレーン830を個別のメモリ領域として説明しているが、他の実施形態では、同一のプレーン内に同一のピクセルの属性情報および透過属性値を格納してもよい。この場合、1ピクセル分の属性情報および透過属性値として、2バイトのメモリ領域が必要となる。   In this embodiment, the attribute plane 820 and the transmission plane 830 are described as separate memory areas. However, in other embodiments, the attribute information and the transmission attribute value of the same pixel are stored in the same plane. May be. In this case, a 2-byte memory area is required as attribute information and transparency attribute value for one pixel.

多値描画処理部240は、FIFO形式により中間データとして保存された描画データを順に取り出して、ラスターオペレーション処理または透過制御処理を実行して、図8に示すように画像データメモリに格納する。ラスターオペレーション処理は、Windows(登録商標)系のOSで使用されるグラフィックスエンジンが行う画像処理であり、同一領域内で重畳する図形を構成する各ピクセルの色値をビット演算(例えば、OR、XOR、AND等)する処理である。   The multi-value drawing processing unit 240 sequentially extracts drawing data stored as intermediate data in the FIFO format, executes raster operation processing or transparency control processing, and stores them in the image data memory as shown in FIG. The raster operation process is an image process performed by a graphics engine used in a Windows (registered trademark) OS, and performs a bit operation (for example, OR, etc.) on the color value of each pixel constituting a figure to be superimposed in the same area. XOR, AND, etc.).

透過制御処理は、Windows(登録商標)Vista等のOSがサポートするXPSやPDF等で使用される画像処理であり、同一領域内で重畳する図形の透過属性値(0〜100%)を使用して色値を決定し、描画オブジェクトの透過性描画を実現する処理である。本実施形態の多値描画処理部240は、ラスターオペレーション処理および透過制御処理の双方を用いて描画処理を行うことはないが、他の実施形態では、ラスターオペレーション処理および透過制御処理の双方を同時に用いて描画処理を行ってもよい。   The transparency control process is an image process used in XPS or PDF supported by an OS such as Windows (registered trademark) Vista, and uses a transparency attribute value (0 to 100%) of a figure to be superimposed in the same area. This is a process for determining the color value and realizing the transparent drawing of the drawing object. The multi-value drawing processing unit 240 of this embodiment does not perform drawing processing using both raster operation processing and transparency control processing, but in other embodiments, both raster operation processing and transparency control processing are performed simultaneously. May be used to perform the drawing process.

以下、本実施形態の上述した透過制御処理について、さらに詳細に説明する。通常、透過制御処理は、(1)描画対象であるソースデータに対してのみ実行する場合と、(2)ソースデータおよび当該ソースデータが描画されたデスティネーションの双方に対して実行する場合とがある。   Hereinafter, the above-described transmission control process of the present embodiment will be described in more detail. Usually, the transparency control process is executed only for the source data to be rendered (1) and (2) performed for both the source data and the destination where the source data is rendered. is there.

(1)の場合、ソースデータのピクセル値をS、デスティネーションのピクセル値をD、ソースデータの透過属性値をα(0〜1の値)とすると、透過制御処理実行後の色値NewDは、以下のようになる。   In the case of (1), when the pixel value of the source data is S, the pixel value of the destination is D, and the transparency attribute value of the source data is α (value of 0 to 1), the color value NewD after execution of the transparency control process is It becomes as follows.

この処理は、RGBの各色に対して実施される。デスティネーションのピクセル値Dが存在しない場合には、透過プレーン830は使用されない。   This process is performed for each color of RGB. If the destination pixel value D does not exist, the transmissive plane 830 is not used.

(2)の場合、ソースデータの透過属性値をAs(0〜1の値)、デスティネーションの透過属性値をAd、透過制御処理実施後のデスティネーションの透過属性値をAd’、ソースデータの色値をCs、デスティネーションの色値をCd、透過制御処理実施後のデスティネーションの色値をCd’とすると、以下の式が成り立つ。   In the case of (2), the transparent attribute value of the source data is As (value of 0 to 1), the transparent attribute value of the destination is Ad, the transparent attribute value of the destination after performing the transparent control process is Ad ′, and the source data When the color value is Cs, the destination color value is Cd, and the destination color value after the transmission control processing is Cd ′, the following expression is established.

透過制御処理によって算出されたデスティネーションの透過属性値Ad’は、透過プレーン830の該当するメモリ領域に格納される。   The transmission attribute value Ad ′ of the destination calculated by the transmission control process is stored in the corresponding memory area of the transmission plane 830.

多値描画処理部240は描画処理を行う場合、中間データとして保存されているグラフィックス状態(GStatus)を取得する。GStatusに描画対象であるオブジェクトの透過属性値が設定されている場合には、多値描画処理部240は、GStatusから当該透過属性値および色値を取得するとともに、RGBプレーン810に設定されているデスティネーションの色値と、透過プレーン830に設定されているデスティネーションの透過属性値とを取得する。   When performing the drawing process, the multilevel drawing processing unit 240 acquires a graphics state (GStatus) stored as intermediate data. When the transparency attribute value of the object to be rendered is set in GStatus, the multi-value rendering processor 240 acquires the transparency attribute value and the color value from GStatus and is set in the RGB plane 810. The destination color value and the transmission attribute value of the destination set in the transmission plane 830 are acquired.

そして、多値描画処理部240は、描画オブジェクトの透過属性値および色値と、デスティネーションの色値および透過属性値とを用いて、透過制御処理を実行して、新たな描画データであるデスティネーションの色値および透過属性値を算出し、画像データメモリを更新する。なお、本実施形態では、透過制御処理の方式は、同一ページを処理する場合には1つの方式が採用されるため、複数の方式が混在することはない。   Then, the multi-value rendering processing unit 240 executes the transparency control process using the transparency attribute value and color value of the rendering object and the color value and transparency attribute value of the destination, and creates a new rendering data destination. The color value and transmission attribute value of the nation are calculated, and the image data memory is updated. In the present embodiment, a single transparency control processing method is adopted when processing the same page, and therefore, a plurality of methods are not mixed.

一方、GStatusにROP値としてラスターオペレーション処理を指定するIDが設定されている場合には、多値描画処理部240は、重畳するソースデータおよびデスティネーションデータの各ピクセルの色値に対して、当該IDにより指定されたビット演算を実行する。当該IDは、0から255までの256通り設定することができ、各IDに対してビット演算が予め関連付けられている。   On the other hand, when an ID for specifying raster operation processing is set as the ROP value in GStatus, the multi-value rendering processing unit 240 applies the color value of each pixel of the source data and destination data to be superimposed to each other. The bit operation specified by the ID is executed. The ID can be set in 256 ways from 0 to 255, and a bit operation is associated with each ID in advance.

次に、色変換処理部242は、多値描画処理部240が生成した描画データに対して色変換処理を実行する。色変換処理は、描画データの色情報をRGB形式からCMYK形式に変換する処理であり、本実施形態では、色変換処理として、カラーマッチング処理およびBG/UCR(Black generation/Under Color removal)処理が利用される。   Next, the color conversion processing unit 242 executes color conversion processing on the drawing data generated by the multi-value drawing processing unit 240. The color conversion process is a process of converting the color information of the drawing data from the RGB format to the CMYK format. In this embodiment, the color conversion process includes a color matching process and a BG / UCR (Black generation / Under Color removal) process. Used.

色変換処理部242は、多値描画処理部240が生成したRGBプレーン810および属性プレーン820に格納されるRGB形式の描画データを画像データメモリから取得し、カラーマッチング・モジュールをコールする。カラーマッチング・モジュールは、取得した描画データに対して、カラーマッチング処理を実行し、描画データの色を出力デバイスの色特性に適合した色に変換し、画像データメモリの同一アドレスに格納する。   The color conversion processing unit 242 acquires RGB-format drawing data stored in the RGB plane 810 and the attribute plane 820 generated by the multi-value drawing processing unit 240 from the image data memory, and calls the color matching module. The color matching module performs a color matching process on the acquired drawing data, converts the color of the drawing data into a color suitable for the color characteristics of the output device, and stores it in the same address of the image data memory.

さらに、カラーマッチング処理では、属性プレーンに格納された属性データを参照して、文字、イメージ、グラフィックス等の描画オブジェクトの種類毎に色を変換することができる。   Further, in the color matching process, the color can be converted for each type of drawing object such as a character, an image, or a graphic with reference to the attribute data stored in the attribute plane.

次に、色変換処理部242は、BG/UCRモジュールをコールする。BG/UCRモジュールは、画像データメモリに格納されている描画データにBG/UCR処理を実行して、描画データの表現形式をRGB形式からCMYK形式に変換する。   Next, the color conversion processing unit 242 calls the BG / UCR module. The BG / UCR module performs BG / UCR processing on the drawing data stored in the image data memory, and converts the drawing data representation format from the RGB format to the CMYK format.

図8は、BG/UCR処理実施後のCMYK形式の描画データが格納されるメモリ領域であるKCMYプレーン840を示している。KCMYプレーン840は、ピクセル毎の色情報(K、C、M、Y)が含まれている。各色情報は1バイトのデータ量を有しており、1ピクセルの描画に必要な色情報のデータサイズは4バイトである。K、C、M、Yは、それぞれ黒、シアン、マゼンダ、黄を示しており、本実施形態では、各色が8ビットの情報量を有するため、各色が256種類の色を表現することができる。   FIG. 8 shows a KCMY plane 840 that is a memory area in which drawing data in the CMYK format after the BG / UCR process is performed. The KCMY plane 840 includes color information (K, C, M, Y) for each pixel. Each color information has a data amount of 1 byte, and the data size of the color information necessary for rendering one pixel is 4 bytes. K, C, M, and Y represent black, cyan, magenta, and yellow, respectively. In this embodiment, each color has an 8-bit information amount, and thus each color can represent 256 types of colors. .

図8に示すように、BG/UCR処理の前後では、描画データのサイズは変更されず、本実施形態では、描画データのサイズは4バイトのままである。また、BG/UCR処理後の描画データは、画像データメモリの同一領域に格納される。すなわち、色変換処理部242は、余分なメモリ領域の取得を行わずに、色変換処理を実行することができる。   As shown in FIG. 8, the size of the drawing data is not changed before and after the BG / UCR process, and in this embodiment, the size of the drawing data remains 4 bytes. Further, the drawing data after the BG / UCR process is stored in the same area of the image data memory. That is, the color conversion processing unit 242 can execute the color conversion process without acquiring an extra memory area.

次に、2値変換処理部244は、色変換処理部242が生成したCMYK形式の描画データおよび属性データを画像データメモリから取得し、ハーフトーン処理を実行する。   Next, the binary conversion processing unit 244 acquires drawing data and attribute data in the CMYK format generated by the color conversion processing unit 242 from the image data memory, and executes halftone processing.

図9は、本実施形態の多値描画処理部240がインデックス描画形式により描画データを処理する際に使用するインデックステーブルの作成処理のフローチャートである。インデックス描画形式とは、インデックステーブルを使用した描画形式であり、RGB各色8ビットで描画処理を行う描画形式に比べて、1ピクセルの描画データを表現するのに必要なデータ量が少ない。以下、図9を参照して、インデックステーブルの作成処理について説明する。なお、本実施形態では、計数処理部236がインデックステーブルを作成するが、他の実施形態では、他の機能処理部がインデックステーブルを作成してもよい。   FIG. 9 is a flowchart of an index table creation process used when the multi-value drawing processing unit 240 of this embodiment processes drawing data in the index drawing format. The index drawing format is a drawing format using an index table, and requires a smaller amount of data to express one pixel of drawing data than a drawing format in which drawing processing is performed with 8 bits for each RGB color. Hereinafter, the index table creation process will be described with reference to FIG. In the present embodiment, the count processing unit 236 creates the index table. However, in other embodiments, other function processing units may create the index table.

図9の処理は、図3を参照して説明した処理のステップS306に対応する。図9の処理は、ステップS900から開始し、ステップS901でインデックス値を設定するための変数Indexに0が設定されて初期化される。ステップS902では、計数処理部236が、該当するバンドの属性情報(GStatus)を取得し、ステップS903では、計数処理部236が、取得した属性情報に含まれるバンドで使用されている色の色値をインデックステーブルに登録する。ステップS904では、計数処理部236が、ステップS903で登録された色値に関連付けて、インデックス値として変数Indexの値をインデックステーブルに登録する。   The process of FIG. 9 corresponds to step S306 of the process described with reference to FIG. The process of FIG. 9 starts from step S900, and is initialized by setting 0 to a variable Index for setting an index value in step S901. In step S902, the count processing unit 236 acquires attribute information (GStatus) of the corresponding band. In step S903, the count processing unit 236 uses the color value of the color used in the band included in the acquired attribute information. Is registered in the index table. In step S904, the count processing unit 236 registers the value of the variable Index as an index value in the index table in association with the color value registered in step S903.

ステップS905では、計数処理部236が、該当するバンドで使用されている総ての色の色値が登録されたか判断し、総ての色値が登録されていない場合(no)には、処理をステップS906に分岐する。ステップS906では、変数Indexの値がインクリメントされ、ステップS903に処理を戻す。   In step S905, the counting processing unit 236 determines whether all the color values used in the corresponding band are registered. If all the color values are not registered (no), the processing is performed. Branches to step S906. In step S906, the value of the variable Index is incremented, and the process returns to step S903.

一方、ステップS905の判定で、総ての色値が登録されていると判断された場合(yes)には、処理をステップS907に分岐する。ステップS907では、計数処理部236が、他に取得すべきバンドの属性情報があるか否か判断し、取得すべきバンドの属性情報がある場合(yes)には、処理をステップS901に戻して、別のバンドのインデックステーブルを作成する。   On the other hand, if it is determined in step S905 that all color values are registered (yes), the process branches to step S907. In step S907, the count processing unit 236 determines whether there is other band attribute information to be acquired. If there is band attribute information to be acquired (yes), the process returns to step S901. Create another band index table.

一方、ステップS907の判定で、取得すべきバンドの属性情報が無いと判断された場合(no)には、処理がステップS908に分岐され、図9の処理が終了する。   On the other hand, if it is determined in step S907 that there is no band attribute information to be acquired (no), the process branches to step S908, and the process of FIG. 9 ends.

図10は、図9の処理によって作成されたインデックステーブルの実施形態を示した図である。以下、図10を参照して、インデックステーブル1010、1020について説明する。インデックステーブルは、分割処理部234が生成したバンド毎に作成され、インデックステーブル1010は、或るバンド用のインデックステーブルであり、インデックステーブル1020は、別のバンド用のインデックステーブルである。   FIG. 10 is a diagram showing an embodiment of an index table created by the process of FIG. Hereinafter, the index tables 1010 and 1020 will be described with reference to FIG. The index table is created for each band generated by the division processing unit 234. The index table 1010 is an index table for a certain band, and the index table 1020 is an index table for another band.

インデックステーブル1010、1020には、バンドで使用されている色の色値1014、1024と、当該色に関連付けられたインデックス1012、1022とが登録される。本実施形態では、インデックステーブル1010には、色値として(255,0,0)および(0,0,255)が登録されており、それぞれインデックス値として0および1が関連付けられて登録されている。また、インデックステーブル1020には、色値として(255,0,0)、(0,0,255)、(0,255,0)および(0,255,255)が登録されており、それぞれインデックス値として0、1、2および3が関連付けられて登録されている。なお、本実施形態では、色値はRGB形式で表されており、インデックス値は10進数で表されている。   In the index tables 1010 and 1020, color values 1014 and 1024 of colors used in the band and indexes 1012 and 1022 associated with the colors are registered. In this embodiment, (255, 0, 0) and (0, 0, 255) are registered as color values in the index table 1010, and 0 and 1 are registered in association with each other as index values. . In the index table 1020, (255, 0, 0), (0, 0, 255), (0, 255, 0) and (0, 255, 255) are registered as color values. Values 0, 1, 2, and 3 are associated and registered. In the present embodiment, the color value is expressed in RGB format, and the index value is expressed in decimal.

図11は、インデックス描画形式によって画像データメモリ1110、1120および1130に点順次フォーマットで格納された描画データのデータ構造を示した図である。画像データメモリ1110は、描画データを構成する1ピクセルの色値を1ビットで表現する実施形態であり、最大で2色の色を表現することができる。画像データメモリ1120は、1ピクセルの色値を2ビットで表現する実施形態であり、最大で4色の色を表現することができる。画像データメモリ1130は、1ピクセルの色値を4ビットで表現する実施形態であり、最大で16色の色を表現することができる。このため、インデックス描画形式は、RGB各色8ビットで描画処理を行う描画形式に比べて、1ピクセルの描画データを表現するのに必要とされるデータ量を低減することができる。   FIG. 11 is a diagram showing a data structure of drawing data stored in the image data memories 1110, 1120 and 1130 in the dot sequential format according to the index drawing format. The image data memory 1110 is an embodiment that expresses the color value of one pixel constituting the drawing data by 1 bit, and can express a maximum of two colors. The image data memory 1120 is an embodiment that expresses a color value of one pixel by 2 bits, and can express a maximum of four colors. The image data memory 1130 is an embodiment that expresses the color value of one pixel by 4 bits, and can express a maximum of 16 colors. For this reason, the index drawing format can reduce the amount of data required to represent 1-pixel drawing data, compared to a drawing format in which drawing processing is performed with 8 bits for each RGB color.

本実施形態の描画コア230は、中間データとして保存された描画データを取得し、描画形式としてインデックス形式が指定されている場合には、インデックステーブルを使用して画像データメモリに描画データを格納する。そして、描画コア230は、予め用意されたRGB形式の色値と、CMYK形式の色値との対応表を用いて、画像データメモリに格納された描画データをRGB形式からCMYK形式に変換して、出力データとすることができる。   The drawing core 230 according to the present embodiment acquires drawing data stored as intermediate data, and stores the drawing data in the image data memory using the index table when the index format is designated as the drawing format. . Then, the drawing core 230 converts the drawing data stored in the image data memory from the RGB format to the CMYK format by using a correspondence table of RGB color values and CMYK format color values prepared in advance. Can be output data.

本実施形態の上記機能は、C、C++、C#、Java(登録商標)などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、CD−ROM、MO、DVD、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。   The above functions of the present embodiment can be realized by a device executable program described in an object-oriented programming language such as C, C ++, C #, Java (registered trademark), etc. It can be stored and distributed in a device-readable recording medium such as a CD-ROM, MO, DVD, flexible disk, EEPROM, EPROM, etc., and can be transmitted via a network in a format that other devices can.

これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   Although the present embodiment has been described so far, the present invention is not limited to the above-described embodiment, and other embodiments, additions, changes, deletions, and the like can be conceived by those skilled in the art. It can be changed, and any aspect is within the scope of the present invention as long as the effects and effects of the present invention are exhibited.

100…画像形成装置、110…コントローラ、112…CPU、114…ROM、116…RAM、118…NVRAM、120…ネットワークI/F、122…エンジンI/F、124…パネルI/F、130…ホストPC、140…エンジン、150…パネル装置、220…PDLパーサ、230…描画コア、232…描画モジュールI/F、234…分割処理部、236…計数処理部、238…描画データ保存部、240…多値描画処理部、242…色変換処理部、244…2値変換処理部 DESCRIPTION OF SYMBOLS 100 ... Image forming apparatus, 110 ... Controller, 112 ... CPU, 114 ... ROM, 116 ... RAM, 118 ... NVRAM, 120 ... Network I / F, 122 ... Engine I / F, 124 ... Panel I / F, 130 ... Host PC, 140 ... engine, 150 ... panel device, 220 ... PDL parser, 230 ... drawing core, 232 ... drawing module I / F, 234 ... division processing unit, 236 ... counting processing unit, 238 ... drawing data storage unit, 240 ... Multi-level drawing processing unit, 242... Color conversion processing unit, 244.

特開2004−243569号公報Japanese Patent Laid-Open No. 2004-24369

Claims (20)

描画データを処理する画像形成装置であって、
前記描画データが格納される画像データメモリのサイズに応じて、前記描画データを分割する分割処理手段と、
前記分割処理手段が分割した各描画データで使用される色数を計数する計数処理手段と、
前記分割処理手段が分割した各描画データを中間データとして保存する描画データ保存手段と、
前記中間データを使用してRGB形式の描画データを生成する多値描画処理手段と、
前記多値描画処理手段が生成したRGB形式の描画データをCMYK形式の描画データに変換する色変換処理手段と、
を含む画像形成装置。
An image forming apparatus for processing drawing data,
Division processing means for dividing the drawing data according to the size of the image data memory in which the drawing data is stored;
Counting processing means for counting the number of colors used in each drawing data divided by the dividing processing means;
Drawing data storage means for storing each drawing data divided by the division processing means as intermediate data;
Multi-value drawing processing means for generating drawing data in RGB format using the intermediate data;
Color conversion processing means for converting drawing data in RGB format generated by the multi-value drawing processing means into drawing data in CMYK format;
An image forming apparatus including:
前記中間データには、前記描画データの色情報と、前記描画データの属性情報、および前記描画データが描画される画像データに対する前記描画データの透過の割合を示す透過属性値とが含まれており、
前記多値描画処理手段は、前記描画データの色情報および前記透過属性値を使用して前記描画データに対して透過制御処理を実行する、請求項1に記載の画像形成装置。
The intermediate data includes color information of the drawing data, attribute information of the drawing data, and a transmission attribute value indicating a transmission ratio of the drawing data with respect to image data on which the drawing data is drawn. ,
The image forming apparatus according to claim 1, wherein the multi-value drawing processing unit executes a transmission control process on the drawing data using color information of the drawing data and the transmission attribute value.
前記多値描画処理手段は、前記描画データが描画される画像データの色情報および透過属性値を使用して、前記描画データに対して透過制御処理を実行する、請求項2に記載の画像形成装置。   3. The image formation according to claim 2, wherein the multi-value rendering processing unit performs a transparency control process on the rendering data using color information and a transparency attribute value of image data on which the rendering data is rendered. apparatus. 前記画像形成装置は、前記描画データの属性情報を使用して、前記色変換処理手段が生成した描画データに対しハーフトーン処理を実行して描画データを2値化する2値変換処理手段をさらに備えている、請求項1〜3のいずれか1項に記載の画像形成装置。   The image forming apparatus further includes binary conversion processing means for performing halftone processing on the drawing data generated by the color conversion processing means using the attribute information of the drawing data to binarize the drawing data. The image forming apparatus according to claim 1, which is provided. 前記画像形成装置が備えるCPUが、2回の読み出しで1ピクセル分の前記描画データを読み取り可能である、請求項1〜4のいずれか1項に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein a CPU included in the image forming apparatus is capable of reading the drawing data for one pixel by two readings. 前記色変換処理手段は、前記多値描画処理手段が描画データを生成する際に使用した画像データメモリの同一領域に前記CMYK形式の描画データを格納する、請求項1〜5のいずれか1項に記載の画像形成装置。   The color conversion processing means stores the drawing data in the CMYK format in the same area of an image data memory used when the multi-value drawing processing means generates drawing data. The image forming apparatus described in 1. 前記計数処理手段は、分割された各描画データで使用される色値と、前記色値に関連付けられたインデックスとが登録されるインデックステーブルを作成し、
前記多値描画処理手段は、前記インデックステーブルを使用してRGB形式の描画データを生成し、
前記色変換処理手段は、RGB形式およびCMYK形式の色値対応表を使用して、前記多値描画処理手段が生成したRGB形式の描画データをCMYK形式の描画データに変換して出力データとする、請求項1〜6のいずれか1項に記載の画像形成装置。
The counting processing means creates an index table in which color values used in each divided drawing data and an index associated with the color values are registered,
The multi-value drawing processing means generates drawing data in RGB format using the index table,
The color conversion processing means converts the RGB drawing data generated by the multi-value drawing processing means into CMYK drawing data using the RGB and CMYK format color value correspondence table as output data. The image forming apparatus according to claim 1.
前記描画データの属性情報には、前記インデックステーブルを用いた描画形式であるインデックス描画形式を指定する情報が含まれており、
前記多値描画処理手段は、前記インデックス描画形式を指定する情報を使用して、RGB各色8ビットの描画形式およびインデックス描画形式のいずれかを描画形式として選択することができる、請求項7に記載の画像形成装置。
The attribute information of the drawing data includes information for specifying an index drawing format that is a drawing format using the index table,
8. The multi-value rendering processing means can select one of RGB 8-bit rendering format and index rendering format as a rendering format using information specifying the index rendering format. Image forming apparatus.
前記多値描画処理手段は、分割された描画データで使用されている色数に応じて、前記インデックス描画形式を指定することができる、請求項8に記載の画像形成装置。   The image forming apparatus according to claim 8, wherein the multi-value drawing processing unit can designate the index drawing format according to the number of colors used in the divided drawing data. 前記多値描画処理手段は、分割された描画データ毎に描画形式を選択することができる、請求項8または9に記載の画像形成装置。   The image forming apparatus according to claim 8, wherein the multi-level drawing processing unit can select a drawing format for each divided drawing data. 前記多値描画処理手段は、前記描画データの属性情報にラスターオペレーション処理を指定する値が含まれている場合に、前記描画データに対してラスターオペレーション処理を実行し、前記描画データの属性情報に前記透過属性値が含まれている場合に、前記描画データに対し透過制御処理を実行して描画処理を実行する、請求項2〜10のいずれか1項に記載の画像形成装置。   The multi-value drawing processing means executes a raster operation process on the drawing data when the attribute information of the drawing data includes a value specifying a raster operation process, and the attribute information of the drawing data The image forming apparatus according to claim 2, wherein when the transparency attribute value is included, a transparency control process is performed on the rendering data to perform a rendering process. 画像形成装置が描画データを処理する方法であって、前記方法は、前記画像形成装置が、
前記描画データが格納される画像データメモリのサイズに応じて、前記描画データを分割するステップと、
分割された各描画データで使用される色数を計数するステップと、
前記分割された各描画データを中間データとして保存するステップと、
前記中間データを使用してRGB形式の描画データを生成するステップと、
前記RGB形式の描画データをCMYK形式の描画データに変換するステップと、
を実行する方法。
An image forming apparatus that processes drawing data, wherein the image forming apparatus includes:
Dividing the drawing data according to a size of an image data memory in which the drawing data is stored;
Counting the number of colors used in each divided drawing data;
Storing each of the divided drawing data as intermediate data;
Generating drawing data in RGB format using the intermediate data;
Converting the drawing data in the RGB format into drawing data in the CMYK format;
How to run.
前記中間データには、前記描画データの色情報と、前記描画データの属性情報、および前記描画データが描画される画像データに対する前記描画データの透過の割合を示す透過属性値とが含まれており、前記方法は、前記画像形成装置が、
前記描画データの色情報および前記透過属性値を使用して前記描画データに対して透過制御処理を実行するステップを含む、請求項12に記載の方法。
The intermediate data includes color information of the drawing data, attribute information of the drawing data, and a transmission attribute value indicating a transmission ratio of the drawing data with respect to image data on which the drawing data is drawn. In the method, the image forming apparatus includes:
The method according to claim 12, comprising performing a transparency control process on the drawing data using color information of the drawing data and the transparency attribute value.
前記RGB形式の描画データを生成するステップは、前記描画データが描画される画像データの色情報および透過属性値を使用して、前記描画データに対して透過制御処理を実行するステップを含む、請求項13に記載の方法。   The step of generating drawing data in the RGB format includes a step of executing a transparency control process on the drawing data using color information and a transparency attribute value of image data on which the drawing data is drawn. Item 14. The method according to Item 13. 前記方法は、前記画像形成装置が、前記描画データの属性情報を使用して、前記CMYK形式の描画データに対しハーフトーン処理を実行して描画データを2値化するステップをさらに含む、請求項12〜14のいずれか1項に記載の方法。   The method further includes the step of the image forming apparatus binarizing the drawing data by performing halftone processing on the drawing data in the CMYK format using attribute information of the drawing data. The method according to any one of 12 to 14. 前記画像形成装置が備えるCPUが、2回の読み出しで1ピクセル分の前記描画データを読み取り可能である、請求項12〜15のいずれか1項に記載の方法。   The method according to any one of claims 12 to 15, wherein a CPU provided in the image forming apparatus can read the drawing data for one pixel by two readings. 前記変換するステップは、前記RGB形式の描画データを生成する際に使用した画像データメモリの同一領域に前記CMYK形式の描画データを格納するステップを含む、請求項12〜16のいずれか1項に記載の方法。   The conversion step includes a step of storing the drawing data in the CMYK format in the same area of the image data memory used when the drawing data in the RGB format is generated. The method described. 前記計数するステップは、前記分割された各描画データで使用される色値と、前記色値に関連付けられたインデックスとが登録されるインデックステーブルを作成するステップを含み、
前記RGB形式の描画データを生成するステップは、前記インデックステーブルを使用してRGB形式の描画データを生成するステップを含み、
前記変換するステップは、RGB形式およびCMYK形式の色値対応表を使用して、前記RGB形式の描画データをCMYK形式の描画データに変換して出力データとするステップを含む、請求項12〜17のいずれか1項に記載の方法。
The counting step includes a step of creating an index table in which color values used in each of the divided drawing data and an index associated with the color value are registered,
The step of generating the drawing data in the RGB format includes the step of generating drawing data in the RGB format using the index table,
The converting step includes a step of converting the drawing data in the RGB format into drawing data in the CMYK format using the color value correspondence table in the RGB format and the CMYK format as output data. The method of any one of these.
請求項12〜18のいずれか1項に記載の各ステップを画像形成装置に対して実行させるためのコンピュータ実行可能なプログラム。   A computer-executable program for causing an image forming apparatus to execute each step according to any one of claims 12 to 18. 請求項19に記載のコンピュータ実行可能なプログラムを記録したコンピュータ可読な記録媒体。   A computer-readable recording medium on which the computer-executable program according to claim 19 is recorded.
JP2009172300A 2009-07-23 2009-07-23 Image forming apparatus, image forming method, program, and recording medium Pending JP2011025478A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009172300A JP2011025478A (en) 2009-07-23 2009-07-23 Image forming apparatus, image forming method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009172300A JP2011025478A (en) 2009-07-23 2009-07-23 Image forming apparatus, image forming method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2011025478A true JP2011025478A (en) 2011-02-10

Family

ID=43634813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009172300A Pending JP2011025478A (en) 2009-07-23 2009-07-23 Image forming apparatus, image forming method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2011025478A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020049939A (en) * 2018-09-25 2020-04-02 キヤノン株式会社 Image processing apparatus, image processing method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020049939A (en) * 2018-09-25 2020-04-02 キヤノン株式会社 Image processing apparatus, image processing method and program
JP7341715B2 (en) 2018-09-25 2023-09-11 キヤノン株式会社 Image processing device, control method, and program

Similar Documents

Publication Publication Date Title
EP0763801B1 (en) Color image processing system
US8526061B2 (en) Image processing apparatus, image processing method, and computer program product
JP2008005317A (en) Image processor and image processing method, and computer program and recording medium
KR20060128696A (en) Image processing apparatus and method
JP2010041267A (en) Image processing apparatus, image processing method, and computer readable recording medium storing program for performing the method
CN112000303B (en) Processing method and device capable of realizing watermark printing, electronic equipment and storage medium
JP2006108866A (en) Image processing apparatus
JP2007208531A (en) Multicolor printing apparatus and method of controlling same
JP2010220075A (en) Image forming apparatus, image data processing method, and program
JP2009296545A (en) Image processing apparatus and method
JP2011025478A (en) Image forming apparatus, image forming method, program, and recording medium
JP5257264B2 (en) Image forming apparatus, image data processing method, and control program
JP5012871B2 (en) Image processing apparatus, image forming apparatus, and image processing program
JP6707262B2 (en) Image forming apparatus and program
JP5008391B2 (en) Image processing apparatus and processing method thereof
US9411543B2 (en) Image processing apparatus
JP2010214905A (en) Image forming apparatus, image forming method, and program
JP5044522B2 (en) Image processing device
JP2010274435A (en) Apparatus and method for forming image, program, and recording medium
US10306104B2 (en) Image processing method and image processing apparatus that ensure efficient memory use, and recording medium therefor
JP2006260533A (en) Image forming apparatus and method
JP6844248B2 (en) Image processing equipment and computer programs
JP2011020276A (en) Image forming apparatus, image data processing method, and control program
JP2009122548A (en) Image forming apparatus and image forming method
JP2023008251A (en) Image processing apparatus, image processing method, and program