JP2008018577A - 画像形成装置、画像形成方法及びプログラム - Google Patents

画像形成装置、画像形成方法及びプログラム Download PDF

Info

Publication number
JP2008018577A
JP2008018577A JP2006190895A JP2006190895A JP2008018577A JP 2008018577 A JP2008018577 A JP 2008018577A JP 2006190895 A JP2006190895 A JP 2006190895A JP 2006190895 A JP2006190895 A JP 2006190895A JP 2008018577 A JP2008018577 A JP 2008018577A
Authority
JP
Japan
Prior art keywords
data
pdl
image
image forming
description language
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
JP2006190895A
Other languages
English (en)
Other versions
JP2008018577A5 (ja
Inventor
Takashi Furukawa
剛史 古川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006190895A priority Critical patent/JP2008018577A/ja
Publication of JP2008018577A publication Critical patent/JP2008018577A/ja
Publication of JP2008018577A5 publication Critical patent/JP2008018577A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】ページ記述言語(PDL)に従って描画処理を行う際に、当該描画処理における時間の短縮を実現できるようにする。
【解決手段】入力されたPDLデータに従って画像データを形成する画像形成部120と、PDLデータと画像データとを関連付けて格納する格納部131と、画像形成時に、描画対象となるPDLデータと格納部131に格納されているPDLデータとを比較する判定部132と、判定部132による判定結果に基づいて、出力する画像データを、画像形成部120において形成される画像データ及び格納部131に格納されている画像データの中から選択するセレクタ150とを具備する。
【選択図】図1

Description

本発明は、入力されたページ記述言語に係るデータに従って描画処理を行い、画像データを形成する画像形成装置、画像形成方法、及び、当該画像形成方法をコンピュータに実行させるためのプログラムに関する。
従来の画像形成装置において、PostScriptやPDF等のページ記述言語(以下、「PDL」と称する)で記述された印刷データが入力されると、その印刷データが解釈されて各ページの画像データが生成される。
ここで、入力されるPDLは、複数種類のオブジェクト(描画オブジェクト)の集合として構成することができ、そのオブジェクトとしては、図形、テキスト、その他の画像がある。また、出力される画像データは、1ページのラスタ画像、又は圧縮形式の画像等である。
画像形成装置から出力された画像は、必要に応じてページ合成や回転等の画像処理が行われた後、プリンタエンジンに送出されて印刷可能となる。画像形成装置による印刷データの解釈では、その内容の複雑さにもよるが、一般に多くの演算が必要である。
印刷処理の高速化を図るためには、画像生成までの時間をできる限り削減する必要がある。また、画像生成にかかる時間を削減するためには、必要な画像生成過程を並列化する方法が考えられる。そして、画像生成の並列化の単位として、複数ページの画像データを並列に処理する方法や、画像形成装置が出力したラスタ画像をタイル分割して処理する方法がある。
しかしながら、これらの方法だけでは、処理負荷の重い画像形成処理が高速化されない。このため、画像形成処理の高速化手法として画像形成処理の各過程を並列化する方法が考えられている。
例えば、下記の特許文献1には、線又は短冊状に描画対象を分割し、分割した領域に対して並列処理を行う描画処理装置が開示されている。また、下記の特許文献2には、描画対象となる2次元領域を複数のタイルに分割する画像処理装置が開示されている。
特開平9−167242号公報 特開平4−170686号公報
しかしながら、従来の技術では、均等なタイル単位の描画情報に分割して並列処理をすることでページ単位の描画時間は短縮されるが、1タイル領域の描画時間は短縮されていない。また、画像形成処理時に、タイル領域内のデータは考慮されていないため、異なるタイル領域で同じ描画データを生成する場合も重複して同じ描画処理が行われ、描画時間がかかっていた。
本発明は前述の問題点に鑑みてなされたものであり、ページ記述言語(PDL)に従って描画処理を行う際に、当該描画処理における時間の短縮を実現する画像形成装置、画像形成方法及びプログラムを提供することを目的とする。
前述した課題を解決するために、本発明は、入力されたページ記述言語に係るデータに従って描画処理を行い、画像データを形成する画像形成手段と、前記ページ記述言語に係るデータと前記画像データとを関連付けて格納する格納手段と、画像形成時に、描画対象となるページ記述言語に係るデータと前記格納手段に格納されているページ記述言語に係るデータとを比較する比較手段と、前記比較手段による比較結果に基づいて、前記画像形成手段において形成される画像データ及び前記格納手段に格納されている画像データの中から選択する選択手段と、前記比較手段による比較結果に基づいて、当該描画対象となるページ記述言語に係るデータと当該データに基づき前記画像形成手段で形成された画像データとを関連付けて、前記格納手段に格納する制御を行う制御手段とを有する画像形成装置等を提供する。
本発明によれば、ページ記述言語(PDL)に従って描画処理を行う際に、描画対象となるページ記述言語に係るデータと、過去に描画処理されて格納手段に格納されているページ記述言語に係るデータとを比較して、当該比較結果に基づいて、処理時間の大きい描画処理に替えて格納手段に格納されている画像データを出力することにより、重複する描画処理を省略することができ、描画処理時間の短縮を実現することができる。
また、比較手段において、各データの全体比較を行う前に、ビット比較などのハードウェアで高速に比較が行える部分比較を行うことにより、部分比較において一致しないと判定されたデータについては、負荷の重い全体比較を行う必要が無くなるため、描画処理時間を更に短縮することができる。
以下、添付図面を参照しながら本発明の実施形態について説明する。
図1は、本発明の実施形態に係る画像形成装置の概略構成図である。
画像形成装置101は、例えば、PostScriptやPDF等のPDLで記述された印刷データ(PDLデータ)を入力し、当該PDLデータに基づいて画像データを形成する。画像形成装置101は、バス104に接続されており、バス104を介してPDLデータの入力と、PDLデータに基づいて形成された画像データの出力を行う。
バス104には、当該画像形成装置101に加え、USBに代表される通信インターフェース(I/F)100、PDLデータや画像データを格納するメモリ102、及び、システム全体の制御やPDLデータ、画像データの処理などを行う制御装置103が接続されている。なお、通信I/F100は、USBに限らず、例えば、LAN(ローカルエリアネットワーク)インターフェースや無線インターフェースであってもよい。
画像形成装置101は、タイル分割部110と、画像形成部120と、PDLキャッシュ部130と、PDL部分比較部140と、セレクタ150と、バスアクセス調停部160を有して構成されている。
タイル分割部110は、入力されたPDLデータにおける描画命令を、格子状の領域(以下、この格子状の領域を「タイル」と称する)毎に分割する。画像形成部120は、タイル分割部110でタイル毎に分割されたPDLデータに則して画像データを形成する。
PDLキャッシュ部130は、過去に画像形成部120に入力されたPDLデータと当該画像形成部120で形成された画像データとをキャッシュするものであり、PDLキャッシュデータ格納部131とPDL一致判定部132とを有して構成されている。
PDLキャッシュデータ格納部131には、過去に画像形成部120で処理を行ったPDLデータと当該画像形成部120で形成された画像データとが関連付けられて格納されている。PDL一致判定部132は、画像形成部120に現在入力されたPDLデータについて、PDLキャッシュデータ格納部131に格納されているPDLデータと完全に一致するものがあるか否かを判定する。本実施形態のPDL一致判定部132では、PDLデータにおける座標データ、コマンドなどの完全一致を判定するため、PDLデータの完全一致をソフトウェア処理で判定する。
PDL部分比較部140は、PDL一致判定部132によるPDLデータの完全一致を判定する前に、当該PDLデータが部分的に一致しているか否かを判定するものである。このPDL部分比較部140は、PDL部分データ格納部141と、比較器142と、エンコーダ143を有して構成されている。
PDL部分データ格納部141は、過去に画像形成部120で処理されたPDLデータに係る部分データ(PDL部分データ)を格納する。比較器142は、画像形成部120に現在入力されたPDLデータに係るPDL部分データと、PDL部分データ格納部141に格納されているPDL部分データとを比較し、一致するものがあるか否かを判定する。エンコーダ143は、比較器142における判定結果の情報をエンコードしてPDL一致判定部132に出力する。
ここで、PDL部分データとしては、例えば、PostScriptなどの座標データが挙げられる。本実施形態では、PDL部分データとして、PostScriptの座標データを適用した場合について説明を行う。また、本実施形態におけるPDL部分比較部140は、PDL部分データの一致の判定を高速に行うため、PDL部分データである座標データをビット比較するハードウェアで構成される。
セレクタ150は、PDL一致判定部132の判定結果に基づいて、当該画像形成装置101から出力する画像データについて、画像形成部120で形成された画像データとするか、PDLキャッシュデータ格納部131の画像データとするかを選択する。バスアクセス調停部160は、バス104のアクセスにおける調停を行う。
図2は、本発明の実施形態に係る画像形成装置で読み込まれるPDLデータの一例を示す図である。図2には、PDLデータ201の一例として、PostScirpt言語で記述されたPDLデータを示している。図3は、図2に示すPDLデータによって描画される画像データを示す図である。
図2に示されたPDLデータ201において202〜205は、PDLデータにおける描画命令群であり、それぞれ図3に示す線分の描画オブジェクト310〜313を描画する。
描画命令202に含まれる「16 72 moveto」は、始点座標を決定するコマンドである。コマンド「16 72 moveto」では、始点座標が(16,72)に設定される。また、次のコマンド「128 72 lineto」は、始点(16,72)から終点(128,72)までの線分に係るオブジェクトを描画する。
描画命令202と同様に、描画命令203は、始点(16,68)から終点(128,68)までの線分に係るオブジェクトを描画する。
描画命令204は、描画命令202及び203と同様に、線分のオブジェクトを描画するが、コマンド「64 16 rline」は、始点から相対座標で線分のオブジェクト312を描画する。この描画命令204では、始点(0,32)から相対座標で(64,16)の線分オブジェクトを描画する。この場合、終点座標は、(0+64、32+16)、即ち(64,48)となる線分オブジェクトを描画する。
描画命令204と同様に、描画命令205は、始点(0,32)から終点(64、40)の線分オブジェクトを描画する。
次いで、画像形成装置101における画像形成方法について説明する。
図4は、本発明の実施形態に係る画像形成装置による画像形成方法の手順を示したフローチャートである。
まず、図4のステップ401において、画像形成装置101は、通信I/F100を介して入力されたPDLデータの読み込みを行う。具体的に、通信I/F100から転送されたPDLデータはメモリ102に格納され、画像形成装置101は、メモリ102に格納されたPDLデータの描画命令の読み込みを行う。
続いて、ステップ402において、タイル分割部110は、ステップ401で読み込まれたPDLデータにおける描画命令を各タイル領域毎に分割する。本実施形態では、描画命令における描画領域を、X軸方向32ピクセル、Y軸方向32ピクセルの矩形状のタイルに分割する。なお、タイルは、矩形以外の形状であってもよい。
以下に、ステップS402における具体的な処理について説明する。
32×32ピクセルのタイルに分割すると、図3に示すように、描画領域300は、矩形状のタイル301〜306、・・・に分割される。また、それぞれのタイルは、X軸方向及びY軸方向のタイル番号からなる[x,y]で示される。具体的に、タイル301は[0,2]、タイル302は[1,2]、タイル303は[2,2]、タイル304は[3,2]、タイル305は[0,1]、タイル306は[1,1]、・・・で示される。図2に示した描画領域300全体を描画するPDLデータから、タイル領域を描画するPDLデータへの変換は、簡単な座標計算により行うことができる。
図5は、図2に示すPDLデータを、各タイル毎に分割した際のPDLデータを示す図である。分割されたPDLデータ501〜506は、それぞれタイル301〜306を描画するデータである。
まず、ステップS402では、各タイル内に存在する描画オブジェクトの判定を行う。具体的に、各描画オブジェクトにおいて各タイルにおける境界との交差判定を行い、交差していれば、当該描画オブジェクトが当該タイル内に存在すると判定する。タイル領域内に存在している描画オブジェクトを描画するPDLデータは、当該タイルを描画するコマンド群に変換される必要がある。具体的に、タイル301を描画するPDLデータを生成する手順を以下に示す。
まず、タイル301の領域内に描画オブジェクトが存在するか否か判定する。
線分の描画オブジェクト310は、描画命令202のコマンド群から、以下の式(1)及び(2)で表すことができる。
Y=72 ・・・(1)
16≦X<128 ・・・(2)
また、タイル301における境界である4つの線分は、以下の式(3)及び(4)、式(5)及び(6)、式(7)及び(8)、並びに、式(9)及び(10)で表すことができる。
0≦X<32 ・・・(3)
Y=64 ・・・(4)

0≦X<32 ・・・(5)
Y=96 ・・・(6)

X=0 ・・・(7)
64≦Y<96 ・・・(8)

X=32 ・・・(9)
64≦Y<96 ・・・(10)
これらの式から線分の描画オブジェクト310とタイル301の境界である4つの線分との交点を計算すると、式(1)及び(2)と式(9)及び(10)から、交点(32,72)が算出される。そして、タイル301の境界との交点が存在することから、線分の描画オブジェクト310は、タイル301内に存在することが分かる。
次に、描画領域300内に存在する描画オブジェクトのPDLデータを、タイル領域のPDLデータへ変換を行う。
まず、図2に示すPDLデータ201において、描画命令202のうち、線分の描画オブジェクトの始点(16,72)を表している「16 72 moveto」の変換を行う。タイル領域内に頂点がある場合には、以下の式で変換を行う。
X=頂点のX座標−タイル番号×32 ・・・(11)
Y=頂点のY座標−タイル番号×32 ・・・(12)
始点(16,72)は、タイル301に存在するので、以上の式で頂点の変換が行える。具体的な演算結果を以下に示す。
X=16−0×32=16 ・・・(13)
Y=72−2×32=8 ・・・(14)
上記の演算から頂点が算出でき、タイル301におけるコマンド「16 8 moveto」が得られる。
次に、描画命令202のうち、「128 72 lineto」の変換を行う。この「128 72 lineto」は、設定された始点から終点(128,72)まで直線を引くコマンドである。
この終点(128,72)は、タイル301内に存在しないため、交点計算で求めたタイル301内の座標へ変換する。具体的に、式(1)及び(2)と式(9)及び(10)から算出した交点(32,72)を、式(11)及び(12)を用いて変換する。以下に、その演算結果を示す。
X=32−0×32=32 ・・・(15)
Y=72−2×32=8 ・・・(16)
上記の演算からタイル301内の終点が算出でき、タイル301におけるコマンド「32 8 lineto」が得られる。
線分の描画オブジェクト311を描画する描画命令203においても、同様にして変換を行うと、以下のPDLデータが得られる。
「16 4 moveto」
「32 4 lineto」
続いて、線分の描画オブジェクト312の描画命令204についても同様に変換行う。描画命令204は、前述の描画命令203と同じく線分オブジェクトを描画するコマンドであるが、「rline」は、始点から相対座標で線分オブジェクトを描画する。描画命令204の「64 16 rline」は、始点(0,32)から相対座標で(64,16)の線分の描画オブジェクトを描画する。この際、線分の描画オブジェクトは、以下に示す式で表される。
Y=(16/64)×X
0≦X≦64
上述の式から、タイル301の境界である4つの線分の交点を計算すると、交点が存在しないことがわかる。交点がないので、タイル301には、線分の描画オブジェクト311が存在しないことが分かる。よって、描画オブジェクト312の制御命令204は、タイル301を描画する命令には反映されない。
同様に、描画オブジェクト313も交点計算から、タイル301内に存在しないことが分かる。
以上に示した処理により、タイル301におけるPDLデータ501が生成される。同様にして各タイル302〜306に対して、PDLデータ201の分割処理を行い、各タイルを描画するPDLデータ502〜506を得る。
ここで、描画処理の手順を示した図4のフローチャートの説明に戻る。
ステップS402において、PDLデータ201における描画命令を各タイル毎に分割してPDLデータ501〜506の生成が行われると、ステップ403に進む。
ステップS403において、PDL部分比較部140は、分割されたPDLデータ501〜506の中から、1つのPDLデータを選択する。ここで、各PDLデータは、タイル毎に分割されているので、互いに依存関係を持つことはない。そのため、各タイルにおけるPDLデータは、任意の順序で描画処理を行うことができる。本実施形態では、タイル301、302、303、・・・の順で、即ち、PDLデータ501、502、503、・・・の順で描画処理を行う。よって、本実施形態では、まず、ステップ403において、タイル301のPDLデータ501が選択されて、ステップ404に進む。
ステップ404において、PDL部分比較部140は、過去に描画処理を行ったPDLデータと描画対象のPDLデータとの部分データ(PDL部分データ)が一致するか否かを判定する。本実施形態では、このPDL部分データの一致の判定を、PDLデータにおける座標データの2つのオペランドが一致することを判定する。例えば、PDLデータ501の描画命令「16 8 moveto」については、(16,8)の座標データの比較が行われる。
図6は、PDL部分データ格納部141に保存されているPDL部分データ(座標データ)の各状態における遷移を示す図である。本実施形態では、PDL部分データ格納部141には、600、601及び602からなる3つのエントリーが設けられており、保存できるPDL部分データは3つとなっている。なお、このエントリーの数は、3つに限らず、それ以上であっても、それ以下であってもよい。全てのエントリーが使用されている場合(図6に示す例では、図6(d)の状態4の場合)には、PDL部分データのリプレースが行われる。
本例では、描画対象であるタイル301を描画処理する以前に、描画処理されたタイルがないため、PDL部分データ格納部141には、現在、PDL部分データである座標データは保存されていない(図6(a)に示す状態1)。よって、ステップS404において、PDL部分データ格納部141の座標データと、入力されたPDLデータにおける座標データとが一致しないため、ステップ405に進むことになる。
ステップ405において、画像形成部120は、タイル毎に分割されたPDLデータ501に従って描画処理を行い、タイル301の画像データを生成する。
続いて、ステップ406において、PDL部分データ格納部141及びPDLキャッシュデータ格納部131に保存されているデータの更新が行われる。この更新処理と共に、セレクタ150を介してタイル301の画像データが画像形成装置101から出力される。
具体的に、PDL部分データ格納部141には、図6(b)に示す状態2のように、ステップ405で描画処理されたタイル301のPDLデータ501における座標データ(PDL部分データ)611がエントリー0(600)保存される。より具体的には、PDL部分データ611として、(16,8)、(32,8)、(16,4)及び(32,4)の座標データが保存され、PDL部分データ格納部141は、状態2に遷移する。
図7は、PDLキャッシュデータ格納部131に保存されているPDLデータ及び画像データの各状態における遷移を示す図である。本実施形態では、PDLキャッシュデータ格納部131には、700、701及び702からなる3つのエントリーが設けられており、保存できるPDLデータ及び画像データの組は3つとなっている。なお、このエントリーの数は、3つに限らず、それ以上であっても、それ以下であってもよい。全てのエントリーが使用されている場合(図7に示す例では、図7(d)の状態4の場合)には、保存するデータのリプレースが行われる。
ステップS406の処理により、PDLキャッシュデータ格納部131には、図7(b)に示す状態2のように、タイル301におけるPDL501と、描画処理された画像データ721とが関連付けられてエントリー0(700)に保存される。
続いて、ステップ409において、未描画のタイルが存在するか否かを判定する。本例の場合、未だタイル302以降の描画処理が終了していないので、ステップ403に戻る。
ステップS403において、PDL部分比較部140は、次いで、タイル302のPDLデータ502を選択する。
続いて、ステップ404において、PDL部分比較部140は、過去に描画処理を行ったPDLデータと描画対象のPDLデータとの部分データ(PDL部分データ)が一致するか否かを判定する。この際、PDL部分データ格納部141には、前回、描画処理されたPDL部分データ611が保存されている。PDL部分データ格納部141に保存されている部分データ611は、(16,8)、(32,8)、(16,4)及び(32,4)の座標データである。これに対して、描画対象のPDLデータ502におけるPDL部分データは、(0,8)、(32,8)、(0,4)及び(32,4)の座標データであるため、ステップS404では不一致と判定され、ステップS405に進む。
続いて、ステップS405において、画像形成部120は、PDLデータ502に従って描画処理を行い、タイル302の画像データを生成する。
続いて、ステップ406において、PDL部分データ格納部141及びPDLキャッシュデータ格納部131に保存されているデータの更新が行われる。この更新処理と共に、セレクタ150を介してタイル302の画像データが画像形成装置101から出力される。
具体的に、PDL部分データ格納部141には、図6(c)に示す状態3のように、ステップ405で描画処理されたタイル302のPDLデータ502における座標データ(PDL部分データ)612がエントリー1(601)に保存される。より具体的には、PDL部分データ612として、(0,8)、(32,8)、(0,4)及び(32,4)の座標データが保存され、PDL部分データ格納部141は、状態3に遷移する。
一方、PDLキャッシュデータ格納部131には、図7(c)に示す状態3のように、タイル302におけるPDL502と、描画処理された画像データ722とが関連付けられてエントリー1(701)に保存される。
続いて、ステップ409において、未描画のタイルが存在するか否かを判定する。本例の場合、未だタイル303以降の描画処理が終了していないので、ステップ403に戻る。
ステップS403において、PDL部分比較部140は、次いで、タイル303のPDLデータ503を選択する。
続いて、ステップ404において、PDL部分比較部140は、過去に描画処理を行ったPDLデータと描画対象のPDLデータとの部分データ(PDL部分データ)が一致するか否かを判定する。この際、PDL部分データ格納部141には、前回、描画処理されたPDL部分データ611及び612が保存されている。描画対象のPDLデータ503におけるPDL部分データは、(0,8)、(32,8)、(0,4)及び(32,4)の座標データであり、これはPDL部分データ格納部141に保存されているPDL部分データ612と一致する。よって、ステップS404では一致すると判定され、ステップS407に進む。
続いて、ステップS407において、PDL一致判定部132は、PDLキャッシュデータ格納部131に、描画対象のPDLデータ503と一致するPDLデータが存在するか否かを判定する。具体的に、当該PDLデータ503と、PDLキャッシュデータ格納部131に保存されているPDLデータ501及び502との一致を判定する。この際、PDLデータ502とPDLデータ503とは全て一致するので、ステップ408に進む。
ステップS408において、セレクタ150は、タイル303の画像データとして、PDLキャッシュデータ格納部131に保存される画像データ722を選択し、画像形成装置101から出力する。この際、等しいPDLデータからは等しい画像データが得られるので、画像形成部120によるPDLデータ503の描画処理は行われない。
このように、過去に描画処理が行われたタイルの画像データを保存しておき、同じPDLデータの描画命令における描画処理を省略することで、描画処理実行時間の短縮を図ることが可能となる。
続いて、ステップ409において、未描画のタイルが存在するか否かを判定する。本例の場合、未だタイル304以降の描画処理が終了していないので、ステップ403に戻る。
ステップS403において、PDL部分比較部140は、次いで、タイル304のPDLデータ504を選択する。
続いて、ステップ404において、PDL部分比較部140は、過去に描画処理を行ったPDLデータと描画対象のPDLデータとの部分データ(PDL部分データ)が一致するか否かを判定する。この際、PDL部分データ格納部141には、描画処理されたPDL部分データ611及び612が保存されている。描画対象のPDLデータ504におけるPDL部分データは、(0,8)、(32,8)、(0,4)及び(32,4)の座標データであり、これはPDL部分データ格納部141に保存されているPDL部分データ612と一致する。よって、ステップS404では一致すると判定され、ステップS407に進む。
続いて、ステップS407において、PDL一致判定部132は、PDLキャッシュデータ格納部131に、描画対象のPDLデータ504と一致するPDLデータが存在するか否かを判定する。具体的に、当該PDLデータ504と、PDLキャッシュデータ格納部131に保存されているPDLデータ501及び502との一致を判定する。この際、PDLデータ502とPDLデータ504とは全て一致するので、ステップ408に進む。
ステップS408において、セレクタ150は、タイル304の画像データとして、PDLキャッシュデータ格納部131に保存される画像データ722を選択し、画像形成装置101から出力する。この際、等しいPDLデータからは等しい画像データが得られるので、画像形成部120によるPDLデータ504の描画処理は行われない。
続いて、ステップ409において、未描画のタイルが存在するか否かを判定する。本例の場合、未だタイル305以降の描画処理が終了していないので、ステップ403に戻る。
ステップS403において、PDL部分比較部140は、次いで、タイル305のPDLデータ505を選択する。
続いて、ステップ404において、PDL部分比較部140は、過去に描画処理を行ったPDLデータと描画対象のPDLデータとの部分データ(PDL部分データ)が一致するか否かを判定する。この際、PDL部分データ格納部141には、描画処理されたPDL部分データ611及び612が保存されている。描画対象のPDLデータ505におけるPDL部分データは、(0,0)、(32,8)、(0,0)及び(32,4)の座標データであり、これはPDL部分データ611及び612と一致しない。よって、ステップS404では一致しないと判定され、ステップS405に進む。
ステップ405において、画像形成部120は、タイル毎に分割されたPDLデータ505に従って描画処理を行い、タイル305の画像データを生成する。
続いて、ステップ406において、PDL部分データ格納部141及びPDLキャッシュデータ格納部131に保存されているデータの更新が行われる。この更新処理と共に、セレクタ150を介してタイル305の画像データが画像形成装置101から出力される。
具体的に、PDL部分データ格納部141には、図6(d)に示す状態4のように、ステップ405で描画処理されたタイル305のPDLデータ505における座標データ(PDL部分データ)613がエントリー2(602)に保存される。より具体的には、PDL部分データ613として、(0,0)、(32,8)、(0,0)及び(32,4)の座標データが保存され、PDL部分データ格納部141は、状態4に遷移する。
一方、PDLキャッシュデータ格納部131には、図7(d)に示す状態4のように、タイル305におけるPDL505と、描画処理された画像データ725とが関連付けられてエントリー2(702)に保存される。
続いて、ステップ409において、未描画のタイルが存在するか否かを判定する。本例の場合、未だタイル306以降の描画処理が終了していないので、ステップ403に戻る。
ステップS403において、PDL部分比較部140は、次いで、タイル306のPDLデータ506を選択する。
続いて、ステップ404において、PDL部分比較部140は、過去に描画処理を行ったPDLデータと描画対象のPDLデータとの部分データ(PDL部分データ)が一致するか否かを判定する。この際、PDL部分データ格納部141には、描画処理されたPDL部分データ611、612及び613が保存されている。描画対象のPDLデータ506におけるPDL部分データは、(0,8)、(32,8)、(0,4)及び(32,4)の座標データであり、これはPDL部分データ格納部141に保存されているPDL部分データ612と一致する。よって、ステップS404では一致すると判定され、ステップS407に進む。
続いて、ステップS407において、PDL一致判定部132は、PDLキャッシュデータ格納部131に、描画対象のPDLデータ506と一致するPDLデータが存在するか否かを判定する。具体的に、当該PDLデータ506と、PDLキャッシュデータ格納部131に保存されているPDLデータ501、502及び505との一致を判定する。この際、PDLデータ502とPDLデータ506について比較すると、描画対象のPDLデータ502が「32 8 rlineto」であるのに対し、保存されているPDLデータ506は「32 8 lineto」となっており、全ては一致していない。PDL部分データである座標データのみが一致しても、PDLデータの全てが一致しないと、等価な画像データは得られないので、入力されたPDLデータに従って画像データを生成する必要がある。そこで、処理はステップS405に進む。
ステップ405において、画像形成部120は、タイル毎に分割されたPDLデータ506に従って描画処理を行い、タイル306の画像データを生成する。
続いて、ステップ406において、PDL部分データ格納部141及びPDLキャッシュデータ格納部131に保存されているデータの更新が行われる。この更新処理と共に、セレクタ150を介してタイル306の画像データが画像形成装置101から出力される。
この更新処理を行う際、本実施形態では、PDL部分データ格納部141及びPDLキャッシュデータ格納部131のエントリーは3つであり、全てのエントリーにデータが格納されているので、リプレースする必要がある。この場合、本実施形態では、最も古いデータ、具体的には、エントリー0に記憶されているデータをリプレースの対象とする。リプレースするアルゴリズムは、例えば、キャッシュで使用されるLRU(Least Recently Used)アルゴリズムなどを適用できる。
本実施形態では、PDL部分データ格納部141に格納されている部分データ611とPDLキャッシュデータ格納部131に格納されているPDL501及び画像データ721がリプレースの対象となり、それぞれ図6(e)及び図7(e)の状態5に遷移する。
具体的に、PDL部分データ格納部141には、図6(e)に示す状態5のように、ステップ405で描画処理されたタイル306のPDLデータ506における座標データ(PDL部分データ)614がエントリー0(600)に保存される。
一方、PDLキャッシュデータ格納部131には、図7(e)に示す状態5のように、タイル306におけるPDL506と、描画処理された画像データ726とが関連付けられてエントリー0(700)保存される。
続いて、ステップ409において、未描画のタイルが存在するか否かを判定し、全てのタイルの描画処理が終了するまで、ステップS403〜ステップS409の処理を実行する。そして、ステップS409において、全てのタイルの描画処理が終了すると、当該フローチャートの処理を終了する。
本実施形態によれば、ページ記述言語(PDL)に従って描画処理を行う際に、重複する描画処理を省略することができ、描画処理時間の短縮を実現することができる。
なお、本実施形態では、図3に示すように、各タイルを、1ページを2方向(X方向及びY方向)で区切った領域としているが、本発明においては、1ページを単一方向で区切った領域を含む。例えば、この1ページを単一方向で区切った領域としては、X方向又はY方向で区切った領域が挙げられる。
前述した本実施形態に係る画像形成装置を構成する図1の各手段、並びに画像形成装置による画像形成方法を示した図4の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係る画像形成装置の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して本実施形態に係る画像形成装置の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係る画像形成装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。
本発明の実施形態に係る画像形成装置の概略構成図である。 本発明の実施形態に係る画像形成装置で読み込まれるPDLデータの一例を示す図である。 図2に示すPDLデータによって描画される画像データを示す図である。 本発明の実施形態に係る画像形成装置による画像形成方法の手順を示したフローチャートである。 図2に示すPDLデータを、各タイル毎に分割した際のPDLデータを示す図である。 PDL部分データ格納部に保存されているPDL部分データ(座標データ)の各状態における遷移を示す図である。 PDLキャッシュデータ格納部に保存されているPDLデータ及び画像データの各状態における遷移を示す図である。
符号の説明
100 通信インターフェース(I/F)
101 画像形成装置
102 メモリ
103 制御装置
104 バス
110 タイル分割部
120 画像形成部
130 PDLキャッシュ部
131 PDLキャッシュデータ格納部
132 PDL一致判定部
140 PDL部分比較部
141 PDL部分データ格納部141
142 比較器
143 エンコーダ
150 セレクタ
160 バスアクセス調停部
201 PDLデータ
202〜205 描画命令群
300 描画領域
301〜306 タイル
310〜313 描画オブジェクト
501〜506 各タイル毎に分割されたPDLデータ
600〜602、700〜702 エントリー
611〜614 座標データ(PDL部分データ)
721〜726 画像データ

Claims (7)

  1. 入力されたページ記述言語に係るデータに従って描画処理を行い、画像データを形成する画像形成手段と、
    前記ページ記述言語に係るデータと前記画像データとを関連付けて格納する格納手段と、
    画像形成時に、描画対象となるページ記述言語に係るデータと前記格納手段に格納されているページ記述言語に係るデータとを比較する比較手段と、
    前記比較手段による比較結果に基づいて、前記画像形成手段において形成される画像データ及び前記格納手段に格納されている画像データの中から選択する選択手段と、
    前記比較手段による比較結果に基づいて、当該描画対象となるページ記述言語に係るデータと当該データに基づき前記画像形成手段で形成された画像データとを関連付けて、前記格納手段に格納する制御を行う制御手段と
    を有することを特徴とする画像形成装置。
  2. 前記ページ記述言語に係るデータを、当該データにおける描画領域を複数の領域に分割した各分割領域毎のページ記述言語に係るデータに変換する変換手段と更に有し、
    前記格納手段には、前記変換手段で変換された前記各分割領域のページ記述言語に係るデータと当該データに基づき前記画像形成手段で形成された画像データとが関連付けられて格納されていることを特徴とする請求項1に記載の画像形成装置。
  3. 前記分割領域は、1ページを2方向で区切った領域であることを特徴とする請求項2に記載の画像形成装置。
  4. 前記分割領域は、1ページを単一方向で区切った領域を含むことを特徴とする請求項2に記載の画像形成装置。
  5. 前記比較手段は、前記ページ記述言語に係るデータの部分比較を行う第1の比較部と、前記ページ記述言語に係るデータの全体比較を行う第2の比較部とを含み、
    前記第1の比較部は、前記描画対象となるページ記述言語に係るデータにおける部分データと、前記格納手段に格納されているページ記述言語に係るデータにおける部分データとを比較し、
    前記第2の比較部は、前記第1の比較部による比較結果、前記部分データが一致していると判定された場合に、前記描画対象となるページ記述言語に係るデータと前記格納手段に格納されているページ記述言語に係るデータとの全体比較を行うことを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
  6. 入力されたページ記述言語に係るデータに従って描画処理を行い、画像データを形成する画像形成ステップと、
    前記ページ記述言語に係るデータと前記画像データとを関連付けて格納手段に格納する格納ステップと、
    画像形成時に、描画対象となるページ記述言語に係るデータと前記格納手段に格納されているページ記述言語に係るデータとを比較する比較ステップと、
    前記比較ステップによる比較結果に基づいて、出力する画像データを、前記画像形成ステップにおいて形成される画像データ及び前記格納手段に格納されている画像データの中から選択する選択ステップと、
    前記比較ステップによる比較結果に基づいて、当該描画対象となるページ記述言語に係るデータと当該データに基づき前記画像形成ステップで形成された画像データとを関連付けて、前記格納手段に格納する制御を行う制御ステップと
    を有することを特徴とする画像形成方法。
  7. 請求項6に記載の画像形成方法をコンピュータに実行させるためのプログラム。
JP2006190895A 2006-07-11 2006-07-11 画像形成装置、画像形成方法及びプログラム Pending JP2008018577A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006190895A JP2008018577A (ja) 2006-07-11 2006-07-11 画像形成装置、画像形成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006190895A JP2008018577A (ja) 2006-07-11 2006-07-11 画像形成装置、画像形成方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008018577A true JP2008018577A (ja) 2008-01-31
JP2008018577A5 JP2008018577A5 (ja) 2009-08-27

Family

ID=39074925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006190895A Pending JP2008018577A (ja) 2006-07-11 2006-07-11 画像形成装置、画像形成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2008018577A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160502A (ja) * 2019-03-25 2020-10-01 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08230249A (ja) * 1995-02-28 1996-09-10 Fuji Xerox Co Ltd 画像処理装置
JPH0937062A (ja) * 1995-07-14 1997-02-07 Canon Inc 画像処理装置及び方法
JPH1021018A (ja) * 1996-07-08 1998-01-23 Fuji Xerox Co Ltd 印刷制御装置
JP2004192390A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2004192395A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2006289642A (ja) * 2005-04-06 2006-10-26 Canon Inc 画像形成装置、画像形成方法、及び印刷装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08230249A (ja) * 1995-02-28 1996-09-10 Fuji Xerox Co Ltd 画像処理装置
JPH0937062A (ja) * 1995-07-14 1997-02-07 Canon Inc 画像処理装置及び方法
JPH1021018A (ja) * 1996-07-08 1998-01-23 Fuji Xerox Co Ltd 印刷制御装置
JP2004192390A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2004192395A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2006289642A (ja) * 2005-04-06 2006-10-26 Canon Inc 画像形成装置、画像形成方法、及び印刷装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160502A (ja) * 2019-03-25 2020-10-01 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
JP7310197B2 (ja) 2019-03-25 2023-07-19 富士フイルムビジネスイノベーション株式会社 情報処理システム、情報処理装置及びプログラム

Similar Documents

Publication Publication Date Title
US8531725B2 (en) Rastering disjoint regions of the page in parallel
US8228540B2 (en) Rasterizing variable and non-variable data for printing
JP6729766B2 (ja) 印刷データ処理装置及びプログラム
US9250848B2 (en) Dynamically adjusting the complexity of worker tasks in a multi-threaded application
JP6385406B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US9846825B2 (en) Method, apparatus and system for generating an intermediate region-based representation of a document
JP6445899B2 (ja) 画像形成装置及びその制御方法
JP2003237149A (ja) 描画処理装置および描画処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
US9710943B2 (en) 2D region rendering
JP2006289642A (ja) 画像形成装置、画像形成方法、及び印刷装置
JP2015005131A (ja) 印刷データ処理装置、プログラム、及びシステム
JP2008018577A (ja) 画像形成装置、画像形成方法及びプログラム
JP2008071241A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP3922568B2 (ja) 画像処理装置、描画処理方法及び該方法を実行するためのプログラム
JP4921025B2 (ja) 画像形成装置及び画像形成方法
JP5936363B2 (ja) 画像処理装置及び画像処理方法
JP2004038527A (ja) プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP5820159B2 (ja) 画像処理装置及び画像処理方法
JP2009075805A (ja) 画像形成装置
JP4764188B2 (ja) 画像形成装置及び画像処理方法
JPH10151815A (ja) 印刷処理装置
JP6786415B2 (ja) 情報処理装置、情報処理方法、プログラム、及び画像形成装置
US8976418B2 (en) Image processing apparatus for determining a X coordinate value of an edge on a current scan line from among a plurality of X coordinate values
JP2023065887A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2004326528A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110823