(57)【特許請求の範囲】
【請求項１】
第１の方向について各々が分担している複数の画素を読み取る複数のイメージセンサと、
メモリの複数の記憶領域に、前記複数のイメージセンサによる読み取り動作で得られた画素データ群をそれぞれ書き込む書き込み手段と、
前記複数の記憶領域について連続するアドレスから所定単位で逐次的にデータを読み出す読み出し手段と、
前記読み出し手段が読み出したデータについて、前記複数の画素データ群に含まれる有効な画素を示す有効信号を用いて、前記有効な画素がアドレス空間において連続するように出力する出力手段と、を備えることを特徴とする画像処理装置。
【請求項２】
走査方向について各々が分担している複数の画素を読み取る複数のイメージセンサと、
メモリの複数の記憶領域に、前記複数のイメージセンサによる読み取り動作で得られた画素データ群をそれぞれ書き込む書き込み手段と、
前記複数の記憶領域について、前記画素データ群に含まれる有効な画素を保持している範囲を示す範囲情報を保持する保持手段と、
前記複数の記憶領域から所定単位でデータを読み出す読み出し手段と、
前記読み出し手段が読み出したデータの位置に対応する値を計数するカウンタと、
前記読み出し手段が読み出したデータについて、前記カウンタの値と前記保持手段が保持する範囲情報とに基づき、前記複数の画素データ群に含まれる有効な画素に有効信号を付加することにより、前記有効な画素がアドレス空間において連続するように出力する出力手段と、を備えることを特徴とする画像処理装置。
【請求項３】
前記範囲情報は、有効画素の範囲の開始位置と終了位置を示し、
前記カウンタの値が前記開始位置と前記終了位置の間にある場合に、前記カウンタの値が前記範囲情報に示される範囲内にあると判定されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記範囲情報が示す有効画素の範囲は、予め定められたサイズの記憶領域と前記イメージセンサの読み取り動作から得られる画素データの量との不整合により生じた無効データの領域を除外した範囲であることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記書き込み手段は、走査方向に配置された複数のイメージセンサからの画素データを、複数の予め定められたサイズの記憶領域にそれぞれ書き込み、
前記保持手段は、有効画素の範囲を示す前記範囲情報を前記複数のイメージセンサのそれぞれについて保持し、
前記範囲情報が示す有効画素の範囲は、前記予め定められたサイズの記憶領域と前記イメージセンサから得られる画素データの量との不整合により生じた無効データの領域と、隣接するイメージセンサが重複することにより生じた不要な画素データの領域とを除外した範囲であることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記書き込み手段は、前記イメージセンサからの連続する画素データを、それまでの画素データに対する処理結果を用いて符号化して前記記憶領域に書き込み、
前記画像処理装置は、前記メモリから読み出された符号化されたデータに、それまでの処理結果を用いて順次に復号する連続処理を施して画素データを取得する連続処理手段を備え、
前記連続処理手段は、前記カウンタの値が前記範囲情報によって示される範囲の開始位置を示す場合に、当該連続処理の動作をリセットすることを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記書き込み手段は、差分パルス符号変調により画素データを符号化し、
前記連続処理手段は、差分パルス符号変調により符号化された画素データを復号することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
第１の方向について、各々が分担している複数の画素を読み取る複数のイメージセンサによって読みとる読み取り工程と、
書き込み手段が、メモリの複数の記憶領域に、複数のイメージセンサによる読み取り動作で得られた画素データ群をそれぞれ書き込む書き込み工程と、
読み出し手段が、前記複数の記憶領域について連続するアドレスから所定単位で逐次的にデータを読み出す読み出し工程と、
出力手段が、前記読み出し手段が読み出したデータについて、前記複数の画素データ群に含まれる有効な画素を示す有効信号を用いて、前記有効な画素がアドレス空間において連続するように出力する出力工程と、を備えることを特徴とする画像処理装置の制御方法。
【請求項９】
走査方向について、各々が分担している複数の画素を読み取る複数のイメージセンサによって読みとる読み取り工程と、
書き込み手段が、メモリの複数の領域に、前記複数のイメージセンサによる読み取り動作で得られた画素データ群を書き込む書き込み工程と、
保持手段が、前記複数の記憶領域について、前記画素データ群に含まれる有効な画素を保持している範囲を示す範囲情報を保持する保持工程と、
読み出し手段が、前記複数の記憶領域から所定単位でデータを読み出す読み出し工程と、
カウンタが、前記読み出し工程で読み出したデータの位置に対応する値を計数する計数工程と、
出力手段が、前記読み出し工程で読み出したデータについて、前記計数工程で計数されたカウンタ値と前記保持手段が保持する範囲情報とに基づき、前記複数の画素データ群に含まれる有効な画像に有効信号を付加することにより、前記有効な画素がアドレス空間において連続するように出力する出力工程と、を備えることを特徴とする画像処理装置の制御方法。
【請求項１０】
前記範囲情報は、有効画素の範囲の開始位置と終了位置を示し、
前記出力工程では、前記カウンタの値が前記開始位置と前記終了位置の間にある場合に、前記カウンタ値が前記範囲情報に示される範囲内にあると判定されることを特徴とする請求項９に記載の画像処理装置の制御方法。
【請求項１１】
前記範囲情報が示す有効画素の範囲は、予め定められたサイズの記憶領域と前記イメージセンサの読み取り動作から得られる画素データの量との不整合により生じた無効データの領域を除外した範囲であることを特徴とする請求項９に記載の画像処理装置の制御方法。
【請求項１２】
前記書き込み工程では、走査方向に配置された複数のイメージセンサからの画素データを、複数の予め定められたサイズの記憶領域にそれぞれ書き込み、
前記保持工程では、前記複数のイメージセンサのそれぞれについて有効画素の範囲を示す前記範囲情報がレジスタに保持され、
前記範囲情報が示す有効画素の範囲は、前記予め定められたサイズの記憶領域と前記イメージセンサから得られる画素データの量との不整合により生じた無効データの領域と、隣接するイメージセンサが重複することにより生じた不要な画素データの領域とを除外した範囲であることを特徴とする請求項９に記載の画像処理装置の制御方法。
【請求項１３】
前記書き込み工程では、前記イメージセンサからの連続する画素データを、それまでの画素データに対する処理結果を用いて符号化して前記記憶領域に書き込み、
前記メモリから読み出された符号化されたデータに、それまでの処理結果を用いて順次に復号する連続処理を施して画素データを取得する連続処理工程を更に備え、
前記連続処理工程では、前記カウンタ値が前記範囲情報によって示される範囲の開始位置を示す場合に、当該連続処理の動作をリセットすることを特徴とする請求項９乃至１２のいずれか１項に記載の画像処理装置の制御方法。
【請求項１４】
前記書き込み工程では、差分パルス符号変調により画素データを符号化し、
前記連続処理工程では、差分パルス符号変調により符号化された画素データを復号することを特徴とする請求項１３に記載の画像処理装置の制御方法。
【請求項１５】
メモリと、第１の方向について各々が分担している複数の画素を読み取る複数のイメージセンサと、を備える画像処理装置を、
メモリの複数の記憶領域に、前記複数のイメージセンサによる読み取り動作で得られた画素データ群をそれぞれ書き込む書き込み手段と、
前記複数の記憶領域について連続するアドレスから所定単位で逐次的にデータを読み出す読み出し手段と、
前記読み出し手段が読み出したデータについて、前記複数の画素データ群に含まれる有効な画素を示す有効信号を用いて、前記有効な画素がアドレス空間において連続するように出力する出力手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データの再構成を行う画像処理装置及びその制御方法、プログラムに関する。
【背景技術】
【０００２】
従来、画像読み取りによって画像データを得る方法として複数のイメージセンサを用いて高速かつ高画質に画像を読み取る方法が一般的であった（例えば、特許文献１）。また、設置した複数のイメージセンサ毎に画像処理手段を具備し、１ライン分の画像データに対しての画像処理を高速に行う方法がある（例えば特許文献２）。さらに、イメージセンサによってセンサ素子の並び方向（主走査方向）に走査して読み取ったデータを複数ライン単位（バンド単位）でラインと垂直な方向（副走査方向）に走査して画像処理を行う方法もある（例えば特許文献３）。
【０００３】
一方で画像処理を行う際の一時的な画像データ格納用メモリとして、ＳＤＲＡＭなどの連続的に書き込み及び読み出しを行える大容量メモリを使用することが一般的となっている。このような構成によれば、イメージセンサによって読み取った画像データに対して、高速に書き込み及び読み出しを行うことができる。
【特許文献１】特公平１−５３５３８号公報
【特許文献２】特開平６−４６６１号公報
【特許文献３】特開２００６−１３９６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、近年、使用するイメージセンサ１個あたりの読み取り画素数が製造上の理由で２のべき乗（例えば２11＝２０４８）ではないものが製造されるようになってきた。このため、従来のＳＤＲＡＭなどのメモリを使用してイメージセンサからの画素データを高速に格納する方法（例えば、バーストモード）を用いる場合、隣り合ったイメージセンサとの境界でメモリ上に画像データが書き込まれない無効部分が発生する。或いは、図４の（ａ）に示されるように、複数のイメージセンサが、読み取り領域に重複部分を有して配置されるような場合には、重複画素が発生するため、重複画素を格納する重複部分がメモリに生じてしまう。そのため、これらの無効部分や重複画素をメモリに発生させないために境界の結合処理がメモリへの書き込み前に実行される。したがって、隣り合ったデータを読み出し合成してから書き込みを行うなどの処理が必要となり、その結果、書き込み処理速度が低下する、またはイメージセンサ毎の並列処理が行えなくなるなどの課題があった。
【０００５】
本発明は、上記の課題に鑑みてなされたものであり、イメージセンサからの画素データを、その画素数に関係なくＳＤＲＡＭ等の高速な連続アクセスが可能なメモリに格納することを可能とし、装置の処理速度を向上することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
第１の方向について各々が分担している複数の画素を読み取る複数のイメージセンサと、
メモリの複数の記憶領域に、前記複数のイメージセンサによる読み取り動作で得られた画素データ群をそれぞれ書き込む書き込み手段と、
前記複数の記憶領域について連続するアドレスから所定単位で逐次的にデータを読み出す読み出し手段と、
前記読み出し手段が読み出したデータについて、前記複数の画素データ群に含まれる有効な画素を示す有効信号を用いて、前記有効な画素がアドレス空間において連続するように出力する出力手段と、を備える。
【０００７】
また、上記の目的を達成するための本発明の他の態様による画像処理装置の制御方法は、
第１の方向について、各々が分担している複数の画素を読み取る複数のイメージセンサによって読みとる読み取り工程と、
書き込み手段が、メモリの複数の記憶領域に、複数のイメージセンサによる読み取り動作で得られた画素データ群をそれぞれ書き込む書き込み工程と、
読み出し手段が、前記複数の記憶領域について連続するアドレスから所定単位で逐次的にデータを読み出す読み出し工程と、
出力手段が、前記読み出し手段が読み出したデータについて、前記複数の画素データ群に含まれる有効な画素を示す有効信号を用いて、前記有効な画素がアドレス空間において連続するように出力する出力工程と、を備える。
【発明の効果】
【０００８】
本発明によれば、イメージセンサからの画素データを、その画素数に関係なくＳＤＲＡＭ等の高速な連続アクセスが可能なメモリに格納することが可能となり、装置の処理速度が向上する。
【発明を実施するための最良の形態】
【０００９】
＜第１実施形態＞
第１実施形態の画像読取装置や画像処理装置、及び画像出力装置の構成について図１のブロック図を参照して説明する。画像読取装置、画像処理装置、画像出力装置はそれぞれ別々の装置で実現されてもよいし、いずれかまたは全てが一体となった装置で実現されても良い。また、画像読取装置はスキャナ装置であってもよいし、デジタルカメラやデジタルビデオカメラなどの撮像装置であってもよい。さらに画像出力装置はプリンタなどの印刷装置であってもよいし、ディスプレイモニタなどの表示装置であってもよい。それぞれ別の装置で構成される場合は、互いに通信可能なようにローカルエリアネットワーク（Local Area Network（ＬＡＮ））などで接続されているものとする。尚、本実施形態では、画像読取装置、画像処理装置、画像出力装置の各々、及びそれらのいずれか或いは全ての組み合わせを総称して画像処理装置と呼ぶことにする。
【００１０】
図１において画像読み取り部１２０は、レンズ１２２、ＣＣＤセンサ１２４、アナログ信号処理部１２６等により構成される。レンズ１２２を介してＣＣＤセンサ１２４に結像された原稿１００の画像が、ＣＣＤセンサ１２４によりＲ（Red），Ｇ（Green），Ｂ（Blue）のアナログ電気信号に変換される。電気信号に変換された画像情報は、アナログ信号処理部１２６に入力され、Ｒ，Ｇ，Ｂの各色毎に補正等が行われた後にアナログ・デジタル変換（Ａ／Ｄ変換）される。デジタル化されたフルカラー信号（以下、多値デジタル画像信号という）は、画像処理部１３０に入力される。画像処理部１３０はデジタル画像信号に対し、後述する入力補正処理、空間フィルタ処理、色空間変換、濃度補正処理、中間調処理を施し、プリンタ部１４０へ処理後のデジタル画像信号を出力する。プリンタ部１４０は、たとえば、インクジェットヘッドやサーマルヘッド等を使用した印刷出力部（図示せず）により構成され、入力されたデジタル画像信号により紙上に画像を記録する。
【００１１】
また、ＣＰＵ回路部１１０は、演算制御用のＣＰＵ１１２、固定データやプログラムを格納するＲＯＭ１１４、データの一時保存やプログラムのロードに使用されるＲＡＭ１１６等により構成される。ＣＰＵ回路部１１０は、画像読み取り部１２０、画像処理部１３０、プリンタ部１４０等を制御し、本画像処理装置のシーケンスを統括的に制御する。外部記憶装置１１８は、本装置が使用するパラメータやプログラムを記憶するディスク等の媒体であり、ＲＡＭ１１６のデータやプログラム等は、該外部記憶装置１１８からロードされる構成としている。なお、ＲＡＭ１１６にはＳＤＲＡＭ等の、連続するメモリ空間（アドレス空間）について高速に書き込み及び読み出しを行えるメモリが用いられている。ＳＤＲＡＭによって構成されたＲＡＭ１１６は、イメージセンサとしてのＣＣＤセンサ１２４から得られる画素データを一時的に格納するためのバンドバッファ（後述）を提供する。
【００１２】
次に図１の画像処理部１３０について詳細説明する。図２は、第１実施形態による画像処理部１３０が有する画像処理コントローラ２００の回路構成例を示すブロック図である。アナログ信号処理部１２６からデジタル画像信号がバス２０５を経由して画像処理コントローラ２００に入力され、以下に説明する画像処理が実行される。画像処理コントローラ２００は、入力インターフェース２１０、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、中間調処理回路２６０、出力インターフェース２７０で構成される。以下、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、中間調処理回路２６０について詳細に説明する。
【００１３】
［入力補正回路２２０］  入力インターフェース２１０を経由して入力補正回路２２０にデジタル画像信号２１５が入力される。このデジタル画像信号２１５はＲ，Ｇ，Ｂの輝度信号で構成される。入力補正回路２２０では、画素の並べ替え、原稿を読み取るセンサのばらつき及び、原稿照明用ランプの配光特性の補正がデジタル画像信号に対して行なわれる。
【００１４】
［空間フィルタ回路２３０］  入力補正回路２２０から出力されるデジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２２５が空間フィルタ回路２３０に入力される。空間フィルタ回路２３０では、デジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２２５に対し、平滑化やエッジ強調といった局所（近傍）画像処理が行なわれる。
【００１５】
［色空間変換回路２４０］  空間フィルタ回路２３０から出力されるデジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２３５が色空間変換回路２４０に入力される。色空間変換回路２４０では、デジタル画像信号２３５の輝度信号Ｒ，Ｇ，Ｂから濃度信号Ｃ，Ｍ，Ｙ，Ｋへの変換が行なわれる。
【００１６】
［濃度補正回路２５０］  色空間変換回路２４０から出力されるデジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２４５が濃度補正回路２５０に入力される。濃度補正回路２５０では、デジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２４５に対し、出力エンジンのγ補正（濃度補正）が行なわれる。これは、中間調処理回路２６０の入力濃度と出力エンジンの出力濃度との間のドットゲイン等による非線形性を解消するものである。濃度補正回路２５０により後段の中間調処理回路２６０以降の入出力濃度特性を予め補正しておくことで、入力濃度に応じたリニアな出力が得られる。
【００１７】
［中間調処理回路２６０］  濃度補正回路２５０から出力される多値デジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２１７が中間調処理回路２６０に入力される。中間調処理回路２６０では、多値デジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２５５に対しスクリーン処理や誤差拡散処理等の中間調処理が行なわれ、２値の中間調表現に変換される。そして２値デジタル画像信号（印字信号Ｃ，Ｍ，Ｙ，Ｋ）２６５が出力インターフェース２７０とバス２７５を経由してプリンタ部１４０に出力される。
【００１８】
次に、本実施形態で使用する、１枚の画像データを複数のバンド（帯状）領域に分割し、各バンド領域を逐次的にバンドバッファに割り当てる画像処理方法（バンド処理）について説明する。家庭用プリンタのような低コスト機器では、システムのメインメモリ（図１のＲＡＭ１１６に相当）の容量が小さく、１枚のデジタル画像データ全体をメインメモリに記憶できない場合が多い。そのため、一般的には、図３の（ａ）〜（ｄ）に示すように１枚のデジタル画像データ全体を帯状（短冊状）に分割して逐次的にその領域のみをメインメモリに展開して各種の画像処理を行なうようにしている。この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドバッファと呼び、バンド領域へ分割する行為をバンド分割と呼ぶ。尚、バンドバッファはメインメモリ上に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保されてもよいが、本実施形態では説明を簡潔にするためにメインメモリ上に確保されるものと仮定する。またデジタル画像データの座標系（主走査方向−副走査方向）とは別に、図３の（ｅ）に示すように、長さ方向、高さ方向という新たな座標系（バンド領域座標系）を定義し、バンド領域を長さ×高さで表現する。
【００１９】
さらにバンド処理について詳しく説明する。まず図３の（ａ）に示すバンド領域（１）をメインメモリ上のバンドバッファに展開して画像処理を行う。次に図３の（ｂ）に示すバンド領域（２）をバンド領域（１）が展開されたバンドバッファに上書き展開して画像処理を行う。さらに図３の（ｃ）に示すバンド領域（３）をバンド領域（２）が展開されたバンドバッファに上書き展開して画像処理を行う。最後に図３の（ｄ）に示すバンド領域（４）をバンド領域（３）が展開されたバンドバッファに上書き展開して画像処理を行う。図３の（ａ）〜（ｄ）で明らかなように、バンドの長さは同じであるが高さは同じである必要性は無い。メインメモリの記憶領域であるバンドバッファは最も大きいバンド領域（図３の場合（１）〜（３）のバンド領域）によって決定される。
【００２０】
また、上記説明のようにメインメモリ上のバンドバッファは１つの記憶領域に限定されるわけではない。例えば２つのバンドバッファＡ，Ｂをメインメモリ上に確保し、まずバンドバッファＡにバンド領域（１）を展開して画像処理（ア）を行う。次にバンド領域（１）をバンドバッファＡからバンドバッファＢに移して、バンドバッファＡにバンド領域（２）を展開し、バンド領域（１）に画像処理（イ）を行いながら、並列にバンド領域（２）に画像処理（ア）を行うようにしても良い。バンド領域単位にデジタル画像データを分割して画像処理を行うことで、このようなパイプライン的な画像処理が可能となる。
【００２１】
次に、イメージセンサの分割および並列読み取りとメインメモリ（ＳＤＲＡＭ）上のバンドバッファへの高速書き込みによって生じる無効部分について説明する。図４Ａ〜図４Ｃは画像読み取り部１２０の動作例を示す図である。図４Ａに示すように、本実施形態では、イメージセンサ１個あたりの読み取り画素数は１６６４画素であり、主走査方向にライン状に３つのイメージセンサを配置した構成を有する。また、主走査方向に隣接した複数のイメージセンサで１０画素を重複して配置されている。これはＡ４縦サイズの原稿を、短辺側を主走査方向、長辺側を副走査方向として６００ｄｐｉで読み取る際に適切な配置である。なお、ここでは説明の都合上イメージセンサは１６６４画素、重複は１０画素としたが、本発明の趣旨に反しない限りこれに限定されるものでないことは明らかである。また、副走査方向への配置ズレについては便宜上無いものとして説明する。
【００２２】
図４Ｂは、図４Ａに示したイメージセンサＡ〜Ｃの各々が画像データを読み取る様子を時間軸を横軸として表した図である。各イメージセンサは同時並行に読み取り動作をしており、主走査方向の分担している範囲の１ライン目をＲ、Ｇ、Ｂという順に読み取る。その後、２ライン目を同様に読み取り、以降、１バンド分読み取るまで同様に読み取りを繰り返す。読み取ったデータは順次バンドバッファに格納される。
【００２３】
次に、バンドバッファへの書き込みについて説明する。図４Ｃに示すように、各イメージセンサ毎にオフセットアドレスが割り当てられており、オフセットアドレスを先頭にして各ライン各色毎にアドレス移動量が加算されたアドレスに読み取った画像データが書き込まれる。本実施形態では１画素１色あたり１バイトで２０４８画素までのイメージセンサを対象としてアドレス移動量は０ｘ８００（＝２０４８）としている。なお‘０ｘ’は１６進数を表す。このとき高速に書き込みが可能なメモリ空間（アドレス空間）とイメージセンサから得られる画素データの量との間の不整合により、無効データの領域が生じる。図４Ｃの例では、高速に書き込みが可能なメモリ空間は２０４８（＝２11）画素分の容量があり、各イメージセンサの読み取り画素数は１６６４画素である為、３８４画素分のメモリ領域には画素データが書き込まれず、無効データ領域が生じる。また、隣接するイメージセンサの重複する読み取り部分について、主走査方向の開始側に位置するイメージセンサの読み取りデータ（重複データ）、及び原稿領域外の読み取りデータ（不要データ）についても、無効データとして、上記無効領域と同様に扱われる。
【００２４】
ここで本実施形態の画像再構成動作について説明する。図５Ａ，Ｂは画像再構成を行う本実施形態の入力補正回路２２０のブロック図である。図５Ａにおいて、入力補正回路２２０は画素並べ替え回路５００、及びセンサ特性補正回路５９０で構成される。画素並べ替え回路５００に入力された画素データは後述する並べ替えを行った後にセンサ特性補正回路５９０の処理を介して出力され、後段の画像処理が実行される。
【００２５】
次に、図５Ｂを用いて画素並べ替え回路５００のより詳細な構成を説明する。画素並べ替え回路５００は、有効画素開始位置レジスタ５１０、有効画素終了位置レジスタ５２０、主走査方向位置カウンタ５３０、読み出し制御回路５４０、書き込み制御回路５５０、比較回路５６０、ローカルメモリ５７０を有する。ここでローカルメモリ５７０は上述のバンドバッファに格納された画像データの一部を長さ方向に３２バイト、高さ方向にバンド高さとするブロック単位で格納することができる一時格納用メモリである。なお、長さ方向の３２バイトとは、バンドバッファの高速読み出しの単位（２5）である。また、ここではローカルメモリ５７０の長さ方向を３２バイトとしたがこれに限定されるものではなく、例えば６４バイト等、バンドバッファの高速読み出しの単位であればよい。
【００２６】
画素並べ替え回路５００に入力された画素データは、書き込み制御回路５５０の出力するアドレス（write_addr[12:0]）に応じてローカルメモリ５７０に格納される。上述した１ブロック分の画像データがローカルメモリ５７０に格納されると読み出し動作が開始される。すなわち、読み出し制御回路５４０から出力されるローカルメモリ５７０の読み出しアドレス（read_addr[12:0]）に従って、ローカルメモリ５７０から指定された画素データが読み出される。ここでローカルメモリ５７０はダブルバッファ構成としてもよく、その場合は１ブロック目の読み出しを行っている間に２ブロック目の書き込みを実行することができ、更に処理の高速化を行うことができる。
【００２７】
主走査方向位置カウンタ５３０は１回のバンド処理の開始から終了まで主走査方向の画素位置を計数（カウント）する。すなわち、読出し制御回路５４０が読み出すアドレスを長さ方向に移動する度に、該移動量に応じて画素位置のカウント値（c_count）を変更する。主走査方向位置カウンタ５３０は、読み出し制御回路５４０がローカルメモリ５７０から読み出した画素データに対応する画素の、主走査方向における位置を示す値を計数する。
【００２８】
比較回路５６０は画素位置c_countと有効画素開始位置レジスタ５１０の値（scn_valid_start）及び、有効画素終了位置レジスタ５２０の値（scn_valid_end）とを比較する。そして、画素位置c_countが有効画素開始位置scn_valid_startと有効画素終了位置scn_valid_endの範囲内（scn_valid_start≦c_count＜scn_valid_end）にあるときに画素有効信号（valid）を有効（ＯＮ）として出力する。ここで、有効画素開始位置レジスタ及び有効画素終了位置レジスタは一対のレジスタとしてイメージセンサの個数分のレジスタを有し、イメージセンサ各々の有効範囲を指定する。後段のセンサ特性補正回路５９０はvalidがＯＮである場合の読み出し画素データのみを順次処理する。
【００２９】
図６は読み取り画像データがバンドバッファ上に展開された後、入力補正回路２２０内で画像データの再構成が行われる様子を示している。前述したように画素位置c_countが有効画素開始位置scn_valid_startと有効画素終了位置scn_valid_endの範囲内でない場合はvalidが無効（ＯＦＦ）である。そのため、前述した読み取り画像データのバンドバッファへの書き込みの際に生じる無効画素領域を削除して画像を再構成することができる。
【００３０】
図８は第１実施形態による画素並べ替え回路５００の動作を説明するフローチャートである。以下、図８を参照して、本実施形態の画素並べ替え回路５００の動作を更に説明する。
【００３１】
まず、ステップＳ８０１において、ＣＰＵ１１２は、イメージセンサＡ〜Ｃから得られたデータを図４Ｃに示すようにＲＡＭ１１６に確保されたバンドバッファに、高速書き込み動作によって格納する。図６に示されるように１バンド分の画像データがバンドバッファに格納されると、ＣＰＵ１１２は、画素並べ替え回路５００を有する入力補正回路２２０を起動する。
【００３２】
ステップＳ８０２において、ＣＰＵ１１２は、画素並べ替え回路５００の有効画素開始位置レジスタ５１０にイメージセンサＡ〜Ｃのそれぞれの有効画素開始位置（scn_valid_start1〜scn_valid_start3）をセットする。また、ＣＰＵ１１２は、有効画素終了位置レジスタ５２０にイメージセンサＡ〜Ｃのそれぞれの有効画素終了位置（scn_valid_end1〜scn_valid_end3）をセットする。なお、有効画素開始位置レジスタ５１０、有効画素終了位置レジスタ５２０を不揮発性のメモリとして、上記値が予め固定的にセットされていてもよい。
【００３３】
ステップＳ８０３において、書き込み制御回路５５０は、上述したように「３２バイト幅×バンド高さ」を有するブロックをバンドバッファから読み出し、ローカルメモリ５７０に格納する。そして、ステップＳ８０４において、読み出し制御回路５４０はローカルメモリ５７０から順次に画素データを読み出す。このとき、主走査方向位置カウンタ５３０は、読み出し制御回路５４０が読み出している画素の主走査方向における位置c_countを示すように制御する。
【００３４】
例えば、図４Ａの構成において、イメージセンサＡの０〜１６６３画素の読み出しに同期して、c_countは０から１６６３までカウントアップする。また、イメージセンサＢの０〜１６６３画素の読み出しに同期して、c_countは１６５４から３３１７までカウントアップする。また、イメージセンサＣの０〜１６６３画素の読み出しに同期して、c_countは３３０８から４９７１までカウントアップする。そして、イメージセンサＡの有効範囲を示すscn_valid_start1とscn_valid_end1にはそれぞれ０と１６５３がセットされる。同様に、イメージセンサＢの有効範囲を示すscn_valid_start2とscn_valid_end2にはそれぞれ１６５４と３３０７がセットされる。また、イメージセンサＣの有効範囲を示すscn_valid_start3とscn_valid_end3には３３０８と４９６１がセットされる。これらのレジスタ値及びカウンタ値を用いることにより、以下に説明するように、イメージセンサＡ〜Ｃの出力から、有効な４９６２画素の画素データが取得されることになる。なお、主走査方向位置カウンタ５３０は、ローカルメモリから読み出された画素データの主走査方向における画素位置を計数してc_countとするものとしたがこれに限られるものではない。図４Ａに示す構成の各イメージセンサ毎に０〜１６６３をカウントするようにしてもよい。この場合、scn_valid_startとscn_valid_endは全イメージセンサで共通となり、それぞれ０と１６５３がセットされる。このようなイメージセンサ毎の画素位置を示す値も主走査方向における位置と対応した値であるため、主走査方向の位置を示すカウンタ値c_countとして用いうることは明らかである。
【００３５】
ステップＳ８０５で、比較回路５６０は、有効画素開始位置レジスタ５１０のscn_valid_startと有効画素終了位置レジスタ５２０のscn_valid_endの値から、ステップＳ８０４で読み出した画素データの有効、無効を判定する。ここで、イメージセンサＡによって得られたデータが読み出されている場合にはscn_valid_start1〜scn_valid_end1が参照される。すなわち、主走査方向における位置c_countがscn_valid_start1とscn_valid_end1の間にあるか否かにより、当該データが有効範囲にあるか否かが判定される。同様にイメージセンサＢによって得られたデータが読み出されている場合にはscn_valid_start2〜scn_valid_end2が参照される。更に、イメージセンサＣによって得られたデータが読み出されている場合にはscn_valid_start3〜scn_valid_end3が参照される。有効画素開始位置レジスタ５１０及び有効画素終了位置レジスタ５２０の参照すべきレジスタ値の切り替えは、ローカルメモリ５７０に書き込んだ画素データがどのイメージセンサからの画素データであるかに応じて行えばよい。あるいは、画素位置c_countが上記有効画素終了位置レジスタ５２０のscn_valid_endの値となったときに、次の設定に切り替わるような構成でもよい。
【００３６】
画素データが有効であると判定された場合は、ステップＳ８０６において、比較回路５６０はvalidをＯＮにし、読み出したデータとvalid＝ＯＮがセンサ特性補正回路５９０へ供給される。一方、画素データが無効であると判定された場合は、ステップS８０７において、比較回路５６０はvalidをＯＦＦにし、読み出したデータとvalid＝ＯＦＦがセンサ特性補正回路５９０へ供給される。
【００３７】
以上のステップＳ８０４〜Ｓ８０７の処理が、ローカルメモリ５７０に格納した１ブロック分の画像データについて実行されると、処理はステップＳ８０８からステップＳ８０９へ進む。ステップＳ８０９において、処理すべき次のブロックがあるか否かを判定し、次のブロックがある場合はステップＳ８０３に処理を戻す。ステップＳ８０３では、書き込み制御回路５５０が、３２バイトの幅及びバンド高さ有する次のブロックをバンドバッファから読み出し、ローカルメモリ５７０に格納する。そして、ステップＳ８０４以降の処理が実行される。一方、ステップＳ８０９において、次のブロックが無いと判定された場合は、本処理を終了する。
【００３８】
以上のように、第１実施形態によれば、１ライン上に配置された複数のイメージセンサを使用する画像読み取りにおいて、イメージセンサ１個あたりの画素数とは無関係に、ＳＤＲＡＭ等の連続的に書き込み及び読み出しを行える大容量メモリを使用できる。また、本実施形態では、連続的な高速なアクセスを行えるメモリを画像処理を行う際の一時的な画像データ格納用メモリとして使用し、後段の画像処理部で並べ替えを行う際に、有効な画素データからなる正しい画像データを得るように構成されている。例えば、後段の画像処理部においてバンド単位での処理が行われる際などに、副走査方向の画像データの再構成を行うように構成することが出来る。ここで、イメージセンサ１個あたりの画素数と一時格納用メモリ（バッファ）の高速書き込み単位との関係で画素データが書き込まれない無効データの範囲を除外するように、有効な画素データの範囲を示す範囲情報が設定される。より具体的には、ＣＰＵなどにより有効画素開始位置レジスタ５１０と有効画素終了位置レジスタ５２０に、有効な画素データの範囲の開始位置と終了位置が設定される。そして、ローカルメモリ５７０からの画素データの読み出しの際には、主走査方向位置カウンタ５３０の値が有効画素開始位置レジスタ５１０の値と有効画素終了位置レジスタ５２０の値の範囲である時に有効となる画素有効信号validを出力する。これにより、有効な画素データと無効な画素データが識別され、有効範囲のみの画像データを再構成することができる。
【００３９】
＜第２実施形態＞
次に、第２実施形態による画像処理装置について図７のブロック図を参照して説明する。尚、入力補正回路２２０の概略構成は上述の第１実施形態（図５Ａ）と同様である。図７は入力補正回路２２０内の画素並べ替え回路５００の詳細を説明するブロック図である。
【００４０】
図７では、前述の第１実施形態の構成に対して、画素並べ替え回路５００内に連続データ処理回路５８０（ＤＰＣＭデコーダ）が設けられ、比較回路５６０及びローカルメモリ５７０の出力が接続されている。連続データ処理回路５８０はここでは差分パルス符号変調方式（ＤＰＣＭ：Differential Pulse Code Modulation）の復号化（デコード）処理を行う差分パルス符号変調復号化回路（ＤＰＣＭデコーダ）である。さらに比較回路５６０から連続処理解除信号（line_top）が出力され、連続データ処理回路５８０に接続されている。
【００４１】
line_topはc_countがscn_valid_startの各々と同値である場合に有効となる信号である。このline_top信号はscn_valid_startの全てにおいて有効となってもよい。或いは、別途ＣＰＵなどからの設定によって該信号が有効となるscn_valid_startを指定できる構成となっていても構わない。例えば、
・全てのscn_valid_start（実施形態ではscn_valid_start1，scn_valid_start2，scn_valid_start3）がc_countと一致したときにline_top信号を有効としてもよいし、
・ＣＰＵ等で指定した特定のscn_valid_start（例えばscn_valid_star2）のみがc_countと一致したときにline_top信号を有効とする構成でもかまわない。これは、例えばある特定の領域の信号のみ必要な場合、不要なデータはデコードする必要がないので省略できることを示している。但し、通常モードとＤＰＣＭモードではデータの読み出し速度が異なり、ＤＰＣＭモードでは、圧縮率分だけ遅くなる。データを読み捨てるのであれば、通常モードで読み出す方が処理は早くなる。
【００４２】
また図１におけるアナログ信号処理部１２６内部には図示しないＤＰＣＭの符号化（エンコード）処理を行う差分パルス符号変調符号化回路（ＤＰＣＭエンコーダ）が各イメージセンサ毎に存在する。これら差分パルス符号変調符号化回路は、上記の連続データ処理回路５８０（ＤＰＣＭデコーダ）と対となって動作する。
【００４３】
ここでＤＰＣＭの簡単な説明を行う。ＤＰＣＭエンコーダは連続したデータに対して直前の値との差分を符号化する回路であり、ＤＰＣＭデコーダはＤＰＣＭエンコーダによって符号化された値の復号化処理を行う回路である。また、直前のデータが存在しない開始点のデータについてはリセット処理が行われる。ＤＰＣＭの場合、連続したデータは直前に符号化／復号化した値を参照しながら動作する為、本実施形態に好適な連続データ処理を行っている。
【００４４】
前述したように各イメージセンサ毎にＤＰＣＭエンコーダを有し、処理の高速化のために各イメージセンサのバンドバッファへの書き込み前にエンコード処理が行われる。この為、バンドバッファに書き込まれた画像データは各イメージセンサの左端で不連続となっている。
【００４５】
scn_valid_startを各イメージセンサの先頭画素位置に設定し、line_topの設定を有効とすることで、ＤＰＣＭデコーダにおいて各イメージセンサの先頭画素で連続データ処理リセット動作が行われる。こうして、正しい復号化を行うことができ、所望の画像データを再構成することができる。
【００４６】
なお、ここではＤＰＣＭデコーダを例にとって説明したが、注目画素以外の画素や、それまでの処理結果を参照するような画像処理においては、同様に適用することが可能である。
【００４７】
また図４に示すような各センサのオーバーラップ部での乗り換えを途中で行う場合、連続処理解除信号のタイミングと画素有効信号のタイミングをずらす必要がある。この場合は連続処理解除信号用のレジスタを追加し、連続処理解除信号と画素有効信号を別々に生成すればよい。例えば、図４Ａに示す構成の場合、各イメージセンサの先頭画素位置を示す値「０」、「１６５４」、「３３０８」を保持するレジスタを追加する。そして、比較回路５６０は、
・イメージセンサＡからの画素データを読み出している場合は主走査方向位置カウンタ５３０の値が「０」のとき、
・イメージセンサＢからの画素データを読み出している場合は主走査方向位置カウンタ５３０の値が「１６５４」のとき、
・イメージセンサＣからの画素データを読み出している場合は主走査方向位置カウンタ５３０の値が「３３０８」のとき、
にそれぞれ連続処理解除信号（Line_top）を出力するように構成される。
【００４８】
なお、第２実施形態の動作は、図８のフローチャートにおいて、ステップＳ８０５の実行前に、主走査方向カウンタc_countがscn_valid_startと一致した場合にline_topを出力する処理を設ければよい。連続データ処理回路５８０はline_topに応じて、連続データ処理リセット動作を実行する。そして、ステップＳ８０６では、連続データ処理回路５８０が読み出したデータをデコードし、デコードされたデータをvalid＝ＯＮとともにセンサ特性補正回路５９０へ出力する。なお、ステップＳ８０７では、デコードされたデータ（無効データであるのでデコードしなくてもよい）がvalid＝ＯＦＦとともにセンサ特性補正回路５９０へ出力される。なお、連続データ処理回路５８０は、ローカルメモリ５７０に保持される各主走査ライン毎の復号結果（ＤＰＣＭの予測値）を保持しており、ローカルメモリ５７０に順次に保持される各ブロックのデータを連続処理（デコード）する。そして、上記の連続データ処理リセット動作では、それら主走査ライン毎の復号結果（処理結果）がリセットされる。
【００４９】
また、第２実施形態によれば、前記バッファへの高速書き込み前に前記イメージセンサ毎に圧縮などの連続的な前処理を行った場合、各イメージセンサの境界で画像データが不連続となる。その為、主走査方向位置カウンタが有効画素開始位置レジスタの値と同値であるときに有効となる連続処理解除信号を出力することによって、後段の連続データ処理回路の動作をリセットし、正しい連続データ処理を行って画像を再構成することができる。
【００５０】
以上のように、上記第１及び第２実施形態によれば、イメージセンサ１個あたりの画素数に関係なく、高速アクセス可能な単位の連続するメモリ空間にイメージセンサからの画素データを格納することが可能となる。このため、１ラインの画像を１つまたは複数のイメージセンサを使用して読み取る構成において、ＳＤＲＡＭ等の連続的な高速アクセスを利用することが可能となる。また、ＳＤＲＡＭ等に確保したバンドバッファにイメージセンサからの画素データを格納した後は、後段の画像処理部で並べ替えを行う際に、有効な画素データのみを用いて画像データを再構成する。そのため、バンドバッファにおける無効データの領域や重複画素の領域の存在は、画像処理の速度に実質的な影響は及ぼさない。特に、各イメージセンサ用の格納領域に生じる無効データ領域についてローカルメモリ５７０への書き込みをしないように制御すれば、バンドバッファからの読み出しの効率が更に向上する。また、上記各実施形態では、ＳＤＲＡＭの高速読み出しを利用してローカルメモリ５７０に画素データを保持するがこれに限られるものではない。ＳＤＲＡＭからの読み出し方法に係らず（通常の読み出しモードが混在する場合においても）、読み出しと主走査方向位置カウンタの計数を同期させてvalid信号を制御し、有効な画素データによる画像データの再構成を行うように構成することも可能である。
【００５１】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５２】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００５３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００５５】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００５６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００５８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００５９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００６０】
【図１】第１実施形態による画像処理装置の全体構成例を示すブロック図である。
【図２】第１実施形態による画像処理部の回路構成例を示すブロック図である。
【図３】第１実施形態によるバンド処理の動作例を示す図である。
【図４Ａ】第１実施形態のセンサ出力の動作例を示す図である。
【図４Ｂ】第１実施形態のセンサ出力の動作例を示す図である。
【図４Ｃ】第１実施形態のセンサ出力の動作例を示す図である。
【図５Ａ】第１実施形態の画素並べ替え回路の構成を示すブロック図である。
【図５Ｂ】第１実施形態の画素並べ替え回路の構成を示すブロック図である。
【図６】第１実施形態による画像データ再構成の動作例を示す図である。
【図７】第２実施形態の画素並べ替え回路の構成を示すブロック図である。
【図８】第１実施形態による画素並べ替え回路の動作を説明するフローチャートである。
【図１】
0005264126.tif 000002
【図２】
0005264126.tif 000003
【図３】
0005264126.tif 000004
【図４Ａ】
0005264126.tif 000005
【図４Ｂ】
0005264126.tif 000006
【図４Ｃ】
0005264126.tif 000007
【図５Ａ】
0005264126.tif 000008
【図５Ｂ】
0005264126.tif 000009
【図６】
0005264126.tif 000010
【図７】
0005264126.tif 000011
【図８】
0005264126.tif 000012