(57)【特許請求の範囲】
【請求項１】
保持する情報を入力する入力部と、
入力された情報をマクロブロックに分割し、前記マクロブロックを所定のサイズのサブブロックに分割する分割部と、
前記サブブロックの平均値を演算する平均値演算部と、
前記マクロブロックから前記平均値を減算して平均値分離ブロックを演算する平均値分離ブロック演算部と、
前記マクロブロック内において前記サブブロックの大きさがより小さくなるように分割を繰り返して演算された、各階層の前記平均値分離ブロックを、階層ごとに異なる方式で符号化する符号化部と、
前記階層ごとに異なる方式で符号化された情報を保持するデータベースと
を備える情報処理装置。
【請求項２】
前記情報は画像情報であり、
前記符号化部は、最上位階層の前記画像情報をサムネイル画像とする
請求項１に記載の情報処理装置。
【請求項３】
前記平均値演算部は、さらに前記マクロブロック自体の平均値を演算し、
前記符号化部は、前記マクロブロック自体の平均値の情報を符号化せずに、最上位の階層の情報とする
請求項１に記載の情報処理装置。
【請求項４】
前記データベースに保持されている前記情報を、より上位の階層から順番に取得する取得部と、
取得された検索対象と比較対象の符号化されている情報を階層ごとに比較する比較部と、
比較結果に基づいて、前記検索対象に類似する前記比較対象の情報を復号する復号部と、
復号された前記検索対象に類似する前記比較対象の情報を出力する出力部と
をさらに備える請求項１に記載の情報処理装置。
【請求項５】
前記比較部は、前記検索対象と前記比較対象の符号化されている情報の距離を比較する
請求項４に記載の情報処理装置。
【請求項６】
前記比較部は、上位の階層で距離が短いと判断された前記比較対象の情報の下位の階層の情報を、順次前記検索対象の情報と比較する
請求項５に記載の情報処理装置。
【請求項７】
前記比較部は、前記検索対象のアクティビティがより大きい階層から順番に比較する
請求項４に記載の情報処理装置。
【請求項８】
前記比較部は、各階層の前記比較対象の情報の距離に応じて付加した点数に基づいて、前記検索対象に類似する前記比較対象の情報を検索する
請求項４に記載の情報処理装置。
【請求項９】
入力部が、保持する情報を入力し、
分割部が、入力された情報をマクロブロックに分割し、前記マクロブロックを所定のサイズのサブブロックに分割し、
平均値演算部が、前記サブブロックの平均値を演算し、
平均値分離ブロック演算部が、前記マクロブロックから前記平均値を減算して平均値分離ブロックを演算し、
符号化部が、前記マクロブロック内において前記サブブロックの大きさがより小さくなるように分割を繰り返して演算された、各階層の前記平均値分離ブロックを、階層ごとに異なる方式で符号化する
情報処理方法。
【請求項１０】
保持する情報を入力し、
入力された情報をマクロブロックに分割し、前記マクロブロックを所定のサイズのサブブロックに分割し、
前記サブブロックの平均値を演算し、
前記マクロブロックから前記平均値を減算して平均値分離ブロックを演算し、
前記マクロブロック内において前記サブブロックの大きさがより小さくなるように分割を繰り返して演算された、各階層の前記平均値分離ブロックを、階層ごとに異なる方式で符号化する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、演算量を削減し、迅速に検索ができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
複数の解像度の画像を予め用意しておくことが、例えば特許文献１に開示されている。このようにすれば、必要な所定の解像度の画像を迅速に表示することができる。
【０００３】
【特許文献１】特開弊１１−３１２１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところでネットワークの広帯域化やストレージ容量の増大に伴い、情報、特に画像情報を効率的に整理する手法が求められている。
【０００５】
しかしながら、複数の解像度の画像をデータベースに保持すると、データ量がそれだけ多くなり、所望の画像を検索する場合の演算量も多くなり、画像の迅速な検索が困難となる。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、検索時における演算量を軽減し、迅速に検索ができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面の情報処理装置は、保持する情報を入力する入力部と、入力された情報をマクロブロックに分割し、前記マクロブロックを所定のサイズのサブブロックに分割する分割部と、前記サブブロックの平均値を演算する平均値演算部と、前記マクロブロックから前記平均値を減算して平均値分離ブロックを演算する平均値分離ブロック演算部と、前記マクロブロック内において前記サブブロックの大きさがより小さくなるように分割を繰り返して演算された、各階層の前記平均値分離ブロックを、階層ごとに異なる方式で符号化する符号化部と、前記階層ごとに異なる方式で符号化された情報を保持するデータベースとを備える。
【０００８】
前記情報は画像情報であり、前記符号化部は、最上位階層の前記画像情報をサムネイル画像とするようにすることができる。
【０００９】
前記平均値演算部は、さらに前記マクロブロック自体の平均値を演算し、前記符号化部は、前記マクロブロック自体の平均値の情報を符号化せずに、最上位の階層の情報とするようにすることができる。
【００１０】
前記データベースに保持されている前記情報を、より上位の階層から順番に取得する取得部と、取得された検索対象と比較対象の符号化されている情報を階層ごとに比較する比較部と、比較結果に基づいて、前記検索対象に類似する前記比較対象の情報を復号する復号部と、復号された前記検索対象に類似する前記比較対象の情報を出力する出力部とをさらに備えるようにすることができる。
【００１１】
前記比較部は、前記検索対象と前記比較対象の符号化されている情報の距離を比較するようにすることができる。
【００１２】
前記比較部は、上位の階層で距離が短いと判断された前記比較対象の情報の下位の階層の情報を、順次前記検索対象の情報と比較するようにすることができる。
【００１３】
前記比較部は、前記検索対象のアクティビティがより大きい階層から順番に比較するようにすることができる。
【００１４】
前記比較部は、各階層の前記比較対象の情報の距離に応じて付加した点数に基づいて、前記検索対象に類似する前記比較対象の情報を検索するようにすることができる。
【００１５】
本発明の一側面の情報処理方法は、入力部が、保持する情報を入力し、分割部が、入力された情報をマクロブロックに分割し、前記マクロブロックを所定のサイズのサブブロックに分割し、平均値演算部が、前記サブブロックの平均値を演算し、平均値分離ブロック演算部が、前記マクロブロックから前記平均値を減算して平均値分離ブロックを演算し、符号化部が、前記マクロブロック内において前記サブブロックの大きさがより小さくなるように分割を繰り返して演算された、各階層の前記平均値分離ブロックを、階層ごとに異なる方式で符号化する。
【００１６】
本発明の一側面のプログラムは、保持する情報を入力し、入力された情報をマクロブロックに分割し、前記マクロブロックを所定のサイズのサブブロックに分割し、前記サブブロックの平均値を演算し、前記マクロブロックから前記平均値を減算して平均値分離ブロックを演算し、前記マクロブロック内において前記サブブロックの大きさがより小さくなるように分割を繰り返して演算された、各階層の前記平均値分離ブロックを、階層ごとに異なる方式で符号化する処理をコンピュータに実行させる。
【００１７】
本発明の一側面の情報処理装置および方法、並びにプログラムにおいては、保持されている情報がマクロブロックに分割され、マクロブロックが所定のサイズのサブブロックに分割され、サブブロックの平均値が演算され、マクロブロックから平均値が減算されて平均値分離ブロックが演算され、マクロブロック内においてサブブロックの大きさがより小さくなるように分割が繰り返えされて演算された、各階層の平均値分離ブロックが、階層ごとに異なる方式で符号化される。
【発明の効果】
【００３２】
以上のように、本発明の側面によれば、検索時における演算量を軽減し、迅速に検索を行うことが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下、図を参照して本発明の実施の形態について説明する。
【００３４】
図１は本発明を適用した情報検索システムの一実施の形態の構成を表している。この情報検索システム１は、情報符号化装置１１と情報検索装置１２とにより構成されている。
【００３５】
情報符号化装置１１は、入力部２１、符号化部２２、およびデータベース２３により構成されている。情報検索装置１２は、データベース２３と検索部２４により構成されている。
【００３６】
入力部２１は、図示せぬ記録媒体、インターネットに代表される各種のネットワークなどを介して、データベース２３に保持する情報を入力する。この実施の形態の場合、画像情報が入力される。符号化部２２は、入力された情報を階層的に符号化する。データベース２３は、各階層ごとに符号化された情報を保持する。検索部２４は、データベース２３に保持されている比較対象の情報から検索対象の情報に類似する（同一である場合を含む）情報を検索する。
【００３７】
図２は、情報検索装置１２の検索部２４の一実施の形態の構成を表している。検索部２４は、読み出し部４１、比較部４２、復号部４３、および出力部４４により構成されている。
【００３８】
読み出し部４１は、データベース２３に保持されている検索対象と比較対象の情報を読み出す。比較部４２は、読み出された検索対象と比較対象の情報とを比較する。復号部４３は、検索対象の情報と、比較の結果、検索対象の情報に類似すると判断された比較対象の情報を、符号化部２２の符号化方式に対応する復号方式で復号する。例えばＬＣＤ（Liquid Crystal Display）、スピーカなどにより構成される出力部４４は、検索され、復号された情報を出力する。
【００３９】
次に、図４のフローチャートを参照して、情報符号化装置１１の符号化処理について説明するが、この処理を行うため、符号化部２２は、図３に示されるような機能的構成を有している。
【００４０】
すなわち、符号化部２２は、画像分割部６１、平均値演算部６２、平均値分離ブロック演算部６３、ブロック符号化部６４、判定部６５、およびブマクロブロック分割部６６を有している。
【００４１】
画像分割部６１は、１枚の画像を複数個のマクロブロックに分割する。平均値演算部６２は、マクロブロックおよびマクロブロックを構成するサブロックの平均値を演算する。平均値分離ブロック演算部６３は、マクロブロックからサブブロックの平均値を減算した平均値分離ブロックを演算する。ブロック符号化部６４は、各階層の平均値分離ブロックを符号化する。判定部６５は、各種の判定を行う。ブマクロブロック分割部６６は、マクロブロックを順次所定のサイズのサブブロックに分割する。
【００４２】
次に、図４のフローチャートを参照して、情報符号化装置１１の符号化処理について説明する。
【００４３】
ステップＳ１において、入力部２１はデータベース２３に保持する画像信号を入力する。ステップＳ２において、符号化部２２の画像分割部６１は、入力された画像信号の画像をマクロブロックに分割する。例えば、図５に示されるように、１枚の画像が複数個のマクロブロックに分割される。各マクロブロックはＮ×Ｎ画素で構成されている。
【００４４】
ステップＳ３において、平均値演算部６２はマクロブロックの平均値を演算する。図６の階層０に示されるように、マクロブロックのＮ×Ｎ画素の平均値が演算される。そして、マクロブロックのＮ×Ｎ個の各画素をその平均値で表した画像が、最上位の階層（階層０）の画像とされる。この画像はサムネイル画像とするため符号化されない。
【００４５】
ステップＳ４において、平均値分離ブロック演算部６３は、平均値分離ブロックを演算する。すなわち、図６の階層１に示されるように、マクロブロックの各画素値からそのマクロブロックの各画素の平均値が減算され、それがその階層(階層１)の平均値分離ブロックとされる。
【００４６】
ステップＳ５において、ブロック符号化部６４は、平均値分離ブロックを符号化する。図６の例においては、階層１の平均値分離ブロックが符号化される。このときの符号化方式は、例えばＡＤＲＣ（Adaptive Dynamic Range Coding）符号化方式とされる。ステップＳ６において、データベース２３は、ステップＳ５で符号化された平均値分離ブロックを登録する。図６の例では、階層１の平均値分離ブロックが登録される。
【００４７】
ステップＳ７において、判定部６５はブロック分割が可能かを判定する。この実施の形態の場合、図７Ａ乃至図７Ｄに示されるように、Ｎ×Ｎ画素のマクロブロックは、Ｍ×Ｍ画素のサブブロック（（Ｎ／Ｍ）×（Ｎ／Ｍ）個のサブブロック）、Ｋ×Ｋ画素のサブブロック（（Ｎ／Ｋ）×（Ｎ／Ｋ）個のサブブロック）、Ｒ×Ｒ画素のサブブロック（（Ｎ／Ｒ）×（Ｎ／Ｒ）個のサブブロック）と順次分割される。図７の実施の形態の場合、Ｎ＝１６，Ｍ＝８，Ｋ＝４，Ｒ＝２とされている。すなわち、サブブロックのサイズが１／２倍ずつ順次小さくなるように分割される。この場合、２×２画素のサイズのサブブロックまで分割されたとき、または奇数画素のサイズのサブブロックまで分割されたとき、それ以上は分割できないと判定される。
【００４８】
勿論サブブロックは、１／３倍、１／４倍、１／５倍、・・・ずつ順次小さくなるように分割することも可能である。
【００４９】
ブロック分割が可能である場合、ステップＳ８において、ブマクロブロック分割部６６は、平均値分離ブロックを分割する。図６の例においては、階層１の平均値分離ブロックが、Ｍ×Ｍ画素のサブブロックに分割される。ステップＳ９において、平均値演算部６２は、サブブロックの平均値を演算する。図６の例においては、Ｍ×Ｍ画素のサブブロックの平均値が演算される。
【００５０】
その後、処理はステップＳ４に戻り、平均値分離ブロック演算部６３は、平均値分離ブロックを演算する。図６の例においては、階層２に示されるように、すぐ上の階層である階層１の平均値分離ブロックの各画素値から、ステップＳ９で演算された平均値が減算され、階層２の平均値分離ブロックとされる。
【００５１】
ステップＳ５において、ブロック符号化部６４は、平均値分離ブロックを符号化する。図６の例においては、階層２の平均値分離ブロックが符号化される。このときの符号化方式は、例えば階層1における場合と異なるエッジ方向符号化方式とされる。ステップＳ６において、データベース２３は、ステップＳ５で符号化された平均値分離ブロックを登録する。図６の例では、階層２の平均値分離ブロックが登録される。
【００５２】
ステップＳ７でまだブロック分割が可能であると判定された場合、ステップＳ８において、ブマクロブロック分割部６６は、平均値分離ブロックを分割する。図６の例においては、階層２の平均値分離ブロックが、Ｋ×Ｋ画素のサブブロックに分割される。ステップＳ９において、平均値演算部６２は、サブブロックの平均値を演算する。図６の例においては、Ｋ×Ｋ画素のサブブロックの平均値が演算される。
【００５３】
その後、処理はステップＳ４に戻り、平均値分離ブロック演算部６３は、平均値分離ブロックを演算する。図６の例においては、階層３に示されるように、すぐ上の階層である階層２の平均値分離ブロックの各画素値から、ステップＳ９で演算された平均値が減算され、階層３の平均値分離ブロックとされる。
【００５４】
ステップＳ５において、ブロック符号化部６４は、平均値分離ブロックを符号化する。図６の例においては、階層３の平均値分離ブロックが符号化される。このときの符号化方式は、例えば階層１，２における場合と異なるベクトル量子化符号化方式とされる。ステップＳ６において、データベース２３は、ステップＳ５で符号化された平均値分離ブロックを登録する。図６の例では、階層３の平均値分離ブロックが登録される。
【００５５】
以上の処理が、ステップＳ７において、ブロック分割が可能ではないと判定されるまで繰り返される。ブロック分割が可能ではないと判定された場合、処理は終了される。
【００５６】
以上説明したように、この実施の形態においては、元の画像が階層的に符号化され、各階層の符号化データが登録される。
【００５７】
図８Ａ乃至図８Ｄは、階層０乃至階層３の各階層の画像の具体的例を表している。最上位の階層（階層０）の画像は、マクロブロックの平均値の画像となっており、画像全体についての特徴を表している。この画像のサイズはマクロブロックのサイズに反比例し、マクロブロックのサイズがＮ×Ｎ画素であるとすると、元の画像の１／（Ｎ×Ｎ）となる。
【００５８】
中間階層の画像は、スケーリングされたエッジの特徴を表す。階層が下がるごとに、より詳細なエッジの特長を多く含む画像となる。マクロブロックの分割方法によって、サムネイル画像より大きい複数のサイズの階層の画像を得ることができる。
【００５９】
最下位の階層の画像は、元の画像から平均値およびエッジの特徴を取り除いた、テクスチャの特徴を表す、元の画像と同じサイズの画像となる。
【００６０】
なお図８においては、各階層の画像が、元の画像と同じスケールの画像として示されている。
【００６１】
図９は、本実施の形態の符号化の原理を表している。すなわち、この実施の形態においては、元の画像が階層的に、各階層の画像が、それぞれの階層に適した符号化方式で符号化される。元の画像から得られた最上位の階層の画像は、画像の特徴を最もよく表す階層であるから符号化は行わず、サムネイル画像とされる。
【００６２】
中間の階層においては、エッジを効率的に表現する符号が用いられる。例えば、ＡＤＲＣ符号化方式、エッジ方向符号化方式などが用いられる。上位に近い階層ほど、復号時に１画素あたりの面積が大きくなることを考慮して情報量の割り当てを行う。
【００６３】
最下位の階層においては、テクスチャの特徴を表現する符号化方式が用いられる。例えば、ベクトル量子化方式や濃度共起行列符号化方式が用いられる。
【００６４】
なお、高い圧縮率が必要な場合には、上記符号に対して適当なエントロピー符号をかけて、より冗長度を削減することもできる。
【００６５】
このように、階層ごとの画像に応じた方式で符号化することで、より符号化効率を上げることができる。また、検索に適した符号化方式を採用することができ、迅速な検索が可能となる。
【００６６】
次に図１１と図１２のフローチャートを参照して検索処理を説明するが、この処理を行うため、比較部４２は図１０に示されるような機能的構成を有している。
【００６７】
すなわち、比較部４２は、距離演算部９１、記憶部９２、判定部９３、選択部９４、および設定部９５を有している。
【００６８】
距離演算部９１は、検索対象の画像と比較対象の画像の距離を演算する。記憶部９２は、演算された距離を記憶する。判定部９３は、各種の判定を行う。選択部９４は、所定の比較対象の画像を選択する。設定部９５は、変数を設定したり、比較対象の設定を行う。
【００６９】
次に図１１と図１２のフローチャートを参照して、情報検索装置１２が行う検索処理について説明する。データベース２４には、上述したようにして画像が各階層ごとに符号化され、保持されている。この検索処理は、ユーザにより指定されたデータベース２４に保持されている検索対象としての画像に類似する画像を、やはりデータベース２４に保持されている比較対象としての画像から検索する処理である。あるいは、まだ符号化されていない画像が検索のために入力された場合には、上述した場合と同様にして、符号化部２２でその画像を符号化した画像が検索対象とされる。
【００７０】
ステップＳ５１において、読み出し部４１はユーザの指示に基づいて、より上位の階層から順番に１つの検索対象を取得する。すなわち、検索対象としての画像が階層的に符号化され、保持されているので、そのうちの、いまの場合、最上位の階層の検索対象がデータベース２３から読み出される。この最上位の階層の画像は符号化されていない。
【００７１】
ステップＳ５２において、読み出し部４１は、ステップＳ５１で取得された階層と同じ階層の比較対象を１つ取得する。いまの場合、１つの比較対象の最上位の階層の画像が読み出される。比較対象とされる画像は、ユーザにより指定されたジャンル、登録日時などに基づき決定される範囲の画像としてもよいし、データベース２３に登録されている全ての範囲の画像とすることもできる。
【００７２】
ステップＳ５３において、比較部４２の距離演算部９１は、２つの対象の距離を演算する。すなわちステップＳ５１で取得された検索対象の画像と、ステップＳ５２で取得された比較対象の画像の距離が演算される。ステップＳ５４において、記憶部９２は演算された距離を記憶する。これは、後のステップＳ５６で、距離が最短の比較対象の画像を選択するためである。
【００７３】
ステップＳ５５において判定部９３は、同じ階層の全ての比較対象との距離を演算したかを判定する。いまの場合、全ての比較対象の階層０の画像と、検索対象の階層０の画像との距離が演算されたかが判定される。まだ演算していない比較対象が存在する場合、処理はステップＳ５２に戻り、同じ階層の他の１つの比較対象が取得される。
【００７４】
ステップＳ５３においてその新たな比較対象と検索対象の画像との距離が演算され、その距離がステップＳ５４で記憶される。同様の処理が、同じ階層の全ての比較対象との距離が演算されるまで繰り返される。
【００７５】
階層０の全ての比較対象との距離が演算された場合、ステップＳ５６において選択部９４は、距離の短い比較対象をＮ個選択する。Ｎの値は、ユーザが事前に設定した任意の値であり、ステップＳ５４の処理で記憶された距離の中から、短いほうから順番に、Ｎ個の画像が選択される。距離が短いとは、その画像が、それだけ検索対象の画像に類似する画像であること意味する。
【００７６】
ステップＳ５７において判定部９３は、選択対象の数は基準値以下かを判定する。この基準値はユーザが予め設定した値であり、ステップＳ５６の処理で選択された類似する画像の数がまだ大きい場合には、さらなる検索が実行される。
【００７７】
そのため、ステップＳ５８において設定部９５は、Ｎの値をそれまでの値の１／２に設定する。ステップＳ５９において設定部９５は、選択された対象を比較対象とする。すなわち、ステップＳ５６の処理で選択されたＮ個の画像が、以後の検索における比較対象の画像とされる。そして以後、ステップＳ５９乃至Ｓ６５において、その絞られた比較対象に対して、上述したステップＳ５１乃至Ｓ５６における場合と同様の処理が実行される。
【００７８】
すなわち、ステップＳ６０において読み出し部４１は、次に上位の階層から順番に１つの検索対象を取得する。すなわち、いまの場合、絞られた比較対象のうちの、階層０の次に上位の階層である階層１が選択され、階層１の検索対象がデータベース２３から読み出される。この階層の画像は符号化されている。
【００７９】
ステップＳ６１において、読み出し部４１は、ステップＳ６０で取得された階層と同じ階層１の比較対象を取得する。ステップＳ６２において、距離演算部９１は、２つの対象の距離を演算する。すなわちステップＳ６０で取得された検索対象の画像と、ステップＳ６１で取得された比較対象の画像の距離が演算される。ステップＳ６３において、記憶部９２は演算された距離を記憶する。
【００８０】
ステップＳ６４において判定部９３は、同じ階層の全ての比較対象との距離を演算したかを判定する。いまの場合、絞られた比較対象に関して、比較対象の階層１の全ての画像と、検索対象の同じ階層１の画像との距離が演算されたかが判定される。まだ演算していない比較対象が存在する場合、処理はステップＳ６１に戻り、絞られた比較対象のうちの同じ階層１の他の１つの比較対象が取得される。
【００８１】
ステップＳ６２において、ステップＳ６０で選択された検索対象の画像と、ステップＳ６１で選択された比較対象の画像との距離が演算され、その距離がステップＳ６３で記憶される。同様の処理が、同じ階層１の絞られた全ての比較対象との距離が演算されるまで繰り返される。
【００８２】
同じ階層１の絞られた全ての比較対象との距離が演算された場合、ステップＳ６５において選択部９４は、距離の短い比較対象をＮ個選択する。このＮの値は、ステップＳ５８において、ステップＳ５６における場合の１／２の値に設定されている。
【００８３】
ステップＳ６６において判定部９３は、選択対象の数は基準値以下かを判定する。ステップＳ６５の処理で選択された類似する画像の数がまだ大きい場合には、処理はステップＳ５８に戻り、Ｎの値がさらにそれまでの１／２の値に設定される。
【００８４】
以下、ステップＳ６６において、選択された比較対象の画像の数が基準値以下になったと判定されるまで、上述した場合と同様の処理が、階層２、階層３、・・・と順次下の階層に関して実行される。
【００８５】
その結果、図１３に示されるように、より上位の階層から下位の階層に向かって順番に、検索が行われ、選択される比較対象の画像の数は、Ｎ，Ｎ／２，Ｎ／４，Ｎ／８，・・・と、順次絞られていく。図１３の例では、最終的に最下位の階層のＭ個の比較対象の画像が検索対象の画像に類似する画像の候補として検索されている。しかし、その数が早く基準値以下になった場合には、中間の階層で絞込みの処理が完了することになる。
【００８６】
ステップＳ５７またはステップＳ６６において、選択対象の数が基準値以下になったと判定された場合、ステップＳ６７において、復号部４３は検索対象と比較対象を復号する。すなわち、検索対象の画像と、それに類似すると判断された基準値以下の数の比較対象の画像が復号される。もちろん階層０の画像は符号化されていないので、復号処理は不要である。元の画像は、復号した各階層の画像を元の画像と同じサイズに拡大し、全ての画素値を加算することで得ることができる。
【００８７】
ステップＳ６８において、出力部４４は検索対象と検索された比較対象を出力する。すなわち、ステップＳ６７で復号された検索対象と比較対象の画像が表示される。ユーザは、この表示を見て、最終的に検索対象に類似する画像を特定することができる。
【００８８】
ステップＳ５３，Ｓ６２において行われる画像の距離の演算についてさらに説明する。例えば、図１４に示されるように、最上位の階層０の画像はサムネイル画像とされ、符号化が行われておらず、次の階層１の画像はエッジ方向符号化が行われており、最下位の階層２の画像はベクトル量子化が行われているとする。画像間の距離は、符号のまま演算される。
【００８９】
階層０では画像は符号化されていないので、画像の距離は画素値の差分自乗和で表すことができる。
【００９０】
階層１では、エッジ方向符号化が行われている。例えば図１５に示されるように、画像のエッジがない場合を０、画像のエッジの方向が水平方向である場合に符号１を割り当て、２２．５度ずつ増加するごとに、２，３，４，５，６，７，８の各符号を割り当てるとする。この場合、エッジ方向符号化は、図１６に示されるように行われる。
【００９１】
図１６の画像１０１は、図８Ｃの階層２の画像を表している。この画像の符号化対象のブロック１０２は、画像１０１の右側に拡大して示されているように、水平右方向に伸びるエッジ、その右端から略階段状に右下４５度の方向に下がるエッジ、そしてその右端からほぼ垂直方向に下がるエッジを有している。このブロック１０２からエッジ検出フィルタにより支配的なエッジを抽出すると、ブロック１０３に示されるようにエッジが検出される。
【００９２】
すなわち、ブロック１０３を２×２個の小ブロックに区分すると、左上の小ブロックのエッジは水平方向のエッジであり、右上の小ブロックのエッジは右下４５度方向のエッジであり、右下の小ブロックのエッジは、垂直方向のエッジである。そして、左下の小ブロックにはエッジが存在しない。したがって、図１５に従ってブロック１０３を符号化すると、ブロック１０４に示されるように、左上の小ブロックは符号１、右上の小ブロックは符号３、左下の小ブロックの符号は０、右下の小ブロックは符号５で、それぞれ表されることになる。
【００９３】
エッジ符号の距離は、次のように演算される。図１７Ａに示されるように、エッジ方向によって１乃至８の符号が存在するので、基本的には、符号の差で距離を表す。しかし、符号の差が０乃至４までの場合、その値が大きいほど角度も大きくなるものの、差が５以上になると、その値が大きくなっても角度の差は小さくなる。例えば、符号７と符号１の差は６であるが、そのエッジ方向の角度は、差が２である符号３と符号１のエッジ方向の角度と同じとなる。
【００９４】
そこで、２つのエッジ方向の符号の差が、４以下である場合、その差の値によって距離を表すものとする。例えば図１７Ｂに示されるように、符号４と符号１のエッジ方向の距離は、３（＝４−１）となる。
【００９５】
しかし、差が５以上（５乃至７）になった場合、エッジ符号の距離は、次式で表すものとする。
ｎｏｔ（Ｄ1−Ｄ2）＋１＝〜（ｂ’Ｄ1−ｂ’Ｄ2）＋３ｂ’００１        （１）
【００９６】
なお、式（１）において、Ｄ1，Ｄ2は、エッジ符号の値を表す。〜は、Verilog-AMSのビット単位の否定の演算子であり、２ビット表現された値の論理１を論理０に、論理０を論理１に反転する演算を意味する。すなわち、式（１）は、値（Ｄ1−Ｄ2）の２の補数表現である。例えば、図１７Ｃに示されるように、符号７と符号１の距離は、次のように２となる。
ｎｏｔ（７−１）＋１＝〜（３ｂ’１１０）＋３ｂ’００１
＝３ｂ’００１＋３ｂ’００１＝３ｂ’０１０＝１’ｄ２    （２）
【００９７】
階層２においては、ベクトル量子化により求められた各画像のコードブック間の距離を用いることができる。コードブック間の距離は、代表ベクトルに対応するコードワードの距離の総和、あるいはコードワード間の距離の最小値の和で表すことができる。この場合、パターンの位置はまったく考慮されないため、全画面の印象や質感といった量を表していると考えることができる。
【００９８】
なお、距離を演算する場合には、画像の位置をシフトさせながら、各位置における距離を演算し、最小となる値を画像間の距離とすることができる。
【００９９】
画像を階層に分解して、階層ごとに符号化を行うことで、圧縮だけでなく、圧縮と検索の両方のための符号化をより効率的に行うことができる。また、圧縮時に階層ごとに行った符号をそのまま利用して検索を行うため、検索時に部分的に復号する処理が不要となり、迅速な検索が可能となる。
【０１００】
各階層は画像の特性を表しているから、比較の際に階層を選択する順序によって検索の結果が変化する。ユーザは検索の順番を指定して、構図を重視した検索やテクスチャを重視した検索を行うことができる。ユーザは、例えばアクティビティの高い順番に検索を行うように指示することができる。
【０１０１】
この場合、比較部４２は図１８に示される機能的構成を有する。同図に示されるように、比較部４２は、図１０における場合の距離演算部９１乃至設定部９５以外に、アクティビティ演算部１３１を有している。このアクティビティ演算部１３１は、各階層の画像のアクティビティを演算する。
【０１０２】
アクティビティの高い順番に検索を行う場合の処理は、図１９と図２０のフローチャートに示されるようになる。ステップＳ１０１において、アクティビティ演算部１３１は、各階層の検索対象のアクティビティを演算する。
【０１０３】
サムネイル画像のアクティビティは、例えば次式により表されるように、全画面に対する隣接画素の差分値の自乗和で演算される。次式において、Ｉは位置（ｘ，ｙ）の画素位置の集合を表し、Ｐ（ｘ，ｙ）は、位置（ｘ，ｙ）の画素値を表す。
【０１０４】
【数１】
0005056348.tif 000002
【０１０５】
エッジ方向符号のアクティビティも、上記式（３）で表されるように、全画面に対する隣接画素の差分値の自乗和で演算することができる。隣接画素の差分値が小さければ連続したエッジを意味し、大きければ不連続なエッジを意味することになる。
【０１０６】
ベクトル量子化画像においては、簡易的に、コードワードのアクティビティを画像のアクティビティとすることができる。Ｎ次のベクトルについて量子化を行い、コードブックの総数をＮとし、ｉ番目のコードワードベクトルをＣＷi、コードワードの次数をＭ、コードワードのｊ番目の要素をＣＷ（ｊ）で表すとすると、コードワードのアクティビティは次式で表される。
【０１０７】
【数２】
0005056348.tif 000003
【０１０８】
ステップＳ１０２において読み出し部４１は、より大きいアクティビティの階層から１つの検索対象を取得する。これにより、データベース２３に保持されている検索対象の画像の各階層の中から、ステップＳ１０１において演算されたアクティビティの値が最も大きい階層の画像が読み出される。
【０１０９】
ステップＳ１０３において読み出し部４１は、同じ階層の比較対象を１つ取得する。すなわち、ステップＳ１０２において読み出された検索対象の階層と同じ階層の比較対象の画像がデータベース２３から読み出される。ステップＳ１０４において距離演算部９１は、２つの対象の距離を演算する。
【０１１０】
以下、ステップＳ１０５乃至Ｓ１１０において、図１１のステップＳ５４乃至図１２のステップＳ５９における場合と同様の処理が行われる。すなわち、その階層の距離が短いＮ個の比較対象の画像が選択され、そのＮ個の対象が比較対象とされる。そして、次に選択する比較対象の数としての変数Ｎは、１／２に設定される。
【０１１１】
ステップＳ１１１において読み出し部４１は、より大きいアクティビティの階層の検索対象を取得する。いまの場合、ステップＳ１０２で読み出された階層の次に大きいアクティビティの階層の検索対象がデータベース２３から読み出される。
【０１１２】
ステップＳ１１２において読み出し部４１は、同じ階層の比較対象を１つ取得する。すなわち、ステップＳ１１０において読み出された検索対象の階層と同じ階層の比較対象の画像がデータベース２３から読み出される。ステップＳ１１３において距離演算部９１は、２つの対象の距離を演算する。
【０１１３】
以下、ステップＳ１１４乃至Ｓ１１７において、図１２のステップＳ６３乃至Ｓ６６における場合と同様の処理が行われる。すなわち、その階層の距離が短いＮ個の比較対象の画像が選択され、そのＮ個の対象が比較対象とされる。この場合の数Ｎは、前の階層の場合の数の１／２に設定されている。従って、階層が下位に移行するに伴って、比較対象の数は少なくなっていく。
【０１１４】
ステップＳ１０８またはステップＳ１１７において、選択対象の数が基準値以下になったと判定された場合、ステップＳ１１８において、復号部４３は検索対象と比較対象を復号する。すなわち、検索対象の画像と、それに類似すると判断された基準値以下の数の比較対象の画像が復号される。もちろん階層０の画像は符号化されていないので、復号処理は不要である。
【０１１５】
ステップＳ１１９において、出力部４４は検索対象と検索された比較対象を出力する。すなわち、ステップＳ１１８で復号された検索対象と比較対象の画像が表示される。ユーザは、この表示を見て、最終的に検索対象に類似する画像を特定することができる。
【０１１６】
このようにアクティビティの高い階層の画像から順番に検索を行うことで、例えば複雑な所望の画像をより迅速かつ確実に検索することができる。
【０１１７】
以上の図１１と図１２、並びに図１９と図２０の実施の形態においては、階層ごとに類似する画像の候補を絞り込むようにしたが、全階層の距離を総合的に判断して候補を決定することもできる。
【０１１８】
この場合、比較部４２は図２１に示されるように、図１０の距離演算部９１、記憶部９２、判定部９３、および選択部９４以外に、順位付け部１５１と点数計算部１５２を有している。設定部９５は省略されている。
【０１１９】
次に、図２２のフローチャートを参照して、この場合の検索処理について説明する。
【０１２０】
ステップＳ１５１において、読み出し部４１はユーザの指示に基づいて、より上位の階層から順番に１つの検索対象を取得する。いまの場合、最上位の階層の検索対象がデータベース２３から読み出される。
【０１２１】
ステップＳ１５２において、読み出し部４１は、ステップＳ１５１で取得された階層と同じ階層の比較対象を取得する。いまの場合、１つの比較対象の最上位の画像が読み出される。
【０１２２】
ステップＳ１５３において、比較部４２の距離演算部９１は、２つの対象の距離を演算する。すなわちステップＳ１５１で取得された検索対象の画像と、ステップＳ１５２で取得された比較対象の画像の距離が演算される。ステップＳ１５４において、記憶部９２は演算された距離を記憶する。
【０１２３】
ステップＳ１５５において判定部９３は、同じ階層の全ての比較対象との距離を演算したかを判定する。いまの場合、全ての比較対象の階層０の画像と、検索対象の階層０の画像との距離が演算されたかが判定される。まだ演算していない比較対象が存在する場合、処理はステップＳ１５２に戻り、同じ階層の他の１つの比較対象が取得される。
【０１２４】
ステップＳ１５３においてその新たな比較対象と検索対象の画像との距離が演算され、その距離がステップＳ１５４で記憶される。同様の処理が、同じ階層の全ての比較対象との距離が演算されるまで繰り返される。
【０１２５】
ステップＳ１５５において、同じ階層の全ての比較対象との距離が演算されたと判定された場合、ステップＳ１５６において順位付け部１５１は、距離の短い順番に比較対象に順位を付ける。ステップＳ１５７において点数計算部１５２は、Ｎ位までの比較対象に順位に応じて、例えば次のように点数を付ける。
【０１２６】
１位  １００
２位  ９０
３位  ８０
４位  ７０
・
・
・
【０１２７】
ステップＳ１５８において判定部９３は、全ての階層の比較対象の点数を演算したかを判定する。まだ点数を演算していない階層の比較対象が存在する場合、処理はステップＳ１５１に戻り、それ以降の処理が繰り返される。このようにして全ての階層の比較対象の画像に点数が付けられる。
【０１２８】
ステップＳ１５８において全ての階層の比較対象の点数が演算されたと判定された場合、ステップＳ１５９において点数計算部１５２は、各比較対象の各階層の点数を加算する。これにより、各比較対象に対して点数が対応付けられることになる。
【０１２９】
ステップＳ１６０において選択部９４は、ステップＳ１５９で演算された点数の大きい順番に必要な数の対象を選択する。点数が大きい比較画像は、それだけ検索対象の画像に類似する画像である。
【０１３０】
ステップＳ１６１において、復号部４３は検索対象と比較対象を復号する。すなわち、検索対象の画像と、ステップＳ１６０で選択された比較対象の画像が復号される。もちろん階層０の画像は符号化されていないので、復号処理は不要である。
【０１３１】
ステップＳ１６２において、出力部４４は検索対象と検索された比較対象を出力する。すなわち、ステップＳ１６１で復号された検索対象と比較対象の画像が表示される。ユーザは、この表示を見て、最終的に検索対象に類似する画像を特定することができる。
【０１３２】
図２２の処理によれば、このように、全ての階層の点数が演算されるので、検索漏れが発生するおそれが少なく、確実な検索が可能となる。
【０１３３】
階層の選択方法や候補の選択方法を組み合わせることができる。これにより、ユーザの使用目的に沿った検索が可能となる。
【０１３４】
以上においては、画像を検索するようにしたが、本発明は音声情報その他の情報を検索する場合にも適用することができる。
【０１３５】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１３６】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ(Compact Disc-Read Only Memory),ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるＲＯＭやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１３７】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３９】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１４０】
【図１】本発明の情報検索システムの構成を示すブロック図である。
【図２】情報検索装置の構成を示すブロック図である。
【図３】符号化部の機能的構成を示すブロック図である。
【図４】符号化処理を説明するフローチャートである。
【図５】マクロブロックを説明する図である。
【図６】階層化を説明する図である。
【図７】マクロブロックの分割を説明する図である。
【図８】階層化した画像を説明する図である。
【図９】階層ごとの符号化を説明する図である。
【図１０】比較部の機能的構成を示すブロック図である。
【図１１】検索処理を説明するフローチャートである。
【図１２】検索処理を説明するフローチャートである。
【図１３】階層ごとの絞込みを説明する図である。
【図１４】階層ごとの符号を説明する図である。
【図１５】エッジ方向符号を説明する図である。
【図１６】エッジ方向符号による符号化を説明する図である。
【図１７】エッジ方向符号による距離を説明する図である。
【図１８】比較部の機能的構成を示すブロック図である。
【図１９】検索処理を説明するフローチャートである。
【図２０】検索処理を説明するフローチャートである。
【図２１】比較部の機能的構成を示すブロック図である。
【図２２】検索処理を説明するフローチャートである。
【符号の説明】
【０１４１】
１  情報検索システム，  １１  情報符号化装置，  １２  情報検索装置，  ２１  入力部，  ２２  符号化部，  ２３  データベース，  ２４  検索部，  ４１  読み出し部，  ４２  比較部，  ４３  復号部，  ４４  出力部，  ６１  画像分割部，  ６２  平均値演算部，  ６３  平均値分離ブロック演算部，  ６４  ブロック符号化部，  ６５  判定部，  ６６マクロブロック分割部，  ９１  距離演算部，  ９２  記憶部，  ９３  判定部，  ９４  選択部，  ９５  設定部，  １３１  アクティビティ演算部，  １５１  順位付け部，  １５２  点数計算部
【図１】
0005056348.tif 000004
【図２】
0005056348.tif 000005
【図３】
0005056348.tif 000006
【図４】
0005056348.tif 000007
【図５】
0005056348.tif 000008
【図６】
0005056348.tif 000009
【図７】
0005056348.tif 000010
【図８】
0005056348.tif 000011
【図９】
0005056348.tif 000012
【図１０】
0005056348.tif 000013
【図１１】
0005056348.tif 000014
【図１２】
0005056348.tif 000015
【図１３】
0005056348.tif 000016
【図１４】
0005056348.tif 000017
【図１５】
0005056348.tif 000018
【図１６】
0005056348.tif 000019
【図１７】
0005056348.tif 000020
【図１８】
0005056348.tif 000021
【図１９】
0005056348.tif 000022
【図２０】
0005056348.tif 000023
【図２１】
0005056348.tif 000024
【図２２】
0005056348.tif 000025