(57)【特許請求の範囲】
【請求項１】
３以上の整数Ｎのチャネル数の多次元色空間内の選択された値に対応する多次元色空間における値を有する複数のエントリを含むカラー・ルックアップ・テーブルと、
前記Ｎチャネル多次元色空間内の画像データを受け取る手段と、
受け取られた前記画像データにしたがって前記カラー・ルックアップ・テーブルにおける値を指定するルックアップ手段と、
受け取られた前記画像データに対応する前記ルックアップ・テーブルの出力に対して２Ｎ／８回の３次元補間を適用する３次元補間手段と、
この３次元補間手段からの出力の間で（２Ｎ／８−１）×３回の線形補間を実行する線形補間手段と、
この線形補間手段の出力にしたがって変換された画像データを出力する手段と
を備えることを特徴とする色空間変換システム。
【請求項２】
受け取られた多チャネル画像データ内のチャネル数をテストするテスト手段と、
このテスト手段によって前記多チャネル画像データのチャネル数が３未満であると判断されたときに、前記多チャネル入力データに対して線形補間を実行する手段と
を、さらに、備えることを特徴とする請求項１に記載の色空間変換システム。
【請求項３】
受け取られた前記Ｎチャネル多次元色空間内の画像データにしたがって端数値を算出する手段と、
受け取られた前記Ｎチャネル多次元色空間内の画像データにしたがってインデックス値を算出する手段と、
算出された前記端数値と、算出された前記インデックス値と、前記カラー・ルックアップ・テーブルの次元とにしたがってオフセット値を算出する手段と
を、さらに、備え、
前記ルックアップ手段は、算出された前記オフセット値にしたがって前記カラー・ルックアップ・テーブルにおける値を指定する手段を含むことを特徴とする請求項１に記載の色空間変換システム。
【請求項４】
前記受け取られた画像データは、ＲＧＢ色空間内において規定され、
前記変換された画像データは、ＣＭＹＫ色空間内において規定されることを特徴とする請求項１に記載の色空間変換システム。
【請求項５】
３以上の整数Ｎのチャネル数の多次元色空間内の選択された値に対応する多次元色空間における値を有する複数のエントリを含むカラー・ルックアップ・テーブル内にＮチャネル多次元色空間カラー画像データを受け取るステップと、
受け取られた前記画像データにしたがって前記カラー・ルックアップ・テーブルにおける値を指定するステップと、
受け取られた前記画像データに対応する前記ルックアップ・テーブルの出力に対して２Ｎ／８回の３次元補間を適用するステップと、
このステップにおける３次元補間からの出力の間で（２Ｎ／８−１）×３回の線形補間を実行するステップと、
前記線形補間の出力にしたがって変換された画像データを出力するステップと
を含むことを特徴とする色空間変換方法。
【請求項６】
受け取られた多チャネル画像データ内のチャネル数をテストするテスト・ステップと、
このテスト・ステップによって前記多チャネル画像データのチャネル数が３未満であると判断されたときに、前記多チャネル入力データに対して線形補間を実行するステップと
を、さらに、含むことを特徴とする請求項５に記載の色空間変換方法。
【請求項７】
受け取られた前記Ｎチャネル多次元色空間内の画像データにしたがって端数値を算出するステップと、
受け取られた前記Ｎチャネル多次元色空間内の画像データにしたがってインデックス値を算出するステップと、
算出された前記端数値と、算出された前記インデックス値と、前記カラー・ルックアップ・テーブルの次元とにしたがってオフセット値を算出するステップと
を、さらに、含み、
前記カラー・ルックアップ・テーブルにおける値を指定する前記ステップは、算出された前記オフセット値にしたがうことを特徴とする請求項５に記載の色空間変換方法。
【請求項８】
前記受け取られた画像データは、ＲＧＢ色空間内において規定され、
前記変換された画像データは、ＣＭＹＫ色空間内において規定されることを特徴とする請求項５に記載の色空間変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色空間変換システムおよび方法に関し、特に、補間処理の回数を低減する色空間変換システムおよび方法に関する。
【背景技術】
【０００２】
電子画像は、しばしば色情報を含む。このような色情報は、通常、加法的または減法的な原色の値等の多次元色空間内において符号化される。通常、使用される加法的な色空間には、赤−緑−青（ＲＧＢ）色空間があり、モニタまたはプロジェクタ等のディスプレイにおいて通常、使用される。シアン、イエロー、マゼンタ、および黒（ＣＭＹＫ）等の減法的な色空間は、通常、カラー・プリンタ等の装置において使用される。
【０００３】
モニタ上において生成または編集され、ＲＧＢ等の色空間において表示される電子ドキュメントがハードコピーに出力される際には、色空間変換が実行される。このような変換は、通常、カラー・ルックアップ・テーブル（ＣＬＵＴ）を用いて実行される。ＣＬＵＴを用いた色空間変換においては、第１の色空間における値がＣＬＵＴのエントリに存在する場合は、ＣＬＵＴを参照することによって容易に第２の色空間における値を取得することができる。しかしＣＬＵＴのエントリの数は有限であり離散的であるため、第１の色空間における値がＣＬＵＴのエントリの中間の値については、最も近接したテーブル・エントリ間における線形補間を行うことによって、第２の色空間における値が取得される。このような補間処理は頻繁に必要となる。
【０００４】
ＣＬＵＴ色変換は有効ではあるが、３を超える数の色のチャネルが関係する際に、補間処理が大きな問題となる。一例として、４チャネル画像データの色空間変換の場合には１５回の線形補間が必要となり、５チャネル画像データの場合には３１回の線形補間が必要となる。したがって、チャネル数が大きくなると、膨大な処理オーバーヘッドが生ずる問題点があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の従来の問題点に鑑みてなされたもので、補間処理の回数を低減可能な色空間変換システムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による色空間変換システムは、３以上の整数Ｎのチャネル数の多次元色空間内の選択された値に対応する多次元色空間における値を有する複数のエントリを含むカラー・ルックアップ・テーブルと、Ｎチャネル多次元色空間内の画像データを受け取る手段とを備える。また、システムは、受け取られた画像データにしたがってカラー・ルックアップ・テーブルにおける値を指定するルックアップ手段と、受け取られた画像データに対応するルックアップ・テーブルの出力に対して２Ｎ／８回の３次元補間を適用する３次元補間手段とを備える。システムは、さらに、３次元補間手段からの出力の間で（２Ｎ／８−１）×３回の線形補間を実行する線形補間手段と、線形補間手段の出力にしたがって変換された画像データを出力する手段とを備える。
【０００７】
本発明の一実施形態において、システムは、受け取られた多チャネル画像データ内のチャネル数をテストするテスト手段と、テスト手段によって多チャネル画像データのチャネル数が３未満であると判断されたときに、多チャネル入力データに対して線形補間を実行する手段とを、さらに、備える。
【０００８】
本発明のさらなる実施形態において、システムは、受け取られたＮチャネル多次元色空間内の画像データにしたがって端数値を算出する手段と、受け取られたＮチャネル多次元色空間内の画像データにしたがってインデックス値を算出する手段と、算出された端数値と、算出されたインデックス値と、カラー・ルックアップ・テーブルの次元とにしたがってオフセット値を算出する手段とを、さらに、備える。この実施形態において、ルックアップ手段は、算出されたオフセット値にしたがってカラー・ルックアップ・テーブルにおける値を指定する手段を含む。
【０００９】
本発明の別の実施形態においては、受け取られた画像データはＲＧＢ色空間内において規定され、変換された画像データはＣＭＹＫ色空間内において規定される。
【００１０】
また、本発明による色空間変換方法は、３以上の整数Ｎのチャネル数の多次元色空間内の選択された値に対応する多次元色空間における値を有する複数のエントリを含むカラー・ルックアップ・テーブル内にＮチャネル多次元色空間カラー画像データを受け取るステップと、受け取られた画像データにしたがってカラー・ルックアップ・テーブルにおける値を指定するステップと、受け取られた画像データに対応するルックアップ・テーブルの出力に対して２Ｎ／８回の３次元補間を適用するステップと、このステップにおける３次元補間からの出力の間で（２Ｎ／８−１）×３回の線形補間を実行するステップと、線形補間の出力にしたがって変換された画像データを出力するステップとを含む。
【発明の効果】
【００１１】
本発明によれば、補間処理の回数が低減された色空間変換システムおよび方法が提供される。
【図面の簡単な説明】
【００１２】
【図１】本発明による実施形態が適用されるシステム全体の構成例である。
【図２】本発明による実施形態のシステムの動作が実行されるコントローラのハードウェアの構成例を説明するための図である。
【図３】本発明による実施形態のシステムの動作が実行されるコントローラの機能ブロックの構成例を説明するための図である。
【図４】本発明による実施形態における色空間変換システムの機能ブロックの構成例である。
【図５】本発明による実施形態におけるソース・プロファイルの機能ブロックの構成例である。
【図６】本発明による実施形態における色空間変換の動作例を表したフローチャートである。
【発明を実施するための形態】
【００１３】
以下、適宜、図面を参照しながら本発明による実施形態の説明を行う。図１は本発明による実施形態が適用される色空間変換システム全体の構成例である。図に示したシステム１００は、コンピュータ・ネットワーク１０２として表されている分散コンピューティング環境を利用して実施することができる。コンピュータ・ネットワーク１０２は、複数の電子装置間におけるデータの交換を可能とする本技術分野で知られている任意の分散通信システムである。コンピュータ・ネットワーク１０２は、例えば、仮想ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク、インターネット、イントラネット、またはそれらの任意の組み合わせを含む本技術分野で知られている任意のコンピュータ・ネットワークである。本発明による一実施形態において、コンピュータ・ネットワーク１０２は、例えば、トークン・リング、IEEE802.11(x)、Ethernet（登録商標）またはその他の無線ベースまたは有線ベースのデータ通信メカニズム等の既存の多数のデータ転送メカニズムによって例示されるような物理レイヤおよびトランスポート・レイヤから構成される。尚、図にはコンピュータ・ネットワーク１０２を示したが、本発明は、本技術分野で知られているようなスタンドアローンの形態でも同様に実施可能である。
【００１４】
システム１００は、さらに、様々なドキュメント処理を実行するために適切な多機能周辺装置（Multi-Function Peripheral；以下、ＭＦＰということがある。）として図に表されている、ドキュメント処理装置１０４を含む。しかし、ＭＦＰはドキュメント処理装置の一形態であって、本発明におけるドキュメント処理装置がＭＦＰに限定されるものではない。ドキュメント処理装置における処理動作には、例えば、ファクシミリ通信、画像走査、コピー、印刷、電子メール、ドキュメント管理またはドキュメント保存等がある。本発明による一形態においては、ドキュメント処理装置１０４は、リモート・ドキュメント処理サービスを外部装置あるいはネットワークに接続された装置に対して提供する。ドキュメント処理装置１０４は、ユーザあるいはネットワークに接続された装置等とやり取りするように構成された、ハードウェア、ソフトウェアおよびこれらの任意の適切な組み合わせを含む。
【００１５】
また、本発明による一実施形態において、ドキュメント処理装置１０４は、例えば、IEEE 1394あるいはＵＳＢインターフェイスを有する各種ドライブ、多様なＩＣメモリカード等の、複数のポータブル記憶媒体を受け入れるためのインターフェイスを備える。本発明の実施形態において、ドキュメント処理装置１０４は、さらに、タッチスクリーン、ＬＣＤ、タッチパネルまたは英数字キーパッド等のユーザ・インターフェイス１０６を備え、ユーザは、このようなユーザ・インターフェイスを介してドキュメント処理装置１０４と直接やり取りすることができる。本発明による実施形態において、ユーザ・インターフェイス１０６は、ユーザに対して情報を伝達するとともに、ユーザから選択内容を受け取るために有効に用いられる。ユーザ・インターフェイス１０６は、本技術分野で知られているように、ユーザにデータを提供するために適切な種々のコンポーネントからなる。本発明における一実施形態においては、ユーザ・インターフェイス１０６は、１つまたは複数のグラフィック要素、テキスト・データまたは画像等をユーザに表示し、ユーザから入力を受け取り、その入力を、さらに後ほど説明するコントローラ１０８等のバックエンド・コンポーネントに伝達するためのディスプレイ装置を有する。ドキュメント処理装置１０４は、適切な通信リンク１１２を介して、コンピュータ・ネットワーク１０２に通信可能に接続されている。適切な通信リンク１１２としては、例えば、WiMax（Worldwide Interoperability for Microwave Access）、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、Bluetooth（登録商標）、公衆交換電話網、専用通信ネットワーク、赤外線接続、光接続、または本技術分野において知られている他の適切な有線または無線のデータ通信チャネルがある。
【００１６】
本発明による実施形態において、ドキュメント処理装置１０４は、さらに、ドキュメント処理装置１０４による処理動作を容易にする、コントローラ１０８として示した、適切なバックエンド・コンポーネントを内蔵する。コントローラ１０８は、ドキュメント処理装置１０４の動作を制御し、あるいはユーザ・インターフェイス１０６を介した画像の表示を制御し、または電子画像データの操作を制御等の処理を容易にするように構成されたハードウェア、ソフトウェアあるいはこれらの適切な組み合わせによって実装される。以下の説明においては、コントローラ１０８という用語は、後述する動作を実行し、もしくは実行させ、もしくは制御し、またはその他の方法で動作するように機能するハードウェア、ソフトウェア、またはこれらの組み合わせを含むドキュメント処理装置１０４に関連する任意の多数のコンポーネントの意味で、使用する。なお、図および上記の説明において、コントローラ１０８をドキュメント処理装置１０４に内蔵された形態としたが、コントローラ１０８は、ドキュメント処理装置１０４に通信可能に接続された外部装置の形態であってもよい。コントローラ１０８との関連において説明を行う処理動作は、本技術分野において知られている任意の汎用的なコンピューティング・システムによって実行可能である。したがって、コントローラ１０８は、このような汎用的なコンピューティング装置を表しており、以下の説明において使用する際にも、そのように意図されている。さらに、以下におけるコントローラ１０８の使用は、例としての実施形態にすぎず、当業者には明らかな他の実施形態も、本発明の一実施形態による色空間変換システムおよび方法を用いることができる。コントローラ１０８の構成等については、後ほど図２と図３を参照しながら説明を行う。
【００１７】
また、ドキュメント処理装置１０４にはデータ記憶装置１１０が通信可能に接続されている。データ記憶装置１１０は、例えば、ハードディスク・ドライブ、その他の磁気記憶装置、光学式記憶装置、フラッシュ・メモリまたはそれらの任意の組み合わせを含む本技術分野で知られている大容量記憶装置である。一実施形態において、データ記憶装置１１０は、ドキュメント・データ、画像データまたは電子データベースのデータ等を保存するように適切に適合されている。データ記憶装置１１０は、図においてはシステム１００の独立したコンポーネントとして例示されているが、例えば、内蔵ハードディスク・ドライブ等のような、ドキュメント処理装置１０４の内部記憶装置、あるいはコントローラ１０８のコンポーネント等として実装することができる。
【００１８】
システム１００は、さらに、通信リンク１１６を介してコンピュータ・ネットワーク１０２とデータ通信可能なユーザ装置１１４を含む。図においてはユーザ装置１１４をノート形パーソナル・コンピュータとして示しているが、これは例示にすぎない。ユーザ装置１１４は、例えば、コンピュータ・ワークステーション、デスクトップ形パーソナル・コンピュータ、ＰＤＡ（Personal Digital Assistant、携帯情報端末）、ウェブ適合携帯電話、スマート・フォン、専用通信ネットワーク用の電子装置、またはその他のウェブ適合電子装置を含む本技術分野において知られている任意のパーソナル・コンピューティング装置を表す。通信リンク１１６は、例えば、Bluetooth（登録商標）、WiMax、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11(x)、専用通信ネットワーク、赤外線接続、光接続、公衆交換電話網、または本技術分野において知られている他の適切な無線または有線のデータ通信チャネルである。ユーザ装置１１４は、電子ドキュメント、ドキュメント処理インストラクション、ユーザ・インターフェイスの修正、アップグレード、更新、またはパーソナル化データ等を生成し、生成したデータ等を、ドキュメント処理装置１０４あるいはコンピュータ・ネットワーク１０２に接続された他の類似装置に送る。
【００１９】
次に、図２および図３を参照しながら、本発明による実施形態におけるシステムの動作が実行されるコントローラのハードウェアおよび機能構成等を説明する。図２に本発明による実施形態においてシステム１００の動作が実行され、図１においてコントローラ１０８として示した、バックエンド・コンポーネントであるコントローラ２００のハードウェア・アーキテクチャの構成例を説明するための図を示す。尚、図においては、コントローラの構成要素の意義をより明確にするため、参照符号２３２で示した、コントローラ以外のドキュメント処理装置の構成要素の一部を併せて示している。コントローラ１０８は、本明細書に記載する動作を円滑に実行する能力を有する、本技術分野において知られている任意の汎用的なコンピューティング装置を表す。コントローラ２００には、少なくとも１つのＣＰＵを含むプロセッサ２０２が含まれる。プロセッサ２０２は、互いに協調して動作する複数のＣＰＵから構成されることもある。また、コントローラ２００には、ＢＩＯＳ機能、システム機能、システム構成データおよびコントローラ２００の動作に使用する他のルーチンもしくはデータ等の静的または固定的なデータ、あるいはインストラクションのために有効に使用される、不揮発性または読出し専用メモリ（ＲＯＭ）２０４が含まれる。
【００２０】
また、コントローラ２００には、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、または他の任意の適切なアドレス指定可能かつ書込み可能なメモリ・システムから構成されるＲＡＭ２０６が含まれる。ＲＡＭ２０６は、プロセッサ２０２により処理されるアプリケーションおよびデータ処理に関係するデータ・インストラクションのための記憶領域を提供する。
【００２１】
ストレージ・インターフェイス２０８は、コントローラ２００に関連するデータの不揮発性保存、大容量保存または長期的な保存のためのメカニズムを提供する。ストレージ・インターフェイス２０８は、参照符号２１６で示したディスク・ドライブ、あるいは光学式ドライブ、テープ・ドライブ等の適切な任意のアドレス指定可能、またはシリアル記憶装置等の大容量記憶装置の他、当業者に知られている適切な任意の記憶媒体を使用する。
【００２２】
ネットワーク・インターフェイス・サブシステム２１０は、ネットワークとの間の入出力を適切にルーティングすることによって、コントローラ２００が他の装置と通信することを可能にする。ネットワーク・インターフェイス・サブシステム２１０は、コントローラ２００に対する外部装置との１つまたは複数のコネクションのインターフェイスを適切にとる。図においては、例えば、Ethernet（登録商標）およびトークン・リング等の固定または有線ネットワークとのデータ通信のための少なくとも１つのネットワーク・インターフェイス・カード２１４と、WiFi（Wireless Fidelity）、WiMax、無線モデム、セルラ・ネットワークまたは適切な任意の無線通信システム等の手段を介した無線通信のために適切な無線インターフェイス２１８を示している。ネットワーク・インターフェイス・サブシステム２１０は、任意の物理的データ転送レイヤあるいは物理的データ転送レイヤではないデータ転送レイヤまたはプロトコル・レイヤを適切に利用する。図においては、ネットワーク・インターフェイス・カード２１４は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはこれらの組合せから適切に構成される物理的ネットワーク２２０を介したデータ交換を行うために、相互接続されている。
【００２３】
プロセッサ２０２、読出し専用メモリ（ＲＯＭ）２０４、ＲＡＭ２０６、ストレージ・インターフェイス２０８およびネットワーク・インターフェイス・サブシステム２１０の間のデータ通信は、バス２１２によって例示したバス・データ転送メカニズムを介して行われる。
【００２４】
また、ドキュメント・プロセッサ・インターフェイス２２２もバス２１２を介してデータ通信を行う。ドキュメント・プロセッサ・インターフェイス２２２は、様々なドキュメント処理動作を実行するために、ドキュメント処理ハードウェア２３２との接続を提供する。そのようなドキュメント処理動作には、コピー・ハードウェア２２４によって実行されるコピー、画像走査ハードウェア２２６によって実行される画像走査、印刷ハードウェア２２８によって実行される印刷、およびファクシミリ・ハードウェア２３０によって実行されるファクシミリ通信がある。コントローラ２００は、これらのドキュメント処理動作のいずれかまたは全部を適切に動作させる。複数のドキュメント処理動作を実行可能なシステムは、ＭＦＰ（多機能周辺装置）または多機能装置と呼ばれる。システム１００の機能は、ドキュメント処理装置と関連するインテリジェント・サブシステムとして図２に示したコントローラ２００（図１におけるコントローラ１０８に対応）を含む、ドキュメント処理装置１０４等の適切なドキュメント処理装置において実行される。
【００２５】
次に図３を参照しながらシステムの動作が実行されるコントローラの機能ブロックと動作の概要を説明する。図３に、本発明による実施形態のシステム１００の動作が実行されるコントローラの機能ブロックの構成例を説明するための図を示す。尚、図３においても、コントローラの機能要素の意義をより明確にするため、コントローラ以外のドキュメント処理装置の機能要素の一部を併せて示している。図３は、ソフトウェアおよびオペレーティング・システム機能と関連して、図２に示したハードウェアの機能性を例示している。
【００２６】
コントローラ機能はドキュメント処理エンジン３０２を含む。一実施形態において、ドキュメント処理エンジン３０２は、印刷動作、コピー動作、ファクシミリ通信動作および画像走査動作を可能にする。これらの機能は、産業界において一般に好まれるドキュメント処理周辺装置であるＭＦＰと関連付けられることが多い。しかし、コントローラが上記のドキュメント処理動作のすべてを可能にする必要は必ずしもない。コントローラは、上記のドキュメント処理動作のサブセットである、専用のドキュメント処理装置、あるいはより限定した目的のドキュメント処理装置においても有効に用いられる。
【００２７】
ドキュメント処理エンジン３０２はユーザ・インターフェイス・パネル３１０と適切にインターフェイスされており、ユーザまたは管理者は、このユーザ・インターフェイス・パネル３１０を介して、ドキュメント処理エンジン３０２によって制御される機能にアクセスすることができる。アクセスは、コントローラにローカル接続されたインターフェイスを介して行われるか、遠隔のシン・クライアント（thin client）またはシック・クライアント（thick client）によって遠隔から行われる。
【００２８】
ドキュメント処理エンジン３０２は、印刷機能部３０４、ファクシミリ通信機能部３０６および画像走査機能部３０８とデータ通信を行う。これらの機能部は、印刷、ファクシミリの送受信、およびドキュメント画像をコピーのために取得するか、またはドキュメント画像の電子バージョンを生成するための、ドキュメント画像走査の実際の処理動作を容易にする。
【００２９】
ジョブ・キュー（job queue）３１２は、印刷機能部３０４、ファクシミリ通信機能部３０６および画像走査機能部３０８とデータ通信を行う。ビットマップ・フォーマット、ページ記述言語（ＰＤＬ）フォーマットまたはベクター・フォーマット等の種々の画像形式は、画像走査機能部３０８からジョブ・キュー３１２を介して以降の処理のために中継される。
【００３０】
ジョブ・キュー３１２は、また、ネットワーク・サービス機能部３１４ともデータ通信を行う。一実施形態において、ジョブ制御信号、状態データまたは電子ドキュメント・データが、ジョブ・キュー３１２とネットワーク・サービス機能部３１４との間で交換される。このように、クライアント側ネットワーク・サービス機能３２０を介したコントローラ機能へのネットワーク・ベースのアクセスに適切なインターフェイスが提供され、このインターフェイスは任意の適切なシン・クライアントまたはシック・クライアントである。一実施形態において、ウェブ・サービス・アクセスは、ハイパーテキスト転送プロトコル（HTTP）、ファイル転送プロトコル（FTP）、ユニフォーム・データ・ダイアグラム・プロトコルまたは他の任意の適切な交換メカニズムによって実行される。ネットワーク・サービス機能部３１４は、また、ＦＴＰ、電子メールまたはテルネット（TELNET）等を介した通信のために、クライアント側ネットワーク・サービス機能３２０とのデータ交換も有効に提供する。このように、コントローラ機能は、種々のネットワーク・アクセス・メカニズムによって、電子ドキュメントおよびユーザ情報のやり取りを容易にする。
【００３１】
ジョブ・キュー３１２は、また、画像プロセッサ３１６ともデータ通信を行う。画像プロセッサ３１６は、印刷機能部３０４、ファクシミリ通信機能部３０６または画像走査機能部３０８等の装置機能部と、電子ドキュメントを交換するために適したフォーマットに変換するラスタ画像処理（ＲＩＰ）、ページ記述言語インタープリタまたは任意の適切な画像処理を行うメカニズムである。
【００３２】
さらに、ジョブ・キュー３１２はジョブ解析部（job parser）３１８とデータ通信を行い、このジョブ解析部３１８はクライアント装置サービス部３２２等の外部装置からの印刷ジョブ言語ファイルを受け取る働きをする。クライアント装置サービス部３２２は、電子ドキュメントの印刷、ファクシミリ通信、またはコントローラ機能による処理が有効である他の適切な電子ドキュメントの入力を含む。ジョブ解析部３１８は、受け取った電子ドキュメント・ファイルを解析し、前述した機能およびコンポーネントに関連する処理のために、解析した電子ドキュメント・ファイル情報をジョブ・キュー３１２に中継する働きをする。
【００３３】
次に、本発明における動作の概要を説明する。先ず、Ｎチャネル多次元色空間カラー画像データが、Ｎチャネル多次元色空間内の選択された値に対応する多次元色空間内の値を有する複数のエントリを含むカラー・ルックアップ・テーブル内に受信される。ここで、Ｎは３以上の整数である。次いで、受け取られた画像データにしたがって、カラー・ルックアップ・テーブル内の値が指定される。次いで、受け取られた画像データに対応するルックアップ・テーブルの出力に対して、２Ｎ／８回の３次元補間が適用される。次いで、３次元補間からの出力の間で（２Ｎ／８−１）×３回の線形補間が実行される。次いで、線形補間の出力にしたがって変換された画像データが出力される。
【００３４】
本発明の例示的な一実施形態によれば、先ず、Ｎチャネル多次元色空間画像データが、コントローラ１０８によって、カラー・ルックアップ・テーブル内に受け取られる。受け取られる入力画像データを、例えば、赤−緑−青（ＲＧＢ）色空間等のＮチャネル色空間内において規定することができる。多チャネル画像データは、例えば、ユーザ装置１１４から、もしくはポータブル記憶媒体から、またはデータ記憶装置等１１０から受け取られる。本発明の例示的な一実施形態においては、多チャネル画像データが１次元ルックアップ・テーブル内に受け取られる。次いで、入力画像データが、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントによって、１次元ルックアップ・テーブルから受け取られる。
【００３５】
次いで、チャネル数Ｎが３以上か否か、すなわち、Ｎ≧３であるか否かを判断するために、受け取られた画像データにおけるチャネル数Ｎが、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントによって、テストされる。受け取られた入力画像データのチャネル数が３未満であると、コントローラ１０８によって判断されると、多チャネル入力画像データに対して線形補間が実行される。次いで、線形補間の出力にしたがって、変換された画像データが出力される。次いで、出力された変換済み画像データが１次元出力ルックアップ・テーブルに伝達され、最終的な出力データがコントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントによって取得される。
【００３６】
受け取られた多チャネル入力画像データが３以上のチャネルを有する、すなわちＮ≧３であると判断された場合には、受け取られた画像データにしたがって端数値（fraction value）が算出される。次いで、受け取られた画像データにしたがってインデックス値が算出される。算出された端数値、算出されたインデックス値、およびカラー・ルックアップ・テーブルの次元を用いて、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントによって、オフセット値が算出される。次いで、算出されたオフセット値にしたがって、カラー・ルックアップ・テーブル内の値が指定される。次いで、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントが、受け取った画像データに対応するルックアップ・テーブルの出力に対して、２Ｎ／８回の３次元補間を適用する。次いで、３次元補間からの出力の間で（２Ｎ／８−１）×３回の線形補間が実行される。次に、３次元補間からの出力に対して実行された線形補間にしたがって、変換された画像データが出力される。次いで、出力された変換済みの画像データが１次元ルックアップ・テーブルに伝達され、この１次元ルックアップ・テーブルから最終的な出力データが得られる。
【００３７】
３次元補間の組み合わせは、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネント等によって実行されることが必要な線形補間の数を低減する。前述したように、Ｎチャネル画像データに必要とされる３次元補間の回数は、２Ｎ／８として算出され、Ｎチャネル画像データに必要とされる線形補間の回数は、（２Ｎ／８−１）×３として算出される。したがって、４チャネル画像データ、すなわち、Ｎ＝４の場合には、（２４／８）＝２回の３次元補間および（（２４／８−１）×３）＝３回の線形補間が用いられる。例えば、ドキュメント処理装置１０４は、ＣＭＹＫ色空間におけるデータを出力可能である。同様に、５チャネル画像データ、すなわち、Ｎ＝５の場合には、（２５／８）＝４回の３次元補間および（（２５／８−１）×３）＝９回の線形補間が用いられる。５チャネル入力画像データの処理例について、後ほど図５を参照しながら説明を行う。
【００３８】
組み合わせられた３次元補間用の入力データとして使用するために、前述したカラー・ルックアップ・テーブルからデータを取得するため使用されるオフセット値すなわちアドレスは、次の式（１）のように、３次元（３Ｄ）補間のオフセット・アドレス計算にしたがって算出される。
【００３９】
オフセット・アドレス = H * Ti * Tj * Z + I * Tj * Z + J * Z          (1)
ここで、H、I、Jは入力値であり、Ti、Tjは、３Ｄ  ＣＬＵＴテーブルの次元であり、Zは出力チャネル数である。
【００４０】
式（１）は、関連する画像データのチャネル数Ｎにしたがって拡張される。次に示す式（２）、（３）および（４）は、それぞれ、４チャネル、５チャネルおよび６チャネルを有する画像データに対応する。
【００４１】
−４チャネルの場合：
オフセット・アドレス = H * Ti * Tj * Tk * Z + I * Tj * Tk * Z + J * Tk * Z + K
* Z          (2)
−５チャネルの場合：
オフセット・アドレス = H * Ti * Tj * Tk * Tl * Z + I * Tj * Tk * Tl * Z+J * Tk
*Tl * Z + K * Tl * Z + L * Z          (3)
−６チャネルの場合：
オフセット・アドレス= H * Ti * Tj * Tk * Tl * Tm * Z + I * Tj * Tk * Tl * Tm * Z+J * Tk * Tl * Tm * Z + K * Tl * Tm * Z + L * Tm * Z + M * Z        (4)
所定の画像データに関連するチャネル数Ｎにしたがって式（１）のさらなる拡張が可能である。
【００４２】
式（１）、（２）、（３）および（４）は、入力値Ｈ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍ・・・を保持する配列Ｉ[ｎ] と、カラー・ルックアップ・テーブルの次元Th、Ti、Tj、Tk、Tl、Tm・・・を保持する配列Ｔ[ｎ] により、次のように書き換えとことができる。
【００４３】
３チャネルの場合：
オフセット・アドレス= Ｉ[0] * T[1] * T[2] * Z
+ Ｉ[1]      * T[2] * Z 
+ Ｉ[2]            * Z                         (5)
４チャネルの場合：
オフセット・アドレス=Ｉ[0] * T[1] * T[2] * T[3] * Z
+Ｉ[1]      * T[2] * T[3] * Z 
+Ｉ[2]           * T[3] * Z 
+Ｉ[3]                * Z                       (6)
５チャネルの場合：
オフセット・アドレス=Ｉ[0] * T[1] * T[2] * T[3] * T[4] * Z 
+Ｉ[1]          * T[2] * T[3] * T[4] * Z 
+Ｉ[2]           * T[3] * T[4] * Z 
+Ｉ[3]                * T[4] * Z 
+Ｉ[4]                    * Z                  (7)
６チャネルの場合：
オフセット・アドレス=Ｉ[0] * T[1] * T[2] * T[3] * T[4] * T[5] * Z
+Ｉ[1]          * T[2] * T[3] * T[4] * T[5] * Z
+Ｉ[2]           * T[3] * T[4] * T[5] * Z
+Ｉ[3]                * T[4] * T[5] * Z
+Ｉ[4]                   * T[5] * Z
+Ｉ[5]                       * Z               (8)
式（５）、（６）、（７）、および（８）にしたがって、次の関数を使用し、組み合わせられた３次元補間のためのオフセット値すなわちアドレスを算出することができる。
【００４４】
int CalcTblOffset(int *Index, unsigned short *TblDim, int InputChan, int OutputChan)
{
int                 TblOffset = 0;
unsigned short             TDim;
int                 i, j;
for (i = 0; i < InputChan; i++)
{
TDim = 1;
for (j = i + 1; j < InputChan; j++)
TDim *= TblDim[j];
TblOffset += Index[i] * TDim * OutputChan;
}
return TblOffset;
}
この関数から、次に示すコードを使用し、例えば、オフセット・アドレス等のオフセット値を算出することができる。
【００４５】
int *TblOffset;
int *Index;
unsigned short *TblDim;
int InputChan;
int OutputChan;
・・・
・・・
N = (int)pow(2, InputChan);
for (i = 0; i < N; i++)
TblOffset[i] = CalcTblOffset(Index, TblDim, InputChan, OutputChan);
この後に、次のコードを適用することによって、カラー・ルックアップ・テーブルから適切なデータが取得される。
【００４６】
unsigned short *Addr[8];
unsigned short *Clut;
float *Fraction;
float  *OutputData;
・・・
・・・
・・・
for (i = 0; i < N/8; i++)
{
Addr[0] = Clut + TblOffset [i*8];
Addr[1] = Clut + TblOffset [i*8+1];
Addr[2] = Clut + TblOffset [i*8+2];
Addr[3] = Clut + TblOffset [i*8+3];
Addr[4] = Clut + TblOffset [i*8+4];
Addr[5] = Clut + TblOffset [i*8+5];
Addr[6] = Clut + TblOffset [i*8+6];
Addr[7] = Clut + TblOffset [i*8+7];
// perform 3-D interpolation
3-DInterpolation(Addr, Fraction, OutputData, OutputChan); 
・・・
}
前述の例示的なコードによるカラー・ルックアップ・テーブルからの適切なデータの取得に続いて、Ｎチャネル画像データに必要な２Ｎ／８回の３次元補間が実行され、Ｎチャネル画像データに必要な（２Ｎ／８−１）×３回の線形補間が実行される結果、変換された画像データが取得される。次いで、出力された変換済み画像データが１次元ルックアップ・テーブルに伝達され、最終的な出力データがドキュメント処理装置１０４によって取得される。
【００４７】
図１ないし図３を参照しながら説明を行ったシステム１００およびコンポーネントの機能は、図４および図５を参照しながら行う以下の説明によってさらに理解されるであろう。図４に、本発明の一実施形態による色空間変換システムの機能ブロックの構成例を示す。図には、入力画像４０２、ソース・プロファイル４０４、デスティネーション・プロファイル４０６および出力画像４０８が示されている。本発明の一実施形態によれば、入力画像４０２は、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントによって受け取られる、１、３、４、５、６、または最大で１５までのチャネルを有する任意の画像を表す。また、出力画像４０８も、１、３、４、５、６、または最大で１５までのチャネルを有することができる。
【００４８】
本発明の一実施形態によるソース・プロファイル４０４は、通常、複数の１次元ルックアップ・テーブル、１つのマトリックスおよび１つのカラー・ルックアップ・テーブルを含む。グレースケール入力については、対応するソース・プロファイル４０４は、１つの１次元ルックアップ・テーブルを含む。ＲＧＢ入力については、対応するソース・プロファイル４０４は、３つの１次元ルックアップ・テーブルを含む。例えば、ＩＣＣ（International Color Consortium）プロファイル・バージョン４等の、４ないしＮのソース・プロファイル４０４の場合には、データ・フローは、（１）複数の１次元ルックアップ・テーブル（Ａ曲線）、（２）１つのカラー・ルックアップ・テーブル、（３）複数の１次元ルックアップ・テーブル（Ｍ曲線）、（４）１つのマトリックス、および（５）複数の１次元ルックアップ・テーブル（Ｂ曲線）を含む。ＩＣＣプロファイル・バージョン２の、４ないしＮのソース・プロファイル４０４の場合には、データ・フローは、（１）マトリックス、（２）複数の１次元ルックアップ・テーブル、（３）１つのカラー・ルックアップ・テーブル、および（４）複数の１次元ルックアップ・テーブルを含む。
【００４９】
デスティネーション・プロファイル４０６は、例えば、１、３、４、６および８色出力を含む。例えば、レーザ・ベースのドキュメント処理装置は、例えば、モノクロ等の１チャネル出力、または４チャネル（ＣＭＹＫ）出力をすることができる。インクジェット・ベースのドキュメント処理装置は、例えば、ＣＭＹＫ、ライトＣおよびライトＭ等の６チャネル、あるいは、例えば、ＣＭＹＫ、ライトＣ、ライトＭ、中間グレーおよびライト・グレー等の８チャネルに出力することができる。したがって、一実施形態として、ＲＧＢ色空間において規定された画像データを、ＣＭＹＫ色空間において規定されたデータに変換することができる。
【００５０】
次に図５に、図４に示したソース・プロファイル４０４に対応し、入力画像が５チャネルの場合における一例としてのソース・プロファイルの機能ブロック図を示す。図５は、５チャネル入力画像に対応した本発明によって利用されるシステムの単純化した表現を示す。５チャネル入力画像５０２は、対応する５チャネル・ソース・プロファイル５０４を必要とする。図４においてはソース・プロファイル４０４として示した、ソース・プロファイル５０４は、１次元入力ルックアップ・テーブル（１-Ｄ  ＬＵＴ）５０６、カラー・ルックアップ・テーブル（カラーＬＵＴ）５０８、および１次元出力ルックアップ・テーブル５１０を含む。
【００５１】
ソース・プロファイル５０４のそれぞれの１次元入力ルックアップ・テーブル５０６に対するそれぞれの入力は、例えば、１Ａ、２Ａ、３Ａ、４Ａおよび５Ａ等の入力画像５０２の５つのチャネルの中の１つに対応する。例えば、出力１Ｂ、２Ｂ、３Ｂ、４Ｂ、および５Ｂ等の５つの１次元入力ルックアップ・テーブル５０６からの５つの出力は、４回の３次元補間のための３２のオフセット・アドレスを算出するための入力として使用される。出力１Ｂ、２Ｂ、３Ｂ、４Ｂおよび５Ｂは、前述した式（３）の入力Ｈ、Ｉ、Ｊ、ＫおよびＬとして使用される。また、１つの３次元補間は、８つの入力を必要とし、かつ、３つの出力を有する。３２のオフセット・アドレスのデータは、カラー・ルックアップ・テーブル５０８からのものである。次いで、線形補間の出力（ＰＣＳ）は、例えば、図５に示したテーブルＰＣＳ１、ＰＣＳ２、およびＰＣＳ３等の１次元ルックアップ・テーブル５１０に対する入力Ｐ１、Ｃ１、およびＳ１として使用される。次いで、例えば、Ｐ、ＣおよびＳ等の１次元出力ルックアップ・テーブル５１０からの出力は、図４に示したデスティネーション・プロファイル４０６に対する入力として使用される。
【００５２】
次に図６を参照しながら、本発明による実施形態における色空間変換動作を説明する。図６に、本発明による実施形態における色空間変換の動作例を表すフローチャートを示す。先ず、Ｓ６０２で、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントは、入力画像データを受け取る。多チャネル画像データは、例えば、ユーザ装置１１４、ポータブル記憶媒体、ファクシミリ伝送、またはコンピュータ・ネットワーク１０２を介したドキュメント処理装置１０４への他の電子的通信等から受け取られる。ここで、画像データのチャネル数はＮである。多チャネル画像データは、例えば、１次元ルックアップ・テーブルの中に受け取られる。本明細書においては、ドキュメント処理装置１０４を参照しているが、図６に示した動作を実行するために、同様に、ユーザ装置１１４または類似する任意の他のコンピューティング装置を用いることができる。
【００５３】
次いでＳ６０４において、例えば、ＲＧＢ色空間の画像データ等のＮチャネル多次元色空間画像データが、１次元ルックアップ・テーブルから受け取られる。Ｓ６０８において、チャネル数が３以上か否か、すなわちＮ≧３であるか否かを判断するために、Ｓ６０６において、受け取られた画像データのチャネル数がテストされる。Ｓ６０８において、受け取られた画像データのチャネル数が３未満であると判断された場合には、処理はＳ６１０に進み、多チャネル入力データに対して線形補間が実行される。すなわち、１つまたは２のチャネルを有する受け取られた画像データについて線形補間が実行される。この後、処理はＳ６２４に進み、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントが、Ｓ６１０における線形補間出力にしたがって変換された画像データを出力する。次いでＳ６２６において、出力された変換済み画像データが１次元ルックアップ・テーブルに伝達され、Ｓ６２８において最終的な出力データが得られる。
【００５４】
Ｓ６０８に戻り、受け取られた多チャネル画像データのチャネル数が３以上、すなわちＮ≧３であると判断されると、処理はＳ６１２に進み、受け取られた画像データにしたがって端数値（fraction value）が算出される。次にＳ６１４において、受け取られた画像データにしたがってインデックス値が算出される。次いでＳ６１６において、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントは、算出された端数値、算出されたインデックス値、およびルックアップ・テーブルの次元にしたがって、オフセット値を算出する。本発明の例示的な一実施形態によれば、インデックス値Ｉおよび端数値Ｆｒは、浮動小数点値Ｆにしたがって算出される。したがって、例えば、判定された浮動小数点値Ｆが３．０５７である場合には、対応するインデックス値Ｉは３であり、端数値Ｆｒは０．０５７である。
【００５５】
算出されたオフセット値にしたがって、Ｓ６１８において、コントローラ１０８またはドキュメント処理装置と関連するその他の適切なコンポーネントによって、カラー・ルックアップ・テーブル内の値が指定される。換言すれば、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントは、算出されたオフセット値すなわちアドレスを用い、見出すべき補間のためのカラー・ルックアップ・テーブル・データ内の場所を特定する。指定されたカラー・ルックアップ・テーブル内の値は、次に述べる補間のために使用される。Ｓ６２０において、受け取った画像データに対応するルックアップ・テーブルの出力に対して、２Ｎ／８回の３次元補間が適用される。すなわち、算出されたオフセット値にしたがって指定されたルックアップ・テーブル内の値が、Ｓ６２０における２Ｎ／８回の３次元補間のために使用される。Ｓ６２２において、コントローラ１０８もしくはドキュメント処理装置１０４に関連する他の適切なコンポーネントによって、Ｓ６２０において適用された３次元補間からの出力の間で（２Ｎ／８−１）×３回の線形補間が実行される。
【００５６】
次いで処理はＳ６２２からＳ６２４に進み、３次元補間からの出力に対して実行された線形補間にしたがって変換された画像データが出力される。次いでＳ６２６において、出力された変換済み画像データが１次元ルックアップ・テーブルに伝達される。Ｓ６２８において、最終的な出力データが１次元ルックアップ・テーブルから取得される。
【００５７】
以上の説明から明らかなように、本発明によれば、３次元補間を用いることによって補間処理の回数が低減された色空間変換システムおよび方法が提供される。また、本発明の一実施形態によれば、効率的で高速な色空間変換システムおよび方法が提供される。
【００５８】
本発明は、ソース・コード、オブジェクト・コード、部分的にコンパイルされた形のようなコード中間ソースおよびオブジェクト・コードの形、あるいは本発明の実施形態で使用するために適した任意の他の形のコンピュータ・プログラムをも含む。コンピュータ・プログラムは、スタンドアローンのアプリケーション、ソフトウェア・コンポーネント、スクリプトまたは他のアプリケーションへのプラグ・インとすることができる。本発明を実施するコンピュータ・プログラムは、例えば、ＲＯＭやＲＡＭ等の記憶媒体、ＣＤ−ＲＯＭ等の光記録媒体、フロッピー（登録商標）ディスク等の磁気記録媒体等の、コンピュータ・プログラムを伝達することができる任意の実体または装置である担体上で具体化することができ、あるいは電気ケーブルまたは光ケーブルによって、または無線や他の手段によって伝えられる電気信号や光信号等の任意の担体によって伝達することができる。コンピュータ・プログラムは、サーバからインターネットを介してダウンロードすることもできる。また、コンピュータ・プログラムの機能は集積回路に組み込むこともできる。説明を行った本発明の原理を実質的にコンピュータまたはプロセッサに実行させるコードを含む任意およびすべての実施形態は、本発明の範囲内にある。
【００５９】
本発明の好ましい実施形態の以上の説明は、例示と説明のために行った。説明は網羅的ではなく、本発明を開示した形態に限定しようとするものでもない。以上の開示を鑑みて明らかな修正または変形が可能である。例えば、本発明による実施形態の説明に記したシステムおよび方法は、通信、一般コンピューティング、データ処理、ドキュメント処理等を含む、線形補間を利用する複数の様々な電子工学分野に対しても適用可能であり、本発明がドキュメント処理分野への適用に限定されるものではない。実施形態は、本発明の原理とその実際的な応用例を最もよく示し、それにより当業者が、本発明を、意図された特定の使用に適した様々な実施形態において様々な修正で使用できるように選択され説明された。そのようなすべての修正と変形は、特許請求の範囲の記載に明示されるとおりの本発明の原理および範囲内において、当業者によって行われ得ることは明らかであり、特許請求の範囲の記載によって定められる本発明の範囲内にある。
【符号の説明】
【００６０】
１００  システム
１０２  コンピュータ・ネットワーク、分散通信システム
１０４  ドキュメント処理装置、ＭＦＰ
１０６  ユーザ・インターフェイス
１０８  コントローラ
１１０  データ記憶装置
１１２、１１６  通信リンク
１１４  ユーザ装置
２００  コントローラ
２０２  プロセッサ
２０４  読み出し専用メモリ、ＲＯＭ
２０６  ＲＡＭ
２０８  ストレージ・インターフェイス
２１０  ネットワーク・インターフェイス・サブシステム
２１２  バス
２１４  ネットワーク・インターフェイス・カード
２１６  ディスク・ドライブ
２１８  無線インターフェイス
２２０  物理的ネットワーク
２２２  ドキュメント・プロセッサ・インターフェイス
２２４  コピー・ハードウェア
２２６  画像走査ハードウェア
２２８  印刷ハードウェア
２３０  ファクシミリ・ハードウェア
２３２  ドキュメント処理ハードウェア
３０２  ドキュメント処理エンジン
３０４  印刷機能部
３０６  ファクシミリ通信機能部
３０８  画像走査機能部
３１０  ユーザ・インターフェイス・パネル
３１２  ジョブ・キュー
３１４  ネットワーク・サービス機能部
３１６  画像プロセッサ
３１８  ジョブ解析部
３２０  クライアント側ネットワーク・サービス機能
４０２、５０２  入力画像
４０４、５０４  ソース・プロファイル
４０６  デスティネーション・プロファイル
４０８  出力画像
５０６、５１０  １次元ルックアップ・テーブル
５０８  カラー・ルックアップ・テーブル
【図１】
0004972121.tif 000002
【図２】
0004972121.tif 000003
【図３】
0004972121.tif 000004
【図４】
0004972121.tif 000005
【図５】
0004972121.tif 000006
【図６】
0004972121.tif 000007