JPH11215007A - データ圧縮装置及び復元装置並びにその方法 - Google Patents

データ圧縮装置及び復元装置並びにその方法

Info

Publication number
JPH11215007A
JPH11215007A JP10010076A JP1007698A JPH11215007A JP H11215007 A JPH11215007 A JP H11215007A JP 10010076 A JP10010076 A JP 10010076A JP 1007698 A JP1007698 A JP 1007698A JP H11215007 A JPH11215007 A JP H11215007A
Authority
JP
Japan
Prior art keywords
character string
code
character
data
storage unit
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
Application number
JP10010076A
Other languages
English (en)
Other versions
JP3421700B2 (ja
Inventor
Takashi Morihara
隆 森原
Hironori Yahagi
裕紀 矢作
Nobuko Sato
宣子 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP01007698A priority Critical patent/JP3421700B2/ja
Priority to US09/099,421 priority patent/US6542640B1/en
Publication of JPH11215007A publication Critical patent/JPH11215007A/ja
Priority to US10/308,000 priority patent/US6747582B2/en
Application granted granted Critical
Publication of JP3421700B2 publication Critical patent/JP3421700B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【課題】キロバイトオーダの少ないデータであっても高
い圧縮率を保ちながら高速で圧縮と復元を行う。 【解決手段】文字列辞書格納部14に圧縮する際の処理
単位となる文字列を登録した辞書を格納し、文字列比較
部12で、文字列辞書格納部14の登録文字列と非圧縮
データ中の部分文字列とを比較して一致する部分文字列
を検出し、符号出力部16が文字列比較部12によって
検出された部分文字列ごとに予め定められた符号を割り
当てて出力する。文字列辞書格納部14は約13万語の
単語をに17ビットの固定長の文字列符号を割り当てて
おり、文書データの大小に関わらず、実質的にデータ量
を半分以下に圧縮する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、文書データを圧縮し復
元するためのデータ圧縮装置及び復元装置並びその方法
に関し、特に、日本語、中国語、ハングル語等のスペー
スで区切られない単語構造をもつ言語の文字コードで作
成された文書データを圧縮し復元するためのデータ圧縮
装置及び復元装置並びにその方法に関する。
【0002】
【発明の属する技術分野】近年、文字コード、画像デー
タ等の様々な種類のデータがコンピュータで扱われてい
る。更にインターネットやイントラネットの普及に伴
い、メールや電子化文書が増加している。このような大
量のデータは、データ中の冗長な部分を省いて圧縮する
ことにより、記憶容量を減らしたり、短時間で遠隔地に
送ることを可能にしている。
【0003】本発明の分野は、文字コードの圧縮に限ら
ず、様々なデータに適用できるが、以下では、情報理論
で用いられる呼称を踏襲し、データの1ワード単位を文
字と呼び、データが任意の複数ワードつながったものを
文字列と呼ぶことにする。データ圧縮には、データ系列
の類似性を利用した辞書型符号化と、データのみの出現
頻度を利用した確率統計型符号化がある。辞書型符号化
は、文字列を辞書の登録番号に置き換え、出現頻度の高
い文字列ほど長い文字列で辞書に登録することで、高い
圧縮率を得る方法である。辞書型符号化の代表的な方法
として、LZ77とLZ78(例えば、植松友彦著「文
書データ圧縮アルゴリズム入門」、CQ出版参照)があ
る。
【0004】LZ77は、一定量のバッファを設け、バ
ッファ内で最長一致する文字列の位置と長さを符号化す
る。一方、LZ78は、過去に出現した文字列を辞書に
登録し、登録番号を符号化する。確率統計型符号化アル
ゴリズムは、統計的な各文字の出現頻度に従い、出現頻
度の高い文字に対して短い符号長を割り当てることで、
高い圧縮率を得る方法である。
【0005】確率統計型符号化の代表的なものとして、
算術符号化(例えば、Ian H.Witten他著「Arithmetic C
ording for Data Compression 」,Commun.of ACM,Vol.
130No.6,pp.520-5 40参照)やハフマン符号化(例え
ば、Donald E. Knuth 著「Dynamic Huffman Coding」,
Journal of Algorithms, Vol.6,pp163-180 参照)があ
る。
【0006】一層の圧縮効果を得るために、1文字ごと
の出現確率でなく、入力文字と直前文字との依存関係を
表わす文脈を取り入れた条件付き出現確率に基づいて可
変長符号化する図48の文脈収集部200と可変長符号
化部202を備えた符号化が提案されている。このよう
な文脈を取り入れた条件付き確率を用いて可変長符号化
するものを文脈モデルと称する。
【0007】文脈及び符号化対象文字は、図49(A)
の3文字abcの入力文字を例にとると、図49(B)
の木構造で表される。この木構造を文脈木と称し、各ノ
ードの文字を通る文字列が出る毎に出現回数を各ノード
にて計数しておくことによって、条件付き確率が求めら
れる。LZ78方式及び確率統計型符号化は、非圧縮デ
ータ列の実際の出現頻度によらず、次の3種類がある。
【0008】予め設定した出現頻度に従って分割する
静的符号化(static cordig); 最初に全文字列を走査して得た出現頻度に従って分割
する準適応型符号化(semi-adaptive cording); 文字が出表する毎に頻度を再計算し、再計算した出現
頻度に従って分割する適応型符号化(adaptive) ; そして、非圧縮データ列の種類を問わない圧縮では、準
適応型符号化や適応型符号化が利用されている。
【0009】
【発明が解決しようとする問題点】このような従来の準
適応型符号化及び適応型符号化によれば、数メガバイト
程度の大きなデータを圧縮する際には、非圧縮データ列
に即した符号を割り当てることができるため、高い圧縮
率を得ることができる。しかしながら、数キロバイト程
度の小さなデータを圧縮する場合には、どの文字列も数
回程度しか出現しないため、統計的な出現頻度に適合し
た符号を割り当てることができず、準適応型符号化や適
応型符号化では高い圧縮率を得ることができなかった。
【0010】一方、予め設定した出現頻度に従って分割
する静的符号化は、データサイズに関わらず一定の圧縮
率が得られるが、予め設定する符号は一つに固定である
ため、準備した符号と異なる統計量を持つデータに対し
ては、高い圧縮率を得ることができないという問題点が
あった。特に、1文字を2バイトのワードデータで表現
している日本語、中国語、ハングル語等の言語の文書デ
ータについて、数キロバイト程度の小さなデータを圧縮
する場合、従来の符号化では圧縮効果がほとんど期待で
きず、文書によって圧縮後のデータ量が増加してしまう
場合もある。
【0011】更に、従来の符号化は、1バイト単位に処
理を行うために、処理が繁雑になり高速化が困難という
問題があった。本発明は、このような従来の欠点をなく
し、キロバイトオーダの少ないデータであっても高い圧
縮率を保ちながら高速で圧縮と復元ができるデータ圧縮
装置、復元装置並びにその方法を提供することを目的と
する。
【0012】
【課題を解決するための手段】(第1発明)図1は、本
願による第1発明の原理説明図である。本発明は、スペ
ースで区切られない単語構造をもつ言語の文字コードで
作成された非圧縮データを圧縮するデータ圧縮装置を対
象とする。スペースで区切られない単語構造をもつ言語
としては、例えば日本語、中国語、ハングル語等があ
る。
【0013】このようなデータ圧縮装置として本発明
は、図1(A)のように、圧縮する際の処理単位となる
文字列を登録した辞書を格納する文字列辞書格納部14
と、文字列辞書格納部14の登録文字列と非圧縮データ
中の部分文字列との比較により、登録文字列に一致する
部分文字列を検出する文字列比較部12と、文字列比較
部12によって一致検出された部分文字列ごとに予め定
められた文字列符号を割り当てて出力する符号出力部1
6とを備えたことを特徴とする。
【0014】日本語を例にとると、日本語の単語の関す
る(株)日本電子化辞書研究所(EDR)の研究成果が
ある(横井,木村,小泉,三吉、「表層レベルにおける
電子化辞書の情報構造」、情報処理学会論文誌,Vol.3
7, No.3, p.333-344, 1996 )。この研究結果では、日
本語を構成する形態素、即ち単語の品詞を集計してい
る。単純に、単語を品詞類に分けて登録すると136,
486個となり、17ビット(最大262,143個)
の符号で表わすことができる。
【0015】また新世代コンピュータ技術開発機構(I
COT)で作成した日本語単語辞書を構成する約13万
語の単語ごとに構成する文字数を検出し、その分布を求
めた結果、全登録単語の1/2以上の7万語が2文字で
構成され、平均文字数は2.8文字(44.8ビット)
であることも判明している。図1(A)のデータ圧縮装
置では、文字列辞書格納部14に、日本語の辞書として
実用的な例えば約13万語の単語を、各単語に例えば1
7ビットの固定長の文字列符号を割り当てた辞書を作成
して格納し、非圧縮データの部分文字列に一致する辞書
の登録文字列を検索して17ビットの固定長符号を文字
列符号として割り当てて出力するこことで、文書データ
の大小に関わらず、実質的にデータ量を半分以下に圧縮
することができる。
【0016】文字列辞書格納部14は、圧縮しようとす
る部分文字列の先頭文字を格納した先頭文字格納部と、
先頭文字格納部に格納された先頭文字に従属する従属文
字列を格納した従属文字列格納部を備える。先頭文字格
納部は、先頭文字をインデックスとして従属文字列格納
部の先頭アドレスと従属文字列の数を格納する。従属文
字列格納部は、先頭文字格納部の先頭アドレスで指定さ
れる1又は複数の格納位置(従属文字列の個数分)に、
従属文字列の長さ、従属文字列及び文字列符号を組にし
て格納する。
【0017】文字列比較部は、現在処理中の非圧縮デー
タ中の先頭文字により文字列辞書格納部の先頭文字格納
部を参照して従属文字列格納部から従属文字列の長さを
取得し、非圧縮データ中から先頭文字に続く従属文字列
の長さの部分文字列を切り出して登録された従属文字列
との一致検出を行う。符号出力部は、文字列比較部から
登録文字列に一致する検出結果を受けた際に、従属文字
列格納部に格納された文字列符号を一致検出した文字列
に割り当てて出力する。このように文字列辞書を2階層
に分けて格納することで、辞書サイズの小型化と検索の
高速化が図られる。
【0018】先頭文字格納部は、先頭文字をインデック
スとして従属文字列格納部の先頭アドレスと従属文字列
の数を格納する。従属文字列格納部は、先頭文字格納部
の先頭アドレスで指定される1又は複数の格納位置(従
属文字列の個数分)に、従属文字列の長さ、及び従属文
字列を組にして格納する。この文字列辞書の2階層構造
にあっては、従属文字列格納部に文字列符号を格納して
いないため、その分、辞書サイズを小型化できる。
【0019】この場合、文字列比較部は、現在処理中の
非圧縮データ中の先頭文字により文字列辞書格納部の先
頭文字格納部を参照して従属文字列格納部から従属文字
列の長さを取得し、非圧縮データ中から先頭文字に続く
前記従属文字列の長さの部分文字列を切り出して登録さ
れた従属文字列との一致検索を行い、符号出力部は、文
字列比較部から登録文字列に一致する検索結果を受けた
際に、従属文字列格納部の格納位置を示す文字列登録番
号を文字列符号として割り当てて出力する。
【0020】図1(A)で圧縮された圧縮データを復元
するデータ復元装置は、図1(B)のように、圧縮デー
タから復元単位となる文字列符号を分離する符号分離部
38と、復元する際の処理単位となる文字列符号に対応
する復元文字列を登録した辞書を格納する文字列辞書格
納部42と、符号分離部38で分離された文字列符号に
よる文字列辞書格納部42の参照で元の文字列を復元す
る文字列復元部40とを備えたことを特徴とする。
【0021】ここで、文字列辞書格納部42は、復元対
象とする文字列符号毎に、先頭文字、従属文字列の長
さ、及び従属文字列を組にして格納し、文字列復元部4
0は、現在処理中の文字列符号に基づき文字列辞書格納
部42の格納位置を認識して文字列を復元する。また文
字列辞書格納部42は、圧縮しようとする部分文字列の
先頭文字を格納した先頭文字格納部と、先頭文字格納部
に格納された先頭文字に従属する従属文字列を格納した
従属文字列格納部とで構成され、先頭文字格納部は、先
頭文字をインデックスとして従属文字列格納部の先頭ア
ドレスと従属文字列の数を格納し、従属文字列格納部
は、先頭文字格納部の先頭アドレスで指定される格納位
置に、先頭文字格納部への戻りアドレス、従属文字列の
長さ、及び従属文字列を組にして格納する。この2階層
の辞書構造は、図1(A)のデータ圧縮装置と図1
(B)のデータ復元装置の両方で共用できる。
【0022】データ復元装置の文字列復元部40は、現
在処理中の文字列符号に基づき従属文字列格納部の参照
で従属文字列を復元すると共に、戻りアドレスの取得で
先頭文字格納部を参照して先頭文字を復元する。本発明
の別の形態にあっては、図1(A)で圧縮した文字列符
号を中間符号として、更に既存の符号化により再度符号
化する二重符号化を行う。即ち、スペースで区切られな
い単語構造をもつ言語の文字コードで作成された非圧縮
データを圧縮するデータ圧縮装置は、図1(C)のよう
に、まず第1符号化部72によって、辞書に登録された
圧縮する際の処理単位となる登録文字列と非圧縮データ
中の部分文字列との比較により、登録文字列に一致する
部分文字列を検出し、一致検出された部分文字列ごとに
予め定められた文字列符号を中間符号してを割り当てて
出力する図1(A)と同じ符号化を行う。次に第2符号
化部74で第1符号化部72で圧縮された中間符号列を
入力して再度符号化する。
【0023】第2符号化部74は、中間符号列を辞書の
登録番号に置き換え、出現頻度の高い中間符号列ほど長
い符号列で登録して符号化する辞書型符号化部とする。
この辞書型符号化には、LD77やLZ88等が含まれ
る。また第2符号化部74は、中間符号の統計的な出現
頻度に基づき、出現頻度の高い中間符号に対し短い符号
を割り当てて出力する統計型符号化部であってもよい。
この統計型符号化部には、算術符号化等が含まれる。
【0024】更に、非圧縮データについてスペースで区
切られない言語である第1文字列としての日本語文字列
か、スペースで区切られる言語である第2文字列として
の例えば英語文字列かを識別し、日本語文字列は第1符
号化部72に入力し、英語文字列は第2符号化部74に
入力する文字列選択部を設ける。これにより日本語文書
を対象とした第1符号化部72で、単語出現傾向が適合
しない英語データを符号化して圧縮データ量が元のデー
タよりも大きくなってしまう不都合を解消する。図1
(B)の第1符号化部72の詳細は、図1(A)のデー
タ圧縮装置と同じである。
【0025】図1(C)のデータ圧縮装置に対応したデ
ータ復元装置は、図1(D)のように、圧縮データを入
力して中間符号列を復元する第1復号化部82と、第1
復号化部82で復号された中間符号列を入力して元の非
圧縮データ列を復元する第2復号化部82を備える。第
1復号化部82は、データ圧縮側で中間符号列を辞書の
登録番号に置き換え、出現頻度の高い中間符号列ほど長
い符号列で登録して符号化する辞書型符号化を行った場
合、入力符号による辞書の参照で中間符号を復元するL
Z77やLZ78などの辞書型復号化を行う。
【0026】またデータ圧縮側で、中間符号の統計的な
出現頻度に基づき、出現頻度の高い中間符号に対し短い
符号を割り当てて出力する統計型符号化を行った場合、
第1復号化部は、復元済みの中間符号の出現頻度に基づ
いて中間符号を復元する算術復号化等の統計型復号化を
行う。更に、データ圧縮側で非圧縮データについてスペ
ースで区切られない日本語文字列に対し第1段階及び第
2段階の符号化を行い、スペースで区切られる英語文字
列に対し第2段階のみの符号化を行っていた場合、第1
復号化部72に続いて文字列選択部を設け、第1段階及
び第2段階の符号化による日本語符号列を第1復号化部
82により符号化した中間符号列は第2符号化部84に
入力し、第2段階ののみの符号化による英語符号列を第
1復号化部82により符号化した文字列は、そのまま出
力する。このデータ復元装置における第2復号化部84
の詳細は、図1(B)のデータ復元装置の場合と同じに
なる。
【0027】更に、図1(A)のデータ圧縮装置に、符
号出力部16から出力された文字列符号を一致検出が行
われた非圧縮データの部分文字列と共に登録する動的辞
書を格納した動的辞書格納部を設ける。この場合、文字
列比較部12は、2回目以降について動的辞書格納部の
登録文字列と非圧縮データ中の部分文字列との比較によ
り、登録文字列に一致する部分文字列を検出し、一致す
る文字列が検出できない場合に文字列辞書格納部14を
検索して一致する部分文字列を検出する。このような符
号化を行うごとに動的辞書を作成してゆくことで、一度
符号化した文字列を次に符号化する際の辞書検索を高速
化できる。
【0028】また図1(B)のデータ復元装置について
も同様に、文字列復元部から出力された文字列を一致検
出が行われた圧縮データの文字列符号と共に登録する動
的辞書を格納した動的辞書格納部を設ける。この場合、
文字列復元部40は、2回目以降について動的辞書格納
部の登録文字列符号と圧縮データ中の文字列符号との比
較により、登録文字列符号に一致する文字列符号を検出
し、一致する文字列符号が検出できない場合に文字列辞
書格納部を検索して一致する文字列符号を検出し、これ
によって復元時の辞書検索を高速化する。
【0029】図1(C)のデータ圧縮装置についても、
同様に、符号出力部16から出力された文字列符号を一
致検出が行われた非圧縮データの部分文字列と共に登録
する動的辞書を格納した動的辞書格納部を設ける。この
場合、文字列比較部12は、2回目以降について動的辞
書格納部の登録文字列と非圧縮データ中の部分文字列と
の比較により、登録文字列に一致する部分文字列を検出
し、一致する文字列が検出できない場合に文字列辞書格
納部14を検索して一致する部分文字列を検出し、これ
によって符号化時の辞書検索を高速化できる。
【0030】また符号出力部16から出力された文字列
符号の出現頻度を計数して第2符号化部74に出力する
出現頻度計数部とを設ける。この場合、第2符号化部7
4は適応型の符号化を行う。また図1(D)のデータ復
元装置についても、同様に、文字列復元部40から出力
された文字列を一致検出が行われた圧縮データの文字列
符号と共に登録する動的辞書を格納した動的辞書格納部
を設ける。この場合、文字列復元部40は、2回目以降
について動的辞書格納部の登録文字列符号と圧縮データ
中の文字列符号との比較により、登録文字列符号に一致
する文字列符号を検出し、一致する文字列符号が検出で
きない場合に文字列辞書格納部を検索して一致する文字
列符号を検出し、これによって復元時の辞書検索を高速
化する。
【0031】更に文字列復元部40から出力された文字
列の出現頻度を計数して第1復号化部82に出力する出
現頻度計数部とを設ける。この場合、第1復号化部82
は適応型の復号化を行う。また本発明は、図1(A)の
データ圧縮装置、図1(B)のデータ復元装置、図1
(C)のデータ圧縮装置、及び図1(D)のデータ復元
装置の各々の処理手順をもつデータ圧縮方法及びデータ
復元方法を提供する。
【0032】(第2発明)図2は本願の第2発明の原理
説明図である。第2発明は、日本語の文書中の単語など
を高速に圧縮するため、単語の文字列を予め複数の属性
(品詞グループ)に分類しておき、分類した各属性毎に
短い符号を割り当てることでデータ圧縮を行うものであ
る。
【0033】即ち、スペースで区切られない単語構造を
もつ言語の文字コードで作成された非圧縮データを圧縮
するデータ圧縮装置として本発明は、図2(A)のよう
に、圧縮する際の処理単位となる文字列を、属性により
分類して複数の属性グループに分けて登録した辞書を格
納する文字列属性辞書格納部104と、文字列属性辞書
格納部100の登録文字列と非圧縮データ中の部分文字
列との比較により、登録文字列に一致する部分文字列を
検出する文字列比較部102と、文字列比較部102に
よって一致検出された部分文字列ごとに予め定められた
文字列符号と属性グループを表す属性符号との組を割り
当てて出力する符号出力部106とを備えたことを特徴
とする。
【0034】このような処理を行うことで、日本語文書
を高い圧縮率を保ちながら高速に圧縮できる。その理由
は、前述した(株)日本電子化辞書研究所(EDR)の
研究成果によれば、単語の属性として品詞類で属性グル
ープに分けた場合、例えば助詞類は日本語文書中での使
用頻度が高く、単語総数の1/4程度が助詞である。一
方、助詞類の種類は少なく、171種類に過ぎない。つ
まり、助詞を効率的に表現することにより効果的な圧縮
が可能となる。
【0035】更に、新世代コンピュータ技術開発機構
(ICOT)で作成した約13万語の日本語単語辞書で
助詞の長さを求めると、平均3.6文字(7.2バイ
ト)である。助詞はそのすべてを利用しても171種類
であり、最大256種類となる1バイト(8ビット)で
表現することができる。また動詞は、平均2.5文字
(5バイト)で14,638種類あり、2バイト以下
(14ビット)で表現できる。他の品詞についても同様
にして、品詞でグループ分けした場合、グループ内で少
ないデータ量で一つの単語を表現できる。更に、品詞の
分類グループは13種類であるから、4ビットで表現で
きる。
【0036】したがって、13種類の品詞グループを表
わす4ビットの属性符号と、該当する品詞グループ内で
文字列を特定するための文字列符号を結合した文字列符
号を結合した符号を、辞書検索により一致した文字列に
割り当てて符号化することで、日本語文書ついて高い圧
縮率の符号化ができる。勿論、接頭語や接尾語など単語
の文字数が少ない品詞や、いずれの品詞にも属さないそ
の他の単語類については、元の文字列データをそのまま
出力させることで、品詞種類を少なくして属性符号を例
えば3ビット以下に削減してもよい。
【0037】図2(A)の文字列属性辞書格納部104
は、圧縮しようとする部分文字列の先頭文字を格納した
先頭文字格納部と、先頭文字格納部に格納された先頭文
字に従属する従属文字列を格納した従属文字列格納部と
の2階層構造をもつ。先頭文字格納部は、先頭文字をイ
ンデックスとして従属文字列格納部の先頭アドレスと従
属文字列の数を格納し、従属文字列格納部は、先頭文字
格納部の先頭アドレスで指定される格納位置に、従属文
字列の長さ、従属文字列、文字列符号、及び属性符号を
組にして格納する。
【0038】文字列比較部102は、現在処理中の非圧
縮データ中の先頭文字により文字列属性辞書格納部10
4の先頭文字格納部を参照して従属文字列格納部から従
属文字列の長さを取得し、非圧縮データ中から先頭文字
に続く従属文字列の長さの部分文字列を切出して登録さ
れた従属文字列との一致検索を行う。符号出力部106
は、文字列比較部102から登録文字列に一致する検索
結果を受けた際に、文字列属性辞書格納部104に格納
された文字列符号と属性符号を一致検出された文字列に
割り当てて出力する。
【0039】また2階層に分けた先頭文字格納部は、属
性グループに応じた複数の属性格納部に分割され、複数
の属性格納部の各々に固有の辞書番号DNを設定すると
共に、先頭文字をインデックスとして従属文字列格納部
の先頭アドレスと従属文字列の個数を格納している。こ
れに対応した従属文字列格納部は、属性格納部の先頭ア
ドレスで指定される1又は複数の格納位置(従属文字列
の個数文)に、従属文字列の長さ、及び従属文字列を組
にして格納し、文字列符号及び属性符号を格納しないこ
とにより辞書サイズを小型化する。この場合、符号出力
部106は、文字列比較部102から登録文字列に一致
する検索結果を受けた際に、従属文字列格納部の格納位
置を示す文字列登録番号と属性格納部の辞書番号DNを
一致検索された文字列に割り当てて出力する。
【0040】図2(A)のデータ圧縮装置に対応したデ
ータ復元装置は、図2(B)のように、圧縮データから
復元単位となる符号を抽出して属性符号と文字列符号に
分離する符号分離部136と、属性グループに応じた複
数の属性格納部に分割され、各属性格納部毎に復元する
際の処理単位となる文字列符号に対応した復元文字列を
登録した辞書を格納する文字列属性辞書格納部140
と、符号列分離部136で分離された属性符号と文字列
符号による文字列属性辞書格納部140の参照にで元の
文字列を復元する文字列復元部138とを備えたことを
特徴とする。
【0041】文字列属性辞書格納部140は、復元対象
とする先頭文字、従属文字列の長さ、及び従属文字列を
属性グループに分けて複数の属性格納部に格納し、文字
列復元部138は、分離した属性符号に基づいて属性格
納部を選択し、分離した文字列符号に基づき選択した属
性格納部の中の格納位置を認識して文字列を復元する。
【0042】また本発明の別の形態にあっては、図2
(A)で圧縮した圧縮データを中間符号として、更に既
存の符号化により再度符号化する二重符号化を行う。即
ち、スペースで区切られない単語構造をもつ言語の文字
コードで作成された非圧縮データを圧縮するデータ圧縮
装置として、図2(C)のように、文字列属性辞書に登
録された圧縮する際の処理単位となる登録文字列と非圧
縮データ中の部分文字列との比較により、登録文字列に
一致する部分文字列を検出し、検出された部分文字列ご
とに予め定められた文字列符号と属性符号を組にした中
間符号を割り当てて出力する第1符号化部150と、第
1符号部150で圧縮された中間符号列を入力して再度
圧縮する第2符号化部152を備えたことを特徴とす
る。
【0043】第2符号化部152は、中間符号列を辞書
の登録番号に置き換え、出現頻度の高い中間符号列ほど
長い符号列で登録して符号化するLZ77やLZ78な
どの辞書型符号化部、又は、中間符号の統計的な出現頻
度に基づき、出現頻度の高い中間符号に対し短い符号を
割り当てて出力する算術符号等の統計型符号化部であ
る。
【0044】更に、文字列選択部を設けることで、非圧
縮データについてスペースで区切られない日本語の第1
文字列かスペースで区切られる英語等の第2文字列かを
識別し、日本語の第1文字列は第1符号化部150に入
力し、英語の第2文字列は第2符号化部152に入力す
る。これにより日本語文書を対象とした第1符号化部1
50で、単語出現傾向が適合しない英語データを符号化
して圧縮データ量が元のデータよりも大きくなってしま
う不都合を解消する。
【0045】第1符号化部150の詳細は、図2(A)
のデータ圧縮装置と基本的に同じであるが、第2符号化
部152での符号化がバイト単位の処理となるため、文
字列属性辞書格納部104に設けた2階層の従属文字列
格納部に格納した属性符号と文字列符号との和が8ビッ
トの倍数のバイト符号となるように格納する。また文字
列属性辞書格納部104に設けた2階層の従属文字列格
納部に属性符号と文字列符号を格納していない場合に
は、符号出力部106が、文字列比較部102から登録
文字列に一致する検索結果を受けた際に、文字列属性辞
書格納部104に設けた2階層の従属文字列格納部の格
納位置を示す文字列登録番号と属性格納部の辞書番号
を、符号長が8ビットの倍数のバイト符号に割り当てて
出力する。
【0046】図2(C)のデータ圧縮装置に対応したデ
ータ復元装置は、図2(D)のように、圧縮データを入
力して中間符号列を復元する第1復号化部164と、第
1復号化部164で復号された中間符号列を入力して元
の非圧縮データ列を復元する第2復号化部166を備え
たことを特徴とする。第1復号化部164は、入力符号
による属性辞書の参照で中間符号を復元する属性辞書型
復号化、又は復元済みの中間符号の出現頻度に基づいて
中間符号を復元する統計型復号化を行う。
【0047】更に、データ圧縮側で、スペースで区切ら
れない日本語文字列に対し第1段階及び第2段階の符号
化を行い、スペースで区切られる英語等の文字列に対し
第2段階のみの符号化を行っていた場合、第1文字列復
号化部64に続いて文字列選択部を設け、第1段階及び
第2段階の符号化による符号列を第1復号化部164復
号化した中間符号列は第2復号化部166に入力し、第
2段階の符号化のみの復元文字列はそのまま出力する。
この場合の第2復号化部166の詳細は図2(B)のデ
ータ復元装置と同じになる。
【0048】更に本発明は、図2(A)のデータ圧縮装
置、図2(B)のデータ復元装置、図2(C)のデータ
圧縮装置、及び図2(D)のデータ復元装置の各々の処
理手順をもつデータ圧縮方法及びデータ復元方法を提供
する。
【0049】
【発明の実施の形態】<目次> 1.第1発明のデータ圧縮と復元 2.第1発明の二重符号化によるデータ圧縮と復元 3.第2発明のデータ圧縮と復元 4.第2発明の二重符号化によるデータ圧縮と復元 1.第1発明のデータ圧縮と復元 図3は単語を構成する文字列ごとに予め定めた所定の文
字列符号を割り当てる第1発明のデータ圧縮装置のブロ
ック図である。
【0050】図3において、データ圧縮装置は、入力バ
ッファ10、文字列比較部12、文字列辞書格納部1
4、符号出力部16及び圧縮バッファ18で構成され
る。入力バッファ10には圧縮対象とする文書データと
して、例えば日本語文書データが格納される。日本語文
書データの場合、1文字は2バイトのワードデータで構
成されており、文書中の単語はスペースで区切られない
構造を持っている。
【0051】入力バッファ10に入力する日本語文書デ
ータとしては、1回の圧縮に使用する文書単位に入力し
ており、キロバイトオーダからメガバイトオーダの適宜
のサイズの文書が入力される。文字列比較部12は入力
バッファ10に格納された日本語文書データの文字列を
先頭から順番に入力し、文字列辞書格納部14に予め登
録されている単語単位の登録文字列と一致するか否かを
検出する。
【0052】文字列比較部12で入力文字列に一致する
登録文字列が検出されると、符号出力部16において文
字列辞書格納部14の一致検出された登録文字列に対応
して予め登録されている文字列符号を読み出して割り当
て、この文字列符号を圧縮バッファ18に出力する。こ
こで日本語文書データの文字列を単語単位に文字列符号
に変換するための文字列辞書格納部14を説明する。
【0053】図4は、(株)日本電子化辞書研究所(E
DR)が研究成果として発表した、日本語を構成する形
態素の品詞に関する集計結果である。この集計結果を見
ると、単語数に対応する形態素数は136,486個で
あり、この単語の数を2進数で表現すると、最大表現数
が262,143個となる17ビットの符号で表すこと
ができる。
【0054】これに対し、新世代コンピュータ技術開発
機構(ICOT)で作成した約13万語の単語を有する
日本語辞書から単語を構成する文字数を検出して分布を
求めた結果、全登録単語の1/2以上の7万語が2文字
で構成されており、平均文字数は2.8文字となってい
る。この平均文字数2.8文字をビット数で表すと、 2.8文字×2バイト=5.6バイト×8ビット=4
4.8ビット となる。
【0055】そこで本発明にあっては、図4の136,
486個の単語を表現する17ビットの文字列符号を予
め割り当て、入力した日本語データの文字列を単語単位
に17ビットの文字列符号に変換する符号化を行うこと
で、実質的にデータ量を半分以下に圧縮することができ
る。図5は、図3の文字列辞書格納部14の辞書構造の
実施形態である。図5の文字列辞書格納部14に格納さ
れた辞書は、先頭文字格納部20と従属文字列格納部2
2の2階層構造を備える。先頭文字格納部20は、日本
語文字「あ,い,う,え,お・・・」の文字コードをイ
ンデックスとしており、日本語の文字コードは2バイト
データであることから、文字コード24としては、16
進数で「0x0000」から「0xFFFF」の13
1,072種類の格納位置が割り当てられる。
【0056】この文字コード24は、図3の文字列比較
部12で読み込んだ先頭文字を使用して、対応する文字
コードの位置にアクセスする。文字コード24に続いて
は先頭アドレス26が格納される。先頭アドレス26
は、例えば文字コード24の先頭文字「あ」を例にとる
と、先頭文字「あ」に続く従属文字列を格納した従属文
字列格納部22の先頭アドレス「A1」を指定してい
る。続いて従属文字列の個数28が設けられる。例えば
先頭文字「あ」にあっては、従属文字列個数28として
N1=4個が格納されている。
【0057】従属文字列格納部22は、先頭文字格納部
20の先頭文字の文字コード24に対応して格納された
先頭アドレス26で先頭位置が指定され、この先頭位置
から従属文字列格納部28で指定された個数の格納位置
に従属文字列が格納されている。例えば先頭文字「あ」
に対応した先頭アドレス26のアドレスA1から従属文
字列個数28のN1=4個となる4つの格納位置が、対
象とする従属文字列格納領域として指定される。
【0058】この従属文字列格納部22は、先頭から従
属文字列の長さ30、従属文字列32、及び17ビット
表現される文字列コード(文字列符号)34が格納され
ている。例えば先頭アドレスA1には、長さL1で従属
文字列「い」と、その文字列コードが格納されている。
次の格納位置には長さL2の従属文字列「う」がその文
字列コードと共に格納されている。
【0059】3番目の領域には長さL3の従属文字列
「お」が文字列コードと共に格納されている。4番目の
格納領域には長さL4で従属文字列が存在しないことを
示す符号「NULL」が格納され、存在しないことを示
す文字列コードが格納されている。即ち、この4番目の
格納領域は先頭1文字だけの文字列コードの登録を表し
ている。
【0060】ここで図5の従属文字列格納部22に文字
列コード34は、単語個数に基づき1番から136,4
86番まで予め17ビットの文字列コードが割当てられ
ており、図5のように格納した場合の文字列コード(文
字列符号)Kと位置アドレスXとの関係は、次式で表す
ことができる。 K=(N・X−A1)/M (1) 但し、X :従属文字列格納部22の位置アドレス N :一致検出された従属文字列の番号(1,2,3,
・・N) A1:従属文字列格納部の開始アドレス M :従属文字列格納部の格納バイト長 ここで、従属文字列格納部22の格納バイト長Mは、従
属文字列の長さ30、従属文字列32、及び文字列コー
ド34の合計長であることから、例えば次式で表すこと
ができる。 格納バイト長M= 長さ+文字コード列+文字列コード (2) =3bit + 96bit + 17bit =116bit =15byte ここでは格納可能な従属文字列を最大6文字とすること
で、従属文字列32に96ビットを割り当てた場合を例
にとっている。もちろん、従属文字列の文字数は平均で
2.8文字であることから、3文字(48ビット)以上
とすれば十分な圧縮効果が得られる。この場合には、従
属文字列格納部の1つの格納領域の格納バイト長MはM
=12バイトになる。
【0061】前記(1)式から算出される17ビットの
文字列コードKを使用した場合、復元の際には文字列コ
ードKの値から格納位置(アドレス)Xを次式で算出す
ればよい。 X=M・K+A1 (3) 但し、K :文字列コード A1:従属文字列格納部の開始アドレス M :復元側の従属文字列格納部の格納バイト長 この(3)式にあっては、復元側で使用する辞書におけ
る従属文字列格納部の開始アドレスA1、即ちオフセッ
トと、従属文字列格納部22の格納バイト長Mが定数と
して定まっていることから、復元しようとする文字列コ
ードKを(3)式に代入することで、一義的に復元しよ
うとする文字列を格納した辞書位置(位置アドレス)X
を算出することができる。
【0062】図6は図5の辞書構造を持った文字列辞書
格納部14による図3のデータ圧縮装置の符号化処理の
フローチャートである。まずステップS1で、入力バッ
ファ10から文字列比較部12に読み込んだ文字列の先
頭文字の位置Pにポインタを移動し、ステップS2で先
頭文字位置Pの文字コードが示す図5の文字コード24
に対応した先頭文字格納部20のテーブルを参照する。
この先頭文字格納部20のテーブル参照により、ステッ
プS3で従属文字列格納部22の先頭アドレス26と従
属文字列の個数28を取得する。
【0063】続いてステップS4で、従属文字列格納部
22の先頭アドレスの先頭データから従属文字列の長さ
30の長さデータLを取得する。次にステップS5で、
先頭文字位置Pから従属文字列の長さデータLに基づく
L文字を抽出し、抽出したL文字を従属文字列格納部2
2の従属文字列32の登録文字列と比較して、一致する
か否か判断する。
【0064】登録した従属文字列と一致すれば、ステッ
プS3に進み、次の文字コード列34を読み出し、一致
検出した文字列に符号出力部16で割り当てて圧縮バッ
ファ18に送出し、次のステップS9で先頭文字位置P
を従属文字列の文字数Lだけ移動した位置Pにポインタ
を更新する。そしてステップS12で非圧縮データの処
理が済んでいなければ、再びステップS2に戻り、更新
した先頭文字位置Pについて同様な処理を繰り返す。
【0065】一方、ステップS5で従属文字列格納部2
2の登録従属文字列と一致しなかった場合には、従属文
字列数Nが未了か否かチェックし、未了であればステッ
プS7に戻り、従属文字列格納部22の先頭アドレスの
次の格納領域から従属文字列の長さデータLを取得し、
ステップS5で再度、先頭文字位置PからL文字の従属
文字列を抽出して従属文字列格納部22の登録従属文字
列と一致するか否か比較する。
【0066】ステップS5〜S7の繰返しによる登録個
数Nの従属文字列の全てについて比較処理を行っても一
致しなかった場合には、ステップS6で従属文字列の個
数Nの終了を判別して、ステップS10に進み、先頭文
字1文字を表す未登録コードを送出する。そしてステッ
プS11で先頭文字位置Pを文字数L=1文字だけ移動
した次の位置にポインタを更新し、ステップS2に戻っ
て、次の先頭文字位置Pからの処理を繰り返す。
【0067】図7は図3のデータ圧縮装置で使用する文
字列辞書格納部14の他の辞書構造の実施形態である。
この文字列辞書格納部14の辞書構造にあっては、先頭
文字の文字コード24をインデックスとした先頭文字格
納部20については図5の辞書構造と同じであるが、先
頭文字格納部20の先頭アドレス26で指定される従属
文字列格納部22には、従属文字列の長さ30と従属文
字列32のみを格納し、従属文字列を表す17ビットの
文字列コード34は格納しないようにしている。
【0068】このため図7の辞書構造にあっては、従属
文字列格納部22の従属文字列32と一致した場合に
は、一致検出した文字列に文字列登録番号KN を割り当
てて文字列コードの代わりに出力する。この従属文字列
格納部22に文字列コード34を格納した図5の辞書構
造の関係を、図7に示した文字列コードを格納せずに従
属文字列格納部22の文字列登録番号Kを符号に割り当
てて出力する場合には、次式により符号に割り当てる文
字列登録番号KNを算出することができる。
【0069】 KN =(X・N−A1)/M (4) 但し、X :従属文字列格納部の格納アドレス N :一致検出された従属文字列の番号(1,2,3,
・・N) A1:従属文字列格納部の開始アドレス(固定オフセッ
ト値) M :従属文字列格納部の格納バイト長 また図7の従属文字列格納部22のように文字列コード
Kを登録しなかった場合には、従属文字列格納部22の
格納バイト長Mは 格納バイト長M= 長さ+文字コード列 (5) =3bit + 96bit =99ビット =13byte り、前記(2)式に示した図5の場合に比べ、2バイト
少なくすることができ、その分、文字列辞書格納部14
のサイズを小さくすることができる。
【0070】また図7の辞書構造で文字列に一致する従
属文字列格納部22の文字列登録番号KNを符号に割り
当てた場合の圧縮データの復元にあっては、前記(3)
式に符号に割り当てた文字列登録番号KN を代入するこ
とで一義的に文字列登録番号に対応した従属文字列格納
部の格納位置を示す位置アドレスXを算出して、辞書の
参照により元の文字列に戻すことができる。
【0071】図8は図7の辞書構造を用いた図3のデー
タ圧縮装置による符号化処理のフローチャートである。
この符号化処理のステップS1〜S6、及びステップS
9,S11,S12は、図5の辞書構造を使用した図6
の符号化処理と同じであるが、ステップS8,S10の
辞書登録文字列との一致が検出された際の符号割当てに
よる符号送出が異なる。
【0072】即ち、ステップS5で先頭文字格納位置P
からL文字を取り出して、従属文字列格納部22に格納
している従属文字列との一致が得られると、ステップS
8で従属文字列格納部22の格納位置を示す文字列登録
番号KN を前記(4)式で求め、この文字列登録番号K
N を符号に割り当てて送出する。またステップS5で従
属文字列と一致せずに、ステップS6で個数Nの従属文
字列との比較が終了した場合には、ステップS10で図
7の「NULL」を格納している文字列登録番号Kを前
記(4)式で算出し、これを符号に割り当ててステップ
S10で送出する。 図9は、図3のデータ圧縮装置で
符号化された圧縮データを復元するデータ復元装置のブ
ロック図である。このデータ復元装置は、圧縮入力バッ
ファ36、符号分離部38、文字列復元部40、文字列
辞書格納部42及び復元データバッファ44で構成され
る。圧縮入力バッファ36には、図3のデータ圧縮装置
で符号化された圧縮データがバスや通信回線を介して入
力される。
【0073】符号分離部38は、圧縮入力バッファ36
に格納された圧縮データの中から17ビット単位に文字
列コードを分離し、文字列復元部40に供給する。文字
列復元部40は入力した文字列コードにより文字列辞書
格納部42を参照し、対応する文字列を復元して復元デ
ータバッファ44に格納する。図10は図9の文字列辞
書格納部42の辞書構造である。この文字列辞書格納部
42にあっては、先頭文字46、従属文字列長さ48及
び従属文字列50を、図5の辞書構造に示した従属文字
列格納部22の17ビットの文字列コード34の順番に
格納している。この順番は図7の辞書構造における従属
文字列格納部22の文字列登録番号KN の順番と同じで
ある。このため文字列復元部40にあっては、復元に使
用する文字列辞書格納部42の格納バイト長Mが 格納バイト長M= 先頭文字+長さ+文字コード列 (6) = 16bit +3bit + 96bit =115ビット =15byte から判明しているため、次式から文字列コードK又は文
字列登録番号KN に対応した位置アドレスXを算出する
ことができる。 X=M・K+A1 (7) 但し、K :文字列コード(=文字列登録番号KN ) A1:文字列格納位置の開始アドレス M :格納バイト長 このようにして分離した文字列コードK(又はKN )か
ら辞書格納位置を示す位置アドレスXを求めて参照する
ことで、対応する先頭文字及び従属文字列を組み合わせ
た文字列を復元することができる。
【0074】図11は、図3のデータ圧縮装置に更に動
的辞書格納部15を設けたデータ圧縮装置のブロック図
である。文字列辞書格納部14は、図5または図7のい
ずれかの辞書構造を持っている。これに対し動的辞書格
納部15は、最初は未登録であり、文字列比較部12に
おいて文字列辞書格納部14の参照で最初に一致検出さ
れた文字列に文字列コードが符号出力部16で割り当て
られると、符号割当てを行った文字列辞書格納部14の
内容を動的辞書格納部15に格納する。2回目以降の符
号化については、まず動的辞書格納部15を参照し、一
致する文字列が検出できなかった場合に文字列辞書格納
部14を参照する。
【0075】図12は図11の動的辞書格納部15の辞
書構造であり、2つの文字列の符号化が終了した段階で
の登録内容を表している。即ち動的辞書格納部15に
は、先頭文字60、従属文字列の長さ61、従属文字列
62及び文字列コード63が登録される。この登録内容
は、例えば図7の文字列辞書格納部14のインデックス
となる文字コード24で指定される先頭文字と従属文字
列格納部22の内容を組み合わせた内容となる。
【0076】また図12は、文字列辞書格納部14とし
て図5の辞書構造を例にとっているが、図7の辞書構造
を用いた場合には、文字列コード63は格納されず、そ
の代わりに前記(4)式に基づいた文字列登録番号Kを
求めて符号に割り当てる。このように文字列を符号化す
るごとに動的辞書格納部15に格納してそれ以降の辞書
検索を行うことで、一度符号化された文字列については
動的辞書格納部15の参照で直ちに符号化でき、文字列
辞書格納部14のみの参照で符号化している場合に比
べ、辞書検索を高速化することができる。
【0077】図13は、図11により符号化された圧縮
データを復元するデータ復元装置のブロック図であり、
図9に示したデータ復元装置の基本構成に加え、文字列
復元部40に対し更に動的辞書格納部45を新たに設け
ている。文字列辞書格納部42は図10に示した辞書構
造を持っている。これに対し動的辞書格納部45には、
文字列復元部40で文字列コードを元の文字列に変換す
るごとに図14のように先頭文字64、従属文字列の長
さ65、従属文字列66及び文字コード67が登録され
る。
【0078】このため2番目以降の復号化処理にあって
は、動的辞書格納部45をそのときの文字列コードによ
り参照することで、該当する先頭文字と従属文字の組み
合わせでなる文字列を高速に復元することができる。も
ちろん、動的辞書格納部45の参照で文字列が復元でき
ない場合には、第1文字列辞書格納部42の参照で文字
列を復元する。 2.第1発明の二重符号化によるデータ圧縮と復元 図15は、図3に示した単語の文字列に17ビットの文
字列コードを割り当てる符号化で得られた文字列符号を
中間符号として更に符号化を行う二重符号化処理を行う
ようにしたことを特徴とする。
【0079】図15のデータ圧縮装置にあっては、入力
バッファ10に続いて第1符号化部72を設けており、
第1符号化部72は図3のデータ圧縮装置と同様、文字
列比較部12、文字列辞書格納部14及び符号出力部1
6を備える。この第1符号化部72に続いては第2符号
化部74が設けられ、第1符号化部72で文字列コード
として符号化された中間符号を更に符号化し、圧縮バッ
ファ18を介して圧縮データとして取り出している。
【0080】図16は図15の第2符号化部74の具体
例であり、この実施例にあっては、第2符号化部74と
して辞書型符号化部74−1を使用している。辞書型符
号化部74−1は、圧縮辞書参照部75、圧縮用辞書格
納部76及び符号化部77で構成される。この辞書型符
号化部74−1としては、例えばLZ77やLZ78が
使用される。
【0081】図17は図15の第2符号化部74の他の
実施形態であり、統計型符号化部74−2を使用してお
り、具体的には確率モデル部78と算術符号化部80を
備えた統計型符号化の代表例として算術符号化を行って
いる。図15の第1符号化部72に設けた文字列辞書格
納部14は、図5の辞書構造あるいは図7の辞書構造の
いずれかを使用することができる。このため、図5の辞
書構造を使用した場合のデータ圧縮のための符号化処理
は図18のフローチャートのようになる。
【0082】図18のフローチャートは、ステップS
9,S12の符号化処理を除いて、図6のフローチャー
トと同じである。図18のステップS9,S12の符号
化処理が、図15の第2符号化部74より第1符号化部
72で得られた文字列コードを中間符号として入力し
て、更に図16の辞書型符号化もしくは図17の統計型
符号化により符号化する処理となる。
【0083】また図15の文字列辞書格納部14に図7
の辞書構造を用いた場合の符号化処理は図19のフロー
チャートになる。図19の符号化処理のフローチャート
は、ステップS9,S12の符号化処理を除いて、図8
の符号化処理のフローチャートと同じになる。ステップ
S9,S12の符号化処理が、図15の第2符号化部7
4による辞書型符号化あるいは統計型符号化の処理とな
る。このような2段階に亘る符号化処理を行うことで圧
縮率を更に高めることができる。
【0084】図20は、図15の二重符号化で得られた
圧縮データを復元するためのデータ復元装置のブロック
図である。図20のデータ復元装置は、入力圧縮バッフ
ァ36に続いて第1復号化部82を設け、第1復号化部
82に続いて第2復号化部84を設け、最終的に復元デ
ータバッファ44に復元データを得ている。第1復号化
部82は、例えば図21の辞書型復号化部82−1又は
図22の統計型復号化部82−1で構成される。
【0085】図21の辞書型復号化部82−1は、復号
化部85、復号辞書参照部86及び復号用辞書格納部8
7で構成され、LZ77もしくはLZ78等の復号化処
理を行う。また図22の統計型復号化部82−2は算術
復号化部88と確率モデル部90で構成され、確率統計
型符号化の代表である算術符号化に対応した算術復号化
処理を行う。
【0086】図23は図15の二重復号化部を行うデー
タ圧縮装置を変形したもので、入力バッファ10と第1
符号化部72の間に文字列選択部92を設けている。入
力バッファ10に入力される圧縮対象とする日本語文書
データの中には、日本語文字列以外に英語文字列等が含
まれる場合がある。英語文字列については、第1符号化
部72に設けている文字列辞書格納部14の辞書が適合
していないため、そのまま符号化すると符号化後のデー
タ量が元のデータ量よりも大きくなるような不具合があ
る。
【0087】そこで文字列選択部92において、日本語
文字コードと英語のアルファベット文字コードを識別
し、日本語文字コードの文字列は第1符号化部72に選
択して入力し、一方、英語の文字列は第2符号化部74
に直接入力して符号化するようにしている。したがっ
て、日本語文字列については第1符号化部72及び第2
符号化部74による符号化が行われ、英語文字列につい
ては第2符号化部74のみによる符号化が行われ、文字
種別に適合した符号化であることから、符号化後のデー
タ量が元データより大きくなってしまうことを防止でき
る。
【0088】図24は図23のデータ圧縮装置で符号化
された圧縮データを復元するためのデータ復元装置のブ
ロック図である。このデータ復元装置にあっては、第1
復号化部82に続いて文字列選択部94を設け、第1復
号化部82で復元された中間符号が英文を示すアルファ
ベットの文字コードであった場合にはそのまま復元デー
タ44に出力する。
【0089】一方、日本語の文字列コードであった場合
には第2復号化部84に入力し、符号分離部38、文字
列復元部40及び文字列辞書格納部42を使用して日本
語文字列を復元した後に、復元データバッファ44に格
納するようにしている。図25は図15の二重符号化部
のデータ圧縮装置に設けた第1符号化部72に動的辞書
格納部を設けるようにしたデータ圧縮装置のブロック図
である。このデータ圧縮装置は基本的に図15と同じで
あるが、第1符号化部72の文字列比較部12に対し、
文字列辞書格納部14に加えて更に動的辞書格納部15
を設けている。
【0090】更に第1符号化部72で符号化された中間
符号を入力して中間符号の出現頻度を計数する出現頻度
計数部96を設け、出現頻度計数部96で計数した出現
頻度を第2符号化部74に与えている。このため第2符
号化部74としては、辞書型符号化及び統計型符号化の
いずれの場合についても、文字が出現するごとに頻度を
再計算して、再計算した出現頻度に従って、出現頻度の
高い文字に対し短い符号長を割り当てる適応型符号化を
行っている。
【0091】第1符号化部72に設けた動的辞書格納部
15は図12と同じ辞書構造をもち、符号化出力が行わ
れるごとに順次登録される。このような動的辞書格納部
15を設けたことで、第1符号化部72における文字列
コードへの符号化を高速化できる。図26は、図27の
データ圧縮装置で符号化された圧縮データを復元するた
めのデータ復元装置のブロック図である。このデータ復
元装置にあっては、第1復号化部82に続いて設けた第
2復号化部84に、文字列辞書格納部42に加えて新た
に動的辞書格納部45を設けている。
【0092】動的辞書格納部45としては、図14と同
じものが使用される。また動的辞書格納部45を備えた
第2復号化部の処理動作は、図13のデータ復元装置と
基本的に同じである。更に第2復号化部82で復元され
た文字列を出現頻度計数部98に入力し、文字列の出現
頻度を計数して第1復号化部82に供給している。この
ため第1復号化部82としては、文字列が出現するごと
に頻度を再計算し、再計算した出現頻度に従って可変長
符号を割り当てる適応型復号化を行っている。 3.第2発明のデータ圧縮と復元 図27は、日本語文書データの圧縮において、単語を属
性グループ、具体的には品詞ごとの属性グループに分類
し、属性グループを表す属性符号と属性グループ内での
文字列の数を示す文字列符号を併せた文字列属性符号を
割り当てて圧縮するデータ圧縮装置のブロック図であ
る。
【0093】図27において、このデータ圧縮装置は、
入力バッファ100、文字列比較部102、文字列属性
辞書格納部104、符号出力部106及び圧縮バッファ
108で構成される。文字列属性辞書格納部104に
は、図4に示した日本語辞書の調査結果における13種
類の品詞を属性グループとし、各属性グループに含まれ
る単語数を示す形態素の個数の単語文字列に属性グルー
プごとの番号である文字列符号を割り当てて登録してい
る。
【0094】図28は、図4の13種類の品詞につい
て、単語数、属性情報ビット数、単語情報ビット数及び
合計ビット数を示している。まず属性符号の割り当てに
使用する属性情報ビット数は、品詞の種類が13種類で
あることから4ビットで表現することができる。一方、
文字列コードを符号に割り当てる単語情報ビット数は各
品詞の単語の数に応じたビット数となる。この内、単語
数は名詞類が一番多く、名詞類の単語ビット数は17ビ
ットとなる。
【0095】一方、図4から、文書中の総数が最も多い
助詞類については単語数は171と少なく、単語情報ビ
ット数は8ビットで表現できる。更に動詞類の単語数は
14,638であり、この場合の単語情報ビット数は1
4ビットとなる。他の品詞類についても図28のよう
に、それぞれ8〜14ビットの範囲で表現することがで
きる。
【0096】その結果、属性符号を与える属性情報ビッ
ト数と文字列コードを与える単語情報ビット数を加算し
た合計ビット数は、最も単語数が多い名詞類で21ビッ
ト、単語数が最小となる感動詞類では11ビットとな
る。このため、合計ビット数が17ビットを超える名詞
類,動詞類を除いた他の品詞については、図3のデータ
圧縮装置で使用した17ビットの文字列コードよりビッ
ト数が少なくて済み、図27の属性部高に文字列コード
を加えた符号を割り当てるデータ圧縮装置の方が結果と
して圧縮率を更に高めることができる。
【0097】図29は図27の文字列属性辞書格納部1
04の辞書構成である。この文字列属性辞書格納部10
4にあっては、先頭文字格納部110と従属文字列格納
部112の2階層構造をもっている。先頭文字格納部1
10は、符号化する先頭文字の文字コード114をイン
デックスとして、従属文字列格納部112の先頭アドレ
ス116、従属文字列の個数118を格納している。
【0098】また従属文字列格納部112は、従属文字
列の長さ120、従属文字列122、文字列符号(文字
列コード)124、更に属性符号126を格納してい
る。この文字列属性辞書格納部104の辞書構造は、図
5に示した文字列コードのみに符号を割り当てる辞書構
造に新たに属性符号を付加した点で相違している。もち
ろん、文字列符号124は図28に示した各品詞の属性
グループの単語数を最大値とした番号であり、例えば動
詞類にあっては単語数は14,638個であり、文字列
符号124のビット数は14ビットであり、オール0か
らオール1までの14ビットの文字列符号が14,63
8の動詞類に含まれる先頭文字と従属文字列の組合せで
なる動詞文字列の各々に割り当てられている。
【0099】また従属文字列格納部112の従属文字列
122の符号「NULL」は従属文字列がない場合であ
り、この場合には先頭文字について文字列符号と属性符
号の結合符号を符号に割り当てて出力する。ここで属性
符号は、13種類の品詞の品詞に対応した属性グループ
に分けた場合には4ビットとなるが、例えば13種類の
内の8種類の品詞を属性グループに含め、残りは符号化
せずに元の文字コードをそのまま使用するようにしても
よい。
【0100】図30は図29の辞書構造を用いた図27
のデータ圧縮装置による符号化処理であり、図30
(A)の入力文字列を単語を表す文字列128−1〜1
28−nごとに、図29に示した文字列属性辞書格納部
104の先頭文字と従属文字の組合せと照合し、一致し
た場合に従属文字列格納部112に格納されている文字
列符号124と属性符号126を組み合わせ、出力符号
130−1〜130−nを出力する。
【0101】図29の辞書構造における従属文字列格納
部112の格納バイト長Mは、例えば次式で表すことが
できる。 格納バイト長M=長さ + 文字列 +文字列符号+属性符号 (8) =3bit + 96bit + 7〜17bit + 4bit =110〜120bit =15byte ここで文字列符号124は、図28の単語情報ビット数
に示したように7ビットから17ビットの範囲で変化す
ることから、格納バイト長として110〜120ビット
を必要とするが、可変長とせずに最大格納長の120ビ
ットに対応した15バイトを格納バイト長Mとしてい
る。
【0102】図31は、図29の辞書構造を用いた図2
7のデータ圧縮装置の符号化処理のフローチャートであ
る。このフローチャートの処理は、ステップS8,S1
0で文字列属性辞書格納部104に登録した文字列との
一致検出で得られた属性符号と文字列符号を送出する以
外は、図6に示した文字列コードのみを符号に割り当て
る場合の符号化処理と同じである。
【0103】図32(A)は、図27の文字列属性辞書
格納部104の他の辞書構造である。この辞書構造にあ
っては、先頭文字格納部110を図28に示した13種
類の品詞に対応して13グループに分け、名詞格納部1
32−1、動詞格納部132−2、形容詞格納部132
−3、形容動詞格納部132−4、福祉格納部132−
5、連体詞格納部132−6、接続詞格納部132−
7、接頭語格納部132−8、接尾語格納部132−
9、語尾格納部132−10、助動詞格納部132−1
1、感動詞格納部132−12、助詞格納部132−1
3で構成している。尚、動詞格納部132−2〜感動詞
格納部132−12は図示を省略している。
【0104】名詞格納部132−1〜助詞格納部132
−10にはそれぞれ辞書番号DN1〜DN13を設け、
各辞書番号DN1〜DN13ごとに、文字コード順に従
属文字列格納部112に対する先頭アドレス116と従
属文字列の個数118を格納している。また従属文字列
格納部112は、従属文字列の長さ120と従属文字列
122のみを登録し、従属文字列一致検出で符号に割り
当てる属性符号と文字列符号は格納していない。この属
性符号と文字列符号を格納しない代わりに、属性符号は
先頭文字格納部110の名詞格納部132−1〜助詞格
納部132−10のそれぞれに割り当てた辞書番号DN
1〜DN13を4ビット情報として使用し、一方、文字
列符号には各辞書番号DN1〜DN13ごとにグループ
化されている従属文字列格納部112のそれぞれの格納
グループにおける文字列登録番号KN を割り当てる。
【0105】ここで従属文字列格納部112の格納バイ
ト長Mは、例えば次式で与えられる。 格納バイト長M= 長さ +文字列 (9) =3bit + 96bit =99bit =13byte この場合、任意の属性グループに属する従属文字列格納
部112における文字列登録番号KN は、次式で定義さ
れる。 K=(X−AA)/M (10) 但し、X :従属文字列格納部の格納アドレス X=M×一致従属文字列個数N AA:辞書番号DNの分割格納部の開始アドレス (属性で変化するオフセット値) N :一致検出された従属文字列の番号(1,2,3,
・・N) M :従属文字列格納部の格納バイト長 ここで、先頭文字列格納部110における名詞格納部1
32−1〜助詞格納部132−13の属性符号に対応し
た辞書番号DNの各々に対応して、従属文字列格納部1
12の開始アドレスAAが図32(B)のように予め決
められている。このため、辞書の参照により先頭文字及
び従属文字列の一致が得られた時の辞書番号DN1から
求まる従属文字列格納部112における開始アドレスA
Aを用いて、(10)式よりその属性グループ内での文
字列登録番号KN を算出することができる。
【0106】図33は、図32(A)の辞書構造を用い
た図27のデータ圧縮装置の符号化処理のフローチャー
トであり、ステップS8,S10で辞書に登録された文
字列の一致検出ができた時の符号割当てについて、属性
符号については辞書番号DNを割り当て、文字列符号に
は従属文字列内の文字列登録番号KN を割り当てる点以
外は、図31のフローチャートと同じである。
【0107】図34は図27のデータ圧縮装置で復号化
された圧縮データを復元するためのデータ復元装置のブ
ロック図である。このデータ復元装置は、圧縮入力バッ
ファ134、符号分離部136、文字列復元部138、
文字列属性辞書格納部140及び復元データバッファ1
42で構成される。符号分離部136は圧縮入力バッフ
ァ134から入力した圧縮データの符号列から属性符号
に文字列符号を組み合わせた符号を取り出し、4ビット
の属性符号と残りの文字列符号に分離する。
【0108】実際の装置にあっては文字列符号は最大1
7ビットであり、属性符号の4ビットと併せて合計21
ビットであるが、処理を簡略化するため、これを3バイ
トデータとして出力する。このため符号分離部136に
あっては、圧縮データの符号列の中から3バイト単位に
符号列を取り出し、先頭の4ビットを属性符号として分
離し、残り17ビットを文字列符号として分離する。
【0109】文字列復元部138は、符号分離部136
で分離した属性符号で与えられる辞書番号DNと文字列
符号K又は文字列登録番号KN に基づき、次式から文字
列属性辞書格納部140における格納位置の位置アドレ
スXを求める。 X=M・K+AA (11) 但し、N :文字列コード(=文字列登録番号KN ) A1:格納位置の開始アドレス M :格納バイト長(固定) 図35は、図34の文字列属性辞書格納部140の辞書
構造である。文字列属性辞書格納部140には辞書番号
DN1〜DN13ごとに分けて、名詞格納部142−
1、動詞格納部142−2、形容詞格納部142−3、
形容動詞格納部142−4、副詞格納部142−5、連
体詞格納部142−6、接続詞格納部142−7、接頭
語格納部142−8、接尾語格納部142−9、語尾格
納部142−10、助動詞格納部142−11、感動詞
格納部142−12、助詞格納部142−13で構成し
ている。尚、動詞格納部142−2〜感動詞格納部14
2−12は図示を省略している。
【0110】名詞格納部142−1〜助詞格納部142
−10には、それぞれ辞書番号DN1〜DN10を割り
当て、各品詞のグループ内で文字列符号の順番に先頭文
字144とこれに続く従属文字列148を登録し、更に
従属文字列の長さ146を登録している。ここで格納バ
イト長Mは 格納バイト長M= 先頭文字+長さ+文字コード列 (12) = 16bit +3bit + 96bit = 115bit = 15byte であり、また各格納部142−1〜142−10の先頭
アドレスAAは辞書番号DN1〜DN13に対応して図
32(B)のように予め定まっていることから、分離さ
れた属性情報から先頭アドレスAAを取得し、この先頭
アドレスAAと取得した文字列符号Kを(11)式に代
入することで、文字列符号Kに対応した1アドレスXを
得ることができる。 4.第2発明の二重符号化によるデータ圧縮と復元 図36は、図27のデータ圧縮装置で符号化した属性符
号と文字列符号の組み合わせ符号を中間符号として、更
に第2段階の符号化を行うようにしたデータ圧縮装置で
ある。即ち、入力バッファ100に続いては第1符号化
部150が設けられ、第1符号化部150は図27のデ
ータ圧縮装置と同様、文字列比較部102、文字列属性
辞書格納部104及び符号出力部106を備える。
【0111】この第1符号化部150に続いては第2符
号化部152が設けられ、最終的に圧縮バッファ108
を設けている。第2符号化部152としては、図37の
辞書型符号化部152−1、あるいは図38の統計型符
号化部152−2を用いる。辞書型符号化部152−1
は圧縮辞書参照部154、圧縮用辞書格納部155及び
符号化部156で構成され、LZ77やLZ78が使用
される。また図38の統計型符号化部152−2は確率
モデル部157と算術符号化部158で構成され、統計
型符号化の代表である算術符号化が行われる。
【0112】このような辞書型符号化あるいは統計型符
号化が行われる図36の第2符号化部152にあって
は、バイト単位にデータを入力して符号化を行うことか
ら、第1符号化部150から出力する属性符号と文字列
符号の組み合わせた符号を8ビットの倍数となるバイト
データとする必要がある。図39は図28の品詞の属性
グループにおける属性情報ビット数と単語情報ビット数
を8ビットの倍数となるバイト情報に変換するためのダ
ミービット数、及びダミービットの付加で得られた合計
ビット数とバイト数をまとめている。この図39から明
らかなように、名詞類から感動詞類までの13種類の属
性グループについて、属性情報を表す属性符号と属性グ
ループ内での番号を表す文字列符号を併せた符号のバイ
ト数は2バイトもしくは3バイトのいずれかとすればよ
い。即ち、単語数の多い名詞類と動詞類については3バ
イト符号となり、その他は全て2バイト符号となる。図
40は図36の第1符号化部150から符号出力を行う
際のバイトデータへの変換を示している。即ち図40
(A)の入力文字列につき、単語単位の文字列128−
1〜128−nを入力して、第1符号化部150により
図40(B)の中間符号としての属性符号126−1〜
126−nと文字列符号124−1〜124−nの組合
せでなる中間符号160−1〜160−nを生成する。
【0113】この場合に8ビットの倍数となるバイトデ
ータに変換するため、ダミービット162−1,162
−2を必要に応じて付加している。なお中間符号160
−nは、例えば図28の形容動詞類のように16ビット
であることから、ダミーデータは付加する必要がない。
図41は、図36のデータ圧縮装置における符号化処理
のフローチャートであり、ステップS9,S12の符号
化処理が第2符号化部152による辞書型符号化あるい
は統計型符号化であり、それ以外の処理は第1符号化部
150による処理であり、図31の処理と同じになる。
もちろん、図41のフローチャートにあっては、図36
の第1符号化部150に設けている文字列属性辞書格納
部104として図29の辞書構造を使用した場合であ
る。
【0114】図42のフローチャートは、図36の第1
符号化部150に設けた文字列属性辞書格納部104と
して図32の辞書構造を用いた場合であり、ステップS
9,S12の符号化処理が図36における第2符号化部
152による符号化処理であり、それ以外の処理は図3
3の処理と同じである。図43は図36のデータ圧縮装
置で符号化された圧縮データを復元するデータ復元装置
のブロック図である。このデータ復元装置は、圧縮入力
バッファ134に続いて第1復号化部164を設け、第
1復号化部164に続いて第2復号化部166を設け、
最終的に復元データバッファ142を設けている。
【0115】第1復号化部164は、図44の辞書型復
号化部164−1あるいは図45の統計型復号化部16
4−2を用いることができる。図44の辞書型復号化部
164−1は復号化部168、復号辞書参照部169及
び復号用辞書格納部170で構成され、LZ77やLZ
78の復号化が行われる。また図45の統計型復号化部
164−2は算術符号化部171と確率モデル部172
で構成され、算術復号化が行われる。
【0116】第2復号化部166は、図34に示したデ
ータ復元装置の符号分離部136、文字列復元部138
及び文字列属性辞書格納部140がそのまま使用され、
文字列属性辞書格納部140の辞書構造は図35と同じ
である。図46は図36の二重符号化を行うデータ圧縮
装置の変形であり、入力バッファ100に続いて文字列
選択部174を設けたことを特徴とする。文字列選択部
174は、入力バッファ100から入力した文字列の文
字コードが日本語文字コードの場合は第1符号化部15
0に入力し、これが英文等のアルファベットの文字コー
ドであった場合には第2符号化部152に入力するよう
にしている。
【0117】これによって、英文文字列が第1符号化部
150に入力されて文字列属性辞書格納部104に適合
しないことで符号化用のデータが元のデータより増加し
てしまう不具合を解消するようにしている。図47は、
図46のデータ圧縮装置で符号化されたデータを復元す
るためのデータ復元装置のブロック図である。このデー
タ復元装置は、第1復号化部164に続いて文字列選択
部176を設けている。文字列選択部176は第1復号
化部164で復号化された文字列が、アルファベット等
の英文の文字コードであった場合には復元終了と見做し
て復元データバッファ142に出力する。
【0118】一方、属性情報と文字列符号を組み合わせ
た中間符号であった場合には第2復号化部166に入力
し、符号分離部136、文字列復元部138及び文字列
属性辞書格納部140に基づいた日本語文字列の復元処
理を行うようにしている。尚、上記の実施例は、圧縮対
象とする文書データとして日本語文書データを例にとる
ものであったが、日本語と同様、スペースによって単語
を区切ることのない中国語やハングル語等の言語の文書
データについてもそのまま適用することができる。
【0119】また本発明は上記の実施形態に示された数
値による限定は受けず、本発明の目的と利点を損なわな
い範囲で適宜の変形が可能である。
【0120】
【発明の効果】以上説明してきたように本発明によれ
ば、辞書型符号化や統計型符号化では十分な圧縮率の得
られない例えば数キロバイトといった日本語文書データ
であっても、単語の数に応じたビット数の文字列符号を
予め定めて単語単位に辞書を検索して符号として割り当
てることで、例えば日本語の場合にあっては、処理対象
とするデータ量の如何に関わらず、圧縮後のデータ量を
元のデータの半分以下に圧縮することができる。
【0121】また通常の辞書型符号化や統計型符号化を
組み合わせた二重符号化を行うことで更に圧縮率を高め
ることができる。また、辞書構造として先頭文字の文字
コードをインデックスとして、先頭文字に続く従属文字
列をグループ化して格納しておくことで、先頭文字に続
いて従属文字列を順次読み出して一致検出を行うこと
で、より高速な辞書検索ができる。
【0122】更に、復号化による符号出力が得られた
ら、その結果を動的辞書に登録し、符号化済みの動的辞
書を参照して次の符号化を行うことで、更に辞書検索を
高速化できる。本発明の第2発明にあっては、日本語を
品詞の種類に応じた従属グループに分け、従属グループ
に属性符号を割り当てると共に、属性グループ内での品
詞の数に文字列符号を割り当て、属性符号と文字列符号
を組み合わせた符号に変換することで、全単語について
一律に固定長の文字列符号を割り当てて符号化する場合
に比べ、更に割り当て符号長を短くして圧縮率を高める
ことができる。
【0123】この属性符号と文字列符号を組み合わせた
復号化についても、更に通常の辞書型符号化あるいは統
計型符号化を組み合わせることで更に圧縮率を高めるこ
とができる。また、符号化を行いながら辞書を作成する
動的辞書を使用することで、一度符号化を行った文字列
については高速で辞書検索を可能とし、辞書検索の高速
化により処理速度を高めることができる。
【図面の簡単な説明】
【図1】単語を文字列符号に変換して圧縮復元する第1
発明の原理説明図
【図2】単語を属性符号に文字列符号を加えた符号に変
換して圧縮復元する第2発明の原理説明図
【図3】第1発明のデータ圧縮装置のブロック図
【図4】日本語文書に関する研究結果の説明図
【図5】図2の文字列辞書格納部の辞書構造の説明図
【図6】図5の辞書構造を用いた図3のデータ圧縮処理
のフローチャート
【図7】図2の文字列辞書格納部の他の辞書構造の説明
【図8】図7の辞書構造を用いた図3のデータ圧縮処理
のフローチャート
【図9】図3で符号化された圧縮データを復元するデー
タ復元装置のブロック図
【図10】図9の文字列辞書格納部の辞書構造の説明図
【図11】動的辞書格納部を設けた第1発明のデータ圧
縮装置のブロック図
【図12】図11の動的辞書格納部の辞書構造の説明図
【図13】図11で符号化された圧縮データを復元する
データ復元装置のブロック図
【図14】図13の動的辞書格納部の辞書構造の説明図
【図15】図3で符号化した文字列符号を更に符号化す
る二重符号化を行うデータ圧縮装置のブロック図
【図16】図15の第2符号化部を辞書型符号化部とし
た場合のブロック図
【図17】図15の第2符号化部を統計型符号化部とし
た場合のブロック図
【図18】図5の辞書構造を用いた図15のデータ圧縮
処理のフローチャート
【図19】図7の辞書構造を用いた図15のデータ圧縮
処理のフローチャート
【図20】図15で二重符号化された圧縮データを復元
するデータ復元装置のブロック図
【図21】図20の第2復号化部を辞書型復号化部とし
た場合のブロック図
【図22】図20の第2復号化部を統計型復号化部とし
た場合のブロック図
【図23】図15のデータ圧縮について日本語データは
二重符号化し英語データは1重符号化するデータ圧縮装
置のブロック図
【図24】図23で選択的に符号化された圧縮データを
復元するデータ復元装置のブロック図
【図25】図15のデータ圧縮について動的辞書格納部
を設けたデータ圧縮装置のブロック図
【図26】図23で符号化された圧縮データを復元する
データ復元装置のブロック図
【図27】属性符号に文字列符号を加えた符号に変換す
る第2発明のデータ圧縮装置のブロック図
【図28】日本語文書の研究結果から得られた品詞で分
類した属性グループの説明図
【図29】図27の文字列属性辞書格納部の辞書構造の
説明図
【図30】図27で符号化される圧縮データの構造説明
【図31】図29の辞書構造を用いた図27のデータ圧
縮処理のフローチャート
【図32】図27の文字列属性辞書格納部の他の辞書構
造の説明図
【図33】図32の辞書構造を用いた図27のデータ圧
縮処理のフローチャート
【図34】図27で符号化された圧縮データを復元する
データ復元装置のブロック図
【図35】図34に設けた文字列属性辞書格納部の辞書
構造の説明図
【図36】図27で符号化した符号を更に符号化する二
重符号化を行うデータ圧縮装置のブロック図
【図37】図36の第2符号化部に辞書型符号化部を用
いたブロック図
【図38】図36の第2符号化部に統計型符号化部を用
いたブロック図
【図39】図36の第1段階の符号化でバイト単位の符
号に変換するための日本語を品詞で属性グループに分け
た説明図
【図40】図36の第1段階での符号化でバイト単位の
中間符号に変換する構造説明図
【図41】図5の辞書構造を用いた図36のデータ圧縮
処理のフローチャート
【図42】図7の辞書構造を用いた図36のデータ圧縮
処理のフローチャート
【図43】図36で二重符号化した圧縮データを復元す
るデータ復元装置のブロック図
【図44】図43の第1復号化部に辞書型復号化部を用
いたブロック図
【図45】図43の第1復号化部に統計型復号化部を用
いたブロック図
【図46】図36のデータ圧縮について日本語データは
二重符号化し英語データは1重符号化するデータ圧縮装
置のブロック図
【図47】図46で選択的に符号化された圧縮データを
復元するデータ復元装置のブロック図
【図48】従来の文脈収集に基づく可変長符号化のブロ
ック図
【図49】図48の可変長符号化を木構造で表わした文
脈木の説明図
【符号の説明】
10,100:入力バッファ 12,102:文字列比較部 14:文字列辞書格納部 15:動的辞書格納部 16,106:符号出力部 18,108:圧縮バッファ 20,110:先頭文字格納部 22,112:従属文字列格納部 24,114:文字コード 26,116:先頭アドレス 28,48,118:従属文字列個数 30,48,61,65,120,146:従属文字列
長さ(バイト長) 32,50,62,66,122,148:従属文字列 34,63,124:文字列コード(文字列符号) 36,134:圧縮入力バッファ 38,136:符号分離部 40,138:文字列復元部 42:文字列辞書格納部(復元用) 44,142:復元データバッファ 46,60,64,144:先頭文字 72,150:第1符号化部 74,152:第2符号化部 74−1,152−1:辞書型符号化部 74−2,152−2:統計型符号化部 75,154:圧縮辞書参照部 76,155:圧縮用辞書格納部 77,156:符号化部 78,157:確率モデル部(文脈収集部) 80,158:算術符号化部(可変長符号化部) 82,164:第1復号化部 82−1,164−1:辞書型復号化部 82−2,164−2:統計型復号化部 84,166:第2復号化部 85,168:復号化部 86,169:復号辞書参照部 87,170:復号用辞書格納部 88,171:算術符号化部(可変長符号化部) 90,172:確率モデル部(文脈収集部) 92,94,174,176:文字列選択部 96,98:出現頻度計数部 104:文字列属性辞書格納部 126:属性符号 128−1〜128−n:入力文字列 130−1〜130−n,162−1〜162−n:出
力符号 140:文字列属性辞書格納部(復元用)
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年6月29日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項3
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項6
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】請求項26
【補正方法】変更
【補正内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】請求項28
【補正方法】変更
【補正内容】
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】請求項32
【補正方法】変更
【補正内容】
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】請求項34
【補正方法】変更
【補正内容】
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】請求項45
【補正方法】変更
【補正内容】
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】請求項48
【補正方法】変更
【補正内容】
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】請求項51
【補正方法】変更
【補正内容】
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】請求項57
【補正方法】変更
【補正内容】
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】請求項60
【補正方法】変更
【補正内容】
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】請求項62
【補正方法】変更
【補正内容】
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0036
【補正方法】変更
【補正内容】
【0036】したがって、13種類の品詞グループを表
わす4ビットの属性符号と、該当する品詞グループ内で
文字列を特定するための文字列符号を結合した符号を、
辞書検索により一致した文字列に割り当てて符号化する
ことで、日本語文書ついて高い圧縮率の符号化ができ
る。勿論、接頭語や接尾語など単語の文字数が少ない品
詞や、いずれの品詞にも属さないその他の単語類につい
ては、元の文字列データをそのまま出力させることで、
品詞種類を少なくして属性符号を例えば3ビット以下に
削減してもよい。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0047
【補正方法】変更
【補正内容】
【0047】更に、データ圧縮側で、スペースで区切ら
れない日本語文字列に対し第1段階及び第2段階の符号
化を行い、スペースで区切られる英語等の文字列に対し
第2段階のみの符号化を行っていた場合、第1文字列復
号化部64に続いて文字列選択部を設け、第1段階及び
第2段階の符号化による符号列を第1復号化部164で
号化した中間符号列は第2復号化部166に入力し、
第2段階の符号化のみの復元文字列はそのまま出力す
る。この場合の第2復号化部166の詳細は図2(B)
のデータ復元装置と同じになる。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0064
【補正方法】変更
【補正内容】
【0064】登録した従属文字列と一致すれば、ステッ
S8に進み、次の文字列コド34を読み出し、一致
検出した文字列に符号出力部16で割り当てて圧縮バッ
ファ18に送出し、次のステップS9で先頭文字位置P
を従属文字列の文字数Lだけ移動した位置Pにポインタ
を更新する。そしてステップS12で非圧縮データの処
理が済んでいなければ、再びステップS2に戻り、更新
した先頭文字位置Pについて同様な処理を繰り返す。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0068
【補正方法】変更
【補正内容】
【0068】このため図7の辞書構造にあっては、従属
文字列格納部22の従属文字列32と一致した場合に
は、一致検出した文字列に文字列登録番号KN を割り当
てて文字列コードの代わりに出力する。この従属文字列
格納部22に文字列コード34を格納した図5の辞書構
造の関係を、図7に示した文字列コードを格納せずに従
属文字列格納部22の文字列登録番号N符号に割り
当てて出力する場合には、次式により符号に割り当てる
文字列登録番号KN算出することができる。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0069
【補正方法】変更
【補正内容】
【0069】 KN =(X・N−A1)/M (4) 但し、X :従属文字列格納部の格納アドレス N :一致検出された従属文字列の番号(1,2,3,
・・N) A1:従属文字列格納部の開始アドレス(固定オフセッ
ト値) M :従属文字列格納部の格納バイト長 また図7の従属文字列格納部22のように文字列コード
Kを登録しなかった場合には、従属文字列格納部22の
格納バイト長Mは 格納バイト長M= 長さ+文字コード列 (5) =3bit + 96bit =99ビット =13byteとなり 、前記(2)式に示した図5の場合に比べ、2バ
イト少なくすることができ、その分、文字列辞書格納部
14のサイズを小さくすることができる。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】変更
【補正内容】
【0070】また図7の辞書構造で文字列に一致する従
属文字列格納部22の文字列登録番号KN符号に割り
当てた場合の圧縮データの復元にあっては、前記(3)
式に符号に割り当てた文字列登録番号KN を代入するこ
とで一義的に文字列登録番号に対応した従属文字列格納
部の格納位置を示す位置アドレスXを算出して、辞書の
参照により元の文字列に戻すことができる。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0072
【補正方法】変更
【補正内容】
【0072】即ち、ステップS5で先頭文字格納位置P
からL文字を取り出して、従属文字列格納部22に格納
している従属文字列との一致が得られると、ステップS
8で従属文字列格納部22の格納位置を示す文字列登録
番号KN を前記(4)式で求め、この文字列登録番号K
N を符号に割り当てて送出する。またステップS5で従
属文字列と一致せずに、ステップS6で個数Nの従属文
字列との比較が終了した場合には、ステップS10で図
7の「NULL」を格納している文字列登録番号N
前記(4)式で算出し、これを符号に割り当てて送出す
る。 図9は、図3のデータ圧縮装置で符号化された圧
縮データを復元するデータ復元装置のブロック図であ
る。このデータ復元装置は、圧縮入力バッファ36、符
号分離部38、文字列復元部40、文字列辞書格納部4
2及び復元データバッファ44で構成される。圧縮入力
バッファ36には、図3のデータ圧縮装置で符号化され
た圧縮データがバスや通信回線を介して入力される。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正内容】
【0073】符号分離部38は、圧縮入力バッファ36
に格納された圧縮データの中から17ビット単位に文字
列コードを分離し、文字列復元部40に供給する。文字
列復元部40は入力した文字列コードにより文字列辞書
格納部42を参照し、対応する文字列を復元して復元デ
ータバッファ44に格納する。図10は図9の文字列辞
書格納部42の辞書構造である。この文字列辞書格納部
42にあっては、先頭文字46、従属文字列長さ48及
び従属文字列50を、図5の辞書構造に示した従属文字
列格納部22の17ビットの文字列コード34の順番に
格納している。この順番は図7の辞書構造における従属
文字列格納部22の文字列登録番号KN の順番と同じで
ある。このため文字列復元部40にあっては、復元に使
用する文字列辞書格納部42の格納バイト長Mが 格納バイト長M= 先頭文字+長さ+文字列コ (6) = 16bit +3bit + 96bit =115ビット =15byte から判明しているため、次式から文字列コードK又は文
字列登録番号KN に対応した位置アドレスXを算出する
ことができる。 X=M・K+A1 (7) 但し、K :文字列コード(=文字列登録番号KN ) A1:文字列格納位置の開始アドレス M :格納バイト長 このようにして分離した文字列コードK(又はKN )か
ら辞書格納位置を示す位置アドレスXを求めて参照する
ことで、対応する先頭文字及び従属文字列を組み合わせ
た文字列を復元することができる。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正内容】
【0077】図13は、図11により符号化された圧縮
データを復元するデータ復元装置のブロック図であり、
図9に示したデータ復元装置の基本構成に加え、文字列
復元部40に対し更に動的辞書格納部45を新たに設け
ている。文字列辞書格納部42は図10に示した辞書構
造を持っている。これに対し動的辞書格納部45には、
文字列復元部40で文字列コードを元の文字列に変換す
るごとに図14のように先頭文字64、従属文字列の長
さ65、従属文字列66及び文字列コード67が登録さ
れる。
【手続補正22】
【補正対象書類名】明細書
【補正対象項目名】0084
【補正方法】変更
【補正内容】
【0084】図20は、図15の二重符号化で得られた
圧縮データを復元するためのデータ復元装置のブロック
図である。図20のデータ復元装置は、圧縮入力バッフ
ァ36に続いて第1復号化部82を設け、第1復号化部
82に続いて第2復号化部84を設け、最終的に復元デ
ータバッファ44に復元データを得ている。第1復号化
部82は、例えば図21の辞書型復号化部82−1又は
図22の統計型復号化部82−1で構成される。
【手続補正23】
【補正対象書類名】明細書
【補正対象項目名】0085
【補正方法】変更
【補正内容】
【0085】図21の辞書型復号化部82−は、復号
化部85、復号辞書参照部86及び復号用辞書格納部8
7で構成され、LZ77もしくはLZ78等の復号化処
理を行う。また図22の統計型復号化部82−2は算術
復号化部88と確率モデル部90で構成され、確率統計
型符号化の代表である算術符号化に対応した算術復号化
処理を行う。
【手続補正24】
【補正対象書類名】明細書
【補正対象項目名】0086
【補正方法】変更
【補正内容】
【0086】図23は図15の二重復号化を行うデータ
圧縮装置を変形したもので、入力バッファ10と第1符
号化部72の間に文字列選択部92を設けている。入力
バッファ10に入力される圧縮対象とする日本語文書デ
ータの中には、日本語文字列以外に英語文字列等が含ま
れる場合がある。英語文字列については、第1符号化部
72に設けている文字列辞書格納部14の辞書が適合し
ていないため、そのまま符号化すると符号化後のデータ
量が元のデータ量よりも大きくなるような不具合があ
る。
【手続補正25】
【補正対象書類名】明細書
【補正対象項目名】0088
【補正方法】変更
【補正内容】
【0088】図24は図23のデータ圧縮装置で符号化
された圧縮データを復元するためのデータ復元装置のブ
ロック図である。このデータ復元装置にあっては、第1
復号化部82に続いて文字列選択部94を設け、第1復
号化部82で復元された中間符号が英文を示すアルファ
ベットの文字コードであった場合にはそのまま復元デー
タバッファ44に出力する。
【手続補正26】
【補正対象書類名】明細書
【補正対象項目名】0091
【補正方法】変更
【補正内容】
【0091】第1符号化部72に設けた動的辞書格納部
15は図12と同じ辞書構造をもち、符号化出力が行わ
れるごとに順次登録される。このような動的辞書格納部
15を設けたことで、第1符号化部72における文字列
コードへの符号化を高速化できる。図26は、図23
データ圧縮装置で符号化された圧縮データを復元するた
めのデータ復元装置のブロック図である。このデータ復
元装置にあっては、第1復号化部82に続いて設けた第
2復号化部84に、文字列辞書格納部42に加えて新た
に動的辞書格納部45を設けている。
【手続補正27】
【補正対象書類名】明細書
【補正対象項目名】0096
【補正方法】変更
【補正内容】
【0096】その結果、属性符号を与える属性情報ビッ
ト数と文字列コードを与える単語情報ビット数を加算し
た合計ビット数は、最も単語数が多い名詞類で21ビッ
ト、単語数が最小となる感動詞類では11ビットとな
る。このため、合計ビット数が17ビットを超える名詞
類,動詞類を除いた他の品詞については、図3のデータ
圧縮装置で使用した17ビットの文字列コードよりビッ
ト数が少なくて済み、図27の属性部に文字列コード
を加えた符号を割り当てるデータ圧縮装置の方が結果と
して圧縮率を更に高めることができる。
【手続補正28】
【補正対象書類名】明細書
【補正対象項目名】0099
【補正方法】変更
【補正内容】
【0099】また従属文字列格納部112の従属文字列
122の符号「NULL」は従属文字列がない場合であ
り、この場合には先頭文字について文字列符号と属性符
号の結合符号を符号に割り当てて出力する。ここで属性
符号は、13種類の品詞に対応した属性グループに分け
た場合には4ビットとなるが、例えば13種類の内の8
種類の品詞を属性グループに含め、残りは符号化せずに
元の文字コードをそのまま使用するようにしてもよい。
【手続補正29】
【補正対象書類名】明細書
【補正対象項目名】0103
【補正方法】変更
【補正内容】
【0103】図32(A)は、図27の文字列属性辞書
格納部104の他の辞書構造である。この辞書構造にあ
っては、先頭文字格納部110を図28に示した13種
類の品詞に対応して13グループに分け、名詞格納部1
32−1、動詞格納部132−2、形容詞格納部132
−3、形容動詞格納部132−4、副詞格納部132−
5、連体詞格納部132−6、接続詞格納部132−
7、接頭語格納部132−8、接尾語格納部132−
9、語尾格納部132−10、助動詞格納部132−1
1、感動詞格納部132−12、助詞格納部132−1
3で構成している。尚、動詞格納部132−2〜感動詞
格納部132−12は図示を省略している。
【手続補正30】
【補正対象書類名】明細書
【補正対象項目名】0104
【補正方法】変更
【補正内容】
【0104】名詞格納部132−1〜助詞格納部132
13にはそれぞれ辞書番号DN1〜DN13を設け、
各辞書番号DN1〜DN13ごとに、文字コード順に従
属文字列格納部112に対する先頭アドレス116と従
属文字列の個数118を格納している。また従属文字列
格納部112は、従属文字列の長さ120と従属文字列
122のみを登録し、従属文字列一致検出で符号に割り
当てる属性符号と文字列符号は格納していない。この属
性符号と文字列符号を格納しない代わりに、属性符号は
先頭文字格納部110の名詞格納部132−1〜助詞格
納部132−10のそれぞれに割り当てた辞書番号DN
1〜DN13を4ビット情報として使用し、一方、文字
列符号には各辞書番号DN1〜DN13ごとにグループ
化されている従属文字列格納部112のそれぞれの格納
グループにおける文字列登録番号KN を割り当てる。
【手続補正31】
【補正対象書類名】明細書
【補正対象項目名】0110
【補正方法】変更
【補正内容】
【0110】名詞格納部142−1〜助詞格納部142
13には、それぞれ辞書番号DN1〜DN13を割り
当て、各品詞のグループ内で文字列符号の順番に先頭文
字144とこれに続く従属文字列148を登録し、更に
従属文字列の長さ146を登録している。ここで格納バ
イト長Mは 格納バイト長M= 先頭文字+長さ+文字コード列 (12) = 16bit +3bit + 96bit = 115bit = 15byte であり、また各格納部142−1〜142−10の先頭
アドレスAAは辞書番号DN1〜DN13に対応して図
32(B)のように予め定まっていることから、分離さ
れた属性情報から先頭アドレスAAを取得し、この先頭
アドレスAAと取得した文字列符号Kを(11)式に代
入することで、文字列符号Kに対応した1アドレスXを
得ることができる。4.第2発明の二重符号化によるデ
ータ圧縮と復元図36は、図27のデータ圧縮装置で符
号化した属性符号と文字列符号の組み合わせ符号を中間
符号として、更に第2段階の符号化を行うようにしたデ
ータ圧縮装置である。即ち、入力バッファ100に続い
ては第1符号化部150が設けられ、第1符号化部15
0は図27のデータ圧縮装置と同様、文字列比較部10
2、文字列属性辞書格納部104及び符号出力部106
を備える。
【手続補正32】
【補正対象書類名】明細書
【補正対象項目名】0112
【補正方法】変更
【補正内容】
【0112】このような辞書型符号化あるいは統計型符
号化が行われる図36の第2符号化部152にあって
は、バイト単位にデータを入力して符号化を行うことか
ら、第1符号化部150から出力する属性符号と文字列
符号の組み合わせた符号を8ビットの倍数となるバイト
データとする必要がある。図39は図28の品詞の属性
グループにおける属性情報ビット数と単語情報ビット数
を8ビットの倍数となるバイト情報に変換するためのダ
ミービット数、及びダミービットの付加で得られた合計
ビット数とバイト数を、各々まとめて示している。この
図39から明らかなように、名詞類から感動詞類までの
13種類の属性グループについて、属性情報を表す属性
符号と属性グループ内での番号を表す文字列符号を併せ
た符号のバイト数は2バイトもしくは3バイトのいずれ
かとすればよい。即ち、単語数の多い名詞類と動詞類に
ついては3バイト符号となり、その他は全て2バイト符
号となる。図40は図36の第1符号化部150から符
号出力を行う際のバイトデータへの変換を示している。
即ち図40(A)の入力文字列につき、単語単位の文字
列128−1〜128−nを入力して、第1符号化部1
50により図40(B)の中間符号としての属性符号1
26−1〜126−nと文字列符号124−1〜124
−nの組合せでなる中間符号160−1〜160−nを
生成する。
【手続補正33】
【補正対象書類名】明細書
【補正対象項目名】0115
【補正方法】変更
【補正内容】
【0115】第1復号化部164は、図44の辞書型復
号化部164−1あるいは図45の統計型復号化部16
4−2を用いることができる。図44の辞書型復号化部
164−1は復号化部168、復号辞書参照部169及
び復号用辞書格納部170で構成され、LZ77やLZ
78の復号化が行われる。また図45の統計型復号化部
164−2は算術号化部171と確率モデル部172
で構成され、算術復号化が行われる。

Claims (62)

    【特許請求の範囲】
  1. 【請求項1】スペースで区切られない単語構造をもつ言
    語の文字コードで作成された非圧縮データを圧縮するデ
    ータ圧縮装置に於いて、 圧縮する際の処理単位となる文字列を登録した辞書を格
    納する文字列辞書格納部と、 前記文字列辞書格納部の登録文字列と前記非圧縮データ
    中の部分文字列との比較により、前記登録文字列に一致
    する部分文字列を検出する文字列比較部と、 前記文字列比較部によって検出された部分文字列ごとに
    予め定められた符号を割り当てて出力する符号出力部
    と、を備えたことを特徴とするデータ圧縮装置。
  2. 【請求項2】請求項1記載のデータ圧縮装置に於いて、
    前記文字列辞書格納部は、 圧縮しようとする部分文字列の先頭文字を格納した先頭
    文字格納部と、 前記先頭文字格納部に格納された先頭文字に従属する従
    属文字列を格納した従属文字列格納部と、を備えたこと
    を特徴とするデータ圧縮装置。
  3. 【請求項3】請求項2記載のデータ圧縮装置に於いて、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される1又は複数の格納位置に、従属文字
    列の長さ、従属文字列及び文字列符号を組して格納した
    ことを特徴とするデータ圧縮装置。
  4. 【請求項4】請求項3記載のデータ圧縮装置に於いて、
    前記文字列比較部は、現在処理中の非圧縮データ中の先
    頭文字により前記文字列辞書格納部の先頭文字格納部を
    参照して前記従属文字列格納部から従属文字列の長さを
    取得し、非圧縮データ中から先頭文字に続く前記従属文
    字列の長さの部分文字列を切り出して登録された従属文
    字列との一致検索を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検索結果を受けた際に、前記従属文字列格納部
    に格納された文字列符号を出力することを特徴とするデ
    ータ圧縮装置。
  5. 【請求項5】請求項2記載のデータ圧縮装置に於いて、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される1又は複数の格納位置に、従属文字
    列の長さ及び従属文字列を組にして格納したことを特徴
    とするデータ圧縮装置。
  6. 【請求項6】請求項5記載のデータ圧縮装置に於いて、
    前記文字列比較部は、現在処理中の非圧縮データ中の先
    頭文字により前記文字列辞書格納部の先頭文字格納部を
    参照して前記従属文字列格納部から従属文字列の長さを
    取得し、非圧縮データ中から先頭文字に続く前記従属文
    字列の長さの部分文字列を切り出して登録された従属文
    字列との一致検出を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検出結果を受けた際に、一致検出された文字列
    に前記従属文字列格納部の格納位置を示す文字列登録番
    号を文字列符号として出力することを特徴とするデータ
    圧縮装置。
  7. 【請求項7】請求項1記載のデータ圧縮装置に於いて、
    更に、前記符号出力部から出力された文字列符号を一致
    検出が行われた非圧縮データの部分文字列と共に登録す
    る動的辞書を格納した動的辞書格納部を設け、 前記文字列比較部は、2回目以降について前記動的辞書
    格納部の登録文字列と前記非圧縮データ中の部分文字列
    との比較により、前記登録文字列に一致する部分文字列
    を検出し、一致する文字列が検出できない場合に前記文
    字列辞書格納部を検索して一致する部分文字列を検出す
    ることを特徴とするデータ圧縮装置。
  8. 【請求項8】スペースで区切られない単語構造をもつ言
    語の文字コードで作成された非圧縮データを対象に、辞
    書に登録された圧縮する際の処理単位となる登録文字列
    と前記非圧縮データ中の部分文字列との比較により、前
    記登録文字列に一致する部分文字列を検出し、検出され
    た部分文字列ごとに予め定められた文字列符号を割り当
    てた圧縮データを入力して元の非圧縮データを復元する
    データ復元装置に於いて、 圧縮データから復元単位となる文字列符号を分離する符
    号分離部と、 復元する際の処理単位となる文字列符号に対応した復元
    文字列を登録した辞書を格納する文字列辞書格納部と、 前記符号分離部で分離された文字列符号による前記文字
    列辞書格納部の参照で元の文字列を復元する文字列復元
    部と、を備えたことを特徴とするデータ復元装置。
  9. 【請求項9】請求項8記載のデータ復元装置に於いて、 前記文字列辞書格納部は、復元対象とする文字列符号毎
    に、文字列符号、先頭文字、従属文字列の長さ、及び従
    属文字列を組にして格納し、 前記文字列復元部は、現在処理中の文字列符号に基づき
    前記文字列辞書格納部の格納位置を認識して文字列を復
    元することを特徴とするデータ復元装置。
  10. 【請求項10】請求項8記載のデータ復元装置に於い
    て、 前記文字列辞書格納部は、圧縮しようとする部分文字列
    の先頭文字を格納した先頭文字格納部と、前記先頭文字
    格納部に格納された先頭文字に従属する従属文字列を格
    納した従属文字列格納部とで構成され、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される格納位置に、前記先頭文字格納部へ
    の戻りアドレス、従属文字列の長さ、及び従属文字列を
    組にして格納し、 前記文字列復元部は、現在処理中の文字列符号に基づき
    前記従属文字列格納部の参照で従属文字列を復元すると
    共に、前記戻りアドレスの取得で前記先頭文字格納部を
    参照して先頭文字を復元することを特徴とするデータ復
    元装置。
  11. 【請求項11】請求項8記載のデータ復元装置に於い
    て、更に、前記文字列復元部から出力された文字列を一
    致検出が行われた復元前の文字列符号と共に登録する動
    的辞書を格納した動的辞書格納部を設け、 前記文字列復元部は、2回目以降について前記動的辞書
    格納部の登録文字列符号と前記圧縮データ中の文字列符
    号との比較により、前記登録文字列符号に一致する文字
    列符号を検出し、一致する文字列符号が検出できない場
    合に前記文字列辞書格納部を検索して一致する文字列符
    号を検出することを特徴とするデータ圧縮装置。
  12. 【請求項12】スペースで区切られない単語構造をもつ
    言語の文字コードで作成された非圧縮データを圧縮する
    データ圧縮装置に於いて、 辞書に登録された圧縮する際の処理単位となる登録文字
    列と前記非圧縮データ中の部分文字列との比較により、
    前記登録文字列に一致する部分文字列を検出し、検出さ
    れた部分文字列ごとに予め定められた文字列符号を割り
    当てて中間符号として出力する第1符号化部と、 前記第1符号化部で圧縮された中間符号列を入力して再
    度圧縮する第2符号化部と、を備えたことを特徴とする
    データ圧縮装置。
  13. 【請求項13】請求項12記載のデータ圧縮装置に於い
    て、前記第2符号化部は、前記中間符号列を辞書の登録
    番号に置き換え、出現頻度の高い中間符号列ほど長い符
    号列で登録して符号化する辞書型符号化部であることを
    特徴とするデータ圧縮装置。
  14. 【請求項14】請求項12記載のデータ圧縮装置に於い
    て、前記第2符号化部は、前記中間符号の統計的な出現
    頻度に基づき、出現頻度の高い中間符号に対し短い符号
    を割り当てて出力する統計型符号化部であることを特徴
    とするデータ圧縮装置。
  15. 【請求項15】請求項12記載のデータ圧縮装置に於い
    て、更に、前記非圧縮データについてスペースで区切ら
    れない言語の第1文字列かスペースで区切られる言語の
    第2文字列かを識別し、前記第1文字列は前記第1符号
    化部に入力し、前記第2文字列は前記第2符号化部に入
    力する文字列選択部を設けたことを特徴とするデータ圧
    縮装置。
  16. 【請求項16】請求項12記載のデータ圧縮装置に於い
    て、前記第1符号化部は、 圧縮する際の処理単位となる文字列を登録した辞書を格
    納する文字列辞書格納部と、 前記文字列辞書格納部の登録文字列と前記非圧縮データ
    中の部分文字列との比較により、前記登録文字列に一致
    する部分文字列を検出する文字列比較部と、 前記文字列比較部によって検出された部分文字列ごとに
    予め定められた文字列符号を割り当てて出力する符号出
    力部と、を備えたことを特徴とするデータ圧縮装置。
  17. 【請求項17】請求項16記載のデータ圧縮装置に於い
    て、前記文字列辞書格納部は、 圧縮しようとする部分文字列の先頭文字を格納した先頭
    文字格納部と、 前記先頭文字格納部に格納された先頭文字に従属する従
    属文字列を格納した従属文字列格納部と、を備えたこと
    を特徴とするデータ圧縮装置。
  18. 【請求項18】請求項17記載のデータ圧縮装置に於い
    て、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される1又は複数の格納位置に、従属文字
    列の長さ、従属文字列及び文字列符号を組にして格納し
    たことを特徴とするデータ圧縮装置。
  19. 【請求項19】請求項18記載のデータ圧縮装置に於い
    て、前記文字列比較部は、現在処理中の非圧縮データ中
    の先頭文字により前記文字列辞書格納部の先頭文字格納
    部を参照して前記従属文字列格納部から従属文字列の長
    さを取得し、非圧縮データ中から先頭文字に続く前記従
    属文字列の長さの部分文字列を切り出して登録された従
    属文字列との一致検出を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検出結果を受けた際に、一致検出された文字列
    ごとに前記従属文字列格納部に格納された文字列符号を
    割当てて出力することを特徴とするデータ圧縮装置。
  20. 【請求項20】請求項16記載のデータ圧縮装置に於い
    て、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される1又は複数の格納位置に、従属文字
    列の長さ、及び従属文字列を組にして格納したことを特
    徴とするデータ圧縮装置。
  21. 【請求項21】請求項20記載のデータ圧縮装置に於い
    て、前記文字列比較部は、現在処理中の非圧縮データ中
    の先頭文字により前記文字列辞書格納部の先頭文字格納
    部を参照して前記従属文字列格納部から従属文字列の長
    さを取得し、非圧縮データ中から先頭文字に続く前記従
    属文字列の長さの部分文字列を切り出して登録された従
    属文字列との一致検出を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検出結果を受けた際に、一致検出された文字列
    毎に前記従属文字列格納部の格納位置を示す文字列登録
    番号を割当てた文字列符号を出力することを特徴とする
    データ圧縮装置。
  22. 【請求項22】請求項16記載のデータ圧縮装置に於い
    て、更に、 前記符号出力部から出力された文字列符号を一致検出が
    行われた非圧縮データの部分文字列と共に登録する動的
    辞書を格納した動的辞書格納部と、 前記符号出力部から出力された文字列符号の出現頻度を
    計数して前記第2符号化部に出力する出現頻度計数部と
    を設け、 前記文字列比較部は、2回目以降について前記動的辞書
    格納部の登録文字列と前記非圧縮データ中の部分文字列
    との比較により、前記登録文字列に一致する部分文字列
    を検出し、一致する文字列が検出できない場合に前記文
    字列辞書格納部を検索して一致する部分文字列を検出す
    ることを特徴とするデータ圧縮装置。
  23. 【請求項23】スペースで区切られない単語構造をもつ
    言語の文字コードで作成された非圧縮データを対象に、
    辞書に登録された圧縮する際の処理単位となる登録文字
    列と前記非圧縮データ中の一致する部分文字列を検出し
    て予め定められた文字列符号を中間符号として出力する
    第1段階の符号化と、前記中間符号列を入力して再度符
    号化する第2段階の符号化を行った圧縮データを入力し
    て元の非圧縮データを復元するデータ復元装置に於い
    て、 前記圧縮データを入力して前記中間符号列を復元する第
    1復号化部と、 前記第1復号化部で復号された中間符号列を入力して元
    の文字列を復元する第2復号化部と、を備えたことを特
    徴とするデータ復元装置。
  24. 【請求項24】請求項23記載のデータ復元装置に於い
    て、前記第2段階の符号化として、中間符号列を辞書の
    登録番号に置き換え、出現頻度の高い中間符号列ほど長
    い符号列で登録して符号化する辞書型符号化を行った場
    合、前記第1復号化部は、入力符号による辞書の参照で
    前記中間符号を復元する辞書型復号化を行うことを特徴
    とするデータ復元装置。
  25. 【請求項25】請求項23記載のデータ復元装置に於い
    て、前記第2段階の符号化として、中間符号の統計的な
    出現頻度に基づき、出現頻度の高い中間符号に対し短い
    符号を割り当てて出力する統計型符号化を行った場合、
    前記第1復号化部は、復元済みの中間符号の出現頻度に
    基づいて中間符号を復元する統計型復号化を行うことを
    特徴とするデータ復元装置。
  26. 【請求項26】請求項23記載のデータ復元装置に於い
    て、前記非圧縮データについてスペースで区切られない
    言語の文字列に対し前記第1段階及び第2段階の符号化
    を行い、スペースで区切られる言語の文字列に対し前記
    第2段階のみの符号化を行っていた場合、前記第1復号
    化部に続いて、前記第1段階及び第2段階の符号化によ
    る符号列の復元による中間符号列は前記第2復号化部に
    入力し、前記第2段階の符号化のみの符号列を復元した
    文字列はそのまま出力する文字列選択部を設けたことを
    特徴とするデータ復元装置。
  27. 【請求項27】請求項23記載のデータ復元装置に於い
    て、 圧縮データから復元単位となる文字列符号を分離する符
    号分離部と、 復元する際の処理単位となる文字列符号に対応した復元
    文字列を登録した辞書を格納する文字列辞書格納部と、 前記符号分離部で分離された文字列符号による前記文字
    列辞書格納部の参照で元の文字列を復元する文字列復元
    部と、を備えたことを特徴とするデータ復元装置。
  28. 【請求項28】請求項23記載のデータ復元装置に於い
    て、 前記文字列辞書格納部は、復元対象とする文字列符号列
    毎に、文字列符号、先頭文字、従属文字列の長さ、及び
    従属文字列を組にして格納し、 前記文字列復元部は、現在処理中の文字列符号に基づき
    前記文字列辞書格納部の格納位置を認識して文字列を復
    元することを特徴とするデータ復元装置。
  29. 【請求項29】請求項23記載のデータ復元装置に於い
    て、 前記文字列辞書格納部は、圧縮しようとする部分文字列
    の先頭文字を格納した先頭文字格納部と、前記先頭文字
    格納部に格納された先頭文字に従属する従属文字列を格
    納した従属文字列格納部とで構成され、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される1又は複数の格納位置に、前記先頭
    文字格納部への戻りアドレス、従属文字列の長さ、及び
    従属文字列を組にして格納し、 前記文字列復元部は、現在処理中の文字列符号に基づき
    前記従属文字列格納部の参照で従属文字列を復元すると
    共に、前記戻りアドレスの取得で前記先頭文字格納部を
    参照して先頭文字を復元することを特徴とするデータ復
    元装置。
  30. 【請求項30】請求項27記載のデータ復元装置に於い
    て、更に、 前記文字列復元部から出力された文字列を一致検出が行
    われた復元前の文字列符号と共に登録する動的辞書を格
    納した動的辞書格納部と、 前記文字列復元部から出力された文字列の出現頻度を計
    数して前記第2符号化部に出力する出現頻度計数部とを
    設け、 前記文字列復元部は、2回目以降について前記動的辞書
    格納部の登録文字列符号と前記圧縮データ中の文字列符
    号との比較により、前記登録文字列符号に一致する文字
    列符号を検出し、一致する文字列符号が検出できない場
    合に前記文字列辞書格納部を検索して一致する文字列符
    号を検出することを特徴とするデータ圧縮装置。
  31. 【請求項31】スペースで区切られない単語構造をもつ
    言語の文字コードで作成された非圧縮データを圧縮する
    データ圧縮方法に於いて、 圧縮する際の処理単位となる文字列を登録した辞書を格
    納した文字列辞書格納部の登録文字列と、前記非圧縮デ
    ータ中の部分文字列との比較により、前記登録文字列に
    一致する部分文字列を検出する文字列比較過程と、 前記文字列比較過程によって検出された部分文字列ごと
    に予め定められた文字列符号を出力する符号出力過程
    と、を備えたことを特徴とするデータ圧縮方法。
  32. 【請求項32】スペースで区切られない単語構造をもつ
    言語の文字コードで作成された非圧縮データを対象に、
    辞書に登録された圧縮する際の処理単位となる登録文字
    列と前記非圧縮データ中の部分文字列との比較により、
    前記登録文字列に一致する部分文字列を検出し、検出さ
    れた部分文字列ごとに予め定められた文字列符号を割り
    当てた圧縮データを入力して元の非圧縮データを復元す
    るデータ復元方法に於いて、 圧縮データから復元単位となる文字列符号を分離する符
    号分離過程と、 復元する際の処理単位となる文字列符号に対応する復元
    文字列を登録した辞書を前記符号列分離過程で分離され
    た文字列符号により参照して元の文字列を復元する文字
    列復元過程と、を備えたことを特徴とするデータ復元方
    法。
  33. 【請求項33】スペースで区切られない単語構造をもつ
    言語の文字コードで作成された非圧縮データを圧縮する
    データ圧縮方法に於いて、 辞書に登録された圧縮する際の処理単位となる登録文字
    列と前記非圧縮データ中の部分文字列との比較により、
    前記登録文字列に一致する部分文字列を検出し、検出さ
    れた部分文字列ごとに予め定められた文字列符号を割り
    当てて中間符号として出力する第1符号化過程と、 前記第1符号化過程で圧縮された中間符号列を入力して
    再度圧縮する第2符号化過程と、を備えたことを特徴と
    するデータ圧縮方法。
  34. 【請求項34】スペースで区切られない単語構造をもつ
    言語の文字コードで作成された非圧縮データを対象に、
    辞書に登録された圧縮する際の処理単位となる登録文字
    列と前記非圧縮データ中の一致する部分文字列を検出し
    て予め定められた文字列符号を割り当て中間符号を出力
    する第1段階の符号化と、前記中間符号列を入力して再
    度符号化する第2段階の符号化を行った圧縮データを入
    力して元の非圧縮データを復元するデータ復元方法に於
    いて、 前記圧縮データを入力して前記中間符号を復元する第1
    復号化過程と、 前記第1復号化過程で復号された中間符号列を入力して
    元の文字列を復元する第2復号化過程と、を備えたこと
    を特徴とするデータ復元方法。
  35. 【請求項35】文字コードで作成された非圧縮データを
    圧縮するデータ圧縮装置に於いて、 圧縮する際の処理単位となる文字列を、属性により分類
    して複数の属性グループに分けて登録した辞書を格納す
    る文字列属性辞書格納部と、 前記文字列属性辞書格納部の登録文字列と前記非圧縮デ
    ータ中の部分文字列との比較により、前記登録文字列に
    一致する部分文字列を検出する文字列比較部と、 前記文字列比較部によって検出された部分文字列ごとに
    予め定められた文字列符号と前記属性グループを表す属
    性符号との組を割り当てて出力する符号出力部と、を備
    えたことを特徴とするデータ圧縮装置。
  36. 【請求項36】請求項35記載のデータ圧縮装置に於い
    て、前記文字列属性辞書格納部は、 圧縮しようとする部分文字列の先頭文字を格納した先頭
    文字格納部と、 前記先頭文字格納部に格納された先頭文字に従属する従
    属文字列を格納した従属文字列格納部と、を備えたこと
    を特徴とするデータ圧縮装置。
  37. 【請求項37】請求項36記載のデータ圧縮装置に於い
    て、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の個
    数を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される格納位置に、従属文字列の長さ、従
    属文字列、文字列符号、及び属性符号を組にして格納し
    たことを特徴とするデータ圧縮装置。
  38. 【請求項38】請求項37記載のデータ圧縮装置に於い
    て、前記文字列比較部は、現在処理中の非圧縮データ中
    の先頭文字により前記文字列属性辞書格納部の先頭文字
    格納部を参照して前記従属文字列格納部から従属文字列
    の長さを取得し、非圧縮データ中から先頭文字に続く前
    記従属文字列の長さの部分文字列を切り出して登録され
    た従属文字列との一致検索を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検索結果を受けた際に、一致検出された部分文
    字列ごとに前記従属文字列格納部に格納された文字列符
    号と属性符号の組を割り当てて出力することを特徴とす
    るデータ圧縮装置。
  39. 【請求項39】請求項36記載のデータ圧縮装置に於い
    て、 前記先頭文字格納部は、前記属性グループに応じた複数
    の属性格納部に分割され、 前記複数の属性格納部の各々に、固有の辞書番号を設定
    すると共に、同じ文字列の先頭文字をインデックスとし
    て前記従属文字列格納部の先頭アドレスと従属文字列の
    数を格納し、 前記従属文字列格納部は、前記複数の属性格納部の先頭
    アドレスで指定される格納位置に、従属文字列の長さ、
    及び従属文字列を組にして格納したことを特徴とするデ
    ータ圧縮装置。
  40. 【請求項40】請求項39記載のデータ圧縮装置に於い
    て、前記文字列比較部は、現在処理中の非圧縮データ中
    の先頭文字により前記文字列属性辞書格納部の属性格納
    部を参照して対応する前記従属文字列格納部から従属文
    字列の長さを取得し、非圧縮データ中から先頭文字に続
    く前記従属文字列の長さの部分文字列を切り出して登録
    された従属文字列との一致検索を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検索結果を受けた際に、前記従属文字列格納部
    の格納位置を示す文字列登録番号と前記属性格納部の辞
    書番号の組を一致検出された文字列に割り当てて出力す
    ることを特徴とするデータ圧縮装置。
  41. 【請求項41】文字コードで作成された非圧縮データを
    対象に、圧縮する際の処理単位となる文字列を、属性に
    より分類して複数の属性グループに分けて登録した辞書
    の登録文字列と前記非圧縮データ中の部分文字列とを比
    較して一致する部分文字列を検出し、該部分文字列ごと
    に予め定められた文字列符号と前記属性グループを表す
    属性符号の組を割り当てた圧縮データを入力して元の非
    圧縮データを復元するデータ復元装置に於いて、 圧縮データから復元単位となる符号を抽出して属性符号
    と文字列符号に分離する符号分離部と、 前記属性グループに応じた複数の属性格納部に分割さ
    れ、複数の属性格納部毎に復元する際の処理単位となる
    文字列符号に対応した復元文字列を登録した辞書を格納
    する文字列属性辞書格納部と、 前記符号列分離部で分離された属性符号と文字列符号に
    よる前記文字列属性辞書格納部の参照により元の文字列
    を復元する文字列復元部と、を備えたことを特徴とする
    データ復元装置。
  42. 【請求項42】請求項41記載のデータ復元装置に於い
    て、 前記文字列属性辞書格納部は、復元対象とする先頭文
    字、従属文字列の長さ、及び従属文字列の組を属性グル
    ープに分けて前記複数の属性格納部に格納し、 前記文字列復元部は、分離した属性符号に基づいて前記
    属性格納部を選択し、次に分離した文字列符号に基づき
    該選択した属性格納部の文字列符号の格納位置を認識し
    て文字列を復元することを特徴とするデータ復元装置。
  43. 【請求項43】文字コードで作成された非圧縮データを
    圧縮するデータ圧縮装置に於いて、 文字列属性辞書に登録された圧縮する際の処理単位とな
    る登録文字列と前記非圧縮データ中の部分文字列との比
    較により、前記登録文字列に一致する部分文字列を検出
    し、一致検出された部分文字列ごとに予め定められた文
    字列符号と属性符号の組を中間符号として割り当てて出
    力する第1符号化部と、 前記第1符号化部で圧縮された中間符号列を入力して再
    度圧縮する第2符号化部と、を備えたことを特徴とする
    データ圧縮装置。
  44. 【請求項44】請求項43記載のデータ圧縮装置に於い
    て、前記第2符号化部は、前記中間符号列を辞書の登録
    番号に置き換え、出現頻度の高い中間符号列ほど長い符
    号列で登録して符号化する辞書型符号化部であることを
    特徴とするデータ圧縮装置。
  45. 【請求項45】請求項43記載のデータ圧縮装置に於い
    て、前記第2符号化部は、前記中間符号の統計的な出現
    頻度に基づき、出現頻度の高い中間符号に対し短い符号
    を割り当てて出力する統計型符号化部であることを特徴
    とするデータ圧縮装置。
  46. 【請求項46】請求項43記載のデータ圧縮装置に於い
    て、更に、前記非圧縮データについてスペースで区切ら
    れない言語の第1文字列かスペースで区切られる言語の
    第2文字列かを識別し、前記第1文字列は前記第1符号
    化部に入力し、前記第2文字列は前記第2符号化部に入
    力する文字列選択部を設けたことを特徴とするデータ圧
    縮装置。
  47. 【請求項47】請求項43記載のデータ圧縮装置に於い
    て、前記第1符号化部は、 圧縮する際の処理単位となる文字列を、属性により分類
    して複数の属性グループに分けて登録した辞書を格納す
    る文字列属性辞書格納部と、 前記文字列属性辞書格納部の登録文字列と前記非圧縮デ
    ータ中の部分文字列との比較により、前記登録文字列に
    一致する部分文字列を検出する文字列比較部と、 前記文字列比較部によって検出された部分文字列ごと
    に、予め定められた文字列符号と前記属性グループを表
    す属性符号との組を割り当てて出力する符号出力部と、
    を備えたことを特徴とするデータ圧縮装置。
  48. 【請求項48】請求項43記載のデータ圧縮装置に於い
    て、前記文字列属性辞書格納部は、 圧縮しようとする部分文字列の先頭文字を格納した先頭
    文字格納部と、 前記先頭文字格納部に格納された先頭文字に従属する従
    属文字列を格納した従属文字列格納部と、を備えたこと
    を特徴とするデータ圧縮装置。
  49. 【請求項49】請求項48記載のデータ圧縮装置に於い
    て、 前記先頭文字格納部は、先頭文字をインデックスとして
    前記従属文字列格納部の先頭アドレスと従属文字列の数
    を格納し、 前記従属文字列格納部は、前記先頭文字格納部の先頭ア
    ドレスで指定される格納位置に、従属文字列の長さ、従
    属文字列、文字列符号、及び属性符号を組にして格納
    し、更に前記属性符号と文字列符号の長さの和が8ビッ
    トの倍数のバイト符号であることを特徴とするデータ圧
    縮装置。
  50. 【請求項50】請求項49記載のデータ圧縮装置に於い
    て、前記文字列比較部は、現在処理中の非圧縮データ中
    の先頭文字により前記文字列属性辞書格納部の先頭文字
    格納部を参照して前記従属文字列格納部から従属文字列
    の長さを取得し、非圧縮データ中から先頭文字に続く前
    記従属文字列の長さの部分文字列を切り出して登録され
    た従属文字列との一致検出を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検出結果を受けた際に、前記従属文字列格納部
    に格納された文字列符号と属性符号の組を前記一致検出
    された文字列に割り当てて出力することを特徴とするデ
    ータ圧縮装置。
  51. 【請求項51】請求項43記載のデータ圧縮装置に於い
    て、 前記先頭文字格納部は、前記属性グループに応じた複数
    の属性格納部に分割され、 前記複数の属性格納部の各々に、固有の辞書番号を設定
    すると共に、同じ文字列の先頭文字をインデックスとし
    て前記従属文字列格納部の先頭アドレスと従属文字列の
    個数を格納し、 前記従属文字列格納部は、前記複数の属性格納部の先頭
    アドレスで指定される格納位置に、従属文字列の長さ、
    及び従属文字列を組にして格納したことを特徴とするデ
    ータ圧縮装置。
  52. 【請求項52】請求項51記載のデータ圧縮装置に於い
    て、前記文字列比較部は、現在処理中の非圧縮データ中
    の先頭文字により前記文字列属性辞書格納部の属性格納
    部を参照して対応する前記従属文字列格納部から従属文
    字列の長さを取得し、非圧縮データ中から先頭文字に続
    く前記従属文字列の長さの部分文字列を切り出して登録
    された従属文字列との一致検出を行い、 前記符号出力部は、前記文字列比較部から登録文字列に
    一致する検出結果を受けた際に、前記従属文字列格納部
    の格納位置を示す文字列登録番号と前記属性格納部の辞
    書番号の組を、符号長が8ビットの倍数のバイト符号に
    割り当てて出力することを特徴とするデータ圧縮装置。
  53. 【請求項53】文字コードで作成された非圧縮データを
    対象に、文字列属性辞書に登録された圧縮する際の処理
    単位となる登録文字列と前記非圧縮データ中の一致する
    部分文字列を検出して予め定められた文字列符号と属性
    符号の組を中間符号として割り当てて出力する第1段階
    の符号化と、前記中間符号列を入力して再度符号化する
    第2段階の符号化を行った圧縮データを入力して元の非
    圧縮データを復元するデータ復元装置に於いて、 前記圧縮データを入力して前記中間符号列を復元する第
    1復号化部と、 前記第1復号化部で復号された中間符号列を入力して元
    の文字列を復元する第2復号化部と、を備えたことを特
    徴とするデータ復元装置。
  54. 【請求項54】請求項53記載のデータ復元装置に於い
    て、前記第2段階の符号化として、中間符号列を属性辞
    書の登録番号に置き換え、出現頻度の高い中間符号列ほ
    ど長い符号列で登録して符号化する属性辞書型符号化を
    行った場合、前記第1復号化部は、入力符号による属性
    辞書の参照で前記中間符号を復元する属性辞書型復号化
    を行うことを特徴とするデータ復元装置。
  55. 【請求項55】請求項53記載のデータ復元装置に於い
    て、前記第2段階の符号化として、中間符号の統計的な
    出現頻度に基づき、出現頻度の高い中間符号に対し短い
    符号を割り当てて出力する統計型符号化を行った場合、
    前記第1復号化部は、復元済みの中間符号の出現頻度に
    基づいて中間符号を復元する統計型復号化を行うことを
    特徴とするデータ復元装置。
  56. 【請求項56】請求項53記載のデータ復元装置に於い
    て、前記非圧縮データについてスペースで区切られない
    言語の文字列に対し前記第1段階御及び第2段階の符号
    化を行い、スペースで区切られる言語の文字列に対し前
    記第2段階のみの符号化を行っていた場合、前記第1符
    号化部に続いて、前記第1段階及び第2段階の符号化に
    よる符号列を復号した中間符号列は前記第2復号化部に
    入力し、前記第2段階の符号化のみの符号列を復元した
    文字列はそのまま出力する文字列選択部を更に設けたこ
    とを特徴とするデータ復元装置。
  57. 【請求項57】請求項53記載のデータ復元装置に於い
    て、前記第2復号化部は、 中間符号を属性符号と文字列符号を分離する符号分離部
    と、 前記属性グループに応じた複数の属性格納部に分割さ
    れ、各属性格納部毎に復元する際の処理単位となる文字
    符号に対応する復元文字列を登録した辞書を格納する文
    字列属性辞書格納部と、 前記符号列分離部で分離された属性と文字列符号に基づ
    く前記文字列属性辞書格納部の参照により元の文字列を
    復元する文字列復元部と、を備えたことを特徴とするデ
    ータ復元装置。
  58. 【請求項58】請求項57記載のデータ復元装置に於い
    て、 前記文字列属性辞書格納部は、復元対象とする先頭文
    字、従属文字列の長さ、及び従属文字列の組を属性グル
    ープに分けて前記複数の属性格納部に格納し、 前記文字列復元部は、分離した属性符号に基づいて前記
    属性格納部を選択し、次に分離した文字列符号に基づき
    該選択した前記属性格納部の格納位置を認識して文字列
    を復元することを特徴とするデータ復元装置。
  59. 【請求項59】文字コードで作成された非圧縮データを
    圧縮するデータ圧縮方法に於いて、 圧縮する際の処理単位となる文字列を、属性により分類
    して複数の属性グループに分けて登録した辞書の登録文
    字列と前記非圧縮データ中の部分文字列との比較によ
    り、前記登録文字列に一致する部分文字列を検出する文
    字列比較過程と、 前記文字列比較過程によって検出された部分文字列ごと
    に予め定められた文字列符号と前記属性グループを表す
    属性符号の組を割り当てて出力する符号出力過程と、を
    備えたことを特徴とするデータ圧縮方法。
  60. 【請求項60】文字コードで作成された非圧縮データを
    対象に、圧縮する際の処理単位となる文字列を、属性に
    より分類して複数の属性グループに分けて登録した辞書
    の登録文字列と前記非圧縮データ中の部分文字列とを比
    較して一致する部分文字列を検出し、該部分文字列ごと
    に予め定められた文字列符号と前記属性グループを表す
    属性符号の組を割り当てた圧縮データを入力して元の非
    圧縮データを復元するデータ復元方法に於いて、 圧縮データから復元単位となる符号を抽出して属性符号
    と文字列符号に分離する符号分離過程と、 前記属性グループに応じた複数の属性格納部に分割さ
    れ、各属性格納部毎に復元する際の処理単位となる文字
    列符号に対応した復元文字列を登録した辞書を格納する
    文字列属性辞書格納過程と、 前記符号分離過程で分離された属性符号と文字列符号に
    よる前記文字列属性辞書格納部の参照により元の文字列
    を復元する文字列復元過程と、を備えたことを特徴とす
    るデータ復元方法。
  61. 【請求項61】文字コードで作成された非圧縮データを
    圧縮するデータ圧縮方法に於いて、 文字列属性辞書に登録された圧縮する際の処理単位とな
    る登録文字列と前記非圧縮データ中の部分文字列との比
    較により、前記登録文字列に一致する部分文字列を検出
    し、検出された部分文字列ごとに予め定められた文字列
    符号と属性符号を結合した中間符号の組を中間符号とし
    て割り当てて出力する第1符号化過程と、 前記第1符号過程で圧縮された中間符号列を入力して再
    度圧縮する第2符号化過程と、を備えたことを特徴とす
    るデータ圧縮方法。
  62. 【請求項62】文字コードで作成された非圧縮データを
    対象に、文字列属性辞書に登録された圧縮する際の処理
    単位となる登録文字列と前記非圧縮データ中の一致する
    部分文字列を検出して予め定められた文字列符号と属性
    符号の組を中間符合として割り当てて出力する第1段階
    の符号化と、前記中間符号列を入力して再度符号化する
    第2段階の符号化を行った圧縮データを入力して元の非
    圧縮データを復元するデータ復元方法に於いて、 前記圧縮データを入力して前記中間符号列を復元する第
    1復号化過程と、 前記第1復号化部で復号された中間符号列を入力して元
    の文字列を復元する第2復号化過程と、を備えたことを
    特徴とするデータ復元方法。
JP01007698A 1998-01-22 1998-01-22 データ圧縮装置及び復元装置並びにその方法 Expired - Fee Related JP3421700B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP01007698A JP3421700B2 (ja) 1998-01-22 1998-01-22 データ圧縮装置及び復元装置並びにその方法
US09/099,421 US6542640B1 (en) 1998-01-22 1998-06-18 Data compressing apparatus, reconstructing apparatus, and its method
US10/308,000 US6747582B2 (en) 1998-01-22 2002-12-03 Data compressing apparatus, reconstructing apparatus, and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01007698A JP3421700B2 (ja) 1998-01-22 1998-01-22 データ圧縮装置及び復元装置並びにその方法

Publications (2)

Publication Number Publication Date
JPH11215007A true JPH11215007A (ja) 1999-08-06
JP3421700B2 JP3421700B2 (ja) 2003-06-30

Family

ID=11740275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01007698A Expired - Fee Related JP3421700B2 (ja) 1998-01-22 1998-01-22 データ圧縮装置及び復元装置並びにその方法

Country Status (2)

Country Link
US (2) US6542640B1 (ja)
JP (1) JP3421700B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004505475A (ja) * 2000-07-25 2004-02-19 ペリビット・ネットワークス,インコーポレイテッド ネットワーク通信データをオンラインで透過的にクロスセッションで符号化及び伝送するための構成及び方法
JP2004511928A (ja) * 2000-07-25 2004-04-15 ペリビット・ネットワークス,インコーポレイテッド 漸進的で連続的なデータ圧縮のためのシステム及び方法
WO2014097353A1 (ja) * 2012-12-19 2014-06-26 富士通株式会社 圧縮装置、圧縮方法、圧縮プログラム、伸張装置、伸張方法、伸張プログラム、および圧縮伸張システム
JP2016134100A (ja) * 2015-01-21 2016-07-25 富士通株式会社 文書処理プログラム、情報処理装置および文書処理方法
US9520896B1 (en) 2015-07-13 2016-12-13 Fujitsu Limited Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000201080A (ja) * 1999-01-07 2000-07-18 Fujitsu Ltd 付加コ―ドを用いたデ―タ圧縮/復元装置および方法
JP2001125894A (ja) * 1999-10-29 2001-05-11 Sony Corp 文書編集処理装置及び文書編集処理方法およびプログラム提供媒体
US7026962B1 (en) * 2000-07-27 2006-04-11 Motorola, Inc Text compression method and apparatus
US7424409B2 (en) * 2001-02-20 2008-09-09 Context-Based 4 Casting (C-B4) Ltd. Stochastic modeling of time distributed sequences
WO2003003584A1 (en) * 2001-06-29 2003-01-09 Netcontinuum, Inc. System and method for data compression using a hybrid coding scheme
US7206448B2 (en) * 2002-02-28 2007-04-17 At&T Corp. System and method for using pattern vectors for video and image coding and decoding
JP3788414B2 (ja) * 2002-09-26 2006-06-21 ブラザー工業株式会社 Jpeg再圧縮データの通信装置および通信方法
US7099884B2 (en) * 2002-12-06 2006-08-29 Innopath Software System and method for data compression and decompression
JP4006333B2 (ja) * 2002-12-26 2007-11-14 キヤノン株式会社 画像圧縮方法、画像処理装置、コンピュータプログラム、コンピュータ可読記憶媒体
US7447261B2 (en) * 2003-07-08 2008-11-04 Conexant Systems, Inc. Adaptive frequency equalizer
US7254272B2 (en) * 2003-08-21 2007-08-07 International Business Machines Corporation Browsing JPEG images using MPEG hardware chips
US20050159812A1 (en) * 2004-01-16 2005-07-21 Dinger Fred B.Iii Bone-tendon-bone implant
US7439887B2 (en) * 2007-02-13 2008-10-21 Seiko Epson Corporation Method and apparatus for GIF decompression using fixed-size codeword table
TW200929078A (en) * 2007-12-28 2009-07-01 Altek Corp Method of compressing for a static image and computer readable data structure and storage media
US7870160B2 (en) * 2008-04-14 2011-01-11 Objectif Lune Inc. Block compression algorithm
US8417730B2 (en) * 2008-04-14 2013-04-09 Objectif Lune Inc. Block compression algorithm
JP5062131B2 (ja) * 2008-10-06 2012-10-31 富士通株式会社 情報処理プログラム、情報処理装置、および情報処理方法
KR101049699B1 (ko) * 2009-07-17 2011-07-15 (주)이스트소프트 데이터의 압축방법
US8645713B2 (en) * 2011-03-22 2014-02-04 Fujitsu Limited Encrypting method, recording medium of encrypting program, decrypting method, and recording medium of decrypting program
JPWO2012150637A1 (ja) * 2011-05-02 2014-07-28 富士通株式会社 抽出方法、情報処理方法、抽出プログラム、情報処理プログラム、抽出装置、および情報処理装置
US9035807B2 (en) * 2011-08-25 2015-05-19 Thomson Licensing Hierarchical entropy encoding and decoding
JP5821994B2 (ja) * 2014-04-21 2015-11-24 富士ゼロックス株式会社 画像処理装置、画像形成装置およびプログラム
JP6225844B2 (ja) * 2014-06-30 2017-11-08 株式会社デンソー 対象物検出装置
WO2017017738A1 (ja) * 2015-07-24 2017-02-02 富士通株式会社 符号化プログラム、符号化装置、及び符号化方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4086126A (en) 1977-05-27 1978-04-25 Northern Telecom Limited Production of high radiance light emitting diodes
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
JPS61232724A (ja) 1985-04-08 1986-10-17 Nippon Denki Off Syst Kk 文字コ−ドデ−タの圧縮方式
US4843389A (en) * 1986-12-04 1989-06-27 International Business Machines Corp. Text compression and expansion method and apparatus
DE3837970C2 (de) 1988-11-09 1994-05-05 Deutsche Forsch Luft Raumfahrt Verformbare Wand
KR930004311B1 (ko) * 1989-04-18 1993-05-22 미쯔비시덴끼 가부시끼가이샤 동화상 부호화 복호화장치
US5109433A (en) * 1989-10-13 1992-04-28 Microsoft Corporation Compressing and decompressing text files
JP3009434B2 (ja) 1990-07-30 2000-02-14 富士通株式会社 データ圧縮装置
JPH0546358A (ja) 1991-07-15 1993-02-26 Sharp Corp テキストデータの圧縮方法
US5590317A (en) * 1992-05-27 1996-12-31 Hitachi, Ltd. Document information compression and retrieval system and document information registration and retrieval method
JPH08502865A (ja) * 1992-09-01 1996-03-26 アプル・コンピュータ・インコーポレーテッド 改良されたベクトルの量子化
US5982437A (en) * 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
US5374916A (en) * 1992-12-18 1994-12-20 Apple Computer, Inc. Automatic electronic data type identification process
US5412429A (en) * 1993-03-11 1995-05-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Picture data compression coder using subband/transform coding with a Lempel-Ziv-based coder
JP2732188B2 (ja) 1993-03-15 1998-03-25 国際電信電話株式会社 最適符号表現を用いた多段データ圧縮装置
US5389922A (en) * 1993-04-13 1995-02-14 Hewlett-Packard Company Compression using small dictionaries with applications to network packets
JP3278297B2 (ja) * 1994-07-20 2002-04-30 富士通株式会社 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
JP3007819B2 (ja) * 1994-12-28 2000-02-07 インターナショナル・ビジネス・マシーンズ・コーポレイション データ圧縮用検索装置
US5710562A (en) * 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data
GB2305746B (en) * 1995-09-27 2000-03-29 Canon Res Ct Europe Ltd Data compression apparatus
JP3566441B2 (ja) * 1996-01-30 2004-09-15 シャープ株式会社 テキスト圧縮用辞書作成装置
JP2840589B2 (ja) * 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
US5867114A (en) * 1996-02-29 1999-02-02 Mitel Corporation Method and apparatus for performing data compression
US5861827A (en) * 1996-07-24 1999-01-19 Unisys Corporation Data compression and decompression system with immediate dictionary updating interleaved with string search
US6266531B1 (en) 1998-07-01 2001-07-24 Ericsson Inc. System and method for adaptive thresholds for cell load sharing
US6123272A (en) 1998-10-16 2000-09-26 Coltec Industrial Products Inc. Nozzle assembly

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004505475A (ja) * 2000-07-25 2004-02-19 ペリビット・ネットワークス,インコーポレイテッド ネットワーク通信データをオンラインで透過的にクロスセッションで符号化及び伝送するための構成及び方法
JP2004511928A (ja) * 2000-07-25 2004-04-15 ペリビット・ネットワークス,インコーポレイテッド 漸進的で連続的なデータ圧縮のためのシステム及び方法
JP4759214B2 (ja) * 2000-07-25 2011-08-31 ジュニパー ネットワークス, インコーポレイテッド 漸進的で連続的なデータ圧縮のためのシステム及び方法
WO2014097353A1 (ja) * 2012-12-19 2014-06-26 富士通株式会社 圧縮装置、圧縮方法、圧縮プログラム、伸張装置、伸張方法、伸張プログラム、および圧縮伸張システム
JPWO2014097353A1 (ja) * 2012-12-19 2017-01-12 富士通株式会社 圧縮装置、圧縮方法、圧縮プログラム、伸張装置、伸張方法、伸張プログラム、および圧縮伸張システム
JP2016134100A (ja) * 2015-01-21 2016-07-25 富士通株式会社 文書処理プログラム、情報処理装置および文書処理方法
US9520896B1 (en) 2015-07-13 2016-12-13 Fujitsu Limited Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device

Also Published As

Publication number Publication date
US6747582B2 (en) 2004-06-08
US20030091241A1 (en) 2003-05-15
JP3421700B2 (ja) 2003-06-30
US6542640B1 (en) 2003-04-01

Similar Documents

Publication Publication Date Title
JP3421700B2 (ja) データ圧縮装置及び復元装置並びにその方法
JP3566441B2 (ja) テキスト圧縮用辞書作成装置
JP3499671B2 (ja) データ圧縮装置及びデータ復元装置
US5872530A (en) Method of and apparatus for compressing and decompressing data and data processing apparatus and network system using the same
US6522268B2 (en) Systems and methods for multiple-file data compression
Silva de Moura et al. Fast and flexible word searching on compressed text
JP4003854B2 (ja) データ圧縮装置及び復元装置並びにその方法
US20020152219A1 (en) Data interexchange protocol
US11394956B2 (en) Encoding apparatus and encoding method
JP6680126B2 (ja) 符号化プログラム、符号化装置、符号化方法、及び検索方法
JP3231105B2 (ja) データ符号化方式及びデータ復元方式
Farina et al. Boosting text compression with word-based statistical encoding
Nguyen et al. n‐Gram‐Based Text Compression
Martínez-Prieto et al. Natural language compression on edge-guided text preprocessing
Öztürk et al. Multi-stream word-based compression algorithm for compressed text search
US6731229B2 (en) Method to reduce storage requirements when storing semi-redundant information in a database
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JPH0554077A (ja) 単語辞書検索装置
JPH01314430A (ja) 可変ビット長コード語のビット長通信方法
Bharathi et al. A plain-text incremental compression (pic) technique with fast lookup ability
JPH07282040A (ja) 日本語情報圧縮方式
JPH1155125A (ja) 文字データの圧縮・復元方法
Robert et al. Fault-tolerant text data compression algorithms
JP2004013680A (ja) 文字コード圧縮・復元装置および同方法
Ong et al. A data compression scheme for Chinese text files using Huffman coding and a two-level dictionary

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080425

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100425

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees