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

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

Info

Publication number
JP3083344B2
JP3083344B2 JP03149609A JP14960991A JP3083344B2 JP 3083344 B2 JP3083344 B2 JP 3083344B2 JP 03149609 A JP03149609 A JP 03149609A JP 14960991 A JP14960991 A JP 14960991A JP 3083344 B2 JP3083344 B2 JP 3083344B2
Authority
JP
Japan
Prior art keywords
data
word
flag
column
flag bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP03149609A
Other languages
English (en)
Other versions
JPH04232996A (ja
Inventor
トーマス・ビー・プリッチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

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つのカラム2
4、26、および28に分割される。各カラムはワード
30や31のような垂直方向に隣接するデータワードを
含む。繰り返すが、これらのデータワードはデータの1
6ビット部分であり、図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内の
データワードのような、ある文字の始めのデータワード
は参照データワードと比較される。この実施例では、参
照データワードは“000000000000000
0”であり、図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
に分割される。各セクションは図3に示すように1つ
の対応するフラグを有する。しかし、セクション56
はカラム26のセクション56に伸長する。セクショ
ン56に対応するフラグもまた、回り込んでセクショ
ン56に伸長する。同様に、カラム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 と表される。ここで
1 は最上位ビットである。この方法では次に圧縮すべ
きデータに対応する第1のフラグの第1のビットを認識
し、それに対応するデータワードを次のデータワードと
比較する。これはブロック74に示すように“n=1”
を設定し、ブロック76に示すようにゼロに相当する参
照データワード(図6に“x”で示す)を設定し、ステ
ップ78に示すように第1のデータワード(図6に
“y”で示す)を認識することによって達成される。7
6および78に示すステップは並行して行われるが、シ
リアルに行ってもよい。参照データワード、あるいは
“x”は次に80で第1のデータワード、あるいは
“y”と比較される。この2つが等しい場合、この方法
では82に示すようにゼロに相当する第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】データを圧縮、圧縮解除することのできる本
発明によるデバイスのブロック図である。
【符号の説明】
184:メモリ 190:フラグ手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI H04N 1/415 B41J 3/12 Z (58)調査した分野(Int.Cl.7,DB名) G09G 5/24 B41J 2/485 B41J 5/30 G06F 3/153 G06T 3/40 H04N 1/415

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】ビット画像フォーマットの文字を規定する
    ビットを有し、フォント文字を規定するデータを圧縮す
    る方法であって、 前記ビットを所定数のビット長の水平方向の行に構成す
    るステップと、 前記行を所定数のビット幅の垂直方向カラムに区分し、
    各行の各カラムにおける、結果生じた各部分におけるビ
    ットがデータワードを形成するようにするステップと、 前記カラムをセクションに分割し、各セクションが所定
    数のデータワードを含むようにするステップと、 異なるデータワードに各ビットが関連している所定数の
    フラグビットを有するフラグワードを各セクション毎に
    作成するステップと、 垂直方向に隣接するデータワードが同じか異なるかにつ
    いての信号を前記フラグビットを用いて発信するステッ
    プと、 文字の記述の異なる前記垂直方向に隣接するデータワー
    ドと前記フラグワードとを記憶するステップと、 を備えて成り、 フラグビットポインタ、カラムカウンタ、および行カウ
    ンタを使用し、 垂直方向に隣接するデータワードが同じか異なるかにつ
    いて前記フラグビットを用いて信号を発する前記ステッ
    プが、 前記フラグビットポインタを前記カラム幅−1に設定す
    るステップと、 前記カラムカウンタを、前記文字を形成するカラムの数
    に等しく設定するステップと、 シードワードを初期値で作成するステップと、 前記行カウンタを前記カラムの高さに等しく設定するス
    テップと、 前記カラムおよび行カウンタによって指定された前記カ
    ラムおよび行に関連する前記データワード(以後、次の
    データワードと称する)を読むステップと、 前記次のデータワードを前記シードワードと比較するス
    テップと、 該次のデータワードが前記シードワードに等しい場合、
    前記フラグビットポイン タによって識別された前記フラ
    グビットを第1の所定値に設定するステップと、前記次
    のデータワードが前記シードワードと異なる場合、該シ
    ードワードを前記次のデータワードに等しく設定し、該
    次のデータワードを記憶し、前記フラグビットポインタ
    によって識別された前記フラグビットを第2の所定値に
    設定するステップと、 前記フラグビットポインタをデクリメントするステップ
    と、 前記フラグビットポインタがゼロより小さいかどうかを
    決定するステップと、 前記フラグビットポインタがゼロより小さい場合、前記
    フラグワードを記憶し、前記フラグビットポインタを前
    記カラム幅−1に設定し、前記行カウンタをデクリメン
    トするステップと、 前記フラグビットポインタがゼロ以上の場合、前記行カ
    ウンタをデクリメントするステップと、 前記行カウンタがゼロ以下であるかどうかを決定するス
    テップと、 前記行カウンタがゼロ以下の場合、前記カラムカウンタ
    をデクリメントするステップと、 前記行カウンタがゼロより大きい場合、前記カラムおよ
    び行カウンタによって指定された前記カラムおよび行に
    関連する前記データワードを読む前記ステップから始め
    て、上述のステップを繰り返すステップと、 前記カラムカウンタがゼロ以下であるかどうかを決定す
    るステップと、 前記カラムカウンタがゼロ以下の場合、前記フラグビッ
    トポインタが前記カラム幅−1に等しいかどうかを決定
    するステップと、 前記カラムカウンタがゼロより大きい場合、前記カラム
    および行カウンタによって指定された前記カラムおよび
    行に関連する前記データワードを読む前記ステップから
    始めて、上述のステップを繰り返すステップと、 前記フラグビットポインタが前記カラム幅−1に等しく
    ない場合、前記フラグワードを記憶するステップと、 前記フラグビットポインタが前記カラム幅−1に等しい
    場合、前記フラグワードと、文字の記述としての特有の
    データワードとを記憶するステップを続行させ、前記垂
    直方向に隣接する異なるデータワードが、記憶された次
    のデータワードと なるようにするステップと、 をさらに備えて成るデータ圧縮方法。
  2. 【請求項2】フラグワード毎のフラグビット数が、セク
    ション毎のデータワード数に等しいことを特徴とする請
    求項1に記載の方法。
  3. 【請求項3】前記セクションが1つのカラムから他のカ
    ラムに伸長することを特徴とする請求項1に記載の方
    法。
  4. 【請求項4】フォント文字を規定する圧縮データを圧縮
    解除する方法であって、該圧縮データは、ビット画像フ
    ォーマットの文字を所定数の水平方向の行として記述す
    る一連のデータワードとフラグワードとを有し、各行は
    所定数のビット長および所定数の垂直方向カラムを有
    し、各カラムは所定数の行の高さと所定数のビット幅と
    を有し、フラグビットポインタとカラムカウンタと行カ
    ウンタとともに使用され、フラグワードを読むステップ
    と、 前記フラグワードにおけるフラグビットを識別する前記
    フラグビットポインタを前記カラム幅−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 JPH04232996A (ja) 1992-08-21
JP3083344B2 true 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
DE69121345T2 (de) * 1990-09-25 1997-01-23 Brother Ind Ltd Zeichenausgabegerät
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
KR100203319B1 (ko) * 1993-05-24 1999-06-15 모토로라, 인크 압축된데이타를저장하여액티브어드레싱되는디스플레이에표시하기위한방법및장치
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
US5748613A (en) * 1996-03-29 1998-05-05 Hewlett-Packard Company Communication pacing method
US6023478A (en) * 1996-03-29 2000-02-08 Hewlett-Packard Method and apparatus for communicating data byte streams
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
JPH04232996A (ja) 1992-08-21
US5123061A (en) 1992-06-16

Similar Documents

Publication Publication Date Title
JP3083344B2 (ja) データの圧縮及び圧縮解除方法
EP0115584B1 (en) Image producing apparatus and methods of processing image-representing signals for use by such apparatus
US5347266A (en) Method and device for accessing shared character patterns, and resulting stored decompressible font structure
US4581710A (en) Method of editing dot pattern data for character and/or image representations
US4228507A (en) Methods and means for reproducing non-alphabetic characters
EP0030279B1 (en) A system for printing an image of a signature on a matrix printer
JPS61118791A (ja) フオント圧縮装置
JPS5836348B2 (ja) 一定表示密度を有するサイズ可変文字発生方法
JPH0429553B2 (ja)
US5199803A (en) Method of compressing and expanding dot-matrix character
US4675831A (en) Method of processing gradation information
JPS5955762A (ja) 印字システム
US4490789A (en) Method and means for reproducing non-alphabetic characters
JP3327650B2 (ja) 記録装置
JPH0630910B2 (ja) 印字方法
EP0119396B1 (en) Apparatus for and methods of presenting or displaying data represented as electric signals
US5822504A (en) Font packing device and font unpacking device
KR100525851B1 (ko) 인자장치, 인자방법 및 정보기록매체
GB2217491A (en) Output apparatus
KR960005014B1 (ko) 도트매트릭스 이미지 데이타를 페이지 프린터에서 처리하는 방법 및 회로
JPS5853338B2 (ja) ドツト・トパタ−ン出力方式
JPH11179979A (ja) 画像記録装置
JP2972466B2 (ja) ドットパターンの圧縮方法及び装置と出力方法及び装置
JPH04220765A (ja) フォント文字を定めるデータの圧縮方法
JP3055738B2 (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