(57)【要約】【課題】画像処理装置に実装するメモリのメモリ容量を大幅に増加させることなく、処理対象の画像データを複数のバンドに分割しバンド単位でウィンドウ処理を実行することを可能にする。【解決手段】第１バンドと第２バンドの２つの記憶領域を有するバンドバッファを備え、その２つのバンドのうちの何れへ入力画像データを記憶させるかピンポン切り替えにより交互に切り換えることが可能である画像処理装置に、一方のバンドへの入力画像データの書き込みと同時に他方のバンドからの画像データの読み出しを実行させ、該他方のバンドの端の画像データを上記ウィンドウ処理の際に要するオーバーラップ部として上記２つのバンドとは異なる記憶領域に保持する仕組みを設ける。【選択図】図１
2007304803.tif 000002
【特許請求の範囲】
【請求項１】
バンドバッファと、
画像データを複数のバンドに分割して１バンド分ずつ読み込み前記バンドバッファへ書き込む一方、前記バンドバッファから画像データを読み出すバッファ制御手段と、
前記バッファ制御手段により読み出された画像データに所定のライン数分の画素からなるオーバーラップ部を付加してウィンドウ処理を実行し、その処理結果を出力する画像処理手段と、
前記オーバーラップ部を格納するオーバーラップ部格納手段と、
を備え、
前記バンドバッファは、第１バンドおよび第２バンドの２つの記憶領域を有し、
前記バッファ制御手段は、
前記第１バンドと前記第２バンドの何れか一方を書き込み用バンドとして選択し、前記読み込んだ１バンド分の画像データを書き込むとともに、その書き込みが完了した時点で、書き込み用バンドを他方へ切り換え、
前記オーバーラップ部格納手段に格納されているオーバーラップ部を前記画像処理部へ引き渡すとともに、前記切り替え前の書き込み用バンドに格納されている１バンド分の画像データを読み出して前記画像処理手段へ引き渡すとともに、その画像データの下端から前記所定のライン数分の画像データを前記オーバーラップ部として前記オーバーラップ部格納手段へ書き込む
ことを特徴とする画像処理装置。
【請求項２】
前記第１バンドと前記第２バンドの各々は、前記オーバーラップ部を格納するためのオーバーラップエリアと１バンド分の画像データを格納するためのバンドエリアとを有しており、
前記バッファ制御手段は、
前記書き込み用バンドのオーバーラップエリアを前記オーバーラップ部格納手段として用いる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記バンドバッファと前記オーバーラップ部格納手段とは、夫々異なるメモリで実装されていることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記オーバーラップ部格納手段は、
主走査方向のオーバーラップ画素を格納する第１のメモリと副走査方向のオーバーラップ画素を格納する第２のメモリとを有し、
前記バッファ制御手段は、
１バンド分の画像データの書き込みが完了したバンドに格納されている画像データを主走査方向に複数のブロックに分割し、各ブロック内の画像データをその先頭ラインから順に１ラインずつ読み出して前記画像処理手段へ引き渡すとともに、読み出したラインが副走査方向のオーバーラップ部である場合では、前記第２のメモリへ格納し、
副走査方向のオーバーラップ部ではない場合には、そのラインの末尾から所定の画素数分の画像データを前記第１のメモリへ格納する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記バッファ制御部から前記オーバーラップ部格納手段へ引き渡される画像データに所定の圧縮アルゴリズムにしたがって圧縮処理を施す圧縮手段と、
前記オーバーラップ画素格納手段から前記画像処理手段へ引き渡される圧縮済み画像データに前記圧縮アルゴリズムに応じた伸長アルゴリズムにしたがって伸長処理を施す伸長手段と、
を有することを特徴とする請求項３に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理対象の画像データを複数のバンドに分割して読み込み、バンド単位でフィルタ処理を施す画像処理装置に関する。
【背景技術】
【０００２】
色変換処理や拡大／縮小、回転処理などの各種画像処理を処理対象の画像に施して出力する画像処理装置の中には、１ページ分の画像データを読み込んで上記画像処理を行うものと、１ページ分の画像データを所定のライン数（一般には、数十〜数百ライン）分づつの複数のバンドに分割して読み込みそのバンド単位で上記各種画像処理を行うものとがある。後者はバンド単位で画像データの読み込みを行うため、前者に比較して少ないメモリ容量で上記各種画像処理を実行することができる、という利点がある。
【０００３】
ところで、上記各種画像処理の中には、ウィンドウ処理と呼ばれる処理がある。ここで、ウィンドウ処理とは、例えば３×３画素からなるウィンドウの中心に位置する画素に施す処理内容を、その周辺に位置する８個の画素の画素値に応じて決定する処理である。バンド単位で上記各種画像処理を実行する画像処理装置においてウィンドウ処理を実行する際には、バンドの端に位置する画素に対してウィンドウ処理を施すために（つまり、バンドの端に位置する画素を中心画素としてウィンドウを形成するために）、隣接するバンドに属する画素のうちそのバンドの端から上記ウィンドウのサイズに応じたライン数分の画素を重複して読み込む必要がある。なお、このように重複して読み込まれる画素のことを以下では、オーバーラップ画素と呼ぶ。このようなオーバーラップ画素を発生させるための方法は従来より種々提案されており、その一例としては、特許文献１に開示された技術が挙げられる。
この特許文献１に開示された技術では、図９に示すような３つのバンドバッファによりリングバッファを構成し、これら３つのバンドバッファに対する画像データの書き込みおよび読み出しを図９に示すステップＳＡ１０〜ステップＳＡ４０に示す手順（なお、図９では、読み出し対象のデータがハッチングで示されている）で行うようにすることで、上記オーバーラップ画素を発生させるようにしている。
【特許文献１】特開２００５−２５０５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、３つのバンドバッファが必要になるため、画像処理装置へ実装すべきメモリのメモリ容量が大幅に増加し、画像処理装置の製品コストが上昇してしまうといった問題点がある。
本発明は、上記課題に鑑みて為されたものであり、画像処理装置に実装するメモリのメモリ容量を大幅に増加させることなく、処理対象の画像データを複数のバンドに分割してフィルタ処理を施すことを可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、バンドバッファと、画像データを複数のバンドに分割して１バンド分ずつ読み込み前記バンドバッファへ書き込む一方、前記バンドバッファから画像データを読み出すバッファ制御手段と、前記バッファ制御手段により読み出された画像データに所定のライン数分の画素からなるオーバーラップ部を付加してウィンドウ処理を実行し、その処理結果を出力する画像処理手段と、前記オーバーラップ部を格納するオーバーラップ部格納手段と、を備え、前記バンドバッファは、第１バンドおよび第２バンドの２つの記憶領域を有し、前記バッファ制御手段は、前記第１バンドと前記第２バンドの何れか一方を書き込み用バンドとして選択し、前記読み込んだ１バンド分の画像データを書き込むとともに、その書き込みが完了した時点で、書き込み用バンドを他方へ切り換え、前記オーバーラップ部格納手段に格納されているオーバーラップ部を前記画像処理部へ引き渡すとともに、前記切り替え前の書き込み用バンドに格納されている１バンド分の画像データを読み出して前記画像処理手段へ引き渡すとともに、その画像データの下端から前記所定のライン数分の画像データを前記オーバーラップ部として前記オーバーラップ部格納手段へ書き込むことを特徴とする画像処理装置を提供する。
【０００６】
より好ましい態様においては、前記第１バンドと前記第２バンドの各々は、前記オーバーラップ部を格納するためのオーバーラップエリアと１バンド分の画像データを格納するためのバンドエリアとを有しており、前記バッファ制御手段は、前記書き込み用バンドのオーバーラップエリアを前記オーバーラップ部格納手段として用いることを特徴としている。
【０００７】
別の好ましい態様においては、前記バンドバッファと前記オーバーラップ部格納手段とは、夫々異なるメモリで実装されていることを特徴としている。
【０００８】
また、さらに好ましい態様においては、前記オーバーラップ部格納手段は、主走査方向のオーバーラップ画素を格納する第１のメモリと副走査方向のオーバーラップ画素を格納する第２のメモリとを有し、前記バッファ制御手段は、１バンド分の画像データの書き込みが完了したバンドに格納されている画像データを主走査方向に複数のブロックに分割し、各ブロック内の画像データをその先頭ラインから順に１ラインずつ読み出して前記画像処理手段へ引き渡すとともに、読み出したラインが副走査方向のオーバーラップ部である場合では、前記第２のメモリへ格納し、副走査方向のオーバーラップ部ではない場合には、そのラインの末尾から所定の画素数分の画像データを前記第１のメモリへ格納するとしても良く、また、前記バッファ制御部から前記オーバーラップ部格納手段へ引き渡される画像データに所定の圧縮アルゴリズムにしたがって圧縮処理を施す圧縮手段と、前記オーバーラップ画素格納手段から前記画像処理手段へ引き渡される圧縮済み画像データに前記圧縮アルゴリズムに応じた伸長アルゴリズムにしたがって伸長処理を施す伸長手段ととしても良い。
【発明の効果】
【０００９】
本発明によれば、画像処理装置に実装するメモリのメモリ容量を大幅に増加させることなく、処理対象の画像データを複数のバンドに分割してフィルタ処理を施すことが可能になる、といった効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施する際の最良の形態について図面を参照しつつ説明する。
（Ａ：第１実施形態）
図１は、本発明の第１実施形態に係る画像処理装置１０の構成例を示すブロック図である。
画像処理装置１０は、例えば複写機であり、処理対象の画像（すなわち、複写対象の画像）を光学的に読み取り、その画像に色変換処理や拡大／縮小などの各種画像処理を施し、その処理結果に対応する画像を印刷用紙などの記録材に形成する機能を備えている。この画像処理装置１０は、図１に示すように、入力部１１０、読み込み用バンドバッファ１２０、書き出し用バンドバッファ１３０、出力部１４０、および、これら各構成要素との間で画像データの授受を行うとともに上記各種画像処理を実行するＡＳＩＣ１５０と、を有している。
【００１１】
入力部１１０は、処理対象画像を光学的に読み取ってその画像に対応する画像信号を出力するＣＣＤセンサや、その出力信号をサンプルフォールドしてアナログ／ディジタル変換を施し画像データを生成する信号処理回路（何れも図示省略）などを含んでいる。この入力部１１０は、上記のようにして生成した画像データをＡＳＩＣ１５０へ引き渡す。
【００１２】
読み込み用バンドバッファ１２０は、ＡＳＩＣ１５０内のバッファ制御部１５１の制御下で、入力部１１０から引き渡される画像データを記憶するものである。この読み込み用バンドバッファ１２０は、例えば、ＳＤＲＡＭなどの揮発性メモリで構成されており、図１に示すように、第１バンド１２０ａと第２バンド１２０ｂの２つの記憶領域を有している。この第１バンド１２０ａは、図１に示すように、１バンド分の画像データを格納するためのバンドエリア１２１ａとオーバーラップ画素を格納するためのオーバーラップエリア１２２ａの２つの記憶領域に区分けされている。同様に、第２バンド１２０ｂも、バンドエリア１２１ｂとオーバーラップエリア１２２ｂの２つの記憶領域に区分けされている。ここで、オーバーラップエリア１２２ａや１２２ｂの大きさは、ＡＳＩＣ１５０にて実行するウィンドウ処理のウィンドウサイズに応じて定められる。具体的には、ウィンドウサイズが（２Ｎ＋１：ただし、Ｎは自然数）×（２Ｎ＋１）である場合には、上記オーバーラップ画素格納領域１２２は、Ｎライン分の画像数に相当する大きさである。また、バンドエリア１２１ａおよび１２１ｂは、後述する画像処理部１５２内に設けられているラインメモリのメモリサイズに一致する高さ（副走査方向の大きさ）を有している。
【００１３】
書き出し用バンドバッファ１３０は、ＡＳＩＣ１５０内のバッファ制御部１５３の制御下で、画像処理部１５２から引き渡される画像データを記憶するものである。この書き出し用バンドバッファ１３０も、読み込み用バンドバッファ１２０と同様にＳＤＲＡＭで構成されており、第１バンド１３０ａと第２バンド１３０ｂの２つの記憶領域を有している。ただし、第１バンド１３０ａと第２バンド１３０ｂは、前述した読み込み用バンドバッファ１２０の第１バンド１２０ａや第２バンド１２０ｂとは異なりバンドエリアのみで構成されている。その理由は、第１バンド１３０ａや第２バンド１３０ｂに格納される画像データはウィンドウ処理済みの画像データであり、書き出し用バンドバッファ１３０にオーバーラップ画素を保持しておく必要はないからである。なお、本実施形態では、読み込み用バンドバッファ１２０と書き出し用バンドバッファ１３０とがそれぞれ異なる揮発性メモリで構成されている場合について説明するが、両者が同一の揮発性メモリで構成されているとしても良いことは勿論である。ただし、読み込み用バンドバッファ１２０と書き出し用バンドバッファ１３０とを同一の揮発性メモリで構成する場合には、第１バンド１２０ａ、第２バンド１２０ｂ、第１バンド１３０ａおよび第２バンド１３０ｂの夫々が互いに重複しないように確保されなければならないことは言うまでもない。
【００１４】
出力部１４０は、ＡＳＩＣ１５０から引き渡される画像データ（すなわち、ＡＳＩＣ１５０内の画像処理部１５２により各種画像処理が施された画像データ）に応じた画像を、印刷用紙などの記録材上に電子写真方式で形成して出力するものである。なお、本実施形態では、出力部１４０が電子写真方式で画像形成を行う場合について説明するが、例えばインクジェット方式などの他の方式で画像形成を行うとしても良いことは勿論である。
【００１５】
ＡＳＩＣ１５０は、図１に示すように、バッファ制御部１５１と、画像処理部１５２と、バッファ制御部１５３と、を含んでいる。
バッファ制御部１５１は、入力部１１０から引き渡される画像データを前述した複数のバンドに分割し、そのバンド単位で読み込み用バンドバッファ１２０へ書き込む書き込み制御と、読み込み用バンドバッファ１２０から１バンド分の画像データとその画像データに対するオーバーラップ部とを読み出して画像処理部１５２へ引き渡す読み出し制御とを行うものである。
【００１６】
図２は、バッファ制御部１５１が行う書き込み制御および読み出し制御の様子を示す図である。図２に示すように、バッファ制御部１５１は、第１バッファ１２０ａと第２バッファ１２０ｂの何れか一方を書き込み用バンドとして選択し（図２では、第１バンド１２０ａを書き込み用バンドとして選択した場合について例示されている）、入力部１１０から引き渡される１バンド分の画像データを上記書き込み用バンドのバンドエリアへ書き込む（図２：ステップＳＢ１０）。
【００１７】
次いで、バッファ制御部１５１は、書き込み用バンドへの１バンド分の画像データの書き込みを完了すると書き込み用バンドを他方（図２では、第２バンド１２０ｂ）へ切り換えてその書き込み用バンドへの画像データの書き込みを行うとともに、読み込み用バンドバッファ１２０から画像データを読み出して画像処理部１５２へ引き渡す（図２：ステップ２０ａ）。なお、以下では、１バンド分の画像データの書き込みを完了したことを契機として書き込み用バンドの切り替えを行うことを「ピンポン切り替え」と呼ぶ。
【００１８】
図３（ａ）は、図２のステップＳＢ２０ａにて実行される画像データ読み出し処理の様子を示す図である。なお、図３（ａ）において“○”印は１画素を表している。図３（ａ）に示すように、バッファ制御部１５１は、第１バンド１２０ａおよび第２バンド１２０ｂに格納されている画像データを各バンドの高さ方向（すなわち、副走査方向：図３（ａ）においては、ブロック矢印でその読み出し方向が例示されている）に沿って１列分読み出し画像処理部１５２へ引き渡す。より詳細には、バッファ制御部１５１は、バンドエリア１２１ａから１列分の画素データを読み出しを完了すると、バンドエリア１２１ｂの上端から副走査方向に沿って上記ウィンドウサイズに応じた数（すなわち、Ｎ）分の画素データ（図３（ａ）にてハッチングで示した画素データ）を読み出す。このバンドエリア１２１ｂから読み出されるＮ個の画素データは、図３（ａ）に示すように、バンドエリア１２１ａの下端に位置する画素を中心画素（図３（ａ）では、●で表記）としてウィンドウ処理（図３（ａ）にて点線で囲った５×５画素からなるウィンドウを用いたウィンドウ処理）を施す際に、前述したオーバーラップ画素の役割を担うものである。
【００１９】
ところで、バッファ制御部１５１は、図２のステップＳＢ２０ａにおける読み出し処理にて、バンドエリア１２１ａにおける読み出し位置がバンドの下端から上記ウィンドウサイズに応じた値（すなわち、Ｎ）を差し引いた値に達すると、読み出した画像データを画像処理部１５２へ引き渡すとともに、その画像データを第２バンド１２０ｂのオーバーラップエリア１２２ｂへ順次書き込んで行く。詳細については後述するが、このようにしてオーバーラップエリア１２２ｂへ書き込まれる画像データは、バンドエリア１２１ｂの上端に位置する画素を中心画素としてウィンドウ処理を行う際に、前述したオーバーラップ画素の役割を担うものである。
【００２０】
次いで、バッファ制御部１５１は、ステップＳＢ２０ａおよびステップＳＢ２０ｂの処理を完了すると、書き込み用バンドを、再度、第１バンド１２０ａに切り換えて画像データの書き込みを行うとともに、第２バンド１２０ｂからの画像データの読み出しを開始する（図２：ステップＳＢ３０ａ）。このステップＳＢ３０ａにおいては、バッファ制御部１５１は、まず、オーバーラップエリア１２２ｂからその高さ方向に沿って一列分の画像データ（すなわち、Ｎ個の画像データ）を読み出し、次いで、バンドエリア１２１ｂからその高さ方向沿って一列分の画像データを読み出す。ここで、オーバーラップエリア１２２ｂに格納されている画像データは、そのステップＳＢ１３０ａの処理を開始する時点のバンドエリア１２１ａの下端からＮライン分の画像データと同一であるから、バンドエリア１２１ｂの上端に位置する画素を中心画素としてウィンドウ処理を行う際に、図３（ｂ）に示すようにオーバーラップ画素を設定しウィンドウ処理を行う場合と同一の効果を奏する。なお、図３（ｂ）における、“○”印、“●”印、ハッチング、ブロック矢印、点線で描画した正方形の意味は、図３（ａ）と同一である。
【００２１】
そして、バッファ制御部１５１は、図２のステップＳＢ２０ａにてバンドエリア１２１ａにおける読み出し位置がバンドの下端から上記ウィンドウサイズに応じた値（すなわち、Ｎ）を差し引いた値に達した場合と同様に、以降に読み出す画像データを画像処理部１５２へ引き渡すとともに、その画像データを第１バンド１２０ａのオーバーラップエリア１２２ａへ順次書き込んで行く（図２：ステップＳＢ３０ｂ）。このようにして、オーバーラップエリア１２２ａへ格納される画像データは、バンドエリア１２１ａの上端に位置する画素を中心画素としてウィンドウ処理を行う際に、オーバーラップ画素の役割を担うものである。
以上が、バッファ制御部１５１が行う書き込み制御処理および読み出し制御処理である。
【００２２】
図１に戻って、画像処理部１５２は、処理対象である画像の主走査方向の大きさ（画素数）よりも小さいメモリ容量（本実施形態では、バンドエリア１２１ａやバンドエリア１２１ｂの高さ方向の画素数分のメモリ容量）を有するラインメモリを複数有しているとともに、前述したウィンドウ処理を実行する画像処理回路を有している。なお、図１では、ラインメモリが２個である場合について例示されているが、実際には、画像処理回路が実行するウィンドウ処理のウィンドウサイズに応じた個数（ウィンドウサイズが２Ｎ＋１×２Ｎ＋１である場合には、２Ｎ個）のラインメモリを有している。
【００２３】
そして、図１のバッファ制御部１５３は、前述したピンポン切り替えにより、画像処理部１５２から引き渡される画像データの書き込み用バッファ１３０への書き込み制御、および、この書き込み用バッファ１４０に書き込まれている画像データの読み出し制御を行うものであり、この書き込み用バッファ１２０から読み出した画像データを出力部１４０へ引き渡すものである。
【００２４】
このような構成としたため、本第１実施形態に係る画像処理装置１０によれば、３つのバンドバッファでリングバッファを構成する従来技術に比較して、少ない容量のメモリでバンド単位のウィンドウ処理を実行することが可能になる。何故ならば、画像処理装置１０が有するバンドバッファは、従来のバンドバッファに比較してオーバーラップ画素を格納する分だけバッファサイズが増加しているが、この増加量はバンドバッファ１つあたり数ライン分であるから、数十〜数百ライン分の容量を有するバンドをもう１つ設ける態様（すなわち、バンドを３つ設ける態様）に比較してメモリ容量を削減することができるからである。
【００２５】
（Ｂ：第２実施形態）
次いで、本発明の第２実施形態について説明する。
図４は、本発明の第２実施形態に係る画像処理装置４０の構成例を示すブロック図である。
図４に示すように、画像処理装置４０の構成が画像処理装置１０の構成と異なっている点は、読み込み用バンドバッファ１２０を構成する第１バンド１２０ａおよび第２バンド１２０ｂがバンドエリアのみを有している点と、ＡＳＩＣ１５０に代えてＡＳＩＣ４５０を設けた点と、オーバーラップ部格納部４６０およびオーバーラップ制御部４７０を新たに設けた点とである。詳細については、後述するが、本第２実施形態において、第１バンド１２０ａおよび第２バンド１２０ｂがオーバーラップエリアを有していないのは、上記オーバーラップ部格納部４６０がオーバーラップエリアの役割を担っているからである。
以下、画像処理装置１０との相違点を中心に、画像処理装置４０の構成を説明する。
【００２６】
ＡＳＩＣ４５０が、ＡＳＩＣ１５０と異なっている点は、バッファ制御部１５１に代えてバッファ制御部４５１を設けた点と、セレクタ４５４を設けた点とである。なお、ＡＳＩＣ４５０に含まれている画像処理部１５２の構成は、ＡＳＩＣ１５０に含まれている画像処理部１５２の構成と同一であるため、図４では簡略化して表記されている。
【００２７】
図４のバッファ制御部４５１は、バッファ制御部１５１と同様にピンポン切り替えにより読み込み用バンドバッファ１２０への画像データの書き込み制御、および、読み込み用バンドバッファ１２０からの画像データの読み出し制御を行うものであるが、図２のステップＳＢ２０ｂおよびＳＢ３０ｂにて出力するオーバーラップ部（すなわち、バンドエリア１２１ａやバンドエリア１２１ｂの下端からウィンドウサイズに応じたライン数分の画像データ）をオーバーラップ部格納手段４６０へ引き渡す点のみが異なっている。図４のセレクタ４５４は、オーバーラップ制御部４７０から供給される制御信号に応じて、画像処理部１５２を、バッファ制御部４５１またはオーバーラップ部格納手段４６０の何れか一方へ接続するスイッチである。
【００２８】
図４のオーバーラップ部格納手段４６０は、圧縮手段４６１と、メモリ４６２と、伸長手段４６３とを有している。圧縮手段４６１は、バッファ制御部４５１から引き渡される画像データに所定の圧縮アルゴリズム（本実施形態では、ランレングスデータへの変換アルゴリズム）にしたがった圧縮処理を施してメモリ４６２へ書き込むものである。メモリ４６２は、例えばＲＡＭであり、圧縮手段４６１から引き渡されたデータを記憶する。伸長手段４６３は、メモリ４６２に記憶されているデータ（すなわち、ランレングスデータ）をオーバーラップ制御部４７０からの作動指示に応じて読み出し、前述した変換アルゴリズムの逆演算に対応する伸長アルゴリズムにしたがって、そのランレングスデータを画像データへ伸長し、セレクタ４５４へ出力する。
【００２９】
そして、図４のオーバーラップ制御部４７０は、バッファ制御部４５１によるピンポン切り替えに同期させて画像処理部１５２とオーバーラップ部格納手段４６０とを接続する旨の制御信号をセレクタ４５４へ供給するとともに、伸長手段４６３へ作動指示を出力し、伸長手段４６３がメモリ４６２からのデータ読み出しを完了したことに同期させて、画像処理部１５２とバッファ制御部４５１とを接続する旨の制御信号をセレクタ４５４へ供給する。
【００３０】
このような構成としたため、画像処理装置４０においては、図５（ａ）に示すように、第１バンド１２０ａに対する画像データの書き込みと第２バンド１２０ｂからの画像データの読み出しがバッファ制御部４５１により行われている状況下で、ピンポン切り替えが実行されると、オーバーラップ制御部４７０は、そのピンポン切り替えに同期させて、画像処理部１５２とオーバーラップ部格納手段４６０とを接続する旨の制御信号をセレクタ４５４へ供給する。その結果、図５（ｂ）に示すように、第２バンド１２０ｂに対してはバッファ制御部４５１により画像データの書き込みが為され、画像処理部１５２に対しては、オーバーラップ部格納手段４６０からオーバーラップデータが供給されることになる。その後、オーバーラップ制御部４７０は、メモリ４６２からのデータ読み出しの完了に同期させて、画像処理部１５２とバッファ制御部４５１とを接続する旨の制御信号をセレクタ４５４へ供給する。その結果、図５（ｃ）に示すように、バッファ制御部４５１と画像処理部１５２とがセレクタ４５４によって接続され、第１バンド１２０ｂに格納されている画像データが順次画像処理部１５２へ供給されることになる。
【００３１】
以上に説明したように、本第２実施形態に係る画像処理装置４０においても、３つのバンドでリングバッファを構成する従来技術に比較して、少ない容量のメモリで処理対象の画像データを複数のバンドに分割してフィルタ処理を施すことが可能になる。加えて、第１実施形態に係る画像処理装置１０では、オーバーラップ画素を格納するためのオーバーラップエリアを第１バンド１２０ａと第２バンド１２０ｂの両者にそれぞれ同一の大きさで確保する必要があったが、画像処理装置４０においては、メモリ４６２で上記２つのオーバーラップエリアの役割を担っているため、画像処理装置１０に比較してさらにメモリ容量を削減することが可能になる。また、本実施形態では、メモリ４６２へオーバーラップ部に対応する画像データを書き込む際には、所定の圧縮アルゴリズムにしたがって圧縮した後に書き込むようにしているため、さらにメモリ容量を削減することが可能になる。
【００３２】
（Ｃ：第３実施形態）
次いで、本発明の第３実施形態について説明する。
図６は、本発明の第３実施形態に係る画像処理装置６０の構成例を示すブロック図である。
図６に示すように、画像処理装置６０の構成が画像処理装置４０の構成と異なっている点は、ＡＳＩＣ４５０に代えてＡＳＩＣ６５０を設けた点と、オーバーラップ部格納手段４６０に代えてオーバーラップ部格納手段６６０を設けた点と、オーバーラップ制御部４７０に代えてオーバーラップ制御部６７０を設けた点とである。
【００３３】
ＡＳＩＣ６５０が、ＡＳＩＣ４５０と異なっている点は、バッファ制御部４５１に代えてバッファ制御部６５１を設けた点である。このバッファ制御部６５１は、読み込み用バンドバッファ１２０へ画像データの書き込みを行う際に、前述したピンポン切り替えを行いつつ画像データの書き込みを行う点はバッファ制御部４５１と同一であるが、読み込み用バンドバッファ１２０から画像データを読み出す際の読み出し制御が制御部４５１とは異なっている。
【００３４】
具体的には、バッファ制御部６５１は、１バンド分の画像データを主走査方向に複数のセグメントに分割し、セグメント単位で画像データを読み込む。例えば、図７に示すように１バンド分の画像データを第１および第２セグメントの２つのセグメントに分割して読み込む場合には、バッファ制御部６５１は、第１セグメントの先頭セグメントライン（図７の１セグメントライン）から順にＨセグメントラインに至るまでセグメントライン単位で画像データを読み込む。そして、バッファ制御部６５１は、第１セグメントの読み込みを完了すると、第２セグメントについても同様に、その先頭ライン（図７のＨ＋１セグメントライン）読み込んでゆき、Ｈセグメントラインの読み込みを完了すると、第２セグメントの先頭セグメントラインから順に２Ｈセグメントラインに至るまでセグメントライン単位で画像データを読み込む。
【００３５】
このように、本第３実施形態では、１バンド分の画像データをその主走査方向に複数のセグメントに分割して読み込むようにしたため、セグメントの境界部分についてもオーバーラップ（すなわち、主走査方向のオーバーラップ）を発生させる必要がある。このため、バッファ制御部６５１は、副走査方向のオーバーラップ画素を発生させる処理（例えば、図２のステップＳＢ２０ｂやステップＳＢ３０ｂの処理）を実行することに加えて、読み込み用バンドバッファ１２０からセグメントライン単位で読み込んだ画像データのうち、そのセグメントラインの末尾から所定の画素数（すなわち、画像処理部１５２にて実行するウィンドウ処理のウィンドウサイズに応じた画素数）分の画像データについても、オーバーラップ部格納手段６６０へ出力するように構成されている。
【００３６】
オーバーラップ部格納手段６６０の構成が、オーバーラップ部格納手段４６０と異なっている点は、図６と図４とを比較すれば明らかなように、メモリ６６２を有している点である。このメモリ６６２は、例えばＲＡＭなどで構成されており、上述した主走査方向のオーバーラップ部を格納するためのものである。
オーバーラップ部格納手段６６０は、バッファ制御部６５１から受取った画像データを圧縮手段４６１へ供給するのか、それとも、メモリ６６２へ供給するのかを、オーバーラップ制御部６７０の制御下で切り換える。同様に、オーバーラップ部格納手段６６０は、メモリ４６２に格納されているデータを読み出すのか、それとも、メモリ６６２に格納されているデータを読み出すのかを、オーバーラップ制御部６７０の制御下で切り換える。
【００３７】
オーバーラップ制御部６７０は、セレクタ４５４の作動制御を行うとともに、オーバーラップ部格納手段６６０の作動制御を行うものである。なお、副走査方向のオーバーラップ部のメモリ４６２への書き込み制御、および、メモリ４６２に記憶されているオーバーラップ部の画像処理部１５２への引き渡し制御については、これら制御がセグメント単位で行われることを除いて、第２実施形態にて説明したオーバーラップ制御部４７０が行う制御と同一であるため、説明を省略する。
【００３８】
一方、メモリ６６２への主走査方向のオーバーラップ部の書き込み制御については、以下の手順で行われる。すなわち、オーバーラップ制御部６７０は、読み込み用バンドバッファ１２０からセグメントライン単位で画像データを読み込む際の読み込み位置がそのセグメントラインの末尾から所定の画素数（すなわち、画像処理部１５２にて実行するウィンドウ処理のウィンドウサイズに応じた画素数）分の位置に達したことに同期させて、バッファ制御部６５１から引き渡される画像データをメモリ６６２へ記憶する旨の作動指示をオーバーラップ部格納手段６６０へ供給する。その結果、図８（ａ）に示すように、主走査方向のオーバーラップ部が順次メモリ６６２へ記憶されることになる。
【００３９】
これに対して、メモリ６６２からの主走査方向のオーバーラップ部の読み出し制御は、以下の手順で行われる。まず、第１のステップとして、オーバーラップ制御部６７０は、読み込み用バンドバッファ１２０からのセグメントライン単位での画像データの読み出しに先立って、オーバーラップ部格納手段６６０と画像処理部１５２とを接続する旨の制御信号をセレクタ４５４へ供給し、その後、メモリ６６２から画像データを読み出して出力する旨の作動指示をオーバーラップ部格納手段６６０へ供給する。
【００４０】
次いで、第２のステップとして、オーバーラップ制御部６７０は、メモリ６６２から読み出される画像データのデータ量を画素数単位でカウントし、そのカウント値が画像処理部１５２にて実行するウィンドウ処理のウィンドウサイズに応じた画素数に達した時点で、メモリ６６２からの画像データの読み出しを停止する旨の作動指示をオーバーラップ部格納手段６６０へ供給するとともに、画像処理部１５２の接続先をバッファ制御部６５１へ切り換える旨の制御信号をセレクタ４５４へ供給し、その後、読み込み用バンドバッファから１セグメントライン分の画像データを読み出して出力する旨の作動指示をバッファ制御部６５１へ供給する。
【００４１】
以降、オーバーラップ制御部６７０は、副走査方向のオーバーラップ部に該当するセグメントラインに達するまで、上記第１および第２のステップを繰り返し実行する。その結果、図８（ｂ）に示すように、主走査方向のオーバーラップ部が順次メモリ６６２から読み出されることになる。なお、オーバーラップ制御部６７０は、副走査方向のオーバーラップ部に該当するセグメントラインに達っした以降は、副走査方向のオーバーラップ部の読み出し制御を行う。
以上が、本第３実施形態に係る画像処理装置６０の構成である。
【００４２】
（Ｄ：変形）
以上、本発明の各実施形態について説明したが、これら実施形態に以下に述べるような変形を加えても良いことは勿論である。
（１）上述した各実施形態では、複写機に本発明を適用する場合について説明したが、本発明の適用対象は複写機に限定されるものではなく、画像データを複数のバンドに分割して読み込み、読み込んだ画像に対してウィンドウ処理を施す画像処理装置であれば良い。
【００４３】
（２）前述した第１および第２実施形態では、画像処理部１５２内に設けられているラインメモリのメモリサイズが原稿幅よりも小さい（第１バンド１２０ａや第２バンド１２０ｂの高さに相当するメモリサイズ）ため、読み込み用バンド（すなわち、第１バンド１２０ａまたは第２バンド１２０ｂの何れか）に格納されている画像データをその読み込み用バンドの高さ方向（すなわち、処理対象画像の副走査方向）に１画素ずつ読み出して画像処理部１５２へ引き渡す場合について説明した。しかしながら、画像処理部１５２内に設けられるラインメモリのメモリサイズが原稿幅に等しい場合には、上記読み込み用バンドからの画像データの読み出しをその幅方向のライン単位（すなわち、処理対象画像の主走査方向のライン単位）で行うようにしても良い。
【００４４】
（３）上述した第２および第３実施形態では、メモリ４６２にオーバーラップ画素（第３実施形態では、副走査オーバーラップ）を格納する際にはランレングス圧縮を施して格納し、そのオーバーラップ用メモリからオーバーラップ画素を読み出す際には、そのランレングス圧縮の逆変換たる伸長処理を施す場合について説明した。しかしながら、圧縮アルゴリズムはランレングス圧縮に限定されるものではなく、他の圧縮アルゴリズムであっても良い。なお、圧縮アルゴリズムとしてランレングス圧縮以外の圧縮アルゴリズムを採用する場合には、その圧縮アルゴリズムに応じた伸長アルゴリズムで上記伸長処理を行うようにすれば良い。また、上記の如き圧縮および伸長処理は必ずしも必須ではなく、オーバーラップ用メモリとして充分なメモリ領域を割り当てることが可能である場合や、オーバーラップ用メモリとして充分なメモリ容量のＲＡＭを実装することが可能である場合には、上記の如き圧縮および伸長処理を行う必要はない。
【図面の簡単な説明】
【００４５】
【図１】本発明の第１実施形態に係る画像処理装置１０の構成例を示す図である。
【図２】同画像処理装置１０のバンドバッファへのピンポンアクセスを説明するための図である。
【図３】同画像処理装置１０のバンドバッファからのデータ読み出しを説明するための図である。
【図４】本発明の第１実施形態に係る画像処理装置４０の構成例を示す図である。
【図５】同画像処理装置４０のバンドバッファへのピンポンアクセスを説明するための図である。
【図６】本発明の第１実施形態に係る画像処理装置６０の構成例を示す図である。
【図７】同画像処理装置６０における画像データの読み出し順を説明するための図である。
【図８】同画像処理装置６０における主走査方向のオーバーラップ部の記憶および読み出しを説明するための図である。
【図９】３つのバンドバッファからなるリングバッファを有する画像処理装置の動作を説明するための図である。
【符号の説明】
【００４６】
１０，４０，６０…画像処理装置、１１０…入力部、１２０…読み取り用バンドバッファ、１３０…出力用バンドバッファ、１４０…出力部、１５０，４５０…ＡＳＩＣ。
【図１】
2007304803.tif 000003
【図２】
2007304803.tif 000004
【図３】
2007304803.tif 000005
【図４】
2007304803.tif 000006
【図５】
2007304803.tif 000007
【図６】
2007304803.tif 000008
【図７】
2007304803.tif 000009
【図８】
2007304803.tif 000010
【図９】
2007304803.tif 000011