JP2002118757A - データの圧縮・展開方法及びプリンタ - Google Patents

データの圧縮・展開方法及びプリンタ

Info

Publication number
JP2002118757A
JP2002118757A JP2000313141A JP2000313141A JP2002118757A JP 2002118757 A JP2002118757 A JP 2002118757A JP 2000313141 A JP2000313141 A JP 2000313141A JP 2000313141 A JP2000313141 A JP 2000313141A JP 2002118757 A JP2002118757 A JP 2002118757A
Authority
JP
Japan
Prior art keywords
data
specific
continuous
print
printer
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
JP2000313141A
Other languages
English (en)
Inventor
Toshiyuki Nishiyama
敏幸 西山
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000313141A priority Critical patent/JP2002118757A/ja
Publication of JP2002118757A publication Critical patent/JP2002118757A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 ハードウエアでのデータの圧縮・展開を容易
に行うことができるようにする。 【解決手段】 最初のデータを取得し、前記最初のデー
タが特定のデータであるときは、次の前記特定データの
連続数を表すデータを取得してアドレス加算する。一
方、前記最初のデータが前記特定データ以外のデータで
あるときは、そのデータが表す連続数分のデータをブロ
ック展開することによりデータ展開する。これにより、
特定データである例えば印刷データの大半を占め、かつ
ほとんど連続している非印字データのみを展開すればよ
いので、従来に比べ非常に単純となり、ハードウエアで
のデータの展開を容易に実現することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムで用いられるデータの圧縮・展開方法及びその方法
を使用するプリンタに関し、特に、ハードウエアで簡単
に実現することができるデータの圧縮・展開方法及びそ
の方法を使用するプリンタに関する。
【0002】
【従来の技術】図5は、ホストとしてのパーソナルコン
ピュータ(以下、PCという)とプリンタとを接続して
なる一般的なコンピュータシステムを示す概略ブロック
図である。図示しないイメージスキャナ等を介してPC
100に取り込まれたグラフィックスデータは、PC1
00上のプリンタドライバ102によりプリンタ200
が解釈可能なデータ(制御コマンド及び印刷データ)に
変換されて圧縮される。
【0003】この制御コマンド及び印刷データは、PC
100上のオペレーティングシステム(以下、OSとい
う)104が管理しながらPC100のI/F部106
から接続ケーブル115を介してプリンタ200に送ら
れる。
【0004】そして、その制御コマンド及び印刷データ
は、プリンタ200のI/F制御部220内のデータ受
信部222で受信され、印刷部230の受信バッファメ
モリ部231に蓄積される。この制御コマンド及び印刷
データは、コマンド解釈部233により解釈されて、イ
メージデータ展開部235にて印刷用イメージデータに
展開される。
【0005】その後、この印刷用イメージデータに基づ
いて印刷処理実行部237により印刷が実行される。
尚、プリンタステータス等のプリンタの状態は、印刷部
230内の状態確認部239によりリアルタイムに管理
されており、I/F制御部220内のデータ送信部22
4を介してホストとしてのPC100に伝達される。
【0006】図6は、従来のデータの圧縮方法を説明す
るための具体例を示す図である。この例での圧縮前デー
タは、“00h”が5個連続し、次に“41h”、“4
2h”が続き、最後に“43h”が3個連続する構成と
なっている。このような圧縮前データは、連続するデー
タ“00h”、“43h”が圧縮されて圧縮後データと
される。
【0007】すなわち、この圧縮後データは、最初のデ
ータ“FCh”で次のデータ“00h”が5個あること
を示し、さらに次のデータ“01h”で非圧縮のデータ
“41h”、“42h”が2個あることを示し、さらに
次のデータ“FEh”でその次のデータ“43h”が3
個あることを示す構成となっている。
【0008】図7は、従来のプリンタにおけるデータの
展開機能を示す概略ブロック図である。受信バッファ2
40に蓄積されているデータはCPU250に1バイト
ずつ読み出されて処理され、処理されたデータはイメー
ジバッファ260に1バイトずつ書き込まれる。すなわ
ち、CPU250では、ヘッダデータがヘッダデータ解
析部251で解析され、その解析結果によりデータ転送
ユニット252にてブロック転送または連続データ展開
されるようになっている。
【0009】このような構成において、その動作例を図
8のフローチャートを用いて説明する。先ず、ヘッダデ
ータを取得し、そのヘッダデータから連続データである
か否かを判断する(ステップS1、S2)。連続データ
であるときは展開データを取得し、その展開するデータ
が“00h”であるか否かを判断する(ステップS3、
S4)。展開するデータが“00h”であるときはアド
レス加算し(ステップS5)、展開するデータが“00
h”以外であるときは連続数分のデータを展開する(ス
テップS6)。
【0010】一方、ステップS2において連続データで
ないときはデータをブロック展開する(ステップS
7)。次に、ラスタ展開が終了したか否かを判断し(ス
テップS8)、ラスタ展開が終了していないときはステ
ップS1に戻って上述した処理を繰り返し、ラスタ展開
が終了したときは全ての処理を終了する。
【0011】例えば図6に示す圧縮後データの場合、先
ず、1番目の下線部の1バイト目のヘッダデータ“FC
h”を取得する。この“FCh”は次のデータが連続し
て5個あることを示しているので、次のデータを取得す
る。そして、次のデータは“00h”であるので、アド
レス加算する。次に、2番目の下線部の1バイト目のヘ
ッダデータ“01h”を取得する。この“01h”は非
圧縮のデータが不連続で2個あることを示しているの
で、各データ“41h”、“42h” をブロック展開
する。
【0012】最後に、3番目の下線部の1バイト目のヘ
ッダデータ“FEh”を取得する。この“FEh”は次
のデータが連続して3個あることを示しているので、次
のデータを取得する。そして、次のデータは“43h”
であるので、連続数分データ展開する。以上により、図
に示す圧縮前データに展開することができる。
【0013】
【発明が解決しようとする課題】上述した従来のデータ
の圧縮・展開方法は、印刷データは通常“00h”のデ
ータが多数連続していることに着目したものであり、展
開先アドレスを移動させることで高速な展開が可能とな
る。
【0014】ところが、圧縮後データ中には圧縮、非圧
縮のデータが混在しているため、図8に示すステップS
5のアドレス加算を行うのか、ステップS6、S7のデ
ータ書込を行うのかが処理の後半にならないと判断でき
ない。このため、ソフトウエアでのデータの圧縮・展開
は問題無く可能であるが、ハードウエアでのデータの圧
縮・展開は単純作業的にできず、実現が困難であるとい
う問題があった。
【0015】本発明は、上記のような種々の課題に鑑み
なされたものであり、その目的は、ハードウエアでのデ
ータの圧縮・展開を容易に行うことができるデータの圧
縮・展開方法及びその方法を使用するプリンタを提供す
ることにある。
【0016】
【課題を解決するための手段】上記目的達成のため、本
発明では、データを圧縮する方法において、特定のデー
タが連続するときは、1つの前記特定データとその連続
数を表すデータとを並べ、前記特定データ以外のデータ
が連続するときは、その連続数を表すデータと前記特定
データ以外のデータとを並べることによりデータ圧縮す
るようにしている。特定データを例えば印刷データの大
半を占め、かつほとんど連続している非印字データと
し、その非印字データのみを圧縮するようにしているの
で、従来に比べ非常に単純となり、ハードウエアでのデ
ータの圧縮を容易に実現することができる。
【0017】また、上記目的達成のため、本発明では、
データを展開する方法において、最初のデータを取得
し、前記最初のデータが特定のデータであるときは、次
の前記特定データの連続数を表すデータを取得してアド
レス加算し、前記最初のデータが前記特定データ以外の
データであるときは、そのデータが表す連続数分のデー
タをブロック展開することによりデータ展開するように
している。特定データである例えば印刷データの大半を
占め、かつほとんど連続している非印字データのみを展
開すればよいので、従来に比べ非常に単純となり、ハー
ドウエアでのデータの展開を容易に実現することができ
る。
【0018】また、上記目的達成のため、本発明では、
ホストからのデータを受信するインターフェース部と、
ホストから受信したデータに基づいて所定の印刷処理を
行う印刷部とを備えるプリンタにおいて、前記ホストか
ら受信したデータのうち最初のデータを取得し、前記最
初のデータが特定のデータであるときは、次の前記特定
データの連続数を表すデータを取得してアドレス加算
し、前記最初のデータが前記特定データ以外のデータで
あるときは、そのデータが表す連続数分のデータをブロ
ック展開することによりデータ展開するデータ展開手段
を備えるようにしている。また、前記ホストから受信し
たデータは、特定のデータが連続するときは、1つの前
記特定データとその連続数を表すデータとを並べ、前記
特定データ以外のデータが連続するときは、その連続数
を表すデータと前記特定データ以外のデータとを並べる
ことによりデータ圧縮されていることを特徴とする。
【0019】特定データである例えば印刷データの大半
を占め、かつほとんど連続している非印字データのみを
展開すればよいので、従来に比べ非常に単純となり、例
えば特定用途向半導体集積回路(ASIC)等のハード
ウエアでのデータの展開を容易に実現することができ
る。このため、ホストから受信した圧縮後の印刷データ
を高速で展開することができ、印刷スピードを向上させ
ることができる。
【0020】
【発明の実施の形態】以下、図面に基づいて本発明の実
施の形態について詳細に説明する。
【0021】図1は、本発明の実施の形態にかかるプリ
ンタの全体構成を示すブロック図である。このプリンタ
2は、プリンタコントローラ10とプリントエンジン2
0とから構成されている。
【0022】プリンタコントローラ10は、ホストコン
ピュータ1からの印字コマンド及び印刷データを受信す
るインターフェース(以下「ホストI/F」という)1
1と、各種データの記憶等を行うRAM12と、各種デ
ータ処理のためのルーチン等を記憶したROM13と、
CPU14とを備えている。
【0023】さらに、後述する各種類のI/Fごとの内
部的な処理をハードウエア的に高速に処理し、また印字
ヘッド22側へヘッドデータ等を送り出すための印字制
御回路や各種のモータドライバ等を含む特定用途向半導
体集積回路(AppliedSemiconducto
r Integrated Circuit、以下、
「ASIC」という)15と、イメージデータ及び駆動
信号等をプリントエンジン20に送信するためのインタ
ーフェース(以下「メカI/F」という)16とを備え
ている。
【0024】ホストI/F11、RAM12、ROM1
3、CPU14、ASIC15、メカI/F16等は、
バス17により相互に接続されている。ホストI/F1
1は、印刷コマンド及び印刷データをホストコンピュー
タ1から受信する。RAM12は、受信バッファ12
A,イメージバッファ12C及びワークメモリ12B等
として利用されるものである。
【0025】受信バッファ12Aには、ホストI/F1
1が受信したホストコンピュータ1からの印刷コマンド
及び印刷データが一時的に記憶される。イメージバッフ
ァ12Cには、印刷コマンド及び印刷データを解析した
後の、例えばラスタグラフィックス形式のイメージデー
タが展開される。
【0026】ROM13は、CPU14等によって実行
される各種制御プログラム等を記憶している。このプロ
グラムには、図1に示すように、主プログラム13a
と、割込処理プログラム13bがある。また、ROM1
3は、図示しないフォントデータ及びグラフィック関
数、各種手続き等も記憶している。
【0027】プリントエンジン20は、印字ヘッド22
と、キャリッジ機構24と、紙送り機構26とを備えて
いる。紙送り機構26は、紙送りモータ及び紙送りロー
ラ等からなり、記録紙等の印刷記憶媒体を順次送りだし
て副走査を行うものである。キャリッジ機構24は、印
字ヘッド22を搭載するキャリッジと、該キャリッジを
タイミングベルト等を介して走行させるキャリッジモー
タ等からなり、印字ヘッド22を主走査させるものであ
る。印字ヘッド22は、副走査方向に、例えば64個の
多数のノズルから成る各色毎のインクジェットノズル列
を有し、所定のタイミングで各ノズルからインク滴を吐
出させるものである。
【0028】図2は、本発明の実施の形態にかかるデー
タの圧縮方法を説明するための具体例を図6に対応させ
て示す図である。この例での圧縮前データは、図6と同
様に、“00h”が5個連続し、次に“41h”、“4
2h”が続き、最後に“43h”が3個連続する構成と
なっている。このような圧縮前データは、連続するデー
タのうち“00h”のみが圧縮されて圧縮後データとさ
れる。
【0029】すなわち、この圧縮後データは、最初のデ
ータ“00h”が次のデータ“05h”で5個あること
を示し、さらに次のデータ“05h”で非圧縮のデータ
“41h”、“42h” 、“43h” 、“43h”
、“43h”が5個続くことを示す構成となってい
る。
【0030】図3は、図1のプリンタ2におけるデータ
の展開機能を示す概略ブロック図である。RAM12の
受信バッファ12Aに蓄積されているデータは、ACI
C15の外部メモリコントローラ151によりバス17
を介して1バイトずつ読み出され、1stデータが1s
tデータ解析部152で解析される。そして、その解析
結果にしたがってブロック転送ユニット153の転送先
アドレスレジスタ154またはブロック転送カウンタ1
55の機能により処理されたデータは、外部メモリコン
トローラ151によりバス17を介して1バイトずつR
AM12のイメージバッファ12Cに書き込まれるよう
になっている。
【0031】このような構成において、その動作例を図
4のフローチャートを用いて説明する。先ず、1stデ
ータを取得し、その1stデータから“00h”が連続
したデータであるか否かを判断する(ステップS11、
S12)。“00h”が連続したデータであるときは連
続数データを取得し(ステップS13)、アドレス加算
する(ステップS14)。
【0032】一方、ステップS12において“00h”
が連続したデータでないときはデータをブロック展開す
る(ステップS15)。次に、ラスタ展開が終了したか
否かを判断し(ステップS16)、ラスタ展開が終了し
ていないときはステップS11に戻って上述した処理を
繰り返し、ラスタ展開が終了したときは全ての処理を終
了する。
【0033】例えば図2に示す圧縮後データの場合、先
ず、1番目の下線部の1stデータ“00h”を取得す
る。この場合の1stデータから“00h”が連続した
データであることがわかるので、次の連続数データ“0
5h”を取得して5個分をアドレス加算する。
【0034】次に、2番目の下線部の1stデータ“0
5h”を取得する。この場合の1stデータから非圧縮
のデータが5個続いていることがわかるので、各データ
“41h”、“42h” 、“43h” 、“43h”
、“43h” をブロック展開する。以上により、図2
に示す圧縮前データに展開することができる。
【0035】以上、本発明を特定の実施形態について述
べたが、本発明はこれらに限られるものではなく、特許
請求の範囲に記載された発明の範囲内で、他の実施形態
についても適用される。例えば上述した実施の形態では
圧縮するデータを“00h”という非印字データとして
説明したが、“FFh”という一色印字データ、いわゆ
るべたのデータとしても同様の効果を奏する。
【0036】また、上述した実施の形態では圧縮するデ
ータが連続するときは、圧縮するデータとその連続数を
表すデータとを順に並べ、圧縮データ以外のデータが連
続するときは、その連続数を表すデータと圧縮データ以
外のデータとを順に並べるようにしたが、例えば所定の
識別子等を付加することにより、上述したデータ順に並
べなくても同様の効果を得ることができる。
【0037】
【発明の効果】以上説明したように、本発明によれば、
特定データのみを圧縮・展開すればよいので、従来に比
べ非常に単純となり、ハードウエアでのデータの圧縮・
展開を容易に実現することができる。そして、このよう
な圧縮・展開技術をプリンタに利用することにより、ホ
ストから受信した圧縮後の印刷データを高速で展開する
ことができ、印刷スピードを向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるプリンタの全体構
成を示すブロック図である。
【図2】本発明の実施の形態にかかるデータの圧縮方法
を説明するための具体例を示す図である。
【図3】図1のプリンタにおけるデータの展開機能を示
す概略ブロック図である。
【図4】図3のデータの展開機能の動作例を示すフロー
チャートである。
【図5】ホストとしてのPCとプリンタとを接続してな
る一般的なコンピュータシステムを示す概略ブロック図
である。
【図6】従来のデータの圧縮方法を説明するための具体
例を示す図である。
【図7】従来のプリンタにおけるデータの展開機能を示
す概略ブロック図である。
【図8】図7のデータの展開機能の動作例を示すフロー
チャートである。
【符号の説明】
1 ホストコンピュータ 10 プリンタコントローラ 11 ホストI/F 12 RAM 12A 受信バッファ 12C イメージバッファ 12B ワークメモリ 13 ROM 13a 主プログラム 13b 割込処理プログラム 14 CPU 15 ASIC 151 外部メモリコントローラ 152 1stデータ解析部 153 ブロック転送ユニット 154 転送先アドレスレジスタ 155 ブロック転送カウンタ 16 メカI/F 17 バス 20 プリントエンジン 22 印字ヘッド 24 キャリッジ機構 26 紙送り機構 100 PC 102 プリンタドライバ 104 オペレーティングシステム(OS) 106 PC100のI/F部 115 接続ケーブル 200 プリンタ 220 I/F制御部 222 データ受信部 224 データ送信部 230 印刷部 231 受信バッファメモリ部 233 コマンド解釈部 235 イメージデータ展開部 237 印刷処理実行部 239 状態確認 240 受信バッファ 250 CPU 251 ヘッダデータ解析部 252 データ転送ユニット 260 イメージバッファ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データを圧縮する方法において、 特定のデータが連続するときは、1つの前記特定データ
    とその連続数を表すデータとを並べ、 前記特定データ以外のデータが連続するときは、その連
    続数を表すデータと前記特定データ以外のデータとを並
    べることによりデータ圧縮することを特徴とするデータ
    の圧縮方法。
  2. 【請求項2】 データを圧縮する方法において、 特定のデータが連続するときは、1つの前記特定データ
    とその連続数を表すデータとを順に並べ、 前記特定データ以外のデータが連続するときは、その連
    続数を表すデータと前記特定データ以外のデータとを順
    に並べることによりデータ圧縮することを特徴とするデ
    ータの圧縮方法。
  3. 【請求項3】 前記特定データが、非印字データもしく
    は一色印字データであることを特徴とする請求項1また
    は2に記載のデータの圧縮方法。
  4. 【請求項4】 データを展開する方法において、 最初のデータを取得し、 前記最初のデータが特定のデータであるときは、次の前
    記特定データの連続数を表すデータを取得してアドレス
    加算し、 前記最初のデータが前記特定データ以外のデータである
    ときは、そのデータが表す連続数分のデータをブロック
    展開することによりデータ展開することを特徴とするデ
    ータの展開方法。
  5. 【請求項5】 前記特定データが、非印字データもしく
    は一色印字データであることを特徴とする請求項4に記
    載のデータの展開方法。
  6. 【請求項6】 ホストからのデータを受信するインター
    フェース部と、ホストから受信したデータに基づいて所
    定の印刷処理を行う印刷部とを備えるプリンタにおい
    て、 前記ホストから受信したデータのうち最初のデータを取
    得し、前記最初のデータが特定のデータであるときは、
    次の前記特定データの連続数を表すデータを取得してア
    ドレス加算し、前記最初のデータが前記特定データ以外
    のデータであるときは、そのデータが表す連続数分のデ
    ータをブロック展開することによりデータ展開するデー
    タ展開手段を備えたことを特徴とするプリンタ。
  7. 【請求項7】 前記データ展開手段は、特定用途向半導
    体集積回路(ASIC)内に設けられることを特徴とす
    る請求項6に記載のプリンタ。
  8. 【請求項8】 前記特定データが、非印字データもしく
    は一色印字データであることを特徴とする請求項6また
    は7に記載のプリンタ。
  9. 【請求項9】 前記ホストから受信したデータは、特定
    のデータが連続するときは、1つの前記特定データとそ
    の連続数を表すデータとを並べ、前記特定データ以外の
    データが連続するときは、その連続数を表すデータと前
    記特定データ以外のデータとを並べることによりデータ
    圧縮されていることを特徴とする請求項6、7または8
    に記載のプリンタ。
  10. 【請求項10】 前記ホストから受信したデータは、特
    定のデータが連続するときは、1つの前記特定データと
    その連続数を表すデータとを順に並べ、前記特定データ
    以外のデータが連続するときは、その連続数を表すデー
    タと前記特定データ以外のデータとを順に並べることに
    よりデータ圧縮されていることを特徴とする請求項6、
    7または8に記載のプリンタ。
JP2000313141A 2000-10-06 2000-10-06 データの圧縮・展開方法及びプリンタ Pending JP2002118757A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000313141A JP2002118757A (ja) 2000-10-06 2000-10-06 データの圧縮・展開方法及びプリンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000313141A JP2002118757A (ja) 2000-10-06 2000-10-06 データの圧縮・展開方法及びプリンタ

Publications (1)

Publication Number Publication Date
JP2002118757A true JP2002118757A (ja) 2002-04-19

Family

ID=18792600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000313141A Pending JP2002118757A (ja) 2000-10-06 2000-10-06 データの圧縮・展開方法及びプリンタ

Country Status (1)

Country Link
JP (1) JP2002118757A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8070157B2 (en) 2009-07-31 2011-12-06 Seiko Epson Corporation Recording apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8070157B2 (en) 2009-07-31 2011-12-06 Seiko Epson Corporation Recording apparatus

Similar Documents

Publication Publication Date Title
KR100396548B1 (ko) 프린팅 속도를 향상시키는 프린터 제어 장치 및 그 방법
JP2001325087A (ja) 書き換え可能なコマンド記憶部を利用したコマンド解析
JP2002118757A (ja) データの圧縮・展開方法及びプリンタ
US5586229A (en) Band printing method for preventing band overrun error in page printer
JP3655457B2 (ja) プリンタ制御装置
JP3651551B2 (ja) プリンタ及びプリントシステム
US20030098988A1 (en) Fast printing apparatus and method thereof
JP3015133B2 (ja) 印刷制御装置及び方法
JPH11188936A (ja) 画像データ管理装置
JPH11179975A (ja) カラープリンタ制御装置
JPH09164731A (ja) 印刷装置および印刷装置のデータ処理方法
JP2002120411A (ja) 白紙検出装置並びにそれを用いた画像記録装置、画像形成装置及び画像読取装置
JPH1024635A (ja) プリンタシステム
JP2002358175A (ja) 印刷制御装置及び方法及び印刷システム
JP2000225735A (ja) 画像印刷装置
JPH0631989A (ja) ページプリンタの印字制御方法
JP2846806B2 (ja) プリンタコントローラ
JP3874297B2 (ja) プリンタ
JPH10171612A (ja) 画像処理装置及び圧縮処理方法
JP3190894B2 (ja) レーザプリンタの画像形成方法および画像形成装置
JPH07221946A (ja) 画像形成方法およびその装置
JPH09188041A (ja) 出力装置
JP2002240368A (ja) 静止画像プリンタ制御装置
JPH08272553A (ja) 画像処理装置
JPH1158873A (ja) ぺージプリンタ