(57)【特許請求の範囲】
【請求項１】
入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、
それぞれが互いに異なる複数の前記画像フィルタの組を格納する複数のフィルタ格納部と、
それぞれの前記フィルタ格納部について、当該フィルタ格納部に格納された少なくとも１つの前記画像フィルタの少なくとも一部のフィルタ部品を、他のフィルタ部品に置換して新たな前記画像フィルタを生成し、当該フィルタ格納部へと格納する処理を繰り返すフィルタ生成部と、
一の前記フィルタ格納部に格納された少なくとも１つの前記画像フィルタを、他の前記フィルタ格納部へと格納するフィルタ移動部と、
それぞれの前記フィルタ格納部について、前記複数の画像フィルタのそれぞれにより変換対象となる変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理部と、
それぞれの前記フィルタ格納部について、前記複数の選択対象画像のそれぞれと、目標画像との類似度を算出する類似度算出部と、
を備え、
前記フィルタ移動部は、前記一のフィルタ格納部に格納された、他の少なくとも１つの前記画像フィルタより前記類似度が高い選択対象画像を生成する少なくとも１つの前記画像フィルタを、前記他のフィルタ格納部へと格納する画像処理装置。
【請求項２】
前記フィルタ移動部は、前記一のフィルタ格納部に格納された、前記類似度がより高い前記選択対象画像を生成する予め指定された個数の前記画像フィルタ、または、前記類似度が基準類似度より高い前記選択対象画像を生成する前記画像フィルタを、前記他のフィルタ格納部へと格納する請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ移動部は、前記一のフィルタ格納部に格納された一の前記画像フィルタにより生成された前記選択対象画像の前記類似度が、前記他のフィルタ格納部に格納された前記画像フィルタにより生成された前記選択対象画像の前記類似度の最大値に予め指定されたオフセット値を加えた前記基準類似度より高いことを条件として、当該一の画像フィルタを前記他のフィルタ格納部に格納する請求項２に記載の画像処理装置。
【請求項４】
前記複数のフィルタ格納部に格納された前記画像フィルタのうち、前記類似度がより高い前記選択対象画像を生成する前記画像フィルタを、前記変換対象画像を前記目標画像により類似する画像に変換する画像フィルタとして選択するフィルタ選択部を更に備える請求項１から請求項３のいずれか一項に記載の画像処理装置。
【請求項５】
少なくとも２つの前記フィルタ格納部における、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタ同士の一致度を算出する一致度算出部を更に備え、
前記フィルタ選択部は、前記一致度が予め設定された基準一致度以上であることを必要条件として、前記複数のフィルタ格納部に格納された前記画像フィルタのうち、前記類似度がより高い前記選択対象画像を生成する前記画像フィルタを、前記変換対象画像を前記目標画像により類似する画像に変換する画像フィルタとして選択する
請求項４に記載の画像処理装置。
【請求項６】
入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、
それぞれが互いに異なる複数の前記画像フィルタの組を格納する複数のフィルタ格納部と、
それぞれの前記フィルタ格納部について、当該フィルタ格納部に格納された少なくとも１つの前記画像フィルタの少なくとも一部のフィルタ部品を、他のフィルタ部品に置換して新たな前記画像フィルタを生成し、当該フィルタ格納部へと格納する処理を繰り返すフィルタ生成部と、
それぞれの前記フィルタ格納部について、前記複数の画像フィルタのそれぞれにより変換対象となる変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理部と、
少なくとも２つの前記フィルタ格納部における、目標画像により類似する前記選択対象画像を生成する前記画像フィルタ同士の一致度を算出する一致度算出部と、
前記一致度が予め設定された基準一致度以上であることを必要条件として、前記複数のフィルタ格納部に格納された前記画像フィルタのうち、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択部と、
を備える画像処理装置。
【請求項７】
コンピュータを、請求項１から５のいずれか一項に記載の画像処理装置として機能させるプログラム。
【請求項８】
コンピュータを、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置として機能させるプログラムであって、
前記コンピュータを、
それぞれが互いに異なる複数の前記画像フィルタの組を格納する複数のフィルタ格納部と、
それぞれの前記フィルタ格納部について、当該フィルタ格納部に格納された少なくとも１つの前記画像フィルタの一部を、当該フィルタ格納部に格納された他の前記画像フィルタの少なくとも一部に置換して新たな前記画像フィルタを生成し、当該フィルタ格納部へと格納する処理を繰り返すフィルタ生成部と、
それぞれの前記フィルタ格納部について、前記複数の画像フィルタのそれぞれにより変換対象となる変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理部と、
少なくとも２つの前記フィルタ格納部における、目標画像により類似する前記選択対象画像を生成する前記画像フィルタ同士の一致度を算出する一致度算出部と、
前記一致度が予め設定された基準一致度以上であることを必要条件として、前記複数のフィルタ格納部に格納された前記画像フィルタのうち、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択部と、
して機能させるプログラム。
【請求項９】
入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理方法であって、
それぞれが互いに異なる複数の前記画像フィルタの組を複数のフィルタ格納部へ格納するフィルタ格納段階と、
それぞれの前記フィルタ格納部について、当該フィルタ格納部に格納された少なくとも１つの前記画像フィルタの一部を、当該フィルタ格納部に格納された他の前記画像フィルタの少なくとも一部に置換して新たな前記画像フィルタを生成し、当該フィルタ格納部へと格納する処理を繰り返すフィルタ生成段階と、
一の前記フィルタ格納部に格納された少なくとも１つの前記画像フィルタを、他の前記フィルタ格納部へと格納するフィルタ移動段階と、
それぞれの前記フィルタ格納部について、前記複数の画像フィルタのそれぞれにより変換対象となる変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理段階と、
それぞれの前記フィルタ格納部について、前記複数の選択対象画像のそれぞれと、目標画像との類似度を算出する類似度算出段階と、
を備え、
前記フィルタ移動段階は、前記一のフィルタ格納部に格納された、他の少なくとも１つの前記画像フィルタより前記類似度が高い選択対象画像を生成する少なくとも１つの前記画像フィルタを、前記他のフィルタ格納部へと格納する画像処理方法。
【請求項１０】
入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理方法であって、
それぞれが互いに異なる複数の前記画像フィルタの組を複数のフィルタ格納部へ格納するフィルタ格納段階と、
それぞれの前記フィルタ格納部について、当該フィルタ格納部に格納された少なくとも１つの前記画像フィルタの一部を、当該フィルタ格納部に格納された他の前記画像フィルタの少なくとも一部に置換して新たな前記画像フィルタを生成し、当該フィルタ格納部へと格納する処理を繰り返すフィルタ生成段階と、
それぞれの前記フィルタ格納部について、前記複数の画像フィルタのそれぞれにより変換対象となる変換対象画像を変換させて、複数の選択対象画像のそれぞれを生成するフィルタ処理段階と、
少なくとも２つの前記フィルタ格納部における、目標画像により類似する前記選択対象画像を生成する前記画像フィルタ同士の一致度を算出する一致度算出段階と、
前記一致度が予め設定された基準一致度以上であることを必要条件として、前記複数のフィルタ格納部に格納された前記画像フィルタのうち、前記目標画像により類似する前記選択対象画像を生成する前記画像フィルタを選択するフィルタ選択段階と、
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。特に本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いた画像フィルタの生成方法が知られている（例えば、非特許文献１参照）。この方法においては、画像を変換するフィルタ部品を複数組み合わせた画像フィルタに対して、交叉、突然変異および選択等の操作を複数回繰り返すことにより、少なくとも一部のフィルタ部品が置換された新たな画像フィルタを生成していく。このような進化的計算により画像フィルタを生成する場合、目的の画像フィルタが得られるまでに世代交代を繰り返す。そして、各世代において、変換対象の画像を各画像フィルタにより変換して、目標画像と比較する。
【０００３】
【非特許文献１】前薗正宜  他２名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、［ｏｎｌｉｎｅ］、コンピュータ利用教育協議会、［２００８年３月２０日検索］、インターネット＜URL：http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このように進化的計算により画像フィルタを生成する場合、新たな画像フィルタは元の画像フィルタから生成される。したがって、世代交代を繰り返すことにより好ましくない特徴が現れた場合に、当該特徴が高い確率で次の世代にも引き継がれていた。また、ほとんどの場合、目的の画像フィルタが得られるまでに膨大な数の世代交代を繰り返すこととなり、最終的に目的の画像フィルタが得られるまでの演算量が大きくなっていた。
【０００５】
そこで本発明は、上記の課題を解決することのできる画像処理装置、画像処理方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の形態においては、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を組み合わせて、画像フィルタを生成する画像処理装置であって、それぞれが互いに異なる複数の画像フィルタの組を格納する複数のフィルタ格納部と、それぞれのフィルタ格納部について、当該フィルタ格納部に格納された少なくとも１つの画像フィルタの一部を、当該フィルタ格納部に格納された他の画像フィルタの少なくとも一部に置換して新たな画像フィルタを生成し、当該フィルタ格納部へと格納する処理を繰り返すフィルタ生成部と、一のフィルタ格納部に格納された少なくとも１つの画像フィルタを、他のフィルタ格納部へと格納するフィルタ移動部と、を備える画像処理装置、当該画像処理装置に関する画像処理方法、およびプログラムが提供される。
【０００７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る画像処理装置１０の構成を示す。画像処理装置１０は、変換対象画像を目標画像へ変換するのに適した画像フィルタ２０を進化的計算を用いて生成する。また、画像処理装置１０が生成する画像フィルタ２０は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品２２が組み合わせて構成される。画像処理装置１０は、一例として、コンピュータにより実現される。
【００１０】
画像処理装置１０は、複数のフィルタ格納部３２（３２−１、３２−２、・・・）と、複数のフィルタ生成部３４（３４−１、３４−２、・・・）と、複数の変換対象画像格納部３６（３６−１、３６−２、・・・）と、複数のフィルタ処理部３８（３８−１、３８−２、・・・）と、複数の選択対象画像格納部４０（４０−１、４０−２、・・・）と、複数の目標画像格納部４２（４２−１、４２−２、・・・）と、複数の類似度算出部４４（４４−１、４４−２、・・・）と、フィルタ移動部５０と、一致度算出部６０と、フィルタ選択部７０とを備える。
【００１１】
複数のフィルタ格納部３２は、それぞれ、互いに異なる画像フィルタ２０を複数格納する。複数のフィルタ生成部３４のそれぞれは、対応するフィルタ格納部３２に格納された少なくとも１つの画像フィルタ２０の一部を、他の画像フィルタ２０の少なくとも一部に置換して新たな画像フィルタ２０を生成する。一例として、フィルタ生成部３４−１は、フィルタ格納部３２−１に格納された複数の画像フィルタ２０を読み出し、読み出した複数の画像フィルタ２０に対して交叉および突然変異等の遺伝的な操作を行って、少なくとも一部のフィルタ部品２２を他のフィルタ部品２２に置換した新たな複数の画像フィルタ２０を生成する。そして、フィルタ生成部３４−１は、新たに生成した複数の画像フィルタ２０をフィルタ格納部３２−１に戻して、既に生成された複数の画像フィルタ２０に加えて格納させる。
【００１２】
複数の変換対象画像格納部３６は、それぞれ、画像フィルタ２０の変換対象となる変換対象画像を格納する。変換対象画像は、一例として、当該画像処理装置１０により生成された画像フィルタ２０が適用されるアプリケーションにおいて、当該画像フィルタ２０に入力する画像のサンプル等であってよく、具体的には、使用者により予め生成または撮影された画像であってよい。なお、複数の変換対象画像格納部３６のそれぞれは、同じ変換対象画像を格納してよい。
【００１３】
複数のフィルタ処理部３８は、それぞれ、複数の画像フィルタ２０のそれぞれで変換対象画像を変換させて選択対象画像を生成する。一例として、フィルタ処理部３８−１は、フィルタ格納部３２−１に格納された複数の画像フィルタ２０を順次取得する。そして、フィルタ処理部３８−１は、取得したそれぞれの画像フィルタ２０により、変換対象画像格納部３６−１に格納された変換対象画像を変換させて、選択対象画像を生成する。
【００１４】
複数の選択対象画像格納部４０は、対応するフィルタ処理部３８において生成された選択対象画像を格納する。一例として、選択対象画像格納部４０−１は、フィルタ処理部３８−１において変換対象画像が複数の画像フィルタ２０で変換されることにより生成された選択対象画像のそれぞれを、変換した画像フィルタ２０に対応付けて格納する。
【００１５】
複数の目標画像格納部４２は、それぞれ、変換対象画像を変換して生成される画像の目標となる目標画像を格納する。一例として、目標画像は、画像処理装置１０により生成された画像フィルタ２０を適用するアプリケーションにおいて、変換対象画像を画像フィルタ２０によりフィルタリングして得られるべき画像のサンプル等であってよく、具体的には、使用者により予め生成または撮影された画像であってよい。なお、複数の目標画像格納部４２のそれぞれは、同じ目標画像を格納してよい。
【００１６】
複数の類似度算出部４４は、それぞれ、対応する選択対象画像格納部４０が格納する複数の選択対象画像のそれぞれと、対応する目標画像格納部４２が格納する目標画像との差分に基づいて、当該選択対象画像と目標画像との類似度を算出する。複数の類似度算出部４４は、それぞれの選択対象画像について算出した類似度を当該選択対象画像に対応付けて記憶してよい。
【００１７】
フィルタ移動部５０は、一のフィルタ格納部３２（例えばフィルタ格納部３２−１）に格納された少なくとも１つの画像フィルタ２０を、他のフィルタ格納部３２（例えばフィルタ格納部３２−２）へと格納する。
【００１８】
一例として、フィルタ移動部５０は、一の類似度算出部４４（例えば類似度算出部４４−１）が記憶するそれぞれの選択対象画像に対応付けられた類似度に基づいて、他の少なくとも１つの選択対象画像より類似度が高い選択対象画像を少なくとも１つ選択する。そして、フィルタ移動部５０は、選択した選択対象画像を生成する画像フィルタ２０を、当該一の類似度算出部４４に対応するフィルタ格納部３２から取得して他のフィルタ格納部３２へ格納させる。
【００１９】
これにより、上記他のフィルタ格納部３２には、進化的計算の途中において、一のフィルタ格納部３２側で生成された、目標画像に対する類似度がより高い選択対象画像を生成する画像フィルタ２０が移動してくることとなる。よって、例えば、当該他のフィルタ格納部３２に対応するフィルタ生成部３４が生成する画像フィルタ２０の性能が世代を経ても向上しない場合、すなわち当該画像フィルタ２０により得られる選択対象画像の目標画像に対する類似度が局所解に落ち込んでいる場合においても、一のフィルタ格納部３２側において別個に行った他の進化的計算の画像フィルタ２０を追加することにより、より目標画像に近い画像フィルタ２０が当該他のフィルタ格納部３２側において生成される可能性を高めることができる。
【００２０】
他の例として、フィルタ移動部５０は、一の類似度算出部４４が記憶するそれぞれの選択対象画像に対応付けられた類似度に基づいて、類似度が高い順に予め指定された個数の選択対象画像を選択し、当該選択した選択対象画像を生成する画像フィルタ２０を、対応するフィルタ格納部３２から取得して他のフィルタ格納部３２へ格納させてもよい。
【００２１】
さらに他の例として、フィルタ移動部５０は、一の類似度算出部４４が記憶するそれぞれの選択対象画像に対応付けられた類似度に基づいて、類似度が予め定められた基準類似度より高い選択対象画像を選択し、当該選択した選択対象画像を生成する画像フィルタ２０を、対応するフィルタ格納部３２から取得して他のフィルタ格納部３２へ格納させてもよい。
【００２２】
さらに他の例として、フィルタ移動部５０は、以下の処理を行ってもよい。すなわち、フィルタ移動部５０は、一のフィルタ格納部３２に格納された一の画像フィルタ２０により生成された選択対象画像の類似度、および、他のフィルタ格納部３２に格納された複数の画像フィルタ２０により生成された複数の選択対象画像の類似度を、それぞれのフィルタ格納部３２に対応する類似度算出部４４から取得する。
【００２３】
そして、フィルタ移動部５０は、他のフィルタ格納部３２に対応する類似度算出部４４から取得した類似度の最大値に予め指定されたオフセット値を加えた基準類似度を算出する。そして、フィルタ移動部５０は、一のフィルタ格納部３２に格納された一の画像フィルタ２０により生成された選択対象画像の類似度が、算出した基準類似度より高いことを条件として、当該一の画像フィルタ２０を取得して他のフィルタ格納部３２に格納させる。
【００２４】
なお、以上の処理において、上記オフセット値は上記類似度の最大値を一定の幅だけ増加させる正の値であってよい。これにより、上記他のフィルタ格納部３２は、自身が格納する複数の画像フィルタ２０よりも目標画像に対する類似度がより高い選択対象画像を生成する画像フィルタ２０を取得して格納することができる。また、以上の処理において、一のフィルタ格納部３２は、フィルタ移動部５０により選択されて他のフィルタ格納部３２に格納された画像フィルタ２０のコピーを引き続き格納してもよい。
【００２５】
一致度算出部６０は、少なくとも２つのフィルタ格納部３２における、目標画像により類似する選択対象画像を生成する画像フィルタ２０同士の一致度を算出する。一例として、一致度算出部６０は、一のフィルタ格納部３２および他のフィルタ格納部３２のそれぞれに格納された複数の画像フィルタ２０の組のうち、各組で類似度が最も高い、すなわち各組において変換対象画像を目標画像に最も近い選択対象画像に変換することのできる画像フィルタ２０同士の一致度を算出する。そして、一致度算出部６０は、算出した一致度が予め設定された基準一致度以上であるか否かを判別する。なお、一致度算出部６０は、算出した一致度を算出に用いた画像フィルタ２０に対応付けて記憶してよい。
【００２６】
また、他の例として、一致度算出部６０は、目標画像により類似する選択対象画像を生成する画像フィルタ２０同士の同一または類似のフィルタ部品２２のフィルタ全体に占める割合を比較してもよい。また、一致度算出部６０は、目標画像により類似する選択対象画像を生成する画像フィルタ２０のそれぞれにおける同一のフィルタ部品２２の繰り返し（例えば膨張処理を担うフィルタ部品２２の連続）を一つのフィルタ要素にまとめた（縮退した）と仮定したときの、同一または類似のフィルタ部品２２およびフィルタ要素のフィルタ全体に占める割合を比較してもよい。
【００２７】
フィルタ選択部７０は、一例として、複数のフィルタ格納部３２に格納された画像フィルタ２０のうち、類似度がより高い選択対象画像を生成する画像フィルタ２０を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ２０として選択する。フィルタ選択部７０は、他の例として、複数のフィルタ格納部３２に格納された類似度がより高い選択対象画像を生成する画像フィルタ２０のうち、上記の割合が予め定められた基準割合以上である画像フィルタ２０を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ２０として選択してもよい。
【００２８】
具体的には、フィルタ選択部７０は、複数のフィルタ格納部３２のそれぞれに対応する類似度算出部４４のそれぞれから、複数のフィルタ格納部３２のそれぞれに格納された複数の画像フィルタ２０により生成された選択対象画像の類似度を取得する。そして、フィルタ選択部７０は、例えば、類似度の最も高い選択対象画像、あるいは、類似度が高い順に予め定められた個数の選択対象画像を生成する画像フィルタ２０を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ２０として選択する。
【００２９】
なお、フィルタ選択部７０は、選択した画像フィルタ２０を複数のフィルタ格納部３２内に残存させるとともに、選択した画像フィルタ２０以外の画像フィルタ２０を複数のフィルタ格納部３２のそれぞれから削除してもよい。これにより、類似度のより高い画像フィルタ２０だけを複数のフィルタ格納部３２に格納させることができる。よって、当該それぞれのフィルタ格納部３２に対応するフィルタ生成部３４が、変換対象画像を目標画像へ変換するのに適した画像フィルタ２０を生成するまでに繰り返す処理数をより少なくすることができる。
【００３０】
更に、フィルタ選択部７０は、一致度算出部６０が算出した一致度が予め設定された基準一致度以上であることを必要条件として、複数のフィルタ格納部３２に格納された画像フィルタ２０のうち、類似度がより高い選択対象画像を生成する画像フィルタ２０を選択してもよい。
【００３１】
一例として、フィルタ選択部７０は、一致度算出部６０から算出に用いた画像フィルタ２０に対応付けて記憶されている一致度を取得する。そして、フィルタ選択部７０は、取得した一致度が基準一致度以上である場合に、当該一致度の算出に用いた画像フィルタ２０の少なくとも一方を、目標画像に対する類似度がより高い選択対象画像を生成する画像フィルタ２０として選択してよい。
【００３２】
この場合、フィルタ選択部７０は、一致度の算出に用いた画像フィルタ２０のうち、上記類似度のより高い画像フィルタ２０を選択してよい。画像処理装置１０は、フィルタ選択部７０が上記処理により画像フィルタ２０を選択したことを条件として、処理を終了してよい。
【００３３】
画像処理装置１０は、上記の処理を複数回（例えば複数世代）繰り返してよい。これにより、画像処理装置１０は、変換対象画像を目標画像との類似度が極めて高い画像へと変換するのに適した画像フィルタ２０を、進化的計算を用いて生成することができる。なお、画像処理装置１０の他の例として、フィルタ生成部３４、変換対象画像格納部３６、フィルタ処理部３８、選択対象画像格納部４０、目標画像格納部４２、類似度算出部４４は共通であってもよい。
【００３４】
図２は、フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０の一例を示す。図３は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０の一例を示す。
【００３５】
画像フィルタ２０は、入力画像データを受け取り、受け取った入力画像データに対してフィルタ演算処理を施して、出力画像データを出力する。画像フィルタ２０は、一例として、画像データに対して演算を施すプログラムであってよい。また、画像フィルタ２０は、一例として、画像データに対して施すべき演算内容を表わす演算式であってもよい。
【００３６】
画像フィルタ２０は、複数のフィルタ部品２２を組み合わせた構成を有する。画像フィルタ２０は、一例として、図２に示されるように、フィルタ部品２２を直列に組み合わせた構成を有してよい。また、画像フィルタ２０は、一例として、図３に示されるように、フィルタ部品２２を木構造に組み合わせた構成を有してよい。
【００３７】
なお、フィルタ部品２２が木構造に組み合わされた構成の画像フィルタ２０は、木構造の末端（最下位）のフィルタ部品２２のそれぞれに、同一の入力画像データが与えられ、木構造の最上位のフィルタ部品２２から出力画像データを出力する。これに代えて、このような画像フィルタ２０は、複数の末端のフィルタ部品２２のそれぞれに互いに異なる入力画像データが与えられてもよい。
【００３８】
複数のフィルタ部品２２のそれぞれは、前段に配置されたフィルタ部品２２から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置されたフィルタ部品２２に与える。複数のフィルタ部品２２のそれぞれは、プログラムモジュールおよび演算式等であってよく、一例として、受け取った画像データに対して２値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び／または周波数空間での演算（例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算）等の単項演算を施してよい。
【００３９】
また、複数のフィルタ部品２２のそれぞれは、受け取った画像データに対して平均演算、差分演算及び／またはファジー演算（例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等）等の二項演算を施してもよい。
【００４０】
図４は、フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０に対して行われる遺伝的な操作の一例を示す。図５は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる交叉操作の一例を示す。図６は、フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる突然変異操作の一例を示す。
【００４１】
フィルタ生成部３４は、一例として、２個またはそれ以上の画像フィルタ２０に対して、遺伝的な操作の一例である交叉操作を行って新たな２個またはそれ以上の画像フィルタ２０を生成してよい。フィルタ生成部３４は、一例として、図４および図５に示されるように、既に生成された少なくとも１つの一の画像フィルタ２０Ａの一部のフィルタ部品群２４Ａを、既に生成された他の画像フィルタ２０Ｂの少なくとも一部のフィルタ部品群２４Ｂと置換して、新たな画像フィルタ２０Ｅおよび２０Ｆを生成してよい。なお、フィルタ部品群２４は、１または複数のフィルタ部品２２を組み合わせた部材であってよい。
【００４２】
また、フィルタ生成部３４は、一例として、一の画像フィルタ２０に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の画像フィルタ２０を生成してよい。フィルタ生成部３４は、一例として、図４および図６に示されるように、既に生成された一の画像フィルタ２０Ｃの一部のフィルタ部品群２４Ｃを、ランダムに選択された他のフィルタ部品群２４Ｇに置換して、新たな画像フィルタ２０Ｇを生成してよい。
【００４３】
また、フィルタ生成部３４は、一例として、現世代の画像フィルタ２０をそのまま次世代の画像フィルタ２０として残してもよい。フィルタ生成部３４は、一例として、図４に示されるように、画像フィルタ２０Ｄのフィルタ部品２２の構成をそのまま含む次世代の画像フィルタ２０Ｈを生成してよい。
【００４４】
図７は、画像フィルタ２０の適合度を表わすパラメータの一例である類似度の算出方法の一例を示す。本実施形態において、類似度算出部４４は、当該画像フィルタ２０により変換対象画像を変換させることにより生成された選択対象画像と、目標画像とがどれだけ類似しているかを表わす類似度を、画像フィルタ２０の適合度を表わすパラメータとして算出する。すなわち、この類似度は、値がより大きいほど、当該類似度の算出に用いた選択対象画像が目標画像と類似していることを示す評価値または指標となる。したがって、類似度が最も高い選択対象画像を生成した画像フィルタ２０は、変換対象画像を目標画像に最も近い選択対象画像に変換することのできる画像フィルタ２０となる。
【００４５】
類似度算出部４４は、一例として、選択対象画像の各ピクセルの値（例えば輝度値）と、目標画像の対応するピクセルの値（例えば輝度値）とを比較する。より具体的には、フィルタ選択部７０は、一例として、選択対象画像の各ピクセルの値と、目標画像の対応するピクセルの値との差または比率等を算出する。そして、フィルタ選択部７０は、一例として、複数のピクセルの全ての比較結果を平均または合計し、その結果を当該選択対象画像の類似度としてよい。類似度算出部４４は、複数の画像フィルタ２０により変換された複数の選択対象画像のそれぞれに対して、以上のように類似度を算出する。
【００４６】
図８は、画像処理装置１０の処理フローの一例を示す。まず、複数のフィルタ生成部３４のそれぞれは、対応するフィルタ格納部３２に格納された複数の画像フィルタ２０に対して、交叉操作および突然変異操作等の遺伝的な操作を行って、新たな複数の画像フィルタ２０を生成する（Ｓ１１）。なお、複数のフィルタ生成部３４のそれぞれは、一例として、本処理フローの最初においては、使用者等により予め生成された複数の画像フィルタ２０に対して遺伝的な操作を行って新たな複数の画像フィルタ２０を生成してよい。
【００４７】
続いて、複数のフィルタ処理部３８のそれぞれは、対応するフィルタ格納部３２に格納された複数の画像フィルタ２０およびステップＳ１１で新たに生成された複数の画像フィルタ２０のそれぞれで変換対象画像を変換することにより、それぞれの画像フィルタ２０に対応した選択対象画像を生成する（Ｓ１２）。複数のフィルタ処理部３８のそれぞれにより生成された複数の選択対象画像は、対応する選択対象画像格納部４０に格納される。
【００４８】
続いて、複数の類似度算出部４４のそれぞれは、複数の選択対象画像のそれぞれと目標画像との類似度を算出する（Ｓ１３）。そして、フィルタ移動部５０は、一のフィルタ格納部３２に格納された類似度がより高い選択対象画像に対応する少なくとも１つの画像フィルタ２０を取得し、他のフィルタ格納部３２へと格納する（Ｓ１４）。ここで、フィルタ選択部５０は、ステップＳ１１からステップＳ１４までの処理を各世代について行ってもよく、これに代えて、予め定められた世代置き等、一部の世代について行ってもよい。
【００４９】
続いて、フィルタ選択部７０は、複数のフィルタ格納部３２に格納された画像フィルタ２０のうち、類似度がより高い選択対象画像を生成する画像フィルタ２０を、変換対象画像を目標画像により類似する画像に変換する画像フィルタ２０として選択する（Ｓ１５）。なお、フィルタ選択部７０は、ステップＳ１５において選択された画像フィルタ２０をフィルタ格納部３２内に残存させ、ステップＳ１５において選択されなかった画像フィルタ２０を削除してもよい。
【００５０】
続いて、複数のフィルタ生成部３４のそれぞれは、対応するフィルタ格納部３２に格納された画像フィルタ２０の一部を、他の画像フィルタ２０の少なくとも一部に置換して新たな画像フィルタ２０を生成する（Ｓ１６）。そして、複数のフィルタ生成部３４のそれぞれは、新たに生成した複数の画像フィルタ２０を、対応するフィルタ格納部３２に戻して、既に生成された複数の画像フィルタ２０に加えて格納させる。
【００５１】
続いて、一致度算出部６０は、少なくとも２つのフィルタ格納部３２における、目標画像により類似する選択対象画像を生成する画像フィルタ２０同士の一致度を算出する（Ｓ１７）。そして、フィルタ選択部７０は、ステップＳ１７において算出した一致度が予め設定された基準一致度以上であるか否かを判別する（Ｓ１８）。
【００５２】
そして、一致度が基準一致度以上である場合（Ｓ１８；ＹＥＳ）、フィルタ選択部７０は、当該一致度の算出に用いた画像フィルタ２０の少なくとも一方を、目標画像に対する類似度がより高い選択対象画像を生成する画像フィルタ２０として選択する。この場合、画像処理装置１０による処理を終了する。
【００５３】
一方、一致度が基準一致度以上でない場合（Ｓ１８；ＮＯ）、ステップＳ１１以降の処理を繰り返す。このようにして、画像処理装置１０は、変換対象画像を目標画像へ変換するのに適した画像フィルタ２０を、進化的計算を用いて生成することができる。なお、この処理において、他のフィルタ格納部３２への移動後に予め定められた世代数が経過していない画像フィルタ２０については、一致度の算出対象から除いてもよい。
【００５４】
このように、本実施形態に係る画像処理装置１０は、一のフィルタ格納部３２から目標画像に対する類似度がより高い選択対象画像を生成する画像フィルタ２０を他のフィルタ格納部３２へと移動して格納させることができる。したがって、移動前において他のフィルタ格納部３２が格納する画像フィルタ２０が類似度が低い、または性能において局所解に落ち込んでいるような場合でも、対応するフィルタ生成部３４は、移動後に当該他のフィルタ格納部３２が格納する画像フィルタ２０に基づいて、新たな画像フィルタ２０を生成する可能性を高めることができる。
【００５５】
図９は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００５６】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００５７】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００５８】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００５９】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００６０】
コンピュータ１９００にインストールされ、コンピュータ１９００を画像処理装置１０として機能させるプログラムは、フィルタ格納モジュールと、フィルタ生成モジュールと、変換対象画像格納モジュールと、フィルタ処理モジュールと、選択対象画像格納モジュールと、目標画像格納モジュールと、類似度算出モジュールと、フィルタ移動モジュールと、一致度算出モジュールと、フィルタ選択モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、フィルタ格納部３２、フィルタ生成部３４、変換対象画像格納部３６、フィルタ処理部３８、選択対象画像格納部４０、目標画像格納部４２、類似度算出部４４、フィルタ移動部５０、一致度算出部６０、およびフィルタ選択部７０としてそれぞれ機能させる。
【００６１】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるフィルタ格納部３２、フィルタ生成部３４、変換対象画像格納部３６、フィルタ処理部３８、選択対象画像格納部４０、目標画像格納部４２、類似度算出部４４、フィルタ移動部５０、一致度算出部６０、およびフィルタ選択部７０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理装置１０が構築される。
【００６２】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６３】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００６４】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００６５】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００６６】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００６７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００６８】
【図１】本実施形態に係る画像処理装置１０の構成を示す。
【図２】フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０の一例を示す。
【図３】フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０の一例を示す。
【図４】フィルタ部品２２を直列に組み合わせた構成の画像フィルタ２０に対して行われる遺伝的な操作の一例を示す。
【図５】フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる交叉操作の一例を示す。
【図６】フィルタ部品２２を木構造に組み合わせた構成の画像フィルタ２０に対して行われる突然変異操作の一例を示す。
【図７】画像フィルタ２０の適合度を表わすパラメータの一例である類似度の算出方法の一例を示す。
【図８】画像処理装置１０の処理フローの一例を示す。
【図９】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【符号の説明】
【００６９】
１０  画像処理装置
２０  画像フィルタ
２２  フィルタ部品
２４  フィルタ部品群
３２  フィルタ格納部
３４  フィルタ生成部
３６  変換対象画像格納部
３８  フィルタ処理部
４０  選択対象画像格納部
４２  目標画像格納部
４４  類似度算出部
５０  フィルタ移動部
６０  一致度算出部
７０  フィルタ選択部
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
0005181821.tif 000002
【図２】
0005181821.tif 000003
【図３】
0005181821.tif 000004
【図４】
0005181821.tif 000005
【図５】
0005181821.tif 000006
【図６】
0005181821.tif 000007
【図７】
0005181821.tif 000008
【図８】
0005181821.tif 000009
【図９】
0005181821.tif 000010