JPH10301959A - データ圧縮/復元装置およびデータ圧縮/復元方法 - Google Patents
データ圧縮/復元装置およびデータ圧縮/復元方法Info
- Publication number
- JPH10301959A JPH10301959A JP10011771A JP1177198A JPH10301959A JP H10301959 A JPH10301959 A JP H10301959A JP 10011771 A JP10011771 A JP 10011771A JP 1177198 A JP1177198 A JP 1177198A JP H10301959 A JPH10301959 A JP H10301959A
- Authority
- JP
- Japan
- Prior art keywords
- data
- document
- numerical
- word appearance
- appearance position
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
ンデックス作成処理を高速化し、インデックスのサイズ
を抑えることが課題である。 【解決手段】 圧縮手段1は、元のデータ4をブロック
単位で圧縮して符号化し、格納手段2内の圧縮されたデ
ータ5の先頭部分に、そのデータ5のブロック長を表す
継続フラグ情報を生成する。復元手段3は、データ5の
継続フラグ情報から残りのデータのブロック長を決定
し、格納手段2から残りのデータを取り出して、元のデ
ータ4を復元する。
Description
号化して圧縮するデータ圧縮装置およびその方法と、圧
縮されたデータを復元するデータ復元装置およびその方
法に関する。
情報検索装置においては、検索に用いるインデックスの
作成速度を高め、かつ、そのサイズを抑えることが重要
である。ここで、全文検索装置とは、文書DB(データ
ベース)内の文書の全文を対象として、ユーザにより指
定された文字列(キーワード)の存在する文書を検索す
る装置を指し、ランキング検索装置とは、指定された文
字列に対し、関連度の高い文書を検索する装置を指す。
クスとは、検索対象となるキーに対して、文書番号、文
書内単語出現頻度、文書内単語出現位置等の情報が付加
されたデータ構造である。例えば、キーワード「犬」と
それを含む文書の[文書番号,文書内単語出現頻度]の
組は、図38のように表される。
ーは、文書番号1の文書に1回、文書番号2の文書に1
回、文書番号3の文書に2回、文書番号25の文書に3
回出現していることを表している。
32bit(4byte)で表すとすると、キー「犬」
に対するインデックスは8つの数値を含むので、これを
表すのに256bit(=32bit*8)の領域が必
要となる。Gbyte単位の文書に対して、この方法に
よる文書番号のみの格納領域の試算を行ってみると、図
39に示すように、原文のサイズに対して非常に巨大な
ものになる。そこで、インデックスサイズを圧縮する必
要が生じる。
の数値を決まったビット数(通常、32bit)で表す
のではなく、できるだけ少ないビット数で表すことであ
る。後述するように、既存の符号化手法は、小さな数値
を少ないビット数で表し、大きな数値を大きなビット数
で表すようになっている。
階として、インデックス内に含まれる数値をできるだけ
小さくすることが考えられる。これは、文書番号および
文書内単語出現位置のそれぞれについて、連続する2つ
のデータの差分を取ることにより実現される。文書番号
および文書内単語出現位置は、数値の小さいものから大
きいものへと順に並んでいるため、各数値間の差分をと
ることにより、表現される数値を小さくすることができ
る。
各文書番号間の差分を取ると、図40のようになる。図
40の最初のデータ[1,1]の文書番号“1”は、実
際の文書番号そのものを表しており、2番目のデータ
[1,1]の文書番号“1”は、最初のデータの文書番
号“1”と2番目のデータの実際の文書番号“2”との
差分値を表している。ここで、実際の文書番号とは、図
38に示された、差分をとる前の文書番号を指す。
号“1”は、2番目のデータの実際の文書番号“2”と
3番目のデータの実際の文書番号“3”との差分値を表
しており、4番目のデータ[22,3]の文書番号“2
2”は、3番目のデータの実際の文書番号“3”と4番
目のデータの実際の文書番号“25”との差分値を表し
ている。
としては、8bit block(8BB)符号化、4
bit block(4BB)符号化、Unary c
oding、γ−coding、δ−coding等が
知られている。これらの符号化手法のいずれにおいて
も、小さな数値は少ないbit数で表され、大きな数値
は大きなbit数で表される。
8bit(1byte)から成る各ブロックの中の最初
の1ビット(top bit)を継続フラグとし、その
フラグが立っていれば、後続する次のブロックが存在す
るとみなす方法である。いくつかの数値の例を以下に挙
げる。
存在しないので先頭のビットは0となっており、数値1
28、129の場合は、2番目のブロックが存在するの
で先頭のビットが1となっている。この方法では、1ワ
ード(32bit)で表現される数値を表す符号の最小
のビット数は8bit、最大のビット数は40bitと
なる。
4bitから成る各ブロックの中の最初の1ビットを継
続フラグとし、そのフラグが立っていれば、後続する次
のブロックが存在するとみなす方法である。いくつかの
数値の例を以下に挙げる。
続するブロックが存在しないので先頭のビットは0とな
っており、数値8、9の場合は、2番目のブロックが存
在するので先頭のビットが1となっている。また、数値
128、129の場合は、3番目のブロックが存在する
ので、1番目および2番目のブロックの先頭のビットが
1となっている。この方法では、1ワードで表現される
数値を表す符号の最小のビット数は4bit、最大ビッ
ト数は44bitとなる。
nを、n−1個の1の連続+0で表す方法である。これ
は、主として、後述するγ−codingおよびδ−c
odingの説明に用いられる。いくつかの数値の例を
以下に挙げる。
最小のビット数は1bit、最大のビット数は4294
967295(232−1)となる。
を、prefix部とsuffix部に分けて表す。こ
こで、log2 xの値以下の整数のうち最大のものをI
1(x)= 外1 と書くことにすると、prefix
部は、数(1+I1(x))
得られ、suffix部は、値(x−2I1(x) )をI1
(x)bit分の2進数で表すことで得られる。いくつ
かの数値の例を以下に挙げる。
‘11111110’は8ビットであり、7つの連続す
る“1”を含んでいる。これは、I(129)=7、す
なわち、数値129のsuffix部が7ビットである
ことを表している。そして、suffix部‘0000
001’は、7ビットで129−27 を表している。こ
の方法では、1ワードで表現される数値を表す符号の最
小のビット数は1bit、最大のビット数は63bit
(=1+31+31bit)となる。
と同様に、数xの符号を、prefix部とsuffi
x部に分けて表す。prefix部は、数(1+I1
(x))をγ−codingで表すことで得られ、su
ffix部は、γ−codingと同様に、値(x−2
I1(x) )をI1(x)bit分の2進数で表すことで得
られる。いくつかの数値の例を以下に挙げる。
最小のビット数は1bit、最大のビット数は42bi
t(=(5+1+5)+31bit)となる。
た従来の符号化手法には、次のような問題がある。例え
ば、これらの符号化手法を用いて図40のインデックス
構造を表現した場合に、必要となるbit数は図41に
示すようになる。図41においては、符号化前の元デー
タのみ10進数の値で記述され、符号化後のインデック
ス構造は、元データを表現するのに必要なビット数を用
いて記述されている。図41を見ると、圧縮を行わない
32bit符号化が最も多くのビット数を必要とし、δ
−codingが最も少ないビット数で記述できること
が分かる。
bit block符号化のようなブロック系の符号化
手法では、どんなに小さな数値でも、必ず1ブロック分
のビット数を必要とする。ところが、図40のように、
差分値を用いたインデックス構造においては、“1”や
“2”のような小さな数値がデータの大部分を占めるた
め、インデックスサイズがあまり小さくならないという
問題がある。また、各ブロックの先頭に継続フラグを付
加していく処理が必要なため、インデックス作成処理に
時間がかかるという問題もある。
g、γ−coding、δ−codingのようなビッ
ト系の符号化手法では、“1”や“2”のような小さな
数値をブロック系よりも小さなビット数で表すことがで
きる。しかし、数値が大きくなるにつれて、ブロック系
よりもはるかにビット数が多くなる傾向にあるため、必
ずしもインデックスサイズが小さくなるという保証はな
い。また、アルゴリズムが複雑なため、インデックス作
成処理および復号化処理ともに、処理時間が長くなると
いう問題もある。
の速度を落とさずに、インデックス作成処理を高速化
し、インデックスのサイズを抑えることのできるデータ
圧縮装置およびその方法と、データ復元装置およびその
方法を提供することである。
圧縮装置およびデータ復元装置の原理図である。図1の
データ圧縮装置は圧縮手段1と格納手段2を備え、デー
タ復元装置は格納手段2と復元手段3を備える。
ック単位で圧縮し、圧縮されたデータ5の先頭部分に、
そのデータ5の長さを表す継続フラグ情報を生成する。
格納手段2は、圧縮されたデータ5を格納する。
データ5の先頭部分の継続フラグ情報に基づいて、その
データ5の長さを決定し、元のデータ4を復元する。元
のデータ4がバイナリのビットパターンである場合、一
般に、それが表す数値が大きいほど圧縮率は低下し、小
さいほど圧縮率は向上する。圧縮手段1は、元のデータ
4の値に応じて圧縮されたデータ5のブロック長を決定
し、対応する継続フラグ情報を生成する。そして、その
継続フラグ情報をデータ5の先頭部分に格納し、それに
続いてデータ4を表すデータを格納する。
タ4より短いビットパターンで表される。また、継続フ
ラグ情報は、データ5から継続フラグ情報を除いた残り
の部分のブロック長を表すようにしてもよい。
ック系の符号化のように、各ブロックの先頭に1つずつ
継続フラグを付加していく必要がなく、継続フラグ情報
の作成処理を1回で済ませることができる。したがっ
て、データ5の作成処理が高速化され、これを用いてイ
ンデックス作成処理を高速化することができる。
頭ブロックの長さを変えることができ、小さな数値の場
合にこれを短くすることで、データ5の圧縮率が向上す
る。インデックス内で用いられる数値データには、1や
2のような小さな値が多数現れるため、これはインデッ
クスサイズの削減につながる。
部分から継続フラグ情報を取り出し、それを元にデータ
5のブロック長を決定する。次に、その長さから継続フ
ラグ情報のブロック長を差し引いて、データ5の残りの
部分のブロック長を求め、残りのデータを取り出す。そ
して、取り出したデータから元のデータ4を生成する。
継続フラグ情報が残りのデータのブロック長を表す場合
は、それをそのまま用いて残りのデータを取り出すこと
ができる。
ック系の復号化のように、各ブロックの先頭から継続フ
ラグを1つずつ取り出す必要がなく、継続フラグ情報の
取り出しを1回で済ませることができる。したがって、
比較的大きな数値の場合には、データ4の作成処理が高
速化される。
て、圧縮処理および復元処理がより簡単であり、処理時
間が短くて済む。また、大きな数値の圧縮率はより高く
なると考えられる。
は、後述する図2のCPU16(中央処理装置)とメイ
ンメモリ19に対応し、格納手段2はメインメモリ19
または磁気ディスク装置11に対応する。
明の実施の形態を詳細に説明する。本発明においては、
新たな符号化方法として、4bit block(4B
B)改符号化、84bit block(84BB)符
号化、およびB24(block24)符号化の3種類
のブロック系符号化方法を提案する。まず、これらの符
号化の概要を、それぞれ説明することにする。
BB符号化を改良したものである。通常の4BB符号化
では、4bitのうちtop 1bitを継続フラグ
‘1’とし、そのフラグが存在していたら次の4bit
も数が存在するとみなす。これに対し、4BB改符号
は、すべての継続フラグをまとめて先頭に持つ構造とす
る。そして、最初に現れる0より後のビットパターンを
数値部分とみなす。いくつかの数値の例を以下に挙げ
る。
続するブロックが存在しないので先頭のビットは0とな
っており、数値8、9の場合は、2番目のブロックが存
在するので、1番目のブロックの先頭のビットが1とな
っている。また、数値128、129の場合は、3番目
のブロックも存在するので、1番目のブロックの1番目
および2番目のビットが1となっている。継続フラグに
続く数値のビットパターンのLSB(least significan
t bit )は、いずれの場合も最後のブロックの右端に来
るようになっている。
を表す符号の最小のビット数は4bit、最大ビット数
は44bitとなり、圧縮効率自体は4BB符号化と等
価である。しかしながら、符号化処理におけるステップ
数が4BB符号化よりも少なくなる。このため、大規模
データベース(DB)に対してインデックスを作成する
ような場合には、かなりの高速化が期待できる。
は、1つ1つ継続フラグを判定しながらループ処理を繰
り返し、4BB改符号化では、継続フラグを先に復号化
してから、まとめて数値を求めることになる。このよう
な違いはあるが、復号化の処理速度は、符号化と比べる
と、両者の間でそれほど変化はない。ただし、数値が大
きくなった場合には、4BB符号より4BB改符号のほ
うが速くなる。
符号化について説明する。4BB改符号化のブロック長
は、どんな数値に対しても4bit一定であるのに対
し、84BB符号化では、初めの1blockだけを8
bit、継続フラグによって後ろに続く各ブロックを4
bitとする。この方法では、127以下の数値は1b
itの0と7bitの数値のビットパターンで表され、
128以上の数値はいくつかの継続フラグと数値のビッ
トパターンで表現される。いくつかの数値の例を以下に
挙げる。
27の場合は、後続するブロックが存在しないので先頭
のビットは0となっており、数値128、129の場合
は、2番目のブロックが存在するので、1番目のブロッ
クの先頭のビットが1となっている。この方法では、1
ワードで表現される数値を表す符号の最小のビット数は
8bit、最大のビット数は44bitとなる。
出現位置として扱われる数値は、文書番号(差分値)や
文書内単語出現頻度と比較して、かなり大きな値にな
る。このため、差分値を用いたとしても、通常の数値デ
ータ符号化方法ではうまく圧縮することができない。
改符号化と比較した場合、最初の8bitで、1bit
分だけ大きな数値まで表現することができる。これによ
り、中くらいの大きさの数値を、他の符号化よりも少な
いビット数で表すことができ、文書内単語出現位置の符
号化に適しているといえる。
bitで符号化し、数値3〜6を4bitで符号化し、
数値7以上を4BB改符号化で符号化する方法である。
数値1、2は、初めの1bitを継続フラグ‘0’とす
る2bit符号で表し、数値3〜6は、初めの2bit
を継続フラグ‘10’とする4bit符号で表す。それ
らより大きい数値の符号化は、4BB改符号化の処理と
同様になる。
の後に続く数値にはそのままの値が用いられるのに対
し、B24符号化では、数値1、2の場合には1を減じ
た値が用いられ、数値3〜6の場合には3を減じた値が
用いられ、7以上の場合には7を減じた値が用いられ
る。また、継続フラグは、4BB改符号より1bit多
くなる。いくつかの数値の例を以下に挙げる。
ており、その次のビットは元の数値から1を減じた値を
表している。また、数値3、4、5、6の場合は、先頭
の2ビットが10となっており、その次の2ビットは元
の数値から3を減じた値を表している。
ブロックが存在するので、先頭の2ビットは11となっ
ており、2番目のブロックは元の数値から7を減じた値
を表している。また、数値39、40の場合は、3番目
のブロックも存在するので、先頭の3ビットが111と
なっており、2番目および3番目のブロックは元の数値
から7を減じた値を表している。
を表す符号の最小のビット数は2bit、最大のビット
数は44bitとなり、数値1および2を表した場合
に、4BB改符号化よりも2ビット節約することができ
る。通常のDBでは、文書内単語出現頻度のほとんどの
数値が1もしくは2となるため、これらの数値を2bi
tで表すことで、4BB符号化および4BB改符号化よ
りも、実際のインデックスの圧縮率が高くなることが期
待される。
と比較して、それほど処理速度は低下しない。さらに、
符号化する数値のほとんどが1もしくは2ならば、ステ
ップ数は4BB改符号化よりも少なくなるため、より高
速である。復号化の処理速度に関しても、符号化と同様
である。
タ圧縮装置/復元装置を含む情報検索装置の構成図であ
る。図2の情報検索装置は、ソフトウェアを搭載した情
報処理装置(コンピュータ)により実現され、磁気ディ
スク装置11、フロッピーディスク駆動装置(FDD)
12、プリンタ14、ディスプレイ15、CPU(中央
処理装置)16、キーボード17、ポインティング・デ
バイス18、メインメモリ19、およびネットワーク接
続装置31を備え、それらの各装置はバス20により互
いに結合されている。
とインデックス22が格納される。磁気ディスク装置1
1の代わりに、光ディスク装置、光磁気ディスク装置等
を用いてもよい。
れたプログラムを用いて、情報検索に必要な処理を実現
する。メモリ19は、例えばROM(read only memor
y)、RAM(random access memory)等を含む。メモ
リ19には、インデックス作成プログラム23、検索エ
ンジン(検索プログラム)24、文書表示プログラム2
5等が保持され、ワーク領域26が設けられる。
DB21からインデックス22を作成して、磁気ディス
ク装置11に格納する。このプログラム23は、4BB
改符号化、84BB符号化、あるいはB24符号化等に
基づくデータ圧縮処理を含んでいる。
用いて、文書DB21の文書を検索する。全文検索装置
の場合には、ユーザが指定した単語列を含む文書を検索
し、ランキング検索装置の場合には、ユーザが指定した
単語列に対して関連度の高い文書を検索する。この検索
エンジン24は、4BB改符号化、84BB符号化、あ
るいはB24符号化等に基づくデータ復元処理(復号化
処理)を含んでいる。
指定された文書を切り出し、それをユーザに表示する。
ワーク領域26は、これらのプログラム23、24、2
5が処理に使用する領域である。
グ・デバイス18は、ユーザからの要求や指示の入力に
用いられ、プリンタ14およびディスプレイ15は、ユ
ーザへの問い合せや処理結果等の出力に用いられる。
駆動し、その記憶内容にアクセスする。フロッピーディ
スク13に、必要なデータやプログラム23、24、2
5等を格納しておき、必要に応じて、それらをメモリ1
9にロードして使用することができる。また、フロッピ
ーディスク13以外にも、メモリカード、CD−ROM
(compact disk read only memory )、光ディスク、光
磁気ディスク等の任意のコンピュータ読み取り可能な記
録媒体を使用することができる。
cal area network)等の任意の通信ネットワークに接続
され、通信に伴うデータ変換等を行う。情報検索装置
は、ネットワーク接続装置31を介して、外部の情報提
供者の装置32(データベース等)と通信する。これに
より、必要に応じて、上述のプログラムとデータを装置
32からネットワークを介して受け取り、それらをメモ
リ19にロードして使用することができる。
ら、本発明のデータ圧縮装置/復元装置で用いる4BB
改符号化、84BB符号化、およびB24符号化につい
て、より具体的に説明する。
は、元データのビットパターンを表し、変数Bitbu
fは、符号化されたビットパターンを表す。また、‘:
=’は、右辺の値を左辺の値へ代入する操作を表し、
‘bitcopy(第1引数,第2引数)’は、第2引
数のビットパターンを第1引数の先頭にコピーする操作
を表す。
数)’は、第2引数のビットパターンを第1引数の後に
追加する操作を表し、‘read(第1引数,第2引
数)’は、第1引数から第2引数の個数分のビットパタ
ーンを読み取って数値にする操作を表す。その他の記述
については、C言語もしくは数学記号と同様である。
よび4BB復号化処理の実現例を説明することにする。
図3は、4BB符号化処理のフローチャートである。処
理が開始されると、情報検索装置は、まず、i=11と
おいて(ステップS1)、8ビットの1次バッファCo
de[i]を用意し、Valueのビットパターンの下
位3ビットをCode[i]の後半に入れる(ステップ
S2)。ここで、‘Value & 0x7’は、Va
lueと0x7=‘0111’の論理積を表している。
(ステップS3)、Valueの値を0と比較する(ス
テップS4)。Valueが0より大きい場合、iを1
だけデクリメントし(ステップS5)、シフト後のVa
lueの下位3ビットの前にフラグの値1を付加して、
Code[i]の後半に入れる(ステップS6)。ここ
で、‘0x8 | (Value & 0x7)’は、
0x8=‘1000’とValueの下位3ビットとの
論理和を表している。そして、Valueを3ビット右
にシフトし(ステップS7)、ステップS4以降の処理
を繰り返す。
0になると、次に、iと12を比較する(ステップS
8)。iが12より小さければ、Code[i]の後半
に格納された4ビットのデータを、Bitbufの空領
域の先頭部分にコピーして(ステップS9)。iを1だ
けインクリメントする(ステップS10)。
し、ステップS8においてiが12に達すると、処理を
終了する。このような符号化処理のプログラムコード
(C言語で記述)は、例えば、図4に示すようになる。
トである。処理が開始されると、情報検索装置は、ま
ず、Bitbufの初めの4ビットをValueに読み
込み(ステップS11)、その値を0x7と比較する
(ステップS12)。Valueが0x7以下の場合
は、先頭のフラグが0であり、後続ブロックが存在しな
いことを意味するので、そのまま処理を終了する。
のフラグが1であり、後続ブロックが存在することを意
味する。そこで、Valueのビットパターンの下位3
ビットのみを改めてValueとし(ステップS1
3)、Bitbuf内の次の4ビットを変数tempに
読み込む(ステップS14)。
て、tempの下位3ビットを加算する(ステップS1
5)。これにより、tempから先頭のフラグを除いた
残りの部分がValueに付加される。そして、tem
pの値を0x7と比較する(ステップS16)。
S14以降の処理を繰り返し、tempが0x7以下で
あれば処理を終了する。終了時のValueのビットパ
ターンは、Bitbufに対応する元データを表してい
る。このような復号化処理のプログラムコード(C言語
で記述)は、例えば、図6に示すようになる。図6にお
いて、get xbits(Bitbuf)は、Bit
bufからxビット分のビットパターンを読み出す関数
を表す。
復号化処理を説明する。図7は、4BB改符号化処理の
フローチャートである。処理が開始されると、情報検索
装置は、まず、I2(Value)= 外2 を求め、
I2(Value)+1を継
21)。ここで、I2(x)= 外3は、log8 xの
値以下の整数のうち最大のものを表す。
してBitbufに入れ(ステップS22)、それに続
いてValueを入れて(ステップS23)、処理を終
了する。
処理のステップ数は、4BB符号化処理のそれよりはる
かに少ないことが分かる。4BB改符号化では、継続フ
ラグを元データのビットパターンの前に付加するだけな
ので、このようにステップ数が少なくて済み、高速な処
理が実現される。また、継続フラグの値が小さければ、
そのUnaryコードは容易に求められる。
(C言語で記述)は、例えば、図8に示すようになる。
図8においては、実際にI2(Value)を計算する
代わりに、if−else ifで代用している。これ
は、Valueの値の範囲と、それに対応するI2(V
alue)の値の範囲とが、あらかじめ分かっているた
めである。また、set xbits(Bitbuf,
X)は、Xからxビット分のビットパターンを読み出し
てBitbufに書き込む関数を表す。
手順により符号化され、対応する符号‘1001010
1’が得られる。 1.I2(21)+1=2であるため、継続フラグは2
となる(ステップS21)。
0’でBitbufに入れる(ステップS22)。 3.継続フラグに続いて、Value=21のビットパ
ターン‘010101’をBitbufに入れる(ステ
ップS23)。
手順により符号化され、対応する符号‘1101001
01100’が得られる。 1.I2(300)+1=3であるため、継続フラグは
3となる(ステップS21)。
10’でBitbufに入れる(ステップS22)。 3.継続フラグに続いて、Value=300のビット
パターン‘100101100’をBitbufに入れ
る(ステップS23)。
ーチャートである。処理が開始されると、情報検索装置
は、まず、継続フラグのビット数を表す変数CFlag
を0とおき(ステップS31)、Bitbufの初めの
4ビットを変数Flagに読み込み(ステップS3
2)、その値を0x8と比較する(ステップS33)。
のビットが0であり、後続するブロックが存在しないこ
とを意味する。そこで、FlagをValueに代入し
て(ステップS34)、処理を終了する。
ットが1であり、後続ブロックが1つ以上存在すること
を意味する。そこで、最初の後続ブロックが継続フラグ
に対応するかどうかを調べるために、Flagと0xf
=‘1111’を比較する(ステップS35)。
ラグのブロックが続くことが分かる。そこで、CFla
gに4を加算し、Bitbuf内の次の4ビットをFl
agに読み込む(ステップS36)。そして、ステップ
S35以降の処理を繰り返す。
ットパターンは0を含んでおり、継続フラグが途切れる
ことが分かる。そこで、Flagの中で最初に0が現れ
た位置の順位をCFlagに加算する。また、その位置
より下のビットにマスクを掛けてそれらのビットを抽出
し、Maskに代入する(ステップS37)。
だビット数をCFlagの4倍から減算した値をRea
dBitとする(ステップS38)。CFlagを4倍
することで、Bitbufに含まれるデータの全ビット
数が得られ、それから読み込み済みのビット数を差し引
くことで、残りのデータの全ビット数が得られる。
数だけ左にシフトしてValueに代入し、Bitbu
fから、ReadBitのビット数だけの残りのデータ
を読み込んで、それをValueに加算し、処理を終了
する。これにより、継続フラグの部分を除いた元データ
のビットパターンが、Valueとして得られる。
処理のステップ数は、4BB復号化処理のそれより少し
多いことが分かる。しかし、図5および図9のループ内
の処理において、4BB復号化の場合は、継続フラグと
データ部分を同時に読み込むのに対して、4BB改復号
化の場合は、継続フラグ部分のみ読み込めばよい。この
ため、1ブロックまたは2ブロック程度の符号を復号化
する場合は、4BB改復号化の処理速度は4BB復号化
処理とそれほど変わらないが、大きなブロックの復号化
では4BB改復号化の方がはるかに速くなる。
(C言語で記述)は、例えば、図10に示すようにな
る。図10においては、実際にCFlagおよびRea
dBitの値を計算する代わりに、if−else i
fで代用している。これは、Valueの値の範囲と、
それに対応するReadBitの値の範囲とが、あらか
じめ分かっているためである。また、変数Valueを
変数Flagの代わりに用いており、変数Maskの代
わりに、Valueとマスク用ビットパターンの論理積
を用いている。
は以下の手順により復号化され、対応する数値21が得
られる。 1.初めの4ビット‘1001’を読み込む(ステップ
S32)。
上の2ビットに相当するため、下の2ビットにマスクを
掛け、Mask=‘1001’&0x3=‘0001’
を得る(ステップS37)。また、ReadBit=2
×4−4=4となるので、‘0001’を4ビット左へ
シフトし、Valueに代入する(ステップS38)。
これにより、Value=‘10000’=16とな
る。
ト数)である‘0101’=5を読み込み、Value
に加算する(ステップS38)。こうして、Value
=16+5=21となる。
00’は以下の手順により復号化され、対応する数値3
00が得られる。 1.初めの4ビット‘1101’を読み込む(ステップ
S32)。
は上の3ビットに相当するため、下の1ビットにマスク
を掛け、Mask=‘1101’&0x1=‘000
1’を得る(ステップS37)。また、ReadBit
=3×4−4=8となるので、‘0001’を8ビット
左へシフトし、Valueに代入する(ステップS3
8)。これにより、Value=‘10000000
0’=256となる。
ト数)である‘00101100’=44を読み込み、
Valueに加算する(ステップS38)。こうして、
Value=256+44=300となる。
復号化処理を説明する。図11は、84BB符号化処理
のフローチャートである。処理が開始されると、情報検
索装置は、まず、Valueの値を128と比較する
(ステップS41)。そして、Valueが128より
小さければ、それをBitbufにコピーして(ステッ
プS42)、処理を終了する。
I2(x)を用いてI2(Value)を求め、それを
継続フラグFlagの値とする(ステップS43)。次
に、FlagをUnaryコードに変換してBitbu
fに入れ(ステップS44)、それに続いてValue
を入れて(ステップS45)、処理を終了する。
化処理では、4BB改符号化処理より条件判定が1つ増
えるだけなので、その処理速度は4BB改符号化とほと
んど変わらない。
ード(C言語で記述)は、例えば、図12に示すように
なる。図12においては、4BB改符号化と同様に、実
際にI2(Value)を計算する代わりに、if−e
lse ifで代用している。
手順により符号化され、対応する符号‘1001001
01100’が得られる。 1.I2(300)=2であるため、継続フラグは2と
なる(ステップS43)。
0’でBitbufに入れる(ステップS44)。 3.継続フラグに続いて、Value=300のビット
パターン‘0100101100’をBitbufに入
れる(ステップS45)。
ローチャートである。処理が開始されると、情報検索装
置は、まず、Bitbufの初めの8ビットを変数Fl
agに読み込み(ステップS51)、その値を128と
比較する(ステップS52)。Flagが128より小
さい場合は、先頭のビットが0であり、後続するブロッ
クが存在しないことを意味する。そこで、FlagをV
alueに代入して(ステップS53)、処理を終了す
る。
ットが1であり、後続ブロックが1つ以上存在すること
を意味する。そこで、継続フラグのビット数を表す変数
CFlagを0とおき(ステップS54)、最初の後続
ブロックが継続フラグに対応するかどうかを調べるため
に、Flagの値を0xff=‘11111111’と
比較する(ステップS54a)。
フラグのブロックが続くことが分かる。そこで、CFl
agに8を加算し(ステップS54b)、Bitbuf
内の次の4ビットをFlagに読み込む(ステップS5
4c)。そして、読み込んだブロックの次のブロックが
継続フラグに対応するかどうかを調べるために、Fla
gの値を0xf=‘1111’と比較する(ステップS
55)。
ラグのブロックが続くことが分かる。そこで、CFla
gに4を加算し、Bitbuf内の次の4ビットをFl
agに読み込む(ステップS56)。そして、ステップ
S55以降の処理を繰り返す。
り小さいとき、および、ステップS55でFlagが0
xfより小さいときは、そのビットパターンは0を含ん
でおり、継続フラグが途切れることが分かる。そこで、
Flagの中で最初に0が現れた位置の順位をCFla
gに加算する。また、その位置より下のビットにマスク
を掛けてそれらのビットを抽出し、Maskに代入する
(ステップS57)。
だビット数を(CFlag+1)の4倍から減算した値
をReadBitとする(ステップS58)。次に、M
askをReadBitのビット数だけ左にシフトして
Valueに代入し、Bitbufから、ReadBi
tのビット数だけの残りのデータを読み込んで、それを
Valueに加算し、処理を終了する。これにより、継
続フラグの部分を除いた元データのビットパターンが、
Valueとして得られる。
ムコード(C言語で記述)は、例えば、図14に示すよ
うになる。図14においては、4BB改復号化と同様
に、実際にCFlagおよびReadBitの値を計算
する代わりに、if−elseifで代用している。ま
た、変数Valueを変数Flagの代わりに用いてお
り、変数Maskの代わりに、Valueとマスク用ビ
ットパターンの論理積を用いている。
100’は以下の手順により復号化され、対応する数値
300が得られる。 1.初めの8ビット‘10010010’を読み込む
(ステップS51)。
上の2ビットに相当するため、下の6ビットにマスクを
掛け、Mask=‘10010010’&0x3f=
‘00010010’を得る(ステップS57)。ま
た、ReadBit=(2+1)×4−8=4となるの
で、‘00010010’を4ビット左へシフトし、V
alueに代入する(ステップS58)。これにより、
Value=‘100100000’=288となる。
ト数)である‘1100’=12を読み込み、Valu
eに加算する(ステップS58)。こうして、Valu
e=288+12=300となる。
化処理を説明する。図15は、B24符号化処理のフロ
ーチャートである。処理が開始されると、情報検索装置
は、まず、Valueを1と比較する(ステップS6
1)。Value=1の場合は、ビットパターン‘0
0’をBitbufに入れて(ステップS62)、処理
を終了する。
2と比較する(ステップS63)。Value=2の場
合は、ビットパターン‘01’をBitbufに入れて
(ステップS64)、処理を終了する。
7と比較する(ステップS65)。Valueが7より
小さければ、ビットパターン‘10’を継続フラグとし
てBitbufに入れ、その後に(Value−3)の
ビットパターンを入れて(ステップS66)、処理を終
了する。
述のI2(x)を用いてI2(Value)を求め、I
2(Value)+2を変数Flagに代入する(ステ
ップS67)。そして、FlagをUnaryコードに
変換してBitbufに入れ、それに続いて(Valu
e−7)のビットパターンを入れて、処理を終了する。
1または2であれば、B24符号化処理のステップ数は
4BB改符号化処理のそれよりも少なくなり、処理速度
はより速くなる。また、図15のステップS67の処理
は、図7のステップS21、S22、S23の処理に対
応している。したがって、Valueが7以上であって
も、4BB改符号化処理と比較して条件判定が3つ追加
されているだけなので、処理速度はそれほど低下しな
い。Valueが3〜6の場合も同様である。
言語で記述)は、例えば、図16に示すようになる。図
16においては、上述の4BB改符号化と同様に、実際
にI2(Value)を計算する代わりに、if−el
se ifで代用している。
順により符号化され、対応する符号‘1100111
0’が得られる。 1.I2(21)+2=3であるため、継続フラグは3
となる(ステップS67)。
10’でBitbufに入れる(ステップS67)。 3.継続フラグに続いて、Value−7=21−7=
14のビットパターン‘01110’をBitbufに
入れる(ステップS67)。
ーチャートである。処理が開始されると、情報検索装置
は、まず、Bitbufの初めの2ビットを変数Fla
gに読み込み(ステップS71)、その値を1と比較す
る(ステップS72)。
が0であり、後続するビットパターンが存在しないこと
を意味する。そこで、(Flag+1)のビットパター
ンをValueに代入して(ステップS73)、処理を
終了する。
トが1であり、後続するビットパターンが存在すること
を意味する。そこで、次に、その値を2と比較する(ス
テップS74)。
ターンは2ビットであることを意味する。そこで、Bi
tbufの残りの2ビットを変数Valueに読み込
み、3を加算して(ステップS75)、処理を終了す
る。
1’であり、後続する1つ以上のブロックが存在するこ
とを意味する。そこで、Flag=‘11’を2ビット
左へシフトし、Bitbufの次の2ビットの値を読み
込んで、Flagに加算する(ステップS76)。そし
て、継続フラグのビット数を表す変数CFlagを0と
おき、最初の後続ブロックが継続フラグに対応するかど
うかを調べるために、Flagと0xf=‘1111’
を比較する(ステップS78)。
ラグのブロックが続くことが分かる。そこで、CFla
gに4を加算し、Bitbuf内の次の4ビットをFl
agに読み込む(ステップS79)。そして、ステップ
S78以降の処理を繰り返す。
ットパターンは0を含んでおり、継続フラグが途切れる
ことが分かる。そこで、Flagの中で最初に0が現れ
た位置の順位をCFlagに加算する。また、その位置
より下のビットにマスクを掛けてそれらのビットを抽出
し、Maskに代入する(ステップS80)。
だビット数を(CFlag−1)の4倍から減算した値
をReadBitとする(ステップS81)。そして、
MaskをReadBitのビット数だけ左にシフトし
てValueに代入し、Bitbufから、ReadB
itのビット数だけの残りのデータを読み込んで、それ
をValueに加算する。これにより、符号から継続フ
ラグの部分を除いたビットパターンが、Valueとし
て得られる。元データを得るために、Valueにさら
に7を加算して、処理を終了する。
処理では4BB改復号化処理よりも条件判定が1つ多い
が、処理速度はそれほど低下しない。B24復号化処理
のプログラムコード(C言語で記述)は、例えば、図1
8に示すようになる。図18においては、上述の4BB
改復号化と同様に、実際にCFlagおよびReadB
itの値を計算する代わりに、if−else ifで
代用している。また、変数Valueを変数Flagの
代わりに用いており、変数Maskの代わりに、Val
ueとマスク用ビット列の論理積を用いている。
は以下の手順により復号化され、対応する数値21が得
られる。 1.初めの2ビット‘11’をFlagに読み込む(ス
テップS71)。
gを2ビット左にシフトして、さらに次の2ビット‘0
0’を読み込み(ステップS76)、継続フラグを確認
する(ステップS78)。ここで、継続フラグが‘11
0’であることが分かる。
るので、継続フラグに続く残りの1ビットにマスクを掛
け、Mask=‘1100’&0x1=‘0000’を
得る。また、ReadBit=(3−1)×4−4=4
となるので、‘0000’を4ビット左へシフトし、V
alueに代入する(ステップS81)。
ト数)である‘1110’=14を読み込み、Valu
eに加算して、さらに7を加算する(ステップS8
1)。こうして、Value=14+7=21となる。
号化、およびB24符号化に必要な各ビット数を、4B
B符号化、γ−coding、およびδ−coding
に必要な各ビット数と比較すると、図19に示すように
なる。
小さい数値を少ないビット数、大きい数値を多いビット
数で表していることが分かる。ある数値列が与えられた
時にどの符号化が最も圧縮率が高くなるかは、その数値
列中においてどの範囲の数値が多く出現しているかによ
って大きく異なる。
に対しては、B24符号化が最も圧縮率が高いと予想さ
れ、また、512付近の値が多く出現するような数値列
に対しては、84BB符号化が最も圧縮率が高いと期待
できる。
る4294967295を各方法で符号化すると、得ら
れる符号のビットパターンとビット数は図20に示すよ
うになる。
内単語出現位置は、必ずしも小さな数値とは限らず、差
分情報を活用したとしてもかなり大きな数値となること
が多い。このような大きな数値を扱った場合には、いず
れの符号化方法を用いても圧縮効率は上がらない。
現位置等の数値データを適当な整数値で除算することに
より、情報の粒度を粗くし、より小さな中間数値に変換
することにする。小さな数値であれば、図19から分か
るように、いずれの符号化方法を用いても圧縮効率が良
くなる。このような変換を用いた符号化をPer符号化
と呼び、特に、除算の分母をnとする場合をPer
(n)符号化と呼ぶことにする。
ートである。処理が開始されると、情報検索装置は、ま
ず、元データを変数numに読み込み(ステップS9
1)、それをあらかじめ決められた分母値Perで除算
する(ステップS92)。
きるシフト命令が利用可能な値から選択することが望ま
しい。例えば、2、4、8、16、32、64等の値が
Perとして用いられる。ここでは、得られた商の少数
点以下の端数は切り捨て、その整数部分を中間数値と
し、それを改めてnumに代入する。
S93)、処理を終了する。ステップS93では、任意
の符号化方法を用いることができる。ただし、例えばB
24符号化のように、0を表現できない符号化方法を用
いる場合には、ステップS92で得られたnumが0の
とき、それに1を加算してから符号化するものとする。
法としてB24符号化を用いた場合の例を説明する。こ
こでは、分母値を2とするPer(2)符号化により、
上述の21という数値は以下の手順により符号化され、
対応する符号‘11000011’が得られる。
切り捨てる。これにより、num=10となる(ステッ
プS92)。 2.I2(10)+2=3であるため、継続フラグは3
となる(図15、ステップS67)。
10’でBitbufに入れる(ステップS67)。 4.継続フラグに続いて、Value−7=10−7=
3のビットパターン‘00011’をBitbufに入
れる(ステップS67)。
ーチャートである。処理が開始されると、情報検索装置
は、まず、Per符号を復号化し、得られた数値を変数
numに読み込む(ステップS102)。ただし、ステ
ップS102では、図21のステップS93で用いた符
号化方法に対応する復号化方法を用いる。次に、num
に上述の分母値Perを乗算し(ステップS103)、
その結果を呼び出し元のプログラムへ返して(ステップ
S104)、処理を終了する。
データは、必ずしも元データと一致するとは限らない。
例えば、上述の数値21に対応する符号‘110000
11’をB24復号化処理により復号化すると、数値1
0が得られる(ステップS102)。しかし、この数値
にPer=2を乗算すると、num=20となり(ステ
ップS103)、元の数値には戻らない。したがって、
Per符号化は、文書内単語出現位置のように、元デー
タのおおよその値が再現されればよい場合に有効であ
る。
方法は、いずれも小さな数値を少ないビットで、大きな
数値を多くのビットで表すようになっている。Per符
号化によれば、大きな数値を小さな数値に変換してから
符号化するので、それだけ圧縮の効果が期待できる。
めたインデックス構造は、[文書番号,文書内単語出現
頻度,文書内単語出現位置領域数,文書内単語出現位
置,・・・,]のようになる。ここで、文書内単語出現
位置領域数には、後続する文書内単語出現位置のデータ
領域の大きさが記述される。
の組の文書番号との差分で表すことができ、文書内単語
出現位置の情報も、同一文書内における該当する位置と
前の文書内単語出現位置との差分で表すことができる。
しかし、文書内単語出現頻度や文書内単語出現位置領域
数は、数値の小さいものから大きいものの順に並んでい
ないので、差分値を取ることはできない。
位置領域数はビット単位で記述される。しかし、本発明
の符号化方法では、最小のブロックのビット数が2ビッ
トまたは4ビットであることから、文書内単語出現位置
領域数を最小ブロック単位で記述することができる。
するのに200bit必要だったとすると、ビット単位
では200という数値で表現されるのに対して、2ビッ
ト単位では100という数値で表現され、4ビット単位
では50という数値で表現される。文書内単語出現位置
領域数も他の数値とともに符号化されるため、より小さ
い数値で表現することによって、インデックスサイズの
圧縮率の向上が期待できる。
書内単語出現頻度を代用した場合のインデックス構造
は、[文書番号,文書内単語出現頻度,文書内単語出現
位置,・・・,]のようになる。ここで、文書内単語出
現頻度は、後続する文書内単語出現位置の個数を表す。
り出すためには、文書内単語出現頻度の後の文書内単語
出現位置をすべて復号化しなければならない。これに対
して、文書内単語出現位置領域数を付加した場合には、
文書内単語出現位置を復号化する必要はなく、その領域
数から計算されるビット数だけ離れた場所にアクセスす
ればよい。
ら、上述の各符号化方法を組み合わせて用いたインデッ
クス構造の例を説明する。インデックスの構造は、その
用途に応じて、以下の5つの構成を取るものとする。
頻度] 第3のインデックス構造:[文書番号,文書内単語出現
頻度,文書内単語出現位置,・・・,] 第4のインデックス構造:[文書番号,文書内単語出現
位置領域数,文書内単語出現位置,・・・,] 第5のインデックス構造:[文書番号,文書内単語出現
頻度,文書内単語出現位置領域数,文書内単語出現位
置,・・・,] 例えば、図40のインデックス構造を第5のインデック
ス構造を用いて書き直すと、図23に示すように表現さ
れる。ここで、‘?’の位置には、文書内単語出現位置
領域数が書き込まれる。以下に示す例では、元データと
して図23の数値を用いており、それらは10進数で表
されている。
た場合の4BB改符号およびB24符号のビットパター
ンと、それぞれの符号の総ビット数を示している。第1
のインデックス構造は文書番号のみであるので、Per
符号化は用いられない。
た場合の符号のビットパターンと総ビット数を示してい
る。ここでは、Per(2)符号化を、文書内単語出現
頻度のみに適用し、(文書内単語出現頻度/2)の整数
部分を符号化している。ただし、その整数部分が0とな
る場合は代わりに数値1を符号化している。
号化する際、上述の各符号化方法の様々な組合せが考え
られる。ここでは、以下の6通りの組合せについて、符
号化の結果が示されている。
頻度:4BB改(図25、組合せ1) 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を符号化している。
内単語出現位置の個数が文書内単語出現頻度となるた
め、文書内単語出現頻度のみにPer符号化を適用する
ことはできない。そこで、以下の24通りの組合せにつ
いて、符号化の結果が示されている。
頻度:4BB改、文書内単語出現位置:4BB改(図2
6、組合せ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改、文書内単語出現頻度:B2
4、文書内単語出現位置:4BB改(図26、組合せ
5) 6.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置:4BB改+Per(16)
(図26、組合せ6) 7.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置:B24(図26、組合せ7) 8.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置:B24+Per(16)(図
26、組合せ8) 9.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置:4BB改(図27、組合せ
9) 10.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置:4BB改+Per(16)
(図27、組合せ10) 11.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置:B24(図27、組合せ1
1) 12.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置:B24+Per(16)(図
27、組合せ12) 13.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置:4BB改(図27、組合せ1
3) 14.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置:4BB改+Per(16)
(図27、組合せ14) 15.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置:B24(図27、組合せ1
5) 16.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置:B24+Per(16)(図
27、組合せ16) 17.文書番号:4BB改、文書内単語出現頻度:4B
B改、文書内単語出現位置:84BB(図28、組合せ
17) 18.文書番号:4BB改、文書内単語出現頻度:4B
B改、文書内単語出現位置:84BB+Per(16)
(図28、組合せ18) 19.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置:84BB(図28、組合せ1
9) 20.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置:84BB+Per(16)
(図28、組合せ20) 21.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置:84BB(図28、組合せ2
1) 22.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置:84BB+Per(16)
(図28、組合せ22) 23.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置:84BB(図28、組合せ2
3) 24.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置:84BB+Per(16)
(図28、組合せ24) 図29、30、31は、第4のインデックス構造を用い
た場合の符号のビットパターンと総ビット数を示してい
る。ここでは、Per(16)符号化を、文書内単語出
現位置のみに適用し、(文書内単語出現頻度/16)の
整数部分を符号化している。ただし、その整数部分が0
となる場合は代わりに数値1を符号化している。
号化した場合には、文書内単語出現位置領域数の単位は
4ビットとなり、B24符号化で符号化した場合には、
文書内単語出現位置領域数の単位は2ビットとなる。コ
ード系のコラムの()内のビット数は、この単位ブロッ
クの大きさを表し、各ビットパターンの右側の()内の
数値は、そのビットパターンに対応する十進数を表す。
ここでは、以下の24通りの組合せについて、符号化の
結果が示されている。
位置領域数:4BB改、文書内単語出現位置:4BB改
(図29、組合せ1) 2.文書番号:4BB改、文書内単語出現位置領域数:
4BB改、文書内単語出現位置:4BB改+Per(1
6)(図29、組合せ2) 3.文書番号:4BB改、文書内単語出現位置領域数:
4BB改、文書内単語出現位置:B24(図29、組合
せ3) 4.文書番号:4BB改、文書内単語出現位置領域数:
4BB改、文書内単語出現位置:B24+Per(1
6)(図29、組合せ4) 5.文書番号:4BB改、文書内単語出現位置領域数:
B24、文書内単語出現位置:4BB改(図29、組合
せ5) 6.文書番号:4BB改、文書内単語出現位置領域数:
B24、文書内単語出現位置:4BB改+Per(1
6)(図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(1
6)(図30、組合せ10) 11.文書番号:B24、文書内単語出現位置領域数:
4BB改、文書内単語出現位置:B24(図30、組合
せ11) 12.文書番号:B24、文書内単語出現位置領域数:
4BB改、文書内単語出現位置:B24+Per(1
6)(図30、組合せ12) 13.文書番号:B24、文書内単語出現位置領域数:
B24、文書内単語出現位置:4BB改(図30、組合
せ13) 14.文書番号:B24、文書内単語出現位置領域数:
B24、文書内単語出現位置:4BB改+Per(1
6)(図30、組合せ14) 15.文書番号:B24、文書内単語出現位置領域数:
B24、文書内単語出現位置:B24(図30、組合せ
15) 16.文書番号:B24、文書内単語出現位置領域数:
B24、文書内単語出現位置:B24+Per(16)
(図30、組合せ16) 17.文書番号:4BB改、文書内単語出現位置領域
数:4BB改、文書内単語出現位置:84BB(図3
1、組合せ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(1
6)(図31、組合せ22) 23.文書番号:B24、文書内単語出現位置領域数:
B24、文書内単語出現位置:84BB(図31、組合
せ23) 24.文書番号:B24、文書内単語出現位置領域数:
B24、文書内単語出現位置:84BB+Per(1
6)(図31、組合せ24) 図32、33、34、35、36、37は、第5のイン
デックス構造を用いた場合の符号のビットパターンと総
ビット数を示している。ここでは、Per(16)符号
化を、文書内単語出現位置のみに適用し、(文書内単語
出現頻度/16)の整数部分を符号化している。ただ
し、その整数部分が0となる場合は代わりに数値1を符
号化している。
文書内単語出現位置領域数の単位の大きさを表し、各ビ
ットパターンの右側の()内の数値は、そのビットパタ
ーンに対応する十進数を表す。ここでは、以下の48通
りの組合せについて、符号化の結果が示されている。
頻度:4BB改、文書内単語出現位置領域数:4BB
改、文書内単語出現位置:4BB改(図32、組合せ
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改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:4BB改(図33、組合せ9) 10.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:4BB改+Per(16)(図33、組合せ
10) 11.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:B24(図33、組合せ11) 12.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:B24+Per(16)(図33、組合せ1
2) 13.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:4BB改(図33、組合せ13) 14.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:4BB改+Per(16)(図33、組合せ1
4) 15.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:B24(図33、組合せ15) 16.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:B24+Per(16)(図33、組合せ1
6) 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、組合せ2
0) 21.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置領域数:B24、文書内単語出
現位置:4BB改(図34、組合せ21) 22.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置領域数:B24、文書内単語出
現位置:4BB改+Per(16)(図34、組合せ2
2) 23.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置領域数:B24、文書内単語出
現位置:B24(図34、組合せ23) 24.文書番号:B24、文書内単語出現頻度:4BB
改、文書内単語出現位置領域数:B24、文書内単語出
現位置:B24+Per(16)(図34、組合せ2
4) 25.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:4BB改(図35、組合せ25) 26.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:4BB改+Per(16)(図35、組合せ
26) 27.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:B24(図35、組合せ27) 28.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:B24+Per(16)(図35、組合せ2
8) 29.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:4BB改(図35、組合せ29) 30.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:4BB改+Per(16)(図35、組合せ3
0) 31.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:B24(図35、組合せ31) 32.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:B24+Per(16)(図35、組合せ3
2) 33.文書番号:4BB改、文書内単語出現頻度:4B
B改、文書内単語出現位置領域数:4BB改、文書内単
語出現位置:84BB(図36、組合せ33) 34.文書番号:4BB改、文書内単語出現頻度:4B
B改、文書内単語出現位置領域数:4BB改、文書内単
語出現位置:84BB+Per(16)(図36、組合
せ34) 35.文書番号:4BB改、文書内単語出現頻度:4B
B改、文書内単語出現位置領域数:B24、文書内単語
出現位置:84BB(図36、組合せ35) 36.文書番号:4BB改、文書内単語出現頻度:4B
B改、文書内単語出現位置領域数:B24、文書内単語
出現位置:84BB+Per(16)(図36、組合せ
36) 37.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:84BB(図36、組合せ37) 38.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:84BB+Per(16)(図36、組合せ
38) 39.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:84BB(図36、組合せ39) 40.文書番号:4BB改、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:84BB+Per(16)(図36、組合せ4
0) 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、組合せ4
4) 45.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:84BB(図37、組合せ45) 46.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:4BB改、文書内単語
出現位置:84BB+Per(16)(図37、組合せ
46) 47.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:84BB(図37、組合せ47) 48.文書番号:B24、文書内単語出現頻度:B2
4、文書内単語出現位置領域数:B24、文書内単語出
現位置:84BB+Per(16)(図37、組合せ4
8) 以上説明した実施形態においては、本発明のデータ圧縮
/復元装置を情報検索装置に適用しているが、このデー
タ圧縮/復元装置は、検索用インデックスのみに限ら
ず、任意のデータの圧縮/復元に用いることができる。
理の速度を落とさずに、インデックス作成処理を高速化
することができ、また、インデックスの圧縮率を高める
ことができる。
ス作成に要する時間を短縮することができ、B24符号
化および84BB符号化により、それほど符号化/復号
化の処理速度を落とすことなく、インデックスの圧縮率
を高めることができる。また、Per符号化により、情
報の精度は多少落ちるものの、インデックスの圧縮率を
高めることができる。
る。
る。
る。
る。
る。
る。
る。
る。
示す図である。
示す図である。
示す図(その1)である。
示す図(その2)である。
示す図(その3)である。
示す図(その1)である。
示す図(その2)である。
示す図(その3)である。
示す図(その1)である。
示す図(その2)である。
示す図(その3)である。
示す図(その4)である。
示す図(その5)である。
示す図(その6)である。
示す図である。
る。
Claims (43)
- 【請求項1】 与えられたデータをブロック単位で圧縮
し、圧縮されたデータの先頭部分に、該圧縮されたデー
タの長さを表す継続フラグ情報を生成する圧縮手段と、 前記圧縮されたデータを格納する格納手段とを備えるこ
とを特徴とするデータ圧縮装置。 - 【請求項2】 前記圧縮手段は、情報検索のためのイン
デックス内で用いられる数値データを圧縮することを特
徴とする請求項1記載のデータ圧縮装置。 - 【請求項3】 前記圧縮手段は、文書番号データ、文書
内単語出現頻度データ、文書内単語出現位置データ、お
よび文書内単語出現位置データの領域の大きさを表すデ
ータのうち、少なくとも1つ以上の数値データを圧縮す
ることを特徴とする請求項2記載のデータ圧縮装置。 - 【請求項4】 前記文書番号データと文書内単語出現位
置データのうち少なくとも1つは差分情報を表すことを
特徴とする請求項3記載のデータ圧縮装置。 - 【請求項5】 前記圧縮手段は、1ブロック以上の前記
圧縮されたデータの先頭部分に、該圧縮されたデータの
ブロック長を表す前記継続フラグ情報を生成し、該継続
フラグ情報に続いて、前記与えられたデータを表すデー
タを生成することを特徴とする請求項1記載のデータ圧
縮装置。 - 【請求項6】 前記圧縮手段は、4ビットをブロックの
単位として、前記与えられたデータを符号化する符号化
手段を含むことを特徴とする請求項5記載のデータ圧縮
装置。 - 【請求項7】 前記圧縮手段は、127以下の数値デー
タが与えられたとき、与えられた数値データを8ビット
のブロックで符号化し、128以上の数値データが与え
られたとき、与えられた数値データを、8ビットの先頭
ブロックと4ビットをブロックの単位とする1つ以上の
後続ブロックとを用いて符号化する符号化手段を含むこ
とを特徴とする請求項5記載のデータ圧縮装置。 - 【請求項8】 前記符号化手段は、前記127以下の数
値データを、1ビットの0と7ビットのビットパターン
で表すことを特徴とする請求項7記載のデータ圧縮装
置。 - 【請求項9】 前記圧縮手段は、2以下の数値データが
与えられたとき、与えられた数値データを2ビットのブ
ロックで符号化し、3以上の数値データが与えられたと
き、与えられた数値データを、4ビットをブロックの単
位として符号化する符号化手段を含むことを特徴とする
請求項5記載のデータ圧縮装置。 - 【請求項10】 前記符号化手段は、3以上6以下の数
値データが与えられたとき、与えられた数値データを、
2ビットの前記継続フラグ情報と2ビットのビットパタ
ーンで表すことを特徴とする請求項9記載のデータ圧縮
装置。 - 【請求項11】 情報検索のためのインデックス内で用
いられる数値データの粒度を粗くして、該数値データを
圧縮する圧縮手段と、 圧縮されたデータを格納する格納手段とを備えることを
特徴とするデータ圧縮装置。 - 【請求項12】 前記圧縮手段は、前記数値データを、
より小さな数値を表す中間数値データに変換して、圧縮
することを特徴とする請求項11記載のデータ圧縮装
置。 - 【請求項13】 前記圧縮手段は、情報検索のためのイ
ンデックス内で用いられる文書内単語出現頻度データと
文書内単語出現位置データのうち、少なくとも1つ以上
の数値データを圧縮することを特徴とする請求項11記
載のデータ圧縮装置。 - 【請求項14】 前記圧縮手段は、粒度の粗くなった中
間数値データを、4ビットをブロックの単位として圧縮
し、前記圧縮されたデータの先頭部分に、該圧縮された
データのブロック長を表す継続フラグ情報を生成するこ
とを特徴とする請求項11記載のデータ圧縮装置。 - 【請求項15】 前記圧縮手段は、粒度の粗くなった中
間数値データが2以下の数値を表すとき、該中間数値デ
ータを2ビットのブロックで表し、該中間数値データが
3以上の数値を表すとき、該中間数値データを、4ビッ
トをブロックの単位として圧縮することを特徴とする請
求項11記載のデータ圧縮装置。 - 【請求項16】 前記圧縮手段は、3以上6以下の数値
データが与えられたとき、与えられた数値データを、2
ビットの継続フラグ情報と2ビットのビットパターンで
表すことを特徴とする請求項15記載のデータ圧縮装
置。 - 【請求項17】 情報検索のためのインデックス内で用
いられる文書内単語出現位置データの領域の大きさを表
す大きさデータをブロック単位で記述し、該大きさデー
タを圧縮する圧縮手段と、 圧縮された大きさデータを格納する格納手段とを備える
ことを特徴とするデータ圧縮装置。 - 【請求項18】 ブロック単位で圧縮されたデータを格
納する格納手段と、 前記圧縮されたデータの先頭部分の継続フラグ情報に基
づいて、該圧縮されたデータの長さを決定し、元のデー
タを復元する復元手段とを備えることを特徴とするデー
タ復元装置。 - 【請求項19】 前記復元手段は、情報検索のためのイ
ンデックス内で用いられる数値データを復元することを
特徴とする請求項18記載のデータ復元装置。 - 【請求項20】 前記復元手段は、文書番号データ、文
書内単語出現頻度データ、文書内単語出現位置データ、
および文書内単語出現位置データの領域の大きさを表す
データのうち、少なくとも1つ以上の数値データを復元
することを特徴とする請求項19記載のデータ復元装
置。 - 【請求項21】 前記復元手段は、1ブロック以上の前
記圧縮されたデータのブロック長を表す前記継続フラグ
情報に基づいて、該継続フラグ情報に続く前記元のデー
タを表すデータを取り出し、該元のデータを復元するこ
とを特徴とする請求項18記載のデータ復元装置。 - 【請求項22】 前記復元手段は、前記圧縮されたデー
タとして与えられた、4ビットをブロックの単位として
記述された符号を、復号化する復号化手段を含むことを
特徴とする請求項21記載のデータ復元装置。 - 【請求項23】 前記復元手段は、前記圧縮されたデー
タとして8ビットのブロックを1つ与えられたとき、該
ブロックを復号化して127以下の数値データを生成
し、該圧縮されたデータとして8ビットの先頭ブロック
と4ビットをブロックの単位とする1つ以上の後続ブロ
ックとが与えられたとき、該先頭ブロックと後続ブロッ
クを復号化して128以上の数値データを生成する復号
化手段を含むことを特徴とする請求項21記載のデータ
復元装置。 - 【請求項24】 前記復号化手段は、前記8ビットのブ
ロックが1ビットの0と7ビットのビットパターンから
成るとき、前記127以下の数値データを生成すること
を特徴とする請求項23記載のデータ復元装置。 - 【請求項25】 前記復元手段は、前記圧縮されたデー
タとして2ビットのブロックを1つ与えられたとき、該
ブロックを復号化して2以下の数値データを生成し、該
圧縮されたデータとして4ビットをブロックの単位とす
る1つ以上のブロックが与えられたとき、該1つ以上の
ブロックを復号化して3以上の数値データを生成する復
号化手段を含むことを特徴とする請求項21記載のデー
タ復元装置。 - 【請求項26】 前記復号化手段は、前記圧縮されたデ
ータが2ビットの前記継続フラグ情報と2ビットのビッ
トパターンから成るとき、3以上6以下の数値データを
生成することを特徴とする請求項25記載のデータ復元
装置。 - 【請求項27】 情報検索のためのインデックス内で用
いられる数値データの粒度を粗くし、圧縮して格納する
格納手段と、 前記数値データを復元し、復元された数値データの粒度
を元に戻す復元手段とを備えることを特徴とするデータ
復元装置。 - 【請求項28】 情報検索のためのインデックス内で用
いられる文書内単語出現位置データの領域の大きさをブ
ロック単位で記述した大きさデータを、圧縮して格納す
る格納手段と、 前記大きさデータを復元する復元手段とを備えることを
特徴とするデータ復元装置。 - 【請求項29】 情報検索のためのインデックス内で用
いられる数値データをブロック単位で圧縮して格納する
格納手段と、 圧縮されたデータの先頭部分の継続フラグ情報に基づい
て、該圧縮されたデータの長さを決定し、元のデータを
復元する復元手段と、 復元された元のデータを用いてデータベースを検索する
検索手段とを備えることを特徴とする情報検索装置。 - 【請求項30】 情報検索のためのインデックス内で用
いられる数値データの粒度を粗くし、圧縮して格納する
格納手段と、 前記数値データを復元し、復元された数値データの粒度
を元に戻す復元手段と、 復元された元のデータを用いてデータベースを検索する
検索手段とを備えることを特徴とする情報検索装置。 - 【請求項31】 情報検索のためのインデックス内で用
いられる文書内単語出現位置データの領域の大きさをブ
ロック単位で記述した大きさデータを、圧縮して格納す
る格納手段と、 前記大きさデータを復元する復元手段と、 復元された元のデータを用いてデータベースを検索する
検索手段とを備えることを特徴とする情報検索装置。 - 【請求項32】 コンピュータのためのプログラムを記
録した記録媒体であって、 与えられたデータをブロック単位で圧縮し、圧縮された
データの先頭部分に、該圧縮されたデータの長さを表す
継続フラグ情報を生成する機能を前記コンピュータに実
現させるためのプログラムを記録したコンピュータ読み
取り可能な記録媒体。 - 【請求項33】 コンピュータのためのプログラムを記
録した記録媒体であって、 情報検索のためのインデックス内で用いられる数値デー
タの粒度を粗くして、該数値データを圧縮する機能を前
記コンピュータに実現させるためのプログラムを記録し
たコンピュータ読み取り可能な記録媒体。 - 【請求項34】 コンピュータのためのプログラムを記
録した記録媒体であって、 情報検索のためのインデックス内で用いられる文書内単
語出現位置データの領域の大きさを表す大きさデータを
ブロック単位で記述し、該大きさデータを圧縮する機能
を前記コンピュータに実現させるためのプログラムを記
録したコンピュータ読み取り可能な記録媒体。 - 【請求項35】 コンピュータのためのプログラムを記
録した記録媒体であって、 ブロック単位で圧縮されたデータの先頭部分の継続フラ
グ情報に基づいて、圧縮されたデータの長さを決定し、
元のデータを復元する機能を前記コンピュータに実現さ
せるためのプログラムを記録したコンピュータ読み取り
可能な記録媒体。 - 【請求項36】 コンピュータのためのプログラムを記
録した記録媒体であって、 情報検索のためのインデックス内で用いられる数値デー
タの粒度を粗くして圧縮したデータを復元し、復元され
た数値データの粒度を元に戻す機能を前記コンピュータ
に実現させるためのプログラムを記録したコンピュータ
読み取り可能な記録媒体。 - 【請求項37】 コンピュータのためのプログラムを記
録した記録媒体であって、 情報検索のためのインデックス内で用いられる文書内単
語出現位置データの領域の大きさをブロック単位で記述
して圧縮したデータを復元する機能を前記コンピュータ
に実現させるためのプログラムを記録したコンピュータ
読み取り可能な記録媒体。 - 【請求項38】 与えられたデータをブロック単位で圧
縮し、圧縮されたデータの先頭部分に、該圧縮されたデ
ータの長さを表す継続フラグ情報を生成することを特徴
とするデータ圧縮方法。 - 【請求項39】 情報検索のためのインデックス内で用
いられる数値データの粒度を粗くして、 該数値データを圧縮することを特徴とするデータ圧縮方
法。 - 【請求項40】 情報検索のためのインデックス内で用
いられる文書内単語出現位置データの領域の大きさを表
す大きさデータをブロック単位で記述し、 該大きさデータを圧縮することを特徴とするデータ圧縮
方法。 - 【請求項41】 ブロック単位で圧縮されたデータの先
頭部分の継続フラグ情報に基づいて、圧縮されたデータ
の長さを決定し、 元のデータを復元することを特徴とするデータ復元方
法。 - 【請求項42】 情報検索のためのインデックス内で用
いられる数値データの粒度を粗くして圧縮したデータを
復元し、 復元された数値データの粒度を元に戻すことを特徴とす
るデータ復元方法。 - 【請求項43】 情報検索のためのインデックス内で用
いられる文書内単語出現位置データの領域の大きさをブ
ロック単位で記述して圧縮したデータを復元することを
特徴とするデータ復元方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01177198A JP3708318B2 (ja) | 1997-02-28 | 1998-01-23 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-45424 | 1997-02-28 | ||
JP4542497 | 1997-02-28 | ||
JP01177198A JP3708318B2 (ja) | 1997-02-28 | 1998-01-23 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004320949A Division JP2005137015A (ja) | 1997-02-28 | 2004-11-04 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
JP2004320948A Division JP3898717B2 (ja) | 1997-02-28 | 2004-11-04 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10301959A true JPH10301959A (ja) | 1998-11-13 |
JP3708318B2 JP3708318B2 (ja) | 2005-10-19 |
Family
ID=26347294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01177198A Expired - Lifetime JP3708318B2 (ja) | 1997-02-28 | 1998-01-23 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3708318B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012049883A1 (ja) * | 2010-10-15 | 2012-04-19 | 日本電気株式会社 | データ構造、インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法およびコンピュータ読み取り可能な記録媒体 |
CN110048725A (zh) * | 2019-05-14 | 2019-07-23 | 四川九洲空管科技有限责任公司 | 一种基于taws系统的地形数据压缩解压缩算法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257774A (ja) * | 1992-03-10 | 1993-10-08 | Fujitsu Ltd | インデックス・レコード番号を圧縮・格納した情報検索装置 |
JPH06301514A (ja) * | 1993-04-19 | 1994-10-28 | Hitachi Ltd | データ処理装置 |
-
1998
- 1998-01-23 JP JP01177198A patent/JP3708318B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257774A (ja) * | 1992-03-10 | 1993-10-08 | Fujitsu Ltd | インデックス・レコード番号を圧縮・格納した情報検索装置 |
JPH06301514A (ja) * | 1993-04-19 | 1994-10-28 | Hitachi Ltd | データ処理装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012049883A1 (ja) * | 2010-10-15 | 2012-04-19 | 日本電気株式会社 | データ構造、インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法およびコンピュータ読み取り可能な記録媒体 |
JP5812007B2 (ja) * | 2010-10-15 | 2015-11-11 | 日本電気株式会社 | インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法、インデックス作成プログラムおよびデータ検索プログラム |
US9600565B2 (en) | 2010-10-15 | 2017-03-21 | Nec Corporation | Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium |
CN110048725A (zh) * | 2019-05-14 | 2019-07-23 | 四川九洲空管科技有限责任公司 | 一种基于taws系统的地形数据压缩解压缩算法 |
CN110048725B (zh) * | 2019-05-14 | 2023-07-07 | 四川九洲空管科技有限责任公司 | 一种基于taws系统的地形数据压缩解压缩算法 |
Also Published As
Publication number | Publication date |
---|---|
JP3708318B2 (ja) | 2005-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100894002B1 (ko) | 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법 | |
Nelson et al. | The data compression book 2nd edition | |
AU702207B2 (en) | Method of and apparatus for compressing and decompressing data and data processing apparatus and network system using the same | |
US5999949A (en) | Text file compression system utilizing word terminators | |
Roth et al. | Database compression | |
JP3778087B2 (ja) | データ符号化装置及びデータ復号装置 | |
JP5831298B2 (ja) | プログラム、情報処理装置およびインデックス生成方法 | |
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 | |
US5815096A (en) | Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure | |
KR100495593B1 (ko) | 파일 처리 방법, 데이터 처리 장치, 및 기억 매체 | |
Rahman et al. | A novel lossless coding technique for image compression | |
US6112208A (en) | Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols | |
JP3898717B2 (ja) | データ圧縮/復元装置およびデータ圧縮/復元方法 | |
JP3708318B2 (ja) | データ圧縮/復元装置およびデータ圧縮/復元方法 | |
Chung et al. | Level-compressed Huffman decoding | |
JPH10261969A (ja) | データ圧縮方法および装置 | |
Niemi et al. | Burrows‐Wheeler post‐transformation with effective clustering and interpolative coding | |
JP2005137015A (ja) | データ圧縮/復元装置およびデータ圧縮/復元方法 | |
JP3199292B2 (ja) | ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法 | |
Sadakane | Text compression using recency rank with context and relation to context sorting, block sorting and PPM/sup* | |
JP3442105B2 (ja) | データ圧縮および復元方式 | |
Ng et al. | Dynamic word based text compression | |
JP3083329B2 (ja) | データ圧縮復元方式 | |
JPH07282040A (ja) | 日本語情報圧縮方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050405 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050603 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050609 |
|
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: 20050802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050803 |
|
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: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130812 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |