(57)【要約】【課題】  複数の読取デバイスが主走査方向に一次元的に複数配列されて構成されたイメージセンサを備えた画像読取装置において、画像を縮小処理する際に必要なメモリ空間を低減することを目的とする。【解決手段】  ラインイメージセンサ１１によって読み取られた各チャンネル毎の画素信号は、ＡＦＥ１２にて画素データに変換された後、有効画素データが切り出されて縮小処理部２６へ入力される。縮小処理部２６は、設定されているデータ縮小率に基づいて、順次入力される画素データを所定間隔で間引く。そして、間引き対象でない画素データのみ、即ち縮小処理後の画素データが、ラインメモリ書込み部２８及びメモリ制御部２７を介してメモリ制御部２７へ書き込まれる。【選択図】  図１
2005210599.tif 000002
【特許請求の範囲】
【請求項１】
主走査方向に配列された画素毎の受光素子からなるラインセンサが該主走査方向に複数配列されて構成されたイメージセンサと、
前記各ラインセンサ毎に設けられ、該ラインセンサを構成する前記各受光素子から得た画素信号を該受光素子の配列順に出力する出力手段と、
前記各出力手段からの画素信号を、デジタル信号としての画素データに変換して出力する変換手段と、
前記変換手段から出力される前記画素データをデータ格納用メモリに書き込む書込手段と、
を備えた画像読取装置であって、
前記変換手段から出力される画素データのうち前記書込手段が書き込むべき画素データの割合を示すデータ縮小率を設定するデータ縮小率設定手段と、
前記各ラインセンサに対応して各々設けられ、前記変換手段から出力される前記画素データのうち対応する前記ラインセンサの画素データを取り込んで、該取り込んだ画素データのうち前記データ縮小率設定手段にて設定されたデータ縮小率に応じた所定数の画素データのみを出力する縮小処理手段と、
を備え、
前記書込手段は、前記縮小処理手段から出力された画素データを前記データ格納用メモリに書き込む
ことを特徴とする画像読取装置。
【請求項２】
前記各縮小処理手段は、前記変換手段からの前記画素データの取り込みを、対応する前記ラインセンサを構成する前記各受光素子の配列順に行い、該取り込んだ画素データを、前記データ縮小率に応じた所定の間隔毎に間引きながら順次出力する
ことを特徴とする請求項１記載の画像読取装置。
【請求項３】
前記各縮小処理手段が各々出力した画素データを前記各ラインセンサの配列順且つ前記各受光素子の配列順に並べた場合に、全体として前記所定の間隔毎に前記画素データが間引かれた状態となるように、最初に間引きを行うタイミングを前記各縮小処理手段毎に設定するオフセット設定手段を備えている
ことを特徴とする請求項２記載の画像読取装置。
【請求項４】
前記各縮小処理手段は、
前記変換手段からの前記画素データを取り込む毎に、ｎビット（ｎは自然数）の被加算値とｎビットの加算値とを加算演算すると共に、該加算演算結果の下位ｎビットを次の加算演算における前記被加算値とするｎ＋１ビットの加算手段と、
前記加算手段による加算演算によって桁上げが生じたか否かを判定する桁上げ判定手段と、
前記桁上げ判定手段によって桁上げが生じなかったと判定された場合に、対応する前記画素データを間引いて前記書込手段側へ出力しないようにする間引き設定手段と、
を備え、
前記加算値及び前記被加算値の初期値は、前記画素データを取り込む毎に前記加算手段が行う前記加算演算において、前記所定の間隔毎に桁上げが生じないように夫々設定されている
ことを特徴とする請求項２記載の画像読取装置。
【請求項５】
前記データ縮小率に２nを乗じて得られる乗算結果の整数部分を前記加算値として設定する加算値設定手段と、
主走査方向に配列された前記各ラインセンサのうち最初のラインセンサに対応した前記縮小処理手段に対しては、０〜２n−１における所定の値を前記被加算値の初期値として設定し、更に、前記各縮小処理手段において次式（１）の除算を行った結果の剰余を、隣接する次のラインセンサに対応した前記縮小処理手段における前記被加算値の初期値として設定するオフセット設定手段と、
を備えたことを特徴とする請求項４記載の画像読取装置。
（ｂ・ｋ＋ａ）／２n  ・・・（１）
（但し、ｂは前記加算値、ｋは当該縮小処理手段に対応したラインセンサを構成する前記各受光素子のうち有効な画素信号を出力する有効画素数、ａは当該縮小処理手段において設定された前記被加算値の初期値である。）
【請求項６】
前記データ縮小率設定手段は、前記データ縮小率をｍ／Ｒ（但し、ｍ，Ｒはいずれも自然数であってｍ＜Ｒ）に設定可能であり、
前記各縮小処理手段は、
０〜（Ｒ−１）までをループしてカウントするものであって前記変換手段からの前記画素データを取り込む毎に該カウントを行うカウンタと、
前記カウンタのカウント値が所定の間引き実行値であるか否かを判定する間引き実行値判定手段と、
前記間引き実行値判定手段によって前記間引き実行値であると判定された場合に、対応する前記画素データを間引いて前記書込手段側へ出力しないようにする間引き設定手段と、
により構成され、
前記間引き実行値は、前記所定の間隔毎に前記カウント値が前記間引き実行値となるように一又は複数設定されている
ことを特徴とする請求項２記載の画像読取装置。
【請求項７】
前記データ縮小率設定手段は、前記データ縮小率を（Ｒ−１）／Ｒ（但し、Ｒは２以上の自然数）に設定可能であり、
前記各縮小処理手段は、
０〜（Ｒ−１）までをループしてカウントするものであって前記変換手段からの前記画素データを取り込む毎に該カウントを行うカウンタと、
前記カウンタのカウント値が所定の間引き実行値であるか否かを判定する間引き実行値判定手段と、
前記間引き実行値判定手段によって前記間引き実行値であると判定された場合に、対応する前記画素データを間引いて前記書込手段側へ出力しないようにする間引き設定手段と、
により構成され、
更に、
前記各縮小処理手段に対して共通の前記間引き実行値を設定する間引き実行値設定手段を備えている
ことを特徴とする請求項２記載の画像読取装置。
【請求項８】
前記各縮小処理手段毎に、該各縮小処理手段を構成する前記カウンタの初期値を各々設定するカウンタ初期値設定手段を備え、
該カウンタ初期値設定手段は、
主走査方向に配列された前記各ラインセンサのうち最初のラインセンサに対応した前記縮小処理手段に対しては、０〜（Ｒ−１）における所定の値を前記カウンタの初期値として設定し、更に、前記各縮小処理手段において次式（２）の除算を行った結果の剰余を、隣接する次のラインセンサに対応した前記縮小処理手段における前記カウンタの初期値として設定する
ことを特徴とする請求項７記載の画像読取装置。
（ｋ＋ｃ）／Ｒ  ・・・（２）
（但し、ｋは当該縮小処理手段に対応したラインセンサを構成する前記各受光素子のうち有効な画素信号を出力する有効画素数、ｃは当該縮小処理手段において設定された前記カウンタの初期値である）
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一次元配列された受光素子を搭載したイメージセンサを用いて画像を読み取る画像読取装置に関する。
【背景技術】
【０００２】
従来、一次元に配列された受光素子を搭載したイメージセンサを用いて、原稿から画像を読み取り、画像データを生成する画像読取装置が知られている。このような画像読取装置は、例えばコピー機、ファクシミリ装置、スキャナ装置、或いはこれらの各装置を一つの装置としてまとめた複合機などに組み込まれている。
【０００３】
イメージセンサとしては、例えばＣＣＤ（Charge Coupled Devices）方式のイメージセンサや、ＣＩＳ（Contact Image Sensor；密着型イメージセンサ）などが知られているが、特にＣＩＳは、原稿幅と同じ幅にイメージセンサが配置される構造上、ＣＣＤ方式のイメージセンサで読み取る場合のように被写体像を縮小させるための複雑な光学系が不要となるため、ＣＣＤ方式よりも大幅な小型・軽量化が可能となり、画像読取装置として近年多用されている。
【０００４】
ＣＩＳの具体的な構成として、一般に、以下のようなものが知られている。一つは、受光素子が一次元配列された単一の読取デバイスで構成された単一出力型のイメージセンサ（ＣＩＳ）である。この単一出力型のイメージセンサでは、単一の読取デバイスの主走査方向の長さが主走査方向１ライン分の画像を読み取り可能な長さであり、且つ読み取った画素信号を単一の読取デバイスが順次出力するのである。
【０００５】
もう一つは、受光素子が一次元配列された読取デバイスを読み取り対象原稿の主走査方向に複数並べることにより構成された並行出力型のイメージセンサ（ＣＩＳ）である。この並行出力型のイメージセンサでは、主走査方向における１ライン分の画像を各読取デバイスによって分割して読み取って、その読み取った画素信号を各読取デバイスが並行出力するのである。この並行出力型のイメージセンサは、単一出力型のイメージセンサと比較して、１ライン分の画像読み取り時間を短縮することが可能となる（例えぱ、特許文献１参照。）。
【０００６】
例えば二つの読取デバイスを、各受光素子が主走査方向に一次元的に並ぶように隣接配置して構成したＣＩＳでは、原稿の左半分の読み取りデータと原稿の右半分の読み取りデータとを同時に出力できるため、高速な原稿読み取りが可能となる。しかし、原稿の左右のデータは各読取デバイスから夫々出力されるため、これらの読取デバイスから順次取り込まれる画素信号の位置関係は不連続である。
【０００７】
そこで、このように不連続な状態で順次取り込まれた画素信号を、イメージセンサを構成する各受光素子の主走査方向における一次元的な配列順（以下「主走査方向配列順」ともいう）と一致させるために、上記特許文献１には、取り込んだ画素データを一旦メモリに全て格納し、それを読み出す際の読み出しアドレスを制御することによって主走査方向配列順に読み出しを行うようにすることが開示されている。
【０００８】
更に、画像の縮小処理（或いは低解像度処理）を行う場合、その目的の倍率となるような周期で画素データの間引きを行うのであるが、上記特許文献１においては、メモリに格納された画素データを読み出す際のアドレス制御によって、縮小倍率に応じた周期で画素データを間引きながら読み取ることが開示されている。
【特許文献１】特開平９−１３０５９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１に開示された縮小処理方法では、画素データの記憶に必要なメモリ空間を低減することが困難であった。例えば、Ｂ４サイズの原稿幅までを読み取ることが可能なＣＩＳを搭載しているものの、記録は最大でＡ４サイズの幅までしか対応していない複合機を考えてみる。この複合機は、ファクシミリ送信時には、原稿の主走査方向の読取解像度が低解像度（例：２００ｄｐｉ）であり、コピー時、プリンタ出力時、及びファクシミリ受信時には一般にオフィス等で標準的に用いられるＡ４サイズの記録用紙の幅方向の記録解像度が高解像度（例：６００ｄｐｉ）であるとする。
【００１０】
この場合、読取可能範囲としてはＢ４サイズの幅で、且つ読取解像度が６００ｄｐｉのイメージセンサ（ＣＩＳ）の使用が望まれる。このようなＣＩＳを用いる場合、ファクシミリ送信においては６００ｄｐｉ→２００ｄｐｉの解像度変換（１／３縮小）を行い、主走査方向に２００ｄｐｉでＢ４幅分の送信用データを作成することとなる。一方、コピー時には、Ｂ４サイズの原稿から読み取った画像データをＡ４サイズの記録紙に記録するため、Ｂ４→Ａ４変換（約５／６縮小）を行うことにより、主走査方向の解像度６００ｄｐｉでＡ４幅分の記録用データを作成することとなる。
【００１１】
このことから、主走査方向の１ライン当たり６００ｄｐｉでＡ４幅分のメモリを用意しておけぱ、ファクシミリ送信時における送信用データもコピー時における記録データも格納することができるため、これら二つの読取機能を達成できると考えられる。しかし、ＣＩＳで読み取った全ての画素データを一旦全てメモリに格納し、それらデータの並べ替え等を行うとすると、１ライン当たり６００ｄｐｉでＢ４幅分のメモリが必要となってしまう。
【００１２】
つまり、記録できるのは最大Ａ４幅までであるにも拘わらず、画素データを記憶するメモリは、Ｂ４幅の原稿の画素データを記憶できる容量の大きいものを備えておく必要があるのである。メモリが大きくなればその分コストも上昇するため、このように、記録可能な記録媒体の最大サイズに拘わらず、読み取り可能な最大幅の記録媒体に対応したメモリを用意する必要があることは、低コスト化への大きな障害となっている。
【００１３】
本発明は上記課題に鑑みなされたものであり、複数の読取デバイスが主走査方向に一次元的に複数配列されて構成されたイメージセンサを備えた画像読取装置において、画像を縮小処理する際に必要なメモリ空間を低減することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するためになされた請求項１記載の発明は、主走査方向に配列された画素毎の受光素子からなるラインセンサが該主走査方向に複数配列されて構成されたイメージセンサと、前記各ラインセンサ毎に設けられ、該ラインセンサを構成する前記各受光素子から得た画素信号を該受光素子の配列順に出力する出力手段と、前記各出力手段からの画素信号を、デジタル信号としての画素データに変換して出力する変換手段と、前記変換手段から出力される前記画素データをデータ格納用メモリに書き込む書込手段と、を備えた画像読取装置であって、データ縮小率設定手段と、前記各ラインセンサに対応して各々設けられた縮小処理手段とを備える。
【００１５】
データ縮小率設定手段は、前記変換手段から出力される画素データのうち前記書込手段が書き込むべき画素データの割合を示すデータ縮小率を設定する。また、前記各ラインセンサに対応して各々設けられた縮小処理手段は、前記変換手段から出力される前記画素データのうち対応する前記ラインセンサの画素データを取り込んで、該取り込んだ画素データのうち前記データ縮小率設定手段にて設定されたデータ縮小率に応じた所定数の画素データのみを出力する。そして、前記書込手段は、前記縮小処理手段から出力された画素データを前記データ格納用メモリに書き込むよう構成されている。
【００１６】
イメージセンサは、複数のラインセンサが主走査方向に配列されることにより、イメージセンサ全体として各受光素子が主走査方向に一列（一次元）に配列された状態となっている。各ラインセンサからの画素信号は、夫々対応する出力手段によって受光素子の配列順（例えば主走査方向の配列順）で出力され、変換手段にて画素データに変換される。
【００１７】
そして、変換手段からの画素データは、夫々対応する縮小処理手段に取り込まれる。各縮小処理手段は、それぞれ各ラインセンサに対応したもの、即ち、各縮小処理手段は対応するラインセンサからの画素信号が変換手段にて変換された画素データを取り込むよう構成されている。
【００１８】
変換手段からの画素データがどの縮小処理手段に対応したものであるか、即ちどのラインセンサに対応したものであるかは、例えば変換手段が、対応するラインセンサを示すデータを画素データと共に出力し、各縮小処理手段が、画素データと共に入力されたデータに基づいて自身が取り込むべき画素データか否かを判断するようにしてもよい。また例えば、変換手段が対応する縮小処理手段にのみ直接出力するようにしてもよいし、変換手段と各縮小処理手段との間に出力先を識別する手段を設けてその手段が対応する縮小処理手段へ画素データを出力するようにしてもよい。尚、変換手段からの画素データの出力は、シリアルデータ列として順次一つずつシリアル出力してもよいし、各ラインセンサ毎（つまり各縮小処理手段毎）にパラレル出力してもよい。
【００１９】
そして、各縮小処理手段は、取り込んだ画素データのうち、データ縮小率設定手段にて設定されたデータ縮小率に応じた所定数の画素データのみを出力する。これにより、変換手段からの画素データは、データ縮小率が１の等倍の場合を除き、全てが書込手段によってデータ格納用メモリに格納されるのではなく、縮小処理手段から出力された所定数（データ縮小率に応じた数）のデータだけがデータ格納用メモリに格納されることになる。
【００２０】
つまり、上記構成の画像読取装置によれば、書込手段がデータ格納用メモリに画素データを書き込む前に、各縮小処理手段が縮小処理を行う（即ち、データ縮小率に基づく所定数の画素データのみを出力する）ため、必要となる１ラインあたりのメモリ空間が主走査方向の縮小処理結果分で済み、メモリ空間の低減が可能となる。
【００２１】
そのため、例えば、Ｂ４幅の原稿を読み取り可能なＣＩＳを搭載しているものの記録は最大Ａ４幅までしか対応していないような既述の複合機の場合、Ｂ４幅全ての画素データを書き込む必要はなく、１ラインあたりＡ４幅分の画素データを書き込み可能なデータ格納用メモリを搭載すれば足りる。
【００２２】
また、読み取り可能な原稿最大幅と記録可能な記録媒体最大幅がいずれも同じである場合であっても、画素データを記録するための物理的なメモリ容量は低減することはできないものの、縮小処理する場合は縮小処理後の画素データがデータ格納用メモリに書き込まれることになるため、例えばCPU等のメモリを制御する手段がメモリにアクセスする量を低減することができ、CPU等の処理負荷を低減することが可能となる。
【００２３】
尚、ここでいう縮小処理とは、読み取った画像を縮小して記録するための処理だけでなく、読み取った画像の解像度を低減させて記録するための処理も含むものとする。
ここで、各縮小処理手段は、例えば請求項２に記載のように、前記変換手段からの前記画素データの取り込みを、対応する前記ラインセンサを構成する前記各受光素子の配列順に行い、該取り込んだ画素データを、前記データ縮小率に応じた所定の間隔毎に間引きながら順次出力するよう構成するとよい。例えば、データ縮小率が１／２に設定されている場合は、上記配列順に取り込んだ画素データに対し、間引きを行う場合と行わない場合とを交互に繰り返しながら書込手段へ出力する、といった具合である。
【００２４】
このように構成された画像読取装置によれば、データ縮小率に応じた所定間隔で画素データが間引かれるため、間引き後の画素データに基づいて縮小画像や低解像度画像などを記録媒体に記録する際、画質の良好な画像を得ることができる。
【００２５】
ここで、上記のように所定間隔で画素データの間引きを行った場合、各ラインセンサを個別にみれば確かに所定間隔で間引かれていても、イメージセンサ全体、つまり１ライン分全体としてみたときに、必ずしも１ライン全体に渡って一定周期で間引かれているとは限らない。即ち、例えば全てのラインセンサにおいて最初に間引きを行うタイミングを一律に設定すると、各ラインセンサを構成する受光素子の数によっては、隣接するラインセンサの接続部分における間引き間隔が上記所定間隔とは異なってしまうことが起こりうるのである。
【００２６】
そこで、上記請求項２記載の画像読取装置は、例えば請求項３に記載したように、前記各縮小処理手段が各々出力した画素データを前記各ラインセンサの配列順且つ前記各受光素子の配列順に並べた場合に、全体として前記所定の間隔毎に前記画素データが間引かれた状態となるように、最初に間引きを行うタイミングを前記各縮小処理手段毎に設定するオフセット設定手段を備えるとよい。
【００２７】
このように構成された画像読取装置によれば、各ラインセンサにおける間引き間隔が所定間隔になるのはもちろん、１ライン全体としても所定間隔で間引かれた状態となるため、縮小画像や低解像度画像などを記録媒体に記録する際、より良好な画質の画像を得ることが可能となる。
【００２８】
一方、縮小処理手段は、具体的には、例えば請求項４に記載のように、前記変換手段からの前記画素データを取り込む毎に、ｎビット（ｎは自然数）の被加算値とｎビットの加算値とを加算演算すると共に、該加算演算結果の下位ｎビットを次の加算演算における前記被加算値とするｎ＋１ビットの加算手段と、前記加算手段による加算演算によって桁上げが生じたか否かを判定する桁上げ判定手段と、前記桁上げ判定手段によって桁上げが生じなかったと判定された場合に、対応する前記画素データを間引いて前記書込手段側へ出力しないようにする間引き設定手段と、を備えた構成にするとよい。そして、前記加算値及び前記被加算値の初期値を、前記画素データを取り込む毎に前記加算手段が行う前記加算演算において、前記所定の間隔毎に桁上げが生じないように夫々設定する。
【００２９】
つまり、各縮小処理手段は、自身に対応した画素データを取り込む毎に上記加算演算を行い、桁上げが生じればその取り込んだ画素データを書込手段側へ出力するが、桁上げが生じなかった場合はその画素データを間引く（出力しない）のである。具体的には、例えばデータ縮小率が１／２の場合、加算演算を行う毎に桁上げが生じる場合と生じない場合とが交互に発生するように上記加算値及び被加算値の初期値を設定すれば、結果として間引きを行う場合と行わない場合とが交互に繰り返されることになる。
【００３０】
従って、上記のように構成された画像読取装置によれば、画素データが取り込まれる毎に行う加算演算における桁上げの有無に基づいて間引きを行うか否かが判定されるため、間引き判定を比較的簡単な構成で実現することができ、延いては装置全体の構成を簡素化することができる。
【００３１】
そしてこの場合、例えば請求項５に記載のように、上記加算値を設定する加算値設定手段と、上記被加算値の初期値を設定するオフセット設定手段と、を備えたものであるとより好ましい。
【００３２】
加算値設定手段は、前記データ縮小率に２nを乗じて得られる乗算結果の整数部分を前記加算値として設定する。つまり、加算値は、データ縮小率に応じて定められる一定の値である。
【００３３】
一方、オフセット設定手段は、主走査方向に配列された前記各ラインセンサのうち最初のラインセンサに対応した前記縮小処理手段に対しては、０〜２n−１における所定の値を前記被加算値の初期値として設定し、更に、前記各縮小処理手段において次式（１）の除算を行った結果の剰余を、隣接する次のラインセンサに対応した前記縮小処理手段における前記被加算値の初期値として設定する。
【００３４】
（ｂ・ｋ＋ａ）／２n  ・・・（１）
（但し、ｂは前記加算値、ｋは当該縮小処理手段に対応したラインセンサを構成する前記各受光素子のうち有効な画素信号を出力する有効画素数、ａは当該縮小処理手段において設定された前記被加算値の初期値である。）
ここで「最初のラインセンサ」とは、複数のラインセンサからなるイメージセンサの一端から主走査方向へ画像を読み取る場合における、最初に読み取りが開始される上記「一端」のラインセンサである。
【００３５】
上記式（１）によって被加算値の初期値が得られるのは、次に述べる考えに基づく。即ち、各ラインセンサにおける最終画素データに対して縮小処理（加算手段による加算演算）を行った後の演算結果を知ることができれば、その演算結果の下位ｎビットを、そのラインセンサの次に（主走査方向に）隣接するラインセンサに対応した被加算値の初期値として設定することができる。
【００３６】
一つのラインセンサにおいては、画素データが取り込まれる度に、一定値である上記加算値を加算し、桁上げが生じた場合はその桁上げ分を除いて他のビットを次の被加算値として設定するようにしており、これをラインセンサにおける有効画素の数だけ繰り返すことになる。そのため、上記式（１）の除算演算を行えば、その商はラインセンサにおける桁上げの発生回数（書込手段へ出力する画素データ数）となり、その剰余が、最終画素データに対する縮小処理後の下位ｎビット値となる。そこで、この剰余を、隣接する次のラインセンサにおける被加算値の初期値に設定すれば、隣接するラインセンサ相互間で間引き間隔が乱れることなく上記所定間隔で間引きが行われるようになるのである。
【００３７】
従って、上記構成の画像読取装置によれば、加算手段における加算値及び被加算値が夫々適切に設定されることにより、１ライン全体として所定間隔で間引かれた状態となるため、縮小画像や低解像度画像などを記録媒体に記録する際、より良好な画質の画像を得ることが可能となる。
【００３８】
一方、縮小処理手段を上記のように加算手段等により構成する方法の他、例えば請求項６に記載のように、カウンタを利用して構成することもできる。即ち、請求項６記載の画像読取装置は、前記データ縮小率設定手段が、前記データ縮小率をｍ／Ｒ（但し、ｍ，Ｒはいずれも自然数であってｍ＜Ｒ）に設定可能であり、前記各縮小処理手段は、カウンタと、間引き実行値判定手段と、間引き設定手段と、を備えたものである。
【００３９】
カウンタは、０〜（Ｒ−１）までをループしてカウントするものであって、前記変換手段からの前記画素データを取り込む毎に該カウントを行う。そして、該カウンタのカウント値が所定の間引き実行値であるか否かを間引き実行値判定手段が判定し、間引き実行値であると判定された場合に、間引き設定手段が、対応する前記画素データを間引いて前記書込手段側へ出力しないようにする。間引き実行値は、前記所定の間隔毎に前記カウント値が前記間引き実行値となるように一又は複数設定されている。
【００４０】
このようにすれば、データ縮小率に応じて間引き実行値を適宜設定することにより、カウンタ値が間引き実行値となった場合に対応する画素データが間引かれるため、上記請求項４と同様、間引き判定を比較的簡単な構成で実現することができ、延いては装置全体の構成を簡素化することができる。
【００４１】
この場合に、データ縮小率設定手段が前記データ縮小率を（Ｒ−１）／Ｒ（但し、Ｒは２以上の自然数）に設定可能な構成となっている場合は、例えば請求項７記載のように、各縮小処理手段に対して共通の間引き実行値を設定する間引き実行値設定手段を備えるようにしてもよい。つまり、各縮小処理手段毎に間引き実行値を独自設定するのではなく、各ラインセンサ共通の間引き実行値を設定するのである。
【００４２】
そしてこの場合、各縮小処理手段が備えるカウンタの初期値をどのように設定するかによって、隣接するラインセンサ相互間の間引き間隔が上記所定間隔とは異なったものになってしまうことも十分に起こり得る。
【００４３】
そこで、例えば請求項８に記載のように、各縮小処理手段毎に、該縮小処理手段を構成する前記カウンタの初期値を各々設定するカウンタ初期値設定手段を備えるとよい。このカウンタ初期値設定手段は、主走査方向に一次元配列された前記各ラインセンサのうち最初のラインセンサに対応した前記縮小処理手段に対しては、０〜（Ｒ−１）における所定の値を前記カウンタの初期値として設定し、更に、前記各縮小処理手段において、次式（２）の除算を行った結果の剰余を、隣接する次のラインセンサに対応した前記縮小処理手段における前記カウンタの初期値として設定する。
【００４４】
（ｋ＋ｃ）／Ｒ  ・・・（２）
（但し、ｋは当該縮小処理手段に対応したラインセンサを構成する前記各受光素子のうち有効な画素信号を出力する有効画素数、ｃは当該縮小処理手段において設定された前記カウンタの初期値である）
上記式（２）は、各ラインセンサにおける最終画素データに対して縮小処理（カウンタのインクリメント）を行った後のカウント値を知ることができれば、そのカウント値を更にインクリメントした値を、そのラインセンサの次に（主走査方向に）隣接するラインセンサに対応したカウンタの初期値として設定することができる、という考えに基づいて導出されるものである。
【００４５】
従って、上記構成の画像読取装置によれば、各カウンタの初期値が夫々適切に設定されることにより、１ライン全体として所定間隔で間引かれた状態となるため、縮小画像や低解像度画像などを記録媒体に記録する際、より良好な画質の画像を得ることが可能となる。
【発明を実施するための最良の形態】
【００４６】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
図１は、本発明の画像読取装置としての機能を備える複合機１の内部構成を示す概略ブロック図である。本実施形態の複合機１は、少なくとも、原稿の画像をラインイメージセンサ１１によって読み取る画像読取装置としての機能と、その読み取った画像や、外部のホストコンピュータ（以下「ホストPC」という）２から送信されてきた画像データ等を、記録エンジン１５によって記録用紙等の記録媒体に記録するプリンタとしての機能と、を併せ持ったものである。
【００４７】
図１に示す如く、本実施形態の複合機１は、原稿の画像を読み取るラインイメージセンサ（ＣＩＳ）１１と、ラインイメージセンサ１１から得られる画素毎の画素信号をデジタルデータとしての画素データに変換するアナログフロントエンド（AFE）１２と、AFE１２からの画素データに対して各種処理を行う画像読取制御部１３と、画像読取制御部１３において各種処理された画素データを一旦記憶するためのメモリ１４と、画像読取制御部１３において各種処理された画素データに基づいて記録媒体への記録を行う記録エンジン１５と、記録媒体のサイズや後述するデータ縮小率などの当該複合機１における各種設定をユーザが外部から行うための操作パネル１６と、を備えている。
【００４８】
上記構成の複合機１では、ラインイメージセンサ１１を用いて原稿から画像を読み取り、その画像読み取りの際にラインイメージセンサ１１の各チャンネル（本実施形態ではｃｈ１，ｃｈ２，ｃｈ３）から出力される画素信号、即ちラインイメージセンサ１１を構成する各ｃｈの読取デバイス６，７，８（図２，図４参照。詳細は後述。）からの画素信号ＯＵＴ１，ＯＵＴ２，ＯＵＴ３を、AFE１２に入力する。
【００４９】
AFE１２は、内部にマルチプレクサとアナログデジタル変換器を備えている。そして、ラインイメージセンサ１１から得た各ｃｈの画素信号を所定パターンで順次アナログデジタル変換器に入力してデジタルデータとしての画素データに変換し、その画素データ（ＡＤ＿ＤＡＴＡ）を、マルチプレクサの動作に従う所定パターンのシリアルデータ列で、AFE１２から画像読取制御部１３内のサンプリング制御部２５に入力する。
【００５０】
画像読取制御部１３は、ＡＳＩＣ（Application Specific Integrated Circuit ）として構成されており、上記サンプリング制御部２５の他、当該複合機１を統括制御するCPU２１や、レジスタ群２２，Ｉ／Ｆ制御部２０、デバイス制御部２３、タイミング制御部２４、縮小処理部２６、メモリ制御部２７、ラインメモリ書込み部２８、ラインメモリ読み出し部２９、画像処理部３０、画像処理結果メモリ書込み部３１、記録制御部３２、パネル制御部３３、などが内蔵されている。
【００５１】
ラインイメージセンサ１１は、図２（ａ）に示すように、ｃｈ１読取デバイス６と、ｃｈ２読取デバイス７と、ｃｈ３読取デバイス８と、を備え、各読取デバイス６，７，８はいずれも、複数（本実施形態では説明を容易にするため、１２個）の受光素子を備えている。但し、ラインイメージセンサ１１の両端部に位置する所定数の受光素子からの画素信号、具体的にはｃｈ１読取デバイス６における０〜３の４つの受光素子及びｃｈ３読取デバイス８における３２〜３５の４つの受光素子からの画素信号は、出力され且つ画素データに変換されるものの、その画素データは後段のサンプリング制御部２５にて無効として扱われる。そして、それ以外の受光素子、即ち図２（ａ）において「読取り有効範囲」として示されている範囲内の受光素子（４〜３１）が有効画素となって、その画素信号が、後段のサンプリング制御部２５において有効な画素データＳＰ＿ＤＡＴＡとして扱われ、縮小処理部２６に出力されることになる。
【００５２】
より具体的には、図２（ｂ）に示すように、デバイス制御部２３からラインイメージセンサ１１へ出力されるスタート信号ＣＩＳ＿ＳＩによってラインイメージセンサ１１がその動作を開始し、同じくデバイス制御部２３からラインイメージセンサ１１へ出力される読取基準クロックＣＩＳ＿ＣＬＫに基づいて、各ｃｈの読取デバイス６，７，８が夫々主走査方向配列順に画素信号ＯＵＴ１〜３を出力する。そして、既述のように、後段のサンプリング制御部２５から出力される（換言すれば、縮小処理部２６に順次取り込まれる）画素データＳＰ＿ＤＡＴＡは、ｃｈ１における無効画素０〜３及びｃｈ３における無効画素３２〜３５に対応した画素データを除くものとなる。
【００５３】
ラインイメージセンサ１１は、更に詳しくは図４に示すように構成されている。図４は、ラインイメージセンサ１１及びAFE１２の概略構成を示す説明図である。図４に示す如く、ｃｈ１読取デバイス６は、０〜１１までの１２個の受光素子が主走査方向配列順に一次元配列されたラインセンサ６ａと、各受光素子とバッファアンプ６ｄとの間に各々設けられたスイッチ６ｂと、これら各スイッチ６ｂを、主走査方向配列順に順次オンするためのシフトレジスタ６ｃと、を備える。各スイッチ６ｂは、具体的にはＭＯＳトランジスタ等の半導体スイッチング素子にて構成されたものである。
【００５４】
シフトレジスタ６ｃには、図２（ｂ）に示したスタート信号ＣＩＳ＿ＳＩ及び読取基準クロックＣＩＳ＿ＣＬＫが入力され、読取基準クロックＣＩＳ＿ＣＬＫに基づいて、各スイッチ６ｂを主走査方向配列順に順次オンするための信号を出力する。つまり、まず最初の受光素子（０）に対応したスイッチ６ｂがオンされることによってその画素信号がバッファアンプ６ｄを介してAFE１２へ入力され、続いて次の受光素子（１）に対応したスイッチ６ｂがオンされることによってその画素信号がバッファアンプ６ｄを介してAFE１２へ入力される。これが、最後の受光素子（１１）に対応したスイッチ６ｂがオンされるまで順次繰り返される。
【００５５】
一方、ｃｈ２読取デバイス７もｃｈ１読取デバイス６と同様に、１２〜２３までの１２個の受光素子が主走査方向配列順に一次元配列されたラインセンサ７ａと、各受光素子とパッファアンプ７ｄとの間に各々設けられたスイッチ７ｂと、これら各スイッチ７ｂを、主走査方向配列順に順次オンするためのシフトレジスタ７ｃと、を備える。また、ｃｈ３読取デバイス８もｃｈ１読取デバイス６と同様に、２４〜３５までの１２個の受光素子が主走査方向配列順に一次元配列されたラインセンサ８ａと、各受光素子とバッファアンプ８ｄとの間に各々設けられたスイッチ８ｂと、これら各スイッチ８ｂを、主走査方向配列順に順次オンするためのシフトレジスタ８ｃと、を備える。
【００５６】
ｃｈ２読取デバイス７の各スイッチ７ｂもｃｈ３読取デバイス８の各スイッチ８ｂもｃｈ１読取デバイス６の各スイッチ６ｂと同様にＭＯＳトランジスタ等の半導体スイッチング素子にて構成されたものである。これらのｃｈ２読取デバイス７及びｃｈ３読取デバイス８についても、ｃｈ１読取デバイス６と全く同様に動作するため、ここではその説明を省略する。
【００５７】
ＡＦＥ１２は、相関二重サンプリング回路（ＣＤＳ）４１〜４３と、オフセット調整回路（ＯＦＳ）４４〜４６と、アンプ４７〜４９と、マルチプレクサ（ＭＵＸ）５０と、アナログデジタル変換器（ＡＤＣ）５１と、を備えている。このＡＦＥ１２は三つのチャンネルｃｈ１〜３に対応した構成となっており、上記相関二重サンプリング回路４１〜４３、オフセット調整回路４４〜４６、及びアンプ４７〜４９は、各ｃｈごとに備えられている。
【００５８】
即ち、ラインイメージセンサ１１を構成するｃｈ１読取デバイス６からの画素信号ＯＵＴ１は、ｃｈ１に対応した相関二重サンプリング回路４１、オフセット調整回路４４、及びアンプ４７を介してマルチプレクサ５０に入力される。また、ｃｈ２読取デバイス７からの画素信号ＯＵＴ２は、ｃｈ２に対応した相関二重サンプリング回路４２、オフセット調整回路４５、及びアンプ４８を介してマルチプレクサ５０に入力される。更に、ｃｈ３読取デバイス８からの画素信号ＯＵＴ３は、ｃｈ３に対応した相関二重サンプリング回路４３、オフセット調整回路４６、及びアンプ４９を介してマルチプレクサ５０に入力される。
【００５９】
相関二重サンプリング回路４１〜４３は、一般的にはＣＣＤ方式のイメージセンサからの画素信号を、時間をずらして２度サンプリングすることによって、ノイズ成分を除去する機能を有する。しかし、ここでは図示しないＡＦＥレジスタを設定して、単純なサンプル・ホールド（Ｓ／Ｈ）回路として動作させている。即ち、ラインイメージセンサ１１から出力される画素信号の所定タイミングでのアナログ・レベルを取り込み、Ａ／Ｄ変換を行うまでの間、そのレベルを保持するのである。
【００６０】
オフセット調整回路４４〜４６は、各ｃｈ１〜３の入力信号に対してオフセット電圧を加える構成にされている。アンプ４７〜４９は、入力信号に対しての利得を調整可能な周知のアナログアンプである。各アンプの利得はそれぞれ、図示しないゲインレジスタに設定されており、この設定値を変更することで利得を任意に設定することができる。
【００６１】
マルチプレクサ５０は、三つの入力チャンネルと一つの出力チャンネルを備えており、各入力チャンネルは、対応するアンプ４７〜４９の出力端に接続され、出力チャンネルはアナログデジタル変換器５１に接続されている。このマルチプレクサ５０は、図示しないレジスタの設定値に従うパターン（本実施形態ではｃｈ１，ｃｈ２，ｃｈ３の順）で、三つのアンプ４７〜４９からの入力信号のいずれかを選択して順次アナログデジタル変換器５１へ入力するよう構成されている。
【００６２】
尚、相関二重サンプリング回路４１〜４３における各チャンネルの画素信号ＯＵＴ１〜３の取り込みは、サンプリングクロックＡＦＥ＿ＳＭＰに基づいて行われ、アナログデジタル変換器５１における画素データへの変換は、変換基準クロックＡＤ＿ＣＬＫに基づいて行われる。
【００６３】
ここで再び図１に戻って説明する。Ｉ／Ｆ制御部２０は、外部のホストＰＣ２との間における各種データの送受信を制御するインターフェイスである。レジスタ群２２には、当該複合機１の動作に必要な各種パラメータ等が、主としてＣＰＵ２１により設定される。タイミング制御部２４は、当該複合機１を動作させるための基準となるタイミング信号をデバイス制御部２３へ出力する他、内部にＬカウンタ及びＤカウンタを備えており、これら各カウンタのカウント値に基づいて、有効画素データのみを取り込むための各ｃｈ毎の有効範囲指定信号ＯＵＴ１＿ＥＮ，ＯＵＴ２＿ＥＮ，ＯＵＴ３＿ＥＮや、サンプリング制御部２５において順次取り込む画素データのｃｈを指定するｃｈ指定信号を、サンプリング制御部２５へ出力する。
【００６４】
デバイス制御部２３は、タイミング制御部２４からのタイミング信号に基づいて、既述のスタート信号ＣＩＳ＿ＳＩ、読取基準クロックＣＩＳ＿ＣＬＫ、サンプリングクロックＡＦＥ＿ＳＭＰ、変換基準クロックＡＤ＿ＣＬＫなどを生成し出力することにより、ラインイメージセンサ１１やＡＦＥ１２を制御する。
【００６５】
サンプリング制御部２５は、AFE１２から順次出力される画素データのうち、タイミング制御部２４からの有効範囲指定信号ＯＵＴ１＿ＥＮ〜ＯＵＴ３＿ＥＮ及びｃｈ指定信号（後述するＤカウンタのカウント値）に基づいて、有効画素に対応した画素データ（ＳＰ＿ＤＡＴＡ）を、その画素データのチャンネルを示すチャンネルフラグ（ＳＰ＿ＦＬＧ）と共に縮小処理部２６へ出力する。またその際、画素データ及びチャンネルフラグを出力したことを示す画素データ出力信号ＳＰ＿ＲＤＹも併せて縮小処理部２６へ出力する。
【００６６】
縮小処理部２６は、サンプリング制御部２５から入力された有効画素データに対して、ユーザによる操作パネル１６からの入力操作等によって設定されたデータ縮小率に基づく縮小処理を施し、その縮小処理後の画素データ（ＲＤ＿ＤＡＴＡ）を出力するものである。縮小処理の詳細については後述するが、概略的には図３に示す通りである。尚、以下の説明では、ラインイメージセンサ１１を構成する３６個の受光素子（０〜３５）に対応した画素データをそれぞれＤ０〜Ｄ３５と称する。
【００６７】
即ち、縮小処理部２６には、図２（ｂ）の最下部にも示したように、各チャンネルの有効画素に対応した画素データが、Ｄ１２（ｃｈ２）からＤ２３（ｃｈ２）まで順次取り込まれる。このときＤ０〜Ｄ３、及びＤ３２〜Ｄ３５が無効画素データとして取り込まれないのは既述の通りである。そして、このように取り込まれた各画素データが、各チャンネル毎に所定間隔で間引かれる。
【００６８】
本実施形態では、Ｂ４幅の原稿を読み取ってＡ４幅の記録媒媒体に記録する際の縮小率に相当する５／６がデータ縮小率として設定されている。そのため、各チャンネル毎に、取り込んだ画素データが６個おきに間引かれるようにされている。但し、各チャンネルの画素データを主走査方向配列順に並びかえたときにもその間引き間隔が一定となるように、ｃｈ２及びｃｈ３における最初の間引きタイミングは、後述の設定方法によって所定のタイミング（本実施形態ではいずれも４番目の画素データであるＤ１５，Ｄ２７）に設定される。
【００６９】
これにより、ｃｈ１では６番目の画素データＤ９が間引かれる。ｃｈ２では、最初にＤ１５が間引かれ、そこから更に６番目の画素データＤ２１も間引かれる。その画素データＤ２１から更に６番目の画素データは本例では存在しない。ｃｈ３では、最初にＤ２７が間引かれるが、そこから更に６番目の画素データは本例では存在しない。その結果、本実施形態では、取り込まれた画素データのうち４つの画素データＤ９，Ｄ１５，Ｄ２１，Ｄ２７が間引かれ、それ以外の画素データ（ＲＤ＿ＤＡＴＡ）が縮小処理結果として縮小処理部２６からラインメモリ書込み部２８へ出力されることになる。
【００７０】
そして、その出力された画素データは、ラインメモリ書込み部２８によって主走査方向配列順に並び替えられてメモリ１４へ書き込まれるか、或いは、そのままメモリ１４に書き込まれた後、再び読み出される際にラインメモリ読み出し部２９によって並び替えられる。つまり、ラインメモリ書込み部２８は、縮小処理部２６からの画素データをメモリ１４に書き込む際の書き込みアドレスを制御するものであり、ラインメモリ読み出し部２９は、メモリ１４に書き込まれた画素データを読み出す際の読み出しアドレスを制御するものである。
【００７１】
尚、ここでいう「データ縮小率」とは、読み取った原稿の画像を縮小して記録する際の縮小率に限らず、例えば読み取った画像の解像度を低下させて記録する際の解像度低下の割合なども含む。このデータ縮小率は、予め固定されたものであってもよいし、ユーザが自由に設定できるものであってもよい。
【００７２】
画像処理部３０は、ラインメモリ読み出し部２９によって読み出された画素データに対して、暗レベル補正、シェーディング補正、γ補正、ＭＴＦ補正、二値化などの各種画像処理を行う。そして、その画像処理後のデータは画像処理結果メモリ書込み部３１によってメモリ１４に書き込まれる。
【００７３】
メモリ制御部２７は、ラインメモリ書込み部２８、ラインメモリ読み出し部２９、画像処理結果メモリ書込み部３１、記録制御部３２等と、メモリ１４との間のデータ読み書きを中継するものであり、メモリ１４との間で調停を行いつつ、指定されたアドレスに基づいてデータの読み書きを制御する。
【００７４】
記録制御部３２は、画像処理結果メモリ書込み部３１によりメモリ１４に書き込まれた画像処理後のデータを、操作パネル１６による指示やホストＰＣ２からの指示に応じてメモリ１４から読み出し、記録エンジン１５へ出力する。パネル制御部３３は、操作パネル１６においてユーザ等が操作（入力）した内容を内部のＣＰＵ２１等へ伝送したり、複合機１の動作状態等を操作パネル１６に表示させたりする。
【００７５】
次に、上記構成の複合機１において、ラインイメージセンサ１１による画像読み取り動作、及びサンプリング制御部２５が有効画素データのみを出力する動作について、図５及び図６のタイムチャートに基づいて説明する。
【００７６】
まず、図２（ｂ）でも説明した通り、スタート信号ＣＩＳ＿ＳＩの入力によって読み取り動作が開始され、読取基準クロックＣＩＳ＿ＣＬＫが入力される毎に、ラインイメージセンサ１１からの各画素信号ＯＵＴ１，ＯＵＴ２，ＯＵＴ３が夫々、ＡＦＥ１２内の相関二重サンプリング回路４１〜４３に取り込まれる。本実施形態では、スタート信号ＣＩＳ＿ＳＩ立ち下がり後の最初の読取基準クロックＣＩＳ＿ＣＬＫの立ち下がりタイミングで、ｃｈ１における最初の受光素子（０）からの画素信号と、ｃｈ２における最初の受光素子（１２）からの画素信号と、ｃｈ３における最初の受光素子（２４）からの画素信号と、が各々ＡＦＥ１２に取り込まれる。
【００７７】
そして、取り込まれた各画素信号は、各相関二重サンプリング回路４１〜４３において、サンプリングクロックＡＦＥ＿ＳＭＰに基づいてサンプリングされ、サンプリング終了後、所定期間経過後に、アナログデジタル変換器５１によって順次画素データ（ＡＤ＿ＤＡＴＡ）Ｄ０，Ｄ１２，Ｄ２４に変換され出力される。以後同様に、読取基準クロックＣＩＳ＿ＣＬＫの立ち下がりタイミング毎に各チャンネルの画素信号が、受光素子の走査方向配列順に順次ＡＦＥ１２に入力されてサンプリングクロックＡＦＥ＿ＳＭＰに基づいてサンプリングされ、アナログデジタル変換器５１によって順次画素データ（ＡＤ＿ＤＡＴＡ）に変換され出力される。
【００７８】
アナログデジタル変換器５１による画素データへの変換は、より詳細には図６に示す通りである。図６は、図５のタイムチャートにおいて、ＡＤ＿ＤＡＴＡとしてＤ１５からＤ２９までの画素データが出力される期間を抽出して示したものである。本図に示す通り、当該複合機１のシステム基準クロックＳＣＬＫの１８周期分を、各チャンネルにおける一つの画素信号を取り込む期間（１画素周期）としている。
【００７９】
そして、デバイス制御部２３は、一画素周期中に各チャンネルの画素信号を一つずつＡＤ変換できるように、即ち、本実施形態では３チャンネルの画素信号をシステム基準クロックＳＣＬＫの１８周期内に一つずつＡＤ変換して出力できるように、システム基準クロックＳＣＬＫの６周期分を一周期とする変換基準クロックＡＤ＿ＣＬＫを生成してＡＦＥ１２に出力する。
【００８０】
これにより、ＡＦＥ１２からは、サンプリングクロックＡＦＥ＿ＳＭＰによって各チャンネルの画素信号を取り込んだ後、その立ち下がりタイミングから、変換基準クロックＡＤ＿ＣＬＫの約２．５周期分遅れたタイミングで画素データ出力が開始される。つまり、例えばｃｈ１読取デバイス６における６番目の受光素子（５）からの画素信号は、サンプリングクロックＡＦＥ＿ＳＭＰによってサンプリングされた後、その立ち下がりタイミングから変換基準クロックＡＤ＿ＣＬＫの約２．５周期分遅れたタイミングで画素データＤ５に変換される。そして、ｃｈ２の画素データＤ１７及びｃｈ３の画素データＤ２９も、Ｄ５に続いて、変換基準クロックＡＤ＿ＣＬＫのタイミング毎に順次得られる。
【００８１】
そして、このように変換された各画素データ（ＡＤ＿ＤＡＴＡ）をサンプリング制御部２５が取り込むタイミングは、タイミング制御部２４が備えるＤカウンタのカウント値に基づく。このＤカウンタは、１画素周期毎に、システム基準クロックＳＣＬＫの周期で０〜１７までのカウントを繰り返すカウンタであって、サンプリング制御部２５がＡＦＥ１２からの画素データ（ＡＤ＿ＤＡＴＡ）を取り込むタイミングを決めるカウンタである。そして、本実施形態では、このＤカウンタのカウント値が１７のときにｃｈ１の画素データを取り込み、カウント値が５のときにｃｈ２の画素データを取り込み、カウント値が１１のときにｃｈ３の画素データを取り込むよう設定されている。
【００８２】
そのため、例えばｃｈ１の画素データＤ５は、Ｄカウンタのカウント値が１７になったときにサンプリング制御部２５により取り込まれ、ｃｈ２の画素データＤ１７はＤカウンタのカウント値が５になったときにサンプリング制御部２５により取り込まれ、ｃｈ３の画素データＤ２９はＤカウンタのカウント値が１１になったときにサンプリング制御部２５により取り込まれる。
【００８３】
一方、サンプリング制御部２５は、既述の通り、有効画素データのみを取り込み、無効画素に対応した画素データは取り込まないのだが、これは、タイミング制御部２４が備えるＬカウンタのカウント値に基づいてそのタイミング制御部２４から出力される有効範囲指定信号ＯＵＴ１＿ＥＮ、ＯＵＴ２＿ＥＮ、ＯＵＴ３＿ＥＮに基づいて行われる。
【００８４】
図５に示す如く、Ｌカウンタは１画素周期毎に０〜１５までカウントアップされるカウンタである。そして、ｃｈ１に対応した有効範囲指定信号ＯＵＴ１＿ＥＮは、このＬカウンタのカウント値が７になったときにHighレベルとなり、カウント値が１５になると再びLow レベルとなる。この有効範囲指定信号ＯＵＴ１＿ＥＮは、タイミング制御部２４からサンプリング制御部２５へ出力されており、サンプリング制御部２５は、この有効範囲指定信号ＯＵＴ１＿ＥＮがHighレベルの期間中にのみ、ｃｈ１に対応した画素データを取り込むのである。そのため、Low レベル期間中に入力される画素データＤ０〜Ｄ３は取り込まれないのである。
【００８５】
ｃｈ２に対応した有効範囲指定信号ＯＵＴ２＿ＥＮは、Ｌカウンタのカウント値が３になったときから１５になるまでの期間中にHighレベルとなるため、ｃｈ２に対応した全ての画素データが取り込まれる。一方、ｃｈ３に対応した有効範囲指定信号ＯＵＴ３＿ＥＮは、Ｌカウンタのカウント値が３になったときから１１になるまでの期間中にHighレベルとなる。そのため、Low レベル期間中に入力される画素データＤ３２〜Ｄ３５は取り込まれないのである。
【００８６】
そして、サンプリング制御部２５は、取り込んだ有効画素データ（ＳＰ＿ＤＡＴＡ）を縮小処理部２６へ出力するのであるが、その際、既述の通り、チャンネルフラグ（ＳＰ＿ＦＬＧ）及び画素データ出力信号ＳＰ＿ＲＤＹも併せて縮小処理部２６へ出力する。
【００８７】
次に、縮小処理部２６の具体的構成及びその動作について、図７及び図８に基づいて説明する。図７に示す如く、縮小処理部２６は、デコーダ５５と、各チャンネルに対応して設けられた縮小処理回路（ｃｈ１縮小処理回路５６、ｃｈ２縮小処理回路５７、ｃｈ３縮小処理回路５８）と、各縮小処理回路５６〜５８からの出力信号の論理和をとるＯＲ回路５９と、ラッチ６０と、を備える。
【００８８】
デコーダ５５は、チャンネルフラグ（ＳＰ＿ＦＬＧ）をデコードし、デコードの結果得られたチャンネルに対応した上記いずれかの縮小処理回路に対してセレクト信号Ｒ＿ＳＥＬを出力する。図８に示すように、例えば、ｃｈ１の画素データＤ４が入力されてきた場合、デコーダ５５は、その画素データＤ４と共に入力されたｃｈ１を示すチャンネルフラグ（ＳＰ＿ＦＬＧ）に基づき、ｃｈ１に対応したｃｈ１縮小処理回路５６へのセレクト信号Ｒ＿ＳＥＬ１をHighレベルにする。
【００８９】
また例えば、ｃｈ２の画素データＤ１６が入力されてきた場合、デコーダ５５は、その画素データＤ１６と共に入力されたｃｈ２を示すチャンネルフラグ（ＳＰ＿ＦＬＧ）に基づき、ｃｈ２に対応したｃｈ２縮小処理回路５７へのセレクト信号Ｒ＿ＳＥＬ２をHighレベルにする。また例えば、ｃｈ３の画素データＤ２８が入力されてきた場合、デコーダ５５は、その画素データＤ２８と共に入力されたｃｈ３を示すチャンネルフラグ（ＳＰ＿ＦＬＧ）に基づき、ｃｈ３に対応したｃｈ３縮小処理回路５８へのセレクト信号Ｒ＿ＳＥＬ３をHighレベルにする。
【００９０】
次に、各縮小処理回路５６〜５８の構成について説明するが、いずれもハード的な構成は全く同じであるため、ここでは代表的にｃｈ１縮小処理回路５６について説明する。ｃｈ１縮小処理回路５６は、画素データ出力信号ＳＰ＿ＲＤＹとセレクト信号Ｒ＿ＳＥＬ１との論理積をとるＡＮＤ回路６１と、８ビットの変倍パラメータＲ＿ＰＡＲＡ及び８ビットの被加算値ＣＮＴ１との加算演算を行う（詳細には、後述するようにさらに１を加算する）９ビットの加算器６３と、加算器６３における被加算値ＣＮＴ１の初期値が設定されるｃｈ１初期値レジスタ６４と、ＡＮＤ回路６１からの出力である更新タイミングＬＤ１がHighレベルになる毎に、最初はｃｈ１初期値レジスタ６４の設定値を設定し、その後は加算器６３による加算結果のキャリー（桁上げ）を除く下位８ビットの値（ＳＵＭ＿Ｄ１）を設定して加算器６３の被加算値ＣＮＴ１として出力する被加算レジスタ６５と、ＡＮＤ回路６１からの出力と加算器６３によるキャリービットとの論理積をとるＡＮＤ回路６２と、を備えている。変倍パラメータＲ＿ＰＡＲＡは、データ縮小率に応じてＣＰＵ２１がレジスタ群２２に設定する。
【００９１】
このように構成されたｃｈ１縮小処理回路５６は、ｃｈ１対応の画素データ（ＳＰ＿ＤＡＴＡ）が取り込まれる毎に、変倍パラメータＲ＿ＰＡＲＡに「１」を加えた値と被加算値ＣＮＴ１との加算演算を行い、加算結果のキャリーが１（Highレベル）であれば、ＡＮＤ回路６２の出力Ｒ＿ＲＤＹ１がHighレベルとなる。これにより、ＯＲ回路５９からの出力ＲＤ＿ＲＤＹもHighレベルとなるため、サンプリング制御部２５からの画素データ（ＳＰ＿ＤＡＴＡ）及びチャンネルフラグ（ＳＰ＿ＦＬＧ）は間引かれることなくラッチ６０によってラッチされ、ラインメモリ書込み部２８に対して画素データ（ＲＤ＿ＤＡＴＡ）及びチャンネルフラグ（ＲＤ＿ＦＬＧ）として出力される。尚この場合、ＳＰ＿ＤＡＴＡとＲＤ＿ＤＡＴＡ、及びＳＰ＿ＦＬＧとＲＤ＿ＦＬＧは、いずれも呼称を替えているだけであって内容自体は同じものである。
【００９２】
一方、加算器６３による加算の結果、キャリーが０（Low レベル）ならば、ＡＮＤ回路６２の出力Ｒ＿ＲＤＹ１の出力もLow レベルとなってＯＲ回路５９からの出力ＲＤ＿ＲＤＹもLow レベルとなるため、サンプリング制御部２５からの画素データ（ＳＰ＿ＤＡＴＡ）はラッチ６０によってラッチされず、間引かれることになる。
【００９３】
ここで、説明を簡易化するために、変倍パラメータＲ＿ＰＡＲＡに「１」を加えた値を加算値「Ｂ」とし、被加算値ＣＮＴ１を被加算値「Ａ」とおくと、加算器６３では「Ａ＋Ｂ」の加算を行うことになる。このうちＢは、データ縮小率に応じて下記式（３）により定まる。
【００９４】
Ｂ＝（データ縮小率）・２n  ・・・  （３）
但し、少数部分は切り捨てるものとする。また、ｎは加算器６３の演算ビット数（本実施形態では「８」）である。
【００９５】
従って、本実施形態では、データ縮小率として５／６が設定されているため、５／６に２５６を乗じて得られる「２１３」が加算値Ｂとなり、この加算値Ｂから１を減じた値が変倍パラメータＲ＿ＰＡＲＡとなる。また、被加算値Ａの初期値としては、０〜２n−１（つまり０〜２５５）の範囲で任意に設定できるが、本実施形態では、１を加算するだけでキャリーが生じるように、最大値である「２５５」をｃｈ１初期値レジスタ６４に設定する。
【００９６】
ｃｈ１の最初の有効画素データであるＤ４が入力されると、図８に示す如く、更新タイミングＬＤ１がHighレベルになる。これにより、被加算レジスタ６５にはまずｃｈ１初期値レジスタ６４の設定値である被加算初期値「２５５」が設定される。そして、加算器６３では、上記の加算演算「Ａ＋Ｂ」、即ち「２５５＋２１３」の加算が行われる。この加算結果は「４６８」となるため、キャリーが生じることになり、ＡＮＤ回路６２からの出力Ｒ＿ＲＤＹ１はHighレベルとなる（図８）。よって、その入力された画素データＤ４及びｃｈ１対応であることを示すチャンネルフラグ（ＲＤ＿ＦＬＧ）がラインメモリ書込み部２８へ出力される。
【００９７】
またこのとき、加算結果の下位８ビット値（ＳＵＭ＿Ｄ１）である「２１２」は、次にｃｈ１対応の画素データが入力されて再び更新タイミングＬＤ１がHighレベルとなったときに、被加算値ＣＮＴ１（被加算値Ａ）として被加算レジスタ６５に設定される。つまり、次にｃｈ１対応の画素データが入力されたときは、その更新された被加算値「２１２」と上記加算値Ｂである「２１３」とが加算演算されることになる。
【００９８】
尚、有効画素データＤ４が入力されるまでは、被加算レジスタ６５には被加算値Ａが設定されていない状態であるため、加算器６３からのＳＵＭ＿Ｄ１は、図８にも示す通り、変倍パラメータＲ＿ＰＡＲＡに１を加えた値（つまり加算値Ｂ）である「２１３」である。また、被加算値Ａの初期値の設定、及び、上記式（３）に基づく加算値Ｂの導出及び設定は、ＣＰＵ２２により行われる。
【００９９】
このように、ｃｈ１縮小処理回路５６では、ｃｈ１対応の画素データが入力される毎に加算器６３による加算演算が繰り返される。その結果、ｃｈ１については図９（ａ）に示すような演算過程となり、画素データがＤ４，Ｄ５，Ｄ６，Ｄ７・・・と順次入力される毎に、加算結果は４６８，４２５，３８２，３３９・・・となる。そして、６番目の画素データＤ９が取り込まれたとき、加算結果は２５３となってキャリービットが生じない。そのため、この画素データＤ９は間引きされることになる。そして、ｃｈ１では、結果としてＤ４〜Ｄ８，Ｄ１０，Ｄ１１が間引きされずにラインメモリ書込み部２８へ出力される。
【０１００】
ｃｈ２縮小処理回路５７及びｃｈ３縮小処理回路５８の構成及び動作については、上述のｃｈ１縮小処理回路５６と同じであり、それぞれ対応する画素データが取り込まれる毎に加算器７３、加算器８３による加算演算が行われるため、その詳細説明を省略する。但し、ｃｈ２初期値レジスタ７４に設定される被加算初期値と、ｃｈ３初期値レジスタ８４に設定される被加算初期値の設定については、ｃｈ１の場合とは大きく異なる。そこで、これらの各被加算初期値の設定方法について説明する。
【０１０１】
ｃｈ２の被加算初期値及びｃｈ３の被加算初期値を、ｃｈ１の場合のように任意に設定すると、縮小処理後の１ライン分全ての画素データを主走査方向配列順に並べたとき、隣接するラインセンサ相互間（隣接するチャンネル相互間）で間引き間隔が不規則となり、画像に特異点が発生するおそれがある。
【０１０２】
そこで本実施形態では、縮小処理後の１ライン分全ての画素データを主走査方向配列順に並べたときに、全体として所定の間隔（本例では６画素間隔）で間引きが行われている状態となるように、ｃｈ２におけるｃｈ２初期値レジスタ７４及びｃｈ３におけるｃｈ３初期値レジスタ８４の設定値を決めている。
【０１０３】
具体的には、次式（４）の除算を行った結果の剰余を、隣接する次のチャンネルに対応した被加算初期値として設定するようにしている。
｛Ｂ・（有効画素数）＋（被加算初期値）｝／２n  ・・・（４）
これをｃｈ１に適用して、ｃｈ２の被加算初期値を求めてみる。ｃｈ１では、有効画素数が「８」であって、被加算初期値が「２５５」であり、２n＝２５６であるため、これらを上記式（４）に代入して演算すると、（２１３×８＋２５５）／２５６の演算となってその剰余は「１６７」となる。この剰余「１６７」は、図９（ａ）からも明らかな通り、ｃｈ１において最終画素データＤ１１が取り込まれたときの加算結果の下位８ビット値である。
【０１０４】
よって、この「１６７」が、図９（ｂ）に示す通り、隣接する次のチャンネルであるｃｈ２における被加算初期値として設定されることになる。そして、ｃｈ２において最初の画素データであるＤ１２が取り込まれると、被加算初期値である「１６７」と加算値Ｂである「２１３」とが加算器７３によって加算される。この結果は３８０となって、キャリービットが生じるため、画素データＤ１２は間引かれずにラインメモリ書込み部２８へ出力される。また、加算結果の下位８ビットである「１２４」は、次にｃｈ２の画素データが取り込まれた際の被加算値Ａとなる。
【０１０５】
このようにして、ｃｈ２縮小処理回路５７では、ｃｈ２対応の画素データが入力される毎に加算器７３による加算演算が繰り返される。その結果、ｃｈ２については図９（ｂ）に示すような演算過程となり、画素データがＤ１２，Ｄ１３，Ｄ１４，Ｄ１５・・・と順次入力される毎に、加算結果は３８０，３３７，２９４，２５１・・・となる。つまり、Ｄ１５が入力されたときの加算演算ではキャリービットが生じないため、このＤ１５は間引きされることになる。同様に、画素データＤ２１が取り込まれたときの加算結果もキャリービットが生じないため、このＤ２１も間引かれることになる。このことから、６画素間隔で間引きが行われていることがわかる。
【０１０６】
ｃｈ３における被加算初期値、即ちｃｈ３縮小処理回路５８内のｃｈ３初期値レジスタ８４に設定する値の導出についても、ｃｈ２の場合と同様である。即ち、上記式（４）をｃｈ２に適用して、ｃｈ３の被加算初期値を求めてみる。ｃｈ２では、有効画素数が「１２」であって、被加算初期値が「１６７」であるため、これらを上記式（４）に代入して演算すると、（２１３×１２＋１６７）／２５６の演算となってその剰余は「１６３」となる。この剰余「１６３」は、図９（ｂ）からも明らかな通り、ｃｈ２において最終画素データＤ２３が取り込まれたときの加算結果の下位８ビット値である。
【０１０７】
よって、この「１６３」が、図９（ｃ）に示す通り、隣接する次のチャンネルであるｃｈ３における被加算初期値として設定されることになる。そして、ｃｈ３において最初の画素データであるＤ２４が取り込まれると、被加算初期値である「１６３」と加算値Ｂである「２１３」とが加算器８３によって加算される。この結果は３７６となって、キャリービットが生じるため、画素データＤ２４は間引かれずにラインメモリ書込み部２８へ出力される。また、加算結果の下位８ビットである「１２０」は、次にｃｈ３の画素データが取り込まれた際の被加算値Ａとなる。
【０１０８】
このようにして、ｃｈ３縮小処理回路５８では、ｃｈ３対応の画素データが入力される毎に加算器８３による加算演算が繰り返される。その結果、ｃｈ３については図９（ｃ）に示すような演算過程となり、画素データがＤ２４，Ｄ２５，Ｄ２６，Ｄ２７・・・と順次入力される毎に、加算結果は３７６，３３３，２９０，２４７・・・となる。つまり、Ｄ２７が入力されたときの加算演算ではキャリービットが生じないため、このＤ２７は間引きされることになる。尚、上記のように、式（４）に基づいてｃｈ２，ｃｈ３の被加算初期値を導出し設定するのは、ＣＰＵ２１により行われる。
【０１０９】
このように、ｃｈ２における画素データＤ１５とｃｈ３における画素データＤ２７が間引かれることについては、図８にも表されている。図８に示す如く。サンプリング制御部２５から画素データ（ＳＰ＿ＤＡＴＡ）としてｃｈ２対応のＤ１５が入力されると、ｃｈ２縮小処理回路５７内の加算器７３の加算結果は「２５１」となってキャリービットが生じないため、ＡＮＤ回路７２の出力Ｒ＿ＲＤＹ２はLow レベルのままとなり、ＯＲ回路５９からの出力ＲＤ＿ＲＤＹもLow レベルのままである。そのため、画素データＤ１５はラッチ６０にてラッチされることなく、間引かれることになる。
【０１１０】
また、サンプリング制御部２５から画素データ（ＳＰ＿ＤＡＴＡ）としてｃｈ３対応のＤ２７が入力されると、ｃｈ３縮小処理回路５８内の加算器８３の加算結果は「２４７」となってキャリービットが生じないため、ＡＮＤ回路８２の出力Ｒ＿ＲＤＹ３はLow レベルのままとなり、ＯＲ回路５９からの出力ＲＤ＿ＲＤＹもLow レベルのままである。そのため、画素データＤ２７もラッチ６０にてラッチされることなく間引かれることになる。
【０１１１】
縮小処理部２６からラインメモリ書込み部２８へ入力される、縮小処理（間引き）後の画素データ（ＲＤ＿ＤＡＴＡ）は、このラインメモリ書込み部２８によって書き込み先のアドレスが設定され、その設定されたアドレスに従ってメモリ制御部２７が順次メモリ１４へ書き込む。
【０１１２】
このとき、各チャンネルの画素データが１ライン全体として主走査方向配列順に並び替えられた状態となるように書き込むか、或いは、とりあえず順次書き込みを行って、メモリ制御部２７がその書き込まれた画素データを読み出す際にｃｈ１から上記主走査方向配列順に読み出す（つまり並び替えを行いながら読み出す）かは、任意に決めることができる。前者の場合、ラインメモリ書込み部２８が、画素データ（ＲＤ＿ＤＡＴＡ）と共に入力されるチャンネルフラグ（ＲＤ＿ＦＬＧ）に基づいて書き込みアドレスを適宜制御すればよく、後者の場合は、ラインメモリ読み出し部が、画素データ（ＲＤ＿ＤＡＴＡ）と共にメモリ１４に記憶されているチャンネルフラグ（ＲＤ＿ＦＬＧ）に基づいて読み出しアドレスを適宜制御すればよい。
【０１１３】
このように、本実施形態の複合機１では、縮小処理部２６が縮小処理（即ち、データ縮小率に基づく画素データの間引き）を行い、その縮小処理後の画素データをメモリ１４に書き込むように構成されているため、必要となる１ラインあたりのメモリ空間が主走査方向の縮小処理結果分で済み、メモリ空間の低減が可能となる。
【０１１４】
そのため、当該複合機１が、例えば、Ｂ４幅の原稿を読み取り可能なラインイメージセンサ１１を搭載しているものの記録は最大Ａ４幅までしか対応していない場合は、Ｂ４幅全ての画素データをメモリ１４に書き込む必要はなく、１ラインあたりＡ４幅分の画素データを書き込み可能なメモリ１４を搭載すれば足りる。
【０１１５】
また、当該複合機１が、例えば、読み取り可能な原稿最大幅と記録可能な記録媒体最大幅がいずれも同じである場合であっても、画素データを記録するための物理的なメモリ容量は低減することはできないものの、縮小処理する場合は縮小処理後の画素データがメモリ１４に書き込まれることになるため、データ読み書き時におけるメモリ１４へのアクセス量が低減され、必要なバス帯域幅を節減してメモリアクセスを高速化することも可能となる。
【０１１６】
更に、縮小処理部２６における縮小処理では、データ縮小率に応じた所定間隔で画素データが間引かれるため、間引き後の画素データに基づいて縮小画像や低解像度画像などを記録媒体に記録する際、画質の良好な画像を得ることができる。
【０１１７】
更にまた、本実施形態の縮小処理部２６では、各ｃｈ毎に加算器を備えた縮小処理回路５６，５７，５８が設けられており、対応するｃｈの画素データ画取り込まれる毎に所定の加算演算を行って、キャリービットの有無に基づいて間引きを行うようにしている。そのため、縮小処理部２６を比較的簡単な構成で実現することができ、延いては複合機１全体の構成を簡素化することができる。
【０１１８】
しかも、各縮小処理回路５６，５７，５８を構成する各加算器６３，７３，８３の加算値Ｂをデータ縮小率に応じた値に設定すると共に、ｃｈ２縮小処理回路５７における被加算初期値及びｃｈ３縮小処理回路５８における被加算初期値は、それぞれその前のｃｈ（即ち主走査方向とは反対方向に隣接するｃｈ）における各種データを用いて上記式（４）により設定するようにしている。そのため、縮小処理後の１ライン分全ての画素データを主走査方向配列順に並べたときに、全体として所定の間隔（本例では６画素間隔）で間引きが行われている状態となり、縮小画像や低解像度画像などを記録媒体に記録する際、より良好な画質の画像を得ることが可能となる。
【０１１９】
また、画像処理部３０による各種画像処理が行われる前に、縮小処理部２６による縮小処理を行うようにしているため、画像処理対象の画素データが低減され、画像処理部３０の処理負荷を軽減することも可能となる。
【０１２０】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、ラインイメージセンサ１１は本発明のイメージセンサに相当し、ＡＦＥ１２は本発明の変換手段に相当し、メモリ１４は本発明のデータ格納用メモリに相当し、操作パネル１６は本発明のデータ縮小率設定手段に相当し、ＣＰＵ１２は本発明の加算値設定手段及びオフセット設定手段に相当し、上記式（４）は本発明の請求項５における式（１）に相当し、ｃｈ１縮小処理回路５６，ｃｈ２縮小処理回路５７，及びｃｈ３縮小処理回路５８はいずれも本発明の縮小処理手段に相当し、加算器６３，７３，８３はいずれも本発明の加算手段及び桁上げ判定手段に相当し、ＡＮＤ回路６２，７２，８２はいずれも本発明の間引き設定手段に相当する。
【０１２１】
また、ｃｈ１に対応するスイッチ６ｂ及びシフトレジスタ６ｃ、ｃｈ２に対応するスイッチ７ｂ及びシフトレジスタ７ｃ、ｃｈ３に対応するスイッチ８ｂ及びシフトレジスタ８ｃはそれぞれ、本発明の出力手段を構成する。更に、ラインメモリ書込み部２８及びメモリ制御部２７により本発明の書込手段が構成される。
【０１２２】
［第２実施形態］
上記実施形態の複合機１では、サンプリング制御部２５から取り込まれる画素信号に対して縮小処理を行う縮小処理部２６を、主として各チャンネル毎に設けたｃｈ１縮小処理回路５６，ｃｈ２縮小処理回路５７，及びｃｈ３縮小処理回路５８によって行うようにした。そして、これら各縮小処理回路５６〜５８は、それぞれ加算器を備え、自身のチャンネルに対応する画素データが取り込まれる毎に所定の加算演算を行って、キャリービットが生じなかった場合にその画素データを間引くことで、縮小処理を実現していた。
【０１２３】
これに対し、本実施形態では、データ縮小率が特定の倍率に固定されている。そして、画素データが取り込まれる毎にカウンタをインクリメントしていき、カウント値が予め設定した間引き点カウント値となったときに、その画素データを間引くようにしている。従って、本実施形態の複合機は、データ縮小率が固定されている（本実施形態では５／６）こと、及び縮小処理部２６の構成以外は、基本的に第１実施形態の複合機１と同じ構成である。そこで、本実施形態の縮小処理部２６について、図１０及び図１１に基づいて説明する。
【０１２４】
図１０に示す如く、本実施形態の縮小処理部２６は、デコーダ９１と、各チャンネルに対応して設けられた縮小処理回路（ｃｈ１縮小処理回路９２、ｃｈ２縮小処理回路９３、ｃｈ３縮小処理回路９４）と、各縮小処理回路９２〜９４からの出力信号の論理和をとるＯＲ回路９５と、ラッチ９６と、を備える。
【０１２５】
デコーダ９１は、第１実施形態の縮小処理部２６（図７参照）におけるデコーダ５５と全く同じ構成・機能であり、チャンネルフラグ（ＳＰ＿ＦＬＧ）をデコードし、デコードの結果得られたチャンネルに対応した上記いずれかの縮小処理回路に対してセレクト信号Ｒ＿ＳＥＬを出力する。
【０１２６】
次に、各縮小処理回路９２〜９４の構成について説明するが、いずれもハード的な構成は全く同じであるため、ここでは代表的にｃｈ１縮小処理回路９２について説明する。ｃｈ１縮小処理回路９２は、画素データ出力信号ＳＰ＿ＲＤＹとセレクト信号Ｒ＿ＳＥＬ１との論理積をとるＡＮＤ回路１０１と、予め設定される間引き点カウント値ＳＵＢとカウンタ１０５のカウント値ＣＮＴ１とを比較して、両者が一致したときに間引き実行信号（Highレベル信号）を出力する比較器１０３と、カウンタ１０５の初期値（カウンタ初期値）が設定されるｃｈ１初期値設定レジスタ１０４と、ｃｈ１初期値設定レジスタに設定された値（カウンタ初期値）を初期値として、ＡＮＤ回路６１からの出力である更新タイミングＣＮＴ＿ＥＮ１がHighレベルになる毎にカウントアップ（インクリメント）されるカウンタ１０５と、比較器１０３からの間引き実行信号をレベル反転したものとＡＮＤ回路６１からの出力との論理積をとる出力論理回路１０２と、を備えている。
【０１２７】
また、カウンタ１０５は、データ縮小率が（Ｒ−１）／Ｒ（但し、Ｒは２以上の自然数）のときに０〜（Ｒ−１）までをループしてカウントするものを用いればよい。本実施形態では、データ縮小率が５／６に固定されているため、カウンタ１０５として、０〜５までをループしてカウントするものを用いる。また、間引き点カウント値ＳＵＢは、０〜５までのカウント値のいずれかが予め設定されるものであり、本実施形態では「５」に設定されている。また、カウンタ１０５の初期値（カウンタ初期値）は、本実施形態では「０」としてｃｈ１初期値設定レジスタ１０４に設定されている。
【０１２８】
このように構成されたｃｈ１縮小処理回路９２は、ｃｈ１対応の画素データ（ＳＰ＿ＤＡＴＡ）が取り込まれる毎に、ＡＮＤ回路１０１の出力である更新タイミングＣＮＴ＿ＥＮ１がHighレベルとなる。そのため、そのときのカウント値ＣＮＴ１が間引き点カウント値ＳＵＢと異なっていれば、間引き実行信号がLow レベルとなって出力論理回路１０２の出力Ｒ＿ＲＤＹ１はHighレベルとなる。これにより、ＯＲ回路９５からの出力ＲＤ＿ＲＤＹもHighレベルとなるため、サンプリング制御部２５からの画素データ（ＳＰ＿ＤＡＴＡ）及びチャンネルフラグ（ＳＰ＿ＦＬＧ）は間引かれることなくラッチ９６によってラッチされ、ラインメモリ書込み部２８に対して画素データ（ＲＤ＿ＤＡＴＡ）及びチャンネルフラグ（ＲＤ＿ＦＬＧ）として出力される。
【０１２９】
また、ｃｈ１対応の画素データ（ＳＰ＿ＤＡＴＡ）が取り込まれたときのカウント値ＣＮＴ１が間引き点カウント値ＳＵＢと一致していれば、間引き実行信号がHighレベルとなって出力論理回路１０２の出力Ｒ＿ＲＤＹ１はLow レベルとなる。これにより、ＯＲ回路９５からの出力ＲＤ＿ＲＤＹもLow レベルとなるため、サンプリング制御部２５からの画素データ（ＳＰ＿ＤＡＴＡ）はラッチ９６によってラッチされず、間引かれることになる。
【０１３０】
一方、ｃｈ１対応の画素データ（ＳＰ＿ＤＡＴＡ）が取り込まれると、更新タイミングＣＮＴ＿ＥＮ１がHighレベルとなることにより、カウンタ１０５がインクリメントされる。但し、このインクリメントされた新たなカウント値は、当該画素データの次に取り込まれる画素データに対する間引き対象か否かの判定に用いられる。つまり、取り込まれた画素データが間引き対象であるか否かは、取り込まれた時点でのカウント値ＣＮＴ１（つまりインクリメントされる前の値）と間引き点カウント値ＳＵＢとが比較器１０３で比較されることにより行われる。
【０１３１】
図１１に示す如く、ｃｈ１の最初の有効画素データであるＤ４が入力されたとき、カウンタ１０５のカウント値はカウンタ初期値「０」であるため、比較器１０３からの間引き実行信号はLow レベルとなる。またこのとき、ＡＮＤ回路１０１からの出力である更新タイミングＣＮＴ＿ＥＮ１はHighレベルになっている。そのため、出力論理回路１０２の出力Ｒ＿ＲＤＹ１はHighレベルとなる。よって、その入力された画素データＤ４及びｃｈ１対応であることを示すチャンネルフラグ（ＲＤ＿ＦＬＧ）がラインメモリ書込み部２８へ出力される。
【０１３２】
またこのとき、カウンタ１０５は「０」から「１」にインクリメントされる。尚、ｃｈ１初期値レジスタ１０４へのカウント初期値の設定や、間引き点カウント値ＳＵＢの設定は、ＣＰＵ２２により行われる。
【０１３３】
このように、ｃｈ１縮小処理回路９２では、ｃｈ１対応の画素データが入力される毎に、そのときのカウント値と間引き点カウント値ＳＵＢとの比較が行われると共に、カウンタ１０５のインクリメントもなされる。その結果、ｃｈ１については図１２（ａ）に示すようなカウント過程となり、画素データがＤ４，Ｄ５，Ｄ６，Ｄ７・・・と順次入力される毎に、そのときのカウント値は０，１，２，３・・・となっている。そして、６番目の画素データＤ９が取り込まれたときのカウント値は５となっているため、間引き点カウント値ＳＵＢと一致する。そのため、この画素データＤ９は間引きされることになる。
【０１３４】
ｃｈ２縮小処理回路９３及びｃｈ３縮小処理回路９４の構成及び動作については、上述のｃｈ１縮小処理回路９２と同じであり、それぞれ対応する画素データが取り込まれる毎に比較器１１３、比較器１２３による比較が行われると共にカウント値がインクリメントされる。但し、ｃｈ２初期値レジスタ１１４に設定されるカウント初期値と、ｃｈ３初期値レジスタ１２４に設定されるカウント初期値の設定については、ｃｈ１の場合とは大きく異なる。そこで、これらの各カウント初期値の設定方法について説明する。
【０１３５】
ｃｈ２のカウント初期値及びｃｈ３のカウント初期値を、ｃｈ１の場合のように任意に設定すると、縮小処理後の１ライン分全ての画素データを主走査方向配列順に並べたとき、隣接するラインセンサ相互間（隣接するチャンネル相互間）で間引き間隔が不規則となり、画像に特異点が発生するおそれがある。
【０１３６】
そこで本実施形態では、縮小処理後の１ライン分全ての画素データを主走査方向配列順に並べたときに、全体として所定の間隔（本例では６画素間隔）で間引きが行われている状態となるように、ｃｈ２におけるｃｈ２初期値レジスタ１１４及びｃｈ３におけるｃｈ３初期値レジスタ１２４の設定値を決めている。
【０１３７】
具体的には、次式（５）の除算を行った結果の剰余を、隣接する次のチャンネルに対応したカウント初期値として設定するようにしている。
（有効画素数＋カウント初期値）／Ｒ  ・・・（５）
これをｃｈ１に適用して、ｃｈ２のカウント初期値を求めてみる。ｃｈ１では、有効画素数が「８」であって、カウント初期値が「０」であり、データ縮小率＝（Ｒ−１）／Ｒ＝５／６であることからＲ＝６であるため、これらを上記式（５）に代入して演算すると、（８＋０）／６の演算となってその剰余は「２」となる。この剰余「２」は、図１２（ａ）からも明らかな通り、ｃｈ１において最終画素データＤ１１が取り込まれたときにカウンタ１０５がインクリメントされた後のカウント値である。
【０１３８】
よって、この「２」が、図１２（ｂ）に示す通り、隣接する次のチャンネルであるｃｈ２におけるカウント初期値として設定されることになる。そして、ｃｈ２において最初の画素データであるＤ１２が取り込まれると、カウント値ＣＮＴ２は上記カウント初期値「２」となっているため、間引き点カウント値「５」とは一致しない。そのため、画素データＤ１２は間引かれずにラインメモリ書込み部２８へ出力される。またこのとき、カウンタ１１５においては、カウント値が「２」から「３」にインクリメントされる。この新たなカウント値「３」は、次にｃｈ２の画素データが取り込まれた際の間引き点カウント値との比較対象となる。
【０１３９】
このようにして、ｃｈ２縮小処理回路９３では、ｃｈ２対応の画素データが入力される毎に比較器１１３による比較及びカウンタ１１５のインクリメントが繰り返される。その結果、ｃｈ２については図１２（ｂ）に示すようなカウント過程となり、画素データがＤ１２，Ｄ１３，Ｄ１４，Ｄ１５・・・と順次入力される毎に、そのときのカウント値は２，３，４，５・・・となっている。つまり、Ｄ１５が取り込まれたときのカウント値は５となっているため、間引き点カウント値ＳＵＢである「５」と一致する。そのため、この画素データＤ１５は間引きされることになる。同様に、画素データＤ２１が取り込まれたときのカウント値も５となっているため、このＤ２１も間引かれることになる。
【０１４０】
ｃｈ３におけるカウント初期値、即ちｃｈ３縮小処理回路９４内のｃｈ３初期値レジスタ１２４に設定する値の導出についても、ｃｈ２の場合と同様である。即ち、上記式（５）をｃｈ２に適用して、ｃｈ３の被加算初期値を求めてみる。ｃｈ２では、有効画素数が「１２」であって、カウント初期値が「２」であるため、これらを上記式（５）に代入して演算すると、（１２＋２）／６の演算となってその剰余は「２」となる。この剰余「２」は、図１２（ｂ）からも明らかな通り、ｃｈ２において最終画素データＤ２３が取り込まれたときにカウンタ１１５がインクリメントされた後のカウント値である。
【０１４１】
よって、この「２」が、図１２（ｃ）に示す通り、隣接する次のチャンネルであるｃｈ３におけるカウント初期値として設定されることになる。そして、ｃｈ３において最初の画素データであるＤ２４が取り込まれると、カウント値ＣＮＴ３は上記カウント初期値「２」となっているため、間引き点カウント値「５」とは一致しない。そのため、画素データＤ２４は間引かれずにラインメモリ書込み部２８へ出力される。またこのとき、カウンタ１２５においては、カウント値が「２」から「３」にインクリメントされる。この新たなカウント値「３」は、次にｃｈ３の画素データが取り込まれた際の間引き点カウント値との比較対象となる。
【０１４２】
このようにして、ｃｈ３縮小処理回路９４では、ｃｈ３対応の画素データが入力される毎に比較器１２３による比較及びカウンタ１２５のインクリメントが繰り返される。その結果、ｃｈ３については図１２（ｃ）に示すようなカウント過程となり、画素データがＤ２４，Ｄ２５，Ｄ２６，Ｄ２７・・・と順次入力される毎に、そのときのカウント値は２，３，４，５・・・となっている。つまり、Ｄ２７が取り込まれたときのカウント値は５となっているため、間引き点カウント値ＳＵＢである「５」と一致する。そのため、この画素データＤ２７は間引きされることになる。尚、上記のように、式（５）に基づいてｃｈ２，ｃｈ３のカウント初期値を導出し設定するのは、ＣＰＵ２１により行われる。
【０１４３】
このように、ｃｈ２における画素データＤ１５とｃｈ３における画素データＤ２７が間引かれることについては、図１１にも表されている。図１１に示す如く。サンプリング制御部２５から画素データ（ＳＰ＿ＤＡＴＡ）としてｃｈ２対応のＤ１５が入力されると、ｃｈ２縮小処理回路９３内のカウンタ１１５のカウント値ＣＮＴ２は「５」となって間引き点カウント値と一致するため、間引き実行信号はhighレベルとなって出力論理回路１１２の出力Ｒ＿ＲＤＹ２はLow レベルのままとなり、ＯＲ回路９５からの出力ＲＤ＿ＲＤＹもLow レベルのままである。そのため、画素データＤ１５はラッチ９６にてラッチされることなく、間引かれることになる。
【０１４４】
また、サンプリング制御部２５から画素データ（ＳＰ＿ＤＡＴＡ）としてｃｈ３対応のＤ２７が入力されると、ｃｈ３縮小処理回路９４内のカウンタ１２５のカウント値ＣＮＴ３は「５」となって間引き点カウント値と一致するため、間引き実行信号はhighレベルとなって出力論理回路１２２の出力Ｒ＿ＲＤＹ３はLow レベルのままとなり、ＯＲ回路９５からの出力ＲＤ＿ＲＤＹもLow レベルのままである。そのため、画素データＤ２７はラッチ９６にてラッチされることなく、間引かれることになる。
【０１４５】
このように本実施形態では、画素データが取り込まれたときのカウント値が間引き実行カウント値ＳＵＢと一致しているときに、その画素データが間引かれるため、上記第１実施形態と同様、縮小処理部２６を比較的簡単な構成で実現することができ、延いては複合機１全体の構成を簡素化することができる。
【０１４６】
ここで、本実施形態において、間引き点カウント値ＳＵＢは本発明の間引き実行値に相当し、各比較器１０３，１１３，１２３はいずれも本発明の間引き実行値判定手段に相当し、各出力論理回路１０２，１１２，１２２はいずれも本発明の間引き設定手段に相当し、ＣＰＵ２１は本発明の間引き実行値設定手段及びカウンタ初期値設定手段に相当し、上記式（５）は本発明の請求項８における式（２）に相当する。
【０１４７】
尚、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記第１実施形態では、キャリービットが生じなかった場合に間引きを行うようにしたが、これとは逆に、キャリービットが生じた場合に、対応する画素データを間引くようにしてもよい。この場合、加算値及び被加算値の初期値は、上記所定の間隔毎（６画素間隔毎）にキャリービットが生じるように夫々設定すればよい。
【０１４８】
また、上記第２実施形態では、例えばｃｈ１対応の画素データが取り込まれたとき、既に比較器１０３に入力されているカウント値ＣＮＴ１と間引きカウント値ＳＵＢとの比較結果に基づいて間引き対象か否か判断し、インクリメント後のカウント値は次に取り込まれる画素データに対する間引き対象か否かの判定の際に用いるようにしたが、これに限らず、画素データを取り込む毎にインクリメントした新たなカウント値に基づいて、間引き対象か否かを判断するようにしてもよい。
【０１４９】
つまり、例えばｃｈ１において、４番目の画素データであるＤ４が入力されるまではカウント値を未定とし、Ｄ４が入力されたときに初めて、カウントアップ（ここでは未定状態からカウント初期値０にセット（インクリメント））する。そして、「０」は間引き対象ではないからＤ４は出力されることになり、以後ｃｈ１のデータが入力される毎に、カウンタ１０５をインクリメントして新しいカウント値が間引き対象であるか否か判断する、という具合である。ｃｈ２，ｃｈ３についても同様にすることができる。
【０１５０】
更に、上記第２実施形態では、データ縮小率が（Ｒ−１）／Ｒに固定されている場合について説明したが、これに限らずｍ／Ｒ（但し、ｍ＜Ｒ）に固定されているような場合についても、同じように０〜（Ｒ−１）までをループしてカウントするカウンタを用い、且つ、間引き点カウント値をそのデータ縮小率に応じて適宜設定することにより、縮小処理を行うことができる。
【０１５１】
例えば、データ縮小率が１／３に固定されている場合は、各カウンタ１０５，１１５，１２５として、０〜２までをループしてカウントするものを用いればよい。そしてこの場合、間引き点カウント値は、３つの画素データが順次入力されたときに２つを間引いて１つだけ出力されるように設定すればよく、例えば１，２に設定することができる。
【０１５２】
更にまた、上記各実施形態では、ラインイメージセンサ１１として、１２個の受光素子を備えたラインセンサを主走査方向に３つ隣接配置して構成されたものを示したが、各ラインセンサが備える受光素子の数や、１つのラインイメージセンサを構成するラインセンサの数が上記例に限定されないことはいうまでもない。
【０１５３】
一例として、２０４８個の受光素子を備えるラインセンサを３個（３ｃｈ分）隣接配置して構成したラインイメージセンサ１５０を図１３に示す。図１３に示す如く、このラインイメージセンサ１５０は、ｃｈ１のラインセンサ１５１の有効画素は７７〜２０４８であり、ｃｈ３のラインセンサ１５３の有効画素は４０９７〜６０６８である。
【０１５４】
そして、上記第１実施形態におけるラインイメージセンサがこの図１３のラインイメージセンサ１５０である場合であっても、上記同様に式（４）に基づいてｃｈ２及びｃｈ３の被加算初期値を導出でき、具体的には図１３に示すように、ｃｈ２の被加算初期値は「１９５」となり、ｃｈ３の被加算初期値も「１９５」となる。
【０１５５】
まず、上記式（４）をｃｈ１に適用して、ｃｈ２の被加算初期値を求めてみる。ｃｈ１では、有効画素数が「１９７２」であって、被加算初期値が「２５５」であるため、これらを上記式（４）に代入して演算すると、（２１３×１９７２＋２５５）／２５６の演算となってその剰余は「１９５」となる。また、上記式（４）をｃｈ２に適用して、ｃｈ３の被加算初期値を求めてみる。ｃｈ２では、有効画素数が「２０４８」であって、被加算初期値が「１９５」であるため、これらを上記式（４）に代入して演算すると、（２１３×２０４８＋１９５）／２５６の演算となってその剰余は「１９５」となる。
【０１５６】
また、上記第２実施形態におけるラインイメージセンサがこの図１３のラインイメージセンサ１５０である場合であっても、上記同様に式（５）に基づいてｃｈ２及びｃｈ３のカウント初期値を導出でき、具体的には図１３に示すように、ｃｈ２のカウント初期値は「４」となり、ｃｈ３のカウント初期値は「０」となる。
【０１５７】
まず、上記式（５）をｃｈ１に適用して、ｃｈ２のカウント初期値を求めてみる。ｃｈ１では、有効画素数が「１９７２」であって、カウント初期値が「０」であるため、これらを上記式（５）に代入して演算すると、（１９７２＋０）／６の演算となってその剰余は「４」となる。また、上記式（５）をｃｈ２に適用して、ｃｈ３のカウント初期値を求めてみる。ｃｈ２では、有効画素数が「２０４８」であって、カウント初期値が「４」であるため、これらを上記式（５）に代入して演算すると、（２０４８＋４）／６の演算となってその剰余は「０」となる。
【図面の簡単な説明】
【０１５８】
【図１】実施形態の複合機の内部構成を示す概略ブロック図である。
【図２】ラインイメージセンサにおける有効画素を説明するための説明図であり、（ａ）は読取り有効範囲を示す説明図、（ｂ）は各ｃｈの読取デバイスからの画素信号出力を示すタイムチャートである。
【図３】縮小処理及び縮小処理後の画素データ並び替えの概要を説明するための説明図である。
【図４】ラインイメージセンサ及びAFEの概略構成を示す説明図である。
【図５】ラインイメージセンサによる画像読み取りからサンプリング制御部による有効画素データの出力までの動作を説明するためのタイムチャートである。
【図６】図５のタイムチャートにおける、アナログデジタル変換動作をより詳細に説明するためのタイムチャートである。
【図７】第１実施形態の縮小処理部の内部構成を示す概略ブロック図である。
【図８】第１実施形態の縮小処理部の動作を説明するためのタイムチャートである。
【図９】画素データが取り込まれる毎に加算器が実行する加算演算の過程を示す説明図である。
【図１０】第２実施形態の縮小処理部の内部構成を示す概略ブロック図である。
【図１１】第２実施形態の縮小処理部の動作を説明するためのタイムチャートである。
【図１２】画素データが取り込まれる毎のカウント値の変化過程を示す説明図である。
【図１３】ラインイメージセンサの変形例と、それに対応した被加算初期値及びカウント初期値を示す説明図である。
【符号の説明】
【０１５９】
１…複合機、２…ホストＰＣ、６…ｃｈ１読取デバイス、６…ｃｈ１読取デバイス、６ａ，７ａ，８ａ，１５１，１５２，１５３…ラインセンサ、６ｂ，７ｂ，８ｂ…スイッチ、６ｃ，７ｃ，８ｃ…シフトレジスタ、６ｄ，７ｄ，８ｄ…バッファアンプ、７…ｃｈ２読取デバイス、８…ｃｈ３読取デバイス、１１，１５０…ラインイメージセンサ、１２…ＡＦＥ、１３…画像読取制御部、１４…メモリ、１５…記録エンジン、１６…操作パネル、２０…Ｉ／Ｆ制御部、２１…ＣＰＵ、２２…レジスタ群、２３…デバイス制御部、２４…タイミング制御部、２５…サンプリング制御部、２６…縮小処理部、２７…メモリ制御部、２８…ラインメモリ書込み部、２９…ラインメモリ読み出し部、３０…画像処理部、３１…画像処理結果メモリ書込み部、３２…記録制御部、３３…パネル制御部、４１〜４３…相関二重サンプリング回路、４４〜４６…オフセット調整回路、４７〜４９…アンプ、５０…マルチプレクサ、５１…アナログデジタル変換器、５５，９１…デコーダ、５６，９２…ｃｈ１縮小処理回路、５７，９３…ｃｈ２縮小処理回路、５８，９４…ｃｈ３縮小処理回路、５９，９５…ＯＲ回路、６０，９６…ラッチ、６１，６２，７１，７２，８１，８２，１０１，１１１，１２１…ＡＮＤ回路、６３，７３，８３…加算器、６４，１０４…ｃｈ１初期値レジスタ、６５，７５，８５…被加算レジスタ、７４，１１４…ｃｈ２初期値レジスタ、８４，１２４…ｃｈ３初期値レジスタ、１０２，１１２，１２２…出力論理回路、１０３，１１３，１２３…比較器、１０５，１１５，１２５…カウンタ
【図１】
2005210599.tif 000003
【図４】
2005210599.tif 000004
【図７】
2005210599.tif 000005
【図８】
2005210599.tif 000006
【図１０】
2005210599.tif 000007
【図１１】
2005210599.tif 000008
【図１３】
2005210599.tif 000009
【図２】
2005210599.tif 000010
【図３】
2005210599.tif 000011
【図５】
2005210599.tif 000012
【図６】
2005210599.tif 000013
【図９】
2005210599.tif 000014
【図１２】
2005210599.tif 000015