(57)【特許請求の範囲】
【請求項１】
多次元空間における第１の曲線上に前記複数の画像のそれぞれをマッピングするステップ；
多次元空間における第２の曲線上に前記複数の画像のそれぞれをマッピングするステップ；
前記第１の曲線のトラバースに基づいて前記複数の画像の第１の線形化を決定するステップ；
前記第２の曲線のトラバースに基づいて前記複数の画像の第２の線形化を決定するステップ；
前記第１の線形化および前記第２の線形化に基づいて前記複数の画像を提供するステップ；
を含むことを特徴とする複数の画像を提供する方法。
【発明の詳細な説明】
【０００１】
本件特許書類の一部は、著作権に係る資料を含んでいる。著作権者は、特許商標庁の特許書類あるいは記録として現れる場合であれば、特許の開示の第三者による複製を拒絶する理由を持たないが、それ以外は、いかなる場合であってもすべての権利を留保する。
【０００２】
（発明の背景）
１．発明の分野
ここに説明する発明は、データ・マネジメントの分野に関する。特に本発明は、画像のカテゴリ分類および表示に関する。
【０００３】
２．関連技術の説明
ブラウジングは、ユーザが、そのニーズに関係したコンテンツであるか否かを決定するために用いる、情報を迅速に調べるためのテクニックである。ブラウジングは、ユーザに、コンテンツを調べる上での迅速にアクセスでき、かつユーザがさらに関心を有するセクションを絞り込める必要がある。通常は、複数の画像が表示される。ユーザは、希望する画像が見つかるまで画像をスクロールすることができる。
【０００４】
しかしながら、画像の属性に基づいて画像の特徴を決定し、ソーティングすることは困難である。特定の複数の画像を１つの属性によって密に関連づけられたとしても、それが別の属性によって密に関連づけられるとは限らない。それに加えて、データ構造内に多くの画像が含まれる場合には、当該データ構造内に画像を配置するための時間、あるいはデータ構造から画像を取り出すための時間が、ユーザの忍耐を超えるほどの長さになることもあり得る。
【０００５】
（発明の要約）
第１の線形化および第２の線形化の両方に基づいた画像を表示する方法を開示する。一実施態様においては、これらの線形化が、２つの空間詰め曲線(Space-filling curve)をトラバースすることによって実行される。別の実施態様においては、線形化がクラスタ・データ構造をトラバースすることによって実行される。３つ以上の線形化を表示してもよい。
【０００６】
（好ましい実施態様の説明）
大量の画像に対する良好なスケーリングが得られる画像の特徴を決定する方法を説明する。本開示までは、画像をカテゴリに分類するできる属性が多かったので、効率よく画像をカテゴリに分類することおよび表示を行うことは困難であった。本発明は、多重線形化を基礎にした画像の表示を提供する。ただし、この出願における「線形化」は、単なる点の集まりの順序づけという意味を越えて、それらの位置をストアし、もしくは少なくともそれらの位置の間の相対的な距離のストアを示すものとする。
【０００７】
ここに示す方法はスケーラブルであり、そのためその画像の集まりが比較的小さいか（たとえば数百の画像）あるいは比較的大きいか（たとえば５０，０００画像以上）によらず、画像の集まりの一部のカテゴリ分類ならびに表示に要する時間に大きな変動を生じることはない。
【０００８】
ここでは画像を線形化するための効果的な方法を２つ説明する：すなわち、空間詰め曲線(Space-filling curve)方法、およびクラスタリング方法である。しかしながら、これ以外の方法を使用して画像を線形化することも可能である。
【０００９】
（空間詰め曲線(Space filling curve)）
画像は、その画像の各種属性によって、あるいはその成分によってカテゴリ分類することができる。たとえば画像を、カラー情報、形状情報、サイズ情報、テクスチャ情報、または表現されている対象によって、あるいはその画像のその他のコンテンツに基づいて細分し、カテゴリ分類することができる。また、画像自体の一部ではないが、各画像に関連づけられた情報であるタグ情報によってカテゴリ分類することも考えられる。タグ情報は、注釈情報、オーディオ情報、タイムスタンプ情報、グローバル位置情報（ＧＰＳ）等を含むこともある。
【００１０】
一実施形態においては、６００個の異なるカラー・ビンを使用して画像のヒストグラムを生成する。このヒストグラムは、使用されている６００色のカラーのそれぞれに対応するピクセルの数を含む。
【００１１】
一実施形態においては、ヒストグラムのそれぞれの成分を使用して画像をＮ次元空間内の座標にマップする。この例においてＮは６００である。たとえば、画像Ｉは、Ｎ次元空間における座標：
＜属性１，属性２，属性３，．．．，属性Ｎ＞
にマップされ、これにおいては、属性１を１番目のカラーに対応するピクセルの数、属性２を２番目のカラーに対応するピクセルの数とする形が用いられ、それに従って以降の各成分も決定される。
【００１２】
複数の画像をＮ次元空間にマップすることもできる。Ｎ次元空間において互いに近接して配置される画像は、それらの属性が互いに近接した関係にある。これに対して、Ｎ次元空間において遠く離れて配置される画像は、それらの属性があまり近接した関係にない。
【００１３】
Ｎ次元空間に画像の集まりをマップするために使用されている１つの方法は、任意の直線にすべての画像をマップすることである。画像がマップされた直線上の位置は、その画像の線形化を示す。しかしながらこの線形化は、類似の属性を有する画像の関係を保存しない。これは、Ｎ次元空間を１次元の直線にマップするために、Ｎ次元空間において画像がどの程度近接した関係にあったかということについての情報が維持されないことによる。
【００１４】
本発明の一実施形態は、類似した画像の関係の維持を補助するために、空間詰め曲線を使用して画像の線形化を行う。空間詰め曲線は、ｋ次元空間におけるすべての点を通る連続したパスである。空間詰め曲線は、多次元空間における点を線形化する方法を提供する。
【００１５】
空間詰め曲線については長年にわたって研究されており、より最近ではコンピュータ科学者の注目を集めている。たとえば、Ｃ．Ｆａｌｏｕｔｓｏｓ（Ｃ．ファロウツオス）およびＳ．Ｒｏｓｅｍａｎ（Ｓ．ローズマン）による「Ｆｒａｃｔａｌｓ  ｆｏｒ  Ｓｅｃｏｎｄａｒｙ  Ｋｅｙ  Ｒｅｔｒｉｅｖａｌ（２次キー検索に関するフラクタル）」（Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＣＳ-ＴＲ-２２４２，Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｍａｒｙｌａｎｄ  Ｉｎｓｔｉｔｕｔｅ  ｆｏｒ  Ａｄｖａｎｃｅｄ  Ｃｏｍｐｕｔｅｒ  Ｓｔｕｄｉｅｓ（メリーランド大学先進コンピュータ研究所テクニカル・レポートＣＳ-ＴＲ-２２４２）１９８９年５月）に空間詰め曲線の使用例を見ることができる。空間詰め曲線には、ヒルベルト曲線、ペアノ曲線、シェルピンスキー曲線、ルベーグ曲線、シェーンベルグ曲線を含めて、各種のタイプが存在する。空間詰め曲線の詳細については、Ｈａｎｓ  Ｓａｇａｎ（ハンス・サガン）による「Ｓｐａｃｅ-Ｆｉｌｌｉｎｇ  Ｃｕｒｖｅｓ（空間詰め曲線）」（Ｓｐｒｉｎｇｅｒ-Ｖｅｒｌａｇ（スプリンガー・ファラーク，１９９４年刊）を参照されたい。
【００１６】
図７に、１次、２次、３次、および４次の２次元ヒルベルト曲線を示す。より高次のヒルベルト曲線を導くときには、頂点０および頂点３において、この曲線を回転し、折り返せばよい。この曲線は、曲線の各頂点において同一の回転および折り返しをたどることによって、再帰的に成長を継続させることができる。
【００１７】
図８は、１次、２次、および３次の２次元ペアノ曲線を示している。より高次のペアノ曲線を導くときには、基本の曲線の各頂点を、それより低次の曲線により置き換える。この分野においては周知のように、ヒルベルト曲線およびペアノ曲線は、多次元に拡張することができる。
【００１８】
空間詰め曲線は、空間詰め曲線上において互いに近接する点が多次元空間においても互いに近接するという特性を有している。しかしながらその逆は真ではない：すなわち、多次元空間において互いに近接する点は、必ずしも空間詰め曲線において互いに近接しない。
【００１９】
図２に、２次元および３次元の空間詰め曲線の例を示す。この場合に使用している曲線は、Ｎ次元ヒルベルト曲線である。多次元空間において互いに近接している２つの点１０および１１は、多次元空間の２つのセクションを分けるパーティション境界の近くに存在する。この曲線を、図２の下側に示すようにトラバースすると、空間において近接していたこれらの点が、線形化においては遠く離れた点にマップされてしまう。これは、ヒルベルト曲線およびペアノ曲線のパーティション境界において、近接した点に生じる、それを原因とした望ましくない離隔である。
【００２０】
図３は、多次元空間において互いに近接した画像を提供する信頼性を向上するために第２の曲線が使用される例を示している。一実施形態においては、ヒルベルト曲線を補うためにペアノ曲線が使用される。これらのヒルベルト曲線およびペアノ曲線は、望ましくない結果を生じる可能性のあるパーティション境界が、それぞれ異なるところで現れるように構成されている。空間的に近接している点２０および２１は、図３に示されるように、ヒルベルト曲線またはペアノ曲線のいずれかにおいては、互いに近接する可能性が高くなる。
【００２１】
表１に、Ｎ次元空間内の点をヒルベルト曲線の１次元トラバース上の点およびペアノ曲線の１次元トラバース上の点にマップするＣ言語により記述したコンピュータ・プログラムの例を示す。一実施形態においてこのコードは、Ｎ次元空間における点を０と１の間の区間にマップする。このプログラムの出力は、解析されたそれぞれの画像ごとの、０と１の間の数を識別するピット・パターンとなる。別の画像を０と１の間の別のビット・パターンにマップするときには、ヒルベルト曲線に基づいた第１の線形化およびペアノ曲線に基づいた第２の線形化を用いてデータベースをセットアップする。
【００２２】
一実施形態においては、簡略化のため、パーティション境界にマップされる画像がパーティション境界の真上とならないようにわずかに調整している。これは、曲線が複数回にわたってパーティション境界上の点にヒットすることがあり得るためである。ヒルベルト曲線におけるパーティション境界は、Ｎ次元空間の、＿、＿、１／８、１／１６等の倍数となる点である。ペアノ曲線においては、パーティション境界がＮ次元空間の、１／３、１／９、１／２７等の倍数の点となる。
【００２３】
0004298172.tif 000002
0004298172.tif 000003
0004298172.tif 000004
0004298172.tif 000005
0004298172.tif 000006
0004298172.tif 000007
0004298172.tif 000008
0004298172.tif 000009
0004298172.tif 000010
0004298172.tif 000011
0004298172.tif 000012
【００２４】
図１に、各画像に対して２重線形化を生成するプロセスを示した一実施形態のフローチャートを示す。ステップ１０１においては、画像ＩｊのヒストグラムＨ（Ｉｊ）が生成される。一実施形態においてこのヒストグラムは、カラー情報を使用することによって実現される。それ以外の特徴情報、たとえば形状およびサイズ等を実装することも可能であり、またそれを、ヒストグラムまたはそのほかの特徴表現において行うことも可能である。
【００２５】
基本的に、ベクトル（空間における点）として表現することができる画像のコンテンツが使用されることになる。互いに「近接している（近い）」点は、特定の種類のコンテンツにおいて類似している。画像の集まりを点の集まりに変換した後の残りのプロセスはどれも同じになる：すなわち、２つの曲線に沿って「空間」をトラバースし、データ構造を出力する。
【００２６】
ステップ１０２においては、ｋ個の属性のヒストグラムがｋ次元の空間内の点ｐ（ｊ）にマップされるが、このｋは正の整数である。ステップ１０３においては、ｐ（ｊ）の位置が、ｋ−空間のヒルベルト・トラバースの形で計算される。一実施形態の場合は、ｐ（ｊ）の位置を、ｋ−空間のヒルベルト・トラバースにおける区間［０，１］に沿って計算する。ステップ１０４で、ｐ（ｊ）の位置が、ｋ−空間のペアノ・トラバースにおける区間［０，１］に沿って計算される。ステップ１０５においては、ヒルベルト曲線およびペアノ曲線のトラバースから得られた値に基づいて、ｐ（ｊ）にもっとも近接する４つの近傍が特定される。これらのリンクは、画像の位置に従って更新される。
【００２７】
一実施形態においては、リンクされたデータ構造が、各画像を線形化するとき、そのストアに使用される。たとえば、ヒルベルト曲線のトラバースに基づいた線形化によって、第１のリンクされた構造内に新しい画像を配置する。この新しい画像は、それにもっとも近い近傍、つまり線形化において新しい画像にもっとも近接する画像にリンクされる。さらにこの新しい画像は、同様の態様でペアノ曲線のトラバースに基づいた線形化によって第２のリンクされた構造内に配置される。
【００２８】
すべての画像をデータ構造に追加完了した後は、第１の集まりのリンクをたどり、ヒルベルトのトラバースに基づいた線形化をトラバースすることができる。また、第２の集まりのリンクをたどり、ペアノのトラバースに基づいた線形化をトラバースすることも可能である。別の実施形態として、これら以外の方法に基づいた線形化を使用することも考えられる。さらに、３つ以上の線形化を使用してもよい。
【００２９】
ここに説明したデータ構造を使用する１つの利点として、画像をデータ構造に追加するごとに、あるいはそこから削除するごとに、その完全な再計算を行う必要がないことが挙げられる。その代りとして、画像の追加または削除を行うごとに、いくつかのリンクの修正だけが必要になる。このデータ構造の第２の利点は、データに依存しないことであり、その結果、単純なリスト併合を多少超える程度で既存のデータベースを合成することができる。
【００３０】
（クラスタリング）
クラスタリングは、画像の線形化を実施する別の方法である。クラスタは、ツリー様構造を使用する画像のグループ化である。クラスタの特性は、類似の画像が同時に同じデータ構造内に配置されることがまれではないようになっている。クラスタの巧妙なトラバースに基づいた線形化を実行することによって、線形化において類似の画像が互いに隣接して配置される可能性が高くなる。
【００３１】
クラスタを線形化する１つの方法は、第１の画像のグループ全体を追加した後に、クラスタをトラバースして画像の別のグループを追加する。たとえば、第１の画像のグループがすべて同時にクラスタに追加されるとすれば、第１のグループと異なる時点でクラスタに追加された画像のグループ上に移動する前に、これらの画像のリンクが行われる必要がある。
【００３２】
別の実施形態においては、ターゲット画像の属性がクラスタの全グループの属性と比較される。属性においてもっとも近接しているグループが最初に線形化される。残りのグループは、属性におけるそれらの類似性に基づいて追加される。ターゲット画像とクラスタ内のグループ全体の比較には、重心またはグループ全体の平均的な特性を表した項目を使用することができる。
【００３３】
線形化を行う別の方法は、順序立った態様でクラスタのトラバースを行う方法である。たとえば、第１の線形化においては、まず右側のすべてのブランチをトラバースし、次に左側のブランチをトラバースする。第２の線形化においては、左側のすべてのブランチをトラバースする。それに代えて、第１の線形化において右側と左側のブランチを交互にたどり、第２の線形化においてその逆を行うという態様も考えられる。
【００３４】
別の実施形態においては、クラスタの第１のトラバースを行うことによって複数の線形化を生成することが可能であり、この第１のトラバースにおいては、１つのセクションの各画像を線形化する第１のランダム・トラバースを行った後、別のセクションに移動する。その後、同じクラスタに対して異なるランダム・トラバースを行うことによって、クラスタ全体の第２のトラバースを行う。
【００３５】
（多重線形化の表示）
図４は、２重線形化に基づいたブラウザの例を示している。このインプリメンテーションにおいては、合計で５３の画像が同時に表示される。注目しているカレント画像、つまりターゲット画像は、表示の中心に置かれる。左右に隣接している画像は、第１の線形化においてもっとも近接していた近傍４２ａである。上下に隣接している画像は、第２の線形化においてもっとも近接していた近傍４２ｂである。
【００３６】
もっとも近接した近傍は、線形化においてターゲット画像にもっとも近かった画像である。空間詰め曲線の場合、もっとも近接する近傍が、線形化における位置に関してターゲット画像に対応する点にもっとも近接する点に対応する。一実施形態においては、第１の線形化をヒルベルト曲線に基づくものとし、第２の線形化をペアノ曲線に基づくものとすることができる。第２の実施形態においては、第１の線形化がクラスタ・データ構造の第１のトラバースを基礎とし、第２の線形化が同じクラスタ・データ構造の第２のトラバースを基礎とする。
【００３７】
一実施形態において、もっとも近い近傍の画像を表示する規則が残りすべての画像に対しても再帰的に適用される。それに加えて一実施形態においては、画像が中心から、つまりターゲット画像から離れるほどそのサイズを小さくして、画像が中心から離れるに従って非類似性が高くなることを表す。図３を参照すると、ターゲット画像と２番目に近い近傍４３は、もっとも近い近傍４２ａおよび４２ｂより小さい。ターゲット画像と３番目に近い近傍４４は、２番目に近い近傍４３よりさらに小さくなっている。
【００３８】
図５は、３重線形化に基づいたブラウザの例を示している。一実施形態においては、画像の上下が、第１の線形化に基づいてもっとも近接しているとされた近傍の画像となる。残りのうち２つ画像は第２の線形化に基づいてもっとも近接しているとされた近傍の画像に対応し、最後の２つ画像は第３の線形化に基づいてもっとも近接しているとされた近傍の画像に対応する。さらに別の実施形態において、線形化をさらに追加すことも可能であり、また異なる方法に基づく線形化を混合することも可能である。
【００３９】
図６は、ミドルウェア・サーバと通信を行い、ウェブ・ページを構築してエンド−ユーザに提供するＳＱＬサーバ上に実装されたシステムの例を示している。ＳＱＬサーバは、多重線形化のデータ構造を維持している。このウェブ・サーバによって、表示された画像の任意の１つからターゲット画像を容易に選択することが可能になる。画像の１つが選択されると、それがターゲット画像となり、それに応じてもっとも近い近傍画像および２番目に近い近傍画像が更新される。
【００４０】
以上のように、画像ブラウジングのための多重線形化を使用するシステムおよびその方法を開示してきた。ただし、ここに説明した具体的な装置および方法は、本発明の原理を単に例示するものに過ぎない。説明を行った本発明の範囲から逸脱することなく、形式および詳細において多くの変形も可能であろう。本発明は、特定の実施形態との関連から説明されているが、それを限定と解釈すべきではない。むしろ説明されている発明は、付随する特許請求の範囲によってのみ限定される。
【００４１】
図１に示した方法のステップは、プログラム・モジュールに系統化されたインストラクションを実行するコンピュータ・プロセッサによって、あるいはカスタム設計の状態マシンによって実行することができる。コンピュータ・プログラム・インストラクションを実体として具体化するために適したストレージ・デバイスには、限定する意図ではないが、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・デバイス等の半導体メモリ・デバイス；磁気ディスク（ハードディスク、フロッピーディスク、およびリムーバブル）；テープ等のその他の磁気メディア；およびＣＤ-ＲＯＭディスク等の光メディアを含めたあらゆる形式の不揮発性メモリが包含される。さらに、ここに説明した方法は、ディスクリート・ロジックからなるプリント回路ボード、集積回路、あるいは特別に設計された特定用途向け集積回路（ＡＳＩＣ）等のハードウエア・デバイスにおいて具体化することもできる。
【図面の簡単な説明】
【図１】  各画像に関して２重線形化を生成するプロセスを示した一実施形態のフローチャートである。
【図２】  空間詰め曲線の一例を示している。
【図３】  第２の曲線を使用して、多次元空間において互いに近接した画像を提供する上での信頼性を向上させた実施形態を示している。
【図４】  ２重線形化に基づいたブラウザの例を示している。
【図５】  ３重線形化に基づいたブラウザの例を示している。
【図６】  ミドルウェア・サーバと通信を行い、ウェブ・ページを構築してエンド−ユーザに提供するＳＱＬサーバに実装されたシステムの例を示している。
【図７】  １次、２次、および３次の２次元ヒルベルト曲線を示している。
【図８】  １次、２次、および３次の２次元ペアノ曲線を示している。
【図１】
0004298172.tif 000013
【図２】
0004298172.tif 000014
【図３】
0004298172.tif 000015
【図４】
0004298172.tif 000016
【図５】
0004298172.tif 000017
【図６】
0004298172.tif 000018
【図７】
0004298172.tif 000019
【図８】
0004298172.tif 000020