JPH04232996A - データの圧縮及び圧縮解除方法 - Google Patents

データの圧縮及び圧縮解除方法

Info

Publication number
JPH04232996A
JPH04232996A JP3149609A JP14960991A JPH04232996A JP H04232996 A JPH04232996 A JP H04232996A JP 3149609 A JP3149609 A JP 3149609A JP 14960991 A JP14960991 A JP 14960991A JP H04232996 A JPH04232996 A JP H04232996A
Authority
JP
Japan
Prior art keywords
data
flag
word
bit
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3149609A
Other languages
English (en)
Other versions
JP3083344B2 (ja
Inventor
Thomas B Pritchard
トーマス・ビー・プリッチャード
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04232996A publication Critical patent/JPH04232996A/ja
Application granted granted Critical
Publication of JP3083344B2 publication Critical patent/JP3083344B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
    • H04N1/4175Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding involving the encoding of tone transitions with respect to tone transitions in a reference line
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0031Compressed bit maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0042Rasterisation
    • G06K2215/0051Rasterisation from compressed bitmap, e.g. run length

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ圧縮および圧縮解
除の方法、その方法を採用した装置、およびそれによっ
て得られるデータ構造に関する。さらに詳細には、本発
明はフォントデータを圧縮するためにプリンタに採用す
ることのできるデータ圧縮および圧縮解除の方法に関す
る。
【0002】
【従来の技術】フォントとは、通常は印刷に用いられる
、所与の様式の文字のファミリーである。フォント文字
はフォント中の1つの記号である。フォント文字は通常
所定のデータ構成として定義される。たとえば、何バイ
トかのデータを所望の文字を生成するために構成、ある
いは積み重ねることができる。インクジェットプリンタ
等の印字装置においては、フォント文字はページ上に位
置するインクのドットから作成される。このような装置
においては、各インクドットは1ビットの情報によって
表される。このように、データは各ビットがページ上の
インクドットの所望の位置に対応するように配置される
よう構成することができる。
【0003】コンピュータ印字装置では、フォントはプ
リンタのメモリに格納され、ホストコンピュータからの
コマンドでアクセスされることが多い。フォント中の文
字が多いほど、それらを格納するのに要するメモリ量も
大きくなる。フォントを格納するのに必要な総メモリを
フォントサイズという。メモリは高価であるため、フォ
ントデータは圧縮され、その後圧縮解除されることが多
い。圧縮量が大きいほど、必要なメモリ量は小さくなる
。しかし、圧縮および圧縮解除法は複雑で時間のかかる
ものである場合が多い。本発明の圧縮法および圧縮解除
法、装置およびそれによって得られるデータ構造は、圧
縮量、圧縮および圧縮解除の複雑さ、およびデータの圧
縮および圧縮解除に要する時間とをうまく折り合わせる
ものである。言い換えれば、本発明はフォント文字デー
タ等のデータをより小さなサイズのメモリに圧縮するこ
とを可能にし、より安価な印字装置、あるいは同じ価格
でより多くのフォント文字を有する印字装置を得ること
ができ、同時に過度の複雑さや非実用的な時間的制約を
避けることができるものである。
【0004】
【発明が解決しようとする課題】本発明の課題は、フォ
ント文字データ等のデータの圧縮/圧縮解除方法及び装
置を提供することである。
【0005】
【課題を解決するための手段】本発明のデータ圧縮/圧
縮解除法、装置およびそれによって得られるデータ構造
は、データの部分間の異同を認識し、認識された相違に
ついてのみデータの格納を実行することによって動作す
る。この圧縮法はデータを構成し、データの各部分を比
較し、隣接する部分の間の変化についての信号を発する
フラグを提供する。この圧縮解除法はデータのある部分
を読み、このフラグがデータ中の変化についての信号を
発しているかどうかを識別し、もしそうであれば、デー
タのそれに続く部分を読む。変化についての信号が発せ
られていない場合、データの第1の部分が複製される。 本発明の装置はメモリ、該メモリにデータを格納するた
めの構造、データ中の変化について信号を発するフラグ
を有する、メモリに格納されたデータ、および該格納さ
れたデータにアクセスし、使用するための構造を含む。 本発明のデータ構造は所定のセクションに分割されたデ
ータと、該セクションに付随し、該セクション内の変化
についての信号を発するためのフラグを含む。
【0006】
【実施例】本発明のデータ圧縮法では、フォント文字デ
ータ等のデータは反復性であることが多く、特に垂直方
向に反復性であることが多いことに着目する。データは
この反復性のデータを格納するのではなく、変化を認識
し、信号を発することによって圧縮することができる。
【0007】図1の11には本発明の圧縮法をある観点
から見た概略ブロック図を示す。まず、本発明の圧縮法
ではブロック12に示すように、データをデータワード
へ構成する。1つのデータワードはデータの所定部分で
あり、本実施例においては16ビットの情報を含む。デ
ータは次にブロック14に示す各セクションに分割され
る。これらのセクションは所定の数のデータワードであ
る。この方法では次にブロック16に示すように、デー
タワード間の変化についての信号を発するフラグ、ある
いはフラグ手段を提供する。フラグ、あるいはフラグ手
段は変化についての信号を発する、データの1つの部分
であることが多い。通常、1つのフラグは各セクション
に対応し、フラグの大きさによってセクションの大きさ
が決まる。
【0008】本実施例では、フラグは16ビットの情報
からなり、各ビットは1つのデータワードに対応してお
り、隣接するデータワード間の変化についての信号を発
する。さらに、文字はカラムに分割され、カラムはセク
ションに分割される。カラムあたりのセクションの数は
、フラグの大きさに応じて、カラムの高さを16で割る
ことによって決定される。高さが16で等分に割ること
ができない場合、セクションの数を1だけ切り上げ、文
字の最下部の余った列を無視するか、あるいはそこにゼ
ロを入れることができる。
【0009】図2に示すように、本発明の圧縮法はまた
、17に示すようにカラム−隣接ワード間の異同を認識
し、18に示すように認識された相違についてのみデー
タの格納を行うものとして説明することもできる。この
実施例では、“カラム−隣接データワード”とは図3の
データワード40および42等の垂直方向に隣接するデ
ータワードを指す。異同の認識には、それらを反映する
制御フラグの作成を含めることができる。このフラグは
データが格納されるか否かを“制御する”。
【0010】図3は本発明にしたがって構成された文字
“@”のデータ構造のドットパターンである。このパタ
ーンは600ドット/インチの水平解像度と300ドッ
ト/インチの垂直解像度を有する走査型印字ヘッドイン
クジェットプリンタ用のものとして描いたものである。
【0011】インクジェットプリンタはインク滴をペー
ジ上に射出することによって印字を行う。図3の“@”
はビット画像のフォーマットで示されている、言い換え
れば、図3のパターンは、インク1滴に対する利用可能
スペースのそれぞれを1ビットの情報によって表すこと
ができるような方法で、プリンタのメモリに格納するこ
とができる。ビット、あるいは2値の数字はコンピュー
タにおける情報の基本単位であり、“1”あるいは“0
”である。ビットが“1”である場合、これは“オン”
と考えることができ、対応する位置に1滴のインクが印
字される。ビットが“0”である場合、これは“オフ”
であり、インク滴は印字されない。しかし、必要であれ
ば、“1”を“オフ”のビットとみなし、“0”を“オ
ン”のビットとみなすことができる。以下の説明では、
“1”であるビットを“オン”、“0”であるビットを
“オフ”とする。図3のビットはまたドットデータと呼
ぶこともできる。これはそれらがインクの液滴あるいは
ドットを表すためである。
【0012】図3において、“@”の記号は20に示す
もののような“1”、および21に示すもののような“
0”の配列から作成される。“1”はインクのドットを
表し、“0”は空白スペースを表す。図面を簡略化する
ために、図3の右上のセクション内のゼロだけを示す。 したがって、図3中の残りの空白スペースは、“0”と
考えるべきであり、“0”は水平方向に隣接する2つの
“1”の間毎に存在する。空白スペースあるいは“0”
は、文字の外縁の鮮明度を良くするためにドットあるい
は“1”の間に配置される。図3から、また以下の説明
からもわかることであるが、“1”の間の“0”はデー
タの垂直方向でくり返しになることが多く、これが本発
明の圧縮法に利用されている。
【0013】図3において、“@”は3つのカラム24
、26、および28に分割される。各カラムはワード3
0や31のような垂直方向に隣接するデータワードを含
む。繰り返すが、これらのデータワードはデータの16
ビット部分であり、図3では水平に配向されている。 フォント文字はまた所定の高さと幅を有するものとして
定義される。文字の高さはカラムの最上部と最下部を定
義し、幅はカラム数の決定に用いられる。高さはデータ
の行(row)の数として定義されることが多く、幅は
横のビット数として定義されることが多い。
【0014】カラム24、26および28はそれぞれ、
セクション32や34のような所定のセクションに分割
されている。各セクションは16の垂直方向に隣接する
データワードを含む。図3において、カラム26のセク
ション32のような各カラムの最下部のセクションは、
3つの垂直方向に隣接するデータワードを含む。各セク
ションに対応して、フラグ36や38のような、16ビ
ットの情報を含むフラグがある。ここでも、フラグの大
きさがセクションの大きさを決める。フラグは、フラグ
ビットが垂直方向に隣接するデータワード間の変化につ
いての信号を発することができるように、カラム状に構
成される。各フラグのビットはそれぞれ1つのデータワ
ードに対応する。
【0015】たとえば、フラグ38は垂直に配列された
16のビットを含む。最上位ビットがスラムの最上部の
ビットである場合、このフラグは水平方向に“0011
111000000000”と書くことができる。最上
位ビット、あるいは最上部のビットは“0”であり、デ
ータワード30に対応する。フラグが垂直方向に向いて
いる場合には最上位ビットから下に数えて4番目、ある
いはフラグが水平方向に向いている場合には最上位ビッ
トから右に数えて4番目であるビットは“1”であり、
データワード40に対応する。同様に、最上位ビットか
ら数えて5番目のビットはデータワード42に対応し、
8番目のビットはデータワード44に対応し、9番目の
ビットはデータワード46に対応する。
【0016】フラグビットは“0”あるいは“1”のい
ずれかの状態になることによって、データワード間の変
化についての信号を発する。ビットが“0”である場合
、これは“オフ”とみなすことができ、このビットに対
応するワードがその直前のワードと同一であることを意
味するものと解釈される。たとえば、ワード46に対応
するフラグビツトがゼロである場合、ワード46はワー
ド44と同一であることを意味する。
【0017】フラグビットが“1”である場合、これは
“オン”とみなすことができ、それに対応するデータワ
ードが直前のワードと異なることを意味する。たとえば
、ワード42に対応するフラグビットが“1”である場
合、ワード42はワード40と異なることを意味する。 通常、フラグビット50に対応するカラム24内のデー
タワードのような、ある文字の始めのデータワードは参
照データワードと比較される。この実施例では、参照デ
ータワードは“0000000000000000”で
あり、図3には示されない。フラグビット50に対応す
るデータワードは参照データワードと同一であり、した
がってフラグビット50は“0”である。この実施例で
は各カラム24、26および28の最上部のワードは参
照ワードと比較される。これに代えて、それぞれの最上
部のワードを直前のカラムの最下部のワードと比較して
もよい。
【0018】図3に示す本発明のデータ構造は、本発明
の圧縮法によって“@”の文字を印字するのに要するデ
ータを圧縮することを可能にする。これは、フラグと、
垂直方向に隣接するデータワード間の変化だけをメモリ
に格納すればよいからである。詳細には、図3を反復す
るために格納しなければならない情報は次の通りである
(以下のフラグおよびドットデータが16進数で書き込
まれる。)。
【0019】
【表1】
【0020】セクション32のような、各カラム24、
26および28の最下部のセクションはわずか3データ
ワードの高さである。これは、この文字が必要とするも
のがこれだけであるためである。したがって、フラグ5
1のような、これらのセクションに対応する図3に示す
フラグの高さは3ビットである。しかし、ほとんどの印
字装置は1バイトあるいは2バイトのデータを一度に処
理するため、8ビットあるいは16ビットのグループが
好適である。したがってフラグ51のようなフラグは1
6ビットの高さであり、残りのビットはすべてゼロとみ
なすことができる。
【0021】図3は本発明の実施方法の1つを示し、こ
こまでの記述は本発明の圧縮法とデータ構造の基本的な
特徴を説明するものである。しかし、図3のデータ構造
は使用可能ではあるが、さらに改良することができ、そ
の改良したものを図4に示す。
【0022】図4は図3のものと同じ“@”の文字のた
めの改良したデータ構造を示す。図4のデータ構造は、
必要なメモリ量が小さくなるという点で図3のデータ構
造よりも好適である。図3のデータ構造も使用可能であ
るが、実際には図4のデータ構造が用いられるであろう
【0023】図4に示す改良されたデータ構造は、セク
ションが1つのカラムから次のカラムに伸長する、ある
いは回り込むことを除いて、図3に示すデータ構造と同
様である。このようにして、図3のカラムの最下部の使
用されないフラグビットが使用される。たとえば、図4
においてカラム24はセクション52、54および56
aに分割される。各セクションは図3に示すように1つ
の対応するフラグを有する。しかし、セクション56a
はカラム26のセクション56bに伸長する。セクショ
ン56aに対応するフラグもまた、回り込んでセクショ
ン56bに伸長する。同様に、カラム26の最下部のセ
クションはカラム28の最上部に伸長する。カラム28
の最下部のセクション58は文字の記述を完了するのに
9つのフラグビットを要するだけで、残りのフラグビッ
トは無視、あるいはゼロに設定することができる。図4
の“@”を再生するために格納しなければならないデー
タは次の通りである(ここでも16進数である。)。
【0024】
【表2】
【0025】以上説明し、また図3および図4に示した
本発明のデータ構造は電子装置のメモリ手段、あるいは
メモリチップに格納することができる。水平な16ビッ
トワードの整列で示される矩形の文字外形を用いて図4
に示す“@”の文字を構成するドットデータあるいはビ
ットを格納するのに必要なメモリ量は、本発明の圧縮法
を採用しない場合210バイトである。本発明の圧縮法
と図4に示す回り込みセクションを用いて同じ“@”の
文字を格納するのに要するメモリ量は、フラグを含めて
130バイト(参照バイトは含まれない。)であり、約
40%の節約になる。通常の文字では約50%の節約に
なり、大きな文字では一般にそれ以上の節約になる。 “@”は曲がった太縦線や縁を多く有するため、他の多
くの文字のようには良好に圧縮されない。
【0026】本発明のデータ構造を理解することによっ
て、本発明の圧縮法の別の側面をより詳細に理解するこ
とができる。図5は本発明の圧縮法の一側面を示すもの
である。まず、この方法ではボックス62に示すように
データをデータワードのカラムに構成する。言い換えれ
ば、データは図3および図4に示したものと同様に構成
される。次に、64で第1のデータワードを第2のデー
タワードと比較する。前述したように、第1のデータワ
ードは参照データワードとすることができる。第2のデ
ータワードが第1のデータワードと同一、あるいは相当
するものである場合、66に示すように、第1のワード
と、第2のワードが第1のワードと同一であるとの信号
を発するフラグを格納する(第1のデータワードが参照
データワードである場合、フラグを格納するだけでよい
。)。“格納する”および“格納”という用語はメモリ
にデータを記録すること、あるいはデータやフラグを表
す圧縮されたコードを作成する動作を指す。第2のデー
タワードが第1のデータワードと同一でない場合、第1
と第2の両方のワードが格納され、フラグもまた格納さ
れて、68に示すようにこれらのデータワードが同一で
ないことを示す。
【0027】本発明の圧縮法の詳細なブロック図を図6
に示す。まずブロック70に示すように、この方法では
、データをデータワードに構成する。ブロック72でフ
ラグを作成する。各フラグは所定数のビットを有する。 この実施例では、フラグは16ビットを有する。ブロッ
ク72で、フラグあたりのビット数は“n”で表され、
各ビットはb1 、b2 、…bn と表される。ここ
でb1 は最上位ビットである。この方法では次に圧縮
すべきデータに対応する第1のフラグの第1のビットを
認識し、それに対応するデータワードを次のデータワー
ドと比較する。これはブロック74に示すように“n=
1”を設定し、ブロック76に示すようにゼロに相当す
る参照データワード(図6に“x”で示す)を設定し、
ステップ78に示すように第1のデータワード(図6に
“y”で示す)を認識することによって達成される。7
6および78に示すステップは並行して行われるが、シ
リアルに行ってもよい。参照データワード、あるいは“
x”は次に80で第1のデータワード、あるいは“y”
と比較される。この2つが等しい場合、この方法では8
2に示すようにゼロに相当する第1のフラグビットb1
 を設定し、84に示すようにそれを格納する。
【0028】“x”が“y”に等しくない場合、この方
法では86に示すように“y”、あるいは第1のデータ
ワードを格納し、ステップ88に示すように“x=y”
を設定する。言い換えれば、この方法では第1のデータ
ワードを格納し、次にその格納されたばかりのデータワ
ードを後続のデータワードと比較する準備をする。90
で他にデータが存在するかどうかが判定され、存在する
場合、92で“y”が次のデータワードに変更され、9
4で“n”が“n+1”に変更される。ステップ92お
よび94は並行に示されているが、これらはシリアルに
行うことができる。この方法では次にステップ80以下
をくり返す。言い換えれば、この方法では次のデータワ
ードを取り、それを前のデータワードと比較し、次のデ
ータワードが前のデータワードと同一であるかどうかに
応じて、適当な情報を格納する。これが圧縮すべきデー
タがなくなるまでくり返され、その後96に示すように
この圧縮法が終了する。
【0029】図7A、図7Bおよび図7Cは本発明の圧
縮法を回り込みセクションを含む図4に示すデータ構造
に用いた場合の詳細なブロック図を構成する。図7は図
7A、図7Bおよび図7Cを組み合わせる方法を示し、
図7A、図7Bおよび図7Cは本発明の圧縮法の実施例
を示す。この方法はブロック98から始まり、100で
データを図4に示すような水平なデータワードの回り込
みカラムに構成する。
【0030】前述したように、この実施例では各データ
ワードの幅は16ビットである。この方法でも前述した
ようなフラグを使用し、この実施例では各フラグは16
のフラグビットを有する。最上位フラグビツトは15番
目のフラグビット、最下位フラグビットはゼロフラグビ
ットと考えることができる。ブロック102で、フラグ
ビットポインタは特定のフラグビットを指す。まずポイ
ンタは15番目のフラグビット、あるいはデータワード
の幅マイナス1に相当するフラグビットを指す。
【0031】104で、カラムカウンタは文字を構成す
るカラムの数に等しく設定される。文字が図4の“@”
の記号である場合、カラムカウンタは3つ設定される。 105で、シードワードはゼロに等しく設定される。シ
ードワードは始めは参照データワードであるが、後には
データワードに等しく設定される。106で、行カウン
タは文字の高さに等しく設定される。前述したように、
各文字はある高さで定義されるが、この高さはデータの
行あるいはドットで測定されることが多い。
【0032】107で、この方法では次のデータワード
を読み、108でそのデータワードをシードワードと比
較する。始めは、次のデータワードは第1のデータワー
ドであり、シードワードは参照データワードである。そ
れらが同一である場合、110で適当なフラグビットが
ゼロに設定される。これら2つのワードが異なる場合、
シードワードが112で次のデータワードに変更され、
114で次のデータワードが格納され、116で適当な
フラグビットが1に等しく設定される。
【0033】118でフラグビットポインタがデクリメ
ントし、ステップ120でこのポインタがゼロ以下であ
るかどうか判定される。ゼロ以下である場合、このフラ
グワードが122で格納され、124でフラグビットポ
インタがワード幅マイナス1、すなわちこの実施例では
15にリセットされる。126で、行カウンタがデクリ
メントし、ステップ128で行カウンタがゼロ以下であ
るかどうかが判定される。ゼロ以下でない場合、この方
法ではステップ107以下をくり返しゼロ以下である場
合、カラムカウンタが130に示すようにデクリメント
する。行カウンタをデクリメントすると、この方法の処
理は1つのデータワードから次のデータワードに移動し
、カラムカウンタをデクリメントすると、カラムからカ
ラムへ移動する。
【0034】ステップ132ではカラムカウンタがゼロ
以下であるかどうかが判定され、ゼロ以下でない場合、
この方法はステップ105以下をくり返す。カラムカウ
ンタがゼロ以下である場合、この方法ではステップ13
4でフラグビットポインタがワード幅マイナス1に等し
いかどうかを判定する。等しくない場合、ステップ13
6でフラグワードが格納され、等しい場合、この方法は
ブロック138で終了する。図7A、図7Bおよひ図7
Cに示す実施例はコンピュータシステムのソフトウエア
、あるいはファームウエアに採用することができる。
【0035】本発明の圧縮解除法は圧縮法に照らして容
易に理解することができ、図8は本発明の圧縮解除法の
概略ブロック図である。この圧縮解除法は上述した圧縮
法およびデータ構造にしたがって格納、構成されたデー
タに使用される。
【0036】図8に示すように、この圧縮法はまず14
0でデータの第1の部分を認識する。この実施例では、
データの第1の部分は参照データワードである。ステッ
プ142で、この方法では圧縮解除すべきデータの第1
のフラグの一部を識別する。この実施例では、データの
第1のフラグビットを識別する。144でこのフラグ部
分が“オン”であるかどうかが判定され、オンである場
合、146に示すようにデータのそれに対応する部分を
読む。フラグのこの部分が“オフ”である場合、148
に示すようにデータの第1の部分を複製する。この実施
例では、第1のフラグビットが“1”である場合、それ
に対応するデータワードを読むが、第1のフラグビット
が“0”である場合、参照データワードが複製される。 これらのステップは追加データに対してくり返され、後
続の隣接するデータワードが比較される。
【0037】図9Aおよび図9Bは本発明の圧縮解除法
の実施例の詳細なブロック図を構成する。図9は図9A
と図9Bを組み合わせる方法を示す。この方法は150
で始まり、152で第1のフラグワードを読む。ここで
もこの実施例のフラグワードは16のフラグビットを含
む。154で、フラグビットポインタがフラグワード幅
マイナス1に等しく設定され、これはこの実施例では最
上位フラグビットを指す。156でカラムカウンタがカ
ラム数に等しく設定され、157でシードワードがゼロ
に等しく設定され、158で行カウンタが文字の高さに
等しく設定される。
【0038】図9Aおよび図9Bに示す圧縮解除法はあ
る文字を記述するデータがメモリに格納されていること
を認識し、それを使用する際には、このデータは圧縮解
除され、異なるメモリ位置に格納される。それに留意し
つつ、ステップ160でフラグビットポインタによつて
識別されたフラグビットが1に等しいかどうかを判定す
る。1に等しい場合、この方法では162に示すように
メモリから次のデータワードを読み、163でシードワ
ードをこのデータワードに等しく設定し、164に示す
ように、このシードワードを文字がコンパイルされるメ
モリに格納する。フラグビツトが1に等しくない場合、
この方法では164に示すように単にこのシードワード
を格納する。
【0039】フラグビットポインタは166でデクリメ
ントされ、ステップ168でそれがゼロ以下であるかど
うかが判定される。ゼロ以下でない場合、170で行カ
ウンタがデクリメントされ、ゼロ以下である場合、17
2で次のフラグワードが読まれ、行カウンタがデクリメ
ントされる前に、174でフラグビットポインタがデー
タワード幅マイナス1に設定される。176で判定した
とき、この行カウンタがゼロ以下である場合、このカラ
ムカウンタは178でデクリメントされる。この行カウ
ンタがゼロより大きい場合、この方法はステップ160
以下をくり返す。180で判定したとき、このカラムカ
ウンタがゼロ以下である場合、この方法は182で終了
するが、それがゼロより大きい場合、この方法はステッ
プ157以下をくり返す。図9Aおよび図9Bに示す本
発明の圧縮解除法の実施例は主としてハードウエアとフ
ァームウエアによって実行される。
【0040】図10は、本発明の圧縮/圧縮解除法およ
びデータ構造を採用することのできる電子装置の概略ブ
ロック図である。この装置は標準のメモリチップ等のメ
モリ184、およびこのメモリにデータを格納する手段
186を含む。メモリ184はデータのセクション間の
変化についての信号を発するための、上述したフラグの
ようなフラグ手段190を有するデータ188を含む。 この装置はまたデータ188にアクセスし、それを使用
するための手段192を含む。メモリ、データを格納す
る手段、データにアクセスし、それを使用するための手
段は、コンピュータに見られるように、動作上互いに関
連している。データ格納手段には、メモリからの読み取
りおよびメモリへの書き込みが可能な書き込み/読み取
りヘッド、特注の集積回路、あるいは他の機構等の、装
置が上述のデータ構造にしたがってメモリにデータを記
録することを可能にする手段を含めてもよい。格納され
たデータにアクセスし、それを使用するための手段には
、読み取り/書き込みヘツド、ディスクドライブ、表示
ターミナル、プリンタその他の装置を含めることができ
る。
【0041】産業上の利用可能性:本発明はデータの圧
縮が必要となるいかなる場合にも適用することができる
。本発明の方法、データ構造および装置は、特にコンピ
ュータプリンタ分野におけるフォントデータの圧縮およ
び圧縮解除に適する。以上本発明の最良の態様と実施例
を説明してきたが、本発明の精神から離れることなく変
更が可能である。本発明の方法、データ構造および装置
は、フォントデータ以外のデータにも使用可能である。
【0042】
【発明の効果】以上説明したように、本発明を用いるこ
とにより、フォント文字データ等のデータの圧縮および
圧縮解除の複雑さ、およびそれらに要する時間が低減さ
れる。
【図面の簡単な説明】
【図1】本発明による圧縮方法の簡略ブロック図である
【図2】本発明による圧縮方法の簡略ブロック図である
【図3】文字“@”の本発明によるデータ構造のドット
パターンを示す図である。
【図4】図3に示すデータ構造の改良を示す図である。
【図5】本発明による圧縮方法の別の簡略ブロック図で
ある。
【図6】本発明による圧縮方法の詳細ブロック図である
【図7】図4に示すデータ構造を用いる本発明による圧
縮方法の別の詳細ブロック図である。
【図8】本発明による圧縮解除方法のブロック図である
【図9】図4のデータ構造を用いる本発明による圧縮解
除方法の詳細ブロック図である。
【図10】データを圧縮、圧縮解除することのできる本
発明によるデバイスのブロック図である。
【符号の説明】

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】データをデータワードのカラムに構成する
    段階と、前記各カラムを所定のセクションに分割する段
    階と、前記各セクションに関するフラグを備え、隣接す
    るデータワード間の変化を信号で知らせる段階と、を備
    えて成るデータ圧縮方法。
  2. 【請求項2】データをデータワードのカラムに構成する
    段階と、第1のデータワードを第2のデータワードと比
    較する段階と、第1のデータワードが第2のデータワー
    ドと同じかどうかを決定する段階と、同じ場合は、前記
    第1のデータワードと、前記第2のデータワードが前記
    第1のデータワードと同じであるということを知らせる
    フラグとのみを記憶する段階と、同じでない場合は、前
    記第1及び第2のデータワードの両方を記憶する段階と
    、を備えて成るデータ圧縮方法。
  3. 【請求項3】データの第1の部分を認識する段階と、デ
    ータの第2の部分に関連するフラグの少なくとも1部分
    を識別する段階と、前記1部分がオンであるかオフであ
    るかを決定する段階と、前記フラグの前記1部分がオン
    である場合、データの関連する第2の部分を読む段階と
    、前記フラグの前記1部分がオフである場合、データの
    前記第1の部分を複製する段階と、を備えて成る、デー
    タの1部分間の変化を知らせるフラグを備えたデータの
    圧縮解除方法。
JP03149609A 1990-05-25 1991-05-24 データの圧縮及び圧縮解除方法 Expired - Fee Related JP3083344B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53004990A 1990-05-25 1990-05-25
US530049 1990-05-25

Publications (2)

Publication Number Publication Date
JPH04232996A true JPH04232996A (ja) 1992-08-21
JP3083344B2 JP3083344B2 (ja) 2000-09-04

Family

ID=24112244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03149609A Expired - Fee Related JP3083344B2 (ja) 1990-05-25 1991-05-24 データの圧縮及び圧縮解除方法

Country Status (2)

Country Link
US (1) US5123061A (ja)
JP (1) JP3083344B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367620A (en) * 1990-09-25 1994-11-22 Brother Kogyo Kabushiki Kaisha Character output device
US5796872A (en) * 1992-03-25 1998-08-18 Canon Kabushiki Kaisha Method and apparatus for compressing and decompressing image data
US5655032A (en) * 1992-08-20 1997-08-05 Canon Kabushiki Kaisha Coding method and apparatus therefor
US5452405A (en) * 1993-01-25 1995-09-19 Hewlett-Packard Company Method and apparatus for delta row decompression
WO1994028508A1 (en) * 1993-05-24 1994-12-08 Motorola, Inc. Method and apparatus for storing compressed data for subsequent presentation on an active addressed display
US5521991A (en) * 1993-10-29 1996-05-28 International Business Machines Corporation Method and system for fast forms recognition of document form images
US5864716A (en) * 1994-01-07 1999-01-26 Cirrus Logic, Inc. Tagged data compression for parallel port interface
US5488365A (en) * 1994-03-01 1996-01-30 Hewlett-Packard Company Method and apparatus for compressing and decompressing short blocks of data
EP0672982B1 (en) * 1994-03-18 2002-07-31 Hewlett-Packard Company, A Delaware Corporation Printer system with compressed font procedure that enables memory conservation
US5564045A (en) * 1994-07-28 1996-10-08 Motorola, Inc. Method and apparatus for string searching in a linked list data structure using a termination node at the end of the linked list
US5617517A (en) * 1994-09-20 1997-04-01 Seiko Epson Corporation Two-dimensional method and system for compressing bi-level images
US5596423A (en) * 1995-03-02 1997-01-21 Hewlett-Packard Company Method and apparatus for compression and decompression of data used by a serial printer
US6023478A (en) * 1996-03-29 2000-02-08 Hewlett-Packard Method and apparatus for communicating data byte streams
US5748613A (en) * 1996-03-29 1998-05-05 Hewlett-Packard Company Communication pacing method
US6094453A (en) * 1996-10-11 2000-07-25 Digital Accelerator Corporation Digital data compression with quad-tree coding of header file
US6225922B1 (en) * 1998-03-16 2001-05-01 Hewlett-Packard Company System and method for compressing data using adaptive field encoding
US6508529B2 (en) 1998-09-29 2003-01-21 Hewlett-Packard Company Inkjet printing media handling system and method for reducing cockle growth
US6318854B1 (en) 1998-09-29 2001-11-20 Hewlett-Packard Company Inkjet printing media handling system with advancing guide shim
US6460046B1 (en) * 1999-06-01 2002-10-01 Navigation Technologies Corp. Method and system for forming, storing and using sets of data values
US20020067860A1 (en) * 2000-10-10 2002-06-06 Azam Syed Aamer System, method and computer program product for improved lossless compression for bitmap fonts
US10387305B2 (en) * 2016-12-23 2019-08-20 Intel Corporation Techniques for compression memory coloring

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE758268A (fr) * 1969-11-04 1971-04-01 Ibm Procede et systeme de codage comprime de quantites sous forme digitale
US4307377A (en) * 1979-11-09 1981-12-22 Bell Telephone Laboratories, Incorporated Vector coding of computer graphics material
US4876607A (en) * 1982-03-31 1989-10-24 International Business Machines Corporation Complex character generator utilizing byte scanning
US4568983A (en) * 1983-12-07 1986-02-04 The Mead Corporation Image data compression/decompression
US4727421A (en) * 1984-10-04 1988-02-23 Nec Corporation Method of coding picture signal and picture coding/decoding apparatus utilizing the same
US4626829A (en) * 1985-08-19 1986-12-02 Intelligent Storage Inc. Data compression using run length encoding and statistical encoding

Also Published As

Publication number Publication date
JP3083344B2 (ja) 2000-09-04
US5123061A (en) 1992-06-16

Similar Documents

Publication Publication Date Title
JPH04232996A (ja) データの圧縮及び圧縮解除方法
US4581710A (en) Method of editing dot pattern data for character and/or image representations
US5347266A (en) Method and device for accessing shared character patterns, and resulting stored decompressible font structure
JPS6221127B2 (ja)
JPS5955762A (ja) 印字システム
JPH01282694A (ja) 光学読取コード及び情報伝達方法
JP2000242258A (ja) フォントメモリおよびフォントデータの読み出し方法
US5822504A (en) Font packing device and font unpacking device
JPS5949584A (ja) 各種文字サイズが混在するデ−タの処理方式
JPS58144890A (ja) 文字発生装置における文字表示領域制御方式
JPS58193582A (ja) 文字発生方法および装置
JPS5853338B2 (ja) ドツト・トパタ−ン出力方式
JPH04220765A (ja) フォント文字を定めるデータの圧縮方法
JPH0647958A (ja) プリンターの縦書き制御方式及びその装置
JPH02178826A (ja) ページプリンタ
JPS61274955A (ja) 文書出力装置
JPS5924426B2 (ja) 漢字パタ−ン記憶装置
JPH0596811A (ja) 印字方法
JPH05281948A (ja) フォントパターン圧縮記憶方法
JPS61208083A (ja) 文字ドツトパタ−ンデ−タ発生方式
JPS6227789A (ja) キヤラクタジエネレ−タのデ−タ圧縮方式
JPS61156191A (ja) 文字出力方式
JPS60159886A (ja) 文字パタ−ン発生方式
JPS60200285A (ja) ドツトパタ−ン変換方式
JPS6374646A (ja) グラフイツク印字方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees