JP2014002591A - 画像処理装置、画像処理方法、コンピュータプログラム - Google Patents
画像処理装置、画像処理方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP2014002591A JP2014002591A JP2012137915A JP2012137915A JP2014002591A JP 2014002591 A JP2014002591 A JP 2014002591A JP 2012137915 A JP2012137915 A JP 2012137915A JP 2012137915 A JP2012137915 A JP 2012137915A JP 2014002591 A JP2014002591 A JP 2014002591A
- Authority
- JP
- Japan
- Prior art keywords
- rendering
- edge
- objects
- processing
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1817—Buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1849—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
- G06K15/1863—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
Abstract
【解決手段】 複数のオブジェクトをレンダリングする際にキャッシュミスヒットが発生しうるかを判定する。そして、キャッシュミスヒットが発生しうると判定された場合に複数のオブジェクトを複数のグループに分類してグループごとにレンダリングを行うことで、複数のオブジェクトに対応するビットマップを生成する。
【選択図】 図6
Description
<システム構成>
図1は本発明の実施形態に係る画像処理システムの構成例を示すブロック図である。このシステムではホストコンピュータ(情報処理装置)130及び2台の画像処理装置100、110がLAN(Local Area Network)140に接続されている。本実施例の画像処理装置100、110は画像形成装置でもあるMFP(Multi Function Peripheral)である。ただし、画像処理装置100、110は、MFPだけに限定されず、SFP(Single Function Printer)であってもよく、また、レーザビームプリンタでもインクジェットプリンタであってもよい。また、画像処理装置のLANへの接続数は、本発明を限定するものではない。また、本実施例では画像処理装置はLANに接続されているが、本発明はこれに限定されない。例えば、公衆回線に代表されるWAN(Wide Area Network)150などの任意のネットワーク、USB(Universal Serial Bus)などのシリアル伝送方式、セントロニクスやSCSI(Small Computer System Interface)などのパラレル伝送方式なども適用可能である。
図2は、本実施形態における画像処理装置100の一構成例を示すブロック図である。
1340080736207_0
、状態、設定など情報を、メインメモリから
1340080736207_1
して保持することで、本来アクセスすべきメインメモリに代わってデータをCPU205に入出力する。なおCPU205が複数のCPUから構成されている場合、それぞれのCPUはそれぞれのキャッシュメモリを有する。
ここで、以下に説明する本実施例における用語の定義について説明する。
次に、図9を使って本実施例の画像処理装置100が実行する画像形成処理について説明する。図9に示される処理フローは制御部101によって実行される。具体的には、制御部101のCPU205が、HDD208に格納されているシステムソフトウェアプログラムをRAM206にロードし、実行することで実行される。
フォールバックとは背景技術でも述べた処理のことである。フォールバック処理は、PDLデータからディスプレイリストを生成する際に実行されうる処理である。PDLデータからディスプレイリストを生成する際、入力されたPDLデータサイズが大き過ぎると、全てのディスプレイリストを格納する為のDLメモリの容量が不足する場合がある。
図3は、スキャンラインレンダリングと呼ばれるレンダリング処理方法について説明した図である。以下の処理は制御部101によって実行される。具体的には、制御部101のCPU205が、HDD208に格納されているスキャンラインレンダリングのプログラムをRAM206にロードし、実行することで実行される。
エッジ処理は大きく分けて5つの処理からなっている。
次にレベル処理は大きく分けて3つの処理からなっている。
次にフィル処理は大きく分けて3つの処理からなっている。
最後にコンポジット処理は大きく分けて1つの処理からなっている。コンポジット処理はレベル処理で確定したレベルの上下関係とフィル処理で生成したピクセルを元に、ディスプレイリストに指定されている重ね合わせ処理を行うことをいう。
図3ではオブジェクト401、402、403が1つずつだった場合のレンダリング処理について説明した。ここではオブジェクト402、403がそれぞれ1000個ずつ重なった場合の、エッジ処理におけるエッジソートで行われる処理について図4を用いて説明する。 図4(a)は、見た目上、図3(b)と同じ画像を示す画像データである。しかし図4(a)は、1000個のオブジェクト402が同じ位置に重なっており、また1000個のオブジェクト403が同じ位置に重なっている。
次に、図5を用いて本実施例におけるエッジのレイヤー分割処理について説明する。ここでは、<大量エッジが含まれているディスプレイリストのエッジ処理方法について>で記載したように、オブジェクト402、403がそれぞれ1000個ずつ同一箇所に重なっている場合を元に説明する。
次に、図6を用いて本実施例におけるステップS1006、S1009のエッジレイヤー分割レンダリング処理をフローチャートで説明する。
ここで、キャッシュミスヒットが発生しないエッジデータ数の算出方法を説明する。例えば、CPUキャッシュのメモリサイズが128Kbyteで、1つのエッジデータのデータサイズが64byteだった場合、CPUキャッシュのメモリサイズを1つのエッジデータのデータサイズで割った値である2048(個)がキャッシュミスヒットが発生しないエッジデータ数となる。
図10(a)は、本実施例のエッジレイヤー分割レンダリングを実施しなかった場合のエッジ数とエッジソートにかかる処理時間の関係を示した図である。図10(a)は、エッジソート処理を、CPUキャッシュのメモリサイズを考慮しないで行うため、エッジ数が大量にあるディスプレイリストを処理する際にキャッシュミスヒットが頻発し、処理時間が飛躍的に増大していることを示す。一方、図10(b)は、本実施例のエッジレイヤー分割レンダリングを実施した場合のエッジ数とエッジソートにかかる処理時間の関係を示した図である。図10(b)は、エッジソート処理を、CPUキャッシュのメモリサイズを考慮して行うため、エッジ数が大量にあるディスプレイリストを処理する際でも、キャッシュミスヒットの発生を抑制することを示す。そのため、エッジ数の増大とエッジソート処理にかかる時間の関係をほぼ線形に保つことができる。
実施例1では、ページ画像データ全体に対して、エッジレイヤー分割レンダリング処理を実施した画像処理装置100を説明した。本実施例の画像処理装置100は、ページ画像データをエッジが密集しているバンド領域(単にバンドとも呼ぶ)とそうではないバンド領域とに分割して、エッジ密集部のバンドのみに対してエッジレイヤー分割レンダリング処理を実施する。また、本実施例の画像処理装置100は、エッジ密集部以外のバンドに対して図3で説明した、キャッシュミスヒットを特別に考慮しない通常のスキャンラインレンダリング処理を実施する。
図7を用いてエッジ密集部のみのレイヤー分割処理の概要について説明する。
次に、図8を用いて本実施例におけるエッジのレイヤー分割処理をフローチャートで説明する。図8を用いて説明する以下の処理で、実施例1で説明した図9のS1006、S1009の処理を置き換えた処理を本実施例の画像処理装置100は実行する。
ここでS908のエッジ密集バンド特定方法を説明する。まず制御部101は、任意のバンド高さを決定する。高さの例としては32ラインや64ラインがある。次に制御部101は、ディスプレイリストに含まれるエッジの現れるライン位置とエッジの高さから、各バンドに含まれるエッジの個数をバンド毎に集計する。例えば、あるエッジが1スキャンライン目に現れ、高さが128、バンド高さが32だった場合、1バンド目から4バンド目にエッジが現れていることになる。この計算を制御部101は、各エッジに対して行い各バンドに含まれるエッジ数を算出し、算出されたエッジ数が所定のエッジ数(例えばS904で算出したエッジ数)を超えたバンドを、エッジ密集バンドとして特定する。
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、ホストコンピュータ、複写機、複合機及びファクシミリ装置の如くである。
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
Claims (12)
- 複数のオブジェクトをレンダリングする画像処理装置であって、
レンダリングする際に用いられるCPUキャッシュと、
CPUキャッシュのキャッシュミスヒットが発生しうるかを判定する判定手段と、
前記判定手段でキャッシュミスヒットが発生しうると判定される場合、複数のオブジェクトをキャッシュミスヒットしないように複数のグループに分類し、複数のグループに分類されたオブジェクトについて、グループごとに複数のオブジェクトをレンダリングすることで、複数のオブジェクトに対応するビットマップを生成する分割レンダリング処理を実行し、
前記判定手段でキャッシュミスヒットが発生しうると判定されない場合、複数のオブジェクトを複数のグループに分類することなくレンダリングすることで、複数のオブジェクトに対応するビットマップを生成するレンダリング手段と、
を有することを特徴とする画像処理装置。 - 前記レンダリングは、スキャンラインごとに複数のオブジェクトのエッジデータをソートするエッジソート処理を含むスキャンラインレンダリングであり、
前記判定手段は、前記エッジソート処理においてCPUキャッシュのキャッシュミスヒットが発生しうるかを判定することで、レンダリングにおいてCPUキャッシュのキャッシュミスヒットが発生しうるかを判定することを特徴とする請求項1に記載の画像処理装置。 - 前記スキャンラインレンダリングでは、前記エッジソート処理の前に、複数のオブジェクトのうちレンダリング対象のオブジェクトのエッジデータをロードするエッジロード処理が実行され、
前記レンダリング手段は、グループごとに複数のオブジェクトをレンダリングするために、レンダリング対象のオブジェクトのエッジデータをロードするエッジロード処理およびロードされたエッジデータに対するエッジソート処理をグループごとに実行することを特徴とする請求項2に記載の画像処理装置。 - 前記レンダリング手段は、前記分割レンダリング処理において、前記グループごとに複数のオブジェクトをレンダリングすることでグループごとのビットマップを生成し、生成したグループごとのビットマップを下位レイヤーから順に重ね合わせて、前記複数のオブジェクトに対応するビットマップを生成することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
- 前記分割レンダリング処理において重ねあわせられるビットマップは、非可逆圧縮されたビットマップではないことを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
- 前記レンダリング手段が複数のオブジェクトをレンダリングするために用いられる、複数のオブジェクトそれぞれのディスプレイリストを生成するディスプレイリスト生成手段と、
前記ディスプレイリスト生成手段が前記複数のオブジェクトそれぞれのディスプレイリストを順次生成する際に、生成されてきたディスプレイリストのデータサイズが所定の値を超えた場合にフォールバック処理が実行されると判定するフォールバック判定手段と、
を有し、
前記前記フォールバック判定手段でフォールバック処理が実行されると判定された場合、
さらに前記レンダリング手段は、生成された前記複数のオブジェクトの一部のオブジェクトのディスプレイリストを用いてレンダリングを実行することで得られるビットマップを非可逆圧縮し、生成された前記複数のオブジェクトの残りのオブジェクトのディスプレイリストを用いてレンダリングを実行することで得られるビットマップを、前記非可逆圧縮されたビットマップと重ね合わせることで前記複数のオブジェクトに対応するビットマップを生成することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。 - 前記判定手段は、少なくとも、前記複数のオブジェクトのエッジデータのデータサイズ、または、前記複数のオブジェクトの数、または、前記複数のオブジェクトのエッジデータの数のいずれかの情報を判定情報として用いて、キャッシュミスヒットが発生しうるかを判定することを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
- 前記判定手段は、前記判定情報が所定の基準値以上である場合、キャッシュミスヒットが発生しうると判定し、前記判定情報が所定の基準値未満である場合、キャッシュミスヒットが発生しうると判定しないことを特徴とする請求項7に記載の画像処理装置。
- 前記判定情報が前記オブジェクトのエッジデータの数である場合、前記基準値は、CPUキャッシュのメモリサイズをエッジデータの単位データサイズで割った値であることを特徴とする請求項8に記載の画像処理装置。
- 前記複数のオブジェクトを含む画像データを複数のバンド領域に分割する分割手段をさらに有し、
前記レンダリング手段は、前記分割手段によって分割された各バンド領域に対して、バンド領域単位で処理を実行することを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。 - 複数のオブジェクトをレンダリングする際に用いられるCPUキャッシュを有する画像処理装置の実行する画像処理方法であって、
CPUキャッシュのキャッシュミスヒットが発生しうるかを判定する判定工程と、
前記判定工程でキャッシュミスヒットが発生しうると判定される場合、複数のオブジェクトをキャッシュミスヒットしないように複数のグループに分類し、複数のグループに分類されたオブジェクトについて、グループごとに複数のオブジェクトをレンダリングすることで、複数のオブジェクトに対応するビットマップを生成する分割レンダリング処理を実行し、
前記判定手段でキャッシュミスヒットが発生しうると判定されない場合、複数のオブジェクトを複数のグループに分類することなくレンダリングすることで、複数のオブジェクトに対応するビットマップを生成するレンダリング工程と、
を有することを特徴とする画像処理方法。 - 請求項1乃至10の何れか1項に記載の各手段としてコンピュータを機能させるためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012137915A JP2014002591A (ja) | 2012-06-19 | 2012-06-19 | 画像処理装置、画像処理方法、コンピュータプログラム |
US13/919,162 US9443174B2 (en) | 2012-06-19 | 2013-06-17 | Image processing apparatus, image processing method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012137915A JP2014002591A (ja) | 2012-06-19 | 2012-06-19 | 画像処理装置、画像処理方法、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014002591A true JP2014002591A (ja) | 2014-01-09 |
JP2014002591A5 JP2014002591A5 (ja) | 2015-08-06 |
Family
ID=49755636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012137915A Pending JP2014002591A (ja) | 2012-06-19 | 2012-06-19 | 画像処理装置、画像処理方法、コンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9443174B2 (ja) |
JP (1) | JP2014002591A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672454B2 (en) | 2015-04-22 | 2017-06-06 | Canon Kabushiki Kaisha | Image processing apparatus for rendering plurality of objects by dividing plurality of objects into plurality of groups, and image processing method |
JP7514204B2 (ja) | 2021-03-26 | 2024-07-10 | ローランドディー.ジー.株式会社 | Rip装置、プリンタ、およびプログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014002591A (ja) * | 2012-06-19 | 2014-01-09 | Canon Inc | 画像処理装置、画像処理方法、コンピュータプログラム |
JP6009371B2 (ja) * | 2013-02-26 | 2016-10-19 | ルネサスエレクトロニクス株式会社 | 画像処理lsi及び画像処理プログラム |
JP6422085B2 (ja) * | 2014-05-07 | 2018-11-14 | 富士通クライアントコンピューティング株式会社 | 情報処理装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009274366A (ja) * | 2008-05-15 | 2009-11-26 | Canon Inc | 画像処理方法及び画像処理装置とその制御方法 |
JP2010238236A (ja) * | 2009-03-30 | 2010-10-21 | Sharp Corp | 印刷システムおよび印刷システムの制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3753263B2 (ja) * | 1995-08-23 | 2006-03-08 | ヒューレット・パッカード・カンパニー | 画像を処理する方法 |
JP4343344B2 (ja) | 1998-09-11 | 2009-10-14 | キヤノン株式会社 | ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法 |
AUPQ905800A0 (en) | 2000-07-28 | 2000-08-24 | Canon Kabushiki Kaisha | Rendering page descriptions |
US20040246502A1 (en) * | 2003-06-09 | 2004-12-09 | Jacobsen Dana A. | Rendering sub-sections |
US7248265B2 (en) * | 2004-04-16 | 2007-07-24 | Apple Inc. | System and method for processing graphics operations with graphics processing unit |
JP4164518B2 (ja) * | 2006-06-05 | 2008-10-15 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
JP5596938B2 (ja) * | 2009-06-02 | 2014-09-24 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP2014002591A (ja) * | 2012-06-19 | 2014-01-09 | Canon Inc | 画像処理装置、画像処理方法、コンピュータプログラム |
-
2012
- 2012-06-19 JP JP2012137915A patent/JP2014002591A/ja active Pending
-
2013
- 2013-06-17 US US13/919,162 patent/US9443174B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009274366A (ja) * | 2008-05-15 | 2009-11-26 | Canon Inc | 画像処理方法及び画像処理装置とその制御方法 |
JP2010238236A (ja) * | 2009-03-30 | 2010-10-21 | Sharp Corp | 印刷システムおよび印刷システムの制御方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672454B2 (en) | 2015-04-22 | 2017-06-06 | Canon Kabushiki Kaisha | Image processing apparatus for rendering plurality of objects by dividing plurality of objects into plurality of groups, and image processing method |
JP7514204B2 (ja) | 2021-03-26 | 2024-07-10 | ローランドディー.ジー.株式会社 | Rip装置、プリンタ、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US9443174B2 (en) | 2016-09-13 |
US20130335779A1 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5643574B2 (ja) | 画像処理装置及び画像処理方法 | |
JP5209953B2 (ja) | 画像データ供給装置および画像データ供給方法 | |
JP2014002591A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP5171733B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2017024321A (ja) | 画像処理装置、画像形成装置及び画像処理時間予測方法及びプログラム | |
JP5397678B2 (ja) | 画像処理装置、画像形成装置、画像処理方法およびプログラム | |
US8599433B2 (en) | Image processor, image processing method, computer readable medium, and image processing system | |
CN107102827B (zh) | 改善图像对象的质量的方法以及执行该方法的设备 | |
JP6135329B2 (ja) | 印刷データ処理装置、プログラム、及びシステム | |
JP2016206934A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2014194635A (ja) | 画像形成装置及び画像形成方法ならびにプログラム | |
JP2010157928A (ja) | 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム | |
JP4964219B2 (ja) | 画像処理装置、方法及びプログラム | |
JP5223492B2 (ja) | 印刷制御装置及び印刷制御プログラム | |
JP2015075839A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP5929689B2 (ja) | プレビュー画像生成装置、プレビュー画像生成方法およびコンピュータープログラム | |
JP5820159B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4475680B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2019111677A (ja) | 画像処理装置、画像処理装置の制御方法、画像形成装置およびプログラム | |
JP6512763B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2007081886A (ja) | 描画処理装置 | |
JP6175981B2 (ja) | 情報処理装置及びプログラム | |
JP6015478B2 (ja) | 制御装置、制御方法およびプリンタードライバプログラム | |
JP2011000794A (ja) | 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム | |
EP3819782B1 (en) | Computing device, method of operation and computer program for a computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150619 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160517 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160715 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161018 |