[go: up one dir, main page]

JP2017001387A - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP2017001387A
JP2017001387A JP2016081489A JP2016081489A JP2017001387A JP 2017001387 A JP2017001387 A JP 2017001387A JP 2016081489 A JP2016081489 A JP 2016081489A JP 2016081489 A JP2016081489 A JP 2016081489A JP 2017001387 A JP2017001387 A JP 2017001387A
Authority
JP
Japan
Prior art keywords
data
rendering
decoding
band
image
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
JP2016081489A
Other languages
Japanese (ja)
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 US15/171,505 priority Critical patent/US20160358052A1/en
Publication of JP2017001387A publication Critical patent/JP2017001387A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】 PDLデータから領域毎に作成した中間データに基づいて、レンダリング処理する場合に、領域間に生じるレンダリング処理の待機時間を削減する。【解決手段】 入力される印刷データをラスタ画像データに変換するための中間データを生成する情報処理装置であって、前記印刷データに基づいて、前記画像に描画される画像オブジェクトの符号化された圧縮データをデコードするデコード手段と、前記保持手段が保持する前記画像オブジェクトの画像データを参照しながら、前記画像の領域毎にレンダリングすることによりラスタ画像データを生成するレンダリング手段とを有し、前記デコード手段は、前記レンダリング手段が注目領域のラスタ画像データを生成している間に、前記注目領域に描画される画像オブジェクトの圧縮データと、前記注目領域の後続の領域に描画される画像オブジェクトの圧縮データの少なくとも一部をデコードする。【選択図】 図1PROBLEM TO BE SOLVED: To reduce a waiting time of a rendering process which occurs between areas when a rendering process is performed based on an intermediate data created for each area from PDL data. An information processing device that generates intermediate data for converting input print data into raster image data, in which an image object drawn on the image is encoded based on the print data. It has a decoding means for decoding compressed data and a rendering means for generating raster image data by rendering each region of the image while referring to the image data of the image object held by the holding means. The decoding means is the compressed data of the image object drawn in the attention area and the image object drawn in the subsequent area of the attention area while the rendering means is generating the raster image data of the attention area. Decode at least part of the compressed data. [Selection diagram] Fig. 1

Description

本発明は、ページ記述言語(PDL)で記述されたデータから画像データを生成する情報処理装置および情報処理方法に関する。   The present invention relates to an information processing apparatus and an information processing method for generating image data from data described in a page description language (PDL).

記録媒体に画像を印刷する場合、ページ記述言語(PDL:page description language)で記述された印刷対象のデータをネットワーク等の通信媒体を介して受信する。プリンタ等の画像形成装置で出力するため、PDLで記述されたデータに対してRIP(Raster image processor)処理を実行することにより、PDLで記述されたデータは、ラスタ画像データに変換される。具体的にはまず、印刷する画像形成装置(プリンタ)専用のインタプリタが、受信したPDLによって記述されたデータを解釈し、中間データ作成部が、解釈した結果に基づいて中間データを作成する。さらに、中間データに基づいてレンダリング処理が実行され、ラスタ画像データが生成される。以上のようRIP処理によって生成されるラスタ画像データは、所定の画像処理を施され、画像形成装置が印刷可能な印字データに変換され、プリンタが印刷データに基づいて印刷する。このようなプリンタシステムにおいて、中間データを格納するメモリ量を削減するために、1ページ分の画像データを帯状に分割した複数の領域毎に、中間データを生成する方法が知られている。   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 the intermediate data creation unit creates intermediate data based on the interpreted result. Further, a rendering process is executed based on the intermediate data, and raster image data is generated. The raster image data generated by the RIP processing as described above is subjected to predetermined image processing, converted into print data that can be printed by the image forming apparatus, and the printer prints based on the print data. In such a printer system, in order to reduce the amount of memory for storing intermediate data, a method of generating intermediate data for each of a plurality of areas obtained by dividing image data for one page into strips is known.

特許文献1には、領域毎に中間データを分割する際に、画像オブジェクトが領域の境界に跨っている場合、隣接する領域分が一部重複するように分割し、中間データを作成する方法について開示している。また特許文献2では、画像オブジェクトが複数の領域に跨る場合には、分割する位置を変更する方法が開示されている。   Patent Document 1 discloses a method for creating intermediate data by dividing so that adjacent areas partially overlap when an image object straddles the boundary of the area when dividing the intermediate data for each area. Disclosure. Further, Patent Document 2 discloses a method of changing the division position when an image object straddles a plurality of regions.

特開2001−306275号公報JP 2001-306275 A 特開2003−72161号公報JP 2003-72161 A

RIP処理において、レンダリング処理する対象の領域に、圧縮された画像データがオブジェクトとして含まれている場合、必要な圧縮データを伸張した後に、レンダリング処理が開始される。そのため特許文献1や特許文献2に開示された方法によれば、領域毎に作成された中間データに基づくレンダリング処理をするたびに、必要な画像データが伸張されるのを待たなければならないという課題が生じる。   In the RIP processing, when compressed image data is included as an object in a region to be rendered, rendering processing is started after decompressing necessary compressed data. Therefore, according to the methods disclosed in Patent Literature 1 and Patent Literature 2, it is necessary to wait for necessary image data to be decompressed every time rendering processing based on intermediate data created for each region is performed. Occurs.

そこで本発明は、領域毎に作成された中間データに基づいてレンダリング処理する場合に、領域間に生じるレンダリング処理の待機時間を削減することを目的とする。   Therefore, an object of the present invention is to reduce the waiting time of rendering processing that occurs between regions when rendering processing is performed based on intermediate data created for each region.

上記課題を解決するため本発明は、入力される印刷対象の画像を表す印刷データをラスタ画像データに変換する情報処理装置であって、前記印刷データに基づいて、前記画像に描画される画像オブジェクトの符号化された圧縮データをデコードするデコード手段と、前記デコード手段が前記圧縮データをデコードした結果得られる前記画像オブジェクトの画像データを保持する第1の保持手段と、前記保持手段が保持する前記画像オブジェクトの画像データを参照しながら、前記画像の領域毎にレンダリングすることによりラスタ画像データを生成するレンダリング手段とを有し、前記デコード手段は、前記レンダリング手段が注目領域のラスタ画像データを生成している間に、前記注目領域に描画される画像オブジェクトの圧縮データと、前記注目領域の後続の領域に描画される画像オブジェクトの圧縮データの少なくとも一部をデコードすることを特徴とする。   In order to solve the above problems, the present invention provides an information processing apparatus for converting print data representing an input image to be printed into raster image data, and an image object drawn on the image based on the print data Decoding means for decoding the encoded compressed data, first holding means for holding image data of the image object obtained as a result of the decoding means decoding the compressed data, and the holding means for holding Rendering means for generating raster image data by rendering each area of the image with reference to image data of the image object, and the decoding means generates raster image data of the attention area by the rendering means While the compressed data of the image object drawn in the attention area, Serial characterized by decoding at least a portion of the compressed data of the image object to be drawn in a subsequent region of the region of interest.

本発明によれば、領域毎に作成した中間データに基づいて、レンダリング処理する場合に、領域間に生じるレンダリング処理の待機時間を削減することができる。   According to the present invention, when rendering processing is performed based on intermediate data created for each region, it is possible to reduce the waiting time of rendering processing that occurs between regions.

画像形成装置の全体構成を示すブロック図Block diagram showing the overall configuration of the image forming apparatus 印刷対象とする画像の一例を示す図Diagram showing an example of an image to be printed 第1実施形態におけるラスタ画像データ生成部の詳細な構成を示すブロック図The block diagram which shows the detailed structure of the raster image data generation part in 1st Embodiment. 印刷対象の画像データとラスタ画像データ生成における処理のタイミングを説明する図The figure explaining the timing of the process in the image data and raster image data generation of printing object PDL処理部の詳細な構成を示すブロック図と中間データの一例を示す図The block diagram which shows the detailed structure of a PDL processing part, and the figure which shows an example of intermediate data スケジュールデータの一例を示す図Diagram showing an example of schedule data 領域毎に作成された中間データに基づくレンダリング処理を説明する図The figure explaining the rendering processing based on the intermediate data created for each area 中間データの一例を示す図Diagram showing an example of intermediate data 中間データ作成処理およびラスタ画像データ生成処理のフローチャートFlow chart of intermediate data creation processing and raster image data generation processing 中間データ作成処理のフローチャートFlow chart of intermediate data creation processing 先行タスク作成処理の詳細なフローチャートDetailed flowchart of predecessor task creation processing 第1実施形態によるラスタ画像データ生成処理における処理順を説明する図The figure explaining the process order in the raster image data generation process by 1st Embodiment 第2実施形態におけるPDL処理部105の詳細な構成を示すブロック図The block diagram which shows the detailed structure of the PDL process part 105 in 2nd Embodiment. 中間データ作成処理のフローチャートFlow chart of intermediate data creation processing PDL処理部105及びラスタ画像データ生成部106による処理のフローチャートFlowchart of processing by the PDL processing unit 105 and the raster image data generation unit 106

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

<第1実施形態>
(全体構成)
図1は、第1実施形態に適用可能な画像形成装置100の全体構成を示すブロック図である。画像形成装置100は、CPU101、ROM102、RAM103、入力部104、画像処理部107、出力部108を有する。また画像形成装置100は、情報処理装置としてPDL処理部105とラスタ画像データ生成部を有し、画像形成装置100における各構成はバス109を介して接続されている。
<First Embodiment>
(overall structure)
FIG. 1 is a block diagram showing an 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, an image processing unit 107, and an output unit 108. Further, the image forming apparatus 100 includes a PDL processing unit 105 and a raster image data generation unit as information processing apparatuses, and each component in the image forming apparatus 100 is connected via a bus 109.

CPU101は、ROM102に格納されたプログラムを読み出し実行することにより、演算処理や画像形成装置100の各部の動作を統括的に制御する。RAM(Random Access Memory)103は、読み出し及び書き込み可能なメモリであり、画像データなどの各種データを一時的に格納するための記憶媒体である。入力部104は、ホストPCやサーバ(不図示)から転送されてくるページ記述言語で記述された印刷対象のデータ(以降、PDLデータ)を受信し、RAM103に格納する。   The CPU 101 comprehensively controls arithmetic processing and the operation of each unit of the image forming apparatus 100 by reading and executing a program stored in the ROM 102. A RAM (Random Access Memory) 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.

PDL処理部105は、入力部104が受信したページ単位のPDLデータを解析し、中間データに変換する。PDLデータは、1ページ単位で印刷対象のデータにおけるオブジェクト情報やオブジェクトが描画される位置を示す情報を含む。印刷対象のデータとして、図2(a)に示す印刷ページ200を例に説明する。印刷ページ200には画像オブジェクト201と、画像オブジェクト202とテキストオブジェクト203が描画されている。印刷ページ200の場合、PDLデータには、各オブジェクトを再現するための情報とオブジェクト毎の描画される位置が含まれている。具体的には、画像オブジェクト201および202の圧縮されたデータ(以降、圧縮データ)や、テキストの色や種類を示すテキスト情報、背景色等の情報を含むデータである。PDLデータは一般に、様々な形式のファイルとして存在する。そのためPDL処理部105は、PDLデータを画像形成装置100におけるラスタ画像データ生成部106が処理可能な形式の中間データに変換する。このときPDL処理部105は、ラスタ画像データ生成部106における後述のレンダリング処理やデコード処理のタイミングを制御するためのスケジュールデータも作成し、中間データの一部として出力する。   The PDL processing unit 105 analyzes the PDL data in page units received by the input unit 104 and converts it into intermediate data. The PDL data includes object information in the data to be printed and information indicating the position where the object is drawn on a page basis. The print page 200 shown in FIG. 2A will be described as an example of data to be printed. An image object 201, an image object 202, and a text object 203 are drawn on the print page 200. In the case of the print page 200, the PDL data includes information for reproducing each object and a drawing position for each object. Specifically, the data includes compressed data (hereinafter, compressed data) of the image objects 201 and 202, text information indicating the color and type of text, and information such as a background color. PDL data generally exists as files of various formats. Therefore, the PDL processing unit 105 converts the PDL data into intermediate data in a format that can be processed by the raster image data generation unit 106 in the image forming apparatus 100. At this time, the PDL processing unit 105 also creates schedule data for controlling the timing of rendering processing and decoding processing described later in the raster image data generation unit 106, and outputs the schedule data as part of the intermediate data.

ラスタ画像データ生成部106は、PDL処理部105が作成した中間データに基づいて、ラスタ画像データを生成する。なおPDL処理部105およびラスタ画像データ生成部106の詳細については後述する。   The raster image data generation unit 106 generates raster image data based on the intermediate data created by the PDL processing unit 105. Details of the PDL processing unit 105 and the raster image data generation unit 106 will be described later.

画像処理部107は、ラスタ画像データ生成部106が生成したラスタ画像データに対して所定の画像処理を施して印刷データを生成する。出力部108は、インクジェット方式や電子写真方式を用いたプリンタエンジンである。出力部108は、画像処理部107を介して生成された印刷データに従って、記録媒体上に画像を形成する。   The image processing unit 107 performs predetermined image processing on the raster image data generated by the raster image data generation unit 106 to generate print data. The output unit 108 is a printer engine using an inkjet method or an electrophotographic method. The output unit 108 forms an image on the recording medium according to the print data generated via the image processing unit 107.

(ラスタ画像データ生成部106の詳細な構成)
まず、ラスタ画像データ生成部106の詳細な構成について、図3を用いて説明する。第1実施形態においてラスタ画像データ生成部106は、制御部301、レンダリング部302、デコード部303を有する。またラスタ画像データ生成部106は、データを記憶するためのデコードバッファ304を持つ。本実施形態においてレンダリング部302およびデコード部303は、CPU101がコンピュータプログラムを実行することにより、機能する。ただしこの例に限定されず、その一部または全部をASICや電子回路等の専用のハードウェアで構成するようにしてもよい。
(Detailed Configuration of Raster Image Data Generation Unit 106)
First, a detailed configuration of the raster image data generation unit 106 will be described with reference to FIG. In the first embodiment, the raster image data generation unit 106 includes a control unit 301, a rendering unit 302, and a decoding unit 303. The raster image data generation unit 106 has a decode buffer 304 for storing data. In the present embodiment, the rendering unit 302 and the decoding unit 303 function when the CPU 101 executes a computer program. However, the present invention is not limited to this example, and a part or all of it may be configured by dedicated hardware such as an ASIC or an electronic circuit.

レンダリング部302は、中間データに基づいて、予め設定されたバンド毎にレンダリング処理を行う。図2(b)に示すように、識別情報として番号1〜6が割り当てられた領域が、レンダリング部302の処理単位であり、ここではレンダリングバンドと呼ぶ。レンダリングバンドとは、印刷ページ200の出力空間において、高さは所定の画素数分、幅はページ幅分の領域である。レンダリングバンドの高さは、処理速度や生成したラスタ画像データを保存可能なメモリ容量に応じて設定されている。   The rendering unit 302 performs a rendering process for each preset band based on the intermediate data. As shown in FIG. 2B, an area assigned with numbers 1 to 6 as identification information is a processing unit of the rendering unit 302 and is called a rendering band here. The rendering band is an area in the output space of the print page 200 whose height is a predetermined number of pixels and whose width is the page width. The height of the rendering band is set according to the processing speed and the memory capacity that can store the generated raster image data.

デコード部303は、印刷ページ上に描画されるオブジェクトのうち、画像オブジェクトなど所定の符号化形式によって圧縮された画像データ(以降、圧縮データ)をデコードする。第1実施形態では、画像オブジェクト201と202の圧縮データを必要に応じて読み出し、予め設定された所定の高さ分ごとにデコードする。ここで画像オブジェクトがデコードされる単位領域をデコードバンドと呼ぶ。図2(b)に識別情報a、b、c、d、eで示された5つの領域がデコード部303における処理単位を表している。画像オブジェクト201は、デコードバンドaとbの2つの領域に分割され、画像オブジェクト202はデコードバンドc、d、eでの3つの領域に分割されていることがわかる。このようにデコードバンド毎にデコードすることにより、例えばレンダリングバンド1を処理する際には、画像オブジェクト201全体ではなく、その半分の面積分をデコードすればよい。従って、デコードバンド毎にデコードすることは、デコード処理の効率化とデコードバッファ304の削減につながる。なお、デコードバンドの高さは、デコードした画像データを格納するデコードバッファ304の容量に応じて設定されている。デコードバッファ304は、デコードバンド毎にデコードされた画像データを保存することができる。第1実施形態においてデコードバッファ304は、デコードバンド3つ分のデータを格納可能な容量を保持している。   The decoding unit 303 decodes image data (hereinafter, compressed data) compressed in a predetermined encoding format such as an image object among objects drawn on a print page. In the first embodiment, the compressed data of the image objects 201 and 202 are read out as necessary, and decoded every predetermined height. Here, the unit area where the image object is decoded is called a decode band. Two areas indicated by identification information a, b, c, d, and e in FIG. 2B represent processing units in the decoding unit 303. It can be seen that the image object 201 is divided into two regions of decode bands a and b, and the image object 202 is divided into three regions of decode bands c, d, and e. By decoding for each decoding band in this way, for example, when processing the rendering band 1, it is only necessary to decode not the entire image object 201 but the half area thereof. Therefore, decoding for each decoding band leads to efficient decoding processing and reduction of the decoding buffer 304. The height of the decode band is set according to the capacity of the decode buffer 304 that stores the decoded image data. The decode buffer 304 can store the image data decoded for each decode band. In the first embodiment, the decode buffer 304 has a capacity capable of storing data for three decode bands.

ここで、図4を用いて、レンダリングとデコード処理の処理順を説明する。レンダリング部302が、処理対象のレンダリングバンドのレンダリング処理を開始できるのは、処理対象のレンダリングバンドに必要な圧縮データが全てデコードされた後である。つまり、レンダリングバンド1に必要なデコードバンドaのデコードが完了した後、レンダリング部303はレンダリングバンド1のレンダリング処理を開始できる。   Here, the processing order of rendering and decoding processing will be described with reference to FIG. The rendering unit 302 can start the rendering process of the rendering band to be processed after all the compressed data necessary for the rendering band to be processed has been decoded. That is, after the decoding of the decoding band a necessary for the rendering band 1 is completed, the rendering unit 303 can start the rendering process for the rendering band 1.

一方デコード部は、レンダリング部302がレンダリングしている間、処理中のレンダリングバンドに描画される画像データを、デコードバッファ304から書き換えたり削除したりしてはならない。デコード部303がデコードバンドcのデコードが完了したとき、デコードバッファ304にはデコードバンドa、b、cの画像データが格納され、空き容量がない。レンダリング部302が処理中のレンダリングバンド2にはデコードバンドa、bの画像データが必要であり、かつデコードバンドcの画像データは次のレンダリング処理の際に必要となる。そこでデコード部303は、レンダリング部303によるレンダリングバンド2のレンダリング処理が完了するのを待つ。レンダリング部303がレンダリングバンド3の処理に進むと、デコードバンドdのデコードを開始する。デコード部303は、デコードしたデコードバンドdの画像データを、デコードバッファaの画像データが格納された領域に上書きする。   On the other hand, the decoding unit should not rewrite or delete image data drawn in the rendering band being processed from the decoding buffer 304 while the rendering unit 302 is rendering. When the decoding unit 303 completes decoding of the decoding band c, the decoding buffer 304 stores the image data of the decoding bands a, b, and c, and there is no free space. The rendering band 2 being processed by the rendering unit 302 requires the image data of the decoding bands a and b, and the image data of the decoding band c is necessary for the next rendering process. Therefore, the decoding unit 303 waits for the rendering process of the rendering band 2 by the rendering unit 303 to be completed. When the rendering unit 303 proceeds to the processing of the rendering band 3, decoding of the decoding band d is started. The decoding unit 303 overwrites the decoded image data of the decoding band d on the area where the image data of the decoding buffer a is stored.

以上のように、レンダリング処理とデコード処理との間には、処理開始が可能かどうかについて依存関係がある。なお、デコードバッファ304がデコードバンド3つ分の容量をもつということは、1つのレンダリングバンドに対して3つのデコードバンドの画像データを描画できることを意味する。そのためデコードバッファ304は、1つのレンダリングバンドに描画されるデコードバンドの最大数とメモリ容量のコストとを考慮して、その容量が設計されている。   As described above, there is a dependency between the rendering process and the decoding process as to whether the process can be started. Note that the fact that the decode buffer 304 has a capacity for three decode bands means that image data of three decode bands can be drawn for one render band. Therefore, the capacity of the decode buffer 304 is designed in consideration of the maximum number of decode bands drawn in one rendering band and the cost of memory capacity.

制御部301は、中間データに従って、レンダリング部302およびデコード部303それぞれにおける処理を制御する。中間データには、各レンダリングバンドの処理に必要なデコードバンドを示す情報や、各デコードバンドが不要になるレンダリングバンドを示す情報が含まれている。制御部301は、中間データからこれらの情報を読み出し、レンダリング部302やデコード部303に処理の開始を指示したり、処理の完了通知を受け取る。中間データについては後述する。   The control unit 301 controls processing in each of the rendering unit 302 and the decoding unit 303 according to the intermediate data. The intermediate data includes information indicating a decoding band necessary for processing each rendering band and information indicating a rendering band that does not require each decoding band. The control unit 301 reads these pieces of information from the intermediate data, instructs the rendering unit 302 and the decoding unit 303 to start processing, and receives processing completion notification. The intermediate data will be described later.

(PDL処理部105の詳細な構成)
PDL処理部105の詳細な構成と中間データについて、図5を用いて説明する。PDL処理部105は、CPU101がコンピュータプログラムを実行することにより、各処理部として機能する。PDL処理部105は前述の通り、1ページ分のPDLデータに基づいて、ラスタ画像データ生成部106が処理可能な形式である中間データを作成する。PDL処理部105はPDLインタプリタ501と中間データ作成部502を有する。PDLインタプリタ501は、PDLデータを解釈して描画命令に変換し、中間データ作成部502に出力する。
(Detailed configuration of the PDL processing unit 105)
A detailed configuration and intermediate data of the PDL processing unit 105 will be described with reference to FIG. The PDL processing unit 105 functions as each processing unit when the CPU 101 executes a computer program. As described above, the PDL processing unit 105 creates intermediate data in a format that can be processed by the raster image data generation unit 106 based on the PDL data for one page. The PDL processing unit 105 includes a PDL interpreter 501 and an intermediate data creation unit 502. The PDL interpreter 501 interprets the PDL data, converts it into a drawing command, and outputs it to the intermediate data creation unit 502.

中間データ作成部502はレンダリングデータ作成部503、圧縮データ作成部504、スケジュールデータ作成部505を有する。レンダリングデータ作成部503は、PDLインタプリタ501が解釈した描画命令に基づいて、レンダリングバンド毎にレンダリング部302が処理可能な形式のレンダリングデータ511を作成する。前述の通り、印刷ページの出力空間における主走査方向に印刷ページ幅、副走査方向に所定の画素数分(ここでは64画素)の領域をレンダリングバンドの単位とする。   The intermediate data creation unit 502 includes a rendering data creation unit 503, a compressed data creation unit 504, and a schedule data creation unit 505. The rendering data creation unit 503 creates rendering data 511 in a format that can be processed by the rendering unit 302 for each rendering band, based on the rendering command interpreted by the PDL interpreter 501. As described above, an area corresponding to a predetermined number of pixels (in this case, 64 pixels) in the main scanning direction and a predetermined number of pixels in the sub-scanning direction in the output space of the print page is set as a rendering band unit.

レンダリングデータ511には、レンダリングバンドに含まれる領域情報と、各領域にオブジェクトを描画するためのオブジェクト情報が含まれる。前述の通りオブジェクト情報としては、領域内を単色で描画する為の色情報や、領域内に画像オブジェクトを描画する為の画像情報などが生成されている。なお、画像オブジェクトが複数のレンダリングバンドに跨っている場合、両方のレンダリングバンドに対応するレンダリングデータに、その画像オブジェクトの情報が含まれる。ただし、ラスタ画像データにおける画像オブジェクトを描画する位置や画像オブジェクトのうち描画に用いる領域がレンダリングバンド毎に異なっている。図2に示す例では、レンダリングデータ作成部503は、6つのレンダリングバンド毎のレンダリングデータを作成する。レンダリング部302は、制御部301の指示により指定されたレンダリングデータを順に読み出し、レンダリング処理することでラスタ画像データを生成する。   The rendering data 511 includes area information included in the rendering band and object information for drawing an object in each area. As described above, as the object information, color information for drawing an area in a single color, image information for drawing an image object in the area, and the like are generated. When an image object straddles a plurality of rendering bands, information on the image object is included in rendering data corresponding to both rendering bands. However, the rendering position of the image object in the raster image data and the area used for rendering of the image object are different for each rendering band. In the example illustrated in FIG. 2, the rendering data creation unit 503 creates rendering data for each of the six rendering bands. The rendering unit 302 sequentially reads rendering data designated by an instruction from the control unit 301, and generates raster image data by performing rendering processing.

圧縮データ作成部504は、描画命令に従って、様々なフォーマットによって圧縮されている圧縮データを読み込み、デコードバンド毎にデコード部303が処理可能な形式の圧縮データ512に変換する。ここでは、圧縮データとして保持されている画像データ内の二次元空間において、横方向にイメージ幅、縦方向に64画素の領域をデコードバンドとする。図2に示す印刷ページ200については、圧縮データ作成部504は、各画像オブジェクトを分割して、デコードバンドa、b、c、d、eの圧縮データ512を作る。   The compressed data creation unit 504 reads compressed data compressed in various formats in accordance with a drawing command, and converts the compressed data 512 into a format that can be processed by the decoding unit 303 for each decoding band. Here, in the two-dimensional space in the image data held as compressed data, an image width in the horizontal direction and a region of 64 pixels in the vertical direction are set as decode bands. For the print page 200 shown in FIG. 2, the compressed data creation unit 504 divides each image object to create compressed data 512 of the decode bands a, b, c, d, and e.

スケジュールデータ作成部505は、描画命令に従って、レンダリング処理とデコード処理のタイミングを制御するためのスケジューリングデータを作成する。スケジューリングデータには、レンダリング部303における処理のタイミングを制御するためのレンダリングスケジュール513と、デコード部303がデコードするタイミングを制御するためのデコードスケジュール514がある。スケジュールデータ作成部505は、デコードバッファ管理部506、依存関係決定部507、描画位置算出部508、タスク作成部509、先行可否判定部510を有する。   The schedule data creation unit 505 creates scheduling data for controlling the timing of rendering processing and decoding processing in accordance with a drawing command. The scheduling data includes a rendering schedule 513 for controlling processing timing in the rendering unit 303 and a decoding schedule 514 for controlling timing for decoding by the decoding unit 303. The schedule data creation unit 505 includes a decode buffer management unit 506, a dependency relationship determination unit 507, a drawing position calculation unit 508, a task creation unit 509, and a preceding possibility determination unit 510.

レンダリングスケジュール513は、レンダリングの処理順に並べられ、レンダリングバンドの識別情報を示すタスクと、各タスクに紐付けられたデコードバンドの識別情報を示す待ちIDとからなる。レンダリングタスクは、レンダリング部303が処理すべきレンダリングバンドの識別情報を示す。また待ちIDは、レンダリング部303が処理対象のレンダリングバンドに対する処理を開始する前に、デコード部304によるデコードが完了すべき最後のデコードバンドの識別番号を示している。例えば図2(b)に示すレンダリング処理の場合、レンダリングバンド3には、デコードバンドbとcの画像データが描画される。画像オブジェクトは、描画される位置に従って描画される順にデコードされるので、後にデコードされるデコードバンドcがレンダリングバンド3のタスクに対応する待ちIDとして対応付けられる。   The rendering schedule 513 is arranged in the order of rendering processing, and includes a task indicating rendering band identification information and a waiting ID indicating decoding band identification information associated with each task. The rendering task indicates identification information of a rendering band to be processed by the rendering unit 303. The waiting ID indicates the identification number of the last decoding band to be decoded by the decoding unit 304 before the rendering unit 303 starts processing for the rendering band to be processed. For example, in the rendering process shown in FIG. 2B, the rendering band 3 is rendered with the image data of the decoding bands b and c. Since the image object is decoded in the drawing order according to the drawing position, the decode band c to be decoded later is associated as a waiting ID corresponding to the task of the rendering band 3.

図6(a)に、図4に示すレンダリング処理のためのレンダリングスケジュールを示す。待ちIDが0であるレンダリングタスクについては、そのレンダリングバンドに対するレンダリングを、即座に実行させられることを意味する。レンダリングスケジュールは、ラスタ画像データ生成部106における制御部301によって順に読み込まれる。制御部301は、レンダリングスケジュール513を参照し、処理対象のレンダリングバンドに対応する待ちIDのデコード処理が完了したことを確認すると、レンダリング部302に処理対象のレンダリングバンドに対するレンダリング処理の開始を指示する。   FIG. 6A shows a rendering schedule for the rendering process shown in FIG. For a rendering task whose waiting ID is 0, it means that rendering for the rendering band can be executed immediately. The rendering schedule is sequentially read by the control unit 301 in the raster image data generation unit 106. When the control unit 301 refers to the rendering schedule 513 and confirms that the decoding process of the waiting ID corresponding to the processing target rendering band is completed, the control unit 301 instructs the rendering unit 302 to start the rendering processing for the processing target rendering band. .

描画位置算出部508はまず、PDLインタプリタ201から得られる描画命令に基づいて、ラスタ画像データにおける画像オブジェクトの描画位置を計算する。タスク作成部509は、描画するオブジェクトが圧縮データとして保持されている場合、計算した描画位置に基づいて各レンダリングバンドに描画されるデコードバンドを決定する。タスク作成部509は、決定したデコードバンドを各待ちIDとして対応付けてタスクを作成し、レンダリングスケジュール513を出力する。   The drawing position calculation unit 508 first calculates the drawing position of the image object in the raster image data based on the drawing command obtained from the PDL interpreter 201. When an object to be drawn is held as compressed data, the task creation unit 509 determines a decode band to be drawn in each rendering band based on the calculated drawing position. The task creation unit 509 creates a task by associating the determined decode band as each waiting ID, and outputs a rendering schedule 513.

一方デコードスケジュール510は、デコードバンドの識別情報を示すデコードタスク510aと、各デコードタスクa510に紐付けられた、レンダリングバンドの識別情報を示す待ちID510bとからなる。待ちID510bが0を示すとき、対応するデコードタスク510aは即座に実行させられることを意味する。待ちID510bが0以外を示すときは、待ちIDが示すレンダリングバンドのレンダリングタスク509aを完了すると、実行させられることを意味する。   On the other hand, the decode schedule 510 includes a decode task 510a indicating decode band identification information, and a wait ID 510b indicating rendering band identification information associated with each decode task a 510. When the waiting ID 510b indicates 0, it means that the corresponding decoding task 510a is immediately executed. When the waiting ID 510b indicates a value other than 0, it means that when the rendering task 509a of the rendering band indicated by the waiting ID is completed, the task is executed.

デコードスケジュール510は、制御部301によって上から順に読みこまれる。制御部は、読みこんだデコードバンドに対応する待ちIDが示すレンダリングバンドのレンダリング処理が完了したことを検知すると、読みこんだデコードバンドのデコード処理の開始を指示する。   The decoding schedule 510 is read in order from the top by the control unit 301. When the control unit detects that the rendering process of the rendering band indicated by the waiting ID corresponding to the read decode band has been completed, the control unit instructs to start the decode process of the read decode band.

依存関係決定部507は、PDLインタプリタ201から得られる描画命令に基づいて、ラスタ画像データにおける画像オブジェクトの描画終了位置を計算する。依存関係決定部508は、計算した描画終了位置に基づいて、各デコードバンドが参照されなくなるレンダリングバンドを決定し、デコードバンドとレンダリングバンドとの依存関係として記憶する。デコードバッファ管理部506は、デコードバッファ304の保持可能なデコードバンド数を示す情報を予め保持している。デコードバッファ管理部506は、デコードバッファ304の使用状況(空き状況)を管理することが出来る。タスク作成部509は、デコードバッファ304の空き状況に基づいて、デコードバンドの識別情報を示す各タスクに、タスクを開始可能な合図となるレンダリングバンドを対応づけてタスクを作成する。   The dependency relationship determination unit 507 calculates the drawing end position of the image object in the raster image data based on the drawing command obtained from the PDL interpreter 201. Based on the calculated drawing end position, the dependency relationship determining unit 508 determines a rendering band in which each decode band is not referred to, and stores it as a dependency relationship between the decode band and the render band. The decode buffer management unit 506 holds in advance information indicating the number of decode bands that the decode buffer 304 can hold. The decode buffer management unit 506 can manage the use status (empty status) of the decode buffer 304. Based on the availability of the decode buffer 304, the task creation unit 509 creates a task by associating each task indicating the identification information of the decode band with a rendering band serving as a cue that can start the task.

図2(b)に示す印刷ページの場合、各デコードバンドとそのデコードバンドが参照されなくなるレンダリングバンドとの対応(依存関係)は、図6(b)に示すように算出される。なおデコードバンドは、描画される位置に基づいて上方から順に並べられる。例えば、デコードバンドaは、一番目にデコードされるデコードバンドであり、レンダリング処理がレンダリングバンド3に進むと、デコードバッファ304上のデコードバンドaを格納していた領域に上書きできる。タスク作成部509は、各デコードバンドが参照されなくなるレンダリングバンドに基づいて、各デコードバンドの待ちIDを決定する。その結果を図6(c)に示す。第1実施形態においてデコードバッファ304は、3つのデコードバンドを格納することができるので、デコードバンドa、b、cはデコードバッファ304が空くのを待たずに、そのデコードした結果を格納することできる。従ってタスク作成部509は、デコードバンドa、b、cについては待ちIDとして0を決定する。デコードバンドdは、デコードバンドaが解放可能になったとき、デコードバッファ304に格納できる。デコードバンドaは、レンダリングバンド3のレンダリング処理に進むと上書き可能なので、タスク作成部509は、デコードバンドdの待ちIDとしてレンダリングバンド2を決定する。   In the case of the print page shown in FIG. 2B, the correspondence (dependency relationship) between each decoding band and the rendering band in which the decoding band is not referred to is calculated as shown in FIG. 6B. Note that the decode bands are arranged in order from the top based on the drawing position. For example, the decode band a is a decode band that is decoded first, and when the rendering process proceeds to the render band 3, the area where the decode band a on the decode buffer 304 was stored can be overwritten. The task creation unit 509 determines the waiting ID of each decoding band based on the rendering band in which each decoding band is not referenced. The result is shown in FIG. In the first embodiment, since the decode buffer 304 can store three decode bands, the decode bands a, b, and c can store the decoded results without waiting for the decode buffer 304 to be free. . Therefore, the task creation unit 509 determines 0 as the wait ID for the decode bands a, b, and c. The decode band d can be stored in the decode buffer 304 when the decode band a can be released. Since the decoding band a can be overwritten when the rendering process of the rendering band 3 is performed, the task creation unit 509 determines the rendering band 2 as the wait ID of the decoding band d.

上記のように、中間データ作成部502は中間データを作成する。作成された中間データは、中間データバッファ507に格納される。   As described above, the intermediate data creation unit 502 creates intermediate data. The created intermediate data is stored in the intermediate data buffer 507.

(分割した領域毎に中間データを作成する場合について)
中間データ506は前述の通り、レンダリングデータ、圧縮データ、スケジュールデータからなり、そのデータ量は膨大になってしまう場合がある。そこで中間データバッファ506のメモリ容量を削減するため、中間データ作成部502が印刷ページに対して、領域毎に中間データを作成する場合について説明する。図7(a)に、印刷ページ200を水平方向に分割して得られる、領域1と領域2を示す。
(When creating intermediate data for each divided area)
As described above, the intermediate data 506 includes rendering data, compressed data, and schedule data, and the amount of data may become enormous. Accordingly, a case will be described in which the intermediate data creation unit 502 creates intermediate data for each area for a print page in order to reduce the memory capacity of the intermediate data buffer 506. FIG. 7A shows a region 1 and a region 2 obtained by dividing the print page 200 in the horizontal direction.

ここでまず、印刷ページを分割せずに中間データを作成した場合と同様の方法により、領域毎に中間データを作成した場合について、図7(b)を用いて説明する。中間データ作成部502は、領域1のPDLデータを解釈して中間データを作成し、中間データバッファ507に格納する。領域1については、3つのレンダリングバンドに対応するレンダリングデータ511が作られる。画像オブジェクト201の全領域に対応するデコードバンドa、bと画像オブジェクト202が部分的に描画されるデコードバンドcの3つに対応して、3つの圧縮データ512が作られる。ラスタ画像データ生成部106は、領域1の中間データに基づいて、領域1を構成するレンダリングバンド1、2、3およびデコードバンドa、b、cについて、デコードとレンダリング処理を実行する。最後のタスクであるレンダリングバンド3のレンダリング処理が開始されると、中間データバッファ506は上書き可能になる。   First, a case where intermediate data is created for each area by the same method as that when intermediate data is created without dividing a print page will be described with reference to FIG. The intermediate data creation unit 502 creates the intermediate data by interpreting the PDL data in the area 1 and stores it in the intermediate data buffer 507. For region 1, rendering data 511 corresponding to three rendering bands is created. Three compressed data 512 are created corresponding to three decoding bands a and b corresponding to the entire area of the image object 201 and a decoding band c in which the image object 202 is partially drawn. The raster image data generation unit 106 performs decoding and rendering processing on the rendering bands 1, 2, and 3 and the decoding bands a, b, and c constituting the area 1 based on the intermediate data of the area 1. When the rendering process of the rendering band 3, which is the last task, is started, the intermediate data buffer 506 can be overwritten.

中間データ作成部502は、領域2のPDLデータを解釈して中間データを作成し、中間データバッファ507に書き込む。領域2については、3つのレンダリングバンドに対応するレンダリングデータ511と、画像オブジェクト202の全領域であるデコードバンドc、d、eに対応して、3つの圧縮データ212が作られる。ラスタ画像データ生成部106は、領域2の中間データを中間データバッファ506から読み出し、レンダリングバンド4、5、6およびデコードバンドc、d、eについてレンダリング処理およびデコード処理を実行する。   The intermediate data creation unit 502 creates the intermediate data by interpreting the PDL data in the area 2 and writes it in the intermediate data buffer 507. For the area 2, three compressed data 212 are created corresponding to the rendering data 511 corresponding to the three rendering bands and the decoding bands c, d, and e which are all areas of the image object 202. The raster image data generation unit 106 reads the intermediate data of the region 2 from the intermediate data buffer 506, and executes the rendering process and the decoding process for the rendering bands 4, 5, 6 and the decoding bands c, d, e.

以上のように、領域毎に中間データを作成した場合、領域2に対するレンダリング処理は、最初にレンダリング処理されるレンダリングバンドに必要なデコードバンドのデコード処理から始めなければならない。その結果、1ページ分の印刷ページを領域毎に中間データを作成すると、分割せずに中間データを作成した場合よりも、描画に必要な画像オブジェクトがデコードされるまでの待ち時間が増えてしまう場合がある。この領域2におけるデコード処理の待ち時間は、図4に示す分割しない場合に比べて、印刷するまでの処理時間が長くなり、オーバーヘッドが生じてしまう。   As described above, when intermediate data is created for each area, the rendering process for the area 2 must start from the decoding process of the decoding band necessary for the rendering band to be rendered first. As a result, if intermediate data is created for each print page for one page, the waiting time until an image object necessary for rendering is decoded is increased compared to the case where intermediate data is created without being divided. There is a case. The waiting time for the decoding process in this area 2 is longer than that in the case of not dividing as shown in FIG.

そこで第1実施形態では、1ページ分の印刷ページについて、領域毎に中間データを作成した場合、デコードバッファの使用状況に応じて、中間データに含まれない領域に必要なPDLデータを参照してスケジュールデータを作成する。つまり中間データを作成しようとする領域を注目領域とすると、注目領域以外の領域に描画される画像オブジェクトの少なくとも一部のデコードバンドを先行してデコードさせる。そのため先行可否判定部510は、次に処理すべき領域のPDLデータを参照し、次に処理すべき領域の最初にレンダリングされるレンダリングバンドに必要な圧縮データを先行してデコード可能かどうかを判定する。図8は、スケジュールデータ作成部505が領域毎に中間データを作成した結果の一例を示す。   Therefore, in the first embodiment, when intermediate data is created for each area for one print page, PDL data necessary for an area not included in the intermediate data is referred to according to the use state of the decode buffer. Create schedule data. That is, if an area in which intermediate data is to be created is an attention area, at least a part of the decoding band of an image object drawn in an area other than the attention area is decoded in advance. Therefore, the preceding possibility determination unit 510 refers to the PDL data of the area to be processed next, and determines whether or not the compressed data necessary for the rendering band rendered first in the area to be processed can be decoded in advance. To do. FIG. 8 shows an example of the result of the schedule data creation unit 505 creating intermediate data for each area.

タスク作成部509は、先行可否判定部510による判定結果に応じて、次に処理すべき領域のデコードされる圧縮データを、先行してデコードするためのデコードスケジュールを作成する。また圧縮データは、先行してデコードするデコードバンドの圧縮データを先行デコードバンドとして作成する。つまり第1実施形態では、領域毎に中間データを作成した場合、次に中間データを作成される領域のデコードバンドおよび次に中間データを作成される領域のデコードを識別情報とする先行タスクが、中間データに含まれることになる。圧縮データに含まれる先行デコードバンドは、注目領域に描画されない画像オブジェクトの圧縮データである。   The task creation unit 509 creates a decoding schedule for precedingly decoding the compressed data to be decoded in the area to be processed next, according to the determination result by the preceding possibility determination unit 510. Further, the compressed data is generated as the preceding decoding band by compressing the decoding band to be decoded in advance. In other words, in the first embodiment, when intermediate data is created for each area, a preceding task that uses the decoding band of the area in which the intermediate data is created next and the decoding of the area in which the intermediate data is created next as identification information, It will be included in the intermediate data. The preceding decoding band included in the compressed data is compressed data of an image object that is not drawn in the attention area.

(情報処理装置における全体の処理の流れ)
ここで、情報処理装置として機能するPDL処理部102及びラスタ画像データ生成部106による全体の処理の流れを説明する。図9は、PDL処理部102及びラスタ画像データ生成部106による全体の処理のフローチャートである。CPU101が図9に示すフローチャートを実現できるプログラムを読み出し、制御することにより、各処理部の機能が実現される。
(Overall processing flow in the information processing apparatus)
Here, an overall processing flow by the PDL processing unit 102 and the raster image data generation unit 106 functioning as an information processing apparatus will be described. FIG. 9 is a flowchart of overall processing by the PDL processing unit 102 and the raster image data generation unit 106. The function of each processing unit is realized by the CPU 101 reading and controlling a program that can realize the flowchart shown in FIG.

まずステップS901においてPDL処理部102に、印刷対象のPDLデータが入力される。ステップS902においてPDL処理部102は、予め定められた領域分のPDLデータに基づいて、領域毎に中間データを作成し出力する。まず、PDLインタプリタ501は、PDLデータのうち一部領域のPDLデータを解釈し、描画命令に変換する。中間データ作成部502は、PDLインタプリンタ501によって解釈された描画命令に従って、中間データを作成する。中間データ作成処理については、詳細を後述する。作成した中間データは、RAM103の中間データバッファ507に格納する。PDL処理部102は、領域の中間データを作成すると、CPU101に完了通知を送る。   In step S <b> 901, PDL data to be printed is input to the PDL processing unit 102. In step S902, the PDL processing unit 102 creates and outputs intermediate data for each region based on PDL data for a predetermined region. First, the PDL interpreter 501 interprets PDL data in a part of the PDL data and converts it into a drawing command. The intermediate data creation unit 502 creates intermediate data in accordance with the rendering command interpreted by the PDL interpreter 501. Details of the intermediate data creation processing will be described later. The created intermediate data is stored in the intermediate data buffer 507 of the RAM 103. When the PDL processing unit 102 creates the intermediate data of the area, the PDL processing unit 102 sends a completion notification to the CPU 101.

ステップS903において、ラスタ画像データ生成部106の制御部301は、中間データバッファ507から、中間データを読み込む。ステップS904において制御部301は、読みこんだ中間データに含まれるレンダリングスケジュールを参照し、処理すべきタスクを読みこみ、処理対象のレンダリングバンドを決定する。制御部301は、タスクの待ちIDに基づいて、処理対象のレンダリングバンドのレンダリング処理を開始できるかどうか判定する。待ちIDが0か、または待ちIDに示されたデコードバンドのデコード処理が完了している場合、制御部301は、ステップS908に進む。待ちIDに示されたデコードバンドのデコード処理が完了していない場合、制御部301はステップS905に進む。   In step S <b> 903, the control unit 301 of the raster image data generation unit 106 reads intermediate data from the intermediate data buffer 507. In step S904, the control unit 301 refers to the rendering schedule included in the read intermediate data, reads a task to be processed, and determines a rendering band to be processed. The control unit 301 determines whether or not the rendering process of the rendering band to be processed can be started based on the task wait ID. If the wait ID is 0 or the decoding process of the decode band indicated by the wait ID has been completed, the control unit 301 proceeds to step S908. If the decoding process of the decoding band indicated by the waiting ID has not been completed, the control unit 301 proceeds to step S905.

ステップS905において制御部301は、処理対象のタスクの待ちIDに記載されたデコードバンドまでのデコード処理の開始を、デコード部303に指示する。ステップS906においてデコード部303は、制御部301による指示に従って、中間データに含まれる圧縮データを読み込み、指示されたデコードバンドまで順にデコードする。ステップS907においてデコード部303は、デコードによって得られる画像データをデコードバッファ304に格納する。   In step S905, the control unit 301 instructs the decoding unit 303 to start decoding processing up to the decoding band described in the waiting ID of the task to be processed. In step S906, the decoding unit 303 reads the compressed data included in the intermediate data in accordance with the instruction from the control unit 301, and sequentially decodes up to the designated decoding band. In step S907, the decoding unit 303 stores the image data obtained by decoding in the decoding buffer 304.

制御部301は、処理対象タスクの待ちIDが示すデコードバンドのデコード処理が完了したことを検知すると、ステップS908においてレンダリング部302にタスクに示された識別情報のレンダリングバンドのレンダリング処理を開始させる。ステップS909においてレンダリング部302は、制御部301によって指示されたレンダリングバンドのレンダリングを開始する。処理対象のレンダリングバンドにデコードされた画像データが必要なときは、デコードバッファ304から読み出す。ステップS910においてレンダリング部302は、レンダリング処理により生成したラスタ画像データを出力する。   When detecting that the decoding process of the decoding band indicated by the waiting ID of the processing target task is completed, the control unit 301 causes the rendering unit 302 to start the rendering process of the rendering band of the identification information indicated by the task in step S908. In step S909, the rendering unit 302 starts rendering the rendering band instructed by the control unit 301. When the decoded image data is necessary for the rendering band to be processed, it is read from the decode buffer 304. In step S910, the rendering unit 302 outputs raster image data generated by the rendering process.

ステップS908において制御部301はレンダリング開始の指示をすると、ステップS911に進み、開始指示したレンダリング処理が最後かどうかを判定する。最後である場合、デコード部303は全てのデコードバンドのデコードが完了していることを意味する。また、レンダリング部302が最後のレンダリングバンドのレンダリングデータを読み出せば、中間データバッファ507は上書き可能になる。そこで制御部301は、開始指示したレンダリングが最後のレンダリングバンドである場合、完了通知を送信する。   In step S908, when the control unit 301 instructs to start rendering, the control unit 301 proceeds to step S911 and determines whether the rendering process instructed to start is the last. In the last case, the decoding unit 303 means that the decoding of all the decoding bands has been completed. If the rendering unit 302 reads the rendering data of the last rendering band, the intermediate data buffer 507 can be overwritten. Therefore, when the rendering instructed to start is the last rendering band, the control unit 301 transmits a completion notification.

ステップS913においてPDL作成部102は、印刷ページの全領域について、中間データを作成したかどうかを判定する。中間データを作成していない領域があれば、ステップS902に戻り、PDL処理部102は次の領域の中間データを作成する。   In step S913, the PDL creation unit 102 determines whether intermediate data has been created for all areas of the print page. If there is an area for which intermediate data has not been created, the process returns to step S902, and the PDL processing unit 102 creates intermediate data for the next area.

(中間データ作成部502における処理の流れ)
ステップS902における中間データ作成部502が実行する中間データ作成処理について、図10のフローチャートを用いて詳細に説明する。図11はさらに、タスク作成部509による先行タスク作成処理および圧縮データ作成部504による先行デコードバンド作成処理のフローチャートを示す。
(Processing flow in the intermediate data creation unit 502)
The intermediate data creation process executed by the intermediate data creation unit 502 in step S902 will be described in detail with reference to the flowchart of FIG. FIG. 11 further shows a flowchart of the preceding task creation process by the task creation unit 509 and the preceding decode band creation process by the compressed data creation unit 504.

まずステップS1001において、CPU101の制御により、中間データ作成部502はレンダリングデータおよび圧縮イメージデータの作成を開始する。中間データ作成部502は、前述の通り、印刷ページを領域1と領域2に分割して、中間データを作成する。以降、領域1の中間データを作成するとする。ステップ1002においてレンダリングデータ作成部503は、予め定められた高さ分のレンダリングバンド毎に、レンダリングデータを作成する。   First, in step S1001, the intermediate data creation unit 502 starts creating rendering data and compressed image data under the control of the CPU 101. As described above, the intermediate data creation unit 502 divides the print page into region 1 and region 2 to create intermediate data. Hereinafter, it is assumed that intermediate data of region 1 is created. In step 1002, the rendering data creation unit 503 creates rendering data for each rendering band of a predetermined height.

ステップS1003において圧縮データ作成部504は、ラスタ画像データ上に描画すべきオブジェクトがあるか検出する。画像オブジェクトがなければ、レンダリングデータのみが中間データとなり、ステップS1016に進む。画像オブジェクトがある場合、ステップS1004に進み、領域1のように1つ目の領域の場合はS1006に進む。圧縮データ作成部504は、検出した画像オブジェクトを予め定められた高さ分のデコードバンド毎の圧縮データに変換する。ここまでの処理により、領域1に対しては、3つのレンダリングバンドのレンダリングデータと、領域1に描画される3つのデコードバンドの圧縮データが作成される。ステップS1004で、領域2のように前の領域の後に処理される場合はステップS1005に進み、前の領域でデコード済みのデコードバンドがデコードバッファ304にあるかを検出する。デコードバッファ管理部506に記憶されているデコードバッファ使用状況を取得することで、検出した画像オブジェクトが前の領域で先行してデコードされているかを検出する。先行してデコードされている画像オブジェクトは、圧縮データ作成の対象から外し、デコードされていないものを対象に、ステップS1006で圧縮データに変換する。   In step S1003, the compressed data creation unit 504 detects whether there is an object to be drawn on the raster image data. If there is no image object, only rendering data becomes intermediate data, and the process advances to step S1016. If there is an image object, the process proceeds to step S1004, and if it is the first area such as area 1, the process proceeds to S1006. The compressed data creation unit 504 converts the detected image object into compressed data for each decoding band for a predetermined height. By the processing so far, for the region 1, rendering data of three rendering bands and compressed data of three decoding bands drawn in the region 1 are created. If it is determined in step S1004 that processing is to be performed after the previous area as in area 2, the process proceeds to step S1005 to detect whether the decode buffer 304 has a decoded band that has been decoded in the previous area. By acquiring the decode buffer usage status stored in the decode buffer management unit 506, it is detected whether the detected image object is decoded in advance in the previous area. Image objects that have been decoded in advance are excluded from the target of creating compressed data, and those that have not been decoded are converted into compressed data in step S1006.

ステップS1007においてレンダリングデータおよび圧縮データの作成を完了したことが検知されると、ステップS1008に進み、スケジュールデータ作成部505に対してスケジュールデータの作成開始が指示される。   If it is detected in step S1007 that the creation of rendering data and compressed data has been completed, the process advances to step S1008 to instruct the schedule data creation unit 505 to start creating schedule data.

ステップS1009においてまず、描画位置算出部508はオブジェクトが描画される位置を算出する。ステップS1010においてタスク作成部509は、各レンダリングバンドについて、最後に描画されるデコードバンドを待ちIDとして対応づける。例えば図2(b)に示すレンダリングバンド2については、デコードバンドbの方がデコードバンドaよりもラスタ順で後方に位置するため、レンダリングバンド2には、デコードバンドbを対応づけ、待ちIDとして設定する。タスク作成部509は、全てのレンダリングバンドをタスクとして、待ちIDを設定したら、レンダリングスケジュールとして出力する。   In step S1009, the drawing position calculation unit 508 first calculates the position where the object is drawn. In step S1010, the task creation unit 509 associates each rendering band with the decoding band that is rendered last as a waiting ID. For example, with respect to the rendering band 2 shown in FIG. 2B, the decoding band b is positioned in the raster order behind the decoding band a, and therefore, the rendering band 2 is associated with the decoding band b and is set as a waiting ID. Set. When the task creation unit 509 sets all the rendering bands as tasks and sets a waiting ID, the task creation unit 509 outputs the rendering schedule.

ステップS1011において依存関係決定部815は、デコードバンドとレンダリングバンドとの依存関係を決定する。依存関係とは、デコードバンドと、そのデコードバンドの画像データを参照しなくなるレンダリングバンドとを対応関係を意味する。依存関係決定部507は、各デコードバンドの描画が終了する位置を参照し、終了位置のレンダリングバンドの次にレンダリングされるレンダリングバンドを、対応づける。   In step S <b> 1011, the dependency relationship determination unit 815 determines the dependency relationship between the decode band and the rendering band. The dependency relationship means a correspondence relationship between a decoding band and a rendering band that does not refer to image data of the decoding band. The dependency relationship determination unit 507 refers to the position at which drawing of each decode band ends, and associates the rendering band that is rendered next to the rendering band at the end position.

ステップS1012においてタスク作成部509は、描画される順にデコードバンドを選択し、選択したデコードバンドの識別情報をタスクとして設定する。ステップS1013においてタスク作成部509は、デコードバンドとレンダリングバンドとの依存関係と、デコードバッファ管理部506が管理しているデコードバッファ304の空き状況を参照し、選択したデコードバンドの待ちIDを決定する。デコードバッファ304に空き領域がある場合は、選択したデコードバンドはレンダリングの完了を待つ必要はないので、待ちIDが0となる。また、デコードバッファ304に空きがない場合は、依存関係を参照して、どのレンダリングバンドのレンダリング処理が完了すれば空き領域ができるかを検出し、空き領域ができるレンダリングバンドを待ちIDとして決定する。例えば、デコードバンドdを選択した場合、デコードバンドa、b、cの画像データがデコードバッファ304に格納され、空き容量がない。依存関係を参照すると、格納されているデコードバンドのうち、デコードバンドaはレンダリングバンド3に処理が進むと参照されなくなることがわかる。そこで、タスク作成部509は、デコードバンドdのタスクにはレンダリングバンド3を待ちIDとして決定する。   In step S1012, the task creation unit 509 selects a decode band in the drawing order, and sets identification information of the selected decode band as a task. In step S1013, the task creation unit 509 refers to the dependency between the decode band and the render band and the availability of the decode buffer 304 managed by the decode buffer management unit 506, and determines the waiting ID of the selected decode band. . If there is an empty area in the decode buffer 304, the selected decode band does not need to wait for the completion of rendering, so the wait ID becomes 0. Also, when there is no free space in the decode buffer 304, the dependency relationship is referred to, it is detected which rendering band is completed when the rendering process is completed, and the rendering band in which the free area is formed is determined as a waiting ID. . For example, when the decode band d is selected, the image data of the decode bands a, b, and c are stored in the decode buffer 304 and there is no free space. Referring to the dependency relationship, it can be seen that among the stored decoding bands, the decoding band a is not referred to when the processing proceeds to the rendering band 3. Therefore, the task creation unit 509 determines the rendering band 3 as a waiting ID for the task of the decode band d.

ステップS1014においてデコードバッファ管理部506は、決定されたデコードタスクと待ちIDに応じて、デコードバッファ304の使用状況を更新する。デコードバッファ管理部506は、デコードバッファ304が記憶可能なデコードバンド数を示す情報を予め保持している。ステップS1013においてデコードタスクの待ちIDが0に決定された場合、デコードタスクが開始されたタイミングで空き容量から1減ることを記憶しておく。また、ステップS1013においてデコードタスクの依存関係を参照し、参照されなくなるレンダリングバンドが完了したタイミングで、そのレンダリングバンドに依存関係があるデコードバンドの数分、空き容量を増やす。   In step S1014, the decode buffer management unit 506 updates the use status of the decode buffer 304 in accordance with the determined decode task and waiting ID. The decode buffer management unit 506 holds in advance information indicating the number of decode bands that can be stored in the decode buffer 304. If the wait ID of the decode task is determined to be 0 in step S1013, it is stored that 1 is decremented from the free space at the timing when the decode task is started. Also, in step S1013, the dependency relationship of the decoding task is referred to, and at the timing when the rendering band that is no longer referenced is completed, the free space is increased by the number of decoding bands that have a dependency relationship with the rendering band.

ステップS1015においてタスク作成部509は、全てのデコードバンドをデコードタスクとして選択したかどうかを判定する。全てのデコードバンドのタスクを作成していない場合、ステップS1012に戻る。全てのデコードバンドのタスクを作成した場合、ステップS1016にすすむ。   In step S1015, the task creation unit 509 determines whether all decode bands have been selected as decode tasks. If not all decode band tasks have been created, the process returns to step S1012. If tasks for all the decode bands have been created, the process proceeds to step S1016.

ステップS1017においてタスク作成部509は、次に中間データを作成される領域に描画される画像オブジェクトを、先行してデコードするための先行タスクを作成する。先行タスク作成処理について、詳細は後述する。ここで作成される先行タスクは、図8に示すように、デコードスケジュールの一部としてステップS1013において作成されたタスクの後続に配置される。   In step S1017, the task creation unit 509 creates a preceding task for precedingly decoding an image object to be drawn in the area where intermediate data is to be created next. Details of the preceding task creation process will be described later. As shown in FIG. 8, the predecessor task created here is arranged after the task created in step S1013 as part of the decode schedule.

ステップ1018において中間データ作成部502は、以上の処理によって作成される中間データを中間データバッファ507に送信し、領域1の中間データの作成を完了する。   In step 1018, the intermediate data creation unit 502 transmits the intermediate data created by the above processing to the intermediate data buffer 507 and completes the creation of the intermediate data in the area 1.

ステップS1016における先行タスクの作成処理のフローについて、図11を用いて説明する。まずステップS1102においてデコードバッファ管理部506は、中間データを作成した領域の全てのデコードタスクが完了するタイミングにおける、デコードバッファの使用状況を更新する。具体的には、領域1において、全てのデコードタスクが完了するのは、デコードcのデコードが完了した時、レンダリングバンド2のタスク処理中である。この時、レンダリングバンド2には、デコードバンドaおよびbの画像データが必要なので、上書き可能な領域はない。そこでデコードバッファ管理部508は、デコードcのデコードが完了した時のバッファの空き容量として0を更新する。   The flow of the preceding task creation process in step S1016 will be described with reference to FIG. First, in step S1102, the decode buffer management unit 506 updates the use status of the decode buffer at the timing when all the decode tasks in the area where the intermediate data is created are completed. Specifically, in the area 1, all the decoding tasks are completed when the decoding of the decoding c is completed and the task processing of the rendering band 2 is being performed. At this time, since the rendering band 2 requires the image data of the decode bands a and b, there is no area that can be overwritten. Therefore, the decode buffer management unit 508 updates 0 as the buffer free space when decoding of the decode c is completed.

次にステップS1103においてタスク作成部509は、次に中間データを作成する領域の描画命令を参照し、次に中間データを作成する領域に描画される画像オブジェクトを、先頭のレンダリングバンドから順に画像オブジェクトが検出されるまで、検出する。本実施形態の場合、領域2の描画命令を参照し、領域2の1バンド目にデコードバンドc、デコードバンドdが描画されることを検出する。   Next, in step S1103, the task creation unit 509 refers to the rendering command for the area where intermediate data is to be created next, and the image objects to be rendered next in the area where the intermediate data is created are processed in order from the first rendering band. Until it is detected. In the case of the present embodiment, the drawing command for the area 2 is referred to, and it is detected that the decode band c and the decode band d are drawn in the first band of the area 2.

ステップ1104において描画位置算出部508は、検出された画像オブジェクトの描画され始めるレンダリングバンドと、描画し終わるレンダリングバンドを演算する。デコードバンドcの場合、領域1のレンダリングバンド3から描画され始め、領域2のレンダリングバンド4で描画が完了する。デコードバンドdの場合、領域2のレンダリングバンド4から描画が開始され、領域2のレンダリングバンド5で描画が完了する。   In step 1104, the drawing position calculation unit 508 calculates a rendering band in which the detected image object starts to be drawn and a rendering band in which drawing has ended. In the case of the decode band c, drawing starts from the rendering band 3 in the area 1 and drawing is completed in the rendering band 4 in the area 2. In the case of the decode band d, drawing is started from the rendering band 4 in the area 2 and drawing is completed in the rendering band 5 in the area 2.

ステップS1105においてタスク作成部509は、ステップ1102で更新したデコードバッファの使用状況に基づいて、検出された画像オブジェクトが既にデコードされているかを検出する。検出された画像オブジェクトが既にデコードバッファにデコードされているときは、先行タスク作成の処理をスキップし、ステップS1103に戻って次の画像オブジェクトの検出を繰り返す。ステップS1105において、デコード済みでなかった場合は、ステップS1106に進む。   In step S1105, the task creation unit 509 detects whether the detected image object has already been decoded based on the use state of the decode buffer updated in step 1102. If the detected image object has already been decoded into the decode buffer, the preceding task creation process is skipped, and the process returns to step S1103 to repeat the detection of the next image object. In step S1105, if not decoded, the process proceeds to step S1106.

図7(b)に示す例の場合、領域2のレンダリングバンド4において描画されるデコードバンドcは、領域1のレンダリングバンド3でも描画される。そのため、先行タスクが実行される前には既にデコードされて、デコードバッファに残っている。従って、デコードバンドcは先行タスクの対象とされない。一方、デコードバンドcは領域1のレンダリングバンドでは描画されなくなるが、領域2においてはレンダリングバンド4まで描画される。このため、レンダリングバンド4のレンダリング処理が完了するまでは、デコードバンドcのデコード結果がデコードバッファ304において解放されないことが必要である。ステップS1105において、デコードバンドcのように後続の領域でも描画されるデコードバンドの情報がデコードバッファ管理部506によって記憶される。後続の領域でも描画されるデコードバンドの情報は、領域2の中間データ生成時にステップS1105において参照される。デコードバッファに参照すべきデータが残っている場合には、そのデコードバンドの圧縮データの作成処理をスキップすると共に参照すべきデータが上書きされないようにする。   In the case of the example shown in FIG. 7B, the decode band c drawn in the rendering band 4 in the region 2 is also drawn in the rendering band 3 in the region 1. Therefore, before the preceding task is executed, it has already been decoded and remains in the decoding buffer. Therefore, the decode band c is not the target of the preceding task. On the other hand, the decode band c is not drawn in the rendering band of the region 1, but is rendered up to the rendering band 4 in the region 2. Therefore, it is necessary that the decoding result of the decoding band c is not released in the decoding buffer 304 until the rendering processing of the rendering band 4 is completed. In step S <b> 1105, the decode buffer management unit 506 stores information on the decode band drawn in the subsequent area as in the decode band c. The information of the decode band drawn in the subsequent area is referred to in step S1105 when the intermediate data of area 2 is generated. If data to be referred to remains in the decode buffer, the process of creating compressed data for that decode band is skipped and the data to be referred to is not overwritten.

次にステップS1106においてタスク作成部509は、領域1のデコードバンドのデコードが完了したタイミングで、先行タスク作成の対象であるデコードバンドを、デコード可能かを判定する。本実施形態の場合は、デコードバンドcのデコードを完了した時デコードバッファ304に空き領域はないので、S1106ではデコードできないと判定される。   In step S <b> 1106, the task creation unit 509 determines whether the decode band for which the preceding task is created can be decoded at the timing when the decode of the decode band in the region 1 is completed. In the case of this embodiment, when the decoding of the decoding band c is completed, there is no empty area in the decoding buffer 304, and therefore it is determined that decoding is not possible in S1106.

ステップS1106でデコードできないと判定されると、デコードバッファ管理部506は、ステップS1107においてバッファを使用中の画像オブジェクトの描画終了バンドを調査する。ステップS1108においてタスク生成部509は、次にデコードバッファ304がデコード可能になるタイミングを検出する。図7に示す例では、デコードバンドcのデコードが完了した後、領域1のレンダリングバンド2のタスクが完了すれば、デコードバンドaの画像データが必要なくなり、デコードバッファ304に空き容量ができる。   If it is determined in step S1106 that decoding cannot be performed, the decode buffer management unit 506 checks the drawing end band of the image object that is using the buffer in step S1107. In step S1108, the task generation unit 509 detects the next timing at which the decode buffer 304 can be decoded. In the example shown in FIG. 7, when the task of the rendering band 2 in the region 1 is completed after the decoding of the decoding band c is completed, the image data of the decoding band a is not necessary, and the decoding buffer 304 has a free space.

ステップS1109において先行可否判定部510は、先行タスクを作成できるかどうかを判定する。具体的には、S1108で検出した空き容量ができるタイミングが領域1のレンダリング終了前かどうかを判定する。図7の例では、空き容量ができるのは、領域1のレンダリングタスクが完了する前と検出されているので、先行可否判定部510は、先行タスクを作成できると判定する。   In step S1109, the preceding possibility determination unit 510 determines whether a preceding task can be created. Specifically, it is determined whether or not the timing at which the free space detected in S1108 is available is before the end of rendering of area 1. In the example of FIG. 7, it is detected that the free space is available before the completion of the rendering task in the area 1, and therefore the advance possibility determination unit 510 determines that the advance task can be created.

ステップS1109において先行タスク作成可能と判定されると、ステップS1110において圧縮イメージ作成部504は、先行タスクの対象であるデコードバンドの圧縮イメージデータを、領域2の先行デコードバンドとして作成する。またステップS1111においてタスク作成部509は、先行タスクの対象であるデコードバンドのタスクを作成する。ここでは、先行タスクの対象であるデコードバンドdは、レンダリングバンド3の処理が開始されるとデコード可能になるので、先行タスクdに待ちID3を対応づける。   If it is determined in step S1109 that the preceding task can be created, in step S1110, the compressed image creation unit 504 creates the compressed image data of the decoding band that is the target of the preceding task as the preceding decoding band of the region 2. In step S1111, the task creation unit 509 creates a task of the decode band that is the target of the preceding task. Here, since the decoding band d that is the target of the preceding task can be decoded when the processing of the rendering band 3 is started, the waiting ID 3 is associated with the preceding task d.

ステップS1112においてタスク作成部509は、既に作成した領域1の圧縮データに、領域1には描画されない先行圧縮データを追加する。また、領域1のデコードスケジュールに先行タスクを追加する。   In step S <b> 1112, the task creation unit 509 adds the preceding compressed data that is not drawn in the area 1 to the already created compressed data in the area 1. In addition, a preceding task is added to the decoding schedule of area 1.

最後に、ステップS1113において、追加した先行タスクを完了したタイミングにおけるデコードバッファ304の使用状況に、デコードバッファ管理部506が記憶している情報を更新する。   Finally, in step S1113, the information stored in the decode buffer management unit 506 is updated to the usage status of the decode buffer 304 at the timing when the added preceding task is completed.

先行タスクを追加すると、ステップ1103に戻り、画像オブジェクトの検出を繰り返す。ステップS1108で検出されたオブジェクトが先行デコードできないと判定された場合、もしくは画像オブジェクトが検出されなくなると、ステップS1114に進んで先行タスク作成を完了する。   When the preceding task is added, the process returns to step 1103 and the detection of the image object is repeated. If it is determined in step S1108 that the detected object cannot be decoded in advance, or if no image object is detected, the process proceeds to step S1114 to complete the preceding task creation.

このように本実施形態では、次に中間データを作成する領域のデコード処理を先行してデコードできるように、現在中間データを作成している領域に描画されないデコード処理も含めて中間データを作成する。図12は、上述のフローによって領域毎に中間データを作成した場合の、レンダリング処理およびデコード処理を示している。デコードバンドdが先行してデコードされるため、レンダリング部2は、領域2のレンダリングバンド4のレンダリング処理を、デコード処理を待つことなく開始できる。   As described above, in the present embodiment, intermediate data is generated including a decoding process that is not drawn in the area where the intermediate data is currently created so that the decoding process of the area where the intermediate data is created next can be preceded. . FIG. 12 shows a rendering process and a decoding process when intermediate data is created for each area by the above-described flow. Since the decoding band d is decoded in advance, the rendering unit 2 can start the rendering process of the rendering band 4 in the region 2 without waiting for the decoding process.

以上説明したように、1ページを分割して分割して領域単位に中間データを作成することで、中間データバッファ507を低コスト化することが出来る。さらに、画像オブジェクトが領域間で跨った場合には、次の領域に描画されるデコードバンドを検出し、デコードバッファの使用状況を考慮して先行してデコードさせるため、待ち合わせによる処理低下を軽減することができる。さらに、レンダリングとデコードの依存関係に基づいてデコードバッファの空き状況を管理することで、先行してデコードすることの出来ない圧縮イメージの作成とタスクの追加を行わない。この為、冗長な中間データ生成の処理時間を削減でき、中間データのサイズが冗長に大きくならない。また、ラスタ画像データ生成部は、レンダリングとデコードの依存関係を中間データから読み出すことが出来るので、デコードバッファの管理や依存性の解析を必要としない簡単な構成で中間データを処理することが出来る。   As described above, the intermediate data buffer 507 can be reduced in cost by dividing one page and generating intermediate data for each region. Furthermore, when an image object straddles between areas, a decoding band drawn in the next area is detected and decoded in advance in consideration of the use status of the decoding buffer, thus reducing processing degradation due to waiting. be able to. Furthermore, by managing the empty state of the decoding buffer based on the dependency between rendering and decoding, a compressed image that cannot be decoded in advance and a task are not added. For this reason, the processing time for generating redundant intermediate data can be reduced, and the size of the intermediate data does not increase redundantly. In addition, since the raster image data generation unit can read the dependency relationship between rendering and decoding from the intermediate data, it can process the intermediate data with a simple configuration that does not require management of the decode buffer or analysis of the dependency. .

なお、第1実施形態では、情報処理装置として機能するPDL処理部105およびラスタ画像データ生成部106が画像形成装置100に内蔵される形態を例に説明した。しかしながら情報処理装置の一部または全部が、印刷を実行する出力部を有する装置とは独立した構成あってもよい。例えばPDL処理部105は、パーソナルコンピュータ(PC)やタブレット等の情報端末のソフトウェアとして実現することもできる。この場合、PDL処理部105は、印刷する画像形成装置が特定されると、印刷する画像形成装置に応じたPDL処理を実行する。   In the first embodiment, an example in which the PDL processing unit 105 and the raster image data generation unit 106 that function as an information processing apparatus are built in the image forming apparatus 100 has been described. However, a part or all of the information processing apparatus may have a configuration independent of an apparatus having an output unit that executes printing. For example, the PDL processing unit 105 can be realized as software of an information terminal such as a personal computer (PC) or a tablet. In this case, when an image forming apparatus to be printed is specified, the PDL processing unit 105 executes PDL processing corresponding to the image forming apparatus to be printed.

<第2実施形態>
前述の第1実施形態では、領域に必要なデコードスケジュールを作成した後、デコードバッファ304の使用状況に基づいて、次に中間データを作成する領域のPDLデータを参照し、先行タスクを作成した。第2実施形態では、デコードバッファ304に空きがあれば描画される領域に関わらず次にデコードすべき圧縮データの作成を続けることで、先行的に圧縮データおよびデコードタスクを作成する方法について説明する。図13は、第2実施形態におけるPDL処理部105の詳細なブロックを示す。第2実施形態では、デコードバッファ304に空き容量があればデコードタスクを作成するよう構成するため、先行可否判定部510を必要としない。なお第1実施形態と同様の構成については、同じ番号を付し、その説明を省略する。
Second Embodiment
In the first embodiment described above, after a decoding schedule necessary for an area is created, the preceding task is created by referring to the PDL data of the area where intermediate data is to be created next based on the usage status of the decoding buffer 304. In the second embodiment, a description will be given of a method for creating compressed data and a decoding task in advance by continuing to create compressed data to be decoded next regardless of an area to be drawn if there is a space in the decoding buffer 304. . FIG. 13 shows detailed blocks of the PDL processing unit 105 in the second embodiment. In the second embodiment, since the decoding task is created if there is free space in the decoding buffer 304, the advance possibility determination unit 510 is not required. In addition, about the structure similar to 1st Embodiment, the same number is attached | subjected and the description is abbreviate | omitted.

図14は、第2実施形態における中間データ作成処理中のフローチャートである。ステップS1401〜S1408について説明する。   FIG. 14 is a flowchart during the intermediate data creation process in the second embodiment. Steps S1401 to S1408 will be described.

まずステップS1401においてタスク作成部509は、注目領域に描画される画像オブジェクトのデコードタスクの作成が完了したかどうかを判定する。全てのデコードバンドのタスクを作成していなければ、ステップS1010に戻る。注目領域に描画される画像オブジェクトのデコードバンドの全てについてタスクを作成したが、ステップS1402に進む。   First, in step S1401, the task creation unit 509 determines whether the creation of a decoding task for an image object to be drawn in the attention area has been completed. If not all decode band tasks have been created, the process returns to step S1010. The task is created for all the decoding bands of the image object drawn in the attention area, but the process proceeds to step S1402.

ステップS1402においてタスク作成部509は、全てのデコードバンドをデコードした時の、デコードバッファ304の使用状況を確認する。デコードバッファ304に空き容量がない場合はさらに、作成したタスクの各デコードバンドの依存関係を参照する。全てのデコードバンドをデコードし終えた時に空き容量があるが、参照されなくなるレンダリングバンドが領域内であるデコードバンドがある場合、ステップS1402に進む。全てのデコードバンドのデコード完了時に空き容量がなく、かつ参照されなくなるレンダリングバンドが領域内でのデコードバンドがない場合、デコードバンドはいずれも領域内のレンダリング処理している間は、上書き可能にならないことを意味する。従って次の領域に描画される画像オブジェクトのデコードバンドを先行してデコードすることはできないので、ステップS1015にスケジュールデータの作成を完了する。   In step S1402, the task creation unit 509 checks the usage status of the decode buffer 304 when all the decode bands have been decoded. If there is no free space in the decode buffer 304, the dependency relationship of each decode band of the created task is further referred to. If there is a decoding band that has a free space when all the decoding bands have been decoded, but has a rendering band that is no longer referenced, the process proceeds to step S1402. If there is no free space when decoding of all the decoding bands is complete and there is no decoding band in the area that is not referenced, none of the decoding bands can be overwritten while rendering in the area. Means that. Accordingly, since the decoding band of the image object drawn in the next area cannot be decoded in advance, the creation of the schedule data is completed in step S1015.

ステップS1403において圧縮データ作成部504は、注目領域以降に中間データを作成する領域の画像オブジェクトを検出する。画像オブジェクトがそれ以降にない場合は、ステップS1015に進み、処理を完了する。画像オブジェクトが検出できた場合、デコードバンドを特定し、ステップS1404に進む。   In step S1403, the compressed data creation unit 504 detects an image object in an area where intermediate data is created after the attention area. If there is no image object after that, the process advances to step S1015 to complete the process. If the image object can be detected, the decoding band is specified, and the process proceeds to step S1404.

ステップS1404においてタスク作成部509は、ステップS1403において検出したデコードバンドを先行タスクとして選択する。ステップS1405においてタスク作成部509は、ステップS1402において注目領域のレンダリング中にデコードバッファ304に空き領域ができるタイミングを待ちIDとして設定する。   In step S1404, the task creation unit 509 selects the decode band detected in step S1403 as a preceding task. In step S1405, the task creation unit 509 sets, as a waiting ID, a timing at which an empty area is created in the decode buffer 304 during rendering of the attention area in step S1402.

ステップS1406において圧縮データ作成部504は、ステップS1403において特定したデコードバンドの圧縮データを作成する。ステップS1407においてデコードバッファ304の使用状況を更新し、ステップS1408において圧縮データに、ステップS1406において作成した圧縮データを追加し、ステップS1405において作成したタスクをデコードスケジュールに追加する。   In step S1406, the compressed data creation unit 504 creates compressed data of the decode band specified in step S1403. In step S1407, the usage status of the decode buffer 304 is updated, the compressed data created in step S1406 is added to the compressed data in step S1408, and the task created in step S1405 is added to the decode schedule.

以上の処理によれば、中間データ作成部502は、印刷ページを分割した領域ごとに中間データを作成する際に、レンダリングデータおよびレンダリングスケジュールは領域内だけを対象とする。一方、描画オブジェクトの圧縮データおよびデコードスケジュールは、デコードバッフの使用状況に応じて、他の領域の画像オブジェクトを含めて作成する。デコードバッファにおいていずれかのデコードバンドが上書き可能になると、注目領域以外の画像オブジェクトの圧縮データのデコードを先行して開始する。その結果、デコードバッファには、以降のレンダリングに必要な圧縮データが順次最も早いタイミングでデコードされることになる。これにより、領域毎に中間データを作成することによって生じる、デコードの待ち時間を短縮することができる。   According to the above processing, when the intermediate data creation unit 502 creates intermediate data for each area obtained by dividing the print page, the rendering data and the rendering schedule are targeted only within the area. On the other hand, the compression data and the decoding schedule of the drawing object are created including the image objects of other regions according to the use situation of the decoding buffer. When any one of the decoding bands can be overwritten in the decoding buffer, decoding of the compressed data of the image object other than the attention area is started in advance. As a result, the compressed data necessary for subsequent rendering is sequentially decoded at the earliest timing in the decode buffer. As a result, it is possible to reduce the decoding waiting time caused by creating intermediate data for each region.

<第3実施形態>
前述の第1実施形態では、ステップS904において処理対象のレンダリングバンドが開始可能かどうかの処理判定をきっかけにデコードの開始を制御する構成とした。第3実施形態では、デコードの開始指示とレンダリングの開始指示を並行に行う方法について説明する。なお、第1実施形態と同様の構成については、同じ番号を付し、その説明を省略する。
<Third Embodiment>
In the first embodiment described above, the start of decoding is controlled in response to the process determination as to whether or not the rendering band to be processed can be started in step S904. In the third embodiment, a method for performing a decoding start instruction and a rendering start instruction in parallel will be described. In addition, about the structure similar to 1st Embodiment, the same number is attached | subjected and the description is abbreviate | omitted.

図15は、第3実施形態におけるPDL処理部105及びラスタ画像データ生成部106による全体の処理のフローチャートである。
ステップS1501からステップS1503の中間データの読み込みまでの処理は、第1実施形態におけるステップS901からステップS903と同じ処理であるため、その説明を省略する。
FIG. 15 is a flowchart of overall processing by the PDL processing unit 105 and the raster image data generation unit 106 in the third embodiment.
Since the processing from the step S1501 to the reading of the intermediate data in the step S1503 is the same as the processing in the first embodiment from the step S901 to the step S903, the description thereof is omitted.

ステップ1504において制御部301は、読みこんだ中間データに含まれるデコードスケジュールを参照し、処理すべきデコードタスクを読みこみ、処理対象のデコードバンドを決定する。制御部301は、タスクの待ちIDに基づいて、処理対象のデコードバンドのデコード処理を開始できるかどうか判定する。待ちIDが0か、または待ちIDに示されたレンダリング処理が完了している場合、制御部301は、ステップS1505に進む。   In step 1504, the control unit 301 refers to the decoding schedule included in the read intermediate data, reads the decoding task to be processed, and determines the decoding band to be processed. Based on the task wait ID, the control unit 301 determines whether the decoding process of the decoding band to be processed can be started. If the wait ID is 0 or the rendering process indicated by the wait ID has been completed, the control unit 301 proceeds to step S1505.

ステップS1505において制御部301は、処理対象のデコードバンドのデコード処理の開始をデコード部303に指示すると、完了の通知を待たずにステップS1508に進む。また、ステップS1504で待ちIDに示されたレンダリング処理がまだ完了していない場合、デコード処理の開始を指示せずにステップS1508に進む。   In step S1505, when the control unit 301 instructs the decoding unit 303 to start decoding processing of the decoding band to be processed, the control unit 301 proceeds to step S1508 without waiting for completion notification. If the rendering process indicated by the waiting ID in step S1504 has not been completed, the process proceeds to step S1508 without instructing the start of the decoding process.

ステップS1506においてデコード部303は、制御部301による指示に従って、中間データに含まれる圧縮データを読み込み、指示されたデコードバンドのデコード処理を行う。ステップS1507においてデコード部303は、デコードによって得られる画像データをデコードバッファ304に格納し、デコード処理を完了すると制御部301にデコード完了を通知する。   In step S1506, the decoding unit 303 reads the compressed data included in the intermediate data in accordance with the instruction from the control unit 301, and performs decoding processing on the instructed decoding band. In step S1507, the decoding unit 303 stores the image data obtained by the decoding in the decoding buffer 304, and notifies the control unit 301 of the completion of decoding when the decoding process is completed.

ステップS1508において制御部301は、読みこんだ中間データに含まれるレンダリングスケジュールを参照し、処理すべきタスクを読みこみ、処理対象のレンダリングバンドを決定する。制御部301は、タスクの待ちIDに基づいて、処理対象のレンダリングバンドのレンダリング処理を開始できるかどうか判定する。待ちIDが0か、または待ちIDに示されたデコードバンドのデコード処理が完了している場合、制御部301は、ステップS1509に進む。   In step S1508, the control unit 301 refers to the rendering schedule included in the read intermediate data, reads a task to be processed, and determines a rendering band to be processed. The control unit 301 determines whether or not the rendering process of the rendering band to be processed can be started based on the task wait ID. If the wait ID is 0 or the decoding process of the decode band indicated by the wait ID has been completed, the control unit 301 proceeds to step S1509.

ステップS1509において制御部301は、処理対象のレンダリングバンドのレンダリング処理の開始をレンダリング部302に指示すると、完了の通知を待たずにステップS1512に進む。また、ステップS1508で待ちIDに示されたデコード処理がまだ完了していない場合、レンダリング処理の開始を指示せずにステップS1512に進む。   In step S1509, when the control unit 301 instructs the rendering unit 302 to start rendering processing of the rendering band to be processed, the process proceeds to step S1512 without waiting for completion notification. If the decoding process indicated by the waiting ID in step S1508 has not been completed, the process proceeds to step S1512 without instructing the start of the rendering process.

ステップS1512において制御部301は、ステップS1505もしくはステップS1509で指示したデコード処理とレンダリング処理の完了通知待ちを行う。デコード処理とレンダリング処理どちらか一方の完了通知を検知すると、ステップ1513に進み、最後のレンダリングバンドの処理が完了したかどうかを判定する。まだレンダリング処理の場合や未処理のレンダリングバンドがある場合は、ステップS1504に戻り、次のデコードバンドもしくは次のレンダリングバンドの処理を行う。最後のレンダリングバンドの処理が完了したことを検知すると、中間データバッファ507は上書き可能になるので、完了通知を送信する。   In step S1512, the control unit 301 waits for a notification of completion of the decoding process and the rendering process instructed in step S1505 or step S1509. When the completion notification of either the decoding process or the rendering process is detected, the process proceeds to step 1513, where it is determined whether or not the process of the last rendering band has been completed. If the rendering process is still in progress or there is an unprocessed rendering band, the process returns to step S1504, and the next decoding band or the next rendering band is processed. When it is detected that the processing of the last rendering band has been completed, the intermediate data buffer 507 can be overwritten, and a completion notification is transmitted.

ステップ1515においてPDL作成部102は、印刷ページの全領域について、中間データを作成したかどうかを判定する。中間データを作成していない領域があれば、ステップS1502に戻り、PDL処理部102は次の領域の中間データを作成する。   In step 1515, the PDL creation unit 102 determines whether intermediate data has been created for all areas of the print page. If there is an area for which intermediate data has not been created, the process returns to step S1502, and the PDL processing unit 102 creates intermediate data for the next area.

以上、説明したように、デコード処理、レンダリング処理を依存関係のある処理の完了を待っている間にも、処理開始を指示できる処理があれば処理を実行するように制御することで、デコードの開始指示とレンダリングの開始指示を並行に行うことができる。その結果、レンダリング処理の待ち時間および、デコード処理の待ち時間を短縮することができる。   As described above, the decoding process and the rendering process are controlled so as to execute the process if there is a process that can instruct the start of the process while waiting for the completion of the process having the dependency relationship. The start instruction and the rendering start instruction can be performed in parallel. As a result, the waiting time for rendering processing and the waiting time for decoding processing can be reduced.

なお、前述の実施形態では制御部301がレンダリング部302およびデコード部303に処理開始を指示する構成であったが、制御部301を独立に2つ構成してもよい。レンダリング部302にレンダリング処理の処理開始を指示するレンダリング制御部と、デコード部303にデコード処理の処理開始を指示するデコード制御部を独立に構成することで、レンダリング処理とデコード処理の開始指示を並列に行う構成としてもよい。   In the above-described embodiment, the control unit 301 instructs the rendering unit 302 and the decoding unit 303 to start processing, but two control units 301 may be configured independently. The rendering control unit that instructs the rendering unit 302 to start the rendering process and the decoding control unit that instructs the decoding unit 303 to start the decoding process are configured independently, thereby rendering the rendering process and the decoding process start instruction in parallel. It is good also as a structure performed to.

<その他の実施形態>
前述の実施形態では、先行して圧縮データを作成する領域に制限を設けていないが、領域に描画すべき画像オブジェクトが含まれない場合を考慮して制限を設けてもよい。例えば、後続の領域を2領域分先まで処理しても、先行する圧縮データが作成されない、もしくはデコードバッファの空きが無くならない場合などに、圧縮イメージデータ212の作成を終えるなどとしてもよい。
<Other embodiments>
In the above-described embodiment, there is no restriction on the area in which the compressed data is created in advance, but the restriction may be provided in consideration of the case where the image object to be drawn is not included in the area. For example, even if the subsequent area is processed up to two areas ahead, if the preceding compressed data is not created or if the decoding buffer is not empty, the creation of the compressed image data 212 may be finished.

105 PDL処理部105
106 ラスタ画像データ生成部
502 中間データ作成部
505 スケジュールデータ作成部
506 デコードバッファ管理部
507 依存関係決定部
508 描画位置算出部
509 タスク作成部
510 先行可否判定部
105 PDL processing unit 105
106 Raster image data generation unit 502 Intermediate data creation unit 505 Schedule data creation unit 506 Decode buffer management unit 507 Dependency determination unit 508 Drawing position calculation unit 509 Task creation unit 510 Precedence determination unit

Claims (11)

