JP3898717B2 - データ圧縮/復元装置およびデータ圧縮/復元方法 - Google Patents
データ圧縮/復元装置およびデータ圧縮/復元方法 Download PDFInfo
- Publication number
- JP3898717B2 JP3898717B2 JP2004320948A JP2004320948A JP3898717B2 JP 3898717 B2 JP3898717 B2 JP 3898717B2 JP 2004320948 A JP2004320948 A JP 2004320948A JP 2004320948 A JP2004320948 A JP 2004320948A JP 3898717 B2 JP3898717 B2 JP 3898717B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- data
- word appearance
- value
- numerical
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
表す数 bit
1 00000001
2 00000010
3 00000011
128 10000001 00000000
129 10000001 00000001
ここで、数値1、2、3の場合は、後続するブロックが存在しないので先頭のビットは0となっており、数値128、129の場合は、2番目のブロックが存在するので先頭のビットが1となっている。この方法では、1ワード(32bit)で表現される数値を表す符号の最小のビット数は8bit、最大のビット数は40bitとなる。
表す数 bit
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1001 0000
9 1001 0001
128 1010 1000 0000
129 1010 1000 0001
ここで、数値1、2、3、4、5、6、7の場合は、後続するブロックが存在しないので先頭のビットは0となっており、数値8、9の場合は、2番目のブロックが存在するので先頭のビットが1となっている。また、数値128、129の場合は、3番目のブロックが存在するので、1番目および2番目のブロックの先頭のビットが1となっている。この方法では、1ワードで表現される数値を表す符号の最小のビット数は4bit、最大ビット数は44bitとなる。
表す数 bit
1 0
2 10
3 110
4 1110
5 11110
6 111110
128 11111・・・127個の1の連続・・・0
129 11111・・・128個の1の連続・・・0
この方法では、1ワードで表現される数値を表す符号の最小のビット数は1bit、最大のビット数は4294967295(232−1)となる。
と書くことにすると、prefix部は、数(1+I1(x))をUnary codingで表すことで得られ、suffix部は、値(x−2I1(x) )をI1(x)bit分の2進数で表すことで得られる。いくつかの数値の例を以下に挙げる。
表す数 prefix部 suffix部
1 0 なし
(1+0ビットで0を表す) (0ビットで1−20 を表す)
2 10 0
(1+1ビットで1を表す) (1ビットで2−21 を表す)
3 10 1
(1+1ビットで1を表す) (1ビットで3−21 を表す)
4 110 00
(1+2ビットで2を表す) (2ビットで4−22 を表す)
5 110 01
(1+2ビットで2を表す) (2ビットで5−22 を表す)
6 110 10
(1+2ビットで2を表す) (2ビットで6−22 を表す)
7 110 11
(1+2ビットで2を表す) (2ビットで7−22 を表す)
8 1110 000
(1+3ビットで3を表す) (3ビットで8−23 を表す)
9 1110 001
(1+3ビットで3を表す) (3ビットで9−23 を表す)
10 1110 010
(1+3ビットで3を表す) (3ビットで10−23 を表す)
128 11111110 0000000
(1+7ビットで7を表す) (7ビットで128−27 を表す)
129 11111110 0000001
(1+7ビットで7を表す) (7ビットで129−27 を表す)
例えば、数値129の場合は、prefix部の符号‘11111110’は8ビットであり、7つの連続する“1”を含んでいる。これは、I(129)=7、すなわち、数値129のsuffix部が7ビットであることを表している。そして、suffix部‘0000001’は、7ビットで129−27 を表している。この方法では、1ワードで表現される数値を表す符号の最小のビット数は1bit、最大のビット数は63bit(=1+31+31bit)となる。
表す数 prefix部 suffix部
1 0 なし
(1のγcoding) (0ビットで1−20 を表す)
2 100 0
(2のγcoding) (1ビットで2−21 を表す)
3 100 1
(2のγcoding) (1ビットで3−21 を表す)
4 101 00
(3のγcoding) (2ビットで4−22 を表す)
5 101 01
(3のγcoding) (2ビットで5−22 を表す)
6 101 10
(3のγcoding) (2ビットで6−22 を表す)
7 101 11
(3のγcoding) (2ビットで7−22 を表す)
8 11000 000
(4のγcoding) (3ビットで8−23 を表す)
9 11000 001
(4のγcoding) (3ビットで9−23 を表す)
10 11000 010
(4のγcoding) (3ビットで10−23 を表す)
128 1110000 0000000
(8のγcoding) (7ビットで128−27 を表す)
129 1110000 0000001
(8のγcoding) (7ビットで129−27 を表す)
この方法では、1ワードで表現される数値を表す符号の最小のビット数は1bit、最大のビット数は42bit(=(5+1+5)+31bit)となる。
例えば、これらの符号化手法を用いて図40のインデックス構造を表現した場合に、必要となるbit数は図41に示すようになる。図41においては、符号化前の元データのみ10進数の値で記述され、符号化後のインデックス構造は、元データを表現するのに必要なビット数を用いて記述されている。図41を見ると、圧縮を行わない32bit符号化が最も多くのビット数を必要とし、δ−codingが最も少ないビット数で記述できることが分かる。
格納手段2は、圧縮されたデータ5を格納する。
元のデータ4がバイナリのビットパターンである場合、一般に、それが表す数値が大きいほど圧縮率は低下し、小さいほど圧縮率は向上する。圧縮手段1は、元のデータ4の値に応じて圧縮されたデータ5のブロック長を決定し、対応する継続フラグ情報を生成する。そして、その継続フラグ情報をデータ5の先頭部分に格納し、それに続いてデータ4を表すデータを格納する。
本発明の別のデータ圧縮装置およびデータ復元装置において、圧縮手段1は、情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、その中間数値データを圧縮し、格納手段2は、圧縮されたデータを格納する。復元手段3は、中間数値データを復元し、復元された中間数値データに上記整数値を乗算する。
特に、4BB改符号化により、インデックス作成に要する時間を短縮することができ、B24符号化および84BB符号化により、それほど符号化/復号化の処理速度を落とすことなく、インデックスの圧縮率を高めることができる。また、Per符号化により、情報の精度は多少落ちるものの、インデックスの圧縮率を高めることができる。
本発明においては、新たな符号化方法として、4bit block(4BB)改符号化、84bit block(84BB)符号化、およびB24(block24)符号化の3種類のブロック系符号化方法を提案する。まず、これらの符号化の概要を、それぞれ説明することにする。
表す数 bit
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000 1000
9 1000 1001
128 1100 1000 0000
129 1100 1000 0001
ここで、数値1、2、3、4、5、6、7の場合は、後続するブロックが存在しないので先頭のビットは0となっており、数値8、9の場合は、2番目のブロックが存在するので、1番目のブロックの先頭のビットが1となっている。また、数値128、129の場合は、3番目のブロックも存在するので、1番目のブロックの1番目および2番目のビットが1となっている。継続フラグに続く数値のビットパターンのLSB(least significant bit )は、いずれの場合も最後のブロックの右端に来るようになっている。
表す数 bit
1 00000001
2 00000010
3 00000011
4 00000100
5 00000101
6 00000110
7 00000111
8 00001000
9 00001001
127 01111111
128 10001000 0000
129 10001000 0001
ここで、数値1、2、3、4、5、6、7、8、9、127の場合は、後続するブロックが存在しないので先頭のビットは0となっており、数値128、129の場合は、2番目のブロックが存在するので、1番目のブロックの先頭のビットが1となっている。この方法では、1ワードで表現される数値を表す符号の最小のビット数は8bit、最大のビット数は44bitとなる。
表す数 bit
1 00
2 01
3 1000
4 1001
5 1010
6 1011
7 1100 0000
8 1100 0001
9 1100 0010
39 1110 0010 0000
40 1110 0010 0001
ここで、数値1、2の場合は、先頭のビットは0となっており、その次のビットは元の数値から1を減じた値を表している。また、数値3、4、5、6の場合は、先頭の2ビットが10となっており、その次の2ビットは元の数値から3を減じた値を表している。
CPU16は、メインメモリ19に格納されたプログラムを用いて、情報検索に必要な処理を実現する。メモリ19は、例えばROM(read only memory)、RAM(random access memory)等を含む。メモリ19には、インデックス作成プログラム23、検索エンジン(検索プログラム)24、文書表示プログラム25等が保持され、ワーク領域26が設けられる。
を求め、I2(Value)+1を継続フラグFlagの値とする(ステップS21)。ここで、I2(x)=
は、log8 xの値以下の整数のうち最大のものを表す。
次に、FlagをUnaryコードに変換してBitbufに入れ(ステップS22)、それに続いてValueを入れて(ステップS23)、処理を終了する。
1.I2(21)+1=2であるため、継続フラグは2となる(ステップS21)。
3.継続フラグに続いて、Value=21のビットパターン‘010101’をBitbufに入れる(ステップS23)。
1.I2(300)+1=3であるため、継続フラグは3となる(ステップS21)。
3.継続フラグに続いて、Value=300のビットパターン‘100101100’をBitbufに入れる(ステップS23)。
1.初めの4ビット‘1001’を読み込む(ステップS32)。
1.初めの4ビット‘1101’を読み込む(ステップS32)。
また、84BB符号化処理のプログラムコード(C言語で記述)は、例えば、図12に示すようになる。図12においては、4BB改符号化と同様に、実際にI2(Value)を計算する代わりに、if−else ifで代用している。
1.I2(300)=2であるため、継続フラグは2となる(ステップS43)。
3.継続フラグに続いて、Value=300のビットパターン‘0100101100’をBitbufに入れる(ステップS45)。
1.初めの8ビット‘10010010’を読み込む(ステップS51)。
2.継続フラグ3をUnaryコード‘110’でBitbufに入れる(ステップS67)。
次に、図17は、B24復号化処理のフローチャートである。処理が開始されると、情報検索装置は、まず、Bitbufの初めの2ビットを変数Flagに読み込み(ステップS71)、その値を1と比較する(ステップS72)。
Flagが2であれば、後続するビットパターンは2ビットであることを意味する。そこで、Bitbufの残りの2ビットを変数Valueに読み込み、3を加算して(ステップS75)、処理を終了する。
B24復号化処理のプログラムコード(C言語で記述)は、例えば、図18に示すようになる。図18においては、上述の4BB改復号化と同様に、実際にCFlagおよびReadBitの値を計算する代わりに、if−else ifで代用している。また、変数Valueを変数Flagの代わりに用いており、変数Maskの代わりに、Valueとマスク用ビット列の論理積を用いている。
1.初めの2ビット‘11’をFlagに読み込む(ステップS71)。
ところで、インデックスに用いられる文書内単語出現位置は、必ずしも小さな数値とは限らず、差分情報を活用したとしてもかなり大きな数値となることが多い。このような大きな数値を扱った場合には、いずれの符号化方法を用いても圧縮効率は上がらない。
2.I2(10)+2=3であるため、継続フラグは3となる(図15、ステップS67)。
4.継続フラグに続いて、Value−7=10−7=3のビットパターン‘00011’をBitbufに入れる(ステップS67)。
第2のインデックス構造:[文書番号,文書内単語出現頻度]
第3のインデックス構造:[文書番号,文書内単語出現頻度,文書内単語出現位置,・・・,]
第4のインデックス構造:[文書番号,文書内単語出現位置領域数,文書内単語出現位置,・・・,]
第5のインデックス構造:[文書番号,文書内単語出現頻度,文書内単語出現位置領域数,文書内単語出現位置,・・・,]
例えば、図40のインデックス構造を第5のインデックス構造を用いて書き直すと、図23に示すように表現される。ここで、‘?’の位置には、文書内単語出現位置領域数が書き込まれる。以下に示す例では、元データとして図23の数値を用いており、それらは10進数で表されている。
2.文書番号:4BB改、文書内単語出現頻度:4BB改+Per(2)(図25、組合せ2)
3.文書番号:4BB改、文書内単語出現頻度:B24+Per(2)(図25、組合せ3)
4.文書番号:B24、文書内単語出現頻度:4BB改(図25、組合せ4) 5.文書番号:B24、文書内単語出現頻度:4BB改+Per(2)(図25、組合せ5)
6.文書番号:B24、文書内単語出現頻度:B24+Per(2)(図25、組合せ6)
図26、27、28は、第3のインデックス構造を用いた場合の符号のビットパターンと総ビット数を示している。ここでは、Per(16)符号化を、文書内単語出現位置のみに適用し、(文書内単語出現頻度/16)の整数部分を符号化している。ただし、その整数部分が0となる場合は代わりに数値1を符号化している。
2.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置:4BB改+Per(16)(図26、組合せ2)
3.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置:B24(図26、組合せ3)
4.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置:B24+Per(16)(図26、組合せ4)
5.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置:4BB改(図26、組合せ5)
6.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置:4BB改+Per(16)(図26、組合せ6)
7.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置:B24(図26、組合せ7)
8.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置:B24+Per(16)(図26、組合せ8)
9.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置:4BB改(図27、組合せ9)
10.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置:4BB改+Per(16)(図27、組合せ10)
11.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置:B24(図27、組合せ11)
12.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置:B24+Per(16)(図27、組合せ12)
13.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置:4BB改(図27、組合せ13)
14.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置:4BB改+Per(16)(図27、組合せ14)
15.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置:B24(図27、組合せ15)
16.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置:B24+Per(16)(図27、組合せ16)
17.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置:84BB(図28、組合せ17)
18.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置:84BB+Per(16)(図28、組合せ18)
19.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置:84BB(図28、組合せ19)
20.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置:84BB+Per(16)(図28、組合せ20)
21.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置:84BB(図28、組合せ21)
22.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置:84BB+Per(16)(図28、組合せ22)
23.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置:84BB(図28、組合せ23)
24.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置:84BB+Per(16)(図28、組合せ24)
図29、30、31は、第4のインデックス構造を用いた場合の符号のビットパターンと総ビット数を示している。ここでは、Per(16)符号化を、文書内単語出現位置のみに適用し、(文書内単語出現頻度/16)の整数部分を符号化している。ただし、その整数部分が0となる場合は代わりに数値1を符号化している。
2.文書番号:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改+Per(16)(図29、組合せ2)
3.文書番号:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24(図29、組合せ3)
4.文書番号:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24+Per(16)(図29、組合せ4)
5.文書番号:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改(図29、組合せ5)
6.文書番号:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改+Per(16)(図29、組合せ6)
7.文書番号:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:B24(図29、組合せ7)
8.文書番号:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:B24+Per(16)(図29、組合せ8)
9.文書番号:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改(図30、組合せ9)
10.文書番号:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改+Per(16)(図30、組合せ10)
11.文書番号:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24(図30、組合せ11)
12.文書番号:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24+Per(16)(図30、組合せ12)
13.文書番号:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改(図30、組合せ13)
14.文書番号:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改+Per(16)(図30、組合せ14)
15.文書番号:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:B24(図30、組合せ15)
16.文書番号:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:B24+Per(16)(図30、組合せ16)
17.文書番号:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB(図31、組合せ17)
18.文書番号:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB+Per(16)(図31、組合せ18)
19.文書番号:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB(図31、組合せ19)
20.文書番号:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB+Per(16)(図31、組合せ20)
21.文書番号:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB(図31、組合せ21)
22.文書番号:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB+Per(16)(図31、組合せ22)
23.文書番号:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB(図31、組合せ23)
24.文書番号:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB+Per(16)(図31、組合せ24)
図32、33、34、35、36、37は、第5のインデックス構造を用いた場合の符号のビットパターンと総ビット数を示している。ここでは、Per(16)符号化を、文書内単語出現位置のみに適用し、(文書内単語出現頻度/16)の整数部分を符号化している。ただし、その整数部分が0となる場合は代わりに数値1を符号化している。
2.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改+Per(16)(図32、組合せ2)
3.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24(図32、組合せ3)
4.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24+Per(16)(図32、組合せ4)
5.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改(図32、組合せ5)
6.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改+Per(16)(図32、組合せ6)
7.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:B24(図32、組合せ7)
8.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:B24+Per(16)(図32、組合せ8)
9.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改(図33、組合せ9)
10.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改+Per(16)(図33、組合せ10)
11.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24(図33、組合せ11)
12.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24+Per(16)(図33、組合せ12)
13.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改(図33、組合せ13)
14.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改+Per(16)(図33、組合せ14)
15.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:B24(図33、組合せ15)
16.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:B24+Per(16)(図33、組合せ16)
17.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改(図34、組合せ17)
18.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改+Per(16)(図34、組合せ18)
19.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24(図34、組合せ19)
20.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24+Per(16)(図34、組合せ20)
21.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改(図34、組合せ21)
22.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改+Per(16)(図34、組合せ22)
23.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:B24(図34、組合せ23)
24.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:B24+Per(16)(図34、組合せ24)
25.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改(図35、組合せ25)
26.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:4BB改+Per(16)(図35、組合せ26)
27.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24(図35、組合せ27)
28.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:B24+Per(16)(図35、組合せ28)
29.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改(図35、組合せ29)
30.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:4BB改+Per(16)(図35、組合せ30)
31.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:B24(図35、組合せ31)
32.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:B24+Per(16)(図35、組合せ32)
33.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB(図36、組合せ33) 34.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB+Per(16)(図36、組合せ34)
35.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB(図36、組合せ35)
36.文書番号:4BB改、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB+Per(16)(図36、組合せ36)
37.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB(図36、組合せ37)
38.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB+Per(16)(図36、組合せ38)
39.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB(図36、組合せ39)
40.文書番号:4BB改、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB+Per(16)(図36、組合せ40)
41.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB(図37、組合せ41)
42.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB+Per(16)(図37、組合せ42)
43.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB(図37、組合せ43)
44.文書番号:B24、文書内単語出現頻度:4BB改、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB+Per(16)(図37、組合せ44)
45.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB(図37、組合せ45)
46.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:4BB改、文書内単語出現位置:84BB+Per(16)(図37、組合せ46)
47.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB(図37、組合せ47)
48.文書番号:B24、文書内単語出現頻度:B24、文書内単語出現位置領域数:B24、文書内単語出現位置:84BB+Per(16)(図37、組合せ48)
以上説明した実施形態においては、本発明のデータ圧縮/復元装置を情報検索装置に適用しているが、このデータ圧縮/復元装置は、検索用インデックスのみに限らず、任意のデータの圧縮/復元に用いることができる。
2 格納手段
3 復元手段
4 元のデータ
5 圧縮されたデータ
11 磁気ディスク装置
12 フロッピーディスク駆動装置
13 フロッピーディスク
14 プリンタ
15 ディスプレイ
16 CPU
17 キーボード
18 ポインティング・デバイス
19 メインメモリ
20 バス
21 文書データベース
22 インデックス
23 インデックス作成プログラム
24 検索エンジン
25 文書表示プログラム
26 ワーク領域
31 ネットワーク接続装置
32 外部の装置
Claims (10)
- 情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮する圧縮手段と、
圧縮されたデータを格納する格納手段と
を備えることを特徴とするデータ圧縮装置。 - 前記圧縮手段は、前記中間数値データを、4ビットをブロックの単位として圧縮し、前記圧縮されたデータの先頭部分に、該圧縮されたデータのブロック長を表す継続フラグ情報を生成することを特徴とする請求項1記載のデータ圧縮装置。
- 前記圧縮手段は、前記中間数値データが2以下の数値を表すとき、該中間数値データを2ビットのブロックで表し、該中間数値データが3以上の数値を表すとき、該中間数値データを、4ビットをブロックの単位として圧縮することを特徴とする請求項1記載のデータ圧縮装置。
- 前記圧縮手段は、3以上6以下の数値データが与えられたとき、与えられた数値データを、2ビットの継続フラグ情報と2ビットのビットパターンで表すことを特徴とする請求項3記載のデータ圧縮装置。
- 情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮して格納する格納手段と、
前記中間数値データを復元し、復元された中間数値データに前記整数値を乗算する復元手段と
を備えることを特徴とするデータ復元装置。 - 情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮して格納する格納手段と、
前記中間数値データを復元し、復元された中間数値データに前記整数値を乗算する復元手段と、
乗算結果の数値データを用いてデータベースを検索する検索手段と
を備えることを特徴とする情報検索装置。 - コンピュータのためのプログラムを記録した記録媒体であって、
情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮する圧縮手段と、
圧縮されたデータを格納する格納手段として、
前記コンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - コンピュータのためのプログラムを記録した記録媒体であって、
情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮して格納する格納手段と、
前記中間数値データを復元し、復元された中間数値データに前記整数値を乗算する復元手段として、
前記コンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 圧縮手段が、情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮し、
前記圧縮手段が、圧縮されたデータを格納手段に格納する
ことを特徴とするデータ圧縮方法。 - 復元手段が、情報検索のためのインデックス内で用いられる文書内単語出現頻度データと文書内単語出現位置データのうち、少なくとも1つ以上の数値データを整数値で除算して、より小さな数値である商を表す中間数値データに変換し、該中間数値データを圧縮することにより得られた、圧縮されたデータを格納する格納手段から、該圧縮されたデータを取り出し、
前記復元手段が、前記中間数値データを復元し、復元された中間数値データに前記整数値を乗算する
ことを特徴とするデータ復元方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004320948A JP3898717B2 (ja) | 1997-02-28 | 2004-11-04 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4542497 | 1997-02-28 | ||
JP2004320948A JP3898717B2 (ja) | 1997-02-28 | 2004-11-04 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01177198A Division JP3708318B2 (ja) | 1997-02-28 | 1998-01-23 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005129071A JP2005129071A (ja) | 2005-05-19 |
JP3898717B2 true JP3898717B2 (ja) | 2007-03-28 |
Family
ID=34655284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004320948A Expired - Lifetime JP3898717B2 (ja) | 1997-02-28 | 2004-11-04 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3898717B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321485B2 (en) | 2006-11-08 | 2012-11-27 | Hitachi, Ltd. | Device and method for constructing inverted indexes |
JP5346156B2 (ja) * | 2006-11-08 | 2013-11-20 | 株式会社日立製作所 | プログラム、転置インデックスの格納方法及び検索方法 |
US8166041B2 (en) | 2008-06-13 | 2012-04-24 | Microsoft Corporation | Search index format optimizations |
-
2004
- 2004-11-04 JP JP2004320948A patent/JP3898717B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005129071A (ja) | 2005-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100894002B1 (ko) | 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법 | |
US5325091A (en) | Text-compression technique using frequency-ordered array of word-number mappers | |
TW312771B (ja) | ||
US5999949A (en) | Text file compression system utilizing word terminators | |
JP3305190B2 (ja) | データ圧縮装置及びデータ復元装置 | |
JP3337633B2 (ja) | データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3778087B2 (ja) | データ符号化装置及びデータ復号装置 | |
JP4261779B2 (ja) | データ圧縮装置および方法 | |
WO2002097674A2 (en) | Efficient collation element structure for handling large numbers of characters | |
US6304676B1 (en) | Apparatus and method for successively refined competitive compression with redundant decompression | |
US6057790A (en) | Apparatus and method for data compression/expansion using block-based coding with top flag | |
US7148820B2 (en) | Variable-length encoded data decoding apparatus and decoding method | |
KR100495593B1 (ko) | 파일 처리 방법, 데이터 처리 장치, 및 기억 매체 | |
US6657564B2 (en) | Method and apparatus for compressing data in which dictionary sizes are reduced | |
JP3898717B2 (ja) | データ圧縮/復元装置およびデータ圧縮/復元方法 | |
US6112208A (en) | Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols | |
JP3708318B2 (ja) | データ圧縮/復元装置およびデータ圧縮/復元方法 | |
Chung et al. | Level-compressed Huffman decoding | |
JP2005137015A (ja) | データ圧縮/復元装置およびデータ圧縮/復元方法 | |
JP3199292B2 (ja) | ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法 | |
JP3083329B2 (ja) | データ圧縮復元方式 | |
JP3442105B2 (ja) | データ圧縮および復元方式 | |
JP4345438B2 (ja) | 辞書データ圧縮装置、電子辞書装置及びプログラム | |
JP3332630B2 (ja) | 復号装置及びデコードテーブルの生成方法 | |
WO2013132590A1 (ja) | プログラム、情報処理装置およびデータ生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060815 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061016 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061116 |
|
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: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061221 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140105 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |