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