(57)【要約】【課題】画像処理の際に必要とされるメモリリソースの低減を図りつつ、画像処理の処理速度を向上させる。【解決手段】制御部は、カウンタの値をインクリメントする（Ｓ２０１）。また、制御部は、カウンタの値が頻度値の倍数であるか否かを判定し（Ｓ２０３）、カウンタの値が頻度値の倍数である場合に、バッファ領域のうちに解放対象単位バッファ領域が存在するか否かを判定する（Ｓ２０４）。そして、バッファ領域のうちに解放対象単位バッファ領域が存在する場合、制御部は、解放対象単位バッファ領域を開放する（Ｓ２０５）。【選択図】図６
2013003936.tif 000002
【特許請求の範囲】
【請求項１】
画像処理を実行し、当該画像処理によって生成されるデータを、記憶手段に確保された複数の単位バッファ領域からなるバッファ領域に書き込む第１画像処理手段と、
前記バッファ領域に格納されるデータを単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を実行する複数の第２画像処理手段と、
単位読出データ量のデータの読み出しがいずれかの前記第２画像処理手段によって行われた場合に、前記バッファ領域のうちで、格納しているデータの全部が全部の前記第２画像処理装置によって読み出されている単位バッファ領域である解放対象単位バッファ領域、が存在するか否かを判定する判定手段と、
前記判定手段により前記解放対象単位バッファ領域が存在すると判定される場合に、当該解放対象単位バッファ領域を解放する解放手段と、を含み、
前記判定手段は、
前記複数の第２画像処理手段の各々の単位読出データ量に対する、前記単位バッファ領域のサイズの比に応じた頻度で前記判定を実行すること、
を特徴とする画像処理装置。
【請求項２】
前記複数の第２画像処理手段の各々の単位読出データ量に対する前記単位バッファ領域のサイズの比の和に基づいて、前記判定の実行頻度を制御する頻度情報を生成する手段をさらに含むこと、
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段のうちで使用可能な記憶領域のサイズを取得するサイズ取得手段と、
前記サイズ取得手段により取得されたサイズと、前記複数の第２画像処理手段の各々の前記単位読出データ量と、に基づいて前記単位バッファ領域のサイズを決定する決定手段と、
をさらに含むこと、
を特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１画像処理手段は、
画像処理によって生成されるデータを、単位書込データ量ずつ書き込み、
前記決定手段は、
前記サイズ取得手段により取得されたサイズと、前記複数の第２画像処理手段の各々の前記単位読出データ量と、前記単位書込データ量と、に基づいて決定すること、
を特徴とする請求項３に記載の画像処理装置。
【請求項５】
画像処理を実行し、当該画像処理によって生成されるデータを、記憶手段に確保された複数の単位バッファ領域からなるバッファ領域に書き込む第１画像処理手段、
前記バッファ領域に格納されるデータを単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を実行する複数の第２画像処理手段、
単位読出データ量のデータの読み出しがいずれかの前記第２画像処理手段によって行われた場合に、前記バッファ領域のうちで、格納しているデータの全部が全部の前記第２画像処理装置によって読み出されている単位バッファ領域である解放対象単位バッファ領域、が存在するか否かを判定する判定手段、
前記判定手段により前記解放対象単位バッファ領域が存在すると判定される場合に、当該解放対象単位バッファ領域を解放する解放手段、
としてコンピュータを機能させるためのプログラムであって、
前記判定手段は、
前記複数の第２画像処理手段の各々の単位読出データ量に対する、前記単位バッファ領域のサイズの比に応じた頻度で前記判定を実行すること、
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
下記特許文献１に記載の画像処理装置では、バッファモジュールの後段に連結された画像処理モジュールがデータの読み出しを行うごとに、データの読み出しが完了された単位バッファがあるか否かが判定される。そして、データの読み出しが完了された単位バッファがあれば、その単位バッファが解放される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３８５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、メモリリソースの低減を図りつつ、画像処理の処理速度を向上させることである。
【課題を解決するための手段】
【０００５】
上記課題を解決するための請求項１の発明は、画像処理を実行し、当該画像処理によって生成されるデータを、記憶手段に確保された複数の単位バッファ領域からなるバッファ領域に書き込む第１画像処理手段と、前記バッファ領域に格納されるデータを単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を実行する複数の第２画像処理手段と、単位読出データ量のデータの読み出しがいずれかの前記第２画像処理手段によって行われた場合に、前記バッファ領域のうちで、格納しているデータの全部が全部の前記第２画像処理装置によって読み出されている単位バッファ領域である解放対象単位バッファ領域、が存在するか否かを判定する判定手段と、前記判定手段により前記解放対象単位バッファ領域が存在すると判定される場合に、当該解放対象単位バッファ領域を解放する解放手段と、を含み、前記判定手段は、前記複数の第２画像処理手段の各々の単位読出データ量に対する、前記単位バッファ領域のサイズの比に応じた頻度で前記判定を実行すること、を特徴とする画像処理装置である。
【０００６】
また、請求項２の発明は、請求項１の発明において、前記複数の第２画像処理手段の各々の単位読出データ量に対する前記単位バッファ領域のサイズの比の和に基づいて、前記判定を実行する頻度を制御する頻度情報を生成する手段をさらに含むこと、を特徴とする。
【０００７】
また、請求項３の発明は、請求項１又は２の発明において、前記記憶手段のうちで使用可能な記憶領域のサイズを取得するサイズ取得手段と、前記サイズ取得手段により取得されたサイズと、前記複数の第２画像処理手段の各々の前記単位読出データ量と、に基づいて、前記単位バッファ領域のサイズを決定する決定手段と、をさらに含むことを特徴とする。
【０００８】
また、請求項４の発明は、請求項３の発明において、前記第１画像処理手段は、画像処理によって生成されるデータを、単位書込データ量ずつ書き込み、前記決定手段は、前記サイズ取得手段により取得されたサイズと、前記複数の第２画像処理手段の各々の前記単位読出データ量と、前記単位書込データ量と、に基づいて決定することを特徴とする。
【０００９】
上記課題を解決するための請求項５の発明は、画像処理を実行し、当該画像処理によって生成されるデータを、記憶手段に確保された複数の単位バッファ領域からなるバッファ領域に書き込む第１画像処理手段、前記バッファ領域に格納されるデータを単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を実行する複数の第２画像処理手段、単位読出データ量のデータの読み出しがいずれかの前記第２画像処理手段によって行われた場合に、前記バッファ領域のうちで、格納しているデータの全部が全部の前記第２画像処理装置によって読み出されている単位バッファ領域である解放対象単位バッファ領域、が存在するか否かを判定する判定手段、前記判定手段により前記解放対象単位バッファ領域が存在すると判定される場合に、当該解放対象単位バッファ領域を解放する解放手段、としてコンピュータを機能させるためのプログラムであって、前記判定手段は、前記複数の第２画像処理手段の各々の単位読出データ量に対する、前記単位バッファ領域のサイズの比に応じた頻度で前記判定を実行することを特徴とするプログラムである。
【発明の効果】
【００１０】
請求項１及び５の発明によれば、メモリリソースの低減を図りつつ、画像処理の処理速度を向上させることができる。
【００１１】
また、請求項２の発明によれば、本構成を有しない場合に比して、画像処理の処理速度を向上させることができる。
【００１２】
また、請求項３の発明によれば、本構成を有しない場合に比して、画像処理の処理速度を向上させることができる。
【００１３】
また、請求項４の発明によれば、本構成を有しない場合に比して、画像処理の処理速度を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る画像処理装置２の構成を例示する図である。
【図２】複数の画像処理部を例示する図である。
【図３】バッファ領域を例示する図である。
【図４】バッファ制御情報を例示する図である。
【図５】制御部が実行する処理を例示するフロー図である。
【図６】制御部が実行する処理を例示するフロー図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００１６】
［画像処理装置］
図１は、本発明の実施形態に係る画像処理装置２の構成を例示する図である。本実施形態の場合、画像処理装置２は、制御部４、主記憶５、記憶部６、及び表示部８を備えたパイプライン画像処理装置として実現される。制御部４、主記憶５、記憶部６、及び表示部８はバスを介してデータ授受可能に接続されている。なお、画像処理装置２は、これらの他にもユーザインタフェース等も備えている。
【００１７】
制御部４は、例えばマイクロプロセッサであり、記憶部６に記憶されるプログラムに従って情報処理を実行する。主記憶５は、ＲＡＭであり、情報処理の過程で必要となる各種データが格納される。表示部８は、例えばモニタであり、制御部４から入力される情報を出力する。本実施形態の場合、表示部８には、画像処理の結果が出力される。
【００１８】
また、記憶部６は、ＲＯＭ及びハードディスクを含む情報記憶媒体であり、オペレーションシステムの他、アプリケーションプログラムＡＰと、ｎ個（ｎは２以上の整数）の画像処理プログラムＩＰと、バッファ制御プログラムＢＰと、リソース管理プログラムＲＰと、を備える。これらのプログラムは、ＤＶＤ（登録商標）−ＲＯＭ等のコンピュータ読取可能な情報記憶媒体から読み出されて記憶部６に格納されてもよいし、ネットワーク等の通信網から供給されて記憶部６に格納されてもよい。
【００１９】
［画像処理部］
この画像処理装置２では、制御部４が複数の画像処理プログラムＩＰに従って動作することによって、画像処理を行う画像処理部ＩＭが複数実現される。図２は、複数の画像処理部ＩＭを例示する図である。画像処理部ＩＭ（Ｎ（Ｎは正の整数））は、制御部４が画像処理プログラムＩＰ（Ｎ）に従って動作することにより実現される。なお、画像処理部ＩＭは、画像処理モジュールとも呼ばれる。
【００２０】
また、この画像処理装置２では、処理対象の画像データに対してパイプライン画像処理を実行すべく、アプリケーションプログラムにより、複数の画像処理部ＩＭが、前段の画像処理部ＩＭの出力が後段の画像処理部ＩＭの入力となるよう、接続されるようになっている（図２参照）。こうして、複数のステージからなる画像処理手順が決定される。なお、図２では、画像処理手順に分岐が含まれている。
【００２１】
例えば、図２によれば、第１ステージの画像処理を行う画像処理部ＩＭ（１）の出力が、第２ステージの画像処理を行う画像処理部ＩＭ（２）の入力となるよう、両画像処理部ＩＭが接続されている。また、画像処理部ＩＭ（２）の出力が、第３ステージの画像処理を行う画像処理部ＩＭ（３）及び画像処理部ＩＭ（４）の入力となるよう、画像処理部ＩＭ（２）と画像処理部ＩＭ（３）及び画像処理部ＩＭ（４）とが接続されている。また、画像処理部ＩＭ（３）の出力が、第４ステージの画像処理を行う画像処理部ＩＭ（５）の入力となるよう、両画像処理部ＩＭが接続されている。画像処理部ＩＭ（４）の出力が、第４ステージの画像処理を行う画像処理部ＩＭ（６）の入力となるよう、両画像処理部ＩＭが接続されている。
【００２２】
具体的には、この画像処理装置２では、前段の画像処理部ＩＭ（Ｎ）の出力が１又は複数の後段の画像処理部ＩＭ（Ｌ（Ｌは「Ｎ＋１」以上の整数））の入力となるよう、バッファ制御プログラムＢＰにより、前段の画像処理部ＩＭ（Ｎ）と１又は複数の後段の画像処理部ＩＭ（Ｌ）との間に、バッファ領域ＢＡ（Ｎ）が配置される。例えば、図２によれば、画像処理部ＩＭ（１）と画像処理部ＩＭ（２）との間にバッファ領域ＢＡ（１）が配置されている。また、画像処理部ＩＭ（２）と、画像処理部ＩＭ（３）及び画像処理部ＩＭ（４）と、の間にバッファ領域ＢＡ（２）が配置されている。
【００２３】
画像処理手順決定後のパイプライン画像処理において、画像処理部ＩＭ（１）は、処理対象の画像データに対して画像処理を実行し、画像処理によって生成されるデータを、単位書込データ量ずつ、後段のバッファ領域ＢＡ（１）に書き込むこととなる。また、画像処理部ＩＭ（１）以外の画像処理部ＩＭ（Ｎ（Ｎは１以外の正の整数）は、前段のバッファ領域ＢＡに格納されるデータを単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を実行する。続いて、画像処理によって生成されるデータを、単位書込データ量ずつ、後段のバッファ領域ＢＡ（Ｎ）に書き込むこととなる。
【００２４】
なお、単位書込データ量及び単位読出データ量は、画像処理部ＩＭごとに予め決まっている。以下、画像処理部ＩＭ（Ｎ）の単位書込データ量を、単位書込データ量α（Ｎ）と表記し、画像処理部ＩＭ（Ｎ）の単位読出データ量を、単位読出データ量β（Ｎ）と表記する。
【００２５】
［バッファ領域］
バッファ領域について具体的に説明する。バッファ領域は、主記憶５に確保される記憶領域である。より詳しくは、バッファ領域は、１又は複数の単位バッファ領域からなる。図３に、バッファ領域を例示した。ここでは、バッファ領域ＢＡ（２）を例示している。なお、括弧内の数値は、各単位バッファ領域のメモリアドレスを示す。
【００２６】
このようなバッファ領域は、画像処理手順の決定の際に、バッファ制御プログラムＢＰにより、主記憶５に確保される。また、バッファ領域の確保に併せて、確保したバッファ領域を制御するためのバッファ制御情報が生成される。
【００２７】
図４にバッファ制御情報を例示した。ここでは、バッファ領域ＢＡ（２）を制御するためのバッファ制御情報を例として取り上げる。同図に示すように、バッファ制御情報は、このバッファ領域の前段の画像処理部ＩＭ（ここでは、画像処理部ＩＭ（２））の単位書込データ量を示す単位書込データ量情報を含む。図４（ａ）に単位書込データ量情報を例示した。図４（ａ）によれば、単位書込データα（２）は１００バイトである。
【００２８】
また、バッファ制御情報は、読出制御データを含む。読出制御データは、バッファ領域の後段の１又は複数の画像処理部ＩＭ（ここでは、画像処理部ＩＭ（３）及び画像処理部ＩＭ（４））の各々に、当該画像処理部ＩＭの単位読出データ量と、当該画像処理部ＩＭの現在の読出位置を示すメモリアドレスと、を対応付けてなるテーブルである。図４（ｂ）に読出制御テーブルを例示した。同図によれば、単位読出データ量β（３）は５０バイトであり、単位読出データ量β（４）は１００バイトである。なお、最初の段階では、読出位置には、バッファ領域の先頭のメモリアドレスが設定される。単位読出データ量分のデータが読み出されると、読出位置が単位読出データ量分ずらされる。
【００２９】
以下、画像処理部ＩＭ（Ｎ）の現在の読出位置を、読出位置Ｐｔｒ（Ｎ）と表記する。図３に、読出位置Ｐｔｒ（３）と読出位置Ｐｔｒ（４）とを例示している。
【００３０】
また、バッファ制御情報は、単位バッファ領域に関する情報を表す単位バッファ領域情報を含む。単位バッファ領域情報は、単位バッファ領域のサイズと、頻度値ＦＱと、カウンタＣと、を含む。図４（ｃ）に単位バッファ領域情報を例示した。
【００３１】
単位バッファ領域のサイズは、前段の画像処理部ＩＭの単位書込データ量と、後段の１又は複数の画像処理部ＩＭの単位読出データ量と、の公倍数に相当するデータサイズに設定される。同図によれば、前段の画像処理部ＩＭ（２）の単位書込データ量α（２）が１００バイトで、後段の画像処理部ＩＭ（３）及び画像処理部（４）のそれぞれの単位読出データ量β（３）、β（４）がそれぞれ５０バイト及び１００バイトなので、単位バッファ領域のサイズがこれらの公倍数に相当するデータサイズである５００バイトに設定されている。
【００３２】
また、頻度値ＦＱは、正の整数を示す数値データである。頻度値ＦＱは、後段の１又は複数の画像処理部ＩＭの各々が、単位バッファ領域のサイズ分のデータを読み出すために行うべき「単位読出データ量のデータ読み出し」の回数、の和に設定される。より詳しくは、頻度値ＦＱは、単位バッファ領域のサイズを、後段の１又は複数の画像処理部ＩＭのそれぞれの単位読出データ量で除算したときの商、の和に設定される。同図では、単位バッファ領域のサイズ「５００バイト」を単位読出データ量β（３）「５０バイト」で除算した商が「１０」で、単位バッファ領域のサイズ「５００バイト」を単位読出データ量β（４）「１００バイト」で除算した商が「５」であるから、頻度値ＦＱが「１５」に設定されている。頻度値ＦＱの意義については後述する。
【００３３】
また、カウンタＣは、後段のいずれかの画像処理部ＩＭによって単位読出データ量のデータ読み出しが行われた回数を示す数値データである。最初の段階では、カウンタＣには「０」が設定される。カウンタＣの意義については後述する。
【００３４】
なお、バッファ制御情報は、これらの他にも、各単位バッファ領域のメモリアドレスを示す情報や、前段の画像処理部ＩＭの現在の書込位置ｗＰｔｒを示すメモリアドレスを示す情報等も含まれる。最初の段階では、書込位置には、バッファ領域の先頭のメモリアドレスの値が設定され、単位書込データ量分のデータが書き込まれると、書込位置が単位書込データ量分ずらされる。
【００３５】
以下、画像処理手順の決定の際にバッファ領域ＢＡ（Ｎ）を確保するためにおこなわれる処理について図５を参照しながら説明する。
【００３６】
まず、制御部４は、バッファ制御プログラムＢＰに従って、画像処理部ＩＭ（Ｎ）の単位書込データ量α（Ｎ）と、画像処理部ＩＭ（Ｎ）の後段の１又は複数の画像処理部（Ｌ（Ｌは「Ｎ＋１」以上の整数））の各々の単位読出データ量β（Ｌ）と、を取得する（Ｓ１０１）。また、制御部４は、単位書込データ量α（Ｎ）及び単位読出データ量β（Ｌ）に基づいて上述の単位書込データ量情報及び読出制御テーブルを生成する。なお、本実施形態の場合、この段階では、読出位置Ｐｔｒ（Ｌ）（図４（ｂ）参照）には、「ｎｕｌｌ」が設定される。
【００３７】
例えば、バッファ領域ＢＡ（２）を確保する場合、Ｓ１０１の処理の結果、図４（ａ）に示される単位書込データ量情報と、図４（ｂ）に示される読出制御テーブルと、が生成される。
【００３８】
また、制御部４（サイズ取得手段）は、リソース管理プログラムＲＰに従って、主記憶５のうちで使用可能な記憶領域のサイズ（以下、使用可能サイズ）を特定する（Ｓ１０２）。例えば、制御部４は、主記憶５の空き領域のサイズを特定する。
【００３９】
そして、制御部４（決定手段）は、バッファ制御プログラムＢＰに従って、使用可能サイズと、単位書込データ量α（Ｎ）と、１又は複数の単位読出データ量β（Ｌ）と、に基づき、単位バッファ領域のサイズを決定する（Ｓ１０３）。例えば、バッファ領域ＢＡ（２）の単位バッファ領域のサイズを決定する場合、制御部４は、単位書込データ量α（２）、単位読出データ量（３）、及び単位読出データ量（４）に基づいて、単位バッファ領域のサイズを決定する。
【００４０】
本実施形態の場合、記憶部６には、使用可能サイズに関する条件（例えば、サイズ範囲）と、単位書込データ量α（Ｎ）と１又は複数の単位読出データ量（Ｌ）の各々との最小公倍数に掛けるべき係数の係数候補と、を関連づけてなるテーブルが記憶されている。なお、このテーブルは、使用可能サイズが大きいほど係数候補の値が大きくなるように設定されている。制御部４は、このテーブルに基づいて、使用可能サイズが大きいほど大きくなるよう、単位バッファ領域のサイズを決定する。より詳しくは、制御部４は、使用可能サイズが満足する条件（例えば、使用可能サイズを含む数値範囲）を特定し、特定した条件に関連づけられた係数候補を、上記最小公倍数に乗算する。こうして得られた積が、単位バッファ領域のサイズとして決定され、決定されたサイズの単位バッファ領域１つ分の記憶領域がバッファ領域ＢＡ（Ｎ）として主記憶５に確保される。また、読出位置Ｐｔｒ（Ｌ）が、バッファ領域ＢＡ（Ｎ）の先頭のメモリアドレスに設定される。なお、この段階では、バッファ領域ＢＡ（Ｎ）に単位バッファ領域が１つしか含まれないが、パイプライン画像処理の際、適宜、単位バッファ領域が追加される。
【００４１】
そして、制御部４は、単位バッファ領域のサイズと、１又は複数の単位読出データ量β（Ｌ）と、に基づいて、頻度値ＦＱを設定する（Ｓ１０４）。具体的には、制御部４は、単位読出データ量β（Ｌ）ごとに、単位バッファ領域のサイズを当該単位読出データ量β（Ｌ）で除算した商を算出し、算出した商の和を頻度値ＦＱとして設定する。また、カウンタＣを「０」に設定する。こうして、上記単位バッファ領域情報（図４（ｃ）参照）が生成される。
【００４２】
［パイプライン画像処理］
上述のように、画像処理手順の決定後、パイプライン画像処理が行われる。各画像処理部ＩＭは、前段のバッファ領域ＢＡに格納されるデータを単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を行う。そして、画像処理によって生成されるデータを、単位書込データ量ずつ後段のバッファ領域ＢＡに書き込む。例えば、図２によれば、第１画像処理手段に相当する画像処理部ＩＭ（２）は、バッファ領域ＢＡ（１）から読み出したデータに対して画像処理を行い、画像処理によって生成されるデータを、単位書込データ量α（２）ずつ、バッファ領域ＢＡ（２）に書き込む。また、第２画像処理手段に相当する画像処理部ＩＭ（３）及び画像処理部ＩＭ（４）の各々は、それぞれ、バッファ領域ＢＡ（２）に格納されるデータを、自身の単位読出データ量ずつ読み出し、読み出したデータに対して画像処理を行う。
【００４３】
ここで、複数の単位バッファ領域を含むバッファ領域ＢＡ（Ｎ）のうちのいずれかの単位バッファ領域（以下、単位バッファ領域Ｘと表記する）に格納されるデータのすべてを、バッファ領域ＢＡ（Ｎ）の後段の画像処理部ＩＭ（Ｌ（Ｌは「Ｎ＋１」以上の整数））の全部が読み出し済みである場合を想定する。
【００４４】
この場合、今後、単位バッファ領域Ｘに格納されるデータが、後段の画像処理部ＩＭ（Ｌ）によって読み出されることはないので、単位バッファ領域Ｘは無駄である。
【００４５】
そこで、この画像処理装置２では、メモリリソースの軽減を図るべく、バッファ領域ＢＡ（Ｎ）からの単位読出データ量のデータの読み出しが後段の画像処理部ＩＭ（Ｌ）のいずれかによって行われた場合に、バッファ領域ＢＡ（Ｎ）のうちで、格納しているデータの全部が後段の画像処理部ＩＭ（Ｌ）の全部によって読み出されている単位バッファ領域（以下、解放対象単位バッファ領域）が存在するか否かを、制御部４（判定手段）が、バッファ制御プログラムＢＡに従って判定するようになっている。そして、解放対象単位バッファ領域が存在すると判定した場合、制御部４（解放手段）が、リソース管理プログラムＲＰに従って、解放対象単位バッファ領域を解放するようになっている。
【００４６】
ところで、バッファ領域ＢＡ（Ｎ）からの単位読出データ量のデータの読み出しが行われる度に上記の判定を行うようにした場合、解放対象単位バッファ領域が存在しないことが明らかな場合にも上記の判定が行われてしまう。例えば、解放対象単位バッファ領域の解放が行われた直後に単位読出データ量のデータの読み出しが行われても、それによって新たな解放対象単位バッファ領域が発生することはないことが明らかであるにも関わらず、上記の判定が行われてしまう。そのため、バッファ領域ＢＡ（Ｎ）からの単位読出データ量のデータの読み出しが行われる度に上記の判定を行うようにした場合、上記の判定が無駄に行われることとなる。そして、その結果、処理量が無駄に多くなってしまい処理速度が遅くなってしまう。
【００４７】
この点、この画像処理装置２では、上記の判定が無駄に行われないよう図られている。具体的には、制御部４が、頻度値ＦＱに応じた頻度で上記の判定を行うことにより、解放対象単位バッファ領域が存在する可能性が高い場合にのみ上記の判定が行われるようになっている。以下この点について説明する。
【００４８】
図６は、複数の単位バッファ領域を含むバッファ領域ＢＡ（Ｎ）からの単位読出データ量のデータ読み出しを後段の画像処理部ＩＭ（Ｌ（Ｌは「Ｎ＋１」以上の整数））のいずれかが実行した場合に制御部４が実行する処理を示すフロー図である。例えば、バッファ領域ＢＡ（Ｎ）がバッファ領域ＢＡ（２）である場合、この処理は、単位読出データ量のデータ読み出しを画像処理部ＩＭ（３）又は画像処理部ＩＭ（４）が実行した場合に実行される。
【００４９】
まず、制御部４は、バッファ制御プログラムＢＰに従って、カウンタＣ（図４（ｃ）参照）の値を「１」だけインクリメントする（Ｓ２０１）。また、制御部４は、バッファ制御プログラムＢＰに従って、画像処理部ＩＭ（Ｌ）の読出位置Ｐｔｒ（Ｌ）を更新する（Ｓ２０２）。すなわち、制御部４は、読出位置Ｐｔｒ（Ｌ）を単位読出データ量β（Ｌ）分ずらす。
【００５０】
そして、制御部４（判定手段）は、バッファ制御プログラムＢＰに従ってカウンタＣの値が頻度値ＦＱの倍数になっているか否かを判定する（Ｓ２０３）。
【００５１】
カウンタＣの値が頻度値ＦＱの倍数になっている場合（Ｓ２０３のＹ）、制御部４（判定手段）は、バッファ制御プログラムＢＰに従って、バッファ領域ＢＡ（Ｎ）のうちに解放対象単位バッファ領域が存在するか否かを判定する（Ｓ２０４）。具体的には、制御部４は、各画像処理部ＩＭ（Ｌ）の読出位置Ｐｔｒ（Ｌ）に基づいて、解放対象単位バッファ領域が存在するか否かを判定する。例えば、バッファ領域ＢＡ（Ｎ）がバッファ領域ＢＡ（２）である場合、制御部４は、画像処理部ＩＭ（３）の読出位置Ｐｔｒ（３）と画像処理部ＩＭ（４）の読出位置Ｐｔｒ（４）とに基づいて、バッファ領域ＢＡ（２）のうちに解放対象単位バッファ領域が存在するか否かを判定することになる。
【００５２】
そして、バッファ領域ＢＡ（Ｎ）のうちに解放対象単位バッファ領域が存在する場合（Ｓ２０４のＹ）、制御部４（解放手段）は、リソース管理プログラムＲＰに従って、解放対象単位バッファ領域を解放する（Ｓ２０５）。
【００５３】
こうすれば、制御部４が、上記の判定を、後段の画像処理部ＩＭの各々が単位バッファ領域のサイズ分のデータを読み出すのに必要な「単位読出データ量のデータ読み出し」の回数に応じた頻度で行うようになる。例えば、バッファ領域ＢＡ（２）がバッファ領域ＢＡ（Ｎ）である場合、制御部４が、上記の判定を、画像処理部ＩＭ（３）が単位バッファ領域のサイズ分のデータを読み出すのに必要な「単位読出データ量のデータ読み出し」の回数と、画像処理部ＩＭ（４）が単位バッファ領域のサイズ分のデータを読み出すのに必要な「単位読出データ量のデータ読み出し」の回数と、に応じた頻度で行うようになる。そのため、メモリリソースの軽減を図りつつも、上記の判定が無駄に行われないようになる。
【００５４】
なお、本発明の実施形態は上記実施形態だけに限らない。
【００５５】
例えば、制御部４は、Ｓ２０４のステップにおいて、解放対象単位バッファ領域の有無を判定することに加えて、カウンタＣの値を「０」に初期化するようにしてもよい。この場合、制御部４は、Ｓ２０３のステップにおいて、カウンタＣの値が頻度値ＦＱと一致しているか否かを判定することとなる。
【符号の説明】
【００５６】
２  画像処理装置、４  制御部、５  主記憶、６  記憶部、８  表示部、ＡＰ  アプリケーションプログラム、ＢＡ  バッファ領域、ＢＰ  バッファ制御プログラム、ＩＭ  画像処理部、ＩＰ  画像処理プログラム、ＲＰ  リソース管理プログラム。
【図１】
2013003936.tif 000003
【図２】
2013003936.tif 000004
【図３】
2013003936.tif 000005
【図４】
2013003936.tif 000006
【図５】
2013003936.tif 000007
【図６】
2013003936.tif 000008