(57)【特許請求の範囲】
【請求項１】
ページ記述言語で記述された文書データから生成された、複数の画像要素を含む中間データを取得する中間データ取得手段と、
前記中間データ取得手段が取得した中間データの各画像要素の中から、ウォーターマークの画像要素を抽出する抽出手段と、
前記抽出手段が抽出したウォーターマークの画像要素の各々を、それらウォーターマークの画像要素同士の間で重複する部分を含まない形状へと変形する変形手段と、
中間データから印刷装置用の画像データを生成する画像データ生成装置に対して、前記変形手段により変形されたウォーターマークの画像要素群を出力する出力手段と、
を含む印刷データ処理装置。
【請求項２】
前記中間データは、前記画像要素の形状を、前記印刷装置と同じ画素座標系で表現するものである、ことを特徴とする請求項１に記載の印刷データ処理装置。
【請求項３】
ウォーターマークの画像要素群が、ウォーターマーク以外の画像要素群よりも画像の重なり順において下にある場合に、ウォーターマークの画像要素を変形手段に処理させることを取りやめる制御を行う手段、を更に有する請求項１又は２に記載の印刷データ処理装置。
【請求項４】
コンピュータを、
ページ記述言語で記述された文書データから生成された、複数の画像要素を含む中間データを取得する中間データ取得手段、
前記中間データ取得手段が取得した中間データの各画像要素の中から、ウォーターマークの画像要素を抽出する抽出手段、
前記抽出手段が抽出したウォーターマークの画像要素の各々を、それらウォーターマークの画像要素同士の間で重複する部分を含まない形状へと変形する変形手段と、
中間データから印刷装置用の画像データを生成する画像データ生成装置に対して、前記変形手段により変形されたウォーターマークの画像要素群を出力する出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ処理装置及びプログラムに関する。
【背景技術】
【０００２】
文書に対して「機密」等の文字や画像を重ねて印刷するウォーターマーク技術が知られている。ウォーターマーク付きの文書の印刷処理では、従来、文書本体用のページメモリとは別にウォーターマーク専用のページメモリを用意し、この専用のページメモリにウォーターマークを構成するオブジェクト群を描画していく。そして、ページメモリ上に形成されたウォーターマークのビットマップ画像を、文書本体用のページメモリ上に形成された文書本体のページのビットマップ画像に対して合成することで、ウォーターマーク付きのページの画像を形成し、この画像を用紙に印刷する。
【０００３】
特許文献１には、複数のオブジェクト画像を順次上書きすることによって構成されるオブジェクト画像のグループをオブジェクト画像に透明処理して上書きする処理を、少ないメモリ容量で実行することを目指した装置が開示されている。この装置は、透明処理バッファに書き込まれたオブジェクト画像に、それら複数のオブジェクト画像のうちの最上層のオブジェクト画像を透明処理して上書きする。また、描画位置管理バッファには最上層のオブジェクト画像のシルエットを書き込む。以下、既に書き込まれたシルエットと重ならない領域にのみ、その下層のオブジェクト画像を順次書き込む。
【０００４】
特許文献２には、省メモリで高速な透明オブジェクトを含む印刷データを印刷できるようにすることを目指した方法が開示されている。この方法では、ページメモリ領域を第１乃至第５バンドに分割して捉え、付随情報を用いて、第１オブジェクト及び第２オブジェクトがどのバンドに配置されるかを判断する。透明オブジェクトである第２オブジェクトが配置されると判断されたバンドについて透明処理を行い、透明処理済みデータを生成し、透明処理バッファにその透明処理済みデータを記憶する。そして、透明オブジェクトである第２オブジェクが配置されないと判断されたバンドについて、第１オブジェクト及び第２オブジェクトを用いて画像データを生成する。
【０００５】
特許文献３には、メモリに保持する描画オブジェクトのイメージのサイズを削減してメモリの利用効率を高めることを目指した装置が開示されている。この装置は、ページ記述言語を解析して中間言語に変換する際に、キャンバス上の複数の描画オブジェクトについて、重なり合いのあるものは纏め、さらにバンドの高さ方向で分割してそれぞれのキャンバスとし、重なり合いのない描画オブジェクトは、分割して異なるキャンバスとし、さらにオブジェクトを外接矩形によって分けてイメージを作成する方法にて中間言語に生成することにより、オブジェクトの存在しない箇所のイメージを保存することを抑制する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−０１７１３５号公報
【特許文献２】特開２００８−００１０６８号公報
【特許文献３】特開２０１０−２７４５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ウォーターマーク専用のメモリ領域上にウォーターマークのビットマップ画像を形成しておき、これを文書本体のビットマップ画像と合成する方式では、ウォーターマーク用と文書本体用とにそれぞれビットマップ画像を保持するメモリ領域が必要である。
【０００８】
一方、ウォーターマークを、ビットマップ形式ではなく中間データ形式で保持しておき、この中間データ形式のウォーターマークを描画（ビットマップへの変換）しつつ文書本体のビットマップ画像に合成するようにすれば、ウォーターマーク用のビットマップ画像を保持するメモリ領域は不要になる。中間データ形式は、ビットマップ形式よりもはるかにデータ量が少ない。
【０００９】
しかし、中間データ形式のウォーターマークを描画しつつ文書本体のビットマップ画像と合成する処理を単純に行うと、ウォーターマークを構成する画像要素（オブジェクト）同士が重なる部分の色が、ウォーターマークの色を多重に合成した色になる。この色は、専用のメモリ領域にウォーターマークのビットマップ画像をメモリ上に構成してから合成する場合のその部分の色とは異なる。なぜなら、専用のメモリ領域にウォーターマークの画像要素を描画していく場合、画像要素同士が重なる部分はノックアウトされて重なりが解消されるので、それら画像要素同士の色が多重に重なることはないからである。これに対し、中間データ形式のウォーターマークの画像要素を描画しつつ文書本体のビットマップ画像に対して合成していく場合、文書本体をウォーターマークの画像要素でノックアウトすることはできない。このため、既にウォーターマークの画像要素が合成済みの文書本体の画像上にその画像要素と重なる部分を持つ別のウォーターマークの画像要素を描画すると、それら画像要素同士の重なりの部分についてはウォーターマークの色が二重に重なることとなる。
【００１０】
本発明は、ウォーターマーク専用のメモリ領域上に形成したウォーターマークのビットマップ画像を文書本体のビットマップ画像と合成する方式よりも必要とするメモリ容量が少なく、かつウォーターマークの画像要素同士の重なる部分の色がその方式の場合と同じ色となる手法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、ページ記述言語で記述された文書データから生成された、複数の画像要素を含む中間データを取得する中間データ取得手段と、前記中間データ取得手段が取得した中間データの各画像要素の中から、ウォーターマークの画像要素を抽出する抽出手段と、前記抽出手段が抽出したウォーターマークの画像要素の各々を、それらウォーターマークの画像要素同士の間で重複する部分を含まない形状へと変形する変形手段と、中間データから印刷装置用の画像データを生成する画像データ生成装置に対して、前記変形手段により変形されたウォーターマークの画像要素群を出力する出力手段と、を含む印刷データ処理装置である。
【００１２】
請求項２に係る発明は、前記中間データは、前記画像要素の形状を、前記印刷装置と同じ画素座標系で表現するものである、ことを特徴とする請求項１に記載の印刷データ処理装置である。
【００１３】
請求項３に係る発明は、ウォーターマークの画像要素群が、ウォーターマーク以外の画像要素群よりも画像の重なり順において下にある場合に、ウォーターマークの画像要素を変形手段に処理させることを取りやめる制御を行う手段、を更に有する請求項１又は２に記載の印刷データ処理装置である。
【００１４】
請求項４に係る発明は、コンピュータを、ページ記述言語で記述された文書データから生成された、複数の画像要素を含む中間データを取得する中間データ取得手段、前記中間データ取得手段が取得した中間データの各画像要素の中から、ウォーターマークの画像要素を抽出する抽出手段、前記抽出手段が抽出したウォーターマークの画像要素の各々を、それらウォーターマークの画像要素同士の間で重複する部分を含まない形状へと変形する変形手段と、中間データから印刷装置用の画像データを生成する画像データ生成装置に対して、前記変形手段により変形されたウォーターマークの画像要素群を出力する出力手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１又は４に係る発明によれば、ウォーターマーク専用のメモリ領域上に形成したウォーターマークのビットマップ画像を文書本体のビットマップ画像と合成する方式よりも必要とするメモリ容量が少なく、かつウォーターマークの画像要素同士の重なる部分の色がその方式の場合と同じ色とすることができる。
【００１６】
請求項２に係る発明によれば、変形手段により変形された隣接する画像要素同士の境界が、印刷装置の画素座標系において隙間ができないようにすることができる。
【００１７】
請求項３に係る発明によれば、ウォーターマークのビットマップ画像をそれ以外の画像要素群のビットマップ画像よりも先に作成できる場合には、変形手段の処理を省略した分だけ処理を高速化できる。
【図面の簡単な説明】
【００１８】
【図１】画像処理システムの構成の例を示すブロック図である。
【図２】印刷制御システムが備えるフロントエンド装置およびバックエンド装置の機能構成の例を示す図である。
【図３】中間データ形式で保持したウォーターマークのオブジェクトを文書本体のビットマップ画像に合成していく場合の問題点を説明するための図である。
【図４】ウォーターマーク平滑化部にオブジェクトが順に入力されていく際の、スプール内のオブジェクト群の変遷を説明するための図である。
【図５】解釈部の処理手順の一例を示す図である。
【図６】ウォーターマーク平滑化部の処理手順の一例を示す図である。
【図７】ウォーターマーク平滑化部が実行する処理を説明するための図である。
【発明を実施するための形態】
【００１９】
図１は、画像処理システムの構成の一例を示すブロック図である。図１の例のシステムは、端末装置１０、印刷制御システム２０、および印刷装置５０を備える。印刷制御システム２０は、フロントエンド装置３０およびバックエンド装置４０を有している。端末装置１０は、通信手段６０を介してフロントエンド装置３０に接続されており、ユーザの指示に従い、文書の印刷命令を含む印刷ジョブをフロントエンド装置３０に対して送信する。フロントエンド装置３０は、通信手段６２を介してバックエンド装置４０に接続され、バックエンド装置４０は、通信手段６４を介して印刷装置５０に接続される。
【００２０】
通信手段６０，６２，６４は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のデータ通信ネットワークであってよい。通信手段６０，６２，６４は、互いに共通の通信手段であってもよいし、それぞれ異なる通信手段であってもよい。例えば、端末装置１０とフロントエンド装置３０との間の通信手段６０としてＬＡＮを用い、フロントエンド装置３０とバックエンド装置４０との間の通信手段６２およびバックエンド装置４０と印刷装置５０との間の通信手段６４として、それぞれ、ＬＡＮと異なる専用の通信手段を用いてもよい。
【００２１】
図１の例のシステムでは、端末装置１０から送信された印刷ジョブをフロントエンド装置３０において処理し、この処理結果のデータがバックエンド装置４０に渡され、バックエンド装置４０において生成された描画データ（ラスターデータとも言う）に従って印刷装置５０による印刷が行われる。
【００２２】
図１の例の端末装置１０、フロントエンド装置３０、およびバックエンド装置４０は、例えば汎用のコンピュータによって実現され得る。コンピュータは、ハードウエアとして、ＣＰＵ（中央演算装置）、メモリ（一次記憶）、各種Ｉ／Ｏ（入出力）インタフェース、通信インタフェースなどがバスを介して接続された回路構成を有する。コンピュータは、通信インタフェースを介して、他の装置との間でデータの授受を行う。また、バスに対し、例えばＩ／Ｏインタフェース経由で、キーボードやマウスなどの入力装置、および、ＣＲＴ（Cathode Ray Tube）や液晶ディスプレイなどの表示装置が接続される。また、バスには、Ｉ／Ｏインタフェースを介して、ＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）等の固定二次記憶装置、及び、ＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブが接続される。このようなドライブは、メモリに対する外部記憶装置として機能する。後述の各実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤなどの記録媒体を経由して、またはネットワーク経由で、ＨＤＤなどの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、後述の実施形態の処理が実現される。
【００２３】
なお、後述の各実施形態の例において、バックエンド装置４０の機能の一部は、プログラムの実行によるソフトウエア処理ではなく、ハードウエア処理により実現してよい。ハードウエア処理は、例えば、動的再構成可能プロセッサ（Ｄｙｎａｍｉｃ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ，ＤＲＰ）と呼ばれる、処理の実行の途中で動的に回路を再構成できるプロセッサを用いて行ってもよい。あるいは、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の回路を用いてハードウエア処理を行ってもよい。例えば、バックエンド装置４０の機能の一部を実行する、ＤＲＰやＡＳＩＣ等のハードウエア要素を予め構成しておき、このようなハードウエア要素を汎用コンピュータのバスに対して接続することで、バックエンド装置４０を実現すればよい。
【００２４】
フロントエンド装置３０およびバックエンド装置４０を実現するハードウエアの１つの具体例として、それぞれがサーバとして機能する複数の情報処理装置を１つの筐体内に搭載したブレードサーバを用いることが考えられる。ブレードサーバは、ＣＰＵやメモリを備える汎用のコンピュータを１枚の基板（ブレード）に実装し、複数のブレードを筐体内に搭載したサーバ装置である。例えば、ブレードサーバに搭載された１つのブレードをフロントエンド装置３０として機能させ、他の１つのブレードをバックエンド装置４０として機能させてもよい。あるいは、例えば、フロントエンド装置３０およびバックエンド装置４０のそれぞれを、ブレードサーバに搭載された複数のブレードにより実現してもよい。
【００２５】
もちろんこれは一例に過ぎず、フロントエンド装置３０とバックエンド装置４０を、それぞれ個別の筐体に搭載された個別のコンピュータ装置上に構築してもよい。また、フロントエンド装置３０とバックエンド装置４０とを、同一のコンピュータ装置上に構築してもよい（すなわち、それら各装置の処理を行うプログラムを同一のコンピュータ上で実行）。
【００２６】
印刷装置５０は、紙等の媒体に印刷を行う装置であり、例えば、連続紙プリンタであってよいし、カット紙プリンタであってもよい。なお、印刷装置５０の印刷方式は特に限定されない。電子写真方式でもよいし、インクジェット方式でもよい。またその他の方式でもよい。
【００２７】
図１にはフロントエンド装置３０とバックエンド装置４０をそれぞれ１つずつしか示していないが、それらをそれぞれ２以上設け、並列に処理を実行させてもよい。
【００２８】
図２に、印刷制御システム２０が備えるフロントエンド装置３０およびバックエンド装置４０の機能構成の例を示す。フロントエンド装置３０は、印刷ジョブ受信部３２、解釈部３４及びウォーターマーク平滑化部３６を備える。バックエンド装置４０は、論理ページバッファ４２−１、ウォーターマークバッファ４２−２、結合部４３、描画部４４および出力バッファ４６を備える。
【００２９】
フロントエンド装置３０の印刷ジョブ受信部３２は、端末装置１０から印刷ジョブを受信する。本実施形態の例において、印刷ジョブは、文書を印刷する旨の命令と、印刷対象の文書をページ記述言語で記述したデータと、を含む。ページ記述言語（ＰＤＬと略す：ＰＤＬはPage Description Language の略）は、ディスプレイ表示処理、印刷処理等を情報処理機器に実行させるためのコンピュータプログラミング言語である。ページ記述言語の例としては、ＰｏｓｔＳｃｒｉｐｔ（登録商標）やＰＤＦ（Portable Document Format）等がある。ページ記述言語で記述されたデータは、印刷対象の文書を構成する文字や図形、イメージ（ビットマップ画像）などのオブジェクトの位置情報、書式情報および色情報などを含む。以下の説明では、印刷対象の文書をページ記述言語で記述したデータを「ＰＤＬデータ」と呼ぶ。印刷ジョブ受信部３２は、受信した印刷ジョブに含まれるＰＤＬデータを解釈部３４に渡す。
【００３０】
解釈部３４は、印刷ジョブ受信部３２から取得したＰＤＬデータを解釈し、その解釈結果に応じて、描画データの生成の手順を表す命令を含む中間データを生成して出力する。描画データは、印刷対象の画像を印刷装置５０が取り扱い可能な形式で表現した印刷画像データであり、例えばラスター形式のデータがその一例である。中間データは、ＰＤＬデータと描画データの中間の粒度のデータである。中間データ形式は、例えば、ＰＤＬで記述された画像オブジェクトを更に単純な形状の微小要素に細分化して表現したものである。中間データ形式としては、例えばディスプレイリスト形式が知られている。また本願出願人による、特開２０１１−１５０５３５号公報、特開２０１５−００５１３１号公報に記載された中間データ形式を用いてもよい。この場合、中間データの解像度を印刷装置５０と同じ解像度とし、中間データの座標系を印刷装置５０と同じ画素座標系（すなわち印刷装置５０での画素を単位として座標を表現する座標系）で表現する。こうすれば、バックエンド装置４０の描画部４４の処理において解像度変換が不要になり、またウォーターマーク平滑化部３６がオブジェクト同士の重なり部分を削除する変形を行った場合に、変形後のそれらオブジェクト同士の境界に隙間が生じない（この点については後で詳しく説明する）。
【００３１】
解釈部３４は、ＰＤＬデータを解釈することで、そのＰＤＬデータが表す各オブジェクトを、中間データ形式において用いられる単位形状（例えば矩形形式、ラン形式、ラスター形式の形状）に分解し、単位形状ごとにその形状やカラーを表すデータ（これが中間データ形式でのオブジェクトを表す）を生成する。
【００３２】
解釈部３４は、ＰＤＬデータがウォーターマークと文書本体の論理ページのどちらを表すかを判定する。そして、ウォーターマークを表すＰＤＬデータから生成した中間データはウォーターマーク平滑化部３６へ、文書本体の論理ページを表すＰＤＬデータから生成した中間データは、バックエンド装置４０の論理ページバッファ４２−１へ、それぞれ出力する。解釈部３４は、ＰＤＬデータの各オブジェクトを順に解釈し、その解釈の結果生成した中間データ形式のオブジェクトを、生成した順に、後段の論理ページバッファ４２−１及びウォーターマーク平滑化部３６に渡す。
【００３３】
ここで、ウォーターマークとは、既存の文書本体のコンテンツの前面（画像の重なり順で上側の面）又は背面（下側の面）に表示されるテキスト又は画像であり、透かしとも呼ばれる。例えば機密文書の各ページの中央部に「極秘」等の赤字の文字列を重ねて印刷したい場合、Adobe（登録商標）社のAcrobat（登録商標）等のソフトウエアでは、その機密文書に対してその文字列をウォーターマークとして設定することができる。また、ビットマップ等の画像ファイルをウォーターマークとして設定することも可能である。ウォーターマークが設定された文書のＰＤＬデータ（例えばＰＤＦ形式）は、その文書本体のＰＤＬデータと、ウォーターマークのＰＤＬデータとに分かれているので、解釈部３４はそれら各ＰＤＬデータが文書本体とウォーターマークのいずれであるかを識別できる。
【００３４】
ウォーターマーク平滑化部３６は、解釈部３４から順に入力されるウォーターマークの各オブジェクトを、中間データ形式のまま平滑化(flattening)する。この平滑化の際、ウォーターマーク平滑化部３６は、ウォーターマークのページを構成するオブジェクト同士が重なる部分の色が、それらオブジェクトの色同士が多重に重なった色になるという問題を防ぐための処理を行う。ウォーターマーク平滑化部３６の処理を経た各オブジェクトの中間データは、バックエンド装置４０のウォーターマークバッファ４２−２に転送される。ウォーターマーク平滑化部３６が行う処理については、後で詳しく説明する。
【００３５】
バックエンド装置４０の論理ページバッファ４２−１には、解釈部３４から順に入力される文書本体の各ページ（論理ページ）内の各オブジェクトの中間データが、その入力の順序に対応付けて蓄積される。ウォーターマークバッファ４２−２には、ウォーターマーク平滑化部３６から入力されるウォーターマークの各オブジェクトの中間データが、その入力の順序に対応付けて蓄積される。
【００３６】
結合部４３は、論理ページバッファ４２−１とウォーターマークバッファ４２−２に記憶されたオブジェクト群の中間データを出力単位（例えばページ）毎に結合して描画部４４に供給する。この結合は、論理ページとウォーターマークの重なり順の設定に応じて行う。論理ページの上にウォーターマークが重なる一般的な設定の場合、結合部４３は、出力単位毎に、まず論理ページバッファ４２−１内のその出力単位のオブジェクト群の中間データを描画部４４に供給し、その後ウォーターマークバッファ４２−２内のオブジェクト群の中間データを描画部４４に供給する。逆に、ウォーターマークの上に論理ページが重なる設定の場合には、ウォーターマークバッファ４２−２内のオブジェクト群を先に描画部４４に供給し、その後で論理ページバッファ４２−１内のオブジェクト群を供給する。いずれの場合も、結合部４３が論理ページバッファ４２−１から取り出すオブジェクト群は出力単位ごとに変わるのに対し、ウォーターマークバッファ４２−２から取り出すオブジェクト群は出力単位によらず同じである。
【００３７】
描画部４４は、結合部４３から順に供給される各オブジェクトの中間データを描画（ラスタライズ）し、出力単位の画像を保持するメモリ領域（ページメモリ等）にそのラスタライズ結果の画素値を反映していく。１ページに含まれる全オブジェクトを描画することで、そのページのラスター画像（描画データ）が形成される。生成された各ページの描画データは出力バッファ４６に格納され、印刷装置５０から順次読み出される。印刷装置５０は、出力バッファ４６から読み出した各ページの描画データを、用紙に対して印刷する。
【００３８】
以上、フロントエンド装置３０及びバックエンド装置４０の構成について説明した。次に、ウォーターマーク平滑化部３６の機能について更に詳しく説明する。
【００３９】
まず、ウォーターマーク平滑化部３６が対処する問題、すなわちウォーターマークのオブジェクト同士の色が多重に重なった色になるという問題について、図３を参照して説明する。
【００４０】
ＰＤＬデータに含まれるオブジェクト（画像要素）が大きい場合に、画像処理の効率化等のためにそのオブジェクトを縦横にタイル状に複数のオブジェクトに分割してから中間データに変換することが行われる。この分割処理は、タイリング又はタイル分割などとも呼ばれる。この分割を単純に行ったのでは、ＰＤＬデータ上での分割境界の座標を中間データの座標に変換する際の丸め誤差等から、分割結果のオブジェクト同士の境界に隙間ができ、境界が目立ってしまう場合がある。そこで従来、分割結果のオブジェクトが互いに部分的に重なり合うようにすることで、それらオブジェクト同士の境界に隙間ができないようにすることが行われている。
【００４１】
図３の例では、ページ１００の大きさを持つウォーターマークのオブジェクト１１０（灰色の正方形）を縦横のそれぞれに二分割する場合、単純な分割では、そのオブジェクト１１０の縦横の二等分線（図では破線で示す）で分割することになる。しかし、これでは分割の境界に隙間ができる可能性があるため、従来、分割結果の各オブジェクト１１２ａ〜１１２ｄを、それぞれ、元のオブジェクト１１０の縦横の二等分線よりもはみ出した形状とすることで、本来の境界線（二等分線）が、分割結果のオブジェクト１１２ａ〜１１２ｄ同士の重なりの部分に覆われるようにしている。従来、ウォーターマーク付きの文書を印刷する場合、ウォーターマーク専用のページメモリを用意し、そのページメモリにそれら分割結果の１１２ａ〜１１２ｄをラスタライズ（描画）していく。その際、オブジェクト同士が重なる部分については、描画順が後のオブジェクトのラスタライズ結果の画像を上書きしていくので、そのページメモリ上に形成されるウォーターマークのビットマップ画像には、分割されたオブジェクト１１２ａ〜１１２ｄが重なる部分は存在しない。
【００４２】
これに対し、ウォーターマーク専用のページメモリを用意せず、分割結果のオブジェクト１１２ａ〜１１２ｄの中間データのラスタライズ結果を、文書本体の論理ページのビットマップ画像上に直接合成していく場合を考える。ウォーターマークは、指定された透過率で下地画像に合成されるので、分割されたオブジェクト１１２ａ〜１１２ｄ同士が重なる部分では、それらオブジェクトの色（画素値）がその透過率で互いに合成されるため、その重なりの部分はウォーターマークの色が多重に合成された濃い色となってしまう（図の合成結果１２０）。
【００４３】
以上は、ウォーターマークのオブジェクトをタイル状に分割する場合の問題であったが、タイル状の分割を行わない場合でも、ウォーターマーク自体が互いに重なる部分を持つ複数のオブジェクトから構成されている場合、同様の問題が生じる。
【００４４】
ウォーターマーク平滑化部３６は、そのような問題に対処すべく、ウォーターマークのオブジェクト同士が互いに重ならないように、中間データのレベルでそれらオブジェクトを変形する。
【００４５】
この変形処理では、ウォーターマーク平滑化部３６は、解釈部３４から入力されるウォーターマークのオブジェクト（中間データ形式）を、入力される順にスプール３７に格納していく。そして、この格納の際に、既にスプール３７に格納されている各オブジェクトに対し、新たに格納するオブジェクトと重なる部分を除いた形に変形する処理を施す。この変形処理のことを「eclipse」処理と呼ぶ。「eclipse」とは、第１のオブジェクトが第２のオブジェクトの上に重なる場合に、日食や月食のように、第２のオブジェクトのうち第１のオブジェクトと重なる部分を遮蔽することを意味する。ここでは、この遮蔽は、第２のオブジェクトの形状から第１のオブジェクトと重なる部分を削除することにより実現する。この削除は、第２のオブジェクトの中間データにおける形状の記述を、第１のオブジェクトと重なる部分を削除した形状を表す記述に変更することにより実現する。第２のオブジェクトの形状から第１のオブジェクトと重なる部分を削除した削除結果の形状が、中間データ形式で表現できない形状になる場合は、その削除結果の形状を中間データ形式で表現可能な複数のオブジェクトに分ければよい。なお、第２のオブジェクトが第１のオブジェクトにより完全に隠される場合は、第２のオブジェクトそのものをなくす（すなわち第２のオブジェクトの中間データの記述を全部削除する）。
【００４６】
次に、図４を参照して、ウォーターマーク平滑化部３６によるeclipse処理の流れを説明する。この例では、解釈部３４からウォーターマーク平滑化部３６に対して、ウォーターマークのページ１００を構成する４つのオブジェクト１０２（図中の灰色の矩形。例えば１つのウォーターマークを４つに分割したもの）が、１〜４の番号順に入力されるとする。以下では、それらオブジェクトをその入力順の番号を用いて、「オブジェクト１」、「オブジェクト２」等と表す。
【００４７】
まずオブジェクト１が入力された時点では、スプール３７の中にはオブジェクトがないので、ウォーターマーク平滑化部３６はそのオブジェクト１を単にスプール３７に格納する。
【００４８】
オブジェクト２が入力されると、ウォーターマーク平滑化部３６は、スプール３７内にあるオブジェクト１を、そのオブジェクト２によりeclipse処理する。すなわち、オブジェクト１の形状を、オブジェクト２と重なる部分１０４を除いた形状へと変更する。例えば、中間データが矩形をその矩形の左上隅と右下隅の２頂点の座標の組で表現する形式の場合、この形状変更では、オブジェクト１の矩形の右下隅の頂点の座標を、重なる部分１０４を除いた場合の矩形に対応する座標に変更すればよい。この形状変更後のオブジェクト１を、オブジェクト１ａと呼ぶこととする。このeclipse処理のあと、ウォーターマーク平滑化部３６は、オブジェクト２をスプール３７に格納する。
【００４９】
オブジェクト３が入力されると、ウォーターマーク平滑化部３６は、スプール３７内にあるオブジェクト１ａ及びオブジェクト２を、そのオブジェクト３によりeclipse処理する。これにより、オブジェクト１ａはオブジェクト１ｂに、オブジェクト２はオブジェクト２ｂに、それぞれ変形される。その後、オブジェクト３をスプール３７に格納する。
【００５０】
オブジェクト４が入力されると、ウォーターマーク平滑化部３６は、スプール３７内にあるオブジェクト１ｂ、オブジェクト２ｂ及びオブジェクト３を、そのオブジェクト４によりeclipse処理する。これにより、オブジェクト１ｂはオブジェクト１ｃに、オブジェクト２ｂはオブジェクト２ｃに、オブジェクト３はオブジェクト３ｃに、それぞれ変形される。その後、オブジェクト４をスプール３７に格納する。
【００５１】
以上、ウォーターマーク平滑化部３６の機能について説明した。次に図５を参照して、解釈部３４が実行する処理手順の例を説明する。この例では、端末装置１０は、ウォーターマークが設定された文書を、ウォーターマークと文書本体の２つの印刷ジョブに分けて発行するものとする。また、印刷ジョブには、その印刷ジョブがウォーターマークと文書本体のいずれであるかを示す情報が含まれているものとする。
【００５２】
端末装置１０からの印刷ジョブを印刷ジョブ受信部３２を介して受け取った解釈部３４は（Ｓ１０）、その印刷ジョブの情報からその印刷ジョブがウォーターマークのジョブか否かを判定する（Ｓ１２）。この判定結果がウォーターマークであれば、当該印刷ジョブの解釈結果の中間データの出力先をウォーターマーク平滑化部３６に設定し（Ｓ１４）、そうでなければその出力先をバックエンド装置４０の論理ページバッファ４２−１に設定する（Ｓ１６）。
【００５３】
出力先の設定の後、解釈部３４は、印刷ジョブの印刷データの中から次に処理すべきページを取得する（Ｓ１８）。次に、そのページのＰＤＬ記述の中から次に処理すべきコマンドを抽出し（Ｓ２０）、そのコマンドを解釈して１以上の中間データ形式のオブジェクトを生成する（Ｓ２２）。そして、生成したオブジェクトを順に、Ｓ１４又はＳ１６で設定された出力先に出力する（Ｓ２４）。
【００５４】
その後、解釈部３４は、そのページの最後のコマンドまで処理し終えたかを判定し（Ｓ２６）、終えていなければ、Ｓ２０に戻ってそのページの次のコマンドの処理を行う。Ｓ２６でページの最後まで処理が完了したと判定した場合は、更に印刷ジョブの最後のページまで処理を完了したかを判定し（Ｓ２８）、完了していなければＳ１８に戻って次のページの解釈処理を行う。そして、印刷ジョブの最後のページまで処理が終わると、その印刷ジョブの処理が完了する。
【００５５】
図５の例では、ウォーターマークと文書本体とがそれぞれ別々の印刷ジョブとして解釈部３４に入力されるとしたが、それら両者が１つの印刷ジョブ（ＰＤＬデータ）の中に含まれている場合でも、その印刷ジョブのデータの中でウォーターマークの部分と文書本体の部分が識別可能になっているので、同様の処理が適用可能である。
【００５６】
次に、図６を参照して、ウォーターマーク平滑化部３６の処理手順の例を説明する。この手順では、まずウォーターマーク平滑化部３６は、解釈部３４から中間データ形式のオブジェクトを１つ取得すると（Ｓ３０）、スプール３７内に格納されている各オブジェクトを、その取得したオブジェクトによりeclipse処理する（Ｓ３２）。そして、その取得したオブジェクトをスプール３７に格納する（Ｓ３４）。なお、スプール３７内に格納された各オブジェクトには、それぞれ格納された順番（すなわち解釈部３４から入力された順番）を示す情報が対応付けられる。以上のＳ３０〜Ｓ３４の処理を、ウォーターマークの印刷ジョブの最後のオブジェクトまで繰り返す（Ｓ３６）。
【００５７】
最後のオブジェクトまで処理が終わると、ウォーターマーク平滑化部３６は、まずウォーターマーク透過率をセットする中間データ形式のコマンドを、バックエンド装置４０のウォーターマークバッファ４２−２へ出力する（Ｓ３８）。ここで、ウォーターマーク透過率の値は、ウォーターマークの印刷ジョブのデータ内に含まれており、解釈部３４からウォーターマーク平滑化部３６に通知されている。次にウォーターマーク平滑化部３６は、スプール３７内の各オブジェクト（eclipse処理を経たもの）を格納された順に出力する（Ｓ４０）。そして、最後のオブジェクトが出力し終わると、ウォーターマーク透過率をリセットする中間データ形式のコマンドをウォーターマークバッファ４２−２へ出力する（Ｓ４２）。
【００５８】
この処理により、ウォーターマークバッファ４２−２には、ウォーターマーク透過率をセットするコマンド、ウォーターマークのオブジェクト群、及びその透過率をリセットするコマンドが、その順序と対応付けて記憶される。結合部４３は、これらのデータをその順序に従って読み出し、描画部４４に入力する。
【００５９】
次に図７に示す具体例を用いて、ウォーターマーク平滑化部３６が行う処理を説明する。
【００６０】
ウォーターマーク平滑化部３６に対して、解釈部３４から、図７の左側に示す４つのオブジェクト１〜４がこの順に入力されたとする。これらオブジェクト１〜４は、ＰＤＬデータ上の大きな１つのウォーターマークオブジェクトを、解釈部３４が中間データに変換するにあたり４つに分割したものであり、それら４つのオブジェクト同士の境界に隙間ができないよう、単純な分割ではなく、それらオブジェクト同士で互いに重なり合う部分が設けられている。
【００６１】
ウォーターマーク平滑化部３６は、入力されるオブジェクト１〜４を順にスプール３７に格納していくが、その格納の際に、既にスプール３７内にある各オブジェクトに対してeclipse処理を行う。これにより、スプール３７内の各オブジェクトは、互いに重なり合う部分を持たず、互いの境界線同士が接する形状となる。
【００６２】
ここで、本実施形態では、中間データの形式は、上述のように、印刷装置５０と同じ画素座標系を用いているので、eclipse処理によるオブジェクトの変形、すなわちオブジェクト同士の重複部分の削除は、印刷装置５０の画素単位で正確に行われる。すなわち、eclipse処理後のオブジェクト同士の境界は画素単位でぴったり接するものとなり、隙間はできない。
【００６３】
仮にＰＤＬデータのように印刷装置５０の画素座標系と独立した抽象的な座標系でオブジェクトを表現している場合において、例えばオブジェクトを座標軸に平行な境界線で２つに分割し、分割結果の２つのオブジェクトをそれぞれ印刷装置５０の解像度に合わせてラスタライズした場合を考える。この場合、ＰＤＬの座標系での境界線の座標を印刷装置５０の画素座標系の座標に変換する際の丸め誤差等の誤差により、その境界線の位置でそれら分割結果の２つのオブジェクト同士に隙間ができる場合がある。
【００６４】
これに対し、上述のように印刷装置５０と同じ画素座標系で表現される中間データを用いた場合、オブジェクトを隣接する画素同士の境界で正確に分割することができ、こうすればビットマップ画像の分割と同じく隙間無く分割することが可能になる。したがって、eclipse処理においてスプール内の既存オブジェクトを、後からスプールに来た新規オブジェクトと重複する部分をなくすように変形する場合にも、既存オブジェクトと新規オブジェクトとの境界は、印刷装置５０の画素座標系において隣接する画素同士の境界と一致し、それら両オブジェクト同士は画素単位でぴったりと接したものとなる。したがって、eclipse処理を経たウォーターマークのオブジェクト群を描画した場合、それらオブジェクト同士の境界に隙間はできず、また重なりにより色が濃くなる部分も生じない。
【００６５】
上記実施形態では、ウォーターマークと文書本体（論理ページ）との重なり順によらず、ウォーターマークのオブジェクトにはウォーターマーク平滑化部３６の処理を施した。しかし、別の例として、ウォーターマークの上に文書本体が重なる重なり順の場合（より厳密には、重なり順においてウォーターマークの下に画像が存在しない場合）には、ウォーターマークのオブジェクト群へのウォーターマーク平滑化部３６の処理の適用を取りやめてもよい。この場合、ウォーターマークの各オブジェクトを直接ページメモリにノックアウトで描画できるので、それらオブジェクト同士が重なっていても、ページメモリ上では重なりが無くなり、重なり部分でウォーターマークの色が濃くなるという事態は生じない。この場合、解釈部３４は、ウォーターマークのオブジェクトの中間データを、ウォーターマーク平滑化部３６ではなく、バックエンド装置４０のウォーターマークバッファ４２−２に出力する。結合部４３は、ウォーターマークバッファ４２−２から読み出した各オブジェクトをメモリ上にノックアウトで描画した後、文書本体の論理ページの各オブジェクトをそのメモリ上に更に描画する。この場合、ウォーターマーク平滑化部３６を用いない分だけ、ウォーターマークのオブジェクトについての処理が高速になる。
【符号の説明】
【００６６】
１０  端末装置、２０  印刷制御システム、３０  フロントエンド装置、３２  印刷ジョブ受信部、３４  解釈部、３６  ウォーターマーク平滑化部、３７  スプール、４０  バックエンド装置、４２−１  論理ページバッファ、４２−２  ウォーターマークバッファ、４３  結合部、４４  描画部、４６  出力バッファ、５０  印刷装置、６０，６２，６４  通信手段。
【図１】
0006492895.tif 000002
【図２】
0006492895.tif 000003
【図３】
0006492895.tif 000004
【図４】
0006492895.tif 000005
【図５】
0006492895.tif 000006
【図６】
0006492895.tif 000007
【図７】
0006492895.tif 000008