JP4399965B2 - 印刷装置および印刷方法 - Google Patents
印刷装置および印刷方法 Download PDFInfo
- Publication number
- JP4399965B2 JP4399965B2 JP2000223747A JP2000223747A JP4399965B2 JP 4399965 B2 JP4399965 B2 JP 4399965B2 JP 2000223747 A JP2000223747 A JP 2000223747A JP 2000223747 A JP2000223747 A JP 2000223747A JP 4399965 B2 JP4399965 B2 JP 4399965B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- data
- compression
- compressed
- difference
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、プリンタ装置内のデータ転送に関する。
【0002】
【従来の技術】
ホストコンピュータからプリンタへ印刷データを伝送する場合、通信回線の負荷を軽減し伝送時間を短縮する目的で、印刷データの圧縮が行われることがある。印刷データが情報量の多いイメージデータ等の場合には、その圧縮は特に有効な処理である。その処理の具体的な流れを説明すると、ホストコンピュータはまず印刷対象の印刷データを圧縮し、圧縮データを通信回線を通じてプリンタに送信する。プリンタは、圧縮された印刷データを受信し、伸長した後、メモリに印刷データを格納する。プリンタは、印刷実行時の給紙に合わせてメモリからその印刷データを読み出し、内部バスを介してプリントエンジンインターフェースに送信する。その結果、プリンタのプリントエンジンは印刷データを印刷する。
【0003】
【発明が解決しようとする課題】
ホストコンピュータとプリンタの間で印刷データの伝送時間を短縮しても、プリンタが印刷処理を完了するまでにかなりの時間を要する場合がある。それは、例えば印刷データがデータ量の非常に大きいイメージデータの場合、内部バスを介したプリンタ内部でのイメージデータの転送に多大な時間を要するからである。さらに、内部バスを介したイメージデータの転送中はプリンタの他の構成要素は内部バスを利用できず、処理が滞る。
【0004】
本発明の目的は、高速な印刷を実現する印刷装置を提供することである。
【0005】
【課題を解決するための手段】
本発明の印刷装置は、イメージデータを圧縮して、圧縮データを生成する圧縮データ生成部と、圧縮データ生成部により生成された前記圧縮データを伝送する内部バスと、内部バスを介して前記圧縮データを受け取り、伸長して前記イメージデータを得る圧縮データ伸長部と、圧縮データ伸長部により伸長された前記イメージデータを印刷するプリントエンジンとを備え、前記圧縮データ生成部は、非イメージデータを受け取り、受け取った非イメージデータから前記イメージデータを生成するイメージデータ生成部と、前記イメージデータを所定のビット数のビット列に分け、前記イメージデータの第n番目のビット列(nは整数)と第(n−1)番目のビット列の差分である差分データを求め、所定の数の当該求めた差分データそれぞれが示す値の分布を求め、当該求めた分布において、最も多くの差分データが含まれる範囲を求め、当該求めた範囲に含まれる値のいずれかを、差分データを結合するための圧縮パラメータとして導出する圧縮パラメータ導出部と、圧縮パラメータ導出部により導出された前記圧縮パラメータを用いて、イメージデータ生成部により生成された前記イメージデータを圧縮するイメージデータ圧縮部と、を含んでおり、これにより上記目的が達成される。
【0007】
前記圧縮データ伸長部は、前記圧縮パラメータを用いて前記圧縮データを伸長し、前記イメージデータを得てもよい。
【0008】
印刷装置は、外部ネットワークと接続され、前記外部ネットワークを介して前記非イメージデータを入力する入力部をさらに備えていてもよい。
【0009】
本発明の印刷方法は、印刷装置におけるイメージデータ印刷方法であって、イメージデータを圧縮して、圧縮データを生成するステップと、前記圧縮データを伝送するステップと、前記圧縮データを受け取り、伸長して前記イメージデータを得るステップと、伸長された前記イメージデータを印刷するステップとを有し、
前記圧縮データを生成するステップは、非イメージデータを受け取り、受け取った非イメージデータから前記イメージデータを生成するステップと、前記イメージデータを所定のビット数のビット列に分け、前記イメージデータの第n番目のビット列(nは整数)と第(n−1)番目のビット列の差分である差分データを求め、所定の数の当該求めた差分データそれぞれが示す値の分布を求め、当該求めた分布において、最も多くの差分データが含まれる範囲を求め、当該求めた範囲に含まれる値のいずれかを、差分データを結合するための圧縮パラメータとして導出するステップと、当該導出された圧縮パラメータを用いて、前記イメージデータを生成するステップにおいて生成されたイメージデータを圧縮するステップと、を含む、印刷方法であり、これにより上記目的が達成される。
なお、前記伸長してイメージデータを得るステップは、前記圧縮パラメータを用いて前記圧縮データを伸長し、前記イメージデータを得るステップを含んでもよい。
【0010】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の実施の形態を説明する。
【0011】
図1は、主としてプリンタ100の構成を示すブロック図を示す。本発明のプリンタ100は、印刷時に内部バスを介して内部の構成要素間で印刷データを転送する場合に、印刷データを圧縮して転送すべきデータ量を減少し、それにより内部バスの占有時間を少なくする。これにより高速な印刷を実現できる。以下の説明では、印刷データは、データ量の多いイメージデータとして説明する。イメージデータとは、イメージを構成する画素とその色等がそれぞれ対応付けできるように格納されたデータであり、プリンタ独自の制御コマンド等は含まない画像を表すデータである。イメージデータは、例えば、ビットマップ画像データである。
【0012】
図1を参照して、プリンタ100は、印刷データを入力するデータ入力部2と、演算処理一般を行う中央演算処理ユニット(CPU)4と、データを格納するランダムアクセスメモリ(RAM)6と、プリンタ100の処理プログラム等を格納する読み出し専用メモリ(ROM)8と、これらの要素を相互に接続する内部バス10とを含む。データ入力部2は、外部のネットワーク110を介してホストコンピュータ120から、または所定の印刷データが格納された情報記録媒体からデータを入力するために用いられる。ホストコンピュータ120は、他の1以上のコンピュータ130とも接続され、これらのそれぞれからの印刷指示が、ホストコンピュータ120と外部ネットワーク110とを介してデータ入力部2に入力される。データ入力部2、CPU4、RAM6、ROM8および内部バス10は、従来のプリンタに備えられていた周知の要素と同じでよく、したがって個々の構成要素の機能の詳細な説明は省略する。
【0013】
プリンタ100はさらに、圧縮データ生成部20と、パラメータ保持部30と、圧縮データ伸長部40と、エンジンインターフェース50と、プリントエンジン60とを含む。以下、各構成要素を順に説明する。
【0014】
まず、圧縮データ生成部20は、イメージデータ生成部22と、イメージデータ圧縮部24と、パラメータ導出部26とを含む。イメージデータ生成部22は、非イメージデータを受け取り、受け取った非イメージデータからイメージデータを生成する。非イメージデータとは、イメージを表すデータではあるが、イメージデータそれ自体ではないデータであり、例えば、ホストコンピュータ120からプリンタ100に送信された印刷データや、その印刷データを解析して変換された中間データである。印刷データは、所定のイメージを表すプリント言語データ(制御コマンドを含む)である(ホストコンピュータ120側で圧縮されているか否かは問わない)。中間データとは、プリントエンジン60が解釈可能なイメージデータへの変換時間を短縮するために、変換をより高速に実行できる形式に変換されたデータである。中間データは、CPU4が印刷データに含まれる制御コマンド等を解析し、その内容に応じて印刷データに所定の変更を加えることにより生成される。イメージデータ圧縮部24は、所定の圧縮効率を得るための圧縮パラメータを用いてイメージデータを圧縮し、その圧縮されたイメージデータ(圧縮データ)を出力する。圧縮処理の詳細は、後述する。パラメータ導出部26は、以前の圧縮結果に基づいて、所定の圧縮効率を得るための圧縮パラメータを導出し、出力する。
【0015】
パラメータ保持部30は、圧縮パラメータを受け取り、その内容を内部メモリ(図示せず)等に保持する。パラメータ保持部30は、保持した圧縮パラメータを、必要に応じて出力する。
【0016】
圧縮データ伸長部40は、圧縮データを受け取り、圧縮パラメータを利用して圧縮データを伸長する。圧縮パラメータは、圧縮の際に利用されたパラメータと同一のパラメータである。圧縮データ伸長部40により伸長されたイメージデータは、イメージデータ生成部22により生成されたイメージデータと同一のデータである。圧縮データ伸長部40は、伸長したイメージデータを印刷のために出力する。
【0017】
エンジンインターフェース50は、圧縮されていないイメージデータを受け取り、プリントエンジン60の動作に同期してイメージデータをプリントエンジン60に転送する。プリントエンジン60は、エンジンインターフェース50から供給されるイメージデータを印刷する。なお、エンジンインターフェース50およびプリントエンジン60は、周知の要素と同じでよい。
【0018】
次にプリンタ100の動作を説明する。プリンタ100は、ROM8に予め格納されたプログラムにしたがって動作する。このプログラムは、CPU4により解釈され、実行される。まずプリンタ100は、データ入力部2において印刷データを受け取る。印刷データは、例えば、ホストコンピュータ120のプリンタドライバにより生成された、所定のイメージを表すプリント言語データ(制御コマンドを含む)である。データ入力部2において受け取られた印刷データは、一旦RAM6に格納される。CPU4は、RAM6に格納された印刷データを解析して、印刷データを中間データに変換する。
【0019】
変換された中間データは、内部バス10を介して圧縮データ生成部20のイメージデータ生成部22に送られる。イメージデータ生成部22は、中間データからイメージデータを生成し、イメージデータ圧縮部24へ送信する。このイメージデータは、プリントエンジン60が解釈可能なデータである。イメージデータ圧縮部24は、イメージデータ生成部22から送信されたイメージデータを圧縮して圧縮データを生成する。このとき、所定の圧縮効率を得るための圧縮パラメータが利用される。イメージデータ圧縮部24は、圧縮パラメータをパラメータ導出部26から直接に、またはパラメータ導出部26からの圧縮パラメータを格納したパラメータ保持部30から受け取る。イメージデータ圧縮部24は、内部バス10を介してRAM6に圧縮データを送信し、圧縮データをRAM6に一旦格納する。また、イメージデータ圧縮部24は、パラメータ導出部26に差分データを供給する。パラメータ導出部26は、圧縮結果と差分データとに基づいて圧縮パラメータを導出する。圧縮データ伸長部40は、内部バス10を介してRAM6に格納された圧縮データを読み出す。この圧縮データは、圧縮されていないイメージデータよりもデータ量が少ないので、転送の際に内部バス10を占有する時間を短くできる。したがって、他の構成要素が内部バス10を利用して他のデータを授受する場合でも、それらの構成要素の待ち時間が減少し、その結果、印刷処理を迅速に完了できる。なお、圧縮データをRAM6に格納せずそのまま圧縮データ伸長部40に送信してもよい。イメージデータ圧縮部24は、圧縮データの送信と同時に、圧縮に使用した圧縮パラメータをパラメータ保持部30に送信する。パラメータ保持部30は、イメージデータ圧縮部24から送信された圧縮パラメータを保持する。
【0020】
圧縮データ伸長部40は、内部バス10を介してRAM6から圧縮データを受け取り、またその圧縮データの生成の際に用いられた圧縮パラメータをパラメータ保持部30から受け取る。そして圧縮データ伸長部40は、圧縮パラメータに基づいて圧縮データを伸長し、イメージデータ生成部22により生成されたイメージデータと同一のイメージデータを得る。圧縮データ伸長部40は、伸長したイメージデータをエンジンインターフェース50に送信し、エンジンインターフェース50はプリントエンジン60の動作に同期してイメージデータをプリントエンジン60に転送する。プリントエンジン60は、エンジンインターフェース50から供給されるイメージデータを印刷する。以上、プリンタ100の動作を説明した。なお、圧縮データ生成部20はCPU4の別の構成要素として説明したが、CPU4が行ってもよい。
【0021】
次に、イメージデータ圧縮部24の圧縮処理を説明する。本実施の形態では2種類の圧縮処理を説明するが、周知の圧縮アルゴリズムが利用できる。圧縮処理は、イメージデータを構成するビット列に対して適用され、またイメージデータが複数存在する場合にも、すべてのイメージデータに対して適用される。
【0022】
以下説明する圧縮処理では、イメージデータを所定のビット数のビット列に分け、ビット列のデータ量を圧縮することによりイメージデータ全体のデータ量を圧縮する。第1の圧縮処理では、ビット列間の差分を計算してイメージデータのデータ量を圧縮する。第2の圧縮処理では、ビット列のビットの並びを単に整数を表しているとして捉え、所定の除数を用いた除算によって商と余りを計算してイメージデータのデータ量を圧縮する。
【0023】
以下、第1の圧縮処理を説明する。図2は、第1の圧縮処理の手順を示すフローチャート200である。この処理では、イメージデータ圧縮部24(図1)のイメージデータの受信が、イメージデータ圧縮部24(図1)とイメージデータ生成部22(図1)とを接続するラインのビット幅単位行われることに鑑み、そのラインのビット幅のビット列同士の差分を計算する。ラインのビット幅は、例えば8ビットであるが、32ビットや64ビット等であってよい。以下では一般化のため、n番目のビット列について説明する。n番目のビット列は「イメージデータ(#n)」として参照される。なお、イメージデータ(#1)〜イメージデータ(#n−1)はすでにイメージデータ圧縮部24に取り込まれているとする。
【0024】
まず、イメージデータ圧縮部24はイメージデータ(#n)を取り込み(ステップ202)、イメージデータ(#n)と、すでに取り込み保持していたイメージデータ(#n−1)との差分を計算し、差分データ(#n)を得る(ステップ204)。差分データは、イメージデータ(#n)からイメージデータ(#n−1)を減算したときの結果を表すデータである。次に、イメージデータ圧縮部24は、差分データ(#n)のビット数がイメージデータ(#n)のビット数の半分以下か否かを判断する(ステップ206)。例えば、イメージデータ(#n)が8ビットの場合は、差分データ(#n)が4ビット以下であるか否かを判断する。より具体的な例では、
イメージデータ(#n): 11001101(2進表示)
イメージデータ(#n−1):11000100(2進表示)のとき、
差分データ(#n): 1001(2進表示)
である。このような判断を行う理由は、本来であれば1つのイメージデータの転送に8ビット要していたのが、4ビット以下の差分データを少なくとも2つ転送することにより、1つのイメージデータの情報量(8ビット)で実質的に2つのイメージデータを転送できるからである。これにより、内部バス10(図1)を介して転送するデータ量が減少し、内部バス10(図1)の占有時間を減少できる。この処理についてはステップ214に関して後述する。なお、上述の例におけるイメージデータ(#n)とイメージデータ(#n−1)との差は、厳密にいえば00001001(2進表示)であるが、上位4ビットは0のみなので下位4ビットのみを差分データとして利用する。
【0025】
差分データ(#n)のビット数が、イメージデータ(#n)のビット数の半分以下の場合(ステップ206で「はい」の場合)を説明する。この場合には、イメージデータ圧縮部24(図1)は、次のイメージデータ(#n+1)を取り込み(ステップ208)、ステップ204と同様、イメージデータ(#n+1)と、前のイメージデータ(#n)との差分を計算し、差分データ(#n)を得る(ステップ210)。そして、差分データ(#n+1)のビット数がイメージデータ(#n+1)のビット数の半分以下か否かを判断する(ステップ212)。
【0026】
差分データ(#n+1)のビット数もイメージデータ(#n+1)のビット数の半分以下である場合は、イメージデータ圧縮部24は、その差分データ(#n+1)と差分データ(#n)とを結合して1つの圧縮データを形成し、さらに1ビットのフラグビットを付加してRAMに転送する(ステップ214)。ここで、差分データ同士のビット数が異なる場合(例えば差分データ(#n)が4ビット、差分データ(#n+1)が3ビットの場合)がある。このような場合には、桁が少ない方の差分データの上位ビット側に0のビットを付け加え、他方の差分データと同一のデータサイズにすればよい。またフラグビットを設けたのは、イメージデータ圧縮部24から出力されたデータが、イメージデータ(#n)そのものであるのか、複数の差分データが結合されたデータであるのかを判断するためである。これは、差分データを結合したデータのビット数が、もとのイメージデータ(#n)のビット数(8ビット)と同じであることに基づく。例えばフラグビットは、最上位ビットとして設けられる。この説明から、イメージデータ(#n)が8ビットである上述の例の場合には、圧縮データは、フラグビットが「1」の9ビットのデータとしてRAM6(図1)に格納される。次に説明するように、イメージデータ(#n)またはイメージデータ(#n+1)が圧縮されずRAM6(図1)に出力される場合には、フラグビットが「0」のイメージデータ(#n)等がRAM6(図1)に送信される。
【0027】
以上のように、差分データの各々とフラグビットとをまとめてRAM6(図1)に転送した後は(ステップ214)、イメージデータ圧縮部24は、イメージデータ(#n+1)を直前に処理したイメージデータとして保持し、後の処理に備える(ステップ216)。
【0028】
続いて、差分データのビット数がイメージデータのビット数の半分以下でない場合を説明する。これは、ステップ206の「いいえ」の場合およびステップ212の「いいえ」の場合の両方である。差分データのビット数がイメージデータのビット数の半分以下でないということは、2つの差分データをまとめると1つのイメージデータの情報量より大きくなることを表す。したがって、イメージデータ(#n)は、圧縮できないデータであるとしてRAM6(図1)に転送される(ステップ218)。一方、イメージデータ(#n+1)が圧縮できないデータの場合には、差分データ(#n+1)とともに圧縮データを形成する予定であった差分データ(#n)は、もはやイメージデータ(#n)を表すデータとして利用できない。したがって、差分データ(#n)ではなく、イメージデータ(#n)がRAM6(図1)に転送され(ステップ222)、その後イメージデータ(#n+1)もRAM6(図1)に転送される(ステップ224)。イメージデータをRAM6(図1)に転送する際には、イメージデータにはフラグビット(例えば「0」)が付加され、圧縮データでないことが示される。そして、次の処理のために、イメージデータ(#n)およびイメージデータ(#n+1)を、直前に処理したイメージデータとして保持する(ステップ220、216)。
【0029】
以上、第1の圧縮処理を説明した。差分データの各々とフラグビットとをまとめることにより、データ量の少ない、転送時間がより短い圧縮データを得ることができる。圧縮データ伸長部40(図1)は、イメージデータ圧縮部24から出力され、RAM6(図1)に格納されたデータを内部バス10(図1)を介して読み出す。そして、そのフラグビットによりそのデータが圧縮データであると判断できれば、その差分データと直前に復元されたイメージデータとを単純に加算することで、次のイメージデータを復元できる。すなわち圧縮データを伸長して元のイメージデータに復元できる。以上の説明では、差分データのビット数がイメージデータのビット数の半分以下か否かを圧縮の基準としたが、半分でなく、例えば1/4以下か否かを圧縮の基準とし、4倍の圧縮効率を得るようにしてもよい。
【0030】
次に第2の圧縮処理を簡単に説明する。図3は、第2の圧縮処理の手順を示すフローチャート300である。第2の圧縮処理は、ビット列のビットの並びを単に整数を表しているとして捉え、所定の除数を用いた除算によって商と余りを計算してイメージデータのデータ量を圧縮する処理である。第1の圧縮処理と同様、第2の圧縮処理でも、イメージデータ圧縮部24(図1)とイメージデータ生成部22(図1)とを接続するラインのビット幅ごとに分けられた、イメージデータのビット列を処理の対象とする。まずイメージデータ圧縮部24は、イメージデータ(#n)を取り込み(ステップ302)、イメージデータ(#n)により表される数(Xn)を、所定の除数Qで除算して、商Ynと余りZnとを算出する(ステップ304)。この「イメージデータ(#n)により表される数(Xn)」とは、イメージデータ(#n)を単なる2進数のビット列とみたとき、そのビット列により表される整数のことをいう。「所定の除数Q」とは、予め決められている整数Qをいう。したがって、整数Qは除数であり、整数Xnは被除数である。
【0031】
除算の結果、イメージデータ圧縮部24は、商Ynのビット数と余りZnのビット数の和が、被除数Xn(イメージデータ(#n))のビット数の半分以下かを判断する(ステップ306)。例えば、被除数Xn=131(8ビット)、除数Q=43とした場合、商Ynは3(2ビット)、余りZnは2(2ビット)となる。したがって、商Ynのビット数と余りZnのビット数の和(4ビット)は、被除数Xnのビット数(8ビット)の半分以下となる。半分以下と判断すると(ステップ306の「はい」)、イメージデータ圧縮部24は、次のイメージデータ(#n+1)を取り込む(ステップ308)。そして上述のステップ304と全く同様、イメージデータ(#n+1)により表される数(Xn+1)と除数Qから商Yn+1と余りZn+1とを算出する(ステップ312)。イメージデータ圧縮部24は、除算の結果、商Yn+1のビット数と余りZn+1のビット数の和が、被除数Xn+1(イメージデータ(#n+1))のビット数の半分以下かを判断する(ステップ312)。
【0032】
商Yn+1のビット数と余りZn+1のビット数の和が、被除数Xn+1(イメージデータ(#n+1))のビット数の半分以下である場合には(ステップ312の「はい」)、そのYn+1、Zn+1およびYn、Znの各データを結合して1つの圧縮データを形成し、さらに1ビットのフラグビットを付加してRAMに転送する(ステップ314)。圧縮データは、例えば、上位2ビットがYn、その次の2ビットがZn、その次の2ビットがYn+1、そして下位2ビットがZn+1などのように配置され結合される。フラグビットを設けたのは、上記同様、イメージデータ圧縮部24から出力されたデータが、イメージデータ(#n)そのものであるのか、複数の商、余りが結合されたデータであるのかを判断するためである。例えばフラグビットは、最上位ビットとして設けられる。この説明から、イメージデータ(#n)が8ビットとすると、圧縮データは、フラグビットが「1」の9ビットのデータとしてRAM6(図1)に格納される。次に説明するように、イメージデータ(#n)またはイメージデータ(#n+1)が圧縮されずRAM6(図1)に出力される場合には、フラグビットが「0」のイメージデータ(#n)等がRAM6(図1)に送信される。
【0033】
続いて、商のビット数と余りのビット数の和が、被除数のビット数の半分以下である場合(ステップ306の「いいえ」の場合、またはステップ312の「いいえ」の場合)は、イメージデータ圧縮部24は、圧縮できないデータであるとしてイメージデータ(#n)をRAM6(図1)に転送する(ステップ316、ステップ318)。さらにステップ318の場合には、続いてステップイメージデータ(#n+1)をRAM6(図1)に転送する(ステップ320)。
【0034】
以上、第2の圧縮処理を説明した。第1の圧縮処理と同様、商と余りのデータとフラグビットとをまとめることにより、1つのイメージデータの情報量で実質的に2つのイメージデータを転送するので、データはより少なく、転送時間はより短くできる。圧縮データ伸長部40(図1)は、イメージデータ圧縮部24から出力され、RAM6(図1)に格納されたデータを内部バス10(図1)を介して読み出す。そして、そのフラグビットによりそのデータが圧縮データであると判断できれば、その商と余りのデータと、予め決められていた除数Qとを利用してもとの被除数Xnを求める。この被除数Xnを表すビット列を、イメージデータを構成する一ビット列としてイメージデータを復元できる。
【0035】
次に、圧縮パラメータを用いて、第1の圧縮処理の圧縮効率を高める手法を説明する。圧縮パラメータは、圧縮処理の結果、圧縮されなかったビット列が多くなった場合に利用されるパラメータである。差分データを利用する第1の圧縮処理では、差分データのビット数がイメージデータのビット数の半分以下であれば圧縮を行い、半分より大きければ圧縮を行わなかった。例えばイメージデータのビット数の半分が4ビットであるとして、差分データが5ビットのときは圧縮は行わなかった。しかし、その5ビットの差分データからさらに所定の数を減算して4ビット以下にできれば、圧縮を行うことができる。このときの「所定の数」が圧縮パラメータである。圧縮パラメータを用いると、差分データは、
として得ることができる。圧縮パラメータによって、本来圧縮されない差分データをどれだけ多く圧縮できるかが決まる。したがって、圧縮効率を高めるためには、どのような圧縮パラメータを用いるかが問題となる。
【0036】
以下、圧縮パラメータを導出する手順について説明する。説明において、特に指定しない限り、「差分データ」は(イメージデータ)−(直前に処理されたイメージデータ)により得られるデータをいうとする。圧縮パラメータを導出する時点では、まだ圧縮パラメータを用いた差分データは存在しないからである。圧縮パラメータを導出する手順は、差分データの分布をカウントし、分布が多い範囲(N個の差分データのうち、L個以上含む範囲)内のある値を圧縮パラメータとして採用する。このような圧縮パラメータを用いると、差分データから圧縮パラメータを減算した値は統計的により小さな値になり、その値に対応するビット列のビット数も少なくなるので、より圧縮効率を高められる。
【0037】
図4は、圧縮パラメータの導出手順を示すフローチャート400である。まずパラメータ導出部26(図1)は、差分データの分布をカウントするカウンタをクリアする(ステップ402)。差分データの分布は、複数定められた範囲のうち、いずれの範囲に属するかにより求められる。この例では、差分データの値がa1以上a2未満か、b1以上b2未満か、およびc1以上c2未満かが判断される。差分データは、イメージデータ圧縮部24(図1)でステップ204(図2)およびステップ210(図2)において計算されたデータである。パラメータ導出部26はまず、a1以上a2未満かを判断し(ステップ404)、その範囲に入っていればカウンタ1をインクリメントする(ステップ406)。その範囲に入っていなければ、次に差分データがb1以上b2未満かを判断する(ステップ408)。差分データがb1以上b2未満であれば、パラメータ導出部26はカウンタ2をインクリメントする(ステップ410)。そうでなければ、差分データがc1以上c2未満かを判断する(ステップ412)。差分データがc1以上c2未満であれば、パラメータ導出部26はカウンタ3をインクリメントする(ステップ414)。そうでない場合、およびカウンタ1またはカウンタ2をインクリメントした後は、それまで集計した差分データがN個になったか否かを判断する(ステップ416)。
【0038】
判断の結果、まだN個に至らない場合には、再びステップ404からの処理を繰り返す。N個の差分データを集計した場合には、パラメータ導出部26はカウンタ1〜3の値を調べ、その値がL以上のカウンタがあるか否かを判断する(ステップ418)。これは、あまりに少ない分布範囲内の値を圧縮パラメータとして採用しても、圧縮効率の向上は望めないからである。値がL以上のカウンタがある場合には、そのカウンタに対応する範囲の下限値を圧縮パラメータとして採用する。仮に値がL以上のカウンタが複数ある場合には、カウンタ値が最大のカウンタに対応する範囲の下限値を、圧縮パラメータとして採用する(ステップ420)。値がL以上のカウンタがない場合には、圧縮パラメータは0とされ(ステップ422)、圧縮パラメータを利用しない場合と実質的に同じになる。
【0039】
以上のようにして、パラメータ導出部26は圧縮パラメータを導出し、その圧縮パラメータをその後の処理に利用して圧縮効率を高める。以上の説明では、上記第1の圧縮処理に関して圧縮パラメータを求める手順を説明した。第2の圧縮処理に対しては、除数Qの値を被除数Xnに応じて変化させ、圧縮効率を向上させてもよい。例えば、被除数Xnが第1の範囲内の値のときは、除数はQ1、第2の範囲にある値のときは、除数はQ2などと変化させてもよい。
【0040】
【発明の効果】
本発明によれば、印刷時に内部バスを介して内部の構成要素間で印刷データを転送する場合に、印刷データを圧縮して転送すべきデータ量を減少し、それにより内部バスの占有時間を少なくする。これにより高速な印刷を実現できる。
【0041】
また、圧縮結果と、前記イメージデータをなすビット列が表す値に基づいて圧縮パラメータを導出し、その圧縮パラメータを用いてイメージデータを圧縮するので、圧縮効率をより高く変化させることができる。したがって転送すべきデータ量をより減少し、内部バスの占有時間を少なくできる。
【図面の簡単な説明】
【図1】 主としてプリンタの構成を示すブロック図である。
【図2】 第1の圧縮処理の手順を示すフローチャートである。
【図3】 第2の圧縮処理の手順を示すフローチャートである。
【図4】 圧縮パラメータの導出手順を示すフローチャートである。
【符号の説明】
2 データ入力部
4 CPU
6 RAM
8 ROM
10 内部バス
20 圧縮データ生成部
22 イメージデータ生成部
24 イメージデータ圧縮部
26 パラメータ導出部
30 パラメータ保持部
40 圧縮データ伸長部
50 エンジンインターフェース
60 プリントエンジン
100 プリンタ
Claims (5)
- イメージデータを圧縮して、圧縮データを生成する圧縮データ生成部と、
圧縮データ生成部により生成された前記圧縮データを伝送する内部バスと、
内部バスを介して前記圧縮データを受け取り、伸長して前記イメージデータを得る圧縮データ伸長部と、
圧縮データ伸長部により伸長された前記イメージデータを印刷するプリントエンジンとを備え、
前記圧縮データ生成部は、
非イメージデータを受け取り、受け取った非イメージデータから前記イメージデータを生成するイメージデータ生成部と、
前記イメージデータを所定のビット数のビット列に分け、前記イメージデータの第n番目のビット列(nは整数)と第(n−1)番目のビット列の差分である差分データを求め、所定の数の当該求めた差分データそれぞれが示す値の分布を求め、当該求めた分布において、最も多くの差分データが含まれる範囲を求め、当該求めた範囲に含まれる値のいずれかを、差分データを結合するための圧縮パラメータとして導出する圧縮パラメータ導出部と、
圧縮パラメータ導出部により導出された前記圧縮パラメータを用いて、イメージデータ生成部により生成された前記イメージデータを圧縮するイメージデータ圧縮部と、を含む、印刷装置。 - 前記圧縮データ伸長部は、前記圧縮パラメータを用いて前記圧縮データを伸長し、前記イメージデータを得る、請求項1に記載の印刷装置。
- 外部ネットワークと接続され、前記外部ネットワークを介して前記非イメージデータを入力する入力部をさらに備えた、請求項1または2に記載の印刷装置。
- 印刷装置におけるイメージデータ印刷方法であって、
イメージデータを圧縮して、圧縮データを生成するステップと、
前記圧縮データを伝送するステップと、
前記圧縮データを受け取り、伸長して前記イメージデータを得るステップと、
伸長された前記イメージデータを印刷するステップと、を有し、
前記圧縮データを生成するステップは、
非イメージデータを受け取り、受け取った非イメージデータから前記イメージデータを生成するステップと、
前記イメージデータを所定のビット数のビット列に分け、前記イメージデータの第n番目のビット列(nは整数)と第(n−1)番目のビット列の差分である差分データを求め、所定の数の当該求めた差分データそれぞれが示す値の分布を求め、当該求めた分布において、最も多くの差分データが含まれる範囲を求め、当該求めた範囲に含まれる値のいずれかを、差分データを結合するための圧縮パラメータとして導出するステップと、
当該導出された圧縮パラメータを用いて、前記イメージデータを生成するステップにおいて生成されたイメージデータを圧縮するステップと、を含む、印刷方法。 - 前記伸長してイメージデータを得るステップは、前記圧縮パラメータを用いて前記圧縮データを伸長し、前記イメージデータを得るステップを含む、請求項4に記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000223747A JP4399965B2 (ja) | 2000-07-25 | 2000-07-25 | 印刷装置および印刷方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000223747A JP4399965B2 (ja) | 2000-07-25 | 2000-07-25 | 印刷装置および印刷方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002036639A JP2002036639A (ja) | 2002-02-06 |
JP4399965B2 true JP4399965B2 (ja) | 2010-01-20 |
Family
ID=18717798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000223747A Expired - Fee Related JP4399965B2 (ja) | 2000-07-25 | 2000-07-25 | 印刷装置および印刷方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4399965B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5928201B2 (ja) * | 2012-07-06 | 2016-06-01 | 富士通株式会社 | 復元プログラム、圧縮プログラム、復元装置、圧縮装置、復元方法、および圧縮方法 |
-
2000
- 2000-07-25 JP JP2000223747A patent/JP4399965B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002036639A (ja) | 2002-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11165435A (ja) | 併合データ要素を生成するための方法 | |
JP5439510B2 (ja) | 画像形成装置及び画像形成プログラム | |
US7447384B2 (en) | Image processing method and apparatus | |
JP2003099767A (ja) | 画像処理装置及びその画像処理方法 | |
JP2004201309A (ja) | 画像データセット解析方法 | |
JP4009808B2 (ja) | 画像処理装置 | |
JP4399965B2 (ja) | 印刷装置および印刷方法 | |
US20100027037A1 (en) | Image Processing Controller and Image Processing Apparatus | |
US8941882B2 (en) | Method of pre-processing data on a host machine for a host-based print system | |
JP4446389B2 (ja) | 圧縮伸長モジュールのインターフェース装置 | |
US8494261B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
JP3997851B2 (ja) | 画像符号化装置および画像符号化プログラム | |
US8837841B2 (en) | Method for compressing and decompressing digital data | |
JP5093576B2 (ja) | 印刷制御装置と画像形成システム | |
US20110205591A1 (en) | Image processing device and image processing method | |
JP2005045458A (ja) | 画像圧縮方法、画像圧縮装置 | |
JP7110962B2 (ja) | 画像処理方法及び画像処理装置 | |
JPH11187261A (ja) | 画像処理装置 | |
JP3271539B2 (ja) | 画像データ処理装置 | |
JP4096650B2 (ja) | プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 | |
JP2022118499A (ja) | 画像形成装置、制御方法、及びプログラム | |
JP3323555B2 (ja) | 画像処理装置およびその方法 | |
JP2004015741A (ja) | 画像処理方法、画像処理プログラムおよび画像処理装置 | |
JPS63117562A (ja) | イメ−ジデ−タ符号化方式 | |
JP2005165412A (ja) | 印刷データ圧縮システム、印刷データ分担処理システム、印刷要求端末、印刷データ圧縮プログラムおよび端末用プログラム、並びに印刷データ圧縮方法および印刷データ分担処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050614 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050920 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051206 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090904 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091006 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091019 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |