説明

ページ記述データ処理装置、方法及びプログラム

【課題】急峻な線形状を含む画像データに対してラスタライズ処理を行う際に生じ得る印刷不具合を防止できるページ記述データ処理装置、方法及びプログラムを提供する。
【解決手段】ページ記述データDp中にパスをストロークするオブジェクトがあるかどうかを確認し、当該オブジェクト中に曲線パス構築オペレータが含まれているかどうかを確認し、当該曲線パス構築オペレータにおける曲線状のパスに近似した折れ線状のパスを決定し、当該曲線パス構築オペレータを前記折れ線状のパスに対応する複数の直線パス構築オペレータに置き換える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ページ記述言語(Page Description Language;PDL)で記述されたページ記述データのうち、ページ記述データに対して特定の処理を行い、よりロバスト性を有するページ記述データ(この明細書において、ロバスト化ページ記述データという。)に変換するページ記述データ処理装置、方法及びプログラムに関する。
【背景技術】
【0002】
近時、印刷製版の分野において、オペレータがコンピュータを利用して作った文字や画像を、DTP(DeskTop Publishing)アプリケーションソフトウエアが組み込まれた前記コンピュータを使って電子的なページに組み込むDTP処理が普及している。
【0003】
上記のDTPアプリケーションソフトウエアでは、作業者によって編集された文字や画像等の要素を基に、ページ毎のイメージを表現するページ記述データが作成される。
【0004】
ページ記述データは、プリンタやプレートセッタ等の出力機の解像度等に依存しないベクトルデータであり、このままでは出力機から出力することができない。そこで、ページ記述データをRIP(Raster Image Processor)でラスタライズ処理(標本化)することにより、ページを構成する文字や画像等の要素をドットの集合として表すラスタイメージデータに変換する。
【0005】
ラスタイメージデータが、プリンタあるいはプレートセッタ等の出力機に供給されると、出力機は、ラスタイメージデータに基づく画像を形成したハードコピーあるいは刷版を出力する(特許文献1参考)。
【0006】
ところで、ページ記述データの一種であるPDF(Portable Document File)version1.3には、折れ線状のパスをストロークする際に適用する複数の処理方式(以下、「ラインジョインスタイル」という。)が実装されている。ここで、「パス」とはそれ自体線幅を有しない、始点と終点とを結ぶ経路であり、「ストローク」とはパスに所定の線幅を付することをいう。
【0007】
PDF version1.3で実装されているラインジョインスタイルのうち「マイタージョイン」は、2つの線分の外縁部を、絵画の額縁のように、ある角度で交わるまで延長する処理方式である。また、「ベベルジョイン」は、2つの線分の端点を角型に打ち切り、線分の端点の先に出来た切り欠き部分を三角形で塗りつぶす処理方式である(非特許文献1参照)。
【0008】
PDFの仕様によれば、2つの線分の交差角が所定値(マイターリミット)以上の場合はマイタージョインを適用し、所定値未満の場合はベベルジョインを適用することが定義付けられている。このように、交差角が鋭角である場合には角部を打ち切ることで過度の突出を抑制することが可能であり、その結果、画像(特に文字画像)の品位を向上することができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2005−70957号公報([0003])
【非特許文献】
【0010】
【非特許文献1】PDFリファレンス 第2版、 Adobe Portable Document Format Version1.3、2008年11月20日初版第5刷発行、著者;アドビシステムズ、発行所;株式会社ピアソン・エディケーション、ISBN4−89471−338−1、119ページ、123−124ページ等参照。
【発明の概要】
【発明が解決しようとする課題】
【0011】
ところが、PDFの上記仕様を用いたとしても、図8Aに示すような曲線状のパスPC(始点A1、終点A2)と直線状のパスPL(始点A2、終点A3)との結合体として表現された線形状に対して、ラスタライズ処理する場合に予期しない問題が生じ得る。以下、ラスタライズ処理の手順を示しながら説明する。
【0012】
図8Bに示すように、RIPは、曲線状のパスPCをストロークするオブジェクトOCに対して、曲線状のパスPC(実線)を複数の線分からなる折れ線状のパスPL1(破線)で近似する。この近似結果は、出力解像度等の出力機固有の特性、RIPのソフトウェアバージョン等に依存する。図8Bでは、曲線A12の区間が結合点J1により2分割されている。
【0013】
次いで、折れ線で近似されたパスPL1を中心線として、所定の線幅を有する各線分の外縁の形状を決定する。このとき、線分J12と線分A23との交差角(∠J123)は、折れ線化により得られた結合点J1の位置関係に応じて変動する。これにより、点A2付近におけるラインジョインスタイルがマイタージョイン或いはベベルジョインのいずれを適用するのか予測が不可能となる。
【0014】
図8Bに示すように、∠J123がマイターリミット未満である場合は、点A3の近傍はベベルジョインで処理される。そうすると、図8Cに示すように、点A2近傍の頂点(切欠領域2)が欠損したストローク領域4が得られる。
【0015】
一方、図8Dに示すように、曲線A12の区間が結合点J2及びJ3により3分割され、折れ線状のパスPL2(破線)として近似されたとする。
【0016】
そうすると、図8Cに示す∠J323は、図8Bに示す∠J123と比べて大きくなる。その結果、∠J323がマイターリミット以上である場合は、点A2の近傍はマイタージョインで処理される。そうすると、図8Eに示すように、点A2近傍の頂点を有するストローク領域6が得られる。
【0017】
図8B及び図8Dのように、曲線A12の区間の分割数に応じて交差角が変化することから、切欠領域2(図8C参照)が不規則に発生する場合がある。また、曲線状のパスをストロークするオブジェクト同士の結合体として表現された線形状に対しても同様の現象が起こり得る。
【0018】
このように、出力解像度等の出力機固有の特性、RIPのソフトウェアバージョン等に起因して、曲線状のパスを折れ線状のパスに近似する際、交差角の不定性が発生することにより、目論見と異なるストローク形状に変換される場合がある。そのため、急峻な線形状を含む画像データに対してラスタライズ処理する場合、発生原因の特定が困難である予期せぬ印刷不具合の一因となり得る。
【0019】
本発明は上記した問題を解決するためになされたもので、急峻な線形状を含む画像データに対してラスタライズ処理を行う際に生じ得る印刷不具合を防止できるページ記述データ処理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0020】
本発明に係るページ記述データ処理装置、方法及びプログラムは、ページ記述データ中にパスをストロークするオブジェクトがあるかどうかを確認し、パスをストロークするオブジェクトが含まれていた場合に、当該オブジェクト中に曲線パス構築オペレータが含まれているかどうかを確認し、曲線パス構築オペレータが含まれていた場合に、当該曲線パス構築オペレータにおける曲線状のパスに近似した折れ線状のパスを決定し、当該曲線パス構築オペレータを前記折れ線状のパスに対応する複数の直線パス構築オペレータに置き換えたページ記述データ(ロバスト化ページ記述データという。)に変換処理する。
【0021】
本発明によれば、曲線パス構築オペレータを折れ線状のパスに対応する複数の直線パス構築オペレータに置き換えるので、RIPによるラスタライズ処理の過程で曲線状のパスを折れ線状のパスに近似する演算処理が実行されなくなり、各線分の交差角が不定になるという現象を未然に防止可能である。これにより、急峻な線形状を含む画像データに対してラスタライズ処理を行う際に生じ得る印刷不具合を防止できる。
【発明の効果】
【0022】
本発明に係るページ記述データ処理装置、方法及びプログラムによれば、曲線パス構築オペレータを折れ線状のパスに対応する複数の直線パス構築オペレータに置き換えるので、RIPによるラスタライズ処理の過程で曲線状のパスを折れ線状のパスに近似する演算処理が実行されなくなり、各線分の交差角が不定になるという現象を未然に防止可能である。これにより、急峻な線形状を含む画像データに対してラスタライズ処理を行う際に生じ得る印刷不具合を防止できる。
【図面の簡単な説明】
【0023】
【図1】この発明の一実施形態に係る出版システムの全体システムの概略構成図である。
【図2】出版システム中、ページ記述データ処理装置の機能ブロック図である。
【図3】曲線ストロークオペレータにより生成された三次ベジェ曲線のパスの概略図である。
【図4】本実施の形態に係るページ記述データ処理装置の動作説明に供されるフローチャートである。
【図5】パス構築オペレータの置換方法を説明するフローチャートである。
【図6】ベジェ曲線のパスに近似した折れ線状のパスを決定する演算処理の概略図である。
【図7】図7A〜図7Cは、本実施の形態に係るラスタライズ処理の説明図である。
【図8】図8A〜図8Eは、比較例に係るラスタライズ処理の説明図である。
【発明を実施するための形態】
【0024】
以下、この発明に係るページ記述データ処理装置、方法及びプログラムの実施形態について、これを実施する出版システムを例として、添付の図面を参照しながら説明する。
【0025】
図1は、この実施形態に係る出版システム10の全体システムの概略構成図を示している。
【0026】
出版システム10は、プリプレス工程と印刷工程並びに図示しない製本工程とから構成される。
【0027】
プリプレス工程には、DTPコンピュータ12と、パーソナルコンピュータ等により構成されるページ記述データ処理装置14と、RIP16と、プリンタ20と、プレートセッタ22が備えられる。
【0028】
DTPコンピュータ12は、オペレータによって編集された文字や画像等の要素を基に、ページ毎のイメージを表現するページ記述言語で記述されたページ記述データDpを作成する。
【0029】
ページ記述データ処理装置14は、DTPコンピュータ12から出力されたページ記述データDpの内容(属性)を調べ、調査結果に応じて、所定の属性を有するページ記述データDpに対して特定の処理を行い、処理後のロバスト化ページ記述データDp´を作成するか、所定の属性を有さないページ記述データDpをそのまま出力する。なお、ページ記述データ処理装置14による処理機能は、DTPコンピュータ12に一体的に組み込み、ページ記述データ処理装置14を省略することもできる。
【0030】
RIP16は、ページ記述データ処理装置14から出力されたページ記述データDp又はロバスト化ページ記述データDp´を、例えばCMYK4版それぞれのラスタイメージデータDrに変換する。
【0031】
プリンタ20は、ラスタイメージデータDrに基づきハードコピーであるプルーフ18を出力する。
【0032】
プレートセッタ22は、プリンタ20によりプリントされたプルーフ18がオペレータによってOKであると判断された場合に、オペレータによる開始スイッチの操作後、RIP16の出力であるラスタイメージデータDrからCMYK4版のそれぞれの刷版PPを作成して出力する。
【0033】
印刷工程には、印刷機24が備えられる。印刷機24には、CMYK4版の刷版PPが装着され、刷版PPに担持されたCMYKのインキが本紙上に転移されて多色(4色)刷りが行われることで印刷物26が完成する。
【0034】
図2は、ページ記述データ処理装置14のCPUがROMに記録されたプログラムを実行することで達成される機能のブロック図を示している。
【0035】
ページ記述データ処理装置14は、入力インタフェース(入力I/F)32を通じて入力したページ記述データDpを分析処理したロバスト化ページ記述データDp´を作成し又は手を加えない元のままのページ記述データDpを作成し、出力インタフェース(出力I/F)34を通じて出力する。
【0036】
ページ記述データ処理装置14は、上記の入出力インタフェース32、34の他、分析処理に係わるオブジェクト確認部36(図示しない構造解析部と、パスオブジェクト有無確認部38と、パスペイントオペレータ属性確認部40とを含む。)と、曲線パス構築オペレータ有無確認部42と、パス構築オペレータ置換部44とを備える。
【0037】
なお、本明細書における「パスオブジェクト」は、直線、矩形、曲線(例えば3次ベジェ曲線)で構成される任意の形状である。
【0038】
また、本明細書における「パスペイントオペレータ」は、パスオブジェクトを終了させるオペレータであり、カレントパスに線幅を付して線を描くオペレータ(以下、便宜のため「ストローク系オペレータ」という。)、又はカレントパスが生成する閉空間を塗りつぶすオペレータ(以下、便宜のため「塗りつぶし系オペレータ」という。)のうちいずれかの属性を有する。
【0039】
さらに、本明細書における「パス構築オペレータ」は、パスの物理的形状を定義するオペレータをいう。PDFでは、「m」「l」「c」「v」「y」「h」「re」の7種類のオペレータが定義されている。
【0040】
さらに、本明細書における「曲線パス構築オペレータ」は、パス構築オペレータのうち、カレントパスに曲線を追加するオペレータをいう。PDFでは、「c」「v」「y」の3種類のオペレータが定義され、いずれのオペレータも3次ベジェ曲線を追加するものである。
【0041】
さらに、本明細書における「直線パス構築オペレータ」は、パス構築オペレータのうち、カレントパスに直線を追加するオペレータをいう。PDFでは、「l」の1種類のオペレータが定義されている。
【0042】
図3は、「c」オペレータが生成する3次ベジェ曲線を示すグラフである。この曲線50は、2つの端点P0(x0,y0)及びP3(x3,y3)並びに2つの制御点P1(x1,y1)及びP2(x2,y2)により定義されている。
【0043】
変数tの値を0〜1まで変化させることにより、始点P0と終点P3とを結ぶ曲線50が生成される。ここで、変数tにおける曲線50上の点の座標P(x(t),y(t))は、次の(1)式及び(2)式で算出される。
x(t)=(1−t)30+3t(1−t)21+3t2(1−t)x2+t33 ……(1)
y(t)=(1−t)30+3t(1−t)21+3t2(1−t)y2+t33 ……(2)
【0044】
ここで、(1)式及び(2)式より、x(0)=x0、y(0)=y0、x(1)=x3、y(1)=y3であることから諒解されるように、変数tが0〜1に変化すると、曲線50上の点Pは、矢印Dの方向に始点P0から終点P3まで連続的に移動する。なお、破線で示す線分P01は点P0における曲線50の接線である。また、破線で示す線分P23は点P3における曲線50の接線である。
【0045】
基本的には、以上のように構成される出版システム10のページ記述データ処理装置14の動作について図4のフローチャートを参照して説明する。
【0046】
ステップS1において、ページ記述データ処理装置14は、DTPコンピュータ12から出力されるページ記述データDpをページ毎に取り込む。
【0047】
ステップS2において、図示しない構造解析部は、ページ記述データDpの構造を解析してページに含まれるオブジェクトを抽出する。その後、パスオブジェクト有無確認部38は、抽出されたオブジェクトにパスオブジェクトが含まれているかどうかを確認する。パスオブジェクトが含まれていない場合には、ページ記述データDpを、変更せずそのまま出力インタフェース34を通じて出力する(ステップS6)。
【0048】
ステップS3において、パスペイントオペレータ属性確認部40は、ステップS2により確認された前記パスオブジェクトにストローク系オペレータ、例えば、オペレータ「S」「s」等が含まれているかどうかを確認する。ストローク系オペレータが含まれていない(すなわち、塗りつぶし系オペレータ「f」「F」等が含まれている)場合には、ページ記述データDpを、変更せずそのまま出力インタフェース34を通じて出力する(ステップS6)。
【0049】
ステップS4において、曲線パス構築オペレータ有無確認部42は、ステップS2及びS3により確認された前記パスオブジェクトに曲線パス構築オペレータ、すなわちオペレータ「c」「v」「y」が含まれているかどうかを確認する。曲線パス構築オペレータが含まれていない(すなわち、オペレータ「m」「l」「h」「re」のみが含まれている)場合には、ページ記述データDpを、変更せずそのまま出力インタフェース34を通じて出力する(ステップS6)。
【0050】
ステップS5において、パス構築オペレータ置換部44は、ステップS4により存在が確認された前記曲線パス構築オペレータを近似した複数の直線パス構築オペレータに置換する。ステップS6において、パス構築オペレータ置換部44により置換されたページ記述データDp’を、出力インタフェース34を通じて出力する。
【0051】
このようにして、図1に示すように、ページ記述データ処理装置14に入力されたページ記述データDpは、そのまま(Dp)又はパス構築オペレータ置換処理が施された後(Dp’)、RIP16側に供給される。
【0052】
次いで、パス構築オペレータの置換方法(図4のステップS5)について図5のフローチャートを参照して詳細に説明する。
【0053】
先ず、各変数の初期化を行う。具体的には、flag(0又は1)、n(非負の整数)、tn(0〜1の実数)をいずれも0に設定する(ステップS51)。各変数の定義及び意味に関しては、必要に応じてその都度説明する。
【0054】
次いで、flagが0であるか否かを判定する(ステップS52)。初期条件下ではflag=0であるので、Δt=0.1と設定される(ステップS53)。ここで、Δtの初期値は0.1に限られず、以下の演算のために適切な値を用いることができる。
【0055】
なお、flagが1の場合はΔt=Δt/2(ステップS54)に設定するが、後ほど詳細に説明する。
【0056】
次いで、所定の算出式に従って、A及びBの値を算出する(ステップS55)。A及びBの意味について図6を参照しながら説明する。
【0057】
図6は、図3に示すベジェ曲線のパスに近似した折れ線状のパスを決定するための演算処理の概略図である。
【0058】
破線で示す直線Tは、曲線50上の点Cn(t=tn)における接線である。(2)式で示すy(t)を用いると、直線Tの傾きはy’(tn)と表すことができる。したがって、点Cn+1(t=tn+Δt)におけるyの値を、Aは、A=y(tn)+y’(tn)Δtと一次近似することができる。一方、点Cn+1(t=tn+Δt)におけるyの実際の値は、B=y(tn+Δt)である。
【0059】
そうすると、|A−B|の値は、曲線50(3次ベジェ曲線)を、点Cnを通る直線Tで一次近似した場合に発生する近似誤差を意味する。
【0060】
次いで、|A−B|<Errを満たすか否かを判定する(ステップS56)。もし、近似誤差|A−B|が許容誤差Errよりも小さい場合は、flagの値を0に設定する(ステップS57)。ここで、Errの値は、描画の再現精度に応じて自在に設定することができる。例えば、2400dpiに相当する印刷機24により印刷物26を印刷する場合は、その半分の解像度である1200dpiに相当する画素サイズ以下の値をErrとして設定することが好ましい。そうすれば、印刷機24の出力解像度に応じて適切な演算処理を行うことができる。
【0061】
一方、近似誤差|A−B|が許容誤差Err以上である場合は、flagの値を1に設定した後(ステップS58)、ステップS52に戻る。このとき、flag=1に設定されているので、ステップS54においてΔt=Δt/2に再設定され、直線T(図6参照)による近似範囲が半分となる。以下、このように、直線Tによる近似範囲を徐々に小さくし、近似誤差が許容値(Err)未満になるまでステップS52〜S56を繰り返す。
【0062】
このように、近似精度が所定の範囲に収まるようにすれば、文字等の品質を安定的に維持することができるので好ましい。
【0063】
次いで、|A−B|<Errであった場合は、tn+Δt≧1を満たすか否かを判定する(ステップS59)。これを満たさない場合、すなわちtn+Δt<1である場合は、曲線50を折れ線に分割する動作が完了していないものと判定される。その後、カレントポイント、すなわち折れ線の結合点を設定し(tn+1=tn+Δt)、次のカレントポイント(n=n+1)の探索動作を開始する(ステップS60)。その後、ステップS52に戻って、以下ステップS52〜S59を繰り返す。
【0064】
一方、tn+Δt≧1を満たす場合は、0≦t≦1のすべての区間について曲線50を折れ線に分割する動作が完了したと判定される。その後、終点(tn=1)を決定するとともに、カレントポイントの個数M(=n+1)を記憶する(ステップS61)。
【0065】
次いで、M個のカレントポイント{Cm}(m=0〜M−1)を算出する(ステップS62)。なお、座標(x,y)は、それぞれ上述した(1)式及び(2)式を用いて算出することができる。
【0066】
最後に、直線パス構築オペレータ群を生成し、その後、曲線パス構築オペレータを直線パス構築オペレータ群に置換する(ステップS63)。すなわち、始点をCm、終点をCm+1とする直線パス構築オペレータを(M−1)個生成する。その後、1つの曲線パス構築オペレータを(M−1)個の直線パス構築オペレータ(オペレータ「l」)に置き換えることで動作は終了する。
【0067】
図7Bは、本実施の形態に係るページ記述データ処理方法を用いて、図7Aに示す線形状のパスを折れ線状のパスに変換した結果を示す。なお、図7Aは、図8Aに示された線形状のパスと同一である。
【0068】
図7Bに示すように、曲線状のパスPC(曲線パス構築オペレータOC)が折れ線状のパスPL1〜PL4(直線パス構築オペレータ群OL1〜OL4)に置き換えられる。この折れ線状のパスは、元の曲線状のパスPCを精度良く再現している。
【0069】
図7Cは、図7Bに示す折れ線状のパスに対し、RIP16によりラスタライズ処理を行った結果を示す図である。
【0070】
ストローク領域100は、ストローク領域4、6(図8C及び図8E参照)と比較して安定的に表現されている。また、オブジェクト内に曲線パス構築オペレータが存在しないので、ラスタライズ処理に起因するジョインスタイルの不定性の影響を一切受けることない。
【0071】
このように、RIP16によるラスタライズ処理を行う直前に、予め曲線状のパスPCから折れ線状のパスPL1〜PL4に置換することにより、印刷機24固有の特性、RIP16のソフトウェアバージョン等に起因する印刷不具合の危険性を回避することができる。これにより、急峻な線形状を含む画像データに対してラスタライズ処理を行う際に生じ得る印刷不具合を防止できる。特に、フォントのアウトライン化や袋文字化の処理をする場合において有効である。
【0072】
なお、この発明は、上述した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。
【0073】
本実施の形態ではPDFを中心に説明したが、ページ記述言語はこれに限定されることはない。例えば、AdobeSystems社のPostScript(登録商標)やXPS(XML Paper Specification)等に対しても本発明を適用できる。
【符号の説明】
【0074】
10…出版システム 12…DTPコンピュータ
14…ページ記述データ処理装置 16…RIP
18…プルーフ 20…プリンタ
22…プレートセッタ 24…印刷機
26…印刷物 36…オブジェクト確認部
38…パスオブジェクト有無確認部
40…パスペイントオペレータ属性確認部
42…曲線パス構築オペレータ有無確認部
44…パス構築オペレータ置換部 50…曲線
100…ストローク領域

【特許請求の範囲】
【請求項1】
ページ記述データ中にパスをストロークするオブジェクトがあるかどうかを確認するオブジェクト確認部と、
パスをストロークするオブジェクトが含まれていた場合に、当該オブジェクト中に曲線パス構築オペレータが含まれているかどうかを確認する曲線パス構築オペレータ有無確認部と、
曲線パス構築オペレータが含まれていた場合に、当該曲線パス構築オペレータにおける曲線状のパスに近似した折れ線状のパスを決定し、当該曲線パス構築オペレータを前記折れ線状のパスに対応する複数の直線パス構築オペレータに置き換えるパス構築オペレータ置換部と
を備えることを特徴とするページ記述データ処理装置。
【請求項2】
請求項1記載のページ記述データ処理装置において、
前記パス構築オペレータ置換部は、前記曲線状のパスに対する近似精度が所定の範囲に収まるように折れ線状のパスを決定する
ことを特徴とするページ記述データ処理装置。
【請求項3】
ページ記述データにパスをストロークするオブジェクトがあるかどうかを確認するステップと、
パスをストロークするオブジェクトが含まれていた場合に、当該オブジェクト中に曲線パス構築オペレータが含まれているかどうかを確認するステップと、
曲線パス構築オペレータが含まれていた場合に、当該曲線パス構築オペレータにおける曲線状のパスに近似した折れ線状のパスを決定し、当該曲線パス構築オペレータを前記折れ線状のパスに対応する複数の直線パス構築オペレータに置き換えるステップと
を備えることを特徴とするページ記述データ処理方法。
【請求項4】
コンピュータを、
ページ記述データ中にパスをストロークするオブジェクトがあるかどうかを確認する手段、
パスをストロークするオブジェクトが含まれていた場合に、当該オブジェクト中に曲線パス構築オペレータが含まれているかどうかを確認する手段、
曲線パス構築オペレータが含まれていた場合に、当該曲線パス構築オペレータにおける曲線状のパスに近似した折れ線状のパスを決定し、当該曲線パス構築オペレータを前記折れ線状のパスに対応する複数の直線パス構築オペレータに置き換える手段
として機能させるためのページ記述データ処理用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate