(57)【特許請求の範囲】
【請求項１】
パイプライン形態に接続されて各々所定の処理を実行する複数の画像処理手段を有する画像処理装置であって、
前記複数の画像処理手段の各々は、所定の処理を処理対象の画像データの先頭からやり直すように状態を再初期化する機能と、接続された他の画像処理手段へ再初期化指示を伝達する機能を持つとともに、後段の画像処理手段から始めて出力要求を受けたとき、または後段の画像処理手段から再初期化指示が与えられたとき、前段の画像処理手段に対して再初期化指示を与え、
前記再初期化指示が与えられた画像処理手段は、読み込み開始位置ポインタを画像データ開始位置へ移動し、しかる後前記所定の処理を行う
ことを特徴とする画像処理装置。
【請求項２】
前記再初期化指示が与えられた画像処理手段は、ライン数をカウントするラインカウンタを初期化する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記複数の画像処理手段のうちの少なくとも一つは、前記所定の処理における処理対象の画像データの全画素値を用いて当該所定の処理を行う
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記再初期化指示が与えられた画像処理手段は、再初期化を行う際に、前記処理対象の画像データの全画素値を用いて画像属性を取得する
ことを特徴とする請求項３記載の画像処理装置。
【請求項５】
各々所定の処理を実行する複数の画像処理モジュールがパイプライン形態に接続されてなるパイプライン処理において、
前記複数の画像処理モジュールの各々に、所定の処理を処理対象の画像データの先頭からやり直すように状態を再初期化する機能と、接続された他の画像処理手段へ再初期化指示を伝達する機能を持たせたるとともに、後段の画像処理手段から始めて出力要求を受けたとき、または後段の画像処理手段から再初期化指示が与えられたとき、前段の画像処理手段に対して再初期化指示を与えるようにし、
前記再初期化指示が与えられた画像処理手段では、読み込み開始位置ポインタを画像データ開始位置へ移動し、しかる後前記所定の処理を行う
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル化された画像データを処理する画像処理装置および画像処理方法に関し、特に複数の要素機能的な画像処理モジュールを用意して、その組み合わせにより多種多様な画像処理機能を実現するような画像処理装置および画像処理方法に関する。
【０００２】
【従来の技術】
複数の要素機能的な画像処理モジュールを用意して、その組み合わせにより多種多様な画像処理機能を提供する技術は、例えば文書エディタや描画ツール、あるいは画像伝送装置やプリンタ等、デジタル画像を取り扱う様々なシステムにおいて利用される。
【０００３】
画像を入力可能なＤＴＰ（デスクトップ・パブリッシング）システム、画像を出力可能なプリントシステムなどでは、処理対象となる画像に対して、例えば拡大・縮小、回転、アフィン変換、色変換、フィルタ、合成などの各種の画像処理が行われる。これらの処理を行う際には、入力画像の属性や処理内容、手順、パラメータなどが固定されている場合には専用のハードウェアを用いて処理を行う場合もあるが、例えば色空間や画素当たりのビット数が異なる様々な画像が入力されたり、処理内容や手順、パラメータなどが様々に変更される場合には、より柔軟性のある構成で対応することが必要となる。
【０００４】
このような要求を満たす手段としては、従来、プログラマブルなモジュールをパイプライン形態やＤＡＧ（Directed Acyclic Graph：有向非循環グラフ）形態に接続して、柔軟に所望の処理を行う技術が提案されている（例えば、特開平５−２６０３７３号公報や特開平７−１０５０２０号公報を参照）。
【０００５】
特開平５−２６０３７３号公報には、複数のプログラマブル演算処理部の各演算処理内容と、ネットワーク部による各プログラマブル演算処理部の接続形態とを、ホストコントロール手段を通じて外部から自在に設定できるように構成することにより、高速かつ高度な演算処理が可能で、機能変更、系統変更に対する自由度が高いデジタル映像信号処理装置が記載されている。また、特開平７−１０５０２０号公報には、必要な機能モジュールを所望の順番でパイプライン状に接続／初期化し、処理を行うことで柔軟に画像処理を行うパイプライン化画像処理システムが記載されている。
【０００６】
特開平７−１０５０２０号公報に記載の上記技術は、例えばＵＮＩＸ（登録商標）などのオペレーティングシステムで用いられている単一プロセッサによる多重処理パイプラインのシミュレーション方式を画像処理などの分野に応用したものである。そして、特に画像処理においては、１回の処理単位を例えば画像の１ラインのように画像の一部に限定することにより、各処理モジュールが処理用に保持するメモリ領域を極めて少なくすることが可能となる。
【０００７】
その結果、少ないメモリ容量で複雑な処理を実行できるコストの安い画像処理装置を提供することが可能となったり、あるいは仮想記憶をサポートするオペレーティングシステム上で動作させる場合には、メモリ不足によるスワップアウトが最小限に抑えられるため、高速に処理を実行することが可能となる。
【０００８】
【発明が解決しようとする課題】
これまで述べたような、要素機能的なモジュールを任意に組み合わせて所望の複雑な処理を行わせることが可能な画像処理装置を構成する場合に、非常に重要な機能として、所定の処理を処理対象の画像データの先頭からやり直すように状態を初期状態に戻す再初期化がある。入力から最後尾の処理まで、一度も再初期化を行わずに済むパイプライン処理も多いが、次のようなパイプライン処理の場合には再初期化を行う必要がある。
【０００９】
例えば図８に示すように、画像入力部１０２、ヒストグラム生成部１０３および２値化処理部１０４を含み、画像記憶部１０１からのデジタル画像データを２値化して画像出力部１０５に供給するパイプライン処理において、ヒストグラム生成部１０３で対象画像のヒストグラムデータを生成し、そのヒストグラムデータを用いて２値化閾値を決定し、その閾値を用いて２値化処理部１０４で２値化処理を行う場合を想定する。
【００１０】
ヒストグラム生成部１０３でヒストグラムを生成するには、処理対象の画像データの全画素値を必要とするために、全ラインの画像データを読み込み、全画素について情報を取得する必要がある。従って、先述した従来技術に係るパイプライン処理において、全ラインの画像データを読み込み、全画素について情報を取得するための処理を実現しようとすると次の２方式が考えられる。
【００１１】
１つ目としては、図９に示すように、ヒストグラムデータを生成するパイプライン２００Ａと、生成されたヒストグラムデータを基に２値化処理を行うパイプライン２００Ｂという別々のパイプラインを生成する方式である。これをコンピュータ上の処理プログラムモジュールとして実現する場合を想定すると、画像入力部１０２が２度生成され、かつ画像入力部１０２における初期化処理が２回行われることになるため、リソース／処理速度の面で無駄が発生してしまう。
【００１２】
２つ目としては、図８に示す１つのパイプラインにおいて、ヒストグラム生成部１０３を図１０に示すような構成とする方式である。すなわち、ヒストグラム生成部１０３を、前段のモジュールから入力される画像データを全ライン分保持するための入力バッファ３０１と、処理結果を後段のモジュールに出力するための出力バッファ３０２と、ヒストグラム生成処理を制御するヒストグラム生成制御部３０３とを有する構成とする。
【００１３】
これをコンピュータ上の処理プログラムモジュールとして実現する場合を想定すると、ヒストグラム生成部１０３では、先ず、初期化時に前段のモジュールから入力される画像データを全て入力バッファ３０１に格納する。次に、ヒストグラム生成制御部３０３は、入力バッファ３０１に格納されている全画像データを用いてヒストグラムデータを生成し、内部に保持しているラインカウンタを初期化（＝１）する。後段のモジュールから出力バッファ３０２が渡されて出力要求を受けると、ヒストグラム生成制御部３０３は、入力バッファ３０１に保持している画像データを出力バッファ３０２へ１ライン単位でコピーし、出力バッファ３０２を後段へ返し、しかる後ラインカウンタを１加算する。
【００１４】
この２つ目の方式の場合には、ヒストグラム生成部１０３でのヒストグラム生成処理において、画像データ自体を全く変換しないにも拘わらず、入力される画像データ全てを保持する必要があり、入力バッファ３０１として全画像データを格納できるだけのメモリ容量を持つバッファが必要となるため、リソースの面で大きな無駄が発生してしまう。
【００１５】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、複数の要素機能的な画像処理モジュールを任意に組み合わせて多種多様な画像処理機能を実現する際に、処理対象の画像データの再読み出しを可能とする画像処理装置および画像処理方法を提供することにある。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、本発明では、各々所定の処理を実行する複数の画像処理手段（画像処理モジュール）がパイプライン形態に接続されてなる画像処理装置において、複数の画像処理手段（画像処理モジュール）の各々に、再初期化する機能と、接続された他の画像処理手段へ再初期化指示を伝達する機能を持たせるようにしている。ここで、再初期化とは、所定の処理を処理対象の画像データの先頭からやり直すように状態を初期状態に戻す処理のことを言う。そして、後段の画像処理手段から始めて出力要求を受けたとき、または後段の画像処理手段から再初期化指示が与えられたとき、前段の画像処理手段に対して再初期化指示を与えるようにし、前記再初期化指示が与えられた画像処理手段では、読み込み開始位置ポインタを画像データ開始位置へ移動し、しかる後前記所定の処理を行うようにしている。
【００１７】
パイプライン処理において、複数の画像処理手段（画像処理モジュール）の各々に再初期化機能を持たせることにより、処理対象の画像データの再読み出しが可能となる。従って、画像データを解析した結果を後段の処理で使用するような処理をコンピュータ上のプログラムとして実現する場合に、従来複数のパスで行っていた処理を１つのパスで実現できるため、プログラミング効率が高まり、さらに初期化のオーバーヘッドも発生せず、処理を軽減できる。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
図１は、本発明の一実施形態に係る画像処理装置（システム）の構成の一例を示すブロック図である。図１から明らかなように、本実施形態に係る画像処理装置は、画像記憶部１１、メモリ部１２、処理記憶部１３、画像出力部１４および制御部１５を有し、これら構成要素がバスライン１６を介して相互に接続された構成となっている。また、本画像処理装置での処理対象となる画像データの構造を図２に模式的に示す。
【００２０】
図１において、画像記憶部１１は、処理対象であるデジタル化された画像データを保持する。メモリ部１２は、画像記憶部１１に保持された画像データや、各種処理を行うために必要な処理領域や各種の演算途中結果、処理パラメータ等を保持する。なお、画像記憶部１１についてはメモリ部１２と兼用するようにしても良い。
【００２１】
処理記憶部１３は、画像記憶部１１に保持された処理対象の画像データに対して所定の処理を実行する各種の画像処理手段、例えば画像入力手段１３１、ヒストグラム生成処理手段１３２および２値化処理手段１３３を有している。この処理記憶部１３内の各種の画像処理手段は、プログラムモジュールとしてメモリ部１２の中に展開されて動作しても良いし、一部又は全部が専用のハードウェアで構成されていても良い。処理記憶部１３内の各種の画像処理手段の詳細については後述する。
【００２２】
画像出力部１４は、画像記憶部１１に保持された画像データが処理記憶部１３内の各種の画像処理手段によって処理された処理結果を、バスライン１６を通して図示したシステムの外部に出力する。制御部１５はＣＰＵなどによって構成され、画像記憶部１１、メモリ部１２、処理記憶部１３および画像出力部１４の各処理の制御を司っている。
【００２３】
次に、処理記憶部１３を構築する各種の画像処理手段について、いくつかの処理を例にとって概要を説明する。
【００２４】
先述したように、各種の画像処理手段はコンピュータ上の処理プログラムモジュールとして存在しても良いし、一部又は全部が専用のハードウェアで構成されていても良いが、以下では説明を簡単にするために、コンピュータ上の処理プログラムとして実現されている場合を例に挙げて説明する。
【００２５】
図３は、処理対象の画像データを入力する画像入力部２１の構成の一例を示すブロック図である。この画像入力部２１は、図１の画像入力手段１３１に対応している。
【００２６】
画像入力部２１は、画像データを読み込み、後段のモジュールに画像データを出力するための出力バッファ２１１と、画像データの入力処理を制御する画像入力制御部２１２と、ライン数をカウントするラインカウンタ２１３とを有する構成となっている。ここで、画像入力部２１はラインカウンタ２１３を有するとしたが、必要なければラインカウンタ２１３を持たなくても良い。
【００２７】
画像入力部２１は、図１において、モジュール生成時に制御部１５から画像記憶部１１に保持された画像データを指示され、必要な情報等が処理記憶部１３から取り出され、メモリ部１２上にプログラムモジュールとして生成される。その生成時に、画像データのサイズやビット数、色空間等の画像属性情報を取得し、メモリ部１２上に取得した画像属性情報を格納し、図２において、画素データが格納されている画素データ開始位置まで読み込み開始位置ポインタを進め、ラインカウンタ２１３を初期化する。
【００２８】
画像入力制御部２１２は、後段のモジュールから出力バッファ２１１を渡されて出力要求を受けると、読み込み開始位置ポインタの示すアドレスから出力バッファサイズ分の画素データを順に読み出して、出力バッファ２１１へ格納し、ラインカウンタ２１３を１加算する。
【００２９】
画像入力制御部２１２は、画像入力部２１の処理を処理対象の画像データの先頭からやり直すように状態を初期状態に戻すための再初期化指示を後段のモジュールから受けとった場合の制御も行う。すなわち、後段のモジュールから再初期化指示が与えられると、画像入力制御部２１２は読み込み開始位置ポインタを画像データ開始位置へ移動し、ラインカウンタ２１３を初期化する。
【００３０】
図４は、画像データのヒストグラム生成処理を行うヒストグラム生成処理部２２の構成の一例を示すブロック図である。このヒストグラム生成処理部２２は、図１のヒストグラム生成処理手段１３２に対応している。
【００３１】
ヒストグラム生成処理部２２は、前段のモジュールから入力される画像データを一時的に格納するための入力バッファ２２１と、後段のモジュールに画像データを出力するための出力バッファ２２２と、ヒストグラム生成処理を制御するヒストグラム生成制御部２２３と、ライン数をカウントするラインカウンタ２２４とを有する構成となっている。
【００３２】
ヒストグラム生成処理部２２は、図１において、モジュール生成時に制御部１５からメモリ部１２上にヒストグラムデータを格納するアドレスが指示され、必要な情報などが処理記憶部１３から取り出され、メモリ部１２上にプログラムモジュールとして生成される。その生成時に、ヒストグラム生成制御部２２３は、制御部１５から前段のモジュールへの接続情報が与えられ、その情報に基づいて前段のモジュールに対して入力される画像データの属性情報取得要求を出して、画像データのサイズやビット数等の画像属性情報を取得する。そして、メモリ部１２上に処理に必要な入力バッファ２２１を生成し、ラインカウンタ２２４を初期化する。
【００３３】
ヒストグラム生成処理部２２はさらに、ラインカウンタ２２４が入力される画像データの高さ（総ライン数）に等しくなるまで、次の処理を繰り返すことで、ヒストグラムデータを生成する。その処理とは、前段のモジュールに対して入力バッファ２２１を渡して出力要求を行い、前段から返された入力バッファ２２１に格納された各画素データの値に基づいてヒストグラムデータを計数し、ラインカウンタ２２４を１加算する処理である。
【００３４】
ヒストグラムデータの生成が終了すると、ヒストグラム生成制御部２２３は入力バッファ２２１を解放し、ラインカウンタ２２４を初期化する。
【００３５】
後段のモジュールから出力バッファ２２２を渡されて出力要求を初めて受けたときに、ヒストグラム生成制御部２２３は、前段のモジュールに対して再初期化指示を行い、その後、前段のモジュールに対して出力バッファ２２２を渡して出力要求を行い、その結果をそのまま後段のモジュールに返す。２度目以降に後段のモジュールから出力要求を受けた場合には、前段のモジュールに対して出力バッファ２２２を渡して出力要求を行い、その結果をそのまま後段のモジュールに返す。
【００３６】
上記構成のヒストグラム生成処理部２２では、後段のモジュールから出力要求を初めて受けたときに、ヒストグラム生成制御部２２３が前段のモジュールに対して再初期化指示を与えたが、後段のモジュールからの出力要求の有無に関わらず、モジュール生成時においてヒストグラムデータを生成した後に、前段のモジュールに対して再初期化指示を行うようにしても構わない。
【００３７】
ヒストグラム生成制御部２２３は再初期化指示を後段のモジュールから受けとった場合、および再初期化指示を前段のモジュールへ送る場合の制御も行う。すなわち、ヒストグラム生成処理部２２に対して、後段のモジュールから再初期化指示が与えられると、ヒストグラム生成制御部２２３が前段のモジュールに対して再初期化指示を行う。
【００３８】
図５は、図４に示すヒストグラム生成処理部２２において生成されたヒストグラムデータを用いて２値化閾値を決定し、２値化処理を行う２値化処理部２３の構成の一例を示すブロック図である。この２値化処理部２３は、図１の２値化処理手段１３３に対応している。
【００３９】
２値化処理部２３は、前段のモジュールから入力される画像データを保持するための入力バッファ２３１と、処理結果を後段のモジュールに出力するための出力バッファ２３２と、２値化処理を制御する２値化制御部２３３とを有する構成となっている。
【００４０】
２値化処理部２３は、図１において、モジュール生成時に制御部１５からヒストグラム生成処理手段１３２（ヒストグラム生成処理部２２）で生成されたヒストグラムデータを２値化閾値生成のために渡され、それを処理するために必要な情報などが処理記憶部１３から取り出され、メモリ部１２上にプログラムモジュールとして生成される。
【００４１】
その生成時に、２値化制御部２３３は制御部１５から前段のモジュールへの接続情報を与えられ、その情報に基づいて前段のモジュールに対して入力される画像データの属性情報取得要求を出して、画像サイズやビット数などの画像属性情報を取得し、メモリ部１２上に処理に必要な入力バッファ７０２を生成する。また、ヒストグラムデータを基に２値化閾値を所定の方法で決定する。ヒストグラムデータを基に２値化処理の閾値を決定する方法は任意で構わない。
【００４２】
後段のモジュールから出力バッファ２３２を渡されて出力要求を受けると、２値化制御部２３３は、前段のモジュールに対して入力バッファ２３１を渡して出力要求を行い、その後、入力バッファ２３１に格納された各画素データに対して２値化閾値を用いて２値化処理を行い、その結果を出力バッファ２３２に格納して後段のモジュールに返す。
【００４３】
２値化制御部２３３は、再初期化指示を後段のモジュールから受けとった場合および再初期化指示を前段のモジュールへ送る場合の制御も行う。すなわち、２値化処理部２３に対して、後段のモジュールから再初期化指示が与えられると、２値化制御部２３３が前段のモジュールに対して再初期化指示を行う。
【００４４】
以上、各種の画像処理手段（画像処理モジュール）、即ち画像入力部２１、ヒストグラム生成処理部２２および２値化処理部２３の各々について概要を説明した。
【００４５】
以下では、図８に示したブロック図の処理、即ち画像入力、ヒストグラム生成処理および２値化処理の各画像処理モジュールがパイプライン形態で接続されてなるパイプライン処理を、図１に示す画像処理装置において実行した場合の動作について、図６および図７のフローチャートを用いて詳細に説明する。なお、図６は画像処理初期化時のフローチャート、図７は画像処理初期化後の画像処理実行時のフローチャートである。
【００４６】
先ず、初期化時の動作を図６のフローチャートに沿って説明する。初めに画像入力部２１の初期化を行う（ステップＳ１１）。具体的には、入力される処理対象の画像データの属性情報（画像サイズ、色空間情報等）を取得し、読み込み開始位置ポインタ（図２を参照）を画素データ開始位置へ移動し、ラインカウンタ２１３を初期化する。画像入力部２１の初期化が終わると、ヒストグラム生成処理部２２の動作に入る。
【００４７】
ヒストグラム生成処理部２２においては、先ず、前段のモジュール（画像入力部２１）への接続情報から入力される画像データの属性情報を取得し（ステップＳ１２）、入力バッファ２２１を確保する（ステップＳ１３）。ここで、入力バッファ２２１については、入力される画像データの１ライン分を格納できるように確保すれば良い。
【００４８】
次いで、ラインカウンタ２２４を初期化し（ステップＳ１４）、前段のモジュール（画像入力部２１）へ入力バッファ２２１を渡し、出力要求を行う（ステップＳ１５）。すると、画像入力部２１では、後段のモジュール（ヒストグラム生成処理部２３）から渡された出力バッファ２１１（＝入力バッファ２２１）へ画像データを読み込み、ラインカウンタ２１３を１加算し、後段へ返す（ステップＳ１６）。
【００４９】
次いで、ヒストグラム生成処理部２２では、入力バッファ２２１に格納された各画素データを参照し、ヒストグラムデータを計数し（ステップＳ１７）、ラインカウンタ２２４のカウント値が画像データの高さ（総ライン数）であるか否かの判定を行う（ステップＳ１８）。ラインカウンタ２２４が入力される画像データの高さに満たない場合には、ラインカウンタ２２４を１加算し（ステップＳ１９）、しかる後ステップＳ１５に戻ってステップＳ１５〜ステップＳ１８の処理を繰り返す。ラインカウンタ２２４が入力される画像データの高さに等しい場合には、入力バッファ２２１を解放し、ラインカウンタ２２４を初期化する（ステップＳ２０）。
【００５０】
次いで、２値化処理部２３の動作に入る。２値化処理部２３では先ず、生成されたヒストグラムデータを基に２値化閾値を求める（ステップＳ２１）。ヒストグラムデータを基に２値化処理の閾値を決定する方法は任意で構わない。２値化処理部２３では続いて、前段のモジュール（ヒストグラム生成処理部２２）への接続情報から入力される画像データの属性情報を取得し（ステップＳ２２）、入力バッファ２３１を確保する（ステップＳ２３）。以上の一連の処理により、初期化を終了する。
【００５１】
図６に示すフローチャートでは、２値化処理部２３における処理を、ステップＳ２１→ステップＳ２２の順に行ったが、２値化閾値を決定する際に画像属性情報が必要ないのであれば、その順番を変えてステップＳ２２→ステップＳ２３→ステップＳ２１等の順に処理するようにしても構わない。
【００５２】
次に、画像処理初期化後の画像処理実行時の動作を図７のフローチャートに沿って説明する。画像処理初期化終了後の画像入力部２１のラインカウンタ２１３は画像データの高さに等しい状態である。
【００５３】
画像出力部１４は先ず、予め出力する画像属性情報を取得し、出力される画像データの１ライン分を格納できる出力バッファ（以下、便宜上、出力バッファＸと記す）を確保する（ステップＳ３１）。次いで、画像出力部１４は前段のモジュール（２値化処理部２３）へ出力バッファＸを渡し、出力要求を行う（ステップＳ３２）。この出力要求を受けて、２値化処理部２３は前段のモジュール（ヒストグラム生成処理部２２）へ入力バッファ２３１を渡し、出力要求を行う（ステップＳ３３）。
【００５４】
次いで、ヒストグラム生成処理部２２が初めて後段のモジュールから出力要求を受けたか否かを判断し（ステップＳ３４）、初めて出力要求を受けた場合は、ヒストグラム生成処理部２２は前段のモジュール（画像入力部２１）へ再初期化指示を行う（ステップＳ３５）。画像入力部２１は、後段のモジュール（ヒストグラム生成処理部２２）から再初期化指示が与えられると、図２において、読み込み開始位置ポインタを画素データ開始位置へ移動し、ラインカウンタ２１３を初期化する（ステップＳ３６）。
【００５５】
このステップＳ３５，Ｓ３６での再初期化処理が本発明の特徴とする部分である。なお、本実施形態では、初期化後の画像処理実行の流れの中の途中で再初期化処理を実行するとしたが、図６のフローチャートに基づく初期化の処理が終了した時点で再初期化処理を実行することも可能である。
【００５６】
その後、あるいはヒストグラム生成処理部２２が後段のモジュールから出力要求を受けたのが初めてでない場合は、ヒストグラム生成処理部２２は、後段のモジュール（２値化処理部２３）から渡された出力バッファ２２２を前段のモジュール（画像入力部２１）へ渡し、出力要求を行う（ステップＳ２３）。画像入力部２１は、後段のモジュール（ヒストグラム生成処理部２２）から渡された出力バッファ２１１（＝出力バッファ２２２）に画像データを読み込み、ラインカウンタ２１３を１加算し、後段へ返す（ステップＳ３８）。ヒストグラム生成処理部２２は、前段のモジュール（画像入力部２１）から返された出力バッファ２２２を後段へ返す（ステップＳ３９）。
【００５７】
２値化処理部２２は、前段のモジュール（ヒストグラム生成処理部２２）から返された入力バッファ２３１（＝出力バッファ２２２）に格納された各画素データを２値化し、出力バッファ２３２（＝出力バッファＸ）へ処理結果を格納し、後段（画像出力部１４）へ返す（ステップＳ４０）。
【００５８】
次いで、ラインカウンタ２１３のカウント値が入力される画像データの高さに等しいか否かを判断し（ステップＳ４１）、画像データの高さに満たない場合には、ラインカウンタ２１３を１加算し（ステップＳ４２）、しかる後ステップＳ３２に戻ってステップＳ３２〜ステップＳ４１の処理を繰り返す。ラインカウンタ２１３のカウント値が入力される画像データの高さに等しい場合には、上述した一連の処理を終了する。
【００５９】
上述したように、各々所定の処理を実行する複数の画像処理手段（画像処理モジュール）がパイプライン形態に接続されてなるパイプライン処理において、画像処理手段の各々に再初期化機能を持たせることにより、画像データの全画素値を用いて画像属性、例えばヒストグラムデータを取得後に、後段でその取得したヒストグラムデータを用いて処理を行うような場合であっても、画像データ全体をバッファに保持したり、あるいは初期化処理を複数回行わなくても、所望の画像処理を行うことができる。
【００６０】
なお、上記実施形態では、画像入力部２１、ヒストグラム生成部２２および２値化処理部２３が画像処理手段としてパイプライン形態で接続されてなるパイプライン処理に適用した場合を例に挙げて説明したが、本発明はこの適用例に限定されるものではなく、処理対象の画像データの全画素値を用いて投影分布等の画像属性を取得するための処理を行う画像処理手段（画像処理モジュール）を含むパイプライン処理全般に適用可能である。
【００６１】
【発明の効果】
以上説明したように、本発明によれば、複数の要素機能的な画像処理モジュールを任意に組み合わせて多種多様な画像処理機能を実行する際に、各画像処理手段に再初期化機能と、接続された他の画像処理手段へ再初期化指示を伝達する機能を持たせるとともに、後段の画像処理手段から始めて出力要求を受けたとき、または後段の画像処理手段から再初期化指示が与えられたとき、前段の画像処理手段に対して再初期化指示を与えるようにし、前記再初期化指示が与えられた画像処理手段では、読み込み開始位置ポインタを画像データ開始位置へ移動し、しかる後前記所定の処理を行うようにすることにより、処理対象の画像データの再読み出しが可能となる。その結果、画像データを解析した結果を後段の処理で使用するような処理をコンピュータ上のプログラムとして実現する場合に、従来複数のパスで行っていた処理を１つのパスで実現できるため、プログラミング効率が高まり、さらに初期化のオーバーヘッドも発生せず、処理を軽減できる。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】  本実施形態に係る画像処理装置での処理対象となる画像データの構造を模式的に示す図である。
【図３】  画像入力部の構成の一例を示すブロック図である。
【図４】  ヒストグラム生成処理部の構成の一例を示すブロック図である。
【図５】  ２値化処理部の構成の一例を示すブロック図である。
【図６】  画像処理初期化時の動作の流れをフローチャートである。
【図７】  画像処理実行時の動作の流れをフローチャートである。
【図８】  画像処理モジュールの組合せの一例を示すブロック図である。
【図９】  再初期化機能を使用せずに図８と同じ処理を実現する場合の一例を示すブロック図である。
【図１０】  再初期化機能を使用せずに図８と同じ処理を実現する場合におけるヒストグラム生成部の構成の一例を示すブロック図である。
【符号の説明】
１１…画像記憶部、１２…メモリ部、１３…処理記憶部、１４…画像出力部、１５…制御部、２１…画像入力部、２２…ヒストグラム生成処理部、２３…２値化処理部、１３１…画像入力手段、１３２…ヒストグラム生成処理手段、１３３…２値化処理手段
【図１】
0004082051.tif 000002
【図２】
0004082051.tif 000003
【図３】
0004082051.tif 000004
【図４】
0004082051.tif 000005
【図５】
0004082051.tif 000006
【図６】
0004082051.tif 000007
【図７】
0004082051.tif 000008
【図８】
0004082051.tif 000009
【図９】
0004082051.tif 000010
【図１０】
0004082051.tif 000011