JPH05324816A - 符号化/復号化方法及び装置及び前記復号化方法を実施する画像形成装置 - Google Patents

符号化/復号化方法及び装置及び前記復号化方法を実施する画像形成装置

Info

Publication number
JPH05324816A
JPH05324816A JP4125132A JP12513292A JPH05324816A JP H05324816 A JPH05324816 A JP H05324816A JP 4125132 A JP4125132 A JP 4125132A JP 12513292 A JP12513292 A JP 12513292A JP H05324816 A JPH05324816 A JP H05324816A
Authority
JP
Japan
Prior art keywords
line
code
dot
encoding
pattern
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
JP4125132A
Other languages
English (en)
Other versions
JP2737863B2 (ja
Inventor
Shoji Koike
尚司 小池
Satoshi Nagata
聡 永田
Tetsuo Kurita
哲夫 栗田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP4125132A priority Critical patent/JP2737863B2/ja
Priority to EP93303811A priority patent/EP0571170B1/en
Priority to DE69328325T priority patent/DE69328325T2/de
Priority to US08/063,076 priority patent/US5574886A/en
Publication of JPH05324816A publication Critical patent/JPH05324816A/ja
Application granted granted Critical
Publication of JP2737863B2 publication Critical patent/JP2737863B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】 文字や記号等のドットパターンに適した符号
化を行って、高い圧縮率が得られる符号化方法及び装置
を提供することを目的とする。又、伸長に要する時間を
短くできる符号化を行う符号化方法及び装置、更にはこ
のように符号化されたデータを高速に復号できる復号化
方法及び装置、更には前記復号化方法を実施する画像形
成装置を提供することを目的とする。 【構成】 この符号化装置は、所定のドットパターン領
域を読出し、所定方向に走査して各走査線毎にドットの
変化点位置及び変化点の数を求め、その走査線方向と略
直交する方向における非連続なドットパターンの出現を
検出してドット集合の開始及び終了を判別する。こうし
て判別されたドット集合の開始及び終了位置、及び検出
された変化点位置及び変化点の数を1つ前の走査線に対
する相対値で符号化する。又、こうして符号化されたコ
ードを復号して画像を形成することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば文字等のパター
ンデータを符号化して圧縮する符号化方法及び装置、更
にはこのようにして符号化されたパターンデータを伸長
して復号する復号化方法及び装置、更には前記復号化方
法を実施する画像形成装置に関するものである。
【0002】
【従来の技術】文字コードに対応してパターンデータを
記憶しているキャラクタジェネレータでは、一般的に文
字パターンデータはその展開されたままの文字パターン
の形で文字パターンを記憶している。しかし、このよう
に文字パターンをそのままの形で記憶すると、キャラク
タジェネレータのメモリ容量が増大し、コストアップを
招く等の問題がある。特に、最近のように、プリンタ等
の解像度が増し、印刷される文字パターンのドット数が
多くなると、そのキャラクタジェネレータのメモリ容量
は莫大なものになってしまう。そこで、このような文字
パターンを、例えばランレングス等による符号化法によ
る符号化した圧縮コードの形式で記憶したキャラクタジ
ェネレータが開発されている。
【0003】
【発明が解決しようとする課題】ところが、上述のよう
な従来の符号化方法は一般的なパターンデータに対する
圧縮方法であるため、文字パターンのドット構成によっ
ては、あまり圧縮率が向上できない場合がある。又、符
号化の方法によっては、その伸長に多くの時間を要し、
文字コードを入力しても、そのパターン展開に多くの時
間を要し、これはプリンタ等では印刷時間の増大となっ
ていた。
【0004】本発明は上記従来例に鑑みてなされたもの
で、文字や記号等のドットパターンに適した符号化を行
って、高い圧縮率が得られる符号化方法及び装置を提供
することを目的とする。
【0005】又、伸長に要する時間を短くできる符号化
を行う符号化方法及び装置、更にはこのように符号化さ
れたデータを高速に復号できる復号化方法及び装置を提
供することを目的とする。
【0006】又、本発明の他の目的は、符号化されたコ
ードを入力し、復号して画像を形成できる画像形成装置
を提供することにある。
【0007】更に又、本発明の他の目的は、文字や記号
等のドットパターンを符号化して得られたデータを予め
メモリに記憶しておき、次に文字コード等を入力すると
前記メモリに格納されたデータを参照して対応するドッ
トパターンに復元して画像を形成できる画像形成装置を
提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に本発明の符号化装置は以下の様な構成を備える。即
ち、ビットマップ展開されたドットパターンを符号化す
る符号化装置であって、所定のドットパターン領域を読
出し、所定方向に走査して各走査線毎にドットの変化点
位置及び変化点の数を求める変化点検出手段と、前記走
査線方向と略直交する方向における非連続なドットパタ
ーンの出現を検出してドット集合の開始及び終了を判別
する判別手段と、前記判別手段により判別されたドット
集合の開始及び終了位置、及び前記変化点検出手段によ
り検出された変化点位置及び変化点の数を1つ前の走査
線に対する相対値で符号化する符号化手段とを有する。
【0009】上記目的を達成するために本発明の符号化
方法は以下の様な工程を備える。即ち、ビットマップ展
開されたドットパターンを符号化する符号化方法であっ
て、ドットパターンを所定方向に走査して各走査線上に
おけるドットの変化点の数と1つ前の走査線上における
変化点の数との差を行コードとし、1つ前の走査線の前
記変化点の位置に対する相対位置、及び前記走査線と略
直交する方向のドット集合の開始及び終了位置を枠コー
ドとしてコード化することにより、各走査線順に符号化
する。
【0010】上記目的を達成するために本発明の復号化
装置は以下の様な構成を備える。即ち、請求項1に記載
の符号化方法によって符号化されたコードを復号する復
号化装置であって、行コードによりドットパターンの各
行の先頭及び各行におけるドットの変化点の数を求める
計数手段と、各行毎の枠コードによりドットの変化点の
位置を算出する算出手段と、前記算出手段により算出さ
れたドット変化点の位置、及び前記計数手段により求め
られた変化点の数に基づいてドットパターンを作成する
パターン作成手段とを有する。
【0011】上記目的を達成するために本発明の復号化
方法は以下の様な工程を備える。即ち、請求項1に記載
の符号化方法によって符号化されたコードを復号する復
号化方法であって、行コードにより行の先頭及び各行の
変化点数を求め、各行毎に枠コードにより前記変化点の
座標位置を求めてドットパターンに展開する。
【0012】又、他の発明の画像形成装置は以下の様な
構成を備える。即ち、ビットマップ展開されたドットパ
ターンを符号化して記憶する画像形成装置であって、所
定のドットパターン領域を切り出し、所定方向に走査し
て各走査線毎にドットの変化点位置及び変化点の数を求
める変化点検出手段と、前記走査線方向と略直交する方
向における非連続なドットパターンの出現を検出してド
ット集合の開始及び終了を判別する判別手段と、前記判
別手段により判別されたドット集合の開始及び終了位
置、及び前記変化点検出手段により検出された変化点位
置及び変化点の数を1つ前の走査線に対する相対値で符
号化する符号化手段と、前記符号化手段により符号化さ
れたコードを文字コードに対応付けて記憶する記憶手段
と、文字コードを入力すると前記記憶手段を参照して前
記文字コードをパターン展開して画像を形成する画像形
成手段とを有する。
【0013】
【作用】以上の構成において、本発明の符号化装置は、
所定のドットパターン領域を切り出し、所定方向に走査
して各走査線毎にドットの変化点位置及び変化点の数を
求め、その走査線方向と略直交する方向における非連続
なドットパターンの出現を検出してドット集合の開始及
び終了を判別する。こうして判別されたドット集合の開
始及び終了位置、及び検出された変化点位置及び変化点
の数を1つ前の走査線に対する相対値で符号化する。
【0014】又他の発明の復号化装置は、行コードによ
りドットパターンの各行の先頭及び各行におけるドット
の変化点の数を求め、各行毎の枠コードによりドットの
変化点の位置を算出する。こうして算出されたドット変
化点の位置、及び変化点の数に基づいてドットパターン
を作成するように動作する。
【0015】
【実施例】以下、添付図面を参照して本発明の好適な実
施例を詳細に説明する。
【0016】本実施例の構成を説明する前に、本実施例
を適用するレーザビームプリンタの構成を図17を参照
して説明する。図17において、1500はLBP本体
を示し、外部に接続されているホストコンピュータ等の
外部装置から供給される文字情報(文字コード等)やフ
ォーム情報或いはマクロ命令等を入力して記憶するとと
もに、それらの情報に従って対応する文字パターンやフ
ォームパターン等を作成し、記録媒体である記録紙上に
像を形成する。1501は操作のための各種スイッチ及
びLED表示器等が配されている操作パネル、1はLB
P1500全体の制御及びホストコンピュータから供給
される文字情報等を解析するプリンタ制御ユニットであ
る。このプリンタ制御ユニット1は主に文字情報を対応
する文字パターンのビデオ信号に変換してレーザドライ
バ1502に出力する。
【0017】レーザドライバ1502は半導体レーザ1
503を駆動するための回路で、入力されたビデオ信号
に応じて半導体レーザを駆動してレーザ光1504をオ
ン・オフ切替している。レーザ光1504は回転多面鏡
1505で左右方向に振られて静電ドラム1506上を
露光走査する。これにより、静電ドラム1506上には
文字パターンの静電潜像が形成される。この潜像は静電
ドラム1506の周囲の現像ユニット1507により現
像された後、記録紙に転写される。この記録紙にはカッ
トシートを用い、カセット記録紙はLBP1500に装
着した用紙カセット1508に収納され、給紙ローラ1
509及び搬送ローラ1510と1511とにより装置
内に取り込まれて、静電ドラム1506に供給される。
[符号化装置の説明]図1は本実施例の符号化装置の概
略構成を示すブロック図である。
【0018】図1において、101は符号化すべき文字
コードを指定したり、その所望の文字コードの符号化処
理を指示するキーボード等の入力装置、102は符号化
処理装置であるホストコンピュータ等の外部装置、10
3はキーボード101により指定された文字コードに対
応して文字パターンデータ及びその文字パターンの全ラ
イン数を記憶している文字パターン発生器である。この
文字パターン発生器103は、外部装置102に内蔵さ
れているものに限らず、外部装置102に着脱可能な外
部記憶媒体であってもよいし、文字パターンを発生する
ホストコンピュータ等の外部装置であってもよい。10
4はキーボード101から指定された文字コードを文字
パターン発生器103に出力し、その文字コードに対応
する文字パターンデータ及びその文字パターンの全ライ
ン数を取り込んでいる読出し回路、105は読出し回路
104により読出された文字パターンデータ及びその文
字パターンの全ライン数を記憶するためのメモリであ
る。
【0019】106はメモリ105に記憶された文字パ
ターンデータをキーボード101からの指示に基づいて
符号化する符号化部、107は符号化部106によって
符号化された圧縮コード及び全ライン数を記憶するため
のコードメモリである。108はメモリ105に記憶さ
れている文字パターンを表示したり、オペレータへの各
種メッセージ等を表示する表示部である。
【0020】キーボード101から指定された文字コー
ドに対応する文字パターンデータ及びその文字パターン
の全ライン数は、一旦メモリ105に格納される。そし
て、キーボード101からの符号化指示に基づいて、メ
モリ105に格納された文字パターンデータ及びその文
字パターンの全ライン数は、1文字単位に符号化部10
6に読み出されて順次符号化処理される。
【0021】以下、本実施例の符号化部106における
符号化処理について説明する。
【0022】この符号化処理の説明に先だって、本実施
例の符号化処理の概要を説明すると、図2において、2
01は文字“P”のビットマップパターンを示してい
る。このようなビットマップパターンは、複数の枠が重
なったものとして処理を行う。この枠とは、連続した同
じ色のドットの集合であり、1本の連続する境界線によ
って囲まれているものとする。従って、この文字“P”
のパターン201の場合は、白ドットからなるビットマ
ップ上に黒ドットの枠202と白ドットの枠203とが
重なっていると解釈する。
【0023】これら各枠の境界線は、最上部の水平部分
を“OPEN”で表し、最下部の水平部分を“CLOS
E”とし、更に、このパターンを水平方向に左から右に
走査した時のエッジ部分とで表わされるものとする。
【0024】このような“OPEN”,“CLOSE”
は、1つの枠に対して1つとは限定されず、例えば図3
のような文字“H”のパターンデータの場合には、境界
線の最上部の2か所で“OPEN”が存在する。
【0025】図4及び図5は、本実施例の符号化部10
6における符号化コードの種類を示す図である。以下、
各コード名について説明する。パターンデータは、例え
ば図2のようなパターンでは、走査線を水平方向に設定
し、この走査線の左より右方向にパターンデータ全ライ
ン分(ライン数12)を走査しながら、そのエッジ部分
及び前のラインとの関係等を調べていく。まず初めの走
査で、以下に示す行コードを作成し、次の走査で枠コー
ドを作成する。 (a)LINEEQ (Line Equal) 現在注目している走査線(現ライン)上のパターンのエ
ッジ数が、1つ前の走査線のエッジ数と等しいことを示
す。例えば、前述の図2において、ライン22〜25及
びライン27〜31は前のラインのエッジ数と同じ数の
エッジを有しているため、このラインの先頭では、行コ
ードであるLINEEQコード(コードデータ“0”)
が作成される。 (b)LINEDIF(Line Difference) <i> 現ラインのパターンのエッジ数が、1つ前の走査線(前
ライン)のエッジ数といくつ(変数iで示す)異なるか
を示す。この変数iは偶数の値しか取り得ないので、図
4に示すように、それぞれ偶数の正負の値にのみコード
を割りつけている。例えば図2の場合では、ライン20
ではエッジの数が“2”になっているため、ライン20
では“LINEDIF<+2>”(コードデータ“10
010”)がセットされる。又、ライン21では、エッ
ジの数が前のライン20に比べて“2”だけ増えている
ため、このライン21でも“LINEDIF<+2>”
(コードデータ“10010”)がコード化される。更
に、ライン26では、前のライン25に比べてエッジ数
が“2”減少しているため、このライン26の先頭では
行コードである“LINEDIF<−2>”(コードデ
ータ“0011”)がコード化される。 (c)ADV0 (Advance 0) この枠コードADV0(コードデータ“0”)は、現ラ
インのエッジ位置が前のラインのエッジ位置と同じであ
ることを示す。これは例えば図2の場合では、ライン2
1〜30における左端のエッジが該当している。 (d)ADV1 (Advance 1) この枠コードADV1(コードデータ“10”)は、現
ラインのエッジ位置が前のラインのエッジ位置に比べて
1つだけ順方向に進んでいることを示す。このエッジの
移動方向は、枠の左側のエッジは左方向に、枠の右側の
エッジは右方向をデフォルトとし、直前のエッジの位置
からのずれ方向と同じ時は順方向としている。そして、
この順方向はエッジ位置が変化しない時は維持される。
これは、後続のコードに関しても同様である。これは、
例えば図2のライン21におけるエッジ33及びライン
31における一番左端のエッジ32が該当している。 (e)ADV2 (Advance 2) この枠コードADV2(コードデータ“110”)は、
現ラインのエッジ位置が前のラインのエッジ位置に比べ
て2つだけ順方向に進んでいることを示す。 (f)SW1 (Switch 1) この枠コードSW1(コードデータ“1110”)は、
現ラインのエッジ位置が前のラインのエッジ位置に比べ
て1つだけ順方向と逆の方向に進んでいることを示す。
これは、例えば図2のライン25におけるエッジ34及
びライン26におけるエッジ35が該当している。 (g)ADVLONG <j> (Advance Long <j>) この枠コードADVLONG <j>は、現ラインのエ
ッジ位置が前のラインのエッジ位置に比べて、順方向に
jだけ進んでいることを示す。ここで、jの値は“3”
以上であるため、図5に示すように、“3”に“0”を
割り当て、それ以降の数値を図示の如く設定している。
これに該当しているのは、図2のライン27で、このラ
インは“ADVLONG<7>”(コードデータ“11
11000100”)とコード化される。 (h)SWLONG <k> (Switch Long <k>) この枠コードSWLONG <k>は、現ラインのエッ
ジ位置が前のラインのエッジ位置に比べて、順方向と逆
の方向にkだけ進んでいることを示す。ここで、kの値
は“2”以上であるため、図5に示すように、“2”に
“0”を割り当て、それ以降の数値を図示のごとく設定
している。これに該当しているのは、図2のライン31
で、このラインは“SWLONG<2>”(コードデー
タ“1111010000”)とコード化される。 (i)OPEN <m,n> この枠コードOPEN <m,n>は、現ライン上で相
対位置mから幅nの枠が新たに発生したことを示してい
る。ここで相対位置mは、現ライン上で左側にエッジが
ある場合は、そのエッジからの距離から1を引いた数で
表される。例えば、図2のライン21では、“OPEN
<2,5>”(コードデータ“11111000100
101”)としてコード化される。一方、現ライン上で
左側にエッジがない場合は、エッジ位置0を基準として
表される。例えば図2のライン20では“OPEN<
5,10>”(コードデータ“11111001011
010”)とコード化される。このように場合分けして
コード化することにより、少ないデータ量に圧縮でき
る。 (j)CLOSE この枠コードCLOSE(コードデータ“11111
1”)は、1つ前のラインで枠が閉じた(現ラインで1
対のエッジがなくなった)ことを示している。これは図
2の例では、ライン26で白ドット枠203が終了した
時点、又ライン31で黒ドット枠の最終ラインでコード
化される。但し、図2の文字パターンのように、パター
ンを切り出した最終ラインに黒ドットが存在している時
は、この“CLOSE”は省略しても良い。
【0026】従って、図2の文字“P”のパターンをコ
ード化した例を以下に示す。 ライン20: LINEDIF<+2>,OPEN<
5,10> ライン21: LINEDIF<+2>,ADV0,O
PEN<2,5>,ADV1 ライン22: LINEEQ,ADV0,ADV0,A
DV1,ADV0 ライン23: LINEEQ,ADV0,ADV0,A
DV0,ADV0 ライン24: LINEEQ,ADV0,ADV0,A
DV0,ADV0 ライン25: LINEEQ,ADV0,ADV0,S
W1,ADV0 ライン26: LINEDIF<−2>,ADV0,C
LOSE,SW1 ライン27: LINEEQ,ADV0,ADVLON
G<7> ライン28: LINEEQ,ADV0,ADV0 ライン29: LINEEQ,ADV0,ADV0 ライン30: LINEEQ,ADV0,ADV0 ライン31: LINEEQ,ADV1,SWLONG
<2> こうして符号化されたコードは、実際には図4及び図5
に示すコードデータで表されて、パターンデータを走査
した順序(走査線の左より右方向)で圧縮されたコード
として全ライン数と共にコードメモリ107に記憶され
る。尚、これら各コードにおいて、前述したi,j,
k,m,n等の変数はハフマン符号で表している。上述
のライン20〜31をコード化した例を以下に示す。 ライン20: 100101111100101101
0 ライン21: 100100111110001001
010 ライン22: 000100 ライン23: 00000 ライン24: 00000 ライン25: 00011100 ライン26: 001101111111110 ライン27: 001111000100 ライン28: 000 ライン29: 000 ライン30: 000 ライン31: 0101111010000 ここで、実施例の符号化装置の具体的構成を図6に示
す。
【0027】図中、501はキーボード101からの指
示情報を入力する入力インターフェイスで、502は例
えばマイクロプロセッサ等のCPUで、後述するROM
503に記憶された制御プログラム(図7及び図8のフ
ローチャートで示す)や各種データに従って前述した符
号化部106全体及び文字パターン発生器103からの
文字パターン及び全ライン数の読出し、表示部108へ
の表示、更にはコードメモリ107へのコードデータ及
び全ライン数の書込み等を制御している。503はCP
U502及び図7と図8のフローチャートで示されたC
PU502の制御プログラムや各種データ等を記憶して
いるROM、504はCPU502のワークエリアとし
て使用され、各種データを一時的に保存するためのRA
Mである。具体的には、このRAM504には、全ライ
ン数、後述する前ラインデータ、現ラインデータ、現ラ
インと前ラインのエッジ数、各エッジの移動方向等を記
憶する。図12に示すようなテーブルデータとして用い
られる他、読出し回路104により読出された文字パタ
ーンデータ及びその文字パターンの全ライン数を記憶す
るためのメモリ105として用いられる。尚、このデー
タは符号化処理の際に一時的に作成されるものである。
505は符号化処理されたコードデータ及び全ライン数
をコードメモリ107に出力するための出力インターフ
ェイスである。これら各構成要素はシステムバス506
に接続されている。尚、この符号化処理は、本実施例で
はプログラムによって行われているが、これに限定され
るものでなく、専用のハードウェアからなる符号化回路
によって実現されてもよいことはもちろんである。
【0028】次に、図7及び図8のフローチャートを参
照して、本実施例の符号化部106のCPU502によ
る符号化処理を説明する。この処理は、キーボード10
1の指示に基づいて読出し回路104が文字パターン発
生器103より所望の文字コードに対応した文字パター
ン及び全ライン数を読出し、メモリ105に展開して記
憶した状態で開始される。
【0029】ステップS1では、図2の201で示す文
字パターンのように、パターンデータの圧縮したい領域
を読出す。次にステップS2に進み、前ラインデータを
記憶するRAM504上のテーブルを“0”にクリアす
る。次にステップS3に進み、符号化すべき1ラインデ
ータ(最初は1ライン目のドットデータ)をメモリ10
5より取り出し、RAM504のワークエリアに格納す
る。ステップS4では現ラインのドットデータを調べ、
その現ラインに黒ドットが存在するかどうかをみる。黒
ドットが存在しない時はステップS5に進み、前ライン
に黒ドットが存在したかを調べ、前ラインにも黒ドット
が存在しない時は前のラインと同じであるためステップ
S6で“LINEEQ”とコード化し、ステップS25
に進んで現ラインデータを前ラインデータの記録領域に
転送して記憶する。
【0030】一方、ステップS5で前ラインに黒ドット
が存在する時はステップS7に進み、減少したエッジ数
を求めて、“LINEDIF<−i>”コードを作成す
る。次にステップS8に進み、前ラインの黒ドット位置
に応じて“CLOSE”コードを作成する。
【0031】一方、ステップS4で現ラインに黒ドット
が存在する時はステップS9に進み、このドットパター
ンにおけるドットの変化位置、即ちエッジ位置及びエッ
ジ数をRAM504のテーブルに記憶する。次にステッ
プS10に進み、前ラインのエッジ数と現ラインのエッ
ジ数とが等しいかどうかをみる。エッジ数が等しい時は
ステップS11に進み、“LINEEQ”コードを発生
してステップS13に進む。
【0032】一方、ステップS10で前ラインのエッジ
数と現ラインのエッジ数とが等しくない時はステップS
12に進み、“LINEDIF<±i>”コードを発生
してステップS13に進む。このステップS13では、
現ラインのドットデータを左より順次走査する際、初め
のエッジが見つかるまで読み進め、そのエッジを含むド
ットが白ドットか黒ドットかをみる。注目しているドッ
トが黒ドットであればステップS14に進み、前ライン
に現ラインの黒ドットと連続する黒ドットがあるかどう
かをみる。
【0033】一方、注目しているドットが白ドットであ
ればステップS20に進み、前ラインに現ラインの白ド
ットと連続する白ドットがあるかどうかをみる。ステッ
プS14で前ラインに現ラインの黒ドットと連続する黒
ドットがない時、或はステップS20で前ラインに現ラ
インの白ドットと連続する白ドットがない時はステップ
S15へ進み、現ラインの該当する黒ドット或は、白ド
ットのための“OPEN”コードを発生する。そして、
ステップS19で現ライン上で次のエッジまで読み進
め、ステップS24で現ラインの走査が全て終了したか
どうかをみる。終了していない時は、ステップS13か
らの処理を繰り返す。
【0034】一方、現ラインの走査が全て終了している
時はステップS25に進む。ステップS25では、現ラ
インデータを前ラインデータとし、ステップS26でス
テップS1で読出したパターンデータ全体に対する処理
が終了したかを、全ライン数を参照して調べる。終了し
ていない時はステップS27に進み、次のラインデータ
を読出し、これを現ラインとしてステップS3に進み、
ステップS3からの処理を繰返す。
【0035】前述したステップS14で、前ラインに現
ラインの黒ドットと連続する黒ドットがある時は、ステ
ップS16で“ADV”又は“SW”コードを作成し、
ステップS17へ進む。ステップS17で前ラインに現
ラインに連続しない白ドットがあるかどうかを調べ、前
ラインに現ラインに連続しない白ドットがある時はステ
ップS18へ進んで、その白ドットに対する“CLOS
E”コードを作成し、ステップS17へ戻る。
【0036】一方、ステップS17で前ラインに現ライ
ンに連続しない白ドットがない時ステップS19へ進
み、上述したようにステップS19からの処理を実行す
る。
【0037】また、前述したステップS20で前ライン
に現ラインの白ドットと連続する白ドットがある時はス
テップS21で“ADV”又は“SW”コードを作成
し、ステップS22へ進む。ステップS22で前ライン
に現ラインに連続しない黒ドットがある時はステップS
23へ進んで、その黒ドットに対する“CLOSE”コ
ードを作成し、ステップS22へ戻る。
【0038】一方、ステップS22で前ラインに現ライ
ンに連続しない黒ドットがない時ステップS19へ進
み、上述したようにステップS19からの処理を実行す
る。
【0039】ここで、現ラインのドットが前ラインのド
ットに連続しているかどうかの判定条件を図7及び図8
のフローチャートと図9及び図10のドットパターンを
参照して説明する。
【0040】図9において、各黒ドットの大きさを1ド
ットとすると、ドットパターン801において、黒ドッ
ト802a〜802cは連続したものとして、黒ドット
803は独立したドットとして処理される。即ち、ステ
ップS14で前ラインに現ラインの黒ドットと連続する
黒ドットが存在するかをみる。そのような黒ドットが1
つ前のラインに存在していなければステップS15に進
み、黒ドット802aの最上部が“OPEN”としてコ
ード化される。従って、1ライン目は“LINEDIF
<+2>,OPEN<2,1>”とコード化される。そ
して、2ライン目の黒ドット802b部分は、前ライン
の黒ドット802aに連続する黒ドットとしてみなさ
れ、ステップS16で“ADV1”,ステップS21で
“SW1”とコード化され、黒ドット803はステップ
S15で“OPEN<0,1>”とコード化される。従
って、この2ライン目は“LINEDIF<+2>,A
DV1,SW1,OPEN<0,1>”とコード化され
る。同様にして、黒ドット802cは黒ドット802b
に連続する黒ドットとみなされ、ステップS16で“S
W1”とコード化され、次にステップS21で“SW
1”とコード化され、ステップS23で2ライン目の黒
ドット803が“CLOSE”とコード化される。こう
して、図8のパターンの3ライン目は“LINEDIF
<−2>,SW1,SW1,CLOSE”とコード化さ
れる。そして、ステップS8で3ライン目の黒ドット8
02cに応じて“CLOSE”となり、4ライン目は
“LINEDIF<−2>,CLOSE”とコード化さ
れる。
【0041】以上のように、符号化した結果を以下に示
す。
【0042】ライン1:LINEDIF<+2>,OP
EN<2,1> ライン2:LINEDIF<+2>,ADV1,SW
1,OPEN<0,1> ライン3:LINEDIF<−2>,SW1,SW1,
CLOSE ライン4:LINEDIF<−2>,CLOSE 以上のように符号化されたコードは、実際には以下のよ
うに、図4及び図5に示すコードデータで表され、コー
ドメモリ107に全ライン数(ライン数4)と共に記憶
される。
【0043】ライン1:10010111110001
00001 ライン2:10010101110111110000
00001 ライン3:1001111101110111111 ライン4:10011111111 同様にして、図10に示すドットパターンの場合も、黒
ドット902aと902bとが連続したものとして処理
される。即ち、ステップS14で前ラインに現ラインの
黒ドットと連続する黒ドットが存在するかをみる。その
ような黒ドットが1つ前のラインに存在していなければ
ステップS15に進み、黒ドット902aの最上部が
“OPEN”としてコード化される。従って、1ライン
目は“LINEDIF<+2>,OPEN<1,2>”
とコード化される。そして、2ライン目の黒ドット90
2a部分は、前ラインの黒ドット902aに連続する黒
ドットとしてみなされ、ステップS16で“ADV
0”,ステップS21で“SW1”とコード化され、黒
ドット902b部分はステップS15で“OPEN<
0,1>”とコード化される。従って、この2ライン目
は、“LINEDIF<+2>,ADV0,SW1,O
PEN<0,1>とコード化される。次のラインでは、
黒ドット902bは黒ドット902aに連続した黒ドッ
トとみなされ、ステップS16で“SW1”とコード化
され、ステップS18で2ライン目の白ドット903が
“CLOSE”とコード化される。
【0044】最後にステップS21で“ADV0”とコ
ード化される。こうして、図10のパターンの3ライン
目は“LINEDIF<−2>,SW1,CLOSE,
ADV0”とコード化される。そして、ステップS8で
3ライン目の黒ドット902bに応じて“CLOSE”
とコード化し、4ライン目は“LINEDIF<−2
>,CLOSE”とコード化される。
【0045】以上のように符号化されたコードは、上述
したように、実際には図4及び図5に示すコードデータ
で表され、圧縮されたコードとしてコードメモリ107
に記憶される。
【0046】上述した図7及び図8のフローチャートに
示された処理手順を基に、図11に示すドットパターン
の符号化を説明する。
【0047】図11において、ライン1には黒ドットが
存在しないため、ステップS4からステップS5,S6
へ進み、ライン1では“LINEEQ”コード(コード
データ“0”)だけが作成される。次に、ライン2では
黒ドットが存在するためステップS4からステップS9
に進み、ドットの変化位置であるエッジ位置(6),
(9)と、エッジ数“2”がRAM504内のテーブル
(図12)に記憶される。ここで、前ラインのエッジ数
(0)に比べてエッジ数が+2されているため、ステッ
プS12で“LINEDIF<+2>”(コードデータ
“10010”)が作成され、更に、ステップS14で
現ラインの黒ドットと前ラインの黒ドットが連続してい
ないため、ステップS15で“OPEN<6,3(=9
−6)>”(コードデータ“111110011000
11”)が作成される。なお、現ラインのドットデータ
を左より順次走査する際、初めのエッジが見つかるまで
読み進め、そのエッジの次のドットが白ドットか黒ドッ
トかによってステップS13以下の処理手順が異なる。
【0048】次に、ライン3では、エッジ数が前ライン
のそれと同じであるため、ステップS11で“LINE
EQ”コードが作成され、ステップS14で現ラインの
黒ドットと前ラインの黒ドットが連続しているため、ス
テップS16でそのエッジ位置が調べられる。ここで
は、エッジの位置はライン2のエッジ位置と一致してい
るため、左側のエッジに対して“ADV0”(コードデ
ータ“0”)が作成され、ステップS21で右側のエッ
ジに対して“ADV0”が作成される。
【0049】次に、ライン4ではエッジ数が前のライン
と同じであるため、ステップS11で“LINEEQ”
コードが作成され、ステップS16で左側のエッジに対
して“ADV0”が作成され、また右側のエッジ位置が
右方向に1つずれているため、ステップS21で右側の
エッジに対して“ADV1”が作成される。
【0050】次にライン5では、エッジ数が+2されて
いるため、まずステップS12で“LINEDIF<+
2>”が作成され、連続する黒ドットにおいて、ステッ
プS16で左側のエッジに対して“ADV1”(コード
データ“10”)が、ステップS21で右側のエッジに
対して“SW1”(コードデータ“1110”)が作成
される。
【0051】又、その後に図11の1001で示される
黒ドットがエッジ位置(12)で示される位置にあるた
め、ステップS14からステップS15に進み、この黒
ドットに対して“OPEN<2(=12−9−1),1
>”(コードデータ“1111100010000
1”)が作成される。
【0052】次に、ライン6では、エッジ数はライン5
のエッジ数に比べて+2されているため、ステップS1
2で“LINEDIF<+2>”となり、左側の連続す
る黒ドットの左側のエッジは順方向に2ドット移動して
いるため、ステップS16で“ADV2”と符号化され
る。次に、ステップS20で現ライン(ライン6)上で
注目している白ドットと連続する白ドットが、前ライン
(ライン5)に存在しないため、ステップS20よりス
テップS15に進み、この白ドットのための“OPEN
<2,2>”を作成する。
【0053】次に、ステップS21で“ADV0”を作
成し、最後に右側の連続しない黒ドットの左側のエッジ
に対して“ADV0”をステップS16で作成し、また
右側のエッジに対して“ADV0”をステップS21で
作成する。
【0054】次に、ライン7では、同様にしてステップ
S11で“LINEEQ”,ステップS16で“SW
2”,ステップS21で“ADV0”,ステップS16
で“ADV0”,ステップS21でADV0”,ステッ
プS16で“ADV0”,ステップS21で“ADV
0”を作成する。
【0055】次に、ライン8では同様にして、ステップ
S11で“LINEEQ”,ステップS16で“SW
1”,ステップS21でADV0”,ステップS16で
“ADV0”,ステップS21で“SW1”,ステップ
S16で“ADV0”,ステップS21でADV0”を
作成する。
【0056】次に、ライン9ではエッジ数はライン8に
比べて−4されるのでステップS12で“LINEDI
F<−4>”が作成され、連続する黒ドットにおいて、
ステップS16で左側のエッジに対して“ADV0”コ
ードが作成される。次に、前ライン(ライン8)に、現
ライン(ライン9)に連続しない白ドット(図11に示
す白ドット1002)があるので、ステップS18で
“CLOSE”コード(コードデータ“11111
1”)が作成される。更に、前ラインに、現ラインに連
続しない白ドット(図11に示す白ドット1003)が
あるので、ステップS18でこの部分に対する“CLO
SE”コード(コードデータ“111111”)が作成
され、最後にステップS21で“ADV0”コードが作
成される。
【0057】次に、ライン10ではステップS7で“L
INEDIF<−2>”コードを作成し、ステップS8
で“CLOSE”コードを作成して処理を終了する。
【0058】以上のように符号化した結果を以下に示
す。
【0059】ライン1:LINEEQ ライン2:LINEDIF<+2>,OPEN<6,3
> ライン3:LINEEQ,ADV0,ADV0 ライン4:LINEEQ,ADV0,ADV1 ライン5:LINEDIF<+2>,ADV1,SW
1,OPEN<2,1> ライン6:LINEDIF<+2>,ADV2,OPE
N<2,2>,ADV0,ADV0,ADV0 ライン7:LINEEQ,SW2,ADV0,ADV
0,ADV0,ADV0,ADV0 ライン8:LINEEQ,SW1,ADV0,ADV
0,SW1,ADV0,ADV0 ライン9:LINEDIF<−4>,ADV0,CLO
SE,CLOSE,ADV0 ライン10:LINEDIF<−2>,CLOSE こうして符号化されたコードは、実際には図4及び図5
に示すコードデータで表され、パターンデータを走査し
た順序(走査線の左より右方向)で圧縮されたコードと
して全ライン数とともにコードメモリ107に記憶され
る。
【0060】[復号化装置の説明]次に、このように符
号化されたコードデータを復号化処理する本実施例を説
明する。尚、本実施例は復号化処理を行う画像形成装置
としてレーザビームプリンタを例にして説明する。
【0061】図13は本実施例の復号化処理を行うレー
ザビームプリンタの概略構成を示し、上述したプリンタ
制御ユニット1の処理の流れを説明する図である。
【0062】同図において、1201は印刷データ発生
源であるホストコンピュータ等の外部装置で、文字コー
ド、位置情報等からなる文字情報等を出力している。1
202は入力部で、外部装置1201との通信制御を行
うと共に、その入力した文字情報等を入力バッファ12
03に格納する。この入力バッファ1203は、少なく
とも1ページ分の文字情報を記憶できる容量を備えてい
る。107は前述したように、符号化されたコードデー
タ及び所望の文字パターンの全ライン数を記憶している
コードメモリである。このコードメモリ107は、レー
ザビームプリンタ1500等の画像形成装置に内蔵され
ているものに限らず、画像形成装置に着脱可能な外部記
憶媒体であっても良いし、コードデータを出力するホス
トコンピュータ等の外部機器であっても良い。1204
はパターン展開したイメージやオペレータへのメッセー
ジ等を表示する表示部である。1205は入力バッファ
1203から1文字分の文字コード及びその位置情報等
を入力し、その文字コードに対応するコードデータ及び
全ライン数をコードメモリ107から読み出し、復号化
処理を行う復号化部である。そして、復号化部1205
は、復号化された文字パターンデータをその位置情報等
に基づいて、後述するページメモリ1206に格納す
る。このページメモリ1206は、少なくとも1ページ
分のパターンデータを格納する。1207はページメモ
リ1206に従って、出力機構1208に対しレーザビ
ームのON/OFF制御を行うことで、用紙等の記録媒
体1209に印刷結果を記録させる出力部である。
【0063】ここで、実施例の復号化処理におけるプリ
ンタ制御ユニット1の具体的構成を図14に示す。図
中、1が実施例のプリンタ制御ユニットであり、120
1が文字コード,位置情報等を出力する外部装置であ
る。1301は外部装置1201から文字コード、位置
情報等を入力する入力インターフェイスで、1302は
復号化処理を含めたプリンタ制御ユニット1全体に制御
を司るCPUである。
【0064】1303はCPU1302及び図16のフ
ローチャートで示されたCPU1302の制御プログラ
ムや各種データ等を記憶しているROM、1304はC
PU1302のワークエリアとして使用され、各種デー
タを一時的に記憶するRAMである。具体的には、この
RAM1304は外部装置1201から受信した文字コ
ード等を格納するための入力バッファ1203として用
いられる他、復号化部1205で復号化された文字パタ
ーンデータを少なくとも1ページ分格納するページメモ
リ1206として用いられる他、全ライン数、前ライン
データ、現ラインデータ、現ラインと前ラインのエッジ
数、各エッジの移動方向等を記憶するテーブルとして用
いられる。尚、このテーブルは復号化処理の際に一時的
に作成されるものである。1305は出力イメージを、
実際に印刷を行う出力機構1208にビデオ信号として
出力するための出力インターフェイスである。107は
上述したコードメモリであり、1204は出力イメージ
やオペレータへのメッセージ等を表示する表示部であ
る。そして、これら各構成要素は、システムバス130
6に接続されている。
【0065】尚、この実施例では、復号化処理はCPU
1302の制御プログラムにより実行されているが、専
用の復号化回路を設けハードウェアにより処理しても良
いことはもちろんである。
【0066】次に、図15及び図16のフローチャート
を参照して、図11のパターンを符号化したコードデー
タを復号する処理を説明する。この処理は、復号化部1
205が入力バッファ1203から読み出した文字コー
ドに対応した全コードデータ及び全ライン数をコードメ
モリ107からRAM1304上のワークエリアに読み
出した状態で開始される。
【0067】まず、ステップS31でRAM1304上
のワークエリアにあるテーブルの前ラインテーブルをク
リアし、ステップS32でライン1の行の先頭データで
ある行コード(LINEDIF<±1>又はLINEE
Q)を読出し、エッジの増減をRAM1304上にある
テーブルに図12のライン1のように記憶する。図11
のパターンの場合には、まず最初にライン1の“LIN
EEQ”が読出され、現ラインの全エッジ処理が終了な
のでステップS33からステップS34へ進む。全ての
復号化処理が終了していないので、ステップS34から
ステップS32へ戻り、次のライン(ライン2)の復号
化処理へ入る。ライン2ではライン1と同様にステップ
S32で行コード“LINEDIF<+2>”を読出
し、エッジ数が2つ増加したことをテーブルに記憶し、
ステップS36で次のコードである枠コード“OPEN
<6,3>”を読出す。この時はステップS36からス
テップS38に進み、この“OPEN”コードが黒ドッ
トの開始コードか、白ドットの開始コードかを判断す
る。
【0068】この場合は、今まで処理したエッジ数が偶
数であるため、このOPENコードを黒ドットの開始コ
ードと判定してステップS39に進み、テーブルにエッ
ジ位置を図12のライン2のように記憶する。尚、いま
まで処理したエッジ数が奇数である場合には、このOP
ENコードは白ドットの開始コードと判定される。
【0069】次に、ライン3ではステップS32で行コ
ード“LINEEQ”を読み出し、エッジ数が前ライン
と同じであることをテーブルに記憶し、ステップS36
で次のコードである枠コード“ADV0”を読み出し、
エッジの位置が変化していないため、ステップS42で
更新されるテーブルの内容は、ライン2のテーブルと同
じになる。同様に、次の枠コードも“ADV0”である
ため、ステップS42で更新されるテーブルの内容はラ
イン2のテーブルと同じになる。
【0070】次に、ライン4ではステップS32で行コ
ード“LINEEQ”を読み出し、エッジ数が前ライン
と同じであることをテーブルに記憶し、次のコードであ
る枠コード“ADV0”を読み出し、ステップS42で
テーブルに図12のライン4のように記憶する。再びス
テップS36で次の枠コード“ADV1”を読み出す。
これは左側のエッジ位置が同じで右側のエッジ位置が右
方向に1つ移動したことを示すので、ステップS42で
テーブルに図12のライン4のように記憶する。
【0071】次に、ライン5ではステップS32で行コ
ード“LINEDIF<+2>”を読み出し、エッジ数
が2つ増加したことをテーブルに記憶し、次のコードで
ある枠コード“ADV1”を読み出し、ステップS42
で左側のエッジ位置が1つ左にずれ、次の枠コード“S
W1”によりステップS44で右側のエッジ位置が左に
1つずれたことが分かる。これで、図12のライン5の
テーブルに示すように、2番目のエッジの変化点の位置
は再び(9)となる。更に、次のコード“OPEN<
2,1>”により、ステップS38で今までに処理した
エッジ数が偶数であるため、このOPENコードを黒ド
ットの開始コードと判定してステップS39に進み、前
の黒ドットよりも更に3ドット右側に別の黒ドットが1
ドット分の幅で存在することにより、テーブルに図12
のライン5のように新たなエッジの変化点(12,1
3)を記憶する。
【0072】次に、ライン6のコード“LINEDIF
<+2>,ADV2,OPEN<2,2>,ADV0,
ADV0,ADV0”をそれぞれ読み出すと、行コード
“LINEDIF<+2>”よりエッジ数は+2されて
(6)になり、枠コード“ADV2により最初のエッジ
の変化位置が(3)となる。次に、枠コード“OPEN
<2,2>”により、前のエッジの変化位置(3)より
も3大きい位置に黒から白に変化するエッジを含む白ド
ットが2ドットの幅で始まることが分かる。この時は、
ステップS38からステップS40に進み、図11に示
す白ドット1002の開始点(6)と次に白から黒に変
化するエッジ位置(8)がセットされる。
【0073】そして、それ以下のコード“ADV0”に
より、ライン6の右側の3つのエッジ位置が移動してい
ないことが分かる。こうして求められたライン6のエッ
ジ位置は図12のライン6のテーブルのように記憶され
る。
【0074】次に、ライン7のコード“LINEEQ,
SW2,ADV0,ADV0,ADV0,ADV0,A
DV0”をそれぞれ読み出すと、行コード“LINEE
Q”よりエッジ数は前ラインと同じで、枠コード“SW
2”により左端のエッジ変化点は右に2つ移動し、図1
1に示す白ドット1002の両端を含めて、後続の黒ド
ットのエッジ位置も移動していないことにより、図12
のライン7のテーブルのように記憶される。
【0075】次に、ライン8のコード“LINEEQ,
SW1,ADV0,ADV0,SW1,ADV0,AD
V0”をそれぞれ読み出すと、行コード“LINNE
Q”よりエッジ数は前ラインと同じで、枠コード“SW
1”により左端のエッジ変化点が左方向に1つ移動して
(4)となり、次のコード“SW1”でエッジ変化点が
(9)から(10)に変更される。そして、すべてのコ
ードが図12のライン8のテーブルのように記憶され
る。
【0076】次に、ライン9のコード“LINEDIF
<−4>,ADV0,CLOSE,CLOSE,ADV
0”をそれぞれ読み出すと、行コード“LINEDIF
<−4>”よりエッジ数が4減少して(2)となり、枠
コード“ADV0”により左端のエッジ位置は変わら
ず、次の枠コード“CLOSE”により白ドットが終了
したことが分かる。この“CLOSE”コードを検出す
るとステップS45からステップS46に進み、その
“CLOSE”コードに対応する前ラインのエッジ位置
を次のラインのテーブルに移動しない。即ち、図12で
は、ライン8の変化点(6),(8)がこの白ドット1
002のエッジ位置に対応しているため、これらの点は
ライン9のテーブルには移さない。そして、次の“CL
OSE”コードが読出されると、同様にしてこの“CL
OSE”コードに対応するエッジの位置の座標は、次ラ
インのテーブルには記憶されない。この場合は、2番目
の“CLOSE”コードに対応するエッジ位置は図12
のライン8における(10),(12)に相当してい
る。そして、最後の“ADV0”コードにより、最後の
エッジ位置の座標(13)をライン9のテーブルに記憶
する。
【0077】そして、最後にライン10のコード“LI
NEDIF<−2>,CLOSE”をそれぞれ読み出す
と、行コード“LINEDIF<−2>”よりエッジ数
が2減少し(0)となり、枠コード“CLOSE”によ
り、この“CLOSE”に対応するエッジ位置はライン
10のテーブルには記憶されない。
【0078】ここで、図12に示すテーブルのライン数
が全ライン数10に達したことにより、全ラインの復号
化処理が終了し、ステップS34からステップS35へ
進み、図12に示すようなテーブルに記憶された情報に
従って、RAM1304上のワークエリアにドットパタ
ーンを生成する。例えば、図11のように、ライン1は
全て白ドットに、ライン2及び3は6ドット目から8ド
ット目までは黒ドットに、ライン4は6ドット目から9
ドット目までは黒ドットに、ライン5では5ドット目か
ら8ドット目までは黒ドットに、9ドット目から11ド
ットまでは白に、12ドット目は黒に、13ドット目は
白にパターン展開される。又ライン6では、3ドット目
から5ドット目までは黒に、6ドット目から7ドット目
までは白に、8ドット目は黒に、9ドット目から11ド
ット目までは白に、12ドット目は黒に、13ドット目
以降は白にパターン展開される。以下、詳しく述べない
が、同様にして各ラインが図11に示すようにパターン
展開される。
【0079】こうして、RAM1304のワークエリア
に展開されたパターンデータは、その位置情報に基づい
て少なくとも1ページ分のパターンデータを格納するペ
ージメモリ1206に順次格納され、1ページ分格納さ
れるごとに、出力部1207を介して出力機構1208
にビデオ信号として出力されて記録媒体1209上に印
刷したり、或いは表示部1204に表示する。
【0080】以上説明したように本実施例によれば、文
字パターン等を高圧縮できる符号化法を提供できる効果
がある。
【0081】また、この圧縮方法はビットマップの大き
さに影響を受けにくい圧縮方法であるため、大きな文字
や高精細のドットデータに対して特に有効である。
【0082】又、ドットパターンが縦、横それぞれ2倍
(ビットマップで4倍)に拡大されても、圧縮された形
式ではデータ量は約2倍にしかならないため、少ないメ
モリ容量で大量のパターンデータを記憶できる。
【0083】又、この符号化により符号化されたコード
の特徴としては、伸長に要する時間が少なくて済むた
め、パターン展開に要する時間を短縮できる効果があ
る。
【0084】尚、本発明は複数の機器から構成されるシ
ステムに適用しても、1つの機器からなる装置に適用し
ても良い。また、本発明はシステム或は装置に、本発明
を実施するプログラムを供給することによって達成され
る場合にも適用できることは言うまでもない。
【0085】なお、本実施例は、ドットパターンが文字
パターンである場合で説明したが、本発明はこれに限定
されるものでなく、例えば画像パターンや図形パターン
等にも適用できる。更には、画像読取り装置で読み取っ
た画像パターン等にも適用できる。
【0086】尚、本実施例の復号化処理を行う画像形成
装置としてレーザビームプリンタを例にして説明した
が、以下の説明から明らかなように、プリンタ方式とし
てはインクジェット、熱転写、或いはワイヤドットイン
パクト方式等にも本発明である復号化処理が適応可能で
ある。従って、かかる方式で本願発明が限定されるもの
ではない。 <装置本体の概略説明>図18は本発明である復号化処
理が適用できるインクジェット記録装置の概観図であ
る。
【0087】図18において、駆動モータ5013の正
逆回転に連動して駆動力伝達ギア5011,5009を
介して回転するリードスクリュー5005の螺旋溝50
04に対して係合するキャリッジHCはピン(不図示)
を有し、矢印a,b方向に往復移動される。このキャリ
ッジHCには、インクジェットカートリッジIJCが搭
載されている。5002は紙押え板であり、キャリッジ
の移動方向に亙って紙をプラテン5000に対して押圧
する。5007,5008はフォトカプラで、キャリッ
ジのレバー5006のこの域での存在を確認して、モー
タ5013の回転方向切り換え等を行うためのホームポ
ジション検知手段である。5016は記録ヘッドの前面
をキャップするキャップ部材5022を支持する部材
で、5015はこのキャップ内を吸引する吸引手段で、
キャップ内開口5023を介して記録ヘッドの吸引回復
を行う。5017はクリーニングブレードで、5019
はこのブレードを前後方向に移動可能にする部材であ
り、本体支持板5018にこれらが支持されている。ブ
レードは、この形態でなく周知のクリーニングブレード
が本例に適用できることは言うまでもない。又、501
2は、吸引回復の吸引を開始するためのレバーで、キャ
リッジと係合するカム5020の移動に伴って移動し、
駆動モータからの駆動力がクラッチ切り換え等の公知の
伝達手段で移動制御される。
【0088】これらキャッピング、クリーニング、吸引
回復は、キャリッジがホームポジション側の領域に来た
時にリードスクリュー5005の作用によってそれらの
対応位置で所望の処理が行えるように構成されている
が、周知のタイミングで所望の作動を行うようにすれ
ば、本例にはいずれも適用できる。 <制御構成の説明>次に、上述した装置構成の記録制御
を実行するための制御構成について、図19に示すブロ
ック図を参照して説明する。制御回路を示す同図におい
て、1700は記録信号を入力するインターフェース、
1701はMPU、1702はMPU1701が実行す
る制御プログラムを格納するプログラムROM、170
3は各種データ(上記記録信号やヘッドに供給される記
録データ等)を保存しておくダイナミック型のROMで
ある。1704は記録ヘッド1708に対する記録デー
タの供給制御を行うゲートアレイであり、インターフェ
ース1700、MPU1701、RAM1703間のデ
ータ転送制御も行う。1710は記録ヘッド1708を
搬送するためのキャリアモータ、1709は記録紙搬送
のための搬送モータである。1705はヘッドを駆動す
るヘッドドライバ、1706、1707はそれぞれ搬送
モータ1709、キャリアモータ1710を駆動するた
めのモータドライバである。
【0089】上記制御構成の動作を説明すると、インタ
ーフェース1700に記録信号が入るとゲートアレイ1
704とMPU1701との間で記録信号がプリント用
の記録データに変換される。そして、モータドライバ1
706、1707が駆動されると共に、ヘッドドライバ
1705に送られた記録データに従って記録ヘッドが駆
動され、印字が行われる。
【0090】以上のように、インクジェットプリンタの
制御構成に、少なくともROM1702に本発明である
復号化処理を行う制御プログラム追加することによっ
て、本発明の復号化処理が可能である。従って、本発明
の復号化処理を行う印刷装置としては、レーザビームプ
リンタに限らず、上記インクジェットプリンタ等にも適
用できることは明らかである。
【0091】
【発明の効果】以上説明したように本発明によれば、文
字や記号等のドットパターンに適した符号化を行って、
高い圧縮率が得られる。
【0092】又、伸長に要する時間を短くできる符号化
を実現できる効果がある。
【0093】更に又、符号化されたデータを高速に復号
できる効果がある。
【図面の簡単な説明】
【図1】本実施例の符号化装置の概略構成を示すブロッ
ク図である。
【図2】本実施例の符号化装置における符号化の原理を
説明するための図である。
【図3】本実施例の符号化装置における符号化の原理を
説明するための図である。
【図4】本実施例の符号化における符号化コード名とそ
の意味を説明するための図である。
【図5】本実施例の符号化における符号化コード名とそ
の意味を説明するための図である。
【図6】本実施例の符号化装置の具体的な構成を示すブ
ロック図である。
【図7】本実施例の符号化装置における符号化処理を示
すフローチャートである。
【図8】本実施例の符号化装置における符号化処理を示
すフローチャートである。
【図9】本実施例の符号化におけるドット枠の連続を説
明するための図である。
【図10】本実施例の符号化におけるドット枠の連続を
説明するための図である。
【図11】本実施例の符号化法により符号化されるドッ
トパターン例を示す図である。
【図12】本実施例の符号装置における符号化処理及び
復号化装置における復号化処理で一時的に生成されるラ
インテーブルの構成例を示す図である。
【図13】本実施例の復号化処理を行う印刷装置の概略
構成を示すブロック図である。
【図14】本実施例の復号化処理を行う印刷装置の概略
構成を示すブロック図である。
【図15】本実施例の復号化処理を示すフローチャート
である。
【図16】本実施例の復号化処理を示すフローチャート
である。
【図17】本実施例の復号化処理を行うレーザビームプ
リンタの内部構造を示す断面図である。
【図18】本実施例の復号化処理を行うインクジェット
プリンタの内部構造を示す断面図である。
【図19】図18のインクジェットプリンタの制御回路
の構成図である。
【符号の説明】
1 プリンタ制御ユニット 101 キーボード 102,1201 外部装置 103 文字パターン発生器 104 読出し回路 105 メモリ 106 符号化部 107 コードメモリ 108,1204 表示部 1202 入力部 1203 入力バッファ 1205 復号化部 1206 ページメモリ 1207 出力部 1208 出力機構 1209 記録媒体

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ビットマップ展開されたドットパターン
    を符号化する符号化方法であって、 ドットパターンを所定方向に走査して各走査線上におけ
    るドットの変化点の数と1つ前の走査線上における変化
    点の数との差を行コードとし、1つ前の走査線の前記変
    化点の位置に対する相対位置、及び前記走査線と略直交
    する方向のドット集合の開始及び終了位置を枠コードと
    してコード化することにより、各走査線順に符号化する
    ことを特徴とする符号化方法。
  2. 【請求項2】 ビットマップ展開されたドットパターン
    を符号化する符号化装置であって、 所定のドットパターン領域を読出し、所定方向に走査し
    て各走査線毎にドットの変化点位置及び変化点の数を求
    める変化点検出手段と、 前記走査線方向と略直交する方向における非連続なドッ
    トパターンの出現を検出してドット集合の開始及び終了
    を判別する判別手段と、 前記判別手段により判別されたドット集合の開始及び終
    了位置、及び前記変化点検出手段により検出された変化
    点位置及び変化点の数を1つ前の走査線に対する相対値
    で符号化する符号化手段と、 を有することを特徴とする符号化装置。
  3. 【請求項3】 請求項1に記載の符号化方法によって符
    号化されたコードを復号する復号化方法であって、 行コードにより行の先頭及び各行の変化点数を求め、各
    行毎に枠コードにより前記変化点の座標位置を求めてド
    ットパターンに展開することを特徴とする復号化方法。
  4. 【請求項4】 請求項1に記載の符号化方法によって符
    号化されたコードを復号する復号化装置であって、 行コードによりドットパターンの各行の先頭及び各行に
    おけるドットの変化点の数を求める計数手段と、 各行毎の枠コードによりドットの変化点の位置を算出す
    る算出手段と、 前記算出手段により算出されたドット変化点の位置、及
    び前記計数手段により求められた前記変化点の数に基づ
    いてドットパターンを作成するパターン作成手段と、 を有することを特徴とする復号化装置。
  5. 【請求項5】 請求項1に記載の符号化方法によって符
    号化されたコードを復号して画像を形成する画像形成装
    置であって、 文字コードに対応付けて前記コードを記憶する記憶手段
    と、 文字コードを入力すると前記記憶手段より前記文字コー
    ドに対応するコードを読出し、行コードによりドットパ
    ターンの各行の先頭及び各行におけるドットの変化点の
    数を求める計数手段と、 前記文字コードに対応するコードの各行毎の枠コードに
    よりドットの変化点の位置を算出する算出手段と、 前記計数手段により求められたドットの変化点の数と、
    前記算出手段により算出されたドット変化点の位置とに
    基づいてドットパターンを作成して画像を形成する画像
    形成手段と、 を有することを特徴とする画像形成装置。
  6. 【請求項6】 前記記憶手段は、前記画像形成装置に着
    脱可能な記憶媒体であることを特徴とする請求項5に記
    載の画像形成装置。
  7. 【請求項7】 請求項1に記載の符号化方法によって符
    号化されたコードを復号して画像を形成する画像形成装
    置であって、 符号化されたコードを入力する入力手段と、 前記入力手段で入力された行コードによりドットパター
    ンの各行の先頭及び各行におけるドットの変化点の数を
    求める計数手段と、 前記入力手段で入力されたコードの各行毎の枠コードに
    よりドットの変化点の位置を算出する算出手段と、 前記計数手段により求められたドットの変化点の数と、
    前記算出手段により算出されたドット変化点の位置とに
    基づいてドットパターンを作成して画像を形成する画像
    形成手段と、 を有することを特徴とする画像形成装置。
  8. 【請求項8】 前記入力手段は、画像読取り装置によっ
    て読み取られた画像データを符号化したコードを入力す
    ることを特徴とする請求項7に記載の画像形成装置。
JP4125132A 1992-05-18 1992-05-18 情報処理方法及びその装置と出力方法及びその装置 Expired - Fee Related JP2737863B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4125132A JP2737863B2 (ja) 1992-05-18 1992-05-18 情報処理方法及びその装置と出力方法及びその装置
EP93303811A EP0571170B1 (en) 1992-05-18 1993-05-17 Encoding method and decoding method
DE69328325T DE69328325T2 (de) 1992-05-18 1993-05-17 Kodierungs- und Dekodierungsvorrichtung
US08/063,076 US5574886A (en) 1992-05-18 1993-05-18 Data processing system for encoding and compressing a pattern data and for decoding the encoded and compressed data to an output system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4125132A JP2737863B2 (ja) 1992-05-18 1992-05-18 情報処理方法及びその装置と出力方法及びその装置

Publications (2)

Publication Number Publication Date
JPH05324816A true JPH05324816A (ja) 1993-12-10
JP2737863B2 JP2737863B2 (ja) 1998-04-08

Family

ID=14902652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4125132A Expired - Fee Related JP2737863B2 (ja) 1992-05-18 1992-05-18 情報処理方法及びその装置と出力方法及びその装置

Country Status (1)

Country Link
JP (1) JP2737863B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295681B2 (en) 1997-03-04 2012-10-23 Dmt Licensing, Llc Method and system for manipulation of audio or video signals
CN110264533A (zh) * 2019-06-25 2019-09-20 北京慧眼智行科技有限公司 一种数据传输方法、装置及电子设备
CN112288759A (zh) * 2020-10-26 2021-01-29 广东博智林机器人有限公司 一种边界提取方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295681B2 (en) 1997-03-04 2012-10-23 Dmt Licensing, Llc Method and system for manipulation of audio or video signals
CN110264533A (zh) * 2019-06-25 2019-09-20 北京慧眼智行科技有限公司 一种数据传输方法、装置及电子设备
CN112288759A (zh) * 2020-10-26 2021-01-29 广东博智林机器人有限公司 一种边界提取方法、装置、设备及存储介质
CN112288759B (zh) * 2020-10-26 2024-02-09 广东博智林机器人有限公司 一种边界提取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2737863B2 (ja) 1998-04-08

Similar Documents

Publication Publication Date Title
JP3572637B2 (ja) 画素画像の縁部平滑化方法及び装置
JPH06169405A (ja) データ圧縮/伸長方法及びその装置
JP2737863B2 (ja) 情報処理方法及びその装置と出力方法及びその装置
US5574886A (en) Data processing system for encoding and compressing a pattern data and for decoding the encoded and compressed data to an output system
JP4323618B2 (ja) 画像処理装置及び画像処理方法
JPH07143332A (ja) 画像データの拡大処理方法
JP3015133B2 (ja) 印刷制御装置及び方法
JP3133876B2 (ja) 文字処理方法及び装置
JPH06319048A (ja) 出力装置及びその方法
JPH0691989A (ja) 印刷装置及び方法
JP4474487B2 (ja) 画像処理装置及び画像処理方法
JP3413002B2 (ja) データ処理装置及びデータ処理方法
JP3294249B2 (ja) 画像処理装置
JP3124562B2 (ja) 画像形成用の制御装置および画像形成装置
JP3657081B2 (ja) プリンタコントローラ
JPH10228361A (ja) 復号化装置,方法および記憶媒体
JPH10202961A (ja) プリンタコントローラ
JPH09323448A (ja) データの間引き方法および印刷装置
JPH10235945A (ja) プリンタコントローラ
JPH11261825A (ja) 画像処理装置
JPH06238860A (ja) 文字パターン発生方法
JPH0772991A (ja) 印刷装置
JPH06340127A (ja) プリンタ制御方法及び装置
JPH06110439A (ja) 文字パターン発生方法およびその装置
JPH0647956A (ja) 画像形成方法及び装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19971125

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees