JP2006264274A - 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置 - Google Patents

圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置 Download PDF

Info

Publication number
JP2006264274A
JP2006264274A JP2005089688A JP2005089688A JP2006264274A JP 2006264274 A JP2006264274 A JP 2006264274A JP 2005089688 A JP2005089688 A JP 2005089688A JP 2005089688 A JP2005089688 A JP 2005089688A JP 2006264274 A JP2006264274 A JP 2006264274A
Authority
JP
Japan
Prior art keywords
data
decompression
raster
counter
compressed data
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
JP2005089688A
Other languages
English (en)
Inventor
Masakazu Osako
昌和 大佐古
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 JP2005089688A priority Critical patent/JP2006264274A/ja
Publication of JP2006264274A publication Critical patent/JP2006264274A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 外部装置から複数ラスタを含んだ印刷用の圧縮データを入力しても、その圧縮データを解凍する際に1ラスタの切れ目を認識することができる圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置を提供する。
【解決手段】 印刷装置が圧縮された印刷データを受信した際には、解凍回路38がその圧縮データDcompを解凍して解凍データDdep コントローラ39に出力する。このとき、複数ラスタからなる圧縮データDcompを受信すると、コントローラ39内の制御回路42は、解凍データDdep のデータ数をカウンタ43でカウントする。制御回路42はカウンタ43のカウントによって1ラスタデータの切れ目を発見すると、次の1ラスタデータの格納先アドレスを指定し、その指定アドレス先に次の1ラスタデータを格納する。制御回路42は、格納先アドレス指定後、内部リセットを発行してカウンタ43をリセットし、続く次の1ラスタデータの切れ目を監視する。
【選択図】 図4

Description

本発明は、外部装置から受信した圧縮データを解凍する圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置に関する。
近年、ホストコンピュータから送信した印刷データを印刷装置で印刷出力する際、例えば特許文献1に示すように、印刷データを圧縮して印刷装置に送信する技術が用いられている。印刷データを圧縮して印刷装置に送信すれば、例えば印刷文字(画像)の高密度化、表現可能な色数の増加、印刷形態の多様化等によって、ホストコンピュータから送信される印刷データのデータ容量が多くなっても、印刷データとして送るデータ容量を少なく済ませることが可能となり、データ送信の送信時間の短時間化が図られる。
この種の圧縮方法としては、例えばランレングス法という圧縮技法がある。このランレングス法は、データ内に同じ値が並んでいる場合に、データをその値と個数とで符号化する技法である。例えば、図8(a)に示すように印刷データのデータ列が、例えば「1」が32個続くデータの場合、ランレングス法を用いれば、印刷データは「1が32個」とういうデータに置き換えられることになり、印刷装置に送信される印刷データのデータ容量が少なく済む。
特開2000−168165号(第4−6頁、第1図)
ところで、ホストコンピュータからの印刷データを印刷装置で印刷出力する場合、1つのコマンドで1ラスタ分(1パス分)の圧縮データを送信する送信方式であれば、その印刷データを印刷装置で正常に印刷出力することが可能である。しかし、ホストコンピュータ内のドライバと、印刷装置の機種とが一致していない場合、印刷データが複数ラスタの圧縮データで印刷装置に送信されることがある。この際の印刷データは、図8(a)及び図8(b)に示すように1ラスタの切れ目を意識しないデータとして印刷装置に出力される。従って、印刷装置は、この印刷データを受け付けても印刷データの1ラスタの切れ目が分らず、印刷処理を行えない問題があった。
本発明の目的は、外部装置から複数ラスタを含んだ印刷用の圧縮データを入力しても、その圧縮データを解凍する際に1ラスタの切れ目を認識することができる圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置を提供することにある。
上記問題点を解決するために、本発明では、複数ラスタからなる圧縮データを外部から入力して解凍する解凍手段と、前記解凍手段が解凍した解凍データのデータ数が、1ラスタ分のデータ数になったか否かを計測するカウンタと、前記カウンタが1ラスタデータを計測する度に、次の1ラスタデータをメモリに格納する際の格納先アドレスを指定し、当該格納先アドレスへ前記次の1ラスタデータを格納させる指定手段と、前記格納先アドレスの指定後に前記カウンタをリセットするリセット手段とを備えたことを要旨とする。
この構成によれば、複数ラスタからなる圧縮データを圧縮データ解凍回路が入力すると、解凍手段がその圧縮データを解凍し、このときの解凍データのデータ数をカウンタが計測する。続いて、カウンタが1ラスタデータを計測すると、次の1ラスタデータをメモリに格納する際の格納先アドレスを指定手段が指定して、その格納先アドレスに次の1ラスタデータを格納させる。格納先アドレスの指定後、リセット手段がカウンタをリセットし、カウンタは次の1ラスタデータの計測を行う。そして、カウンタが1ラスタデータを計測する度に、上記した格納先アドレス指定及びカウンタリセットが繰返し行われる。
ところで、圧縮データが1つのコマンドで1ラスタデータ分出力されるのであれば、1ラスタデータの切れ目が分っているため、圧縮データを解凍する際に何ら問題はないが、場合によっては、複数ラスタからなる圧縮データが1ラスタの切れ目の分らない状態で出力されることがある。しかし、このような場合であっても、本発明に記載の解凍手法を用いれば、圧縮データ解凍時にその解凍データの1ラスタの切れ目を認識することが可能となる。よって、1ラスタの切れ目が分らない複数ラスタからなる圧縮データについても取り扱えるようになり、圧縮データをラスタ方向に正常な並びの解凍データとして解凍することが可能となる。
本発明では、少なくとも前記指定手段が前記格納先アドレスを指定している際、前記解凍手段による前記圧縮データの解凍を待機させる待機手段を備えたことを要旨とする。
この構成によれば、少なくとも指定手段が格納先アドレスを指定している際には、解凍手段による圧縮データの解凍が待機手段によって待機状態をとる。ところで、カウンタが1ラスタデータを計測した際には、例えば次の1ラスタデータをメモリに格納する際の格納先アドレスの指定や、カウンタのリセット等の処理が、本発明の新たな処理として追加される。しかし、これら処理が実施される最中においては解凍作業が待機(中断)するので、新たに加えた処理が解凍作業に影響を及ぼす可能性が低く抑えられ、解凍作業に不具合が発生し難い。
本発明では、前記解凍手段は、一対のヘッダ情報及び単位データが複数組存在するデータを前記圧縮データとして入力し、前記ヘッダ情報内の繰返出力回数を自身の第2カウンタにセットして、前記単位データを前記繰返出力回数だけ出力することで前記圧縮データを解凍し、前記解凍手段は、前記リセットに基づき前記待機から前記解凍に復帰する際、待機前の前記第2カウンタがカウントアップしていなければ、該カウンタのカウントを継続しつつ、前記待機前に出力していた前記単位データの繰返出力をすることを要旨とする。
この構成によれば、解凍手段はヘッダ情報内の繰返出力回数を読み出してそれを第2カウンタにセットし、ヘッダ情報と組をなす単位データをその繰返出力回数分だけ出力する処理を、対をなすヘッダ情報及び単位データごとに行って圧縮データの解凍を行う。この解凍作業時、解凍データに1ラスタの切れ目が発見されると、解凍手段による解凍作業は待機状態となるが、リセットが発生するとそれを基に解凍作業に復帰する。このとき、待機前の第2カウンタがカウントアップしていなければ、待機前に行っていた解凍作業が継続されるので、解凍中に待機処理を加えても、リセット発生後に第2カウンタのカウント値を見るという簡単な処理で、続きの解凍作業に復帰するか否かを判断することが可能となる。
本発明では、前記解凍手段は、一対のヘッダ情報及び単位データが複数組存在するデータを前記圧縮データとして入力し、前記ヘッダ情報内の繰返出力回数を自身の第2カウンタにセットして、前記単位データを前記繰返出力回数だけ出力することで前記圧縮データを解凍し、前記解凍手段は、前記リセットに基づき前記待機から前記解凍に復帰する際、前記第2カウンタがカウントアップしていれば、前記ヘッダ情報の解析に移行することを要旨とする。
この構成によれば、解凍手段はヘッダ情報内の繰返出力回数を読み出してそれを第2カウンタにセットし、ヘッダ情報と組をなす単位データをその繰返出力回数分だけ出力する処理を、対をなすヘッダ情報及び単位データごとに行って圧縮データの解凍を行う。この解凍作業時、解凍データに1ラスタの切れ目が発見されると、解凍手段による解凍作業は待機状態となるが、リセットが発生するとそれを基に解凍作業に復帰する。このとき、待機前の第2カウンタがカウントアップしていればヘッダ情報の解析に移行するので、リセット発生後に第2カウンタのカウント値を見るという簡単な処理で、次組のヘッダ解析に移行するか否かを判断することが可能となる。
本発明では、前記指定手段は、前記カウンタが1ラスタデータを計測した際に、中央演算処理装置に前記格納先アドレスの指定と前記次の1ラスタデータの格納とを行わせることを要旨とする。
この構成によれば、カウンタが1ラスタデータを計測した際には、格納先アドレスの指定と次の1ラスタデータの格納とが行われるが、これら処理は中央演算処理装置が行う。従って、圧縮データ解凍回路にこれら機能を盛り込む必要がないため、圧縮データ解凍回路の回路構成が簡素化する。
本発明では、前記指定手段は、前記カウンタが1ラスタデータを計測した際に、自身で前記格納先アドレスの指定を行うことを要旨とする。
この構成によれば、カウンタが1ラスタデータを計測した際には、格納先アドレスの指定と次の1ラスタデータの格納とが行われるが、これら処理は圧縮データ解凍回路自体が行う。従って、これら機能が圧縮データ解凍回路に組み込まれることになり、例えば中央処理演算装置にこれら機能を任せずに済み、中央処理演算装置にかかる負荷が軽減される。
本発明では、複数ラスタからなる圧縮データを解凍手段が外部から入力して解凍し、前記解凍手段が解凍した解凍データのデータ数をカウンタにより計測し、当該カウンタの計測により前記解凍データのデータ数が1ラスタ分のデータ数になった際、次の1ラスタデータをメモリに格納する際の格納先アドレスを指定手段が指定して前記次の1ラスタデータを当該格納先アドレスへ格納させ、前記格納先アドレスの指定後にリセット手段によって前記カウンタをリセットすることを要旨とする。
本発明では、前記請求項のいずれか一項に記載の圧縮データ解凍回路と、前記圧縮データ解凍回路が解凍した前記解凍データを基に、用紙への印刷処理を行う印刷処理装置とを備えた印刷装置であることを要旨とする。
以下、本発明を具体化した圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置の一実施形態を図1〜図6に従って説明する。
図1は、印刷装置1の概略構成を示すブロック図である。本例の印刷装置1は、圧電素子を用いて用紙にインク(液体)を吹付けることで印刷を行うインクジェット式印刷装置であり、ノズル(吐出孔)からインクを吐出する印刷ヘッド2と、用紙を紙送りする紙送り機構3とを備えている。印刷ヘッド2は、インクカートリッジ4を乗せたキャリッジ5の下面に取り付けられ、キャリッジモータ6を駆動源にキャリッジ5を主走査方向に往復動させることで往復動する。紙送り機構3は、例えば給紙ローラ、排紙ローラ及び従動ローラ等からなり、紙送りモータ7を駆動源に用紙を給紙、印刷時の用紙搬送及び排紙を行う。
印刷装置1は、ホストコンピュータ8から送信される印刷データDprntを印刷出力可能であり、この場合には印刷ヘッド2を往復動させつつ、その間に用紙を所定量紙送りする動作を繰り返すことで印刷処理を行う。なお、印刷装置1は、ホストコンピュータ8から送信される印刷データDprntを印刷出力する構成のみに限らず、例えばメモリーカード等のメディア9に書き込まれた画像データを印刷出力したり、スキャナ機能を組み込んでスキャンデータを印刷出力(即ち、ローカルコピー)したりする機能を備えていてもよい。なお、部材2〜7が印刷処理装置を構成する。
印刷装置1は、CPU(Central Processing Unit) 10と、ROM(Read-Only Memory)11と、SDRAM(Synchronous DRAM)12と、ASIC(Application Specific Integrated Circuit )13とを備えている。CPU10は、印刷装置1を統括制御するIC(素子)であり、ROM11内の制御プログラムを基にSDRAM12を作業領域として動作することで印刷装置1を作動させる。ASIC13は、CPU10からの指令を基に作動し、印刷処理に関する各種動作を実施する。CPU10、ROM11、SDRAM12及びASIC13は、制御信号、アドレス信号及びデータの伝送路となるシステムバス14に接続されている。なお、CPU10が中央演算処理装置に相当し、SDRAM12がメモリに相当する。
ASIC13は、ホストコンピュータ8やメディア9の間でデータ通信をする際のデータ入出口となる複数のインターフェース15と、圧縮データである印刷データを解凍してパス分解するデータ展開・パス分解部17と、解凍分解後の印刷データを基に印字データSIを生成して印刷ヘッド2に転送する印字制御部18とを備えている。また、本例のインターフェース15は、USB用である第1インターフェース15a、ネットワーク用である第2インターフェース15b、メディア用である第3インターフェース15cの3つがある。これらインターフェース15a〜15cは、システムバス14に接続されている。同様に、データ展開・パス分解部17及び印字制御部18もシステムバス14に接続されている。
ASIC13は、CPU10以外の他のデバイス(インターフェース15、データ展開・パス分解部17、印字制御部18)が、SDRAM12に直接アクセス可能な機能(DMA機能)を備えている。このDMA機能はバスマスタ(DMAコントローラ)19が備えており、このバスマスタ19がDMAユニットに相当する。バスマスタ19は、CPU10、インターフェース15、データ展開・パス分解部17及び印字制御部18のDMA転送を管理すべくシステムバス14に接続されている。
例えば、第1インターフェース15aがSDRAM12へアクセスする場合、第1インターフェース15aはバスマスタ19にリクエスト信号REQ を出力する。バスマスタ19は、このリクエスト信号REQ を受けるとこの信号出力先つまり第1インターフェース15aがSDRAM12へアクセスが可能か否かを判断し、アクセスが可能であるならば第1インターフェース15aにアック信号ACK を返信する。第1インターフェース15aは、このアック信号ACK がアクティブである期間中、システムバス14を占有した状態となり、SDRAM12に直接アクセスすることが可能である。なお、第2及び第3インターフェース15b,15c、データ展開・パス分解部17及び印字制御部18がDMA通信する場合も同様の動作をとる。
また、バスマスタ19は、複数のデバイスから同時にリクエストを受けると、予め設定された優先順位に沿って、これらデバイス間のバスアクセスを調停する。即ち、バスマスタ19は、複数のデバイスから同時にリクエスト信号REQ を入力すると、最も優先順位が高いデバイスにのみアック信号ACK を返信する。そして、リクエストを出したデバイスのうち最も優先順位の高いデバイスがアック信号ACK を入力することから、このデバイスがアック信号ACK のアクティブ期間中、システムバス14を占有してSDRAM12に直接アクセスする。
印刷装置1は、キャリッジ5つまり印刷ヘッド2の移動速度を検出するリニアエンコーダ20を備えている。リニアエンコーダ20は、プリンタ内面の側壁に架設された長手方向に延びる半透明樹脂製の被検出用テープ20aと、キャリッジ5の背面に固着された検出センサ20bとからなる。被検出用テープ20aには長手方向に沿って複数のスリットが一定ピッチで形成されている。検出センサ20bは、キャリッジ5が移動した際にスリットを検出し、キャリッジ速度に応じたパルス信号Stを出力する。
ASIC13は、リニアエンコーダ20のパルス信号Stを基に基本印字周期Taを生成する印字周期生成部21と、この基本印字周期Taを基に印刷シーケンスに合わせた印字周期TPTS を生成する印字シーケンス制御部(シーケンサ)22と、その印字周期TPTS を基に駆動信号COM を生成する駆動波生成部23とを備えている。印字周期TPTS (基本印字周期Ta)は、印刷ヘッド2の移動速度に応じて決まる周期であり、圧電素子の駆動周期に相当する。また、ASIC13は、印刷データDprntを基にキャリッジモータ6を駆動制御するキャリッジモータ制御部24と、印刷データDprntを基に紙送りモータ7を駆動制御する紙送りモータ制御部25とを備えている。
図2は、印刷データDprntを印刷出力する際のフローを含んだ印刷装置1のブロック図である。ホストコンピュータ8から印刷データDprntが印刷装置1に送信されると、印刷装置1はその印刷データDprntをインターフェース15で受信する。インターフェース15は、印刷データDprntを所定の伝送単位で順次受信し、その受信した印刷データDprntをSDRAMにDMA転送する。
データ展開・パス分解部17は、SDRAM12に格納された印刷データDprntをDMA転送によって読み込み、ランレングス方式等によって圧縮された印刷データDprntを解凍する。データ解凍後、データ展開・パス分解部17は、解凍後のデータをコマンド解析し、それを1パスデータサイズに分解してラスタ方向並びのデータ(即ち、ラスタ方向データ)に変換する。なお、このラスタ方向データは、高印刷画質を目的としてノズル列のノズルピッチ間に複数ドットを打つような並びのデータ、つまりマイクロウィーブ処理が施されたデータである。データ展開・パス分解部17は、1パス分のラスタ方向データを生成すると同データをSDRAM12に逐次DMA転送する。ラスタ方向データをSDRAM12にDMA転送して書き込む処理は、各色(CMYK)毎に行われる。
続いて、CPU10は、SDRAM12内のラスタ方向データを、ラスタ方向において所定ビット分、かつ所定段おきに読み出して、その読出データを内部のレジスタ10aに取り込む。例えば、ラスタ方向データがラスタ方向において32ビットで3段おきに読み出される場合、CPU10のレジスタ10aには、図内の(a)に示すように1段、5段、9段、…の読出データが32ビットずつ書き込まれる。ここで、ラスタ方向データが3段おきに読み出されるマイクロウィーブ処理は、副走査方向に隣接するノズルで印刷した2本のラスタライン間に、3本のラスタラインが印刷される処理となる。
CPU10は、レジスタ10aの読出データのうち各段の最初の単位データ、つまり縦方向に位置する最も左側1セル分のデータを、図内の(b)に示すようにレジスタ10bに書き込み、それを図内の(c)に示すようにレジスタ10cに書き込む。即ち、CPU10は、レジスタ10aに書き込まれた縦方向の読出データを横方向の読出データとしてマッピングすることによって、データ並びを縦方向と横方向とで変換する。CPU10は、この書込み処理を縦方向に位置する各々1セル分のデータについて行い、レジスタ10cがフルになった時点でこのノズル列対データをSDRAM12に書き込む。
印字制御部18は、ノズル列対データを書込可能な一対のバッファ26a,26bと、一対のバッファ26a,26bのうち一方を指定してノズル列対データを書き込む書込先管理部27と、一対のバッファ26a,27bのうち一方を選択して印刷ヘッド2に接続するセレクタ28とを備えている。バッファ26a,26bは、高さ方向(図2の上下方向)がヘッド高さ分のビット幅を有し、幅方向(図2の左右方向)がデータ転送幅(本例は32ビット)のビット幅を有している。この一対のバッファ26a,26bは、各色(CMYK)毎に配設されている。
印字制御部18は、SDRAM12に格納されたノズル列対データをDMA転送によって読み込む。このとき、書込先管理部27は、一対のバッファ26a,26bのうち一方(例えばバッファ26a)にノズル列対データを書き込み、それがバッファフルになると、駆動波生成部23から入力するデータ転送開始信号DTS を基に、そのデータを印字データSIとしてセレクタ28を介して印刷ヘッド2に出力する。また、書込先管理部27は、印刷ヘッド2に印字データSIを出力する際、バッファ26a,26bのうち空状態の方(例えばバッファ26b)に次のノズル列対データの書き込みを開始し、一方のバッファ26aからの印字データ出力と、他方のバッファ26bへのデータ書き込みとを同時に行う。そして、書込先管理部27は、一対のバッファ26a,26bに対して印字データ出力とデータ書き込みとを交互に行う。
印刷ヘッド2は、印字制御部18からシリアル転送される印字データSIをシフトレジスタ29で入力するとともに、データラッチ(ラッチ回路)30でラッチする。印刷ヘッド2は、ラッチした印字データSIをレベルシフタ31で所定電圧まで昇圧し、この昇圧された印字データSIを各アナログスイッチ32,32,…に各々印加する。このアナログスイッチ32は、印刷ヘッド2の各ノズルごとに配設され、入力側には駆動信号COM が印加されるとともに、出力側には圧電素子33が各々接続されている。
印字データSIは、アナログスイッチ32の動作を制御する。例えば、アナログスイッチ32に加わる印字データSIが「1」である期間中は、駆動信号COM が圧電素子33に印加され、この信号に応じて圧電素子33は伸縮を行う。その結果、圧力発生室のインクが加圧されて、ノズルからインクが吐出される。一方、アナログスイッチ32に加わる印字データが「0」である期間中は、圧電素子33への駆動信号COM の供給が遮断されるので、インクの吐出が行われない。
図3は、印刷データDprntのデータ構造を示すイメージ図である。印刷データDprntは、通信時間(転送時間)の短縮化や使用記憶領域の節約のために、元データを所定量のデータサイズに圧縮した圧縮データDcompとして、ホストコンピュータ8から印刷装置1に出力される。圧縮データDcompは先頭にコマンド34を有し、このコマンド34の後にラスタデータ35が続くデータ構造をなしている。
ここで、ホストコンピュータ8の印刷ドライバが印刷装置1の機種と異なる場合、1つのコマンド34に対して複数ラスタを含んだ圧縮データDcompが、ホストコンピュータ8から印刷装置1に出力されることがある。即ち、用紙横方向の1パス分データ(図8(b)参照)が1ラスタデータDras に相当し、この1ラスタデータDras がラスタデータ35の中に複数列存在するデータが、本例の圧縮データDcompに相当する。この圧縮データDcompは解凍した際に、その解凍データの1ラスタの切れ目が分らない状態で出力されるため、ラスタ方向に正常な並びで解凍するには、1ラスタの切れ目を認識する必要がある。
コマンド34には、その後に続くラスタデータ35をどのように処理するかを示す命令や、解凍後のラスタデータ35のデータ量(即ち、ラスタサイズ)Kがどれだけであるかを示す情報が書き込まれている。ラスタサイズKは、1ラスタのラスタサイズと、ラスタデータ35内のラスタ数とを乗算した値(ラスタサイズ×ラスタ数)に相当する。ラスタデータ35は、印刷文字や印刷画像を複数の点(ドット)で表現したビットマップデータ(印刷用イメージデータ)である。
本例の圧縮法は、同一データの連続を符号化するランレングス法(Run-Length法)が用いられている。このランレングス法は、例えば「A」というデータが50回繰返される場合、「A」を50回並べたデータとして扱うのではなく、「Aを50回書く」というデータとして処理する方式である。ランレングス法を用いた際の圧縮データDcompは、同図に示すように一対のヘッダ36及び1バイトデータ37を複数組有するデータ構造をなしている。なお、ヘッダ36がヘッダ情報に相当し、1バイトデータが単位データに相当する。
ヘッダ36には、対をなす1バイトデータ37を何回出力するかに相当する繰返出力回数Mが書き込まれている。1バイトデータ37は、例えば印刷画像の1ドットが2ビットで表現される場合には4ドット分のデータに相当し、例えば印刷画像の1ドットが1ビットで表現される場合には8ドット分のデータに相当する。従って、例えば圧縮データDcompが、ヘッダ36に「4回」、1バイトデータ37が「00100100」と書き込まれたデータである場合、この圧縮データDcompを解凍した際には、「00100100」を4回出力したデータ群が解凍データDdep として出力される。
図4は、圧縮データDcompを解凍するデータ展開・パス分解部17の詳細を示すブロック図である。データ展開・パス分解部17は、圧縮データDcompを解凍する解凍回路38と、この解凍回路38を制御するコントローラ39とを備えている。ホストコンピュータ8から送信された圧縮データDcompをデータ展開・パス分解部17が入力すると、コントローラ39は解凍回路38に圧縮データDcompを解凍する旨の制御信号(制御指令)を出力する。なお、解凍回路38が解凍手段に相当する。
解凍回路38は、1バイトデータ37を格納可能なデータ格納レジスタ40と、データ格納レジスタ40に格納された1バイトデータ37の出力回数をカウントするループカウンタ41とを備えている。解凍回路38は、対をなすヘッダ36及び1バイトデータ37を入力すると、その1バイトデータ37をデータ格納レジスタ40に格納し、ヘッダ36内の繰返出力回数Mをループカウンタ41にセットする。カウンタセット後、解凍回路38はループカウンタ41にセットされた繰返出力回数M分だけ、1バイトデータ37を出力し、この処理を一対のヘッダ36及び1バイトデータ37を入力する度に行うことで圧縮データDcompを解凍して、解凍データDdep をコントローラ39に出力する。なお、ループカウンタ41が第2カウンタに相当する。
コントローラ39は、解凍処理時に各種制御信号を出力する制御回路42と、解凍回路38から出力される解凍データDdep のデータ数を計測するデータ数カウンタ43とを備えている。制御回路42は、解凍回路38が解凍した解凍データDdep を入力し、この解凍データDdep にNullデータ挿入等の加工を施して出力データDout を生成し、バスマスタ19を介して出力データDout をSDRAM12にDMA転送する。即ち、制御回路42は、リクエストに応答したバスマスタ19からアック信号ACK を受けている期間中においてシステムバス14を占有し、生成した出力データDout をSDRAM12に格納する。なお、制御回路42が指定手段、リセット手段及び待機手段を構成する。
解凍回路38は、複数ラスタからなる圧縮データDcompを入力すると、制御信号としてその旨の通知を制御回路42に出力する。制御回路42はこの通知を入力すると、解凍回路38から解凍データDdep を入力する際に解凍データDdep のデータ数をデータ数カウンタ43でカウントする。制御回路42は、データ数カウンタ43のカウント値が1ラスタ分のラスタサイズになると、ラスタデータ35が1ラスタの切れ目にあると認識する。制御回路42は、解凍データDdep の1ラスタの切れ目を認識すると、次の1ラスタデータDras の格納先アドレスを新たに指定するために、CPU10に割込指令を出力する。
CPU10は、1ラスタデータDras の格納先アドレスをバスマスタ19に指示して、バスマスタ19に1ラスタデータDras の書き込み処理を行わせる。即ち、CPU10はコントローラ39から割込指令を入力した場合、バスマスタ19による1ラスタ分の書き込みが終了した後に、次の行に格納先アドレスを進める。例えば、前列の1ラスタデータDras がX番地のアドレスに書き込まれたとすると、その書込作業が終了した後に、CPU10は割込指令を基に例えば(X+1)番地に書き込むようにバスマスタ19に指令を出力し、バスマスタ19が(X+1)番地に次列の1ラスタデータDras を書き込む。
制御回路42は、CPU10の割込み処理によって1ラスタデータDras の格納先アドレスの指定が完了すると、内部リセットを発行してデータ数カウンタ43をリセットする。リセット完了後、制御回路42はデータ数カウンタ43による解凍データDdep のデータ数カウントを再度実施し、データ数カウンタ43のカウント値が1ラスタ分のラスタサイズになると、同様の手順で次のラスタデータの格納先アドレスを新たに指定する。そして、制御回路42は、解凍処理が完了するまでこの処理を繰返し行い、バスマスタ19を介して出力データDout をSDRAM12にDMA転送する。
次に、本例の印刷装置1の作用を図5に示す状態遷移図に従って説明する。
印刷装置1がホストコンピュータ8から印刷データDprnt(即ち、圧縮データDcomp)を受信し、解凍回路38が一組目のヘッダ36及び1バイトデータ37を入力すると、解凍回路38のステータスがアイドル状態からヘッダ解析状態に移行し、解凍回路38はその一組目のヘッダ36を解析する。このとき、解凍回路38はヘッダ36に書き込まれた繰返出力回数Mをループカウンタ41にセットし、そのヘッダ36と対をなす1バイトデータ37をデータ格納レジスタ40に格納する。
続いて、解凍回路38のステータスがヘッダ解析状態から圧縮データ解凍状態に移行する。このとき、解凍回路38は、データ格納レジスタ40に格納した1バイトデータ37を1回出力する度にループカウンタ41のカウント値をデクリメントし、ループカウンタ41にセットした繰返出力回数M分だけ1バイトデータ37のデータ出力を行う。解凍回路38は、対をなすヘッダ36及び1バイトデータ37を入力する度にこの処理を行って、解凍データDdep をコントローラ39に出力する。
1バイトデータ37が繰返出力回数M分だけ出力されてループカウンタ41がカウントアップ(カウント値が「0」となる)すると、解凍回路38のステータスが圧縮データ解凍状態からヘッダ解析状態に移行する。このとき、解凍回路38は次組の1バイトデータ37をデータ格納レジスタ40に格納し、次組のヘッダ36を解析してそのヘッダ36内の繰返出力回数Mをループカウンタ41にセットする。解凍回路38は、前組の場合と同様に、ループカウンタ41にセットした繰返出力回数M分だけ1バイトデータ37のデータ出力を行い、新たな組のヘッダ36及び1バイトデータ37を入力する度に以上の処理を繰返し行う。
コントローラ39は、解凍データDdep 内のNullデータでない領域を検索する機能(即ち、ダーティエリア検索機能)を備えている。このダーティエリア検索機能は、解凍データDdep のうちNullデータでない範囲の開始及び終了をデータ数カウンタ43でカウントし、そのカウント値を値を保持することによって範囲指定を行い、データ出力時においてその範囲にNullデータを挿入する機能である。従って、コントローラ39はダーティエリア検索機能により解凍データDdep 内のNullデータのない領域を検索し、そこのNullデータを挿入したデータを出力データDout としてバスマスタ19に逐次出力する。
データ解凍時、コントローラ39内の制御回路42は、解凍データDdep のデータ数をデータ数カウンタ43でカウントしており、データ数カウンタ43のカウント値がラスタサイズになると、解凍データDdep のデータ数が1ラスタ分に到達したと判断する。制御回路42は、このように解凍データDdep の1ラスタの切れ目を発見すると、解凍回路38の解凍処理を一時待機させる。従って、解凍回路38のステータスが圧縮データ解凍状態から待機状態に移行し、解凍回路38は解凍処理を一時中断する。このとき、解凍回路38内のループカウンタ41のカウント値は保持された状態を保つ。
制御回路42は、解凍データDdep の1ラスタの切れ目を発見するとCPU10に割込指令を出力して、次の1ラスタデータDras2(図6参照)の格納先アドレスの指定をCPU10に行わせる。従って、CPU10は次の1ラスタデータDras2の格納先アドレスを次の行に進め、図6に示すように次の1ラスタデータDras2はSDRAM12に格納される際、前列の1ラスタデータDras1の下の行のアドレスに書き込まれる。
制御回路42は、CPU10による格納先アドレス指定が終了すると内部リセットを発生し、この内部リセットによってデータ数カウンタ43をリセットするとともに、ダーティエリア検索機能で保持した保持値もリセットする。従って、データ数カウンタ43がリセットされるため、次の1ラスタデータDras2のデータ数をカウントすることが可能となり、更には次の1ラスタデータDras2にダーティ検索機能を働かせて、Nullデータのない範囲を検索する処理も同様に実施可能となる。
データ数カウンタ43がリセットされた際、解凍回路38は自身のループカウンタ41のカウント値を確認する。このとき、解凍回路38はループカウンタ41がカウントアップしていない状態であれば、待機前に行っていた解凍処理を継続すべく、ステータスが待機状態から圧縮データ解凍状態に復帰する。従って、解凍回路38は、ループカウンタ41がカウントアップするまで、データ格納レジスタ40に格納した1バイトデータ37の出力を行い、残りの解凍処理を継続して実施する。
一方、解凍回路38は、カウンタリセット時に自身のループカウンタ41のカウント値を確認したとき、ループカウンタ41がカウントアップした状態であれば、次組のヘッダ36の解析を行うために、ステータスが待機状態からヘッダ解析状態に移行する。従って、解凍回路38は、次組のヘッダ36及び1バイトデータ37について、同組の1バイトデータ37をデータ格納レジスタ40に格納し、ヘッダ36から読み取った繰返出力回数Mをループカウンタ41にセットして解凍処理を引き続き行う。
制御回路42は、解凍データDdep の1ラスタの切れ目を発見する度にCPU10に割込指令を出力して、次の1ラスタデータDras の格納先アドレスの指定をCPU10に行わせる。CPU10はこの割込指令を入力すると、図6に示すように1ラスタデータDras 単位で格納先アドレスが次の行に移るようにアドレスを指定する。よって、各1ラスタデータDras は改行された状態、つまり各1ラスタデータDras ごとに切り分けられた状態でSDRAM12に順次格納される。なお、図6に示す例では、各1ラスタデータDras の前後にNullデータが挿入されている。
ところで、印刷データDprntは、全てが圧縮データDcompとして送信されるわけではなく、圧縮効率の関係から、非圧縮データDx で送信される場合がある。これは、印刷データDprntに同一符号の連続がないデータ列が続く場合があり、このデータ列に圧縮をかけると逆にデータ量が多くなるため、このデータ列は非圧縮データDx で出力することでデータ転送効率を確保するためである。この非圧縮データDx についても、図5に示すように解凍回路38のステータスがヘッダ解析状態、非圧縮データ出力状態及び待機状態の間で遷移する。
以上によれば、複数ラスタからなる圧縮データDcompの受信時、データ数カウンタ43で1ラスタ分のデータ数をカウントし、1ラスタデータDras が識別される度に次の1ラスタデータDras の格納先アドレスを指定し、アドレス指定後、データ数カウンタ43をリセットして次の1ラスタデータDras を再カウントする。従って、複数ラスタからなる圧縮データDcompを印刷装置1が受信したとしても、その解凍データDdep の1ラスタデータDras の切れ目を認識することが可能となる。よって、1ラスタの切れ目が分らない複数ラスタからなる圧縮データDcompについても取り扱えるようになり、圧縮データDcompをラスタ方向に正常な並びで解凍することが可能となる。
また、本例においては複数ラスタからなる圧縮データDcompであっても、その解凍データDdep に関して1ラスタデータDras の切れ目が分かるため、圧縮データDcompの何処から何処までが1ラスタデータDras であるかが認識可能となる。従って、ダーティエリア検索機能を用いて、圧縮データDcompの中でNullデータのない範囲を検索する処理も行える。そして、内部リセットが発生した際にNull詰め動作を開始し、その後にラスタデータ展開処理を続けるように処理拡張することで、1ラスタデータDras ごとにNullデータを挿入することが可能となる。
本実施形態の構成によれば、以下に記載の効果を得ることができる。
(1)複数ラスタからなる圧縮データDcompがホストコンピュータ8から印刷装置1に送信されても、その解凍データDdep の1ラスタの切れ目を認識することができる。従って、1ラスタの切れ目が分らない状態で印刷データDprntが送信されても、その圧縮データDcompをラスタ方向に正常な並びで解凍することができる。
(2)圧縮データDcompの解凍時、解凍データDdep に1ラスタの切れ目が発見された際には、解凍回路38による解凍作業を一時中断する。従って、本例のように1ラスタの切れ目を認識する処理に伴って、CPU10の割込み処理や内部リセット発生処理等の各種処理を新たに加えたとしても、これら処理が解凍作業に影響を及ぼす可能性が低く抑えられることになり、解凍作業に不具合が生じ難い。
(3)内部リセット処理から解凍作業に復帰する際、解凍回路38内のループカウンタ41のカウント値を参照し、ループカウンタ41がカウントアップしていなければ中断前の解凍作業を継続して行い、ループカウンタ41がカウントアップしていれば次組のヘッダ解析を行う。従って、ループカウンタ41のカウント値を参照するという比較的簡単な処理で、解凍回路38の解凍作業の続きを行うのか、若しくは新たなヘッダ解析に移行するかを判断することができる。
(4)圧縮データDcompの解凍時、その解凍データDdep で1ラスタの切れ目を発見すると、次の1ラスタデータDras の格納先アドレスが指定されるが、このアドレス指定はCPU10が実施する。従って、この機能をコントローラ39に盛り込む必要がないため、コントローラ39の構造を簡素化することができる。
(5)複数ラスタを含んだ圧縮データDcompを印刷装置1が受信しても、本例においては1ラスタの切れ目が分るので、複数ラスタからなる圧縮データDcompであってもダーティエリア検索を実行できる。このように、ダーティエリア検索が実行できれば、各ラスタデータごとにNullデータを挿入することもできる。
(6)電源を再投入してシステムリセットする操作を行えば、解凍回路38及びコントローラ39を初期化することができる。
なお、本実施形態は前記構成に限定されず、以下の態様に変更してもよい。
(変形例1)1ラスタデータDras の切れ目を発見した際、次の1ラスタデータDras の格納先アドレスを指定するが、この指定処理はCPU10が行うことに限定されない。例えば、図7に示すように、次の1ラスタデータDras の格納先アドレスを指定可能な格納先アドレス指定回路46をコントローラ39に追加することで、格納先アドレス機能をコントローラ39に盛り込み、コントローラ39がメモリコントローラ47を介して出力データDout をSDRAM12に格納する。この場合、CPU10に格納先アドレス指定機能を設けずに済み、CPU10の処理負担を軽減することができる。
(変形例2)ヘッダ36と組をなすデータは1バイトデータ37に限らず、そのバイト数(ビット数)は適宜変更してもよい。例えば、各ヘッダ36に続くデータは16ビットデータでもよい。
(変形例3)バスマスタ19は、ASIC13でのみ実現されることに限らず、CPU10及びASIC13の協同によって成り立つものでもよい。
(変形例4)印刷装置1は、インクジェット式プリンタに限らず、例えばドットインパクト式、サーマル式、熱転写式、レーザ式等でもよい。
(変形例5)印刷装置1は、本例のようなプリンタに限らず、液晶ディスプレイ等のカラーフィルタ製造装置、有機ELディスプレイやFED(面発光ディスプレイ)等の電極形成装置、バイオチップ製造用の生体有機物を噴射する噴射装置、精密ピペット用の製造装置でもよい。
次に、上記実施形態及び別例から把握できる技術的思想について以下に追記する。
(1)請求項7において、前記カウンタが1ラスタデータを計測した際に、前記解凍手段による前記圧縮データの解凍を待機手段によって待機させる。
一実施形態における印刷装置の概略構成を示すブロック図。 印刷データを印刷出力する際のフローを含んだ印刷装置のブロック図。 印刷データのデータ構造を示すイメージ図。 圧縮データを解凍するデータ展開・パス分解部の詳細を示すブロック図。 圧縮データを解凍する際の印刷装置の状態遷移図。 圧縮データを解凍した際のデータイメージを示すイメージ図。 別例におけるデータ展開・パス分解部の詳細を示すブロック図。 (a)は従来における印刷データのデータ構造を示すイメージ図、(b)は用紙の印刷状態を示す用紙の平面図。
符号の説明
1…印刷装置、10…中央演算処理装置としてのCPU、12…メモリとしてのSDRAM、36…ヘッダ情報としてのヘッダ、37…単位データとしての1バイトデータ、38…解凍手段としての解凍回路、41…第2カウンタとしてのループカウンタ、42…指定手段、リセット手段及び待機手段を構成する制御回路、43…カウンタとしてのデータ数カウンタ、Dcomp…圧縮データ、Ddep …解凍データ、Dras (Dras1〜Dras3)…1ラスタデータ、M…繰返出力回数。

Claims (8)

  1. 複数ラスタからなる圧縮データを外部から入力して解凍する解凍手段と、
    前記解凍手段が解凍した解凍データのデータ数が、1ラスタ分のデータ数になったか否かを計測するカウンタと、
    前記カウンタが1ラスタデータを計測する度に、次の1ラスタデータをメモリに格納する際の格納先アドレスを指定し、当該格納先アドレスへ前記次の1ラスタデータを格納させる指定手段と、
    前記格納先アドレスの指定後に前記カウンタをリセットするリセット手段と
    を備えたことを特徴とする圧縮データ解凍回路。
  2. 少なくとも前記指定手段が前記格納先アドレスを指定している際、前記解凍手段による前記圧縮データの解凍を待機させる待機手段を備えたことを特徴とする請求項1に記載の圧縮データ解凍回路。
  3. 前記解凍手段は、一対のヘッダ情報及び単位データが複数組存在するデータを前記圧縮データとして入力し、前記ヘッダ情報内の繰返出力回数を自身の第2カウンタにセットして、前記単位データを前記繰返出力回数だけ出力することで前記圧縮データを解凍し、
    前記解凍手段は、前記リセットに基づき前記待機から前記解凍に復帰する際、待機前の前記第2カウンタがカウントアップしていなければ、該カウンタのカウントを継続しつつ、前記待機前に出力していた前記単位データの繰返出力をすることを特徴とする請求項2に記載の圧縮データ解凍回路。
  4. 前記解凍手段は、一対のヘッダ情報及び単位データが複数組存在するデータを前記圧縮データとして入力し、前記ヘッダ情報内の繰返出力回数を自身の第2カウンタにセットして、前記単位データを前記繰返出力回数だけ出力することで前記圧縮データを解凍し、
    前記解凍手段は、前記リセットに基づき前記待機から前記解凍に復帰する際、前記第2カウンタがカウントアップしていれば、前記ヘッダ情報の解析に移行することを特徴とする請求項2又は3に記載の圧縮データ解凍回路。
  5. 前記指定手段は、前記カウンタが1ラスタデータを計測した際に、中央演算処理装置に前記格納先アドレスの指定と前記次の1ラスタデータの格納とを行わせることを特徴とする請求項1〜4のうちいずれか一項に記載の圧縮データ解凍回路。
  6. 前記指定手段は、前記カウンタが1ラスタデータを計測した際に、自身で前記格納先アドレスの指定を行うことを特徴とする請求項1〜4のうちいずれか一項に記載の圧縮データ解凍回路。
  7. 複数ラスタからなる圧縮データを解凍手段が外部から入力して解凍し、前記解凍手段が解凍した解凍データのデータ数をカウンタにより計測し、当該カウンタの計測により前記解凍データのデータ数が1ラスタ分のデータ数になった際、次の1ラスタデータをメモリに格納する際の格納先アドレスを指定手段が指定して前記次の1ラスタデータを当該格納先アドレスへ格納させ、前記格納先アドレスの指定後にリセット手段によって前記カウンタをリセットすることを特徴とする圧縮データ解凍方法。
  8. 請求項1〜6のうちいずれか一項に記載の圧縮データ解凍回路と、
    前記圧縮データ解凍回路が解凍した前記解凍データを基に、用紙への印刷処理を行う印刷処理装置と
    を備えたことを特徴とする印刷装置。
JP2005089688A 2005-03-25 2005-03-25 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置 Pending JP2006264274A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005089688A JP2006264274A (ja) 2005-03-25 2005-03-25 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005089688A JP2006264274A (ja) 2005-03-25 2005-03-25 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置

Publications (1)

Publication Number Publication Date
JP2006264274A true JP2006264274A (ja) 2006-10-05

Family

ID=37200723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005089688A Pending JP2006264274A (ja) 2005-03-25 2005-03-25 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置

Country Status (1)

Country Link
JP (1) JP2006264274A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008227888A (ja) * 2007-03-13 2008-09-25 Naltec Inc メモリインターフェイスユニットおよびメモリユニット
JP2019155748A (ja) * 2018-03-14 2019-09-19 株式会社Screenホールディングス 画像データ処理方法および印刷システム
CN112905324A (zh) * 2021-02-10 2021-06-04 山东英信计算机技术有限公司 一种基于电路状态的解压缩方法、系统及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008227888A (ja) * 2007-03-13 2008-09-25 Naltec Inc メモリインターフェイスユニットおよびメモリユニット
JP2019155748A (ja) * 2018-03-14 2019-09-19 株式会社Screenホールディングス 画像データ処理方法および印刷システム
JP7080073B2 (ja) 2018-03-14 2022-06-03 株式会社Screenホールディングス 画像データ処理方法および印刷システム
CN112905324A (zh) * 2021-02-10 2021-06-04 山东英信计算机技术有限公司 一种基于电路状态的解压缩方法、系统及介质
CN112905324B (zh) * 2021-02-10 2023-01-10 山东英信计算机技术有限公司 一种基于电路状态的解压缩方法、系统及介质

