(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108845
(43)【公開日】2024-08-13
(54)【発明の名称】処理装置、処理方法、および、コンピュータプログラム
(51)【国際特許分類】
H04N 1/407 20060101AFI20240805BHJP
H04N 1/48 20060101ALI20240805BHJP
G06T 1/00 20060101ALI20240805BHJP
【FI】
H04N1/407
H04N1/48
G06T1/00 510
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023013451
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】吉田 康成
【テーマコード(参考)】
5B057
5C077
5C079
【Fターム(参考)】
5B057AA11
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CE11
5B057CE18
5B057CH07
5B057CH18
5B057DA17
5B057DB02
5B057DB06
5B057DC25
5C077LL19
5C077MM02
5C077MM27
5C077PP15
5C077PP32
5C077PP36
5C077PP37
5C077PP51
5C077PQ08
5C077PQ19
5C077PQ23
5C077SS01
5C077TT06
5C079HB01
5C079HB08
5C079JA21
5C079LA01
5C079LA12
5C079LA31
5C079LB01
5C079MA04
5C079MA10
5C079NA05
5C079PA02
(57)【要約】
【課題】読取装置にて得られる画像データの成分値を適切に変換する。
【解決手段】
処理装置は、特定成分の値を変換する第1変換テーブルを取得し、明度が互いに異なるN個(Nは2以上の整数)のパッチを示すパッチ画像データと、N個のパッチに対応するN個の目標値と、を取得する。パッチ画像データは、N個のパッチを含むシートを読取装置にて読み取ることによって得られるデータである。N個の目標値は、N個のパッチの特定成分の目標値である。処理装置は、第1変換テーブルとパッチ画像データとを用いる生成処理を実行して、特定成分の値を変換する第2変換テーブルを生成する。生成処理は、N個のパッチの中からn個(nはN以下2以上の整数)の対象パッチを選択する選択処理と、パッチ画像データのうちのn個の対象パッチを示す部分データを用いて第1変換テーブルを補正する補正処理と、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
処理装置であって、
特定成分の値を変換する第1変換テーブルを取得する第1取得部であって、前記特定成分は、読取装置によって対象物を読み取ることによって得られる読取画像データに含まれる色値を構成する成分である、前記第1取得部と、
明度が互いに異なるN個(Nは2以上の整数)のパッチを示すパッチ画像データと、前記N個のパッチに対応するN個の目標値と、を取得する第2取得部であって、前記パッチ画像データは、前記N個のパッチを含むシートを前記読取装置によって読み取ることによって得られるデータであり、前記N個の目標値は、前記N個のパッチの前記特定成分の目標値である、前記第2取得部と、
前記第1変換テーブルと前記パッチ画像データとを用いる生成処理を実行して、前記特定成分の値を変換する第2変換テーブルを生成する生成部と、
を備え、
前記生成処理は、
前記N個のパッチの中からn個(nはN以下2以上の整数)の対象パッチを選択する選択処理と、
前記パッチ画像データのうちの前記n個の対象パッチを示す部分データを用いて前記第1変換テーブルを補正する補正処理であって、前記n個の対象パッチの前記特定成分の値に対して前記第1変換テーブルを用いて補正して得られる値が前記n個の対象パッチの前記目標値に近づくように補正する前記補正処理と、
を含む、処理装置。
【請求項2】
請求項1に記載の処理装置であって、さらに、
前記パッチ画像データと前記第1変換テーブルとを用いて、前記N個のパッチのそれぞれについて、前記第1変換テーブルを用いて補正して得られる前記特定成分の値の第1代表値を算出し、前記N個のパッチのそれぞれについて、前記目標値と前記第1代表値との差分値を算出する算出部を備え、
前記選択処理は、前記N個のパッチの前記差分値を用いて前記n個の対象パッチを選択する処理であり、
選択される前記n個の対象パッチの前記差分値の絶対値は、前記n個の対象パッチとは異なる(N-n)個のパッチの前記差分値の絶対値よりも大きい、処理装置。
【請求項3】
請求項1に記載の処理装置であって、
前記補正処理は、前記n個の対象パッチの前記特定成分の値の分布を示すn個のヒストグラムデータを生成し、前記n個のヒストグラムデータを用いて前記第1変換テーブルを補正する処理である、処理装置。
【請求項4】
請求項3に記載の処理装置であって、
前記補正処理は、前記n個のヒストグラムデータを用いて、前記特定成分の値ごとの補正量を示す補正テーブルを生成し、前記補正テーブルを用いて前記第1変換テーブルを補正する処理である、処理装置。
【請求項5】
請求項4に記載の処理装置であって、さらに、
前記パッチ画像データと前記第1変換テーブルとを用いて、前記n個の対象パッチのそれぞれについて、前記第1変換テーブルを適用して得られる前記特定成分の値の第2代表値を算出し、前記n個の対象パッチのそれぞれについて、前記第2代表値と前記目標値との差分値を算出する算出部を備え、
前記補正テーブルは、前記n個のヒストグラムデータを、前記n個のヒストグラムに対応する前記n個の対象パッチの前記差分値に応じた重みを用いて合成して得られるテーブルである、処理装置。
【請求項6】
請求項1に記載の処理装置であって、
前記生成部は、前記生成処理を複数回に亘って繰り返すことによって、前記第2変換テーブルを生成し、
q(qは2以上の整数)回目の前記生成処理の前記補正処理では、(q-1)回目の前記生成処理にて生成される補正済みの前記第1変換テーブルを補正する、処理装置。
【請求項7】
請求項6に記載の処理装置であって、さらに、
前記生成処理が行われる度に前記生成処理によって生成される補正済みの前記第1変換テーブルを、前記N個の目標値の少なくとも一部に基づいて評価する評価部を備え、
q回目の前記生成処理によって生成される補正済みの前記第1変換テーブルの評価結果が特定条件を満たさない場合に、(q+1)回目の前記生成処理を実行し、q回目の前記生成処理によって生成される補正済みの前記第1変換テーブルの評価結果が特定条件を満たす場合に、q回目の前記生成処理によって生成される補正済みの前記第1変換テーブルを前記第2変換テーブルとして決定する、処理装置。
【請求項8】
請求項6に記載の処理装置であって、さらに、
前記生成部は、Q回(Qは2以上の整数)の前記生成処理を実行し、
前記処理装置は、さらに、
Q回の前記生成処理にて生成されるQ個の補正済みの前記第1変換テーブルのそれぞれを、前記N個の目標値の少なくとも一部に基づいて評価する評価部を備え、
Q個の補正済みの前記第1変換テーブルのうち、最も評価が高いテーブルを前記第2変換テーブルとして決定する、処理装置。
【請求項9】
変換テーブルの生成方法であって、
特定成分の値を変換する第1変換テーブルを取得する第1取得工程であって、前記特定成分は、読取装置によって対象物を読み取ることによって得られる読取画像データに含まれる色値を構成する成分である、前記第1取得工程と、
明度が互いに異なるN個(Nは2以上の整数)のパッチを示すパッチ画像データと、前記N個のパッチに対応するN個の目標値と、を取得する第2取得工程であって、前記パッチ画像データは、前記N個のパッチを含むシートを前記読取装置によって読み取ることによって得られるデータであり、前記N個の目標値は、前記N個のパッチの前記特定成分の目標値である、前記第2取得工程と、
前記第1変換テーブルと前記パッチ画像データとを用いる生成処理を実行して、前記特定成分の値を変換する第2変換テーブルを生成する生成工程と、
を備え、
前記生成処理は、
前記N個のパッチの中からn個(nはN以下2以上の整数)の対象パッチを選択する選択処理と、
前記パッチ画像データのうちの前記n個の対象パッチを示す部分データを用いて前記第1変換テーブルを補正する補正処理であって、前記n個の対象パッチの前記特定成分の値に対して前記第1変換テーブルを適用して得られる値が前記n個の対象パッチの前記目標値に近づくように補正する前記補正処理と、
を含む、生成方法。
【請求項10】
コンピュータプログラムであって、
特定成分の値を変換する第1変換テーブルを取得する第1取得機能であって、前記特定成分は、読取装置によって対象物を読み取ることによって得られる読取画像データに含まれる色値を構成する成分である、前記第1取得機能と、
明度が互いに異なるN個(Nは2以上の整数)のパッチを示すパッチ画像データと、前記N個のパッチに対応するN個の目標値と、を取得する第2取得機能であって、前記パッチ画像データは、前記N個のパッチを含むシートを前記読取装置によって読み取ることによって得られるデータであり、前記N個の目標値は、前記N個のパッチの前記特定成分の目標値である、前記第2取得機能と、
前記第1変換テーブルと前記パッチ画像データとを用いる生成処理を実行して、前記特定成分の値を変換する第2変換テーブルを生成する生成機能と、
をコンピュータに実現させ、
前記生成処理は、
前記N個のパッチの中からn個(nはN以下2以上の整数)の対象パッチを選択する選択処理と、
前記パッチ画像データのうちの前記n個の対象パッチを示す部分データを用いて前記第1変換テーブルを補正する補正処理であって、前記n個の対象パッチの前記特定成分の値に対して前記第1変換テーブルを適用して得られる値が前記n個の対象パッチの前記目標値に近づくように補正する前記補正処理と、
を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、読取装置によって得られる画像データを処理する技術に関する。
【背景技術】
【0002】
従来から、スキャナなどの読取装置が利用されている。例えば、特許文献1の技術では、読み取った原稿などの対象物の読取画像データのRGBの各成分値は、例えば、明度を補正するために、予め規定された対応関係に基づくガンマカーブを用いて変換される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、読取装置によって得られる画像データに対して適用される変換テーブル(例えば、ガンマカーブ)を適切に生成することは、容易ではなかった。このために、読取装置によって得られる画像データの成分値を適切に変換できない可能性があった。
【0005】
本明細書は、読取装置によって得られる画像データの成分値を適切に変換することができる変換テーブルを生成し得る技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]処理装置であって、特定成分の値を変換する第1変換テーブルを取得する第1取得部であって、前記特定成分は、読取装置によって対象物を読み取ることによって得られる読取画像データに含まれる色値を構成する成分である、前記第1取得部と、明度が互いに異なるN個(Nは2以上の整数)のパッチを示すパッチ画像データと、前記N個のパッチに対応するN個の目標値と、を取得する第2取得部であって、前記パッチ画像データは、前記N個のパッチを含むシートを前記読取装置によって読み取ることによって得られるデータであり、前記N個の目標値は、前記N個のパッチの前記特定成分の目標値である、前記第2取得部と、前記第1変換テーブルと前記パッチ画像データとを用いる生成処理を実行して、前記特定成分の値を変換する第2変換テーブルを生成する生成部と、を備え、前記生成処理は、前記N個のパッチの中からn個(nはN以下2以上の整数)の対象パッチを選択する選択処理と、前記パッチ画像データのうちの前記n個の対象パッチを示す部分データを用いて前記第1変換テーブルを補正する補正処理であって、前記n個の対象パッチの前記特定成分の値に対して前記第1変換テーブルを用いて得られる値が前記n個の対象パッチの前記目標値に近づくように補正する前記補正処理と、を含む、処理装置。
【0008】
上記構成によれば、第2変換テーブルを生成する生成処理は、N個のパッチの中から選択されるn個の対象パッチを示す部分データを用いて第1変換テーブルを補正する補正処理を含む。この結果、N個のパッチの全てを用いて第1変換テーブルを補正する場合よりも過剰な補正を抑制することができるので、パッチの特定成分の値に対して第1変換テーブルを適用して得られる値が目標値に近づくように精度良く補正し得る。したがって、読取装置によって得られる画像データの特定成分の値を適切に変換することができる第2変換テーブルを生成し得る。
【0009】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、変換テーブルの生成方法、処理装置や生成方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】実施例の処理システム1000を示す説明図。
【
図4】ガンマ変換テーブルと、後述する補正済ガンマ変換テーブルとの説明図。
【
図5】実施例のガンマ変換テーブル修正処理のフローチャート。
【
図6】パッチシートPSと目標色値データの説明図。
【
図11】変形例のガンマ変換テーブル修正処理のフローチャート。
【発明を実施するための形態】
【0011】
A.実施例:
A-1.データ処理装置100と複合機200との構成:
図1は、実施例の処理システム1000を示す説明図である。処理システム1000は、データ処理装置100と、データ処理装置100に接続された複合機200と、を含んでいる。後述するように、複合機200は、原稿等の対象物を読み取るスキャナ部280と、画像を印刷するプリンタ部290と、複合機200の全体を制御する制御部299と、を有している。
【0012】
データ処理装置100は、例えば、パーソナルコンピュータである(例えば、デスクトップコンピュータ、タブレットコンピュータなど)。データ処理装置100は、プロセッサ110と、記憶装置115と、画像を表示する表示部140と、ユーザによる操作を受け取る操作部150と、通信インタフェース170と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。
【0013】
プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリやハードディスクである。
【0014】
不揮発性記憶装置130は、プログラム132と、暫定ガンマ変換テーブル群GTと、目標色値データTDと、を格納している。暫定ガンマ変換テーブル群GTと目標色値データTDとは、後述するガンマ変換テーブル修正処理において用いられる。暫定ガンマ変換テーブル群GTと目標色値データTDとの詳細については、後述する。プロセッサ110は、プログラム132を実行することによって、後述するガンマ変換テーブル修正処理を実現する。揮発性記憶装置120は、プログラム132の実行に利用される種々の中間データを一時的に格納するためのバッファ領域を提供する。
【0015】
プログラム132と暫定ガンマ変換テーブル群GTと目標色値データTDとは、例えば、複合機200の製造者によって作成され、データ処理装置100にインストールされている。
【0016】
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。これに代えて、LEDディスプレイ、有機ELディスプレイなどの、画像を表示する他の種類の装置が採用されてよい。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。これに代えて、ボタン、レバーなどの、ユーザによって操作される他の種類の装置が採用されてよい。
【0017】
通信インタフェース170は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。通信インタフェース170を介して、データ処理装置100は、複合機200と通信可能に接続される。
【0018】
複合機200は、制御部299と、スキャナ部280と、プリンタ部290と、を備えている。制御部299は、プロセッサ210と、記憶装置215と、画像を表示する表示部240と、ユーザによる操作を受け取る操作部250と、通信インタフェース270と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
【0019】
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリやハードディスクである。
【0020】
不揮発性記憶装置230は、プログラム232を格納している。プロセッサ210は、プログラム232を実行することによって、複合機200を制御する種々の機能を実現する。本実施例では、プログラム232は、複合機200の製造者によって、ファームウェアとして、不揮発性記憶装置230に予め格納されている。
【0021】
表示部240は、画像を表示する装置であり、例えば、液晶ディスプレイである。これに代えて、LEDディスプレイ、有機ELディスプレイなどの、画像を表示する他の種類の装置が採用されてよい。操作部250は、ユーザによる操作を受け取る装置であり、例えば、表示部240上に重ねて配置されたタッチパネルである。これに代えて、ボタン、レバーなどの、ユーザによって操作される他の種類の装置が採用されてよい。ユーザは、操作部250を操作することによって、種々の指示を複合機200に入力可能である。
【0022】
通信インタフェース270は、他の装置と通信するためのインタフェースである。本実施例では、通信インタフェース270は、データ処理装置100の通信インタフェース170に接続されている。
【0023】
スキャナ部280は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿等の対象物を読み取ることによって、読み取った画像を表すスキャンデータ(読取画像データとも呼ぶ)を生成する。スキャナ部280は、対象物を読み取って対象物の画像データを生成する読取装置の例である。本実施例では、スキャンデータは、RGB値を用いて、スキャン画像の各画素の色を示すビットマップデータである。本実施例では、RGB値は、RGB表色系の色値であり、RGBの3つの成分値、R値、G値、B値で構成される。
【0024】
プリンタ部290は、所定の方式(例えば、レーザ方式や、インクジェット方式)で、用紙(印刷媒体の一例)上に画像を印刷する装置である。本実施例では、プリンタ部290は、シアンC、マゼンタM、イエロY、ブラックKの4種類のインクを用いてカラー画像を印刷可能なインクジェット方式の印刷装置である。
【0025】
A-2.ガンマ変換テーブル
本実施例のガンマ変換テーブル修正処理では、暫定ガンマ変換テーブル群GTを修正することによって、複合機200にて用いられる最終的なガンマ変換テーブル群を生成する。ガンマ変換テーブル群は、スキャンデータに含まれる色値を構成する成分毎のガンマ変換テーブル、すなわち、R値用、G値用、B値用の3つのガンマ変換テーブルを含む。ガンマ変換テーブル修正処理の説明に先立って、ガンマ変換テーブルについて説明する。
【0026】
図2は、ガンマ変換テーブルの説明図である。各成分値用のガンマ変換テーブルは、例えば、入力値と出力値との対応関係を規定する一次元ルックアップテーブルである。
図2には、R値用のガンマ変換テーブルに規定される入力値Rinと出力値Routとの対応関係を示すグラフLCが図示されている。
図2の例では、入力値Rinは、0~1023の整数値を取る1024階調の値であり、出力値Routは、0~255の整数値を取る256階調の値である。
図2の例では、0≦Rin≦Vaの範囲R1の入力値Rinは、出力値Routの最小値(0)に対応付けられ、Vb≦Rin≦1023の範囲R2の入力値Rinは、出力値Routの最大値(255)に対応付けられている。そして、Va<Rin<Vbの範囲の入力値Rinは、0<Rout<255の出力値Routに対応付けられている。
【0027】
ガンマ変換テーブル群の利用態様の一例について説明する。
図3は、読取処理のフローチャートである。読取処理は、複合機200のプロセッサ210によって実行される。読取処理は、スキャナ部280によって生成されるスキャンデータに、前処理を実行して、処理済スキャンデータを生成、出力する処理である。処理済スキャンデータは、スキャン画像の表示、印刷など様々な用途に用いられる。
【0028】
読取処理は、例えば、ユーザが、読取対象のシートをスキャナ部280の原稿台に配置して、操作部250を操作して読取指示を入力した場合に開始される。S10では、プロセッサ210は、スキャナ部280にシートを読み取らせることによってスキャナ部280にスキャンデータを生成させ、スキャナ部280から該スキャンデータを取得する。スキャナ部280によって生成されるスキャンデータのRGB値の各成分値は、本実施例では、0~1023の範囲の値を取る1024階調の値である。S20、S30では、該スキャンデータに対して前処理を実行する。
【0029】
S20では、プロセッサ210は、スキャンデータに含まれる複数個のRGB値の各成分値を、各成分値用のガンマ変換テーブルを用いて変換することによって、補正済スキャンデータを生成する。これによって、RGB値の各成分値は、1024階調の値から256階調の値に変換される。以下では、ガンマ変換テーブルを用いて実行される成分値の変換を、「ガンマ補正」とも呼ぶ。
【0030】
S30では、プロセッサ210は、補正済スキャンデータに対して色変換処理を実行して、処理済スキャンデータを生成する。色変換処理は、補正済スキャンデータに含まれる各RGB値の色が読取対象のシート上に表現された色を適切に示すように、各RGB値を変換する処理である。色変換処理は、例えば、変換前のRGB値と変換後のRGB値との対応関係を規定する公知の三次元ルックアップテーブルを用いて実行される。三次元ルックアップテーブルは、RGB色空間上に配置される複数個(例えば、17の3乗個)のグリッドについて変換後のRGB値が対応付けられている。プロセッサ210は、RGB色空間上において、変換前のRGB値の近傍の複数個のグリッドに対応付けられたRGB値を用いて補間演算を行うことによって、変換前のRGB値に対応する変換後のRGB値を算出する。
【0031】
S40では、プロセッサ210は、処理済スキャンデータを出力する。処理済スキャンデータの出力は、例えば、処理済スキャンデータを用いて印刷を行うことによって用紙上にスキャン画像を再現すること(いわゆるコピー処理)であっても良い。処理済スキャンデータの出力は、処理済スキャンデータを含むファイル(例えば、PDFファイル)を、ユーザの利用に供するために、不揮発性記憶装置130に格納する、あるいは、ユーザの端末装置(図示省略)に送信することであっても良い。
【0032】
S30の色変換処理に先立って、S20にてガンマ補正を行う理由は、以下のとおりである。色変換処理は、上述のように補間演算を行うことによって行われる。補間演算によって得られる変換後のRGB値が適切な色を示すことを担保するためには、変換前のRGB値によって示される色がRGBの各成分値の変化に対して、線形的に変化することが好ましい。S10にて取得されるスキャンデータのRGB値によって示される色は、RGBの各成分値の変化に対して、線形的に変化していないため、各成分値に対してガンマ補正が実行される。これによって、RGBの各成分値は、RGB値によって示される色がRGBの各成分値の変化に対して線形的に変化するように補正される。
【0033】
A-3.暫定ガンマ変換テーブル
上述した暫定ガンマ変換テーブル群GTは、最終的なガンマ変換テーブル群と同様に、R値用、G値用、B値用の3つの暫定ガンマ変換テーブルを含む。
図4は、ガンマ変換テーブルと、後述する補正済ガンマ変換テーブルとの説明図である。
図4には、R値用の暫定ガンマ変換テーブルに規定される入力値Rinと出力値Routとの対応関係を示すグラフLCpが示されている。暫定ガンマ変換テーブルは、
図2のガンマ変換テーブルと同様に、0~1023の整数値を取る入力値Rinと、0~255の整数値を取る出力値Routと、の対応関係が規定された一次元ルックアップテーブルである。
【0034】
暫定ガンマ変換テーブルには、公知の方法で作成されたガンマ変換テーブルが用いられる。例えば、公知の作成方法の概要は、以下のとおりである。白色(最大明度)から黒色(最小明度)までの複数段階の明度を示す複数個(例えば、50~200程度)の無彩色のパッチをスキャナ部280によって読み取ることによって、複数個のパッチを示すスキャンデータが取得される。複数個のパッチには、それぞれ、測色値に基づく目標成分値がRGBの各成分値について予め定められている。スキャンデータによって示される各パッチ画像を構成する複数個の画素の平均成分値(例えば、R値の平均値)が、該パッチの目標成分値(例えば、R値の目標値)に補正されるように、入力値(例えば、入力値Rin)と出力値(例えば、出力値Rout)との対応関係が決定される。そして、該入力値と該出力値との対応関係を示す一次元ルックアップテーブルがガンマ変換テーブルとして生成される。公知の作成方法の詳細は、例えば、特開2020-141344号公報に開示されている。
【0035】
しかしながら、複数個のパッチには、黒色の印刷材(例えば、インクやトナー)を用いて印刷される網点画像が使用されるために、各パッチ画像を構成する複数個の画素の成分値には、バラツキがあり、これらの成分値は、ある程度の範囲に亘って分布している。このために、1つの成分値の補正結果は、複数個のパッチ画像の平均成分値に影響を与えるので、複数個のパッチ画像の平均成分値が目標成分値と一致するように、ガンマ変換テーブルを作成することは困難である。
【0036】
本実施例では、公知の方法で生成されるガンマ変換テーブルを、暫定ガンマテーブルとして用いて、ガンマ変換テーブル修正処理を実行することで、暫定ガンマテーブルに基づいて最終的なガンマ変換テーブルを生成する。これによって、RGBの各成分値を、RGB値によって示される色がRGBの各成分値の変化に対して線形的に変化するように精度良く補正可能なガンマ変換テーブルを生成し得る。
【0037】
A-4.ガンマ変換テーブル修正処理
図5は、実施例のガンマ変換テーブル修正処理のフローチャートである。ガンマ変換テーブル修正処理は、例えば、複合機200を製造する工場や研究所において、複合機200において使用するガンマ変換テーブルを生成するために実行される。
【0038】
ガンマ変換テーブル修正処理は、例えば、作業者が、パッチシートPSを複合機200(
図1)のスキャナ部280の原稿台に配置した状態で、データ処理装置100に操作部150を介して開始指示を入力した場合に開始される。
【0039】
図6は、パッチシートPSと目標色値データの説明図である。
図6(A)に示すように、パッチシートPSは、N個のパッチPk(kは1以上N以下の整数)が印刷されたシートである。パッチPkの個数Nは、2以上の整数であり、例えば、150である(N=150)。N個のパッチPkは、明度が互いに異なる無彩色の矩形の画像である。
図6(A)の例では、N個のパッチの符号「Pk」の末尾の数字kは、パッチに付されたパッチ番号であり、暗い順に付されている。すなわち、最も暗いパッチは、パッチP1であり、最も明るいパッチは、パッチPNである。各パッチPkは、単色のモノクロ画像データに対してハーフトーン処理を実行して得られるドットデータに従って、黒の印刷材(インクやトナー)を用いて印刷されている。したがって、各パッチPkは、一般的な印刷物と同様に、網点(複数個のドット)によって表現されている。
【0040】
S110では、プロセッサ110は、パッチシートPSを読み取って得られるスキャンデータ(以下、パッチ画像データとも呼ぶ)を取得する。例えば、プロセッサ110は、複合機200に対して読取指示を送信する。複合機200のプロセッサ110は、スキャナ部280を制御してパッチシートPSを読み取ってパッチ画像データを生成し、該パッチ画像データをデータ処理装置100に送信する。データ処理装置100のプロセッサ110は、受信したパッチ画像データを揮発性記憶装置120に格納する。パッチ画像データによって示されるパッチ画像PIは、N個のパッチPkを示す画像である。このために、
図6(A)は、パッチ画像PIを示す図でもある、と言うことができる。以下では、パッチ画像PIに含まれる各パッチの画像も、パッチシートPS上のパッチPkと同様に、パッチPkと呼ぶ。
【0041】
S115では、プロセッサ110は、暫定ガンマ変換テーブル群GT、すなわち、RGBの3つの色成分用の3つの暫定ガンマ変換テーブルを不揮発性記憶装置130から取得する。本実施例の暫定ガンマ変換テーブルは、
図6(A)のパッチシートPSを用いて、上述した方法で予め作成されて、不揮発性記憶装置130に格納されている。これに代えて、本ステップにおいて、プロセッサ110が、上述した方法に従う生成処理を実行して、3つの暫定ガンマ変換テーブルを生成することによって暫定ガンマ変換テーブル群GTを取得しても良い。
【0042】
S120では、プロセッサ110は、S110にて取得したパッチ画像データを用いて、N個のパッチPkのそれぞれのヒストグラムデータを生成する。ヒストグラムデータは、パッチ毎にRGBの各成分について生成される。パッチPkのヒストグラムデータは、パッチ画像PIのうち、パッチPkを構成する複数個の画素を、その成分値に応じて、複数個のクラスに分類することによって得られるデータである。ヒストグラムデータは、パッチの成分値の分布を示している。パッチシートPS上の各パッチPkの位置は、予め決められている。従って、プロセッサ110は、パッチ画像PIの複数の画素のうち、注目するパッチに予め対応付けられた複数の画素を、注目するパッチを構成する画素として用いてよい。これに代えて、プロセッサ110は、パッチ画像PIを解析することによって、各パッチPkを構成する複数の複数の画素を特定してもよい。
【0043】
図7は、パッチのヒストグラムデータの説明図である。
図7(A)、(B)、(C)は、それぞれ、パッチP1、P70、P150のR値のヒストグラムデータによって示されるヒストグラムHGa、HGb、HGcが示されている。本実施例では、プロセッサ110は、1023階調の値を256個のクラスに分類することによってヒストグラムデータを生成する。このため、p番目(pは0~255の整数)のクラスには、4p~(4p+3)の4個のR値を有する画素が分類される。変形例では、1023階調の値のそれぞれを1つのクラスとして、1024個のクラスに分類しても良い。ヒストグラムHGa、HGb、HGcの頻度は、各クラスに分類された画素数の合計が1になるように正規化されているので、0~1の範囲の値をとる。
【0044】
本実施例では、パッチシートPSのパッチPkが網点によって表現されており、スキャナ部280の解像度は網点よりも精細である。従って、パッチ画像PIの1個のパッチPkは、明るい画素(各成分値が大きな画素)と暗い画素(各成分値が小さな画素)とを含み得る。この結果、1個のパッチPkの複数の画素の各成分値は、ある程度の広がりを持つ範囲に分布し得る。最も暗いパッチP1(
図7(A))と最も明るいパッチP150(
図7(C))とに関しては、成分値(例えば、R値)の分布の幅は比較的狭い。中間の明度のパッチP70(
図7(B))に関しては、成分値の分布の幅は比較的広い。そして、RGBの各成分値の平均値(例えば、
図7のRa~Rc)は、明るいパッチPkほど大きく、暗いパッチPkほど小さくなる。S120にて生成された(N×3)個のヒストグラムデータは、後に使用するために不揮発性記憶装置130に格納される。
【0045】
S125では、プロセッサ110は、目標色値データTDを取得する。本実施例では、目標色値データTDは、予め生成されて不揮発性記憶装置130に格納されている。
図6(B)には、目標色値データTDの一例が示されている。目標色値データTDは、N個のパッチPkのそれぞれに、RGBの各成分の目標値、すなわち、目標R値Rkと、目標G値Gkと、目標B値Bkと、を対応付けて記録したデータである。
【0046】
目標値Rk、Gk、Bkは、それぞれ、ガンマ補正済みのパッチ画像データによって示されるパッチ画像PIのパッチPkを構成する画素の平均R値、平均G値、平均B値の目標値である。例えば、各パッチPkが測色器によって測色され、CIELAB色空間のL*値が特定される。そして、sRGB色空間の色値(RGB値)と、CIELAB色空間の色値(L*a*b*値)と、の変換式を用いて、測色によって得られたL*値を有する無彩色を示すL*a*b*値をRGB値に変換する。これによって、得られたRGB値を構成するR値、G値、B値が、パッチPkの目標値Rk、Gk、Bkとして決定される。
【0047】
S130では、プロセッサ110は、RGBの3つの成分値から1つの注目成分値を選択する。以下では、注目成分値がR値である場合を例示しつつ説明するが、注目成分値がG値、B値であっても同様の処理が行われる。
【0048】
S135では、プロセッサ110は、補正対象パッチ選択処理を実行する。補正対象パッチ選択処理は、N個のパッチPkの中からn個(nはN以下2以上の整数)の対象パッチを選択する処理である。本実施例では、nは、パッチPkの個数Nのおよそ半分程度であり、N=150に対して、n=70である。選択する個数nはN以下2以上であれば良いが、N未満であることが好ましく、(2/3)N未満であることがさらに好ましい。また、nは(1/3)以上であることが好ましい。
【0049】
図8は、補正対象パッチ選択処理のフローチャートである。S210では、プロセッサ110は、現在のガンマ変換テーブルを用いて、パッチ画像PIの各パッチPkを構成する画素の注目成分値にガンマ補正を実行する。これによって、注目成分値がR値である場合には、N個のパッチPkを構成する複数個の画素の補正済みのR値が算出される。後述するように、補正対象パッチ選択処理を含む
図5のS135~S150は、1つの注目成分値につき、評価基準を満たすまで複数回行われる(
図5のS155)。ここで、初回の補正対象パッチ選択処理では、現在のガンマ変換テーブルは、注目成分値用の暫定ガンマテーブルを意味する。q回目(qは2以上の整数)の補正対象パッチ選択処理では、現在のガンマ変換テーブルは、(q-1)回目の
図5のS145にて生成される補正済みのガンマ変換テーブル(詳細は後述)を意味する。
【0050】
S220では、プロセッサ110は、各パッチPkの平均成分値を算出する。具体的には、プロセッサ110は、パッチPkを構成する複数個の画素のガンマ補正済みの注目成分値の平均値を、パッチごとに算出する。これによって、注目成分値がR値である場合には、N個のパッチPkのそれぞれの平均R値「Rav」が算出される。
【0051】
S230では、プロセッサ110は、各パッチPkの目標成分値と平均成分値との差分値を算出する。例えば、注目成分値がR値である場合には、プロセッサ110は、目標色値データTDから各パッチPkの目標R値Rk(
図6(B))を取得し、各パッチPkの目標R値Rkと平均R値Ravとの差分値ΔRkを算出する(ΔRk=(Rk-Rav))。これによって、N個のパッチPkのそれぞれの差分値ΔRkが算出される。
【0052】
S240では、プロセッサ110は、N個のパッチPkのうち、注目成分値の差分値の絶対値が大きい順にn個(例えば、70個)の補正対象パッチPsを選択する。
図9は、補正対象パッチPsの選択の説明図である。
図9では、注目成分値がR値である場合の例が示されている。
図9では、横軸にパッチ番号kを取り、縦軸に差分値ΔRkを取るグラフに、各パッチの差分値ΔRkがプロットされている。目標R値Rkが平均R値Ravより大きい場合には、差分値ΔRkは正の値を取り、目標R値Rkが平均R値Ravより小さい場合には、差分値ΔRkは負の値を取る。上述のように、差分値ΔRkの絶対値が大きい順にn個(例えば、70個)の補正対象パッチPsが選択されるので、
図9の例では、上側の破線で示す値Lu(Lu>0)よりも大きな差分値ΔRkを有するパッチと、下側の破線で示す値Lb(Lb<0)よりも小さな差分値ΔRkを有するパッチと、が補正対象パッチPsとして選択される。以上の説明から解るように、n個の補正対象パッチPsの差分値ΔRkの絶対値は、補正対象パッチとは異なる(N-n)個のパッチの差分値ΔRkの絶対値よりも大きい。n個の補正対象パッチPsが選択されると、補正対象パッチ選択処理は終了される。
【0053】
図5のS140では、プロセッサ110は、n個の補正対象パッチPsを用いて、補正テーブルATを生成する。
図10は、補正テーブルの説明図である。注目成分値がR値である場合には、補正テーブルATは、ヒストグラムデータで用いられたR値の256個のクラスのそれぞれに補正量を対応付けて記録したテーブルである。
図10(A)には、横軸にR値の0~255のクラスを取り、縦軸にこれらのクラスに対応付けられる補正量をプロットしたグラフが示されている。
【0054】
p番目(pは0~255の整数)のクラスに対応付けられる補正量Va(p)は、以下の式を用いて表される。
【0055】
【0056】
mは、n個の補正対象パッチPsを識別する補正対象パッチ番号であり、1~nの範囲の値を取る。ΔR(m)は、パッチ番号mの補正対象パッチPsのR値について算出された差分値ΔRkである。Hr(m,p)は、パッチ番号mの補正対象パッチPsのR値のヒストグラムにおけるp番目のクラスの頻度である。この式から解るように、補正量Va(p)は、n個の補正対象パッチPsのヒストグラムの頻度Hrを、対応する差分値で重み付けして合計した加重和である。
【0057】
S145では、プロセッサ110は、生成された補正テーブルATを用いて、注目成分値の現在のガンマ変換テーブルを補正して、補正済みのガンマ変換テーブルを生成する。注目成分値がR値である場合には、プロセッサ110は、
図10(A)の補正テーブルATを、0~1023の範囲のR値のそれぞれについて補正量Vaを対応付けるように拡張して、拡張補正テーブルAT2を生成する。この拡張は、線形補間などの公知の補間処理を用いて実行される。プロセッサ110は、現在のR値のガンマ変換テーブルにおいて、0~1023の範囲の入力値Rinに対応付けられた出力値Routから、対応する補正量Vaを減ずる補正処理を実行する。対応する補正量Vaは、拡張補正テーブルAT2において、0~1023の範囲の入力値Rinに対応付けられた補正量Vaを意味する。
【0058】
図4には、R値の暫定ガンマ変換テーブルを補正して得られる補正済み暫定ガンマ変換テーブルを示すグラフLCpが破線で示されている。この補正によって、n個の補正対象パッチPsのR値に対して補正済みのガンマ変換テーブルを用いて得られる値が、補正前と比較して、n個の補正対象パッチPsの目標R値に近づくように補正される。
【0059】
S150では、プロセッサ110は、補正済みのガンマ変換テーブルの評価値EVを算出する。例えば、注目成分値がR値である場合には、プロセッサ110は、補正済みのガンマ変換テーブルを用いて、未補正のパッチ画像PIの各パッチPkを構成する画素のR値に対してガンマ補正を実行する。これによって、N個のパッチPkを構成する複数個の画素の補正済みのR値が算出される。プロセッサ110は、パッチPkを構成する複数個の画素のガンマ補正済みのR値の平均値を、パッチごとに算出する。これによって、N個のパッチPkのそれぞれの平均R値「Rav」が算出される。プロセッサ110は、各パッチPkの目標R値(
図6(B))と平均R値との差分値ΔRkをパッチごとに算出する。プロセッサ110は、N個のパッチPkの差分値ΔRkの絶対値の合計を、評価値EVとして算出する。評価値EVの値が小さいほど、各パッチPkの平均R値が目標R値に近づいているので、評価値EVの値が小さいほど、評価が高い。なお、評価値EVは、N個のパッチPkの差分値ΔRkの全てを用いることに代えて、適宜に間引かれたN以下の個数のパッチPkの差分値ΔRkを用いて算出されても良い。
【0060】
S155では、プロセッサ110は、評価値EVが所定の閾値THe以下であるか否かを判断する。評価値EVが所定の閾値THe以下である場合には(S155:YES)、直前のS150で生成された補正済みのガンマ変換テーブルは、評価基準を満たしている。このために、この場合には、S160にて、プロセッサ110は、直前のS150で生成された補正済みのガンマ変換テーブルを、注目成分用の最終的なガンマ変換テーブルとして不揮発性記憶装置130に保存する。すなわち、これによって、最終的なガンマ変換テーブルが決定される。評価値EVが所定の閾値THe以下である場合には(S155:NO)、プロセッサ110は、S130に戻って、S135~S150の処理を繰り返す。
【0061】
S165では、プロセッサ110は、RGBの全ての成分値について処理したか否かを判断する。全ての成分値について処理された場合には(S165:YES)、プロセッサ110は、ガンマ変換テーブル修正処理を終了する。未処理の成分値がある場合には(S165:NO)、プロセッサ110は、S130に戻って、未処理の成分値について、S130~S155の処理を実行する。
【0062】
以上説明した本実施例によれば、プロセッサ110は、特定成分の値(例えば、R値)を変換する暫定ガンマ変換テーブルを取得する(
図5のS115)。プロセッサ110は、N個のパッチPkを示すパッチ画像データと、N個のパッチに対応するN個の目標R値と、を取得する(
図5のS110、S125)。プロセッサ110は、暫定ガンマ変換テーブルとパッチ画像データとを用いる生成処理(
図5のS120、S130~S155)を実行して、特定成分の値(例えば、R値)を変換する最終的なガンマ変換テーブルを生成する(
図5)。ガンマ変換テーブルの生成処理(
図5ののS120、S130~S155)は、N個のパッチPkの中からn個の補正対象パッチPsを選択する補正対象パッチ選択処理(
図5のS135)と、パッチ画像データのうちのn個の対象パッチを示す部分データを用いて暫定変換テーブルを補正する補正処理(
図5のS120、S140、S145)を含む。
【0063】
このように、N個のパッチPkの中から選択されるn個の補正対象パッチPsを示すデータを用いて暫定ガンマ変換テーブルを補正する補正処理を含む。この結果、N個のパッチの全てを用いて暫定ガンマ変換テーブルを補正する場合よりも過剰な補正を抑制することができるので、パッチPkの特定成分の値(例えば、R値)に対してガンマ変換テーブルを適用して得られる値が目標値(例えば、目標R値)に近づくように精度良く補正し得る。例えば、上述したように、パッチPkが網点によって表現されているために、各パッチPkの成分値は、ある程度の範囲に広がって分布している。このために、各パッチPkの平均成分値を目標値に一致させることは困難であるし、パッチごとに目標値からのずれも異なり得る。本実施例によれば、例えば、一部のパッチPkについて目標値からのずれが大きい場合に、ガンマ変換テーブルの出力値のうち、該パッチに関連する部分を適切に補正し得る。したがって、スキャナ部280によって得られるスキャンデータの特定成分の値を適切に変換することができるガンマ変換テーブルを生成し得る。
【0064】
さらに、本実施例によれば、プロセッサ110は、N個のパッチPkのそれぞれについて、ガンマ補正して得られるR値の代表値として平均R値を算出する(
図8のS220)。プロセッサ110は、N個のパッチPkのそれぞれについて、平均R値と目標R値との差分値ΔRkを算出する(
図8のS230)。プロセッサ110は、N個のパッチの差分値ΔRkを用いてn個の補正対象パッチPsを選択する(
図8のS240)。この結果、n個の補正対象パッチPsを適切に選択できる。具体的には、差分値ΔRkの絶対値が大きなパッチ、すなわち、平均R値と目標R値とのずれが大きなパッチが、補正対象パッチPsとして適切に選択される。この結果、n個の補正対象パッチPsを用いることで、平均R値と目標R値とのずれが小さくなるように、適切にガンマ変換テーブルを補正できる。
【0065】
さらに、本実施例によれば、プロセッサ110は、n個の補正対象パッチPsのR値の分布を示すn個のヒストグラムデータを生成し(
図5のS120)、該n個のヒストグラムデータを用いてガンマ変換テーブルを補正する(
図5のS120、S140)。この結果、構成によれば、選択されたn個の対象パッチの特定成分の値の分布を示すn個のヒストグラムデータを用いて、第1変換テーブルを適切に補正することができる。
【0066】
より具体的には、プロセッサ110は、n個のヒストグラムデータを用いて、R値ごとの補正量Vaを示す補正テーブルATを生成する(
図5のS140、
図10)。プロセッサ110は、補正テーブルATを用いてガンマ変換テーブルを補正する(
図5のS145)。この結果、R値ごとの補正量Vaを示す補正テーブルATを用いて、ガンマ変換テーブルを適切に補正することができる。
【0067】
さらに、具体的には、プロセッサ110は、n個の補正対象パッチPsのそれぞれについて算出される平均R値と目標R値との差分値ΔRkを重みとして用いて、n個のヒストグラムデータの加重和を算出することによって、補正テーブルを生成する(上記式(1))。換言すれば、補正テーブルは、n個のヒストグラムデータを、n個のヒストグラムに対応するn個の対象パッチの差分値ΔRkに応じた重みを用いて合成して得られる。この結果、例えば、平均R値と目標R値とのずれが大きなパッチPsに関連するR値に対応付けられる出力値Routは、平均R値と目標R値とのずれが小さなパッチPsに関連するR値に対応付けられる出力値Routと比較して、補正される程度が大きくなる。したがって、n個の補正対象パッチPsのそれぞれにおける差分値ΔRkに応じて、ガンマ変換テーブルを補正できるので、より適切な最終的なガンマ変換テーブルを生成し得る。
【0068】
さらに、本実施例では、プロセッサ110は、
図5のS130~S150の生成処理を複数回に亘って繰り返すことによって、最終的なガンマ変換テーブルを生成する(
図5のS155)。すなわち、q(qは2以上の整数)回目の生成処理の補正処理では、(q-1)回目の生成処理にて生成される補正済みのガンマ変換テーブルを補正する。このように、ガンマ変換テーブルを複数回に亘って補正することによって、最終的なガンマ変換テーブルが生成される。この結果、N個のパッチPkのR値に対してガンマ補正して得られる値がN個のパッチPkの目標R値に近づくように少しずつ補正が積み重ねられ、最終的に適切なガンマ補正テーブルを生成できる。
【0069】
さらに、本実施例によれば、プロセッサ110は、
図5のS130~S150の生成処理が行われる度に、該生成処理によって生成される補正済みのガンマ補正テーブルを、N個の目標R値に基づいて評価する。例えば、本実施例では、平均R値と目標R値との差分の絶対値の合計である評価値EVが算出される(
図5のS150)。プロセッサ110は、q回目の生成処理によって生成される補正済みのガンマ変換テーブルの評価結果が特定条件を満たさない場合に(
図5のS155にてNO)、(q+1)回目の生成処理を実行し(
図5のS130に戻る)、該評価結果が特定条件を満たす場合に(
図5のS155にてYES)、q回目の生成処理によって生成される補正済みのガンマ変換テーブルを最終的なガンマ補正テーブルとして決定する(
図3のS160)。すなわち、該評価結果が特定条件を満たす場合に(
図5のS155にてNO)、q回目の生成処理によって生成される補正済みのガンマ変換テーブルを、最終的なガンマ変換テーブルとして不揮発性記憶装置130に保存する。なお、本実施例の特定条件は、上述したように、評価値EVが基準以下であることである。この結果、評価結果が特定条件を満たす場合に、その時点の補正済みのガンマ変換テーブルが最終的なガンマ変換テーブルとして決定されるので、短時間で適切なガンマ変換テーブルが生成され得る。
【0070】
以上の説明か解るように、本実施例の暫定ガンマ変換テーブルは、第1変換テーブルの例であり、ガンマ変換テーブル修正処理にて生成される最終的なガンマ変換テーブルは、第2変換テーブルの例である。また、ガンマ補正後のパッチPkの平均R値は、第1代表値および第2代表値の例である。
【0071】
B.変形例
(1)上記実施例では、評価結果が特定条件を満たす場合に、その時点での最新の補正済みのガンマ変換テーブルを最終的なガンマ変換テーブルとしている。これに限らず、最終的なガンマ変換テーブルの決定方法は、他の方法であっても良い。
【0072】
図11は、変形例のガンマ変換テーブル修正処理のフローチャートである。
図11のガンマ変換テーブル修正処理では、S150より後の処理が、
図5のガンマ変換テーブル修正処理と異なっている。すなわち、
図11のガンマ変換テーブル修正処理では、
図5のS155~S165に代えて、S155B~S170Bの処理が実行される。
【0073】
S155Bでは、プロセッサ110は、直前のS150にて算出された評価値EVが、ここまで計算された評価値EVの最小値であるか否かを判断する。直前に算出された評価値EVが、初回の生成処理(S130~S150)にて算出された評価値EVである場合には、評価値EVは、常に最小であると判断される。直前に算出された評価値EVが、q(qは2以上の整数)回目の生成処理にて算出された評価値EVである場合には、直前に算出された評価値EVが、ここまでに算出されたq個の評価値EVの中で最小であるか否かが判断される。
【0074】
直前のS150にて算出された評価値EVが最小である場合には(S155B:YES)、S160Bにて、プロセッサ110は、直前のS150で生成された補正済みのガンマ変換テーブルを、注目成分用の最終的なガンマ変換テーブルの候補として不揮発性記憶装置130に保存する。直前のS150にて算出された評価値EVが最小でない場合には(S155B:NO)、S160Bはスキップされる。
【0075】
S165Bでは、プロセッサ110は、生成処理(S130~S150)をQ回繰り返したか否かを判断する。Qは、例えば、5~100回であり、予め実験的に定められた回数である。生成処理がQ回繰り返されていない場合には(S165B:NO)、プロセッサ110は、S135に処理を戻す。生成処理がQ回繰り返された場合には(S165B:YES)、プロセッサ110は、注目成分についての生成処理を終了して、S170Bに処理を進める。すなわち、この時点でS160Bにて不揮発性記憶装置130に保存されている補正済みのガンマ変換テーブルが最終的なガンマ変換テーブルに決定される。
【0076】
S170Bでは、プロセッサ110は、RGBの全ての成分について処理したか否かを判断する。全ての成分について処理された場合には(S170B:YES)、プロセッサ110は、ガンマ変換テーブル修正処理を終了する。未処理の成分がある場合には、プロセッサ110は、S130に戻る。
【0077】
以上説明した変形例によれば、上述の説明から解るように、プロセッサ110は、Q回(Qは2以上の整数)の生成処理を実行し(
図11のS165B等)、Q回の前記生成処理にて生成されるQ個の補正済みのガンマ変換テーブルのそれぞれを、前記N個の目標値の少なくとも一部に基づいて評価する(
図11のS150)。プロセッサ110は、Q個の補正済みのガンマ変換テーブルのうち、最も評価が高いテーブル(本実施例では、評価値EVが最小のテーブル)を最終的なガンマ変換テーブルとして決定する。この結果、適切なガンマ変換テーブルが生成され得る。
【0078】
(2)上記実施例の補正対象パッチ選択処理では、目標値との差分値の絶対値が大きな順にn個の補正対象パッチPsが選択されている。これに限らず、補正対象パッチPsの選択方法は、他の方法であっても良い。例えば、目標値との差分値の絶対値が、所定の閾値TH以上であるパッチが補正対象パッチPsとして選択されても良い。
【0079】
また、N個のパッチPkからランダムにn個の補正対象パッチPsが選択されても良い。この場合であっても、N個のパッチPkの全てを用いて補正テーブルATを作成する場合と比較して、過剰な補正を抑制できる。また、ランダムにn個の補正対象パッチPsが選択される場合には、差分値の絶対値が小さなパッチも選択され得るが、差分値を重みとする加重和が補正量として算出されることで、差分値の絶対値が小さなパッチの影響は、補正量への影響も小さくなるので、問題にはなり難い。
【0080】
また、上記実施例では、RGBの成分ごとに、独立して補正対象パッチ選択処理が行われている。これに代えて、例えば、RGBのそれぞれについてパッチごとの差分値ΔRk、ΔGk、ΔBkを算出し、RGBの差分値ΔRk、ΔGk、ΔBkの絶対値の合計が大きな順にn個の補正対象パッチPsが選択されても良い。この場合には、RGBのそれぞれのガンマ変換テーブルを当該n個の補正対象パッチPsを用いて補正した後に、再度、次回の補正のための補正対象パッチ選択処理が行われる。
【0081】
(3)上記実施例では、各パッチPkのR値の代表値として、平均R値が用いられている。これに限らず、R値の代表値は、パッチPkを構成する複数個の画素のR値の中央値、最頻値などの他の統計値であっても良い。
【0082】
(4)n個の補正対象パッチPsを用いてガンマ変換テーブルを補正する実施例の具体的な手法は一例であり、これに限られない。例えば、上記実施例では、補正量Va(
図10の補正テーブルAT)は、差分値を重みとして用いたn個のヒストグラムデータの加重和が用いられている。これに代えて、差分値が正の値であるパッチは、正の所定の微小値を重みとして、差分値が負の値であるパッチは、負の所定の微小値を重みとして用いて加重和を計算しても良い。この場合であっても、補正を繰り返すことで、パッチの平均成分値を、目標値に近づけ得る。
【0083】
あるいは、差分値を重みとした実施例の補正量Vaに、さらに、1未満の重み(例えば、0.5)を乗じた値を補正量として用いても良い。この場合には、実施例と比較して、1回の補正処理にて補正される程度が小さくなるので、実施例よりも少量の補正が繰り返されることで、少しずつパッチの平均成分値を、目標値に近づけ得る。
【0084】
(5)上記実施例では、複数回の生成処理(
図5のS130~S150)が実行されているが、1回の生成処理で、最終的なガンマ変換テーブルを生成しても良い。
【0085】
(6)暫定ガンマ変換テーブルに基づいて,最終的なガンマ変換テーブルが生成される過程の処理は、適宜な変更がなされ得る。例えば、補正テーブルATが生成された後に、補正テーブルATに対して、公知のスムージング処理が行われた後に、スムージング後の補正テーブルATを用いて、ガンマ変換テーブルの補正が行われても良い。あるいは、補正済みのガンマ変換テーブルが行われる度に、公知のスムージング処理が行われても良い。あるいは、最終的なガンマ変換テーブルが決定された後に、一度だけスムージング処理が行われても良い。
【0086】
(7)
図11のガンマ変換テーブル修正処理は、データ処理装置100に代えて、複合機200のプロセッサ210によって実行されてよい。
【0087】
(8)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、ヒストグラムデータを生成する処理を、専用のハードウェア回路によって実現してもよい。
【0088】
(9)本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0089】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0090】
1000…処理システム,100…データ処理装置,110…プロセッサ,115…記憶装置,120…揮発性記憶装置,130…不揮発性記憶装置,132…プログラム,140…表示部,150…操作部,170…通信インタフェース,200…複合機,210…プロセッサ,215…記憶装置,220…揮発性記憶装置,230…不揮発性記憶装置,232…プログラム,240…表示部,250…操作部,270…通信インタフェース,280…スキャナ部,299…制御部,290…プリンタ部,AT,AT2…補正テーブル,EV…評価値,GT…暫定ガンマ変換テーブル群,Pk…パッチ,PS…パッチシート,Ps…補正対象パッチ,TD…目標色値データ