JP2013505854A - 印刷可能なラスタ画像ファイルを作成する方法 - Google Patents

印刷可能なラスタ画像ファイルを作成する方法 Download PDF

Info

Publication number
JP2013505854A
JP2013505854A JP2012530213A JP2012530213A JP2013505854A JP 2013505854 A JP2013505854 A JP 2013505854A JP 2012530213 A JP2012530213 A JP 2012530213A JP 2012530213 A JP2012530213 A JP 2012530213A JP 2013505854 A JP2013505854 A JP 2013505854A
Authority
JP
Japan
Prior art keywords
gpu
raster image
color
image
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012530213A
Other languages
English (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 Production Printing Netherlands BV
Original Assignee
Oce Nederland BV
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 Oce Nederland BV filed Critical Oce Nederland BV
Publication of JP2013505854A publication Critical patent/JP2013505854A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Generation (AREA)

Abstract

PDLファイル(20)から印刷可能なラスタ画像ファイル(34)を作成する方法であって、PDLファイル(20)を解釈し、それによって表示リスト(28)を作成するステップと、表示リスト(28)にラスタ画像処理を適用し、それによって4つの分解色(C、M、Y、K)の印刷可能なラスタ画像ファイル(34)を作成するステップとを含み、ラスタ画像処理が、3つの色チャンネル(R、G、B)および透明度用アルファチャンネル(A)を有するグラフィックス処理ユニット(GPU)(18)内で実行され、3つの色チャンネルおよびアルファチャンネルが、4つの分解色(C、M、Y、K)上へマッピングされる。

Description

本発明は、PDLファイルから印刷可能なラスタ画像ファイルを作成する方法であって、
PDLファイルを解釈し、それによって表示リストを作成するステップと、
表示リストにラスタ画像処理を適用し、それによって4つの分解色の印刷可能なラスタ画像ファイルを作成するステップとを含む方法に関する。
デジタル印刷の技術分野では、印刷される画像は、通常は、例えばインクジェットプリンタまたはレーザプリンタなどの印刷エンジンへ、電子ラスタ画像ファイルの形式で提供される。ラスタ画像は、ピクセル(画素)から成る複数の行および列へ分割され、輝度または色(カラー)を指し示す1つ以上の値が、個々のピクセルに割り当てられる。白黒印刷では、ラスタ画像は、単に、個々のピクセルがブラックで印刷されることになるか否かを指し示す1ビットだけのサイズを、各ピクセルに割り当てられた値が有するビットマップとすることができる。カラー印刷では、典型的な画像は、4つの色分解、例えば分解色のシアン(C)、マゼンタ(M)、イエロー(Y)およびブラック(K)を含み、結果として少なくとも4ビットが各ピクセルに必要となる。可変サイズまたは可変密度のドットを印刷することができるプリンタの場合には、ラスタ画像は、各ピクセルおよび各色に対して多値を含むことになる。
特に、大判形式で高解像度の画像の場合には、ラスタ画像は、画像が電子データ処理システムおよびネットワーク内で記憶されまたは伝送されるときに、処理するのに困難な多量のデータを含むことになる。
こういう訳で、印刷される画像またはページは、しばしばポストスクリプトまたはPDFなどのページ記述言語(PDL:Page Description Language)で記述される。このようなPDLでは、画像は、線または多角形などの比較的単純な複数の幾何学的オブジェクトで構成され、PDLファイル内に格納されるものは、これらのオブジェクトの頂点の座標およびこれらのオブジェクトが塗りつぶされることになる一種類または複数の色だけである。ラスタ画像処理(RIP:Raster Image Processing)と呼ばれるプロセスは、PDLファイルをラスタ画像ファイルへ変換するのに用いられる。
ラスタ画像処理は、典型的には、プリンタのいわゆるフロントエンドであって、その処理のためにラスタ画像プロセッサを備えているフロントエンド内でなされる。従来、ラスタ画像プロセッサとして用いられるプロセッサは、多目的コンピュータの中央処理装置(CPU:Central Processing Unit)であり、または少なくとも同じアーキテクチャを有して、CPUと同様にプログラミングされる。
現代のパーソナルコンピュータまたはデスクトップコンピュータは、特にコンピュータゲームにも利用される場合、典型的には、コンピュータのディスプレイ画面上にコンピュータ生成グラフィックスをレンダリングするのに用いられる、強力なグラフィックスボードまたはグラフィックス処理ユニット(GPU:Graphics Processing Unit)を備える。米国特許第6860203B号明細書は、ゲーム機のディスプレイ画面上に画像をレンダリングするのに、GPUなどが用いられるゲーム機を開示する。さらに、このゲーム機は、ディスプレイ上に示される画像も印刷できるように、デジタルプリンタに接続可能である。GPUは、画面上に表示されるラスタ画像だけでなくプリンタへ送信されるラスタ画像も、作成するのに用いられる。プリンタがディスプレイ画面よりもより高い解像度を有するので、タイリングプロシージャが、印刷される画像をGPUによって処理されるほどに小さい複数のタイルへ細分化するのに適用され、次いでこれらのタイルがいっしょに「縫い合わされ」て、プリンタに対して高解像度のラスタ画像を作成する。しかしながら、GPUが、モニタ画面上に表示される3つの色、レッド(R)、グリーン(G)およびブルー(B)だけを処理するので、GPUによってレンダリングされるラスタ画像は、プリンタ内で用いられる分解色CMYKへ、さらに変換しなければならない。この変換は、ゲーム機のCPU内でなされ、かなりの時間および処理電力を必要とする。
米国特許第6860203号明細書 欧州特許出願第08154135号明細書
PDLファイルから印刷可能なラスタ画像ファイルを作成するのにさらに効率的な方法を提供することが、本発明の目的である。さらに具体的には、本方法は、例えば600dpiの高解像度で印刷することができ、かつA4、A3形式でまたはさらに高スループット(例えば65ページ/分以上)でページを印刷することができる、高性能デジタルプリンタで利用可能であるものとする。
この目的を達成するために、本発明に従う方法は、ラスタ画像処理が、3つの色チャンネル(R、G、B)および透明度用アルファチャンネルを有するグラフィックス処理ユニット(GPU)内で実行され、3つの色チャンネルおよびアルファチャンネルが、4つの分解色(C、M、Y、K)上へマッピングされ、各分解色が、3つの色チャンネルおよびアルファチャンネルのうちの異なる1つに割り当てられることで特徴付けられる。
それゆえに本発明は、一部の市販のGPUが、3つの色チャンネルRGBに加えて4番目のチャンネル、いわゆるアルファチャンネルを有するということを利用する。GPUが、一般に、モニタ画面上に表示される3つの色RGBだけを処理するように設計されるのに対して、アルファチャンネルは、必要に応じて画像の一定の透明度量を指定するのに用いられる。それゆえに、各ピクセルのアルファチャンネルに適切な値を割り当てることによって、画面上に表示される画像は、多かれ少なかれ透明のように見えることになる。アルファ値は、ちょうど3つの「標準」色の値としてのピクセルの特性であるので、本質的には色と同様に処理され、すなわち座標変換、シェーディングなどの動作に、ちょうど色の値として関与する。本発明は、単純にアルファ値を4番目の色の値として再解釈することによって、このことを利用する。それゆえに、プリンタによって必要となる4つの分解色は、GPUの3つの色チャンネルおよびアルファチャンネル上へマッピングされ、次いでGPUは、ラスタ画像処理タスクの主要な部分を実行することになり、最終的にはピクセルごとの4つの出力値を有するラスタ画像を出力することになって、これらの出力値は、プリンタ内で用いられる分解色として解釈されることになる。
本発明に従うラスタ画像処理に用いられるGPU技術は、主に娯楽産業によって推進されて長足の進捗を経験してきており、結果として市販のGPUは、比較的安価であるにもかかわらず、ラスタ画像処理に必要な多量のデータを処理するのに極めて強力となっている。特に、GPUは、高度に並列化されたアーキテクチャを有し、したがって多数のピクセルに対するデータは並列に処理することができ、処理時間を大いに低減している。他方で、入手可能なGPUおよびこれらのGPU向けに特に開発されてきたプログラミング言語は、高性能デジタルプリンタにおける効率的なラスタ画像処理の要求を満たすのに適切にプログラミングされるために、十分な柔軟性を有している。結果として、ラスタ画像処理向けにGPUを利用することによって、ハードウェアに必要な処理時間およびコストが、著しく低減することができる。
本発明はさらに、本発明に従う方法を実装するプリンタおよびコンピュータプログラムに関する。
本発明についてさらに具体的な任意選択の特徴が、従属項において指し示される。
次に好ましい実施形態が、以下の図面と連動して説明されることになる。
本発明に従う方法を実行するように構成されるプリンタのブロック図である。 本発明の第1の実施形態に従う方法のフロー図である。 本発明の第2の実施形態に従う方法のフロー図である。 本発明に従う方法のさらなる展開を図示するフロー図である。
図1に模式的に図示されたプリンタは、フロントエンド10および印刷エンジン12を含む。フロントエンド10は、プリンタへ供給される電子印刷データを、印刷エンジン12を用いて印刷されるのに適した形式へ、変換するタスクを有する。一般に当技術分野で知られているように、フロントエンド10は、CPU14、プログラムコードおよびデータを格納するメモリ空間16、ならびに図1に示されていない制御手段を含む。
示されている実施形態では、フロントエンド10は、ディスプレイ画面上に画像をレンダリングする、現代のパーソナルコンピュータ、ゲーム機またはワークステーションにおいて典型的に使用されるタイプのグラフィックス処理ユニット(GPU)18を、さらに含む。GPUは、独立した集積回路によって形成されてもよく、またはCPU14および同一基板上の他の回路およびメモリと一体化されてもよい。
印刷されるデータは、典型的には、ポストスクリプトまたはPDFなどの、一般に使用されるプログラミング記述言語(PDL)の形式で、フロントエンド10によって受信される。それゆえに、図1は、フロントエンド10によって受信され、処理されるPDLファイル20を示す。例として、PDLファイル内の符号化された画像が色画像であり、印刷エンジン12内でも使用されるCMYK色空間において、色がすでに指定されていると仮定する。一般に、PDLファイル内の色は、他の何らかの色空間において指定されてもよい。必要ならば、フロントエンド10は、例えば欧州特許出願第08154135.1号明細書に記載されたように、PDLファイル20の色空間を印刷エンジン12の色空間へ適合させる、適切な色管理アルゴリズムを実行してもよい。
CPU14の機能は、図1に、3つのモジュール:インタープリタ22、GLコンバータ24(GL:Graphics Language)およびグラフィックスドライバ26によって表された。
PDLファイル22内に与えられる情報に基づいて、インタープリタ22は、いわゆる表示リスト28をコンパイルする。この表示リストは、プリミティブ、すなわち印刷される画像を構成するグラフィカルオブジェクトの位置および外観を定義する命令、のリストである。このようなプリミティブは、中でも以下を含むことができる:
不等辺四辺形を塗りつぶす
不等辺四辺形の形状および位置は、その頂点の座標(コーナー)によって定義される。長方形および三角形は、不等辺四辺形の特別な場合として含まれる。ソース色が設定されると、不等辺四辺形の全領域がソース色で塗りつぶされる。不等辺四辺形は、任意の形状の多角形を構成するのに用いることができる。修正された実装では、プリミティブ「多角形を塗りつぶす」が使用されてもよい。
ソース色を設定する
すべての不等辺四辺形およびランアレイが、ソース色を用いて、別のソース色が設定されるまで続いて塗りつぶされることになり、そのソース色としてCMYK色空間内の色が定義される。
ソース画像を設定する
ソース画像は、変換行列に関連付けられたラスタ画像(ピクセルごとに指定された色の値)である。例えば不等辺四辺形は、不等辺四辺形の外側でソース画像をクリッピングする適切な座標変換にソース画像を委ねることによって、ソース画像で塗りつぶされてもよい。
画像マスクを設定する
画像マスクは、ビットマップによって定義され、変換行列に関連付けられる。マスクビットマップ内に値「1」を有するあらゆるピクセルは、ソース色で塗りつぶされることになり、一方で値「0」を有するピクセルは、変化しないままとなる。
ビットマップマスクを設定する
ビットマップマスクは、画像マスクと類似しているが、変換行列を有していない。ビットマップマスクは、例えばテキストをレンダリングするのに使用される。
マスクプリミティブまたはソースプリミティブが設定されると、別のマスクまたはソースプリミティブが設定されるまで、または表示リストが終了するまで、マスクまたはソースプリミティブは有効のままである。
画像内部の指定された位置に依存して、不等辺四辺形に類似のプリミティブが重なってもよい。遅れて処理されるプリミティブが、以前に処理された全プリミティブを上書きすることは、通例、指定することができる。代替策として、プリミティブの頂点は3次元座標によって与えられてもよく、したがってプリミティブの一部は別のプリミティブの後に隠蔽されてもよい。本明細書で提示される実施形態では、GPU18は、このような隠蔽された表面を特定して除去するアルゴリズムを、効率的に実行することができる。
不等辺四辺形などのプリミティブは、プリミティブの一部が印刷される画像の外側に位置するように、印刷可能領域のエッジに配置されてもよい。そうであれば、プリミティブを画像の領域にクリッピングするために、クリッピングアルゴリズムが提供される。
GLコンバータ24は、表示リスト28の命令をグラフィックス言語(GL)、すなわちGPU18でプログラミングするのに用いられる言語へ変換するモジュールである。いくつかのグラフィックス言語、例えばOpenGL、CUDAまたはDirectXが、市場で入手することができる。OpenGLが、本例で使用される。
メモリ空間16は、中でもコンバータ24が利用できるグラフィックス言語ライブラリ(GLライブラリ、この場合にはOpenGLライブラリ)を含んでおり、したがってコンバータは、ライブラリから所定の関数およびルーチンを呼び出すようにGPU18に命令することができる。メモリ空間16はさらに、「ピクセルシェーダ」と呼ばれる特定のタイプのプログラムを格納し、個々のピクセルの色および/または輝度を変更するために、各ピクセルについて特定の動作を実行するようにGPU18に命令する。
それゆえにGLコンバータ24は、表示リスト28内にリストされたプリミティブを、GPU18向けに「GLコール」と呼ばれる命令へ変換する。グラフィックスドライバ26は、CPU14をGPU18にインターフェースで接続し、これらのGLコールをGPUへ送る。
インタープリタ22、GLコンバータ24およびグラフィックスドライバ26では、色は常にCMYK色空間内で定義される。しかしながら、GPU18は、本来はRGBモニタ画面を駆動する特定の目的のために設計されたデバイスであり、それゆえに3つの基本色RGBだけを処理するように構成される。
本例で使用されるGPU18は、4番目の色チャンネル、いわゆるアルファチャンネル(A)を有しており、アルファチャンネルは、ピクセルの一定の透明度を指定するように意図されている。それに対応して、CPU18用のプログラミング言語(例えばopenGL)は、画像を透明にする特定のコールを含む。このようなコールがなされ、ピクセルが背景に重畳しなければならないとき、ピクセルのA値は、ピクセルのRGB値が背景色にどれほど混ぜ合わせられるかを決定するはずである。A値が大きくなればなるほど、背景は、重ね合わされた画像を「透き通す」はずである。
本実施形態では、GPU18の3つの色チャンネルRGBおよびアルファチャンネルAが、CPU10内でおよびさらに印刷エンジン12内で使用される4つの分解色CMYKを処理するのに用いられる。例えば、図1に象徴的に示されたように、色CはGPUのRチャンネルに割り当てられ、色MはGチャンネルに割り当てられ、色YはBチャンネルに割り当てられ、色K(ブラック)はアルファチャンネルAに割り当てられる。もちろん、他の割り当ても起こりうる。RGBAシステム、またはGPUの色チャンネルへのRGB色の割り当てが逆にされるBGRAシステムにおいて、GPU18が色を処理するように構成することができることが、さらに気づかれる。
GPU18は、プロセッサ部分30およびメモリ部分32を含む。示される例では、メモリ部分32は固定のメモリ、すなわち固定サイズのメモリ空間が、格納されるデータに予約されるようなメモリとして構成される。これらの固定メモリ空間内に格納されたデータは、「テクスチャ」と呼ばれる。これらのテクスチャは、通常のCPUプログラミングにおける配列に似ているが、浮動小数点インデックスを有するという特定の特徴、すなわち極めて速い補間ルーチンを実行するプロセッサ部分30の能力に関する特徴を有する。
テクスチャは、3次元(3D)テクスチャ(通常は本印刷用途では使用されない)、画像を格納する2Dテクスチャ、および1Dテクスチャを含んでもよい。例えば、上述したソース画像、画像マスクおよびビットマップマスクは、2Dテクスチャとして格納することができ、1Dテクスチャは、ソース陰影を定義する色変換テーブルを格納するのに用いることができる。
メモリ部分32の特定のメモリ空間は、「フレームバッファ」と呼ばれ、GPUによって作成されることになっているラスタ画像ファイル34を格納するのに用いられる。GPUのプロセッサ部分30は、GLコールを処理し、対応するプリミティブを、フレームバッファ内の適切な場所に配置するのに必要な動作を実行する。そのために、GPU18のプロセッサ部分30は高度に並列なプロセッサアーキテクチャを有しており、したがって多くのピクセルは並列に処理することができる。
表示リスト28によって指定された全画像がレンダリングされ、対応するラスタ画像がフレームバッファ内で完全なものになると、グラフィックスドライバ26は、フレームバッファの内容すなわちラスタ画像ファイル34を、CPU14のシステムメモリまたは印刷エンジン12(バッファ)のメモリのいずれでもよい印刷メモリ36内へ、ダウンロードするようにGPU18に命令することになる。
透明度機能が使用されていないので、GPU18のAチャンネルはまるでピクセルの4番目の色のように処理され、ラスタ画像ファイル34がCPU14を経由して印刷エンジン12へダウンロードされると、CPUおよび印刷エンジンは、単にA値をピクセルのK値として処理するだけになり、一方でピクセルのR、GおよびB値は、分解色C、MおよびYとして処理されることに留意されたい。
示される例では、フレームバッファは、GPU18のメモリ部分32に含まれる。修正された実施形態では、外部メモリがフレームバッファとして使用されてもよい。ダウンロードプロシージャをさらに加速するために、CPU14または印刷エンジン12がフレームバッファに直接にメモリアクセスできるアーキテクチャを用いることも、可能である。
本発明の第1の実施形態に従う方法は、図2に示されるフロー図と連動して、次に説明される。
ステップS1において、CPU14のインタープリタ22は、PDLファイル20を解釈し、表示リスト28を作成する。
ステップS2において、CPUは、GPU18を初期化するルーチンを実行する。この初期化ルーチンは、例えばフレームバッファのサイズを指定するステップ、フレームバッファの過去の内容を消去するステップ、座標変換行列を「1」に設定するステップなどを含む。
次いでステップS3において、GLコンバータ24は、表示リスト28から最初のプリミティブをフェッチすることになり、このプリミティブを指定する命令は、ステップS4においてGLコールへ変換される。
ステップS5において、GLコールは、次いでプリミティブをフレームバッファ内の適切なピクセル位置に配置するのに必要な動作を実行することになるGPU18へ、送られる。
ステップS6において、CPUは、表示リスト内のまだ処理されていないプリミティブがこれ以上残っているかどうかを検査する。これが(Y)の場合には、次いでルーチンはステップS3に戻って、次のプリミティブを処理する。
表示リスト28内の全プリミティブが処理されると、ループはステップS7で終了し、ラスタ画像ファイル34はGPU18(または外部のフレームバッファ)から印刷メモリへダウンロードされる。次いでラスタ画像は、今後の利用のため、印刷メモリに格納されてもよく、または最後のステップS8において印刷エンジン12を用いて直接に印刷されてもよい。
図3は、修正された実施形態のフロー図である。ステップS11〜S13は、図2に示されたステップS1〜S3と同一である。
ステップS14は、図2のステップS4に対応し、ステップS14において、GLコールがCPU14のメモリ空間16内のバッチファイルに格納される点が相違している。
図3のステップS15は、全プリミティブが処理されたかどうかを決定する、図2のステップS6に対応する。
図3において、ステップS13、S14およびS15のループは、全プリミティブ用のGLコールを含むバッチファイルがGPU18へ送られるステップであるステップS16を経由して終了する。
図3のステップS17およびS18は、この場合も図2のステップS7およびS8と同一である。
現在の市販のGPUでは、処理能力および記憶容量は、A4に相当するサイズおよび600dpiの解像度を有するラスタ画像を処理するのに十分である。図4は、印刷される画像およびしたがってラスタ画像が、さらに大判のサイズ(A3以上)であり、600dpiの解像度を有し、結果としてGPU18の能力を越えるはずであるときに、適用することができる方法を図示する。
ステップS21は、上述した実施形態のステップS1およびS11に対応する。
ステップS22において、GPU14は、PDLファイルおよび表示リストにサイズがそれぞれ指し示される画像が、GPU18の能力を越えるか否かを決定する。
そうであれば、ステップS23が実行され、タイリングプロシージャが、PDLファイルによって指定される画像に適用される。このタイリングプロシージャでは、画像は、行および/または列に並んで境を接して配置される複数のサブ画像すなわちタイルへ分割され、結果として個々のタイルが、GPUで処理されるのに十分に小さいサイズを有しているのに、タイルは画像全体をカバーしている。元の画像がGPUによって直接に処理することができる場合(ステップS22において「N」)、次いでステップS23は飛ばされる。
次いでステップS24において、GPU18は、最初のタイル(ステップS23が実行されたとき)または全画像(ステップS23が飛ばされたとき)用に初期化される。
ステップS25において、タイルまたは画像は、図2のステップS3からS6または図3のステップS13からS16と同様に、レンダリングされる。
ステップS26において、ただ1個のタイルのサイズを有するラスタ画像が、印刷メモリ36へダウンロードされる。
ステップS27は、まだ処理されていないタイルが(ステップS23が実行されたという条件で)さらにあるかどうかを検査する。この場合には、プログラムはステップS24に戻って、次のタイル用にGPU18を初期化する。このタイルがステップS25においてレンダリングされ、ステップS26において印刷メモリ36へダウンロードされると、印刷メモリは、最初のタイルおよび最新のタイルのラスタ画像が、印刷メモリ内で途切れなく「いっしょに縫い合わされる」ように、アドレス指定される。タイルは、さらに残されている場合、ステップS24〜S27を通したループにより同じ方法で処理される。
全タイルが走査されると、ループはステップS28で終了し、画像は印刷メモリ36から印刷される。

Claims (4)

  1. PDLファイル(20)から印刷可能なラスタ画像ファイル(34)を作成する方法であって、
    PDLファイル(20)を解釈し、それによって表示リスト(28)を作成するステップと、
    表示リスト(28)にラスタ画像処理を適用し、それによって4つの分解色(C、M、Y、K)の印刷可能なラスタ画像ファイル(34)を作成するステップとを含み、
    ラスタ画像処理が、3つの色チャンネル(R、G、B)および透明度用アルファチャンネル(A)を有するグラフィックス処理ユニット(GPU)(18)内で実行され、3つの色チャンネルおよびアルファチャンネルが、4つの分解色(C、M、Y、K)を処理するのに用いられ、各分解色が、3つの色チャンネルおよびアルファチャンネルのうちの異なる1つに割り当てられることで特徴付けられる、方法。
  2. PDLファイル(20)をグラフィックス言語(GL)内の命令へ変換するのにCPU(14)が用いられ、前記命令が、GPU(18)によって実行される、請求項1に記載の方法。
  3. フロントエンド(10)および印刷エンジン(12)を含み、フロントエンド(10)が、請求項1または2に記載の方法を実行するように構成されることで特徴付けられる、デジタルプリンタ。
  4. CPU(14)およびGPU(18)を有するデータ処理システム上で動作するとき、CPUおよびGPUに請求項1または2に記載の方法を実行させる、プログラムコードを含む、コンピュータプログラム。
JP2012530213A 2009-09-25 2010-09-14 印刷可能なラスタ画像ファイルを作成する方法 Pending JP2013505854A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09171367 2009-09-25
EP09171367.7 2009-09-25
PCT/EP2010/063447 WO2011036069A1 (en) 2009-09-25 2010-09-14 Method of creating a printable raster image file

Publications (1)

Publication Number Publication Date
JP2013505854A true JP2013505854A (ja) 2013-02-21

Family

ID=41509070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012530213A Pending JP2013505854A (ja) 2009-09-25 2010-09-14 印刷可能なラスタ画像ファイルを作成する方法

Country Status (4)

Country Link
US (1) US20120188569A1 (ja)
EP (1) EP2480964A1 (ja)
JP (1) JP2013505854A (ja)
WO (1) WO2011036069A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130003087A1 (en) * 2011-06-29 2013-01-03 Chung-Hui Kuo Depositing texture for job on receiver
CN103136724B (zh) * 2011-11-30 2015-11-25 北大方正集团有限公司 加网方法和装置
AU2012201865A1 (en) 2012-03-29 2013-10-17 Canon Kabushiki Kaisha GPU-based RIP architecture
CN104685543B (zh) * 2012-09-27 2017-04-12 三菱电机株式会社 图形描绘装置
JP6272061B2 (ja) * 2014-01-31 2018-01-31 キヤノン株式会社 画像形成装置、その制御方法、及びプログラム
US10025539B2 (en) 2016-02-12 2018-07-17 Xerox Corporation Adaptive selection of rendering intent for negative text embedded with image objects

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002209097A (ja) * 2000-09-07 2002-07-26 Canon Inc 描画方法および描画装置
JP2004334533A (ja) * 2003-05-07 2004-11-25 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2005031691A (ja) * 1998-09-21 2005-02-03 Fuji Photo Film Co Ltd 画像暗号化装置、画像暗号化方法、画像暗号化のプログラムを記録したコンピュータ読み取り可能な記録媒体及び画像ファイルが記録されたコンピュータ読み取り可能な記録媒体
JP2009021946A (ja) * 2007-07-13 2009-01-29 Canon Inc 画像処理装置、画像処理方法、及び、画像処理プログラム
JP2009104402A (ja) * 2007-10-23 2009-05-14 Canon Inc 画像形成システム及び画像形成方法、ホスト装置、画像形成装置並びに記憶媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963201A (en) * 1992-05-11 1999-10-05 Apple Computer, Inc. Color processing system
WO2001041049A1 (en) * 1999-12-02 2001-06-07 Channel Storm Ltd. System and method for rapid computer image processing with color look-up table
US7519899B2 (en) * 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
JP4396670B2 (ja) * 2006-07-24 2010-01-13 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、画像形成方法及びプログラム
US8565519B2 (en) * 2007-02-09 2013-10-22 Qualcomm Incorporated Programmable pattern-based unpacking and packing of data channel information
AU2007203061A1 (en) * 2007-06-29 2009-01-15 Canon Kabushiki Kaisha Efficient banded hybrid rendering
US20100073695A1 (en) * 2008-04-18 2010-03-25 Global Graphics Software Limited Methods and systems for increasing performance of server-based rendering
WO2011057981A1 (en) * 2009-11-16 2011-05-19 Oce-Technologies B.V. Method of halftoning an image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005031691A (ja) * 1998-09-21 2005-02-03 Fuji Photo Film Co Ltd 画像暗号化装置、画像暗号化方法、画像暗号化のプログラムを記録したコンピュータ読み取り可能な記録媒体及び画像ファイルが記録されたコンピュータ読み取り可能な記録媒体
JP2002209097A (ja) * 2000-09-07 2002-07-26 Canon Inc 描画方法および描画装置
JP2004334533A (ja) * 2003-05-07 2004-11-25 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2009021946A (ja) * 2007-07-13 2009-01-29 Canon Inc 画像処理装置、画像処理方法、及び、画像処理プログラム
JP2009104402A (ja) * 2007-10-23 2009-05-14 Canon Inc 画像形成システム及び画像形成方法、ホスト装置、画像形成装置並びに記憶媒体

Also Published As

Publication number Publication date
WO2011036069A1 (en) 2011-03-31
US20120188569A1 (en) 2012-07-26
EP2480964A1 (en) 2012-08-01

Similar Documents

Publication Publication Date Title
JP3797615B2 (ja) 効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置
JP4804605B2 (ja) 頁記述言語におけるトランスペアレンシ処理
US10068518B2 (en) Method, apparatus and system for dithering an image
JP2013505854A (ja) 印刷可能なラスタ画像ファイルを作成する方法
JPH11313213A (ja) 情報処理装置、情報処理方法及び媒体
JP4882626B2 (ja) 画像処理装置、画像形成装置及びプログラム
US6860203B2 (en) Method and apparatus for printing computer generated images
JP2008117379A (ja) エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム
JP3159837B2 (ja) グラフィックス言語に基づく画像処理方法及び装置
JP4063918B2 (ja) 表示のためのグラフィックス情報を含むイメージを作成する装置と方法
JP7009316B2 (ja) 画像形成装置及びその画像形成方法、並びにプログラム
JP2007245723A (ja) ドキュメント・レンダリング・システム、方法およびプログラム
JPH1166327A (ja) 画像処理方法および画像処理装置および記録媒体
JP4946370B2 (ja) 画像処理装置、画像形成装置及びプログラム
JP4514168B2 (ja) 画像処理システム及び画像処理方法
JP2004334533A (ja) 画像処理装置および画像処理方法
JP2006140597A (ja) 印刷制御装置、印刷制御方法、コンピュータプログラム及び記憶媒体
JP2010214905A (ja) 画像形成装置、画像形成方法及びプログラム
JP6155604B2 (ja) 画像処理装置および画像処理方法
JP2011077697A (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP3862460B2 (ja) 情報処理方法及び装置と記憶媒体
JP2006079475A (ja) 印刷処理システム、プログラムおよび記録媒体
JP4853654B2 (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
JP3826091B2 (ja) 情報処理装置、及び情報処理方法、プリント装置、及びプリント方法
JP2008290397A (ja) 描画処理装置、pdl処理装置、画像形成装置、描画命令生成方法、描画命令生成プログラム及び描画命令生成プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140828

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151006