JP6539022B2 - PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM - Google Patents
PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM Download PDFInfo
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
- Accessory Devices And Overall Control Thereof (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
しかしながら、特許文献1の方法では、ある一つのリユーサブルオブジェクトを、同時並行でRIP処理する複数のページで同時に参照していると効率が低下する。これは、リユーサブルオブジェクトを複数の印刷制御装置で重複して中間データを生成する処理を実行する可能性があるからである。
However, in the method of
また、特許文献2では、キャッシュメモリが不足する可能性が高くなる。その結果、中間データの削除と再生成、他の記憶装置への退避に時間がかかってしまい、全体のRIP処理時間がかかってしまう。
Further, in
本発明は上記の課題を鑑みてなされたものであり、データの描画処理を効率的に実行することができる処理技術を提供することを目的とする。 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.
以下、添付図面を参照して本発明の好適な実施形態を例示的に詳細に説明する。但し、この実施形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。 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
コントロール部103は、受信部107と、分割部108と、レンダリング管理部109と、CPU118と、メモリ119と、スプール部110とを含む。コントロール部103は、外部装置101からの受信データであるジョブデータを解析し、その解析結果やユーザインタフェース部105からの指示に基づき、レンダリング部104に送信するためのコマンドやデータを作成する。また、コントロール部103は、レンダリング部104からレンダリング処理後のデータを受信して、プリンタエンジン部106へ送信して印刷を行う。
The
CPU118は、印刷装置102の各種構成要素を制御する。メモリ119は、プログラムメモリ、ワークメモリ、及びフラッシュメモリを含んでいる。プログラムメモリは、CPU118が読み出すプログラムコード等のデータを格納するROM等のメモリである。また、ワークメモリは、印刷装置102の各種処理実行時に使用する画像データ等のデータを一時格納したり、バッファリングしたりするためのRAM等のメモリである。フラッシュメモリは、受信部107が受信したジョブデータの送信元情報を格納可能な不揮発性メモリである。CPU118は、プログラムメモリに格納されているプログラムをワークメモリ上で実行することにより、後述する各種の処理を実現することができる。
The
ユーザインタフェース部105は、操作指示の受付や装置状態の表示を行う。ユーザインタフェース部105は、例えば、表示部と操作部を有する。LCD等の表示装置で構成され、操作部は、ユーザからの各種操作を受け付けるためのスイッチやタッチパネルで構成される。
The
プリンタエンジン部106は、コントロール部103から送信されたレンダリング処理後のデータ(ここでは、ビットマップデータ)に対して色変換等の画像処理を施した後、ロールシート等の被記録媒体へ印刷を行う。このプリンタエンジン部106の印刷方式としては、インクジェット方式、電子写真方式、熱転写方式等の各種印刷方式を利用することができる。
The
コントロール部103において、受信部107は、外部装置101からジョブデータを受信し格納する。この受信部107は、例えば、USB等のシリアルインタフェースで実現されても良いし、有線ネットワーク/無線ネットワークのネットワークインタフェースで実現されても良い。また、ジョブデータは、例えば、ページ記述言語であるPDLデータによって構成されている。
In the
分割部108は、受信されたジョブデータを解析し、レンダリング部104に指示する所定の単位データ(例えば、ページデータ)に分割し、その印刷順序を決定する。より詳しくは、分割部108は、例えば、ページデータ単位の並列処理のために、複数のレンダリング部104に対して担当ページデータの振り分けを行い、それぞれのページデータを含む印刷データを対応するレンダリング部104へ転送する。この場合、分割部108は、その印刷データの先頭ページデータから順に、各ページデータの処理をそれぞれ別々のレンダリング部104に振り分ける。
The dividing
この振り分けは、予め定められた固定的な順序で各レンダリング部104にページデータを振り分ける方式であってもよい。また、振り分けられたページデータの処理が終了する毎にレンダリング部104が分割部108にその旨を通知し、その通知に応じて分割部108が未処理の先頭のページデータを通知元のレンダリング部104に振り分けるという制御でもよい。尚、これらはあくまで一例に過ぎず、他の振り分け方式を用いてもよい。
This distribution may be a method of distributing page data to the
この分割部108は、外部装置101に内蔵(例えば、プログラムとしてインストール)されていてもよいし、これら複数のレンダリング部104とは別のコンピュータ装置上に構築されていてもよい。
The dividing
本実施形態では、レンダリング部104は複数個存在し、各レンダリング部104によってレンダリング処理を並列処理することができる。各レンダリング部104は、レンダリング制御部111と、オブジェクトID生成部112と、PDLインタプリタ113と、キャッシュ保存部114と、問合せ結果保持部116と、レンダラ117と、を含む。
In the present embodiment, there are a plurality of
レンダリング管理部109は、分割部108により指示された印刷順序に従ってレンダリング部104のレンダリング制御部111にレンダリング処理の指示を行う。このレンダリング管理部109は、外部装置101に内蔵(例えば、プログラムとしてインストール)されていてもよいし、他の外部装置上に構築されていてもよい。レンダリング制御部111は、PDLインタプリタ113にジョブデータの解釈を指示し、描画オブジェクトの一覧を取得する。レンダリング制御部111は、オブジェクトID生成部112に、描画オブジェクトの一覧に含まれる各オブジェクトを識別する情報であるオブジェクトIDの生成を指示し、描画オブジェクトのID一覧を取得する。オブジェクトIDの生成方法については後述する。
The
オブジェクトID生成部112は、レンダリング制御部111の指示に応じて、各オブジェクトを識別する情報として、オブジェクトIDを生成する。
The object
レンダリング制御部111は、描画オブジェクトのID一覧を使用して、描画オブジェクトの中間データであるディスプレイリストを生成するか否かを、キャッシュ保存部114及びオブジェクト調停部115へ問い合わせて判定する。レンダリング制御部111は、オブジェクト調停部115からの問い合わせ結果を問い合わせ結果保持部116に保持させる。レンダリング制御部111は、描画オブジェクトを生成する場合にはジョブデータの解釈を行い、ディスプレイリストを生成する。
The
キャッシュ保存部114は、描画オブジェクトをディスプレイリストの形式でキャッシュする。描画オブジェクトの再利用が可能である場合は、キャッシュ保存部114またはオブジェクト調停部115と連動して描画オブジェクトの再利用を行う。レンダリング制御部111における判定方法及び描画オブジェクトの再利用方法については後述する。レンダリング制御部111では、必要なディスプレイリストが揃ったらレンダラ117にビットマップデータの生成を指示する。
The
オブジェクト調停部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
レンダラ117では、レンダリング制御部111からのビットマップデータの生成指示に基づき、処理対象のジョブデータに対して、画像補正やラスタライズ処理を含むレンダリング処理を実行する。これにより、レンダラ117は、ビットマップデータとビットマップデータに関するステータス情報を作成する。ステータス情報は、ジョブデータが正常にレンダリングされたか、エラーが発生したか等の状態を示す情報である。このステータス情報は、ユーザインタフェース部105上のジョブステータス表示に使用することができる。また、同時に、スプール部110は、レンダリング済データ保持部として、レンダリング処理結果であるビットマップデータと該ビットマップデータに関するステータス情報を保持する。
The
外部装置101は、CPU201、ディスク装置202、外部ディスク読取装置203、メモリ204、表示部205、操作部206、ネットワーク通信部207、及びUSB通信部208を含んでいる。外部装置101は、例えば、汎用PC等の情報処理装置に所定のソフトウェアをインストールすることによって、各種の処理を実現可能である。
The
CPU201は、信号線209を介して相互に接続される、外部装置101の各種構成要素を制御する。ディスク装置202は、CPU201が読み出すアプリケーションプログラムやOS(Operation System)等のプログラムをインストールし、また、各種ファイル等のデータを格納する。外部ディスク読取装置203は、CD−ROM等の外部記憶媒体の内容を読み出すための装置である。メモリ204は、CPU201が必要に応じてデータの一時的格納、バッファリング等の処理を行うためのメモリである。CPU201は、ディスク装置202に格納されている各種プログラムをメモリ204上で実行することにより、各種の処理を実現することができる。
The
CPU201は、外部装置101から印刷装置102を利用するためのソフトウェアのセットアッププログラムを実行することにより、各種プログラムが外部装置101にインストールされる。ディスク装置202に格納される各種プログラムには、印刷装置102を利用するためのプリンタドライバ等の各種デバイスドライバが含まれる。また、更に印刷装置102の状態(イベントの有無等)を問い合わせるためのポーリングアプリケーション、印刷装置102の状態(ステータス)を管理する管理ソフトウェア(ボタンモニター)等の各種アプリケーションが含まれる。
The
表示部205は、LCD等を含む表示装置で構成され、各種情報を表示する。操作部206は、キーボードやマウス、またタッチパネル等の入力装置で構成され、ユーザからの操作を受け付ける。ネットワーク通信部207は、外部装置101をネットワークに接続して各種通信を行う。ネットワーク通信部207は、有線ネットワークと無線ネットワークの内、少なくともいずれかに対応する。具体的な形態は、印刷装置102に内蔵の受信部107に対応するネットワークに応じて必要な機能及び形態をとる。USB通信部208は、各種周辺装置とUSBインタフェースを介して通信する。
The
このように、印刷装置102と外部装置101をネットワークを介して接続した処理システムとして構成することができる。このネットワークには、例えば、Local Area Network(LAN)がある。また、以降の説明では、有線ネットワークケーブルであるネットワークから構成されるネットワークについて扱うが、これに限定されない。ネットワークの態様は、無線ネットワークであっても、有線ネットワークと無線ネットワークが混在するネットワークであっても同様である。
Thus, the
次に、コントロール部103でのジョブ処理を、図2のフローチャートを用いて説明する。この処理は、印刷装置102のCPU118の指示により、コントロール部103がメモリ119に記憶されているプログラムを読み出し実行することにより実現される。
Next, job processing in the
まず、S201で、受信部107は、外部装置101からジョブデータを受信し、分割部108は、そのジョブデータを解析し、1つ又は複数のレンダリング部104に指示する単位に分割し、その印刷順序を決定する。S202で、レンダリング管理部109は、レンダリング部104に対してレンダリング処理の実行を指示し、レンダリング処理を実行する。S203で、レンダリング管理部109は、レンダリング処理結果であるビットマップデータとステータス情報を受信し、スプール部110に保持する。S204で、レンダリング管理部109は、スプール部110からビットマップデータを印刷順序で取得して、プリンタエンジン部106へ送信して、印刷を指示する。
First, in step S201, the receiving
レンダリング部104でのレンダリング処理を、図3のフローチャートを用いて説明する。この処理は、印刷装置102のCPU118の指示により、コントロール部103がメモリ119に記憶されているプログラムを読み出し実行することで、レンダリング部104を制御することにより実現される。
The rendering process in the
まず、S301で、レンダリング制御部111は、レンダリング管理部109からレンダリング処理の指示を受信し、PDLインタプリタ113でジョブデータの描画オブジェクトの一覧を取得する。S302で、レンダリング制御部111は、オブジェクトID生成部112に、描画オブジェクトの一覧に含まれる各オブジェクトのオブジェクトIDの生成を指示し、描画オブジェクトのID一覧を取得する。
First, in step S301, the
尚、このオブジェクト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
分割前の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
一方、格納済でない場合(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
S307で、レンダリング制御部111は、問い合わせに対する応答に「未処理」の描画オブジェクトが含まれるか否かを判定する。「未処理」の描画オブジェクトが含まれる場合(S307でYES)、S308で、レンダリング制御部111は、「未処理」の描画オブジェクトを1つ取り出す。S309で、レンダリング制御部111は、オブジェクト調停部115に指示して、取り出した描画オブジェクトの状態を「処理中」に設定する。S310で、レンダリング制御部111は、PDLインタプリタ113にて、取り出した描画オブジェクトに対応するディスプレイリストを生成する。
In step S307, the
S311で、レンダリング制御部111は、生成したディスプレイリストをキャッシュ保存部114に格納する。尚、S311で、キャッシュ保存部の容量が不足してディスプレイリストの保存を実行できない場合、レンダリング制御部111は、他のディスプレイリストを削除する。そして、レンダリング制御部111は、削除したディスプレイリストに対応する描画オブジェクトの状態を「未処理」に設定することをオブジェクト調停部115に指示する。
In step S311, the
S312で、レンダリング制御部111は、オブジェクト調停部115に指示して、他のレンダリング部から描画オブジェクトを取り出すためのアクセス情報とともに、S309で取り出した描画オブジェクトの状態を「処理済」に設定する。その後、S305に遷移する。
In step S312, the
尚、他のレンダリング部から描画オブジェクトを取り出すためのアクセス情報は、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
応答に「処理済」の描画オブジェクトが含まれない場合(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
尚、この待機は、レンダリング制御部111が一定時間経過後に、オブジェクト調停部115に対して、描画オブジェクトの状態を問い合わせる方式であってもよい。また、オブジェクト調停部115に対し監視を依頼し、オブジェクトの状態が変更されたらオブジェクト調停部115がレンダリング制御部111にその旨を通知する方式であってもよい。これらの方式は、あくまで一例に過ぎず、他の待機方法を用いてもよい。
Note that this waiting may be a method in which the
一方、応答に「処理中」の描画オブジェクトが含まれない場合(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
図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
図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
ヘッダ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
次に、図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のレンダリング部に属している。
列502は、501のレンダリング制御部111が該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを行うタイミングを水平方向の矢印で示している。列503は、ObjectA431に関する処理のタイミングを水平方向の矢印で示している。列504は、ObjectB432に関する処理のタイミングを水平方向の矢印で示している。列505は、ObjectC433に関する処理のタイミングを水平方向の矢印で示している。
A
506は、オブジェクト調停部115内への通信を垂直方向の矢印で示している。
511は、501とは別のレンダリング制御部111であって、ページ422を処理するレンダリング制御部111(第2のレンダリング制御部)内での処理内容である。この別のレンダリング制御部111は、複数のレンダリング部104の内の第2のレンダリング部に属している。
列512は、511のレンダリング制御部111が該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを行うタイミングを水平方向の矢印で示している。列513は、ObjectA431に関する処理のタイミングを水平方向の矢印で示している。列514は、ObjectB432に関する処理のタイミングを水平方向の矢印で示している。列515は、ObjectD434に関する処理のタイミングを水平方向の矢印で示している。
A
まず、タイミング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
次に、第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
次に、第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
本実施形態では、問合せ対象とする描画オブジェクトのうち処理済みの描画オブジェクトは、問合せ結果保持部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
次に、第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
次に、第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
次に、第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
図6における一連の処理が完了したタイミング548では、オブジェクト調停部115は、図6(g)に示す情報を保持している。
At
以上説明したように、実施形態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
まず、図3のS306にて、レンダリング制御部111は、該当ジョブデータの描画オブジェクトの状態についてオブジェクト調停部115に問い合わせを予約するためのフラグをオンにして送信する。
First, at S306 in FIG. 3, the
これを受けて、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
S704で、オブジェクト調停部115は、取り出した描画オブジェクトの予約データフィールドに、問い合わせ元のレンダリング制御部111が含まれているか否かを判定する。予約データフィールドに問い合わせ元のレンダリング制御部111が含まれている場合(S704でYES)、S705に遷移する。
In step S704, the object arbitration unit 115 determines whether the
一方、予約データフィールドに問い合わせ元のレンダリング制御部111が含まれていない場合(S704でNO)、S706で、オブジェクト調停部115は、問い合わせ元のレンダリング制御部111を予約データフィールドに追加する。その後、S705に遷移する。
On the other hand, when the
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
また、図3のS314において、レンダリング制御部111が他のレンダリング部から「処理済」の描画オブジェクトのディスプレイリストを取り出す場合には、次の処理を実行する。つまり、レンダリング制御部111は、取り出す描画オブジェクトの予約データフィールドからレンダリング制御部の情報を削除するようにオブジェクト調停部115に指示する。
In addition, when the
同様に、図3のS312においても、レンダリング制御部111がディスプレイリストを生成した際に、生成した描画オブジェクトの予約データフィールドからレンダリング制御部111を削除するようにオブジェクト調停部115に指示する。
Similarly, also in S312 of FIG. 3, when the
図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
S801で、レンダリング制御部111は、生成したディスプレイリストをキャッシュ保存部114に保存するために必要な容量が足りているか否かを判定する。容量が足りている場合(S801でYES)、S802で、レンダリング制御部111は、生成したディスプレイリストをキャッシュ保存部114に格納する。
In step S801, the
一方、容量が足りていない場合(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
S807で、レンダリング制御部111は、オブジェクト調停部115に指示して、S805またはS806にて削除したディスプレイリストの描画オブジェクトの状態を「未処理」に設定する。その後、S801に遷移する。
In step S807, the
図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
図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
以上説明したように、実施形態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単位データ及び前記第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
前記複数のレンダリング部それぞれは、前記中間データの生成処理により生成された中間データを格納するキャッシュの容量が足りていない場合、前記管理手段により管理されている描画オブジェクトについての前記予約の有無に基づいて、前記キャッシュから前記中間データの生成処理により生成された中間データを削除する、
ことを特徴とする請求項1乃至5のいずれか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単位データ及び前記第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
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)
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)
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 |
JP5747489B2 (en) * | 2010-11-30 | 2015-07-15 | 富士ゼロックス株式会社 | 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 |
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 |
-
2014
- 2014-06-26 JP JP2014131801A patent/JP6539022B2/en active Active
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 | |
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 | |
US11175871B2 (en) | Image forming apparatus, non-transitory computer readable medium, and image forming system for receipt of print data including print settings | |
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 | |
JP2012245731A (en) | Image forming apparatus, method for data management, 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 |
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 |