以下、図面に基づいて本発明の実施形態を詳細に説明する。図1は本発明の一実施形態に係る画像処理装置を備える画像形成装置1の内部構造の概略を示す図である。画像形成装置1は例えば、コピー、プリンタ、スキャナ及びファクシミリの機能を有するデジタル複合機に適用することができる。画像形成装置1は装置本体100、装置本体100の上に配置された原稿読取部200、原稿読取部200の上に配置された原稿給送部300及び装置本体100の上部前面に配置された操作部400を備える。
原稿給送部300は自動原稿送り装置として機能し、原稿載置部301に置かれた複数枚の原稿を連続的に原稿読取部200に送ることができる。
原稿読取部200は露光ランプ等を搭載したキャリッジ201、ガラス等の透明部材により構成された原稿台203、不図示のCCD(Charge Coupled Device)センサ及び原稿読取スリット205を備える。原稿台203に載置された原稿を読み取る場合、キャリッジ201を原稿台203の長手方向に移動させながらCCDセンサにより原稿を読み取る。これに対して、原稿給送部300から給送された原稿を読み取る場合、キャリッジ201を原稿読取スリット205と対向する位置に移動させて、原稿給送部300から送られてきた原稿を、原稿読取スリット205を通してCCDセンサにより読み取る。CCDセンサは読み取った原稿を画像データとして出力する。
装置本体100は用紙貯留部101、画像形成部103及び定着部105を備える。用紙貯留部101は装置本体100の最下部に配置されており、用紙の束を貯留することができる用紙トレイ107を備える。用紙トレイ107に貯留された用紙の束において、最上位の用紙がピックアップローラ109の駆動により、用紙搬送路111へ向けて送出される。用紙は用紙搬送路111を通って、画像形成部103へ搬送される。
画像形成部103は搬送されてきた用紙にトナー画像を形成する。画像形成部103は感光体ドラム113、露光部115、現像部117及び転写部119を備える。露光部115は画像データ(原稿読取部200から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等)に対応して変調された光を生成し、一様に帯電された感光体ドラム113の周面に照射する。これにより、感光体ドラム113の周面には画像データに対応する静電潜像が形成される。この状態で感光体ドラム113の周面に現像部117からトナーを供給することにより、周面には画像データに対応するトナー画像が形成される。このトナー画像は転写部119によって先ほど説明した用紙貯留部101から搬送されてきた用紙に転写される。
トナー画像が転写された用紙は定着部105に送られる。定着部105において、トナー画像と用紙に熱と圧力が加えられて、トナー画像は用紙に定着される。用紙はスタックトレイ121又は排紙トレイ123に排紙される。
操作部400は操作キー部401と表示部403を備える。表示部403はタッチパネル機能を有しており、ソフトキーを含む画面が表示される。ユーザは画面を見ながらソフトキーを操作することによって、コピー等の機能の実行に必要な設定等をする。
操作キー部401にはハードキーからなる操作キーが設けられている。具体的にはスタートキー405、テンキー407、ストップキー409、リセットキー411、コピー、プリンタ、スキャナ及びファクシミリを切り換えるための機能切換キー413等が設けられている。
スタートキー405はコピー、ファクシミリ送信等の動作を開始させるキーである。テンキー407はコピー部数、ファクシミリ番号等の数字を入力するキーである。ストップキー409はコピー動作等を途中で中止させるキーである。リセットキー411は設定された内容を初期設定状態に戻すキーである。
機能切換キー413はコピーキー及び送信キー等を備えており、コピー機能、送信機能等を相互に切り替えるキーである。コピーキーを操作すれば、コピーの初期画面が表示部403に表示される。送信キーを操作すれば、ファクシミリ送信及びメール送信の初期画面が表示部403に表示される。
図2は図1に示す画像形成装置1の構成を示すブロック図である。画像形成装置1は装置本体100、原稿読取部200、原稿給送部300、操作部400、制御部500及び通信部600がバスによって相互に接続された構成を有する。装置本体100、原稿読取部200、原稿給送部300及び操作部400に関しては既に説明したので、説明を省略する。
制御部500はCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及び画像メモリ等を備える。CPUは画像形成装置1を動作させるために必要な制御を、画像形成装置1を構成する上記ハードウェアに対して実行する。ROMは画像形成装置1の動作の制御に必要なソフトウェアを記憶している。RAMはソフトウェアの実行時に発生するデータの一時的な記憶及びアプリケーションソフトの記憶等に利用される。画像メモリは画像データ(原稿読取部200から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等)を一時的に記憶する。制御部500は画像処理装置501を備える。画像処理装置501については後で説明する。
通信部600はファクシミリ通信部601及びネットワークI/F部603を備える。ファクシミリ通信部601は相手先ファクシミリとの電話回線の接続を制御するNCU(Network Control Unit)及びファクシミリ通信用の信号を変復調する変復調回路を備える。ファクシミリ通信部601は電話回線605に接続される。
ネットワークI/F部603はLAN(Local Area Network)607に接続される。ネットワークI/F部603はLAN607に接続されたパソコン等の端末装置との間で通信を実行するための通信インターフェイス回路である。
図3は本実施形態に係る画像処理装置501の構成を示すブロック図である。画像処理装置501はASIC(Application Specific Integrated Circuit)であり、入力部11、出力部13、第1のラインメモリ15a、第2のラインメモリ15b、読出書込制御部17、書込アドレスカウンタ19、読出アドレスカウンタ21、内部クロック生成部23及び外部クロックカウンタ25を備える。
入力部11は画像処理装置501と外部との入力インターフェースである。入力部11には1ラインの画像データImD、主走査同期信号(Hsync)SG1、外部クロックCLK1、画像有効区間信号SG2がそれぞれ入力される。
図2に示す原稿読取部200のCCDで生成された1ページのアナログの画像データは、アナログフロントエンド33で各種処理がされて、デジタル形式の画像データとして、主走査同期信号SG1と共に入力部11に入力される。デジタル形式の1ページの画像データは、主走査同期信号SG1と同期して、1番目のラインの画像データ、2番目のラインの画像データ、3番目のラインの画像データ、・・・、最後のラインの画像データの順番で入力部11に入力される。各ラインの画像データが1ラインの画像データImDに相当する。よって1ページの画像データは複数の1ラインの画像データImDの集まりである。
1ラインは複数の画素で構成される。従って、1ラインの画像データImDは1画素のデータが複数個、つまり、1番目の画素のデータ、2番目の画素のデータ、3番目の画素のデータ、・・・、1ラインの最後の画素のデータが集まって構成される。
外部クロックCLK1は画像形成装置1で生成される。第1のラインメモリ15a、第2のラインメモリ15b及び書込アドレスカウンタ19では、1画素のデータが書き込まれる領域のアドレスを生成する命令とその生成されたアドレスが示す領域に書き込む命令が、外部クロックCLK1と同期して1周期で実行される。
画像有効区間信号SG2は主走査同期信号SG1と同期させて画像形成装置1で生成され、1本の主走査線のうち画像が有効となる区間を示す信号である。画像有効区間信号SG2がアサート状態(言い換えればアクティブ状態)での画像が有効であり、ネゲート状態(言い換えればインアクティブ状態)での画像が無効となる。画像有効区間信号SG2はMRE(Memory Read Enable)信号とも称される。
第1のラインメモリ15a及び第2のラインメモリ15bは、例えばSRAM(Static Random Access Memory)によって実現される。第1のラインメモリ15a及び第2のラインメモリ15bでは1ラインの画像データImDの読み出しと書き込みとがされる。第1のラインメモリ15aが読み出し可能であれば第2のラインメモリ15bが書き込み可能となり、逆に第1のラインメモリ15aが書き込み可能であれば第2のラインメモリ15bが読み出し可能となる。1ラインの画像データImDの読み出しと次の1ラインの画像データImDの書き込みは並行して実行される。第1のラインメモリ15aと第2のラインメモリ15bを区別する必要がなければラインメモリ15と記載する。
読出書込制御部17は主走査同期信号SG1が入力部11に入力される毎に、2つのラインメモリ15の中から読み出し可能なラインメモリ15と書き込み可能なラインメモリ15とを1ライン毎に切り換える。読出書込制御部17は読み出し可能なラインメモリ15に書き込まれている1ラインの画像データImDを読み出して、出力部13から外部に出力させる制御をする。読出書込制御部17は書き込み可能なラインメモリ15に対して、入力部11に入力された次の1ラインの画像データImDを書き込む制御をする。
読出書込制御部17は1画素のデータを書き込む命令を1周期で実行する外部クロックCLK1に従って、画像有効区間信号SG2がアサート状態中に、次の1ラインの画像データを書き込み可能なラインメモリ15に書き込む制御をする。
書込アドレスカウンタ19のクロック端子には入力部11に入力された外部クロックCLK1が入力される。書込アドレスカウンタ19はクロック端子に外部クロックCLK1が入力する毎に、カウントアップしてアドレスを生成する。このアドレスは書き込み可能なラインメモリ15において、1画素のデータが書き込まれる領域(言い換えればメモリセル)のアドレスとなる。
内部クロック生成部23は内部クロックCLK2を生成する。内部クロックCLK2は読み出し可能なラインメモリ15に書き込まれている1ラインの画像データImDを読み出す制御に利用される。
読出アドレスカウンタ21のクロック端子には内部クロックCLK2が入力される。読出アドレスカウンタ21はクロック端子に内部クロックCLK2が入力される毎に、カウントアップしてアドレスを生成する。このアドレスは読み出し可能なラインメモリ15において、読み出される1画素のデータが書き込まれている領域(言い換えればメモリセル)のアドレスとなる。
外部クロックカウンタ25は書き込み可能なラインメモリ15に1ラインの画像データImDが書き込まれている際に、外部クロックCLK1の数をカウントする。言い換えれば、画像有効区間信号SG2がアサート状態での外部クロックCLK1の数をカウントする。
次に、2つのラインメモリ15に対する書き込みと読み出しについて説明する。図4はそれを説明するタイムチャートである。各ラインの画像データが1ラインの画像データImDである。
1番目のラインの画像データに対応するLレベルの主走査同期信号SG1が入力部11に入力される(時刻t1)。読出書込制御部17は第1のラインメモリ15aを書き込み可能とし、一方、第2のラインメモリ15bから読み出しができないようにする。読み出しは1番目のラインの画像データから実行されるが、このデータは第1のラインメモリ15aに格納され、第2のラインメモリ15bに格納されないからである。
時刻t1後、入力部11にアサート状態(Hレベル状態)の画像有効区間信号SG2が入力される(時刻t2)。読出書込制御部17は1番目のラインの画像データを、第1のラインメモリ15aに書き込む制御をする。入力部11にネゲート状態(Lレベル状態)の画像有効区間信号SG2が入力されるまで、読出書込制御部17は第1のラインメモリ15aへの書き込み制御を継続する。
入力部11にネゲート状態の画像有効区間信号SG2が入力される(時刻t3)。読出書込制御部17は1番目のラインの画像データを第1のラインメモリ15aに書き込む制御を終了する。
2番目のラインの画像データに対応するLレベルの主走査同期信号SG1が入力部11に入力する(時刻t4)。読出書込制御部17は第1のラインメモリ15aを読み出し可能とし、第2のラインメモリ15bを書き込み可能とする。
時刻t4後、入力部11にアサート状態の画像有効区間信号SG2が入力される(時刻t5)。読出書込制御部17は1番目のラインの画像データを第1のラインメモリ15aから読み出す制御をし、かつ2番目のラインの画像データを第2のラインメモリ15bに書き込む制御をする。
入力部11にネゲート状態の画像有効区間信号SG2が入力されると(時刻t6)、読出書込制御部17は1番目のラインの画像データを第1のラインメモリ15aから読み出す制御、及び2番目のラインの画像データを第2のラインメモリ15bに書き込む制御を終了する。以降、最後のラインの画像データの読み出しが終了するまで、第1のラインメモリ15aでは3番目のラインの画像データの書き込み、3番目のラインの画像データの読み出し、5番目のラインの画像データの書き込み、・・・が実行され、第2のラインメモリ15bでは2番目のラインの画像データの読み出し、4番目のラインの画像データの書き込み、4番目のラインの画像データの読み出し、・・・が実行される。
次に、書き込み可能なラインメモリ15に1ラインの画像データImDを書き込む処理について詳細に説明する。図5はそれを説明するタイムチャートである。1ラインの画像データImDは1ラインを構成する複数の画素のデータの集まりである。外部クロックCLK1は周期Tのクロックであり、1画素のデータが書き込まれる領域のアドレスを生成する命令とその生成されたアドレスが示す領域に書き込む命令を周期Tで実行する。
書き込み可能なラインメモリ15に1ラインの画像データの書き込みが終了する毎に、読出書込制御部17は書込アドレスカウンタ19をリセットする。これにより書込アドレスカウンタ19からは「0」が出力されて、書き込み可能なラインメモリ15の中で0番地のアドレスAd0で示す領域が指定される。入力部11にアサート状態の画像有効区間信号SG2が入力すると(時刻t11)、書込アドレスカウンタ19はリセット状態の継続を終了する。
1番目の画素のデータD1の書き込み可能期間(周期T1)で外部クロックCLK1が立ち上がるタイミング(時刻t12)で、読出書込制御部17は1番目の画素のデータD1をアドレスAd0で示す領域に書き込む制御をする。
外部クロックCLK1が立ち下がるタイミング(時刻t13)で、書込アドレスカウンタ19はカウントアップし、書込アドレスカウンタ19からは「1」が出力される。これにより、書き込み可能なラインメモリ15の中で1番地のアドレスAd1が指定される。
2番目の画素のデータD2の書き込み可能期間(周期T2)で外部クロックCLK1が立ち上がるタイミング(時刻t14)で、読出書込制御部17は2番目の画素のデータD2をアドレスAd1で示す領域に書き込む制御をする。以降は同様にして、1画素のデータが書き込まれる領域のアドレスの生成とその生成されたアドレスが示す領域に書き込む処理を繰り返すことにより、3番目の画素のデータD3、・・・、1ラインの最後の画素のデータを書き込む処理がされる。
外部クロックCLK1は画像処理装置501の外部から画像処理装置501へ入力されるので、ノイズが加わりやすい。外部クロックCLK1にノイズが加わることで、書き込み可能なラインメモリ15に書き込まれる1画素のデータの個数が増加し、その結果、1ラインを構成する複数の画素にずれが生じることを説明する。図6はそれを説明するタイムチャートであり、図5と対応している。
2番目の画素のデータD2を書き込む周期T2において、外部クロックCLK1にノイズが加わっているとする。このノイズによって図6では1番地のアドレスAd1、2番地のアドレスAd2、3番地のアドレスAd3で示す領域に2番目の画素のデータD2が書き込まれることになる。したがって、書き込み可能なラインメモリ15には、1番目の画素のデータD1と3番目の画素のデータD3との間に、2番目の画素のデータD2が3つ存在することになる。このラインメモリ15に書き込まれている1ラインの画像データImDを読み出すと、1番目の画素のデータD1、2番目の画素のデータD2、2番目の画素のデータD2、2番目の画素のデータD2、3番目の画素のデータD3、・・・となるので、このラインでは画素にズレが生じる。
本実施形態は画素にズレが生じるラインについて、次のように処理している。図7は外部クロックCLK1にノイズが加わった状態において、2つのラインメモリ15に対する書き込みと読み出しを説明するタイムチャートであり、図4と対応する。3番目のラインの画像データを第1のラインメモリ15aに書き込む際に、外部クロックCLK1にノイズが加わっているとする。その場合、外部クロックカウンタ25でカウントされる数は、予め定められた値(1ラインを構成する複数の画素の数)と一致しない。
読出書込制御部17は次のラインの読み出しと書き込みとにおいて、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15とを切り換える制御をしない。したがって、読み出し可能なラインメモリ15は引き続き第2のラインメモリ15bであり、書き込み可能なラインメモリ15は引き続き第1のラインメモリ15aである。そして、読み出し可能なラインメモリ15(第2のラインメモリ15b)に書き込まれている2番目のラインの画像データを読み出す制御をする。また、書き込み可能なラインメモリ15(第1のラインメモリ15a)に4番目のラインの画像データを書き込む制御をする。以降は、読出書込制御部17は第1のラインメモリ15aと第2のラインメモリ15bとを切り替える制御をして、残りのラインの画像データの書き込みと読み出す制御をする。
このように本実施形態では外部クロックCLK1にノイズが加わることによって、書き込み可能なラインメモリ15に対する書き込みで画素にズレが生じた場合、ラインメモリ15の切り換えをしないで次の読み出しと書き込みとを実行している。従って、画素にズレが生じているラインの画像データが書き込まれているラインメモリ15に対しては、読み出しがされずに、次のラインの画像データが上書きされる。一方、読み出し可能なラインメモリ15からは前のラインの画像データをもう一度読み出す処理をしている。
次に、本実施形態に係る画像処理装置501の動作について主に図7〜図10を用いて説明する。図8〜図10はその動作を説明するフローチャートである。画像処理装置501は2つのラインメモリ15を用いて1ページの画像データを1ライン単位で書き込みと読み出しとを制御する。1ページの画像データは主走査同期信号SG1に従って、1番目のラインの画像データ、2番目のラインの画像データ、3番目のラインの画像データ、・・・、最後のラインの画像データの順番で入力部11に入力される。読出書込制御部17は1番目のラインの画像データを第1のラインメモリ15aに書き込む制御をする(ステップS1)。読出書込制御部17はラインメモリ15を切り換える制御をする(ステップS3)。ここでは第1のラインメモリ15aを読み出し可能とし、第2のラインメモリ15bを書き込み可能に制御する。
読出書込制御部17はnを2として(ステップS5)、n番目のラインの画像データの書き込みとn−1番目のラインの画像データの読み出しの制御をする(ステップS7)。ここでは2番目のラインの画像データの書き込みと1番目のラインの画像データの読み出しの制御をする。
読出書込制御部17は今回のページの画像データにおいて、前のラインの画像データをもう一度読み出す処理が既に実行されているか判断する(ステップS9)。既に実行されているか否かは例えばフラグを用いて判断する。例えば、既に実行されていればフラグは「1」であり、実行されていなければフラグは「0」である。本実施形態では1ページの画像データをライン単位で書き込みと読み出しとをする制御において、前のラインの画像データをもう一度読み出す処理を1回だけ認めている。この回数は画像に違和感が生じる程度を考慮して決定し、1回以上でもよい。
読出書込制御部17は前のラインの画像データをもう一度読み出す処理が実行されていないと判断すれば(ステップS9でNo)、n番目のライン(ここでは2番目のライン)の画像データの書き込みにおいて、画像有効区間信号SG2がアサート状態中の外部クロックCLK1の数を、外部クロックカウンタ25にカウントさせる(ステップS11)。
読出書込制御部17は書き込み可能なラインメモリ15に書き込みがされているそのラインの画像データが最後のラインの画像データか否か判断する(ステップS13)。ここでは2番目のラインの画像データの書き込みなので(ステップS13でNo)、読出書込制御部17は外部クロックカウンタ25で計測されたカウント数が予め定められた値と一致するか否か判断する(ステップS15)。
例えば、1ラインの画素数を8000に設定しているとする。カウント数が8000より大きければ、図6で説明したように外部クロックCLK1にノイズが加わっていることになる。カウント数が8000より小さくなる場合もある。この場合も画素のズレが生じる可能性がある。
読出書込制御部17が、カウント数が予め定められた値と一致すると判断した場合(ステップS15でYes)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS17)。そして、読出書込制御部17はn+1をnとして(ステップS19)、ステップS7に戻る。ここでは3番目のラインの画像データの書き込みと2番目のラインの画像データの読み出しを制御する。
図7で説明したように書き込み可能なラインメモリ15に3番目のラインの画像データを書き込む場合に、外部クロックCLK1にノイズが加わっている。読出書込制御部17はカウント数が予め定められた値と一致しないと判断する(ステップS15でNo)。読出書込制御部17は次の読み出しと書き込みとにおいて、書き込み可能なラインメモリ15と読み出し可能なラインメモリ15を切り換えない制御をする(ステップS21)。読出書込制御部17はn+1をnとして(ステップS23)、書き込み可能なラインメモリ15にn番目のラインの画像データを書き込む制御、及び、n−2番目のラインの画像データを読み出す制御をする(ステップS25)。ここでは4番目のラインの画像データを第1のラインメモリ15aに書き込む制御、及び2番目のラインの画像データをもう一度、第2のラインメモリ15bから読み出す制御をする。つまり、3番目のラインの画像データが書き込まれている第1のラインメモリ15aに4番目のラインの画像データを上書きする制御、及び、2番目のラインの画像データが書き込まれている第2のラインメモリ15bから2番目のラインの画像データをもう一度読み出す制御をする。
読出書込制御部17は前のラインをもう一度読み出す処理(ステップS9)がされたことを示すフラグを立てる処理をする。具体的には、読出書込制御部17の所定の記憶領域に「1」を記憶させればフラグを立てる処理であり、「0」を記憶させればフラグを下ろす処理である。
読出書込制御部17は読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS27)。そして読出書込制御部17はn+1をnとして(ステップS29)、ステップS7へ戻る。ここでは5番目のラインの画像データを第2のラインメモリ15bに書き込む制御、及び4番目のラインの画像データを第1のラインメモリ15aから読み出す制御をする。
ステップS9において、読出書込制御部17が前のラインの画像データをもう一度読み出す処理が既に実行されていると判断すれば(ステップS9でYes)、読出書込制御部17は書き込み可能なラインメモリ15に書き込みがされているそのラインの画像データが最後のラインの画像データか否か判断する(ステップS31)。読出書込制御部17がそのラインの画像データが最後のラインの画像データでないと判断すれば(ステップS31でNo)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS33)。そして、読出書込制御部17はn+1をnとして(ステップS35)、ステップS7へ戻る。
一方、読出書込制御部17は書き込み可能なラインメモリ15に書き込みがされているそのラインの画像データが最後のラインの画像データと判断すれば(ステップS31でYes)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS37)。そして、読出書込制御部17は読み出し可能なラインメモリ15から最後のラインの画像データを読み出す制御をする(ステップS39)。
ステップS13において、読出書込制御部17は書き込み可能なラインメモリ15に書き込みがされているそのラインの画像データが最後のラインの画像データであると判断すれば(ステップS13でYes)、読出書込制御部17は外部クロックカウンタ25で計測されたカウント数が予め定められた値と一致するか否か判断する(ステップS41)。
読出書込制御部17が、カウント数が予め定められた値と一致すると判断した場合(ステップS41でYes)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS43)。そして、読出書込制御部17は最後のラインの画像データを読み出す制御をする(ステップS45)。
読出書込制御部17が、カウント数が予め定められた値と一致しないと判断した場合(ステップS41でNo)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換えない制御をする(ステップS47)。そして、読出書込制御部17は最後から2つ目のラインの画像データを読み出す制御をする(ステップS49)。
以上説明したステップによって画像処理装置501で処理された1ページの画像データを基にして、例えば画像形成部103は画像を用紙に形成して出力する。
本実施形態の主な効果を説明する。本実施形態によれば、書き込み可能なラインメモリ15に1ラインの画像データImDを書き込んだ時に、画像有効区間信号SG2がアサート状態でカウントされた外部クロックCLK1の数が予め定められた値と異なれば、外部クロックCLK1にノイズが加わることにより1ラインの画素数が増減し、その結果、そのラインで画素にズレが生じていると見なしている。その場合、ラインメモリ15を切り換えない制御をした後、次の読み出しと書き込みとを実行している。これにより、画素にズレが生じているラインについては、そのラインの画像データを読み出さずに、前のラインの画像データをもう一度読み出している。言い換えれば読み出し可能なラインメモリ15から続けて同じラインの画像データを読み出している。したがって、画素にズレが生じているラインの画像データは1ページの画像データから削除することができる。この結果、そのページから画素にズレが生じている1ラインを削除することができるので、そのページの画質の低下を防止することができる。また、画素にズレが生じているラインの画像データを削除し、前のラインの画像データをもう一度読み出すのでそのページのライン数は減らない。したがって、1ページのライン数が減ることが原因となる画質の低下を防止できる。
よって、本実施形態によれば、複数の画素で構成される1ラインの画像データを、外部クロックCLK1に従って1画素のデータ毎にラインメモリ15に書き込む場合に、外部クロックCLK1にノイズが加わっても、それによる影響を軽減することが可能となる。
また、本実施形態では画像処理装置501をASICとし、外部クロックCLK1を用いて1ラインを構成する複数の画素のデータをラインメモリ15に書き込んでいる。内部クロックCLK2に比べて外部クロックCLK1はノイズが加わりやすい。従って、書き込みに外部クロックを用いる画像処理装置に対して本実施形態は特に有効となる。
次に、本実施形態の変形例を説明する。図11は変形例において外部クロックCLK1にノイズが加わった状態で、2つのラインメモリ15に対する書き込みと読み出しとを説明するタイムチャートであり、図7と対応する。変形例において読出書込制御部17は主走査同期信号SG1と同期した主走査同期信号SG3を生成する。変形例では主走査同期信号SG1が1ラインの画像データImDの書き込みに用いられ、主走査同期信号SG3が1ラインの画像データImDの読み出しに用いられる。
図11では図7と同様に、3番目のラインの画像データを第1のラインメモリ15aに書き込む時に、外部クロックCLK1にノイズが加わっているとする。読出書込制御部17は読み出し可能なラインメモリ15と書き込み可能なラインメモリ15とを切り換える制御をした後、次の読み出しと書き込みとを実行する。主走査同期信号SG1に同期させて、書き込み可能なラインメモリ15(第2のラインメモリ15b)に4番目のラインの画像データを書き込む制御をする。また、主走査同期信号SG3をマスクすることによって、読み出し可能なラインメモリ15(第1のラインメモリ15a)に書き込まれている3番目のラインの画像データの読み出しができない制御をする。以降は、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15とを切り替える制御をして、残りのラインの画像データの読み出しと書き込みとを制御する。
このように変形例ではラインメモリ15に対する書き込みで画素にズレが生じた場合、次の読み出しと書き込みとにおいて、読み出し可能なラインメモリ15から読み出しができないようにし、書き込み可能なラインメモリ15に次のラインの画像データを書き込んでいる。
図12は主走査同期信号SG3を生成する生成回路35の一例を示す図である。生成回路35はアンド回路であり、画像処理装置501に備えられる。生成回路35の一方の入力はアクティブロウであり、主走査同期信号SG1が入力する。生成回路35の他方の入力はアクティブロウであり、主走査同期信号SG3のLレベルをマスクするマスク信号SG4が入力する。生成回路35の出力はアクティブロウであり、主走査同期信号SG3が出力する。
生成回路35の動作を説明する。図11に示すように読出書込制御部17は、外部クロックCLK1にノイズが加わることによって外部クロックカウンタ25で計測されたカウント数が予め定められた値と異なる場合、主走査同期信号SG1の次のLレベルの期間中にHレベルとなるマスク信号SG4を生成する。ここでは符号L1で示すLレベルの期間中にHレベルとなるマスク信号SG4が生成される。その結果、主走査同期信号SG3の次のLレベルはマスクされてHレベルとなるので、次の読み出しと書き込みとにおいて読み出しができないようにすることができる。以上の構成によれば、読み出し可能なラインメモリ15から1ラインの画像データの読み出すことができない制御を、比較的簡単な構成で実現することができる。
次に、変形例に係る画像処理装置501の動作について主に図11、図13及び図14を用いて説明する。図13及び図14はその動作を説明するフローチャートである。なお、図8〜図10のフローチャートと同じ処理については同じ符号を用いることによって説明を省略する。
図13に示すように、読出書込制御部17はステップS7とステップS11との間に、ステップS9の替わりに、ステップS51の処理をする。読出書込制御部17は今回のページの画像データにおいて、1ラインの画像データの読み出しができない処理が既に実行されたか否かを判断する。判断の方法はステップ9と同様にフラグを用いる。読出書込制御部17が、既に実行されたと判断した場合(ステップS51でYes)、読出書込制御部17は図9に示す処理を実行する。本実施形態では1ページの画像データをライン単位で書き込みと読み出しとをする制御において1ラインの画像データの読み出しができない処理を1回だけ認めている。この回数は画像に違和感が生じる程度を考慮して決定し、1回以上でもよい。
読出書込制御部17がステップS51でNoと判断した場合、ステップS11、ステップS13及びステップS15の処理がされ、ステップS15でNoと判断した場合、ステップS53の処理がされる。
ステップS53において読出書込制御部17は次の読み出しと書き込みとにおいて、書き込み可能なラインメモリ15と読み出し可能なラインメモリ15を切り換える制御をする。読出書込制御部17はn+1をnとして(ステップS55)、書き込み可能なラインメモリ15にn番目のラインの画像データを書き込む制御、及び、n−1番目のラインの画像データを読み出すことができない制御をする(ステップS57)。ここでは4番目のラインの画像データを第2のラインメモリ15bに書き込む制御、及び3番目のラインの画像データを第1のラインメモリ15aから読み出すことができない制御をする。
読出書込制御部17は読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS59)。そして読出書込制御部17はn+1をnとして(ステップS61)、ステップS7へ戻る。ここでは5番目のラインの画像データを第1のラインメモリ15aに書き込む制御、及び4番目のラインの画像データを第2のラインメモリ15bから読み出す制御をする。
読出書込制御部17がステップS13において、書き込み可能なラインメモリ15に書き込みがされているそのラインの画像データが最後のラインの画像データであると判断すれば(ステップS13でYes)、図14に示すようにステップS41の処理、すなわち読出書込制御部17は外部クロックカウンタ25で計測されたカウント数が予め定められた値と一致するか否か判断する。
読出書込制御部17が、カウント数が予め定められた値と一致すると判断した場合(ステップS41でYes)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS43)。そして、読出書込制御部17は最後のラインの画像データを読み出す制御をする(ステップS45)。
読出書込制御部17が、カウント数が予め定められた値と一致しないと判断した場合(ステップS41でNo)、読み出し可能なラインメモリ15と書き込み可能なラインメモリ15を切り換える制御をする(ステップS63)。そして、読出書込制御部17は最後のラインの画像データを読み出すことができない制御をする(ステップS65)。
上述したように本実施形態では書き込み可能なラインメモリ15に書き込み終了後に、外部クロックカウンタ25で計測された値が予め定められた複数の画素の数と異なれば、外部クロックCLK1にノイズが加わったと見なしている。そして読み出し可能なラインメモリ15と書き込み可能なラインメモリ15とを切り換えない制御をした後、次の読み出しと書き込みとを実行する。それによって、前のラインの画像データをもう一度、読み出す制御をしている。
これに対して、変形例では読み出し可能なラインメモリ15と書き込み可能なラインメモリ15とを切り換える制御をした後、次の読み出しと書き込みとを実行する。この読み出しと書き込みにおいて、読み出し可能なラインメモリ15から1ラインの画像データImDの読み出しができない制御、及び、書き込み可能なラインメモリ15に次の1ラインの画像データImDを書き込む制御をする。つまり、変形例では、ノイズが加わった外部クロックCLK1に従って書き込まれたラインの画像データが発生した場合、前のラインの画像データをもう一度、読み出すのではなく、ノイズが加わった外部クロックCLK1に従って書き込まれたラインの画像データの読み出しができない制御をする。
これにより、画素にズレが生じるラインについては、そのラインの画像データを読み出さずに、次のラインの画像データを読み出すことができる。したがって、画素にズレが生じている1ラインの画像データImDを1ページの画像データから削除することができる。この結果、そのページから画素にズレが生じている1ラインを削除することができるので、そのページの画質の低下を防止することができる。また、本実施形態のように前のラインの画像データをもう一度、読み出すことはしないので、同じラインが繰り返されることが原因となる画質の低下を防ぐことが可能となる。
よって、変形例によれば、複数の画素で構成される1ラインの画像データを、外部クロックCLK1に従って1画素のデータ毎にラインメモリ15に書き込む場合に、外部クロックCLK1にノイズが加わっても、それによる影響を軽減することが可能となる。
本実施形態及びその変形例では2つのラインメモリ15で説明したが、ラインメモリ15の数は3つ以上でもよい。例えば3つのラインメモリ15の場合、(1)第1のラインメモリが読み出し可能で第2のラインメモリが書き込み可能であれば、(2)次の読み出しと書き込みにおいて、第2のラインメモリが読み出し可能で第3のラインメモリが書き込み可能であり、(3)その次の読み出しと書き込みにおいて、第3のラインメモリが読み出し可能で第1のラインメモリが書き込み可能となる。(1)から(3)を繰り返しながら、1ラインの画像データImDの読み出しと書き込みがされる。
また、外部クロックCLK1にノイズが加わることで、1ラインの画素数が増加する場合で説明したが、画像有効区間信号SG2にノイズが加わることで、1ラインの画素数が増加することがある。この場合でも本実施形態及びその変形例は有効である。