(57)【要約】【課題】色変換用のメモリ管理システムおよび方法を提供する。【解決手段】カラー電子文書を表わす色入力データを受け取ると、色管理モジュールはデータを分析し、処理を実行するために必要な色変換を決定する。次に、色入力データの分析によって定められた色変換にしたがって、システムメモリ内に複数のルックアップテーブル（ＬＵＴ）を生成する。色変換処理の進行に応じて関連する色変換の各要求のＬＵＴに対応するカウンタをインクリメントまたはデクリメントする。カウンタの値が所定のレベルまでデクリメントされると、システムメモリ内の関連するＬＵＴデータをクリアする。【選択図】図２
2007189674.tif 000002
【特許請求の範囲】
【請求項１】
色付きの電子文書を表す色入力データを受け取る手段と、
前記色入力データを分析する手段を含む色分析器と、
この色分析器の出力と関連して複数の所望の色変換を決定する手段と、
前記色入力データの分析によって定められた複数の色変換にしたがって、メモリ内に複数のルックアップテーブルを作成する手段と、
前記ルックアップテーブルのそれぞれに対応するカウンタと、
関連する色変換の要求ごとにルックアップテーブルに対応するカウンタの値を選択的にインクリメントする手段と、
ルックアップテーブルに対応する前記カウンタの前記値を選択的にデクリメントする手段と、
対応するカウンタの値が特定のレベルまでデクリメントされたときに、前記メモリ内のルックアップテーブルを選択的にクリアする手段と
を有することを特徴とする色変換用のメモリ管理システム。
【請求項２】
対応するカウンタが前記特定のレベルまでデクリメントされていないときに、前記メモリ内のルックアップテーブルを選択的に再使用する手段を、さらに、有することを特徴とする請求項１に記載の色変換用のメモリ管理システム。
【請求項３】
前記ルックアップテーブルは、対応する色変換と関連した関数を保存するキャッシュと関連付けられていることを特徴とする請求項１に記載の色変換用のメモリ管理システム。
【請求項４】
前記関数キャッシュは、対応するルックアップテーブルの少なくとも一部分のデータを生成するために使用される変換データを記憶することを特徴とする請求項３に記載の色変換用のメモリ管理システム。
【請求項５】
前記複数のルックアップテーブルには、下色除去または墨入れのためのルックアップテーブルが含まれることを特徴とする請求項１に記載の色変換用のメモリ管理システム。
【請求項６】
前記メモリのうち、ルックアップテーブル用に利用可能なメモリ容量をモニタする手段と、
前記利用可能なメモリ容量が必要な他のルックアップテーブルを記憶するために十分でないときに、最も低いカウンタの値を有する変換と関連したルックアップテーブルを記憶しているメモリをクリアする手段と
を、さらに、含むことを特徴とする請求項１に記載の色変換用のメモリ管理システム。
【請求項７】
前記カウンタの値は、特定の最大値までインクリメントされ、関連した色変換のさらなる他の要求によっては前記特定の最大値を超えてインクリメントされないことを特徴とする請求項１に記載の色変換用のメモリ管理システム。
【請求項８】
色付きの電子文書を表す色入力データを受け取るステップと、
前記色入力データを分析するステップと、
この分析ステップの出力と関連して複数の所望の色変換を決定するステップと、
前記色入力データの分析によって定められた複数の色変換にしたがって、メモリ内に複数のルックアップテーブルを作成するステップと、
関連する色変換の要求ごとにそれぞれのルックアップテーブルに対応するカウンタの値を選択的にインクリメントするステップと、
ルックアップテーブルに対応する前記カウンタの前記値を選択的にデクリメントするステップと、
対応するカウンタの値が特定のレベルまでデクリメントされたときに、前記メモリ内のルックアップテーブルを選択的にクリアするステップと
を含むことを特徴とする色変換用のメモリ管理方法。
【請求項９】
対応するカウンタが前記特定のレベルまでデクリメントされていないときに、前記メモリ内のルックアップテーブルを選択的に再使用するステップを、さらに、含むことを特徴とする請求項８に記載の色変換用のメモリ管理方法。
【請求項１０】
前記ルックアップテーブルは、対応する色変換と関連した関数を保存するキャッシュと関連付けられていることを特徴とする請求項８に記載の色変換用のメモリ管理方法。
【請求項１１】
前記関数キャッシュは、対応するルックアップテーブルの少なくとも一部分のデータを生成するために使用される変換データを記憶することを特徴とする請求項１０に記載の色変換用のメモリ管理方法。
【請求項１２】
前記複数のルックアップテーブルには、下色除去または墨入れのためのルックアップテーブルが含まれることを特徴とする請求項８に記載の色変換用のメモリ管理方法。
【請求項１３】
前記メモリのうち、ルックアップテーブル用に利用可能なメモリ容量をモニタするステップと、
前記利用可能なメモリ容量が必要な他のルックアップテーブルを記憶するために十分でないときに、最も低いカウンタの値を有する変換と関連したルックアップテーブルを記憶しているメモリをクリアするステップと
を、さらに、含むことを特徴とする請求項８に記載の色変換用のメモリ管理方法。
【請求項１４】
前記カウンタの値は、特定の最大値までインクリメントされ、関連した色変換のさらなる他の要求によっては前記特定の最大値を超えてインクリメントされないことを特徴とする請求項８に記載の色変換用のメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色変換用のメモリ管理システムおよび方法に関し、特に、ディジタル画像生成装置に適用されるような色変換用のメモリを管理するシステムおよび方法に関する。
【背景技術】
【０００２】
ある装置で作成された色データを他の装置固有の色空間に変換するために、装置プロファイルが使用される。各装置プロファイルは、装置固有の色空間と、装置に依存しない色空間の間で、色データを変換または変更するために必要な情報を有する色管理システムを使用可能にする。色空間は、一般に、三次元のマップで表わされる特定の色のモデルである。装置には３つの大きなクラスがある。すなわち、入力装置、表示装置および出力装置である。装置クラスごとに、一連の基本アルゴリズムモデルが色空間の間の変換を記述する。
【０００３】
典型的な色変換には、変換機能（transfer functions）に４つのルックアップテーブル（Look-Up Table；以下、ＬＵＴと言うことがある。）と、下色除去（under color removal）と墨入れ（black generation）に２つのＬＵＴが必要である。各ＬＵＴは、８ビットに少なくとも256バイトのメモリを必要とする。したがって、色変換には、変換機能、下色除去および墨入れに必要な６つのＬＵＴに少なくとも約１．５キロバイトのメモリが必要である。したがって文書処理ジョブに4,000の色変換が必要であるとすると、変換機能、下色除去および墨入れに約６メガバイトものメモリが必要となる。そのため、それぞれ数千の色変換がある複数のジョブの実行には、すべてのシステムメモリを必要とする可能性があり、最終的にシステムをクラッシュさせることがある。
【０００４】
したがって、色変換処理における、変換機能、下色除去および墨入れに必要なメモリの量を減少させるシステムおよび方法のニーズが大きい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の従来の問題点に鑑みてなされたもので、色変換用のメモリ管理システムおよび方法、特に、ディジタル画像生成装置に適用されるような色変換用のメモリを管理するシステムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による色変換用のメモリ管理システムおよび方法は、関数キャッシュを有するルックアップテーブルと、このルックアップテーブルに関連付けられた参照カウンタとを使用することによって色変換用のメモリ使用量を減少させる。より詳細に述べれば、本発明による色変換用のメモリ管理方法は、色付きの電子文書を表す色入力データを受け取るステップと、色分析器によって前記色入力データを分析するステップと、この分析ステップの出力と関連して複数の所望の色変換を決定するステップと、前記色入力データの分析によって定められた複数の色変換にしたがって、メモリ内に複数のルックアップテーブルを作成するステップと、関連する色変換の要求ごとにそれぞれのルックアップテーブルに対応するカウンタの値を選択的にインクリメントするステップと、ルックアップテーブルに対応する前記カウンタの前記値を選択的にデクリメントするステップと、対応するカウンタの値が特定のレベルまでデクリメントされたときに、前記メモリ内のルックアップテーブルを選択的にクリアするステップとを含む。また、本発明による色変換用のメモリ管理方法は、対応するカウンタが前記特定のレベルまでデクリメントされていないときに、前記メモリ内のルックアップテーブルを選択的に再使用するステップを、さらに、含む。前記ルックアップテーブルは、対応する色変換と関連した関数を保存するキャッシュと関連付けられている。ここで、前記関数キャッシュは、対応するルックアップテーブルの少なくとも一部分のデータを生成するために使用される変換データを記憶する。また、前記複数のルックアップテーブルには、下色除去または墨入れのためのルックアップテーブルが含まれる。さらに、本発明による色変換用のメモリ管理方法は、前記メモリのうち、ルックアップテーブル用に利用可能なメモリ容量をモニタするステップと、前記利用可能なメモリ容量が必要な他のルックアップテーブルを記憶するために十分でないときに、最も低いカウンタの値を有する変換と関連したルックアップテーブルを記憶しているメモリをクリアするステップとを含む。前記カウンタの値は、特定の最大値までインクリメントされ、関連した色変換のさらなる他の要求によっては前記特定の最大値を超えてインクリメントされない。
【発明の効果】
【０００７】
本発明によれば、色変換用のメモリ管理システムおよび方法、特に、ディジタル画像生成装置に適用されるような色変換用のメモリを管理するシステムおよび方法が提供される。詳細には、本発明によれば、色変換における変換機能（transfer function）、下色除去（under color removal）および墨入れ（black generation）に必要とされるメモリの容量を減少させることが可能となる。
【発明を実施するための最良の形態】
【０００８】
本発明は、色変換用のメモリ管理システムおよび方法に関し、特に、ディジタル画像生成装置に適用されるような色変換用のメモリを管理するシステムおよび方法に関する。本発明は、特に印刷装置における変換に適用できる。しかし、本発明は、表示、ファイル変換、アプリケーション間の変換、オペレーティングシステム間の変換などを含む任意の色変換システムに適用することができる。
【０００９】
以下、適宜、図面を参照しながら本発明による実施形態の説明を行う。図１に本発明による実施形態であるシステムの構成例のブロック図を示す。図に示すシステム１００は、本明細書において単なる例として使用されており、本発明は、図に示したネットワーク環境以外の様々なコンピュータ環境で実施することができる。システム１００は、コンピュータネットワーク１０２として示した分散コンピューティング環境を使用して実現される。コンピュータネットワーク１０２は、複数の電子装置間の通信を可能にする本技術分野で知られている任意のコンピュータネットワークである。すなわち、コンピュータネットワーク１０２は、例えば、インターネット、Ethernet（登録商標）ベースのネットワーク、トークンリングをベースとしたネットワーク、イントラネット、パーソナルエリアネットワーク、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、無線あるいはこれらの任意の組み合わせを含む任意の適切なコンピュータネットワークである。本発明は、また、一つのワークステーション、あるいは関連するディジタル画像装置を備えた一つのワークステーションなどと関連したプロセス間あるいは装置間においても実現される。
【００１０】
システム１００は、さらに、カラー画像およびモノクロ画像を処理する画像生成装置１０４を含む。図においては、画像生成装置１０４として、画像走査、複写、印刷、ファクシミリ通信、ガンマ補正、電子メール、ファイル保管、ファイル管理などを含む様々な文書処理操作を提供する多機能周辺装置を、例として示している。画像生成装置１０４は、さらに、画像処理の際にシステムメモリ１１０を割り当て、および解放する色管理モジュール１０６を備える。色管理モジュール１０６は、さらに、例えば、色処理ルックアップテーブル（Look-Up Table；以下、ＬＵＴと言うことがある。）の生成と削除、下色除去（under color removal）の促進、色変換の処理などを行うことができる。本発明による一実施形態によれば、色管理モジュール１０６は、画像生成装置１０４の画像描画（rendering）サービスを提供するラスタ画像プロセッサ（Raster Image Processor；ＲＩＰとも言う。）１０８の構成要素として実装される。図においては、色管理モジュール１０６とラスタ画像プロセッサ１０８を別個のコンポーネントとして示しているが、これらのコンポーネントに関して、そのハードウェア、ソフトウェアまたはそれらの任意の組み合わせを、ハードウェア、ソフトウェアまたはこれらの組み合わせを一まとまりに構成することができる。また、画像生成装置１０４は、さらに、処理のためのメモリを提供するシステムメモリ１１０を含む。システムメモリ１１０は、例えば、ＲＡＭ、フラッシュメモリ、ＲＯＭ、磁気記憶装置、光学記憶装置あるいはこれらの任意の組み合わせを含む本技術分野で知られている任意の揮発性メモリ、不揮発性メモリ、仮想メモリとして実施することができる。システムメモリ１１０のルックアップテーブル用に利用可能なメモリ容量はモニタされている。
【００１１】
画像生成装置１０４は、適切な通信リンク１１２によってコンピュータネットワーク１０２とデータ通信することができる状態にある。通信リンク１１２は、例えば、音声、画像、映像またはテキストデータを交換することができる本技術分野で知られている任意の通信チャネルである。適切な通信リンクとしては、例えば、Bluetooth（登録商標）、WiMax、赤外線接続、光接続、あるいは本技術分野で知られている任意の適切な無線データ伝送システムまたは有線通信がある。本発明による一実施形態において、画像生成装置１０４は、さらに、画像生成装置１０４とそのユーザ間の直接的なやり取りを容易にするユーザインタフェースを含む。代表的なユーザインタフェースとしてはタッチスクリーンインタフェースがあるが、例えば、英数字キーパッド、特定機能キーパッド、マウス、ＬＣＤあるいはこれらの任意の組み合わせを含むユーザインタフェースとして、本技術分野で知られている任意の適切な入出力手段を使用することができる。また、本発明による一実施形態において、画像生成装置１０４は、例えば、ＵＳＢインタフェースを有するフラッシュメモリあるいは種々のカード形メモリなどの複数のポータブル記憶媒体とのインタフェースを備える。ユーザインタフェースとポータブル記憶媒体の組み合わせによって、ユーザはコンピュータネットワーク１０２にアクセスすることなく画像処理サービスを要求できる。
【００１２】
システム１００は、また、ノート形コンピュータとして示した少なくとも１つのクライアント装置１１４を含む。図においてはクライアント装置１１４をノート形コンピュータとして示したが、これは単なる例示であり、クライアント装置１１４は、コンピュータネットワーク１０２を介して画像生成装置１０４と通信することができる、本技術分野で知られている任意の個人用電子機器として具体化されてもよい。適切なクライアント装置としては、例えば、ウェブ対応携帯電話、携帯情報端末（ＰＤＡ）、パーソナルコンピュータなどがある。クライアント装置１１４は、通信リンク１１６を介してコンピュータネットワーク１０２と通信する。通信リンク１１６は、例えば、赤外線通信、光通信、WiMax、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、Bluetooth（登録商標）あるいは本技術分野で知られている任意の適切な無線データ伝送システムまたは有線通信を含む、本技術分野で知られている通信チャネルである。
【００１３】
後に、図２および図３を参照しながらシステム１００の動作について詳しい説明を記すが、ここで、本発明による実施形態におけるメモリ管理の動作の概要について説明を行っておく。画像生成装置１０４は、クライアント装置１１４のユーザから、あるいはユーザインタフェースなどを介して、ユーザからの画像処理要求を受け取る。画像処理要求は、例えば、画像生成装置１０４が処理するカラー電子文書を表すデータを含む。ユーザは、画像生成装置１０４によって、ユーザインタフェースを介して画像処理要求を開始させることができる。ここで、画像処理されるカラー文書は、ポータブル記憶媒体からの電子文書、画像走査されて電子文書を生成するハードコピー、離れた場所に保存され画像生成装置１０４によって検索される電子文書、電子メールメッセージに添付された電子ファイルなどである。画像生成装置１０４は、電子文書の出所に関係なく、受け取った色処理要求を色管理モジュール１０６によって分析して、その要求に関連する色変換を決定する。本発明においては、色変換は装置固有の色空間と装置に依存しない色空間の間の色データの変換を意味する。
【００１４】
所定のカラー文書処理要求は、複数の関連する色変換を含むことができる。一実施形態の変換は、米国Adobe Systems社のPostScript（登録商標）の関数（function）を組み込む。しかし、本発明は、当業者によって理解される任意の変換に適用される。色管理モジュール１０６は、第１の色変換を検索し、変換に必要なＬＵＴがシステムメモリ１１０に既に存在するか否かを判断する。ＬＵＴが見つかった場合には、色変換と関連したPostScript（登録商標）関数が、ＬＵＴと関連付けられたPostScript（登録商標）関数キャッシュに記憶されているPostScript（登録商標）関数と一致するか否かが判断される。カラー文書処理とともに受け取った関数が、ＬＵＴと関連付けられたキャッシュ内に含まれるものと一致するときは、参照カウンタ（reference counter）が１だけインクリメントされ、少なくとも１つの色変換がＬＵＴを使用していることを示す。関数が一致しない場合には、色管理モジュール１０６は、色変換と関連するＬＵＴによって使用するために、システムメモリ１１０の一部分を割り当てる。次に、このシステムメモリ１１０内に、色変換を使用してＬＵＴが生成され、少なくとも１つの色変換が処理用のＬＵＴを必要としていることを反映するために参照カウンタがインクリメントされる。次に、システムメモリ１１０内のＬＵＴと関連付けられたPostScript（登録商標）関数キャッシュに、PostScript（登録商標）関数が保存される。このプロセスは、追加の色変換および／または色変換に必要とされるＬＵＴごとに繰り返される。
【００１５】
例えば、所定の色変換は、変換機能を処理するための４つのＬＵＴと、下色除去と墨入れにそれぞれ対応する２つの追加のＬＵＴを必要とすることがある。本発明によれば、色管理モジュール１０６は色変換を分析し、その色変換に関連する第１のＬＵＴがシステムメモリ１１０内に既に存在するか否かを判断する。例えば、以前の処理要求が、現在の処理要求に必要なＬＵＴと一致するＬＵＴの生成を必要とした場合には、色管理モジュール１０６は、ルックアップテーブルPostScript（登録商標）キャッシュに保存されているPostScript（登録商標）関数が、受け取った画像処理要求と関連するPostScript（登録商標）関数と一致するか否かを判断する。これらの関数が一致するときは、同じＬＵＴを以前の処理要求と現在の処理要求との両方の色処理要求に使用することができ、色管理モジュール１０６は、新たなＬＵＴを保存するためにシステムメモリ１１０を割り当てる必要がない。色管理モジュール１０６は、追加の変換すなわち現在の処理要求がそのテーブルを使用していることを反映するために、ＬＵＴと関連した参照カウンタをインクリメントするだけである。この第１のＬＵＴに関するプロセスは、残りの３つの変換機能のそれぞれ、および下色除去と墨入れのＬＵＴに繰り返される。以上説明を行った処理によって、必要メモリの削減が可能であることは明らかであろう。
【００１６】
ＬＵＴがシステムメモリ１１０内に未だ無いとき、または見つけたＬＵＴのPostScript（登録商標）キャッシュが処理要求に伴うPostScript（登録商標）関数と一致しない場合には、色管理モジュール１０６は、ＬＵＴによる引き続く使用のために、システムメモリ１１０を割り当てる。次いで、色管理モジュール１０６は、割り当てたメモリ１１０にＬＵＴを生成する。次に、新しく生成されたＬＵＴに対応する参照カウンタ値は１だけインクリメントされ、そのテーブルを関連する変換機能が使用していることが反映される。そのテーブルに関連するPostScript（登録商標）関数は、ＬＵＴと関連するPostScript（登録商標）キャッシュに保存される。ＬＵＴと関連するキャッシュにPostScript（登録商標）関数を保存することによって、色管理モジュール１０６は、テーブルを直ちに分析して、テーブルの内容が現在の処理要求で受け取ったPostScript（登録商標）関数によって生成される内容と一致するか否かを判断することができる。
【００１７】
本発明の１つの態様によれば、システムメモリ１１０内にある各ＬＵＴと関連した参照カウンタは、関連した変換が完了した後にデクリメントされる。したがって、あるＬＵＴと関連した特定の変換機能が、そのテーブルに含まれるデータを使用し終えた後、すなわち色処理要求がもはやＬＵＴを使用する必要がなくなったときに、参照カウンタの値を１だけ減少させる。参照カウンタの値が０に達したとき、すなわちいずれの機能も色処理操作を容易にするテーブルを呼び出さないときには、色管理モジュール１０６は、管理者が、システムメモリ１１０からＬＵＴがいつ削除されるかを予め定められることを、可能とする。したがって、共用ＬＵＴは、所定のイベントが発生した後で色管理モジュール１０６によって削除される。一実施形態においては、色管理モジュール１０６は、参照カウンタが値０にまでデクリメントされてから所定の時間期間が経過したことの判断に続いて、削除変換コマンド（delete transform command）を起動する。他の実施形態においては、色管理モジュール１０６は、最後の色処理要求がそのテーブルを呼び出し終わった後、すなわち参照カウンタが０に達したら直ぐに、削除変換コマンドを起動する。さらに他の実施形態においては、色管理モジュール１０６は、システムメモリ１１０が使用量の所定の閾値を超えて、色処理要求を完了するためには追加のメモリが必要であると判断すると、削除コマンドを起動する。そのように判断されたとき、色管理モジュール１０６は、それぞれの参照カウンタの値が０であるＬＵＴを削除する。そのような判断が行われない場合には、システムメモリ１１０は、色処理に使用されるテーブルを再割り当ておよび再生成する代わりに、それらのＬＵＴを維持し、引き続く色処理要求がテーブルを利用できるようにする。
【００１８】
ここで、画像生成装置１０４、色管理モジュール１０６、ラスタ画像プロセッサ１０８、クライアント装置１１４は、以上説明を行った処理と各装置で実行する他の処理を行うため、それぞれプロセッサ、ＲＯＭ、ＲＡＭ、基本ソフトウェア等からなるプラットフォームと、そのプラットフォーム上でそれぞれのソフトウェアを実行するためのプログラムを備えている。
【００１９】
次に、図２および図３を参照しながら、本発明による実施形態における動作を説明する。図２に、本発明による実施形態において、色変換処理用に必要なＬＵＴを記憶させるメモリ領域を割り当て、管理する動作を説明するためのフローチャートを示す。最初にＳ２０２で、画像生成装置１０４がカラー電子文書データを受け取る。文書データは、例えば、電子文書の色変換と処理を容易にする色管理モジュール１０６に転送される。次にＳ２０４で、色管理モジュール１０６はカラー電子文書データを分析する。Ｓ２０６で、色管理モジュール１０６は、カラー電子文書データ内にある色変換を決定する。前述したように、色変換は、装置固有の色空間と装置に依存しない色空間の間の色データの変換を意味する。
【００２０】
次に、色管理モジュール１０６は、Ｓ２０８で、第１の色変換に必要なＬＵＴを判断する。色変換は複数のＬＵＴを必要とする場合があり、図２に示した動作は、説明を簡潔にするために、主に各色変換に対応する１つのＬＵＴの生成と管理を示している。図２に示した動作は、色変換に必要なＬＵＴごとに処理され、その後で、画像生成装置１０４が電子文書のカラー処理を完了するために必要な次の色変換に進む。次に、色管理モジュール１０６は、Ｓ２１０で、色変換に必要なＬＵＴが既にシステムメモリ１１０にあるか否かを判断する。すなわち、色管理モジュール１０６はシステムメモリ１１０に照会し、現在の電子文書または以前の電子文書からの、現在の色変換に対応する以前の色変換が、システムメモリ１１０内に既にあるか否かを判断する。該当するＬＵＴがシステムメモリ１１０内に既に存在するときは、処理はＳ２１２に進む。
【００２１】
Ｓ２１２で、色管理モジュール１０６は、システムメモリ１１０内に既に存在するＬＵＴを現在の色変換に使用できるかどうかを判断する。すなわち、色管理モジュール１０６は、現在の色変換に含まれるPostScript（登録商標）関数を、ＬＵＴと関連したPostScript（登録商標）キャッシュに保存されている関数と比較する。PostScript（登録商標）関数は、ある色空間から他の色空間への変換を容易にする。また、関数キャッシュは、対応するルックアップテーブルの少なくとも一部分のデータを生成するために使用される変換データを記憶している。PostScript（登録商標）関数が一致し、すなわちＬＵＴに既に存在するデータが現在の変換に含まれるPostScript（登録商標）関数によって生成されるべきデータと同一であるときには、処理はＳ２１４に進む。Ｓ２１４においては、そのＬＵＴを使用した色変換の回数を表す参照カウンタの値が１だけインクリメントされる。一実施形態においては、色管理モジュール１０６は参照カウンタの値が所定の閾値を超えたか否かを判断し、所定の閾値を超えたと判断したときには、参照カウンタをさらに１だけインクリメントせずにＳ２１６に進む。Ｓ２１６では、電子文書を処理するためにさらに追加の色変換を必要とするか否かが判断される。他の追加の色変換処理が残っていないときには、文書は画像生成装置１０４によって描画（rendering）と出力される準備が整う。カラー電子文書と関連する追加の色変換がさらに残っているときには、処理はＳ２１８に進み、色管理モジュール１０６は次の色変換に必要なＬＵＴを判断する。次に、処理はＳ２１０に戻り、Ｓ２１８で決定されたＬＵＴがシステムメモリ１１０内に既にあるか否かが判断される。
【００２２】
Ｓ２１２でPostScript（登録商標）関数が一致しないときには、処理はＳ２２０に進み、色管理モジュール１０６は、システムメモリ１１０の一部分を対応する新たなＬＵＴのために割り当てる。次に、色管理モジュール１０６は、Ｓ２２２で、割り当てられたシステムメモリ１１０内に新たなＬＵＴを生成する。次に、新たなＬＵＴと関連付けられた参照カウンタが生成される。この参照カウンタの値は、Ｓ２２４で１だけインクリメントされ、１つの色変換が動作中で、ＬＵＴと関連付けられていることを示す。Ｓ２２６で、色管理モジュール１０６は、本技術分野で知られており、かつ電子文書データに適用可能な任意の色ルックアップテーブル生成手段を用いてＬＵＴを埋める。次に、Ｓ２２８で、PostScript（登録商標）関数が、ＬＵＴと関連したPostScript（登録商標）キャッシュに保存される。次に、処理はＳ２１６に進み、処理する追加の色変換が他に残っているかどうか判断される。他の追加の変換が残っていないときには、処理操作は終了し、画像生成装置１０４はカラー電子文書データを出力することが可能となる。
【００２３】
次に図３を参照しながら、ＬＵＴの保存のために使用していたシステムメモリの領域を解放し、システムメモリ１１０からＬＵＴを削除する動作を説明する。図３に、本発明による実施形態において、色変換処理用に割り当てていたメモリ領域を解放する動作を説明するためのフローチャートを示す。先ずＳ３０２で、色管理モジュール１０６は、所定のイベントの発生に応じて変換処理の終了を開始する。所定のイベントは、一実施形態においては、色変換が関連付けられた色処理要求の完了である。他の実施形態においては、所定のイベントは、システムメモリ１１０が他の処理操作に必要とされる旨の色管理モジュール１０６による決定である。一つの特定の実施形態において、色管理モジュール１０６は、特定のＬＵＴと関連付けられた参照カウンタをデクリメントしてから所定の時間が経過したことを判断する。また、他の実施形態において、所定のイベントは、参照カウンタの値が０となり、システムメモリ１１０が他の処理操作に必要である旨の決定である。さらに他の実施形態における所定のイベントは、利用可能なシステムメモリ１１０が他の必要なルックアップテーブルを記憶するために十分な容量が無いときに、参照カウンタの値が最も低い、すなわち最も０に近い参照カウンタの値を有する変換と関連するＬＵＴを保存しているメモリをクリアする旨の決定である。なお、前述したようにルックアップテーブル用に利用可能なシステムメモリ１１０の容量はモニタされている。これらの種々の所定のイベントの種別とは関係なく、図３に示した処理は、色管理モジュール１０６によって実行される。
【００２４】
Ｓ３０４で、終了される色変換処理と関連した第１のＬＵＴが分析される。次に、Ｓ３０６で、色管理モジュール１０６は、参照カウンタが１以上であるかどうかを判断する。参照カウンタの値が１以上のときには、処理はＳ３１０に進み、参照カウンタの値が１だけデクリメントされる。次に、Ｓ３１２で、デクリメントされた参照カウンタの値が０と等しいかどうか判断される。すなわち、Ｓ３１２で、色管理モジュール１０６は、参照カウンタの新たな値が、いずれの色変換も処理のためにＬＵＴを必要としないことを意味する、０か否かを判断する。カウンタの値が０であるときには、処理はＳ３０８に進む。Ｓ３０８で、ＬＵＴと関連付けられたシステムメモリ１１０が解放される。ＬＵＴと関連付けられたシステムメモリ１１０の解放は、そのＬＵＴの削除を意味する。次に、処理はＳ３１４に進み、終了する色変換と関連したシステムメモリ１１０に、他のＬＵＴが残っているかどうかが判断される。他のＬＵＴが残っている場合には、処理はＳ３１６に進み、色変換に関連する次のＬＵＴを分析した後、Ｓ３０６で参照カウンタ値の判断が行われる。
【００２５】
Ｓ３１２に戻り、ＬＵＴと関連付けられ参照カウンタのデクリメントされた値が、未だ１以上すなわち０でないと判断されたときには、処理はＳ３１４に進み、終了する色変換処理と関連した他のＬＵＴがシステムメモリ１１０に残っているか否かが判断される。他のＬＵＴがシステムメモリ１１０に残っている場合には、処理操作はＳ３１６に進む。Ｓ３１６では、終了する色変換と関連した次のＬＵＴが分析された後、Ｓ３０６で参照カウンタ値に関する判断が行われる。Ｓ３０６で参照カウンタ値が１未満であると判断されたとき、処理はＳ３０８に進み、注目しているＬＵＴに割り当てられているシステムメモリ１１０の領域が、他の処理操作のために解放される。次に、処理はＳ３１４に戻り、終了する色変換処理と関連した他のＬＵＴがシステムメモリ１１０に残っているか否かの判断が行われる。終了する色変換処理と関連した他のＬＵＴがシステムメモリ１１０に残っていないときには、処理操作は終了する。
【００２６】
本発明は、ソースコード、オブジェクトコード、部分的にコンパイルされた形のようなコード中間ソースおよびオブジェクトコードの形、あるいは本発明の実施形態で使用するために適した任意の他の形のコンピュータプログラムに適用される。コンピュータプログラムは、スタンドアローンのアプリケーション、ソフトウェアコンポーネント、スクリプト、または他のアプリケーションへのプラグインとすることができる。本発明を組み込むコンピュータプログラムは、例えば、ＲＯＭやＲＡＭなどの記憶媒体、ＣＤ−ＲＯＭなどの光記録媒体、フロッピー（登録商標）ディスクなどの磁気記録媒体などの、コンピュータプログラムを伝達することができる任意の実体または装置である担体上で具体化することができる。この担体は、電気ケーブルまたは光ケーブルによって、または無線や他の手段によって伝えられる電気信号や光信号などの任意の伝達可能な担体である。コンピュータプログラムは、サーバからインターネットを介して適切にダウンロードされる。また、コンピュータプログラムの機能は集積回路に組み込むこともできる。示した本発明の原理を実質的にコンピュータまたはプロセッサに実行させるコードを含む任意およびすべての実施形態は、本発明の範囲内にある。
【００２７】
本発明の好ましい実施形態の以上の説明は、例示と説明のために行った。説明は網羅的でもなく本発明を開示した形態に限定しようとするものでもない。以上の教示を鑑みて明らかな修正または変形が可能である。実施形態は、本発明の原理とその実際的な応用例を最もよく示し、それにより当業者が、本発明を、意図された特定の使用に適した様々な実施形態において様々な修正で使用できるように選択され説明された。そのようなすべての修正と変形は、特許請求の範囲の記載に明示されるとおりの本発明の原理および範囲内において、当業者によって行われ得ることは明らかであり、特許請求の範囲の記載によって定められる発明の範囲内にある。
【００２８】
例えば、本明細書に記載した実施形態は、画像生成装置において具体化されているが、他の適切な画像処理ハードウェア、ソフトウェアあるいはこれらの任意の組み合わせも本発明を同様に適用することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明による実施形態であるシステムの構成例を示すブロック図である。
【図２】本発明による実施形態において、色変換処理用のメモリ領域を割り当て、管理する動作例を示すフローチャートである。
【図３】本発明による実施形態において色変換処理用に割り当てていたメモリ領域を解放する動作例を示すフローチャートである。
【符号の説明】
【００３０】
１００  システム
１０２  コンピュータネットワーク
１０４  画像生成装置
１０６  色管理モジュール
１０８  ラスタ画像プロセッサ、ＲＩＰ
１１０  システムメモリ
１１２、１１６  通信リンク
１１４  クライアント装置
【図２】
2007189674.tif 000003
【図３】
2007189674.tif 000004
【図１】
2007189674.tif 000005