(57)【要約】【課題】画像読取装置において、特に低輝度階調で原稿を忠実に再現できるキャリブレーションを実現する。【解決手段】イメージスキャナ装置は、パッチ階調値取得部と、補正関数取得部と、階調補正部と、を備える。パッチ階調値取得部は、テストチャートのグレーパッチを読み取ったＲＧＢ各成分における読取階調値ｘiを求める。補正関数取得部は、グレーパッチについて定められているＲＧＢの各成分の目標階調値ｙiを入力とし、前記読取階調値ｘiを出力として、入出力の関係（両階調値ｘi，ｙiの関係）を近似する曲線関数をＲＧＢの各成分について求める。階調補正部は、原稿を読み取った画像のＲＧＢ階調値を、前記曲線関数に基づいて補正する。補正関数取得部は、ＲＧＢの各成分についての前記曲線関数を、前記出力値ｙがゼロを保持する前記入力値ｘの範囲の上限値としての入力値切片ｃがＲＧＢ間で等しくなるように定める。【選択図】図８
2010135970.tif 000002
【特許請求の範囲】
【請求項１】
原稿を読取可能な読取部と、
階調を異ならせた複数のパッチを有するキャリブレーション用原稿を前記読取部で読み取らせたときに、３つのカラー成分それぞれにおける前記パッチの読取階調値を求めるパッチ階調値取得部と、
前記パッチについて定められている３つの前記カラー成分それぞれの目標階調値と、前記読取階調値と、に基づいて、前記読取階調値を入力とし前記目標階調値を出力として入出力の関係を近似する曲線関数を３つの前記カラー成分それぞれについて求める補正関数取得部と、
前記読取部によって原稿を読み取った画像の前記カラー成分それぞれの階調値を前記曲線関数に基づいて補正する補正部と、
を備え、
前記補正関数取得部は、３つの前記カラー成分それぞれについての前記曲線関数を、前記出力値がゼロを保持する前記入力値の範囲の上限値としての入力値切片が３つの前記カラー成分の間で等しくなるように定めることを特徴とする画像読取装置。
【請求項２】
請求項１に記載の画像読取装置であって、
前記補正関数取得部は曲線関数決定部を備え、
前記曲線関数決定部は、３つの前記カラー成分のうち何れか１つの成分である特定カラー成分に関して前記曲線関数を決定するとともに、決定された曲線関数の入力値切片を入力値切片とするように、前記特定カラー成分以外のカラー成分についての曲線関数を求めることを特徴とする画像読取装置。
【請求項３】
請求項２に記載の画像読取装置であって、
前記補正関数取得部は、
複数の入力値切片候補のそれぞれについて、当該入力値切片候補を入力値切片とする曲線関数候補を、３つの前記カラー成分のうち何れか１つの成分である特定カラー成分に関して求める曲線関数候補取得部と、
複数の入力値切片候補のそれぞれについて、前記パッチの前記読取階調値と前記目標階調値との関係を前記曲線関数候補で近似した場合の乖離度を前記特定カラー成分について求める乖離度取得部と、
前記乖離度が最も小さくなる入力値切片候補を選択し、当該入力値切片候補に対応する前記曲線関数候補を前記特定カラー成分についての前記曲線関数として決定するとともに、選択された入力値切片候補を入力値切片とするように、前記特定カラー成分以外のカラー成分についての曲線関数を求める曲線関数決定部と、
を備えることを特徴とする画像読取装置。
【請求項４】
請求項１に記載の画像読取装置であって、
前記補正関数取得部は、
複数の入力値切片候補のそれぞれについて、当該入力値切片候補を入力値切片とする曲線関数候補を３つの前記カラー成分それぞれについて求める曲線関数候補取得部と、
複数の入力値切片候補のそれぞれについて、前記パッチの前記読取階調値と前記目標階調値との関係を前記曲線関数候補で近似した場合の乖離度を３つの前記カラー成分それぞれについて求める乖離度取得部と、
３つの前記カラー成分総合での前記乖離度が最も小さくなる入力値切片候補を選択し、当該入力値切片候補に対応する前記曲線関数候補を前記曲線関数として決定する曲線関数決定部と、
を備えることを特徴とする画像読取装置。
【請求項５】
請求項３又は４に記載の画像読取装置であって、
前記乖離度取得部は、前記パッチについての前記読取階調値を前記曲線関数候補に入力したときの出力値と、当該パッチについての目標階調値と、の誤差の二乗和を前記乖離度として求めることを特徴とする画像読取装置。
【請求項６】
請求項３から５までの何れか一項に記載の画像読取装置であって、
前記曲線関数候補取得部は、前記パッチについて前記パッチ階調値取得部で求められた前記読取階調値と、当該パッチについての前記目標階調値と、に基づいて、前記曲線関数候補を最小二乗法によって求めることを特徴とする画像読取装置。
【請求項７】
原稿を読み取って３つのカラー成分それぞれの階調値を取得することが可能な読取部を備えた画像読取装置のキャリブレーション方法であって、
階調を異ならせた複数のパッチを有するキャリブレーション用原稿を前記読取部によって読み取る読取ステップと、
前記キャリブレーション用原稿の前記パッチについて、３つの前記カラー成分それぞれにおける読取階調値を求めるパッチ階調値取得ステップと、
前記パッチについて定められている３つの前記カラー成分それぞれの目標階調値と、前記読取階調値と、に基づいて、前記読取階調値を入力とし前記目標階調値を出力として入出力の関係を近似する曲線関数を３つの前記カラー成分それぞれについて求める補正関数取得ステップと、
を含み、
前記補正関数取得ステップでは、３つの前記カラー成分それぞれについての前記曲線関数を、前記出力値がゼロを保持する前記入力値の範囲の上限値としての入力値切片が３つの前記カラー成分の間で等しくなるように定めることを特徴とする画像読取装置のキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿を３つのカラー成分（例えば、赤、緑、青のＲＧＢ成分）に色分解して読み取って読取画像を得ることが可能な画像読取装置に関する。
【背景技術】
【０００２】
特許文献１は、この種の画像読取装置を備えた画像形成装置を開示する。この特許文献１のデジタルカラー複写機は、画像取得手段としてのＣＣＤ（電荷結合素子）を備え、原稿からの反射光像を、ＲＧＢにより表現される表色系のアナログ信号として読み取るように構成されている。ＣＣＤが読み取ったアナログ信号による画像データは、ＡＦＥ（アナログフロントエンド）に送られ、デジタルデータに変換される。ＡＦＥから出力される画像データは、各画素のＲ成分、Ｇ成分、及びＢ成分のそれぞれを８ビットのデータで表した多値の画像データとされている。
【０００３】
この特許文献１のデジタルカラー複写機はキャリブレーションモードを有している。このキャリブレーションモードにおいて複写機は、当該複写機でプリントされたテスト画像が記録された記録シートをＣＣＤで読み取り、ＡＦＥでＡ／Ｄ変換することで、ＲＧＢ表色系のテスト画像データを取得する。このテスト画像データは、行列変換処理等が施されることにより、Ｌａｂ表色系のテスト画像データに変換される。その後、得られたテスト画像データをテスト画像プリント時のデータと比較することにより、読み取った画像データを補正するための補正パラメータを算出する。
【特許文献１】特開２００４−８８４９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなキャリブレーション作業で用いられる原稿（キャリブレーション用原稿、テストチャート）は、画像読取装置の間での個体差を無くすために、正確な濃度で印刷される必要がある。しかしながら、特に低輝度階調において適切な色味及び濃度のキャリブレーション用原稿を作成しようとすると、高濃度を印刷する必要があり、コストが増大してしまう。
【０００５】
この点、特許文献１に示すようにテスト画像を記録シートに複写機でプリントしてキャリブレーションに用いる場合、記録シートに記録された低輝度階調の部分を正確に意図どおりの濃度とすることが極めて困難である。従って、キャリブレーションモードにおいて輝度を考慮することなく補正パラメータを算出するだけでは、特に低輝度階調の再現性（グレーバランス）が悪くなり易く、読取画質の観点から改善の余地が残されていた。
【０００６】
本発明は以上の事情に鑑みてされたものであり、その目的は、画像読取装置において、特に低輝度階調の再現性に優れる階調補正機能を実現することにある。
【課題を解決するための手段及び効果】
【０００７】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【０００８】
本発明の第１の観点によれば、以下の構成の画像読取装置が提供される。即ち、この画像読取装置は、読取部と、パッチ階調値取得部と、補正関数取得部と、補正部と、を備える。前記読取部は、原稿を読取可能である。前記パッチ階調値取得部は、階調を異ならせた複数のパッチを有するキャリブレーション用原稿を前記読取部で読み取らせたときに、３つのカラー成分それぞれにおける前記パッチの読取階調値を求める。前記補正関数取得部は、前記パッチについて定められている３つの前記カラー成分それぞれの目標階調値と、前記読取階調値と、に基づいて、前記読取階調値を入力とし前記目標階調値を出力として入出力の関係を近似する曲線関数を３つの前記カラー成分それぞれについて求める。前記補正部は、前記読取部によって原稿を読み取った画像の前記カラー成分それぞれの階調値を前記曲線関数に基づいて補正する。そして、前記補正関数取得部は、３つの前記カラー成分それぞれについての前記曲線関数を、前記出力値がゼロを保持する前記入力値の範囲の上限値としての入力値切片が３つのカラー成分の間で等しくなるように定める。
【０００９】
この構成により、３つのカラー成分についての曲線関数の入力値切片が共通となっているので、特に画像の低輝度階調の部分を、グレーバランスを含めて忠実に再現することができる。また、低輝度階調の部分でパッチの数を特に増加させなくても良好なキャリブレーションを得ることができる。更には、滑らかな曲線関数によって読取部の曲線的な出力特性を精度良く補正することができるので、パッチの数が少ない場合でも良好な階調補正を行うことができる。
【００１０】
前記の画像読取装置においては、以下の構成とすることが好ましい。即ち、この画像読取装置は曲線関数決定部を備える。この曲線関数決定部は、３つの前記カラー成分のうち何れか１つの成分である特定カラー成分に関して前記曲線関数を決定するとともに、決定された曲線関数の入力値切片を入力値切片とするように、前記特定カラー成分以外のカラー成分についての曲線関数を求める。
【００１１】
この構成により、入力値切片同士が３つのカラー成分の間で一致している曲線関数を、簡単な計算処理で得ることができる。
【００１２】
前記の画像読取装置においては、以下の構成とすることが好ましい。即ち、前記補正関数取得部は、曲線関数候補取得部と、乖離度取得部と、曲線関数決定部と、を備える。前記曲線関数候補取得部は、複数の入力値切片候補のそれぞれについて、当該入力値切片候補を入力値切片とする曲線関数候補を、３つの前記カラー成分のうち何れか１つの成分である特定カラー成分に関して求める。前記乖離度取得部は、複数の入力値切片候補のそれぞれについて、前記パッチの前記読取階調値と前記目標階調値との関係を前記曲線関数候補で近似した場合の乖離度を前記特定カラー成分について求める。前記曲線関数決定部は、前記乖離度が最も小さくなる入力値切片候補を選択し、当該入力値切片候補に対応する前記曲線関数候補を前記特定カラー成分についての前記曲線関数として決定する。また、前記曲線関数決定部は、選択された入力値切片候補を入力値切片とするように、前記特定カラー成分以外のカラー成分についての曲線関数を求める。
【００１３】
この構成により、特定カラー成分については最良の近似精度を与える曲線関数を得ることができる。また、３つのカラー成分を総合的に考慮した場合でも、入力値切片同士が３つのカラー成分の間で一致している良好な色再現性（グレーバランス等）の曲線関数を、簡単な計算処理で得ることができる。
【００１４】
前記の画像読取装置においては、以下の構成とすることもできる。即ち、前記補正関数取得部は、曲線関数候補取得部と、乖離度取得部と、曲線関数決定部と、を備える。前記曲線関数候補取得部は、複数の入力値切片候補のそれぞれについて、当該入力値切片候補を入力値切片とする曲線関数候補を３つの前記カラー成分それぞれについて求める。前記乖離度取得部は、複数の入力値切片候補のそれぞれについて、前記パッチの前記読取階調値と前記目標階調値との関係を前記曲線関数候補で近似した場合の乖離度を３つの前記カラー成分それぞれについて求める。前記曲線関数決定部は、３つの前記カラー成分総合での前記乖離度が最も小さくなる入力値切片候補を選択し、当該入力値切片候補に対応する曲線関数候補を前記曲線関数として決定する。
【００１５】
この構成により、３つのカラー成分の間で入力値切片を一致させつつ、３つのカラー成分を総合的に考慮して、最良の近似精度を与える曲線関数を得ることができる。この結果、読取画像の画質を一層向上させることができる。また、曲線関数として累乗関数を用いた場合でも、低輝度階調部分の再現性を考慮した近似式を求めることができる。
【００１６】
前記の画像読取装置においては、前記乖離度取得部は、前記パッチについての前記読取階調値を前記曲線関数候補に入力したときの出力値と、当該パッチについての目標階調値と、の誤差の二乗和を前記乖離度として求めることが好ましい。
【００１７】
この構成により、パッチを読み取って得られたデータに対する曲線関数候補の近似精度を適切に評価することができるので、最適な入力値切片候補（曲線関数候補）を確実に選択でき、原稿を忠実に再現した読取画像を得ることができる。
【００１８】
前記の画像読取装置においては、前記曲線関数候補取得部は、前記パッチについて前記パッチ階調値取得部で求められた前記読取階調値と、当該パッチについての前記目標階調値と、に基づいて、前記曲線関数候補を最小二乗法によって求めることが好ましい。
【００１９】
この構成により、精度の良好な曲線関数を得ることができるので、原稿を忠実に再現した読取画像を得ることができる。
【００２０】
本発明の第２の観点によれば、原稿を読み取って３つのカラー成分それぞれの階調値を取得することが可能な読取部を備える画像読取装置において、以下のようなキャリブレーション方法が提供される。即ち、この画像読取装置のキャリブレーション方法は、読取ステップと、パッチ階調値取得ステップと、補正関数取得ステップと、を含む。前記読取ステップでは、階調を異ならせた複数のパッチを有するキャリブレーション用原稿を前記読取部によって読み取る。前記パッチ階調値取得ステップでは、前記キャリブレーション用原稿の前記パッチについて、３つの前記カラー成分それぞれにおける読取階調値を求める。前記補正関数取得ステップでは、前記パッチについて定められている３つの前記カラー成分それぞれの目標階調値と、前記読取階調値と、に基づいて、前記読取階調値を入力とし前記目標階調値を出力として入出力の関係を近似する曲線関数を３つの前記カラー成分それぞれについて求める。そして、前記補正関数取得ステップでは、ＲＧＢの各成分についての前記曲線関数を、前記出力値がゼロを保持する前記入力値の範囲の上限値としての入力値切片が３つの前記カラー成分の間で等しくなるように定める。
【００２１】
この方法により得られた３つのカラー成分についての曲線関数は、その入力値切片が３つのカラー成分の間で共通となっているので、特に画像の低輝度階調の部分をグレーバランスを含めて忠実に再現することができる。また、低輝度階調の部分でパッチの数を特に増加させなくても良好なキャリブレーションを得ることができる。更には、滑らかな曲線関数によって読取部の曲線的な出力特性を精度良く補正することができるので、パッチの数が少ない場合でも良好な階調補正を行うことができる。
【発明を実施するための最良の形態】
【００２２】
次に、発明の実施の形態を説明する。図１は本発明の一実施形態に係るイメージスキャナ装置１０１の全体的な構成を示す正面断面図である。
【００２３】
図１に示すように、画像読取装置としてのイメージスキャナ装置１０１は、オートドキュメントフィーダ部及びフラットベッド部からなる画像読取部１１５を備えている。
【００２４】
以下、イメージスキャナ装置１０１の構成を具体的に説明する。即ち、このイメージスキャナ装置１０１は、読取原稿を載置するプラテンガラス１０２が配設された原稿台１０３と、この読取原稿を前記プラテンガラス上に押圧した状態で保持するための原稿台カバー１０４と、を備えている。また、イメージスキャナ装置１０１には、原稿の読取開始等を指示するための図略の操作パネルが備えられている。
【００２５】
前記原稿台カバー１０４には、オートドキュメントフィーダ（自動原稿送り装置）１０７が配置されている。このオートドキュメントフィーダ１０７は、原稿台カバー１０４の上部に設けられた原稿トレイ１１１と、この原稿トレイ１１１の下方に設けられた排紙トレイ１１２と、を備える。
【００２６】
図１に示すように、前記原稿台カバー１０４の内部には、原稿トレイ１１１と排紙トレイ１１２とを繋ぐ湾曲状の原稿搬送経路１１３が構成されている。この原稿搬送経路１１３には、ピックアップローラ５１と、分離ローラ５２と、分離パッド５３と、搬送ローラ５５と、排紙ローラ５８と、が配置されている。
【００２７】
ピックアップローラ５１は原稿トレイ１１１上の読取原稿を繰り込み、分離ローラ５２及び分離パッド５３は、繰り込まれた原稿を１枚ずつ分離するように構成されている。搬送ローラ５５は、分離された原稿を原稿読取位置２５に向けて搬送し、排紙ローラ５８は、読取後の原稿を排紙トレイ１１２へ排出するように構成されている。
【００２８】
上記の構成で、原稿トレイ１１１に重ねてセットされた読取原稿は、１枚ずつ分離されて湾曲状の前記原稿搬送経路１１３に沿って搬送され、原稿読取位置２５を通過して後述のスキャナユニット２１によって読み取られた後、排紙トレイ１１２へ排出される。
【００２９】
図１に示すように、前記原稿台１０３の内部にはスキャナユニット（読取部）２１が備えられる。このスキャナユニット２１は、原稿台１０３の内部で移動可能なキャリッジ３０を備えている。
【００３０】
このキャリッジ３０は、光源としての蛍光ランプ２２と、反射ミラー２３，２３・・・と、集光レンズ２７と、読取センサ（ＣＣＤセンサ）２８と、を備える。蛍光ランプ２２は読取原稿に対して光を照射し、読取原稿からの反射光は、複数の反射ミラー２３，２３・・・で反射した後、集光レンズ２７を通過して収束して読取センサ２８の表面に結像する。前記読取センサ２８は、入射された収束光を電気信号に変換して出力する。
【００３１】
本実施形態において前記読取センサ２８は３ライン式のカラーＣＣＤセンサとされている。この読取センサ２８は、主走査方向（原稿の幅方向）に細長く延びる一次元ラインセンサが赤、緑、青（ＲＧＢ）の各色について設けられるとともに、各ラインセンサに対応して異なるカラーフィルタを備えた構成となっている。これにより、原稿の画像情報をＲＧＢの３色に色分解して読み取ることができる。
【００３２】
前記原稿台１０３の内部には、駆動プーリ４７及び従動プーリ４８が回転可能に支持される。そして、駆動プーリ４７及び従動プーリ４８の間に無端状の駆動ベルト４９が巻き掛けられ、この駆動ベルト４９の適宜箇所に前記キャリッジ３０が固定されている。この構成で、前記駆動プーリ４７を図略の電動モータで正逆駆動することにより、キャリッジ３０を副走査方向に沿って水平に走行させることができる。
【００３３】
以上の構成で、前記原稿読取位置２５に対応する位置に前記キャリッジ３０を予め移動させた状態で、オートドキュメントフィーダ１０７を駆動する。すると、原稿搬送経路１１３を搬送される読取原稿が原稿読取位置２５において走査され、蛍光ランプ２２から照射されて読取原稿で反射した反射光はキャリッジ３０内へ導入され、反射ミラー２３，２３・・・により集光レンズ２７を通して読取センサ２８へ導かれて結像する。この結果、読取センサ２８は読取内容に応じた電気信号を出力することができる。
【００３４】
また、イメージスキャナ装置１０１をフラットベッドスキャナとして使用する場合は、キャリッジ３０をプラテンガラス１０２に沿って一定の速度で移動させながら、当該プラテンガラス１０２上に載置された読取原稿を走査する。原稿からの反射光は、上記と同様にキャリッジ３０内の読取センサ２８へ導かれて結像する。
【００３５】
図２はイメージスキャナ装置１０１のブロック図である。図２に示すように、イメージスキャナ装置１０１は前記スキャナユニット２１のほか、演算部としてのＣＰＵ４１と、記憶部としてのＲＯＭ４２及びＲＡＭ４３と、を備えている。
【００３６】
また、イメージスキャナ装置１０１は、階調補正テーブル生成部４４と、階調補正テーブル記憶部４５と、階調補正部（補正部）４６と、イメージメモリ６６と、符号変換部６９と、出力制御部７０と、キャリブレーション部８１と、を備えている。
【００３７】
ＣＰＵ４１は、イメージスキャナ装置１０１に備えられるスキャナユニット２１、階調補正部４６、出力制御部７０、キャリブレーション部８１等を制御するための制御部として設けられている。この制御のためのプログラム及びデータ等は、記憶部としてのＲＯＭ４２に格納されている。また、前記ＲＡＭ４３は、上記プログラムを実行する際に必要となるデータを一時的に記憶するため等に用いられる。
【００３８】
前記スキャナユニット２１はアナログフロントエンド（ＡＦＥ）６３を備えており、このＡＦＥ６３は読取センサ２８に接続されている。原稿読取時において、読取センサ２８が備えるＲＧＢ各色の前記ラインセンサは、原稿内容を主走査方向に走査して１ライン分を読み取り、各ラインセンサの信号は前記ＡＦＥ６３によってアナログ信号からデジタル信号に変換される。この主走査により、１ライン分の画素のデータがＲＧＢ各色の階調値としてＡＦＥ６３から出力される。以上の処理を、原稿又はキャリッジ３０を副走査方向に微小距離ずつ送りながら反復することで、原稿全体の画像データをデジタル信号として得ることができる。
【００３９】
スキャナユニット２１は画像処理部６５を備えており、前記ＡＦＥ６３が出力する画像データのデジタル信号は、この画像処理部６５に入力される。この画像処理部６５は、主走査ごとに１ラインずつ入力される画素データに対しシェーディング補正を行って、スキャナユニット２１の光学系に起因する読取ムラの補正を行う。また画像処理部６５は、前記画素データに対し、読取センサ２８におけるＲＧＢ各色のラインセンサの配置間隔（ラインギャップ）を原因とする色ズレを矯正する補正を行う。
【００４０】
前記イメージメモリ６６は、スキャナユニット２１で読み取った画像（それぞれの画素におけるＲＧＢ各色の階調値）を保存するためのものである。
【００４１】
階調補正テーブル生成部４４は、スキャナユニット２１で読み取られた画像データに対して階調補正を行うときに用いられる階調補正テーブルのデータを生成するように構成されている。この階調補正テーブルの生成の際は、前記キャリブレーション部８１で求められた曲線関数（補正関数、詳細は後述）が用いられる。この階調補正テーブル生成部４４で生成されたテーブルの内容は、階調補正テーブル記憶部４５に記憶される。
【００４２】
階調補正部４６は、スキャナユニット２１から出力された画像データを前記階調補正テーブルに基づいて補正する。これにより、入力光の強度変化に対する読取センサ２８の出力の非直線性を補正すること等により、元の読取原稿を忠実に再現した読取画像を得ることができる。この階調補正部４６によって補正された画像は、イメージメモリ６６に入力されて記憶される。
【００４３】
符号変換部６９は、イメージメモリ６６に保存された画像データに対し、例えばＪＰＥＧ等の公知の圧縮処理を行って符号化する。
【００４４】
出力制御部７０は、符号化された画像データを、イメージスキャナ装置１０１と接続される上位装置としてのパーソナルコンピュータ（図略）に送信する。送信方法は任意であるが、例えば、ローカルエリアネットワーク（ＬＡＮ）を用いる方法、及びユニバーサルシリアルバス（ＵＳＢ）を用いる方法等が考えられる。
【００４５】
キャリブレーション部８１は、キャリブレーション用原稿としての所定のテストチャート（後述）をスキャナユニット２１で読み取って得られた画像に基づいて、階調補正のための関数である曲線関数を作成し、そのパラメータを保存（更新）できるように構成されている。このキャリブレーション部８１は、パッチ階調値取得部８２と、補正関数取得部８３と、補正関数パラメータ記憶部８７と、を備えている。
【００４６】
パッチ階調値取得部８２は、前記テストチャートが有する複数のグレーパッチ（パッチ）のそれぞれを読み取ったＲＧＢの各成分値（読取階調値）を、計算により取得する。
【００４７】
補正関数取得部８３は、パッチ階調値取得部８２によって取得された読取階調値と、当該グレーパッチについて定められている目標階調値と、の関係を近似する曲線関数（補正関数）を計算により求める。この補正関数取得部８３は、曲線関数候補取得部８４と、乖離度取得部８５と、曲線関数決定部８６と、を備えている。
【００４８】
曲線関数候補取得部８４は、ＲＧＢの各色成分について、グレーパッチを読み取った読取階調値と当該グレーパッチの目標階調値との関係を近似する曲線関数を、曲線関数候補（補正関数候補）として生成する。この曲線関数候補は、詳細は後述するが、所定のパラメータを種々異ならせて複数生成される。
【００４９】
乖離度取得部８５は、実際の読取階調値と目標階調値の関係を曲線関数候補によって近似した場合の当該近似精度を評価した値（乖離度）を、計算により取得する。この近似精度の評価値は、曲線関数候補のそれぞれについて、かつ、ＲＧＢの各色成分について個別に計算される。
【００５０】
曲線関数決定部８６は、ＲＧＢの各色成分における近似精度を総合的に考慮して、実際の階調値と目標階調値の関係を最も精度良く近似できる曲線関数候補を選択する。そして、曲線関数決定部８６は、選択された曲線関数候補を、補正に使用すべき曲線関数（補正関数）として決定する。
【００５１】
補正関数パラメータ記憶部８７は、補正関数取得部８３によって求められた曲線関数（補正関数）のパラメータを記憶する。この補正関数のパラメータは、前記階調補正テーブル生成部４４によって階調補正テーブルが生成されるときに参照される。
【００５２】
本実施形態において、画像処理部６５、階調補正テーブル生成部４４、階調補正部４６、キャリブレーション部８１及び符号変換部６９等は、例えばＡＳＩＣ、ＦＰＧＡ等のハードウェアを用いて実現されている。スキャナキャリブレーション処理（その詳細は後述する）を行う画像処理プログラムがＡＳＩＣ等に書き込まれることにより、キャリブレーション部８１のスキャナキャリブレーション機能が実現される。ただし、このキャリブレーション部８１等は、ＣＰＵ４１とプログラムの組合せ等により実現しても良い。
【００５３】
次に、前記キャリブレーション部８１によるスキャナキャリブレーション処理について、図３を参照して説明する。この図３は、ユーザがイメージスキャナ装置１０１の操作パネルを適宜操作し、キャリブレーションを行う旨を指示した場合に実行されるメインフローである。
【００５４】
図３のメインフローが開始されると、テストチャートをセットすべき旨のメッセージが、前記操作パネルに適宜表示される。ユーザはこれに従い、予め用意されているテストチャートを、イメージスキャナ装置１０１の原稿トレイ１１１又はプラテンガラス１０２上にセットする。
【００５５】
このテストチャートの一例が図４に示されている。このテストチャート９０には、矩形のグレーパッチ９１が所定の場所に複数並べて配置されている。このグレーパッチ９１は濃度を正確に管理して印刷されているので、このテストチャート９０を使用してキャリブレーションを行うことにより、読取階調値に関するイメージスキャナ装置１０１の個体差を小さくすることができる。図４の例では、計１６個のグレーパッチ９１が８個ずつ上下２段に配置されている。なお、以後では、グレーパッチ９１の番号を図４の左から右、上段から下段の順に、０番、１番、２番、・・・と番号を付して説明する場合がある。
【００５６】
これら複数のグレーパッチ９１は、階調が最も暗いもの（０番）から最も明るいもの（１５番）まで、階調が段階的に異なっており、番号順にその階調（濃度）が徐々に明るくなるように配置されている。なお、図面での説明の都合上、図４では、グレーパッチ９１の灰色の階調はハッチングの間隔で表現されている。
【００５７】
このテストチャート９０については、それぞれのグレーパッチ９１を読み取ったときに得られるべき階調値（以下、目標階調値と称する）が、ＲＧＢの各成分について予め定められている。例えば、０番のグレーパッチ９１を読み取った場合の目標階調値は（Ｒ，Ｇ，Ｂ）＝（０，０，０）であり、１番のグレーパッチ９１については目標階調値が（Ｒ，Ｇ，Ｂ）＝（１０，１０，１０）である、といったようにである。この目標階調値は、テストチャート９０の各グレーパッチ９１を測色した測色値（Ｌ＊ａ＊ｂ＊、ＸＹＺ）に基づいて決定される。それぞれのグレーパッチ９１とその目標階調値の関係は、イメージスキャナ装置１０１が備えるＲＯＭ４２等の記憶手段に予め記憶されている。
【００５８】
ユーザは図４に示すテストチャート９０をイメージスキャナ装置１０１にセットし、読取開始を指示する。すると、当該テストチャート９０がスキャナユニット２１によって読み取られる（読取ステップ、図３のＳ１０１）。
【００５９】
テストチャート９０の読取画像が得られると、前記パッチ階調値取得部８２は当該読取画像を解析することにより、各グレーパッチ９１の読取階調値をＲＧＢ成分それぞれについて求める（パッチ階調値取得ステップ、Ｓ１０２）。具体的には、前記パッチ階調値取得部８２は、テストチャート９０の読取画像から、それぞれのグレーパッチ９１が位置している領域内において複数の画素を代表して抽出し、その画素の階調値の平均をＲＧＢそれぞれについて計算し、得られた平均値を当該グレーパッチ９１の実際の読取階調値とする。
【００６０】
以上の処理により、０番から１５番までの１６個のグレーパッチ９１について、かつＲＧＢ成分のそれぞれについて、実際の読取階調値ｘiと目標階調値ｙiの組（ｘi，ｙi）を得ることができる。
【００６１】
次に、Ｓ１０３〜Ｓ１０７の処理により、上記の（ｘi，ｙi）の関係を近似する曲線関数（補正関数）を、ＲＧＢの色成分それぞれについて求める。この曲線関数の算出は、具体的には以下のように行う。
【００６２】
即ち、まず、ＲＧＢの色成分で共通である入力値切片の候補ｃ0，ｃ1，ｃ2，・・・，ｃnを予め複数定めておき、ＡＳＩＣ等が備える適宜の記憶部等に記憶しておく。なお、入力値切片とは、曲線関数ｙ＝ｆ（ｘ）において出力値ｙがゼロを保持する入力値ｘの範囲の上限値である。即ち、本実施形態で定められる曲線関数は、入力値ｘがゼロのときは出力値ｙもゼロであり、入力値ｘをゼロから増大していったとしても、入力値ｘが所定の値（上限値）ｃ以下であるときは出力値ｙがゼロを保持するようになっている。入力値切片ｃとは、そのときの所定の上限値である。
【００６３】
そして、ＲＧＢ成分のそれぞれについて、かつ、上記のように定められている複数の入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnのそれぞれについて、当該入力値切片候補を入力値切片とする曲線関数候補を最小二乗法により求める。そして、求めた曲線関数候補で前記（ｘi，ｙi）の関係を近似した場合の乖離度（本実施形態においては、誤差の二乗和）を計算する。以上がＳ１０３〜Ｓ１０５の処理である（Ｒ成分についてＳ１０３、Ｇ成分についてＳ１０４、Ｂ成分についてＳ１０５）。
【００６４】
続いて、前記（ｘi，ｙi）の関係を曲線関数候補で近似した場合の乖離度（誤差の二乗和）をＲＧＢ成分で合計したものが最小となる入力値切片候補を求め（Ｓ１０６）、得られた入力値切片候補に対応する曲線関数候補を曲線関数として採用する（補正関数取得ステップ、Ｓ１０７）。
【００６５】
以下、Ｒ成分について、曲線関数候補を求めて当該候補による近似精度を評価する処理（Ｓ１０３）について、具体的に説明する。
【００６６】
テストチャート９０のｉ番目のグレーパッチ９１を読み取ったときのＲ成分読取値（パッチ階調値取得部８２が取得したＲ成分の読取階調値）がｘiであり、当該グレーパッチ９１におけるＲ成分の目標階調値がｙiであった場合を考える。グレーパッチの番号が０番からｍ番までだった場合、Ｒ成分についての（ｘi，ｙi）のデータの組は（ｍ＋１）個得られる。なお、図４のテストチャート９０の場合、グレーパッチ９１の最大の番号は１５であるので、ｍ＝１５になる。
【００６７】
そして、この（ｍ＋１）個の（ｘi，ｙi）のデータ（ｉ＝０，１，２，・・・，ｍ）を、図５の式（１）で示すような曲線関数（累乗関数）で近似する場合を考える。この式（１）における入力値切片ｃjは、ｃ0からｃnまでの（ｎ＋１）通りの候補が与えられ、本実施形態では、それぞれの切片の候補について曲線関数候補を求めている。なお、曲線関数候補を求めるとは、式（１）に示す曲線関数候補のパラメータａj，ｂjを求めることを意味する。
【００６８】
本実施形態では、以下のような考え方によって、前記パラメータａj，ｂjを算出している。即ち、最初に式（１）の下側の式に対し、式（２）に示す変数ｔiを導入して変形する。この結果、式（１）は式（３）のように、ｙiとｔiの簡単な関係に置き換えることができる。そして、この式（３）の自然対数をとると式（４）のようになり、更に式を簡単化するために式（５）の関係をそれぞれ代入することで、式（６）のように表現することができる。
【００６９】
上述したように、本実施形態では、各曲線関数候補を最小二乗法によって求める。ここで、自然対数は単調増加関数であるため、ｌｎ（Ｐ）とｌｎ（Ｑ）との差Δが最小となるとき、ＰとＱの差δも最小となる。従って、本実施形態では、データ（ｘi，ｙi）のそれぞれについて自然対数をとり、自然対数間の誤差Δの二乗和が最小となるａj，ｂjを求めることで、累乗関数による最小二乗近似を簡単な計算で実現している。
【００７０】
具体的には、以下の考え方で計算が行われる。即ち、データ（ｘi，ｙi）のそれぞれに対応する（Ｔi，Ｙｉ）を式（２）及び式（５）に基づいて計算し、この（Ｔi，Ｙｉ）を式（６）で近似する。このとき、その誤差Δの二乗和は図５の式（７）で与えられる。
【００７１】
この式（７）においてＡ，ｂを変数としたときに、当該式（７）が極値を有すると考えると、式（７）の値が最小となるときは、当該式（７）を各変数について偏微分したものをゼロとおくことで、式（８）、式（９）が同時に成り立つ。この式（８）及び式（９）を行列式の形でまとめて整理し、式（５）の関係を適用して変数を元に戻したものが、図６のＳ２０７に示されている。そして、ｂj及びｌｎ（ａj）は、この行列式において左辺のｂj，ｌｎ（ａj）に乗じられる行列の逆行列を計算することで求めることができる。
【００７２】
上記の計算は、図６から図７に示すサブルーチンを実行する過程で行われるものであり、以下、このフローを詳細に説明する。このサブルーチンは、図３のメインルーチンのＳ１０３〜Ｓ１０５から共通で呼出し可能なサブルーチンとして構成されている。
【００７３】
以下、メインルーチンのＳ１０３から呼び出された場合（即ち、ＲＧＢの色成分のうちＲ成分について処理する場合）の当該サブルーチンの処理について説明する。図６のフローが開始されると、最初にループ変数ｊの値がゼロに初期化され（Ｓ２０１）、続いてループ変数ｉの値がゼロに初期化される（Ｓ２０２）。なお、このループ変数の名前は図５の式（１）に対応しており、ｉはグレーパッチ９１の番号、ｊは入力値切片候補の番号を意味する。
【００７４】
次に、ループ変数ｉの値を０からｍになるまで１ずつ増やしていきながら、Ｒ成分に関する実際の読取階調値ｘiと目標階調値ｙiについて、ｌｎ（ｔi），｛ｌｎ（ｔi）｝2，ｌｎ（ｙi），ｌｎ（ｔi）ｌｎ（ｙi）をそれぞれ計算し、適宜の記憶部に記憶する（Ｓ２０３〜Ｓ２０５）。これにより、グレーパッチ９１のそれぞれについて、目標階調値ｙiの自然対数等、後述の計算に必要な値を得ることができる。続いて、上記の計算結果を利用して、Ｓ２０７の行列式を解くのに必要な所定の合計値をそれぞれ計算する（Ｓ２０６）。
【００７５】
そして、前述の最小二乗法の方程式を行列計算により解くことで、ｌｎ（ａj），ｂjの値をそれぞれ求め（Ｓ２０７）、更にａjの値を計算する（Ｓ２０８）。以上により、Ｒ成分について、１つの入力値切片候補ｃjに対応する曲線関数候補のパラメータａj，ｂjを求めることができる。こうして得られたパラメータａj，ｂjは、適宜の記憶部に保存される。
【００７６】
本サブルーチンでは、次に、パラメータａj，ｂj及び入力値切片候補ｃjによって定義された曲線関数候補で、Ｒ成分のデータ（ｘi，ｙi）を近似したときの誤差の二乗和を求める（図７のＳ２０９〜Ｓ２１２）。
【００７７】
具体的には、ループ変数ｉの値をゼロに初期化するとともに（Ｓ２０９）、当該ループ変数ｉの値を０からｍまで１ずつ増やしていきながら、ｉ番目のグレーパッチ９１に関する目標階調値ｙiと、当該グレーパッチ９１の実際の読取階調値ｘiを曲線関数候補に入力したときの出力値と、の誤差の二乗（δi,j2）をそれぞれ計算し、適宜の記憶部に記憶する（Ｓ２１０〜Ｓ２１２）。その後、各グレーパッチについて計算した誤差の二乗を合計し、得られた値ＳjをＲＡＭに記憶する（Ｓ２１３）。以上により、Ｓ２０２〜Ｓ２０８の処理で求められたＲ成分の曲線関数候補でデータを近似した場合における、Ｒ成分の誤差の二乗和Ｓjを求めることができる。こうして得られた二乗和Ｓjの値は、適宜の記憶部に保存される。
【００７８】
次に、ループ変数ｊの値を１増加させ（Ｓ２１４）、ｊの値がｎ（即ち、入力値切片候補の最大番号）を上回らない場合はＳ２０２に戻る。この反復により、ループ変数ｊの値を０からｎまで１ずつ増やしながら、ｊ番目の入力値切片候補ｃjについてＲ成分の曲線関数候補（パラメータａj，ｂj）を求めるとともに、当該曲線関数候補を用いて近似した場合の誤差の二乗和Ｓjを求めることができる。上記の反復処理が完了すると、図３のメインルーチンに戻る。
【００７９】
次に、Ｇ成分について、入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnに対応する曲線関数候補と、その誤差の二乗和Ｓjをそれぞれ計算する処理が行われる（Ｓ１０４）。また、Ｂ成分について、入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnに対応する曲線関数候補と、その誤差の二乗和Ｓjをそれぞれ計算する処理が行われる（Ｓ１０５）。
【００８０】
上記のＧ成分、Ｂ成分の処理は、Ｒ成分の処理（Ｓ１０３）で呼び出した共通のサブルーチン（図６〜図７）を再び呼び出すことにより行う。ただし、Ｓ１０３〜Ｓ１０５のうちどの処理から呼び出される場合においても、当該サブルーチンにおいて用いられる入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnのそれぞれは変化しない。以上に説明したＳ１０３〜Ｓ１０５の処理により、入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnのそれぞれについて、かつＲＧＢ成分それぞれについて、曲線関数候補と、当該曲線関数候補で近似した場合の誤差の二乗和を取得することができる。
【００８１】
以上に説明した曲線関数候補を取得して誤差を計算する考え方について、図８を参照して説明する。この図８においては、ＲＧＢ成分それぞれについてグラフが描かれるとともに、複数のグレーパッチ９１を読み取ったときのＲＧＢ各成分における実際の読取階調値と目標階調値の組（ｘi，ｙi）がそれぞれプロットされている。そして、ＲＧＢの色成分のそれぞれにつき、ｊ＝０，ｊ＝１，ｊ＝２の３通りの曲線関数候補が例示されている。
【００８２】
この３通りの曲線関数候補は、何れも最小二乗法によって求められたものである。実際の読取階調値と目標階調値のデータ（ｘi，ｙi）はＲＧＢ各成分で異なるので、それを近似する曲線関数候補もＲＧＢの各成分で異なることになる。
【００８３】
ただし、その入力値切片に着目すると、ｊ＝０，ｊ＝１，ｊ＝２のどの場合においても、曲線関数候補の切片値はＲＧＢの各成分間で一致している。具体的には、ｊ＝０のときの曲線関数候補は入力値切片ｃ0を有しており、この切片ｃ0の値はＲＧＢの各グラフで等しい値となっている。ｊ＝１のときの入力値切片ｃ1、ｊ＝２のときの入力値切片ｃ2についても、同様にＲＧＢの色成分間で一致している。これにより、どの曲線関数候補が曲線関数として採用された場合でも、当該曲線関数が有する入力値切片ｃは、ＲＧＢの色成分間で共通の値に揃えられることになる。この結果、特に低輝度階調の色味を忠実に再現できるような階調補正が実現でき、画質の良好な読取画像を得ることができる。
【００８４】
以上のようにして曲線関数候補と誤差の二乗和を求めた後は、入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnについて、求められた誤差の二乗和ＳjのＲＧＢでの合計Ｔjを求め、当該合計値が最小となるｊ（即ち、ＲＧＢを総合的に考慮した場合に曲線関数候補の乖離度が最も小さくなる入力値切片候補の番号）を求める（図３のＳ１０６）。
【００８５】
この処理は、具体的には、図９に示すサブルーチンがＳ１０６から呼び出されることによって実現される。このフローを説明すると、最初にループ変数ｊの値が０に初期化される（Ｓ３０１）。次に、ｊの値を０からｎになるまで１ずつ増やしていきながら、ｊ番目の入力値切片候補ｃjを用いた場合の誤差の二乗和ＳjのＲＧＢ総計値Ｔjを求め、得られた総計値Ｔjを適宜の記憶部に記憶する（Ｓ３０２〜Ｓ３０４）。この反復処理により、ｊ＝０，１，２，・・・，ｎのそれぞれの場合について、誤差の二乗和のＲＧＢ総計値Ｔjが求められる。次に、Ｔjの値同士を比較することにより、Ｔjが最小値となるｊを求める（Ｓ３０５）。
【００８６】
以上の集計及び比較処理により、（ｎ＋１）個の入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnのうち、ＲＧＢの色成分全体を総合的に考慮したときにデータ近似の精度が最も良いものを採用することができる。最良の近似精度を与える入力値切片候補の値ｃjは、上記のＳ３０５の処理で、前記補正関数パラメータ記憶部８７に記憶される。この記憶された入力値切片の値は、実際に階調補正で使用される曲線関数（補正関数）の入力値切片ｃとして使用される。Ｓ３０５の処理が完了すると、当該サブルーチンが終了する。
【００８７】
次に、メインルーチン（図３）のＳ１０７において、データ近似の精度が最も良いとして定められた入力値切片候補ｃjに対応する曲線関数候補のパラメータａj，ｂjを、補正関数パラメータ記憶部８７に記憶する。このパラメータは、実際に階調補正で使用される曲線関数のパラメータａ，ｂとして使用される。以上で、キャリブレーション処理のメインルーチンが終了する。
【００８８】
次に、上記のキャリブレーション処理が完了した後の通常の原稿読取処理について、図１０を参照して説明する。図１０のメインフローが開始されると、イメージスキャナ装置１０１の制御部は、原稿の読取開始がユーザから指示されるのを待機する（Ｓ４０１）。ユーザが所望の読取原稿をイメージスキャナ装置１０１にセットし、操作パネル等によって読取開始の指示がされると、Ｒ成分についての階調補正テーブルが生成される（Ｓ４０２）。
【００８９】
この階調補正テーブルの生成処理には、図１１の式（１０）に示す曲線関数が使用される。なお、この曲線関数における入力値切片ｃ及びパラメータａ，ｂとしては、図３のキャリブレーション処理において最良の近似精度を有するものとして決定された入力値切片候補、及び当該候補に対応する曲線関数候補のパラメータが用いられることは言うまでもない。また、入力値切片ｃとしてはＲＧＢで共通の値が用いられる一方、他のパラメータａ，ｂはＲＧＢの色成分それぞれで個別の値が用いられることも前述したとおりである。
【００９０】
また、本実施形態では、スキャナユニット２１から出力される読取階調値がＲＧＢ各８ビットとなっているので、その実際の読取階調値（入力値）としては、０から２５５の整数が想定される。従って、本実施形態では、ｘi＝ｉであり、ｐは２５５（即ち、ｘi＝０，１，２，・・・，２５５）となるように設定される。
【００９１】
更に、出力可能な読取階調値としては所定の範囲があり、式（１０）においてはその点が考慮されている。本実施形態のイメージスキャナ装置１０１はカラー画像をＲＧＢ各８ビットで出力する構成となっており、この場合、読取階調値は、ＲＧＢ成分それぞれについて０から２５５までの範囲に制限される。従って、式（１０）に示す上限値ｑは２５５に設定される。
【００９２】
Ｒ成分についての階調補正テーブルの生成処理は、具体的には、Ｓ４０２から図１２に示すサブルーチンが呼び出されることによって行われる。以下、図１２のサブルーチンを詳細に説明する。このサブルーチンは、図１０のメインルーチンのＳ４０２〜Ｓ４０４から共通で呼出し可能なサブルーチンとして構成されている。
【００９３】
以下、メインルーチンのＳ４０２から呼び出された場合（即ち、読取階調値のＲ成分についての階調補正テーブルを生成する場合）の当該サブルーチンの処理について説明する。図１２のフローが開始されると、最初にループ変数ｉの値がゼロに初期化される（Ｓ５０１）。
【００９４】
次に、読取階調値ｘiと、曲線関数（補正関数）の入力値切片ｃとが比較される（Ｓ５０２）。読取階調値ｘiが曲線関数の入力値切片ｃ以下である場合は、当該読取階調値ｘiに対応する出力値ｙiとして０を保存する（Ｓ５０３）。
【００９５】
読取階調値ｘiが曲線関数の入力値切片ｃを上回る場合は、図１１の式（１０）に示される曲線関数の下側の式にｘiを当てはめた場合の値ｖを計算する（Ｓ５０４）。そして、得られた値ｖが出力上限値ｑより大きいか否かが調べられる（Ｓ５０５）。この比較の結果、計算値ｖが出力上限値ｑを上回っていた場合は、当該読取階調値ｘiに対応する出力値ｙiとして前記出力上限値ｑが保存される（Ｓ５０６）。一方、計算値ｖが出力上限値ｑ以下だった場合は、当該読取階調値ｘiに対応する出力値ｙiとして当該計算値ｖが保存される（Ｓ５０７）。
【００９６】
その後、ループ変数ｉの値に１が加算され（Ｓ５０８）、Ｓ５０９の判断でループ変数ｉの値が読取階調値の個数ｐを上回ると判定されるまで、Ｓ５０２〜Ｓ５０８の処理が反復される。ループ変数ｉの値が読取階調値の個数ｐを上回ると判定された場合、当該サブルーチンは終了する。
【００９７】
以上の処理により、Ｒ成分について、元の値（入力値）ｘiと階調補正後の値（出力値）ｙiの組を保存した階調補正テーブルが生成される。生成された階調補正テーブルの内容は、階調補正テーブル記憶部４５に記憶される。
【００９８】
次に、メインルーチン（図１０）のＳ４０３が実行され、Ｇ成分についての階調補正テーブルが生成される。この処理はＳ４０２と同様に図１２のサブルーチンを呼び出すものであるので、詳細な説明は省略する。更に、Ｂ成分についても、同様に階調補正テーブルが生成される（Ｓ４０４）。以上により、ＲＧＢの色成分のそれぞれについて階調補正テーブルが生成され、階調補正テーブル記憶部４５に記憶される。
【００９９】
その後、スキャナユニット２１で実際に原稿を読み取り、スキャナユニット２１から出力された画像データのＲＧＢの階調値が、階調補正テーブルに基づいて補正される（Ｓ４０５）。
【０１００】
このように、本実施形態において前記階調補正テーブルの元となる曲線関数（補正関数）は、ＲＧＢの各色成分で共通の入力値切片ｃを有しているので、画像の特に低輝度階調の部分を、グレーバランスを含めて忠実に再現することができる。また、低輝度階調のグレーパッチ９１の数を特に増加させなくても、良好なキャリブレーションを得ることができる。更には、一般的にスキャナユニット２１の階調再現性は入力に対して指数的な出力特性となっているが、本実施形態では滑らかな曲線関数を用いて当該出力特性を近似しているので、グレーパッチの数が少ない場合でもスキャナユニット２１の特性を精度良く考慮した階調補正を行うことができる。
【０１０１】
階調補正後の読取画像はイメージメモリ６６に保存された後、符号変換部６９による符号化、ＰＣへの送信等の処理が行われる。その後、制御部はＳ４０１に戻り、次の原稿読取指示を待機する。
【０１０２】
以上に説明したように、本実施形態のイメージスキャナ装置１０１は、スキャナユニット２１と、パッチ階調値取得部８２と、補正関数取得部８３と、階調補正部４６と、を備える。スキャナユニット２１は、原稿を読取可能である。パッチ階調値取得部８２は、階調を異ならせた複数のグレーパッチ９１を有するテストチャート９０のグレーパッチ９１を読み取ったＲＧＢの各成分における読取階調値を求める。補正関数取得部８３は、グレーパッチ９１について定められているＲＧＢの各成分の目標階調値と、前記読取階調値と、に基づいて、前記読取階調値を入力とし前記目標階調値を出力として入出力の関係を近似する曲線関数をＲＧＢの各成分について求める。階調補正部４６は、スキャナユニット２１によって原稿を読み取った画像（各画素のＲＧＢ階調値）を、前記曲線関数に基づいた階調補正テーブルを参照して補正する。そして、補正関数取得部８３は、ＲＧＢの各成分についての前記曲線関数を、前記出力値がゼロを保持する前記入力値の範囲の上限値としての入力値切片ｃがＲＧＢ間で等しくなるように定める。
【０１０３】
これにより、ＲＧＢの各成分についての曲線関数の入力値切片ｃがＲＧＢで共通となっているので、画像の低輝度階調の部分を、特にグレーバランスに関して忠実に再現することができる。また、特に低輝度階調の部分でグレーパッチ９１の数を増加させなくても、良好なキャリブレーションを得ることができる。更には、滑らかな曲線関数によってスキャナユニット２１の曲線的な出力特性を精度良く補正することができるので、グレーパッチ９１の数が少ない場合でも良好な階調補正を行うことができる。
【０１０４】
また、本実施形態のイメージスキャナ装置１０１において、補正関数取得部８３は、曲線関数候補取得部８４と、乖離度取得部８５と、曲線関数決定部８６と、を備える。曲線関数候補取得部８４は、複数の入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnのそれぞれについて、当該入力値切片候補を入力値切片とする曲線関数候補をＲＧＢの各成分について求める。乖離度取得部８５は、複数の入力値切片候補ｃ0，ｃ1，ｃ2，・・・，ｃnのそれぞれについて、グレーパッチ９１の読取階調値と目標階調値との関係を曲線関数候補で近似した場合の乖離度をＲＧＢの各成分について求める。曲線関数決定部８６は、ＲＧＢ総合での前記乖離度が最も小さくなる入力値切片候補を選択し、当該入力値切片候補に対応する曲線関数候補を前記曲線関数として決定する。
【０１０５】
これにより、ＲＧＢの入力値切片を一致させつつ、ＲＧＢの色成分を総合的に考慮して、最良の近似精度を与える曲線関数を得ることができる。この結果、読取画像の画質を一層向上させることができる。また、本実施形態のように曲線関数として累乗関数を用いた場合でも、低輝度階調部分の再現性を考慮した近似式を求めることができる。
【０１０６】
また、本実施形態のイメージスキャナ装置１０１において、乖離度取得部８５は、グレーパッチ９１についての読取階調値を曲線関数候補に入力したときの出力値と、グレーパッチについての目標階調値と、の誤差の二乗和を前記乖離度として求めている。
【０１０７】
これにより、グレーパッチ９１を読み取って得られたデータに対する曲線関数候補の近似精度を適切に計算して定めることができるので、最適な入力値切片候補（曲線関数）を確実に選択でき、原稿を忠実に再現した読取画像を得ることができる。
【０１０８】
また、本実施形態のイメージスキャナ装置１０１において、曲線関数候補取得部８４は、グレーパッチ９１についてパッチ階調値取得部８２で求められた読取階調値と、当該グレーパッチ９１についての目標階調値と、に基づいて、前記曲線関数候補を最小二乗法によって求めている。
【０１０９】
これにより、精度の良好な曲線関数を得ることができるので、原稿を忠実に再現した読取画像を得ることができる。
【０１１０】
なお、曲線関数候補の出力値と目標階調値の乖離度は、ＲＧＢ成分のうち予め任意に選択された１つの成分（以下、特定カラー成分と称する）だけについて求めるようにすることもできる。以下、この変形例について説明する。なお、この変形例のイメージスキャナ装置の機能ブロックは前述の実施形態と同様に表現することができるので、以下、図２の符号を使用して説明する。
【０１１１】
本変形例のイメージスキャナ装置は補正関数取得部８３を備え、この補正関数取得部８３は、曲線関数候補取得部８４と、乖離度取得部８５と、曲線関数決定部８６と、を備える。
【０１１２】
曲線関数候補取得部８４は、ＲＧＢ成分のうち例えばＧ成分（特定カラー成分）だけについて、入力値切片候補ｃ0，ｃ1，ｃ2，・・・のそれぞれに対応する曲線関数候補を最小二乗近似によって求める。この曲線関数候補は、上述の実施形態と同様に累乗関数とされている。乖離度取得部８５は、得られたＧ成分の曲線関数候補のそれぞれについて、当該曲線関数候補の出力値と目標階調値のＧ成分との乖離度（例えば、誤差の二乗和）を計算する。
【０１１３】
曲線関数決定部８６は、計算された乖離度が最小となる入力値切片候補を選択し、この入力値切片候補に対応する曲線関数候補をＧ成分についての曲線関数として決定する。また、曲線関数決定部８６は、Ｇ成分以外（Ｒ成分及びＢ成分）の曲線関数については、Ｇ成分について決定された曲線関数の入力値切片と同じ入力値切片（選択された入力値切片候補）を有するように、例えば最小二乗近似で求める。
【０１１４】
この変形例によれば、ＲＧＢ総合でみたときの曲線関数の近似精度をある程度維持しながら、曲線関数の計算処理を前述の実施形態よりも簡単にすることができる。
【０１１５】
以上に示すように、本変形例のイメージスキャナ装置は曲線関数決定部８６を備える。曲線関数決定部８６は、ＲＧＢ成分のうち何れか１つの成分（Ｇ成分）に関して曲線関数を決定する。また、曲線関数決定部８６は、決定された曲線関数の入力値切片を入力値切片とするように、Ｒ成分及びＢ成分についての曲線関数を求める。
【０１１６】
これにより、入力値切片同士がＲＧＢで一致している曲線関数を、簡単な計算処理で得ることができる。
【０１１７】
また、本変形例におけるイメージスキャナ装置において、曲線関数候補取得部８４は、複数の入力値切片候補ｃ0，ｃ1，ｃ2，・・・のそれぞれについて、当該入力値切片候補ｃ0，ｃ1，ｃ2，・・・を入力値切片とする曲線関数候補を、ＲＧＢ成分のうち何れか１つの成分（Ｇ成分）に関して求める。乖離度取得部８５は、複数の入力値切片候補ｃ0，ｃ1，ｃ2，・・・のそれぞれについて、パッチの読取階調値と目標階調値との関係を曲線関数候補で近似した場合の乖離度をＧ成分について求める。曲線関数決定部８６は、乖離度が最も小さくなる入力値切片候補を選択し、当該入力値切片候補に対応する曲線関数候補をＧ成分についての前記曲線関数として決定する。また、曲線関数決定部８６は、この選択された入力値切片候補を入力値切片とするように、Ｇ成分以外のカラー成分（Ｒ成分、Ｂ成分）についての曲線関数を求める。
【０１１８】
これにより、Ｇ成分については最良の近似精度を与える曲線関数を得ることができる。また、ＲＧＢの色成分を総合的に考慮した場合でも、入力値切片同士がＲＧＢで一致している良好な色再現性（グレーバランス等）の曲線関数を、簡単な計算処理で得ることができる。
【０１１９】
以上に本発明の好適な実施形態を説明したが、上記の構成は例えば以下のように変更することができる。
【０１２０】
上記実施形態では、曲線関数（補正関数）を求めた後に当該曲線関数に基づいてルックアップテーブルとしての階調補正テーブルが作成され、この階調補正テーブルに基づいて階調補正部４６が読取画像を補正するように構成されている。ただし、上記階調補正テーブルによらず、曲線関数を直接用いて読取画像を補正するように構成しても良い。
【０１２１】
ユーザが原稿を読み取るときに、画像の明るさ及びコントラスト等を調整できるように構成しても良い。この場合、曲線関数のパラメータをユーザの指示に応じて若干修正した上で階調補正テーブルを作成し、当該階調補正テーブルに従って読取画像を補正するようにすれば良い。
【０１２２】
また、階調補正テーブルは、上記実施形態に示すように原稿読取のスタート時に生成することに代えて、図３のキャリブレーション処理時に生成するように変更することができる。
【０１２３】
補正曲線関数候補による補正値と目標階調値との誤差δi,j2（近似精度の評価値）は、図７のＳ２１０の式で計算することに代えて、図１３の式（１０）又は式（１１）で示す式で求めるように変更することができる。図１３の式（１０）によれば、目標階調値ｙiの大きさを考慮して近似精度を評価することができ、式（１１）によれば、読取階調値ｘiの大きさを考慮して近似精度を評価することができる。
【０１２４】
図７のＳ２１３において、誤差の二乗和を乖離度として計算することに代えて、例えば図１３の式（１２）で定義される乖離度を計算するように変更することができる。この乖離度Ｓjは、目標階調値ｙiをその加算平均ｙAVEで近似した場合の誤差の二乗和に対する、目標階調値ｙiを曲線関数候補の出力値で近似した場合の誤差の二乗和の比を求め、その比を１から減じたものである。
【０１２５】
曲線関数候補の出力値と目標階調値の乖離度は、図３のようにＲＧＢ成分毎に求めてそれを総計することに代えて、ＲＧＢ総合での乖離度を当初から計算するように変更することができる。
【０１２６】
補正関数は、曲線関数である限り、その形式は限定されない。例えば、図１１の式（１０）に示すような累乗関数に代えて、高次の多項式関数を用いて近似する構成に変更することができる。図１４の式（１３）は、（ｍ＋１）個の（ｘi，ｙi）のデータ（ｉ＝０，１，２，・・・，ｍ）を、ｋ次の多項式関数で近似する場合を示している。この式で近似した場合の誤差δの二乗和は式（１４）で与えられ、この式（１４）を各変数ａk，ａk-1，・・・について偏微分したものをゼロとおくことで、式（１５）に示された連立方程式を得ることができる。そして、この連立方程式を行列により解くことで、曲線関数のパラメータａk，ａk-1，・・・ａ1を得ることができる。
【０１２７】
なお、上記のように多項式関数を用いる場合であっても、前述の累乗関数近似と同様に、ｃ0からｃnまでの（ｎ＋１）通りの入力値切片候補ｃjのそれぞれについてパラメータａk，ａk-1，・・・ａ1を計算した上で、得られた曲線関数候補について乖離度を計算して曲線関数を決定する必要がある。
【０１２８】
読取センサ２８は、原稿の画像情報をＲＧＢの３色に色分解して読み取る構成に代えて、他のカラー表現用の色成分（例えばＣＭＹの３色）に色分解して読み取る構成に変更することができる。
【０１２９】
テストチャート９０のパッチは、グレーパッチ９１に代えて灰色以外のパッチとすることもできる。
【０１３０】
上記実施形態及び変形例の構成は、単体のイメージスキャナ装置１０１に限定されず、例えばカラー画像を形成可能な画像形成部と組み合わせたコピー機や複合機等に適用することができる。この場合、前記テストチャート９０は当該画像形成部で印刷したものを用いることもできる。その場合でも上記実施形態と同様に、特に低輝度階調での再現性（グレーバランス）に優れたキャリブレーションを実現することができる。
【図面の簡単な説明】
【０１３１】
【図１】本発明の一実施形態に係るイメージスキャナ装置の全体的な構成を示す正面断面図。
【図２】イメージスキャナ装置の電気的構成を示すブロック図。
【図３】イメージスキャナ装置のキャリブレーション処理のメインフローを示すフローチャート。
【図４】キャリブレーション用のテストチャートを示す図。
【図５】読取階調値と目標階調値との関係を近似する曲線関数（累乗関数）を求める際に使用される数式を示す図。
【図６】入力値切片候補に対応する曲線関数候補のパラメータを求める処理を示すフローチャート。
【図７】求められた曲線関数候補について誤差の二乗和を求める処理を示すフローチャート。
【図８】複数の入力値切片候補と、それに基づいて求められた曲線関数候補と、をＲＧＢの色成分それぞれについて概念的に示す説明図。
【図９】複数の入力値切片候補から、曲線関数候補によるデータ近似の精度が最も良好なものを選択する処理を示すフローチャート。
【図１０】イメージスキャナ装置が原稿を読み取って画像情報を得る処理を示すフローチャート。
【図１１】階調補正テーブルを作成する場合に用いられる数式を示す図。
【図１２】階調補正テーブルの生成処理を示すフローチャート。
【図１３】各種計算式の変形例を示す図。
【図１４】曲線関数を多項式関数とする変形例において、当該曲線関数を求める際に使用される数式を示す図。
【符号の説明】
【０１３２】
２１  スキャナユニット（読取部）
４６  階調補正部（補正部）
８２  パッチ階調値取得部
８３  補正関数取得部
８４  曲線関数候補取得部
８５  乖離度取得部
８６  曲線関数決定部
９０  テストチャート（キャリブレーション用原稿）
９１  グレーパッチ（パッチ）
１０１  イメージスキャナ装置（画像読取装置）
【図１】
2010135970.tif 000003
【図２】
2010135970.tif 000004
【図３】
2010135970.tif 000005
【図４】
2010135970.tif 000006
【図５】
2010135970.tif 000007
【図６】
2010135970.tif 000008
【図７】
2010135970.tif 000009
【図８】
2010135970.tif 000010
【図９】
2010135970.tif 000011
【図１０】
2010135970.tif 000012
【図１１】
2010135970.tif 000013
【図１２】
2010135970.tif 000014
【図１３】
2010135970.tif 000015
【図１４】
2010135970.tif 000016