JP2005210538A - 画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム - Google Patents

画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2005210538A
JP2005210538A JP2004016397A JP2004016397A JP2005210538A JP 2005210538 A JP2005210538 A JP 2005210538A JP 2004016397 A JP2004016397 A JP 2004016397A JP 2004016397 A JP2004016397 A JP 2004016397A JP 2005210538 A JP2005210538 A JP 2005210538A
Authority
JP
Japan
Prior art keywords
image
latent image
pattern
block
print
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
JP2004016397A
Other languages
English (en)
Inventor
Tatsuro Uchida
達郎 内田
Hiroshi Omura
宏 大村
Yoshihiro Takagi
義博 高木
Masaki Aritomi
雅規 有富
Yasuhiro Kujirai
康弘 鯨井
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 JP2004016397A priority Critical patent/JP2005210538A/ja
Publication of JP2005210538A publication Critical patent/JP2005210538A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 地紋印刷において複数の潜像文字列がある場合であっても、顕像後の各潜像文字列の可読性を向上させ、潜像文字列に含まれる意味を容易に理解可能にする。
【解決手段】 各文字列サイズを計算する(S5401)。ステップS5401で求めた各々の文字列サイズの情報からブロックサイズを算出する(S5402)。ブロック内における各文字列の位置を割り出す(S5403)。各文字列の開始位置を計算する(S5403)。印刷領域に対して指示された配置方法に従いブロックを配置する。そして、各ブロックの原点に、先にステップS5403で求めた各文字列の相対開始位置を加算することで、各々の文字列の物理的な配置位置を決定する(S5404)。
【選択図】 図27

Description

本発明は画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラムに関し、詳しくは、パーソナルコンピュータ等の情報処理装置とプリンタなどの印刷装置を有して構成されるシステムにおいて、複写物の使用などを牽制する地紋画像を含んだ画像を生成し、プリントする際の処理に関するものである。
従来、帳票や住民票などの複写を禁止、あるいは抑止する目的で、これらのコンテンツは偽造防止用紙と呼ばれる特殊な印刷を施した用紙に印刷されていた。この偽造防止用紙は、原本においては人間にとって見えにくいが、複写機などを用いて複写した場合には「禁複写」の文字などが浮び上がるような用紙であり、これにより、複写する者にその複写物の使用などを躊躇わせる効果を生じさせるものである。延いては、このような帳票などは偽造防止用紙に印刷されているとして、複写そのものを抑止する効果をも生じさせるものである。しかし、このような偽造防止用紙は、通常の用紙と比較してコストが高いという問題があり、また、偽造防止用紙の製作時に設定されている文字しか浮び上がらせることができず、その用紙の用途が限られるなど、用途に関して柔軟性に欠ける部分がある。
一方、様々なコンテンツのデジタル化が進む中、帳票や住民票などのコンテンツも同様にデジタル化されている。しかしながら、これら帳票や住民票の利用など、その扱いに関するデジタル化は、まだ過渡期にあり、コンピュータを用いて作成したコンテンツを、プリンタなどを用いて紙に出力して利用することが多い。
こうした状況に加えて、近年のプリンタの性能の飛躍的な向上も起因して、従来の偽造防止用紙と同様の効果をコンピュータとプリンタを用いて行う技術が注目されている(特許文献1)。これは、コンピュータを用いて作られたコンテンツを、プリンタを用いて印刷出力する際に、コンテンツの背景に地紋と呼ばれる画像を重ねて出力する技術である。地紋画像は、原本(プリンタで出力した印刷物)においては単なる模様などに見えるが、複写すると所定の文字などが浮び上がるようなものであり、複写した者に偽造防止用紙と同様の牽制効果を与えることができる。
コンピュータを用いて作成した地紋画像を重ねて出力する場合、当然のことながら通常の印刷用の紙などを用いて出力できるため、偽造防止用紙に比べてコストの面で利点がある。更に、コンテンツを印刷出力する際に地紋画像を生成することができ、これにより、基本的に複写の際に顕在化させる文字等を自由に定めることが可能となる。あるいは、「禁複写」など一定の予め定まった静的な文字列などに加えて、ユーザ名や出力日時などの動的もしくは任意の文字列を浮び上がらせることができるという利点もある。
地紋画像は、上述したように、複写をした場合複写前には認識できなかった所定の文字などが顕在化し、その複写物を使用等することを抑止する効果を実現するものである。この効果を実現すべく、地紋画像は、基本的に、複写後に画像が残る領域と複写後に画像が消えるか、あるいは上記の残る領域に較べて薄くなって認識し難くなる領域の2つの領域から構成される。この2つの領域は印刷した状態ではほぼ同じ濃度であり、マクロ的には、一見すると「禁複写」などの複写によって顕在化する文字などが隠れていることが分からないが、ミクロ的には、例えば、印刷のドットのレベルでは以下に示されるようにそれぞれ異なる特性を持っている。この隠されていて複写によって現れる文字などの画像を「潜像(あるいは潜像画像)」と呼び、複写によって消えるかあるいは薄くなる画像を「背景(あるいは背景画像)」と便宜的に呼ぶ。そして、地紋画像は、基本的にこの潜像画像と背景画像からなるものであり、また、後述のカモフラージュ画像を更に含む場合もある。尚、ユーザインタフェース上の用語として潜像を前景と呼ぶ場合もある。
但し、地紋印刷は上記構成に限定されるものではなく、複写時にユーザが認識可能に「禁複写」などの文字列などが現れる(顕像化する)ように構成すればよい。つまり、文字列などが背景部として指定され、複写時に白抜き文字のような状態で示されても地紋印刷としてはその目的を達成することになる。この場合、潜像部と背景部の上述したドットの集中と分散の関係は白抜きでないものと逆の関係となることはもちろんである。
さて、複写後にドットが残る領域(潜像部または前景部)はドットが集中したドットの塊の集まりで構成され、複写後にドットが消える領域(背景部)は分散したドットの集まりで構成される。更に、それぞれの集まりが濃度が同じになるよう構成されることにより、潜像部と背景部の濃度をほぼ同じものとすることができる。
図33は、この2つの領域を示す図である。同図に示すように、ドットが分散して配置される背景部と集中したドットの塊が配置される潜像部によって地紋画像が構成される。このふたつの領域は、それぞれ異なる網点処理や異なるディザ処理により生成することができる。網点処理を用いて地紋画像を生成する場合、潜像部は低い線数の網点処理、背景部は高い線数の網点処理が適している。ディザ処理を用いて地紋画像を生成する場合、潜像部はドット集中型ディザマトリクスを用いたディザ処理、背景部はドット分散型ディザマトリクスを用いたディザ処理が適している。
一般に複写機には、原稿の微小なドットを読み取る入力解像度や微小なドットを再現する出力解像度に依存した再現能力の限界が存在する。地紋画像の背景部のドットが、複写機で再現できるドットの限界より小さく形成され、潜像部のドット塊が限界より大きく形成されている場合、複写により地紋画像の大きなドット塊による画像は再現され、小さなドットによる画像は再現されず、潜像が顕在化される。また、複写によって分散した小さなドットが完全に消えなくとも、集中したドット塊と比較して複写後の濃度がより低い場合でも、潜像は相対的により顕著に認識できる。このように画像が浮び上がる画像は顕像と呼ばれる。
図34(a)および(b)は、この顕像化を示す図である。同図は集中したドットの塊の集まりによる潜像が現れ、分散したドットによる背景が消えた場合を示している。
また、地紋画像には、潜像をより認識しにくくする「カモフラージュ」という技術が適用されることも良く知られている。カモフラージュは、潜像部や背景部とは濃度を異ならせた模様を地紋画像全体に配置する技術であり、一見、潜像部や背景部とは異なる濃度のカモフラージュ画像が目立ち、潜像が更に目立たなくなる効果がある。また、カモフラージュ画像が存在する地紋画像は、印刷物に装飾的な印象を与える効果もある。図35(a)はカモフラージュ画像が施されない地紋画像を示し、同図(b)はカモフラージュ画像を施した地紋画像を示している。このカモフラージュ画像は、複写後に顕在化される潜像の判別が容易となるように、その画像を構成するドットができるだけ複写後に消失することが望ましい。これは、例えば、図35(b)に示すように、カモフラージュ画像を地紋画像の中に形成された輪郭のみの画像とし、その輪郭に相当する箇所にドットを打たないことで実現することができる。
地紋画像において、潜像用オブジェクトは地紋画像を適用する領域内にタイル状に敷き詰めて配置されるのが一般的である。これは同じオブジェクトを繰り返し配置することで、オブジェクトの意味を強調し、複写物であること及びその意味を容易に認識・可読する効果を狙って行われるものである。例えば単一のオブジェクトを潜像用のオブジェクトとする場合、潜像画像の上下左右に適切なマージンを設け、これをタイル状に敷き詰めることで、容易に潜像オブジェクトの強調と認識性の向上という目的が達成される。
特開2001−197297号公報
しかしながら、潜像オブジェクトが複数あり、各オブジェクトの長さや高さなどのサイズが異なる場合などにおいて、各オブジェクト単位での繰り返し処理を行うと、潜像オブジェクトの可読性が著しく低下することがある。このような場合、潜像オブジェクトの意味を強調する目的が達成することができないという問題があった。
図36は印刷日及び時刻、ユーザ名、任意文字列をそれぞれ個別の潜像オブジェクトとし、これらをオブジェクト単位で繰り返すようにして生成した地紋画像を付加したプリント出力物を複写して得られた原稿のうち、地紋画像に埋め込まれていた潜像画像が顕像化した場合のを示したものである。同図に示す例では、印刷日および時刻には“2003/10/31 23:58”、ユーザ名には“User”、任意文字列には“この文章を印刷しました。”と、それぞれに対応するオブジェクトを繰り返し配置している。なお、本明細書における「オブジェクト」とはフォントデータから生成されるテキストや、ロゴ画像などのイメージなどを含むものである。以下、説明を簡略化するため、オブジェクトはテキストデータからなる文字列として説明を行う。
さて、図36に示した3つの潜像オブジェクトとしてのこの3行の文字列は、「“2003/10/31 23:58”に“User”が“この文章を印刷しました。”」という意味を表現しようとしているが、容易に理解できるとは言い難い。この可読性の悪さは、文字列ごとに繰り返した配置、換言すれば、他の文字列の長さや配置個所を考慮しないで画像を生成しているため、全体としての可読性が低下していることによる。
本発明は以上のような問題点を鑑みて考案されたものであり、その目的とするところは、地紋印刷において複数の潜像用オブジェクトを用いて地紋画像を生成する場合であっても、顕像後の各潜像用オブジェクトの可読性を向上させることで、地紋画像が埋め込まれた印刷出力物を複写して得られた複写物における潜像画像のメッセージ性を高める画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラムを提供することにある。
このような目的を達成するために、本発明に係る画像処理装置は、印刷出力する画像に付加される地紋パターンを生成する画像処理装置であって、複数の潜像用オブジェクトを指定可能な入力手段と、前記入力手段で指定された複数の潜像用オブジェクトをまとめてブロック化し、該ブロックを1つの潜像画像として地紋パターンを生成する生成手段とを備える。
ここで、前記生成手段は、前記複数の潜像用オブジェクトの各々のサイズを算出するオブジェクトサイズ算出手段と、前記オブジェクトサイズ算出手段により算出されたオブジェクトのサイズから、前記ブロックのサイズを算出するブロックサイズ算出手段と、前記ブロックサイズ算出手段によりサイズが算出されたブロック内における各潜像用オブジェクトの開始位置を決定する開始位置決定手段と、前記開始位置決定手段により決定された開始位置から各文字列を配置する配置手段とを有するものとすることができる。
ここで、前記入力手段は前記ブロックの配置方法を指定可能であり、前記生成手段は前記入力手段から指定された配置方法に従い前記ブロックを有効印刷領域に配置した地紋パターンを生成するものとすることができる。
本発明に係る画像処理方法は、印刷出力する画像に付加される地紋パターンを生成するコンピュータにより実行される画像処理方法であって、複数の潜像用オブジェクトを指定するステップと、前記指定するステップにおいて指定された複数の潜像用オブジェクトをまとめてブロック化し、該ブロックを1つの潜像画像として扱い地紋パターンを生成するステップとを備える。
ここで、前記生成するステップは、前記複数の潜像用オブジェクトの各々のサイズを算出するステップと、算出された前記オブジェクトのサイズから前記ブロックのサイズを算出するステップと、前記サイズが算出されたブロック内における各潜像文字列の開始位置を決定するステップと、決定された前記開始位置から各文字列を配置するステップとを有するものとすることができる。
ここで、前記指定するステップは前記ブロックの配置方法を指定するステップを有し、前記配置するステップは指定された前記配置方法に従い前記ブロックを有効印刷領域に配置した地紋パターンを生成するものとするこができる。
本発明に係るコンピュータプログラムは、コンピュータを上記の画像処理装置として機能させる。
本発明に係る地紋パターン生成方法は、印刷出力する画像に付加される地紋パターンを生成する地紋パターン生成方法であって、複数の潜像用オブジェクトを指定するステップと、前記指定するステップにおいて指定された複数の潜像用オブジェクトの各々を所定の位置を基準として縦方向に配置し、前記配置した複数の潜像用オブジェクトを用いて地紋パターンを生成するステップとを有する。
ここで、前記縦方向に配置した複数の潜像用オブジェクトを1つの基本パターンとするステップを有し、前記基本パターンを所定の方向に繰り返すことで地紋パターンを生成するものとすることができる。
本発明によれば、複数の潜像用オブジェクトをまとめてブロック化し、該ブロックを1つの潜像画像として地紋パターンを生成することで、可読性が向上した潜像用オブジェクトを地紋画像に埋め込むことが可能となる。結果として、複写後に浮き上がる潜像画像のメッセージ性を高めることができる。
以下、図面を参照して本発明を適用するのに好適な実施の形態を詳細に説明する。
図1から図26は、本発明の一実施形態に係わる情報処理装置であるホストコンピュータと印刷装置であるプリンタを有して構成されるシステムにおける、印刷処理およびそれに伴う地紋画像の描画データの生成に関する構成を説明するとともに、後述される本発明の地紋画像の表示・生成のいくつかの実施形態ための前提となる構成を説明する図である。以下、これらの図を参照して地紋画像表示の前提となる構成について説明する。
なお、本実施形態においては、複写時に顕像化する部分を潜像部(潜像画像)または前景部(前景画像)と定義し、複写時に消失または潜像部に比較して薄くなる部分を背景部(背景画像)と定義して説明を行う。そして、「禁複写」などのテキスト情報などのオブジェクトを指定し、複写物ではこの指定情報が顕像化するもの(潜像部)としている。しかしながら本発明における地紋画像はこれに限られるものではなく、複写物においてテキスト情報が周囲の画像に対して白抜き文字のように表現される(顕像化する)形態であってもよい。この場合、上述した潜像部と背景部の定義が反対となるが、これは本実施形態を説明するにあたって、本発明の理解を容易とするための一例として定義したものであり、本発明の本質に影響を与えるものではない。また、本発明における「オブジェクト」とはフォントデータから生成されるテキスト情報や、ロゴ画像などのイメージなどを含むものである。以下、説明を簡略化するため、オブジェクトはテキストデータからなる文字列として説明を行う。また、本発明は、地紋画像の種類や生成処理、色、形状、サイズなどによって規定されるものではない。
<印刷システムの構成>
図1は本発明の実施形態を示すプリンタ制御システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
同図において、ホストコンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、後述される本発明の各実施形態に係わる処理を含む、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理およびそれに基づく印刷処理の実行を制御するCPU1を備える。このCPU1は、システムバス4に接続される各デバイスの制御を総括する。また、ROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステム(以下OS)等を記憶し、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データを記憶する。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)5は、キーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10による表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インタフェース21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
プリンタ1500は、そのCPU12により制御される。プリンタCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に印刷出力情報としての画像信号を出力する。また、このROM13のプログラム用ROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶され、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ1500内の情報等をホストコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するメモリで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、入力部18には前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作部1501からのプリンタモード設定情報を記憶するようにしてもよい。
印刷部17は本実施形態では電子写真方式のエンジンを備えており、従って、画像の印刷およびそれに伴う地紋画像はそれらの印刷データに従って形成されるトナーのドットによって印刷が行われる。なお、本発明の適用上印刷の方式はこのような電子写真方式に限られないことはもちろんであり、例えば、インクジェット方式など、ドットを形成して印刷を行う方式の印刷方式にも本発明を適用することができる。
図2は、図1に示したホストコンピュータ3000における印刷処理のための構成の一例を示す。アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
グラフィックエンジン202は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取るGDI(Graphic Device Interface)関数をDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経て双方向性インタフェース21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
本実施形態の印刷システムは、プリンタドライバ203内に地紋処理部205を有する。地紋処理部205はプリンタドライバ203のビルトインモジュールであってもよいし、個別のインストーレーションによって追加されるライブラリモジュールの形式であっても構わない。また、プリンタドライバ203は、地紋画像の印刷に関し、その地紋処理部205の実行により、後述の地紋画像の描画などの処理を行う。
<印刷関連のソフトウエアモジュール>
図3は、ホストコンピュータ3000における印刷処理のための構成の他の例を示す図である。
同図は、図2に示した構成を拡張したものであり、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。図2の構成では、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からの全ての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図3の構成は、スプーラ302が全ての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点で開放されるという点で異なっている。通常、後者の方がアプリケーションによる印刷処理が短時間で済む。また、図3で示す構成においては、スプールファイル303の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
これらの目的のために、図2の構成に対し、図3に示すように中間コードデータでスプールするよう、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ203がCRTディスプレイ(CRT)10に表示させるウィンドウから設定を行い、プリンタドライバ203がその設定内容をRAM2上あるいは外部メモリ11上に保管する。
以下、図3に示す構成の詳細を説明する。同図に示す通り、この拡張された処理方式では、グラフィックエンジン202からの印刷命令であるDDI関数をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令(DDI関数)を送付する。
スプーラ302は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル303に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定(Nup、両面、ステープル、カラー/モノクロ指定等)をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル303に保存する。このジョブ単位に格納されている設定ファイルをジョブ設定ファイル(簡略してSDF:Spool Description Fileと呼ぶこともある)と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成されても構わない。更にスプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードし、デスプーラ305に対して、スプールファイル303に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
デスプーラ305はスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックエンジン202経由でGDI関数を出力する。その際、地紋画像の印刷に関する描画については、地紋処理部205をロードし、描画処理を行う。
ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)がデスプーラ305からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。
プリンタドライバ203はグラフィックエンジン202から取得したDDI関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
更に、図3は、上述した拡張システムに加えて、プレビューア306、設定変更エディタ307を配し、地紋画像のプレビューを含むプレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図4に示すプリンタドライバのプロパティシートにおいて、「出力先の指定」を行う手段であるプルダウンメニュー901において「ストア」を指定する必要がある。なお、プレビューだけをみたい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてOSが提供する構造体(Windows(登録商標)OSでは、DEVMODEと呼ばれる)に格納される。その構造体には、例えばスプールファイル303に含まれる加工設定ファイル中にスプールファイルマネージャ304にストアを行うかどうかの設定が含まれている。スプールファイルマネージャ304がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル303にページ描画ファイルとジョブ設定ファイルとが生成・格納される。そして、スプールファイルマネージャのウィンドウ画面がポップアップされ、スプールファイル303にスプールされたジョブがリスト表示される。
スプールファイルマネージャのウィンドウ画面上で、ある単体ジョブまたは結合ジョブのプレビュー指定がされた場合、外部メモリ11に格納されているプレビューア306をRAM2にロードし、プレビューア306に対して、スプールファイル303に記述された中間コードのジョブのプレビュー処理を行うように指示する。
(プレビューア)
プレビューア306はスプールファイル303に含まれる中間コードのページ描画ファイル(PDF)を順次読み出し、スプールファイル303に格納されているジョブ設定ファイル(SDF)に含まれる加工設定情報の内容に従って加工する。グラフィックエンジン202に対してGDI関数を出力する。グラフィックエンジン202が自身の確保するクライアント領域に描画データを出力することによって、画面上の出力が可能となる。
グラフィックエンジン202は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア306は、デスプーラ305同様に、スプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、グラフィックエンジン202を利用して出力する方法で実現可能となる。このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルとしてスプールファイル303に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力する。
通常の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。これに対し本発明では上述の処理を行うことにより、実際の描画データがどのように印刷されるか、更には、Nup(Nページの論理ページを1ページの物理ページに縮小配置して印刷する処理)指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。
上記のようにプレビュー処理を行うことにより、スプールファイル303に含まれる印刷の加工設定の大プレビューがプレビューア306によって画面上に表示される。図5はプレビューア306が表示するプレビュー画面の一例である。その後、ユーザの非表示指示によって、プレビューア306がクローズされ、制御が図6に示すようなスプールファイルマネージャのウィンドウ画面に移行する。そして、ユーザがプレビューア306によって表示された内容に従って印刷を行うとき、スプールファイルマネージャ304上で、「印刷」または「セーブして印刷」を指示することにより印刷要求を発行する。この印刷要求により、前述したようにデスプーラ305がジョブ設定ファイルに基づいてページ描画ファイルを加工してGDI関数を生成し、グラフィックエンジン202に伝える。グラフィックエンジン202からディスパッチャ301経由でプリンタドライバ203に印刷命令が送られ、印刷が実行される。
(設定変更エディタ)
次に、設定変更エディタ307を用いた設定変更について説明する。その実現方法としては、プレビュー同様、図4に示す「ストア」指定されたジョブに関して設定変更が可能である。プレビューと同様の手順によりスプールファイルマネージャ304のウィンドウがポップアップされ、スプールされたジョブがリスト表示される。スプールファイルマネージャのウィンドウ画面上で、「ジョブ編集」が指定され、設定変更指示がされた場合、外部メモリ11に格納されている設定変更エディタ307をRAM2にロードし、設定変更エディタ307に対して、現在またはデフォルトの加工設定の表示を行うように指示する。そしてジョブ設定画面が表示される。
設定変更エディタ307は、「ジョブ編集」が指定されたジョブのジョブ設定ファイルをスプールファイル303から取得し、そのジョブ設定ファイルに指定されている設定項目に基づいてジョブ設定画面のデフォルト値を変更する。この設定変更エディタ307でもスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容に従って加工し、グラフィックエンジン202を用いてメモリに出力することによって、画面上の小プレビュー出力が可能となる。
また、ここで、スプールファイル303に格納されているジョブ設定ファイルに含まれる加工設定の内容を変更、修正することが可能である。その際、設定変更エディタ307上のユーザインタフェースがプリンタドライバ203の設定可能な項目を持つこととしてもよく、あるいはプリンタドライバ203自身のユーザインタフェースを呼び出しても構わない。ここでは、部数、印刷方法(片面、両面、製本印刷)、ステープル(サドルフィニッシャー等)、ページレイアウト、配置順等の指定ができ、また「詳細設定」を押下することにより、プリンタドライバで指定できる項目の大半を設定し直すことが可能となる。ただし、地紋印字は所定範囲の印刷品位により実現されるので、解像度、グラフィックモード等の印刷品位に関する設定の変更は許可しないものとする。
ここで変更された変更項目は設定変更エディタ307上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ304に移行する。変更が認証されたものは、印刷設定の変更を保存することになるが、オリジナルのジョブ設定ファイルには保存せずに、ジョブ編集等で用いられるジョブ出力用設定ファイルを新たに生成して保存することになる。ジョブ出力用設定ファイルについての詳細は、図11以降を参照して後述する。
そして、ユーザがプレビューア306での確認後、設定変更内容に従って印刷を行うならば、スプールファイルマネージャ304上で、印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられる。グラフィックエンジン202からディスパッチャ301経由でプリンタドライバ203に印刷命令が送られ、印刷が実行される。
また、スプールファイルマネージャのウィンドウ画面では、複数の印刷ジョブを結合し、一つの印刷ジョブとして印刷するように指定することが可能である。これも、プレビュー、設定変更同様、図4に示すプリンタドライバのプロパティにおいて出力先を「ストア」指定されたジョブが前提となる。また、出力データを一旦保存した上で、本体側の操作で出力できる機能(メールボックス)やセキュアプリントなどの機能もプルダウンメニュー901より選択可能である。
ユーザが印刷ジョブの結合を行う場合、まず、アプリケーション201からプリンタドライバ203を呼び出し、図4に示すようなユーザインタフェースから「ストア」を選択する。上記と同様、この選択により中間コードデータがスプールファイル303にストアされ、スプールファイルマネージャのウィンドウ画面がポップアップされる。スプールされたジョブはスプールファイルマネージャのウィンドウ上にリスト表示される。アプリケーション201から同様の操作をすることにより、スプールファイルマネージャ304上に複数ジョブのリスト表示がなされる。
ここで、複数ジョブを選択し、「結合」が指定された場合、外部メモリ11に格納されている設定変更エディタ307をRAM2にロードし実行する。ユーザは、設定変更エディタ307に対して、リスト上の先頭ジョブまたはデフォルトの加工設定の表示を行うように指示する。そして結合設定画面が表示される。ここでは、設定変更エディタ307を結合設定画面として用いているが、別モジュールのものを用いても構わない。
この設定変更エディタ307は、スプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に格納されているジョブ設定情報に含まれる加工設定の内容に従って加工し、結合ジョブとして指定された全てのジョブに対して、グラフィックエンジン202を用いてメモリに出力することによって、画面上の出力を行う。その際、プレビュー領域に選択された全てのジョブの小プレビューが可能となる。また、結合ジョブを生成する際に、それぞれの単体ジョブのジョブ設定ファイルを拡張したジョブ出力用設定ファイルを生成する。このジョブ出力用設定ファイルは、ジョブ編集を行う際にも生成されるものであり、1つのジョブに対して1つできるものであり、結合ジョブの場合もまた1つ生成される。
ここではそれぞれのジョブに対して、結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ203の設定可能な項目を設定変更エディタ307上のユーザインタフェースで設定可能としてもよく、あるいはプリンタドライバ203自身のユーザインタフェースを呼び出しても構わない。
ここで結合されたジョブおよび変更された変更項目は、前述したように、設定変更エディタ307上の認証要求に従い、変更が認証され、制御がスプールファイルマネージャ304に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウィンドウ上で1つの結合ジョブとして表示される。
そして、ユーザがプレビューア306での確認同様、設定変更内容に従って印刷を行うならば、スプールファイルマネージャ304上で、印刷要求を発行する。印刷要求はグラフィックエンジン202に伝えられる。グラフィックエンジン202からディスパッチャ301経由でプリンタドライバ203に印刷命令が送られ、印刷が実行される。
<印刷用中間データの保存処理>
図7は、スプーラ302により実行される、スプールファイル303の生成におけるページ単位保存ステップの処理を示すフローチャートである。
同図において、まずステップS501では、スプーラ302は、アプリケーション201からグラフィックエンジン202を介して印刷要求を受け付ける。アプリケーションにおいては、図8に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ302に渡される。図8に示す設定入力ダイアログにおいては、リストボックス801のように1物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
ステップS502では、受け付けた印刷要求がジョブ開始要求か判定し、ここで、ステップS502でジョブ開始要求であると判断した場合には、ステップS503に進み、中間データを一時的に保存するためのスプールファイル303を作成する。続いて、ステップS504では、スプールファイルマネージャ304へ印刷処理の進捗を通知し、続くステップS505でスプーラ302のページ数カウンタを1に初期化する。ここで、スプールファイルマネージャ304においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル303より読み込み、記憶する。
一方、ステップS502において、ジョブ開始要求ではなかったと判断した場合には、ステップS506に進む。このステップS506では、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップS507に進み、改ページかどうかの判別を行う。もしもステップS507で改ページであると判断した場合には、ステップS508に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。
ステップS507において、受け付けた印刷要求が改ページではないと判断した場合には、ステップS509に進み、ページ描画ファイルへの中間コードの書き出しの準備を行う。
次に、ステップS510では、印字要求をスプールファイル303へ格納するため、印字要求のDDI関数の中間コードへの変換処理を行う。ステップS511では、ステップS510において格納可能な形に変換された印刷要求(中間コード)をスプールファイル303のページ描画ファイルへ書き込む。その後、ステップS501に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップS501からステップS511までの処理を、アプリケーションよりジョブ終了要求(EndDoc)を受け取るまで続ける。また、スプーラ302は、上記処理中にプリンタドライバ203からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル303に格納する。一方、ステップS506にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップS512に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知し、処理を終える。
<スプールファイルの生成>
図9は、スプールファイルマネージャ304により実行される、スプールファイル303生成プロセスと以降説明する印刷データ生成プロセスの間での制御の詳細を示すフローチャートである。
ステップS601では、スプールファイルマネージャ304は、スプーラ302あるいはデスプーラ305からの印刷処理の進捗通知を受け付ける。
ステップS602では、進捗通知が前述のステップS504において通知されるスプーラ302からの印刷開始通知であるかどうか判定し、もしそうであればステップS603へ進み、印刷の加工設定をスプールファイル303から読み込み、ジョブの管理を開始する。一方、ステップS602において、スプーラ302からの印刷開始通知でなければステップS604へ進み、進捗通知が前述のステップS508において通知されるスプーラ302からの1論理ページの印刷終了通知であるか否かを判定する。ここで1論理ページの印刷終了通知であればステップS605へ進み、この論理ページに関する論理ページ情報を格納する。そして、続くステップS606では、この時点でスプールが終了したn論理ページに対して、1物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はステップS607へ進み、印刷する1物理ページに対して割り付けられる論理数から物理ページ番号を決定する。
物理ページの計算については、例えば、加工設定が1物理ページに4論理ページを配置するような設定の場合、第1物理ページは第4論理ページがスプールされた時点で印刷可能となり、第1物理ページとなる。続いて、第2物理ページは第8論理ページがスプールされた時点で印刷可能となる。
また、論理ページ数の総数が1物理ページに配置する論理ページ数の倍数でなくても、ステップS512におけるスプール終了通知によって1物理ページに配置する論理ページが決定可能である。
そして、ステップS608では、図11に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がジョブ出力用設定ファイル(物理ページ情報を含むファイル)に保存され、物理ページ情報が1物理ページ分追加されたことがデスプーラ305に通知される。その後ステップS601に戻り、次の通知を待つ。本実施形態においては、印刷ジョブのスプールが全て終了していなくても、印刷データ1ページ、即ち1物理ページを構成する論理ページがスプールされた時点で印刷処理が可能である。
一方、ステップS604において、進捗通知がスプーラ302からの1論理ページの印刷終了通知でなかった場合ステップS609へ進み、前述のステップS512において通知されるスプーラ302からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップS606へ進む。一方、ジョブ終了通知でない場合、ステップS610へ進み、受け付けた通知がデスプーラ305からの1物理ページの印刷終了通知であるかどうか判定する。ここで、1物理ページの印刷終了通知である場合はステップS611へ進み、印刷が全て終了したかを判定する。印刷終了した場合、ステップS612へ進み、デスプーラ305に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述のステップS606へ進む。本実施形態におけるデスプーラ305は印刷処理を行う単位として1物理ページ数を想定している。また、ステップS608では、1物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、1物理ページ単位で次々と上書きし、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合、ステップS608で1物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じた通知を行ってもよい。例えば、複数物理ページまたは全物理ページが印刷可能になったことを通知すれば、通知回数を節約することが可能である。
ステップS610において、通知がデスプーラ305からの1物理ページの印刷終了通知でないと判断された場合、ステップS613へ進み、スプールファイルマネージャ304は、デスプーラ305からの印刷終了通知かどうかを判定する。通知がデスプーラ305からの印刷終了通知と判定された場合、ステップS614へ進み、スプールファイルマネージャ304は、スプールファイル303の該当するページ描画ファイルの削除を行い、処理を終える。一方、デスプーラ305からの印刷終了通知でなかった場合はステップS615へ進みエラー処理を実行する。その後、図示しないその他の処理を実行し、次の通知を待つ。
<スプールファイルの出力>
図10は、デスプーラ305により実行される、印刷データの生成プロセスの詳細を示すフローチャートである。
デスプーラ305は、スプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報(ページ描画ファイルおよびジョブ設定ファイル)を読み出して印刷データを生成する。生成された印刷データにおけるプリンタへの転送方法については図3を用いて前述した通りである。
印刷データの生成では、まず、ステップS701において、前述のスプールファイルマネージャ304からの通知を入力する。続くステップS702では、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップS703へ進み、終了フラグを立て、ステップS705へ進む。一方、ステップS702においてジョブ終了通知でない場合は、ステップS704に進み、前述のステップS608における1物理ページの印刷開始要求が通知されたかどうか判定する。ステップS704において開始要求と判定されなかった場合は、ステップS710へ進み、その他エラー処理を行い、ステップS701へ戻り次の通知を待つ。一方、ステップS704において1物理ページの印刷開始要求と判定された場合は、ステップS705へ進み、ステップS704で通知を受けた印刷処理可能な物理ページのIDを保存する。続くステップS706では、ステップS705で保存した物理ページIDの全てのページに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの処理が済んでいる場合は、ステップS707へ進み、前述のステップS703で終了フラグが立てられているのか判定する。終了フラグが立っている場合は、ジョブの印刷が終了したとみなし、デスプーラ305の処理終了の通知をスプールファイルマネージャ304に通知し、処理を終える。ステップS707で、終了フラグが立っていないと判定された場合は、ステップS701へ戻り次の通知を待つ。一方、ステップS706で、印刷可能な物理ページが残っていると判定された場合には、ステップS708へ進み、保存された物理ページIDから未処理の物理ページIDを順に読み出し、読み出した物理ページIDに対応する物理ページの印刷データ生成に必要な情報を読み込み、印刷処理を行う。印刷処理はスプールファイル303に格納された印刷要求命令をデスプーラ305においてグラフィックエンジン202が認識可能な形式(GDI関数)に変換し、転送する。本実施形態のような、複数論理ページを1物理ページにレイアウトするような加工設定(以下Nページ印刷)については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理を終えたならば、続くステップS709において1物理ページの印刷データ生成終了の通知をスプールファイルマネージャ304に対して行う。そして再びステップS706へ戻り、ステップS705で保存しておいた印刷可能な物理ページID全てについて印刷処理を行うまで繰り返す。
以上が、ディスパッチャ301、スプーラ302、スプールファイルマネージャ304、デスプーラ305を用いた印刷処理の流れである。上記のように処理することにより、スプーラ302が中間コードを生成してスプールファイル303に格納するタイミングでアプリケーション201が印刷処理から開放されるので、プリンタドライバ203に直接出力するよりも短時間で済む。また、スプールファイル303にプリンタドライバの印刷設定を踏まえた中間ファイル(ページ描画ファイル、ジョブ設定ファイル)として一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることや、複数のアプリケーションにより生成した印刷ジョブの結合や並べ替えが可能となり、印刷設定の変更を行う場合にも、再度アプリケーションを立ち上げて印刷をすることなしにユーザに行わせることが可能となる。
ここで、スプーラ302を用いた印刷処理において、デスプーラ305からグラフィックエンジン202への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
<ジョブ出力用設定ファイルの構成>
図11は、ステップS608において、スプールファイルマネージャ304が生成する印刷可能となった物理ページを構成する情報を保存しているジョブ出力用設定ファイルの例を示す。フィールド1001は、ジョブを識別するためのIDで、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド1002はジョブ設定情報である。ジョブ設定情報には、グラフィックエンジン202に対してジョブの印刷を開始するために必要な構造体、Nページ印刷の指定、ページ枠などの追加描画の指定、部数、ステープルなどのフィニッシング指定など、1つのジョブに対して1つしか設定できない情報が含まれている。ジョブ設定情報1002には、ジョブに対する機能に応じて必要なだけ情報が保存される。フィールド1003はジョブの物理ページ数で、本フィールド以降、この数の分だけ物理ページ情報が保存されていることを示す。本実施形態では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。これ以降、フィールド1004から最後までフィールド1003の数だけ物理ページ情報が格納される。物理ページ情報については図13を参照して後述する。
図12は、図11のフィールド1002に図示されたジョブ設定情報の一例である。フィールド1101は全物理ページ数である。フィールド1102は、全論理ページ数である。フィールド1101および1102は、印刷データに追加して、ページ数などを付加情報として印刷する場合などに利用する。印刷が続いている際には、両フィールドは暫定的な値、もしくは、印刷が終了するまでスプールファイルマネージャ304は印刷可能な物理ページの情報の作成を延期する。フィールド1103は本印刷ジョブを何部印刷するかを指定する部数情報である。フィールド1104は、フィールド1103で複数部印刷する設定の場合、部単位で印刷するかどうかの指定である。フィールド1104はステープル、パンチ、Z折などのフィニッシング情報で、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド1106は付加印刷情報で、本発明の地紋プリントを始め、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、ウォーターマーク印刷等、ジョブに対して付加する情報が保存される。機能が増えるに従って本ジョブ設定情報に含まれるフィールドの数も増加し、例えば、両面印刷が可能な場合は、両面印刷の指定を保存するフィールドが追加される。
図13は、図11のフィールド1004に図示された物理ページ情報の一例を示す。最初のフィールド1201は物理ページ番号で、印刷順序の管理や、物理ページ番号を追加印刷する際に使用される値である。フィールド1202は物理ページ設定情報で、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド1203は本物理ページに割り付けられる論理ページ数で、1物理ページに4ページを割り付ける場合には4もしくは4ページ印刷を示すIDが保存される。フィールド1204以降はフィールド1203で指定された数だけ論理ページの情報が保存される。アプリケーション201から印刷されたページ数によっては、フィールド1203で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応する。
図14は、フィールド1202の物理ページ設定情報の例である。フィールド1301は物理ページ上への論理ページの配置順で、Nページ印刷で、物理ページ上に論理ページを配置する順番(左上から横へ、左上から下へ等)の指定が保存されている。システムによっては、配置順ではなく、フィールド1204以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することでフィールド1301の設定を代用する場合もある。フィールド1302は両面印刷の表・裏の情報で、例えば綴じ代を表裏でそろえる際に使用される。フィールド1303はカラーページかモノクロページかの指定を示し、このフィールドを使用して物理ページ単位にカラー/モノクロのモード指定が可能である。フィールド1304は付加印刷情報で、物理ページに対して、ページ数や、日付などの付加情報を印刷する場合に使用される。物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
本実施形態の場合、図18以降を参照して後述する地紋画像印刷に関する情報は物理ページに対して付加される情報なので、フィールド1106に保持された地紋プリントに関する情報に基づき、各物理ページに対する設定情報として、フィールド1304内にも格納される。ジョブに対する付加印刷情報1106および付加印刷情報1304内における、地紋プリントに関する設定情報を格納するデータ形式の一例については、図21を参照して後述する。
図15は、フィールド1204で示された論理ページ情報の一例を示す。フィールド1401は論理ページのIDで、このIDを利用して、スプールファイル303から論理ページに対応するページ描画ファイルの中間コードを参照する。このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても、論理ページを構成する中間コード自身が入っていてもよい。フィールド1402は論理ページ番号で論理ページ番号を付加情報として印刷する場合や、論理ページIDの補助情報に使用される。フィールド1403のフォーマット情報には、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば、論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存することも可能である。逆に、論理ページ単位で設定を切りかえることや論理ページ単位での属性情報が不要であるようなシステムでは、フィールド1403は不要である。
本実施形態の場合、図18から20を参照して後述する地紋プリントに関する機能設定情報はフィールド1403内には保持されない。これは、N-Upなどによる論理ページの拡大縮小に対して地紋プリントで使用されるパターンが影響を受けないようにするためである。
ジョブ出力用設定ファイルは、上記のように構成されている。なお、ジョブ設定ファイルもほぼ同様であり、印刷体裁(片面、両面、製本印刷)、印刷レイアウト(Nup、ポスター印刷)、付加情報(地紋プリント情報、ウォーターマーク、日付、ユーザ名など)、部数、用紙サイズ情報がジョブとして有しており、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
図3はこれまで説明した拡張システムに加えて、ジョブの設定変更機能を持つ設定変更エディタ307を配した例を示している。本実施形態ではジョブの設定内容は、単体ジョブは、ジョブ設定ファイルに、また結合ジョブは、図11に示すジョブ出力用設定ファイル中に含まれており、中間コードを保存しているページ描画ファイル(スプールファイル)303とは独立している。このため、ジョブ出力用設定ファイルを作り変えることでジョブの設定変更が可能である。設定変更エディタ307は単独で、あるいはスプールファイルマネージャ304と連携して、ジョブ出力用設定ファイルを作り変え、あるいは、一部を書き換えることでジョブの設定変更機能を実現している。
図16は、設定変更エディタ307におけるジョブ設定変更処理プロセスの詳細を示すフローチャートである。
まずステップS1501では,設定変更エディタは、ジョブ設定ファイルもしくはジョブ出力用設定ファイルを読み込む。ジョブ出力用設定ファイルはプレビューア306,デスプーラ305が読み込むものと同じファイルである。次に,ステップS1502へ進み,読み込んだ結果を,ユーザに表示する。ステップS1503で,図17に示すようなユーザインタフェースを使用して,ユーザとの対話を行い,前述したメニューの指定等により設定内容を変更する。このステップは,対話形式でなく,ファイルなどに書きこまれた設定変更の内容に応じて変更するバッチ形式でもよい。次にステップS1504へ進み,ステップS1501で設定変更エディタは、最初に読み込んだ内容と,現在指定されている設定内容に変更があったかどうかの判定を行う。設定内容に変更が合った場合は,ステップS1505へ進み,新規のジョブ出力用設定ファイルを生成し,変更があったことをスプールファイルマネージャに通知して終了する。ステップS1505で,変更がないと判定された場合は,変更がなかったことをスプールファイルマネージャに通知して終了する。このように新規のジョブ出力用設定ファイルを生成するが、図17のユーザインタフェース画面において、「OK」ボタンが選択されることにより、新規のジョブ出力用設定ファイルが有効となり、古いジョブ出力用設定ファイルは削除される。また、ジョブ出力用設定ファイルからの変更ではなく、単体ジョブのジョブ設定ファイルの場合は削除せずに保存しておく。また、図17の画面で「初期状態へ戻す」ボタンが選択された場合は、新規のジョブ出力用設定ファイルを削除し、古いジョブ出力用設定ファイルが有効となり、表示に反映させる。
なお、本実施形態では,設定変更エディタ307を別モジュールとして説明しているが,単にスプールファイルマネージャ304のユーザインタフェースの一部であってもよい。また、設定変更エディタ307で実際に変更内容をジョブ出力用設定ファイルに書きこまずに,設定変更の内容のみをスプールファイルマネージャ304へ通知し、実際のジョブ出力用設定ファイルの変更はスプールファイルマネージャ304側で行う実装形式でもよい。
<地紋プリント処理の説明>
以下、地紋プリントに関する設定をおこなうユーザインタフェースの一例について、図18、図19、図20を用いて行う。
図18はプリンタドライバ203内に配された、地紋プリントに関するユーザインタフェースの初期画面の一例である。この例では、ダイアログ内のプロパティシート5201において地紋プリントに関する設定が行えるようになっている。
チェックボックス5202は、印刷ジョブに対して地紋プリントを行うかどうかを指定するものであり、図12における付加印刷情報1106内で地紋プリントを行うかどうかの設定が格納される。
リストボックス5203は、地紋プリントの複数の設定情報から1つを識別子(スタイル)で指定可能にするための領域である。プリンタドライバ203は複数のスタイルを選択可能となっており、各スタイルと図21に示す地紋プリント情報との関係がレジストリに登録される。また、新規追加ボタン5204を押下することで図19に示すダイアログ5301とほぼ相当のダイアログが表示され、スタイル登録を行うことが可能となる。さらに、編集ボタン5205を押下することにより、図19で表示されるダイアログ5301が表示され、既に登録されたすタイルの登録情報を変更することが可能である。削除ボタン5206を押下することで、選択状態にあるスタイル情報の登録を削除することが可能となる。
キャリブレーションボタン5207は地紋プリントにおける前景、背景のコントラストを調整する際に用いられ、このボタンを押下することで、図20に示すダイアログ2301が表示される。
図19は地紋プリントの個々の詳細設定を編集するためのダイアログの一例である。この例では図18の編集ボタン5205が押下された場合の状態を示す。
ダイアログ5301は地紋プリント設定情報編集用に構成されており、同領域に後述する個々の地紋プリント設定情報によって生成される地紋パターンの結果の簡易プレビューが表示される形式となっている。図18の新規追加ボタン5204が押下された場合には、このダイアログ5301内の領域に任意の文字を入力することでスタイル名称を設定することができる。
入力エリア5303、5304、5305は潜像用オブジェクトとして文字列を入力または表示するテキスト領域であり、本実施形態では3行までの指定が可能である。リストボックス5306、5307、5308は各テキスト領域(5303、5304、5305)の属性を指定するためのものであり、「任意文字列」、「ユーザー名」、「日付と時刻」などの指定が行える。図19ではリストボックス5306、5307、5308はすべて「任意文字列」が指定されており、対応する入力エリア5303、5304、5305の各領域に任意に文字列を入力することが可能である。また、「ユーザー名」、「日付と時刻」などが指定されている場合、入力エリア5303、5304、5305の各コントロールは入力不可の状態となり、指定された属性に相当する文字列表示する。
リストボックス5309は文字列のフォント情報を選択するための領域である。本実施形態ではフォント名称のみの選択となっているが、書体の属性(ボールド、イタリックなど)や飾り文字(アンダーラインや打消し線など)が指定可能なように拡張してもよい。
リストボックス5310は地紋パターンとして使用する文字列のフォントサイズを表示、設定する領域である。本実施形態では「大(108)」、「中(72)」、「小(36)」の3段階の指定を想定しているが、直接ポイントサイズを入力するなどの指定方法でもかまわない。なお、大、中、小各表示のカッコ内の数値はポイントサイズを示している。
なお、図示しないが、潜像用オブジェクトとしてJPEG画像やGIF画像、ビットマップ画像などのイメージ画像を指定する入力エリアを設け、上述したテキストによる文字列の他に、イメージ画像を潜像用オブジェクトとすることも当然可能である。
リストボックス5311は地紋パターンとして使用する文字列の角度を指定するコントロールであり、本実施形態では「右上がり」、「右下がり」、「横」、「縦」の4通りの選択を可能にしているが、任意角度を数値で入力して指定したり、スライダーバーを用いて指定するなどの構成を採用してもよい。 リストボックス5312は地紋パターンに埋め込んだ潜像文字列を認識しづらくするためのカモフラージュ画像を指定するエリアであり、複数のカモフラージュ画像から一つの画像を選択し設定する。同図に示す例では、カモフラージュ画像「なし」も指定可能となっている。
リストボックス5313は地紋パターンに使用する色を指定するエリアである。本実施形態では印刷デバイスとしてカラーレーザービームプリンタを想定し、使用するトナー原色である「黒」、「シアン」、「マゼンタ」が指定可能になっている。もちろん、これらのトナー原色を混色させてピンクや緑などのように、指定可能な色数を増やしても構わない。また、ユーザに自由にR、G、Bの値を入力させるようなインタフェースとしてもかまわない。チェックボックス5314は前景パターンと背景パターンとを入れ替えるかどうかを指定するためのものである。このチェックボックスをユーザがチェックすると、複写後の潜像文字列は白抜き画像で印刷され、背景領域のドットが残るような地紋画像を生成することになる。説明の都合上、本実施形態では特に断りがない限り、このチェックボックスはOFFの状態、つまり複写物でトナーによって顕像化する画像は潜像文字列であるものとする。
ラジオボタン5315は地紋パターン(地紋画像)と原稿データの印刷順序を設定するためのものである。ここでは、「透かし印刷」が指定された場合、図22を参照して後述するように、地紋パターンの描画後、原稿データの描画を行う。また、「重ね印刷」が指定された場合、図23にて後述するように、原稿データを描画後、地紋パターンの描画を行う。いわゆるレイヤーの重ね順序を指定することに相当するものである。
図20は、図18におけるキャリブレーションボタン5207を押下した際に表示されるダイアログの一例である。
地紋プリントでは、前景パターンと背景パターンの面積濃度をあわせることで前景画像を背景画像に溶け込ませて見え難くさせるため、図20に例示するように、トラックバー2302および2303で前景パターン、背景パターンそれぞれに対する濃度調整を行うインタフェースを提供する。
<地紋プリント設定情報のデータ形式>
次に、図19を用いて説明した地紋プリント設定情報に関する付加情報1106および1304に格納されるデータ形式について図21を用いて説明する。
フィールド2001には図19の入力エリア5303〜5305、リストボックス5306〜5308で指定される、地紋プリントの潜像文字列およびその属性が格納される。
フィールド2002では図19のリストボックス5309、5310で指定される、潜像文字列のフォント情報が格納される。
フィールド2003では図19のリストボックス5311で指定される、潜像文字列の角度に関する情報が格納される。
フィールド2004では図19のリストボックス5312で指定される、カモフラージュ画像情報が格納される。
フィールド2005では図19のリストボックス5313で指定される、地紋パターンの色情報が格納される。
フィールド2006では図19のチェックボックス5314で指定される、前景パターン、背景パターンの入れ替えを行うかどうかの情報が格納される。
フィールド2007では図19のラジオボタン5315で指定される、原稿データに対して地紋パターンを先に描画するか、後から描画するか(印刷順序)を指定する情報が格納される。
フィールド2008では、図20のトラックバー2302で指定される、前景パターンの濃度情報が格納される。
フィールド2009では、図20のトラックバー2303で指定される、背景パターンの濃度情報が格納される。
もちろん、地紋プリントにおける設定内容は上述したもののみに限定されるものではない。
<地紋パターンの追加描画処理>
次に、地紋プリントにおける描画処理の流れについて、図22および図23を用いて説明する。なお、これらの処理は、それぞれ図19を参照して説明した「透かし印刷」および「重ね印刷」に対応し、図10のステップS708の印刷処理において行われる。
まず、地紋パターン情報の追加描画処理について、図19のラジオボタン5315において「透かし印刷」、すなわち、先に地紋パターンを描画するケースについて、図22のフローチャートを用いて説明する。
ステップS1901において、図21に示す地紋パターン情報で示される地紋に関する情報に従い、描画を行う。その詳細な処理については、図25を参照して後述する。続いて、以降原稿データに関する描画処理を行う。ステップS1902において、カウンタを初期化する。ステップS1903において、カウンタが予め設定されている1物理ページあたりの論理ページ数になったかどうかを判定し、論理ページ数と等しくなったらステップS1908へ進み、等しくなければステップS1904へ進む。ステップS1904において、カウンタを1増加させる。ステップS1905において、1ページあたりの論理ページ数およびカウンタをもとに、これから描画する論理ページに対する有効印字領域を計算する。ステップS1906において、図11に示すような形態で通知された物理ページに関する情報から、カウンタをインデックスとして現在の論理ページ番号を読み取り、該当論理ページを有効印字領域内に収まるように縮小描画する。ただし、Nページ印刷が指定されていない場合にはもちろん縮小の必要はない。
次に、図19のラジオボタン5315において「重ね印刷」、すなわち、原稿データを描画した後から地紋パターンを描画するケースについて、図23のフローチャートを用いて詳細に述べる。
ステップS1902において、カウンタを初期化する。ステップS1903において、カウンタが、予め設定されている1物理ページあたりの論理ページ数になったかどうかを判定し、論理ページ数と等しくなったらステップS1908へ進み、等しくなければステップS1904へ進む。
ステップS1904において、カウンタを1増加させる。ステップS1905において、1ページあたりの論理ページ数およびカウンタをもとに、これから描画する論理ページに対する有効印字領域を計算する。ステップS1906において、図11のような形態で通知された物理ページに関する情報から、カウンタをインデックスとして現在の論理ページ番号を読み取り、該当論理ページを有効印字領域内に収まるように縮小描画する。ただし、Nページ印刷が指定されていない場合にはもちろん縮小の必要はない。1物理ページとして所定数の論理ページを展開し終えたなら、ステップS1908に進む。ステップS1908ではアプリケーションから取得している物理ページの有効印字領域に対して、図21に示す地紋パターン情報で示される地紋に関する情報に従い、描画を行う。尚、描画処理の詳細については、図25を用いて後述する。
次に、地紋パターンの描画に用いられる前景背景領域指定画像の生成方法について述べる。前景背景領域指定画像とは背景領域と前景(潜像)領域を識別するための画像であり、たとえば背景領域を0、前景領域を1で表現する2値(1Bit/Pixel)の画像のことである。
前景背景領域指定画像は前景背景領域指定画像を生成するにあたっての基本ブロックを出力用紙の有効印字領域に敷き詰めたものとなる。
図24の(a)に基本ブロックの一例を示す。この例は図19のリストボックス5306に対して任意文字列、入力エリア5303に“VOID”の文字列が指定され、かつ図19のリストボックス5311(角度)に対して「横」が指定された場合の前景背景領域指定画像の基本ブロックを示す。
この基本ブロックを正方配置した場合の前景背景領域指定画像を図24の(b)に、一行毎にずらす交差配置を行った場合の前景背景領域指定画像を図24の(c)に示す。同様に、図24の(d)は図19のリストボックス5311(角度)に対して「右上がり」を指定した場合の文字列“VOID”に対する基本ブロックを示し、図24の(e)はこれを正方配置した場合、図24の(f)はこれを交差配置した場合の前景背景領域指定画像を示す。このようにオブジェクトを斜めに配置した前景背景領域指定画像を用いることで、斜め方向の潜像文字列やイメージを含んだ地紋パターンの形成が可能となる。
図25は本実施の形態にかかる、図22に示したステップS1901における地紋パターン描画および図23に示したステップS1908における地紋パターン描画の内部処理手順を記したフローチャートである。以下、図25を用いて、地紋パターン描画処理を説明する。
初めにユーザインタフェース等を通じて、ステップS2701で地紋パターン描画処理が開始される。
次にステップS2702で、入力背景画像、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ領域指定画像を読み込む。
次にステップS2703で、地紋画像を生成する際の初期画素を決定する。例えば、入力画像全体に対して左上から右下までラスター走査順に画像処理を行い地紋画像に変更する場合、左上を初期位置とする。
次にステップS2704では、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ画像は入力背景画像の左上からタイル上に配置するとし、処理対象となっている入力背景画像の画素に対して、以下の式(1)を計算し、ステップS2705で、印刷時のドットに対応する画素値を書き込むか否かを判定する。このとき画素値は入力された色情報に対応する。なお、ここで、背景閾値パターンおよび前景閾値パターンは、ドットの書き込み/非書き込みに対応する「1」と「0」からなるデータであり、これらのデータは前景(潜像)及び背景画像を作成するに適したそれぞれのディザマトリクスによって2値化されたデータである。
Figure 2005210538
式の構成要素の定義を以下に示す。
Figure 2005210538
なお、各処理対象画素で式(1)の全ての要素を用いて計算する必要は無い。不必要な計算を省くことで処理の高速化を図れる。
Figure 2005210538
Figure 2005210538
の計算を省略すると良い。
また、生成される地紋画像では、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ領域指定画像の縦横の長さの最小公倍数の大きさの画像が繰り返しの最小単位となる為、地紋パターン描画部では繰り返しの最小単位である地紋画像の一部分のみを生成し、その地紋画像の一部分を入力背景画像の大きさにタイル状に繰り返し並べると地紋画像生成にかかる処理時間を短縮できる。
Figure 2005210538
ステップS2706では、印刷時のドットに対応する画素値を書き込む処理を行う。
画素値の値は、地紋画像の色により変えることができる。黒色の地紋を作成したい場合、入力背景画像の処理対象画素を黒に設定する。
その他、プリンタのトナーまたはインクの色に合わせ、シアン、マゼンダ、イエローに設定すれば、カラーの地紋画像を作成することもできる。
入力背景画像が1画素あたり1〜数ビットの画像データである場合には、インデックスカラーを用いて画素値を表現すればよい。インデックスカラーとは画像データの表現方法で、対象とするカラー画像で頻繁に出現する色情報を目次に設定し(例えばインデックス0は白、インデックス1はシアンなど)、各画素の値は色情報を記載した目次の番号で表現する(例えば、1番目の画素値はインデックス1の値、2番目の画素値はインデックス2の値、・・・と表現する。)
ステップS2707では、入力背景画像の処理対象領域の全画素が処理されたかを判定する。入力背景画像の処理対象領域の全画素が処理されていない場合はステップS2708に進み、未処理の画素を選択し、再びステップS2704〜ステップS2706の処理を実行する。
入力背景画像の処理対象領域の全画素に対する処理が完了していれば、ステップS2709に進む。
以上の処理により、入力背景画像に対して画像処理を加えた地紋パターンが生成できる。ただし、これだけの処理では、前景背景領域指定画像の前景と背景の切り替わる部分(境界部分)にドットの固まりが生じ、前景の概形がエッジとして目立ってしまい、偽造防止地紋の効果が薄れるデメリットが生じる可能性がある。そこで、前景背景領域指定画像の前景と背景の境界部でドットの固まりが生じないようにするバウンダリ処理もあわせて施してもよい。図26は、そのバウンダリ処理まで施した地紋パターン生成の例である。
再び図25を参照すると、ここまでの処理で地紋パターンが生成される。この処理は図22のステップS1901と図23のステップS1908とで共通であるが、以下のステップで説明される生成した地紋パターンの描画方法は各々異なる。
図22のステップS1901の処理では、地紋パターン自体が下地となるのでステップS2710の透かし描画処理が実行される。ステップS2710は、地紋パターンの描画の後にアプリケーションソフトで作成した文字などを透かして描画することを意味する。つまり、地紋パターンの描画については何ら特殊な処理は行われない。
一方、図23のステップS1908の処理では、地紋パターンは既に描画済みの下地に対し後から描画することになるので、ステップS2711の重ね描画処理が実行される。この場合は、アプリケーションソフトで作成した文字などの上に地紋パターンを重ねて描画することになるので、単純に地紋パターンを描画してしまうと下地が上書きされて見えなくなってしまう。そこで、ANDやORといった論理描画を利用することで完全に上書きしてしまうことを避ける。例えば、下地の画素が白色(つまり画素値がゼロ)だったら、そのピクセルに対応する地紋パターンの画素を描画し、下地の画素の画素値がゼロ以外であれば地紋パターンの画素を描画しないといった処理を行う。
そして、ステップS2712に進み、地紋パターン描画が終了する。
以上、地紋パターン描画部の内部処理について述べた。
図27は、指定された複数の潜像用オブジェクトをまとめてブロック化し、このブロックを一つの潜像画像として扱って、地紋パターンを生成するための前景背景領域指定画像の作成手順を示すフローである。
ステップS5401にて各オブジェクトサイズを計算する。このステップの詳細を図28に示す。なお、以降の説明ではオブジェクトとして文字列を例に挙げて説明する。
先ず、図28のステップS5501にてオブジェクト(文字列)カウンタ(N)の初期化を行う。ここではN=1とする。次に、ステップS5502にて文字列Nに対する文字列の内容、フォント属性およびフォントサイズなどの、文字列Nに対する文字列及びフォント情報を取得する。先に図19で提示したUI例では文字列毎のフォント名称やフォントサイズの指定は行えないようになっているが、個々の文字列に対してこれらの情報が設定されるようになっていてもかまわない。
次に、ステップS5503にて該当文字列Nの文字列サイズの計算を行う。固定ピッチ文字列の場合は、フォントサイズを加味した一般的なフォント情報から得られる平均文字幅と、文字列に含まれる文字数とを用いて容易に文字列の幅を求めることができる。また、文字列の高さについても一般的なフォント情報から取得することが可能である。可変ピッチフォントの場合、文字列の幅は文字列に含まれる各々の文字について文字の幅を取得し、合算することで求めることが可能である。また本システムが動作しているOSのグラフィックエンジンが提供する機能などを用いて文字列の幅・高さの値を求めるなどの手段をとっても良い。
更に、文字列の可読性を向上するために、文字列の上下左右にそれぞれマージンを設け、このマージンの値も加味したサイズを文字列のサイズとして採用しても良い。
このようにして求めた文字列Nに対する幅・高さの情報は、以降のステップで参照することを可能にするため、記憶領域に保存される。
尚、ステップS5503にて文字列が存在しない場合、文字列のサイズは幅0、高さ0として扱うことにする。
また、オブジェクトがイメージ画像の場合は、イメージ画像のサイズに基づいて、潜像となる画像部分の幅と高さを算出すればよい。
次にステップS5504にて文字列カウンタが最大値を超えていないかどうかのチェックを行う。文字列カウンタの最大値とは図19のUI例だと文字列は3つまで指定可能であるため、文字列カウンタの最大値は3となる。
文字列カウンタが最大値未満であれば文字列カウンタの値をインクリメントし(ステップS5503)、ステップS5502から次の文字列に対する処理を繰り返す。
文字列カウンタが最大値に達したのであれば、図27のステップS5402に進む。
図27のステップS5402では、ステップS5401で求めた各々の文字列サイズの情報からブロックサイズを算出する。ブロックサイズの幅は各文字列サイズ幅の中で最大のものを採用し、ブロックサイズの高さは各々の文字列サイズの高さを合算した値を採用すればよい。更に、複数の潜像文字列をまとめたブロックの認識性を向上させるため、上記のようにして求めたブロックの幅・高さの値に上下左右のブロックマージンを加味した値をブロックサイズとして採用しても良い。
図29(a)にブロックサイズを計算する場合の一例を示す。この例では3つの文字列のそれぞれのサイズをsSize1=(s1w,s1h), sSize2=(s2w,s2h), sSize3=(s3w,s3h)とし、求めるべきブロックサイズをbSize=(bw,bh)とすれば、bw=Max(s1w,s2w,s3w)であり、bh=ΣsNh (N=1,2,3)となる。尚、この例にはブロックマージンを含んでいないが、ブロックマージンを含む場合にはブロックの幅にはブロックの左右マージンを、ブロックの高さにはブロックの上下マージンを加えれば良い。
図27に戻り、次にステップS5403にてブロック内における各文字列の位置を割り出す。各文字列の幅sNwは左文字列マージン+文字列長+右文字列マージンで構成され、各文字列の高さは上文字列マージン+文字列の高さ+下文字列マージンで構成される。
ブロックサイズが決定されたのであれば、ステップS5403で各文字列の開始位置を計算する。図29(a)の例では、それぞれの文字列開始位置を●で示してある。ブロック内に含まれる文字の開始位置は、文字列の大きさ、文字列に対する上下左右のマージン、文字のアセント、ディセントなどの情報から決定することが可能である。なお、アセントとはベースラインから文字の上端までの量、ディセントとはベースラインから文字の下端までの量のことである。
文字列の開始位置をブロックの左上を原点とし、左方向にX座標、下方向にY座標をとるブロック座標系を用い、文字列1の開始点をs1s=(s1sx,s1sy)、文字列2の開始点をs2s=(s2sx,s2sy)、文字列Nの開始点をsNs=(sNsx,sNsy)と表記すると、任意の文字列Nの開始点のX座標は左マージン値と等しく、任意の文字列Nの開始点のY座標はΣsNsy(N=1,2,…N-1) + (上文字列マージン) + (アセント) または ΣsNsy(N=1,2,…N) − (下文字列マージン) − (ディセント)で表現される。
これらの位置関係を図29(b)に示す。
これらの計算をブロック内に含まれる各文字列について実施し、ステップS5402ではブロックに対する各文字列の相対開始位置を算出して、これを記憶しておく。
なお、以上の説明では、複数の潜像オブジェクトの左端(図29(a)の各文字列の開始位置●)を揃えるようにした構成を説明したが、本発明はこれに限るものではない。たとえば、可読性を損なわない程度に、各文字列の開始位置をずらすように階段状に配置してもよく、また、開始位置をユーザが任意に設定可能なユーザインタフェースを設けてもよい。
図27のステップS5404では印刷領域に対して指示された配置方法に従い前景背景領域指定画像の基本ブロックを配置する。そして、各ブロックの原点に、先にステップS5403で求めた各文字列の相対開始位置を加算することで、各々の文字列の物理的な配置位置を決定する。
続いて、ブロックの配置方法について述べる。同じサイズの矩形ブロックを印刷領域に隙間なく配置する配置方法として、図30(a)に示す正方配列と、図30(b)に示す交差配列の例を述べる。当然これ以外の配置方法も考えられるが、配置方法自体は本発明を限定するものではなく、どのような配置方法及び配置位置の算出方法であってもかまわない。
尚、先に述べた図19や図21では配置方法については特に触れていないが、図21で示すデータ構造に配置方法に関する設定が含まれているものとしても良い。また、図19のUI例では配置方法に関する設定事項は特に設けていないが、配置方法に関する設定を行うコントロール(選択)機能をUIとして設けるものであってもよい。
まずは角度が横の場合について述べる。正方配列とは図30(a)に示すようにブロックを横方向に左辺と右辺を揃えて並べ、縦方向についても上辺と下辺とを揃えて並べる方法を指す。この正方配列の場合、前景背景領域指定画像の基本ブロックサイズを幅bw,高さbhとすると、任意の位置(N行、M列目)に配置されるブロックの左上原点の座標は((M-1)*bw,(N-1)*bh)となる。この絶対ブロック原点座標に先にステップS5403で求めた各文字列の相対開始位置を加算することで、各々の文字列の絶対開始位置が決定される。この位置にそれぞれの文字列を指定された属性で描画することで、前景背景領域指定画像が生成される。この場合、絶対ブロック原点位置が有効印刷領域外となるブロックについては描画を行う必要はない。
次に交差配列の場合について述べる。交差配列とは図30(b)に示すように、ブロックを横方向に左辺と右辺を揃えて並べることは正方配列と同じであるが、縦方向にブロックを配置する場合、一行毎に上辺と下辺とが直ぐ上のブロックと半分ずつ横方向にずれた状態となるように配置する方法を指す。この場合、ブロックサイズを幅bw,高さbhとすると、任意の位置(N行、M列目)に配置されるブロックの左上原点の座標は、Nが奇数であれば((M-1)*bw,(N-1)*bh)、Nが偶数であれば(((M-1)-1/2)*bw ,(N-1)*bh)となる。あとは先の正方配列の場合と同様に、各々の絶対ブロック座標に各々の文字列の相対開始位置を加算することで、全ての文字列の開始位置が求まり、この位置から該当する文字列の描画を行えば良い。また各ブロックの開始位置が記録紙における有効印刷領域に入っていなくとも、該当ブロックの一部の領域が印刷領域に含まれる場合、その領域に文字列の一部を描画する必要がある可能性があるため、領域外からの文字列描画を行う必要がある。
尚、これらの例では1行1列目に配置するブロックの原点と前景背景領域指定画像の原点とを一致させるケースについて述べたが、x方向およびy方向に任意の量だけずらして各文字列の絶対座標を求めてもかまわない。
次にブロックの配置に角度をつけたケースについて述べる。図31はx’,y’で表される直交座標系の原点を中心として時計回りに任意角θだけ回転させた新たなx,yの座標系を示している。x’,y’を上述した、ブロックを水平方向に配置した場合の座標系とすると、ブロックの開始位置の算出はこのx’,y’座標系における各々のブロックの原点位置を求め、これに各々の文字列の相対開始位置を加えることで、x’,y’座標系での全ての文字列の開始位置を算出することが可能である。このようにして求められたx’,y’座標系での各ブロックの開始位置を任意の角度θだけ回転させることで、x,y座標系での各々のブロックについての文字列開始位置が計算される。図示しないが、交差配列の場合であっても、異なるのはx’,y’座標系での各々のブロックの開始位置だけであり、正方配列の場合と同様にx’,y’座標系での各々の文字列の絶対開始座標を求め、これを回転変換すればx,y座標系での各々のブロックの開始位置が求まる。また、図31の例ではともにx’,y’座標系の原点を中心として回転することを示したが、任意の位置を中心に回転してもかまわない。尚、文字列の描画に際しては文字列方向に回転角を指定して描画を行う必要がある。
このようにして作成した前景背景領域指定画像を用いて地紋画像を作成した一例を図32に示す。図36に示した各々の潜像文字列を文字列単位で繰り返した場合の例と比較すると、可読性が向上しているのが容易に理解されよう。
なお、本実施形態では、地紋画像が付与された印刷出力物を複写した際に得られる複写物において、文字列が顕像化する構成を例示して説明したが、複写物において文字列が白抜きとして表示される場合においても、上述した構成を用いれば本発明の課題を解決することが可能である。
以上のようにして作成した前景背景領域指定画像を用いて地紋画像を作成することで、本発明の目的とする顕像後の各潜像オブジェクトの可読性を向上させるように、複数の潜像用オブジェクトを地紋画像に埋め込むことが可能となる。
(他の実施形態)
尚、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現する、各図のフローチャートの手順を実現するプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(R)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
本発明の一実施形態にかかる印刷制御システムの構成を示すブロック図である。 プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成例を示すブロック図である。 アプリケーションからの印刷命令をプリンタ制御コマンドに変換する前に、一旦スプールファイルにスプールするプリントシステムの構成例を示すブロック図である。 印刷ジョブの出力先についての設定画面の一例を示す図である。 プレビューアが表示するプレビュー画面の一例を示す図である。 スプールファイルマネージャのユーザインタフェースの一例を示す図である。 スプーラにおける印刷データのスプールを示すフローチャートである。 印刷設定入力ダイアログの一例を示す図である。 スプールファイルマネージャによる印刷制御および物理ページ番号の決定処理の一例を示すフローチャートである。 デスプーラにおける処理の一例を示すフローチャートである。 スプールファイルマネージャからデスプーラに対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示す図である。 図11に図示されたジョブ設定情報の一例を示す図である。 スプールファイルマネージャからデスプーラに対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示す図である。 図13における物理ページ設定情報の一例を示す図である。 スプールファイルマネージャからデスプーラに対して物理ページの印刷要求を行う際に渡すデータ形式の一例を示す図である。 設定変更エディタにおける設定変更処理の一例を示すフローチャートである。 設定変更エディタの画面の一例を示す図である。 地紋プリントに関するユーザインタフェースの初期画面の一例を示す図である。 地紋プリントの個々の詳細設定を編集するためのダイアログの一例を示す図である。 図18のキャリブレーションボタンを押下した際に表示されるダイアログの一例を示す図である。 図14の付加印刷情報のデータ形式の一例を示す図である。 地紋パターンの描画処理の一例を示すフローチャートである。 地紋パターンの描画処理の一例を示すフローチャートである。 基本ブロックの例および前景背景領域指定画像を示す図である。 地紋パターンの描画処理の一例を示すフローチャートである。 地紋パターン生成例を示す図である。 地紋パターンを生成するための前景背景領域指定画像の作成手順を示すフローチャートである。 各文字列サイズを計算ステップの詳細な手順を示すフローチャートである。 (a)および(b)は、ブロックサイズの計算方法の例を示すフローチャートである。 (a)は基本ブロックの正方配列の例、(b)は交差配列の例を示す図である。 回転時の基本ブロックの配置方法を示す図である。 本発明を用いて作成した前景背景領域指定画像での地紋画像作成例を示す図である。 偽造牽制地紋の画像の2つの領域を示す図である。 (a)および(b)は、偽造牽制地紋の顕像を示す図である。 (a)および(b)は、偽造牽制地紋におけるカモフラージュを示す図である。 各々の潜像文字列を文字列単位で繰り返した場合の例を示す図である。
符号の説明
1 CPU
2 RAM
3 ROM
4 システムバス
5 キーボードコントローラ(KBC)
6 CRTコントローラ(CRTC)
7 ディスクコントローラ(DKC)
8 プリンタコントローラ(PRTC)
9 キーボード(KB)
10 CRT
11 外部メモリ
12 CPU
13 ROM
14 外部メモリ
15 システムバス
16 印刷部I/F
17 印刷部
18 入力部
19 RAM
20 メモリコントローラ(MC)
1500 プリンタ
1501 操作部
3000 ホストコンピュータ

