JP2017103563A - Image processing apparatus and image processing method - Google Patents

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP2017103563A
JP2017103563A JP2015234265A JP2015234265A JP2017103563A JP 2017103563 A JP2017103563 A JP 2017103563A JP 2015234265 A JP2015234265 A JP 2015234265A JP 2015234265 A JP2015234265 A JP 2015234265A JP 2017103563 A JP2017103563 A JP 2017103563A
Authority
JP
Japan
Prior art keywords
pixel
holding
information
layer
pixel information
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.)
Granted
Application number
JP2015234265A
Other languages
Japanese (ja)
Other versions
JP6614941B2 (en
Inventor
大作 森脇
Daisaku Moriwaki
大作 森脇
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015234265A priority Critical patent/JP6614941B2/en
Publication of JP2017103563A publication Critical patent/JP2017103563A/en
Application granted granted Critical
Publication of JP6614941B2 publication Critical patent/JP6614941B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

PROBLEM TO BE SOLVED: To output data capable of efficiently executing a synthesis processing of a pixel in a region where a plurality of objects is overlapped in a simple structure.SOLUTION: An image processing apparatus that converts data indicating an image of a print target into raster image data, includes: first holding means of holding at least a part of image information of an object drawn in a continuous pixel in a processing target line in the image; second holding means of holding pixel information of the object formed by a single pixel value in the continuous pixel; input means of inputting the pixel information of the continuous pixel to the first or second holding means in each layer corresponding to the object; and output means of specifying a region that can be commonly processed on the basis of the pixel information in the continuous pixel, and outputting the pixel information from the first or second holding means as one pair of the pixel information of a whole layer in the region.SELECTED DRAWING: Figure 1

Description

本発明は、ページ記述言語(PDL)で記述されたデータから画像データを生成する技術に関する。   The present invention relates to a technique for generating image data from data described in a page description language (PDL).

記録媒体に画像を印刷する場合、ページ記述言語(PDL:page description language)で記述された印刷対象のデータをネットワーク等の通信媒体を介して受信する。プリンタなどの画像形成装置で出力するため、PDLで記述されたデータに対してRIP(Raster image processor)処理を実行することにより、PDLで記述されたデータは、ラスタ画像データに変換される。具体的にはまず、印刷する画像形成装置(プリンタ)専用のインタプリタが、受信したPDLによって記述されたデータを解釈し、中解釈したけかに基づいて中間データを作成する。さらに、中間データに基づいてレンダリング処理が実行され、ラスタ画像wp生成する。以上のようなRIP処理によって生成されるラスタ画像は、所定の画像処理を施され、亜g像形成装置が印刷可能な印字データに変換され、プリンタが印刷データに基づいて記録媒体上に印刷する。   When printing an image on a recording medium, print target data described in a page description language (PDL) is received via a communication medium such as a network. For output by an image forming apparatus such as a printer, data described in PDL is converted into raster image data by executing RIP (Raster Image Processor) processing on the data described in PDL. Specifically, first, an interpreter dedicated to the image forming apparatus (printer) to print interprets the data described by the received PDL, and creates intermediate data based on whether or not the interpretation is performed. Further, a rendering process is executed based on the intermediate data to generate a raster image wp. The raster image generated by the RIP processing as described above is subjected to predetermined image processing, converted into print data that can be printed by the sub-g image forming apparatus, and the printer prints on the recording medium based on the print data. .

さらにレンダリング処理では、スキャンラインアルゴリズムが知られている。スキャンラインアルゴリズムでは、描画すべきオブジェクトの境界(エッジ)とスキャンラインの交点を算出して、隣接する2つのエッジ間の連続画素(スパン)の画素値をオブジェクト情報から算出する。不透明のオブジェクトが重なっている場合、スパンの単位でオブジェクトの重なりを判定することによって最前面のオブジェクトのみを描画することで最終結果を得られる。   Furthermore, a scan line algorithm is known for rendering processing. In the scan line algorithm, the intersection between the boundary (edge) of the object to be drawn and the scan line is calculated, and the pixel value of the continuous pixel (span) between two adjacent edges is calculated from the object information. If opaque objects overlap, the final result can be obtained by drawing only the foreground object by determining the overlap of the objects in span units.

一方、透明なオブジェクトが重なっている場合には、最終的な画素値を算出する為にはすべての透明なオブジェクトの画素値を重なっている順に合成する必要がある。しかしながらスキャンラインアルゴリズムでは、スパンごとにオブジェクトの重なりを判定し、合成する処理を行う必要がある。そのため、透明なオブジェクトが多く重なっているようなデータの場合には、処理が複雑になり、時間がかかってしまう。   On the other hand, when transparent objects overlap, in order to calculate the final pixel value, it is necessary to combine the pixel values of all the transparent objects in the overlapping order. However, in the scan line algorithm, it is necessary to determine the overlap of objects for each span and perform a process of combining them. Therefore, in the case of data in which many transparent objects are overlapped, the processing becomes complicated and takes time.

そこで特許文献1では、重なる2つのオブジェクトの解像度情報を取得し、画像合成時に高解像度のオブジェクトに合わせて低解像度のオブジェクトを変換して合成することで、出来るだけ出力解像度より低い解像度で合成する。   Therefore, in Patent Document 1, the resolution information of two overlapping objects is acquired, and a low-resolution object is converted and combined with a high-resolution object at the time of image composition, thereby compositing at a resolution lower than the output resolution as much as possible. .

特開2009−130465号公報JP 2009-130465 A

特許文献1に開示された方法では、3つ以上の複数のオブジェクトが重なる領域における画素を合成するためには、複雑な制御を必要としていた。さらに、画素を合成するためには、オブジェクトが重なる順に各レイヤにおける画素情報が出力されるのを待つ必要があった。   In the method disclosed in Patent Document 1, complicated control is required to synthesize pixels in a region where three or more objects overlap. Furthermore, in order to synthesize pixels, it is necessary to wait for the pixel information in each layer to be output in the order in which the objects overlap.

そこで本発明は、簡単な構成により、複数のオブジェクトが重なる領域における画素を効率よく合成処理することができるデータを出力することを目的とする。   Accordingly, an object of the present invention is to output data that can efficiently combine pixels in a region where a plurality of objects overlap with a simple configuration.

上記課題を解決するために、印刷対象の画像を表すデータをラスタ画像データに変換する画像処理装置であって、前記画像における処理対象ラインにおいて、描画されるオブジェクトが重なる数に基づいて、連続する画素の位置情報を取得する取得手段と、前記連続する画素において、前記描画されるオブジェクトのうち少なくとも一部の画素データを示す画素情報を保持する第一の保持手段と、前記描画されるオブジェクトのうち、前記連続する画素において単一の画素値からなるオブジェクトの画素データを示す画素情報を保持する第二の保持手段と、前記連続する画素のうち、オブジェクトが対応するレイヤ毎に、前記連続する画素の画素データを画素情報として前記オブジェクトの重ね順に前記第一の保持手段または前記第二の保持手段に入力する入力手段と、前記第一の保持手段または前記第二の保持手段に保持された前記連続する画素における画素情報に基づいて、共通して処理可能な領域を特定し、前記領域における全てのレイヤの画素情報を1組として、前記第一の保持手段または前記第二の保持手段から取り出して出力する出力手段を有することを特徴とする。   In order to solve the above-described problem, an image processing apparatus that converts data representing an image to be printed into raster image data, and is continuous based on the number of objects to be drawn overlapped on the processing target line in the image. Acquisition means for acquiring pixel position information; first holding means for holding pixel information indicating at least a part of pixel data of the drawn object in the continuous pixels; and Among the continuous pixels, a second holding unit that holds pixel information indicating pixel data of an object having a single pixel value in the continuous pixels and the continuous pixels for each layer corresponding to the object. The first holding means or the second holding means using pixel data of pixels as pixel information in the overlapping order of the objects Based on the pixel information in the continuous pixels held in the first holding means or the second holding means, the common processing area is specified based on the input means that inputs to the stage, and in the area It has an output means for taking out and outputting the pixel information of all layers as one set from the first holding means or the second holding means.

本発明によれば、簡単な構成により、複数のオブジェクトが重なる領域における画素を効率よく合成処理することができるデータを出力できる。   According to the present invention, it is possible to output data that can efficiently combine pixels in a region where a plurality of objects overlap with a simple configuration.

第1実施形態における画像形成装置の全体構成例を示すブロック図。1 is a block diagram illustrating an example of the overall configuration of an image forming apparatus according to a first embodiment. 従来構成のレンダラ処理部106の構成例を示すブロック図。The block diagram which shows the structural example of the renderer process part 106 of a conventional structure. 複数レイヤにわたってオブジェクトの重なった印刷データの1例を示す図。The figure which shows an example of the printing data with which the object overlapped over several layers. 図3のスパン4の複数レイヤの画素情報コマンド例と生成順序を示す図。The figure which shows the pixel information command example and generation order of the several layers of the span 4 of FIG. 図3のスパン4の複数レイヤを画素単位のスパンに分割したときのスパンと画素情報コマンドの例を示す図。FIG. 4 is a diagram illustrating an example of a span and a pixel information command when a plurality of layers of the span 4 in FIG. 3 are divided into spans in units of pixels. 第1実施形態におけるレンダラ処理部106の構成例を示すブロック図。The block diagram which shows the structural example of the renderer process part 106 in 1st Embodiment. 画素バッファ601の構成例を示すブロック図。FIG. 3 is a block diagram illustrating a configuration example of a pixel buffer 601. 画素バッファ601における出力制御部703の処理フロー図。FIG. 6 is a processing flowchart of the output control unit 703 in the pixel buffer 601. 第1実施形態における画素バッファ601の構成例を示すブロック図。FIG. 3 is a block diagram illustrating a configuration example of a pixel buffer 601 according to the first embodiment. 第1実施形態における出力制御部904の処理フロー図。The processing flowchart of the output control part 904 in 1st Embodiment. 第1実施形態における画素バッファ601の処理例を示す図。The figure which shows the process example of the pixel buffer 601 in 1st Embodiment.

以下、添付図面を参照して、本発明の実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.

<第1実施形態>
図1は、第1実施形態に適用可能な画像形成装置100の全体構成の一例を示すブロック図である。画像形成装置100は、CPU101、ROM102、RAM103、入力部104、PDL処理部105、レンダラ処理部106、画像処理部107、出力部108から構成され、共有バス109を介して接続されている。
<First Embodiment>
FIG. 1 is a block diagram illustrating an example of the overall configuration of an image forming apparatus 100 applicable to the first embodiment. The image forming apparatus 100 includes a CPU 101, a ROM 102, a RAM 103, an input unit 104, a PDL processing unit 105, a renderer processing unit 106, an image processing unit 107, and an output unit 108, which are connected via a shared bus 109.

CPU101は、ROM102に格納された制御プログラムを読み出し実行することにより、演算処理や画像形成装置100各部の動作を統括的に制御する。RAM103は、読み出し及び書き込み可能なメモリであり、画像データなどの各種データを一時的に格納するための記憶媒体である。入力部104は、ホストPCやサーバ(不図示)から転送されてくるページ記述言語で記述された印刷対象のデータ(以降、PDLデータ)を受信し、RAM103に格納する。PDL処理部105は、入力部104が受信したPDLデータを解析し、レンダラ処理部106が解釈可能なフォーマットの中間データに変換する。レンダラ処理部106は、PDL処理部105が生成した中間データからラスタ画像データを生成する。画像処理部107は、レンダラ処理部106で生成されたラスタ画像データに対して所定の画像処理を施して印刷データを生成する。出力部108は、インクジェットヘッドやレーザービーム方式のプリンタエンジンであり、画像処理部107を介して生成された印刷データに従って、印刷処理を実行する。   The CPU 101 reads and executes a control program stored in the ROM 102 to comprehensively control arithmetic processing and operations of each unit of the image forming apparatus 100. The RAM 103 is a readable / writable memory and is a storage medium for temporarily storing various data such as image data. The input unit 104 receives data to be printed (hereinafter referred to as PDL data) described in a page description language transferred from a host PC or server (not shown), and stores it in the RAM 103. The PDL processing unit 105 analyzes the PDL data received by the input unit 104 and converts it into intermediate data in a format that can be interpreted by the renderer processing unit 106. The renderer processing unit 106 generates raster image data from the intermediate data generated by the PDL processing unit 105. The image processing unit 107 performs predetermined image processing on the raster image data generated by the renderer processing unit 106 to generate print data. The output unit 108 is an inkjet head or a laser beam type printer engine, and executes print processing according to print data generated via the image processing unit 107.

図2は、従来型のレンダラ処理部106を示すブロック図である。従来型のレンダラ処理部106における課題について説明する。レンダラ処理部106は、命令実行部201、エッジ処理部202、画素生成部203、画素合成部204、画素合成スタック205および画素出力部206からなり、パイプライン処理を実行する。命令実行部201は、中間データ207から処理命令208を読み出して処理し、各処理部に読み出した命令をコマンドとして転送する。エッジ処理部202は、中間データ207からエッジ情報209を読みだして、スキャンラインとオブジェクトのアウトラインが交差する2つの交点間の連続画素(スパン)の位置情報を生成する。各スパンは、オブジェクトが対応するレイヤの重なりが同じ画素群からなる線分である。さらにエッジ生成部202は、画素を生成するためのスパンの位置情報を、スパン情報コマンドとして画素生成部203に転送する。ここで生成されるスパン情報コマンドもまた、パイプラインの各処理部に転送される。画素生成部203は、中間データ207の画素データテーブル210を参照して、スパン情報コマンドからスパンにおける画素情報を生成する。画素合成部204は、受け取ったスパンにおける最終的な出力画素値を決定するために、複数のオブジェクトの重なりを合成する必要がある場合には、画素合成スタック205を使用して途中までの画素合成の中間結果を保持する。画素出力部206は、画素合成部204が算出された最終的な画素値を、レンダリング結果として出力バッファ(不図示)に出力する。   FIG. 2 is a block diagram showing a conventional renderer processing unit 106. Problems in the conventional renderer processing unit 106 will be described. The renderer processing unit 106 includes an instruction execution unit 201, an edge processing unit 202, a pixel generation unit 203, a pixel synthesis unit 204, a pixel synthesis stack 205, and a pixel output unit 206, and executes pipeline processing. The instruction execution unit 201 reads and processes the processing instruction 208 from the intermediate data 207, and transfers the read instruction as a command to each processing unit. The edge processing unit 202 reads edge information 209 from the intermediate data 207, and generates position information of continuous pixels (spans) between two intersections where the scan line and the object outline intersect. Each span is a line segment composed of a group of pixels having the same layer overlap corresponding to the object. Further, the edge generation unit 202 transfers span position information for generating pixels to the pixel generation unit 203 as a span information command. The span information command generated here is also transferred to each processing unit of the pipeline. The pixel generation unit 203 refers to the pixel data table 210 of the intermediate data 207 and generates pixel information in the span from the span information command. When it is necessary to synthesize the overlap of multiple objects in order to determine the final output pixel value in the received span, the pixel synthesizer 204 uses the pixel synthesize stack 205 to synthesize the pixel halfway. Hold intermediate results. The pixel output unit 206 outputs the final pixel value calculated by the pixel composition unit 204 to an output buffer (not shown) as a rendering result.

次に、同一スパンに複数のオブジェクトが重なっているときの処理について説明する。図3は、画像オブジェクト301と単色塗りつぶしオブジェクト302、303の3つのオブジェクトが重なっているページの例を示している。画像オブジェクト301は、最背面のレイヤ1に描画されており、背面の見えない不透明なオブジェクトである。オブジェクト302、303はそれぞれレイヤ2、レイヤ3に描画されており、画像オブジェクト301の前面に重なっている。なお、レイヤ1、2、3の順に背面から前面に重なっているとする。また、オブジェクト302、303は透過して背面が見える透過オブジェクトである。したがってオブジェクト302および303が重なっている領域については、その領域に含まれる画素の最終出力値を生成すためには、それぞれのオブジェクトの画素値を合成する必要がある。   Next, processing when a plurality of objects overlap in the same span will be described. FIG. 3 shows an example of a page in which three objects of the image object 301 and the single color fill objects 302 and 303 overlap. The image object 301 is an opaque object drawn on the backmost layer 1 and invisible on the back. Objects 302 and 303 are drawn on layer 2 and layer 3, respectively, and overlap the front surface of the image object 301. It is assumed that layers 1, 2, and 3 overlap from the back to the front. Further, the objects 302 and 303 are transparent objects that can be seen through the back. Therefore, for the region where the objects 302 and 303 overlap, in order to generate the final output value of the pixels included in the region, it is necessary to synthesize the pixel values of the respective objects.

上述のような3つのオブジェクトが重なっている位置を横切るスキャンライン304のスパンの生成とスパンのレンダリングについて説明する。処理対象ラインであるスキャンライン304は、各オブジェクトのアウトラインとの交点によって、複数のスパンに分けられて処理される。図3のようにスキャンライン304は、スパン1からスパン7の7つのスパンに分けられる。各スパンの開始位置、終了位置はPDL処理部105によって予め設定されており、中間データ207のエッジ情報209として符号化されて記憶されている。エッジ情報209を、レンダラ処理部105のエッジ処理部202が復号処理することによって各スパンの開始位置、終了位置が算出される。また、エッジ情報209には各スパンに描画される画素情報の参照先が登録されている。同一スパンに複数のオブジェクトが重なって描画される場合には、最背面のレイヤから順に複数の参照先が登録されている。例えばスパン4では、3つのオブジェクトが重なっているので、最背面から順に画像オブジェクト301とオブジェクト302、303の画素情報の参照先が順に登録されている。レンダラ処理部105におけるパイプライン処理において、これらの参照先の情報はスパン4の位置情報を含んだスパン情報コマンドとして、エッジ処理部202から画素生成部203に対して送信される。   The generation of the span of the scan line 304 that crosses the position where the three objects overlap as described above and the rendering of the span will be described. A scan line 304 that is a processing target line is processed by being divided into a plurality of spans according to intersections with the outlines of the objects. As shown in FIG. 3, the scan line 304 is divided into seven spans, span 1 to span 7. The start position and end position of each span are set in advance by the PDL processing unit 105, and are encoded and stored as edge information 209 of the intermediate data 207. The edge information 209 is decoded by the edge processing unit 202 of the renderer processing unit 105, whereby the start position and end position of each span are calculated. In the edge information 209, a reference destination of pixel information drawn in each span is registered. When a plurality of objects are drawn with overlapping on the same span, a plurality of reference destinations are registered in order from the backmost layer. For example, in span 4, since three objects overlap, the reference destinations of the pixel information of the image object 301 and the objects 302 and 303 are registered in order from the back. In the pipeline processing in the renderer processing unit 105, the reference destination information is transmitted from the edge processing unit 202 to the pixel generation unit 203 as a span information command including the position information of the span 4.

このように、スパン情報コマンドは参照先の情報を有するため、描画されるオブジェクトのあるレイヤ毎に1つ生成される。つまり、オブジェクトが複数重なったスパンにおいては、複数のスパン情報コマンドが生成される。また、スパン情報コマンドは、対応するレイヤが最上位のレイヤであるかどうかを示すフラグを有する。画素生成部203は、受け取ったスパンの位置情報と画素情報の参照先の情報から、中間データ207を参照して各オブジェクトの画素データを生成し、画素情報コマンドとして画素合成部204に送信する。このとき、画素生成部203は、同一の画素値が連続する複数画素については、1つの画素情報コマンドとして画素合成部204に送る。画素情報コマンドは、生成された画素値とその開始画素位置、終了画素位置の情報を含む。画素生成部203は、同一画素の連続を1メッセージとして送るので、図3のスパン4の例では、図4に示すような画素情報が画素合成部204に送られる。図4は図3のスパン4の画素情報として送られる画素情報コマンド例と、その生成順序を示している。画素生成部203は、中間データを参照して、重なり順に、指定されたオブジェクトのスパンの開始位置から終了位置までの画素を生成する。したがって、図4が示す生成順序のように下のレイヤのすべての画素情報が生成されるまで、上のレイヤの画素情報は生成されない。   In this way, since the span information command has the information of the reference destination, one span information command is generated for each layer having the object to be drawn. That is, a plurality of span information commands are generated in a span where a plurality of objects overlap. The span information command has a flag indicating whether or not the corresponding layer is the highest layer. The pixel generation unit 203 generates pixel data of each object by referring to the intermediate data 207 from the received span position information and pixel information reference destination information, and transmits the generated pixel data to the pixel synthesis unit 204 as a pixel information command. At this time, the pixel generation unit 203 sends a plurality of pixels having the same pixel value to the pixel composition unit 204 as one pixel information command. The pixel information command includes information on the generated pixel value and its start pixel position and end pixel position. Since the pixel generation unit 203 sends the same pixel sequence as one message, pixel information as shown in FIG. 4 is sent to the pixel synthesis unit 204 in the example of span 4 in FIG. FIG. 4 shows an example of pixel information commands sent as the pixel information of span 4 in FIG. 3 and the generation order thereof. The pixel generation unit 203 refers to the intermediate data, and generates pixels from the start position to the end position of the specified object in the overlapping order. Therefore, the pixel information of the upper layer is not generated until all the pixel information of the lower layer is generated as in the generation order shown in FIG.

画素合成部204は、上述のような順序で送られてくる画素情報コマンドを受け取って、複数のレイヤの重なりに位置する各オブジェクトの画素データを適切に合成し、各画素の最終出力値を決定する。例えば、図4の例ではレイヤ1の4つの画素情報をすべて保存しておかないと、レイヤ2の画素と適切に合成することが出来ない。また、オブジェクトの描画の方法によっては、レイヤ1の画素情報を一時保存しておいて、レイヤ2とレイヤ3の画素を合成してから、合成後の画素をレイヤ1と合成する。画素情報を一時的に保存にするために、画素合成スタック206が使用される。このように従来の構成では、上述のような順序で画素情報が送られるために、スパンに描画される全てのオブジェクトの画素情報をバッファリングしておく必要があり、多くのリソースを必要としていた。また画素合成部204は、図4のようにレイヤ毎に同一画素数が続く画素範囲が異なった画素情報を処理する必要があるため、複雑な制御を必要としていた。   The pixel synthesizing unit 204 receives the pixel information commands sent in the order as described above, appropriately synthesizes the pixel data of each object located in the overlap of a plurality of layers, and determines the final output value of each pixel To do. For example, in the example of FIG. 4, unless all the four pixel information of layer 1 is saved, it cannot be appropriately combined with the pixel of layer 2. Further, depending on the object drawing method, the pixel information of layer 1 is temporarily stored, the pixels of layer 2 and layer 3 are combined, and the combined pixel is combined with layer 1. In order to temporarily store the pixel information, the pixel composition stack 206 is used. Thus, in the conventional configuration, since the pixel information is sent in the order as described above, it is necessary to buffer the pixel information of all objects drawn in the span, which requires a lot of resources. . Further, since the pixel synthesis unit 204 needs to process pixel information with different pixel ranges in which the same number of pixels continues for each layer as shown in FIG. 4, complicated control is required.

一方、画素合成スタック206に必要なリソースを低減する従来手法として、スパン304のようにオブジェクトの重なりがある場合は、図5のように画素単位のスパンに分割して処理する手法が知られている。このように、画素情報の生成単位であるスパンをさらに分割して画素合成の順序に合わせて画素生成すれば、画素合成の為にスパンの全画素をバッファリングする必要がない。しかし、パイプラインを伝えるスパン情報および画素情報のコマンド数や、合成回数が増大するという課題があった。   On the other hand, as a conventional technique for reducing the resources required for the pixel composition stack 206, there is known a technique of processing by dividing into spans of pixel units as shown in FIG. Yes. In this way, if the span, which is a unit for generating pixel information, is further divided and pixels are generated in accordance with the order of pixel composition, it is not necessary to buffer all the pixels of the span for pixel composition. However, there has been a problem that the number of span information and pixel information commands that convey the pipeline and the number of times of synthesis increase.

図6は、第1実施形態に適用可能なレンダラ処理部106の構成を示している。図2に示した従来のレンダラ処理部106に対して、第1実施形態におけるレンダラ処理部106では、画素生成部203と画素合成部204の間に、画素バッファ601を設けている。画素バッファ601は、画素生成部203が生成する画素情報を保持し、後述の処理フローにおいて画素情報を再生成することで、画素合成部204が効率よく合成することができるようにする。なおここでは、1〜3レイヤ目用バッファを構成としているため、3つの重なりまで対応できる。以下、画素バッファ601の構成例、および動作について説明する。各レイヤバッファ702は、スパンの長さとオブジェクトが保持し得るビット数に基づいて、容量が設定される。例えば、スパンを構成する最大画素数が64画素と設定され、オブジェクトとしては、RGBそれぞれ最大8ビットの画像データが描画されるとする。この場合、1つのレイヤバッファ702には、最大24ビット×64画素のデータが格納される。従って、レイヤバッファ702は、最大24ビット×64画素のデータが格納可能な容量を設けられていることが望ましい。   FIG. 6 shows a configuration of the renderer processing unit 106 applicable to the first embodiment. In contrast to the conventional renderer processing unit 106 shown in FIG. 2, in the renderer processing unit 106 in the first embodiment, a pixel buffer 601 is provided between the pixel generation unit 203 and the pixel synthesis unit 204. The pixel buffer 601 holds the pixel information generated by the pixel generation unit 203 and regenerates the pixel information in a processing flow described later so that the pixel combining unit 204 can efficiently combine the pixel information. Since the first to third layer buffers are configured here, up to three overlaps can be handled. Hereinafter, a configuration example and operation of the pixel buffer 601 will be described. The capacity of each layer buffer 702 is set based on the span length and the number of bits that the object can hold. For example, it is assumed that the maximum number of pixels constituting a span is set to 64 pixels, and image data of up to 8 bits for each of RGB is drawn as an object. In this case, a maximum of 24 bits × 64 pixels of data is stored in one layer buffer 702. Therefore, it is desirable that the layer buffer 702 has a capacity capable of storing data of up to 24 bits × 64 pixels.

図7は、図6における画素バッファ601の詳細な構成を示すブロック図である。画素バッファ601は、入力制御部701とレイヤ毎に画素情報をスキャン方向順にバッファリングするためのレイヤバッファ702、出力制御部703を有する。入力制御部701は、画素生成部203からスパン情報コマンドを受け付けると、スパンの開始画素位置STARTXと終了画素位置ENDXを取得する。また、スパン情報コマンドに含まれる最上位レイヤを示すフラグを持つレイヤを受信するまでに受信したスパン情報コマンドの数をカウントすることでレイヤ総数N(本実施形態の場合は、Nは1〜3)を取得する。また、受信したスパン情報コマンドは出力制御部に転送する。スパン情報コマンドに続いて、画素生成部203からスパンの画素情報を受け付けると、最初に送られてくるレイヤの画素情報を1レイヤ目のバッファに保存する。1レイヤ目のすべての画素情報をバッファに保存すると、すでに保存したレイヤ数とレイヤ総数Nを比較し、まだレイヤが残っているかを判定する。まだレイヤが残っている場合は、続いて送られてくる画素情報を、2レイヤ目以降のバッファに保存していき、Nレイヤ分の保存が終わるまで処理を繰り返す。すべてのレイヤを保存し終わると、次のスパン情報コマンドを受け付けて同様の処理を繰り返す。   FIG. 7 is a block diagram showing a detailed configuration of the pixel buffer 601 in FIG. The pixel buffer 601 includes an input control unit 701, a layer buffer 702 for buffering pixel information for each layer in the scan direction, and an output control unit 703. When receiving a span information command from the pixel generation unit 203, the input control unit 701 acquires a start pixel position STARTX and an end pixel position ENDX of the span. In addition, by counting the number of span information commands received before receiving a layer having a flag indicating the highest layer included in the span information command, the total number of layers N (in this embodiment, N is 1 to 3). ) To get. The received span information command is transferred to the output control unit. When the pixel information of the span is received from the pixel generation unit 203 following the span information command, the pixel information of the layer sent first is stored in the buffer of the first layer. When all the pixel information of the first layer is stored in the buffer, the number of layers already stored and the total number N of layers are compared, and it is determined whether there are still layers remaining. If there are still layers remaining, the pixel information sent subsequently is stored in the buffer for the second and subsequent layers, and the processing is repeated until the storage for the N layers is completed. When all layers have been saved, the next span information command is received and the same processing is repeated.

