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

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

Info

Publication number
JP2000101442A
JP2000101442A JP10272724A JP27272498A JP2000101442A JP 2000101442 A JP2000101442 A JP 2000101442A JP 10272724 A JP10272724 A JP 10272724A JP 27272498 A JP27272498 A JP 27272498A JP 2000101442 A JP2000101442 A JP 2000101442A
Authority
JP
Japan
Prior art keywords
character string
tag
code
tag information
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
JP10272724A
Other languages
English (en)
Other versions
JP4003854B2 (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 JP27272498A priority Critical patent/JP4003854B2/ja
Priority to US09/352,355 priority patent/US6871320B1/en
Priority to EP99306048A priority patent/EP0991018A3/en
Publication of JP2000101442A publication Critical patent/JP2000101442A/ja
Application granted granted Critical
Publication of JP4003854B2 publication Critical patent/JP4003854B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【課題】タグを含む構造化文書を、文書の検索あるいは
読込み時間の短縮とメモリやディスク容量の増加を最小
限とするように圧縮し復元する。 【解決手段】タグ情報分離部10は、文字列ストリーム
から識別したタグを分離してタグ情報として出力する。
タグ置換部12は、タグが分離された文字列ストリーム
の位置に識別のためにタグ符号を配置する。文字列符号
化部14は、タグ符号置換部12から出力されるタグ符
号を含む文字列ストリームを圧縮符号化する。データ復
元装置は、圧縮と逆の操作で文字列ストリームを復元す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、タグを含む構造化
文書で構成された文字列ストリームから符号データを生
成するデータ圧縮装置及び復元装置並びにその方法に関
し、特に構造化文書の文字列ストリームからタグ情報を
分離して符号化と復元を行うためのデータ圧縮装置及び
復元装置並びにその方法に関する。
【0002】
【従来の技術】近年、文字コード、画像データ等の様々
な種類のデータがコンピュータで扱われている。さら
に、インターネット・イントラネットの普及に伴い、電
子メールや電子化文書が増加している。このような大量
のデータは、データ中の冗長な部分を省いて圧縮するこ
とにより、記憶容量を減らしたり、短時間で遠隔地に送
ることを可能にしている。
【0003】本発明の分野は、文字コードの圧縮に限ら
ず、様々なデータに適用できるが、以下では、情報理論
で用いられる呼称を踏襲し、データの1ワード単位を文
字と呼び、データが任意のワードつながったものを文字
列と呼ぶことにする。
【0004】最近では、コンピュータ上で扱う文書の形
式を統一する動きがある。その中で、文書の作成を効率
良く行うため、タグを用いて文書内容を部分的に区別し
て、予め見出しや段落などの複数の文書部品を作成し、
各々の文書部品間の関係を定めて文書を構造化して編集
することが試みられている。
【0005】このような文書に構造の概念を取り入れた
構造化文書の例としては、国際規格のODA(ISO 86
13:Open Document Architecture)や、SGML
(ISO8879:Standard Markup Language)の規格によ
る構造化文書がある。またこのような構造文書を用いた
文書処理方法は、例えば特開平5−135054号のも
のがある。
【0006】SGMLによる構造化文書は、従来のテキ
スト処理システムとの親和性が高く、米国を中心に普及
し、実用化されてきている。SGMLによる構造化文書
は、予め文書構造の雛型が与えられ、文書構造は雛型の
範囲に制限される。
【0007】図25はSGMLの構造化文書であり、S
GML宣言200、文書型定義(DTD:Document Typ
e Definition)202、及び文書実現値204の3つの
部分からなる。このうち文書の構造を定義する雛型が文
書型定義202であり、図26のように、章、節、タイ
トルなどの文書構造を定義している。
【0008】SGMLの構造化文書では、文書構造を表
現するために、文書テキスト内にタグと呼ばれる識別子
を用いて、文書テキストを区分する。図27はSGML
の構造化文書の具体例であり、例えば文書のタイトルの
場合、「<TITLE> 発明(考案)明細書</TITLE>」で表現
される。即ち、開始タグである「<TITLE> 」と終了タグ
である「</TITLE>」で囲まれた文字が要素であり、この
場合はタイトル内容「発明(考案)明細書」を表わす。
【0009】現在、公的機関を中心にSGMLを採用す
る例が増えてきている。特に米国では、国防総省が文書
をSGMLで記述して納入することを義務づけている。
日本においても特許庁のCD−ROM公報として、この
構造化文書を採用している。また、インターネットで使
われているWWW(World Wide Web)の記述形式とし
て普及しているHTML(Hyper Text Markup Langu
age )は、SGMLの一形態である。
【0010】このようなSGML等の構造化文書を圧縮
する方法として、本願出願人は、特開平9−26107
2号の方法を提案している。
【0011】この方法では、タグ情報を有する構造化文
書の文書データが入力された場合、文書型定義DTDな
どで定義されているタグ情報を検出する。タグ情報が検
出された場合、タグ情報は何ら変換せずに、そのまま出
力する。さらにタグ情報を検出したことにより、タグ情
報以外の入力文字列を符号化するモードに移行する。
【0012】この符号化の基本アルゴリズムは図28の
ようになる。まずステップS1で入力された文字又は文
字列が予め登録した辞書の文字又は文字列と同一か否か
検索して比較し、同一であればステップS2で入力デー
タを辞書の登録番号で符号化し、ステップS3で符号を
出力する。
【0013】ステップS1で同一の登録文字又は文字列
が検索できなかった場合は、ステップS5で元の入力文
字又は文字列をそのまま出力する。このような処理をス
テップS5で入力文字列がなくなるまで繰り返す。
【0014】図27のSGML文書ファイルについて図
28の符号化を行うと、図29の圧縮データファイルが
得られる。この圧縮データファイルは、1つのファイル
中に圧縮されていないタグ情報の部分と圧縮されたテキ
スト文書の部分とが混在する形式となる。
【0015】
【発明が解決しようとする課題】文書テキストを圧縮す
る方法は、膨大なデータ量である文書テキストを実用に
耐え得るデータ量に圧縮することができ、電子化された
文書テキストを実現する上で非常に有用な技術である。
【0016】しかしながら、図29のような構造化文書
の圧縮データファイルにあっては、ファイル中のタグ情
報を検索する場合、タグ情報は圧縮されない部分として
圧縮された文書データの中に混在しており、ファイル全
体をメモリ上に展開して必要とするタグ情報を検索しな
ければならない。また圧縮部分となる本文中のキーワー
ドを検索したい場合にも、同様にファイル全体をメモリ
上に展開して処理する必要がある。
【0017】このため、構造化文書の圧縮データファイ
ルから必要とする文書を検索あるいは入手するために、
文書としては不要な部分の読み込みが必要となり、デー
タ伝送量が増加して読込みに時間がかかり、また大きな
メモリ領域とディスク容量の確保が必要となる問題があ
る。
【0018】本発明の目的は、タグ情報を含む構造化文
書の圧縮データにつき、文書の検索あるいは読込み時間
の短縮とメモリやディスク容量の増加を最小限とするた
めのデータ圧縮装置及び復元装置並びにその方法を提供
することにある。
【0019】
【課題を解決するための手段】図1は本発明の原理説明
図である。 (圧縮)まず本発明は、図1(A)のように、タグを含
む文書で構成された文字列ストリーム20から符号デー
タを生成するデータ圧縮装置を対象とする。このデータ
圧縮装置として本発明は、文字列ストリームから識別し
たタグを分離してタグ情報として出力するタグ情報分離
部10と、タグ情報分離部10でタグが分離された文字
列ストリームの位置に識別のためにタグ符号24を配置
するタグ符号置換部12と、タグ符号置換部12から出
力されたタグ符号を含む文字列ストリーム22を符号化
して符号ストリーム84を出力する文字列符号化部14
とを設けたことを特徴とする。
【0020】このような本発明のデータ圧縮装置によれ
ば、タグを含む構造化文書の文字列ストリームにつき、
タグ情報と本文(文字列)とを分離し、少なくとも本文
を符号化することで高い圧縮率を実現し、分離したタグ
情報を検索することで、検索が高速化できる。
【0021】例えば、圧縮データファイルの中の本文か
ら分離されたタグ情報を検索し、一致するタグ情報が検
索できたら、復元した本文中のタグ符号を検索したタグ
情報までの数だけ読み飛ばすことで、目標とする文書の
先頭に容易に到達することができる。
【0022】タグ符号置換部12は、タグが分離された
文字列ストリームの位置に、所定の固定符号をタグ符号
として配置する。タグ符号として固定符号を使用するこ
とで、本文中のタグ位置の検索が簡単にできる。
【0023】またタグ符号置換部12は、タグが分離さ
れた文字列ストリームの位置に、タグ情報分離部10で
分離されたタグの出現順序を示すタグ符号を配置する。
このようにタグ符号に出現順序の情報を持たせること
で、タグ情報に基づく本文検索の高速化と信頼性が高め
られる。
【0024】データ圧縮装置は、更に、タグ情報分離部
10で分離されたタグ情報を格納するタグ情報格納部7
8と、文字列符号化部14で生成された符号データを格
納する符号格納部80と、タグ情報格納部78に格納さ
れたタグ情報と符号格納部80に格納された符号データ
を選択して出力する符号切替部82と設ける。このよう
に分離したタグ情報と本文の符号データを個別に格納す
ることで、圧縮データの検索や転送要求に対する管理を
容易にする。
【0025】文字列符号化部14は、圧縮する際の処理
単位となる文字列を登録した辞書を格納する辞書格納部
18と、タグ符号置換部12からの文字列ストリーム2
2の中の部分文字列と辞書格納部18の登録文字列との
比較により、登録文字列に一致する部分文字列を検出
し、検出した部分文字列ごとに予め定められた符号を割
り当てて出力する文字列比較部16とを備える。
【0026】この文字列符号化部14による符号化処理
は、スペースで区切られない単語構造をもつ言語の文字
コードで作成された文書データの圧縮に効果があり、ス
ペースで区切られない単語構造をもつ言語としては、例
えば日本語、中国語、ハングル語等がある。
【0027】日本語を例にとると、日本語の単語の関す
る(株)日本電子化辞書研究所(EDR)の研究成果が
ある(横井,木村,小泉,三吉、「表層レベルにおける
電子化辞書の情報構造」、情報処理学会論文誌,Vol.3
7, No.3, p.333-344, 1996 )。
【0028】この研究結果では、日本語を構成する形態
素、即ち単語の品詞を集計している。単純に単語を品詞
類に分けて登録すると136,486個となり、17ビ
ット(最大262,143個)の符号で表わすことがで
きる。
【0029】また新世代コンピュータ技術開発機構(I
COT)で作成した日本語単語辞書を構成する約13万
語の単語ごとに構成する文字数を検出し、その分布を求
めた結果、全登録単語の1/2以上の7万語が2文字で
構成され、平均文字数は2.8文字(44.8ビット)
であることも判明している。
【0030】図1(A)の辞書格納部18は、日本語の
辞書として実用的な例えば約13万語の単語を、各単語
に例えば17ビットの固定長の文字列符号を割り当てた
辞書を作成して格納し、非圧縮データの部分文字列に一
致する辞書の登録文字列を検索して17ビットの固定長
符号を文字列符号として割り当てて出力するこことで、
文書データの大小に関わらず、実質的にデータ量を半分
以下に圧縮することができる。
【0031】本発明のデータ圧縮装置は、タグ情報分離
部10で分離したタグ情報を圧縮するタグ情報圧縮部を
設ける。タグ情報は、単独のタグと、タグと文字列の組
合せを含むが、このタグ情報圧縮部は、タグと文字列を
区別することなく一括してタグ情報を圧縮する。この圧
縮は例えばLZ77、LZ78、算術符号化等のアルゴ
リズムを使う。
【0032】本発明のデータ圧縮装置は、タグ情報中の
日本語等のスペースで区切られない言語の文字列を対象
に、本文の文字列符号化部と同じ符号化を行ってタグ情
報を圧縮する。即ち、本発明のデータ圧縮装置は、圧縮
する際の処理単位となるタグ情報中のタグ文字列を登録
した辞書を格納するタグ辞書格納部と、タグ情報分離部
10で分離したタグ情報に含まれる文字列ストリームの
部分文字列とタグ辞書格納部の登録文字との比較によ
り、登録文字列に一致する部分文字列を検出し、検出し
た部分文字列ごとに予め定められた符号を割り当てて出
力するタグ文字列比較部とを備えたことを特徴とする。
【0033】このように分離したタグ情報についても圧
縮することで、文字列符号化部14による本文の圧縮と
併せて文書ファイル全体を高圧縮できる。
【0034】本発明のデータ圧縮装置に於いて、更に、
文字列符号化部14で生成した符号データのタグ位置を
検出するタグ位置検出部を設け、タグ情報格納部78に
タグ情報分離部10で分離したタグ情報と共にタグ位置
検出部で検出したタグ位置の指定情報を格納する。この
場合、タグ位置検出部は、文書先頭又は特定のタグから
の符号量を検出してタグ情報格納部にタグ情報と共に格
納する。
【0035】このように分離したタグ情報に、圧縮した
本文の対応するタグ符号の位置を示す文書先頭又は特定
タグからのデータ量(バイト数)が位置指定情報として
格納されているため、タグ情報から必要とするタグを検
索したい場合、直ちに本文に圧縮データ中の対応するタ
グ符号の位置が特定でき、必要とする本文のランダムア
クセスが効率良くできる。
【0036】(復元)本発明は、タグを含む文書の文字
列ストリームから分離したタグ情報と、分離したタグの
位置にタグ符号を配置した文字列ストリームを符号化し
た符号データとを含む符号ストリームから文字列データ
を復元するデータ復元装置を対象とする。
【0037】このデータ復元装置として本発明は、図1
(B)のように、符号ストリーム56からタグ情報と符
号データとを分離するタグ情報分離部60と、タグ情報
分離部60で分離したタグ情報を格納するタグ情報格納
部62と、符号データから文字列及びタグ符号を復元し
た後に、タグ符号をダク情報格納部62のタグ情報に置
き換える文字列復元部64とを備えたことを特徴とす
る。
【0038】文字列復元部64は、図1(A)の文字列
符号化部14の逆の操作を行うもので、復元する際の処
理単位となる文字列の符号に対応した復元文字列を登録
した辞書を格納する辞書格納部65と、符号ストリーム
から復元単位となる文字列の符号を分離して辞書格納部
65の参照で元の文字列を復元する文字列比較部66
と、文字列比較部66により復元したタグ符号をダク情
報格納部68のタグ情報に置き換える文字列置換部68
とを備える。
【0039】本発明のデータ復元装置は、データ圧縮装
置側でタグ情報をLZ77,LLZ78等で圧縮してい
る場合、タグ情報格納部62に格納されたタグ情報の圧
縮データを復元するタグ情報復元部を設ける。
【0040】また本発明のデータ復元装置は、データ圧
縮装置側でタグ情報の文字列を符号化している場合、復
元する際の処理単位となるタグ文字列の符号に対応した
復元文字列を登録した辞書を格納するタグ辞書格納部
と、タグ情報分離部60により分離したタグ情報から復
元単位となるタグ文字列の符号を分離し、タグ辞書格納
部の参照で元のタグ文字列を復元するタグ文字列比較部
とを備える。
【0041】本発明は、更に、タグ情報を含む構造化文
書の圧縮方法及び復元方法を提供する。本発明によるタ
グを含む文書で構成された文字列ストリームから符号デ
ータを生成するデータ圧縮方法は、文字列ストリームか
ら識別したタグを分離してタグ情報として出力するタグ
情報分離過程と、タグ情報分離過程でタグが分離された
文字列ストリームの位置に識別のためにタグ符号を配置
するタグ符号置換過程と、タグ符号置換過程から出力さ
れたタグ符号を含む文字列ストリームを符号化して符号
ストリームを出力する文字列符号化過程と、を備える。
【0042】また本発明によるタグを含む文書の文字列
ストリームから分離したタグ情報と、分離したタグの位
置にタグ符号を配置した文字列ストリームを符号化した
符号データとを含む符号ストリームから文字列データを
復元するデータ復元方法を提供する。この復元方法は、
タグ情報と符号データとを分離するタグ情報分離過程
と、タグ情報分離過程で分離したタグ情報を格納するタ
グ情報格納過程と、符号データから文字列及びタグ符号
を復元した後に、タグ符号をダク情報格納過程で分離し
たタグ情報に置き換える文字列復元過程と、を備える。
データ圧縮方法及び復元方法の詳細は、装置の場合と同
じになる。
【0043】
【発明の実施の形態】図2は本発明のデータ圧縮装置の
第1実施形態のブロック図である。図2において、第1
実施形態のデータ圧縮装置は、タグ情報分離部10、タ
グ符号置換部12及び文字列符号化部14で構成され
る。文字列符号化部14には文字列比較部16と辞書格
納部18が設けられる。
【0044】タグ情報分離部10は、例えば図27に示
したSGML日本語文書ファイルから読み出した文字列
ストリーム20を入力し、入力した文字列ストリーム2
0に含まれるタグを識別し、識別したタグを分離してタ
グ情報ストリーム28として出力する。
【0045】タグ符号置換部12は、タグ情報分離部1
0でタグ情報が分離された文字列ストリームのタグ位置
に予め定めたタグ符号を配置し、タグ符号配置済みの文
字列ストリーム22を文字列符号化部14に供給する。
文字列符号化部14はタグ符号置換部12により配置さ
れたタグ符号を含む文字列ストリーム22を符号化し、
符号ストリーム26を出力する。
【0046】図3は、図2のタグ情報分離部10の詳細
であり、タグ符号置換部12と共に示している。タグ情
報分離部10は、タグ比較部30、タグ識別規則格納部
32及び出力切替部34で構成される。タグ識別規則格
納部32にはSGML文書における文書型定義DTDか
ら得られたタグ情報の識別規則が格納されている。
【0047】タグ比較部30は文字列ストリーム20を
入力し、タグ比較部30でタグ識別規則格納部32の識
別規則と比較し、タグ情報識別により比較出力が得られ
ると、出力切替部34を文字列ストリーム22の出力か
らタグ情報ストリーム28の出力に切り替え、識別した
タグ情報をタグ情報ストリーム28として出力する。
【0048】同時にタグ符号置換部12にタグ情報識別
に基づく比較出力を行い、タグ符号置換部12に予め設
定されているタグ符号24を、出力切替部34から出力
が断たれたタグ情報の位置に挿入配置する。タグ符号置
換部12により文字列ストリーム22のタグ情報の位置
に配置されるタグ情報24としては、例えば16進の固
定符号「0x0000」を使用する。
【0049】図4は、SGML日本語文書ファイルから
読み出した文字列ストリーム20の図2のデータ圧縮装
置による圧縮処理の説明図である。
【0050】図2のタグ情報分離部10に対する文字列
ストリーム20として入力されるSGML日本語文書フ
ァイル35は、図3のタグ情報分離部10に設けている
タグ比較部30でタグ識別規則格納部32に格納してい
るタグ識別規則と比較され、例えば先頭の「<TITL
E>発明(考案)の明細書</TITLE>」がタグ情
報として識別され、このタグ情報はタグ情報ファイル3
6の先頭位置のように分離される。
【0051】またタグ情報の分離と並行して、SGML
日本語文書ファイル35のタグ情報を分離した位置に、
16進の固定符号「0x0000」を用いたタグ符号が
挿入配置され、このタグ情報のタグ符号への置換により
タグ置換済み日本語文書ファイル38の文字列ストリー
ムが生成される。
【0052】分離されたタグ情報ファイル36の内容と
なるタグ情報ストリームはそのまま出力される。またタ
グ置換済み日本語文書ファイル38の内容となる文字列
ストリームは、文字列符号化部14により符号化されて
符号ストリーム26として出力される。
【0053】図5は、図27のSGML日本語文書ファ
イルの文字列ストリーム20を図2のデータ圧縮装置に
入力して、タグ符号置換部12によりタグ情報を固定タ
グ符号に置換して得たタグ置換済み日本語文書ファイル
38である。このタグ置換済み日本語文書ファイルにあ
っては、図27のSGML日本語文書ファイルにおける
タグ情報がそれぞれ「(タグ符号)」に置き換えられて
いる。
【0054】図6は図27に示すSGML日本語文書フ
ァイルの文字列ストリームから分離したタグ情報のタグ
情報ファイル36である。このタグ情報ファイル36に
は、入力した文字列ストリームに含まれているタグ情報
が順番に分離されて格納されている。
【0055】図5のタグ置換済み日本語文書ファイル3
8の内容となるタグ置換済みの文字列ストリーム22
は、図2の文字列符号化部14で符号化され、圧縮され
た符号ストリーム26として出力される。
【0056】図7は、タグ符号としてタグ情報の出現順
序を示す順序タグ符号を使用した場合のタグ置換済み日
本語文書ファイル38である。このタグ情報の出現頻度
を表わす順序タグ符号としては、例えばタグの出現順序
に応じて16進で「0x001,0x002,0x00
3,・・・」等のように、一義に対応する順序タグ符号
を使用すればよい。
【0057】この出現順番を示す順序タグ符号を使用し
た場合には、図7のように日本語文字列データの中に置
換されたタグ符号自体が「(タグ符号1),(タグ符号
2),(タグ符号3),・・・」のように、文書先頭か
らの出現順序を表わしている。このため図6のように分
離されたタグ情報の検索で図7の文書ファイル中の対応
するタグ符号の位置を特定する際に、本文中の検索位置
を簡単且つ確実に特定できる。
【0058】例えば図6で5行目のタグ情報「<SEC
TION>請求項目の範囲</SECTION>」の文
書ファイル中の位置を知りたい場合には、このタグ識別
情報は先頭から5番目に出現していることから、出現順
序が5番目となる「(タグ符号5)」の位置を検索する
ことで、簡単に特定できる。
【0059】図8は、図2のデータ圧縮装置による圧縮
処理のフローチャートである。まずステップS1で、入
力文書の文字列ストリーム20からタグ情報分離部10
によってタグ情報を分離して出力する。続いてステップ
S2で、入力文書の文字列ストリーム20中のタグのあ
った位置にタグ符号置換部12によって識別のためのタ
グ符号を挿入する。
【0060】続いてステップS3で、タグ配置済みの文
字列ストリーム中の文字列を文字列符号化部14に設け
ている文字列比較部16で辞書格納部18内の対応する
登録番号を符号として割り当て、符号ストリーム26を
出力する。このステップS1〜S3の処理を、ステップ
S4で文字列ストリームの入力が終了するまで繰り返
す。
【0061】次に図2の文字列符号化部14に設けた文
字列比較部16と、辞書格納部18によるタグ置換済み
文字列ストリーム22の符号化処理を説明する。
【0062】図2の文字列符号化部14に設けた文字列
比較部16は、辞書格納部15の参照により、単語を構
成する文字列ごとに予め定めた所定の文字列符号を割り
当てる符号化を行う。
【0063】まず文字列比較部16で圧縮対象とする文
書データとして、例えば日本語文書データを例にとる
と、日本語文書データの場合、1文字は2バイトのワー
ドデータで構成されており、文書中の単語はスペースで
区切られない構造を持っている。また日本語文書データ
は、1回の圧縮に使用する文書単位に入力しており、こ
れはキロバイトオーダからメガバイトオーダの適宜のサ
イズの文書が入力される。
【0064】文字列比較部16は日本語文書データの文
字列を先頭から順番に入力し、辞書格納部15に予め登
録されている単語単位の登録文字列と一致するか否かを
検出する。文字列比較部16で入力文字列に一致する登
録文字列が検出されると、辞書格納部15の一致検出さ
れた登録文字列に対応して予め登録されている文字列符
号を読み出して割り当て、この文字列符号を文字列置換
部18に出力する。
【0065】ここで日本語文書データの文字列を単語単
位に文字列符号に変換するための辞書格納部15を説明
する。
【0066】図9は、(株)日本電子化辞書研究所(E
DR)が研究成果として発表した、日本語を構成する形
態素の品詞に関する集計結果である。この集計結果を見
ると、単語数に対応する形態素数は136,486個で
あり、この単語の数を2進数で表現すると、最大表現数
が262,143個となる17ビットの符号で表すこと
ができる。
【0067】これに対し、新世代コンピュータ技術開発
機構(ICOT)で作成した約13万語の単語を有する
日本語辞書から単語を構成する文字数を検出して分布を
求めた結果、全登録単語の1/2以上の7万語が2文字
で構成されており、平均文字数は2.8文字となってい
る。この平均文字数2.8文字をビット数で表すと、 2.8文字×2バイト=5.6バイト×8ビット=4
4.8ビット となる。
【0068】そこで本発明にあっては、図9の136,
486個の単語を表現する17ビットの文字列符号を予
め割り当て、入力した日本語データの文字列を単語単位
に17ビットの文字列符号に変換する符号化を行うこと
で、実質的にデータ量を半分以下に圧縮することができ
る。
【0069】図10は、図2の辞書格納部15の辞書構
造の実施形態である。図2の辞書格納部15に格納され
た辞書は、先頭文字格納部40と従属文字列格納部42
の2階層構造を備える。先頭文字格納部40は、日本語
文字「あ,い,う,え,お・・・」の文字コードをイン
デックスとしており、日本語の文字コードは2バイトデ
ータであることから、文字コード44としては、16進
数で「0x0000」から「0xFFFF」の131,
072種類の格納位置が割り当てられる。
【0070】この文字コード44は、図2の文字列比較
部16で読み込んだ先頭文字を使用して、対応する文字
コードの位置にアクセスする。文字コード24に続いて
は先頭アドレス46が格納される。先頭アドレス46
は、例えば文字コード44の先頭文字「あ」を例にとる
と、先頭文字「あ」に続く従属文字列を格納した従属文
字列格納部42の先頭アドレス「A1」を指定してい
る。続いて従属文字列の個数48が設けられる。例えば
先頭文字「あ」にあっては、従属文字列個数48として
N1=4個が格納されている。
【0071】従属文字列格納部42は、先頭文字格納部
40の先頭文字の文字コード44に対応して格納された
先頭アドレス46で先頭位置が指定され、この先頭位置
から従属文字列格納部48で指定された個数の格納位置
に従属文字列が格納されている。例えば先頭文字「あ」
に対応した先頭アドレス46のアドレスA1から従属文
字列個数48のN1=4個となる4つの格納位置が、対
象とする従属文字列格納領域として指定される。
【0072】この従属文字列格納部42は、先頭から従
属文字列の長さ50、従属文字列52、及び17ビット
表現される文字列コード(文字列符号)54が格納され
ている。例えば先頭アドレスA1には、長さL1で従属
文字列「い」と、その文字列コードが格納されている。
次の格納位置には長さL2の従属文字列「う」がその文
字列コードと共に格納されている。
【0073】3番目の領域には長さL3の従属文字列
「お」が文字列コードと共に格納されている。4番目の
格納領域には長さL4で従属文字列が存在しないことを
示す符号「NULL」が格納され、存在しないことを示
す文字列コードが格納されている。即ち、この4番目の
格納領域は先頭1文字だけの文字列コードの登録を表し
ている。
【0074】ここで図10の従属文字列格納部42に文
字列コード34は、単語個数に基づき1番から136,
486番まで予め17ビットの文字列コードが割り当て
られており、図10のように格納した場合の文字列コー
ド(文字列符号)Kと位置アドレスXとの関係は、次式
で表すことができる。 K=(N・X−A1)/M (1) 但し、X :従属文字列格納部22の位置アドレス N :一致検出された従属文字列の番号(1,2,3,
・・N) A1:従属文字列格納部の開始アドレス M :従属文字列格納部の格納バイト長 ここで、従属文字列格納部42の格納バイト長Mは、従
属文字列の長さ50、従属文字列52、及び文字列コー
ド54の合計長であることから、例えば次式で表すこと
ができる。 格納バイト長M= 長さ+文字コード列+文字列コード (2) =3bit + 96bit + 17bit =116bit =15byte ここでは格納可能な従属文字列を最大6文字とすること
で、従属文字列52に96ビットを割り当てた場合を例
にとっている。もちろん、従属文字列の文字数は平均で
2.8文字であることから、3文字(48ビット)以上
とすれば十分な圧縮効果が得られる。この場合には、従
属文字列格納部の1つの格納領域の格納バイト長MはM
=12バイトになる。
【0075】前記(1)式から算出される17ビットの
文字列コードKを使用した場合、復元の際には文字列コ
ードKの値から格納位置(アドレス)Xを次式で算出す
ればよい。 X=M・K+A1 (3) 但し、K :文字列コード A1:従属文字列格納部の開始アドレス M :復元側の従属文字列格納部の格納バイト長 この(3)式にあっては、復元側で使用する辞書におけ
る従属文字列格納部42の開始アドレスA1、即ちオフ
セットと、従属文字列格納部42の格納バイト長Mが定
数として定まっていることから、復元しようとする文字
列コードKを(3)式に代入することで、一義的に復元
しようとする文字列を格納した辞書位置(位置アドレ
ス)Xを算出することができる。
【0076】図11は図10の辞書構造を持った辞書格
納部15による図2の文字列比較部16による符号化処
理のフローチャートである。
【0077】まずステップS1で、文字列比較部16に
読み込んだ文字列の先頭文字の位置Pにポインタを移動
し、ステップS2で先頭文字位置Pの文字コードが示す
図10の文字コード44に対応した先頭文字格納部40
のテーブルを参照する。この先頭文字格納部40のテー
ブル参照により、ステップS3で従属文字列格納部42
の先頭アドレス46と従属文字列の個数48を取得す
る。
【0078】続いてステップS4で、従属文字列格納部
42の先頭アドレスの先頭データから従属文字列の長さ
50の長さデータLを取得する。次にステップS5で、
先頭文字位置Pから従属文字列の長さデータLに基づく
L文字を抽出し、抽出したL文字を従属文字列格納部4
2の従属文字列52の登録文字列と比較して、一致する
か否か判断する。
【0079】登録した従属文字列と一致すれば、ステッ
プS3に進み、次の文字列コード54を読み出し、一致
検出した文字列に文字列比較部16で割り当てて出力
し、次のステップS9で先頭文字位置Pを従属文字列の
文字数Lだけ移動した位置Pにポインタを更新する。そ
してステップS12で非圧縮データの処理が済んでいな
ければ、再びステップS2に戻り、更新した先頭文字位
置Pについて同様な処理を繰り返す。
【0080】一方、ステップS5で従属文字列格納部4
2の登録従属文字列と一致しなかった場合には、従属文
字列数Nが未了か否かチェックし、未了であればステッ
プS7に戻り、従属文字列格納部42の先頭アドレスの
次の格納領域から従属文字列の長さデータLを取得し、
ステップS5で再度、先頭文字位置PからL文字の従属
文字列を抽出して従属文字列格納部42の登録従属文字
列と一致するか否か比較する。
【0081】ステップS5〜S7の繰返しによる登録個
数Nの従属文字列の全てについて比較処理を行っても一
致しなかった場合には、ステップS6で従属文字列の個
数Nの終了を判別して、ステップS10に進み、先頭文
字1文字を表す未登録コードを送出する。そしてステッ
プS11で先頭文字位置Pを文字数L=1文字だけ移動
した次の位置にポインタを更新し、ステップS12から
ステップS2に戻って、次の先頭文字位置Pからの処理
を繰り返す。
【0082】図12は、図2のデータ圧縮装置から出力
された符号処理部26及びタグ情報ストリーム28で構
成される符号ストリームから文字列ストリームを復元す
るためのデータ復元装置の第1実施形態のブロック図で
ある。
【0083】このデータ復元装置は、タグ情報分離部6
0、タグ情報格納部62、文字列復元部64で構成され
る。文字列復元部64は、符号列比較部66、辞書格納
部70及び文字列置換部68を備える。
【0084】タグ情報分離部60は図2のデータ圧縮装
置側から送られてきた符号ストリーム58を入力し、タ
グ情報と符号データとに分離し、タグ情報はタグ情報格
納部62に格納し、符号データは符号ストリーム58と
して文字列復元部64に出力する。
【0085】文字列復元部64は符号列比較部66で辞
書格納部70を用いて符号データから文字列及びタグ符
号を復元した後に、文字列置換部68においてタグ符号
をタグ情報格納部62に格納しているタグ情報に置き換
えて、復元した文字列ストリーム70を出力する。
【0086】図13は、図12のデータ復元装置の復元
処理のフローチャートである。まずステップS1で、タ
グ情報分離部60が入力文書に対応した符号ストリーム
56からタグ情報を分離してタグ情報格納部62に格納
する。次にステップS2で、タグ情報が分離された符号
ストリーム58の中の符号列を辞書格納部65内の登録
番号と比較照合し、一致する登録番号で格納している文
字または文字列に変換する。
【0087】続いてステップS3で、復元された文字列
に含まれているタグ符号をタグ情報格納部62に格納し
ているタグ情報の格納順に順次置換し、復元した文字列
ストリーム70として出力する。これらのステップS1
〜S3の処理を、ステップS4で符号ストリーム56の
入力が終了するまで繰り返す。
【0088】図12の文字列復元部64に設けた符号列
比較部66は、辞書格納部65の参照により、図3のデ
ータ圧縮装置で符号化された符号化ストリームから元の
文字列を復元する。
【0089】図14は、図12の文字列辞書格納部70
の辞書構造である。この文字列辞書格納部70にあって
は、先頭文字72、従属文字列長さ74及び従属文字列
76を、図10の辞書構造に示した従属文字列格納部4
2の17ビットの文字列コード54の順番に格納してい
る。このため符号化比較部40にあっては、復元に使用
する文字列辞書格納部42の格納バイト長Mが 格納バイト長M= 先頭文字+長さ+文字コード列 (6) = 16bit +3bit + 96bit =115ビット =15byte から判明しているため、次式から文字列コードKに対応
した位置アドレスXを算出することができる。 X=M・K+A1 (7) 但し、K :文字列コード A1:文字列格納位置の開始アドレス M :格納バイト長 このようにして分離した文字列コードKから辞書格納位
置を示す位置アドレスXを求めて参照することで、対応
する先頭文字及び従属文字列を組み合わせた文字列を復
元することができる。
【0090】このような図2のデータ圧縮装置及び図1
2のデータ復元装置により、図27に示したSGML日
本語文書ファイルの文字列ストリームは、図6のような
タグ情報と図5のようなタグ情報をタグ符号に置き換え
た文字列ストリームに分離され、この実施形態にあって
は、タグ符号に置換済みの文字列ストリームを符号化す
ることで文書ファイルの本文に相当する部分を高い圧縮
率の圧縮ファイルに変換できる。
【0091】また図6のように分離されたタグ情報につ
いて、キーワードを使用して検索し、キーワードに一致
するタグ情報が得られたならばタグ情報の出現位置が何
番目かを検出し、これによって図5のタグ符号置換済み
の本文の文書ファイルに含まれているタグ符号の出現位
置を検索することで、タグ情報の検索結果に対応した文
書位置の特定による読出し等が容易にできる。
【0092】図15は、本発明のデータ圧縮装置の第2
実施形態であり、この実施形態にあっては、図2の第1
実施形態に加えてタグ情報格納部78と符号格納部80
を設けたことを特徴とする。
【0093】タグ情報格納部78にはタグ情報分離部1
0により文字列20から分離されたタグ情報が格納され
る。これによってタグ情報格納部78には、例えば図6
のようなタグ情報ファイル36が格納される。また符号
格納部80は文字列符号化部14に設けられており、タ
グ符号置換部12により分離したタグ情報にタグ情報を
挿入したタグ置換済み文字列ストリーム22につき、図
11の符号化処理により生成された符号データが格納さ
れる。
【0094】このようなタグ情報格納部78及び符号格
納部80に加え、出力段に符号切替部82が設けられ
る。符号切替部82は、タグ情報格納部78に格納され
たタグ情報と符号格納部80に格納された符号データ
を、例えば順番に選択して符号列ストリーム84として
出力する。
【0095】図16は、図15のデータ圧縮装置の圧縮
処理のフローチャートである。この圧縮処理は、ステッ
プS1で、入力文書の文字列ストリーム20からタグ情
報分離部10でタグ情報を分離し、タグ情報格納部78
に格納する。次にステップS2で、文字列ストリーム2
0の中のタグのあった位置にタグ符号置換部12によっ
て識別用のタグ符号を挿入する。
【0096】次にステップS3で、タグ符号の置換が済
んだ文字列ストリーム22の文字列を文字列符号化部1
4の文字列比較部16に入力し、辞書格納部18内の辞
書構造の対応する登録番号に変換する。このようなステ
ップS1〜S3の処理を、ステップS4で文字列ストリ
ームの入力が終了するまで繰り返す。
【0097】文字列ストリームの入力が終了するとステ
ップS5に進み、分離したタグ情報とタグ符号に変換し
て符号化した符号ストリームを、例えばタグ情報格納部
78と符号格納部80から順番に読み出して符号ストリ
ーム84として出力する。図15のデータ圧縮装置から
出力された符号ストリーム84は、図12に示したデー
タ復元装置に入力することで文字列ストリームを復元す
ることができる。
【0098】図17は、本発明のデータ圧縮装置の第3
実施形態であり、この実施形態にあっては文字列ストリ
ームから分離したタグ情報を圧縮するようにしたことを
特徴とする。
【0099】図17において、このデータ圧縮装置は、
図15の第2実施形態におけるタグ情報分離部10とタ
グ情報格納部78の間に。新たにタグ情報圧縮部86を
設けている。タグ情報圧縮部86は、タグ情報分離部1
0において入力した文字列ストリーム20から分離した
タグ情報を圧縮対象の文字列ストリームとして圧縮して
タグ情報格納部78に格納する。
【0100】タグ情報圧縮部86による圧縮処理は、タ
グ情報にはタグと日本語文字列が含まれ、これらを一括
して圧縮することから、LZ77、LZ78、算術符号
化等の圧縮アルゴリズムを使用する。
【0101】タグ情報分離部10、タク符号置換部1
2、文字列符号化部14は、図15の第2実施形態と同
じである。
【0102】図18は、図17のデータ圧縮装置による
圧縮処理の説明図である。SGML日本語文書ファイル
35の内容となる文字列ストリーム20は、タグ情報分
離部10によってタグ情報ファイル36の内容となるタ
グ情報に分離される。このタグ情報はタグ情報圧縮部8
6により圧縮した後、タグ情報格納部78の格納を介し
て出力する。
【0103】またSGML日本語文書ファイル35の内
容となる文字列ストリーム20から分離したタグ情報の
位置には、タグ符号置換部12によって固定タグ符号ま
たは出現順序を示す順序タグ符号が挿入配置され、タグ
置換済み日本語文書ファイル38の内容となる文字列ス
トリーム22が文字列符号化部14に出力され、文字列
符号化により圧縮された符号データが符号格納部80に
よる格納を介して出力される。
【0104】図19は、図17のデータ圧縮装置から出
力された符号ストリーム90から文字列ストリームを復
元する本発明のデータ復元装置の第2実施形態である。
このデータ復元装置は、図12の第1実施形態に更に圧
縮タグ格納部62とタグ情報復元部92を設けている。
【0105】タグ情報分離部60は、入力する符号スト
リーム90に含まれる圧縮タグ情報を分離して圧縮タグ
格納部62に格納する。圧縮タグ格納部62に格納され
た圧縮タグ情報はタグ情報復元部92により復元され、
タグ情報格納部62に格納される。タグ情報復元部92
はデータ圧縮側のLZ77,LZ78,算術復号化に対
応した復元アルゴリズムを実行する。それ以外の構成は
図15と同じになる。
【0106】図20は、本発明のデータ圧縮装置の第4
実施形態であり、分離したタグ情報の中の日本語文字列
を符号化により圧縮し、更に、分離したタグ情報に本文
中の置き換えを行ったタグ符号の位置を示す位置指定情
報を付加するようにしたことを特徴とする。
【0107】図20において、タグ情報分離部10、タ
グ符号置換部12、文字列比較部16、辞書格納部18
を備えた文字列符号化部14、タグ情報格納部78及び
符号出力部82は、図15の第2実施形態と同じであ
る。これに加えて図20の第4実施形態にあっては、新
たにタグ文字列比較部94、タグ辞書格納部96及び符
号量計測部98を設けている。
【0108】タグ文字列比較部94とタグ辞書格納部9
6は、タグ情報分離部10で分離したタグ情報に含まれ
る日本語文字列ストリームを文字列符号化部14と同様
な符号化アルゴリズムで符号化してタグ情報を圧縮す
る。このため、タグ情報格納部96の辞書構成は図10
と同じであり、先頭文字及び従属文字としてタグ情報に
使用する日本語文字列が使用されている。またタグ文字
列の符号化処理は図11のフローチャートに従って行
う。
【0109】一方、図20のデータ圧縮装置に設けた符
号量計測部98は、文字列符号化部14による本文の文
字列ストリーム22、即ちタグ符号の置換が済んだ文字
列ストリーム22を対象とした符号化による符号データ
について、文字列ストリームの先頭から置換済みの各タ
グ符号までの符号量を計測し、この各タグ符号までの符
号量の計測結果を、タグ情報格納部78に格納する文字
列ストリームから分離した各タグ情報のそれぞれに符号
位置情報として付加して格納する。
【0110】符号量計測部98によるタグ符号で置換さ
れたタグ情報の位置を示す位置指定情報としては、文字
列ストリームの先頭からの符号量以外に、文字列ストリ
ームの中に特定のタグ情報からの後続する各タグ情報ま
での符号データの符号量としてもよい。
【0111】図21は、図20の第4実施形態における
圧縮処理の説明図である。SGML日本語文書ファイル
35の内容となる文字列ストリームを入力して、タグ情
報の分離によるタグ情報ファイル36の生成及びタグ情
報をタグ符号に置換したタグ置換済み日本語文書ファイ
ル37の生成は、図15の第2実施形態と同じである。
【0112】これに加えて、分離されたタグ情報ファイ
ル36のタグ情報に含まれている日本語文字列であるタ
グ文字列を、タグ辞書格納部96を用いて符号化して圧
縮することで出力している。
【0113】図22は、タグ情報格納部78に格納され
たタグ情報ファイルの具体例であり、図27に示したS
GML日本語文書ファイルから分離したタグ情報を例に
とっている。このタグ情報ファイル36には、左側のイ
ンデックス01〜13に対応した各タグに対応して、右
側に図21のタグ置換済み日本語ファイル37の文字列
データの符号データの先頭からの符号量(バイト量)D
L1〜DL13が位置指定情報106としてそれぞれ格
納されている。
【0114】図23は、図20の第4実施形態による圧
縮処理のフローチャートである。まずステップS1〜S
4は図8と同じであり、タグ情報分離部10で文字列ス
トリーム20から分離したタグ情報をタグ情報格納部7
8に格納し、またタグ符号置換部12により分離したタ
グ情報の位置にタグ符号24を挿入配置した文字列スト
リーム22を文字列符号化部14で符号化して符号デー
タを符号格納部80に格納する。
【0115】次のステップS4にあっては、符号量計測
部98が文字列符号化部14で置換済みのタグ符号を符
号化する際に、例えば文字列ストリームの先頭からの符
号量DLを計測し、既にタグ情報格納部78に格納され
ているタグ情報に図22の位置指定情報106として計
測した符号量DLを格納する。
【0116】このようなステップS1〜S4の処理を、
ステップS5で文字列ストリームの入力が終了するまで
繰り返す。文字列ストリーム20の入力が終了すると、
ステップS6で、タグ情報格納部78に分離したタグ情
報中の文字列をタグ辞書格納部96内の辞書の対応する
ブロック番号に変換して符号データとする符号化処理を
タグ文字列比較部94で行い、タグ情報格納部78に格
納する。その結果、タグ情報格納部78の格納内容は図
22の圧縮タグ情報ファイル36のようになる。
【0117】最後にステップS7で、タグ情報格納部7
8に分離して符号化した符号量付きのタグ情報と符号化
部80に格納した符号データを符号切替部82より例え
ば順番に選択出力し、符号ストリーム100として外部
に供給する。
【0118】ここで、図23の圧縮処理にあっては、ス
テップS1〜S4のタグ情報の分離と置換、更には圧縮
した符号量の計測処理とその後の分離したタグ情報の符
号化処理を、時間的に分けて処理しているが、両者を並
行して処理するようにしてもよいことはもちろんであ
る。
【0119】図24は、図20のデータ圧縮装置から出
力された符号ストリーム100から文字列ストリームを
復元する本発明のデータ復元装置の第3実施形態であ
る。
【0120】図24において、タグ情報分離部60、圧
縮タグ格納部92、タグ情報格納部62、文字列復元部
64は図19の第2実施形態と同じであり、これに加え
て図24の第3実施形態にあっては、タグ文字列復元部
102とタグ復元辞書格納部104を新たに設けてい
る。
【0121】タグ復元辞書格納部104は、図13の辞
書構造と同じものが使用され、格納している文字がタグ
に使用している日本語文字列となっている。タグ情報分
離部60は、図20のデータ圧縮装置側から供給される
符号ストリーム100から、図22の圧縮タグ情報ファ
イル36の内容に示すようなタグ情報ストリームを分離
し、圧縮タグ格納部92に格納する。
【0122】圧縮タグ格納部92に格納された圧縮タグ
情報は、タグ文字列復元部102によるタグ復元辞書格
納部104のタグ文字列の符号による辞書番号の参照で
対応する日本語文字列に復元され、復元した日本語文字
列を含むタグ情報をタグ情報格納部62に格納する。
【0123】一方、タグ情報分離部60は、圧縮タグ情
報ストリームに続いて送られてくる文書本文の符号スト
リームを文字列復元部64に供給し、符号列比較部66
で取り出した符号による辞書格納部65の辞書番号の参
照で対応する文字または文字列を復元し、符号置換部6
8に出力する。
【0124】符号置換部68は、復元した文字列の中の
タグ符号を認識し、その出現順に従ってタグ情報格納部
62に格納している復元済みのタグ情報を格納順に取り
出し、タグ符号と置換し、復元した文字列ストリームを
出力する。
【0125】ここで、圧縮タグ格納部92には、符号ス
トリーム100から分離した圧縮タグ情報ストリームの
入力が終了した時点で、図22のように圧縮タグ情報フ
ァイル36が格納されている。そこで圧縮タグ情報ファ
イル36について、特定のタグをキーワードとして検索
を行い、一致するタグが得られたならば、これに対応す
る位置指定情報としての符号量DLを読み出し、図20
のデータ圧縮装置に対し検索した符号量DLの位置から
の符号データの転送要求ができる。これによって、デー
タ復元側からデータ圧縮側に必要とするSGML日本語
文書の部分的な圧縮本文データの転送による読込みが簡
単にできる。
【0126】尚、本発明におけるデータ圧縮装置からデ
ータ復元装置への伝送形態としては、インターネット等
の通信回線でもよいし、光ディスクカートリッジや磁気
ディスクカートリッジ等の書替可能な可搬媒体等の適宜
の形態でよい。
【0127】また上記の実施形態は、タグ情報を分離
し、分離したタグ情報の位置にタグ符号を置換した文字
列ストリームの圧縮として、日本語固有の単語数に対応
した固定長の文字列符号を割り当てた符号化を例にとっ
ているが、これ以外のLZ77,LZ78,算術符号化
等の圧縮を行うようにしてもよいことはもちろんであ
る。
【0128】更に、本発明は、上記の実施形態の数値に
よる限定は受けない。更に本発明は、その目的と利点を
損なわない範囲の適宜の変形を含む。
【0129】
【発明の効果】以上説明してきたように本発明によれ
ば、タグを含むSGML等の構造化文書の文字列ストリ
ームにつき、タグ情報と本文(文字列)とを分離し、少
なくとも本文を符号化することで高い圧縮率を実現し、
また分離したタグ情報を検索することで圧縮された符号
データ中の特定のタグ位置の読出しや検索を高速で処理
することができる。
【0130】即ち、分離したタグ情報の順番と符号デー
タ中に置換したタグ符号の順番は1対1に対応してお
り、タグ情報について特定のタグ情報を検索すること
で、その順番から符号データ中のタグ符号の位置が特定
でき、目標とする文書符号データの先頭位置に容易に到
達することができる。
【0131】この結果、タグを含むSGML等の構造化
文書について、高い圧縮率を保ちながら高速に圧縮及び
復元を行うことができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のデータ圧縮装置の第1実施形態のブロ
ック図
【図3】図2のタグ情報分離部のブロック図
【図4】図2のデータ圧縮装置の処理手順の説明図
【図5】図4のタグをタグ符号に置換した本文ファイル
の説明図
【図6】図4の文字列ストリームから分離したタグ情報
ファイルの説明図
【図7】図4のタグを出現順序付きのタグ符号に置換し
た本文ファイルの説明図
【図8】図2のデータ圧縮装置の圧縮処理のフローチャ
ート
【図9】日本語文書に対する研究結果の説明図
【図10】図2の辞書格納部の辞書構造の説明図
【図11】図10の辞書構造を用いた図2の符号化処理
のフローチャート
【図12】図2のデータ圧縮装置からの符号ストリーム
を復元する本発明のデータ復元装置の第1実施形態のブ
ロック図
【図13】図12のデータ復元装置の復元処理のフロー
チャート
【図14】図12の辞書格納部の辞書構造の説明図
【図15】本発明のデータ圧縮装置の第2実施形態のブ
ロック図
【図16】図15のデータ圧縮装置の圧縮処理のフロー
チャート
【図17】本発明のデータ圧縮装置の第3実施形態のブ
ロック図
【図18】図17のデータ圧縮装置の処理手順の説明図
【図19】図17のデータ圧縮装置からの符号ストリー
ムを復元する本発明のデータ復元装置の第2実施形態の
ブロック図
【図20】本発明のデータ圧縮装置の第4実施形態のブ
ロック図
【図21】図20のデータ圧縮装置の処理手順の説明図
【図22】図21の符号量をタグに付加した図20のデ
ータ圧縮装置に格納されるタグ情報ファイルとタグ情報
ストリームの説明図
【図23】図20のデータ圧縮処理のフローチャート
【図24】図20のデータ圧縮装置からの符号ストリー
ムを復元する本発明のデータ復元装置の第3実施形態の
ブロック図
【図25】SGML文書の構造説明図
【図26】SGML文書の文書型定義DTDの具体例の
説明図
【図27】日本語文書を例にとったSGML文書ファイ
ルの説明図
【図28】SGML文書ファイルを圧縮する基本的な符
号化アルゴリズムのフローチャート
【図29】圧縮していないタグ情報の部分と圧縮した本
文部分が混在したSGML文書圧縮データファイルの説
明図
【符号の説明】
10:タグ情報分離部 12:タグ符号置換部 14:文字列符号化部 16:文字列比較部 18:辞書格納部 20:文字列ストリーム 22:タグ置換済み文字列ストリーム 24:タグ符号 26,84,90,102:符号ストリーム 28,100:タグ情報ストリーム 30:タグ比較部 32:タグ識別規則格納部 34:出力切替部 35:SGML日本語文書ファイル 36:タグ情報ファイル 38:タグ置換済み日本語文書ファイル 40:先頭文字格納部 42:従属文字列格納部 60:タグ符号分離部 62:タグ情報格納部 64:文字列復元部 66:符号列比較部 68:文字列置換部 70:辞書格納部 78:タグ情報格納部 86:タグ情報圧縮部 88:圧縮タグ情報ストリーム 92:圧縮タグ格納部 94:タグ情報復元部 95:符号量計測部 96:タグ文字列比較部 98:タグ辞書格納部 98:符号量計測部 104:タグ文字列復元部 106:タグ復元辞書格納部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年7月14日(1999.7.1
4)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正内容】
【0005】このような文書に構造の概念を取り入れた
構造化文書の例としては、国際規格のODA(ISO 86
13:Open Document Architecture)や、SGML
(ISO8879:Standard Generalized Markup Languag
e)の規格による構造化文書がある。またこのような構
造文書を用いた文書処理方法は、例えば特開平5−13
5054号のものがある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】ステップS1で同一の登録文字又は文字列
が検索できなかった場合は、ステップS5で元の入力文
字又は文字列をそのまま出力する。このような処理をス
テップSで入力文字列がなくなるまで繰り返す。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0060
【補正方法】変更
【補正内容】
【0060】続いてステップS3で、タグ配置済みの文
字列ストリーム中の文字列文字列符号化部14に設け
ている文字列比較部16で辞書格納部18内の対応する
登録番号を符号として割り当て、符号ストリーム26を
出力する。このステップS1〜S3の処理を、ステップ
S4で文字列ストリームの入力が終了するまで繰り返
す。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0062
【補正方法】変更
【補正内容】
【0062】図2の文字列符号化部14に設けた文字列
比較部16は、辞書格納部18の参照により、単語を構
成する文字列ごとに予め定めた所定の文字列符号を割り
当てる符号化を行う。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0064
【補正方法】変更
【補正内容】
【0064】文字列比較部16は日本語文書データの文
字列を先頭から順番に入力し、辞書格納部18に予め登
録されている単語単位の登録文字列と一致するか否かを
検出する。文字列比較部16で入力文字列に一致する登
録文字列が検出されると、辞書格納部18の一致検出さ
れた登録文字列に対応して予め登録されている文字列符
号を読み出して割り当て、この文字列符号を出力する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0065
【補正方法】変更
【補正内容】
【0065】ここで日本語文書データの文字列を単語単
位に文字列符号に変換するための辞書格納部18を説明
する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0069
【補正方法】変更
【補正内容】
【0069】図10は、図2の辞書格納部18の辞書構
造の実施形態である。図2の辞書格納部15に格納され
た辞書は、先頭文字格納部40と従属文字列格納部42
の2階層構造を備える。先頭文字格納部40は、日本語
文字「あ,い,う,え,お・・・」の文字コードをイン
デックスとしており、日本語の文字コードは2バイトデ
ータであることから、文字コード44としては、16進
数で「0x0000」から「0xFFFF」の131,
072種類の格納位置が割り当てられる。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】変更
【補正内容】
【0070】この文字コード44は、図2の文字列比較
部16で読み込んだ先頭文字を使用して、対応する文字
コードの位置にアクセスする。文字コード44に続いて
は先頭アドレス46が格納される。先頭アドレス46
は、例えば文字コード44の先頭文字「あ」を例にとる
と、先頭文字「あ」に続く従属文字列を格納した従属文
字列格納部42の先頭アドレス「A1」を指定してい
る。続いて従属文字列の個数48が設けられる。例えば
先頭文字「あ」にあっては、従属文字列個数48として
N1=4個が格納されている。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0071
【補正方法】変更
【補正内容】
【0071】従属文字列格納部42は、先頭文字格納部
40の先頭文字の文字コード44に対応して格納された
先頭アドレス46で先頭位置が指定され、この先頭位置
から従属文字列格納部42で指定された個数の格納位置
に従属文字列が格納されている。例えば先頭文字「あ」
に対応した先頭アドレス46のアドレスA1から従属文
字列個数48のN1=4個となる4つの格納位置が、対
象とする従属文字列格納領域として指定される。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0074
【補正方法】変更
【補正内容】
【0074】ここで図10の従属文字列格納部42に文
字列コード34は、単語個数に基づき1番から136,
486番まで予め17ビットの文字列コードが割り当て
られており、図10のように格納した場合の文字列コー
ド(文字列符号)Kと位置アドレスXとの関係は、次式
で表すことができる。 K=(N・X−A1)/M (1) 但し、X :従属文字列格納部42の位置アドレス N :一致検出された従属文字列の番号(1,2,3,
・・N) A1:従属文字列格納部の開始アドレス M :従属文字列格納部の格納バイト長 ここで、従属文字列格納部42の格納バイト長Mは、従
属文字列の長さ50、従属文字列52、及び文字列コー
ド54の合計長であることから、例えば次式で表すこと
ができる。 格納バイト長M= 長さ+文字コード列+文字列コード (2) =3bit + 96bit + 17bit =116bit =15byte ここでは格納可能な従属文字列を最大6文字とすること
で、従属文字列52に96ビットを割り当てた場合を例
にとっている。もちろん、従属文字列の文字数は平均で
2.8文字であることから、3文字(48ビット)以上
とすれば十分な圧縮効果が得られる。この場合には、従
属文字列格納部の1つの格納領域の格納バイト長MはM
=12バイトになる。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0076
【補正方法】変更
【補正内容】
【0076】図11は図10の辞書構造を持った辞書格
納部18による図2の文字列比較部16による符号化処
理のフローチャートである。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0079
【補正方法】変更
【補正内容】
【0079】登録した従属文字列と一致すれば、ステッ
プSに進み、次の文字列コード54を読み出し、一致
検出した文字列に文字列比較部16で割り当てて出力
し、次のステップS9で先頭文字位置Pを従属文字列の
文字数Lだけ移動した位置Pにポインタを更新する。そ
してステップS12で非圧縮データの処理が済んでいな
ければ、再びステップS2に戻り、更新した先頭文字位
置Pについて同様な処理を繰り返す。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0082
【補正方法】変更
【補正内容】
【0082】図12は、図2のデータ圧縮装置から出力
された符号ストリーム26及びタグ情報ストリーム28
で構成される符号ストリームから文字列ストリームを復
元するためのデータ復元装置の第1実施形態のブロック
図である。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0083
【補正方法】変更
【補正内容】
【0083】このデータ復元装置は、タグ情報分離部6
0、タグ情報格納部62、文字列復元部64で構成され
る。文字列復元部64は、符号列比較部66、辞書格納
65及び文字列置換部68を備える。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0084
【補正方法】変更
【補正内容】
【0084】タグ情報分離部60は図2のデータ圧縮装
置側から送られてきた符号ストリーム56を入力し、タ
グ情報と符号データとに分離し、タグ情報はタグ情報格
納部62に格納し、符号データは符号ストリーム58と
して文字列復元部64に出力する。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0085
【補正方法】変更
【補正内容】
【0085】文字列復元部64は符号列比較部66で辞
書格納部65を用いて符号データから文字列及びタグ符
号を復元した後に、文字列置換部68においてタグ符号
をタグ情報格納部62に格納しているタグ情報に置き換
えて、復元した文字列ストリーム70を出力する。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0086
【補正方法】変更
【補正内容】
【0086】図13は、図12のデータ復元装置の復元
処理のフローチャートである。まずステップS1で、タ
グ情報分離部60が入力文書に対応した符号ストリーム
56からタグ情報を分離してタグ情報格納部62に格納
する。次にステップS2で、タグ情報が分離された符号
ストリーム56の中の符号列を辞書格納部65内の登録
番号と比較照合し、一致する登録番号で格納している文
字または文字列に変換する。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0088
【補正方法】変更
【補正内容】
【0088】図12の文字列復元部64に設けた符号列
比較部66は、辞書格納部65の参照により、図3のデ
ータ圧縮装置で符号化された符号ストリームから元の
文字列を復元する。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0089
【補正方法】変更
【補正内容】
【0089】図14は、図12の文字列辞書格納部65
の辞書構造である。この文字列辞書格納部65にあって
は、先頭文字72、従属文字列長さ74及び従属文字列
76を、図10の辞書構造に示した従属文字列格納部4
2の17ビットの文字列コード54の順番に格納してい
る。このため符号比較部66にあっては、復元に使用
る従属文列格納部42の格納バイト長Mが 格納バイト長M= 先頭文字+長さ+文字コード列 (6) = 16bit +3bit + 96bit =115ビット =15byte から判明しているため、次式から文字列コードKに対応
した位置アドレスXを算出することができる。 X=M・K+A1 (7) 但し、K :文字列コード A1:文字列格納位置の開始アドレス M :格納バイト長 このようにして分離した文字列コードKから辞書格納位
置を示す位置アドレスXを求めて参照することで、対応
する先頭文字及び従属文字列を組み合わせた文字列を復
元することができる。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0093
【補正方法】変更
【補正内容】
【0093】タグ情報格納部78にはタグ情報分離部1
0により文字列ストリーム20から分離されたタグ情報
が格納される。これによってタグ情報格納部78には、
例えば図6のようなタグ情報ファイル36が格納され
る。また符号格納部80は文字列符号化部14に設けら
れており、タグ符号置換部12により分離したタグ情報
にタグ情報を挿入したタグ置換済み文字列ストリーム2
2につき、図11の符号化処理により生成された符号デ
ータが格納される。
【手続補正22】
【補正対象書類名】明細書
【補正対象項目名】0097
【補正方法】変更
【補正内容】
【0097】文字列ストリームの入力が終了するとステ
ップS5に進み、分離したタグ情報とタグ符号に変換し
て符号化した符号ストリームを、例えばタグ情報格納部
78と符号格納部80から順番に読み出して符号列ス
リーム84として出力する。図15のデータ圧縮装置か
ら出力された符号列ストリーム84は、図12に示した
データ復元装置に入力することで文字列ストリームを復
元することができる。
【手続補正23】
【補正対象書類名】明細書
【補正対象項目名】0101
【補正方法】変更
【補正内容】
【0101】タグ情報分離部10、タグ符号置換部1
2、文字列符号化部14は、図15の第2実施形態と同
じである。
【手続補正24】
【補正対象書類名】明細書
【補正対象項目名】0104
【補正方法】変更
【補正内容】
【0104】図19は、図17のデータ圧縮装置から出
力された符号ストリーム90から文字列ストリームを復
元する本発明のデータ復元装置の第2実施形態である。
このデータ復元装置は、図12の第1実施形態に更に圧
縮タグ格納部92とタグ情報復元部94を設けている。
【手続補正25】
【補正対象書類名】明細書
【補正対象項目名】0105
【補正方法】変更
【補正内容】
【0105】タグ情報分離部92は、入力する符号スト
リーム90に含まれる圧縮タグ情報を分離して圧縮タグ
格納部62に格納する。圧縮タグ格納部92に格納され
た圧縮タグ情報はタグ情報復元部92により復元され、
タグ情報格納部62に格納される。タグ情報復元部92
はデータ圧縮側のLZ77,LZ78,算術復号化に対
応した復元アルゴリズムを実行する。それ以外の構成は
図15と同じになる。
【手続補正26】
【補正対象書類名】明細書
【補正対象項目名】0107
【補正方法】変更
【補正内容】
【0107】図20において、タグ情報分離部10、タ
グ符号置換部12、文字列比較部16、辞書格納部18
を備えた文字列符号化部14、タグ情報格納部78及び
符号切替部82は、図15の第2実施形態と同じであ
る。これに加えて図20の第4実施形態にあっては、新
たにタグ文字列比較部97、タグ辞書格納部96及び符
号量計測部98を設けている。
【手続補正27】
【補正対象書類名】明細書
【補正対象項目名】0108
【補正方法】変更
【補正内容】
【0108】タグ文字列比較部97とタグ辞書格納部9
6は、タグ情報分離部10で分離したタグ情報に含まれ
る日本語文字列ストリームを文字列符号化部14と同様
な符号化アルゴリズムで符号化してタグ情報を圧縮す
る。このため、タグ情報格納部98の辞書構成は図10
と同じであり、先頭文字及び従属文字としてタグ情報に
使用する日本語文字列が使用されている。またタグ文字
列の符号化処理は図11のフローチャートに従って行
う。
【手続補正28】
【補正対象書類名】明細書
【補正対象項目名】0111
【補正方法】変更
【補正内容】
【0111】図21は、図20の第4実施形態における
圧縮処理の説明図である。SGML日本語文書ファイル
35の内容となる文字列ストリームを入力して、タグ情
報の分離によるタグ情報ファイル36の生成及びタグ情
報をタグ符号に置換したタグ置換済み日本語文書ファイ
38の生成は、図15の第2実施形態と同じである。
【手続補正29】
【補正対象書類名】明細書
【補正対象項目名】0113
【補正方法】変更
【補正内容】
【0113】図22は、タグ情報格納部78に格納され
たタグ情報ファイルの具体例であり、図27に示したS
GML日本語文書ファイルから分離したタグ情報を例に
とっている。このタグ情報ファイル36には、左側のイ
ンデックス01〜13に対応した各タグに対応して、右
側に図21のタグ置換済み日本語ファイル38の文字列
データの符号データの先頭からの符号量(バイト量)D
L1〜DL13が位置指定情報106としてそれぞれ格
納されている。
【手続補正30】
【補正対象書類名】明細書
【補正対象項目名】0116
【補正方法】変更
【補正内容】
【0116】このようなステップS1〜S4の処理を、
ステップS5で文字列ストリームの入力が終了するまで
繰り返す。文字列ストリーム20の入力が終了すると、
ステップS6で、タグ情報格納部78に分離して格納し
ているタグ情報中の文字列をタグ辞書格納部96内の辞
書の対応するブロック番号に変換して符号データとする
符号化処理をタグ文字列比較部97で行い、タグ情報格
納部78に格納する。その結果、タグ情報格納部78の
格納内容は図22の圧縮タグ情報ファイル36のように
なる。
【手続補正31】
【補正対象書類名】明細書
【補正対象項目名】0117
【補正方法】変更
【補正内容】
【0117】最後にステップS7で、タグ情報格納部7
8に分離して符号化した符号量付きのタグ情報と符号
部80に格納した符号データを符号切替部82より例
えば順番に選択出力し、符号ストリーム100として外
部に供給する。
【手続補正32】
【補正対象書類名】明細書
【補正対象項目名】0123
【補正方法】変更
【補正内容】
【0123】一方、タグ情報分離部60は、圧縮タグ情
報ストリームに続いて送られてくる文書本文の符号スト
リームを文字列復元部64に供給し、符号列比較部66
で取り出した符号による辞書格納部65の辞書番号の参
照で対応する文字または文字列を復元し、文字列置換部
68に出力する。
【手続補正33】
【補正対象書類名】明細書
【補正対象項目名】0124
【補正方法】変更
【補正内容】
【0124】文字列置換部68は、復元した文字列の中
のタグ符号を認識し、その出現順に従ってタグ情報格納
部62に格納している復元済みのタグ情報を格納順に取
り出し、タグ符号と置換し、復元した文字列ストリーム
を出力する。
【手続補正34】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】変更
【補正内容】
【図12】
【手続補正35】
【補正対象書類名】図面
【補正対象項目名】図15
【補正方法】変更
【補正内容】
【図15】
【手続補正36】
【補正対象書類名】図面
【補正対象項目名】図19
【補正方法】変更
【補正内容】
【図19】
【手続補正37】
【補正対象書類名】図面
【補正対象項目名】図20
【補正方法】変更
【補正内容】
【図20】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 宣子 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】タグを含む文書で構成された文字列ストリ
    ームから符号データを生成するデータ圧縮装置に於い
    て、 前記文字列ストリームから識別したタグを分離してタグ
    情報として出力するタグ情報分離部と、 前記タグ情報分離部でタグが分離された文字列ストリー
    ムの位置に識別のためにタグ符号を配置するタグ符号置
    換部と、 前記タグ符号置換部から出力されたタグ符号を含む文字
    列ストリームを符号化して符号ストリームを出力する文
    字列符号化部と、を有することを特徴とするデータ圧縮
    装置。
  2. 【請求項2】請求項1記載のデータ圧縮装置に於いて、
    前記タグ符号置換部は、タグが分離された文字列ストリ
    ームの位置に、所定の固定符号を前記タグ符号として配
    置することを特徴とするデータ圧縮装置。
  3. 【請求項3】請求項1記載のデータ圧縮装置に於いて、
    前記タグ符号置換部は、タグが分離された文字列ストリ
    ームの位置に、前記タグ情報分離部で分離されたタグの
    出現順序を示すタグ符号を配置することを特徴とするデ
    ータ圧縮装置。
  4. 【請求項4】請求項1記載のデータ圧縮装置に於いて、
    更に、 前記タグ情報分離部で分離されたタグ情報を格納するタ
    グ情報格納部と、 前記文字列符号化部で生成された符号データを格納する
    符号格納部と、 前記タグ情報格納部に格納されたタグ情報と符号格納部
    に格納された符号データを選択して出力する符号切替部
    と、を設けたことを特徴とするデータ圧縮装置。
  5. 【請求項5】請求項1記載のデータ圧縮装置に於いて、
    前記文字列符号化部は、 圧縮する際の処理単位となる文字列を登録した辞書を格
    納する辞書格納部と、 前記タグ符号置換部からの文字列ストリームの中の部分
    文字列と前記辞書格納部の登録文字列との比較により、
    前記登録文字列に一致する部分文字列を検出し、検出し
    た部分文字列ごとに予め定められた符号を割り当てて出
    力する文字列比較部と、を備えたことを特徴とするデー
    タ圧縮装置。
  6. 【請求項6】請求項1記載のデータ圧縮装置に於いて、
    更に、前記タグ情報分離部で分離したタグ情報を圧縮す
    るタグ情報圧縮部を設けたことを特徴とするデータ圧縮
    装置。
  7. 【請求項7】請求項1記載のデータ圧縮装置に於いて、
    更に、 圧縮する際の処理単位となるタグ情報中のタグ文字列を
    登録した辞書を格納するタグ辞書格納部と、 前記タグ情報分離部で分離したタグ情報に含まれる文字
    列ストリームの部分文字列と前記タグ辞書格納部の登録
    文字との比較により、前記登録文字列に一致する部分文
    字列を検出し、検出した部分文字列ごとに予め定められ
    た符号を割り当てて出力するタグ文字列比較部と、を備
    えたことを特徴とするデータ圧縮装置。
  8. 【請求項8】請求項4記載のデータ圧縮装置に於いて、
    更に、前記文字列符号化部で生成した符号データの中の
    タグ位置を検出するタグ位置検出部を設け、前記タグ情
    報格納部に前記タグ情報分離部で分離したタグ情報と共
    に前記タグ位置検出部で検出したタグ位置の指定情報を
    格納したことを特徴とするデータ圧縮装置。
  9. 【請求項9】請求項8記載のデータ圧縮装置に於いて、
    前記タグ位置検出部は、文書先頭又は特定のタグからの
    符号量を検出して前記タグ情報格納部にタグ情報と共に
    格納したことを特徴とするデータ圧縮装置。
  10. 【請求項10】タグを含む文書の文字列ストリームから
    分離したタグ情報と、分離したタグの位置にタグ符号を
    配置した文字列ストリームを符号化した符号データとを
    含む符号ストリームから文字列データを復元するデータ
    復元装置に於いて、 前記符号ストリームからタグ情報と符号データとを分離
    するタグ情報分離部と、 前記タグ情報分離部で分離し
    たタグ情報を格納するタグ情報格納部と、 前記符号データから文字列及びタグ符号を含む文字列デ
    ータを復元した後に、前記タグ符号をダク情報格納部の
    タグ情報に置き換える文字列復元部と、を備えたことを
    特徴とするデータ復元装置。
  11. 【請求項11】請求項10記載のデータ復元装置に於い
    て、前記文字列復元部は、 復元する際の処理単位となる文字列の符号に対応した復
    元文字列を登録した辞書を格納する辞書格納部と、 前記符号ストリームから復元単位となる文字列の符号を
    分離して前記辞書格納部の参照で元の文字列を復元する
    文字列比較部と、 前記文字列比較部により復元したタグ符号を、前記ダク
    情報格納部のタグ情報に置き換える文字列置換部と、を
    備えたことを特徴とするデータ復元装置。
  12. 【請求項12】請求項10記載のデータ復元装置に於い
    て、更に、前記タグ情報格納部に格納されたタグ情報の
    圧縮データを復元するタグ情報復元部を設けたことを特
    徴とするデータ復元装置。
  13. 【請求項13】請求項10記載のデータ復元装置に於い
    て、更に、 復元する際の処理単位となるタグ文字列の符号に対応し
    た復元文字列を登録した辞書を格納するタグ辞書格納部
    と、 前記タグ情報分離部により分離したタグ情報から復元単
    位となるタグ文字列の符号を分離し、前記辞書格納部の
    参照で元のタグ文字列を復元するタグ文字列比較部と、
    を備えたことを特徴とするデータ復元装置。
  14. 【請求項14】タグを含む文書で構成された文字列スト
    リームから符号データを生成するデータ圧縮方法に於い
    て、 前記文字列ストリームから識別したタグを分離してタグ
    情報として出力するタグ情報分離過程と、 前記タグ情報分離過程でタグが分離された文字列ストリ
    ームの位置に識別のためにタグ符号を配置するタグ符号
    置換過程と、 前記タグ符号置換過程から出力されたタグ符号を含む文
    字列ストリームを符号化して符号ストリームを出力する
    文字列符号化過程と、を有することを特徴とするデータ
    圧縮方法。
  15. 【請求項15】請求項14記載のデータ圧縮方法に於い
    て、前記タグ符号置換過程は、タグが分離された文字列
    ストリームの位置に、所定の固定符号を前記タグ符号と
    して配置することを特徴とするデータ圧縮方法。
  16. 【請求項16】請求項14記載のデータ圧縮方法に於い
    て、前記タグ符号置換過程は、タグが分離された文字列
    ストリームの位置に、前記タグ情報分離過程で分離され
    たタグの出現順序を示すタグ符号を配置することを特徴
    とするデータ圧縮方法。
  17. 【請求項17】請求項14記載のデータ圧縮方法に於い
    て、更に、 前記タグ情報分離過程で分離されたタグ情報を格納する
    タグ情報格納過程と、 前記文字列符号化過程で生成された符号データを格納す
    る符号格納過程と、 前記タグ情報格納過程に格納されたタグ情報と符号格納
    過程に格納された符号データを選択して出力する符号切
    替過程と、を設けたことを特徴とするデータ圧縮方法。
  18. 【請求項18】請求項14記載のデータ圧縮方法に於い
    て、前記文字列符号化過程は、 圧縮する際の処理単位となる文字列を登録した辞書を生
    成する辞書生成過程と、 前記タグ符号置換過程で得られた文字列ストリームの中
    の部分文字列と前記辞書の登録文字列との比較により、
    前記登録文字列に一致する部分文字列を検出し、検出し
    た部分文字列ごとに予め定められた符号を割り当てて出
    力する文字列比較過程と、を備えたことを特徴とするデ
    ータ圧縮方法。
  19. 【請求項19】請求項14記載のデータ圧縮方法に於い
    て、更に、前記タグ情報分離過程で分離したタグ情報を
    圧縮するタグ情報圧縮過程を設けたことを特徴とするデ
    ータ圧縮方法。
  20. 【請求項20】請求項14記載のデータ圧縮方法に於い
    て、更に、 圧縮する際の処理単位となるタグ情報中のタグ文字列を
    登録した辞書を生成するタグ辞書生成過程と、 前記タグ情報分離過程で分離したタグ情報に含まれる文
    字列ストリームの部分文字列と前記タグ辞書の登録文字
    との比較により、前記登録文字列に一致する部分文字列
    を検出し、検出した部分文字列ごとに予め定められた符
    号を割り当てて出力するタグ文字列比較過程と、を備え
    たことを特徴とするデータ圧縮方法。
  21. 【請求項21】請求項17記載のデータ圧縮方法に於い
    て、更に、前記文字列符号化過程で生成した符号データ
    のタグ位置を検出するタグ位置検出過程を設け、前記タ
    グ情報分離過程で分離したタグ情報と共に前記タグ位置
    検出過程で検出したタグ位置の指定情報を格納したこと
    を特徴とするデータ圧縮方法。
  22. 【請求項22】請求項21記載のデータ圧縮方法に於い
    て、前記タグ位置検出過程は、文書先頭又は特定のタグ
    からの符号量を検出して前記タグ情報格納過程で分離し
    たタグ情報と共に格納することを特徴とするデータ圧縮
    方法。
  23. 【請求項23】タグを含む文書の文字列ストリームから
    分離したタグ情報と、分離したタグの位置にタグ符号を
    配置した文字列ストリームを符号化した符号データとを
    含む符号ストリームから文字列データを復元するデータ
    復元方法に於いて、 前記タグ情報と符号データとを分離するタグ情報分離過
    程と、 前記タグ情報分離過程で分離したタグ情報を格納するタ
    グ情報格納過程と、 前記符号データから文字列及びタグ符号を含む文字列ス
    トリームを復元した後に、前記タグ符号を前記ダク情報
    格納過程で分離したタグ情報に置き換える文字列復元過
    程と、を備えたことを特徴とするデータ復元方法。
  24. 【請求項24】請求項23記載のデータ復元方法に於い
    て、前記文字列復元過程は、 復元する際の処理単位となる文字列の符号に対応した復
    元文字列を登録した辞書を生成する辞書生成過程と、 前記符号ストリームから復元単位となる文字列の符号を
    分離して前記辞書の参照で元の文字列を復元する文字列
    比較過程と、 前記文字列比較過程により復元したタグ符号を、前記ダ
    ク情報格納過程で分離したタグ情報に置き換える文字列
    置換過程と、を備えたことを特徴とするデータ復元方
    法。
  25. 【請求項25】請求項23記載のデータ復元方法に於い
    て、更に、前記タグ情報格納過程で格納されたタグ情報
    の圧縮データを復元するタグ情報復元過程を設けたこと
    を特徴とするデータ復元方法。
  26. 【請求項26】請求項23記載のデータ復元方法に於い
    て、更に、 復元する際の処理単位となるタグ文字列の符号に対応し
    た復元文字列を登録した辞書を生成するタグ辞書生成過
    程と、 前記タグ情報分離過程により分離したタグ情報から復元
    単位となるタグ文字列の符号を分離し、前記辞書の参照
    で元のタグ文字列を復元するタグ文字列比較過程と、を
    備えたことを特徴とするデータ復元方法。
JP27272498A 1998-09-28 1998-09-28 データ圧縮装置及び復元装置並びにその方法 Expired - Fee Related JP4003854B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP27272498A JP4003854B2 (ja) 1998-09-28 1998-09-28 データ圧縮装置及び復元装置並びにその方法
US09/352,355 US6871320B1 (en) 1998-09-28 1999-07-13 Data compressing apparatus, reconstructing apparatus, and method for separating tag information from a character train stream of a structured document and performing a coding and reconstruction
EP99306048A EP0991018A3 (en) 1998-09-28 1999-07-29 Method and apparatus for compressing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27272498A JP4003854B2 (ja) 1998-09-28 1998-09-28 データ圧縮装置及び復元装置並びにその方法

Publications (2)

Publication Number Publication Date
JP2000101442A true JP2000101442A (ja) 2000-04-07
JP4003854B2 JP4003854B2 (ja) 2007-11-07

Family

ID=17517905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27272498A Expired - Fee Related JP4003854B2 (ja) 1998-09-28 1998-09-28 データ圧縮装置及び復元装置並びにその方法

Country Status (3)

Country Link
US (1) US6871320B1 (ja)
EP (1) EP0991018A3 (ja)
JP (1) JP4003854B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001217720A (ja) * 2000-02-04 2001-08-10 Internatl Business Mach Corp <Ibm> データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
JP2004528737A (ja) * 2000-11-07 2004-09-16 ユーアイエボルーション・インコーポレーテッド 構成要素発生頻度に基づく圧縮形式でデータ構造を送信および受信するための方法および装置
US7143397B2 (en) 2001-02-02 2006-11-28 International Business Machines Corporation XML data encoding and decoding
JP2009043267A (ja) * 2001-07-13 2009-02-26 Fr Telecom 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法
US7856595B2 (en) 2000-11-24 2010-12-21 Fujitsu Limited Structured document compressing apparatus and method, record medium in which a structured document compressing program is stored, structured document decompressing apparatus and method, record medium in which a structured document decompressing program is stored, and structured document processing system
EP3051429A1 (en) 2015-01-28 2016-08-03 Fujitsu Limited Encoding device and encoding method
EP3236368A1 (en) 2016-04-18 2017-10-25 Fujitsu Limited Encoding processing program, encoding processing device, encoding processing method, decoding processing program, decoding processing device, and decoding processing method

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2384687A1 (en) * 1999-09-10 2001-03-15 General Instrument Corporation Method and apparatus for compressing scripting language content
US6850948B1 (en) * 2000-10-30 2005-02-01 Koninklijke Philips Electronics N.V. Method and apparatus for compressing textual documents
FR2818409B1 (fr) * 2000-12-18 2003-03-14 Expaway Procede pour diviser des documents structures en plusieurs parties
GB2385686A (en) * 2002-02-25 2003-08-27 Oracle Corp Mark-up language conversion
JP2004104347A (ja) * 2002-09-06 2004-04-02 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
CN1635492A (zh) * 2003-12-30 2005-07-06 皇家飞利浦电子股份有限公司 一种xml数据的压缩与解压缩方法及装置
US7593949B2 (en) * 2006-01-09 2009-09-22 Microsoft Corporation Compression of structured documents
JP6645013B2 (ja) * 2015-01-30 2020-02-12 富士通株式会社 符号化プログラム、符号化方法、符号化装置および伸長方法
US10175866B2 (en) 2015-06-05 2019-01-08 Apple Inc. Providing complications on an electronic watch
US10572571B2 (en) * 2015-06-05 2020-02-25 Apple Inc. API for specifying display of complication on an electronic watch
US11327640B2 (en) 2015-06-05 2022-05-10 Apple Inc. Providing complications on an electronic device
JP6753401B2 (ja) * 2015-07-24 2020-09-09 富士通株式会社 符号化プログラム、符号化装置、及び符号化方法
US10276134B2 (en) * 2017-03-22 2019-04-30 International Business Machines Corporation Decision-based data compression by means of deep learning technologies
CN108388548B (zh) * 2018-02-24 2021-08-31 浪潮软件股份有限公司 一种实现脚本参数化的方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016009A (en) * 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5627995A (en) * 1990-12-14 1997-05-06 Alfred P. Gnadinger Data compression and decompression using memory spaces of more than one size
JPH07105185A (ja) * 1993-10-01 1995-04-21 Matsushita Electric Ind Co Ltd 文書作成装置
JPH08255155A (ja) * 1995-03-16 1996-10-01 Fuji Xerox Co Ltd 全文登録語検索装置および方法
JP3499671B2 (ja) * 1996-02-09 2004-02-23 富士通株式会社 データ圧縮装置及びデータ復元装置
JP3859313B2 (ja) * 1997-08-05 2006-12-20 富士通株式会社 タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001217720A (ja) * 2000-02-04 2001-08-10 Internatl Business Mach Corp <Ibm> データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
JP2004528737A (ja) * 2000-11-07 2004-09-16 ユーアイエボルーション・インコーポレーテッド 構成要素発生頻度に基づく圧縮形式でデータ構造を送信および受信するための方法および装置
US7856595B2 (en) 2000-11-24 2010-12-21 Fujitsu Limited Structured document compressing apparatus and method, record medium in which a structured document compressing program is stored, structured document decompressing apparatus and method, record medium in which a structured document decompressing program is stored, and structured document processing system
US7143397B2 (en) 2001-02-02 2006-11-28 International Business Machines Corporation XML data encoding and decoding
JP2009043267A (ja) * 2001-07-13 2009-02-26 Fr Telecom 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法
EP3051429A1 (en) 2015-01-28 2016-08-03 Fujitsu Limited Encoding device and encoding method
JP2016139309A (ja) * 2015-01-28 2016-08-04 富士通株式会社 文字データ変換プログラム、文字データ変換装置および文字データ変換方法
EP3236368A1 (en) 2016-04-18 2017-10-25 Fujitsu Limited Encoding processing program, encoding processing device, encoding processing method, decoding processing program, decoding processing device, and decoding processing method
JP2017195447A (ja) * 2016-04-18 2017-10-26 富士通株式会社 符号化処理プログラム、符号化処理装置、符号化処理方法、復号化処理プログラム、復号化処理装置および復号化処理方法

Also Published As

Publication number Publication date
US6871320B1 (en) 2005-03-22
EP0991018A3 (en) 2005-01-05
JP4003854B2 (ja) 2007-11-07
EP0991018A2 (en) 2000-04-05

Similar Documents

Publication Publication Date Title
JP2000101442A (ja) データ圧縮装置及び復元装置並びにその方法
JP3859313B2 (ja) タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体
US6012057A (en) High speed data searching for information in a computer system
US5870036A (en) Adaptive multiple dictionary data compression
JP6596102B2 (ja) コンテンツ連想シーブに存在している基本データエレメントからデータを導出することによるデータの無損失削減
JP3421700B2 (ja) データ圧縮装置及び復元装置並びにその方法
JP3935952B2 (ja) 頻度の高いキャラクタの組み合わせ、ワード及び/又はフレーズでプレフィルした辞書を用いるLempel―Zivデータ圧縮技術
US6047298A (en) Text compression dictionary generation apparatus
Deutsch et al. Zlib compressed data format specification version 3.3
JP3309031B2 (ja) 短ブロックのデータを圧縮、伸長するための方法、及び装置
WO1989006882A1 (en) Method and system for storing and retrieving compressed data
WO1998006028A9 (en) A lempel-ziv data compression technique utilizing a dicionary pre-filled with fequent letter combinations, words and/or phrases
JPH0682370B2 (ja) 文字処理装置
JPH06152435A (ja) 可変長符号の伸長装置および圧縮伸長装置
JPS59231683A (ja) データ圧縮方法
US6834283B1 (en) Data compression/decompression apparatus using additional code and method thereof
Lin A hardware architecture for the LZW compression and decompression algorithms based on parallel dictionaries
JPH10261969A (ja) データ圧縮方法および装置
JP3038223B2 (ja) データ圧縮方式
JP2729416B2 (ja) テキストデータの復元方法
JPH0554077A (ja) 単語辞書検索装置
US6731229B2 (en) Method to reduce storage requirements when storing semi-redundant information in a database
JPH06222984A (ja) 読み出し専用メモリ
JP2952067B2 (ja) データ圧縮方式
JP2825960B2 (ja) データ圧縮方法及び復元方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070816

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees