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