JP2018133668A - 画像処理装置と色変換テーブルの調整方法、及びそのプログラム - Google Patents
画像処理装置と色変換テーブルの調整方法、及びそのプログラム Download PDFInfo
- Publication number
- JP2018133668A JP2018133668A JP2017025271A JP2017025271A JP2018133668A JP 2018133668 A JP2018133668 A JP 2018133668A JP 2017025271 A JP2017025271 A JP 2017025271A JP 2017025271 A JP2017025271 A JP 2017025271A JP 2018133668 A JP2018133668 A JP 2018133668A
- Authority
- JP
- Japan
- Prior art keywords
- conversion table
- color
- color conversion
- grid point
- adjustment
- 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
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Color, Gradation (AREA)
Abstract
【課題】特定の色を目標の色に調整しつつ、他の色が変化しないように色変換テーブルの調整を行う調整方法を提供する。【解決手段】色変換テーブルを調整する画像処理装置であって、色変換テーブル及び第1の色に基づいて生成されたチャートデータの印刷物から第2の色を選択し、その第2の色に基づいて色変換テーブルを調整する。調整前の色変換テーブルと、調整後の色変換テーブルとで差分のある格子点を第1の格子点として特定し、調整後の第1の格子点に対する階調性を判定する。そして、その判定結果に基づき、第1の格子点とその近傍の格子点との位置関係に基づいて、調整後の第1の格子点の近傍の第2の格子点を抽出し、調整前と調整後の第1の格子点の移動量と、調整後の第1の格子点と第2の格子点との距離に基づいて第2の格子点を調整する。【選択図】図4
Description
本発明は、画像処理装置と色変換テーブルの調整方法、及びそのプログラムに関するものである。
近年、電子写真装置の性能の向上に伴い、写真と同等の画質を実現した印刷物を提供できる装置が登場している。これにより販売店などで用いられるPOP等の印刷が、各店舗で、簡単に行えるようになった。POPとは、Point of purchase advertisingの略語で、販売促進のための広告のことである。しかし、印刷に使用する装置の違いや、印刷タイミングの違い等により、見本のPOPと異なる色で印刷されてしまう事がある。このような場合、従来は、専門知識を有するサービスマン等が、その装置を色調整を行っていたが、近年では、特別な専門知識が無い販売店の担当者などが簡易的に色を合わせる色調整ができるシステムが構築されている。特許文献1には以下の技術が記載されている。POPなどの画像から調整したい色を抽出し、その抽出した色に対してその近傍の色のパッチを複数生成する。そして、生成したパッチが配置されたチャートを印刷し、その印刷されたパッチの中からユーザが目視により所望の色のパッチを選択する。そして、この選択されたパッチの色に応じて色変換を行うためのテーブル(色変換テーブル)を調整している。
このようなシステムを利用して、POP等の特定の色のみの色調整を行う場合、その特定の色以外の色は調整前後で変化しないことが望ましい。例えば赤、緑、黄の3色が使用されているPOPに対して、赤色を調整した場合、緑色、黄色は変化しないことが望ましい。これは、特定の色を調整するということは、ユーザは、その特定の色以外の色は満足しており、特定の色以外が変化しない方が好ましいと考えられるためである。
一方、色変換テーブルを調整することで色の調整を行う場合、階調性を考慮する必要がある。階調性の定義の詳細については後述するが、階調性とは色の連続性のことである。色変換テーブルの調整では、調整の前後で階調性が崩れないように制御する必要がある。これは、色変換テーブルの調整によって色の連続性が無くなる階調つぶれや、色の連続性が逆転する階調反転が起きないようにするためである。
しかしながら上述の従来技術では、特定の色を目標の色に調整しつつ、他の色が変化しないように色変換テーブルの調整を行うと階調性が低下する場合がある。
本発明の目的は、上記従来技術の課題を解決することにある。
本発明の目的は、調整対象の色を調整するとき、それ以外の色の変化を抑えた色調整を行うことができる色変換テーブルを作成する技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
色変換テーブルを調整する画像処理装置であって、
前記色変換テーブル及び第1の色に基づいて生成されたチャートデータの印刷物から第2の色を選択する選択手段と、
前記選択手段により選択された前記第2の色に基づいて前記色変換テーブルを調整する第1調整手段と、
前記第1調整手段により調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第1の格子点として特定する特定手段と、
前記調整後の前記色変換テーブルにおける前記第1の格子点に対する階調性を判定する判定手段と、
前記判定手段による階調性の判定結果に基づき、前記第1の格子点と当該第1の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第1の格子点の近傍の第2の格子点を抽出する抽出手段と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第1の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第1の格子点と前記第2の格子点との距離に基づいて前記第2の格子点を調整する調整手段と、を有することを特徴とする。
色変換テーブルを調整する画像処理装置であって、
前記色変換テーブル及び第1の色に基づいて生成されたチャートデータの印刷物から第2の色を選択する選択手段と、
前記選択手段により選択された前記第2の色に基づいて前記色変換テーブルを調整する第1調整手段と、
前記第1調整手段により調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第1の格子点として特定する特定手段と、
前記調整後の前記色変換テーブルにおける前記第1の格子点に対する階調性を判定する判定手段と、
前記判定手段による階調性の判定結果に基づき、前記第1の格子点と当該第1の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第1の格子点の近傍の第2の格子点を抽出する抽出手段と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第1の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第1の格子点と前記第2の格子点との距離に基づいて前記第2の格子点を調整する調整手段と、を有することを特徴とする。
本発明によれば、調整対象の色を調整するとき、それ以外の色の変化を抑えた色調整を行うことができるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係る画像処理装置を含んだ画像処理システムの構成例を示す構成図。
実施形態1に係るコンピュータのハードウェア構成を説明するブロック図(A)と、実施形態1に係るプリンタのプリンタコントローラのハードウェア構成を説明するブロック図(B)。
実施形態1に係るコンピュータのCPUが実行するプログラムのモジュール構成を説明するブロック図(A)と、実施形態1に係るプリンタコントローラのCPUが実行するプログラムのモジュール構成を説明するブロック図(B)。
実施形態1に係る画像処理システムの動作を説明するフローチャート。
図4のS402のチャートデータの生成処理を説明するフローチャート。
図4のS403のチャート印刷処理を説明するフローチャート。
図4のS407の階調性の判定処理を説明するフローチャート。
実施形態1に係る階調性の定義の概要を説明する図。
実施形態1に係る階調性の判定方法の概要を説明する図。
実施形態1に係る出力色空間における多面体の面のパターンを示すイメージ図。
実施形態1に係る出力色空間における注目格子点の位置に応じた抽出格子点のパターンを示すイメージ図。
実施形態1における四面体と注目格子点との位置関係を示すイメージ図。
実施形態1に係る注目格子点の位置を示すイメージ図。
実施形態1に係る表面判定のパターンを示すイメージ図。
実施形態1に係る注目格子点の例外判定の状態を示すイメージ図である。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[実施形態1]
図1は、本発明の実施形態1に係る画像処理装置(コンピュータ102)を含んだ画像処理システムの構成例を示す構成図である。
図1は、本発明の実施形態1に係る画像処理装置(コンピュータ102)を含んだ画像処理システムの構成例を示す構成図である。
この画像形成システムは、ネットワーク101を介して接続されたコンピュータ102とプリンタ106、及びコンピュータに102に接続された表示装置103を含んでいる。尚、ネットワーク102に接続された装置はこの図1に限らないが、ここでは他の機器や装置は省略している。プリンタ106は、プリンタコントローラ104とプリンタエンジン105を有している。ここでコンピュータ102は、ネットワーク101を介してプリンタ106に印刷ジョブを送信し、またプリンタ106の情報を取得することができる。またコンピュータ102は、動作中のアプリケーションの画面情報等を表示装置103に送信して表示させることができる。またプリンタコントローラ104とプリンタエンジン105は互いに接続されており、プリンタコントローラ104はプリンタエンジン105に制御信号を送信して印刷動作を制御している。
図2(A)は、実施形態1に係るコンピュータ102のハードウェア構成を説明するブロック図である。
コンピュータ102は、CPU202、RAM203、外部記憶装置204、ディスプレイインタフェース205、外部入力装置206、ネットワークインタフェース207を有し、これらは内部バス201を介してCPU202と接続されている。外部入力装置206は、キーボードやポインティングデバイス、及びタッチパネルなどを含み、ユーザによる情報の入力を可能にしている。ネットワークインタフェース207は、ネットワーク101と接続し、ネットワーク101を介してプリンタ106と互いにデータを通信することができる。コンピュータ102が起動すると、CPU202がプログラムを外部記憶装置204から読み込んでRAM203に展開し、その展開したプログラムを実行する。CPU202が実行するプログラムは、ディスプレイインタフェース(表示部インターフェース)205に対して表示データを送信することにより表示装置103の画面に各種情報を表示させる。またCPU202は、外部入力装置206を介して入力されたユーザからの入力情報を監視し、情報が入力された場合はプログラム中に定義された、対応する処理を実行する。
図2(B)は、実施形態1に係るプリンタ106のプリンタコントローラ104のハードウェア構成を説明するブロック図である。
プリンタコントローラ104では、内部バス208を介してCPU209、RAM210、外部記憶装置211、ネットワークインタフェース212、エンジンインタフェース213、入力装置214を接続している。プリンタコントローラ104が起動すると、CPU209は実行プログラムを外部記憶装置211から読み込んでRAM210に展開し、その展開したプログラムを実行する。
図3(A)は、実施形態1に係るコンピュータ102のCPU202が実行するプログラムのモジュール構成を説明するブロック図である。
CPU202が実行するプログラムのモジュールは、データ取得部301、チャートデータ生成部302、印刷処理部303、色調整処理部304を含んでいる。データ取得部301は、調整対象である調整色の値(調整値)と、チャートの生成に必要となるテーブルデータ及び色変換テーブルを取得する。尚、実施形態1では、調整値は、一般的なモニタで使用される色空間の値とする。モニタで使用される色空間とは、例えば、sRGB色空間やAdobeRGB色空間のことである。実施形態1では、調整値はsRGB色空間の値とし、0〜255の値を取る8ビットの整数値とする。また色変換テーブルはsRGBをデバイスに依存するRGB(devRGB)色空間に変換するテーブルとする。実施形態1では、このdevRGB値も、sRGB値と同様に0〜255の値を取る8ビットの整数値とする。このテーブルにより表示装置103に表示される色の色値と、プリンタ106に形成される色の色値との関係が示される。
更に、色変換テーブルを更新する処理にテーブルデータが必要となる。このテーブルデータは、devRGBをLabに変換するテーブルとする。Labは人間の視覚特性を考慮し、デバイスに非依存の3次元の色空間である視覚均等色空間である。但し、各色空間はこれに限られるものではない。Lab値は、実施形態1では実数値とし、Lは0.0〜100.0、a及びbは−127.0〜128.0の値を取るものとする。
チャートデータ生成部302は、データ取得部301で取得したデータを基にチャートデータを生成する。印刷処理部303は、チャートデータ生成部302で生成したチャートデータを、プリンタ106で印刷するために必要となる印刷制御を行う。具体的には、チャートデータをプリンタ106で扱える色空間に変換し、後述するプリンタコントローラ104のレンダリング処理部305(図3(B))に送信する。色調整処理部304は、目標となる目標色の値(目標値)を取得し、その取得した目標値と、データ取得部301で取得した調整値、及び色変換テーブルを用いて、色変換テーブルを更新する。
図3(B)は、実施形態1に係るプリンタコントローラ104のCPU209で実行するプログラムのモジュール構成を説明するブロック図である。
CPU209で実行するプログラムのモジュールは、レンダリング処理部305、色変換部306、二値化処理部307、エンジン制御部308を有している。レンダリング処理部305は、コンピュータ102の印刷処理部303で変換されたチャートデータ等の画像データを不図示の画像メモリに描画する。色変換部306は、その画像メモリに描画された画像データを、プリンタエンジン105が扱う色材に対応する画像データ(CMYK)に変換する。二値化処理部307は、色変換部306で変換された画像データをスクリーン処理や誤差拡散処理等の画像形成処理を行って二値画像データに変換し、エンジン制御部308に出力する。エンジン制御部308は、二値化処理部307で変換された二値画像データを基に、プリンタエンジン制御の指令をエンジンインタフェース213に出力する。これによりプリンタエンジン105により、インク像やトナー像である画像が紙面上に形成される。
次に実施形態1に係る画像処理システムにおける動作の流れについて説明する。この動作の流れの詳細を説明する前に、実施形態1における階調性の定義と階調性の制御方法の概要を図8及び図9を参照して説明する。
図8は、実施形態1に係る階調性の定義の概要を説明する図である。
入力色空間801は、色変換テーブルの持つ入力値を3次元の座標軸で表現した場合の、注目格子点(中心の格子点)とその周囲26格子点からなる入力色空間のイメージを示す。この入力色空間801は、入力値を3次元の座標軸で表現した空間で表されている。ここで格子点は、色変換テーブルを構成するRGBやLabなどの一つの要素を指しており、入力の格子点は均等に配置されている。言い換えると、色変換テーブルの入力値は8ビットで表現される場合、0〜255の値を均等に分割した値を持つ。実施形態1では、入力値を0〜255の値としたが、本発明はこれに限るものではない。
出力色空間802〜804はそれぞれ、色変換テーブルの持つ出力値を3次元の座標軸で表現した場合の、注目格子点とその周囲26格子点からなる出力色空間のイメージを示す。この出力色空間では、出力値を3次元の座標軸で表現した空間とする。出力色空間802〜804は、注目格子点と周囲26格子点の位置関係がそれぞれ異なる状態を示している。出力色空間802は、注目格子点810が周囲26格子点で形成される多面体の内側にある状態を表現している。出力色空間803は、注目格子点811が周囲26格子点で形成される多面体の面上にある状態を表現している。出力色空間804は、注目格子点812が周囲26格子点で形成される多面体の外側にある状態を表現している。注目格子点がこの3つの状態のどれに当てはまるかで、階調性を定義する。前述したように実施形態1では、階調性は色の連続性であり、図8の805で示すように、色の連続性がある状態、図8の806で示すように、色がつぶれた状態、図8の807で示すように、色が反転した状態の3つの状態に分かれる。
出力色空間802のように、注目格子点810が周囲26格子点で形成される多面体の内側にある場合は、色の連続性がある状態と定義する。また出力色空間803のように、注目格子点811が周囲26格子点で形成される多面体の面上にある場合は、色がつぶれた状態であると定義する。更に、出力色空間804のように、注目格子点812が周囲26格子点で形成される多面体の外側にある場合は、色が反転した状態であると定義する。
次に図9を参照して、階調性の定義に対応する階調性の判定結果に応じて行う階調性の制御方法の概要を説明する。
図9は、実施形態1に係る階調性の判定方法の概要を説明する図である。
まず図8の出力色空間802のように、注目格子点810が周囲26格子点で形成される多面体の内側にある場合は階調制御は行わない。つまり図9の901と902の関係のように、各格子点の値は変化させない。
一方、図8の出力色空間803,804のように、注目格子点が周囲26格子点で形成される多面体の外側もしくは面上にある場合は階調制御を行う。この階調制御は、注目格子点が多面体の内側に来るように、いくつかの格子点の値を調整することで行う。この格子点の調整は、図9の903,904で示すように、注目格子点812が位置している方向に存在する格子点を抽出し、その格子点の値を調整することで行う。この階調制御の具体的な方法については後述する。
次に実施形態1に係るシステムの動作の流れを図4を参照して説明する。
図4は、実施形態1に係る画像処理システムの動作を説明するフローチャートである。尚、図4のフローチャートにおいて、S403の処理はプリンタコントローラ104のCPU209が実行し、それ以外の処理はコンピュータ102のCPU202が実行する。ここでCPU202が実行するプログラムは外部記憶装置204に記憶されており、CPU202は、そのプログラムをRAM203に展開して実行することにより、CPU202による処理が達成される。同様に、CPU209が実行するプログラムは外部記憶装置211に記憶されており、CPU209は、そのプログラムをRAM210に展開して実行することにより、CPU209による処理が達成される。尚、ここでは図4のフローチャートの各ステップの処理の主体を図3のモジュールとして説明する。
まずS401でデータ取得部301は、調整値及び色変換テーブルと、チャートデータの生成に必要となるテーブルを取得する。この調整値の取得は、予めいくつかのsRGBの組み合わせを用意しておき、その中から選択されたものを取得するようにしてもよい。また或いは、UIにsRGB値を入力できる仕組みを設け、そのUIで入力されたsRGB値を取得してもよい。また、POPなどの色を変更したい画像データがある場合には、その画像データからsRGB値を取得して調整値としてもよい。尚、色変換テーブルは、コンピュータ102或いはプリンタ106の外部記憶装置204,211に保持された、印刷時に使用される色変換テーブルである。またチャートデータの生成に必要となるテーブルは、予め用意されたdevRGBからLabに変換するテーブルである。devRGBからLabに変換するテーブルの作成は、例えばテーブル作成専用のチャートを、該当するプリンタで印刷し、その印刷したチャートを測定してLab値を取得し、devRGB値と取得したLab値を関連付けることで行う。
次にS402に進みチャートデータ生成部302は、S401で取得したデータに基づいてチャートデータを生成する。このチャートデータ生成の詳細については後述する。そしてS403に進み印刷処理部303は、S402で生成されたチャートデータを用いてチャートの印刷を行う。この印刷処理の詳細は後述する。
次にS404に進み色調整処理部304は、S403で印刷されたチャートに配置されたパッチの中から、ユーザが選択したパッチのsRGB値を目標値として取得する。ここでは例えば、S402で生成したチャートを表示装置103に表示する。そして、印刷されたチャートを参考に、ユーザが表示装置103に表示されたチャートに配置されたパッチの中から目標となるパッチを選択する仕組みを設け、選択されたパッチのsRGB値を取得する。或いは、チャートの印刷時にチャートに各パッチの座標位置を付加し、ユーザにより選択された目標となるパッチの座標位置を入力するなど、パッチの信号値を特定できれば、どのような手段を用いても良い。また、後述する階調性の判定処理をこの処理の中で利用し、表示装置103に表示されたチャートの各パッチを選択した場合の階調性への影響が分かるようにチャートの表示を変えてもよい。
次にS405に進み色調整処理部304は、S401で取得した調整値と色変換テーブル及び、S404で取得した目標値を用いて色調整処理を行う。この色調整処理は、色変換テーブルを用いて調整値を変換した場合の出力値が、色変換テーブルを用いて目標値を変換した場合の出力値と同じ値となるように色変換テーブルの該当する部分を調整するものである。例えば、調整値のsRGB値が(150,0,0)であり、調整前の色変換テーブルにより色変換された後の出力値のdevRGB値が(120、0、0)であるとする。そして、ユーザが選択した目標値のsRGB値が(150,20,0)であり、色変換後の出力値が(120,15,0)であるとする。この場合、調整値のsRGB値(150,0,0)の出力値が、目標値の色変換後の出力値のdevRGB値(120,15,0)となるように、sRGB(任意の色空間)→devRGB(デバイス依存色空間)の色変換テーブルを調整する。
次にS406に進み色調整処理部304は、S405で調整された色変換テーブルの持つ格子点の内、調整の前後で出力値の変化がある格子点を、注目格子点として抽出する。この注目格子点の抽出は、調整前の色変換テーブルと調整後の色変換テーブルの対応する全格子点の出力値の差分(移動量)を算出し、差分が0でない格子点を抽出することで行う。実施形態1では、調整前後の格子点の差分を算出することで、調整された格子点の抽出を行うが、S405の色調整処理時に調整されたことを示すフラグを、調整された格子点に対応付けて保持するなど、調整格子点が分かればどのような方法でもよい。
次にS407に進み色調整処理部304は、その注目格子点に対して、階調性の判定処理を行う。この階調性の判定処理は、注目格子点に対して一つずつ行う。この階調性の判定処理の詳細は後述するが、階調性の判定処理は、図8を参照して前述した階調性の3つの状態に応じた値を出力する。例えば、階調性が色の連続性がある状態であれば「0」、色がつぶれた状態であれば「1」、色が反転した状態であれば「2」を出力する。但し、3つの状態が分かればどのような情報でもよい。
次にS408に進み色調整処理部304は、S407の階調性判定処理の結果に基づき、階調性に問題があるかどうかを判定する。ここで、階調性の判定処理の結果が色の連続性がある状態(出力値が「0」)であれば階調性問題なしと判定する。一方、色がつぶれた状態(出力値が「1」)もしくは色が反転した状態(出力値が「2」)であれば階調性問題ありと判定する。ここで、階調性に問題なしと判定した場合はS412に進むが、そうでないときはS409に進む。S409で色調整処理部304は、S406で抽出された注目格子点の位置情報を取得する。この位置情報は、3次元座標上における、注目格子点の周囲26格子点で形成される多面体のどの面の方向に、その注目格子点が存在するかを示す情報である。ここで言う面とは、図10の1001〜1006で、大きい黒丸で表現している、注目格子点の周囲26格子点の内の隣接する9格子点で形成される面のことであり、合計6面存在する。
図10は、実施形態1に係る出力色空間における多面体の面のパターンを示すイメージ図である。
例えば、1001は、出力色空間の背部側の面を、1002は手前側の面を、1003は左側面を、1004は右側面を、1005は底面を、1006は上面を示している。
S409では例えば、注目格子点とその周囲の格子点の関係が、図9の903で示すような関係の場合、図9の904に示すように、大きい黒丸で表現している9格子点で形成される面を示す面情報を取得する。この位置情報は、S407の階調判定処理の中で生成されるため、位置情報の生成方法は後述する階調反転処理の詳細の中で説明する。
次にS410に進み色調整処理部304は、S409で取得した注目格子点の位置情報に基づいて、S411における格子点の補正に必要となる格子点(以下、近傍格子点)を抽出する。ここではS409で取得した面情報から、該当する面を形成する近傍格子点を抽出する。ここで抽出される近傍格子点の数は、9格子点、15格子点、19格子点の3つのパターンがある。
図11は、実施形態1に係る出力色空間における注目格子点の位置に応じた近傍格子点のパターンを示すイメージ図である。
例えば注目格子点と周囲26格子点の関係が、図11の出力色空間1101のような場合、注目格子点は大きい黒丸で表現している9格子点で形成される面の方向に位置しているため、その9格子点を抽出する。また注目格子点と周囲26格子点の関係が図11の出力色空間1102のような場合、注目格子点は大きい黒丸で表現している15格子点で形成される面の方向に位置しているため、その15格子点を抽出する。更に、注目格子点と周囲26格子点の関係が図11の出力色空間1103の場合、注目格子点は大きい黒丸で表現している19格子点で形成される面の方向に位置しているため、その19格子点を抽出する。
そしてS411に進み色調整処理部304は、S410で抽出した近傍格子点を補正する。近傍格子点の補正は、S406で抽出した注目格子点の出力値の変化(S405での色調整前後の出力値の差分)に重み付けをした値を、S410で抽出した近傍格子点に足し合わせることで行う。実施形態1では、これら格子点の出力値をdevRGB値として説明する。この補正は以下の式(1)を用いて行う。
outR=inputR+(diffR × weight)
outG=inputG+(diffG × weight)
outB=inputB+(diffB × weight) …式(1)
ここで、outR,outG,outBは、補正後の近傍格子点の出力devRGB値、inputR,inputG,inputBは、補正前のS410で抽出した近傍格子点の出力devRGB値である。またdiffR,diffG,diffBは、S405での色調整前後の出力値の差分、weightは重みである。S405での色調整前後の出力値の差分は、S406で注目格子点の抽出時に算出した調整前の色変換テーブルと調整後の色変換テーブルの対応する全格子点の出力値の差分を用いる。または改めて該当する格子点の出力値の差分を算出しても良い。重みの算出は以下の式(2)を用いる。
outG=inputG+(diffG × weight)
outB=inputB+(diffB × weight) …式(1)
ここで、outR,outG,outBは、補正後の近傍格子点の出力devRGB値、inputR,inputG,inputBは、補正前のS410で抽出した近傍格子点の出力devRGB値である。またdiffR,diffG,diffBは、S405での色調整前後の出力値の差分、weightは重みである。S405での色調整前後の出力値の差分は、S406で注目格子点の抽出時に算出した調整前の色変換テーブルと調整後の色変換テーブルの対応する全格子点の出力値の差分を用いる。または改めて該当する格子点の出力値の差分を算出しても良い。重みの算出は以下の式(2)を用いる。
weight=(Gain−ABS(dist))/Gain
(Gain > MAX(ABS(diffR),ABS(diffG),ABS(diffB))) …式(2)
ここでGainは、予め定められた値、distは、注目格子点と、補正前のS410で抽出した近傍格子点の入力色空間における距離であり、ABSは絶対値を表す。またMAXは、最大値を表しており、Gainの値は、diffR,diffG,diffBの絶対値の内の一番大きい値よりも大きい必要がある。distは、以下の式(3)を用いて算出する。
(Gain > MAX(ABS(diffR),ABS(diffG),ABS(diffB))) …式(2)
ここでGainは、予め定められた値、distは、注目格子点と、補正前のS410で抽出した近傍格子点の入力色空間における距離であり、ABSは絶対値を表す。またMAXは、最大値を表しており、Gainの値は、diffR,diffG,diffBの絶対値の内の一番大きい値よりも大きい必要がある。distは、以下の式(3)を用いて算出する。
dist =√((in_main_R − in_arround_R)^2 +(in_main_G − in_arround_G)^2 +(in_main_B − in_arround_B)^2) …式(3)
ここで、in_main_R,in_main_G,in_main_Bは、注目格子点の入力値、in_arround_R,in_arround_G,in_arround_Bは、S410で抽出した近傍格子点の入力値、√は平方根の計算を表す。また、^2は、二乗を示している。
ここで、in_main_R,in_main_G,in_main_Bは、注目格子点の入力値、in_arround_R,in_arround_G,in_arround_Bは、S410で抽出した近傍格子点の入力値、√は平方根の計算を表す。また、^2は、二乗を示している。
こうしてS411の処理が終了した後、或いはS408で階調性に問題がないと判定された場合はS412に進み色調整処理部304は、S406で抽出した注目格子点の全てに対してS407〜S411までの処理を行ったかを判定する。この判定は、各注目格子点にS407〜S411までの処理が終了したことを示すフラグを付与し、注目格子点の全てにフラグが付与されているかどうかを判定する。或いは、注目格子点の数を保持し、その数の分だけS407〜S411までの処理を繰り返したかどうか判定するなど、S406で抽出した注目格子点の全てを処理できればどのような方法でもよい。ここで抽出した注目格子点を全て処理していないと判定した場合はS406に戻る。
そしてS412で、注目格子点を全て処理したと判定するとS413に進みCPU202は、S413で調整した色変換テーブルを、コンピュータ102もしくはプリンタ106の外部記憶装置204,211に保存する。この保存は、S401で取得した色変換テーブルを上書きしてもよいし、別の色変換テーブルとして保存してもよい。
図5は、図4のS402のチャートデータの生成処理を説明するフローチャートである。尚、この処理はチャートデータ生成部302として機能するCPU202が実行するものとして説明する。
先ずS501でCPU202は、S401で取得した調整値を取得する。次にS502に進みCPU202は、S401で取得した色変換テーブル及びチャートデータ生成に必要となるテーブルを取得する。次にS503に進みCPU202は、調整値や目標値をLab値に変換するためのテーブル(sRGB→Lab変換テーブル)を生成する。このsRGB→Lab変換テーブルは、S502で取得した、色変換テーブル(sRGB→devRGB変換テーブル)とチャート生成に必要となるテーブル(devRGB→Lab変換テーブル)とを合成することで生成する。この合成は、例えば補間演算を用いて行う。この補間演算は、演算用テーブルで定義されていない値が入力された場合に、入力された値に近い演算用テーブルで定義された値を用いて補間を行うものである。補間演算の方法に四面体補間と呼ばれるものがある。四面体補間は、入力された値に近い4つの演算テーブルで定義された値を用いて補間演算を行うものである。ここでは、入力をsRGB→devRGB変換テーブルのdevRGB値とし、演算用テーブルをdevRGB→Lab変換テーブルとして四面体補間の演算を行うことで、sRGB→Lab変換テーブルを生成する。尚、実施形態1では合成に四面体補間を用いたが、本発明はこれに限定するものではない。sRGB→devRGB変換テーブルとdevRGB→Lab変換テーブルからsRGB→Lab変換テーブルが生成できればどのような方法を用いてもよい。
次にS504に進みCPU202は、上述の変換テーブルを用いて調整値をLab値に変換する。この変換は、S503で生成したsRGB→Lab変換テーブルを用いて調整値のsRGB値をLabに変換する。この変換は、入力を調整値、演算用テーブルをsRGB→Lab変換テーブルとして、四面体補間を行うことで実行する。
次にS505に進みCPU202は、S504で生成した調整値のLab値に基づいて、目標値を選択するための候補となる色パッチ(候補パッチ)を生成するためのLab値を生成する。候補パッチのLab値の生成は、調整値のLab値を中心として、L値、a値、b値をそれぞれ段階的に変換させた値を組み合わせることで行う。L値、a値、b値の各値の生成は以下の式(4)を用いる。
Li=Lb+i×Dist
ai=ab+i×Dist
bi=bb+i×Dist …式(4)
ここで、(−n≦i≦n)である。
ai=ab+i×Dist
bi=bb+i×Dist …式(4)
ここで、(−n≦i≦n)である。
Lb,ab,bbは、調整値のLab値、iは生成する候補パッチの数に応じて段階的に変化する値(整数値)、Distは候補パッチ間のLab色空間内での間隔を表している。例えば、調整値のLab値が(50,0,0)であり、27個のパッチを生成し、Distを「1」とする。この場合、L,a,bそれぞれの方向に3つのパッチが作成されるため、iは−1,0,1となる。そのため、Liは49,50,51、aiは−1,0,1、biは−1,0,1となる。これらの値を全て組み合わせて、27個の候補パッチLab値が生成される。これらの候補パッチLab値は、調整値のLab値の近傍の値を取り、候補パッチの色は調整色の近傍色で表現される。以下、近傍色パッチを候補パッチと呼ぶ。
次にS506に進みCPU202は、S505で生成された候補パッチの内、プリンタ106の色再現範囲外となる候補パッチを除外する処理を行う。候補パッチの生成はLab色空間、つまりデバイスに非依存な色空間で行うため、プリンタ106の色再現範囲外の候補パッチが生成される場合がある。プリンタ106の色再現範囲外の候補パッチは、プリンタ106で再現できる色の範囲に丸められてしまうため、実施形態1では、該当するパッチを除外する。尚、パッチを除外する以外に、色再現範囲外と判定された候補パッチが目標値として選択できない状態になれば、どのような方法でもよい。また、色再現範囲外であるか否かの判定は、S502で取得したdevRGB→Lab変換テーブルの持つ各Lab値の範囲の中に、各候補パッチのLab値が入っているか否かで判定する。この判定は、devRGB→Lab変換テーブルの任意のLab値とその近傍の3つのLab値からなるLab色空間内における四面体の中に、候補バッチのLab値が存在しているか否かを判定することで行う。即ち、devRGB→Lab変換テーブルの持つLab値で形成できる全ての四面体に対して、候補パッチが存在しているか否かを判定し、全ての四面体に存在していないと判定された場合、その候補パッチを色再現範囲外であると判定する。尚、この判定方法として、実施形態1ではdevRGB→Lab変換テーブルから形成できる四面体を利用して判定したが、プリンタの色再現範囲を抽出し、候補パッチが色再現範囲外であるか否かを判定できればどのような方法でもよい。
次にS507に進みCPU202は、S506で色再現範囲外のパッチを除外した候補パッチをsRGB値に変換する。ここでのLab値からsRGB値への変換は、S503で生成したsRGB→Lab変換テーブルを用いた信号探索処理により行う。この信号探索処理は、まずsRGB値の0〜255までの全ての信号値の組み合わせを入力とし、sRGB→Lab変換テーブルを演算用テーブルとした四面体補間を行う。この四面体補間により算出された全てのLab値の中で、任意の候補パッチのLab値に一番近いLab値を抽出する。そして、抽出したLab値に対応するsRGB値を候補パッチのsRGB値とする。この信号探索処理を全ての候補パッチに対して行うことで、Lab値で生成・配置された候補パッチをsRGB値に変換する。尚、実施形態1では、信号探索処理を用いたが、本発明はこれに限らない。例えば、sRGB→Lab変換テーブルの逆テーブル(Lab→sRGB変換テーブル)を作成して、候補パッチのLab値をsRGB値に変換してもよい。
そして最後にS508でCPU202は、S507で生成したsRGB値の候補パッチを所定の方法で配置し、一つのチャートデータとして印刷処理部303に送信する。ここでの所定の配置は、単純に保持しているデータの順にパッチを配置してもよいし、人間の視覚特性を考慮してそれぞれのパッチが滑らかに変化しているように見える配置にしてもよい。また、生成した全ての候補パッチを配置するのではなく、一部だけを抽出し、その抽出した候補パッチのみを配置してもよい。
図6は、図4のS403のチャート印刷処理を説明するフローチャートである。この処理は、プリンタコントローラ104のCPU209がRAM210に展開したプログラム実行することにより達成される。
尚、この処理を実行する前には、コンピュータ102の印刷処理部303は、S401で取得した色変換テーブルを用いて、S402で生成されたチャートデータに含まれる色値を色変換する。つまり、チャートデータに含まれる色値の色空間をsRGBからdevRGB色空間に変換する。そして色変換したチャートデータの色値をプリンタコントローラ106に送信することにより、この処理が開始される。
まずS601でCPU209は、印刷処理部303から受け取ったチャートデータに従って画像メモリに描画する。そしてレンダリング処理部305として機能し、その画像メモリに描画した画像データを色変換部306に送る。これによりS602でCPU209は色変換部306として機能し、予め外部記憶装置211に保存されている出力RGB(devRGB)からCMYKへ変換する色変換テーブルを用いて、画像データをCMYKデータに変換して二値化処理部307に送る。次にS603でCPU209は二値化処理部307として機能し、受け取った色変換後のデータを、スクリーン処理や誤差拡散処理等の画像処理を行って二値画像データに変換してエンジン制御部308に出力する。これによりS604でCPU209はエンジン制御部308として機能し、その二値画像データを基にプリンタエンジン制御の指令をエンジンインタフェース213に出力する。これにより、プリンタエンジン105により、そのチャートがインク像やトナー像として紙面上に印刷される。
図7は、図4のS407の階調性の判定処理を説明するフローチャートである。尚、この処理はコンピュータ102のCPU202が前述のプログラムを実行し、色調整処理部304として機能することにより達成される。
まずS701でCPU202はデータの取得を行う。ここで取得するデータは、S405で色調整された後の色変換テーブルと、S406で抽出された注目格子点の情報である。次にS702に進みCPU202は、S701で取得した注目格子点の情報に基づき、3次元座標における注目格子点の周囲26格子点(近傍格子点)を抽出し、各近傍格子点の出力値を保持する。但し、このとき注目格子点が3次元座標における色変換テーブルの各格子点の端に位置する場合(入力RGBのいずれか一つでも「255」である場合)は、周囲の近傍格子点の一部が存在しないため、存在する近傍格子点の中で一番近い近傍格子点の値を保持する。またこのとき同時に、存在する近傍格子点の数も保持する。次にS703に進むCPU202は、抽出した26格子点の重心を算出する。この重心の算出は、例えば以下の式(5)のように、26格子点をR,G,Bそれぞれで足し合わせ、S702で保持した近傍格子点の数で割る。
CenterR=ΣaroundP_R / ext_cnt
CenterG=ΣaroundP_G / ext_cnt
CenterB=ΣaroundP_B / ext_cnt …式(5)
ここでCenterRは重心のR値、CenterGは重心のG値、CenterBは重心のB値、aroundP_Rは近傍格子点のR値、aroundP_Gは近傍格子点のG値、aroundP_Bは近傍格子点のB値、ext_cntは、近傍格子点の数を表す。
CenterG=ΣaroundP_G / ext_cnt
CenterB=ΣaroundP_B / ext_cnt …式(5)
ここでCenterRは重心のR値、CenterGは重心のG値、CenterBは重心のB値、aroundP_Rは近傍格子点のR値、aroundP_Gは近傍格子点のG値、aroundP_Bは近傍格子点のB値、ext_cntは、近傍格子点の数を表す。
次にS704に進みCPU202は、S702で抽出した26格子点の内、図10で表される面を形成する9格子点を求め、それら格子点同士が更に隣り合って3角形を形成する3つの格子点を順に抽出する。次にS705に進みCPU202は、S704で抽出した格子点3点と、S703で算出した重心で形成される四面体の各面(4面)の平面係数を算出する。この平面係数(a,b,c,d)の算出方法は、3点P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3)を含む平面方程式を、ax+by+cz+d=0とすると、以下の式(6)で表される。
a=(z3−z1)×(y2−y1)−(z2−z1)×(y3−y1)
b=(z2−z1)×(x3−x1)−(z3−z1)×(x2−x1)
c=(x2−x1)×(y3−y1)−(x3−x1)×(y2−y1)
d=−1.0×(a×x1+b×y1+c×z1) …式(6)
この式(6)に基づき、四面体の4面分の平面係数を算出する。
b=(z2−z1)×(x3−x1)−(z3−z1)×(x2−x1)
c=(x2−x1)×(y3−y1)−(x3−x1)×(y2−y1)
d=−1.0×(a×x1+b×y1+c×z1) …式(6)
この式(6)に基づき、四面体の4面分の平面係数を算出する。
また、これと同時に、その四面体の重心を以下の式(7)を用いて求める。
Grv_R=(P1_R+P2_R+P3_R+CenterR)/4
Grv_G=(P1_G+P2_G+P3_G+CenterG)/4
Grv_B=(P1_B+P2_B+P3_B+CenterB)/4 …式(7)
Grv_R,Grv_G,Grv_Bは、四面体の重心のRGBそれぞれの値、P1_R,P2_R,P3_R,P1_G,P2_G,P3_G,P1_B,P2_B,P3_Bは、S704で抽出した3点の格子点のRGBそれぞれの値である。更に、CenterR,CenterG,CenterBは、S703で算出した重心のRGBそれぞれの値である。
Grv_G=(P1_G+P2_G+P3_G+CenterG)/4
Grv_B=(P1_B+P2_B+P3_B+CenterB)/4 …式(7)
Grv_R,Grv_G,Grv_Bは、四面体の重心のRGBそれぞれの値、P1_R,P2_R,P3_R,P1_G,P2_G,P3_G,P1_B,P2_B,P3_Bは、S704で抽出した3点の格子点のRGBそれぞれの値である。更に、CenterR,CenterG,CenterBは、S703で算出した重心のRGBそれぞれの値である。
次にS706に進みCPU202は、S705で算出した平面係数を用いて、四面体の各平面に対する四面体の重心と、注目格子点の位置関係を算出する。
図12は、実施形態1における四面体と注目格子点との位置関係を示すイメージ図である。
1201で示すように、四面体の各平面に対し、注目格子点1203が、全て四面体の重心1204と同じ位置にいる場合、その注目格子点は四面体内にあると判定する。一方、図12の1202のように、四面体の各平面に対し、注目格子点1205が一つでも重心1204と異なる位置にいる場合、その注目格子点は四面体外にある判定する。
この四面体の各平面に対する注目格子点と、重心との位置関係の判定のため、まず以下の式(8)のs1,s2を求める。
s1 =a×input.r+b×input.g+c×input.b+d
s2 =a×Grv_R+b×Grv_G+c×Grv_B+d
ここでinput.r,input.g,input.bは、注目格子点のRGBそれぞれの値、Grv_R,Grv_G,Grv_Bは、四面体の重心のRGBそれぞれの値、a,b,c,dは、S705で算出した平面係数の値である。このs1とs2とを掛け合わせた値がマイナスのとき、四面体の一つの平面に対する四面体の重心と注目格子点とは異なる位置にあると判定する。一方、s1とs2とを掛け合わせた値がプラスとなる場合は、四面体の一つの平面に対する四面体の重心と、注目格子点とは同じ位置にあると判定する。この判定を、その四面体の4面分行う。但し、この判定はこれに限らず、多面体と注目格子点の位置関係が分かればどのような方法を用いても良い。このとき四面体の重心と注目格子点とが異なる位置にあると判定された場合、四面体のどの面において異なる位置と判定されたかを示す情報を保持する。これは、四面体のどの面の方向に注目格子点が位置しているかを記憶するためであり、この情報を基に、注目格子点の周囲26格子点で形成される多面体のどの面の方向に注目格子点が位置するかを判断できる。前述のS409で取得する位置情報がこの情報に該当している。
s2 =a×Grv_R+b×Grv_G+c×Grv_B+d
ここでinput.r,input.g,input.bは、注目格子点のRGBそれぞれの値、Grv_R,Grv_G,Grv_Bは、四面体の重心のRGBそれぞれの値、a,b,c,dは、S705で算出した平面係数の値である。このs1とs2とを掛け合わせた値がマイナスのとき、四面体の一つの平面に対する四面体の重心と注目格子点とは異なる位置にあると判定する。一方、s1とs2とを掛け合わせた値がプラスとなる場合は、四面体の一つの平面に対する四面体の重心と、注目格子点とは同じ位置にあると判定する。この判定を、その四面体の4面分行う。但し、この判定はこれに限らず、多面体と注目格子点の位置関係が分かればどのような方法を用いても良い。このとき四面体の重心と注目格子点とが異なる位置にあると判定された場合、四面体のどの面において異なる位置と判定されたかを示す情報を保持する。これは、四面体のどの面の方向に注目格子点が位置しているかを記憶するためであり、この情報を基に、注目格子点の周囲26格子点で形成される多面体のどの面の方向に注目格子点が位置するかを判断できる。前述のS409で取得する位置情報がこの情報に該当している。
そしてCPU202は、S706の判定で、四面体の重心と注目格子点が全て同じ位置と判定されると、注目格子点は四面体内であると判定する。またS706の判定で、四面体の重心と注目格子点とが一つでも異なる位置にあると判定されると、注目格子点は四面体外であると判定する。S707でCPU202は、注目格子点が四面体外と判定した場合はS708に進み、S70〜S707の処理を6面分(図10の1001〜1006の6面)行ったかどうかを判定する。この判定は、各面の情報にS704〜S707の処理が終了したことを示すフラグを付与し、6面全てにフラグが付与されているかどうかを判定する。或いはS704〜S707までの処理の回数をカウントし、そのカウント値が6になったかどうかを判定しても良い。こうしてS708で6面分の処理が終了していないと判定して場合はS704に進み、前述の処理を繰り返す。
そしてS708でCPU202は、6面分の処理を終了したと判定した場合はS709に進み、CPU202は、その注目格子点が3次元座標の入力色空間における色変換テーブルのどこに位置しているかを判定する。この判定には4つのパターンがある。
図13は、実施形態1に係る注目格子点の位置を示すイメージ図である。
図13(A)は、注目格子点1301が、色変換テーブルが形成する多面体の角の頂点に位置しているパターンを表している(図の白抜きの太い黒丸)。図13(B)は、注目格子点1302が、色変換テーブルが形成する多面体の角の頂点同士を結んだ軸上に位置しているパターンを表している。図13(C)は、注目格子点1303が、色変換テーブルが形成する多面体の図13(A)、(B)以外の表面に位置しているパターンを表している。尚、図13は、図の簡略化のため3×3×3の格子を表現しているが、本来は色変換テーブルの格子数分の点がある。ここで、注目格子点の位置が、図13のどのパターンにも当てはまらない場合、その注目格子点は、色変換テーブルが形成する多面体の内部の格子点となる。この判定方法は、S704の処理の途中で抽出した9点の格子点が全て存在しない面がいくつあるかで判定する。ここで抽出した9点の格子点が全て存在しない面が0面である場合は、図13のどのパターンにも当てはまらないパターンであると判定する。ここでは、抽出した9点の格子点が全て存在しない面が3面の場合は、図13(A)のパターンであると判定する。抽出した9点の格子点が全て存在しない面が2面の場合は、図13(B)のパターンであると判定する。また抽出した9点の格子点が全て存在しない面が1面の場合は、図13(C)のパターンであると判定する。
そしてS710に進みCPU202は、S709の判定結果に応じて処理を切り替える。具体的には、注目格子点が色変換テーブルの表面(図13のいずれかのパターン)に位置する場合は、表面位置(パターン)に応じて内外判定処理を切り替える。これは、注目格子点が色変換テーブルの表面に位置する場合は、注目格子点の周囲の格子点26点の一部が存在しないため、S708までの判定方法では階調性の判定が正確に行えないためである。
S710で図13(C)のパターンと判定された場合はS711に進み、表面面内判定を行う。ここではまず、存在する格子点で構成される四面体に対して、S706と同様の方法で内外判定を行う。
図14は、実施形態1に係る表面判定のパターンを示すイメージ図である。
続いて図14(A)に示すように、注目格子点1401を含む面の格子点の内、注目格子点1401を除く3点と、存在する格子点の重心1402とで形成される四面体を4つ抽出し、4つの四面体に対して内外判定を行う(この判定方法はS706と同様)。ここで、注目格子点が多面体内と判定した場合は、階調性への問題なしと判定する。一方、多面体外と判定した場合は、更に注目格子点が、多面体のどの面の方向に位置しているかを判定する。より具体的には、注目格子点が、注目格子点を含む多面体の面の方向に位置しているかを判定する。
図15は、実施形態1に係る注目格子点の例外判定の状態を示すイメージ図である。
これは、多面体外と判定されても、図15のように注目格子点1501が、その注目格子点1501を含む多面体の面の方向に位置していれば、その方向にどれだけ注目格子点1501が移動しても、階調つぶれや反転が起こらない。このように、注目格子点が、多面体のどの面の方向に位置しているかにより、階調性に問題なしと判定する必要があるからである。
尚、この注目格子点が、注目格子点を含む多面体の面の方向に位置しているかの判定は、注目格子点と、存在している格子点で形成される多面体の重心の位置が注目格子点を含む多面体の面に対して反対方向にあるかどうかで判定する。注目格子点が重心と反対方向にある場合は、注目格子点が、注目格子点を含む多面体の面の方向に位置していると判定し、階調性への問題なしと判定する。
またS710でCPU202は、図13(B)のパターンと判定した場合はS712に進み、表面軸上判定を行う。ここではまず、存在する格子点で構成される四面体に対して、S706と同様の方法で内外判定を行う。続いて図14(B)のように、注目格子点1403を含む面の格子点の内、注目格子点1403を除く3点と、存在する格子点の重心1404で形成される四面体を4つ抽出し、これら4つの四面体に対して内外判定を行う(この判定方法はS706と同様)。ここで、注目格子点が多面体内と判定されると、階調性への問題なしと判定する。一方、注目格子点が多面体外と判定された場合は、更に、その注目格子点が多面体のどの面の方向に位置しているかを判定する。この方向の判定は、S711と同様である。
最後に、S710でCPU202が図13(A)のパターンと判定した場合はS713に進み、表面角上判定を行う。ここではまず、存在する格子点で構成される四面体に対して、S706と同様の方法で内外判定を行う。続いて図14(C)のように、注目格子点1405を含む面の格子点の内、注目格子点1405を除く3点と、存在する格子点の重心1406で形成される四面体を4つ抽出し、4つの四面体に対して内外判定を行う(この判定方法はS706と同様)。ここで、注目格子点が多面体内と判定した場合は、階調性への問題なしと判定する。一方、注目格子点が多面体外と判定した場合は、更に、その注目格子点が多面体のどの面の方向に位置しているかを判定する。この判定はS711と同様である。こうして、S711、S712,S713、もしくはS710で図13以外のパターンと判定して場合、もしくはS707で四面体内と判定した場合はS714に進み、各判定結果を出力する。
以上説明したように本実施形態によれば、調整対象の注目格子点の階調性を判定し、階調性を制御するために必要な格子点を抽出してその注目格子点を補正する。これにより、階調性の低下を抑制しつつ、調整対象の色以外の色の変化を抑えた色調整を実現する色変換テーブルの調整を行うことができる。
尚、実施形態の色調整処理は、コンピュータ102による処理として説明したが、プリンタコントローラ104が全ての処理を行う構成でもよい。
また、調整対象の注目格子点の階調性を判定する際、色変換する対象の画像データの色分布に応じて、階調性の判定を変更するようにしても良い。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
102…コンピュータ、103…表示装置、104…プリンタコントローラ、105…プリンタエンジン、202…コンピュータのCPU、209…プリンタコントローラのCPU、304…色調整処理部
Claims (11)
- 色変換テーブルを調整する画像処理装置であって、
前記色変換テーブル及び第1の色に基づいて生成されたチャートデータの印刷物から第2の色を選択する選択手段と、
前記選択手段により選択された前記第2の色に基づいて前記色変換テーブルを調整する第1調整手段と、
前記第1調整手段により調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第1の格子点として特定する特定手段と、
前記調整後の前記色変換テーブルにおける前記第1の格子点に対する階調性を判定する判定手段と、
前記判定手段による階調性の判定結果に基づき、前記第1の格子点と当該第1の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第1の格子点の近傍の第2の格子点を抽出する抽出手段と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第1の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第1の格子点と前記第2の格子点との距離に基づいて前記第2の格子点を調整する調整手段と、
を有することを特徴とする画像処理装置。 - 前記第1調整手段は、前記第1の色を前記色変換テーブルで変換した値が前記第2の色となるように前記色変換テーブルを調整することを特徴とする請求項1に記載の画像処理装置。
- 前記判定手段は、前記第1の格子点を含む色空間を示す多面体において、前記第1の格子点が前記多面体の内側に存在するか、或いは前記多面体の表面に存在するか、或いは前記多面体の外側に存在するかで階調性を判定することを特徴とする請求項1又は2に記載の画像処理装置。
- 前記判定手段は、前記多面体の重心と、前記多面体の表面に位置する3つの格子点とを結んで形成される四面体に、前記前記第1の格子点が含まれるか否かで前記階調性を判定することを特徴とする請求項3に記載の画像処理装置。
- 前記判定手段は、更に、階調性の判定結果と共に、前記第1の格子点が前記多面体のどの方向に位置しているかを示す位置情報を生成することを特徴とする請求項3又は4に記載の画像処理装置。
- 前記抽出手段は、前記位置情報に基づいて、前記第1の格子点と当該第1の格子点の近傍の格子点との位置関係を求めることにより、前記調整後の前記色変換テーブルの前記第1の格子点の近傍の第2の格子点を抽出することを特徴とする請求項5に記載の画像処理装置。
- 前記調整手段は、前記第1の格子点の移動量に重み付けを行った値を、前記抽出手段により抽出された前記第2の格子点に足し合わせることにより前記第2の格子点を調整することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
- 前記抽出手段は、前記第2の格子点として9格子点、15格子点、19格子点のいずれかを抽出することを特徴とする請求項1に記載の画像処理装置。
- 前記判定手段が前記第1の格子点を含む色空間を示す多面体において、前記多面体の表面に存在するか、或いは前記多面体の外側に存在すると判定した場合に、前記抽出手段及び前記調整手段が実行されることを特徴とする請求項3又は4に記載の画像処理装置。
- 色変換テーブルを調整する色変換テーブルの調整方法であって、
前記色変換テーブル及び第1の色に基づいて生成されたチャートデータの印刷物から第2の色を選択する選択工程と、
前記選択工程で選択された前記第2の色に基づいて前記色変換テーブルを調整する第1調整工程と、
前記第1調整工程で調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第1の格子点として特定する特定工程と、
前記調整後の前記色変換テーブルにおける前記第1の格子点に対する階調性を判定する判定工程と、
前記判定工程による階調性の判定結果に基づき、前記第1の格子点と当該第1の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第1の格子点の近傍の第2の格子点を抽出する抽出工程と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第1の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第1の格子点と前記第2の格子点との距離に基づいて前記第2の格子点を調整する調整工程と、
を有することを特徴とする色変換テーブルの調整方法。 - コンピュータを、請求項1乃至9のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017025271A JP2018133668A (ja) | 2017-02-14 | 2017-02-14 | 画像処理装置と色変換テーブルの調整方法、及びそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017025271A JP2018133668A (ja) | 2017-02-14 | 2017-02-14 | 画像処理装置と色変換テーブルの調整方法、及びそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018133668A true JP2018133668A (ja) | 2018-08-23 |
Family
ID=63247598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017025271A Pending JP2018133668A (ja) | 2017-02-14 | 2017-02-14 | 画像処理装置と色変換テーブルの調整方法、及びそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018133668A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7321885B2 (ja) | 2019-08-27 | 2023-08-07 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
-
2017
- 2017-02-14 JP JP2017025271A patent/JP2018133668A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7321885B2 (ja) | 2019-08-27 | 2023-08-07 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7983479B2 (en) | Generating a look-up table for use in color processing | |
JP6501621B2 (ja) | 画像処理装置、画像処理方法、およびその画像処理プログラム | |
JPH08125880A (ja) | ローカルプリンタの非線形性を補正する、カラープリンタのキャリブレーション方法 | |
JP4276561B2 (ja) | 色変換定義作成方法、プロファイル作成方法、色変換定義作成装置、プロファイル作成装置、色変換定義作成プログラム、およびプロファイル作成プログラム | |
JP2017183846A (ja) | 画像処理装置、画像処理方法、およびその画像処理プログラム | |
JP6291188B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6291187B2 (ja) | 画像処理装置、画像処理方法、プログラム、並びにシステム | |
JP5068281B2 (ja) | 色変換テーブル調整装置及び色変換テーブル調整プログラム | |
JP2018133668A (ja) | 画像処理装置と色変換テーブルの調整方法、及びそのプログラム | |
JP4618683B2 (ja) | 画像処理装置、ガマット補正方法、画像処理方法、プログラム及び記録媒体 | |
JP2003324624A (ja) | 色変換定義補正方法、色変換定義補正装置、および色変換定義補正プログラム | |
JP2020203454A (ja) | 画像処理装置、画像形成装置 | |
JP2006173825A (ja) | 画像処理装置および方法 | |
JP2019071537A (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP2018101939A (ja) | 情報処理装置及びその画像処理方法並びにプログラム | |
JP2003289446A (ja) | 色再現特性作成方法、色再現特性作成装置、および色再現特性作成プログラム | |
JP5966817B2 (ja) | 色変換テーブル作成装置及びプログラム | |
JP5981768B2 (ja) | 色処理装置およびその方法 | |
JP2017098920A (ja) | 画像処理装置、画像処理方法、およびそのプログラム | |
JP2009017473A (ja) | 色域生成装置、色域生成方法、色域生成プログラム、及び色変換装置 | |
JP6740729B2 (ja) | データ変換装置、データ変換方法およびデータ変換プログラム | |
JP3910323B2 (ja) | プロファイル作成方法およびプロファイル作成装置 | |
JP2017085291A (ja) | 情報処理装置、制御方法、およびプログラム | |
JP6446898B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、及びそのプログラム | |
JP6320278B2 (ja) | 色処理装置およびその方法 |