JP2011020276A - Image forming apparatus, image data processing method, and control program - Google Patents

Image forming apparatus, image data processing method, and control program Download PDF

Info

Publication number
JP2011020276A
JP2011020276A JP2009164656A JP2009164656A JP2011020276A JP 2011020276 A JP2011020276 A JP 2011020276A JP 2009164656 A JP2009164656 A JP 2009164656A JP 2009164656 A JP2009164656 A JP 2009164656A JP 2011020276 A JP2011020276 A JP 2011020276A
Authority
JP
Japan
Prior art keywords
information
pixel
color
graphic
data
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
JP2009164656A
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 JP2009164656A priority Critical patent/JP2011020276A/en
Publication of JP2011020276A publication Critical patent/JP2011020276A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To improve an access efficiency to pixel data conserved through a multiple value drawing processing for intermediate data of PDL in which a translucent drawing processing has been established. <P>SOLUTION: A color plane which shows a color value as the pixel data of point sequential by the multiple value drawing processing based on the intermediate data of PDL is drawn using a lookup table (1 byte). When drawing a plane (1 byte) showing a pixel attribute and a destination transmission plane (1 byte) showing a translucent value for the translucent drawing processing, an integrated plane is drawn in which both planes of the pixel attribute and the destination transmission are summarized and conserved with 2 bytes per one pixel. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、ページ記述言語(PDL)で表した入力データをプリント出力用のデータに処理する手段を有した画像形成装置(例えば、プリンタ、デジタル複写機、複合機等)に関し、より詳しくは、半透明描画処理が設定されたPDLの中間(ピクセル)データに対するアクセス効率を向上するための処理手段を有した画像形成装置、当該画像形成装置に用いる画像データ処理方法及び制御プログラムに関する。   The present invention relates to an image forming apparatus (for example, a printer, a digital copying machine, a multifunction peripheral, etc.) having means for processing input data expressed in a page description language (PDL) into print output data. The present invention relates to an image forming apparatus having processing means for improving access efficiency to intermediate (pixel) data of PDL for which translucent rendering processing is set, an image data processing method used in the image forming apparatus, and a control program.

