(57)【要約】【課題】画像処理装置において、フィルタ処理やスキュー補正等を高速で実行する。【解決手段】画像入力部１０からの入力画像データは読み出し用バンドバッファ４１に供給される。読み出し用バンドバッファ４１は第１バンド、第２バンド及び第３バンドの３つのバンドを有する。バンドバッファ４１の第１バンドに入力画像を書き込むとともに、残りの第２バンド及び第３バンドから既格納の画像データを読み出して画像を加工する局所データ変換部５１に供給する。第２バンドは書き込みに影響されず、第２バンドに格納されているオーバラップデータを読み出すことができる。【選択図】図１
2005250534.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を処理して出力する画像処理装置であって、
入力画像を格納するバンドバッファと、
前記バンドバッファへの画像データの書き込み及び読み出しを制御する制御部と、
前記バンドバッファから読み出された画像データを処理する処理部と、
前記処理部で処理された画像データを格納する出力バッファと、
前記出力バッファへの処理済み画像データの書き込み及び読み出しを制御する出力制御部と、
を備え、
前記バンドバッファは、第１バンド、第２バンド及び第３バンドの３つの領域を有し、  前記制御部は、前記第１バンド、第２バンドあるいは第３バンドのいずれか１つの領域に前記入力画像を書き込むとともに、残りの２つの領域から格納された画像データを読み出して前記処理部に供給する
ことを特徴とする画像処理装置。
【請求項２】
請求項１記載の装置において、
前記制御部は、前記第１のバンドに前記入力画像を書き込むとともに前記第２のバンドに格納された画像データの一部及び前記第３のバンドに格納された画像データを読み出すことを特徴とする画像処理装置。
【請求項３】
請求項２記載の装置において、
前記画像データの一部は、前記第２のバンドに格納された画像データを処理するために必要な画像データであるとともに、前記第３のバンドに格納された画像データを処理するために必要な画像データでもあるオーバラップデータである
ことを特徴とする画像処理装置。
【請求項４】
請求項１記載の装置において、
前記制御部は、ある制御タイミングで前記第１のバンドに前記入力画像を書き込むとともに前記第２のバンドに格納された画像データの一部及び前記第３のバンドに格納された画像データを読み出し、次の制御タイミングで前記第２のバンドに前記入力画像を書き込むとともに前記第３のバンドに格納された画像データの一部及び前記第１のバンドに格納された画像データを読み出し、さらに次の制御タイミングで前記第３のバンドに前記入力画像を書き込むとともに前記第１のバンドに格納された画像データの一部及び前記第２のバンドに格納された画像データを読み出して前記処理部に供給する
ことを特徴とする画像処理装置。
【請求項５】
請求項１〜４のいずれかに記載の装置において、
前記出力バッファは、第１バンド及び第２バンドの２つの領域
を有し、前記出力制御部は、前記処理部からの処理済み画像データを前記出力バッファの第１バンドに書き込むとともに前記出力バッファの第２バンドに格納された処理済み画像データを読み出して出力する
ことを特徴とする画像処理装置。
【請求項６】
請求項１〜４のいずれかに記載の装置において、
前記制御部は、前記入力画像の前記バンドバッファへの書き込みはラスタ順に行い、前記バンドバッファからの画像データの読み出しは複数画素の集合体で構成されるブロックを単位として行い、
前記処理部は、前記ブロックを単位として画像データを処理し、
前記出力制御部は、処理済み画像データの前記出力バッファへの書き込みはブロックを単位として実行し、前記出力バッファからの処理済み画像データの読み出しはラスタ順に行う
ことを特徴とする画像処理装置。
【請求項７】
請求項６記載の装置において、
前記バンドバッファからの読み出しのブロックサイズは、前記出力バッファへの書き込みのブロックサイズよりも大である
ことを特徴とする画像処理装置。
【請求項８】
入力画像を処理して出力する画像処理装置であって、
画像入力部と、
前記画像入力部からの入力画像を格納する、第１、第２及び第３のバンドの３つの領域を有するバンドバッファと、
前記バンドバッファへの画像データの書き込み及び読み出しを制御する制御部と、
前記バンドバッファから読み出された画像データを処理する処理部と、
前記処理部で処理された画像データを格納する、第１のバンド及び第２のバンドの２つの領域を有する出力バッファと、
前記出力バッファへの処理済み画像データの書き込み及び読み出しを制御する出力制御部と、
を備え、
ある制御タイミングにおいて、前記制御部は前記バンドバッファの前記第１のバンドに前記入力画像を書き込むとともに前記第２のバンドに格納された画像データの一部及び前記第３のバンドに格納された画像データを読み出し、前記処理部は前記バンドバッファから読み出された、前記第２のバンドに格納された画像データの一部及び前記第３のバンドに格納された画像データを処理し、前記出力制御部は前記処理部からの処理済み画像データを前記出力バッファの前記第１のバンドに書き込むとともに前記第２のバンドに格納された処理済み画像データを読み出して出力し、
次の制御タイミングにおいて、前記制御部は前記バンドバッファの前記第２のバンドに前記入力画像を書き込むとともに前記第３のバンドに格納された画像データの一部及び前記第１のバンドに格納された画像データを読み出し、前記処理部は前記バンドバッファから読み出された、前記第３のバンドに格納された画像データの一部及び前記第１のバンドに格納された画像データを処理し、前記出力制御部は前記処理部からの処理済み画像データを前記出力バッファの前記第２のバンドに書き込むとともに前記第１のバンドに格納された処理済み画像データを読み出して出力し、
さらに次の制御タイミングにおいて、前記制御部は前記バンドバッファの前記第３のバンドに前記入力画像を書き込むとともに前記第１のバンドに格納された画像データの一部及び前記第２のバンドに格納された画像データを読み出し、前記処理部は前記バンドバッファから読み出された、前記第１のバンドに格納された画像データの一部及び前記第２のバンドに格納された画像データを処理し、前記出力制御部は前記処理部からの処理済み画像データを前記出力バッファの前記第１のバンドに書き込むとともに前記第２のバンドに格納された処理済み画像データを読み出して出力する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、特にスキュー補正（傾き補正）やフィルタリング等の画像加工機能を備える複写機等の装置に関する。
【背景技術】
【０００２】
従来より、複写機等の画像処理装置において、入力画像に対して平滑化や拡大、縮小、エッジ強調等のフィルタ処理やスキュー補正（傾き補正）を行うことが知られている。
【０００３】
図１１には、従来の画像処理装置の構成ブロック図が示されている。画像入力部１０は、入力画像データ２０を順次ラスタ走査順に出力する。アドレスリスト生成部２１は、デスティネーション側（出力側）のアドレスリスト２５０及びこれを逆変換処理して得られたソース側（入力側）のアドレスリスト２１０を出力する。アドレスリストソート部３０は、ｙ座標についてソート機能を有し、ソース側のアドレスリスト２２０を出力する。
【０００４】
バンドバッファ読み出し制御部４２は、ソース側のアドレスリストに基づき読み出し用バンドバッファ４１を制御する。バンドバッファ４１はリングバッファであり、リングバッファのラインデータのうち最も古く読み出したラインデータを破棄し、破棄したラインデータの次に読み出したラインデータから順次シフトさせ、（ｎ−１）ラインデータをシフトさせた後、空いたラインバッファへ入力画像から新しく１ライン読み出して書き込むように制御される。
【０００５】
局所データ変換部５１は、局所データ２３０及び局所データの変換座標２３１に基づき変換された局所データ２４０を出力する。変換は、変換ＲＯＭ５２に予め記憶された変換プログラム、具体的には局所データの変換演算式を用いて実行される。中間バッファ制御部６２は、デスティネーション側のアドレスリスト２５０に基づき中間バッファの制御信号２５１を出力する。中間バッファ６１は、変換された局所データを格納し、必要に応じて局所データ２６０を出力する。書き込み用バンドバッファ７１は、局所データを格納し、バッファデータを順次出力する。画像出力部８０は、書き込み用バンドバッファ７１からの局所データを出力する。
【０００６】
図１２には、従来装置の処理の流れが示されている。処理の流れは以下の通りである。
（１）デスティネーション側でブロック化した複数のブロック（図ではブロック１〜２４）の中心座標をラスタ走査順に求め、デスティネーション側のアドレスリストとする。
（２）デスティネーション側のアドレスリストの座標を逆変換して得られるｙ座標についてソートし、ソース側のアドレスリストを生成する。
（３）入力画像から１ラインずつバンドバッファ４１へ読み込む。
（４）バンドバッファ４１内にアドレスポインタの示す座標を中心とする局所データが存在すれば、その局所データを読み出す。
（５）変換ＲＯＭ５２に予め生成してある局所データの変換座標に基づき変換を行い、中間バッファ６１へ変換順に書き込む。
（６）ソース側のアドレスリストについて処理が終わった後、デスティネーション側のアドレスリストに従い、中間バッファ６１から書き込み用バンドバッファ７１に局所データを読み出す。
（７）デスティネーション側のアドレスリストより画像端である場合は、書き込み用バンドバッファ７１内のデータを出力画像データとして出力する。
【０００７】
【特許文献１】特開２０００−２５１０６５号公報
【特許文献２】特開２００１−４３３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来技術においては、アドレスリストを作成し、これを逆変換して得られたリストに基づきラスタ走査順に読み出した画像データを読み出し用バンドバッファ４１に書き込む構成であるため、アドレスリスト用の容量が必要となり、特に画像サイズの増大とともにリストのデータ量も増大する問題がある。さらに、作成したリストのソート機能も必要となる。
【０００９】
また、スキュー補正等のように、入力画像を任意角度だけ回転させる処理を行う場合、ライン毎に画像データ量が異なるため（画像端では画像データ量が少ない）、効率的に処理するためには画像データ量が多い部分では読み出し用バンドバッファへの書き込みを遅く、画像データ量が少ない部分では読み出し用バンドバッファへの書き込みを速くすることも考えられるが、上記従来技術の読み出し用バンドバッファでは１ラインずつ順次更新していくため、タイミング調整が困難で、バンドバッファの前段に別途ページメモリ等が必要となる問題がある。したがって、ページメモリ等を要せず、画像入力部から画像加工部に至る一連のパイプライン処理においてそのタイミングを一定に維持しつつ高速処理できるシステムが望まれる。
【００１０】
なお、読み出し用バンドバッファを単一のリングバッファで構成するのではなく、ダブルバッファ構成（バッファＡ及びバッファＢ）とし、バッファＡから画像データを読み出す（ＲＥＡＤ）とともにバッファＢにデータを書き込み（ＷＲＩＴＥ）、次にバッファＢからデータを読み出す（ＲＥＡＤ）とともにバッファＡにデータを書き込む（ＷＲＩＴＥ）制御を行うことも考えられるが、以下のような問題がある。
【００１１】
すなわち、スキュー補正やフィルタ処理等の加工を行う場合、着目している画素の周辺の画素を考慮して処理する必要があり、例えばある局所データの処理を行う場合、その前の局所データに含まれる画像データを再度用いて処理するオーバラップ処理が必要となるが、ダブルバッファ構成でバッファ毎に読み出し（ＲＥＡＤ）と書き込み（ＷＲＩＴＥ）を切り替える制御では、副走査のオーバラップ画素データの読み出し（ＲＥＡＤ）が出来ない。例えば、図１３のように、バッファＢのデータを読み出して（ＲＥＡＤ）出力しているとすると、副走査のオーバラップのデータはバッファＡに格納されていることになるが、バッファＢの読み出し（ＲＥＡＤ）時にはバッファＡに書き込み（ＷＲＩＴＥ）を行っているため、バッファＡから読み出し（ＲＥＡＤ）を行うことができず、オーバラップのデータを出力することができない。
【００１２】
この場合、画像入力部とバンドバッファ間にＦＩＦＯ等を介在させ、入力データを一時的にＦＩＦＯに格納することによりバンドバッファから読み出す（ＲＥＡＤ）時間をある程度確保したとしても、オーバラップの領域によってはバッファＡのデータが既に上書きされてしまうおそれがある。例えば、スキュー補正の場合、画像の傾き角度に応じてオーバラップ量が変化し、傾き角度が大きくなるほどオーバラップ量は増大するが、オーバラップ量が大きいとバッファＡを順次上書きした場合にオーバラップ領域に到達してしまうことになり、オーバラップデータを読み出す（ＲＥＡＤ）ことはできない。ダブルバッファとは別にオーバラップデータ用のメモリを新たに付加することで上書きという事態は生じないためオーバラップデータを読み出す（ＲＥＡＤ）ことは可能となるが、新たなメモリが必要となり、外付けの場合にはピン数の増大を招く。
【００１３】
本発明の目的は、ページメモリ等のメモリ増大を抑制し、かつ、画像入力部からのパイプライン処理を乱さずに高速にオーバラップデータの処理を行い、スキュー補正やフィルタ処理を実行できる画像処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、入力画像を処理して出力する画像処理装置であって、入力画像を格納するバンドバッファと、前記バンドバッファへの画像データの書き込み及び読み出しを制御する制御部と、前記バンドバッファから読み出された画像データを処理する処理部と、前記処理部で処理された画像データを格納する出力バッファと、前記出力バッファへの処理済み画像データの書き込み及び読み出しを制御する出力制御部とを備え、前記バンドバッファは、第１バンド、第２バンド及び第３バンドの３つの領域を有し、前記制御部は、前記第１バンド、第２バンドあるいは第３バンドのいずれか１つの領域に前記入力画像を書き込むとともに、残りの２つの領域から格納された画像データを読み出して前記処理部に供給することを特徴とする。
【００１５】
バンドバッファに入力画像を書き込むとともに、バンドバッファから画像データを読み出して拡大、縮小、エッジ強調等のフィルタ処理やスキュー補正を行うための処理部に供給する際に、ダブルバッファ構成では新たな入力画像を書き込むことで既格納の画像データを上書きしてしまうため、オーバラップデータを読み出すことができない。そこで、本発明では、バンドバッファを３バンド構成とし、３バンドの１つのバンドに新たに入力した入力画像を書き込み、残りの２つのバンドから既格納の画像データを読み出す。すなわち、３バンドをそれぞれ第１のバンド、第２のバンド、第３のバンドとし、第１のバンドに入力画像を書き込むとともに、第２のバンド及び第３のバンドから既格納の画像データを読み出す。処理対象となる画像データは第３のバンドに格納されており、この画像データを処理するために必要なオーバラップデータは第２のバンド（特に、第２のバンドのうち第３のバンドとの境界領域）に格納されている。したがって、入力画像の書き込みに影響を受けることなく、第２のバンドのオーバラップデータを読み出すことが可能となる。本発明では、オーバラップデータが格納されたバンドとは異なるバンドに入力画像を格納していくため、入力、バッファリング、画像加工、出力という一連のパイプライン処理を維持して高速に画像処理できる。
【発明の効果】
【００１６】
本発明によれば、ページメモリではなく少ない容量のバンドバッファを用いてフィルタ処理やスキュー補正等を行う際に必要なオーバラップデータを確実に読み出し、かつパイプライン処理を乱すことなく高速で画像を処理して出力できる。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づき本発明の実施形態について説明する。
【００１８】
図１には、本実施形態に係る画像処理装置の構成ブロック図が示されている。従来の画像処理装置の構成と異なるのは、アドレスリスト生成部２１及びアドレスリストソート部３０が存在しないこと、読み出し用バンドバッファ４１が単一リングバッファでもダブルバッファでもなく、一つのリングバッファを３つの領域に分割した３バンド構成としたこと、中間バッファも２バンド構成としたこと、である。
【００１９】
画像入力部１０は、入力画像データ２０を順次ラスタ走査順に出力する。なお、入力画像の走査方法については後述する。
【００２０】
バンドバッファ読み出し制御部４２は、３バンド構成の読み出し用バンドバッファ４１の読み出し（ＲＥＡＤ）及び書き込み（ＷＲＩＴＥ）を制御する。バンドバッファ４１を３バンド構成としたのは、オーバラップのデータをバッファ４１から読み出して出力する前に次の入力画像データが先にバッファ４１に上書きされ、オーバラップのデータを出力できない事態を回避するためである。具体的には、３バンド構成において２つのバンドを読み出し（ＲＥＡＤ）用とし、残りの１つのバンドを書き込み（ＷＲＩＴＥ）用とする。オーバラップのデータがＲＥＡＤ用の２つのバンドにまたがって格納されるように制御することで、次の入力データを残り１つのバンドに書き込んでもオーバラップのデータを読み出して出力することができる。
【００２１】
画像処理部は、画像のスキュー補正やフィルタリング処理等を行うブロックであり、例えばスキュー補正を行う場合には従来と同様に局所データ変換部５１、変換ＲＯＭ５２、中間バッファ６１及び中間バッファ制御部６２を有する。局所データ変換部５１は、局所データ２３０及び局所データの変換座標２３１に基づき変換された局所データ２４０を出力する。変換は、変換ＲＯＭ５２に予め記憶された変換プログラム、具体的には局所データの変換演算式を用いて実行される。中間バッファ制御部６２は、中間バッファの制御信号２５１を出力する。中間バッファ６１は、変換された局所データを格納し、必要に応じて局所データ２６０を出力する。中間バッファ６１は、２バンド構成のバンドバッファであり、これは既述したダブルバッファと同様に機能する。すなわち、中間バッファ６１が第１バンドと第２バンドから構成されているものとすると、第１バンドと第２バンドで交互に読み出し（ＲＥＡＤ）と書き込み（ＷＲＩＴＥ）を制御する。つまり、第２バンドからデータを読み出す（ＲＥＡＤ）とともに第１バンドにデータを上書きし（ＷＲＩＴＥ）、次に第１バンドからデータを読み出す（ＲＥＡＤ）とともに第２バンドにデータを上書きする。
【００２２】
書き込み用バンドバッファ７１は、中間バッファ６１からの局所データを格納し、バッファデータを順次出力する。画像出力部８０は、書き込み用バンドバッファ７１からの局所データを出力する。
【００２３】
以下、読み出し用バンドバッファ４１の構成及びその読み出し（ＲＥＡＤ）、書き込み（ＷＲＩＴＥ）制御について説明する。
【００２４】
図２には、読み出し用バンドバッファ４１の構成が示されている。バンドバッファ４１は、第１バンドバッファ４１ａ、第２バンドバッファ４１ｂ及び第３バンドバッファ４１ｃの３つのバンドバッファから構成される。各バンドバッファは（主走査サイズＶｘ×バンド高さ）のサイズを有する。図中の矢印はデータの書き込み（ＷＲＩＴＥ）方向を示す。すなわち、まず第１バンドバッファ４１ａに順次書き込み、次に第２バンドバッファ４１ｂに書き込み、さらに第３バンドバッファ４１ｃに書き込んでいく。第３バンドバッファ４１ｃに書き込んだ後、再び第１バンドバッファ４１ａからデータを書き込んでいく。
【００２５】
図３には、バンドバッファ４１の読み出し（ＲＥＡＤ）、書き込み（ＷＲＩＴＥ）の流れが示されている。まず、図３（Ａ）に示されるように、入力画像データを第１バンドバッファ４１ａに書き込む（ＷＲＩＴＥ）。このとき、第２バンドバッファ４１ｂからはデータを読み出す（ＲＥＡＤ）が、画像データは格納されていないためダミーデータを読み出す。すなわち、
第１バンドバッファ４１ａ：ＷＲＩＴＥ
第２バンドバッファ４１ｂ：ＲＥＡＤ（ダミー）
【００２６】
次に、図３（Ｂ）に示されるように、第２バンドバッファ４１ｂに対して画像データを書き込み（ＷＲＩＴＥ）、第１バンドバッファ４１ａの画像データを読み出す（ＲＥＡＤ）とともに、第３バンドバッファ４１ｃに格納されているオーバラップの画像データを読み出す。但し、この段階では第３バンドバッファ４１ｃには画像データが格納されていないためダミーデータとなる。図では、第１バンドバッファ４１ａから画像データ（２）、（４）、（６）、（８）を読み出すとともに、第３バンドバッファ４１ｃからオーバラップの画像データ（１）、（３）、（５）、（７）（実際にはダミーデータ（０））を読み出すとしている。すなわち、
第１バンドバッファ４１ａ：ＲＥＡＤ
第２バンドバッファ４１ｂ：ＷＲＩＴＥ
第３バンドバッファ４１ｃ：ＲＥＡＤ
【００２７】
次に、図３（Ｃ）に示されるように、第３バンドバッファ４１ｃに対して画像データを書き込み（ＷＲＩＴＥ）、第１バンドバッファ４１ａのオーバラップの画像データを読み出す（ＲＥＡＤ）とともに第２バンドバッファ４１ｂの画像データを読み出す（ＲＥＡＤ）。画像データは第３バンドバッファ４１ｃに書き込まれ、第１バンドバッファ４１ａには上書きされず既格納の画像データが残っているから、オーバラップの画像データ（１）、（３）、（５）、（７）を読み出すことが可能である。すなわち、
第１バンドバッファ４１ａ：ＲＥＡＤ（オーバラップデータ）
第２バンドバッファ４１ｂ：ＲＥＡＤ
第３バンドバッファ４１ｃ：ＷＲＩＴＥ
【００２８】
次に、図３（Ｄ）に示されるように、再び第１バンドバッファ４１ａに対して画像データを書き込み（ＷＲＩＴＥ）、第２バンドバッファ４１ｂのオーバラップの画像データを読み出す（ＲＥＡＤ）とともに第３バンドバッファ４１ｃの画像データを読み出す（ＲＥＡＤ）。画像データは第１バンドバッファ４１ａに書き込まれ、第２バンドバッファ４１ｂには上書きされず既格納の画像データが残っているから、オーバラップの画像データ（１）、（３）、（５）、（７）を読み出すことが可能である。すなわち、
第１バンドバッファ４１ａ：ＷＲＩＴＥ
第２バンドバッファ４１ｂ：ＲＥＡＤ（オーバラップデータ）
第３バンドバッファ４１ｃ：ＲＥＡＤ
【００２９】
このように、バンドバッファ４１を３バンド構成とし、２つのバンドから読み出し、残りの１つのバンドに書き込むように分離することで、オーバラップデータの上書きを防止してオーバラップデータの読み出し及び出力を可能にできる。例えば、第２バンドバッファ４１ｂから画像データを読み出すタイミングに着目すると、現在の入力画像データは第３バンドバッファ４１ｃに書き込まれる（ＷＲＩＴＥ）ことになり、バンドの境界の上側に格納されているオーバラップデータは第１バンドバッファ４１ａから読み出すことができ、バンドの境界の下側に格納されているオーバラップデータは第３バンドバッファ４１ｃから現在の画像データが書き込まれた後に読み出されることになるから、正常にオーバラップの処理を実行できる。
【００３０】
本実施形態の構成では、単一のバンドバッファメモリを３つの領域に分けて読み出し（ＲＥＡＤ）と書き込み（ＷＲＩＴＥ）を制御するだけで済むので、単一のメモリ制御部（バンドバッファ読み出し制御部４２）のみでよく、複数メモリを用いる場合に比べて回路規模を抑制することができる。
【００３１】
図４には、画像入力から画像加工処理（スキュー補正）、画像出力までの一連のパイプライン処理が示されている。図４（Ａ）は画像入力部１０の入力画像、図４（Ｂ）は読み出し用バンドバッファ４１の処理、図４（Ｃ）は局所データ変換部５１の処理、図４（Ｄ）は中間バッファ６１の処理、図４（Ｅ）は書き込み用バンドバッファ７１及び画像出力部８０の処理である。
【００３２】
画像入力部１０から順次画像１、画像２、・・・画像１２が入力される。入力画像は順次読み出し用バンドバッファ４１に供給される。
【００３３】
画像１が入力されると、３バンド構成のバンドバッファ４１の第１バンドバッファ４１ａに書き込まれる（ＷＲＩＴＥ１）。また、第２バンドバッファ４１ｂからはダミーデータ（０）が読み出される（ＲＥＡＤ）が、これは画像データの入出力とは無関係であるため図では省略してある。
【００３４】
次に、画像２が入力されると、バンドバッファ４１の第２バンドバッファ４１ｂに画像２が書き込まれ（ＷＲＩＴＥ２）、第１バンドバッファ４１ａからは画像１が読み出される（ＲＥＡＤ１）。読み出された画像１は局所データ変換部５１に供給され、変換ＲＯＭ５２の変換プログラム（変換演算）に従って画像処理される（処理１）。スキュー補正の場合には、画像の回転処理（アフィン変換）が実行される。処理された画像１は中間バッファ６１の第１バンドバッファ６１ａに書き込まれる（ＷＲＩＴＥ１）。
【００３５】
次に、画像３が入力されると、バンドバッファ４１の第３バンドバッファ４１ｃに画像３が書き込まれる（ＷＲＩＴＥ３）、第１バンドバッファ４１ａからはオーバラップデータ、第２バンドバッファ４１ｂからは画像２が読み出される（ＲＥＡＤ２）。画像３は第３バンドバッファ４１ｃに書き込まれるため第１バンドバッファ４１ａの画像１は上書きされずオーバラップデータとして残存するため読み出しが可能となることは上述した通りである。第１バンドバッファ４１ａから読み出されたオーバラップデータ及び第２バンドバッファ４１ｂから読み出された画像２は局所データ変換部５１に供給され、画像処理される（処理２）。処理された画像２は中間バッファ６１の第２バンドバッファ６１ｂに書き込まれる（ＷＲＩＴＥ２）。また、中間バッファ６１の第１バンドバッファ６１ａからは１制御ステップ前に書き込まれた処理済みの画像１が読み出され（ＲＥＡＤ１）、書き込み用バンドバッファ７１に格納され出力される（画像１）。
【００３６】
次に、画像４が入力されると、バンドバッファ４１の第１バンドバッファ４１ａに画像４が再び書き込まれる（ＷＲＩＴＥ４）、第２バンドバッファ４１ｂからはオーバラップデータ、第３バンドバッファ４１ｃからは画像３が読み出される（ＲＥＡＤ３）。画像４は第１バンドバッファ４１ａに書き込まれるため第２バンドバッファ４１ｂの画像２は上書きされずオーバラップデータとして残存するため読み出しが可能となる。第２バンドバッファ４１ｂから読み出されたオーバラップデータ及び第３バンドバッファ４１ｃから読み出された画像３は局所データ変換部５１に供給され、画像処理される（処理３）。処理された画像３は中間バッファ６１の第１バンドバッファ６１ａに書き込まれる（ＷＲＩＴＥ３）。また、中間バッファ６１の第２バンドバッファ６１ｂからは１制御ステップ前に書き込まれた処理済みの画像２が読み出され（ＲＥＡＤ２）、書き込み用バンドバッファ７１に格納され出力される（画像２）。
【００３７】
次に、画像５が入力されると、バンドバッファ４１の第２バンドバッファ４１ｂに画像５が再び書き込まれる（ＷＲＩＴＥ５）、第３バンドバッファ４１ｃからはオーバラップデータ、第１バンドバッファ４１ａからは画像４が読み出される（ＲＥＡＤ４）。画像５は第２バンドバッファ４１ｂに書き込まれるため第３バンドバッファ４１ｃの画像３は上書きされずオーバラップデータとして残存するため読み出しが可能となる。第３バンドバッファ４１ｃから読み出されたオーバラップデータ及び第１バンドバッファ４１ａから読み出された画像４は局所データ変換部５１に供給され、画像処理される（処理４）。処理された画像４は中間バッファ６１の第２バンドバッファ６１ｂに書き込まれる（ＷＲＩＴＥ４）。また、中間バッファ６１の第１バンドバッファ６１ａからは１制御ステップ前に書き込まれた処理済みの画像３が読み出され（ＲＥＡＤ３）、書き込み用バンドバッファ７１に格納され出力される（画像３）。
【００３８】
以下、同様にして画像６，７，・・と順次入力され、パイプライン処理されて加工処理済みの画像が出力される。本実施形態では、３バンド構成の読み出し用バンドバッファ４１を用いているため、高速にパイプライン処理を行ってもオーバラップデータを確実に確保することができる。また、ぺージメモリを別途確保する必要もない。
【００３９】
次に、本実施形態におけるオーバラップデータの読み出しについてより詳細に説明する。
【００４０】
図５には、画像入力部１０から入力される画像データのバンドバッファ４１への書き込み（ＷＲＩＴＥ）及び読み出し（ＲＥＡＤ）の基本処理が示されている。画像データは、バンドバッファ４１の各バンドに対して図５（Ａ）に示されるようにラスタ順に書き込んでいく。図において、矢印は画像データの書き込み順を示す。次に、バンドバッファ４１の各バンドから画像データを読み出す際には、図５（Ｂ）に示されるように所定サイズのブロック（局所データ）を単位とし、ブロック毎に読み出していく。ブロックサイズは任意であるが、本実施形態では例えば４８画素×４０画素のサイズとする。このブロックにおける色データは１色（黒）とする。
【００４１】
図６には、バンドバッファ４１の各バンドからブロック単位で画像データを読み出す際のオーバラップ処理が示されている。オーバラップ処理は、着目する画素あるいはブロックの周辺の画素あるいはブロックのデータも取り込むフィルタ処理や、傾きがあるため周辺画素あるいはブロックのデータを取り込むスキュー補正時に必要であるが、スキュー補正を例にとるとオーバラップさせるべき画像領域はスキュー補正に必要な回転角度に応じて変化する。すなわち、回転角度に応じてオーバラップデータを読み出すためのブロック読み出し開始点が異なる。一般に、傾き角が増大するほど、バンドの切れ目に存在するオーバラップデータ量は増大する。図６において、４８画素×４０画素のブロック１００の読み出し開始点ＳをＳ１、Ｓ２、Ｓ３、・・・とすると、読み出し開始点Ｓ１を有するブロック１００に対し、次に読み出すべきブロック１００の読み出し開始点Ｓ２は、画像の回転角をθとした場合、ｘ方向の移動量はｘ方向移動量＝３２×ｃｏｓθであり、ｙ方向移動量はｙ方向移動量＝３２×ｓｉｎθである。図中太線は、後述するように本来の出力ブロック２００のサイズである３２画素×３２画素を示したものである。４８画素×４０画素は、この本来のサイズである３２画素×３２画素の傾きをカバーできる大きさのサイズとして規定されるものであり、傾きがない場合、４８画素×４０画素のブロックは、ｘ方向及びｙ方向に互いに３２画素だけずれた位置にある。４８画素×４０画素のブロックのうち、３２画素×３２画素に含まれない画素がオーバラップ画素として機能する。図において、１ますは４画素×４画素でパッキングされており（４画素の集まりが処理の最小単位）、ｘ方向には１６画素分だけオーバラップさせることになる。ｙ方向には、ｓｉｎθで規定される分だけオーバラップする。
【００４２】
図７には、以上のようにして設定される読み出し開始位置Ｓ１、Ｓ２、・・・Ｓｎ、Ｓｎ＋１が示されている。画像の傾きθに応じたｙ方向の移動量（オフセット量）で読み出し開始点が決定されるため、図中矢印で示されるようにバンドバッファ４１からは斜め方向に４８画素×４０画素ブロックが順次読み出されていく。斜め方向に読み出される結果、例えばバンドバッファ４１の第２バンドバッファ４１ｂの読み出し（ＲＥＡＤ）時にも、第１バンドバッファ４１ａのデータ（オーバラップのデータ）を読み出す必要があることが理解されよう。なお、オーバラップ量は、例えば傾き角θの上限を１４°等として固定することができる。４８画素×４０画素ブロック単位で読み出された画像データは、局所データ変換部５１で回転処理される。
【００４３】
図８には、局所データ変換部５１での変換処理が示されている。局所データ変換部５１では、傾きθに応じたアフィン変換により傾きを補正し、かつ、４８画素×４０画素の画像データから３２画素×３２画素の画像データを生成する。図８（Ａ）はバンドバッファ４１から読み出された４８画素×４０画素ブロック１００及びこの４８画素×４０画素から３２画素×３２画素のブロック２００を傾けて（画像の傾き角に応じて）抽出することが示されており、図８（Ｂ）にはこの３２画素×３２画素ブロック２００をθだけ回転させて傾きを補正し出力ブロック２００とすることが示されている。
【００４４】
具体的には、図９に示されるように、４８画素×４０画素のブロック１００内における傾いた３２画素×３２画素ブロック２００の入力画像データを（ｘ、ｙ）、傾きθを補正（θだけ回転させた）した後の３２画素×３２画素ブロック２００の出力画像データをＸ，Ｙとすると、アフィン（Ａｆｆｉｎｅ）逆行列を用いて
ｘ＝ｃｏｓθ（Ｘ−ｍ）＋ｓｉｎθ（Ｙ−ｎ）
ｙ＝−ｓｉｎθ（Ｘ−ｍ）＋ｃｏｓθ（Ｙ−ｎ）
となる。ここでｍ、ｎはオフセット量であり、図では一例としてｍ＝７、ｎ＝８としている。これにより、入力画像（スキュー補正前の３２画素×３２画素）の画素Ｎｏ．２３は例えば出力画像の画素Ｎｏ．１に写像され、入力画像の画素Ｎｏ．１７は出力画像の画素Ｎｏ．５及びＮｏ．１０に写像される。なお、補正には入力画像の画素間データが必要となるが、画素間データは４点補間で算出され、具体的には図１０に示されるように隣接する４点Ｐ１〜Ｐ４の画素データが与えられており、これらの中間に位置するＮ（ｘ、ｙ）の画素データは、
Ｎ１＝ｘ・Ｐ２＋（１−ｘ）Ｐ１
Ｎ２＝ｘ・Ｐ４＋（１−ｘ）Ｐ３
Ｎ＝（１−ｙ）・Ｎ１＋ｙ・Ｎ２
で与えられる。
【００４５】
以上のようにしてスキュー補正された３２画素×３２画素ブロック２００は、中間バッファ６１の第１バンドバッファ６１ａ及び第２バンドバッファ６１ｂに３２画素×３２画素ブロック２００単位で交互に書き込まれる。中間バッファ６１に書き込まれた画像データは、ラスタ順に中間バッファ６１から読み出され、書き込み用バンドバッファ７１を介して画像出力部８０に出力される。
【００４６】
このように、本実施形態では、４８画素×４０画素のブロック単位で読み出し用バンドバッファ４１から画像データを読み出す際に、読み出し開始位置を画像の傾き角に応じて読み出し、スキュー補正を行って中間バッファ６１に書き込んでいく。また、読み出し用バンドバッファ４１を３バンド構成として、２つのバンドを読み出しバンドとし、残り１つに新たに入力した画像データを書き込むように構成したので、オーバラップデータの上書きを防止して、パイプライン処理を維持しつつ高速で画像を加工し出力できる。
【図面の簡単な説明】
【００４７】
【図１】実施形態の画像処理装置の全体構成図である。
【図２】読み出し用バンドバッファの構成図である。
【図３】読み出し用バンドバッファの書き込み（ＷＲＩＴＥ）／読み出し（ＲＥＡＤ）の動作説明図である。
【図４】実施形態の画像入力、バッファリング、加工処理、出力の一連のパイプライン処理を示す説明図である。
【図５】読み出し用バンドバッファの書き込み順及び読み出し単位を示す説明図である。
【図６】読み出し用バンドバッファから読み出される４８画素×４０画素のブロックと３２画素×３２画素との関係を示す図である。
【図７】読み出し用バンドバッファからの読み出し開始位置を示す図である。
【図８】スキュー補正の処理説明図である。
【図９】スキュー補正の回転処理説明図である。
【図１０】スキュー補正の補間処理説明図である。
【図１１】従来装置の全体構成図である。
【図１２】従来装置の処理の流れを示す説明図である。
【図１３】ダブルバッファの書き込み／読み出しの説明図である。
【符号の説明】
【００４８】
１  画像入力部、４１  読み出し用バンドバッファ、４２  バンドバッファ読み出し制御部、５１  局所データ変換部、６１  中間バッファ、７１  書き込み用バンドバッファ、８０  画像出力部。
【図１】
2005250534.tif 000003
【図２】
2005250534.tif 000004
【図３】
2005250534.tif 000005
【図４】
2005250534.tif 000006
【図５】
2005250534.tif 000007
【図６】
2005250534.tif 000008
【図７】
2005250534.tif 000009
【図８】
2005250534.tif 000010
【図９】
2005250534.tif 000011
【図１０】
2005250534.tif 000012
【図１１】
2005250534.tif 000013
【図１２】
2005250534.tif 000014
【図１３】
2005250534.tif 000015