Similar Documents

Publication Publication Date Title
KR100555268B1 (ko) 기록 장치 및 기록 장치의 제어 방법
JP2008276531A (ja) 画像処理装置、画像処理方法及びプログラム
US8730514B2 (en) Recording apparatus and method of controlling the recording apparatus based on image data commands
US7284811B2 (en) Recording apparatus and method for controlling recording apparatus
JP2006264274A (ja) 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置
JP4455295B2 (ja) 記録装置、及び、記録装置のデータ処理方法
JP3613076B2 (ja) 画像処理装置、画像処理方法、および記録媒体
US8520248B2 (en) Printing apparatus and printer driver
KR100771714B1 (ko) 기록 장치 및 기록 장치에 대한 데이터 처리 방법
US20100157333A1 (en) Printing apparatus and printing method
JP2006264273A (ja) 吐出ヘッド用駆動信号生成装置、印刷装置及び吐出ヘッド用駆動信号生成方法
JP5446108B2 (ja) 制御装置および印刷装置
JP2006252030A (ja) データ転送装置、データ転送方法及び印刷装置
JP2011182106A (ja) 画像データ処理装置、記録装置及び画像データ処理方法
JP4604795B2 (ja) 画像データキャッシュ装置、印刷装置および画像データキャッシュ方法
JP3970296B2 (ja) 記録装置及び記録装置の制御方法
KR100251126B1 (ko) 잉크젯프린터의인자해상도향상방법
JP5271192B2 (ja) 記録装置及びその記録制御方法
JP2006277128A (ja) Dma制御装置、液体噴射装置及びdma転送制御方法
JP2012171110A (ja) 画像データ処理装置、記録装置及び画像データ処理方法
JP2006168198A (ja) 記録装置及び記録装置の制御方法
JP2006103208A (ja) 記録装置及び記録データ変換方法
JP2006281779A (ja) 記録装置、記録装置のデータ処理方法、記録装置の制御方法、プログラム及び記憶媒体
JP2005053191A (ja) 記録システム及び記録装置の走査開始タイミング制御方法
JP2005342965A (ja) 記録装置及び記録装置のデータ処理方法