(57)【特許請求の範囲】
【請求項１】
第１のメモリに保持されている画像データを処理する画像処理方法であって、
前記画像データが表す画像の第１の方向に連続するＮ画素（Ｎは２以上の整数）からなる画素群を前記第１のメモリから読み出す読出処理を、前記第１の方向と直交する第２の方向へ順次に行う読出工程と、
前記読出処理に応じて、前記第２の方向に連続する予め定められた数の画素群の画素データをシフトレジスタに保持する保持工程と、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用され、前記第１の方向に連続するＭ画素（ＭはＮより小さい整数）の画素データで、第２のメモリに保持されている不要になった画素データを置換することにより前記第２のメモリの内容を更新する更新工程と、
前記シフトレジスタと前記第２のメモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供工程とを備えることを特徴とする画像処理方法。
【請求項２】
前記画像処理部は、前記第１の方向にfw画素、前記第２の方向にfh画素のサイズの処理対象画素群を処理し、
前記提供工程では、前記読出処理毎に、前記第１の方向に｛（fw−１）＋Ｎ｝個、前記第２の方向にfh個の画素からなる領域の画素データから処理対象画素群を選択して前記画像処理部に提供することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記提供工程では、前記領域からＮ個の処理対象画素群を順次に選択して、前記画像処理部に提供することを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記提供工程では、前記領域から取得されるＮ個の処理対象画素群を同時に取得し、Ｎ個の画像処理部へ同時に提供することを特徴とする請求項２に記載の画像処理方法。
【請求項５】
前記画像が、画像データを複数のバンド領域に分割して得られた画像であることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理方法。
【請求項６】
前記画像の前記第１の方向の画素数が、前記画像の前記第２の方向の画素数よりも多いことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理方法。
【請求項７】
第１のメモリに保持されている画像データを処理する画像処理装置であって、
前記画像データが表す画像の第１の方向に連続するＮ画素（Ｎは２以上の整数）からなる画素群を前記第１のメモリから読み出す読出処理を、前記第１の方向と直交する第２の方向へ順次に行う読出手段と、
前記読出処理に応じて、前記第２の方向に連続する予め定められた数の画素群の画素データを保持するシフトレジスタと、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用され、前記第１の方向に連続するＭ画素（ＭはＮより小さい整数）の画素データで、第２のメモリに保持されている不要になった画素データを置換することにより前記第２のメモリの内容を更新する更新手段と、
前記シフトレジスタと前記第２のメモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供手段とを備えることを特徴とする画像処理装置。
【請求項８】
前記画像処理部は、前記第１の方向にfw画素、前記第２の方向にfh画素のサイズの処理対象画素群を処理し、
前記提供手段は、前記読出処理毎に、前記第１の方向に｛（fw−１）＋Ｎ｝個、前記第２の方向にfh個の画素からなる領域の画素データから処理対象画素群を選択して前記画像処理部に提供することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記提供手段は、前記領域からＮ個の処理対象画素群を順次に選択して、前記画像処理部に提供することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記提供手段は、前記領域から取得されるＮ個の処理対象画素群を同時に取得し、Ｎ個の画像処理部へ同時に提供することを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記画像が、画像データを複数のバンド領域に分割して得られた画像であることを特徴とする請求項７乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像の前記第１の方向の画素数が、前記画像の前記第２の方向の画素数よりも多いことを特徴とする請求項７乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
第１のメモリに保持されている画像データについて、前記画像データが表す画像の第１の方向に連続するＮ画素（Ｎは２以上の整数）からなる画素群を読み出す読出処理を、前記第１の方向と直交する第２の方向へ順次に行うことにより、当該画像データの第１の領域に含まれる画素データを複数のレジスタに転送する第１読出し工程と、
前記画像データの第２の領域に含まれる画素データを第２のメモリから読み出す第２読出し工程と、
前記第１読出し工程で読み出した画素データと前記第２読出し工程で読み出した画素データとについて、異なるＮ個の組合せの各々について画像処理部によって画像処理をおこなう画像処理工程と、
前記第２のメモリに保持している画素データを、前記複数のレジスタに保持している画素データのうち後に前記画像処理部で利用する前記第１の方向に連続するＭ画素（ＭはＮより小さい整数）の画素データによって置換する置換工程とを備えることを特徴とする画像処理方法。
【請求項１４】
画像データを保持する第１のメモリと、
前記画像データが表す画像の第１の方向に連続するＮ画素（Ｎは２以上の整数）からなる画素群を読み出す読出処理を、前記第１の方向と直交する第２の方向へ順次に行うことにより、前記画像データの第１の領域に含まれる画素データを前記第１のメモリから複数のレジスタに転送する第１読出し手段と、
前記画像データの第２の領域に含まれる画素データを第２のメモリから読み出す第２読出し手段と、
前記第１読出し手段により読み出した画素データと前記第２読出し手段により読み出した画素データについて、異なるＮ個（Ｎは２以上の整数）の組合せの各々について画像処理をおこなう画像処理手段と、
前記第２のメモリに保持している画素データを、前記複数のレジスタに保持している画素データのうち後に前記画像処理手段で利用する前記第１の方向に連続するＭ画素（ＭはＮより小さい整数）の画素データによって置換する置換手段とを備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、コンピュータプログラムに関し、特に、空間フィルタ処理などの局所（近傍）画像処理を行なう場合に用いて好適なメモリ制御に関するものである。
【背景技術】
【０００２】
従来から、画像形成を行って出力するに際し、空間フィルタ処理などの局所（近傍）画像処理が行なわれている。この局所画像処理は、処理対象となる画素（以下、処理画素と略称する）を含む空間フィルタ領域に含まれるすべての画素を用いて何らかの演算を行なう画像処理のことである。
【０００３】
例えば、図３のデジタル画像データ３００に対してエッジ強調処理やぼかし処理といった空間フィルタ処理が施される。このような局所画像処理の従来技術として、デジタル画像データを領域ごとに分割し、別々の領域ごとに局所画像処理を行なうという技術がある（特許文献１〜４を参照）。一般に、かかる技術では、図３の（ａ）〜（ｄ）に示されるように、１枚のデジタル画像データ全体が帯状（短冊状）に分割され、逐次的に領域毎に各種の画像処理が行なわれる。
【０００４】
この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドメモリと呼び、画像を分割する行為をバンド分割と呼ぶ。バンドメモリは、メインメモリ内に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、ここでは、説明を簡潔にするためにバンドメモリをメインメモリ内に確保する場合を例に挙げて説明する。
【０００５】
また、デジタル画像データの座標系（主走査方向−副走査方向）は、図３の（ｅ）に示すように、長さ方向、高さ方向という新たな座標系（バンド領域座標系）を定義し、バンド領域を長さ×高さで表現する。また、バンド領域の長さは、必ずデジタル画像データの主走査方向の幅、もしくは副走査方向の高さの何れかの値となり、バンドの高さは任意の値となる。
【０００６】
バンド処理についてもう少し詳しく説明する。まず、図３の（ａ）に示す第１のバンド領域３０１を、メインメモリ上のバンドメモリに展開して画像処理を行なう。次に、図３の（ｂ）に示す第２のバンド領域３０２を第１のバンド領域３０１が展開されたバンドメモリに上書き展開して画像処理を行なう。さらに、図３の（ｃ）に示す第３のバンド領域３０３を第２のバンド領域３０２が展開されたバンドメモリに上書き展開して画像処理を行なう。最後に、図３の（ｄ）に示す第４のバンド領域３０４を第３のバンド領域３０３が展開されたバンドメモリに上書き展開して画像処理を行なう。図３の（ａ）〜（ｄ）で明らかなように、バンド領域３０１〜３０４の長さは同じであるが、高さは同じである必要性は無い。メインメモリに確保される記憶領域であるところのバンドメモリの高さは、高さ方向のサイズが最も大きいバンド領域（図３の場合、第１〜第３のバンド領域３０１〜３０３）によって決定される。
【０００７】
かかる技術では、各バンド領域間で隙間なく局所画像処理を行なうために、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うように工夫している。また、特許文献４では、各バンド領域の高さと同一の方向に一画素ずつ画素を走査することで、局所画像処理に必要な処理画素を保持する遅延メモリの容量を各バンド領域の高さの大きさで規定することで、この遅延メモリの省メモリ化を実現している。
【特許文献１】米国特許第６，５８７，１５８号明細書
【特許文献２】特開２０００−３１２３２７号公報
【特許文献３】特許第３７３３８２６号明細書
【特許文献４】特開２００６−１３９６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年、機器の差別化を目的とした高画質化を実現するために、デジタル画像データの解像度は増大しており、画像処理におけるデータ処理量もそれに応じて増大している。そのため画像処理のデータ処理量が増加しても回路規模を大きくしない画像処理手法が必要である。また画像処理のデータ処理量が増加しても、ユーザが機器を操作したときの操作感覚を最良に保つためには、画像処理の実行時間を長くすることはできず、デジタル画像データの解像度の増加に応じて画像処理を高速化する手法も求められている。
【０００９】
しかしながら従来技術では、局所画像処理を行なうに際し、バンド領域の高さ方向に１画素ずつ走査することを規定し、遅延メモリの省容量化について言及するが、走査処理の効率を向上して画像処理を高速化するという観点からの検討はない。
【００１０】
本発明は、上述した課題に鑑みてなされたもので、遅延メモリの省容量化を実現しつつ、局所画像処理の回路規模の削減と、処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するための本発明の一態様による画像処理方法は、
第１のメモリに保持されている画像データを処理する画像処理方法であって、
前記画像データが表す画像の第１の方向に連続するＮ画素（Ｎは２以上の整数）からなる画素群を前記第１のメモリから読み出す読出処理を、前記第１の方向と直交する第２の方向へ順次に行う読出工程と、
前記読出処理に応じて、前記第２の方向に連続する予め定められた数の画素群の画素データをシフトレジスタに保持する保持工程と、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用され、前記第１の方向に連続するＭ画素（ＭはＮより小さい整数）の画素データで、第２のメモリに保持されている不要になった画素データを置換することにより前記第２のメモリの内容を更新する更新工程と、
前記シフトレジスタと前記第２のメモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供工程とを備える。
【００１２】
また、上記の課題を解決するための本発明の他の態様による画像処理装置は以下の構成を備える。すなわち、
第１のメモリに保持されている画像データを処理する画像処理装置であって、
前記画像データが表す画像の第１の方向に連続するＮ画素（Ｎは２以上の整数）からなる画素群を前記第１のメモリから読み出す読出処理を、前記第１の方向と直交する第２の方向へ順次に行う読出手段と、
前記読出処理に応じて、前記第２の方向に連続する予め定められた数の画素群の画素データを保持するシフトレジスタと、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用され、前記第１の方向に連続するＭ画素（ＭはＮより小さい整数）の画素データで、第２のメモリに保持されている不要になった画素データを置換することにより前記第２のメモリの内容を更新する更新手段と、
前記シフトレジスタと前記第２のメモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供手段とを備える。
【発明の効果】
【００１３】
本発明によれば、遅延メモリの省容量化を実現しつつ、局所画像処理の回路規模の削減と、処理の高速化を達成される。
【発明を実施するための最良の形態】
【００１４】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１５】
（第１実施形態）
図１は、第１実施形態による画像処理装置の全体構成の一例を示すブロック図である。図１において、画像読み取り部１２０は、レンズ１２２、ＣＣＤセンサ１２４、及びアナログ信号処理部１２６等を有する。画像読み取り部１２０において、レンズ１２２を介しＣＣＤセンサ１２４に結像された原稿１００の画像情報が、ＣＣＤセンサ１２４によりＲ（Red），Ｇ（Green），Ｂ（Blue）のアナログ電気信号に変換される。
【００１６】
アナログ電気信号に変換された画像情報は、アナログ信号処理部１２６に入力され、Ｒ，Ｇ，Ｂの各色毎に補正等が行われた後にアナログ／デジタル変換（Ａ／Ｄ変換）される。こうして、デジタル化されたフルカラー信号（以下、デジタル画像信号という）が生成される。生成されたデジタル画像信号は、画像処理部１３０に入力される。画像処理部１３０は、デジタル画像信号に対し、後述する入力補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理を施し、これらの処理が施された後のデジタル画像信号をプリンタ部１４０へ出力する。プリンタ部１４０は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部（図示せず）を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。
【００１７】
また、ＣＰＵ回路部１１０は、演算制御用のＣＰＵ１１２、固定データやプログラムを格納するＲＯＭ１１４、データの一時保存やプログラムのロードに使用されるＲＡＭ１１６、及び外部記憶装置１１８等を備える。ＣＰＵ回路部１１０は、画像読み取り部１２０、画像処理部１３０、及びプリンタ部１４０等を制御し、本実施形態の画像処理装置のシーケンスを統括的に制御する。
【００１８】
外部記憶装置１１８は、本実施形態の画像処理装置が使用するパラメータやプログラムを記憶するディスク等の記憶媒体であり、ＲＡＭ１１６のデータやプログラム等は、外部記憶装置１１８からロードされる構成としても構わない。
【００１９】
次に、図１の画像処理部１３０について詳細に説明する。図２は、本実施形態の画像処理部１３０が有する主要な回路構成であるところの画像処理コントローラ２００の構成の一例を示すブロック図である。アナログ信号処理部１２６からデジタル画像信号がバス２０５を経由して画像処理コントローラ２００に入力されると、以下に説明する画像処理が実行される。
【００２０】
画像処理コントローラ２００は、入力インターフェース２１０、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、中間調処理回路２６０、及び出力インターフェース２７０を備える。以下、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、及び中間調処理回路２６０について詳細に説明する。
【００２１】
［入力補正回路２２０］  入力インターフェース２１０を経由して入力補正回路２２０に画像読み取り部１２０からのデジタル画像信号２１５が入力される。このデジタル画像信号２１５はＲ，Ｇ，Ｂの輝度信号で構成される。入力補正回路２２０は、原稿１００を読み取るセンサの特性のばらつきや、原稿照明用ランプの配光特性を補正するための処理を入力したデジタル画像信号に対して行なう。
【００２２】
［空間フィルタ回路２３０］  入力補正回路２２０から出力されたデジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２２５は、空間フィルタ回路２３０に入力される。空間フィルタ回路２３０は、本実施形態の主な特徴部分に該当する回路であり、デジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２２５に対し、平滑化やエッジ強調といった局所画像処理を行なう。
【００２３】
［色空間変換回路２４０］  空間フィルタ回路２３０から出力されたデジタル画像信号（輝度信号Ｒ,Ｇ,Ｂ）２３５が、色空間変換回路２４０に入力される。色空間変換回路２４０は、デジタル画像信号２３５の輝度信号Ｒ，Ｇ，Ｂを、濃度信号Ｃ（Cyan），Ｍ（Magenta），Ｙ（Yellow），Ｋ（Black）へ変換する。
【００２４】
［濃度補正回路２５０］  色空間変換回路２４０から出力されたデジタル画像信号（濃度信号Ｃ,Ｍ,Ｙ,Ｋ）２４５が、濃度補正回路２５０に入力される。濃度補正回路２５０は、デジタル画像信号（濃度信号Ｃ,Ｍ,Ｙ,Ｋ）２４５に対し、濃度補正を行なう。濃度補正回路２５０は、後段の中間調処理回路２６０で２値化されたときに濃度変化が起きないように、中間調処理の特性を考慮して予め濃度補正を行なうものである。
【００２５】
［中間調処理回路２６０］  濃度補正回路２５０から出力されるデジタル画像信号（濃度信号Ｃ,Ｍ,Ｙ,Ｋ）２５５が中間調処理回路２６０に入力される。中間調処理回路２６０は、デジタル画像信号（濃度信号Ｃ,Ｍ,Ｙ,Ｋ）２５５に対し、スクリーン処理が行なわれ、２値の中間調表現に変換される。
【００２６】
こうして、２値デジタル画像信号（印字信号Ｃ,Ｍ,Ｙ,Ｋ）２６５が出力インターフェース２７０とバス２７５とを経由してプリンタ部１４０に出力される。
【００２７】
本実施形態では、バンド処理に特化した画像処理を行なうことで、遅延メモリの省容量化を実現する。また、複数画素を１つの処理単位とすることにより、画像処理装置の回路規模削減や高速化を実現する。このような目的を達成するために、本実施形態ではデジタル画像データの座標系（主走査方向−副走査方向）とは異なるバンド領域座標系で画像処理が行なわれる。
【００２８】
図４は、本実施形態の画像処理方法によるバンド領域（バンドメモリ）からの画素データの読出動作（走査）の一例を説明する図である。図４の（ａ）、（ｂ）において斜線で示している領域４０２は、図３に示したデジタル画像データ３００から取り出されたバンド領域（例えばバンド領域３０１に対応する）である。
【００２９】
まず、バンド領域４０２の左上端の画素からバンド領域の長さ方向に沿って一度に取り扱われる画素群４３０における画素数Ｎが設定される。なお、Ｎは２以上の整数であり、図４の例ではＮ＝４画素である。以後の画像処理はこの画素群４３０を単位として実行される。バンド領域の長さ方向に沿った４画素に対して画像処理がなされ、バンド処理の高さ方向に１画素だけ走査される。そして、バンド領域４０２の下端の長さ方向に沿った４画素まで走査が進むと、再度バンド領域の上端の画素から上記走査処理が繰り返される。すなわち、バンド領域４０２の第１の方向としての長さ方向に沿った連続するＮ画素（４画素）を単位とした読出処理を、バンド領域４０２の第２の方向としての高さ方向への１画素ずつ、バンド領域４０２の下端まで繰り返される。このようなＮ画素からなる画素群の読出処理を順次に行うことにより、バンド領域４０２が走査される。なお、第１及び第２の方向は互いに直交し、第１の方向のサイズが第２の方向のサイズよりも大きくなるように設定される。このようなサイズの関係とすることで、遅延メモリの容量を低減することができる。また、入力画素群がＮ画素（Ｎ≧２）であるため、一般的な画像処理回路のようなデュアルポートメモリを使うことで、Ｎ並列の画像処理が可能となり、Ｎ倍の高速処理が実現できる。
【００３０】
以上の一連の走査、画像処理をバンド領域の右下端の画素まで実行することにより、１つのバンド処理が終了する。このように、本実施形態では、バンド領域の長さ方向に対して前述の画素群の画素を逐次的に処理し、バンド領域の高さ方向に対して１画素ずつ移動していくが、特許文献１〜４では常に一方向に対して１画素単位に処理が行われ、１画素単位に走査されるのみである。
【００３１】
図４の（ａ）に示す空間フィルタ領域４１０内の９つの画素は、処理対象画素群の画素であり、図６の（ａ）に示す９つの画素に対応する。図４の（ａ）は、図６の（ａ）の画素ｐ（i+1,j+1）に相当する画素群４３０の１つの画素が、図５Ａに示す空間フィルタ回路２３０に入力されて、空間フィルタ領域４１０内の９つの全画素が空間フィルタ回路２３０内に揃った状態を示している。
【００３２】
本実施形態では、空間フィルタ回路２３０の処理画素の領域がバンド領域の長さ方向にfw[pixel]であり、バンド領域の高さ方向にfh[pixel]の範囲であるとする。すなわち、処理対象画素群の領域は、fw画素×fh画素で表現される。また、前述のバンド領域の長さ方向に対しての処理単位である画素群の画素数がＮ[pixel]と設定された場合、{(fw−1)＋Ｎ}×fh[pixel]の画素が空間フィルタ回路２３０に保持される。図４の例では、{(3−1)＋4}×3＝18 [pixel]が空間フィルタ回路２３０においてフィルタ処理（積和演算器５６５）へ提供可能に保持されている。なお、以下では、説明のために便宜上、図４の（ｅ）に示されるようにａ〜ｒまでの記号で、空間フィルタ回路２３０において提供可能に保持される画素を表現する。
【００３３】
具体的には、
・読出処理によりバンドメモリから入力された画素群４３０の処理画素ｏ、ｐ、ｑ、ｒと、
・図５Ａの、シフトレジスタとしての遅延レジスタ５７２に保持される図４の（ａ）の領域４２０の処理画素ｃ、ｄ、ｅ、ｆ、ｉ、ｊ、ｋ、ｌと、
・図５Ａの遅延メモリ５７５から読み出される処理画素ａ、ｂ、ｇ、ｈ、ｍ、ｎである。
【００３４】
こうして、読出処理毎に、新たに読み込まれた画素群（ｏ，ｐ，ｑ，ｒ）を含む予め定められたサイズ(図４では、ａ〜ｒの６×３画素）の処理対象領域の画素データが、遅延レジスタ５７２と遅延メモリ５７５により、画像処理へ提供可能になる。本例では、読出処理によって取得された、連続するＮ個の画素で構成された画素群が、高さ方向にfh個だけ連続した、Ｎ×fh個の画素データが遅延レジスタ５７２によって保持される。
【００３５】
以下に図５Ａに示す空間フィルタ回路２３０のブロック図を参照して、空間フィルタ回路２３０の動作を説明する。
【００３６】
まず、外部から画素群４３０の処理画素ｏが入力される。空間フィルタ回路２３０は、遅延回路５７０を介して遅延メモリ５７５にアクセスし、処理画素ｏと同一ラインに位置する図４の（ｂ）の４９０に位置する処理画素ｍとｎを読み出す。セレクタ５５０は、処理画素ｏを処理する以前に遅延メモリ５７５から既に読み出されている処理画素ａ、ｂ、ｇ、ｈと遅延レジスタにすでに保持されている処理画素ｃとｉを選択する。こうして、セレクタ５５０により抽出された９つの処理画素（ａ、ｂ、ｃ、ｇ、ｈ、ｉ、ｍ、ｎ、ｏ）の画素値が積和演算器５６５に代入される。なお、図５Ａでは、この選択の様子を太線で示している。
【００３７】
また、図６の（ｂ）に示すような加重マトリクスを記憶するための、図５Ａに示される加重マトリクスレジスタ５６０から９つの加重値が積和演算器５６５に代入される。積和演算器５６５は、加重マトリクスレジスタ５６０からの９つの加重値と、上記の選択された９つ画素の画素値とを用いて所定の演算を行ない、処理画素に対するフィルタ演算結果５９０を出力する。この出力した値が、図４の（ａ）に示す処理画素ｈの画像処理結果となる。
【００３８】
画素群４３０の処理画素ｏ、ｐ、ｑ、ｒが逐次入力され、処理画素ｈ、処理画素ｉ、処理画素ｊ、処理画素ｋの順に画像処理が実行される。図４の（ｃ）と図５Ｂは、処理画素ｋに対する画像処理（空間フィルタ処理）を行っている状態を示している。図５Ｂでは、セレクタ５５０によって選択された９つの処理画素としてｄ、ｅ、ｆ、ｊ、ｋ、ｌ、ｐ、ｑ、ｒ）の画素値が積和演算器５６５に代入されており、この選択の様子が太線で示されている。最後に、図５Ｂに示す画像処理装置（空間フィルタ回路２３０）は、遅延回路５７０を介して遅延メモリ５７５にアクセスし、図４の（ｄ）の４９５に位置する処理画素ｅとｆを遅延メモリ５７５の処理画素ａとｂの領域に上書きする。こうして、画素ａとｂの画素値を消去すると共に画素ｅとｆの画素値を記憶する。
【００３９】
このような遅延回路５７０によるリング式ＦＩＦＯの動作により、図４の（ａ）に示す遅延メモリ５７５に記憶される画素領域４５０ａ，ｂは、常に２ライン（空間フィルタ領域４１０の幅fhより１だけ小さいライン数）となる。なお、ＦＩＦＯは、First-In First-Outの略である。上述の画素群の処理が進むにつれ、入力される画素群４３０は走査方向４７０（バンド領域の高さ方向）とは垂直な方向（バンド領域の長さ方向）に、同様に遅延メモリ５７５に記憶される画素領域４５０も走査方向４７０とは垂直な方向に遷移していくことになる。なお、図４の（ａ）では、遅延メモリ５７５に記憶される画素領域４５０ａ，ｂが遷移する方向を、遅延メモリの走査方向４８０として図示している。すなわち、図４の（ａ）、（ｂ）では、遅延メモリ５７５に記憶される画素領域４５０ａが４５０ｂへ遷移している様子が示されている。このように、遅延メモリ５７５に保持される画素領域は、前述の画素群の画素数であるＮ（＝４）を単位に遅延メモリの走査方向４８０に遷移しており、この部分が特許文献１〜４には記載されていない特徴的な部分である。
【００４０】
このとき重要なのは、遅延メモリ５７５に対するデータアクセスは、Ｎ個の画素群を処理するために読み込みと書き込みの２回ですむということである。すなわち、本実施形態の例では、４画素（Ｎ＝４）からなる１つの画素群を処理するために、遅延メモリ５７５へはたった２回のアクセスが必要となるだけである。すなわち、画素ｍ、ｎの読み出しと、画素ｅ，ｆの書き込みの２回のアクセスが必要となるのみである（但し、本実施形態では、遅延メモリ５７５への１回のアクセスで読み出しもしくは書き込みがなされる１ワードのビット長が２画素分に対応しているものとする）。特許文献１〜４を含め、一般的な空間フィルタ回路では、１画素処理するために遅延メモリに対するデータアクセスは必ず２回発生する。そのため、一般的には、１クロックサイクルにつき１画素を処理する高速な空間フィルタ回路を実現するためには、１画素につき２回のデータアクセスを１クロックサイクルで実現する必要がある。よって、１基のデュアルポート（２ポート）メモリを使用する手法か、２基のシングルポート（１ポート）メモリを使用してインターリーブアクセスをする手法かの手段を講じる必要がある。従って、１基のシングルポート（１ポート）メモリを使用するのに比べ、メモリの回路規模が増大する。
【００４１】
本実施形態では、２画素以上の画素群を単位に画像処理を行い、画素群を単位に遅延メモリにデータアクセスを行うため、データアクセスが１クロックサイクルに集中しないで良いということに着眼している。そして、その実現のために画素の走査方法を工夫している。
【００４２】
また図２に示す一連の画像処理のうち、空間フィルタ処理以外の処理（入力補正、色空間変換、濃度補正、中間調処理）は局所画像処理ではないが、本実施形態のような処理画素の走査方法が用いられたとしても何ら問題は生じない。
【００４３】
なお、上記実施形態の例とは逆に、バンド領域の高さ方向に画像処理の単位である画素群４３０を設定した場合を図９の（ａ）、（ｂ）に示す。図９の（ａ）から理解できるように、画素群４３０を処理するために、遅延メモリ５７５から一度に読み出す必要のある画素領域４９０は、図４の（ｂ）に示される画素領域４９０より、明らかに画素数が多い。これは遅延メモリ５７５から一度にデータアクセスするデータ量が多いことを示し、回路規模が増加する可能性が高いことを示している。
【００４４】
また、本実施形態のようなバンド分割により逐次的に画像処理を行う方法では、図３に示すようにバンド領域の高さを画像の大きさに応じて変更する必要が生じる。すなわち、バンド領域の高さは固定ではなく、バンド領域３０４のようにバンド領域の高さ変化する可能性がある。図９の（ｂ）から明らかなように、バンド領域の高さ方向に画素群を設定した場合、バンド領域の高さにうまく適合できない可能性が生じる。一方、図４に示した実施形態では、バンド領域の高さ方向に１画素ずつしか走査しないため、図９の（ｂ）のような問題は起こり得ず、バンド分割により逐次的に画像処理を行う方法の利点でもある、柔軟なバンド高さの設定に非常に適していると言える。
【００４５】
以上のように第１実施形態では、
・１枚のデジタル画像データ３００を複数のバンド領域３０１〜３０４に分割して、各バンド領域３０１〜３０４を逐次的にバンドメモリに割り当て、
・バンド領域の長さ方向に画像処理の基本単位となるＮ個の連続する画素からなる画素群４３０として設定し、
・画素群４３０の読出処理を、バンド領域の長さ方向に対し垂直な方向（高さ方向）に１画素ずつ移動させ、
・読出処理に応じて、高さ方向に連続する、予め定められた数の画素群の画素データを遅延レジスタ５７２に保持し、
・読出処理毎に、遅延レジスタ５７２から消去される画素データのうちの後の画像処理に利用される画素データで、遅延メモリ５７５内の不要になった画素データを置換することにより遅延メモリ５７５の内容をリング式にデータ更新し、
・読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの処理対象領域（{fw-1}＋Ｎ}×fh）の画素データを遅延レジスタ５７２と遅延メモリ５７５を用いて、画像処理に提供することで、画像処理を行うようにした。
【００４６】
特に、バンド領域の高さと空間フィルタ領域４０１の幅fwから１を減じた値との積に依存する所定画素数分の容量のリング式にデータ更新される遅延メモリ５７５に走査した画素群の一部の画素を保持しながら画像処理を行なうようにした。一般的な画像処理回路では、遅延メモリはライン長×空間フィルタ領域の高さfhとの積もしくは、ライン長と空間フィルタ領域の高さｆｈから１を減算した値との積の容量になる。これに対して、本実施形態では、遅延メモリの容量は、バンド領域の高さと空間フィルタ領域４０１の幅fwから１を減じた値との積である。一般に、バンド領域の高さはバンド領域のライン長よりも小さいので、遅延メモリの容量が小さくなり回路規模が小規模となる。
【００４７】
上述の画素の走査方向の工夫により、遅延メモリ５７５は前述の画素群の画素数であるＮを単位に遅延メモリの走査方向４８０に遷移することとなる。その結果、遅延メモリ５７５に対するデータアクセス数は、前述した特許文献１〜４に示される従来技術では１画素につき２回となるが、本実施形態ではＮ個の画素（１つの画素群４３０）につき２回のデータアクセス数となる。そのため、遅延メモリに対する１画素あたりのデータアクセスの頻度が削減され、空間フィルタ回路２３０を高速化したとしても、遅延メモリ５７５を画素群を構成する画素間で共有化でき、回路規模の削減が可能である。
【００４８】
なお、上記実施形態では、１枚の画像をバンド領域に分割して得られた画像データを処理する例を示したが、１枚の画像から得られる画像データを処理する場合にも適用可能であることはいうまでもない。
【００４９】
（第２実施形態）
次に、本発明の第２実施形態について説明する。第２実施形態では、画素群の画素数Ｎを分散／並列処理しており、第１実施形態よりさらに高速な画像処理を可能とする。以下に説明する高速化の手法により、デジタル画像データの解像度の増加に合わせて画像処理の高速化が実現できる。したがって、第２実施形態の説明において、前述した第１実施形態と同一部分については、図１〜図６に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【００５０】
図７は、第１実施形態の図４の（ｅ）に相当する画素領域、つまり空間フィルタ回路２３０に一時的に保持される処置対象画素の領域を示す。図７から分かるように、第２実施形態では、４画素を単位とする入力画素群に対して４パターンの空間フィルタ領域（９つの画素）を同時に抜き出すことが可能である。第２実施形態では、処理単位である画素群の画素数Ｎを分散／並列処理の並列度plとして考える。そして、上記画素領域を保持するレジスタから画素数Ｎ(＝pl)個分の９つの画素を取得し、図８に示すように画素数Ｎ(＝pl)個の積和演算器５６５を接続することで容易に空間フィルタ回路２３０の分散／並列処理が可能となる。
【００５１】
１つの積和演算器５６５が１クロックサイクルに１画素を処理できる回路の場合、図８に示す空間フィルタ回路２３０では、１クロックサイクルにＮ(＝pl)画素を処理することが可能である。よって、第１実施形態の空間フィルタ回路２３０のＮ(＝pl)倍の処理性能が得られる。
【００５２】
ただし、第２実施形態の場合、画素数Nの画素群につき遅延メモリ５７５に対するデータアクセス回数は第１実施形態と同様に２回であるが、処理を高速化したため１クロックサイクルにつきこの２回のデータアクセスを実現しなければならない。そのため第１実施形態では、４クロックサイクルに２回のデータアクセスであり、１基のシングルポート（１ポート）メモリで構成できたが、第２実施形態ではそのようなわけにはいかない。すなわち、第２実施形態では、１基のデュアルポート（２ポート）メモリを使用する手法か、２基のシングルポート（１ポート）メモリを使用してインターリーブアクセスをする手法かの手段を講じる必要がある。しかしながら、画素数Ｎ(＝pl)を分散／並列処理してＮ(＝pl)倍に高速化しても、遅延メモリは前述の特許文献２〜４の１画素ずつ走査する画像処理方法と同様であり、大きな問題とは言えない。
【００５３】
以上説明したように、第２実施形態の画像処理方法を採用すれば、例えデジタル画像データ３００の解像度が増加しても、分散／並列処理により画像処理を高速化することが可能である。すなわち、図３に示すようにバンド処理の高さ方向に柔軟にバンド領域３０１から３０４をバンド分割し、並列度plである画素数Nを画素群として設定し、画素数Ｎ(＝pl)ずつ分散／並列処理して画像処理を高速化することが可能である。
【００５４】
尚、第１実施形態と第２実施形態を組み合わせて、例えば画素数Ｎ＝４画素のうち並列度pl＝２として画像処理できることは当業者には明らかである。
【００５５】
以上説明したように、上記各実施形態によれば、画像処理するために必要な遅延メモリの容量をバンド領域の高さに依存させているので、メモリの省容量化が実現される。また、設定したＮ個の画素群によりこのメモリが共有されることになるので、１画素あたりのデータアクセス数が削減される。
【００５６】
これにより、局所（近傍）画像処理を行なうに際し、画像処理を前記逐次的に行う場合は、回路規模の削減を実現し、画像処理を前記並列的に行う場合は、処理の高速化を実現できる。
【００５７】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５８】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００５９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００６１】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００６２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００６４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００６５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施形態を示し、画像処理装置の全体構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態を示し、画像処理部の回路構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態を示し、バンド処理の動作の一例を説明する図である。
【図４】本発明の第１の実施形態を示し、画像処理方法の一例を説明する図である。
【図５Ａ】本発明の第１の実施形態を示し、画像処理装置（空間フィルタ回路）の構成の一例を示す図である。
【図５Ｂ】本発明の第１の実施形態を示し、画像処理装置（空間フィルタ回路）の構成の一例を示す図である。
【図６】本発明の第１の実施形態を示し、空間フィルタ領域の一例を示す図である。
【図７】本発明の第２の実施形態を示し、画像処理方法の一例を説明する図である。
【図８】本発明の第２の実施形態を示し、画像処理装置（空間フィルタ回路）の構成の一例を示す図である。
【図９】本発明とは異なる画像処理方法の一例を説明する図である。
【図１】
0005522890.tif 000002
【図２】
0005522890.tif 000003
【図３】
0005522890.tif 000004
【図４】
0005522890.tif 000005
【図５Ａ】
0005522890.tif 000006
【図５Ｂ】
0005522890.tif 000007
【図６】
0005522890.tif 000008
【図７】
0005522890.tif 000009
【図８】
0005522890.tif 000010
【図９】
0005522890.tif 000011