(57)【特許請求の範囲】
【請求項１】
ラインセンサーで読み込まれた画像データが、１又は複数のチャネルに分割されて入力される画像データ入力端子と、
前記画像データ入力端子より入力された前記画像データを記憶する画像データ記憶手段と、
前記入力された画像データを前記画像データ記憶手段に書き込んだ後に、前記画像データ記憶手段からメモリアドレス順に画像データを読み出すことにより、前記ラインセンサーで読み込まれた画像位置の順に並び替えられた画像データが読み出されるように、前記画像データ記憶手段に書き込むメモリアドレスを指示するメモリアドレス指示手段と、
前記入力された画像データを、前記メモリアドレス指示手段により指示された、前記画像データ記憶手段のメモリアドレスに書き込む画像データ書き込み手段と、
前記画像データ記憶手段に書き込まれた画像データをメモリアドレス順に読み出す画像データ読出し手段と、
を具備し、
前記画像データ記憶手段は複数のメモリを有し、
前記入力された画像データを前記複数のメモリのうちのいずれのメモリへ書き込むかについては、前記メモリアドレス指示手段により指示されるメモリアドレスの上位ビットにより指定されることを特徴とする画像処理装置。
【請求項２】
前記画像データ記憶手段は、前記画像データ書き込み手段による画像データの書き込みタイミングと、前記画像データ読出し手段による画像データの読み出しタイミングとが、互いに排他的関係のデュアルポートＲＡＭにより構成されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記メモリアドレス指示手段は、１ないし複数のＲＯＭ又はフラッシュＲＯＭから構成されることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
制御手段を更に有し、
前記メモリアドレス指示手段により指示されたメモリアドレスは、前記制御手段により最大カウンタ値が制御されるカウンタのカウンタ値をメモリアドレスとして、前記メモリアドレス指示手段から読み出された値であることを特徴とする請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記制御手段は、前記メモリアドレス指示手段により一度に指示されるメモリアドレスの数を、前記画像データ入力端子から入力される画像データのチャネル数に一致させることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像データ入力端子に対応した画像データの最大のチャネル数は８であることを特徴とする請求項１ないし５のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラインセンサーで読み込まれた画像データをメモリに書き込む画像処理装置に関する。
【背景技術】
【０００２】
従来、ＣＣＤやＣＩＳ（コンタクトイメージセンサ）で読み出した画像データを入力し、そのデータ処理を行わせるためには、まず、使用するＣＣＤやＣＩＳを決め、それらデバイスの専用回路を作成して、画像データ読み取り、並び替え回路を設計してきた。デバイス専用回路を作成する理由としては、ＣＣＤやＣＩＳ、ＣＭＯＳセンサーなどのデバイスの構成がメーカーや、デバイスの処理スピードにより変わってしまうためである。例えば、８０枚／分の読込性能を持つ高速複写機等のリーダにＣＣＤを用いる場合には、画像データの読出クロックを上げられないため、ＣＣＤの性能を保つためには、ＣＣＤからの画像データを分割して読み出す（例えば、４分割して読み出す）必要がある。それに対して、４０枚／分の読込性能を持つ中速複写機等のリーダでは、画像データの読出クロックに余裕があるため、２分割で読み出せる低コストのＣＣＤを使うのが一般的である。更に、高速読出が可能なＣＭＯＳセンサーだと、読出データ構造がＣＣＤとは全く異なるものが多い。また、画像データの並び替えに用いる記憶装置の容量に関しては、例えば特許文献１において、容量の小さな記憶装置を使用してイメージセンサからの画像データの並び替えを行う手法が提示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１８９０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複写機のリーダのラインセンサーには、ＣＣＤやＣＩＳ、ＣＭＯＳなどが用いられる。しかし、これらのラインセンサーは、その種類によって画像データの出力順が異なるため、画像データの並べ替えを行う画像処理回路をラインセンサーの種類毎に設計しなければならず、リーダの汎用的な画像処理回路が望まれる。また、センサーの小さな仕様変更への対応も一般的に困難であり、センサーの仕様変更や、安価なデバイスへ置き換える場合には、設計自由度が損なわれるという問題点があった。
【０００５】
本発明は、このような状況のもとでなされたものであり、画像データの出力順の異なるラインセンサーから出力された画像データの並べ替えをメモリアドレス指示手段を用いて行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するため、本発明の画像処理装置は以下を具備することを特徴とする。
【０００７】
ラインセンサーで読み込まれた画像データが、１又は複数のチャネルに分割されて入力される画像データ入力端子と、前記画像データ入力端子より入力された前記画像データを記憶する画像データ記憶手段と、前記入力された画像データを前記画像データ記憶手段に書き込んだ後に、前記画像データ記憶手段からメモリアドレス順に画像データを読み出すことにより、前記ラインセンサーで読み込まれた画像位置の順に並び替えられた画像データが読み出されるように、前記画像データ記憶手段に書き込むメモリアドレスを指示するメモリアドレス指示手段と、前記入力された画像データを、前記メモリアドレス指示手段により指示された、前記画像データ記憶手段のメモリアドレスに書き込む画像データ書き込み手段と、前記画像データ記憶手段に書き込まれた画像データをメモリアドレス順に読み出す画像データ読出し手段と、を具備し、前記画像データ記憶手段は複数のメモリを有し、前記入力された画像データを前記複数のメモリのうちのいずれのメモリへ書き込むかについては、前記メモリアドレス指示手段により指示されるメモリアドレスの上位ビットにより指定されることを特徴とする画像処理装置。
【発明の効果】
【０００８】
本発明によれば、画像処理装置は、メモリアドレス指示手段の指示内容を変えることにより、ラインセンサーから出力された画像データの並べ替えを行うことができる。つまり、本発明の画像処理装置を、画像データの出力順の異なるラインセンサーに対して使用することができ、開発工数の削減、設計の標準化が可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施例１の回路ブロック図
【図２】実施例１の画像データの書込タイミングチャート
【図３】実施例１の画像データの読出タイミングチャート
【図４】実施例１のルックアップテーブル、入力画像データのデータ構造を示す図
【図５】実施例２の回路ブロック図
【図６】実施例２の画像データの書込・読出タイミングチャート
【図７】実施例３の回路ブロック図
【図８】実施例４のルックアップテーブルの回路ブロック図
【図９】実施例４のルックアップテーブルの動作条件を示す図
【図１０】実施例４のルックアップテーブルのデータ例を示す図
【図１１】実施例４の中・高速機の装置ブロック図、入力画像データの構造図
【図１２】実施例４の中・高速機のルックアップテーブルのデータ例を示す図
【図１３】実施例５のルックアップテーブルの回路ブロック図
【図１４】実施例５の回路ブロック図
【図１５】実施例５のルックアップテーブルのデータ例を示す図
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について、実施例により詳しく説明する。
【実施例１】
【００１１】
図１に実施例１の回路ブロック図を示す。実施例１は、ラインセンサーの一つである外部ＣＣＤから、入力チャネル数として４チャネルに分割された画像データが同時に入力された場合のデータの並び替えを行う回路である。
【００１２】
まず、回路の接続関係について、図１を用いて説明する。デジタルデータ入力端子２６〜２９は、外部ＣＣＤで読み取られたアナログデータがアナログプロセッサによりＡＤ変換され、デジタルデータとして入力される画像データ入力端子である。１つのデジタルデータは通常８〜１０ビットから構成されている。デジタルデータ入力端子２６〜２９は、それぞれフリップフロップからなるラッチ回路１４〜１７の入力端子に接続されている。そして、ルックアップテーブル８〜１１にはラッチ回路１４〜１７にラッチされた前記デジタルデータを書き込む、画像データ記憶手段である２ポートＲＡＭ（デュアルポートＲＡＭ）１の特定アドレス情報が格納されている。ルックアップテーブル８〜１１のデータは、カウンタ１３のカウンタ値に対応したアドレス情報がその出力になるように構成されている。そして、ルックアップテーブル８とラッチ回路１４の出力端子は、Ｄタイプフリップフロップからなるラッチ回路２２の入力端子に接続されている。同様に、ルックアップテーブル９〜１１とラッチ回路１５〜１７の各出力端子は、それぞれラッチ回路２３〜２５の各入力端子に接続されている。また、分周・波形生成回路１２の４分周出力端子は、ラッチ回路２２〜２５のクロック入力端子に接続されるとともに、ＰＬＬ制御回路２１のフィードバック端子にも接続されている。また、ＰＬＬ制御回路２１のＶＣＯ出力（ＶＣＯ＿ＯＵＴ）端子は、分周・波形生成回路１２のクロック入力端子に接続されている。
【００１３】
ルックアップテーブル８〜１１は、１つのテーブルに１個のＲＡＭを割り付けて、計４個のＲＡＭ構成でも同じ動作は可能であるが、以下の実施例においては１個のＲＡＭから構成された場合について説明する。同様に、カウンタ１３も４個のカウンタを個別に設けても動作可能であるが、以下の実施例においては一個のバイナリカウンタとして構成されている。ルックアップテーブル８〜１１にデータを書き込むためのデータ入力端子、及びデータ書込用制御端子は実際に設けられているが、図示されていない。ルックアップテーブル８〜１１がＲＯＭの場合には、あらかじめマスク上にビット情報として書き込んでおき、必要であれば、マスクオプションとして、簡単に書き換えられるようにしておくこともできる。また、ルックアップテーブル８〜１１の制御信号入力端子には、ＷＥＢ（書込イネーブル）端子３０が接続されている。
【００１４】
ラッチ回路２２〜２５の出力端子は、セレクタ回路４〜７の入力端子に接続されている。そして、セレクタ回路４〜７の出力端子はバスライン３に接続され、バスライン３は２ポートＲＡＭ１の書込データ入力端子と書込アドレス入力端子に接続されている。また、セレクタ回路４〜７のコントロール信号入力端子は、それぞれ分周・波形生成回路１２のＡ、Ｂ、Ｃ、Ｄ信号出力端子に接続されている。２ポートＲＡＭ１の書込用クロック入力端子はＰＬＬ制御回路２１のＶＣＯ出力端子に接続されている。２ポートＲＡＭ１の読出アドレス入力端子は、アドレスカウンタ２のカウント出力端子に接続され、アドレスカウンタ２のクロック入力端子と２ポートＲＡＭ１の読出用クロック入力端子は、ＲＣＬＫ入力端子１９に接続されている。また、読出イネーブル（ＲＥＡＤ＿ＥＮＡＢＬＥ）入力端子１８は、アドレスカウンタ２のカウントイネーブル入力端子と、２ポートＲＡＭ１のＲＥＢ（読出イネーブル）端子に接続されている。ＷＥＢ端子３０は、２ポートＲＡＭ１のＷＥＢ入力端子に接続されるとともに、カウンタ１３のＥＮ端子にも接続されている。ＰＬＬ制御回路２１のＣＬＫ端子には、ＣＬＫ端子３１が接続されている。また、２ポートＲＡＭ１の読出データ出力端子が、読出データ（ｒｅａｄ＿ＤＡＴＡ）出力端子２０に接続されている。
【００１５】
次に、本実施例の動作に関して説明する。図２に動作を説明するためのタイミングチャートを示す。図２のＣＬＫの波形の信号を図１の回路のＣＬＫ端子３１から入力すると、ＶＣＯを内蔵したＰＬＬ制御回路２１と分周・波形生成回路１２は、フィードバックループを構成しＰＬＬとして動作する。その結果、ＣＬＫ端子３１からの入力信号と分周・波形生成回路１２の４分周出力端子から出力される信号の位相が同期し、Ａ、Ｂ、Ｃ、Ｄ、ＰＬＬ＿ＯＵＴの各端子に図２に示す信号が出力される。また、ルックアップテーブル８〜１１は、図４（ａ）に示すように、そのテーブルアドレスを指定するカウンタ１３のカウンタ値に対応した２ポートＲＡＭ１のメモリアドレス情報をラッチ回路２２〜２５に出力する。図４（ａ）は、一般的に使用されるｏｄｄ（奇数画素列）、ｅｖｅｎ（偶数画素列）のデータを、更に前半部、後半部に２分割し、全体で４分割された画像データを出力するＣＣＤを用いた場合のルックアップテーブルのデータ例を示している。
【００１６】
カウンタ１３のクロック入力は、デジタルデータ入力端子２６〜２９に入力されるデータレートと同期しており、ＰＬＬ制御回路２１のｆｅｅｄ＿ＢＡＣＫ端子に入力されるクロックでもある。ＷＥＢ端子３０が、ＨＩＧＨレベル（以下、「Ｈ」と記す）からＬＯＷレベル（以下、「Ｌ」と記す）に立ち下がった後、カウンタ１３とルックアップテーブル８〜１１はイネーブル状態となり、動作を開始する。デジタルデータ入力端子２６〜２９から入力された画像信号は、それぞれラッチ回路１４〜１７でラッチされる。そして、その１画像データ毎に対応したアドレス情報がルックアップテーブル８〜１１から読み出されるように、カウンタ１３がカウントアップされる。そして、ラッチ回路１４〜１７にラッチされた画像データと、２ポートＲＡＭ１にその画像データを書き込むためにルックアップテーブル８〜１１から読み出されたメモリアドレス指示データが、ラッチ回路２２〜２５に同時にラッチされる。
【００１７】
次に、ラッチ回路２２〜２５にラッチされたメモリアドレス指示データと画像データは、セレクタ回路４〜７を経由して、時分割で２ポートＲＡＭ１のデータ書込用メモリアドレス入力端子とデータ入力端子に入力される。その結果、ＰＬＬ＿ＯＵＴ信号の立ち下がりで、２ポートＲＡＭ１の指示されたメモリアドレスにその画像データ書き込みが行われる。２ポートＲＡＭ１に全ての画像データが書き込まれた後、読出イネーブル入力端子１８がＨからＬになり、アドレスカウンタ２にＲＣＬＫ入力端子１９からクロックが入力される。アドレスカウンタ２はイネーブル状態となり、そのカウンタ値は０から順次カウントアップされ、２ポートＲＡＭ１の読出データ出力端子２０には、アドレスカウンタ２のカウンタ値に対応して、メモリアドレス順に並び替えられた画像データが出力される。
【００１８】
なお、具体的な画像データの書込タイミングチャートを図２に、画像データ読出タイミングチャートを図３に示す。図２、図３より、２ポートＲＡＭ１への画像データの書込動作と読出動作は同時に行われず、書込と読出のタイミングは互いに排他的関係であることが分かる。なお、カウンタ１３は、ＷＥＢ端子３０がＨの時にはカウント値が常に０になるように、アドレスカウンタ２は、読出イネーブル入力端子１８がＨの時にはカウント値が常に０になるように、それぞれ構成されている。本実施例でのＣＣＤから読み出された入力画像データの例を、図４（ｂ）に示す。この表のデータは、ＣＬＫ端子３１のクロックに同期して、表の上方から下方に向かって１列毎に同時にＣＣＤから出力され、デジタルデータ入力端子のＤＩＮ１、ＤＩＮ２、ＤＩＮ３、ＤＩＮ４を経由して入力される。また、図４（ｂ）に示す入力画像データは、図４（ｃ）に示す２ポートＲＡＭ１のアドレスに書き込まれる。
【００１９】
以上説明したように、４チャネルに分割されたラインセンサーからの画像データを、ルックアップテーブルから指示された２ポートＲＡＭのアドレスに書き込み、メモリアドレス順に画像データを読み出すことにより、画像データの並び替えを行うことができる。
【実施例２】
【００２０】
図５は、本実施例を示す回路ブロック図である。本実施例では、実施例１の図１に対して、２ポートＲＡＭ３２、アドレスカウンタ３３、ゲート回路３６、３７、ラインカウンタ回路３８が追加されている。以下では、実施例１と同一部分の説明は省略し、追加された変更部分に関して詳細に説明する。
【００２１】
まず、回路の接続関係について、図５を用いて説明する。実施例１の図１と比べ、図５では２ポートＲＡＭ３２が追加され、その２ポートＲＡＭ３２の書込データ入力端子と書込アドレス入力端子は、２ポートＲＡＭ１と同様、バスライン３に接続されている。２ポートＲＡＭ３２の書込用クロック入力端子は、ＰＬＬ制御回路２１のＶＣＯ出力端子に接続されている。２ポートＲＡＭ３２の読出アドレス入力端子はアドレスカウンタ３３のカウント出力端子に接続され、アドレスカウンタ３３のクロック入力端子と２ポートＲＡＭ３２の読出用クロック入力端子はＲＣＬＫ入力端子１９に接続されている。また、読出イネーブル２（ＲＥＡＤ＿ＥＮＡＢＬＥ２）端子３５はアドレスカウンタ３３のカウントイネーブル入力端子と、２ポートＲＡＭ３２のＲＥＢ端子に接続されている。ゲート回路３７の入力端子は、ＷＥＢ端子３０と、ラインカウンタ回路３８のＯＤＤ信号出力端子に接続され、ゲート回路３６の入力端子は、ＷＥＢ端子３０と、ラインカウンタ回路３８のＥＶＥＮ信号出力端子に接続されている。ゲート回路３７の出力端子は２ポートＲＡＭ１のＷＥＢ（書込イネーブル）入力端子に接続され、ゲート回路３６の出力端子は２ポートＲＡＭ３２のＷＥＢ入力端子に接続されている。２ポートＲＡＭ３２の読出データ出力は、読出データ（ｒｅａｄ＿ＤＡＴＡ）出力端子３４に接続されている。また、ラインカウンタ回路３８には、ＨＥＮＡＢＬＥ端子３９が接続され、ラインの同期信号が入力される。
【００２２】
次に、本実施例の動作について説明する。ラインカウンタ回路３８には、画像データの１ラインの読み出し開始時にラインの先頭を示す信号がＨＥＮＡＢＬＥ端子３９から入力される。その信号が奇数回入力されると、ラインカウンタ回路３８のＯＤＤ端子の出力はＨに、ＥＶＥＮ端子の出力はＬとなり、偶数回入力の場合は、ＯＤＤ端子の出力はＬに、ＥＶＥＮ端子の出力はＨとなる。従って、ラインカウンタ回路３８のＯＤＤ端子の出力がＨで、ＥＶＥＮ端子の出力がＬの時は、本実施例の回路は、実施例１と全く同じ動作をする。即ち、デジタルデータ入力端子２６〜２９から入力された奇数ラインの画像データは、２ポートＲＡＭ１に並び替えられて書き込まれる。一方、ラインカウンタ回路３８のＥＶＥＮ端子の出力がＬのため、ゲート回路３６の出力はＨとなり、その結果、２ポートＲＡＭ３２のＷＥＢがＨであるため、２ポートＲＡＭ３２はアクセスされない状態となる。これに対して、偶数ラインの画像データが入力された場合は、ラインカウンタ回路３８のＥＶＥＮ端子の出力がＨで、ＯＤＤ端子の出力がＬとなる。その結果、ゲート回路３７の出力はＨとなり、２ポートＲＡＭ１のＷＥＢがＨであるため、２ポートＲＡＭ１はアクセスされない状態となる。一方、ゲート回路３６の出力はＬとなり、２ポートＲＡＭ３２のＷＥＢがＬとなるため、２ポートＲＡＭ３２への書込が可能となり、偶数ラインの画像データは、２ポートＲＡＭ３２に並び替えられて書き込まれる。この場合も、動作自体は、書込対象が２ポートＲＡＭ１から２ポートＲＡＭ３２に変わっただけであり、それ以外の動作は実施例１と同じである。このように、本実施例の場合には、ＣＣＤから読み出された入力画像データは、２ポートＲＡＭ１と２ポートＲＡＭ３２に対し交互に書き込まれる。その動作にかかわるタイミングチャートを、図６に示す。
【００２３】
図５の回路ブロック図には示されていないが、２ポートＲＡＭ１、３２の後段に設けられた画像処理回路では、２ポートＲＡＭ１、３２の読出データ出力端子２０、３４から出力されたデータを時分割に処理することが可能となる。具体的には、画像処理回路は、読出イネーブル入力端子１８がＬの時には、読出データ出力端子２０から出力されるデータを処理し、読出イネーブル２端子３５がＬの時には、読出データ出力端子３４のポートから出力されるデータを処理すればよい。なお、アドレスカウンタ３３も、アドレスカウンタ２と同様に、読出イネーブル２端子３５がＨの時には、常にカウント値が０となるように構成されている。
【００２４】
以上説明したように、本実施例によれば、実施例１で説明した回路に、２ポートＲＡＭへの書込／読出制御回路を追加することにより、ルックアップテーブルの内容を変更しなくても、２つの２ポートＲＡＭの制御が可能になる。
【実施例３】
【００２５】
図７は、本実施例を示す回路ブロック図であり、実施例２の図５と比べて、ラインカウンタ回路３８が削除され、それに接続されていた信号線も削除されている。更に、本実施例では、実施例２と比べ、ルックアップテーブル８〜１１に対応したデータのＭＳＢ（最上位ビット）が各々１ビットずつ増加し、セレクタ回路４〜７を通じて読み出されたそのＭＳＢの信号が、ゲート回路３６、３７の入力端子に接続されている。その他の回路、及びその動作は、実施例２と同じである。実施例２では、デジタルデータ入力端子２６〜２９から入力された画像データをラインカウンタ回路３８のＯＤＤ、ＥＶＥＮ端子の出力信号により、２ポートＲＡＭ１、又は２ポートＲＡＭ３２への書込が制御されていた。本実施例では、ルックアップテーブル８〜１１のＭＳＢの１ビットを使用して同じ制御を行えるように構成されている。具体的には、デジタルデータ入力端子２６〜２９からの入力画像データは、ルックアップテーブルのＭＳＢビットの値が１の時には２ポートＲＡＭ１に、ＭＳＢビットの値が０の時には２ポートＲＡＭ３２に、それぞれ書き込まれるように制御される。
【００２６】
以上説明したように、本実施例によれば、外付けのカウンタ回路を追加せずに、ルックアップテーブルに格納されたメモリアドレスデータにＭＳＢビットを追加し、ＭＳＢビットの内容により、入力画像データを書き込むべきＲＡＭを選択することができる。
【実施例４】
【００２７】
図８に本実施例の回路ブロック図を示す。これは、カウンタ１３及びルックアップテーブル８の一例を示したものである。実施例１のルックアップテーブル８〜１１を複数個のＲＡＭ（又はＲＯＭ）から構成する場合には、アドレスカウンタやデコーダ回路が余分に必要となる。更に、いろいろなＣＣＤデバイスからの画像データ入力に対し、単純に対応した場合に必要なルックアップテーブルのメモリ容量は、本来必要なメモリ容量の数倍になる。これに対して、本発明はこれらの無駄を排除し、１個のＲＡＭ又はＲＯＭを利用して必要最小限のメモリ容量で構成されるルックアップテーブルを提案するものである。特に、４入力、２入力、１入力のＣＣＤ、ＣＩＳ、ＣＭＯＳからの入力画像データに対し、インタフェースの違いを吸収して、同じメモリサイズの画像データの読込・並び替え処理を最小限のメモリ容量で対応できる方法を提案するものである。
【００２８】
まず、回路の接続関係について、図８を用いて説明する。図８の回路は、実施例１の図１において点線で囲まれたＡの内部の回路に相当する。実施例２の図５、実施例３の図７、及び後述する実施例５の図１４においても同様に、ルックアップテーブル８〜１１とカウンタ１３がこの回路に相当する。メモリ６−３２はルックアップテーブルの中核部のメモリ部で、本実施例の場合、１ワードが１０４ビットで、１Ｋワードのメモリ容量を持つＲＡＭ又はＲＯＭである。このメモリ６−３２のデータは、６−９〜６−１６の８個の３ステートバッファにより分散して読み出される構成になっている。メモリ６−３２は１３ビット構成の８つの領域に分けられており、ＭＳＢ側からＬＳＢ側に向かって、Ａ領域〜Ｈ領域に分割されている。そして、Ａ領域〜Ｈ領域の各１３ビットが、それぞれ３ステートバッファ６−９〜６−１６の入力端子に接続されている。メモリ６−３２のデータ読出用ワードを選択するアドレスデコーダはメモリ６−３２の内部に具備されており、デコーダの入力端子には、アドレスカウンタ１３のカウント出力端子が接続されている。また、アドレスカウンタ１３のリセット端子にはゲート回路６−３８の出力端子が接続されている。ゲート回路６−３８の一方の入力端子には、ＷＥＢ端子３０が接続されており、ＷＥＢ端子３０がＨの時は、アドレスカウンタ１３はリセットされ、そのカウント値は常に０である。ゲート回路６−３８の他方の入力端子には、コンパレータ６−７の一致結果出力端子が接続されている。
【００２９】
３ステートバッファ６−９〜６−１６の出力端子は、出力端子６−２４〜６−３１に接続されている。また、３ステートバッファ６−１０〜６−１６の出力端子は、３ステートバッファ６−１７〜６−２３の入力端子に接続されている。また、３ステートバッファ６−２３の出力端子は３ステートバッファ６−２２の入力端子に接続され、３ステートバッファ６−２２の出力端子は３ステートバッファ６−２１の入力端子に接続されている。更に、３ステートバッファ６−２１の出力端子は３ステートバッファ６−２０の入力端子に接続され、３ステートバッファ６−２０の出力端子は３ステートバッファ６−１９の入力端子に接続されている。そして、３ステートバッファ６−１９の出力端子は３ステートバッファ６−１８の入力端子に接続され、３ステートバッファ６−１８の出力端子は３ステートバッファ６−１７の入力端子に接続されている。３ステートバッファ６−９〜６−２３を制御するのが、回路６−１〜６−７である。６−２はそのメインのタイミング信号を生成するための制御回路で、３ステートバッファ６−９〜６−１６の制御端子Ｈ０１〜Ｈ０８、及び３ステートバッファ６−１７〜６−２３の制御端子Ｖ０１〜Ｖ０７の制御信号を生成する。回路６−１、６−３、６−４、６−５、６−６は、制御回路６−２の基準となる信号を生成又は格納する回路となっている。
【００３０】
バッファ６−６の出力である比較値αの値は、ＣＰＵがバス６−３７を通じてモード選択回路６−１に設定する情報である。モード選択回路６−１の出力端子はバッファ６−６の入力端子に接続されており、モード選択回路６−１に書き込まれた比較値αはバッファ６−６に設定される。ゲート回路６−４の入力端子には、コンパレータ６−７の一致結果出力端子と、ＣＬＫ入力６−３６が接続され、ゲート回路６−４の出力端子はカウンタ６−５のクロック入力端子に接続されている。バス６−３７を通じてモード選択回路６−１に設定された比較値βの値は、バッファ６−３に設定され、そのバッファ６−３の出力端子とカウンタ６−５の出力は制御回路６−２の制御信号入力端子に接続されている。カウンタ６−５のリセット入力端子には、ＷＥＢ端子３０が接続されている。アドレスカウンタ１３、カウンタ６−５、コンパレータ６−７は、そのクロック入力端子にＣＬＫ入力６−３６が接続された同期回路で構成されている。ただし、コンパレータ６−７は、ＣＬＫ入力６−３６のクロック立下りで比較判定を行うコンパレータとなっている。また、モード選択回路６−１には、バス６−３７を通じて、不図示のＣＰＵがモード情報を設定できる。制御回路６−２を動作させるために必要な情報がモード選択回路６−１の中で加工され、信号線６−４０を通じて制御回路６−２に通知される。
【００３１】
図８に示すルックアップテーブルは、ＣＣＤからの読取データが最大８ｃｈに分割されて、信号入力される場合まで拡張できるものである。図８の回路を実施例１の画像読み取り用ＣＣＤから４ｃｈに分割された画像データ入力に用いた場合を考えると、出力端子６−２４〜６−３１と、図１のラッチ回路２２〜２５の接続は、以下のようにすればよい。すなわち、図８の出力端子６−２４、６−２６、６−２８、６−３０と図１のラッチ回路２２、２３、２４、２５の入力端子を接続し、図８の出力端子６−２５、６−２７、６−２９、６−３１はオープン状態（未接続状態）のまま使わないものとすればよい。
【００３２】
次に、このように構成された図８のルックアップテーブルの動作に関して説明する。今、メモリ６−３２は、あらかじめデータが書き込まれたＲＯＭで構成されているものとする。このＲＯＭは最大１Ｋワードのメモリ容量を有しており、一度に１ワードが１０４ビット構成のデータを読み出すことができる構造となっている。必要であれば、フラッシュＲＯＭで本メモリを構成することも可能であり、不図示の書込回路で、８ビットずつ、部分的にデータを書き込むことも可能である。ＣＣＤデバイスでは、白黒、カラーの画像読み取りにおいて、そのデータ転送スピードや構造が異なる。例えば、カラー画像では、その読み取り速度に応じて、２チャネル同時、４チャネル同時、そして最大入力チャネル数である８チャネル同時等、画像データを分割出力する構成がある。ただし、画像データを１チャネルで読み出す場合でも、複数チャネルに分割して読み出す場合でも、ＣＣＤデバイスで読み出した１ライン分の読出ワード数は同じである。１ライン分の画像データの読出しワード数は最大８１９２ワードであり、通常は７０００〜８０００ワードあれば十分である。従って、入力チャネル（ｃｈ）当たりの画像データの読出しワード数は、２分割（２ｃｈ）出力の場合は３５００〜４０００ワード、４分割（４ｃｈ）であれば１７５０〜２０００ワード、８分割（８ｃｈ）であれば８００〜１０００ワード程度あれば十分である。このことは、ＣＣＤより同時に読み出すチャネル数によって、１チャネル当たりの画像データの読出しワード数が異なることを意味している。
【００３３】
図９は、画像データが４チャネル（４ｃｈ）で入力される場合（図９（ａ））、２チャネル（２ｃｈ）で入力される場合（図９（ｂ））、１チャネル（１ｃｈ）で入力される場合（図９（ｃ））のルックアップテーブルの動作条件を示した図である。図９の表において、カウンタ値は図８のカウンタ６−５のカウンタ値を指し、このカウンタ値に対応して制御回路６−２により生成される制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７の制御信号の値を示している。
【００３４】
（１）４ｃｈモード（画像データ入力が４チャネル）の場合
まず、画像データが４チャネルから同時に入力される実施例１の図１の場合の動作について説明する。この場合、図９（ａ）の４ｃｈモードでの動作となり、ＣＰＵがバス６−３７を通じてモード選択回路６−１にその４ｃｈモード設定情報を書き込むことにより、その情報が信号線６−４０を通じて制御回路６−２に通知される。制御回路６−２はこの情報に基づき、図９（ａ）にあるようにカウンタ６−５のカウンタ値に応じた制御端子Ｈ０１〜Ｈ０８、制御端子Ｖ０１〜Ｖ０７の制御信号を生成し、バス６−３３、６−３４を介し３ステートバッファ６−９〜６−２３の制御端子に送出する。
【００３５】
画像データの読出しワード数をトータル７４１６ワードとした場合、読み出すルックアップテーブルのエンドアドレスを示す比較値αを９２７（１６進数表示では、３９Ｆ）として、ＣＰＵはバス６−３７を介してモード選択回路６−１に設定する。同時に、ＣＰＵは、βの値、即ち４ｃｈモードの場合のカウンタ６−５の最大値２をモード選択回路６−１に設定する。ＷＥＢ端子３０の信号はＨであるため、カウンタ６―５には０が設定され、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ａ）のカウンタ値に対応した値を送出する。これにより、制御端子Ｈ０１、０３、０５、０７の信号がＨであるため、３ステートバッファ６−９、６−１１、６−１３、６−１５がオン状態となり、制御端子Ｖ０１〜Ｖ０７は全てＬであるため、３ステートバッファ６−１７〜６−２３は全てオフ状態となる。ＷＥＢ端子３０の信号はＨであるため、アドレスカウンタ１３のカウンタ値は０であり、Ａ領域、Ｃ領域、Ｅ領域、Ｇ領域のアドレス０のデータが、３ステートバッファ６−９、６−１１、６−１３、６−１５を通じて、図１のラッチ回路２２〜２５に出力される。
【００３６】
次に、ＷＥＢ端子３０の信号がＨからＬになると、図２のタイムチャートに示すように、クロック入力６−３６によりアドレスカウンタ１３のカウント値が更新される。そして、アドレスカウンタ１３のカウンタ値の示すＡ領域、Ｃ領域、Ｅ領域、Ｇ領域のルックアップテーブルのデータが、図１のラッチ回路２２〜２５に順次出力される。アドレスカウンタ１３は、比較値αの値までＣＬＫ入力６−３６のクロック立ち上がり時にカウントアップされる。そのクロックの立下りで、コンパレータ６−７は、バッファ６−６の出力信号である比較値αとアドレスカウンタ１３の出力信号であるカウンタ値との比較を行い、不一致であればＬを、一致すればＨを出力する。すなわち、アドレスカウンタ１３の最大カウンタ値は比較値αである。そして、コンパレータ６−７の出力がＨとなったその次のクロックの立ち上がりタイミングで、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は１となる。そして、カウンタ６−５のカウントアップと同時に、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ａ）のカウンタ値が１に対応した制御信号を送出する。
【００３７】
今度は、制御端子Ｈ０２、０４、０６、０８がＨとなるため、３ステートバッファ６−１０、６−１２、６−１４、６−１６がオン状態となる。また、制御端子Ｖ０１、０３、０５、０７がＨとなるため、３ステートバッファ６−１７、６−１９、６−２１、６−２３がオン状態となる。その結果、Ｂ領域、Ｄ領域、Ｆ領域、Ｈ領域のルックアップテーブルのデータが、それぞれ出力端子６−２４、６−２６、６−２８、６−３０を通じて、図１のラッチ回路２２〜２５に出力される。そして、クロック入力６−３６によりアドレスカウンタ１３のカウント値が更新され、アドレスカウンタ１３のカウンタ値の示すＢ領域、Ｄ領域、Ｆ領域、Ｈ領域のルックアップテーブルのデータがラッチ回路２２〜２５に順次読み出される。アドレスカウンタ１３が更新され、そのカウント値が比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は２となる。その結果、カウンタ６−５のカウンタ値とバッファ６−３に設定された比較値βとが一致するので、ＷＥＢ端子３０にはＨ信号が印加され、２ポートＲＡＭ１への書込は終了し、カウンタ６−５はリセットされる。
【００３８】
図１０（ａ）に、画像入力端子が４ｃｈの場合のルックアップテーブルの例を示す。図１０（ａ）において、アドレス欄はアドレスカウンタ１３の値を指し、Ａ領域〜Ｈ領域の各欄の数値は、入力された該当画像データを書き込むべき２ポートＲＡＭ１（図１）のメモリアドレス（１６進数表示）を示す。前述したように、図８において、カウンタ６−５が０の時には、ルックアップテーブルのＡ領域、Ｃ領域、Ｅ領域、Ｇ領域のデータが図１のラッチ回路２２〜２５に出力される。例えば、図８のアドレスカウンタ１３が０の時には、ルックアップテーブルからラッチ回路２２〜２５に対して、図１０（ａ）に示すように、それぞれ、００００、０００１、１ＣＦＥ、１ＣＦＦのデータが出力される。なお、１ＣＦＥ、１ＣＦＦは１６進数表示であり、１０進数表示では、それぞれ７４２２、７４２３である。同時に、図１において、外部ＣＣＤからの画像データがデジタルデータ入力端子２６〜２９から入力され、ラッチ回路２２〜２５にて、ルックアップテーブルからのデータと一緒にラッチされる。そして、図１のデジタルデータ入力端子２６〜２９から入力された画像データは、それぞれ２ポートＲＡＭ１のメモリアドレス００００、０００１、１ＣＦＥ、１ＣＦＦ番地に書き込まれる。以下同様にして、デジタルデータ入力端子２６〜２９から入力された画像データが、ルックアップテーブルから読み出された２ポートＲＡＭ１のメモリアドレスに書き込まれる。
【００３９】
また、図８において、カウンタ６−５が１の時には、ルックアップテーブルのＢ領域、Ｄ領域、Ｆ領域、Ｈ領域のデータが図１のラッチ回路２２〜２５に出力される。例えば、図８のアドレスカウンタ１３が０の時には、ルックアップテーブルからラッチ回路２２〜２５に対して、図１０（ａ）に示すように、それぞれ、７４０、７４１、１５ＢＥ、１５ＢＦのデータが出力される。なお、７４０、７４１、１５ＢＥ、１５ＢＦは１６進数表示であり、１０進数表示では、それぞれ１８５６、１８５７、５５６６、５５６７である。そして、前述したようにデジタルデータ入力端子より入力された画像データが、ルックアップテーブルで指定されたメモリアドレスに書き込まれる。
【００４０】
（２）２ｃｈモード（画像データ入力が２チャネル）の場合
次に、画像読込端子が２ｃｈの場合のルックアップテーブルの動作について説明する。この場合の画像読込端子は、図１におけるデジタルデータ入力端子２６、２８である。基本的な動作に関しては、前述した４ｃｈモードの場合の動作と同じである。具体的には、図９（ｂ）の２ｃｈモードの表のように、カウンタ６−５のカウンタ値に応じて、制御回路６−２が制御端子Ｈ０１〜０８、Ｖ０１〜Ｖ０７の信号を切り替えることで、２ｃｈで入力されるデータの制御を実現できる。
【００４１】
画像読出しデータのワード数をトータル７４１６ワードとした場合、読み出すルックアップテーブルのエンドアドレスを示す比較値αを９２７（１６進数表示では、３９Ｆ）として、ＣＰＵはバス６−３７を通じてモード選択回路６−１に設定する。同時に、ＣＰＵは、βの値、即ち２ｃｈモードの場合のカウンタ６−５の最大値４をモード選択回路６−１に設定する。ＷＥＢ端子３０の信号はＨであるため、カウンタ６―５には０が設定され、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｂ）のカウンタ値に対応した値を送出する。これにより、制御端子Ｈ０１、０５の信号のみがＨであるため、３ステートバッファ６−９、６−１３のみがオン状態となる。その結果、Ａ領域、Ｅ領域のデータが、３ステートバッファ６−９、６−１３を通じて、図１のラッチ回路２２、２４に出力される。そして、ＷＥＢ端子３０の信号がＨからＬになると、アドレスカウンタ１３のカウント値が更新され、Ａ領域、Ｅ領域のルックアップテーブルのデータが図１のラッチ回路２２、２４に順次出力される。アドレスカウンタ１３のカウント値が比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は１となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｂ）のカウンタ値が１に対応した制御信号を送出する。
【００４２】
今度は、制御端子Ｈ０２、０６がＨとなるため、３ステートバッファ６−１０、６−１４がオン状態となり、制御端子Ｖ０１、０５がＨとなるため、３ステートバッファ６−１７、６−２１がオン状態となる。その結果、Ｂ領域、Ｆ領域のルックアップテーブルのデータが、それぞれ出力端子６−２４、６−２８を通じて、図１のラッチ回路２２、２４に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は２となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｂ）のカウンタ値が２に対応した制御信号を送出する。
【００４３】
そして、制御端子Ｈ０３、０７がＨとなるため、３ステートバッファ６−１１、６−１５がオン状態となり、制御端子Ｖ０１、０２、０５、０６がＨとなるため、３ステートバッファ６−１７、６−１８、６−２１、６−２２がオン状態となる。その結果、Ｃ領域、Ｇ領域のルックアップテーブルのデータが、それぞれ出力端子６−２４、６−２８を通じて、図１のラッチ回路２２、２４に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は３となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｂ）のカウンタ値が３に対応した制御信号を送出する。
【００４４】
今度は、制御端子Ｈ０４、０８がＨとなるため、３ステートバッファ６−１２、６−１６がオン状態となり、制御端子Ｖ０１〜０３、０５〜０７がＨとなるため、３ステートバッファ６−１７〜６−１９、６−２１〜６−２３がオン状態となる。その結果、Ｄ領域、Ｈ領域のルックアップテーブルのデータが、それぞれ出力端子６−２４、６−２８を通じて、図１のラッチ回路２２、２４に出力される。アドレスカウンタ１３が更新され、比較値αと一致するとカウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は４となる。カウンタ６−５のカウンタ値とバッファ６−３に設定された比較値βとが一致するので、ＷＥＢ端子３０にはＨ信号が印加され、２ポートＲＡＭ１への書込は終了し、カウンタ６−５はリセットされる。図１０（ｂ）に画像入力端子が２ｃｈの場合のルックアップテーブルの例を示す。図中のメモリアドレスは図１０（ａ）と異なるが、表の見方については前述した図１０（ａ）の場合と同じなので詳細な説明は省略する。
【００４５】
（３）１ｃｈモード（画像データ入力が１チャネル）の場合
最後に、画像読込端子が１ｃｈの場合のルックアップテーブルの動作について説明する。この場合の画像読込端子は、図１におけるデジタルデータ入力端子２６である。基本的な動作に関しては、前述した４ｃｈモード、２ｃｈモードの場合の動作と同じである。具体的には、図９（ｃ）の１ｃｈモードの表のように、カウンタ６−５のカウンタ値に応じて制御端子Ｈ０１〜０８、Ｖ０１〜Ｖ０７の信号を切り替えることで、１ｃｈで入力される画像データの制御を実現することが可能となる。
【００４６】
画像読出しデータのワード数をトータル７４１６ワードとした場合、読み出すルックアップテーブルのエンドアドレスを示す比較値αを９２７（１６進数表示では、３９Ｆ）として、ＣＰＵはバス６−３７を通じてモード選択回路６−１に設定する。同時に、ＣＰＵは、βの値、即ち１ｃｈモードの場合のカウンタ６−５の最大値８をモード選択回路６−１に設定する。ＷＥＢ端子３０の信号はＨであるため、カウンタ６―５には０が設定され、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値に対応した値を送出する。これにより、制御端子Ｈ０１の信号のみがＨであるため、３ステートバッファ６−９のみがオン状態となる。ＷＥＢ端子３０の信号はＨであるため、アドレスカウンタ１３のカウンタ値は０であり、Ａ領域のアドレス０のデータが、３ステートバッファ６−９を通じて、図１のラッチ回路２２に出力される。そして、ＷＥＢ端子３０の信号がＨからＬになると、クロック入力６−３６によりアドレスカウンタ１３のカウント値が更新され、アドレスカウンタ１３のカウンタ値の示すＡ領域のルックアップテーブルのデータが、図１のラッチ回路２２に順次出力される。アドレスカウンタ１３のカウント値が比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は１となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が１に対応した制御信号を送出する。
【００４７】
今度は、制御端子Ｈ０２の信号のみがＨであるため、３ステートバッファ６−１０のみがオン状態となり、また、制御端子Ｖ０１のみがＨとなるため、３ステートバッファ６−１７がオン状態となる。これにより、Ｂ領域のメモリのデータが、出力端子６−２４を通して図１のラッチ回路２２に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は２となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が２に対応した制御信号を送出する。その結果、制御端子Ｈ０３の信号のみがＨであるため、３ステートバッファ６−１１のみがオン状態となり、また、制御端子Ｖ０１、Ｖ０２がＨとなるため、３ステートバッファ６−１７、６−１８がオン状態となる。これにより、Ｃ領域のメモリのデータが、出力端子６−２４を通して図１のラッチ回路２２に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は３となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が３に対応した制御信号を送出する。これにより、制御端子Ｈ０４の信号のみがＨであるため、３ステートバッファ６−１２のみがオン状態となり、また、制御端子Ｖ０１〜Ｖ０３がＨとなるため、３ステートバッファ６−１７〜６−１９がオン状態となる。これにより、Ｄ領域のメモリのデータが、出力端子６−２４を通して図１のラッチ回路２２に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は４となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が４に対応した制御信号を送出する。
【００４８】
今度は、制御端子Ｈ０５の信号のみがＨであるため、３ステートバッファ６−１３のみがオン状態となる。また、制御端子Ｖ０１〜Ｖ０４がＨとなるため、３ステートバッファ６−１７〜６−２０がオン状態となる。これにより、Ｅ領域のメモリのデータが、出力端子６−２４を通して図１のラッチ回路２２に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は５となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が５に対応した制御信号を送出する。その結果、制御端子Ｈ０６の信号のみがＨであるため、３ステートバッファ６−１４のみがオン状態となる。また、制御端子Ｖ０１〜Ｖ０５がＨとなるため、３ステートバッファ６−１７〜６−２１がオン状態となる。これにより、Ｆ領域のメモリのデータが、出力端子６−２４を通して図１のラッチ回路２２に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は６となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が６に対応した制御信号を送出する。これにより、制御端子Ｈ０７の信号のみがＨであるため、３ステートバッファ６−１５のみがオン状態となる。また、制御端子Ｖ０１〜Ｖ０６がＨとなるため、３ステートバッファ６−１７〜６−２２がオン状態となる。これにより、Ｇ領域のメモリのデータが、出力端子６−２４を通してラッチ回路２２に出力される。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は７となる。そして、制御回路６−２は制御端子Ｈ０１〜Ｈ０８、及びＶ０１〜Ｖ０７に対し、図９（ｃ）のカウンタ値が７に対応した制御信号を送出する。
【００４９】
今度は、制御端子Ｈ０８の信号のみがＨであるため、３ステートバッファ６−１６のみがオン状態となる。また、制御端子Ｖ０１〜Ｖ０７がＨとなるため、３ステートバッファ６−１７〜６−２３がオン状態となる。アドレスカウンタ１３が更新され、比較値αと一致すると、カウンタ１３はリセットされ、カウンタ６−５が１カウントアップされ、その値は８となる。カウンタ６−５のカウンタ値とバッファ６−３に設定された比較値βとが一致するので、ＷＥＢ端子３０にはＨ信号が印加され、２ポートＲＡＭ１への書込は終了し、カウンタ６−５はリセットされる。図１０（ｃ）に、画像入力端子が１ｃｈの場合のルックアップテーブルの例を示す。図中のメモリアドレスは図１０（ａ）、（ｂ）と異なるが、表の見方については、前述した図１０（ａ）と同じなので、詳細な説明は省略する。
【００５０】
以上説明したように、本実施例によれば、画像入力チャネル数が変わっても、メモリ容量が必要最小限で、読み出すワード数の変化にも対応可能なルックアップテーブルにより、ラインセンサーから出力された画像データの並べ替えを自在に行うことができる。なお、バッファ６−６に設定されるパラメータαは、読み取りデバイスの有効画素数と、ルックアップテーブルの構成から決まるパラメータであり、この値により読出画素数を調整でき、外部ＣＰＵより適宜、変更することが可能なパラメータである。また、バッファ６−３に設定されるパラメータβに関しては、ＣＰＵが計算してＡＳＩＣ外部から与えることも可能であり、信号線６−４０を通じて制御回路６−２に設定されるモード設定情報によって計算することも可能である。また、この値を基準として、ＷＥＢ端子３０をＬからＨに立ち上げる情報は不図示であるが、制御回路６−２内で生成し、ＷＥＢ端子３０を制御することも可能である。
【００５１】
（４）本実施例の中・高速複写機への適用例について
図１１に、本実施例を適用した複写機のブロック図を示す。これは、白黒複写機のうち、中速複写機と高速複写機でリーダを共通設計した場合の適用例を示したものである。一般的に、中、高速機の生産台数は、低コストの低速複写機に比べて少ないため、共通設計をしないと開発工数が増大してしまう。そのため、図１１（ａ）、（ｂ）に示すように、画像処理ボード１３−３を共通に使うことにより、設計の共通化を図り、設計工数を削減することが重要となる。
【００５２】
図１１（ａ）は中速機用リーダの例を示したものである。低コストの白黒用ＣＣＤ１３−１を用いて画像を読み取り、その画像データはＣＣＤにより偶数画素列と奇数画素列に２分割されて出力され、２つのバスを介してアナログプロセッサ１３−２に送信される。そして、アナログプロセッサはその画像データ信号をＡＤ変換し、変換後のデジタルデータを本発明の回路を具備したＡＳＩＣ１３−４に送信し、ＡＳＩＣでは、受信した画像データを並び替え、後段の画像処理回路で共通データ処理を行う構成となっている。この場合、一部不図示であるが、白黒用ＣＣＤ１３−１、アナログプロセッサ１３−２のクロック、及びＡＳＩＣ１３−４のＣＬＫ信号には、発信器１３−５の２０ＭＨｚのクロックが供給されるように構成されている。更にＡＳＩＣ１３−４のＲＣＬＫ端子には発信器１３−６のデータ読出用発信器が接続され、そのクロック（４０ＭＨｚ）で並び替えられたデータが読み出され、後段の画像処理回路でも同一クロックレートで画像処理されるように構成されている。図１１（ｃ）は、中速機用リーダにおけるＣＣＤの読み取り画像位置と出力画像の順番を示したものである。ここでは、ＣＣＤにより読み出される１ライン分の画像データは、０番目〜７４９９番目の７５００画素から構成され、奇数画素列、偶数画素列の２チャネルに分割されている。図１１（ｃ）の各欄の数字は画像位置を示し、左端から順に、画像データが偶数画素、奇数画素の２チャネル同時にＣＣＤより出力される。
【００５３】
次に、高速機用リーダの例を図１１（ｂ）に示す。まず、高コストだが高速読出が可能な白黒用ＣＣＤ１３−１１を用いて、画像が読み取られる。その画像データは、ＣＣＤにより偶数画素列と奇数画素列に２分割、更にそれぞれの画素列を前半部、後半部に２分割、計４分割されてアナログプロセッサ１３−２に送信される。そして、アナログプロセッサは、その画像データ信号をＡＤ変換し、変換後のデジタルデータを本発明の回路を具備したＡＳＩＣ１３−４に送信し、ＡＳＩＣでは、受信した画像データを並び替え、後段の画像処理回路で共通データ処理を行う構成となっている。この場合、一部不図示であるが、白黒用ＣＣＤ１３−１１、アナログプロセッサ１３−１２のクロック、及びＡＳＩＣ１３−４のＣＬＫ信号には、発信器１３−５の２０ＭＨｚのクロックが供給されるように構成されている。更に、ＡＳＩＣ１３−４のＲＣＬＫ端子には発信器１３−１６のデータ読出用発信器が接続され、そのクロック（８０ＭＨｚ）で並び替えられたデータが読み出され、後段の画像処理回路でも同一クロックレートで画像処理が行われる。図１１（ｄ）は、高速機用リーダにおけるＣＣＤの読み取り画像位置と出力画像の順番を示したものである。ここでは、ＣＣＤにより読み出される１ライン分の画像データは、０番目〜７４９９番目の７５００画素から構成され、奇数画素列、偶数画素列の２チャネルに加え、更に前半部、後半部に２分割されている。図１１（ｃ）において、上側の偶数、奇数画素列は前半部を、下側の偶数、奇数画素列は後半部を示す。また、各欄の数字は画像位置を示し、前半部においては画像位置の番号が大きくなる順に、後半部については画像位置の番号が小さくなる順に、左端から４ライン同時にＣＣＤより画像データが出力される。
【００５４】
使用される機種により、画像処理ボード１３−３は、発信器１３−６（４０ＭＨｚ）、１３−１６（８０ＭＨｚ）のクロックを切り替え、不図示のＣＰＵは、ＡＳＩＣ内部で２ｃｈモードと４ｃｈモードの切り替えを行う。これにより、図１１（ａ）の中速機用リーダにおいても、図１１（ｂ）の高速機用リーダにおいても、画像処理ボード１３−３は共通モジュールとして利用することが可能となる。また、ＡＳＩＣ１３−４の中にＰＬＬを搭載し、発信器１３−５からの入力クロックを逓倍することにより、ＣＰＵからの指示でＡＳＩＣ１３−４内部でのクロック切り替えが可能となり、発信器１３−６と発信器１３−１６のクロック切り替えが不要となる。
【００５５】
ところで、ルックアップテーブルは、図１１（ａ）の中速機用リーダの場合には、図１２（ａ）の２ｃｈ同時読出用のルックアップテーブルを用い、図１１（ｂ）の高速機用リーダの場合では、図１２（ｂ）の４ｃｈ同時読出用ルックアップテーブルを用いる。図１２のルックアップテーブルは、２ｃｈの場合には２つの領域、４ｃｈの場合には４つの領域だけを使用するように特化させたものであり、図１０に示したＡ領域〜Ｈ領域の８つの領域を使用するルックアップテーブルとは異なる。そして、このように特化したルックアップテーブルの制御についても、パラメータα、βを変更することによりルックアップテーブルの動作条件を示した図９の表の制御値を使用して対応可能である。例えば、中速機の場合を考えてみると、図１２（ａ）の２ｃｈの場合のルックアップテーブルのＭＳＢ側１３ビット、ＬＳＢ側１３ビットの各列は、図１０（ｂ）のルックアップテーブルのＡ領域、Ｅ領域に対応する。そして、パラメータαにはＥＡ５（１０進数表示では、３７４９）、パラメータβには１を設定することで、図９（ｂ）に示す２ｃｈモードのカウンタ値が０の場合の制御値を使用して、中速機用リーダの制御を行うことができる。同様に、高速機の場合を考えてみると、図１２（ｂ）の４ｃｈの場合のルックアップテーブルのＭＳＢ側１３ビット〜ＬＳＢ側１３ビットは、図１０（ａ）のルックアップテーブルのＡ領域、Ｃ領域、Ｅ領域、Ｇ領域に対応する。そして、パラメータαには７５２（１０進数表示では、１８７４）、パラメータβには１を設定することで、図９（ａ）に示す４ｃｈモードのカウンタ値が０の場合の制御値を使用して、高速機用リーダの制御を行うことができる。
【００５６】
次に、図１１（ａ）の中速機におけるＣＣＤからの画像データの並び替え動作について、図１、図１１（ｃ）、図１２（ａ）を使って説明する。ＣＣＤからの画像データは、図１１（ｃ）に示すように７５００画素から構成され、偶数画素列、奇数画素列の２チャネルに分割され、それぞれ図１のデジタルデータ入力端子２６、２８より入力される。そして、図１２（ａ）のルックアップテーブルから読み出されたメモリアドレスに従い、図１１（ｃ）の偶数画素列のデータは、図１の２ポートＲＡＭ１のメモリアドレス０、２、・・・、１Ｄ４Ａ（１０進数表示では、７４９８）に書き込まれる。同様にして、図１１（ｃ）の奇数画素列のデータは、図１の２ポートＲＡＭ１のメモリアドレス１、３、・・・、１Ｄ４Ｂ（１０進数表示では、７４９９）に書き込まれる。そして、ＣＣＤからの７５００画素分の画像データの読込が終了すると、図１の２ポートＲＡＭ１からの画像データの読出しがメモリアドレス０からアドレス順に行われる。これにより、２チャネルに分割入力された画像データの並び替えが行われる。
【００５７】
続いて、図１１（ｂ）の高速機におけるＣＣＤからの画像データの並び替え動作について、図１、図１１（ｄ）、図１２（ｂ）を使って説明する。ＣＣＤからの画像データは、図１１（ｄ）に示すように７５００画素から構成され、前半部の偶数画素列、奇数画素列、及び後半部の偶数画素列、奇数画素列の計４チャネルに分割され、各々図１のデジタルデータ入力端子２６、２７、２８、２９より入力される。そして、図１２（ｂ）のルックアップテーブルから読み出されたメモリアドレスに従い、図１１（ｄ）の前半部の偶数画素列のデータは、図１の２ポートＲＡＭ１のメモリアドレス０、２、・・・、ＥＡ４（１０進数表示では、３７４８）に書き込まれる。同様にして、図１１（ｄ）の前半部の奇数画素列のデータは、図１の２ポートＲＡＭ１のメモリアドレス１、３、・・・、ＥＡ５（１０進数表示では、３７４９）に書き込まれる。一方、図１１（ｄ）の後半部の偶数画素列のデータは、図１２（ｂ）のルックアップテーブルから読み出されたメモリアドレスに従い、図１の２ポートＲＡＭ１のメモリアドレス１Ｄ４Ａ、１Ｄ４８、・・・、ＥＡ６に書き込まれる。なお、１６進数表示の１Ｄ４Ａ、１Ｄ４８、ＥＡ６は、１０進数表示では７４９８、７４９６、３７５０である。同様にして、図１１（ｄ）の後半部の奇数画素列のデータは、図１の２ポートＲＡＭ１のメモリアドレス１Ｄ４Ｂ、１Ｄ４９、・・・、ＥＡ７に書き込まれる。なお、１６進数表示の１Ｄ４Ｂ、１Ｄ４９、ＥＡ７は、１０進数表示では７４９９、７４９７、３７５１である。そして、ＣＣＤからの７５００画素分の画像データの読込が終了すると、図１の２ポートＲＡＭ１からの画像データの読出がメモリアドレス０からアドレス順に行われる。これにより、４チャネルに分割入力された画像データの並び替えが行われる。
【００５８】
以上説明したように、本実施例によれば、本実施例での回路構成によって、中、高速複写機のリーダにおいて、画像読み取りデバイスとアナログプロセッサを交換するだけの対応で、画像処理ボード１３−３を共通に使用することができる。その結果、設計の共通化、標準化が実現でき、トータルとしてのコストダウンも可能となる。
【実施例５】
【００５９】
図１３は、本実施例の回路ブロック図であり、実施例４の図８とほぼ同様なルックアップテーブルの一例を示すものである。図８との相違点は、ルックアップテーブルを構成しているメモリのＡ〜Ｈ領域の各領域のデータが１３ビットから１５ビットに拡張されていることである。そして、この追加された２ビットは、それぞれのＡ〜Ｈ領域のデータのＭＳＢ側に付加されており、その２ビットの値により、データを格納するべきＲＡＭを指定する点が実施例４の図８と異なる。
【００６０】
本実施例のルックアップテーブルを用いて動作する回路ブロック図を図１４に示す。実施例３の図７に示す回路に対して、回路１１−１〜１１−５が追加され、更に、ゲート回路３６、３７が変更されて、３つの異なった２ポートＲＡＭにデータを書き込めるように変更されている。まず、回路の接続関係について、図１４を用いて説明する。追加された２ポートＲＡＭ１１−１の書込用クロック入力端子は、ＰＬＬ制御回路２１のＶＣＯ出力端子に接続されている。２ポートＲＡＭ１１−１の読出アドレス入力端子はアドレスカウンタ１１−３のカウント出力端子に接続され、アドレスカウンタ１１−３のクロック入力端子と２ポートＲＡＭ１１−１の読出用クロック入力端子はＲＣＬＫ入力端子１９に接続されている。また、読出イネーブル３入力端子１１−４がアドレスカウンタ１１−３のカウントイネーブル入力端子と、２ポートＲＡＭ１１−１のＲＥＢ端子に接続されている。ゲート回路１１−２の入力端子には、ＷＥＢ端子３０と、バスライン３のルックアップテーブル８〜１１から読み出されたデータのＭＳＢ側上位２ビットと接続されている。更に、ゲート回路１１−２の出力端子は、２ポートＲＡＭ１１−１のＷＥＢ入力端子に接続されている。また、２ポートＲＡＭ１１−１の読出データ出力は、読出データ３（ｒｅａｄ＿ＤＡＴＡ３）出力端子１１−５に接続されている。ゲート回路３６、３７は、実施例３の図７に示すバスライン３のＭＳＢ側上位１ビットの接続から、ＭＳＢ側上位２ビットの接続に変更され、かつゲート回路の論理機能も変更されている。
【００６１】
本実施例の場合、バスライン３のＭＳＢ側上位２ビットが００の場合、ＷＥＢ端子３０がＬであればゲート回路３７はオン状態となり（ゲート回路３７の出力がＨからＬとなり）、２ポートＲＡＭ１にデータを書き込むことができるように構成されている。また、バスライン３のＭＳＢ側上位２ビットが０１の場合、ＷＥＢ端子３０がＬであればゲート回路３６はオン状態となり（ゲート回路３６の出力がＨからＬとなり）、２ポートＲＡＭ３２にデータを書き込むことができるように構成されている。同様に、バスライン３のＭＳＢ側上位２ビットが１０の場合には、ＷＥＢ端子３０がＬであればゲート回路１１−２はオン状態となり（ゲート回路１１−２の出力がＨからＬとなり）、２ポートＲＡＭ１１−１にデータを書き込むことができるように構成されている。
【００６２】
本実施例では、実施例３に比べ、書込可能なＲＡＭが１個増えただけであり、具体的な回路動作は実施例３と同様なので、上記以外の動作に関しては説明を省略する。図１３に示すルックアップテーブルを用いて、ＭＳＢ側２ビットでデータを書き込むＲＡＭを３つに分けることができる。これにより、ＣＩＳによる読出データのように、Ｒ、Ｇ、Ｂの画像データが同じ読出信号線を使用して入力される場合、Ｒ、Ｇ、Ｂ画像データを３つのＲＡＭに分類して書き込むことにより、色別に情報を分類しながら、データを並び替えることが可能となる。
【００６３】
図１５に、この場合のルックアップテーブルのデータ例を示す。例えば、ルックアップテーブルのアドレスが０のデータ（Ａ領域）は、最上位２ビットが０のため、２ポートＲＡＭ１のアドレス０にデータが書き込まれる。アドレス１のデータは最上位２ビットのデータが１（１４ビット目が１）なので、２ポートＲＡＭ３２のアドレス０に、アドレス２のデータは最上位２ビットのデータが２（１５ビット目が１）のため、２ポートＲＡＭ１１−１のアドレス０にデータが書き込まれる。以降のアドレスのデータも同様に最上位２ビットに値付けをしてある。その結果、Ｒ、Ｇ、Ｂの順に入ってくるデータを、Ｒのデータは２ポートＲＡＭ１に、Ｇのデータは２ポートＲＡＭ３２に、Ｂのデータは２ポートＲＡＭ１１−２に並び替えを行って書き込むことができ、色別に分離しながら、画像データの並び替えができる。なお、図１５のデータ例は、全データが１チャネルで入力される場合のデータであるため、図１０（ｃ）に示すデータに置き換えて用いることができる。ただし、この場合には、カウンタ６―５のカウンタ値が４になった時点で、ＷＥＢ端子３０をＬからＨにする制御を実施すればよい。また、データの読出制御については実施例３の２ポートＲＡＭ１、３２のデータ読出と同様に、読み出したいタイミングで読出イネーブル３信号１１−４をＬからＨにすることで、２ポートＲＡＭ１１−１のアドレス０から画像データの順次読出が可能である。
【００６４】
以上説明したように、本実施例によれば、ルックアップテーブルに格納されたメモリアドレスデータに追加したＭＳＢビットにより、色別に画像データが入力されるＣＩＳのようなラインセンサーについても、色別に書き込むべきＲＡＭを選択することができる。その結果、色別に画像データを分類し、画像データの並べ替えを行うことができる。
【符号の説明】
【００６５】
１、１１−１、３２    ２ポートＲＡＭ（画像データ記憶手段に相当）
２、１１−３、３３    アドレスカウンタ
６−３２    メモリ
８、９、１０、１１    ルックアップテーブル（メモリアドレス指示手段に相当）
１３    カウンタ
２６、２７、２８、２９    デジタルデータ入力端子（画像データ入力端子に相当）
【図１】
0005553689.tif 000002
【図２】
0005553689.tif 000003
【図３】
0005553689.tif 000004
【図４】
0005553689.tif 000005
【図５】
0005553689.tif 000006
【図６】
0005553689.tif 000007
【図７】
0005553689.tif 000008
【図８】
0005553689.tif 000009
【図９】
0005553689.tif 000010
【図１０】
0005553689.tif 000011
【図１１】
0005553689.tif 000012
【図１２】
0005553689.tif 000013
【図１３】
0005553689.tif 000014
【図１４】
0005553689.tif 000015
【図１５】
0005553689.tif 000016