(57)【要約】【課題】  パイプライン方式で画像処理を行う際に記憶容量が無駄に使用されることを防止すること。【解決手段】  処理対象の画像データに対して施すべき一連の処理に、その画像データのデータサイズよりも小さいデータサイズを有するデータ単位づつその画像データを読み込んで加工する処理が含まれている場合に、その画像データを格納しているページバッファがその処理に先立って割り当てられているか否かを判定し、割り当てられていると判定された場合には、そのページバッファに格納されている画像データを上記データ単位づつ読み込んで加工する一方、割り当てられていないと判定された場合には、その画像データを上記データ単位づつ読み込むためのラインバッファを割り当て、上記画像データをそのラインバッファへ上記データ単位づつ読み込んで加工するようにさせる。【選択図】      図４
2005092736.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域を有する記憶手段と、
処理対象の画像データに対して前記記憶手段を用いて該画像データのデータサイズに応じた容量のページバッファを割り当てる一方、該画像データを所定のアルゴリズムにしたがって加工し、加工した画像データを該ページバッファへ書き込む第１の加工手段と、
前記第１の加工手段とは異なるアルゴリズムにしたがって前記処理対象の画像データを加工する第２の加工手段であって、前記処理対象の画像データを前記画像データのデータサイズよりも小さいデータサイズを有するデータ単位づつ読み込んで加工し、加工したデータ単位を前記記憶手段の所定の記憶領域へ書き込む第２の加工手段と、
前記第１の加工手段による加工と前記第２の加工手段による加工とを予め定められた順に行わせる制御手段と
を備え、
前記第２の加工手段は、
前記処理対象の画像データに対して前記ページバッファが割り当てられているか否かを判定し、
前記ページバッファが割り当てられていると判定した場合には、該ページバッファに格納されている画像データを前記データ単位づつ読み、
前記ページバッファが割り当てられていないと判定した場合には、前記処理対象の画像データを前記データ単位づつ読み込むためのラインバッファを前記記憶手段を用いて割り当て、該ラインバッファを用いて前記処理対象の画像データを前記データ単位づつ読み込む
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置により加工された画像データを用いて画像を形成する画像形成装置。
【請求項３】
コンピュータ装置に、
所定のアルゴリズムにしたがって処理対象の画像データを該画像データのデータサイズよりも小さいデータサイズを有するデータ単位づつ読み込んで加工し所定の記憶装置内に予め割り当てられた記憶領域へ書き込む処理を実現させるプログラムにおいて、
前記処理対象の画像データを格納しているページバッファが前記記憶装置内に割り当てられているか否かを判定する判定機能と、
前記ページバッファが割り当てられていると前記判定機能により判定された場合には、前記ページバッファに格納されている画像データを前記データ単位づつ読み込んで加工して前記記憶領域へ書き込む一方、前記ページバッファが割り当てられていないと前記判定機能により判定された場合には、前記処理対象の画像データを前記データ単位づつ読み込むためのラインバッファを前記記憶装置内に割り当て、該画像データを前記データ単位づつ該ラインバッファへ読み込んで加工し前記記憶領域へ書き込む書き込み機能と
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
パイプライン方式で画像処理を行う技術に関する。
【背景技術】
【０００２】
画像の輪郭を鮮明にしたり、コントラストの調整や、色調整などの各種処理を画像データに施すことによって、その画質を向上させる画像処理装置が一般に知られている。この種の画像処理装置の１つに、パイプライン方式の画像処理装置がある。パイプライン方式の画像処理装置は、処理対象の画像データへ施す処理毎にその処理を実現する専用のモジュールを有しており、これらモジュールを予め定められた順に組み合わせて機能させることにより、多種多様な画像処理を実現している。以下では、これらモジュールの組み合わせをパイプラインと称する。
【０００３】
上記パイプラインを構成するモジュールのなかには、ページ処理モジュールと呼ばれるものがある。ページ処理モジュールとは、処理対象の画像データをページ単位で加工するモジュールである。より詳細に説明すると、ページ処理モジュールは、１ページ分の画像データのデータサイズに対応する記憶領域（以下、「ページバッファ」）を割り当て、そのページバッファに上記画像データをコピーして所定のアルゴリズムにしたがって加工するようになっている。このため、ページ処理モジュールがパイプラインに多数含まれている場合には、そのパイプラインを実行する際に多量の記憶容量が必要になってしまうといった問題点がある。このような問題点を解決するための技術としては、特許文献１に開示された技術が挙げられる。特許文献１に開示された技術では、あるページ処理モジュールにおける処理が終了した時点で、このページ処理モジュールの前段に位置する他のページ処理モジュールで割り当てたページバッファを解放させるようにしている。これにより、パイプラインを構成する各モジュールの実行過程では、多くとも２つのページバッファのみが用いられることになる。具体的には、処理を実行中のページ処理モジュールで割り当てられたページバッファとその前段に位置するページ処理モジュールで割り当てられたページバッファのみが用いられることになる。このように、特許文献１に開示された技術によれば、パイプライン方式の画像処理の実行に要する記憶容量を削減させることが可能になる。
【０００４】
【特許文献１】特開平０８−２７２９８１号公報
【０００５】
ところで、上述したパイプラインを構成するモジュールのなかには、上述したページ処理モジュールの他に、処理対象の画像データを所定のデータサイズ（例えば、１ライン分のデータサイズ）を有するデータ単位づつ加工するモジュール（以下、「ライン処理モジュール」）もある。より詳細に説明すると、ライン処理モジュールは、上記データ単位のデータサイズに対応する記憶領域（以下、「ラインバッファ」）を割り当て、処理対象の画像データを上記データ単位づつそのラインバッファに読み込んで所定のアルゴリズムにしたがって加工するようになっている。このようなライン処理モジュールと上記ページ処理モジュールとの両者が混在しているパイプラインにおいては、ページ処理モジュールに後続してライン処理モジュールが実行される場合に、以下に述べるようにして両者の間でデータの引渡しが行われる。まず、ライン処理モジュールは上記ラインバッファの先頭アドレスをページ処理モジュールへ引渡す。すると、ページ処理モジュールは、自身の割り当てたページバッファに格納されている画像データから所定のデータ単位を切り出し、上記先頭アドレスで特定されるラインバッファへコピーする。これにより、ページ処理モジュールからライン処理モジュールへ処理対象の画像データが引渡される。ここで、注目すべき点は、上記ラインバッファにコピーされるデータ単位は、上記ページバッファに格納されている画像データに含まれている点である。これは、同一のデータ単位が異なる記憶領域に重複して格納されていることを意味している。このように同一のデータ単位を重複して格納することは、記憶領域の無駄使いであるとともに、このような状況を引き起こすようなデータのコピー処理を行うことはデータの処理効率の観点からも好ましくない。また、このような問題点は、プリンタ装置などの画像形成装置に組み込まれている画像処理装置においては、特に深刻である。何故ならば、この種の画像処理装置は、パーソナルコンピュータ（以下、「ＰＣ」）などの一般的なコンピュータ装置に比較して、小容量の記憶装置しか有しておらず、また、データの処理速度も遅いことが一般的だからである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記課題に鑑みてなされたものであり、パイプライン方式で画像処理を行う際に記憶容量の無駄使いを防止する技術を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するために、記憶領域を有する記憶手段と、処理対象の画像データに対して前記記憶手段を用いて該画像データのデータサイズに応じた容量のページバッファを割り当てる一方、該画像データを所定のアルゴリズムにしたがって加工し、加工した画像データを該ページバッファへ書き込む第１の加工手段と、前記第１の加工手段とは異なるアルゴリズムにしたがって前記処理対象の画像データを加工する第２の加工手段であって、前記処理対象の画像データを前記画像データのデータサイズよりも小さいデータサイズを有するデータ単位づつ読み込んで加工し、加工したデータ単位を前記記憶手段の所定の記憶領域へ書き込む第２の加工手段と、前記第１の加工手段による加工と前記第２の加工手段による加工とを予め定められた順に行わせる制御手段とを備え、前記第２の加工手段は、前記処理対象の画像データに対して前記ページバッファが割り当てられているか否かを判定し、前記ページバッファが割り当てられていると判定した場合には、該ページバッファに格納されている画像データを前記データ単位づつ読み、前記ページバッファが割り当てられていないと判定した場合には、前記処理対象の画像データを前記データ単位づつ読み込むためのラインバッファを前記記憶手段を用いて割り当て、該ラインバッファを用いて前記処理対象の画像データを前記データ単位づつ読み込むことを特徴とする画像処理装置を提供する。
また、本発明は、上記課題を解決するために、上記画像処理装置により加工された画像データを用いて画像を形成する画像形成装置を提供する。
このような画像処理装置および画像形成装置によれば、上記第２の加工手段による加工が行われる際に、上記ページバッファが割り当てられている場合には、上記ラインバッファの割り当てが行われることなく、そのページバッファに格納されている画像データが上記データ単位づつ読み出され加工され、上記記憶領域へ書き込まれる。
また、本発明は、上記課題を解決するために、コンピュータ装置に、所定のアルゴリズムにしたがって処理対象の画像データを該画像データのデータサイズよりも小さいデータサイズを有するデータ単位づつ読み込んで加工し所定の記憶装置内に予め割り当てられた記憶領域へ書き込む処理を実現させるプログラムにおいて、前記処理対象の画像データを格納しているページバッファが前記記憶装置内に割り当てられているか否かを判定する判定機能と、前記ページバッファが割り当てられていると前記判定機能により判定された場合には、前記ページバッファに格納されている画像データを前記データ単位づつ読み込んで加工して前記記憶領域へ書き込む一方、前記ページバッファが割り当てられていないと前記判定機能により判定された場合には、前記処理対象の画像データを前記データ単位づつ読み込むためのラインバッファを前記記憶装置内に割り当て、該画像データを前記データ単位づつ該ラインバッファへ読み込んで加工し前記記憶領域へ書き込む書き込み機能とを実現させることを特徴とするプログラムを提供する。
このようなプログラムによれば、上記記憶装置内に上記ページバッファが割り当てられ、そのページバッファに処理対象の画像データが格納されている場合には、上記ラインバッファの割り当てが行われることなく、そのページバッファに格納されている画像データが上記データ単位づつ読み出され加工され、上記記憶装置内に予め割り当てられている記憶領域へ書き込まれる。
【発明の効果】
【０００８】
本発明によれば、パイプライン方式で画像処理を行う際に記憶容量の無駄使いが防止されるといった効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しつつ本発明を実施するための最良の形態について説明する。
［Ａ：構成］
（Ａ−１：システム構成）
図１は、本発明に係る画像形成装置を有する画像処理システムの全体構成の一例を示す図である。図１に示されているように、この画像処理システムは、通信線１０を介してＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠したデータ通信を行う画像入力装置２０と画像形成装置３０とを有している。なお、本実施形態では、画像入力装置２０と画像形成装置３０とがＵＳＢに準拠した通信を行う場合について説明するが、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）１３９４などの他の規格に準拠した通信を行うとしても良いことは勿論である。
【００１０】
画像入力装置２０は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）カメラを有するディジタルカメラ機であり、このＣＣＤカメラにより撮像した画像に対応する画像データを記憶する機能を備えている。そして、この画像入力装置２０は、自装置に記憶している画像データを通信線１０を介して画像形成装置３０へ送り出すことができる。なお、本実施形態では、画像入力装置２０が、ディジタルカメラ機である場合について説明するが、係る画像入力装置は、スキャナ装置であっても良く、また、画像データを記憶したＰＣであっても良い。要は、通信線１０を介して画像データを画像形成装置３０へ送り出すことができる機器であれば、いずれであっても良い。
【００１１】
画像形成装置３０は、例えばプリンタ装置であり、パイプライン方式の画像処理を行う画像処理装置が組み込まれている。より詳細に説明すると、画像形成装置３０は、図１に示されるように、画像処理装置３１と、画像出力装置３２とを含んでいる。画像処理装置３１は、通信線１０を介して送られてくる画像データに予め定められた一連の処理を施す機能を備えている。一方、画像出力装置３２は、上記画像処理装置３１により所定の画像処理が施された画像データに対応する画像を印刷用紙やＯＨＰ（Ｏｖｅｒ  Ｈｅａｄ  Ｐｒｏｊｅｃｔｏｒ）シートなどの記録材へ電子写真方式で印刷するためのものである。なお、本実施形態では、画像出力装置３２が電子写真方式で印刷を行う場合について説明するが、他の方式（例えば、インクジェット方式など）で印刷を行うとしても勿論良い。また、本実施形態では、画像形成装置３０が、プリンタ装置である場合について説明するが、複写機やファクシミリ機、または、プリンタ機能と複写機能あるいはプリンタ機能とファクシミリ機能など複数の機能を備えた複合機であっても良いことは勿論である。
【００１２】
ここで、図１に示す画像処理装置３１が従来の画像処理装置と異なっている点は、パイプラインにおいてページ処理モジュールの直後にライン処理モジュールを実行するべきことが定められている場合には、そのライン処理モジュールにおいてラインバッファを割り当ずに、上記ページ処理モジュールにて割り当てたページバッファに格納されている画像データに直接アクセスし加工するようにした点である。より詳細に説明すると、図１に示す画像処理装置３１は、ページ処理モジュールの直後に実行されるライン処理モジュールの実行過程では、そのページ処理モジュールが割り当てたページバッファに格納されている画像データを１ラインづつ読み込んで加工し、後続のライン処理モジュールにて割り当てられたラインバッファへ書き込むようにしている。このような構成としたため、本実施形態に係るが画像処理装置３１によれば、パイプライン方式の画像処理を行う際に記憶容量の無駄使いが防止されるとともに、データを無駄にコピーするような無駄な処理が行われないことになる。以下では、従来の画像処理システムとの相違点である画像処理装置３１を中心に説明する。
【００１３】
（Ａ−２：画像処理装置３１の構成）
まず、画像処理装置３１の構成について図面を参照しつつ説明する。図２は、画像処理装置３１のハードウェア構成の一例を示す図であり、この図に示されているように、画像処理装置３１は、制御部１００と、通信インターフェイス（以下、「ＩＦ」と表記する）部１１０と、記憶部１２０と、これら各構成要素間のデータ授受を仲介するバス１３０とを備えている。
【００１４】
制御部１００は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、記憶部１２０に格納されているソフトウェアを読み出し実行することにより、画像処理装置３１の各部を制御するためのものである。通信ＩＦ部１１０は、通信線１０に接続されており、通信線１０を介して送くられてくる画像データを受信し制御部１００へ引渡す機能を備えている。
【００１５】
記憶部１２０は、図２に示されているように、揮発性記憶部１２０ａと不揮発性記憶部１２０ｂとを有している。揮発性記憶部１２０ａは、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、上記ソフトウェアにしたがって作動している制御部１００によってワークエリアとして利用される。また、詳細は後述するが、画像入力装置２０から送られてくる画像データに各種加工を施す際に必要となるフルページバッファやラインバッファが、この揮発性記憶部１２０ａ内に割り当てられる。
【００１６】
不揮発性記憶部１２０ｂは、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、本発明に係る画像処理装置に特有な機能を制御部１００に実現させるためのソフトウェアが格納されている。なお、本実施形態では、不揮発性記憶部１２０ｂがＲＯＭである場合について説明したが、データを書換え可能に記憶するＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスクを用いて不揮発性記憶部１２０ｂを構成しても良いことは勿論である。
【００１７】
図３は、不揮発性記憶部１２０ｂに格納されているソフトウェアの一例を示す図である。図３に示されているように、不揮発性記憶部１２０ｂには、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：以下「ＯＳ」）を制御部１００に実現させるためのＯＳソフトウェアとパイプライン制御プログラムと画像処理ライブラリとが格納されている。パイプライン制御プログラムは、ＯＳの制御下でパイプライン方式の画像処理を制御部１００に実現させるためのソフトウェアである。一方、画像処理ライブラリには、上記パイプラインを構成する各モジュールを制御部１００に実現させるためのプログラム（以下、「モジュールプログラム」）が含まれている。具体的には、図３に示されているように、この画像処理ライブラリには、モジュールプログラムＡ、ＢおよびＣの３つのモジュールプログラムが含まれている。本実施形態では、モジュールプログラムＡは、画像の輪郭を際だたせる処理（以下、「シャープネスフィルタリング処理」）を処理対象の画像データに施すシャープネスフィルタリング処理モジュールを制御部１００に実現させるためのプログラムであるとする。また、モジュールプログラムＢは、画像の画線部と非画線部の濃度差を調整する処理（以下、「コントラスト調整処理」）を処理対象の画像データに施すコントラスト調整モジュールを制御部１００に実現させるためのプログラムであるとする。そして、モジュールプログラムＣは、画像の色調を調整する処理（以下、「色調整処理」）を処理対象の画像データに施す色調整モジュールを制御部１００に実現させるためのプログラムであるとする。加えて、本実施形態では、モジュールプログラムＡにしたがって作動している制御部１００は、処理対象の画像データに対して上述したページバッファを揮発性記憶部１２０ａ内に割り当ててその画像データを加工する第１の加工手段（すなわち、ページ処理モジュール）として機能するものとする。一方、モジュールプログラムＢあるいはＣにしたがって作動している制御部１００は、処理対象の画像データのデータサイズよりも小さいデータサイズを有するデータ単位づつその画像データを加工する第２の加工手段として機能するものとする。なお、以下では、モジュールプログラムＢあるいはＣにしたがって作動している制御部１００が、１ラインづつ処理対象の画像データを加工する場合について説明するが、複数ラインづつ処理対象の画像データを加工するとしても良いことは勿論である。要は、１ページ分の画像データよりも小さいデータサイズを有するデータ単位づつ処理対象の画像データを加工する態様であれば何れであっても良い。また、本実施形態では、上記３つのモジュールプログラムが画像処理ライブラリに含まれている場合について説明するが、画像処理ライブラリに含まれるモジュールプログラムの数が３に限定されないことは言うまでもない。
【００１８】
画像形成装置３０の電源（図示省略）が投入されると、制御部１００は、まず、ＯＳソフトウェアを不揮発性記憶部１２０ｂから読み出し実行する。ＯＳソフトウェアにしたがって作動している制御部１００には、画像処理装置３１の各部を制御する機能、他のソフトウェアを不揮発性記憶部１２０ｂから読み出し実行する機能、複数のソフトウェアを並列に実行する機能などが付与される。ＯＳソフトウェアの実行を完了しＯＳを実現している状態の制御部１００は、即座に、パイプライン制御プログラムを不揮発性記憶部１２０ｂから読み出し揮発性記憶部１２０ａに展開する。そして、制御部１００は、揮発性記憶部１２０ａに展開したパイプライン制御プログラムを解析し、このパイプライン制御プログラムにしたがって順次実行するべきモジュールプログラムを特定する。次いで、制御部１００は、特定したモジュールプログラムを不揮発性記憶部１２０ｂから読み出し揮発性記憶部１２０ａ内に展開する。なお、モジュールプログラムを揮発性記憶部１２０ａ内に展開する際には、制御部１００は、そのモジュールプログラムの実行過程で利用されるページバッファやラインバッファの割り当てを行う。以下、このようなページバッファやラインバッファの割り当てを行うことを「初期化」と呼ぶ。
【００１９】
より詳細に説明すると、初期化するモジュールプログラムがページ処理モジュールを制御部１００に実現させるものである場合には、制御部１００は、従来の画像処理装置と同一の処理を行って初期化を行いページ処理モジュールを実現する。具体的には、そのモジュールプログラムの実行過程で利用するページバッファを揮発性記憶部１２０ａ内に割り当る。一方、初期化するモジュールプログラムがライン処理モジュールを制御部１００に実現させるものである場合には、制御部１００は、本発明に係る画像処理装置に特有な初期化を行いライン処理モジュールを実現する。具体的には、図４に示されているように、そのモジュールプログラムの実行に先立って実行されるモジュールプログラムが、ページ処理モジュールを制御部１００に実現させるものであり、処理対象の画像データを格納したページバッファが割り当てられている場合には、ラインバッファの割り当てを行わないようにする。このようなことを実現するため、本実施形態に係るモジュールプログラムにしたがって実現される各モジュールは、他のモジュールからの要求に応じて自身がページ処理モジュールであるか否かを返答するインターフェイスを備えている。具体的には、本実施形態に係る各モジュールプログラムにしたがって実現される各モジュールは、自身がページ処理モジュールである場合には“１”を返答し、ライン処理モジュールである場合には“０”を返答するインターフェイスを備えている。そして、各モジュールプログラムの初期化が完了すると制御部１００は、パイプライン制御プログラムの実行を開始する。
【００２０】
図５は、パイプライン制御プログラムにしたがって作動している制御部１００が行う画像処理の流れを示すフローチャートである。図５に示されているように、パイプライン制御プログラムにしたがって作動している制御部１００には、以下に述べる２つの機能が付与される。第１に、このパイプライン制御プログラムにしたがってモジュールプログラムＡ、ＢおよびＣをこの順に実行し、通信ＩＦ部１１０を介して受信した画像データに対して所定の画像処理を施す機能である。第２に、このようにして画像処理を施した画像データを画像出力装置３２へ引渡し印刷させる機能である。このように、パイプライン制御プログラムにしたがって作動している制御部１００には、画像処理ライブラリに含まれている各種モジュールプログラムを予め定められた順に実行することにより、パイプライン方式の画像処理を行う機能が付与される。なお、本実施形態では、パイプライン制御プログラムの実行に先立って、そのパイプライン制御プログラムにしたがって実行される各モジュールプログラムを初期化する場合について説明した。しかしながら、各モジュールプログラムが上記パイプライン処理プログラムにしたがって実行される度毎に上記初期化を行うとしても勿論良い。また、本実施形態では、ＯＳの制御下でパイプライン制御プログラムを制御部１００に実行させる場合について説明したが、ＯＳソフトウェアにパイプライン制御プログラムを組み込んでおくとしても勿論良い。
【００２１】
このように、本実施形態に係る画像処理装置のハードウェア構成は、一般的なコンピュータ装置のハードウェア構成と同一であり、制御部１００が不揮発性記憶部１２０ｂに格納されている各種ソフトウェアを読み出し実行することによって、本発明に係る画像処理装置に特有な機能が付与される。
【００２２】
［Ｂ：動作］
次いで、本実施形態に係る画像処理装置３１が行う動作のうち、その特徴を顕著に示す動作について図面を参照しつつ説明する。
【００２３】
（Ｂ−１：モジュール初期化動作）
まず、制御部１００が、パイプライン制御プログラムを揮発性記憶部１２０ａへ展開し、このパイプライン処理プログラムにしたがって実行される各モジュールプログラムを初期化する際に行うモジュール初期化動作について説明する。図５に示されているように、このパイプライン制御プログラムは、モジュールプログラムＡ、ＢおよびＣをこの順に制御部１００に実行させるプログラムである。前述したように、モジュールプログラムＡを初期化する際に、制御部１００が行う動作は、従来の画像処理装置が行う動作と同一であるため説明を省略する。以下では、上記モジュールプログラムＢおよびＣを初期化する際に制御部１００が行う動作について図４を参照しつつ説明する。
【００２４】
図４は、ライン処理モジュールを制御部１００に実現させるモジュールプログラムを初期化する際にそのモジュールプログラムにしたがって制御部１００が行う動作の流れを示すフローチャートである。図４に示されているように、制御部１００は、まず、パイプラインにおいて直前に実行されるモジュールでページバッファが割り当てられているか否かを上述したインターフェイスを用いて判定する（ステップＳＡ１）。具体的には、制御部１００は、初期化中のモジュールプログラムに先立って実行するべきことが上述したパイプラインにおいて定められているモジュールについて上記インターフェイスを呼び出し、“１”が返答された場合には、ページバッファが割り当てられていると判定し、“０”が返答された場合には、ページバッファが割り当てられていないと判定する。そして、ステップＳＡ１の判定結果が“Ｎｏ”である場合にのみ、揮発性記憶部１２０ａ内にラインバッファを割り当てる（ステップＳＡ２）。
【００２５】
本動作例では、図５に示されているように、モジュールプログラムＢの直前に実行されるプログラムはモジュールプログラムＡである。前述したように、モジュールプログラムＡは、ページ処理モジュールを制御部１００に実現させるプログラムであり、ページバッファの割り当てが行われている。このため、モジュールプログラムＢを初期化する際には、上記ステップＳＡ１の判定結果は“Ｙｅｓ”になり、上述したステップＳＡ２の処理（すなわち、ラインバッファの割り当て）は行われない。
【００２６】
一方、モジュールプログラムＣの直前に実行されるプログラムはモジュールプログラムＢである。前述したように、モジュールプログラムＢは、ライン処理モジュールを制御部１００に実現させるプログラムであるから、モジュールプログラムＣを初期化する際には、上記ステップＳＡ１の判定結果は“Ｎｏ”になり、上述したステップＳＡ２の処理（すなわち、ラインバッファの割り当て）が行われる。
【００２７】
以上に説明した動作の結果、揮発性記憶部１２０ａの内部には、モジュールプログラムＡの実行過程で利用されるページバッファと、モジュールプログラムＣの実行過程で利用されるラインバッファとが割り当てられることになる。前述したように、パイプライン制御プログラムにしたがってモジュールプログラムＡ、ＢおよびＣの各々を実行することにより、制御部１００は、シャープネスフィルタリング処理モジュール、コントラスト調整モジュールおよび色調整モジュールを実現する。
【００２８】
（Ｂ−２：画像処理動作）
次いで、上記各モジュールプログラムの初期化が完了した後にパイプライン制御プログラムにしたがって、制御部１００が行う動作について図５を参照しつつ説明する。図５に示されているように、この制御部１００は、通信線１０を介して画像入力装置２０から送られてきた画像データを受信すると、この画像データを引数としてモジュールプログラムＡを実行する（ステップＳＢ１）。すなわち、制御部１００は、この画像データを引数としてシャープネスフィルタリング処理モジュールを呼び出す。このようにして画像データを引渡されたシャープネスフィルタリング処理モジュールは、この画像データに対して上述したシャープネスフィルタリング処理を施し、上記ページバッファへ格納する。
【００２９】
シャープネスフィルタリング処理モジュールによる処理が完了すると、制御部１００は、上述した初期化動作にて割り当てたページバッファの先頭アドレス（以下、「入力元アドレス」）と、ラインバッファの先頭アドレス（以下、出力先アドレス）とを引数としてモジュールプログラムＢを実行する（ステップＳＢ２）。すなわち、制御部１００は、上記入力元アドレスと出力先アドレスとを引数としてコントラスト調整モジュールを呼び出す。このようにして上記入力元アドレスと上記出力先アドレスとを引渡されたコントラスト調整モジュールは、上記入力元アドレスで特定される記憶領域（すなわち、上記ページバッファ）から所定のデータサイズ分のデータ単位を読み出し、そのデータ単位に上述したコントラスト調整処理を施して上記出力先アドレスで特定される記憶領域（すなわち、上記ラインバッファ）へ書き込んで行く。つまり、コントラスト調整モジュールがこのような動作を行うことにより、上記ページバッファに格納されている画像データから所定のデータサイズを有するデータ単位が読み出され、コントラスト調整処理を施した後に、色調整モジュールにて利用されるラインバッファへ書き込まれることになる。なお、本実施形態では、上記出力先アドレスが、後続して実行されるライン処理モジュールによって利用されるラインバッファの先頭アドレスである場合について説明した。しかしながら、後続して実行されるモジュールがページ処理モジュールである場合には、係るページ処理モジュールによって利用されるページバッファの先頭アドレスであっても良いことは勿論である。
【００３０】
そして、上記コントラスト調整モジュールによる処理が完了すると、制御部１００は、モジュールプログラムＣを実行（すなわち、色調整モジュールの呼び出し）し（ステップＳＢ３）、上記ラインバッファに格納されているデータ単位に色調整処理を施して揮発性記憶部１２０ａ内の所定の記憶領域へ書き込んでゆく。以降、制御部１００は、上記入力元アドレスに上記データ単位のデータサイズを加算しつつ上記ステップＳＢ２およびステップＳＢ３の処理を繰り返し実行し、上記ページバッファに格納されている画像データの全体にコントラスト調整処理と色調整処理とを施し、その処理結果を画像出力装置３２に引渡し、その処理結果に応じた画像を記録材へ印刷させる（ステップＳＢ４）。
【００３１】
以上に説明したように、本実施形態に係る画像処理装置においては、ページ処理モジュールの直後に実行されるライン処理モジュールについては、ラインバッファを割り当てることなく、そのページ処理モジュールによって割り当てられたページバッファに格納されている画像データを直接読み出し加工するようにした。このため、同一のデータ単位が揮発性記憶部１２０ａ内の異なる記憶領域に重複して格納されることはなく、記憶容量の無駄使いが防止されるといった効果を奏する。
【００３２】
［Ｃ：変形例］
以上、本発明を実施するための最良の形態について説明したが、係る実施形態を以下に述べるように変形しても良いことは勿論である。
【００３３】
（Ｃ−１：変形例１）
上述した実施形態では、本発明に係る画像処理装置が画像形成装置に組み込まれている場合について説明した。しかしながら、画像形成装置とは別体の画像処理装置に本発明を適用しても良いことは勿論である。このように画像形成装置とは別体の画像処理装置であっても、本発明を適用することにより、パイプライン方式の画像処理を行う際に記憶容量の無駄使いを防止し、データの処理効率を向上させることができることに変わりはないからである。
【００３４】
（Ｃ−２：変形例２）
上述した実施形態では、本発明に係る画像処理装置に特有な機能を実現させるためのパイプライン制御プログラムと画像処理ライブラリとが不揮発性記憶部１２０ｂに予め記憶されている場合について説明した。しかしながら、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのコンピュータ装置読み取り可能な記録媒体に、上記ソフトウェアを記録させておき、このような記録媒体を用いて一般的なコンピュータ装置に上記ソフトウェアをインストールするとしても良いことは勿論である。また、インターネットなどの通信網を介して上記ソフトウェアを配信し、一般的なコンピュータ装置にインストールさせるとしても勿論良い。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係る画像処理システムの構成例を示す図である。
【図２】同画像処理システムが有する画像処理装置３１のハードウェア構成の一例を示す図である。
【図３】同画像処理装置３１のソフトウェア構成の一例を示す図である。
【図４】同画像処理装置３１の制御部１００が行う初期化動作の流れを示すフローチャートである。
【図５】同画像処理装置３１の制御部１００がパイプライン制御プログラムにしたがって行う動作の流れを示すフローチャートである。
【符号の説明】
【００３６】
１０…通信線、２０…画像入力装置、３０…画像形成装置、３１…画像処理装置、３２…画像出力装置、１００…制御部、１１０…通信ＩＦ部、１２０…記憶部、１２０ａ…揮発性記憶部、１２０ｂ…不揮発性記憶部、１３０…バス。
【図１】
2005092736.tif 000003
【図２】
2005092736.tif 000004
【図３】
2005092736.tif 000005
【図４】
2005092736.tif 000006
【図５】
2005092736.tif 000007