JP3499671B2 - データ圧縮装置及びデータ復元装置 - Google Patents

データ圧縮装置及びデータ復元装置

Info

Publication number
JP3499671B2
JP3499671B2 JP02352396A JP2352396A JP3499671B2 JP 3499671 B2 JP3499671 B2 JP 3499671B2 JP 02352396 A JP02352396 A JP 02352396A JP 2352396 A JP2352396 A JP 2352396A JP 3499671 B2 JP3499671 B2 JP 3499671B2
Authority
JP
Japan
Prior art keywords
character
code
byte
data
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.)
Expired - Fee Related
Application number
JP02352396A
Other languages
English (en)
Other versions
JPH09218867A (ja
Inventor
佳之 岡田
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 JP02352396A priority Critical patent/JP3499671B2/ja
Priority to US08/682,428 priority patent/US5889481A/en
Priority to DE69612832T priority patent/DE69612832T2/de
Priority to EP96305634A priority patent/EP0789460B1/en
Publication of JPH09218867A publication Critical patent/JPH09218867A/ja
Application granted granted Critical
Publication of JP3499671B2 publication Critical patent/JP3499671B2/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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • 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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字コード空間に
混在する複数種類の文字コードのデータを対象に圧縮と
復元を行うためのデータ圧縮及び復元装置に関し、特
に、複数の言語コードが混在するユニコードや、日本語
コード空間のJISコード、シフトJISコード等につ
き、文字コードの種別に応じて効率的な圧縮と復元を行
うためのデータ圧縮装置及び復元装置に関する。
【0002】
【従来の技術】近年、文字コード、ベクトル情報、画像
など様々な種類のデータがコンピュータで扱われるよう
になっており、扱われるデータ量も急速に増加してきて
いる。大量のデータを扱うときは、データの中の冗長な
部分を省いてデータ量を圧縮することで、記憶容量を減
らしたり、速く伝送したりできるようになる。様々なデ
ータを圧縮できる方法としてユニバーサル符号化が提案
されている。
【0003】ここで、本発明は、文字コードの圧縮に限
らず、様々な分野のデータに適用できるが、以下では、
情報理論で用いられている呼称を踏襲し、データの1ワ
ード単位を文字と呼び、データが任意のワードにつなが
ったものを文字列と呼ぶことにする。ユニバーサル符号
の代表的な方法として、ジブーレンペル(Ziv-Lempel)
符号がある(詳しくは、例えば、宗像「Ziv-Lempelのデ
ータ圧縮法」、情報処理、Vol.26,No.1,1985年を参照の
こと)。
【0004】ジブーレンペル符号ではスライド辞書法
と、動的辞書法の2つのアルゴリズムが提案されてい
る。さらに、スライド辞書法の改良として、LZSS符
号、(T.C. Bell,"Better OPM/L Text Compression",IE
EE Trans. on Commun., Vol.COM-34,No.12, Dec. 1986
参照)。動的辞書法の改良としては、LZW(Lempel-Z
iv-Welch)符号がある(T.A. Welch,"A Technique for
High-Performance Data Compression",Computer, June
1984参照)。
【0005】これらの符号のうち、高速処理ができるこ
とと、アルゴリズムの簡単さからLZW符号が記憶装置
のファイル圧縮などで使われるようになっている。図3
8にLZW符号における辞書の木構成を示し、図39に
LZW符号における文字列の符号化を示す。LZW符号
化は、書き替え可能な辞書を持ち、入力文字コードのデ
ータを相異なる文字列に分け、文字列の出現した順に番
号をつけて辞書に登録すると共に、現在入力している文
字列を辞書に登録してある最長一致文字列の番号で表し
て、符号化するものである。尚、不一致となった1文字
を現在の文字列に付加して登録する。
【0006】図40及び図41を参照して符号化を具体
的に説明すると次のようになる。ここでは、説明を簡単
にするためabcの3文字の組み合わせからなるデータ
の符号化を例にとる。まず、図40の入力データは左か
ら右へ読み込む。最初の文字aを入力したとき、図41
の辞書にはaの他に一致する文字列がないので、出力符
号(参照番号ω)を符号語として出力する。そして、次
の文字bを付加して拡張した文字列abに参照番号4を
つけて辞書に登録する。実際の登録は文字列(1b)の
形となる。
【0007】続いて2番目のbが文字列の先頭になる。
辞書にはbの他に一致する文字列がないので、参照番号
符号語として出力し、拡張した文字列baを実際に
は2aの形で参照番号5をつけて辞書に登録する。3番
目のaが次の文字列の先頭になる。以下、同様にこの処
理を続ける。図42のフローチャートはLZW符号化の
アルゴリズムである。まずステップS1で予め全文字に
つき一文字からなる文字列を初期値として登録してから
符号化を始める。ステップS2では入力した最初の文字
Kを辞書検索する参照番号ωとし、これを語頭文字列
(prefix string )とする。
【0008】次にステップS3で入力データの次の文字
Kを読み込み、ステップS4ではステップS2で求めた
語頭文字列ωにステップS3で読み込んだ文字Kを加え
た(ωK)が現在の辞書にあるか否か検索する。ステッ
プS4で文字列(ωK)が辞書にあれば、ステップS5
で文字列(ωK)を参照番号ωに置き換え、ステップS
5で入力データが終了かどうかを判断した後、再びステ
ップS3に戻って文字列(ωK)が辞書から探せなくな
るまで最大一致長の検索を続ける。
【0009】次にステップS4で文字列(ωK)が辞書
になければ、ステップS7に進んでステップS2で求め
た文字Kの参照番号ωを符号code(ω)として出力す
る。また文字列(ωK)に新たな参照番号を付加して辞
書に登録する。さらにステップS2の入力文字Kを参照
番号ωに置き換えると共に、辞書アドレスNをインクリ
メントして、ステップS5のチェックを受けた後、ステ
ップS2に戻って次の文字Kを読み込む。
【0010】次に、図43を参照してLZW符号の復号
化処理を具体的に説明する。このLZW符号の復号化処
理は符号化の逆の操作を行う。また説明を簡単にするた
め、図40の符号化処理と同様にabcの3文字の組み
合わせからなるデータの復元を例にとる。まず図43で
最初の入力文字は1であり、1文字a,b,cについて
は既に参照番号1,2,3として図41のように辞書に
登録されているため、辞書の参照により符号1に一致す
る参照番号の文字列aに置き換えて出力する。次の符号
2についても同様にして文字bに置き換えて出力する。
この時、前回処理した符号と今回復号した最初の1文字
bとを組み合わせた1bに新たな参照番号を付加して辞
書に登録する。
【0011】3番目の符号4は辞書の探索により1bか
らabと置き換えて文字列abを出力する。同時に前回
処理した符号2と今回復号した文字列の1番目の文字a
との組み合わせ文字列2a(=ba)新たな参照番号
5を付加して辞書に登録する。以下同様に、この処理を
繰り返す。ただし、図43の復号化では次の例外処理が
ある。この例外処理は、第6番目の入力符号8の復号で
生ずる。符号8は復号時に辞書に定義されておらず、復
号できない。この場合には、前回処理した符号5に前回
復号した文字列baの最初の1文字bを加えた文字列5
bを求め、さらに2ab,babと置き換えられて出力
される。そして、文字列の出力に前回の符号5に今回
復号した文字列の文字bを加えた文字列5bに参照番号
8を付加して辞書に登録する。
【0012】この例外処理は次に説明する図44の復号
化処理のステップS4,ステップS9の処理を通じて行
われ、最終的にステップS7で文字列の出力と新たな文
字列に参照番号を付加した辞書への登録が行われる。図
44のフローチャートは、LZW符号の復号化アルゴリ
ズムである。まずステップS1において、符号化と同様
に、予め辞書に全文字につき1文字からなる文字列を初
期値として登録してから復号を始める。
【0013】ステップS2で最初の符号(参照番号)を
読み込み、現在の入力符号CODEをOLDcode とし、最初の
符号は既に辞書に登録された1文字の参照番号いずれか
に該当することから、入力符号CODEに一致する文字code
(K)を探し出し、文字Kを出力する。尚、出力した文
字Kは後の例外処理のためcharにセットしておく。次に
ステップS3に進んで次の符号CODEを読み込んでNEWcod
e としてセットする。次にステップS4に進み、ステッ
プS3で入力された符号CODEが辞書に定義(登録)され
ているか否かチェックする。
【0014】通常、入力した符号語は前回までの処理で
辞書に登録されているため、ステップS5に進んで符号
CODEに対応する文字列code(ωK)を辞書から読み出
し、ステップS6で文字列Kを一時的にスタックし、参
照番号code(ω)を新たなCODEとして再度ステップS5
に戻し、このステップS5,ステップS6の手順を再帰
的に参照番号ωが一文字に至るまで繰り返し、最後にス
テップS7に進んでステップS6でスタックした文字を
LIO(Last In Fast Out)形式でポップアップして
出力する。
【0015】同時にステップS7において、前回使った
符号ωと今回復元した文字列の最初の1文字Kを組
(ω,K)と表した文字列に新たな参照番号を付加して
辞書に登録する。ここで、ステップS4において登録さ
れていない符号(符号化において直前の参照番号を参照
する場合におきる)の場合、ステップS9にて、OLDcod
eを符号CODEに戻し、またcode(OLDcode,char)をNEWcode
に戻した後に、ステップS5へ進むようにする。
【0016】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のデータ圧縮及び復元処理にあっては、実際の
文字コードに1バイト構成と2バイト構成が混在してい
るにもかかわらず、同じバイト構成の文字と見做して処
理しており、効果的な圧縮が期待できない問題があっ
た。
【0017】図45(A)は従来のデータ圧縮処理であ
り、単一バイト圧縮部400でバイト単位に圧縮してい
る。また図45(B)は、従来の圧縮データの復元処理
であり、同じく単一バイト復元部402によりバイト単
位で復元している。ここで、代表的な言語として日本語
を例にとると、日本語を表す各種の符号、即ちJISコ
ード、シフトJISコード等の文字コードでは、複数バ
イト或いは単一バイトと複数バイトと混在の形で文字及
び文字列を表現している。これに対し圧縮処理は、図4
5のように、全て単一バイト圧縮部400で、全て単一
バイトの文字及び文字列として処理しているため、単一
バイトで表現されている文字と、複数バイトで表現され
た文字の下位バイトが同じ文字と見做される。このため
複数バイト文字の各バイト単位の圧縮で、結果として意
味のないデータ列が辞書に登録されて符号化され、効果
的な圧縮が期待できない問題があった。
【0018】図47は、JIS漢字コードにおけるLZ
W符号化であり、上位バイトと下位バイトの区別なく辞
書に取り込むため、意味のない文字列まで登録されて圧
縮効果が期待できないことがわかる。即ち、隣接する2
文字の下位バイトと上位バイトの組合せ等の意味のない
文字列が登録されてしまう。図48は、シフトJIS漢
字コードにおけるLZW符号化であり、同様に、上位バ
イトと下位バイトの区別なく辞書に取り込むため、意味
のない文字列まで登録されて圧縮効果が期待できないこ
とがわかる。
【0019】日本語以外の文字コードでも同様な問題が
ある。例えば国際標準化により各種の言語を統一的に扱
う文字コードとして提案されているユニコード(Unicod
e )でも、1文字が2バイト(或いは4バイト)の構成
となっているため、バイト単位で圧縮している従来の圧
縮処理では、同様の問題が起きる。特に、同じ文字種類
を用いても、言語が異なると文字のつながり方が異な
る。しかし、従来は、言語による相違を考慮せずに文字
列を登録していたため、圧縮効果が期待できない。
【0020】本発明の目的は、異なる言語を混在する例
えばユニコード等に対して、各言語或いは各言語内の統
計的性質の異なる各種文字を区別して圧縮することによ
り、圧縮性能を高めるようにしたデータ圧縮装置および
復元装置を提供することにある。また本発明の他の目的
は、日本語文字コードに対して、各文字コードのバイト
構成或いは文字コード内の統計的性質の異なる文字種を
区別して圧縮することにより、圧縮性能を高めるように
したデータ圧縮装置および復元装置を提供することにあ
る。
【0021】
【課題を解決するための手段】 (ユニコード) 図1(A)は、ユニコードを対象とした本発明のデータ
圧縮装置及びデータ復元装置の原理説明図である。デー
タ圧縮装置は複数種類の言語の文字コードが混在するユ
ニコードのデータ列を入力して圧縮するもので、入力さ
れる言語コードの種類を判別する言語判別手段10、デ
ータ列を言語判別手段10で判別した各言語毎の言語列
に分離する言語列分離手段12、及び言語列分離手段1
2で分離した各言語列を個別に圧縮する言語列圧縮手段
14で構成される。
【0022】ここで、ユニコードの文字コード体系は、
セルオクテット(列番号)と行オクテット(行番号)の
2次元コード空間(コードプレーン)を有し、1文字を
下位1バイトのセルオクテットと上位1バイトの行オク
テットの少なくとも2バイトの文字コードで表現し、更
に行オクテットによって複数種類の言語毎に異なる文字
コード空間を割り当てている。
【0023】このため、言語判別手段10は、各文字コ
ードの行オクテットから言語の種類を判別する。また言
語列分離手段12は、判別した言語の種類で決まる1バ
イトまたは2バイトの文字コードを分離して各言語毎の
言語列を構成する。ユニコードの圧縮データを対象とし
た本発明のデータ復元装置は、圧縮データから各言語単
位に言語列を復元する言語列復元手段20、及び言語列
復元手段20で復元された各言語列から、複数種類の言
語コードが混在するデータ列を復元する言語列再構成手
段22で構成される。 (日本語の異なるバイト構成)図1(B)は、日本語ソ
ースデータを対象にした本発明のデータ圧縮装置とデー
タ復元装置であり、各種の日本語文字コード内において
異なるバイト構成毎に圧縮して復元することを特徴とす
る。勿論、日本語コードに限定されず、他の言語コード
にも拡張できる。
【0024】データ圧縮装置は、コード種別判別手段1
1、バイト構成分離手段13、及び文字列圧縮手段15
で構成される。コード種別判別手段11は、日本語ソー
スからの入力データ列の属する文字コードの種別を判別
してコード種別識別情報を出力する。バイト構成分離手
段13は、コード種別識別情報に基づいて、入力データ
列の各文字コードのバイト構成を検出しバイト構成の異
なる複数種類の文字列に分離する。文字列圧縮手段15
は、バイト構成分離手段13で分離したバイト構成の異
なる複数種類の文字列を個別に圧縮する。
【0025】より具体的には、データ列は、上位バイト
と下位バイトで定義される2次元の文字コード空間に割
り当てられた複数種類の文字コードのいずれかのデータ
列である。文字コード空間には、複数種類の文字コード
として、例えばJISコード、シフトJISコード、E
UCコード、ユニコード、及びJEFコードが割り当て
られており、これらの文字コードを処理する。
【0026】コード種別判別手段11は、一時記憶手
段、第1〜3頻度検出手段及びコード識別手段で構成さ
れる。即ち、データ列の一定区間のデータを一時記憶手
段に蓄積し、この蓄積データについて、第1頻度検出手
段により文字コード空間における1バイト文字の頻度分
布を検出し、また第2頻度検出手段により文字コード空
間における複数バイト文字の頻度分布を検出し、更に、
第3頻度検出手段により複数種類の各文字コードで使用
される識別文字コードの頻度分布を検出する。
【0027】そして、コード識別手段により、3つの頻
度検出手段による文字コード空間における頻度分布の偏
りに基づいて、データ列の文字コード種別、例えばJI
Sコード、シフトJISコード、EUCコード、ユニコ
ード、またはJEFコードを識別する。バイト構成分離
手段13は、バイト構成検出手段と文字列分離手段で構
成される。バイト構成検出手段は、データ列を1バイト
単位に分離して1バイト構成か複数バイト構成かを検出
してバイト構成検出情報を出力する。文字列分離手段
は、バイト構成検出情報に基づいて、データ列を1バイ
ト構成と複数バイト構成の文字列に分離する。
【0028】文字列圧縮手段15は、単一バイト圧縮手
段、複数バイト圧縮手段、文字コード識別情報出力手
段、バイト構成変更出力手段、及び符号選択手段で構成
される。単一バイト圧縮手段は、1バイト構成の文字列
を圧縮し、また複数バイト圧縮手段は、複数バイト構成
の文字列を圧縮する。文字コード識別情報出力手段は、
コード種別識別情報に従って文字コードの種別を示すコ
ード識別情報を出力する。バイト構成変更出力手段は、
バイト構成検出情報に基づいてバイト構成の変更を示す
バイト構成変更情報を出力する。符号選択手段は、最終
的に、文字コード識別情報、バイト構成変更情報、単一
バイト圧縮データおよび複数バイト圧縮データを選択合
成して出力する。
【0029】図1(B)におけるデータ復元装置は、文
字列復元手段17と文字列再構成手段19で構成され
る。文字列復元手段17は、圧縮データをバイト構成毎
に分離して文字列を個別に復元する。文字列再構成手段
19は、文字列復元手段17で復元されたバイト構成の
異なる各文字列を1つに結合して元の文字列を再構成す
る。
【0030】より具体的には、文字列復元手段17は、
符号分離手段、単一バイト復元手段、及び複数バイト復
元手段を備える。符号分離手段は、圧縮データから単一
バイト圧縮データ、複数バイト圧縮データ、コード識別
情報、及びバイト構成変更情報を分離する。単一バイト
復元手段は、分離された単一バイト圧縮データから単一
バイト構成の文字列を復元する。また複数バイト復元手
段は、分離された複数バイト圧縮データから複数バイト
構成の文字列を復元する。
【0031】文字列再構成手段19は、文字列復元手段
17の符号分離手段で分離されたコード識別情報とバイ
ト構成変更情報に基づいて、復元された単一バイト構成
の文字列と複数バイト構成の文字列を結合して元の文字
コード列を復元する。 (日本語の異なる文字種)図1(C)は、日本語ソース
データを対象にした本発明によるデータ圧縮装置とデー
タ復元装置の原理説明図であり、各種文字コード内の異
なる文字種毎に分離して圧縮と復元を行うことを特徴と
する。勿論、日本語コードに限定されず、他の言語コー
ドにも拡張できる。
【0032】データ圧縮装置は、コード種別判別手段2
1、文字種分離手段23、文字列圧縮手段25で構成さ
れる。コード種別判別手段21は、入力データ列の属す
るJISコード、シフトJISコード等の文字コードの
種別を判別してコード種別識別情報を出力する。文字種
分離手段23は、コード種別識別情報に基づいて、デー
タ列の各文字コードの文字種を検出し、異なる文字種毎
の文字列に分離する。文字列圧縮手段25は、文字種分
離手段23で分離した異なる文字種毎の各文字列を個別
に圧縮する。
【0033】より具体的には、コード種別判別手段21
は図1(A)と同じものであり、一時記憶手段、第1〜
3頻度検出手段及びコード識別手段で構成され、3つの
頻度検出手段による文字コード空間における頻度分布の
偏りに基づいて、データ列の文字コード種別、例えばJ
ISコード、シフトJISコード、EUCコード、ユニ
コード、またはJEFコードを識別する。
【0034】文字種分離手段23は、文字種検出手段と
文字列分離手段を備える。文字種検出手段は、データ列
を1バイト単位に分離し、半角か全角か、及び英数字、
カタカナ、ひらがな、漢字、その他かの文字種を検出し
て文字種検出情報を出力する。文字列分離手段は、文字
種検出情報に基づいて、文字列を半角英数字、半角カタ
カナ、半角その他、全角英数字、全角カタカナ、全角ひ
らがな、全角漢字、及び全角その他の文字種毎に分離す
る。
【0035】文字列圧縮手段25は、文字種別圧縮手段
として、例えば半角英数字圧縮手段、半角カタカナ圧縮
手段と、半角その他圧縮手段、全角英数字圧縮手段、全
角カタカナ圧縮手段、全角ひらがな圧縮手段、全角漢字
圧縮手段、及び全角その他圧縮手段を備える。また文字
コード識別情報出力手段と符号選択手段を備える。文字
種変更情報出力手段は、文字種識別情報に従って、識別
された文字コードの文字種を示す文字コード識別情報を
出力する。文字種変更情報出力手段は、文字種の変更を
示す文字種変更情報を出力する。更に、符号選択手段
は、文字コード識別情報、文字種変更情報、各文字種毎
の圧縮データを選択合成して出力する。
【0036】図1(C)におけるデータ復元装置は、文
字列構成別復元手段27と文字列再構成手段29で構成
される。文字列復元手段27は、圧縮データを文字種毎
に分離し文字種毎の文字列を個別に復元する。文字列再
構成手段29は、文字列復元手段27で復元された文字
種の異なる各文字列を1つに結合して元の文字列を再構
成する。
【0037】より具体的には、文字列復元手段27は、
符号分離手段と文字種別復元手段を備える。符号分離手
段は、文字種毎の圧縮データ、コード識別情報、及び文
字種変更情報を分離する。文字種別復元手段は、符号分
離手段で分離された文字種毎の圧縮データから文字列を
文字種毎に復元する。文字列再構成手段29は、文字列
復元手段27の符号分離手段で分離されたコード識別情
報と文字種変更情報に基づいて、文字種毎に復元された
文字列を結合して元の文字列を再生する。
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】このように、国際標準化されている異なる
言語を混在するユニコード等に対して、各言語或いは各
言語内の統計的性質の異なる各種文字を区別して圧縮す
ることにより、圧縮性能を高めることができる。また、
異なるバイト構成或いは異なる文字種に対する各種の日
本語文字コード等の各種の言語コードに対しても、効果
的な圧縮が期待できる。
【0044】
【発明の実施の形態】
<目 次> 1.ユニコードの圧縮復元 (1)多数国言語 (2)東洋系言語 (3)韓国語 (4)日本語 2.日本語コードの圧縮復元 (1)異なるバイト構成毎の圧縮復元 (2)異なる文字種毎の圧縮復元 (3)バイト統一による圧縮復元 1.ユニコードの圧縮復元 (1)多数国言語 図2は、国際標準化機構(ISO)/国際電機技術委員
会(IEC)による文字コード10646の国際規格と
して知られたユニコードのソースデータを対象とした本
発明のデータ圧縮装置のブロック図である。図2におい
て本発明のデータ圧縮装置は、言語判別部10、言語列
分離部12及び言語列圧縮部14で構成される。言語判
別部10はユニコードのソースデータを入力し、ユニコ
ードで使用している複数種類の言語コードの種類を判別
する。言語列分離部12は、言語判別部10で判別した
言語に基づき、言語ごとの言語列に分離する。言語列圧
縮部14は、言語列分離部12で分離した各言語列を個
別に圧縮した後に統合して、圧縮データとして出力す
る。
【0045】図3は、図2のユニコードを対象としたデ
ータ圧縮装置で得られた圧縮データからユニコードのソ
ースデータを復元するデータ復元装置である。このデー
タ復元装置は言語列復元部20と言語列再構成部22で
構成される。言語列復元部20は圧縮データを入力し、
各言語単位に言語列を復元する。言語列再構成部22
は、復元された各言語列から複数種類の言語コードが混
在するユニコードのデータ列を復元する。
【0046】ここで、図2のデータ圧縮装置及び図3の
データ復元装置で対象とするユニコードを説明する。図
4はユニコードのコード空間であり、16進表示でグル
ープ00h〜7Fhの128グループで構成される。こ
の内、グループ00hのプレーン00hを基本多国語プ
レーン(BMP Basic Multilingual Plane)と呼ぶ。
【0047】このユニコードは図5のように、2バイト
あるいは4バイトで構成される。2バイト構成の場合、
上位バイトの行オクテット(=行バイト)と下位バイト
のセル・オクテット(=セルバイト)の2次元的表現で
各言語の文字が表現される。図6は、図4の基本多国語
プレーン24の詳細であり、基本多国語プレーン24に
続いて、補助プレーン26及びプライベートユーズプレ
ーン28を設けている。基本多国語プレーン24は、A
ゾーン,Iゾーン,Oゾーン及びRゾーンに分けられて
いる。
【0048】各言語の別は行オクテットで区別すること
ができ、行オクテットの00h〜4DhはAゾーンに属
し、AゾーンにASCIIや平仮名、片仮名、ハングル
文字、アラビア文字、数学用の文字等が含まれている。
また行オクテッドの4Eh〜9FhはIゾーンに属し、
Iゾーンに東洋系の漢字が混在して含まれている。図7
はユニコードにおける全体構成、一般文字、記号及び東
洋関連のそれぞれを詳細に示している。図7(A)は図
6の基本多国語プレーン24の全体構成であり、空間の
先頭側から一般スプリクト、記号、東洋関連が斜線部に
示すように割り当てられており、行オクテットの中の4
0h付近に漢字が割り当てられる。
【0049】図7(B)は図7(A)における一般文字
の部分であり、ラテン語を先頭に各言語が割り当てられ
る。図7()は図7(A)の記号の部であり、句読
点、上付き、下付き、通貨、アクサン等、各種の記号及
び制御機能が割り当てられている。図7()が東洋関
連の部であり、ひらがな、カタカナ、ハングル文字、漢
字などが割り当てられている。
【0050】図8は、図2のデータ圧縮装置の具体的な
実施形態のブロック図である。図8において、言語判別
部10には行オクテットデコード部30が設けられる。
例えばユニコードソースデータとして図5の2バイト文
字が入力されることから、行オクテットデコード部30
はその上位バイト(上位8ビット)を取り込んで行オク
テットをデコードすることで言語の種別を判別する。
【0051】言語列分離部12には言語別分離部32が
設けられる。言語別分離部32は行オクテットデコード
部30による言語の判別結果に基づき、入力したユニコ
ードデータを例えばラテン語(英語)、ギリシャ語等の
各言語列に分離する。言語列圧縮部14には、ユニコー
ドに割り当てられている各言語に対応した圧縮部が個別
に設けられる。この実施形態にあっては、ラテン語圧縮
部34、ギリシャ語圧縮部36、ハングル語圧縮部3
8、漢字圧縮部40などを設けている。言語列圧縮部1
4に設ける言語別の圧縮部としては、圧縮対象とするユ
ニコードソースデータで扱っている言語に応じて適宜に
定めればよい。
【0052】ラテン語圧縮部34、ギリシャ語圧縮部3
6、ハングル語圧縮部38及び漢字圧縮部40の各々で
圧縮された言語別の圧縮データは、符号統合部42で統
合され、圧縮データとして出力される。言語列圧縮部1
4に設けた各言語別圧縮部の圧縮方法としては、各言語
に対応した複数の辞書メモリを設け、言語列のデータ別
に入力される文字列と各言語ごとの辞書に既に登録した
文字列との最長一致検索により符号化するジブ−レンペ
ル符号化を行う。
【0053】このジブ−レンペル符号化にあっては、動
的辞書法あるいはスライド辞書法のいずれであってもよ
い。また他の圧縮方法として、言語ごとに分離した文字
列に対し、現在までに求めた各言語列ごとの確率テーブ
ルに基づき、各データ別に入力される文字列を多値算術
符号化してもよい。このように異なる言語が混在するユ
ニコードのソースデータに対し、各言語別に分離して個
別に圧縮することにより、統計的性質が似通った文字列
個々の圧縮となり、ジブ−レンペル符号化や算術符号化
などにおける圧縮機能が有効に生かされて高い圧縮率を
実現することができる。
【0054】図9は、図8のデータ圧縮装置で得られた
圧縮データから元のユニコードソースデータを復元する
ためのデータ復元装置の実施形態である。図9におい
て、データ復元装置の言語列復元部20には言語別分離
部44が設けられており、入力した圧縮データを言語別
の圧縮データに分離する。言語別分離部44に続いて
は、図8の言語列圧縮部14に対応してラテン語復元部
46、ギリシャ語復元部48、ハングル語復元部50及
び漢字復元部52が設けられている。
【0055】このように言語別に復元部を設けたこと
で、言語別分離部44から言語別に分けて得られた言語
列のそれぞれを各言語単位に復元して元の言語列を得
る。言語列再構成部22にはユニコード再生部54が設
けられており、各言語の復元部より個別に得られた言語
別の言語列を統合して元のユニコードのソースデータを
復元する。
【0056】ここで図8の圧縮の際には、符号統合部4
2において、行オクテットデコード部30における言語
の判別結果に応じた言語変更情報が圧縮データの中に組
み込まれており、したがって図9の復元側においては、
この言語変更情報を言語別分離部44で分離すること
で、その分離情報に基づいてユニコード再生部54で並
列的に得られる各言語列を組み合わせて統合したユニコ
ードのソースデータとすることができる。
【0057】(2)東洋系言語 図10はユニコードにおける東洋言語に限定した場合の
データ圧縮装置の実施形態であり、日本語、韓国語及び
中国語を例にとっている。図10において、言語判別部
10には一時記憶部56、行オクテットデコード部5
8、頻度測定言語判別部60、ひらがな・カタカナ頻度
記憶部62、ハングル語頻度記憶部64及び漢字頻度記
憶部66が設けられている。この言語判別部10におけ
る東洋系の言語の判別は、まず一時記憶部56に、ある
一定期間に亘りユニコードソースデータを入力して記憶
しながら、この一時記憶するデータについて行オクテッ
トデコード部58で行オクテットをデコードして言語の
種別を判別した結果の履歴を、ひらがな・カタカナ頻度
記憶部62、ハングル語頻度記憶部64及び漢字頻度記
憶部66の各々に格納する。
【0058】行オクテットデコード部58による一定期
間に亘る一時記憶データの行オクテットの解読結果が得
られたならば、頻度測定言語判別部60により各頻度記
憶部62,64,66に記憶されたひらがな・カタカ
ナ、ハングル語及び漢字の出現頻度により、現在処理し
ようとしているユニコードソースデータが日本語か韓国
語かあるいは中国語かを判別する。
【0059】例えば、ひらがな,カタカナの出現頻度が
高ければ日本語と判別できる。ハングル語の出現頻度が
高ければ韓国語と判別できる。更に、ひらがな,カタカ
ナやハングル語の出現頻度はほとんどなく漢字頻度が高
い場合には中国語と判別することができる。このような
頻度測定言語判別部60の言語種別の判別結果に基づ
き、言語分離部12に設けた言語別分離部68は、一時
記憶部56に蓄積されているユニコードソースデータを
入力して、判別した日本語、韓国語または中国語の各言
語列に分離する。
【0060】言語列圧縮部14には日本語圧縮部70、
韓国語圧縮部72及び中国語圧縮部74が設けられてい
る。これらの各圧縮部に対しては、言語別分離部68で
分離された日本語、韓国語あるいは中国語の各言語列が
個別に入力され、ジブ−レンペル符号化あるいは算術符
号化などにより各言語ごとの辞書あるいは履歴を使用し
て圧縮される。
【0061】符号統合部76は、各圧縮部70,72,
74により出力される圧縮データを1つのビットストリ
ームに統合して圧縮データとして出力する。このとき頻
度測定言語判別部60における言語判別結果が切り替わ
った場合には、言語変更情報が異なる言語の圧縮データ
の間に挿入されることになる。図11は、図10のデー
タ圧縮装置で圧縮された圧縮データから元のソースデー
タを復元するためのデータ復元装置の実施形態である。
このデータ復元装置は言語列復元部20に言語別分離部
78を設けており、圧縮データを入力して日本語、韓国
語及び中国語の圧縮データ列に分離する。この場合の分
離は、圧縮データに含まれている言語変更情報を使用し
て分離することができる。
【0062】言語別分離部78に続いては、日本語復元
部80、韓国語復元部82及び中国語復元部84が設け
られ、各言語の圧縮データ列を入力して言語単位にユニ
コードを復元する。言語列再構成部22にはユニコード
再生部86が設けられており、言語別分離部78で分離
された言語変更情報に基づき、各復元部80,82,8
4より得られる各言語列ごとの文字を結合してユニコー
ドを再生する。
【0063】(3)韓国語 図12は、ユニコードソースデータとして韓国語を対象
としたデータ圧縮装置の実施形態である。この韓国語に
限定したデータ圧縮装置にあっては、言語判別部10に
設けている行オクテットデコード部88により、韓国語
の中に混じっている漢数字、ハングル語、漢字を認識
し、このデコード結果により言語分離部12の言語別分
離部90で英数字、ハングル語、漢字に分離する。
【0064】英数字、ハングル語、漢字に分離された文
字列は、言語圧縮部14に設けている英数字圧縮部9
2、ハングル語圧縮部94及び漢字圧縮部96で個別に
圧縮され、最終的に符号統合部98で行オクテットデコ
ード部88の判別結果に応じた文字種切替情報を含めて
1つのビットストリームの圧縮データとして出力する。
図13は、図12の韓国語に限定したデータ圧縮装置で
得られた圧縮データから元のユニコードソースデータを
復元するためのデータ復元装置の実施形態である。図1
3において、データ復元装置の言語列復元部20には言
列分離部100が設けられ、圧縮データに含まれてい
る文字種変更情報により英数字、ハングル語、漢字に分
離して圧縮データ列を出力する。
【0065】言語分離部100に続いては、英数字復
元部102、ハングル語復元部104及び漢字復元部1
06が設けられており、各言語別に分離された圧縮デー
タ列を個別に復元する。各復元部の復元文字列は、言語
列再構成部22に設けているユニコード再生部108に
与えられ、言語分離部100で圧縮データから得られ
た文字種変更情報に従った選択結合により、英数字、ハ
ングル語及び漢字が混在した元のユニコードデータを再
生する。
【0066】(4)日本語 図14は、ユニコードソースデータの日本語を対象とし
たデータ圧縮装置の実施形態である。図14において、
言語判別部10に設けた行オクテットデコード部110
は、日本語を対象としたユニコードソースデータの2バ
イトコードについて、上位バイトを取り込んで行オクテ
ットを解読し、日本語に混在している英数字、ひらが
な、カタカナ、漢字を判別し、言語列分離部12に設け
ている言語別分離部112に判別結果を与えて、英数
字、ひらがな、カタカナ、漢字の各文字列に分離する。
【0067】言語列圧縮部14には英数字圧縮部11
4、ひらがな圧縮部116、カタカナ圧縮部118及び
漢字圧縮部120が設けられ、言語列分離部112で分
離された英数字、ひらがな、カタカナ及び漢字の各文字
列を個別に圧縮する。各圧縮部114,116,11
8,120からの圧縮データは符号統合部122で組み
合わされ、1つのビットストリームとなった圧縮データ
として出力される。この圧縮データを統合する際に、英
数字、ひらがな、カタカナ、漢字の相互間における文字
種切替えを指定するため、行オクテットデコード部11
0の判別結果に基づいた文字種変更情報が異なった文字
種の圧縮データの間に挿入される。
【0068】図15は、図14の日本語に限定したユニ
コードのデータ圧縮装置で得られた圧縮データから元の
日本語ユニコードデータを復元するデータ復元装置の実
施形態である。このデータ復元装置にあっては、言語列
復元部20に設けた言語別分離部124で圧縮データに
含まれている文字種変更情報から英数字、ひらがな、カ
タカナまたは漢字の圧縮データ列に分離する。
【0069】言語別分離部124に続いては英数字復元
部126、ひらがな復元部128、カタカナ復元部13
0及び漢字復元部132が設けられ、各文字種単位の復
元が行われる。各復元部126,128,130,13
2で得られた復元データは言語列再構成部22に設けて
いるユニコード再生部134に与えられ、言語別分離部
124で分離された圧縮データに含まれる文字種変更情
報に従った復元文字列の選択と結合により言語ソースデ
ータを再生する。 2.日本語コードの圧縮復元 (1)異なるバイト構成毎の圧縮復元 図4,図5,図6に示した国際標準のユニコードとは別
に、日本語固有の文字コードも幾つか存在する。日本語
固有の文字コードとしては、例えばJIS漢字コード、
シフトJISコード、EUCコードなどがあり、全て2
バイト構成や、1バイトと2バイトが混在するバイト構
成となっている。
【0070】このような日本語固有の文字コードを使用
したソースデータに対するデータ圧縮を図6のデータ圧
縮装置は行うもので、異なるバイト構成の日本語ソース
データに対し、異なるバイト単位ごとに圧縮と復元を行
うようにしたことを特徴とする。図16のデータ圧縮装
置は、コード種別判別部11、バイト構成分離部13及
び文字列圧縮部15で構成される。コード種別判別部1
1は日本語固有の文字コードである例えば、JISコー
ド、EUCコード、JEFコードなどを判別する。もち
ろん、この日本語固有コードの中に既に説明したユニコ
ードもその一種として含めてもよい。
【0071】バイト構成分離部13は、コード種別判別
部11で判別されたコード種別識別情報に基づき、文字
コードのバイト構成を検出し、バイト構成の異なる複数
種類の文字列に分離する。文字列圧縮部15は、バイト
構成分離手段13で分離したバイト構成の異なる複数種
類の文字列ごとに個別に圧縮を行う。図17は、図16
のバイト構成単位に圧縮を行って得られた圧縮データか
ら元の日本語ソースデータを復元するためのデータ復元
装置の実施形態であり、文字列復元部17と文字列再構
成部19で構成される。文字列復元部17は、圧縮デー
タを入力してバイト構成ごとに分離した圧縮データ列を
出力する。
【0072】ここで圧縮データには、図16の圧縮の際
にコード種別判別部11で判別されたコード種別識別情
報に基づいたバイト構成変更情報が挿入されており、こ
のバイト構成変更情報に従って文字列復元部17は、複
数種類の異なったバイト構成ごとの圧縮データ列への分
離を行って個別に復元する。文字列再構成部19は、文
字列復元部17で復元されたバイト構成の異なる各文字
列を1つに結合して元の日本語ソースデータの文字列を
再構成する。
【0073】図18は、図16のデータ圧縮装置及び図
17のデータ復元装置で扱っている日本語固有の文字コ
ードであるJIS漢字コード、シフトJISコード、E
UCコードの文字数及びバイト構成を示す。また図19
は、日本語固有の文字コードの2バイト構成について、
第1バイト(上位バイト)と第2バイト(下位バイト)
の2次元文字コード空間におけるJIS漢字コード、シ
フトJISコード及びEUCコードの割り当てを表わし
ている。
【0074】この図18,図19に示す日本語固有のJ
IS漢字コード、シフトJISコード、EUCコードに
ついては、例えばバイト単位に文字を切り出して図19
の日本語文字コード空間における出現頻度の偏りを判断
することでコード種別を識別することができる。図20
は、図16のデータ圧縮装置の具体的な実施形態であ
る。図20において、まずコード種別判別部11は一時
記憶部136、単一バイト頻度偏り検出部138、複数
バイト頻度偏り検出部140、識別符号頻度検出部14
2、コード識別部144が設けられる。
【0075】即ち、日本語ソースデータの一定区間のデ
ータを一時記憶部136に入力して記憶し、この記憶の
際に一定区間について単一バイトの頻度の偏り、複数バ
イト頻度の偏り、及び識別符号の頻度の各々を、単一バ
イト頻度偏り検出部138、複数バイト頻度偏り検出部
140及び識別符号頻度検出部142で検出する。この
ような頻度検出により、図19の日本語固有の文字コー
ド空間における出現頻度の偏りが分かり、出現頻度の偏
りが判明し、この頻度の偏りから文字コード空間内に割
り当てられたJIS漢字、シフトJISあるいはEUC
のいずれのコード種別であるかを識別することができ、
識別結果を示すコード識別情報146を出力する。
【0076】この頻度の偏り検出によるコード種別の判
別を更に詳しく説明すると、一時記憶部136に蓄積す
るある一定区間の日本語ソースデータ内の全角、ひらが
な、カタカナ、英文字、記号(特にスペース、コンマ、
句読点など)に対応する各符号の出現頻度を単一バイト
あるいは複数バイトごとに検出し、検出した頻度の図1
9の日本語文字コード空間における偏りから日本語ソー
スデータのコード種別を判別する。
【0077】別のコード種別の判別の仕方としては、同
じく一時記憶部136に蓄積している一定区間の日本語
ソースデータ内の半角、カタカナ、英数字、記号(特に
スペース、コンマ、句読点など)に対応する各符号の頻
度を単一バイトごとに検出し、同様にして図19の横軸
の下位バイトの一元における頻度の偏りにより日本語
ソースデータのコード種別を判別するようにしてもよ
い。
【0078】コード種別判別部11に続いて設けられた
バイト構成分離部13には、単一バイト構成検出部14
8と文字列分離部152が設けられる。単一バイト構成
検出部148は、コード識別部144より出力されたコ
ード種別情報146に基づいて、処理対象としている文
字コード種別を認識し、1文字が単一バイトか2バイト
かを検出する。
【0079】文字列分離部152は、単一バイト構成検
出部148による検出結果即ちバイト構成検出情報15
0に基づいて単一バイトと複数バイト(2バイト)の文
字に分離し、単一バイト文字列154と複数バイト文字
列156を出力する。この単一バイト構成検出部148
と文字列分離部152によるバイト構成別の文字列の分
離は、コード識別情報146でJIS漢字コード、シフ
トJIS漢字コードあるいはEUC(拡張UNIX)コ
ードが分かると、それぞれ固有のバイト構成の認識によ
る分離処理ができる。
【0080】例えば、コード識別情報146で識別され
た日本語ソースコードがJIS漢字コードの場合、特殊
切替え符号によって JISの1バイト符号(半角−英数字、カタカナ他) JISの2バイト符号(全角−英数字、カタカナ、ひ
らがな、漢字他) であることが認識できる。そこで、この特殊切替え符号
により、JIS漢字コードの文字列をバイト構成別に分
離すればよい。
【0081】また、日本語ソースデータがシフトJIS
漢字コードの場合、1バイト目をデコードすることで1
バイト符号か2バイト符号か分かる。即ち、 1バイト目が16進で21H〜7EH、A1H〜DF
Hの場合、シフトJISの1バイト符号 1バイト目が16進で81H〜9FH、E0H〜FC
Hの場合、シフトJISの2バイト符号 となる。したがって、16進の1バイト目をデコードす
ることで、1バイト符号と2バイト符号への分離が簡単
にできる。
【0082】更に、日本語ソースデータがEUC(拡張
UNIX)コードの場合、 各バイトの先頭ビット(上位ビット)が0の場合、A
SCIIの1バイト符号 各バイトの先頭ビット(上位ビット)が1の場合、J
ISの2バイト符号 となる。この場合にも同様にして、各バイトの先頭ビッ
ト(上位ビット)をデコードすることで、1バイト符号
列と2バイト符号列に分離することができる。
【0083】バイト構成分離部13に続いては文字列圧
縮部15が設けられ、文字列圧縮部15には単一バイト
圧縮部158、複数バイト圧縮部160、バイト構成変
更符号出力部162、日本語識別符号出力部164及び
符号選択部166が設けられている。即ち、文字列分離
部152で分離された単一バイト文字列154は単一バ
イト圧縮部158で圧縮され、また複数バイト文字列1
56は複数バイト圧縮部160で圧縮される。バイト構
成変更符号出力部162は、コード識別情報146によ
る単一バイト構成の検出から複数バイト構成の検出、ま
たはその逆の変化を監視しており、バイト構成が変化す
るとバイト構成変更符号を出力する。
【0084】日本語識別符号出力部164は、コード識
別情報146に基づき、識別されたJIS、シフトJI
S、EUCなどのコード種別情報を出力する。更に本発
明にあっては、ユニコードも処理対象に含まれているこ
とから、ユニコードが国際化標準であるので、それ以外
のコードについては日本語固有コードであることを示す
符号も併せて出力する。
【0085】符号選択部166は、圧縮データの先頭位
置に日本語識別符号出力部164から出力された日本語
識別符号を付加し、その後ろに単一バイト圧縮データま
たは複数バイト圧縮データを配置する。単一バイト圧縮
データから複数バイト圧縮データへの切替え、逆に複
数バイト圧縮データから単一バイト圧縮データへの切替
には、バイト構成変更符号出力部162より出力さ
れたバイト構成変更符号が挿入され、これらを選択結合
した1つのビットストリームデータとして圧縮データを
出力する。
【0086】このような日本語ソースデータを対象とし
たデータ圧縮装置にあっては、単一バイトと複数バイト
との異なるバイト構成の文字が混在している場合に、異
なるバイト構成ごとに分離した同一バイト構成の文字列
に変換して圧縮と復元を行うことにより、統計的性質の
似通った文字を集めて圧縮することができ、これによっ
てジブ−レンペルや算術符号化における圧縮性能を十分
に引き出すことができ、結果として圧縮性能を高めるこ
とができる。
【0087】図21は、図20のバイト構成ごとに分離
して圧縮を行った圧縮データから元の日本語ソースデー
タを復元するためのデータ復元装置、即ち図17に示し
たデータ復元装置の詳細な実施形態である。図21にお
いて、データ復元装置は文字列復元部17と文字列再構
成部19で構成される。文字列復元部17には符号分離
部168が設けられ、圧縮データの先頭位置に含まれて
いる日本語識別符号に基づいて、JISコード、シフト
JISコード、EUCコードなどを示すコード識別情報
174を分離する。また圧縮データにおけるバイト構成
の変更を示すバイト構成変更情報176を分離する。
【0088】更にバイト構成変更情報176に従って、
圧縮データに含まれている単一バイト圧縮データと複数
バイト圧縮データを各々分離し、対応する単一バイト復
元部170と複数バイト復元部172に出力する。単一
バイト復元部170及び複数バイト復元部172は、ジ
ブ−レンペル復号化あるいは算術復号化に従って、同じ
バイト構成の圧縮データ列についての復元処理を行う。
【0089】文字列再構成部19には単一/複数バイト
混在再生部178が設けられる。単一/複数バイト混在
再生部178は、符号分離部168から出力されたコー
ド種別情報174とバイト構成変更情報176に従っ
て、単一バイト復元部170及び複数バイト復元部17
2より出力される復元文字の選択結合を行って、単一バ
イト文字と複数バイト文字が混在した元の日本語ソース
データを再生する。 (2)異なる文字種ごとの圧縮復元 図22は、日本語固有の文字コードを対象に、コード内
の英数字、ひらがな、カタカナなどの文字種別に文字列
を分離して個別に圧縮するデータ圧縮装置の実施形態で
ある。このデータ圧縮装置は、コード種別判別部21、
文字種分離部23及び文字列圧縮部25で構成される。
【0090】コード種別判別部21は、図16のバイト
構成ごとに分けて圧縮する場合のコード種別判別部11
と同じものであり、日本語ソースデータからJISコー
ド、シフトJISコード、EUCコードなどのコード種
別を判別する。文字種分離部23は、各文字コードによ
り半角の英数字、カタカナ、ひらがな、その他、及び全
角の英数字、カタカナ、ひらがな、漢字、その他となる
文字種を認識して、各文字種ごとに分離した文字列を生
成する。
【0091】文字列圧縮部25は、文字種分離部23で
分離された各文字種別の圧縮部を有し、同一文字種の文
字列について個別に圧縮したデータを統合して圧縮デー
タとして出力する。図23は図22の文字種ごとに分離
した文字列を個別に圧縮して得た圧縮データから元の日
本語ソースデータを復元するデータ復元装置の実施形態
であり、文字列復元部27及び文字列再構成部29で構
成される。文字列復元部27は、圧縮側で圧縮データに
挿入された文字種変更情報から文字種の切替えを認識し
て文字種ごとに圧縮データを分離した圧縮データ列を生
成し、文字種ごとに設けている復元部において文字種ご
との圧縮データの復元を行う。
【0092】文字種ごとに復元された文字列は文字列再
構成部29に与えられ、圧縮データから分離された文字
種変更情報に従った選択結合により、元の複数の文字種
が混在した日本語ソースデータを復元する。図24は、
図22の文字種ごとに分離して圧縮するデータ圧縮装置
の具体的な実施形態である。まずコード種別判別部21
は、図20のバイト構成ごとに分けて圧縮する場合の実
施形態と同様、一時記憶部136、単一バイト頻度偏り
検出部138、複数バイト頻度偏り検出部140、識別
符号頻度検出部142及びコード識別部144で構成さ
れ、入力した日本語ソースデータがJIS、シフトJI
SあるいはEUCなどのいずれであるかを示すコード識
別情報146を出力する。
【0093】コード種別判別部21に続いて設けられた
文字種分離部23には、文字種検出部180及び文字種
分離部184が設けられる。文字種検出部180は、一
時記憶部136を経由して入力した日本語ソースデータ
を1バイト単位に取り出して、そのコードから半角英数
字、半角カタカナ、半角その他、全角英数字、全角カタ
カナ、全角ひらがな、全角漢字、全角その他のいずれの
文字種であるかを検出し、検出結果を示す文字種検出情
報182を出力する。
【0094】文字種分離部184は、文字種分離部18
0からの文字種検出情報182に基づき、検出された文
字種のみの文字列に分離して、文字列圧縮部25に出力
する。文字列圧縮部25には、各文字種に対応した圧縮
部として半角英数字圧縮部186、半角カタカナ圧縮部
188、半角その他圧縮部190、全角英数字圧縮部1
92、全角カタカナ圧縮部194、全角ひらがな圧縮部
196、全角漢字圧縮部198、及び全角その他圧縮部
200が設けられ,各種文字列を個別に圧縮する。
【0095】また文字種変更符号出力部202が設けら
れ、文字種分離部23からの文字種検出情報182の変
化を認識した際に文字種変更符号を出力する。更に日本
語識別符号出力部204が設けられ、コード種別判別部
21からのコード識別情報146に基づき、ソースデー
タが日本語であり且つJIS、シフトJISまたはEU
Cなどのコード種別を示す日本語識別符号を出力する。
【0096】符号選択部206は、各文字種ごとの圧縮
部186,188,・・・200より出力される各文字
種ごとの圧縮データと文字種変更符号、更には圧縮デー
タ先頭位置に日本語識別符号を設ける符号選択を行い、
1つのビットストリームとなる圧縮データとして出力す
る。図25は、図23の文字種ごとに分離して圧縮した
圧縮データから元の日本語ソースデータを復元するデー
タ復元装置の具体的実施形態である。図24の文字列復
元部27には、符号分離部208と各文字種ごとの復元
部として半角英数字復元部214、半角カタカナ復元部
216、半角その他復元部218、全角英数字復元部2
20、全角カタカナ復元部222、全角ひらがな復元部
224、全角漢字復元部226及び全角その他復元部2
28が設けられる。
【0097】符号分離部208は、圧縮データの先頭に
配置している日本語識別符号からコード識別情報212
を分離する。また圧縮データの中で各文字種の圧縮デー
タの切替え部分に挿入されている文字種変更符号から文
字種変更情報210を出力する。ここで符号分離部20
8は、圧縮データに含まれている文字種変更符号に従っ
て圧縮データにおける文字種ごとの内容を認識し、これ
に従って各文字種ごとに分離してそれぞれの復元部に出
力する。
【0098】文字列復元部27で復元された英数字、カ
タカナなどの各文字種ごとの文字列は、文字列再構成部
29に設けている文字種混在再生部230に与えられ
る。文字種混在再生部230は、圧縮データの先頭から
分離されたコード識別情報212に基づいて、復元すべ
き日本語ソースデータのコード種別を認識し、更に符号
分離部208で分離された文字種変更情報210により
復元された文字種ごとの文字列を選択して結合すること
で、1つのビットストリームとなる複数の文字種が混在
した日本語ソースデータを再生する。
【0099】このように日本語ソースデータにおけるコ
ード内の異なる文字種ごとに分離した文字列を個別に圧
縮することで、統計的性質の似通った同じ文字種ごとに
圧縮を行って、ジブ−レンペル符号化や算術符号化にお
ける符号化能力を十分に引き出すことができ、結果とし
て高い圧縮性能を実現することができる。 (3)バイト統一による圧縮復元 図26は、日本語ソースデータを対象としたデータ圧縮
装置の実施形態であり、この実施形態にあっては複数種
類のバイト構成について1つのバイト構成に統一した後
に圧縮することを特徴とする。
【0100】図26において、バイト統一を行うデータ
圧縮装置は、符号判別部31、バイト構成統一部33及
び文字列圧縮部35で構成される。符号判別部31は、
日本語ソースデータがJISコード、シフトJISコー
ド、EUCコード、JEFコードあるいはユニコード等
であることを判別し、コード識別情報を出力する。バイ
ト構成統一部33は、コード種別判別部31で判別され
たコード種別から、判別したコードで使用しているバイ
ト構成の内容を認識し、異なったバイト構成の文字を使
用しているバイト構成の中で最も大きいバイト数のバイ
ト構成に統一する処理を行う。文字列圧縮部35は、バ
イト構成統一部33で1つのバイト構成に統一された文
字列の圧縮を行う。
【0101】図27は、図26のバイト構成の統一によ
る圧縮で得られた圧縮データから元の日本語ソースデー
タを復元するデータ復元装置の実施形態であり、文字列
復元部37と文字列再構成部39で構成される。文字列
復元部37は、圧縮データから統一バイト構成の文字列
を復元する。文字列再構成部39は、復元された統一バ
イト構成の文字列から複数種類のバイト構成の混在した
元の日本語ソースデータを再構成する。
【0102】図28は、図26のデータ圧縮装置の具体
的な実施形態である。図28において、コード種別判別
部31は図20のバイト構成に分けて圧縮する場合のコ
ード種別判別部と同じであり、同じ符号で表わしてい
る。コード種別判別部31に続いてはバイト構成統一部
33が設けられ、バイト構成検出部232とバイト構成
統一変換部234で構成される。
【0103】バイト構成検出部232は、一時記憶部1
36を経由して入力した日本語ソースデータの各文字が
単一バイト文字か多数バイト文字かを判別する。JI
S、シフトJIS、EUC、更にJEFの各コードにあ
っては、1バイト構成と2バイト構成であることから、
バイト構成検出部232は1バイト構成または2バイト
構成の検出結果を次段のバイト構成統一変換部234に
出力する。
【0104】バイト構成統一変換部234は、単一バイ
トと複数バイトで構成されている場合、最も多いバイト
数の文字に統合する。例えば1バイト構成と2バイト構
成の場合には、1バイト構成が検出された場合、この1
バイト構成の文字にダミー1バイトを加えることで2バ
イト構成の文字に変換する。バイト構成統一のために付
加したダミーバイトは、文字コードから明確に区別する
ことのできる特定のビットコードをもつようにする。し
たがって、2バイト構成か1バイト構成かはダミーバイ
トが存在するか否かで認識することができる。
【0105】バイト構成統一部33に続いて設けられた
文字列圧縮部35には、複数バイト圧縮部236、日本
語識別符号出力部238及び符号選択部240が設けら
れる。複数バイト圧縮部236は、バイト構成統一変換
部234より出力された同じ複数倍と構成の文字列の圧
縮を行う。日本語識別符合出力部238は、コード種別
判別部31より出力されたコード識別情報146に基づ
き、日本語コードであり且つどのコード種別であるかを
示す日本語種別符合を出力する。
【0106】符号選択部240は、先頭位置に日本語識
別符合を挿入した後、複数バイト圧縮部236より得ら
れる圧縮データを1つのビットストリームの圧縮データ
として出力する。複数バイト圧縮部236の具体例とし
ては、図29、図30及び図31に示す3種類のものが
ある。図29(A)の複数バイト圧縮部236−1は、
図29(B)のバイト分割された文字列について、2バ
イトを1ワードとした場合に1文字を1ワードとして図
29(C)のように圧縮を行う。
【0107】図30(A)の複数バイト圧縮部236−
2は、図30(B)のバイト単位の文字列について1ワ
ードが1バイトの場合であり、これについて図30
(C)のように2ワード単位に圧縮している。更に図3
1(A)の複数バイト圧縮部236−3にあっては、
(B)のバイト単位の文字列について1ワードが1バイ
トの場合、図31(C)のように1ワード単位に圧縮し
ている。
【0108】図32は、バイト構成の統一により圧縮し
た圧縮データから日本語ソースデータを復元するデータ
復元装置の具体的な実施形態である。図32において、
文字列復元部37は符号分離部242と複数バイト復元
部246で構成される。符号分離部242は、圧縮デー
タの先頭に挿入している日本語識別符合から日本語コー
ドであり、且つJIS、シフトJISあるいはEUCな
どのコード種別を示すコード識別情報244を分離す
る。
【0109】複数バイト復元部246は、圧縮データか
ら統一バイト構成の文字列を復元する。このバイト構成
復元部246としては、図33,図34,図35のいず
れかを用いる。図33(A)の複数バイト復元部246
−1は図29(A)の複数バイト圧縮部236−1に対
応しており、復元するソースデータは1ワードが2バイ
トであり、1ワード単位に圧縮していることから、図3
3(B)のように2バイトで1ワードとなるワード単位
に復元した後、図33(C)のようにワード単位に繋げ
て出力する。
【0110】図34(A)の複数バイト復元部246−
2は図30(A)の複数バイト圧縮部236−2に対応
しており、この場合には1ワードを1バイトとして2ワ
ード単位に圧縮していることから、図34(B)のよう
に同じく2ワード単位に復元した後、図34(C)のよ
うに1ワードずつ繋げて出力する。図35(A)は図3
1(A)の複数バイト圧縮部236−3に対応してお
り、この場合には1バイトを1ワードとして1ワード単
位に圧縮していることから、図35(B)のように1バ
イト1ワード単位に復元した後に1ワードずつ図35
(C)のように繋げて出力する。
【0111】再び図32を参照するに、文字列再構成部
39には単一/複数バイト混在再生部248が設けら
れ、符号分離部242より分離されたコード識別情報2
44から日本語のコード種別が認識される。続いて複数
バイト復元部246より復元された図33(C),図3
4(C),図35(C)のいずれかの復元文字列につい
て、バイト単位にダミーバイトの有無をチェックし、も
しダミーバイトがあればダミーバイトを除去することで
1バイト構成の文字に変換し、結果として単一バイトと
複数バイトが混在した日本語ソースデータの文字列を復
元する。
【0112】図36は、図29(A)の複数バイト圧縮
部236−1によるJIS漢字を例にとって2バイトで
構成された1ワードの文字をワード単位に辞書登録して
ジブ−レンペル符号化した場合の処理である。また図3
7は、図31(A)の複数バイト圧縮部236−3によ
って同じくJIS漢字コードについて1バイトを1ワー
ドとしてワード単位即ちバイト単位に登録したジブ−レ
ンペル符号化の処理を示している。
【0113】いずれの場合にも、圧縮しようとする文字
列は2バイトコードに統一されているため、本来2バイ
ト構成の文字が1バイト構成の文字との混在により無意
味にバイト単位に分割されて辞書登録されることで符号
効率が低下するようなことを確実に回避できる。
【0114】
【発明の効果】以上説明してきたように本発明によれ
ば、国際標準化されている異なる言語が混在するユニコ
ード等に対し、各言語あるいは各言語内の統計的性質の
異なる各種文字を区別して圧縮することにより圧縮性能
を更に高めることができる。また異なるバイト構成ある
いは異なる文字種をもつ日本語データについて、同様に
バイト構成ごとに分けた圧縮あるいは文字種ごとに分け
た圧縮を行うことで、更に圧縮性能を高めることができ
る。またバイト構成の相違に対し1つのバイト構成に統
一して圧縮してすることで、同様に圧縮性能を高めるこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】ユニコードを対象とした本発明のデータ圧縮装
置のブロック図
【図3】ユニコードを対象とした本発明のデータ復元装
置のブロック図
【図4】ユニコード空間の説明図
【図5】ユニコードのバイト構成の説明図
【図6】ユニコード空間の基本多国語プレーンの説明図
【図7】ユニコードにおける全体構成、一般文字、記号
及び東洋関連の割当て説明図
【図8】ユニコード多国語ソースを対象としたデータ圧
縮装置のブロック図
【図9】ユニコード多国語ソースを対象としたデータ復
元装置のブロック図
【図10】ユニコード東洋言語ソースを対象としたデー
タ圧縮装置のブロック図
【図11】ユニコード東洋言語ソースを対象としたデー
タ復元装置のブロック図
【図12】ユニコード韓国語ソースを対象としたデータ
圧縮装置のブロック図
【図13】ユニコード韓国語ソースを対象としたデータ
復元装置のブロック図
【図14】ユニコード日本語ソースを対象としたデータ
圧縮装置のブロック図
【図15】ユニコード日本語ソースを対象としたデータ
復元装置のブロック図
【図16】日本語コードを対象に異なるバイト構成の文
字列毎に圧縮する本発明のデータ圧縮装置のブロック図
【図17】日本語コードを対象に異なるバイト構成の文
字列毎に圧縮したデータを復元する本発明のデータ復元
装置のブロック図
【図18】各種の日本語コードのバイト構成の説明図
【図19】日本語コード空間の説明図
【図20】図16のデータ圧縮装置の詳細ブロック図
【図21】図17のデータ復元装置の詳細ブロック図
【図22】日本語コードを対象に異なる文字種の文字列
毎に圧縮する本発明のデータ圧縮装置のブロック図
【図23】日本語コードを対象に異なる文字種の文字列
毎に圧縮したデータを復元する本発明のデータ復元装置
のブロック図
【図24】図22のデータ圧縮装置の詳細ブロック図
【図25】図23のデータ復元装置の詳細ブロック図
【図26】日本語コードを対象にバイト構成を統一して
圧縮する本発明のデータ圧縮装置のブロック図
【図27】日本語コードを対象にバイト構成を統一して
圧縮したデータを復元する本発明のデータ復元装置のブ
ロック図
【図28】図26のデータ圧縮装置の詳細ブロック図
【図29】2バイトで1ワードの文字列をワード単位に
圧縮する図28の複数バイト圧縮部の説明図
【図30】1バイトで1ワードの文字列を2ワード単位
に圧縮する図28の複数バイト圧縮部の説明図
【図31】1バイトで1ワードの文字列を1ワード単位
に圧縮する図28の複数バイト圧縮部の説明図
【図32】図27のデータ圧縮装置の詳細ブロック図
【図33】2バイトで1ワードの文字列をワード単位に
圧縮したデータを復元する図32の複数バイト復元部の
説明図
【図34】1バイトで1ワードの文字列を2ワード単位
に圧縮したデータを復元する図32の複数バイト復元部
の説明図
【図35】1バイトで1ワードの文字列を1ワード単位
に圧縮したデータを復元する図32の複数バイト復元部
の説明図
【図36】2バイトを1ワードとしてJIS漢字コード
をワード単位にジプーレンペル符号化した場合の説明図
【図37】1バイトを1ワードとしてJIS漢字コード
をワード単位にジプーレンペル符号化した場合の説明図
【図38】従来のLZW符号における辞書の木構成の説
明図
【図39】LZWによる文字列の符号化の概略の説明図
【図40】文字abcの文字列を例とったLZW符号化
の具体例な説明図
【図41】図40のLZW符号化で参照する辞書の説明
【図42】LZW符号化アルゴリズムのフローチャート
【図43】文字abcの文字列を例にとったLZW復号
化の具体例な説明図
【図44】LZW復号化アルゴリズムのフローチャート
【図45】単一バイトの圧縮と復元を行っている従来装
置のブロック図
【図46】JIS漢字コードにつきバイト単位にLZW
符号化した場合の説明図
【図47】シフトJIS漢字コードにつきバイト単位に
LZW符号化した場合の説明図
【符号の説明】
10:言語判別部 11,21,31:コード種別判別部 12:言語列分離部 13:バイト構成分離部 14:言語列圧縮部 15,25,35:文字列圧縮部 16:ユニコードソースデータ 17,27,37:文字列復元部 18:圧縮データ 19,29,39:文字列再構成手段 20:言語列復元部 22:言語列再構成部 23:文字種分離手段 24:基本多数国語平面(基本ユニコード空間) 26:補助プレーン 28:プライベート・ユーズ・プレーン 30,58,88,110:行オクテットデコード部 32,68,90,112:言語別分離部(ソースデー
タ用) 33:バイト構成統一部 34:ラテン語圧縮部 36:ギリシャ語圧縮部 38:ハングル語圧縮部 40:漢字圧縮部 42,76,98:符号統合部 44,78,100,124:言語分離部(圧縮データ
用) 46:ラテン語復元部 48:ギリシャ語復元部 50:ハングル語復元部 52:漢字復元部 54,86,108,134:ユニコード再生部 56:一時記憶部 60:頻度測定言語判別部 62:ひらがな・カタカナ頻度記憶部 64:ハングル語頻度記憶部 66:漢字頻度記憶部 70:日本語圧縮部 72:韓国語圧縮部 74:中国語圧縮部 80:日本語復元部 82:韓国語復元部 84:中国語復元部 92,114:英数字圧縮部 94:ハングル語圧縮部 96:漢字圧縮部 102,126:英数字復元部 104:ハングル復元部 106:漢字復元部 116:ひらがな圧縮部 118:カタカナ圧縮部 120:漢字圧縮部 128:ひらがな復元部 130:カタカナ復元部 132:漢字復元部 136:一時記憶部 138:単一バイト頻度偏り検出部(第1頻度検出手
段) 140:複数バイト頻度偏り検出部(第2頻度検出手
段) 142:識別符号頻度検出部(第3頻度検出手段) 144:符号識別部(コード識別部) 146:符号識別情報(コード識別情報) 148:単一バイト構成検出部 150:バイト構成検出情報 152:文字列分離部 154:単一バイト文字列 156:複数バイト文字列 158:単一バイト圧縮部 160:複数バイト圧縮部 162:バイト構成変更符号出力部 164:日本語識別符号出力部 166:符号選択部 168:符号分離部 170:単一バイト復元部 172:複数バイト復元部 176:バイト構成変更情報 178:単一/複数バイト混在再生部 180:文字種検出部 182:文字種検出情報 184:文字種分離部 186:半角英数字圧縮部 188:半角カタカナ圧縮部 190:半角その他圧縮部 192:全角英数字圧縮部 194:全角カタカナ圧縮部 196:全角ひらがな圧縮部 198:全角漢字圧縮部 200:全角その他圧縮部 202:文字種変更符号出力部 204:日本語識別符号出力部 208:符号分離部 210:文字種変更情報 212:符号識別情報 214:半角英数字復元部 216:半角カタカナ復元部 218:半角その他復元部 220:全角英数字復元部 222:全角カタカナ復元部 224:全角ひらがな復元部 226:全角漢字復元部 228:全角その他復元部 230:文字種混在再生部 232:バイト構成検出部 234:バイト構成統一変換部 236:複数バイト圧縮部 238:日本語識別符号出力部 240:符号選択部 242:符号分離部 246:複数バイト復元部 248:単一/複数バイト混在再生部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 5/00 G06F 17/21

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】1文字コードが異なるバイト数で構成さ
    れ、且つ種類の異なった文字コードのデータ列を入力し
    て圧縮するデータ圧縮装置に於いて、 前記入力データ列の属する文字コードの種別を判別して
    コード種別識別情報を出力するコード種別判別手段と、 前記コード種別識別情報に基づいて、前記入力データ列
    の各文字コードのバイト構成を検出し、バイト構成の異
    なる複数種類の文字列に分離する分離手段と、 前記文字列分離手段で分離したバイト構成の異なる複数
    種類の文字列を個別に圧縮する文字列圧縮手段と、を備
    え、 前記データ列は、上位バイトと下位バイトで定義される
    2次元の文字コード空間に割り当てられた複数種類の文
    字コードのいずれかのデータ列であり、 前記コード種別判別手段は、 前記データ列の一定区間のデータを蓄積する一時記憶手
    段と、 前記一時記憶手段の蓄積データについて、前記文字コー
    ド空間における1バイト文字の頻度分布を検出する第1
    頻度検出手段と、 前記一時記憶手段の蓄積データについて、前記文字コー
    ド空間における複数バイト文字の頻度分布を検出する第
    2頻度検出手段と、 前記複数種類の各文字コードで使用される識別文字コー
    ドの頻度分布を検出する第3頻度検出手段と、 前記3つの頻度検出手段による前記文字コード空間にお
    ける頻度分布の偏りに基づいて前記データ列の文字コー
    ド種別を識別する識別手段と、を備え、 前記バイト構成分離手段は、 前記データ列を1バイト単位に分離して1バイト構成か
    複数バイト構成かを検出してバイト構成検出情報を出力
    するバイト構成検出手段と、 前記バイト構成検出情報に基づいて前記データ列を1バ
    イト構成と複数バイト構成の文字列に分離する文字列分
    離手段と、を備え、 前記文字列圧縮手段は、 1バイト構成の文字列を圧縮する単一バイト圧縮手段
    と、 複数バイト構成の文字列を圧縮する複数バイト圧縮手段
    と、 前記コード種別識別情報に従って文字コードの種別を示
    すコード識別情報を出力する文字コード識別情報出力手
    段と、 前記バイト構成検出情報に基づいて、バイト構成の変更
    を示すバイト構成変更情報を出力するバイト構成変更出
    力手段と、 前記文字コード識別情報、バイト構成変更情報、単一バ
    イト圧縮データおよび複数バイト圧縮データを選択合成
    して出力する符号選択手段と、を備えたことを特徴とす
    るデータ圧縮装置。
  2. 【請求項2】1文字コードが異なるバイト数で構成さ
    れ、且つ種類の異なった文字コードのデータ列の文字コ
    ードの種別を示すコード種別識別情報に基づいてバイト
    構成の異なる複数種類の文字列に分離した後に個別に圧
    縮された圧縮データを復元するデータ復元装置に於い
    て、 圧縮データをバイト構成毎に分離して文字列を個別に復
    元する文字列復元手段と、 前記文字列復元手段で復元されたバイト構成の異なる各
    文字列を1つに結合して元の文字列を再構成する文字列
    再構成手段と、を設け、 前記圧縮データは、1バイト構成の文字列を圧縮した単
    一バイト圧縮データ、複数バイト構成の文字コード列を
    圧縮した複数バイト圧縮データ、文字コードの種別を示
    すコード識別情報、バイト構成の変更を示すバイト構成
    変更情報で構成されており、 前記文字列復元手段は、 前記単一バイト圧縮データ、複数バイト圧縮データ、コ
    ード識別情報、及びバイト構成変更情報を分離する符号
    分離手段と、 前記符号分離手段で分離された単一バイト圧縮データか
    ら単一バイト構成の文字列を復元する単一バイト復元手
    段と、 前記符号分離手段で分離された複数バイト圧縮データか
    ら複数バイト構成の文字列を復元する複数バイト復元手
    段と、を備え、 前記文字列再構成手段は、前記符号分離手段で分離され
    たコード識別情報とバイト構成変更情報に基づいて、復
    元された単一バイト構成の文字列と複数バイト構成の文
    字列を結合して元の文字コード列を復元することを特徴
    とするデータ復元装置。
  3. 【請求項3】1文字の文字コードが異なるバイト数で構
    成され、且つ種類の異なった文字コードのデータ列を入
    力して圧縮するデータ圧縮装置に於いて、 前記入力データ列の属する文字コードの種別を判別して
    コード種別識別情報を出力するコード種別判別手段と、 前記コード種別識別情報に基づいて、前記データ列の各
    文字コードの文字種を検出し、異なる文字種毎の文字列
    に分離する文字種分離手段と、 前記文字種分離手段で分離した異なる文字種毎の各文字
    列を個別に圧縮する文字列圧縮手段と、を備え、 前記データ列は、上位バイトと下位バイトで定義される
    2次元の文字コード空間に割り当てられた複数種類の文
    字コードのいずれかのデータ列であり、 前記コード種別判別手段は、 前記データ列の一定区間のデータを蓄積する一時記憶手
    段と、 前記一時記憶手段の蓄積データについて、前記コード空
    間における1バイト文字の頻度分布を検出する第1頻度
    検出手段と、 前記一時記憶手段の蓄積データについて、前記文字コー
    ド空間における複数バイト文字の頻度分布を検出する第
    2頻度検出手段と、 前記複数種類の各文字コードで使用される識別文字コー
    ドの頻度分布を検出する第3頻度検出手段と、 前記3つの頻度検出手段による前記文字コード空間にお
    ける頻度分布の偏りに基づいて前記データ列の文字コー
    ド種別を識別する識別手段と、を備え、 前記文字種分離手段は、 前記データ列を1バイト単位に分離し、文字種を検出し
    て文字種検出情報を出力する文字種検出手段と、 前記文字種検出情報に基づいて文字列を各文字種毎に分
    離する文字列分離手段と、を備え、 前記文字列圧縮手段は、 前記文字種毎に設けられた複数の文字種別圧縮手段と、 前記文字種識別情報に従って文字コードの文字種を示す
    文字コード識別情報を出力する文字コード識別情報出力
    手段と、 文字種の変更を示す文字種変更情報を出力する文字種変
    更情報出力手段と、 前記文字コード識別情報、文字種変更情報、各文字種毎
    の圧縮データを選択合成して出力する符号選択手段と、
    を備えたことを特徴とするデータ圧縮装置。
  4. 【請求項4】1文字の文字コードが異なるバイト数で構
    成され、且つ種類の異なった文字コードのデータ列を、
    文字コード種別を示すコード種別識別情報に基づいて、
    異なる文字種の文字コード列に分離した後に個別に圧縮
    された圧縮データを復元するデータ復元装置に於いて、 前記圧縮データを文字種毎に分離し文字種毎の文字列を
    個別に復元する文字列復元手段と、 前記文字列復元手段で復元された文字種の異なる各文字
    列を1つに結合して元の文字列を再構成する文字列再構
    成手段と、を設け、 前記圧縮データは、1バイト構成の文字列を文字種毎に
    分離して個別に圧縮した文字種別圧縮データ、文字コー
    ドの種別を示すコード識別情報、文字種の変更を示す文
    字種変更情報で構成されており、 前記文字列復元手段は、 前記文字種毎の圧縮データ、コード識別情報、及び文字
    種変更情報を分離する符号分離手段と、 前記符号分離手段で分離された文字種毎の圧縮データか
    ら文字列を文字種毎に復元する文字種別復元手段と、を
    備え、 前記文字列再構成手段は、前記符号分離手段で分離され
    たコード識別情報と文字種変更情報に基づいて、文字種
    毎に復元された文字列を結合して元の文字列を再生する
    ことを特徴とするデータ復元装置。
  5. 【請求項5】請求項乃至項のいずれかに記載のデー
    タ圧縮装置並びにデータ復元装置に於いて、前記文字コ
    ード空間には、複数の文字コードとして、JISコー
    ド、シフトJISコード、EUCコード、ユニコード、
    及びJEFコードが割り当てられたことを特徴とするデ
    ータ圧縮装置。
JP02352396A 1996-02-09 1996-02-09 データ圧縮装置及びデータ復元装置 Expired - Fee Related JP3499671B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP02352396A JP3499671B2 (ja) 1996-02-09 1996-02-09 データ圧縮装置及びデータ復元装置
US08/682,428 US5889481A (en) 1996-02-09 1996-07-17 Character compression and decompression device capable of handling a plurality of different languages in a single text
DE69612832T DE69612832T2 (de) 1996-02-09 1996-07-31 Datenkomprimierungs/Dekomprimierungsvorrichtung und -verfahren
EP96305634A EP0789460B1 (en) 1996-02-09 1996-07-31 Data compression/decompression apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02352396A JP3499671B2 (ja) 1996-02-09 1996-02-09 データ圧縮装置及びデータ復元装置

Publications (2)

Publication Number Publication Date
JPH09218867A JPH09218867A (ja) 1997-08-19
JP3499671B2 true JP3499671B2 (ja) 2004-02-23

Family

ID=12112815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02352396A Expired - Fee Related JP3499671B2 (ja) 1996-02-09 1996-02-09 データ圧縮装置及びデータ復元装置

Country Status (4)

Country Link
US (1) US5889481A (ja)
EP (1) EP0789460B1 (ja)
JP (1) JP3499671B2 (ja)
DE (1) DE69612832T2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3282976B2 (ja) * 1996-11-15 2002-05-20 株式会社キングジム 文字情報処理装置及び方法
TW421750B (en) * 1997-03-14 2001-02-11 Omron Tateisi Electronics Co Language identification device, language identification method and storage media recorded with program of language identification
US6094634A (en) * 1997-03-26 2000-07-25 Fujitsu Limited Data compressing apparatus, data decompressing apparatus, data compressing method, data decompressing method, and program recording medium
JPH11143877A (ja) * 1997-10-22 1999-05-28 Internatl Business Mach Corp <Ibm> 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム
US6070179A (en) * 1998-02-20 2000-05-30 International Business Machines Corporation Method and system for compressing unicode data within a data processing system
US6757647B1 (en) * 1998-07-30 2004-06-29 International Business Machines Corporation Method for encoding regular expressions in a lexigon
JP4003854B2 (ja) * 1998-09-28 2007-11-07 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
US6438516B1 (en) * 1998-12-07 2002-08-20 International Business Machines Corporation Method and apparatus for optimizing unicode composition and decomposition
WO2000074054A2 (en) * 1999-05-28 2000-12-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, apparatus for recording data onto the semiconductor memory card, and apparatus for reproducing data of the semiconductor memory card
US6425123B1 (en) * 1999-06-29 2002-07-23 International Business Machines Corporation System, method, and program for testing translatability of software by using english multi-byte transliteration creating double-wide characters
US6453462B1 (en) 1999-06-29 2002-09-17 International Business Machines Corporation Mock translation system, method, and program using multi-byte placeholder characters to test translatability of software that will display multi-byte languages
US6507812B1 (en) 1999-06-29 2003-01-14 International Business Machines Corporation Mock translation method, system, and program to test software translatability
JP3794882B2 (ja) * 1999-10-28 2006-07-12 富士通株式会社 情報処理装置
US7107325B1 (en) * 1999-11-15 2006-09-12 Insweb Corporation System and method for optimizing and processing electronic pages in multiple languages
US6717580B1 (en) * 2000-02-02 2004-04-06 America Online, Inc. Method and apparatus using a list of <minimum, size, gap, offset > quadruple to encode unicode characters in an upper/lowercase mapping
JP3485898B2 (ja) * 2000-11-13 2004-01-13 株式会社スクウェア・エニックス コンピュータ読み取り可能な記録媒体およびメッセージ送信プログラム、メッセージ受信プログラム、メッセージ送受信プログラムおよびメッセージ送信方法、メッセージ受信方法、メッセージ送受信方法および情報処理装置
US6829386B2 (en) * 2001-02-28 2004-12-07 Sun Microsystems, Inc. Methods and apparatus for associating character codes with optimized character codes
US7120900B2 (en) 2001-04-19 2006-10-10 International Business Machines Bi-directional display
US7086004B2 (en) * 2001-04-19 2006-08-01 International Business Machines Corporation Generalized mechanism for unicode metadata
TW530495B (en) * 2001-05-16 2003-05-01 Cyberlink Corp System and method for processing compressed data stream
US7996207B2 (en) 2001-06-26 2011-08-09 International Business Machines Corporation Bidirectional domain names
JP2003044472A (ja) * 2001-07-31 2003-02-14 Canon Inc 情報処理装置、情報処理システム、情報処理装置の制御方法、記憶媒体、及び制御プログラム
KR100418349B1 (ko) * 2001-09-05 2004-02-11 (주) 한국인프라 데이터 압축 및 복원 방법
JP4308676B2 (ja) * 2003-01-24 2009-08-05 株式会社リコー 文字列処理装置,文字列処理方法および画像形成装置
CA2426496A1 (en) 2003-04-24 2004-10-24 Ibm Canada Limited - Ibm Canada Limitee Processing fixed-format data in a unicode environment
US7941311B2 (en) * 2003-10-22 2011-05-10 Microsoft Corporation System and method for linguistic collation
US7148824B1 (en) * 2005-08-05 2006-12-12 Xerox Corporation Automatic detection of character encoding format using statistical analysis of the text strings
WO2007076203A2 (en) 2005-12-02 2007-07-05 The Lubrizol Corporation Low temperature stable fatty acid composition
US7982637B2 (en) * 2009-08-14 2011-07-19 Stephen Allyn Joyce Data encoding method
KR101220709B1 (ko) * 2010-02-03 2013-01-10 삼성전자주식회사 한글 및 한자가 혼용된 문서에 대한 전자 사전 검색 장치 및 방법
JP6003995B2 (ja) 2012-09-21 2016-10-05 富士通株式会社 圧縮プログラム、圧縮方法及び圧縮装置
JP6032292B2 (ja) 2012-12-19 2016-11-24 富士通株式会社 圧縮プログラム、圧縮装置、伸張プログラムおよび伸張装置
JP6032291B2 (ja) 2012-12-19 2016-11-24 富士通株式会社 圧縮プログラム、圧縮装置、伸張プログラム、伸張装置およびシステム
JP6252489B2 (ja) * 2012-12-19 2017-12-27 富士通株式会社 圧縮装置、圧縮方法、圧縮プログラム、伸張装置、伸張方法、伸張プログラム、および圧縮伸張システム
JP6645013B2 (ja) * 2015-01-30 2020-02-12 富士通株式会社 符号化プログラム、符号化方法、符号化装置および伸長方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5523946A (en) * 1992-02-11 1996-06-04 Xerox Corporation Compact encoding of multi-lingual translation dictionaries
US5374916A (en) * 1992-12-18 1994-12-20 Apple Computer, Inc. Automatic electronic data type identification process
WO1994027374A1 (en) * 1993-05-13 1994-11-24 Apple Computer, Inc. Method and apparatus for efficient compression of data having redundant characteristics
US5444445A (en) * 1993-05-13 1995-08-22 Apple Computer, Inc. Master + exception list method and apparatus for efficient compression of data having redundant characteristics
US5689616A (en) * 1993-11-19 1997-11-18 Itt Corporation Automatic language identification/verification system

Also Published As

Publication number Publication date
JPH09218867A (ja) 1997-08-19
US5889481A (en) 1999-03-30
DE69612832D1 (de) 2001-06-21
DE69612832T2 (de) 2001-08-30
EP0789460B1 (en) 2001-05-16
EP0789460A1 (en) 1997-08-13

Similar Documents

Publication Publication Date Title
JP3499671B2 (ja) データ圧縮装置及びデータ復元装置
JP3421700B2 (ja) データ圧縮装置及び復元装置並びにその方法
US8659451B2 (en) Indexing compressed data
JP3278297B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
JP2581903B2 (ja) バイト整列式データ圧縮方法及び装置
EP0584992B1 (en) Text compression technique using frequency ordered array of word number mappers
JP3397431B2 (ja) データ圧縮方法および装置ならびにデータ復元方法および装置
US20010051941A1 (en) Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data
JP4003854B2 (ja) データ圧縮装置及び復元装置並びにその方法
US7375660B1 (en) Huffman decoding method
US5585793A (en) Order preserving data translation
EP2830225A1 (en) Program, compressed data generation method, decompression method, information processing device, and recording medium
De Moura et al. Direct pattern matching on compressed text
KR19980080230A (ko) 데이타 압축 장치, 데이타 복원 장치, 데이타 압축 방법, 데이타 복원 방법 및 프로그램 기록 매체
JP3231105B2 (ja) データ符号化方式及びデータ復元方式
US6834283B1 (en) Data compression/decompression apparatus using additional code and method thereof
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
KR100326634B1 (ko) 문서정보격납장치,문서정보격납방법,문서정보검색장치및문서정보검색방법
JP3350118B2 (ja) データ符号化方式及びデータ復元方式
Shanmugasundaram et al. Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE)
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JPH0546357A (ja) テキストデータの圧縮方法および復元方法
Nguyen et al. A syllable-based method for vietnamese text compression
Bharathi et al. A plain-text incremental compression (pic) technique with fast lookup ability
JPH05152971A (ja) データ圧縮・復元方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030708

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031104

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

Free format text: PAYMENT UNTIL: 20071205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101205

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees