Nothing Special   »   [go: up one dir, main page]

JP6539022B2 - PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM - Google Patents

PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM Download PDF

Info

Publication number
JP6539022B2
JP6539022B2 JP2014131801A JP2014131801A JP6539022B2 JP 6539022 B2 JP6539022 B2 JP 6539022B2 JP 2014131801 A JP2014131801 A JP 2014131801A JP 2014131801 A JP2014131801 A JP 2014131801A JP 6539022 B2 JP6539022 B2 JP 6539022B2
Authority
JP
Japan
Prior art keywords
unit
drawing object
rendering
intermediate data
data based
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.)
Active
Application number
JP2014131801A
Other languages
Japanese (ja)
Other versions
JP2016007848A (en
JP2016007848A5 (en
Inventor
悠紀 有澤
悠紀 有澤
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 JP2014131801A priority Critical patent/JP6539022B2/en
Publication of JP2016007848A publication Critical patent/JP2016007848A/en
Publication of JP2016007848A5 publication Critical patent/JP2016007848A5/en
Application granted granted Critical
Publication of JP6539022B2 publication Critical patent/JP6539022B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)

Description

本発明は、外部装置から受信するデータから画像を生成するための処理技術に関するものである。   The present invention relates to processing techniques for generating an image from data received from an external device.

デジタル印刷の進展に伴い、その特色を活かした形態としてのバリアブルデータ印刷(Variable Data Print、以後、VDPと略す)が注目されている。印刷物の一部を可変データとして部毎に変更する印刷形態は、電子写真等のデジタルプリンタの特性を最大限に発揮するものである。初期のVDPでは、プリンタ記述言語として、様々なVDP言語が使用されていたが、現在では、標準言語としてのPPMLが規定され、広く利用されている。   With the development of digital printing, variable data printing (hereinafter referred to as VDP) as a form taking advantage of its features has attracted attention. A printing mode in which a part of a printed matter is changed as variable data for each copy is to maximize the characteristics of a digital printer such as an electrophotographic picture. In early VDP, various VDP languages were used as a printer description language, but at present, PPML as a standard language is defined and widely used.

PPMLでは、ページを描画する要素として、繰り返し参照されるリユーサブルオブジェクトと、一度限り参照されるローカルオブジェクトの二つがある。リユーサブルオブジェクトは、ページ内、ページ間、あるいはジョブ間で、単一の描画オブジェクトを複数箇所に配置する場合に用いられる。通常、ローカルオブジェクトやリユーサブルオブジェクト等の描画オブジェクトは、ソース描画データとしてPostScript(登録商標、以後、PSと略記する)やPDFにより記述される。   In PPML, there are two elements to draw a page: reusable objects that are referenced repeatedly and local objects that are referenced only once. Reusable objects are used to arrange a single drawing object at multiple locations within a page, between pages, or between jobs. Usually, drawing objects such as local objects and reusable objects are described as source drawing data in PostScript (registered trademark, hereinafter abbreviated as PS) or PDF.

これらのソース描画データは、RIP処理を経てラスタイメージ化された後にページ上に配置される。PPMLのリユーサブルオブジェクトのように再利用されることが明確な場合は、ソース描画データからRIP処理した結果のラスタイメージをキャッシュする。その結果、非常に高速な描画処理が可能となる。但し、ラスタイメージは高解像度かつ高階調のカラーデータの場合、非常に大きなサイズとなる。そのため、大容量のメモリが必要となる。そこで、ラスタイメージに変換する前のディスプレイリスト(中間データ)をソース描画データから生成し、これをキャッシュするという方法もある。この方法は、ディスプレイリストをレンダリングするための時間は必要とされる一方で、キャッシュに必要なメモリ容量を大幅に削減することが可能である。   These source drawing data are placed on the page after being rasterized through RIP processing. If it is clear that it will be reused like a PPML reusable object, cache the raster image of the result of RIP processing from the source drawing data. As a result, extremely fast drawing processing is possible. However, a raster image has a very large size in the case of high resolution and high gradation color data. Therefore, a large capacity memory is required. Therefore, there is also a method of generating a display list (intermediate data) before conversion into a raster image from source drawing data and caching this. While this method requires time to render the display list, it can significantly reduce the amount of memory required for caching.

ところで、複数のCPUコアを単一パッケージに集積したCPUを用いて、複数ジョブを同時並行してRIP処理するジョブ並列処理方式が知られている。しかしながら、単一ジョブだけをみると、RIP処理時間はシングルコアで実行した場合と変わらない。   By the way, there is known a job parallel processing method in which a plurality of jobs are simultaneously RIPped in parallel using a CPU in which a plurality of CPU cores are accumulated in a single package. However, looking at only a single job, RIP processing time is the same as when executed with a single core.

また、別の方法として、単一ジョブ内の複数ページを同時並行してRIP処理するページ並列処理方式が知られている。特許文献1では、VDPに特化した並列処理方式として、ジョブをVDPで定義されたレコード毎に分割して、レコード毎に同時並行してRIP処理するレコード並列処理方式が提案されている。尚、VDPの目的として、One to Oneマーケティングを実現するためのパーソナライズされた印刷物を製造する際の一人分のVDPデータをレコードと呼ぶ。また、特許文献2では、ページ並列方式でもキャッシュメモリ等の記憶装置の利用効率を向上させるために、一つの機器内のキャッシュメモリを共用する方法が提案されている。   As another method, there is known a page parallel processing method in which a plurality of pages in a single job are simultaneously RIP-processed. In Patent Document 1, as a parallel processing method specialized for VDP, a record parallel processing method is proposed in which a job is divided into records defined by VDP and RIP processing is performed in parallel for each record in parallel. For the purpose of VDP, one person's worth of VDP data in manufacturing personalized printed matter for realizing One to One marketing is called a record. Further, Patent Document 2 proposes a method of sharing a cache memory in one device in order to improve the utilization efficiency of a storage device such as a cache memory even in the page parallel method.

特開2009−172913号公報JP, 2009-172913, A 特開2012−200955号公報JP, 2012-200955, A

しかしながら、特許文献1の方法では、ある一つのリユーサブルオブジェクトを、同時並行でRIP処理する複数のページで同時に参照していると効率が低下する。これは、リユーサブルオブジェクトを複数の印刷制御装置で重複して中間データを生成する処理を実行する可能性があるからである。   However, in the method of Patent Document 1, if one reusable object is simultaneously referred to by a plurality of pages subjected to RIP processing simultaneously and in parallel, the efficiency decreases. This is because there is a possibility that a process of generating intermediate data by overlapping reusable objects with a plurality of print control devices may be performed.

また、特許文献2では、キャッシュメモリが不足する可能性が高くなる。その結果、中間データの削除と再生成、他の記憶装置への退避に時間がかかってしまい、全体のRIP処理時間がかかってしまう。   Further, in Patent Document 2, the possibility that the cache memory runs short is high. As a result, it takes time to delete and regenerate intermediate data and save to another storage device, and the entire RIP process takes time.

本発明は上記の課題を鑑みてなされたものであり、データの描画処理を効率的に実行することができる処理技術を提供することを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a processing technique capable of efficiently executing data drawing processing.

上記の目的を達成するための本発明による印刷装置は、
第1単位データに基づいて中間データの生成処理とレンダリング処理とを行う第1レンダリング部と、前記第1単位データと異なる第2単位データに基づいて前記中間データの生成処理とレンダリング処理とを行う第2レンダリング部と、を含む複数のレンダリング部と、
前記第1単位データ及び前記第2単位データに含まれる複数の描画オブジェクトそれぞれの処理状態を管理する管理手段と、を備え、
前記第1単位データ及び前記第2単位データのいずれにも、第1描画オブジェクトと、前記第1描画オブジェクトと異なる第2描画オブジェクトと、が含まれている場合において、
前記第2レンダリング部は、前記第1描画オブジェクトに基づく前記中間データの生成処理と前記第2描画オブジェクトに基づく前記中間データの生成処理とがいずれも処理済の状態であることを示す応答を前記管理手段から取得した場合、前記第1レンダリング部において処理済の前記第1描画オブジェクトに基づく中間データと前記第2描画オブジェクトに基づく中間データとを前記第2レンダリング部においても利用するよう、前記第1描画オブジェクトに基づく中間データと前記第2描画オブジェクトに基づく中間データとを取得し、
前記第2レンダリング部は、前記第1描画オブジェクトに基づく前記中間データの生成処理が処理中の状態であることを示し、前記第2描画オブジェクトに基づく前記中間データの生成処理が未処理の状態であることを示す応答を前記管理手段から取得した場合には、前記第1レンダリング部で処理中の状態の前記第1描画オブジェクトに基づく前記中間データの生成処理が処理済となることを待たずに、未処理の状態の前記第2描画オブジェクトに基づく前記中間データの生成処理を開始することを特徴とする。
The printing apparatus according to the present invention for achieving the above object is:
A first rendering unit that performs the generation processing and rendering of the intermediate data based on the first unit data, and a generation process and rendering process of the intermediate data based on the second unit data different from the first data blocks A plurality of rendering units including a second rendering unit to perform ;
And managing means for managing processing states of a plurality of drawing objects included in the first unit data and the second unit data ,
In the case where each of the first unit data and the second unit data includes a first drawing object and a second drawing object different from the first drawing object,
The second rendering unit is responsive to indicate that both the generation process of the intermediate data based on the first drawing object and the generation process of the intermediate data based on the second drawing object are in a processed state. When acquired from the management means, the second rendering unit is configured to use the intermediate data based on the first drawing object processed in the first rendering unit and the intermediate data based on the second drawing object also in the second rendering unit. Obtaining intermediate data based on one drawing object and intermediate data based on the second drawing object,
The second rendering unit indicates that the process of generating the intermediate data based on the first drawing object is in processing, and the process of generating the intermediate data based on the second drawing object is not processed. When a response indicating that there is a response is acquired from the management means, the process of generating the intermediate data based on the first drawing object in the state being processed by the first rendering unit is not waited until it is processed. And generating the intermediate data based on the second drawing object in an unprocessed state .

本発明によれば、データの描画処理を効率的に実行することができる。   According to the present invention, data drawing processing can be performed efficiently.

印刷装置における制御の構成を説明するためのブロック図である。It is a block diagram for demonstrating the structure of control in a printing apparatus. コントロール部でのジョブ処理を示すフローチャートである。It is a flowchart which shows the job processing in a control part. レンダリング部でのレンダリング処理を示すフローチャートである。It is a flowchart which shows the rendering process in a rendering part. 印刷ジョブに対応する印刷データの例を示す図である。FIG. 6 is a diagram illustrating an example of print data corresponding to a print job. レンダリング処理の状況を示す説明図である。It is an explanatory view showing the situation of rendering processing. レンダリング処理途中の通信応答とレンダリング処理後に保持する情報を示す図である。It is a figure which shows the communication response in the middle of a rendering process, and the information hold | maintained after a rendering process. オブジェクト調停部でのオブジェクトの予約回数を更新する処理を示すフローチャートである。It is a flowchart which shows the process which updates the reservation frequency of the object in an object arbitration part. レンダリング部での予約回数を元にディスプレイリストを削除する処理を示すフローチャートである。It is a flowchart which shows the process which deletes a display list based on the number of times of reservation in a rendering part. レンダリング処理中に保持する情報を示す図である。It is a figure which shows the information hold | maintained during a rendering process.

以下、添付図面を参照して本発明の好適な実施形態を例示的に詳細に説明する。但し、この実施形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。   Hereinafter, preferred embodiments of the present invention will be exemplarily described in detail with reference to the accompanying drawings. However, the relative arrangement of components described in this embodiment, the device shape and the like are merely examples, and the scope of the present invention is not limited to them.

本明細書において「印刷装置」とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能を複合した複合機や、記録紙上に画像やパターンを形成する製造装置等の機器も含むものとする。   In the present specification, the “printing device” is not limited to a dedicated device specialized for the printing function, but is a multifunction device combining the printing function and other functions, and a device such as a manufacturing device that forms an image or pattern on recording paper. Shall also be included.

<実施形態1>
図1は印刷装置における制御の構成を説明するためのブロック図である。
印刷装置102は、コントロール部103と、複数のレンダリング部104と、オブジェクト調停部115と、ユーザインタフェース部105と、プリンタエンジン部106とを含む。画像を印刷する印刷装置102では、情報処理装置であるパーソナルコンピュータ等の外部装置101からのジョブデータを処理し、ロールシート等の記録媒体に印刷を行う。
First Embodiment
FIG. 1 is a block diagram for explaining the configuration of control in the printing apparatus.
The printing apparatus 102 includes a control unit 103, a plurality of rendering units 104, an object arbitration unit 115, a user interface unit 105, and a printer engine unit 106. The printing apparatus 102 for printing an image processes job data from an external apparatus 101 such as a personal computer which is an information processing apparatus, and performs printing on a recording medium such as a roll sheet.

コントロール部103は、受信部107と、分割部108と、レンダリング管理部109と、CPU118と、メモリ119と、スプール部110とを含む。コントロール部103は、外部装置101からの受信データであるジョブデータを解析し、その解析結果やユーザインタフェース部105からの指示に基づき、レンダリング部104に送信するためのコマンドやデータを作成する。また、コントロール部103は、レンダリング部104からレンダリング処理後のデータを受信して、プリンタエンジン部106へ送信して印刷を行う。   The control unit 103 includes a reception unit 107, a division unit 108, a rendering management unit 109, a CPU 118, a memory 119, and a spool unit 110. The control unit 103 analyzes job data, which is received data from the external apparatus 101, and creates commands and data to be transmitted to the rendering unit 104 based on the analysis result and an instruction from the user interface unit 105. The control unit 103 also receives data after rendering processing from the rendering unit 104, transmits the data to the printer engine unit 106, and performs printing.

CPU118は、印刷装置102の各種構成要素を制御する。メモリ119は、プログラムメモリ、ワークメモリ、及びフラッシュメモリを含んでいる。プログラムメモリは、CPU118が読み出すプログラムコード等のデータを格納するROM等のメモリである。また、ワークメモリは、印刷装置102の各種処理実行時に使用する画像データ等のデータを一時格納したり、バッファリングしたりするためのRAM等のメモリである。フラッシュメモリは、受信部107が受信したジョブデータの送信元情報を格納可能な不揮発性メモリである。CPU118は、プログラムメモリに格納されているプログラムをワークメモリ上で実行することにより、後述する各種の処理を実現することができる。   The CPU 118 controls various components of the printing apparatus 102. The memory 119 includes program memory, work memory, and flash memory. The program memory is a memory such as a ROM that stores data such as a program code read by the CPU 118. The work memory is a memory such as a RAM for temporarily storing or buffering data such as image data to be used when various processes of the printing apparatus 102 are executed. The flash memory is a non-volatile memory capable of storing transmission source information of job data received by the receiving unit 107. The CPU 118 can realize various processes described later by executing the program stored in the program memory on the work memory.

ユーザインタフェース部105は、操作指示の受付や装置状態の表示を行う。ユーザインタフェース部105は、例えば、表示部と操作部を有する。LCD等の表示装置で構成され、操作部は、ユーザからの各種操作を受け付けるためのスイッチやタッチパネルで構成される。   The user interface unit 105 receives an operation instruction and displays the apparatus state. The user interface unit 105 includes, for example, a display unit and an operation unit. The operation unit is configured by a switch or a touch panel for receiving various operations from the user.

プリンタエンジン部106は、コントロール部103から送信されたレンダリング処理後のデータ(ここでは、ビットマップデータ)に対して色変換等の画像処理を施した後、ロールシート等の被記録媒体へ印刷を行う。このプリンタエンジン部106の印刷方式としては、インクジェット方式、電子写真方式、熱転写方式等の各種印刷方式を利用することができる。   The printer engine unit 106 performs image processing such as color conversion on data after rendering processing (here, bitmap data) sent from the control unit 103, and then prints on a recording medium such as a roll sheet. Do. As a printing method of the printer engine unit 106, various printing methods such as an inkjet method, an electrophotographic method, and a thermal transfer method can be used.

コントロール部103において、受信部107は、外部装置101からジョブデータを受信し格納する。この受信部107は、例えば、USB等のシリアルインタフェースで実現されても良いし、有線ネットワーク/無線ネットワークのネットワークインタフェースで実現されても良い。また、ジョブデータは、例えば、ページ記述言語であるPDLデータによって構成されている。   In the control unit 103, the receiving unit 107 receives job data from the external apparatus 101 and stores the received job data. The reception unit 107 may be realized by, for example, a serial interface such as USB, or may be realized by a network interface of a wired network / wireless network. The job data is, for example, configured by PDL data, which is a page description language.

分割部108は、受信されたジョブデータを解析し、レンダリング部104に指示する所定の単位データ(例えば、ページデータ)に分割し、その印刷順序を決定する。より詳しくは、分割部108は、例えば、ページデータ単位の並列処理のために、複数のレンダリング部104に対して担当ページデータの振り分けを行い、それぞれのページデータを含む印刷データを対応するレンダリング部104へ転送する。この場合、分割部108は、その印刷データの先頭ページデータから順に、各ページデータの処理をそれぞれ別々のレンダリング部104に振り分ける。   The dividing unit 108 analyzes the received job data, divides the received job data into predetermined unit data (for example, page data) instructed to the rendering unit 104, and determines the printing order thereof. More specifically, the dividing unit 108 distributes assigned page data to a plurality of rendering units 104 for parallel processing in units of page data, for example, and render units corresponding to print data including the respective page data Transfer to 104. In this case, the dividing unit 108 distributes the processing of each page data to the different rendering units 104 in order from the top page data of the print data.

この振り分けは、予め定められた固定的な順序で各レンダリング部104にページデータを振り分ける方式であってもよい。また、振り分けられたページデータの処理が終了する毎にレンダリング部104が分割部108にその旨を通知し、その通知に応じて分割部108が未処理の先頭のページデータを通知元のレンダリング部104に振り分けるという制御でもよい。尚、これらはあくまで一例に過ぎず、他の振り分け方式を用いてもよい。   This distribution may be a method of distributing page data to the rendering units 104 in a predetermined fixed order. In addition, the rendering unit 104 notifies the dividing unit 108 to that effect each time the processing of the distributed page data is completed, and the dividing unit 108 responds to the notification to render the first page data not processed yet as the notification source The control may be distributed to 104. Note that these are merely examples, and other distribution methods may be used.

この分割部108は、外部装置101に内蔵(例えば、プログラムとしてインストール)されていてもよいし、これら複数のレンダリング部104とは別のコンピュータ装置上に構築されていてもよい。   The dividing unit 108 may be built in (for example, installed as a program) in the external device 101, or may be built on a computer device other than the plurality of rendering units 104.

本実施形態では、レンダリング部104は複数個存在し、各レンダリング部104によってレンダリング処理を並列処理することができる。各レンダリング部104は、レンダリング制御部111と、オブジェクトID生成部112と、PDLインタプリタ113と、キャッシュ保存部114と、問合せ結果保持部116と、レンダラ117と、を含む。   In the present embodiment, there are a plurality of rendering units 104, and each rendering unit 104 can perform rendering processing in parallel. Each rendering unit 104 includes a rendering control unit 111, an object ID generation unit 112, a PDL interpreter 113, a cache storage unit 114, an inquiry result storage unit 116, and a renderer 117.

レンダリング管理部109は、分割部108により指示された印刷順序に従ってレンダリング部104のレンダリング制御部111にレンダリング処理の指示を行う。このレンダリング管理部109は、外部装置101に内蔵(例えば、プログラムとしてインストール)されていてもよいし、他の外部装置上に構築されていてもよい。レンダリング制御部111は、PDLインタプリタ113にジョブデータの解釈を指示し、描画オブジェクトの一覧を取得する。レンダリング制御部111は、オブジェクトID生成部112に、描画オブジェクトの一覧に含まれる各オブジェクトを識別する情報であるオブジェクトIDの生成を指示し、描画オブジェクトのID一覧を取得する。オブジェクトIDの生成方法については後述する。   The rendering management unit 109 instructs the rendering control unit 111 of the rendering unit 104 to perform rendering processing in accordance with the printing order instructed by the dividing unit 108. The rendering management unit 109 may be built in (for example, installed as a program) in the external apparatus 101, or may be built on another external apparatus. The rendering control unit 111 instructs the PDL interpreter 113 to interpret job data, and acquires a list of drawing objects. The rendering control unit 111 instructs the object ID generation unit 112 to generate an object ID that is information for identifying each object included in the list of drawing objects, and acquires an ID list of drawing objects. The method of generating the object ID will be described later.

オブジェクトID生成部112は、レンダリング制御部111の指示に応じて、各オブジェクトを識別する情報として、オブジェクトIDを生成する。   The object ID generation unit 112 generates an object ID as information for identifying each object in accordance with an instruction from the rendering control unit 111.

レンダリング制御部111は、描画オブジェクトのID一覧を使用して、描画オブジェクトの中間データであるディスプレイリストを生成するか否かを、キャッシュ保存部114及びオブジェクト調停部115へ問い合わせて判定する。レンダリング制御部111は、オブジェクト調停部115からの問い合わせ結果を問い合わせ結果保持部116に保持させる。レンダリング制御部111は、描画オブジェクトを生成する場合にはジョブデータの解釈を行い、ディスプレイリストを生成する。   The rendering control unit 111 inquires the cache storage unit 114 and the object arbitration unit 115 to determine whether or not to generate a display list which is intermediate data of the drawing object, using the ID list of the drawing object. The rendering control unit 111 causes the inquiry result holding unit 116 to hold the inquiry result from the object arbitration unit 115. The rendering control unit 111 interprets job data when generating a drawing object, and generates a display list.

キャッシュ保存部114は、描画オブジェクトをディスプレイリストの形式でキャッシュする。描画オブジェクトの再利用が可能である場合は、キャッシュ保存部114またはオブジェクト調停部115と連動して描画オブジェクトの再利用を行う。レンダリング制御部111における判定方法及び描画オブジェクトの再利用方法については後述する。レンダリング制御部111では、必要なディスプレイリストが揃ったらレンダラ117にビットマップデータの生成を指示する。   The cache storage unit 114 caches drawing objects in the form of a display list. When the drawing object can be reused, the drawing object is reused in conjunction with the cache storage unit 114 or the object arbitration unit 115. The determination method in the rendering control unit 111 and the reuse method of the drawing object will be described later. The rendering control unit 111 instructs the renderer 117 to generate bitmap data when the necessary display list is complete.

オブジェクト調停部115は、オブジェクトID生成部112で生成されたオブジェクトID毎に処理状態を管理する。即ち、各オブジェクトの処理状態を管理する。ここで、処理状態とは、未処理、処理中、処理済み等である。このオブジェクト調停部115は、外部装置101に内蔵(例えば、プログラムとしてインストール)されていてもよいし、他の外部装置上に構築されていてもよい。問い合わせ結果保持部116は、オブジェクト調停部115からの問い合わせ結果を保持する。   The object arbitration unit 115 manages the processing state for each object ID generated by the object ID generation unit 112. That is, it manages the processing state of each object. Here, the processing state means unprocessed, during processing, processed, etc. The object arbitration unit 115 may be built in (for example, installed as a program) in the external device 101, or may be built on another external device. The inquiry result holding unit 116 holds the inquiry result from the object arbitration unit 115.

レンダラ117では、レンダリング制御部111からのビットマップデータの生成指示に基づき、処理対象のジョブデータに対して、画像補正やラスタライズ処理を含むレンダリング処理を実行する。これにより、レンダラ117は、ビットマップデータとビットマップデータに関するステータス情報を作成する。ステータス情報は、ジョブデータが正常にレンダリングされたか、エラーが発生したか等の状態を示す情報である。このステータス情報は、ユーザインタフェース部105上のジョブステータス表示に使用することができる。また、同時に、スプール部110は、レンダリング済データ保持部として、レンダリング処理結果であるビットマップデータと該ビットマップデータに関するステータス情報を保持する。   The renderer 117 executes rendering processing including image correction and rasterization processing on job data to be processed based on an instruction to generate bitmap data from the rendering control unit 111. As a result, the renderer 117 creates bitmap data and status information on the bitmap data. The status information is information indicating whether the job data has been rendered normally or whether an error has occurred. This status information can be used to display job status on the user interface unit 105. At the same time, the spool unit 110 holds, as a rendered data holding unit, bitmap data as a rendering processing result and status information on the bitmap data.

外部装置101は、CPU201、ディスク装置202、外部ディスク読取装置203、メモリ204、表示部205、操作部206、ネットワーク通信部207、及びUSB通信部208を含んでいる。外部装置101は、例えば、汎用PC等の情報処理装置に所定のソフトウェアをインストールすることによって、各種の処理を実現可能である。   The external device 101 includes a CPU 201, a disk device 202, an external disk reader 203, a memory 204, a display unit 205, an operation unit 206, a network communication unit 207, and a USB communication unit 208. The external apparatus 101 can realize various types of processing by installing predetermined software in an information processing apparatus such as a general-purpose PC, for example.

CPU201は、信号線209を介して相互に接続される、外部装置101の各種構成要素を制御する。ディスク装置202は、CPU201が読み出すアプリケーションプログラムやOS(Operation System)等のプログラムをインストールし、また、各種ファイル等のデータを格納する。外部ディスク読取装置203は、CD−ROM等の外部記憶媒体の内容を読み出すための装置である。メモリ204は、CPU201が必要に応じてデータの一時的格納、バッファリング等の処理を行うためのメモリである。CPU201は、ディスク装置202に格納されている各種プログラムをメモリ204上で実行することにより、各種の処理を実現することができる。   The CPU 201 controls various components of the external apparatus 101, which are mutually connected via a signal line 209. The disk device 202 installs programs such as an application program and an OS (Operation System) read by the CPU 201, and stores data such as various files. The external disk reader 203 is a device for reading the contents of an external storage medium such as a CD-ROM. The memory 204 is a memory for the CPU 201 to perform processing such as temporary storage and buffering of data as needed. The CPU 201 can realize various types of processing by executing various programs stored in the disk device 202 on the memory 204.

CPU201は、外部装置101から印刷装置102を利用するためのソフトウェアのセットアッププログラムを実行することにより、各種プログラムが外部装置101にインストールされる。ディスク装置202に格納される各種プログラムには、印刷装置102を利用するためのプリンタドライバ等の各種デバイスドライバが含まれる。また、更に印刷装置102の状態(イベントの有無等)を問い合わせるためのポーリングアプリケーション、印刷装置102の状態(ステータス)を管理する管理ソフトウェア(ボタンモニター)等の各種アプリケーションが含まれる。   The CPU 201 executes a software setup program for using the printing apparatus 102 from the external apparatus 101, whereby various programs are installed in the external apparatus 101. The various programs stored in the disk device 202 include various device drivers such as a printer driver for using the printing apparatus 102. Furthermore, a polling application for inquiring the status (presence or absence of an event, etc.) of the printing apparatus 102 and various applications such as management software (button monitor) for managing the status (status) of the printing apparatus 102 are included.

表示部205は、LCD等を含む表示装置で構成され、各種情報を表示する。操作部206は、キーボードやマウス、またタッチパネル等の入力装置で構成され、ユーザからの操作を受け付ける。ネットワーク通信部207は、外部装置101をネットワークに接続して各種通信を行う。ネットワーク通信部207は、有線ネットワークと無線ネットワークの内、少なくともいずれかに対応する。具体的な形態は、印刷装置102に内蔵の受信部107に対応するネットワークに応じて必要な機能及び形態をとる。USB通信部208は、各種周辺装置とUSBインタフェースを介して通信する。   The display unit 205 is configured by a display device including an LCD and the like, and displays various information. The operation unit 206 includes input devices such as a keyboard, a mouse, and a touch panel, and receives an operation from a user. A network communication unit 207 connects the external apparatus 101 to a network and performs various communications. The network communication unit 207 corresponds to at least one of a wired network and a wireless network. The specific form takes necessary functions and forms according to the network corresponding to the reception unit 107 built in the printing apparatus 102. The USB communication unit 208 communicates with various peripheral devices via a USB interface.

このように、印刷装置102と外部装置101をネットワークを介して接続した処理システムとして構成することができる。このネットワークには、例えば、Local Area Network(LAN)がある。また、以降の説明では、有線ネットワークケーブルであるネットワークから構成されるネットワークについて扱うが、これに限定されない。ネットワークの態様は、無線ネットワークであっても、有線ネットワークと無線ネットワークが混在するネットワークであっても同様である。   Thus, the printing apparatus 102 and the external apparatus 101 can be configured as a processing system connected via a network. This network is, for example, a Local Area Network (LAN). Further, although the following description deals with a network configured of a network that is a wired network cable, the present invention is not limited to this. The aspect of the network is the same whether it is a wireless network or a network in which a wired network and a wireless network are mixed.

次に、コントロール部103でのジョブ処理を、図2のフローチャートを用いて説明する。この処理は、印刷装置102のCPU118の指示により、コントロール部103がメモリ119に記憶されているプログラムを読み出し実行することにより実現される。   Next, job processing in the control unit 103 will be described with reference to the flowchart of FIG. This process is realized by the control unit 103 reading and executing a program stored in the memory 119 according to an instruction of the CPU 118 of the printing apparatus 102.

まず、S201で、受信部107は、外部装置101からジョブデータを受信し、分割部108は、そのジョブデータを解析し、1つ又は複数のレンダリング部104に指示する単位に分割し、その印刷順序を決定する。S202で、レンダリング管理部109は、レンダリング部104に対してレンダリング処理の実行を指示し、レンダリング処理を実行する。S203で、レンダリング管理部109は、レンダリング処理結果であるビットマップデータとステータス情報を受信し、スプール部110に保持する。S204で、レンダリング管理部109は、スプール部110からビットマップデータを印刷順序で取得して、プリンタエンジン部106へ送信して、印刷を指示する。   First, in step S201, the receiving unit 107 receives job data from the external apparatus 101, and the dividing unit 108 analyzes the job data, divides the data into units instructing one or more rendering units 104, and prints the unit. Determine the order. In step S202, the rendering management unit 109 instructs the rendering unit 104 to execute the rendering process, and executes the rendering process. In step S <b> 203, the rendering management unit 109 receives the bitmap data and the status information as the rendering processing result, and holds them in the spool unit 110. In step S204, the rendering management unit 109 acquires bitmap data from the spool unit 110 in the print order, transmits the bitmap data to the printer engine unit 106, and instructs printing.

レンダリング部104でのレンダリング処理を、図3のフローチャートを用いて説明する。この処理は、印刷装置102のCPU118の指示により、コントロール部103がメモリ119に記憶されているプログラムを読み出し実行することで、レンダリング部104を制御することにより実現される。   The rendering process in the rendering unit 104 will be described using the flowchart of FIG. This process is realized by controlling the rendering unit 104 by the control unit 103 reading and executing a program stored in the memory 119 according to an instruction of the CPU 118 of the printing apparatus 102.

まず、S301で、レンダリング制御部111は、レンダリング管理部109からレンダリング処理の指示を受信し、PDLインタプリタ113でジョブデータの描画オブジェクトの一覧を取得する。S302で、レンダリング制御部111は、オブジェクトID生成部112に、描画オブジェクトの一覧に含まれる各オブジェクトのオブジェクトIDの生成を指示し、描画オブジェクトのID一覧を取得する。   First, in step S301, the rendering control unit 111 receives an instruction for rendering processing from the rendering management unit 109, and the PDL interpreter 113 acquires a list of drawing objects of job data. In step S302, the rendering control unit 111 instructs the object ID generation unit 112 to generate an object ID of each object included in the list of drawing objects, and acquires the list of drawing object IDs.

尚、このオブジェクトIDは、同一のPDLデータから生成したジョブデータ内のオブジェクトは同一であると判定できるものであり、また、異なるオブジェクトには異なるものが与えられる。分割部108でPDLデータの内容を変更する場合には、分割部108がジョブデータを分割する際に、分割前のPDLデータを識別する情報と、分割前のPDLデータ内のオブジェクトを識別する情報を与える。   The object ID can be determined as the same object in job data generated from the same PDL data, and different objects are given different ones. When the dividing unit 108 changes the content of PDL data, when the dividing unit 108 divides job data, information for identifying PDL data before division and information for identifying an object in the PDL data before division give.

分割前のPDLデータを識別する情報は、PDLデータに対してMD5(Message Digest Algorithm 5)やSHA−1(Secure Hash Algorithm 1)のようなハッシュ関数から算出したハッシュ値でもよい。または、分割前のPDLデータを識別する情報は、ジョブデータを識別する情報であるジョブIDであってもよい。更には、分割前のPDLデータ内のオブジェクトを識別する情報は、PDLデータ内で使用されているオブジェクトIDであってもよい。尚、これらの情報は、あくまで一例に過ぎず、他の情報を用いてもよい。   The information identifying PDL data before division may be a hash value calculated from a hash function such as MD5 (Message Digest Algorithm 5) or SHA-1 (Secure Hash Algorithm 1) for PDL data. Alternatively, the information identifying PDL data before division may be a job ID which is information identifying job data. Furthermore, the information for identifying an object in PDL data before division may be an object ID used in PDL data. Note that these pieces of information are merely examples, and other pieces of information may be used.

S303で、レンダリング制御部111は、該当ジョブデータの描画オブジェクトのディスプレイリストがキャッシュ保存部114に格納済であるか否かを判定する。格納済である場合(S303でYES)、S304で、レンダリング制御部111は、キャッシュ保存部114から格納済のディスプレイリストを取り出す。その後、S305に遷移する。   In step S303, the rendering control unit 111 determines whether the display list of the drawing object of the corresponding job data has been stored in the cache storage unit 114. If it has been stored (YES in step S303), the rendering control unit 111 extracts the stored display list from the cache storage unit 114 in step S304. Thereafter, the process proceeds to step S305.

一方、格納済でない場合(S303でNO)、S305で、レンダリング制御部111は、該当ジョブデータのすべての描画オブジェクト分の処理が完了したか否かを判定する。すべての描画オブジェクト分の処理が完了していない場合(S305でNO)、S306で、レンダリング制御部111は、該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを行う。これにより、レンダリング制御部111は、該当ジョブデータの描画オブジェクトについての状態をオブジェクト調停部115から取得する。   On the other hand, if it has not been stored (NO in S303), the rendering control unit 111 determines in S305 whether or not processing for all drawing objects of the corresponding job data has been completed. If the processing for all drawing objects has not been completed (NO in S305), the rendering control unit 111 inquires the object arbitration unit 115 about the state of the drawing object of the corresponding job data in S306. Thereby, the rendering control unit 111 acquires the state of the drawing object of the corresponding job data from the object arbitration unit 115.

S307で、レンダリング制御部111は、問い合わせに対する応答に「未処理」の描画オブジェクトが含まれるか否かを判定する。「未処理」の描画オブジェクトが含まれる場合(S307でYES)、S308で、レンダリング制御部111は、「未処理」の描画オブジェクトを1つ取り出す。S309で、レンダリング制御部111は、オブジェクト調停部115に指示して、取り出した描画オブジェクトの状態を「処理中」に設定する。S310で、レンダリング制御部111は、PDLインタプリタ113にて、取り出した描画オブジェクトに対応するディスプレイリストを生成する。   In step S307, the rendering control unit 111 determines whether the “unprocessed” drawing object is included in the response to the inquiry. If the “unprocessed” drawing object is included (YES in S307), the rendering control unit 111 extracts one “unprocessed” drawing object in S308. In step S309, the rendering control unit 111 instructs the object arbitration unit 115 to set the state of the extracted drawing object to "processing in progress". In step S310, the rendering control unit 111 causes the PDL interpreter 113 to generate a display list corresponding to the extracted drawing object.

S311で、レンダリング制御部111は、生成したディスプレイリストをキャッシュ保存部114に格納する。尚、S311で、キャッシュ保存部の容量が不足してディスプレイリストの保存を実行できない場合、レンダリング制御部111は、他のディスプレイリストを削除する。そして、レンダリング制御部111は、削除したディスプレイリストに対応する描画オブジェクトの状態を「未処理」に設定することをオブジェクト調停部115に指示する。   In step S311, the rendering control unit 111 stores the generated display list in the cache storage unit 114. Note that if the storage of the display list can not be executed because the capacity of the cache storage unit is insufficient at S311, the rendering control unit 111 deletes the other display list. Then, the rendering control unit 111 instructs the object arbitration unit 115 to set the state of the drawing object corresponding to the deleted display list to “unprocessed”.

S312で、レンダリング制御部111は、オブジェクト調停部115に指示して、他のレンダリング部から描画オブジェクトを取り出すためのアクセス情報とともに、S309で取り出した描画オブジェクトの状態を「処理済」に設定する。その後、S305に遷移する。   In step S312, the rendering control unit 111 instructs the object arbitration unit 115 to set the state of the drawing object extracted in step S309 to "processed" along with access information for extracting the drawing object from another rendering unit. Thereafter, the process proceeds to step S305.

尚、他のレンダリング部から描画オブジェクトを取り出すためのアクセス情報は、URL(Uniform Resource Locator)であったり、IPアドレスやポート情報であってもよい。これらはあくまで一例に過ぎず、他の情報を用いてもよい。オブジェクト調停部115は、描画オブジェクトの状態と他のレンダリング部から描画オブジェクトを取り出すためのアクセス情報を紐づけて管理する。   The access information for extracting a drawing object from another rendering unit may be a URL (Uniform Resource Locator), an IP address or port information. These are merely examples, and other information may be used. The object arbitration unit 115 links and manages the state of a drawing object and access information for extracting the drawing object from another rendering unit.

S307で、応答に「未処理」の描画オブジェクトが含まれない場合(S307でNO)、S313で、レンダリング制御部111は、その応答に「処理済」の描画オブジェクトが含まれるか否かを判定する。「処理済」の描画オブジェクトが含まれる場合(S313でYES)、S314で、レンダリング制御部111は、S306の問い合わせの結果として「処理済」の描画オブジェクトと他のレンダリング部から描画オブジェクトを取り出するための情報を取得する。これにより、レンダリング制御部111は、他のレンダリング部から「処理済」の描画オブジェクトのディスプレイリストを取り出す。その後、S305に遷移する。   In S307, when the response does not include the “unprocessed” drawing object (NO in S307), in S313, the rendering control unit 111 determines whether or not the “processed” drawing object is included in the response. Do. If a “processed” drawing object is included (YES in step S313), in step S314, the rendering control unit 111 extracts the “processed” drawing object and the drawing objects from other rendering units as a result of the inquiry in step S306. Get information for. Thereby, the rendering control unit 111 extracts the display list of the “processed” drawing objects from the other rendering units. Thereafter, the process proceeds to step S305.

応答に「処理済」の描画オブジェクトが含まれない場合(S313でNO)、S315で、レンダリング制御部111は、その応答に「処理中」の描画オブジェクトが含まれるか否かを判定する。「処理中」の描画オブジェクトが含まれる場合(S315でYES)、S316で、レンダリング制御部111は、「処理中」の描画オブジェクトを1つ取り出す。S317で、レンダリング制御部111は、取り出した描画オブジェクトの状態が「処理済」になるのを待機する。その後、「処理済」になれば、S314に遷移する。   If the response does not include the “processed” drawing object (NO in step S313), in step S315, the rendering control unit 111 determines whether the response includes the “in process” drawing object. If a drawing object “in process” is included (YES in S315), the rendering control unit 111 extracts one drawing object “in process” in S316. In step S317, the rendering control unit 111 waits for the state of the extracted drawing object to be "processed". Thereafter, when “processed” is obtained, the process proceeds to step S314.

尚、この待機は、レンダリング制御部111が一定時間経過後に、オブジェクト調停部115に対して、描画オブジェクトの状態を問い合わせる方式であってもよい。また、オブジェクト調停部115に対し監視を依頼し、オブジェクトの状態が変更されたらオブジェクト調停部115がレンダリング制御部111にその旨を通知する方式であってもよい。これらの方式は、あくまで一例に過ぎず、他の待機方法を用いてもよい。   Note that this waiting may be a method in which the rendering control unit 111 inquires the object arbitration unit 115 about the state of the drawing object after a predetermined time has elapsed. Alternatively, the object arbitration unit 115 may be requested to monitor, and if the state of the object is changed, the object arbitration unit 115 may notify the rendering control unit 111 to that effect. These schemes are merely examples, and other waiting schemes may be used.

一方、応答に「処理中」の描画オブジェクトが含まれない場合(S315でNO)、S305に遷移する。   On the other hand, if the response does not include the “in process” drawing object (NO in S315), the process proceeds to S305.

すべての描画オブジェクト分の処理が完了した場合(S305でYES)、S318で、レンダリング制御部111は、レンダラ117にてレンダリング処理を実行して、ディスプレイリストからビットマップデータを作成する。   If the processing for all drawing objects is completed (YES in step S305), the rendering control unit 111 executes rendering processing in the renderer 117 in step S318, and creates bitmap data from the display list.

図4は、ジョブデータによる印刷ジョブに対応する印刷データの例である。図4(a)に示すように、印刷ジョブ400は、ジョブを固有に識別する情報であるJobIDが「1」に設定されている。印刷ジョブ400は、印刷データを構成する複数(ここでは、2つ)のレコード410及び420を含んでいる。レコード410は、複数(ここでは、3ページ)のページ(ページ411、ページ412、ページ413)を含んでいる。レコード420は、複数(ここでは、3ページ)のページ(ページ421、ページ422、ページ423)を含んでいる。ObjectA431、ObjectB432、ObjectC433、及びObjectD434は、ページに含まれる描画オブジェクトを示している。ページ412は、ObjectA431、ObjectB432、及びObjectC433を含んでいる。ページ422は、ObjectA431、ObjectB432、及びObjectD434を含んでいる。このように、複数のページ間で、共有/共用される描画オブジェクトが存在する。   FIG. 4 is an example of print data corresponding to a print job based on job data. As shown in FIG. 4A, in the print job 400, JobID, which is information uniquely identifying a job, is set to “1”. The print job 400 includes a plurality of (here, two) records 410 and 420 that constitute print data. The record 410 includes a plurality of (here, three pages) pages (page 411, page 412, page 413). The record 420 includes a plurality of (here, three pages) pages (page 421, page 422, page 423). Object A 431, Object B 432, Object C 433 and Object D 434 indicate drawing objects included in the page. The page 412 includes Object A 431, Object B 432, and Object C 433. The page 422 includes Object A 431, Object B 432, and Object D 434. Thus, there are drawing objects shared / shared among a plurality of pages.

図4(b)は、図4(a)の印刷データを表すデータ構造の例である。ジョブデータは、ジョブヘッダ部441とドキュメントデータ部442に分かれる。ジョブヘッダ部441では、印刷の指示内容やJobID等の情報が含まれる。ドキュメントデータ部442では、PDLデータが含まれており、例えば、PDFフォーマットでは、更に、ヘッダ443、ボディ444、クロスリファレンス・テーブル445、及びトレイラ446を含んでいる。   FIG. 4B is an example of a data structure representing the print data of FIG. 4A. The job data is divided into a job header portion 441 and a document data portion 442. The job header portion 441 includes information such as print instruction content and Job ID. The document data unit 442 includes PDL data. For example, in the PDF format, the document data unit 442 further includes a header 443, a body 444, a cross reference table 445, and a trailer 446.

ヘッダ443では、PDFドキュメントに準拠するPDF仕様のバージョン等の情報が含まれる。ボディ444では、描画オブジェクトやページ内の情報が含まれ、各々のオブジェクトは一意なObjectIDによって管理される。クロスリファレンス・テーブル445では、各オブジェクトのファイル内位置情報が含まれる。トレイラ446では、カタログと呼ばれるドキュメントの構造情報を格納するオブジェクトやクロスリファレンス・テーブル445のファイル内位置情報が含まれる。447では、Page102がObjectA、ObjectB及びObjectCを参照していることを示している。448では、Page202がObjectA、ObjectB及びObjectDを参照していることを示している。449では、ObjectA、ObjectB、ObjectC及びObjectDのファイル内の位置を表している。   The header 443 contains information such as the version of the PDF specification conforming to the PDF document. The body 444 contains information on drawing objects and pages, and each object is managed by a unique ObjectID. The cross reference table 445 contains in-file location information of each object. The trailer 446 includes an object called catalog, which stores document structure information, and in-file position information of the cross reference table 445. In 447, it is shown that Page 102 refers to ObjectA, ObjectB and ObjectC. 448 indicates that Page 202 refers to Object A, Object B, and Object D. In 449, the positions in the file of ObjectA, ObjectB, ObjectC and ObjectD are represented.

次に、図3のフローチャートと図4の印刷データでレンダリング処理を行う場合の一例を、図5を用いて説明する。図5は左から右に時間の経過を示している。   Next, an example in the case where the rendering process is performed with the flowchart of FIG. 3 and the print data of FIG. 4 will be described with reference to FIG. FIG. 5 shows the passage of time from left to right.

501は、ページ412を処理するレンダリング制御部111(第1のレンダリング制御部)内での処理内容であり、このレンダリング制御部111は、複数のレンダリング部104の内の第1のレンダリング部に属している。   Reference numeral 501 denotes processing content in the rendering control unit 111 (first rendering control unit) for processing the page 412, and the rendering control unit 111 belongs to the first rendering unit among the plurality of rendering units 104. ing.

列502は、501のレンダリング制御部111が該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを行うタイミングを水平方向の矢印で示している。列503は、ObjectA431に関する処理のタイミングを水平方向の矢印で示している。列504は、ObjectB432に関する処理のタイミングを水平方向の矢印で示している。列505は、ObjectC433に関する処理のタイミングを水平方向の矢印で示している。   A column 502 indicates the timing at which the rendering control unit 111 inquires the object arbitration unit 115 about the state of the drawing object of the corresponding job data by a horizontal arrow. A column 503 indicates the timing of processing regarding Object A 431 by a horizontal arrow. A column 504 indicates the timing of processing for Object B 432 by a horizontal arrow. A column 505 indicates the timing of processing regarding ObjectC 433 by a horizontal arrow.

506は、オブジェクト調停部115内への通信を垂直方向の矢印で示している。   Reference numeral 506 denotes communication into the object arbitration unit 115 by a vertical arrow.

511は、501とは別のレンダリング制御部111であって、ページ422を処理するレンダリング制御部111(第2のレンダリング制御部)内での処理内容である。この別のレンダリング制御部111は、複数のレンダリング部104の内の第2のレンダリング部に属している。   Reference numeral 511 denotes a rendering control unit 111 different from 501, and the processing content in the rendering control unit 111 (second rendering control unit) that processes the page 422. The other rendering control unit 111 belongs to the second rendering unit among the plurality of rendering units 104.

列512は、511のレンダリング制御部111が該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを行うタイミングを水平方向の矢印で示している。列513は、ObjectA431に関する処理のタイミングを水平方向の矢印で示している。列514は、ObjectB432に関する処理のタイミングを水平方向の矢印で示している。列515は、ObjectD434に関する処理のタイミングを水平方向の矢印で示している。   A column 512 indicates the timing at which the rendering control unit 111 inquires the object arbitration unit 115 about the state of the drawing object of the corresponding job data by a horizontal arrow. A column 513 indicates the timing of processing regarding Object A 431 by a horizontal arrow. A column 514 shows the timing of processing for Object B 432 by a horizontal arrow. A column 515 indicates the timing of processing regarding Object D 434 by a horizontal arrow.

まず、タイミング541にて、ページ412の処理とページ422の処理を開始する。タイミング541では、キャッシュ保存部114には何も格納されていない状態であり、かつオブジェクト調停部115に何も情報がない状態である。このとき、図4のフローチャートに沿って、第1のレンダリング制御部(501)によって、S306にて、問い合わせ521が行われる。タイミング542で、問い合わせ521の問い合わせ結果が問い合わせ結果保持部116にて保持される。図6(a)は、問い合わせ521の後の問い合わせ結果保持部116の内容を示している。601から603は、データフィールドである。601は、オブジェクトID生成部112にて生成したオブジェクトIDである。602は、描画オブジェクトの状態である。603は、他のレンダリング部から描画オブジェクトを取り出すためのURLである。問い合わせ521の問い合わせ結果は、すべての描画オブジェクト(ObjectA〜C)の状態は「未処理」となっている。そのため、ObjectAに対しS308〜S311によるディスプレイリストの生成522を開始し、特に、S309にて、オブジェクト調停部115のObjectAの状態を「未処理」から「処理中」へと変更する。   First, at timing 541, processing of the page 412 and processing of the page 422 are started. At timing 541, nothing is stored in the cache storage unit 114, and no information is stored in the object arbitration unit 115. At this time, in accordance with the flowchart of FIG. 4, the inquiry 521 is issued by the first rendering control unit (501) in S306. At timing 542, the inquiry result of the inquiry 521 is held by the inquiry result holding unit 116. FIG. 6A shows the contents of the inquiry result holding unit 116 after the inquiry 521. 601 to 603 are data fields. An object ID 601 is generated by the object ID generation unit 112. 602 is the state of the drawing object. Reference numeral 603 denotes a URL for extracting a drawing object from another rendering unit. In the query result of the query 521, the state of all drawing objects (ObjectA to C) is "unprocessed". Therefore, the display list generation 522 is started for Object A in S308 to S311. In particular, in S309, the state of Object A of the object arbitration unit 115 is changed from "unprocessed" to "processing".

次に、第2のレンダリング制御部(511)によって、S306にて、問い合わせ523が行われる。タイミング543で、問い合わせ523の問い合わせ結果が問い合わせ結果保持部116にて保持される。図6(b)は、問い合わせ523の後の問い合わせ結果保持部116の内容を示している。問い合わせ523の問い合わせ結果は、ObjectAの状態が「処理中」、ObjectBとObjectCの状態がそれぞれ「未処理」となっている。そのため、ObjectBに対しS308〜S311のディスプレイリストの生成524を開始し、特に、S309にて、オブジェクト調停部115のObjectBの状態を「未処理」から「処理中」へと変更する。   Next, in step S306, the second rendering control unit (511) performs an inquiry 523. At timing 543, the inquiry result of the inquiry 523 is held by the inquiry result holding unit 116. FIG. 6B shows the contents of the inquiry result holding unit 116 after the inquiry 523. The query result of the query 523 is that the state of Object A is “in process”, and the states of Object B and Object C are “unprocessed”. Therefore, the display list generation 524 of S308 to S311 is started for Object B, and in particular, the state of Object B of the object arbitration unit 115 is changed from "unprocessed" to "processing" in S309.

次に、第1のレンダリング制御部(501)は、ディスプレイリストの生成522が完了すると、S312にて、オブジェクト調停部115のObjectAの状態を「処理中」から「処理済」へと変更する。更に、第1のレンダリング制御部(501)は、他のレンダリング部から描画オブジェクトを取り出すためのURLを記録する。次に、問い合わせ525が行われ、タイミング544で、その問い合わせ結果が問い合わせ結果保持部116にて保持される。図6(c)は、問い合わせ525の後の問い合わせ結果保持部116の内容を示している。問い合わせ525の問い合わせ結果は、ObjectCの状態が「未処理」となっている。そのため、ObjectCに対しS308〜S311のディスプレイリストの生成526を開始し、特に、309にて、オブジェクト調停部115のObjectCの状態を「未処理」から「処理中」へと変更する。   Next, when the generation 522 of the display list is completed, the first rendering control unit (501) changes the state of Object A of the object arbitration unit 115 from "processing in progress" to "processed" in S312. Furthermore, the first rendering control unit (501) records a URL for extracting a drawing object from another rendering unit. Next, an inquiry 525 is made, and at timing 544, the inquiry result is held in the inquiry result holding unit 116. FIG. 6C shows the contents of the inquiry result holding unit 116 after the inquiry 525. In the query result of the query 525, the state of Object C is "unprocessed". Therefore, generation 526 of the display list of S308 to S311 is started for ObjectC, and in particular, at 309, the state of ObjectC of the object arbitration unit 115 is changed from "unprocessed" to "processing".

本実施形態では、問合せ対象とする描画オブジェクトのうち処理済みの描画オブジェクトは、問合せ結果保持部116から削除するものとした。尚、問い合わせ対象とする描画オブジェクトは、照会時にすべての描画オブジェクトから、第1のレンダリング制御部(501)で、ディスプレイリストを生成した描画オブジェクトを除外する方法であってもよい。また、照会時にすべての描画オブジェクトに対して問い合わせを行い、その応答時に、第1のレンダリング制御部(501)で、ディスプレイリストを生成した描画オブジェクトを除外する方法であってもよい。   In the present embodiment, among the drawing objects to be the query target, processed drawing objects are deleted from the query result holding unit 116. The drawing object to be inquired about may be a method of excluding drawing objects for which a display list has been generated by the first rendering control unit (501) from all drawing objects at the time of inquiry. In addition, all drawing objects may be inquired at the time of inquiry, and the first rendering control unit (501) may exclude the drawing objects for which the display list has been generated at the time of response.

次に、第2のレンダリング制御部(511)は、ディスプレイリストの生成524が完了すると、S312にて、オブジェクト調停部115のObjectBの状態を「処理中」から「処理済」へと変更する。更に、第2のレンダリング制御部(511)は、他のレンダリング部から描画オブジェクトを取り出すためのURLを記録する。次に、問い合わせ527が行われ、タイミング545で、その問い合わせ結果が問い合わせ結果保持部116にて保持される。図6(d)は、問い合わせ527の後の問い合わせ結果保持部116の内容を示している。問い合わせ527の問い合わせ結果は、ObjectDの状態が「未処理」となっている。そのため、ObjectDに対しS308〜S311のディスプレイリストの生成528を開始し、特に、S309にて、オブジェクト調停部115のObjectDの状態を「未処理」から「処理中」へと変更する。   Next, when the generation 524 of the display list is completed, the second rendering control unit (511) changes the state of Object B of the object arbitration unit 115 from "in process" to "processed" in S312. Furthermore, the second rendering control unit (511) records a URL for extracting a drawing object from another rendering unit. Next, an inquiry 527 is made, and at timing 545, the inquiry result is held in the inquiry result holding unit 116. FIG. 6D shows the contents of the inquiry result holding unit 116 after the inquiry 527. In the query result of the query 527, the state of Object D is "unprocessed". Therefore, the display list generation 528 of S308 to S311 is started for ObjectD, and in particular, the state of ObjectD of the object arbitration unit 115 is changed from "unprocessed" to "processing" in S309.

次に、第1のレンダリング制御部(501)は、ディスプレイリストの生成526が完了すると、S312にて、オブジェクト調停部115のObjectCの状態を「処理中」から「処理済」へと変更する。更に、第1のレンダリング制御部(501)は、オブジェクト調停部115に他のレンダリング部から描画オブジェクトを取り出すためのURLを記録する。次に、問い合わせ529が行われ、タイミング546で、その問い合わせ結果が問い合わせ結果保持部116にて保持される。図6(e)は、問い合わせ529の後の問い合わせ結果保持部116の内容を示している。問い合わせ529の問い合わせ結果は、ObjectBの状態が「処理済」となっている。そのため、ObjectBに対しS313〜S314のディスプレイリストの取出530を行う。次に、S305にて、すべての描画オブジェクトが処理されたと判定されるため、S318にて、ビットマップデータが生成される。   Next, when the generation 526 of the display list is completed, the first rendering control unit (501) changes the state of Object C of the object arbitration unit 115 from "processing" to "processed" in S312. Furthermore, the first rendering control unit (501) records in the object arbitration unit 115 a URL for extracting a drawing object from another rendering unit. Next, an inquiry 529 is made, and at timing 546, the inquiry result is held in the inquiry result holding unit 116. FIG. 6E shows the contents of the inquiry result holding unit 116 after the inquiry 529. In the query result of query 529, the state of Object B is "processed". Therefore, the display list extraction 530 of S <b> 313 to S <b> 314 is performed on Object B. Next, since it is determined in S305 that all drawing objects have been processed, bitmap data is generated in S318.

次に、第2のレンダリング制御部(511)は、ディスプレイリストの生成528が完了すると、S312にて、オブジェクト調停部115のObjectDの状態を「処理中」から「処理済」へと変更する。更に、第2のレンダリング制御部(511)は、オブジェクト調停部115に他のレンダリング部から描画オブジェクトを取り出すためのURLを記録する。次に、問い合わせ531が行われ、タイミング547で、その問い合わせ結果が問い合わせ結果保持部116にて保持される。図6(f)は、問い合わせ531の後の問い合わせ結果保持部116の内容を示している。問い合わせ531の問い合わせ結果は、ObjectAの状態が「処理済」の状態となっている。そのため、ObjectAに対しS313〜S314のディスプレイリストの取出532を行う。次に、S305にて、すべての描画オブジェクトが処理されたと判定されるため、S318にて、ビットマップデータが生成される。   Next, when the generation 528 of the display list is completed, the second rendering control unit (511) changes the state of Object D of the object arbitration unit 115 from "in process" to "processed" in S312. Further, the second rendering control unit (511) records in the object arbitration unit 115 a URL for extracting a drawing object from another rendering unit. Next, an inquiry 531 is made, and at timing 547, the inquiry result is held in the inquiry result holding unit 116. FIG. 6F shows the contents of the inquiry result holding unit 116 after the inquiry 531. The query result of the query 531 is that the state of Object A is “processed”. Therefore, the display list extraction 532 of S313 to S314 is performed on Object A. Next, since it is determined in S305 that all drawing objects have been processed, bitmap data is generated in S318.

図6における一連の処理が完了したタイミング548では、オブジェクト調停部115は、図6(g)に示す情報を保持している。   At timing 548 when a series of processing in FIG. 6 is completed, the object arbitration unit 115 holds the information shown in FIG.

以上説明したように、実施形態1によれば、印刷ジョブ内の各描画オブジェクトが他のレンダリング部で処理済であれば、その処理結果を利用し、描画オブジェクトが未処理であれば処理を実行して、その処理結果を他のレンダリング部から利用可能にする。これにより、共通なデータの処理を重複して実行することを防ぐことが可能となり処理効率を上げることができる。   As described above, according to the first embodiment, if each rendering object in the print job has been processed by another rendering unit, the processing result is used, and if the rendering object is not processed, the processing is executed. And make the processing result available to other rendering units. As a result, it is possible to prevent the common data processing from being redundantly executed, and processing efficiency can be improved.

また、印刷ジョブ内の描画オブジェクトを他のレンダリング部が処理中であれば、他の描画オブジェクトを優先して処理するよう制御する。これにより、他のレンダリング部の処理結果を待つ間にも他の描画オブジェクトの処理することが可能となり処理効率を上げることができる。   If another rendering unit is processing a rendering object in the print job, control is performed to process the other rendering objects with priority. In this way, it is possible to process another drawing object while waiting for the processing result of another rendering unit, and processing efficiency can be improved.

更に、描画オブジェクトの処理結果を単一のレンダリング部で保持するのではなく、複数のレンダリング部で分散して保持する。これにより、大量の処理結果を保持することが可能となり描画オブジェクトを処理せずに利用する確率を上げることができる。   Furthermore, the processing results of the drawing object are not held in a single rendering unit, but are held in a distributed manner in a plurality of rendering units. As a result, a large amount of processing results can be held, and the probability of using the drawing object without processing can be increased.

このように、複数のレンダリング部でオブジェクトやページの処理状況と処理結果を共有し、共通なデータの処理を重複して実行することを防止することで処理効率を上げることができる。更に、複数のレンダリング部で処理結果を分散して保持することで大量の処理結果を保持することが可能となる。   As described above, processing efficiency and processing results of objects and pages can be shared by a plurality of rendering units, and processing efficiency can be increased by preventing duplicate processing of common data from being executed. Furthermore, a large number of processing results can be held by distributing and holding the processing results in a plurality of rendering units.

<実施形態2>
実施形態2では、実施形態1と同様な構成で、描画オブジェクトの問い合わせの回数を規定する予約回数を保持する場合の処理の一例を説明する。尚、実施形態1と同様の構成については、説明を省略する。図7は、オブジェクト調停部115での描画オブジェクトの予約回数を更新する処理を示すフローチャートであり、図3のレンダリング部104でのレンダリング処理のS306に対して、オブジェクト調停部115が実行する処理である。
Second Embodiment
In the second embodiment, an example of processing in the case of holding the number of reservations defining the number of queries of drawing objects with the same configuration as the first embodiment will be described. Description of the same configuration as that of the first embodiment will be omitted. FIG. 7 is a flowchart showing a process of updating the number of reservations of a drawing object in the object arbitration unit 115, which is a process performed by the object arbitration unit 115 in S306 of the rendering process in the rendering unit 104 of FIG. is there.

まず、図3のS306にて、レンダリング制御部111は、該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを予約するためのフラグをオンにして送信する。   First, at S306 in FIG. 3, the rendering control unit 111 turns on a flag for reserving an inquiry to the object arbitration unit 115 as to the state of the drawing object of the corresponding job data, and transmits it.

これを受けて、S701で、オブジェクト調停部115は、レンダリング制御部111から描画オブジェクトの状態の問い合わせを受信する。S702で、オブジェクト調停部115は、受信した問い合わせの予約のためのフラグがオンであるか否かを判定する。予約のためのフラグがオンでない場合(S702でNO)、処理を終了する。一方、予約のためのフラグがオンである場合(S702でYES)、S703で、オブジェクト調停部115は、受信したすべての描画オブジェクトから描画オブジェクトを一つ取り出す。   In response to this, the object arbitration unit 115 receives an inquiry about the state of the drawing object from the rendering control unit 111 in S701. In S702, the object arbitration unit 115 determines whether the flag for reservation of the received inquiry is on. If the flag for reservation is not on (NO in S702), the process ends. On the other hand, if the flag for reservation is on (YES in S702), the object arbitration unit 115 extracts one drawing object from all the received drawing objects in S703.

S704で、オブジェクト調停部115は、取り出した描画オブジェクトの予約データフィールドに、問い合わせ元のレンダリング制御部111が含まれているか否かを判定する。予約データフィールドに問い合わせ元のレンダリング制御部111が含まれている場合(S704でYES)、S705に遷移する。   In step S704, the object arbitration unit 115 determines whether the rendering control unit 111 as the inquiry source is included in the reserved data field of the extracted drawing object. If the rendering control unit 111 of the inquiry source is included in the reservation data field (YES in step S704), the process advances to step S705.

一方、予約データフィールドに問い合わせ元のレンダリング制御部111が含まれていない場合(S704でNO)、S706で、オブジェクト調停部115は、問い合わせ元のレンダリング制御部111を予約データフィールドに追加する。その後、S705に遷移する。   On the other hand, when the rendering control unit 111 of the inquiry source is not included in the reservation data field (NO in S704), the object arbitration unit 115 adds the rendering control unit 111 of the inquiry source to the reservation data field in S706. Thereafter, the process transitions to step S705.

S705で、オブジェクト調停部115は、すべての問い合わせ中の描画オブジェクト分の処理が完了したか否かを判定する。完了していない場合(S705でNO)、S703に戻る。一方、完了している場合(S705でYES)、S707で、オブジェクト調停部115は、レンダリング制御部111にすべての問い合わせ中の描画オブジェクトの状態を返信する。   In S705, the object arbitration unit 115 determines whether the processing for the drawing objects in all the inquiries has been completed. If not completed (NO in S705), the process returns to S703. On the other hand, if it has been completed (YES in step S705), the object arbitration unit 115 returns the state of drawing objects in all the inquiries to the rendering control unit 111 in step S707.

また、図3のS314において、レンダリング制御部111が他のレンダリング部から「処理済」の描画オブジェクトのディスプレイリストを取り出す場合には、次の処理を実行する。つまり、レンダリング制御部111は、取り出す描画オブジェクトの予約データフィールドからレンダリング制御部の情報を削除するようにオブジェクト調停部115に指示する。   In addition, when the rendering control unit 111 extracts the display list of the “processed” drawing objects from the other rendering units in S <b> 314 of FIG. 3, the following process is performed. That is, the rendering control unit 111 instructs the object arbitration unit 115 to delete the information of the rendering control unit from the reserved data field of the drawing object to be taken out.

同様に、図3のS312においても、レンダリング制御部111がディスプレイリストを生成した際に、生成した描画オブジェクトの予約データフィールドからレンダリング制御部111を削除するようにオブジェクト調停部115に指示する。   Similarly, also in S312 of FIG. 3, when the rendering control unit 111 generates the display list, it instructs the object arbitration unit 115 to delete the rendering control unit 111 from the reserved data field of the generated drawing object.

図8はレンダリング制御部111での予約回数を元にディスプレイリストを削除する処理を示すフローチャートであり、図3のレンダリング部104でのレンダリング処理のS311に対応する処理である。   FIG. 8 is a flowchart showing a process of deleting the display list based on the number of reservations in the rendering control unit 111, and is a process corresponding to S311 of the rendering process in the rendering unit 104 of FIG.

S801で、レンダリング制御部111は、生成したディスプレイリストをキャッシュ保存部114に保存するために必要な容量が足りているか否かを判定する。容量が足りている場合(S801でYES)、S802で、レンダリング制御部111は、生成したディスプレイリストをキャッシュ保存部114に格納する。   In step S801, the rendering control unit 111 determines whether the capacity necessary for storing the generated display list in the cache storage unit 114 is sufficient. If the capacity is sufficient (YES in step S801), the rendering control unit 111 stores the generated display list in the cache storage unit 114 in step S802.

一方、容量が足りていない場合(S801でNO)、S803で、レンダリング制御部111は、オブジェクト調停部115に、保存しているすべてのディスプレイリストの描画オブジェクトの状態について予約のためのフラグをオフにして問い合わせる。S804で、レンダリング制御部111は、問い合わせに対する応答から、予約データフィールドにレンダリング制御部が含まれていない描画オブジェクトが存在するか否かを判定する。描画オブジェクトが存在する場合(S804でYES)、S805で、レンダリング制御部111は、キャッシュ保存部114から予約データフィールドにレンダリング制御部が含まれていない描画オブジェクトのディスプレイリストをすべて削除する。一方、描画オブジェクトが存在しない場合(S804でNO)、S806で、レンダリング制御部111は、描画オブジェクトのディスプレイリストを1つ削除する。   On the other hand, when the capacity is insufficient (NO in S801), in S803, the rendering control unit 111 causes the object arbitration unit 115 to turn off the flag for reservation about the state of drawing objects of all the stored display lists. Ask and ask. In step S804, the rendering control unit 111 determines from the response to the inquiry whether there is a drawing object in which the rendering control unit is not included in the reserved data field. If there is a drawing object (YES in S804), in S805, the rendering control unit 111 deletes all display lists of drawing objects for which a reserved control field is not included in the reserved data field from the cache storage unit 114. On the other hand, if there is no drawing object (NO in S804), the rendering control unit 111 deletes one display list of drawing objects in S806.

S807で、レンダリング制御部111は、オブジェクト調停部115に指示して、S805またはS806にて削除したディスプレイリストの描画オブジェクトの状態を「未処理」に設定する。その後、S801に遷移する。   In step S807, the rendering control unit 111 instructs the object arbitration unit 115 to set the state of the drawing object in the display list deleted in step S805 or S806 to "unprocessed". Thereafter, the process proceeds to step S801.

図9は図5における問い合わせ545時のオブジェクト調停部115が保持する情報(管理テーブル)を示している。901から904は、データフィールドである。901は、オブジェクトID生成部112にて生成したオブジェクトIDである。902は、描画オブジェクトの状態である。903は、他のレンダリング部から描画オブジェクトを取り出すためのURLである。904は、予約情報を格納する予約データフィールドであり、これは複数のレンダリング制御部を識別するための情報を格納する。レンダリング制御部を識別するための情報は、IPアドレスであってもよいし、また、MACアドレスであってもよい。尚、これらはあくまで一例に過ぎず、他の情報を用いてもよい。   FIG. 9 shows information (management table) held by the object arbitration unit 115 at the time of the inquiry 545 in FIG. 901 to 904 are data fields. An object ID 901 is generated by the object ID generation unit 112. 902 is the state of the drawing object. Reference numeral 903 denotes a URL for extracting a drawing object from another rendering unit. A reservation data field 904 stores reservation information, and stores information for identifying a plurality of rendering control units. The information for identifying the rendering control unit may be an IP address or a MAC address. Note that these are merely examples, and other information may be used.

図9では、予約データフィールドにレンダリング制御部が含まれているオブジェクトは、ObjectAとなっている。予約データフィールドにレンダリング制御部が含まれていないオブジェクトは、ObjectB、ObjectC、及びObjectDとなっている。そのため、レンダリング制御部であるrenderer1においてキャッシュ保存部114に保存するのに必要な容量が足りない場合にはObjectBのディスプレイリストを削除することになる。   In FIG. 9, the object including the rendering control unit in the reserved data field is ObjectA. Objects for which the reserved data field does not include a rendering control unit are Object B, Object C, and Object D. Therefore, when the capacity necessary for saving in the cache saving unit 114 is insufficient in the renderer 1 which is the rendering control unit, the display list of Object B is deleted.

以上説明したように、実施形態2によれば、レンダリング部にて処理結果を保持する容量が不足した場合に、他のレンダリング部が使用する予定がない処理結果を優先して削除する。これにより、使用する予定の処理結果を削除する確率を下げることが可能となり、描画オブジェクトを処理せずに利用する確率を上げることができる。   As described above, according to the second embodiment, when the rendering unit does not have enough capacity to hold the processing result, the processing result that is not scheduled to be used by another rendering unit is preferentially deleted. This makes it possible to lower the probability of deleting the processing result to be used, and to increase the probability of using the drawing object without processing it.

(他の実施形態)
本発明の基本的構成は上述したものに限定されるものではない。例えば、上述した実施形態では、印刷装置は1台とし、複数のレンダリング部を備えるものとしたが、複数台の印刷装置を備えるものであってもよい。例えば、各印刷装置が1以上のレンダリング部を備えるものであってもよい。この場合も、複数の印刷装置で、オブジェクトやページの処理状況と処理結果を共有することで、共通なデータの処理を重複して実行することを抑制することができる。複数台の印刷装置に、キャッシュデータを分散させることで、1台あたりのキャッシュデータのメモリ量を小さくすることができ、また、大きな容量のデータを保持することもできる。
(Other embodiments)
The basic configuration of the present invention is not limited to the one described above. For example, in the embodiment described above, one printing apparatus is provided and a plurality of rendering units are provided, but a plurality of printing apparatuses may be provided. For example, each printing device may include one or more rendering units. Also in this case, by sharing the processing status and the processing result of objects and pages with a plurality of printing apparatuses, it is possible to suppress duplicate processing of common data from being executed. By distributing cache data to a plurality of printing apparatuses, it is possible to reduce the memory capacity of one cache data, and to hold data of a large capacity.

尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。   The functions of the above embodiments can also be realized by the following configuration. That is, program code for performing the processing of this embodiment is supplied to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus executes the program code. In this case, the program code itself read out from the storage medium implements the functions of the above-described embodiment, and the storage medium storing the program code also implements the functions of the present embodiment.

また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。更に、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。   Further, the program code for realizing the functions of the present embodiment may be executed by one computer (CPU, MPU), or may be executed by cooperation of a plurality of computers. It is also good. Furthermore, the program code may be executed by a computer, or hardware such as a circuit for realizing the function of the program code may be provided. Alternatively, part of the program code may be implemented by hardware, and the remaining part may be executed by a computer.

101:外部装置、102:印刷装置、103:コントロール部、104:レンダリング部、105:ユーザインタフェース部、106:プリンタエンジン部、115:オブジェクト調停部   101: external device, 102: printing device, 103: control unit, 104: rendering unit, 105: user interface unit, 106: printer engine unit, 115: object arbitration unit

Claims (8)

第1単位データに基づいて中間データの生成処理とレンダリング処理とを行う第1レンダリング部と、前記第1単位データと異なる第2単位データに基づいて前記中間データの生成処理とレンダリング処理とを行う第2レンダリング部と、を含む複数のレンダリング部と、
前記第1単位データ及び前記第2単位データに含まれる複数の描画オブジェクトそれぞれの処理状態を管理する管理手段と、を備え、
前記第1単位データ及び前記第2単位データのいずれにも、第1描画オブジェクトと、前記第1描画オブジェクトと異なる第2描画オブジェクトと、が含まれている場合において、
前記第2レンダリング部は、前記第1描画オブジェクトに基づく前記中間データの生成処理と前記第2描画オブジェクトに基づく前記中間データの生成処理とがいずれも処理済の状態であることを示す応答を前記管理手段から取得した場合、前記第1レンダリング部において処理済の前記第1描画オブジェクトに基づく中間データと前記第2描画オブジェクトに基づく中間データとを前記第2レンダリング部においても利用するよう、前記第1描画オブジェクトに基づく中間データと前記第2描画オブジェクトに基づく中間データとを取得し、
前記第2レンダリング部は、前記第1描画オブジェクトに基づく前記中間データの生成処理が処理中の状態であることを示し、前記第2描画オブジェクトに基づく前記中間データの生成処理が未処理の状態であることを示す応答を前記管理手段から取得した場合には、前記第1レンダリング部で処理中の状態の前記第1描画オブジェクトに基づく前記中間データの生成処理が処理済となることを待たずに、未処理の状態の前記第2描画オブジェクトに基づく前記中間データの生成処理を開始する、
ことを特徴とする印刷装置。
A first rendering unit that performs the generation processing and rendering of the intermediate data based on the first unit data, and a generation process and rendering process of the intermediate data based on the second unit data different from the first data blocks A plurality of rendering units including a second rendering unit to perform ;
And managing means for managing processing states of a plurality of drawing objects included in the first unit data and the second unit data ,
In the case where each of the first unit data and the second unit data includes a first drawing object and a second drawing object different from the first drawing object,
The second rendering unit is responsive to indicate that both the generation process of the intermediate data based on the first drawing object and the generation process of the intermediate data based on the second drawing object are in a processed state. When acquired from the management means, the second rendering unit is configured to use the intermediate data based on the first drawing object processed in the first rendering unit and the intermediate data based on the second drawing object also in the second rendering unit. Obtaining intermediate data based on one drawing object and intermediate data based on the second drawing object,
The second rendering unit indicates that the process of generating the intermediate data based on the first drawing object is in processing, and the process of generating the intermediate data based on the second drawing object is not processed. When a response indicating that there is a response is acquired from the management means, the process of generating the intermediate data based on the first drawing object in the state being processed by the first rendering unit is not waited until it is processed. Starting generation processing of the intermediate data based on the second drawing object in an unprocessed state,
A printing apparatus characterized by
前記第2レンダリング部は、前記管理手段から取得した応答に前記中間データの生成処理が未処理の状態であることが含まれているかを判定し、当該判定の結果、含まれていると判定した場合、前記第1レンダリング部で処理中の状態の前記第1描画オブジェクトに基づく前記中間データの生成処理が処理済となることを待たずに、前記未処理の状態の前記第2描画オブジェクトに基づく前記中間データの生成処理を開始することを特徴とする請求項1に記載の印刷装置。The second rendering unit determines whether the response acquired from the managing unit includes that the generation process of the intermediate data is not processed, and as a result of the determination, determines that it is included. In this case, based on the second drawing object in the unprocessed state, without waiting for the generation processing of the intermediate data based on the first drawing object in the processing state by the first rendering unit to be processed. The printing apparatus according to claim 1, wherein generation processing of the intermediate data is started. 前記管理手段は、前記複数のレンダリング部それぞれが処理済の状態の描画オブジェクトに基づく中間データを取得するためのアクセス情報をさらに管理することを特徴とする請求項1又は2に記載の印刷装置。 It said management means, printing according to claim 1 or 2, characterized in the further management to Turkey the access information for the plurality of rendering unit respectively acquires the intermediate data based on the drawing object status processed apparatus. 前記管理手段は、前記第1描画オブジェクトと前記第2描画オブジェクトそれぞれの処理の経過に応じて、管理している該各描画オブジェクトの処理状態を更新することを特徴とする請求項に記載の印刷装置。 It said management means according to claim 3, wherein the first with the passage of the drawing object and the second drawing picture object in each process, and to update the process state of the respective drawing objects are managed Printing device. 前記複数のレンダリング部それぞれにおいて前記中間データの生成処理により生成された中間データが削除される合、前記管理手段は、対応する描画オブジェクトの処理状態を更新することを特徴とする請求項に記載の印刷装置。 In the plurality of rendering unit their respective, the intermediate data if the intermediate data generated is removed by the generation process of the management unit, and to update the process state of the corresponding drawing object The printing apparatus according to claim 4 . 前記管理手段は、前記複数のレンダリング部それぞれからの描画オブジェクトの問い合わせの予約さらに管理
前記複数のレンダリング部それぞれは、前記中間データの生成処理により生成された中間データを格納するキャッシュの容量が足りていない場合、前記管理手段により管理されている描画オブジェクトについての前記予約の有無に基づいて、前記キャッシュから前記中間データの生成処理により生成された中間データを削除する、
ことを特徴とする請求項1乃至のいずれか1項に記載の印刷装置。
It said management means further manages inquiries reservation of the drawing object from the plurality of rendering unit respectively,
When the capacity of the cache storing the intermediate data generated by the generation process of the intermediate data is insufficient, each of the plurality of rendering units is based on the presence or absence of the reservation for the drawing object managed by the management unit. Delete the intermediate data generated by the generation process of the intermediate data from the cache
The printing apparatus according to any one of claims 1 to 5 , characterized in that:
第1単位データに基づいて中間データの生成処理とレンダリング処理とを行う第1レンダリング部と、前記第1単位データと異なる第2単位データに基づいて前記中間データの生成処理とレンダリング処理とを行う第2レンダリング部と、を含む複数のレンダリング部を備える印刷装置において実行される処理方法であって、
前記第1単位データ及び前記第2単位データに含まれる複数の描画オブジェクトそれぞれの処理状態を管理する管理工程、を有し、
前記第1単位データ及び前記第2単位データのいずれにも、第1描画オブジェクトと、前記第1描画オブジェクトと異なる第2描画オブジェクトと、が含まれている場合において、
前記第2レンダリング部では、前記第1描画オブジェクトに基づく前記中間データの生成処理と前記第2描画オブジェクトに基づく前記中間データの生成処理とがいずれも処理済の状態であることを示す応答を前記管理工程で取得した場合、前記第1レンダリング部において処理済の前記第1描画オブジェクトに基づく中間データと前記第2描画オブジェクトに基づく中間データとを前記第2レンダリング部においても利用するよう、前記第1描画オブジェクトに基づく中間データと前記第2描画オブジェクトに基づく中間データとを取得し、
前記第2レンダリング部では、前記第1描画オブジェクトに基づく前記中間データの生成処理が処理中の状態であることを示し、前記第2描画オブジェクトに基づく前記中間データの生成処理が未処理の状態であることを示す応答を前記管理工程で取得した場合には、前記第1レンダリング部で処理中の状態の前記第1描画オブジェクトに基づく前記中間データの生成処理が処理済となることを待たずに、未処理の状態の前記第2描画オブジェクトに基づく前記中間データの生成処理を開始する、
ことを特徴とする処理方法。
A first rendering unit that performs the generation processing and rendering of the intermediate data based on the first unit data, and a generation process and rendering process of the intermediate data based on the second unit data different from the first data blocks And a second rendering unit to perform the processing method executed by the printing apparatus including the plurality of rendering units.
A management step of managing processing states of a plurality of drawing objects included in the first unit data and the second unit data ,
In the case where each of the first unit data and the second unit data includes a first drawing object and a second drawing object different from the first drawing object,
In the second rendering unit, a response indicating that both the generation processing of the intermediate data based on the first drawing object and the generation processing of the intermediate data based on the second drawing object are in a processed state When acquired in the management step, the second rendering unit is configured to use the intermediate data based on the first drawing object processed in the first rendering unit and the intermediate data based on the second drawing object also in the second rendering unit. Obtaining intermediate data based on one drawing object and intermediate data based on the second drawing object,
The second rendering unit indicates that the process of generating the intermediate data based on the first drawing object is in processing, and the process of generating the intermediate data based on the second drawing object is not processed. When a response indicating that there is a response is acquired in the management process, the process does not wait for the process of generating the intermediate data based on the first drawing object in the process being processed by the first rendering unit. Starting generation processing of the intermediate data based on the second drawing object in an unprocessed state,
A processing method characterized by
コンピュータを、請求項1乃至のいずれか1項に記載の印刷装置の各手段として機能させるためのプログラム。 The program for functioning a computer as each means of the printing apparatus of any one of Claims 1 thru | or 6 .
JP2014131801A 2014-06-26 2014-06-26 PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM Active JP6539022B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014131801A JP6539022B2 (en) 2014-06-26 2014-06-26 PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014131801A JP6539022B2 (en) 2014-06-26 2014-06-26 PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM

Publications (3)

Publication Number Publication Date
JP2016007848A JP2016007848A (en) 2016-01-18
JP2016007848A5 JP2016007848A5 (en) 2017-08-03
JP6539022B2 true JP6539022B2 (en) 2019-07-03

Family

ID=55225748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014131801A Active JP6539022B2 (en) 2014-06-26 2014-06-26 PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6539022B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10180815B1 (en) * 2017-09-06 2019-01-15 Xmpie (Israel) Ltd. Systems and methods for variable data printing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327050B1 (en) * 1999-04-23 2001-12-04 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
US7505172B2 (en) * 2003-10-31 2009-03-17 Hewlett-Packard Development Company, L.P. Method and systems for processing print jobs
JP5003510B2 (en) * 2008-01-25 2012-08-15 富士ゼロックス株式会社 Image processing apparatus, printing system, and program
JP5663941B2 (en) * 2010-04-30 2015-02-04 富士ゼロックス株式会社 Printed document conversion apparatus and program
JP5648449B2 (en) * 2010-11-30 2015-01-07 富士ゼロックス株式会社 Printed document processing system, cache device, and program
JP5691448B2 (en) * 2010-11-30 2015-04-01 富士ゼロックス株式会社 Print document processing system, cache device, data processing device, and program
JP5747489B2 (en) * 2010-11-30 2015-07-15 富士ゼロックス株式会社 Printed document processing system, cache device, and program
JP2012171239A (en) * 2011-02-22 2012-09-10 Canon Inc Image forming apparatus, method of controlling the same, and program
JP5594204B2 (en) * 2011-03-24 2014-09-24 富士ゼロックス株式会社 Image processing system
JP2013206029A (en) * 2012-03-28 2013-10-07 Canon Inc Image forming system

Also Published As

Publication number Publication date
JP2016007848A (en) 2016-01-18

Similar Documents

Publication Publication Date Title
US9135528B2 (en) Information processing apparatus, job processing method in information processing apparatus, and storage medium
JP2012008851A (en) Information processor, print control method, and program
JP2019040528A (en) Server device and control method thereof, program, and printing system
US11175871B2 (en) Image forming apparatus, non-transitory computer readable medium, and image forming system for receipt of print data including print settings
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
US8988707B2 (en) Method of managing plural print jobs by using a print job group list
KR101700481B1 (en) Information processing apparatus, information processing method, and information processing system
US10002314B2 (en) Information processing apparatus for efficiently issuing a print instruction to image forming apparatus and method for controlling the same
JP6539022B2 (en) PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM
JP2014168855A (en) Image formation apparatus, image formation method and program
JP2007058408A (en) Serial number output system
US10235611B2 (en) Image forming apparatus, image forming method, and non-transitory computer readable medium
JP2007087130A (en) Server device, print processing method of server device, storage medium and program
CN105991879A (en) Printing system image forming apparatus, and printing method
US9811769B2 (en) Printing apparatus, information processing apparatus and method for controlling the information processing apparatus, and storage medium for spooling data to perform print processing
JP2018124869A (en) Image processing device, image processing method, and program
US20240146850A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP7067112B2 (en) Information processing equipment, information processing methods, programs and image processing equipment
JP2008195041A (en) Image formation system, information processing method, information processing program
JP2016143346A (en) Printer driver, information processing apparatus, and document management system
JP2009128965A (en) Electronic document printing system, printer, printing assist information generating device, and printing assist information generating program
JP6172515B2 (en) Image forming apparatus, management apparatus, image forming system, and program
JP2006146490A (en) Print controller and print control program
JP2022072647A (en) Print controller, printer, printing system, and program
JP2008137214A (en) Image forming apparatus and image forming system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181120

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190607

R151 Written notification of patent or utility model registration

Ref document number: 6539022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151