IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7514081情報処理装置、情報処理装置の制御方法及びプログラム
<>
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図1
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図2
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図3
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図4
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図5
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図6
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-02
(45)【発行日】2024-07-10
(54)【発明の名称】情報処理装置、情報処理装置の制御方法及びプログラム
(51)【国際特許分類】
   G06F 9/445 20180101AFI20240703BHJP
   G06T 1/00 20060101ALI20240703BHJP
【FI】
G06F9/445 130
G06T1/00 500Z
【請求項の数】 8
(21)【出願番号】P 2020007839
(22)【出願日】2020-01-21
(65)【公開番号】P2021114266
(43)【公開日】2021-08-05
【審査請求日】2023-01-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】永縄 吉宏
(72)【発明者】
【氏名】深町 仁
(72)【発明者】
【氏名】原口 朋比古
(72)【発明者】
【氏名】諫武 賢志
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2016-062300(JP,A)
【文献】特開2018-124605(JP,A)
【文献】特開平10-149280(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44-9/445
G06T 1/00
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
各々が1以上の画像処理を実行可能な複数の画像処理ライブラリに、所定の実行順序の一連の画像処理を実行させる情報処理装置であって、
前記一連の画像処理に含まれる各画像処理を実行可能な画像処理ライブラリの複数の組み合わせを検索する検索手段と、
前記複数の組み合わせの各々に対して前記一連の画像処理の実行のために必要な画像フォーマットの変換回数を算出する算出手段と、
前記変換回数が少なくなるように、前記複数の組み合わせから1つの組み合わせを選択する選択手段と、
前記選択手段により選択された前記1つの組み合わせに対応する複数の画像処理ライブラリに前記一連の画像処理を実行させる実行手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記算出手段は、前記複数の組み合わせの各々に対して、前記一連の画像処理のうちの第1の画像処理を行う第1の画像処理ライブラリの出力画像フォーマットと、前記第1の画像処理に後続する第2の画像処理を行う第2の画像処理ライブラリの入力画像フォーマットとが一致するか否かを判定し、一致しない場合に前記変換回数をインクリメントしていくことにより、前記変換回数を算出することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記選択手段は、前記変換回数と、前記一連の画像処理を実行する画像処理ライブラリのライブラリ数とに基づいて、前記変換回数が少なく、且つ、前記ライブラリ数が少なくなる組み合わせを前記1つの組み合わせとして選択することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記一連の画像処理の中に画像サイズの変化を伴う画像処理が含まれているか否かを判定する判定手段をさらに備え、
前記判定手段は、前記画像サイズの変化を伴う画像処理が含まれていると判定された場合、前記画像サイズが大きくなるかをさらに判定し、
前記選択手段は、
前記画像サイズが大きくなると判定された場合、前記画像サイズが大きくなる画像処理に後続する1以上の画像処理の実行のために必要な画像フォーマットの変換回数が少ない前記画像処理ライブラリの組み合わせを抽出し、
前記抽出された組み合わせの中から前記変換回数が少ない1つの組み合わせを選択することを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項5】
前記選択手段は、
前記画像サイズが小さくなると判定された場合、前記画像サイズが小さくなる画像処理よりも前に実行される1以上の画像処理の実行のために必要な画像フォーマットの変換回数が少ない前記画像処理ライブラリの組み合わせを抽出し、
前記抽出された組み合わせの中から前記変換回数が少ない1つの組み合わせを選択することを特徴とする請求項に記載の情報処理装置。
【請求項6】
前記算出手段は、前記出力画像フォーマットと、前記入力画像フォーマットとが一致しない場合であっても、前記出力画像フォーマットがどの画像処理ライブラリでも画像変換無しに使用できる汎用フォーマットである場合には、一致するものとみなして前記変換回数をインクリメントしないことを特徴とする請求項2に記載の情報処理装置。
【請求項7】
各々が1以上の画像処理を実行可能な複数の画像処理ライブラリに、所定の実行順序の一連の画像処理を実行させる情報処理装置の制御方法であって、
検索手段が、前記一連の画像処理に含まれる各画像処理を実行可能な画像処理ライブラリの複数の組み合わせを検索する検索工程と、
算出手段が、前記複数の組み合わせの各々に対して前記一連の画像処理の実行のために必要な画像フォーマットの変換回数を算出する算出工程と、
選択手段が、前記変換回数が少なくなるように、前記複数の組み合わせから1つの組み合わせを選択する選択工程と、
実行手段が、前記選択工程により選択された前記1つの組み合わせに対応する複数の画像処理ライブラリに前記一連の画像処理を実行させる実行工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項8】
コンピュータを、請求項1乃至の何れか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関するものである。
【背景技術】
【0002】
FA(Factory Automation)分野では、被測定物が規格内か検査したり、被測定物内の文字や形を認識し認識文字や認識位置を出力したり、被測定物との距離を算出して近い被測定物を拾い上げたりする際に様々な画像処理が利用されている。それらの画像処理はプログラム化され、様々な画像処理プログラムがまとめて1つの画像処理ライブラリとして提供されている。また、FA分野では複数の画像処理を組み合わせて実行することが多い。例えば、カメラで撮影した画像から特定領域を切り出し、切り出した領域画像に対しグレースケール処理を施し、そのグレースケール画像からバーコードを認識して出力するという一連の工程において、複数の画像処理を実行している。そして、それらの処理を実行するために画像処理ライブラリの画像処理プログラムを呼び出して検査や認識工程を実施している。
【0003】
FA分野で画像処理を実施する技術として、特許文献1では複数の異なる装置で実行可能な画像処理を組み合わせて実行するときに、高速に処理するための技術が開示されている。特許文献1の手法は、画像処理間で共通の画像フォーマットを扱う場合に有効である。画像処理ライブラリはオープンソースソフトウェアや各社から提供されており、2値化などの基本的な画像処理はどの画像処理ライブラリでも提供されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-124605号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特有の画像処理については全ての画像処理ライブラリで提供されているわけではない。例えば、バーコードや文字の読み取りなどの認識系を提供している画像処理ライブラリや、形状検出や形状の類似度算出処理などマッチング処理を提供している画像処理ライブラリなど、画像処理ライブラリ毎に実行できる画像処理に違いがあることがある。
【0006】
そのため、実行したい一連の画像処理によっては異なる画像処理ライブラリを組み合わせて利用しなければならない場合もある。しかし、一連の画像処理を通して異なる画像処理ライブラリを使用した場合、ある画像処理結果が次の画像処理では受け付けることができない専用の画像フォーマットで出力される場合がある。
【0007】
そのため、前段の画像処理によって使用された画像処理ライブラリと後段の画像処理で使用する画像処理ライブラリとが異なる場合は、画像フォーマットの変換が必要となる。その場合、変換前後の画像を保持するメモリが必要になり、変換処理の時間も要することから、一連の画像処理を効率的に行うことが難しい。
【0008】
本発明は、上記の課題に鑑みてなされたものであり、複数の画像処理ライブラリを使用して一連の画像処理を効率的に実行するための技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成する本発明の一態様による情報処理装置は、
各々が1以上の画像処理を実行可能な複数の画像処理ライブラリに、所定の実行順序の一連の画像処理を実行させる情報処理装置であって、
前記一連の画像処理に含まれる各画像処理を実行可能な画像処理ライブラリの複数の組み合わせを検索する検索手段と、
前記複数の組み合わせの各々に対して前記一連の画像処理の実行のために必要な画像フォーマットの変換回数を算出する算出手段と、
前記変換回数が少なくなるように、前記複数の組み合わせから1つの組み合わせを選択する選択手段と、
前記選択手段により選択された前記1つの組み合わせに対応する複数の画像処理ライブラリに前記一連の画像処理を実行させる実行手段と、
を備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数の画像処理ライブラリを使用して一連の画像処理を効率的に実行することが可能となる。
【図面の簡単な説明】
【0011】
図1】第1実施形態に係る情報処理装置のハードウェア構成を示す図である。
図2】第1実施形態に係る情報処理装置の機能ブロック図である。
図3】第1実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
図4】画像処理ライブラリが対応する画像処理の関係と、実行する画像処理順を例示的に示す図である。
図5】第2実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
図6】第3実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
図7】画像処理ライブラリが対応する画像処理の関係と、実行する画像処理順を例示的に示す図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
(第1実施形態)
第1実施形態では、実施する画像処理とその順番をユーザが設定して、設定された画像処理順に基づいて使用するライブラリを決定する例を説明する。
【0014】
なお、特に指定がない限り、画像処理ライブラリの画像処理プログラムが受け付ける画像フォーマットは汎用フォーマットもしくは専用フォーマットであり、画像処理ライブラリの画像処理プログラムによって処理された画像は専用フォーマットで出力される。また、同じ画像処理ライブラリ間の画像処理の画像はやり取りできるが、異なる画像処理ライブラリ間の画像処理の画像は直接やり取りできず、やり取りするためには画像の変換が必要であるものとして説明する。
【0015】
<情報処理装置のハードウェア構成>
図1は、第1実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。情報処理装置100は、CPU101、メモリ102、記憶装置103、入力装置104、及び出力装置105を備え、各々はバス106により相互に接続されている。
【0016】
CPU101は、記憶装置103に記憶されている画像処理制御プログラム107を実行することにより、後述する各種の機能を実行する。メモリ102は、CPU101が記憶装置103から読み出したプログラムやデータを一時的に記憶する。また、メモリ102は、CPU101が各種のプログラムを実行するための領域としても利用される。記憶装置103は、オペレーティングシステム(OS)や画像処理制御プログラムや各種アプリケーションプログラムおよびデータなどを記憶する。データとしては、画像処理の実行順、画像処理ライブラリ、画像処理ライブラリの画像処理プログラムの入出力フォーマット、画像処理ライブラリによって実行できる画像処理、画像処理によって画像のサイズが変更になるなどの処理特性などがある。なお、記憶装置103は、例えばHDDのような補助記憶装置により構成される。
【0017】
入力装置104は、ユーザからの入力を受け付ける。具体的には、キーボード、マウスなどが用いられる。出力装置105は、入力装置104で入力された情報、及び、CPU101により実行されたプログラムの実行結果の出力や表示をする。なお、入力装置104及び出力装置105はタッチパネルディスプレイとして構成されてもよい。
【0018】
<情報処理装置の機能構成>
図2は、第1実施形態に係る情報処理装置100の機能ブロック図である。情報処理装置100は、関連付け部201、検索部202、判定部203、選択部204、実行部205、画像変換部206を備えている。
【0019】
関連付け部201は、後述する実行部205で実行する一連の画像処理を実行できる画像処理ライブラリを、当該画像処理と関連付ける。例えば、ある画像処理αが実行できる画像処理ライブラリとしてLibAとLibBがあった場合、その2つの画像処理ライブラリが画像処理αと関連付けられることになる。
【0020】
検索部202は、実行部205で実行する一連の画像処理の各画像処理に対して、関連付け部201で関連付けられている画像処理ライブラリを割り当てて、使用する画像処理ライブラリの組み合わせを検索する。例えば、画像処理βがあり、画像処理βと関連付けられている画像処理ライブラリがLibCである場合、前述した画像処理αの次に画像処理βを実行する場合「LibAとLibC」と「LibBとLibC」の画像処理ライブラリの組み合わせが検索される。
【0021】
判定部203は、検索部202で検索された組み合わせにおいて、一連の画像処理のN番目の画像処理ライブラリで実行して出力される出力画像フォーマットを確認する。そして、その出力画像フォーマットと後続のN+1番目の画像処理ライブラリを実行するために入力が必要な入力画像フォーマットとが一致するか否かを判定する。そして、さらに一致・不一致の数を算出する。例えば、前述した画像処理αの次に画像処理βを実行する場合、LibAで出力した画像フォーマットとLibCで入力を受け付ける画像フォーマットとが一致するか否かを判定する。そして、別の組み合わせであるLibBで出力した画像フォーマットとLibCで入力を受け付ける画像フォーマットとが一致するか否かを判定する。さらに、各組み合わせにおいて不一致となる数を算出し、LibAとLibCとの間の画像フォーマットが一致する場合は不一致数が0とし、LibBとLibCとの間の画像フォーマットが一致しない場合は不一致数が1としてインクリメントする。
【0022】
選択部204は、検索部202で検索された画像処理ライブラリの組み合わせの中から条件に合った組み合わせを選択する。
【0023】
実行部205は、指定された一連の画像処理を、指定された所定の実行順序によって、選択部204で選択された画像処理ライブラリの組み合わせを使用して実行する。
【0024】
画像変換部206は、判定部203で前段の画像処理と後段の画像処理とにおいて取り扱う画像フォーマットが不一致であると判定した箇所で、前段の画像処理の出力画像を後段の画像処理で取り扱いができるように画像フォーマットを変換する。
【0025】
<処理>
続いて、図3のフローチャートを参照して、第1実施形態に係る情報処理装置100が実施する処理の手順を説明する。なお、以下の説明において、情報処理装置100は、どの画像処理ライブラリがどのような画像処理を行うことができるのかを認識しているものとする。また、予め実行する一連の画像処理とその順番は既に決まっているものとして説明する。
【0026】
ステップS301では、CPU101は、実行する一連の画像処理に対して、関連付け部201によって、対象となっている画像処理がどの画像処理ライブラリに関連付けられているのかを導出する。導出結果の一例として図4のような対応表を作成する。
【0027】
ここで図4は、実行する画像処理の各順番について、画像処理ライブラリとその画像処理ライブラリが実行できる画像処理との関係を示す対応表の図である。図4の対応表では、実行する画像処理の順番をそれぞれ画像処理1~画像処理6とし、各画像処理に利用可能な画像処理ライブラリが黒丸の印で表されている。
【0028】
ステップS302では、CPU101は、関連付け部201により関連付けられた図4の対応表に基づいて、使用可能な画像処理ライブラリの組み合わせを検索部202によって全て検索する。検索の一例として、図4における画像処理1から画像処理6までに対して、黒丸の印のある画像処理ライブラリの組み合わせを全パターン検索する。例えば、画像処理1はLibA、画像処理2はLibC、画像処理3はLibD、画像処理4はLibC、画像処理5はLibB、画像処理6はLibDを使用するという組み合わせが1つの組み合わせである。以降、このような組み合わせを「A-C-D-C-B-D」といった表記により表す。
【0029】
ステップS303では、CPU101は、ステップS302で検索された組み合わせにおいて、判定部203によって、前段の画像処理の画像出力フォーマットが後段の画像処理で受付可能な画像フォーマットであるか否かを判定する。そして、その組み合わせにおける前段の画像フォーマットと後段の画像フォーマットとが不一致となる箇所の数(変換回数)を算出する。
【0030】
前段の画像フォーマットと後段の画像フォーマットとが一致しない箇所があると、その間で画像変換処理が必要になる。そのため、この一致しない箇所が少なければ画像フォーマットの変換回数が少なくて済むことになる。
【0031】
具体的には、図4において、画像処理1から画像処理6までの各処理において印を1つずつ選んで繋げる。例えば、A-A-B-C-B-Dが組み合わせの1つである。同じ画像処理ライブラリが続く場合は画像変換なしで次の画像処理を実行できるが、異なるライブラリになる度に画像処理が必要になり、この場合は、4回の画像変換が必要になることがわかる。判定部203によって、全ての組み合わせについて画像変換回数を算出する。
【0032】
ステップS304では、CPU101は、選択部204によって、画像処理の前段の画像フォーマットと後段の画像フォーマットとが不一致となる箇所が少ない画像処理ライブラリの組み合わせを選択する。ステップS303で全ての組み合わせについて判定した結果、最少画像変換回数が3回とわかり、使用する画像処理ライブラリの組み合わせとして、B-B-B-C-B-Dがその1つである。その後、その組み合わせを用いて、画像処理1はLibB、画像処理2はLibB、画像処理3はLibB、画像処理4はLibC、画像処理5はLibB、画像処理6はLibDを使って処理を実行する。なお、画像フォーマットの変換回数が少ない組み合わせが複数存在した場合は、ユーザに提示してユーザの選択により決定してもよいし、情報処理装置100が候補順から決まった位置を選択、例えば1番目を選択するなど自動で選択してもよい。以上で図3の一連の処理が終了する。
【0033】
以上説明したように、本実施形態では、画像処理ライブラリによって処理された出力画像を、できるだけ次の画像処理でそのまま処理できるような組み合わせを選択する。すなわち、画像変換回数が少ない画像処理ライブラリの組み合わせを選択する。これにより、画像処理の前後で発生する画像フォーマットの変換処理の回数を削減することができる。従って、画像変換前後で必要なメモリ量と、変換処理に要する時間を削減することが可能となる。
【0034】
(第2実施形態)
第1実施形態では、画像変換回数が少ない画像処理ライブラリの組み合わせを選択する例を説明した。一方、使用する画像処理ライブラリが多いと画像処理ライブラリの起動に時間を要したり、画像処理ライブラリを保持するためのメモリを確保したりする必要がある。そこで、第2実施形態では、画像変換回数が少ないだけでなく、使用する画像処理ライブラリの数が少ない画像処理ライブラリの組み合わせを選択することで、さらに効率的な画像処理を実現する例を説明する。なお、情報処理装置100の構成は第1実施形態と同様であるため説明を省略する。
【0035】
<処理>
図5のフローチャートを参照しながら、第2実施形態に係る情報処理装置100が実施する処理の手順を説明する。なお、ユーザが設定した画像処理順番と、画像処理と画像処理ライブラリの関係については第1実施形態と同様である(図4)ものとして説明する。
【0036】
ステップS501からステップS503は第1実施形態のステップS301おからステップS303と同じであるため説明を省略する。
【0037】
ステップS504では、CPU101は、選択部204によって、ステップS502で検索された組み合わせの中から、ステップS503で得られた画像フォーマットの変換回数が少ない組み合わせを選択する。そして、その中から使用する画像処理ライブラリが少ない組み合わせを選択する。
【0038】
ここで、第1実施形態のステップS303では使用する画像処理ライブラリの組み合わせの1つとしてB-B-B-C-B-Dを抽出していた。この場合、使用する画像処理ライブラリはLibB、LibC、LibDの3種類を使用することになり、この種類数が少ない組み合わせを更に探し出す。ステップS504によって、使用する画像処理ライブラリの組み合わせはB-B-B-D-B-Dが抽出され、この場合、使用する画像処理ライブラリ数は2つになる。以上で図5の処理が終了する。
【0039】
以上説明したように本実施形態では、画像変換回数が少ない画像処理ライブラリの組み合わせ、且つ、更に使用する画像処理ライブラリ数が少ない組み合わせを選択する。これにより、使用するメモリ量を更に削減することが可能となる。
【0040】
(第3実施形態)
第3実施形態では、画像処理の内容に基づいて、使用する画像処理ライブラリの組み合わせを選択する例を説明する。なお、情報処理装置の100の構成は第1実施形態と同様であるため説明を省略する。画像サイズが変更される画像処理は、情報処理装置100が予め認識しているものとする。
【0041】
<処理>
図6のフローチャートを参照しながら、第3実施形態に係る情報処理装置100が実施する処理の手順を説明する。なお、ユーザが設定した画像処理順番、及び、画像処理と画像処理ライブラリとの関係については、図7に示す関係として説明する。
【0042】
ステップS601からステップS603は第1実施形態のステップS301からステップS303と同じであるため説明を省略する。続いて、ステップS604では、CPU101は、関連付け部201によって関連付けられている一連の画像処理の中に画像サイズが変更されている処理が含まれているか否かを判定する。含まれている場合、ステップS605へ進む。一方、含まれていない場合、ステップS608へ進む。なお、ステップS608の処理はステップS304の処理と同様であるため説明を省略する。
【0043】
ステップS605では、CPU101は、画像処理によって画像サイズが大きくなるか否かを判定する。画像サイズが大きくなる場合、ステップS606へ進む。一方、画像サイズが小さくなる場合、ステップS607へ進む。
【0044】
ステップS606では、CPU101は、ステップS602で検索された組み合わせの中から、画像サイズが大きくなった後の画像変換回数が少ない組み合わせを選択候補として抽出する。
【0045】
ステップS607では、CPU101は、ステップS602で検索された組み合わせの中から、画像サイズが小さくなる前の画像変換回数が少ない組み合わせを選択候補として抽出する。
【0046】
ステップS608では、CPU101は、選択部204によって、ステップS606またはステップS607を経て抽出された選択候補の中から、ステップS603で得られた画像フォーマットの総変換回数が少ない組み合わせを選択する。以上で図6の一連の処理が終了する。
【0047】
ここで、図7は画像処理ライブラリとその画像処理ライブラリが実行できる画像処理の関係と、実行する画像処理の順番とを示した図である。この時、第1実施形態では使用する画像処理ライブラリはA-A-A-B-A-AやA-D-D-D-A-Aなど画像変換回数2回である同じ条件の結果が抽出された。ここで、画像処理3に拡大処理などの画像のサイズが大きくなる処理が含まれている場合、画像サイズが大きくなった後で画像変換処理を実行すると、大きくなる前の画像に比べて変換にかかるメモリ消費量や処理時間が多くなる。
【0048】
このように、画像サイズが大きくなった後で画像変換処理をするとコストがよりかかってしまうため、使用する画像処理ライブラリの組み合わせの中から、画像サイズが変更された後の画像変換回数が少なくなるような組み合わせを抽出する。具体的には使用する画像処理ライブラリの組み合わせであるA-A-A-B-A-Aの場合、画像処理3以降で画像変換が2回発生することになる。一方、組み合わせA-D-D-D-A-Aの場合、画像処理3以降で画像変換が1回発生することになる。よって、後者の方がより効率的に画像処理を実行することができる。
【0049】
ここでの例として、画像サイズの変化を考慮して使用する画像処理ライブラリの組み合わせを選択する説明をしたが、画像サイズに限らず画像の情報量が変化する処理であれば対象となる画像処理は限定しない。また、画像の情報量が変化する処理は情報処理装置100が自動で認識してもよいし、外部から設定することで認識させてもよい。
【0050】
また、本実施形態において、更に第2実施形態で示した選択条件である、使用する画像処理ライブラリが少ない組み合わせを追加して、その中から選択してもよい。具体的には、図6に示したステップS606およびステップS607までは同じである。ステップS608で選択する条件に、使用する画像処理ライブラリが少ない組み合わせを追加させる。すなわち、ステップS608では、ステップS606又はS607を経て抽出された選択候補の中から、ステップS603で得られた画像フォーマットの総変換回数が少ない組み合わせであって、使用する画像処理ライブラリが少ない組み合わせを選択する。
【0051】
以上説明したように、本実施形態では、実行する画像処理に応じて画像変換コストが少ない組み合わせを選択することで、使用するメモリ量を更に削減することが可能となる。
【0052】
[変形例]
上述の各実施形態では、画像処理ライブラリの画像処理プログラムによって処理された画像は、その画像処理ライブラリ専用のフォーマットが出力されるものとして説明した。しかし、画像処理ライブラリの画像処理プログラムによっては画像変換無しに使用できる汎用フォーマットで出力される場合もあるため、その場合においても、これまでの実施形態で実施可能である。
【0053】
例えば、図4で画像処理ライブラリLibBの全ての画像処理プログラムは、画像処理によって汎用の画像フォーマットで出力できる場合、画像処理ライブラリLibBの画像処理の次に実行する画像処理はどれでも画像変換なしで実行することができる。この場合、使用する画像処理ライブラリは画像変換回数が1回のB-B-B-D-B-Dを抽出することができる。
【0054】
このように汎用フォーマットで出力可能な画像処理ライブラリを使った画像処理を実行した場合は画像変換が発生しないため、それを考慮して画像変換回数が少ない画像処理ライブラリの組み合わせを抽出してもよい。
【0055】
上述の各実施形態では、処理の最後において、選択条件に基づいて、使用する画像処理ライブラリを選択していたが、条件を段階的に与えて処理してもよい。具体的には、第3実施形態では図6のステップS608において変換回数の少ない組み合わせを選択条件としていた。しかし、ステップS603で画像フォーマットの変換回数をカウントする処理で、選択部204によって変換回数が少ない組み合わせを選択候補として予め絞り込み、その結果をステップS606またはステップS607で使用してもよい。同様に、最少使用ライブラリ数もステップS602の段階で限定してもよい。
【0056】
上述の各実施形態では、ユーザが設定した画像処理順に対して使用する画像処理ライブラリを選択する例を示した。しかし、画像処理の順番を入れ替えても処理結果に影響がない場合は、画像処理順を入れ替えた上で画像変換回数が少ない画像処理ライブラリを選択してもよい。
【0057】
例えば、濃淡検査とエリア検査の画像処理がある場合を考える。濃淡検査は設定した領域の最大濃度、最小濃度、平均濃度などを計測する画像処理である。エリア検査は濃度の範囲を指定して面積を計測する画像処理である。この両者の画像処理はどちらを先に実行しても後に続く画像処理の結果には差が生じない。そのため、組み合わせを入れ替えて実行することができる。このように順番を入れ替えてもよい組み合わせはあらかじめ記憶装置103などに記憶しておき、第3実施形態までの処理を通常に行う。そして、入れ替え可能な組み合わせが含まれていた場合は、入れ替えた順番においても使用するライブラリの組み合わせを検索して、画像変換回数が少ないライブラリの組み合わせを選択してもよい。
【0058】
具体的には、図4において、画像処理4が濃淡検査、画像処理5がエリア検査であったとする。指定された順番で実行すると、第2実施形態で示したように使用する画像処理ライブラリはB-B-B-D-B-Dの組み合わせとなり、画像変換回数が2回である。しかし、画像処理4と画像処理5が入れ替え可能であるため、順番を入れ替えると使用する画像処理ライブラリはB-B-B-B-D-Dが抽出され、画像変換回数が1回と更に回数を減らすことができる。
【0059】
また、順番の入れ替えが可能な画像処理に該当していなくても、順番を入れ替えることで画像変換回数が減る場合は、ユーザにメッセージなどでその旨を通知して順番の変更を促してもよい。例えばユーザに画像処理1と画像処理2との順番を入れ替えると画像変換回数が減少します。入れ替えますか。」といったメッセージと、「はい」、「いいえ」という選択肢を提示し、ユーザが「はい」を選択することに応じて順番を入れ替えてもよい。
【0060】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0061】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0062】
100:情報処理装置、201:関連付け部、202:検索部、203:判定部、204:選択部、205:実行部、296:画像変換部
図1
図2
図3
図4
図5
図6
図7