JP3511901B2 - 情報処理装置および情報処理システム - Google Patents

情報処理装置および情報処理システム

Info

Publication number
JP3511901B2
JP3511901B2 JP18591398A JP18591398A JP3511901B2 JP 3511901 B2 JP3511901 B2 JP 3511901B2 JP 18591398 A JP18591398 A JP 18591398A JP 18591398 A JP18591398 A JP 18591398A JP 3511901 B2 JP3511901 B2 JP 3511901B2
Authority
JP
Japan
Prior art keywords
character string
occurrences
dictionary
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.)
Expired - Fee Related
Application number
JP18591398A
Other languages
English (en)
Other versions
JP2000022552A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP18591398A priority Critical patent/JP3511901B2/ja
Publication of JP2000022552A publication Critical patent/JP2000022552A/ja
Application granted granted Critical
Publication of JP3511901B2 publication Critical patent/JP3511901B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、符号化復号化装置
に係り、信号を効率よく圧縮するための処理手順と装置
構成に関する。
【0002】
【従来の技術】文書,プログラムなどの文字列を対象と
した符号化方式を、T. A. Welchが、“A Technique for
High Performance Data Compression”, IEEE Comput
ing,vol. 17, pp. 8−19, June, 1984、と題する論文で
提案している。これは、Lempel,Zifが提案した従来方
式の改良であることから、3者の頭文字をとり、LZW
方式と呼ばれている。この方式は、入力した文字列(信
号系列)を部分文字列(部分信号系列)に分解して、生
起する頻度に基づき辞書に登録していく手順を持つこと
が特徴である。これにより、入力した部分文字列がすで
に辞書登録済みならば、該文字列を辞書の登録番号に変
換することでデータ圧縮を実現する。この方式のもう一
つの特徴は、入力文字列の生起回数に基づき辞書内容を
更新することで、文字列の特性に適応できることであ
る。
【0003】一方、上記とは異なる観点から、ハフマン
符号と呼ばれる符号語の生成方式を、Huffman, D. A.
が、:“A method for the construction of minimumre
dundancy codes", Proceeding of IRE, vol. 40, no.
9, pp. 1098−1101,Sep. 1952 、と題する論文で提案を
行っている。この方式は、信号の生起確率に基づき符号
を生成する手順である。信号の取り得る事象数が増える
と符号生成のために膨大な処理時間がかかるため、一般
に、あらかじめ全ての符号を作成して表にまとめて利用
する。たとえば、ファクシミリでは、全ての符号を国際
標準として定めている。これは、典型的な画像を定め
て、ラスタースキャンして得られた黒と白の連続個数
(ラン長)から、上記ハフマン方式に基づき作成した符
号である。
【0004】
【発明が解決しようとする課題】一般に圧縮処理は、入
力信号系列の変換を行うモデル化部と、符号語の割り当
てを行う符号変換部から構成される。従来提案のLZW
方式は、文字列を対象にして、前者のモデル化部の処理
を工夫した方式である。また、従来のハフマン符号は、
信号の生起確率を利用した、後者の符号変換部の代表的
な手法である。このように、いずれの従来方式も、モデ
ル化部と符号変換部を別々にしているため、十分な圧縮
効率を実現できないという問題がある。
【0005】さらに上記の従来方式は、信号の生成手段
とは無関係な動作を行う方式である。すなわち、符号化
対象の信号が、あらかじめ全て生成されている場合(バ
ッチ型)も、例えば操作者が一文字ずつ入力する場合
(リアルタイム型)も、圧縮処理の手順は変わらない。
リアルタイム型の場合に、操作者の入力動作と圧縮処理
手順において、信号のやり取りすることは考慮されてい
ない。
【0006】本発明は符号化において効率の良い圧縮を
行う情報処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的は、少なくとも
文字が入力される入力部と、文字列とこの文字列の生起
回数及び文字列毎に与えられる識別番号とを対応付けて
記憶する辞書と、辞書に記憶された文字列について生起
回数が大きい文字列から順に、生起回数に基づいて符号
語長を求め、この符号語長から対応する識別番号の符号
語を生成すると共に、求めた符号語長から符号化誤差を
求めこの符号化誤差から他の文字列の生起回数を補正す
る符号化部とを有することにより達成することができ
る。
【0008】また上記目的は、入力された文字列と、こ
の文字列の生起回数および文字列ごとに与えられた識別
番号とを記憶した辞書から生起回数の最も大きい文字列
について、生起回数から符号語のビット長を求め、この
ビット長の整数部分から文字列の識別番号の符号語を生
成する段階と、求めたビット長から符号化誤差を求め、
この符号化誤差と残りの文字列の生起回数から残りの文
字列の新たな生起回数を決定する段階と、残りの文字列
の生起回数の最も大きい文字列について生起回数から符
号語のビット長を求め、このビット長の整数部分から文
字列の識別番号の符号語を生成する段階とを有すること
により達成することができる。
【0009】すなわち、本発明により生成される符号語
は、符号語を生成するたびに、まだ生成されていない文
字列の生起回数を補正する。このようにすることによ
り、生成された符号語が近接し、効率良い符号を生成す
ることができる。また、求めた符号長の整数部分から符
号語を生成するために高速に符号語を生成することがで
きる。
【0010】
【発明の実施の形態】以下の実施例では、バッチ型とリ
アルタイム型の基本構成について述べる。またリアルタ
イム型における入力支援の具体的な実施例を述べる。い
ずれの場合にも、入力信号の性質に適応して最適な符号
語を生成することが特徴であり、該符号生成の具体的な
手順を説明する。
【0011】以下の実施例では、入力する信号は1バイ
トで表される文字コードの系列(文字列)とする。しか
し、本発明は、文字,画像,音声などの信号を対象に、
幅広く適用可能である。
【0012】以下の説明中では、信号,事象,文字、あ
るいは、文字列と信号系列という言葉を同じ意味で使っ
ている個所がある。また、本発明では、生起確率と生起
回数は相互に変換可能であるため、同じ意味で使ってい
る個所がある。
【0013】(1)基本構成 図1に本発明の情報処理装置の符号化処理を行う部分の
基本構成を示す。
【0014】信号入力装置100は、バッチ型あるいは
リアルタイム型の動作をする。図1(1)に示すバッチ
型の場合は、あらかじめファイルに蓄積されているよう
な信号系列を入力の対象とする。バッチ型では、操作者
に対する支援機能は不要である。一方、図1(2)に示
すようにリアルタイム型の場合は、例えば操作者がキー
ボードを使って一文字毎にキー操作を行うことで信号入
力する。リアルタイム型では、表示手段などを備えるこ
とで、入力済みの文字列から推定される候補文字を操作
者に対して表示することで、操作者の信号入力作業の支
援を行う。
【0015】文字列解析装置101は、辞書102に登
録してある文字間の遷移確率を利用して、入力済みの文
字列に引き続いて生起する確率の高い候補文字列を、辞
書102から読み出す。また、信号入力装置100から
入力した文字列を、辞書102に登録してある文字間の
遷移確率を利用して、部分文字列に分解する。
【0016】辞書102は、部分文字列の構造に関する
データを記憶する手段である。文字と文字の遷移する確
率、あるいは部分文字列の生起回数などを、トリー形式
などのデータ構造を用いて記憶する。辞書102の内容
は、あらかじめ固定的に設定することも、文字列解析装
置101によって分解した部分文字列の生起回数の測定
結果を用いて更新することもできる。符号生成装置10
3は、文字列解析装置101によって分解した部分文字
列を、辞書102に登録した生起回数に関する情報を参
照することで、効率の良い符号語に変換する。
【0017】本発明では、辞書102に記憶された部分
文字列の生起回数に関する情報を、文字列解析装置10
1による文字列の解析、符号生成装置103の符号生成
に利用する。
【0018】またリアルタイム型の信号入力では、信号
入力装置100における操作者の入力支援のために、辞
書102の登録内容を利用する。
【0019】本発明では、生起回数に基づく最適符号を
生成することで高い圧縮率を実現すると共に、辞書を複
数の目的に兼用することで装置の小型化を実現する。
【0020】(2)信号入力装置100の構成 信号入力装置100の基本動作は、文字列などの信号を
順次に入力して、文字列解析装置101に信号を渡すた
めの入出力インターフェースである。
【0021】リアルタイム型の信号入力装置100は、
上記のバッチ型の動作に加えて、1文字ずつの入力手
段,手書き文字の認識手段,かな漢字変換手段,入力文
字および入力候補文字の表示手段,装置の動作を制御す
るための指示入力手段、などと組み合わせて動作する。
【0022】例えば、信号入力装置100をキーボード
とディスプレーで構成する。そして、図2に示す手順の
ように、操作者が一文字を入力すると、文字列解析装置
101が辞書102内の該入力文字から始まる部分文字列
を候補として読み出して、信号入力装置100のディス
プレーに表示する。文字を入力する毎に、辞書に登録さ
れた部分文字列の候補が絞られていく。操作者は、入力
したい文字列が、ディスプレー表示された部分文字列の
中にあれば、それを選択することで、全ての文字をキー
ボード入力しなくても良い。候補がない場合には、操作
者は一文字ずつキーボードによって部分文字列を入力す
る。このように選択あるいは入力した文字列を、符号化
対象として、符号化装置103に伝える。
【0023】このような手順の結果、操作者が全ての文
字をキーボード入力しなくても簡易かつ高速に文字入力
を実行できる。また、辞書に登録されている候補文字を
表示することで、あいまいな記憶に基づく文字列を入力
する際の支援となる。例えば、かな漢字変換する際に、
候補文字の表示をすることで同音異義語の変換ミスによ
る誤入力を防止することもできる。本発明は、このよう
な操作者に対する入力支援を実現できる。
【0024】(3)文字列解析装置101の構成 文字列解析装置101は、信号入力装置100から入力
した文字列を、部分文字列に分解する。また、入力済み
の文字列に引き続いて生起する確率の高い候補文字列
を、辞書102から読み出す。いずれも辞書102に登
録してある文字間の遷移確率を利用する。
【0025】図3は情報処理装置の入出力部、符号生成
部の構成を示したものであり、リアルタイム型の信号入
力をする場合には、図3に示すように、入力済みの文字
列を一時的に入力文字バッファ106に蓄積し、辞書検
索装置を用いて、辞書102に登録されている部分文字
列を検索する。図では、英文の「I HAVE APE
N.」を入力する途中を示してある。辞書102には、
先頭の文字「I」は一文字で表される一人称の主語であ
る確率が高く、次には文字の区切りを示すスペースであ
る確率が高いという情報を記憶しておくことで、主語
「I」に引き続く「HA」で始まる動詞として「HAV
E」「HAD」「HATE」などを候補として辞書から
読み出し、候補文字バッファ107に格納する。バッフ
ァ106の入力文字と107の候補文字は、信号入力装
置100に備えたディスプレーに表示する。そして、操
作者が候補の一つを選択することで、一文字ずつ入力し
なくても、入力文字を確定できる。候補文字バッファ1
07の確定した部分文字列は、入力文字バッファ106
に移動する。符号生成装置103は、入力文字バッファ
106を符号化処理の対象として、辞書102の部分文
字列の生起回数に基づき符号を生成し、生成した符号
は、符号メモリ105に蓄積、あるいは外部へ出力す
る。
【0026】リアルタイム型の場合には、操作者が入力
する制御のための信号を利用して、文字列の分解をする
ことができる。例えば、前記の信号入力装置100の動
作例で示したように、表示した複数の候補文字列の一つ
を選択する動作によって、確定した文字の終端を、文字
列の区切りとすることができる。また、日本語入力にお
ける、かな漢字変換の変換確定入力を、文字列の区切り
を指示する信号として利用できる。
【0027】図4は情報処理装置の入力部と符号生成部
を示したものであり、バッチ型およびリアルタイム型の
どちらでも、図4に示すように、文字列分解装置を用い
て、入力した文字列のみから、辞書102の入力文字列
の文字間の遷移確率に関する情報に基づき、入力文字列
を分解して部分文字列を作ることができる。これには、
入力文字列を用いて、トリーを先頭から辿っていき、ト
リー終端になった時点で部分文字列の区切りと判定す
る。文字列中に含まれる、ピリオド,コンマ,スペー
ス,括弧などの文字を、文字列の区切りを指示する信号
として利用できる。また、文法に基づく品詞の判定、主
語述語の解析などに基づき、文字列の分解をすることが
できる。文字列分解装置の構成は、従来のLZW方式の
文字列の分解方式を利用することもできる。分解した部
分文字列は、符号生成装置103によって符号に変換す
る。
【0028】(4)辞書102の構成 辞書102は、部分文字列の構造と生起回数に関する情
報を記憶する。辞書102は、信号入力装置100にお
ける操作者の入力操作の簡易化を図る文字列入力支援
と、文字列解析装置101における部分文字列の作成、
符号生成装置103の圧縮処理などに利用する。トリー
構造で辞書を構成する場合には、一つの枝に一つの文字
を割り当てることで、分岐点を経由して末端まで枝を辿
ることで部分文字列を表すことができる。図5に、文字
列「I HAVE A PEN.」を構成する部分文字列
と、それ以外の幾つかの部分文字列から作られるトリー
構造を、簡略に示している。それぞれの枝、あるいは分
岐点にカウンタを備えて、生起回数を書き込めるように
する。部分文字列は「I」のように一つの文字でも、
「PEN」のように複数の文字から構成しても良く、あ
るいは文章であっても良い。
【0029】本発明は、上記カウンタで計数する生起回
数を用いて符号生成の演算をする。確率値に換算するこ
ともできるが、小数点演算をする回路が必要である。例
えば、分岐点を介して接続される枝から枝(すなわち文
字と文字)への生起回数を、該分岐点から出力する枝の
生起回数の総数で割り算すれば、文字間の遷移確率が得
られる。複数の分岐点を介して接続される複数の枝(す
なわち文字列)についても、各文字間の遷移確率を組み
あわせることで、文字列の生起確率が得られる。
【0030】初期状態においては、全ての部分文字列
に、均一な生起回数を割り当てておくことができる。あ
るいは、あらかじめ典型的な文書を統計的に測定するこ
とで、部分文字列の生起回数をあらかじめ設定しておく
ことができる。あるいは、前回の動作の結果を記憶して
おき、初期値として利用することもできる。符号化対象
の信号の全体が、あらかじめファイル記憶されている場
合には、該信号を対象にプリスキャンして、部分文字列
の生起回数などの信号特性を測定して辞書を作り、該辞
書の内容に基づき符号化処理を行うこともできる。
【0031】上記の初期設定値を固定的に利用すること
も、新たに入力した部分文字列の生起回数に基づきカウ
ンタ内容を更新することもできる。例えば、入力した部
分文字列が、既に辞書102に登録済みであれば該当す
るカウンタの生起回数を更新する。未登録であれば、分
岐する枝を増やすことで新たに登録する。生起回数が増
加しない部分文字列は登録抹消することができる。辞書
102の内容は、符号化装置と復号化装置の両者で共通
の辞書内容を参照できるように、登録内容と更新時期を
設定する。辞書102のデータ容量は、辞書内容の更新
によって変動するが、書き換え可能なメモリに蓄積する
ことで問題ない。メモリ蓄積のためのデータ構造は、限
定するものではない。
【0032】トリー構造の各分岐点の最大分岐数は、入
力信号が1バイトの文字コードである場合に256(2
の8乗)、2バイトコードの場合は65536(2の1
6乗)である。さらに、スタート,ストップなどの制御
コードを組み込むことができる。これらの制御コード
は、文字コードと同じく符号に変換することができる。
【0033】辞書102の小型化を目的に、例えば、部
分文字列を2文字に限定することで、文字間の遷移回数
のみを用いた辞書を構成することもできる。図6に示す
ように、遷移前と遷移後の文字の組み合わせからなる2
次元テーブルで構成する。遷移の回数をカウントして、
テーブル内のカウンタを更新すると共に、出現回数の少
ない組み合わせは登録抹消する。カウンタ初期値は、一
定数、あるいは典型的な文書の測定結果に基づき設定で
きる。登録されていない文字が生起した場合には、遷移
回数の初期値として例えば「1」を割り当てて、新たに
登録する。
【0034】また、一般的な辞書である国語辞書,英和
・和英辞書,人名地名辞書などに登録されている項目
に、生起回数に関する情報を付加して、辞書102を構
成することもできる。例えば、図7に示すように、読み
出し専用のメモリに一般辞書401を、書き換え可能な
メモリに生起回数辞書402を記憶させる。そして、辞
書検索装置305を用いて、一般辞書401から候補文
字列を読み出し、生起回数辞書402から該候補文字の
生起回数に関する情報を読み出す。実際に生起した項目
数が少ない場合には、生起回数辞書402の登録数は、
一般辞書401の項目数に比べて少なくなる。こうし
て、入力支援と文字列の圧縮の両者について、辞書10
2の兼用が可能となり、装置の小型化を実現できる。
【0035】トリー構造,生起回数、あるいは生起確率
などに関する情報はSRAM,FERAM、などの書き
換え可能な半導体メモリに記憶することで、入力文字列
を統計的に測定した結果に基づき辞書の内容を更新する
ことができる。メモリに蓄積するためのデータ構造は、
例えば従来から知られているリンク構造などを利用でき
るが、特に限定するものではない。
【0036】上記のように、本発明によれば、辞書10
2を用いて文字入力支援と符号化処理を実行することが
でき、さらには一般辞書の機能を兼用することもでき
る。
【0037】(5)符号生成装置103の基本構成 符号生成装置103は、信号入力装置100および文字
解析装置101が入力した信号を、符号語に置き換え
る。本発明は、辞書102にある文字列の生起回数を用
いて最適な符号生成を行う。符号化対象とする部分文字
列は、一文字,単語,文章などの場合があるが、それぞ
れを一つの符号語に変換して出力する。符号化処理のタ
イミングは、部分文字列が入力した毎にリアルタイム型
に実行することも、あらかじめファイルに記憶された文
字列全体を対象にバッチ型に実行することもできる。
【0038】本発明は、2進数の演算により符号生成を
行い、確率値に基づく小数点演算が不要であることか
ら、簡易な装置構成で高速に信号処理できることが特徴
である。
【0039】まず、図8を用いて、2進符号(s=2)
の場合の、符号生成手順を説明する。説明に使っている
数値は一例であり、実際の値は条件によって異なる。
【0040】:始め (a)n種類の文字列の生起回数を大きな順にならべて
Ci(i=1〜n)とする。各文字列を構成する文字の
個数は限定しない。一例として、生起回数Cの総数Aは
2のべき乗である1024に設定する。
【0041】 A=Σ Ci=1024 …(1) 処理対象とする文字列は生起回数の大きな順であり、初
期値として、i=1を設定する。
【0042】(b)文字列iの符号語のビット長bi
を、次式で(底は2で、小数点以下は四捨五入する)で
設定する。
【0043】 bi=logs(1/pi)=logs(A/Ci)=logs(A)−logs(Ci) =10−log2(Ci) …(2) ここで、演算結果として求められるのは整数値であるこ
とから、上式の対数演算log2(Ci)を小数点以下まで
算出する必要はないことに着目する。例えば、入力Ci
の数値を入力し、あらかじめ計算しておいた対数演算結
果を出力する手段を用意しておくことができる。
【0044】ただし、四捨の場合に得られる2biを事象
の実際の生起回数に置き換えた際に、事象の生起回数の
大きさの順位に変動がある場合には、biに1を加算す
る(五入にする)。言い換えれば、事象の生起回数に置
き換えても、その順位に変動のない最小桁数の2進数を
求めて、その桁数biを符号語のビット数として利用す
る。
【0045】小数で与えられる確率値を、整数のビット
数(符号長)に変換する際の、切り上げ処理による圧縮
率の低下が発生する。ここで、確率値piと、設定され
た符号語の持つ最小情報量との差分は次式で求まる Ei=(1/s)bi-pi …(3) 生起回数Ciを用いて符号化誤差を次式で算出する。
【0046】 CEi=A・Ei=A・((1/s)bi-pi) =2(10-bi)-Ci …(4) (c)累積生起回数の値を一定に保つことを目的にし
て、発生する符号化誤差を、残りの文字列(i+1から
nまで)の生起回数から減算する。ここで、符号化誤差
の分配方法は限定するものではないが、分配先の事象の
生起回数の順位に変動がないことを条件とする。例え
ば、残りの文字列の生起回数の割合に比例して分配す
る。
【0047】(d)実際に生起した符号化対象とする文
字列の符号長が生成されるまで、修正済みの生起回数を
用いて(b)からの手順を繰り返す。実際に生起した事
象の処理が終了したら、符号長biを設定して(e)に
進む。
【0048】(e)符号化対象とする文字列の符号長が
求まったなら、符号のビットを設定する。まず、累積生
起回数を次式で算出する。そして、10ビット(この値
は式(1)の設定例であるlogs(A)=10の場合)の
2進数表現を行い、上位の空きビットは0とする。例え
ば10進数で512は「1000000000」である。そして、
最上位からビット数biを切り出して、符号語を設定す
る。
【0049】 qi=Σ(2bk)(k=1 to i−1の総和) …(5) :終わり 上記手順が最適である理由は、まず、符号生成手順の各
段階において、生起確率に基づく最短の符号語長が設定
される。この符号語長の設定によって発生する確率値の
誤差を、残りの事象の確率値に配分することで符号化ロ
スは発生しない。この手順を順次繰り返すことで、最適
な符号語を生成できる。
【0050】図9は符号生成装置103の構成を示して
いる。信号入力装置100から符号化対象とする信号を
入力し、辞書102から生起回数を入力する。生成した
符号は、符号メモリあるいは伝送装置に出力する。ここ
で、符号長設定部110は、上記(2)式の符号長の設
定を実現する手段である。符号長設定部110に入力す
るのは生起回数を表す信号Ci(i=1〜n)であり、
上記例では最小が0最大が1024の値である。出力す
るのは符号長を示す最小0最大10の値である。この処
理を行う装置構成の一例としては、入力した生起回数を
一時的にレジスタに蓄積し、該レジスタ内容を用いて、
演算結果を変換表にまとめたメモリを読み出すことで符
号語長を設定する。次に、符号ビット設定部111は、
上記(5)式で示される累積生起回数をレジスタに設定し
て、該レジスタ内容を設定された符号語長で切り出すこ
とで、一意に復号可能な符号語を設定する。符号語長変
換部112は、上記(3)式の右辺の第一項の(1/
s)bi を算出する手段であり、符号長設定部110から
入力した符号語長をレジスタに一時格納し、べき乗演算
に相当する値を2進数シフトあるいはビット設定などに
よる2進数生成回路により算出する。
【0051】生起回数修正部113は、文字列の生起回
数を一時的に記憶すると共に、上記(4)式の符号化誤
差を算出して、符号語生成の終わっていない残りの文字
列の生起回数の修正を行う手段である。これらの装置
は、符号生成手順に基づき管理装置115によって、生
起回数の大きな信号から順次に繰り返して演算を行い、
入力信号に対応する符号が生成された時点で処理終了し
て、符号出力する。また管理装置115は、初期化,信
号入力,符号出力などの入出力制御と、各装置間の処理
タイミング制御を行う。
【0052】図10に示すように、生起回数表は書き換
え可能なメモリで構成し、初期値は辞書102から読み
出した生起回数を設定する。符号生成手順に従って一つ
の符号長を算出する毎に、生起回数表を書き換える。こ
のため、修正値算出回路により修正値を生成し、修正値
レジスタに一時格納して、該レジスタ内容に基づき生起
回数表の書き換えを行う。
【0053】図11に、修正値算出回路の構成例を示
す。まず、符号語長変換部112が生成した上記(3)
式の右辺の第一項の(1/s)bi 、および生起回数を入
力する。そして、生起回数レジスタの内容と比較して上
記(4)式の符号化誤差を算出する。次に、生起回数の
大きさに比例した分配比率に基づき符号化誤差の分配誤
差を算出する。ここで分配誤差は、総計が(1/s)bi
以下の2進数である。そして、生起回数表の内容に分配
誤差を加減算して修正値を算出する。これらの処理は管
理装置115によって制御する。
【0054】本発明の特徴は、上記符号生成の手順およ
び装置構成において、全ての演算を整数値(2進数)で
扱うことである。小数点を扱う信号処理手順あるいは処
理装置は、例えば浮動小数点演算回路が必要であるのに
対して、本発明は2進の整数演算で良いため装置構成が
容易であると共に高速な処理が可能となる。また、例え
ば式(2)に基づく符号語長の算出を、図12(1)に
示すような変換表に設定し、あらかじめ図12(2)に
示すようなメモリに記憶しておき、入力信号をアドレス
としてメモリ読み出しすることで、符号長を得る。
【0055】なお、これらの装置構成の動作内容は、プ
ログラム制御のプロセッサによる信号処理によっても実
現できることは言うまでもない。
【0056】次に図13を用いて、実際の数値を用いた
2進符号の生成例を示す。図中には、8種の部分文字列
文字列について、登録番号1と2の符号生成例を示して
ある。初期設定として、それぞれの文字列の生起回数を
1に設定し、その後、入力する文字列の生起回数の計数
値を設定していく。そして、生起回数の総数が2のべき
乗である1024とする。
【0057】:始め (a)n=8種類の文字列の生起回数Ciを、大きさの
順番に、500,200,100,100,50,5
0,23,1とする。最後の文字列(生起回数Ci=
1)は、初期設定した値が残っている場合を示し、実際
には入力しなかった例である。総数Aは1024。
【0058】(b)i=1の文字列の生起回数は500
であるから、式(1a)から符号長はbi=1となる。
bi=512を、元の生起回数と置き換えても順位変
動はない。式(2a)から符号化誤差Cei=12であ
る。
【0059】(c)符号化誤差を残りの文字列(i=2
から8まで)の生起回数に分配して修正する。具体的に
は、文字列i=1の生起回数は符号化誤差Cei=12
で示されるだけ少な目に設定されたことになっているた
め、残りの文字列の生起回数から12を減算する。前記
したように分配方法は限定していないので、一例を示し
てある。
【0060】(d)実際に入力した文字列がi=1でな
い場合は、手順(b)に戻り、次の文字列の処理を行
う。一方、入力した文字列がi=1の場合には、符号長
b1=1を設定して手順(e)に進む。
【0061】(e)実際に入力した文字列がi=1の場
合、符号長はb1=1、累積生起回数はq1=0であ
る。10ビットの2進数で累積生起回数を表すと「00000
00000」であり、符号長b1=1ビットを上位から取り出
して「0」が符号語となる。また、文字列がi=2の場
合、符号長はb2=2、累積生起回数はq2=512で
ある。10ビットの2進数で累積生起回数を表すと「10
00000000」であり、上位から2ビットを取り出して「1
0」が符号語となる。
【0062】:終わり (6)復号化処理 図14は処理装置の符号化処理を行う符号化部の構成例
を示したものである。復号化装置は、文字列解析装置1
01,辞書102,符号生成装置103、および一致判
定装置104から構成される。ここで、文字列解析装置
101,辞書102,符号生成装置103は、符号化部
と同じ構成である。符号メモリ105に蓄積した符号語
を読み込んで、登録番号順に生成した符号語が同一であ
るか否かの判定を順次に行い、同じであれば、該登録番
号に対応する文字列を出力する。そして、復号した信号
を測定することで文字列の生起回数を算出し、符号化装
置と同一のトリー構造を作成して辞書に蓄積する。この
辞書を参照することで、可逆的に信号再生できる。ここ
で、初期設定等についても、符号化処理と同一の内容を
同一のタイミングで実行する。
【0063】復号化の手順を図15に示す。それぞれの
ステップは符号化処理の内容と同じであり、最後に入力
した符号語と、登録番号順に生成した符号語が同一であ
るか否かの判定を行うステップを設けている。
【0064】本発明の特徴は、上記手順および装置構成
において、符号化処理と同様に、全ての演算を整数値
(2進数)で扱うことである。小数点を扱う信号処理手
順あるいは処理装置に比べて、構成が容易となると共に
高速な処理が可能となる。
【0065】次に、入力した一つの符号語についての、
復号化処理の基本的な数値例を示す。生起回数はあらか
じめ設定されているものとする。
【0066】:始め (a)既に復号した文字列の測定結果から、n=8種類
の文字列の生起回数Ciが、大きさの順番に、500,
200,100,100,50,50,23,1である
とする。総数Aは1024。
【0067】(b)i=1の文字列の生起回数は500
であるから、式(1a)から符号長はbi=1となる。
bi=512を、元の生起回数と置き換えても順位変動
はない。式(2a)から符号化誤差Cei=12であ
る。
【0068】(c)符号化誤差を残りの文字列(i=2
から8まで)の生起回数に分配して修正する。具体的に
は、文字列i=1の生起回数は12だけ多く設定された
ことになっているため、残りの文字列の生起回数から1
2を減算する。分配方法は限定していないので、一例を
示してある。
【0069】(d)符号長はbi=1,累積生起回数は
q1=0、であるから、「0」が符号語となる。
【0070】(e)入力した符号系列と生成した符号語
の両者を、ビット数bkの長さに渡って比較する。一致
していれば、符号語は文字列i=1を示すものとして復
号処理を終了する。不一致の場合には、修正済みの生起
回数を用いて次の文字列について(b)からの手順を繰
り返す。
【0071】:終わり ある生起回数以下、あるいは、ある順位以下の信号の生
起回数を均一な数値に置き換えることで、符号ビットの
生成を簡易化することができる。例えば、文字列が25
6種類(2の8乗)ある場合に、上位の8種類の文字列
は測定した生起回数を利用することにして、残りの24
8種類の事象については均一の生起回数を割り当てる。
ただし、生起回数の総数は維持しなければならない。均
一な生起回数の文字列(上記の例では、第9番目から2
56番目まで)には、均一な符号語長を割り当てること
ができることを利用して、符号化および復号化の処理を
高速に実行できる。
【0072】(7)装置構成例 本発明を用いた装置構成例を説明する。
【0073】図16は、複数の情報処理装置からなるシ
ステムの構成を示したものである。本システムは、伝送
路で接続された、送信装置と受信装置の2者間で、効率
の良いデータ伝送を行う構成例を示す。送信装置と受信
装置の両者が備える辞書は、初期化条件,更新方法を両
者共通に設定しておく。これは、符号伝送に先立って相
互通信に基づき設定することも、あるいは、あらかじめ
装置に組み込む初期化プログラムに基づき設定すること
もできる。
【0074】辞書内容は、固定的に利用することも、信
号内容に基づき更新することもできる。辞書内容を更新
する場合には、送信側は符号化伝送の済んだ信号に基づ
き辞書を更新する。一方受信側は、受信復号した信号に
基づき辞書を更新する。こうして、両者の辞書の更新内
容とタイミングを常に一致させることで、送信装置が伝
送した符号を、受信装置は誤りなく復号して信号を再生
することができる。
【0075】操作者が、例えばキーボードで文字入力す
る速度は、伝送路のデータ転送速度に比べて遅い。この
ような場合に、符号語を伝送するために伝送路を占有す
ることは、伝送路の使用効率は低くなる。そこで、符号
を伝送する方式として、通信手順の一つとして知られて
いるパケット型通信を利用できる。これは、伝送するデ
ータ量(例えばバイト数)に課金が行われるものであ
り、電話のような接続時間に関係しない。このため、操
作者がリアルタイムに入力する信号を、入力タイミング
に基づき細切れにして送ることに適している。本発明で
は、リアルタイム型に入力して圧縮した符号を、パケッ
ト型通信で伝送することで、伝送コストの削減を実現で
きる。
【0076】図17は、符号化部と復号化部を内蔵する
情報処理装置の構成例である。信号を圧縮することで、
大容量のデータを蓄積できることが本装置の特徴であ
る。符号メモリ105は、符号語を蓄積する手段であ
り、半導体メモリ,ディスク装置などを利用できる。符
号化処理、および復号化処理の動作は、既に説明した通
りである。
【0077】ここで、符号化処理部と復号化処理部を構
成する手段を、全て別々に用意することもできるが、一
部を兼用することもできる。符号化と復号化が同時動作
しないようにタイミング制御を行うことで、文字列解析
装置101,辞書102,符号生成装置103を、符号
化処理と復号化処理の両者に共用することができる。つ
まり、信号の入力と出力を同時に実行しないことで、情
報処理装置の回路規模を削減できる。
【0078】(8)携帯情報端末の構成例 図18(1)に、情報処理装置を携帯情報端末に適用し
た場合の一例を示す。信号入力装置100は、表示装置
300とペン型入力装置303,手書き入力した文字を
文字コードに変換する文字認識装置304から構成され
る。辞書102の内容は、文字列解析装置101によって
参照され、候補文字列を読み出して表示装置300に表
示する。また、辞書内容は、文字認識装置304からも
参照されて、手書き入力された文字の文字コード変換に
おける、認識率の向上に利用することができる。さら
に、文字認識装置304において、区別のつきにくい手
書き文字を活字文字に変換する処理において利用するこ
とで、そして、入力した文字列などを符号生成装置10
3でリアルタイムで圧縮データに変換することで、符号
メモリ105に多量のデータを効率よく蓄積することが
できる。このように、本発明では、辞書102の内容
を、文字列入力の支援と共に、入力した文字列の符号化
処理に利用する。
【0079】辞書102の内容は、入力した文字列の内
容に基づき更新していくことができるが、あるいは、初
期設定の辞書内容を固定的に利用することもできる。
【0080】図18(2)に示すように、操作者がペン型
入力手段303を用いて1文字ずつ入力した文字列30
1から、あらかじめ用意した辞書に基づく候補文字列3
02を取り出して、表示装置300に表示する。操作者
は、表示された候補文字302から一つを選択する。表示
した候補の中に該当する文字列が無い場合には、操作者
が一文字ずつペン型入力装置303を用いて入力する。
図中では、英文入力の例として、主語「I」に引き続い
て動詞「HAVE」を入力するつもりで、途中の「H
A」まで入力した時点の動作を示す。辞書102から、
「HA」から開始する1人称単数の動詞の候補文字列を
取り出し、「HAVE」「HAD」「HATE」を表示してい
る例である。こうして、操作者は全ての文字列を入力す
ることなく、候補文字を選択することで、簡易に正確な
入力を実現できる。信号入力装置がキーボードである場
合も同様な手順を実行できる。そして、入力文字列が確
定したタイミングで圧縮データに変換してメモリに蓄積
する。
【0081】手書き文字認識装置を用いる場合に、手書
き文字を文字コードに変換する文字認識装置304にお
いても、辞書102から取り出した候補文字列を利用す
ることで、認識精度を向上させることもできる。
【0082】上記構成を実現する回路構成例を、図19
に示す。CPU,読み出し専用の不揮発性メモリ,書き
換え可能なメモリ,外部入出力装置に加えて、手書き文
字入力を行うための手段として、タブレットと表示装置
と入出力制御装置を介して組み合わせる。読み出し専用
の不揮発性メモリには、CPUの動作を記述するプログ
ラム,辞書,伝送制御プロトコルなどを書き込んでお
く。一方、書き換え可能なメモリは、SRAM,FER
AMなどで構成し、演算途中のデータ,測定結果に基づ
く文字列の生起回数,入力文字列などを記憶する。タブ
レットと表示装置は、画素位置が同期するように重ねあ
わせることで、入力と表示位置が一致する。このような
携帯情報端末の構成では、操作者の文字入力手段がタブ
レットに限られるため、本発明の特徴であるリアルタイ
ム型の入力支援と入力データの圧縮を効率よく実現でき
る。例えば、人名とアドレスと電話番号などを、前記入
力支援を行いながら文字入力し、圧縮処理を行ってメモ
リ蓄積することで、多量のデータを記憶できるようにな
る。また、バッチ型の場合には、文書データなどを一括
して入力するため入力支援が不要であり、文字列解析を
行いながら圧縮処理を行いメモリ蓄積する。
【0083】例えば、かな漢字変換において、同音異義
語の複数の漢字候補を提示することで、入力操作者のあ
いまいな記憶に基づく変換操作を支援する。また、入力
した文字列については、符号語として蓄積あるいは伝送
することで、蓄積容量の削減あるいは伝送時間の短縮を
実現できる。通信手段を用いて伝送する場合には、受信
側装置は、符号語を順次復号していくことで、送信側と
全く同じ文字列を再現できる。このように、辞書102
を用いて、操作者の入力支援と共に、データ圧縮を行う
ことができる。
【0084】(9)圧縮データの編集処理 メモリ蓄積した圧縮データを対象にして、書き換え,移
動,削除などの編集をする場合の動作を説明する。本発
明では、生成する符号語は可変長であること、および符
号化処理において参照する辞書内容は信号入力に基づい
て逐次に更新することから、圧縮データは先頭から順次
に復号しないと信号再生ができない。このため基本的に
は、圧縮データの一部を取り出して、部分的な文字列を
復号することはできない。図20を用いて、幾つかの方
法を以下に述べる。
【0085】第一の方法は、編集メモリを付加した装置
構成を用いる。入力文字列は、前記したリアルタイム型
の符号化処理をして符号メモリに蓄積する。符号メモリ
の内容を再度編集するには、符号語を復号化処理して編
集メモリに書き込み、該編集メモリに蓄積した文字列を
対象にして編集処理する。編集後の文字列は、バッチ型
の符号化処理を行い、符号メモリに蓄積する。この方法
は、編集処理を行うには、符号データ全体を対象に復号
化と符号化をバッチ型の信号処理で繰り返す。第二の方
法は、図中の符号メモリ105の内容に示すように、圧
縮処理の途中で、符号データの区切りを示す区切り信号
の挿入を行う。こうして圧縮データを、区切り信号ごと
に復号して編集メモリに蓄積して、編集処理を行う。こ
れにより文字列全体を復号すること無く、編集対象を含
む部分文字列のみを復号して編集を可能とする。編集後
の文字列は、再び圧縮処理して符号メモリに蓄積する。
ここで、編集処理によって圧縮データの容量は変化する
ことに注意して、データ管理手段に基づきメモリ蓄積す
る。上記の区切り処理を行うタイミングは、一定数の文
字毎に設定する方法,文章中の段落・改ページなどに基
づき設定する方法、などとすることができる。圧縮デー
タ中に挿入する区切り信号は、特有のビットパタンとす
ることで、容易に検出できる。
【0086】
【発明の効果】本発明によれば、順次に入力する文字列
を最適符号に変換して、効率の良い圧縮を実現すると共
に簡易な装置構成で高速に符号生成を実現できる。
【図面の簡単な説明】
【図1】本発明の処理装置の符号化処理を行う部分の基
本構成を示す図である。
【図2】信号入力装置の手順を示す図である。
【図3】情報処理装置の入出力部,符号生成部の構成を
示した図である。
【図4】情報処理装置の入力部と符号生成部を示した図
である。
【図5】2文字遷移の辞書の構成を示した図である。
【図6】辞書の構成を示した図である。
【図7】文字入力の処理手順を示した図である。
【図8】符号生成手順を示した図である。
【図9】符号化装置の構成を示した図である。
【図10】生起回数修正部の回路構成を示した図であ
る。
【図11】修正値算出回路の構成を示した図である。
【図12】符号長変換表の構成を示した図である。
【図13】符号生成の数値例を示した図である。
【図14】情報処理装置の復号化を行う復号化部の構成
例を示した図である。
【図15】復号手順を示した図である。
【図16】情報処理システムの構成を示した図である。
【図17】情報処理装置の構成を示した図である。
【図18】携帯情報端末に適用した場合の構成を示した
図である。
【図19】携帯情報端末の回路構成を示した図である。
【図20】圧縮データの編集装置に適用した場合の構成
を示した図である。
【符号の説明】
100…信号入力装置、101…文字列解析装置、10
2…辞書、103…符号生成装置、104…一致判定装
置、105…符号メモリ、106…入力文字バッファ、
107…候補文字バッファ、110…符号長設定装置、
111…符号ビット設定部、112…符号語長変換部、
113…生起回数修正部、115…管理装置。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−120281(JP,A) 特開 平5−128103(JP,A) 特開 平7−334344(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 3/00 - 11/00

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも文字が入力される入力部と、 文字列とこの文字列の生起回数及び文字列毎に与えられ
    る識別番号とを対応付けて記憶する辞書と、 前記辞書に記憶された文字列について生起回数が大きい
    文字列から順に、生起回数に基づいて符号語長を求め、
    この符号語長から対応する識別番号の符号語を生成する
    と共に、前記求めた符号語長から符号化誤差を求めこの
    符号化誤差から他の文字列の生起回数を補正する符号化
    部とを有する情報処理装置。
  2. 【請求項2】請求項1において、 前記符号化部は、前記生起回数から求めた符号長の整数
    部分から符号語を生成する情報処理装置。
  3. 【請求項3】請求項1において、 前記入力部から連続して入力される文字をあらかじめ定
    めた規則に基づいて文字列ごとに区切る分解手段を有
    し、 前記辞書は、前記分解手段によって分解された文字列、
    この文字列の生起回数、文字列ごとに与えられる識別番
    号とを対応付けて記憶する情報処理装置。
  4. 【請求項4】文字入力部と、文字列とこの文字列の生起
    回数および文字列毎に与えられる識別番号とを対応付け
    て記憶する辞書と、 前記辞書に記憶された文字列の生起回数に基づき入力文
    字列の候補を表示する表示部と、 前記辞書に記憶された文字列について生起回数が大きい
    文字列から順に、 生起回数に基づいて対応する識別番号の符号語を生成す
    ると共に前記求めた符号語長から符号化誤差を求めこの
    符号化誤差から他の文字列の生起回数を補正する符号化
    部とを有することを特徴とする情報処理装置。
  5. 【請求項5】複数の情報処理装置が接続された情報処理
    システムであって、 少なくとも1つの情報処理装置は、文字が入力される入
    力部と、文字列とこの文字列の生起回数及び文字列毎に
    与えられる識別番号とを対応付けて記憶する辞書と、前
    記辞書に記憶された文字列について生起回数が大きい文
    字列から順に、生起回数に基づいて対応する識別番号の
    符号語を生成すると共に、求めた符号語長から符号化誤
    差を求め、前記符号化誤差から他の文字列の生起回数を
    補正する符号化部と、前記生成された符号語を外部に送
    信する送信部とを有し、 少なくとも1つの情報処理装置は、外部から前記符号を
    受信する受信部と、文字列とこの文字列の生起回数及び
    文字列毎に与えられる識別番号とを対応付けて記憶する
    辞書と、前記受信部に入力された符号を復号すると共
    に、前記求めた符号語長から符号化誤差を求め、前記符
    号化誤差から他の文字列の生起回数を補正する復号化部
    と、識別番号に基づいて前記辞書から対応する文字列を
    抽出する抽出部とを有する情報処理システム。
  6. 【請求項6】入力された文字列と、この文字列の生起回
    数および文字列ごとに与えられた識別番号とを記憶した
    辞書から生起回数の最も大きい文字列について、生起回
    数から符号語のビット長を求め、このビット長の整数部
    分から前記文字列の識別番号の符号語を生成する段階
    と、 前記求めたビット長から符号化誤差を求め、この符号化
    誤差と残りの文字列の生起回数から残りの文字列の新た
    な生起回数を決定する段階と、 残りの文字列の生起回数の最も大きい文字列について生
    起回数から符号語のビット長を求め、このビット長の整
    数部分から前記文字列の識別番号の符号語を生成する段
    階とを有する情報処理方法。
JP18591398A 1998-07-01 1998-07-01 情報処理装置および情報処理システム Expired - Fee Related JP3511901B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18591398A JP3511901B2 (ja) 1998-07-01 1998-07-01 情報処理装置および情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18591398A JP3511901B2 (ja) 1998-07-01 1998-07-01 情報処理装置および情報処理システム

Publications (2)

Publication Number Publication Date
JP2000022552A JP2000022552A (ja) 2000-01-21
JP3511901B2 true JP3511901B2 (ja) 2004-03-29

Family

ID=16179080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18591398A Expired - Fee Related JP3511901B2 (ja) 1998-07-01 1998-07-01 情報処理装置および情報処理システム

Country Status (1)

Country Link
JP (1) JP3511901B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4497029B2 (ja) * 2005-06-10 2010-07-07 沖電気工業株式会社 データ符号化装置,およびデータ符号化方法
CN105191144B (zh) 2013-03-22 2019-01-01 富士通株式会社 压缩装置、压缩方法、解压装置、解压方法以及信息处理系统

Also Published As

Publication number Publication date
JP2000022552A (ja) 2000-01-21

Similar Documents

Publication Publication Date Title
US5635932A (en) Lempel-ziv compression with expulsion of dictionary buffer matches
Nelson et al. The data compression book 2nd edition
KR100271861B1 (ko) 데이타압축, 신장방법 및 장치와 이것을 사용한 데이타처리장치 및 네트워크시스템
US7365658B2 (en) Method and apparatus for lossless run-length data encoding
US20160321282A1 (en) Extracting method, information processing method, computer product, extracting apparatus, and information processing apparatus
US8159374B2 (en) Unicode-compatible dictionary compression
JP2002353818A (ja) データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体
US8947272B2 (en) Decoding encoded data
JPH06168096A (ja) データ符号化方式及びデータ復元方式
US6426711B1 (en) Character table implemented data compression method and apparatus
JP3511901B2 (ja) 情報処理装置および情報処理システム
US10873836B2 (en) Efficient short message compression
Ghuge Map and Trie based Compression Algorithm for Data Transmission
US6262675B1 (en) Method of compressing data with an alphabet
CN114070470A (zh) 编解码方法及装置
EP0871295B1 (en) Method and apparatus for compression and decompression of data
JPH0554077A (ja) 単語辞書検索装置
JP3350118B2 (ja) データ符号化方式及びデータ復元方式
JP2006302082A (ja) 文字列検索装置
JP2590287B2 (ja) データ圧縮方法およびデータ圧縮装置
JPH0546357A (ja) テキストデータの圧縮方法および復元方法
JP2005286371A (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
US6819272B2 (en) System, method and computer readable medium for compressing a data sequence for partial decompressing
JP2012034272A (ja) 文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法
JPH05241776A (ja) データ圧縮方式

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031229

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

Free format text: PAYMENT UNTIL: 20080116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees