(57)【要約】【課題】  部品に要するコストを増加させないで、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合する。【解決手段】  画像処理装置３は、ラインの先頭から略１／２ライン分の前半データ列およびラインの末尾から略１／２ライン分の後半データ列をそれぞれバッファＬ４４およびバッファＲ４５に並行して書き込む。さらに、バッファＬ４４およびバッファＲ４５からのデータ読み出しを、書き込み時の略倍速の速度で行う。バッファＬ４４の読み出しは書き込み時と同順とし、バッファＲ４５の読み出しは書き込み時と逆順とし、バッファＬ４４の読み出し終了後に続いてバッファＲ４５の読み出しを行う。また、バッファＲ４５への書き込み時のアドレス順序を、順次入力される１ライン毎に反転させる【選択図】  図１
2005086703.tif 000002
【特許請求の範囲】
【請求項１】
１ライン分のデータとして、ラインの先頭から読み出してなる略１／２ライン分のデータである第１のデータ列と、ラインの末尾から読み出してなる略１／２ライン分のデータである第２のデータ列とが入力され、
第１のデータ列および第２のデータ列をそれぞれ第１のバッファ及び第２のバッファに並行して書き込み、
第１のバッファ及び第２のバッファからのデータ読み出しを、書き込み時の略倍速の速度で行い、かつ第１のバッファの読み出しは書き込み時と同順とし、第２のバッファの読み出しは書き込み時と逆順とし、第１のバッファの読み出し終了後に続いて第２のバッファの読み出しを行うと共に、
第２のバッファへの書き込み時のアドレス順序を、順次入力される１ライン毎に反転させることを特徴とする画像処理装置。
【請求項２】
１ライン分のデータとして、ラインの先頭から略１／２ライン分のデータである第１のデータ列と、ラインの末尾から略１／２ライン分のデータである第２のデータ列とを取得し、
取得した第１のデータと第２のデータとを、ラインの正順に整列させて出力する画像処理装置において、
第１のデータ列を記憶する第１のバッファと、
第２のデータ列を記憶する第２のバッファと、
第１のバッファに対して、ラインの正順に第１のデータ列を書き込む第１の書き込み手段と、
第１の書き込み手段の書き込みと並行して、第２のバッファに対して、ラインの逆順に第２のデータ列を書き込む第２の書き込み手段と、
前記第２の書き込み手段が第２のデータ列を第２のバッファに書き込むときのアドレス順序を、ライン毎に反転させるアドレス反転手段と、
前記第１の書き込み手段が書き込んだ順に、書き込み時の略倍速の速度で、第１のバッファから第１のデータ列を読み出す第１の読み出し手段と、
前記第２の書き込み手段が書き込んだ順とは逆の順に、書き込み時の略倍速の速度で、第２のバッファから第２のデータ列を読み出す第２の読み出し手段と、
前記第１の読み出し手段の読み出し終了後に、前記第２の読み出し手段の読み出しを開始させるように、前記第２の読み出し開始時点を制御する制御手段とが備えられていることを特徴とする画像処理装置。
【請求項３】
前記制御手段は、次ラインのデータを取得する前に、第２の読み出し手段が第２のデータ列を読み出し始めるように、第２の読み出し手段の読み出し開始時点を制御するものであることを特徴とする画像処理装置。
【請求項４】
前記第１のバッファおよび前記第２のバッファが、略１／２ライン分のデータを記憶するものであることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記第１の書き込み手段は、第１のデータ列を、略１／４ライン分毎に２回に分けて、前記第１のバッファに書き込むものであり、
前記第１の読み出し手段は、第１のデータ列を、略１／４ライン分毎に２回に分けて、前記第１のバッファから読み出すものであることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記制御手段は、前記第１の書き込み手段の１回目の書き込み終了時点が第１の読み出し手段の１回目の読み出し期間になるように、前記第１の読み出し手段の１回目の読み出し開始時点を制御するものであることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第１のバッファおよび前記第２のバッファが、デュアルポートＲＡＭであることを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記第１のバッファに対するデータの書き込みと読み出しとを切換える第１の入出力切換手段と、
前記第２のバッファに対するデータの書き込みと読み出しとを切換える第２の入出力切換手段とを備え、
前記第１の書き込み手段および第２の書き込み手段が、データ幅を拡大するためのデータ幅拡大手段を備えていることを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記第１の読み出し手段および前記第２の読み出し手段が読み出したデータを記憶する第３のバッファを備えていることを特徴とする請求項２に記載の画像処理装置。
【請求項１０】
１ライン分のデータとして、ラインの先頭から略１／２ライン分のデータである第１のデータ列を、ラインの末尾から略１／２ライン分のデータである第２のデータ列を取得するラインデータ取得ステップと、
第１のデータ列および第２のデータ列をそれぞれ第１のバッファおよび第２のバッファに並行して書き込む書き込みステップと、
第１のバッファから、書き込み時の略倍速の速度で、書き込み時と同順に、第１のデータ列を読み出す第１の読み出しステップと、
第１の読み出しステップの後に、第２のバッファから、書き込み時の略倍速の速度で、書き込み時と同順に、第２のデータ列を読み出す第２の読み出しステップと、
１ライン毎に、第２バッファへの書き込み時のアドレス順序を反転されるアドレス反転ステップとを含むことを特徴とする画像処理方法。
【請求項１１】
原稿画像からライン毎に、前記第１のデータ列および第２のデータ列とを読み出す画像読出手段と、
請求項１ないし１０の何れか１項に記載した画像処理装置とを備えたことを特徴とする画像読取装置。
【請求項１２】
請求項１ないし１０の何れか１項に記載の画像処理装置を備えたことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿を走査して読み取るラインセンサからの電気信号を処理する画像処理装置、画像処理方法、該画像処理装置を備える画像読取装置、および該画像処理装置を備える画像形成装置に関するものである。
【背景技術】
【０００２】
近年、画像読取装置において解像度を高くするために、ラインセンサであるＣＣＤ（charge coupled deice）の画素数が増加している。また、画素数増加に伴う画像データ転送時間の増大を解消するため、２チャンネルから画像データ出力の並列度を上げた４チャンネルＣＣＤが用いられている。
【０００３】
４チャンネルＣＣＤでは、ラインの両端から、ラインの先頭から半数の画素に対応する前半データ列と、ラインの末尾から半数の画素に対応する後半データ列とを逐次取り出すことになる。そのため、後半データ列は画素の並びが逆順で取り出されることになる。そこで、画像処理装置において、画像の出力や空間フィルタ処理等の前に１ラインの配列を整列する必要がある。
【０００４】
図８は、従来の画像処理装置１０３の構成を示したブロック図である。図８に示されるように、従来の画像処理装置１０３は、４チャンネルのＣＣＤ１２１に接続されており、ＣＣＤ１２１から入力されたデータを逐次、後段へ出力する。
【０００５】
画像処理装置１０３は、２つの増幅器１３１，１３２と、２つのＡ／Ｄ変換器１３３，１３４と、整列部１３５とを備えている。
【０００６】
増幅器１３１，１３２は、ＣＣＤ１２１からのデータをデジタル形式に変換できるように、信号レベルを増幅させるためのものである。また、増幅器１３１において、前半データ列の奇数番目の画素と、後半データ列の奇数番目の画素のデータとが統合される。同様に、増幅器１３２において、前半データ列の偶数番目の画素と、後半データ列の偶数番目の画素のデータとが統合される。
【０００７】
Ａ／Ｄ変換器１３３，１３４は、アナログ形式の信号をデジタル形式の信号に変換するためのものである。
【０００８】
ＣＣＤ１２１のｃｈ１およびｃｈ３からのデータは、増幅器１３１およびＡ／Ｄ変換器１３３を経て、整列部１３５に入力される。一方、ＣＣＤ１２１のｃｈ２およびｃｈ４からのデータは、増幅器１３２およびＡ／Ｄ変換器１３４を経て、整列部１３５に入力される。
【０００９】
整列部１３５は、１ライン分のバッファメモリを２個（バッファＡとバッファＢ）備えている。また、整列部１３５には、図示しない切換部が備えられている。
【００１０】
図示しない切換部は、Ａ／Ｄ変換器１３３をバッファＡまたはバッファＢのどちらかに接続するように切換える。また、切換部は、Ａ／Ｄ変換器１３４をバッファＡまたはバッファＢのどちらかに接続するように切換える。さらに、切換部は、後段をバッファＡまたはバッファＢのどちらかに接続するように切換える。
【００１１】
切換部は、後段とバッファＢとを接続すると同時に、Ａ／Ｄ変換器１３４とバッファＡとを、Ａ／Ｄ変換器１３３とバッファＡとを接続する。また、図８で示されるように、切換部は、後段とバッファＡとを接続すると同時に、Ａ／Ｄ変換器１３４とバッファＢとを、Ａ／Ｄ変換器１３３とバッファＢとを接続する。
【００１２】
これにより、一方のバッファにＣＣＤからの画像データをデジタル化した１ライン分の画像データを書き込む間に、他方のバッファから正しい画素順（正順）に１ライン分の画像データを後段に出力する。
【００１３】
図９は、従来の画像処理装置１０３におけるバッファＡおよびバッファＢに対するデータの書き込みと読み出しとのタイミングを示している。図９で示されるように、ＣＣＤにおける１ラインの処理の開始を示す同期信号ＣＣＤ ＨＳＹＮＣに対応して、データを読み出すバッファとデータを書き込むバッファとを切換えている。２系統（１ラインにおける偶数番目の画素に対応するデータと奇数番目の画素に対応するデータ）の入力をまとめて後段に出力するので、出力側はクロックを上げるかデータ幅を大きくして、入力の倍の速度で各バッファから画像データを読み出すことになる。
【００１４】
図８および図９で示されるような技術は、例えば特許文献１に記載されている。
【００１５】
一方、特許文献２や特許文献３では、画像データを逆順に並べ替える鏡像処理として、従来２ライン分のバッファを用いて行われていた処理を、画像データの読み出しと次ラインの画像データの書き込みを並行しておこなうことで、１ライン分のバッファで行うことが提案されている。
【特許文献１】特開平１１−１４６１５５号公報（１９９９年５月２８日公開）
【特許文献２】特開平７−８５２６１号公報（１９９５年３月３１日公開）
【特許文献３】特開平１０−１９１１８５号公報（１９９８年７月２１日公開）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、上述のように図８および図９で示されるような従来の画像処理装置１０３では、２ライン分のバッファを備えることが必要であるため、個別部品で回路を構成するにしても、画像処理用のＡＳＩＣ（Application Specific Integrated Circuit）を作成するにしても、部品に要するコストが大幅に増加するという問題があった。
【００１７】
また、特許文献２や特許文献３では、１ライン分のバッファにおいて、画像データを逆順から正順に並べ替えることは提案されている。しかし、１ラインの中で逆順から正順に並べ替える１／２ラインと並べ替えない１／２ラインがある場合において、整列処理のタイミングについては考慮されておらず、４チャンネルＣＣＤからの画像データ処理には適応できなかった。
【００１８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、部品に要するコストを増加させないで、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合する画像処理装置、画像処理方法および画像形成装置を提供することにある。
【課題を解決するための手段】
【００１９】
本発明の画像処理装置は、上記の課題を解決するために、１ライン分のデータとして、ラインの先頭から読み出してなる略１／２ライン分のデータである第１のデータ列と、ラインの末尾から読み出してなる略１／２ライン分のデータである第２のデータ列とが入力され、第１のデータ列および第２のデータ列をそれぞれ第１のバッファ及び第２のバッファに並行して書き込み、第１のバッファ及び第２のバッファからのデータ読み出しを、書き込み時の略倍速の速度で行い、かつ第１のバッファの読み出しは書き込み時と同順とし、第２のバッファの読み出しは書き込み時と逆順とし、第１のバッファの読み出し終了後に続いて第２のバッファの読み出しを行うと共に、第２のバッファへの書き込み時のアドレス順序を、順次入力される１ライン毎に反転させることを特徴としている。
【００２０】
上記の構成によれば、１ライン分のデータを処理するに当たって、該１ライン分のデータを第１のデータ列と第２のデータ列とに分けて２つのバッファ（すなわち第１のバッファ及び第２のバッファ）に並列して書き込んだ後、第１のバッファ及び第２のバッファからのデータ読み出しを書き込み時の略倍速の速度で連続して行うことにより、データ処理を高速化することができる。
【００２１】
また、第２のデータ列は、処理されるラインの末尾から読み出してなるデータ列であるため、第２のバッファに対する書き込みはライン末尾側からとなっている。このため、第２のバッファからの読み出しは書き込み時の逆とすることで、第１のバッファ及び第２のバッファからの連続した読み出しによって得られるデータ列がラインの先頭から末尾の順となるように整列される。
【００２２】
上述のデータ処理手順では、１ライン分の処理を行う場合、第１および第２のバッファとも、略１／２ライン分のデータを格納可能な容量を有していれば良い。しかしながら、実際の画像処理では、連続したライン処理が必要であり、この場合、第２のバッファは、該第２のバッファからの読み出しが書き込み時の逆となっていることから、前ラインの読み出しが終了するまで、次ラインの書き込みを開始できず、効率的な処理が行えない。すなわち、第２のバッファのデータ容量が略１／２ライン分のデータ容量では、連続したライン処理を行えない。
【００２３】
これに対し、上記の構成によれば、第２のバッファへの書き込み時のアドレス順序を、順次入力される１ライン毎に反転させることで、前ラインの読み出しが終了する前に、次ラインの書き込みを開始することができ、第２のバッファのデータ容量が略１／２ライン分としても効率的な処理が行える。すなわち、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合するためのバッファを略１ライン分以下にすることができる。
【００２４】
以上から、部品に要するコストを増加させないで、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合する画像処理装置を提供することができる。
【００２５】
また、本発明の画像処理装置は、上記の課題を解決するために、１ライン分のデータとして、ラインの先頭から略１／２ライン分のデータである第１のデータ列と、ラインの末尾から略１／２ライン分のデータである第２のデータ列とを取得し、取得した第１のデータと第２のデータとを、ラインの正順に整列させて出力する画像処理装置において、第１のデータ列を記憶する第１のバッファと、第２のデータ列を記憶する第２のバッファと、第１のバッファに対して、ラインの正順に第１のデータ列を書き込む第１の書き込み手段と、第１の書き込み手段の書き込みと並行して、第２のバッファに対して、ラインの逆順に第２のデータ列を書き込む第２の書き込み手段と、前記第２の書き込み手段が第２のデータ列を第２のバッファに書き込むときのアドレス順序を、ライン毎に反転させるアドレス反転手段と、前記第１の書き込み手段が書き込んだ順に、書き込み時の略倍速の速度で、第１のバッファから第１のデータ列を読み出す第１の読み出し手段と、前記第２の書き込み手段が書き込んだ順とは逆の順に、書き込み時の略倍速の速度で、第２のバッファから第２のデータ列を読み出す第２の読み出し手段と、前記第１の読み出し手段の読み出し終了後に、前記第２の読み出し手段の読み出しを開始させるように、前記第２の読み出し開始時点を制御する制御手段とが備えられていることを特徴としている。
【００２６】
上記の構成によれば、第１の書き込み手段および第２の書き込み手段は、並列して第１のデータ列および第２のデータ列を書き込む。よって、１ライン分のデータを連続して書き込む場合に比べて、半分の時間で高速に書き込むことができる。
【００２７】
また、第１の書き込み手段が書き込んだ順に、第１のバッファから第１のデータ列を読み出す第１の読み出し手段が備えられている。これにより、第１の読み出し手段は、ラインの正順に第１のデータ列を読み出すことができる。
【００２８】
一方、第２の書き込み手段は、ラインの逆順に第２のデータ列を第２のバッファに書き込む。そして、第２の書き込み手段が書き込んだ順とは逆の順に、記憶された第２のデータ列を読み出す第２の読み出し手段が備えられている。これにより、第２の読み出し手段も、ラインの正順に第２のデータ列を読み出すことができる。
【００２９】
さらに、第１の読み出し手段の読み出し終了後に、第２の読み出し手段の読み出しを開始させるように、第２の読み出し開始時点を制御する制御手段が備えられている。これにより、第１のデータ列のあとに第２のデータ列が連続して読み出され、１ラインのデータ列が先頭から末尾の順となるように整列される。
【００３０】
また、第１の書き込み手段と第１の読み出し手段は、同順で書き込みおよび読み出しを行う。そのため、第１の書き込み手段は、第１の読み出し手段が本ラインの第１のデータ列すべてを読み出すのを待たずに、第１の読み出し手段が読み出したアドレス順に次ラインの第１のデータ列を書き込むことができる。よって、第１のバッファが略１／２ライン分の容量を有していれば、連続したライン処理を行うことができる。
【００３１】
一方、第２の書き込み手段が第２のデータ列を第２のバッファに書き込むときのアドレス順序を、ライン毎に反転させるアドレス反転手段が備えられている。このため、第２の書き込み手段は、次ラインの第２のデータ列を、第２の読み出し手段が本ラインの第２のデータ列を読み出したアドレス順に書き込みを開始することができる。すなわち、第２の読み出し手段が第２のデータ列をすべて読み出すことを待たずに、第２の書き込み手段は、次ラインの第２のデータ列を第２のバッファに書き込むことができる。この結果、第２のバッファの容量が略１／２ライン分であっても、連続したライン処理を行うことができる。
【００３２】
さらに、第１の読み出し手段および第２の読み出し手段がデータを読み出す速度は、第１の書き込み手段（または、第２の書き込み手段）がデータを書き込む速度の略２倍の速度である。したがって、第１の読み出し手段と第２の読み出し手段とが、上記のように連続してデータを読み出しても、１ライン分のデータ列の読み出しに要する合計時間は、第１の書き込み手段および第２の書き込み手段が並列して１ライン分のデータを書き込むのに要する時間以下となり、高速処理が可能となる。
【００３３】
以上により、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合するためのバッファを略１ライン分以下にすることができる。
【００３４】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記制御手段は、次ラインのデータを取得する前に第２の読み出し手段が第２のデータ列を読み出し始めるように、第２の読み出し手段の読み出し開始時点を制御するものであることを特徴としている。
【００３５】
上記の構成によれば、次ラインのデータを取得する前に第２の読み出し手段が第２のデータ列を読み出し始める。そのため、第１の書き込み手段および第２の書き込み手段は、次のラインのデータを取得すると同時に、その第１のデータ列および第２のデータ列を、第１のバッファおよび第２のバッファに書き込み開始することができる。これにより、連続したラインのデータを処理するのに、より一層高速化を図ることができる。
【００３６】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記第１のバッファおよび前記第２のバッファが、略１／２ライン分のデータを記憶するものであることを特徴としている。
【００３７】
上記の構成によれば、略１／２ライン分のデータである第１のデータ列および第２のデータ列を、第１のバッファおよび第２のバッファにそれぞれ１回で書き込みおよび読み出しをすることができる。このため、複雑なタイミング制御を必要としない。
【００３８】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記第１の書き込み手段は、第１のデータ列を、略１／４ライン分毎に２回に分けて、前記第１のバッファに書き込むものであり、前記第１の読み出し手段は、第１のデータ列を、略１／４ライン分毎に２回に分けて、前記第１のバッファから読み出すものであることを特徴としている。
【００３９】
上記の構成によれば、第１のバッファには、第１のデータ列が２回にわけて書き込まれ、かつ、読み出される。よって、第１のバッファは、少なくとも略１／４ライン分の容量を有していればよい。
【００４０】
これにより、ラインセンサの両端から取り出された画像データを整列統合するためのバッファを、第１のバッファおよび第２のバッファを合わせて略３／４ライン分とすることができる。
【００４１】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記制御手段は、前記第１の書き込み手段の１回目の書き込み終了時点が第１の読み出し手段の１回目の読み出し期間になるように、前記第１の読み出し手段の１回目の読み出し開始時点を制御するものであることを特徴としている。
【００４２】
上記の構成によれば、第１の書き込み手段の１回目の書き込み終了時点において、すでに第１の読み出し手段の１回目の読み出しが開始されている。よって、第１の書き込み手段は、すでに第１の読み出し手段により１回目の読み出しが終了している箇所から順に、２回目の書き込みを開始することができる。すなわち、第１の書き込み手段は、１回目と２回目の書き込みを連続して行うことができ、より一層高速処理を実現できる。
【００４３】
さらに、本発明の画像処理装置は、上記の構成に加えて、前記第１のバッファおよび前記第２のバッファが、デュアルポートＲＡＭであることを特徴としている。
【００４４】
上記の構成によれば、第１のバッファまたは第２のバッファの２つのポートを、データの書き込み用と読み出し用とに使用することができる。これにより、第１のバッファまたは第２のバッファに対して、データの書き込みと読み出しとを切換える必要がない。
【００４５】
さらに、本発明の画像処理装置は、上記の構成に加えて、前記第１のバッファに対するデータの書き込みと読み出しとを切換える第１の入出力切換手段と、前記第２のバッファに対するデータの書き込みと読み出しとを切換える第２の入出力切換手段とを備え、前記第１の書き込み手段および第２の書き込み手段が、データ幅を拡大するためのデータ幅拡大手段を備えていることを特徴としている。
【００４６】
上記の構成によれば、第１の入出力切換手段と第２の入出力切換手段とが備えられているので、第１のバッファまたは第２のバッファが１ポートであっても、各バッファに対して、データの書き込みと読み出しを並行して行うことができる。さらに、第１の書き込み手段および第２の書き込み手段が、データ幅を拡大するためのデータ幅拡大手段を備えているので、データをバッファへ転送する時間を短縮することができる。これにより、第１のバッファまたは第２のバッファに対するデータの書き込みと読み出しとの切換えに時間的な余裕ができる。
【００４７】
さらに、本発明の画像処理装置は、上記の構成に加えて、前記第１の読み出し手段および前記第２の読み出し手段が読み出したデータを記憶する第３のバッファを備えていることを特徴としている。
【００４８】
上記の構成によれば、第１の読み出し手段および第２の読み出し手段が読み出したデータを、一旦第３のバッファに格納させ、所定の時間経過後に、後段に出力することができる。これにより、後段に出力するタイミングを遅らせることができる。
【００４９】
特に、後段に出力するタイミングを、ラインの同期信号のタイミングと同じにすることで、後段の処理のために同期信号を生成する必要がなくなる。
【００５０】
本発明の画像処理方法は、上記の課題を解決するために、１ライン分のデータとして、ラインの先頭から略１／２ライン分のデータである第１のデータ列を、ラインの末尾から略１／２ライン分のデータである第２のデータ列を取得するラインデータ取得ステップと、第１のデータ列および第２のデータ列をそれぞれ第１のバッファおよび第２のバッファに並行して書き込む書き込みステップと、第１のバッファから、書き込み時の略倍速の速度で、書き込み時と同順に、第１のデータ列を読み出す第１の読み出しステップと、第１の読み出しステップの後に、第２のバッファから、書き込み時の略倍速の速度で、書き込み時と同順に、第２のデータ列を読み出す第２の読み出しステップと、１ライン毎に、第２バッファへの書き込み時のアドレス順序を反転されるアドレス反転ステップとを含むことを特徴としている。
【００５１】
上記の方法によれば、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合するためのバッファを略１ライン分以下にすることができる。これにより、部品に要するコストを増加させないで、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合することができる。
【００５２】
本発明の画像読取装置は、上記の課題を解決するために、原稿画像からライン毎に、前記第１のデータ列および第２のデータ列とを読み出す画像読出手段と、上記画像処理装置とを備えたことを特徴としている。
【００５３】
上記の構成によれば、画像読出手段が、原稿画像からライン毎に、第１のデータ列と第２のデータ列とに２分割して、画像データを読み取ることができるため、画像データを読み取るのに要する時間を短縮することができる。さらに、上記の画像処理装置を備えているため、画像読出手段が読み取った画像データを後段に、ライン正順に整列して出力させることができる。
【００５４】
本発明の画像形成装置は、上記の課題を解決するために、上記画像処理装置を備えたことを特徴としている。
【００５５】
上記の構成によれば、ラインセンサの両端から取り出された画像データの整列に要するバッファを略１／２ライン分の容量にすることができる。これにより、画像形成装置の部品コストを低減することができる。
【発明の効果】
【００５６】
本発明の画像処理装置は、以上のように、１ライン分のデータとして、ラインの先頭から読み出してなる略１／２ライン分のデータである第１のデータ列と、ラインの末尾から読み出してなる略１／２ライン分のデータである第２のデータ列とが入力され、第１のデータ列および第２のデータ列をそれぞれ第１のバッファ及び第２のバッファに並行して書き込み、第１のバッファ及び第２のバッファからのデータ読み出しを、書き込み時の略倍速の速度で行い、かつ第１のバッファの読み出しは書き込み時と同順とし、第２のバッファの読み出しは書き込み時と逆順とし、第１のバッファの読み出し終了後に続いて第２のバッファの読み出しを行うと共に、第２のバッファへの書き込み時のアドレス順序を、順次入力される１ライン毎に反転させる構成である。
【００５７】
それゆえ、第１のバッファ及び第２のバッファからのデータ読み出しを書き込み時の略倍速の速度で連続して行うことにより、データ処理を高速化することができる。また、第２のバッファからの読み出しは書き込み時の逆とすることで、第１のバッファ及び第２のバッファからの連続した読み出しによって得られるデータ列がラインの先頭から末尾の順となるように整列される。さらに、第２のバッファへの書き込み時のアドレス順序を、順次入力される１ライン毎に反転させることで、前ラインの読み出しが終了する前に、次ラインの書き込みを開始することができ、第２のバッファのデータ容量が略１／２ライン分としても効率的な処理が行える。すなわち、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合するためのバッファを略１ライン分以下にすることができる。これにより、部品に要するコストを増加させないで、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合することができるという効果を奏する。
【００５８】
また、本発明の画像処理装置は、以上のように、ラインの先頭から略１／２ライン分のデータである第１のデータ列と、ラインの末尾から略１／２ライン分のデータである第２のデータ列とを取得し、取得した第１のデータと第２のデータとを、ラインの正順に整列させて出力する画像処理装置において、第１のデータ列を記憶する第１のバッファと、第２のデータ列を記憶する第２のバッファと、第１のバッファに対して、ラインの正順に第１のデータ列を書き込む第１の書き込み手段と、第１の書き込み手段の書き込みと並行して、第２のバッファに対して、ラインの逆順に第２のデータ列を書き込む第２の書き込み手段と、前記第２の書き込み手段が第２のデータ列を第２のバッファに書き込むときのアドレス順序を、ライン毎に反転させるアドレス反転手段と、前記第１の書き込み手段が書き込んだ順に、書き込み時の略倍速の速度で、第１のバッファから第１のデータ列を読み出す第１の読み出し手段と、前記第２の書き込み手段が書き込んだ順とは逆の順に、書き込み時の略倍速の速度で、第２のバッファから第２のデータ列を読み出す第２の読み出し手段と、前記第１の読み出し手段の読み出し終了後に、前記第２の読み出し手段の読み出しを開始させるように、前記第２の読み出し開始時点を制御する制御手段とが備えられている構成である。
【００５９】
それゆえ、１ライン分のデータを連続して書き込む場合に比べて、半分の時間で高速に書き込むことができる。また、第１のデータ列のあとに第２のデータ列が連続して読み出され、１ラインのデータ列が先頭から末尾の順となるように整列される。さらに、第１バッファおよび第２のバッファが略１／２ライン分の容量を有していれば、連続したライン処理を行うことができる。これにより、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合するためのバッファを略１ライン分以下にすることができるという効果を奏する。
【００６０】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記制御手段は、次ラインのデータを取得する前に第２の読み出し手段が第２のデータ列を読み出し始めるように、第２の読み出し手段の読み出し開始時点を制御する構成である。
【００６１】
それゆえ、第１の書き込み手段および第２の書き込み手段は、次のラインのデータを取得すると同時に、その第１のデータ列および第２のデータ列を、第１のバッファおよび第２のバッファに書き込み開始することができる。これにより、連続したラインのデータを処理するのに、より一層高速化を図ることができるという効果を奏する。
【００６２】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記第１のバッファおよび前記第２のバッファが、略１／２ライン分のデータを記憶する構成である。
【００６３】
それゆえ、略１／２ライン分のデータである第１のデータ列および第２のデータ列を、第１のバッファおよび第２のバッファにそれぞれ１回で書き込みおよび読み出しをすることができる。このため、複雑なタイミング制御を必要としないという効果を奏する。
【００６４】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記第１の書き込み手段は、第１のデータ列を、略１／４ライン分毎に２回に分けて、前記第１のバッファに書き込むものであり、前記第１の読み出し手段は、第１のデータ列を、略１／４ライン分毎に２回に分けて、前記第１のバッファから読み出す構成である。
【００６５】
それゆえ、第１のバッファには、第１のデータ列が２回にわけて書き込まれ、かつ、読み出される。よって、第１のバッファは、少なくとも略１／４ライン分の容量を有していればよい。これにより、ラインセンサの両端から取り出された画像データを整列統合するためのバッファを、第１のバッファおよび第２のバッファを合わせて略３／４ライン分とすることができるという効果を奏する。
【００６６】
さらに、本発明に係る画像処理装置は、上記の構成に加えて、前記制御手段は、前記第１の書き込み手段の１回目の書き込み終了時点が第１の読み出し手段の１回目の読み出し期間になるように、前記第１の読み出し手段の１回目の読み出し開始時点を制御する構成である。
【００６７】
それゆえ、第１の書き込み手段の１回目の書き込み終了時点において、すでに第１の読み出し手段の１回目の読み出しが開始されている。よって、第１の書き込み手段は、すでに第１の読み出し手段により１回目の読み出しが終了している箇所から順に、２回目の書き込みを開始することができる。すなわち、第１の書き込み手段は、１回目と２回目の書き込みを連続して行うことができ、より一層高速処理を実現できるという効果を奏する。
【００６８】
さらに、本発明の画像処理装置は、上記の構成に加えて、前記第１のバッファおよび前記第２のバッファが、デュアルポートＲＡＭである構成である。
【００６９】
それゆえ、２つのポートをそれぞれ、データの書き込み用と読み出し用に使用することができる。これにより、第１のバッファおよび第２のバッファに対して、データの書き込みと読み出しとを切換える必要がないという効果を奏する。
【００７０】
さらに、本発明の画像処理装置は、上記の構成に加えて、前記第１のバッファに対するデータの書き込みと読み出しとを切換える第１の入出力切換手段と、前記第２のバッファに対するデータの書き込みと読み出しとを切換える第２の入出力切換手段とを備え、前記第１の書き込み手段および第２の書き込み手段が、データ幅を拡大するためのデータ幅拡大手段を備えている構成である。
【００７１】
それゆえ、第１のバッファおよび第２のバッファが１ポートであっても、各バッファに対して、データの書き込みと読み出しを並行して行うことができる。さらに、第１の書き込み手段および第２の書き込み手段が、データ幅を拡大するためのデータ幅拡大手段を備えているので、データを各バッファへ転送する時間を短縮することができる。これにより、第１のバッファおよび第２のバッファに対するデータの書き込みと読み出しとの切換えに時間的な余裕ができるという効果を奏する。
【００７２】
さらに、本発明の画像処理装置は、上記の構成に加えて、前記第１の読み出し手段および前記第２の読み出し手段が読み出したデータを記憶する第３のバッファを備えている構成である。
【００７３】
上記の構成によれば、第１の読み出し手段および第２の読み出し手段が読み出したデータを、一旦第３のバッファに格納させ、所定の時間経過後に、後段に出力することができる。これにより、後段に出力するタイミングを遅らせることができるという効果を奏する。
【００７４】
本発明の画像処理方法は、以上のように、１ライン分のデータとして、ラインの先頭から略１／２ライン分のデータである第１のデータ列を、ラインの末尾から略１／２ライン分のデータである第２のデータ列を取得するラインデータ取得ステップと、第１のデータ列および第２のデータ列をそれぞれ第１のバッファおよび第２のバッファに並行して書き込む書き込みステップと、第１のバッファから、書き込み時の略倍速の速度で、書き込み時と同順に、第１のデータ列を読み出す第１の読み出しステップと、第１の読み出しステップの後に、第２のバッファから、書き込み時の略倍速の速度で、書き込み時と同順に、第２のデータ列を読み出す第２の読み出しステップと、１ライン毎に、第２バッファへの書き込み時のアドレス順序を反転されるアドレス反転ステップとを含む。
【００７５】
それゆえ、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合するためのバッファを略１ライン分以下にすることができる。これにより、部品に要するコストを増加させないで、ラインセンサであるＣＣＤの両端から取り出された画像データを整列統合することができるという効果を奏する。
【００７６】
本発明の画像読取装置は、以上のように、原稿画像からライン毎に、前記第１のデータ列および第２のデータ列とを読み出す画像読出手段と、上記画像処理装置とを備えた構成である。
【００７７】
それゆえ、画像読出手段が、原稿画像からライン毎に、第１のデータ列と第２のデータ列とに２分割して、画像データを読み取ることができるため、画像データを読み取るのに要する時間を短縮することができる。さらに、上記の画像処理装置を備えているため、画像読出手段が読み取った画像データを後段に、ライン正順に整列して出力させることができるという効果を奏する。
【００７８】
本発明の画像形成装置は、以上のように、上記画像処理装置を備えた構成である。
【００７９】
それゆえ、ラインセンサの両端から取り出された画像データの整列に要するバッファを略１／２ライン分の容量にすることができる。これにより、画像形成装置の部品コストを低減することができるという効果を奏する。
【発明を実施するための最良の形態】
【００８０】
〔実施の形態１〕
本発明の画像処理装置に関する実施の一形態について図１〜図５に基づいて説明すれば以下のとおりである。
【００８１】
図１のブロック図に、本発明の実施の一形態に係る画像処理装置３を備えたデジタル複写機（画像形成装置）１の構成を示す。図１に示されるように、デジタル複写機１は、画像入力装置（画像読出手段）２、画像処理装置３、および画像出力装置４を構成している。
【００８２】
画像入力装置２は、図示しない原稿載置台上の原稿の画像を読み取るためのものであり、原稿面上に露光するランプリフレクターアセンブリ（図示しない）と、原稿からの反射光像を光電変換素子であるＣＣＤ２１に導くための反射ミラーを搭載する第１の走査ユニット（図示しない）と、第１の反射ミラーからの反射光像をＣＣＤ２１に導くための反射ミラー（図示しない）と、原稿からの反射光像を上述した各反射ミラーを介してＣＣＤ２１上に結像させるための光学レンズ（図示しない）と、４チャンネルのＣＣＤ２１と、ＣＣＤ２１の駆動を制御するＣＣＤ制御部（図示しない）とから構成される。
【００８３】
第１の走査ユニットは、原稿載置台に沿って左から右へと一定速度Ｖで走行される。これにより、原稿載置台上に載置された原稿画像の反射光は、１ライン毎に順次ＣＣＤ２１へと導かれる。
【００８４】
ＣＣＤ２１は、原稿の１ライン毎の反射光を受光する１ライン分の複数の画素を備えている。各画素には、原稿からの反射光を受光し、光量を読み取り、読み取った光量に応じた電気信号（画像データ、以下単にデータと呼ぶ）を発生する受光素子が備えられている。ＣＣＤ２１は、生成したデータを画像処理装置３へと出力する。なお、本実施形態では、１ライン分の画素数は７４００であるとしたが、これに限られるものではない。
【００８５】
また、１ラインの各画素を、画素０００１，画素０００２，…，画素７４００としており、この順をライン正順とする。また、該ラインの正順に対して逆の順序をライン逆順とする。
【００８６】
ＣＣＤ２１は、１ラインの画素の両端（すなわち、画素０００１および画素７４００）から奇数番目の画素と偶数番目の画素とに分けて原稿からの反射光の光量を読み取り、読み取った光量に応じてデータを順次生成する４つのチャンネルｃｈ１〜４を備えている。ＣＣＤ２１は、生成したデータを画像処理装置３に順次出力する。
【００８７】
ここで、１ライン分の画像データがＣＣＤ２１から画像処理装置３に対して出力開始される時点は、ＣＣＤ制御部により制御される水平同期信号ＨＳＹＮＣ（horizontal synchronization signal）であるＣＣＤ ＨＳＹＮＣに基づいている。また、ＣＣＤ２１が各画素に対応するデータを出力する周期は、ＣＣＤ制御部によるＣＣＤ駆動クロック信号に基づいている。
【００８８】
ｃｈ１は、最初の画素０００１から奇数番目の画素である、画素０００１，画素０００３，…，画素３６９９に対応する各データを正順に画像処理装置３へ出力する。ｃｈ２は、最初の画素０００１から偶数番目の画素である、画素０００２，画素０００４，…，画素３７００における各データを正順に画像処理装置３へ出力する。ｃｈ３は、最後の画素７４００から奇数番目の画素である、画素７３９９，画素７３９７，…，画素３７０１における各データを逆順に画像処理装置３へ出力する。ｃｈ４は、最後の画素７４００から偶数番目の画素である、画素７４００，画素７３９８，…，画素３７０２における各データを逆順に画像処理装置３へ出力する。
【００８９】
すなわち、ｃｈ１およびｃｈ２は、画素０００１〜画素３７００に対応する前半データ列（第１のデータ列）を出力し、ｃｈ３およびｃｈ４は、画素７４００〜画素３７０１に対応する後半データ列（第２のデータ列）を出力する。
【００９０】
また、ＣＣＤ制御部は、上記ＣＣＤ ＨＳＹＮＣおよびＣＣＤ駆動クロック信号を画像処理装置３に出力する。
【００９１】
画像処理装置３は、２つの増幅器３１，３２と、２つのＡ／Ｄ変換器３３，３４と、整列部３５と、遅延部３６と、画像処理部６１とを備えている。
【００９２】
増幅器３１，３２は、ＣＣＤ２１から出力されるデータレベルをＡ／Ｄ変換に適したレベルにまで増幅するためのものである。増幅器３１にはｃｈ１およびｃｈ２から出力されるデータが入力され、増幅器３１は、該データレベルを増幅して、後段に出力する。また、増幅器３２にはｃｈ３およびｃｈ４から出力されるデータが入力され、増幅器３２は、該データレベルを増幅して、後段に出力する。
【００９３】
また、増幅器３１，３２は、奇数番目および偶数番目の画素からのデータを統合する機能も備えている。これにより、増幅器３１，３２から出力されるデータは、ラインの両端の画素に対応するデータからラインの中央の画素に対応するデータへと順に並ぶこととなる。
【００９４】
つまり、増幅器３１は、画素０００１，画素０００２，…，画素３７００に対応する前半データ列をライン正順に出力する。また、増幅器３２は、画素７４００，画素７３９９，…，画素３７０１に対応する後半データ列をライン逆順に出力する。
【００９５】
Ａ／Ｄ変換器３３，３４は、上記増幅器３１，３２により増幅されたデータをデジタル形式に変換するためのものである。Ａ／Ｄ変換器３３は、増幅器３１から出力されたデータをデジタル形式に変換し、後段の整列部３５へ送る。つまり、Ａ／Ｄ変換器３３は、増幅器３１から出力される画素０００１，画素０００２，…，画素３７００のライン正順に各画素に対応するデータを受け取り、デジタル形式の該前半データ列を同順で整列部３５へ出力する。
【００９６】
また、Ａ／Ｄ変換器３４は、増幅器３２から出力されたデータをデジタル形式に変換し、後段の整列部３５へ送る。つまり、Ａ／Ｄ変換器３４は、増幅器３２から出力される画素７４００，画素７３９９，…，画素３７０１のライン逆順に各画素に対応する後半データ列を受け取り、デジタル形式の該後半データ列を同順で整列部３５へ出力する。
【００９７】
上記、増幅器３１，３２およびＡ／Ｄ変換器３３，３４における処理に要する時間は、非常に短時間である。そのため、画像入力装置２から画像処理装置３にデータが入力されるとほぼ同時に、該データは、整列部３５に到達している。
【００９８】
整列部３５は、Ａ／Ｄ変換器３３，３４から出力されるデジタル形式のデータをライン正順に整列して、後段に出力するためのものである。整列部３５は、バッファＬ（第１のバッファ）４４およびバッファＲ（第２のバッファ）４５の２つのバッファメモリを備えている。Ａ／Ｄ変換器３３，３４から出力される画像データは、一旦バッファＬ４４およびバッファＲ４５に格納され、その後、バッファＬ４４およびバッファＲ４５から読み出されて、遅延部３６へ送られる。整列部３５の詳細な構成については後述する。
【００９９】
なお、整列部３５において、特許文献１で示されているようなシェーディング補正を行うようにしてもよい。
【０１００】
遅延部３６は、整列部３５から出力される画素に正順に整列された画像データを取得し、所定のタイミングで、後段の画像処理部６１へ送るためのものである。遅延部３６には、（１／２＋α）ライン分の画像データを格納することのできる（１／２＋α）ラインバッファ（第３のバッファ）３６ａが備えられている。
【０１０１】
（１／２＋α）ラインバッファ３６ａが備えられていることにより、整列部３５から出力されるデータを、一旦（１／２＋α）ラインバッファ３６ａに格納させ、所定の時間経過後に、後段に出力することができる。これにより、後段に出力するタイミングを遅らせることができる。
【０１０２】
後述するように、整列部３５が１ライン分の画像データを遅延部３６に入力開始する時点において、整列部３５には、すでにＣＣＤ２１から１／２ライン分以上のデータが入力されている。
【０１０３】
そこで、遅延部３６は、自身に入力されるデータを（１／２＋α）ラインバッファ３６ａに一旦格納する。その後、ＣＣＤ ＨＳＹＮＣに合わせて、（１／２＋α）ラインバッファ３６ａから古い画像データを順次読み出し、後段の画像処理部６１に出力する。これにより、遅延部３６は、ＣＣＤ ＨＳＹＮＣと同時に、１ライン分の画像データを後段の画像処理部６１に出力することができる。よって、画像処理部６１における処理の開始を示す画像処理同期信号を、ＣＣＤ ＨＳＹＮＣと同一にすることができる。
【０１０４】
画像処理部６１は、遅延部３６から出力される画像データに対して、所定の画像処理を施すためのものである。所定の画像処理とは、例えば、高精細な画像再現を目的とした階調処理や、拡大・縮小を目的とした倍率変換処理などである。
【０１０５】
画像形成装置４は、画像処理装置３から出力された画像データを記録媒体（例えば紙等）上に出力するものであり、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置当を挙げることができるが、特に限定されるものではない。
【０１０６】
次に、上記整列部３５の詳細について説明する。図２のブロック図は、整列部３５の詳細な内部構成を示している。図２で示されるように、整列部３５は、バッファＬ側処理部４２と、バッファＲ側処理部４３と、タイミング制御部（制御手段）４８と、セレクタ４７とから構成される。
【０１０７】
まず、バッファＬ側処理部４２について説明する。バッファＬ側処理部４２は、バッファＬ４４と、バッファＬ書き込み部（第１の書き込み手段）４９と、バッファＬ読み出し部（第１の読み出し手段）５０と、Ｌ書き込みアドレスカウンタ３７と、Ｌ読み出しアドレスカウンタ３９と、Ｌ初期アドレスレジスタ３８，４０とからなる。
【０１０８】
バッファＬ４４は、増幅器３１およびＡ／Ｄ変換器３３を介して、デジタル形式に変換されたｃｈ１およびｃｈ２からの画像データを一旦記憶するためのものである。なお、本実施の形態では、バッファＬ４４は、１／２ライン分のデータを格納できる容量を有するものとする。
【０１０９】
バッファＬ４４は、最大で１／２ライン分の画像データを記憶することができるデュアルポートＲＡＭである。このため、２つのポートをそれぞれデータの書き込み用と読み出し用に使用することができる。これにより、バッファＬ４４に対して、データの書き込みと読み出しとを切換える必要がない。
【０１１０】
また、バッファＬ４４は、異なる画素に対応するデータをそれぞれ異なる場所に記憶するために、複数の記憶場所を有している。記憶場所の数は、ｃｈ１およびｃｈ２に対応する画素数（ここでは、３７００個）と同じだけある。また、各記憶場所を特定するため、各記憶場所にはアドレスが付与されている。バッファＬ４４が有する記憶場所のアドレスは、Ｌアドレス０〜Ｌアドレス３６９９である。
【０１１１】
図２で示されるように、バッファＬ４４には、バッファＬ書き込み部４９と、バッファＬ読み出し部５０と、Ｌ書き込みアドレスカウンタ３７と、Ｌ読み出しアドレスカウンタ３９とが接続されている。
【０１１２】
バッファＬ４４は、Ｌ書き込みアドレスカウンタ３７によりデータを書き込む場所（書き込みアドレス）が順に指定される。そして、指定された書き込みアドレスに、バッファＬ書き込み部４９によりデータが書き込まれる。
【０１１３】
また、バッファＬ４４は、Ｌ読み出しアドレスカウンタ３９によりデータが読み出される場所（読み出しアドレス）が順に指定される。そして、指定された読み出しアドレスから、バッファＬ読み出し部５０によりデータが読み出される。
【０１１４】
バッファＬ書き込み部４９は、Ｌ書き込みアドレスカウンタ３７により指定されたバッファＬ４４の書き込みアドレスに、データを書き込むためのものである。
【０１１５】
図２で示されるように、バッファＬ書き込み部４９には、バッファＬ４４が接続されている。また、図２には示されていないが、バッファＬ書き込み部４９には、Ａ／Ｄ変換器３３が接続されている。
【０１１６】
バッファＬ書き込み部４９には、前半データ列が正順にＡ／Ｄ変換器３３より入力される。バッファＬ書き込み部４９は、データが入力されると同時に、入力されたデータをバッファＬ４４に書き込む。各画素に対応したデータが入力されるタイミングは、上記ＣＣＤ駆動クロック信号の半分の周期に応じたタイミングである。
【０１１７】
Ｌ書き込みアドレスカウンタ３７は、バッファＬ４４に対して、データの書き込みアドレスを指定するためのものである。Ｌ書き込みアドレスカウンタ３７により、バッファＬ４４への書き込むときのアドレス順序が決定される。
【０１１８】
図２で示されるように、Ｌ書き込みアドレスカウンタ３７は、初期アドレス読み出し部３７ａと、アドレス指定部３７ｂとを備えている。また、Ｌ書き込みアドレスカウンタ３７には、タイミング制御部４８と、Ｌ初期アドレスレジスタ３８と、バッファＬ４４とが接続されている。
【０１１９】
初期アドレス読み出し部３７ａは、タイミング制御部４８から出力される初期アドレス読み出し信号により、Ｌ初期アドレスレジスタ３８からＬ書き込み初期アドレスを読み出す。Ｌ書き込み初期アドレスとは、バッファＬ書き込み部４９がデータをバッファＬ４４に書き込むときに、最初のデータの書き込みアドレスである。初期アドレス読み出し部３７ａは、Ｌ初期アドレスレジスタ３８から読み出したＬ書き込み初期アドレスをアドレス指定部３７ｂへ送る。
【０１２０】
Ｌ初期アドレスレジスタ３８には、Ｌ書き込み初期アドレスが記録されている。なお、本実施形態において、Ｌ書き込み初期アドレスは、Ｌアドレス０である。
【０１２１】
アドレス指定部３７ｂは、初期アドレス読み出し部３７ａからＬ書き込み初期アドレスであるＬアドレス０を取得し、タイミング制御部４８からＣＣＤ駆動クロック信号をアドレス数（本実施の形態では３７００）の周期分だけ取得する。アドレス指定部３７ｂは、ＣＣＤ駆動クロック信号の半分の周期に応じたタイミングで、Ｌアドレス０から昇順にアドレスを生成する。そして、アドレスが最大アドレスに達すると、アドレス指定部３７ｂは、アドレスの生成を停止する。
【０１２２】
また、アドレス指定部３７ｂは、アドレスを生成するごとに、該アドレスを書き込みアドレスとして、バッファＬ４４に対して指定する。つまり、アドレス指定部３７ｂは、Ｌアドレス０，Ｌアドレス１，…，Ｌアドレス３６９９を、このアドレス順序に、書き込みアドレスとして指定する。
【０１２３】
バッファＬ読み出し部５０は、Ｌ読み出しアドレスカウンタ３９により指定された読み出しアドレスから画像データを読み出すためのものである。図２で示されるように、バッファＬ読み出し部５０には、セレクタ４７と、バッファＬ４４と、タイミング制御部４８とが接続されている。
【０１２４】
バッファＬ読み出し部５０には、タイミング制御部４８から、後述する読み出し水平同期信号（ＨＳＹＮＣ）を基に、周期が上記ＣＣＤ駆動クロック信号の４分の１である４倍駆動クロック信号が出力される。なお、出力される４倍駆動クロック信号は、バッファＬのアドレス数３７００の周期分だけである。
【０１２５】
該４倍駆動クロック信号を受けると、バッファＬ読み出し部５０は、該４倍駆動クロック信号に応じたタイミングで、バッファＬ４４から前半データ列を順に読み出す。よって、バッファＬ読み出し部５０は、バッファＬ書き込み部４９がバッファＬ４４にデータを書き込む速度の倍速で、バッファＬ４４からデータを読み出すことができる。さらに、バッファＬ読み出し部５０は、バッファＬ４４から読み出したデータを、読み出した順にセレクタ４７へ送る。
【０１２６】
Ｌ読み出しアドレスカウンタ３９は、バッファＬ４４に対して、画像データを読み出す場所（読み出しアドレス）を指定するためのものである。Ｌ読み出しアドレスカウンタ３９により、バッファＲ４５からの読み出し時のアドレス順序が決定される。なお、該読み出し時のアドレス順序は、Ｌ書き込みアドレスカウンタ３７により決定された書き込み時のアドレス順序と同じになるように設定されている。
【０１２７】
図２で示されるように、Ｌ読み出しアドレスカウンタ３９は、初期アドレス読み出し部３９ａと、アドレス指定部３９ｂとを備えている。また、Ｌ読み出しアドレスカウンタ３９には、タイミング制御部４８と、Ｌ初期アドレスレジスタ４０と、バッファＬ４４とが接続されている。
【０１２８】
初期アドレス読み出し部３９ａは、タイミング制御部４８から出力される初期アドレス読み出し信号により、Ｌ初期アドレスレジスタ４０からＬ読み出し初期アドレスを読み出す。Ｌ読み出し初期アドレスとは、バッファＬ読み出し部５０がバッファＬ４４からデータを読み出すときに、最初に読み出すバッファＬ４４の場所を示すアドレスである。初期アドレス読み出し部３９ａは、Ｌ初期アドレスレジスタ４０から読み出したＬ読み出し初期アドレスをアドレス指定部３９ｂへ送る。
【０１２９】
Ｌ初期アドレスレジスタ４０には、上記Ｌ読み出し初期アドレスが記録されている。なお、本実施形態において、Ｌ読み出し初期アドレスは、Ｌアドレス０であり、上記したＬ書き込み初期アドレスと同じである。
【０１３０】
アドレス指定部３９ｂは、初期アドレス読み出し部３９ａからＬ読み出し初期アドレスであるＬアドレス０を取得し、タイミング制御部４８から上記４倍駆動クロック信号をバッファＬのアドレス数（本実施の形態では３７００）の周期分だけ取得する。アドレス指定部３９ｂは、４倍駆動クロック信号に応じたタイミングで、Ｌアドレス０から昇順にアドレスを生成する。そして、アドレスが最大アドレスに達すると、アドレス指定部３９ｂは、アドレスの生成を停止する。
【０１３１】
また、アドレス指定部３９ｂは、アドレスを生成するごとに、該生成したアドレスを読み出しアドレスとして指定する。つまり、アドレス指定部３９ｂは、Ｌアドレス０，Ｌアドレス１，…，Ｌアドレス３６９９を、このアドレス順序に、読み出しアドレスとして指定する。
【０１３２】
このように、バッファＬ４４において、前半データ列が書き込まれるアドレス順序と、前半データ列が読み出されるアドレス順序とは、同一であり、Ｌアドレス０，Ｌアドレス１，…，Ｌアドレス３６９９の順（つまり、昇順）である。
【０１３３】
次に、バッファＲ側処理部４３について説明する。図２で示されるように、バッファＲ側処理部４３は、バッファＲ４５と、バッファＲ書き込み部（第２の書き込み手段）５１と、バッファＲ読み出し部（第２の読み出し手段）５２と、Ｒ書き込みアドレスカウンタ（アドレス反転手段）５３と、Ｒ読み出しアドレスカウンタ５４と、セレクタ５７，５８と、Ｒ最小初期アドレスレジスタ５５ａ，５６ａと、Ｒ最大初期アドレスレジスタ５５ｂ，５６ｂとからなる。
【０１３４】
バッファＲ４５は、増幅器３２およびＡ／Ｄ変換器３４を介して、デジタル形式に変換されたｃｈ３およびｃｈ４からの後半データ列を一旦記憶するためのものである。バッファＲ４５は、バッファＬ４４と同様に、１／２ライン分の画像データを記憶することができるデュアルポートＲＡＭである。これにより、２つのポートをそれぞれデータの書き込み用と読み出し用に使用することができるので、バッファＲ４５に対して、データの書き込みと読み出しとを切換える必要がない。
【０１３５】
バッファＲ４５は、異なる画像データをそれぞれ異なる場所に記憶するために、複数の記憶場所を有している。記憶場所の数は、ｃｈ３およびｃｈ４に対応する画素数（ここでは、３７００個）と同じだけある。また、各記憶場所を特定するため、各記憶場所にはアドレスが付与されている。バッファＲ４５が有する記憶場所のアドレスは、Ｒアドレス０〜Ｒアドレス３６９９である。
【０１３６】
図２で示されるように、バッファＲ４５には、バッファＲ書き込み部５１と、バッファＲ読み出し部５２と、Ｒ書き込みアドレスカウンタ５３と、Ｒ読み出しアドレスカウンタ５４とが接続されている。
【０１３７】
バッファＲ４５は、Ｒ書き込みアドレスカウンタ５３によりデータを書き込む場所（書き込みアドレス）が指定される。そして、指定された書き込みアドレスにバッファＲ書き込み部５１によりデータが書き込まれる。
【０１３８】
また、バッファＲ４５は、Ｒ読み出しアドレスカウンタ５４によりデータが読み出される場所（読み出しアドレス）が指定される。そして、指定された読み出しアドレスからバッファＬ読み出し部５２によりデータが読み出される。
【０１３９】
バッファＲ書き込み部５１は、Ｒ書き込みアドレスカウンタ５３により指定された書き込みアドレスに、データを書き込むためのものである。
【０１４０】
図２で示されるように、バッファＲ書き込み部５１には、バッファＲ４５が接続されている。また、図２には示されていないが、バッファＲ書き込み部５１には、Ａ／Ｄ変換器３４が接続されている。
【０１４１】
バッファＲ書き込み部５１には、後半データ列が逆順にＡ／Ｄ変換器３４より入力される。バッファＲ書き込み部５１は、データが入力されると同時に、入力されたデータをバッファＲ４５に書き込む。各画素に対応したデータが入力されるタイミングは、上記ＣＣＤ駆動クロック信号に応じたタイミングである。
【０１４２】
Ｒ書き込みアドレスカウンタ５３は、バッファＲ４５に対して、データの書き込みアドレスを指定するためのものである。Ｒ書き込みアドレスカウンタ５３は、ＣＣＤ ＨＳＹＮＣの周期ごとに（つまり、ライン毎に）、書き込みアドレスのアドレス順序をアドレス昇順とアドレス降順とに反転させる。
【０１４３】
図２に示されるように、Ｒ書き込みアドレスカウンタ５３は、初期アドレス読み出し部５３ａと、アドレス指定部５３ｂと、昇降順切換部５３ｃとを備えている。また、Ｒ書き込みアドレスカウンタ５３には、タイミング制御部４８が接続されている。さらに、セレクタ５７を介して、Ｒ最小初期アドレスレジスタ５５ａおよびＲ最大初期アドレスレジスタ５５ｂが接続されている。
【０１４４】
初期アドレス読み出し部５３ａは、タイミング制御部４８から出力される初期アドレス読み出し信号により、セレクタ５７を介して、Ｒ最小初期アドレスレジスタ５５ａまたはＲ最大初期アドレスレジスタ５５ｂからＲ書き込み初期アドレスを読み出す。Ｒ書き込み初期アドレスとは、新規のラインの後半データ列をバッファＲ４５に書き込むときに、最初に書き込まれる場所を示す書き込みアドレスである。初期アドレス読み出し部５３ａは、読み出したＲ書き込み初期アドレスをアドレス指定部５３ｂへ送る。
【０１４５】
Ｒ最小初期アドレスレジスタ５５ａには、Ｒ書き込み初期アドレスとして最小アドレスであるＲアドレス０が記録されており、Ｒ最大初期アドレスレジスタ５５ｂには、Ｒ書き込み初期アドレスとして最大アドレスであるＲアドレス３６９９が記録されている。
【０１４６】
セレクタ５７は、初期アドレス読み出し部５３ａと接続するレジスタとして、Ｒ最小初期アドレスレジスタ５５ａまたはＲ最大初期アドレスレジスタ５５ｂを選択するためのものである。
【０１４７】
図２で示されるように、セレクタ５７には、タイミング制御部４８が接続されている。セレクタ５７は、所定のタイミングで、タイミング制御部４８から最小選択信号、または、最大選択信号を受ける。
【０１４８】
最小選択信号を受けた場合、セレクタ５７は、初期アドレス読み出し部５３ａとＲ最小初期アドレスレジスタ５５ａとを接続する。これにより、初期アドレス読み出し部５３ａは、Ｒ書き込み初期アドレスとして最小アドレスであるＲアドレス０を取得することができる。
【０１４９】
一方、最大選択信号を受けた場合、セレクタ５７は、初期アドレス読み出し部５３ａとＲ最大初期アドレスレジスタ５５ｂとを接続する。これにより、初期アドレス読み出し部５３ａは、Ｒ書き込み初期アドレスとして最大アドレスであるＲアドレス３６９９を取得することができる。
【０１５０】
昇降順切換部５３ｃは、アドレス指定部５３ｂがアドレスを生成する順をアドレス番号が増える昇順とするのか、アドレス番号が減る降順とするのかを切換えるためのものである。
【０１５１】
昇降順切換部５３ｃは、タイミング制御部４８から昇順切換信号または降順切換信号を受ける。昇順切換信号を受けた場合、昇降順切換部５３ｃは、昇順に切換える。一方、降順切換信号を受けた場合、昇降順切換部５３ｃは、降順に切換える。なお、後述するように、タイミング制御部４８は、セレクタ５７に最小選択信号を送ると同時に、昇降順切換部５３ｃに昇順切換信号を送り、セレクタ５７に最大選択信号を送ると同時に、昇降順切換部５３ｃに降順切換信号を送る。
【０１５２】
アドレス指定部５３ｂは、初期アドレス読み出し部３７ａからＲ書き込み初期アドレスを取得する。また同時に、タイミング制御部４８からＣＣＤ駆動クロック信号を１／２ライン分の画素数（本実施の形態では３７００）の周期分だけ取得する。Ｒ書き込み初期アドレスおよびＣＣＤ駆動クロック信号を取得すると、アドレス指定部５３ｂは、取得したＣＣＤ駆動クロック信号の半分の周期に応じたタイミングで、取得したＲ書き込み初期アドレスから昇順に、または、降順にアドレスを生成する。そして、アドレスが最大アドレスまたは最小アドレスに達すると、アドレス指定部５３ｂは、アドレスの生成を停止する。
【０１５３】
また、アドレス指定部５３ｂは、アドレスを生成するごとに、該アドレスに該当する場所を書き込みアドレスとして、バッファＲ４５に対して指定する。
【０１５４】
ここで、昇順に、または、降順にアドレスを生成するかは、上述したように、昇降順切換部５３ｃにより切換えられる。つまり、昇降順切換部５３ｃが昇順に切換えられた場合、アドレス指定部５３ｂは、Ｒアドレス０，Ｒアドレス１，…，Ｒアドレス３６９９を、この順序に、書き込みアドレスとして指定する。一方、昇降順切換部５３ｃが降順に切換えられた場合、アドレス指定部５３ｂは、Ｒアドレス３６９９，Ｒアドレス３６９８，…，Ｒアドレス０を、このアドレス順序に、書き込みアドレスとして指定する。
【０１５５】
図３および図４は、バッファＲ４５に後半データ列が書き込まれたときの、具体的な記憶例を示している。
【０１５６】
セレクタ５７がＲアドレス０をＲ書き込み初期アドレスとして選択した場合、図３で示されるように、バッファＲ４５のＲアドレス０〜Ｒアドレス３６９９には、それぞれ画素７４００〜画素３７０１に対応するデータが格納される。
【０１５７】
一方、セレクタ５７がＲアドレス３６９９をＲ書き込み初期アドレスとして選択した場合、図４で示されるように、バッファＲ４５のＲアドレス３６９９〜Ｒアドレス０には、それぞれ画素７４００〜画素３７０１に対応するデータが格納される。
【０１５８】
バッファＲ読み出し部５２は、Ｒ読み出しアドレスカウンタ５４により指定された読み出しアドレスからデータを読み出すためのものである。図２で示されるように、バッファＲ読み出し部５２には、セレクタ４７と、Ｒ読み出しアドレスカウンタ５４と、バッファＲ４５と、タイミング制御部４８とが接続されている。
【０１５９】
バッファＲ読み出し部５２には、タイミング制御部４８から、後述する読み出しＨＳＹＮＣに応じて、上記４倍駆動クロック信号が３７００周期分だけ出力される。
【０１６０】
４倍駆動クロック信号を受けると、バッファＲ読み出し部５２は、該４倍駆動クロック信号に応じたタイミングで、バッファＲ４５から後半データ列を順に読み出す。よって、バッファＲ読み出し部５２は、バッファＲ書き込み部５１がバッファＲ４５にデータを書き込む速度の倍速で、バッファＲ４５からデータを読み出すことができる。さらに、バッファＲ読み出し部５２は、バッファＲ４５から読み出した画像データを、読み出した順にセレクタ４７へ送る。
【０１６１】
Ｒ読み出しアドレスカウンタ５４は、バッファＲ４５に対して、データの読み出しアドレスを指定するためのものである。Ｒ読み出しアドレスカウンタ５４は、書き込みアドレス順序と逆の順になるように、読み出しアドレス順序をアドレス昇順とアドレス降順とに切換える。
【０１６２】
図２で示されるように、Ｒ読み出しアドレスカウンタ５４は、初期アドレス読み出し部５４ａと、アドレス指定部５４ｂと、昇降順切換部５４ｃとを備えている。また、Ｒ読み出しアドレスカウンタ５４には、タイミング制御部４８と、バッファＲ読み出し部５２とが接続されている。さらに、セレクタ５８を介して、Ｒ最小初期アドレスレジスタ５６ａおよびＲ最大初期アドレスレジスタ５６ｂが接続されている
初期アドレス読み出し部５４ａは、タイミング制御部４８から出力される初期アドレス読み出し信号により、セレクタ５８を介して、Ｒ最小初期アドレスレジスタ５６ａまたはＲ最大初期アドレスレジスタ５６ｂからＲ読み出し初期アドレスを読み出す。Ｒ読み出し初期アドレスとは、新規のラインの画像データをバッファＲ４５から読み出すときに、最初の読み出す場所を示す読み出しアドレスである。初期アドレス読み出し部５４ａは、バッファＲ初期アドレス記録部５６から読み出したＲ読み出し初期アドレスをアドレス指定部５４ｂへ送る。
【０１６３】
Ｒ最小初期アドレスレジスタ５６ａには、Ｒ書き込み初期アドレスとして最小アドレスであるＲアドレス０が記録されており、Ｒ最大初期アドレスレジスタ５６ｂには、Ｒ書き込み初期アドレスとして最大アドレスであるＲアドレス３６９９が記録されている。
【０１６４】
セレクタ５８は、初期アドレス読み出し部５４ａと接続するレジスタとして、Ｒ最小初期アドレスレジスタ５６ａまたはＲ最大初期アドレスレジスタ５６ｂを選択するためのものである。
【０１６５】
図２で示されるように、セレクタ５８には、タイミング制御部４８が接続されている。セレクタ５８は、所定のタイミングで、タイミング制御部４８から最小選択信号、または、最大選択信号を受ける。最小選択信号を受けた場合、セレクタ５８は、初期アドレス読み出し部５４ａとＲ最小初期アドレスレジスタ５６ａとを接続する。これにより、初期アドレス読み出し部５４ａは、Ｒ書き込み初期アドレスとして最小アドレスであるＲアドレス０を取得することができる。一方、最大選択信号を受けた場合、セレクタ５８は、初期アドレス読み出し部５４ａとＲ最大初期アドレスレジスタ５６ｂとを接続する。これにより、初期アドレス読み出し部５４ａは、Ｒ書き込み初期アドレスとして最大アドレスであるＲアドレス３６９９を取得することができる。
【０１６６】
昇降順切換部５４ｃは、アドレス指定部５４ｂがアドレスを生成する順をアドレス番号が増える昇順とするのか、アドレス番号が減る降順とするのかを切換えるためのものである。
【０１６７】
昇降順切換部５４ｃは、タイミング制御部４８から昇順切換信号または降順切換信号を受ける。昇順切換信号を受けた場合、昇降順切換部５４ｃは、昇順に切換える。一方、降順切換信号を受けた場合、昇降順切換部５４ｃは、降順に切換える。なお、後述するように、タイミング制御部４８は、セレクタ５８に最小選択信号を送ると同時に昇降順切換部５４ｃに昇順切換信号を送り、セレクタ５８に最大選択信号を送ると同時に昇降順切換部５４ｃに降順切換信号を送る。
【０１６８】
アドレス指定部５４ｂは、初期アドレス読み出し部５４ａからＲ読み出し初期アドレスを取得する。また同時に、タイミング制御部４８から４倍駆動クロック信号を後半データ列の画素数（本実施の形態では３７００）の周期分だけ取得する。
【０１６９】
Ｒ読み出し初期アドレスおよび４倍駆動クロック信号を取得すると、アドレス指定部５４ｂは、取得した４倍駆動クロック信号に応じたタイミングで、取得したＲ読み出し初期アドレスから昇順に、または、降順にアドレスを生成する。そして、アドレスが最大アドレスまたは最小アドレスに達したとき、アドレス指定部５３ｂは、アドレスの生成を停止する。
【０１７０】
また、アドレス指定部５４ｂは、アドレスを生成するごとに、該アドレスを読み出しアドレスとして、バッファＲ４５に対して指定する。
【０１７１】
ここで、昇順に、または、降順にアドレスを生成するかは、上述したように、昇降順切換部５４ｃにより切換えられる。つまり、昇降順切換部５４ｃが昇順に切換えられた場合、アドレス指定部５４ｂは、Ｒアドレス０，Ｒアドレス１，…，Ｒアドレス３６９９を、この順序に、読み出しアドレスとして指定する。一方、昇降順切換部５４ｃが降順に切換えられた場合、アドレス指定部５４ｂは、Ｒアドレス３６９９，Ｒアドレス３６９８，…，Ｒアドレス０を、このアドレス順序に、読み出しアドレスとして指定する。
【０１７２】
図３に示されるように、バッファＲ４５においてＲアドレス０に画素７４００に対応するデータが記憶されている場合、タイミング制御部４８によって、セレクタ５８に対してＲアドレス３６９９をＲ読み出し初期アドレスとして選択する信号が送られ、昇降順切換部５４ｃに対して降順に切換える信号が送られる。
【０１７３】
また、図４で示されるように、バッファＲ４５においてＲアドレス０に画素３７０１に対応する画像データが記憶されている場合、タイミング制御部４８によって、セレクタ５８に対してＲアドレス０をＲ読み出し初期アドレスとして選択する最小選択信号が送られ、昇降順切換部５４ｃに対して昇順に切換える昇順切換信号が送られる。
【０１７４】
以上により、バッファＲ読み出し部５２は、後半データ列をライン正順に読み出すことができる。
【０１７５】
セレクタ４７は、バッファＬ読み出し部５０がバッファＬ４４から読み出した前半データ列と、バッファＲ読み出し部５２がバッファＲ４５から読み出した後半データ列とを連続して受信し、受信した順に後段の遅延部３６へ出力するためのものである。セレクタ４７は、タイミング制御部４８と接続されており、タイミング制御部４８からＬ選択信号またはＲ選択信号を受ける。
【０１７６】
タイミング制御部４８からＬ選択信号を受けた場合、セレクタ４７は、遅延部３６とバッファＬ読み出し部５０とを接続する。これにより、バッファＬ読み出し部５０により読み出されたデータは、セレクタ４７を介して遅延部３６へ送られる。一方、タイミング制御部４８からＲ選択信号を受けた場合、セレクタ４７は、遅延部３６とバッファＲ読み出し部５２とを接続する。これにより、バッファＲ読み出し部５２により読み出されたデータは、セレクタ４７を介して遅延部３６へ送られる。
【０１７７】
タイミング制御部４８は、画像入力装置２より、増幅器およびＡ／Ｄ変換器を介して、または直接に、ＣＣＤ ＨＳＹＮＣとＣＣＤ駆動クロック信号とを取得する。もしくは、Ａ／Ｄ変換器３３，３４から送られるデータのタイミングから、該ＣＣＤ ＨＳＹＮＣとＣＣＤ駆動クロック信号とを検出してもよい。もしくは、タイミング制御部４８がＣＣＤ ＨＳＹＮＣとＣＣＤ駆動クロック信号とを生成し、画像入力装置２及びＡ／Ｄ変換器３３，３４に供給する事も可能であり、別に設けたタイミング制御部からＣＣＤ ＨＳＹＮＣとＣＣＤ駆動クロック信号とを生成し画像入力装置２、Ａ／Ｄ変換器３３，３４、およびタイミング制御部４８に供給する事も可能である。
【０１７８】
タイミング制御部４８は、該ＣＣＤ ＨＳＹＮＣとＣＣＤ駆動クロック信号とを基に、ＣＣＤ ＨＳＹＮＣと同じ周期であり、かつ、ＣＣＤ ＨＳＹＮＣからＣＣＤ駆動クロック信号の周期に１／４ライン分の画素数を乗じた期間だけ遅れた読み出しＨＳＹＮＣを生成する。
【０１７９】
また、タイミング制御部４８は、周期がＣＣＤ駆動クロック信号の周期の１／２である２倍駆動クロック信号と、周期がＣＣＤ駆動クロック信号の周期の１／４である４倍駆動クロック信号を生成する。
【０１８０】
タイミング制御部４８は、該ＣＣＤ ＨＳＹＮＣとＣＣＤ駆動クロックと読み出しＨＳＹＮＣとを基に、整列部３５の各部材に対して、以下に記す各種の信号を所定のタイミングで出力する。
【０１８１】
タイミング制御部４８は、バッファＬ読み出し部５０と、バッファＲ読み出し部５２とに接続されており、これらの部材に対して、後述するタイミングで、４倍駆動クロック信号を出力する。
【０１８２】
さらに、タイミング制御部４８は、アドレスカウンタ３７，３９，５３，５４およびセレクタ５７，５８に接続されている。
【０１８３】
タイミング制御部４８は、アドレス指定部３７ａ，５３ａに対して、ＣＣＤ ＨＳＹＮＣに応じたタイミングで所定数の周期分だけ２倍駆動クロック信号を、アドレス指定部３８ａ，５４ａに対して、後述するタイミングで所定数の周期分だけ４倍駆動クロック信号を出力する。
【０１８４】
また、タイミング制御部４８は、初期アドレス読み出し部３７ｂ，３９ｂ，５３ｂ，５４ｂに対して、後述するタイミングで、初期アドレス読み出し信号を出力する。初期アドレス読み出し信号とは、各初期アドレス読み出し部が、各アドレスカウンタに直接、もしくは、セレクタを介して接続されているレジスタから、初期アドレスを読み出すためのものである。
【０１８５】
初期アドレス読み出し部５３ｂに対して初期アドレス読み出し信号を出力する場合、タイミング制御部４８は、同時にセレクタ５７に対してＲアドレス０を選択する最小選択信号もしくはＲアドレス３６９９を選択する最大選択信号を出力する。また、セレクタ５７に対して最小選択信号を出力すると同時に、タイミング制御部４８は、昇降順切換部５３ｃに対して昇順に切換える昇順切換信号を出力する。一方、セレクタ５７に対して最大選択信号を出力する同時に、タイミング制御部４８は、昇降順切換部５３ｃに対して降順に切換える降順切換信号を出力する。
【０１８６】
同様に、初期アドレス読み出し部５４ｂに対して初期アドレス読み出し信号を出力する場合、タイミング制御部４８は、同時にセレクタ５８に対してＲアドレス０を選択する最小選択信号もしくはＲアドレス３６９９を選択する最大選択信号を出力する。また、セレクタ５８に対して最小選択信号を出力すると同時に、タイミング制御部４８は、昇降順切換部５４ｃに対して昇順に切換える昇順切換信号を出力する。一方、セレクタ５８に対して最大選択信号を出力する同時に、タイミング制御部４８は、昇降順切換部５４ｃに対して降順に切換える降順切換信号を出力する。
【０１８７】
さらに、タイミング制御部４８は、セレクタ４７に接続されており、後述するタイミングで、セレクタ４７に対して、バッファＬ読み出し部５０との接続を選択するＬ選択信号、または、バッファＲ４５との接続を選択するＲ選択信号を出力する。
【０１８８】
また、タイミング制御部４８は、ＣＣＤ ＨＳＹＮＣを基に、後段の画像処理部６１における画像処理の開始を示す画像処理用ＨＳＹＮＣも生成することができる。
【０１８９】
次に、バッファＬ４４およびバッファＲ４５に対するデータの書き込みと読み出しのタイミングについて図５を参照しながら説明する。
【０１９０】
図５は、バッファＬ４４およびバッファＲ４５に対するデータの書き込みと読み出しを説明するタイミングチャートである。図５において、横軸は時間軸を示している。また、縦軸は各バッファのアドレスを示している。
【０１９１】
「書き込み」のハッチングされた三角形の領域は、バッファに書き込まれたデータを示している。三角形の高さは書き込まれたデータ量、幅はデータを書き込んでいる時間、斜辺の傾きはデータを書き込む速度を表している。また、ハッチング領域が三角形の斜辺の下部にある場合には、データは最小アドレスから書き込まれていることを表しており、ハッチング領域が三角形の斜辺の上部にある場合には、データは最大アドレスから書き込まれていることを表している。
【０１９２】
「読み出し」の三角形も「書き込み」の三角形と同様である。読み出しは、書き込み速度の倍速で行うため、データ量（三角形の高さ）は同じであるが、読み出しに要する時間（三角形の幅）は半分になっている。なお、データの対応が取りやすいように、ハッチングの種類は、奇数ラインと偶数ライン、バッファＬ４４とバッファＲ４５で区別されている。
【０１９３】
また、各バッファのデータの変化も併せて示している。ハッチングされている部分は、データが書き込まれてから読み出されるまでのデータが有効な期間を示している。一方、ハッチングされていない部分は、データが読み出されてから次のデータが書き込まれるまでの期間を示している。
【０１９４】
図５において、ＣＣＤ ＨＳＹＮＣの同期は、時刻Ｔ0，Ｔ1，Ｔ2，…である。また、読み出しＨＳＹＮＣの同期は、時刻ｔL0，ｔL1，ｔL2，…である。なお、上記したように、時刻ｔL0，ｔL1，ｔL2，…は、時刻Ｔ0，Ｔ1，Ｔ2，…よりも、ＣＣＤ駆動クロック信号の周期に１／４ライン分の画素数を乗じた時間だけ遅れている。
【０１９５】
まず、１番目のラインのデータがＣＣＤ２１の各画素から画像処理装置３に入力開始される時刻Ｔ0において、タイミング制御部４８は、初期アドレス読み出し部３７ｂ，５３ｂに対して初期アドレス読み出し信号を、アドレス指定部３７ａ，５３ａに対して１／２ライン分のＣＣＤ駆動クロック信号を、セレクタ５７に対して最小選択信号を、昇降順切換部５３ｃに対して昇順切換信号を出力する。
【０１９６】
これにより、時刻Ｔ0において、アドレス指定部３７ａは、初期アドレスとしてＬアドレス０を取得し、該アドレスを書き込みアドレスとして指定する。同時に、バッファＬ書き込み部４９は、Ａ／Ｄ変換器３３から画素０００１に対応する画像データを取得し、Ｌアドレス０に該データを書き込む。
【０１９７】
一方、アドレス指定部５３ｂは、時刻Ｔ0において、初期アドレスとしてＲアドレス０を取得し、該アドレスを書き込みアドレスとして指定する。同時に、バッファＲ書き込み部５１は、Ａ／Ｄ変換器３４から画素７４００に対応するデータを取得し、Ｒアドレス０に該データを書き込む。
【０１９８】
その後、ＣＣＤ駆動クロック信号の１／２周期を経ると、アドレス指定部３７ａは、Ｌアドレス１を書き込みアドレスとして指定する。同時に、バッファＬ書き込み部４９は、Ａ／Ｄ変換器３３から画素０００２に対応するデータを取得し、Ｌアドレス１に該データを書き込む。
【０１９９】
一方、アドレス指定部５３ａは、Ｒアドレス１を書き込みアドレスとして指定する。同時に、バッファＲ書き込み部５１は、Ａ／Ｄ変換器３４から画素７３９９に対応するデータを取得し、Ｒアドレス１に該データを書き込む。
【０２００】
このようにして、ＣＣＤ駆動クロック信号の１／２周期を経るごとに、ＣＣＤ２１の両端から逐次出力されたデータは、先頭（画素０００１に対応する画像データ）から正順にバッファＬ４４へ、末尾（画素７４００に対応する画像データ）から逆順にバッファＲ４５へ並行して、図５で示されるように、最小アドレスから昇順に書き込まれていく。
【０２０１】
時刻Ｔ0から時刻ｔL0までの時間は、上記したように、ＣＣＤ駆動クロック信号の周期に１／４ライン分の画素数を乗じた時間である。よって、時刻ｔL0においては、バッファＬ４４、バッファＲ４５のそれぞれに１／４ライン分のデータが書き込まれており、合わせて１／２ライン分のデータが書き込まれている。このとき、バッファＬ４４には、Ｌアドレス０〜Ｌアドレス１８５０の該当する場所に、それぞれ画素０００１〜画素１８５０に対応するデータが書き込まれている。また、バッファＲ４５には、Ｒアドレス０〜Ｒアドレス１８５０の該当する場所に、それぞれ画素７４００〜画素５５５１に対応するデータが書き込まれている。
【０２０２】
次に、時刻ｔL0において、または、時刻ｔL0からわずかに遅れた時点において、タイミング制御部４８は、初期アドレス読み出し部３９ｂに対して初期アドレス読み出し信号を、バッファＬ読み出し部５０およびアドレス指定部３９ａに対して１／２ライン分の４倍駆動クロック信号を、セレクタ４７に対してＬ選択信号を出力する。
【０２０３】
タイミング制御部４８からの制御をうけて、Ｌ読み出しアドレスカウンタ３９は、Ｌアドレス０を読み出しアドレスとして指定し、バッファＬ読み出し部５０は、Ｌアドレス０から画素０００１に対応するデータを読み出す。
【０２０４】
さらに、バッファＬ読み出し部５０は、読み出したデータを、セレクタ４７を介して遅延部３６へ送る。つまり、１ライン分の画像データが遅延部３６に入力開始される。なお、入力開始される時点は、時刻ｔL0、または、時刻ｔL0からわずかに遅れた時点であるから、バッファＬ４４およびバッファＲ４５には、すでに１／２ライン分、もしくはそれ以上のデータが格納されている。
【０２０５】
その後、４倍駆動クロック信号の周期にあわせて、Ｌ読み出しアドレスカウンタ３９は、Ｌアドレス１，Ｌアドレス２，…，Ｌアドレス３６９９（最大アドレス）を読み出しアドレスとして指定し、バッファＬ読み出し部５０は該アドレスからデータを順に読み出す。
【０２０６】
これにより、図５の「読み出し」に示されるように、バッファＬ読み出し部５０は、バッファＬ４４のＬアドレス０に格納されているデータ（画素０００１に対応する画像データ）からアドレス昇順に読み出していく。この結果、バッファＬ読み出し部５０は、セレクタ４７を介して後段に、画素０００１，画素０００２，…，画素３７００の正順に各画素に対応する画像データを出力することができる。
【０２０７】
バッファＬ読み出し部５０が読み出す速度は、４倍駆動クロック信号の周期ごとであるため、バッファＬ４４にデータを書き込む速度の倍速となる。すなわち、図５において、「読み出し」の斜辺の傾きは、「バッファＬ書き込み」の斜辺の傾きの倍である。
【０２０８】
また、上述したように、バッファＬ読み出し部５０がバッファＬから読み出し始める時点は、バッファＬに１／４ライン分のデータが書き込まれた時刻ｔL0または時刻ｔL0よりわずかに遅れた時点である。
【０２０９】
よって、バッファＬ読み出し部５０が１番目のラインの前半データ列を読み出し終える時点（これを時刻ｔR0とする）は、バッファＬ書き込み部４９がバッファＬに１番目のラインの前半データ列を書き込み終えた時点と同じか、もしくは、書き込み終えた時点よりわずかに後となる。このため、Ｌ読み出しアドレスカウンタ３９が指定するアドレスが、Ｌ書き込みアドレスカウンタ３７が指定するアドレスよりも大きくなることはなく、倍速の読み出しが、書き込みを追い越すことはない。これにより、１番目のラインの前半データ列は、必ずバッファＬ４４に一旦記憶された後に、バッファＬ読み出し部５０により読み出される。
【０２１０】
また、図５で示されるように、時刻ｔR0において、バッファＲ書き込み部５１は、バッファＲ４５の全てのアドレスに対して１番目のラインの後半データ列を格納し終えている。すなわち、Ｒアドレス０〜Ｒアドレス３６９９に該当する場所には、画素７４００〜画素３７０１に対応するデータがそれぞれ記憶されている。
【０２１１】
次に、時刻ｔR0において、タイミング制御部４８は、初期アドレス読み出し部５４ｂに対して初期アドレス読み出し信号を、バッファＲ読み出し部５２およびアドレス指定部５４ａに対して４倍駆動クロック信号を、昇降順切換部５４ｃに対して降順切換信号を、セレクタ５８に対して最大選択信号を、セレクタ４７にＲ選択信号を出力する。
【０２１２】
図５に示されるように、タイミング制御部４８からの制御をうけて、時刻ｔR0において、バッファＲ読み出し部５２は、バッファＲ４５の最大Ｒアドレス３６９９に格納されたデータ（画素３７０１に対応する画像データ）を読み出す。その後、４倍駆動クロック信号の周期ごとに、バッファＲ読み出し部５２は、バッファＲからアドレス降順にデータを読み出していく。つまり、バッファＲ書き込み部５１の書き込み順とは逆の順で読み出す。この結果、バッファＲ読み出し部５２は、セレクタ４７を介して後段に、画素３７０１，画素３７０２，…，画素７４００の正順に各画素に対応する画像データを出力することができる。
【０２１３】
すなわち、上記したバッファＬ読み出し部５０により読み出されたデータと合わせると、１番目のラインの画素０００１〜画素７４００に対応するデータが正順に整列されて、後段に出力される。
【０２１４】
また、時刻ｔR0より遅れた時刻Ｔ1において、２番目のラインのデータがＣＣＤ２１よりバッファＬ４４およびバッファＲ４５に送られる。
【０２１５】
タイミング制御部４８は、時刻ｔR0が時刻Ｔ1よりも前になるように、バッファＲ読み出し部５０の読み出し開始時点を制御している。これにより、バッファＬ書き込み部４９およびバッファＲ書き込み部５１は、次のラインのデータを取得すると同時に、その前半データ列および後半データ列を、バッファＬ４４およびバッファＲ４５に書き込み開始することができる。
【０２１６】
時刻Ｔ1において、タイミング制御部４８は、初期アドレス読み出し部３７ｂ、５３ｂに対して初期アドレス読み出し信号を、バッファＬ書き込み部４９およびバッファＲ書き込み部５１およびアドレス指定部３７ａ，５３ａに対して１／２ライン分の駆動クロック信号を、セレクタ５７に対して最大選択信号を、昇降順切換部５３ｃに対して降順切換信号を出力する。
【０２１７】
これにより、４チャンネルＣＣＤの両端から逐次出力された次のラインのデータは、先頭（画素０００１に対応する画像データ）から正順にバッファＬ４４へ、末尾（画素７４００に対応する画像データ）から逆順にバッファＲ４５へ並行して書き込まれていく。
【０２１８】
図５で示されるように、バッファＬ書き込み部４９は、時刻Ｔ0から時刻Ｔ1までの期間と同様に、バッファＬ４４の最小Ｌアドレス０から昇順にデータを格納していく。
【０２１９】
一方、Ｒ書き込みアドレスカウンタ５３は、最大アドレスであるＲアドレス３６９９から降順にアドレスを指定する。つまり、Ｒ書き込みアドレスカウンタ５３は、１番目のラインにおいて指定したアドレス順序と反転したアドレス順序であり、時刻ｔR0からＲ読み出しアドレスカウンタ５４が読み出しアドレスとして指定したアドレス順序と同じアドレス順序を指定する。これにより、バッファＲ書き込み部５１は、バッファＲ読み出し部５２が１番目のラインのデータを最初に読み出したＲアドレス３６９９から降順に２番目のラインのデータを格納していく。このように、バッファＲ書き込み部５１は、バッファＲ読み出し部５２が１番目のラインのデータ全てを読み出し終えるのを待つ必要がなく、バッファＲ読み出し部５２が読み出し終えたアドレスから書き込みを開始していく。
【０２２０】
その後、図５で示されるように、時刻ｔL1において、バッファＬ４４、バッファＲ４５のそれぞれに２番目のラインの１／４ライン分のデータが書き込まれる。すなわち、バッファＬ４４のＬアドレス０〜Ｌアドレス１８４９に、２番目のラインの画素０００１〜画素１８５０に対応するデータが、バッファＲ４５のＲＬアドレス３６９９〜Ｒアドレス１８５０に、２番目のラインの画素７４００〜画素５５５１に対応するデータが格納されている。
【０２２１】
次に、時刻ｔL1または時刻ｔL1よりわずかに遅れた時点において、タイミング制御部４８は、初期アドレス読み出し部３９ｂに対して初期アドレス読み出し信号を、バッファＬ読み出し部５０およびアドレス指定部３９ａに対して１／２ライン分の４倍駆動クロック信号を出力する。
【０２２２】
タイミング制御部４８からの制御をうけて、バッファＬ読み出し部５０は、バッファＬ４４のＬアドレス０に格納されているデータ（画素０００１に対応する画像データ）からアドレス昇順に読み出していく。この結果、バッファＬ読み出し部５０は、セレクタ４７を介して後段に、画素０００１，画素０００２，…，画素３７００の正順に各画素に対応する画像データを出力することができる。
【０２２３】
そして、時刻ｔR1において、バッファＬ読み出し部５０がバッファＬ４４の最大Ｌアドレス３６９９に格納された２番目のラインに対するデータを読み出し終える。また、時刻ｔR1においては、バッファＲ書き込み部５１が、バッファＲ４５の全てのアドレスに対して２番目のラインの１／２ライン分のデータを格納した後である。すなわち、Ｒアドレス３６９９〜Ｒアドレス０に該当する場所に、画素７４００〜画素３７０１に対応するデータがそれぞれ記憶されている。
【０２２４】
次に、時刻ｔR1において、タイミング制御部４８は、初期アドレス読み出し部５４ｂに対して初期アドレス読み出し信号を、バッファＲ読み出し部５２およびアドレス指定部５４ａに対して１／２ライン分の周期分だけ４倍駆動クロック信号を、昇降順切換部５４ｃに対して昇順切換信号を、セレクタ５８に対して最小選択信号を出力する。
【０２２５】
図５で示されるように、タイミング制御部４８からの制御をうけて、時刻ｔR1から、バッファＲ読み出し部５２は、バッファＲ４５格納されたデータ（画素３７０１に対応する画像データ）を最小Ｒアドレス０からアドレス昇順に読み出していく。つまり、バッファＲ読み出し部５２は、バッファＲ書き込み部５１が２番目のラインのデータを書き込んだアドレス順序とは逆の順で読み出す。この結果、バッファＲ読み出し部５２は、セレクタ４７を介して後段に、画素３７０１，画素３７０２，…，画素７４００の正順に各画素に対応する画像データを出力することができる。
【０２２６】
この結果、２番目のラインの画素０００１〜画素７４００に対応するデータが正順に整列されて、後段に出力される。
【０２２７】
続いて、時刻Ｔ2において、３番目のラインのデータがＣＣＤよりバッファＬ４４およびバッファＲ４５に送られる。時刻Ｔ2から時刻Ｔ3におけるタイミング制御部４８の制御は、時刻Ｔ0から時刻Ｔ1における制御と同じである。
【０２２８】
さらに、時刻Ｔ3において、４番目のラインのデータがＣＣＤよりバッファＬ４４およびバッファＲ４５に送られる。時刻Ｔ3から時刻Ｔ4におけるタイミング制御部４８の制御は、時刻Ｔ1から時刻Ｔ2における制御と同じである
以上のように、タイミング制御部４８は、時刻Ｔ0から時刻Ｔ4までの制御を繰り返し行う。これにより、整列部３５は、全てのラインのデータを後段に出力することができる。
【０２２９】
本実施の形態では、Ｌ書き込みアドレスカウンタ３７およびＬ読み出しアドレスカウンタ３９は、ともにバッファＬ４４の最小アドレスであるＬアドレス０から昇順にアドレスを生成し、生成したアドレスを指定するものとした。しかし、これに限られない。
【０２３０】
例えば、Ｌアドレス３６９９を初期アドレスとして、Ｌアドレス３６９９から降順にアドレスを生成し、該アドレスに該当する場所を順に書き込み場所として指定するとしてもよい。この場合、Ｌ初期アドレスレジスタ３８，４０には、最大アドレスであるＬアドレス３６９９が記録されており、アドレス指定部３７ｂ，３９ｂは、降順にアドレスを生成する。
【０２３１】
また、例えば、特許文献１に記載されているように、前半データ列の先端にあるダミーデータをカットするため、Ｌ書き込みアドレスカウンタ３７の初期アドレスと、Ｌ読み出しアドレスカウンタ３９の初期アドレスとに差を設けてもよい。この場合、Ｌ初期アドレスレジスタ３８，４０に記録されている初期アドレスの値を変更すればよい。
【０２３２】
さらに、本実施の形態では、Ｌ書き込みアドレスカウンタ３７およびＬ読み出しアドレスカウンタ３９において、ラインごとに、初期アドレス読み出し部３７ａ，３９ａが、初期アドレスをＬ初期アドレスレジスタ３８，４０から読み出す構成とした。しかし、これに限られない。例えば、アドレス指定部３７ｂ，３９ｂがアドレスを昇順に生成したとき、アドレス指定部３７ｂ，３９ｂは、アドレスをクリアにしてＬアドレス０に戻すようにしてもよい。この場合、Ｌ初期アドレスレジスタ３８，４０、ならびに初期アドレス読み出し部３７ａ，３９ａは不要となる。
【０２３３】
また、本実施の形態において、バッファＬ読み出し部５０およびバッファＲ読み出し部５２は、周期がＣＣＤ駆動クロック信号の半分である２倍クロック信号により、書き込み速度の２倍速でバッファＬ４４およびバッファＲ４５からデータを読み出すとしたが、これに限られるものではない。バッファＬ読み出し部５０およびバッファＲ読み出し部５２は、書き込み速度の２倍以上の速度でバッファＬ４４およびバッファＲ４５からデータを読み出すことも可能であり、２倍以下の速度でバッファＬ４４およびバッファＲ４５からデータを読み出すことも可能である。
【０２３４】
２倍以上の速度で読み出す場合は、バッファＬ書き込み部４９が前半データ列をバッファＬ４４に書き込むのに要する時間（もしくは、バッファＲ書き込み部５１が後半データ列をバッファＲ４５に書き込むのに要する時間）の半分以下の時間で、バッファＬ読み出し部５０は、前半データ列を読み出し、バッファＲ読み出し部５２は、後半データ列を読み出すことができる。
【０２３５】
また、２倍以下の速度で読み出す場合は、後段の画像処理部が低速で動作可能となる。
【０２３６】
また、本実施の形態では、前半データ列および後半データ列において、奇数番目の画素と偶数番目の画素とのデータの統合を増幅器３１，３２で行ったが、これに限られるものではない。例えば、Ａ／Ｄ変換器３３，３４において行ってもよく、または、画像入力装置２側において行われてもよい。
【０２３７】
〔実施の形態２〕
本発明の画像処理装置に関する他の実施形態について、図２および図６に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施の形態にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０２３８】
本実施の形態では、バッファＬ書き込み部４９が、バッファＬ４４に対して、前半データ列を２回に分けて、１／４ライン分ごとに書き込み、バッファＬ読み出し部５０が、バッファＬ４４に対して、前半データ列を２回に分けて、１／４ライン分ごとに読み出すことを特徴としている。
【０２３９】
また、上記実施の形態では、バッファＬの容量を１／２ライン分のデータ量が格納できるものとした。しかし、本実施の形態の画像処理装置においては、バッファＬ４４の容量を１／４ライン分のデータ量に削減している。つまり、バッファＬ４４は、１８５０画素に対応する画像データのみを格納することができ、格納する場所は１８５０個ある。なお、格納場所を示すアドレスは、Ｌアドレス０〜Ｌアドレス１８４９である。
【０２４０】
他の構成は図２で示したものと同じである。ただし、タイミング制御部４８がバッファＬ側処理部４２に対して出力するタイミングは、上記実施の形態と異なる。そこで、タイミング制御部４８がバッファＬ側処理部４２に対して出力するタイミングについて説明する。なお、タイミング制御部４８がバッファＲ側処理部４３に対して出力するタイミングは上記実施の形態と同様であるため、バッファＲ側処理部４３についての詳細な説明は省略する。
【０２４１】
図６は、本実施の形態におけるバッファＬ４４およびバッファＲ４５に対するデータの書き込みと読み出しを説明するタイミングチャートである。図２と同様に、横軸は時間軸を示している。また、縦軸は各バッファのアドレスを示している。
【０２４２】
まず、１番目のラインのデータが画像処理装置３に入力開始される時刻Ｔ0において、タイミング制御部４８は、初期アドレス読み出し部３７ｂ、５３ｂに対して初期アドレス読み出し信号を、アドレス指定部３７ａに対して１／４ライン分の２倍駆動クロック信号を、アドレス指定部５３ａに対して１／２ライン分の２倍駆動クロック信号を、セレクタ５７に対して最小選択信号を、昇降順切換部５３ｃに対して昇順切換信号を出力する。
【０２４３】
これにより、図６で示されるように、バッファＬ書き込み部４９は、Ｌアドレス０に対して１回目の書き込みを開始し、２倍駆動クロック信号の１周期を経るごとに、画素０００１に対応するデータから正順にバッファＬ４４へ書き込む。バッファＲ書き込み部５０は、上記実施の携帯と同様に、末尾（画素７４００に対応する画像データ）から逆順にバッファＲ４５へ並行して順次書き込む。
【０２４４】
その後、時刻ｔL0において、バッファＬ４４のすべてのアドレス（Ｌアドレス０〜Ｌアドレス１８４９）に該当する場所に、画素０００１〜画素１８５０に対応する画像データが格納される。これにより、バッファＬ書き込み部４９の１回目の書き込みは終了する。
【０２４５】
なお、上記実施の形態と同様に、時刻ｔL0において、バッファＲ書き込み部５１は、画素７４００〜画素５５５１を書き込み終えているが、引き続いて、画素３７０１まで書き込む。
【０２４６】
時刻ｔL0、または、時刻ｔL0の直前において、タイミング制御部４８は、初期アドレス読み出し部３９ｂに対して初期アドレス読み出し信号を、バッファＬ読み出し部５０およびアドレス指定部３９ａに対して１／４ライン分の４倍駆動クロック信号を出力する。
【０２４７】
図６に示されるように、タイミング制御部４８からの制御をうけて、Ｌ読み出しアドレスカウンタ３９は、Ｌアドレス０を読み出し場所として指定し、バッファＬ読み出し部５０は、バッファＬ４４の該読み出し場所から画像データを読み出す。その後、４倍駆動クロック信号の周期にあわせて、Ｌ読み出しアドレスカウンタ３９は、Ｌアドレス１，Ｌアドレス２，…，Ｌアドレス１８４９（最大アドレス）を読み出しアドレスとして指定し、バッファＬ読み出し部５０は該アドレスからデータを順に読み出す。なお、読み出す速度は、４倍駆動クロック信号の周期ごとであるため、バッファＬ４４にデータを書き込む速度の倍速となる。
【０２４８】
この結果、バッファＬ読み出し部５０は、セレクタ４７を介して後段に、画素０００１，画素０００２，…，画素１８５０の正順に各画素に対応する画像データを出力することができる。
【０２４９】
このようにして、時刻ｔL0′において、バッファＬ読み出し部５０が、Ｌアドレス１８４９に格納された画素１８５０に対応する画像データを読み出し終える（一回目の読み出しの終了）。
【０２５０】
また、バッファＬ読み出し部５０が読み出しを開始する時点、または、読み出し中の時刻ｔL0において、タイミング制御部４８は、初期アドレス読み出し部３７ｂに対して初期アドレス読み出し信号を、アドレス指定部３７ａに対して１／４ライン分の周期の２倍駆動クロック信号を出力する。
【０２５１】
これにより、図６で示されるように、タイミング制御部４８からの制御を受けたＬ書き込みアドレスカウンタ３７は、再びＬアドレス０を書き込みアドレスとして指定し、バッファＬ書き込み部４９は、２回目の書き込みを開始し、画素１８５１に対応する画像データををＬアドレス０に書き込む。なお、上記したように、Ｌアドレス０に１回目の書き込みで書き込まれていた画素０００１に対応するデータは、時刻ｔL0、または、時刻ｔL0の直前にバッファＬ読み出し部５０により読み出されている。
【０２５２】
その後、２倍駆動クロック信号の周期ごとに、Ｌ書き込みアドレスカウンタ３７は、Ｌアドレス１，Ｌアドレス２，…，Ｌアドレス１８４９を、書き込みアドレスの順序に指定し、バッファＬ書き込み部４９は、該書き込みアドレスの順序に画素１８５２〜画素３７００に対応するデータを順に書き込む。
【０２５３】
書き込み速度は読み出し速度の半分なので、画素１〜画素１８５０に対応する画像データがバッファＬ４４より読み出される前に、バッファＬ書き込み部４９が画素１８５１〜画素３７００に対応するデータを上書きすることはない。
【０２５４】
このように、バッファＬ書き込み部４９は、バッファＬ読み出し部５０が倍速でデータを読み出したアドレス順に、残りの１／４ライン分のデータを書き込む。
【０２５５】
上記のように、１回目の読み出しは、１回目の書き込みが終わった時点（時刻ｔL0）かその直前に行う（図６の“Ｘ”で示した箇所を参照）。１回目の読み出しが１回目の書き込みよりも遅れると、２回目の書き込みにより、１回目に書き込まれたデータが読み出されずに上書きされてしまうからである。
【０２５６】
バッファＬ書き込み部４９が、２回目の書き込みの半分を終えた時点を時刻ｔL0′とする。すなわち、時刻ｔL0′において、バッファＬ４４には、バッファＬ４４の半分の容量に相当する１／８ライン分にあたる画素１８５１〜画素２７７５のデータが書き込まれている。また、１回目の読み出しは、１回目の書き込みが終わった時点（時刻ｔL0）かその直前に、書き込みの速度の倍速で行うため、時刻ｔL0′において、１回目に書き込まれた画素０００１〜画素１８５０に対応するデータは、バッファＬ読み出し部５０により全て読み出されている。
【０２５７】
次に、時刻ｔL0′もしくは時刻ｔL0′よりもわずかに遅れた時点において、タイミング制御部４８は、初期アドレス読み出し部３９ｂに対して初期アドレス読み出し信号を、バッファＬ読み出し部５０およびアドレス指定部３９ａに対して１／４ライン分の４倍駆動クロック信号を出力する。
【０２５８】
これにより、図６で示されるように、バッファＬ読み出し部５０は、２回目の読み出しを開始し、再びバッファＬ４４のＬアドレス０から昇順に格納されたデータを読み出す。つまり、Ｌアドレス０に格納された画素１８５１から正順に、画素１８５１〜画素３７００に対応するデータを読み出す。なお、読み出す速度は、４倍駆動クロック信号の周期ごとであるため、バッファＬ４４にデータを書き込む速度の倍速となる。
【０２５９】
上述したように、バッファＬ読み出し部５０の２回目の読み出し開始時点は、バッファＬ４４にその半分である１／８ライン分のデータが書き込まれた時刻ｔL0′もしくは時刻ｔL0′よりもわずかに遅れた時点である。よって、Ｌ読み出しアドレスカウンタ３９が指定するアドレスが、Ｌ書き込みアドレスカウンタ３７が指定するアドレスよりも大きくなることはない。つまり、倍速の読み出しが、書き込みを追い越してしまうことがなく、図６の“Ｙ”で示した箇所のように、最大アドレスには、データが書き込まれてから読み出される。よって、各画素に対応するデータは、バッファＬ４４に一旦書き込まれた後に、バッファＬ４４から読み出される。
【０２６０】
その後、時刻ｔR0において、バッファＬ読み出し部５０が、最大Ｌアドレス１８４９に格納された画素３７０１に対応するデータを読み出し終える（２回目の読み出し終了）。
【０２６１】
この結果、セレクタ４７を介して、後段の遅延部３６に、画素１〜画素３７００に対応するデータが正順に出力される。
【０２６２】
次に、時刻ｔR0において、タイミング制御部４８は、上記実施の形態における時刻ｔR0と同様の制御を行う。これにより、上記実施の形態と同様に、画素３７０１〜画素７４００に対応する画像データが正順にバッファＲ４５より読み出され、後段の遅延部３６へと送られる。
【０２６３】
以上により、１番目のラインの画素０００１〜画素７４００に対応するデータが正順に後段の遅延部へと送られる。
【０２６４】
その後、タイミング制御部４８は、ＣＣＤ ＨＳＹＮＣにあわせて、バッファＬ側処理部４２に対して上記の制御を繰り返す。
【０２６５】
図６のバッファＬのデータ変化に示されるように、図５に比べて、バッファＬ４４が空いている期間（ハッチングされていない面積）に対するバッファＬ４４が有効に活用されている期間（ハッチングされている面積）が大きい。これにより、本実施の形態では、バッファＬ４４の使用効率が向上していることがわかる。
【０２６６】
以上のように、バッファＬ４４およびバッファＲ４５の合計３／４ライン分のバッファで、ＣＣＤ２１により両端から並行に取り出された前半データ列および後半データ列を整列して後段に出力することができる。
【０２６７】
本実施の形態において、バッファＬ読み出し部５０の１回目の読み出し開始時点が時刻ｔL0よりも前の場合、バッファＬ４４からの１回目の読み出しと２回目の読み出しとが連続しない。この場合、タイミング制御部４８は、バッファＬ４４からの１回目の読み出しと２回目の読み出しとの間に空白の時間がある旨の信号（読み出し中断信号）を、後段の遅延部３６や、画像出力装置４へ出力してもよい。
【０２６８】
〔実施の形態３〕
本発明の画像処理装置に関する他の実施形態について、図５および図７に基づいて説明すれば、以下のとおりである。
【０２６９】
上記実施の形態では、バッファＬ４４およびバッファＲ４５として、デュアルポートＲＡＭを使用した構成であるとした。しかし、これに限られるものではない。バッファＬ４４およびバッファＲ４５として、通常のＲＡＭを使用してもよい。
【０２７０】
本実施の形態では、バッファＬ４４およびバッファＲ４５として、１ポートのＲＡＭを用いている。本実施の形態の整列部３５の構成について説明する。なお、構成が複雑であるバッファＲ処理部４３のみについて説明する。また、説明の便宜上、上記実施の形態にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０２７１】
図７のブロック図は、バッファＲ４５として通常のＲＡＭを使用した場合のバッファＲ側処理部４３の構成と、タイミング制御部４８と、セレクタ４７とを示している。
【０２７２】
バッファＲ側処理部４３は、バッファＲ４５と、バッファＲ書き込み部５１と、バッファＲ読み出し部５２と、データ入出力切換部（第２の入出力切換手段）６０、Ｒ書き込みアドレスカウンタ５３と、Ｒ読み出しアドレスカウンタ５４と、Ｌ最小初期アドレスレジスタ５５ａと、Ｌ最大初期アドレスレジスタ５５ｂと、Ｒ最小初期アドレスレジスタ５６ａと、Ｒ最大初期アドレスレジスタ５６ｂと、セレクタ５７，５８，５９とを備えている。
【０２７３】
データ入出力切換部６０は、バッファＲ４５に対するデータの入力（すなわち、書き込み）と出力（すなわち、読み出し）とを切換えるためのものである。データ入力切換部６０には、タイミング制御部４８と、バッファＲ４５と、バッファＲ書き込み部５１と、バッファＲ読み出し部５２とが接続されている。
【０２７４】
データ入出力切換部６０は、タイミング制御部４８から書き込み切換信号もしくは読み出し切換信号を受ける。書き込み切換信号を受けた場合、データ入力切換部６０は、バッファＲ４５とバッファＲ書き込み部５１とを接続する。これにより、バッファＲ書き込み部５１はバッファＲ４５にデータを書き込むことができる。一方、読み出し選択信号を受けた場合、データ入力切換部６０は、バッファＲ４５とバッファＲ読み出し部５２とを接続する。これにより、バッファＲ読み出し部５２はバッファＲ４５からデータを読み出すことができる。
【０２７５】
このように、バッファＲ４５に対しては、書き込みまたは読み出しのいずれか一方のみしかできない。読み出し速度を書き込み速度の倍速として、書き込み読み出しを並行して行う場合、バッファＲ書き込み部５１がバッファＲ４５の１つのアドレスに対して書き込みを行った後、バッファＲ読み出し部５２がバッファＲ４５の２つのアドレスからデータを読み出す。つまり、書き込み１回と読み出し２回をセットにして、このセットを繰り返し行う。このセットを繰り返し行うように、データ入出力切換部６０は、タイミング制御部４８から書き込み切換信号および読み出し切換信号を繰り返し受けることとなる。
【０２７６】
そのため、バッファＲ書き込み部５１が、Ａ／Ｄ変換器３４から入力されるデータ幅（例えば、８ビット）と同じデータ幅でバッファＲ４５にデータを書き込むと、データ転送に要する時間が多くなってしまう。
【０２７７】
そこで、本実施の形態のバッファＲ書き込み部５１には、書き込み４ｎビットレジスタ（データ幅拡大手段）６１が、バッファＲ読み出し部５２には、読み出し４ｎビットレジスタ６２が備えられている。
【０２７８】
書き込み４ｎビットレジスタ６１は、バッファＲ４５に書き込むデータ幅を４倍（例えば、３２ビット）にする。また、読み出し４ｎビットレジスタ６２は、バッファＲ４５から読み出したデータのデータ幅（例えば、３２ビット）を、１／４倍（例えば、８ビット）にして、データを後段に出力することができる。これにより、転送速度を高速にする必要がなくなる。書き込み４ｎビットレジスタ６１および読み出し４ｎビットレジスタ６２により、タイミング調整にも余裕をもたせることができる。また、バッファＲ４５としてＳＤＲＡＭを用いる場合には、バースト単位でデータを転送できるようにするだけのレジスタを備えるようにしてもよい。
【０２７９】
セレクタ５９は、バッファＲ４５のアドレスを指定するために、書き込み用のアドレスと読み出し用のアドレスとを切換えるためのものである。セレクタ５９は、タイミング制御部４８と、Ｒ書き込みアドレスカウンタ５３と、Ｒ読み出しアドレスカウンタ５４と、バッファＲ４５とに接続されている。セレクタ５９は、タイミング制御部４８から書き込み選択信号もしくは読み出し選択信号を受ける。
【０２８０】
書き込み選択信号を受けた場合、セレクタ５９は、Ｒ書き込みアドレスカウンタ５３とバッファＲ４５とを接続する。これにより、Ｒ書き込みアドレスカウンタ５３は、バッファＲ４５にデータが書き込まれる書き込み場所を指定する。一方、読み出し選択信号を受けた場合、セレクタ５９は、Ｒ読み出しアドレスカウンタ５４とバッファＲ４５とを接続する。これにより、Ｒ読み出しアドレスカウンタ５４は、バッファＲ４５からデータが読み出される読み出し場所を指定する。
【０２８１】
タイミング制御部４８は、上記実施の形態に加えて、データ入出力切換部６０およびセレクタ５９に対して所定の信号を、所定のタイミングで出力する。
【０２８２】
タイミング制御部４８は、データ入出力切換部６０に対して、書き込み切換信号または読み出し切換信号を出力する。この場合の書き込み切換信号は、データ入出力切換部６０がバッファＲ書き込み部５１とバッファＲ４５とを接続するためのものであり、読み出し切換信号は、データ入出力切換部６０がバッファＲ読み出し部５２とバッファＲ４５とを接続するためのものである。
【０２８３】
また、タイミング制御部４８は、セレクタ５９に対して、書き込み選択信号または読み出し選択信号を出力する。この場合の書き込み切換信号は、セレクタ５９がＲ書き込みアドレスカウンタ５３とバッファＲ４５とを接続するためのものであり、読み出し切換信号は、セレクタ５９がＲ読み出しアドレスカウンタ５４とバッファＲ４５とを接続するためのものである。
【０２８４】
次に、図５を参照しながら、本実施の形態におけるタイミング制御部４８の制御について説明する。
【０２８５】
時刻Ｔ0から時刻ｔR0の期間のように、バッファＲ４５に対してデータの書き込みのみを行う場合には、タイミング制御部４８は、データ入出力切換部６０に対して書き込み切換信号を、セレクタ５９に対して書き込み選択信号を出力するとともに、上記実施の形態と同様に、ＣＣＤ ＨＳＹＮＣにおいて行う制御を行う。これにより、バッファＲ書き込み部５１は、バッファＲ４５に対してデータを書き込むことができる。
【０２８６】
また、時刻ｔR0から時刻Ｔ1の期間のように、バッファＲ４５に対してデータの読み出しのみを行う場合には、タイミング制御部４８は、データ入出力切換部６０に対して読み出し切換信号を、セレクタ５９に対して読み出し選択信号を出力するとともに、上記実施の形態と同様に、時刻ｔR0，ｔR1，…において行う制御を行う。これにより、バッファＲ読み出し部５２は、バッファＲ４５からデータを読み出すことができる。
【０２８７】
さらに、時刻Ｔ1からバッファＲ読み出し部５２が読み出しを終える時刻Ｚ（図５参照）までの期間のように、バッファＲ４５に対してデータの書き込みと読み出しを並列して行う場合には、タイミング制御部４８は、以下の制御を行う。
【０２８８】
まず、タイミング制御部４８は、データ入出力切換部６０およびセレクタ５９に対して、ＣＣＤ駆動クロック信号にあわせて、書き込み切換信号および書き込み選択信号を出力する。これにより、バッファＲ書き込み部５１は、バッファＲ４５の１つのアドレスに対して、１つの画素に対応するデータを書き込む。
【０２８９】
ここで、バッファＲ書き込み部５１が備えている書き込み４ｎビットレジスタ６１によりデータ幅が４倍となっているので、バッファＲ書き込み部５１が該データを書き込むのに要する時間は、上記実施形態のそれの１／４であり、ＣＣＤ駆動クロック信号の周期の１／４以下の時間となる。よって、該周期の３／４にあたる時間において、バッファＲ書き込み部５１は、バッファＲ４５にデータを書き込まない。該周期の３／４にあたる時間を利用して、データの読み出しを行う。
【０２９０】
バッファＲ書き込み部５１がデータを書き込むのに要する時間（ＣＣＤ駆動クロック信号の周期の１／４以下）の経過後、タイミング制御部４８は、データ入出力切換部６０およびセレクタ５９に対して、読み出し切換信号および読み出し選択信号を出力し、バッファＲ読み出し部５２とアドレス指定部５４ｃに対して４倍駆動クロック信号を２周期分だけ出力する。
【０２９１】
これにより、バッファＲ読み出し部５２は、書き込み速度の倍速で、バッファＲ４５の２つのアドレスから２つのデータを読み出すことができる。よって、バッファＲ読み出し部５２は、バッファＲ４５の２つのアドレスからデータを読み出すのに要する時間は、ＣＣＤ駆動クロック信号の周期の２／４以下であり、該周期の２／４にあたる時間を越えることはない。したがって、バッファＲ書き込み部５１が、次のデータを取得するまでの間に、バッファＲ読み出し部５２は、バッファＲ４５の２つのアドレスからデータを読み出すことができる。
【０２９２】
バッファＲ読み出し部５２がバッファＲ４５の２つのアドレスからデータを読み出した後、バッファＲ書き込み部５１が次のデータを取得するまでの間に、タイミング制御部４８は、再びデータ入出力切換部６０およびセレクタ５９に対して、書き込み切換信号および書き込み選択信号を出力する。これにより、バッファＲ書き込み部５１は、次のデータをバッファＲ４５の次のアドレスに書き込むことができる。
【０２９３】
バッファＲ４５に対してデータの書き込みと読み出しを並列して行う間、タイミング制御部４８は、上記の処理を繰り返し行う。
【０２９４】
バッファＬ側処理部４２についても、バッファＲ側処理部４３と同様である。バッファＬ側処理部４２は、１ポートＲＡＭのバッファＬ４４と、書き込み４ｎビットレジスタを備えたバッファＬ書き込み部４９と、読み出し４ｎビットレジスタ（データ幅拡大手段）を備えたバッファＬ読み出し部５０と、タイミング制御部４８の制御に従いバッファＬ４４をバッファＬ書き込み部４９もしくはバッファＬ読み出し部５０に接続するデータ入力切換部（第１の入出力切換手段）と、Ｌ書き込みアドレスカウンタ３７と、Ｌ読み出しアドレスカウンタ３９と、Ｌ初期アドレスレジスタ４０，４１とが備えられている。
【０２９５】
また、本実施の形態では、バッファＲ読み出し部５０に読み出し４ｎビットレジスタ６２が、バッファＬ読み出し部５０にも読み出し４ｎビットレジスタが備えられている構成とした。しかし、後段の接続が許せば、バッファＲ読み出し部５０およびバッファＬ読み出し部５０には、レジスタが備えられていなくてもよい。この場合、整列部３５は、データ幅が４倍のままで、後段に出力する。
【０２９６】
なお、バッファＬ４４はＦＩＦＯメモリ（First In First Out memory，ファイフォ）を用いて構成してもよい。
【０２９７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【０２９８】
【図１】本発明の画像処理装置を含む画像形成装置の構成を示すブロック図である。
【図２】上記画像処理装置の整列部の構成を示すブロック図である。
【図３】上記画像処理装置のバッファＲの一記憶例を示す図である。
【図４】上記画像処理装置のバッファＲの他の記憶例を示す図である。
【図５】上記画像処理装置のデータ整列処理を示すタイミングチャートである。
【図６】本発明の画像処理装置の他の実施形態におけるデータ整列処理を示すタイミングチャートである。
【図７】本発明の画像処理装置のさらに他の実施形態に係るバッファＲ側処理部の構成を示すブロック図である。
【図８】従来の画像処理装置の構成例を示すブロック図である。
【図９】上記従来の画像処理装置のデータ整列処理を示すタイミングチャートである。
【符号の説明】
【０２９９】
１    画像形成装置
２    画像入力装置（画像読出手段）
３    画像処理装置
４    画像出力装置
４４    バッファＬ（第１のバッファ）
４５    バッファＲ（第２のバッファ）
３６ａ    （１／２＋α）ラインバッファ（第３のバッファ）
４９    バッファＬ書き込み部（第１の書き込み手段）
５０    バッファＬ読み出し部（第１の読み出し手段）
５１    バッファＲ書き込み部（第２の書き込み手段）
５２    バッファＲ読み出し部（第２の読み出し手段）
５３    Ｒ書き込みアドレスカウンタ（アドレス反転手段）
６０    データ入出力切換部（第２の入出力切換手段）
６１    書き込み４ｎビットレジスタ（データ幅拡大手段）
【図１】
2005086703.tif 000003
【図２】
2005086703.tif 000004
【図３】
2005086703.tif 000005
【図４】
2005086703.tif 000006
【図５】
2005086703.tif 000007
【図６】
2005086703.tif 000008
【図７】
2005086703.tif 000009
【図８】
2005086703.tif 000010
【図９】
2005086703.tif 000011