JP5767501B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP5767501B2 JP5767501B2 JP2011086754A JP2011086754A JP5767501B2 JP 5767501 B2 JP5767501 B2 JP 5767501B2 JP 2011086754 A JP2011086754 A JP 2011086754A JP 2011086754 A JP2011086754 A JP 2011086754A JP 5767501 B2 JP5767501 B2 JP 5767501B2
- Authority
- JP
- Japan
- Prior art keywords
- intermediate data
- divided
- page
- attribute value
- interpretation
- 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
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Description
ページ記述言語で記述された1ページ分のPDLデータを複数の分割部分に分割する分割手段と、
分割された前記分割部分の各々を対象として、当該分割部分に含まれたページ記述言語の命令を解釈してオブジェクト描画命令に変換する複数の解釈処理部を有する並列解釈手段と、
前記各分割部分について、前記オブジェクト描画命令から中間データを生成する複数の中間データ生成部を有する中間データ生成手段と、
前記各分割部分についての中間データを結合し、1ページ分の中間データを作成する中間データ結合手段と、
結合されたた前記中間データを分割し、前記分割部分ごとに並列してラスタ画像を生成する並列ラスタ画像生成手段とを備え、
前記解釈処理部の各々は、当該解釈処理部が対象とする分割部分より前の分割部分で定義される描画状態属性値を参照する場合、該描画状態属性値に参照先を示す仮の描画状態属性値を割り当てて前記オブジェクト描画命令に変換し、
前記中間データ結合手段は、前記分割部分の各々についての中間データを結合し、前記分割部分について割り当てられた前記仮の描画状態属性値を参照先の描画状態属性値で置換し、1ページ分の中間データを作成する。
分割された前記分割部分の各々を対象として、当該分割部分に含まれたページ記述言語の命令を解釈して、当該命令に対応するオペランドとともにオブジェクト描画の関数を呼び出す複数の解釈処理部を有する並列解釈手段と、
前記各分割部分について、呼び出された前記オブジェクト描画の関数およびオペランドに応じて中間データを生成する複数の中間データ生成部を有する中間データ生成手段と、
前記各分割部分についての中間データを結合し、1ページ分の中間データを作成する中間データ結合手段と、
結合されたた前記中間データを分割し、前記分割部分ごとに並列してラスタ画像を生成する並列ラスタ画像生成手段とを備え、
前記解釈処理部の各々は、当該解釈処理部が対象とする分割部分より前の分割部分で定義される描画状態属性値を参照する場合、該描画状態属性値に参照先を示す仮の描画状態属性値を割り当てて前記オブジェクト描画命令に変換し、
前記中間データ結合手段は、前記分割部分の各々についての中間データを結合し、前記分割部分について割り当てられた前記仮の描画状態属性値を参照先の描画状態属性値で置換し、1ページ分の中間データを作成する。
以下、本発明を実施するための最良の形態について、図面を参照して説明する。図1は、本発明の一実施の形態による画像処理装置の構成を示すブロック図である。図1において、本実施例の描画処理装置はPDLインタプリタ11とレンダラ12から構成される。またPDLインタプリタ11は、解釈制御部13、複数の解釈処理部14を含んでおり、レンダラ12は、複数の中間データ生成部15、中間データ結合部16、ディスプレイリストバッファ(DLバッファ)17、ラスタ画像生成制御部18、複数のラスタ画像生成部19を含んでいる。なお画像処理装置は汎用のコンピュータで実現でき、特に図示したようなプログラムをコンピュータで実行することで上記各部を実現できる。この場合、並列に動作する各処理部を複数のプロセッサにより並列実行することが望ましい。プログラムは、HDD等のファイルストレージに保存されており、そのプログラムをメモリ等にロードしてプロセッサにより実行される。これによってPDLインタプリタやレンダラを実現することもできる。なお、並列に動作する各処理部は、2つあるいはそれ以上の複数のプロセッサコアで実現される。さらに各プロセッサコアにより複数のスレッドが並列実行し、各コアが解釈処理部をそれら複数スレッドにより実現することもできる。
まずPDLインタプリタ11のステップである、解釈制御部13と複数の解釈処理部14の処理の詳細についてそれぞれ図を用いて説明する。
図2は、解釈制御部13の処理フローを表したフロー図である。解釈制御部13はステップS201において、入力PDLデータの読み込みを行う。S201で読み込まれたPDLデータに対して、S202において、ページ構成の解釈を行い、PDLに含まれるページ構成を配列等で表現されるリストを生成する。S203以下では、生成したリストに基づいて各ページごとの解釈処理を行う。なお、PDLで記述された命令を画像形成命令と呼び、オブジェクト描画命令と区別する。
図4に複数起動され並列に実行される解釈処理部14のフロー図を示した。起動された解釈処理部14は、S401でグループ開始を表す内部表現であるオブジェクト描画命令のうちグループ開始命令の呼び出しを行う。すなわち、グループ開始命令をこれから出力するオブジェクト描画命令群の先頭の命令として出力し、レンダラ12に入力する。オブジェクト描画命令とは後述する図7に示したようなコードであり、解釈処理部14が生成する内部的なコードである。オブジェクト描画命令は中間データ生成部15が処理可能なものであればよい。このグループ開始命令には、当該解釈処理部により処理される1ページのPDLデータから分割された分割部分のインデックス値が付与される。これにより、レンダラ12は処理対象の分割部分のページ中における位置を判定できる。なお、オブジェクト描画命令を例えばコードとして出力する代わりに、中間データ生成部15が提供する関数を当該関数に与えるオペランドとともに呼び出してもよい。
続いてレンダラ12のステップについて説明する。図8に並列処理される複数の中間データ生成部15のうちのひとつによる処理フロー図を示す。なお図8は解釈処理部11からオブジェクト描画命令がグループ開始命令で始まりグループ終了命令で終わることを前提としているが、まずオブジェクト描画命令の種類を判定し、その種類に応じた処理に分岐するように構成してもよい。その場合には、オブジェクト描画命令が入力される都度、中間データ生成部15は命令の種類に応じた処理を実行する。
中間データ結合部16の処理フローを図10に示す。中間データ結合処理は、1ページを分割した各分割部分について生成された中間データをリンクして、確定していない描画状態属性値を確定する処理である。なお或るインデックス値に関連付けて生成された中間データを、そのインデックス値の中間データと呼ぶ。
以降でレンダラ12におけるラスタ画像生成の処理について、ラスタ画像制御部18と複数並列処理されるラスタ画像生成部19の詳細を説明する。ラスタ画像制御部18は、中間データ結合部16でページ単位の中間データ生成が終了すると、ラスタ画像の生成を開始する。まずラスタ画像制御部は、生成されるページ全体に対する分割数を決める。一般的にラスタ生成の分割については、複数スキャンライン毎もしくはページの左上を原点として、x軸y軸両方向に対して分割するといったタイル単位の領域に分けての並列ラスタ画像生成が行われる。複数スキャンライン単位で並列ラスタ生成する場合は、生成するラスタ画像の解像度とページのサイズから、ページ全体に要するスキャンライン数を得る。ページ全体でスキャンラインが7000で、各ラスタ画像生成部19が処理するスキャンライン数を50とすると分割数は140となる。ラスタ画像制御部18は、所望のラスタ画像を生成するために、ラスタ画像生成部19を起動する。ラスタ画像生成部19は、DLバッファ17に格納されている中間データの読み込みを行う。このときラスタ画像生成部19が生成対象とするスキャンラインに必要なスキャンライン分の中間データを読み込む。ラスタ画像の生成は、各スキャンライン毎にエッジ、塗り色、重なりの解決により実行される。図13に各スキャンライン生成の例を示した。スキャンライン1301が着目するスキャンラインである。スキャンライン1301において、x軸方向にエッジ有無を調べる。スキャンライン1301上には、図形1302、画像オブジェクト1303のエッジがある。
実施例で説明したPDLインタプリタ11の処理は、ページ毎の処理をシーケンシャルに処理していた。PDL全体の処理は、ページ単位での高速化がされていたが、PDL全体のラスタ生成の高速化は考慮されていかった。そこで解釈制御部13がページ分割も同時に行い、それぞれのページで並列処理することで、さらに並列性を増し、高速にラスタ画像生成を行うことができる。
実施例で説明した解釈制御部13のページ毎の画像形成命令の分割は、画像形成命令のサイズに対して、分割数で均等に分割していた。そのため中間データ結合部16において、所望の中間データ生成部15の処理終了待ちが多発することが考えられる。そこで、解釈制御部13において分割数で均等に分割するのではなく、分割するサイズはページの画像形成命令の開始に近い部分をより小さいサイズに分割することで、中間データ結合部16での待ちの発生を抑えることが可能となる。
実施例で説明した中間データ結合部16の結合処理は、中間データに対してインデックス値の小さいものから順次結合処理を行っていた。そのため、分割した画像形成命令が複雑である等の理由で特定の中間データ生成が遅い場合、その処理の終了待ちが発生する。そこで中間データの結合処理を、中間データ生成部15の処理が終わったもので、インデックス値が隣り合う中間データの結合を行っていくことで、待ち時間は短くなり、より高速な中間データ結合生成が可能となる。
最初の実施形態ではページの分割は適当に行った後、各分割部分をパースして命令の区切り目を確定していた。これに対して、注目した1ページ分のPDLを分割する処理は、分割位置の確定も含めて解釈制御部13が一元的に行うように構成することもできる。分割位置決定後の処理は上記実施形態と同様である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (8)
- ページ記述言語で記述された1ページ分のPDLデータを複数の分割部分に分割する分割手段と、
分割された前記分割部分の各々を対象として、当該分割部分に含まれたページ記述言語の命令を解釈してオブジェクト描画命令に変換する複数の解釈処理部を有する並列解釈手段と、
前記分割部分の各々について、前記オブジェクト描画命令から中間データを生成する複数の中間データ生成部を有する中間データ生成手段と、
前記分割部分の各々についての中間データを結合し、1ページ分の中間データを作成する中間データ結合手段と、
結合された前記中間データを分割し、分割した部分ごとに並列してラスタ画像を生成する並列ラスタ画像生成手段と
を備え、
前記解釈処理部の各々は、当該解釈処理部が対象とする分割部分より前の分割部分で定義される描画状態属性値を参照する場合、該描画状態属性値に参照先を示す仮の描画状態属性値を割り当てて前記オブジェクト描画命令に変換し、
前記中間データ結合手段は、前記分割部分の各々についての中間データを結合し、前記分割部分について割り当てられた前記仮の描画状態属性値を参照先の描画状態属性値で置換し、1ページ分の中間データを作成することを特徴とする画像処理装置。 - 前記中間データ結合手段は、前記中間データ生成手段によって生成した複数の分割部分に係る中間データを、前記分割部分のページ内における順に結合することを特徴とする請求項1記載の画像処理装置。
- 前記中間データ結合手段は、前記中間データ生成手段によって生成した複数の分割部分に係る中間データを、前記分割部分のページ内における順によらず、隣り合う分割部分に係る中間データの結合を繰り返すことで1ページ分の中間データを結合することを特徴とする請求項1または2に記載の画像処理装置。
- 前記並列解釈手段は、前記分割部分の分割位置を、前記PDLデータの画像形成命令の区切りに合わせて移動することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
- ページ記述言語で記述された1ページ分のPDLデータを複数の分割部分に分割する分割手段と、
分割された前記分割部分の各々を対象として、当該分割部分に含まれたページ記述言語の命令を解釈してオブジェクト描画命令に変換する複数の解釈処理部を有する並列解釈手段と、
前記分割部分の各々について、前記オブジェクト描画命令から中間データを生成する複数の中間データ生成部を有する中間データ生成手段と、
前記分割部分の各々についての中間データを結合し、1ページ分の中間データを作成する中間データ結合手段と、
結合された前記中間データを分割し、分割した部分ごとに並列してラスタ画像を生成する並列ラスタ画像生成手段としてコンピュータを機能させるためのプログラムであって、
前記解釈処理部の各々は、当該解釈処理部が対象とする分割部分より前の分割部分で定義される描画状態属性値を参照する場合、該描画状態属性値に参照先を示す仮の描画状態属性値を割り当てて前記オブジェクト描画命令に変換し、
前記中間データ結合手段は、前記分割部分の各々についての中間データを結合し、前記分割部分について割り当てられた前記仮の描画状態属性値を参照先の描画状態属性値で置換し、1ページ分の中間データを作成することを特徴とするプログラム。 - 前記複数の解釈処理部および前記複数の中間データ生成部として、前記コンピュータの有する複数のプロセッサのそれぞれを機能させることを特徴とする請求項5に記載のプログラム。
- 画像処理装置の分割手段が、ページ記述言語で記述された1ページ分のPDLデータを複数の分割部分に分割する分割工程と、
画像処理装置の並列解釈手段が、分割された前記分割部分の各々を対象として、並列に、当該分割部分に含まれたページ記述言語の命令を解釈してオブジェクト描画命令に変換する並列解釈工程と、
画像処理装置の中間データ生成手段が、前記分割部分の各々について、並列に、前記オブジェクト描画命令から中間データを生成する中間データ生成工程と、
画像処理装置の中間データ結合手段が、前記分割部分の各々についての中間データを結合し、1ページ分の中間データを作成する中間データ結合工程と、
画像処理装置の並列ラスタ画像生成手段が、結合された前記中間データを分割し、分割した部分ごとに並列してラスタ画像を生成する並列ラスタ画像生成工程とを有し、
前記並列解釈工程において、ひとつの分割部分の処理において、当該分割部分より前の分割部分で定義される描画状態属性値を参照する場合、該描画状態属性値に参照先を示す仮の描画状態属性値を割り当てて前記オブジェクト描画命令に変換し、
前記中間データ結合工程において、前記分割部分の各々についての中間データを結合し、前記分割部分について割り当てられた前記仮の描画状態属性値を参照先の描画状態属性値で置換し、1ページ分の中間データを作成することを特徴とする画像処理方法。 - ページ記述言語で記述された1ページ分のPDLデータを複数の分割部分に分割する分割手段と、
分割された前記分割部分の各々を対象として、当該分割部分に含まれたページ記述言語の命令を解釈して、当該命令に対応するオペランドとともにオブジェクト描画の関数を呼び出す複数の解釈処理部を有する並列解釈手段と、
前記分割部分の各々について、呼び出された前記オブジェクト描画の関数およびオペランドに応じて中間データを生成する複数の中間データ生成部を有する中間データ生成手段と、
前記分割部分の各々についての中間データを結合し、1ページ分の中間データを作成する中間データ結合手段と、
結合されたた前記中間データを分割し、分割した部分ごとに並列してラスタ画像を生成する並列ラスタ画像生成手段とを備え、
前記解釈処理部の各々は、当該解釈処理部が対象とする分割部分より前の分割部分で定義される描画状態属性値を参照する場合、該描画状態属性値に参照先を示す仮の描画状態属性値を割り当てて前記オブジェクト描画命令に変換し、
前記中間データ結合手段は、前記分割部分の各々についての中間データを結合し、前記分割部分について割り当てられた前記仮の描画状態属性値を参照先の描画状態属性値で置換し、1ページ分の中間データを作成することを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011086754A JP5767501B2 (ja) | 2011-04-08 | 2011-04-08 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011086754A JP5767501B2 (ja) | 2011-04-08 | 2011-04-08 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012221256A JP2012221256A (ja) | 2012-11-12 |
JP5767501B2 true JP5767501B2 (ja) | 2015-08-19 |
Family
ID=47272677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011086754A Active JP5767501B2 (ja) | 2011-04-08 | 2011-04-08 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5767501B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3413829B2 (ja) * | 1997-11-18 | 2003-06-09 | 富士ゼロックス株式会社 | 描画処理装置および方法 |
JPH11170657A (ja) * | 1997-12-16 | 1999-06-29 | Fuji Xerox Co Ltd | 画像処理装置 |
JPH11259644A (ja) * | 1998-03-09 | 1999-09-24 | Fuji Xerox Co Ltd | 画像形成装置および画像形成方法 |
-
2011
- 2011-04-08 JP JP2011086754A patent/JP5767501B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012221256A (ja) | 2012-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8861014B2 (en) | Systems and methods for optimized printer throughput in a multi-core environment | |
US20100315431A1 (en) | Combining overlapping objects | |
US8553272B2 (en) | Image processing apparatus, image processing method, program therefor, and medium storing program | |
US20090080025A1 (en) | Parallel processing of page description language | |
US9001373B2 (en) | Parallel printing system | |
US8223353B2 (en) | Multiple processor print driver | |
US8593668B2 (en) | Parallel printing system | |
US20100202008A1 (en) | Comprehensive print job skeleton creation | |
JP5261250B2 (ja) | ページ記述言語を処理する印刷データ処理装置、方法及びコンピュータ可読媒体 | |
US8334989B2 (en) | Printing device and method for parallel processing of data | |
US9715356B2 (en) | Method, apparatus and system for determining a merged intermediate representation of a page | |
US20090310151A1 (en) | Systems and Methods for Multi-Mode Color Blending | |
JP5268427B2 (ja) | 画像形成装置及び画像形成システム | |
JP2010026895A (ja) | 情報処理装置、画像形成装置、およびプログラム | |
JP5767501B2 (ja) | 画像処理装置及び画像処理方法 | |
US9052854B2 (en) | Parallel printing system | |
US8665457B2 (en) | Postscript stream interpreter with integrated pagination | |
JP2007076337A (ja) | 画像処理装置、画像処理方法、および画像処理用プログラム | |
JP5251995B2 (ja) | 画像データ生成装置、画像形成装置およびプログラム | |
JP3589255B2 (ja) | 文書処理装置および方法 | |
JP6614941B2 (ja) | 画像処理装置および画像処理方法 | |
JP2012221195A (ja) | 画像処理システム | |
JP2012081711A (ja) | 画像形成装置、画像処理方法 | |
JP2019155657A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP5252116B2 (ja) | 画像データ生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150220 |
|
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: 20150522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150619 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5767501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |