JP7180769B2 - データ管理装置、制御方法、及び記憶媒体 - Google Patents
データ管理装置、制御方法、及び記憶媒体 Download PDFInfo
- Publication number
- JP7180769B2 JP7180769B2 JP2021522164A JP2021522164A JP7180769B2 JP 7180769 B2 JP7180769 B2 JP 7180769B2 JP 2021522164 A JP2021522164 A JP 2021522164A JP 2021522164 A JP2021522164 A JP 2021522164A JP 7180769 B2 JP7180769 B2 JP 7180769B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- data set
- tree
- structured
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は木構造データの管理に関する。
データを管理するためのデータ構造の1つに、木構造データがある。例えば木構造のデータは、データベースにおけるインデックスツリーなどとして利用されている。例えば特許文献1は、要素として特徴量データを扱い、特徴量データの類似度に基づいて各要素の配置が決定される類似度木が開示されている。
本発明者は、木構造データの要素として集合を扱う際に、木構造データに対する要素の挿入に工夫が必要であることを見出した。本発明はこの課題に鑑みてなされたものであり、その目的の一つは、集合を要素とする木構造データにおいて、適切に要素を挿入する技術を提供することである。
本発明のデータ管理装置は、データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能である。
当該データ管理装置は、1)データ集合に挿入すべきデータを取得し、取得したデータを第1記憶領域又は第2記憶領域に既に格納されているデータ集合に挿入するか、又は新たなデータ集合を第2記憶領域に生成してそのデータ集合に取得したデータを挿入するデータ挿入部と、2)第2記憶領域に格納されているデータ集合について所定の条件が満たされたら、第2記憶領域に格納されているデータ集合の1つ以上を木構造データに挿入する集合挿入部と、を有する。
当該データ管理装置は、1)データ集合に挿入すべきデータを取得し、取得したデータを第1記憶領域又は第2記憶領域に既に格納されているデータ集合に挿入するか、又は新たなデータ集合を第2記憶領域に生成してそのデータ集合に取得したデータを挿入するデータ挿入部と、2)第2記憶領域に格納されているデータ集合について所定の条件が満たされたら、第2記憶領域に格納されているデータ集合の1つ以上を木構造データに挿入する集合挿入部と、を有する。
本発明の制御方法は、コンピュータによって実行される。前記コンピュータは、データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能である。
当該制御方法は、1)データ集合に挿入すべきデータを取得し、取得したデータを第1記憶領域又は第2記憶領域に既に格納されているデータ集合に挿入するか、又は新たなデータ集合を第2記憶領域に生成してそのデータ集合に取得したデータを挿入するデータ挿入ステップと、2)第2記憶領域に格納されているデータ集合について所定の条件が満たされたら、第2記憶領域に格納されているデータ集合の1つ以上を木構造データに挿入する集合挿入ステップと、を有する。
当該制御方法は、1)データ集合に挿入すべきデータを取得し、取得したデータを第1記憶領域又は第2記憶領域に既に格納されているデータ集合に挿入するか、又は新たなデータ集合を第2記憶領域に生成してそのデータ集合に取得したデータを挿入するデータ挿入ステップと、2)第2記憶領域に格納されているデータ集合について所定の条件が満たされたら、第2記憶領域に格納されているデータ集合の1つ以上を木構造データに挿入する集合挿入ステップと、を有する。
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、集合を要素とする木構造データにおいて、適切に要素を挿入する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
[実施形態1]
<概要>
図1は、本実施形態のデータ管理装置2000の概要を説明するための図である。なお、図1は、データ管理装置2000に対する理解を容易にするための例示であり、データ管理装置2000の機能は図1に表されているものに限定されない。
<概要>
図1は、本実施形態のデータ管理装置2000の概要を説明するための図である。なお、図1は、データ管理装置2000に対する理解を容易にするための例示であり、データ管理装置2000の機能は図1に表されているものに限定されない。
データ管理装置2000は、木構造のデータである木構造データ10の管理を行う。例えばデータ管理装置2000は、木構造データ10に対するデータの挿入を行う。木構造データ10は、複数のノード12で木構造を成している。例えば木構造データ10は、国際公開第2014/109127号に開示されている類似度木の構造を持つ。
木構造データ10は、ノードとして、データ集合20を有する。データ集合20は、1つ以上のデータ40を含む集合である。データ40としては、任意の種類のデータを採用することができる。例えばデータ40として、動画フレームから抽出された人物等の物体の画像特徴(画像上の特徴量)を採用することができる。1つのデータ集合20には、互いに類似するデータ40が含まれるようにすることが好適である。例えばデータ40として物体の画像特徴を用いるとする。この場合、1つのデータ集合20には、同一物体から得られた複数の画像特徴が集まるようにする。
木構造データ10は、第1記憶領域50に記憶されている。第1記憶領域50は、任意の記憶装置の一部又は全部の記憶領域である。また、複数の記憶装置で第1記憶領域50を構成してもよい。さらに、木構造データ10を構成しないデータ集合20を格納する別の記憶領域として、第2記憶領域60も用意されている。第2記憶領域60も、第1記憶領域50と同様に、任意の記憶装置の一部又は全部の記憶領域である。また、複数の記憶装置で第2記憶領域60を構成してもよい。第1記憶領域50と第2記憶領域60には、同一の記憶装置が用いられてもよいし、互いに異なる記憶装置が用いられてもよい。
データ管理装置2000は、管理すべき新たなデータ40を取得したら、既存のデータ集合20のいずれか1つにデータ40を挿入するか、又は新たなデータ集合20を第2記憶領域60に生成して、その第2記憶領域60にデータ40を挿入する。さらに、データ管理装置2000は、第2記憶領域60に格納されているデータ集合20について所定の条件が満たされたら、第2記憶領域60に格納されているデータ集合20のうちのいずれか1つ以上を木構造データ10に挿入する。木構造データ10に挿入されることにより、データ集合20は、第2記憶領域60ではなく第1記憶領域50に格納されることになる。以下、上述した所定の条件を、挿入条件と呼ぶ。
<代表的な作用効果>
木構造のデータに対して要素(データ40に相当)を挿入する場合、その要素の性質に応じて木構造内での適切な位置が決定され、その位置にその要素が挿入される。また、必要に応じ、木構造の再構築が行われる。
木構造のデータに対して要素(データ40に相当)を挿入する場合、その要素の性質に応じて木構造内での適切な位置が決定され、その位置にその要素が挿入される。また、必要に応じ、木構造の再構築が行われる。
しかしながら、要素としてデータ集合を扱う場合、データ集合が生成された直後では、そのデータ集合の適切な位置を決定することが難しい。なぜなら、データ集合内にデータが少なかったり、そのデータ集合が頻繁に更新される間は、そのデータ集合の性質(例えば、データ集合に含まれるデータの平均や分散など)が、新たに挿入されるデータの影響を受けて大きく変化する可能性があるためである。そして、データ集合を適切な位置に挿入できないと、その後のデータの検索などのパフォーマンスが低下してしまう恐れがある。
本実施形態のデータ管理装置2000によれば、挿入条件(第2記憶領域60に格納されているデータ集合20についての所定の条件)が満たされたことに応じて、データ集合20が木構造データ10に挿入される。言い換えれば、データ集合20は、生成されてすぐに木構造データ10に挿入されるのではなく、一旦第2記憶領域60に格納される。よって、データ集合20の性質がある程度固まったら満たされるような適切な挿入条件を設定することで、木構造データ10における位置を適切に決定できるようになった後に、データ集合20が木構造データ10に挿入されるようになる。よって、データの集合を要素として扱う木構造データにおいて、要素を適切な位置に挿入できるようになる。その結果、例えば、木構造データ10を利用したデータの検索のパフォーマンスを向上させることができる。
以下、本実施形態についてさらに詳細を述べる。
<機能構成の例>
図2は、実施形態1のデータ管理装置2000の機能構成を例示する図である。データ管理装置2000は、第1記憶領域50及び第2記憶領域60に対してアクセス可能である。また、データ管理装置2000は、データ挿入部2020及び集合挿入部2040を有する。データ挿入部2020は、データ40を取得する。また、データ挿入部2020は、1)第1記憶領域50又は第2記憶領域60に既に格納されているデータ集合20に対してデータ40を挿入するか、又は2)新たなデータ集合20を第2記憶領域60に生成し、そのデータ集合20に対してデータ40を挿入する。集合挿入部2040は、挿入条件が満たされたら、第2記憶領域60に格納されているデータ集合20の1つ以上を木構造データ10に挿入する。
図2は、実施形態1のデータ管理装置2000の機能構成を例示する図である。データ管理装置2000は、第1記憶領域50及び第2記憶領域60に対してアクセス可能である。また、データ管理装置2000は、データ挿入部2020及び集合挿入部2040を有する。データ挿入部2020は、データ40を取得する。また、データ挿入部2020は、1)第1記憶領域50又は第2記憶領域60に既に格納されているデータ集合20に対してデータ40を挿入するか、又は2)新たなデータ集合20を第2記憶領域60に生成し、そのデータ集合20に対してデータ40を挿入する。集合挿入部2040は、挿入条件が満たされたら、第2記憶領域60に格納されているデータ集合20の1つ以上を木構造データ10に挿入する。
<データ管理装置2000のハードウエア構成の例>
データ管理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、データ管理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
データ管理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、データ管理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図3は、データ管理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は任意の計算機である。例えば計算機1000は、サーバマシンや PC(Personal Computer)などといった据え置き型の計算機である。その他にも例えば、計算機1000は、スマートフォンやタブレット端末などの可搬型の計算機であってもよい。
計算機1000は、データ管理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。計算機1000が汎用の計算機である場合、計算機1000に対して所定のプログラムをインストールすることにより、計算機1000がデータ管理装置2000として機能するようにすることが好適である。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
ネットワークインタフェース1120は、計算機1000をネットワークに接続するためのインタフェースである。ネットワークインタフェース1120がネットワークに接続する方法は、無線接続であってもよいし、有線接続であってもよい。
計算機1000は、ネットワークインタフェース1120を介して、第1記憶領域50及び第2記憶領域60と接続されている。ただし、計算機1000を第1記憶領域50や第2記憶領域60と接続する方法は、ネットワークインタフェース1120を介した方法に限定されない。例えば第1記憶領域50や第2記憶領域60は、入出力インタフェース1100を介して、計算機1000と接続されてもよい。また、第1記憶領域50や第2記憶領域60は、計算機1000の内部(例えばストレージデバイス1080の内部)に設けられてもよい。
ストレージデバイス1080は、データ管理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
<処理の流れ>
図4は、実施形態1のデータ管理装置2000によって実行される処理の流れを例示するフローチャートである。データ挿入部2020は、データ40を取得する(S102)。データ挿入部2020は、既に第1記憶領域50又は第2記憶領域60に格納されているデータ集合20の中に、データ40を挿入すべきデータ集合20が存在するか否かを判定する(S104)。データ40を挿入すべきデータ集合20が存在する場合(S104:YES)、データ挿入部2020は、そのデータ集合20に対してデータ40を挿入する(S106)。一方、データ40を挿入すべきデータ集合20が存在しない場合(S104:YES)、データ挿入部2020は、新たなデータ集合20を第2記憶領域60に生成し、そのデータ集合20の中にデータ40を挿入する(S108)。
図4は、実施形態1のデータ管理装置2000によって実行される処理の流れを例示するフローチャートである。データ挿入部2020は、データ40を取得する(S102)。データ挿入部2020は、既に第1記憶領域50又は第2記憶領域60に格納されているデータ集合20の中に、データ40を挿入すべきデータ集合20が存在するか否かを判定する(S104)。データ40を挿入すべきデータ集合20が存在する場合(S104:YES)、データ挿入部2020は、そのデータ集合20に対してデータ40を挿入する(S106)。一方、データ40を挿入すべきデータ集合20が存在しない場合(S104:YES)、データ挿入部2020は、新たなデータ集合20を第2記憶領域60に生成し、そのデータ集合20の中にデータ40を挿入する(S108)。
集合挿入部2040は、挿入条件が満たされているか否かを判定する(S110)。挿入条件が満たされていない場合(S110:NO)、図4の処理は終了する。一方、挿入条件が満たされている場合(S110:YES)、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20のうちのいずれか1つ以上を、木構造データ10に挿入する(S112)。
<利用シーンの例>
図5は、データ管理装置2000のより具体的な利用シーンを例示する図である。この例では、動画データから検出される物体の画像特徴を示す情報が、データ40として扱われる。以下、さらに具体的に説明する。
図5は、データ管理装置2000のより具体的な利用シーンを例示する図である。この例では、動画データから検出される物体の画像特徴を示す情報が、データ40として扱われる。以下、さらに具体的に説明する。
解析装置120は、カメラ110によって生成された動画データ112を取得し、動画データ112を構成する各動画フレーム114について画像解析を行う。より具体的には、解析装置120は、動画フレーム114から物体を検出し、その物体についての情報である検出情報を生成する。例えば検出情報は、検出時刻(動画フレームの生成時刻)、動画フレーム114上の物体の位置、及び物体の画像特徴を含む情報である。検出情報は、動画フレーム114から検出される各物体について生成される。
解析装置120は、検出情報をデータ管理装置2000に送信する。データ管理装置2000(データ挿入部2020)は、この検出情報をデータ40として取得する。データ管理装置2000では、同一の物体についてのデータ40が同一のデータ集合20に含まれるように、データ40の管理を行う。なお、データ管理装置2000がデータ40として取得する検出情報は、特定の種類の物体(例えば人間)についてのものに限定されてもよい。
データ管理装置2000は、互いに類似する複数のデータ40が同一のデータ集合20に含まれるように、データ40を管理する。ここで、前述した検出情報をデータ40として扱う場合、データ40同士の類似度を、検出情報が示す画像特徴に基づいて算出するようにする。こうすることで、動画データ112から抽出された物体に関する情報である検出情報を、画像特徴が互いに類似するものが同一のデータ集合20に含まれるように管理することができる。すなわち、同一人物について得られる複数の画像特徴を、同一のデータ集合20に集めて管理することができる。
このようにデータを管理することで、例えば、画像特徴を含む検索クエリによる検索で、その画像特徴を持つ人物を、データ管理装置2000によって管理されているデータから見つけることが可能となる。データの検索についての詳細は後述する。
<データ40の取得:S102>
データ挿入部2020は、データ集合20に挿入すべきデータ40を取得する(S102)。ここで、データ40を取得する方法は様々である。例えば前述した利用シーンで例示したように、データ挿入部2020は、他の装置から送信されたデータ40を受信することで、データ40を取得する。その他にも例えば、データ挿入部2020は、第1記憶領域50と第2記憶領域60以外の記憶領域にアクセスすることで、その記憶領域に記憶されているデータ40を取得する。例えば前述した利用シーンでは、解析装置120及びデータ管理装置2000で共有される記憶装置を設けておき、解析装置120が検出情報をその記憶装置に格納するようにする。そして、データ挿入部2020は、この記憶装置に格納されている検出情報をデータ40として取得する。その他にも例えば、データ挿入部2020は、ユーザによって入力されたデータ40を取得してもよい。
データ挿入部2020は、データ集合20に挿入すべきデータ40を取得する(S102)。ここで、データ40を取得する方法は様々である。例えば前述した利用シーンで例示したように、データ挿入部2020は、他の装置から送信されたデータ40を受信することで、データ40を取得する。その他にも例えば、データ挿入部2020は、第1記憶領域50と第2記憶領域60以外の記憶領域にアクセスすることで、その記憶領域に記憶されているデータ40を取得する。例えば前述した利用シーンでは、解析装置120及びデータ管理装置2000で共有される記憶装置を設けておき、解析装置120が検出情報をその記憶装置に格納するようにする。そして、データ挿入部2020は、この記憶装置に格納されている検出情報をデータ40として取得する。その他にも例えば、データ挿入部2020は、ユーザによって入力されたデータ40を取得してもよい。
<データ40を挿入すべきデータ集合20が存在するか否かの判定:S104>
データ挿入部2020は、取得したデータ40を挿入すべきデータ集合20が存在するか否かを判定する(S104)。この判定には、様々な基準を利用することができる。
データ挿入部2020は、取得したデータ40を挿入すべきデータ集合20が存在するか否かを判定する(S104)。この判定には、様々な基準を利用することができる。
例えば予め、既存のデータ集合20について、そのデータ集合20の代表データを算出しておく。例えばデータ集合20の代表データは、そのデータ集合20に含まれるデータの統計値(平均値など)である。なお、データ40がベクトルデータである場合、代表データもベクトルデータ(例えば、平均ベクトル)となる。
データ挿入部2020は、既存のデータ集合20の中から、データ40とその代表データとの類似度が所定の閾値以上であるものを特定する。データ間の類似度には、例えば、データ間のノルムが小さいほど大きくなる値(例えば、ノルムの逆数)を利用することができる。なお、このノルムには、任意の種類のノルム(L1 ノルムや L2 ノルムなど)を採用することができる。
データ挿入部2020は、既存のデータ集合20の中に、データ40との類似度が所定の閾値以上であるものが存在する場合、そのデータ集合20を、データ40を挿入すべきデータ集合20として特定する。一方、既存のデータ集合20の中に、データ40との類似度が所定の閾値以上であるものが存在しない場合、データ挿入部2020は、データ40を挿入すべきデータ集合20が存在しないと判定する。
なお、データ40との類似度が所定の閾値以上であるものの探索は、木構造データ10から優先して行うことが好適である。木構造のデータであるため、探索を高速に行うことができるためである。なお、木構造データ10の探索には、その木構造データ10の種類に応じて予め定められているアルゴリズムに従って行うことができる。以下、例として、類似度木の探索について説明する。
図6、類似度木として実現される木構造データ10を例示する図である。図6においては、木構造データ10は、3階層の類似度木である。上から順に、第1層、第2層、及び第3層と呼ぶ。第3層には、木構造データ10に挿入されている全てのデータ集合20が配置されている。第2層には、その直下にある複数のデータ集合20のうちの1つが配置されている。同様に、第3層には、その直下にある複数のデータ集合20のうちの1つが配置されている。
ここで、第1層には、互いの類似度が低いデータ集合20が配置されている。これに対し、第2層では、互いの類似度が中程度である複数のデータ集合20が、同一のデータ集合20の直下に配置されている。さらに、第3層では、互いの類似度が高い複数のデータ集合20が、同一のデータ集合20の直下に配置されている。
まずデータ挿入部2020は、第1層のデータ集合20の中から、データ40との類似度が最も高い代表データを示すデータ集合20を特定する。さらにデータ挿入部2020は、特定したデータ集合20の直下にある第2層のデータ集合20の中から、データ40との類似度が最も高い代表データを示すデータ集合20を特定する。さらに、データ挿入部2020は、特定したデータ集合20の直下にある第3層のデータ集合20の中から、データ40との類似度が最も高いデータ集合20を特定する。このような順にデータ40とデータ集合20との比較を行うことにより、データ40との類似度が最大であるデータ集合20を、階層の深さと等しい回数の比較(この例では3回)で特定することができる。
最終的に特定されたデータ集合20とデータ40との類似度が所定の閾値以上である場合、データ挿入部2020は、そのデータ集合20を、データ40を挿入すべきデータ集合20として特定する。一方、最終的に特定されたデータ集合20とデータ40との類似度が所定の閾値未満である場合、データ挿入部2020は、データ40を挿入すべきデータ集合20が木構造データ10の中に存在しないと判定する。
データ40を挿入すべきデータ集合20が木構造データ10の中に存在しないと判定されたら、データ挿入部2020は、第2記憶領域60に格納されている各データ集合20の代表データとデータ40との比較を行う。第2記憶領域60の中に、データ40との類似度が所定の閾値以上であるデータ集合20が存在したら、データ挿入部2020は、そのデータ集合20を、データ40を挿入すべきデータ集合20として特定する。一方、第2記憶領域60の中に、データ40との類似度が所定の閾値以上であるデータ集合20が存在しなかったら、データ挿入部2020は、第2記憶領域60の中に、データ40を挿入すべきデータ集合20が存在しないと判定する。この場合、第1記憶領域50にも第2記憶領域60にも、データ40を挿入すべきデータ集合20が存在しないこととなる。
<既存のデータ集合20に対するデータ40の挿入:S106>
データ40を挿入すべきデータ集合20が存在する場合(S104:YES)、データ挿入部2020は、データ40をそのデータ集合20に対して挿入する(S106)。なお、データの集合に対して新たなデータを挿入する技術には、既存の技術を利用することができる。
データ40を挿入すべきデータ集合20が存在する場合(S104:YES)、データ挿入部2020は、データ40をそのデータ集合20に対して挿入する(S106)。なお、データの集合に対して新たなデータを挿入する技術には、既存の技術を利用することができる。
ここで、データ40が木構造データ10に挿入された場合において、木構造データ10の再構築(構造の変更)が必要となることがありうる。例えば、木構造データ10における各データ集合20の位置を、データ集合20の代表データに基づいて決める場合、データ40が挿入されたデータ集合20についての代表データが変化することにより、各データ集合20の適切な配置が変化しうる。
このような場合、データ管理装置2000は、木構造データ10の再構築を行ってもよいし、行わなくてもよい。なお、木構造データに対して要素が追加されたことに応じて木構造の再構築を行う技術には、既存の技術を利用することができる。
<新たなデータ集合20の生成及びデータ40の挿入:S108>
データ40を挿入すべきデータ集合20が存在しない場合(S104:NO)、データ挿入部2020は、新たなデータ集合20を第2記憶領域60に生成し、生成したデータ集合20にデータ40を挿入する(S108)。ここで、新たなデータ集合を特定の記憶領域に生成し、そのデータ集合にデータを挿入する技術には、既存の技術を利用することができる。
データ40を挿入すべきデータ集合20が存在しない場合(S104:NO)、データ挿入部2020は、新たなデータ集合20を第2記憶領域60に生成し、生成したデータ集合20にデータ40を挿入する(S108)。ここで、新たなデータ集合を特定の記憶領域に生成し、そのデータ集合にデータを挿入する技術には、既存の技術を利用することができる。
<挿入条件についての判定:S110、S112>
集合挿入部2040は、挿入条件が満たされているか否かを判定する(S110)。挿入条件が満たされている場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20のうちの1つ以上を、木構造データ10に挿入する(S112)。すなわち、挿入条件は、木構造データ10の外で管理していたデータ集合20を木構造データ10に加える契機となる条件である。
集合挿入部2040は、挿入条件が満たされているか否かを判定する(S110)。挿入条件が満たされている場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20のうちの1つ以上を、木構造データ10に挿入する(S112)。すなわち、挿入条件は、木構造データ10の外で管理していたデータ集合20を木構造データ10に加える契機となる条件である。
ここで、データ挿入部2020によってデータ40が挿入されたデータ集合20が、木構造データ10に含まれているデータ集合20であったとする。この場合、第2記憶領域60に格納されているデータ集合20には変化がない。そのため、挿入条件が満たされることはないと考えられる。そこで、データ挿入部2020によってデータ40が挿入されたデータ集合20が、木構造データ10に含まれているデータ集合20であった場合、データ挿入部2020は、挿入条件が満たされたか否かの判定を行わなくてもよい(S110を実行せずに、図4のフローチャートの処理を終了してもよい)。
挿入条件には、様々な条件を採用しうる。例えば挿入条件は、第2記憶領域60に格納されている或るデータ集合20について、そのデータ集合20のサイズが閾値以上であるという条件である。また、データ集合20のサイズの代わりに、データ集合20に含まれるデータの個数を利用してもよい。閾値は、集合挿入部2040からアクセス可能な記憶装置に予め記憶させておく。
この挿入条件が満たされた場合、集合挿入部2040は、サイズ又はデータの個数が閾値以上となったデータ集合20を木構造データ10に挿入する。なお、データ40を挿入することでサイズや個数が変化するデータ集合20は、データ挿入部2020によってデータ40が挿入されたデータ集合20である。そのため、上記挿入条件を採用する場合、集合挿入部2040は、データ挿入部2020によってデータ40が挿入されたデータ集合20について、サイズやデータの個数を閾値と比較し、閾値以上となっていたら、そのデータ集合20を木構造データ10に挿入する。
その他にも例えば、挿入条件は、第2記憶領域60に格納されている或るデータ集合20において、その中に含まれるデータ40の分散が所定の閾値以下であるという条件である。この挿入条件を採用する場合、集合挿入部2040は、データ40の分散が所定の閾値以下となったデータ集合20を、木構造データ10に挿入する。なお、データ40を挿入することでデータ40の分散が変化するデータ集合20は、データ挿入部2020によってデータ40が挿入されたデータ集合20である。そのため、この挿入条件を採用する場合も、集合挿入部2040は、データ挿入部2020によってデータ40が挿入されたデータ集合20について、その中に含まれるデータ40の分散を算出し、算出した分散が閾値以下となっていたら、そのデータ集合20を木構造データ10に挿入する。
ただし、データ集合20の中に含まれるデータ40が少ない場合、データ集合20の中に含まれるデータ40の分散は、新たに挿入されるデータ40の影響を受けて値が変化しやすい。そこで、「データ集合20の中に含まれるデータ40の分散が所定の閾値以下である」という条件と、「データ集合20の個数が閾値以上である」という条件の双方を満たすことを、挿入条件としてもよい。例えば集合挿入部2040は、データ40が挿入されたデータ集合20について、まず、そのデータ集合20の中に含まれるデータ40の個数が閾値以上であるか否かを判定する。データ集合20の個数が閾値以上であると判定されたら、さらに集合挿入部2040は、そのデータ集合20に含まれるデータ40の分散が閾値以下であるか否かを判定する。そして、データ集合20に含まれるデータ40の分散が閾値以下であると判定されたら、集合挿入部2040は、そのデータ集合20を木構造データ10に挿入する。
その他にも例えば、挿入条件には、第2記憶領域60に格納されているデータ集合20の個数が閾値以上となることや、第2記憶領域60に格納されているデータ集合20の合計サイズが閾値以上となることを採用できる。これらの挿入条件を採用する場合、集合挿入部2040は、選択ルールに基づき、第2記憶領域60に格納されているデータ集合20の中から、木構造データ10に挿入するデータ集合20を1つ以上選択する。選択ルールとは、木構造データ10に挿入するデータ集合20を選択する基準となるルールである。
ここで、木構造データ10に挿入されるデータ集合20は、その性質が今後変化する蓋然性が低いものであることが好ましい。なぜなら、木構造データ10におけるデータ集合20の挿入位置はそのデータ集合20の性質(例えば、代表データやデータの分散など)によって決まるため、その性質が今後変化してしまうと、木構造データ10におけるそのデータ集合20の位置が、適切な位置でなくなってしまう蓋然性が高くなるからである。言い換えれば、データ集合20の性質が今後変化する蓋然性が低ければ、現在のデータ集合20の性質に基づいて定まるデータ集合20の挿入位置が、今後もそのデータ集合20について適切な位置であり続ける蓋然性が高いと言える。なお、木構造データの再構築を行うことは可能であるが、再構築の頻度を低くして計算コストを抑えることが好適であるため、挿入位置の適切さは重要であるといえる。
その性質が今後変化する蓋然性が低いデータ集合20の選択を実現する選択ルールとしては、例えば、以下のルールが挙げられる。
(1)データ40の個数が多い順で所定の順位以内であるデータ集合20を選択
(2)サイズが大きい順で所定の順位以内であるデータ集合20を選択
(3)生成された時点が早い順で所定の順位以内であるデータ集合20を選択
(4)最終更新時点が早い順で所定の順位以内であるデータ集合20を選択
(5)データ40の分散の大きさが小さい順で所定の順位以内であるデータ集合20を選択
(6)複数の指標を利用して算出したスコアが大きい順で所定の順位以内であるデータ集合20を選択
(1)データ40の個数が多い順で所定の順位以内であるデータ集合20を選択
(2)サイズが大きい順で所定の順位以内であるデータ集合20を選択
(3)生成された時点が早い順で所定の順位以内であるデータ集合20を選択
(4)最終更新時点が早い順で所定の順位以内であるデータ集合20を選択
(5)データ40の分散の大きさが小さい順で所定の順位以内であるデータ集合20を選択
(6)複数の指標を利用して算出したスコアが大きい順で所定の順位以内であるデータ集合20を選択
以下、上記6つの例それぞれについて説明する。
<<(1)について>>
集合挿入部2040は、データ40の個数が多い順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、データ40の個数が最大であるデータ集合20、及びその次にデータ40の個数が多いデータ集合20を選択する。
集合挿入部2040は、データ40の個数が多い順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、データ40の個数が最大であるデータ集合20、及びその次にデータ40の個数が多いデータ集合20を選択する。
ここで、データ集合20に含まれるデータ40の個数が多いほど、それらのデータ40によってデータ集合20の性質が十分に表されている確率が高いと言える。よって、データ40の個数が多いデータ集合20を優先的に木構造データ10に挿入することにより、データ集合20を木構造データ10内の適切な位置に挿入することができる。
<<(2)について>>
集合挿入部2040は、サイズが大きい順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、サイズ(データ集合20に含まれる各データ40のサイズ)の合計が最大であるデータ集合20、及びその次にデータ40の合計サイズが大きいデータ集合20を選択する。
集合挿入部2040は、サイズが大きい順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、サイズ(データ集合20に含まれる各データ40のサイズ)の合計が最大であるデータ集合20、及びその次にデータ40の合計サイズが大きいデータ集合20を選択する。
ここで、データ集合20に含まれるデータ40のサイズが大きいほど、それらのデータ40によってデータ集合20の性質が十分に表されている確率が高いと言える。よって、データ40の合計サイズが大きいデータ集合20を優先的に木構造データ10に挿入することにより、データ集合20を木構造データ10内の適切な位置に挿入することができる。
<<(3)について>>
集合挿入部2040は、生成された時点が早い順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、生成された時点が最も早い(生成されてからの経過時間が最も長い)データ集合20、及びその次に生成時点が早いデータ集合20を選択する。
集合挿入部2040は、生成された時点が早い順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、生成された時点が最も早い(生成されてからの経過時間が最も長い)データ集合20、及びその次に生成時点が早いデータ集合20を選択する。
ここで、データ集合20が生成されてからの経過時間が短いほど、新たなデータ40がデータ集合20に挿入されることにより、データ集合20の性質が変化していく確率が高いと考えられる。言い換えれば、データ集合20が生成されてからの経過時間が長いほど、新たなデータ40の挿入によってデータ集合20の性質が変化していく確率が低いと考えられる。よって、生成されてからの経過時間が長いデータ集合20を優先的に木構造データ10に挿入することにより、データ集合20を木構造データ10内の適切な位置に挿入することができる。
<<(4)について>>
集合挿入部2040は、最終更新時点(新たなデータ40が挿入された時点)が早い順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、更新された時点が最も早い(最後に更新されてからの経過時間が最も長い)データ集合20、及びその次に更新時点が早いデータ集合20を選択する。
集合挿入部2040は、最終更新時点(新たなデータ40が挿入された時点)が早い順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、更新された時点が最も早い(最後に更新されてからの経過時間が最も長い)データ集合20、及びその次に更新時点が早いデータ集合20を選択する。
ここで、更新されてからの経過時間が長いデータ集合20ほど、その後に更新される確率が低いと考えられる。そのため、更新されてからの経過時間が長いデータ集合20ほど、その後にデータ集合20の性質が変化する確率が低い。よって、更新されてからの経過時間が長いデータ集合20を優先的に木構造データ10に挿入することにより、データ集合20を木構造データ10内の適切な位置に挿入することができる。
<<(5)について>>
集合挿入部2040は、その中に含まれるデータ40の分散の大きさが小さい順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、データ40の分散が最小のデータ集合20、及びその次にデータ40の分散が小さいデータ集合20を選択する。
集合挿入部2040は、その中に含まれるデータ40の分散の大きさが小さい順で所定の順位以内であるデータ集合20を選択する。例えば所定の順位が2であるとする。この場合、集合挿入部2040は、第2記憶領域60に格納されているデータ集合20の中から、データ40の分散が最小のデータ集合20、及びその次にデータ40の分散が小さいデータ集合20を選択する。
ただし前述したように、データ集合20の中に含まれるデータ40の個数が少ない場合、データ集合20に含まれるデータ40の分散は、新たに挿入されるデータ40の影響を受けて変化しやすい。すなわち、その中に含まれるデータ40の個数が少ないデータ集合20は、データ40の分散が小さくても、その性質が安定していない可能性がある。
そこで例えば、集合挿入部2040は、データ集合20の中から、その中に含まれるデータ40の数が閾値以上であるものを抽出し、抽出したデータ集合20のみを対象として、データ40の分散を考慮したデータ集合20の選択を行ってもよい。すなわち、まず集合挿入部2040は、データ集合20の中から、その中に含まれるデータ40の数が閾値以上であるものを抽出する。次に、集合挿入部2040は、抽出したデータ集合20の中から、その中に含まれるデータ40の分散の大きさが小さい順で所定の順位以内であるデータ集合20を選択する。
<<(6)について>>
その他にも例えば、集合挿入部2040は、これまでに挙げた「データ40の個数」、「サイズ」、「生成された時点」、「最終更新時点」、及び「データ40の分散」などといった複数の指標を利用して各データ集合20のスコアを算出し、算出したスコアが大きい順で所定の順位以内であるデータ集合20を選択してもよい。例えば集合挿入部2040は、上述した5つの指標を利用して、以下に示すスコアを算出する。
ここで、i はデータ集合20の識別子である。xi1、xi2、xi3、xi4、及び xi5 はそれぞれ、識別子が i であるデータ集合20におけるデータ40の個数、サイズ、生成された時点、最終更新時点、及びデータ40の分散である。f1(xi1) は、データ40の個数 xi1 についての単調非減少関数である。f2(xi2) は、サイズ xi2 についての単調非減少関数である。f3(xi3) は、生成された時点 xi3 についての単調非増加関数である。f4(xi4) は、最終更新時点 xi4 についての単調非増加関数である。f5(xi5) は、データ40の分散 xi5 についての単調非増加関数である。
その他にも例えば、集合挿入部2040は、これまでに挙げた「データ40の個数」、「サイズ」、「生成された時点」、「最終更新時点」、及び「データ40の分散」などといった複数の指標を利用して各データ集合20のスコアを算出し、算出したスコアが大きい順で所定の順位以内であるデータ集合20を選択してもよい。例えば集合挿入部2040は、上述した5つの指標を利用して、以下に示すスコアを算出する。
<木構造データ10に対するデータ集合20の挿入:S112>
集合挿入部2040は、第2記憶領域60に格納されているデータ集合20のうちのいずれか1つ以上を、木構造データ10に挿入する。ここで、木構造のデータに対して要素となるデータ(木構造データ10ではデータ集合20)を挿入する技術には、既存の技術を利用することができる。以下、類似度木として実現されている木構造データ10に対してデータ集合20を挿入するケースについて例示する。
集合挿入部2040は、第2記憶領域60に格納されているデータ集合20のうちのいずれか1つ以上を、木構造データ10に挿入する。ここで、木構造のデータに対して要素となるデータ(木構造データ10ではデータ集合20)を挿入する技術には、既存の技術を利用することができる。以下、類似度木として実現されている木構造データ10に対してデータ集合20を挿入するケースについて例示する。
例えば木構造データ10が、前述した図6に示した構造を持つ類似度木であるとする。この場合、集合挿入部2040は、第1層の各データ集合20の中から、挿入対象のデータ集合20の代表データとの類似度が最大である代表データを持つデータ集合20を特定する。さらに集合挿入部2040は、特定したデータ集合20の直下にある第2層のデータ集合20の中から、挿入対象のデータ集合20の代表データとの類似度が最大である代表データを持つデータ集合20を特定する。そして、集合挿入部2040は、特定したデータ集合20の直下に、挿入対象のデータ集合20を挿入する。
なお、木構造データ10に対して挿入したデータ集合20は、第2記憶領域60から削除することが好適である。ただし、木構造データ10に対して挿入した直後にデータ集合20を削除する代わりに、その後の適切なタイミングでデータ集合20を削除してもよい。例えば、第2記憶領域60に新たなデータ集合20を生成する際に、削除すべきデータ集合20を新たなデータ集合20で上書きすることにより、データ集合20の削除を行うようにする。
<管理されているデータの活用方法>
データ管理装置2000によって管理されているデータの活用方法について例示する。例えば、データ管理装置2000は、データ集合20を示す検索クエリを取得し、第1記憶領域50及び第2記憶領域60に含まれるデータ集合20の中から、検索クエリに示されるデータ集合20と性質が近い(類似度が所定の閾値以上である)データ集合20を特定して出力する。これにより、データ管理装置2000によって管理されているデータ集合20の中から、検索クエリが示すデータ集合20と性質が近いものを容易に探すことができる。
データ管理装置2000によって管理されているデータの活用方法について例示する。例えば、データ管理装置2000は、データ集合20を示す検索クエリを取得し、第1記憶領域50及び第2記憶領域60に含まれるデータ集合20の中から、検索クエリに示されるデータ集合20と性質が近い(類似度が所定の閾値以上である)データ集合20を特定して出力する。これにより、データ管理装置2000によって管理されているデータ集合20の中から、検索クエリが示すデータ集合20と性質が近いものを容易に探すことができる。
検索クエリの処理は、例えば次のようにして行われる。まずデータ管理装置2000は、検索クエリに示されるデータ集合20で、木構造データ10を検索する。木構造データ10の中に、検索クエリに示されるデータ集合20との類似度が所定の閾値以上のものがあれば、そのデータ集合20が、検索クエリに該当するデータ集合20(検索クエリに示されるデータ集合20と性質が近いデータ集合20)として特定される。一方、木構造データ10の中に、検索クエリに示されるデータ集合20との類似度が所定の閾値以上のものがなければ、データ管理装置2000は、第2記憶領域60を検索する。
第2記憶領域60の中に、検索クエリに示されるデータ集合20との類似度が所定の閾値以上のものがあれば、そのデータ集合20が、検索クエリに該当するデータ集合20として特定される。一方、第2記憶領域60の中に、検索クエリに示されるデータ集合20との類似度が所定の閾値以上のものがなければ、検索クエリに該当するデータ集合20はないと判定される。
検索の結果としてデータ管理装置2000が出力する情報は任意である。例えば、データ管理装置2000は、検索クエリに該当するデータ集合20を出力する。その他にも例えば、予め各データ集合20に対して何らかの識別情報が割り当てられている場合、データ管理装置2000は、検索クエリに該当するデータ集合20の識別情報を出力してもよい。
例えば、データ集合20の中に、同一人物の画像特徴が含まれているとする。この場合、データ集合20に含まれる画像特徴を用いて人物の認証を行い、認証された人物の識別情報(名前や識別番号など)をデータ集合20に割り当てておく。データ管理装置2000は、検索クエリに対する出力として、この識別情報を返すようにする。これにより、検索対象のデータ集合20がどの人物の画像特徴を表しているのかを容易に把握することができる。
検索クエリは、人手で入力されるものであってもよいし、他の装置から入力されるものであってもよい。ここで、或るデータ集合20について検索が行われるタイミング(そのデータ集合20を示す検索クエリが発行されるタイミング)は任意である。例えば、そのタイミングは、検索対象のデータ集合20が生成されたとき(映像を解析することで同一人物の画像特徴の集合が得られたときなど)、検索対象のデータ集合20にデータ40が挿入されたとき、検索対象のデータ集合20が完成したとき(例えば、そのデータ集合20に一定時間データ40が挿入されていないと判定されたとき)、検索対象のデータ集合20の要素数が所定数に達したとき、又は検索対象のデータ集合20に含まれるデータ40同士の類似度の分散が所定値以下となったときなどである。また、上記各タイミングにおいてデータ管理装置2000の処理負荷が高い場合(CPU などの計算機資源の使用率が閾値以上である場合)、データ管理装置2000の処理負荷が低くなるまで(計算機資源の使用率が閾値未満となるまで)検索のタイミングをずらしてもよい。
ここで、前述した検索と同様の方法で、データ管理装置2000に対してデータ集合20を挿入する機能を実現してもよい。具体的には、データ管理装置2000は、挿入対象のデータ集合20を取得する。データ管理装置2000は、木構造データ10又は第2記憶領域60の中に、挿入対象のデータ集合20との類似度が所定の閾値以上のものがあれば、そのデータ集合20と挿入対象のデータ集合20とをマージする。これにより、データ40を1つ1つ挿入するだけでなく、データ40の集合であるデータ集合20を一度に挿入することができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能であり、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入部と、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入部と、を有するデータ管理装置。
2. 前記データ挿入部は、
前記取得したデータを挿入すべきデータ集合が存在するか否かを判定し、
前記取得したデータを挿入すべきデータ集合が存在する場合、前記取得したデータをそのデータ集合に挿入し、
前記取得したデータを挿入すべきデータ集合が存在しない場合、前記第2記憶領域に新たなデータ集合を生成し、前記生成したデータ集合に前記取得したデータを挿入する、1.に記載のデータ管理装置。
3. 1つの前記データ集合に格納される複数のデータは、それぞれ異なる画像から抽出された同一人物の画像特徴である、1.又は2.に記載のデータ管理装置。
4. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合に含まれるデータの個数又は合計サイズが閾値以上となることであり、
前記集合挿入部は、データの個数又は合計サイズが閾値以上となった前記データ集合を前記木構造データに挿入する、1.乃至3に記載のデータ管理装置。
5. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合の個数又は合計サイズが閾値以上となることであり、
前記集合挿入部は、前記所定の条件が満たされたら、選択ルールに基づいて、前記第2記憶領域に格納されている複数の前記データ集合のうちのいずれか1つ以上を選択し、選択した前記データ集合を前記木構造データに挿入する、1.乃至3に記載のデータ管理装置。
6. 前記選択ルールは、
データの個数の多い順で所定の順位以内である前記データ集合を選択する、
サイズの大きい順で所定の順位以内である前記データ集合を選択する、
生成された時点が早い順で所定の順位以内である前記データ集合を選択する、
最終更新時点が早い順で所定の順位以内である前記データ集合を選択する、又は
データの分散の大きさが小さい順で所定の順位以内である前記データ集合を選択する、
というルールである、5.に記載のデータ管理装置。
7. コンピュータによって実行される制御方法であって、
前記コンピュータは、データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能であり、
当該制御方法は、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入ステップと、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入ステップと、を有する制御方法。
8. 前記データ挿入ステップにおいて、
前記取得したデータを挿入すべきデータ集合が存在するか否かを判定し、
前記取得したデータを挿入すべきデータ集合が存在する場合、前記取得したデータをそのデータ集合に挿入し、
前記取得したデータを挿入すべきデータ集合が存在しない場合、前記第2記憶領域に新たなデータ集合を生成し、前記生成したデータ集合に前記取得したデータを挿入する、7.に記載の制御方法。
9. 1つの前記データ集合に格納される複数のデータは、それぞれ異なる画像から抽出された同一人物の画像特徴である、7.又は8.に記載の制御方法。
10. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合に含まれるデータの個数又は合計サイズが閾値以上となることであり、
前記集合挿入ステップにおいて、データの個数又は合計サイズが閾値以上となった前記データ集合を前記木構造データに挿入する、7.乃至9に記載の制御方法。
11. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合の個数又は合計サイズが閾値以上となることであり、
前記集合挿入ステップにおいて、前記所定の条件が満たされたら、選択ルールに基づいて、前記第2記憶領域に格納されている複数の前記データ集合のうちのいずれか1つ以上を選択し、選択した前記データ集合を前記木構造データに挿入する、7.乃至9に記載の制御方法。
12. 前記選択ルールは、
データの個数の多い順で所定の順位以内である前記データ集合を選択する、
サイズの大きい順で所定の順位以内である前記データ集合を選択する、
生成された時点が早い順で所定の順位以内である前記データ集合を選択する、
最終更新時点が早い順で所定の順位以内である前記データ集合を選択する、又は
データの分散の大きさが小さい順で所定の順位以内である前記データ集合を選択する、
というルールである、11.に記載の制御方法。
13. 7.乃至12.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
1. データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能であり、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入部と、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入部と、を有するデータ管理装置。
2. 前記データ挿入部は、
前記取得したデータを挿入すべきデータ集合が存在するか否かを判定し、
前記取得したデータを挿入すべきデータ集合が存在する場合、前記取得したデータをそのデータ集合に挿入し、
前記取得したデータを挿入すべきデータ集合が存在しない場合、前記第2記憶領域に新たなデータ集合を生成し、前記生成したデータ集合に前記取得したデータを挿入する、1.に記載のデータ管理装置。
3. 1つの前記データ集合に格納される複数のデータは、それぞれ異なる画像から抽出された同一人物の画像特徴である、1.又は2.に記載のデータ管理装置。
4. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合に含まれるデータの個数又は合計サイズが閾値以上となることであり、
前記集合挿入部は、データの個数又は合計サイズが閾値以上となった前記データ集合を前記木構造データに挿入する、1.乃至3に記載のデータ管理装置。
5. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合の個数又は合計サイズが閾値以上となることであり、
前記集合挿入部は、前記所定の条件が満たされたら、選択ルールに基づいて、前記第2記憶領域に格納されている複数の前記データ集合のうちのいずれか1つ以上を選択し、選択した前記データ集合を前記木構造データに挿入する、1.乃至3に記載のデータ管理装置。
6. 前記選択ルールは、
データの個数の多い順で所定の順位以内である前記データ集合を選択する、
サイズの大きい順で所定の順位以内である前記データ集合を選択する、
生成された時点が早い順で所定の順位以内である前記データ集合を選択する、
最終更新時点が早い順で所定の順位以内である前記データ集合を選択する、又は
データの分散の大きさが小さい順で所定の順位以内である前記データ集合を選択する、
というルールである、5.に記載のデータ管理装置。
7. コンピュータによって実行される制御方法であって、
前記コンピュータは、データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能であり、
当該制御方法は、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入ステップと、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入ステップと、を有する制御方法。
8. 前記データ挿入ステップにおいて、
前記取得したデータを挿入すべきデータ集合が存在するか否かを判定し、
前記取得したデータを挿入すべきデータ集合が存在する場合、前記取得したデータをそのデータ集合に挿入し、
前記取得したデータを挿入すべきデータ集合が存在しない場合、前記第2記憶領域に新たなデータ集合を生成し、前記生成したデータ集合に前記取得したデータを挿入する、7.に記載の制御方法。
9. 1つの前記データ集合に格納される複数のデータは、それぞれ異なる画像から抽出された同一人物の画像特徴である、7.又は8.に記載の制御方法。
10. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合に含まれるデータの個数又は合計サイズが閾値以上となることであり、
前記集合挿入ステップにおいて、データの個数又は合計サイズが閾値以上となった前記データ集合を前記木構造データに挿入する、7.乃至9に記載の制御方法。
11. 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合の個数又は合計サイズが閾値以上となることであり、
前記集合挿入ステップにおいて、前記所定の条件が満たされたら、選択ルールに基づいて、前記第2記憶領域に格納されている複数の前記データ集合のうちのいずれか1つ以上を選択し、選択した前記データ集合を前記木構造データに挿入する、7.乃至9に記載の制御方法。
12. 前記選択ルールは、
データの個数の多い順で所定の順位以内である前記データ集合を選択する、
サイズの大きい順で所定の順位以内である前記データ集合を選択する、
生成された時点が早い順で所定の順位以内である前記データ集合を選択する、
最終更新時点が早い順で所定の順位以内である前記データ集合を選択する、又は
データの分散の大きさが小さい順で所定の順位以内である前記データ集合を選択する、
というルールである、11.に記載の制御方法。
13. 7.乃至12.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
この出願は、2019年5月27日に出願された日本出願特願2019-098792号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (8)
- データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能であり、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入手段と、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入手段と、を有するデータ管理装置。 - 前記データ挿入手段は、
前記取得したデータを挿入すべきデータ集合が存在するか否かを判定し、
前記取得したデータを挿入すべきデータ集合が存在する場合、前記取得したデータをそのデータ集合に挿入し、
前記取得したデータを挿入すべきデータ集合が存在しない場合、前記第2記憶領域に新たなデータ集合を生成し、前記生成したデータ集合に前記取得したデータを挿入する、請求項1に記載のデータ管理装置。 - 1つの前記データ集合に格納される複数のデータは、それぞれ異なる画像から抽出された同一人物の画像特徴である、請求項1又は2に記載のデータ管理装置。
- 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合に含まれるデータの個数又は合計サイズが閾値以上となることであり、
前記集合挿入手段は、データの個数又は合計サイズが閾値以上となった前記データ集合を前記木構造データに挿入する、請求項1乃至3に記載のデータ管理装置。 - 前記所定の条件は、前記第2記憶領域に格納されている前記データ集合の個数又は合計サイズが閾値以上となることであり、
前記集合挿入手段は、前記所定の条件が満たされたら、選択ルールに基づいて、前記第2記憶領域に格納されている複数の前記データ集合のうちのいずれか1つ以上を選択し、選択した前記データ集合を前記木構造データに挿入する、請求項1乃至3に記載のデータ管理装置。 - 前記選択ルールは、
データの個数の多い順で所定の順位以内である前記データ集合を選択する、
サイズの大きい順で所定の順位以内である前記データ集合を選択する、
生成された時点が早い順で所定の順位以内である前記データ集合を選択する、
最終更新時点が早い順で所定の順位以内である前記データ集合を選択する、又は
データの分散の大きさが小さい順で所定の順位以内である前記データ集合を選択する、
というルールである、請求項5に記載のデータ管理装置。 - コンピュータによって実行される制御方法であって、
前記コンピュータは、データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能であり、
当該制御方法は、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入ステップと、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入ステップと、を有する制御方法。 - データ集合をノードとして持つ木構造のデータである木構造データを格納する第1記憶領域と、前記木構造データに含まれていないデータ集合を格納する第2記憶領域とに対してアクセス可能なコンピュータに、
前記データ集合に挿入すべきデータを取得し、前記取得したデータを前記第1記憶領域又は前記第2記憶領域に既に格納されている前記データ集合に挿入するか、又は新たなデータ集合を前記第2記憶領域に生成してそのデータ集合に前記取得したデータを挿入するデータ挿入ステップと、
前記第2記憶領域に格納されている前記データ集合について所定の条件が満たされたら、前記第2記憶領域に格納されている前記データ集合の1つ以上を前記木構造データに挿入する集合挿入ステップと、を実行させるプログラムを記憶する記憶媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019098792 | 2019-05-27 | ||
| JP2019098792 | 2019-05-27 | ||
| PCT/JP2020/018703 WO2020241207A1 (ja) | 2019-05-27 | 2020-05-08 | データ管理装置、制御方法、及び記憶媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2020241207A1 JPWO2020241207A1 (ja) | 2020-12-03 |
| JP7180769B2 true JP7180769B2 (ja) | 2022-11-30 |
Family
ID=73552555
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021522164A Active JP7180769B2 (ja) | 2019-05-27 | 2020-05-08 | データ管理装置、制御方法、及び記憶媒体 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20220222232A1 (ja) |
| JP (1) | JP7180769B2 (ja) |
| WO (1) | WO2020241207A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021240792A1 (ja) * | 2020-05-29 | 2021-12-02 | 日本電信電話株式会社 | データ更新方法、データ更新装置及びプログラム |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002230038A (ja) | 2001-02-02 | 2002-08-16 | Hitachi Ltd | データ表示方法 |
| JP2014504042A (ja) | 2010-12-15 | 2014-02-13 | 日本電気株式会社 | パケット分類器、パケット分類方法、及びパケット分類プログラム |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5689699A (en) * | 1992-12-23 | 1997-11-18 | International Business Machines Corporation | Dynamic verification of authorization in retention management schemes for data processing systems |
| JP2004213616A (ja) * | 2002-12-16 | 2004-07-29 | Konica Minolta Holdings Inc | データ管理構造書換プログラム |
| US8615499B2 (en) * | 2012-01-27 | 2013-12-24 | International Business Machines Corporation | Estimating data reduction in storage systems |
| WO2016147770A1 (ja) * | 2015-03-19 | 2016-09-22 | 日本電気株式会社 | 監視システム及び監視方法 |
| US11023318B1 (en) * | 2017-06-23 | 2021-06-01 | Virtuozzo International Gmbh | System and method for fast random access erasure encoded storage |
| US10852978B2 (en) * | 2018-12-14 | 2020-12-01 | Micron Technology, Inc. | Key-value store using journaling with selective data storage format |
-
2020
- 2020-05-08 US US17/612,275 patent/US20220222232A1/en not_active Abandoned
- 2020-05-08 JP JP2021522164A patent/JP7180769B2/ja active Active
- 2020-05-08 WO PCT/JP2020/018703 patent/WO2020241207A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002230038A (ja) | 2001-02-02 | 2002-08-16 | Hitachi Ltd | データ表示方法 |
| JP2014504042A (ja) | 2010-12-15 | 2014-02-13 | 日本電気株式会社 | パケット分類器、パケット分類方法、及びパケット分類プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2020241207A1 (ja) | 2020-12-03 |
| JPWO2020241207A1 (ja) | 2020-12-03 |
| US20220222232A1 (en) | 2022-07-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8983197B2 (en) | Object tag metadata and image search | |
| US10482146B2 (en) | Systems and methods for automatic customization of content filtering | |
| Cheng et al. | Evaluating probability threshold k-nearest-neighbor queries over uncertain data | |
| US20150019586A1 (en) | System and method for sharing tagged multimedia content elements | |
| CN108288208B (zh) | 基于图像内容的展示对象确定方法、装置、介质及设备 | |
| CN111125417B (zh) | 一种数据搜索方法、装置、电子设备及存储介质 | |
| CN111259220B (zh) | 一种基于大数据的数据采集方法和系统 | |
| CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
| CN110968802B (zh) | 一种用户特征的分析方法、分析装置及可读存储介质 | |
| US20140040232A1 (en) | System and method for tagging multimedia content elements | |
| CN118503807B (zh) | 一种多维度的跨境商品匹配方法及系统 | |
| WO2025152309A1 (zh) | 一种数据检索的方法及网络附加存储设备 | |
| CN110633379B (zh) | 一种基于gpu并行运算的以图搜图系统及方法 | |
| WO2021196551A1 (zh) | 图像检索方法、装置、计算机设备和存储介质 | |
| CN102654879B (zh) | 搜索方法及装置 | |
| JP7180769B2 (ja) | データ管理装置、制御方法、及び記憶媒体 | |
| JP2019204246A (ja) | 学習データ作成方法及び学習データ作成装置 | |
| CN111061903B (zh) | 图像特征搜索方法、装置、电子设备及存储介质 | |
| CN117648495B (zh) | 一种基于云原生向量数据的数据推送方法及系统 | |
| JP7143599B2 (ja) | メタデータ評価装置、メタデータ評価方法、およびメタデータ評価プログラム | |
| US11907771B2 (en) | Action recognition device and action recognition method | |
| JP2000112973A (ja) | 空間インデックス方法及び空間インデックス処理プログラムを格納した媒体 | |
| US11029887B2 (en) | Data process execution device, storage medium, and data process execution system | |
| CN108170664A (zh) | 基于重点关键词的关键词拓展方法和装置 | |
| KR100754157B1 (ko) | 멀티미디어 콘텐츠를 위한 데이터베이스 구축 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211027 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221018 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221031 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7180769 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
