(57)【要約】【課題】白基準データや黒基準データを、限られたビット数の（ビット精度が低い）データで表す場合でも、精度よくシェーディング補正を行う技術を提供する。【解決手段】白基準データを用いてシェーディング補正を行う画像処理装置５０は、白基準データの元データを、所定のビット数で表される値としてメモリーに格納することにより、白基準データを生成する白基準データ生成手段（補正用データ生成部１３１）、を備え、白基準データ生成手段は、元データの値（例えば、最小値、最大値など）に応じたビット精度の白基準データを生成する。【選択図】図１
2010226615.tif 000002
【特許請求の範囲】
【請求項１】
白基準データを用いてシェーディング補正を行う画像処理装置であって、
白基準データの元データを取得する取得手段と、
前記取得手段が取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成手段と、を備え、
前記白基準データ生成手段は、
前記元データの最小値に応じてビット精度を定め、定めたビット精度の白基準データを生成する、
ことを特徴とする画像処理装置。
【請求項２】
白基準データを用いてシェーディング補正を行う画像処理装置であって、
白基準データの元データを取得する取得手段と、
前記取得手段が取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成手段と、を備え、
前記白基準データ生成手段は、
前記元データの最小値と最大値の差に応じてビット精度を定め、定めたビット精度の白基準データを生成する、
ことを特徴とする画像処理装置。
【請求項３】
白基準データを用いてシェーディング補正を行う画像処理装置であって、
白基準データの元データを取得する取得手段と、
前記取得手段が取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成手段と、を備え、
前記白基準データ生成手段は、
前記元データが欠陥画素のデータである場合には、当該元データから、前記所定のビット数で表され、かつ、欠陥画素のデータであることを示す値からなる白基準データを生成する、
ことを特徴とする画像処理装置。
【請求項４】
白基準データを用いてシェーディング補正を行う画像処理方法であって、
白基準データの元データを取得する取得ステップと、
前記取得ステップで取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成ステップと、を有し、
前記白基準データ生成ステップでは、
前記元データの最小値に応じてビット精度を定め、定めたビット精度の白基準データを生成する、
ことを特徴とする画像処理方法。
【請求項５】
白基準データを用いてシェーディング補正を行う画像処理方法であって、
白基準データの元データを取得する取得ステップと、
前記取得ステップで取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成ステップと、を有し、
前記白基準データ生成ステップでは、
前記元データの最小値と最大値の差に応じてビット精度を定め、定めたビット精度の白基準データを生成する、
ことを特徴とする画像処理方法。
【請求項６】
白基準データを用いてシェーディング補正を行う画像処理方法であって、
白基準データの元データを取得する取得ステップと、
前記取得ストップで取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成ステップと、を有し、
前記白基準データ生成ステップでは、
前記元データが欠陥画素のデータである場合には、当該元データから、前記所定のビット数で表され、かつ、欠陥画素のデータであることを示す値からなる白基準データを生成する、
ことを特徴とする画像処理方法。
【請求項７】
コンピューターを、白基準データを用いてシェーディング補正を行う画像処理装置として機能させるプログラムであって、
白基準データの元データを取得する取得ステップと、
前記取得ステップで取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成ステップと、を前記コンピューターに実行させ、
前記白基準データ生成ステップでは、
前記元データの最小値に応じてビット精度を定め、定めたビット精度の白基準データを生成する、
ことを特徴とするプログラム。
【請求項８】
コンピューターを、白基準データを用いてシェーディング補正を行う画像処理装置として機能させるプログラムであって、
白基準データの元データを取得する取得ステップと、
前記取得ステップで取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成ステップと、を前記コンピューターに実行させ、
前記白基準データ生成ステップでは、
前記元データの最小値と最大値の差に応じてビット精度を定め、定めたビット精度の白基準データを生成する、
ことを特徴とするプログラム。
【請求項９】
コンピューターを、白基準データを用いてシェーディング補正を行う画像処理装置として機能させるプログラムであって、
白基準データの元データを取得する取得ステップと、
前記取得ステップで取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成ステップと、を前記コンピューターに実行させ、
前記白基準データ生成ステップでは、
前記元データが欠陥画素のデータである場合には、当該元データから、前記所定のビット数で表され、かつ、欠陥画素のデータであることを示す値からなる白基準データを生成する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および、プログラムに関する。
【背景技術】
【０００２】
スキャナ装置などの画像処理装置では、光源ランプの光量不均一性や画像読取素子の感度バラツキ等による読取画像のムラを防止するために、原稿の読み取りに先立ち、シェーディング補正を行うものがある（例えば、特許文献１）。シェーディング補正では、量子化された白基準データや黒基準データなどが用いられる。
【０００３】
量子化データは、ビット数が多いほど細かく表現でき、精度が上がる。したがって、ビット数の多い（すなわち、ビット精度の高い）白基準データや黒基準データを用いれば、精度良くシェーディング補正を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２６２０８５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、メモリー帯域の狭い画像処理装置では、ビット数の多いデータを高速に処理できないため、白基準データや黒基準データなどのビット精度を低下させて、シェーディング補正を行う場合がある。このような場合であっても、なるべく精度良くシェーディング補正を行うことが望まれている。
【０００６】
本発明は、上記課題を解決するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本願発明は、白基準データを用いてシェーディング補正を行う画像処理装置であって、白基準データの元データを取得する取得手段と、前記取得手段が取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成手段と、を備え、前記白基準データ生成手段は、前記元データの最小値に応じてビット精度を定め、定めたビット精度の白基準データを生成する。
【０００８】
また、本願発明は、白基準データを用いてシェーディング補正を行う画像処理装置であって、白基準データの元データを取得する取得手段と、前記取得手段が取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成手段と、を備え、前記白基準データ生成手段は、前記元データの最小値と最大値の差に応じてビット精度を定め、定めたビット精度の白基準データを生成する。
【０００９】
また、本願発明は、白基準データを用いてシェーディング補正を行う画像処理装置であって、白基準データの元データを取得する取得手段と、前記取得手段が取得した前記元データから、所定のビット数で表される白基準データを生成する白基準データ生成手段と、を備え、前記白基準データ生成手段は、前記元データが欠陥画素のデータである場合には、当該元データから、前記所定のビット数で表され、かつ、欠陥画素のデータであることを示す値からなる白基準データを生成する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置の概略構成図である。
【図２】１ライン分の読取データの輝度値を、画素ごとに示すグラフである。
【図３】（Ａ）は、本発明の実施形態に係る読取データについての概略データ構造の一例を示す図である。（Ｂ）は、本発明の実施形態に係る補正用データについての概略データ構造の一例を示す図である。
【図４】従来の画像処理装置における読取データ、補正用データについての概略データ構造の一例を示す図である。
【図５】（Ａ）は、条件１を満たす場合における白基準データの生成方法を説明するための図である。（Ｂ）は、条件１を満たす場合におけるオフセット変換について説明するための図である。
【図６】（Ａ）は、条件２を満たす場合における白基準データの生成方法を説明するための図である。（Ｂ）は、条件２を満たす場合におけるオフセット変換について説明するための図である。
【図７】補正用データ生成処理を説明するためのフローチャートである。
【図８】シェーディング補正処理を説明するためのフローチャートである。
【図９】条件２−１を満たす場合における白基準データの生成方法を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態の一例を図面を参照して説明する。
【００１２】
図１は、本発明の実施形態が適用された画像処理装置５０の概略構成図を示す。
【００１３】
画像処理装置５０は、例えば、筐体の上面に原稿台（図示せず）を備えた、いわゆるフラットベット型のスキャナー装置である。画像処理装置５０は、イメージセンサー２２０を走査して、透明板の原稿台に載置された原稿の画像を読み取る。
【００１４】
画像処理装置５０は、図示するように、ＬＥＤ光源２１０及びイメージセンサー２２０を搭載したキャリッジ２００と、キャリッジ２００の移動を制御する駆動機構３００と、画像処理装置５０の全体を制御し、画像を読み取るための種々の処理を行う制御部１００と、を備えている。
【００１５】
また、画像処理装置５０は、一般的なシェーディング補正を行うために使用する白基準データを生成するための機構を有している。例えば、画像処理装置５０は、白基準データを生成するための機構として、不図示の、反射率の高い均一な反射面である白基準板を備えている。また、一般的なシェーディング補正には黒基準データも使用されるが、画像処理装置５０は、黒基準データを生成するための特別な機構を備える必要はない。黒基準データを生成する場合、画像処理装置５０は、例えば、ＬＥＤ光源２１０を消灯させた状態で読取動作を行い、黒基準データを生成する。
【００１６】
キャリッジ２００は、イメージセンサー２２０を、ＬＥＤ光源２１０とともに副走査方向に運搬する。キャリッジ２００は、原稿台の盤面に対し平行なガイド用のシャフト等にスライド自在に係止されており、駆動機構３００のモーターにより回転するベルトにより牽引される。
【００１７】
ＬＥＤ光源２１０は、赤色ＬＥＤ、緑色ＬＥＤ、青色ＬＥＤからなり、ＲＧＢの３色の光を所定の順序で発生する。例えば、ＬＥＤ光源２１０は、白基準板の１ライン分の読み取りを行う場合には、赤色ＬＥＤ、緑色ＬＥＤ、青色ＬＥＤの順に光を発生する。そして、白基準板の全ライン分（白基準板の幅）を読み取るために、同様の発光動作を繰り返す。
【００１８】
イメージセンサー２２０は、原稿や白基準板の読取信号（ＲＧＢ各色の輝度値を示すアナログデータ）を、制御部１００に出力する。具体的には、イメージセンサー２２０は、原稿や白基準板などに反射した光を受光し、受光量に応じて蓄積された電荷を電圧として読み出し、制御部１００に出力する。
【００１９】
制御部１００は、イメージセンサー２２０から出力されたアナログデータ（読取信号）をデジタルデータ（読取データ）に変換するＡ／Ｄ変換部１１０と、Ａ／Ｄ変換部１１０から出力された原稿の読取データ（以下では、「画像データ」とよぶ）に対してシェーディング補正を行うデータ補正処理部１３０と、データ補正処理部１３０がシェーディング補正に使用する補正用データ（白基準データ、黒基準データ）などを記憶する記憶部１４０と、シェーディング補正済みの画像データをパーソナルコンピューターなどのホストに送るための出力部１５０と、制御部１００内の機能部を全体的に制御するとともに、キャリッジ２００及び駆動機構３００を制御する読取制御部１２０と、を備えている。
【００２０】
読取制御部１２０は、駆動機構３００のモーターの回転を制御することにより、キャリッジ２００の移動を制御する。また、読取制御部１２０は、イメージセンサー２２０における、画像読取動作、白基準データ生成のための読取動作、黒基準データ生成のための読取動作、を制御する。また、読取制御部１２０は、イメージセンサー２２０の読取動作に合わせて、ＬＥＤ光源２１０の点灯、消灯を制御する。
【００２１】
Ａ／Ｄ変換部１１０は、イメージセンサー２２０から出力されたアナログデータ（読取信号）を、所定のビット数Ｌ（例えば、１６ビット）のデジタルデータ（読取データ）に変換し、データ補正処理部１３０に出力する。
【００２２】
図２は、１ライン分の各読取データが示す輝度値を、画素位置ごとに示すグラフである。横軸を画素位置Ｘとし、縦軸を輝度値Ｙとする。なお、便宜上、縦軸の輝度値Ｙを１０進数で表わしているが、Ａ／Ｄ変換部１１０が実際にデータ補正処理部１３０に出力する輝度値は、色ごとに所定のビット数Ｌが割り当てられている２進数のデジタルデータである。
【００２３】
なお、以下では、白基準データ生成のための読取動作においてＡ／Ｄ変換部１１０が出力する読取データ（白基準データの元データ）を、白基準用読取データＷＳとよぶ。また、黒基準データ生成のための読取動作においてＡ／Ｄ変換部１１０が出力する読取データ（白基準データの元データ）を、黒基準用読取データＢＳとよぶ。
【００２４】
そして、図２には、白基準用読取データ（ＲＧＢのうちいずれかの色についての輝度値）ＷＳと、黒基準データの元データである黒基準用読取データ（ＲＧＢのうちいずれかの色についての輝度値）ＢＳの一例が示されている。図示するように、１ライン分の白基準用読取データＷＳ及び黒基準用読取データＢＳは、画素（画素位置Ｘ）によって少し異なる（ムラがある）。
【００２５】
次に、図示する例を参照して、Ａ／Ｄ変換部１１０が色ごとの読取信号（アナログデータ）を、読取データ（デジタルデータ）に変換する動作について説明する。Ａ／Ｄ変換部１１０は、イメージセンサー２２０から出力された読取信号が、例えば「２２０．８３６（１０進数で表現）」の輝度値を示す信号である場合には、読取信号を１６ビットの白基準用読取データ「１１０１１１００．１１０１０１１０」ＷＳに変換して出力する。なお、図示する例では、小数点以上と小数点以下に、それぞれ８ビット割り当てている。また、同様に、イメージセンサー２２０から出力された読取信号が例えば「３．１６８（１０進数で表現）」の輝度値を示す信号である場合には、Ａ／Ｄ変換部１１０は、読取信号を１６ビットの黒基準用読取データ「００００００１１．００１０１０１１」ＢＳに変換して出力する。
【００２６】
図１に戻り、データ補正処理部１３０は、補正用データ生成部１３１と、シェーディング補正部１３２と、を備える。
【００２７】
補正用データ生成部１３１は、Ａ／Ｄ変換部１１０から出力された読取データ（白基準用読取データＷＳ、黒基準用読取データＢＳ）に基づいて、シェーディング補正に使用する補正用データ（白基準データ、黒基準データを含む）を生成する。
【００２８】
図３（Ａ）は、Ａ／Ｄ変換部１１０から出力される読取データ（白基準用読取データＷＳと黒基準用読取データＢＳ）についての概略データ構造の一例を示す図である。なお、図３（Ａ）に示す１色分の読取データ（白基準用読取データＷＳと黒基準用読取データＢＳ）には、１６ビット割り当てられている。また、図示する黒点は、小数点の位置を示す。
【００２９】
また、図３（Ｂ）は、補正用データ生成部１３１が生成する補正用データについての概略データ構造の一例を示す図である。
【００３０】
以下に、図示する例を参照して、補正用データ生成部１３１が補正用データを生成する処理（以下では、「補正用データ生成処理」とよぶ）について具体的に説明する。
【００３１】
補正用データ生成部１３１は、Ａ／Ｄ変換部１１０から所定ビット数Ｌ（図示する例では１６ビット）の白基準用読取データＷＳを受け付ける（取得する）と、情報量を抑えるために、白基準用読取データＷＳのビット精度を低下させる（ビット数を減らす）。具体的には、補正用データ生成部１３１は、ＷＳから一部のビット列（所定ビット数ＷＬ）を抽出する。なお、ここで抽出するビット列は、ＷＳのビット列において所定位置のビット列であり、図示する例では、斜線部分の下位６ビットを切り捨て、上位１０ビットを残している。以下では、ビット精度を低下させた後の所定ビット数ＷＬ（図示する例では上位１０ビット）のビット列を、白基準データとよぶ。
【００３２】
また、補正用データ生成部１３１は、Ａ／Ｄ変換部１１０から所定ビットＬ（図示する例では１６ビット）の黒基準用読取データＢＳを受け付けると、情報量を抑えるために、黒基準用読取データＢＳのビット精度を低下させる（ビット数を減らす）。具体的には、補正用データ生成部１３１は、ＢＳから一部のビット列（所定ビット数ＢＬ）を抽出する。なお、ここで抽出するビット列は、ＢＳのビット列において所定位置のビット列であり、図示する例では、斜線部分の上位４ビット及び下位６ビットを切り捨て、残りの６ビットを残す。以下では、ビット精度を低下させた後の所定ビット数ＢＬ（図示する例では６ビット）のビット列を、黒基準データとよぶ。
【００３３】
なお、白基準データ、黒基準データは、検出する色（Ｒ、Ｇ、Ｂなど）ごとに生成される。
【００３４】
また、図示する例において、白基準データ（１０ビット）に比べ、黒基準データに割り当てているビット数（６ビット）を少なくしているのは、黒基準データの輝度値はＲＧＢのどの色でも小さい値（黒を示す「Ｒ＝０」、「Ｇ＝０」、「Ｂ＝０」に近い値）となるため、小数点以上に多くのビットを割り当てても有効利用できないからである。
【００３５】
そして、補正用データ生成部１３１は、白基準用読取データＷＳから抽出した白基準データと、黒基準用読取データＢＳから抽出した黒基準データを合成して、補正用データを生成する。従って、白基準データに所定ビット数ＷＬ、黒基準データに所定ビット数ＢＬ割り当てる場合には、補正用データの合計ビット数はＷＬ＋ＢＬとなる。図示する例では、白基準データに１０ビット、黒基準データに６ビット割り当てているため、補正用データの合計ビット数は１６ビットとなる。なお、補正用データは、同一画素、同一色についての白基準データと黒基準データが合成されて生成されるものとする。
【００３６】
また、補正用データ生成部１３１は、読取データ（白基準用読取データＷＳ、黒基準用読取データＢＳ）が欠陥画素のデータであるか否か判定することができる。そして、補正用データ生成部１３１は、読取データが欠陥画素のデータであると判定した場合には、欠陥画素のデータであることを示す所定値の補正用データを生成する。例えば、補正用データ生成部１３１は、読取データが欠陥画素のデータであると判定した場合には、白基準データと黒基準データの全ビットを「０」（或いは「１」）に変更した補正用データを生成する。
【００３７】
すなわち、補正用データ生成部１３１は、読取データが欠陥画素のデータである場合には、所定値の補正用データを生成し、それ以外の場合（読取データが非欠陥画素のデータである場合）には、読取データから抽出した白基準データと黒基準データを合成して補正用データを生成する。
【００３８】
ところで、図４は、従来の画像処理装置において生成される読取データ、補正用データについての概略データ構造の一例を示す図である。
【００３９】
図示するように、従来では、欠陥画素のデータであるか否かを示す１ビット（以下では、「欠陥画素識別ビット」とよぶ）が、補正用データに割り当てられていた。例えば、読取データが欠陥画素のデータであると判定された場合には、欠陥画素識別ビットを「１」とする補正用データが生成され、読取データが非欠陥画素のデータであると判定された場合には、欠陥画素識別ビットを「０」とする補正用データが生成されていた。そのため、本願と同ビット数Ｌ（図示する例では１６ビット）の補正用データを生成しようとすると、欠陥画素識別ビットに割り当てたビット数分、白基準データ又は黒基準データのビット精度をさらに低下させる必要があった（図示する例では、本願の白基準データ：１０ビット精度、従来の白基準データ：９ビット精度）。
【００４０】
これに対して、本願の画像処理装置５０は、補正用データに欠陥画素識別ビットを設ける代わりに、欠陥画素のデータである場合に限り所定値の補正用データを生成するため、同ビット数Ｌの補正用データを生成する場合においては、従来よりもビット精度の高い白基準データ又は黒基準データを生成することができる。
【００４１】
また、補正用データ生成部１３１は、所定の条件を満たしているか否かに応じてビット精度の異なる白基準データを生成する。
【００４２】
＜条件１＞
例えば、補正用データ生成部１３１は、条件１「１ライン分（或いは複数ライン分）の画素Ｘについての白基準用読取データＷＳ［Ｘ］の最小値が、階調範囲における中間値（図２に示す例では１２８）以上」を満たしている場合には、さらに１ビット精度高い白基準データを生成する。
【００４３】
図５（Ａ）は、条件１を満たす場合における白基準データの生成方法を説明するための図である。図５（Ａ）に示す１色分の白基準用読取データＷＳには、１６ビット割り当てられている。また、図示する黒点は、小数点の位置を示す。
【００４４】
図示するように、条件１を満たしている場合には、白基準用読取データＷＳの最上位ビットは必ず「１」となる。そこで、条件１を満たしている場合には、生成する白基準データのビット精度を、１ビット分高いビット精度に定める。具体的には、補正用データ生成部１３１は、白基準データとして抽出する所定位置のビット列（所定ビット数ＷＬ）を右（下位）に１ビットシフトする。そして、補正用データ生成部１３１は、階調範囲における中間値（或いは、最上位ビットの値だけでもよい）をオフセット値（基準値）としてシェーディング補正部１３２に通知する。なお、オフセット値には、白基準データのビット数ＷＬに１ビット加えた（ＷＬ＋１）ビット（例えば１１ビット）の「１０００００００．０００」が用いられる。そして、補正用データ生成部１３１は、ＷＳから抽出した白基準データと、ＢＳから抽出した黒基準データと、を合成して補正用データを生成する。
【００４５】
以上のように補正用データを生成しておくことより、後のシェーディング補正において、ビット精度が１ビット分高い白基準データ（合計ＷＬ＋１ビット）を使用することができるようになる。
【００４６】
＜条件２＞
また、例えば、補正用データ生成部１３１は、条件２「１ライン分（或いは複数ライン分）の画素Ｘについての白基準用読取データＷＳ［Ｘ］の最大値−最小値が、階調幅の１／２に相当する値（図２に示す例では１２８）未満」を満たしている場合には、さらに１ビット精度高い白基準データを生成する。
【００４７】
図６（Ａ）は、条件２を満たす場合における白基準データの生成方法を説明するための図である。図６（Ａ）に示す１色分の黒基準用読取データＢＳには、１６ビット割り当てられている。また、図示する黒点は、小数点の位置を示す。
【００４８】
図示するように、条件２を満たしている場合には、白基準用読取データＷＳ［Ｘ］の最小値をオフセット値とすれば、小数点以上を１ビット減らして表現可能（図示する例では７ビットで表現可能）となる。そこで、条件２を満たしている場合には、生成する白基準データのビット精度を、１ビット分高いビット精度に定める。具体的には、補正用データ生成部１３１は、白基準用読取データＷＳから、ＷＳの最小値を減算する。そうすると、ＷＳの最上位ビットは必ず「０」となるため、白基準データとして抽出する所定位置のビット列（所定ビット数ＷＬ）を右（下位）に１ビットシフトする。そして、補正用データ生成部１３１は、白基準用読取データＷＳ［Ｘ］の最小値をオフセット値としてシェーディング補正部１３２に通知する。なお、オフセット値には、白基準データのビット数ＷＬに１ビット加えた（ＷＬ＋１）ビット（例えば下位５ビットを切り捨てた１１ビット）の最小値「ｘｘｘｘｘｘｘｘ．ｘｘｘ」が用いられる。また、補正用データ生成部１３１は、ＷＳから抽出した白基準データと、ＢＳから抽出した黒基準データと、を合成して補正用データを生成する。
【００４９】
以上のように補正用データを生成しておくことより、後のシェーディング補正において、ビット精度が１ビット分高い白基準データ（合計ＷＬ＋１ビット）を使用することができるようになる。
【００５０】
図１に戻り、シェーディング補正部１３２について説明する。
【００５１】
シェーディング補正部１３２は、補正用データ生成部１３１が生成した補正用データを使用して、画像データに対してシェーディング補正を施す。そして、シェーディング補正部１３２は、シェーディング補正済みの画像データを出力部１５０に出力する。なお、以下では、シェーディング補正部１３２が行う処理を「シェーディング補正処理」とよぶ。
【００５２】
また、シェーディング補正部１３２は、補正用データ生成部１３１からオフセット値が通知されている場合には、補正用データに含まれている白基準データをオフセット変換する。
【００５３】
図５（Ｂ）は、条件１を満たす場合におけるオフセット変換について説明するための図である。また、図６（Ｂ）は、条件２を満たす場合におけるオフセット変換について説明するための図である。
【００５４】
それぞれに図示するように、条件１、条件２のどちらの条件を満たす場合であっても、シェーディング補正部１３２は、補正用データ生成部１３１から通知されたオフセット値（ＷＬ＋１ビット）と、補正用データ生成部１３１が白基準用読取データＷＳから抽出した白基準データ（ＷＬビット）と、を加算する（オフセット変換）。
【００５５】
そして、シェーディング補正部１３２は、オフセット変換後の白基準データと、補正用データに含まれる黒基準データなどを使用して、シェーディング補正を行う。
【００５６】
図１に戻り、記憶部１４０は、データ補正処理部１３０がシェーディング補正に使用するデータを記憶する。具体的には、記憶部１４０は、補正用データ生成部１３１が生成した補正用データ（白基準データ、黒基準データ）を記憶する補正用データＤＢ（データベース）１４１を有する。また、記憶部１４０は、不図示の、補正前の画像データを記憶する画像データＤＢを有する。
【００５７】
出力部１５０は、ネットワーク接続やＵＳＢ接続を行うためのインターフェイスを備え、データ補正処理部１３０から出力されたシェーディング補正後の画像データを、ホストコンピューターに送信する。
【００５８】
本実施形態が適用された画像処理装置５０は、以上のような構成からなる。ただし、画像処理装置５０の構成はこれに限定されない。例えば、画像処理装置５０は、複合機、コピー機、などとして機能するための他の構成を有していてもよい。
【００５９】
そして、制御部１００の主な構成要素は、主制御装置であるＣＰＵと、プログラム等が記憶されたＲＯＭと、メインメモリーとしてデータ等を一時的に格納するＲＡＭと、ホスト等との入出力を制御するインターフェイスと、各構成要素間の通信経路となるシステムバスと、を備えた一般的なコンピューターにより達成することができる。なお、各処理を専用に行うように設計されたＡＳＩＣ（Application Specific Integrated Circuit）で構成されていてもよい。Ａ／Ｄ変換部１１０は、アナログフロントエンドＩＣ（Integrated Circuit）で構成することができる。
【００６０】
また、上記した各構成要素は、画像処理装置５０の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。画像処理装置５０の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００６１】
＜補正用データ生成処理＞
次に、上記構成からなる画像処理装置５０の特徴的な動作について説明する。図７は、画像処理装置５０が行う「補正用データ生成処理」を説明するためのフローチャートである。
【００６２】
まず、読取制御部１２０は、原稿の読み取りに先だって、白基準データを生成するための読取動作、黒基準データを生成するための読取動作、を行う（ステップＳ１０１）。
【００６３】
例えば、白基準データを生成するための読取動作では、読取制御部１２０は、駆動機構３００を制御することによりキャリッジ２００を所定の読取位置に移動させる。そして、ＬＥＤ光源２１０を点灯させて、白基準板からの反射光をイメージセンサー２２０で受光させる。ここで、イメージセンサー２２０には、受光量に応じた電荷が画素単位で蓄積される。そして、読取制御部１２０は、イメージセンサー２２０に蓄積された電荷に基づく電気信号（アナログデータ）を、白基準板の読取信号として、Ａ／Ｄ変換部１１０に転送させる。
【００６４】
また、黒基準データを生成するための読取動作では、読取制御部１２０は、ＬＥＤ光源２１０を消灯させ、所定期間、イメージセンサー２２０で受光させる。そして、読取制御部１２０は、イメージセンサー２２０に蓄積された電荷に基づく電気信号（アナログデータ）を、黒基準データ生成用の読取信号として、Ａ／Ｄ変換部１１０に転送させる。
【００６５】
そして、Ａ／Ｄ変換部１１０は、イメージセンサー２００から出力された読取信号を、上述したように、色ごとに所定ビット数Ｌ（例えば、１６ビット）割り当てたデジタルデータ（白基準用読取データＷＳ、黒基準用読取データＢＳ）に変換してデータ補正処理部１３０に出力する。
【００６６】
データ補正処理部１３０の補正用データ生成部１３１は、Ａ／Ｄ変換部１１０から出力された読取データ（白基準用読取データＷＳ、黒基準用読取データＢＳ）を１ライン分（或いは、複数のライン分）受け付けると、処理をステップＳ１０２に移行する。
【００６７】
補正用データ生成部１３１は、ステップＳ１０１で受け付けた１ライン分の読取データ（或いは、複数ライン分の読取データ）について、所定の条件（上述した条件１、条件２など）を満たしているか否か判別する（ステップＳ１０２）。例えば、補正用データ生成部１３１は、１ライン分（或いは、複数ライン分）の画素Ｘについての白基準用読取データＷＳ［Ｘ］から、最小値と最大値を特定する。そして、特定した最小値が、所定の階調範囲における中間値以上である場合には、条件１を満たしていると判定する。また、補正用データ生成部１３１は、特定した最大値から最小値を差し引いた値（最大値−最小値）が、所定の階調幅の１／２に相当する値未満である場合には、条件２を満たしていると判定する。
【００６８】
補正用データ生成部１３１は、少なくとも１つの条件を満たしていると判定した場合には（ステップＳ１０２；Ｙｅｓ）、処理をステップＳ１０３に移行する。一方、いずれの条件も満たしていないと判定した場合には（ステップＳ１０２；Ｎｏ）、処理をステップＳ１０４に移行する。
【００６９】
処理がステップＳ１０３に移行すると、補正用データ生成部１３１は、さらにビット精度の高い白基準データを生成するために、白基準データ用のオフセット値を決定する（ステップＳ１０３）。例えば、補正用データ生成部１３１は、ステップＳ１０２において条件１を満たしていると判定した場合には、階調範囲における中間値をオフセット値として決定する。また、ステップＳ１０２において条件２を満たしていると判定した場合には、ステップＳ１０２で特定したＷＳの最小値をオフセット値として決定する。
【００７０】
その後、補正用データ生成部１３１は、決定したオフセット値をシェーディング補正部１３２に通知する。そして、補正用データ生成部１３１は、処理をステップＳ１０４に移行する。
【００７１】
処理がステップＳ１０４に移行すると、補正用データ生成部１３１は、各画素の色（ＲＧＢ）単位で以下のループ処理（ステップＳ１０４〜Ｓ１０８）を行う。
【００７２】
まず、補正用データ生成部１３１は、ステップＳ１０１で受け付けた読取データが、欠陥画素のデータであるか否か判別する（ステップＳ１０４）。ここで、欠陥画素のデータであるか否かの判別方法については、周知の方法を用いればよいが、例えば、読取データが、輝度値として利用できない値である場合や、隣接する他の画素の読取データとの対比によって不適当な値となる場合などに、欠陥画素のデータであると判定する。
【００７３】
補正用データ生成部１３１は、受け付けた読取データが欠陥画素のデータではないと判定した場合には（ステップＳ１０４；Ｎｏ）、処理をステップＳ１０６に移行する。一方、受け付けた読取データが欠陥画素のデータであると判定した場合には（ステップＳ１０４；Ｙｅｓ）、処理をステップＳ１０５に移行する。
【００７４】
ステップＳ１０５に処理が移行すると、補正用データ生成部１３１は、欠陥画素のデータであることを示す所定値の補正用データを生成する（ステップＳ１０５）。例えば、補正用データ生成部１３１は、上述したように、全ビットが「０」（或いは「１」）である補正用データを生成する。つまり、補正用データに１６ビット割り当てられている場合には、全１６ビットが「０」（或いは「１」）となる。
【００７５】
次に、補正用データ生成部１３１は、ステップＳ１０５で生成した補正用データを、記憶部１４０の補正用データＤＢ１４１に記憶する（ステップＳ１０７）。そして、補正用データ生成部１３１は、処理をステップＳ１０８に移行する。
【００７６】
一方、処理がステップＳ１０４からステップＳ１０６に移行すると、補正用データ生成部１３１は、ステップＳ１０１で受け付けた白基準用読取データＷＳと黒基準用読取データＢＳから、それぞれ、白基準データと黒基準データを抽出する（ステップＳ１０６）。
【００７７】
例えば、補正用データ生成部１３１は、ステップＳ１０２において条件１を満たしていると判定している場合には、図５（Ａ）に示すように、白基準用読取データＷＳから、所定位置のビット列（上位１０ビット）を右（下位）に１ビットシフトさせたビット列（上位１ビット及び下位５ビットを切り捨て、残ったビット列）を、白基準データとして抽出する。さらに、補正用データ生成部１３１は、図３（Ａ）に示すように、黒基準用読取データＢＳから、所定位置のビット列（上位４ビット及び下位６ビットを切り捨て、残ったビット列）を黒基準データとして抽出する。
【００７８】
また、補正用データ生成部１３１は、ステップＳ１０２において条件２を満たしていると判定している場合には、図６（Ａ）に示すように、白基準用読取データＷＳから、所定位置のビット列（上位１０ビット）を右（下位）に１ビットシフトさせたビット列（上位１ビット及び下位５ビットを切り捨て、残ったビット列）を、白基準データとして抽出する。さらに、補正用データ生成部１３１は、条件１の場合と同様に、黒基準用読取データＢＳから、所定位置のビット列（上位４ビット及び下位６ビットを切り捨て、残ったビット列）を黒基準データとして抽出する。
【００７９】
また、補正用データ生成部１３１は、ステップＳ１０２においていずれの条件も満たしていないと判定した場合（ステップＳ１０３の処理が行われていない場合）には、図３（Ａ）に示すように、白基準用読取データＷＳから、所定位置のビット列（下位６ビットを切り捨て、残ったビット列）を、白基準データとして抽出する。そして、補正用データ生成部１３１は、黒基準用読取データＢＳから、所定位置のビット列（上位４ビット及び下位６ビットを切り捨て、残ったビット列）を黒基準データとして抽出する。
【００８０】
次に、補正用データ生成部１３１は、ステップＳ１０６で抽出した白基準データと、黒基準データを合成して補正用データを生成し、生成した補正用データを、記憶部１４０の補正用データＤＢ１４１に記憶する（ステップＳ１０７）。そして、補正用データ生成部１３１は、処理をステップＳ１０８に移行する。
【００８１】
処理がステップＳ１０８に移行すると、補正用データ生成部１３１は、ステップＳ１０１で受け付けた読取データ（１ライン分）のうち、未処理の読取データがあるか否か判別する（ステップＳ１０８）。
【００８２】
補正用データ生成部１３１は、未処理の読取データがあると判別した場合には（ステップＳ１０８；Ｙｅｓ）、処理をステップＳ１０４に戻し、未処理の読取データについてステップＳ１０４〜Ｓ１０７の処理を行う。
【００８３】
一方、補正用データ生成部１３１は、未処理の読取データがないと判別した場合には（ステップＳ１０８；Ｎｏ）、補正用データ生成処理を終了する。
【００８４】
＜シェーディング補正処理＞
次に、シェーディング補正処理について説明する。図８は、画像処理装置５０で行われるシェーディング補正処理について説明するフローチャートである。
【００８５】
シェーディング補正部１３２は、例えば、ユーザーからシェーディング補正の要求を受け付けたタイミングや、画像データ（原稿の読取データ）が記憶部１４０に格納されたタイミングで、シェーディング補正処理を開始する。
【００８６】
シェーディング補正部１３２は、シェーディング補正処理を開始すると、まず、記憶部１４０の補正用データＤＢ１４１に格納されている補正用データを読み出す（ステップＳ３０１）。ここで、シェーディング補正部１３２は、１ライン分の補正用データを読み出してもよいし、１画素（或いは１色）分の補正用データを読み出してもよい。
【００８７】
次に、シェーディング補正部１３２は、ステップＳ３０１で読み出した補正用データ（色単位）について、オフセット設定がされているか否か判別する（ステップＳ３０２）。例えば、シェーディング補正部１３２は、補正用データ生成部１３１からステップＳ１０３でオフセット値が通知されているか否か判別する。そして、オフセット値が通知されている場合には、オフセット設定がされていると判定する。一方、オフセット値が通知されていない場合には、オフセット設定がされていないと判定する。
【００８８】
シェーディング補正部１３２は、オフセット設定がされていると判定した補正用データ（色単位）について（ステップＳ３０２；Ｙｅｓ）、処理をステップＳ３０３に移行し、オフセット変換を行う（ステップＳ３０３）。一方、オフセット設定がされていないと判定した補正用データについては（ステップＳ３０２；Ｎｏ）、オフセット変換を行わずステップＳ３０４に移行する。
【００８９】
ステップＳ３０３に処理が移行すると、シェーディング補正部１３２は、オフセット設定がされていると判定した補正用データについて、オフセット変換を行う（ステップＳ３０３）。具体的には、シェーディング補正部１３２は、補正用データに含まれている白基準データの値（所定数ビットＷＬ）と、ステップＳ１０３で補正用データ生成部１３１から通知されたオフセット値（ＷＬ＋１ビット）と、を加算する。これにより、所定数ビットＷＬの白基準データよりも１ビット分、ビット精度の高い白基準データが生成される。
【００９０】
ステップＳ３０４に処理が移行すると、シェーディング補正部１３２は、白基準データと黒基準データを使用して、シェーディング補正を行う（ステップＳ３０４）。具体的には、記憶部１４０から画像データを読み出し、読み出した画像データを構成する各画素に対応する白基準データ、黒基準データを使用してシェーディング補正を行う。
【００９１】
ここで、シェーディング補正部１３２は、ステップＳ３０３でオフセット変換されている白基準データについては、オフセット変換後の白基準データと、補正用データに含まれている黒基準データと、を使用してシェーディング補正を行う。また、オフセット変換されていない場合には、補正用データに含まれている白基準データと黒基準データを使用してシェーディング補正を行う。
【００９２】
ただし、シェーディング補正部１３２は、欠陥画素の補正用データについては、シェーディング補正を行わないようにする。例えば、シェーディング補正部１３２は、所定ビット数Ｌ（例えば、１６ビット）の補正用データの全ビットが「０」（或いは「１」）である場合には、当該補正用データに対応する画素を欠陥画素として特定し、当該画素についてはシェーディング補正を行わない。
【００９３】
シェーディング補正後、シェーディング補正部１３２は、欠陥画素として特定した画素の画像データについて補完処理を施す（ステップＳ３０５）。例えば、シェーディング補正部１３２は、欠陥画素に隣接する画素の画像データ（シェーディング補正後の画像データ）を用いて補完する。なお、ステップＳ３０５では、欠陥画素として特定していない画素の画像データについては、補完処理を施さない。
【００９４】
そして、シェーディング補正部１３２は、シェーディング補正、或いは、補完処理された画像データを、出力部１５０を介してホストに出力する（ステップＳ３０６）。
【００９５】
その後、シェーディング補正部１３２は、シェーディング補正処理を終了する。
【００９６】
以上の補正用データ生成処理（オフセット処理を含む）、シェーディング補正処理を、画像処理装置５０で行うことにより、補正用データに欠陥画素識別ビットを設ける場合と比較して、ビット精度の高い白基準データを生成することができる。
【００９７】
また、白基準用読取データＷＳ［Ｘ］が満たしている条件に応じて、なるべくビット精度の高い白基準データを生成することができる。例えば、白基準用読取データＷＳ［Ｘ］の最小値に応じてビット精度を定め、定めたビット精度の白基準データを生成することができる（条件１）。また、白基準用読取データＷＳ［Ｘ］の最大値と最小値の差に応じてビット精度を定め、定めたビット精度の白基準データを生成することができる（条件２）。
【００９８】
その結果、白基準データや黒基準データを、限られたビット数の（ビット精度が低い）データで表す場合でも、精度よくシェーディング補正を行うことができるようになる。
【００９９】
なお、本発明は、上記各実施形態に限定されず、種々の変形、応用が可能である。
【０１００】
＜条件２’＞
例えば、上記の条件２の応用として、条件２’「１ライン分（或いは複数ライン分）の画素Ｘについての白基準用読取データＷＳ［Ｘ］の最大値−最小値が、階調幅の１／４に相当する値（図２に示す例では６４）未満」を満たしている場合には、２ビット精度高い白基準データを生成するようにしてもよい。
【０１０１】
図９は、条件２’を満たす場合における白基準データの生成方法を説明するための図である。図９では、１画素における１色分の白基準用読取データＷＳに１６ビット割り当てている。また、図示する黒点は、小数点の位置を示す。
【０１０２】
図示するように、条件２’を満たしている場合には、白基準用読取データＷＳ［Ｘ］の最小値をオフセット値とすれば、小数点以上を２ビット減らして表現可能（図示する例では６ビットで表現可能）となる。そこで、条件２’を満たしている場合には、生成する白基準データのビット精度を、２ビット分高いビット精度に定める。具体的には、補正用データ生成部１３１は、白基準用読取データＷＳから、ＷＳの最小値を減算する。そうすると、ＷＳの上位２ビットは必ず「００」となるため、白基準データとして抽出する所定位置のビット列（所定ビット数ＷＬ）を右（下位）に２ビットシフトする。そして、補正用データ生成部１３１は、白基準用読取データＷＳ［Ｘ］の最小値をオフセット値としてシェーディング補正部１３２に通知する。なお、オフセット値には、白基準データのビット数ＷＬに２ビット加えた（ＷＬ＋２）ビット（例えば下位４ビットを切り捨てた１２ビット）の最小値「ｘｘｘｘｘｘｘｘ．ｘｘｘｘ」が用いられる。また、補正用データ生成部１３１は、ＷＳから抽出した白基準データと、ＢＳから抽出した黒基準データと、を合成して補正用データを生成する。
【０１０３】
以上のように補正用データを生成しておくことより、後のシェーディング補正において、ビット精度が２ビット分高い白基準データ（合計ＷＬ＋２ビット）を使用することができるようになる。
【０１０４】
ただし、本発明は、条件２、条件２’の条件に限定されず、補正用データ生成部１３１は、「１ライン分（複数ライン分）の画素Ｘについての白基準用読取データＷＳ［Ｘ］の最大値−最小値が、階調幅の１／２ｋに相当する値未満」を満たしている場合には、上記実施形態と同様の方法によって、ｋビット精度高い白基準データを生成するようにしてもよい。
【０１０５】
また、上記実施形態では、ステップＳ３０５において、画像データに対して補完処理を行うようにしている。しかし、補正用データに対して補完処理を施すようにしてもよい。また、補正データの値に応じて、補完処理の方法を変更するようにしてもよい。例えば、シェーディング補正部１３２は、補正用データの全ビットが「０」である場合には、シェーディング補正に先だって、補正用データに含まれている黒基準データに対して補完処理を施し、補完後の黒基準データを用いてシェーディング補正を行うようにする。そして、補正用データの全ビットが「１」である場合には、上記の通り、シェーディング補正後の画像データに対して補完処理を施すようにする。
【符号の説明】
【０１０６】
５０・・・画像処理装置、１００・・・制御部、１１０・・・Ａ／Ｄ変換部、１２０・・・読取制御部、１３０・・・データ補正処理部、１３１・・・補正用データ生成部、１３２・・・シェーディング補正部、１４０・・・記憶部、１４１・・・補正用データＤＢ、１５０・・・出力部、２００・・・キャリッジ、２１０・・・ＬＥＤ光源、２２０・・・イメージセンサー、３００・・・駆動機構。
【図１】
2010226615.tif 000003
【図２】
2010226615.tif 000004
【図３】
2010226615.tif 000005
【図４】
2010226615.tif 000006
【図５】
2010226615.tif 000007
【図６】
2010226615.tif 000008
【図７】
2010226615.tif 000009
【図８】
2010226615.tif 000010
【図９】
2010226615.tif 000011