(57)【要約】      （修正有）【課題】演算装置を用いた画像処理を効率的に行うことができる画像処理装置及び制御プログラムを提供する。【解決手段】画像処理装置は、演算装置の種類に応じた設定情報を記憶する設定情報記憶部３６と、記憶された設定情報に従って前記演算装置による演算を行うよう制御する演算制御部３４とを有し、前記設定情報記憶部３６は、設定情報として、予め定められた画像処理を行う異なる複数のプログラムのうちいずれのプログラムに従って前記演算装置による演算を行うかを指定する情報を記憶し、前記演算制御部３４は、記憶された設定情報で指定されたプログラムに基づいて演算を行なうよう制御する。【選択図】図２
2015018363.tif 000002
【特許請求の範囲】
【請求項１】
演算装置の種類に応じた設定情報を記憶する記憶手段と、
前記記憶手段により記憶された設定情報に従って前記演算装置による演算を行うよう制御する演算制御手段と
を有し、
前記記憶手段は、設定情報として、予め定められた画像処理を行う異なる複数のプログラムのうちいずれのプログラムに従って前記演算装置による演算を行うかを指定する情報を記憶し、
前記演算制御手段は、前記記憶手段により記憶された設定情報で指定されたプログラムに基づいて演算を行なうよう制御する
画像処理装置。
【請求項２】
前記複数のプログラムは、画像処理の際に使用する前記演算装置における記憶領域の大きさ又は画像処理の処理手順が異なる
請求項１記載の画像処理装置。
【請求項３】
前記複数のプログラムごとの前記演算装置による演算速度について測定する測定手段
をさらに有し、
前記記憶手段は、前記測定手段により測定された演算速度に基づいて選択されたプログラムを前記演算装置に対して用いるプログラムとして指定する情報を記憶する
請求項１又は２記載の画像処理装置。
【請求項４】
前記測定手段は、複数種の画像入力により測定するもので、
前記記憶手段は、測定された演算速度に基づいて選択されたプログラムを前記演算装置に対して用いるプログラムとして指定する情報を画像入力の種類ごとに記憶する
請求項３記載の画像処理装置。
【請求項５】
前記記憶手段は、演算の実施時期に応じた設定情報を記憶し、
前記演算制御手段は、前記記憶手段により記憶された設定条件のうち演算の実施時期に応じた設定情報に従って前記演算装置による演算を行うよう制御する
請求項３記載の画像処理装置。
【請求項６】
前記記憶手段は、さらに、前記演算装置における処理条件を定めた設定値を設定情報として記憶する
請求項１乃至５いずれか記載の画像処理装置。
【請求項７】
演算装置の種類に応じた設定情報を記憶する記憶ステップと、
記憶された設定情報に従って前記演算装置による演算を行うよう制御する演算制御ステップと
をコンピュータに実行させ、
前記記憶ステップは、設定情報として、予め定められた画像処理を行う異なる複数の画像処理用プログラムのうちいずれの画像処理用プログラムに従って前記演算装置による演算を行うかを指定する情報を記憶し、
前記演算制御ステップは、記憶された設定情報で指定された画像処理用プログラムに基づいて演算を行なうよう制御する
制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び制御プログラムに関する。
【背景技術】
【０００２】
特許文献１は、他のメモリと独立にアドレスを指定してアクセスすることができる複数のメモリ・エレメントから成り、隣接する所定領域内の画素データが同一の前記メモリ・エレメントに割付けられ、前記所定領域上で同一位置に対応する画素データが同一番地に割付けられる画像メモリと、前記メモリ・エレメントに対応する複数のプロセッサ・エレメントから成り、前記画像メモリ内の複数画素を同時に処理するプロセッサ・ユニットとを備えることを特徴とする画像処理装置について開示している。
【０００３】
特許文献２は、処理すべき仕事をその処理順序に従って各々の処理時間がほぼ等しくなるように複数個に分割し、この分割した複数個の仕事をそれぞれ別々の処理手段に割り当てることを特徴とする信号処理装置について開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−２０１７５７号公報
【特許文献２】特開昭５４−９０９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、演算装置を用いた画像処理を効率的に行うことができる画像処理装置及び制御プログラムを提供することである。
【課題を解決するための手段】
【０００６】
請求項１に係る本発明は、演算装置の種類に応じた設定情報を記憶する記憶手段と、前記記憶手段により記憶された設定情報に従って前記演算装置による演算を行うよう制御する演算制御手段とを有し、前記記憶手段は、設定情報として、予め定められた画像処理を行う異なる複数のプログラムのうちいずれのプログラムに従って前記演算装置による演算を行うかを指定する情報を記憶し、前記演算制御手段は、前記記憶手段により記憶された設定情報で指定されたプログラムに基づいて演算を行なうよう制御する画像処理装置である。
【０００７】
請求項２に係る本発明は、前記複数のプログラムは、画像処理の際に使用する前記演算装置における記憶領域の大きさ又は画像処理の処理手順が異なる請求項１記載の画像処理装置である。
【０００８】
請求項３に係る本発明は、前記複数のプログラムごとの前記演算装置による演算速度について測定する測定手段をさらに有し、前記記憶手段は、前記測定手段により測定された演算速度に基づいて選択されたプログラムを前記演算装置に対して用いるプログラムとして指定する情報を記憶する請求項１又は２記載の画像処理装置である。
【０００９】
請求項４に係る本発明は、前記測定手段は、複数種の画像入力により測定するもので、前記記憶手段は、測定された演算速度に基づいて選択されたプログラムを前記演算装置に対して用いるプログラムとして指定する情報を画像入力の種類ごとに記憶する請求項３記載の画像処理装置である。
【００１０】
請求項５に係る本発明は、前記記憶手段は、演算の実施時期に応じた設定情報を記憶し、前記演算制御手段は、前記記憶手段により記憶された設定条件のうち演算の実施時期に応じた設定情報に従って前記演算装置による演算を行うよう制御する請求項３記載の画像処理装置である。
【００１１】
請求項６に係る本発明は、前記記憶手段は、さらに、前記演算装置における処理条件を定めた設定値を設定情報として記憶する請求項１乃至５いずれか記載の画像処理装置である。
【００１２】
請求項７に係る本発明は、演算装置の種類に応じた設定情報を記憶する記憶ステップと、記憶された設定情報に従って前記演算装置による演算を行うよう制御する演算制御ステップとをコンピュータに実行させ、前記記憶ステップは、設定情報として、予め定められた画像処理を行う異なる複数の画像処理用プログラムのうちいずれの画像処理用プログラムに従って前記演算装置による演算を行うかを指定する情報を記憶し、前記演算制御ステップは、記憶された設定情報で指定された画像処理用プログラムに基づいて演算を行なうよう制御する制御プログラムである。
【発明の効果】
【００１３】
請求項１に係る本発明によれば、演算装置を用いた画像処理を、本構成を有しない場合に比較して効率的に行うことができる画像処理装置を提供することができる。
【００１４】
請求項２に係る本発明によれば、請求項１に係る本発明の効果に加え、画像処理の際に使用する記憶領域の大きさ又は画像処理の処理手順によって処理速度が変化する場合であっても、当該演算装置に適した設定により処理の効率化を行うことができる画像処理装置を提供することができる。
【００１５】
請求項３に係る本発明によれば、請求項１又は２に係る本発明の効果に加え、使用する演算装置が変更された場合であっても、変更後の演算装置において本構成を有しない場合に比較して効率的に画像処理を行うことができる画像処理装置を提供することができる。
【００１６】
請求項４に係る本発明によれば、請求項３に係る本発明の効果に加え、処理する画像入力の種類により効果が異なる場合でも、効率的に画像処理を行うことができる画像処理装置を提供することができる。
【００１７】
請求項５に係る本発明によれば、請求項３に係る本発明の効果に加え、本構成を有しない場合に比較して、実際の使用環境下において時期に応じて適した設定条件が異なる場合であっても、本構成を有しない場合に比較して効率的に画像処理を行うことができる画像処理装置を提供することができる。
【００１８】
請求項６に係る本発明は、請求項１乃至５いずれかに係る本発明の効果に加え、画像処理の際の処理条件を定めるパラメータに応じて処理速度が変化する場合であっても、本構成を有しない場合に比較して効率的に画像処理を行うことができる画像処理装置を提供することができる。
【００１９】
請求項７に係る本発明によれば、演算装置を用いた画像処理を、本構成を有しない場合に比較して効率的に行うことができる制御プログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る画像処理装置２のハードウェアの構成の一例を示すブロック図である。
【図２】制御プログラムが実行されることにより実現される画像処理装置２の機能構成を示すブロック図である。
【図３】設定情報記憶部３６が記憶する、演算装置６に応じた設定情報の一例を示す表である。
【図４】設定情報記憶部３６が記憶する、演算装置６に応じた設定情報の他の一例を示す表である。
【図５】本実施形態に係る画像処理装置２の動作の一例を示すフローチャートである。
【図６】画像の種類ごとの演算速度を測定し、画像の種類ごとに演算装置６に用いる設定情報を記憶する場合の画像処理装置２の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を参照して詳細に説明する。
図１は、本発明の実施形態に係る画像処理装置２のハードウェアの構成の一例を示すブロック図である。画像処理装置２は、図１に示されるように、制御装置４、演算装置６、ハードディスクドライブ（ＨＤＤ）等の記憶装置８、ネットワークを介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１０、入出力装置１２を有する。これらの構成要素は、制御バス１４を介して互いに接続されている。
【００２２】
制御装置（ホスト）４は、ＣＰＵ（Central Processing Unit）１６及びメモリ１８を含み、メモリ１８又は記憶装置８に格納されたプログラムに基づいて処理を実行して、画像処理装置２の動作を制御する。本実施形態では、後述の制御プログラムに従った制御のもと、画像処理用のプログラムを実施して画像データに対して画像処理を行う。ここで、制御装置４は、演算装置６を用いて画像処理における演算を行なう。演算装置６は、ＧＰＵ（Graphics Processing Unit）２０、メモリ２２を含み、並列演算により画像処理を行う。
【００２３】
入出力装置１２は、情報を表示する表示手段としてのディスプレイ装置などの表示装置、及び操作者によってなされる入力を受付けるキーボードなどの入力受付装置を備えた装置である。
【００２４】
以上、画像処理装置２のハードウェア構成について説明したが、上記の制御プログラム等のプログラムは、ＣＤ−ＲＯＭ等の記憶媒体に格納して画像処理装置２に提供することも可能である。
【００２５】
画像処理装置２は、例えば、通信ＩＦ１０を介して図示しない端末装置から受信した画像データに対し、画像処理を行い、図示しない画像形成装置に対して画像処理後の画像データを送信する。
【００２６】
図２は、制御プログラムが実行されることにより実現される画像処理装置２の機能構成を示すブロック図である。
【００２７】
図２に示すように、画像処理装置２は、画像データ受付部３０と、画像データ出力部３２と、演算制御部３４と、設定情報記憶部３６と、測定部３８と、測定用情報記憶部４０とを有する。
【００２８】
画像データ受付部３０は、画像処理対象の画像データの入力を受付ける。画像データ受付部３０は、例えば、図示しない端末装置から送信された画像データの入力を受付ける。また、画像データ出力部３２は、予め定められた画像処理が行われた処理後の画像データを出力する。画像データ出力部３２は、例えば、図示しない印刷装置に対し画像処理後の画像データを送信する。
【００２９】
演算制御部３４は、画像データ受付部３０が受付けた画像データに対し、演算装置６を用いて予め定められた画像処理を行うよう制御する。ここで、演算制御部３４は、後述する設定情報記憶部３６が記憶する設定情報に従って演算装置６による演算を行うよう制御する。
【００３０】
設定情報記憶部３６は、演算装置６の種類に応じた設定情報を記憶する。ここで、演算装置の種類とは、演算装置が備えるハードウェア又は動作条件からなる仕様による分類をいう。
【００３１】
例えば、製造メーカが異なる演算装置、製造メーカが同じであっても製品シリーズが異なる演算装置、又は製品シリーズが同じであっても製品の世代が異なる演算装置などにおいては、演算装置の仕様が異なっている。例えば、ＧＰＵカードの名称、計算ユニット数、キャッシュのサイズ、定数メモリのサイズ、ローカルメモリのサイズ、グローバルメモリのサイズ、最大ワークグループのサイズ、最大ワークグループの次元数などが異なっている。なお、ワークグループとは、演算処理の実行単位をいい、例えば、２次元のワークグループのサイズをｎ×ｍとした場合、画像のｎ画素（Ｘ方向）×ｍ画素（Ｙ方向）の部分画像を単位とした画像処理が行われる。
【００３２】
ここで、演算装置を用いて画像処理を行なう場合、上記のように仕様の異なる演算装置間においては、演算する際の設定により処理速度が異なる。本実施形態における設定情報記憶部３６は、設定情報の違いによる処理速度の差異を測定した結果、他の設定よりも処理速度が速いと認められる設定情報を演算装置６に対する設定情報として記憶している。
【００３３】
本実施形態では、演算装置６の種類に応じた設定情報として、具体的には、例えば、２次元のワークグループにおけるＸ方向（主走査方向）のサイズ及びＹ方向（副走査方向）のサイズ、ホスト側である制御装置４から演算装置６への画像データの転送単位のサイズ、演算装置６に対し複数の画像処理用プログラムに基づいて並行して処理させてもよいか、などといった処理条件を定めた設定値であるパラメータを記憶している。
【００３４】
また、本実施形態では、演算装置６の種類に応じた設定情報として、上記パラメータのほかに、予め定められた画像処理を行う異なる複数のプログラムのうちいずれのプログラムに従って演算装置６による演算を行うかを指定する情報を記憶している。例えば、画像処理結果としては同じ結果をもたらすものの画像処理の際に使用する演算装置６における記憶領域のサイズ又は画像処理の処理手順（アルゴリズム）が異なる等、処理過程が異なる複数の画像処理用プログラムのうち、当該演算装置６に適用した場合に処理速度が他の画像処理用プログラムよりも速い画像処理用プログラムを指定する情報を記憶している。なお、画像処理の際に使用する演算装置６における記憶領域のサイズの一例としては、ワークグループで共有できる高速メモリであるローカルメモリの使用サイズ、計算ユニット毎に有する高速メモリであるプライベートメモリの使用サイズが挙げられる。
【００３５】
測定部３８は、演算装置６の種類に応じた設定情報を探索するために、設定情報ごとの演算装置６における処理速度を測定する。本実施形態では、測定部３８は、測定用情報記憶部４０によって記憶されている測定用の設定情報ごとに、演算装置６における画像処理速度を測定し、測定用の設定情報のうち処理速度が他の測定用の設定情報よりも速いと判定された設定情報を、当該演算装置６に対する設定情報として設定情報記憶部３６に出力する。
【００３６】
具体的には、測定部３８は、測定用の設定情報である、パラメータごと、及び画像処理用プログラムごとに、画像データに対する演算装置６による画像処理の処理速度を測定する。
【００３７】
測定部３８は、使用者による使用の用に供していない環境下において測定を実施してもよいし、使用者による使用の用に供する環境下において測定を実施してもよい。また、測定部３８は、使用者による指示があった場合に測定を行なうよう構成してもよいし、予め定められた時期に自動的に測定を行なうよう構成してもよい。
【００３８】
なお、測定部３８は、測定に用いる画像として予め定められた画像データを用いて、当該画像データに対する予め定められた画像処理の処理速度を測定してもよいが、画像処理結果を得ることを目的とした通常のジョブに対して測定を行なってもよい。この場合、例えば、測定部３８は、このジョブで画像処理が指定された画像データに対して、複数の異なる測定用の設定情報を用いて、設定情報ごとの処理速度を測定してもよい。
【００３９】
図３は、設定情報記憶部３６が記憶する、演算装置６に応じた設定情報の一例を示す表である。なお、図３に示した例では、演算装置の種類として、ＧＰＵ＿Ａ、ＧＰＵ＿Ｂ、ＧＰＵ＿Ｃの３種類それぞれに対する設定情報を記憶する例を示しているが、設定情報記憶部３６は、画像処理装置２に搭載されている演算装置の種類の設定情報のみを記憶してもよい。
【００４０】
図３に示されるように、本実施形態の設定情報記憶部３６は、演算装置の種類ごとに、画像処理を行うためのプログラムのうち使用するプログラムを指定する情報、及び、使用するパラメータを記憶している。
【００４１】
図４は、設定情報記憶部３６が記憶する、演算装置６に応じた設定情報の他の一例を示す表である。図４に示した例では、演算が実施される時期ごとに設定情報が記憶されている点で、図３に示した例と異なっている。この場合、例えば、測定部３８は、時期ごとに処理速度を測定し、時期ごとに処理速度が最も早くなる設定情報を設定情報記憶部３６に出力する。また、演算制御部３４は、記憶された設定情報のうち演算の実施時期に応じた設定情報に従って演算装置６による演算を行うよう制御する。
【００４２】
次に、本実施形態に係る画像処理装置２の動作について説明する。
図５は、本実施形態に係る画像処理装置２の動作の一例を示すフローチャートである。
【００４３】
ステップ１０（Ｓ１０）において、設定情報ごとの処理速度の測定を実施するか否かが判定される。例えば、使用者からの実施指示があった場合、又は予め定められた実施時期となった場合、測定が実施される。測定を実施する場合、ステップ１２へ移行し、測定を実施しない場合、ステップ２８へ移行する。
【００４４】
ステップ１２（Ｓ１２）において、測定部３８は、測定用情報記憶部４０が記憶する測定対象の設定情報群を読み込む。
【００４５】
ステップ１４（Ｓ１４）において、測定部３８は、ステップ１２において読み込んだ設定情報のうち、測定する設定情報を決定する。本実施形態では、測定するプログラム及びパラメータを決定する。測定部３８は、ステップ１２において読み込んだ設定情報のうち、測定が終了していない設定情報を測定対象として決定する。
【００４６】
ステップ１６（Ｓ１６）において、測定部３８は、予め定められた画像データに対し、予め定められた画像処理を行うジョブを測定用情報記憶部４０から読み出す。
【００４７】
ステップ１８（Ｓ１８）において、演算制御部３４は、ステップ１４で決定された設定情報によりステップ１６で読み出されたジョブを演算装置６を用いて処理するよう制御する。
【００４８】
ステップ２０（Ｓ２０）において、測定部３８は、ステップ１８における処理開始から処理終了までの時間を測定し、当該設定情報に対する処理速度として保存する。
【００４９】
ステップ２２（Ｓ２２）において、測定部３８は、ステップ１４で選択された測定対象の設定情報に対してまだ測定されていない測定用のジョブが測定用情報記憶部４０に存在するか否かを判定し、存在する場合には、ステップ１６へ戻り、全て測定済みの場合にはステップ２４へ移行する。
【００５０】
このように、測定部３８は、例えば、処理対象の画像データが異なる複数の測定用ジョブについて、測定してもよい。この場合、例えば、各測定用ジョブの処理速度の平均を当該設定情報の処理速度としてもよい。
【００５１】
ステップ２４（Ｓ２４）において、測定部３８は、測定が終わっていない設定情報が測定用情報記憶部４０に存在するか否かを判定し、存在する場合には、ステップ１４へ戻り、全て測定済みの場合にはステップ２６へ移行する。
【００５２】
ステップ２６（Ｓ２６）において、測定部３８は、ステップ２０において保存された設定情報ごとの処理速度のうち演算装置６を用いて画像処理を行なう場合に処理速度が最も速い設定情報を選択し、演算装置６に対する設定情報として設定情報記憶部３６に出力する。
【００５３】
一方、ステップ２８（Ｓ２８）では、画像処理を要求するジョブが存在するか否かが判定され、ジョブが存在する場合には、ステップ３０へ移行し、存在しない場合には、ステップ１０へ戻る。
【００５４】
ステップ３０（Ｓ３０）では、演算制御部３４は、ステップ２６により記憶された、演算装置６に対応する設定情報を参照し、ステップ３２（Ｓ３２）において、演算装置６を用いた画像処理において使用するプログラム及びパラメータを決定する。
【００５５】
ステップ３２（Ｓ３４）において、演算制御部３４は、ステップ３２で決定したプログラムを実行し、ステップ３２で決定したパラメータによる画像処理の演算を演算装置６を用いて行うよう制御する。
【００５６】
ステップ３６（Ｓ３６）において、画像データ出力部３２は、画像処理後の画像データを出力する。
【００５７】
以上、動作についてフローチャートにて示したが、測定を複数種の画像入力ごとに行い、画像の種類ごとの設定情報を設定情報記憶部３６に記憶するようにしてもよい。このように、設定情報記憶部３６は、測定された演算速度に基づいて選択されたプログラムを演算装置６に対して用いるプログラムとして指定する情報を画像入力の種類ごとに記憶してもよい。
【００５８】
図６は、画像の種類ごとの演算速度を測定し、画像の種類ごとに演算装置６に用いる設定情報を記憶する場合の画像処理装置２の動作の一例を示すフローチャートである。本動作では、測定の際、画像の種類ごとに測定を行う。また、実際の処理の際には、画像の種類ごとに記憶された設定情報に基づいてジョブの処理を行う。なお、以下の説明では、図５に示すステップと重複するステップについては説明を割愛する。
【００５９】
ステップ２７（Ｓ２７）において、測定部３８は、ステップ１２において読み込んだ設定情報のうち、まだ測定されていない画像の種類の測定用のジョブが測定用情報記憶部４０に存在するか否かを判定し、存在する場合には、ステップ１４へ戻り、全て測定済みの場合にはステップ２８へ移行する。このように、画像の種類ごとに測定し及び画像の種類ごとに処理速度が最速の設定情報の選択を行う。
【００６０】
また、ステップ２９（Ｓ２９）では、演算制御部３４は、画像データの種類を決定する。画像データの種類の判断方法は、既知の方法によるもので、データの大きさでも良いし、データにおける自然画画像の比率でも良いし、自然画画像の解像度情報でもよい。圧縮が行われている場合には、圧縮の種類によりものでも良い。また、画像データを生成したアプリケーションの種類でもよいし、画像データを生成したワークステーションの名前やネットワークアドレスなどの識別情報であってもよい。ステップ３０では、ステップ２９で決定した画像データの種類に対応した設定情報を参照する。
【００６１】
以上、実施形態について説明したが、設定情報としては、演算装置６の仕様に応じたプログラムの指定情報だけでもよいし、演算装置６の仕様に応じたパラメータ情報だけでもよい。
【００６２】
また、上記実施形態では、演算装置６としてＧＰＵを例に挙げて説明したが、ＳＳＥ（Streaming SIMD Extensions）、ＡＶＸ（Advanced Vector eXtensions）などのＳＩＭＤ（single instruction multiple data）による演算に適用してもよい。
【符号の説明】
【００６３】
２        画像処理装置
４        制御装置
６        演算装置
８        記憶装置
１６      ＣＰＵ
１８      メモリ
２０      ＧＰＵ
２２      メモリ
３０      画像データ受付部
３２      画像データ出力部
３４      演算制御部
３６      設定情報記憶部
３８      測定部
４０      測定用情報記憶部
【図１】
2015018363.tif 000003
【図２】
2015018363.tif 000004
【図３】
2015018363.tif 000005
【図４】
2015018363.tif 000006
【図５】
2015018363.tif 000007
【図６】
2015018363.tif 000008