出力制御部703は、各レイヤバッファから画素情報を取り出して、画素合成部204が効率よく合成することができるように画素情報を再生成する。以下、図8を用いて出力制御部703の動作を説明する。図8は、出力制御部703が実行する処理のフローチャートである。   The output control unit 703 extracts pixel information from each layer buffer and regenerates the pixel information so that the pixel combining unit 204 can efficiently combine the pixel information. Hereinafter, the operation of the output control unit 703 will be described with reference to FIG. FIG. 8 is a flowchart of processing executed by the output control unit 703.

ステップS802において出力制御部703は、入力制御部701から複数のスパン情報コマンドを受け付けると、コマンドからスパンの開始画素位置STARTXと終了画素位置ENDXを取得する。また、入力制御部701と同様に、スパン情報コマンドに含まれる最上位レイヤを示すフラグを持つレイヤを受信するまでに受信したスパン情報コマンドの数をカウントすることでレイヤ総数Nを取得する。   In step S <b> 802, when the output control unit 703 receives a plurality of span information commands from the input control unit 701, the output control unit 703 acquires a start pixel position STARTX and an end pixel position ENDX of the span from the command. Similarly to the input control unit 701, the total number N of layers is obtained by counting the number of span information commands received until a layer having a flag indicating the highest layer included in the span information command is received.

ステップS802において出力制御部703は、N個それぞれのレイヤバッファから1つずつ計N個の画素情報を取り出して、共通して取り出せる画素区間を特定する。ここで共通して取り出せる画素区間は、後段の画素合成部204が共通して処理可能な領域(区間)とも言える。最初に取り出される画素区間の開始画素位置は常にSTARTXとなり、画素区間の終了画素位置については、N個の同一画素の連続する画素区間から最小の終了画素位置NEXTENDを検出することで得られる。2区間目からの開始画素位置は1区間前のNEXTEND+1となる。   In step S <b> 802, the output control unit 703 extracts a total of N pieces of pixel information one by one from each of the N layer buffers, and specifies pixel sections that can be extracted in common. The pixel section that can be extracted in common here can be said to be an area (section) that can be processed in common by the pixel synthesis unit 204 in the subsequent stage. The start pixel position of the pixel section to be extracted first is always STARTX, and the end pixel position of the pixel section is obtained by detecting the minimum end pixel position NEXTEND from the consecutive pixel sections of N identical pixels. The start pixel position from the second section is NEXTEND + 1 one section before.

ステップS803において、ステップS801で取り出したN個の画素情報のうち1レイヤ目からNレイヤ目の順に、開始画素位置STARTXから終了画素位置NEXTXの部分的な画素情報を生成する。生成した部分的な画素情報は、1組の画素情報として画素合成部204に出力する。ステップS803までで既に出力したNEXTXの画素位置がスパンの終了位置ENDXに達していれば(NEXTX==ENDX)、現在のスパンの出力処理を終了し、次のスパン情報コマンドを入力制御部701から受け付けて同様の処理を繰り返す。まだNEXTXがENDXに達していない場合は(NEXTX<ENDX)、ステップS804に進み、N個のレイヤの画素情報から既にS803で画素合成部204に送信した画素範囲を削除する。ステップS804で画素範囲を削除した結果、全ての画素範囲が削除されたレイヤが存在する場合、ステップS805に進む。ステップS805において削除したレイヤのレイヤバッファから次の画素範囲の画素情報を取り出して、新しくN個のレイヤの画素情報を更新し、S802からの処理を繰り返す。   In step S803, partial pixel information from the start pixel position STARTX to the end pixel position NEXTTX is generated in the order from the first layer to the Nth layer among the N pieces of pixel information extracted in step S801. The generated partial pixel information is output to the pixel composition unit 204 as a set of pixel information. If the NEXTTX pixel position that has already been output up to step S803 has reached the span end position ENDX (NEXTX == ENDX), the current span output processing is terminated, and the next span information command is sent from the input control unit 701. Accept and repeat the same process. If NEXTTX has not yet reached ENDX (NEXTTX <ENDX), the process proceeds to step S804, and the pixel range already transmitted to the pixel composition unit 204 in S803 is deleted from the pixel information of the N layers. As a result of deleting the pixel range in step S804, if there is a layer from which all the pixel ranges are deleted, the process proceeds to step S805. The pixel information of the next pixel range is extracted from the layer buffer of the layer deleted in step S805, the pixel information of the N layers is newly updated, and the processing from S802 is repeated.

以上説明したように、画素生成部203によって作成された複数レイヤにわたってオブジェクトが重なった位置の画素情報をバッファリングする。さらに、複数レイヤ間で同一画素が連続している領域を揃えながら各レイヤの画素情報を並び替えて再生成する。これにより、画素合成部204は、複数のレイヤにわたって複数の画素の合成結果が同一になる画素範囲はレイヤ1からレイヤNまでの画素情報を1組として合成処理できる。そのため画素合成部204は、レイヤ数よって決まるスパンにおいて重なり順に全ての画素情報が転送されるのを待つことなく、効率的に画素合成処理を実行することが出来る。なお図6では、3レイヤ分のバッファを有する場合の例を示しているが、レイヤバッファの個数を変更することで容易に4以上の任意のNレイヤにも対応可能である。   As described above, the pixel information at the position where the object overlaps over a plurality of layers created by the pixel generation unit 203 is buffered. Furthermore, the pixel information of each layer is rearranged and regenerated while aligning the region where the same pixels are continuous between the plurality of layers. As a result, the pixel composition unit 204 can perform composition processing by combining pixel information from layer 1 to layer N as a set in a pixel range in which the composition result of a plurality of pixels is the same across a plurality of layers. Therefore, the pixel synthesizing unit 204 can efficiently execute the pixel synthesizing process without waiting for all pixel information to be transferred in the overlapping order in the span determined by the number of layers. Note that FIG. 6 shows an example in which buffers for three layers are provided, but it is possible to easily cope with four or more arbitrary N layers by changing the number of layer buffers.

