JP7189867B2 - 空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体 - Google Patents

空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体 Download PDF

Info

Publication number
JP7189867B2
JP7189867B2 JP2019510453A JP2019510453A JP7189867B2 JP 7189867 B2 JP7189867 B2 JP 7189867B2 JP 2019510453 A JP2019510453 A JP 2019510453A JP 2019510453 A JP2019510453 A JP 2019510453A JP 7189867 B2 JP7189867 B2 JP 7189867B2
Authority
JP
Japan
Prior art keywords
data
database
spatial
key
cluster
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
Application number
JP2019510453A
Other languages
English (en)
Other versions
JP2019531543A (ja
Inventor
ヒュルスケン,バス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of JP2019531543A publication Critical patent/JP2019531543A/ja
Application granted granted Critical
Publication of JP7189867B2 publication Critical patent/JP7189867B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Description

本発明はデータベースに空間データを保存するシステム及び方法に関連する。本発明はデータベースから空間データを取り出すシステム及び方法に更に関連する。本発明は更に双方又は一方のシステムを有するワークステーション又はイメージング装置、プロセッサ・システムに双方又は一方の方法を実行させる命令を有するコンピュータ読み取り可能な媒体、及びデータベースに関連する。
ディジタル画像は近年サイズが増大しており、例えば空間解像度、ビット深度及び/又はイメージング・センサーのダイナミック・レンジの増加に起因して、より多くのスライスをスキャンする医療分野におけるイメージング装置等に起因して、サイズは増大し続けるであろう。具体的な更なる非限定的な例は、ディジタル・パソロジ・スキャナ(digital pathology scanners)からのディジタル・スライド画像がギガバイト・レンジのサイズを有し得ることである。様々な他の例も存在する。従ってそのような画像を保存する保存要求が増大している。これら及び他の理由から、保存要求に対処することが可能なデータベースに画像を保存することが望ましい。典型的には、そのようなデータベースは、分散されたスケーラブルなストレージ・システムによりホストされる。そのようなストレージ・システムは、必須ではないが、クラウド・ベースのストレージ・システムであってもよく、アマゾンS3、グーグル・クラウド・ストレージ・アンド・オープンスタックSWIFTを含むがこれらに限定されず、これらはファイルその他のタイプのデータ構造のようなオブジェクトの保存及び取り出しを許容する。
画像データとは別に、かなり大きな空間データの他の形式が存在し得る。ここで、「空間データ」という用語は、少なくとも2つの空間次元を有する多次元データを指す。以下の例では画像のうちの画像データであるそのような空間データを、例えば1つのファイルのような単独のオブジェクトの形式でデータベースに保存することが知られている。
例えば、US8,582,849B2は、コンピュータ・システムにおける単独の画像ファイルに含まれる仮想スライドを説明している。単独ファイルのファイル・フォーマットは、ファイル情報を含むと考えられるヘッダと、ベースライン画像に対するリファレンスとを有し、リファレンスは、ライン・スキャナ・デバイスから受信されるようなネイティブ解像度で仮想スライド画像を含む。ベースライン画像は、ランダム・アクセスを促すようにブロックのシーケンスとして組織化される。個々のブロックは、例えばJPEG2000標準規格に従って圧縮されてもよい。
本発明者等は、非常に大きな空間データの場合、例えばファイル内の位置に対するブロック識別子の照合を可能にするインデックス情報を含むヘッダも、非常に大きくなり得ることを考察している。例えば、何ギガバイトもの空間データの場合、ヘッダは何百メガバイトものサイズになり得る。ヘッダはアクセスされ分析される必要があるので、これは例えば帯域幅に関してかなりのオーバーヘッドを意味し、大きなオーバーヘッドは、インターネットに対して帯域幅の制約を受けるネットワークのような帯域幅制限ネットワークでデータベースがアクセスされる場合に、特に欠点となってしまう。
US6,021,406は、データベースにマップ・データを保存する方法、及び所与のエリアでオブジェクトを発見し、ロケーションに最も近いオブジェクトを発見するためにデータベースを探す方法を開示する。マップ・データを生成するために、マップ平面は多数の正方形に分割され、それらの正方形は空間充填曲線に従って空間キー・ナンバーとともに番号付けられる。レストランやホテルのような場所を識別するオブジェクトは、オブジェクトにより占められるマップのエリアと交わる何れかの空間キー(オブジェクト・キー)とともに、データベースのメイン・テーブルに配置される。次に、データベースのセカンダリ・テーブルが作成され、あるカラムはメイン・テーブルに対応するオブジェクト・キーを含み、別のカラムはオブジェクト・キーにより識別されるオブジェクトに対する空間キーのレンジを識別する。所与のエリアでオブジェクトを発見するためにデータベースをサーチする際に、空間キーのレンジが、所与のエリアに対して算出され、セカンダリ・テーブル内のレンジと比較され、オブジェクト・キーを識別する。そして識別されるオブジェクト・キーはメイン・テーブルから所望のオブジェクトを取得するために使用される。
US6,633,688は、スピード、効率及び望ましい機能とともにユーザーに画像を提供するクライアント/サーバー・システムを開示する。クライアントは、画像におけるビュー(view)を生成するために必要な画像データを決定する手段の割り振りを受ける。クライアントはそのような必要な画像データのリクエストをサーバーへ発行し、サーバーはリクエストに応対し、要求された画像データをクライアントへ送付し、クライアントはビューを生成する。まだ提供されていない何れの画像データが必要とされているかをクライアントが決定できるようにし、そのデータのみの提供を要求することにより、システムは、パニングやズーミングのようなユーザー・アクションから生じるビューの変化に迅速に応答する。クライアントは、以前に要求されたが提供されず最早必要とされないデータのサービスをキャンセルするリクエストを発行するも可能である。
空間データの一部分がより少ないオーバーヘッドで取り出されることを許容する、データベースに空間データを保存するシステム及び方法を得ることは有利なことであろう。
本発明の以下の側面は、キー値データベースに空間データを保存することを含み、キー値データベースは、キー・データに関連して値データを保存し、及びキー・データに基づいて値データの取り出しを許容するように構成される。空間データは、保存されたデータ値がクラスタを表現するように保存され、クラスタは、空間データをブロックに区分けし、ブロックをクラスタにグループ化することにより生成される。各々保存される値データのキー・データは、空間データに関連付けられる座標系について決定される、個々のクラスタの座標に基づく識別子を少なくとも含む。これは、クラスタの座標に基づく識別子を算出することにより、特定のクラスタの値データ(の一部)を取り出すことを許容する。従って、インデキシング情報を有するヘッダの必要性はなくなる。
本発明の第1側面は、データベースに空間データを保存するように構成されるシステムを提供し、本システムは:
データベースにアクセスするように構成されるデータベース・インターフェースであって、データベースは、キー・データに関連して値データを保存し、及びキー・データに基づいて値データの取り出しを許容するように構成されるキー値データベースである、データベース・インターフェース;
一群の命令を表現する命令データを有するメモリ;
データベース・インターフェース及びメモリと通信し、一群の命令を実行するように構成されるプロセッサ;
を有し、一群の命令は、プロセッサにより実行されると、プロセッサに:
空間データをブロックに区分けすること;
ブロックをクラスタにグループ化すること;及び
プロセッサに処理を行わせることによりデータベースに各クラスタを保存すること;
を行わせ、その処理は:
個々のクラスタを値データとしてデータベースに保存すること;
個々のクラスタの座標に基づいてクラスタの識別子を生成することであって、座標は空間データに関連付けられる座標系について決定される、こと;
クラスタの値データについて、クラスタの識別子を少なくとも有するキー・データを生成すること;及び
値データに関連してキー・データをデータベースに保存することである。
本発明の別の側面は、データベースから空間データを取り出すように構成されるシステムを提供し、本システムは:
データベースにアクセスするように構成されるデータベース・インターフェースであって、データベースは、キー・データに関連して値データを保存し、及びキー・データに基づいて値データの取り出しを許容するように構成されるキー値データベースであり、データベースは:
空間データをブロックに区分けし、ブロックをクラスタにグループ化することにより生成される個々のクラスタをそれぞれが表現する保存された値データ;
個々のクラスタの識別子を少なくとも有する各々の保存された値データについて保存されたキー・データであって、クラスタの識別子は個々のクラスタの座標に基づいて生成され、座標は空間データに関連する座標系について決定されている、保存されたキー・データ;
を有する、データベース・インターフェース;
一群の命令を表現する命令データを有するメモリ;
データベース・インターフェース及びメモリと通信し、一群の命令を実行するように構成されるプロセッサ;
を有し、一群の命令は、プロセッサにより実行されると、プロセッサに、空間データのクラスタの1つ以上のブロックをデータベースから取り出すことを、プロセッサに処理を行わせることにより行わせ、その処理は:
空間データに関連する座標系におけるクラスタの座標に基づいて、クラスタの少なくとも一部の識別子を生成すること;
少なくとも一部の識別子を有するキー・データについてデータベースに問い合わせ、それにより1つ以上のキー・データを取得すること;
1つ以上のキー・データのうちのキー・データを選択すること;及び
キー・データに関連してデータベースに保存されている少なくとも一部の値データをデータベースから取り出すことである。
本発明の別の側面は、双方又は一方のシステムを有するワークステーション又はイメージング装置を提供する。
本発明の別の側面は、データベースに空間データを保存する方法を提供し、データベースは、キー・データに関連して値データを保存し、及びキー・データに基づいて値データの取り出しを許容するように構成されるキー値データベースであり、本方法は:
空間データをブロックに区分けするステップ;
ブロックをクラスタにグループ化するステップ;及び
データベースに各クラスタを保存するステップ;
を有し、保存するステップは:
個々のクラスタを値データとしてデータベースに保存するステップ;
個々のクラスタの座標に基づいてクラスタの識別子を生成するステップであって、座標は空間データに関連付けられる座標系について決定される、ステップ;
クラスタの値データについて、クラスタの識別子を少なくとも有するキー・データを生成するステップ;及び
値データに関連してキー・データをデータベースに保存するステップにより行われる。
本発明の別の側面は、データベースから空間データを取り出す方法を提供し、データベースは、キー・データに関連して値データを保存し、及びキー・データに基づいて値データの取り出しを許容するように構成されるキー値データベースであり、データベースは:
空間データをブロックに区分けし、ブロックをクラスタにグループ化することにより生成される個々のクラスタをそれぞれが表現する保存された値データ;
個々のクラスタの識別子を少なくとも有する各々の保存された値データについて保存されたキー・データであって、クラスタの識別子は個々のクラスタの座標に基づいて生成され、座標は空間データに関連する座標系について決定されている、保存されたキー・データ;
を有し、本方法は空間データのクラスタの1つ以上のブロックをデータベースから取り出すステップを有し、取り出すステップは:
空間データに関連する座標系におけるクラスタの座標に基づいて、クラスタの少なくとも一部の識別子を生成するステップ;
少なくとも一部の識別子を有するキー・データについてデータベースに問い合わせ、それにより1つ以上のキー・データを取得すること;
1つ以上のキー・データのうちのキー・データを選択すること;及び
キー・データに関連してデータベースに保存されている少なくとも一部の値データをデータベースから取り出すステップにより行われる。
本発明の別の側面は、プロセッサ・システムに双方又は一方の方法を実行させるように構成される命令を表現する一時的又は非一時的なデータを有するコンピュータ読み取り可能な媒体を提供する。
本発明の別の側面は、データベースを表現する一時的又は非一時的なデータを有するコンピュータ読み取り可能な媒体を提供し、データベースは、キー・データに関連して値データを保存し、及びキー・データに基づいて値データの取り出しを許容するように構成されるキー値データベースであり、データベースは:
空間データをブロックに区分けし、ブロックをクラスタにグループ化することにより生成される個々のクラスタをそれぞれが表現する保存された値データ;
個々のクラスタの識別子を少なくとも有する各々の保存された値データについて保存されたキー・データであって、クラスタの識別子は個々のクラスタの座標に基づいて生成され、座標は空間データに関連する座標系について決定されている、保存されたキー・データを有する。
上記の手段は、値データの形式で、キーに関連して、キー・データの形式で値を保存するように構成される所謂キー値データベース(a so-termed key-value database)をデータベースとして提供することを含む。これは値がキーに基づいて取り出されることを許容する。そのようなキー値データベースはデータベースの分野でそれ自体知られていることに留意を要する。
データベースに空間データを保存するために、空間データはブロックに区分けされ、各々のブロックは空間データのうちの異なる部分を含む。ここで、「ブロック」という用語は空間データの多数の要素を指し、例えば空間データの非限定的な例において、画像データ、ピクセル又はボクセル又はウェーブレット係数であり、これらはシステムにより一単位として取り扱われる。例えば、ブロックは、画像からのボクセルのうちのピクセルの領域又はタイルにより構成されてもよい。そのような領域は、四角の形状を有することは必須ではなく、他の形状が同様に可能であることが認められるであろう。更に、ブロックは重複しないものだけでなく相互にオーバーラップするものであってもよい。
空間データをブロックに区分けすると、ブロックはクラスタにグループ化される。従って、各クラスタは異なるブロック群を有してもよい。そして、クラスタは「キー値」オブジェクトとしてデータベースに保存され、クラスタのデータはデータベースに値データとして保存され、対応するキーはキー・データとして生成及び保存される。例えば1つの「キー値」保存動作の間に、たとえ別個の動作として説明される場合であったとしても、キー・データ及び値データの双方は典型的にはデータベースに同時に保存されることに留意を要する。
キーは識別子に基づいて生成され、即ち各自のクラスタの座標のエンコードをリスト化又は表現し得る座標に基づく識別子(a coordinate-based identifier)であり、座標は空間データに関連付けられる座標系について決定される。追加的又は代替的に、識別子は、座標を囲む区間の符号化をリスト化又は表現するように表現されてもよい。一般に、キーが文字列により表現されるケースでは、文字列は識別子を含み得る。一般に、例えばキー・データであるキーの中身は、以下において、「キー・ネーム(key name)」のように簡単に言及されてもよく、例えば数字又はアルファベットのキャラクタのようなシンボルのリニア・シーケンスのような文字列により表現可能であるキー、又は同様なフォーマットを有するキーを指す。従ってクラスタは、空間データの座標系におけるクラスタの座標、又は座標を囲む区間をリスト化又は表現するキー・ネーム下で保存されてもよい。
上記の手段は、ブロックのクラスタがキー・ネームに基づいてアクセスされ得るような方法で空間データがデータベースに保存されるような効果を有し、キー・ネームは少なくとも部分的にクラスタの座標から算出されてもよい。従って、どのブロックが取り出されるべきかが分かっており、ブロックを含むクラスタの座標が空間データの座標系で分かってる場合、座標識別子は、直接的に算出され、従ってキー・ネームの少なくとも一部であってもよい。以後データベースは座標識別子について問い合わせを受けるかもしれない。座標識別子がクラスタの正確な座標を表現する場合、問い合わせは例えば1つのキー・ネームのような唯1つの結果を返し、その結果の値データが以後に取り出され得る。そのような問い合わせは、キー・ネームの他の部分が未知であるかもしれないので、例えばキー・ネームが値データの中でブロックのデータ・オフセットを有する場合、更に行われる必要があることが認められるであろう。更に、クラスタの座標が近似的にしか分かっていない場合、例えば正確な座標ではなく空間レンジが分かっている場合、データベースは、例えばその空間レンジを表現する識別子の部分を提供することにより、その空間レンジ内に位置するキーについて問い合わせを受け、(典型的には限られている)多数のキーが、問い合わせによって返され得る。従ってインデックス情報を有するヘッダの必要性は無い。有利なことに、空間データがかなり大きな場合にかなり大きくなり得るそのようなインデックス情報を取り出すことは必要とされないようになり得る。従って、一部の空間データが僅かなオーバーヘッドとともに取り出され得る。これは、システムが、帯域幅の制限されたアクセス・ネットワークを介して、例えばインターネットに対するアクセス・ネットワークを介して、データベースに接続される場合に、特に有利であり得る。非限定的な具体例は、データベースがクラウド・ベースのストレージ・システム上で構成される一方、システムはクラウド・ベース・ストレージ・システムに接続されるクライアント内で構成され得る、或いは方法がそれにより実行され得る場合である。
選択的に、一群の命令は、プロセッサにより実行されると、キー・データにデータ・オフセットを更に含めることをプロセッサに行わせ、データ・オフセットは、各ブロックの個々の位置、又は値データにおけるクラスタの一群のブロックについての少なくとも或るサブセットの個々の位置を表現する。値データにおける各ブロックのデータ・オフセットを知ることによって、クラスタのブロックは個別的に取り出されてもよく、それによりクラスタのブロックに対する少なくとも或る程度のランダム・アクセスを可能にする。キー・ネームにデータ・オフセットを含めることにより、これらのデータ・オフセットを知るために、キー・ネームに対するアクセスを取得することが十分であり得る。キー・ネームに対するそのようなアクセスは、その近似的な座標に基づいて、例えば座標に基づく識別子に基づいてキーを探すことにより取得され得る。例えばキー・ネームに基づいてキーを探すことを可能にするキー値データベースそれ自体は既知である。従って、キー・ネーム、又は一般的にはキー・データは、サーチ結果として返されてもよく、以後、キー・ネームの下で保存される値データのブロックにランダム・アクセスするために使用されてもよい。
選択的に、空間データに関連付けられる座標系は、以下のうちの少なくとも何れかを有する:
各クラスタの空間座標を表す空間軸;
クラスタに含まれる空間データにより表現されるカラー成分を表すカラー軸;及び
クラスタに含まれる空間データにより表現される、波長又は波長レンジを示す波長軸。
空間データに関連する1つ以上の座標系が存在してもよい。典型的な具体例は、幅、高さ、深度等のような複数の次元を有する空間座標系であり、従って対応する空間軸を有する。別の具体例は、空間データが色成分を有してもよいことであり、例えば、空間データが画像データである場合である。この例では、カラー成分が軸上の座標として考えられてもよく、例えばレッドの場合に「1」、グリーンの場合に「2」、ブルーの場合に「3」等のような座標を有する。空間データの他の様々な側面が座標系により表現されてよい。座標系の組み合わせは再び座標系を結成し、例えば、空間及びカラー成分の軸を有する。任意のこれらの座標系はクラスタの識別子を計算するための基礎として使用されてもよい。従って、ブロックは個々の座標系に基づいて取り出され得る。
選択的に、一群の命令は、プロセッサにより実行されると、空間充填曲線関数(a space-filling curve function)を利用して座標をエンコードすることにより、クラスタの識別子を生成することをプロセッサに行わせ、空間充填曲線関数はメモリにおける第1関数データにより表現される。従って、第1関数データは、機能を実行するためのプロセッサに対する命令を有してもよい。空間充填曲線関数を利用することにより、座標は、構造化された方法で識別子にエンコードされ得る。ここで、「エンコード(encoding)」という用語は、情報を符号に変換する一般的な概念を指し、座標に対する特定のデータ・フォーマットを利用することを含んでよい。特に、キー・ネームが、エンコードされた座標を始めに有す場合、キー・ネームの最初のキャラクタは、保存されているクラスタの座標を表現してもよい。これは、データベースにおけるキー値オブジェクトを迅速かつ効率的に探すことを許容する。特に、空間領域における複数のクラスタのキーは、単独のクエリを利用して効率的に取り出されることが可能であり、クエリは、クラスタの座標の最初のシンボル、例えば最重要部分を識別子として使用する。これら最初のシンボルは、空間充填曲線関数によるエンコーディングに起因して、空間データに関連する座標系における空間的な範囲を表現してもよい。これら最初のシンボルから始まる座標識別子を有するキー・ネームについてデータベースに問い合わせることにより、空間レンジに含まれるクラスタが識別され、データベースから(少なくとも部分的に)取り出され得る。そのような問い合わせは、正確なクラスタ座標が既知である場合にも生じる可能性があり、なぜならキー・ネームの他の部分例えばキー・ネームにおいてエンコードされているブロック・オフセットは未知であるかもしれないからである点に留意を要する。この場合、問い合わせは単独の結果を返すのみであるかもしれず、その結果はクラスタを取り出すために以後に使用され得る。
選択的に、空間充填曲線関数はZオーダリング関数(a Z-ordering function)である。そのようなZオーダリングは、多次元データを一次元にマッピングする一方、データ・ポイントの局所性を保ち、またそれ自体は数学的な分析及びコンピュータ・サイエンスの分野で既知であり、モートン・オーダー(Morton order)又はモートン・コード(Morton code)としても知られている。
選択的に、一群の命令は、プロセッサにより実行されると、空間データのウェーブレット変換の係数パーティションに基づいて、空間データをブロックに区分けすることを、プロセッサに行わせる。空間データのウェーブレット変換からブロックを導出することにより、周波数及び位置に従って区分けされる階層的なデータ・セットが取得され得る。例えば、1つ以上のクラスタは空間データのより低い周波数成分を表現する一方、1つ以上の他のクラスタはそのより高い周波数成分を表現するかもしれない。空間データは、従って、階層的な方法で保存され且つ取り出されてもよく、例えば周波数スケールに従って保存され且つ取り出されてもよい。ウェーブレット変換は再帰的なウェーブレット変換であってもよいことが認められるであろう。
選択的に、一群の命令は、プロセッサにより実行されると、空間データのウェーブレット変換の冗長ロー・パス係数ブロック(a redundant low pass coefficient block)を各クラスタに含めることを、プロセッサに行わせる。空間データのウェーブレット変換の冗長ロー・パス係数ブロックを各クラスタに含めることにより、たとえクラスタがウェーブレット階層の全てのスケールを含んでいなかったとしても、クラスタの各スケールの再構築が可能になり得る。このことは、ストリーミング方式でクラスタから空間データを再構築する場合に特に有利になり得るが、その理由は、ロー・パス係数を各クラスタに保存することは、そのクラスタの係数のみから、オリジナル空間データの再構築(例えば、インバース・ウェーブレット変換)を許容するからである。特に、非常に大きな画像の最適的なウェーブレット変換の場合(例えば、パソロジ・スライド(pathology slides)は9個又はそれより多い再帰的な変換を有するかもしれず、それはレベル又はスケールとも呼ばれる)、画像の一部を再構築することは、典型的には、そのエリア/ボリュームについて全ての再帰的スケールをカバーする全てのブロック/クラスタからデータを必要とするであろう。このことは、画像データのストリーミング再構築にとって特に欠点となり得るが、その理由は、再帰的な変換プロセスにおいて、最上位の再帰レベル・エリアが後の時点で作成され、即ちストリームにおいてかなり下流で見出されるからである。各クラスタが或る画像(サブ画像)に再構築されることを許容することにより、ストリーム消費者は、画像における処理が実行され得るように画像(の一部)を再構築し得る。従って上記の問題は回避され得る。
選択的に、一群の命令は、プロセッサにより実行されると、個々のクラスタを値データとしてデータベースに保存する前に、重要性オーダリング関数(a significance ordering function)を利用してクラスタの各ブロックのデータを順序付けることを、プロセッサに実行させ、重要性オーダリング関数はメモリにおける第2関数データにより表現される。従って、第2関数データは機能を実行するためのプロセッサに対する命令を有し得る。各ブロックの重要性がより低いデータを落とすことにより、例えばデータベースに保存せず及び/又はデータベースから取り出さないことにより、空間データのより低品質の再構築が可能になり得る。追加的又は代替的に、ブロックの中で圧縮されるデータは、最上位から最下位まで順序付けられてもよく、ビットプレーンの相対的な位置が別個のメタデータ・フィールドに保存される。データの順序付けは、再帰的クラスタのデータのデータ圧縮の一部であってもよい。
選択的に、一群の命令は、プロセッサにより実行されると、空間データのヘッダを値データとしてデータベースに保存すること;及び選択的に、データベースにクラスタを保存する前にヘッダを保存することを、プロセッサに行わせる。ヘッダは、例えば空間データの次元、データ・レンジ等のような空間データを記述する情報を含み、インデックス情報を更には含まなくてよい。従って、ヘッダは、そのようなインデックス情報を有する従来のヘッダよりサイズ的に小さくなり得る。ヘッダは、データベースにおける別個のキー値オブジェクトとして保存され且つ取り出されてもよい。データベースに空間データを保存する前にヘッダを保存することにより、これは、データベースにオブジェクトを保存する場合に、以後に生成されるオブジェクトの推論及び/又はルーティングを許容し得る。即ち、データベースのインターフェースにおいて保存リクエストをインターセプトすることにより、キー・値ペア(the key-value pair)は、既に保存されているヘッダにおける(又はヘッダを通じて)情報と組み合わせられるキーにおけるキーに基づいてルーティング又は処理されることが可能である。そのようなインターセプトの非限定的な具体例は、データベースがレストフル・クラウド・データベース(a Restful cloud database)である場合における「HTTP PUT」コマンドのインターセプトである。
本発明の実施形態、実装及び/又は選択的な側面は、有用であると考えられる任意の方法で組み合わせられてよいことが、当業者により認められるであろう。システムについての説明された修正及び変形に対応する、方法及び/又はコンピュータ読み取り可能な媒体についての修正及び変形は、本件の説明に基づいて当業者により実行されることが可能である。
システム及び方法は、例えば様々な取得モダリティにより取得される二次元(2D)、三次元(3D)又は四次元(4D)画像のような多次元画像データに適用されてもよいことが認められ、取得モダリティは例えば標準的なX線イメージング、コンピュータ断層撮影(CT)、磁気共鳴イメージング(MRI)、超音波(US)、ポジトロン放出断層撮影 (PET)、単光子放出コンピュータ断層撮影(SPECT)、核医学(NM)、ディジタル・パソロジ(全身スライド画像)、及び明視野、蛍光又はスキャニング質量分析におけるものあるが、これらに限定されない。
本発明のこれら及び他の側面は、以下の説明における例により説明される実施形態を参照し及び添付図面を参照することにより明らかになり、更に説明される。
図1はキー値データベースに画像データを保存し、及び/又はキー値データベースから画像データを取り出すように構成されるシステムを示す。 図2はキー値オブジェクトとしてキー値データベースに画像データを保存することを示し、それぞれのキー値オブジェクトはキー・データと付随する値データとを有する。 図3は、画像のブロックへの空間パーティショニング、及び隣接ブロック・グループのクラスタへのグループピングを示す。 図4はキー値データベースに画像データを保存する方法を示す。 図5はキー値データベースから画像データを取り出す方法を示す。 図6はプロセッサ・システムに方法を実行させる命令を有するコンピュータ読み取り可能な媒体を示す。 図面は単に概略的なものであり、寸法を描いたものではないことに留意すべきである。図面において、既に説明した要素に対応する要素は同じ参照番号を有し得る。
以下の参照番号のリストは図面の解釈を促すように提供されており、特許請求の範囲を限定するように解釈されてはならない。
020 データベース
022 データベース通信
030 キー・データ
031-036 個々のキー・データ
040 値データ
041-046 個々の値データ
050 キー値オブジェクト

060 画像
070 クラスタ
080 ブロック

100 画像データを保存する及び/又は取り出すシステム
120 データベース・インターフェース
122 内部データ通信
140 プロセッサ
142 内部データ通信
160 メモリ

200 データベースに画像データを保存する方法
210 画像データをブロックに区分けする
220 ブロックをクラスタにグループ化する
230 各クラスタを保存する
240 クラスタを値データとしてデータベースに保存する
250 クラスタの識別子を生成する
260 識別子を有するキー・データを生成する
270 キー・データをデータベースに保存する

300 データベースから画像データを取り出す方法
310 クラスタのブロックを取り出す
320 クラスタの識別子の少なくとも一部を生成する
330 キー・データについてデータベースに問い合わせる
340 キー・データを選択する
350 データベースから対応する値データを取り出す

400 コンピュータ読み取り可能な媒体
410 命令を表現する非一時的なデータ
以下の説明は空間データが画像データであることに言及している。しかしながら、これは限定ではなく、画像データの代わりに他の任意のタイプの空間データが説明される方法でデータベースに保存されて取り出されてよい。他のタイプの空間データの具体例は、例えば、いわゆるk空間でサンプリングされる未処理MRIデータである。従って、「画像データ」を指す以下の言及は、「空間データ」を指すように等しく理解されてよい。
図1は、キー値データベースに画像データを保存し、及び/又はキー値データベースから画像データを取り出すように構成されてよいシステム100を示す。従って、システム100は、例えば保存又は取り出しのようなこれらの機能のうちの何れか、又は双方の機能を実行するように構成される。図1はデータベース020も示している。データベースは、キー値保存部のようにも言及されるキー値データベースであってもよく、キー値データベースは、キー・データに関連して値データを保存し、キー・データに基づいて値データの取り出しを許容するように構成される。非限定的な具体例では、データベース020がクラウド・ホスト・データベースであってもよく、アマゾンS3、グーグル・クラウド・ストレージ及びオープンスタックSWIFTを含むがこれらに限定されない。
システム100は、データベース200にアクセスするように構成されるデータベース・インターフェース120を有するように更に示されている。データベース・インターフェース120は、例えばインターネットのようなワイド・エリア・ネットワーク又はローカル・エリア・ネットワークに対するネットワーク・インターフェースや、内部又は外部のデータ・ストレージに対するストレージ・インターフェース等のような様々な形式をとり得る。特に、データベース・インターフェース120はデータベース020に対するアクセスに合致したタイプのものであってよい。例えば、データベース020がネットワークを介してアクセス可能である場合、データベース・インターフェース120はネットワーク・インターフェースにより構成されてもよく、データベース020がシステム100の内部データ・ストレージ上で構成される場合、データベース・インターフェース120は内部ストレージ・インターフェースにより構成されてもよい、等々である。
システム100は、データ通信122を介してデータベース・インターフェース120と内的に通信するように構成されるプロセッサ140と、データ通信142を介してプロセッサ140によりアクセス可能なメモリ160とを有するように更に示されている。メモリ160は、命令のセットを表現する命令データを有してもよく、命令のセットは、データベース020に画像データを保存し、データベース020から画像データを取り出し、或いは例えば画像データの保存及び取り出しのような双方の機能を実行するようにシステム100を構成する。
画像データを保存するように構成される場合、命令のセットは、プロセッサ140により実行される場合、以下の処理をプロセッサに実行させることにより、プロセッサ140が、画像データをブロックに区分けすること、ブロックをクラスタにグループ化すること、及び各クラスタをデータベース020に保存することを引き起こすことが可能であり、その処理は:個々のクラスタを値データとしてデータベース020に保存するステップ、個々のクラスタの座標に基づいてクラスタの識別子を生成するステップであって、座標は画像データに関連する座標系について決定される、ステップ、クラスタの値データのキー・データを生成するステップであって、キー・データはクラスタの少なくとも識別子を有する、ステップ、及び値データに関連するキー・データをデータベースに保存するステップである。
画像データを取り出すように構成される場合、命令のセットは、プロセッサ140により実行される場合に、以下の処理をプロセッサ140に実行させることにより、プロセッサ140が、データベース020から画像データのクラスタのうち1つ以上のブロックを取り出すことを引き起こすことが可能であり、その処理は、画像データに関連する座標系でのクラスタの座標に基づいてクラスタの識別子の少なくとも一部を生成するステップ、少なくとも一部の識別子を有するキー・データについてデータベースに問い合わせ、それにより1つ以上のキー・データを取得するステップ、1つ以上のキー・データのうちのキー・データを選択するステップ、及びキー・データに関連してデータベースに保存されている値データの少なくとも一部をデータベースから取り出すステップである。
図2及び図3を参照しながら双方の構成が更に説明される。ここで、本明細書を通じて、「画像」という用語への言及は、例えば画像データのような画像のデータ表現への言及として理解されてよいことに留意を要する。図1に示されてはいないが、システム100は、データベース020に画像データを保存するように構成される場合、データ・ストレージにおいて例えば単独ファイルのような別のフォーマットの画像データに先ずアクセスするかもしれないことに更に留意を要する。データ・ストレージは、内的又は外的な画像リポジトリであってもよく、例えば、病院情報システム(a Hospital Information System:HIS)の画像保存通信システム (a Picture Archiving and Communication System:PACS)を含むがこれに限定されない。画像リポジトリにアクセスするために、システム100は画像インターフェース(図1では図示せず)を有していてもよく、画像インターフェースは、例えば、ローカル又はワイド・エリア・ネットワークに対するネットワーク・インターフェース、内部又は外部データ・ストレージに対するストレージ・インターフェース等のような適切な任意のタイプのものであってよい。特に、画像インターフェースは、画像リポジトリに対するアクセスに合致したタイプのものであってよい。例えば、画像リポジトリがネットワークを介してアクセス可能である場合、画像インターフェースはネットワーク・インターフェースにより構成されてもよく、画像リポジトリがシステム100の内部データ・ストレージ上で構成される場合、画像インターフェースは内部ストレージ・インターフェースにより構成されてもよい、等々である。
一般に、図1のシステム100は、ワークステーション又はイメージング装置のようなデバイス又は装置として又はその中で具現化されてよい。デバイス又は装置は、適切なソフトウェアを実行する1つ以上の(マイクロ)プロセッサを有していてもよい。システムのプロセッサ140は、1つ以上のこれらの(マイクロ)プロセッサにより具現化されてよい。例えば画像データの保存、画像データの取り出し、及び/又はその他のシステム機能を実現するソフトウェアは、例えばRAMのような揮発性メモリ内又はフラッシュのような不揮発性メモリ内のような、対応するメモリ160又はメモリ内にダウンロード及び/又は保存されていてもよい。代替的に、システムのプロセッサは、例えばフィールド・プログラマブル・ゲート・アレイ(FPGA)のようなプログラム可能なロジックの形式でデバイス又は装置において実現されてもよい。データベース・インターフェース及び選択的な画像インターフェースは、デバイス又は装置各自のインターフェースにより実現されてもよい。一般に、システムの各ユニットは回路の形式で実現されてもよい。システムは、例えば異なるデバイス又は装置を含むような分散される仕方で実現されてもよいことに留意を要する。例えば、システムの分散化はクライアント・サーバー・モデルに従っていても良い。
図2は、キー値オブジェクト(key-value objects)としてキー値データベースに画像データの保存を行うことを示し、各々のキー値オブジェクトはキー・データと付随する値データとを有する。即ち、複数のキー値オブジェクト050が示されており、各々のキー値オブジェクトはキー・データ030-036と関連付けられている値データ040-046とを有する。画像データはこれらのキー値オブジェクト050に次のようにして保存されてよい。図2を参照しつつ更に図3も参照すると、画像データ060はブロック080に区分けされ得る。図3の例では、画像データ060が2次元画像のものであるように示されているが、このことは限定ではない。そのような区分けは、規則的なグリッドに従っていてもよく、例えば8×8又は16×16ピクセル、ボクセル又はその他の画像要素のブロックをもたらす。しかしながら、ブロックは他の任意の適切な形状を有していてもよく、不規則なグリッド上にあってもよく、及び/又は隣接する画像要素を有することさえ必須でなくてよい。画像データ060をブロック080に区分けすると、ブロック080はクラスタ070にグループ化されてもよく、クラスタ070の各々はこれらのブロック080の1つ以上を有する。更なる特定の非限定的な具体例は、クラスタが4×4又は8×8ブロックを有してもよいことであってもよい。そして各々のクラスタ070は次のようにしてキー値オブジェクトとしてデータベース020に保存されてもよい。クラスタ070の画像データは、値データ041-046としてデータベース020に保存されてよい。更に、個々のクラスタの一群のブロック080の座標に基づいて、クラスタ070の識別子が算出されてもよく、その座標は画像データ060に関連付けられている座標系について決定される。更に、キー・データ031-036が値データについて生成されてもよく、キー・データはクラスタの識別子を少なくとも有する。そしてキー・データ031-036は値データ041-046に関連してデータベースに保存されてよい。
特定の具体例は、各クラスタの左上ブロックの座標がクラスタの識別子として使用されてよいことである。一般に、そのような座標は、ブロック・グリッド、画像要素に関連するグリッドを基準としていてもよい。画像データに関連する座標系は、以下のうちの少なくとも何れかを有していてもよい:各ブロックの空間座標を示す1つ以上の空間軸、各ブロックに含まれる画像データが表現するカラー成分のカラー軸、及び各ブロックに含まれる画像データが表現する波長又は波長範囲の波長軸。座標系の他の様々な軸も同様に考えられる。
キー・データ031-036は、識別子に加えて、データ・オフセットを更に有するように生成されてもよく、データ・オフセットは、各ブロック080の各自の位置、又は値データ041-046のクラスタ070の一群のブロックのうちの少なくとも或るサブセットの各自の位置を表現する。そのようなデータ・オフセットは、例えば、クラスタ値データにおける個々のブロックの位置に対するバイト・オフセットであってもよく、オフセット・テーブルにおいてベース64(base64)でエンコードされていてもよい。クラスタの識別子を一般化する際に、座標は、例えばZオーダリング関数を使用することのような空間充填曲線を使用してエンコードされてもよい。以下クラスタ・キーとしても言及されるクラスタのキー・データの特定の具体例は、次のようなものであってもよい:
Cluster key [max 1024 chars]:
[UUID][delimiter][clustercoordinate][delimiter][clustertemplateID][blockoffsets]
ここで、「UUID」は画像のUUID(a universally unique identifier)であってよい。「delimiter」は何らかの適切な区切り文字であってよい。「clustercoordinate」はクラスタの座標のzオーダリングされた符号化(the Z-ordered encoding)であってよい。「clustertemplateID」はクラスタ・タイプを選択的に記述してもよく、クラスタ・タイプは、各クラスタに固有ではなく、むしろテンプレートに記述される特徴について同じ値を有する全てのクラスタの間で共有されてよい。例えば、典型的な2D画像は、異なるタイプのクラスタを記述する10個のクラスタ・テンプレートを有し、各タイプは異なる「clustertemplateID」を有するかもしれない。具体例は例えばカラーであろう。クラスタが所定の領域について全てのブロックを例えばRGBのような全ての可能なカラーで含む場合、クラスタ・テンプレートはカラー空間の記述を含んでもよい。追加的な記述は、使用されるデータ圧縮方法、及びクラスタにおける画像データのビット深度等であってもよい。「clustertemplateID」と同様に、各ブロックは「blocktemplateID」を有してもよい。「block offsets」は値データにおけるブロックの選択的なデータ・オフセットであってもよい。
図3に示されていないが、画像データは、画像データの(再帰的な)ウェーブレット変換の係数パーティションに基づいて区分けされてもよい。例えば、クラスタ内の各ブロックは画像の異なる部分を表現することが可能であるが、各クラスタは画像の異なる周波数スケールを表現し得る。特に、各クラスタは様々なスケール(例えば、空間周波数)でブロックを有してもよく、各クラスタは異なるスケールだけでなく、画像の異なる位置もカバーし得る。周波数スケールの独立したデコードを許容するために、画像データのウェーブレット変換の冗長的なロー・パス係数ブロックが、各クラスタの値データに含まれてもよい。
一般に、個々のクラスタを値データとしてデータベースに保存する前に、クラスタの各ブロックのデータは、重要性オーダリング関数を利用して順序付けられてもよい。例えば、ブロックのデータがウェーブレット係数により表現される場合、ウェーブレット係数は重要性に関して順序付けられてもよい。より低い重要性の情報を落とすことにより、画像のより低い品質の再構築が可能になり得る。任意の既知の重要性オーダリング関数が、コンピュータ・サイエンスの分野からそれ自体知られているように使用されてよい。重要性オーダリング関数は、ブロックのデータのタイプに基づいて選択されてもよい。一般に、画像データのヘッダは、例えば別個のキー値オブジェクトのように、データベース内の値データとして保存されてよい。ヘッダは、データベースからブロックおを取り出すための従来のインデックス情報を省略してよいが、例えばヘッダは、例えば画像のような保存されるデータ・セットの次元、クラスタの座標のzオーダリング符号化に使用されるようなzオーダリングされる次元のリスト、クラスタの次元のリスト、ブロックの次元のリスト等を有してもよい。ヘッダはXMLとしてエンコードされてもよい。ヘッダは、データベースにクラスタを保存する前に、システムによりデータベースに保存されてもよい。
一般に、データベースにアクセスし、画像データを保存し、そこから画像データを取り出すために、アプリケーション・プログラミング・インターフェース(API)が使用されてもよい。例えば、データベースが、例えば「クラウド・データベース」のようなアマゾン・ウェブ・サービス(AWS)シンプル・ストレージ・サービス(S3)のデータベースにより提供又は表現される場合、APIは「S3 API」であってもよい。
図4はデータベースに画像データを保存する方法200を示す。データベースは、図1を参照しながら説明されたようなタイプのもの、例えばキー値データベースであってよい。方法200は図1のシステム100の動作に対応していてもよいが、本方法は別のシステム、装置又はデバイスによって実行されてもよいので、そのことは限定ではない。
方法200は、「画像データをブロックに区分けする」というタイトルが与えられる動作において、画像データをブロックに区分けするステップ(210)を含んでよい。方法200は、「ブロックをクラスタにグループ化する」というタイトルが与えられる動作において、ブロックをクラスタにグループかするステップ(220)を更に含んでよい。方法200は、「各クラスタを保存する」というタイトルが与えられる動作において、各クラスタをデータベースに保存するステップ(230)、「クラスタを値データとしてデータベースに保存する」というタイトルが与えられる動作において、個々のクラスタを値データとしてデータベースに保存するステップ(240)、「クラスタの識別子を生成する」というタイトルが与えられる動作において、個々のクラスタの座標に基づいてクラスタの識別子を生成するステップ(250)であって、座標は画像データに関連する座標系について決定される、ステップ(250)、「識別子を有するキー・データを生成する」というタイトルが与えられる動作において、クラスタの値データについて、クラスタの識別子を少なくとも有するキー・データを生成するステップ(260)、及び「キー・データをデータベースに保存する」というタイトルが与えられる動作において、値データに関連してキー・データをデータベースに保存するステップ(270)を更に有していてもよい。
図5はデータベースから画像データを取り出す方法300を示す。データベースは、図1を参照しながら説明されたようなタイプのもの、例えばキー値データベースであってもよく、図1のシステム100又は図4の方法200により保存される画像データを含んでよい。方法300は図1のシステム100の動作に対応していてもよいが、本方法は別のシステム、装置又はデバイスによって実行されてもよいので、そのことは限定ではない。方法300は、「クラスタのブロックを取り出す」というタイトルが与えられる動作において、画像データのクラスタの1つ以上のブロックをデータベースから取り出すステップ(310)、「クラスタの識別子の少なくとも一部を生成する」というタイトルが与えられる動作において、画像データに関連する座標系におけるクラスタの座標に基づいて、クラスタの識別子の少なくとも一部を生成するステップ(320)、「キー・データについてデータベースに問い合わせる」というタイトルが与えられる動作において、少なくとも一部の識別子を有するキー・データについてデータベースに問い合わせ、それにより1つ以上のキー・データを取得するステップ(330)、「キー・データを選択する」というタイトルが与えられる動作において、1つ以上のキー・データのうちのキー・データを選択するステップ(340)、及び「データベースから対応する値データを取り出す」というタイトルが与えられる動作において、キー・データに関連してデータベースに保存されている値データの少なくとも一部を、データベースから取り出すステップ(350)を有していてもよい。
図4の方法200及び図5の方法300はそれぞれコンピュータ実装方法として、専用ハードウェアとして、又は双方の組み合わせとしてコンピュータ上で実現されてよい。図6に示されるように、例えば実行可能なコードのようなコンピュータ用の命令は、例えば一連のマシン読み取り可能な物理的なマーク410の形式で、及び/又は例えば磁気的、又は光学的な特徴又は値のような様々な電気特性を有する一連の要素として、コンピュータ読み取り可能な媒体400に保存されていてもよい。実行可能なコードは一時的又は非一時的な方法で保存されてもよい。コンピュータ利用可能な媒体の具体例は、メモリ・デバイス、光ストレージ・デバイス、集積回路、サーバー、オンライン・ソフトウェア等を含む。図6は光学ディスク400を示す。図6を引き続き参照すると、コンピュータ読み取り可能な媒体400は、代替的又は追加的に、本明細書で説明される構成のデータベースを表現する一時的又は非一時的なデータ410を有し、そのデータベースは、本明細書で説明されるように、保存されたキー・データ及び保存された値データを有する。
具体例、実施形態、又は選択的な特徴は、非限定的であるとして示されているか否かによらず、保護が請求される発明を限定するように理解されるべきではない。
本発明は、特に本発明を実装するように構成されるコンピュータ・プログラム、特にキャリア上又は内のコンピュータ・プログラムにも適用されることが認められるであろう。プログラムは、部分的にコンパイルされた形式、本発明による方法の実装に使用するのに適した他の任意の形式におけるもの等のような、ソース・コード、オブジェクト・コード、コード中間ソース及びオブジェクト・コードの形式におけるものであってよい。そのようなプログラムは多くの様々なアーキテクチャ設計を有し得ることも認められるであろう。例えば、本発明による方法又はシステムの機能を実現するプログラム・コードは、1つ以上のサブ・ルーチンに細分されてもよい。これらのサブ・ルーチンの中で機能を分散する多くの様々な方法が当業者にとって明らかであろう。サブ・ルーチンは内蔵プログラムを形成する1つの実行可能ファイルと一緒に保存されてもよい。そのような実行可能ファイルは、コンピュータ実行可能命令、例えばプロセッサ命令及び/又はインタラプタ命令(例えば、Java(登録商標)インタラプタ命令のような)を有してもよい。代替的に、1つ以上又は全てのサブ・ルーチンは、少なくとも1つの外部ライブラリ・ファイルに保存され、例えば実行時に動的に又は静的にメイン・プログラムにリンクされてもよい。メイン・プログラムは少なくとも1つのサブ・ルーチンに対する少なくとも1つの呼び出しを含む。サブ・ルーチンは互いにファンクション・コールを有してもよい。コンピュータ・プログラム・プロダクトに関連する実施形態は、本願における上記の少なくとも1つの方法の各処理段階に対応するコンピュータ実行可能命令を有する。これらの命令はサブ・ルーチンに細分され、及び/又は静的に又は動的にリンクされてよい1つ以上のファイルに保存されてもよい。コンピュータ・プログラム・プロダクトに関する別の実施形態は、本願における上記の少なくとも1つのシステム及び/又はプロダクトの各手段に対応するコンピュータ実行可能命令を有する。これらの命令はサブ・ルーチンに細分され、及び/又は静的に又は動的にリンクされてよい1つ以上のファイルに保存されてもよい。
コンピュータ・プログラムのキャリアは、プログラムを運ぶことが可能な任意のエンティティ又はデバイスであってよい。例えば、キャリアは、例えばCD-ROM又は半導体ROMであるROM、例えばハード・ディスクである磁気記録媒体のようなデータ・ストレージを含んでいてもよい。更に、キャリアは電気的又は光学的な信号のような伝送可能なキャリアであってもよく、信号は電気的又は光学的なケーブル又は無線若しくはその他の手段により運ばれてよい。プログラムがそのような信号で具現化される場合、キャリアはそのようなケーブル又はその他のデバイス若しくは手段により構成されてもよい。代替的に、キャリアはプログラムが組み込まれる集積回路であってもよく、集積回路は関連する方法を実行するように或いはその実行に使用されるように構成される。
上記の実施形態は本発明を限定するのではなく説明していること、当業者は添付の特許請求の範囲から逸脱することなく多くの代替的な実施形態を設計することが可能であることに留意すべきである。特許請求の範囲において、括弧内に配置される任意の参照符号は請求項を限定するように解釈されてはならない。「有する(comprising)」という動詞及びその活用形は、請求項で述べられているもの以外の要素又は段階の存在を排除してはいない。要素に先行する「ある(“a” or “an”)」という不定冠詞的な語はそのような要素の複数の存在を排除しない。本発明は、いくつかの別個の要素を有するハードウェアを利用することにより、及び適切にプログラムされたコンピュータを利用することにより実現されてよい。いくつかの手段を列挙する装置クレームにおいて、これらの幾つかの手段は1つの同じハードウェア・アイテムにより具現化されてもよい。何らかの複数の事項が互に異なる従属請求項で引用されているという単なるその事実は、これらの事項の組み合わせが有用に使用できないことを示すものではない。

Claims (14)

  1. データベースに空間データを保存するように構成されるシステムであって:
    前記データベースにアクセスするように構成されるデータベース・インターフェースであって、前記データベースは、キー・データに関連して値データを保存し、及び前記キー・データに基づいて前記値データの取り出しを許容するように構成されるキー値データベースである、データベース・インターフェース;
    一群の命令を表現する命令データを有するメモリ;
    前記データベース・インターフェース及び前記メモリと通信し、前記一群の命令を実行するように構成されるプロセッサ;
    を有し、前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに:
    前記空間データを空間データのブロックに区分けすること;
    空間データの前記ブロックを空間データのクラスタにグループ化すること;及び
    前記プロセッサに処理を行わせることにより前記データベースに各クラスタを保存すること;
    を行わせ、前記処理は:
    個々のクラスタを値データとして前記データベースに保存すること;
    前記個々のクラスタの座標に基づいて前記クラスタの識別子を生成することであって、前記座標は画像データに関連付けられる座標系について決定される、こと;
    前記クラスタの前記値データについて、前記クラスタの前記識別子を少なくとも有するキー・データを生成すること;及び
    前記値データに関連して前記キー・データを前記データベースに保存することであり、前記空間データに関連付けられる前記座標系は:
    クラスタの空間座標を表す空間軸;
    クラスタに含まれる前記空間データにより表現されるカラー成分を表すカラー軸;及び
    クラスタに含まれる前記空間データにより表現される、波長又は波長レンジを示す波長軸
    のうち少なくとも何れかを有する、システム。
  2. 前記一群の命令は、前記プロセッサにより実行されると:
    各ブロックの個々の位置、又は前記値データにおける前記クラスタの一群のブロックについての少なくとも或るサブセットの個々の位置を表現するデータ・オフセット
    を前記キー・データに更に含めることを行わせる、請求項1に記載のシステム。
  3. 前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに:
    空間充填曲線関数を利用して前記座標をエンコードすることにより、前記クラスタの前記識別子を生成すること
    を行わせ、前記空間充填曲線関数は前記メモリにおける第1関数データにより表現される、請求項1又は2に記載のシステム。
  4. 前記空間充填曲線関数はZオーダリング関数である、請求項に記載のシステム。
  5. 前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに:
    前記空間データのウェーブレット変換の係数パーティションに基づいて、前記空間データを前記ブロックに区分けすること
    を行わせる、請求項1-のうち何れか一項に記載のシステム。
  6. 前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに:
    前記空間データのウェーブレット変換の冗長ロー・パス係数ブロックを各クラスタに含めること
    を行わせる、請求項に記載のシステム。
  7. 前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに:
    個々のクラスタを値データとして前記データベースに保存する前に、重要性オーダリング関数を利用して前記クラスタの各ブロックの前記データを順序付けること
    を実行させ、前記重要性オーダリング関数は前記メモリにおける第2関数データにより表現される、請求項1-のうち何れか一項に記載のシステム。
  8. 前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに:
    前記空間データのヘッダを値データとして前記データベースに保存すること;及び
    選択的に、前記データベースに前記クラスタを保存する前に前記ヘッダを保存すること
    を行わせる請求項1-のうち何れか一項に記載のシステム。
  9. データベースから空間データを取り出すように構成されるシステムであって:
    前記データベースにアクセスするように構成されるデータベース・インターフェースであって、前記データベースは、キー・データに関連して値データを保存し、及び前記キー・データに基づいて前記値データの取り出しを許容するように構成されるキー値データベースであり、前記データベースは:
    前記空間データをブロックに区分けし、前記ブロックをクラスタにグループ化することにより生成される個々のクラスタをそれぞれが表現する保存された値データ;
    前記個々のクラスタの識別子を少なくとも有する各々の保存された値データについて保存されたキー・データであって、前記クラスタの前記識別子は前記個々のクラスタの座標に基づいて生成され、前記座標は前記空間データに関連する座標系について決定されている、保存されたキー・データ;
    を有する、データベース・インターフェース;
    一群の命令を表現する命令データを有するメモリ;
    前記データベース・インターフェース及び前記メモリと通信し、前記一群の命令を実行するように構成されるプロセッサ;
    を有し、前記一群の命令は、前記プロセッサにより実行されると、前記プロセッサに、前記空間データのクラスタの1つ以上のブロックを前記データベースから取り出すことを、プロセッサに処理を行わせることにより行わせ、前記処理は:
    前記空間データに関連する前記座標系における前記クラスタの座標に基づいて、前記クラスタの少なくとも一部の識別子を生成すること;
    前記少なくとも一部の識別子を有するキー・データについて前記データベースに問い合わせ、それにより1つ以上のキー・データを取得すること;
    前記1つ以上のキー・データのうちのキー・データを選択すること;及び
    前記キー・データに関連して前記データベースに保存されている少なくとも一部の値データを前記データベースから取り出すことであり、
    前記空間データに関連する前記座標系は:
    クラスタの空間座標を表す空間軸;
    クラスタに含まれる前記空間データにより表現されるカラー成分を表すカラー軸;及び
    クラスタに含まれる前記空間データにより表現される、波長又は波長レンジを示す波長軸
    のうち少なくとも何れかを有する、システム。
  10. 請求項1-のうち何れか一項に記載のシステムを有するワークステーション又はイメージング装置。
  11. データベースに空間データを保存する方法であって、前記データベースは、キー・データに関連して値データを保存し、及び前記キー・データに基づいて前記値データの取り出しを許容するように構成されるキー値データベースであり、前記方法は:
    前記空間データを空間データのブロックに区分けするステップ;
    空間データの前記ブロックを空間データのクラスタにグループ化するステップ;及び
    前記データベースに各クラスタを保存するステップ;
    を有し、前記保存するステップは:
    個々のクラスタを値データとして前記データベースに保存するステップ;
    前記個々のクラスタの座標に基づいて前記クラスタの識別子を生成するステップであって、前記座標は前記空間データに関連付けられる座標系について決定される、ステップ;
    前記クラスタの前記値データについて、前記クラスタの前記識別子を少なくとも有するキー・データを生成するステップ;及び
    前記値データに関連して前記キー・データを前記データベースに保存するステップ;
    により行われ、前記空間データに関連付けられる前記座標系は:
    クラスタの空間座標を表す空間軸;
    クラスタに含まれる前記空間データにより表現されるカラー成分を表すカラー軸;及び
    クラスタに含まれる前記空間データにより表現される、波長又は波長レンジを示す波長軸
    のうち少なくとも何れかを有する、方法。
  12. データベースから空間データを取り出す方法であって、前記データベースは、キー・データに関連して値データを保存し、及び前記キー・データに基づいて前記値データの取り出しを許容するように構成されるキー値データベースであり、前記データベースは:
    前記空間データをブロックに区分けし、前記ブロックをクラスタにグループ化することにより生成される個々のクラスタをそれぞれが表現する保存された値データ;
    前記個々のクラスタの識別子を少なくとも有する各々の保存された値データについて保存されたキー・データであって、前記クラスタの前記識別子は前記個々のクラスタの座標に基づいて生成され、前記座標は前記空間データに関連する座標系について決定されている、保存されたキー・データ;
    を有し、前記方法は、前記空間データのクラスタの1つ以上のブロックを前記データベースから取り出すステップを有し、前記取り出すステップは:
    前記空間データに関連する前記座標系における前記クラスタの座標に基づいて、前記クラスタの少なくとも一部の識別子を生成するステップ;
    前記少なくとも一部の識別子を有するキー・データについて前記データベースに問い合わせ、それにより1つ以上のキー・データを取得すること;
    前記1つ以上のキー・データのうちのキー・データを選択すること;及び
    前記キー・データに関連して前記データベースに保存されている少なくとも一部の値データを前記データベースから取り出すステップ;
    により行われ、前記空間データに関連する前記座標系は:
    クラスタの空間座標を表す空間軸;
    クラスタに含まれる前記空間データにより表現されるカラー成分を表すカラー軸;及び
    クラスタに含まれる前記空間データにより表現される、波長又は波長レンジを示す波長軸
    のうち少なくとも何れかを有する、方法。
  13. プロセッサ・システムに請求項11又は12に記載の方法を実行させるように構成された命令を有するコンピュータ・プログラム。
  14. 請求項13に記載のコンピュータ・プログラムを記憶した記録媒体。
JP2019510453A 2016-08-25 2017-08-22 空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体 Active JP7189867B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16185584 2016-08-25
EP16185584.6 2016-08-25
PCT/EP2017/071069 WO2018036981A1 (en) 2016-08-25 2017-08-22 Storing and retrieving spatial data in/from a database

Publications (2)

Publication Number Publication Date
JP2019531543A JP2019531543A (ja) 2019-10-31
JP7189867B2 true JP7189867B2 (ja) 2022-12-14

Family

ID=56800206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019510453A Active JP7189867B2 (ja) 2016-08-25 2017-08-22 空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体

Country Status (7)

Country Link
US (1) US20190205332A1 (ja)
EP (1) EP3504636A1 (ja)
JP (1) JP7189867B2 (ja)
CN (1) CN109643316A (ja)
BR (1) BR112019003435A2 (ja)
RU (1) RU2759697C2 (ja)
WO (1) WO2018036981A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520738B2 (en) * 2019-09-20 2022-12-06 Samsung Electronics Co., Ltd. Internal key hash directory in table
CN111666342B (zh) * 2020-06-04 2023-08-18 重庆英楼维兴信息科技有限公司 一种基于微服务架构的数据采样方法及相关装置
CN111737330A (zh) * 2020-06-19 2020-10-02 广联达科技股份有限公司 一种空间数据标准化方法、装置、计算机设备和存储介质
CN113836095A (zh) * 2021-09-26 2021-12-24 广州极飞科技股份有限公司 一种点云数据存储方法、装置、存储介质及电子设备
CN115098035B (zh) * 2022-07-08 2022-12-13 四川银亿科技有限公司 基于多端云计算集群的大数据存储方法及系统
CN116796083B (zh) * 2023-06-29 2023-12-22 山东省国土测绘院 一种空间数据划分方法及系统
CN117149100B (zh) * 2023-11-01 2024-04-23 恒生电子股份有限公司 数据存储方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513925A (ja) 1997-02-27 2001-09-04 テルコンター 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法
JP2002524789A (ja) 1998-09-09 2002-08-06 インテル・コーポレーション 画像のブラウジングのための多重線形化データ構造
JP2012234174A (ja) 2011-04-29 2012-11-29 Harman Becker Automotive Systems Gmbh ナビゲーション装置、高度座標を決定する方法、並びに、デーベースを生成する方法
JP2015055914A (ja) 2013-09-10 2015-03-23 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021406A (en) * 1997-11-14 2000-02-01 Etak, Inc. Method for storing map data in a database using space filling curves and a method of searching the database to find objects in a given area and to find objects nearest to a location
US6882997B1 (en) * 1999-08-25 2005-04-19 The Research Foundation Of Suny At Buffalo Wavelet-based clustering method for managing spatial data in very large databases
US6633688B1 (en) 2000-04-28 2003-10-14 Earth Resource Mapping, Inc. Method system and apparatus for providing image data in client/server systems
US7738688B2 (en) 2000-05-03 2010-06-15 Aperio Technologies, Inc. System and method for viewing virtual slides
US6292745B1 (en) * 2000-07-24 2001-09-18 Navigation Technologies Corp. Method and system for forming a database of geographic data for distribution to navigation system units
US7006099B2 (en) * 2000-08-15 2006-02-28 Aware, Inc. Cache system and method for generating uncached objects from cached and stored object components
EP1211609A1 (de) * 2000-11-29 2002-06-05 Informationsverarbeitung Leverkusen GmbH (IVL) Virtuelle Datenbank und zugehörige Zugriffsverfahren
EP1903444B1 (en) * 2004-02-12 2011-05-11 Irdeto Access B.V. Method and system of external data storage
US8792968B2 (en) * 2006-09-25 2014-07-29 Song Xiao System and method for health evaluation
US8650220B2 (en) * 2012-06-05 2014-02-11 Google Inc. System and method for storing and retrieving geospatial data
US20150088807A1 (en) * 2013-09-25 2015-03-26 Infobright Inc. System and method for granular scalability in analytical data processing
CN103714145B (zh) * 2013-12-25 2016-11-23 中国地质大学(武汉) 关系型和Key-Value型数据库空间数据索引方法
US20160162576A1 (en) * 2014-12-05 2016-06-09 Lightning Source Inc. Automated content classification/filtering
US10168963B2 (en) * 2015-11-18 2019-01-01 Quantum Corporation Storage conditioning with intelligent rebuild
US10296498B2 (en) * 2016-08-23 2019-05-21 Oracle International Corporation Coordinated hash table indexes to facilitate reducing database reconfiguration time

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513925A (ja) 1997-02-27 2001-09-04 テルコンター 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法
JP2002524789A (ja) 1998-09-09 2002-08-06 インテル・コーポレーション 画像のブラウジングのための多重線形化データ構造
JP2012234174A (ja) 2011-04-29 2012-11-29 Harman Becker Automotive Systems Gmbh ナビゲーション装置、高度座標を決定する方法、並びに、デーベースを生成する方法
JP2015055914A (ja) 2013-09-10 2015-03-23 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NISHIMURA, Shoji et al.,MD-HBase: A Scalable Multi-dimensional Data Infrastructure for Location Aware Services,2011 IEEE 12th International Conference on Mobile Data Management,IEEE,2011年06月09日,pp.7-16
西村祥治,多次元範囲検索を可能とするキーバリューストア「MD-HBase」,NEC技報,日本電気株式会社,2012年09月01日,第65巻,第2号,pp.69-72

Also Published As

Publication number Publication date
CN109643316A (zh) 2019-04-16
BR112019003435A2 (pt) 2019-05-21
US20190205332A1 (en) 2019-07-04
JP2019531543A (ja) 2019-10-31
RU2019108264A3 (ja) 2020-10-23
RU2019108264A (ru) 2020-09-25
WO2018036981A1 (en) 2018-03-01
RU2759697C2 (ru) 2021-11-16
EP3504636A1 (en) 2019-07-03

Similar Documents

Publication Publication Date Title
JP7189867B2 (ja) 空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体
Baumann et al. Datacubes: Towards space/time analysis-ready data
Wang et al. A parallel file system with application-aware data layout policies for massive remote sensing image processing in digital earth
CA2906199C (en) Systems and methods for addressing a media database using distance associative hashing
US20110055290A1 (en) Provisioning a geographical image for retrieval
US20120054197A1 (en) METHOD AND SYSTEM FOR STORING BINARY LARGE OBJECTS (BLObs) IN A DISTRIBUTED KEY-VALUE STORAGE SYSTEM
US11875305B2 (en) Video training data for machine learning detection/recognition of products
US9396514B2 (en) Method and system for storing and retrieving wide-area motion imagery frames as objects on an object storage device
US8478842B2 (en) Data communication in a picture archiving and communications system network
Su et al. Sdquery dsi: integrating data management support with a wide area data transfer protocol
US7751621B1 (en) Method and system for rapid object recall within images
Tao et al. Kyrix: Interactive visual data exploration at scale
US20170277743A1 (en) Version control of records in an electronic database
Happ et al. A cloud computing strategy for region-growing segmentation
Baumann Beyond rasters: introducing the new OGC web coverage service 2.0
LeFevre et al. SkyhookDM: Data processing in Ceph with programmable storage
Gomes et al. Accessing and processing Brazilian earth observation data cubes with the open data cube platform
KR20120116772A (ko) 멀티 테넌시 서비스 플랫폼에서의 테넌트 데이터 캐싱 방법
IL262576B (en) A system and method for saving document databases and running queries on them
US20220188374A1 (en) Systems, methods, and devices for hybrid implementation of native and web components
CN115250352A (zh) 将astc纹理划分成子图像集
Zhizhin et al. Transparent data cube for spatiotemporal data mining and visualization
Xie The design of a high performance earth imagery and raster data management and processing platform
US11567972B1 (en) Tree-based format for data storage
Hu et al. Geospatial web service for remote sensing data visualization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220816

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: 20221108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221202

R150 Certificate of patent or registration of utility model

Ref document number: 7189867

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150