以下、本発明の実施の形態を図面に従って説明する。
実施の形態1.
[画像読取装置(スキャナ)]
図1は、実施の形態1における画像読取装置100の構成の一例を示す概略斜視図である。この画像読取装置(以下、「スキャナ」と称す)100は、原稿の画像を光学的に読み取って、当該原稿の画像を表す画像データを生成する装置である。図1において、スキャナ100は、画像読取部101、操作部102、原稿セット部103、原稿排出部104、および制御部105を有する。
画像読取部101は、読み取り対象の原稿の画像の読み取りを行う。操作部102は、使用者からの操作を受け付けるものであり、使用者への指示や情報を表示するための表示部106や、スキャナ100の動作を指定するための各種のボタンを備える。表示部106は、液晶ディスプレイまたはLED(Light Emitting Diode)ディスプレイ等の表示装置である。原稿セット部103は、読み取り対象の原稿がセットされる部分である。原稿排出部104は、画像読取部101により読み取られた原稿が排出される部分である。制御部105は、操作部102により受け付けられた使用者の操作等に基づき、スキャナ100の動作を制御する。
図2は、画像読取部101の構成の一例を示す概略構造図である。図2に示されるように、画像読取部101は、自動原稿給紙部210および原稿台読取部220を有する。自動原稿給紙部210は、原稿台読取部120の原稿台ガラス221上に原稿を載せることができるように、原稿台読取部120の上部に開閉可能に配置されている。
自動原稿給紙部210は、給紙ローラ211、搬送ローラ212、排紙ローラ213、ステッピングモータ214、原稿検出センサ215、読取位置センサ216、および原稿押圧板217を有する。給紙ローラ211、搬送ローラ212、および排紙ローラ213は、原稿セット部103にセットされた原稿を搬送するためのローラである。ステッピングモータ214は、給紙ローラ211、搬送ローラ212、および排紙ローラ213を駆動するものであり、ステッピングモータ214の駆動力は、図示しないギア構造により、給紙ローラ211、搬送ローラ212、および排紙ローラ213に伝達される。原稿検出センサ215は、原稿セット部103における原稿の有無を検出するためのセンサである。読取位置センサ216は、原稿の先端が原稿読取位置RPに近接したことを検出するためのセンサである。原稿押圧板217は、搬送される原稿を原稿台ガラス222に押圧するための部材である。
原稿台読取部120は、原稿台ガラス221,222、読取ユニット223、ステッピングモータ224、駆動ベルト225、プーリ226、ホームセンサ227、白色基準板228、原稿圧板229、および白色シート230を有する。読取ユニット223は、自動原稿給紙部210により原稿台ガラス222上を搬送される原稿の画像、および原稿台ガラス221上に載せられた原稿の画像を読み取るものである。具体的には、読取ユニット223は、副走査方向(矢印Y方向)に移動可能なキャリッジ223aと、当該キャリッジ223aに固定された基板223bとを有する。基板223bには、後述の読取部1および画像処理装置2が搭載される。ステッピングモータ224は、読取ユニット223を移動させるための駆動源である。駆動ベルト225は、ステッピングモータ224の回転軸およびプーリ226に架け渡された無端状のベルトであり、読取ユニット223に対して固定されている。ステッピングモータ224、駆動ベルト225、およびプーリ226は、ステッピングモータ224の回転により、読取ユニット223が原稿台ガラス221,222に沿って副走査方向(Y方向)に移動するように構成されている。ホームセンサ227は、読取ユニット223が所定の基準位置に移動したことを検知するセンサである。白色基準板228は、読取ユニット223の受光素子間の出力レベルのばらつきを平滑化するためのシェーディング補正処理時に、補正の基準となる受光素子の出力を取得する際に読み取られるものであり、原稿台ガラス221,222の読み取り範囲外に配置されている。
以下、上記構成を有するスキャナ100の動作について説明する。
制御部105は、操作部102によりスキャン開始の指示を受け付けると、原稿検出センサ215の出力に基づき、原稿セット部103に原稿がセットされている場合には、原稿移動方式により原稿の読み取りを行い、原稿セット部103に原稿がセットされていない場合には、原稿固定方式により原稿の読み取りを行う。
原稿移動方式では、制御部105は、原稿セット部103上の原稿を搬送するために、ステッピングモータ214を回転させる。給紙ローラ211は、ステッピングモータ214の回転に伴って回転し、原稿セット部103に置かれた原稿束から1枚の原稿を分離し、当該原稿を搬送ローラ212に搬送する。搬送ローラ212は、ステッピングモータ214の回転に伴って回転し、給紙ローラ211から搬送された原稿を更に排紙ローラ213へ搬送する。搬送ローラ212から排紙ローラ213へ原稿が搬送される際、原稿の先端が読取位置センサ216により検出され、原稿は原稿押圧板217と原稿台ガラス222とで挟まれた領域を通過する。制御部105は、原稿台ガラス222上を副走査方向(Y方向)に通過する原稿の画像を読取ユニット223に読み取らせ、読取ユニット223から当該原稿の1ページ分の画像データを取得する。この場合、制御部105は、読取位置センサ216により原稿の先端が検出されたタイミングに基づき、読取ユニット223による読み取り開始のタイミングを制御する。排紙ローラ213は、原稿台ガラス222を通過した原稿を原稿排出部104へ排出する。
なお、制御部105は、少なくとも上記原稿の読み取りが開始される前に、ステッピングモータ224により読取ユニット223を原稿台ガラス222に対向する所定の位置に移動させておく。このとき、制御部105は、ホームセンサ227により読取ユニット223が検知されたときの読取ユニット223の位置を基準として、読取ユニット223の移動の制御を行う。原稿の読み取り中において、読取ユニット223は上記所定の位置に固定されている。
一方、原稿固定方式では、制御部105は、読取ユニット223を移動させるために、ステッピングモータ224を回転させる。駆動ベルト225は、ステッピングモータ224の回転に伴って移動し、読取ユニット223を原稿台ガラス221に沿って副走査方向(Y方向)に移動させる。具体的には、制御部105は、読取ユニット223が原稿台ガラス221上の原稿の全面を走査するようにステッピングモータ224を制御する。また、制御部105は、読取ユニット223が原稿台ガラス221上の原稿の全面を走査する間、当該原稿の画像を読取ユニット223に読み取らせ、読取ユニット223から当該原稿の1ページ分の画像データを取得する。
なお、制御部105は、ホームセンサ227により読取ユニット223が検知されたときの読取ユニット223の位置を基準として、読取ユニット223の移動および読取ユニット223による読み取り開始のタイミングを制御する。
[読取部]
図3は、読取部1の構成の一例を示す概略斜視図である。以下、図3を参照して、読取部1の構成について説明する。
読取部1は、原稿Dの画像を読み取る読取センサである。具体的には、読取部1は、原稿Dに対して副走査方向(Y方向)に相対的に移動しながら、原稿Dに対して互いに波長が異なる複数の光を1つずつ順次照射し、当該1つの光の照射毎に原稿Dからの反射光に基づいて原稿Dの主走査方向(X方向)の1ライン分の画像データを生成する。
読取部1が原稿に対して副走査方向に相対的に移動する態様としては、上記原稿移動方式のように固定された読取部1に対して原稿が副走査方向に移動する態様や、上記原稿固定方式のように固定された原稿に対して読取部1が副走査方向に移動する態様がある。
原稿に対する光の照射に関し、具体的には、読取部1は、互いに発光波長の異なる複数の光源を有し、当該複数の光源を1つずつ順次発光させ、これにより複数の波長の光を1つずつ順次照射する。より具体的には、読取部1は、複数の光源として、R(Red:赤)色の光を発する光源、G(Green:緑)色の光を発する光源、およびB(Blue:青)色の光を発する光源の3つの光源を有し、当該3つの光源を順次発光させる。
反射光に基づく画像データの生成に関し、具体的には、読取部1は、副走査方向に直交する主走査方向に配列された複数の受光素子を有し、各受光素子により原稿からの反射光を受光して画素データを生成し、生成された複数の画素データを1ライン分の画像データとして出力する。より具体的には、読取部1は、複数の受光素子により、R色の反射光、G色の反射光、B色の反射光を順次受光し、それぞれ複数の画素データにより構成される、R色の1ライン分の画像データ、G色の1ライン分の画像データ、およびB色の1ライン分の画像データを順次出力する。画素データは、具体的には、原稿の階調を表す階調データである。
図3の例では、読取部1は、等倍光学系の読取センサであるコンタクトイメージセンサ(CIS:Contact Image Sensor、密着型イメージセンサ)であり、LED11R、LED11G、LED11B、読取レンズ12、および受光センサ13を有する。
LED11R、LED11G、LED11Bは、原稿に光を照射するための光源であり、それぞれR色、G色、B色の光を発するLEDである。
読取レンズ12は、原稿からの反射光を受光センサ13に集光するレンズである。具体的には、読取レンズ12は、原稿の画像を受光センサ13上に等倍で結像させる。
受光センサ13は、読取レンズ12により集光された光を受光して電気信号に変換するセンサである。具体的には、受光センサ13は、画素数M(Mは2以上の整数)のセンサであり、主走査方向に配列されたM個の受光素子13−1〜13−Mを有する。例えば、受光センサ13は、それぞれ複数の受光素子を有する複数のセンサICが主走査方向に接続された構造を有する。受光素子13−1〜13−Mは、具体的には、光電変換素子であり、原稿からの反射光を光電変換し、得られた電荷を蓄積し、蓄積された電荷を画素データ(アナログ信号)として出力する。受光素子13−1〜13−Mは、例えば、その主走査方向の幅が原稿の主走査方向の幅と同じになるように配置される。
図4は、読取部1の動作の一例を示すタイムチャートである。以下、図4を参照して、読取部(以下、「CIS」と称す)1の動作について説明する。
CIS1は、LEDの切り替えタイミングを示す信号に基づき、LED11R、LED11G、LED11Bのうち、発光させるLEDを切り替えながら原稿を読み取る。LEDの切り替えタイミングを示す信号は、例えば制御部105からCIS1に供給される。
図4の例では、CIS1は、R色の読み取り、G色の読み取り、B色の読み取りの順番で読み取る動作を繰り返し行う。具体的には、CIS1は、LED11R、LED11G、LED11Bの順番で発光させ、受光センサ13により、R色の画像データ、G色の画像データ、B色の画像データを順次生成する動作を繰り返し行う。
CIS1は、原稿に対して副走査方向に相対的に移動しながら上記の読み取り動作を行う。したがって、1回の読み取り毎に原稿における副走査方向の読み取り位置が変化する。すなわち、発光するLEDが切り替わる毎に読み取り位置がずれる。図4の例では、CIS1は、1回の読み取りの間に距離(1/3)・dだけ副走査方向に移動する。例えば、R色の読み取りの間(時刻T0とT1の間)にCIS1が距離(1/3)・dだけ進み、次のG色の読み取り位置は、R色の読み取り位置から距離(1/3)・dだけずれる。
図5は、読取部(CIS)1で読み取られた画像データの一例を示す概略図である。図5では、CIS1は、Rの読み取り、Gの読み取り、Bの読み取りの順番で読み取る動作を(N+1)回(Nは1以上の整数)繰り返し行い、R色の0ライン目の画像データDR0、G色の0ライン目の画像データDG0、B色の0ライン目の画像データDB0、・・・、R色のNライン目の画像データDRN、G色のNライン目の画像データDGN、B色のNライン目の画像データDBNを出力している。
図5から分かるように、LEDが切り替わる毎に読み取り位置が副走査方向に進むので、異なるLEDで同じ位置の画像データを取得することはできない。したがって、R色、G色、B色の間で、原稿上の副走査方向の読み取り位置にずれが生じる。具体的には、R色のnライン目(0≦n≦N)の画像データDRn、G色のnライン目の画像データDGn、B色のnライン目の画像データDBnは、互いに同じ読み取り位置の画像データであることが望ましいが、互いに異なる読み取り位置の画像データとなる。このような読み取り位置のずれは、色ずれと呼ばれる。
[画像処理装置]
図6は、実施の形態1における画像処理装置2の構成の一例を示すブロック図である。この画像処理装置2は、CIS1で読み取られた画像データを受信し、当該画像データに対して色ずれを補正するための処理を行い、補正後の画像データを出力するものである。図6において、画像処理装置2は、画像データ取得部20および画像データ生成部30を有する。
画像データ取得部20は、CIS1から、1ライン分の画像データを順次取得する。
本例では、画像データ取得部20は、図5に示される画像データを取得する。すなわち、画像データ取得部20は、R色の0ライン目の画像データDR0、G色の0ライン目の画像データDG0、B色の0ライン目の画像データDB0、・・・、R色のNライン目の画像データDRN、G色のNライン目の画像データDGN、B色のNライン目の画像データDBNを順次取得する。
また、画像データ取得部20は、1ライン分の画像データを取得する場合、当該画像データを構成するM個の画素データを1個ずつ順次取得する。ただし、画像データ取得部20は、当該M個の画素データを複数個ずつ順次取得してもよいし、当該M個の画素データを1度に取得してもよい。
また、画像データ取得部20は、A/D変換部21により構成される。A/D変換部21は、CIS1からのアナログの画像データをデジタルの画像データに変換し、デジタルの画像データを画像データ生成部30に出力する。
画像データ生成部30は、画像データ取得部20により取得された1ライン分の画像データと、当該画像データと同じ波長の光により生成され画像データ取得部20により取得された前ラインの画像データとから、各波長で共通の副走査方向の位置に対応する1ライン分の画像データを補間により生成する補間処理を行う。
本例では、画像データ生成部30は、画像データ取得部20により1個の画素データが取得される毎に、当該画素データと、前ラインの画素データとから、1個の画素データを補間により生成する。この処理がCIS1の画素数分(すなわちM回)行われることにより、補正後の1ライン分の画像データが生成される。ただし、画像データ生成部30は、画像データ取得部20により1ライン分の画像データ(M個の画素データ)が完全に取得された時点で補間処理を実行してもよい。
以下、画像データ生成部30の補間処理について、図7を用いて説明する。なお、以降の説明において、画素データの位置とは、当該画素データが読み取られた原稿上の位置、すなわち当該画素データに対応する原稿上の位置を意味する。
図7には、R色、G色、B色のnライン目(1≦n≦N)の主走査方向m番目(1≦m≦M)の画素データPRm,n、PGm,n、PBm,nと、これらに対して前ラインの画素データである、R色、G色、B色の(n−1)ライン目の主走査方向m番目の画素データPRm,n−1、PGm,n−1、PBm,n−1とが示されている。R色、G色、B色のいずれについても、ライン間の間隔は距離dである。各色で共通の副走査方向の位置(以下、「補間位置」と称す)として、画素データBm,n−1とRm,nとの間の位置Ycが設定されている。副走査方向について、画素データPRm,nの位置と補間位置Ycとの距離はdR、画素データPGm,nの位置と補間位置Ycとの距離はdG、画素データPBm,nの位置と補間位置Ycとの距離はdBである。
画像データ生成部30は、画素データPRm,nとPRm,n−1とから、補間位置YcのR色の画素データ(すなわち補正後のR色のnライン目の主走査方向m番目の画素データ)PRm,n’を下記(1)の補間式により算出する。
PRm,n’={(d−dR)・PRm,n+dR・PRm,n−1}/d ・・(1)
また、画像データ生成部30は、画素データPGm,nとPGm,n−1とから、位置YcのG色の画素データ(すなわち補正後のG色のnライン目の主走査方向m番目の画素データ)PGm,n’を下記(2)の補間式により算出する。
PGm,n’={(d−dG)・PGm,n+dG・PGm,n−1}/d ・・(2)
また、画像データ生成部30は、画素データPBm,nとPBm,n−1とから、位置YcのB色の画素データ(すなわち補正後のB色のnライン目の主走査方向m番目の画素データ)PBm,n’を下記(3)の補間式により算出する。
PBm,n’={(d−dB)・PBm,n+dB・PBm,n−1}/d ・・(3)
具体的な一態様では、R色、G色、B色の画素データの位置は等間隔である。また、R色の画素データの位置が基準とされ、R色の画素データの位置が補間位置Ycに設定される。この場合、R色については、図8に示されるように、画素データPRm,nの位置と補間位置Ycとの距離dRは0となり、画像データ生成部30は、画素データPRm,n’を下記(4)式により算出する。
PRm,n’=1・PRm,n+0・PRm,n−1 ・・(4)
また、G色については、図9に示されるように、画素データPGm,nの位置と補間位置Ycとの距離dGは(1/3)・dとなり、画像データ生成部30は、画素データPGm,n’を下記(5)式で算出する。
PGm,n’=(2・PGm,n+1・PGm,n−1)/3 ・・(5)
また、B色については、図10に示されるように、画素データPBm,nの位置と補間位置Ycとの距離dBは(2/3)・dとなり、画像データ生成部30は、画素データPBm,n’を下記(6)式で算出する。
PBm,n’=(1・PBm,n+2・PBm,n−1)/3 ・・(6)
図6の例では、画像データ生成部30は、色判定部31、入力切替部32、現ラインバッファ33R,33G,33B、前ラインバッファ34R,34G,34B、および補正処理部35を有する。
色判定部31は、A/D変換部21から出力される画像データのライン端を監視し、A/D変換部21から現在出力されている画素データがR色、G色、B色のいずれの色の画素データであるかを判定する。具体的には、色判定部31は、A/D変換部21から出力される画素データの個数をカウントし、カウント数が予め設定されたCIS1の画素数(M個)に達したらライン端と判断する。そして、色判定部31は、1回目にライン端が検知されるまでの画素データについてはR色と判定し、その次の画素データから2回目にライン端が検知されるまでの画素データについてはG色と判定し、その次の画素データから3回目にライン端が検知されるまでの画素データについてはB色と判定し、以降同様に、ライン端に基づいて何色の画素データかを判定する。色判定部31は、判定結果を色情報として入力切替部32および補正処理部35に渡す。
入力切替部32は、A/D変換部21からの画素データを、現ラインバッファ33R、33G、または33Bに、色毎に切り替えて出力する。具体的には、入力切替部32は、色判定部31から色情報を受け取り、当該色情報に基づき、現ラインバッファ33R、33G、および33Bのいずれかを出力先として選択し、選択された出力先にA/D変換部21からの画素データを出力する。すなわち、入力切替部32は、R色の画素データを現ラインバッファ33Rに出力し、G色の画素データを現ラインバッファ33Gに出力し、B色の画素データを現ラインバッファ33Bに出力する。
現ラインバッファ33R,33G,33Bは、1ライン分の画像データ(M個の画素データ)を格納できる容量を持つバッファである。現ラインバッファ33Rには、入力切替部32からのR色の1ライン分の画像データが格納される。現ラインバッファ33Gには、入力切替部32からのG色の1ライン分の画像データが格納される。現ラインバッファ33Bには、入力切替部32からのB色の1ライン分の画像データが格納される。
前ラインバッファ34R,34G,34Bは、1ライン分の画像データ(M個の画素データ)を格納できる容量を持つバッファである。前ラインバッファ34Rには、現ラインバッファ33Rに格納される画像データの前ラインのR色の画像データが格納される。前ラインバッファ34Gには、現ラインバッファ33Gに格納される画像データの前ラインのG色の画像データが格納される。前ラインバッファ34Bには、現ラインバッファ33Bに格納される画像データの前ラインのB色の画像データが格納される。
補正処理部35は、色判定部31からの色情報と、現ラインバッファ33R,33G,33Bに格納されている現ラインの画像データと、前ラインバッファ34R,34G,34Bに格納されている前ラインの画像データとから、各色の補正後の画像データを生成する。そして、補正処理部35は、各色の補正後の画像データを例えば制御部105に出力する。
具体的には、補正処理部35は、例えばR色を示す色情報を受け取った場合には、現ラインバッファ33Rに新たに格納されたR色の画素データと、前ラインバッファ34Rに格納されている当該画素データと同じ主走査方向位置のR色の画素データとに基づき、上記式(4)により補正後のR色の画素データを算出し、制御部105に出力する。補正処理部35は、当該処理をM回行い、M個の補正後のR色の画素データ(すなわち補正後の1ライン分の画像データ)を生成する。G色およびB色についても同様である。
図11は、実施の形態1における画像処理装置1の動作の一例を示すフローチャートである。以下、図11を参照して、画像処理装置1の動作を説明する。
ステップS1において、画像処理装置1は、CIS1からアナログの画素データを取得し、当該画素データをデジタルの画素データに変換し、ステップS2の動作へ移る。
ステップS2において、画像処理装置1は、ステップS1で取得された画素データがいずれの色の画素データであるかを判定して色情報を取得し、ステップS3の動作へ移る。
ステップS3において、画像処理装置1は、ステップS2で取得された色情報に基づき、ステップS1で取得された画素データを現ラインバッファ33R、33G、33Bのいずれかに格納し、ステップS4の動作へ移る。
ステップS4において、画像処理装置1は、現ラインバッファ33R、33G、33Bのすべてに1ライン分の画像データが格納されたか否かを判断し、格納されていないと判断された場合には(S4:NO)、ステップS1の動作へ戻り、格納されたと判断された場合には(S4:YES)、ステップS5の動作へ移る。
ステップS5において、画像処理装置1は、現ラインバッファ33R、33G、33Bに格納されている1ライン分の画像データを、それぞれ前ラインバッファ34R、34G、34Bに移し、ステップS6の動作に移る。
以上の処理により、前ラインバッファ34R、34G、34Bには、それぞれ、R色、G色、B色の0ライン目の画像データが書き込まれることになる。
ステップS6において、画像処理装置1は、CIS1からアナログの画素データ(1ライン目以降の画素データ)を取得し、当該画素データをデジタルの画素データに変換し、ステップS7の動作へ移る。
ステップS7において、画像処理装置1は、ステップS6で取得された画素データがいずれの色の画素データであるかを判定して色情報を取得し、ステップS8の動作へ移る。
ステップS8において、画像処理装置1は、ステップS7で取得された色情報に基づき、ステップS6で取得された画素データを現ラインバッファ33R、33G、33Bのいずれかに格納し、ステップS9の動作へ移る。
ステップS9において、画像処理装置1は、ステップS7で取得された色情報に基づき、現ラインバッファ33R、33G、または33BからステップS8で格納された画素データを取得し、前ラインバッファ34R,34G,または34Bから、当該画素データと主走査方向位置が同じ同色の画素データを取得し、これら2つの画素データから補間により補正後の画素データを算出する。
例えば、画像処理装置1は、CIS1からnライン目の主走査方向m画素目のG色の画素データPGm,nを取得し、G色を示す色情報を受け取った場合、図12に示されるように、現ラインバッファ33Gから画素データPGm,nを取得し、前ラインバッファ34Gから画素データPGm,n−1を取得し、上記式(5)により、補正後のnライン目の主走査方向m画素目のG色の画素データPGm,n’を算出する。R色およびB色についても同様である。
画像処理装置1は、補正後の画素データを算出すると、ステップS10の動作へ移る。
ステップS10において、画像処理装置1は、ステップS9で算出された画素データがライン端の画素データ(すなわち主走査方向M番目の画素データ)であるか否かを判断し、ライン端の画素データであると判断された場合には(S10:YES)、ステップS11の動作へ移り、ライン端の画素データでないと判断された場合には(S10:NO)、ステップS12の動作へ移る。
ステップS11において、画像処理装置1は、ステップS9で補正処理が行われた色の現ラインバッファに格納されている1ライン分の画像データを、当該色の前ラインバッファに移し、ステップS12の動作へ移る。例えば、図13に示されるように、ステップS9において、現ラインバッファ33Gから画素データPGM,nが取得され、前ラインバッファ34Gから画素データPGM,n−1が取得され、画素データPGM,n’が算出された場合には、画像処理装置1は、現ラインバッファ33Gに格納されているM個の画素データPG1,n〜PGM,nを前ラインバッファ34Gに移す。
ステップS12において、画像処理装置1は、ステップS9で算出された補正後の画素データを制御部105に出力し、ステップS13の動作へ移る。
ステップS13において、画像処理装置1は、全ラインの画像データを出力したか否かを判断する。例えば、画像処理装置1は、ステップS12において画素データPGM,N’を出力したかを判断することにより、全ラインの画像データを出力したかを判断する。また例えば、画像処理装置1は、色判定部31によりカウントされた画素数(すなわち原稿から読み取られた画素数)がM・(N+1)個に達したかを判断することにより、全ラインの画像データを出力したかを判断する。そして、画像処理装置1は、出力したと判断された場合には(S13:YES)、処理を終了させ、出力していないと判断された場合には(S13:NO)、ステップS6の動作に戻る。
以上の処理により、補正後のR色、G色、およびB色の1ライン目〜Nライン目の画像データが、画像処理装置1から制御部105に出力される。
以上の通り、本実施の形態1では、画像処理装置は、原稿に対して副走査方向に相対的に移動しながら、原稿に対して互いに波長が異なる複数の光を1つずつ順次照射し、1つの光の照射毎に原稿からの反射光に基づいて原稿の主走査方向の1ライン分の画像データを生成する読取部から、1ライン分の画像データを順次取得し、取得された1ライン分の画像データと、当該画像データと同じ波長の光により生成された前ラインの画像データとから、波長間で共通の副走査方向の位置に対応する1ライン分の画像データを補間により生成する。
このため、本実施の形態1によれば、色ずれの補正を行う場合に、読み取り処理にかかる時間を短くすることができる。具体的には、1ページ分の画像データをメモリに溜める必要なく、順次色ずれを補正することができ、1ページ分の画像データをメモリに書き込んだ後に補正処理を行う場合と比較して、読み取り処理にかかる時間を短くすることができる。
実施の形態2.
図14は、実施の形態2における画像処理装置50の構成の一例を示すブロック図である。この画像処理装置50は、実施の形態1のものと殆ど同じであるので、実施の形態1と同様の部分については、同一の符号を用い、説明を省略または簡略化することとする。
本実施の形態では、波長間で共通の副走査方向の位置(補間位置)は、複数の波長のうち基準となる1つの波長の光により生成される画像データに対応する副走査方向の位置である。そして、画像データ生成部30は、複数の波長のうち基準となる波長以外の波長の光により生成された画像データについて補間処理を行う。画像データ生成部30は、基準となる波長の光により生成された画像データについては補間処理を行わず、例えば画像データ取得部20により取得された画像データを補正後の画像データとして出力する。
一つの態様では、基準となる波長の光は、複数の波長の光のうち最初に照射される光である。本態様では、基準となる波長の光により生成され画像データ取得部20により最初に取得された1ライン分の画像データは、補正後の画像データとしても、補間用の画像データとしても用いられない。そこで、画像処理装置50は、当該最初に取得された1ライン分の画像データを破棄する。
本例では、基準となる波長の光は、R色、G色、B色の光のうち、最初に照射されるR色の光である。そして、画像データ生成部30は、G色およびB色の画像データについて補間処理を行い、R色の画像データについては補間処理を行わない。ただし、基準となる波長の光は、G色やB色の光など、他の波長の光であってもよい。
具体的には、図14に示される画像処理装置50は、図6に示される画像処理装置2に対し、基準色記憶部51を追加し、現ラインバッファ33Rおよび前ラインバッファ34Rを削除した構成となっている。
基準色記憶部51は、基準となる波長を示す基準色情報を予め記憶しており、ここではR色を示す基準色情報を記憶している。
入力切替部32は、基準色記憶部51に記憶されている基準色情報と、色判定部31からの色情報とに基づき、A/D変換部21からの画素データが基準色の画素データか否かを判定する。判定の結果、基準色の画素データでなければ、色情報に基づき、当該画素データを現ラインバッファ33Gまたは33Bに出力する。一方、基準色の画素データであれば、当該画素データを補正処理部35に渡す。ただし、入力切替部32は、A/D変換部21からの画素データが基準色の最初のライン(0ライン目のライン)の画素データである場合には、当該画素データを破棄する。
補正処理部35は、色判定部31からの色情報で示される色が基準色記憶部51の基準色情報で示される色と同一である場合には、入力切替部32から受け取った基準色の画素データをそのまま制御部105に出力する。一方、両者が同一でない場合には、補正処理部35は、実施の形態1と同様にG色またはB色の補正後の画素データの生成を行う。
図15は、実施の形態2における画像処理装置50の動作の一例を示すフローチャートである。以下、図15を参照して、画像処理装置50の動作を説明する。
ステップS21において、画像処理装置1は、CIS1からアナログの画素データを取得し、当該画素データをデジタルの画素データに変換し、ステップS22の動作へ移る。
ステップS22において、画像処理装置1は、ステップS21で取得された画素データがいずれの色の画素データであるかを判定して色情報を取得し、ステップS23の動作へ移る。
ステップS23において、画像処理装置1は、基準色記憶部51に記憶されている基準色情報と、ステップS22で取得された色情報とに基づき、ステップS21で取得された画素データが基準色(ここではR色)の画素データか否かを判断する。そして、基準色の画素データであると判断された場合には(S23:YES)、ステップS24の動作へ移り、基準色のデータでないと判断された場合には(S23:NO)、ステップS25の動作へ移る。
ステップS24において、画像処理装置1は、ステップS21で取得された画素データを破棄し、ステップS21の動作に戻る。
ステップS25において、画像処理装置1は、ステップS22で取得された色情報に基づき、ステップS21で取得された画素データを現ラインバッファ33R、33G、33Bのいずれかに格納し、ステップS26の動作へ移る。
ステップS26において、画像処理装置1は、現ラインバッファ33G、33Bのすべてに1ライン分の画像データが格納されたか否かを判断し、格納されていないと判断された場合には(S26:NO)、ステップS21の動作へ戻り、格納されたと判断された場合には(S26:YES)、ステップS27の動作へ移る。
ステップS27において、画像処理装置1は、現ラインバッファ33G、33Bに格納されている1ライン分の画像データを、それぞれ前ラインバッファ34G、34Bに移し、ステップS28の動作に移る。
以上の処理により、前ラインバッファ34G、34Bには、それぞれ、G色、B色の0ライン目の画像データが書き込まれることになる。また、R色の0ライン目の画像データは破棄されることになる。
ステップS28において、画像処理装置1は、CIS1からアナログの画素データ(1ライン目以降の画素データ)を取得し、当該画素データをデジタルの画素データに変換し、ステップS29の動作へ移る。
ステップS29において、画像処理装置1は、ステップS28で取得された画素データがいずれの色の画素データであるかを判定して色情報を取得し、ステップS30の動作へ移る。
ステップS30において、画像処理装置1は、基準色記憶部51に記憶されている基準色情報と、ステップS29で取得された色情報とに基づき、ステップS28で取得された画素データが基準色の画素データか否かを判断する。そして、基準色の画素データであると判断された場合には(S30:YES)、ステップS31の動作へ移り、基準色のデータでないと判断された場合には(S30:NO)、ステップS32の動作へ移る。
ステップS31において、画像処理装置1は、ステップS28で取得された基準色の画素データを補正後の画素データとしてそのまま制御部105に出力し、ステップS37の動作へ移る。
ステップS32において、画像処理装置1は、ステップS29で取得された色情報に基づき、ステップS28で取得された画素データを現ラインバッファ33G、33Bのいずれかに格納し、ステップS33の動作へ移る。
ステップS33において、画像処理装置1は、ステップS29で取得された色情報に基づき、現ラインバッファ33Gまたは33BからステップS32で格納された画素データを取得し、前ラインバッファ34Gまたは34Bから、当該画素データと主走査方向位置が同じ同色の画素データを取得し、これら2つの画素データから補間により補正後の画素データを算出し、ステップS34の動作へ移る。
ステップS34において、画像処理装置1は、ステップS33で算出された画素データがライン端の画素データであるか否かを判断し、ライン端の画素データであると判断された場合には(S34:YES)、ステップS35の動作へ移り、ライン端の画素データでないと判断された場合には(S34:NO)、ステップS36の動作へ移る。
ステップS35において、画像処理装置1は、ステップS33で補正処理が行われた色の現ラインバッファに格納されている1ライン分の画像データを、当該色の前ラインバッファに移し、ステップS36の動作へ移る。
ステップS36において、画像処理装置1は、ステップS33で算出された補正後の画素データを制御部105に出力し、ステップS37の動作へ移る。
ステップS37において、画像処理装置1は、全ラインの画像データを出力したか否かを判断し、出力したと判断された場合には(S37:YES)、処理を終了させ、出力していないと判断された場合には(S37:NO)、ステップS28の動作に戻る。
以上の処理により、補正後のR色、G色、およびB色の1ライン目〜Nライン目の画像データが、画像処理装置1から制御部105に出力される。
以上の通り、本実施の形態2では、波長間で共通の副走査方向の位置は、複数の波長のうち基準となる1つの波長の光により生成される画像データに対応する副走査方向の位置であり、画像データ生成部は、複数の波長のうち基準となる波長以外の波長の光により生成された画像データについて補間処理を行う。このため、本実施の形態2によれば、基準となる波長の光により生成された画像データについて補間処理を省略することができ、構成を簡易化することができる。具体的には、基準色の現ラインバッファおよび前ラインバッファを省略することができる。
実施の形態3.
図16は、実施の形態3における画像処理装置60の構成の一例を示すブロック図である。この画像処理装置60は、実施の形態1のものと殆ど同じであるので、実施の形態1と同様の部分については、同一の符号を用い、説明を省略または簡略化することとする。
本実施の形態では、波長間で共通の副走査方向の位置(補間位置)は、複数の波長のうち基準となる1つの波長の光により生成される画像データに対応する副走査方向の位置である。基準となる波長の光は、複数の波長の光のうち最初に照射される光である。
画像データ生成部30は、複数の波長のうち基準となる波長以外の波長の光により生成された画像データについて補間処理を行う。画像データ生成部30は、基準となる波長の光により生成された画像データについては補間処理を行わず、例えば画像データ取得部20により取得された画像データを補正後の画像データとして出力する。
また、画像データ生成部30は、複数の波長のうち基準となる波長以外の波長については、画像データ取得部20により取得された1ライン分の画像データが画像データ取得部20により最初に取得された1ライン分の画像データである場合、前ラインの画像データの代わりに、予め設定された補間用のデータを用いて補間処理を行う。
補間用のデータとしては、例えば、原稿の全体的な色(または原稿の背景色)に応じて設定される原稿色データや、予め固定的に設定された特定データがある。原稿色データは、例えば、原稿の全体的な色を示す各波長成分の階調データのうち、基準となる波長以外の波長成分の階調データである。原稿色データは、原稿の読み取りの前にCIS1により検知されてもよいし、使用者からの原稿色の指示入力に従って設定されてもよい。特定データは、例えば、基準となる波長以外の波長成分の白色を示す階調データである。
本例では、基準となる波長の光は、R色、G色、B色の光のうち、最初に照射されるR色の光である。そして、画像データ生成部30は、G色およびB色の画像データについて補間処理を行い、R色の画像データについては補間処理を行わない。また、画像データ生成部30は、G色およびB色については、0ライン目の画像データと、補間用のデータとから、補正後の0ライン目の画像データを補間により生成する。
具体的には、図16に示される画像処理装置60は、図6に示される画像処理装置2に対し、基準色記憶部61および補間用データ記憶部62を追加し、現ラインバッファ33Rおよび前ラインバッファ34Rを削除した構成となっている。
基準色記憶部61は、基準となる波長を示す基準色情報を予め記憶しており、ここではR色を示す基準色情報を記憶している。
補間用データ記憶部62は、G色の補間用データおよびB色の補間用データを記憶している。
入力切替部32は、基準色記憶部61に記憶されている基準色情報と、色判定部31からの色情報とに基づき、A/D変換部21からの画素データが基準色の画素データか否かを判定する。判定の結果、基準色の画素データでなければ、色情報に基づき、当該画素データを現ラインバッファ33Gまたは33Bに出力する。一方、基準色の画素データであれば、当該画素データを補正処理部35に渡す。
補正処理部35は、色判定部31からの色情報で示される色が基準色記憶部61の基準色情報で示される色と同一である場合には、入力切替部32から受け取った基準色の画素データをそのまま制御部105に出力する。一方、両者が同一でない場合には、補正処理部35は、実施の形態1と同様にG色またはB色の補正後の画素データの生成を行う。ただし、補正処理部35は、G色およびB色の0ライン目の画素データについては、補間用データ記憶部62に記憶されている補間用データを用いて補正後の画素データを生成する。
図17は、実施の形態3における画像処理装置60の動作の一例を示すフローチャートである。以下、図17を参照して、画像処理装置60の動作を説明する。
ステップS41において、画像処理装置1は、CIS1からアナログの画素データを取得し、当該画素データをデジタルの画素データに変換し、ステップS42の動作へ移る。
ステップS42において、画像処理装置1は、ステップS41で取得された画素データがいずれの色の画素データであるかを判定して色情報を取得し、ステップS43の動作へ移る。
ステップS43において、画像処理装置1は、基準色記憶部61の基準色情報と、ステップS42で取得された色情報とに基づき、ステップS41で取得された画素データが基準色(ここではR色)の画素データか否かを判断する。そして、基準色の画素データであると判断された場合には(S43:YES)、ステップS44の動作へ移り、基準色のデータでないと判断された場合には(S43:NO)、ステップS45の動作へ移る。
ステップS44において、画像処理装置1は、ステップS41で取得された基準色の画素データを補正後の画素データとしてそのまま制御部105に出力し、ステップS52の動作へ移る。
ステップS45において、画像処理装置1は、ステップS42で取得された色情報に基づき、ステップS41で取得された画素データを現ラインバッファ33Gまたは33Bに格納し、ステップS46の動作へ移る。
ステップS46において、画像処理装置1は、ステップS41で取得された画素データが0ライン目の画素データか否かを判断し、0ライン目の画素データであると判断された場合には(S46:YES)、ステップS47の動作へ移り、0ライン目の画素データでないと判断された場合には(S46:NO)、ステップS48の動作へ移る。
ステップS47において、画像処理装置1は、ステップS42で取得された色情報に基づき、現ラインバッファ33Gまたは33BからステップS45で格納された画素データを取得し、補間用データ記憶部62からG色またはB色の補間用データを取得し、これら2つのデータから補間により補正後の0ライン目の画素データを算出し、ステップS49の動作へ移る。
ステップS48において、画像処理装置1は、ステップS42で取得された色情報に基づき、現ラインバッファ33Gまたは33BからステップS45で格納された画素データを取得し、前ラインバッファ34Gまたは34Bから、当該画素データと主走査方向位置が同じ同色の画素データを取得し、これら2つの画素データから補間により補正後の画素データを算出し、ステップS49の動作へ移る。
ステップS49において、画像処理装置1は、ステップS47またはS48で算出された画素データがライン端の画素データであるか否かを判断し、ライン端の画素データであると判断された場合には(S49:YES)、ステップS50の動作へ移り、ライン端の画素データでないと判断された場合には(S49:NO)、ステップS51の動作へ移る。
ステップS50において、画像処理装置1は、ステップS48で補正処理が行われた色の現ラインバッファに格納されている1ライン分の画像データを、当該色の前ラインバッファに移し、ステップS51の動作へ移る。
ステップS51において、画像処理装置1は、ステップS47またはS48で算出された補正後の画素データを制御部105に出力し、ステップS52の動作へ移る。
ステップS52において、画像処理装置1は、全ラインの画像データを出力したか否かを判断し、出力したと判断された場合には(S52:YES)、処理を終了させ、出力していないと判断された場合には(S52:NO)、ステップS41の動作に戻る。
以上の処理により、補正後のR色、G色、およびB色の0ライン目〜Nライン目の画像データが、画像処理装置1から制御部105に出力される。
以上説明した実施の形態1〜3において、画像処理装置2の機能は、電子回路などのハードウェア資源のみにより実現されてもよいし、ハードウェア資源とソフトウェアとの協働により実現されてもよい。ハードウェア資源とソフトウェアとの協働により実現される場合、画像処理装置2の機能は、例えば画像処理プログラムがコンピュータにより実行されることによって実現される。より具体的には、画像処理装置2の機能は、ROM(Read Only Memory)等の記録媒体に記録された画像処理プログラムが主記憶装置に読み出されて中央処理装置(CPU: Central Processing Unit)により実行されることによって実現される。画像処理プログラムは、光ディスク等のコンピュータ読み取り可能な記録媒体に記録されて提供されてもよいし、インターネット等の通信回線を介して提供されてもよい。
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の態様で実施することができる。
例えば、上記の実施の形態では、画像処理装置をスキャナに適用した場合を例示したが、画像処理装置は、スキャナ機能およびプリンタ機能を有する複合印刷機やコピー機、ファクシミリ装置などにも適用可能である。