(57)【要約】      （修正有）【課題】効率的な上塗りコーティング処理機構を提供する。【解決手段】セグメント・リスト内の第１のセグメントがソリッド型のセグメントであるか否かを判定して、セグメントがソリッド型のセグメントではないならば、圧縮処理がされる前の上塗りコーティング値を計算するステップと、圧縮処理がされた後の紙面全体の表示画像を構成する色彩プレーンを解析するステップと、前記色彩プレーンに基づいて、上塗りコーティング用のプレーンを生成するステップ、を具備する方法。【選択図】図１
2014171219.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実施される方法であって：
圧縮処理がされた後の紙面全体の表示画像を構成する色彩プレーンを解析するステップと、
前記色彩プレーンに基づいて、上塗りコーティング用のプレーンを生成するステップ、
を具備する方法。
【請求項２】
前記色彩プレーンを解析するステップは、セグメント・リストを解析する動作を具備することを特徴とする、請求項１記載の方法。
【請求項３】
前記セグメント・リストを解析する動作は、前記セグメント・リスト内の第１のセグメントがソリッド型のセグメントであるか否かを判定する動作を具備することを特徴とする、請求項２記載の方法。
【請求項４】
前記第１のセグメントがソリッド型のセグメントではないならば、圧縮処理がされる前の上塗りコーティング値を計算するステップと、
前記上塗りコーティング値を圧縮処理するステップ、
をさらに具備する請求項３記載の方法。
【請求項５】
Ｃ、Ｍ、ＹおよびＫの４つの画像プレーン内において出力画素値とそれぞれ対応する複数の入力画素値を平均して得られる平均値を算出する動作と、
前記平均値を使用して検索テーブルを検索することにより、前記検索テーブルから値を取り出す動作、とによって前記上塗りコーティング値を計算することを特徴とする、請求項４記載の方法。
【請求項６】
前記セグメントがソリッド型であるならば、前記セグメントに関して圧縮処理されたデータを生成するステップをさらに具備する、請求項４記載の方法。
【請求項７】
前記セグメント・リスト内に解析されるべき後続のセグメントが存在するか否かを判定するステップをさらに具備する請求項６記載の方法。
【請求項８】
圧縮処理がされた後の紙面全体の表示画像を構成する色彩プレーンを解析し、前記色彩プレーンに基づいて、上塗りコーティング用のプレーンを生成するように構成されたプロセッサを具備するシステム。
【請求項９】
前記色彩プレーンを解析する動作は、セグメント・リストを解析する動作を具備することを特徴とする、請求項８記載のシステム。
【請求項１０】
前記セグメント・リストを解析する動作は、前記セグメント・リスト内の第１のセグメントがソリッド型のセグメントであるか否かを判定する動作を具備することを特徴とする、請求項９記載のシステム。
【請求項１１】
前記第１のセグメントがソリッド型のセグメントではないならば、前記プロセッサが、圧縮処理がされる前の上塗りコーティング値を計算し、前記上塗りコーティング値を圧縮処理するように構成されていることを特徴とする、請求項１０記載のシステム。
【請求項１２】
Ｃ、Ｍ、ＹおよびＫの４つの画像プレーン内において出力画素値とそれぞれ対応する複数の入力画素値を平均して得られる平均値を前記プロセッサが算出する動作と、
前記プロセッサが、前記平均値を使用して検索テーブルを検索することにより、前記検索テーブルから値を取り出す動作と、
によって前記上塗りコーティング値を計算することを特徴とする、請求項１１記載のシステム。
【請求項１３】
前記セグメントがソリッド型であるならば、前記プロセッサは、前記セグメントに関して圧縮処理されたデータを生成するようにさらに構成されていることを特徴とする、請求項１１記載のシステム。
【請求項１４】
前記プロセッサは、前記セグメント・リスト内に解析されるべき後続のセグメントが存在するか否かを判定するようにさらに構成されていることを特徴とする、請求項１３記載のシステム。
【請求項１５】
プロセッサにより実行された際に、
圧縮処理がされた後の紙面全体の表示画像を構成する色彩プレーンを解析する動作と、
前記色彩プレーンに基づいて、上塗りコーティング用のプレーンを生成する動作と、
を実行するための命令コードを含んでいるコンピュータ読み出し可能記録媒体。
【請求項１６】
前記色彩プレーンを解析する動作は、セグメント・リストを解析する動作を具備することを特徴とする、請求項１５記載のコンピュータ読み出し可能記録媒体。
【請求項１７】
前記セグメント・リストを解析する動作は、前記セグメント・リスト内の第１のセグメントがソリッド型のセグメントであるか否かを判定する動作を具備することを特徴とする、請求項１６記載のコンピュータ読み出し可能記録媒体。
【請求項１８】
前記第１のセグメントがソリッド型のセグメントではないならば、圧縮処理がされる前の上塗りコーティング値を計算し、前記上塗りコーティング値を圧縮処理する動作を前記命令コードがさらに具備する、請求項１７記載のコンピュータ読み出し可能記録媒体。
【請求項１９】
Ｃ、Ｍ、ＹおよびＫの４つの画像プレーン内において出力画素値とそれぞれ対応する複数の入力画素値を平均して得られる平均値を算出する動作と、
前記平均値を使用して検索テーブルを検索することにより、前記検索テーブルから値を取り出す動作と、
によって前記上塗りコーティング値を計算することを特徴とする、請求項１８記載のコンピュータ読み出し可能記録媒体。
【請求項２０】
前記セグメントがソリッド型であるならば、前記プロセッサは、前記セグメントに関して圧縮処理されたデータを生成する動作を前記命令コードがさらに具備する、請求項１８記載のコンピュータ読み出し可能記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には印刷システムの分野と関係し、より具体的には、印刷システムにおける画像処理技術と関係している。
【背景技術】
【０００２】
例えば印刷システム等のような多種多様な電子文書プレゼンテーション・システムにおいては、一連のデータ・オブジェクトを処理することにより、電子文書の紙面全体の上に表示される各画像のビットマップ表現を生成するために、データをラスタ化するのが一般的である。当該データ・オブジェクトは、典型的には、ページ記述言語またはそれ以外の適切な情報符号化方式によって定義され、ビットマップに書き込まれる以前の何れかの時点において、多数の画素から成る長方形領域として表現される。これに続いて実行される典型的な処理として、当該紙面全体を表示する画像は、複数の画素から成る２次元マトリクスをビットマップ・メモリに書き込む形で生成され、この際、複数の画素から成る２次元マトリクスは、当該文書内において当該紙面全体を表示する画像をシステムが意図したとおりに表現している画素マトリクスであり、続いて、当該画素マトリクスのデータは、圧縮処理される。
【０００３】
当該紙面全体を表示する画像の画像処理を実行している間に、ページ上に供給される上塗りコーティング用のインクの量を決定するための計算処理を実行することが可能である。上塗りコーティング用のインクは、例えば、紙面上に印字されたインクに防水性を持たせたり、印字された紙面を光沢のある仕上がりにするなどの効果を実現するために使用される。上塗りコーティング用のインクを上記のように使用することにより、ユーザが追加の印刷用データを生成する必要無しに、既存の印刷用データから上塗り用のインクを上塗りコーティング処理された紙面を出力することが可能となる。
【０００４】
上塗りコーティング処理された紙面においては、時として、上塗りコーティング処理により、解像度やビット深度が低下していたり、本来の画像とは輝度が異なっている状態で画像生成される場合がある。従って、上述した上塗り用のインクの必要量は、上塗りコーティング処理に必要とされるインクの量に基づいている。例えば、シアン、マジェンタ、黄色および黒色から成る１２００ｄｐｉのビットマップ画像データ（例えば、シアン、マジェンタ、黄色および黒色にそれぞれ対応した４つの画像プレーンから成るＣＭＹＫデータ）において上塗り用のインクの必要量を計算するためには、８．５インチ×１１インチのサイズのページに含まれるデータについて、1億３４００万回を上回るアルゴリズム計算が必要となる。さらには、解像度の低下に対応した上塗り用インクの必要量を決定するために、追加的に実行される４つの計算処理の結果が平均化されなくてはならない。
【０００５】
従って、従来よりも効率的に実行することが可能な上塗りコーティング処理機構が必要とされている。
【発明の概要】
【０００６】
本発明に係る一実施例が開示する方法は、圧縮処理がされた後の紙面全体の表示画像を構成する複数の色彩プレーンを解析するステップと、前記複数の色彩プレーンに基づいて上書きコーティング・プレーンを生成するステップとを含む。
【０００７】
当該技術分野における当業者であれば、以下において簡単に説明する添付図面を参照しながら、本明細書中において後述する実施例の記載を読むことにより、本発明の詳細な内容がより明確に理解できるであろう。
【図面の簡単な説明】
【０００８】
【図１】メタデータ構造を利用して圧縮処理されたビットマップ画像データを生成するために、複数のデータ・オブジェクトを処理するシステムの一実施例を図示するブロック図
【図２】データ構造テーブル内における複数のメタデータ構造の各々とページ・ビットマップ・メモリ内において各メタデータ構造に対応する部分との間の関係付けを表す記述内容の一実施例を図示するブロック図
【図３】メタデータ構造を利用して紙面全体を表示する画像を表現している複数のデータ・オブジェクトを処理するために実行される処理フローの一実施例を示すフローチャート
【図４】紙面全体を表示する画像に関する複数のデータ・オブジェクトを処理するために実行される処理フローの一実施例を示すフローチャート
【図５】上塗りコーティング処理を実行するための処理フローの一実施例を示すフローチャート
【図６】コンピュータ・システムの一実施例を示す図
【発明を実施するための形態】
【０００９】
本明細書においては、従来よりも効率的に実行することが可能な上塗りコーティング処理機構が開示される。以下の記述においては、本発明の説明を目的として、本発明の包括的な理解を可能とするための数多くの具体的詳細内容が記述される。しかしながら、当該技術分野における当業者にとっては、上述した具体的詳細内容の一部を省略した形でも本発明を実施することが可能であることが自明であろう。本発明を実施するためのその他の事例においては、本発明の基盤となる技術思想が不明確となるのを避けるために、一般に周知の構造や装置がブロック図の形で示される。
【００１０】
本明細書中における「一実施例」または「一つの実施例」との表記は、実施例と関連して説明されている特定の技術的特徴、構造または特性が、本発明に係る少なくとも一つの実施例に含まれているということを意味するために使用される。本明細書中の様々な個所に現れる「一実施例において」という表記は、これら全ての表記が必ずしも同一の実施例を指して言っているとは限らない。
【００１１】
図１は、圧縮処理されたビットマップ画像データを生成するためのシステム１００を図示するブロック図である。データ・オブジェクト供給源１２０は、紙面全体を表示する画像を表現している一連のデータ・オブジェクトから成る系列を供給する。データ・オブジェクト処理回路１０２は、当該一連のデータ・オブジェクトから成る系列を処理することによって、紙面全体を表示する画像を、ビットマップ・メモリ１０６内および／または複数のメタデータ構造１０８を格納するテーブル内において表現している画像を生成する。当該紙面全体を表示する画像の各々を生成するために、ビットマップ圧縮回路１０４の動作によって、圧縮されたページ・ビットマップ画像データ１１２を生成する処理が引き起こされる。
【００１２】
上記のような圧縮されたページ・ビットマップ画像データ１１２の連続から成る系列は、プレゼンテーション装置１３０に送信するためにシステム内に格納されている文書データや処理実行ジョブを表現することが可能である。プレゼンテーション装置１３０は、例えば、プリンタ装置等とすることが可能であり、その場合、圧縮されたページ・ビットマップ画像データ１１２の連続から成る系列は、印刷ジョブやプリンタ装置により印刷されるのを待っている文書データなどを表現することが可能である。
【００１３】
データ・オブジェクト処理回路１０２は、紙面全体を表示する画像の上に視覚的に提示されるべき情報を表現しているデータ・オブジェクトを処理する。データ・オブジェクト処理回路１０２が受信した複数のデータ・オブジェクトは、一般に周知となっている標準化された幾つかの情報符号化方式（例えば、ページ記述言語や電子文書を記述するためのその他の標準化方式など）の何れかによって符号化されている場合がある。データ・オブジェクトは、例えば、電子文書の紙面全体を表示する画像内において所望の位置に配置されるべきテキスト情報やグラフィック情報を表現することが可能である。従って、一般的には、データ・オブジェクト処理回路１０２は、ビットマップ・メモリ１０６内に格納されたデータ・オブジェクト、および／またはメタデータ構造１０８と関連付けられて格納されているデータ・オブジェクトから導き出された情報を格納することによって、データ・オブジェクトを処理するように構成されている。
【００１４】
本発明に係る一実施例においては、データ・オブジェクト処理回路１０２は、複数のメタデータ構造を格納するテーブル１０８を利用することにより、各データ・オブジェクト毎にビットマップ・メモリ１０６への書き込みを行う必要性を減少させており、その結果として、データ・オブジェクト処理回路１０２とビットマップ・メモリ１０６との間における通信帯域幅の使用量を減少させることが可能となる。上記のようにビットマップ・メモリ１０６との間で通信帯域幅の使用量を減少させることにより、圧縮処理がされる前の紙面全体の画像を生成する処理動作を高速化することが可能となり、それにより、圧縮処理によって得られる対応するビットマップ画像データの生成効率を向上させることが可能となる。
【００１５】
具体的には、データ・オブジェクト処理回路１０２は、ビットマップ・メモリ１０６内の所定の部分と関係する情報を、メタデータ構造の格納テーブル１０８内の該当するエントリに格納する。数多くのデータ・オブジェクトを処理しながら、その結果をビットマップ・メモリ１０６内の該当する部分に反映させるようにするには、多くの場合、メタデータ構造の格納テーブル１０８内の該当するエントリに含まれている情報を単に更新するだけで充分である。上記以外のその他のデータ・オブジェクトや後続するデータ・オブジェクトの処理においては、当該データ・オブジェクトによって表現されているデータ内容に従ってビットマップ・メモリ１０６に書き込みを実行する必要が生じる場合がある。
【００１６】
従って、データ・オブジェクト処理回路１０２は、紙面全体を表示する画像に関連する各データ・オブジェクトを一つずつ処理する毎に、データ・オブジェクトの各部分がビットマップ・メモリ１０６内の該当する部分に書き込まれなくてはならないのか、それとも、ビットマップ・メモリ１０６内の各部分に書き込みを実行する必要無しに、メタデータ構造の格納テーブル１０８内において対応するメタデータ構造によりコンパクトな表現形式で表現可能であるのかを判断する。
【００１７】
本発明に係る一実施例においては、相当に数多くのデータ・オブジェクトがテーブル１０８内のメタデータ構造に基づくコンパクトな表現形式により表現可能であるので、データ・オブジェクト処理回路１０２は、ビットマップ・メモリ１０６内に情報をいちいち画素単位で書き込まなくてはならない必要性を回避することが可能である。ベタ一色の無地を表現しているデータ・オブジェクト（例えば、描画内容がクリアされたビットマップ画像やビットマップ画像内の同一色でベタ塗りした領域など）のような幾つかの単純なデータ・オブジェクトは、ビットマップ・メモリ１０６内にデータを一切書き込む必要無しに、テーブル１０８に格納されているメタデータ構造中において非常にコンパクトな表現形式で表現することが可能である。背景が透明色のマスク・パターンや不透明な画像部分のようなもっと複雑なデータ・オブジェクトであっても、テーブル１０８に格納されているメタデータ構造中においてコンパクトな表現形式によるデータ表現がやはり可能である。
【００１８】
データ・オブジェクト処理回路１０２は、受信した複数のデータ・オブジェクトをメモリ１１０内に保存する。そして、上述したメタデータ構造によってコンパクトな表現形式で表現された上でメモリ１１０内に保存されているデータ・オブジェクトは、当該メタデータ構造から参照ポインタを介して間接的に参照されている。上記説明の繰り返しになるが、メタデータ構造において上記のようなコンパクトな表現形式を使用することにより、データ・オブジェクト処理回路１０２は、複数のデータ・オブジェクトを生成するのに必要とされるメモリ・アクセス帯域幅の使用量を減らすことが可能となる。
【００１９】
また、圧縮処理されたビットマップ画像データを生成するためのシステム１００は、ビットマップ圧縮処理回路１０４をさらに含んでおり、ビットマップ圧縮処理回路１０４は、データ・オブジェクト処理回路１０２による紙面全体の表示画像の生成処理が完了したのに続いて、圧縮済みページ・ビットマップ画像データ１１２を表している圧縮済みデータを生成する。紙面全体を表示する特定の画像を表現するための一連のデータ・オブジェクトに対してデータ・オブジェクト処理回路１０２が処理を完了した時点で、ビットマップ圧縮処理回路１０４は、メタデータ構造の各々を取り出した上で、当該メタデータ構造中に格納されている情報に基づいて、圧縮済みページ・ビットマップ画像データ１１２内の圧縮されたデータを生成するために動作可能となる。
【００２０】
ビットマップ画像データの該当部分を表す圧縮処理後の表現を生成するのに充分な情報をメタデータ構造が提供可能である場合には、圧縮済みページ・ビットマップ画像データ１１２の一部分を生成するために、ビットマップ圧縮処理回路１０４は、ビットマップ・メモリ１０６を読み出す必要が無い。ビットマップ画像データの該当部分が圧縮処理の対象となるデータを含んでいることを当該メタデータ構造が示している場合には、ビットマップ圧縮処理回路１０４は、ビットマップ・メモリ１０６内において、当該メタデータ構造が示している部分を読み出して、圧縮済みページ・ビットマップ画像データ１１２の対応する部分を生成する。
【００２１】
図２は、メタデータ構造を含むテーブル１０８内における複数のメタデータ構造とビットマップ・メモリ１０６内の複数の構成部分（「タイル」とも呼ばれる）との間の関係付けの一実施例を図示するブロック図である。図２に示すとおり、ビットマップ・メモリ１０６は論理的に分割され、全て均一な大きさとすることが可能な複数の構成部分（「タイル」とも呼ばれる）に分けられる。
【００２２】
本発明に係る一実施例においては、ビットマップ・メモリ１０６は、同一サイズの複数の長方形部分２００乃至２１１（以下、「部分Ａ」乃至「部分Ｌ」と表記する）を含んでいる。これらの長方形部分の各々は、メタデータ構造を格納するテーブル１０８内において対応するエントリ２２０乃至２３１を有している。具体的には、メタデータ構造のテーブル１０８内におけるエントリ２２０（以下、「＊部分Ａ」と表記する）は、ビットマップ・メモリ１０６内において対応する「部分Ａ」として示される長方形部分２００に関する情報を含んでいる。以下同様にして、メタデータ構造のテーブル１０８内におけるエントリ２２１（以下、「＊部分Ｂ」と表記する）は、ビットマップ・メモリ１０６内において対応する「部分Ｂ」として示される長方形部分２０１に関する情報を含んでおり、以下同様である。
【００２３】
本実施例における技術的特徴と技術的側面に従って、ビットマップ・メモリ１０６内に含まれる構成部分の個数を任意の適切な個数とすることが可能である。従って、ビットマップ・メモリ１０６内に含まれる構成部分（例えば、長方形部分２００乃至２１１など）の個数とテーブル１０８内においてこれらの構成部分に対応するメタデータ構造エントリ（例えば、エントリ２２１乃至２３１など）の個数、および上述した構成部分の各々と関連する情報のサイズは、本実施例に係るシステム内において事前に定義され、静的に固定された個数やサイズとすることが可能である。
【００２４】
本発明に係る一実施例においては、メタデータ構造エントリ（例えば、エントリ２２１乃至２３１など）の各々は、データ・タイプ情報フィールド２４０とデータ指示情報フィールド２４２を含んでいる。データ・タイプ情報フィールド２４０は、ビットマップ・メモリ１０６内において対応している構成部分（例えば、長方形部分２００乃至２１１など）と現在関連付けられているデータ・タイプを表すフィールドである。データ指示情報フィールド２４２は、ビットマップ・メモリ１０６内において当該メタデータ構造と対応している構成部分と現在関連付けられた形でメモリ１１０中に保存されているデータ・オブジェクトを参照ポインタで（間接的に）指し示しているフィールドである。本発明に係るさらなる実施例においては、ビットマップ・メモリ１０６内において当該メタデータ構造と対応している構成部分と現在関連付けられているデータ・オブジェクトの情報内容自体が、データ指示情報フィールド２４２内において直に符号化されている。
【００２５】
図１に示されたデータ・オブジェクト処理回路１０２の処理動作の説明に戻ると、データ・オブジェクトから導き出されたデータがビットマップ・メモリ１０６内に書き込まれるならば、当該データは、ビットマップ・メモリ１０６内において一つ以上の構成部分に展開されて記憶される。データ・オブジェクト処理回路１０２によるデータ・オブジェクトの処理は、ビットマップ・メモリ１０６内においてデータ・オブジェクトの書き込みにより影響を受ける一つ一つの構成部分毎に実行されるので、データ・オブジェクト処理回路１０２は、テーブル１０８内において対応しているメタデータ構造を更新することによって、ビットマップ・メモリ１０６内の対応する構成部分において当該データ・オブジェクトが受けた影響に関する情報を記録する。
【００２６】
例えば、「部分Ａ」として示される長方形部分２００と「部分Ｂ」として示される長方形部分２０１とが一つのデータ・オブジェクトによる影響を受けるとした場合、データ・オブジェクト処理回路１０２は、「＊部分Ａ」として示されるメタデータ構造エントリ２２０と「＊部分Ｂ」として示されるメタデータ構造エントリ２２１とを更新する。ビットマップ・メモリ１０６内の構成部分と対応するメタデータ構造によってコンパクトな表現形式で表現されている現在のデータ内容と新たに書き込まれる特定のデータ・オブジェクトによっては、当該新たに書き込まれたデータ・オブジェクトを表現するために、単にメタデータ構造２２０と２２１を更新するだけで充分である場合があり、この場合には、ビットマップ・メモリ１０６内の２つの構成部分２００と２０１にデータを書き込む必要は無い。
【００２７】
本発明に係る一実施例においては、メタデータ構造エントリ内に含まれるデータ・タイプ情報フィールド２４０は、ビットマップ・メモリ１０６内の該当する構成部分が「コンパクト型」のデータ（すなわち、「コンパクト表現形式」で表現されたデータ）であるか、それとも「非コンパクト型」のデータ（「コンパクト表現形式」とは異なる表現形式のデータ）であるかを示すフィールドとすることが可能である。このとき、データ指示情報フィールド２４２の内容は、ビットマップ・メモリ１０６内の該当する構成部分のデータをコンパクトな表現形式で表現している。
【００２８】
最も一般的な場合として、本来であればビットマップ・メモリ１０６内の一つの構成部分に含まれるべきデータがメタデータ構造内でコンパクト表現形式で表現されていることにより、ビットマップ・メモリ１０６内の該当する構成部分への当該データの書き込みを不要とすることが可能な場合、データ・オブジェクトの書き込みにより影響を受けるメタデータ構造についてのデータ・タイプは、「コンパクト型」であり、データ指示情報フィールドの内容は、ビットマップ・メモリ１０６内の該当する構成部分に関する新しいデータを表現している。
【００２９】
ビットマップ・メモリ１０６内の一つの構成部分に含まれるべきデータをメタデータ構造内においてコンパクト表現形式で表現することが出来ないならば、データ・オブジェクトの書き込みにより影響を受けるメタデータ構造についてのデータ・タイプは、「非コンパクト型」であり、その場合、データ・オブジェクトは、単にビットマップ・メモリ１０６内の該当する構成部分に書き込まれるだけである。当該技術分野における当業者であれば、本明細書においては、「コンパクト型」と「非コンパクト型」を表すこれらの具体的なデータ・タイプ値を、単なる具体例として説明することを意図していることが理解できるであろう。
【００３０】
より具体的には、「コンパクト型」のデータは、ビットマップ・メモリ１０６内の該当する構成部分に含まれる当該データがメタデータ構造内の情報によってコンパクト表現形式で表現されており、その結果、当該データがビットマップ・メモリ１０６内の該当する構成部分に書き込まれないことを表している。例えば、紙面全体の表示画像についての一連の処理の開始時におけるビットマップ・メモリ１０６の内容は、論理的にはクリアされている（例えば、ビットマップ・メモリ内の全てのビットがクリアされ、ゼロ値として表現されている状態は、白一色でベタ塗りした背景画像として表示される）。以下の説明では、説明の便宜上、ビットマップ・メモリ内に含まれる上記のような複数の構成部分の各々を指して「ビットマップ構成部分」と呼び、ビットマップ・メモリ内において特定のメタデータ構造と対応する関係にあるビットマップ構成部分を「該当ビットマップ構成部分」と呼ぶ場合がある。
【００３１】
データ・オブジェクトは、紙面全体の表示画像に関して処理されるので、ビットマップ・メモリ内の各部分とこれに対応するメタデータ構造は、処理がされたデータ・オブジェクトによる影響を受ける。従って、当該ビットマップ・メモリ内において上記のように影響を受ける部分と対応するメタデータ構造に含まれる「コンパクト型」のデータは、データ指示情報フィールドによって以下の２つの事を表している。一つ目は、当該ビットマップ・メモリ内において上記のような影響を与えた何らかのデータ・オブジェクトが処理されたことであり、二つ目は、当該ビットマップ・メモリ内における該当する部分が受けた影響は、当該メタデータ構造内においてコンパクト表現形式で表現されていることである。
【００３２】
例えば、データ指示情報フィールドは、データ・オブジェクト保存用のメモリ内に保存されたデータ・オブジェクトを参照ポインタを介して間接的に指し示すようにすることが可能である。さらに別の具体例においては、データ指示情報フィールドは、データ・オブジェクト自体を符号化されたフィールド値（例えば、ビットマップ・メモリ内の該当する構成部分に影響を与えるデータ・オブジェクトが表す長方形部分の色の値）として直接的に表現することが可能である。従って、「コンパクト型」のデータ・タイプを有しているメタデータ構造と対応しているビットマップ構成部分については、当該構成部分の中に書き込まれるべき関連する情報が無く、その結果、データ・オブジェクトをビットマップ・メモリ内に書き込むためにビットマップ・メモリとの間で必要となる通信帯域幅の使用量を減らすことが可能となる。
【００３３】
他方、「非コンパクト型」のデータ・タイプは、様々な理由の中の何れかにより、ビットマップ・メモリ内の対応する構成部分に含まれるべきデータを、メタデータ構造の中だけでコンパクト表現形式により表現することが不可能である（すなわち、当該データをデータ指示情報フィールド内において適切な表現形式で表現することが出来ない）ことを示している。その場合、当該ビットマップ・メモリ内の該当する構成部分に上記のような影響を与えるデータ・オブジェクトは、単に当該ビットマップ・メモリ１０６に書き込まれるだけである。
【００３４】
ビットマップ・メモリ内の各構成部分について、上記のような「コンパクト型」データ・タイプに特有のデータ表現方法を使用不可能にしてしまう様々な状態が生じ得る。このような状態以外にも、本発明を実施する際に考慮すべき設計的事項として、ビットマップ・メモリ内の一部分が、これと対応するメタデータ構造内において、「コンパクト型」のデータとしても「非コンパクト型」のデータとしても表現可能となるような状態が生じ得る。本発明を応用すべき特定の用途によっては、費用対効果を考慮して設計された実装の詳細内容に基づいて、「コンパクト型」のデータ表現方法は望ましくないと判断される場合もあり得る。
【００３５】
例えば、ビットマップ・メモリ内の一部分において表示内容が互いに重なり合う複数のデータ・オブジェクトが存在する場合、互いに重なり合って表示される特定のデータをコンパクト表現形式により表現することが可能であったとしても、これら複数のデータ・オブジェクトの組み合わせをコンパクト表現形式により表現するために増加してしまう計算処理の複雑度は、あまりにも多すぎる。さらに別の具体例を挙げるなら、本発明を応用すべき特定の用途によっては、表示すべき画像オブジェクトがほんの僅かしか存在せず、そのような場合にまで画像のデータ・オブジェクトをメタデータ構造内においてコンパクト型データ・タイプに特有のデータ表現形式で表現してもあまりメリットが無い。
【００３６】
さらに別の具体例として、ビットマップ・メモリ内に画像オブジェクトが頻繁に現れ、かつ、ビットマップ・メモリ内の一部分においてこれらのオブジェクトの表示内容がしばしば互いに重なり合うような状況（例えば、モンタージュ写真画像など）を考える。このような状況において、上記のように表示内容が互いに重なり合う画像オブジェクトを含む部分が可能な限りコンパクト表現形式で表現されるよう保証するならば、大幅な改善効果が達成される可能性がある。何故なら、そうすることにより、後続する画像データ・オブジェクトにより上書きされてしまう可能性が高い画像データ・オブジェクトをビットマップ・メモリ内にわざわざ書き込むために、ビットマップ・メモリとの間の通信帯域幅を無駄に浪費するのを避けることが可能となるからである。上述した経験則に加え、その他の経験則や本発明を実施する際に考慮すべき様々な設計事項は、本実施例における技術的特徴と技術的側面を機能拡張するための機能拡張手段として直ちに明らかとなり、その結果、本発明を応用すべき特定用途のために実施されるシステムや方法を最適化することが可能となるだろう。
【００３７】
本発明に係る一実施例に従うならば、複数のデータ・オブジェクトから成る特定のオブジェクト群に関して、ビットマップ・メモリ内の該当部分の個数とサイズがどの程度効率的であるかを解析するために、システム１００内において任意付加的な最適化要素１１４を動作可能としても良い。上記のような解析処理に基づいて、最適化要素１１４は、ビットマップ・メモリ内における上述した該当部分の個数とサイズを調節し、さらにこれに対応させる形で、テーブル１０８内のメタデータ構造の個数を調節することが可能である。ある種の文書データや処理実行ジョブに関しては、ビットマップ・メモリ内における上述した部分の個数をより少なくし、各部分のサイズをより大きくすることにより、紙面全体の表示画像に関する処理において最適な結果を得ることが可能となる。
【００３８】
さらに別の種類の文書データや処理実行ジョブにおいては、上述したビットマップ構成部分の個数をより多くし、各構成部分のサイズをより小さくすることにより、紙面全体の表示画像に関する処理において最適な結果を得ることが可能となる。ビットマップ・メモリ内における全ての構成部分が同じ形状と同じ大きさを持つならば、メタデータ構造２２０乃至２３１とビットマップメモリ内において対応している構成部分２００乃至２１１との間の関係付けは、テーブル１０８内における各メタデータ構造のインデックス位置を使用して各メタデータ構造を対応するビットマップ構成部分と関係付けるための単純なインデックス付け計算によって決定することが可能となる。ビットマップ・メモリ内における全ての構成部分が多種多様な形状と大きさを持つならば、メタデータ構造２２０乃至２３１の各々は、ビットマップ・メモリ内に含まれる構成部分２００乃至２１１の中においてそれぞれ対応する構成部分のメモリ・アドレスを識別している適切なアドレス識別情報を含むことが可能である。
【００３９】
図３は、メタデータ構造を利用して紙面全体を表示する画像を表現している複数のデータ・オブジェクトを処理するために実行される処理フローの一実施例を示すフローチャートである。図３のフローチャートにおいて、処理の実行はまず処理ステップ３００に進み、一つのメタデータ構造を、複数のビットマップ構成部分の中の対応する構成部分と関係付ける。既に説明したとおり、上述したビットマップ構成部分の個数、すなわち、これら構成部分とそれぞれ対応するメタデータ構造の個数は、事前に静的に固定することも可能であるし、紙面全体の表示画像に関する処理を最適化するための解析処理の結果に応じて動的に決定されることも可能である。従って、図３のフローチャートにおける処理ステップ３００は、処理開始時点における上述した構成部分の個数およびこれら構成部分にそれぞれ対応するメタデータ構造の初期化内容を決定するための任意の適切な決定処理動作を表している。
【００４０】
任意のデータ・オブジェクトを処理するのに先立って、処理ステップ３０４においては、全てのメタデータ構造について、データ・タイプ情報フィールドの値が「コンパクト型」に設定され、データ指示情報フィールドの値がゼロに設定され（この値は、データ指示情報フィールドの内容を初期化時点においてクリアするための値であり、ゼロ以外の値を採用することも可能である）、これにより、紙面全体の表示画像を生成する処理の実行開始時点においてビットマップ・メモリ全体の記憶内容がクリアされた状態（例えば、紙面全体の表示画像が「白一色」や「黒一色」で塗りつぶされた状態または事前に設定された所定の背景色により紙面全体の表示画像がクリアされた状態）であることが表現される。
【００４１】
続いて、紙面全体の表示画像に関する処理の実行は、処理ステップ３０６に進み、処理ステップ３０６においては、データ・オブジェクト処理回路は、紙面全体の表示画像に対応する複数のデータ・オブジェクトを処理するように動作可能である。各データ・オブジェクトに対して実行される処理内容は、データ・オブジェクトから導き出されたデータがビットマップ・メモリ内に書き込まれた場合に影響を受けることになるビットマップ構成部分と対応しているメタデータ構造を更新する処理を含んでいる。これに伴って、ビットマップ・メモリ内において上述した影響を受ける構成部分と対応しているメタデータ構造中のデータ・タイプ情報フィールドの値も、当該影響を受けるビットマップ構成部分が現時点で関連しているデータ・タイプに更新される。
【００４２】
さらに、上記のような影響を受けるビットマップ構成部分と対応しているメタデータ構造中のデータ指示情報フィールドの値も、当該影響を受けるビットマップ構成部分と対応する形で新たに書き込まれたデータ・オブジェクトを表現可能となるように更新される。処理ステップ３０６において、データ・オブジェクトが処理されることによって、ビットマップ・メモリ内のどの構成部分が影響を受けるかを判定する処理と、この処理に関連して、対応するメタデータ構造を更新する処理を実行するための詳細な処理内容の具体例については、本明細書中の以下の記述においてさらに詳しく後述する。一般的な場合においては、上記のような影響を受ける対応するビットマップ構成部分が「コンパクト型」のデータから「非コンパクト型」のデータへと変更されたことを示すようにデータ・タイプ情報フィールドの値が更新される。
【００４３】
紙面全体の表示画像に関するデータ・オブジェクトの処理が処理ステップ３０６において実行完了したのに続いて、図３のフローチャートの実行は処理ステップ３０８に進み、処理ステップ３０８は、システム１００内のビットマップ圧縮処理回路によって、紙面全体の画像を表現するための圧縮処理されたビットマップ・データを生成する処理を表している。当該ビットマップ圧縮処理回路は、圧縮処理されるデータが、メタデータ構造内の情報だけから生成される（例えば、「コンパクト型」のデータ・タイプの場合）べきなのか、それとも、対応するビットマップ構成部分に記憶されているデータを読み出すことにより生成されなければならない（例えば、「非コンパクト型」のデータ・タイプの場合）のかを、各メタデータ構造を使用して、データ・タイプ情報フィールドの値から判断する。以上より、処理ステップ３０８において当該ビットマップ圧縮処理回路が実行する処理によって、「非コンパクト型」ではないデータを含む構成部分をビットマップ・メモリから読み出す必要性が回避されるので、ビットマップ・メモリにアクセスするための通信帯域幅の使用量を減らすことが可能となる。
【００４４】
上記のような「コンパクト型」のデータ・タイプによるデータ表現とは別に、ビットマップ・メモリ内の対応する構成部分を表現する圧縮対象データをビットマップ圧縮処理回路が生成するのに充分な情報をメタデータ構造が単独で提供することが可能である。処理ステップ３０４から処理ステップ３０８までの一連の処理の実行を完了することにより、ビットマップ・メモリをアクセスするのに要する通信帯域幅の使用量を従来よりも少なくしながら、圧縮処理されたビットマップの形式で紙面全体の表示画像を表現した画像データが生成される。
【００４５】
図４は、紙面全体を表示する画像に関する複数のデータ・オブジェクトを処理するために実行される処理フローの一実施例を示すフローチャートである。処理ステップ４００においては、紙面全体の表示画像を生成するために処理される次の（図４のフローチャートの開始時点においては最初の）データ・オブジェクトを一つ取得する。続いて、処理ステップ４０２においては、当該データ・オブジェクトが標準的なビットマップ処理技術を使用してビットマップ・メモリ内に書き込まれるならば、当該ビットマップ・メモリ内のどの構成部分が当該データ・オブジェクトの書き込みによって影響を受けることとなるかを判定する。上記のような影響を受けることとなるビットマップ構成部分は、当該データ・オブジェクトの幾何学的パラメータ（例えば、境界ボックスの寸法やビットマップ・メモリ内のオブジェクト表示位置）を様々なビットマップ構成部分が表す表示オブジェクトの寸法と比較することによって判定することが可能である。データ・オブジェクトの書き込みによって上記のような影響を受ける全てのビットマップ構成部分の各々について、以下の処理ステップ４０４から処理ステップ４１４までの一連の処理が繰り返し実行される。
【００４６】
処理ステップ４０４においては、上記のような影響を受ける全てのビットマップ構成部分とそれぞれ対応する複数のメタデータ構造の中から次の（処理ステップ４０４の最初の実行時点においては最初の）メタデータ構造を一つ取得する。続いて、処理ステップ４０６においては、特定のデータ・オブジェクトが処理されたことに伴って、当該メタデータ構造内のデータ・タイプ情報フィールドに対する何らかの変更内容を表すために、当該メタデータ構造内のデータ・タイプ情報フィールドの値を更新する。加えて、現在処理中のデータ・オブジェクトがメタデータ構造内においてコンパクト表現形式で表現されるべきであるならば、それに応じて、現在処理中のデータ・オブジェクトを表現するために当該メタデータ構造内のデータ指示情報フィールドを更新する。
【００４７】
処理ステップ４０６において実行される処理のさらに詳細な内容の具体例については、本明細書中の以下の記述において後述する。一般的な場合においては、データ・オブジェクトの書き込みにより対応するビットマップ構成部分が受けた影響が、メタデータ構造内のフィールド（またはメタデータ構造内のフィールドとデータ指示情報フィールドによって表現されメモリ中に保存されているデータ・オブジェクトとの組み合わせ）によってコンパクト表現形式で表現されるならば、「コンパクト型」のデータを示すようにデータ・タイプ情報フィールドの値が更新される。
【００４８】
データ・オブジェクトの書き込みにより対応するビットマップ構成部分が受けた影響をコンパクト表現形式により表現することが出来ない場合には、データ・タイプ情報フィールドの値が、「非コンパクト型」のデータ・タイプを示す値に更新され、データ・オブジェクトの書き込みによる当該影響は、そのままの形で対応するビットマップ構成部分に書き込まれる（以下の処理ステップ４１２を参照されたい）。例えば、あるデータ・オブジェクトの表示内容と別のデータ・オブジェクトの表示内容とが互いに重なり合っている状態は、（幾つかの場合においては）コンパクト表現形式で表現することが出来ない可能性があり、従って、そのような場合には、ビットマップ・メモリへのデータ・オブジェクトの書き込みによって影響を受ける該当ビットマップ構成部分に対して、当該データ・オブジェクトが単に書き込まれるだけである。しかしながら、当該データ・オブジェクトが、上記のような影響を受ける該当ビットマップ構成部分に書き込まれる前に、その該当ビットマップ構成部分内に以前に書き込まれたデータ・オブジェクトであって、依然として可視的な状態のままであるオブジェクトが存在する場合には、コンパクト表現形式のデータをまず先にその該当ビットマップ構成部分に書き込むことによって、以前に書き込まれたオブジェクトを記憶するメモリ部分を初期化する。
【００４９】
代替的に、本発明を実施する際に考慮すべき設計事項として、本発明を応用すべき具体的な応用分野を考慮して本発明の実施態様を最適化するために、一つ以上の特定のオブジェクト又は複数のオブジェクトを組み合わせた特定の組み合わせが、ビットマップ・メモリ内に書き込まれる。本発明に係るその他の実施例においては、データ・オブジェクトの一部分や境界部分は、対応するビットマップ構成部分が表示する領域のごく一部しかカバーしていない場合もあり得る。繰り返し述べるが、本発明を実施する際に考慮すべき設計事項として、上記のように、対応するビットマップ構成部分が表示する領域のごく一部だけをデータ・オブジェクトの一部分がカバーしている状態は、対応するメタデータ構造によって表現できる場合も表現できない場合もある。
【００５０】
上記のような影響を受けるビットマップ構成部分が如何なる状態となることが可能であり、その結果として、メタデータ構造内においてコンパクト表現形式で表現可能となるか否かを判定するために、上述した経験則に加えて、その他の経験則に基づく判定動作を処理ステップ４０６が実行する処理において採用することが出来る。従って、処理ステップ４０６においては、上記のような影響を受けるビットマップ構成部分に関してコンパクト表現形式によるデータ表現が可能であるか否かについての判断がなされ、かつ、本発明を応用すべき個々の応用目的において上述したコンパクト表現形式によるデータ表現が望ましい結果をもたらすか否かについての判断がなされる。
【００５１】
処理ステップ４１０においては、メタデータ構造内のデータ・タイプ情報フィールドの値が「非コンパクト型」のデータ・タイプを表す値に更新されているか否かを判定する。「非コンパクト型」のデータ・タイプを表す値に更新されているならば、図４のフローチャートの実行は処理ステップ４１２に進み、当該データ・オブジェクトから導き出されたラスタ化データを対応するビットマップ構成部分に書き込む。処理ステップ４１０における判定結果がいずれの場合であっても、図４のフローチャートの実行は処理ステップ４１４に進み、オブジェクトの書き込みによる影響を受けることにより続いて処理されるのを待っている別の構成部分がビットマップ・メモリ内にまだ残っているか否かが判定される。
【００５２】
処理ステップ４１４において、続いて処理されるのを待っている別の構成部分がビットマップ・メモリ内にまだ残っていると判定された場合には、図４のフローチャートの実行は、処理ステップ４１４から処理ステップ４０４へと戻る反復実行ループに沿って再び処理ステップ４０４に戻り、該当するメタデータ構造を処理する。このとき、上述した該当するメタデータ構造とは、ビットマップ・メモリ内に書き込まれた当該データ・オブジェクト及びその書き込みによる影響を受ける別の構成部分の両者に対応しているメタデータ構造である。他方、処理ステップ４１４において、続いて処理されるのを待っている別の構成部分がビットマップ・メモリ内にもう存在しないと判定された場合には、図４のフローチャートの実行は、処理ステップ４１６に進み、この紙面全体の表示画像の生成のために続いて処理されるのを待っている別のデータ・オブジェクトがまだ残っているか否かが判定される。続いて処理されるのを待っている別のデータ・オブジェクトがまだ残っていると判定された場合には、図４のフローチャートの実行は、処理ステップ４１６から処理ステップ４００へと戻る反復実行ループに沿って再び処理ステップ４００に戻り、この紙面全体の表示画像の生成のために処理される次のデータ・オブジェクトを取り出して処理する。続いて処理されるのを待っている別のデータ・オブジェクトがもう存在しないと判定された場合には、図４のフローチャートの実行は終了する。
【００５３】
本発明に係る一実施例においては、処理ステップ４０６の説明において上述した方法によりメタデータ構造の内容を更新する処理動作は、上記のような影響を受けるビットマップ構成部分が、これと対応するメタデータ構造によってコンパクト表現形式で表現可能であるか否かを判定する処理動作を具備している。上述したとおり、この判定動作は、上記のような影響を受けるビットマップ構成部分がコンパクト表現形式で表現可能であるか否かを判定する処理動作だけでなく、本明細書中で説明される技術的特徴と技術的側面を実施する際に考慮すべき設計事項に基づいて、コンパクト表現形式によるデータ表現が望ましい結果をもたらすか否かを判定する動作をさらに伴うことが可能である。
【００５４】
例えば、データ・オブジェクトの書き込みによりビットマップ・メモリ内のごく一部の構成部分だけしか影響を受けていない場合であっても、ビットマップ内の構成部分をコンパクト表現形式で表現するようにすることができる。加えて、上記のような影響を受けるビットマップ構成部分において複数のオブジェクトの表示内容が特定の態様で互いに重なり合っている状態であっても、ビットマップ内の構成部分をコンパクト表現形式で表現するようにすることができる。
【００５５】
もしも、新たに書き込まれたデータ・オブジェクトがメタデータ構造によってコンパクト表現形式で表現することが出来ない場合、先行して処理された一つ以上のオブジェクトが当該メタデータ構造と対応する構成部分に対して既に書き込まれている状態（メタデータ構造内のデータ・タイプが「非コンパクト型」であることが既に示されている状態）であることを当該メタデータ構造が現時点において示しているか否かを続いて判定する。上述した状態であることを当該メタデータ構造が示しているならば、処理の実行を終了する。上述した状態であることを当該メタデータ構造が示していないならば、データ・タイプ情報フィールドの値は、「非コンパクト型」を示す値に変更され、上記のような影響を受けるビットマップ構成部分に関して決定されたデータ表現形式で既に表現がされている全てのデータ・オブジェクトは、ビットマップ・メモリ内に書き込まれる。
【００５６】
具体的には、現在のメタデータ構造により表現されているデータが、ビットマップ構成部分に書き込まれる。言い換えるならば、当該メタデータ構造内において「コンパクト型」として現在表現されている状態のデータ・オブジェクトが対応するビットマップ構成部分に書き込まれる。
【００５７】
先行して処理されたこれらのオブジェクトは、ビットマップ・メモリ内にまだ書き込まれてはいないので、新たに書き込まれるべきデータ・オブジェクトから導き出されたデータが、上記のような影響を受けるビットマップ構成部分に書き込まれるよりも先に、先行して処理されたこれらのオブジェクトを当該影響を受ける構成部分に書き込まなくてはならない。続いて、このメタデータ構造及び当該新しいデータ・オブジェクトの書き込みにより影響を受ける対応するビットマップ構成部分の処理の実行を完了するために、データ・タイプ情報フィールドの値は、「非コンパクト型」を示す値に設定される。
【００５８】
新たに書き込まれるべきデータ・オブジェクトが現在のメタデータ構造によってコンパクト表現形式で表現可能であること（および、コンパクト表現形式で表現することが本発明を実施する際に考慮すべき設計事項に鑑みて望ましいこと）を現在のメタデータ構造が示していると判定された場合、当該新たに書き込まれるべきデータ・オブジェクトが当該書き込みによって影響を受けるビットマップ構成部分の内容を変更するような影響を生じるか否かが続いて判定される。例えば、オブジェクトの表示内容が同一色のベタ塗りを表していることにより、当該メタデータ構造が「コンパクト型」のデータ・タイプを表している場合、および、当該新たに書き込まれるべきデータ・オブジェクトが当該ベタ塗りされる色を変更しない場合（例えば、新たに書き込まれるオブジェクトの表示色も同じ色であったり、透明色であったりする場合）、当該新たに書き込まれるオブジェクトはそのビットマップ構成部分を変更しないので、処理の実行を終了する。
【００５９】
当該データ・オブジェクトの書き込みにより、対応するビットマップ構成部分のメタデータ構造中でのデータ表現形式が変更されたと判定した場合には、データ・タイプ情報フィールドの値が「コンパクト型」のデータ・タイプを示す値に更新され、データ指示情報フィールドの値が、新たに書き込まれるべきデータ・オブジェクト自体を表現する情報内容に設定される（例えば、データ指示情報フィールドのフィールド値をメモリ中に保存されたデータ・オブジェクトのアドレスを間接的に指し示している参照ポインタ値に設定する、さもなければ、フィールド内にデータ・オブジェクト本体を符号化した情報を格納する）。これにより、上記のような影響を受けるビットマップ構成部分に対応するメタデータ構造に対する処理の実行は完了する。
【００６０】
本発明に係る一実施例においては、他のオブジェクトに対して表示内容の重ね合わせを行うデータ・オブジェクトの書き込みが、当該重ね合わせを受ける既存の一つ以上のビットマップ構成部分に対して与える具体的な影響は、データ・オブジェクトの具体的なセマンティクスに依存して決まる。本発明の技術的特徴と技術的側面を実施するための設計事項に応じて、多種多様な種類のデータ・オブジェクトの何れもが、ビットマップに書き込まれる対象として偶然に現れ得る。一般的に、全ての種類のデータ・オブジェクトは、画素の集合体と考えることが可能であり、各画素は、色彩と透明性を表すための何らかの値を持っている。
【００６１】
一般的に、全ての種類のデータ・オブジェクトは、上記のような画素の値が２次元的に並んだ２次元配列構造として表現される（例えば、長方形の境界線の中の多数の画素値から成るボックス領域）。一つの画素の値は様々な方法で符号化することが可能である。例えば、フルカラー表示されるデータ・オブジェクトは、３原色の各々と黒色に対応する４つの色彩プレーン上の画素毎の輝度値によって表示内容を定義することが可能である。さらに別の具体例を挙げるならば、各画素の値は、事前に定義された複数の色彩値を格納している色彩テーブル（例えば、パレット）の中に含まれる何れかの色彩値を参照しているインデックス値を単に符号化した値であっても良い。加えて、各画素値は、画素が透明色である（すなわち、ビットマップ上に何の視覚的効果も現さない）度合いを表す透明度の値またはある程度の半透明性を持った色彩値（すなわち、上述した値によって指定される色彩値）をさらに符号化したものであっても良い。
【００６２】
本発明に係る技術的特徴と技術的側面は、データ・オブジェクトの符号化と形状に関して上述した全ての方式の中の何れを使用して実施されても良い。本発明に係る一実施例においては、データ・オブジェクトは以下に列挙する４種類の汎用カテゴリの何れか一つに分類することが可能である。これらは、（１）長方形オブジェクト、（２）透明色のマスク・パターン、（３）パレット、および（４）表示可能な透明度および／または光透過性を有する画像オブジェクトの４つのカテゴリである。
【００６３】
「長方形オブジェクト」は、長方形の領域を表現する何らかのデータ・オブジェクトであり、当該長方形領域内の各画素の値は、特定の不透明な色彩値を表している。従って、長方形オブジェクトは、典型的には、自身が表示する長方形領域の幾何学的な寸法と単一の色彩値によって定義される。従って、「長方形オブジェクト」は、ビットマップ構成部分内において、これと対応するメタデータ構造によって、「コンパクト型」のデータとしてコンパクト表現形式で表現することが可能であり、この際、データ指示情報フィールドは、メモリ中に保存されたデータ・オブジェクトを参照ポインタにより参照しているか、または表示される長方形の幾何学的寸法と色彩値を符号化した情報を格納するかのいずれかである。
【００６４】
「透明色のマスク・パターン」は、マスク・パターンを形成する各画素の値が、「透明色を表すビット値」または「透明ではない具体的な色彩を表すビット値」の何れか一方である何らかのデータ・オブジェクト（典型的な場合においては、その輪郭形状はやはり長方形であるが、必ずしもそうであるとは限らない）である。この種のデータ・オブジェクトは、２層構造の画像と呼ばれる場合もある。文字列から成るテキスト表示オブジェクトは、しばしば、このような「透明色のパターン」によって表現される。「透明色のマスク・パターン」において、文字コードによって表される文字またはそのような文字から成る文字列は、境界ボックス線によって囲まれ透明色のビット値で埋められた背景領域の上に一連の不透明な画素（その全てが同一色である）によって描かれる不透明なパターンとして表現され、上述した透明な背景領域は、ビットマップ・メモリ内の既存の内容に対して全く影響を与えない。上記のような「透明色のマスク・パターン」がビットマップ・メモリに書き込まれる際には、不透明な画素によって描かれる不透明なパターンだけがビットマップ・メモリ内に書き込まれ、他方、透明な背景部分の画素は、ビットマップ・メモリ内の既存の内容に対して何の効果も及ぼさないので、その結果、ビットマップ・メモリ内の該当する画素位置に以前から記憶されていた内容は変更されないままとなる。典型的には、「透明色のマスク・パターン」は、透明色の背景領域とその領域内で不透明な画素によって描かれる不透明なパターンを有する長方形領域として定義される。従って、「透明色のマスク・パターン」であるデータ・オブジェクトは、ビットマップ構成部分内において、これと対応するメタデータ構造によって、「コンパクト型」のデータとしてコンパクト表現形式で表現することが可能であり、この際、データ指示情報フィールドは、メモリ中に保存されたデータ・オブジェクトを参照ポインタにより参照している。
【００６５】
「パレット」は、一つ以上の色彩で塗りつぶされた何らかの輪郭形状を定義する任意のデータ・オブジェクトであり、当該一つ以上の色彩は、有限個の色彩から成る色彩群（パレット）の中から選択された色彩である。従って、「パレット」オブジェクトにおいては、各色彩は、比較的狭い数値範囲にわたるパレット値の中の一つを示すインデックス値によって指定される。そのような「パレット」オブジェクトの一実施例においては、パレット色彩値を示すインデックス値の中に一つは、透明色の画素を表す値として予約しておかなくてはならず、それ以外のパレット色彩値を示すその他の全てのインデックス値は、パレット・テーブル内においてそれぞれ対応している透明色以外の色彩値を示している。従って、「パレット」であるデータ・オブジェクトは、ビットマップ構成部分内において、これと対応するメタデータ構造によって、「コンパクト型」のデータとしてコンパクト表現形式で表現することが可能であり、この際、データ指示情報フィールドは、メモリ中に保存されたデータ・オブジェクトを参照ポインタにより参照している。
【００６６】
「画像オブジェクト」は、各画素が色彩スペクトル内の一つの画素値を有している何らかのデータ・オブジェクトである。写真画像は、そのような「画像オブジェクト」の一例である。典型的には、「画像オブジェクト」は、上記のような画素値から成る長方形の領域として定義される。従って、「画像オブジェクト」であるデータ・オブジェクトは、ビットマップ構成部分内において、これと対応するメタデータ構造によって、「コンパクト型」のデータとしてコンパクト表現形式で表現することが可能であり、この際、データ指示情報フィールドは、メモリ中に保存されたデータ・オブジェクトを参照ポインタにより参照している。加えて、画像オブジェクト内の画素データは、（例えば、ＬＺＷやＪＰＥＧなどのように）標準化され一般に周知となっている様々な画像符号化技術を使用して圧縮処理し、符号化処理することが可能である。
【００６７】
上記において例示した４種類のカテゴリに属する複数のデータ・オブジェクトが、紙面上の所望の位置に各データ・オブジェクトを配置する手段によって、所望のビットマップ構成部分と関係付けられる際には、当該データ・オブジェクトは、一連の構成部分から成る系列によって表現することが可能であり、それらの構成部分は、土台となる紙面全体の表示領域の中のそれぞれの部分領域に整然と配置されている。各データ・オブジェクトが紙面全体の表示領域内のどこに位置するかに応じて、オブジェクトの書き込みによって影響を受けるビットマップ構成部分の幾つかにはデータが全体を埋め尽くすように書き込まれ、当該影響を受けるビットマップ構成部分の残りの幾つかには、データが部分的にしか書き込まれない。例えば、「長方形オブジェクト」であるデータ・オブジェクトは、長方形領域の境界付近の部分であって、オブジェクトの書き込みによる影響を部分的にしか受けない構成部分（すなわち、長方形のエッジ部分）とオブジェクトの表示色によって塗りつぶされる構成部分（すなわち、長方形の中央部分であって、長方形オブジェクトの書き込みによって完全に埋め尽くされる構成部分）を含むことが可能である。同様に、長方形オブジェクト以外の様々なカテゴリのデータ・オブジェクト（画像オブジェクト、透明色のマスク・パターン、パレット型オブジェクトなど）は、カテゴリ毎にそれぞれ異なる態様でビットマップ構成部分に影響を及ぼし、その場合、オブジェクトの書き込みで完全に埋め尽くされるビットマップ構成部分がある反面、データ・オブジェクトの境界エッジ部分のデータが書き込まれることによって、部分的にしか影響を受けないビットマップ構成部分もある。上述したように、データ・オブジェクトの処理によって部分的にしか影響を受けないビットマップ構成部分は、それにもかかわらず、当該ビットマップ構成部分と対応するメタデータ構造によってコンパクト表現形式で表現されることが可能である。
【００６８】
データ・オブジェクトが処理されることにより、上記のような影響を受けるビットマップ構成部分と対応しているメタデータ構造が更新されてゆくのに伴って、上述したカテゴリに属する複数のデータ・オブジェクトから成る組み合わせを、オブジェクトの書き込みによる影響を受ける単一のビットマップ構成部分の中において処理することが可能となる場合がある（例えば、一連のデータ・オブジェクトの各々が、互いの間で共通のビットマップ構成部分に対してそれぞれ上書きや何らかの方法による画素データの追加を実行するような場合がある）。
【００６９】
本発明に係る一実施例においては、データ・オブジェクトの処理により一つのビットマップ構成部分が受ける影響の具体的内容は、現時点において関連しているデータ・タイプに部分的に依存しており、当該データ・タイプは、対応するメタデータ構造内において示されている。一般的に、当該影響を受けるビットマップ構成部分が、これと対応するメタデータ構造内において「コンパクト型」のデータ・タイプであると現在示されている場合には、続いて処理されることにより当該ビットマップ構成部分を書き込みデータで埋め尽くすことになる後続のデータ・オブジェクトは、典型的には、「コンパクト型」のデータ・タイプをそのまま維持するが、新たに書き込まれるデータ・オブジェクトを表現するために、データ指示情報フィールドを更新する。
【００７０】
対応するメタデータ構造によってコンパクト表現形式で現在表現されているビットマップ構成部分を、当該新たに書き込まれるデータ・オブジェクトが部分的にしかカバーしない場合には、データ・タイプを「非コンパクト型」に変更することが可能であり、それにより、先行して処理されたデータ・オブジェクトによる影響と当該新たに書き込まれるデータ・オブジェクトによる部分的な影響とが混ざり合った混合的な影響が表現される。
【００７１】
「透明色のマスク・パターン」であるデータ・オブジェクトが処理される場合、対応するメタデータ構造によって「コンパクト型」のデータ・タイプとして現在表現されているビットマップ構成部分に対して当該データ・オブジェクトが及ぼす影響は、先行して処理され書き込まれたデータ・オブジェクトが何であったかに依存する場合がある。上述した幾つかの具体例から分かるとおり、多種多様なデータ・オブジェクトとそれらの組み合わせは、上記のような影響を受けるビットマップ構成部分と対応しているメタデータ構造においてコンパクト表現形式で表現可能である一方で、一つのビットマップ構成部分に影響を及ぼすデータ・オブジェクトのさらに別の組み合わせは、ビットマップ・メモリ内の該当する構成部分への書き込みを要する「非コンパクト型」のデータ表現を必要とする場合がある。
【００７２】
上述したとおり、ビットマップ圧縮処理回路１０４は、メタデータ構造を使用して紙面全体の表示画像を圧縮処理することにより得られる圧縮画像データ表現を生成する。そのような実施例においては、当該圧縮画像データ表現は、ビットマップ・メモリ全体を横切る水平方向ライン（例えば、走査ラインの各々）を一本ずつ走査しながら走査ラインの各々が横切るビットマップ内領域に対応するメタデータ構造から圧縮処理された画像データ部分を順次生成してゆくことによって生成することが可能である。
【００７３】
さらなる実施例においては、当該圧縮画像データ表現は、ビットマップ画像データをランレングス符号によって符号化するためのＰａｃｋｂｉｔｓ圧縮方式に従って生成される。Ｐａｃｋｂｉｔｓ圧縮方式においては、同じ８ビット値が繰り返し現れるバイト列を検索することによってビットマップ画像データ内の各行のデータを圧縮処理する。同じ値を反復するデータであるか、走査されるデータであるかを表すために制御バイトが使用され、この制御バイトは、同じ値を反復するデータについてはマイナスの値をとり、走査されるデータについてはプラスの値をとる。上述した制御バイトの絶対値は、同じ値を反復する８ビット値または走査される８ビット値が連続して現れる個数に等しく、この絶対値は一つずつデクリメントされてゆく。
【００７４】
例えば、制御バイトが０から１２７までの間の何れかの値をとるならば、それは、制御バイトの後に続いて、１個から１２８個までの走査される８ビット値が連続して現れることを表しており、制御バイトが−１から−１２７までの間の何れかの値をとるならば、それは、制御バイトの後に続いて、同一の値が、全部で２回から１２８回までの間の回数にわたって反復して現れることを表している。−１２８は未定義の制御バイト値であり、Ｐａｃｋｂｉｔｓ圧縮方式として標準化されていない他の用途のために使用することが可能である。本発明に係る一実施例においては、３個以上の連続する同一の８ビット・データ値は、反復データ列として符号化される（例えば、符号化される前の表現が「０、０、０」となる８ビット・データ列は、「−２、０」と符号化される）。さらに、互いに異なるデータ値が連続するデータ列は、走査されるデータから成るデータ列（すなわち、「リテラル・バイト列」）として符号化される（例えば、符号化される前の表現が「２１、２２、２３、２４」となる８ビット・データ列は、「３、２１、２２、２３、２４」と符号化される）。
【００７５】
紙面全体の表示画像が圧縮処理された後に、紙面全体の表示画像を印刷するために、ビットマップ画像データに対して後続の処理が実行される。具体的には、印刷すべきデータが取り出され、逆圧縮処理され、印刷のために処理される。例えば、印刷のための処理には、ビットマップ画像データを印刷時のビットマップ寸法と同じサイズに変換する処理などが含まれ、さらに、プリンタ装置の印刷プロパティにより「Ｎ−ｕｐ」が指定された場合の印刷用イメージ、紙面内にヘッダ／フッタを追加した印刷用イメージ、または紙面上に透かし画像を重ね合わせ表示するための印刷用イメージなどを表すビットマップ画像データを追加的に生成したり重ね合わせ処理したりする処理も必要となる場合がある。
【００７６】
従来の印刷処理実行過程においては、印刷すべきデータに対して逆圧縮処理と再圧縮処理を実行するために、上述したＰａｃｋｂｉｔｓ圧縮符号化方式により符号化された表現形式のデータをまず画像データに変換し、続いて、Ｐａｃｋｂｉｔｓ方式により符号化された表現形式に戻す処理を実行する必要があった。そのような処理実行過程は、メモリが無駄に使用されるという観点、およびＰａｃｋｂｉｔｓ方式に対応した逆圧縮処理と再圧縮処理を実行するために無駄に時間が費やされるという観点から非効率である。
【００７７】
本発明に係る一実施例においては、Ｐａｃｋｂｉｔｓ方式による圧縮符号化データは、取り出された後に、他のデータ表現形式に変換されずにＰａｃｋｂｉｔｓ形式のまま、紙面全体の表示画像を生成するための後続の処理において使用されるので、逆圧縮処理と再圧縮処理を実行するために費やされる時間を省くことが可能となる。そのような実施例においては、新たに取り出されたデータ・オブジェクトをカテゴリ毎に分類する処理として、上述した４つのカテゴリ「長方形オブジェクト」、「透明色のマスク・パターン」、「パレット」および「画像オブジェクト」に新たなカテゴリとして「Ｐａｃｋｂｉｔｓ型オブジェクト」が加わることにより拡大された５つの分類カテゴリに分類する処理が実行されるようになる。
【００７８】
さらなる実施例においては、紙面上で「Ｐａｃｋｂｉｔｓ型オブジェクト」が配置されている領域は、長方形データとしてメモリ中に保存されており、背景パターンは同一色で塗りつぶされ、「Ｐａｃｋｂｉｔｓ型オブジェクト」の色彩属性とは、Ｐａｃｋｂｉｔｓ形式データにおいて定義されているものと同様のオフセットを指して言っている。さらには、複数の表示オブジェクトが融合して見えたり裏側の表示オブジェクトが透けて見えたりする視覚的効果を実現可能とするために、「Ｐａｃｋｂｉｔｓ型オブジェクト」のデータと共に、透明性（及び場合によっては光透過性）に関する属性データを格納することが可能であり、この場合、透明色の表示領域においては、その裏側にある同一色で塗りつぶされた背景パターンだけが見えている。同一色で塗りつぶされていない背景パターン（例えば、上記のタイル状態）は、透明色表示が有効化されている場合には、一般に「非コンパクト型」のタイルが生成される結果となり、タイルの全領域が透明色の領域によって完全に上書きされる場合には、何の影響も受けない。
【００７９】
さらに、「Ｐａｃｋｂｉｔｓ型オブジェクト」を有するタイルが上述した仕組みによって処理される結果、Ｐａｃｋｂｉｔｓ型の表示アイテムは、メタデータ構造内のデータ指示情報フィールド２４２に格納されている参照ポインタを辿ることによって見出され、Ｐａｃｋｂｉｔｓ型の表示アイテムは、色彩を生成する非コンパクト型のビットマップ構成部分に対応するオブジェクトとは異なる種類の他のオブジェクトと合成される。従って、「Ｐａｃｋｂｉｔｓ型オブジェクト」と対応するタイルの処理は、図４を参照しながら上述したように、メタデータ構造内において示される「コンパクト型」と「非コンパクト型」の区別に従って実行制御される。
【００８０】
例えば、紙面全体の表示画像の生成のために「Ｐａｃｋｂｉｔｓ型オブジェクト」が取り出される場合、ビットマップ・メモリ内のどの構成部分が「Ｐａｃｋｂｉｔｓ型オブジェクト」の書き込みによる影響を受けるかについての判定動作が実行され、次に影響を受けることとなるビットマップ構成部分と対応するメタデータ構造が取り出され、当該メタデータ構造内のデータ・タイプ情報フィールドの値に対する変更内容を反映させるために、当該データ・タイプ情報フィールドの値が更新され、その結果、現在処理中のデータ・オブジェクトが当該メタデータ構造内において「コンパクト表現形式」で表現可能であるか否かに応じて、当該データ・オブジェクトが表現される。従って、「Ｐａｃｋｂｉｔｓ型オブジェクト」が処理されることによって生じる効果として、印刷のための再圧縮処理に先立ってビットマップ画像データに対して実行される後続の処理の実行期間中において、「Ｐａｃｋｂｉｔｓ型オブジェクト」に対応するタイルに遭遇した際に、参照されている「Ｐａｃｋｂｉｔｓ型オブジェクト」からデータが抽出される。
【００８１】
続いて、図３を参照しながら上述した処理ステップ３０８の動作に従って、紙面全体の表示画像が圧縮処理される。しかしながら、紙面全体の表示画像に対する圧縮処理の実行中において、「Ｐａｃｋｂｉｔｓ型オブジェクト」からのデータは、圧縮処理されること無しに、単に再配置され、対応するビットマップ領域内に挿入されるだけである。何故なら、「Ｐａｃｋｂｉｔｓ型オブジェクト」のデータ表現形式は、既に圧縮処理されたデータ形式だからである。例えば、「Ｐａｃｋｂｉｔｓ型オブジェクト」だけを含んでいるタイルは、逆圧縮処理や後続の圧縮処理を実行されることなく、紙面を表示するビットマップ内の該当する領域部分に挿入され、他方、「Ｐａｃｋｂｉｔｓ型オブジェクト」とそれ以外のオブジェクトが混在しているタイルに関しては、逆圧縮処理や後続の圧縮処理が追加的に必要となる。
【００８２】
＜上塗りコーティング処理＞
上述したとおり、上塗りコーティング用プレーン（ＯＣ（OverCoat）プレーン）に対する処理の実行により、ページ面上に供給すべき上塗りコーティング用のインク（ＯＣインク）の適量を判定することが可能である。本発明に係る一実施例に従うならば、上述のように圧縮処理されたＣＭＹＫ画像形式の出力データから導き出された値を使用することにより、上塗りコーティング処理のための数多くの計算処理を省くことが可能となる。そのような実施例においては、データを逆圧縮処理したり、逆圧縮処理される別個の上塗りコーティング用プレーンを処理したりする必要無しに、ＣＭＹＫ画像形式の上塗りコーティング用プレーンの各々を決定するために、Ｐａｃｋｂｉｔｓ方式に基づく画素値のラン（ｒｕｎ）走査が実装される。
【００８３】
本発明に係る一実施例においては、各画像プレーン内の圧縮処理されたデータは、同一の画素データが連続するラン（ｒｕｎ）、または個々の画素値を含んでいる。従って、４枚の画像プレーンを画面表示するのと並行して、同一の色彩値が連続するラン（ｒｕｎ）（例えば、各画像プレーン毎に同一色彩値が連続して成るラン（ｒｕｎ））または個々のＣＭＹＫ形式の色彩値を記述するためのメタデータ・マッピング情報が生成される。ラン（ｒｕｎ）の走査経路に沿った上塗りコーティングの値を見出すために、単一の計算処理のみが使用される。従って、圧縮処理されたビットマップ画像データをそのまま直接使用することにより、Ｐａｃｋｂｉｔｓ符号化形式の上塗りコーティング処理用ビットマップ画像データを導き出すことが可能となる。
【００８４】
本発明に係る一実施例においては、ビットマップ圧縮処理回路が初期化される時点において、上塗りコーティング（ＯＣ（OverCoat））処理の設定内容が紙面全体の構造に関する情報から読み出され、要求されたＯＣ解像度とその他のパラメータ値に従って、現在設定されている様々な変数の値が初期化される。そのような実施例においては、個々のＯＣ関数とそのパラメータ値との間の対応関係を格納している検索テーブルがアクセスされる。
【００８５】
さらなる実施例においては、ＯＣプレーンは、タイル毎に分割されたメタ画像と見做すことが可能である（例えば、全てのタイルは同じ大きさ（または縮小されたサイズ）であり、ＣＭＹＫ画像プレーンとして表現されており、画像プレーン内のタイルは、行単位で画像プレーン内を上から下に向かって順次処理されてゆく）。タイルが行方向に並んだ各行は、行毎にそれぞれ対応する本数のＯＣ走査ラインを有することが可能であり、最後の行に近づくほど当該走査ラインの本数は少なくなる。さらには、そのような行に沿った全ての走査は、互いに構造が同一である（例えば、一部は特定のＯＣ値を有していることが分かっているが、それ以外の部分においてはＯＣ値を動的に計算する必要がある）。
【００８６】
本発明に係る一実施例に従うならば、ＯＣプレーン内のタイル（ＯＣタイル）の種別は「ソリッド型」または「非コンパクト型」の何れか一方の種別であると想定する。「ソリッド型」のタイルと対応している表示領域内に含まれる全てのＯＣ画素は、全て同一の既知の値を有しており、「非コンパクト型」のタイルと対応している表示領域内に含まれる全てのＯＣ画素の値は、対応するＣＭＹＫ画像プレーン内の対応する表示領域に含まれる画素値から算出される。ＯＣプレーン内において「ソリッド型」であるタイルは、Ｃ、Ｍ、ＹおよびＫの４枚の画像プレーン内においてそれぞれ「ソリッド型」であるタイルの４つ組と対応しており、ＯＣプレーン内において「非コンパクト型」であるタイルは、Ｃ、Ｍ、ＹおよびＫの４枚の画像プレーン内におけるタイルを組み合わせた他の全ての組み合わせと対応している。従って、ＯＣ圧縮処理の第１段階においては、ＯＣプレーン内において「非コンパクト型」であるタイルと対応しているＣＭＹＫプレーン内の全ての画素を画像プレーン単位でラスタ化する処理が実行される。
【００８７】
本発明に係る一実施例においては、ＯＣプレーン内のタイル（ＯＣタイル）から成る一つの行は、反復実行ループ処理が一回実行される毎に処理される。各行毎に行内のＯＣタイルは、対応するＣＭＹＫプレーン内のタイルから決定され、これらＯＣタイルの種別と左右のトラクター・マージンに基づいて、ＯＣプレーン上での走査ライン（ＯＣ走査ライン）の構造が決定される。本発明に係る一実施例においては、セグメント・バッファが使用され、その際、各セグメントは３２ビット幅を持つ２個の整数値によって記述され、第１のセグメントは、ＯＣ画素のセグメント長とその種別（例えば、事前に計算済みか、それとも特定のＯＣ種別を使用して計算するのか）を指定し、第２のセグメントは、事前に計算済みのＯＣ値またはＯＣ走査ラインの開始点を基準とした相対的なオフセットの何れか一方を指定する。続いて、現在の行と対応しているＯＣ走査線の各々について、セグメントのリストが処理される。
【００８８】
図５は、上塗りコーティング処理を実行するための処理フローの一実施例を示すフローチャートである。処理ステップ５１０においては、上述したセグメント・リスト内の一つのセグメントが解析される。処理ステップ５２０は判断ブロックであり、当該セグメントが「ソリッド型」のセグメントであるか否かが判定される。「ソリッド型」のセグメントである場合、セグメント長とＯＣ値は既知であるので、図５のフローチャートの実行は処理ステップ５３０に進み、当該セグメントに関して圧縮処理されたデータが直接的に生成される。
【００８９】
続いて、処理ステップ５４０においては、続けて処理されるのを待っている別のセグメントがまだ残っているか否かが判定される。処理されるのを待っている別のセグメントがまだ残っているならば、図５のフローチャートの実行は処理ステップ５１０に戻り、処理されるのを待っていた次のセグメントが処理され、そうでなければ、フローチャートの実行を終了する。処理ステップ５２０の判断ブロックにおいて、セグメントの種別が「ソリッド型」であると判定されたならば、図５のフローチャートの実行は処理ステップ５５０に進み、当該セグメントに関して逆圧縮処理されたＯＣ値が計算される。
【００９０】
本発明に係る一実施例においては、当該セグメントに関するＯＣ値は、Ｃ、Ｍ、ＹおよびＫの４つの画像プレーンにそれぞれ含まれる４つの対応するセグメントを使用して計算される。さらなる実施例においては、Ｃ、Ｍ、ＹおよびＫの４つの画像プレーンにおいて出力ＯＣ画素値とそれぞれ対応している入力画素値を平均した値を計算する処理は、ＯＣ計算のために実行される。続いて、当該平均値に関するＯＣ値を得るために、事前に計算された検索テーブルの検索処理が実行される。
【００９１】
処理ブロック５６０においては、ＯＣ値（上塗りコーティング値）が圧縮処理される。本発明に係る一実施例に従うならば、追加的に必要となるメモリ量が最小限となるようにＯＣ画素値をＣＭＹＫ色彩プレーンから動的に推定するために、ＯＣ値はメタデータ構造からの情報を使用して圧縮処理される。加えて、ＣＭＹＫ画像プレーンから入力された同一の入力が複数の異なるＯＣ出力にマッピングされるようにするために、複数のＯＣ関数タイプを実装することが可能である。さらに、出力画像を垂直方向に分割した複数の区画に対して複数の異なるＯＣ関数を使用する（例えば、マージン／トラクター区画においてはユーザ区画とは異なるＯＣ関数が使用可能である）ことが可能であり、ＯＣ出力は、入力されたＣＭＹＫ画像プレーンと同じ解像度またはそれより低い解像度（雇えば、縦軸と横軸の両方向に１／２ずつ低下させた解像度）で生成することが可能である。
【００９２】
本発明に係る一実施例においては、これらのＯＣ関数種別は、ＣＭＹＫ値に応じてＯＣ値（上書きコーティング値）を取得するための複数の異なる方法を示している。例えば、比較的単純な事例には、ＣＭＹＫプレーン内の画素値とは無関係に、３０％または５０％のＯＣ値（上書きコーティング値）を生成する定数関数が含まれ得る。さらに別の例としては、平均のインク量に比例するＯＣ値を選択するのに先立って、平均のインク量を決定するために、ＣＭＹＫプレーン内の画素値を実際に使用するＯＣ関数がある。さらに別の例としては、ページ内のトラクター区画（設定可能な幅を有するサイドマップの左と右の部分）とそれ以外の区画とを区別するために使用されるＯＣ関数がある。
【００９３】
上記のように計算されたＯＣ値が一旦圧縮処理されたならば、フローチャートの実行は処理ステップ５４０に戻り、続けて処理されるのを待っている別のセグメントがまだ残っているか否かについての判定動作が再度実行される。処理されるのを待っている別のセグメントがまだ残っているならば、図５のフローチャートの実行は処理ステップ５１０に戻り、処理されるのを待っていた次のセグメントが処理され、そうでなければ、フローチャートの実行を終了する。
【００９４】
上塗りコーティング処理に関する上述した仕組みは、画像データの圧縮符号化形式がＰａｃｋｂｉｔｓ形式であるとして説明してきたが、当該技術分野における当業者であれば、他の圧縮符号化形式を使用して上述した仕組みを実現することも可能であることが理解できるはずである。
【００９５】
図６は、圧縮処理されたビットマップ画像データを生成するためのシステム１００および／または逆圧縮処理回路１２５を実装する基盤となり得るコンピュータ・システム６００を例示する図である。コンピュータ・システム６００は、情報を通信するために使用されるシステム・バス６２０、および情報を処理するためにバス６２０と接続されたプロセッサ６１０を含んでいる。
【００９６】
コンピュータ・システム６００は、ランダム・アクセス・メモリ（ＲＡＭ）またはその他のダイナミック記憶装置である記憶装置６２５（以下、「主記憶装置」と呼ぶ）をさらに具備しており、記憶装置６２５は、プロセッサ６１０によって実行される命令コードと情報を記憶するためにバス６２０と接続されている。プロセッサ６１０により命令コードが実行されている期間中に、主記憶装置６２５は、一時的な変数やその他の中間結果を表す情報を記憶するためにさらに使用することが可能である。コンピュータ・システム６００は、読み出し専用メモリ（ＲＯＭ）やその他の静的な記憶装置などの記憶装置６２６をさらに具備することが可能であり、記憶装置６２６は、プロセッサ６１０によって使用される命令コードと静的な情報を記憶するためにバス６２０と接続されている。
【００９７】
磁気ディスクや光学ディスクおよびこれらに対応するドライブ装置などであるデータ記憶装置６２５もまた、情報と命令コードを記憶するためにコンピュータ・システム６００に接続することが可能である。コンピュータ・システム６００はさらに、Ｉ／Ｏインターフェース６３０を介して第２のバスであるＩ／Ｏバス６５０と接続されることが可能である。Ｉ／Ｏバス６５０には複数のＩ／Ｏデバイスを接続することが可能であり、当該複数のＩ／Ｏデバイスには、ディスプレイ装置６２４や入力デバイス類（英数字入力デバイス６２３やカーソル操作型デバイス６２２など）などが含まれる。通信用デバイス６２１は、別のコンピュータ装置（他のサーバ装置やクライアント端末など）にアクセスするためのデバイスである。通信用デバイス６２１は、モデム装置、ネットワーク・インターフェース・カードまたは他の一般に周知なインターフェース・デバイス（例えば、Ｅｔｈｅｒｎｅｔ(登録商標)、トークン・リングまたはその他の種類の有線／無線のネットワークに接続するために使用するインターフェース・デバイス）を具備することが可能である。
【００９８】
本発明に係る複数の実施例は、上述したような多種多様な処理ブロックを含むことが可能であり、それらの処理ブロックは、計算機械により実行可能な命令コードとして具現化することが可能である。それらの命令コードは、汎用プロセッサや特定用途プロセッサに上述した処理ブロックの幾つかを実行させるために使用される。代替的に、ハードウェア回路内においてこれらの処理ブロックを実行するために配線ロジックを実装している専用のハードウェア部品によって、これらの処理ブロックを実行するようにしても良いし、上記ロジックがソフトウェアとしてプログラミングされているコンピュータ部品と専用ハードウェア部品との組み合わせによって、これらの処理ブロックを実行するようにしても良い。
【００９９】
本発明を構成する構成要素は、計算機械により実行可能な命令コードを格納するための機械読み出し可能な記憶媒体の形で提供することも可能である。これらの機械読み出し可能な記憶媒体は、フロッピー（登録商標）ディスク、光学ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気式や光学式のカード、伝送媒体、または電子的命令コードを記憶するのに適したその他の種類の媒体や機械読み取り可能媒体などを含むがこれらだけに限定はされない。例えば、本発明は、ユーザによりダウンロードされることによって、遠隔のコンピュータ（例えば、サーバ）から要求を発したコンピュータ（例えば、クライアント）へと転送されるコンピュータ・プログラムとして実施可能であり、上記コンピュータ・プログラムの転送は、通信回線（モデム装置やネットワーク接続によるもの）を介して伝送される搬送波や他の伝送媒体として具現化されるデータ信号の伝送として実現される。
【０１００】
本明細書の全体にわたる記述を通して、本発明を説明することを目的として、本発明の包括的な理解を可能とするための数多くの具体的詳細内容が記述される。しかしながら、当該技術分野における当業者にとっては、上述した具体的詳細内容の一部を省略した形でも本発明を実施することが可能であることが自明であろう。従って、本発明の技術的範囲と技術思想は、本明細書に添付した請求項の記載によって認定されるべきである。
【図１】
2014171219.tif 000003
【図２】
2014171219.tif 000004
【図３】
2014171219.tif 000005
【図４】
2014171219.tif 000006
【図５】
2014171219.tif 000007
【図６】
2014171219.tif 000008