(57)【特許請求の範囲】
【請求項１】
グラフィックスレンダラを使用してプリントドライバ内でＭＲＣイメージを形成するコンピュータ実行方法であって、
前記ＭＲＣイメージとしてファイルを生成するためにアプリケーションからＭＲＣファイルの作成を開始するコマンドを受け取るステップと、
コンテンツを前景レイヤ、セレクタレイヤ及び背景レイヤに分離するためのグラフィックス呼出しを行うステップと、
前記セレクタレイヤを生成するステップと、
組み合わされた前景／背景レイヤを生成するステップと、
前記呼出しの１つが前景生成呼出しであるか背景生成呼出しであるかを判定し、前景生成呼出しの場合には前記セレクタレイヤ及び前記組み合わされた前景／背景レイヤをレンダリングし、背景生成呼出しの場合には前記組み合わされた前景／背景レイヤをレンダリングするステップと、
前記呼出しについてデータノードを作成し、各データノードを背景要素リストまたは前景要素リストに加えるステップと、
前記背景／前景要素リスト内のイメージが重なり合うか否かを判定し、重なり合う場合にはイメージを組み合わせ、重なり合わない場合にはイメージをセレクタリストに加えるステップと、
レイヤあたりのイメージの数を減らすように試みるステップと、
前記各リストを処理し、各レイヤをレンダリングしてレイヤごとにイメージを作成するステップと
を備えたことを特徴とする方法。
【請求項２】
グラフィックスレンダラを使用してＭＲＣファイルを複合イメージにレンダリングするコンピュータ実行方法であって、
前記複合イメージ内のピクセルすべてについて、前記ピクセルがセレクタレイヤ内にあるかどうか判定するステップと、
前記ピクセルが前記セレクタレイヤ内にある場合に前記ピクセルが白色かどうか判定するステップと、
前記ピクセルが前記セレクタレイヤ内にない場合に前記ピクセルが、前記前景レイヤ内にあるかどうか判定するステップと、
前記ピクセルが白色でない場合に前記ピクセルが前景レイヤ内にあるかどうか判定するステップと、
前記各判定により、前記ピクセルが前記セレクタレイヤ内にあり、前記ピクセルが前記セレクタレイヤ内で白色でなく、前記ピクセルが前記前景レイヤ内にあると決定されたとき、前記前景レイヤ内の前記ピクセルの色を使用して前記複合イメージ内の対応するピクセルをペイントするステップと、
前記各判定により、前記ピクセルが前記セレクタレイヤ内にあり、前記ピクセルが前記セレクタレイヤ内で白色でなく、前記ピクセルが前記前景レイヤ内にないと決定されたとき、前記セレクタレイヤ内の前記ピクセルの色を使用して前記複合イメージ内の対応するピクセルをペイントするステップと、
前記各判定により、前記ピクセルが前記セレクタレイヤ内になく、前記ピクセルが前記前景レイヤ内にあると決定されたとき、前記前景レイヤ内の前記ピクセルの色を使用して前記複合イメージ内の対応するピクセルをペイントするステップと、
前記各判定により、前記ピクセルが前記セレクタレイヤ内になく、前記ピクセルが前記前景レイヤ内にないと決定されたとき、前記背景レイヤ内の前記ピクセルの色を使用して前記複合イメージ内の対応するピクセルをペイントするステップと、
を備えたことを特徴とする方法。
【請求項３】
請求項１に記載の方法を実行させるためのプログラムが記憶されたコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項２に記載の方法を実行させるためのプログラムが記憶されたコンピュータ読み取り可能な記録媒体。
【請求項５】
グラフィックスレンダラを使用して複合イメージをレンダリングするコンピュータ実行方法であって、
レイヤの各イメージについて、背景レイヤ、前景レイヤおよびセレクタレイヤのそれぞれのレイヤ内で境界領域を決定するステップと、
第１のリストが、それぞれのレイヤのイメージ間で重畳のない領域を反映し、第２のリストが、セレクタレイヤが前景レイヤ領域と重なり合わない領域を反映し、第３のリストが、セレクタレイヤ領域および前景レイヤ領域だけ重なり合う領域を反映し、第４のリストが、背景レイヤ領域、セレクタレイヤ領域、前景レイヤ領域が重なり合う領域を反映する、少なくとも４つのリストを生成するステップと、
複合イメージをデフォルト背景色を塗潰すステップと、
前記前景レイヤ領域が前記第１のリスト内に存在するとき、前記複合イメージを前記第１のリストからの前記前景レイヤ領域で塗り潰し、そうでない場合には、前記複合イメージを前記背景レイヤ領域で塗り潰すステップと、
前記第２のリストが白色でないセレクタレイヤ領域を含むとき、前記複合イメージを前記第２のリストからの前記セレクタレイヤ領域で塗り潰すステップと、
前記第３のリストが白色でないセレクタレイヤ領域を含むとき、前記複合イメージを前記第３のリストからの前記セレクタレイヤ領域で塗り潰し、そうでない場合には、前記複合イメージを前記前景レイヤ領域で塗り潰すステップと、
前記セレクタレイヤ領域が白色でないとき、前記複合イメージを前記前景レイヤ領域で塗り潰し、そうでない場合には、前記複合イメージを前記背景レイヤ領域で塗り潰すステップと、
を備えたことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明の態様は、ファイルの生成および使用を対象とする。より詳細には、本発明は、ラスタ形式の内容が混合されたファイルの生成および使用に関する。
【０００２】
【従来の技術】
インターネットの成長と共に、改変できないファイルの使用が増加している。文書を公表するための１つの標準的なファイルフォーマットは、Adobe Acrobatファイルフォーマットである（一般に、拡張子.PDFを伴う）。他のファイルフォーマットには、ＪＰＥＧファイルおよびビットマップファイルが含まれる。これらのファイルの恩恵は、文書が改変される懸念を最小限に抑えて、これらのファイルフォーマットを使用してインターネット上で情報を交換することができることである。
【０００３】
一般に使用されているもう１つのファイルフォーマットが、ラスタ形式の内容が混合された（Mixed Raster Content）ファイル（以下、ＭＲＣファイルという）である。このファイルフォーマットは、イメージをサイズの等しい３つのイメージに分離し、それらを様々な解像度で、また場合によっては、様々な圧縮率または圧縮技術を用いて記憶する。図２は、ＭＲＣファイルを生成するための典型的なプロセスを示す。イメージジェネレータ３０１は、ソースイメージ３０２を出力する。ソースイメージ３０２は、３００ｄｐｉの画像解像度を有する。ソースイメージ３０２は、分離プロセス３０３によって３つの別個のイメージ３０４〜３０６に分離される。３つの別個のイメージは、白黒（Ｂ／Ｗ）マスクイメージ３０４、前景イメージ３０５、背景イメージ３０６を含む。３つのイメージ３０４〜３０６は、ソースイメージ３０２と同じ寸法（ｘ、ｙ）を有する。図２に示すように、３つのイメージ３０４〜３０６の解像度は、それぞれ３００ｄｐｉ、３００ｄｐｉ、１００ｄｐｉと示されている。３つのイメージは、様々な圧縮技術により、様々な割合で圧縮プロセス３０７によって選択的に圧縮することができる。
【０００４】
【発明が解決しようとする課題】
ソースイメージ３０２を様々な他のファイル３０４〜３０６に分解することができる恩恵にもかかわらず、ＭＲＣファイルは、当技術分野で周知のように、分解プロセス（分離プロセス３０３）が長い。分離プロセス３０３は、イメージの構成要素すべてを解析し、ファイル３０４〜３０６のそれぞれに含めるために特徴を分離するように試みる。長い遅延を伴うことなしにＭＲＣファイルを生成することが求められている。
【０００５】
また、複合ファイル３０４〜３０６は、大きいがコンテンツをほとんど有していないことがある。図３は、単純な従来のＭＲＣファイルを示す。このファイルには、背景レイヤ４０１、セレクタレイヤまたは白黒すなわちＢ／Ｗマスクレイヤ４０２、および前景レイヤ４０３を含む３つのレイヤが含まれる。例示のために、３つのレイヤ（４０１〜４０３）を組み合わせたとき得られるイメージとして、複合イメージ４１１を示す。当技術分野で周知のように、背景レイヤは、１ピクセル当たりのカラーデプス２４ビット／ピクセル（２４ｂｐｐ）を有し、セレクタレイヤは、１ピクセル当たりのカラーデプス１ｂｐｐを有し、前景レイヤは、カラーデプス２４ｂｐｐを有する。
【０００６】
各レイヤは、１つのイメージを含む。各イメージは、同じ寸法（ｘ、ｙ）である（図２および３参照）。例えば、背景レイヤ４０１は、中央にコンテンツ４０４を有する１つのイメージを含む。セレクタレイヤ４０２は、３組のコンテンツ４０５〜４０７を有する１つのイメージを含む。コンテンツ４０５は、黒色のテキストを表すように意図された「黒色テキスト」である。コンテンツ４０６は、「カラーテキストＡ」であり、複合イメージ４１１内で色Ａを有するテキストであるが、セレクタレイヤ４０２内では黒色テキストとして表されている。なぜならば、セレクタレイヤ４０２がカラーデプス１ｂｐｐを有するだけだからである。同様に、コンテンツ４０７は「カラーテキストＢ」であり、複合イメージ４１１内で色Ｂを有するテキストであるが、セレクタレイヤ４０２内では黒色テキストである。前景レイヤ４０３は、黒色４０８、色Ａ４０９、色Ｂ４１０を含む３組のカラーパレットを含む。図３のＭＲＣファイルに伴う問題は、著しい未使用空間の量である。未使用空間は、各レイヤの基礎となるイメージサイズを増大する。この未使用空間は、符号化段階、復号化段階、複合化段階に必要とされる時間を増大する。また、未使用空間がコンテンツと組み合わされることにより、レイヤの圧縮が不十分となる。従って、複合ファイル３０４〜３０６内の未使用空間を最小限に抑えることが求められている。
【０００７】
【課題を解決するための手段】
本発明の態様は、上述の１または複数の必要性に対処するために、ＭＲＣファイルの生成および使用を対象とする。いくつかの態様では、分離プロセスによって処理する必要なしに、ＭＲＣファイルをプリントドライバによって生成する。他の実施形態では、ＭＲＣファイルの各レイヤが、１または複数のイメージ（またはサブイメージ）を含み、各レイヤを包含する単一のイメージより効率的な圧縮を可能にすることができる。これら様々な態様は、別々に、または組み合わせて使用することができる。
【０００８】
本発明のこれら、および他の特徴は、以下、様々な実施形態の詳細な説明を考察したとき明らかになろう。
【０００９】
前述の本発明の概要、ならびに以下の好ましい実施形態の詳細な説明は、特許請求する発明に関して限定的なものではなく、例示的なものとして含まれる添付の図面と併せ読めば、よりよく理解できよう。
【００１０】
【発明の実施の形態】
以下の説明は、ＭＲＣファイルを対象とする。開示されている概念や手法は他のファイル種類に適用することができることを理解されたい。また、様々なプロセスをも開示する。これらのプロセスは、使用することができる例として提供されており、改良されたＭＲＣファイルを生成するまたは使用するための様々なプロセスの唯一の表現とはみなさない。さらに、セレクタレイヤのピクセル色は、概して白黒と呼ばれる。セレクタレイヤは、カラーデプス１ビット／ピクセルを有することができるだけであり、従ってオンまたはオフ（すなわち色状態１および色状態０）としてピクセルを有することができるだけであることを理解されたい。白黒は、術語を単純化するために使用されている。しかし、その代わりに任意の色（例えば、深紅と青緑）または「オン／オフ」などを使用することができるであろう。
【００１１】
図１は、本発明の様々な態様を実施するために使用することができる従来の汎用デジタルコンピューティング環境の概略図を示す。図１では、コンピュータ１００が、処理装置１１０、システムメモリ１２０、さらにシステムメモリを含む様々なシステム構成要素を処理装置１１０に結合するシステムバス１３０を含む。システムバス１３０は、メモリバスまたはメモリコントローラ、周辺バス、様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかの種類のバス構造のいずれかとすることができる。システムメモリ１２０は、読出し専用メモリ（ＲＯＭ）１４０およびランダムアクセスメモリ（ＲＡＭ）１５０を含む。
【００１２】
起動中などコンピュータ１００内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１６０は、ＲＯＭ１４０内に記憶されている。コンピュータ１００はまた、ハードディスク（図示せず）との間で読み取り／書込みを行うためのハードディスクドライブ１７０と、取外し式磁気ディスク１９０から読み取る、または取外し式磁気ディスクに書き込むための磁気ディスクドライブ１８０と、ＣＤ−ＲＯＭまたは他の光媒体など、取外し式光ディスク１９２から読み取る、または取外し式光ディスクに書き込むための光ディスクドライブ１９１とを含む。ハードディスクドライブ１７０、磁気ディスクドライブ１８０、光ディスクドライブ１９１は、それぞれハードディスクドライブインターフェース１７１、磁気ディスクドライブインターフェース１９３、光ディスクドライブインターフェース１９４によってシステムバス１３０に接続されている。ドライブとその関連するコンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ１００の他のデータの不揮発性記憶を実現する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）など、コンピュータによってアクセス可能なデータを記憶することができる他の種類のコンピュータ読み取り可能媒体をもまた、例示的な動作環境内で使用することができることを当業者なら理解するであろう。
【００１３】
オペレーティングシステム１９５、１または複数のアプリケーションプログラム１９６、他のプログラムモジュール１９７、プログラムデータ１９８を含む、いくつかのプログラムモジュールを、ハードディスクドライブ１７０、磁気ディスク１８０、光ディスク１９２、ＲＯＭ１４０またはＲＡＭ１５０に記憶することができる。ユーザは、キーボード１０１やポインティングデバイス１０２など、入力デバイスを介して、コマンドや情報をコンピュータ１００内に入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星用パラボラアンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバスに結合されたシリアルポートインターフェース１０６を介して処理装置１１０に結合されるが、パラレルポート、ゲームポート、またはＵＳＢ（Universal Serial Bus）など他のインターフェースによって接続することもできる。さらに、これらのデバイスは、適切なインターフェース（図示せず）を介してシステムバス１３０に直接結合することができる。モニタ１０７または他の種類のディスプレイデバイスをもまた、ビデオアダプタ１０８などインターフェースを介して、システムバス１３０に接続することができる。モニタに加えて、パーソナルコンピュータは一般に、スピーカやプリンタなど、他の周辺出力デバイス（図示せず）を含む。いくつかの実施形態では、フリーハンド入力をデジタルで取り込むために、ペンデジタイザ１６５とそれに伴うペンまたはスタイラス１６６が設けられる。ペンデジタイザ１６５とシリアルインターフェースポート１０６間の接続が示されているが、実際には、当技術分野で周知のように、パラレルポートまたは他のインターフェースおよびシステムバス１３０を介して、処理装置１１０にペンデジタイザ１６５を直接結合することができる。さらに、デジタイザ１６５はモニタ１０７から離れて示されているが、デジタイザ１６５の使用可能な入力領域は、モニタ１０７の表示領域と同一の広がりを有することができる。さらに、デジタイザ１６５は、モニタ１０７内に一体化することも、モニタ１０７を覆う、またはそうでない場合にはモニタ１０７に添付された別個のデバイスとして存在することもできる。
【００１４】
コンピュータ１００は、遠隔コンピュータ１０９など、１または複数遠隔コンピュータへの論理接続を使用して、ネットワーク環境内で動作することができる。遠隔コンピュータ１０９は、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードとすることができ、図１では、メモリ記憶デバイス１１１が示されているだけであるが、一般にコンピュータ１００に関係して上述した要素の多数またはすべてを含む。図１に示された論理接続は、ローカルエリアネットワーク（ＬＡＮ）１１２および広域ネットワーク（ＷＡＮ）１１３を含む。そのようなネットワーク環境は、事務所、全社コンピュータネットワーク、イントラネット、およびインターネットである。
【００１５】
ＬＡＮネットワーク環境内で使用するとき、コンピュータ１００は、ネットワークインターフェースまたはアダプタ１１４を介してローカルエリアネットワーク１１２に接続される。ＷＡＮネットワーク環境内で使用するとき、パーソナルコンピュータ１００は一般に、インターネットなど広域ネットワーク１１３の上で通信を確立するためのモデム１１５または他の手段を含む。内蔵または外部とすることができるモデム１１５は、シリアルポートインターフェース１０６を介してシステムバス１３０に接続される。ネットワーク環境では、パーソナルコンピュータ１００に関係して示されたプログラムモジュール、またはその一部分を、遠隔メモリ記憶デバイス内に記憶することができる。
【００１６】
図のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するために他の技法を使用することができることを理解されたい。TCP/IP、Ethernet（登録商標）、FTP、HTTPなど、様々な周知のプロトコルのいずれかが存在することを想定しており、システムは、ユーザがウェブベースのサーバからウェブページを取り出せるように、クライアント・サーバ構成で動作することができる。様々な従来のウェブブラウザのいずれかを使用して、ウェブページ上のデータを表示し、かつ操作することができる。
【００１７】
図４は、本発明の態様に従ってＭＲＣファイルを作成するプロセスを示す。イメージジェネレータ５００（例えば、ペイントプログラム、ワードプロセッサプログラム、ウェブパブリッシングシステムなど）は、図２のプロセス３０３を介して変換する（すなわち分離する）ことを必要とする複合イメージを出力することなく、ＭＲＣファイル（セレクタレイヤ５０２、前景レイヤ５０３、背景レイヤ５０４の３つのレイヤ）のコンテンツを出力する。この出力は、グラフィックスレンダリングエンジン５０１（例えば、ワシントン州レドモンドのMicrosoft Corporationから入手可能なGDI API）への呼出しを含むことができる。他のグラフィックスレンダラ５０１を使用することもできる。別法として、レンダリングは、イメージジェネレータ５００内で完全に行うことができる。最後に、任意選択で、選択圧縮エンジン５０５によってＭＲＣファイルを圧縮することができる。圧縮は、破線の囲みによって示されているように、任意選択である。
【００１８】
図５は、本発明の態様によるＭＲＣファイルの一例を示す。ＭＲＣファイルは、背景レイヤ６０１、セレクタレイヤ６０２、前景レイヤ６０３の３つのレイヤを含む。複合イメージ６０４は、例示のために示されている。背景レイヤは、コンテンツ６０５を含む。背景コンテンツ６０５は、複合イメージ６０４のサイズのイメージによって表すことができる。別法として、背景コンテンツは、複合イメージ６０４のサイズより小さい境界の矩形を有するイメージによって表すことができる。セレクタレイヤ６０２は、フォント色Ａを有するテキストによって表される「カラーテキストＡ」によって表されるコンテンツ６０６を含む。セレクタレイヤ６０２は、コンテンツ６０６を黒色テキストとして表す。前景レイヤ６０３は、黒色テキスト６０７、色Ａのカラー矩形６０８、およびフォント色Ｂの「カラーテキストＢ」としてコンテンツ６０９を含む。カラー矩形６０８は、いくつかの場合に省略することができる。例えば、テキストが均一な色を有し、セレクタレイヤと背景レイヤの組合せによって表すことができる場合である。コンテンツ６０７〜６０９は、複合イメージ６０４のサイズの単一イメージとして表すことができる（上記の同一サイズの説明と同様）。別法として、コンテンツ６０７〜６０９は、２つ以上のイメージ（またはサブイメージ）によって表すことができる。イメージは、コンテンツ６０７〜６０９のそれぞれを囲む境界領域（当技術分野で周知の矩形または他の形状）によって画定することができる。
【００１９】
図５に示すように、セレクタレイヤ６０２は、前景イメージが背景イメージに重なり合うように使用される。ここで、コンテンツをセレクタレイヤから前景レイヤにプッシュすることにより、レンダリングタスクがより速くなる。なぜならば、前景コンテンツと背景コンテンツが重なり合わないとき、チェックし、かつ選択またはアルファブレンディングを実行する必要がないためである。別の態様は、セレクタレイヤ内の２値画像および前景レイヤ内のカラーイメージとして記憶する代わりに、均一なカラーテキストやいくつかの線図を、適切なカラーパレットと共に前景レイヤ内の２値画像として記憶することである。コンテンツをセレクタレイヤから前景レイヤ内にプッシュすることにより、圧縮およびレンダリング性能が向上すると考えられている。
【００２０】
セレクタレイヤと背景レイヤがあり、前景レイヤがない別の組合せが、図５に示されている。この場合、セレクタレイヤ内に白でないピクセルがあり前景レイヤ内に対応するピクセルがないとき、複合イメージのピクセルの色は、セレクタレイヤの色となる。この組合せは普通であり、レンダリング性能および圧縮を、背景レイヤ、セレクタレイヤ、前景レイヤの組合せより効率的にすることができる。
【００２１】
前景レイヤは、高いカラーデプスを有することができる（例えば、２４ｂｐｐ）。一実施形態では、前景レイヤ内のイメージすべてが、同じカラーデプスを有する。別法では、前景内のイメージが、１または複数のカラーデプスを有することができる。例えば、コンテンツ６０７がカラーデプス１ｂｐｐを有する一方、コンテンツ６０８および６０９が、２４ｂｐｐの異なるカラーデプスを有することができる。ある領域に関連付けられるべき実際の色を、高いカラーデプスより低いカラーデプスに基づいて定義できる状況が存在する。従って、さらに他の実施形態では、コンテンツ６０８がカラーデプス８ｂｐｐを有することができる一方、コンテンツ６０９が、１ｂｐｐおよび８ｂｐｐ以外のカラーデプスを有することができる（これには限らないが、２ｂｐｐ、４ｂｐｐ、１６ｂｐｐ、２４ｂｐｐ、３２ｂｐｐなどを含む）。カラーレンジを（レイヤ全体に対する事前設定ではなく）定義するのに必要な範囲でカラーデプスを使用することにより、１ピクセル当たりビット数を指定する不要な色を省略することによってより大幅なおよび／またはより効率的な圧縮、および／またはより高速な圧縮およびレンダリング性能が可能になる。
【００２２】
レイヤ内の各イメージまたはイメージの各集合体に基づいて、カラーデプスを定義できる能力は、背景レイヤにも適用可能である。
【００２３】
図６は、ＭＲＣファイルを別の形で表したものを示す。ここで、背景イメージ６１０は、「カラーテキストＣ」６１１および「黒色テキスト」６１２と組み合わされて複合イメージ６１３を形成している。各イメージ６１０、６１１、６１２は、複合イメージのサイズより小さい。この代替例では、イメージ６１０、６１１、６１２の組合せ合計が、複合イメージのサイズより小さい。
【００２４】
図７Ａは、本発明の態様に従ってＭＲＣファイルを作成するための例示的なプロセスを示す。このプロセスは、ステップ７０１でイメージ生成アプリケーションから始まる。最初に、ステップ７０２でテキストおよび線図が処理される。テキストおよび／または線図がある場合には、ステップ７０３でセレクタレイヤに加えられる。線またはテキストの色が、ステップ７０４で前景用の色領域を作成するために使用される。色領域は、矩形とすることも、ステップ７０２からのテキストおよび／または線の色を正しく指定するために前景レイヤ内で領域を画定するのに必要とされる他のどのような形状とすることもできる。次に、ステップ７０５でイメージファイル内にあるピクチャが処理され、ステップ７０６で背景レイヤに加えられる。
【００２５】
図７Ａの例は、デバイスドライバに送られたときアプリケーションから、またはスプールされたメタファイルから、イメージを直接処理することができることを示す。これに対して、ＭＲＣファイルを生成するための従来の手法は、元のままの複合ファイルをとり、分離プロセス３０３を介して様々な構成要素に分離する。分離プロセス３０３は、誤りを起こしやすく、イメージ分解プロセスを処理するためにかなりのリソースを消費する。しかし、図７Ａの例は、あるイメージの様々な構成要素を処理する一方、様々な構成要素が依然として別々にアドレス可能であるために、図７Ａの例は、分離プロセスなしにＭＲＣファイルを生成することを可能にする。
【００２６】
図７Ｂは、ＭＲＣファイルを作成するための代替プロセスを示す。ここでは、ステップ７０１においてグラフィックスレンダラが、ＭＲＣ生成プロセスを開始したとき、ステップ７０８において、関連イメージ領域と共にグラフィックス呼出しがリストされる。このリストは、各イメージ領域について以下の１または複数を含むことができる。
・境界領域
・グラフィックス出力の種類
・使用色。
【００２７】
次に、ステップ７０９において、イメージ領域がテキストまたは線図であった場合には、ステップ７０３においてイメージ領域がセレクタレイヤに加えられる。そうでない場合には、ステップ７１０において、イメージ領域が前景／背景レイヤに加えられる。どのようなイメージでも前景／背景レイヤに加えられ、前景／背景レイヤが文書を良好に表現する。
【００２８】
図８Ａおよび８Ｂは、図７Ａのステップ７０４について様々な任意選択を示す。図８Ａでは、テキストおよび線のフォントまたはブラシ色はそれぞれ、ステップ８０１で表され、ステップ８０３に渡される。また、ステップ８０２において１または複数の境界領域（矩形とすることも、テキストおよび／または線の境界を画定する他の形状とすることもできる）が決定され、ステップ８０３に渡される。ステップ８０１および８０２はどのような順序で行うこともでき、同時に処理することもできる。ステップ８０２で決定された領域が完全に塗り潰されている必要はないことをさらに理解されたい。例えば、円形の線図が円環状の境界領域を有することができる。ステップ８０３では、ステップ８０２によって決定された１または複数の領域が、前景レイヤ上で塗潰し領域として描かれる。
【００２９】
図８Ｂは、ステップ７０４の別の代替を示す。最初に、セレクタレイヤ８０４内の各ピクセルが走査される。ピクセルがステップ８０５で決定された黒色である場合には、ステップ８０６において、背景ピクセルの色を使用して対応する前景ピクセルの色を塗り潰す。走査ステップ８０４は、セレクタレイヤ全体の各ピクセルを包含することができる。
【００３０】
別法として、セレクタレイヤは、コンテンツを含むイメージに分解することができるため、ステップ８０４によりセレクタレイヤ内のイメージを走査するだけとすることができる。イメージによって消費されないセレクタレイヤの領域は、コンテンツを含まないため、これらの領域をステップ８０４でスキャンしないことになる。
【００３１】
本発明の別の態様では、ＭＲＣファイルの構成が修正される。図９Ａは、図６のＭＲＣファイルから複合イメージをレンダリングする例示的なプロセスを示す。ステップ９０１では、システムが、様々なＭＲＣレイヤから複合イメージの構築を開始する。ステップ９０２において、複合イメージ内のピクセルすべてについて、ピクセルがセレクタレイヤ内にあるかどうか判定される。ある場合には、ステップ９０５においてシステムは、セレクタレイヤ内のピクセルが白色かどうか判定する。ピクセルが白色の場合には、ステップ９０６においてシステムは、背景レイヤ内にピクセルがあるかどうかチェックする。背景レイヤ内にピクセルがない場合には、ステップ９０９においてデフォルト背景色が使用され、そうでない場合には、ステップ９１０において背景レイヤ内の対応するピクセルからその色が使用される。
【００３２】
ステップ９０５から、セレクタレイヤ内のピクセルが白色でない場合には、ステップ９０７においてシステムは、前景レイヤ内にピクセルがあるかどうかチェックする。前景レイヤ内にピクセルがない場合には、ステップ９０８において、セレクタレイヤ内のピクセルの色が使用される。ステップ９０７において前景レイヤ内にピクセルがある場合には、ステップ９０４において前景レイヤ内の対応するピクセルからその色が使用される。
【００３３】
ステップ９０２から、セレクタレイヤ内にピクセルがない場合には、ステップ９０３においてシステムは、前景レイヤ内にピクセルがあるかどうか判定する。前景レイヤ内にピクセルがある場合には、ステップ９０４においてシステムは、前景レイヤ内の対応するピクセルからその色を使用する。そうでない場合には、ステップ９０６でシステムが、背景レイヤ内にピクセルがあるかどうか判定し、上述のように進む。
【００３４】
ステップ９０２において決定されたようにセレクタレイヤ内にピクセルがない場合には、ステップ９０３においてシステムは、前景レイヤ内に対応するピクセルがあるかどうか判定する。ない場合には、背景レイヤ内の対応するピクセルからその色が使用される（ステップ９０６）。背景イメージ内に対応するピクセルがない場合には、デフォルトのピクセル色を使用する（例えば、白色または灰色またはさらに透明と指定する）ことができる。ステップ９０３の結果が「はい」の場合には、前景レイヤ内の対応するピクセルからその色が使用される（ステップ９０４）。
【００３５】
図９Ｂは、複数のレイヤを複合イメージの形に組み合わせるためのプロセスを示す。９０１の「スタート」からシステムは、レイヤのコンテンツについて境界矩形または他の形状を得る。次に、システムは４つのリストを計算する。第１のリスト（NOL_FGBG）は、前景がセレクション領域と重なり合わない領域、および背景が前景領域と重なり合わない領域を表す。第２のリスト（SEL）は、セレクション領域が前景領域と重なり合わない領域を表す。第３のリスト（SELFG）は、セレクション領域および前景領域だけ重なり合う領域を表す。第４のリスト（BGFGSEL）は、背景レイヤ、セレクタレイヤ、前景レイヤすべてが重なり合う領域を表す。
【００３６】
次に、ステップ９１３において、複合イメージがデフォルト背景色で塗り潰される。各リストは、ステップ９１４〜９１７において処理される。ステップ９１４において、前景領域があるとき、第１のリスト（NOL_FGBG）内の各領域は、前景イメージで塗り潰される。そうでない場合には、この領域は、背景イメージで塗り潰される。
【００３７】
ステップ９１５において、セレクタレイヤ内のピクセルが白色のとき、第２のリスト（SEL）内の各領域について複合イメージの修正は行われない。そうでない場合には、セレクタレイヤ内のピクセルからその色の値が使用される。
【００３８】
ステップ９１６において、セレクタレイヤ内のピクセルが白色のとき、第３のリスト（SELFG）内の各領域について複合イメージに修正は加えられない。そうでない場合には、前景レイヤ内のピクセルの色が使用される。
【００３９】
ステップ９１７において、セレクタレイヤ内のピクセルが白色の場合、第４のリスト（BGFGSEL）内の各領域について背景の色が使用される。そうでない場合には、前景内のピクセルの色が使用される。
【００４０】
図１０は、ＭＲＣファイルを作成する別の例示的なプロセスを示す。図１０に示すプロセスは、図６のＭＲＣファイルを生成する。このプロセスは、プロセスが開始されるステップ１００１で始まる。一例では、ステップ１０００は、ＭＲＣファイルを印刷するためのコマンドの受信とすることができる。ステップ１０００は、アプリケーションの一部、アプリケーションによって呼び出されるグラフィックスツールボックスの一部とすることも、ＭＲＣファイルの作成を開始する多数の他の方法とすることもできるため、ステップ１０００は、破線の囲みで示されている。
【００４１】
簡単にするため、以下はプリントドライバ内でＭＲＣファイルを作成することに関連して述べる。以下は、イメージ操作のための様々な呼出しを露出させるGDI API（Microsoft Corporationから入手可能なWINDOWS（登録商標）オペレーティングシステム内で使用可能）への参照を含む。LINUXおよびAppleベースのシステムを含むオペレーティングシステムは、様々な呼出しに対して変形形態を有することを理解されたい。従って、オペレーティングシステムおよびプリントドライバすべてが本開示の範囲によって包含されることを意図しているため、ＧＤＩ呼出しへの参照は制限しないものとし、例示のためにすぎない。
【００４２】
ＧＤＩを使用してプリントドライバを構築するために、いくつかの呼出しを使用することができる。以下は、コンテンツを様々なレイヤに分離するのを助けるいくつかの呼出しについて述べる。この呼出しは、概してDrvXXX GDI APIと説明することができる。具体的には、以下を含む。
・DrvCopyBits
・DrvBitBlt
・DrvStretchBlt
・DrvStrokePath
・DrvFillPath
・DrvStrokeAndFillPath
・DrvLineTo
・DrvTextOut
・DrvAlphaBlend
・DrvGradientFill
・DrvPlgBlt
・DrvStretchBltROP
・DrvTransparentBlt。
【００４３】
これらの呼出しは、以下のように前景生成メソッドと背景生成メソッドに分けられる。
・前景生成メソッド
・DrvStrokePath
・DrvLineTo
・DrvTextOut
・DrvBitBlt
・背景生成メソッド
・DrvCopyBits
・DrvBitBlt
・DrvStretchBlt
・DrvAlphaBlend
・DrvGradientFill
・DrvPlgBlt
・DrvStretchBltROP
・DrvTransparentBlt
・DrvFillPath
・DrvStrokeAndFillPath。
【００４４】
グラフィックスレンダラは、時間の経過につれて変化することを理解されたい。従って、上記のリストは、例示のために提供されている。他の呼出しを使用することができ、または当業者なら他の呼出しを想到するであろうこと、他の呼出しを上記で述べたグラフィックス呼出しの範囲内にあるとみなすことを理解されたい。
【００４５】
説明のために、印刷プロセスを２段階に分けることができる。これら２つの段階は、図１０の左半分と右半分によって表されている。第１段階の間に、ステップ１００１において、２つのビットマップバッファが作成される。この２つのビットマップは、セレクタレイヤと、背景／前景組合せレイヤである。この組合せレイヤをBGFG_SURFACEと称することができ、セレクタレイヤをSEL_SURFACEと称することができる。ビットマップは、共にページ全体を包含する。ステップ１００２においてシステムは、受け取った呼出しの１つが前景生成DrvXXX呼出しであったかどうか判定する。別法として、ブラシがべたの色であり、様々なラスタオペレーションを使用しているとき、BitBlt呼出しではなく、FillPathおよびStrokeAndFillPath呼出しを使用することができる。「はい」の場合には、ステップ１００４において、BGFG_SURFACEおよびSEL_SURFACE別々に対応するEngXXX呼出し（GDI APIの一部）を使用することにより、BGFG_SURFACE上とSEL_SURFACE上でレンダリングする。呼出しが背景生成DrvXXX呼出しであった場合には（判断ステップ１００２から「いいえ」と表されている）、ステップ１００６において、ＧＤＩツールボックスから対応するEngXXX呼出しを使用してBGFG_SURFACE上でレンダリングする。
【００４６】
また、各DrvXXX呼出しについて、以下の情報の少なくともいくつかを含むデータノードが作成される。
・DrvXXX呼出しによって影響を及ぼすことができる境界矩形または境界領域
・DrvTextOut呼出しについてテキストの、また線図について色の値
・DrvXXX呼出しの種類を識別するためのＩＤ。
【００４７】
さらに、各ノードは、第２段階で処理するために、背景要素リスト（BGE_LIST）または前景要素リスト（FGE_LIST）に加えられる。プロセスステップ１００３および１００５は、ノードを各リスト内にプッシュすることができることを示す。しかし、これらのステップの位置は、ステップ１００４および１００６の前にも後にも生じることができるため、ステップ１００３および１００５は、破線の囲みで示されている。
【００４８】
BGFG_SURFACEは、背景イメージおよび前景イメージに使用される最高解像度と同じ解像度とすることができる。別法として、BGFG_SURFACEの解像度は、最終イメージにあるようなページ解像度と同じ解像度に設定することができる。
【００４９】
第２段階は、DrvXXX呼出しすべてが処理された後で始まる。この段階で、３つのレイヤについてイメージが生成される。ステップ１００７では、プロセスにより、背景／前景リスト内のイメージが重なり合うかどうか判定される。重なり合う場合には、イメージが処理され、イメージに加えられ、ＭＲＣプロセス（または複数のプロセス）によって組み合わされる。イメージが重なり合わない場合には、ステップ１００９においてプロセスは、イメージをセレクションリストにプッシュするように試みる。セレクションイメージが必要とされる場所を決定するために、BGE_LIST内の各イメージについてFGE_LISTのあらゆるイメージとの交差テストを行う。前景要素と背景要素が交差する領域（矩形など）すべてを、セレクションイメージによって対処する。
【００５０】
一実施形態では、プロセスは、可能な限り多数のセレクタレイヤ内のイメージを前景レイヤ内に配置するように試みる。別の実施形態では、プロセスが、イメージすべての領域の合計を最小限に保ち、圧縮段階、伸張段階、レンダリング段階で圧縮サイズを削減し、性能を高めるように試みる。他の実施形態では、プロセスは、レイヤすべてにおいて最も少ない総イメージ数を有するように試みる。これらの実施形態は、組み合わせることも、別々に使用することもできる。これらについては、説明のために一緒に述べる。
【００５１】
ステップ１０１０では、プロセスは、１レイヤ当たりのアイテムまたはイメージの数を減らすように試みる。例えば、同じ色の２つの重なり合わないテキストイメージを組み合わせることができる。
【００５２】
ステップ１０１０では、プロセスは、レイヤ内の要素数を減らすように試みる。ここで、同じレイヤの要素が組み合わされ、大きな要素がより大きな要素にされる。このステップにより、リスト内に新しいアイテムが導入される可能性があることに留意されたい。以下は、要素を組み合わせるための様々な手法をリストする。１または複数を使用して、どのようにレイヤの要素をグループ化するかを決定することができる。
・組み合わされた要素は、下記にリストされた他の態様で恩恵が得られない限り、他のレイヤ内の要素との新しい重畳を作成するのを避けるべきである。
・組み合わされた要素の面積を、個々の要素の合計よりはるかに大きくするべきでない。閾値（例えば、３０％〜４０％）を設定して比較し、組み合わされた要素がいつ大きくなりすぎるか決定することができる。
・レンダリング特有の呼出しは、クオリファイアを有することができる（例えば、DrvTextOutによって作成された前景要素は、他のDrvXXX呼出しによって作成された要素と組み合わせるべきでない。なぜならば、要素が様々なｂｐｐ値を有するためである。また、DrvTextOutによって作成された前景要素内では、同じ色の要素だけ組み合わせることができる）。
【００５３】
どのようにページを分解するか決定された後で、以下の３つのリストが存在する。
・BGE_LIST
・SLE_LIST
・FGE_LIST。
【００５４】
各リストは、ページから切り取るために領域（例えば、矩形または他の形状）を示すノードのリストを含む。他の一実施形態では、リストには、リスト内のイメージを最終イメージ上でどのようにスケーリングするかを示す倍率が含まれる可能性がある。倍率は、同じレイヤ内であっても、各要素イメージを異なる解像度で記憶することを可能にする。
【００５５】
最後に、ステップ１０１１において様々なレイヤがレンダリングされる。セレクションイメージと交差しない背景要素リスト内の各要素について、BGFG_SURFACEから領域を切り取ることによってイメージを形成し、背景レイヤ内に配置することができる。セレクションイメージと交差しない前景要素リスト内の各要素について、SEL_SURFACEから領域を切り取ることによってイメージを形成し、前景レイヤに加えることができる。セレクションイメージと交差する背景リストおよび前景リスト内の要素について、SEL_SURFACEとBGFG_SURFACEを共に使用することにより、レイヤごとにイメージが作成される。
【００５６】
例えば、図９Ｂの交差／１ピクセルごとの比較である任意選択を参照すると、セレクションイメージと交差する背景要素について、BGFG_SURFACEから領域を切り取ることによって背景イメージを構築することができる。次に、背景イメージ内の各ピクセルについて、プロセスは、SEL_SURFACE内の対応するピクセルをチェックする。SEL_SURFACE内のピクセルが黒色の場合には、背景イメージ内のピクセルの値が、SEL_SURFACE内の対応するピクセルが白色である近くの背景ピクセルと置き換えられる。セレクションイメージと交差する前景要素について、BGFG_SURFACEから領域を切り取ることによって前景イメージを構築することができる。次に、前景イメージ内の各ピクセルについて、プロセスは、SEL_SURFACE内の対応するピクセルをチェックする。SEL_SURFACE内のピクセルが白色の場合には、背景イメージ内のピクセルの値が、SEL_SURFACE内の対応するピクセルが黒色である近くの前景ピクセルと置き換えられる。イメージをセレクタレイヤにプッシュすること、および／または１レイヤ当たりのイメージ数を減らすことの１つの利点は、得られるレイヤをより高い効率で圧縮できることである。
【００５７】
上述のように、様々な圧縮技法を使用して様々なイメージを圧縮することができる。例えば、１ｂｐｐである各イメージについては、Ｇ４圧縮を使用して圧縮することができる。２４ｂｐｐである各イメージについては、当技術分野で周知のように、ＪＰＥＧ圧縮を使用して圧縮することができる。
【００５８】
図１１は、イメージをマージするためのプロセスを示す。イメージは、すべて一緒に処理することも、グループ（本明細書では「チャンク」と称する）に分離することもできる。チャンク内のイメージは、イメージ種類によってグループ化することができる。別法として、チャンクを、作成された順序によってグループ化することができる。チャンクは、所定のイメージ最大数を有することも、有していないこともできる。
【００５９】
図１１では、チャンク１がＮ個のイメージを有する。イメージは、互いに近接度の順序で配列されている。近接度は、図１３に関係して下記で述べる。近接度は、イメージ間の物理的な距離と考えることも、マージする目的でイメージの互いの近さとすることもできる。２つのイメージが重なり合う場合には、それらの近接値が０であり、すなわち２つのイメージが最低の近接値を有し、マージするべきであることを意味する。マージするべきでないイメージは、１以上の近接値を有するように設定することができる。どのような近接度の尺度を使用することもできることを理解されたい。
【００６０】
チャンク１内のイメージすべてが互いに比較され、イメージの各対が近接値で表して分類される。図１１においてＮ＝５の場合には、イメージの対が以下のようになる。
イメージ１、イメージ２
イメージ１、イメージ３
イメージ１、イメージ４
イメージ１、イメージ５
イメージ２、イメージ３
イメージ２、イメージ４
イメージ２、イメージ５
イメージ３、イメージ４
イメージ３、イメージ５
イメージ４、イメージ５。
【００６１】
図１１に示すように、図の左側のチャンク１について、対ごとに近接度が決定され、対が順序付けられる。
【００６２】
ステップ１１０１では、イメージの第１の対について、閾値が所定の閾値未満であるかどうかプロセスが判定する。閾値未満である場合には、ステップ１１０２において、イメージはマージされ、残りのイメージについて近接度が再計算される。ステップ１１０１の近接度が閾値より高い場合には、ステップ１１０４においてマージを停止することができる。例えば、閾値は、低い近接値（イメージをマージするべきであることを意味する）と高い近接値（イメージをマージするべきでないことを意味する）との間の、任意の値に設定することができる。閾値の範囲は、０．４〜０．６とすることができる。閾値は、イメージの種類、イメージの種類の比率、および他の要因に応じて、上記範囲より高く、または低くすることができることに留意されたい。
【００６３】
上述のように、プロセスは、互いに近接しているイメージを共にマージするように試みる。他の利点は、ＭＲＣオペレーションによる処理を必要とする、得られるイメージ数を最小限に抑える際に達成される可能性がある。この場合には、イメージは、１１０１において使用された閾値より低い近接度を有していない可能性があるが、処理する必要のあるイメージ数を最小限に抑えるために、１チャンク当たりの所望のイメージ数を指定することができる。ステップ１１０３は、チャンク内のイメージ数がチャンク内の所望のイメージ数より少ないかどうかの判定を表す。例えば、所望のイメージ数は４とすることができる。従って、どの２つのイメージ間でも近接値が高い可能性があるが、イメージをなおマージして（ステップ１１０２）得られるイメージの数を減らし、ステップ１１０５において、得られるイメージ対の近接度を再計算することができる。
【００６４】
図１２は、イメージの対および得られるイメージを通るマージ機能の一例を示す。単一のイメージ群が、それぞれイメージ領域１〜Ｎ  １２０１〜１２０５によって表されている。マージプロセス１２０６は、イメージ１２０１〜１２０５の中で移動する。どの２つのイメージのマージでも、得られるイメージ（単一イメージであり、背景イメージとして扱われるイメージ領域Ａ）がどのＭＲＣイメージにもならない単純なマージプロセス（プロセス１２０７）とすることができる。別法として、プロセス１２０８で示すように、得られるマージを、ＭＲＣを伴う複雑なマージとすることができる。ＭＲＣマージ１２０８から少なくとも２つの種類のマージが得られる。第１の１２１１は、背景レイヤおよびセレクタレイヤが生成されるイメージ領域Ｃである。第２の１２１２は、背景レイヤ、セレクタレイヤ、前景レイヤが生成されるイメージ領域Ｄである。単一（背景）イメージ、背景レイヤおよびセレクタレイヤを有するＭＲＣ、背景レイヤ、セレクタレイヤ、前景レイヤを有するＭＲＣのこの順序はまた、どのマージを行うか決定することに対する選択である。すなわち、背景レイヤ、セレクタレイヤ、前景レイヤを有するＭＲＣファイルよりむしろ、単一の背景レイヤを有するＭＲＣファイルを生成することになる。
【００６５】
図１３は、任意の２つのイメージ領域について近接度を決定するためのプロセスを示す。ステップ１３０３において、重畳について２つのイメージ領域Ａ１３０１およびＢ１３０２がチェックされる。イメージが重なり合う場合には、ステップ１３０７において近接度が０に設定される。重なり合わない場合には、ステップ１３０４において、イメージが共に現在ＭＲＣイメージであるかどうかプロセスが判定する。イメージが共にＭＲＣイメージである場合には、イメージの近接度は、０と高い値（ここでは、高い値は１）の間の値に設定される（ステップ１３０８）。この中間値は、すべての状況について固定された値とすることができる（例えば、０．５）。別法として、この値を比率として設定することができる。一例では、この比率は、イメージ領域を組み合わせる効率の比率とすることができる。言い換えれば、この比率は、マージされたイメージの未使用空間を、組み合わされたイメージの総面積で割ったものとすることができる。この比率が、ステップ１３０８で式によって示されている。
【００６６】
図１４は、未使用空間を決定する一例を示す。図１４では、テキストイメージＡ１４０１が、テキストイメージＢ１４０２と組み合わせるために考慮されている。この例では、１４０１および１４０２の境界領域が矩形によって示されている。２つ領域１４０１および１４０２の組み合わされたイメージ領域により、点線によって境界を画された図の未使用空間１４０３が生じる。一代替実施形態では、未使用空間を矩形グリッドに基づくものとすることができ、１４０１、１４０２を含む総領域、点線によって囲まれた領域１４０３、域外領域１４０４および１４０５が生じる。第１の例では、未使用空間が領域１４０３を含む。第２の例では、未使用空間が、未使用領域１４０３、１４０４、１４０５を含む。
【００６７】
図１３に戻ると、イメージが共に現在ＭＲＣイメージでない場合には、ステップ１３０５において、プロセスは、イメージが共にテキスト／線イメージであるかどうか判定する。そうであり、かつイメージが同じ色である場合には（ステップ１３０６）、上述のように、ステップ１３０８で近接度が設定される。
【００６８】
テキスト／線イメージが同じ色でない場合には、ステップ１３０９に示すように、ＭＲＣを使用して近接度を高く（例えば１）設定する必要がある。別法として、ステップ１３１０に示すように近接度を高く設定することができ、近接度は、２つのイメージのマージによって生成された新しいＭＲＣ領域を、組み合わされたイメージの総面積で割ったものに係数を掛けたものに設定される。
【００６９】
ステップ１３０５の結果が「いいえ」の場合には、ステップ１３１０において近接度が設定される。別法として、ステップ１３０９のように近接度を設定することができる。
【００７０】
マージされたファイルが作成された後で、組み合わされたイメージ内で元のイメージによって消費された空間量を思い出すことができる。マージされたイメージについて空間を数える様々な方法がある。図１５Ａは、それぞれサイズが３単位である３つのイメージ（１〜３）を示す。平方センチメートル、平方ミリメートル、平方インチ、ピクセル数などを含む、どのような空間表示を使用することもできることを理解されたい。イメージ１はイメージ３と重なり合い、イメージ２はイメージ３と重なり合う。図１５Ｂでは、１５０１がイメージ１および２の組合せを示す。組み合わされたイメージ１＋３をイメージ２とマージした後で得られた組合せが、１５０２として表されている。１５０２では、実際に使用された単位数は７である。しかし、この数は、イメージ１と３の組合せをとり（１５０３）、イメージ２のサイズ１５０４を加えることによって近似することができ、近似サイズの８単位が得られる。
【００７１】
図１５Ｃは、さらに別の表現を示す。ここで、イメージ１および２が最初に組み合わされ、イメージ１５０５を得る。イメージ３を加えることにより、やはりサイズが７単位であるイメージ１５０６が得られる。なぜならば、イメージ２の中央の単位とイメージ３の下部の単位は別々に数えられず、組み合わされるためである。別法として、組み合わされたイメージにおける未使用空間のサイズの値は、イメージ１および２の１５０７、ならびにイメージ３  １５０８を含むことができ、合計９単位を生じる。さらに他の実施形態では、マージされたイメージのサイズを、組み合わされたイメージの総サイズで上限とすることができる。
【００７２】
本発明を実施する例示的なシステムおよび方法が例として示されているが、当然ながら、本発明はこれらの実施形態に制限されないことを理解されたい。当業者なら、特に前述の教示に照らして修正を行うことができる。例えば、前述の実施形態の各要素を単独で、または他の実施形態の要素と組み合わせて利用することができる。本発明は、添付の特許請求の範囲を使用して定義されているが、本発明が本明細書に記載されている要素およびステップを任意の組合せで、または副次的な組合せで含むことを意図している点で、これら特許請求の範囲は例示的なものである。従って、説明、特許請求の範囲、図面を含む本明細書からの１つまたは複数の要素を様々な組合せ、または副次的な組合せで組み込む、本発明を定義する任意の数の代替組合せがある。関連技術の技術者なら、本明細書に照らして、本発明の態様の代替組合せを、単独で、または本明細書で定義されている１つまたは複数の要素またはステップと組み合わせて、本発明の修正形態または代替として、あるいは本発明の一部として利用することができることが明らかであろう。本明細書に含まれている本発明の記述は、そのような修正形態および代替をすべて包含するものとする。
【図面の簡単な説明】
【図１】本発明の様々な態様を実施するために使用することができる汎用デジタルコンピューティング環境の概略図である。
【図２】ＭＲＣファイルを作成するための従来のプロセスを示す図である。
【図３】従来のＭＲＣファイルを示す図である。
【図４】本発明の態様に従ってＭＲＣファイルを作成するプロセスを示す図である。
【図５】本発明の態様によるＭＲＣファイルの一例を示す図である。
【図６】本発明の態様によるＭＲＣファイルの別の一例を示す図である。
【図７Ａ】本発明の態様に従ってＭＲＣファイルを作成するための様々なプロセスを示す図である。
【図７Ｂ】本発明の態様に従ってＭＲＣファイルを作成するための様々なプロセスを示す図である。
【図８Ａ】図７Ａの代替プロセスステップを示す図である。
【図８Ｂ】図７Ａの代替プロセスステップを示す図である。
【図９Ａ】本発明の態様に従ってＭＲＣファイルから複合イメージをレンダリングする様々なプロセスを示す図である。
【図９Ｂ】本発明の態様に従ってＭＲＣファイルから複合イメージをレンダリングする様々なプロセスを示す図である。
【図１０】本発明の態様に従ってＭＲＣファイルを作成する別の例示的なプロセスを示す図である。
【図１１】本発明の態様に従ってイメージをマージする例示的なプロセスを示す図である。
【図１２】本発明の態様に従ってイメージをマージすることについて様々な結果を示す図である。
【図１３】本発明の態様に従ってイメージ間の近接度を設定するための例示的なプロセスを示す図である。
【図１４】本発明の態様に従って、２つのイメージとそのマージによって消費される空間の様々な表現を示す図である。
【図１５Ａ】本発明の態様に従って組み合わされたイメージ内で消費された空間を数えることを様々に表す図である。
【図１５Ｂ】本発明の態様に従って組み合わされたイメージ内で消費された空間を数えることを様々に表す図である。
【図１５Ｃ】本発明の態様に従って組み合わされたイメージ内で消費された空間を数えることを様々に表す図である。
【符号の説明】
１００  コンピュータ
１０１  キーボード
１０２  マウス
１０６  シリアルポートインターフェース
１０７  モニタ
１０８  ビデオアダプタ
１０９  遠隔コンピュータ
１１０  処理装置
１１１  メモリ
１１２  ローカルエリアネットワーク
１１３  広域ネットワーク
１１４  ネットワークインターフェース
１１５  モデム
１２０  システムメモリ
１３０  システムバス
１４０  読出し専用メモリ（ＲＯＭ）
１５０  ランダムアクセスメモリ（ＲＡＭ）
１６５  デジタイザ
１６６  ペンまたはスタイラス
１７０  ハードディスクドライブ
１７１  ハードディスクインターフェース
１８０  磁気ディスクドライブ
１９０  取外し式磁気ディスク
１９１  光ディスクドライブ
１９２  取外し式光ディスク
１９３  磁気ディスクドライブインターフェース
１９４  光ドライブインターフェース
１９５  オペレーティングシステム
１９６  アプリケーションプログラム
１９７  他のプログラムモジュール
１９８  プログラムデータ
５００  イメージジェネレータ
５０１  グラフィックスレンダリングエンジン
５０２  セレクタレイヤ
５０３  前景レイヤ
５０４  背景レイヤ
５０５  選択圧縮エンジン
【図１】
0004299034.tif 000002
【図２】
0004299034.tif 000003
【図３】
0004299034.tif 000004
【図４】
0004299034.tif 000005
【図５】
0004299034.tif 000006
【図６】
0004299034.tif 000007
【図７Ａ】
0004299034.tif 000008
【図７Ｂ】
0004299034.tif 000009
【図８Ａ】
0004299034.tif 000010
【図８Ｂ】
0004299034.tif 000011
【図９Ａ】
0004299034.tif 000012
【図９Ｂ】
0004299034.tif 000013
【図１０】
0004299034.tif 000014
【図１１】
0004299034.tif 000015
【図１２】
0004299034.tif 000016
【図１３】
0004299034.tif 000017
【図１４】
0004299034.tif 000018
【図１５Ａ】
0004299034.tif 000019
【図１５Ｂ】
0004299034.tif 000020
【図１５Ｃ】
0004299034.tif 000021