JP2004103017A - ダイナミックな色提供辞書 - Google Patents
ダイナミックな色提供辞書 Download PDFInfo
- Publication number
- JP2004103017A JP2004103017A JP2003306172A JP2003306172A JP2004103017A JP 2004103017 A JP2004103017 A JP 2004103017A JP 2003306172 A JP2003306172 A JP 2003306172A JP 2003306172 A JP2003306172 A JP 2003306172A JP 2004103017 A JP2004103017 A JP 2004103017A
- Authority
- JP
- Japan
- Prior art keywords
- color
- graphic
- dictionary
- procedure
- value
- 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.)
- Pending
Links
Images
Classifications
-
- 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/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6072—Colour correction or control adapting to different types of images, e.g. characters, graphs, black and white image portions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】 画像またはグラフィックが要求されるか否かを迅速に判断すると同時に、適切な色を提供する。
【解決手段】 シーケンス順序の中で色提供辞書手続がPostscriptアプリケーションで実行される、当該シーケンス順序を監視する、ステップを含むことによって、画像オブジェクトが用いられるべきか、グラフィックオブジェクトが用いられるべきか、をシーケンス順序が判断する、色提供辞書内のグラフィック・オブジェクトを検知するための方法、および、シーケンスの中でEncodeLMN手続がPostscriptアプリケーションで実行される、当該シーケンスを監視するための手段、を備える色提供辞書内のグラフィック・オブジェクトを検知するためのシステム。
【選択図】 図2
【解決手段】 シーケンス順序の中で色提供辞書手続がPostscriptアプリケーションで実行される、当該シーケンス順序を監視する、ステップを含むことによって、画像オブジェクトが用いられるべきか、グラフィックオブジェクトが用いられるべきか、をシーケンス順序が判断する、色提供辞書内のグラフィック・オブジェクトを検知するための方法、および、シーケンスの中でEncodeLMN手続がPostscriptアプリケーションで実行される、当該シーケンスを監視するための手段、を備える色提供辞書内のグラフィック・オブジェクトを検知するためのシステム。
【選択図】 図2
Description
本発明はダイナミックな色提供辞書に関する。
コンピュータに基づく画像システムは、電子的画像とハードコピー画像の双方を生成することに関してポピュラーになってきた。この理由は一つには、デスクトップ出版の普及であり、一つには、その利用可能性である。そのようなシステムにおいて、ホストコンピュータは一般的に、画像を記述するデータを生成し、次にデータを画像生成装置に転送する。そこでデータは、装置によって使用され得るフォーマットに変換される。通常は、画像データは、Adbeから入手可能な、例えばPostscriptのようなページ記述言語(PDL)のフォーマットである。
ページ記述言語、即ちPostScript、とコンパチブルなデスクトップ出版及び/又は他の画像生成アプリケーションプログラムは、ページ記述言語コマンドに変換されるグラフィックスコマンドを生成する。例えばプリンタまたはディスプレイ装置のような画像化装置は、グラフィックス・オペレーションの適切なタイプとシーケンスが、デスクトップ出版プログラムで作られた画像を生成または提供するために実行されるように、ページ記述言語コマンドを解釈・翻訳する。グラフィックス・オペレーションは一般的に、ページ記述言語に埋めこまれた画像化オペレーションに応答して、画像オブジェクト上で実行(performed)される、テキスト、グラフィックス、および画像(ビットマップ)オペレーションを含む。色提供辞書(CRD)は、装置に依存しない色を提供するためにAdobeによって生成された機構(mechanism)である。概念的には、アプリケーションが事前に、別個のやりかたで、色を指定する。次にプリンタがそのCRDを用いて、装置に依存しない色を、プリンタに特有のベストの一致CMYK値に変換する。
色提供辞書は、グラフィックスと画像の双方に対して同一の色を提供するように設計された。実際には、グラフィックスに対するベストの色一致は、画像に対するベストの色一致とは非常に異なる。良いグラフィックスの色一致は、輝度及び/又は色相が一致することを条件として、パンチのある飽和した色を生成する。対照的に、色相および輝度をより良く維持するために、良い画像色一致は、飽和を犠牲にする。色提供辞書を生成することに対する伝統的なアプローチは、(多くの)色一致スタイル(color matching styles)の間の最良の妥協を発見することを含む。一つ色提供辞書内に複数の色ビヘイビアを提供する能力は、この妥協を為す必要性を緩和する。これによって、全体としてのより良い色一致という結果をもたらす。
インターフェースの下で、Adobeのコアコード(core code)は、CRDを、2つの別個のやり方で用いる。グラフィックス・オブジェクトは、一つの色計算だけを必要とする。これらの種類のオブジェクトについては、適切な色を計算するために用いられるCPUサイクル数は小さい。提供ビットマップされた画像(rendering bitmapped images)は、数億の別個の色を計算することを含み得る。画像で色を計算するために用いられるCPUサイクルの数は、非常に大きくなり得る。この理由から、Adobeは、2つの色パイプラインを作った。正確な色パイプラインは、最も正確であるが、比較的遅い。速い色パイプラインは、より速いが、結果としての計算は正確ではない。グラフィック・オブジェクトは、正確な色パイプラインを使用する。画像は、速い色パイプラインを用いる。
オブジェクトタイプに基づく、色ビヘイビアのスイッチングの重要な部分は、提供されているオブジェクト・タイプを”検知”するタスクからなる。この質問は、容易に、”私は、画像またはグラフィックオブジェクトを提供しているか?”と言い替えられる。Postscriptは、そのような問合せを為すための明白な機構を提供しない。それゆえ、画像またはグラフィックが要求されるか否かを迅速に判断すると同時に、適切な色を提供するための必要性が存在する。
本発明の概要は、オブジェクトのタイプ(object types)の間で色提供ビヘイビア(color rendering behavior)を自動的に切り替えるために、ダイナミックな(dynamic)色提供辞書(Color Render Dictionaries)が提供される。この実施(implementation)は、完全に、色提供辞書(CRD:Color Render Dictionary)内に存し、ポストスクリプト・インタープリタ(Postscript Interpreter)の状態への、何の変更も必要としない(何の、”C”コード変更およびPostscriptオペレータ再定義も要求されない)。異なる色提供ビヘイビアは、複数の色変換テーブルを、CRD内の単一の/RenderTable(/提供テーブル)内に連結することによって実現される。単に、/RenderTableの異なった領域(region)にアクセスすることによって、異なった提供ビヘイビアによって、単一のグラフィック状態へアクセス可能である。色提供ビヘイビアを持つことによって、グラフィック状態無しの”切替(switch)”が、実行(implementation)を非常に高速にする。全体の実行が、色提供辞書に限定されるので、ダイナミックなCRDsは、いかなる現存するPostscriptプリンタの上でも実行され得る。これは、何年もの間使用されてきた物においてさえも、同じである。
本発明の追加の目的および利点が、添付の図面を参照した以下の詳細な記述から明白になろう。
本発明の課題の一つは、画像またはグラフィックが要求されるか否かを迅速に判断すると同時に、適切な色を提供することである。
本発明の課題を解決するために、本発明では、2つまたはそれ以上の色変換テーブルを一つのRenderTableに連結する、ステップを含む、ダイナミックな色提供辞書を生成するための方法を提供する。
また、一つ以上の色変換テーブルを、Postscript内の一つのRenderTableに連結するための手段、を備えるダイナミックな提供辞書システムを提供する。
更に、2つ以上の色変換テーブルを、一つのRenderTableに連結し、複数のオブジェクトタイプの間の色提供ビヘイビアを自動的にスイッチングし、一定のオフセットを、一つのRenderTableの指標軸(indexing axis)に加算することによって、個々の色テーブルにアクセスし、前記一つのRenderTableの異なった領域(region)にアクセスすることによって、一つのグラフィックス状態内の異なった提供ビヘイビアにアクセスすること、を含む、ダイナミックな色提供辞書を提供する。
本発明の効果のひとつは、画像またはグラフィックが要求されるか否かを迅速に判断すると同時に、適切な色を提供することができることである。
AdobeのPostscriptは、装置に依存しない色指定方法を提供する。Postscriptが、装置に依存しない色を指定するための色提供辞書の色変換工程を利用する例が、図1および2に示される。装置に依存しない色を使用する用途(application)は、複数の印刷装置および印刷技術において、より、首尾一貫した見かけの色(consistent looking color)を生成する傾向がある。その用途は、その選択した色空間12において旨く働く。一般的に、用途の動作空間は、特定の校正された装置空間(device space)である。より強力な用途のいくつかは、ユーザが、装置に依存しない空間(即ちCIEL*a*b)で直接作業することを可能とする。本用途は、その作業色空間をCIE三刺激値の(tristimulus)空間(x,y,z)に変換する方法を指定(specify)しなければならない。本用途は、CIEに基づいた色空間(CIEBased color space)(CIEB asedA, CIEBasedABC,またはCIEBasedDEFG)を設定することによってこれを達成する。CIEBased色空間のいずれもの出力も、常にCIExyz14である。
プリンタ側においては、CIExyz14からプリンタ装置信号(一般的にCMYK)への変換を提供することは(提供するか否かは)、製造者に依存する。CIExyz14からプリンタ装置信号への変換は、Adbeによって決定された、数学的操作の手順(sequence)を通じて実現される。数学的変換の手順は厳格に定義され、変更不可能である。しかし、各数学的変換の仕様(specifics)は、完全に変更可能である。これによって、色マッチング(color matching)のための、強力でロバストな機構(mechanism)が実現可能となる。装置信号機構へのCIExyz14は、色提供辞書を通じて変更される。
図1および2に再度戻る。ここで、色提供辞書は、白ポイント調整方法(white point adjustment method)16を指定しなければならない。これは、入力してくる色を、ソース色空間の白ポイントと、装置(目的)白ポイントとの間の差異のために調整する。現在用いられている白ポイント調整16の例は、線形化されたブラッドフォード空間(Linearlized Bradford space)でのVonKries変換である。
白ポイント調整16後に、白ポイント調整されたCIExyz信号を補間空間(interpolation space)に変換する、複数ステップの工程が開始される。最初に、調整されたCIExyz値は、LMN値18を生成するために配列乗算(matrix multiplied)される。使用される特定の配列は、色提供辞書内へのMatrixLMNエントリとして特定される。次に、LMN信号は、符号化関数(encoding functions)20によって変換される。符号化工程は、図2の3つの新しい値、L’,M’,N’66,68,70を、それぞれ生成する。符号化関数は、3つのPostscript手順、TL(L),TM(M)、TN(N)の形式を採る。これらの手順のそれぞれは、それに渡された入力値を、オペランド・スタック(operand stack)での最高の(topmost)項目として消費(consume)し、次に、結果としての値をオペランド・スタックにプッシュすることが想定される。これらの手順は、EncodeLMNエントリとともに色提供辞書内で指定される。
次のステップは、信号ABC22を生成するための、L’M’N’信号の配列乗算である。使用される特定の配列は、色提供辞書へのMatrixABCエントリによって決定される。次に、ABC信号は、符号化関数24を用いて変換される。符号化工程は、3つの新しい値、A’B’C’を生成する。符号化関数は、3つのPostscript手順、TA(A)、TB(B)およびTC(C)の形式を採る。これらの手順のそれぞれは、それに渡された入力値を、オペランド・スタック上の最高の項目として消費し、次に、結果としての値をオペランド・スタックの上にプッシュすることが想定される。これらの手順は、色提供辞書内でEncodeABCエントリとともに指定される。
A’B’C’は今、3次元ルックアップテーブル26への入力を表す。ルックアップテーブルは、いかなる数の、各軸に沿って均等に間隔が空けられた節点(nodes)をも含み得る。節点間の値は、トリ・リニア(tri-linear)補間を用いて計算される。補間のドメインは、色提供辞書で、RangeABCエントリとともに(with)指定される。補間の結果は、中間装置信号(
でありうる)である。装置信号を調整ための、一つの最後の機会が存在し得る。ポスト補間符号化関数(post interpolation encoding functions)28が存在する。これらの符号化関数は一般的に、調的な(tonal)応答曲線を装置信号に適用(apply)するために使用される。これらの符号化関数の出力は、
信号(これは、要求された色への所望の色マッチ(color match)を提供することになる)である。少なくとも装置信号が、ハーフトーニング・ルーチン(halftoning routines)に渡され、結局は、それらはフレームバッファ30へ進む。
でありうる)である。装置信号を調整ための、一つの最後の機会が存在し得る。ポスト補間符号化関数(post interpolation encoding functions)28が存在する。これらの符号化関数は一般的に、調的な(tonal)応答曲線を装置信号に適用(apply)するために使用される。これらの符号化関数の出力は、
信号(これは、要求された色への所望の色マッチ(color match)を提供することになる)である。少なくとも装置信号が、ハーフトーニング・ルーチン(halftoning routines)に渡され、結局は、それらはフレームバッファ30へ進む。
Adobeのコア符号(core code)は既に、各オブジェクト・タイプの決定を為しており、適切な色パイプライン(color pipeline)を使用する。どの色パイプラインが使用されるかを決定することによって、提供されるオブジェクトタイプが安全に推理される(deduced)。CRD手順が実行される順番(order)を追跡(tracking)することによって、どの色パイプラインが使用されているかを推理することが可能である。もし手順が、Adobeレッドブック(Red Book)(特に、その後に、提供テーブル構造(RenderTable structure)での変換手順が続く、EncodeL,EncodeM,EncodeN,EncodeA,EncodeB,EncodeC)で記述された順番で実行されているならば、オブジェクトはグラフィックである。もし反復する同じ手順のコール(call)が存在するならば、キャッシュテーブルが生成されており、オブジェクトは画像(image)である。この実行(implementation)に対しては、非常に大きい数の変動が存在することに留意して欲しい。この実行の全ては、以下の一般的な要素(element)を含まねばならない。いつそれが実行されたかについての明白な情報(explicit information)を記憶(メモリに書きこみ)するための2つ以上のCRD手順、(メモリから)記憶された情報を読むための2つ以上のCRD手順、および、使用されている色パイプラインのタイプを決定するための一つあるいはそれ以上のCRD手順を可能とする計算タスク(computational tasks)を実行するための2つ以上のCRD手順。
図2を再度参照する。ここで、ダイナミックな色提供辞書は、実際には2つのテーブル(画像テーブル32およびグラフィック・テーブル34)の連結(concatenation)である、提供テーブル26を備える。色テーブル連結は、プリンタ内または外部ホスト(不図示)上において為され得る。色テーブルは、提示テーブルアレイ(RenderTable array)の第4要素(element)(指標(index)3)内に記憶される。色テーブル実施は、ストリング(string)のアレイである。色テーブルは、軸、即ちA、B、および、C、に沿って、または複数軸に沿っても、連結され得る。しかし、A軸に沿ってテーブルを連結することが、より容易である。A軸に沿って、2つの色テーブルを、単一の色テーブルに連結するために、色テーブルアレイのストリングが単一のより大きいアレイに連結される。以下のコード・フラグメント(code fragment)が、プリンタ上でそのタスクを実行する。”[exch{}forall counttomark 1 add index {} forall ]exch pop ”このコード・フラグメントは、オペランド・スタック(それが想定するものが色テーブルアレイである)の上の頂部の2つのオブジェクトを消費する。このコード・フラグメントは次に、各アレイのコンテンツを連結し、連結を、オペランンド・スタック上の最頂部のオブジェクトとして残す(leaves)。B軸に沿ってテーブルを連結することは、ストリング自身を連結することによって実現される。色テーブルをC軸に沿って連結することは、ストリングの固定された間隔(interval)をインターリーブすることによって実現される。連結された色テーブルは、個々の色テーブル内の全ての節点の合計と等しいトータルの節点数を持つことになる。
本発明の一つの実施例によって、TA(A)72の符号化手続中に問合せ(query)が為される。以下により詳細に説明されるように、この手続において、グラフィック・オブジェクトが画像化された(imaged)か否かを判断するために問合せが為される。もしグラフィック・オブジェクトが画像化されているならば、より大きいオフセットが、A軸(連結軸)36に沿って、結果としての値に加えられる。これによって、補間ステップが、提供テーブル26のグラフィック部分34を参照することを強いられる。もし、加えられるオフセットが存在しなければ、補間ステップは、テーブル26の画像部分32を参照する。2つのテーブルの間の空間は、決して参照されない(それは、2つのテーブルの間を補間することになる)。
グラフィック検知機構のための問合せは、複数のCRD手続(procedures)にまたがり、手順は組の手順(set sequence)で実行されない。これによって、単一のフローチャートを構築することが困難となり、それ故、図3から7の一続きのフローチャートとして示される。これらのフローチャートは、特定のCRD手続の中からの、論理的フラグメントを表す。Postscriptは、静的な局所変数(static local variables)の概念を利用しない。全体のグラフィック検知機構は、単一の変数gを使用する。ここで、gは、CRD内の手続に対してのみ可視的(visible)な静的な局所変数である。所望の可変特性(variable properties)をシミュレートするために、gは、単一の要素(single element)を持つ配列(array)であるように定義される。gの値は、配列に配置される。この手続は、即時置換オペレータ(immediate substitution operator)(即ち、//g)がそれ(g)に先行する、gへの全ての参照(references)とともに定義される。これは、gの値を、定義の時刻(time of definition)における手続内に配置する(gは配列である。そして、配列は複合のオブジェクトなので、配列オブジェクトの全てのインスタンスは、同じコンテンツを共有する)。均等な振舞いを実現するための類似のやり方で使用され得る、他のPostscript複合オブジェクトが存在する。図3を参照する。ここで、変数gは、ステップ38でコード・フラグメントを開始し、ステップ42でgを0に設定し、そして、コード・フラグメント40をCRD内で符号化する、ことによって初期化されなければならない。それをCRD自身で初期化することは、これを行うのに好ましい。手続が定義されている間に、変数は、定義され、”可視化”されなければならない。CRDが、辞書スタックの上の最頂部の辞書である限り、gは可視的である。次の3つの論理/コード・フラグメントは、図4から6に示されるように実際に検知を行う。それらは全て、EncodeLMN手続の一部分である。もしEncodeLMN手続が次々と(in sequence)実行されるなら、gは、3の値を持つことになる。いかなる他の手順に対しても、gは、3とは等しくない値を持つことになる。もしgが3と等しいならば、手続は次々と(in sequence)実行された。CRDは、正確な色パイプラインとともに使用されている。提供されているオブジェクトは、グラフィックである。もしgが3と等しくないならば、手続は次々と実行されていなかった。コアのコードは、速い(fast)色キャッシュ・テーブルを構築している。CRDが、速い色パイプラインとともに用いられている。提供されているオブジェクトは画像である。EncodeLMN手続の手順を判断するために使用される方法は、対応するPostscriptコードを持つ(各フローチャートを反映するコメントを有する)図4から6を参照して以下に更に詳細に説明される。
図4を参照する。ここで、EncodeL手続は、ステップ44で、配列のオブジェクト検知要素gの値をチェックするコード・フラグメント38を含む。コード・フラグメントは次に、要素に新たな値を割り当てる。もし古い値が0ならば、ステップ46に示されるように新しい値は1である。ステップ48に示されるように、全ての他の古い値に対して、新規に割り当てられた値は0である。これで、EncodeL手続に対するコード・フラグメント・ステップ40が終了する。
次に、図5を参照する。ここで、EncodeM手続は、ステップ52で配列のオブジェクト検知要素gの値をチェックするコード・フラグメント38を含む。次にコード・フラグメントは、要素に新しい値を割り当てる。もし古い値が1ならば、ステップ50に示されるように新しい値は2である。全ての他の古い値に対して、ステップ54のように、新しく割り当てられた値は0である。これで、EncodeM手続に対する、コード・フラグメント・ステップ40が終了する。
次に、図6を参照する。ここで、EncodeN手続は、ステップ56で配列のオブジェクト検知要素gの値をチェックするコード・フラグメント38を含む。コード・フラグメントは次に、要素に新しい値を割り当てる。もし、古い値が2ならば、ステップ58に示されるように、新しい値は3である。全ての他の古猪値について、ステップ60のように、新しく割り当てられた値は0である。これで、EncodeN手続に対するコード・フラグメント・ステップ40が終了する。
全てのCRD手続が定義された後に、CRD内のgへの参照は、除去され得る。これによって、潜在的な、変数gが何らかの他のPostscriptジョブによって参照される、という問題が避けられる。オブジェクト・タイプについての情報は、RenderTable内で指定された、EncodeABC手続及び/又は変換手続(transform procedure)で使用され得る。最後の、gへの参照が、状態を元に(その初期状態に)リセットすることが重要である。これは、図7に示されるように行われる。ここで、ステップ38のコード・フラグメントは、ステップ64においてgを0に等しくリセットし、ステップ40でこのフラグメントを終了させる。もしこれが為されなければ、次にグラフィック検知機構が、引き続く問合せについての誤った結果を生成し得る。名称gが、何らかの他の目的に対して他の誰かによって使用され得る、という高い可能性が存在する。変数を定義しないことによって、インタープリタが、この変数を他の誰かのものと、混同することを防ぐことができる。
要約すると、画像とグラフィック・オブジェクトの間を差別化(differentiation)するための機構は、完全に、CRD内に含まれる。ここで、画像とグラフィック・オブジェクトの間の差別化は、その中でEncodeLMN手続(procedure)が実行される手順(sequence)を監視することによって実現される。EncodeL、EncodeM、およびEncodeN手続が、その順番で実行されるとき、グラフィック・オブジェクトは、処理(processed)/提供(rendered)される。もしEncodeLMN手続が、他の何らかの手順で実行されるならば、画像オブジェクトが処理/提供される。
図8は、テーブル選択機構の表現である。このフローチャートは、EncodeA手続72を構成するコードを表す。EncodeA手続が開始される74ときに、Aの入力値が渡される。EncodeA手続は次に、任意の符号化76を実行する。この符号化の結果は、変数A’に割り当てられる。この任意の符号化は、Adobeによって元々定義された全ての機能(functionality)を含む。
残りの処理の全ては、厳格に、テーブルスイッチング機構に関連する。次のステップは、提供されている現在のオブジェクトタイプが、グラフィック78であるか否かを判断することである。これはブールのテスト(Boolean test)であり、状態変数gと3を比較することによって実現され得る。もし状態変数gが3に等しいならば、次にグラフィックオブジェクトが提供され、さもなければ、提供されているオブジェクトタイプは画像のはずである。もし提供されているオブジェクトタイプが画像ならば、それ以上の処理は必要とされず、EncodeA手続は実行を終了する(82)。もし、提供されているオブジェクト・タイプがグラフィックならば、のA’値は、グラフィックテーブル80の仮想ドメイン(virtual domain)に変換(translated)される必要がある。これは、定数A0をA’の値に加算することによって実現される。A0の値は、以下の方程式を用いて計算され得る。
A0=u0−v0+{Nu(u1−u0)/(Nu−1)}
ここで、[u0,u1]は、連結された軸に沿った画像色テーブルのドメインであり、Nuは、連結された軸に沿った画像色テーブルでの節点の数であり、[v0,v1]は連結された軸に沿ったグラフィック色テーブルのドメインであり、Nvは、連結された軸に沿ったグラフィック色テーブルでの節点の数である。一旦これが為されると、EncodeA手続は終了する(82)。
A0=u0−v0+{Nu(u1−u0)/(Nu−1)}
ここで、[u0,u1]は、連結された軸に沿った画像色テーブルのドメインであり、Nuは、連結された軸に沿った画像色テーブルでの節点の数であり、[v0,v1]は連結された軸に沿ったグラフィック色テーブルのドメインであり、Nvは、連結された軸に沿ったグラフィック色テーブルでの節点の数である。一旦これが為されると、EncodeA手続は終了する(82)。
図9は、代替的な、テーブル。スイッチング機構の実行を表す。この実行において、RenderTableに連結された3つの色テーブル(画像テーブル、グラフィックテーブル、および側色一致テーブル(colorimetric match table))が存在することが想定される。EncodeA手続の実行は、84から始まる。手続は、入力値Aを渡される。EncodeA手続は、次に任意の符号化86を実行する。この符号化の結果は、変数A’に割り当てられる。この任意の符号化には、元々Adobeによって定義された全ての機能が含まれる。
残りの処理の全ては、厳格に、テーブル・スイッチング機構に関連する。第1のステップは、処理されている色が、4つの色入力として指定されているか否かをチェックすることである(88)。4つの色入力は、最も、プレスCMYK値(press CMYK value)を表す傾向があり、パントン・スポット・カラー(pantone spot colors)を表し得る。これらの場合に対して、カラリメトリック・インテント(colorimetric intent)を使用している(真に、なるべく近く一致させるように努力する)オブジェクトを提供することが最も望ましい。色入力チャンネルの数を判断することは、PostScriptにおいて些細なタスクである。以下のコード・フラグメント(現在の色カウントをマーク(mark)にマークする(mark))によって、それは容易に実現され得る。もしこの問合せの結果が、4に等しいならば、カラリメトリック・テーブルが選択される必要がある。定数A1をA’の値に加算することによって(94)、カラリメトリック・テーブルは選択される。これは、A’をカラリメトリック・テーブルの仮想ドメイン(virtual domain)に変換する。A1の値は、以下の式を用いて計算され得る。
A1=v0−w0+{(Nu+Nv)(v1−v0)/(Nu−1)}
ここで、[u0,u1]は、連結された軸に沿った画像色テーブルのドメインであり、Nuは、連結された軸に沿った画像色テーブルでの節点の数であり、[v0,v1]は連結された軸に沿ったグラフィック色テーブルのドメインであり、Nvは、連結された軸に沿ったグラフィック色テーブルでの節点の数であり、[w0、w1]は、連結された軸に沿ったグラフィック色テーブルのドメインであり、Nwは、連結された軸に沿ったグラフィック色テーブルでの節点の数である。一旦カラリメトリック・テーブルが選択されると、EncodeAの実行手続は、終了し得る(96)。
A1=v0−w0+{(Nu+Nv)(v1−v0)/(Nu−1)}
ここで、[u0,u1]は、連結された軸に沿った画像色テーブルのドメインであり、Nuは、連結された軸に沿った画像色テーブルでの節点の数であり、[v0,v1]は連結された軸に沿ったグラフィック色テーブルのドメインであり、Nvは、連結された軸に沿ったグラフィック色テーブルでの節点の数であり、[w0、w1]は、連結された軸に沿ったグラフィック色テーブルのドメインであり、Nwは、連結された軸に沿ったグラフィック色テーブルでの節点の数である。一旦カラリメトリック・テーブルが選択されると、EncodeAの実行手続は、終了し得る(96)。
もしステップ88で、現在の色が、4つの色入力として指定されていないと判断されるならば、処理は以下のように続く。次のステップは、提供されている現在のオブジェクト・タイプがグラフィックであるか否かを判断することである90。これは、ブールテスト(Boolean test)であり、状態変数(state variable)gを3と比較することによって実現され得る。もし状態変数gが3と等しいならば、グラフィック・オブジェクトが提供され、さもなければ提供されるオブジェクト・タイプは画像のはずである。もし提供されているオブジェクト・タイプが画像ならば、それ以上の処理は要求されず、EncodeA手続は実行を終了する(96)。もし提供されているオブジェクト・タイプがグラフィックならば、A’の値は、グラフィック・テーブルの仮想ドメインに変換されねばならない(92)。これは、A’の値に定数A0を加算することによって実現される。A0の値は、以下の式を用いて計算され得る。
A0=u0−v0+{Nu(u1−u0)/(Nu−1)}
ここで、[u0,u1]は、連結された軸に沿った画像色テーブルのドメインであり、Nuは、連結された軸に沿った画像色テーブルでの節点の数であり、[v0,v1]は連結された軸に沿ったグラフィック色テーブルのドメインであり、Nvは、連結された軸に沿ったグラフィック色テーブルでの節点の数である。一旦これが為されると、EncodeA手続は実行を終了する(96)。
A0=u0−v0+{Nu(u1−u0)/(Nu−1)}
ここで、[u0,u1]は、連結された軸に沿った画像色テーブルのドメインであり、Nuは、連結された軸に沿った画像色テーブルでの節点の数であり、[v0,v1]は連結された軸に沿ったグラフィック色テーブルのドメインであり、Nvは、連結された軸に沿ったグラフィック色テーブルでの節点の数である。一旦これが為されると、EncodeA手続は実行を終了する(96)。
配列のオブジェクト・タイプ検知要素の値は、いずれかの以下のCRD手続で使用され得る。EncodeA,EncodeB,EncodeC、および、RenderTable変換手続の全て。配列のオブジェクト検知要素の値は、インテリジェントに(intelligently)、提供の色ビヘイビア(color behavior)を変更(alter)/スイッチ(switch)するために使用され得る。これらの手続の一つもまた、要素の値を、その初期値0にリセットしなければならない。一つのCRD提供テーブルエントリ(Render Table entry)に連結された複数の色テーブルが存在する。各色テーブルは、明確な色ビヘイビアのためのデータを含む。個々の色テーブルは、一定のオフセットを、RenderTableの指標軸(indexing axis)に加算することによってアクセスされる。
一般的なCRD色変換工程は、静的(static)である。言いかえれば、結果としての色は、アプリケーション(application)が要求する色のみの関数である。これは、完全には、増大する色に精通したプリンタ市場の要求を満たさない。ユーザは、多くの色を期待する一方、画像とグラフィックの双方を印刷することを期待する。実際には、グラフィックスのためのベストの色一致(color match)は、画像のためのベストの色一致とは非常に異なる。良いグラフィックス色一致は、輝度及び/又は色相を確保することによって、生気に溢れる飽和度に達した(vibrant saturated)色を提供する。対照的に、色相および輝度をより良く維持するために、良い画像色一致は、飽和を犠牲にする。色提供辞書を生成することに対する伝統的なアプローチは、(多くの)色一致スタイル(color matching styles)の間の最良の妥協を発見することを含む。一つ色提供辞書内に複数の色ビヘイビアを提供する能力は、この妥協を為す必要性を緩和する。これによって、全体としてのより良い色一致という結果をもたらす。
非常に非従来型の、現存する機構(およびコード)の使用によって、CRDが、動的(dynamic)である状態がもたらされることも、(ここに)開示されている。一つのPostscript色提供辞書(CRD)は、一つのグラフィック状態内に複数の色提供意図(intents)を自動的に生成する。これによって、結果としての色が、アプリケーションが要求した色に依存すること、以上のことが可能となる。自動的にインテリジェントに選択された複数の提供意図が存在し得る。選択基準は、入力色空間、提供されるオブジェクトタイプ、及び/又は実際の入力色、を含み得、それに限定されない。
本出願の請求項記載以外の発明について記載する。
請求項1に記載の方法において、色提供辞書によって初期値でメモリ位置を初期化するステップを更に含んでもよい(発明2)。
発明2に記載の方法において、もし第1の色提供辞書手続の間のメモリ位置が前記初期値を持つならば、第1の値に等しい新しい値を設定すると判断し、何らかの他の値に対しては、前記所期値と等しい値を割り当てると判断するステップを更に含んでもよい(発明3)。
発明3に記載の方法において、もし第2の色提供辞書手続の間の前記メモリ位置が前記第1の値を持つならば、第2の値と等しい新しい値を設定すると判断し、何らかの他の値に対しては、前記所期値と等しい値を割り当てると判断するステップを更に含んでもよい(発明4)。
発明4に記載の方法において、もし第3の色提供辞書手続の間の前記メモリ位置が前記第2の値を持つならば、第3の値と等しい新しい値を設定すると判断し、何らかの他の値に対しては、前記所期値と等しい値を割り当てると判断するステップを更に含んでもよい(発明5)。
発明5に記載の方法において、もし前記メモリ位置が前記第3の値と等しいならば、gラフィック・オブジェクトが提供されていると判断し、さもなければ提供されているオブジェクト・タイプは画像である、と判断するステップを更に含んでもよい(発明6)。
発明6に記載の方法において、メモリ位置を前記所期値にリセットするステップを更に含んでもよい(発明7)。
発明4に記載の方法において、もし前記メモリ位置が前記第2の値と等しいならばグラフィックオブジェクトが提供されていると判断し、さもなければ、提供されているオブジェクトタイプは画像(image)のはずであると判断する、ステップを更に含んでもよい。
請求項1に記載の方法において、画像とグラフィックオブジェクトの間の差別化全部が、前記色提供辞書内で実現される、ステップを更に含んでもよい。
請求項1に記載の方法において、もしEbcodeL, EncodeM, およびEncodeN手続が、そのシーケンス順序(sequence order)で実行されるならば、グラフィックオブジェクトが処理され(processed)/提供されている(rendered)と判断し、もし何らかの他のシーケンスで実行されるならば、画像オブジェクトが処理され(processed)/提供されている(rendered)と判断する、ステップを更に含んでもよい。
Claims (3)
- シーケンス順序の中で色提供辞書手続がPostscriptアプリケーションで実行される、当該シーケンス順序を監視する、
ステップを含むことによって、
画像オブジェクトが用いられるべきか、グラフィックオブジェクトが用いられるべきか、をシーケンス順序が判断する、
色提供辞書内のグラフィック・オブジェクトを検知するための方法。 - シーケンスの中でEncodeLMN手続がPostscriptアプリケーションで実行される、当該シーケンスを監視するための手段、
を備える色提供辞書内のグラフィック・オブジェクトを検知するためのシステム。 - もし色提供辞書手続が次々と(in sequence)実行されるなら、グラフィック・オブジェクトが処理され(processed)/提供されている(rendered)と判断し、もし他のシーケンスで実行されるなら、画像オブジェクトが処理され(processed)/提供されている(rendered)と判断する、
ステップを含むグラフィック・オブジェクトを検知するための方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/235,684 US7274488B2 (en) | 2002-09-05 | 2002-09-05 | Detecting graphics in color rendering dictionaries |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004103017A true JP2004103017A (ja) | 2004-04-02 |
Family
ID=31990542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003306172A Pending JP2004103017A (ja) | 2002-09-05 | 2003-08-29 | ダイナミックな色提供辞書 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7274488B2 (ja) |
JP (1) | JP2004103017A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041109B2 (en) | 2006-12-05 | 2011-10-18 | Ricoh Company, Limited | Color processor and computer program product |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7436546B2 (en) * | 2004-05-07 | 2008-10-14 | Infoprint Solutions Company, Llc | Method and apparatus for color management |
US7430063B2 (en) * | 2004-05-07 | 2008-09-30 | Infoprint Soultions Company, Llc | Method and apparatus for color management |
US20060290955A1 (en) * | 2005-06-27 | 2006-12-28 | Kabushiki Kaisha Toshiba | Image forming apparatus |
JP5505366B2 (ja) * | 2010-06-09 | 2014-05-28 | コニカミノルタ株式会社 | プロファイルセット保存方法、プロファイルセット保存プログラム、プロファイルセット保存システムおよび色変換処理装置 |
US10440236B2 (en) | 2018-03-01 | 2019-10-08 | Ricoh Company, Ltd. | Multi-object color caching mechanism |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5243414A (en) | 1991-07-29 | 1993-09-07 | Tektronix, Inc. | Color processing system |
EP0611231B1 (en) * | 1993-02-12 | 1999-09-29 | Eastman Kodak Company | Method for cross-device color calibration and enhancement using explicit constraints |
JP3063957B2 (ja) * | 1995-03-01 | 2000-07-12 | 富士ゼロックス株式会社 | 画像処理装置 |
US5966462A (en) | 1997-06-19 | 1999-10-12 | Xerox Corporation | Method and system for processing and rendering object oriented neutral image data |
US6031628A (en) | 1997-12-19 | 2000-02-29 | Hewlett-Packard Company | Postscript level 1 color correction |
US6252677B1 (en) * | 1998-05-07 | 2001-06-26 | Xerox Corporation | Method and apparatus for rendering object oriented image data using multiple rendering states selected based on imaging operator type |
US6327052B1 (en) * | 1998-06-29 | 2001-12-04 | Electronics For Imaging, Inc. | Color data inversion and reconversion |
US6965912B2 (en) * | 1999-10-18 | 2005-11-15 | 4Yoursoul.Com | Method and apparatus for distribution of greeting cards with electronic commerce transaction |
US6930790B1 (en) * | 2000-05-01 | 2005-08-16 | Adobe Systems Incorporated | Color rendering dictionary for testing color conversion |
-
2002
- 2002-09-05 US US10/235,684 patent/US7274488B2/en active Active
-
2003
- 2003-08-29 JP JP2003306172A patent/JP2004103017A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041109B2 (en) | 2006-12-05 | 2011-10-18 | Ricoh Company, Limited | Color processor and computer program product |
Also Published As
Publication number | Publication date |
---|---|
US20040046979A1 (en) | 2004-03-11 |
US7274488B2 (en) | 2007-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5290487B2 (ja) | デジタルドキュメント処理のためのシステム及び方法 | |
JP5306429B2 (ja) | デジタルドキュメント処理のための方法 | |
TWI407771B (zh) | 用於有效處理顏色轉換的方法以及設備 | |
WO2001080183A1 (en) | Shape processor | |
JP2004318832A (ja) | 画素順次描画システムにおいて実行される合成演算回数の削減法 | |
WO2007076717A1 (fr) | Procédé de génération de fichier en format informatique et procédé d'ouverture | |
US20060274341A1 (en) | Image processing apparatus and image processing method | |
KR20070083205A (ko) | 프린트 제어 장치 및 프린트 제어 방법 | |
KR101119415B1 (ko) | 색 관리를 위한 방법, 데이터 처리 장치 및 프로그램 저장 매체 | |
US20180324323A1 (en) | Information processing apparatus, and storage medium | |
JP2007527810A (ja) | 表示データ・ストリームにおける複合テキストを識別するシステム及び方法 | |
EP3192056A2 (en) | Graphics primitive and color channels | |
JP6632424B2 (ja) | 情報処理装置、プログラム及び制御方法 | |
JP5631590B2 (ja) | 画像の複数のかつネイティブな表現方法 | |
JP2004103017A (ja) | ダイナミックな色提供辞書 | |
JP4511142B2 (ja) | ダイナミックな色提供辞書 | |
JP2004187289A (ja) | 色変換の生成方法及びプログラムコード | |
JP4480160B2 (ja) | 印刷装置、印刷装置の制御方法、印刷装置の制御プログラム、記憶媒体、並びに、Webサーバ | |
JP2010125810A (ja) | 情報処理装置、データ処理方法、プログラム及び記憶媒体 | |
KR100444899B1 (ko) | 화상의회전변환방법 | |
KR100586000B1 (ko) | 크로스 플랫폼 구성을 가능하게 하는 방법 및 장치 | |
JP4259328B2 (ja) | 画像処理装置、プリンタ、及び格納データの読み出し方法 | |
JP2020029067A (ja) | 描画処理装置、描画処理方法、及びプログラム | |
JP3469418B2 (ja) | 表示装置 | |
JP2006338352A (ja) | 帳票作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090323 |