(57)【要約】      （修正有）【課題】画像検索の精度を向上させる。【解決手段】画像サーバー１０は、複数の画像データを格納する記憶装置１３を備えている。画像サーバ１０は、記憶装置１３に格納された全画像に対して、それぞれの画像から複数の特徴量を取得し、複数の特徴量に対してそれぞれ重要度を決定し、特徴量と重要度を対応付けて記憶装置１３に格納する。重要度は、記憶装置１３に格納されている被検索画像データと検索画像データとの類似度を判定する際に用いられる係数であり、重要度が高くなるにつれて係数は小さくなり、重要度の高い特徴量に対応する画像データの検索精度を向上させることができる。【選択図】図２
2010250635.tif 000002
【特許請求の範囲】
【請求項１】
画像サーバーであって、
複数の画像を格納する記憶装置と、
前記記憶装置に格納されている画像から複数の特徴量を取得する格納画像特徴量取得部と、
前記取得された複数の特徴量に対してそれぞれ重要度を決定し、前記決定された重要度と前記取得された特徴量とを対応付けて前記記憶装置に格納する重要度決定部とを備える画像サーバー。
【請求項２】
請求項１に記載の画像サーバーにおいて、
前記重要度決定部は、前記取得した特徴量の出現頻度に基づいて重要度を決定する画像サーバー。
【請求項３】
請求項１または２に記載の画像サーバーはさらに、
前記複数の画像を複数のクラスタにクラスタリングするクラスタリング実行部を備える画像サーバー。
【請求項４】
請求項１から請求項３のいずれかに記載の画像サーバーにおいて、
前記重要度は係数である画像サーバー。
【請求項５】
請求項１から請求項４のいずれかに記載の画像サーバーにおいて、
前記重要度は正規化されている画像サーバー。
【請求項６】
画像管理方法であって、
記憶装置に格納されている複数の画像からそれぞれ複数の特徴量を取得し、
前記取得した複数の特徴量に対してそれぞれ重要度を決定し、
前記決定した重要度と前記取得した特徴量とを対応付けて前記記憶装置に格納する、
画像管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を検索するための画像検索システム、画像を管理するための画像管理システムに関する。
【背景技術】
【０００２】
ネットワークを介して、所望の画像を検索するための技術が実用化されている。画像データを格納するサーバーコンピューター（画像サーバー）は、一般的に、数多くの画像データを画像データの特徴を記述するメタデータと関連付けて格納している。画像サーバーとネットワークを介して接続されているクライアントコンピューターは、検索を所望する画像をキーワードで表した検索要求を画像サーバーに送信し、画像サーバーから検索結果として、一または複数の画像データを受信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１２３０９５号公報
【０００４】
しかしながら、各画像サーバーが有する画像データベースの特徴、すなわち、格納されている画像データの傾向、種類は画像データベース毎に異なり、要求されたキーワードが画像データベースの特性に適合していないこともあり、結果として、適切な検索結果を得られず、検索精度が低下するという問題がある。また、メタデータを用いた従来の検索では、検索対象が画像であるにもかかわらず、検索要求をキーワードによって入力しなければならず、所望の画像をキーワードによって適切に特定することは容易でない。さらに、画像サーバー上に格納されている画像データについても適切なメタデータが付されていない場合がある。この結果、利用者が所望する画像を精度良く、また、迅速に得られないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、画像検索の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明は以下の種々の態様を採る。
【０００７】
第１の態様は画像サーバーを提供する。第１の態様に係る画像サーバーは、複数の画像を格納する記憶装置と、前記記憶装置に格納されている画像から複数の特徴量を取得する格納画像特徴量取得部と、前記取得された複数の特徴量に対してそれぞれ重要度を決定し、前記決定された重要度と前記取得された特徴量とを対応付けて前記記憶装置に格納する重要度決定部とを備える。
【０００８】
第１の態様に係る画像サーバーによれば、取得された複数の特徴量に対してそれぞれ重要度を決定し、決定された重要度と取得された特徴量とを対応付けて記憶装置に格納することができるので、画像検索の精度を向上させることができる。
【０００９】
第１の態様に係る画像サーバーにおいて、前記重要度決定部は、前記取得した特徴量の出現頻度に基づいて重要度を決定しても良い。この場合には、画像サーバーの特性を良く表すことができる。
【００１０】
第１の態様に係る画像サーバーはさらに、前記複数の画像を複数のクラスタにクラスタリングするクラスタリング実行部を備えても良い。この場合には、画像検索の効率を向上させることができる。
【００１１】
第１の態様に係る画像サーバーにおいて、前記重要度は重み付け係数であっても良く、前記重要度は正規化されていても良い。この場合には、尺度が異なる特徴量の重要度を用いて画像検索を行うことができる。
【００１２】
第２の態様は、画像管理方法を提供する。第２の態様に係る画像管理方法は、記憶装置に格納されている複数の画像からそれぞれ複数の特徴量を取得し、前記取得した複数の特徴量に対してそれぞれ重要度を決定し、前記決定した重要度と前記取得した特徴量とを対応付けて前記記憶装置に格納することを備える。
【００１３】
第２の態様に係る画像管理方法によれば、第１の態様に係る画像サーバーと同様の作用効果を得ることができると共に、第１の態様に係る画像サーバーと同様にして種々の態様にて実現され得る。
【００１４】
第２の態様に係る方法は、画像管理プログラムとして実現され得ると共に、画像管理プログラムがそれぞれ記録されたコンピューター読み取り可能な媒体として実現され得る。
【図面の簡単な説明】
【００１５】
【図１】本実施例に係る画像検索システムの概略構成を示す説明図である。
【図２】本実施例に係る画像サーバーの内部構成を機能ブロック図にて模式的に示す説明図である。
【図３】画像サーバーが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。
【図４】本実施例に係るプリンターの内部構成を機能ブロック図にて模式的に示す説明図である。
【図５】画像プリンターが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。
【図６】本実施例に係る特徴量に対して重要度を対応付けるために実行される処理ルーチンを示すフローチャートである。
【図７】画像データベースにおける画像管理テーブルの一例を示す説明図である。
【図８】各特徴量における重要度を対応付ける重要度テーブルの一例を示す説明図である。
【図９】本実施例に係る画像サーバーにおいて実行される画像検索処理ルーチンを示すフローチャートである。
【図１０】本実施例に係るプリンターにおいて実行される画像検索要求処理ルーチンを示すフローチャートである。
【図１１】画像データベースに対してクラスタリング処理を伴う重要度関連付け処理に際して実行される処理ルーチンを示すフローチャートである。
【図１２】画像データベースにおける画像管理テーブルの一例を示す説明図である。
【図１３】クラスタの属性を管理するクラスタテーブルの一例を示す説明図である。
【図１４】クラスタリング処理された画像データベースを用いた画像検索処理において実行される処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明に係る画像検索システム、画像サーバー、画像検索方法、画像管理方法、プリンターについて、図面を参照しつつ、実施例に基づいて説明する。
【００１７】
第１の実施例：
図１は本実施例に係る画像検索システムの概略構成を示す説明図である。本実施例に係る画像検索システムＩＳＳは、サーバーコンピューター１０、プリンター２０、パーソナルコンピューター３０を備えている。サーバーコンピューター１０と、プリンター２０およびパーソナルコンピューター３０とはネットワークＮＥを介して双方向通信可能に接続されている。ネットワークは、インターネットであっても良く、イントラネットであっても良い。
【００１８】
サーバーコンピューター１０は、数多くの被検索画像データを格納し、クライアントコンピューターからの検索要求に応じて画像の検索を実行する。したがって、サーバーコンピューターは画像データベースを有する画像サーバー、画像データを検索する画像検索装置であると言うことができる。プリンター２０およびパーソナルコンピューター３０は、画像サーバー１０に対するクライアントまたは画像検索端末装置と呼ぶことができる。パーソナルコンピューター３０は、表示ディスプレイ３１並びにキーボードおよびマウスといった入力装置３２を備えている。
【００１９】
画像サーバーの構成：
図２は本実施例に係る画像サーバーの内部構成を機能ブロック図にて模式的に示す説明図である。図３は画像サーバーが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。画像サーバー１０は、互いに通信可能に接続されている中央処理装置（ＣＰＵ）１１、メモリ１２、画像データベースが構築されている記憶装置（画像データベースともいう）１３、および入出力インターフェース１４を備えている。ＣＰＵ１１は、メモリ１２に格納されている各種プログラム、モジュールを実行する。メモリ１２は、ＣＰＵ１１によって実行されるプログラム、モジュールを不揮発的に記憶すると共に、ＣＰＵ１１による処理実行時にプログラム、モジュールが展開される揮発的な作業領域を有する。メモリ１２としては、例えば、プログラム等を不揮発的に記憶するリードオンリメモリ、プログラム実行時における揮発的な作業領域を提供するランダムアクセスメモリといった半導体記憶装置が用いられ得る。
【００２０】
記憶装置１３は、例えば、ハードディスクドライブ、フラッシュメモリドライブといった１または複数の大容量記憶装置によって構成されている。記憶装置１３には、複数の画像データ、並びに各画像データの特徴量、クラスタリングされている場合の所属クラスタおよび画像データの特徴量といった画像データの管理情報（属性情報）から構成されている画像データベースが構築されている。なお、画像データが機器上で出力（表示、印刷）された態様が画像であるが、請求項における画像は画像データを意味することは当業者にとって自明な事項である。記憶装置１３は、複数の画像データのみを格納する画像データ格納部として機能しても良い。この場合には、記憶装置１３に格納されている各画像データの特徴量および画像データの管理情報（属性情報）はメモリ１２に格納される。本実施例では、クライアントから見て、画像サーバー１０自体が画像データベースとして機能する。なお、本実施例では、記憶装置１３が単に画像データおよび画像管理情報を格納するデータベースを例をとって説明しているが、記憶装置１３に検索機能を備える制御部を備え、外部からの検索要求に応じて検索結果を出力する独立型のデータベースシステム（ファイルサーバー）であっても良い。この場合には、画像サーバー１０の外部に画像データベースシステムが配置され、入出力インターフェース１４を介して両者の間で検索要求および検索結果の送受信が実行される。いずれの場合にも、データベース検索用のプログラムはメモリ１２に格納され、ＣＰＵ１１によって実行される。
【００２１】
入出力インターフェース１４は、外部装置、例えば、プリンター２０、パーソナルコンピューター３０といったクライアントとの間で、周知の通信プロトコルに従って検索要求および検索結果の送受信を実行する。
【００２２】
メモリ１２に格納されている各種プログラム、モジュールについて図３を用いて説明する。メモリ１２は、本実施例に係る画像データベースに重要度を対応付けるために実行される重要度対応付けプログラムＳＰ１と、記憶装置１３から画像を検索するために実行される画像検索プログラムＳＰ２とを格納している。重要度対応付けプログラムＳＰ１は、画像データ取得モジュールＳＭ１１、特徴量取得モジュールＳＭ１２、正規化モジュールＳＭ１３、クラスタリングモジュールＳＭ１４、重要度決定モジュールＳＭ１５、重要度変更モジュールＳＭ１６を備えている。画像データ取得モジュールＳＭ１１は、記憶装置１３に格納されている画像データを順次、重複なく取得するために実行されるモジュールである。特徴量取得モジュールＳＭ１２は、画像データ取得モジュールＳＭ１１によって取得された画像データを解析して、特徴量を取得するために実行されるモジュールである。ここで、特徴量とは、例えば、画像データの平均輝度、最小輝度、最高輝度、色相、画像データに含まれる顔のサイズ、位置、撮影情報といった値である。これら特徴量は、当業者にとって周知の方法で取得することが可能である。
【００２３】
正規化モジュールＳＭ１３は、重要度決定モジュールＳＭ１５によって決定された各特徴量に対する重要度、特徴量取得モジュールＳＭ１２によって取得された、記憶装置１３に含まれている全ての画像データの各特徴量を正規化するために実行されるモジュールである。正規化は、例えば、特徴量の標準偏差を用いて実行されても良く、あるいは、取得された各特徴量の最大値が１に最小値が０になるように実行されても良い。クラスタリングモジュールＳＭ１４は、正規化された各特徴量を用いて、画像データベース１３内の画像データを複数のクラスタに分類するために実行されるモジュールである。クラスタリングの手法としては、階層型クラスタリング手法、非階層型クラスタリング手法が知られている。階層型クラスタリング手法としては、所定の特徴量を用いて全体を順に分割していく分割型クラスタリング手法、類似する画像データを集めることを繰り返す凝集型クラスタリング手法等が用いられ得る。非階層型クラスタリング手法としては、Ｋ−平均法、自己組織化マップ（ＳＯＭ）等が用いられ得る。重要度決定モジュールＳＭ１５は、メモリ１２に格納されている複数の画像データから得られた複数の特徴量に基づいて、画像サーバー１０における各特徴量の重要度を決定し、各特徴量と重要度を対応付けて格納するために実行されるモジュールである。重要度変更モジュールＳＭ１６は、クライアントであるプリンターまたはパーソナルコンピューターから入力された特徴量の値に応じて各特徴量における重要度を変更するために実行されるモジュールである。なお、重要度対応付けプログラムＳＰ１、画像データ取得モジュールＳＭ１１、特徴量取得モジュールＳＭ１２、正規化モジュールＳＭ１３、クラスタリングモジュールＳＭ１４、重要度決定モジュールＳＭ１５、重要度変更モジュールＳＭ１６は、それぞれＣＰＵ１１によって実行されることによって、重要度対応付け部、画像データ取得部、特徴量取得部、正規化部、クラスタリング部、重要度決定部、重要度変更部として機能する。
【００２４】
画像検索プログラムＳＰ２は、検索画像データ取得モジュールＳＭ２１、画像データ検索モジュールＳＭ２２を備えている。画像データ検索モジュールＳＭ２２は、サブモジュールとして検索画像データ特徴量取得モジュールＳＭ２３、類似度算出モジュールＳＭ２４、重要度取得モジュールＳＭ２５を備えている。検索画像データ取得モジュールＳＭ２１は、クライアントであるプリンター２０およびパーソナルコンピューター３０によって送信された検索画像データを取得するために実行されるモジュールである。画像データ検索モジュールＳＭ２２は、取得した検索画像データを用いて、記憶装置１３から、検索画像データに類似または一致する画像データを検索するために実行されるモジュールである。検索画像データ特徴量取得モジュールＳＭ２３は、取得した検索画像データの複数の特徴量を取得するために実行される。類似度算出モジュールＳＭ２４は取得した検索画像データの特徴量と、各クラスタの代表値および各クラスタに属する画像データの特徴量と、重要度取得モジュールＳＭ２５によって取得された重要度とを用いて検索画像データと被検索画像データとの類似度を算出するため実行されるモジュールである。重要度取得モジュールＳＭ２５は、各特徴量に対応付けられている重要度を取得するためのモジュールである。なお、画像検索プログラムＳＰ２、検索画像データ取得モジュールＳＭ２１、画像データ検索モジュールＳＭ２２、検索画像データ特徴量取得モジュールＳＭ２３、類似度算出モジュールＳＭ２４、重要度取得モジュールＳＭ２５は、それぞれＣＰＵ１１によって実行されることによって、画像検索部、検索画像取得部、画像データ特徴量取得部、類似度算出部、重要度取得部として機能する。
【００２５】
プリンターの構成：
図４は本実施例に係るプリンターの内部構成を機能ブロック図にて模式的に示す説明図である。図５は画像プリンターが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。本実施例では、画像検索端末装置としてプリンター２０を例にとって説明するが、パーソナルコンピューター３０についても同様に画像検索端末装置として用いることが可能であることは言うまでもない。プリンター２０は、信号線によって互いに接続されている制御回路２１、入力操作部２２、表示部２３、印刷部２４、外部入出力インターフェース２５を備えている。制御回路２１は、互いに通信可能に接続されている中央処理装置（ＣＰＵ）２１０、メモリ２１１、入出力（Ｉ／Ｏ）インターフェース２１２を備えている。ＣＰＵ２１０は、メモリ２１１に格納されている各種プログラム、モジュールを実行する。メモリ２１１は、ＣＰＵ２１０によって実行されるプログラム、モジュールを不揮発的に記憶すると共に、ＣＰＵ２１０による処理実行時にプログラム、モジュールが展開される揮発的な作業領域を有する。メモリ２１１としては、例えば、プログラム等を不揮発的に記憶するリードオンリメモリ、プログラム実行時における揮発的な作業領域を提供するランダムアクセスメモリといった半導体記憶装置が用いられ得る。入出力インターフェース２１２は、制御回路２１と、入力操作部２２、表示部２３、印刷部２４および外部入出力インターフェース２５との間で、コマンド、データの送受信を実行する。入力操作部２２は、プリンター２０に対してユーザが指示を入力するための操作部であり、例えば、ボタン、ホイールによって実現され得る。表示部２３は、ユーザに対して検索した画像データに基づく画像の表示、ユーザに対する各種情報の表示を行うカラー表示可能な表示画面である。印刷部２４は、ユーザ（制御回路２１）からの印刷指示に従って印刷媒体に対して画像を形成する印刷実行部である。外部入出力インターフェース２５は、外部装置、例えば、画像サーバー１０との間で、周知の通信プロトコルに従って検索要求および検索結果の送受信を実行する。
【００２６】
メモリ２１１に格納されている各種プログラム、モジュールについて図５を用いて説明する。メモリ２１１は、画像サーバー１０に対して画像検索を要求するための画像検索要求プログラムＣＰ１を備え、画像検索要求プログラムＣＰ１は、画像データ特定モジュールＣＭ１１、検索要求モジュールＣＭ１２、検索結果取得モジュールＣＭ１３および検索結果表示モジュールＣＭ１４を備えている。画像データ特定モジュールＣＭ１１は、検索対象（検索キー）となる画像（画像データ）を特定するために実行されるモジュールである。検索要求モジュールＣＭ１２は、特定された画像データと検索の要求を画像サーバー１０に対して送信するためのモジュールである。検索結果取得モジュールＣＭ１３は、画像サーバー１０から検索結果としても一または複数の画像データを取得するためのモジュールである。検索結果表示モジュールＣＭ１４は、検索結果として取得した一または複数の画像データを用いて表示部２３に検索結果としての画像を表示するためのモジュールである。なお、画像検索要求プログラムＣＰ１、画像データ特定モジュールＣＭ１１、検索要求モジュールＣＭ１２、検索結果取得モジュールＣＭ１３および検索結果表示モジュールＣＭ１４は、それぞれＣＰＵ２１０によって実行されることによって、画像検索要求部、検索画像特定部、検索要求部、検索結果取得部および検索結果表示部として機能する。
【００２７】
画像管理（重要度の対応付け）：
図６は本実施例に係る特徴量に対して重要度を対応付けるために実行される処理ルーチンを示すフローチャートである。図７は画像データベースにおける画像管理テーブルの一例を示す説明図である。図８は各特徴量における重要度を対応付ける重要度テーブルの一例を示す説明図である。
【００２８】
本処理ルーチンは、例えば、画像データベースを構築するタイミングにて、あるいは、画像データベースに所定量の新規な画像データが追加されたタイミングにて画像サーバー１０によって実行される。本処理ルーチンの実行時、画像サーバー１０は画像データベースを管理する管理装置として機能する。画像サーバー１０（ＣＰＵ１１）は画像データ取得モジュールＳＭ１１を実行して、画像データベース１３から画像データを取得する（ステップＳ１００）。取得された画像データは一時的にメモリ１２に格納される。
【００２９】
ＣＰＵ１１は特徴量取得モジュールＳＭ１２を実行して、メモリ１２に格納されている画像データから複数の特徴量を取得する（ステップＳ１０２）。本実施例において用いられる特徴量は、例えば、画像データの輝度または画像データの一部の領域における輝度のヒストグラム、テクスチャ、顔の有無、顔の大きさ、色相であり、複数の特徴量が用いられる。輝度のヒストグラムからは、平均輝度値、最高輝度値、最小輝度値が取得され、色相としては、画像データにおけるＲ、Ｇ、Ｂ各成分の平均値、または、画像データを構成する全画素数に占める所定値以上のＲ、Ｇ、Ｂ成分画素数の割合が取得される。輝度のヒストグラム、色相、テクスチャを特徴量として取得する方法は当業者にとって周知の方法であるから説明を省略する。また、顔の有無、すなわち顔検出、および顔の大きさの検出は、例えば、モデル顔形状を用いたパターンマッチング法、肌色の色相領域を特定する方法、顔の器官を検出する方法がそれぞれ単独または組み合わせて用いられ得る。さらに、本実施例では、シャッタースピード、露出補正量、焦点距離、ＩＳＯ、フラッシュの使用の有無といった撮影時の撮影条件（例えば、Ｅｘｉｆ情報）が特徴量として用いられる。これら撮影条件もまた、画像データを特徴付ける情報であり、画像データの検索条件として有用である。これら撮影条件は、値として画像データに撮影時に関連付けられている。
【００３０】
ＣＰＵ１１は、画像データベースに格納されている全ての画像データから特徴量を取得するまで（ステップＳ１０４：Ｎｏ）、ステップＳ１００およびＳ１０２を繰り返し実行する。この結果、図７に示すような各画像データと特徴量との対応付ける画像管理テーブルを得ることができる。図７の例では、管理テーブルには画像データのファイル名と、正規化されていない特徴量とが記述されている。なお、管理テーブルに代えて、各画像データのヘッダに正規化されていない特徴量が共通のフォーマットで記述されていても良い。
【００３１】
ＣＰＵ１１は、全画像データに対する特徴量の取得が終了すると（ステップＳ１０４：Ｙｅｓ）、ＣＰＵ１１は、重要度決定モジュールＳＭ１５を実行して、各特徴量における重要度を決定する（ステップＳ１０６）。具体的には、各特徴量の値、パターン等について、同一特徴量内における重要度を決定する。例えば、比較的高い（平均）輝度値を有する画像データ数が多い画像データベースでは、高い輝度値をパラメータとする画像検索は被検索対象数が多い有意義な検索となり、低い輝度値をパラメータとする画像検索は被検索対象数が少ない（検索精度が高くない）検索となる。すなわち、当該画像データベースは、輝度の高い画像データを多く格納するデータベースであり、輝度の低い画像データの検索には向かないデータベースである。そこで、検索画像データとの類似判定時に用いられる特徴量のうち、その値およびパターン等が画像データベースにおいて重要でない値およびパターン等を示す特徴量については重要度を下げることで、検索され難くし、検索画像データ数の不要な絞り込みを抑制することができる。重要度の決定手順としては、特徴量が数値として取得可能な特徴量の場合には、ヒストグラムを作成して、値の度数（頻度）を求め、度数の高い値を重要度の高い値と決定する。一方、顔の大きさ、向きといった数値化が困難な特徴量の場合には、クラスタリングによって形成された特徴パターンに対応する各クラスタに属する画像データ数を度数として用い、度数の高い値を重要度の高い値と決定する。さらに、特徴量の値のうち、ヒストグラムにおいて極点（上に凸）を採る値について高い重要度を割り当てても良い。極点を採る値は、頻度（度数）は低くても当該特徴量において特徴的な値となるからである。なお、重要度としては、各値毎に度数が求められても良く、あるいは所定の範囲単位で度数が求められても良い。例えば、輝度値の場合には、０〜２５５の各値に対して度数が求められても良く、０〜５、５〜１０といったように５の値域毎に（離散的に）度数が求められても良い。前者の場合には精度が、後者の場合には演算処理速度がそれぞれ高くなる。クラスタリングの手法としては、後述するように、階層型クラスタリング手法と非階層型クラスタリング手法とがある。
【００３２】
ＣＰＵ１１は、正規化モジュールＳＭ１３を実行して取得した重要度を各特徴量毎に正規化する（ステップＳ１０８）。本実施例では、特徴量の値、パターン毎に標準偏差σを求め、求めた標準偏差σと以下の式を用いて平均が０、標準偏差が１となるように正規化が行われる。正規化値＝（ｘ−μ）／σ（ｘは正規化対象の度数、μは当該度数の平均値）。ここで、各特徴量の正規化された重要度は、検索画像データと被検索対象画像データの類似度を算出する際に、当該特徴量に適用される係数と関連付けられている情報である。例えば、重要度の逆数が係数として用いられ、あるいは、重要度と係数とが対応付けられている。このように、重要度の決定および正規化の処理は、類似判断時に用いられる重み付け係数を決定するための処理であるということができる。
【００３３】
ＣＰＵ１１は、重要度決定モジュールＳＭ１５を実行して、各特徴量において決定した重要度を対応付けて重要度テーブルとしてメモリ１２に格納して（ステップＳ１１０）、本処理ルーチンを終了する。メモリ１２に格納される重要度テーブルの例を図８に示す。図８の例では、輝度、色相、顔サイズ、シャッタースピードといった各画像特徴量の値について、各特徴量においてそれぞれ正規化された頻度が重要度として対応付けられている。なお、顔サイズは値で表すことはできないが、便宜上、値として表しており、顔がない場合、サイズ小、中、大、小中、中大の間を例示している。
【００３４】
画像データの検索：
図９は本実施例に係る画像サーバーにおいて実行される画像検索処理ルーチンを示すフローチャートである。図１０は本実施例に係るプリンターにおいて実行される画像検索要求処理ルーチンを示すフローチャートである。図９に示す処理ルーチンの実行時、画像サーバー１０は画像検索装置として機能する。
【００３５】
図１０を参照して説明する。プリンター２０（ＣＰＵ２１０）は、画像データ特定モジュールＣＭ１１を実行して、表示部２３に表示されている画像の内、ユーザによって特定された画像（検索画像）に対応する検索画像データを特定する（ステップＳ３００）。表示部２３に表示される画像は、例えば、可搬式半導体記憶装置に格納されている画像データであり、入力操作部２２を介して選択される。ＣＰＵ２１０は、検索要求モジュールＣＭ１２を実行して、検索画像データを画像サーバー１０に送信する（ステップＳ３０２）。具体的には、外部入出力インターフェース２５、ネットワークＮＥを介して画像サーバー１０に送信される。なお、プリンター２０において、検索画像データと共に、入力操作部２２を介して指定された特定の特徴量、あるいはプリンター２０が指定した特定の特徴量を画像サーバー１０に対して送信できるようにしても良い。この場合には、ユーザが関心を持っている特徴量を指定することが可能となり、画像検索精度を更に向上させることができる。特徴量の指定の方法としては、特徴量単位での指定、あるいは、特定の特徴量における数値の指定が含まれる。プリンター２０が指定する場合には、例えば、撮影情報としての開放値、露出補正量がマニュアル設定されている場合には、露出を気にして撮影された画像であることが推測され、スナップ画像ではない写りの良い画像であると判定することができる。また、画像に占める顔の大きさが大きい場合には、ユーザは顔に興味を持っていると判定することができる。さらに、画像を占める特定の色相の面積が大きい場合には、特定の色相が画像を特徴付ける色相であると判定することができる。これらの場合には、指定された撮影条件の値、大きな顔、特定の色相に関する重要度を、後述するように増大させることによって、ユーザの意図を検索結果に反映することができる。
【００３６】
図９を参照して説明する。画像サーバー１０（ＣＰＵ１１）は、画像データ取得モジュールＳＭ２１を実行して、プリンター２０から送信されてきた検索画像データを取得する（ステップＳ２００）。具体的には、入出力インターフェース１４を介して検索画像データが画像サーバー１０内に取り込まれ、メモリ１２に格納される。ＣＰＵ１１は、検索画像データ特徴量取得モジュールＳＭ２３を実行して、検索画像データの複数の特徴量を取得する（ステップＳ２０２）。特徴量の取得の方法については画像特徴量の重要度決定処理において既述したとおりである。
【００３７】
ＣＰＵ１１は、重要度取得モジュールＳＭ２５を実行して、取得した検索画像データの各特徴量に対応付けられている重要度を重要度テーブルから取得する（ステップＳ２０４）。ＣＰＵ１１は、プリンター２０において、重要な特徴量が特定され、当該特定された特徴量を画像サーバー１０において受信したか否かを判定し（ステップＳ２０６）、受信していると判定した場合には（ステップＳ２０６：Ｙｅｓ）、指定された特徴量の重要度を変更する（ステップＳ２０８）。具体的には、ＣＰＵ１１は重要度変更モジュールＳＭ１６を実行して、取得した当該特徴量に対応する重要度を最大に変更する。後述するように、特徴量に適用される係数が０の場合に、当該特徴量に関する類似度は最も高くなる（一致する）ので、最大の重要度に対応する係数は０となる。あるいは、特徴量の値が指定されている場合には、ＣＰＵ１１は重要度変更モジュールＳＭ１６を実行して、指定されている値に対応する重要度を重要度テーブルから取得して、指定されている値を正規化した後に取得した重要度と置き換える。
【００３８】
ＣＰＵ１１は、特徴量を画像サーバー１０において受信していないと判定した場合には（ステップＳ２０６：Ｎｏ）、ステップＳ２１０に移行する。ＣＰＵ１１は類似度算出モジュールＳＭ２４を実行して、検索画像データに類似・一致する複数の画像データを検索する（ステップＳ２１０）。具体的には、取得した検索画像データの各特徴量の値と、画像データベースに含まれる各画像データ（各被検索画像データ）の各特徴量と、係数としての重要度とを用いて類似度を算出される。類似度は、例えば、ユークリッド距離、マハラノビス距離といった距離算出方法によって算出された、検索画像データの特徴量と、各被検索画像データの特徴量との間の距離、すなわち、検索画像データの特徴量と各被検索画像データの特徴量によって表される多次元ベクトル間の距離を用いて判断され、得られた距離が短いほど類似していると判断される。あるいは、検索画像データの各特徴量の値を成分とする多次元ベクトルと、各被検索画像データの各特徴量の値を成分とする多次元ベクトルとの内積を求めて判断されても良い。この場合には、両多次元ベクトルのコサイン成分の差を求めるので、得られた内積の値が１に近いほど（両多次元ベクトル間の角度が０に近いほど）類似度が高いと判断することができる。
【００３９】
既述のように、各特徴量に対応付けられた正規化後の重要度は、各距離、類似度を算出する際に各特徴量に対して適用される係数と関連付けられている。ユークリッド距離を用いる場合には、以下の式（１）および（２）に示すように係数ｋiが適用される。なお、係数ｋiは既述の通り、検索画像データの特徴量に基づいて決定される。
【００４０】
【数１】
2010250635.tif 000003
【数２】
2010250635.tif 000004
【００４１】
式（１）において（ｘi）は検索対象画像データの特徴量の値、（ｙi）は被検索画像データの特徴量の値を示し、式（２）においては理解を容易にするため特徴量毎の差分であることを明示している。距離を用いた類似度判断では、算出結果が０に近いほど検出対象画像データを被検索画像データとが類似していることを示すので、高い重要度に対して小さな係数を対応付けることによって、重要度の高い特徴量に関する感度を低くして検索結果数を増大させることができる。係数は、例えば、正規化された重要度の逆数であってもよく、あるいは、重要度が高くなるに連れて小さくなるように予め規定されている値であっても良い。一方、内積を用いる場合には、以下の式（３）における各多次元ベクトルの成分に対して係数が適用される。
【００４２】
【数３】
2010250635.tif 000005
【００４３】
類似度として内積を用いる場合にも、両多次元ベクトル間角度が０に近いほど検出対象画像データを被検索画像データとが類似していることを示すので、例えば、重要度の逆数を係数とすることによって、重要度の高い特徴量に関する感度を低くして検索結果数を増大させることができる。
【００４４】
ＣＰＵ１１は検出した複数の画像データを、検索要求の送信元であるプリンター２０に対して送信して（ステップＳ２１２））本処理ルーチンを終了する。なお、いずれのプリンター２０から検索要求が送信されたかについては、たとえば、プリンター２０が備える外部入出力インターフェース２５の識別情報（例えば、ＭＡＣアドレス）によって識別することができ、当該識別情報を用いて検索要求の送信元であるプリンター２０に対して複数の画像データを送信することができる。なお、複数の画像データの選択は、予めしきい値としての距離を決めておいても良く、あるいは、画像データ数を決めておいても良い。
【００４５】
図１０を参照して説明する。プリンター２０（ＣＰＵ２１０）は、検索結果取得モジュールＣＭ１３を実行して、画像サーバー１０から受信した検索結果としての複数の画像データを取得し（ステップＳ３０４）、検索結果表示モジュールＣＭ１４を実行して取得した画像データを用いて複数の画像を表示部２３に表示させて（ステップＳ３０６）、本処理ルーチンを終了する。
【００４６】
以上説明した本実施例に係る画像サーバー、画像検索方法、プリンター、画像検索装置、重要度関連付け方法によれば、画像サーバー１０の記憶装置１３に格納されている画像データの特徴量に対して重要度を決定することができる。また、検索要求を受けて、決定された重要度を用いて検索画像データに類似または一致する画像データを検索することができる。したがって、画像サーバー１０（画像データベース）における各特徴量の重要度に応じた（画像サーバー１０の特性に応じた）画像検索を実現することができると共に、自身の特性に応じた画像検索を実現することができる画像サーバーを提供することができる。すなわち、画像サーバー１０において特定の特徴量の値・パターン等の出現頻度が低い場合には、当該特徴量については重要度が下がるので、これら特徴量に基づく検索画像データ数の不要な絞り込みを抑制することが可能となり、画像サーバー１０において頻度の高い特徴量の値・パターンを含む画像データをより多く検出することができる。この結果、画像サーバー１０の特性を活かした画像検索を実現することができる。
【００４７】
また、プリンター２０から特徴量の指定を受信した画像サーバー１０は、指定された特徴量の重要度を高くするので、指定された特徴量を含む画像データを検索することが可能となり、画像検索精度を向上させることができる。また、指定された特徴量に対する重要度に応じた、類似度算出時の係数を０とすることによって、当該特徴量については実質的に絞り込み検索条件から除外され、当該特徴量を有する全ての画像データを検索対象とすることができる。また、当該特徴量に距離等の演算処理が不要となり、画像検索速度を向上させることができる。
【００４８】
さらに、画像データに関連付けられた画像データの内容を記述するメタデータを用いることなく、画像データの特徴量に基づいて画像データを検索するので、言葉（キーワード）を用いて画像データを特定する必要が無く画像データの検索を容易化することができる。さらに、主観的なメタデータに依存しないので、画像データの検索の客観性を高めることが可能となり、画像データの検索精度を向上させることができる。
【００４９】
第２の実施例：
以下、図１１〜１４を参照して第２の実施例について説明する。なお、第２の実施例において用いられる画像サーバー、プリンターの構成は第１の実施例に係る画像サーバー１０およびプリンター２０と同様の構成を備えているので、同一の構成については同一の符号を付して説明を省略し、異なる構成および作用について以下、説明する。
【００５０】
図１１は画像データベースに対してクラスタリング処理を伴う重要度関連付け処理に際して実行される処理ルーチンを示すフローチャートである。図１２は画像データベースにおける画像管理テーブルの一例を示す説明図である。図１３はクラスタの属性を管理するクラスタテーブルの一例を示す説明図である。図１４はクラスタリング処理された画像データベースを用いた画像検索処理において実行される処理ルーチンを示すフローチャートである。
【００５１】
図１１を参照してクラスタリング処理を伴う重要度関連付け処理について説明する。なお、図６において説明したステップ（処理）と同一のステップについては、同一のステップ番号を付すことで詳細な説明を省略し、相違点を中心に説明する。画像サーバー１０（ＣＰＵ１１）は画像データ取得モジュールＳＭ１１を実行して、画像データベース１３から画像データを取得する（ステップＳ１００）。ＣＰＵ１１は特徴量取得モジュールＳＭ１２を実行して、メモリ１２に格納されている画像データから複数の特徴量を取得する（ステップＳ１０２）。
【００５２】
ＣＰＵ１１は、画像データベースに格納されている全ての画像データから特徴量を取得するまで（ステップＳ１０４：Ｎｏ）、ステップＳ１００およびＳ１０２を繰り返し実行する。この結果、図１２に示すような各画像データと特徴量と所属クラスタを対応付ける画像管理テーブルを得ることができる。図１２の例では、管理テーブルには画像データのファイル名と、正規化されていない特徴量と、所属クラスタが記述されているが、この時点では、所属クラスタの欄は空欄である。
【００５３】
ＣＰＵ１１は、全画像データに対する特徴量の取得が終了すると（ステップＳ１０４：Ｙｅｓ）、重要度決定モジュールＳＭ１５を実行して、各特徴量に対する重要度を決定する（ステップＳ１０６）。ＣＰＵ１１は、正規化モジュールＳＭ１３を実行して取得した重要度を各特徴量毎に正規化する（ステップＳ１０８）。ＣＰＵ１１は、重要度決定モジュールＳＭ１５を実行して、各特徴量において決定した重要度を対応付けて重要度テーブルとしてメモリ１２に格納する（ステップＳ１１０）。
【００５４】
ＣＰＵ１１はクラスタリングモジュールＳＭ１４を実行して、クラスタリング処理を実行する（ステップＳ１１２）。具体的には、クラスタリングモジュールＳＭ１４は、先に取得した各画像データの各特徴量に対して正規化処理を行い、階層型クラスタリング手法または非階層型クラスタリング手法を用いて、各画像データのクラスタリングを実行する。階層型クラスタリング手法としては、所定の特徴量を用いて全体を順に分割していく分割型クラスタリング手法、類似する画像データを集めることを繰り返す凝集型クラスタリング手法が知られている。非階層型クラスタリング手法としては、Ｋ平均法、自己組織化マップ（ＳＯＭ）等が知られている。なお、階層型クラスタリング手法および非階層型クラスタリング手法の具体的な実施方法は、当業者にとって周知であるから詳細な説明は省略する。
【００５５】
ＣＰＵ１１は、クラスタリングによって得られた各クラスタの代表値（属性）を取得し、各クラスタに対応付けて（ステップＳ１１４）本処理ルーチンを終了する。各クラスタについて属性を対応付けることで類似する画像データを迅速に特定するための画像インデックスを作成することができる。各クラスタの代表値は、例えば、各クラスタに属する画像データの正規化されていない各特徴量の平均値を求めることによって取得される。取得された各クラスタの代表値と各クラスタとは、例えば、図１３に示すクラスタテーブルによって対応付けられる。図１３の例では、属性（代表値）として輝度成分、Ｒ，Ｇ，Ｂ各成分、顔の大きさの平均値が各クラスタに対して対応付けられている。このクラスタテーブルは、メモリ１２に格納されていてもよく、画像データベース（記憶装置１３）の所定の領域に格納されていても良い。また、この時点で、画像管理テーブルは図１２に示すように、所属するクラスタと関連付けられる。
【００５６】
図１４を用いて画像サーバーにおいて実行される画像検索処理について説明する。なお、以下の説明では、画像データベースがクラスタリング処理されているために必要なステップを中心に説明し、その他のステップについては図９において用いたステップ番号と同一のステップ番号を付すことで詳細な説明を省略する。また、プリンター２０側の動作に変わりはないので、プリンター２０の動作の説明は図１０を参照することで省略する。
【００５７】
画像サーバー１０（ＣＰＵ１１）は、画像データ取得モジュールＳＭ２１を実行して、プリンター２０から送信されてきた検索画像データを取得する（ステップＳ２００）。ＣＰＵ１１は、検索画像データ特徴量取得モジュールＳＭ２３を実行して、検索画像データの複数の特徴量を取得する（ステップＳ２０２）。
【００５８】
ＣＰＵ１１は、重要度取得モジュールＳＭ２５を実行して、取得した画像データの各特徴量に対応付けられている重要度を重要度テーブルから取得する（ステップＳ２０４）。ＣＰＵ１１は、プリンター２０において、重要な特徴量が特定され、当該特定された特徴量を画像サーバー１０において受信したか否かを判定し（ステップＳ２０６）、受信していると判定した場合には（ステップＳ２０６：Ｙｅｓ）、指定された特徴量の重要度を変更する（ステップＳ２０８）。ＣＰＵ１１は、特徴量を画像サーバー１０において受信していないと判定した場合には（ステップＳ２０６：Ｎｏ）、ステップＳ２０９に移行する。
【００５９】
ＣＰＵ１１は、類似度算出モジュールＳＭ２４を実行して、検索画像データに類似・一致する複数のクラスタを検索する（ステップＳ２０９）。具体的には、取得した検索画像データの各特徴量の値と、各クラスタに対応付けられている属性（各特徴量の代表値）と、各特徴量の値に対応付けられている重要度とを用いて類似度が算出される。類似度は、既述の手法によって求められる。また、類似度の算出にあたって、既述のように、重要度に応じた係数が各特徴量に対して適用される。たとえば、画像データベースの画像インデックスがＫ平均法によって形成されている場合には、検索画像データに近い代表値を有するクラスタが複数選択される。また、画像データベースの画像インデックスが階層型クラスタリング手法によって形成されている場合にも、検索画像データに近い代表値を有する複数のクラスタ、一般的には同じ枝から分割された複数のクラスタが選択される。なお、複数のクラスタの選択は、予めしきい値としての距離を決めておいても良く、あるいは、選択すべきクラスタ数を決めておいても良い。
【００６０】
ＣＰＵ１１は、類似度算出モジュールＳＭ２４を実行して、検索によって得られた複数のクラスタに属する複数の画像データから、検索画像データに類似・一致する複数の画像データを検索する（ステップＳ２１１）。類似または一致の判断は、検索画像データの各特徴量と各クラスタに属する各画像データの各特徴量と各特徴量に対応付けられている重要度とを用いて、既述の類似度を算出することによって行われる。なお、複数の画像データの選択は、予めしきい値としての距離を決めておいても良く、あるいは、画像データ数を決めておいても良い。
【００６１】
ＣＰＵ１１は検出した複数の画像データを、検索要求の送信元であるプリンター２０に対して送信して（ステップＳ２１２））本処理ルーチンを終了する。
【００６２】
以上説明した第２の実施例によれば、第１の実施例により得られる作用効果に加えて、クラスタリング処理を画像データに対して施すことによって、画像インデックスを用いて所望の画像データを検査することができる。したがって、特徴量を用いて画像データを検索する場合であっても、画像データ検索速度を向上させることができる。また、画像インデックスの作成に際して、画像データの複数の特徴量を用いてクラスタリングを実行するので、画像データの検索精度を低下させることなく画像データの検索速度を向上させることができる。
【００６３】
・変形例：
（１）上記実施例では、画像サーバー１０として、クライアントからの要求に応じての画像データベースを検索するサーバーコンピューターを例にとって説明したが、例えば、パーソナルコンピューター３０の記憶装置に格納されているローカルな画像データベースに対して上記した重要度を対応づけても良い。すなわち、画像サーバーはネットワークに接続されていない、スタンドアローンのパーソナルコンピューターまたはプリンターが有する機能の一部、さらにはコンピュータープログラム、コンピュータープログラムが格納されたコンピューター読み取り可能媒体として実現されても良い。この場合には、パーソナルユースにおける画像データ検索の利便性、すなわち、検索速度の向上、検索精度の向上、検索の容易化を実現することができる。さらに、プリンター２０に大容量記憶装置が備えられている場合には、上記した重要度の対応付け方法、画像検索方法は、プリンター２０におけるローカルな画像データ検索に適用されても良い。なお、コンピューター読み取り可能媒体としては、ＣＤ、ＤＶＤ、ハードディスクドライブ、フラッシュメモリといった種々の記録媒体を用いることができる。
【００６４】
（２）上記実施例では画像データの特徴量として、輝度、色相、テクスチャ、顔の大きさ、顔の有無を用いているが、他の特徴量が用いられることは言うまでもない。例えば、画像データのコントラスト、彩度、顔の目、鼻、口といった器官の配置位置（パターン）、露出補正量、撮影シーン情報といった特徴量を用いることができる。これらの特徴量を用いることによって、画像データベースの特性を適切に表す重要度を決定、対応付けることが可能となり、ユーザの所望する画像データの検索結果を得ることができる。
【００６５】
（３）上記実施例では、重要度を決定、関連づけるための重要度対応付けプログラムおよび画像検索プログラムの双方を備える画像サーバーを用いて説明したが、画像サーバーは、重要度対応付けプログラムまたは画像検索プログラムのいずれか一方を備えていても良い。例えば、既に重要度が対応づけられている外部の画像データベースを用いる場合には画像サーバーには画像検索プログラムのみが備えられていればよく、画像検索プログラムがクライアントに備えられている場合には画像サーバーには重要度対応付けプログラムのみが備えられていれば良い。いずれの態様を取るかは、どのような態様のシステム構成が用いられるかに依存して決定すれば良い。
【００６６】
（４）上記実施例では、テキストによるクラスタの説明を行っていないが、例えば、階層型クラスタリング手法による場合には、各クラスタに対してテキストによる説明を付して、利用者が所望する画像データを選択しやすい環境を整えても良い。この場合には、画像データの特徴量に加えて、ユーザが所望する属性を有するクラスタの選択を促すことによって、よりユーザのニーズに合った画像データの検索結果を提供することができる。
【００６７】
（５）上記実施例では、複数のクラスタおよび複数の画像データを検索しているが、絞り込み検索に時間を要しない場合には、単一のクラスタおよび単一の画像データを検索しても良い。この場合には、ユーザの更なる選択を不要にすることができる。
【００６８】
（６）上記実施例では、重要度として正規化された頻度が用いられ、重要度と類似度計算時における係数とが対応付けられている場合について説明したが、重要度として、正規化された頻度の逆数、あるいは、係数を求め、予め重要度テーブルに格納されていても良い。この場合には、画像データ検索時に、重要度テーブルから取得した重要度をそのまま係数として用いることができる。あるいは、重要度として正規化されていない頻度が重要度テーブルに格納され、類似度判定の際に、正規化を実行し、および重み付け係数を求めても良い。この場合には、重要度の変更に対して簡単に対応することができる。
【００６９】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００７０】
ＩＳＳ…画像検索システム
１０…サーバーコンピューター（画像サーバー）
１１…ＣＰＵ
１２…メモリ
１３…記憶装置（画像データベース）
１４…入出力インターフェース
２０…プリンター
２１…制御回路
２１０…ＣＰＵ
２１１…メモリ
２１２…入出力インターフェース
２２…入力操作部
２３…表示部
２４…印刷部
２５…外部入出力インターフェース
３０…パーソナルコンピューター
３１…表示ディスプレイ
３２…入力装置
ＣＰ１…画像検索要求プログラム
ＣＭ１１…画像データ特定モジュール
ＣＭ１２…検索要求モジュール
ＣＭ１３…検索結果取得モジュール
ＣＭ１４…検索結果表示モジュール
ＮＥ…ネットワーク
ＳＰ１…重要度対応付けプログラム
ＳＭ１１…画像データ取得モジュール
ＳＭ１２…特徴量取得モジュール
ＳＭ１３…正規化モジュール
ＳＭ１４…クラスタリングモジュール
ＳＭ１５…重要度決定モジュール
ＳＭ１６…重要度変更モジュール
ＳＰ２…画像検索プログラム
ＳＭ２１…画像データ取得モジュール
ＳＭ２１…検索画像データ取得モジュール
ＳＭ２２…画像データ検索モジュール
ＳＭ２３…検索画像データ特徴量取得モジュール
ＳＭ２４…類似度算出モジュール
ＳＭ２５…重要度取得モジュール
【図１】
2010250635.tif 000006
【図２】
2010250635.tif 000007
【図３】
2010250635.tif 000008
【図４】
2010250635.tif 000009
【図５】
2010250635.tif 000010
【図６】
2010250635.tif 000011
【図７】
2010250635.tif 000012
【図８】
2010250635.tif 000013
【図９】
2010250635.tif 000014
【図１０】
2010250635.tif 000015
【図１１】
2010250635.tif 000016
【図１２】
2010250635.tif 000017
【図１３】
2010250635.tif 000018
【図１４】
2010250635.tif 000019