JPH06195064A - 圧縮文字パターン再生装置 - Google Patents
圧縮文字パターン再生装置Info
- Publication number
- JPH06195064A JPH06195064A JP4357884A JP35788492A JPH06195064A JP H06195064 A JPH06195064 A JP H06195064A JP 4357884 A JP4357884 A JP 4357884A JP 35788492 A JP35788492 A JP 35788492A JP H06195064 A JPH06195064 A JP H06195064A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compressed
- character pattern
- character
- keyword
- 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.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【目的】 データの出現頻度を偏らせておくことにより
冗長性を抑制する圧縮手法を用いて文字パターンデータ
を圧縮したとしても、この圧縮文字を通常の文字パター
ンデータに復元することができる。 【構成】 圧縮フォント格納部204はデータの出現頻
度に応じて冗長部分を抑制した圧縮符号列に文字パター
ンデータを置き換えることによって得られた圧縮フォン
トデータを記憶する。再生コマンド発生部225は逆変
換テーブル格納部206を参照し、圧縮フォントデータ
を構成する圧縮符号列を対応する再生コマンドに復元す
る。再生コマンド実行部226はキーワードテーブル格
納部207を参照し、この再生コマンドを元の文字パタ
ーンデータに復元する。
冗長性を抑制する圧縮手法を用いて文字パターンデータ
を圧縮したとしても、この圧縮文字を通常の文字パター
ンデータに復元することができる。 【構成】 圧縮フォント格納部204はデータの出現頻
度に応じて冗長部分を抑制した圧縮符号列に文字パター
ンデータを置き換えることによって得られた圧縮フォン
トデータを記憶する。再生コマンド発生部225は逆変
換テーブル格納部206を参照し、圧縮フォントデータ
を構成する圧縮符号列を対応する再生コマンドに復元す
る。再生コマンド実行部226はキーワードテーブル格
納部207を参照し、この再生コマンドを元の文字パタ
ーンデータに復元する。
Description
【0001】
【産業上の利用分野】この発明は、ワードプロセッサ等
の文書作成装置において、予め組み込んだ圧縮文字フォ
ントデータを再生する圧縮文字パターン再生装置に関す
る。
の文書作成装置において、予め組み込んだ圧縮文字フォ
ントデータを再生する圧縮文字パターン再生装置に関す
る。
【0002】
【従来の技術】一般に、ワードプロセッサにおいて、入
力作成された文書データはテキストメモリにコード形式
で記憶されており、文書印刷指令が与えられると、文字
パターンメモリを参照することによってテキストメモリ
内の文書データが1文字ずつドットパターンに変換され
て印字出力される。ここで、文字パターンメモリは半導
体読み出し専用メモリ(ROM)等により構成され、こ
の文字パターンメモリ内に標準装備されている書体の文
字パターンで文書印刷が行われる。
力作成された文書データはテキストメモリにコード形式
で記憶されており、文書印刷指令が与えられると、文字
パターンメモリを参照することによってテキストメモリ
内の文書データが1文字ずつドットパターンに変換され
て印字出力される。ここで、文字パターンメモリは半導
体読み出し専用メモリ(ROM)等により構成され、こ
の文字パターンメモリ内に標準装備されている書体の文
字パターンで文書印刷が行われる。
【0003】
【発明が解決しようとする課題】ところで、文字パター
ンデータは例えば48ドットフォントの場合、1文字に
含まれるドット数は48×48=2304ドットとな
り、1文字288バイト要することになる。これが、例
えば、JIS第1、第2水準の漢字、仮名記号全体では
7000文字以上となり、その容量は2Mバイトと大変
巨大なものとなってしまう。この為、書体の異なる複数
種の文字パターンを予め文字パターンメモリ内に標準装
備しておくことは、文字パターンメモリが膨大化し、コ
スト高となる。また、フロッピーディスク等の外部記憶
装置から文字パターンを供給するものにおいても、書体
毎に複数の外部記憶装置が必要となり、コスト高とな
る。そこで、従来においては、文字パターンデータを圧
縮して記憶させておき、文書印刷時にこの圧縮パターン
を元の文字パターンに復元するようにしたものが知られ
ている。この種のものは、例えば、文字パターンデータ
を構成する“0”のビットデータが連続する場合、その
連続する数をその“0”のビット列データに置き換えて
記憶させることによって文字パターンを圧縮するように
しているが、このような圧縮法では圧縮率が低く、余り
実効が上らないのが実状であった。この発明の課題は、
データの出現頻度を偏らせておくことにより冗長性を抑
制する圧縮手法を用いて文字パターンデータを圧縮した
としても、この圧縮文字を通常の文字パターンデータに
復元できるようにすることである。
ンデータは例えば48ドットフォントの場合、1文字に
含まれるドット数は48×48=2304ドットとな
り、1文字288バイト要することになる。これが、例
えば、JIS第1、第2水準の漢字、仮名記号全体では
7000文字以上となり、その容量は2Mバイトと大変
巨大なものとなってしまう。この為、書体の異なる複数
種の文字パターンを予め文字パターンメモリ内に標準装
備しておくことは、文字パターンメモリが膨大化し、コ
スト高となる。また、フロッピーディスク等の外部記憶
装置から文字パターンを供給するものにおいても、書体
毎に複数の外部記憶装置が必要となり、コスト高とな
る。そこで、従来においては、文字パターンデータを圧
縮して記憶させておき、文書印刷時にこの圧縮パターン
を元の文字パターンに復元するようにしたものが知られ
ている。この種のものは、例えば、文字パターンデータ
を構成する“0”のビットデータが連続する場合、その
連続する数をその“0”のビット列データに置き換えて
記憶させることによって文字パターンを圧縮するように
しているが、このような圧縮法では圧縮率が低く、余り
実効が上らないのが実状であった。この発明の課題は、
データの出現頻度を偏らせておくことにより冗長性を抑
制する圧縮手法を用いて文字パターンデータを圧縮した
としても、この圧縮文字を通常の文字パターンデータに
復元できるようにすることである。
【0004】
【課題を解決するための手段】この発明の手段は次の通
りである。圧縮フォント格納手段は文字パターンデータ
を構成する各データに順次着目し、この着目データとそ
の前のデータとの組み合せに応じてその組み合せ頻度を
検出する動作を全ての文字に対して行った際に、頻度の
高い組み合せが検出された場合には、前のデータがこの
組み合せならば着目データはこれであるというデータ候
補を各組み合せ毎に記憶する候補テーブルを作成し、こ
の候補テーブルを再生用の固定データに対応させること
でデータの出現頻度を偏らせ、このデータの出現頻度に
応じて冗長部分を抑制した圧縮符号列を発生させ、文字
パターンデータをこの圧縮符号列に書き換えることによ
って得られた圧縮フォントデータを格納する。第1の復
元手段はこの圧縮フォント格納手段内の圧縮フォントデ
ータを構成する圧縮符号列を対応する固定コードに復元
する。第2の復元手段はこの第1の復元手段によって得
られた固定コードを前記候補テーブルを参照することに
よって元の文字パターンデータに復元する。
りである。圧縮フォント格納手段は文字パターンデータ
を構成する各データに順次着目し、この着目データとそ
の前のデータとの組み合せに応じてその組み合せ頻度を
検出する動作を全ての文字に対して行った際に、頻度の
高い組み合せが検出された場合には、前のデータがこの
組み合せならば着目データはこれであるというデータ候
補を各組み合せ毎に記憶する候補テーブルを作成し、こ
の候補テーブルを再生用の固定データに対応させること
でデータの出現頻度を偏らせ、このデータの出現頻度に
応じて冗長部分を抑制した圧縮符号列を発生させ、文字
パターンデータをこの圧縮符号列に書き換えることによ
って得られた圧縮フォントデータを格納する。第1の復
元手段はこの圧縮フォント格納手段内の圧縮フォントデ
ータを構成する圧縮符号列を対応する固定コードに復元
する。第2の復元手段はこの第1の復元手段によって得
られた固定コードを前記候補テーブルを参照することに
よって元の文字パターンデータに復元する。
【0005】
【作用】この発明の手段の作用は次の通りである。い
ま、圧縮フォント格納手段には各種文字に対応してデー
タの出現頻度に応じて冗長部分を抑制した圧縮符号列か
ら成る圧縮フォントデータが格納されている。ここで、
例えば、文書印刷時において、印刷対象文字の圧縮フォ
ントデータは先ず、それを構成する圧縮符号表が固定コ
ードに復元される。次に、この固定コードを候補テーブ
ルを参照することによって元の文字パターンデータに復
元される。したがって、データの出現頻度を偏らせてお
くことにより冗長性を抑制する圧縮手法を用いて文字パ
ターンデータを圧縮したとしても、この圧縮文字を通常
の文字パターンデータに復元することができる。
ま、圧縮フォント格納手段には各種文字に対応してデー
タの出現頻度に応じて冗長部分を抑制した圧縮符号列か
ら成る圧縮フォントデータが格納されている。ここで、
例えば、文書印刷時において、印刷対象文字の圧縮フォ
ントデータは先ず、それを構成する圧縮符号表が固定コ
ードに復元される。次に、この固定コードを候補テーブ
ルを参照することによって元の文字パターンデータに復
元される。したがって、データの出現頻度を偏らせてお
くことにより冗長性を抑制する圧縮手法を用いて文字パ
ターンデータを圧縮したとしても、この圧縮文字を通常
の文字パターンデータに復元することができる。
【0006】
【第1実施例】以下、図1〜図16を参照して第1実施
例を説明する。図1は文字パターンデータの圧縮/再生
過程を概略的に示したもので、文字パターンデータ圧縮
装置100は文書作成装置200の製品完成時におい
て、例えば13000文字の文字パターンデータを本実
施例特有の規則にしたがってデータ圧縮し、それによっ
て得られた各種のデータ(後述する圧縮フォントデー
タ、インデックステーブル、逆変換テーブル、キーワー
ドテーブル)を文書作成装置200に組み込む。つま
り、文字パターンデータ圧縮装置100と文書作成装置
200とは別個独立した装置であり、文字パターンデー
タ圧縮装置100は文書作成装置200に圧縮文字デー
タを格納させる為の装置で、文書作成装置200の製品
完成時に圧縮文字データの書き込みが行われる。
例を説明する。図1は文字パターンデータの圧縮/再生
過程を概略的に示したもので、文字パターンデータ圧縮
装置100は文書作成装置200の製品完成時におい
て、例えば13000文字の文字パターンデータを本実
施例特有の規則にしたがってデータ圧縮し、それによっ
て得られた各種のデータ(後述する圧縮フォントデー
タ、インデックステーブル、逆変換テーブル、キーワー
ドテーブル)を文書作成装置200に組み込む。つま
り、文字パターンデータ圧縮装置100と文書作成装置
200とは別個独立した装置であり、文字パターンデー
タ圧縮装置100は文書作成装置200に圧縮文字デー
タを格納させる為の装置で、文書作成装置200の製品
完成時に圧縮文字データの書き込みが行われる。
【0007】文書作成装置200は本実施例特有の文字
パターン再生装置201と通常備えられている文書作成
機主装置202とを有する構成で、文字パターン再生装
置201には圧縮文字データメモリ203が設けられて
いる。この圧縮文字データメモリ203は圧縮フォント
格納部204、インデックステーブル格納部205、逆
変換テーブル格納部206、キーワードテーブル格納部
207を有する構成で、文字パターンデータ圧縮装置1
00から発生出力された圧縮フォントデータ、インデッ
クステーブル、逆変換テーブル、キーワードテーブルが
圧縮文字データメモリ203内の対応する格納部204
〜207に書き込まれる。文書印刷時において文字パタ
ーン再生装置201は圧縮文字パターンを本実施例特有
の規則にしたがって逆変換し、通常と同様の無圧縮文字
パターンに復元再生し、文書作成機主装置202に与え
る。これによって通常と同様の印字結果を得るようにし
ている。
パターン再生装置201と通常備えられている文書作成
機主装置202とを有する構成で、文字パターン再生装
置201には圧縮文字データメモリ203が設けられて
いる。この圧縮文字データメモリ203は圧縮フォント
格納部204、インデックステーブル格納部205、逆
変換テーブル格納部206、キーワードテーブル格納部
207を有する構成で、文字パターンデータ圧縮装置1
00から発生出力された圧縮フォントデータ、インデッ
クステーブル、逆変換テーブル、キーワードテーブルが
圧縮文字データメモリ203内の対応する格納部204
〜207に書き込まれる。文書印刷時において文字パタ
ーン再生装置201は圧縮文字パターンを本実施例特有
の規則にしたがって逆変換し、通常と同様の無圧縮文字
パターンに復元再生し、文書作成機主装置202に与え
る。これによって通常と同様の印字結果を得るようにし
ている。
【0008】なお、上述した「圧縮フォントデータ」、
「インデックステーブル」、「逆変換テーブル」、「キ
ーワードテーブル」については後で詳細に説明するの
で、ここでは簡単に説明しておくものとする。「圧縮フ
ォントデータ」は文字パターンデータを構成するデータ
のうち頻繁に出現するデータパターンを特定のコード
(固定値)に対応させることによってデータの出現頻度
を偏らせ、データの出現頻度に応じて冗長部分をカット
する特性の圧縮方法を用いて圧縮することによって得ら
れたデータであり、1文字毎に通常の文字パターンデー
タは上述した圧縮手法にしたがって圧縮され、文書作成
装置200内の圧縮フォント格納部204に全文字分の
圧縮フォントデータが書き込まれる。「インデックステ
ーブル」はどの文字が「圧縮フォントデータ」の中の何
バイト目から入っているかを示すテーブルである。「逆
変換テーブル」および「キーワードテーブル」は圧縮フ
ォントデータを通常の文字パターンデータに復元再生す
る際に用いられるテーブルである。
「インデックステーブル」、「逆変換テーブル」、「キ
ーワードテーブル」については後で詳細に説明するの
で、ここでは簡単に説明しておくものとする。「圧縮フ
ォントデータ」は文字パターンデータを構成するデータ
のうち頻繁に出現するデータパターンを特定のコード
(固定値)に対応させることによってデータの出現頻度
を偏らせ、データの出現頻度に応じて冗長部分をカット
する特性の圧縮方法を用いて圧縮することによって得ら
れたデータであり、1文字毎に通常の文字パターンデー
タは上述した圧縮手法にしたがって圧縮され、文書作成
装置200内の圧縮フォント格納部204に全文字分の
圧縮フォントデータが書き込まれる。「インデックステ
ーブル」はどの文字が「圧縮フォントデータ」の中の何
バイト目から入っているかを示すテーブルである。「逆
変換テーブル」および「キーワードテーブル」は圧縮フ
ォントデータを通常の文字パターンデータに復元再生す
る際に用いられるテーブルである。
【0009】図2は文字パターンデータ圧縮装置100
のブロック構成図である。無圧縮フォントパターンデー
タ格納部101には文書作成装置200に搭載すべき全
ての文字(例えば13000文字)が収められている。
図3は、無圧縮フォントパターンデータ格納部101に
収められている文字パターンのデータ構造を示してい
る。文字パターンは1文字48×48ドット構成で、8
ビット構成のメモリを縦方向に配置し、それを横に48
バイト並べ、更にこれを縦方向に6段重ねた構造のメモ
リにドットマップ方式で格納されている。したがって、
1文字分の文字パターンは縦8ビット×6段=48ドッ
ト、横48ドットで288バイト構成となっている。な
お、この場合のアドレスで一番若いのは文字パターンの
左上隅部に対応するアドレスであり、次に若いのは右
隣、……最後は右下隅部に対応するアドレスとなる。こ
の右下隅部のアドレスに続くアドレス領域には次の文字
の左上隅部に対応するデータが格納されている。また、
ビット並びはMSBが図中、上に来るように配置されて
いる。
のブロック構成図である。無圧縮フォントパターンデー
タ格納部101には文書作成装置200に搭載すべき全
ての文字(例えば13000文字)が収められている。
図3は、無圧縮フォントパターンデータ格納部101に
収められている文字パターンのデータ構造を示してい
る。文字パターンは1文字48×48ドット構成で、8
ビット構成のメモリを縦方向に配置し、それを横に48
バイト並べ、更にこれを縦方向に6段重ねた構造のメモ
リにドットマップ方式で格納されている。したがって、
1文字分の文字パターンは縦8ビット×6段=48ドッ
ト、横48ドットで288バイト構成となっている。な
お、この場合のアドレスで一番若いのは文字パターンの
左上隅部に対応するアドレスであり、次に若いのは右
隣、……最後は右下隅部に対応するアドレスとなる。こ
の右下隅部のアドレスに続くアドレス領域には次の文字
の左上隅部に対応するデータが格納されている。また、
ビット並びはMSBが図中、上に来るように配置されて
いる。
【0010】ソース・バッファ102は無圧縮フォント
パターンデータ格納部101から読み出された1文字分
の文字パターンデータを一時的に記憶するもので、無圧
縮フォントパターンデータ格納部101の内容が1文字
ずつソース・バッファ102に格納される。このように
処理対象の文字パターンデータを1文字ずつ無圧縮フォ
ントパターンデータ格納部101から取り出してソース
・バッファ102に一時記憶させることにより処理速度
の低下を防止するようにしている。なお、ソース・バッ
ファ102には図3で示したデータ構造のまま文字パタ
ーンデータが格納される。
パターンデータ格納部101から読み出された1文字分
の文字パターンデータを一時的に記憶するもので、無圧
縮フォントパターンデータ格納部101の内容が1文字
ずつソース・バッファ102に格納される。このように
処理対象の文字パターンデータを1文字ずつ無圧縮フォ
ントパターンデータ格納部101から取り出してソース
・バッファ102に一時記憶させることにより処理速度
の低下を防止するようにしている。なお、ソース・バッ
ファ102には図3で示したデータ構造のまま文字パタ
ーンデータが格納される。
【0011】キーワード選定用計数制御部103は2つ
の機能を有し、その1つはソース・バッファ102の内
容に基づいてキーワード選定用カウンタアレイ104に
対するカウンタアドレスを算出する機能、他の1つは算
出したアドレスによって指定されるカウンタの値をカウ
ントアップする機能である。
の機能を有し、その1つはソース・バッファ102の内
容に基づいてキーワード選定用カウンタアレイ104に
対するカウンタアドレスを算出する機能、他の1つは算
出したアドレスによって指定されるカウンタの値をカウ
ントアップする機能である。
【0012】図4はキーワード選定用計数制御部103
の第1機能を説明する為の図である。キーワード選定用
計数制御部103はソース・バッファ102から連続す
る3バイトのデータ、つまり、隣り合う8ビット×3の
データを抽出し、現在着目しているデータを「DR」、
1つ前(左隣)のデータを「DM」、更にもう1つ前の
データを「DL」とすると、キーワード選定用計数制御
部103は先ず、2つ前のデータ「DL」の上位4ビッ
トと下位4ビットのイクスクルーシブオアXOR(記号
「∀」を付して示す)を取り、これをキーワード選定用
カウンタアレイ104をアクセスする為の第1要素アド
レスの最上位4ビットとする。この第1要素アドレスは
本実施例の場合、12ビットアドレスで、この下位8ビ
ットは1つ前のデータ「DM」そのものとなる。つま
り、第1要素アドレスは2つ前のデータ「DL」のイク
スクルージブオアXORの演算結果と1つ前のデータ
「DM」を組み合せたものとなる。ここで、図示の例で
は2つ前のデータ「DL」は「70h」(hは16進表
記を示す記号)、そのイクスクルーシブオアXORの演
算結果は「7h」、1つ前のデータ「DM」が「3c
h」である為、第1要素アドレスは「73ch」の12
ビットアドレスとなる。一方、キーワード選定用計数制
御部103は着目データ「DR」そのものをキーワード
選定用カウンタアレイ104の第2要素アドレス(8ビ
ットアドレス)とする。したがって、図4の例ではアド
レス算出機能によって「73ch、1Eh」というアド
レスが算出される。このようなアドレス算出処理はソー
ス・バッファ102内の3バイト目(1、2バイト目を
除く)から最後の288バイト目まで1バイト毎に着目
しながら行われる。なお、3バイト目から開始するのは
2バイト前からデータを参照する為であり、しかも文字
パターンデータの最初の2バイトは空白であることが多
く、特に問題にならないからである。
の第1機能を説明する為の図である。キーワード選定用
計数制御部103はソース・バッファ102から連続す
る3バイトのデータ、つまり、隣り合う8ビット×3の
データを抽出し、現在着目しているデータを「DR」、
1つ前(左隣)のデータを「DM」、更にもう1つ前の
データを「DL」とすると、キーワード選定用計数制御
部103は先ず、2つ前のデータ「DL」の上位4ビッ
トと下位4ビットのイクスクルーシブオアXOR(記号
「∀」を付して示す)を取り、これをキーワード選定用
カウンタアレイ104をアクセスする為の第1要素アド
レスの最上位4ビットとする。この第1要素アドレスは
本実施例の場合、12ビットアドレスで、この下位8ビ
ットは1つ前のデータ「DM」そのものとなる。つま
り、第1要素アドレスは2つ前のデータ「DL」のイク
スクルージブオアXORの演算結果と1つ前のデータ
「DM」を組み合せたものとなる。ここで、図示の例で
は2つ前のデータ「DL」は「70h」(hは16進表
記を示す記号)、そのイクスクルーシブオアXORの演
算結果は「7h」、1つ前のデータ「DM」が「3c
h」である為、第1要素アドレスは「73ch」の12
ビットアドレスとなる。一方、キーワード選定用計数制
御部103は着目データ「DR」そのものをキーワード
選定用カウンタアレイ104の第2要素アドレス(8ビ
ットアドレス)とする。したがって、図4の例ではアド
レス算出機能によって「73ch、1Eh」というアド
レスが算出される。このようなアドレス算出処理はソー
ス・バッファ102内の3バイト目(1、2バイト目を
除く)から最後の288バイト目まで1バイト毎に着目
しながら行われる。なお、3バイト目から開始するのは
2バイト前からデータを参照する為であり、しかも文字
パターンデータの最初の2バイトは空白であることが多
く、特に問題にならないからである。
【0013】キーワード選定用計数制御部103の第2
機能はアドレス算出機能によって求められたアドレスで
キーワード選定用カウンタアレイ104をアクセスし、
該当するカウンタの値に「1」を加算するもので、該当
カウンタをアクセスする毎にその内容をカウントアップ
してゆく。
機能はアドレス算出機能によって求められたアドレスで
キーワード選定用カウンタアレイ104をアクセスし、
該当するカウンタの値に「1」を加算するもので、該当
カウンタをアクセスする毎にその内容をカウントアップ
してゆく。
【0014】キーワード選定用カウンタアレイ104は
連続する3バイトのデータの組み合せ頻度を計数するカ
ウンタ群で、前2つのデータがこの組み合せならば次に
来るデータはこれであるという定義表(キーワードテー
ブル)を作成する際に用いられる。ここで、無圧縮フォ
ントパターンデータ格納部101内の全文字について、
データの組み合せ頻度が調べられる。つまり、キーワー
ド選定用計数制御部103は全文字が13000文字で
あれば、1文字毎にその3バイト目から288バイト目
までのデータに順次着目し、連続する3バイトのデータ
の組み合せ頻度を調べる動作を13000文字分繰り返
す。
連続する3バイトのデータの組み合せ頻度を計数するカ
ウンタ群で、前2つのデータがこの組み合せならば次に
来るデータはこれであるという定義表(キーワードテー
ブル)を作成する際に用いられる。ここで、無圧縮フォ
ントパターンデータ格納部101内の全文字について、
データの組み合せ頻度が調べられる。つまり、キーワー
ド選定用計数制御部103は全文字が13000文字で
あれば、1文字毎にその3バイト目から288バイト目
までのデータに順次着目し、連続する3バイトのデータ
の組み合せ頻度を調べる動作を13000文字分繰り返
す。
【0015】図5はキーワード選定用カウンタアレイ1
04の構成を示したもので、キーワード選定用カウンタ
アレイ104は2次元の広がりを持っており、キーワー
ド選定用計数制御部103からの第1要素アドレス(1
2ビット)と第2要素アドレス(8ビット)とによって
1つのカウンタが指定されてその値がカウントアップさ
れる。なお、このカウントアレイ104は列方向に28
=256列、行方向に212=4096行のカウンタ群に
よって構成されている。また各カウンタの初期値として
本実施例においては「0」がセットされている。
04の構成を示したもので、キーワード選定用カウンタ
アレイ104は2次元の広がりを持っており、キーワー
ド選定用計数制御部103からの第1要素アドレス(1
2ビット)と第2要素アドレス(8ビット)とによって
1つのカウンタが指定されてその値がカウントアップさ
れる。なお、このカウントアレイ104は列方向に28
=256列、行方向に212=4096行のカウンタ群に
よって構成されている。また各カウンタの初期値として
本実施例においては「0」がセットされている。
【0016】キーワード選定部105は無圧縮フォント
パターンデータ格納部101内の全文字分のデータの組
み合せ頻度がキーワード選定用カウンタアレイ104に
計数されると、キーワード選定用カウンタアレイ104
の第1要素アドレス毎にカウント値が最大な第2要素ア
ドレス(着目データ「DR」の値)を調べ、それをキー
ワードテーブル格納部106の第1候補キーワードとし
て登録する。図6はキーワードテーブルの構成例で、図
示の例ではキーワード選定用計数制御部103からのア
ドレス「73Ch、1Eh」でアドレッシングされるカ
ウンタ「C73C1E(先頭の「C」はカウンタ識別用
の記号)」が第1要素アドレス「73Ch」のカウンタ
群の中で1番大きな値を持っていた場合である。この場
合、第1候補キーワードの「73Ch」の項目に着目デ
ータDR「1Eh」が登録され、2バイト前のイクスク
ルーシブオアXORの演算結果が「7h」、1バイト前
のデータが「3Ch」であれば、着目データは「1E
h」である可能性が大きいことを表わしている。更に2
番目に大きな値を持っている第2要素アドレスの値が第
2候補キーワードに、同様に3番目、4番目に大きなカ
ウント値を持っている第2要素アドレスの値が第3候
補、第4候補キーワードとして登録される。このように
本実施例においてはデータの組み合せに応じて4種類の
データ候補を登録するようにしている。
パターンデータ格納部101内の全文字分のデータの組
み合せ頻度がキーワード選定用カウンタアレイ104に
計数されると、キーワード選定用カウンタアレイ104
の第1要素アドレス毎にカウント値が最大な第2要素ア
ドレス(着目データ「DR」の値)を調べ、それをキー
ワードテーブル格納部106の第1候補キーワードとし
て登録する。図6はキーワードテーブルの構成例で、図
示の例ではキーワード選定用計数制御部103からのア
ドレス「73Ch、1Eh」でアドレッシングされるカ
ウンタ「C73C1E(先頭の「C」はカウンタ識別用
の記号)」が第1要素アドレス「73Ch」のカウンタ
群の中で1番大きな値を持っていた場合である。この場
合、第1候補キーワードの「73Ch」の項目に着目デ
ータDR「1Eh」が登録され、2バイト前のイクスク
ルーシブオアXORの演算結果が「7h」、1バイト前
のデータが「3Ch」であれば、着目データは「1E
h」である可能性が大きいことを表わしている。更に2
番目に大きな値を持っている第2要素アドレスの値が第
2候補キーワードに、同様に3番目、4番目に大きなカ
ウント値を持っている第2要素アドレスの値が第3候
補、第4候補キーワードとして登録される。このように
本実施例においてはデータの組み合せに応じて4種類の
データ候補を登録するようにしている。
【0017】キーワードテーブル格納部106内に格納
されたキーワードテーブルは前2つのデータがこの組み
合せの場合には次に来る着目データはこれであるという
定義表であり、前2つのデータから1つのデータを導き
出す為のテーブルであるので、本来は前2つ分の16ビ
ットのアドレスを持つことになる。しかし、そのような
テーブルは容量が64Kバイトにもなってしまう。ま
た、文字パターンにはこのようなテーブルを埋め尽くす
全ての組み合せが存在する可能性は低く、テーブル自体
に冗長性が出てしまう。そこで、本実施例ではテーブル
容量を通常の16分の1に縮小する手法が用いられてい
る。
されたキーワードテーブルは前2つのデータがこの組み
合せの場合には次に来る着目データはこれであるという
定義表であり、前2つのデータから1つのデータを導き
出す為のテーブルであるので、本来は前2つ分の16ビ
ットのアドレスを持つことになる。しかし、そのような
テーブルは容量が64Kバイトにもなってしまう。ま
た、文字パターンにはこのようなテーブルを埋め尽くす
全ての組み合せが存在する可能性は低く、テーブル自体
に冗長性が出てしまう。そこで、本実施例ではテーブル
容量を通常の16分の1に縮小する手法が用いられてい
る。
【0018】即ち、キーワード選定用カウンタアレイ1
04の第1要素アドレスは着目データ「DR」に対して
1つ前のデータ「DM」と2つ前のデータ「DL」とを
組み合せたものであるが、2つ前のデータ「DL」は上
位4ビットと下位4ビットとのイクスクルーシブオアX
ORの演算によって得られた4ビットデータに縮小され
る為、本来の16ビットアドレスは12ビットアドレス
となり、これによってキーワードテーブルの容量は212
/216=1/16となる。ここで、2つ前のデータ「D
L」を縮小したのは着目データ「DR」に対する影響が
1つ前のデータ「DM」よりも少ないからであり、また
イクスクルーシブオアXORの演算を選んだのは全ての
ビットの影響が結果の4ビットに残るからである。更に
上位と下位の4ビットで演算を行うのはパターンデータ
の連続性を考慮した為である。なお、この方法によれ
ば、同一アドレスとなってしまう組み合せが16種存在
することになるが、その内、頻度の高い4種類の組み合
せでそのほとんどをカバーできることが実験的に確認さ
れた。なお、2種類でも十分であるが、本実施例では4
種類の組み合せを選定するようにしている。
04の第1要素アドレスは着目データ「DR」に対して
1つ前のデータ「DM」と2つ前のデータ「DL」とを
組み合せたものであるが、2つ前のデータ「DL」は上
位4ビットと下位4ビットとのイクスクルーシブオアX
ORの演算によって得られた4ビットデータに縮小され
る為、本来の16ビットアドレスは12ビットアドレス
となり、これによってキーワードテーブルの容量は212
/216=1/16となる。ここで、2つ前のデータ「D
L」を縮小したのは着目データ「DR」に対する影響が
1つ前のデータ「DM」よりも少ないからであり、また
イクスクルーシブオアXORの演算を選んだのは全ての
ビットの影響が結果の4ビットに残るからである。更に
上位と下位の4ビットで演算を行うのはパターンデータ
の連続性を考慮した為である。なお、この方法によれ
ば、同一アドレスとなってしまう組み合せが16種存在
することになるが、その内、頻度の高い4種類の組み合
せでそのほとんどをカバーできることが実験的に確認さ
れた。なお、2種類でも十分であるが、本実施例では4
種類の組み合せを選定するようにしている。
【0019】データ出現回数計数部107はキーワード
テーブルが作成された後に動作するもので、キーワード
テーブルだけでは全てのデータがキーワードにヒットす
るとは限らない為、キーワード選定用計数制御部103
と略同様に再度、データの出現回数を計数する。ここ
で、ヒットしなかったデータについてもその出現回数が
計数される。データ出現回数計数部107が動作を開始
すると、無圧縮フォントパターンデータ格納部101内
の全ての文字が1文字ずつソース・バッファ102に格
納されてゆき、データ出現回数計数部107によって1
文字ずつ処理される。
テーブルが作成された後に動作するもので、キーワード
テーブルだけでは全てのデータがキーワードにヒットす
るとは限らない為、キーワード選定用計数制御部103
と略同様に再度、データの出現回数を計数する。ここ
で、ヒットしなかったデータについてもその出現回数が
計数される。データ出現回数計数部107が動作を開始
すると、無圧縮フォントパターンデータ格納部101内
の全ての文字が1文字ずつソース・バッファ102に格
納されてゆき、データ出現回数計数部107によって1
文字ずつ処理される。
【0020】即ち、データ出現回数計数部107はキー
ワード選定用計数制御部103で述べた方法で着目デー
タ「DR」に対して前2つのデータ「DL」および1つ
前のデータ「DM」から12ビットアドレスを求め、こ
の12ビットアドレスでキーワードテーブル格納部10
6をアクセスし、着目データ「DR」が第1候補キーワ
ード〜第4候補キーワードに一致するか否かをチェック
する。ここで、着目データ「DR」が第1候補キーワー
ド〜第4候補キーワードの何れかに一致する場合には、
それに対応する回数カウントアレイ108内のカウンタ
の値をカウントアップ「+1」させる。また、何れのキ
ーワードにも一致しない場合にはその着目データに対応
する回数カウントアレイ108内のカウンタの値をカウ
ントアップ「+1」させる。
ワード選定用計数制御部103で述べた方法で着目デー
タ「DR」に対して前2つのデータ「DL」および1つ
前のデータ「DM」から12ビットアドレスを求め、こ
の12ビットアドレスでキーワードテーブル格納部10
6をアクセスし、着目データ「DR」が第1候補キーワ
ード〜第4候補キーワードに一致するか否かをチェック
する。ここで、着目データ「DR」が第1候補キーワー
ド〜第4候補キーワードの何れかに一致する場合には、
それに対応する回数カウントアレイ108内のカウンタ
の値をカウントアップ「+1」させる。また、何れのキ
ーワードにも一致しない場合にはその着目データに対応
する回数カウントアレイ108内のカウンタの値をカウ
ントアップ「+1」させる。
【0021】図7は回数カウントアレイ108の構成を
示したもので、回数カウントアレイ108には着目デー
タ「DR」がキーワードに一致しない場合において着目
データ「00」〜「FF」に対応してそのデータの出現
回数を計数するカウンタ「C000h」、「C001
h」……「C0FFh」と、第1〜第4候補のキーワー
ドの何れかに一致する場合のデータの出現回数を計数す
るカウンタ「C100h」、「C101h」、「C10
2h」、「C103h」が設けられている。ここで、各
カウンタは特定のコード「000h」〜「0FFh」、
「100h」、「101h」、「102h」、「103
h」に対応付けられており、各コードは圧縮文字データ
を元の文字パターンデータに復元再生させる為の再生コ
マンドを定義している。
示したもので、回数カウントアレイ108には着目デー
タ「DR」がキーワードに一致しない場合において着目
データ「00」〜「FF」に対応してそのデータの出現
回数を計数するカウンタ「C000h」、「C001
h」……「C0FFh」と、第1〜第4候補のキーワー
ドの何れかに一致する場合のデータの出現回数を計数す
るカウンタ「C100h」、「C101h」、「C10
2h」、「C103h」が設けられている。ここで、各
カウンタは特定のコード「000h」〜「0FFh」、
「100h」、「101h」、「102h」、「103
h」に対応付けられており、各コードは圧縮文字データ
を元の文字パターンデータに復元再生させる為の再生コ
マンドを定義している。
【0022】図8は各コマンドコードとその実行コマン
ドの内容を示したもので、コマンドコード「000h」
〜「0FFh」は“コマンドコードの下位8ビットの内
容(着目データ)をストアせよ”を意味し、コマンドコ
ード「100h」は“第1候補キーワードを参照してそ
の内容(着目データ)をストアせよ”を意味する。更
に、コマンドコード「101h」は“第2候補キーワー
ドを参照してその内容をストアせよ”を意味し、またコ
マンドコード「102h」は“第3候補のキーワードを
参照してその内容をストアせよ”を意味し、コマンドコ
ード「103h」は“第4候補のキーワードを参照して
その内容をストアせよ”を意味する。このようにコマン
ドの内容はコマンドデータの一部をそのままデータとし
て再生させるものと、キーワードテーブルを参照してそ
の内容をデータとして再生させるものとがある。
ドの内容を示したもので、コマンドコード「000h」
〜「0FFh」は“コマンドコードの下位8ビットの内
容(着目データ)をストアせよ”を意味し、コマンドコ
ード「100h」は“第1候補キーワードを参照してそ
の内容(着目データ)をストアせよ”を意味する。更
に、コマンドコード「101h」は“第2候補キーワー
ドを参照してその内容をストアせよ”を意味し、またコ
マンドコード「102h」は“第3候補のキーワードを
参照してその内容をストアせよ”を意味し、コマンドコ
ード「103h」は“第4候補のキーワードを参照して
その内容をストアせよ”を意味する。このようにコマン
ドの内容はコマンドデータの一部をそのままデータとし
て再生させるものと、キーワードテーブルを参照してそ
の内容をデータとして再生させるものとがある。
【0023】このようにデータ出現回数計数部107は
着目データ「DR」が第1候補〜第4候補のキーワード
に一致するときには、対応するカウンタの値をカウント
アップするが、かなりのデータは第1候補〜第4候補の
キーワードと一致する為、回数カウントアレイ108内
のカウント値はコマンドコード「100h」〜「103
h」に対応するカウンタ値が極端に大きくなり、偏りが
発生する。このようにデータの出現頻度に偏りが発生す
る為、効果的なデータ圧縮を実現することが可能とな
る。
着目データ「DR」が第1候補〜第4候補のキーワード
に一致するときには、対応するカウンタの値をカウント
アップするが、かなりのデータは第1候補〜第4候補の
キーワードと一致する為、回数カウントアレイ108内
のカウント値はコマンドコード「100h」〜「103
h」に対応するカウンタ値が極端に大きくなり、偏りが
発生する。このようにデータの出現頻度に偏りが発生す
る為、効果的なデータ圧縮を実現することが可能とな
る。
【0024】圧縮符号表発生部109はデータ出現回数
計数部107が全文字についての処理を終了した時点で
回数カウントアレイ108内のカウント値を用いて圧縮
符号を発生する。この場合、例えばハフマン符号の発生
アルゴリズムなどの冗長性をカットする特性の符号であ
れば、その内容は問わない。なお、ハフマン符号化法な
どは広く知られた技術であるので、ここではその説明は
省略するものとする。この圧縮符号表発生部109によ
って発生された符号表は圧縮符号表格納部110に書き
込まれる。
計数部107が全文字についての処理を終了した時点で
回数カウントアレイ108内のカウント値を用いて圧縮
符号を発生する。この場合、例えばハフマン符号の発生
アルゴリズムなどの冗長性をカットする特性の符号であ
れば、その内容は問わない。なお、ハフマン符号化法な
どは広く知られた技術であるので、ここではその説明は
省略するものとする。この圧縮符号表発生部109によ
って発生された符号表は圧縮符号表格納部110に書き
込まれる。
【0025】図9は圧縮符号表を示し、圧縮符号表はコ
マンドコードに対応して圧縮符号列とそのビット数とか
ら成り、この圧縮符号列は可変長データであり、ハフマ
ン符号化法にしたがってデータの出現頻度の大きいもの
は少ないビット数の圧縮符号列で表わされている。な
お、圧縮符号表の内容は図中、見易くする為にビット数
の少ないものから並べてあるが、実際にはこのように並
べる必要はない。この圧縮符号表は2つの使われ方をす
る。その1つは無圧縮フォントパターンを圧縮コマンド
列に変換するときであり、他の1つは圧縮コマンド列を
伸長するときに使われる逆変換テーブルの作成時であ
る。
マンドコードに対応して圧縮符号列とそのビット数とか
ら成り、この圧縮符号列は可変長データであり、ハフマ
ン符号化法にしたがってデータの出現頻度の大きいもの
は少ないビット数の圧縮符号列で表わされている。な
お、圧縮符号表の内容は図中、見易くする為にビット数
の少ないものから並べてあるが、実際にはこのように並
べる必要はない。この圧縮符号表は2つの使われ方をす
る。その1つは無圧縮フォントパターンを圧縮コマンド
列に変換するときであり、他の1つは圧縮コマンド列を
伸長するときに使われる逆変換テーブルの作成時であ
る。
【0026】圧縮符号化部112はデータ出現回数計数
部107と略同様の動作を行うものであるが、データ出
現回数計数部107で回数カウントアレイ108のカウ
ンタをカウントアップしていた代わりにキーワードテー
ブル格納部106の内容を参照しながら、圧縮符号表格
納部110に格納されているビット列(圧縮符号列)を
データ書き込み部113を介して圧縮フォント格納部1
14に吐き出す動作を行う。
部107と略同様の動作を行うものであるが、データ出
現回数計数部107で回数カウントアレイ108のカウ
ンタをカウントアップしていた代わりにキーワードテー
ブル格納部106の内容を参照しながら、圧縮符号表格
納部110に格納されているビット列(圧縮符号列)を
データ書き込み部113を介して圧縮フォント格納部1
14に吐き出す動作を行う。
【0027】即ち、無圧縮フォントパターンデータ格納
部101内の全ての文字が1文字ずつソース・バッファ
102に格納されてゆき、圧縮符号化部112によって
1文字ずつ処理される。この場合、圧縮符号化部112
は上述した方法で着目データ「DR」に対して前2つの
データ「DL」、「DM」から12ビットアドレスを求
め、この12ビットアドレスでキーワードテーブル格納
部106をアクセスし、着目データ「DR」が第1候補
キーワード〜第4候補キーワードの何れかに一致するか
否かをチェックする。ここで、着目データ「DR」が第
1候補キーワード〜第4候補キーワードの何れかに一致
する場合には圧縮符号表を参照し、該当候補に対応する
コマンドコードを指定してその圧縮符号列を読み出す。
この圧縮符号列はデータ書き込み部113に与えられ圧
縮フォント格納部114に書き込まれる。一方、不一致
の場合には着目データに対応するコマンドコードを指定
してその圧縮符号列を読み出す。この圧縮符号列はデー
タ書き込み部113に与えられ、圧縮フォント格納部1
14に書き込まれる。このようにして圧縮フォント格納
部114内に書き込まれた1文字分の圧縮符号列は可変
長データとなる。そして、1文字分の圧縮符号列が圧縮
フォント格納部114に書き込まれると、データ書き込
み部113はその文字が圧縮フォント格納部114の何
バイト目から書き始められているかを示す為のアドレス
がインデックステーブル格納部115にセットされる。
部101内の全ての文字が1文字ずつソース・バッファ
102に格納されてゆき、圧縮符号化部112によって
1文字ずつ処理される。この場合、圧縮符号化部112
は上述した方法で着目データ「DR」に対して前2つの
データ「DL」、「DM」から12ビットアドレスを求
め、この12ビットアドレスでキーワードテーブル格納
部106をアクセスし、着目データ「DR」が第1候補
キーワード〜第4候補キーワードの何れかに一致するか
否かをチェックする。ここで、着目データ「DR」が第
1候補キーワード〜第4候補キーワードの何れかに一致
する場合には圧縮符号表を参照し、該当候補に対応する
コマンドコードを指定してその圧縮符号列を読み出す。
この圧縮符号列はデータ書き込み部113に与えられ圧
縮フォント格納部114に書き込まれる。一方、不一致
の場合には着目データに対応するコマンドコードを指定
してその圧縮符号列を読み出す。この圧縮符号列はデー
タ書き込み部113に与えられ、圧縮フォント格納部1
14に書き込まれる。このようにして圧縮フォント格納
部114内に書き込まれた1文字分の圧縮符号列は可変
長データとなる。そして、1文字分の圧縮符号列が圧縮
フォント格納部114に書き込まれると、データ書き込
み部113はその文字が圧縮フォント格納部114の何
バイト目から書き始められているかを示す為のアドレス
がインデックステーブル格納部115にセットされる。
【0028】逆変換テーブル発生部116は圧縮符号表
を構成する圧縮符号列を数値に見立ててその数値の小さ
い順に並べ変える。この時、逆変換テーブル発生部11
6は最大ビット長を持つ符号に合せて残りは右側に
「0」を付加して数値に見立てる。例えばコマンドコー
ド「101h」の符号列は「10」であるが、最大ビッ
ト長が16ビットであるならば、この右側に「0」を1
4個付加して「8000h」として取り扱う。このよう
にして圧縮符号表格納部110の内容を数値的な重み順
に並べ変えると、図10に示す様な並びとなる。
を構成する圧縮符号列を数値に見立ててその数値の小さ
い順に並べ変える。この時、逆変換テーブル発生部11
6は最大ビット長を持つ符号に合せて残りは右側に
「0」を付加して数値に見立てる。例えばコマンドコー
ド「101h」の符号列は「10」であるが、最大ビッ
ト長が16ビットであるならば、この右側に「0」を1
4個付加して「8000h」として取り扱う。このよう
にして圧縮符号表格納部110の内容を数値的な重み順
に並べ変えると、図10に示す様な並びとなる。
【0029】ここで、圧縮フォント格納部114の内容
を復元再生する際において、あるビット列が与えられた
とき、そのコマンドコードが何かを調べるにはそのビッ
ト列の先頭から1ビットずつ取り出して調べてゆき、コ
マンドコードの符号列と一致したところで解析終了とな
れば処理速度等の点において極めて好都合である。そこ
で、図10を見てみると、先頭のビットが「0」ならば
それはコマンドコード「100h」であると結論できる
ことが解る。しかし、「1」ならば次のビットを見なけ
ればならない。いま、次のビットを見た場合、それが
「0」ならばコマンドコード「101h」であるが、
「1」であれば更に次のビットを見なければならない。
ここで、図11は図10の圧縮符号表を木リスト構造で
表わしたものである。
を復元再生する際において、あるビット列が与えられた
とき、そのコマンドコードが何かを調べるにはそのビッ
ト列の先頭から1ビットずつ取り出して調べてゆき、コ
マンドコードの符号列と一致したところで解析終了とな
れば処理速度等の点において極めて好都合である。そこ
で、図10を見てみると、先頭のビットが「0」ならば
それはコマンドコード「100h」であると結論できる
ことが解る。しかし、「1」ならば次のビットを見なけ
ればならない。いま、次のビットを見た場合、それが
「0」ならばコマンドコード「101h」であるが、
「1」であれば更に次のビットを見なければならない。
ここで、図11は図10の圧縮符号表を木リスト構造で
表わしたものである。
【0030】この2進の木リスト構造において、「ni
l」と書かれている分岐点はそこでコマンドコードが確
定するところを表し、また「dir」と書かれている分
岐点は次のビットを見る必要があるということを表わし
ている。そこで、「dir」の部分を図12に示す様な
構造で表わしてやると非常に効率の良い逆変換テーブル
を得ることが可能となる。ここで、「dir」は対象と
するビットが「0」の場合と「1」の場合の2通りに
「振舞い」が分けられる。よって、1つの「dir」を
表わすのに16ビットのデータを2組、即ち4バイトで
表わすことにする。「アドレス+0(16ビット)」は
「0」のときの振舞い、「アドレス+2(16ビッ
ト)」は「1」のときの振舞いを表わす。また、テーブ
ルアドレスはリストの根元(Root)より「00
0」、「004」、「008」……に割り当てられてい
る。図13は逆変換テーブルにおける振舞いデータの構
造を示し、「振舞い」にはそこで「nil」となり、デ
ータが確定する場合と、また新たに「dir」となる場
合とがある。そこで、図13に示す様に16ビットデー
タのMSBに「dir」か「nil」の識別子を置き、
残りの15ビットで次の「dir」が記述されている逆
変換テーブル上のアドレスを表わすか、コマンドコード
の値を表わす。なお、MSBの識別子が「1」のときに
は「nil」で、続く15ビットはコマンドコードを表
わし、MSBの識別子が「0」のときには「dir」
で、続く15ビットは次の「dir」アドレスであるこ
とを表わす。図14は逆変換テーブルの内容を具体的に
示したもので、逆変換テーブル発生部116は図10で
示した圧縮符号表にしたがって図14に示す様な構造の
逆変換テーブルを作成し、逆変換テーブル格納部117
に格納する。
l」と書かれている分岐点はそこでコマンドコードが確
定するところを表し、また「dir」と書かれている分
岐点は次のビットを見る必要があるということを表わし
ている。そこで、「dir」の部分を図12に示す様な
構造で表わしてやると非常に効率の良い逆変換テーブル
を得ることが可能となる。ここで、「dir」は対象と
するビットが「0」の場合と「1」の場合の2通りに
「振舞い」が分けられる。よって、1つの「dir」を
表わすのに16ビットのデータを2組、即ち4バイトで
表わすことにする。「アドレス+0(16ビット)」は
「0」のときの振舞い、「アドレス+2(16ビッ
ト)」は「1」のときの振舞いを表わす。また、テーブ
ルアドレスはリストの根元(Root)より「00
0」、「004」、「008」……に割り当てられてい
る。図13は逆変換テーブルにおける振舞いデータの構
造を示し、「振舞い」にはそこで「nil」となり、デ
ータが確定する場合と、また新たに「dir」となる場
合とがある。そこで、図13に示す様に16ビットデー
タのMSBに「dir」か「nil」の識別子を置き、
残りの15ビットで次の「dir」が記述されている逆
変換テーブル上のアドレスを表わすか、コマンドコード
の値を表わす。なお、MSBの識別子が「1」のときに
は「nil」で、続く15ビットはコマンドコードを表
わし、MSBの識別子が「0」のときには「dir」
で、続く15ビットは次の「dir」アドレスであるこ
とを表わす。図14は逆変換テーブルの内容を具体的に
示したもので、逆変換テーブル発生部116は図10で
示した圧縮符号表にしたがって図14に示す様な構造の
逆変換テーブルを作成し、逆変換テーブル格納部117
に格納する。
【0031】次に、文書作成装置200の構成を図1
5、図16を参照して説明する。図15は文書作成装置
200の全体構成を示したブロック図である。主制御部
210は各種プログラムにしたがってこの文書作成装置
200の全体動作を制御するもので、キー操作部211
から入力された文書データは主制御部210に取り込ま
れ、表示制御部212を介して表示装置213から表示
出力されたり、文書メモリ214に格納される。この文
書メモリ214は文書データをコード形式で記憶するも
ので、その内容はキー操作部211からの登録指令に応
答して外部記憶制御装置215に与えられ、外部記憶装
置216に登録保存されたり、キー操作部211からの
印字指令に応答して読み出され、文字パターン再生装置
201によって対応する文字パターンデータに変換され
たのち、印刷制御部217を介して印刷装置218から
印字出力される。
5、図16を参照して説明する。図15は文書作成装置
200の全体構成を示したブロック図である。主制御部
210は各種プログラムにしたがってこの文書作成装置
200の全体動作を制御するもので、キー操作部211
から入力された文書データは主制御部210に取り込ま
れ、表示制御部212を介して表示装置213から表示
出力されたり、文書メモリ214に格納される。この文
書メモリ214は文書データをコード形式で記憶するも
ので、その内容はキー操作部211からの登録指令に応
答して外部記憶制御装置215に与えられ、外部記憶装
置216に登録保存されたり、キー操作部211からの
印字指令に応答して読み出され、文字パターン再生装置
201によって対応する文字パターンデータに変換され
たのち、印刷制御部217を介して印刷装置218から
印字出力される。
【0032】文字パターン再生装置201は上述した圧
縮文字データメモリ203の他、展開制御部219、文
字パターンバッファ220を有する構成で、この圧縮文
字データメモリ203には図1で示した様に文字パター
ンデータ圧縮装置100から供給された各種のデータを
記憶する圧縮フォント格納部204、インデックステー
ブル格納部205、逆変換テーブル格納部206、キー
ワードテーブル格納部207が設けられており、展開制
御部219はこれらのデータに基づいて圧縮文字データ
を通常の文字パターンデータに復元再生し、文字パター
ンバッファ220に書き込む。
縮文字データメモリ203の他、展開制御部219、文
字パターンバッファ220を有する構成で、この圧縮文
字データメモリ203には図1で示した様に文字パター
ンデータ圧縮装置100から供給された各種のデータを
記憶する圧縮フォント格納部204、インデックステー
ブル格納部205、逆変換テーブル格納部206、キー
ワードテーブル格納部207が設けられており、展開制
御部219はこれらのデータに基づいて圧縮文字データ
を通常の文字パターンデータに復元再生し、文字パター
ンバッファ220に書き込む。
【0033】図16は文字パターン再生装置201を詳
細に示したブロック構成図である。展開制御部219は
文字コードレジスタ221、インデックステーブルアク
セス部222、圧縮データアクセス部223、圧縮パタ
ーンバッファ224、再生コマンド発生部225、再生
コマンド実行部226を有する構成で、文書作成機主装
置202から印刷対象の文字コードが文字コードレジス
タ221にセットされると、インデックステーブルアク
セス部222はその文字が圧縮フォント格納部204の
どこに書き込まれているかをアクセスする為にインデッ
クステーブル格納部205を検索する。この場合、イン
デックステーブル格納部205の内容はJISの並び順
にしたがっている為、インデックステーブルアクセス部
222は文字コードに基づいてインデックステーブル格
納部205から該当アドレスを検索することができる。
このようにして検索されたアドレスは圧縮データアクセ
ス部223に送られる。圧縮データアクセス部223は
このアドレスにしたがって圧縮フォント格納部204を
アクセスし、1文字分の圧縮文字データを読み出して圧
縮パターンバッファ224に転送する。
細に示したブロック構成図である。展開制御部219は
文字コードレジスタ221、インデックステーブルアク
セス部222、圧縮データアクセス部223、圧縮パタ
ーンバッファ224、再生コマンド発生部225、再生
コマンド実行部226を有する構成で、文書作成機主装
置202から印刷対象の文字コードが文字コードレジス
タ221にセットされると、インデックステーブルアク
セス部222はその文字が圧縮フォント格納部204の
どこに書き込まれているかをアクセスする為にインデッ
クステーブル格納部205を検索する。この場合、イン
デックステーブル格納部205の内容はJISの並び順
にしたがっている為、インデックステーブルアクセス部
222は文字コードに基づいてインデックステーブル格
納部205から該当アドレスを検索することができる。
このようにして検索されたアドレスは圧縮データアクセ
ス部223に送られる。圧縮データアクセス部223は
このアドレスにしたがって圧縮フォント格納部204を
アクセスし、1文字分の圧縮文字データを読み出して圧
縮パターンバッファ224に転送する。
【0034】再生コマンド発生部225は逆変換テーブ
ル用のポインタ(図示せず)を持ち、圧縮パターンバッ
ファ224内の圧縮文字データ(圧縮符号列)を逆変換
テーブル格納部206の内容にしたがってコマンドコー
ドに変換するもので、これによって変換されたコマンド
コードは1コマンド毎に再生コマンド実行部226に送
られる。
ル用のポインタ(図示せず)を持ち、圧縮パターンバッ
ファ224内の圧縮文字データ(圧縮符号列)を逆変換
テーブル格納部206の内容にしたがってコマンドコー
ドに変換するもので、これによって変換されたコマンド
コードは1コマンド毎に再生コマンド実行部226に送
られる。
【0035】再生コマンド実行部226は図8で示した
実行コマンドの内容にしたがったストア処理を再生コマ
ンド発生部225からのコマンドコードにしたがって逐
次実行するもので、その際、キーワードテーブル格納部
207から必要に応じてデータを抽出し、そのデータを
文字パターンバッファ220に書き込む。ここで、コマ
ンドコードが「100h」〜「103h」、つまり、そ
の内容が“第1候補キーワード〜第4候補キーワードを
参照してストアせよ”の場合には、文字パターンバッフ
ァ220に書き込まれている2つ前のデータを文字パタ
ーンバッファ220から読み出すと共に、このデータか
ら上述した方法でキーワードテーブルのアドレスを生成
し、このアドレスで指定されるテーブル内容を再生デー
タとして文字パターンバッファ220に書き込む。これ
により文字パターンバッファ220には復元再生された
文字パターンデータが格納される。ここで、文書作成機
主装置202は通常と同様に文字パターンバッファ22
0から文字パターンデータを読み出して印字出力させ
る。
実行コマンドの内容にしたがったストア処理を再生コマ
ンド発生部225からのコマンドコードにしたがって逐
次実行するもので、その際、キーワードテーブル格納部
207から必要に応じてデータを抽出し、そのデータを
文字パターンバッファ220に書き込む。ここで、コマ
ンドコードが「100h」〜「103h」、つまり、そ
の内容が“第1候補キーワード〜第4候補キーワードを
参照してストアせよ”の場合には、文字パターンバッフ
ァ220に書き込まれている2つ前のデータを文字パタ
ーンバッファ220から読み出すと共に、このデータか
ら上述した方法でキーワードテーブルのアドレスを生成
し、このアドレスで指定されるテーブル内容を再生デー
タとして文字パターンバッファ220に書き込む。これ
により文字パターンバッファ220には復元再生された
文字パターンデータが格納される。ここで、文書作成機
主装置202は通常と同様に文字パターンバッファ22
0から文字パターンデータを読み出して印字出力させ
る。
【0036】次に、本実施例の動作を説明する。先ず、
文字パターンデータ圧縮装置100によるパターン圧縮
動作について説明する。ソース・バッファ102には無
圧縮フォントパターンデータ格納部101にビットマッ
プ方式で格納されている各種の文字パターンデータをそ
の先頭文字から1文字ずつ転送される。すると、キーワ
ード選定用計数制御部103は先ずソース・バッファ1
02から1バイト目〜3バイト目のデータを切り出すと
共に3バイト目のデータに着目し、この着目データ「D
R」に対して1つ前の2バイト目のデータを「DR」、
更に1つ前の1バイト目のデータを「DL」とする。こ
こで、キーワード選定用計数制御部103は2つ前のデ
ータ「DL」の上位4ビットと下位4ビットとのイクス
クルーブオアXORを取り、これをキーワード選定用カ
ウンタアレイ104をアクセスする為の第1要素アドレ
スの最上位4ビットとする。いま、図4の例では2つ前
のデータ、つまり1バイト目のデータは「011100
00(70h)」で、そのXORの結果は「0111
(7h)」となる。そして、1つ前の2バイト目のデー
タ「DM」が「00111100(3Ch)」である
為、第1要素アドレスは「011100111100
(73Ch)」の12ビットアドレスとなる。一方、キ
ーワード選定用計数制御部103は着目している3バイ
ト目のデータ「DR」そのものをキーワード選定用カウ
ンタアレイ104の第2要素アドレス「0001111
0(1Eh)」とする。したがって、図4の例では「7
3Ch、1Eh」というアドレスが算出されることにな
る。
文字パターンデータ圧縮装置100によるパターン圧縮
動作について説明する。ソース・バッファ102には無
圧縮フォントパターンデータ格納部101にビットマッ
プ方式で格納されている各種の文字パターンデータをそ
の先頭文字から1文字ずつ転送される。すると、キーワ
ード選定用計数制御部103は先ずソース・バッファ1
02から1バイト目〜3バイト目のデータを切り出すと
共に3バイト目のデータに着目し、この着目データ「D
R」に対して1つ前の2バイト目のデータを「DR」、
更に1つ前の1バイト目のデータを「DL」とする。こ
こで、キーワード選定用計数制御部103は2つ前のデ
ータ「DL」の上位4ビットと下位4ビットとのイクス
クルーブオアXORを取り、これをキーワード選定用カ
ウンタアレイ104をアクセスする為の第1要素アドレ
スの最上位4ビットとする。いま、図4の例では2つ前
のデータ、つまり1バイト目のデータは「011100
00(70h)」で、そのXORの結果は「0111
(7h)」となる。そして、1つ前の2バイト目のデー
タ「DM」が「00111100(3Ch)」である
為、第1要素アドレスは「011100111100
(73Ch)」の12ビットアドレスとなる。一方、キ
ーワード選定用計数制御部103は着目している3バイ
ト目のデータ「DR」そのものをキーワード選定用カウ
ンタアレイ104の第2要素アドレス「0001111
0(1Eh)」とする。したがって、図4の例では「7
3Ch、1Eh」というアドレスが算出されることにな
る。
【0037】次に、キーワード選定用計数制御部103
はソース・バッファ102の4バイト目に着目し、2つ
前の2バイト目のデータと1つ前の3バイト目のデータ
とに基づいてキーワード選定用カウンタアレイ104の
アドレスを算出する。このようなアドレス算出処理は1
バイト毎に最後の288バイト目まで1バイト毎に繰り
返し実行される。これと同時にキーワード選定用計数制
御部103は算出アドレスにしたがってキーワード選定
用カウンタアレイ104をアクセスし、該当するカウン
タ値をカウントアップしてゆく。これによってデータの
組み合せ頻度がキーワード選定用カウンタアレイ104
で計数されることになる。
はソース・バッファ102の4バイト目に着目し、2つ
前の2バイト目のデータと1つ前の3バイト目のデータ
とに基づいてキーワード選定用カウンタアレイ104の
アドレスを算出する。このようなアドレス算出処理は1
バイト毎に最後の288バイト目まで1バイト毎に繰り
返し実行される。これと同時にキーワード選定用計数制
御部103は算出アドレスにしたがってキーワード選定
用カウンタアレイ104をアクセスし、該当するカウン
タ値をカウントアップしてゆく。これによってデータの
組み合せ頻度がキーワード選定用カウンタアレイ104
で計数されることになる。
【0038】このようにして無圧縮フォントパターンデ
ータ格納部101内の全ての文字についての組み合せ頻
度を計数し終ると、キーワード選定部105はキーワー
ド選定用カウンタアレイ104の内容を解析し、キーワ
ードテーブルを作成する。即ち、キーワード選定部10
5はキーワード選定用カウンタアレイ104の第1要素
アドレス毎に最も大きいカウンタ値の第2要素アドレ
ス、つまり、組み合せ頻度が最も高い着目データを第1
候補キーワードとして登録し、次に大きいカウンタ値の
第2要素アドレスを第2候補キーワードとして登録し、
同様に3番目、4番目に大きなカウンタ値の第2要素ア
ドレスを第3候補キーワード、第4候補キーワードとし
て登録する。このようにデータの組み合せ頻度に基づい
てそれに続く着目データはこれであるという候補が4種
類抽出されてキーワードテーブル格納部106に格納さ
れる。
ータ格納部101内の全ての文字についての組み合せ頻
度を計数し終ると、キーワード選定部105はキーワー
ド選定用カウンタアレイ104の内容を解析し、キーワ
ードテーブルを作成する。即ち、キーワード選定部10
5はキーワード選定用カウンタアレイ104の第1要素
アドレス毎に最も大きいカウンタ値の第2要素アドレ
ス、つまり、組み合せ頻度が最も高い着目データを第1
候補キーワードとして登録し、次に大きいカウンタ値の
第2要素アドレスを第2候補キーワードとして登録し、
同様に3番目、4番目に大きなカウンタ値の第2要素ア
ドレスを第3候補キーワード、第4候補キーワードとし
て登録する。このようにデータの組み合せ頻度に基づい
てそれに続く着目データはこれであるという候補が4種
類抽出されてキーワードテーブル格納部106に格納さ
れる。
【0039】いま、キーワードテーブルの作成が終わる
と、それを参照しながらデータ出現回数計数部107が
動作を始める。この場合にも無圧縮フォントパターンデ
ータ格納部101からソース・バッファ102に1文字
ずつ文字パターンデータが順次格納されてゆく。ここ
で、データ出現回数計数部107は上述した様にキーワ
ード選定用計数制御部103と同様にデータの出現回数
を計数するが、今度はキーワードテーブル格納部106
内のキーワードに一致する場合における第1候補〜第4
候補毎の出現回数と、キーワードに一致しなかった場合
におけるデータ毎の出現回数を計数する。
と、それを参照しながらデータ出現回数計数部107が
動作を始める。この場合にも無圧縮フォントパターンデ
ータ格納部101からソース・バッファ102に1文字
ずつ文字パターンデータが順次格納されてゆく。ここ
で、データ出現回数計数部107は上述した様にキーワ
ード選定用計数制御部103と同様にデータの出現回数
を計数するが、今度はキーワードテーブル格納部106
内のキーワードに一致する場合における第1候補〜第4
候補毎の出現回数と、キーワードに一致しなかった場合
におけるデータ毎の出現回数を計数する。
【0040】即ち、データ出現回数計数部107は着目
データに対して前2つのデータから求めた12ビットア
ドレスでキーワードテーブル格納部106をアクセス
し、着目データが第1候補〜第4候補の何れかのキーワ
ードに一致する場合にはそれに対応する回数カウントア
レイ108内のカウンタ値をカウントアップさせる。例
えば、12ビットアドレスが「73Ch」で、図6に示
す如く第1候補キーワードの「73Ch」の項目に「1
Eh」が登録されている場合、着目データが「1Eh」
であれば、この着目データは第1候補キーワードと一致
するので、回数カウントアレイ108内のカウンタ「C
100h」の値が「+1」される。一方、何れのキーワ
ードにも一致しなかった場合にはその着目データに対応
する回数カウントアレイ108内のカウンタ値がカウン
トアップされる。例えば、着目データが「01h」であ
れば、回数カウントアレイ108内のカウンタ「C00
1h」の値が「+1」される。このような動作は1文字
の最後まで1文字毎に全文字分繰り返し実行される。こ
の結果、かなりのデータがキーワードと一致する様にな
る為、カウンタ「C100h」〜「C103h」の値が
極端に大きくなり、データ圧縮に最適な偏りを発生す
る。ここで、回数カウントアレイ108内の各カウンタ
は圧縮文字データを元の文字パターンデータに再生させ
る際に用いられる再生コマンドコード(図8参照)に対
応付けられている為、かなりのデータがこの再生コマン
ド「100h」〜「103h」に書き換えることが可能
となる。
データに対して前2つのデータから求めた12ビットア
ドレスでキーワードテーブル格納部106をアクセス
し、着目データが第1候補〜第4候補の何れかのキーワ
ードに一致する場合にはそれに対応する回数カウントア
レイ108内のカウンタ値をカウントアップさせる。例
えば、12ビットアドレスが「73Ch」で、図6に示
す如く第1候補キーワードの「73Ch」の項目に「1
Eh」が登録されている場合、着目データが「1Eh」
であれば、この着目データは第1候補キーワードと一致
するので、回数カウントアレイ108内のカウンタ「C
100h」の値が「+1」される。一方、何れのキーワ
ードにも一致しなかった場合にはその着目データに対応
する回数カウントアレイ108内のカウンタ値がカウン
トアップされる。例えば、着目データが「01h」であ
れば、回数カウントアレイ108内のカウンタ「C00
1h」の値が「+1」される。このような動作は1文字
の最後まで1文字毎に全文字分繰り返し実行される。こ
の結果、かなりのデータがキーワードと一致する様にな
る為、カウンタ「C100h」〜「C103h」の値が
極端に大きくなり、データ圧縮に最適な偏りを発生す
る。ここで、回数カウントアレイ108内の各カウンタ
は圧縮文字データを元の文字パターンデータに再生させ
る際に用いられる再生コマンドコード(図8参照)に対
応付けられている為、かなりのデータがこの再生コマン
ド「100h」〜「103h」に書き換えることが可能
となる。
【0041】次に、圧縮符号表発生部109は回数カウ
ントアレイ108の計数データを用いて圧縮符号をハフ
マン符号化法などの様にデータの出現頻度に応じて冗長
部分を抑制する方法で発生し、圧縮符号表格納部110
に格納する。このようにして発生された圧縮符号表にお
いて、データの出現頻度の大きいものは図9で示す様に
少ないビット数の符号列で表わされることになる。
ントアレイ108の計数データを用いて圧縮符号をハフ
マン符号化法などの様にデータの出現頻度に応じて冗長
部分を抑制する方法で発生し、圧縮符号表格納部110
に格納する。このようにして発生された圧縮符号表にお
いて、データの出現頻度の大きいものは図9で示す様に
少ないビット数の符号列で表わされることになる。
【0042】このようにして圧縮符号表が完成すると、
圧縮符号化部112が動作し始める。この場合において
も無圧縮フォントパターンデータ格納部101内の文字
パターンデータが1文字ずつソース・バッファ102に
順次格納されてゆく。ここで、圧縮符号化部112は着
目データに対して前2つのデータから求めた12ビット
アドレスでキーワードテーブル格納部106をアクセス
し、着目データが第1候補〜第4候補のキーワードと一
致する場合には、圧縮符号表を参照し、該当候補に対応
するコマンドコードを指定してその圧縮符号列を読み出
す。一方、不一致の場合には着目データに対応するコマ
ンドコードを指定してその圧縮符号列を読み出す。
圧縮符号化部112が動作し始める。この場合において
も無圧縮フォントパターンデータ格納部101内の文字
パターンデータが1文字ずつソース・バッファ102に
順次格納されてゆく。ここで、圧縮符号化部112は着
目データに対して前2つのデータから求めた12ビット
アドレスでキーワードテーブル格納部106をアクセス
し、着目データが第1候補〜第4候補のキーワードと一
致する場合には、圧縮符号表を参照し、該当候補に対応
するコマンドコードを指定してその圧縮符号列を読み出
す。一方、不一致の場合には着目データに対応するコマ
ンドコードを指定してその圧縮符号列を読み出す。
【0043】いま、例えば、文字パターンデータの左上
のデータ列がコマンドコードで表現した場合に「100
h+100h+0FFh+102h+101h+……」
という並び方をしているものとする。この場合、圧縮符
号表を参照し、コマンドコードを対応する圧縮符号列で
書き換えると、上述したコマンド列は「0+0+110
10000+1100+10+……」となる。これを8
ビット毎に区切って表現すると「00110100+0
0110010+……」となり、これを16進で表わす
と「34h+32h+……」となる。なお、本実施例で
は文字パターンデータの3バイト目から着目するように
しているが、最初の2バイトは文字の左上の16ドット
となり、「0」(空白)であることが多い。そこで、特
例的にこのエリアが「0」のときは第1候補キーワード
を参照するコマンド(図8の例では「100h」)に書
き換えることとしている。このようにして再生コマンド
を実行するときに最初の2バイトでこのコマンドコード
「100h」が来たら「0」を書き込む約束にしておけ
ば何の問題も生じない。
のデータ列がコマンドコードで表現した場合に「100
h+100h+0FFh+102h+101h+……」
という並び方をしているものとする。この場合、圧縮符
号表を参照し、コマンドコードを対応する圧縮符号列で
書き換えると、上述したコマンド列は「0+0+110
10000+1100+10+……」となる。これを8
ビット毎に区切って表現すると「00110100+0
0110010+……」となり、これを16進で表わす
と「34h+32h+……」となる。なお、本実施例で
は文字パターンデータの3バイト目から着目するように
しているが、最初の2バイトは文字の左上の16ドット
となり、「0」(空白)であることが多い。そこで、特
例的にこのエリアが「0」のときは第1候補キーワード
を参照するコマンド(図8の例では「100h」)に書
き換えることとしている。このようにして再生コマンド
を実行するときに最初の2バイトでこのコマンドコード
「100h」が来たら「0」を書き込む約束にしておけ
ば何の問題も生じない。
【0044】このように圧縮符号化部112は文字パタ
ーンデータの左上から順次処理してゆき、1文字288
バイトを処理したところでいったん区切られ、1文字の
最後のビット列が8ビットとなるまで「0」が挿入され
る。これは文字毎にデータのスタートビットを揃えるた
めであり、このようにしないと、各文字の「インデック
ステーブル」の内容は「アドレス××××の第×ビット
から」という様に多くのデータを持たねばならず、テー
ブル容量が多くなり、その結果、全体の圧縮率に悪い影
響を与えるのみならず、展開時の処理速度にも不都合を
きたすからである。
ーンデータの左上から順次処理してゆき、1文字288
バイトを処理したところでいったん区切られ、1文字の
最後のビット列が8ビットとなるまで「0」が挿入され
る。これは文字毎にデータのスタートビットを揃えるた
めであり、このようにしないと、各文字の「インデック
ステーブル」の内容は「アドレス××××の第×ビット
から」という様に多くのデータを持たねばならず、テー
ブル容量が多くなり、その結果、全体の圧縮率に悪い影
響を与えるのみならず、展開時の処理速度にも不都合を
きたすからである。
【0045】このようにして得られた圧縮符号列は1文
字毎にデータ書き込み部113に与えられて圧縮フォン
ト格納部114に書き込まれてゆく。この際、データ書
き込み部113はインデックステーブルを作成してイン
デックステーブル格納部115に書き込む。このインデ
ックステーブルには圧縮フォント格納部114に格納さ
れた各文字の最初のアドレスが記憶される。他方、逆変
換テーブル発生部116は圧縮符号表格納部110の内
容を数値的な重み順に並べ換えて図10に示す様な圧縮
符号表に変換すると共に、この圧縮符号表を2進の木リ
スト構造を持った図14に示す様な逆変換テーブルに変
換し、逆変換テーブル格納部117に格納する。
字毎にデータ書き込み部113に与えられて圧縮フォン
ト格納部114に書き込まれてゆく。この際、データ書
き込み部113はインデックステーブルを作成してイン
デックステーブル格納部115に書き込む。このインデ
ックステーブルには圧縮フォント格納部114に格納さ
れた各文字の最初のアドレスが記憶される。他方、逆変
換テーブル発生部116は圧縮符号表格納部110の内
容を数値的な重み順に並べ換えて図10に示す様な圧縮
符号表に変換すると共に、この圧縮符号表を2進の木リ
スト構造を持った図14に示す様な逆変換テーブルに変
換し、逆変換テーブル格納部117に格納する。
【0046】この結果、文字パターンデータ圧縮装置1
00内の圧縮フォント格納部114、インデックステー
ブル格納部115、逆変換テーブル格納部117、キー
ワードテーブル格納部106にそれぞれデータが揃う
と、文字パターンデータ圧縮装置100の動作は終了す
る。この圧縮フォント格納部114、インデックステー
ブル格納部115、逆変換テーブル格納部117、キー
ワードテーブル格納部106の内容は文書作成装置20
0の製品完成時において、通常のビットマップ方式の文
字パターンデータに代えて文書作成装置200内の対応
する圧縮フォント格納部204、インデックステーブル
格納部205、逆変換テーブル格納部206、キーワー
ドテーブル格納部207に組み込まれる。
00内の圧縮フォント格納部114、インデックステー
ブル格納部115、逆変換テーブル格納部117、キー
ワードテーブル格納部106にそれぞれデータが揃う
と、文字パターンデータ圧縮装置100の動作は終了す
る。この圧縮フォント格納部114、インデックステー
ブル格納部115、逆変換テーブル格納部117、キー
ワードテーブル格納部106の内容は文書作成装置20
0の製品完成時において、通常のビットマップ方式の文
字パターンデータに代えて文書作成装置200内の対応
する圧縮フォント格納部204、インデックステーブル
格納部205、逆変換テーブル格納部206、キーワー
ドテーブル格納部207に組み込まれる。
【0047】上述のようにして圧縮フォントデータ、イ
ンデックステーブル、逆変換テーブル、キーワードテー
ブルが組み込まれた状態において、文書作成装置200
は次の如く動作する。いま、文書印刷時において、印刷
対象のコードは文字文書メモリ214から読み出されて
主制御部210を介して主制御部210に与えられる。
すると、この文字コードは文字パターン再生装置201
内の文字コードレジスタ221にセットされるので、イ
ンデックステーブルアクセス部222はこの文字コード
に基づいてインデックステーブル格納部205から該当
アドレスを検索し、圧縮データアクセス部223はこの
アドレスに対応する1文字分の圧縮文字データ(圧縮符
号列)を読み出して圧縮パターンバッファ224に転送
する。
ンデックステーブル、逆変換テーブル、キーワードテー
ブルが組み込まれた状態において、文書作成装置200
は次の如く動作する。いま、文書印刷時において、印刷
対象のコードは文字文書メモリ214から読み出されて
主制御部210を介して主制御部210に与えられる。
すると、この文字コードは文字パターン再生装置201
内の文字コードレジスタ221にセットされるので、イ
ンデックステーブルアクセス部222はこの文字コード
に基づいてインデックステーブル格納部205から該当
アドレスを検索し、圧縮データアクセス部223はこの
アドレスに対応する1文字分の圧縮文字データ(圧縮符
号列)を読み出して圧縮パターンバッファ224に転送
する。
【0048】ここで、再生コマンド発生部225は逆変
換テーブル格納部206の内容を参照し、圧縮パターン
バッファ224内の圧縮符号列を対応するコマンドコー
ドに変換するが、この場合、再生コマンド発生部225
内には逆変換テーブル用のポインタ(図示せず)が設け
られており、先ず、木リスト構造のRootの「di
r」アドレスである「0」をポインタの初期値として設
定しておく。この状態において、圧縮パターンバッファ
224内の圧縮符号列の先頭から1ビットのデータを読
み出し、それが“0”か“1”かのチェックを行う。い
ま、先頭ビットが“0”であれば、「ポインタ値+0」
でアドレッシングされる逆変換テーブルの内容を読み出
し、その16ビットデータのMSBが“0”か否かをチ
ェックする。ここで、MSBが“1”であれば「振舞
い」は「nil」となり、そこでデータが確定し、その
下位15ビットのデータはコマンドコードとなり、これ
を再生コマンド実行部226に与える。一方、MSBが
“0”であれば、「振舞い」は「dir」となり、次の
ビットを見る必要がある為、その下位15ビットのデー
タは次のテーブルアドレスとなり、これをポインタに格
納する。
換テーブル格納部206の内容を参照し、圧縮パターン
バッファ224内の圧縮符号列を対応するコマンドコー
ドに変換するが、この場合、再生コマンド発生部225
内には逆変換テーブル用のポインタ(図示せず)が設け
られており、先ず、木リスト構造のRootの「di
r」アドレスである「0」をポインタの初期値として設
定しておく。この状態において、圧縮パターンバッファ
224内の圧縮符号列の先頭から1ビットのデータを読
み出し、それが“0”か“1”かのチェックを行う。い
ま、先頭ビットが“0”であれば、「ポインタ値+0」
でアドレッシングされる逆変換テーブルの内容を読み出
し、その16ビットデータのMSBが“0”か否かをチ
ェックする。ここで、MSBが“1”であれば「振舞
い」は「nil」となり、そこでデータが確定し、その
下位15ビットのデータはコマンドコードとなり、これ
を再生コマンド実行部226に与える。一方、MSBが
“0”であれば、「振舞い」は「dir」となり、次の
ビットを見る必要がある為、その下位15ビットのデー
タは次のテーブルアドレスとなり、これをポインタに格
納する。
【0049】他方、圧縮符号の先頭ビットが“1”であ
れば、「ポインタ値+2」でアドレッシングされる逆変
換テーブルの内容を読み出し、その16ビットデータの
MSBが“0”か否かをチェックする。この場合におい
てもMSBが“1”であれば「振舞い」は「nil」と
なり、その下位15ビットのデータはコマンドコードと
なり、これを再生コマンド実行部226に与えるが、
“0”であれば「振舞い」は「dir」となり、その下
位15ビットのデータは次のテーブルアドレスとなり、
これをポインタに格納する。このような動作を圧縮符号
列に対して1ビットずつ繰り返し実行される。
れば、「ポインタ値+2」でアドレッシングされる逆変
換テーブルの内容を読み出し、その16ビットデータの
MSBが“0”か否かをチェックする。この場合におい
てもMSBが“1”であれば「振舞い」は「nil」と
なり、その下位15ビットのデータはコマンドコードと
なり、これを再生コマンド実行部226に与えるが、
“0”であれば「振舞い」は「dir」となり、その下
位15ビットのデータは次のテーブルアドレスとなり、
これをポインタに格納する。このような動作を圧縮符号
列に対して1ビットずつ繰り返し実行される。
【0050】いま、例えば、圧縮符号列が「00110
100+00110010+……」であり、逆変換テー
ブル格納部206の内容が図14に示すデータ構造であ
るものとする。この場合、圧縮符号列の1ビット目は
「0」、「ポインタ値+0」でアドレッシングされるテ
ーブル内容は「8100h」、したがって、このテーブ
ル内容の下位15ビットのデータ「100h」がコマン
ドコードとして送出される。次に、2ビット目の符号も
「0」であるから上述と同様にコマンドコード「100
h」が送出される。次に、3ビット目の符号は「1」で
あり、最初にアドレッシングされるテーブル内容は「0
004h」、したがってテーブル内容の下位15ビット
のデータが次のテーブルアドレス「0004」としてポ
インタにセットされる。ここで、次の4ビット目の符号
も「1」であるから「ポインタ値(0004)+2」で
アドレッシングされるテーブル内容が読み出されるが、
この場合、テーブル内容は「0008h」、したがっ
て、このテーブル内容の下位15ビットのデータが次の
テーブルアドレス「0008」としてポインタにセット
される。次に、5ビット目のデータは「0」であり、
「ポインタ値(0008)+0」でアドレッシングされ
るテーブル内容「000Ch」が読み出され、その下位
15ビットのデータが次のテーブルアドレス「000
C」としてポインタにセットされる。
100+00110010+……」であり、逆変換テー
ブル格納部206の内容が図14に示すデータ構造であ
るものとする。この場合、圧縮符号列の1ビット目は
「0」、「ポインタ値+0」でアドレッシングされるテ
ーブル内容は「8100h」、したがって、このテーブ
ル内容の下位15ビットのデータ「100h」がコマン
ドコードとして送出される。次に、2ビット目の符号も
「0」であるから上述と同様にコマンドコード「100
h」が送出される。次に、3ビット目の符号は「1」で
あり、最初にアドレッシングされるテーブル内容は「0
004h」、したがってテーブル内容の下位15ビット
のデータが次のテーブルアドレス「0004」としてポ
インタにセットされる。ここで、次の4ビット目の符号
も「1」であるから「ポインタ値(0004)+2」で
アドレッシングされるテーブル内容が読み出されるが、
この場合、テーブル内容は「0008h」、したがっ
て、このテーブル内容の下位15ビットのデータが次の
テーブルアドレス「0008」としてポインタにセット
される。次に、5ビット目のデータは「0」であり、
「ポインタ値(0008)+0」でアドレッシングされ
るテーブル内容「000Ch」が読み出され、その下位
15ビットのデータが次のテーブルアドレス「000
C」としてポインタにセットされる。
【0051】以下、同様に、次の6ビット目の符号は
「1」であり、テーブルアドレスは「000C」から
「0010」番地にジャンプし、更に7ビット目〜9ビ
ット目の符号も「0」であるからテーブルアドレスは
「0014番地」、「0018番地」、「001C番
地」に順次ジャンプする。そして、10ビット目の符号
も「0」であるが、この場合、テーブル内容は「80F
Eh」であり、その下位15ビットのデータ「0FE
h」がコマンドコードとして送出される。このように圧
縮符号列の3ビット目〜10ビット目のデータはコマン
ドコード「0FEh」に変換される。同様に、圧縮符号
列の11ビット目〜14ビット目のデータ(1100)
を順次読み出すことによってテーブルアドレスは「00
00番地」から「0004番地」、「0008番地」、
「000C番地」に順次ジャンプし、「000C番地」
のテーブル内容「8102h」が読み出された際に、そ
の下位15ビットのデータ「102h」がコマンドコー
ドとして送出される。このように再生コマンド発生部2
25は圧縮パターンバッファ224の内容を逆変換テー
ブルを参照することによってコマンドコードに順次変換
してゆく。
「1」であり、テーブルアドレスは「000C」から
「0010」番地にジャンプし、更に7ビット目〜9ビ
ット目の符号も「0」であるからテーブルアドレスは
「0014番地」、「0018番地」、「001C番
地」に順次ジャンプする。そして、10ビット目の符号
も「0」であるが、この場合、テーブル内容は「80F
Eh」であり、その下位15ビットのデータ「0FE
h」がコマンドコードとして送出される。このように圧
縮符号列の3ビット目〜10ビット目のデータはコマン
ドコード「0FEh」に変換される。同様に、圧縮符号
列の11ビット目〜14ビット目のデータ(1100)
を順次読み出すことによってテーブルアドレスは「00
00番地」から「0004番地」、「0008番地」、
「000C番地」に順次ジャンプし、「000C番地」
のテーブル内容「8102h」が読み出された際に、そ
の下位15ビットのデータ「102h」がコマンドコー
ドとして送出される。このように再生コマンド発生部2
25は圧縮パターンバッファ224の内容を逆変換テー
ブルを参照することによってコマンドコードに順次変換
してゆく。
【0052】すると、再生コマンド実行部226はキー
ワードテーブル格納部207の内容を参照しながらコマ
ンドコードにしたがった処理を実行する。即ち、再生コ
マンド実行部226は再生コマンド発生部225から1
コマンド毎に送られてくるコマンドコードにしたがって
図8で示す実行コマンドの内容にしたがった処理を実行
してゆく。ここで、1文字の最初の2バイトについて上
述した様にコマンドコード「100h」が発生された場
合には、固定値「0(空白)」を文字パターンバッファ
220に書き込むものとする。いま、コマンドコードが
「000h」〜「0FFh」であればこのコマンドコー
ドの下位8ビットの内容がそのまま再生データとなり、
文字パターンバッファ220にストアされる。一方、コ
マンドコードが「100h」、「101h」、「102
h」、「103h」であれば、再生コマンド実行部22
6は文字パターンバッファ220から前2つのデータを
読み出し、このデータに基づいてキーワードテーブルの
アドレスを算出する。そして、キーワードテーブル格納
部207をアクセスし、コマンドコード「100h」、
「101h」、「102h」、「103h」に対応する
第1候補キーワード〜第4候補キーワードを指定すると
共に、指定されたキーワードの中から算出アドレスに対
応するデータを抽出する。このデータがコマンドコード
「100h」〜「103h」についての再生データとな
り、文字パターンバッファ220にストアされる。この
ような処理が1文字288バイト分繰り出されることに
よって文字パターンバッファ220には1文字分のパタ
ーンデータが再生されることになる。
ワードテーブル格納部207の内容を参照しながらコマ
ンドコードにしたがった処理を実行する。即ち、再生コ
マンド実行部226は再生コマンド発生部225から1
コマンド毎に送られてくるコマンドコードにしたがって
図8で示す実行コマンドの内容にしたがった処理を実行
してゆく。ここで、1文字の最初の2バイトについて上
述した様にコマンドコード「100h」が発生された場
合には、固定値「0(空白)」を文字パターンバッファ
220に書き込むものとする。いま、コマンドコードが
「000h」〜「0FFh」であればこのコマンドコー
ドの下位8ビットの内容がそのまま再生データとなり、
文字パターンバッファ220にストアされる。一方、コ
マンドコードが「100h」、「101h」、「102
h」、「103h」であれば、再生コマンド実行部22
6は文字パターンバッファ220から前2つのデータを
読み出し、このデータに基づいてキーワードテーブルの
アドレスを算出する。そして、キーワードテーブル格納
部207をアクセスし、コマンドコード「100h」、
「101h」、「102h」、「103h」に対応する
第1候補キーワード〜第4候補キーワードを指定すると
共に、指定されたキーワードの中から算出アドレスに対
応するデータを抽出する。このデータがコマンドコード
「100h」〜「103h」についての再生データとな
り、文字パターンバッファ220にストアされる。この
ような処理が1文字288バイト分繰り出されることに
よって文字パターンバッファ220には1文字分のパタ
ーンデータが再生されることになる。
【0053】以上の如く、文字パターンデータ圧縮装置
100は頻度の高いデータの組み合せ毎に第1候補〜第
4候補のキーワードテーブルを作成して各キーワードテ
ーブルをコマンドコード「100h」〜「103h」に
対応させておくことにより、コマンドのデータ出現頻度
を極端に偏らせ、それを冗長性をカットする特性を持つ
ハフマン符号化法によって圧縮することにより高い圧縮
率を得ることができる。つまり、かなり多くのデータが
コマンドコード「100h」〜「103h」に対応する
少ないビット数の圧縮符号列に置き換えられる為、圧縮
率を極めて高くすることができる。この場合、本実施例
においては第1候補〜第4候補までのキーワードテーブ
ルを作成するので、キーワードテーブルがそれよりも少
ない場合よりもヒットする確率が高くなり、高圧縮が可
能となる。例えば、無圧縮フォントパターンデータ格納
部101の容量が約7Mバイト(13000文字×文字
×2書体)とすると、圧縮フォント格納部204は2M
バイト、インデックステーブル格納部205は3バイト
×文字数、逆変換テーブル格納部206は1Kバイト/
書体、つまり2Kバイト、キーワードテーブル格納部2
07は16Kバイト/書体、つまり、32Kバイトとな
り、全体で略1/3のメモリ容量となり、極めて高いデ
ータ圧縮が可能となる。ここで、キーワードテーブルの
アドレスを16ビットアドレスから12ビットアドレス
に縮小したので、16ビットアドレスに比べてキーワー
ドテーブルの容量は16分の1となり、テーブル容量の
大幅な縮小が可能となり、全体の圧縮率の向上に寄与し
ている。また、このようにして圧縮された圧縮フォント
データを元の文字パターンデータに再生する際、文書作
成装置200は圧縮符号をコマンドコードに変換したの
ち、このコマンドを実行するだけで容易に復元再生する
ことが可能である。この場合、2進の木リストにしたが
って圧縮符号をコマンドコードに変換するので、高速再
生が可能となる。
100は頻度の高いデータの組み合せ毎に第1候補〜第
4候補のキーワードテーブルを作成して各キーワードテ
ーブルをコマンドコード「100h」〜「103h」に
対応させておくことにより、コマンドのデータ出現頻度
を極端に偏らせ、それを冗長性をカットする特性を持つ
ハフマン符号化法によって圧縮することにより高い圧縮
率を得ることができる。つまり、かなり多くのデータが
コマンドコード「100h」〜「103h」に対応する
少ないビット数の圧縮符号列に置き換えられる為、圧縮
率を極めて高くすることができる。この場合、本実施例
においては第1候補〜第4候補までのキーワードテーブ
ルを作成するので、キーワードテーブルがそれよりも少
ない場合よりもヒットする確率が高くなり、高圧縮が可
能となる。例えば、無圧縮フォントパターンデータ格納
部101の容量が約7Mバイト(13000文字×文字
×2書体)とすると、圧縮フォント格納部204は2M
バイト、インデックステーブル格納部205は3バイト
×文字数、逆変換テーブル格納部206は1Kバイト/
書体、つまり2Kバイト、キーワードテーブル格納部2
07は16Kバイト/書体、つまり、32Kバイトとな
り、全体で略1/3のメモリ容量となり、極めて高いデ
ータ圧縮が可能となる。ここで、キーワードテーブルの
アドレスを16ビットアドレスから12ビットアドレス
に縮小したので、16ビットアドレスに比べてキーワー
ドテーブルの容量は16分の1となり、テーブル容量の
大幅な縮小が可能となり、全体の圧縮率の向上に寄与し
ている。また、このようにして圧縮された圧縮フォント
データを元の文字パターンデータに再生する際、文書作
成装置200は圧縮符号をコマンドコードに変換したの
ち、このコマンドを実行するだけで容易に復元再生する
ことが可能である。この場合、2進の木リストにしたが
って圧縮符号をコマンドコードに変換するので、高速再
生が可能となる。
【0054】
【第2実施例】次に、図17および図18を参照して第
2実施例を説明する。ここで、本実施例においては文字
パターンデータ圧縮装置100によって生成された1組
の書体データ、つまり、圧縮フォントデータ、インデッ
クステーブル、逆変換テーブル、キーワードテーブルを
予め文書作成装置200に組み込んでおくようにした
が、本実施例においては、多書体システムの文書作成装
置に適用したもので、2組分の書体データを予め文書作
成装置200内に組み込んでおく他、必要に応じて他の
書体データをフロッピーディスク等の外部記憶装置から
供給するようにしたものである。この場合、外部記憶装
置からは圧縮フォントデータとそのインデックステーブ
ルのみを供給するようにしたのが、本実施例の特徴であ
る。
2実施例を説明する。ここで、本実施例においては文字
パターンデータ圧縮装置100によって生成された1組
の書体データ、つまり、圧縮フォントデータ、インデッ
クステーブル、逆変換テーブル、キーワードテーブルを
予め文書作成装置200に組み込んでおくようにした
が、本実施例においては、多書体システムの文書作成装
置に適用したもので、2組分の書体データを予め文書作
成装置200内に組み込んでおく他、必要に応じて他の
書体データをフロッピーディスク等の外部記憶装置から
供給するようにしたものである。この場合、外部記憶装
置からは圧縮フォントデータとそのインデックステーブ
ルのみを供給するようにしたのが、本実施例の特徴であ
る。
【0055】図17は本実施例に係る文書作成装置30
0のブロック構成図である。文書作成装置300は文書
作成機主装置および文字パターン再生装置301と、圧
縮文字パターンメモリを構成するROM302、303
と、圧縮パターンバッファを構成するRAM304と、
フロッピーディスク等の外部記憶装置305を有する構
成となっている。ROM302には2種類の書体に対応
して2組の圧縮フォントデータA−1、A−2とインデ
ックステーブルB−1、B−2が格納されており、また
ROM303には4種類の書体に対応して4組のキーワ
ードテーブルC−1、C−2、C−3、C−4、逆変換
テーブルD−1、D−2、D−3、D−4が格納されて
いる。ここで、圧縮フォントデータA−1、インデック
ステーブルB−1、キーワードテーブルC−1、逆変換
テーブルD−1は第1の書体データに対応し、また圧縮
フォントデータA−2、インデックステーブルB−2、
キーワードテーブルC−2、逆変換テーブルD−2は第
2の書体データに対応するものであり、第1の書体ある
いは第2の書体が選択された場合には、上記第1実施例
と同様に対応するテーブル内容を参照することによって
復元再生処理が行われる。
0のブロック構成図である。文書作成装置300は文書
作成機主装置および文字パターン再生装置301と、圧
縮文字パターンメモリを構成するROM302、303
と、圧縮パターンバッファを構成するRAM304と、
フロッピーディスク等の外部記憶装置305を有する構
成となっている。ROM302には2種類の書体に対応
して2組の圧縮フォントデータA−1、A−2とインデ
ックステーブルB−1、B−2が格納されており、また
ROM303には4種類の書体に対応して4組のキーワ
ードテーブルC−1、C−2、C−3、C−4、逆変換
テーブルD−1、D−2、D−3、D−4が格納されて
いる。ここで、圧縮フォントデータA−1、インデック
ステーブルB−1、キーワードテーブルC−1、逆変換
テーブルD−1は第1の書体データに対応し、また圧縮
フォントデータA−2、インデックステーブルB−2、
キーワードテーブルC−2、逆変換テーブルD−2は第
2の書体データに対応するものであり、第1の書体ある
いは第2の書体が選択された場合には、上記第1実施例
と同様に対応するテーブル内容を参照することによって
復元再生処理が行われる。
【0056】ここで、本実施例において第3書体以降は
外部記憶装置305から供給されるものであり、任意の
文字が指定されると、外部記憶装置305内のインデッ
クステーブルB−3が参照されて圧縮フォントデータA
−3から1文字分のデータが読み出され、圧縮パターン
バッファを構成するRAM304にセットされる。ここ
で、文字パターン再生装置は上記第1実施例と同様にR
AM304内のデータを逆変換テーブルを参照してコマ
ンドコードに変換すると共に、キーワードテーブルを参
照してコマンドを実行してゆくが、その際、どの逆変換
テーブル、キーワードテーブルを参照するかは、4種類
の全てのものが参照可能であり、その指定は外部記憶装
置305の中の固定アドレスの1バイト(テーブル指定
情報)を参照することにより行われる。これは外部記憶
装置305からの多くの書体供給に対応させるときに、
文書作成装置300に内蔵した各種のテーブルのうち供
給書体に最適なもの(高圧縮が可能なもの)を選ぶこと
ができる様にする為であり、これにより、外部記憶装置
305には圧縮フォントデータA−3、インデックステ
ーブルB−3のみを記憶させておけばよいことになる。
外部記憶装置305から供給されるものであり、任意の
文字が指定されると、外部記憶装置305内のインデッ
クステーブルB−3が参照されて圧縮フォントデータA
−3から1文字分のデータが読み出され、圧縮パターン
バッファを構成するRAM304にセットされる。ここ
で、文字パターン再生装置は上記第1実施例と同様にR
AM304内のデータを逆変換テーブルを参照してコマ
ンドコードに変換すると共に、キーワードテーブルを参
照してコマンドを実行してゆくが、その際、どの逆変換
テーブル、キーワードテーブルを参照するかは、4種類
の全てのものが参照可能であり、その指定は外部記憶装
置305の中の固定アドレスの1バイト(テーブル指定
情報)を参照することにより行われる。これは外部記憶
装置305からの多くの書体供給に対応させるときに、
文書作成装置300に内蔵した各種のテーブルのうち供
給書体に最適なもの(高圧縮が可能なもの)を選ぶこと
ができる様にする為であり、これにより、外部記憶装置
305には圧縮フォントデータA−3、インデックステ
ーブルB−3のみを記憶させておけばよいことになる。
【0057】なお、文書作成装置300に内蔵された圧
縮フォントデータA−1、A−2、インデックステーブ
ルB−1、B−2、キーワードテーブルC−1、C−
2、C−3、C−4、逆変換テーブルD−1、D−2、
D−3、D−4は上記第1実施例と同様に文字パターン
圧縮装置から転送されて組み込まれたものであるが、第
3書体、第4書体に対応する圧縮フォントデータやイン
デックステーブルは文書作成装置300内に常駐させず
に削除されている。
縮フォントデータA−1、A−2、インデックステーブ
ルB−1、B−2、キーワードテーブルC−1、C−
2、C−3、C−4、逆変換テーブルD−1、D−2、
D−3、D−4は上記第1実施例と同様に文字パターン
圧縮装置から転送されて組み込まれたものであるが、第
3書体、第4書体に対応する圧縮フォントデータやイン
デックステーブルは文書作成装置300内に常駐させず
に削除されている。
【0058】また、上記第1実施例においては、文字パ
ターンデータ圧縮装置100を構成する回数カウントア
レイ108の初期値として「0」を設定するようにした
が、微妙に違う多くの書体を外部記憶装置305から供
給し、キーワードテーブルと逆変換テーブルだけをRO
Mに持たせて共有するときには、回数カウントアレイ1
08の初期値として「1」を設定しておく。これはどの
ようなデータでも最低1回はデータが存在したものとみ
なす為であり、第1実施例の様にカウンタ回数値の初期
値を「0」としておくと、そのコマンドに対する圧縮符
号列が存在しなくなるという冗長性をカットする特性の
圧縮符号発生手法による不都合を回避するためである。
これによって、データが出現しなかったデータに対して
も圧縮符号列が発生されるので、微妙に相違する書体の
文字パターンデータを外部供給してもそれに対応できる
ようになる。
ターンデータ圧縮装置100を構成する回数カウントア
レイ108の初期値として「0」を設定するようにした
が、微妙に違う多くの書体を外部記憶装置305から供
給し、キーワードテーブルと逆変換テーブルだけをRO
Mに持たせて共有するときには、回数カウントアレイ1
08の初期値として「1」を設定しておく。これはどの
ようなデータでも最低1回はデータが存在したものとみ
なす為であり、第1実施例の様にカウンタ回数値の初期
値を「0」としておくと、そのコマンドに対する圧縮符
号列が存在しなくなるという冗長性をカットする特性の
圧縮符号発生手法による不都合を回避するためである。
これによって、データが出現しなかったデータに対して
も圧縮符号列が発生されるので、微妙に相違する書体の
文字パターンデータを外部供給してもそれに対応できる
ようになる。
【0059】図18は外部記憶装置305に対して圧縮
フォントデータやインデックステーブルを書き込む際の
処理過程を示している。先ず、第1書体〜第4書体に対
応する無圧縮フォントパターンデータP−1、P−2、
P−3、P−4を上記第1実施例における文字パターン
データ圧縮装置100を用いて圧縮すると、各書体毎に
圧縮フォントデータ、インデックステーブル、逆変換テ
ーブル、キーワードテーブルが生成されると共に、この
生成過程において圧縮符号表が生成される。このうち、
各書体毎にキーワードテーブルX−1、X−2、X−
3、X−4と圧縮符号表Y−1、Y−2、Y−3、Y−
4を取り出しておく。
フォントデータやインデックステーブルを書き込む際の
処理過程を示している。先ず、第1書体〜第4書体に対
応する無圧縮フォントパターンデータP−1、P−2、
P−3、P−4を上記第1実施例における文字パターン
データ圧縮装置100を用いて圧縮すると、各書体毎に
圧縮フォントデータ、インデックステーブル、逆変換テ
ーブル、キーワードテーブルが生成されると共に、この
生成過程において圧縮符号表が生成される。このうち、
各書体毎にキーワードテーブルX−1、X−2、X−
3、X−4と圧縮符号表Y−1、Y−2、Y−3、Y−
4を取り出しておく。
【0060】次に、外部記憶装置305によって文書作
成装置300に供給する書体(無圧縮フォントパターン
データP−n)を上記第1実施例の文字パターンデータ
圧縮装置100によって圧縮する際に、第1書体〜第4
書体に対応して予め取り出しておいた各キーワードテー
ブルX−1〜X−4と圧縮符号表Y−1〜Y−4のう
ち、外部記憶装置305によって供給する書体に最も適
したもの(つまり、実際に各書体毎に圧縮してみて最も
圧縮率が高かったもの)を選択装置400によって選択
する。そして、選択されたキーワードテーブルと圧縮符
号表を上記第1実施例の文字パターンデータ圧縮装置1
00を構成するキーワードテーブル格納部106、圧縮
符号表格納部110に格納しておく。この状態におい
て、圧縮符号化部112から動作を始めさせる。これに
よって得られた圧縮フォントデータn、インデックステ
ーブルnは外部記憶装置305に書き込まれる。
成装置300に供給する書体(無圧縮フォントパターン
データP−n)を上記第1実施例の文字パターンデータ
圧縮装置100によって圧縮する際に、第1書体〜第4
書体に対応して予め取り出しておいた各キーワードテー
ブルX−1〜X−4と圧縮符号表Y−1〜Y−4のう
ち、外部記憶装置305によって供給する書体に最も適
したもの(つまり、実際に各書体毎に圧縮してみて最も
圧縮率が高かったもの)を選択装置400によって選択
する。そして、選択されたキーワードテーブルと圧縮符
号表を上記第1実施例の文字パターンデータ圧縮装置1
00を構成するキーワードテーブル格納部106、圧縮
符号表格納部110に格納しておく。この状態におい
て、圧縮符号化部112から動作を始めさせる。これに
よって得られた圧縮フォントデータn、インデックステ
ーブルnは外部記憶装置305に書き込まれる。
【0061】このように構成された本実施例においても
上記第1実施例と同様の効果を有する他、外部記憶装置
305から圧縮フォントデータとインデックステーブル
のみを供給するだけでよく、外部記憶装置305にはキ
ーワードテーブル、逆変換テーブルが不要となる為、そ
れだけ外部記憶装置305の容量を効果的に使用するこ
とが可能となる。また、回数カウントアレイ108の初
期値として「1」を設定したからデータの出現頻度を調
べたときに出現しなかったデータに対しても圧縮符号を
発生させることができる。
上記第1実施例と同様の効果を有する他、外部記憶装置
305から圧縮フォントデータとインデックステーブル
のみを供給するだけでよく、外部記憶装置305にはキ
ーワードテーブル、逆変換テーブルが不要となる為、そ
れだけ外部記憶装置305の容量を効果的に使用するこ
とが可能となる。また、回数カウントアレイ108の初
期値として「1」を設定したからデータの出現頻度を調
べたときに出現しなかったデータに対しても圧縮符号を
発生させることができる。
【0062】なお、上記実施例においては第1候補キー
ワードから第4候補キーワードを用意したが、2種類の
キーワードだけでもよく、その数は任意である。また、
上記実施例は着目データに対して前2つのデータとの組
み合せ頻度を調べたが、1つ前のデータとの組み合せ頻
度を調べたり、前3つのデータとの組み合せ頻度を調べ
るようにしてもよい。更に、上記実施例はキーワードテ
ーブルの第1要素アドレスを縮小する手法として2つ前
のデータ「DL」の上位4ビットと下位4ビットとのイ
クスクルーシブオアXORを取る方法を用いたが、オア
演算によって縮小するようにしてもよい。この場合、例
えば、1ビットずつ交互にオア演算を行う等の方法が考
えられる。また、この発明はプログラム制御によるソフ
トウェアでも構成することができ、これによって高速で
ローコストな文字パターンデータ圧縮装置100を提供
することが可能である。
ワードから第4候補キーワードを用意したが、2種類の
キーワードだけでもよく、その数は任意である。また、
上記実施例は着目データに対して前2つのデータとの組
み合せ頻度を調べたが、1つ前のデータとの組み合せ頻
度を調べたり、前3つのデータとの組み合せ頻度を調べ
るようにしてもよい。更に、上記実施例はキーワードテ
ーブルの第1要素アドレスを縮小する手法として2つ前
のデータ「DL」の上位4ビットと下位4ビットとのイ
クスクルーシブオアXORを取る方法を用いたが、オア
演算によって縮小するようにしてもよい。この場合、例
えば、1ビットずつ交互にオア演算を行う等の方法が考
えられる。また、この発明はプログラム制御によるソフ
トウェアでも構成することができ、これによって高速で
ローコストな文字パターンデータ圧縮装置100を提供
することが可能である。
【0063】
【発明の効果】この発明によれば、文字パターンデータ
を構成するあるデータとその前のデータとの組み合わせ
パターンが頻繁に出現する場合にこれを再生用の固定デ
ータに対応付けてデータの出現頻度を偏らせておくこと
により冗長性を抑制する圧縮手法を用いて文字パターン
が圧縮されているので、高圧縮が可能となり、容量の少
ないメモリに効果的に圧縮フォントデータを組み込むこ
とが可能となる。このように文字パターンデータを高圧
縮したとしてもそれを容易に復元再生することが可能で
ある。
を構成するあるデータとその前のデータとの組み合わせ
パターンが頻繁に出現する場合にこれを再生用の固定デ
ータに対応付けてデータの出現頻度を偏らせておくこと
により冗長性を抑制する圧縮手法を用いて文字パターン
が圧縮されているので、高圧縮が可能となり、容量の少
ないメモリに効果的に圧縮フォントデータを組み込むこ
とが可能となる。このように文字パターンデータを高圧
縮したとしてもそれを容易に復元再生することが可能で
ある。
【図1】第1実施例において、文字パターンデータの圧
縮/再生過程を概略的に示した図。
縮/再生過程を概略的に示した図。
【図2】文字パターンデータ圧縮装置100のブロック
構成図。
構成図。
【図3】無圧縮フォントパターンデータ格納部101に
収められている文字パターンのデータ構造を示した図。
収められている文字パターンのデータ構造を示した図。
【図4】キーワード選定用計数制御部103の第1機能
を説明する為の図。
を説明する為の図。
【図5】キーワード選定用カウンタアレイ104の構成
を示した図。
を示した図。
【図6】キーワードテーブルの構成を示した図。
【図7】回数カウントアレイ108の構成を示した図。
【図8】各コマンドコードとその実行コマンドの内容を
示した図。
示した図。
【図9】圧縮符号表を示した図。
【図10】数値的な重み順に並べ変えられた圧縮符号表
を示した図。
を示した図。
【図11】図10の圧縮符号表を木リスト構造で表わし
た図。
た図。
【図12】逆変換テーブルの構成図。
【図13】逆変換テーブルにおける「振舞い」データの
構造を示した図。
構造を示した図。
【図14】逆変換テーブルの内容を具体的に示した図。
【図15】文書作成装置200の全体構成を示した図。
【図16】文字パターン再生装置201のブロック構成
図。
図。
【図17】第2実施例において、文書作成装置300の
ブロック構成図。
ブロック構成図。
【図18】外部記憶装置305に対して圧縮フォントデ
ータやインデックステーブルを書き込む際の処理過程を
示した図。
ータやインデックステーブルを書き込む際の処理過程を
示した図。
200 文書作成装置 201 文字パターン再生装置 203 圧縮文字データメモリ 204 圧縮フォント格納部 205 インデックステーブル格納部 206 逆変換テーブル格納部 207 キーワードテーブル格納部 221 文字コードレジスタ 222 インデックステーブルアクセス部 223 圧縮データアクセス部 224 圧縮パターンバッファ 225 再生コマンド発生部 226 再生コマンド実行部
Claims (1)
- 【請求項1】文字パターンデータを構成する各データに
順次着目し、この着目データとその前のデータとの組み
合せに応じてその組み合せ頻度を検出する動作を全ての
文字に対して行った際に、頻度の高い組み合せが検出さ
れた場合には、前のデータがこの組み合せならば着目デ
ータはこれであるというデータ候補を各組み合せ毎に記
憶する候補テーブルを作成し、この候補テーブルを再生
用の固定データに対応させることでデータの出現頻度を
偏らせ、このデータの出現頻度に応じて冗長部分を抑制
した圧縮符号列を発生させ、文字パターンデータをこの
圧縮符号列に書き換えることによって得られた圧縮フォ
ントデータを格納する圧縮フォント格納手段と、 この圧縮フォント格納手段内の圧縮フォントデータを構
成する圧縮符号列を対応する固定コードに復元する第1
の復元手段と、 この第1の復元手段によって得られた固定コードを前記
候補テーブルを参照することによって元の文字パターン
データに復元する第2の復元手段と、 を具備したことを特徴とする圧縮文字パターン再生装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4357884A JPH06195064A (ja) | 1992-12-25 | 1992-12-25 | 圧縮文字パターン再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4357884A JPH06195064A (ja) | 1992-12-25 | 1992-12-25 | 圧縮文字パターン再生装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06195064A true JPH06195064A (ja) | 1994-07-15 |
Family
ID=18456434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4357884A Pending JPH06195064A (ja) | 1992-12-25 | 1992-12-25 | 圧縮文字パターン再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06195064A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012147061A (ja) * | 2011-01-07 | 2012-08-02 | Yamaha Corp | フォントセット圧縮データのデータ構造およびアクセス方法 |
-
1992
- 1992-12-25 JP JP4357884A patent/JPH06195064A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012147061A (ja) * | 2011-01-07 | 2012-08-02 | Yamaha Corp | フォントセット圧縮データのデータ構造およびアクセス方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6873986B2 (en) | Method and system for mapping strings for comparison | |
US5659631A (en) | Data compression for indexed color image data | |
EP0293161B1 (en) | Character processing system with spelling check function | |
US5995118A (en) | Data coding system and decoding circuit of compressed code | |
US7350199B2 (en) | Converting XML code to binary format | |
US5999949A (en) | Text file compression system utilizing word terminators | |
US8712977B2 (en) | Computer product, information retrieval method, and information retrieval apparatus | |
US4295124A (en) | Communication method and system | |
JPH11274941A (ja) | 誤り訂正方法及びシステム | |
EP0127815B1 (en) | Data compression method | |
US5815096A (en) | Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure | |
JP5605288B2 (ja) | 出現マップ生成方法、ファイル抽出方法、出現マップ生成プログラム、ファイル抽出プログラム、出現マップ生成装置、およびファイル抽出装置 | |
CN101394564A (zh) | 解码jpeg应用中的可变长度码 | |
CN1154350C (zh) | 应用文本数据压缩的电视在屏显示系统 | |
JPH06195058A (ja) | 文字パターンデータ圧縮装置 | |
JP3360334B2 (ja) | 圧縮文字パターン再生装置 | |
JPH06195064A (ja) | 圧縮文字パターン再生装置 | |
JPH06195063A (ja) | 文字パターンデータ圧縮装置 | |
JPH06195060A (ja) | 圧縮文字パターン再生装置 | |
US20090083267A1 (en) | Method and System for Compressing Data | |
JPH06195061A (ja) | 文字パターンデータ圧縮装置 | |
JPH06195059A (ja) | 文字パターンデータ圧縮装置 | |
JPH0554077A (ja) | 単語辞書検索装置 | |
JPH07199894A (ja) | 文字フォント圧縮方法 | |
JPS6028027B2 (ja) | 韓国語ソ−ト制御方式 |