JPH09281948A - 文字キャッシュ制御装置 - Google Patents

文字キャッシュ制御装置

Info

Publication number
JPH09281948A
JPH09281948A JP8181523A JP18152396A JPH09281948A JP H09281948 A JPH09281948 A JP H09281948A JP 8181523 A JP8181523 A JP 8181523A JP 18152396 A JP18152396 A JP 18152396A JP H09281948 A JPH09281948 A JP H09281948A
Authority
JP
Japan
Prior art keywords
data
character
edge
pixels
code table
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
Application number
JP8181523A
Other languages
English (en)
Inventor
Yasushi Kobayashi
靖 小林
Osamu Sagata
修 佐潟
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data Corp
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 Oki Data Corp filed Critical Oki Data Corp
Priority to JP8181523A priority Critical patent/JPH09281948A/ja
Publication of JPH09281948A publication Critical patent/JPH09281948A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 コンピュータやプリンタ等へ文字のビットマ
ップデータを出力する文字キャッシュ制御装置におい
て、文字のフォントデータから文字のビットマップデー
タを生成するのに要する時間を短縮する。 【解決手段】 エッジデータ生成部4が、文字のフォン
トデータから、白画素と黒画素の境目を示すエッジを検
出し、その検出されたエッジに関するデータをエッジ記
憶部6にキャッシュしておき、その文字を出力する際に
は、ビットマップ生成部5が、そのエッジデータに基づ
いてビットマップデータを生成する。なお、エッジデー
タを符号化し、符号化データとして符号化記憶部15に
キャッシュすることも併用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字を出力するプ
リンタ等の装置において、文字のアウトラインデータに
基づき文字のビットマップデータを生成する技術に関す
るものであり、特に、キャッシュメモリを用いて高速に
ビットマップデータを生成する技術に関するものであ
る。
【0002】
【従来の技術】従来から、コンピュータで作成した文書
をプリンタ等で出力する場合、メモリ等に予め記憶され
ている文字のアウトラインデータに基づいて文字のビッ
トマップデータを生成し、そのビットマップデータを出
力している。しかし、一般に、アウトラインデータから
ビットマップデータを生成するには、多くの時間を要す
る。そこで、ビットマップデータを何度も生成すること
を回避し、かつ、ビットマップデータが記憶されている
メモリへのアクセスを迅速にするべく、使用頻度の高い
文字に関しては、一度生成したビットマップデータをキ
ャッシュメモリに待避させておき、再度その文字を出力
するときにはキャッシュメモリからそのビットマップデ
ータを読み出すというキャッシュ方式を用いる文字キャ
ッシュ制御装置が、広く使用されている。
【0003】さらに、昨今の文字キャッシュ制御装置で
は、限られたキャッシュメモリの領域を効率良く利用す
るべく、ビットマップデータをそのままの形でキャッシ
ュメモリに待避せずに、一度ビットマップデータを圧縮
し、その圧縮したビットマップデータをキャッシュメモ
リに待避させている。そして、その文字を出力する際に
は、キャッシュメモリから圧縮されているビットマップ
データを読み出し、その圧縮されているビットマップデ
ータを伸張することにより正規のビットマップデータに
戻して出力している。このような圧縮・伸張の処理によ
り、有限なキャッシュメモリの領域に少しでも多くの文
字をキャッシュできるようにしている。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な圧縮・伸張の機能を有する従来の文字キャッシュ制御
装置では、ビットマップデータを圧縮したり伸張したり
する処理を短時間で実行できない。従って、たとえ数多
くの文字についてビットマップデータをキャッシュメモ
リに待避することができても、各々のビットマップデー
タを圧縮・伸張するのに多大な時間を費やしてしまうた
めに、全体としては、あまり処理時間を短縮できないと
いう問題があった。
【0005】
【課題を解決するための手段】本発明は、以上の問題点
を解決するために、次の構成を採用する。 〈構成1〉複数の文字のアウトラインを表すフォントデ
ータを記憶するフォントデータ記憶部と、フォントデー
タから、白画素と黒画素との境目を表すエッジデータを
生成するエッジデータ生成部と、エッジデータをキャッ
シュするエッジ記憶部と、エッジ記憶部にキャッシュさ
れたエッジデータから、白画素と黒画素とを示すビット
マップデータを生成するビットマップ生成部とからなる
ことを特徴する文字キャッシュ制御装置。
【0006】〈構成2〉エッジデータ生成部が、複数の
白画素と黒画素とを同色の画素の繋がりに基づいて複数
の領域に区分し、各領域を画素の色と画素の数とによっ
て表すエッジデータを生成することを特徴とする構成1
の文字キャッシュ制御装置。
【0007】〈構成3〉エッジデータ生成部が、行毎に
白画素と黒画素との境目の位置を示すエッジデータを生
成することを特徴とする構成1の文字キャッシュ制御装
置。
【0008】〈構成4〉連続する白画素の個数及び連続
する黒画素の個数と、その個数と出現頻度とに応じて割
り当てられた、その個数を表す符号値との対応関係を示
す符号テーブルを記憶する符号テーブル記憶部と、エッ
ジデータにおける白画素と黒画素の境目の位置から、白
画素の個数及び黒画素の個数を算出し、符号テーブルに
基づき、その算出された白画素の個数及び黒画素の個数
を符号値へ符号化することにより符号化データを生成す
る符号化処理部と、その生成された符号化データを記憶
する符号化記憶部とからなることを特徴とする構成1の
文字キャッシュ制御装置。
【0009】〈構成5〉文字を構成する行の長さに対す
る、連続する白画素の連なりの長さ及び連続する黒画素
の連なりの長さの割合と、それらの割合を表す符号値と
の関係とを示す基準テーブルを記憶する基準テーブル記
憶部と、その基準テーブルを元にして、符号テーブルを
生成する符号テーブル生成部とを有することを特徴とす
る構成4の文字キャッシュ制御装置。
【0010】〈構成6〉入力された文字に対応する符号
テーブルがあるか否かを、符号テーブル記憶部内を検索
することにより確認する符号テーブル判定部を有するこ
とを特徴とする構成5の文字キャッシュ制御装置。
【0011】〈構成7〉符号テーブル判定部が、入力さ
れた文字のフォント・サイズのみに基づき、その入力さ
れた文字に対応する符号テーブルがあるか否かを確認す
ることを特徴とする構成6の文字キャッシュ制御装置。
【0012】
【発明の実施の形態】
〈具体例1の構成〉以下、本発明の文字キャッシュ制御
装置について、実施の形態に沿って説明する。図1は、
具体例1の文字キャッシュ制御装置のブロック図であ
る。この文字キャッシュ制御装置Cは、キャッシュ判定
部1、ビットマップ・エッジ判定部2、フォントデータ
記憶部3、エッジデータ生成部4、ビットマップ生成部
5、ビットマップ記憶部6、エッジ記憶部7、イメージ
記憶部8から構成されている。
【0013】キャッシュ判定部1は、図示しないコンピ
ュータやプリンタ等から入力された文字が、キャッシュ
されるべき文字であるか否かについて、ビットマップ記
憶部6のキャッシュ要否フラグ、並びに、エッジ記憶部
7のキャッシュ要否フラグを参照することによって判定
する。ビットマップ・エッジ判定部2は、キャッシュさ
れるべき文字について、ビットマップデータがキャッシ
ュされるべきであるか、あるいは、エッジデータがキャ
ッシュされるべきであるかを、ビットマップ記憶部6の
キャッシュ要否フラグ、または、エッジ記憶部7のキャ
ッシュ要否フラグを参照することによって判定する。
【0014】フォントデータ記憶部3は、各文字のアウ
トラインを示すベクトルデータを予め記憶している。エ
ッジデータ生成部4は、フォントデータを2次元の座標
上にアナログ量として展開し、次に、文字の輪郭をディ
ジタル量として表現するべく輪郭を抽出・量子化し、そ
して、その抽出・量子化された輪郭に基づいて、白画素
と黒画素とを峻別し、さらに、それらの白画素と黒画素
とを画素の繋がりに基づいて複数の領域に区分し、最後
に各領域をその領域に存在する画素の数のみによって、
あるいは、その領域に存在する画素の数とそれらの色と
によって表すことにより、エッジデータを生成する。ビ
ットマップ生成部5は、エッジデータに基づいて、2次
元の座標上に白画素と黒画素とを再生することにより、
ビットマップデータを生成する。
【0015】ビットマップ記憶部6は、ビットマップデ
ータ6aとビットマップ登録情報6bとを記憶してい
る。ビットマップデータ6aは、ビットマップ生成部5
により生成されたビットマップデータ自身である。一
方、ビットマップ登録情報6bは、キャッシュ要否フラ
グとキャッシュ済未フラグとから構成されており、キャ
ッシュ要否フラグは、その文字がキャッシュされるべき
文字であるか否かを示すフラグであり、キャッシュ済未
フラグは、その文字がキャッシュされているか否かを示
すフラグである。エッジ記憶部7は、ビットマップ記憶
部6と同様に、エッジデータ7aとエッジ登録情報7b
とを記憶している。エッジデータ7aは、エッジデータ
生成部4により生成されたエッジデータ自身である。一
方、エッジ登録情報7bは、キャッシュ要否フラグとキ
ャッシュ済未フラグとから構成されており、それらの機
能は、ビットマップ登録情報6bの場合と全く同様であ
る。イメージ記憶部8は、一時的に各文字のビットマッ
プデータを記憶し、そのビットマップデータを出力デー
タとして出力する。
【0016】〈動作〉次に、本発明の文字キャッシュ制
御装置の動作について説明する。図2、3、4は、本発
明の文字キャッシュ制御装置の動作フローチャートであ
る。また、図5は、エッジデータとしてキャッシュされ
るべき文字『A』が処理される過程を示す図であり、図
6は、文字『A』のエッジ画素列とエッジデータとを示
す図である。以下、本発明の文字キャッシュ制御装置の
動作について、文字『A』に対する処理を交えながら、
それらの動作フローチャートに沿って説明する。なお、
文字『A』のエッジデータは、未だキャッシュされてい
ないものとする。
【0017】〈データの入力〉 ステップS100: 文字キャッシュ制御装置Cは、図
示しないコンピュータやプリンタから、文字等により構
成される文書を入力データとして受け取る。 ステップS110: キャッシュ判定部1は、その受け
取った文書中に存在する各文字について、その文字がキ
ャッシュされるべき文字であるか否かを、ビットマップ
登録情報6b並びにエッジ登録情報7bを参照して判定
する。ここで、文字『A』については、ビットマップ登
録情報6bのキャッシュ要否フラグは「否」となってい
るが、エッジ登録情報7bのキャッシュ要否フラグが
「要」となっているので、文字『A』は、キャッシュさ
れる処理の方へ進むことになる。
【0018】〈キャッシュされるべき文字の処理〉 ステップS200: ビットマップ・エッジ判定部2
は、そのキャッシュされるべき文字が、ビットマップデ
ータとしてキャッシュされるべき文字であるか、あるい
は、エッジデータとしてキャッシュされるべき文字かに
ついて、ビットマップ登録情報6bのキャッシュ要否フ
ラグ、並びに、エッジ登録情報7bのキャッシュ要否フ
ラグを参照して判定する。ここで、文字『A』について
は、エッジ登録情報7bのキャッシュ要否フラグが
「要」となっているので、文字『A』は、エッジデータ
をキャッシュされる処理(ステップS260)へ進むこ
とになる。
【0019】〈ビットマップデータがキャッシュされる
文字の処理〉 ステップS210: その文字がビットマップデータと
してキャッシュされる文字である場合には、ビットマッ
プ・エッジ判定部2は、その文字が、既にビットマップ
データとしてキャッシュされているか、あるいは、未だ
ビットマップデータとしてキャッシュされていないかに
ついて、ビットマップ登録情報6bのキャッシュ済未フ
ラグを参照して判定する。 ステップS220: その文字が、既にビットマップデ
ータとしてキャッシュされている場合には、ビットマッ
プ記憶部6からビットマップデータ6aを読み出す。 ステップS230: その文字が、未だビットマップデ
ータとしてキャッシュされていない場合には、エッジデ
ータ生成部4は、後述(ステップS280)するよう
に、フォントデータ記憶部3からフォントデータを読出
し、そのフォントデータに基づいてエッジデータを生成
する。 ステップS240: さらに、ビットマップ生成部5
は、後述(ステップS290)するように、そのエッジ
データからビットマップデータを生成する。 ステップS250: ビットマップ記憶部6は、その生
成されたビットマップデータを記憶すると共に、エッジ
登録情報7bのキャッシュ済未フラグを「済」にする。
【0020】〈エッジデータがキャッシュされる文字の
処理〉 ステップS260: その文字がエッジデータとしてキ
ャッシュされる文字である場合には、ビットマップ・エ
ッジ判定部2は、その文字が、既にエッジデータとして
キャッシュされているか、あるいは、未だエッジデータ
としてキャッシュされていないかについて、エッジ登録
情報7bのキャッシュ済未フラグを参照して判定する。
ここで、文字『A』のエッジ登録情報7bには、キャッ
シュ既未フラグが「未」となっているので、文字『A』
は、エッジデータを生成される処理(ステップS28
0)へ進むことになる。 ステップS270: その文字が、既にエッジデータと
してキャッシュされている場合には、エッジ記憶部7か
らエッジデータ7aを読み出す。
【0021】ステップS280: その文字が、未だエ
ッジデータとしてキャッシュされていない場合には、フ
ォントデータ記憶部3からフォントデータを読み出し、
エッジデータを生成する。ここで、文字『A』のエッジ
データの生成について説明する。第1に、フォントデー
タ記憶部3に記憶されている文字『A』のフォントデー
タ、即ち、ベクトル・データを2次元の座標上(17行
×18列)に展開することにより、図5(a)に示すよ
うな文字『A』のアウトラインを作成する。なお、この
際、必要に応じて、ヒント処理等の補正処理や曲線平滑
化等の近似処理等を実行する。なお、この2次元の座標
上において、格子に囲まれたそれぞれの部分は、最終的
に作成されるビットマップデータの画素に相当する。
【0022】第2に、その生成されたアウトラインをデ
ィジタル処理に適するようにするべく、サンプリング処
理と量子化処理を実行する。ここでは、サンプリング処
理として、スキャンコンバージョン処理の下で、各格子
の中央に、横方向へ延びる補助格子(図中の点線)を仮
想的に設定することにより、図5(b)に示すように、
それらの補助格子とアウトラインとの交点(黒点)を抽
出している。そして、各交点のX座標の値を量子化する
ことにより、図5(c)に示すように、各交点を最も近
接する格子上に近似し、この結果、エッジ(黒点)を得
ている。
【0023】第3に、文字『A』自身を構成する画素に
対し、黒であることを意味する数値「1」を割り当てる
一方、余白を構成する画素に対し、白であることを意味
する数値「0」を割り当てる。各行において、奇数番目
のエッジと次の偶数番目のエッジとの間の画素は、
「黒」となる一方、偶数番目のエッジと次の奇数番目の
エッジとの間の画素は、「白」となる。従って、各エッ
ジが奇数番目であるか、あるいは、偶数番目であるかを
参照することによって、各画素に対し、「1」または
「0」を割り当てることができる。これにより、例え
ば、4行目に位置する画素に対しては、左側から順番
に、00000011011000000(白×6、黒
×2、白×1、黒×2、白×6)という数値が、割り当
てられる。
【0024】第4に、これら「1」、「0」数値の割り
当てられた全画素(306画素:17×18画素)を一
列に配置することにより、図6(a)に示すようなエッ
ジ画素列を作成する。これにより、例えば、図5(d)
における1行目の画素000000011100000
00(白×7、黒×3、白×7)は、図6(a)の最初
に位置付けられ、また、2行目の画素00000011
111000000(白×6、黒5、白×6)は、その
右隣りに位置付けられる。同様にして、後続する行の画
素も次々に位置付けられる。
【0025】最後に、このエッジ画素列を同じ色の画素
毎に区分し、区分された各部分を色と画素数とによって
表す。この結果、図6(a)に示すように、このエッジ
画素列は、白×7、黒×3、白×13、黒×5、白×1
2、……、白×1、黒×3、白×11、黒×6、白×1
1、黒×3を表すことになる。さらに、白画素の連なり
と白画素の連なりとは交互に繰り返されるので、エッジ
画素列の最初の色のみを明確にしさえすれば、エッジ画
素列の冗長性、即ち、色に関する余分な情報を削除する
ことが可能となる。従って、このエッジ画素列は、白、
7、3、13、5、12、……、1、3、11、6、1
1、3というエッジデータで表すことができる。これに
より、例えば、最初に位置する40画素(1行目の画素
+2行目の画素+3行目の6画素)を表すのに必要であ
った40ビット(bit )は、17ビット(1+3+2+
4+3+4)で表すことができる。
【0026】ステップS290: エッジ記憶部7は、
その生成されたエッジデータを記憶する。 ステップS300: ビットマップ生成部5は、その生
成されたエッジデータ、あるいは、読み出されたエッジ
データに基づいて、文字の部分を黒画素にし、かつ、余
白の部分を白画素する。これにより、ビットマップデー
タが生成される。ここで、文字『A』については、図5
(d)に示すようなビットマップデータが生成される。
【0027】〈キャッシュされない文字の処理〉 ステップS400: その文字が、キャッシュされない
文字である場合には、前述(ステップS280)のよう
に、エッジデータ生成部4は、フォントデータ記憶部3
からフォントデータを読み出し、そのフォントデータに
基づいてエッジデータを生成する。 ステップS410: ビットマップ生成部5は、前述
(ステップS290)のように、その生成されたエッジ
データに基づいて、ビットマップデータを生成する。
【0028】〈データの出力〉 ステップS120: 読み出されたビットマップデータ
や生成されたビットマップデータは、イメージ記憶部8
に記憶される。 ステップS130: 全ての文字のビットマップデータ
がイメージ記憶部8に記憶された後に、文字キャッシュ
制御装置Cは、それらのビットマップデータを図示しな
いコンピュータやプリンタ等の装置へ出力する。
【0029】このように、この具体例の文字キャッシュ
制御装置では、エッジデータ生成部4が、文字のフォン
トデータから、白画素と黒画素との境目であるエッジを
示すデータを生成し、このエッジデータをエッジ記憶部
にキャッシュする。そして、その文字を出力する際に
は、ビットマップ生成部が、そのエッジデータをエッジ
データ記憶部から読出し、そのエッジデータに基づいて
白画素と黒画素の位置を示すビットマップデータを生成
する。従って、ビットマップデータをそのままの形でキ
ャッシュメモリにキャッシュすることはせずに、そのビ
ットマップデータよりもデータ量の少ないエッジデータ
の形でキャッシュメモリにキャッシュするので、有限な
キャッシュメモリの領域をより効率良く用いることがで
きるようになる。
【0030】〈他の方法によるエッジデータの生成〉な
お、上述の具体例とは異なり、エッジデータ生成部4
が、各行毎にエッジの「位置」のみをエッジデータとし
てエッジ記憶部7に記憶させることもできる。この方法
を用いると、文字『A』については、1行目は、7、1
0と表すことができ、2行目は、6、11と表すことが
でき、18行目は、0、3、14、17と表すことがで
き、他の行についても、同様に表すことができる。これ
により、本来ならば表すのに17ビットを要する各行
を、例えば、1行目については、7ビット(3+4)で
表すことができ、2行目について、7ビット(3+4)
ビットで表すことができ、18行目については、12ビ
ット(1+2+4+5)で表すことができる。この結
果、1個あたりの文字に関し、キャッシュメモリに記憶
させるデータ量を、従来の技術で記憶させたデータ量に
比べて、約半分に低減させることが可能となる。
【0031】〈具体例2の構成〉次に、具体例2の文字
キャッシュ制御装置について説明する。図7は、具体例
2の文字キャッシュ制御装置のブロック図である。具体
例2の文字キャッシュ制御装置と具体例1の文字キャッ
シュ制御装置との機能上の相違は、具体例2の装置で
は、予め用意された基準テーブルから符号テーブルを生
成し、その生成された符号テーブルに基づいて、具体例
1の装置が生成したエッジデータを符号化することによ
り符号化データを生成することである。従って、具体例
2の文字キャッシュ制御装置は、具体例1の文字キャッ
シュ制御装置での各部1〜8を全て有しており、さら
に、符号テーブル判定部10、符号テーブル生成部1
1、基準テーブル記憶部12、符号テーブル記憶部1
3、符号化処理部14、符号化記憶部15、復号化処理
部16を有している。
【0032】ここで、基準テーブルとは、文字の種類や
フォント・サイズ等に拘わらず、ある白の連なりの長さ
または黒の連なりの長さが、文字を構成する行の長さに
対し占める割合と、その割合を示す符号値との対応関係
を示すテーブルをいい、また、符号テーブルとは、その
基準テーブルを元にして、文字のフォント・サイズ等ご
とに、そのフォント・サイズ等において、前述の連なり
が何個の画素に相当するかということと、前述の符号値
との対応関係を示すテーブルをいう。
【0033】以下、具体例2の文字キャッシュ制御装置
に固有な構成及びそれら固有な構成による動作を中心
に、具体例2の文字キャッシュ制御装置について説明す
る。なお、本質的な機能に相違は無いが、説明の便宜
上、具体例1におけるビットマップ・エッジ判定部2の
名称をビットマップ・エッジ・符号化判定部2に変更し
て説明する。
【0034】〈具体例1と共通する構成・動作〉具体例
1の構成と共通する、キャッシュ判定部1からイメージ
記憶部8までの動作は、概ね具体例1の動作と同じであ
る。唯一の相違点は、ビットマップ・エッジ・符号化判
定部2が、キャッシュされるべき文字について、ビット
マップデータがキャッシュされるべきであるか、エッジ
データがキャッシュされるべきであるか、あるいは、符
号化データがキャッシュされるべきであるかを、ビット
マップ記憶部6中のキャッシュ要否フラグ、エッジ記憶
部7中のキャッシュ要否フラグ、また、符号化記憶部1
5中のキャッシュ要否フラグを参照することにより判定
することである。
【0035】〈具体例1と相違する構成・動作〉具体例
1の構成と相違する、符号テーブル判定部10から復号
化処理部16の動作は、以下の通りである。符号テーブ
ル判定部10は、入力された文字のフォント・サイズ等
に基づき、そのフォント・サイズ等に対応する符号テー
ブルが存在するか否かを判定する。符号テーブル生成部
11は、基準テーブル記憶部12に予め用意された基準
テーブルから符号テーブルを生成する。符号テーブル記
憶部13は、符号テーブル生成部11によって生成され
た符号テーブルを記憶する。符号化処理部14は、エッ
ジデータ生成部4によって生成されたエッジデータを、
符号テーブル記憶部13に記憶されている符号テーブル
に基づき符号化することにより、符号化データを生成す
る。符号化記憶部15は、その生成された符号化データ
を記憶する。復号化処理部16は、符号化記憶部15か
ら符号化データを読出し、その符号化データに対応する
符号テーブルを参照することにより、その符号化データ
をエッジデータへ再生するという復号化処理を実行す
る。
【0036】〈具体例2の動作〉図8は、具体例2の装
置全体の動作フローチャートであり、図9は、具体例2
の装置に特有な動作である符号化処理を示す動作フロー
チャートである。以下、これらの動作フローチャートに
沿って説明する。なお、具体例1の場合と同様に、文字
『A』を符号化データという形でキャッシュされるべき
文字であると想定して、その処理を交えながら説明す
る。但し、文字『A』は、未だキャッシュされておら
ず、また、文字『A』のフォント・サイズと同じフォン
ト・サイズである文字も未だキャッシュされていないも
のと仮定する。
【0037】ステップS100: 文字キャッシュ制御
装置Cは、入力データとして、図示しないコンピュータ
やプリンタから、文字等により構成される文書を受信す
る。 ステップS110: キャッシュ判定部1は、その受信
した文書中に存在する各文字について、その文字がキャ
ッシュされるべき文字であるか否かを、ビットマップ登
録情報6b、エッジ登録情報7b、符号化登録情報15
bを参照して判定する。ここで、文字『A』について
は、ビットマップ登録情報6bのキャッシュ要否フラグ
と、エッジ登録情報7bのキャッシュ要否フラグとは
「否」であり、一方、符号化登録情報15bのキャッシ
ュ要否フラグは「要」となっているため、文字『A』
は、キャッシュされる処理の方向へ進むことになる。
【0038】ステップS120: ビット・エッジ・符
号化判定部2は、そのキャッシュされるべき文字が、ビ
ットマップデータとしてキャッシュされるべき文字であ
るか、エッジデータとしてキャッシュされるべき文字で
あるか、あるいは、符号化データとしてキャッシュされ
るべき文字であるかについて、ビットマップ登録情報6
bのキャッシュ要否フラグ、エッジ登録情報7bのキャ
ッシュ要否フラグ、符号化登録情報15bのキャッシュ
要否フラグを参照して判定する。ここで、文字『A』に
ついては、符号化登録情報15bのキャッシュ要否フラ
グにみが「要」になっているので、文字『A』は、符号
化データとしてキャッシュされる処理の方向へ進むこと
になる。なお、ビットマップデータとしてキャッシュさ
れる場合には、具体例1で説明したように、ステップS
210以下の処理が実行され、また、エッジデータとし
てキャッシュされる場合には、同様に、ステップS26
0以下の処理が実行される。
【0039】〈符号化データとしてキャッシュされる文
字の処理〉 ステップS310: その文字が符号化データとしてキ
ャッシュされる文字である場合には、ビットマップ・エ
ッジ・符号化判定部2は、その文字が、既に符号化デー
タとしてキャッシュされているか、あるいは、未だ符号
化データとしてキャッシュされていないかについて、符
号化登録情報15bのキャッシュ済未フラグを参照して
判定する。ここで、文字『A』の符号化登録情報15b
には、キャッシュ済未フラグが、未だキャッシュされて
いないことを示す「未」となっているので、文字『A』
は、符号化データを生成される処理へ進むことになる。
【0040】ステップS320: その文字が、既に符
号化データとしてキャッシュされている場合には、符号
化データを符号化記憶部15から読出すと共に、その文
字のフォント・サイズ用の符号テーブルを符号テーブル
記憶部12から読み出す。 ステップS330: 復号化処理部16は、その符号テ
ーブルを元にして、その読み出された符号化データを復
号化することにより、エッジデータを再生する。
【0041】〈符号テーブルの準備〉 ステップS340: その文字が、未だ符号化データと
してキャッシュされていない場合には、符号化テーブル
の作成、エッジテーブルの生成、符号化データの生成等
を実行する。 ステップS340a: 符号テーブル判定部10は、そ
の文字のフォント・サイズに対応する符号テーブルが存
在するか否かについて、符号テーブル記憶部13を確認
する。 ステップS340b: その文字のフォント・サイズに
対応する符号テーブルが検索された場合には、符号テー
ブル判定部10は、その符号テーブルを読み出す旨を符
号化処理部14に指示する。そして、符号化処理部14
は、符号テーブル記憶部13からその検索された符号テ
ーブルを読み出す。
【0042】ステップS340c: その文字のフォン
ト・サイズに対応する符号テーブルが検索されない場合
には、符号テーブル判定部10は、符号テーブルを生成
する旨を符号テーブル生成部に11に指示する。その指
示の下に、符号テーブル生成部11は、基準テーブルか
ら符号テーブルを生成する。このように、符号テーブル
判定部10が、符号テーブルの有無を判定するので、符
号テーブルが無い場合には、符号テーブルを作成する処
理へ直ちに移行することができ、また、符号テーブルが
ある場合には、再び、その符号テーブルと同一な符号テ
ーブルを作成してしまうという無駄な処理を避けること
ができる。さらには、符号テーブルが一般に最も依存す
るフォント・サイズのみに基づいて判定するので、符号
テーブルの有無を迅速に判定することが可能となる。
【0043】〈基準テーブル、符号テーブルの説明〉図
11は、基準テーブルと符号テーブルとの関係を示す図
である。基準テーブルは、文字を形成する行の長さに対
する、連続する黒または白の繋がりの占める割合と、そ
の割合を示す符号値との対応関係を示すテーブルであ
る。例えば、1行の長さが50(単位無し)である場合
に、長さが10である連なりを、二進数の符号値010
0へ符号化するときには、0.2(=10/50)と0
100とが対応していることを示すことになる。同様に
して、長さが0、10、30、40……である繋がりの
割合と、その割合を示す符号値との対応関係も用意され
ている。さらに、この対応関係は、連なりの長さとその
連なりの発生頻度とに基づき定められており、より具体
的には、発生頻度が高く、かつ、長さが長い連なりであ
ればあるほど、小さい符号値へ符号するように設定され
ている。これにより、発生頻度が高く、しかも、量の多
いデータほど、より少ない量のデータで表すことが可能
となる。
【0044】一方、符号テーブルは、上記の基準テーブ
ルと、実際の文字のフォント・サイズ、より正確には、
1行を構成する画素の個数とに基づいて、上記の連なり
に相当する画素数と、上記の符号値と同値である符号値
との対応関係を示す。従って、例えば、割合0.2と符
号値0100との対応関係を含む基準テーブルを元にし
て、1行当たり17画素を含むフォント・サイズ用の符
号テーブルを生成すると、画素数3(より正確には、画
素数3.4(17×0.2))の連なりと符号値001
0との対応関係を含む符号テーブルが生成されることに
なる。同様にして、1行当たり30画素を含むフォント
・サイズ用の符号テーブルを生成すると、画素数6(3
0×0.2)と符号値0100との対応関係を含む符号
テーブルが生成されることになる。ここで、1行を17
画素から構成される文字『A』については、フォント・
サイズ17用の符号テーブルが、未だ生成されていない
ので、そのフォント・サイズ17についての符号テーブ
ルが生成されることになる。
【0045】ステップS340d: 符号テーブル生成
部11は、生成された符号テーブルを符号テーブル記憶
部13に記憶すると共に、その符号テーブルを符号化処
理部14へ引き渡す。
【0046】〈符号化データの生成〉 ステップS350: 符号化処理部14は、具体例1に
おけるステップS280並びに具体例1における他の方
法と同様にして、フォントデータ記憶部3からフォント
データを読出し、エッジデータを生成する。図12は、
文字『A』について、エッジデータから符号化データへ
の変換を示す図である。図12(a)に示すように、文
字『A』の各行については、1行目のエッジデータ
(7、10)、2行目のエッジデータ(6、11)、3
行目のエッジデータ(6、11)、10行目のエッジデ
ータ(3、6、11、14)、18行目のエッジデータ
(0、3、14、17)を生成することになる。なお、
このエッジデータには、先頭の画素が白画素であるか黒
画素であるかの情報を含んでいない。例えば、1行目に
おける最初の7個の画素は、白であるか黒であるか、ま
た、2行目における最初の6個の画素は、白であるか黒
であるか等の情報を含んでいない。しかし、各行におい
て最初に位置する画素の連なりは、必ず白画素であり、
次に、位置する画素の連なりは、必ず黒であり、以下、
同様にして、白画素の連なりと黒画素の連なりとが交互
に繰り返される。従って、各行の先頭の画素の連なりが
白画素であるか黒画素であるかについての情報は不要で
あり、同様にして、それ以後の画素の連なりについて
も、白画素であるか黒画素であるかに関する情報は不要
となる。
【0047】ステップS360: 符号化処理部14
は、エッジデータから、連続する白画素の個数及び連続
する黒画素の個数を算出する。ここで、文字『A』につ
いては、例えば、10行目のエッジデータ(3、6、1
1、14)は、図12(b)に示すように、白画素の連
なりと黒画素の連なりとの境目を表す数値同士を減算す
ることにより、白画素の連なりを構成する白画素の個数
及び黒画素の連なりを構成する黒画素の個数を得る。こ
の結果として、減算データ(3、3、5、3)を得るこ
とができる。
【0048】ステップS370: 符号化処理部14
は、白の画素数及び黒の画素数を示す減算データを、前
述した符号テーブルを元にして、符号値、即ち、符号化
データへ変換する。ここで、文字『A』の10行目の減
算データ(3、3、5、3)については、「3」が「0
010」へ変換され、「5」が「0100」へ変換され
ることにより、符号化データ(0010、0010、0
100、00100を得ることとなる。 ステップS380: 符号化記憶部15は、その符号化
された符号化データを記憶する。 ステップS390: ビットマップデータ生成不5は、
ステップS330で再生されたエッジデータ、あるい
は、ステップS350で新規に生成されたエッジデータ
に基づき、文字自体の部分を黒画素にし、かつ、余白の
部分を白画素にする。これにより、ビットマップデータ
が生成されることになる。
【0049】このように、この具体例の文字キャッシュ
制御装置では、エッジデータにおける画素の個数とその
個数を表す符号値との対応関係を示す符号テーブルに基
づいて、連続している白画素の個数あるいは連続してい
る黒画素の個数を符号値へ変換することにより、符号化
データを生成する。そして、符号化記憶部が、その生成
された符号化データを記憶する。ここで、この符号テー
ブルでは、連続する画素の個数とその個数を表す符号値
との対応関係が、その個数や出現頻度に基づいて決定さ
れている。従って、ある連続する複数の画素をエッジデ
ータで表す場合に必要とするデータ量よりも少ないデー
タ量である符号化データによって、その連続する画素を
表すことができる。よって、エッジデータのデータ量よ
りもさらにすくないデータ量である符号化データをキャ
ッシュメモリにキャッシュすることができるため、有限
な空間であるキャッシュメモリの領域をより有効に使え
るだけでなく、アクセス時間もより短縮することが可能
となる。
【0050】また、基準テーブル記憶部が、文字のフォ
ント・サイズや文字の種類等に左右されない、連続する
白画素の連なりの長さや連続する黒画素の連なりの長さ
が一行の長さに対して占める割合と、その割合を表す符
号値との対応関係を示す基準テーブルを記憶している。
そして、符号テーブル生成部が、入力された文字のフォ
ント・サイズ等に基づき、その基準テーブル記憶部に記
憶されている基準テーブルを参照することにより、その
入力された文字のフォント・サイズ等に適する符号テー
ブルを生成する。従って、符号テーブル記憶部が、多数
のフォント・サイズや多種の文字種に対応できるような
多数の符号テーブルを記憶せずに、基準テーブル記憶部
に記憶されている1つの基準テーブル、あるいは、数少
ない基準テーブルを元に符号テーブル生成部によって生
成された少数の符号テーブルを記憶すれば足りる。これ
により、使用される可能性が少ない符号テーブルまでも
を記憶するということを避けることができるので、メモ
リ領域を有効に使用することが可能となる。
【0051】さらに、符号テーブル判定部が、入力され
た文字に適した符号テーブルが存在するか否かについ
て、符号テーブル記憶部を検索することにより確認す
る。従って、その入力された文字に対応できる符号テー
ブルが既に存在する場合には、その符号テーブルを元に
して、直ちにエッジデータを符号化データへ変換するこ
とができる一方で、その入力された文字に対応できる符
号テーブルが存在しない場合には、符号テーブル生成部
が、新規に、符号テーブルを生成することができる。従
って、同じ符号テーブルを生成してしまうことや、生成
しなければならない符号テーブルを生成せずに符号化処
理を進めること等を回避することができることとなる。
【0052】そして、符号テーブル判定部が、入力され
た文字に対応する符号テーブルが存在するか否かを、そ
の入力された文字のフォント・サイズのみに基づき、符
号テーブル記憶部を検索することにより確認する。従っ
て、文字のフォント・サイズだけに基づいて、符号テー
ブルの有無を確認するので、符号テーブルがあるか否か
を迅速に確認することが可能となる。
【図面の簡単な説明】
【図1】具体例1のブロック図である。
【図2】具体例1の動作フローチャート(全体)であ
る。
【図3】具体例1の動作フローチャート(キャッシュす
る場合)である。
【図4】具体例1の動作フローチャート(キャッシュし
ない場合)である。
【図5】文字『A』が処理される過程を示す図である。
【図6】文字『A』のエッジ画素列とエッジデータとを
示す図である。
【図7】具体例2のブロック図である。
【図8】具体例2の動作フローチャート(全体)であ
る。
【図9】具体例2の動作フローチャート(符号化処理)
である。
【図10】具体例2の動作フローチャート(テーブルの
準備)である。
【図11】具体例2の基準テーブルと符号テーブルであ
る。
【図12】具体例2の符号化データを示す図である。
【符号の説明】 C 文字キャッシュ制御装置 3 フォントデータ記憶部 4 エッジデータ生成部 5 ビットマップ生成部 6 エッジ記憶部 7 ビットマップ記憶部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の文字のアウトラインを表すフォン
    トデータを記憶するフォントデータ記憶部と、 前記フォントデータから、白画素と黒画素との境目を表
    すエッジデータを生成するエッジデータ生成部と、 前記エッジデータをキャッシュするエッジ記憶部と、 前記エッジ記憶部にキャッシュされた前記エッジデータ
    から、白画素と黒画素とを示すビットマップデータを生
    成するビットマップ生成部とからなることを特徴する文
    字キャッシュ制御装置。
  2. 【請求項2】 エッジデータ生成部が、複数の白画素と
    黒画素とを同色の画素の繋がりに基づいて複数の領域に
    区分し、各領域を画素の色と画素の数とによって表すエ
    ッジデータを生成することを特徴とする請求項1記載の
    文字キャッシュ制御装置。
  3. 【請求項3】 エッジデータ生成部が、行毎に白画素と
    黒画素との境目の位置を示すエッジデータを生成するこ
    とを特徴とする請求項1記載の文字キャッシュ制御装
    置。
  4. 【請求項4】 連続する白画素の個数及び連続する黒画
    素の個数と、その個数と出現頻度とに応じて割り当てら
    れた、その個数を表す符号値との対応関係を示す符号テ
    ーブルを記憶する符号テーブル記憶部と、 エッジデータにおける白画素と黒画素の境目の位置か
    ら、白画素の個数及び黒画素の個数を算出し、前記符号
    テーブルに基づき、その算出された白画素の個数及び黒
    画素の個数を符号値へ符号化することにより符号化デー
    タを生成する符号化処理部と、 その生成された符号化データを記憶する符号化記憶部と
    からなることを特徴とする請求項1記載の文字キャッシ
    ュ制御装置。
  5. 【請求項5】 文字を構成する行の長さに対する、連続
    する白画素の連なりの長さ及び連続する黒画素の連なり
    の長さの割合と、それらの割合を表す符号値との関係と
    を示す基準テーブルを記憶する基準テーブル記憶部と、 その基準テーブルを元にして、前記符号テーブルを生成
    する符号テーブル生成部とを有することを特徴とする請
    求項4記載の文字キャッシュ制御装置。
  6. 【請求項6】 入力された文字に対応する符号テーブル
    があるか否かを、符号テーブル記憶部内を検索すること
    により確認する符号テーブル判定部を有することを特徴
    とする請求項5記載の文字キャッシュ制御装置。
  7. 【請求項7】 符号テーブル判定部が、入力された文字
    のフォント・サイズのみに基づき、その入力された文字
    に対応する符号テーブルがあるか否かを確認することを
    特徴とする請求項6記載の文字キャッシュ制御装置。
JP8181523A 1996-02-14 1996-06-21 文字キャッシュ制御装置 Pending JPH09281948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8181523A JPH09281948A (ja) 1996-02-14 1996-06-21 文字キャッシュ制御装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5096596 1996-02-14
JP8-50965 1996-02-14
JP8181523A JPH09281948A (ja) 1996-02-14 1996-06-21 文字キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH09281948A true JPH09281948A (ja) 1997-10-31

Family

ID=26391469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8181523A Pending JPH09281948A (ja) 1996-02-14 1996-06-21 文字キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH09281948A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006308671A (ja) * 2005-04-26 2006-11-09 Sony Corp 情報処理装置および情報処理方法、プログラム格納媒体、並びにプログラム
CN119380677A (zh) * 2024-12-27 2025-01-28 江苏泽景汽车电子股份有限公司 显示控制方法、装置及投影装置、计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006308671A (ja) * 2005-04-26 2006-11-09 Sony Corp 情報処理装置および情報処理方法、プログラム格納媒体、並びにプログラム
CN119380677A (zh) * 2024-12-27 2025-01-28 江苏泽景汽车电子股份有限公司 显示控制方法、装置及投影装置、计算机可读存储介质

Similar Documents

Publication Publication Date Title
US4853971A (en) Method and apparatus for processing image data
JPH0547853B2 (ja)
KR0134750B1 (ko) 출력 장치 및 방법(Output Apparatus and Method)
JPH09281948A (ja) 文字キャッシュ制御装置
JPH06217110A (ja) 画像変換方法
JPS5856872B2 (ja) 拡大文字パタ−ン符号化器
JP2972466B2 (ja) ドットパターンの圧縮方法及び装置と出力方法及び装置
JPH01130957A (ja) 文字制御装置
JP2839578B2 (ja) イメージデータ入力処理装置
JP3059618B2 (ja) 画像制御装置
JP3757297B2 (ja) 印字装置
JP3210448B2 (ja) 文字処理方法及び装置
JPH11119763A (ja) ビットマップ高能率符号化方式
JP3795564B2 (ja) イメージ伸張処理方法
JPS61148487A (ja) 拡大縮小装置
JPH08305335A (ja) 文字処理装置
JP2004158926A (ja) パターン圧縮符号化方法
JPH0591298A (ja) 符号化画像データ高速表示装置
JPH06175637A (ja) 文字の生成方法
JPH08194458A (ja) 文字処理装置
JPH11202849A (ja) 文字処理装置、文字処理方法および文字処理プログラムを記録した記録媒体
JPH04280383A (ja) 図形・文字発生方法及び装置
JPS628663A (ja) デ−タ復元回路
JPH0916147A (ja) 文字処理装置および方法
JPH0765177A (ja) 画像処理システムおよび画像処理装置