Claims (9)

  1. 印刷出力する画像に付加される地紋パターンを生成する画像処理装置であって、
    複数の潜像用オブジェクトを指定可能な入力手段と、
    前記入力手段で指定された複数の潜像用オブジェクトをまとめてブロック化し、該ブロックを1つの潜像画像として地紋パターンを生成する生成手段と
    を備えることを特徴とする画像処理装置。
  2. 前記生成手段は、
    前記複数の潜像用オブジェクトの各々のサイズを算出するオブジェクトサイズ算出手段と、
    前記オブジェクトサイズ算出手段により算出されたオブジェクトのサイズから、前記ブロックのサイズを算出するブロックサイズ算出手段と、
    前記ブロックサイズ算出手段によりサイズが算出されたブロック内における各潜像用オブジェクトの開始位置を決定する開始位置決定手段と、
    前記開始位置決定手段により決定された開始位置から各文字列を配置する配置手段と
    を有することを特徴とする請求項1に記載の画像処理装置。
  3. 前記入力手段は前記ブロックの配置方法を指定可能であり、前記生成手段は前記入力手段から指定された配置方法に従い前記ブロックを有効印刷領域に配置した地紋パターンを生成することを特徴とする請求項1または2に記載の画像処理装置。
  4. 印刷出力する画像に付加される地紋パターンを生成するコンピュータにより実行される画像処理方法であって、
    複数の潜像用オブジェクトを指定するステップと、
    前記指定するステップにおいて指定された複数の潜像用オブジェクトをまとめてブロック化し、該ブロックを1つの潜像画像として扱い地紋パターンを生成するステップと
    を備えることを特徴とする画像処理方法。
  5. 前記生成するステップは、
    前記複数の潜像用オブジェクトの各々のサイズを算出するステップと、
    算出された前記オブジェクトのサイズから前記ブロックのサイズを算出するステップと、
    前記サイズが算出されたブロック内における各潜像文字列の開始位置を決定するステップと、
    決定された前記開始位置から各文字列を配置するステップと
    を有することを特徴とする請求項4に記載の画像処理方法。
  6. 前記指定するステップは前記ブロックの配置方法を指定するステップを有し、前記配置するステップは指定された前記配置方法に従い前記ブロックを有効印刷領域に配置した地紋パターンを生成することを特徴とする請求項4または5に記載の画像処理方法。
  7. コンピュータを請求項1ないし3のいずれかに記載の画像処理装置として機能させるためのコンピュータプログラム。
  8. 印刷出力する画像に付加される地紋パターンを生成する地紋パターン生成方法であって、
    複数の潜像用オブジェクトを指定するステップと、
    前記指定するステップにおいて指定された複数の潜像用オブジェクトの各々を所定の位置を基準として縦方向に配置し、前記配置した複数の潜像用オブジェクトを用いて地紋パターンを生成するステップと
    を有することを特徴とする地紋パターン生成方法。
  9. 前記縦方向に配置した複数の潜像用オブジェクトを1つの基本パターンとするステップを有し、前記基本パターンを所定の方向に繰り返すことで地紋パターンを生成することを特徴とする請求項8に記載の地紋パターン生成方法。
JP2004016397A 2004-01-23 2004-01-23 画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム Pending JP2005210538A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004016397A JP2005210538A (ja) 2004-01-23 2004-01-23 画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004016397A JP2005210538A (ja) 2004-01-23 2004-01-23 画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2005210538A true JP2005210538A (ja) 2005-08-04

Family

ID=34901563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004016397A Pending JP2005210538A (ja) 2004-01-23 2004-01-23 画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2005210538A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074048A (ja) * 2005-09-05 2007-03-22 Fuji Xerox Co Ltd 画像処理装置、画像処理方法および画像処理プログラム
JP2007110510A (ja) * 2005-10-14 2007-04-26 Fuji Xerox Co Ltd 印刷装置およびその地紋印刷方法
JP2009207123A (ja) * 2008-01-31 2009-09-10 Seiko Epson Corp 画像処理方法、そのプログラム及び画像処理装置
US7619782B2 (en) 2005-12-22 2009-11-17 Canon Kabushiki Kaisha Image processing apparatus and method for combining different images and highest security level image
US7738143B2 (en) 2005-12-15 2010-06-15 Canon Kabushiki Kaisha Copy-forgery-inhibited pattern or stamp image combined with image data based on user actions

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074048A (ja) * 2005-09-05 2007-03-22 Fuji Xerox Co Ltd 画像処理装置、画像処理方法および画像処理プログラム
JP4587123B2 (ja) * 2005-09-05 2010-11-24 富士ゼロックス株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP2007110510A (ja) * 2005-10-14 2007-04-26 Fuji Xerox Co Ltd 印刷装置およびその地紋印刷方法
JP4665703B2 (ja) * 2005-10-14 2011-04-06 富士ゼロックス株式会社 印刷装置およびその地紋印刷方法
US7738143B2 (en) 2005-12-15 2010-06-15 Canon Kabushiki Kaisha Copy-forgery-inhibited pattern or stamp image combined with image data based on user actions
US7619782B2 (en) 2005-12-22 2009-11-17 Canon Kabushiki Kaisha Image processing apparatus and method for combining different images and highest security level image
US7961358B2 (en) 2005-12-22 2011-06-14 Canon Kabushiki Kaisha Image processing apparatus and method for combining image files and applying selected security processing
US8040572B2 (en) 2005-12-22 2011-10-18 Canon Kabushiki Kaisha Image processing apparatus and method for applying selected security processing to user selected first and second image
US8159724B2 (en) 2005-12-22 2012-04-17 Canon Kabushiki Kaisha Image processing apparatus, method, and program for applying security processing relating to a selected image
JP2009207123A (ja) * 2008-01-31 2009-09-10 Seiko Epson Corp 画像処理方法、そのプログラム及び画像処理装置
US8633931B2 (en) 2008-01-31 2014-01-21 Seiko Epson Corporation Image processing method, recording medium storing program thereof and image processing apparatus

Similar Documents

Publication Publication Date Title
JP4266766B2 (ja) 情報処理装置および情報処理方法
JP4290089B2 (ja) 情報処理装置及び情報処理方法
US8009304B2 (en) Printing control apparatus and printing control method
JP4418814B2 (ja) 情報処理装置および情報処理方法
JP2005235181A (ja) 情報処理装置および情報処理方法
JP5103659B2 (ja) システム、印刷制御装置、方法およびプログラム
JP2006345383A (ja) 地紋制御装置、2次元コードの配置、方法および媒体
JP2005210538A (ja) 画像処理装置、画像処理方法、地紋パターン生成方法およびコンピュータプログラム
JP4418797B2 (ja) 印刷制御装置、印刷制御システム、印刷制御装置の制御方法、印刷制御システムの制御方法およびプログラム
JP2005111957A (ja) 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP2005115874A (ja) 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP4993796B2 (ja) 処理装置及び処理方法
JP2007110325A (ja) 情報処理装置および情報処理方法
JP2005115875A (ja) 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP2007116539A (ja) 印刷装置及びその制御方法
JP2005115873A (ja) 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP4845983B2 (ja) 情報処理装置および情報処理方法
JP2006345387A (ja) 印刷制御装置、方法および媒体