JP5770316B2 - グループ形式を用いた可変長データの改良型符号化および復号 - Google Patents
グループ形式を用いた可変長データの改良型符号化および復号 Download PDFInfo
- Publication number
- JP5770316B2 JP5770316B2 JP2013555526A JP2013555526A JP5770316B2 JP 5770316 B2 JP5770316 B2 JP 5770316B2 JP 2013555526 A JP2013555526 A JP 2013555526A JP 2013555526 A JP2013555526 A JP 2013555526A JP 5770316 B2 JP5770316 B2 JP 5770316B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- descriptor
- encoded
- variable length
- representation
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Description
SUと呼ばれてもよく、符号化された整数の長さの分割(S)1進(U)表現を伴う可変長整数符号化(varint)を含む。本方法は、たとえ圧縮バイトが自然マシン順序で記憶されない場合があっても、稼働する変化例とともに、この形式を復号するための並列処理を利用してもよい。実施形態は、一度に、符号化データのバイトのグループに作用してもよい。一実施形態では、8バイトのブロックが、一度に作用されてもよい。本方法は、並行して、継続および終端ビットであり得る、記述子ビットを抽出または収集することを含んでもよい。いくつかの実施形態では、この抽出または収集プロセスは、パックマスクバイト移動(PMOVMSKB)命令を使用する。本方法は、事前計算されたシャッフルシーケンスのテーブルの中へのオフセットとして、抽出されたビットを使用してもよい。PSHUFB等の並列置換命令が、データを復号する方法を判定するためにシャッフルシーケンスを使用してもよい。復号されたデータから元の継続および/または終端ビットを除去するように一連のビットシフト演算が行われてもよい。
1xxxxxxx
0xxxxxxx
先頭のビットが、長さ3を表す、1進の数2を形成してもよいことに留意されたい。これは、いくつかのバイトにわたって分割され、1進で表される、長さ情報を伴う整数の可変長表現であるため、いくつかの実施形態では、varint−SUと呼ばれてもよい。いくつかの実施形態では、分割1進表現は、最上位ビットを継続または終端ビットとして使用してもよい。これは、実施形態が終端バイトケースへのシフトを回避することを可能にしてもよい。それはまた、コンパイラがビットを試験するために符号チェックを使用することを可能にしてもよい。しかしながら、いくつかの実施形態は、継続または終端ビットに対するバイトの最下位ビットを利用してもよい。
1.データの塊およびその対応する記述子を読み取る。
2.テーブルから適切なシャッフルシーケンスおよび/またはオフセットを調べる。
3.シャッフルを行う。
4.結果を書き込む。
5.入力および出力ポインタを前進させる。
・シャッフルシーケンス
・入力オフセット
・出力オフセット
・後続ブロックに使用する状態値
形式のうちのいくつかについては、これらの値のうちのいくつかは、テーブルの中の全ての入力にわたって一定であるため、明示的に記憶される必要がない。
・state:以前のグループ内の最後の整数から書き込まれた、4を法とするバイト数。varint−GBおよびvarint−G8IUについては、完全な整数のみが、これらの形式で所与のデータブロックに書き込まれるため、状態の値は常に0である。
4・num(d)−state+rem(d)
後続のブロックに対する状態値は、varint−GBおよびvarint−G8IUについては0であってもよく、varint−G8CUについてはrem(d)であってもよい。
付記1. 検索エンジンポスティングリストの中の符号化ドキュメント識別番号の差を復号するためのコンピュータ実装方法であって、
実行可能命令を用いて構成される、1つ以上のコンピュータシステムの制御の下で、
各記述子が、符号化ドキュメント識別番号の差のグループに関する複数のサイズ情報に関する、情報を含む、1つ以上の記述子を読み取ることと、
前記1つ以上の記述子に関連する前記符号化ドキュメント識別番号の差のグループを表す、複数のデータを読み取ることと、
参照テーブルから前記1つ以上の記述子に関連する1つ以上のシャッフルシーケンスを識別することと、
前記識別されたシャッフルシーケンスを使用して、前記符号化ドキュメント識別番号の差のグループを表す、前記複数のデータに1つ以上の並列シャッフル演算を行うことであって、前記1つ以上の並列シャッフル演算は、前記複数のデータにゼロの1つ以上のシーケンスを挿入することを含む、1つ以上の並列シャッフル演算を行うことと、
前記符号化ドキュメント識別番号の差のグループを表す、前記シャッフルされた複数のデータから、複数の復号されたドキュメント識別番号の差を判定することと、
を含む、コンピュータ実装方法。
実行可能命令を用いて構成される、1つ以上のコンピュータシステムの制御の下で、
各データのブロックが、複数の符号化可変長データを含む、1つ以上のデータのブロックを読み取ることと、
前記1つ以上のデータのブロックに関連する1つ以上の記述子を読み取ることと、
参照テーブルから前記1つ以上の記述子に関連する1つ以上のシャッフルシーケンスを識別することと、
前記1つ以上の識別されたシャッフルシーケンスを使用して、前記1つ以上のデータのブロックに1つ以上のシャッフル演算を行うことと、
前記シャッフルされた1つ以上のデータのブロックから、複数の復号された可変長データを判定することと、
を含む、コンピュータ実装方法。
前記シャッフルされた1つ以上のデータのブロックから部分結果を判定することを含み、前記部分結果と関連付けられる残りの部分は、別のデータのブロックから判定される、
付記3に記載の可変長データを復号するためのコンピュータ実装方法。
プロセッサと、
メモリデバイスであって、前記プロセッサによって実行されたときに、前記システムに、
各データのブロックが、複数の符号化可変長データを含む、1つ以上のデータのブロックを読み取らせ、
前記1つ以上のデータのブロックに関連する1つ以上の記述子を読み取らせ、
参照テーブルから前記1つ以上の記述子に関連する1つ以上のシャッフルシーケンスを識別させ、
前記1つ以上の識別されたシャッフルシーケンスを使用して、前記1つ以上のデータのブロックに1つ以上のシャッフル演算を行わせ、
前記シャッフルされた1つ以上のデータのブロックから、複数の復号された可変長データを判定させる、
命令を含む、メモリデバイスと、
を備える、システム。
前記シャッフルされた1つ以上のデータのブロックから部分結果を判定することを含み、前記部分結果と関連付けられる残りの部分は、別のデータのブロックから判定される、
付記11に記載の可変長データを復号するためのシステム。
各データのブロックが、複数の符号化可変長データを含む、1つ以上のデータのブロックを読み取らせ、
前記1つ以上のデータのブロックに関連する1つ以上の記述子を読み取らせ、
参照テーブルから前記1つ以上の記述子に関連する1つ以上のシャッフルシーケンスを識別させ、
前記1つ以上の識別されたシャッフルシーケンスを使用して、前記1つ以上のデータのブロックに1つ以上のシャッフル演算を行わせ、
前記シャッフルされた1つ以上のデータのブロックから、複数の復号された可変長データを判定させる、
命令を備える、非一過性のコンピュータ可読記憶媒体。
前記シャッフルされた1つ以上のデータのブロックから部分結果を判定することを含み、前記部分結果と関連付けられる残りの部分は、別のデータのブロックから判定される、
付記19に記載の非一過性のコンピュータ可読記憶媒体。
実行可能命令を用いて構成される、1つ以上のコンピュータシステムの制御の下で、
データ記憶のためのブロックサイズを判定することと、
前記検索エンジンポスティングリスト用の複数のドキュメント識別番号を受信することと、
隣接するドキュメント識別番号の間の差を判定することと、
各ドキュメント識別番号の差の符号化表現を判定することであって、前記ドキュメント識別番号の差の前記符号化表現は、可変長表現を使用する、判定することと、
前記ドキュメント識別番号の差の前記複数の符号化表現の逐次サブセットを識別することであって、前記逐次サブセットの各ドキュメント識別番号の差の前記符号化表現のそれぞれのサイズの合計は、データ記憶のための前記判定されたブロックサイズ以下である、識別することと、
1つ以上の記述子であって、ドキュメント識別番号の差の符号化表現の前記サブセットの中のドキュメント識別番号の差の符号化表現の数、および前記逐次サブセットの中のそれぞれのドキュメント識別番号の差のそれぞれの符号化表現のサイズに関する情報を提供する、記述子を生成することと、
前記1つ以上の記述子および前記ドキュメント識別の差の符号化表現の前記サブセットを記憶することであって、ドキュメント識別番号の差の符号化表現の前記逐次サブセットは、グループとして記憶され、前記1つ以上の記述子は、前記ドキュメント識別番号の差の符号化表現のグループと隣接して記憶される、記憶することと、
を含む、コンピュータ実装方法。
付記28. 可変長表現を使用してデータを符号化するためのコンピュータ実装方法であって、
実行可能命令を用いて構成される、1つ以上のコンピュータシステムの制御の下で、
データ記憶のためのブロックサイズを判定することと、
複数のデータ項目を識別することと、
各データ項目の符号化表現を判定することであって、前記データ項目の前記符号化表現は、可変長表現を使用する、判定することと、
前記データ項目の前記複数の符号化表現の第1のサブセットを識別することであって、データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現のそれぞれのサイズの合計は、データ記憶のための前記判定されたブロックサイズ以下である、識別することと、
第1の記述子であって、前記データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現のそれぞれのサイズを表す、第1の記述子を生成することと、
前記データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現を、第1の記憶されたグループとして記憶することと、
前記第1の記述子を記憶することと、
を含む、方法。
前記データ項目の前記複数の符号化表現からそれぞれのデータ項目の付加的な符号化表現を識別することと、
前記第1の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第1の部分を記憶することと、
第2の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第2の部分を記憶することと、
をさらに含む、付記28に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
プロセッサと、
メモリデバイスであって、前記プロセッサによって実行されたときに、前記システムに、
データ記憶のためのブロックサイズを判定させ、
複数のデータ項目を識別させ、
各データ項目の符号化表現を判定させ、前記データ項目の前記符号化表現は、可変長表現を使用し、
前記データ項目の前記複数の符号化表現の第1のサブセットを識別させ、データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現のそれぞれのサイズの合計は、データ記憶のための前記判定されたブロックサイズ以下であり、
第1の記述子であって、前記データ項目の前記複数の符号化表現の前記第1のサブセットの前記データ項目の前記符号化表現のそれぞれのサイズを表す、第1の記述子を生成させ、
前記データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現を、第1の記憶されたグループとして記憶させ、
前記第1の記述子を記憶させる、
命令を含む、メモリデバイスと、
を備える、システム。
前記データ項目の前記複数の符号化表現からそれぞれのデータ項目の付加的な符号化表現を識別することと、
前記第1の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第1の部分を記憶することと、
第2の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第2の部分を記憶することと、
をさらに含む、付記37に記載の可変長表現を使用してデータを符号化するためのシステム。
データ記憶のためのブロックサイズを判定させ、
複数の可変長データを識別させ、
各データ項目の符号化表現を判定させ、前記データ項目の前記符号化表現は、可変長表現を使用し、
前記データ項目の前記複数の符号化表現の第1のサブセットを識別させ、データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現のそれぞれのサイズの合計は、データ記憶のための前記判定されたブロックサイズ以下であり、
第1の記述子であって、前記データ項目の前記複数の符号化表現の前記第1のサブセットの前記データ項目の前記符号化表現のそれぞれのサイズを表す、第1の記述子を生成させ、
前記データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現を、第1の記憶されたグループとして記憶させ、
前記第1の記述子を記憶させる、
非一過性のコンピュータ可読記憶媒体
付記46. 前記第1の記述子を記憶することは、前記第1の記憶されたグループと隣接して前記第1の記述子を記憶することを含む、付記45に記載の非一過性のコンピュータ可読記憶媒体。
前記データ項目の前記複数の符号化表現からそれぞれのデータ項目の付加的な符号化表現を識別することと、
前記第1の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第1の部分を記憶することと、
第2の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第2の部分を記憶することと、
をさらに含む、付記45に記載の非一過性のコンピュータ可読記憶媒体。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1]可変長データを復号するためのシステムであって、
プロセッサと、
メモリデバイスであって、前記プロセッサによって実行されたときに、前記システムに、
各データのブロックが、複数の符号化可変長データを含む、1つ以上のデータのブロックを読み取らせ、
前記1つ以上のデータのブロックに関連する1つ以上の記述子を読み取らせ、
参照テーブルから前記1つ以上の記述子に関連する1つ以上のシャッフルシーケンスを識別させ、
前記1つ以上の識別されたシャッフルシーケンスを使用して、前記1つ以上のデータのブロックに1つ以上のシャッフル演算を行わせ、
前記シャッフルされた1つ以上のデータのブロックから、複数の復号された可変長データを判定させる、
命令を含む、メモリデバイスと、
を備える、システム。
[2]前記1つ以上のシャッフル演算を行うことはさらに、標準形式で前記1つ以上のデータのブロックの1つ以上の部分を表すように、前記シャッフルされた1つ以上のデータのブロックにゼロの1つ以上のシーケンスを挿入することを含む、前記[1]に記載の可変長データを復号するためのシステム。
[3]前記1つ以上のデータブロックは、複数の可変長整数を表す、前記[1]に記載の可変長データを復号するためのシステム。
[4]前記シャッフルされた1つ以上のデータのブロックから複数の復号された可変長データを判定することはさらに、
前記シャッフルされた1つ以上のデータのブロックから部分結果を判定することを含み、前記部分結果と関連付けられる残りの部分は、別のデータのブロックから判定される、
前記[1]に記載の可変長データを復号するためのシステム。
[5]前記1つ以上のシャッフル演算は、単一命令複数データ(SIMD)プロセッサ命令セットからの1つ以上の並列シャッフル命令を備える、前記[1]に記載の可変長データを復号するためのシステム。
[6]前記1つ以上の記述子に関連する1つ以上のオフセットを識別することをさらに含む、前記[1]に記載の可変長データを復号するためのシステム。
[7]前記1つ以上の記述子に関連する前記1つ以上のオフセットは、固定サイズを伴う入力オフセットと、可変サイズを伴う出力オフセットとを含む、前記[6]に記載の可変長データを復号するためのシステム。
[8]前記1つ以上のデータのブロックに関連する前記1つ以上のオフセットは、可変サイズを伴う入力オフセットを備える、前記[6]に記載の可変長データを復号するためのシステム。
[9]可変長表現を使用してデータを符号化するためのコンピュータ実装方法であって、
実行可能命令を用いて構成される、1つ以上のコンピュータシステムの制御の下で、
データ記憶のためのブロックサイズを判定することと、
複数のデータ項目を識別することと、
各データ項目の符号化表現を判定することであって、前記データ項目の前記符号化表現は、可変長表現を使用する、判定することと、
前記データ項目の前記複数の符号化表現の第1のサブセットを識別することであって、データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現のそれぞれのサイズの合計は、データ記憶のための前記判定されたブロックサイズ以下である、識別することと、
第1の記述子であって、前記データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現のそれぞれのサイズを表す、第1の記述子を生成することと、
前記データ項目の前記複数の符号化表現の前記第1のサブセットからの前記データ項目の前記符号化表現を、第1の記憶されたグループとして記憶することと、
前記第1の記述子を記憶することと、
を含む、方法。
[10]前記第1の記述子を記憶することは、前記第1の記憶されたグループと隣接して前記第1の記述子を記憶することを含む、前記[9]に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
[11]前記第1の記述子を記憶することは、前記第1の記憶されたグループと非隣接して前記第1の記述子を記憶することを含む、前記[9]に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
[12]前記第1の記述子を生成することは、1進形式で各データ項目のそれぞれの符号化表現のサイズを表すことを含む、前記[9]に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
[13]前記1進形式で各データ項目のそれぞれの符号化表現のサイズを表すことは、各データ項目の各符号化表現のそれぞれのサイズを、1を引いた1進サイズとして表し、前記それぞれのサイズの表現をゼロによって分離する、前記1進形式を生成することを含む、前記[12]に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
[14]前記第1の記述子を生成することは、前記第1のサブセットと前記データのブロックサイズとの間のサイズの差を表す、パディング情報を前記第1の記述子に挿入することを含む、前記[12]に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
[15]前記データ項目の前記複数の符号化表現からそれぞれのデータ項目の付加的な符号化表現を識別することと、
前記第1の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第1の部分を記憶することと、
第2の記憶されたグループの一部として、前記それぞれのデータ項目の前記付加的な符号化表現の少なくとも第2の部分を記憶することと、
をさらに含む、前記[9]に記載の可変長表現を使用してデータを符号化するためのコンピュータ実装方法。
Claims (14)
- 可変長データを復号するためのシステムであって、
前記システムは、
プロセッサと、
メモリデバイスと、
を備えており、
前記メモリデバイスは、
前記プロセッサによって実行されたときに、前記システムに、
1つ以上のデータのブロックを読み取らせ、ここで、各データのブロックは、複数の符号化可変長データを含み、前記複数の符号化可変長データの各々は、ドキュメント識別番号間の差を表す、
前記1つ以上のデータのブロックに関連する1つ以上の記述子を読み取らせ、ここで、各記述子は、前記1つ以上のデータのブロックに対するサイズ情報を含む、
参照テーブルから前記1つ以上の記述子に関連する1つ以上のシャッフルシーケンスを識別させ、
前記1つ以上のシャッフルシーケンスを使用して、前記1つ以上のデータのブロックに対して1つ以上のシャッフル演算を並列して行うことによって、シャッフルされたデータを生成させ、
前記シャッフルされたデータから、複数の復号された可変長データを抽出させる、
命令を含む、可変長データを復号するためのシステム。 - 前記実行された場合に、前記1つ以上のシャッフル演算を並列して行うことによって、前記シャッフルされたデータを、前記システムに生成させる命令は、
標準形式で前記1つ以上のデータのブロックの1つ以上の部分を表すように、前記シャッフルされたデータにゼロの1つ以上のシーケンスを、前記システムに挿入させること、
を含む、請求項1に記載の可変長データを復号するためのシステム。 - 前記1つ以上のデータのブロックは、複数の可変長整数を表す、請求項1に記載の可変長データを復号するためのシステム。
- 実行された場合に、前記シャッフルされたデータから、前記複数の復号された可変長データを、前記システムに抽出させる命令は、
前記シャッフルされたデータから、前記複数の復号された可変長データの一部分を、前記システムに抽出させることを含み、
前記一部分と関連付けられる残りの部分は、別のデータのブロックから抽出される、請求項1に記載の可変長データを復号するためのシステム。 - 前記1つ以上のシャッフル演算は、単一命令複数データ(SIMD)プロセッサ命令セットからの1つ以上の並列シャッフル命令を備える、請求項1に記載の可変長データを復号するためのシステム。
- 前記命令は、実行された場合に、さらに、前記1つ以上の記述子に関連する1つ以上のオフセットを、前記システムに識別させる、請求項1に記載の可変長データを復号するためのシステム。
- 前記1つ以上の記述子に関連する前記1つ以上のオフセットは、固定サイズを伴う入力オフセットと、可変サイズを伴う出力オフセットとを含む、請求項6に記載の可変長データを復号するためのシステム。
- 前記1つ以上のデータのブロックに関連する前記1つ以上のオフセットは、可変サイズを伴う入力オフセットを備える、請求項6に記載の可変長データを復号するためのシステム。
- 可変長表現を使用してデータを符号化するためのコンピュータ実装方法であって、
実行可能命令を用いて構成される、1つ以上のコンピュータシステムの制御の下で、
データ記憶のためのブロックサイズを決定することと、
符号化する複数のデータを取得することと、
前記複数のデータに対する複数の符号化表現を決定することと、ここで、前記複数の符号化表現のうちの各符号化表現は、可変長表現である、
前記複数の符号化表現のサブセットを識別することと、ここで、前記サブセットのうちの各符号化表現のそれぞれのサイズの合計は、データ記憶のための前記ブロックサイズ以下である、
パック1進形式またはグループ1進形式のうちの少なくとも一方で前記サブセットの各符号化表現のそれぞれのサイズを表す、前記サブセットに対する第1の記述子を生成することと、
前記サブセットの各符号化表現を、第1の記憶されたグループとして記憶することと、
前記第1の記述子を記憶することと、
を含む、方法。 - 前記第1の記述子を記憶することは、
前記第1の記憶されたグループと隣接して前記第1の記述子を記憶すること、
を含む、請求項9に記載のコンピュータ実装方法。 - 前記第1の記述子を記憶することは、
前記第1の記憶されたグループと非隣接して前記第1の記述子を記憶すること、
を含む、請求項9に記載のコンピュータ実装方法。 - 前記パック1進形式またはグループ1進形式のうちの少なくとも一方で前記サブセットの各符号化表現のそれぞれのサイズを表すことは、
各符号化表現のそれぞれのサイズを、1を引いた1進サイズとして記述し、各符号化表現のそれぞれのサイズをゼロによって分離する、前記パック1進形式またはグループ1進形式のうちの少なくとも一方を生成すること、
を含む、請求項9に記載のコンピュータ実装方法。 - 前記第1の記述子を生成することは、
前記サブセットと前記データ記憶のためのブロックサイズとの間のサイズの差を表す、パディング情報を挿入すること、
を含む、請求項9に記載のコンピュータ実装方法。 - 前記複数のデータの1つ以上の付加的なデータの付加的な符号化表現を識別することと、
前記第1の記憶されたグループの一部として、前記付加的な符号化表現の少なくとも第1の部分を記憶することと、
第2の記憶されたグループの一部として、前記付加的な符号化表現の少なくとも第2の部分を記憶することと、
をさらに含む、請求項9に記載のコンピュータ実装方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161446364P | 2011-02-24 | 2011-02-24 | |
US61/446,364 | 2011-02-24 | ||
US13/077,417 | 2011-03-31 | ||
US13/077,417 US9195675B2 (en) | 2011-02-24 | 2011-03-31 | Decoding of variable-length data with group formats |
US13/077,479 US9336225B2 (en) | 2011-02-24 | 2011-03-31 | Encoding of variable-length data with unary formats |
US13/077,479 | 2011-03-31 | ||
PCT/US2012/026152 WO2012116086A1 (en) | 2011-02-24 | 2012-02-22 | Improved encoding and decoding of variable-length data with group formats |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014507732A JP2014507732A (ja) | 2014-03-27 |
JP5770316B2 true JP5770316B2 (ja) | 2015-08-26 |
Family
ID=46719704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013555526A Active JP5770316B2 (ja) | 2011-02-24 | 2012-02-22 | グループ形式を用いた可変長データの改良型符号化および復号 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9195675B2 (ja) |
EP (1) | EP2678787A4 (ja) |
JP (1) | JP5770316B2 (ja) |
CN (1) | CN103582883B (ja) |
WO (1) | WO2012116086A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11818191B1 (en) * | 2021-11-11 | 2023-11-14 | Two Six Labs, LLC | Stateless lossless compression |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959572B2 (en) | 2009-12-10 | 2018-05-01 | Royal Bank Of Canada | Coordinated processing of data by networked computing resources |
US8572031B2 (en) | 2010-12-23 | 2013-10-29 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US9740762B2 (en) | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US10262050B2 (en) | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US9805108B2 (en) | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10997211B2 (en) | 2010-12-23 | 2021-05-04 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10713280B2 (en) | 2010-12-23 | 2020-07-14 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10366100B2 (en) | 2012-07-26 | 2019-07-30 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9881034B2 (en) | 2015-12-15 | 2018-01-30 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US9195675B2 (en) | 2011-02-24 | 2015-11-24 | A9.Com, Inc. | Decoding of variable-length data with group formats |
JP5691752B2 (ja) * | 2011-04-01 | 2015-04-01 | セイコーエプソン株式会社 | データの書き換え方法、データ書き換え装置及び書き換えプログラム |
US8914706B2 (en) | 2011-12-30 | 2014-12-16 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
US8683296B2 (en) | 2011-12-30 | 2014-03-25 | Streamscale, Inc. | Accelerated erasure coding system and method |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
JP6048251B2 (ja) * | 2013-03-21 | 2016-12-21 | 富士通株式会社 | データ圧縮装置、データ圧縮方法、およびデータ圧縮プログラム、並びにデータ復元装置、データ復元方法、およびデータ復元プログラム |
US9626184B2 (en) * | 2013-06-28 | 2017-04-18 | Intel Corporation | Processors, methods, systems, and instructions to transcode variable length code points of unicode characters |
WO2015052690A1 (en) * | 2013-10-10 | 2015-04-16 | Yandex Europe Ag | Methods and systems for indexing references to documents of a database and for locating documents in the database |
US10242071B2 (en) | 2015-06-23 | 2019-03-26 | Microsoft Technology Licensing, Llc | Preliminary ranker for scoring matching documents |
US10467215B2 (en) * | 2015-06-23 | 2019-11-05 | Microsoft Technology Licensing, Llc | Matching documents using a bit vector search index |
US11281639B2 (en) | 2015-06-23 | 2022-03-22 | Microsoft Technology Licensing, Llc | Match fix-up to remove matching documents |
US11392568B2 (en) | 2015-06-23 | 2022-07-19 | Microsoft Technology Licensing, Llc | Reducing matching documents for a search query |
US10713275B2 (en) | 2015-07-02 | 2020-07-14 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US10318516B1 (en) * | 2015-09-22 | 2019-06-11 | Amazon Technologies, Inc. | System for optimizing serialization of values |
US10423626B2 (en) * | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US10394822B2 (en) | 2015-09-25 | 2019-08-27 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10621050B2 (en) | 2016-06-27 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
CN109565699B (zh) * | 2016-08-19 | 2020-12-08 | 华为技术有限公司 | 网络节点及其方法 |
US20180095760A1 (en) * | 2016-09-30 | 2018-04-05 | James D. Guilford | Instruction set for variable length integer coding |
US11747983B2 (en) | 2016-10-06 | 2023-09-05 | Netflix, Inc. | Techniques for generating snapshots of datasets |
JP6729299B2 (ja) | 2016-10-28 | 2020-07-22 | 富士通株式会社 | ピッチ抽出装置及びピッチ抽出方法 |
CN108989800B (zh) * | 2017-06-03 | 2024-01-09 | 上海天荷电子信息有限公司 | 以字节为单元产生压缩数据字节流的数据压缩方法和装置 |
US10866868B2 (en) | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
TWI645698B (zh) | 2017-07-17 | 2018-12-21 | 財團法人工業技術研究院 | 資料發送裝置、資料接收裝置及其方法 |
US11061880B2 (en) | 2018-01-25 | 2021-07-13 | Hewlett-Packard Development Company, L.P. | Data structure with identifiers |
US10404276B1 (en) * | 2018-04-27 | 2019-09-03 | Nicira, Inc. | Stable variable-length order-preserving encoding scheme |
CN109412600A (zh) * | 2018-09-03 | 2019-03-01 | 何祥果 | 一种基于磁性特征的标识号编码方法 |
US10983975B2 (en) | 2019-06-13 | 2021-04-20 | Ant Financial (Hang Zhou) Network Technology Co., Ltd. | Data block storage method and apparatus, and electronic device |
CN112631595B (zh) * | 2019-10-09 | 2024-03-01 | 安徽寒武纪信息科技有限公司 | 混洗方法、装置、计算机设备及可读存储介质 |
CN111600610B (zh) * | 2020-05-26 | 2023-04-28 | 北京思特奇信息技术股份有限公司 | 一种变长整数的通用编码方法、系统及电子设备 |
CN111968361B (zh) * | 2020-08-31 | 2022-04-19 | 成都埃克思智创科技有限公司 | 一种红外重复码学习方法及应用于物联网的红外遥控系统 |
US11619497B2 (en) * | 2020-10-30 | 2023-04-04 | Pony Ai Inc. | Autonomous vehicle navigation using with coalescing constraints for static map data |
CN113847939A (zh) * | 2021-09-30 | 2021-12-28 | 东风越野车有限公司 | 一种应用于车辆仪表的离线故障诊断系统和方法 |
US11947512B2 (en) | 2022-02-22 | 2024-04-02 | Microsoft Technology Licensing, Llc | Feedback-based inverted index compression |
CN116708845B (zh) * | 2023-08-04 | 2023-10-31 | 佳木斯大学 | 基于5g技术的肠胃医疗图像通讯传输方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9100218A (nl) * | 1991-02-07 | 1992-09-01 | Philips Nv | Encodeer/decodeer-schakeling, alsmede digitaal video-systeem voorzien van de schakeling. |
US5926644A (en) * | 1991-10-24 | 1999-07-20 | Intel Corporation | Instruction formats/instruction encoding |
JPH05216738A (ja) * | 1992-01-14 | 1993-08-27 | Nec Corp | 固定長ファイルの可変長レコード登録参照方式 |
JP2746103B2 (ja) * | 1994-02-28 | 1998-04-28 | 日本電気株式会社 | データレコード圧縮方法およびデータレコード伸張方法 |
US5646618A (en) * | 1995-11-13 | 1997-07-08 | Intel Corporation | Decoding one or more variable-length encoded signals using a single table lookup |
US5724033A (en) * | 1996-08-09 | 1998-03-03 | Digital Equipment Corporation | Method for encoding delta values |
IL128836A (en) | 1997-07-18 | 2003-10-31 | Sony Corp | Method and system for multiplexing image signal, method and system for demultiplexing image signal, and transmission medium |
SG116400A1 (en) * | 1997-10-24 | 2005-11-28 | Matsushita Electric Ind Co Ltd | A method for computational graceful degradation inan audiovisual compression system. |
US6012142A (en) * | 1997-11-14 | 2000-01-04 | Cirrus Logic, Inc. | Methods for booting a multiprocessor system |
US20020105955A1 (en) * | 1999-04-03 | 2002-08-08 | Roberts Roswell R. | Ethernet digital storage (EDS) card and satellite transmission system including faxing capability |
JP2001357048A (ja) | 2000-06-13 | 2001-12-26 | Hitachi Ltd | ブロックソート圧縮データの検索方法、および検索に適したブロックソート圧縮法の符号化方法 |
JP2002064385A (ja) * | 2000-08-18 | 2002-02-28 | Sony Corp | 復号装置及び復号方法 |
AU2003245506A1 (en) * | 2002-06-13 | 2003-12-31 | Mark Logic Corporation | Parent-child query indexing for xml databases |
US8081323B2 (en) | 2003-01-31 | 2011-12-20 | Canon Kabushiki Kaisha | Apparatus and method for transferring data to remote printer |
JP2004320114A (ja) | 2003-04-11 | 2004-11-11 | Matsushita Electric Ind Co Ltd | デジタル放送受信機 |
US7319994B1 (en) * | 2003-05-23 | 2008-01-15 | Google, Inc. | Document compression scheme that supports searching and partial decompression |
JP4462944B2 (ja) | 2004-01-30 | 2010-05-12 | Fdkエナジー株式会社 | アルカリ乾電池 |
US7363225B2 (en) | 2005-06-23 | 2008-04-22 | Microsoft Corporation | Compressing language models with Golomb coding |
US20070005911A1 (en) * | 2005-07-01 | 2007-01-04 | Nec Laboratories America, Inc. | Operating System-Based Memory Compression for Embedded Systems |
US7765459B2 (en) | 2005-09-28 | 2010-07-27 | Samsung Electronics Co., Ltd. | Viterbi decoder and viterbi decoding method |
US7761766B2 (en) * | 2005-11-15 | 2010-07-20 | I365 Inc. | Methods and apparatus for modifying a backup data stream including logical partitions of data blocks to be provided to a fixed position delta reduction backup application |
JP2007239771A (ja) | 2006-03-06 | 2007-09-20 | Nisshinbo Ind Inc | 真空断熱材とそれを用いた断熱箱体 |
US7554468B2 (en) | 2006-08-25 | 2009-06-30 | Sony Computer Entertainment Inc, | Entropy decoding methods and apparatus using most probable and least probable signal cases |
US20080082554A1 (en) * | 2006-10-03 | 2008-04-03 | Paul Pedersen | Systems and methods for providing a dynamic document index |
CN101584120B (zh) | 2007-01-19 | 2013-01-09 | 三菱电机株式会社 | 表装置、可变长度编码装置、可变长度解码装置 |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
JP2011511366A (ja) * | 2008-02-01 | 2011-04-07 | ジ・オリバー・グループ・リミテッド・ライアビリティ・カンパニー | データの検索および索引付けの方法およびそれを実施するシステム |
US8166041B2 (en) | 2008-06-13 | 2012-04-24 | Microsoft Corporation | Search index format optimizations |
US8032495B2 (en) * | 2008-06-20 | 2011-10-04 | Perfect Search Corporation | Index compression |
JP2010045598A (ja) * | 2008-08-12 | 2010-02-25 | Fujitsu Ltd | 可変長復号装置、及び、符号化装置 |
US20100125614A1 (en) * | 2008-11-14 | 2010-05-20 | D Urso Christopher Andrew | Systems and processes for functionally interpolated increasing sequence encoding |
US8004431B2 (en) | 2008-12-09 | 2011-08-23 | Qualcomm Incorporated | Fast parsing of variable-to-fixed-length codes |
US9298722B2 (en) * | 2009-07-16 | 2016-03-29 | Novell, Inc. | Optimal sequential (de)compression of digital data |
JP5588720B2 (ja) | 2010-04-20 | 2014-09-10 | 株式会社アマダ | 板材加工機に対するワーク搬入方法及び同方法に使用する棚装置 |
US9195675B2 (en) | 2011-02-24 | 2015-11-24 | A9.Com, Inc. | Decoding of variable-length data with group formats |
-
2011
- 2011-03-31 US US13/077,417 patent/US9195675B2/en not_active Expired - Fee Related
- 2011-03-31 US US13/077,479 patent/US9336225B2/en not_active Expired - Fee Related
-
2012
- 2012-02-22 WO PCT/US2012/026152 patent/WO2012116086A1/en active Application Filing
- 2012-02-22 JP JP2013555526A patent/JP5770316B2/ja active Active
- 2012-02-22 CN CN201280014197.3A patent/CN103582883B/zh active Active
- 2012-02-22 EP EP12749564.6A patent/EP2678787A4/en not_active Ceased
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11818191B1 (en) * | 2021-11-11 | 2023-11-14 | Two Six Labs, LLC | Stateless lossless compression |
Also Published As
Publication number | Publication date |
---|---|
US20120221540A1 (en) | 2012-08-30 |
JP2014507732A (ja) | 2014-03-27 |
EP2678787A4 (en) | 2014-09-03 |
CN103582883B (zh) | 2017-05-17 |
US20120221539A1 (en) | 2012-08-30 |
EP2678787A1 (en) | 2014-01-01 |
WO2012116086A1 (en) | 2012-08-30 |
US9195675B2 (en) | 2015-11-24 |
CN103582883A (zh) | 2014-02-12 |
US9336225B2 (en) | 2016-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5770316B2 (ja) | グループ形式を用いた可変長データの改良型符号化および復号 | |
Stepanov et al. | SIMD-based decoding of posting lists | |
Lemire et al. | Stream VByte: Faster byte-oriented integer compression | |
US9390098B2 (en) | Fast approximation to optimal compression of digital data | |
US10972125B2 (en) | Storage access interface to an encoded storage system | |
Schlegel et al. | Fast integer compression using SIMD instructions | |
US8108353B2 (en) | Method and apparatus for block size optimization in de-duplication | |
WO2018200294A1 (en) | Parser for schema-free data exchange format | |
CN105653499B (zh) | 用于单指令多数据处理器的高效硬件指令 | |
EP3072076B1 (en) | A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure | |
WO2013082990A1 (en) | High bandwidth decompression of variable length encoded data streams | |
CN103248369A (zh) | 基于fpga的压缩系统及其方法 | |
CN108475508B (zh) | 音频数据和保存在块处理存储系统中的数据的简化 | |
RU2633178C2 (ru) | Способ и система базы данных для индексирования ссылок на документы базы данных | |
US9088297B2 (en) | High throughput decoding of variable length data symbols | |
Liu et al. | GPU-accelerated BWT construction for large collection of short reads | |
US7068192B1 (en) | System and method for encoding and decoding variable-length data | |
US10515092B2 (en) | Structured record compression and retrieval | |
CN110958212B (zh) | 一种数据压缩、数据解压缩方法、装置及设备 | |
US8010510B1 (en) | Method and system for tokenized stream compression | |
CN115276889A (zh) | 解码处理方法、装置、计算机设备及存储介质 | |
Edwards et al. | Empirical speedup study of truly parallel data compression | |
US10168909B1 (en) | Compression hardware acceleration | |
CN115905209A (zh) | 编码方法及装置 | |
Golander et al. | Leveraging predefined huffman dictionaries for high compression rate and ratio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141218 |
|
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: 20150526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150624 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5770316 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |