(57)【要約】【課題】ウォーターマーク等の特殊画像を、背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画することにより、ユーザの意志に沿った特殊画像の描画を実現する。【解決手段】背景オブジェクトを含む複数のオブジェクトからなる画像データ（例えばプレゼンテーションソフトで作成した画像データ）にウォーターマークを付加して印刷出力する際、まずウォーターマークを描画し（▲１▼）、その後に各種オブジェクトを描画するが、その描画するオブジェクトが背景オブジェクトである場合は（▲２▼）、その背景オブジェクトの描画後にウォーターマークを再び描画する（▲３▼）。これにより、ウォーターマークが背景オブジェクトに隠れず且つ背景オブジェクト以外の他のオブジェクトに影響を与えない印刷結果が得られる。【選択図】  図６
2004328486.tif 000002
【特許請求の範囲】
【請求項１】
少なくともビットマップ形式のビットマップオブジェクトを含む１又は複数のオブジェクトを所定の順序に従って描画することにより得られる１ページの画像に対して、特殊画像を付加する方法であって、
描画対象オブジェクトが前記ビットマップオブジェクトの場合は、そのビットマップオブジェクトが背景を表す背景オブジェクトであるか否か判断して、背景オブジェクトと判断された場合は、その背景オブジェクトの描画後に前記特殊画像を描画する
ことを特徴とする特殊画像付加方法。
【請求項２】
前記オブジェクトの前記順序に従った描画の開始後、描画対象オブジェクトが前記ビットマップオブジェクトである毎にそのビットマップオブジェクトが前記背景オブジェクトであるか否か判断し、背景オブジェクトと判断された場合は、その背景オブジェクトの描画後、次に描画されるべきオブジェクトより先に前記特殊画像を描画する
ことを特徴とする請求項１記載の特殊画像付加方法。
【請求項３】
前記オブジェクトの描画前に、まず前記特殊画像を描画することを特徴とする請求項１又は２記載の特殊画像付加方法。
【請求項４】
前記ビットマップオブジェクトの大きさが、前記１ページの画像を印刷出力する際の印刷媒体の大きさとほぼ同じである場合に、そのビットマップオブジェクトが前記背景オブジェクトであると判断する
ことを特徴とする請求項１〜３いずれかに記載の特殊画像付加方法。
【請求項５】
前記ビットマップオブジェクトの描画領域と前記特殊画像の描画領域とが重複し且つその重複する部分が白色又は淡色である場合に、そのビットマップオブジェクトが前記背景オブジェクトであると判断する
ことを特徴とする請求項１〜３いずれかに記載の特殊画像付加方法。
【請求項６】
１又は複数の前記背景オブジェクトが予め登録されており、
前記ビットマップオブジェクトが前記登録されている背景オブジェクトのいずれかと一致するか否か判断して、一致したならば、そのビットマップオブジェクトが前記背景オブジェクトであると判断する
ことを特徴とする請求項１〜３いずれかに記載の特殊画像付加方法。
【請求項７】
前記背景オブジェクトとしての前記ビットマップオブジェクトには、予め、そのビットマップオブジェクトが前記背景オブジェクトであることを示す背景識別情報が対応付けられており、
前記ビットマップオブジェクトに前記背景識別情報が対応付けられているか否か判断して、対応付けられていたならば、そのビットマップオブジェクトが前記背景オブジェクトであると判断する
ことを特徴とする請求項１〜３いずれかに記載の特殊画像付加方法。
【請求項８】
少なくともビットマップ形式のビットマップオブジェクトを含む１又は複数のオブジェクトからなる１ページの画像を、その画像を構成する前記オブジェクトの各々を表したオブジェクトレコードからなるレコードファイルとして一旦記憶し、その記憶したレコードファイルを構成する前記オブジェクトレコードの各々を所定の順序で解析してそのオブジェクトレコードに対応した前記オブジェクトを描画していくことにより前記１ページの画像を描画すると共に、その１ページの画像に対して特殊画像を付加するよう構成された描画処理システムであって、
前記レコードファイルから前記順序で前記オブジェクトレコードを取り込むレコード取り込み手段と、
そのレコード取り込み手段が取り込んだオブジェクトレコードを解析して対応する前記オブジェクトを描画するオブジェクト描画手段と、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが、背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否か判断する背景オブジェクト判断手段と、
前記特殊画像を描画する特殊画像描画手段と、
を備え、
前記特殊画像描画手段は、前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが前記背景オブジェクト判断手段によって前記背景オブジェクトと判断された場合、前記オブジェクト描画手段によるその背景オブジェクトの描画後に、前記特殊画像を描画する
ことを特徴とする描画処理システム。
【請求項９】
前記特殊画像描画手段は、前記オブジェクト描画手段による描画に先立ってまず前記特殊画像を描画する
ことを特徴とする請求項８記載の描画処理システム。
【請求項１０】
前記背景オブジェクト判断手段は、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが前記ビットマップオブジェクトであるか否か判断するビットマップ判断部と、
そのビットマップ判断部によりビットマップオブジェクトと判断されたとき、そのビットマップオブジェクトが背景を表すものであるか否かを判断する背景判断部と、
を備え、
前記背景判断部により背景を表すものと判断された場合に、そのビットマップオブジェクトが前記背景オブジェクトであるものと判断する
ことを特徴とする請求項８又は９記載の描画処理システム。
【請求項１１】
前記背景判断部は、
前記ビットマップオブジェクトの大きさと前記１ページの画像を印刷出力する際の印刷媒体の大きさとを比較して、そのビットマップオブジェクトが前記印刷媒体とほぼ同じ大きさである場合に、そのビットマップオブジェクトが背景を表すものであると判断する
ことを特徴とする請求項１０記載の描画処理システム。
【請求項１２】
前記背景判断部は、
前記ビットマップオブジェクトの描画領域と前記特殊画像の描画領域とが重複するか否か判断する重複判断手段と、
その重複判断手段によって重複すると判断された場合に、前記ビットマップオブジェクトにおける前記重複すると判断された部分が白色又は淡色であるか否か判断する色判断手段と、
を備え、
前記色判断手段によって白色又は淡色と判断された場合に、そのビットマップオブジェクトが背景を表すものであると判断する
ことを特徴とする請求項１０記載の描画処理システム。
【請求項１３】
前記背景判断部は、
前記重複する部分の全てが、前記色判断手段により白色又は淡色と判断された場合に、前記ビットマップオブジェクトが背景を表すものであると判断する
ことを特徴とする請求項１２記載の描画処理システム。
【請求項１４】
当該描画処理システムは、
アプリケーションソフトが、前記１ページの画像を構成する１又は複数の前記オブジェクトを生成し、そのオブジェクトを各々前記オブジェクトレコードに変換すると共にそのオブジェクトレコードを前記順序で並べることにより前記レコードファイルを生成するよう構成され、更に、前記アプリケーションソフトが備える前記背景オブジェクトを表す背景データが格納された背景オブジェクト記憶手段を備えており、
前記背景判断部は、
前記ビットマップ判断部により前記ビットマップオブジェクトであると判断されたときに、そのビットマップオブジェクトと、前記背景オブジェクト記憶手段に格納された背景データに対応した前記背景オブジェクトとを比較して、その背景オブジェクトのいずれかが前記ビットマップオブジェクトと一致した場合に、そのビットマップが背景を表すものであると判断する
ことを特徴とする請求項１０記載の描画処理システム。
【請求項１５】
当該描画処理システムは、
アプリケーションソフトが、前記１ページの画像を構成する１又は複数の前記オブジェクトを生成し、そのオブジェクトを各々前記オブジェクトレコードに変換すると共にそのオブジェクトレコードを前記順序で並べることにより前記レコードファイルを生成するよう構成され、
前記アプリケーションソフトは、更に、前記背景オブジェクトを前記オブジェクトレコードへ変換する際、そのオブジェクトが背景オブジェクトであることを示す背景識別情報を、変換後のオブジェクトレコードに対応付けるよう構成されており
前記背景オブジェクト判断手段は、
前記レコード取り込み手段が取り込んだオブジェクトレコードに前記背景識別情報が対応付けられているか否か判断し、対応付けられていた場合に、そのオブジェクトレコードに対応するオブジェクトが前記背景オブジェクトであると判断する
ことを特徴とする請求項８又は９記載の描画処理システム。
【請求項１６】
前記オブジェクト描画手段及び前記特殊画像描画手段により描画された、前記特殊画像を含む前記１ページの画像を、その画像を構成する各オブジェクトをその描画順序に従ってそれぞれ対応するオブジェクトレコードに再び変換することにより、そのオブジェクトコードからなるレコードファイルを生成するレコードファイル加工手段と、
前記レコードファイル加工手段により生成されたレコードファイルを構成する前記各オブジェクトレコードを、前記描画順序に従ってページ記述言語データ又はラスタデータに変換する変換手段と、
を備えたことを特徴とする請求項８〜１５いずれかに記載の描画処理システム。
【請求項１７】
前記オブジェクト描画手段は、前記レコード取り込み手段が取り込んだオブジェクトレコードをページ記述言語データ又はラスタデータに変換することにより前記オブジェクトの描画を実現するよう構成され、
前記特殊画像描画手段は、描画対象の前記特殊画像をページ記述言語データ又はラスタデータに変換することにより前記特殊画像の描画を実現するよう構成されている
ことを特徴とする請求項８〜１５いずれかに記載の描画処理システム。
【請求項１８】
当該描画処理システムは、
アプリケーションソフトが、前記１ページの画像を構成する１又は複数の前記オブジェクトを生成し、そのオブジェクトを各々前記オブジェクトレコードに変換すると共にそのオブジェクトレコードを前記所定の順序で並べることにより前記レコードファイルを生成するよう構成され、
前記レコードファイルに基づく前記１ページの画像の描画及び前記特殊画像の付加を行う際、そのレコードファイルを生成した前記アプリケーションソフトがプレゼンテーションソフトである場合に、前記背景オブジェクト判断手段の動作及び前記特殊画像描画手段による前記再描画を実行させる
ことを特徴とする請求項８〜１７いずれかに記載の描画処理システム。
【請求項１９】
当該描画処理システムは、前記背景オブジェクト判断手段の動作及び前記特殊画像描画手段による前記再描画を実行させるか否かを外部から指示できるよう構成されている
ことを特徴とする請求項８〜１７いずれかに記載の描画処理システム。
【請求項２０】
前記特殊画像はビットマップ形式であることを特徴とする請求項８〜１９いずれかに記載の描画処理システム。
【請求項２１】
請求項８〜２０いずれかに記載の描画処理システムにおける前記各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビットマップ形式のビットマップオブジェクトを含む１又は複数のオブジェクトを所定の順序に従って描画することにより得られる１ページの画像に対して特殊画像を付加する方法、及びその方法を使用した描画処理システムに関する。
【０００２】
【従来の技術】
従来より、アプリケーションソフトで作成した文書等を印刷する際、その印刷しようとする文書等の画像（以下「メイン画像」ともいう）に対して、例えば「社外秘」、「ＣＯＰＹ」、或いは「ＣＯＮＦＩＤＥＮＴＩＡＬ」等のいわゆるウォーターマークなどと呼ばれる特殊画像を付加する技術が知られている。
【０００３】
ウォーターマークの付加は、一般に印刷装置（プリンタ等）専用のドライバソフトの中に組み込まれる機能であり、アプリケーションソフトで作成した文書を印刷する際、ユーザがドライバソフトの印刷設定画面でウォーターマークを付加する旨の設定をすると共に付加すべきウォーターマークを決定することにより、メイン画像にウォーターマークが付加された画像が印刷出力される。
【０００４】
尚、ウォーターマークとしては、テキストデータからなるものはもちろん、ビットマップ形式等のイメージデータとして生成されたものもある。またこれらは、デフォルトでドライバソフトが備えているものもあれば、ユーザが新規に生成できる場合もある。
【０００５】
メイン画像に対してウォーターマークを付加する場合、メイン画像の前面に付加（以下「前面付加」ともいう）する場合と、メイン画像の背面に付加（以下「背面付加」ともいう）する場合とがある。ドライバソフトによっては上記いずれかをユーザが選択できるように構成されているものもあるが、通常はデフォルトで背面付加に設定されている場合が多い。
【０００６】
前面付加の場合は、具体的には図２１（ａ）に示すように、まず最初にメイン画像を描画し、最後にそのメイン画像の上にウォーターマークを描画（上書き）することになるため、メイン画像とウォーターマークとが重なる部分についてはウォーターマークが優先され、メイン画像は消えることになる。
【０００７】
これに対して背面付加の場合は、具体的には図２１（ｂ）に示すように、まずウォーターマークを描画し、その上にメイン画像を描画することになるため、メイン画像とウォーターマークとが重なる部分についてはメイン画像が優先され、ウォーターマークは消えることになる。
【０００８】
ところで、例えばプレゼンテーションソフトで作成されるメイン画像は、背景を表す背景オブジェクト（ビットマップ形式のオブジェクト）の上にプレゼンテーション用の各種オブジェクトが重なって描画された構成が一般的となっている。
【０００９】
つまり、このような構成のメイン画像が最終的に印刷装置でラスタライズされる際には、まず背景オブジェクトが描画され、その上に各種オブジェクトが描画されることになる。そして、一般的には、背景オブジェクトは１ページにおける比較的広い範囲に描かれることが多く、１ページ全領域に描かれる場合もある。
【００１０】
そのため、このようなメイン画像にウォーターマークを付加して印刷出力する場合に背面付加の方法を採ると、ウォーターマークは背景オブジェクトに隠れてしまうおそれが高くなり、特にウォーターマークの描画領域が背景オブジェクトの描画領域に完全に含まれるものだと、図２１（ｃ）に示すようにウォーターマークが背景オブジェクトによって上書きされ、完全に消されてしまう。
【００１１】
このとき、背景オブジェクトが有色であれば、印刷結果を見たユーザは「背景によってウォーターマークが消された」ということを視覚的に認識できるし、ユーザによってはむしろ意図的に背景によってウォーターマークを消そうとすることもある。
【００１２】
しかし、背景オブジェクトとして、完全に白色のものや、枠だけ描かれてその中は白色の場合（例えば図２１（ｃ）の背景オブジェクトにおいて枠以外が全て白色の場合）もある。そのような場合、ユーザからみれば、白い部分には何も描かれていないわけであるから、実際にはそこに白色の背景オブジェクトが描かれているという意識はなく、ウォーターマークを付加して印刷出力させたときは当然ながらその白色部分（実際には白色背景オブジェクト）にはウォーターマークが印刷されることを期待している。
【００１３】
ところが、実際にはウォーターマークは、白色の背景オブジェクト（白色のビットマップオブジェクト）により上書きされて、印刷されないことになる。つまり、ユーザにとっては、印刷結果を見たとき、ウォーターマークが描かれているであろう白い部分に何らウォーターマークが描かれていないことになり、ドライバソフト或いは印刷装置の異常ではないか、といった違和感・不便性を感ずる結果となる。
【００１４】
これを解決するための方法として、１ページ内の文字列オブジェクトに対して、上に他のオブジェクトが重ならない若しくは重なりを考慮しなくてもよい文字列オブジェクトか否かを判断し、上に他のオブジェクトが重なる（重なりを考慮すべき）文字列オブジェクトについてはその文字列オブジェクトが確実に表示されるようにする技術が知られている（例えば、特許文献１参照。）。
【００１５】
【特許文献１】
特開平１１−１４９３５５号公報
【００１６】
【発明が解決しようとする課題】
しかしながら、上記技術による方法では、ウォーターマークの上に他のオブジェクトが重なる場合にはウォーターマークがそのオブジェクトの上に表示されるようにできるものの、オブジェクトが背景であるか、それとも背景以外のオブジェクトであるかの判断を行うものではないため、常にウォーターマークが前面に描かれてしまう。
【００１７】
そのため、プレゼンテーションソフトで作成したメイン画像にウォーターマークを付加して印刷出力する際に上記技術を適用すると、ウォーターマークは確実に印刷されるものの、背景以外の主要なオブジェクトまでがウォーターマークに隠れてしまうことになり、「ウォーターマークは印刷させたいが背景以外のオブジェクトは確実に印刷させたい」といったユーザの意志に沿わない。
【００１８】
ウォーターマークを確実に表示させるために既述の前面付加を採用する方法もあるが、この設定にすると無条件にウォーターマークが最前面に表示されることになり、やはり上記同様の問題（背景以外のオブジェクトまでがウォーターマークに隠れてしまうこと）が生じ、ユーザの意志に沿わない。
【００１９】
本発明は上記課題に鑑みなされたものであり、ウォーターマーク等の特殊画像を背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画することにより、ユーザの意志に沿った特殊画像の描画を実現することを目的とする。
【００２０】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項１記載の特殊画像付加方法は、少なくともビットマップ形式のビットマップオブジェクトを含む１又は複数のオブジェクトを所定の順序に従って描画することにより得られる１ページの画像に対して、特殊画像を付加する方法であって、描画対象オブジェクトがビットマップオブジェクトの場合は、そのビットマップオブジェクトが背景を表す背景オブジェクトであるか否か判断して、背景オブジェクトと判断された場合は、その背景オブジェクトの描画後に特殊画像を描画する。
【００２１】
つまり、特殊画像を描画した後に背景オブジェクトを描画すると、その背景オブジェクトによって特殊画像が隠されてしまうおそれがあるため、背景オブジェクトの描画後に特殊画像を描画するのである。
尚、ここでいう「画像」とは、目に見える画像そのもののみを意味するのではなく、その画像を表すデータも意味するものであり、その場合（データを意味する場合）に「描画」とは、文字通り目に見えるよう描画することを意味するのではなく、描画すべき画像の画像データに基づいて例えばビットマップ形式データへの展開、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ；ページ記述言語）データへの変換、或いは仮想的な描画領域（メモリ等）へのデータ展開といった、各種データ変換等を行うことを意味するものとする。
【００２２】
従って、本発明（請求項１）の方法によれば、背景オブジェクトを描画したらその後に特殊画像の描画を行うため、背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画することができ、ユーザの意志に沿った特殊画像描画の実現が可能となる。
【００２３】
特殊画像を実際に描画するまでの過程としては、例えば、１ページの画像を構成するオブジェクトの各々について、まず背景オブジェクトであるか否かを判断してその判断結果を記憶し、その後各オブジェクトを上記順序で描画する中で背景オブジェクトとして記憶されているオブジェクトが描画されたら、その直後に特殊画像を描画する、という２段階に分けて処理を行う方式が考えられるが、例えば請求項２に記載のように、各オブジェクトの描画と共に上記判断及び特殊画像の描画を行うようにしてもよい。
【００２４】
即ち、請求項２に記載の発明は、上記順序に従ったオブジェクトの描画開始後、描画対象オブジェクトがビットマップオブジェクトである毎にそのビットマップオブジェクトが前記背景オブジェクトであるか否か判断して、背景オブジェクトと判断された場合は、その背景オブジェクトの描画後、次に描画されるべきオブジェクト（つまり上記順序におけるその背景オブジェクトの次に描画されるべきオブジェクト）より先に特殊画像を描画するものである。
【００２５】
このようにすれば、各オブジェクトの描画処理進行と同時に背景判断及び特殊画像の描画を行うことができるため、上記例示した２段階に分けて処理を行う方式に比べて、特殊画像が付加された１ページの画像をより短時間で得ることが可能となる。
【００２６】
また、特殊画像の描画は、例えば背景オブジェクトが描画されたときに限って行うようにしてもよいが、そのようにすると、背景オブジェクトのない１ページの画像に対しては特殊画像が描画されないことになる。
そこで、例えば請求項３に記載のように、上記順序に従った各オブジェクトの描画前に、まず前記特殊画像を描画するようにしてもよい。このようにすれば、背景オブジェクトの有無に関係なくまず特殊画像が描画されることになるため、１ページの画像に背景オブジェクトが存在していなくても特殊画像が確実に描画される。
【００２７】
ビットマップオブジェクトが背景オブジェクトであるか否かは、例えば請求項４に記載のように、ビットマップオブジェクトの大きさが上記１ページの画像を印刷出力する際の印刷媒体の大きさとほぼ同じである場合に、そのビットマップオブジェクトが背景オブジェクトであると判断するようにしてもよい。
【００２８】
また例えば、請求項５に記載のように、ビットマップオブジェクトの描画領域と特殊画像の描画領域とが重複し且つその重複する部分が白色又は淡色である場合に、そのビットマップオブジェクトが背景オブジェクトであると判断するようにしてもよい。尚、この場合の「描画」とは、文字通り目に見えるように描画（例えば画面表示や印刷出力など）することをいう。
【００２９】
即ち、請求項４記載の発明は、印刷媒体とほぼ同じ大きさのビットマップは一般に背景オブジェクトである可能性が高いことを利用したものであり、請求項５記載の発明は、既述の通り白色又は淡色だとそれが背景であるとは認識せず、少なくともそこには特殊画像が表示されるであろうという、ユーザ側の心理を考慮したものである。上記いずれの判断方法によっても、背景オブジェクトであるか否かを的確に判断し、ユーザの意志に沿った特殊画像の描画を実現できる。
【００３０】
一方、例えば請求項６記載のように、１又は複数の背景オブジェクトを予め登録しておき、背景オブジェクトか否かの判断の際は、描画対象のビットマップオブジェクトが上記登録されている背景オブジェクトのいずれかと一致するか否か判断して、一致したならば、そのビットマップオブジェクトが背景オブジェクトであると判断するようにしてもよい。
【００３１】
このような判断方法によれば、描画するビットマップオブジェクトが背景オブジェクトとして登録されているものと一致した場合に、それが背景オブジェクトであると判断するため、背景オブジェクトであるか否かの判断をより確実に行うことが可能となる。
【００３２】
また、例えば請求項７記載のように、背景オブジェクトとしてのビットマップオブジェクトには、予め、そのビットマップオブジェクトが背景オブジェクトであることを示す背景識別情報を対応付けておき、背景オブジェクトか否かの判断の際は、描画対象のビットマップオブジェクトに背景識別情報が対応付けられているか否か判断し、対応付けられていたならば、そのビットマップオブジェクトが背景オブジェクトであると判断するようにしてもよい。
【００３３】
このような判断方法によっても、描画するビットマップオブジェクトが背景識別情報と対応付けられている場合に、それが背景オブジェクトであると判断するため、背景オブジェクトであるか否かの判断をより確実に行うことが可能となる。
【００３４】
次に、請求項８記載の発明は、少なくともビットマップ形式のビットマップオブジェクトを含む１又は複数のオブジェクトからなる１ページの画像を、その画像を構成する上記オブジェクトの各々を表したオブジェクトレコードからなるレコードファイルとして一旦記憶し、その記憶したレコードファイルを構成するオブジェクトレコードの各々を所定の順序で解析してそのオブジェクトレコードに対応したオブジェクトを描画していくことにより１ページの画像を描画すると共に、その１ページの画像に対して特殊画像を付加するよう構成された描画処理システムである。
【００３５】
そして、本発明（請求項８）では、レコード取り込み手段がレコードファイルから上記所定の順序で取り込んだオブジェクトレコードを、オブジェクト描画手段が解析して対応するオブジェクトを描画する。また、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否か判断する背景オブジェクト判断手段と、特殊画像を描画する特殊画像描画手段とを備えている。
【００３６】
この特殊画像描画手段は、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが背景オブジェクト判断手段によって背景オブジェクトと判断された場合、オブジェクト描画手段によるその背景オブジェクトの描画後に、特殊画像を描画する。
【００３７】
上記構成の描画処理システムによれば、特殊画像描画手段が、背景オブジェクトが描画された後に特殊画像を描画するため、請求項１記載の発明と同様、背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように特殊画像を描画することができ、ユーザの意志に沿った特殊画像描画を実現できるという効果が得られる。
【００３８】
しかも、オブジェクト描画手段による描画の際に、描画対象オブジェクトに対する背景オブジェクト判断手段による判断処理及びその結果に基づく特殊画像描画手段の動作が共になされるため、各オブジェクトの描画処理進行と同時に背景判断及び特殊画像の描画を行うことができるという請求項２記載の発明と同様の効果が得られる。
【００３９】
この場合（請求項８）、特殊画像描画手段を、例えば請求項９に記載のように、オブジェクト描画手段による描画に先立ってまず特殊画像を描画するよう構成すれば、背景オブジェクトの有無に関係なくまず特殊画像が描画されることになるため、請求項３記載の発明と同様、１ページの画像に背景オブジェクトが存在していなくても特殊画像を確実に描画できるという効果が得られる。
【００４０】
ここで、背景オブジェクト判断手段は、具体的には、例えば請求項１０に記載のように、ビットマップ判断部が、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトがビットマップオブジェクトであるか否か判断し、そのビットマップ判断部によりビットマップオブジェクトと判断されたときは、背景判断部が、そのビットマップオブジェクトが背景を表すものであるか否かを判断するように構成するとよい。そして、背景判断部により背景を表すものと判断された場合に、そのビットマップオブジェクトが背景オブジェクトであるものと判断する。このようにすれば、ビットマップ形式としての背景オブジェクトを確実に判断することができる。
【００４１】
また、背景判断部は、例えば請求項１１に記載のように、ビットマップオブジェクトの大きさと上記１ページの画像を印刷出力する際の印刷媒体の大きさとを比較して、そのビットマップオブジェクトが印刷媒体とほぼ同じ大きさである場合に、そのビットマップオブジェクトが背景を表すものであると判断するように構成してもよい。
【００４２】
また例えば、請求項１２に記載のように、ビットマップオブジェクトの描画領域と特殊画像の描画領域とが重複するか否か判断する重複判断手段と、その重複判断手段によって重複すると判断された場合に、前記ビットマップオブジェクトにおけるその重複すると判断された部分が白色又は淡色であるか否か判断する色判断手段とを備え、色判断手段によって白色又は淡色と判断された場合に、そのビットマップオブジェクトが背景を表すものであると判断するようにしてもよい。
【００４３】
この場合（請求項１２）は更に、例えば請求項１３に記載のように、重複する部分の全てが色判断手段により白色又は淡色と判断された場合に、そのビットマップオブジェクトが背景を表すものであると判断するようにしてもよい。
背景判断部を請求項１１記載のように構成すれば、請求項４に記載の特殊画像付加方法を実現でき、請求項４記載の発明と同様の効果が得られる。また、背景判断部を請求項１２記載のように構成すれば、請求項５に記載の特殊画像付加方法を実現でき、請求項５記載の発明と同様の効果が得られる。更に、背景判断部を請求項１３記載のように構成すれば、重複する部分が全て白色又は淡色の場合に特殊画像が再描画されるため、特殊画像が背景オブジェクト以外の他のオブジェクトに与える影響（例えば有色のオブジェクトに特殊画像が上書きされること等）をより確実に抑えることができる。
【００４４】
次に、請求項１４記載の描画処理システムは、アプリケーションソフトが、上記１ページの画像を構成する１又は複数のオブジェクトを生成してそのオブジェクトを各々オブジェクトレコードに変換すると共にそのオブジェクトレコードを上記所定の順序で並べることによりレコードファイルを生成するよう構成されており、更に、背景オブジェクト記憶手段には、上記アプリケーションソフトが備える背景オブジェクトを表す背景データが格納されている。
【００４５】
そして、背景判断部は、ビットマップ判断部によりビットマップオブジェクトであると判断されたときに、そのビットマップオブジェクトと、背景オブジェクト記憶手段に格納された背景データに対応した背景オブジェクトとを比較して、その背景オブジェクトのいずれかが上記ビットマップオブジェクトと一致した場合に、そのビットマップが背景を表すものであると判断する。
【００４６】
つまり、アプリケーションが備える背景データが背景オブジェクト記憶手段に格納（記憶）されており、背景判断部は、ビットマップオブジェクトがこの背景オブジェクト記憶手段に格納された背景データのいずれかに対応するものであった場合に、背景オブジェクトと判断するのである。従って、請求項１４記載の描画処理システムによれば、請求項６記載の発明を実現でき、請求項６記載の発明と同様の効果を得ることができる。
【００４７】
また、請求項１５記載の描画処理システムは、アプリケーションソフトが、上記１ページの画像を構成する１又は複数のオブジェクトを生成し、そのオブジェクトを各々上記オブジェクトレコードに変換すると共にそのオブジェクトレコードを上記所定の順序で並べることによりレコードファイルを生成するよう構成されている。更にアプリケーションソフトは、背景オブジェクトをオブジェクトレコードへ変換する際、そのオブジェクトが背景オブジェクトであることを示す背景識別情報を、変換後のオブジェクトレコードに対応付けるよう構成されている。
【００４８】
そして、背景オブジェクト判断手段は、レコード取り込み手段が取り込んだオブジェクトレコードに背景識別情報が対応付けられているか否か判断し、対応付けられていた場合に、そのオブジェクトレコードに対応するオブジェクトが背景オブジェクトであると判断する。
【００４９】
上記構成の描画処理システムによれば、描画するビットマップオブジェクトが背景識別情報と対応付けられている場合に、それが背景オブジェクトであると判断するため、請求項７記載の発明を実現でき、請求項７記載の発明と同様の効果を得ることができる。
【００５０】
ところで、特殊画像を含む上記１ページの画像を最終的に印刷媒体に印刷出力する際には、その特殊画像を含む１ページの画像を、例えばＰＤＬデータやビットマップデータ等の、印刷出力を行う装置等（例えばプリンタ等）が解釈可能な形式のデータに変換する必要がある。
【００５１】
そこで、例えば請求項１６に記載のように、オブジェクト描画手段及び特殊画像描画手段により描画された特殊画像を含む上記１ページの画像を、レコードファイル加工手段が、その画像を構成する各オブジェクトをその描画順序に従ってそれぞれ対応するオブジェクトレコードに再び変換することにより、そのオブジェクトコードからなるレコードファイルを生成するようにし、その生成されたレコードファイルを構成する各オブジェクトレコードを、変換手段が、上記描画順序に従ってページ記述言語データ又はラスタデータに変換するようにしてもよい。
【００５２】
つまり、オブジェクト描画手段及び特殊画像描画手段の動作によって得られた、特殊画像が付加された１ページの画像を、その画像が描画された描画順序（特殊画像の描画順序も考慮）で再びオブジェクトレコードに変換してレコードファイル化するのである。そして、そのレコードファイルに従って、変換手段がページ記述言語データ又はラスタデータに変換するのである。
【００５３】
そのため、上記構成の描画処理システムによれば、特殊画像が付加された１ページの画像をページ記述言語データ又はラスタデータに変換できるため、特殊画像が適切に描画された印刷出力結果を得ることが可能となる。
また例えば、請求項１７に記載のように、オブジェクト描画手段を、レコード取り込み手段が取り込んだオブジェクトレコードをページ記述言語データ又はラスタデータに変換することで上記オブジェクトの描画を実現するものとして構成し、特殊画像描画手段も、描画対象の特殊画像をページ記述言語データ又はラスタデータに変換することで特殊画像の描画を実現するものとして構成するようにしてもよい。
【００５４】
上記構成の描画処理システムによっても、請求項１６と同様、特殊画像が付加された１ページの画像をページ記述言語データ又はラスタデータに変換できるため、特殊画像が適切に描画された印刷出力結果を得ることが可能となる。
ところで、特殊画像がユーザの意に反して背景オブジェクトに隠れてしまうという現象は、あらゆるアプリケーションソフトで同じように生じるわけではなく、既述の通り、例えばプレゼンテーションソフトのように、デフォルトで背景オブジェクトが設定されるような場合に特に生じ易い。
【００５５】
そこで、当該描画処理システムは、例えば請求項１８に記載のように、レコードファイルに基づく１ページの画像の描画及び特殊画像の付加を行う際、そのレコードファイルを生成したアプリケーションソフトがプレゼンテーションソフトである場合に、背景オブジェクト判断手段の動作及び特殊画像描画手段による特殊画像の再描画を実行させるようにするとよい。
【００５６】
このようにすれば、背景オブジェクトによる上記問題の生じる可能性が少ないアプリケーションソフト（例えば、単なる文字による文書を作成するワードプロセッサソフトなど）の場合であっても背景オブジェクトの有無判断を行うといった、無駄な処理を行わないようにすることができ、当該描画処理システム全体の処理負荷を軽減することが可能となる。
【００５７】
また、上記のようにアプリケーションソフトの種類に基づく判断ではなく、例えば請求項１９に記載のように、背景オブジェクト判断手段の動作及び特殊画像描画手段による特殊画像の再描画を実行させるか否かを、外部から指示できるよう構成してもよい。
【００５８】
このようにすれば、例えばユーザがアプリケーションソフトで作成した１ページの画像を印刷出力する際に、背景オブジェクトの上に必ず特殊画像が描画されるようにしたい場合はそのように指示すればよいし（つまり背景オブジェクト判断手段の動作及び特殊画像描画手段による特殊画像の再描画を実行）、逆にユーザが背景オブジェクトと特殊画像の描画順序を考慮しなくてもよいと判断した場合はそのように指示すればよく（つまり背景オブジェクト判断手段の動作及び特殊画像描画手段による特殊画像の再描画を実行させない）、ユーザ自身の判断で背景オブジェクト判断手段の動作及び特殊画像描画手段による特殊画像の再描画実行を選択することができる。
【００５９】
ここで、特殊画像としては、既述の通りテキストデータからなるものや、ビットマップ形式等のイメージデータとして生成されたものもある。このうち、テキストデータからなる特殊画像の場合、それを描画する描画処理システムの構成（例えば描画処理システムを構成するコンピュータが備えるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；基本ソフト）の種類）によっては、特殊画像としてのテキストデータ上に背景オブジェクトを描画しても、テキストデータが背景オブジェクトに隠れることなく表示（描画）される場合もある。
【００６０】
しかし、上記のようにテキストデータであれば背景オブジェクトに隠れないような構成であっても、ビットマップ形式の特殊画像はやはり背景オブジェクトに隠れてしまう。そこで、例えば請求項２０に記載のように、本発明（請求項８〜１９）を特殊画像がビットマップ形式である場合に適用すれば、ビットマップ形式の特殊画像を背景オブジェクトの上に確実に描画できるため、より効果的である。
【００６１】
また、本発明の描画処理システム（請求項８〜２０）は、例えば別途ハードウェアにより実現することができるなど、種々の方法により実現可能であるが、コンピュータがアプリケーションソフト（プログラム）を実行することにより実現することができる。
【００６２】
即ち、当該描画処理システムにおける各手段としてコンピュータを機能させるためのプログラムを備え、コンピュータがそのプログラムを実行することにより、本発明のスプールファイル加工装置を実現するのである。
【００６３】
【発明の実施の形態】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
図１は、本実施形態の描画処理システムのソフトモジュール構成を示すブロック図である。本実施形態では、パーソナルコンピュータ（以下「パソコン」と略す）１のＯＳがＷｉｎｄｏｗｓＸＰ（米国マイクロソフト社の登録商標）である場合について示しており、中間ファイル生成部１１にて生成された印刷用の中間ファイルをプリントスプーラ１２がスプールファイルとして一旦スプール領域２８へ記憶（スプール）し、その記憶したスプールファイルを、プリンタ２の動作状態に応じてＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  ）１４がプリンタ制御コードに変換してプリンタ２へ出力するものである。
【００６４】
尚、一般に、パソコン１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ等のハードウェアのもとでＯＳがこれらの制御を担い、そのＯＳの元で、アプリケーションソフトやデバイスドライバ等の応用ソフトが動作するようになっている。そして、本実施形態では、中間ファイル生成部１１内のプリンタドライバ２２とＧＤＩ２３、及びプリントスプーラ１２は、ＯＳの一機能としてのプログラムモジュールであり、ＧＤＩ１４は、プリンタ２を動作させるためにパソコン１に組み込まれたデバイスドライバ（いわゆるプリンタドライバ）であってＯＳと連携しながらプリンタ２の動作を制御する。
【００６５】
また、プリントプロセッサ２７は、ＯＳ（ＷｉｎｄｏｗｓＸＰ）が元々備えているプリントプロセッサ（図示略）とは別に、プリンタ２に対応してパソコン１に追加（インストール）されることによりＯＳの中に組み込まれて動作するプログラムモジュールである。尚、本実施形態では、パソコン１において描画処理システムを実現するための各種プログラムは全てハードディスク（ＨＤＤ）１３に格納されている。以下、本実施形態の描画処理システムの動作について詳述する。
【００６６】
図１に示す如く、ユーザによってパソコン１上のアプリケーションソフト２１により作成されたデータは、ＷｉｎｄｏｗｓＸＰのプリンタドライバ２２を介してＷｉｎｄｏｗｓＸＰが提供するプログラムモジュールであるＧＤＩ２３に送られる。このＧＤＩ２３により、仮想化されたディスプレイ領域であるデバイスコンテキスト（以下「ＤＣ」と略す）が作成されてアプリケーションソフト２１へ供給される。これによりアプリケーションソフト２１は、このＤＣの指示された座標にデバイス（プリンタ、ディスプレイ等）の種類に依存しない印刷ジョブ毎の印刷データを格納し、仮想化されたデバイスへの描画が行われる。
【００６７】
アプリケーションソフト２１は、例えばワープロソフトや表計算ソフト、プレゼンテーションソフトなどの、ＯＳ上で動作する応用ソフトであるが、本実施形態では一例としてプレゼンテーションソフトであるものとして以下説明する。そのため、このアプリケーションソフト２１（プレゼンテーションソフト）で作成したプレゼンテーション用の画像は、詳細には、背景を示す背景オブジェクトと、その上に描画される各種プレゼンテーション用のオブジェクトとからなり、背景オブジェクトの上に各種オブジェクトが所定の順序で描画されることにより一つの（１ページの）画像が形成される。
【００６８】
一般にＧＤＩと呼ばれるものには、ＤＣの管理、ＥＭＦの形成を行うものと、ＤＣへの処理をデバイス（例えばプリンタやディスプレイ）に依存するコマンドに変換するものとがあり、前者はＯＳにより提供されるものであって図１のＧＤＩ２３がこれに相当するものであり、後者はデバイスメーカによりドライバとして提供されるものであって図１のＧＤＩ１４（後述）に相当するものである。
【００６９】
このようにＤＣ即ち仮想化されたデバイスに描画することで、各ページ毎にデバイスの種類に依存しないＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅ；中間ファイル）が形成される。このＥＭＦがスプーラシステム２６により結合されて１つの印刷ジョブとなるように、ＨＤＤ１３に確保されたスプール領域２８に、スプールファイルとして記憶される。
【００７０】
このスプールファイルには、ユーザ指定によりウォーターマーク等の特殊画像付加やページ入れ換え印刷等の特殊印刷を行う旨を示す加工情報も含まれる（詳細は後述）。即ち、アプリケーションソフト２１にて作成したデータ（画像）をユーザがプリンタ２で印刷させる際に、特殊印刷をする旨の指示を行った場合は、その旨を示す情報が加工情報として、スプールファイルに付加されるのである。
【００７１】
尚、スプール領域２８は必ずしもパソコン１内のハードディスク１３内に確保されている必要はなく、例えばパソコン１の外部に何らかの記憶装置等を設けてその記憶装置の一部をスプール領域２８として確保するようにしてもいいなど、パソコン１から管理可能な状態に存在する限り、その態様は特に限定されない。
【００７２】
本実施形態のスプールファイルは、具体的には図２に示す構成となっており、ヘッダを先頭としてページ毎のＥＭＦが含まれる。またスプールファイルには、ＥＭＦのほかに加工情報が含まれて、スプールファイルの最後部にはフッタが付加される。この加工情報は、上述したように、アプリケーションソフト２１にてユーザが作成した画像を実際に印刷する際にどのような加工（特殊印刷）を行うかを示すものであり、印刷指示の際にユーザが指定した特殊印刷に関する情報が付加される。
【００７３】
例えば、印刷指示の際にユーザがウォーターマークを付加する旨の特殊印刷指示を行った場合、図４に示すように、ウォーターマークに関する各種情報（図４では、ウォーターマークを付加すべき旨のウォーターマークフラグと、ウォーターマークの種類を表すファイル名と、ウォーターマークの付加位置（描画位置）を示す座標）が加工情報としてスプールファイルに付加されることになる。
【００７４】
尚、図４は加工情報のうちウォーターマークに関する情報をピックアップして示したものであり、ウォーターマーク付加以外の特殊印刷指示も同時に行った場合は、その指示した特殊印刷に関する各種情報が、上記ウォーターマークに関する情報と共に加工情報として付加されることになる。但し、以下の説明においては、スプールファイルに含まれる加工情報が図４のようなウォーターマークを付加すべき旨の情報（以下「ウォーターマーク付加情報」ともいう）のみであるものと仮定して説明する。
【００７５】
また、スプールファイルに含まれるフッタには、そのスプールファイルに対応したドキュメント名が含まれている。このドキュメント名は、例えばアプリケーションソフト２１で作成したデータのファイル名とその拡張子により構成される。
【００７６】
各ページのＥＭＦの先頭には、スプールファイルのヘッダとは別に各ページのヘッダが設けられるが、図２では図示を省略している。そして、各ページのＥＭＦは、コマンド及びデータからなる複数のレコードと、エンドコマンドにより構成されている。
【００７７】
このＥＭＦについて、１ページ目のＥＭＦを例に挙げてより具体的に説明すると、１ページ目のＥＭＦは、各レコード１，２，３・・・がこの順序で配列されて構成されており、各レコード１，２，３・・・はそれぞれ、１ページ目の画像を構成する各種オブジェクトのそれぞれを表すデータである。
【００７８】
つまり、レコード１から順に描画を行っていくことにより、最終的に１ページ目の画像が描画されるのである。この、レコード１から始まって最後のレコードに至る順序が、本発明の「所定の順序」に相当する。
各レコード１，２，３・・・は、例えば図３（ａ）に示すような、ビットマップオブジェクトを示すビットマップ描画レコードや、図３（ｂ）に示すような、テキストデータを示すテキスト描画レコード、その他、図示は省略したものの線オブジェクトを示す線描画レコードや、円オブジェクトを示す円描画レコードなどのオブジェクトの種類に応じたレコード、更にはオブジェクトではなく何らかの指示等を示すコマンドレコードなど、様々な種類のレコードがある。
【００７９】
そして各レコードは、そのレコードの種類を示すコマンドと、レコードの具体的内容を示すデータとからなる。例えば図３（ａ）に例示したビットマップ描画レコードの場合、ビットマップオブジェクトに対応したレコードであることを示すコマンド部分「ＥＭＲ＿ＢＩＴＢＬＴ」と、そのビットマップオブジェクトの具体的内容（座標やビットマップデータ）を示すデータ部分とからなり、図３（ｂ）に例示したテキスト描画レコードの場合、テキストオブジェクトに対応したレコードであることを示すコマンド部分「ＥＭＲ＿ＴＥＸＴＯＵＴ」と、そのテキストオブジェクトの具体的内容（文字タイプやテキスト文字列）を示すデータ部分とからなる。
【００８０】
尚、ＥＭＦを構成する各レコード１，２，３・・・はそれぞれ本発明のオブジェクトレコードに相当し、スプールファイルを構成する各ページのＥＭＦはそれぞれ本発明のレコードファイルに相当する。
スプール領域２８に記憶されているスプールファイルは、プリントプロセッサ２７によってＧＤＩ１４へ送られ、このＧＤＩ１４により、スプールファイルを構成するページ毎のＥＭＦがプリンタ２に対応したプリンタ制御用コマンドであるＰＤＬコード（例えば米国Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社のＰＣＬ（登録商標）など）に変換されて、プリンタ２に送られる。このＰＤＬコードは本発明のページ記述言語データに相当するものである。
【００８１】
プリンタの制御用コマンドはメーカ毎に仕様が異なっているため、プリンタ２にて採用されているＰＤＬに対応できるように、ＧＤＩ１４により、ページ毎のＥＭＦからなるスプールファイルを、そのＰＤＬによるプリンタ制御コード（ＰＤＬコード）に変換しているのである。このＧＤＩ１４（プリンタドライバ）は、本発明のレコード取り込み手段、オブジェクト描画手段、背景オブジェクト判断手段及び特殊画像描画手段に相当するものである。
【００８２】
そして、ＧＤＩ１４によるＰＤＬコードへの変換は、具体的には、ＯＳと連携して行われ、プリントプロセッサ２７からスプールファイルを渡されたＧＤＩ１４がＯＳを呼ぶことにより、ＯＳにてスプールファイルのラスタライズ（ラスタデータへの変換）が行われる。そして、このラスタライズされたラスタ画像が、ＧＤＩ１４によってＰＤＬコードに変換される。
【００８３】
このＯＳによるラスタライズは、ページ毎のＥＭＦにつきレコードを順に（図２の例では、レコード１から順に）解析しつつ行われるのだが、本実施形態では、加工情報としてウォーターマーク付加情報がスプールファイルに付加されているため、レコードに基づくラスタライズの前に、ウォーターマーク付加情報にて指示されたウォーターマークのラスタライズを行う。そして、ウォーターマークのラスタライズ終了後に、レコード１から順にラスタライズを行う。
【００８４】
そして本実施形態では、単にウォーターマークを付加するか否かをユーザが指示できるだけでなく、ウォーターマークを他のオブジェクトの背面に描画するか（つまり背面付加）或いは他のオブジェクトの前面に描画するか（つまり前面付加）を選択できると共に、背面付加の選択時には更に、背景オブジェクトより前に描画するか否かまで指定することができる。
【００８５】
図５に、本実施形態における、ウォーターマークに関する上記各設定を行うための印刷設定画面例を示す。図５に示す如く、本実施形態では、アプリケーションソフト２１により作成した画像データを印刷出力する際の印刷設定画面において、ウォーターマークに関する各種設定を行うことができ、ウォーターマークを付加して印刷するためにはまず「ウォーターマークを使う」チェックボックス６１をチェックする。そして、実際に付加したいウォーターマークを、ウォーターマーク選択メニュー７０の中から選択する。
【００８６】
このウォーターマーク選択メニュー７０に列挙されるウォーターマークは、予めデフォルトで登録されているものはもちろん、ユーザが新規作成して登録したものも含まれており、そのデータ形式も、テキストデータのものもあればビットマップ形式のものもある。そのため、こういったウォーターマークの編集、削除、新規作成を行うための各ボタン（編集ボタン６６、削除ボタン６７，新規ボタン６８）も備えられている。
【００８７】
また、「バックグランドで印刷する」チェックボックス６２をチェックしなければウォーターマークはいわゆる前面付加により描画されるが、これをチェックすれば、ウォーターマークはいわゆる背面付加により描画される。そしてこのとき、更に「ウォーターマークを背景より前に印刷」チェックボックス６３もあわせてチェックした場合は、基本的には背面付加であるものの、ウォーターマークの描画後に背景オブジェクトが描画された場合は再びウォーターマークを描画するように設定される。
【００８８】
つまり、本実施形態では、背景オブジェクトとその他のオブジェクトとからなるプレゼンテーションソフト作成画像にウォーターマークを付加する際、上記３つのチェックボックス６１〜６３を全てチェックすると、少なくとも背景オブジェクトよりは前面に描画でき且つ最前面には描画させないようにすることができる。
【００８９】
尚、以下の説明では、図５に示した状態のように上記各チェックボックス６１〜６３がいずれもチェックされているものとして説明する。尚、これら各チェックボックスのチェック有無に関する情報についても、図４では図示を省略したものの、ウォーターマーク付加情報としてスプールファイルの加工情報中に付加される。
【００９０】
従って、スプールファイルをラスタライズしてそのラスタ画像をＧＤＩ１４がＰＤＬコードに変換する際は、上記のように「ウォーターマークを使う」チェックボックス６１及び「バックグランドで印刷」チェックボックス６２がチェックされれていることに基づき、まずウォーターマークのラスタライズを行うのである。
【００９１】
ここでラスタライズされるウォーターマークは、加工情報（図４参照）の中で「ウォーターマークファイル名」として指示されたものである。ＨＤＤ１３には、本描画処理システムで使用可能なウォーターマークを示すデータ（つまり図５の設定画面で選択可能なウォーターマーク）が記憶されており、加工情報の中で指示されたウォーターマークファイル名に対応するウォーターマークのデータがＨＤＤ１３から読み出され、これがラスタライズされる。
【００９２】
そして、ウォーターマークのラスタライズ後は、ページ毎にそのＥＭＦを構成する各レコードに基づくラスタライズを行う。このとき、本実施形態では既述の通りプレゼンテーションソフトにより作成した画像を印刷出力しようとしているため、背景オブジェクトを示すレコードが含まれる。尚、本実施形態の背景オブジェクトはビットマップ形式のオブジェクトである。
【００９３】
そのため、ウォーターマークのラスタライズ後に背景オブジェクトをラスタライズすると、ウォーターマークが背景オブジェクトに上書きされて消されてしまう。しかし本実施形態では、図５に示すように「ウォーターマークを背景より前に印刷」チェックボックス６３がチェックされていることにより、ウォーターマークのラスタライズ後に背景オブジェクトがラスタライズされた場合は、再びウォーターマークがラスタライズされる。
【００９４】
尚、背景以外のオブジェクトをラスタライズしてウォーターマークの一部又は全てが上書きされた場合は、ウォーターマークの再描画はせずそのままとする。つまり、あくまでも背景オブジェクトがラスタライズされた場合にウォーターマークを再びラスタライズするのである。そして、このようにラスタライズされたラスタ画像が、ＧＤＩ１４によってＰＤＬコードに変換され、プリンタ２へ出力される。プリンタ２は、このＰＤＬコードを解釈して印刷用紙５０（本発明の印刷媒体に相当；図６参照）へ印刷出力する。
【００９５】
図６に、本実施形態によりウォーターマークが背景オブジェクトに隠れることなく表示されることを概略的に示す。本実施形態では、図５に示すようにウォーターマークに関する設定がなされていることから、スプールファイルに基づく描画（ラスタライズ）を行う場合は、まずウォーターマークの描画を行う（▲１▼）。その後、背景オブジェクト（ビットマップオブジェクト）が描画されると（▲２▼）、再びウォーターマークが描画される（▲３▼）。そして、更に背景オブジェクト以外の他のオブジェクト（ここではビットマップオブジェクト）が描画される（▲４▼）。
【００９６】
これにより、印刷用紙５０に図示のような１ページの画像が形成（印刷）された印刷結果が得られることになる。即ち、▲１▼で描画されたウォーターマークは▲２▼での背景オブジェクト描画により消されてしまうが、その後の▲３▼のウォーターマーク再描画により再び描画される。そして、▲４▼で描画されたビットマップオブジェクトは▲３▼のウォーターマークと一部重複しているが、その部分は▲４▼のビットマップオブジェクトが優先される。
【００９７】
以上説明した本実施形態の描画処理システムにおいて、アプリケーションソフト２１が実行するＥＭＦ生成処理について、図７に基づいて説明する。図７は、本実施形態のＥＭＦ生成処理を示すフローチャートであり、ユーザがアプリケーションソフト２１で作成したデータを印刷出力するよう指示した時に、対応するプログラムをパソコン１が実行することにより処理されるものである。
【００９８】
この処理が開始されると、まずステップ（以下「Ｓ」と略す）１１０にて、ユーザからの印刷指示に基づいてプリンタドライバ及び加工情報を指定し、デバイスコンテキスト（ＤＣ）を作成する。ここで指定したプリンタドライバ及び加工情報を元に、ＯＳがスプールファイルの加工情報（図４参照）を作成する。
【００９９】
そしてＳ１２０にて、アプリケーションソフト２１で作成したデータのドキュメント名を指定すると共にＳ１１０で作成したＤＣに対する描画を開始する。ここで指定したドキュメント名をもとに、ＯＳがスプールファイルのフッタ（図３参照）にドキュメント名を記入する。
【０１００】
Ｓ１３０のアプリケーション側描画処理は、ＤＣに対する描画処理を行うものであって、その詳細は図８に示す通りである。即ち、図８に示すように、このアプリケーション側描画処理ではまずＳ２１０にて、描画対象のオブジェクトがあるか否かが判断される。ここで、全てのオブジェクトについてＤＣへの描画がなされた場合は否定判定されることになるが、ＤＣへ描画すべき描画対象オブジェクトがある間はここで肯定判定されてＳ２２０に進む。
【０１０１】
Ｓ２２０では、ＤＣへ描画すべき描画オブジェクトの内容が判定され、文字オブジェクトならばＳ２３０に進んでその文字オブジェクトの描画処理（ＤＣへの描画）を行い、円オブジェクトならばＳ２４０に進んでその円オブジェクトの描画処理を行い、線オブジェクトならばＳ２５０に進んでその線オブジェクトの描画処理を行い、ビットマップオブジェクトならばＳ２６０に進んでそのビットマップオブジェクトの描画処理を行う。
【０１０２】
そして、全てのオブジェクトについてそれぞれ対応する描画処理を行った後は再び図７に戻り、ＤＣへの描画処理を終了する（Ｓ１４０）。そして、Ｓ１５０でＤＣを放棄し、本処理を終了する。この結果、ページ毎のＥＭＦが生成されることになる。そして、図７のＥＭＦ生成処理により生成されたページ毎のＥＭＦは、スプーラシステム２６により結合されて一つの印刷ジョブに対応したスプールファイルとしてＨＤＤ１３内のスプール領域２８にスプールされる。
【０１０３】
次に、ＧＤＩ１４が実行する、上記スプールされたスプールファイルをＰＤＬコードに変換するＰＤＬ変換処理について、図９に基づいて説明する。この処理は、スプールファイルを構成する各ＥＭＦについて１ページ毎に実行されるものであり、ＧＤＩ１４としての機能を実現するためのプログラムをパソコン１が実行することにより処理されるものである。この処理が開始されると、まずＳ３１０にて、ウォーターマークを付加するよう指定されているか否か判断する。この判断は、スプールファイル中の加工情報に基づいて行われ、本実施形態では加工情報として図４に示すようなウォーターマーク付加情報が付加されているため、Ｓ３１５に進んでその指定されたウォーターマークのＰＤＬコードを生成し、続くＳ３２０へ進む。ウォーターマーク付加情報がない場合はＳ３１０で否定判定されてＳ３２０に進むことになる。
【０１０４】
尚、このＰＤＬコードの生成は、より詳細には、既に説明した通りまずＧＤＩ１４がＯＳを呼ぶことによりＯＳにてラスタライズが行われ、そのラスタライズされたラスタ画像をＧＤＩ１４がＰＤＬコードに変換することになる。後述のＳ３３５，Ｓ３６５，Ｓ３６０におけるＰＤＬコード生成も同様である。
【０１０５】
Ｓ３２０では、対象ページのＥＭＦをレコード分割し、その分割したレコードをＳ３２５にて一つずつ抽出する。そして、Ｓ３３０では、Ｓ３２５にて抽出したレコードがビットマップオブジェクトに対応したビットマップ描画レコードであるか否か判断し、ビットマップ描画レコード以外のレコードならばＳ３６５に進んで、そのレコードに基づくＰＤＬコードの生成を行うが、ビットマップ描画レコードならばＳ３３５に進み、そのビットマップ描画レコードに基づくＰＤＬコードの生成を行う。
【０１０６】
このＳ３３５及びＳ３６５はいずれも、Ｓ３２５にて抽出したレコードの内容を解析することにより対応するＰＤＬコードを生成するものであり、Ｓ３３５は特に、ビットマップ描画レコードの場合についてそのビットマップオブジェクトを表すＰＤＬコードを生成するものである。
【０１０７】
Ｓ３２５で抽出したレコードがビットマップ描画レコードでなかった場合は、Ｓ３６５の処理後にＳ３７０へ進み、Ｓ３２０で分割した全てのレコードについてＰＤＬコード化を行ったか否か判断する。そして、まだＰＤＬコード化していないレコード（つまりＳ３２５で抽出されていないレコード）があれば再びＳ３２５以下の処理を実行することになるが、全てのレコードについてＰＤＬコード化した場合は、１ページ分のＥＭＦについてのＰＤＬ化が終了したことになり、一旦このＰＤＬ変換処理を終了する。そして、引き続き次のページのＥＭＦに対して、同じようにこのＰＤＬ変換処理を実行する。
【０１０８】
一方、Ｓ３３０でビットマップ描画レコードと判断され、Ｓ３３５によりそのビットマップ描画レコードに基づくＰＤＬコード生成を行った後は、Ｓ３４０に進み、Ｓ３１０と同様、ウォーターマークを付加するよう指定されているか否かの判断を行う。ここで、指定されていない場合はＳ３７０に移行することになるが、指定されている場合は、Ｓ３４５に進み、ウォーターマークの再描画設定スイッチが「入」になっているか否か判断する。
【０１０９】
この再描画設定スイッチは、換言すれば、図５で説明した印刷設定画面において「ウォーターマークを背景より前に印刷」チェックボックス６３がチェックされているか否かを表すものであり、チェックされていれば再描画設定スイッチが「入」であってＳ３５０に進むが、チェックされていなければ「切」であってＳ３７０に進むことになる。
【０１１０】
Ｓ３５０では、Ｓ３３５にてＰＤＬコード化したビットマップ描画レコードに対応するビットマップオブジェクトが背景を表す背景オブジェクトであるか否かを判定する背景判定処理を行う。この背景判定処理は、詳細には図１０に示す通りであり、まずＳ４１０にて印刷用紙５０の物理サイズ（用紙印刷面の面積）を得る。これは、プリンタドライバがＯＳのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ  ）を呼ぶことにより得られる。
【０１１１】
続くＳ４２０では、判定対象のビットマップ描画レコードに基づいてビットマップオブジェクトのサイズを得る。ビットマップ描画レコードには、そのレコードを構成するビットマップデータをラスタデータ化するために、ビットマップデータ自体にｘ−ｙ座標におけるｘ軸及びｙ軸方向のサイズ情報が格納されている。このサイズ情報を取得することにより、ビットマップオブジェクトのサイズを得ることができる。
【０１１２】
そして、Ｓ４３０にて、ビットマップオブジェクトが用紙とほぼ同じ面積か否かを判断する。本実施形態では、ビットマップオブジェクトの描画領域が用紙面積の８０％以上であるか否か判断し、８０％以上である場合に「ほぼ同じ面積」と判断する。そして、「ほぼ同じ面積」と判断された場合は、Ｓ４４０にてそのビットマップオブジェクトが背景オブジェクトであると判断されるが、「ほぼ同じ面積」と判断されなかった場合は、Ｓ４５０にてそのビットマップオブジェクトは背景オブジェクトではないと判断される。
【０１１３】
図９に戻り、Ｓ３５５にて、ビットマップオブジェクトが背景か否かをＳ３５０の背景判定処理結果に基づいて判断し、背景でなければ（図１０のＳ４５０により背景オブジェクトではないと判断されていれば）Ｓ３７０に進むが、背景ならば（図１０のＳ４４０により背景オブジェクトであると判断されていれば）Ｓ３６０に進み、ウォーターマークのＰＤＬコードを生成する。このＰＤＬコード生成はＳ３１５と全く同様である。即ち、Ｓ３１５と同じＰＤＬコードをここで再び生成することになり、このＳ３６０の処理が本発明の「特殊画像を再描画」する処理に相当するものとなる。
【０１１４】
尚、Ｓ３５０の背景判定処理は、図１０に示した方法以外に、例えば図１１に示す処理により判定するようにしてもよい。即ち、図１１の背景判定処理では、まずＳ５１０にて、スプールファイル中の加工情報からウォーターマークの座標（描画位置）を得る。続くＳ５２０では、ビットマップ描画レコードのレコードデータからビットマップオブジェクトの座標（描画位置）を得る。
【０１１５】
そしてＳ５３０にて、Ｓ５１０及びＳ５２０の結果に基づいてウォーターマークとビットマップオブジェクトが重複して描画される部分があるか否か判断し、重複する部分がなければＳ５６０に進んでそのビットマップオブジェクトは背景オブジェクトではないと判断されるが、重複する部分があればＳ５４０に進む。Ｓ５４０では、ビットマップオブジェクトにおけるその重複する部分が全て白又は淡色であるか否か判断する。淡色か否かの判定については、例えばＲＧＢいずれも所定の明度以上である場合に淡色であると判定することができる。
【０１１６】
Ｓ５４０で白又は淡色のいずれでもないと判断された場合はＳ５６０に進んでそのビットマップオブジェクトは背景オブジェクトではないと判断されるが、白又は淡色と判断された場合はＳ５５０に進み、図１０のＳ４４０と同様、そのビットマップオブジェクトが背景オブジェクトであると判断する。
【０１１７】
このようにして得られたＰＤＬコード群は、単にＥＭＦをレコードの配列順にそのままＰＤＬコード化したものではなく、ウォーターマークに関するＰＤＬコードも含み、しかも、全体として、背景オブジェクトが描画された後には必ずウォーターマークが描画されるようにされている。そのため、プリンタ２がこのＰＤＬコード群を解釈して印刷出力すると、ウォーターマークが背景オブジェクトの前面に描画された印刷結果が得られるのである。
【０１１８】
以上詳述した本実施形態の描画処理システムによれば、プリンタドライバ（ＧＤＩ１４）によるＰＤＬコード変換時に、ウォーターマークの描画（ラスタライズ→ＰＤＬコード化）の後に背景オブジェクトの描画を行った場合はその後に再びウォーターマークの描画を行うため、ウォーターマークがビットマップ形式のものであっても背景オブジェクトに隠れることなく、且つ、背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画でき、ユーザの意志に沿ったウォーターマーク描画の実現が可能となる。
【０１１９】
また、描画対象のビットマップオブジェクトが背景オブジェクトであるか否かの判定を、印刷用紙５０の面積に対する割合に基づく判断、或いは、ウォーターマークと重複する部分の色による判断により行っており、いずれの判断方法によっても、背景オブジェクトであるか否かを的確に判断し、ユーザの意志に沿ったウォーターマークの描画を実現できる。
【０１２０】
特に、色による判断においては、重複する部分が全て白色又は淡色の場合に背景オブジェクトであると判断するようにしているため、ウォーターマークが背景オブジェクト以外の他のオブジェクトに与える影響（例えば有色のオブジェクトにウォーターマークが上書きされること等）を抑えることができる。
【０１２１】
尚、図９のＰＤＬ変換処理において、Ｓ３１５及びＳ３６０の処理はいずれも本発明の特殊画像描画手段が実行する処理に相当し、Ｓ３２５の処理は本発明のレコード取り込み手段が実行する処理に相当し、Ｓ３３５及びＳ３６５の処理はいずれも本発明のオブジェクト描画手段が実行する処理に相当する。
【０１２２】
また、Ｓ３３０，Ｓ３５０，Ｓ３５５の処理はいずれも本発明の背景オブジェクト判断手段が実行する処理に相当し、このうちＳ３３０は本発明のビットマップ判断手段が、Ｓ３５０及びＳ３５５は本発明の背景判断部が、それぞれ実行する処理に相当する。
【０１２３】
このうち特に、Ｓ３５０の具体例として図１０に示した背景判定処理は、請求項１１に記載の発明における背景判断部が実行する処理に相当し、図１１に示した背景判定処理は、請求項１３に記載の発明における背景判断部が実行する処理に相当する。また、図１１の背景判定処理において、Ｓ５３０の処理は本発明の重複判断手段が実行する処理に相当し、Ｓ５４０の処理は本発明の色判断手段が実行する処理に相当する。
【０１２４】
［第２実施形態］
上記第１実施形態では、アプリケーションソフト２１で作成した画像を構成するビットマップオブジェクトが背景オブジェクトであるか否かを判断する方法として、図１０に示したような、ビットマップオブジェクトサイズと用紙面積との関係に基づく判断、或いは、図１１に示したような、ビットマップオブジェクトとウォーターマークとが重複する部分の色に基づく判断を行うようにした。
【０１２５】
しかし、上記判断方法では、例えば背景オブジェクトではない他のオブジェクトが印刷用紙５０とほぼ同じサイズのものであっても、それが背景オブジェクトと判断されてしまうことも考えられ、そのような場合、ウォーターマークより前面に出てほしいものであるにもかかわらずウォーターマークに上書きされてしまう。
【０１２６】
そこで本実施形態では、背景オブジェクトであるか否かをより確実に判断するために、判断対象のビットマップオブジェクトと、アプリケーションソフト２１がもっている（正確にはＨＤＤ１３に記憶されている）背景ファイル（本実施形態の背景データ）とを相互比較して、一致した場合にそのビットマップオブジェクトが背景オブジェクトであるものと判断するようにしている。
【０１２７】
尚、本実施形態の描画処理システムも、基本的には図１に示したソフトモジュール構成と同様であり、異なるのはプリンタドライバ（ＧＤＩ１４）がＰＤＬコード変換時に実行する背景判定処理である。つまり、本実施形態でも、図９に示したＰＤＬ変換処理が実行されるが、この処理におけるＳ３５０の背景判定処理として、図１３に示す処理を実行するのである。
【０１２８】
図１３の背景判定処理では、まずＳ６１０にて、ビットマップ描画レコード（図９のＳ３３０でビットマップ描画レコードと判断されたもの）中のビットマップデータを抽出する。そしてＳ６２０で、アプリケーションソフト２１の種類毎に背景ファイルが収められたディレクトリの中でまだみていないものがあるか否か判断する。
【０１２９】
即ち、パソコン１にアプリケーションソフト２１（プレゼンテーションソフトを含む複数のアプリケーション）をインストールした際には、通常、各アプリケーションがそれぞれもっている背景ファイル（背景オブジェクトとして使用される画像データ）がアプリケーションの種類毎にそれぞれ所定のディレクトリに格納される。
【０１３０】
本実施形態では、このディレクトリに関する情報を、図１２に示すようなＢＧ（背景）ディレクトリリストとしてプリンタドライバ（ＧＤＩ１４）から提供されるようにしている。図１２は、例えばアプリケーションＡの背景ファイルはディレクトリ「Ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅ￥ＡｐｌｉＡ￥Ｂａｃｋｇｒｏｕｎｄ」に収められていることを示している。
【０１３１】
そのため、本実施形態ではこれらのディレクトリ一つ一つについて順次中の背景ファイルを見ていき、Ｓ６１０で抽出したビットマップデータと一致するものがあったときにそのビットマップデータを背景と判断するようにしているのである。
【０１３２】
全てのＢＧディレクトリを見るまではＳ６２０で肯定判定されてＳ６３０に進み、まだみていないＢＧディレクトリを一つ抽出する。Ｓ６４０は、その抽出したＢＧディレクトリの中に収められている背景ファイルについて、まだみていない背景ファイルがあるか否か判断する。全ての背景ファイルをみるまではこのＳ６４０で肯定判定されてＳ６５０に進み、まだみていない背景ファイルを一つ抽出する。
【０１３３】
Ｓ６６０では、Ｓ６５０で抽出した背景ファイルがビットマップ形式であるか否か判断し、ビットマップ形式であればそのままＳ６８０に進むが、ビットマップ形式以外の形式であれば、Ｓ６７０でビットマップ形式に変換した上でＳ６８０に進む。
【０１３４】
つまり、各ＢＧディレクトリに収められている背景ファイルは必ずしも全てビットマップ形式であるとは限らず、例えばＰＮＧ，ＪＰＧなどのビットマップ形式以外のフォーマットの可能性もある。そのため、そのような場合はビットマップ形式に変換することにより、続くＳ６８０における比較処理において比較対象となるビットマップデータと同じデータ形式で比較できるようにするのである。
【０１３５】
Ｓ６８０では、抽出した背景ファイルと、比較対象のビットマップデータとを比較し、この結果に基づいてＳ６９０にて両者が一致するか否か判断する。具体的には、まず全体のサイズを比較し、ここで異なっていれば「一致しない」と判断する。サイズが同じであれば、それぞれデータ列を単純比較して、完全に一致するか否か判断する。ここで完全に一致した場合は、Ｓ６９０で肯定判定されてＳ６９５に進み、図１０のＳ４４０と同様、ビットマップデータが背景オブジェクトを表すデータであると判断する。
【０１３６】
Ｓ６８０の比較の結果、一致しなかった場合は、Ｓ６４０に戻って他の背景ファイルについて同様の処理（比較処理）を行うことになる。そして、全ての背景ファイルについて比較処理を行った結果、いずれも一致しなかった場合は、Ｓ６４０で否定判定されてＳ６２０に進み、他にまだみていないＢＧディレクトリがあればＳ６３０に進むことになる。
【０１３７】
このように、Ｓ６８０の比較処理で「一致する」と判断されない限り、ＢＧディレクトリリストにリストアップされた全てのディレクトリについて、各ディレクトリに収められている背景ファイルとビットマップデータ（Ｓ６１０で抽出）との比較を行い、全て「一致しない」と判断された場合は、Ｓ６２０で否定判定されてＳ７００に進み、そのビットマップデータは背景データではないものと判断される。
【０１３８】
上記のように、本実施形態によれば、描画するビットマップオブジェクトが、各アプリケーション毎に所定のディレクトリに格納されている背景ファイル、つまり各アプリケーションが各々独自にもっている背景ファイルと一致した場合に、それが背景オブジェクトであると判断するようにしているため、背景オブジェクトであるか否かの判断をより確実に行うことが可能となる。
【０１３９】
尚、図１３の背景判定処理は、請求項１４に記載の発明における背景判断部が実行する処理に相当する。また、本実施形態において各アプリケーション毎の背景ファイルが格納されるＨＤＤ１３は、本発明の背景オブジェクト記憶手段に相当する。
【０１４０】
［第３実施形態］
上記各実施形態は、スプールファイルをプリンタドライバ（ＧＤＩ１４）がＰＤＬコード化する際に、各ビットマップオブジェクトが背景オブジェクトであるか否か判断すると共に背景オブジェクトである場合はその描画後にウォーターマークを再び描画するようにしたが、本実施形態では、スプール領域２８にスプールされたスプールファイルを一旦取り出して、そのスプールファイル自体を、背景オブジェクトの描画後にはウォーターマークを再描画するように加工し、その加工後のスプールファイルを再びスプール領域２８に戻すようにしている。そして、その加工後のスプールファイルに基づいて、プリンタドライバがＰＤＬコード化する。
【０１４１】
図１４は、本実施形態の印刷システムのソフトモジュール構成を示すブロック図であり、図１と比較して主に異なるのは、スプールファイルを加工するスプールファイル加工部３３を備えていることと、プリンタドライバ（ＧＤＩ３４）はスプールファイル加工部３３による加工後のスプールファイルに従ってそのままＰＤＬコード化することである。従って、図１と同じ構成要素には図１と同じ符号を付し、その説明を省略する。そして、図１と異なる点に着目して以下説明する。
【０１４２】
プリントプロセッサ３２は、スプーラシステム２６によってスプール領域２８にスプールされたスプールファイルを取り出して、加工情報（図４参照）が含まれているか否かをみる。そして、加工情報が含まれている場合に、そのスプールファイルをスプールファイル加工部３３へ渡す。
【０１４３】
スプールファイル加工部３３では、プリントプロセッサ３２から渡されたスプールファイルをページ毎のＥＭＦに分割し、分割後の各ページのＥＭＦをＨＤＤ１３上のテンポラリファイルにコピーする。このテンポラリファイルは不要となった時点で削除する。尚、ページ分割の前に、スプールファイルから加工情報を取得して、どのような加工（本実施形態ではどのようにウォーターマークを付加）をすべきか予め識別しておく。その後、ＥＭＦ加工部４２が、ウォーターマーク描画部４１、及びＯＳの一機能としてのＧＤＩ４３と連携しながらＥＭＦの加工を行う。
【０１４４】
このうち、ウォーターマーク描画部４１は、加工の中で行われるウォーターマークの描画処理を担うものである。つまり、ＥＭＦ加工部４２がＥＭＦの加工を行う過程でウォーターマークの描画処理が必要となったとき、ウォーターマーク描画部４１がウォーターマークの描画を行う。
【０１４５】
このようにスプールファイル加工部３３により加工されて得られた新しいスプールファイル（ページ毎のＥＭＦ）は、プリントプロセッサ２７によってプリンタドライバ（ＧＤＩ３４）へ送られ、このプリンタドライバによって、新しいＥＭＦがプリンタ２に対応したＰＤＬコードに変換されてプリンタ２に送られる。
【０１４６】
次に、スプールファイル加工部３３が実行するスプールファイル加工処理について、図１５に基づいて説明する。図１５は、本実施形態のスプールファイル加工処理を示すフローチャートであり、スプールファイル加工部３３としての機能を実現するためのプログラムをパソコン３０が実行することにより処理されるものである。
【０１４７】
この処理が開始されると、まずＳ７１０にて、スプールファイルに含まれる加工情報をチェックし、どのように加工すべきかを識別する。そして、Ｓ７２０で、スプールファイルをページ毎のＥＭＦに分割し、続くＳ７３０にて、スプール領域２８に記憶されている元の印刷ジョブ（スプールファイル）を消去して、Ｓ７４０に移行する。
【０１４８】
Ｓ７４０では、Ｓ７１０でチェックした加工情報に従い、ページ分割されたＥＭＦに対して実際に加工処理を施し、再び新たな印刷ジョブのスプールファイルとして登録する。そして、スプールファイル加工後は、新たな印刷ジョブの全ページがプリンタ２にて印刷終了するまで待機し（Ｓ７５０）、印刷終了とともにこの処理が一旦終了することになる。
【０１４９】
次に、Ｓ７４０の加工処理の詳細について図１６に基づいて説明する。Ｓ７４０では、既述の通り、スプールファイルに含まれる加工情報（本実施形態ではウォーターマーク付加情報）に従った加工処理が行われる。
この処理では、まずＳ７４１にて、用紙サイズを指定する。この指定は、加工情報に含まれる用紙サイズ情報（プリンタ２にて実際に印刷出力すべき用紙サイズを示す情報）に基づいて行われる。或いは、ＯＳのＡＰＩを呼ぶことによって得られる用紙サイズ情報に基づいて行うこともできる。
【０１５０】
用紙サイズ指定後は、続くＳ７４２にて、その指定した用紙サイズに合わせた１ページ処理（図１７）が行われ、ＥＭＦの全ページに対してＳ７４２の１ページ処理がなされたとき、この加工処理が終了する。
次に、Ｓ７４２の１ページ処理について、図１７に基づいて説明する。この処理が開始されると、まずＳ８００にて、ＡＰＩ「Ｓｔａｒｔ  Ｐａｇｅ」を呼ぶことにより、ＤＣ（デバイスコンテキスト）に対するページ先頭宣言を行う。続くＳ８０５では、ウォーターマークを付加するよう指定されているか否か判断する。この判断は、スプールファイル中の加工情報に基づいて行われ、本実施形態では加工情報として図４に示すようなウォーターマーク付加情報が付加されている。そのため、Ｓ８１０に進んで、その指定されたウォーターマークのＤＣに対する描画処理を行う。
【０１５１】
Ｓ８１５では、対象ページのＥＭＦをレコード分割し、その分割したレコードをＳ８２０にて一つずつ抽出する。そして、Ｓ８２５では、Ｓ８２０にて抽出したレコードがビットマップオブジェクトに対応したビットマップ描画レコードであるか否か判断し、ビットマップ描画レコード以外のレコードならばＳ８６０に進んでそのレコードに基づくＤＣへの描画処理を行うが、ビットマップ描画レコードならばＳ８３０に進み、そのビットマップ描画レコードに基づくＤＣへの描画処理を行う。
【０１５２】
続くＳ８３５では、Ｓ８０５と同様、ウォーターマークを付加するよう指定されているか否かの判断を行う。ここで、指定されていない場合はＳ８７０に移行することになるが、指定されている場合は、Ｓ８４０に進み、ウォーターマークの再描画設定スイッチが「入」になっているか否か判断する。この判断処理は、第１実施形態の図９におけるＳ３４５と同様であり、図５で説明した印刷設定画面において「ウォーターマークを背景より前に印刷」チェックボックス６３がチェックされていれば再描画設定スイッチが「入」であってＳ８４５に進むが、チェックされていなければ「切」であってＳ８７０に進むことになる。
【０１５３】
Ｓ８４５では、Ｓ８３０にてＤＣへの描画処理を行ったビットマップ描画レコードに対応するビットマップオブジェクトが背景を表す背景オブジェクトであるか否かを判定する背景判定処理を行う。この背景判定処理は、第１実施形態の図１０又は図１１で説明した処理と全く同じであるため、ここではその説明を省略する。
【０１５４】
Ｓ８５０では、Ｓ８４５の判定結果に基づいてビットマップオブジェクトが背景か否か判断し、背景でなければＳ８７０に進むが、背景ならばＳ８５５に進み、ＤＣに対するウォーターマークの描画処理を再び行う。このウォーターマーク描画処理はＳ８１０と全く同様である。
【０１５５】
Ｓ８７０では、Ｓ８１５にて分割したレコード全てについてＳ８２０以下の処理を行ったか否か判断し、全てのレコードについて処理が終了した場合はＳ８８０に進んで、ＡＰＩ「Ｅｎｄ  Ｐａｇｅ」をコールする。つまり、ここでＤＣを閉じ、１ページ分の加工が終了した旨をスプーラシステム２６へ伝える。
【０１５６】
これにより、加工終了したページのＥＭＦが、加工前のＥＭＦに代わる新たなＥＭＦとしてスプール領域２８に記憶され、プリンタ２の動作状況に応じてプリンタ２側へ出力されることになる。
従って、加工後の新たなＥＭＦは、加工前のＥＭＦと比較して、背景オブジェクトに対応するレコードの後には必ずウォーターマークに対応するレコードが付加されたものとなる。そのため、プリンタドライバ（ＧＤＩ３４）がこの加工後のＥＭＦをＰＤＬコード化する過程で、このＥＭＦをそのままレコード配列順（本発明の描画順序に相当）にラスタライズするだけで、背景オブジェクトの上にウォーターマークが描画されたラスタデータが得られる。
【０１５７】
尚、本実施形態において、スプールファイル加工部３３は本発明のレコードファイル加工手段に相当し、プリンタドライバ（ＧＤＩ３４）は本発明の変換手段に相当する。また、図１７の１ページ処理は、本発明のレコードファイル加工手段が実行する処理に相当する。
【０１５８】
［第４実施形態］
本実施形態は、基本的なソフトモジュール構成は図１（第１実施形態）と同様であるが、背景オブジェクトであるか否かをより確実に判断するために、アプリケーションソフト２１によるＥＭＦ生成時において、背景オブジェクトをレコード化する際には、そのレコードの前にコメントレコードを付加するようにし、プリンタドライバによるＰＤＬコード化時に、このコメントレコードの有無に基づいて背景オブジェクトであるか否かの判断を行うようにしている。
【０１５９】
つまり、上記第１実施形態で説明した図８のアプリケーション側描画処理におけるＳ２６０のビットマップオブジェクト描画処理に際し、描画処理対象のビットマップオブジェクトが背景オブジェクトであればその旨のコメントレコードを付加するのである。このコメントレコードは、次に描画するビットマップオブジェクトは背景オブジェクトであることを示すいわば「背景予告コメント」である。そして、レコードに基づくＰＤＬコード化の際は、この背景予告コメントとしてのコメントレコードを抽出した場合、その後に抽出するビットマップオブジェクトを背景オブジェクトとするのである。
【０１６０】
そこで、アプリケーションソフト２１によるアプリケーション側描画処理及びプリンタドライバ（ＧＤＩ１４）によるＰＤＬ変換処理について以下説明する。まず、本実施形態のアプリケーションソフト２１が実行するアプリケーション側描画処理について、図１８に基づいて説明する。図１８の処理は、第１実施形態で説明した図８のアプリケーション側描画処理と比較して、Ｓ２２０でビットマップオブジェクトと判断された場合の処理が異なるだけでその他の処理は図８と全く同様である。そのため、Ｓ２１０〜Ｓ２５０の処理については説明を省略し、Ｓ９１０以降の処理について説明する。
【０１６１】
Ｓ２２０でビットマップオブジェクトであると判断されると、Ｓ９１０にて、そのソースファイルが背景用か否か（つまりそのビットマップオブジェクトが背景オブジェクトであるか否か）判断する。ソースファイルが背景用であるか否かはアプリケーションソフト２１自体が当然ながら認識しているため、背景用でなければそのままＳ９３０に進んでそのビットマップオブジェクトの描画処理を行う。
【０１６２】
一方、背景用であればＳ９２０に進み、背景予告コメントとしてのコメントレコードを付加して、続くＳ９３０の処理を行う。この結果、図１９に示すように、ビットマップ描画レコードの前には、背景予告コメントとしてのコメントレコードが必ず付加されることになる。
【０１６３】
次に、本実施形態のプリンタドライバ（ＧＤＩ１４）が実行するＰＤＬ変換処理について、図２０に基づいて説明する。図２０も、プリンタドライバ（ＧＤＩ１４）としての機能を実現するためのプログラムをパソコンが実行することにより処理されるものである。
【０１６４】
このＰＤＬ変換処理が開始されると、まずＳ１００１にて、ウォーターマークのＰＤＬコードを生成し、続くＳ１０１０にて、対象ページのＥＭＦをレコード分割して、その分割したレコードをＳ１０２０にて一つずつ抽出する。そして、Ｓ１０３０では、Ｓ１０２０にて抽出したレコードの内容を判定する。ここでは、大きく分けてコメントレコード、ビットマップ描画レコード、その他のレコード、のいずれであるかを判定している。
【０１６５】
まず、コメントレコードであった場合は、Ｓ１０４０に進み、それが背景予告コメントであるか否か判断する。つまり、図１８のアプリケーション側描画処理におけるＳ９２０の処理で付加されたコメントレコードであるか否かの判断である。ここで背景予告コメントでない場合はそのままＳ１１１０に移行するが、背景予告コメントの場合は、Ｓ１０５０でフラグをセットして、Ｓ１１００へ進む。このフラグは、「次のレコードは背景オブジェクト描画レコードである」ことを意味するものである。
【０１６６】
Ｓ１０２０で抽出したレコードがビットマップレコードであった場合は、Ｓ１０６０に進み、ＰＤＬコードに変換する。そして、Ｓ１０７０にて、ウォーターマーク指定があり且つフラグがセットされているか否か判断する。このとき、ユーザが印刷設定画面（図５）で「ウォーターマークを使う」チェックボックスをチェックしていればウォーターマーク指定されていることになる。また、ここでいうフラグとは、Ｓ１０５０でセットされるフラグのことである。
【０１６７】
Ｓ１０７０で否定判定された場合はそのままＳ１１１０に進むが、肯定判定された場合は、その直前にＳ１０６０で行ったＰＤＬコード化対象のビットマップ描画レコードが、背景オブジェクトに対応したものであることを意味している。従って、そのＳ１０６０の処理により、先にＳ１００１でなされたウォーターマークのＰＤＬコード化は実質的に無効となってしまったことになる。
【０１６８】
そのため、続くＳ１０８０にて、ウォーターマークのＰＤＬコード化を再び行うのである。その後、Ｓ１０９０でフラグをリセットした上で、Ｓ１１１０に移行する。
Ｓ１０２０で抽出したレコードがコメントレコード及びビットマップ描画レコードのいずれでもない場合は、Ｓ１１００に進んでそのレコードに基づくＰＤＬコード化を行い、Ｓ１１１０に進む。Ｓ１１１０では、全てのレコードについて抽出及びＳ１０３０以降の処理を行ったか否か判断し、全てのレコードについて処理が終わるまではＳ１０２０以下の処理を繰り返すことになる。
【０１６９】
従って、本実施形態の描画処理システムによれば、背景オブジェクトに対応したレコードの前には予めアプリケーションソフト２１側でコメントレコードを付加しておき、プリンタドライバはＰＤＬコード化の際にそのコメントレコードがあった場合にウォーターマークの再ＰＤＬコード化を行うようにしているため、第２実施形態と同様、背景オブジェクトであるか否かの判断をより確実に行うことが可能となる。
【０１７０】
尚、図１８のＳ９２０で付加されるコメントレコード、つまり図１９で示したコメントレコード（「背景予告コメント」を意味するもの）が、本発明の背景識別情報に相当するものである。
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１７１】
例えば、上記第１実施形態における図９のＰＤＬ変換処理において、Ｓ３５０の背景判定の具体例として、ビットマップオブジェクトのサイズが印刷用紙５０の物理サイズとほぼ同じ（本実施形態では用紙面積の８０％以上）か否かによる判断（図１０）、若しくは、ビットマップオブジェクトとウォーターマークの重複部分が白又は淡色か否かによる判断（図１１）を示したが、これらの方法は一例であって、例えば上記２つの方法を共に満たす場合に背景オブジェクトと判断するようにしてもよいし、また例えば、ビットマップオブジェクトがウォーターマークを完全に覆う場合に背景オブジェクトと判断するようにしてもよい。
【０１７２】
また、図１０の背景判定処理における判定基準である「用紙面積の８０％以上」についてもあくまでも一例であり、例えば用紙面積に対する割合をもっと高めて（或いは低くして）もよいし、用紙の端部からビットマップオブジェクトまでの距離に基づいて判定（例えば用紙の端部４辺からビットマップオブジェクトまでの距離が所定の距離以内にあればそれを背景オブジェクトと判断）するようにしてもよい。
【０１７３】
また、上記第１実施形態における図９のＰＤＬ変換処理において、Ｓ３４５の再描画設定スイッチ判定を、外部からの指示に基づく判断、つまり印刷設定画面（図５）における「ウォーターマークを背景より前に印刷」チェックボックス６３がチェックされていれば「入」と判断するようにしたが、これに限らず、例えばアプリケーションソフト２１がプレゼンテーションソフトであるか否かに基づいて判断するようにしてもよい。即ち、プレゼンテーションソフトで作成されたものであれば再描画設定スイッチを「入」とし、プレゼンテーションソフト以外のソフトで作成されたものであれば「切」とするのである。なお、プレゼンテーションソフトか否かの判断は、スプールファイルのフッタに付加されているドキュメント名に基づいて行えばよい。
【０１７４】
更に、上記各実施形態では、スプールファイルをプリンタドライバがＰＤＬコードに変換してプリンタ２へ出力するようにしたが、ＰＤＬコードではなくラスタデータ（ビットマップデータ）をそのままプリンタ２へ出力するようにしてもよい。
【０１７５】
更にまた、上記第１実施形態における図１１の背景判定処理において、ウォーターマークとビットマップオブジェクトの重複領域が全て白又は淡色の場合にそのビットマップオブジェクトを背景と判断するようにしたが、必ずしも「全て」とする必要はなく、重複領域に白又は淡色部分があれば背景と判断するようにしてもよい。
【０１７６】
また、上記各実施形態では、各オブジェクトの描画処理時（第１，第２及び第４実施形態ではプリンタドライバによる各オブジェクトのＰＤＬコード生成時、第３実施形態ではスプールファイル加工時）、各オブジェクト毎に、その描画対象オブジェクトが背景オブジェクトであるか否かの判断及び背景オブジェクトであった場合にその描画処理後にウォーターマークを再描画する処理も併せて行うという１パス方式によって本発明が実現されているものとして説明したが、これに限らず、例えば、背景オブジェクトであるか否かの判断処理と実際の描画処理とを分けて行う２パス方式によって実現するようにしてもよい。
【０１７７】
具体的には、まず最初にＥＭＦ中のオブジェクト全てについて背景オブジェクトであるか否かを各々判断すると共に、そのＥＭＦにおいて最後に背景オブジェクトとして認識されたオブジェクトを記憶しておく。その後に各オブジェクトの描画処理を開始し、描画対象が上記記憶されているオブジェクトであれば、そのオブジェクトの描画処理直後にウォーターマークを再描画するものである。
【０１７８】
１パス方式、２パス方式のいずれによっても本発明を実現することは可能であるが、１パス方式の場合、オブジェクト描画処理の進行と同時に背景判断及びウォーターマークの描画を行うことができるため、２パス方式に比べて、ウォーターマークが付加された１ページの画像をより短時間で得ることができる。
【０１７９】
また上記各実施形態では、本発明の特殊画像描画システムを一つの装置（パソコン）で実現した場合を例に挙げて説明したが、これに限らず複数の装置で実現するようにしてもよい。例えば第３実施形態において、スプールファイルの加工まではパソコン３０にて行い、加工後のスプールファイルをプリンタ２に送信して、プリンタ側でそのスプールファイルをＰＤＬコード化（ラスタライズ）するようにしてもよい。つまり、結果として背景オブジェクトよりも前面にウォーターマークが描画された印刷結果を得られる限り、それを実現するための具体的装置構成は問わない。
【０１８０】
更に、上記各実施形態では、本発明の描画処理システムとして機能させるための各種プログラムが、いずれもＨＤＤ１３内に格納されたものとして説明したが、これら各種プログラムを、例えばフロッピー（登録商標）ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク等の各種ストレージデバイス（コンピュータ読み取り可能な記録媒体）に記録しておくこともできる。
【０１８１】
この場合、記録媒体に記録したプログラムを必要に応じてコンピュータシステムにロードして起動することにより、そのコンピュータシステムにおいて本発明の描画処理システムを実現することができる。
尚、ＲＯＭやバックアップＲＡＭをコンピュータ読み取り可能な記録媒体として上記各プログラムを記録しておき、このＲＯＭあるいはバックアップＲＡＭをコンピュータシステムに組み込んで用いても良い。また、プログラムを通信回線を介してコンピュータにインストールすることもできる。この通信回線により送信されるプログラムも、請求項２１記載のプログラムに該当するものである。
【図面の簡単な説明】
【図１】第１実施形態の印刷システムのソフトモジュール構成を示すブロック図である。
【図２】スプールファイルの概略構成を示す説明図である。
【図３】ＥＭＦを構成するレコードの具体例を示す説明図である。
【図４】スプールファイルに付加される加工情報の具体例を示す説明図である。
【図５】ウォーターマークに関する各種設定を行うための印刷設定画面例を示す説明図である。
【図６】ウォーターマークと他のオブジェクトの描画順序関係を説明するための説明図である。
【図７】第１実施形態のＥＭＦ生成処理を示すフローチャートである。
【図８】図７のＥＭＦ生成処理におけるＳ１３０のアプリケーション側描画処理を示すフローチャートである。
【図９】第１実施形態のＰＤＬ変換処理を示すフローチャートである。
【図１０】図９のＰＤＬ変換処理におけるＳ３５０の背景判定処理を示すフローチャートである。
【図１１】図１０の背景判定処理の他の例を示すフローチャートである。
【図１２】第２実施形態のＢＧディレクトリリストを示す説明図である。
【図１３】第２実施形態の背景判定処理を示すフローチャートである。
【図１４】第３実施形態の印刷システムのソフトモジュール構成を示すブロック図である。
【図１５】第３実施形態のスプールファイル加工処理を示すフローチャートである。
【図１６】図１５のスプールファイル加工処理におけるＳ７４０の加工処理を示すフローチャートである。
【図１７】図１６の加工処理におけるＳ７４２の１ページ処理を示すフローチャートである。
【図１８】第４実施形態のアプリケーション側描画処理を示すフローチャートである。
【図１９】第４実施形態のＥＭＦにおけるコメントレコードとビットマップ描画レコードの相対関係を示す説明図である。
【図２０】第４実施形態のＰＤＬ変換処理を示すフローチャートである。
【図２１】メイン画像にウォーターマークが付加された印刷結果を示す説明図であり、（ａ）は前面付加による印刷結果、（ｂ）は背面付加による印刷結果、（ｃ）は背景オブジェクトを含むメイン画像に対して背面付加を適用したことによりウォーターマークが印刷されない結果を、それぞれ示す。
【符号の説明】
１，３０…パソコン、２…プリンタ、１１…中間ファイル生成部、１２，３１…プリントスプーラ、１３…ＨＤＤ、１４，３４…ＧＤＩ（プリンタドライバ）２１…アプリケーションソフト、２２…プリンタドライバ、２３…ＧＤＩ、２６…スプーラシステム、２７，３２…プリントプロセッサ、２８…スプール領域、３３…スプールファイル加工部、４１…ウォーターマーク描画部、４２…ＥＭＦ加工部、５０…印刷用紙、６１，６２，６３…チェックボックス、７０…ウォーターマーク選択メニュー
【図１】
2004328486.tif 000003
【図２】
2004328486.tif 000004
【図３】
2004328486.tif 000005
【図４】
2004328486.tif 000006
【図５】
2004328486.tif 000007
【図６】
2004328486.tif 000008
【図７】
2004328486.tif 000009
【図８】
2004328486.tif 000010
【図９】
2004328486.tif 000011
【図１０】
2004328486.tif 000012
【図１１】
2004328486.tif 000013
【図１２】
2004328486.tif 000014
【図１３】
2004328486.tif 000015
【図１４】
2004328486.tif 000016
【図１５】
2004328486.tif 000017
【図１６】
2004328486.tif 000018
【図１７】
2004328486.tif 000019
【図１８】
2004328486.tif 000020
【図１９】
2004328486.tif 000021
【図２０】
2004328486.tif 000022
【図２１】
2004328486.tif 000023