(57)【要約】【課題】無駄な白データ出力処理を行うことになり、印刷処理速度が低下していた。【解決手段】圧縮データを入力するデータ入力手段と、入力された圧縮データを解釈し、復号化を行うデコード手段と、データを出力するデータ出力手段と、出力データ数をカウントするカウンタと、出力データバイト数を設定する出力データバイト数設定手段と、カウンタのカウント値と出力データバイト数設定手段に設定された値とを比較するデータ数比較手段と、デコード開始前とデコード終了後に出力する付加データを指定する付加データ指定手段と、付加データを生成する付加データ生成手段とを備える。【選択図】図１
2005210488.tif 000002
【特許請求の範囲】
【請求項１】
圧縮されたデータを復号化するデータ復号化装置であって、
圧縮データを入力するデータ入力手段と、入力された圧縮データを解釈し、復号化を行うデコード手段と、データを出力するデータ出力手段と、出力データ数をカウントするカウンタと、出力データバイト数を設定する出力データバイト数設定手段と、前記カウンタのカウント値と前記出力データバイト数設定手段に設定された値とを比較するデータ数比較手段と、デコード開始前とデコード終了後に出力する付加データを指定する付加データ指定手段と、前記付加データを生成する付加データ生成手段と、を備えることを特徴とするデータ復号化装置。
【請求項２】
前記データ出力手段は、出力アドレスを設定する出力アドレス設定手段と、前記出力アドレス設定手段に設定したアドレスに対するオフセットを設定するアドレスオフセット設定手段と、前記出力アドレス設定手段に設定された出力アドレス値と前記アドレスオフセット設定手段に設定されたアドレスオフセット値を加算するアドレス加算手段と、前記出力アドレス値をカウントして出力アドレスを生成する出力アドレス生成手段と、前記アドレス加算手段の加算結果と出力アドレス値の比較を行うアドレス比較手段とを含み、前記データ数比較手段による比較結果と前記アドレス比較手段による比較結果に応じて、前記付加データ指定手段の設定に従い、付加データ生成手段によって生成された付加データを生成出力する処理と、前記デコード手段を用いて圧縮データをデコードしたデータを出力する処理とを切り替える制御を行う制御手段を有することを特徴とする請求項１に記載のデータ復号化装置。
【請求項３】
前記付加データ生成手段は‘０’又は‘１’のデータを生成することが可能であり、前記付加データ指定手段は付加データとして‘０’又は‘１’のどちらかを選択して指定することが可能であることを特徴とする請求項１記載のデータ復号化装置。
【請求項４】
前記データ入力手段と前記データ出力手段はさらにＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を行い、圧縮データを読み込み、デコードデータ及び付加データを出力するよう動作することを特徴とする請求項１又は２記載のデータ復号化装置。
【請求項５】
前記デコード手段はパックビッツ圧縮法によって圧縮されたデータを復号化するデコード手段であることを特徴とする請求項〜４の何れかに記載のデータ復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮されたデータを復号化するデータ復号化装置に関するものである。
【背景技術】
【０００２】
従来、ホストコンピュータで印刷データを作成してプリンタへ送信する場合、印刷データは図形オブジェクトを含む矩形領域を単位として生成される。矩形領域は印刷用紙の印字可能範囲の左端から右端までである。図５を使用して説明する。
【０００３】
図５において、５０１は印刷用紙を表し、５０２，５０３は印刷データを含む矩形領域である。例えば、５０２に示すように、或る図形オブジェクトを含む矩形領域を印刷データの１つの単位とし、プリンタへ送る印刷データをホストコンピュータで生成し、プリンタへ送信する。５０２は三角形や四角形や円形等の図形オブジェクトを含み、５０３は楕円形の図形オブジェクトと文字データを含む。プリンタへ送信する印刷データは多値のカラーデータ（ＲＧＢ各色８ｂｉｔ等）である。プリンタでは受信した印刷データを解釈し、色空間変換を行った後、ディザ法或は誤差拡散法等を用いて、多値のカラーデータをＣＭＹＫ或はＣＭＹＫｃｍのインク各色のオンオフデータとなる２値のカラーデータを生成する。
【０００４】
ホストコンピュータからプリンタへ送信する印刷データ量を少なくするために種々のデータ圧縮方法が用いられてきた。そのデータ圧縮法の１つにパックビッツ法がある。パックビッツ法を用いてデータを圧縮して、印刷データ量を少なくすることに加え、印刷データを生成する単位である矩形領域の中に着目し、図形オブジェクトの左右の余白部分は印刷データの対象から除外して印刷データに含めないようにして印刷データ量を減らす手法が採られてきた。
【０００５】
この手法によれば、ホストコンピュータは５０２の矩形領域の中の図形オブジェクトを対象データとしてパックビッツ圧縮を行い、圧縮データの最後に終端コードを付加してプリンタへデータを送り、プリンタ内で図形オブジェクトの左端から前と右端から後ろのデータを生成してプリンタエンジンへ渡すよう構成されていた。ホストコンピュータから送信されるデータの色空間がＲＧＢの場合は「１」、ＣＭＹＫ又はＣＭＹＫｃｍの場合は「０」（白を表すデータ）を生成してプリンタエンジンへ渡すよう構成されていた。
【０００６】
上述した処理を図を用いて説明する。図６は図５に示す矩形領域５０２のような図形オブジェクトを含む矩形領域をライン単位で詳細に表現した図であり、矩形領域がｎラインから構成されている例を示したものである。斜線部６０２は図形オブジェクトが存在する部分を示し、６０１，６０３は図形オブジェクトが存在しない空白部分を示している。Ｌｉｎｅ３は矩形領域の右端にのみ図形オブジェクトが存在する場合を示している。Ｌｉｎｅ４は矩形領域の左端にのみ図形オブジェクトが存在する場合を示している。Ｌｉｎｅ５は矩形領域の左端から右端まで図形オブジェクトが存在し、空白部分がない場合を示している。
【０００７】
ホストコンピュータ上で動作するプリンタドライバは、図６に示す矩形領域をライン単位で処理していく。先ず、ライン１の空白部分６０１に着目し、空白部分のデータバイト数をカウントし、図形オブジェクトの先頭アドレスオフセットとして印刷データの先頭に付加し、次に斜線部分６０２に着目し、図形オブジェクトのデータをパックビッツ法を用いて圧縮し、圧縮データの最後に終端コードを付加してＬｉｎｅ１の印刷データとする。次に、Ｌｉｎｅ２の左端の空白部分のデータバイト数をカウントし、図形データ先頭アドレスオフセットとして印刷データに付加し、斜線部分に関してパックビッツ法を用いて圧縮し、最後に終端コードを付加する。この処理をＬｉｎｅ  ｎまで順次繰り返した後矩形領域の印刷データをプリンタへ送信する。
【０００８】
プリンタでは、受け取った印刷データから処理するラインの図形データ先頭アドレスオフセットを取り出した後、終端コードを探して、ライン単位の圧縮データを切り出し、ライン毎にパックビッツデコード処理を行う。ライン単位のデコード処理は図１１に示す手順で行われる。先ず、デコード後の印刷データを格納するメモリ領域に白データを出力する処理を行う（Ｓ１１０１）。これは、上述したように「白」を表すデータを図形オブジェクトの左端から前と、図形オブジェクトの右端から後ろへ埋めるために行われる。図７の７０１が白データを書き込む矩形領域に対応するメモリ領域である。白データの出力処理はメモリ領域７０１の先頭アドレス７０２から行われる。
【０００９】
次に、パックビッツ法で圧縮されたデータをデコードしたデータをメモリへ書き込んでいく。図９に示す斜線部分９０４である。先頭アドレス９０２に図形データ先頭アドレスオフセットを加えたアドレス９０３から書き込みを開始し、デコードしたデータが終了するアドレス９０５で書き込みを終了する（図１１のＳ１１０２）。Ｓ１１０２でデコードされたデータ９０４とＳ１１０１で白データを書き出した残領域９０１と９０６を合わせると矩形領域の１ラインの印刷データとなる。
【００１０】
上述した図１１に示す処理を矩形領域のライン数分繰り返した後、メモリ上に展開された印刷データを画像処理ブロックへ渡し、画像処理ブロックにおいて図９の印刷データをプリンタエンジンへ渡す２値データへ変換する。
【００１１】
他の従来例として、着目しているデータ部から後ろのバンド終端へ向けて特殊なコードとそれに続くデータバイトを連続して付加して伸張する方法が特許文献１で述べられている。
【００１２】
【特許文献１】特開平１０−２８７００３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したような従来例による処理においては、白データ出力処理を行ったメモリ領域にパックビッツ法で圧縮したデータをデコードした結果を書き出していたため、図６のＬｉｎｅ２、Ｌｉｎｅ４やＬｉｎｅ５に示すように矩形領域の殆ど又は全てに図形オブジェクトがある場合、白データ出力処理を行った領域の殆ど又は全てをデコード結果で書き換えるため、無駄な白データ出力処理を行うことになり、印刷処理速度の低下を招く要因の一つとなっていた。
【００１４】
このような白データ出力を効率化するためには、始めに矩形領域の左端から右端までの幅全て白データを書き込むのではなく、図形データ以外の必要な部分にのみ白データを書き出せば良い。
【００１５】
前記特許文献１に述べられている方法は、着目しているデータ部から後ろのバンド終端へ向けて特殊なコードとそれに続くデータバイトを連続して付加して伸張する方法であり、図形データの右側の白データ出力処理の１つの解法となり得るが、図形データの左端から左側の白データ出力に関しては適用できない。
【００１６】
本発明は上記従来の問題に鑑みてなされたものであり、プリンタに搭載するパックビッツデコーダがデコード結果である図形データの左右に白データを付加してメモリへ書き出すよう構成し、圧縮データを復号化するだけでなく、白データまでを含めた印刷データの生成を効率良く行えるデータ復号化装置を提供することを目的とする。        
【課題を解決するための手段】
【００１７】
このような課題を解決するために、本発明のデータ復号化装置は、圧縮されたデータを復号化するデータ復号化装置であって、圧縮データを入力するデータ入力手段と、入力された圧縮データを解釈し、復号化を行うデコード手段と、データを出力するデータ出力手段と、出力データ数をカウントするカウンタと、出力データバイト数を設定する出力データバイト数設定手段と、前記カウンタのカウント値と前記出力データバイト数設定手段に設定された値とを比較するデータ数比較手段と、デコード開始前とデコード終了後に出力する付加データを指定する付加データ指定手段と、前記付加データを生成する付加データ生成手段とを備えることを特徴とする。
【発明の効果】
【００１８】
従来は白データを書き出したメモリ領域にパックビッツ法で圧縮したデータをデコードしたデータとして上書きするので、上書きされる部分に無駄な白データ出力処理を行うことになり、結果として印刷処理速度の低下を招く要因の１つとなっていた。
【００１９】
本発明によれば、プリンタに搭載するパックビッツデコーダが矩形領域の左端から図形データの左側に白データを書き出し、続いて図形データのデコードデータを書き出し、最後に図形データの右端から右側に白データを書き出すというように白データ出力とデコードデータ出力を切り替えながら１ラインの印刷データを処理するよう構成したので、従来問題となっていたデコードデータで上書きされてしまう無駄な白データ出力処理が不要となり、効率の良い印刷データ復号化処理を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００２０】
＜実施の形態１＞
以下図面を参照して本発明の実施の形態１を説明する。
【００２１】
図３は本発明が実装されるプリンタシステムの概略ブロック図である。
【００２２】
３０１がプリンタ本体であり、ホストＰＣ３０４と接続されている。ホストＰＣとはネットワーク（有線ＬＡＮ、無線ＬＡＮ）やＵＳＢ、ＩＥＥＥ１３９４等を介して接続される。プリンタ３０１は、コントローラ３０２とプリンタエンジン３０３から構成されている。コントローラは、ホストＰＣ３０４とのインタフェース機能と、ホストＰＣから送信された印刷データを解釈し、圧縮された印刷データをデコードし、画像処理を行い、２値データへ変換してプリンタエンジンへ渡す。プリンタエンジン３０３はコントローラ３０２から２値化された印刷データを受け取り、インクジェットプリンタの場合プリントヘッドのスキャン制御、インク吐出制御、紙送り制御等を行い、印刷を行う。
【００２３】
図４はコントローラのブロックを示す図である。
【００２４】
コントローラ４０１は、ＵＳＢインタフェースを介してホストＰＣ４１５と、ＩＥＥＥ１３９４インタフェースを介してホストＰＣ４１８と、又、ＬＡＮインタフェースを介して複数のホストＰＣと接続され、更にエンジンインタフェースを介してプリンタエンジン４１３と接続される。
【００２５】
コントローラ４０１は、コントローラチップ４０２とＲＯＭ４０５、ＲＡＭ４０７、操作パネル４０９、ＩＥＥＥ１３９４インタフェース４１７、ＬＡＮコントローラ４１９、拡張インタフェース４２０から構成され、コントローラチップ４０２とＩＥＥＥ１３９４インタフェース４１７、ＵＳＢインタフェース４１４、拡張インタフェース４２０は拡張バスを介して接続される。
【００２６】
コントローラチップ４０２は、所謂ＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃｈｉｐ）であり、ＣＰＵ４０３、ＲＯＭコントローラ４０４、ＲＡＭコントローラ４０６、操作パネルインタフェース４０８、バスインタフェース４１６、パックビッツデコーダ４１０、画像データ処理ブロック４１１、ＵＳＢインタフェース４１４、エンジンインタフェース４１２から構成されるＬＳＩであり、内部バスによって相互に接続されている。
【００２７】
ＣＰＵ４０３は、ＲＯＭ４０５に格納されたプログラムに従って動作し、各種インタフェースを通じてホストＰＣ、プリンタエンジンとの通信や各部の制御を行う。ＲＯＭコントローラ４０４は、接続されたＲＯＭ４０５とのインタフェースを行う。ＲＡＭコントローラ４０６は、接続されたＲＡＭ４０７とのインタフェースを行い、ＲＡＭアクセスタイミングを制御しながら、ＣＰＵ４０３や他のブロックからの要求に従い、ＲＡＭへのデータ入出力を行う。操作パネルインタフェース４０８は、操作キーやＬＥＤ、ＬＣＤを実装した操作パネル４０９とのインタフェースを行い、ユーザからの操作キー入力をＣＰＵ４０３へ伝え、ＣＰＵ４０３からの命令によってＬＥＤ、ＬＣＤの表示が制御される。バスインタフェース４１６は、拡張バスを制御するブロックであり、拡張バスに接続された各コントローラとの通信制御を行う。
【００２８】
パックビッツデコーダ４１０は、ホストＰＣから送信されるパックビッツ法によって圧縮された印刷データをＲＡＭ４０７から読み出し、デコードしてＲＡＭへ書き戻す（格納する）。画像データ処理ブロック４１１は、印刷データとしてホストＰＣから送信された画像データをＲＡＭ４０７から読み出し、各インク色のドットデータに変換し、ＲＡＭ４０７へ書き戻す（格納する）ブロックである。エンジンインタフェース４１２は、各インク色のドットデータをＲＡＭ４０７から読み出し、プリンタエンジン４１３へ送信する（出力する）制御を行う。
【００２９】
ホストＰＣから送信される印刷データは、コントローラの各インタフェースから入力される。ＩＥＥＥ１３９４インタフェース４１７或はＬＡＮコントローラ４１９を経由して入力された印刷データは拡張バスを通じてコントローラチップ４０２のバスインタフェース４１６を経由し、ＲＡＭコントローラ４０６の制御に従って、ＲＡＭ４１７へ書き込まれる。ＵＳＢインタフェース４１４は、コントローラチップ４０２に内蔵されており、ホストＰＣ４１５から入力された印刷データは同様にしてＲＡＭ４０７へ書き込まれる。
【００３０】
ＲＡＭ４０７へ書き込まれた印刷データは、ＣＰＵ４０３によって通信プロトコルが解釈された後、パックビッツデコーダ４１０へ渡され、デコードされる。デコードされた印刷データは、画像データ処理ブロック４１１へ渡され、各インク色のドットデータに変換された後、エンジンインタフェース４１２を通じてプリンタエンジン４１３へ送信されて印刷される。
【００３１】
図２は図４に示すパックビッツデコーダ４１０の内部ブロック図である。パックビッツデコーダ４１０は本図では２０１で示され、内部バスインタフェースブロック２０２とパックビッツデコーダブロック２０４、レジスタブロック２０３から構成されており、レジスタブロック２０３は、内部インタフェースブロック２０２、パックビッツデコーダ２０４と接続され、レジスタに設定された情報を各ブロックへ伝達する。
【００３２】
レジスタブロック２０３は、ＣＰＵ４０３から設定されるＤＭＡソースアドレス、ＤＭＡデスティネーションアドレス、読み込みデータ長、領域長、図形データ先頭アドレスオフセット、動作モード等の各種設定情報を内部レジスタに保持する。
【００３３】
内部バスインタフェースブロック２０２は、コントローラチップ４０１の内部バスに接続されており、内部バス上でバスマスタとなってＲＡＭ４０７へアクセスを行うＤＭＡコントローラ機能を持つ。レジスタブロック２０３の各種設定情報に従い動作し、白データ（００Ｈ又はＦＦＨのバイトデータ）を生成出力する機能を持つ。ＤＭＡソースアドレスを先頭アドレスとするメモリ領域から順次読み出したデータをパックビッツデコーダブロック２０４へ渡し、パックビッツデコーダブロック２０４から受け取ったデコードデータをＤＭＡデスティネーションアドレスと図形データ先頭アドレスオフセットを加えたアドレスを先頭アドレスとするメモリ領域へ順次書き込む。
【００３４】
レジスタブロック２０３の設定に応じてパックビッツデコードの開始前と終了後に白データを出力する機能を持つ。又、ＤＭＡコントローラ機能に含まれ、図示しないアドレスカウンタ、入力データバイト数カウンタ、出力データバイト数カウンタ、カウンタ値の比較器を備えている。
【００３５】
パックビッツデコーダブロック２０４は、パックビッツ法に従って圧縮された圧縮データを解釈し、パックビッツデコードを行うブロックである。コマンドバイトを解釈し、コピー動作かムーブ動作を判定して、コマンドに従ってデータを出力する。内部バスインタフェースブロック２０２から入力される圧縮データの先頭からデコードをはじめ、圧縮データの終端を示す終端コードが来たところでデコード動作を終了する。
【００３６】
次に、図１と図８〜図１０を用いてパックビッツデコーダの動作を説明する。尚、図８〜図１０は印刷データが書き出されるメモリ領域を模式的に表したものであり、データが書き出される順に分けてあるが、同じ領域を示しているので図中に示したアドレス、領域を指す番号の末尾が同じものは各図で同じものを表している。
【００３７】
先ず、ＣＰＵ４０３がパックビッツデコード処理の各種設定をレジスタブロック２０３に対して行う。ＤＭＡソースアドレスとしてパックビッツ圧縮された印刷データの各ラインの先頭を指すＲＡＭ４０７上のアドレスを設定する。ＤＭＡデスティネーションアドレスとして印刷データの各ラインの先頭を指すＲＡＭ４０７上のアドレス（図８におけるアドレス８０２）を設定する。
【００３８】
更に、図６のＬｉｎｅ１やＬｉｎｅ２のように図形データの左側に空白部分がある場合、ホストＰＣから送られてくる印刷データに付加されている図形データ先頭アドレスオフセットを切り出して設定する。この場合、パックビッツ圧縮されたデータをデコードしたデータを書き出すメモリ領域の先頭アドレスは、ＤＭＡデスティネーションアドレス８０２に図形データ先頭アドレスオフセットを加えたアドレス８０３となる。読み込みデータ長はパックビッツ圧縮されたデータの長さを設定する。領域長は印刷データの矩形領域の長さ（図５の５０２の矩形領域の幅である。印刷用紙の印字可能範囲幅であり、図８においてはアドレス８０７からアドレス８０２を引いた値となる。）を設定する。白データとして００Ｈ又はＦＦＨのどちらのバイトデータを出力するかを設定する。００Ｈ、ＦＦＨどちらのデータを出力するかは、受信した印刷データがＲＧＢ、ＣＭＹＫのどちらの色空間データかに依存する。ＲＧＢの場合はＦＦＨ、ＣＭＹＫの場合は００Ｈを設定する。これらの設定後、パックビッツデコーダ２０１のＤＭＡ動作を開始させる。
【００３９】
ＤＭＡ起動後の処理を図１に示す。
【００４０】
Ｓ１０１では、図形データの左側の白データ出力処理を行うかどうかを判定する。図形データ先頭アドレスオフセットの値が「０」であれば白データ出力処理を行わず、Ｓ１０４へ進む。
【００４１】
Ｓ１０２では、図形データの左側の白データ出力処理を行う。レジスタブロック２０３の設定に従って、００Ｈ又はＦＦＨのどちらかのバイトデータを書き出す。ＤＭＡデスティネーションアドレス８０２から白データの出力を開始する。白データ出力後、アドレスカウンタをインクリメントする。
【００４２】
Ｓ１０３では、図形データの左側の白データ出力処理の終了を判定する。アドレスカウンタの値（出力アドレス）がＤＭＡデスティネーションアドレス８０２と図形データ先頭アドレスオフセットを加えたアドレス８０３と等しくなると、次の処理Ｓ１０４へ進み、そうでなければＳ１０２へ戻り、白データ出力を繰り返す。図形データの左側の白データ出力処理が終了した時点で図８の８０１の領域に白データが出力されたことになる。
【００４３】
Ｓ１０４では、パックビッツデコード処理を行う。内部バスインタフェースブロック２０２はＤＭＡソースアドレスから圧縮データを読み込み、パックビッツデコーダブロック２０４へ渡し、パックビッツデコーダブロックが出力するデコードデータを受け取り、ＤＭＡデスティネーションアドレスと図形データ先頭アドレスオフセットを加えたアドレス８０３から書き込みを開始する。デコード処理は圧縮データ分繰り返され、圧縮データがなくなった時点で終了する。図９においては、アドレス９０３からデコードデータ９０４の書き込みを開始し、アドレス９０５でデコード処理を終了する。デコーダからの出力を終了した時点で図９の斜線部９０４の印刷データが生成されたことになる。
【００４４】
Ｓ１０５では、図形データの右側の白データ出力処理を行うかどうかを判定する。内部バスインタフェースブロック２０２において出力データバイト数カウンタとレジスタブロック２０３に設定された領域長を比較し、領域長の方が長ければ、Ｓ１０６へ進み、右端白データ出力処理を行う。図９の例ではデコードデータ９０４は領域長にまで達していない（領域の右端アドレス９０７まで達していない）ので、次に図形データの右側に白データ書き込み処理を行う。図６のＬｉｎｅ３のように領域長の右端までデコードデータが書き出されている場合は、右端白データ出力処理は行わず、本処理を終了する。
【００４５】
Ｓ１０６では、図形データの右側の白データ出力処理を行う。レジスタブロック２０３の設定に従って、００Ｈ又はＦＦＨのどちらかのバイトデータを書き出す。図１０におけるアドレス１００５から白データの出力を開始する。白データ出力後、アドレスカウンタをインクリメントする。
【００４６】
Ｓ１０７では、図形データの右側の白データ出力処理の終了を判定する。出力アドレス値がＤＭＡデスティネーションアドレス１００２に領域長を加えたアドレス１００７と等しくなるまではＳ１０６へ戻り、白データ出力を繰り返す。出力アドレス値がアドレス１００７と等しくなると白データ出力処理を終了する。図形データの右側の白データ出力処理が終了した時点で図１０の１００６の領域に白データが出力され、アドレス１００２〜１００７までの１ライン分の印刷データ出力処理が完了する。
【００４７】
本処理を矩形領域を構成するライン数回繰り返すことによって、矩形領域の印刷データを生成できる。生成した印刷データは、画像データ処理ブロック４１１でプリンタエンジン用の２値データへ変換され、エンジンインタフェース４１２を経由してプリンタエンジン４１３へと送られ、印刷される。尚、プリンタエンジン４１３は、記録ヘッド（黒インクを吐出するモノクロ記録ヘッド、シアンインクを吐出するカラー用記録ヘッド等）を用いたインクジェット方式である場合、白データ（００Ｈ）に相当する記録ヘッド（ノズル）からは、インクの吐出がなされない。
【００４８】
上述したように、本実施の形態においては、パックビッツデコーダが矩形領域の図形データの左端から左側と右端から右側の白データを付加してデコード結果をメモリへ書き出すので、デコードデータで上書きされてしまう無駄な白データ出力処理が不要となり、印刷データ復号化処理を効率化できる。
【００４９】
＜実施の形態２＞
実施の形態１は、内部バスインタフェースブロック２０２に出力アドレスカウンタ、左端白データ出力判断ロジック、出力データバイト数カウンタ、右端白データ出力判断ロジック、白データ生成部を実装した例を示したが、上記左端白データ出力判断ロジック、出力データバイト数カウンタ、右端白データ出力判断ロジック、白データ生成部をパックビッツデコーダブロック２０４へ実装し、出力アドレスカウンタ値を内部バスインタフェースブロック２０２から参照するように構成しても実施の形態１と同様に動作させることができる。
【００５０】
又、本発明においてはホストＰＣで圧縮される方式としてパックビッツ法に関して説明を行ったが、パックビッツ法に限定されるものではなく、印刷データの１ラインを単位で圧縮できる他の圧縮方法を用い、対応するデコード機能を持つデコーダをデコーダブロック２０４としてコントローラチップ４０２に搭載すれば、同様に動作させることができる。
【産業上の利用可能性】
【００５１】
本発明は、圧縮されたデータを復号化するデータ復号化装置に対して適用可能である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態１におけるデータ復号化装置の処理動作を示すフローチャートである。
【図２】本発明の実施の形態１におけるデータ復号化装置の内部構成を示すブロック図である。
【図３】本発明におけるプリンタシステムの構成を示すブロック図である。
【図４】本発明におけるプリンタのコントローラの構成を示すブロック図である。
【図５】本発明が対象とするプリントデータを示す図である。
【図６】本発明が対象とするプリントデータの矩形領域内の詳細を示す図である。
【図７】本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域に白データを書き出した状態を示す図である。
【図８】本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域の左端から図形データの左側に白データを出力した状態を示す図である。
【図９】本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域に復号化したデータを出力した状態を示す図である。
【図１０】本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域の図形データの右端から右側に白データを出力した状態を示す図である。
【図１１】従来例におけるデータ復号化の処理動作を示すフローチャートである。
【符号の説明】
【００５３】
Ｓ１０１    左端白データ出力を行うかどうかを判定する処理
Ｓ１０２    左端白データ出力処理
Ｓ１０３    左端白データ出力処理の終了を判定する処理
Ｓ１０４    パックビッツデコード処理
Ｓ１０５    右端白データ出力を行うかどうかを判定する処理
Ｓ１０６    右端白データ出力処理
Ｓ１０７    右端白データ出力処理の終了を判定する処理
【図１】
2005210488.tif 000003
【図２】
2005210488.tif 000004
【図３】
2005210488.tif 000005
【図４】
2005210488.tif 000006
【図５】
2005210488.tif 000007
【図６】
2005210488.tif 000008
【図７】
2005210488.tif 000009
【図８】
2005210488.tif 000010
【図９】
2005210488.tif 000011
【図１０】
2005210488.tif 000012
【図１１】
2005210488.tif 000013