JPH0566918A - デ−タ圧縮装置 - Google Patents
デ−タ圧縮装置Info
- Publication number
- JPH0566918A JPH0566918A JP3254539A JP25453991A JPH0566918A JP H0566918 A JPH0566918 A JP H0566918A JP 3254539 A JP3254539 A JP 3254539A JP 25453991 A JP25453991 A JP 25453991A JP H0566918 A JPH0566918 A JP H0566918A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- byte
- input
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007906 compression Methods 0.000 claims abstract description 149
- 230000006835 compression Effects 0.000 claims abstract description 149
- 238000013144 data compression Methods 0.000 claims description 69
- 235000016496 Panda oleosa Nutrition 0.000 claims description 8
- 240000000220 Panda oleosa Species 0.000 claims description 8
- 239000000203 mixture Substances 0.000 abstract description 2
- 230000006837 decompression Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Document Processing Apparatus (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【目的】データ圧縮効率の維持を目的とする
【構成】 第1圧縮部20では、ひらがなまたは片かな
の圧縮モードのときに、記号を示す2バイトデータを複
数の圧縮モードで圧縮することができる。また、第2圧
縮部32で入力データと検索データとが最大長で一致す
るまで1文字単位またはビット単位でデータ圧縮用テー
ブルを検索され、不一致とされた入力データ長の内容の
検索データ及びそれに対応する圧縮符号語がデータ圧縮
用テーブルに生成される。圧縮符号語を最小可変ビット
で表現させ、その最小可変ビットで表現できる最大数を
超えたときにデータ圧縮用テーブル10が更新される。 【効果】 第1圧縮部20で各文字種の混在度が高く、
同一文字種の連続性が乏しい日本語の文章であっても、
優れたデータ圧縮効率を維持でき、第2圧縮部32で各
種テキストデータに対しても、データ圧縮効率を維持す
ることが可能になる。
の圧縮モードのときに、記号を示す2バイトデータを複
数の圧縮モードで圧縮することができる。また、第2圧
縮部32で入力データと検索データとが最大長で一致す
るまで1文字単位またはビット単位でデータ圧縮用テー
ブルを検索され、不一致とされた入力データ長の内容の
検索データ及びそれに対応する圧縮符号語がデータ圧縮
用テーブルに生成される。圧縮符号語を最小可変ビット
で表現させ、その最小可変ビットで表現できる最大数を
超えたときにデータ圧縮用テーブル10が更新される。 【効果】 第1圧縮部20で各文字種の混在度が高く、
同一文字種の連続性が乏しい日本語の文章であっても、
優れたデータ圧縮効率を維持でき、第2圧縮部32で各
種テキストデータに対しても、データ圧縮効率を維持す
ることが可能になる。
Description
【0001】
【産業上の利用分野】本発明はキャラクタデータを圧縮
する装置に関し、特に、日本語の文字データと日本語の
文字データ以外のテキストデータを記録、伝送するとき
に用いられる装置に関する。
する装置に関し、特に、日本語の文字データと日本語の
文字データ以外のテキストデータを記録、伝送するとき
に用いられる装置に関する。
【0002】
【従来の技術】JISコード体系やシフトJIS体系な
どにより、日本語の文字データは2バイトで表現されて
いるが、これらの2バイトコードを記録、伝送する際に
は、データ量を極力少なくすることがメモリ効率上及び
データ伝送効率上望ましい。このため、漢字、ひらが
な、片かな、記号の各文字種毎に制御コードを用意し、
同一文字種が連続するテキストデータの場合には、同一
文字種の先頭の文字データに制御コードを付加し、この
制御コードにより連続する同一文字種の第1バイトを省
略して、データ量を減少させるデータ圧縮装置が用いら
れることが多い。また、出現頻度の高い単語などがあら
かじめ登録されたデータ圧縮用テーブルを用意し、テキ
ストデータにそれらの単語が出現した場合に、それらの
単語とそれらの単語と対応した圧縮符号語とを置き換
え、データ量を少なくするデータ圧縮装置が使用される
こともある。
どにより、日本語の文字データは2バイトで表現されて
いるが、これらの2バイトコードを記録、伝送する際に
は、データ量を極力少なくすることがメモリ効率上及び
データ伝送効率上望ましい。このため、漢字、ひらが
な、片かな、記号の各文字種毎に制御コードを用意し、
同一文字種が連続するテキストデータの場合には、同一
文字種の先頭の文字データに制御コードを付加し、この
制御コードにより連続する同一文字種の第1バイトを省
略して、データ量を減少させるデータ圧縮装置が用いら
れることが多い。また、出現頻度の高い単語などがあら
かじめ登録されたデータ圧縮用テーブルを用意し、テキ
ストデータにそれらの単語が出現した場合に、それらの
単語とそれらの単語と対応した圧縮符号語とを置き換
え、データ量を少なくするデータ圧縮装置が使用される
こともある。
【0003】
【発明が解決しようとする課題】しかしながら、日本語
の文章はひらがな,漢字等の文字種が混在する率が高
く、同一文字種の連続性が乏しいので、従来装置では文
字種が代わるたびに異なる制御コードを付加する必要が
あり、このため、データの圧縮効率は低下する。また、
データ圧縮用テーブルに登録された単語等は固定されて
いるので、各種キャラクタデータを含んだテキストデー
タに対して柔軟に対応することができず、このため、デ
ータの圧縮効率が低下する。さらに、各種キャラクタデ
ータを含んだテキストデータに柔軟に対応するには、あ
らかじめ固定のデータ圧縮用テーブルをいくつも用意す
る必要があるので、データ圧縮装置のメモリを効果的に
使用することができない。したがって、データ圧縮速度
が低下する場合がある。
の文章はひらがな,漢字等の文字種が混在する率が高
く、同一文字種の連続性が乏しいので、従来装置では文
字種が代わるたびに異なる制御コードを付加する必要が
あり、このため、データの圧縮効率は低下する。また、
データ圧縮用テーブルに登録された単語等は固定されて
いるので、各種キャラクタデータを含んだテキストデー
タに対して柔軟に対応することができず、このため、デ
ータの圧縮効率が低下する。さらに、各種キャラクタデ
ータを含んだテキストデータに柔軟に対応するには、あ
らかじめ固定のデータ圧縮用テーブルをいくつも用意す
る必要があるので、データ圧縮装置のメモリを効果的に
使用することができない。したがって、データ圧縮速度
が低下する場合がある。
【0004】本発明は上記従来の事情に鑑みてなされた
ものであり、その目的は、各種の文字データを有するテ
キストデータに対しても、高いデータ圧縮効率を維持で
きるとともにメモリを有効に利用できるデータ圧縮装置
を提供することにある。
ものであり、その目的は、各種の文字データを有するテ
キストデータに対しても、高いデータ圧縮効率を維持で
きるとともにメモリを有効に利用できるデータ圧縮装置
を提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載のデータ圧縮装置は図1のように構成
されている。すなわち、順次入力されるひらがなまたは
記号を示す2バイトデータの第1バイトを圧縮モードが
切り替わるまで省略して送出し、漢字を示す2バイトデ
ータをそのまま送出する第1圧縮モード10と、順次入
力される片かなまたは記号を示す2バイトデータの第1
バイトを圧縮モードが切り替わるまで省略して送出し、
漢字を示す2バイトデータをそのまま送出する第2圧縮
モード12と、漢字を示す2バイトデータまたは1バイ
トデータが入力されたときに2バイトデータまたは1バ
イトデータのまま送出する第3圧縮モード14と、を備
えた圧縮手段16と、ひらがなまたは記号を示す2バイ
トデータが入力されたときに第1制御コ−ドを送出し、
片かなまたは記号を示す2バイトデータが入力されたと
きに第2制御コ−ドを送出し、1バイトデータが入力さ
れたときに第3制御コ−ドを送出して圧縮モードを切り
替える切替手段18と、を有する第1圧縮部20と、入
力データと検索データとが最大長で一致するまで1文字
単位またはビット単位でデータ圧縮用テーブル22を検
索する検索手段24と、一致した最大長の検索データと
対応した圧縮符号語を入力データ列にかえて送出する送
出手段26と、不一致とされた入力データ長の内容の検
索データ及び対応する圧縮符号語をデータ圧縮用テーブ
ル22に生成する生成手段28と、最小可変ビット数で
表現される圧縮符号語がビット表現できる最大数を超え
たときにデータ圧縮用テーブル(22)を更新する更新
手段30、を備えた第2圧縮部(32)とを有する。
に、請求項1記載のデータ圧縮装置は図1のように構成
されている。すなわち、順次入力されるひらがなまたは
記号を示す2バイトデータの第1バイトを圧縮モードが
切り替わるまで省略して送出し、漢字を示す2バイトデ
ータをそのまま送出する第1圧縮モード10と、順次入
力される片かなまたは記号を示す2バイトデータの第1
バイトを圧縮モードが切り替わるまで省略して送出し、
漢字を示す2バイトデータをそのまま送出する第2圧縮
モード12と、漢字を示す2バイトデータまたは1バイ
トデータが入力されたときに2バイトデータまたは1バ
イトデータのまま送出する第3圧縮モード14と、を備
えた圧縮手段16と、ひらがなまたは記号を示す2バイ
トデータが入力されたときに第1制御コ−ドを送出し、
片かなまたは記号を示す2バイトデータが入力されたと
きに第2制御コ−ドを送出し、1バイトデータが入力さ
れたときに第3制御コ−ドを送出して圧縮モードを切り
替える切替手段18と、を有する第1圧縮部20と、入
力データと検索データとが最大長で一致するまで1文字
単位またはビット単位でデータ圧縮用テーブル22を検
索する検索手段24と、一致した最大長の検索データと
対応した圧縮符号語を入力データ列にかえて送出する送
出手段26と、不一致とされた入力データ長の内容の検
索データ及び対応する圧縮符号語をデータ圧縮用テーブ
ル22に生成する生成手段28と、最小可変ビット数で
表現される圧縮符号語がビット表現できる最大数を超え
たときにデータ圧縮用テーブル(22)を更新する更新
手段30、を備えた第2圧縮部(32)とを有する。
【0006】
【作用】本発明では、第1圧縮部20で記号を示す2バ
イトデータを複数の圧縮モードで圧縮することができる
ので、ひらがなまたは片かなの圧縮モードのときに、記
号が入力されても制御コードが送出されることがない。
また、漢字を示す2バイトデータも圧縮モードに関係な
くそのまま送出されるので、漢字が入力されたことに対
する制御コードを省略できる。さらに本発明では、第2
圧縮部32で入力データと検索データとが最大長で一致
するまで1文字単位またはビット単位でデータ圧縮用テ
ーブルを検索され、不一致とされた入力データ長の内容
の検索データ及びそれに対応する圧縮符号語がデータ圧
縮用テーブルに生成されるので、あらかじめ固定のデー
タ圧縮用テーブル22を用意する必要がない。また、圧
縮符号語を最小可変ビットで表現させ、その最小可変ビ
ットで表現できる最大数を超えたときにデータ圧縮用テ
ーブル22が更新されるので、不必要な圧縮符号語にま
でメモリをあらかじめ割り当てる必要がなく、このた
め、メモリを有効に利用することができる。
イトデータを複数の圧縮モードで圧縮することができる
ので、ひらがなまたは片かなの圧縮モードのときに、記
号が入力されても制御コードが送出されることがない。
また、漢字を示す2バイトデータも圧縮モードに関係な
くそのまま送出されるので、漢字が入力されたことに対
する制御コードを省略できる。さらに本発明では、第2
圧縮部32で入力データと検索データとが最大長で一致
するまで1文字単位またはビット単位でデータ圧縮用テ
ーブルを検索され、不一致とされた入力データ長の内容
の検索データ及びそれに対応する圧縮符号語がデータ圧
縮用テーブルに生成されるので、あらかじめ固定のデー
タ圧縮用テーブル22を用意する必要がない。また、圧
縮符号語を最小可変ビットで表現させ、その最小可変ビ
ットで表現できる最大数を超えたときにデータ圧縮用テ
ーブル22が更新されるので、不必要な圧縮符号語にま
でメモリをあらかじめ割り当てる必要がなく、このた
め、メモリを有効に利用することができる。
【0007】
【実施例】以下、図に基づいて本発明にかかる装置の好
適な実施例について説明する。図1にはデータ圧縮装置
が示されており、データ圧縮装置には第1圧縮部20と
第2圧縮部32と設けられている。図2には第1圧縮部
20が示されており、第1圧縮部20には入力部40、
モード切替部42、圧縮部44、出力部46が設けられ
ている。
適な実施例について説明する。図1にはデータ圧縮装置
が示されており、データ圧縮装置には第1圧縮部20と
第2圧縮部32と設けられている。図2には第1圧縮部
20が示されており、第1圧縮部20には入力部40、
モード切替部42、圧縮部44、出力部46が設けられ
ている。
【0008】圧縮部44には、順次入力されるひらがな
または記号を示す2バイトデータの第1バイトを圧縮モ
ードが切り替わるまで省略して送出し、漢字を示す2バ
イトデータをそのまま送出する第1圧縮モード48と、
順次入力される片かなまたは記号を示す2バイトデータ
の第1バイトを圧縮モードが切り替わるまで省略して送
出し、漢字を示す2バイトデータをそのまま送出する第
2圧縮モード50と、漢字を示す2バイトデータまたは
1バイトデータが入力されたときに2バイトデータまた
は1バイトデータのまま送出する第3圧縮モード52と
を有しており、文字種に応じて選択実行される。
または記号を示す2バイトデータの第1バイトを圧縮モ
ードが切り替わるまで省略して送出し、漢字を示す2バ
イトデータをそのまま送出する第1圧縮モード48と、
順次入力される片かなまたは記号を示す2バイトデータ
の第1バイトを圧縮モードが切り替わるまで省略して送
出し、漢字を示す2バイトデータをそのまま送出する第
2圧縮モード50と、漢字を示す2バイトデータまたは
1バイトデータが入力されたときに2バイトデータまた
は1バイトデータのまま送出する第3圧縮モード52と
を有しており、文字種に応じて選択実行される。
【0009】そして、これらの第1圧縮モード48、第
2圧縮モード50、第3圧縮モード52は、ひらがな、
漢字等の文字種毎がコード領域に区分されている入力デ
ータに応じてモード切替部42により切り替えられる。
2圧縮モード50、第3圧縮モード52は、ひらがな、
漢字等の文字種毎がコード領域に区分されている入力デ
ータに応じてモード切替部42により切り替えられる。
【0010】例えば、図3で示される日本語漢字シフト
JISのコード体系のように、ひらがな(829F〜8
2F1)、片かな(8341〜8393)、記号(81
40〜817F)毎にコード領域が各々設定されてお
り、これらの設定領域に基づいて、ひらがなまたは記号
を示す2バイトデータが入力されたときに第1制御コ−
ド0F(16進)が、そして片かなまたは記号を示す2
バイトデータが入力されたときに第2制御コ−ド13
(16進)が、さらに1バイトデータが入力されたとき
は第3制御コ−ドがモード切替部42から圧縮部44へ
送出され、圧縮部44ではこれらの制御コ−ドによりに
第1圧縮モード48、第2圧縮モード50、第3圧縮モ
ード52が切り替えられる。
JISのコード体系のように、ひらがな(829F〜8
2F1)、片かな(8341〜8393)、記号(81
40〜817F)毎にコード領域が各々設定されてお
り、これらの設定領域に基づいて、ひらがなまたは記号
を示す2バイトデータが入力されたときに第1制御コ−
ド0F(16進)が、そして片かなまたは記号を示す2
バイトデータが入力されたときに第2制御コ−ド13
(16進)が、さらに1バイトデータが入力されたとき
は第3制御コ−ドがモード切替部42から圧縮部44へ
送出され、圧縮部44ではこれらの制御コ−ドによりに
第1圧縮モード48、第2圧縮モード50、第3圧縮モ
ード52が切り替えられる。
【0011】図4ではデータ圧縮装置のデータ圧縮作用
が説明されており、まず、第1圧縮部20の入力部40
を介してモード切替部42にひらがな、漢字等の入力デ
ータの先頭の1バイトが与えられ(ステップ401)、
この1バイトが日本語シフトJISコード体系で設定さ
れている2バイト表現データの第1バイトを示すデータ
か否かが判断される(ステップ403)。
が説明されており、まず、第1圧縮部20の入力部40
を介してモード切替部42にひらがな、漢字等の入力デ
ータの先頭の1バイトが与えられ(ステップ401)、
この1バイトが日本語シフトJISコード体系で設定さ
れている2バイト表現データの第1バイトを示すデータ
か否かが判断される(ステップ403)。
【0012】入力された1バイトデータが日本語シフト
JISコード体系で設定された2バイトデータの第1バ
イトを示す場合(ステップ403でYES)、さらにも
う1バイト読み込まれる(ステップ405)。そして、
読み込まれた2バイトはひらがなを示すデータであるか
否かが設定されているコード領域に従ってモード切替部
42で判断される(ステップ407)。ひらがなを示す
データであった場合で(ステップ407でYES)、現
在の圧縮モードが第1圧縮モード48以外のときには、
モード切替部42から第1制御コ−ド0F(16進)が
圧縮部44に送出され、圧縮部44の圧縮モードが第1
圧縮モード48に切り替えられる。さらに、圧縮部44
ではひらがなを示す入力データの第1バイトが省略さ
れ、第1制御コ−ド0F(16進)と第2バイト−7E
(16進)のデータとが出力される(ステップ40
9)。また、現在の圧縮モードが第1圧縮モード48の
ときには第2バイト−7E(16進)のみが出力される
(ステップ409)。なお、現在の圧縮モードが第1圧
縮モード48のときには、圧縮部44では入力データの
第1バイトが省略され、第2バイト−7E(16進)の
データのみが出力される(ステップ409)。
JISコード体系で設定された2バイトデータの第1バ
イトを示す場合(ステップ403でYES)、さらにも
う1バイト読み込まれる(ステップ405)。そして、
読み込まれた2バイトはひらがなを示すデータであるか
否かが設定されているコード領域に従ってモード切替部
42で判断される(ステップ407)。ひらがなを示す
データであった場合で(ステップ407でYES)、現
在の圧縮モードが第1圧縮モード48以外のときには、
モード切替部42から第1制御コ−ド0F(16進)が
圧縮部44に送出され、圧縮部44の圧縮モードが第1
圧縮モード48に切り替えられる。さらに、圧縮部44
ではひらがなを示す入力データの第1バイトが省略さ
れ、第1制御コ−ド0F(16進)と第2バイト−7E
(16進)のデータとが出力される(ステップ40
9)。また、現在の圧縮モードが第1圧縮モード48の
ときには第2バイト−7E(16進)のみが出力される
(ステップ409)。なお、現在の圧縮モードが第1圧
縮モード48のときには、圧縮部44では入力データの
第1バイトが省略され、第2バイト−7E(16進)の
データのみが出力される(ステップ409)。
【0013】読み込まれた2バイトがひらがなではない
場合(ステップ407でNO)、そのデータが片かなを
示すデータであるか否かが設定されているコード領域に
従ってモード切替部42で判断される(ステップ41
1)。そして、片かなを示すデータであった場合で(ス
テップ411でYES)、現在の圧縮モードが第2圧縮
モード50以外のときには、モード切替部42から第2
制御コ−ド13(16進)が圧縮部44に送出され、圧
縮部44の圧縮モードが切り替えられる。さらに、圧縮
部44で入力データの第1バイトが省略され、第2制御
コ−ド13(16進)と第2バイト−20(16進)の
データとが出力される(ステップ413)。また、第2
圧縮モード50のときには第2バイト−20(16進)
のデータのみが出力される(ステップ413)。現在の
圧縮モードが第2圧縮モード50のときには、圧縮部4
4で入力データの第1バイトが省略され、第2バイト−
20(16進)のみが出力される(ステップ413)。
場合(ステップ407でNO)、そのデータが片かなを
示すデータであるか否かが設定されているコード領域に
従ってモード切替部42で判断される(ステップ41
1)。そして、片かなを示すデータであった場合で(ス
テップ411でYES)、現在の圧縮モードが第2圧縮
モード50以外のときには、モード切替部42から第2
制御コ−ド13(16進)が圧縮部44に送出され、圧
縮部44の圧縮モードが切り替えられる。さらに、圧縮
部44で入力データの第1バイトが省略され、第2制御
コ−ド13(16進)と第2バイト−20(16進)の
データとが出力される(ステップ413)。また、第2
圧縮モード50のときには第2バイト−20(16進)
のデータのみが出力される(ステップ413)。現在の
圧縮モードが第2圧縮モード50のときには、圧縮部4
4で入力データの第1バイトが省略され、第2バイト−
20(16進)のみが出力される(ステップ413)。
【0014】入力された2バイトがひらがな及び片かな
ではない場合(ステップ407でNO、ステップ411
でNO)、その入力データは記号を示すデータであるか
否かが判断され(ステップ415)、記号を示すデータ
である場合で(ステップ415でYES)、第1圧縮モ
ード48または第2圧縮モード50のときには、その第
1バイトが省略されて第2バイト−60(16進)のデ
ータのみが出力される(ステップ417)。現在の圧縮
モードが第1圧縮モード48及び第2圧縮モード50以
外のときには、モード切替部42から第1制御コ−ド0
F(16進)が送出されて圧縮部44の圧縮モードが第
1圧縮モード48に切り替えられ、第1制御コ−ド0F
(16進)と第2バイト−60(16進)のデータが出
力される(ステップ417)。
ではない場合(ステップ407でNO、ステップ411
でNO)、その入力データは記号を示すデータであるか
否かが判断され(ステップ415)、記号を示すデータ
である場合で(ステップ415でYES)、第1圧縮モ
ード48または第2圧縮モード50のときには、その第
1バイトが省略されて第2バイト−60(16進)のデ
ータのみが出力される(ステップ417)。現在の圧縮
モードが第1圧縮モード48及び第2圧縮モード50以
外のときには、モード切替部42から第1制御コ−ド0
F(16進)が送出されて圧縮部44の圧縮モードが第
1圧縮モード48に切り替えられ、第1制御コ−ド0F
(16進)と第2バイト−60(16進)のデータが出
力される(ステップ417)。
【0015】入力された2バイトがひらがな、片かな及
び記号ではない場合(ステップ407でNO、ステップ
411でNO、ステップ415でNO)、その入力デー
タは他の2バイト系の文字(例えば漢字)なので、現在
の圧縮モードと関係なく2バイトがそのまま出力される
(ステップ419)。なお、現在の圧縮モードが第1圧
縮モード48及び第2圧縮モード50のときには、モー
ド切替部42から第3制御コ−ド0E(16進)が送出
されて圧縮部44の圧縮モードが第3圧縮モードに切り
替えられる(ステップ419)。
び記号ではない場合(ステップ407でNO、ステップ
411でNO、ステップ415でNO)、その入力デー
タは他の2バイト系の文字(例えば漢字)なので、現在
の圧縮モードと関係なく2バイトがそのまま出力される
(ステップ419)。なお、現在の圧縮モードが第1圧
縮モード48及び第2圧縮モード50のときには、モー
ド切替部42から第3制御コ−ド0E(16進)が送出
されて圧縮部44の圧縮モードが第3圧縮モードに切り
替えられる(ステップ419)。
【0016】入力部40を介してモード切替部42に与
えられた1バイトが(ステップ401)、日本語シフト
JISコード体系で設定されている1バイト系のデータ
であると判断されると(ステップ403でNO)、その
1バイトが第1制御コード0F(16進)または第2制
御コード13(16進)と同一であるか否かが判断され
る(ステップ421)。このコードが第1制御コード0
F(16進)または第2制御コード13(16進)の場
合で(ステップ421でYES)、現在の圧縮モードが
第1圧縮モード48及び第2圧縮モード50のときに
は、モード切替部42から第3制御コ−ド0E(16
進)が圧縮部44に出力され、第3圧縮モード52に切
り替えられる。そして、同じ第3制御コード0E(16
進)が連続して2バイト分出力される(ステップ44
4)。これにより、圧縮モード切替データとしての第1
制御コ−ド0F(16進)及び第2制御コ−ド13(1
6進)と通常の1バイト文字データとしての0F(16
進)及び13(16進)とが区別される。
えられた1バイトが(ステップ401)、日本語シフト
JISコード体系で設定されている1バイト系のデータ
であると判断されると(ステップ403でNO)、その
1バイトが第1制御コード0F(16進)または第2制
御コード13(16進)と同一であるか否かが判断され
る(ステップ421)。このコードが第1制御コード0
F(16進)または第2制御コード13(16進)の場
合で(ステップ421でYES)、現在の圧縮モードが
第1圧縮モード48及び第2圧縮モード50のときに
は、モード切替部42から第3制御コ−ド0E(16
進)が圧縮部44に出力され、第3圧縮モード52に切
り替えられる。そして、同じ第3制御コード0E(16
進)が連続して2バイト分出力される(ステップ44
4)。これにより、圧縮モード切替データとしての第1
制御コ−ド0F(16進)及び第2制御コ−ド13(1
6進)と通常の1バイト文字データとしての0F(16
進)及び13(16進)とが区別される。
【0017】また、与えられた1バイトが第1制御コー
ド0F(16進)または第2制御コード13(16進)
と同一でない場合(ステップ421でNO)、他の1バ
イト系の制御コ−ドであるか否かが判断され(ステップ
425)、他の制御コ−ド20(16進)以下であると
判断されると(ステップ425でYES)、データ圧縮
されないので、その1バイトはそのまま出力される(ス
テップ411)。
ド0F(16進)または第2制御コード13(16進)
と同一でない場合(ステップ421でNO)、他の1バ
イト系の制御コ−ドであるか否かが判断され(ステップ
425)、他の制御コ−ド20(16進)以下であると
判断されると(ステップ425でYES)、データ圧縮
されないので、その1バイトはそのまま出力される(ス
テップ411)。
【0018】さらに、与えらえた1バイトが第1制御コ
ード0F(16進)または第2制御コード13(16
進)と同一でない場合で(ステップ421でNO)、他
の1バイト系の制御コードでないとき(ステップ425
でNO)、データは一般の1バイト文字なので、第1圧
縮モード48または第2圧縮モード50であれば第3制
御コ−ド0E(16進)がモード切替部42から圧縮部
44に与えられ、第3圧縮モード50に切り替えられる
と共に、与えられた1バイトはそのまま出力される(ス
テップ429)。
ード0F(16進)または第2制御コード13(16
進)と同一でない場合で(ステップ421でNO)、他
の1バイト系の制御コードでないとき(ステップ425
でNO)、データは一般の1バイト文字なので、第1圧
縮モード48または第2圧縮モード50であれば第3制
御コ−ド0E(16進)がモード切替部42から圧縮部
44に与えられ、第3圧縮モード50に切り替えられる
と共に、与えられた1バイトはそのまま出力される(ス
テップ429)。
【0019】なお、これらのデータ圧縮は入力データの
先頭の1バイトが受け取られなくなるまで、繰り返し行
われる。また、ここでは、与えられた第2バイトが各圧
縮モードで、ひらがな等のデータをを21(16進)か
ら73(16進)までに整えており、これにより、他の
コード設定領域をより有効に利用することが可能とな
る。
先頭の1バイトが受け取られなくなるまで、繰り返し行
われる。また、ここでは、与えられた第2バイトが各圧
縮モードで、ひらがな等のデータをを21(16進)か
ら73(16進)までに整えており、これにより、他の
コード設定領域をより有効に利用することが可能とな
る。
【0020】図5では実施例による日本語文章のデータ
圧縮例が示されており、図5(A)の『この「アルゴリ
ズム」は日本語のテキストに対し、かなりのデータ圧縮
を行う。』という全体で72バイトある文章が、図5
(B)のように50バイトまで圧縮される。
圧縮例が示されており、図5(A)の『この「アルゴリ
ズム」は日本語のテキストに対し、かなりのデータ圧縮
を行う。』という全体で72バイトある文章が、図5
(B)のように50バイトまで圧縮される。
【0021】図6は第1圧縮部20(図2参照)で圧縮
されたデータを伸長復元するデータ伸長装置70の概略
構成図である。図6において、データ伸長装置70は入
力部72、モード切替部74、伸長部76、出力部84
を備えており、伸長部76は第1圧縮部20の第1圧縮
モード48に対応した第1伸長モード78、第2圧縮モ
ード50に対応した第2伸長モード80、第3圧縮モー
ド52に対応した第3伸張モード82を選択実行できる
ものとなっている。
されたデータを伸長復元するデータ伸長装置70の概略
構成図である。図6において、データ伸長装置70は入
力部72、モード切替部74、伸長部76、出力部84
を備えており、伸長部76は第1圧縮部20の第1圧縮
モード48に対応した第1伸長モード78、第2圧縮モ
ード50に対応した第2伸長モード80、第3圧縮モー
ド52に対応した第3伸張モード82を選択実行できる
ものとなっている。
【0022】図7ではデータ伸長作用が説明されてお
り、与えられた圧縮データのうち先頭の1バイトがモー
ド切替部74で受け取られ(ステップ601)、この1
バイトが第1制御コ−ド0F(16進)であるか否かが
判断される(ステップ603)。そして、この1バイト
が第1制御コ−ド0F(16進)であると判断されると
(ステップ603でYES)、現在の伸長モードが第1
伸長モード78以外のモードの場合、第1伸長モード7
8に切替え、第1伸長モードである場合にはモード切替
部74は第1バイトを制御コ−ド0F(16進)として
出力部84に出力し、第3伸長モード82に切り替える
(ステップ605)。
り、与えられた圧縮データのうち先頭の1バイトがモー
ド切替部74で受け取られ(ステップ601)、この1
バイトが第1制御コ−ド0F(16進)であるか否かが
判断される(ステップ603)。そして、この1バイト
が第1制御コ−ド0F(16進)であると判断されると
(ステップ603でYES)、現在の伸長モードが第1
伸長モード78以外のモードの場合、第1伸長モード7
8に切替え、第1伸長モードである場合にはモード切替
部74は第1バイトを制御コ−ド0F(16進)として
出力部84に出力し、第3伸長モード82に切り替える
(ステップ605)。
【0023】また、入力データの先頭1バイトが第1制
御コ−ド0F(16進)でないと判断されると(ステッ
プ603でNO)、その1バイトが第2制御コ−ド13
(16進)であるか否かが判断される(ステップ60
7)。そして、第2制御コ−ド13(16進)であると
判断されると(ステップ607でYES)、現在の伸長
モードが第2伸長モード80以外のモードの場合、第2
伸長モード80に切替えられ、第2伸長モードである場
合には、モード切替部74はその第1バイトを制御コ−
ド13(16進)として出力部84に出力し、第3伸長
モード82にモードに切り替える(ステップ609)。
御コ−ド0F(16進)でないと判断されると(ステッ
プ603でNO)、その1バイトが第2制御コ−ド13
(16進)であるか否かが判断される(ステップ60
7)。そして、第2制御コ−ド13(16進)であると
判断されると(ステップ607でYES)、現在の伸長
モードが第2伸長モード80以外のモードの場合、第2
伸長モード80に切替えられ、第2伸長モードである場
合には、モード切替部74はその第1バイトを制御コ−
ド13(16進)として出力部84に出力し、第3伸長
モード82にモードに切り替える(ステップ609)。
【0024】また、1バイトが第2制御コ−ド13(1
6進)でないことが判断されると(ステップ607でN
O)、その1バイトが第3制御コ−ド0E(16進)で
あるか否かが判断される(ステップ607)。この1バ
イトが第3制御データ0E(16進)であると判断され
ると(ステップ611でYES)、現在の伸長モードが
第3伸長モード82以外の場合、第3伸長モード82に
切替えられ、第3伸長モード82である場合には第1バ
イトを出力部84に出力される(ステップ613)。
6進)でないことが判断されると(ステップ607でN
O)、その1バイトが第3制御コ−ド0E(16進)で
あるか否かが判断される(ステップ607)。この1バ
イトが第3制御データ0E(16進)であると判断され
ると(ステップ611でYES)、現在の伸長モードが
第3伸長モード82以外の場合、第3伸長モード82に
切替えられ、第3伸長モード82である場合には第1バ
イトを出力部84に出力される(ステップ613)。
【0025】入力された1バイトが第1制御コ−ド0F
(16進)、第2制御コ−ド13(16進)、第3制御
コ−ド0E(16進)のいづれでもでない場合(ステッ
プ611でNO)、現在の伸長モードが第1伸長モード
78であるか否かが判断され(ステップ615)、第1
伸長モード78である場合で(ステップ615でYE
S)、第1バイトがひらがなのときには、日本語シフト
JISコード体系のひらがな第1バイトに相当する82
(16進)と第2バイト+7E(16進)を出力し、第
1バイトが記号のときには、日本語シフトJISコード
体系の記号第1バイトに相当する81(16進)と第1
バイト−60(16進)を出力し、さらに第1バイトが
ひらがな及び記号以外のときには、そのまま第1バイト
が出力される(ステップ617)。
(16進)、第2制御コ−ド13(16進)、第3制御
コ−ド0E(16進)のいづれでもでない場合(ステッ
プ611でNO)、現在の伸長モードが第1伸長モード
78であるか否かが判断され(ステップ615)、第1
伸長モード78である場合で(ステップ615でYE
S)、第1バイトがひらがなのときには、日本語シフト
JISコード体系のひらがな第1バイトに相当する82
(16進)と第2バイト+7E(16進)を出力し、第
1バイトが記号のときには、日本語シフトJISコード
体系の記号第1バイトに相当する81(16進)と第1
バイト−60(16進)を出力し、さらに第1バイトが
ひらがな及び記号以外のときには、そのまま第1バイト
が出力される(ステップ617)。
【0026】また、現在の伸長モードが第1伸長モード
78でない場合(ステップ615でNO)、現在の伸長
モードが第2伸長モード80であるか否かが判断される
(ステップ619)。そして、第2伸長モード80であ
る場合で(ステップ619でYES)、第1バイトが片
かなのときには、日本語シフトJISコード体系の片か
な第1バイトである83(16進)と第2バイト+20
(16進)を出力し、第1バイトが記号のときには、日
本語シフトJISコード体系の記号第1バイトである8
1(16進)と第2バイト−60(16進)を出力し、
さらに第1バイトが片かな及び記号以外のときには、そ
のまま第1バイトが出力される(ステップ621)。
78でない場合(ステップ615でNO)、現在の伸長
モードが第2伸長モード80であるか否かが判断される
(ステップ619)。そして、第2伸長モード80であ
る場合で(ステップ619でYES)、第1バイトが片
かなのときには、日本語シフトJISコード体系の片か
な第1バイトである83(16進)と第2バイト+20
(16進)を出力し、第1バイトが記号のときには、日
本語シフトJISコード体系の記号第1バイトである8
1(16進)と第2バイト−60(16進)を出力し、
さらに第1バイトが片かな及び記号以外のときには、そ
のまま第1バイトが出力される(ステップ621)。
【0027】現在の伸長モードが第1伸長モード78及
び第2伸長モード80でない場合(ステップ619でN
O)、そのまま第1バイトが出力される(ステップ62
1)。このように、前述したデータ圧縮と逆の作用によ
りデータの伸長を行うことができる。
び第2伸長モード80でない場合(ステップ619でN
O)、そのまま第1バイトが出力される(ステップ62
1)。このように、前述したデータ圧縮と逆の作用によ
りデータの伸長を行うことができる。
【0028】図8には第2圧縮部32が示されており、
第2圧縮部32には入力部55、検索部56、メモリ5
8、出力部60が設けられている。メモリ58には、デ
ータ圧縮用テーブル22が図9のように展開され、デー
タ圧縮用テーブル22には検索データ62−1,62−
2,・・・,62−nとそれに対応する圧縮符号語64
−1,64−2,・・・,64−nが格納されている。
各検索データ62−1,62−2,・・・,62−nは
図10に示されるように、1文字分または1ビット分の
キャラクタデータ(キャラクタ部)と、自己のキャラク
タデータと同位のキャラクタデータのアドレスを示す第
1ポインタと、自己の直近下位のキャラクタデータのア
ドレスを示す第2ポインタとを格納しており、入力デー
タに応じて各検索データはリスト構造で生成される。
第2圧縮部32には入力部55、検索部56、メモリ5
8、出力部60が設けられている。メモリ58には、デ
ータ圧縮用テーブル22が図9のように展開され、デー
タ圧縮用テーブル22には検索データ62−1,62−
2,・・・,62−nとそれに対応する圧縮符号語64
−1,64−2,・・・,64−nが格納されている。
各検索データ62−1,62−2,・・・,62−nは
図10に示されるように、1文字分または1ビット分の
キャラクタデータ(キャラクタ部)と、自己のキャラク
タデータと同位のキャラクタデータのアドレスを示す第
1ポインタと、自己の直近下位のキャラクタデータのア
ドレスを示す第2ポインタとを格納しており、入力デー
タに応じて各検索データはリスト構造で生成される。
【0029】図11では第2圧縮部32によるデータ圧
縮作用が、図12ではデータ圧縮用テーブル22の生成
作用が各々説明されており、ここでは文字列ababc
bababaaが入力データの場合を例にとって説明す
る。
縮作用が、図12ではデータ圧縮用テーブル22の生成
作用が各々説明されており、ここでは文字列ababc
bababaaが入力データの場合を例にとって説明す
る。
【0030】まず、文字列先頭の1文字aが入力部55
を介して検索部56に読み込まれ(ステップ801)、
今回入力された1文字に対して新たな検索データを生成
するか否かが、ポインタの設定状況から判断される(ス
テップ803)。ここでは、最初の入力データであり、
全ての検索データにポインタが設定されていないので
(ステップ803でNO)、検索データは生成されな
い。そして、入力された文字aと一致する検索データを
データ圧縮用テーブル22から検索される(ステップ8
07)。なお、データ圧縮用テーブル22には図12
(A)のようにa、b、cの文字を要素とする各検索デ
ータ62−1,62−2,62−3が初期設定されてい
る。
を介して検索部56に読み込まれ(ステップ801)、
今回入力された1文字に対して新たな検索データを生成
するか否かが、ポインタの設定状況から判断される(ス
テップ803)。ここでは、最初の入力データであり、
全ての検索データにポインタが設定されていないので
(ステップ803でNO)、検索データは生成されな
い。そして、入力された文字aと一致する検索データを
データ圧縮用テーブル22から検索される(ステップ8
07)。なお、データ圧縮用テーブル22には図12
(A)のようにa、b、cの文字を要素とする各検索デ
ータ62−1,62−2,62−3が初期設定されてい
る。
【0031】次に、入力データである文字aと検索デー
タ62−1が一致するので(ステップ809でYE
S)、aに続く文字があることを示す検索データ62−
1の第2ポインタにアドレスが示されているか否かが判
断される(ステップ811)が、データ圧縮用テーブル
22は初期設定のままなので、第2ポインタはまだ設定
されていないと判断される(ステップ811でNO)。
この場合、検索データ62−1が入力データaと最大長
一致なので、検索データ62−1の圧縮符号語”1”が
検索部56から出力部60へ送出され(ステップ82
3)、検索データ62−1の第2ポインタに次の入力文
字を検索データ62−1の下位データとして生成される
検索データ62−4が図12(B)のようにセットされ
る(ステップ823)。
タ62−1が一致するので(ステップ809でYE
S)、aに続く文字があることを示す検索データ62−
1の第2ポインタにアドレスが示されているか否かが判
断される(ステップ811)が、データ圧縮用テーブル
22は初期設定のままなので、第2ポインタはまだ設定
されていないと判断される(ステップ811でNO)。
この場合、検索データ62−1が入力データaと最大長
一致なので、検索データ62−1の圧縮符号語”1”が
検索部56から出力部60へ送出され(ステップ82
3)、検索データ62−1の第2ポインタに次の入力文
字を検索データ62−1の下位データとして生成される
検索データ62−4が図12(B)のようにセットされ
る(ステップ823)。
【0032】さらに、今回の入力データが最終入力デー
タか否かが判断され(ステップ825)、ここでは入力
が続くので2番目の文字データである文字bが読み込ま
れる(ステップ801)。2番目の文字データbが読み
込まれると、前回の検索用データ62−1の第2ポイン
タに検索データ62−4を示すアドレスがセットされて
いるので(ステップ803でYES)、検索データ62
−4のキャラクタ部にbが設定され、新たに検索データ
62−4が生成される(ステップ805)。
タか否かが判断され(ステップ825)、ここでは入力
が続くので2番目の文字データである文字bが読み込ま
れる(ステップ801)。2番目の文字データbが読み
込まれると、前回の検索用データ62−1の第2ポイン
タに検索データ62−4を示すアドレスがセットされて
いるので(ステップ803でYES)、検索データ62
−4のキャラクタ部にbが設定され、新たに検索データ
62−4が生成される(ステップ805)。
【0033】そして、再びデータ圧縮用テーブル22が
検索され(ステップ807)、入力データbと一致する
検索データの検索が行われ(ステップ809)、ここで
は、検索データ62−2が一致する。検索データ62−
2には第2ポインタがまだ設定されていないので、上記
最初の文字入力a時と同様の処理が繰り返され、検索デ
ータ62−2の圧縮符号語”2”が検索部56から出力
部60へ送出され(ステップ821)、検索データ62
−2の第2ポインタには検索データ62−2の下位デー
タとして生成される検索データ62−5のアドレスが図
12(C)のように設定される(ステップ823)。
検索され(ステップ807)、入力データbと一致する
検索データの検索が行われ(ステップ809)、ここで
は、検索データ62−2が一致する。検索データ62−
2には第2ポインタがまだ設定されていないので、上記
最初の文字入力a時と同様の処理が繰り返され、検索デ
ータ62−2の圧縮符号語”2”が検索部56から出力
部60へ送出され(ステップ821)、検索データ62
−2の第2ポインタには検索データ62−2の下位デー
タとして生成される検索データ62−5のアドレスが図
12(C)のように設定される(ステップ823)。
【0034】次に、3番目の文字aが読み込まれ(ステ
ップ801)、前回生成された検索データ62−5が生
成され、検索データ62−5のキャラクタ部にaがセッ
トされる(ステップ805)。さらに、データ圧縮用テ
ーブル22が検索され(ステップ807)、一致する検
索データ62−1が得られると(ステップ809でYE
S)、この検索データ62−1の第2ポインタにアドレ
スがセットされているか否かが判断される(ステップ8
11)。ここでは、検索データ62−1の第2ポインタ
には検索データ62−4のアドレスを示すデータがセッ
トされているので(ステップ811でYES)、4番目
の文字bが読み込まれる(ステップ813)。
ップ801)、前回生成された検索データ62−5が生
成され、検索データ62−5のキャラクタ部にaがセッ
トされる(ステップ805)。さらに、データ圧縮用テ
ーブル22が検索され(ステップ807)、一致する検
索データ62−1が得られると(ステップ809でYE
S)、この検索データ62−1の第2ポインタにアドレ
スがセットされているか否かが判断される(ステップ8
11)。ここでは、検索データ62−1の第2ポインタ
には検索データ62−4のアドレスを示すデータがセッ
トされているので(ステップ811でYES)、4番目
の文字bが読み込まれる(ステップ813)。
【0035】そして、読み込まれた文字データbが検索
データ62−4と一致するか否かが判断され(ステップ
815)、検索データ62−4のキャラクタ部と文字デ
ータbとが一致するので(ステップ815でYES)、
検索データ62−4に第2ポインタがセットされている
か否かが判断される(ステップ811)。検索データ6
2−4には第2ポインタがセットされていないので(ス
テップ811でNO)、文字abの連続を示す検索デー
タ62−4の圧縮符号語4が出力され(ステップ82
1)、検索データ62−4の第2ポインタにデータ62
−6のアドレスが図12(D)のようにセットされる
(ステップ823)。
データ62−4と一致するか否かが判断され(ステップ
815)、検索データ62−4のキャラクタ部と文字デ
ータbとが一致するので(ステップ815でYES)、
検索データ62−4に第2ポインタがセットされている
か否かが判断される(ステップ811)。検索データ6
2−4には第2ポインタがセットされていないので(ス
テップ811でNO)、文字abの連続を示す検索デー
タ62−4の圧縮符号語4が出力され(ステップ82
1)、検索データ62−4の第2ポインタにデータ62
−6のアドレスが図12(D)のようにセットされる
(ステップ823)。
【0036】さらに、5番目の文字cが読み込まれ(ス
テップ801)、この入力データにより検索データ62
−6が生成され、検索データ62−6のキャラクタ部に
文字cがセットされる(ステップ805)。さらに、デ
ータ圧縮用テーブル22が検索され(ステップ80
7)、一致する検索データ62−3が得られると(ステ
ップ809でYES)、この検索データ62−3の第2
ポインタにアドレスがセットされているか否かが判断さ
れる(ステップ811)。
テップ801)、この入力データにより検索データ62
−6が生成され、検索データ62−6のキャラクタ部に
文字cがセットされる(ステップ805)。さらに、デ
ータ圧縮用テーブル22が検索され(ステップ80
7)、一致する検索データ62−3が得られると(ステ
ップ809でYES)、この検索データ62−3の第2
ポインタにアドレスがセットされているか否かが判断さ
れる(ステップ811)。
【0037】ここでは、検索データ62−3の第2ポイ
ンタには下位の検索データのアドレスを示すデータがセ
ットされていないので(ステップ811でNO)、文字
cを示す検索データ62−3の圧縮符号語3が出力され
(ステップ821)、検索データ62−3の第2ポイン
タに検索データ62−7のアドレスが図12(E)のよ
うにセットされる(ステップ823)。
ンタには下位の検索データのアドレスを示すデータがセ
ットされていないので(ステップ811でNO)、文字
cを示す検索データ62−3の圧縮符号語3が出力され
(ステップ821)、検索データ62−3の第2ポイン
タに検索データ62−7のアドレスが図12(E)のよ
うにセットされる(ステップ823)。
【0038】6番目の文字bが読み込まれると(ステッ
プ801)、検索データ62−7のキャラクタ部に文字
bがセットされる(ステップ805)。そして、データ
圧縮用テーブル22が検索され(ステップ807)、一
致する検索データ62−2が得られると(ステップ80
9でYES)、この検索データ62−2の第2ポインタ
にアドレスがセットされているか否かが判断される(ス
テップ811)。ここでは、検索データ62−2の第2
ポインタには検索データ62−5のアドレスを示すデー
タがセットされているので(ステップ811でYE
S)、7番目の文字aが読み込まれる(ステップ81
3)。
プ801)、検索データ62−7のキャラクタ部に文字
bがセットされる(ステップ805)。そして、データ
圧縮用テーブル22が検索され(ステップ807)、一
致する検索データ62−2が得られると(ステップ80
9でYES)、この検索データ62−2の第2ポインタ
にアドレスがセットされているか否かが判断される(ス
テップ811)。ここでは、検索データ62−2の第2
ポインタには検索データ62−5のアドレスを示すデー
タがセットされているので(ステップ811でYE
S)、7番目の文字aが読み込まれる(ステップ81
3)。
【0039】さらに、読み込まれた文字aが検索データ
62−5と一致するか否かが判断され(ステップ81
5)検索データ62−5のキャラクタ部とが一致するの
で(ステップ815でYES)、検索データ62−5に
第2ポインタがセットされているか否かが判断される
(ステップ811)。検索データ62−5には第2ポイ
ンタがセットされていないので(ステップ811でN
O)、文字baの連続を示す検索データ62−5の圧縮
符号語5が出力され(ステップ821)、検索データ6
2−4の第2ポインタに検索データ62−8のアドレス
が図12(F)のようにセットされる(ステップ82
3)。
62−5と一致するか否かが判断され(ステップ81
5)検索データ62−5のキャラクタ部とが一致するの
で(ステップ815でYES)、検索データ62−5に
第2ポインタがセットされているか否かが判断される
(ステップ811)。検索データ62−5には第2ポイ
ンタがセットされていないので(ステップ811でN
O)、文字baの連続を示す検索データ62−5の圧縮
符号語5が出力され(ステップ821)、検索データ6
2−4の第2ポインタに検索データ62−8のアドレス
が図12(F)のようにセットされる(ステップ82
3)。
【0040】さらに、8番目の文字bが読み込まれると
(ステップ801)、検索データ62−8のキャラクタ
部に文字bがセットされる(ステップ805)。データ
圧縮用テーブル22が検索され(ステップ807)、一
致する検索データ62−2が得られると(ステップ80
9でYES)、この検索データ62−2の第2ポインタ
にアドレスがセットされているか否かが判断される(ス
テップ811)。ここでは、検索データ62−2の第2
ポインタには検索データ62−5のアドレスを示すデー
タがセットされているので(ステップ811でYE
S)、9番目の文字aが読み込まれる(ステップ81
3)。
(ステップ801)、検索データ62−8のキャラクタ
部に文字bがセットされる(ステップ805)。データ
圧縮用テーブル22が検索され(ステップ807)、一
致する検索データ62−2が得られると(ステップ80
9でYES)、この検索データ62−2の第2ポインタ
にアドレスがセットされているか否かが判断される(ス
テップ811)。ここでは、検索データ62−2の第2
ポインタには検索データ62−5のアドレスを示すデー
タがセットされているので(ステップ811でYE
S)、9番目の文字aが読み込まれる(ステップ81
3)。
【0041】そして、読み込まれた文字aが検索データ
62−5と一致するか否かが判断され(ステップ81
5)検索データ62−5のキャラクタ部とが一致するの
で(ステップ815でYES)、検索データ62−5に
第2ポインタがセットされているか否かが判断される
(ステップ811)。検索データ62−5には検索デー
タ62−8を示す第2ポインタがセットされているので
(ステップ811でYES)、さらに10番目の文字b
が読み込まれる(ステップ813)。
62−5と一致するか否かが判断され(ステップ81
5)検索データ62−5のキャラクタ部とが一致するの
で(ステップ815でYES)、検索データ62−5に
第2ポインタがセットされているか否かが判断される
(ステップ811)。検索データ62−5には検索デー
タ62−8を示す第2ポインタがセットされているので
(ステップ811でYES)、さらに10番目の文字b
が読み込まれる(ステップ813)。
【0042】そして、読み込まれた文字bが検索データ
62−8と一致するか否かが判断され(ステップ81
5)、検索データ62−5のキャラクタ部とが一致する
ので(ステップ815でYES)、検索データ62−8
に第2ポインタがセットされているか否かが判断される
(ステップ811)。検索データ62−8には第2ポイ
ンタがセットされていないので(ステップ811でN
O)連続文字babを示す検索データ62−8の圧縮符
号語8が出力され(ステップ821)、検索データ62
−8の第2ポインタに検索データ62−9のアドレスが
図12(G)のようにセットされる(ステップ82
3)。
62−8と一致するか否かが判断され(ステップ81
5)、検索データ62−5のキャラクタ部とが一致する
ので(ステップ815でYES)、検索データ62−8
に第2ポインタがセットされているか否かが判断される
(ステップ811)。検索データ62−8には第2ポイ
ンタがセットされていないので(ステップ811でN
O)連続文字babを示す検索データ62−8の圧縮符
号語8が出力され(ステップ821)、検索データ62
−8の第2ポインタに検索データ62−9のアドレスが
図12(G)のようにセットされる(ステップ82
3)。
【0043】さらに、11番目の文字aが読み込まれる
と(ステップ801)、検索データ62−9のキャラク
タ部に文字aがセットされる(ステップ805)。デー
タ圧縮用テーブル22が検索され(ステップ807)、
一致する検索データ62−1が得られると(ステップ8
09でYES)、この検索データ62−1の第2ポイン
タにアドレスがセットされているか否かが判断される
(ステップ811)。ここでは、検索データ62−1の
第2ポインタには検索データ62−4のアドレスを示す
データがセットされているので(ステップ811でYE
S)、12番目の文字aが読み込まれる(ステップ81
3)。
と(ステップ801)、検索データ62−9のキャラク
タ部に文字aがセットされる(ステップ805)。デー
タ圧縮用テーブル22が検索され(ステップ807)、
一致する検索データ62−1が得られると(ステップ8
09でYES)、この検索データ62−1の第2ポイン
タにアドレスがセットされているか否かが判断される
(ステップ811)。ここでは、検索データ62−1の
第2ポインタには検索データ62−4のアドレスを示す
データがセットされているので(ステップ811でYE
S)、12番目の文字aが読み込まれる(ステップ81
3)。
【0044】読み込まれた文字aが検索データ62−4
と一致するか否かが判断され(ステップ815)検索デ
ータ62−4のキャラクタ部bとは一致しないので(ス
テップ815でNO)、検索データ62−4の第1ポイ
ンタに自己と同位の異なる検索デ−タ62−10がある
ことを示すアドレスが図12(H)のように設定され
(ステップ811)、連続文字aaを示す検索データ6
2−10が生成される。したがって、次回連続した文字
aaが入力されたときには、検索データ62−4の第1
ポインタにより、連続文字aaを示す検索データ62−
10が検索できる。そして、ここでは検索データ62−
1の圧縮符号語”1”が出力され(ステップ821)、
次文字の入力がないので(ステップ825でYES)、
処理が終了する。
と一致するか否かが判断され(ステップ815)検索デ
ータ62−4のキャラクタ部bとは一致しないので(ス
テップ815でNO)、検索データ62−4の第1ポイ
ンタに自己と同位の異なる検索デ−タ62−10がある
ことを示すアドレスが図12(H)のように設定され
(ステップ811)、連続文字aaを示す検索データ6
2−10が生成される。したがって、次回連続した文字
aaが入力されたときには、検索データ62−4の第1
ポインタにより、連続文字aaを示す検索データ62−
10が検索できる。そして、ここでは検索データ62−
1の圧縮符号語”1”が出力され(ステップ821)、
次文字の入力がないので(ステップ825でYES)、
処理が終了する。
【0045】以上のように、第2圧縮部32では入力さ
れた文字の連続に対応して順次新たにデータ圧縮用テー
ブル22が更新される。
れた文字の連続に対応して順次新たにデータ圧縮用テー
ブル22が更新される。
【0046】図13ではデータ圧縮用テーブル22の圧
縮符号語の生成作用が説明されており、図13では圧縮
符号語がビット表現で示されている。8ビットで表現で
きる圧縮符号語は0から255の256個である(図1
3(A)参照)。このため、圧縮符号語256がデータ
圧縮用テーブル22に生成される場合には、図13
(B)のように圧縮符号語255と圧縮符号語256の
みを9ビット表現で表し、他の圧縮符号語0〜254は
8ビット表現で表される。さらに、圧縮符号語257が
データ圧縮用テーブル22に生成される場合には、図1
3(C)のように圧縮符号語254〜257のみを9ビ
ット表現で表し、他の圧縮符号語0〜253は8ビット
表現で表される。すなわち、圧縮符号語の最終ビットに
より次の圧縮符号語の有無が判断できるので、必要最小
限の数の圧縮符号語のみが最小可変ビット表現によりデ
ータ圧縮用テーブル22に登録される。
縮符号語の生成作用が説明されており、図13では圧縮
符号語がビット表現で示されている。8ビットで表現で
きる圧縮符号語は0から255の256個である(図1
3(A)参照)。このため、圧縮符号語256がデータ
圧縮用テーブル22に生成される場合には、図13
(B)のように圧縮符号語255と圧縮符号語256の
みを9ビット表現で表し、他の圧縮符号語0〜254は
8ビット表現で表される。さらに、圧縮符号語257が
データ圧縮用テーブル22に生成される場合には、図1
3(C)のように圧縮符号語254〜257のみを9ビ
ット表現で表し、他の圧縮符号語0〜253は8ビット
表現で表される。すなわち、圧縮符号語の最終ビットに
より次の圧縮符号語の有無が判断できるので、必要最小
限の数の圧縮符号語のみが最小可変ビット表現によりデ
ータ圧縮用テーブル22に登録される。
【0047】また、9ビットで表現できる圧縮符号語は
0〜511の512個であり(図13(D)参照)、こ
のため、圧縮符号語511がデータ圧縮用テーブル22
に生成された場合には、図7(E)及び図7(F)のよ
うに圧縮符号語0〜511は全て9ビット表現で表され
るように更新され、次の圧縮符号語512を生成すると
きには圧縮符号語511,512は10ビット表現で表
される。
0〜511の512個であり(図13(D)参照)、こ
のため、圧縮符号語511がデータ圧縮用テーブル22
に生成された場合には、図7(E)及び図7(F)のよ
うに圧縮符号語0〜511は全て9ビット表現で表され
るように更新され、次の圧縮符号語512を生成すると
きには圧縮符号語511,512は10ビット表現で表
される。
【0048】なお、図14では上記のデータ圧縮で圧縮
されたデータの伸長作用が説明されており、データを伸
長する場合には、圧縮符号語を圧縮と逆に自己と上位の
データを示すポインタがセットされ、このポインタで示
される最大長のデータが出力される。
されたデータの伸長作用が説明されており、データを伸
長する場合には、圧縮符号語を圧縮と逆に自己と上位の
データを示すポインタがセットされ、このポインタで示
される最大長のデータが出力される。
【0049】以上説明したように本実施例によれば、第
1圧縮部20で記号を示す2バイトデータを第1圧縮モ
ード48と第2圧縮モード50の2モードで圧縮するこ
とができるので、日本語に多用される句読点等のデータ
が入力されても圧縮モードを切り替える必要がない。し
たがって、記号が入力されるたびにそれらに対する特定
の制御コードを送出することがないので、高いデータ圧
縮効率を維持することができる。また、漢字を示す2バ
イトコードは圧縮モードに関係なくそのまま送出される
ので、漢字とひらがなまたは片かなが混在する文章であ
っても、漢字に対する特定の制御コードを送出すること
がない。このため、各文字種の混在度が高く、同一文字
種の連続性が乏しい日本語の文章であっても、高いデー
タ圧縮効率を維持できる。また、第2圧縮部32で入力
データと検索データとが最大長で一致するまで1文字単
位またはビット単位でデータ圧縮用テーブル22が検索
され、不一致とされた入力データ長の内容の検索データ
及び対応する圧縮符号語がデータ圧縮用テーブルに生成
されるので、あらかじめ固定のデータ圧縮テーブルを用
意する必要がない。したがって、各種キャラクタデータ
の文字列の入力に柔軟に対応することができ、データの
圧縮効率を高く維持することが可能となる。また、あら
かじめ固定のデータ圧縮用テーブルを用意する必要がな
いのでメモリ効率も向上する。さらに、最小限の圧縮符
号語を最小のビットで表現し、かつビット表現できる最
大数を超えたときにデータ圧縮用テーブル22を更新す
るので、圧縮符号語の最大限をあらかじめメモリ58に
用意する必要がなく、メモリ58を有効に利用すること
ができる。したがって、各種キャラクタデータを有する
テキストデータに対し2通りのデータ圧縮が可能なの
で、テキストデータの種類にかかわらず高いデータ圧縮
効率を維持できる。なお、第1圧縮部20と第2圧縮部
32の順番を入れ換えても上記の効果を得ることは可能
である。
1圧縮部20で記号を示す2バイトデータを第1圧縮モ
ード48と第2圧縮モード50の2モードで圧縮するこ
とができるので、日本語に多用される句読点等のデータ
が入力されても圧縮モードを切り替える必要がない。し
たがって、記号が入力されるたびにそれらに対する特定
の制御コードを送出することがないので、高いデータ圧
縮効率を維持することができる。また、漢字を示す2バ
イトコードは圧縮モードに関係なくそのまま送出される
ので、漢字とひらがなまたは片かなが混在する文章であ
っても、漢字に対する特定の制御コードを送出すること
がない。このため、各文字種の混在度が高く、同一文字
種の連続性が乏しい日本語の文章であっても、高いデー
タ圧縮効率を維持できる。また、第2圧縮部32で入力
データと検索データとが最大長で一致するまで1文字単
位またはビット単位でデータ圧縮用テーブル22が検索
され、不一致とされた入力データ長の内容の検索データ
及び対応する圧縮符号語がデータ圧縮用テーブルに生成
されるので、あらかじめ固定のデータ圧縮テーブルを用
意する必要がない。したがって、各種キャラクタデータ
の文字列の入力に柔軟に対応することができ、データの
圧縮効率を高く維持することが可能となる。また、あら
かじめ固定のデータ圧縮用テーブルを用意する必要がな
いのでメモリ効率も向上する。さらに、最小限の圧縮符
号語を最小のビットで表現し、かつビット表現できる最
大数を超えたときにデータ圧縮用テーブル22を更新す
るので、圧縮符号語の最大限をあらかじめメモリ58に
用意する必要がなく、メモリ58を有効に利用すること
ができる。したがって、各種キャラクタデータを有する
テキストデータに対し2通りのデータ圧縮が可能なの
で、テキストデータの種類にかかわらず高いデータ圧縮
効率を維持できる。なお、第1圧縮部20と第2圧縮部
32の順番を入れ換えても上記の効果を得ることは可能
である。
【0050】
【発明の効果】以上説明したように本発明によれば、第
1圧縮部で各文字種の混在度が高く、同一文字種の連続
性が乏しい日本語の文章であっても、高いデータ圧縮効
率を維持でき、第2圧縮部で各種テキストデータに対し
ても、データ圧縮効率を高く維持することが可能になる
ので、各種キャラクタデータに対し2通りの圧縮が可能
なので、テキストデータの種類に関係なく高いデータ圧
縮効率を維持できる。
1圧縮部で各文字種の混在度が高く、同一文字種の連続
性が乏しい日本語の文章であっても、高いデータ圧縮効
率を維持でき、第2圧縮部で各種テキストデータに対し
ても、データ圧縮効率を高く維持することが可能になる
ので、各種キャラクタデータに対し2通りの圧縮が可能
なので、テキストデータの種類に関係なく高いデータ圧
縮効率を維持できる。
【図1】発明の原理説明図である。
【図2】実施例の構成説明図である。
【図3】シフトJISコード体系の概略説明図である。
【図4】実施例のデータ圧縮作用を説明するフローチャ
ートである。
ートである。
【図5】データ圧縮された具体例の説明図である。
【図6】データ伸長装置の概略構成図である。
【図7】実施例のデータ伸長作用を説明するフローチャ
ートである。
ートである。
【図8】実施例の構成説明図である。
【図9】データ圧縮用テーブルの要素説明図である。
【図10】検索データの要素説明図である。
【図11】データ圧縮作用を説明するフローチャート。
【図12】データ圧縮用テーブルの生成作用説明図であ
る。
る。
【図13】データ圧縮テ−ブルの圧縮符号語の生成作用
説明図である。
説明図である。
【図14】データ伸長用テーブルの生成説明図である。
20 第1圧縮部 22 データ圧縮用テーブル 32 第2圧縮部 40,55 入力部 42 モード切替部 44 圧縮部 46,54,60 出力部 48 第1圧縮モード 50 第2圧縮モード 52 第3圧縮モード 56 検索部 58 メモリ 62 検索データ 64 圧縮符号語
Claims (1)
- 【請求項1】順次入力されるひらがなまたは記号を示す
2バイトデータの第1バイトを圧縮モードが切り替わる
まで省略して送出し、漢字を示す2バイトデータをその
まま送出する第1圧縮モード(10)と、順次入力され
る片かなまたは記号を示す2バイトデータの第1バイト
を圧縮モードが切り替わるまで省略して送出し、漢字を
示す2バイトデータをそのまま送出する第2圧縮モード
(12)と、漢字を示す2バイトデータまたは1バイト
データが入力されたときに2バイトデータまたは1バイ
トデータのまま送出する第3圧縮モード(14)と、を
備えた圧縮手段(16)と、ひらがなまたは記号を示す
2バイトデータが入力されたときに第1制御コ−ドを送
出し、片かなまたは記号を示す2バイトデータが入力さ
れたときに第2制御コ−ドを送出し、1バイトデータが
入力されたときに第3制御コ−ドを送出して圧縮モード
を切り替える切替手段(18)と、を有する第1圧縮部
(20)と、 入力データと検索データとが最大長で一致するまで1文
字単位またはビット単位でデータ圧縮用テーブル(2
2)を検索する検索手段(24)と、一致した最大長の
検索データと対応した圧縮符号語を入力データ列にかえ
て送出する送出手段(26)と、不一致とされた入力デ
ータ長の内容の検索データ及び対応する圧縮符号語をデ
ータ圧縮用テーブル(22)に生成する生成手段(2
8)と、最小可変ビット数で表現される圧縮符号語がビ
ット表現できる最大数を超えたときにデータ圧縮用テー
ブル(22)を更新する更新手段(30)と、を備えた
第2圧縮部(32)と、を有することを特徴とするデー
タ圧縮装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3254539A JP2769056B2 (ja) | 1991-09-06 | 1991-09-06 | デ−タ圧縮装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3254539A JP2769056B2 (ja) | 1991-09-06 | 1991-09-06 | デ−タ圧縮装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0566918A true JPH0566918A (ja) | 1993-03-19 |
| JP2769056B2 JP2769056B2 (ja) | 1998-06-25 |
Family
ID=17266451
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3254539A Expired - Lifetime JP2769056B2 (ja) | 1991-09-06 | 1991-09-06 | デ−タ圧縮装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2769056B2 (ja) |
-
1991
- 1991-09-06 JP JP3254539A patent/JP2769056B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2769056B2 (ja) | 1998-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5229768A (en) | Adaptive data compression system | |
| US6879271B2 (en) | Method and apparatus for adaptive data compression | |
| US5140321A (en) | Data compression/decompression method and apparatus | |
| KR100271861B1 (ko) | 데이타압축, 신장방법 및 장치와 이것을 사용한 데이타처리장치 및 네트워크시스템 | |
| US5663721A (en) | Method and apparatus using code values and length fields for compressing computer data | |
| US6218970B1 (en) | Literal handling in LZ compression employing MRU/LRU encoding | |
| JP2986319B2 (ja) | 準静的データを圧縮し展開する方法 | |
| JP3258552B2 (ja) | データ圧縮装置及びデータ復元装置 | |
| US5473326A (en) | High speed lossless data compression method and apparatus using side-by-side sliding window dictionary and byte-matching adaptive dictionary | |
| US5729228A (en) | Parallel compression and decompression using a cooperative dictionary | |
| JPH04502377A (ja) | データ圧縮 | |
| JPH09153818A (ja) | データ圧縮・伸長装置 | |
| US5592512A (en) | Adaptive display refresh and data compression in a radio frequency environment | |
| JP3599867B2 (ja) | ユーザがシステムの種々な機能を制御する際にガイドとなるテキスト情報を表わすテキスト・データを処理する方法 | |
| Lin | A hardware architecture for the LZW compression and decompression algorithms based on parallel dictionaries | |
| JP2769056B2 (ja) | デ−タ圧縮装置 | |
| US5889818A (en) | Adaptive display refresh and data compression in a radio frequency environment | |
| JPH0566917A (ja) | 無線モデム | |
| JP2729416B2 (ja) | テキストデータの復元方法 | |
| JP2769057B2 (ja) | デ−タ圧縮装置 | |
| JPH0566920A (ja) | デ−タ圧縮装置 | |
| JP2732188B2 (ja) | 最適符号表現を用いた多段データ圧縮装置 | |
| JP3115066B2 (ja) | 辞書検索方法 | |
| JP3388768B2 (ja) | データ圧縮及び復元方式 | |
| JP2006302082A (ja) | 文字列検索装置 |
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: 19980331 |