従来から、プリンタ等の画像形成装置では、ホスト装置で作成されたページ記述言語(PDL)によって表した印刷コマンドを受取り、プリント出力用のデータとして処理し、出力に用いる。PDLとしては、PostScriptやPDF(Portable Document Format)、PCL(Printer Control Language)、XPS(XML(Extensible Markup Language)Paper Specification)等が使用され、画像形成装置は、これらのPDLで記述された印刷コマンドをそれぞれ解析するためのパーサを搭載する。   2. Description of the Related Art Conventionally, an image forming apparatus such as a printer receives a print command expressed by a page description language (PDL) created by a host device, processes it as print output data, and uses it for output. As the PDL, PostScript, PDF (Portable Document Format), PCL (Printer Control Language), XPS (XML (Extensible Markup Language) Paper Description, etc. are used. It is equipped with a parser for analyzing each.

PDLの1つであるXPSでは半透明描画という従来のPDLにはない処理が新たに追加されている。半透明描画処理は、半透明で画像同士を重ね合わせる処理で、設定された処理パラメータ(半透明値)に従って処理される。具体的には、重ね合わせる各画像の半透明値を1以下として、通常、重ね合わせたときに全体が1となるように、この処理パラメータが描画オブジェクト毎に設定される。
この半透明描画処理は、PDLを解析した後に得られる中間データをもとにRGB24ビットの多値のピクセルデータに対して行われる処理である。つまり、プリント出力用のデータを得るためには、描画オブジェクト毎にピクセル単位で画像処理(ハーフトーン処理、BG/UCR等)等を施すことが必要で、これらの処理は、RGB24ビットの多値で描画した後に行うが、半透明描画処理もこれらの処理と同様に、RGB24ビットの多値の描画データに対しても行う。
In XPS, which is one of the PDLs, a process that does not exist in the conventional PDL called semi-transparent rendering is newly added. The translucent drawing process is a process of superimposing images with each other in a translucent manner, and is processed according to a set processing parameter (translucent value). Specifically, the semi-transparency value of each image to be superimposed is set to 1 or less, and this processing parameter is usually set for each drawing object so that the whole becomes 1 when superimposed.
This translucent rendering process is a process performed on RGB 24-bit multivalued pixel data based on intermediate data obtained after PDL analysis. That is, in order to obtain print output data, it is necessary to perform image processing (halftone processing, BG / UCR, etc.) and the like for each drawing object in units of pixels. However, the translucent rendering process is also performed on RGB 24-bit multi-value rendering data in the same manner as these processes.

ところで、PDLに設定されているオブジェクト情報は、中間データをもとにRGB24ビットの多値描画を行った後は、各ピクセルとのつながりがなくなってしまうため、その後行う画像処理に用いるために、中間データに記されていたオブジェクト情報を保存しておく必要がある。即ち、描画時にオブジェクト情報は、ピクセル毎に文字で描画されたものか、グラフィックスで描画されたものか、イメージで描画されたものか等を保存し、その後のカラー処理やハーフトーン処理で活用する必要がある。なお、画像処理に用いるために中間データに記されるオブジェクト情報を、各ピクセルに対し属性の決定に用いる情報プレーンの形で保存する方法は、従来から知られている(例えば、特許文献1、参照)。   By the way, the object information set in the PDL is not connected to each pixel after multi-value rendering of RGB 24 bits based on the intermediate data, so that it is used for subsequent image processing. It is necessary to save the object information described in the intermediate data. In other words, when drawing, object information is stored whether it is drawn with characters for each pixel, drawn with graphics, drawn with images, etc., and used in subsequent color processing and halftone processing There is a need to. A method of storing object information written in intermediate data for use in image processing in the form of an information plane used for attribute determination for each pixel is conventionally known (for example, Patent Document 1, reference).

上記した半透明描画処理のパラメータ(半透明値)もオブジェクト情報の1つとして同様にピクセル毎に保存しておく必要がある。また、XPSの半透明描画処理では半透明描画処理の処理方法によっては、描画先の半透明描画処理の半透明値も保存しておく必要がある。この場合、重ねるデータ(「ソースデータ」という)の半透明値と描画先(「ディスティネーション」という)の半透明値を使用して描画する(下記[発明を実施するための形態]の記載、参照)ので、これもピクセル毎に保存する必要がある。
従って、RGB24ビット多値描画に必要な情報は、色値の他に、ピクセルの属性と半透明値がピクセル毎に必要になる。よって、RGBフルカラーで処理する場合は、1ピクセルあたり、RGB24ビットのほかに、ピクセルの属性と半透明値のためのそれぞれ1バイトを加えて、全部で5バイトのデータをハンドリングしながら処理を行うことになる。
The above-described semi-transparent drawing process parameter (semi-transparent value) must also be stored for each pixel as one piece of object information. Further, in the translucent rendering process of XPS, depending on the processing method of the translucent rendering process, it is necessary to store the translucent value of the rendering destination translucent rendering process. In this case, the drawing is performed using the translucent value of the data to be overlapped (referred to as “source data”) and the translucent value of the drawing destination (referred to as “destination”) (described in the following [Description of the Invention], This also needs to be saved for each pixel.
Accordingly, the information necessary for RGB 24-bit multi-value rendering requires pixel attributes and translucent values for each pixel in addition to color values. Therefore, when processing in RGB full color, in addition to RGB 24 bits per pixel, 1 byte is added for each pixel attribute and translucent value, and processing is performed while handling a total of 5 bytes of data. It will be.

上記のように、半透明描画処理が設定されたPDLの中間(ピクセル)データに対し、RGBフルカラーで多値描画処理をする場合、1ピクセルあたり5バイト必要になるため、ピクセル単位に順番に配置すると、1ピクセルは5バイト単位のアクセスになる。コンピュータのCPU(Central Processing Unit)は、現在、通常4バイト(32ビット)のレジスタで構成されるのが普通であるから、1回の読出しで1ピクセル分(5バイトのデータ)にアクセスできないので、通常は1バイトずつアクセスすることになるので5回の命令で1ピクセルのデータの読み出しが可能になる。また、64ビットレジスタで構成されるCPUでも、5バイトずつアクセスすると、必ず境界にまたがる場合が出てくるので効率の悪さは同じである。   As described above, when multi-valued rendering processing is performed with RGB full color for PDL intermediate (pixel) data for which translucent rendering processing has been set, 5 bytes are required per pixel, so the pixels are arranged in order. Then, one pixel is accessed in units of 5 bytes. Since a CPU (Central Processing Unit) of a computer is usually configured with a register of 4 bytes (32 bits) at present, it cannot access one pixel (5 bytes of data) by one reading. Normally, one byte is accessed, so that one pixel data can be read with five instructions. Further, even in a CPU constituted by a 64-bit register, when 5 bytes are accessed, there is a case where the boundary always crosses the boundary, so the inefficiency is the same.

このような課題に対して、カラーデータ、属性データ及び半透明描画処理のデータ夫々に対してプレーンを設け、カラープレーンにおける1ピクセルあたりのデータを4バイトとし、属性プレーン及び半透明描画処理のプレーンにおける1ピクセルあたりのデータを夫々1バイトとすることにより、1ピクセルあたり合計6バイトとする方法が提案されている。この場合、上述した4バイトのレジスタ構成のCPUにおいて、3回のアクセスで丁度2ピクセル分のデータが読み出されることとなり、メモリアクセスの効率を向上することができる。
しかしながら、画像形成装置における画像形成出力の速度向上のためには、上記メモリアクセス効率の更なる向上が求められる。
本発明は、上記従来技術の問題に鑑みてなされたもので、その目的は、半透明描画処理が設定されたPDLの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることにある。
To solve this problem, a plane is provided for each of the color data, attribute data, and translucent rendering process data, and the data per pixel in the color plane is 4 bytes. The attribute plane and the translucent rendering process plane A method has been proposed in which the data per pixel is 1 byte, so that the total is 6 bytes per pixel. In this case, in the CPU having the 4-byte register configuration described above, data for just two pixels is read out in three accesses, and the memory access efficiency can be improved.
However, in order to improve the speed of image formation output in the image forming apparatus, further improvement in the memory access efficiency is required.
The present invention has been made in view of the above-described problems of the prior art, and its object is to improve the access efficiency to pixel data stored through multi-level drawing processing for intermediate data of PDL for which semi-transparent drawing processing is set. It is to improve.

本発明の一態様は、ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、前記生成された図形情報に基づいて前記図形を構成する画素の情報である画素情報を生成する画素情報生成部と、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成する階調情報生成部と、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成する出力情報生成部とを含む画像形成装置であって、前記図形情報生成部は、前記図形の半透明描画に関する情報を含む前記図形情報を前記描画命令に基づいて生成し、前記画素情報生成部は、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、且つ前記画素の彩色情報として前記画素の彩色を示すインデックス情報を格納することによって前記画素情報を生成し、前記インデックス情報と前記画素の彩色自体を示す情報とが関連付けられた彩色参照情報を他の記憶領域に保持することを特徴とする。
また、前記画素情報生成部は、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することも可能であることが好ましい。
また、前記画素情報生成部は、前記図形情報における前記描画すべき図形がフルカラーデータである場合に、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することが好ましい。
また、前記画素情報生成部は、前記彩色参照情報に含まれる前記インデックス情報の数が所定数に達した場合に、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することが好ましい。
また、前記画素情報生成部は、前記図形情報における前記描画すべき図形がインデックスイメージであり、前記インデックスイメージを識別するインデックスのビット数が所定数以上である場合に、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することが好ましい。
また、前記彩色参照情報に登録可能なインデックス情報の数が可変であることが好ましい。
また、前記画素情報生成部は、ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、前記画素の彩色自体を示す情報のビット数として、異なるビット数を前記バンド毎に用いることが可能であることが好ましい。
また、前記彩色参照情報において前記画素の彩色自体を示す情報のビット数として異なるビット数が混在可能であることが好ましい。
本発明の他の態様は、画像データ処理方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、図形情報生成部が、描画すべき図形毎に情報がまとめられた情報であって前記図形の半透明描画に関する情報を含む図形情報を前記取得された描画命令に基づいて生成し、画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、且つ前記画素の彩色情報として前記画素の彩色を示すインデックス情報を格納することによって前記図形を構成する画素の情報である画素情報を生成すると共に、前記インデックス情報と前記画素の彩色自体を示す情報とが関連付けられた彩色参照情報を他の記憶領域に保持し、階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成すること特徴とする。
本発明の他の態様は、制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、描画すべき図形毎に情報がまとめられた情報であって前記図形の半透明描画に関する情報を含む図形情報を前記取得された描画命令に基づいて生成するステップと、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納するステップと、前記画素の彩色情報として前記画素の彩色を示すインデックス情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、前記インデックス情報と前記画素の彩色自体を示す情報とが関連付けられた彩色参照情報を他の記憶領域に保持するステップと、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする。
According to one aspect of the present invention, a drawing command acquisition unit that acquires a drawing command obtained based on a page description language, and graphic information in which information is collected for each graphic to be drawn is based on the acquired drawing command. A graphic information generation unit to generate, a pixel information generation unit to generate pixel information that is information of pixels constituting the graphic based on the generated graphic information, and the pixel information by converting the generated pixel information Formation including a gradation information generation unit that generates gradation information for rendering the image, and an output information generation unit that generates output information for executing image formation output based on the generated gradation information The graphic information generation unit generates the graphic information including information related to translucent drawing of the graphic based on the drawing command, and the pixel information generation unit colors the pixels constituting the graphic. information, Index information indicating the color of the pixel as the color information of the pixel, storing the attribute information of the pixel and the information related to the translucent drawing of the figure formed by the pixel in a storage area reserved for the respective information The pixel information is generated by storing the color reference information, and the color reference information in which the index information and the information indicating the color of the pixel itself are associated is held in another storage area.
Further, it is preferable that the pixel information generation unit can store information indicating the color of the pixel itself as the color information of the pixel.
The pixel information generation unit preferably stores information indicating the color of the pixel itself as the color information of the pixel when the graphic to be drawn in the graphic information is full color data.
The pixel information generation unit preferably stores information indicating the color of the pixel itself as the color information of the pixel when the number of the index information included in the color reference information reaches a predetermined number. .
Further, the pixel information generation unit, as the color information of the pixel, when the graphic to be drawn in the graphic information is an index image, and the number of bits of an index for identifying the index image is a predetermined number or more It is preferable to store information indicating the coloring of the pixel itself.
It is preferable that the number of index information that can be registered in the color reference information is variable.
In addition, the pixel information generation unit generates the pixel information based on the graphic information for each band that is each range obtained by dividing the page into a plurality of bits, and the number of bits of information indicating the coloring of the pixel itself is different. It is preferable that the number of bits can be used for each band.
In the chromatic reference information, it is preferable that different numbers of bits can be mixed as the number of bits of information indicating the chromatic color of the pixel itself.
Another aspect of the present invention is an image data processing method, wherein a drawing command acquisition unit acquires a drawing command obtained based on a page description language, and a graphic information generation unit provides information for each graphic to be drawn. Is generated based on the acquired drawing command, and the pixel information generation unit generates the graphic information based on the generated graphic information. The information about the coloring of the pixels constituting the pixel, the attribute information of the pixels, and the information related to the translucent drawing of the figure constituted by the pixels are stored in a storage area reserved for each information, and as the coloring information of the pixels By storing index information indicating the color of the pixel, pixel information which is information on the pixels constituting the graphic is generated, and information indicating the index information and the color of the pixel itself is generated. Is stored in another storage area, and a gradation information generation unit generates gradation information for converting the generated pixel information to draw the pixel, and outputs information. The generation unit generates output information for executing image formation output based on the generated gradation information.
Another aspect of the present invention is a control program, the step of obtaining a drawing command obtained based on a page description language, and information in which information is collected for each figure to be drawn. Generating graphic information including information related to transparent drawing based on the acquired drawing command; and, based on the generated graphic information, coloring information of pixels constituting the graphic, attribute information of the pixels, and the pixels Storing information relating to translucent drawing of the figure formed by the storage area reserved for each piece of information, and storing index information indicating the color of the pixel as the color information of the pixel A step of generating pixel information that is information on the pixels that constitute the image, and a color associated with the index information and information indicating the color of the pixel itself A step of holding reference information in another storage area, a step of generating gradation information for rendering the pixel by converting the generated pixel information, and an image based on the generated gradation information Generating the output information for executing the formation output, and causing the image forming apparatus to execute the step.

本発明によると、半透明描画処理が設定されたPDLの中間(ピクセル)データに対する多値描画処理において、多値描画処理を経て保存されたピクセルデータへのアクセス効率の向上を図ることができる。   According to the present invention, it is possible to improve the access efficiency to the pixel data stored through the multi-value rendering process in the multi-value rendering process for the intermediate (pixel) data of the PDL for which the translucent rendering process is set.

本発明の実施形態に係る画像形成装置のハードウェア構成の概略を示す図である。1 is a diagram illustrating an outline of a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 画像形成装置(図1)のコントローラのソフトウェア構成を示すブロック図である。It is a block diagram which shows the software structure of the controller of an image forming apparatus (FIG. 1). 描画コアモジュールを有するPDL部(図2参照)のモジュール構成を示すブロック図である。It is a block diagram which shows the module structure of the PDL part (refer FIG. 2) which has a drawing core module. PostScriptの描画コマンドの1例を示す図である。It is a figure which shows an example of the drawing command of PostScript. 描画モジュールI/Fが描画コマンド(図4)に応じて行う関数I/Fの設定例を示す図である。It is a figure which shows the example of a setting of the function I / F which a drawing module I / F performs according to a drawing command (FIG. 4). 描画オブジェクトに共通する、中間データの保存に用いるデータ構造を示す概念図である。It is a conceptual diagram which shows the data structure used for preservation | save of intermediate data common to a drawing object. ID番号と描画コマンドの対応表の1例を示すものである。An example of a correspondence table of ID numbers and drawing commands is shown. 中間データをもとに多値描画部によって描画されるピクセルデータの各プレーンのデータ構成を示す概念図である。It is a conceptual diagram which shows the data structure of each plane of the pixel data drawn by the multi-value drawing part based on intermediate data. ピクセル属性・ディスティネーション透過の両プレーンを統合したフォーマットを示す概念図である。It is a conceptual diagram which shows the format which integrated both pixel attribute and the plane of destination transmission. 本実施形態に係るルックアップテーブルの例を示す図である。It is a figure which shows the example of the look-up table which concerns on this embodiment. ハッシュ法におけるデータ構造を示す図である。It is a figure which shows the data structure in a hash method. 属性プレーンの1バイト中に含まれる情報を示す図である。It is a figure which shows the information contained in 1 byte of an attribute plane. バンディング処理におけるバンドデータとページデータとの関係を説明する概念図である。It is a conceptual diagram explaining the relationship between the band data and page data in a banding process. バンドデータに対する描画処理を示すフローチャートである。It is a flowchart which shows the drawing process with respect to band data.

以下に本発明に係る画像形成装置の実施形態を添付した図面を参照して説明する。本実施形態においては、半透明描画処理の機能を有し、描画情報の生成処理が効率化された画像形成装置について説明する。
図1は、本発明の実施形態に係る画像形成装置のハードウェア構成の概略を示す図である。同図に示すように、画像形成装置は、ホストPC(Personal computer)20から印刷コマンドを受取り、受取った印刷コマンドに従いプリンタエンジン30を動作させるために画像形成装置を構成する各部を制御するコントローラ10と、用紙に画像を印刷するプリンタエンジン30と、ユーザインターフェースとして機能する操作パネル40で構成される。なお、コントローラ10は、後述するように、ホストPC20で作成されたPDLによって表した印刷コマンドを受取り、受取った印刷コマンドをもとにプリント出力用の画像データを生成し、この画像データを用いてプリンタエンジン30を動作させる。また、操作パネル40は、画像形成装置の動作状態等の機器条件をユーザに知らせる表示部と、またユーザが画像形成装置に動作条件を指示する入力を行う入力部を持つ。
Embodiments of an image forming apparatus according to the present invention will be described below with reference to the accompanying drawings. In the present embodiment, an image forming apparatus having a translucent rendering process function and an efficient rendering information generation process will be described.
FIG. 1 is a diagram showing an outline of a hardware configuration of an image forming apparatus according to an embodiment of the present invention. As shown in FIG. 1, the image forming apparatus receives a print command from a host PC (Personal computer) 20 and controls each part of the image forming apparatus to operate the printer engine 30 according to the received print command. A printer engine 30 that prints an image on paper, and an operation panel 40 that functions as a user interface. As will be described later, the controller 10 receives a print command represented by PDL created by the host PC 20, generates image data for print output based on the received print command, and uses this image data. The printer engine 30 is operated. The operation panel 40 also has a display unit that informs the user of device conditions such as the operation state of the image forming apparatus, and an input unit that allows the user to input instructions for operating conditions to the image forming apparatus.

コントローラ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、NV(Nonvolatile)RAM14、ネットワークインターフェース(I/F)15、エンジンI/F16、パネルI/F17の各要素よりなる。
CPU11は、ソフトウェアプログラムの命令を実行する。ROM12は、CPU11が動作するプログラムを格納するメモリである。RAM13は、コントローラソフトが作成するページメモリやCPU11によるソフトウェアの動作に必要なワークメモリとして利用されるメモリである。不揮発性のNVRAM14は、画像形成装置の印刷条件などの設定条件を保存しておくメモリである。
また、ネットワークI/F15は、ネットワーク上に接続されたホストPC20とデータのやり取りを行うためのI/Fである。エンジンI/F16は、プリンタエンジン30との間で印刷指示等のやり取りを行うためのI/Fである。パネルI/F17は、操作パネル40との間でデータの入出力を行うためのI/Fである。
The controller 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an NV (Nonvolatile) RAM 14, a network interface (I / F) 15, an engine I / F 16, a panel I. / F17 each element.
The CPU 11 executes software program instructions. The ROM 12 is a memory that stores a program for operating the CPU 11. The RAM 13 is a memory used as a page memory created by the controller software or a work memory necessary for the software operation by the CPU 11. The nonvolatile NVRAM 14 is a memory that stores setting conditions such as printing conditions of the image forming apparatus.
The network I / F 15 is an I / F for exchanging data with the host PC 20 connected on the network. The engine I / F 16 is an I / F for exchanging print instructions and the like with the printer engine 30. The panel I / F 17 is an I / F for inputting / outputting data to / from the operation panel 40.

コントローラ10は、ROM12に格納されたプログラムの一部に、受取った印刷コマンドをもとにプリント出力用の画像データを生成するためのプログラムを記録し、このプログラムをCPU11が駆動することで、後述する図2及び図3に示す機能を実現する手段を構成する。
なお、上記プログラムを記録する媒体としては、上記ROM12に限らず、HDD(Hard Disk Drive)、CD(Compact Disk)−ROM、MO(Magnet Optical Disk)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体を用いることができる。また、プログラムを、インターネット等のネットワーク(図示せず)に接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしても良い。
The controller 10 records a program for generating image data for print output on the basis of the received print command in a part of the program stored in the ROM 12, and this program is driven by the CPU 11 to be described later. The means for realizing the functions shown in FIGS. 2 and 3 are configured.
The medium for recording the program is not limited to the ROM 12, but is read by a computer such as an HDD (Hard Disk Drive), a CD (Compact Disk) -ROM, an MO (Magnetic Optical Disk), a DVD (Digital Versatile Disk), or the like. Possible recording media can be used. The program may be provided by being stored on a computer connected to a network (not shown) such as the Internet and downloaded via the network.

図2は、画像形成装置(図1)のコントローラのソフトウェア構成を示すブロック図である。
コントローラ10内のソフトウェア構成は、プリンタコントロールシステム部104の制御下に、ホストPC20とデータの交換を行うネットワークI/F部102、操作パネル40の制御を行うパネルI/F部103、受け取った印刷コマンド(印刷データ)をもとにプリント出力用の画像データを生成するPDL部105、プリンタエンジン30に対し印刷指示等を行うエンジンI/F部106を有する。
FIG. 2 is a block diagram showing a software configuration of the controller of the image forming apparatus (FIG. 1).
Under the control of the printer control system unit 104, the software configuration in the controller 10 includes a network I / F unit 102 for exchanging data with the host PC 20, a panel I / F unit 103 for controlling the operation panel 40, and received prints. A PDL unit 105 that generates image data for print output based on a command (print data) and an engine I / F unit 106 that gives a print instruction to the printer engine 30 are included.

図3は、描画コアモジュールを有するPDL部(図2参照)のモジュール構成を示すブロック図である。
PDL部105は、プリンタコントロールシステム部104を介して受取ったPDLで記述された印刷コマンドを解析するPDLパーサ部120とPDLパーサ部120の解析結果をもとに描画処理及びプリント出力用の画像データへの変換処理を行う描画コアモジュール110よりなる。すなわち、PDLパーサ部120が、描画命令である印刷コマンドを取得する描画命令取得部として機能する。
描画コアモジュール110は、描画モジュールI/F113、中間データ保存部114、多値描画部115、カラー変換部116、CMYK2値変換部117の各部を有する。
FIG. 3 is a block diagram showing a module configuration of a PDL unit (see FIG. 2) having a drawing core module.
The PDL unit 105 analyzes the print command described in the PDL received via the printer control system unit 104, and the image data for drawing processing and print output based on the analysis result of the PDL parser unit 120 It comprises a drawing core module 110 that performs the conversion process. That is, the PDL parser unit 120 functions as a drawing command acquisition unit that acquires a print command that is a drawing command.
The drawing core module 110 includes the drawing module I / F 113, the intermediate data storage unit 114, the multi-value drawing unit 115, the color conversion unit 116, and the CMYK binary conversion unit 117.

描画モジュールI/F113は、PDLパーサ部120から解析結果であるテキスト、イメージ、ベクターグラフィックス、描画設定情報を受け取るためのI/Fである。
中間データ保存部114は、テキスト、イメージ、ベクターグラフィックス等の描画オブジェクトを表す描画データと、色値及び半透明描画処理(後記で詳述)の設定等の描画設定情報を保存するための機能部である。
多値描画部115は、中間形式保存部114から指定されたカラースペースでピクセルデータを描画するための機能部である。
カラー変換部116は、多値描画部115によって多値で描画されたデータからデバイスカラー(機器に依存する特性)へ変換するための機能部である。
CMYK2値変換部117は、カラー変換部116で処理されたデバイスカラーをCMYK(C:シアン,M:マゼンタ,Y:イエロー,K:ブラック)2値でハーフトーン処理を行うための機能部である。
なお、多値描画部115のカラースペースは、ページの始めに描画カラースペースとして指定されたものに従う。RGBカラースペースが指定された場合は、RGB各色8ビットで描画される。
The drawing module I / F 113 is an I / F for receiving text, images, vector graphics, and drawing setting information as analysis results from the PDL parser unit 120.
The intermediate data storage unit 114 has a function for storing drawing data representing drawing objects such as text, images, vector graphics, and drawing setting information such as color values and settings of semi-transparent drawing processing (described in detail later). Part.
The multi-value rendering unit 115 is a functional unit for rendering pixel data in the color space designated by the intermediate format storage unit 114.
The color conversion unit 116 is a functional unit for converting data drawn in multiple values by the multi-value drawing unit 115 into device colors (device-dependent characteristics).
The CMYK binary conversion unit 117 is a functional unit for performing halftone processing on the device colors processed by the color conversion unit 116 with CMYK (C: cyan, M: magenta, Y: yellow, K: black) binary. .
Note that the color space of the multi-value drawing unit 115 follows that specified as the drawing color space at the beginning of the page. When the RGB color space is designated, rendering is performed with 8 bits for each color of RGB.

描画コアモジュール110を有するPDL部105の構成を示す図3を参照しながら、PDLによって表した印刷コマンドの処理の流れを説明する。
先ず、PDLパーサ120は、印刷コマンドのPDLを解析する。この実施形態では、PDLパーサ120は、PostScript、PDF(Portable Document Format)、PCL(Printer Control Language)、XPS(eXtensible markup language Paper Specification)等の各PDLの構文の違いをそれぞれ解析する機能を有し、解析したPDLに対応して、描画コアモジュール110の描画モジュールI/F113をコールする。
描画モジュールI/F113は、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと、色値、ブラシ、半透明描画処理(後記で詳述)、線形状等の描画設定情報を得るためのI/Fとして、全てのPDLの描画に対応するI/Fとして機能する。
With reference to FIG. 3 showing the configuration of the PDL unit 105 having the drawing core module 110, the flow of processing of a print command represented by PDL will be described.
First, the PDL parser 120 analyzes the PDL of the print command. In this embodiment, the PDL parser 120 has the functions of PostScript, PDF (Portable Document Format), PCL (Printer Control Language), XPS (extended markup language Paper), etc. In response to the analyzed PDL, the drawing module I / F 113 of the drawing core module 110 is called.
The drawing module I / F 113 obtains drawing data representing drawing objects such as images, graphics, and characters, and drawing setting information such as color values, brushes, translucent drawing processing (detailed later), and line shapes. As an I / F, it functions as an I / F corresponding to all PDL drawing.

描画モジュールI/F113は、PostScriptを例にすると、以下のような動作で描画コマンドに対応する。
PostScriptでは、例えば、図4に示すような描画コマンドが発行される。即ち、この描画コマンドには、RGBカラースペースで(R,G,B)=(0.5,0.0,0.0)の色で、ページの左下を原点として、左下、右上座標をそれぞれ(100,100)、(200,200)で指定して矩形を描画するコマンドが記述されている。
この描画コマンドに対し、描画モジュールI/F113は、色を設定するI/Fをコールし、その後、矩形領域を設定するために座標を設定するI/Fと塗りつぶし指定するI/Fをコールすることで、描画コマンドに従い矩形を描画することができる。
Taking PostScript as an example, the drawing module I / F 113 responds to a drawing command by the following operation.
In PostScript, for example, a drawing command as shown in FIG. 4 is issued. In other words, this drawing command has a color of (R, G, B) = (0.5, 0.0, 0.0) in the RGB color space, and the lower left and upper right coordinates with the lower left corner of the page as the origin. A command for drawing a rectangle designated by (100, 100) and (200, 200) is described.
In response to this drawing command, the drawing module I / F 113 calls an I / F for setting a color, and then calls an I / F for setting coordinates and an I / F for specifying fill in order to set a rectangular area. Thus, a rectangle can be drawn according to the drawing command.

図5は、このとき描画モジュールI/F113が描画コマンドに応じて行う関数I/Fの設定例を示す図である。
この関数I/Fは、図5に記述するように、図4の描画コマンドに応じて関数シーケンスへの変換を行う。図5の関数シーケンスにおけるsetcolorの第1引数は、RGBカラースペースを指定し、第2から第4引数でRGB各色の色値を0.0から1.0の範囲で指定する。図5の例では、図4の描画コマンドに対応する(0.5,0.0,0.0)が記述されている。
また、図5の関数シーケンスにおけるrectangleは、矩形描画関数で左上座標と右下座標が指定される。図5の例では、図4の描画コマンドに対応する(100,100、200,200)が記述されている。
なお、他の言語も同様に描画モジュールI/F113をコールすることで、描画コマンドに応じた描画が可能である。
FIG. 5 is a diagram illustrating a setting example of the function I / F performed by the drawing module I / F 113 according to the drawing command at this time.
The function I / F is converted into a function sequence in accordance with the drawing command of FIG. 4 as described in FIG. The first argument of setcolor in the function sequence of FIG. 5 specifies the RGB color space, and the second to fourth arguments specify the color value of each RGB color in the range of 0.0 to 1.0. In the example of FIG. 5, (0.5, 0.0, 0.0) corresponding to the drawing command of FIG. 4 is described.
In addition, the rectangle in the function sequence of FIG. 5 is designated as the upper left coordinate and the lower right coordinate by the rectangle drawing function. In the example of FIG. 5, (100, 100, 200, 200) corresponding to the drawing command of FIG. 4 is described.
Similarly, other languages can call the drawing module I / F 113 to perform drawing according to the drawing command.

描画モジュールI/F113がコールされた後、中間データ保存部114により描画モジュールI/F113を介して得られる描画データと描画設定情報は、中間データとしてメモリ上またはファイル上に保存される。
上記した描画モジュールI/F113の動作例で説明すると、setcolor関数では、RGBカラースペースと色値(0.5,0.0,0.0)が設定され、これらを描画設定情報の一つとして得る。
描画データ(イメージ、グラフィックス、文字等の描画オブジェクト)を修飾するためのデータをグラフィックス状態といい、カラースペースと色値は、グラフィックス状態としてメモリ上に保存される。グラフィックス状態には、カラースペースと色値の他に、半透明描画処理のパラメータ、Raster Operation値、線幅などがある。
グラフィックス状態は、図形、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと関連付けて保存するときに各オブジェクトに共通なデータ構造を持つ。
After the drawing module I / F 113 is called, drawing data and drawing setting information obtained by the intermediate data storage unit 114 via the drawing module I / F 113 are stored as intermediate data on a memory or a file.
Explaining with the operation example of the drawing module I / F 113 described above, in the setcolor function, an RGB color space and a color value (0.5, 0.0, 0.0) are set, and these are set as one of the drawing setting information. obtain.
Data for modifying drawing data (drawing objects such as images, graphics, and characters) is called a graphics state, and a color space and color values are stored in the memory as a graphics state. The graphics state includes a semi-transparent rendering process parameter, a raster operation value, a line width and the like in addition to a color space and a color value.
The graphics state has a data structure common to each object when saved in association with drawing data representing drawing objects such as graphics, images, graphics, characters, and the like.

図6は、各種描画オブジェクトに共通する、中間データの保存に用いるデータ構造の1例を示す概念図である。なお、図6中の(A)、(B)、(C)は、3種の描画オブジェクトに対しグラフィックス状態(Gstatus)を関連付けて保存するときのデータ構造の例を示したもので、それぞれグラフィックス状態(Gstatus)を表すデータを保存するデータ部601と描画オブジェクトを表す描画データを保存するデータ部603よりなる。即ち、図6に示すよう情報は、描画すべき図形ごとに情報がまとめられた図形情報であり、描画モジュールI/F113が、図形情報生成部として機能する。
中間データのグラフィックス状態(Gstatus)を表すデータを保存するデータ部601には、描画データを修飾するためのデータとして、カラースペースと色値、線幅、半透明描画処理のパラメータ(半透明値)、Raster Operation値等の描画に共通な設定情報を保存する。図6に示す例では、固定長サイズのGstatusレコードを先頭に、次に描画オブジェクトを表す描画データのID番号がくる。
FIG. 6 is a conceptual diagram showing an example of a data structure used for storing intermediate data common to various drawing objects. In FIG. 6, (A), (B), and (C) show examples of data structures when graphics states (Gstatus) are stored in association with three types of drawing objects, respectively. The data section 601 stores data representing a graphics state (Gstatus) and the data section 603 stores drawing data representing a drawing object. That is, as shown in FIG. 6, the information is graphic information in which information is collected for each graphic to be drawn, and the drawing module I / F 113 functions as a graphic information generating unit.
A data portion 601 for storing data representing the graphics state (Gstatus) of the intermediate data includes, as data for modifying the drawing data, a color space, a color value, a line width, and a semi-transparent drawing process parameter (semi-transparent value). ), Setting information common to rendering such as a Raster Operation value is stored. In the example shown in FIG. 6, the ID number of the drawing data representing the drawing object comes next with the Gstatus record of the fixed length size at the head.

ID番号は、描画コマンド(描画オブジェクト)と対応付けられている。
図7は、ID番号と描画コマンドの対応表の1例を示すものである。同図の例では、描画コマンドとして、5種類が示されている。ID=0x00は矩形描画(Rectangle)を、ID=0x01は直線の描画(LineDraw)を、ID=0x02は直線で囲まれた領域の塗りつぶし(LineFill)を、ID=0x03はImageの描画を、ID=0x04は文字の描画を示す。
また、ID番号に続くパッディングバイトとflagの後には、描画コマンドに対応する描画関数の引数、イメージデータ、コードデータ等が保存される。
図5に示した描画モジュールI/F113がrectangle描画コマンドに応じて行う関数I/Fによるコールの例を引くと、このときに保存される中間データ、即ち、図6中の(A)のグラフィックス状態(Gstatus)には、カラースペースと色値が保存され、rectangleの座標はleft=100,top=100,right=200,bottom=200が保存される。なお、ID番号の次のバイトは、パッディングバイトで0が入る。また、flagは、描画コマンドの属性として使われる。属性の例としてRectangleコマンドをClip(描画領域を限定するコマンド)とする場合は、Clipであることを示すビットをONにする。
The ID number is associated with a drawing command (drawing object).
FIG. 7 shows an example of a correspondence table between ID numbers and drawing commands. In the example of FIG. 5, five types of drawing commands are shown. ID = 0x00 is a rectangle drawing (Rectangle), ID = 0x01 is a straight line drawing (LineDraw), ID = 0x02 is an area filled with a straight line (LineFill), ID = 0x03 is an Image drawing, = 0x04 indicates character drawing.
Further, after the padding byte and flag following the ID number, an argument of a drawing function corresponding to the drawing command, image data, code data, and the like are stored.
When an example of a call by a function I / F performed by the drawing module I / F 113 shown in FIG. 5 in response to a rectangle drawing command is taken, intermediate data stored at this time, that is, the graphic of (A) in FIG. In the G status, a color space and a color value are stored, and coordinates of the rectangle are stored as left = 100, top = 100, right = 200, and bottom = 200. The byte next to the ID number is a padding byte and 0 is entered. The flag is used as an attribute of a drawing command. As an example of the attribute, when the Rectangle command is set to Clip (command for limiting the drawing area), the bit indicating Clip is set to ON.

次に、多値描画部115の動作を説明する。
多値描画部115が行う描画処理は、中間データ保存部114によって保存された中間データをもとにピクセルデータを描画する処理で、プリント出力用の画像データ処理(カラー変換、ハーフトーニング等)の前段で行われる。描画結果のピクセルデータは、点順次に、即ち、ページ画像のピクセルの並び順に、メモリに保存される。換言すると、多値描画部115が生成する情報は、描画すべき図形を構成する画素の情報、即ち画素情報であり、多値描画部115が、画素情報生成部として機能する。
具体的には、設定されたカラースペースに従って各色8ビット(多値)の色値を表すカラープレーン、各ピクセルの属性をカラープレーンに対応付けて表すピクセル属性プレーン、半透明描画処理に用いる半透明値を表すディスティネーション透過プレーンの各プレーンのピクセルデータを点順次に描画する。
Next, the operation of the multilevel drawing unit 115 will be described.
The rendering process performed by the multi-value rendering unit 115 is a process of rendering pixel data based on the intermediate data stored by the intermediate data storage unit 114. Image data processing for print output (color conversion, halftoning, etc.) Performed in the first stage. The pixel data of the rendering result is stored in the memory in dot order, that is, in the order of arrangement of the pixels of the page image. In other words, the information generated by the multi-value drawing unit 115 is information of pixels constituting the graphic to be drawn, that is, pixel information, and the multi-value drawing unit 115 functions as a pixel information generation unit.
Specifically, according to the set color space, a color plane that represents an 8-bit (multi-value) color value for each color, a pixel attribute plane that associates the attribute of each pixel with the color plane, and translucent used for translucent rendering processing The pixel data of each plane of the destination transmission plane representing the value is drawn dot-sequentially.

図8(A)〜(D)は、中間データをもとに多値描画部115によって描画されるピクセルデータの各プレーンのデータ構成を示す概念図である。
図8(A)に示すカラープレーンは、ページ領域を描画するピクセルについて、点順示フォーマットで色値を保存する。同図に示す例は、カラースペースがRGB(RはRed、GはGreen、BはBlue)の場合で、RGB(各色8ビット)のピクセル色値が点順示に保存される。このカラープレーンは、同図に示すように、1ピクセル当たり4バイトを確保して実施する。なお、図8(A)中のPはパッティングバイト(パディングバイト)であり、カラースペースがRGBの場合には、Pの値は0が埋められる。なお、カラースペースがCMYKの場合4バイトを全部ピクセル色値で使用する。
図8(B)に示すカラープレーンは、本実施形態の要旨に係る構成であり、図8(A)と同様に、ページ領域を描画するピクセルについて店順次フォーマットで色値を保存する。ここで、図8(B)に示す態様は、図8(A)の態様のように、RGB各色8ビットのピクセル色値を保存するのではなく、256色、即ち8ビットのルックアップテーブルへのインデックス値である8ビットのデータ(図8(B)中に「Id」として示す)を保存する。従って、図8(B)に示すカラープレーンの場合、1ピクセルあたり1バイトが確保される。
8A to 8D are conceptual diagrams showing the data configuration of each plane of pixel data drawn by the multi-value drawing unit 115 based on the intermediate data.
The color plane shown in FIG. 8A stores color values in a dot order format for pixels for drawing a page area. In the example shown in the figure, the color space is RGB (R is Red, G is Green, and B is Blue), and RGB (8 bits for each color) pixel color values are stored in a dot order. As shown in the figure, this color plane is implemented by securing 4 bytes per pixel. Note that P in FIG. 8A is a putting byte (padding byte), and when the color space is RGB, 0 is padded with the value of P. When the color space is CMYK, all 4 bytes are used as pixel color values.
The color plane shown in FIG. 8B is a configuration according to the gist of the present embodiment, and stores the color values in the store sequential format for the pixels for drawing the page area, as in FIG. 8A. Here, the mode shown in FIG. 8B does not store 8-bit pixel color values for each color of RGB, as in the mode of FIG. 8A, but rather a 256 color, that is, 8-bit lookup table. 8 bit data (indicated as “Id” in FIG. 8B) is stored. Therefore, in the case of the color plane shown in FIG. 8B, 1 byte is secured per pixel.

図8(C)に示すピクセル属性プレーンは、上記で説明した中間データ(図6に示したデータ構造、参照)に示される描画オブジェクトを表す描画データがピクセルデータを描画するときに消失してしまうと、各描画オブジェクトの特性をプリント出力用の画像データに反映できなくなるので、ピクセルの属性として描画オブジェクトを関連付けるために作られる。
この実施形態では、各ピクセルの属性を表すデータ値(図8(C)中に「A」として示す)を8ビットで持つ。8ビットであれば各ビットで夫々の属性を表現することにより、少なくとも8種類の属性値を表現できる。属性を表すデータ値は、描画されたピクセルが文字、イメージ、グラフィックス等の描画オブジェクト種類のいずれに属するかの判断のために使用される。尚、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断するためには、いずれにも属さない場合も含めて4種類を判断することができれば良く、少なくとも2ビットで判断可能である。
更に、本実施形態に係るピクセル属性プレーンは、カラープレーンのデータが、図8(A)に示すようなカラーデータそのものの形式であるか、図8(B)に示すようなルックアップテーブルの形式であるかを示す情報(以降、カラープレーン形式情報とする)が含まれる。このカラープレーン形式情報は、図8(A)の場合と図8(B)の場合との2通りを識別すれば良いため、1ビットで可能である。
図8(D)に示す半透明描画処理に用いるディスティネーション透過プレーンは、描画先(ディスティネーション)の半透明描画処理に用いる半透明値(図8(D)中に「T」として示す)を8ビットで持つ。なお、透過プレーンの使用方法については、後記で詳細に説明する。
The pixel attribute plane shown in FIG. 8C is lost when the drawing data representing the drawing object shown in the intermediate data (see the data structure shown in FIG. 6) described above is drawn. Since the characteristics of each drawing object cannot be reflected in the image data for print output, it is created to associate the drawing object as a pixel attribute.
In this embodiment, the data value (indicated as “A” in FIG. 8C) representing the attribute of each pixel has 8 bits. If there are 8 bits, at least 8 types of attribute values can be expressed by expressing each attribute with each bit. A data value representing an attribute is used for determining whether a drawn pixel belongs to a drawing object type such as a character, an image, or a graphic. It should be noted that in order to determine whether the type of the drawing object to which the pixel belongs belongs to any one of character, image, and graphics, it is sufficient to be able to determine four types including those not belonging to any, at least 2 It can be judged by bit.
Furthermore, in the pixel attribute plane according to the present embodiment, the color plane data is in the format of the color data itself as shown in FIG. 8A or the format of the lookup table as shown in FIG. Is included (hereinafter referred to as color plane format information). This color plane format information can be one bit because it is sufficient to identify two types of cases, FIG. 8A and FIG. 8B.
The destination transmission plane used for the translucent drawing process shown in FIG. 8D has a translucent value (indicated as “T” in FIG. 8D) used for the translucent drawing process of the drawing destination (destination). It has 8 bits. The method of using the transmission plane will be described in detail later.

図8(A)〜(D)の各プレーンは、メモリが1ページ分確保できる場合には、図6に示したデータ構造で保存された中間データを保存された順番に取り出して、指定されたアドレス(座標データ)に書込むことにより作られる。図8(A)〜(D)の各プレーンは、夫々画素の彩色情報、画素の属性情報及び画素が構成する図形の半透明描画の情報について、予め確保されたメモリ上の記憶領域である。
図6に示したデータ構造では、描画コマンド(ID番号)を識別することで、ピクセル属性としての描画オブジェクトとピクセルのアドレス(座標データ)とが得られ、これらのデータに基づいて、ピクセル属性プレーンにデータを書込む。同時に、当該描画コマンドのGstatus(グラフィックス状態)からカラースペースと色値、半透明描画処理のパラメータとしての半透明値、Raster Operation値等が得られ、これらのデータに基づいて、カラープレーン、ディスティネーション透過プレーンそれぞれにデータを書込む。
このとき、図8(B)に示すように、カラープレーン上で表す色値をインデックス値で表す場合、このインデックス値は、カラールックアップテーブルによって色値と関連付けられる。これにより、後の画像処理においてルックアップテーブルを参照することにより、色値を復元することができる。インデックス値を採用することにより、1バイトで1ピクセル分のデータを表すことが可能となり、
処理するデータ量を低減できる。
また、書き込む際に、以下に示すRaster Operation又は半透明描画処理を行う。
Each plane in FIGS. 8A to 8D is designated by extracting the intermediate data stored in the data structure shown in FIG. 6 in the order of storage when the memory can be secured for one page. It is created by writing to the address (coordinate data). Each of the planes in FIGS. 8A to 8D is a storage area on a memory reserved in advance for the color information of the pixel, the attribute information of the pixel, and the information on the semi-transparent drawing of the figure formed by the pixel.
In the data structure shown in FIG. 6, by identifying a drawing command (ID number), a drawing object as a pixel attribute and a pixel address (coordinate data) are obtained. Based on these data, a pixel attribute plane is obtained. Write data to. At the same time, a color space and color value, a translucent value as a parameter of the translucent rendering process, a raster operation value, and the like are obtained from Gstatus (graphics state) of the rendering command. Based on these data, the color plane, Write data to each Nation transparent plane.
At this time, as shown in FIG. 8B, when the color value represented on the color plane is represented by an index value, the index value is associated with the color value by the color lookup table. Thus, the color value can be restored by referring to the lookup table in the subsequent image processing. By adopting an index value, it is possible to represent 1 pixel of data in 1 byte,
The amount of data to be processed can be reduced.
Further, when writing, the following Raster Operation or translucent drawing process is performed.

ROP(Raster Operation)は、Windows(登録商標)OS(Operating System)のグラフィックスエンジンで使われる画像処理であり、同じ領域に重なる図形の色値をRGB各色毎にビット演算をする処理である。ビット演算は、OR,XOR,ANDがある。
他方、半透明描画処理は、Windows(登録商標) Vista(登録商標)でサポートされるXPSやPDFで使われる画像処理で、同じ領域に重なる色値の透過割合を0%から100%で指定することで半透明描画する処理である。
通常、ROPと半透明描画処理が同時に使われることはないが、使われていてもよい。
ROP (Raster Operation) is image processing used in a graphics engine of Windows (registered trademark) OS (Operating System), and is a process of performing bit operations on color values of graphics overlapping in the same area for each color of RGB. Bit operations include OR, XOR, and AND.
On the other hand, the translucent rendering process is an image process used in XPS or PDF supported by Windows (registered trademark) Vista (registered trademark), and specifies the transmission ratio of color values overlapping the same area from 0% to 100%. This is a process of rendering translucent.
Usually, ROP and translucent drawing processing are not used at the same time, but they may be used.

ROPが行われる場合は、ディスティネーション透過プレーン(図8(D)、参照)には書込みは行わない。また、Gstatus(グラフィックス状態)から得られるRaster Operation値(ID)によって、重なる画像(ピクセル)の色値同士でOR,XOR,ANDのビット演算を実施し、演算結果をカラープレーンの当該ピクセルのRGB色値(各色8ビット)データとして書込む。
なお、Gstatus(グラフィックス状態)に保存されているROPを指定するIDは、0〜255までの256通りあり、それぞれどのようなビット演算が行うか予め定義されている。この定義に従ってRGB各色毎にソースとディスティネーションのビット演算を実施する。
また、ビット演算を実施した後に、ピクセル属性プレーンに描画したピクセルのオブジェクト情報(文字、イメージ、グラフィックス)をピクセルの属性として点順次に書込む。
When ROP is performed, writing is not performed on the destination transmission plane (see FIG. 8D). In addition, the OR, XOR, and AND bit operations are performed between the color values of the overlapping images (pixels) by using the raster operation value (ID) obtained from Gstatus (graphics state), and the calculation result is calculated for the corresponding pixel of the color plane. Write as RGB color value (8 bits for each color) data.
Note that there are 256 IDs from 0 to 255 that designate ROPs stored in Gstatus (graphics state), and each bit operation is defined in advance. In accordance with this definition, bit calculation of the source and destination is performed for each color of RGB.
In addition, after performing the bit operation, the pixel object information (character, image, graphics) drawn on the pixel attribute plane is written dot-sequentially as the pixel attribute.

半透明描画処理は、次に示す処理方法で実施する。
この実施形態で採用する半透明描画処理は、大別すると、描画対象のソースデータに対してのみ処理条件を設定する場合と、ソースデータ(重ねるデータ)と描画後のディスティネーションデータ(描画先のデータ)の両方に処理条件を設定する場合がある。
前者の場合、ソースとディスティネーションそれぞれのピクセルの色値を、ソース:S、ディスティネーション:Dとし、ソースの半透明値(0から1の間をとる)を半透明値:αとすると、半透明描画処理後の色値:NewDは、下記式(1)に基づいて算出することができる。
NewD = S*α+(1−α)*D ・・・式(1)
この半透明描画後の色値を算出する処理は、RGBの各色毎に行う。また、上記のようにソースデータに対してのみ、ソースα処理条件を設定する場合、ディスティネーション透過プレーン(図8(D)、参照)は、使用しない。
The translucent drawing process is performed by the following processing method.
The semi-transparent rendering process employed in this embodiment can be broadly divided into a case where processing conditions are set only for source data to be rendered, source data (overlapping data), and destination data after rendering (drawing destination data). In some cases, processing conditions are set for both (data).
In the former case, if the color value of each pixel of the source and destination is source: S, the destination: D, and the translucency value of the source (between 0 and 1) is translucent value: α, The color value NewD after the transparent drawing process can be calculated based on the following formula (1).
NewD = S * α + (1−α) * D (1)
The process of calculating the color value after the semi-transparent drawing is performed for each color of RGB. Further, when the source α processing condition is set only for the source data as described above, the destination transmission plane (see FIG. 8D) is not used.

また、ソースデータと描画後のディスティネーションデータの両方に処理条件を設定する場合、
As:ソースの半透明値
Ad:ディスティネーション半透明値
Ad’:描画後のディスティネーション半透明値
Cs:ソース色値
Cd:ディスティネーション色値
Cd’:描画後のディスティネーション色値
とすると、Ad’及びCd’は、それぞれ例えば下記式(2)及び式(3)に基づいて算出することができる。
Ad’ = (1−As)*Ad+As ・・・式(2)
Cd’ = ((1−As)*Ad*Cd+As*Cs)/Ad’ ・・・式(3)
Also, when setting the processing conditions for both the source data and the destination data after drawing,
As: Source translucent value Ad: Destination translucent value Ad ′: Destination translucent value after drawing Cs: Source color value Cd: Destination color value Cd ′: Destination color value after drawing Ad 'And Cd' can be calculated based on, for example, the following formulas (2) and (3), respectively.
Ad ′ = (1-As) * Ad + As (2)
Cd ′ = ((1−As) * Ad * Cd + As * Cs) / Ad ′ (3)

上記式(2)に基づいて算出される描画後のディスティネーション半透明値Ad’は、ディスティネーション透過プレーン(図8(D)、参照)の該当ピクセルに描画されることになる。
ソースの半透明値Asは、Gstatus(グラフィックス状態)に設定されている。
多値描画部115が中間データの描画オブジェクトをページメモリに描画する場合、Gstatusに設定されている描画対象オブジェクトの半透明描画処理に用いる半透明値、色値を取り出して、またディスティネーションのカラープレーンに設定されている色値、同じくディスティネーション透過プレーンに設定されているディスティネーション半透明値を使用して、新たなディスティネーション色値とディスティネーション半透明値を計算して、算出値によりそれぞれの値を更新する。
なお、半透明描画処理の処理方法は、同一ページを処理する場合1つの方法に定められているので、複数の処理方法が混在することはない。
The destination translucent value Ad ′ after drawing calculated based on the above equation (2) is drawn on the corresponding pixel of the destination transmission plane (see FIG. 8D).
The source translucency value As is set to Gstatus (graphics state).
When the multi-value drawing unit 115 draws the drawing object of the intermediate data in the page memory, the translucent value and the color value used for the semi-transparent drawing process of the drawing target object set in Gstatus are extracted, and the color of the destination Calculate the new destination color value and destination translucency value using the color value set for the plane, and the destination translucency value set for the destination transmission plane, respectively. Update the value of.
Note that, since the processing method of the translucent rendering process is determined as one method when processing the same page, a plurality of processing methods will not be mixed.

以上の説明は、図8(A)に示すカラープレーンへRGBデータを書込む多値描画処理の場合を説明したが、CMYK各色8ビットで描画する場合は、図8(A)に示すカラープレーンにおける1ピクセル当たりパッディングバイトPを有するPRGB32ビットで表現していたものをCMYK32ビットで描画するように置き換えればよい。つまり、パッティングバイトPは設ける必要はない。なお、グレースケールの場合は1ピクセル当たり8ビットで描画することになる。
また、中間データのGstatusに半透明描画処理に用いる半透明値があるか否かを確認することにより半透明描画処理の有無を判定する手段を備え、この半透明描画処理判定手段によって半透明描画処理がないと判断された場合に、色値を表すプレーンとして、多値をCMYK2値形式の色値で表す描画処理を行うようにしてもよい。
In the above description, the case of multi-value drawing processing in which RGB data is written to the color plane shown in FIG. 8A has been described. However, when drawing with 8 bits for each color of CMYK, the color plane shown in FIG. In this case, what is expressed by 32 bits of PRGB having padding bytes P per pixel in the above may be replaced with drawing by 32 bits of CMYK. That is, it is not necessary to provide the putting bit P. In the case of gray scale, drawing is performed with 8 bits per pixel.
In addition, it is provided with means for determining whether or not there is a semi-transparent drawing process by checking whether or not the Gdata of the intermediate data has a semi-transparent value used for the semi-transparent drawing process. When it is determined that there is no processing, a rendering process may be performed in which multivalues are represented by color values in the CMYK binary format as a plane representing color values.

ここで、多値描画処理によって保存されるピクセルデータの保存方法について説明する。
この種の画像形成装置では、多値描画処理によって、色値の他に、ピクセルの属性と半透明値をピクセルデータとして生成し、これらのデータをプリント出力に用いるために保存する。このピクセルデータの保存方法は、従来技術のように、ピクセル単位に順番に配置すると、1ピクセルは5バイト単位のアクセスになってしまい、4バイト(32ビット)のレジスタで構成されるCPUにとってアクセス効率の低下を招くことは、先に述べたとおりである。
そこで、プリント出力に用いる際、保存したピクセルデータを読出す時のアクセス効率を高めることができる保存方法をこの実施形態では採用する。
Here, a storage method of pixel data stored by the multi-value drawing process will be described.
In this type of image forming apparatus, pixel attributes and translucent values are generated as pixel data in addition to color values by multi-value drawing processing, and these data are stored for use in print output. In this pixel data storage method, when the pixels are arranged in order as in the prior art, one pixel is accessed in units of 5 bytes, which is accessed by a CPU composed of 4-byte (32-bit) registers. As described above, the efficiency is reduced.
Therefore, in this embodiment, a storage method that can improve the access efficiency when reading the stored pixel data when used for print output is adopted.

ピクセルデータを保存する形態として、概念的には3種の別プレーンとする例について、図8を参照して説明した。ただ、実際の各プレーンの保存形態は、別の記憶領域を利用して保存する必要はなく、プレーンを統合して保存する方法を採ることが可能である。
この実施形態では、先ず、カラープレーンには、図8(A)に示したように、1ピクセルあたり4バイトで点順次に色値を保存するので、4バイト構成のレジスタを持つCPUからのアクセスに都合がよい。よって、カラープレーンは、図8(A)に示したフォーマットで保存する方法を採用する。
As an example of storing pixel data, an example of conceptually using three different planes has been described with reference to FIG. However, the actual storage mode of each plane does not need to be stored using a separate storage area, and a method of storing planes in an integrated manner can be adopted.
In this embodiment, first, as shown in FIG. 8A, color values are stored dot-sequentially at 4 bytes per pixel in the color plane, so access from a CPU having a 4-byte configuration register. Convenient to. Therefore, the color plane is stored in the format shown in FIG.

また、ピクセル属性プレーンには、ピクセル属性としてのオブジェクト情報(文字、イメージ、グラフィックス)を保存するために必要な容量として、1ピクセルあたり1バイトを確保できればよく、ディスティネーション透過プレーンには、ディスティネーション半透明値を保存するために必要な容量として、1ピクセルあたり1バイトを確保できればよい。よって、ピクセル属性とディスティネーション透過の両プレーンをまとめて1ピクセルあたり2バイトで保存する統合プレーンを用いる方法を採用する。この方法によると、1回のアクセスで、ピクセル属性としてのオブジェクト情報とディスティネーション半透明値の2ピクセル分を取得できる。
図9は、ピクセル属性とディスティネーション透過の両プレーンを統合したフォーマットの概念図を示す。同図に示すように、統合プレーンには、ページ領域を描画するピクセルについて、点順示フォーマットでピクセル属性Aとディスティネーション半透明値Tをまとめて保存する。
Further, the pixel attribute plane only needs to secure 1 byte per pixel as a capacity necessary for storing object information (characters, images, graphics) as the pixel attribute. It is only necessary to secure 1 byte per pixel as a capacity necessary for storing the nation translucency value. Therefore, a method of using an integrated plane that stores both the pixel attribute plane and the destination transmission plane together at 2 bytes per pixel is adopted. According to this method, it is possible to acquire object information as a pixel attribute and a destination translucent value of two pixels in one access.
FIG. 9 is a conceptual diagram of a format in which both the pixel attribute plane and the destination transmission plane are integrated. As shown in the drawing, the pixel attribute A and the destination translucent value T are collectively stored in a dot order format for the pixels in which the page area is drawn in the integrated plane.

上記のピクセルデータの保存方法をとることで、カラープレーンの4バイトと統合(ピクセル属性+ディスティネーション半透明値)プレーンの2バイトを1ピクセル分としてアクセスを行うことができる。つまり、1.5回の読出しコマンドで1ピクセルデータの読出しができるようになって、少ないコマンド数でピクセルデータの読出しができるために、処理効率を高めることができる。
なお、カラープレーンに4バイトを確保するので、CMYKの場合についても、1.5回の読出しコマンドで1ピクセルデータの読出しができることに変わりがなく、RGB,CMYKいずれも効率よくハンドリングでき、3種のプレーンに保存されたピクセルデータを、以後に行うカラー変換、ハーフトーニング等のプリント出力用の画像データの処理の効率化が図れる。
By using the pixel data storage method described above, it is possible to perform access by using 4 bytes of the color plane and 2 bytes of the integrated (pixel attribute + destination translucent value) plane as one pixel. That is, one pixel data can be read out by 1.5 times of read commands, and pixel data can be read out with a small number of commands, so that the processing efficiency can be improved.
In addition, since 4 bytes are secured in the color plane, even in the case of CMYK, there is no change in that one pixel data can be read with a read command of 1.5 times, and both RGB and CMYK can be handled efficiently. It is possible to improve the efficiency of processing image data for print output such as color conversion and halftoning performed on the pixel data stored in the plane.

更に、上述したように、本実施形態においては、カラープレーンの情報においてルックアップテーブルを採用することにより、1ピクセルあたり1バイトで点順次にインデックス値を保存する。この場合、4バイト構成のレジスタを有するCPUからのアクセスでは1アクセスで4ピクセル分のインデックス値を取得することができる。上述した統合プレーンにおいて4ピクセル分を読み出すためには2回のアクセスが必要であるため、合計3回のアクセスで4ピクセル分のデータの読み出しができ、更に画像処理の処理効率を向上することができる。以下、ルックアップテーブルを採用する場合について説明する。   Furthermore, as described above, in the present embodiment, the index value is stored dot-sequentially at 1 byte per pixel by employing a look-up table in the color plane information. In this case, when accessing from a CPU having a 4-byte configuration register, an index value for four pixels can be acquired by one access. In order to read 4 pixels in the integrated plane described above, it is necessary to access twice, so that data of 4 pixels can be read out with a total of 3 accesses, and the processing efficiency of image processing can be further improved. it can. Hereinafter, a case where a lookup table is employed will be described.

図10は、本実施形態に係るルックアップテーブルの例である。図10に示すように、本実施形態に係るルックアップテーブルにおいては、カラー値、即ち画素の彩色を示す情報が、夫々を識別するインデックス値と関連付けられている。即ち、本実施形態に係るルックアップテーブルは、彩色参照情報として用いられる。図10に示すように、本実施形態においては、インデックス0から255までの256通りのカラー値を登録することができる。また、図10に示すように、テーブルを構成するカラー値は、各色8ビットのRGBもしくはCMYKの場合があり、中間データのカラースペースに応じて用いられる。図10に示すルックアップテーブルの要素値は、多値描画手段が一番初めに実行される初期段階では全て“0”で初期化されている。
次に、図10に示すルックアップテーブルの作成方法について説明する。上述したように、多値描画部115は、図6において説明したような中間データの描画オブジェクトを逐次描画していく。その際、多値描画部115は、GStatusに含まれるカラーデータ値を取得し、ルックアップテーブル上にそのカラーデータの色が登録されているか否か調べる。そして、登録されている場合、多値描画部115は、そのインデックス値を取得し、図8(B)において説明したように、インデックス値をカラープレーンに格納する。
他方、GStatusに含まれるカラーデータの色が登録されていない場合、多値描画部115は、ルックアップテーブルに新規にそのカラーデータを登録し、そのインデックス値を取得する。そして、多値描画部115は、取得したインデックス値をカラープレーンに格納する。このような処理により、図8(B)に示すようにカラープレーンにインデックス値が格納される。
FIG. 10 is an example of a lookup table according to the present embodiment. As shown in FIG. 10, in the lookup table according to the present embodiment, the color value, that is, information indicating the color of the pixel is associated with an index value for identifying each. That is, the lookup table according to the present embodiment is used as color reference information. As shown in FIG. 10, in the present embodiment, 256 color values from index 0 to 255 can be registered. As shown in FIG. 10, the color values constituting the table may be 8-bit RGB or CMYK for each color, and are used according to the color space of the intermediate data. The element values of the lookup table shown in FIG. 10 are all initialized to “0” at the initial stage when the multi-value drawing means is executed first.
Next, a method for creating the lookup table shown in FIG. 10 will be described. As described above, the multi-value rendering unit 115 sequentially renders the intermediate data rendering object as described in FIG. At that time, the multi-value rendering unit 115 acquires the color data value included in GStatus and checks whether the color of the color data is registered on the lookup table. If registered, the multi-value rendering unit 115 acquires the index value, and stores the index value in the color plane as described in FIG. 8B.
On the other hand, when the color of the color data included in GStatus is not registered, the multi-value rendering unit 115 newly registers the color data in the lookup table and acquires the index value. Then, the multilevel drawing unit 115 stores the acquired index value in the color plane. By such processing, the index value is stored in the color plane as shown in FIG.

次に、GStatusに含まれるカラーデータが、ルックアップテーブル上に登録されているか否かを判断する方法について説明する。本実施形態において、多値描画部115は、ハッシュ法と呼ばれる方法を用いて、ルックアップテーブル上にカラーデータが登録されているか否かを判断する。以下、ハッシュ法について説明する。
ハッシュ法とは、検索対象(この場合、カラーデータのカラー値)をハッシュ関数を用いて変換してハッシュ値を求め、そのハッシュ値に基づいて検索を行う方法であり、予め検索対象を絞り込むことによって検索処理についての処理負荷を低減することができる。図11は、ハッシュ法におけるデータ構造を示す図である。図11に示すように、ハッシュ法においては、まずハッシュ値の羅列であるハッシュ値テーブルが設けられており、本実施形態においては、“0”〜“255”までの256個の値のテーブルがハッシュ値テーブルとして設けられている。
また、ハッシュ値テーブルに含まれる各ハッシュ値には、ルックアップテーブルに登録された各カラーデータに関連付けられたハッシュレコードが登録されている。図11においては、ハッシュ値テーブルのうち“2”のハッシュ値について、2つのハッシュレコードが登録されている例が示されている。図11に示すように、各ハッシュレコードは、“Id”、“Tblptr”、“Next”のデータを含む。“Id”は、対応するルックアップテーブルのインデックス値を示す。“Tblptr”は、対応するルックアップテーブルのカラーデータへのポインタである。“Next”は、同一のハッシュ値に登録されている次のハッシュレコードへのポインタである。尚、図11に示すように、次のレコードがない場合、“Next”はNull値となっている。
図11の例においては、ハッシュ値“2”には2つのハッシュレコードが登録されており、その2つのハッシュレコードは、夫々ルックアップテーブルのインデックス値“0”、“1”に関連付けられている。これは、ルックアップテーブルのインデックス値“0”及び“1”のカラーデータのハッシュ値が、共に“2”になることを示す。
Next, a method for determining whether or not the color data included in GStatus is registered on the lookup table will be described. In the present embodiment, the multi-value rendering unit 115 determines whether color data is registered on the lookup table using a method called a hash method. Hereinafter, the hash method will be described.
The hash method is a method of obtaining a hash value by converting a search target (in this case, the color value of color data) using a hash function, and performing a search based on the hash value. The search target is narrowed down in advance. As a result, the processing load on the search process can be reduced. FIG. 11 is a diagram illustrating a data structure in the hash method. As shown in FIG. 11, in the hash method, a hash value table that is a list of hash values is provided. In this embodiment, a table of 256 values from “0” to “255” is provided. It is provided as a hash value table.
In addition, hash records associated with the color data registered in the lookup table are registered in the hash values included in the hash value table. FIG. 11 shows an example in which two hash records are registered for the hash value “2” in the hash value table. As shown in FIG. 11, each hash record includes data of “Id”, “Tblptr”, and “Next”. “Id” indicates the index value of the corresponding lookup table. “Tblptr” is a pointer to the color data of the corresponding lookup table. “Next” is a pointer to the next hash record registered in the same hash value. As shown in FIG. 11, when there is no next record, “Next” is a Null value.
In the example of FIG. 11, two hash records are registered in the hash value “2”, and the two hash records are associated with the index values “0” and “1” of the lookup table, respectively. . This indicates that the hash values of the color data having the index values “0” and “1” in the lookup table are both “2”.

次に、多値描画部115が、ハッシュ法を用いてインデックス値を得る方法について説明する。まず、中間データのGStatusからカラーデータを得ると、多値描画部115は、ハッシュ値を計算する。本実施形態において、多値描画部115は、以下の式(4)をハッシュ関数としてハッシュ値を求める。
Hash(x)=(R+G+B)%256 ・・・式(4)
上記式(4)は、ハッシュ値として、GStatusから得られたR、G、Bの各値を足して256除算した余りを求めることを示している。この256は、図11に示すハッシュ値テーブルのテーブルサイズに等しく、式(4)により、0〜255までのいずれかの値がハッシュ値として算出される。尚、R、G、Bの値が互いに異なる場合であっても、その和が同一であり、結果的にハッシュ値が同一になる場合がある。その場合に、図11のハッシュ値“2”のように、複数のレコードが1つのハッシュ値に登録されることとなる。
多値描画部115は、式(4)によりカラーデータのハッシュ値を求めると、そのハッシュ値に登録されたハッシュレコードに関連付けられたルックアップテーブルを参照し、R、G、Bの各値を比較する。R、G、Bの各値が同一のカラーデータがルックアップテーブルに見つかるか、そのハッシュ値に登録されたハッシュレコードのリストの最後に到達するまで、即ち、“Next”がNull値となるまで、R、G、B値の比較を繰り返すことにより、同一のカラーデータが既にルックアップテーブルに登録されていないか否か判断する。
R、G、Bの各値が同一のカラーデータがルックアップテーブルに見つかった場合、多値描画部115は、処理中のピクセルのカラーデータが、既にルックアップテーブルに登録されていると判断する。他方、R、G、Bの各値が同一のカラーデータがルックアップテーブルに見つからず、リストの最後に到達した場合、多値描画部115は、処理中のピクセルのカラーデータは、ルックアップテーブルに登録されていないと判断し、ルックアップテーブルへのカラーデータの登録処理を行う。
Next, a method in which the multilevel drawing unit 115 obtains an index value using the hash method will be described. First, when color data is obtained from GStatus of intermediate data, the multi-value rendering unit 115 calculates a hash value. In the present embodiment, the multi-value drawing unit 115 obtains a hash value using the following formula (4) as a hash function.
Hash (x) = (R + G + B)% 256 Formula (4)
The above equation (4) indicates that the remainder obtained by adding the R, G, and B values obtained from GStatus and dividing by 256 is obtained as the hash value. This 256 is equal to the table size of the hash value table shown in FIG. 11, and any value from 0 to 255 is calculated as the hash value by the equation (4). Even when the values of R, G, and B are different from each other, the sum is the same, and as a result, the hash values may be the same. In this case, a plurality of records are registered in one hash value as in the hash value “2” in FIG.
When the multi-value rendering unit 115 obtains the hash value of the color data according to the equation (4), the multi-value rendering unit 115 refers to the lookup table associated with the hash record registered in the hash value, and calculates the R, G, and B values. Compare. Until color data having the same R, G, B value is found in the lookup table or until the end of the list of hash records registered in the hash value is reached, that is, until “Next” becomes a Null value. , R, G, and B values are repeatedly compared to determine whether the same color data has already been registered in the lookup table.
When color data having the same R, G, and B values is found in the lookup table, the multi-value rendering unit 115 determines that the color data of the pixel being processed is already registered in the lookup table. . On the other hand, when color data having the same R, G, and B values is not found in the lookup table and reaches the end of the list, the multi-value rendering unit 115 determines that the color data of the pixel being processed is the lookup table. The color data is registered in the lookup table.

ルックアップテーブルへのカラーデータの登録処理においては、まず、ルックアップテーブルにおける新規インデックス値を取得する。このインデックス値は、たとえばグローバル変数として保存しておき、ルックアップテーブルに新規なデータが登録される度に1足しておけば、“0”〜“255”まで順番にインデックス値を割り当てることができる。
ルックアップテーブルにおける新規インデックス値を取得すると、多値描画部115は、取得した新規なインデックス値に対応するルックアップテーブルに、中間データのGStatusから取得したカラーデータを書き込む。例えば、図11においてハッシュ値“2”の2番目のハッシュレコードを新規登録する場合、ルックアップテーブルのインデックス値“1”のデータにカラーデータを書き込む。
そして、多値描画部115は、カラーデータを新規登録したルックアップテーブル上のアドレスを、ハッシュレコードの“TblPtr”に書き込むと共に、このハッシュレコードのアドレスを、1つ前のハッシュレコードの“Next”に書き込む。また、多値描画部115は、最初に取得した新規インデックス値をカラープレーンに格納する。最後に、多値描画部115は、属性プレーンに、対象のピクセルのカラープレーンが、ルックアップテーブルの形式であることを示すビットを書き込む。このような処理により、多値描画部115によるピクセルデータの保存処理が完了する。
図12に、属性プレーンにおける1バイト中において、各ビットに割り当てられる情報の例を示す。図12に示すように、本実施形態に係る属性プレーンの各バイトにおいては、各ピクセルの属性を示す情報として2ビットが割り当てられている。そして、カラープレーンの形式を示す情報に1ビットが割り当てられている。上述したように、属性プレーン等の各プレーンのデータは多値描画部115によって生成される。即ち、図12に示すような情報は、多値描画部115によって生成される。そして、カラー変換部116は、図12に示すような属性プレーンの情報を参照して、カラープレーンの処理方法を決定する。
In the process of registering color data in the lookup table, first, a new index value in the lookup table is acquired. If this index value is stored as, for example, a global variable and added one time each time new data is registered in the lookup table, the index value can be assigned in order from “0” to “255”. .
When the new index value in the lookup table is acquired, the multi-value rendering unit 115 writes the color data acquired from the GStatus of the intermediate data in the lookup table corresponding to the acquired new index value. For example, when a second hash record having a hash value “2” in FIG. 11 is newly registered, color data is written into data having an index value “1” in the lookup table.
Then, the multi-value rendering unit 115 writes the address on the lookup table in which color data is newly registered in “TblPtr” of the hash record, and uses the address of this hash record as “Next” of the previous hash record. Write to. In addition, the multi-value rendering unit 115 stores the new index value acquired first in the color plane. Finally, the multi-value rendering unit 115 writes a bit indicating that the color plane of the target pixel is in the look-up table format in the attribute plane. By such processing, the pixel data storage processing by the multi-value rendering unit 115 is completed.
FIG. 12 shows an example of information assigned to each bit in one byte in the attribute plane. As shown in FIG. 12, in each byte of the attribute plane according to the present embodiment, 2 bits are assigned as information indicating the attribute of each pixel. One bit is assigned to the information indicating the format of the color plane. As described above, the data of each plane such as the attribute plane is generated by the multilevel drawing unit 115. That is, information as shown in FIG. 12 is generated by the multi-value drawing unit 115. Then, the color conversion unit 116 determines the color plane processing method with reference to the attribute plane information as shown in FIG.

ここで、図10において説明したように、本実施形態においてルックアップテーブルに登録可能なカラーデータの個数は256個である。しかしながら、画像形成出力すべき画像によっては、256色以上の色が必要となる場合もあり得る。
多値描画部115では、中間データ上にある描画オブジェクトに何色が用いられているかを認識することができない。中間データを登録する場合にカラー数をカウントする方法もあるが、更に描画する過程で色が増える場合がある。例えば、ROP処理ではソースデータとディスティネーションデータのビット演算をすることで新しい色が生成される。また、半透明描画においても同様に色が増える。このような場合に、ルックアップテーブルの登録数が不足することが考えられる。
具体的には、上述したようにグローバル変数として保存されているインデックス値が“256”である場合、既にルックアップテーブルが一杯であることを示している。この場合、多値描画部115は、カラープレーンのピクセルデータをルックアップテーブル形式ではなく、図8(A)において説明したようなカラーデータの形式で格納する。そして、属性プレーンに、対象のピクセルのカラープレーンが、カラーデータの形式であることを示すビットを書き込む。
このような処理により、可能な限りルックアップテーブル形式を採用してカラープレーンのデータを格納してメモリアクセス回数を低減し、ルックアップテーブルが一杯になった場合でもカラーデータそのものを用いてカラープレーンに情報を格納することが可能となる。
尚、本実施形態においては、ルックアップテーブルに登録可能なカラー値の数が256個であるため、カラープレーンの形式をインデックス形式からカラーデータの形式に切り換えるインデックス値の閾値を256とするが、この値は、ルックアップテーブルに登録可能なカラー値の数に応じて定められる。即ち、多値描画部115は、ルックアップテーブルに既に登録されたカラーデータの数が所定の閾値に達した場合に、カラープレーンの形式を切り換える。
Here, as described in FIG. 10, the number of color data that can be registered in the lookup table in this embodiment is 256. However, depending on the image to be imaged and output, 256 or more colors may be required.
The multi-value rendering unit 115 cannot recognize how many colors are used for the rendering object on the intermediate data. There is a method of counting the number of colors when registering intermediate data, but the number of colors may increase in the process of further drawing. For example, in the ROP process, a new color is generated by performing bit operations on source data and destination data. Similarly, colors increase in translucent drawing. In such a case, the number of registered lookup tables may be insufficient.
Specifically, as described above, when the index value stored as the global variable is “256”, it indicates that the lookup table is already full. In this case, the multi-value rendering unit 115 stores the pixel data of the color plane in the color data format as described with reference to FIG. Then, a bit indicating that the color plane of the target pixel is in the color data format is written in the attribute plane.
Through such processing, the color plane data is stored as much as possible by using the lookup table format to reduce the number of memory accesses, and even when the lookup table is full, the color data itself is used. It is possible to store information in
In this embodiment, since the number of color values that can be registered in the lookup table is 256, the index value threshold value for switching the color plane format from the index format to the color data format is set to 256. This value is determined according to the number of color values that can be registered in the lookup table. That is, the multi-value drawing unit 115 switches the color plane format when the number of color data already registered in the lookup table reaches a predetermined threshold.

更に、ルックアップテーブルが一杯になった場合の他にも、ルックアップテーブルを用いずに、カラーデータそのものを登録すべき場合がある。例えば、中間データ上の描画データがフルカラーのイメージデータである場合、用いるカラーの総数が256色を超えてしまう可能性が高い。このような場合、ルックアップテーブルの仕様を予めキャンセルすることによって、文字や図形の描画についてのピクセルデータを優先的にルックアップテーブルに登録することができ、メモリアクセスを効率化することができる。
具体的な処理として、多値描画部115は、中間データにおける描画データのID番号を参照し、描画データがフルカラーか否かを判断する。図7に示す描画データのID番号のうち、ID=0x03はフルカラーイメージ、ID=0x04はインデックステーブルを使用したカラー値、即ちインデックスイメージで、1、2、4、8ビットいずれかのインデックス値を有するイメージである。ここで、1、2、4、8ビットは、夫々カラー値のビット数を示し、1の場合、1ビット、即ち白黒であることを示す。以降、4色、16色、256色の場合を示す。このインデックス値のビット数は、図6に示す中間データにおいて、例えばflagに格納されている。
多値描画部115は、描画データのID番号が0x03である場合、描画データはフルカラーイメージであるため、ルックアップテーブルの検索は行わずに、RGB24ビットフルカラーデータで描画する。また、ID番号が0x04である場合において、ビット数が8ビット、即ち256色である場合も同様に、RGB24ビットフルカラーデータで描画する。そして、属性プレーンに、対象のピクセルのカラープレーンが、カラーデータの形式であることを示すビットを書き込む。
In addition to the case where the look-up table is full, the color data itself should be registered without using the look-up table. For example, when the drawing data on the intermediate data is full-color image data, the total number of colors used is likely to exceed 256 colors. In such a case, by canceling the look-up table specifications in advance, pixel data for drawing characters and figures can be preferentially registered in the look-up table, and memory access can be made efficient.
As a specific process, the multi-value drawing unit 115 refers to the drawing data ID number in the intermediate data, and determines whether or not the drawing data is full color. Of the drawing data ID numbers shown in FIG. 7, ID = 0x03 is a full color image, ID = 0x04 is a color value using an index table, that is, an index image, and an index value of 1, 2, 4 or 8 bits. It is an image that has. Here, 1, 2, 4, and 8 bits respectively indicate the number of bits of the color value, and when it is 1, it indicates 1 bit, that is, monochrome. Hereinafter, cases of 4 colors, 16 colors, and 256 colors are shown. The number of bits of this index value is stored in, for example, flag in the intermediate data shown in FIG.
When the ID number of the drawing data is 0x03, the multi-level drawing unit 115 draws with RGB 24-bit full color data without searching the lookup table because the drawing data is a full color image. Similarly, when the ID number is 0x04 and the number of bits is 8 bits, that is, 256 colors, drawing is performed with RGB 24-bit full color data. Then, a bit indicating that the color plane of the target pixel is in the color data format is written in the attribute plane.

次に、バンディング処理について説明する。
上記の説明で多値描画部115が処理に必要なメモリ容量として、1ページ分確保できるものとして説明したが、1ページ分のメモリ容量が確保できない場合には、バンディング処理という方法によって描画処理を行う。
図13は、バンディング処理におけるバンドデータとページデータとの関係を説明する概念図である。バンディング処理は、コントローラ10が1ページ分のメモリ容量が確保できない場合に、図13に示すように、ページデータを高さ方向に複数に分割し、分割したバンドデータ単位でメモリ容量を確保し(図13の例では、高さ1024のバンドメモリを確保)、処理を行うことで、ページデータの処理を可能にする方法である。
Next, banding processing will be described.
In the above description, the multi-value drawing unit 115 has been described as being able to secure one page of memory capacity necessary for processing. However, when the memory capacity of one page cannot be secured, the drawing process is performed by a method called banding processing. Do.
FIG. 13 is a conceptual diagram illustrating the relationship between band data and page data in the banding process. In the banding process, when the controller 10 cannot secure a memory capacity for one page, the page data is divided into a plurality of parts in the height direction as shown in FIG. In the example of FIG. 13, a band memory having a height of 1024 is secured), and processing is performed to enable page data processing.

バンディング処理では、多値描画部115は、描画処理に必要な中間データを取得する際に、バンド単位でメモリにアクセスし、取得した中間データを確保したバンドメモリに保存することで描画処理を実行する。バンドメモリに保存することができた中間データ以外のバンドデータは、圧縮するか、ハードディスク(不図示)等に退避しておく。圧縮した形で処理を待つバンドデータは、描画要求があった時点で圧縮を解凍してバンドメモリ上にロードする。ハードディクス退避しておいた場合にも描画要求があった時点でメモリ上にロードする。描画が終了し、次のバンド描画要求があった時点で圧縮するか、又はハードディスクへ保存するような処理を行う。   In the banding process, when the multi-value drawing unit 115 acquires intermediate data necessary for the drawing process, the multi-value drawing unit 115 accesses the memory in band units and executes the drawing process by storing the acquired intermediate data in the secured band memory. To do. Band data other than intermediate data that can be saved in the band memory is compressed or saved in a hard disk (not shown) or the like. The band data waiting for processing in a compressed form is decompressed and loaded onto the band memory when a drawing request is made. Even when the hard disk is saved, it is loaded into the memory when a drawing request is made. When the drawing is finished and the next band drawing request is made, the image is compressed or stored in the hard disk.

中間データ(図6に示したデータ構造、参照)をもとにバンディング処理で描画を行う際、各描画オブジェクトの座標データから各バンドデータにクリップしてバンドメモリに描画する。
描画結果としてバンドメモリに保存するピクセルデータは、図8及び図9の例に示したフォーマットになるが、バンド毎に違うフォーマットを適用できるようにすることによりメモリ容量を節約でき、バンドメモリに保存したピクセルデータを利用する際にも無駄なアクセス操作をしなくてもすむ。例えば、バンド0がグレーデータしかない場合は、カラープレーンは、1バイト(8ビット)グレープレーンのみでよく、ピクセル属性とディスティネーション透過の統合プレーンは、変わらないのでそれぞれ1バイトずつの2バイトとなる。他方、バンド1には、カラーデータが含まれる場合は、4バイトPRGBプレーンと、ピクセル属性とディスティネーション透過の統合プレーンは、変わらず2バイトとなる。なお、各バンドで使用されている色は、中間データのGstatus(グラフィックス状態)に含まれるカラーデータを調べることにより判定することができる。
When drawing is performed by banding processing based on the intermediate data (refer to the data structure shown in FIG. 6), the coordinate data of each drawing object is clipped to each band data and drawn in the band memory.
The pixel data to be saved in the band memory as a drawing result is in the format shown in the examples of FIGS. 8 and 9, but the memory capacity can be saved by applying a different format for each band and saved in the band memory. There is no need to perform useless access operations when using the pixel data. For example, if band 0 has only gray data, the color plane may be only a 1-byte (8-bit) gray plane, and the integrated plane for pixel attribute and destination transmission does not change. Become. On the other hand, when color data is included in band 1, the 4-byte PRGB plane and the integrated plane of pixel attributes and destination transmission are 2 bytes unchanged. The color used in each band can be determined by examining the color data included in the Gstatus (graphics state) of the intermediate data.

ここで、バンドデータに対する描画処理を図14に示すフロー図に基づいて説明する。
図14のフローに示すように、バンディング動作が起動されると、先ず、描画対象となるページデータのバンドデータband0〜6から予め定められた順番に従い1つのバンドデータを取得する(ステップS1401)。
次に、取得したバンドデータ内の描画対象ピクセルを点順次に指定し(ステップS1402)、指定されたピクセルに対する中間データのGstatus(グラフィックス状態)を取得する(ステップS1403)。
次に、指定されたピクセルのGstatusに含まれる色値を調べ、色値がモノクロかカラーかを判断する(ステップS1404)。
Here, a drawing process for band data will be described with reference to a flowchart shown in FIG.
As shown in the flow of FIG. 14, when the banding operation is started, first, one band data is acquired from the band data bands 0 to 6 of the page data to be rendered according to a predetermined order (step S1401).
Next, the drawing target pixels in the acquired band data are designated dot-sequentially (step S1402), and Gstatus (graphics state) of intermediate data for the designated pixel is obtained (step S1403).
Next, the color value included in Gstatus of the designated pixel is checked to determine whether the color value is monochrome or color (step S1404).

ステップS1404で調べた色値から当該ピクセルがカラーであると判断された場合には(ステップS1404-NO)、次に、対象のピクセルデータをルックアップテーブルの形式とするか否かを判断する(ステップS1405)。ステップS1405の判断は、上述したように、ルックアップテーブルが一杯であるか否か及びフルカラーイメージであるか否かの判断によって処理される。
ルックアップテーブルの形式とする場合(ステップS1405-YES)、上述した方法にてインデックス値を取得してバンドメモリのカラープレーンに書き込むと共に、新規な色である場合はルックアップテーブルにカラーデータを登録する(ステップS1405)。
他方、ルックアップテーブルの形式ではなく、カラーデータの形式とする場合、バンドメモリのカラープレーンに、PRGBフォーマット(4バイト)でRGB又はCMYKの色値を書込む(ステップS1406)。
他方、色値から当該ピクセルがモノクロであると判断された場合には(ステップS1404-YES)、バンドメモリのカラープレーンに、モノクロフォーマット(1バイト)で濃度値を書込む(ステップS1407)。
なお、上記の書込みステップで書込む色値又は濃度値は、半透明描画処理が設定されている場合には、設定条件に従い半透明描画の色値を計算し、算出した色値を書込む。
次いで、バンドメモリのピクセル属性プレーンに当該ピクセルのピクセル属性としてのオブジェクト情報(文字、イメージ、グラフィックス)を書込む(ステップS1408)。ステップS1408の処理においては、上述したように、対応するピクセルのカラープレーンの形式がルックアップテーブルの形式であるかカラーデータの形式であるかを示す情報も書き込まれる。
さらに、半透明描画処理が設定されている場合には、当該ピクセルのディスティネーション半透明値を計算して(上記式(2)、参照)、算出値をバンドメモリのディスティネーション透過プレーンに書込み、バンドメモリのディスティネーション半透明値を更新する(ステップS1409)。
If it is determined from the color value checked in step S1404 that the pixel is a color (step S1404—NO), it is next determined whether or not the target pixel data is in the form of a lookup table (step S1404). Step S1405). The determination in step S1405 is processed by determining whether the lookup table is full and whether it is a full color image, as described above.
In the case of the look-up table format (step S1405—YES), the index value is acquired by the method described above and written to the color plane of the band memory, and if it is a new color, the color data is registered in the look-up table. (Step S1405).
On the other hand, when the color data format is used instead of the look-up table format, RGB or CMYK color values are written in the PRGB format (4 bytes) in the color plane of the band memory (step S1406).
On the other hand, if it is determined from the color value that the pixel is monochrome (step S1404—YES), the density value is written in the monochrome format (1 byte) on the color plane of the band memory (step S1407).
When the translucent rendering process is set, the color value or density value to be written in the above writing step is calculated according to the setting condition, and the calculated color value is written.
Next, the object information (character, image, graphics) as the pixel attribute of the pixel is written in the pixel attribute plane of the band memory (step S1408). In the processing of step S1408, as described above, information indicating whether the color plane format of the corresponding pixel is a lookup table format or a color data format is also written.
Furthermore, when the translucent rendering process is set, the destination translucency value of the pixel is calculated (see the above formula (2)), and the calculated value is written to the destination transmission plane of the band memory. The destination translucent value of the band memory is updated (step S1409).

ステップS1402で指定されたピクセルについてピクセルデータを描画した後、カレントバンドの全ピクセルの描画処理を完了したか否かを確認する(ステップS1410)。
カレントバンドの中に描画が未処理のピクセルがあれば(ステップS1410-NO)、ステップS1402に戻り、点順次に次のピクセルを指定して、上記と同様に描画処理を行う。
他方、カレントバンドの全ピクセルの描画処理を完了した場合には(ステップS1410-YES)、描画処理後のバンドメモリ上のバンドデータを転送し、バンドメモリを開放して次の描画に備える(ステップS1411)。なお、描画処理後のバンドデータは、例えば、ハードディスクに保存して、プリント出力用の画像データヘの処理を待つ。
次に、ステップS1401で取得したバンドデータの全ピクセルデータを描画し、バンドメモリが利用できる状態になったところで、描画対象となるページデータの全バンドの描画処理を完了したか否かを確認する(ステップS1412)。
描画対象となるページデータ中に描画が未処理のバンドデータがあれば(ステップS1412-NO)、ステップS1401に戻り、次のバンドデータを取得して、上記と同様に描画処理を行う。
他方、描画対象となるページデータの全バンドデータの描画処理を完了した場合には(ステップS1412-YES)、この描画処理を終了する。
After the pixel data is drawn for the pixel specified in step S1402, it is checked whether the drawing process for all the pixels in the current band has been completed (step S1410).
If there is an unprocessed pixel in the current band (step S1410-NO), the process returns to step S1402, and the next pixel is designated dot-sequentially and the drawing process is performed as described above.
On the other hand, when the drawing processing for all pixels in the current band is completed (step S1410—YES), the band data on the band memory after the drawing processing is transferred, and the band memory is released to prepare for the next drawing (step). S1411). Note that the band data after the drawing process is stored in, for example, a hard disk and waits for processing to print output image data.
Next, all the pixel data of the band data acquired in step S1401 is drawn, and when the band memory can be used, it is confirmed whether or not the drawing processing of all the bands of the page data to be drawn is completed. (Step S1412).
If there is unprocessed band data in the page data to be rendered (step S1412—NO), the process returns to step S1401, and the next band data is acquired and the rendering process is performed as described above.
On the other hand, when the drawing process for all band data of the page data to be drawn is completed (step S1412—YES), this drawing process is terminated.

描画コアモジュール110の処理に戻って、多値描画処理を行った多値描画部115の後段の画像処理部について説明する。後段の画像処理部では、多値描画部115によって描画された多値ページメモリのピクセルデータをプリント出力用の画像データに変換する処理を行う。
先ず、カラー変換部116によって行う色変換処理について説明する。
色変換処理は、カラーマッチング処理、BG/UCR(Black generation及びUnder Color remova1)処理を実施し、デバイスCMYK(プリンタエンジン30で画像出力に用いる画像データ)に変換する処理が主な処理である。
Returning to the processing of the drawing core module 110, an image processing unit subsequent to the multi-level drawing unit 115 that has performed multi-level drawing processing will be described. The subsequent image processing unit performs processing for converting pixel data of the multi-level page memory drawn by the multi-level drawing unit 115 into image data for print output.
First, the color conversion process performed by the color conversion unit 116 will be described.
The color conversion processing is mainly processing that performs color matching processing, BG / UCR (Black generation and Under Color remove 1) processing, and converts the data into a device CMYK (image data used for image output by the printer engine 30).

カラー変換部116は、多値描画部115によって描画されたカラープレーン、ピクセル属性プレーン、ディスティネーション透過プレーンの各プレーンに保存されたピクセルデータを用いてカラーマッチング処理を行う。この際、カラー変換部116は、属性プレーンの情報のうちカラープレーンの情報形式を示す情報を参照し、ルックアップテーブルの形式である場合は、ルックアップテーブルからカラーデータを取得する。
カラーマッチングは、プリント出力しようとする画像が意図したとおりの色特性を持つ画像となるように、出力デバイス(プリンタエンジン30)に依存する特性を色変換のパラメータの調整により補正する。
本実施形態のカラー変換部116は、上記の多値描画処理で得られたPRGBカラープレーンのRGB各色8ビットのピクセルデータの入力を受け、このデータに色変換によるカラーマッチング処理を施す。カラーマッチング処理後のRGB各色8ビットのデータは、同じメモリアドレスに上書きされる。
The color conversion unit 116 performs color matching processing using pixel data stored in each of the color plane, the pixel attribute plane, and the destination transmission plane drawn by the multi-value drawing unit 115. At this time, the color conversion unit 116 refers to information indicating the information format of the color plane in the attribute plane information, and acquires color data from the lookup table when the format is the lookup table format.
In color matching, characteristics dependent on the output device (printer engine 30) are corrected by adjusting color conversion parameters so that an image to be printed out has an intended color characteristic.
The color conversion unit 116 according to the present embodiment receives input of 8-bit pixel data for each RGB color of the PRGB color plane obtained by the multi-value rendering process, and performs a color matching process by color conversion on this data. The 8-bit data for each color RGB after color matching is overwritten at the same memory address.

カラーマッチング処理をする際に、上記の多値描画処理で得られたピクセル属性プレーンのピクセルデータを参照して、文字、イメージ、グラフィックスのオブジェクトの種類に応じたマッチング処理パラメータを適用することにより、適正なカラーマッチングを行い、画質を向上することができる。また、オブジェクトの種類におけると同様に、多値描画処理で得られたディスティネーション透過プレーンについても、ディスティネーション半透明値を参照して、この半透明値に応じたマッチング処理パラメータを適用することにより、適正なカラーマッチングを行い、画質を向上することができる。   When performing color matching processing, refer to the pixel data of the pixel attribute plane obtained by the above multi-value rendering processing and apply matching processing parameters according to the type of character, image, or graphics object. Appropriate color matching can be performed to improve image quality. Similarly to the type of object, by referring to the destination translucent value for the destination transparent plane obtained by the multi-value rendering process, the matching processing parameter corresponding to this translucent value is applied. Appropriate color matching can be performed to improve image quality.

さらに、多値描画処理で得られたPRGBカラープレーンのRGB各色8ビットのピクセルデータ若しくは、インデックス値に基づいてルックアップテーブルから得られたピクセルデータに対してBG/UCR処理を実施する。このBG/UCR処理の出力は、CMYKになる。ピクセル毎にBG/UCR変換されたデータは、元のPRGBカラープレーンとして保存されていたのと同じメモリアドレスに上書きされる。なお、PRGBカラープレーンの色値は4バイトであるため、変換後も同じアドレスに保存できる。
このように、多値描画部115による多値描画処理で各プレーンに保存されたピクセルデータは、カラー変換部116におけるカラーマッチング処理及びBG/UCR処理によってカラースペース及びカラーデータが変換される。ただ、このデータ変換のために、余分なメモリ容量を必要とせず、メモリの取得を行うこともない。
Further, BG / UCR processing is performed on pixel data of 8-bit RGB colors of the PRGB color plane obtained by the multi-value rendering processing or pixel data obtained from the lookup table based on the index value. The output of this BG / UCR process is CMYK. Data subjected to BG / UCR conversion for each pixel is overwritten on the same memory address as that stored as the original PRGB color plane. Since the color value of the PRGB color plane is 4 bytes, it can be stored at the same address after conversion.
As described above, the pixel data stored in each plane by the multi-value rendering process by the multi-value rendering unit 115 is converted into a color space and color data by the color matching process and the BG / UCR process in the color conversion unit 116. However, no extra memory capacity is required for this data conversion, and no memory is acquired.

CMYK2値変換部117は、カラー変換部116によって処理された多値のCMYKデータを2値に変換する。
CMYK2値変換部117は、カラー変換部116からのCMYK各色8ビットのカラープレーンデータとピクセル属性プレーンデータを受け取り、CMYK各色8ビットのピクセルデータに対するハーフトーン処理を実施し、2値でCMYK各色のページメモリに保存する。この処理の際、ピクセル属性プレーンデータは、描画オブジェクト毎に適用するハーフトーンパターンを変更するために用いる。
換言すると、カラー変換部116及びCMYK2値変換部117が、多値描画部115によって生成された画素情報に基づき、画素を描画するための階調情報を生成する階調情報生成部として機能する。
このように、本実施形態においては、カラープレーンの情報としてルックアップテーブルを用いることにより、1アクセスで情報を読み出し可能なピクセル数を増やし、画像処理の処理効率を向上することができる。
The CMYK binary conversion unit 117 converts the multivalued CMYK data processed by the color conversion unit 116 into binary.
The CMYK binary conversion unit 117 receives the CMYK 8-bit color plane data and pixel attribute plane data from the color conversion unit 116, performs halftone processing on the 8-bit pixel data of each CMYK color, and performs binary conversion for each color of CMYK. Save to page memory. In this process, the pixel attribute plane data is used to change the halftone pattern applied to each drawing object.
In other words, the color conversion unit 116 and the CMYK binary conversion unit 117 function as a gradation information generation unit that generates gradation information for drawing pixels based on the pixel information generated by the multilevel drawing unit 115.
Thus, in this embodiment, by using a lookup table as color plane information, the number of pixels from which information can be read out by one access can be increased, and the processing efficiency of image processing can be improved.

尚、上記実施形態においては、図10において説明したように、ルックアップテーブルに登録可能なカラーデータの数として256個、即ち1バイト分を設ける場合が例として説明されている。しかしながら、これは一例であり、それ以上であってもそれ以下であっても良い。
例えば、ルックアップテーブルに登録可能なカラーデータの数を16個、即ち4ビット分とすると、インデックス値の情報量が4ビットとなり、1バイト中に2ピクセル分のカラーデータを格納することが可能になる。これにより、4バイト構成のCPUの場合1回のアクセスで8ピクセル分のカラーデータを読み出すことが可能となる。この他、インデックス値のビット数を8の約数とすることにより、カラープレーンの1バイトを余剰無く消費することができるため、CPUによるメモリアクセスの効率を向上することができる。
また、ルックアップテーブルに登録可能なカラーデータの数を可変とすることもできる。例えば、上述したバンド毎にインデックスのビット数を変えても良い。これにより、メモリ容量を節約でき、バンドメモリに保存したピクセルデータを利用する際にも無駄なアクセス操作をしなくてもすむ。この場合、インデックスのビット数毎にルックアップテーブルを設けることになる。また、そのピクセルについて適用されているルックアップテーブルのインデックスのビット数を属性プレーンの余剰ビットに記録しておく。これにより、バンド毎にインデックスのビット数を変えて制御することが可能になる。
In the above-described embodiment, as described with reference to FIG. 10, the case where 256, that is, one byte is provided as the number of color data that can be registered in the lookup table is described as an example. However, this is an example, and it may be more or less.
For example, if the number of color data that can be registered in the lookup table is 16, that is, 4 bits, the information amount of the index value is 4 bits, and 2 pixels of color data can be stored in 1 byte. become. As a result, in the case of a 4-byte CPU, color data for 8 pixels can be read out with a single access. In addition, by making the number of bits of the index value a divisor of 8, one byte of the color plane can be consumed without surplus, and the efficiency of memory access by the CPU can be improved.
Also, the number of color data that can be registered in the lookup table can be made variable. For example, the number of index bits may be changed for each band described above. As a result, the memory capacity can be saved, and unnecessary access operations are not required when using pixel data stored in the band memory. In this case, a lookup table is provided for each bit number of the index. Further, the number of bits of the index of the lookup table applied to the pixel is recorded in the surplus bits of the attribute plane. This makes it possible to control by changing the number of bits of the index for each band.

10・・コントローラ、11・・CPU、30・・プリンタエンジン、40・・操作パネル、104・・プリンタコントロールシステム部、105・・PDL部、110・・描画コアモジュール、113・・描画モジュールI/F、114・・中間データ保存部、115・・多値描画部、116・・カラー変換部、117・・CMYK2値変換部、120・・PDLパーサ部。   10 .... Controller, 11 .... CPU, 30 ... Printer engine, 40 ... Operation panel, 104 ... Printer control system part, 105 ... PDL part, 110 ... Drawing core module, 113 ... Drawing module I / F, 114... Intermediate data storage unit, 115.. Multi-value rendering unit, 116 Color conversion unit 117 117 CMYK binary conversion unit 120 PDL parser unit

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

Claims (10)

ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、
描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、
前記生成された図形情報に基づいて前記図形を構成する画素の情報である画素情報を生成する画素情報生成部と、
前記生成された画素情報を変換して前記画素を描画するための階調情報を生成する階調情報生成部と、
前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成する出力情報生成部とを含む画像形成装置であって、
前記図形情報生成部は、前記図形の半透明描画に関する情報を含む前記図形情報を前記描画命令に基づいて生成し、
前記画素情報生成部は、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、且つ前記画素の彩色情報として前記画素の彩色を示すインデックス情報を格納することによって前記画素情報を生成し、前記インデックス情報と前記画素の彩色自体を示す情報とが関連付けられた彩色参照情報を他の記憶領域に保持することを特徴とする画像形成装置。
A drawing command acquisition unit for acquiring a drawing command obtained based on the page description language;
A graphic information generator for generating graphic information in which information is collected for each graphic to be drawn based on the acquired drawing command;
A pixel information generation unit that generates pixel information, which is information of pixels constituting the graphic, based on the generated graphic information;
A gradation information generation unit that converts the generated pixel information to generate gradation information for rendering the pixel;
An output information generation unit that generates output information for executing image formation output based on the generated gradation information,
The graphic information generation unit generates the graphic information including information related to translucent drawing of the graphic based on the drawing command,
The pixel information generation unit stores the coloring information of the pixels constituting the graphic, the attribute information of the pixels, and the information on the semitransparent drawing of the graphic formed by the pixels in a storage area reserved for each information. In addition, the pixel information is generated by storing index information indicating the color of the pixel as the color information of the pixel, and color reference information in which the index information is associated with information indicating the color of the pixel itself. An image forming apparatus that is held in another storage area.
前記画素情報生成部は、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することも可能であることを特徴とする請求項1に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the pixel information generation unit is capable of storing information indicating the color of the pixel itself as the color information of the pixel. 前記画素情報生成部は、前記図形情報における前記描画すべき図形がフルカラーデータである場合に、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することを特徴とする請求項2に記載の画像形成装置。   The pixel information generation unit stores information indicating the color of the pixel itself as the color information of the pixel when the graphic to be drawn in the graphic information is full color data. The image forming apparatus described. 前記画素情報生成部は、前記彩色参照情報に含まれる前記インデックス情報の数が所定数に達した場合に、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することを特徴とする請求項2または3に記載の画像形成装置。   The pixel information generation unit stores information indicating the color of the pixel itself as the color information of the pixel when the number of the index information included in the color reference information reaches a predetermined number. The image forming apparatus according to claim 2. 前記画素情報生成部は、前記図形情報における前記描画すべき図形がインデックスイメージであり、前記インデックスイメージを識別するインデックスのビット数が所定数以上である場合に、前記画素の彩色情報として前記画素の彩色自体を示す情報を格納することを特徴とする請求項2乃至4いずれかに記載の画像形成装置。   The pixel information generation unit, when the graphic to be drawn in the graphic information is an index image, and the number of bits of an index for identifying the index image is a predetermined number or more, 5. The image forming apparatus according to claim 2, wherein information indicating the color itself is stored. 前記彩色参照情報に登録可能なインデックス情報の数が可変であることを特徴とする請求項1乃至5いずれかに記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the number of index information that can be registered in the color reference information is variable. 前記画素情報生成部は、
ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、
前記彩色参照情報に登録可能なインデックス情報の数について、異なる数を前記バンド毎に用いることが可能であることを特徴とする請求項6に記載の画像形成装置。
The pixel information generation unit
The pixel information is generated based on the graphic information for each band that is a range of each divided page.
The image forming apparatus according to claim 6, wherein different numbers of index information that can be registered in the color reference information can be used for each band.
前記画素の彩色情報において、前記彩色参照情報に登録可能なインデックス情報の数として異なる数が混在可能であることを特徴とする請求項6に記載の画像形成装置。   The image forming apparatus according to claim 6, wherein different numbers of index information that can be registered in the color reference information can be mixed in the color information of the pixels. 描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、
図形情報生成部が、描画すべき図形毎に情報がまとめられた情報であって前記図形の半透明描画に関する情報を含む図形情報を前記取得された描画命令に基づいて生成し、
画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、且つ前記画素の彩色情報として前記画素の彩色を示すインデックス情報を格納することによって前記図形を構成する画素の情報である画素情報を生成すると共に、前記インデックス情報と前記画素の彩色自体を示す情報とが関連付けられた彩色参照情報を他の記憶領域に保持し、
階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、
出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成すること特徴とする画像データ処理方法。
The drawing command acquisition unit acquires a drawing command obtained based on the page description language,
The graphic information generation unit generates information on the information to be drawn for each graphic to be drawn and includes graphic information including information related to the translucent drawing of the graphic, based on the acquired drawing command,
Based on the generated graphic information, the pixel information generation unit uses the coloring information of the pixels constituting the graphic, the attribute information of the pixels, and the information on the translucent drawing of the graphic formed by the pixels for each information. And storing the index information indicating the color of the pixel as the color information of the pixel to generate pixel information which is information of the pixels constituting the graphic, and the index information And coloring reference information in which the information indicating the coloring of the pixel itself is associated is held in another storage area,
A gradation information generation unit generates gradation information for rendering the pixel by converting the generated pixel information,
An image data processing method, wherein an output information generation unit generates output information for executing image formation output based on the generated gradation information.
ページ記述言語に基づいて得られた描画命令を取得するステップと、
描画すべき図形毎に情報がまとめられた情報であって前記図形の半透明描画に関する情報を含む図形情報を前記取得された描画命令に基づいて生成するステップと、
前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納するステップと、
前記画素の彩色情報として前記画素の彩色を示すインデックス情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、
前記インデックス情報と前記画素の彩色自体を示す情報とが関連付けられた彩色参照情報を他の記憶領域に保持するステップと、
前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、
前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする制御プログラム。
Obtaining drawing commands obtained based on the page description language;
Generating the graphic information based on the acquired drawing command, which is information in which information is collected for each graphic to be drawn and includes information related to translucent drawing of the graphic;
Based on the generated graphic information, a storage area reserved for each piece of information on the coloring information of the pixels constituting the graphic, attribute information of the pixels, and information on the translucent drawing of the graphic formed by the pixels Storing in the step,
Generating pixel information which is information of pixels constituting the graphic by storing index information indicating the color of the pixel as the color information of the pixel;
Holding the color reference information associated with the index information and the information indicating the color of the pixel itself in another storage area;
Converting the generated pixel information to generate gradation information for rendering the pixel;
A control program for causing an image forming apparatus to execute output information for executing image forming output based on the generated gradation information.
JP2009164656A 2009-07-13 2009-07-13 Image forming apparatus, image data processing method, and control program Pending JP2011020276A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009164656A JP2011020276A (en) 2009-07-13 2009-07-13 Image forming apparatus, image data processing method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009164656A JP2011020276A (en) 2009-07-13 2009-07-13 Image forming apparatus, image data processing method, and control program

Publications (1)

Publication Number Publication Date
JP2011020276A true JP2011020276A (en) 2011-02-03

Family

ID=43630769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009164656A Pending JP2011020276A (en) 2009-07-13 2009-07-13 Image forming apparatus, image data processing method, and control program

Country Status (1)

Country Link
JP (1) JP2011020276A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6346356B1 (en) * 2017-07-10 2018-06-20 Eizo株式会社 Image processing apparatus and image processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004243569A (en) * 2003-02-12 2004-09-02 Canon Inc Image forming apparatus
JP2006035532A (en) * 2004-07-23 2006-02-09 Ricoh Co Ltd Printer and printing method
JP2007216675A (en) * 2006-01-20 2007-08-30 Seiko Epson Corp Image processor, image processing program, and image processing method
JP2008123126A (en) * 2006-11-09 2008-05-29 Fuji Xerox Co Ltd Image processor, image forming device and program
JP2009122548A (en) * 2007-11-16 2009-06-04 Canon Inc Image forming apparatus and image forming method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004243569A (en) * 2003-02-12 2004-09-02 Canon Inc Image forming apparatus
JP2006035532A (en) * 2004-07-23 2006-02-09 Ricoh Co Ltd Printer and printing method
JP2007216675A (en) * 2006-01-20 2007-08-30 Seiko Epson Corp Image processor, image processing program, and image processing method
JP2008123126A (en) * 2006-11-09 2008-05-29 Fuji Xerox Co Ltd Image processor, image forming device and program
JP2009122548A (en) * 2007-11-16 2009-06-04 Canon Inc Image forming apparatus and image forming method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6346356B1 (en) * 2017-07-10 2018-06-20 Eizo株式会社 Image processing apparatus and image processing method
WO2019012980A1 (en) * 2017-07-10 2019-01-17 Eizo株式会社 Image processing device and image processing method
US11094284B2 (en) 2017-07-10 2021-08-17 Eizo Corporation Rearranging columns and rows of two-dimensional image pixel data

Similar Documents

Publication Publication Date Title
EP0763801B1 (en) Color image processing system
JP4771538B2 (en) Color conversion table generation method, color conversion table, and color conversion table generation apparatus
US9519443B2 (en) Print data flattening processing of spot color components with any hidden spot color portion removed
JPH11313213A (en) Information processing system, information processing method and medium
JP2007221720A (en) Conversion table compression method and program
US7164494B1 (en) Color separation of pattern color spaces and form XObjects
JP2010220075A (en) Image forming apparatus, image data processing method, and program
JP4973803B1 (en) Image processing apparatus and program
JP5257264B2 (en) Image forming apparatus, image data processing method, and control program
JP2011020276A (en) Image forming apparatus, image data processing method, and control program
JP4508953B2 (en) Image processing method and image processing apparatus
JP4356953B2 (en) Image processing system, image processing apparatus, control method therefor, and storage medium
JP2010274435A (en) Apparatus and method for forming image, program, and recording medium
JP2010214905A (en) Image forming apparatus, image forming method, and program
JP5012871B2 (en) Image processing apparatus, image forming apparatus, and image processing program
JP6844248B2 (en) Image processing equipment and computer programs
US7675642B2 (en) Print apparatus and print method
JP2011025478A (en) Image forming apparatus, image forming method, program, and recording medium
US11831839B1 (en) Image processing apparatus, method, and program product for printing based on PDL data in print job for printing monochrome representation of color data
JP5033746B2 (en) Image processing apparatus, image processing method, and image processing program
JP5044522B2 (en) Image processing device
JP2012070185A (en) Image processing device, image formation device, and image processing program
JP4986414B2 (en) Image processing method and image processing apparatus
JP6881194B2 (en) Printer driver and information processing device
JP2023086279A (en) printer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141111