JP4134807B2 - 特殊画像付加方法、描画処理システム、及びドライバプログラム - Google Patents
特殊画像付加方法、描画処理システム、及びドライバプログラム Download PDFInfo
- Publication number
- JP4134807B2 JP4134807B2 JP2003122127A JP2003122127A JP4134807B2 JP 4134807 B2 JP4134807 B2 JP 4134807B2 JP 2003122127 A JP2003122127 A JP 2003122127A JP 2003122127 A JP2003122127 A JP 2003122127A JP 4134807 B2 JP4134807 B2 JP 4134807B2
- Authority
- JP
- Japan
- Prior art keywords
- background
- record
- bitmap
- image
- special image
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32203—Spatial or amplitude domain methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32203—Spatial or amplitude domain methods
- H04N1/32229—Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
本発明は、ビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトを所定の順序に従って描画することにより得られる1ページの画像に対して特殊画像を付加する方法、及びその方法を使用した描画処理システムに関する。
【0002】
【従来の技術】
従来より、アプリケーションソフトで作成した文書等を印刷する際、その印刷しようとする文書等の画像(以下「メイン画像」ともいう)に対して、例えば「社外秘」、「COPY」、或いは「CONFIDENTIAL」等のいわゆるウォーターマークなどと呼ばれる特殊画像を付加する技術が知られている。
【0003】
ウォーターマークの付加は、一般に印刷装置(プリンタ等)専用のドライバソフトの中に組み込まれる機能であり、アプリケーションソフトで作成した文書を印刷する際、ユーザがドライバソフトの印刷設定画面でウォーターマークを付加する旨の設定をすると共に付加すべきウォーターマークを決定することにより、メイン画像にウォーターマークが付加された画像が印刷出力される。
【0004】
尚、ウォーターマークとしては、テキストデータからなるものはもちろん、ビットマップ形式等のイメージデータとして生成されたものもある。またこれらは、デフォルトでドライバソフトが備えているものもあれば、ユーザが新規に生成できる場合もある。
【0005】
メイン画像に対してウォーターマークを付加する場合、メイン画像の前面に付加(以下「前面付加」ともいう)する場合と、メイン画像の背面に付加(以下「背面付加」ともいう)する場合とがある。ドライバソフトによっては上記いずれかをユーザが選択できるように構成されているものもあるが、通常はデフォルトで背面付加に設定されている場合が多い。
【0006】
前面付加の場合は、具体的には図21(a)に示すように、まず最初にメイン画像を描画し、最後にそのメイン画像の上にウォーターマークを描画(上書き)することになるため、メイン画像とウォーターマークとが重なる部分についてはウォーターマークが優先され、メイン画像は消えることになる。
【0007】
これに対して背面付加の場合は、具体的には図21(b)に示すように、まずウォーターマークを描画し、その上にメイン画像を描画することになるため、メイン画像とウォーターマークとが重なる部分についてはメイン画像が優先され、ウォーターマークは消えることになる。
【0008】
ところで、例えばプレゼンテーションソフトで作成されるメイン画像は、背景を表す背景オブジェクト(ビットマップ形式のオブジェクト)の上にプレゼンテーション用の各種オブジェクトが重なって描画された構成が一般的となっている。
【0009】
つまり、このような構成のメイン画像が最終的に印刷装置でラスタライズされる際には、まず背景オブジェクトが描画され、その上に各種オブジェクトが描画されることになる。そして、一般的には、背景オブジェクトは1ページにおける比較的広い範囲に描かれることが多く、1ページ全領域に描かれる場合もある。
【0010】
そのため、このようなメイン画像にウォーターマークを付加して印刷出力する場合に背面付加の方法を採ると、ウォーターマークは背景オブジェクトに隠れてしまうおそれが高くなり、特にウォーターマークの描画領域が背景オブジェクトの描画領域に完全に含まれるものだと、図21(c)に示すようにウォーターマークが背景オブジェクトによって上書きされ、完全に消されてしまう。
【0011】
このとき、背景オブジェクトが有色であれば、印刷結果を見たユーザは「背景によってウォーターマークが消された」ということを視覚的に認識できるし、ユーザによってはむしろ意図的に背景によってウォーターマークを消そうとすることもある。
【0012】
しかし、背景オブジェクトとして、完全に白色のものや、枠だけ描かれてその中は白色の場合(例えば図21(c)の背景オブジェクトにおいて枠以外が全て白色の場合)もある。そのような場合、ユーザからみれば、白い部分には何も描かれていないわけであるから、実際にはそこに白色の背景オブジェクトが描かれているという意識はなく、ウォーターマークを付加して印刷出力させたときは当然ながらその白色部分(実際には白色背景オブジェクト)にはウォーターマークが印刷されることを期待している。
【0013】
ところが、実際にはウォーターマークは、白色の背景オブジェクト(白色のビットマップオブジェクト)により上書きされて、印刷されないことになる。つまり、ユーザにとっては、印刷結果を見たとき、ウォーターマークが描かれているであろう白い部分に何らウォーターマークが描かれていないことになり、ドライバソフト或いは印刷装置の異常ではないか、といった違和感・不便性を感ずる結果となる。
【0014】
これを解決するための方法として、1ページ内の文字列オブジェクトに対して、上に他のオブジェクトが重ならない若しくは重なりを考慮しなくてもよい文字列オブジェクトか否かを判断し、上に他のオブジェクトが重なる(重なりを考慮すべき)文字列オブジェクトについてはその文字列オブジェクトが確実に表示されるようにする技術が知られている(例えば、特許文献1参照。)。
【0015】
【特許文献1】
特開平11−149355号公報
【0016】
【発明が解決しようとする課題】
しかしながら、上記技術による方法では、ウォーターマークの上に他のオブジェクトが重なる場合にはウォーターマークがそのオブジェクトの上に表示されるようにできるものの、オブジェクトが背景であるか、それとも背景以外のオブジェクトであるかの判断を行うものではないため、常にウォーターマークが前面に描かれてしまう。
【0017】
そのため、プレゼンテーションソフトで作成したメイン画像にウォーターマークを付加して印刷出力する際に上記技術を適用すると、ウォーターマークは確実に印刷されるものの、背景以外の主要なオブジェクトまでがウォーターマークに隠れてしまうことになり、「ウォーターマークは印刷させたいが背景以外のオブジェクトは確実に印刷させたい」といったユーザの意志に沿わない。
【0018】
ウォーターマークを確実に表示させるために既述の前面付加を採用する方法もあるが、この設定にすると無条件にウォーターマークが最前面に表示されることになり、やはり上記同様の問題(背景以外のオブジェクトまでがウォーターマークに隠れてしまうこと)が生じ、ユーザの意志に沿わない。
【0019】
本発明は上記課題に鑑みなされたものであり、ウォーターマーク等の特殊画像を背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画することにより、ユーザの意志に沿った特殊画像の描画を実現することを目的とする。
【0020】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項1記載の特殊画像付加方法は、アプリケーションソフトにより生成された画像に対してドライバソフトが特殊画像を付加する方法であって、アプリケーションソフトは、少なくともビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトを所定の順序に従って描画することにより1ページの画像を生成し、該1ページの画像を構成するオブジェクトの各々を該各オブジェクトを表すオブジェクトレコードに変換すると共に上記所定の順序で並べることによりレコードファイルを生成すると共に、背景を表すオブジェクトを生成する際に使用する背景データを有しており、ドライバソフトは、アプリケーションソフトが有する背景データの所在情報を有しており、レコードファイルから上記所定の順序でオブジェクトレコードを取り込み、該取り込んだオブジェクトレコードを解析して対応するオブジェクトの描画を行うと共に、該オブジェクトが背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否かを判断して、背景オブジェクトと判断した場合は該背景オブジェクトの描画後に特殊画像を描画する。そして、背景を表すものであるか否かの判断は、所在情報に基づいてアプリケーションソフトが有する背景データを参照し、判断対象のオブジェクトが背景データを基に生成されたものであるか否かを判断することにより行う。
【0021】
つまり、ドライバソフトは、特殊画像を描画した後に背景オブジェクトを描画すると、その背景オブジェクトによって特殊画像が隠されてしまうおそれがあるため、背景オブジェクトの描画後に特殊画像を描画するのである。
尚、ここでいう「画像」とは、目に見える画像そのもののみを意味するのではなく、その画像を表すデータも意味するものであり、その場合(データを意味する場合)に「描画」とは、文字通り目に見えるよう描画することを意味するのではなく、描画すべき画像の画像データに基づいて例えばビットマップ形式データへの展開、PDL(Page Description Language;ページ記述言語)データへの変換、或いは仮想的な描画領域(メモリ等)へのデータ展開といった、各種データ変換等を行うことを意味するものとする。
【0022】
従って、本発明(請求項1)の方法によれば、ドライバソフトは、背景オブジェクトを描画したらその後に特殊画像の描画を行うため、背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画することができ、ユーザの意志に沿った特殊画像描画の実現が可能となる。
【0023】
特殊画像を実際に描画するまでの過程としては、例えば、1ページの画像を構成するオブジェクトの各々について、まず背景オブジェクトであるか否かを判断してその判断結果を記憶し、その後各オブジェクトを上記順序で描画する中で背景オブジェクトとして記憶されているオブジェクトが描画されたら、その直後に特殊画像を描画する、という2段階に分けて処理を行う方式が考えられるが、例えば請求項2に記載のように、各オブジェクトの描画と共に上記判断及び特殊画像の描画を行うようにしてもよい。
【0024】
即ち、請求項2に記載の発明は、ドライバソフトが、上記所定の順序に従ったオブジェクトの描画開始後、描画対象オブジェクトがビットマップオブジェクトである毎にそのビットマップオブジェクトが前記背景オブジェクトであるか否か判断して、背景オブジェクトと判断された場合は、その背景オブジェクトの描画後、次に描画されるべきオブジェクト(つまり上記順序におけるその背景オブジェクトの次に描画されるべきオブジェクト)より先に特殊画像を描画するものである。
【0025】
このようにすれば、各オブジェクトの描画処理進行と同時に背景判断及び特殊画像の描画を行うことができるため、上記例示した2段階に分けて処理を行う方式に比べて、特殊画像が付加された1ページの画像をより短時間で得ることが可能となる。
【0026】
また、特殊画像の描画は、例えば背景オブジェクトが描画されたときに限って行うようにしてもよいが、そのようにすると、背景オブジェクトのない1ページの画像に対しては特殊画像が描画されないことになる。
そこで、例えば請求項3に記載のように、ドライバソフトは、上記所定の順序に基づく最初のオブジェクトレコードに対応したオブジェクトを描画する前に、まず前記特殊画像を描画するようにしてもよい。このようにすれば、背景オブジェクトの有無に関係なくまず特殊画像が描画されることになるため、1ページの画像に背景オブジェクトが存在していなくても特殊画像が確実に描画される。
【0027】
【0028】
【0029】
【0030】
【0031】
【0032】
【0033】
【0034】
次に、請求項4記載の発明は、アプリケーションソフト及びドライバソフトがインストールされ、アプリケーションソフトにより生成された画像に対してドライバソフトが特殊画像を付加するよう構成された描画処理システムであって、アプリケーションソフトは、少なくともビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトを所定の順序に従って描画することにより1ページの画像を生成する画像生成手段と、この画像生成手段が生成した1ページの画像を構成するオブジェクトの各々を該各オブジェクトを表すオブジェクトレコードに変換すると共に該オブジェクトレコードを上記所定の順序で並べることによりレコードファイルを生成するレコードファイル生成手段と、を備えると共に、背景を表すオブジェクトを生成する際に使用する背景データを有しており、この背景データは、当該描画処理システムが備える記憶手段における所定の記憶領域に記憶されている。
ドライバソフトは、レコードファイル生成手段により生成されたレコードファイルから上記所定の順序で前記オブジェクトレコードを取り込むレコード取り込み手段と、このレコード取り込み手段がオブジェクトレコードを取り込む毎に該取り込んだオブジェクトレコードを解析して対応するオブジェクトを描画することにより1ページの画像を描画するオブジェクト描画手段と、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが、背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否か判断する背景オブジェクト判断手段と、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが背景オブジェクト判断手段によって背景オブジェクトと判断された場合、オブジェクト描画手段によるその背景オブジェクトの描画後に特殊画像を描画する特殊画像描画手段と、を備えると共に、記憶手段における背景データの所在情報を有している。
そして、背景オブジェクト判断手段は、背景を表すものであるか否かの判断を、所在情報に従って記憶手段に記憶された背景データを参照して、判断対象のオブジェクトが背景データを基に生成されたものであるか否かを判断することにより行い、背景データを基に生成されたものであると判断された場合に、該判断対象のオブジェクトが背景を表すものであると判断する。
【0035】
【0036】
【0037】
上記構成の描画処理システムによれば、特殊画像描画手段が、背景オブジェクトが描画された後に特殊画像を描画するため、請求項1記載の発明と同様、背景オブジェクトに隠れることなく且つ背景オブジェクトより前面に描画される他のオブジェクトを隠さないように特殊画像を描画することができ、ユーザの意志に沿った特殊画像描画を実現できるという効果が得られる。
【0038】
しかも、オブジェクト描画手段による描画の際に、描画対象オブジェクトに対する背景オブジェクト判断手段による判断処理及びその結果に基づく特殊画像描画手段の動作が共になされるため、各オブジェクトの描画処理進行と同時に背景判断及び特殊画像の描画を行うことができるという請求項2記載の発明と同様の効果が得られる。
【0039】
【0040】
ここで、背景オブジェクト判断手段は、具体的には、例えば請求項5に記載のように、ビットマップ判断手段が、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトがビットマップオブジェクトであるか否か判断し、そのビットマップ判断手段によりビットマップオブジェクトと判断されたときは、背景データ参照手段が、所在情報に従って記憶手段に記憶された背景データを参照し、背景判断手段が、ビットマップ判断手段によりビットマップオブジェクトと判断されたオブジェクトが背景データ参照手段により参照された背景データを基に生成されたものであるか否かを判断するように構成するとよい。そして、背景判断手段により背景データを基に生成されたものと判断された場合に、そのオブジェクトが背景オブジェクトであるものと判断する。このようにすれば、ビットマップ形式としての背景オブジェクトを確実に判断することができる。
また、例えば請求項6に記載のように、特殊画像描画手段を、オブジェクト描画手段が上記所定の順序に基づく最初のオブジェクトレコードに対応したオブジェクトを描画する前にまず特殊画像を描画するように構成すれば、背景オブジェクトの有無に関係なくまず特殊画像が描画されることになるため、請求項3記載の発明と同様、1ページの画像に背景オブジェクトが存在していなくても特殊画像を確実に描画できるという効果が得られる。
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
【0049】
【0050】
【0051】
【0052】
【0053】
【0054】
ところで、特殊画像がユーザの意に反して背景オブジェクトに隠れてしまうという現象は、あらゆるアプリケーションソフトで同じように生じるわけではなく、既述の通り、例えばプレゼンテーションソフトのように、デフォルトで背景オブジェクトが設定されるような場合に特に生じ易い。
【0055】
そこで、例えば請求項7に記載のように、ドライバソフトは、アプリケーションソフトがプレゼンテーションソフトであるか否かを判断するアプリケーションソフト判断手段を 備え、背景オブジェクト判断手段による判断、及び、該背景オブジェクト判断手段によって背景オブジェクトと判断された場合における該背景オブジェクト描画後の特殊画像描画手段による特殊画像の描画を、アプリケーションソフト判断手段によってアプリケーションソフトがプレゼンテーションソフトであると判断された場合に実行させるようにするとよい。
【0056】
このようにすれば、背景オブジェクトによる上記問題の生じる可能性が少ないアプリケーションソフト(例えば、単なる文字による文書を作成するワードプロセッサソフトなど)の場合であっても背景オブジェクトの有無判断を行うといった、無駄な処理を行わないようにすることができ、当該描画処理システム全体の処理負荷を軽減することが可能となる。
【0057】
また、上記のようにアプリケーションソフトの種類に基づく判断ではなく、例えば請求項8に記載のように、背景オブジェクト判断手段による判断、及び、該背景オブジェクト判断手段によって背景オブジェクトと判断された場合における該背景オブジェクト描画後の特殊画像描画手段による特殊画像の描画を実行させるか否かを、外部から指示できるよう構成されており、ドライバソフトが、その外部からの指示が実行させるべき旨のものである場合に、背景オブジェクト判断手段による判断、及び、背景オブジェクト描画後の特殊画像描画手段による特殊画像の描画を実行させるよう構成してもよい。
【0058】
このようにすれば、例えばユーザがアプリケーションソフトで作成した1ページの画像を印刷出力する際に、背景オブジェクトの上に必ず特殊画像が描画されるようにしたい場合はそのように指示すればよいし(つまり背景オブジェクト判断手段による判断及び背景オブジェクト描画後の特殊画像描画手段による特殊画像の描画を実行)、逆にユーザが背景オブジェクトと特殊画像の描画順序を考慮しなくてもよいと判断した場合はそのように指示すればよく(つまり背景オブジェクト判断手段による判断及び背景オブジェクト描画後の特殊画像描画手段による特殊画像の描画を実行させない)、ユーザ自身の判断で背景オブジェクト判断手段による判断及び背景オブジェクト描画後の特殊画像描画手段による特殊画像の描画実行を選択することができる。
ところで、特殊画像を含む上記1ページの画像を最終的に印刷媒体に印刷出力する際には、その特殊画像を含む1ページの画像を、例えばPDLデータやビットマップデータ等の、印刷出力を行う装置等(例えばプリンタ等)が解釈可能な形式のデータに変換する必要がある。
そこで、例えば請求項9に記載のように、ドライバソフトがレコードファイル加工手段と変換手段とを備えるようにしてもよい。即ち、オブジェクト描画手段及び特殊画像描画手段により描画された特殊画像を含む上記1ページの画像を、レコードファイル加工手段が、その画像を構成する各オブジェクトをその描画順序に従ってそれぞれ対応するオブジェクトレコードに再び変換することにより、そのオブジェクトレコードからなるレコードファイルを生成するようにし、その生成されたレコードファイルを構成する各オブジェクトレコードを、変換手段が、上記描画順序に従ってページ記述言語データ又はラスタデータに変換する。
つまり、オブジェクト描画手段及び特殊画像描画手段の動作によって得られた、特殊画像が付加された1ページの画像を、その画像が描画された描画順序(特殊画像の描画順序も考慮)で再びオブジェクトレコードに変換してレコードファイル化するのである。そして、そのレコードファイルに従って、変換手段がページ記述言語データ又はラスタデータに変換するのである。
そのため、上記構成の描画処理システムによれば、特殊画像が付加された1ページの画像をページ記述言語データ又はラスタデータに変換できるため、特殊画像が適切に描画された印刷出力結果を得ることが可能となる。
また例えば、請求項10に記載のように、オブジェクト描画手段を、レコード取り込み 手段が取り込んだオブジェクトレコードをページ記述言語データ又はラスタデータに変換することで上記オブジェクトの描画を実現するものとして構成し、特殊画像描画手段も、描画対象の特殊画像をページ記述言語データ又はラスタデータに変換することで特殊画像の描画を実現するものとして構成するようにしてもよい。
上記構成の描画処理システムによっても、請求項9と同様、特殊画像が付加された1ページの画像をページ記述言語データ又はラスタデータに変換できるため、特殊画像が適切に描画された印刷出力結果を得ることが可能となる。
【0059】
ここで、特殊画像としては、既述の通りテキストデータからなるものや、ビットマップ形式等のイメージデータとして生成されたものもある。このうち、テキストデータからなる特殊画像の場合、それを描画する描画処理システムの構成(例えば描画処理システムを構成するコンピュータが備えるOS(Operating System;基本ソフト)の種類)によっては、特殊画像としてのテキストデータ上に背景オブジェクトを描画しても、テキストデータが背景オブジェクトに隠れることなく表示(描画)される場合もある。
【0060】
しかし、上記のようにテキストデータであれば背景オブジェクトに隠れないような構成であっても、ビットマップ形式の特殊画像はやはり背景オブジェクトに隠れてしまう。そこで、例えば請求項11に記載のように、本発明(請求項4〜10)を特殊画像がビットマップ形式である場合に適用すれば、ビットマップ形式の特殊画像を背景オブジェクトの上に確実に描画できるため、より効果的である。
【0061】
請求項12記載の発明は、アプリケーションソフトと共に情報処理装置上で実行され、該アプリケーションソフトが生成した、1ページの画像に対応するものであって少なくともビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトの各々を表すオブジェクトレコードが所定の順序で並べられたレコードファイルに対し、所定の描画処理を行うためのドライバプログラムであって、情報処理装置を、アプリケーションソフトにより生成されたレコードファイルから所定の順序でオブジェクトレコードを取り込むレコード取り込み手段、レコード取り込み手段がオブジェクトレコードを取り込む毎に該取り込んだオブジェクトレコードを解析して対応するオブジェクトを描画することにより1ページの画像を描画するオブジェクト描画手段、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否かを判断する背景オブジェクト判断手段、レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが背景オブジェクト判断手段によって背景オブジェクトと判断された場合、オブジェクト描画手段によるその背景オブジェクトの描画後に特殊画像を描画する特殊画像描画手段、として機能させるためのドライバプログラムである。背景オブジェクト判断手段は、背景を表すものであるか否かの判断を、アプリケーションソフトが有するデータであって該アプリケーションソフトが背景を表すオブジェクトを生成する際に使用する背景データの所在情報に従って、背景データを参照し、判断対象のオブジェクトが背景データを基に生成されたものであるか否かを判断することにより行う。
【0062】
【0063】
【発明の実施の形態】
以下に、本発明の参考例及び好適な実施形態を図面に基づいて説明する。
[第1参考例]
図1は、第1参考例の描画処理システムのソフトモジュール構成を示すブロック図である。本参考例では、パーソナルコンピュータ(以下「パソコン」と略す)1のOSがWindowsXP(米国マイクロソフト社の登録商標)である場合について示しており、中間ファイル生成部11にて生成された印刷用の中間ファイルをプリントスプーラ12がスプールファイルとして一旦スプール領域28へ記憶(スプール)し、その記憶したスプールファイルを、プリンタ2の動作状態に応じてGDI(Graphics Device Interface )14がプリンタ制御コードに変換してプリンタ2へ出力するものである。
【0064】
尚、一般に、パソコン1は、CPU、ROM、RAM、I/O等のハードウェアのもとでOSがこれらの制御を担い、そのOSの元で、アプリケーションソフトやデバイスドライバ等の応用ソフトが動作するようになっている。そして、本参考例では、中間ファイル生成部11内のプリンタドライバ22とGDI23、及びプリントスプーラ12は、OSの一機能としてのプログラムモジュールであり、GDI14は、プリンタ2を動作させるためにパソコン1に組み込まれたデバイスドライバ(いわゆるプリンタドライバ)であってOSと連携しながらプリンタ2の動作を制御する。
【0065】
また、プリントプロセッサ27は、OS(WindowsXP)が元々備えているプリントプロセッサ(図示略)とは別に、プリンタ2に対応してパソコン1に追加(インストール)されることによりOSの中に組み込まれて動作するプログラムモジュールである。尚、本参考例では、パソコン1において描画処理システムを実現するための各種プログラムは全てハードディスク(HDD)13に格納されている。以下、本参考例の描画処理システムの動作について詳述する。
【0066】
図1に示す如く、ユーザによってパソコン1上のアプリケーションソフト21により作成されたデータは、WindowsXPのプリンタドライバ22を介してWindowsXPが提供するプログラムモジュールであるGDI23に送られる。このGDI23により、仮想化されたディスプレイ領域であるデバイスコンテキスト(以下「DC」と略す)が作成されてアプリケーションソフト21へ供給される。これによりアプリケーションソフト21は、このDCの指示された座標にデバイス(プリンタ、ディスプレイ等)の種類に依存しない印刷ジョブ毎の印刷データを格納し、仮想化されたデバイスへの描画が行われる。
【0067】
アプリケーションソフト21は、例えばワープロソフトや表計算ソフト、プレゼンテーションソフトなどの、OS上で動作する応用ソフトであるが、本参考例では一例としてプレゼンテーションソフトであるものとして以下説明する。そのため、このアプリケーションソフト21(プレゼンテーションソフト)で作成したプレゼンテーション用の画像は、詳細には、背景を示す背景オブジェクトと、その上に描画される各種プレゼンテーション用のオブジェクトとからなり、背景オブジェクトの上に各種オブジェクトが所定の順序で描画されることにより一つの(1ページの)画像が形成される。この1ページの画像の形成は本発明の画像生成手段が実行する処理に相当するものである。
【0068】
一般にGDIと呼ばれるものには、DCの管理、EMFの形成を行うものと、DCへの処理をデバイス(例えばプリンタやディスプレイ)に依存するコマンドに変換するものとがあり、前者はOSにより提供されるものであって図1のGDI23がこれに相当するものであり、後者はデバイスメーカによりドライバとして提供されるものであって図1のGDI14(後述)に相当するものである。
【0069】
このようにDC即ち仮想化されたデバイスに描画することで、各ページ毎にデバイスの種類に依存しないEMF(Enhanced Meta File;中間ファイル)が形成される。このEMFがスプーラシステム26により結合されて1つの印刷ジョブとなるように、HDD13に確保されたスプール領域28に、スプールファイルとして記憶される。
【0070】
このスプールファイルには、ユーザ指定によりウォーターマーク等の特殊画像付加やページ入れ換え印刷等の特殊印刷を行う旨を示す加工情報も含まれる(詳細は後述)。即ち、アプリケーションソフト21にて作成したデータ(画像)をユーザがプリンタ2で印刷させる際に、特殊印刷をする旨の指示を行った場合は、その旨を示す情報が加工情報として、スプールファイルに付加されるのである。
【0071】
尚、スプール領域28は必ずしもパソコン1内のハードディスク13内に確保されている必要はなく、例えばパソコン1の外部に何らかの記憶装置等を設けてその記憶装置の一部をスプール領域28として確保するようにしてもいいなど、パソコン1から管理可能な状態に存在する限り、その態様は特に限定されない。
【0072】
本参考例のスプールファイルは、具体的には図2に示す構成となっており、ヘッダを先頭としてページ毎のEMFが含まれる。またスプールファイルには、EMFのほかに加工情報が含まれて、スプールファイルの最後部にはフッタが付加される。この加工情報は、上述したように、アプリケーションソフト21にてユーザが作成した画像を実際に印刷する際にどのような加工(特殊印刷)を行うかを示すものであり、印刷指示の際にユーザが指定した特殊印刷に関する情報が付加される。
【0073】
例えば、印刷指示の際にユーザがウォーターマークを付加する旨の特殊印刷指示を行った場合、図4に示すように、ウォーターマークに関する各種情報(図4では、ウォーターマークを付加すべき旨のウォーターマークフラグと、ウォーターマークの種類を表すファイル名と、ウォーターマークの付加位置(描画位置)を示す座標)が加工情報としてスプールファイルに付加されることになる。
【0074】
尚、図4は加工情報のうちウォーターマークに関する情報をピックアップして示したものであり、ウォーターマーク付加以外の特殊印刷指示も同時に行った場合は、その指示した特殊印刷に関する各種情報が、上記ウォーターマークに関する情報と共に加工情報として付加されることになる。但し、以下の説明においては、スプールファイルに含まれる加工情報が図4のようなウォーターマークを付加すべき旨の情報(以下「ウォーターマーク付加情報」ともいう)のみであるものと仮定して説明する。
【0075】
また、スプールファイルに含まれるフッタには、そのスプールファイルに対応したドキュメント名が含まれている。このドキュメント名は、例えばアプリケーションソフト21で作成したデータのファイル名とその拡張子により構成される。
【0076】
各ページのEMFの先頭には、スプールファイルのヘッダとは別に各ページのヘッダが設けられるが、図2では図示を省略している。そして、各ページのEMFは、コマンド及びデータからなる複数のレコードと、エンドコマンドにより構成されている。
【0077】
このEMFについて、1ページ目のEMFを例に挙げてより具体的に説明すると、1ページ目のEMFは、各レコード1,2,3・・・がこの順序で配列されて構成されており、各レコード1,2,3・・・はそれぞれ、1ページ目の画像を構成する各種オブジェクトのそれぞれを表すデータである。
【0078】
つまり、レコード1から順に描画を行っていくことにより、最終的に1ページ目の画像が描画されるのである。この、レコード1から始まって最後のレコードに至る順序が、本発明の「所定の順序」に相当する。
各レコード1,2,3・・・は、例えば図3(a)に示すような、ビットマップオブジェクトを示すビットマップ描画レコードや、図3(b)に示すような、テキストデータを示すテキスト描画レコード、その他、図示は省略したものの線オブジェクトを示す線描画レコードや、円オブジェクトを示す円描画レコードなどのオブジェクトの種類に応じたレコード、更にはオブジェクトではなく何らかの指示等を示すコマンドレコードなど、様々な種類のレコードがある。
【0079】
そして各レコードは、そのレコードの種類を示すコマンドと、レコードの具体的内容を示すデータとからなる。例えば図3(a)に例示したビットマップ描画レコードの場合、ビットマップオブジェクトに対応したレコードであることを示すコマンド部分「EMR_BITBLT」と、そのビットマップオブジェクトの具体的内容(座標やビットマップデータ)を示すデータ部分とからなり、図3(b)に例示したテキスト描画レコードの場合、テキストオブジェクトに対応したレコードであることを示すコマンド部分「EMR_TEXTOUT」と、そのテキストオブジェクトの具体的内容(文字タイプやテキスト文字列)を示すデータ部分とからなる。
【0080】
尚、EMFを構成する各レコード1,2,3・・・はそれぞれ本発明のオブジェクトレコードに相当し、スプールファイルを構成する各ページのEMFはそれぞれ本発明のレコードファイルに相当する。
スプール領域28に記憶されているスプールファイルは、プリントプロセッサ27によってGDI14へ送られ、このGDI14により、スプールファイルを構成するページ毎のEMFがプリンタ2に対応したプリンタ制御用コマンドであるPDLコード(例えば米国Hewlett−Packard社のPCL(登録商標)など)に変換されて、プリンタ2に送られる。このPDLコードは本発明のページ記述言語データに相当するものである。
【0081】
プリンタの制御用コマンドはメーカ毎に仕様が異なっているため、プリンタ2にて採用されているPDLに対応できるように、GDI14により、ページ毎のEMFからなるスプールファイルを、そのPDLによるプリンタ制御コード(PDLコード)に変換しているのである。
【0082】
そして、GDI14によるPDLコードへの変換は、具体的には、OSと連携して行われ、プリントプロセッサ27からスプールファイルを渡されたGDI14がOSを呼ぶことにより、OSにてスプールファイルのラスタライズ(ラスタデータへの変換)が行われる。そして、このラスタライズされたラスタ画像が、GDI14によってPDLコードに変換される。
【0083】
このOSによるラスタライズは、ページ毎のEMFにつきレコードを順に(図2の例では、レコード1から順に)解析しつつ行われるのだが、本参考例では、加工情報としてウォーターマーク付加情報がスプールファイルに付加されているため、レコードに基づくラスタライズの前に、ウォーターマーク付加情報にて指示されたウォーターマークのラスタライズを行う。そして、ウォーターマークのラスタライズ終了後に、レコード1から順にラスタライズを行う。
【0084】
そして本参考例では、単にウォーターマークを付加するか否かをユーザが指示できるだけでなく、ウォーターマークを他のオブジェクトの背面に描画するか(つまり背面付加)或いは他のオブジェクトの前面に描画するか(つまり前面付加)を選択できると共に、背面付加の選択時には更に、背景オブジェクトより前に描画するか否かまで指定することができる。
【0085】
図5に、本参考例における、ウォーターマークに関する上記各設定を行うための印刷設定画面例を示す。図5に示す如く、本参考例では、アプリケーションソフト21により作成した画像データを印刷出力する際の印刷設定画面において、ウォーターマークに関する各種設定を行うことができ、ウォーターマークを付加して印刷するためにはまず「ウォーターマークを使う」チェックボックス61をチェックする。そして、実際に付加したいウォーターマークを、ウォーターマーク選択メニュー70の中から選択する。
【0086】
このウォーターマーク選択メニュー70に列挙されるウォーターマークは、予めデフォルトで登録されているものはもちろん、ユーザが新規作成して登録したものも含まれており、そのデータ形式も、テキストデータのものもあればビットマップ形式のものもある。そのため、こういったウォーターマークの編集、削除、新規作成を行うための各ボタン(編集ボタン66、削除ボタン67,新規ボタン68)も備えられている。
【0087】
また、「バックグランドで印刷する」チェックボックス62をチェックしなければウォーターマークはいわゆる前面付加により描画されるが、これをチェックすれば、ウォーターマークはいわゆる背面付加により描画される。そしてこのとき、更に「ウォーターマークを背景より前に印刷」チェックボックス63もあわせてチェックした場合は、基本的には背面付加であるものの、ウォーターマークの描画後に背景オブジェクトが描画された場合は再びウォーターマークを描画するように設定される。
【0088】
つまり、本参考例では、背景オブジェクトとその他のオブジェクトとからなるプレゼンテーションソフト作成画像にウォーターマークを付加する際、上記3つのチェックボックス61〜63を全てチェックすると、少なくとも背景オブジェクトよりは前面に描画でき且つ最前面には描画させないようにすることができる。
【0089】
尚、以下の説明では、図5に示した状態のように上記各チェックボックス61〜63がいずれもチェックされているものとして説明する。尚、これら各チェックボックスのチェック有無に関する情報についても、図4では図示を省略したものの、ウォーターマーク付加情報としてスプールファイルの加工情報中に付加される。
【0090】
従って、スプールファイルをラスタライズしてそのラスタ画像をGDI14がPDLコードに変換する際は、上記のように「ウォーターマークを使う」チェックボックス61及び「バックグランドで印刷」チェックボックス62がチェックされていることに基づき、まずウォーターマークのラスタライズを行うのである。
【0091】
ここでラスタライズされるウォーターマークは、加工情報(図4参照)の中で「ウォーターマークファイル名」として指示されたものである。HDD13には、本描画処理システムで使用可能なウォーターマークを示すデータ(つまり図5の設定画面で選択可能なウォーターマーク)が記憶されており、加工情報の中で指示されたウォーターマークファイル名に対応するウォーターマークのデータがHDD13から読み出され、これがラスタライズされる。
【0092】
そして、ウォーターマークのラスタライズ後は、ページ毎にそのEMFを構成する各レコードに基づくラスタライズを行う。このとき、本参考例では既述の通りプレゼンテーションソフトにより作成した画像を印刷出力しようとしているため、背景オブジェクトを示すレコードが含まれる。尚、本参考例の背景オブジェクトはビットマップ形式のオブジェクトである。
【0093】
そのため、ウォーターマークのラスタライズ後に背景オブジェクトをラスタライズすると、ウォーターマークが背景オブジェクトに上書きされて消されてしまう。しかし本参考例では、図5に示すように「ウォーターマークを背景より前に印刷」チェックボックス63がチェックされていることにより、ウォーターマークのラスタライズ後に背景オブジェクトがラスタライズされた場合は、再びウォーターマークがラスタライズされる。
【0094】
尚、背景以外のオブジェクトをラスタライズしてウォーターマークの一部又は全てが上書きされた場合は、ウォーターマークの再描画はせずそのままとする。つまり、あくまでも背景オブジェクトがラスタライズされた場合にウォーターマークを再びラスタライズするのである。そして、このようにラスタライズされたラスタ画像が、GDI14によってPDLコードに変換され、プリンタ2へ出力される。プリンタ2は、このPDLコードを解釈して印刷用紙50(本発明の印刷媒体に相当;図6参照)へ印刷出力する。
【0095】
図6に、本参考例によりウォーターマークが背景オブジェクトに隠れることなく表示されることを概略的に示す。本参考例では、図5に示すようにウォーターマークに関する設定がなされていることから、スプールファイルに基づく描画(ラスタライズ)を行う場合は、まずウォーターマークの描画を行う((1))。その後、背景オブジェクト(ビットマップオブジェクト)が描画されると((2))、再びウォーターマークが描画される((3))。そして、更に背景オブジェクト以外の他のオブジェクト(ここではビットマップオブジェクト)が描画される((4))。
【0096】
これにより、印刷用紙50に図示のような1ページの画像が形成(印刷)された印刷結果が得られることになる。即ち、(1)で描画されたウォーターマークは(2)での背景オブジェクト描画により消されてしまうが、その後の(3)のウォーターマーク再描画により再び描画される。そして、(4)で描画されたビットマップオブジェクトは(3)のウォーターマークと一部重複しているが、その部分は(4)のビットマップオブジェクトが優先される。
【0097】
以上説明した本参考例の描画処理システムにおいて、アプリケーションソフト21が実行するEMF生成処理について、図7に基づいて説明する。図7は、本参考例のEMF生成処理を示すフローチャートであり、ユーザがアプリケーションソフト21で作成したデータを印刷出力するよう指示した時に、対応するプログラムをパソコン1が実行することにより処理されるものである。
【0098】
この処理が開始されると、まずステップ(以下「S」と略す)110にて、ユーザからの印刷指示に基づいてプリンタドライバ及び加工情報を指定し、デバイスコンテキスト(DC)を作成する。ここで指定したプリンタドライバ及び加工情報を元に、OSがスプールファイルの加工情報(図4参照)を作成する。
【0099】
そしてS120にて、アプリケーションソフト21で作成したデータのドキュメント名を指定すると共にS110で作成したDCに対する描画を開始する。ここで指定したドキュメント名をもとに、OSがスプールファイルのフッタ(図3参照)にドキュメント名を記入する。
【0100】
S130のアプリケーション側描画処理は、DCに対する描画処理を行うものであって、その詳細は図8に示す通りである。即ち、図8に示すように、このアプリケーション側描画処理ではまずS210にて、描画対象のオブジェクトがあるか否かが判断される。ここで、全てのオブジェクトについてDCへの描画がなされた場合は否定判定されることになるが、DCへ描画すべき描画対象オブジェクトがある間はここで肯定判定されてS220に進む。
【0101】
S220では、DCへ描画すべき描画オブジェクトの内容が判定され、文字オブジェクトならばS230に進んでその文字オブジェクトの描画処理(DCへの描画)を行い、円オブジェクトならばS240に進んでその円オブジェクトの描画処理を行い、線オブジェクトならばS250に進んでその線オブジェクトの描画処理を行い、ビットマップオブジェクトならばS260に進んでそのビットマップオブジェクトの描画処理を行う。
【0102】
そして、全てのオブジェクトについてそれぞれ対応する描画処理を行った後は再び図7に戻り、DCへの描画処理を終了する(S140)。そして、S150でDCを放棄し、本処理を終了する。この結果、ページ毎のEMFが生成されることになる。そして、図7のEMF生成処理により生成されたページ毎のEMFは、スプーラシステム26により結合されて一つの印刷ジョブに対応したスプールファイルとしてHDD13内のスプール領域28にスプールされる。
【0103】
次に、GDI14が実行する、上記スプールされたスプールファイルをPDLコードに変換するPDL変換処理について、図9に基づいて説明する。この処理は、スプールファイルを構成する各EMFについて1ページ毎に実行されるものであり、GDI14としての機能を実現するためのプログラムをパソコン1が実行することにより処理されるものである。この処理が開始されると、まずS310にて、ウォーターマークを付加するよう指定されているか否か判断する。この判断は、スプールファイル中の加工情報に基づいて行われ、本参考例では加工情報として図4に示すようなウォーターマーク付加情報が付加されているため、S315に進んでその指定されたウォーターマークのPDLコードを生成し、続くS320へ進む。ウォーターマーク付加情報がない場合はS310で否定判定されてS320に進むことになる。
【0104】
尚、このPDLコードの生成は、より詳細には、既に説明した通りまずGDI14がOSを呼ぶことによりOSにてラスタライズが行われ、そのラスタライズされたラスタ画像をGDI14がPDLコードに変換することになる。後述のS335,S365,S360におけるPDLコード生成も同様である。
【0105】
S320では、対象ページのEMFをレコード分割し、その分割したレコードをS325にて一つずつ抽出する。そして、S330では、S325にて抽出したレコードがビットマップオブジェクトに対応したビットマップ描画レコードであるか否か判断し、ビットマップ描画レコード以外のレコードならばS365に進んで、そのレコードに基づくPDLコードの生成を行うが、ビットマップ描画レコードならばS335に進み、そのビットマップ描画レコードに基づくPDLコードの生成を行う。
【0106】
このS335及びS365はいずれも、S325にて抽出したレコードの内容を解析することにより対応するPDLコードを生成するものであり、S335は特に、ビットマップ描画レコードの場合についてそのビットマップオブジェクトを表すPDLコードを生成するものである。
【0107】
S325で抽出したレコードがビットマップ描画レコードでなかった場合は、S365の処理後にS370へ進み、S320で分割した全てのレコードについてPDLコード化を行ったか否か判断する。そして、まだPDLコード化していないレコード(つまりS325で抽出されていないレコード)があれば再びS325以下の処理を実行することになるが、全てのレコードについてPDLコード化した場合は、1ページ分のEMFについてのPDL化が終了したことになり、一旦このPDL変換処理を終了する。そして、引き続き次のページのEMFに対して、同じようにこのPDL変換処理を実行する。
【0108】
一方、S330でビットマップ描画レコードと判断され、S335によりそのビットマップ描画レコードに基づくPDLコード生成を行った後は、S340に進み、S310と同様、ウォーターマークを付加するよう指定されているか否かの判断を行う。ここで、指定されていない場合はS370に移行することになるが、指定されている場合は、S345に進み、ウォーターマークの再描画設定スイッチが「入」になっているか否か判断する。
【0109】
この再描画設定スイッチは、換言すれば、図5で説明した印刷設定画面において「ウォーターマークを背景より前に印刷」チェックボックス63がチェックされているか否かを表すものであり、チェックされていれば再描画設定スイッチが「入」であってS350に進むが、チェックされていなければ「切」であってS370に進むことになる。
【0110】
S350では、S335にてPDLコード化したビットマップ描画レコードに対応するビットマップオブジェクトが背景を表す背景オブジェクトであるか否かを判定する背景判定処理を行う。この背景判定処理は、詳細には図10に示す通りであり、まずS410にて印刷用紙50の物理サイズ(用紙印刷面の面積)を得る。これは、プリンタドライバがOSのAPI(Application Program Interface )を呼ぶことにより得られる。
【0111】
続くS420では、判定対象のビットマップ描画レコードに基づいてビットマップオブジェクトのサイズを得る。ビットマップ描画レコードには、そのレコードを構成するビットマップデータをラスタデータ化するために、ビットマップデータ自体にx−y座標におけるx軸及びy軸方向のサイズ情報が格納されている。このサイズ情報を取得することにより、ビットマップオブジェクトのサイズを得ることができる。
【0112】
そして、S430にて、ビットマップオブジェクトが用紙とほぼ同じ面積か否かを判断する。本参考例では、ビットマップオブジェクトの描画領域が用紙面積の80%以上であるか否か判断し、80%以上である場合に「ほぼ同じ面積」と判断する。そして、「ほぼ同じ面積」と判断された場合は、S440にてそのビットマップオブジェクトが背景オブジェクトであると判断されるが、「ほぼ同じ面積」と判断されなかった場合は、S450にてそのビットマップオブジェクトは背景オブジェクトではないと判断される。
【0113】
図9に戻り、S355にて、ビットマップオブジェクトが背景か否かをS350の背景判定処理結果に基づいて判断し、背景でなければ(図10のS450により背景オブジェクトではないと判断されていれば)S370に進むが、背景ならば(図10のS440により背景オブジェクトであると判断されていれば)S360に進み、ウォーターマークのPDLコードを生成する。このPDLコード生成はS315と全く同様である。即ち、S315と同じPDLコードをここで再び生成することになる。
【0114】
尚、S350の背景判定処理は、図10に示した方法以外に、例えば図11に示す処理により判定するようにしてもよい。即ち、図11の背景判定処理では、まずS510にて、スプールファイル中の加工情報からウォーターマークの座標(描画位置)を得る。続くS520では、ビットマップ描画レコードのレコードデータからビットマップオブジェクトの座標(描画位置)を得る。
【0115】
そしてS530にて、S510及びS520の結果に基づいてウォーターマークとビットマップオブジェクトが重複して描画される部分があるか否か判断し、重複する部分がなければS560に進んでそのビットマップオブジェクトは背景オブジェクトではないと判断されるが、重複する部分があればS540に進む。S540では、ビットマップオブジェクトにおけるその重複する部分が全て白又は淡色であるか否か判断する。淡色か否かの判定については、例えばRGBいずれも所定の明度以上である場合に淡色であると判定することができる。
【0116】
S540で白又は淡色のいずれでもないと判断された場合はS560に進んでそのビットマップオブジェクトは背景オブジェクトではないと判断されるが、白又は淡色と判断された場合はS550に進み、図10のS440と同様、そのビットマップオブジェクトが背景オブジェクトであると判断する。
【0117】
このようにして得られたPDLコード群は、単にEMFをレコードの配列順にそのままPDLコード化したものではなく、ウォーターマークに関するPDLコードも含み、しかも、全体として、背景オブジェクトが描画された後には必ずウォーターマークが描画されるようにされている。そのため、プリンタ2がこのPDLコード群を解釈して印刷出力すると、ウォーターマークが背景オブジェクトの前面に描画された印刷結果が得られるのである。
【0118】
以上詳述した本参考例の描画処理システムによれば、プリンタドライバ(GDI14)によるPDLコード変換時に、ウォーターマークの描画(ラスタライズ→PDLコード化)の後に背景オブジェクトの描画を行った場合はその後に再びウォーターマークの描画を行うため、ウォーターマークがビットマップ形式のものであっても背景オブジェクトに隠れることなく、且つ、背景オブジェクトより前面に描画される他のオブジェクトを隠さないように描画でき、ユーザの意志に沿ったウォーターマーク描画の実現が可能となる。
【0119】
また、描画対象のビットマップオブジェクトが背景オブジェクトであるか否かの判定を、印刷用紙50の面積に対する割合に基づく判断、或いは、ウォーターマークと重複する部分の色による判断により行っており、いずれの判断方法によっても、背景オブジェクトであるか否かを的確に判断し、ユーザの意志に沿ったウォーターマークの描画を実現できる。
【0120】
特に、色による判断においては、重複する部分が全て白色又は淡色の場合に背景オブジェクトであると判断するようにしているため、ウォーターマークが背景オブジェクト以外の他のオブジェクトに与える影響(例えば有色のオブジェクトにウォーターマークが上書きされること等)を抑えることができる。
【0121】
尚、図7のEMF生成処理は本発明のレコードファイル生成手段が実行する処理に相当する。また、図9のPDL変換処理において、S325の処理は本発明のレコード取り込み手段が実行する処理に相当し、S335及びS365の処理はいずれも本発明のオブジェクト描画手段が実行する処理に相当する。
【0122】
また、S330は本発明のビットマップ判断手段が実行する処理に相当する。
【0123】
【0124】
[第1実施形態]
上記第1参考例では、アプリケーションソフト21で作成した画像を構成するビットマップオブジェクトが背景オブジェクトであるか否かを判断する方法として、図10に示したような、ビットマップオブジェクトサイズと用紙面積との関係に基づく判断、或いは、図11に示したような、ビットマップオブジェクトとウォーターマークとが重複する部分の色に基づく判断を行うようにした。
【0125】
しかし、上記判断方法では、例えば背景オブジェクトではない他のオブジェクトが印刷用紙50とほぼ同じサイズのものであっても、それが背景オブジェクトと判断されてしまうことも考えられ、そのような場合、ウォーターマークより前面に出てほしいものであるにもかかわらずウォーターマークに上書きされてしまう。
【0126】
そこで本実施形態では、背景オブジェクトであるか否かをより確実に判断するために、判断対象のビットマップオブジェクトと、アプリケーションソフト21がもっている(正確には記憶手段としてのHDD13に記憶されている)背景ファイル(本発明の背景データ)とを相互比較して、一致した場合にそのビットマップオブジェクトが背景オブジェクトであるものと判断するようにしている。
【0127】
尚、本実施形態の描画処理システムも、基本的には図1に示したソフトモジュール構成と同様であり、異なるのはプリンタドライバ(GDI14)がPDLコード変換時に実行する背景判定処理である。つまり、本実施形態でも、図9に示したPDL変換処理が実行されるが、この処理におけるS350の背景判定処理として、図13に示す処理を実行するのである。
【0128】
図13の背景判定処理では、まずS610にて、ビットマップ描画レコード(図9のS330でビットマップ描画レコードと判断されたもの)中のビットマップデータを抽出する。そしてS620で、アプリケーションソフト21の種類毎に背景ファイルが収められたディレクトリの中でまだみていないものがあるか否か判断する。
【0129】
即ち、パソコン1にアプリケーションソフト21(プレゼンテーションソフトを含む複数のアプリケーション)をインストールした際には、通常、各アプリケーションがそれぞれもっている背景ファイル(背景オブジェクトとして使用される画像データ)がアプリケーションの種類毎にそれぞれ所定のディレクトリに格納される。
【0130】
本実施形態では、このディレクトリに関する情報を、図12に示すようなBG(背景)ディレクトリリスト(本発明の所在情報に相当)としてプリンタドライバ(GDI14)から提供されるようにしている。図12は、例えばアプリケーションAの背景ファイルはディレクトリ「C:\Program File\ApliA\Background」に収められていることを示している。
【0131】
そのため、本実施形態ではこれらのディレクトリ一つ一つについて順次中の背景ファイルを見ていき、S610で抽出したビットマップデータと一致するものがあったときにそのビットマップデータを背景と判断するようにしているのである。
【0132】
全てのBGディレクトリを見るまではS620で肯定判定されてS630に進み、まだみていないBGディレクトリを一つ抽出する。S640は、その抽出したBGディレクトリの中に収められている背景ファイルについて、まだみていない背景ファイルがあるか否か判断する。全ての背景ファイルをみるまではこのS640で肯定判定されてS650に進み、まだみていない背景ファイルを一つ抽出する。
【0133】
S660では、S650で抽出した背景ファイルがビットマップ形式であるか否か判断し、ビットマップ形式であればそのままS680に進むが、ビットマップ形式以外の形式であれば、S670でビットマップ形式に変換した上でS680に進む。
【0134】
つまり、各BGディレクトリに収められている背景ファイルは必ずしも全てビットマップ形式であるとは限らず、例えばPNG,JPGなどのビットマップ形式以外のフォーマットの可能性もある。そのため、そのような場合はビットマップ形式に変換することにより、続くS680における比較処理において比較対象となるビットマップデータと同じデータ形式で比較できるようにするのである。
【0135】
S680では、抽出した背景ファイルと、比較対象のビットマップデータとを比較し、この結果に基づいてS690にて両者が一致するか否か判断する。具体的には、まず全体のサイズを比較し、ここで異なっていれば「一致しない」と判断する。サイズが同じであれば、それぞれデータ列を単純比較して、完全に一致するか否か判断する。ここで完全に一致した場合は、S690で肯定判定されてS695に進み、図10のS440と同様、ビットマップデータが背景オブジェクトを表すデータであると判断する。
【0136】
S680の比較の結果、一致しなかった場合は、S640に戻って他の背景ファイルについて同様の処理(比較処理)を行うことになる。そして、全ての背景ファイルについて比較処理を行った結果、いずれも一致しなかった場合は、S640で否定判定されてS620に進み、他にまだみていないBGディレクトリがあればS630に進むことになる。
【0137】
このように、S680の比較処理で「一致する」と判断されない限り、BGディレクトリリストにリストアップされた全てのディレクトリについて、各ディレクトリに収められている背景ファイルとビットマップデータ(S610で抽出)との比較を行い、全て「一致しない」と判断された場合は、S620で否定判定されてS700に進み、そのビットマップデータは背景データではないものと判断される。
【0138】
上記のように、本実施形態によれば、描画するビットマップオブジェクトが、各アプリケーション毎に所定のディレクトリに格納されている背景ファイル、つまり各アプリケーションが各々独自にもっている背景ファイルと一致した場合に、それが背景オブジェクトであると判断するようにしているため、背景オブジェクトであるか否かの判断をより確実に行うことが可能となる。
【0139】
尚、GDI14(プリンタドライバ)は、本発明のレコード取り込み手段、オブジェクト描画手段、背景オブジェクト判断手段及び特殊画像描画手段に相当するものである。
また、既述の通り、本実施形態でも図9に示したPDL変換処理が実行され、特にS350の背景判定処理として本実施形態では図13に示す処理が実行されるが、この図9のPDL変換処理において、S315及びS360の処理はいずれも本発明の特殊画像描画手段が実行する処理に相当し、S325の処理は本発明のレコード取り込み手段が実行する処理に相当し、S335及びS365の処理はいずれも本発明のオブジェクト描画手段が実行する処理に相当する。
また、S330,S350(詳細は図13),S355の処理はいずれも本発明の背景オブジェクト判断手段が実行する処理に相当し、このうちS330は本発明のビットマップ判断手段が、S355は本発明の背景判断手段が、それぞれ実行する処理に相当する。S350の背景判定処理(図13)においては、S620〜S650の処理が本発明の背景データ参照手段が実行する処理に相当し、S680,S690,S695,S700の処理が本発明の背景判断手段が実行する処理に相当する。
【0140】
[第2実施形態]
上記第1参考例及び第1実施形態は、スプールファイルをプリンタドライバ(GDI14)がPDLコード化する際に、各ビットマップオブジェクトが背景オブジェクトであるか否か判断すると共に背景オブジェクトである場合はその描画後にウォーターマークを再び描画するようにしたが、本実施形態では、スプール領域28にスプールされたスプールファイルを一旦取り出して、そのスプールファイル自体を、背景オブジェクトの描画後にはウォーターマークを再描画するように加工し、その加工後のスプールファイルを再びスプール領域28に戻すようにしている。そして、その加工後のスプールファイルに基づいて、プリンタドライバがPDLコード化する。
【0141】
図14は、本実施形態の印刷システムのソフトモジュール構成を示すブロック図であり、図1と比較して主に異なるのは、スプールファイルを加工するスプールファイル加工部33を備えていることと、プリンタドライバ(GDI34)はスプールファイル加工部33による加工後のスプールファイルに従ってそのままPDLコード化することである。従って、図1と同じ構成要素には図1と同じ符号を付し、その説明を省略する。そして、図1と異なる点に着目して以下説明する。
【0142】
プリントプロセッサ32は、スプーラシステム26によってスプール領域28にスプールされたスプールファイルを取り出して、加工情報(図4参照)が含まれているか否かをみる。そして、加工情報が含まれている場合に、そのスプールファイルをスプールファイル加工部33へ渡す。
【0143】
スプールファイル加工部33では、プリントプロセッサ32から渡されたスプールファイルをページ毎のEMFに分割し、分割後の各ページのEMFをHDD13上のテンポラリファイルにコピーする。このテンポラリファイルは不要となった時点で削除する。尚、ページ分割の前に、スプールファイルから加工情報を取得して、どのような加工(本実施形態ではどのようにウォーターマークを付加)をすべきか予め識別しておく。その後、EMF加工部42が、ウォーターマーク描画部41、及びOSの一機能としてのGDI43と連携しながらEMFの加工を行う。
【0144】
このうち、ウォーターマーク描画部41は、加工の中で行われるウォーターマークの描画処理を担うものである。つまり、EMF加工部42がEMFの加工を行う過程でウォーターマークの描画処理が必要となったとき、ウォーターマーク描画部41がウォーターマークの描画を行う。
【0145】
このようにスプールファイル加工部33により加工されて得られた新しいスプールファイル(ページ毎のEMF)は、プリントプロセッサ27によってプリンタドライバ(GDI34)へ送られ、このプリンタドライバによって、新しいEMFがプリンタ2に対応したPDLコードに変換されてプリンタ2に送られる。
【0146】
次に、スプールファイル加工部33が実行するスプールファイル加工処理について、図15に基づいて説明する。図15は、本実施形態のスプールファイル加工処理を示すフローチャートであり、スプールファイル加工部33としての機能を実現するためのプログラムをパソコン30が実行することにより処理されるものである。
【0147】
この処理が開始されると、まずS710にて、スプールファイルに含まれる加工情報をチェックし、どのように加工すべきかを識別する。そして、S720で、スプールファイルをページ毎のEMFに分割し、続くS730にて、スプール領域28に記憶されている元の印刷ジョブ(スプールファイル)を消去して、S740に移行する。
【0148】
S740では、S710でチェックした加工情報に従い、ページ分割されたEMFに対して実際に加工処理を施し、再び新たな印刷ジョブのスプールファイルとして登録する。そして、スプールファイル加工後は、新たな印刷ジョブの全ページがプリンタ2にて印刷終了するまで待機し(S750)、印刷終了とともにこの処理が一旦終了することになる。
【0149】
次に、S740の加工処理の詳細について図16に基づいて説明する。S740では、既述の通り、スプールファイルに含まれる加工情報(本実施形態ではウォーターマーク付加情報)に従った加工処理が行われる。
この処理では、まずS741にて、用紙サイズを指定する。この指定は、加工情報に含まれる用紙サイズ情報(プリンタ2にて実際に印刷出力すべき用紙サイズを示す情報)に基づいて行われる。或いは、OSのAPIを呼ぶことによって得られる用紙サイズ情報に基づいて行うこともできる。
【0150】
用紙サイズ指定後は、続くS742にて、その指定した用紙サイズに合わせた1ページ処理(図17)が行われ、EMFの全ページに対してS742の1ページ処理がなされたとき、この加工処理が終了する。
次に、S742の1ページ処理について、図17に基づいて説明する。この処理が開始されると、まずS800にて、API「Start Page」を呼ぶことにより、DC(デバイスコンテキスト)に対するページ先頭宣言を行う。続くS805では、ウォーターマークを付加するよう指定されているか否か判断する。この判断は、スプールファイル中の加工情報に基づいて行われ、本実施形態では加工情報として図4に示すようなウォーターマーク付加情報が付加されている。そのため、S810に進んで、その指定されたウォーターマークのDCに対する描画処理を行う。
【0151】
S815では、対象ページのEMFをレコード分割し、その分割したレコードをS820にて一つずつ抽出する。そして、S825では、S820にて抽出したレコードがビットマップオブジェクトに対応したビットマップ描画レコードであるか否か判断し、ビットマップ描画レコード以外のレコードならばS860に進んでそのレコードに基づくDCへの描画処理を行うが、ビットマップ描画レコードならばS830に進み、そのビットマップ描画レコードに基づくDCへの描画処理を行う。
【0152】
続くS835では、S805と同様、ウォーターマークを付加するよう指定されているか否かの判断を行う。ここで、指定されていない場合はS870に移行することになるが、指定されている場合は、S840に進み、ウォーターマークの再描画設定スイッチが「入」になっているか否か判断する。この判断処理は、図9におけるS345と同様であり、図5で説明した印刷設定画面において「ウォーターマークを背景より前に印刷」チェックボックス63がチェックされていれば再描画設定スイッチが「入」であってS845に進むが、チェックされていなければ「切」であってS870に進むことになる。
【0153】
S845では、S830にてDCへの描画処理を行ったビットマップ描画レコードに対応するビットマップオブジェクトが背景を表す背景オブジェクトであるか否かを判定する背景判定処理を行う。この背景判定処理は、第1実施形態の図13で説明した処理と全く同じであるため、ここではその説明を省略する。
【0154】
S850では、S845の判定結果に基づいてビットマップオブジェクトが背景か否か判断し、背景でなければS870に進むが、背景ならばS855に進み、DCに対するウォーターマークの描画処理を再び行う。このウォーターマーク描画処理はS810と全く同様である。
【0155】
S870では、S815にて分割したレコード全てについてS820以下の処理を行ったか否か判断し、全てのレコードについて処理が終了した場合はS880に進んで、API「End Page」をコールする。つまり、ここでDCを閉じ、1ページ分の加工が終了した旨をスプーラシステム26へ伝える。
【0156】
これにより、加工終了したページのEMFが、加工前のEMFに代わる新たなEMFとしてスプール領域28に記憶され、プリンタ2の動作状況に応じてプリンタ2側へ出力されることになる。
従って、加工後の新たなEMFは、加工前のEMFと比較して、背景オブジェクトに対応するレコードの後には必ずウォーターマークに対応するレコードが付加されたものとなる。そのため、プリンタドライバ(GDI34)がこの加工後のEMFをPDLコード化する過程で、このEMFをそのままレコード配列順(本発明の描画順序に相当)にラスタライズするだけで、背景オブジェクトの上にウォーターマークが描画されたラスタデータが得られる。
【0157】
尚、本実施形態において、スプールファイル加工部33は本発明のレコードファイル加工手段に相当し、プリンタドライバ(GDI34)は本発明の変換手段に相当する。また、図17の1ページ処理は、本発明のレコードファイル加工手段が実行する処理に相当する。
【0158】
[第2参考例]
本参考例は、基本的なソフトモジュール構成は図1(第1参考例)と同様であるが、背景オブジェクトであるか否かをより確実に判断するために、アプリケーションソフト21によるEMF生成時において、背景オブジェクトをレコード化する際には、そのレコードの前にコメントレコードを付加するようにし、プリンタドライバによるPDLコード化時に、このコメントレコードの有無に基づいて背景オブジェクトであるか否かの判断を行うようにしている。
【0159】
つまり、上記第1参考例で説明した図8のアプリケーション側描画処理におけるS260のビットマップオブジェクト描画処理に際し、描画処理対象のビットマップオブジェクトが背景オブジェクトであればその旨のコメントレコードを付加するのである。このコメントレコードは、次に描画するビットマップオブジェクトは背景オブジェクトであることを示すいわば「背景予告コメント」である。そして、レコードに基づくPDLコード化の際は、この背景予告コメントとしてのコメントレコードを抽出した場合、その後に抽出するビットマップオブジェクトを背景オブジェクトとするのである。
【0160】
そこで、アプリケーションソフト21によるアプリケーション側描画処理及びプリンタドライバ(GDI14)によるPDL変換処理について以下説明する。まず、本参考例のアプリケーションソフト21が実行するアプリケーション側描画処理について、図18に基づいて説明する。図18の処理は、第1参考例で説明した図8のアプリケーション側描画処理と比較して、S220でビットマップオブジェクトと判断された場合の処理が異なるだけでその他の処理は図8と全く同様である。そのため、S210〜S250の処理については説明を省略し、S910以降の処理について説明する。
【0161】
S220でビットマップオブジェクトであると判断されると、S910にて、そのソースファイルが背景用か否か(つまりそのビットマップオブジェクトが背景オブジェクトであるか否か)判断する。ソースファイルが背景用であるか否かはアプリケーションソフト21自体が当然ながら認識しているため、背景用でなければそのままS930に進んでそのビットマップオブジェクトの描画処理を行う。
【0162】
一方、背景用であればS920に進み、背景予告コメントとしてのコメントレコードを付加して、続くS930の処理を行う。この結果、図19に示すように、ビットマップ描画レコードの前には、背景予告コメントとしてのコメントレコードが必ず付加されることになる。
【0163】
次に、本参考例のプリンタドライバ(GDI14)が実行するPDL変換処理について、図20に基づいて説明する。図20も、プリンタドライバ(GDI14)としての機能を実現するためのプログラムをパソコンが実行することにより処理されるものである。
【0164】
このPDL変換処理が開始されると、まずS1001にて、ウォーターマークのPDLコードを生成し、続くS1010にて、対象ページのEMFをレコード分割して、その分割したレコードをS1020にて一つずつ抽出する。そして、S1030では、S1020にて抽出したレコードの内容を判定する。ここでは、大きく分けてコメントレコード、ビットマップ描画レコード、その他のレコード、のいずれであるかを判定している。
【0165】
まず、コメントレコードであった場合は、S1040に進み、それが背景予告コメントであるか否か判断する。つまり、図18のアプリケーション側描画処理におけるS920の処理で付加されたコメントレコードであるか否かの判断である。ここで背景予告コメントでない場合はそのままS1110に移行するが、背景予告コメントの場合は、S1050でフラグをセットして、S1100へ進む。このフラグは、「次のレコードは背景オブジェクト描画レコードである」ことを意味するものである。
【0166】
S1020で抽出したレコードがビットマップレコードであった場合は、S1060に進み、PDLコードに変換する。そして、S1070にて、ウォーターマーク指定があり且つフラグがセットされているか否か判断する。このとき、ユーザが印刷設定画面(図5)で「ウォーターマークを使う」チェックボックスをチェックしていればウォーターマーク指定されていることになる。また、ここでいうフラグとは、S1050でセットされるフラグのことである。
【0167】
S1070で否定判定された場合はそのままS1110に進むが、肯定判定された場合は、その直前にS1060で行ったPDLコード化対象のビットマップ描画レコードが、背景オブジェクトに対応したものであることを意味している。従って、そのS1060の処理により、先にS1001でなされたウォーターマークのPDLコード化は実質的に無効となってしまったことになる。
【0168】
そのため、続くS1080にて、ウォーターマークのPDLコード化を再び行うのである。その後、S1090でフラグをリセットした上で、S1110に移行する。
S1020で抽出したレコードがコメントレコード及びビットマップ描画レコードのいずれでもない場合は、S1100に進んでそのレコードに基づくPDLコード化を行い、S1110に進む。S1110では、全てのレコードについて抽出及びS1030以降の処理を行ったか否か判断し、全てのレコードについて処理が終わるまではS1020以下の処理を繰り返すことになる。
【0169】
従って、本参考例の描画処理システムによれば、背景オブジェクトに対応したレコードの前には予めアプリケーションソフト21側でコメントレコードを付加しておき、プリンタドライバはPDLコード化の際にそのコメントレコードがあった場合にウォーターマークの再PDLコード化を行うようにしているため、第1実施形態と同様、背景オブジェクトであるか否かの判断をより確実に行うことが可能となる。
【0170】
以上、本発明の参考例及び実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【0171】
例えば、上記第1参考例における図9のPDL変換処理において、S350の背景判定の具体例として、ビットマップオブジェクトのサイズが印刷用紙50の物理サイズとほぼ同じ(本参考例では用紙面積の80%以上)か否かによる判断(図10)、若しくは、ビットマップオブジェクトとウォーターマークの重複部分が白又は淡色か否かによる判断(図11)を示したが、これらの方法は一例であって、例えば上記2つの方法を共に満たす場合に背景オブジェクトと判断するようにしてもよいし、また例えば、ビットマップオブジェクトがウォーターマークを完全に覆う場合に背景オブジェクトと判断するようにしてもよい。
【0172】
また、図10の背景判定処理における判定基準である「用紙面積の80%以上」についてもあくまでも一例であり、例えば用紙面積に対する割合をもっと高めて(或いは低くして)もよいし、用紙の端部からビットマップオブジェクトまでの距離に基づいて判定(例えば用紙の端部4辺からビットマップオブジェクトまでの距離が所定の距離以内にあればそれを背景オブジェクトと判断)するようにしてもよい。
【0173】
また、図9のPDL変換処理において、S345の再描画設定スイッチ判定を、外部からの指示に基づく判断、つまり印刷設定画面(図5)における「ウォーターマークを背景より前に印刷」チェックボックス63がチェックされていれば「入」と判断するようにしたが、これに限らず、例えばアプリケーションソフト21がプレゼンテーションソフトであるか否かに基づいて判断するようにしてもよい。即ち、プレゼンテーションソフトで作成されたものであれば再描画設定スイッチを「入」とし、プレゼンテーションソフト以外のソフトで作成されたものであれば「切」とするのである。なお、プレゼンテーションソフトか否かの判断は、スプールファイルのフッタに付加されているドキュメント名に基づいて行えばよい。
【0174】
更に、上記各実施形態、参考例では、スプールファイルをプリンタドライバがPDLコードに変換してプリンタ2へ出力するようにしたが、PDLコードではなくラスタデータ(ビットマップデータ)をそのままプリンタ2へ出力するようにしてもよい。
【0175】
更にまた、上記第1参考例における図11の背景判定処理において、ウォーターマークとビットマップオブジェクトの重複領域が全て白又は淡色の場合にそのビットマップオブジェクトを背景と判断するようにしたが、必ずしも「全て」とする必要はなく、重複領域に白又は淡色部分があれば背景と判断するようにしてもよい。
【0176】
また、上記各実施形態では、各オブジェクトの描画処理時(第1実施形態ではプリンタドライバによる各オブジェクトのPDLコード生成時、第2実施形態ではスプールファイル加工時)、各オブジェクト毎に、その描画対象オブジェクトが背景オブジェクトであるか否かの判断及び背景オブジェクトであった場合にその描画処理後にウォーターマークを再描画する処理も併せて行うという1パス方式によって本発明が実現されているものとして説明したが、これに限らず、例えば、背景オブジェクトであるか否かの判断処理と実際の描画処理とを分けて行う2パス方式によって実現するようにしてもよい。
【0177】
具体的には、まず最初にEMF中のオブジェクト全てについて背景オブジェクトであるか否かを各々判断すると共に、そのEMFにおいて最後に背景オブジェクトとして認識されたオブジェクトを記憶しておく。その後に各オブジェクトの描画処理を開始し、描画対象が上記記憶されているオブジェクトであれば、そのオブジェクトの描画処理直後にウォーターマークを再描画するものである。
【0178】
1パス方式、2パス方式のいずれによっても本発明を実現することは可能であるが、1パス方式の場合、オブジェクト描画処理の進行と同時に背景判断及びウォーターマークの描画を行うことができるため、2パス方式に比べて、ウォーターマークが付加された1ページの画像をより短時間で得ることができる。
【0179】
また上記各実施形態では、本発明の特殊画像描画システムを一つの装置(パソコン)で実現した場合を例に挙げて説明したが、これに限らず複数の装置で実現するようにしてもよい。例えば第2実施形態において、スプールファイルの加工まではパソコン30にて行い、加工後のスプールファイルをプリンタ2に送信して、プリンタ側でそのスプールファイルをPDLコード化(ラスタライズ)するようにしてもよい。つまり、結果として背景オブジェクトよりも前面にウォーターマークが描画された印刷結果を得られる限り、それを実現するための具体的装置構成は問わない。
【0180】
更に、上記各実施形態では、本発明の描画処理システムとして機能させるための各種プログラムが、いずれもHDD13内に格納されたものとして説明したが、これら各種プログラムを、例えばフロッピー(登録商標)ディスク、光磁気ディスク、CD−ROM、ハードディスク等の各種ストレージデバイス(コンピュータ読み取り可能な記録媒体)に記録しておくこともできる。
【0181】
この場合、記録媒体に記録したプログラムを必要に応じてコンピュータシステムにロードして起動することにより、そのコンピュータシステムにおいて本発明の描画処理システムを実現することができる。
尚、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として上記各プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。また、プログラムを通信回線を介してコンピュータにインストールすることもできる。この通信回線により送信されるプログラムも、請求項21記載のプログラムに該当するものである。
【図面の簡単な説明】
【図1】 第1参考例の印刷システムのソフトモジュール構成を示すブロック図である。
【図2】 スプールファイルの概略構成を示す説明図である。
【図3】 EMFを構成するレコードの具体例を示す説明図である。
【図4】 スプールファイルに付加される加工情報の具体例を示す説明図である。
【図5】 ウォーターマークに関する各種設定を行うための印刷設定画面例を示す説明図である。
【図6】 ウォーターマークと他のオブジェクトの描画順序関係を説明するための説明図である。
【図7】 第1参考例のEMF生成処理を示すフローチャートである。
【図8】 図7のEMF生成処理におけるS130のアプリケーション側描画処理を示すフローチャートである。
【図9】 第1参考例のPDL変換処理を示すフローチャートである。
【図10】 図9のPDL変換処理におけるS350の背景判定処理を示すフローチャートである。
【図11】 図10の背景判定処理の他の例を示すフローチャートである。
【図12】 第1実施形態のBGディレクトリリストを示す説明図である。
【図13】 第1実施形態の背景判定処理を示すフローチャートである。
【図14】 第2実施形態の印刷システムのソフトモジュール構成を示すブロック図である。
【図15】 第2実施形態のスプールファイル加工処理を示すフローチャートである。
【図16】 図15のスプールファイル加工処理におけるS740の加工処理を示すフローチャートである。
【図17】 図16の加工処理におけるS742の1ページ処理を示すフローチャートである。
【図18】 第2参考例のアプリケーション側描画処理を示すフローチャートである。
【図19】 第2参考例のEMFにおけるコメントレコードとビットマップ描画レコードの相対関係を示す説明図である。
【図20】 第2参考例のPDL変換処理を示すフローチャートである。
【図21】 メイン画像にウォーターマークが付加された印刷結果を示す説明図であり、(a)は前面付加による印刷結果、(b)は背面付加による印刷結果、(c)は背景オブジェクトを含むメイン画像に対して背面付加を適用したことによりウォーターマークが印刷されない結果を、それぞれ示す。
【符号の説明】
1,30…パソコン、2…プリンタ、11…中間ファイル生成部、12,31…プリントスプーラ、13…HDD、14,34…GDI(プリンタドライバ)21…アプリケーションソフト、22…プリンタドライバ、23…GDI、26…スプーラシステム、27,32…プリントプロセッサ、28…スプール領域、33…スプールファイル加工部、41…ウォーターマーク描画部、42…EMF加工部、50…印刷用紙、61,62,63…チェックボックス、70…ウォーターマーク選択メニュー
Claims (12)
- アプリケーションソフトにより生成された画像に対してドライバソフトが特殊画像を付加する方法であって、
前記アプリケーションソフトは、
少なくともビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトを所定の順序に従って描画することにより1ページの画像を生成し、該1ページの画像を構成する前記オブジェクトの各々を該各オブジェクトを表すオブジェクトレコードに変換すると共に前記所定の順序で並べることによりレコードファイルを生成すると共に、背景を表すオブジェクトを生成する際に使用する背景データを有しており、
前記ドライバソフトは、
前記アプリケーションソフトが有する前記背景データの所在情報を有しており、
前記レコードファイルから前記所定の順序で前記オブジェクトレコードを取り込み、該取り込んだオブジェクトレコードを解析して対応する前記オブジェクトの描画を行うと共に、該オブジェクトが背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否かを判断して、背景オブジェクトと判断した場合は該背景オブジェクトの描画後に前記特殊画像を描画し、
前記背景を表すものであるか否かの判断は、前記所在情報に基づいて前記アプリケーションソフトが有する前記背景データを参照し、前記判断対象のオブジェクトが前記背景データを基に生成されたものであるか否かを判断することにより行う
ことを特徴とする特殊画像付加方法。 - 前記ドライバソフトは、前記オブジェクトの前記所定の順序に従った描画の開始後、描画対象オブジェクトが前記ビットマップオブジェクトである毎にそのビットマップオブジェクトが前記背景オブジェクトであるか否か判断し、背景オブジェクトと判断した場合は、その背景オブジェクトの描画後、次に描画されるべきオブジェクトより先に前記特殊画像を描画する
ことを特徴とする請求項1記載の特殊画像付加方法。 - 前記ドライバソフトは、前記所定の順序に基づく最初の前記オブジェクトレコードに対応したオブジェクトを描画する前に、まず前記特殊画像を描画する
ことを特徴とする請求項1又は2記載の特殊画像付加方法。 - アプリケーションソフト及びドライバソフトがインストールされ、前記アプリケーションソフトにより生成された画像に対して前記ドライバソフトが特殊画像を付加するよう構成された描画処理システムであって、
前記アプリケーションソフトは、
少なくともビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトを所定の順序に従って描画することにより1ページの画像を生成する画像生成手段と、
前記画像生成手段が生成した前記1ページの画像を構成するオブジェクトの各々を該各オブジェクトを表すオブジェクトレコードに変換すると共に該オブジェクトレコードを前記所定の順序で並べることによりレコードファイルを生成するレコードファイル生成手段と、
を備えると共に、背景を表すオブジェクトを生成する際に使用する背景データを有しており、
前記背景データは、当該描画処理システムが備える記憶手段における所定の記憶領域に記憶されており、
前記ドライバソフトは、
前記レコードファイル生成手段により生成されたレコードファイルから前記所定の順序で前記オブジェクトレコードを取り込むレコード取り込み手段と、
前記レコード取り込み手段が前記オブジェクトレコードを取り込む毎に該取り込んだオブジェクトレコードを解析して対応する前記オブジェクトを描画することにより前記1ページの画像を描画するオブジェクト描画手段と、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが、背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否か判断する背景オブジェクト判断手段と、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが前記背景オブジェクト判断手段によって前記背景オブジェクトと判断された場合、前記オブジェクト描画手段によるその背景オブジェクトの描画後に前記特殊画像を描画する特殊画像描画手段と、
を備えると共に、前記記憶手段における前記背景データの所在情報を有しており、
前記背景オブジェクト判断手段は、前記背景を表すものであるか否かの判断を、前記所在情報に従って前記記憶手段に記憶された前記背景データを参照して、前記判断対象のオブジェクトが前記背景データを基に生成されたものであるか否かを判断することにより行い、前記背景データを基に生成されたものであると判断された場合に、該判断対象のオブジェクトが背景を表すものであると判断する
ことを特徴とする描画処理システム。 - 前記背景オブジェクト判断手段は、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが前記ビットマップオブジェクトであるか否か判断するビットマップ判断手段と、
前記ビットマップ判断手段によりビットマップオブジェクトと判断されたとき、前記所在情報に従って前記記憶手段に記憶された前記背景データを参照する背景データ参照手段と、
前記ビットマップ判断手段によりビットマップオブジェクトと判断されたオブジェクトが、前記背景データ参照手段により参照された背景データを基に生成されたものであるか否かを判断する背景判断手段と、
を備え、前記背景判断手段によって前記背景データを基に生成されたものと判断された場合に、そのオブジェクトが前記背景オブジェクトであるものと判断する
ことを特徴とする請求項4記載の描画処理システム。 - 前記特殊画像描画手段は、前記オブジェクト描画手段が前記所定の順序に基づく最初の前記オブジェクトレコードに対応したオブジェクトを描画する前に、まず前記特殊画像を描画する
ことを特徴とする請求項4又は5記載の描画処理システム。 - 前記ドライバソフトは、
前記アプリケーションソフトがプレゼンテーションソフトであるか否かを判断するアプリケーションソフト判断手段を備え、
前記背景オブジェクト判断手段による前記判断、及び、該背景オブジェクト判断手段によって前記背景オブジェクトと判断された場合における該背景オブジェクト描画後の前記特殊画像描画手段による前記特殊画像の描画は、前記アプリケーションソフト判断手段によって前記アプリケーションソフトがプレゼンテーションソフトであると判断された場合に実行される
ことを特徴とする請求項6記載の描画処理システム。 - 当該描画処理システムは、前記背景オブジェクト判断手段による前記判断、及び、該背 景オブジェクト判断手段によって前記背景オブジェクトと判断された場合における該背景オブジェクト描画後の前記特殊画像描画手段による前記特殊画像の描画を実行させるか否かを、外部から指示できるよう構成されており、
前記ドライバソフトは、前記外部からの指示が前記実行させるべき旨のものである場合に、前記背景オブジェクト判断手段による前記判断、及び、前記背景オブジェクト描画後の前記特殊画像描画手段による前記特殊画像の描画を実行させる
ことを特徴とする請求項6記載の描画処理システム。 - 前記ドライバソフトは、
前記オブジェクト描画手段及び前記特殊画像描画手段により描画された、前記特殊画像を含む前記1ページの画像を、その画像を構成する各オブジェクトをその描画順序に従ってそれぞれ対応するオブジェクトレコードに再び変換することにより、そのオブジェクトレコードからなるレコードファイルを生成するレコードファイル加工手段と、
前記レコードファイル加工手段により生成されたレコードファイルを構成する前記各オブジェクトレコードを、前記描画順序に従ってページ記述言語データ又はラスタデータに変換する変換手段と、
を備えたことを特徴とする請求項4〜8いずれかに記載の描画処理システム。 - 前記オブジェクト描画手段は、前記レコード取り込み手段が取り込んだオブジェクトレコードをページ記述言語データ又はラスタデータに変換することにより前記オブジェクトの描画を実現するよう構成され、
前記特殊画像描画手段は、描画対象の前記特殊画像をページ記述言語データ又はラスタデータに変換することにより前記特殊画像の描画を実現するよう構成されている
ことを特徴とする請求項4〜8いずれかに記載の描画処理システム。 - 前記特殊画像はビットマップ形式であることを特徴とする請求項4〜10いずれかに記載の描画処理システム。
- アプリケーションソフトと共に情報処理装置上で実行され、該アプリケーションソフトが生成した、1ページの画像に対応するものであって少なくともビットマップ形式のビットマップオブジェクトを含む1又は複数のオブジェクトの各々を表すオブジェクトレコードが所定の順序で並べられたレコードファイルに対し、所定の描画処理を行うためのドライバプログラムであって、
前記情報処理装置を、
前記アプリケーションソフトにより生成されたレコードファイルから前記所定の順序で前記オブジェクトレコードを取り込むレコード取り込み手段、
前記レコード取り込み手段が前記オブジェクトレコードを取り込む毎に該取り込んだオブジェクトレコードを解析して対応する前記オブジェクトを描画することにより前記1ページの画像を描画するオブジェクト描画手段、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが背景を表すものであって且つビットマップ形式である背景オブジェクトであるか否かを判断する背景オブジェクト判断手段、
前記レコード取り込み手段が取り込んだオブジェクトレコードに対応するオブジェクトが前記背景オブジェクト判断手段によって前記背景オブジェクトと判断された場合、前記オブジェクト描画手段によるその背景オブジェクトの描画後に前記特殊画像を描画する特殊画像描画手段、
として機能させ、
前記背景オブジェクト判断手段は、前記背景を表すものであるか否かの判断を、アプリケーションソフトが有するデータであって該アプリケーションソフトが背景を表すオブジェクトを生成する際に使用する背景データの所在情報に従って、前記背景データを参照し 、前記判断対象のオブジェクトが前記背景データを基に生成されたものであるか否かを判断することにより行う
ことを特徴とするドライバプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003122127A JP4134807B2 (ja) | 2003-04-25 | 2003-04-25 | 特殊画像付加方法、描画処理システム、及びドライバプログラム |
US10/830,083 US7734057B2 (en) | 2003-04-25 | 2004-04-23 | Data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003122127A JP4134807B2 (ja) | 2003-04-25 | 2003-04-25 | 特殊画像付加方法、描画処理システム、及びドライバプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004328486A JP2004328486A (ja) | 2004-11-18 |
JP4134807B2 true JP4134807B2 (ja) | 2008-08-20 |
Family
ID=33296589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003122127A Expired - Fee Related JP4134807B2 (ja) | 2003-04-25 | 2003-04-25 | 特殊画像付加方法、描画処理システム、及びドライバプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7734057B2 (ja) |
JP (1) | JP4134807B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4791710B2 (ja) * | 2004-06-24 | 2011-10-12 | セイコーエプソン株式会社 | 印刷装置、プログラム、印刷システムおよび印刷制御方法 |
JP4596156B2 (ja) * | 2005-08-11 | 2010-12-08 | ブラザー工業株式会社 | 情報処理装置及びプログラム |
JP4845983B2 (ja) * | 2005-12-01 | 2011-12-28 | キヤノン株式会社 | 情報処理装置および情報処理方法 |
DE102005063136B3 (de) * | 2005-12-30 | 2007-07-05 | Siemens Ag | Verfahren und Vorrichtung zum Generieren eines markierten Datenstroms, Verfahren und Vorrichtung zum Einfügen eines Wasserzeichens in einen markierten Datenstrom und markierter Datenstrom |
JP4630847B2 (ja) * | 2006-06-09 | 2011-02-09 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
TW200815210A (en) * | 2006-08-22 | 2008-04-01 | Toppan Printing Co Ltd | Printed matter, image processing apparatus, authenticity determination apparatus for printed matter, image processing method, authenticity determination method for printed matter, and recording medium for recording program |
CN101989185A (zh) * | 2009-07-30 | 2011-03-23 | 鸿富锦精密工业(深圳)有限公司 | 通过电子书阅读器打印电子书的方法 |
WO2012008008A1 (ja) * | 2010-07-12 | 2012-01-19 | 富士通株式会社 | 情報処理システム |
JP6455392B2 (ja) | 2015-10-20 | 2019-01-23 | 京セラドキュメントソリューションズ株式会社 | プログラム及び情報処理装置 |
CN107155057A (zh) * | 2016-03-06 | 2017-09-12 | 刘晓建 | 电子设备快速拍摄带水印照片的方法 |
JP7158895B2 (ja) | 2018-05-28 | 2022-10-24 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974548A (en) * | 1996-07-12 | 1999-10-26 | Novell, Inc. | Media-independent document security method and apparatus |
JP3780103B2 (ja) * | 1997-09-03 | 2006-05-31 | キヤノン株式会社 | 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム |
JP4336397B2 (ja) * | 1998-03-25 | 2009-09-30 | キヤノン株式会社 | 画像処理装置及び方法及び記憶媒体 |
-
2003
- 2003-04-25 JP JP2003122127A patent/JP4134807B2/ja not_active Expired - Fee Related
-
2004
- 2004-04-23 US US10/830,083 patent/US7734057B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7734057B2 (en) | 2010-06-08 |
US20040213432A1 (en) | 2004-10-28 |
JP2004328486A (ja) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7839531B2 (en) | Printing control method | |
JP4468404B2 (ja) | 情報処理装置の制御方法、情報処理装置及びプログラム | |
JP5072739B2 (ja) | 画像形成システム、画像形成装置、及び画像処理装置 | |
JP2010020468A (ja) | 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体 | |
JP4134807B2 (ja) | 特殊画像付加方法、描画処理システム、及びドライバプログラム | |
JP2004126871A (ja) | 印刷制御方法および装置 | |
JP2005210395A (ja) | 画像変換装置および画像変換プログラム | |
JPH10243210A (ja) | 画像処理装置及びその方法 | |
JP2009188816A (ja) | プリンタドライバおよび画像形成装置 | |
US8537388B2 (en) | Information processing apparatus for image processing on a character stamp by embedding an image rendering a character string of a stamp | |
JP2007011735A (ja) | 情報処理装置および印刷制御方法およびプログラムおよび記録媒体 | |
JP4921335B2 (ja) | ドキュメント処理装置及び検索方法 | |
JP4684857B2 (ja) | システム及び画像処理装置及び画像処理装置の制御方法及びプログラム及び記憶媒体 | |
JP5644214B2 (ja) | 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム | |
JP2010009216A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US7710602B2 (en) | Systems and methods for context-based adaptive image processing using segmentation | |
JP4461361B2 (ja) | 描画処理方法およびプログラム並びに描画命令出力装置および画像形成装置 | |
JP6234417B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP2013120401A (ja) | 画像処理装置 | |
JP6437076B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP4100912B2 (ja) | 情報処理装置及びその制御方法、プログラム並びに記憶媒体 | |
CN109218556A (zh) | 进行绘制处理的图像处理装置、绘制处理方法和存储介质 | |
JP2011170850A (ja) | 情報処理装置及びその制御方法 | |
JP2002133429A (ja) | 描画情報処理装置および描画情報処理方法、記憶媒体 | |
JP5277771B2 (ja) | 画像形成装置、印刷制御プログラム、及びそのプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4134807 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |