以下、本発明の実施の形態に係る画像読取装置について、図面に基づき説明する。図1は、この画像読取装置1の構成例を示したブロック図である。画像読取装置1は、図示するように制御部(MPU:Microprocessing Unit)2、原稿読取部3、シェーディング補正部4、ライン補正メモリ5、色空間変換回路6、画像処理回路7、コーデック(CODEC:Coder and Decoder)8、画像メモリ9、記録部10、操作部11、表示部12、ROM(Read Only Memory)13、及びRAM(Random Access Memory)14を備えたものであって、各部2乃至14は、バス15によって通信可能に接続されている。
制御部2は、画像読取装置1の各部の動作を制御する。原稿読取部3は、原稿のカラー画像データ又はモノクロ画像データを読取るものであり、フラットベッド読取部(FBS:Flat Bed Scanner)17を備えている。図2は、このフラットベッド読取部17の構成を示した概略斜視図である。このフラットベッド読取部17は、図示するように、読取るべき原稿を載置するための透明な原稿載置板18と、載置された原稿に光を照射する光源(不図示)及び原稿からの反射光を所定の方向へ導くための反射ミラー(不図示)を備え且つ原稿載置板18に対して水平方向(副走査方向)に往復移動する走査キャリッジ19と、反射光を収束する集光レンズ20と、収束光を電気信号に変換して出力するカラーラインセンサ(CCD:Charge Coupled Device)21と、を備えてなる縮小光学系の画像読取ユニットである。
このフラットベッド読取部17の上方には、フラットベッド読取部17本体の上面奥に設けられた支持部22を軸として原稿載置板18に対して開閉可能な原稿押圧部材23が設けられており、図示していないが、この原稿押圧部材23には原稿トレイに載置された原稿を所定の搬送路に沿って搬送する自動原稿搬送装置(ADF:Automatic Document Feeder)が設けられている。また、この原稿押圧部材23には、自動原稿搬送装置によって搬送される原稿を透光板24に近接させるガイドとして、透光板24と対向する位置に白色テープを貼り付けられたり、白色に塗装されることにより白色に形成された白基準板(シェーディングプレート)25が設けられている。
原稿載置板18に原稿が載置されて原稿押圧部材23が閉じられた後、操作部11の所定操作により原稿の読取り開始命令があった場合に、走査キャリッジ19が原稿載置板18に対して図中の矢印で示すように水平に移動しながら原稿載置板18上の原稿を走査し、原稿からの反射光をカラーラインセンサ21へ導いて該カラーラインセンサ21がそれを結像することにより、原稿載置板18に載置された原稿の画像データが主走査ライン毎に読取られる。
自動原稿搬送装置の原稿トレイに原稿が載置された後、操作部11の所定操作により原稿の読取り開始命令があった場合に、走査キャリッジ19が透光板24の下方に固定された状態で前記自動原稿搬送装置によって搬送される原稿を前記透光板24の上方の所定の読取位置にて走査し、原稿からの反射光をカラーラインセンサ21へ導いて該カラーラインセンサ21がそれを結像することにより、自動原稿搬送装置によって搬送される原稿の画像データが主走査ライン毎に読取られる。
原稿読取部3は、図1に示すように、前記カラーラインセンサ21、AFE(Analog Front End)回路27、及びA/Dコンバータ28を備えている。カラーラインセンサ21は、複数の色成分のデータからなるカラー画像データを原稿から読取る読取手段として機能する。このカラーラインセンサ21は、図1には示していないが、R(Red)、G(Green)、B(Blue)の3つのラインセンサ21R、21G、及び21Bにより構成されており、ここではRGBの3つの色成分のデータからなるカラー画像データ、いわゆるRGB表色系(RGB color system)のカラー画像データを原稿から読取って所定の出力先に出力する。
なお、これらの3つのラインセンサ21R、21G、及び21Bは、所定ライン分の間隔を隔てて並設されているため、原稿読取部3からはそのラインギャップにより、ずれのある状態のRGBの各色成分のデータが線順次で出力され、その位置ずれは、ライン補正メモリ5により補正される。また、カラーラインセンサ21は原稿のカラー画像データを読取るためのものであるが、RGB3成分のうち例えばG成分のみをモノクロと見なして出力したり、又はカラーラインセンサ21を上記RGBの3つのラインセンサ21R、21G、及び21Bにモノクロ画像データを読取るラインセンサを加えた4ライン型のものとすることにより、原稿のモノクロ画像データを読取ることも当然可能である。このように、原稿読取部3は、原稿のカラー及びモノクロの双方の画像データを読取ることが可能であるが、本実施の形態では、カラー画像データを読取る場合について主に説明する。
AFE回路27は、カラーラインセンサ21が白基準板25の画像を読取って出力したRGBの各色成分のデータに基づいてゲイン設定値を取得し、読取られた原稿のカラー画像データに対してゲイン調整を行う。取得したRGBの各色成分のゲイン設定値は、AFE回路27が備えるレジスタ(不図示)に格納され、カラーラインセンサ21によって原稿のカラー画像データが読取られた場合、AFE回路27は、レジスタに格納されている各色成分のゲイン設定値に基づいて各色成分のデータを増幅する処理を行う。A/Dコンバータ28は、AFE回路27においてゲイン調整されたカラー画像データの各色成分のデータをA/D変換(Analog to Digital Conversion)する。
シェーディング補正部4は、原稿読取部3から出力された原稿のカラー画像データに対して、光量ムラや光学部品の影響、及びカラーラインセンサ21の画素感度のバラツキを補正するためにシェーディング補正を行うものであり、例えば、ASIC(Application Specific Integrated Circuit)等で構成されている。このシェーディング補正部4は、シェーディング補正回路29とシェーディングRAM(シェーディングメモリ)30を備えている。シェーディング補正回路29は、図3(a)に示すように、RGB表色系のカラー画像データのG成分のデータに対してシェーディング補正を行うシェーディング補正回路29G、R成分のデータに対してシェーディング補正を行うシェーディング補正回路29R、及びB成分のデータに対してシェーディング補正を行うシェーディング補正回路29B、から構成されている。
シェーディングRAM30は、カラーラインセンサ21が読取った原稿のカラー画像データに対してシェーディング補正回路29G、29R、及び29Bがシェーディング補正を行うために必要なデータを格納する。このシェーディングRAM30は、1の色成分のデータについてのシェーディングデータ、及び、該シェーディングデータの画素値とその他の色成分のデータについてのシェーディングデータの画素値の差分を画素値とした差分シェーディングデータ(以下、「差分データ」ともいう。)を格納する格納手段として機能する。ここでは、カラーラインセンサ21によってRGBの3つの色成分のデータからなるカラー画像データが読取られるため、シェーディングRAM30は、1の色成分のデータについてのシェーディングデータ、及び、該シェーディングデータの画素値とその他の色成分のデータについてのシェーディングデータの画素値の差分を画素値とした差分データを前記1の色成分とは異なる残りの2つの色成分のデータについて格納している。なお、シェーディングデータが格納される1の色成分のデータと差分データが格納される残りの2つの色成分のデータの組み合せは特に限定されるものではなく、本実施形態においては、シェーディングRAM30にG成分のデータについてのシェーディングデータ(G成分用シェーディングデータ)、R成分のデータ及びB成分のデータについて差分データ(R成分用差分データ及びB成分用差分データ)が格納される場合について説明する。
このシェーディングRAM30は、本実施の形態においては、図3の(b)に示すように、シェーディングデータ領域31、第1差分データ領域32、及び第2差分データ領域33の3つの領域に分割されている。シェーディングデータ領域31は、1の色成分のデータについてのシェーディングデータを格納する領域であり、複数の色成分のデータのうちのいずれか1つの色成分のデータのシェーディングデータを格納することができるだけのメモリ容量を備えた領域である。したがって、このシェーディングデータ領域31には、R成分、G成分、又はB成分用シェーディングデータのいずれのシェーディングデータであっても格納することができるが、本実施の形態においては、G成分用シェーディングデータが格納される場合について説明する。ここで、G成分用シェーディングデータは、ラインセンサ21Gが読取ったG成分のデータに対してシェーディング補正を行うために必要な1ライン(主走査ライン)のデータである。
なお、シェーディングデータ(ここでは、G成分用シェーディングデータ)は、カラーラインセンサ21が白基準板25の画像を読取って得た1ライン(主走査ライン)のデータであり、白補正データと黒補正データから構成されている。白補正データは、前記光源の点灯時にカラーラインセンサ21が白基準板25の画像を読取って得た1ラインのデータであり、黒補正データは、前記光源の消灯時にカラーラインセンサ21が白基準板25の画像を読取って得た1ラインのデータである。このように、白補正データと黒補正データから構成されるシェーディングデータがカラーラインセンサ21によって色成分毎に読取られるようになっており、読取られたR成分用シェーディングデータ、G成分用シェーディングデータ、及びB成分用シェーディングデータのうちのG成分用シェーディングデータが上記のようにシェーディングデータ領域31に格納される。
第1差分データ領域32及び第2差分データ領域33は、シェーディングデータ領域31に格納される1の色成分のデータについてのシェーディングデータの画素値とその他の色成分のデータについてのシェーディングデータの画素値の差分を画素値とした差分データ(差分シェーディングデータ)が格納される領域であり、ここでは、第1差分データ領域32にR成分用差分データが、第2差分データ領域33にB成分用差分データが格納されるようになっている。ここで、差分データは、具体的には、それぞれ1ラインの画素データから構成される2つの色成分のシェーディングデータの対応する各画素データについて、各々の画素値を比較し、一方の画素データの画素値から他方の画素データの画素値を差引くことによって得られた1ライン(主走査ライン)のデータである。
図4は、G成分用シェーディングデータ、R成分用シェーディングデータ、及びR成分用差分データの関係の一例を示した図であり、実線がG成分用シェーディングデータ、破線がR成分用シェーディングデータ、一点鎖線がR成分用差分データを示している。図示するように、R成分用差分データは、基準となるシェーディングデータであるG成分用シェーディングデータとR成分用シェーディングデータとの差に相当するデータであり、G成分の画素データの画素値からR成分の画素データの画素値を差引く演算処理を各々対応する画素データ毎に行って得られた1ライン分のデータである。また、B成分用差分データは、基準となるシェーディングデータであるG成分用シェーディングデータとB成分用シェーディングデータとの差に相当するデータであり、G成分の画素データの画素値からB成分の画素データの画素値を差引く演算処理を各々対応する画素データ毎に行って得られた1ライン分のデータである。
なお、各色成分のシェーディングデータは、上記のようにそれぞれ白補正データと黒補正データによって表されるものである。したがって、差分データは、2つの色成分のシェーディングデータの白補正データ同士の差をとったデータ(以下、「白差分データ」という。)と、黒補正データ同士の差をとったデータ(以下、「黒差分データ」という。)の2つのデータによって構成されている。また、後に詳細に説明するが、R成分用差分データとB成分用差分データのデータサイズは、1成分のシェーディングデータ(ここでは、G成分用シェーディングデータ)のデータサイズよりも少ないため、第1差分データ領域32及び第2差分データ領域33のメモリ容量は、シェーディングデータ領域31よりも少なくなっている。
前記シェーディング補正回路29は、カラーラインセンサ21が読取った複数の色成分のデータのうち、1の色成分のデータについてのシェーディングデータと差分データを用いて、その他の色成分のデータに対してシェーディング補正を行うシェーディング補正手段として機能する。なお、シェーディングRAM30に1の色成分のデータについてのシェーディングデータと残りの2つの色成分のデータについてのシェーディングデータが格納されているので、ここでは1の色成分についてのシェーディングデータと差分データを用いて、残りの2つの色成分のデータに対してそれぞれシェーディング補正を行う。
具体的には、ラインセンサ21Rが読取ったR成分のデータをシェーディング補正回路29Rにおいてシェーディングデータ領域31のG成分用シェーディングデータと第1差分データ領域32のR成分用差分データを用いてシェーディング補正し、ラインセンサ21Bが読取ったB成分のデータをシェーディング補正回路29Bにおいてシェーディングデータ領域31のG成分用シェーディングデータと第2差分データ領域33のB成分用差分データを用いてシェーディング補正する。なお、読取ったG成分のデータについては、シェーディングデータ領域31にシェーディングデータがそのまま格納されているので、ラインセンサ21Gが読取ったG成分のデータは、シェーディング補正回路29Gにおいてシェーディングデータ領域31のG成分用シェーディングデータを用いてシェーディング補正される。
ライン補正メモリ5は、原稿読取部3からずれのある状態で出力されたカラー画像データのRGBの各色成分のデータ間の位置ずれ補正を行うためのメモリであり、ここでは、R成分のデータとG成分のデータがこのライン補正メモリ5に一旦格納されてから所定のタイミングでそれぞれ出力されることにより、RGBの各色成分間の位置ずれが補正されたカラー画像データが所定の出力先に出力される。
色空間変換回路6は、ライン補正メモリ5によって位置ずれ補正されたRGB表色系のカラー画像データを、L*a*b*表色系のカラー画像データ又はYCrCb表色系のカラー画像データに色空間変換する。画像処理回路7は、色空間変換回路6が色空間変換したカラー画像データに対して、その画像を用紙に記録するために必要な画像処理を行うものであり、具体的には、γ補正、2値化処理、2値化処理されたカラー画像データを例えばC(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)等の画像を用紙に記録するための出力色に変換する色空間変換処理等を行う。
コーデック8は、原稿の画像データを符号化(エンコード)・復号(デコード)するものである。具体的には、原稿のカラー画像データをJPEG(Joint Photographic Experts Group)方式により符号化し、2値化処理された原稿の画像データをMH(Modified Huffman)、MR(Modified Read)、MMR(Modified Modified Read)、JBIG(Joint Bi-level Image Group)方式等により符号化し、符号化されている画像データを復号する。
画像メモリ9は、図示しないが、多値メモリ、二値メモリ、及び符号化メモリから構成されており、ライン補正メモリ5で位置ずれ補正されたカラー画像データ、色空間変換回路6で色空間変換されたカラー画像データ、コーデック8において符号化された画像データ等を格納する。記録部10は、画像メモリ9から読み出された画像データの画像を用紙に記録するものであって、画像データの画像をカラー及びモノクロの双方により記録することができるものである。この記録部10における記録方式としては、例えば、電子写真方式やインクジェット記録方式等の各種の記録方式を用いることができる。
操作部11は、図2に例示するように、原稿読取部3に原稿の読取り開始を指示するためのスタートキー34、コピー部数等を入力するためのテンキー35など、表示部12と連動した各種操作キーを備えている。表示部12は、各種の設定画面や画像読取装置1の動作状態などを文字や図形などで表示する液晶表示装置(LCD:Liquid Crystal Display)36や、点灯又は消灯で表示するLEDランプ37などを備えている。
ROM13は、制御部2によりこの画像読取装置1の各部の動作が制御されるための各種プログラムを格納している。RAM14は、画像読取装置1の処理動作に用いる設定情報や動作情報等の各種データを読み出し及び書込み可能な状態で格納している。また、このRAM14は、システムメモリ38を備えており、カラーラインセンサ21が白基準板25の画像を読取って取得したG成分用シェーディングデータ、R成分用シェーディングデータ、及びB成分用シェーディングデータは、シェーディングRAM30に一旦格納された後、システムメモリ38へと転送されて該システムメモリ38に格納される。制御部2は、このRGB3成分のシェーディングデータがシステムメモリ38に格納された後、RGB3成分のシェーディングデータに基づいてR成分用差分データ及びB成分用差分データを生成し、R成分用差分データを第1差分データ領域32に格納し、B成分用差分データを第2差分データ領域33に格納し、G成分用シェーディングデータをシェーディングデータ領域31に格納する処理を行う。
以下、上記のように構成された画像読取装置1において、原稿読取部3で白基準板25の画像が読取られてから、G成分用シェーディングデータ、R成分用差分データ、及びB成分用差分データがシェーディングRAM30に格納されるまでに、画像読取装置1において行われる処理動作について、図5及び図6に基づいて説明する。
原稿読取部3は、画像読取装置1の工場出荷時や、画像読取装置1の電源が投入(ON)された時や、原稿の読取り開始前等特に限定されないが、制御部2からシェーディングデータを取得するための所定の制御命令があった場合、図5に示すように、まず、カラーラインセンサ21によりRGB各色成分に対する白基準板25の1ライン(主走査ライン)の画像データを読取る。すなわち、R成分用シェーディングデータ、G成分用シェーディングデータ、及びB成分用シェーディングデータの3成分のシェーディングデータを各ラインセンサ21R、21G、及び21Bにより読取る。
カラーラインセンサ21によって読取られた各色成分のシェーディングデータは、原稿読取り時と同様に、RGBの各色成分毎に、AFE回路27においてゲイン調整された後、A/Dコンバータ28においてA/D変換される。その後、A/D変換されたRGB3成分のシェーディングデータは、シェーディング補正部4が備えるシェーディングRAM30に一旦格納された後、システムメモリ38へと転送される。ところで、シェーディングRAM30は、カラー画像データの色成分毎に、上記のようにシェーディングデータ領域31、第1差分データ領域32、及び第2差分データ領域33の3つの領域に分割されているが、この中で1ライン(主走査ライン)分のシェーディングデータを格納することができる領域は、シェーディングデータ領域31のみである。したがって、RGB各色成分のシェーディングデータは、ここでは図示していないが、セレクタによって選択的にシェーディングデータ領域31へと転送されて該シェーディングデータ領域31に一旦格納された後、各色成分毎にシステムメモリ38へ転送される。
具体的には、原稿読取部3は、まず、G成分用シェーディングデータをラインセンサ21Gにより読取り、読取ったG成分用シェーディングデータをAFE回路27Gにおいてゲイン調整し、ゲイン調整したG成分用シェーディングデータをA/Dコンバータ28GにおいてA/D変換し、これを一旦シェーディングRAM30のシェーディングデータ領域31に格納する。そして、制御部2は、シェーディングデータ領域31に格納されたG成分用シェーディングデータを該領域31から読み出してRAM14のシステムメモリ38へ転送する。このようにして、シェーディングデータ領域31に空き領域が確保された後に、R成分用シェーディングデータを同様に一旦シェーディングデータ領域31に格納してからシステムメモリ38へと転送する。そして、最後に、B成分用シェーディングデータについても同様にシェーディングデータ領域31に一旦格納してからシステムメモリ38へと転送する。なお、ここでは、RGB3成分のシェーディングデータをG、R、Bの順でシステムメモリ38へ転送する場合について説明したが、システムメモリ38へ各色成分のシェーディングデータを転送する順序はこれに限定されるものではなく、例えばB、R、Gの順でシステムメモリ38へ転送するようにしてもよい。
図6は、システムメモリ38に格納されたRGB3成分のシェーディングデータと、これらのシェーディングデータに基づいて生成された差分データ及び1成分のシェーディングデータを格納するシェーディングRAM30を例示した図である。図示するように、上記の処理によりシステムメモリ38にG成分用シェーディングデータ、R成分用シェーディングデータ、及びB成分用シェーディングデータが格納されると、制御部2は、これら3成分のシェーディングデータに基づいて、R成分用差分データ及びB成分用差分データを生成する。本実施形態においては、G成分用シェーディングデータを基準のシェーディングデータとして使用するため、図4に基づいて説明したように、この基準となるG成分用シェーディングデータからR成分用シェーディングデータを差引き、R成分用差分データ(差分値)を生成する。そして、これと同様に、基準となるG成分用シェーディングデータからB成分用シェーディングデータを差引き、B成分用差分データを生成する。
制御部2は、このようにして2つの色成分のデータについての差分データを生成した後に、生成したR成分用差分データとB成分用差分データ、及びG成分用シェーディングデータをシェーディングRAM30に転送し、該シェーディングRAM30に格納する。具体的には、シェーディングデータ領域31にG成分用シェーディングデータを格納し、第1差分データ領域32にR成分用差分データを格納し、第2差分データ領域33にB成分用差分データを格納する。なお、第1差分データ領域32と第2差分データ領域33は、同じ領域サイズに構成されているため、第1差分データ領域32にB成分用差分データを格納し、第2差分データ領域33にR成分用差分データを格納してもよい。
このようにして、カラーラインセンサ21によって白基準板25の画像が読取られた後、読取った原稿のカラー画像データに対してシェーディング補正を行うために必要なデータがシェーディングRAM30に格納される。なお、ここでは、シェーディングデータ領域31に一旦格納した各色成分のシェーディングデータをシステムメモリ38へと転送し、該システムメモリ38上で制御部2が差分データを生成する場合について説明したが、各色成分のシェーディングデータをシステムメモリ38へ転送することなく差分データを生成することも当然可能である。その場合、例えば2つの色成分のシェーディングデータが入力された場合に、一方のシェーディングデータを基準のシェーディングデータとしてもう一方のシェーディングデータを前記一方のシェーディングデータから差引いて差分データを出力する演算処理回路をA/Dコンバータ28の後段に設け、該演算処理回路から出力された差分データが第1差分データ領域32又は第2差分データ領域33に格納されるようにすればよい。
次に、原稿の読取り開始命令があった場合の画像読取装置1の各部の処理動作について説明する。図7は、カラーラインセンサ21が読取った原稿のカラー画像データの各色成分のデータのデータ転送の流れを示した図である。フラットベッド読取部17の原稿載置板18に原稿が載置されて原稿押圧部材23が閉じられた後、又は自動原稿搬送装置の原稿トレイに原稿が載置された後に、操作部11のスタートキー34が押下されることにより原稿の読取り開始命令があった場合、図示するように、カラーラインセンサ21を構成するラインセンサ21R、21G、及び21Bによって原稿のカラー画像データが主走査ライン毎に読取られる。このようにしてラインセンサ21Rによって読取られたR成分のデータは、AFE回路27R(27)へと転送され、該AFE回路27R(27)においてゲイン調整された後、A/Dコンバータ28R(28)においてA/D変換され、シェーディング補正回路29R(29)へと転送される。また、R成分のデータとともにカラー画像データを構成する残りのG成分のデータ及びB成分のデータについても同様に、各色成分毎に設けられたAFE回路27においてゲイン調整された後、A/Dコンバータ28においてA/D変換され、シェーディング補正回路29へと転送される。
ここで、上記のようにシェーディングRAM30には、G成分のデータについてのみシェーディングデータが格納されており、R成分及びB成分については差分データが格納されている。よって、シェーディングRAM30にシェーディングデータがそのまま格納されている色成分、すなわち、ここではG成分のデータに対してシェーディング補正を行うシェーディング補正回路29Gは、シェーディングデータ領域31からG成分用シェーディングデータを読み出し、それを用いて以下に示す数1の演算式に基づいてG成分のデータに対してシェーディング補正を行う。
ここで、V
INは、シェーディング補正回路29Gに入力されるG成分のデータ、V
OUTは、シェーディング補正回路29Gから出力されるシェーディング補正後のG成分のデータ、W
Gは、G成分用シェーディングデータの白補正データ、B
Gは、G成分用シェーディングデータの黒補正データである。また、2のビット幅乗は、ラインセンサ21Gにより読取られたG成分のデータの階調数を表しており、例えばG成分のデータが512階調で表されるものである場合には、2のビット幅乗がこれと等しいため、ビット幅は9となる。シェーディング補正回路29Gにおいて、これらの各データの画素値及びビット幅がこの数1の演算式の右辺に代入された演算処理がラインセンサ21Gにより読取られたG成分のデータに対して各画素データ毎に行われることにより、ラインセンサ21Gが読取ったG成分のデータに対してシェーディング補正が行われる。
このように、対応するシェーディングデータがそのままシェーディングRAM30に格納されているG成分のデータに対しては、シェーディングデータ領域31に格納されているG成分用シェーディングデータを構成する白差分データと黒差分データを用いて上記数1の演算処理がシェーディング補正回路29Gによって行われる。なお、ここではG成分のデータに対して上記数1に基づく演算処理が行われる場合について説明したが、シェーディングRAM30に他の色成分のデータについてのシェーディングデータがそのまま格納されている場合には、前記他の色成分のデータに対してシェーディング補正を行うシェーディング補正回路29において、上記数1と同じ演算処理を行うようにすればよい。
一方、シェーディングデータがそのまま格納されていない色成分のデータに対してシェーディング補正を行うシェーディング補正回路29R及び29Gは、シェーディングデータ領域31に格納されている基準となるシェーディングデータ、及び差分データを用いてシェーディング補正を行う。なお、シェーディング補正回路29RにおいてR成分のデータに対して行われるシェーディング補正と、シェーディング補正回路29BにおいてB成分のデータに対して行われるシェーディング補正は、同様に行われるものであるため、ここでは、シェーディング補正回路29Rにおいて行われるシェーディング補正について以下に説明する。
シェーディング補正回路29Rは、読取られたR成分のデータに対して、シェーディングデータ領域31からG成分用シェーディングデータを読み出すとともに第1差分データ領域32からR成分用差分データを読み出し、以下に示す数2の演算式に基づいてR成分のデータに対してシェーディング補正を行う。
ここで、V
INは、シェーディング補正回路29Rに入力されるR成分のデータ、V
OUTは、シェーディング補正回路29Rから出力されるシェーディング補正後のR成分のデータ、W
Gは、G成分用シェーディングデータの白補正データ、B
Gは、G成分用シェーディングデータの黒補正データ、dW
Rは、R成分用差分データの白差分データ、dB
Rは、R成分用差分データの黒差分データである。また、2のビット幅乗は、読取られたR成分のデータの階調数を表しており、上記のようにG成分のデータが512階調で表されるものである場合には、R成分のデータも同様に512階調で表されるため、ビット幅は同じ9となる。これらの各データの画素値及びビット幅がこの数2の演算式の右辺に代入された演算処理が各画素データ毎に行われることにより、カラーラインセンサ21が読取ったR成分のデータに対してシェーディング補正が行われる。
このように、対応するシェーディングデータがそのままシェーディングRAM30に格納されていないR成分のデータに対しては、シェーディングデータ領域31に格納されているG成分用シェーディングデータを構成する白補正データと黒補正データ、及び第1差分データ領域32に格納されているR成分用差分データを構成する白差分データと黒差分データを用いて上記数2の演算処理がシェーディング補正回路29Rによって行われる。
なお、上記数2において、WG+dWRは、G成分用シェーディングデータの白補正データとR成分用差分データの白差分データを足し合せたものであり、言い換えればR成分用シェーディングデータの白補正データである。また、BG+dBRは、G成分用シェーディングデータの黒補正データとR成分用差分データの黒差分データを足し合せたものであり、言い換えればR成分用シェーディングデータの黒補正データである。したがって、上記数2に基づく演算処理は、G成分用シェーディングデータとR成分用差分データに基づいてR成分用シェーディングデータの白補正データと黒補正データを生成し、それらのデータに基づいてR成分のデータに対してシェーディング補正を行っていることと等しいことになる。
また、B成分のデータに対してシェーディング補正を行うシェーディング補正回路29Bは、読取られたB成分のデータに対して、シェーディングデータ領域31からG成分用シェーディングデータを読み出すとともに第2差分データ領域33からB成分用差分データを読み出し、ラインセンサ21Bが読取ったB成分のデータに対してシェーディング補正を行うが、このB成分のデータに対するシェーディング補正は、上記数2の演算式においてR成分に関するデータが全てB成分に関するデータに代わる点などを除いてはほぼ同様に行われるため、ここではその詳細な説明は省略する。
続いて、シェーディング補正回路29Rにおいてシェーディング補正されたR成分のデータは、ライン補正メモリ5R(5)に一旦格納され、シェーディング補正回路29Gにおいてシェーディング補正されたG成分のデータは、ライン補正メモリ5G(5)に一旦格納される。そして、シェーディング補正回路29Bにおいてシェーディング補正されたB成分のデータがシェーディング補正回路29Bから出力されるタイミングに合わせてライン補正メモリ5RからR成分のデータが、ライン補正メモリ5GからG成分のデータが読み出されることにより、色空間変換回路6に位置ずれ補正されたカラー画像データが入力されるようになっている。
このようにして色空間変換回路6に入力されたRGB表色系のカラー画像データは、例えばL*a*b*表色系のカラー画像データに変換され、画像処理回路7において所定の画像処理が施された後、コーデック8において符号化され画像メモリ9に一旦格納される。そして、画像メモリ9に格納された画像データは、記録部10の処理動作に合わせて該画像メモリ9から読み出されるとともにコーデック8において復号され、記録部10においてその画像が用紙に記録される。
以上説明したように、画像読取装置1によれば、原稿読取り前に取得したG成分用シェーディングデータ、R成分用差分データ、及びB成分用差分データを用いて、カラーラインセンサ21が読み取った原稿のカラー画像データに対して各色成分毎にシェーディング補正を行い、ここでは、その画像を用紙に記録することができるようになっている。
以下、3成分全てについてシェーディングデータを格納してシェーディング補正を行う従来の画像読取装置と本発明の実施の形態に係る画像読取装置1のシェーディングRAM30のメモリ容量を比較するために、シェーディングデータ領域31に格納されるG成分用シェーディングデータのデータサイズ、及び第1差分データ領域32に格納されるR成分用差分データのデータサイズ(B成分用差分データのデータサイズ)について説明する。なお、シェーディングデータと差分データは、それぞれ色成分間でそのデータサイズが異なることはないため、以下、G成分用シェーディングデータを単にシェーディングデータとし、R成分用差分データを単に差分データとして説明する。
例えば、A3(日本工業規格A列3番)サイズ(297mm×420mm)の原稿を600dpiの解像度で読取る場合、原稿の読取り幅(主走査方向の長さ)は297mmであるため、主走査方向の画素数は、600mm×1/25.4mm×297mmの計算式から、7016画素となる。すなわち、カラーラインセンサ21によって読取られるカラー画像データの1ライン(主走査ライン)分の画素データの数が7016であり、読取ったカラー画像データに対してシェーディング補正を行うために、主走査方向に7016画素の画素データからなるシェーディングデータが各色成分毎に必要となる。
次に、シェーディングデータの白補正データが9ビット(512階調)、黒補正データが7ビット(128階調)で表されるデータであるとすると、1成分当りのシェーディングデータのデータサイズは、7016画素×(9+7)ビットで112256ビットとなる。したがって、上記の読取り条件で原稿のカラー画像データを読取ることを想定すると、従来のようにRGB3成分全てについてシェーディングデータをそのままシェーディングRAMに格納する場合、少なくともこれ(112256ビット)を3倍した336768ビットのメモリ容量を有するシェーディングRAMが必要である。
一方、差分データは、上記の通り2つの色成分のシェーディングデータの差に相当するデータであり、白差分データと黒差分データから構成されている。したがって、差分データのデータサイズは、白差分データのデータサイズと黒差分データのデータサイズを足し合せたものとなる。また、上記のように白補正データが9ビット、黒補正データが7ビットである場合、白差分データと黒差分データは、通常4ビット程度で表すことができる。したがって、1成分当りの差分データのデータサイズは、7016画素×(4+4)ビットで56128ビットとなる。
すなわち、図3の(b)に示すように、シェーディングRAM30にRGB3成分のうちの1成分についてシェーディングデータを格納し、残り2成分について差分データを格納するようにした場合、RGB3成分のデータに対してシェーディング補正を行うために必要なデータの全データサイズは、1成分のシェーディングデータのデータサイズ(112256ビット)に2成分の差分データのデータサイズ(56128×2=112256ビット)を足し合せた224512ビットとなる。したがって、3成分全てのシェーディングデータのデータサイズ(336768ビット)と比較すると、カラー画像データのシェーディング補正に必要なデータのデータサイズが大幅に減少しており、結果としてシェーディングRAMのメモリ容量を大幅に削減することができ、且つ上記のように各色成分のデータに対してシェーディング補正を行うことが可能である。
また、RGB3成分のシェーディングデータを格納することができるだけのメモリ容量を備えたシェーディングRAMを使用した場合、上記の通りシェーディング補正に必要なデータのデータサイズが減少してシェーディングRAMに空き領域を確保することができる。したがって、原稿のカラー画像データを更に高階調で読取る場合に、シェーディングRAMのメモリ容量が足らないために、シェーディングRAMを増設したり、シェーディングRAMを大容量のものに変更しなければならないという問題が生じることはなく、従来一般に使用されているシェーディングRAMを使用して、高階調読取りした原稿のカラー画像データに対してシェーディング補正を行うことができる。
なお、本実施の形態においては、シェーディングRAM30が3つの領域31乃至33に分割された構成のものについて説明したが、シェーディングRAM30の構成はこれに限定されるものではなく、シェーディングRAMを各色成分毎に3つ設けて、G成分用シェーディングデータ、R成分用差分データ、B成分用差分データをそれぞれ別個のシェーディングRAMに格納するようにしてもよい。
また、シェーディングデータ領域31に格納される基準となるシェーディングデータをG成分用シェーディングデータとして説明したが、基準となるシェーディングデータはこれに限定されるものではなく、例えば、シェーディングデータ領域31にR成分用シェーディングデータを、第1差分データ領域32にG成分用差分データを、第2差分データ領域33にB成分の差分データを格納するようにしてもよい。その場合、R成分のデータに対しては、R成分用シェーディングデータを用いてシェーディング補正が行われ、G成分のデータに対しては、R成分用シェーディングデータとG成分用差分データを用いてシェーディング補正が行われ、B成分のデータに対しては、R成分用シェーディングデータとB成分用差分データを用いてシェーディング補正が行われる。
また、本実施形態においては、1つのシェーディングデータ領域31と2つの差分データ領域に分割された構成のシェーディングRAM30について説明したが、シェーディングRAM30の領域の構成はこれに限定されるものではなく、2つのシェーディングデータ領域と1つの差分データ領域に分割されたものであってもよい。この場合、シェーディングRAMには、RGB3成分のうちの2つの色成分のデータについてのシェーディングデータ、及び、これらのいずれか一方のシェーディングデータの画素値と残りの1成分のデータについてのシェーディングデータの画素値の差分を画素値とした差分シェーディングデータを格納するようにすればよい。具体的には、図8に示すように、シェーディングRAMを2つのシェーディングデータ領域と1つの差分データ領域に分割されたものとし、例えば、R成分用シェーディングデータとG成分用シェーディングデータを2つのシェーディングデータ領域に別々に格納し、残りのB成分のデータについては、R成分用シェーディングデータとの差分データを差分データ領域に格納する。この場合、2成分(ここでは、R成分とG成分)のデータに対して基準となるシェーディングデータ(ここでは、R成分用シェーディングデータとG成分用シェーディングデータ)を用いて各々シェーディング補正を行うとともに残りの1成分(ここでは、B成分)のデータに対して一方の基準となるシェーディングデータ(R成分用シェーディングデータ)とB成分用差分データを用いてシェーディング補正する。
但し、このようにシェーディングRAMに2成分のシェーディングデータと残り1成分の差分データを格納するようにした場合、1成分のシェーディングデータと残り2成分の差分データを格納する場合に比べ、3成分のデータに対してシェーディング補正を行うために必要なデータのデータサイズは大きくなる。したがって、シェーディング補正に必要なデータのデータサイズを可能な限り小さくするためには、本実施形態において説明したように、1成分についてシェーディングデータを格納し、残り2成分について差分データを格納する方が好適である。
また、画像読取装置1に原稿の裏面読取りを行う画像読取ユニットを更に設けることにより、原稿読取部3をカラー原稿の両面読取機能を備えるものとした場合に、前記原稿の裏面読取りを行う画像読取ユニットが読取った原稿の裏面のカラー画像データに対してシェーディング補正を行うためのデータを格納するシェーディングRAMに本発明を適用することも当然可能である。
なお、本実施の形態で示した画像読取装置1の構成は、本発明に係る画像読取装置の一態様にすぎず、本発明の要旨を逸脱しない範囲内で適宜設計変更できることは勿論であり、原稿のカラー画像データを読取ってその画像データに対してシェーディング補正を行う装置であれば、例えば、コピー装置、ファクシミリ装置、スキャナ装置、及びこれらの複合機としても実現可能である。