<変形例>
第1実施期待では、図7および図8のフロー図を用いて説明したように、重なったオブジェクトの画素情報をレイヤ毎に異なる画素バッファに保存する。しかしながら、第1実施形態に示す構成では設けたレイヤバッファの個数以上にレイヤ数の重なりがあるスパンについては、処理することが出来ない。そこで変形例として、図9に示すように単一画素値レイヤバッファ903を設ける方法について説明する。以下、図9と出力制御部904が実行する処理フロー図を示した図10を用いて、変形例における処理の動作を説明する。単一画素値レイヤバッファ903は、スパンの開始画素位置から終了画素位置までの全域が単一画素値であるレイヤを保存するバッファとして使用される。例えば、図3で例示したオブジェクト302、303は、画素位置に依らずに単一画素値で描画されるオブジェクトであるため、これらのオブジェクトから生成されるスパンは単一画素値レイヤバッファ903に格納する。従って、レイヤバッファ902には、全レイヤの画素情報のうち、一部のレイヤの画素情報が入力される。単一画素値からなるオブジェクトの場合、画素毎の画素情報を保持する必要がなく、1画素分の画素情報を保持しておけばよい。そのため例えば前述のレイヤバッファ702と同様、同一画素値レイヤバッファ903が24ビット×64画素のデータが格納可能な容量を設けられている場合、64のオブジェクトの画素情報を保持できることになる。従って図9に示すバッファの場合、単一画素値ではない画像オブジェクトの重なりは2つ、単一画素値からなるオブジェクトの重なりは64まで対応できることになる。
<Modification>
In the first implementation expectation, as described with reference to the flowcharts of FIGS. 7 and 8, the pixel information of the overlapped objects is stored in different pixel buffers for each layer. However, in the configuration shown in the first embodiment, it is not possible to process a span where the number of layers overlaps more than the number of layer buffers provided. Therefore, as a modification, a method of providing a single pixel value layer buffer 903 as shown in FIG. 9 will be described. Hereinafter, the operation of the processing in the modification will be described with reference to FIG. 9 and FIG. 10 showing a processing flowchart executed by the output control unit 904. The single pixel value layer buffer 903 is used as a buffer for storing a layer in which the entire area from the start pixel position to the end pixel position of the span is a single pixel value. For example, since the objects 302 and 303 illustrated in FIG. 3 are drawn with a single pixel value regardless of the pixel position, the span generated from these objects is stored in the single pixel value layer buffer 903. To do. Therefore, pixel information of some layers among the pixel information of all layers is input to the layer buffer 902. In the case of an object consisting of a single pixel value, it is not necessary to hold pixel information for each pixel, and it is sufficient to hold pixel information for one pixel. Therefore, for example, similarly to the layer buffer 702 described above, when the same pixel value layer buffer 903 is provided with a capacity capable of storing data of 24 bits × 64 pixels, pixel information of 64 objects can be held. Accordingly, in the case of the buffer shown in FIG. 9, two overlapping image objects that are not single pixel values and up to 64 overlapping object objects consisting of single pixel values can be handled.

