(57)【特許請求の範囲】
【請求項１】
ＹＣｂＣｒ色空間データを読み込み、前記ＹＣｂＣｒ色空間データをＲＧＢ画像データへ変換する画像データ処理方法であって、
出力手段の最大色再現範囲外の第１の色空間点のＹＣｂＣｒ色空間データを前記出力手段の最大色再現範囲内にある第２の色空間点へ縮小移動し、
前記第１の色空間点から前記第２の色空間点への移動時の移動倍率を算出し、前記第２の色空間点をＲＧＢ画像データに変換し、
前記第２の色空間点が変換されたＲＧＢ画像データにカラーマッチング補正し、該カラーマッチング補正で得られた値をＹＣｂＣｒ色空間データに変換することで、前記第２の色空間点が変換されたＲＧＢ画像データを前記出力手段の最大色再現範囲より小さい色再現範囲内の第３の色空間点へカラーマッチング補正し、
前記第３の色空間点を前記算出した移動倍率をもとに前記出力手段の最大色再現範囲内にある第４の色空間点へ拡大移動し、
前記第４の色空間点をＲＧＢ画像データに変換し、
前記変換したＲＧＢ画像データを用いて前記出力手段に画像を出力することを特徴とする画像データ処理方法。
【請求項２】
ＹＣｂＣｒ色空間データを読み込む読み込み手段と、前記ＹＣｂＣｒ色空間データをＲＧＢ画像データへ変換する手段とを有する画像データ処理装置であって、
出力手段の最大色再現範囲外の第１の色空間点のＹＣｂＣｒ色空間データを前記出力手段の最大色再現範囲内にある第２の色空間点へ縮小移動する手段と、
前記第１の色空間点から前記第２の色空間点への移動時の移動倍率を算出する手段と、前記第２の色空間点をＲＧＢ画像データに変換する手段と、
前記第２の色空間点が変換されたＲＧＢ画像データにカラーマッチング補正し、該カラーマッチング補正で得られた値をＹＣｂＣｒ色空間データに変換することで、前記第２の色空間点が変換されたＲＧＢ画像データを前記出力手段の最大色再現範囲より小さい色再現範囲内の第３の色空間点へカラーマッチング補正する手段と、
前記第３の色空間点を前記算出した移動倍率をもとに前記出力手段の最大色再現範囲内にある第４の色空間点へ拡大移動する手段と、
前記第４の色空間点をＲＧＢ画像データに変換する手段と、
前記変換したＲＧＢ画像データを用いて前記出力手段に画像を出力することを特徴とする画像データ処理装置。
【請求項３】
ＹＣｂＣｒ色空間データを読み込む手順と前記ＹＣｂＣｒ色空間データをＲＧＢ画像データへ変換する手順を有するコンピュータにより実行されるプログラムであって、
出力手段の最大色再現範囲外の第１の色空間点のＹＣｂＣｒ色空間データを前記出力手段の最大色再現範囲内にある第２の色空間点へ縮小移動する手順、
前記第１の色空間点から前記第２の色空間点への移動における移動倍率を算出する手順、
前記第２の色空間点が変換されたＲＧＢ画像データにカラーマッチング補正し、該カラーマッチング補正で得られた値をＹＣｂＣｒ色空間データに変換することで、前記第２の色空間点が変換されたＲＧＢ画像データを前記出力手段の最大色再現範囲より小さい色再現範囲内の第３の色空間点へカラーマッチング補正する手順、
前記第３の色空間点を算出した移動倍率をもとに前記出力手段の最大色再現範囲内にある第４の色空間点へ拡大移動する手順、
前記第４の色空間点をＲＧＢ画像データに変換する手順、
前記変換したＲＧＢ画像データを用いて前記出力手段に画像を出力する手順を有するコンピュータにより実行されるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
画像データ処理方法、装置、記憶媒体、及びプログラムに関する。
【０００２】
【従来の技術】
近年デジタルスチルカメラ等の入力機器の性能向上と普及により写真画像のデジタル化が手軽になり、特にパーソナルコンピュータ上でデジタルデータとして写真調の画像を扱う機会が増えてきた。しかも、それらをパーソナルコンピュータ上で各種のアプリケーションソフトを使って加工・編集することができるようになった。
【０００３】
一方でフルカラーハードコピー技術も急速に発展しており、特にインクジェット方式による印刷技術はインクドットによる粒状感を低減させる技術により、その印刷画質が銀塩写真と同等のものとなりつつあり、その比較的簡易な印刷方法により広く普及している。
【０００４】
デジタルスチルカメラ等の入力危機により取り込まれた画像データは、さまざまな信号形態およびフォーマットで所定記憶手段に記録される。
【０００５】
デジタルスチルカメラの場合には、画像記録はＪＰＥＧフォーマットで記録される場合が大半で、輝度・色差データ（ＹＣｂＣｒデータ）の形態で画像が保存される。
【０００６】
一般的によく使われるデータ形態としてはＲＧＢデータであるが、ＲＧＢデータとＹＣｂＣｒデータはＩＴＵ−Ｒ  ＢＴ．６０１に準拠した以下の式の関係がある。
【０００７】
（式１−１）
Ｙ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ
Ｃｂ＝（−０．２９９×Ｒ−０．５８７×Ｇ＋０．８８６×Ｂ）×０．５６４＋ｋ
Ｃｒ＝（０．７０１×Ｒ−０．５８７×Ｇ−０．１１４×Ｂ）×０．７１３＋ｋ
（式１−２）
Ｒ＝Ｙ＋（（Ｃｒ−ｋ）×１．４０２０）
Ｇ＝Ｙ−（（Ｃｂ−ｋ）×０．３４４１）−（（Ｃｒ−ｋ）×０．７１３９）
Ｂ＝Ｙ＋（（Ｃｂ−ｋ）×１．７７１８）
ここで、Ｃｂ、Ｃｒの各値は正および負の値をとり、８ビットの値として取り扱う場合、Ｒ、Ｇ、Ｂの各値は０〜２５５の値をとり、ｋの値は１２８である。
【０００８】
さらに、ＹＣｂＣｒデータからＲＧＢデータへ変換を行う場合には０から２５５以外の値を取る場合があるので０以下の値は０に、２５５以上の値は２５５に値をクリップする飽和処理を行う。
【０００９】
一般的にはＲＧＢデータは各色８ビットとして処理される。したがって、画像データをＣＲＴモニタ等のディスプレイデバイスに表示する場合にはＲＧＢ各色０〜２５５の値を有するデータによって表される色のみが再現される。
【００１０】
カラーマッチングを行う際に用いる色空間としてｓＲＧＢ色空間（ＩＥＣ  ６１９６６−２−１、ＩＴＵ−Ｒ  ＢＴ．７０９）があり、このｓＲＧＢ色空間はＣＲＴモニタの特性を考慮して規定されたものである。
【００１１】
デバイス間の色の統一化ということで、パーソナルコンピュータで用いる汎用オペレーティングシステムの標準色空間として取り扱われるようになったこともあり、ＲＧＢ各色０〜２５５の値をｓＲＧＢ色空間データとして取り扱うことがここ最近一般的となってきた。
【００１２】
しかしながら、実シーンはＣＲＴモニタ等のディスプレイデバイスよりも色再現域は当然大きく、また色空間の部位によってはＣＲＴモニタ等のディスプレイデバイスよりもプリンタデバイスによって再現される色再現域の方が広い場合がある。
【００１３】
図９は色再現域を示すｘｙ色度図であり、９０１はｓＲＧＢ色空間を示す。９０２はプリンタの再現できる任意の色点を表示したものである。
【００１４】
標準的な色空間として多用されているｓＲＧＢ色空間は必ずしも入力および出力デバイスの色再現範囲を完全に包含しているわけではなく、図９からも明らかなようにｓＲＧＢ空間データとして処理を行うとプリンタで再現可能な色領域が欠落することがわかる。
【００１５】
そこで、デジタルスチルカメラにおいては、センサで取得した色信号を所定処理によりｓＲＧＢ色空間へマッピングし、ＹＣｒＣｂデータへ変換しているが、ｓＲＧＢディスプレイデバイス以外の色再現性向上のために等価的にｓＲＧＢデータの値を０以下の負の値または２５５以上に拡張する場合があり、この場合の最大の色域は８ビットのＹＣｂＣｒ信号の制限（０≦Ｙ≦２５５、−１２８≦ＣｂＣｒ≦１２７）によって決まる色域であり、この範囲まで色再現域を拡張する場合がある。
【００１６】
【発明が解決しようとする課題】
上述したように画像データをｓＲＧＢ色空間に変換した場合にプリンタで再現可能な色が欠落してしまう場合がある。ＣＲＴモニタ等のディスプレイデバイスに出力した場合にはもともとの色再現域しか再現できないため、見た目には不具合のない良好な画像として再現される。しかしながらプリンタで印刷出力した場合には原画像に含まれる色に関する情報が欠落するため正しい色が再現できないことになる。
【００１７】
一方、プリンタの色再現範囲を改善に包含するような図９の拡張色空間９０３として処理を行った場合にはＣＲＴモニタ等のディスプレイデバイスに出力した場合に正しい表示ができなくなる。
【００１８】
本発明はこのような技術の現状に鑑み、入力機器により得た画像データを、プリンタの色再現域を有効に利用するための画像データに変換し、高品質の印刷を行うことが可能な画像データ変換方法、装置、記憶媒体及びプログラムを提供することを目的とする。
【００１９】
【課題を解決するための手段】
上記の目的を達成するために本発明の画像データ変換方法およびシステムは以下の構成を備える。
【００２０】
ＹＣｂＣｒ色空間データを読み込み、前記ＹＣｂＣｒ色空間データをＲＧＢ画像データへ変換する画像データ処理方法であって、
出力手段の最大色再現範囲外の第１の色空間点のＹＣｂＣｒ色空間データを前記出力手段の最大色再現範囲内にある第２の色空間点へ縮小移動し、
前記第１の色空間点から前記第２の色空間点への移動時の移動倍率を算出し、
前記第２の色空間点をＲＧＢ画像データに変換し、
前記第２の色空間点が変換されたＲＧＢ画像データにカラーマッチング補正し、該カラーマッチング補正で得られた値をＹＣｂＣｒ色空間データに変換することで、前記第２の色空間点が変換されたＲＧＢ画像データを前記出力手段の最大色再現範囲より小さい色再現範囲内の第３の色空間点へカラーマッチング補正し、
前記第３の色空間点を前記算出した移動倍率をもとに前記出力手段の最大色再現範囲内にある第４の色空間点へ拡大移動し、
前記第４の色空間点をＲＧＢ画像データに変換し、
前記変換したＲＧＢ画像データを用いて前記出力手段に画像を出力することを特徴とする。
【００２３】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２４】
（第１の実施の形態）
図１は、本発明の一実施形態にかかるシステムの概略構成を示すブロック図である。
【００２５】
本システムは、概略、ホストコンピュータ１、プリンタ６およびディスプレイ７を有して構成されるものである。すなわち、ホストコンピュータ１には、インクジェット方式のプリンタ６とディスプレイ７が双方向通信可能に接続されている。
【００２６】
ホストコンピュータ１は、ＯＳ（オペレーティングシステム）３を有し、また、このＯＳ３による管理下においてそれぞれの処理を行う、フォトレタッチ、レイアウト等のアプリケーションソフト２、このアプリケーションソフトによって発行され、出力画像を示す各種描画命令群（イメージ描画命令、テキスト描画命令、グラフィック描画命令）を処理して印刷データを作成するプリンタドライバ４、および同様にアプリケーションソフト２が発行する各種描画命令群を処理してディスプレイ７に表示を行うディスプレイドライバ５を同様にソフトウェアとして有している。
【００２７】
また、ホストコンピュータ１は、上述のソフトウェアによって動作可能な各種ハードウェアとして中央演算処理装置（ＣＰＵ）９、ハードディスクドライバ８、ランダムアクセスメモリ（ＲＡＭ）１０、リードオンリーメモリ（ＲＯＭ）１１、入力インターフェース１４等を備える。すなわち、ＣＰＵ９は、上述のソフトウェアに従った処理にかかる信号処理を実行し、ハードディスクドライバ８によって駆動されるハードディスク（ＨＤ）１２にはたとえばデジタルスチルカメラで撮影した画像データが格納され、また、上記ソフトウェアが格納される。ＲＯＭ１１にも同様に、上述の各種ソフトウェアが予め格納されており、必要に応じて読み出されて用いられる。また、ＲＡＭ１０は、上述ＣＰＵ９による信号処理実行のワークエリア等として用いられる。また、マウス、キーボードなどの入力デバイス１３による入力は入力インターフェース１４を介して入力し、ＯＳ３による処理に供される。
【００２８】
また、デジタルスチルカメラ等の画像入力機器からホストコンピュータ１のハードディスク（ＨＤ）１２への画像データの受け渡しはメモリディスクやメモリカードのリーダやケーブル接続あるいは赤外線通信、無線通信により入力インターフェース１４を介して可能である。もちろんホストコンピュータ１のハードディスク（ＨＤ）１２へ画像データを移動させることなくデジタルスチルカメラとホストコンピュータ１をケーブル接続あるいは赤外線通信、無線通信により接続してデジタルスチルカメラ等の画像入力機器が保持するメモリカードや内臓のメモリから直接読み込んで処理を行うことも可能である。
【００２９】
以上の構成を有したシステムにおいて、利用者はアプリケーションソフト２によってディスプレイ６に表示された表示画像に基づき、同様にアプリケーションによる処理を介して文字などのテキストに分類されるテキストデータ、図形などのグラフィックスに分類されるグラフィックスデータ、デジタルスチルカメラ等で撮影した写真画像などに分類されるイメージ画像データなどからなる画像データを作成することができる。
【００３０】
そして、この作成した画像データの印刷出力が利用者によって指示されると、アプリケーションソフト２はＯＳ３に印刷出力要求を行うとともに、グラフィックスデータ部分をグラフィック描画命令、イメージ画像データ部分をイメージ描画命令として構成した出力画像を示す描画命令群をＯＳ３に発行する。これに対し、ＯＳ３はアプリケーションソフト２の印刷出力要求を受け、その印刷を行うプリンタ６に対応したプリンタドライバ４に描画命令群を発行する。ここで一般的にイメージ描画命令は各色８ビットのデータが用いられる場合が多い。
【００３１】
プリンタドライバ４はＯＳ３から入力した印刷要求と描画命令群を処理してプリンタ６で印刷可能な形態の印刷データを作成してプリンタ６に転送する。この場合に、プリンタ６がラスタプリンタである場合は、プリンタドライバ４はＯＳ３からの描画命令に対して、順次画像補正処理を行い、そして順次ＲＧＢ２４ビットページメモリ（Ｒ、Ｇ、Ｂ各色８ビット）にラスタライズし、すべての描画命令をラスタライズした後にＲＧＢ２４ビットページメモリの内容をプリンタ６が印刷可能なデータ形式、例えばＣＭＹＫデータに変換を行いプリンタに転送する。
【００３２】
ディスプレイ７への表示は同様にＯＳ３がディスプレイドライバ５へ描画命令群を発行し、ディスプレイドライバ５はディスプレイ７で表示可能な形態の信号データに変換し、ディスプレイへデータを転送する。
【００３３】
アプリケーションソフト中や各種演算処理においては８ビット以上の値を用いることがあるが、ＯＳ３の制約などで描画指示において８ビット以上の値を用いることができない場合があり、汎用性を考慮して扱うＲＧＢ値は各色８ビット内に収められる場合が多い。
【００３４】
図２は、本発明の一実施形態にかかるアプリケーションソフトの画像データ処理の概略を示すブロック図である。
【００３５】
ここでは、画像データとしてＹＣｂＣｒのデータを読み取ることが可能な処理の内容について説明する。
【００３６】
デジタルスチルカメラ等の入力機器２１３により画像データが記録された画像ファイル２０１はファイル読み込み部２０２により読み込まれる。
【００３７】
読み込みはメモリディスクやメモリカードのリーダやケーブル接続あるいは赤外線通信、無線通信により入力インターフェースを介してホストコンピュータ経由で可能である。もちろんデジタルスチルカメラ等の入力機器２１３とホストコンピュータをケーブル接続あるいは赤外線通信、無線通信により接続してデジタルスチルカメラ等の入力機器２１３が保持するメモリカードや内臓のメモリから直接読み込んで処理を行うことも可能である。
【００３８】
画像データはさまざまなフォーマットの形態で記録されており、データ容量を少なくするために圧縮して記録されている場合もある。ファイル読み込み部２０２はこのようなデータ形態を解析し、圧縮されているデータに対しては伸張処理をほどこし、所望の画像データを得る機能も有している。
【００３９】
ＹＣｂＣｒ読み込み部２０３で読み込まれた輝度・色差データ（ＹＣｂＣｒデータ）は画像補正処理部２０５で明るさやコントラスト、カラーバランス等の補正処理が行われＹ’Ｃｂ’Ｃｒ’データに変換される。補正処理の内容はユーザインターフェース２０４で指示される。ＹＣｂＣｒデータの状態で画像変換を行うことで８ビットのＲＧＢデータへ変換した際に生じるデータ欠落による影響を受けずに原画像データの正しい色再現情報に対して補正を行うことができる。
【００４０】
画像補正処理が行われたＹ’Ｃｂ’Ｃｒ’データはＹＣｂＣｒ→ＲＧＢ変換部▲１▼２０６でＲＧＢデータに変換される。ＲＧＢデータへの変換は、先の（式１−２）によって行われる。ＲＧＢデータは各色８ビットデータとして取り扱うため０以下の値は０に、２５５以上の値は２５５に値をクリップする飽和処理を行う。
【００４１】
変換したＲＧＢデータの色空間はｓＲＧＢ色空間として取り扱われる。
【００４２】
一方ではＹ’Ｃｂ’Ｃｒ’データはＹＣｂＣｒ→ＲＧＢ変換部▲２▼２０７により８ビットのＲ’Ｇ’Ｂ’データに変換される。Ｒ’Ｇ’Ｂ’データはプリンタの色再現域と等価な色空間データであり、プリンタが再現できる色再現域を十分に利用して印刷を行うことを可能とする。Ｙ’Ｃｂ’Ｃｒ’データからＲ’Ｇ’Ｂ’データへの詳細な変換は後で述べる。
【００４３】
ここでは、従来プリンタの中で行われていたいわゆるカラーマッチング補正はＲ’Ｇ’Ｂ’データを利用する場合にはプリンタドライバ２１１では行わない。
【００４４】
変換されたＲＧＢデータは描画インターフェース２０８を介してディスプレイドライバ２０９へ送られ、ディスプレイ２１０で表示される。
【００４５】
一方、Ｒ’Ｇ’Ｂ’データは描画インターフェース２０８を介してプリンタドライバ２１１へ送られ、プリンタ２１２で印刷出力される。
【００４６】
上述した変換によりディスプレイ２１２に対してはｓＲＧＢ色空間データであるＲＧＢデータを用い、プリンタ２１２に対してはプリンタの色再現域と等価な拡張色空間データであるＲ’Ｇ’Ｂ’データを用いることでそれぞれのデバイスに適した画像データを適応することが可能であり、色の欠落が少なく、原画像が有する色特性を出力再現することが可能となる。
【００４７】
図３は本発明の一実施形態にかかるプリンタの色再現域と等価な色空間データへの変換処理のフローチャートである。
【００４８】
まず、ステップＳ３０１でＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルを読み込む。
【００４９】
一般的にプリンタドライバ２１１においてはＲＧＢデータを下記（式２−１）および（式２−２）でＣＭＹＫデータの印刷可能な形式に変換してプリンタへデータが送られる。
【００５０】
（式２−１）
Ｃ０＝２５５−Ｒ
Ｍ０＝２５５−Ｇ
Ｙ０＝２５５−Ｂ
（式２−２）
Ｋ＝ｍｉｎ（Ｃ０，Ｍ０，Ｙ０）
Ｃ＝Ｃ０−Ｋ
Ｍ＝Ｍ０−Ｋ
Ｙ＝Ｙ０−Ｋ
上記、（式２−１）および（式２−２）におけるＲ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｋは各８ビットの値として０〜２５５の値をとる。
【００５１】
ＲＧＢからＣＭＹＫへの変換は上記式による演算変換の他、ＲＧＢ値とＣＭＹＫ値の関係を示すルックアップテーブルを用いて変換を行う場合もある。
【００５２】
Ｒ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルを図４に示すが、このＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルはＲ０Ｇ０Ｂ０データが本来目的とする色とＲ１Ｇ１Ｂ１データをＣＭＹＫデータに変換してプリンタで印刷した時の色が略一致するようにＲ０Ｇ０Ｂ０とＲ１Ｇ１Ｂ１を関係付けたカラーマッチング補正のためのルックアップテーブルである。
【００５３】
ルックアップテーブルでは、例えば０〜２５５までを１６ステップづつ分割した１７×１７×１７ポイント数の離散的なＲ０Ｇ０Ｂ０とＲ１Ｇ１Ｂ１の関係を保持しており、各Ｒ、Ｇ、Ｂ１７ポイントの間の値に関しては１７×１７×１７ポイントのＲ０Ｇ０Ｂ０、Ｒ１Ｇ１Ｂ１を用いて適宜補間処理により算出する。
【００５４】
図４中においてＲ０Ｇ０Ｂ０の値が（０、０、０）である場合にはＲ１Ｇ１Ｂ１は（ａ１、ａ２、ａ３）、Ｒ０Ｇ０Ｂ０の値が（０、０、１６）である場合にはＲ１Ｇ１Ｂ１（ｂ１、ｂ２、ｂ３）、Ｒ０Ｇ０Ｂ０の値が（１２８、６４、１６）である場合にはＲ１Ｇ１Ｂ１は（ｃ１、ｃ２、ｃ３）、Ｒ０Ｇ０Ｂ０の値が（２５５、２５５、２５５）である場合にはＲ１Ｇ１Ｂ１は（ｄ１、ｄ２、ｄ３）の値にそれぞれ変換される。
【００５５】
（ａ１、ａ２、ａ３）、（ｂ１、ｂ２、ｂ３）、（ｃ１、ｃ２、ｃ３）、（ｄ１、ｄ２、ｄ３）のそれぞれの値は先にも説明したようにＲ０Ｇ０Ｂ０データが本来目的とする色とＲ１Ｇ１Ｂ１データをＣＭＹＫデータに変換してプリンタで印刷した時の色が略一致するように求めた０〜２５５の間の値からなる。
【００５６】
図４のＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルはＲ０Ｇ０Ｂ０データをｓＲＧＢ色空間データとみなして作成しているため、印刷出力結果がｓＲＧＢとカラーマッチングが図れるようにＲ１Ｇ１Ｂ１の値が設定されている。
【００５７】
この上述のカラーマッチング補正は通常プリンタドライバ２１１内で行われるため、Ｒ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルはプリンタ２１２用のプリンタドライバ２１１内に保持されている。
【００５８】
したがってＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルはプリンタドライバ２１１から読み込むことになるが、必ずしもプリンタドライバ２１１から読み込む必要はなく、適宜、テーブルが用意されている所定場所から読み込めばよい。
【００５９】
次に、ステップＳ３０２でＹ０Ｃｂ０Ｃｒ０データを読み込み、ステップＳ３０３でＹ０Ｃｂ０Ｃｒ０データをＲ０Ｇ０Ｂ０データに変換する。この変換は（式１−２）で行うが、データとしては８ビット以上の値を持ち、Ｒ０Ｇ０Ｂ０データとしては０以下、あるいは２５５以上の値もとりえる。その場合も０以下もしくは２５５以上のＲ０Ｇ０Ｂ０データを０〜２５５間に値をクリップする飽和処理は行わない。
【００６０】
ステップＳ３０４で変換したＲ０Ｇ０Ｂ０データが０≦Ｒ０≦２５５、０≦Ｇ０≦２５５、０≦Ｂ０≦２５５（以下０≦Ｒ０Ｇ０Ｂ０≦２５５とする）であるか否かを判断し、Ｒ０Ｇ０Ｂ０データが０≦Ｒ０Ｇ０Ｂ０≦２５５である場合にはステップＳ３１２へ進み、Ｒ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルを用いてＲ１Ｇ１Ｂ１に変換する。
【００６１】
ステップＳ３０４で変換したＲ０Ｇ０Ｂ０データが０≦Ｒ０Ｇ０Ｂ０≦２５５であるか否かを判断し、Ｒ０Ｇ０Ｂ０データが０≦Ｒ０Ｇ０Ｂ０≦２５５でない場合にはステップＳ３０５へ進み、Ｒ０Ｇ０Ｂ０データを元のＹ０Ｃｂ０Ｃｒ０データへ変換する。変換は（式１−１）により行う。
【００６２】
次に、ステップＳ３０６でＹ０Ｃｂ０Ｃｒ０データをＲＧＢ各色８ビットで表現可能なＹＣｂＣｒ空間の値へマッピング（縮小移動）し、その移動量（倍率）Ｌを算出する。
【００６３】
図６はＹＣｂＣｒ空間を示した図である。図中、縦軸は輝度Ｙを示し横軸Ｃは色相および彩度を示しており、ＣｂおよびＣｒの任意断面を表している。実線６０１はＲＧＢ各色８ビットで表現可能な範囲を示している。
【００６４】
実線６０１のＹＣｂＣｒ空間は、値が０〜２５５の範囲であるＲＧＢ値から（式１−１）で求めたものであり、ＲＧＢ値が０〜２５５の値の組み合わせから求めたものであるからプリンタの色再現空間と一致するとも言える。
【００６５】
ステップＳ３０５で変換したＹ０Ｃｂ０Ｃｒ０は、ＲＧＢ各色８ビットで表現できる範囲外であるＰＩ１ポイントの点になる。このＰＩ１ポイントを図６のＹＣｂＣｒ空間上のＲＧＢ各色８ビットで表現できる範囲のＰＩ２ポイントへ移動する際の移動点（マッピング点）を求める。ＰＩ１からＰＩ２への移動の際は、ＰＩ１の輝度を保ちながら同一色相であるＰＩ２をマッピング点として算出する。この時ＰＩ１からＰＩ２までの移動量（倍率）Ｌを算出する。
【００６６】
その後、ステップＳ３０７でマッピング点ＰＩ２のＲ０Ｇ０Ｂ０値を求める。マッピング点ＰＩ２のＹＣｂＣｒ値からＲ０Ｇ０Ｂ０値への算出は（式１−２）で求める。
【００６７】
次にステップＳ３０８でＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルからＲ１Ｇ１Ｂ１を求める。
【００６８】
さらに、ステップＳ３０９でＲ１Ｇ１Ｂ１をＹ１Ｃｂ１Ｃｒ１データを求める。Ｒ１Ｇ１Ｂ１からＹ１Ｃｂ１Ｃｒ１への変換は（式１−１）により行う。
【００６９】
図７はＹＣｂＣｒ空間を示した図である。先と同様に縦軸は輝度Ｙを示し横軸Ｃは色相および彩度を示しており、ＣｂおよびＣｒの任意断面を表している。実線６０１はＲＧＢ各色８ビットで表現可能な範囲を示し、実線６０１のＹＣＢＣｒ空間は値が０〜２５５の範囲であるＲＧＢ値から（式１−１）で求めたものであり、ＲＧＢ値が０〜２５５の値の組み合わせから求めたものであるからプリンタの色再現空間と一致するとも言える。一方、点線６０２はプリンタがＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルをもとにカラーマッチング補正を行った際に再現できる範囲を示している。
【００７０】
Ｒ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルはＲ０Ｇ０Ｂ０がｓＲＧＢ色空間データとしてカラーマッチングを行うことを考慮して作成されたものであるから、実線６０１のＹＣｂＣｒ色空間域に比べ点線６０２のＹＣｂＣｒ色空間域のほうが狭くなる。
【００７１】
プリンタの色再現域の方がｓＲＧＢの色再現域よりも大きな部分があることを先の従来例にて図９を用いて説明したが、カラーマッチングを行うことにより、必ずしもＲ１Ｇ１Ｂ１の値は０〜２５５の値をすべて使用している訳ではなく、言い換えればプリンタが再現可能な色再現域よりも狭くなり、プリンタの性能を十分に生かしきれていないことを示している。そこでＳ３０９で求まったＹ１Ｃｂ１Ｃｒ１をこのプリンタの性能を生かしきれていない分を有効利用し、信号変換する。具体的に以下プリンタで再現可能な範囲内で、Ｓ３０６の移動量Ｌを考慮して色再現性を向上する方法を述べる。
【００７２】
ステップＳ３０９で求めたＹ１Ｃｂ１Ｃｒ１のポイント点を図７ＰＯ１とし、このポイント点ＰＯ１を距離（倍率）Ｌ分拡大移動（色再現範囲の拡大）してポイント点ＰＯ２を求め、このＰＯ２におけるＹ２Ｃｂ２Ｃｒ２を求める。
【００７３】
ここでＰＯ２が距離（倍率）Ｌ分拡大した場合に実線６０１の領域外に出てしまう場合があるが、この場合には拡大して実線６０１と接した最外点をＰＯ２の点として処理を行う。または、距離（倍率）Ｌによりポイント点が実線６０１の領域外に出てしまわないように所定量ｎを決定し、Ｌ×ｎ分拡大量を小さくしてＰＯ２を求めるようにしても良い。
【００７４】
拡大を行う際のポイント点の移動も輝度を保ちながら同一色相で行う。尚この所定値ｎは全データ中最大移動量のデータを輝度色相を保存した上で、ＰＯ２上に移動させた時の移動量をｍとすると、ｎ＝ｍ／Ｌとなる。その結果全データ中最大移動量のデータを輝度、色相を保存した上でＰＯ２上に移動させ、その他のデータも上述の最大移動量のデータの実際に移動させられた移動率と同じ移動率で移動される。
【００７５】
したがって全データがＰＯ２内に輝度、色相を保存した上で移動される。
【００７６】
ステップＳ３０６で一旦求めたＰＩ２に対して、ステップＳ３０７からステップＳ３０９で点ＰＯ１に変換して処理を行う理由であるが、カラーマッチング処理の影響で入力点ＰＩ２の色相と出発点ＰＯ１の色相が必ずしも同一では無いことに起因する。すなわち入力点ＰＩ２は理論値であるが、出力点ＰＯ１はプリンタで印刷出力した結果が目的の色を示すためのＲＧＢ値から求めたポイント点であるからである。絶対的なカラーマッチングではなく好ましい色再現性も加味して作成されたＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルを用いて処理が施されプリンタで印刷した結果は必ずしも理論的な色相と結果が一致するとは限らない。
【００７７】
そのため、求めたポイントＰＯ２が点線６０２内の色相となめらかに色がつながるよう（色相が保存される様）に一旦点線６０２内における色相を求めて実線６０１側へ拡大させる処理を行っている。
【００７８】
最後にステップＳ３１０で求めたポイント点ＰＯ２のＹ２Ｃｂ２Ｃｒ２をステップＳ３１１でＲ２Ｇ２Ｂ２に変換する。変換は式（１−２）を用いて行う。
【００７９】
本実施形態によればＹ０Ｃｂ０Ｃｒ０データから求めたＲＧＢ値がそれぞれ０〜２５５内の色に関しては図７の点線６０２内の色再現域で色が再現され、Ｙ０Ｃｂ０Ｃｒ０データから求めたＲＧＢ値が０〜２５５外の色に関しては図７の実線６０１の色再現域を使って色が再現されるのでプリンタの色再現域を十分に生かした画像印刷が可能となる。
【００８０】
また本処理によりカラーマッチング用に設けたＲ０Ｇ０Ｂ０→Ｒ１Ｇ１Ｂ１テーブルによる色再現性能には何ら影響を及ぼさない。
【００８１】
また本実施形態のシステムで画像印刷を行う場合には原画像に含まれる色に関する情報に関して従来欠落していた部位を用い、プリンタの色再現域を有効に利用した画像印刷を行うことができる。
【００８２】
本実施形態においてはＹＣｂＣｒ空間データにおいての変換を行ったが、利用する色空間はこれに限定されず、ＨＳＶやＬ＊ａ＊ｂ＊などの別の色空間の画像データに対し上述したプリンタの色再現域を十分生かした変換して処理を行っても良い。
【００８３】
本実施形態のシステムの形態としては、プリンタ内部に図２  ２０１〜２１２のデータ処理部を設け、上述データ処理をパーソナルコンピュータを用いない構成としても良い。この場合、画像データはプリンタに設けたカードリーダ等の読み取り部からメモリカードを介して読み取ったり、デジタルスチルカメラ等の入力機器とプリンタを有線ケーブルあるいは赤外線通信、無線通信により接続して入力機器が保持する着脱可能なメモリカードや内臓のメモリから読み出すことが可能である。
【００８４】
プリンタ内部にデータ処理部を設けた形態においてディスプレイとして簡易液晶モニタがプリンタに搭載されている場合には、画像データに対して液晶モニタの表示に用いるデータと印刷に用いるデータを別の色空間データとして取り扱うことが可能である。
【００８５】
本実施の形態においては入力機器としてデジタルスチルカメラを一例に説明したが、デジタルスチルカメラに限られたものではなく、たとえばデジタルビデオカメラ（デジタルカムコーダー）、イメージスキャナ、フィルムスキャナ等の入力機器に応用が可能である。
【００８６】
なお、本発明は以上説明した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種種変形実施可能なものとなる。
【００８７】
（第２の実施例の形態）
本実施の形態では、上記図１に示したシステムにおいて、上記図２の画像データ処理構成の代わりに例えば図８に示される画像データ処理構成を用いる。
【００８８】
尚、第１の実施の形態と異なる構成及び動作のみ説明する。
【００８９】
本実施の形態では、第１の実施形態でＹＣｂＣｒ→ＲＧＢ変換▲２▼部２０７で、演算により行っていたＲ’Ｇ’Ｂ’データへの変換を変換テーブルを用いて行うようにしたものである。
【００９０】
テーブルを用いた変換を行うために、変換ＲＧＢ→Ｒ’Ｇ’Ｂ’データ変換部８０１を設けた構成としている。
【００９１】
変換テーブル▲１▼８０２は図４に示した形態のものであり入力Ｒ０Ｇ０Ｂ０値としては０から２５５までの間の値でルックアップテーブルが構成されている。
【００９２】
変換テーブル▲２▼８０３は図５に示した形態のルックアップテーブル構成となっている。
【００９３】
図５中で、標準部分５００は図４のルックアップテーブルと同じ値が設定されている。拡張部分５０１、５０２は入力Ｒ０Ｇ０Ｂ０値として０以下あるいは２５５以上の値が設定されている。拡張部分５０１、５０２のルックアップテーブルは、あらかじめＲ０Ｇ０Ｂ０値を設定し、先の実施例における図３のフローチャートによるステップＳ３０５からステップＳ３１１の処理による演算結果を出力Ｒ１Ｇ１Ｂ１値として設定し、ルックアップテーブルを完成させる。
【００９４】
ＹＣｂＣｒ→ＲＧＢ変換▲２▼部２０７で（式１−２）によるＲＧＢへの変換結果が０≦ＲＧＢ≦２５５であった場合には変換テーブル▲１▼を利用し、ＲＧＢへの変換結果が０以下あるいは２５５以上の値を有する場合には変換テーブル▲２▼を使用してＲ’Ｇ’Ｂ’データへ変換を行う。
【００９５】
本実形態においてもＲＧＢ値が０以下あるいは２５５以上の８ビットでは収まらないデータを処理する際にＲＧＢ値が０≦ＲＧＢ≦２５５のデータ部分の色再現に対して何ら影響を及ぼさず、プリンタが色再現可能な領域を十分に生かして画像印刷を行うことができる。
【００９６】
また本実施形態のシステムにおいても、画像印刷を行う場合には原画像に含まれる色に関する情報に関して従来欠落していた部位を用い、プリンタの色再現域を有効に利用した画像印刷を行うことができる。
【００９７】
なお、本発明は以上説明した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種種変形実施可能なものとなる。
【００９８】
本実施形態のシステムの形態としても、プリンタ内部に図８  ２０１〜２１２、８０１〜８０３のデータ処理部を設け、上述データ処理をパーソナルコンピュータを用いない構成としても良い。この場合、画像データはプリンタに設けたカードリーダ等の読み取り部からメモリカードを介して読み取ったり、デジタルスチルカメラ等の入力機器とプリンタを有線ケーブルあるいは赤外線通信、無線通信により接続して入力機器が保持する着脱可能のメモリカ−ドや内臓のメモリから読み出すことが可能である。
【００９９】
プリンタ内部にデータ処理部を設けた形態においてディスプレイとして簡易液晶モニタがプリンタに搭載されている場合には、画像データに対して液晶モニタの表示に用いるデータと印刷に用いるデータを別の色空間データとして取り扱うことになる。
【０１００】
本実施の形態においては入力機器としてデジタルスチルカメラを一例に説明したが、デジタルスチルカメラに限られたものではなく、たとえばデジタルビデオカメラ、イメージスキャナ、フィルムスキャナ等の入力機器に応用が可能である。
【０１０１】
以上詳述したように、デジタルスチルカメラ等の入力機器により得たデジタル画像データをプリンタで印刷する際に、プリンタの色再現域を有効に利用するための画像データに変換し、高品質の写真画像の印刷を行うことが可能な画像データ変換方法およびそのシステムを提供することができる。
【０１０２】
（他の実施の形態）
また、上記実施形態では、ハードウェア等が含まれるものの、各データ処理を順次実施するソフトウェアでも実現できるものである。具体的には、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録したＣＤ、ＭＤ、メモリカード、ＭＯ等の記憶媒体（または、記録媒体）をユーザーに供給する。そして、そのユーザーがその記憶媒体をシステムあるいは装置に装填し、そのシステムあるいは装置のコンピュータ（または、ＣＰＵやＭＰＵ）が、記憶媒体に格納されたプログラムコードを読み出し、実行することによっても上述した実施の形態の処理は達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が、上述した実施の形態の機能を実現することになる。
【０１０３】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム（ＯＳ）等が、実際の処理の一部または全部を行い、その処理によって、上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
さらに、上記記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が、実際の処理の一部または全部を行い、その処理によって、上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかるシステムの概略構成を示すブロック図である。
【図２】本発明の一実施形態にかかるアプリケーションソフトの画像データ処理の概略を示すブロック図である。
【図３】本発明の一実施形態にかかるプリンタの色再現域と等価な色空間データへの変換処理のフローチャートである。
【図４】本発明の一実施形態にかかるカラーマッチング補正用のルックアップテーブルの構成を示す図である。
【図５】本発明の別の実施形態にかかるカラーマッチング補正用のルックアップテーブルの構成を示す図である。
【図６】本発明の別の一実施形態にかかるＹＣｂＣｒ空間上での変換処理を示す説明図である。
【図７】本発明の別の一実施形態にかかるＹＣｂＣｒ空間上での変換処理を示す別の説明図である。
【図８】本発明の別の実施形態にかかるアプリケーションソフトの画像データ処理の概略を示すブロック図である。
【図９】色再現を示す図である。
【図１】
0004065482.tif 000002
【図２】
0004065482.tif 000003
【図３】
0004065482.tif 000004
【図４】
0004065482.tif 000005
【図５】
0004065482.tif 000006
【図６】
0004065482.tif 000007
【図７】
0004065482.tif 000008
【図８】
0004065482.tif 000009
【図９】
0004065482.tif 000010