入力される印刷対象の画像を表す印刷データをラスタ画像データに変換する情報処理装置であって、
前記印刷データに基づいて、前記画像に描画される画像オブジェクトの符号化された圧縮データをデコードするデコード手段と、
前記デコード手段が前記圧縮データをデコードした結果、得られる前記画像オブジェクトの画像データを保持する第1の保持手段と、
前記保持手段が保持する前記画像オブジェクトの画像データを参照しながら、前記画像の領域毎にレンダリングすることによりラスタ画像データを生成するレンダリング手段とを有し、
前記デコード手段は、前記レンダリング手段が注目領域のラスタ画像データを生成している間に、前記注目領域に描画される画像オブジェクトの圧縮データと、前記注目領域の後続の領域に描画される画像オブジェクトの圧縮データの少なくとも一部をデコードすることを特徴とする情報処理装置。
An information processing apparatus that converts print data representing an input image to be printed into raster image data,
Decoding means for decoding compressed compressed data of an image object drawn on the image based on the print data;
A first holding means for holding the image data of the image object obtained as a result of the decoding means decoding the compressed data;
Rendering means for generating raster image data by rendering for each area of the image while referring to the image data of the image object held by the holding means;
The decoding means includes compressed data of an image object drawn in the attention area and an image object drawn in a subsequent area of the attention area while the rendering means generates raster image data of the attention area. An information processing apparatus that decodes at least a part of the compressed data.
さらに、印刷データを解釈して、描画命令に変換する解釈手段と、
前記描画命令に従って、前記領域毎に、前記画像に描画される画像オブジェクトの圧縮データ、前記画像のレンダリングデータを含む中間データを作成する中間データ作成手段と、を有し、
前記デコード手段は、前記中間データに含まれる前記圧縮データをデコードし
前記レンダリング手段は、前記レンダリングデータをレンダリングし、
前記中間データ作成手段は、前記注目領域について、
前記レンダリング手段が処理する前記注目領域のレンダリングデータと、
前記注目領域に描画される画像オブジェクトの圧縮データと、前記注目領域には描画されず前記注目領域の後続で中間データを作成される領域に描画される画像オブジェクトの少なくとも一部の圧縮データとを含む中間データを作成することを特徴とする請求項1に記載の情報処理装置。
Furthermore, interpreting means for interpreting the print data and converting it into a drawing command;
In accordance with the drawing command, for each of the areas, intermediate data creating means for creating compressed data of an image object drawn on the image and intermediate data including rendering data of the image,
The decoding means decodes the compressed data included in the intermediate data, and the rendering means renders the rendering data,
The intermediate data creating means
Rendering data of the region of interest processed by the rendering means;
The compressed data of the image object drawn in the attention area and the compressed data of at least a part of the image object drawn in the area where intermediate data is created after the attention area without being drawn in the attention area. The information processing apparatus according to claim 1, wherein intermediate data including the intermediate data is created.
前記レンダリング手段の処理単位をレンダリングバンドとし、前記デコード手段の処理手段のデコードバンドとし、
前記中間データ作成手段は、前記注目領域について、レンダリングバンド毎に、前記レンダリング手段がレンダリングを開始可能なタイミングを示すスケジュールデータと、
デコードバンド毎に、前記デコード手段がデコードを開始可能なタイミングを示すスケジュールデータとを作成することを特徴とする請求項2に記載の情報処理装置。
The processing unit of the rendering unit is a rendering band, the decoding unit of the processing unit of the decoding unit,
The intermediate data creating means includes schedule data indicating the timing at which the rendering means can start rendering for each rendering band for the attention area;
3. The information processing apparatus according to claim 2, wherein schedule data indicating a timing at which the decoding unit can start decoding is created for each decoding band.
前記中間データ作成手段は、
前記第1の保持手段の使用状況を管理する手段と、
前記印刷データにおいて前記画像オブジェクトが描画される描画位置を算出する算出手段と、
前記描画位置に基づいて、前記デコードバンドそれぞれと、前記デコードバンドの画像データが参照されなくなるレンダリングバンドとの対応関係を決定する決定手段と、
前記使用状況と前記対応関係に基づいて、前記注目領域以外の領域に描画される画像オブジェクトを先行してデコード可能かどうかを判定する判定手段と、
デコードバンドの識別情報と該デコードバンドを開始するまでにレンダリングの完了を待つべきレンダリングバンドの識別情報を待ちIDとして対応づけたタスクを作成する作成手段を有し、
前記タスク作成手段は、前記判定手段により先行してデコードできると判定された場合、前記使用状況に基づいて、前記注目領域には描画されず前記注目領域の後続で中間データを作成される領域に描画される画像オブジェクトの少なくとも一部の圧縮データを生成し、かつ該圧縮データをデコードの開始を制御するためのデコードタスクを作成することを特徴とする請求項3に記載の情報処理装置。
The intermediate data creation means includes
Means for managing the usage status of the first holding means;
Calculating means for calculating a drawing position at which the image object is drawn in the print data;
Determining means for determining a correspondence relationship between each of the decoding bands and a rendering band in which image data of the decoding band is not referred to based on the drawing position;
Determination means for determining whether or not an image object drawn in an area other than the attention area can be decoded in advance based on the usage situation and the correspondence relationship;
Creating means for creating a task in which the identification information of the decoding band and the identification information of the rendering band to be waited for completion of rendering before starting the decoding band are associated as a waiting ID;
If it is determined by the determination unit that the task can be decoded in advance, based on the usage status, the task generation unit is not drawn in the attention area, but is an area in which intermediate data is generated after the attention area. 4. The information processing apparatus according to claim 3, further comprising: generating a decoding task for generating compressed data of at least a part of an image object to be drawn and controlling start of decoding the compressed data.
前記タスク手段は、レンダリングバンドの識別番号と該レンダリングバンドのレンダリングを開始するまでにデコードを完了すべき最後のデコードバンドの識別番号を対応づけたレンダリングタスクを作成することを特徴とする請求項2に記載の情報処理装置。   The task means creates a rendering task in which the identification number of a rendering band is associated with the identification number of the last decoding band to be decoded before rendering of the rendering band is started. The information processing apparatus described in 1. 前記中間データを読み出し、前記中間データに含まれる前記デコードタスクと前記レンダリングタスクとに従って、前記レンダリング手段と前記デコード手段を制御する制御手段を有することを特徴とする請求項3に記載の情報処理装置。   The information processing apparatus according to claim 3, further comprising a control unit that reads the intermediate data and controls the rendering unit and the decoding unit according to the decoding task and the rendering task included in the intermediate data. . 前記注目領域の後続の領域に描画される画像オブジェクトの圧縮データとは、前記後続の領域のみにおいて描画に用いられる圧縮データであることを特徴とする請求項1乃至6の何れか一項に記載の情報処理装置。   The compressed data of the image object drawn in the area subsequent to the attention area is compressed data used for drawing only in the subsequent area. Information processing device. 前記中間データ作成手段は、前記注目領域に描画される画像オブジェクトの圧縮データで、前記既にデコードされた圧縮データがあるか否かを判定し、
既にデコードされた圧縮データがある場合は、前記注目領域の中間データに、前記既にデコードされた圧縮データを含ませないことを特徴とする請求項2に記載の情報処理装置。
The intermediate data creating means determines whether or not there is compressed data already decoded in the compressed data of the image object drawn in the attention area,
3. The information processing apparatus according to claim 2, wherein if there is already decoded data, the intermediate data in the region of interest does not include the already decoded compressed data.
さらに、前記中間データを保持する第2の保持手段を有し、 前記第2の保持手段は、前記複数の領域のうち1つの領域の中間データのみ保持可能であることを特徴とする請求項2に記載の情報処理装置。   Furthermore, it has a 2nd holding means to hold | maintain the said intermediate data, The said 2nd holding means can hold | maintain only the intermediate data of one area | region among these several area | regions. The information processing apparatus described in 1. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項1乃至9の何れか一項に記載された情報処理装置として機能させることを特徴とするコンピュータプログラム。   A computer program that causes a computer to function as the information processing apparatus according to claim 1 by being read and executed by a computer. 入力される印刷対象の画像を表す印刷データをラスタ画像データに変換する情報処理方法であって、
前記印刷データに基づいて、前記画像に描画される画像オブジェクトの符号化された圧縮データをデコードする工程と、
前記画像オブジェクトの画像データを参照しながら、前記画像の領域毎にレンダリングすることによりラスタ画像データを生成する工程からなる、
前記デコードする工程は、前記レンダリング工程が注目領域のラスタ画像データを生成している間に、前記注目領域に描画される画像オブジェクトの圧縮データと、前記注目領域の後続の領域に描画される画像オブジェクトの圧縮データの少なくとも一部をデコードすることを特徴とする情報処理方法。
An information processing method for converting print data representing an input image to be printed into raster image data,
Decoding encoded compressed data of an image object drawn on the image based on the print data;
The process includes generating raster image data by rendering each area of the image while referring to the image data of the image object.
The decoding step includes the compressed data of the image object drawn in the attention area and the image drawn in the subsequent area of the attention area while the rendering step generates raster image data of the attention area. An information processing method characterized by decoding at least part of compressed data of an object.
JP2016081489A 2015-06-05 2016-04-14 Information processing apparatus, information processing method, and program Pending JP2017001387A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/171,505 US20160358052A1 (en) 2015-06-05 2016-06-02 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015115173 2015-06-05
JP2015115173 2015-06-05

Publications (1)

Publication Number Publication Date
JP2017001387A true JP2017001387A (en) 2017-01-05

Family

ID=57751071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016081489A Pending JP2017001387A (en) 2015-06-05 2016-04-14 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2017001387A (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594860A (en) * 1995-01-27 1997-01-14 Varis Corporation Method for banding and rasterizing an image in a multiprocessor printing system
JP2001306275A (en) * 2000-04-25 2001-11-02 Fuji Xerox Co Ltd Image processing system
JP2003072161A (en) * 2001-08-31 2003-03-12 Canon Inc PRINT CONTROL DEVICE, PRINT CONTROL METHOD, STORAGE MEDIUM, AND PROGRAM
US20070195353A1 (en) * 2006-02-17 2007-08-23 Canon Kabushiki Kaisha Image forming apparatus
JP2008090377A (en) * 2006-09-29 2008-04-17 Brother Ind Ltd Rasterizing apparatus, program and method
CN101277356A (en) * 2007-03-29 2008-10-01 兄弟工业株式会社 Method to generate decompressed data
US20080309673A1 (en) * 2006-09-29 2008-12-18 Brother Kogyo Kabushiki Kaisha Rasterizing device
US20090034853A1 (en) * 2007-07-31 2009-02-05 Brother Kogyo Kabushiki Kaisha Technique for creating print data
US20100079809A1 (en) * 2008-09-30 2010-04-01 Darrell Eugene Bellert Systems and Methods for Optimized Printer Throughput in a Multi-Core Environment
JP2011148242A (en) * 2010-01-25 2011-08-04 Konica Minolta Business Technologies Inc Image forming apparatus, and program
JP2012063905A (en) * 2010-09-15 2012-03-29 Ricoh Co Ltd Image formation device and image formation method
JP2013006338A (en) * 2011-06-24 2013-01-10 Canon Inc Image processing device capable of switching configuration method of rendering system

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594860A (en) * 1995-01-27 1997-01-14 Varis Corporation Method for banding and rasterizing an image in a multiprocessor printing system
JP2001306275A (en) * 2000-04-25 2001-11-02 Fuji Xerox Co Ltd Image processing system
JP2003072161A (en) * 2001-08-31 2003-03-12 Canon Inc PRINT CONTROL DEVICE, PRINT CONTROL METHOD, STORAGE MEDIUM, AND PROGRAM
US20070195353A1 (en) * 2006-02-17 2007-08-23 Canon Kabushiki Kaisha Image forming apparatus
JP2007221604A (en) * 2006-02-17 2007-08-30 Canon Inc Image forming apparatus
JP2008090377A (en) * 2006-09-29 2008-04-17 Brother Ind Ltd Rasterizing apparatus, program and method
US20080309673A1 (en) * 2006-09-29 2008-12-18 Brother Kogyo Kabushiki Kaisha Rasterizing device
JP2008246775A (en) * 2007-03-29 2008-10-16 Brother Ind Ltd Deployment data creation method, apparatus and program
US20080239396A1 (en) * 2007-03-29 2008-10-02 Brother Kogyo Kabushiki Kaisha Method of creating decompressed data
CN101277356A (en) * 2007-03-29 2008-10-01 兄弟工业株式会社 Method to generate decompressed data
US20090034853A1 (en) * 2007-07-31 2009-02-05 Brother Kogyo Kabushiki Kaisha Technique for creating print data
JP2009034833A (en) * 2007-07-31 2009-02-19 Brother Ind Ltd Print data creation apparatus, method and program
US20100079809A1 (en) * 2008-09-30 2010-04-01 Darrell Eugene Bellert Systems and Methods for Optimized Printer Throughput in a Multi-Core Environment
JP2010092472A (en) * 2008-09-30 2010-04-22 Konica Minolta Systems Lab Inc System and method for optimized printer throughput in multi-core environment
JP2011148242A (en) * 2010-01-25 2011-08-04 Konica Minolta Business Technologies Inc Image forming apparatus, and program
US20110235105A1 (en) * 2010-01-25 2011-09-29 Konica Minolta Business Technologies, Inc. Image forming apparatus and computer readable recording medium
JP2012063905A (en) * 2010-09-15 2012-03-29 Ricoh Co Ltd Image formation device and image formation method
JP2013006338A (en) * 2011-06-24 2013-01-10 Canon Inc Image processing device capable of switching configuration method of rendering system

Similar Documents

Publication Publication Date Title
JP4468404B2 (en) Information processing apparatus control method, information processing apparatus, and program
JP2019025801A (en) Printing system, printer and control method thereof, and program
JP2011123757A (en) Variable printing control device and control program
JP6445899B2 (en) Image forming apparatus and control method thereof
JP5517607B2 (en) Information processing apparatus, image compression method, and computer program
JP4412159B2 (en) Image processing apparatus, printer, and printer control method
JP6772020B2 (en) Image processing device, control method of image processing device, and program
CN106476280A (en) The cross-sectional image Transmission system of three dimensional object, method and the dispensing device executing this
JP2017001387A (en) Information processing apparatus, information processing method, and program
JP2019086987A (en) IMAGE FORMING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM
JP2017194932A (en) Image processing apparatus, image processing method, and program
JP5424778B2 (en) Print data processing apparatus, print data processing method, and program
JP2013119242A (en) Image forming apparatus, image forming method, and program
JP6886338B2 (en) Image forming device, its control method, and program
JP2018144372A (en) Image forming apparatus, image forming apparatus control method, and program
JP3715749B2 (en) Image processing system and image processing method
JP6789716B2 (en) Image processing device, control method of image processing device, and program
JP2010250393A (en) Information processing apparatus and information processing method
JP2003112451A (en) Image processor, image processing method, recording medium and program
JP2000335021A (en) Image processing apparatus and image processing method
JP7383462B2 (en) Image processing device, control method for image processing device, program
KR20180102499A (en) Image forming apparatus and method for controlling image forming apparatus
JP2011051141A (en) Image forming apparatus, image processing method, and controlling program
JP5766059B2 (en) Image forming apparatus, image forming apparatus control method, and program
JP2012218227A (en) Image forming apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200901