入力制御部901は、画素生成部203からスパン情報コマンドを受け付けると、スパンの開始画素位置STARTXと終了画素位置ENDXとレイヤ総数Nを取得し、出力制御部に転送する。スパン情報コマンドに続いて、画素生成部203からスパンの画素情報を受け付けると、処理対象のレイヤが単一画素値のオブジェクトからなるレイヤかどうかを判断する。画素情報から得られる開始画素位置とSTARTX、終了画素位置とENDXを比較し、共に一致した画素情報のレイヤは単一画素レイヤと判定される。単一画素値レイヤであった場合は、単一画素値レイヤバッファ903に画素情報を保存して、次のレイヤの入力処理に移行する。単一画素値レイヤでなかった場合は、本レイヤのすべての画素情報を第nレイヤバッファ[n=1、2、・・・、N:nは当該スパンにおけるn番目の単一画素値でないレイヤを指す]に保存して、次のレイヤの入力処理に移行する。すでに保存したレイヤ数とレイヤ総数Nを比較して、まだレイヤが残っている場合は、続いて送られてくる画素情報について上記処理を繰り返す。すべてのレイヤを保存し終わると、次のスパン情報コマンドを受け付けて、同様の処理を繰り返す。   When the input control unit 901 receives a span information command from the pixel generation unit 203, the input control unit 901 acquires the start pixel position STARTX, the end pixel position ENDX, and the total number N of layers of the span, and transfers them to the output control unit. When the pixel information of the span is received from the pixel generation unit 203 following the span information command, it is determined whether or not the processing target layer is a layer composed of an object having a single pixel value. The start pixel position obtained from the pixel information and STARTX, and the end pixel position and ENDX are compared, and the layer of pixel information that coincides with each other is determined as a single pixel layer. If it is a single pixel value layer, the pixel information is stored in the single pixel value layer buffer 903, and the process proceeds to input processing of the next layer. If it is not a single pixel value layer, all the pixel information of this layer is stored in the nth layer buffer [n = 1, 2,..., N: n is a layer that is not the nth single pixel value in the span. To the next layer input processing. The number of layers already stored and the total number N of layers are compared, and if there are still layers, the above process is repeated for the pixel information sent subsequently. When all layers have been saved, the next span information command is accepted and the same processing is repeated.

出力制御部904は、図10の処理フローに従って、各レイヤバッファから画素情報を取り出して、画素合成部204が効率よく合成することができるように画素情報を再生成する。以下、図10を用いて出力制御部904の動作を説明する。   The output control unit 904 extracts pixel information from each layer buffer according to the processing flow of FIG. 10 and regenerates the pixel information so that the pixel combining unit 204 can efficiently combine them. Hereinafter, the operation of the output control unit 904 will be described with reference to FIG.

ステップS1001において出力制御部904は、入力制御部901からスパン情報コマンドを受け付けると、コマンドからスパンの開始画素位置STARTXと終了画素位置ENDXを取得する。また、スパン情報コマンドに含まれる最上位レイヤを示すフラグを持つレイヤを受信するまでに受信したスパン情報コマンドの数をカウントすることでレイヤ総数Nを取得する。   In step S1001, when the output control unit 904 receives a span information command from the input control unit 901, the output control unit 904 acquires the start pixel position STARTX and the end pixel position ENDX of the span from the command. Further, the total number N of layers is obtained by counting the number of span information commands received until a layer having a flag indicating the highest layer included in the span information command is received.

ステップS1002において出力制御部904は、スパン情報コマンドには含まれる、画素生成部203が画素生成時に使用した参照先の情報に基づいて、各レイヤがレイヤバッファと単一画素値レイヤバッファのどちらに含まれているかを検出する。この結果、1番下のレイヤからN番目のレイヤの画素情報は、それぞれどのバッファから取り出せばいいかを決定できる。ステップS1003において、ステップ1002における判定結果に基づいて、それぞれのバッファからN個の画素情報を取り出すと、第1実施形態と同様に共通して取り出せる画素区間を特定する。最初に取り出される画素区間の開始画素位置は常にSTARTXとなり、画素区間の終了画素位置については、N個の同一画素の連続する画素区間から最小の終了画素位置NEXTENDを調べることで得られる。2区間目からの開始画素位置は1区間前のNEXTEND+1となる。   In step S1002, the output control unit 904 determines whether each layer is a layer buffer or a single pixel value layer buffer based on the reference destination information used by the pixel generation unit 203 during pixel generation, which is included in the span information command. Detect if it is included. As a result, it is possible to determine from which buffer the pixel information of the Nth layer from the lowest layer should be extracted. In step S1003, when N pieces of pixel information are extracted from the respective buffers based on the determination result in step 1002, pixel sections that can be extracted in common are specified as in the first embodiment. The start pixel position of the pixel section to be extracted first is always STARTX, and the end pixel position of the pixel section is obtained by examining the minimum end pixel position NEXTEND from consecutive pixel sections of N identical pixels. The start pixel position from the second section is NEXTEND + 1 one section before.

ステップS1004において、ステップS1003で取り出したN個の画素情報から1レイヤ目からNレイヤ目の順に、開始画素位置STARTX、終了画素位置NEXTXの部分画素情報を生成する。生成した部分画素情報は、1組の画素情報として画素合成部204に出力する。ステップS1004までで既に出力したNEXTXの画素位置がスパンの終了位置ENDXに達していれば(NEXTX==ENDX)、現在のスパンの出力処理を終了し、次のスパン情報コマンドを入力制御部901から受け付けて同様の処理を繰り返す。まだNEXTXがENDXに達していない場合は(NEXTX<ENDX)、ステップS1005に進む。ステップS1005において、N個のレイヤの画素情報から既にS1004で画素合成部204に送信した画素範囲を削除する。ステップS1004で画素範囲を削除した結果、全ての画素範囲が削除されたレイヤが存在する場合、ステップS1006に進む。ステップS1006において削除したレイヤのレイヤバッファから次の画素範囲の画素情報を取り出して、新しくN個のレイヤの画素情報を更新し、S1003からの処理を繰り返す。   In step S1004, partial pixel information of the start pixel position STARTX and the end pixel position NEXTTX is generated in the order from the first layer to the Nth layer from the N pieces of pixel information extracted in step S1003. The generated partial pixel information is output to the pixel composition unit 204 as a set of pixel information. If the NEXTTX pixel position that has already been output up to step S1004 has reached the span end position ENDX (NEXTX == ENDX), the current span output processing is terminated, and the next span information command is sent from the input control unit 901. Accept and repeat the same process. If NEXTTX has not yet reached ENDX (NEXTTX <ENDX), the process proceeds to step S1005. In step S1005, the pixel range already transmitted to the pixel composition unit 204 in S1004 is deleted from the pixel information of the N layers. As a result of deleting the pixel range in step S1004, when there is a layer from which all the pixel ranges are deleted, the process proceeds to step S1006. The pixel information of the next pixel range is extracted from the layer buffer of the layer deleted in step S1006, the pixel information of N layers is newly updated, and the processing from S1003 is repeated.

図11は、図9の2種類のレイヤバッファ3個に対して、5つのレイヤが重なったスパンを処理する例を示している。画素バッファ601の主要な動作を詳細に説明する。入力制御部901によって、レイヤ1の画素情報は第1レイヤバッファに、レイヤ4の画素情報は第2レイヤバッファに、レイヤ2、3、5の画素情報は単一画素値レイヤバッファ903にバッファリングされる。出力制御部904は、各バッファから全5レイヤの先頭の画素情報を取り出し、最小の終了画素位置を検出する。検出した全5レイヤにわたって共通する画素範囲をもとに、部分画素情報を重なり順に画素合成部204に送信する。取り出した画素情報のうち、送信済みの画素範囲を削除する。全ての画素範囲が削除されたレイヤが存在する場合、削除されたレイヤが保存されているレイヤバッファから新たに画素情報を取り出す。以上の処理をスパンの終了画素位置ENDXに達するまで繰り返す。   FIG. 11 shows an example of processing a span in which five layers overlap each other with respect to the three kinds of layer buffers of FIG. The main operation of the pixel buffer 601 will be described in detail. The input control unit 901 buffers layer 1 pixel information in the first layer buffer, layer 4 pixel information in the second layer buffer, and layer 2, 3, and 5 pixel information in the single pixel value layer buffer 903. Is done. The output control unit 904 extracts the top pixel information of all five layers from each buffer, and detects the minimum end pixel position. The partial pixel information is transmitted to the pixel synthesizing unit 204 in the overlapping order based on the detected pixel range common to all five layers. Of the extracted pixel information, the transmitted pixel range is deleted. If there is a layer from which all pixel ranges are deleted, new pixel information is extracted from the layer buffer in which the deleted layer is stored. The above processing is repeated until the end pixel position ENDX of the span is reached.

以上説明したように変形例によれば、画素生成部203によって作成された複数レイヤにわたって重なった画素情報を画素バッファ601でバッファリングする。さらに複数レイヤ間で同一画素が連続している領域を揃えながら画素情報を並び替えて再生成する。これによって、画素合成部204は、複数のレイヤにわたって複数の画素の合成結果が同一になる画素範囲はレイヤ1からレイヤNまでの1組の合成処理で完了でき、効率的に画素合成処理することが出来る。また、画素バッファ601に単一画素値レイヤバッファ903を設けることで、少ないリソースでより多くのレイヤの重なりをバッファリングすることが出来る。1ページ分のデータには、オブジェクト301のような画像が多数重なって描画されることはあまり発生しない。一方、オブジェクト302や303のような単一画素値かなる図形やレイアウトは、複数重なって描画される場合がある。さらに前述の通り単一画素値からなるオブジェクトは、画像オブジェクトの1画素分の画素情報を保持しておけばよいので、単一画素値からなるオブジェクトは1つのバッファに格納する。これにより1ページにおいてより多数の重なりに対応可能な構成を実現することができる。また、図9ではレイヤバッファ902が2個、単一画素値レイヤバッファ903が1個の構成で説明したが、それぞれのバッファの個数は変更可能である。   As described above, according to the modification, the pixel information overlapped over a plurality of layers created by the pixel generation unit 203 is buffered by the pixel buffer 601. Furthermore, the pixel information is rearranged and regenerated while aligning regions where the same pixels are continuous between the plurality of layers. Accordingly, the pixel composition unit 204 can complete the pixel range in which the composition result of the plurality of pixels is the same across the plurality of layers by one set of composition processing from the layer 1 to the layer N, and efficiently perform the pixel composition processing. I can do it. In addition, by providing the single pixel value layer buffer 903 in the pixel buffer 601, it is possible to buffer more layers with less resources. In one page of data, a large number of images such as the object 301 are rarely drawn. On the other hand, there may be a case where a plurality of graphics and layouts having a single pixel value such as the objects 302 and 303 are drawn. Further, as described above, an object composed of a single pixel value may store pixel information for one pixel of an image object, and therefore an object composed of a single pixel value is stored in one buffer. As a result, it is possible to realize a configuration that can handle a larger number of overlaps in one page. In FIG. 9, the configuration has been described with two layer buffers 902 and one single pixel value layer buffer 903, but the number of each buffer can be changed.

<第2実施形態>
第1実施形態の変形例では入力制御部901は画素生成部203が生成した画素情報をもとに、レイヤバッファ902と単一画素値レイヤバッファ903のどちらにバッファリングするかを制御する構成とした。第2実施形態ではバッファリングするバッファの制御を画素バッファ601よりパイプラインの前段に位置するエッジ処理部202や画素生成部203で行う構成とする方法について説明する。
Second Embodiment
In the modification of the first embodiment, the input control unit 901 controls whether to buffer in the layer buffer 902 or the single pixel value layer buffer 903 based on the pixel information generated by the pixel generation unit 203. did. In the second embodiment, a description will be given of a method in which the buffer to be buffered is controlled by the edge processing unit 202 and the pixel generation unit 203 that are positioned upstream of the pixel buffer 601 in the pipeline.

エッジ処理部202で制御する場合について説明する。第1実施形態で述べたようにエッジ処理部202は、レイヤ毎にスパン情報コマンドを生成してパイプライン後段のモジュールに送信する。スパン情報コマンドは、画素生成部203が画素情報を生成するための参照先の情報を含む。エッジ処理部202は、この参照先が単一画素値であるとき、スパン情報コマンドに単一画素値であることを通知するフラグを付与する。入力制御部901は、スパン情報コマンドに付与されたフラグを検知したとき、該当するレイヤの画素情報を単一画素値レイヤバッファにバッファリングする。単一画素値であることを通知するフラグを付与する処理は、画素生成部203が実施しても構わない。本実施形態によれば、入力制御部901は画素情報の中身を解析せずに、スパン情報コマンドのフラグを検出するだけでバッファの制御が可能となる。また、入力制御部901において同様にスパン情報コマンドに含まれる参照先の情報から単一画素値かどうかを判定するように構成してもよい。   A case where control is performed by the edge processing unit 202 will be described. As described in the first embodiment, the edge processing unit 202 generates a span information command for each layer and transmits the span information command to a module in the subsequent stage of the pipeline. The span information command includes reference destination information for the pixel generation unit 203 to generate pixel information. When the reference destination is a single pixel value, the edge processing unit 202 assigns a flag for notifying that it is a single pixel value to the span information command. When the input control unit 901 detects the flag added to the span information command, the input control unit 901 buffers the pixel information of the corresponding layer in the single pixel value layer buffer. The pixel generation unit 203 may perform the process of providing a flag for notifying that the pixel value is a single pixel value. According to the present embodiment, the input control unit 901 can control the buffer only by detecting the flag of the span information command without analyzing the contents of the pixel information. Similarly, the input control unit 901 may be configured to determine whether the pixel value is a single pixel value from the reference destination information included in the span information command.

<その他の実施形態>
第1実施形態では、最適化前の画素バッファ601の制御フローに基づいて、出力制御部904の動作フローを説明した。しかしながら、本実施形態では、単一画素値レイヤバッファに保存されているレイヤの画素情報については、全画素区間が同一画素値であることがあらかじめ分かっている。したがって、ステップS1003とステップS1006の処理の対象から同一画素値レイヤの画素情報を除外する、などの最適な実装形態をとっても構わない。
<Other embodiments>
In the first embodiment, the operation flow of the output control unit 904 has been described based on the control flow of the pixel buffer 601 before optimization. However, in the present embodiment, it is known in advance that all pixel sections have the same pixel value for the pixel information of the layer stored in the single pixel value layer buffer. Therefore, an optimal mounting form such as excluding the pixel information of the same pixel value layer from the processing target in steps S1003 and S1006 may be adopted.

また、レイヤバッファ902と単一画素値レイヤバッファ903は、同じ構成のバッファとして構成して機能を切り替えてもよい。つまり、単一画素値レイヤが存在しないスパンでは単一画素値レイヤバッファをレイヤバッファとして使用してもよい。この場合、単一画素値レイヤが存在するか否かを判定し、判定結果に応じて第1の実施形態と、偏見例とを切り替えるような構成となる。   Further, the layer buffer 902 and the single pixel value layer buffer 903 may be configured as buffers having the same configuration, and the functions may be switched. That is, a single pixel value layer buffer may be used as a layer buffer in a span where no single pixel value layer exists. In this case, it is determined whether or not there is a single pixel value layer, and the first embodiment and the prejudice example are switched according to the determination result.

100 画像形成装置
106 レンダラ処理部
601 画素バッファ
701 入力制御部
702 1〜Nレイヤ用バッファ
703 出力制御部
DESCRIPTION OF SYMBOLS 100 Image forming apparatus 106 Renderer processing part 601 Pixel buffer 701 Input control part 702 1-N layer buffer 703 Output control part

Claims (8)

印刷対象の画像を表すデータをラスタ画像データに変換する画像処理装置であって、
前記画像における処理対象ラインにおいて、描画されるオブジェクトが重なる数に基づいて、連続する画素の位置情報を取得する取得手段と、
前記連続する画素において、前記描画されるオブジェクトのうち少なくとも一部の画素データを示す画素情報を保持する第一の保持手段と、
前記描画されるオブジェクトのうち、前記連続する画素において単一の画素値からなるオブジェクトの画素データを示す画素情報を保持する第二の保持手段と、
前記連続する画素のうち、オブジェクトが対応するレイヤ毎に、前記連続する画素の画素データを画素情報として前記オブジェクトの重ね順に前記第一の保持手段または前記第二の保持手段に入力する入力手段と、
前記第一の保持手段または前記第二の保持手段に保持された前記連続する画素における画素情報に基づいて、共通して処理可能な領域を特定し、前記領域における全てのレイヤの画素情報を1組として、前記第一の保持手段または前記第二の保持手段から取り出して出力する出力手段を有することを特徴とする画像処理装置。
An image processing apparatus that converts data representing an image to be printed into raster image data,
Acquisition means for acquiring position information of successive pixels based on the number of objects to be drawn overlapping in the processing target line in the image;
First holding means for holding pixel information indicating at least some pixel data of the drawn object in the continuous pixels;
Second holding means for holding pixel information indicating pixel data of an object having a single pixel value in the continuous pixels among the drawn objects;
An input unit that inputs pixel data of the continuous pixels as pixel information to the first holding unit or the second holding unit in the overlapping order of the objects for each layer corresponding to the object among the continuous pixels. ,
Based on the pixel information in the continuous pixels held in the first holding means or the second holding means, a region that can be processed in common is specified, and pixel information of all layers in the region is set to 1 An image processing apparatus comprising output means for taking out and outputting from the first holding means or the second holding means as a set.
前記入力手段は、前記画素情報の属するレイヤが単一の画素値を持つレイヤであると判定した場合、前記画素情報を前記第二の保持手段に入力し、前記画素情報の属するレイヤが単一の画素値を持つレイヤではないと判定した場合は、前記画素情報を前記第一の保持手段に入力することを特徴とする請求項1に記載の画像処理装置。   When the input unit determines that the layer to which the pixel information belongs is a layer having a single pixel value, the input unit inputs the pixel information to the second holding unit, and the layer to which the pixel information belongs is single. The image processing apparatus according to claim 1, wherein the pixel information is input to the first holding unit when it is determined that the layer does not have a pixel value. 前記出力手段は、前記連続する画素において、前記領域を複数、特定することを特徴とする請求項1または2に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the output unit specifies a plurality of the regions in the continuous pixels. さらに、前記出力手段から得られる画素情報に基づいて、前記処理対象ラインにおける各画素の画素値を決定する決定手段を有し、
前記決定手段は、前記領域ごとに前記画素情報を参照して、順に画素値を決定することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
Furthermore, based on pixel information obtained from the output means, there is a determination means for determining a pixel value of each pixel in the processing target line,
The image processing apparatus according to claim 1, wherein the determination unit sequentially determines pixel values with reference to the pixel information for each region.
前記出力手段は、前記領域における画素情報を前記レイヤの重なり順に出力することを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。   5. The image processing apparatus according to claim 1, wherein the output unit outputs pixel information in the region in an overlapping order of the layers. 6. 前記出力手段は、レイヤ毎に生成されたスパン情報コマンドに基づいて、前記処理対象ラインにおける前記連続する画素ごとのレイヤ数と、前記画素情報を保持している保持手段を検出することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。   The output means detects the number of layers for each successive pixel in the processing target line and a holding means for holding the pixel information based on a span information command generated for each layer. The image processing apparatus according to any one of claims 1 to 5. 前記第二の保持手段は、前記連続する画素において単一の画素値を持つレイヤが存在しない場合は、前記第一の保持手段として機能することを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。   The said 2nd holding | maintenance means functions as said 1st holding | maintenance means, when the layer which has a single pixel value in the said continuous pixel does not exist. The image processing apparatus according to item. 印刷対象の画像を表すデータをラスタ画像データに変換する画像処理方法であって、
前記画像における処理対象ラインにおいて、描画されるオブジェクトが重なる数に基づいて、連続する画素の位置情報を取得し、
前記連続する画素のうち、オブジェクトが対応するレイヤ毎に、前記連続する画素の画素データを画素情報として前記オブジェクトの重ね順に、前記連続する画素において、前記描画されるオブジェクトのうち少なくとも一部の画素データを示す画素情報を保持する第一の保持手段と、前記描画されるオブジェクトのうち、前記連続する画素において単一の画素値からなるオブジェクトの画素データを示す画素情報を保持する第二の保持手段と、のうちいずれかに、入力し、
前記第一の保持手段または前記第二の保持手段に保持された前記連続する画素における画素情報に基づいて、共通して処理可能な領域を特定し、前記領域における全てのレイヤの画素情報を1組として、前記第一の保持手段または前記第二の保持手段から取り出して出力することを特徴とする画像処理方法。
An image processing method for converting data representing an image to be printed into raster image data,
In the processing target line in the image, based on the number of overlapping objects to be drawn, obtain the position information of consecutive pixels,
Among the continuous pixels, for each layer corresponding to the object, at least some of the drawn objects in the continuous pixels in the overlapping order of the objects using pixel data of the continuous pixels as pixel information. A first holding unit for holding pixel information indicating data, and a second holding for holding pixel information indicating pixel data of an object having a single pixel value in the consecutive pixels among the drawn objects. Enter into any of the means,
Based on the pixel information in the continuous pixels held in the first holding means or the second holding means, a region that can be processed in common is specified, and pixel information of all layers in the region is set to 1 An image processing method comprising: taking out and outputting from the first holding unit or the second holding unit as a set.
JP2015234265A 2015-11-30 2015-11-30 Image processing apparatus and image processing method Active JP6614941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015234265A JP6614941B2 (en) 2015-11-30 2015-11-30 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015234265A JP6614941B2 (en) 2015-11-30 2015-11-30 Image processing apparatus and image processing method

Publications (2)

Publication Number Publication Date
JP2017103563A true JP2017103563A (en) 2017-06-08
JP6614941B2 JP6614941B2 (en) 2019-12-04

Family

ID=59016984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015234265A Active JP6614941B2 (en) 2015-11-30 2015-11-30 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP6614941B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230760A (en) * 2008-03-20 2009-10-08 Sharp Corp Image processor and image processing method
JP2014197349A (en) * 2013-03-29 2014-10-16 キヤノン株式会社 Picture processing device, information processing method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230760A (en) * 2008-03-20 2009-10-08 Sharp Corp Image processor and image processing method
JP2014197349A (en) * 2013-03-29 2014-10-16 キヤノン株式会社 Picture processing device, information processing method, and program

Also Published As

Publication number Publication date
JP6614941B2 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
JP6029344B2 (en) Image processing apparatus, image processing method, and program
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
JP2008276407A (en) Image processor and method therefor
JP2012200934A (en) Image data processing system
JP2017024321A (en) Image processor, image formation device, and image processing time prediction method and program
JP6643056B2 (en) Image processing apparatus, image processing method, data generation method, and program
JPH1131052A (en) Document processing system
JP6614941B2 (en) Image processing apparatus and image processing method
EP3584761A1 (en) Image forming apparatus capable of changing thickness of character, control method therefor, and storage medium storing control program therefor
JP6904717B2 (en) Image processing equipment, its control method, and programs
JP2008107970A (en) Image forming device
JP2005324425A (en) Image forming apparatus and control program therefor
JP6323209B2 (en) Image processing apparatus and program
JP2016206934A (en) Image processing device, image processing method and program
JP6755644B2 (en) Character processing device, character processing method, character processing program
US20190004755A1 (en) Image processing apparatus that performs rendering processing, method of rendering processing, and storage medium
JP2021022024A (en) Image processing system, image processing method and program
JP2013122661A (en) Image processing device, image processing method and program
US9824305B2 (en) Printing control device, image processing method, and storage medium
US10755150B2 (en) Image processing apparatus that performs pixel synthesis processing and image processing method
JPH10151815A (en) Printing-processing apparatus
JP2009101519A (en) Image forming apparatus and image forming system
JP4428264B2 (en) Image processing apparatus and image processing method
US9619740B2 (en) Image processing apparatus and image processing method
JP2014197349A (en) Picture processing device, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191105

R151 Written notification of patent or utility model registration

Ref document number: 6614941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151