JP4056338B2 - 画像データの圧縮装置及び方法 - Google Patents
画像データの圧縮装置及び方法 Download PDFInfo
- Publication number
- JP4056338B2 JP4056338B2 JP2002275553A JP2002275553A JP4056338B2 JP 4056338 B2 JP4056338 B2 JP 4056338B2 JP 2002275553 A JP2002275553 A JP 2002275553A JP 2002275553 A JP2002275553 A JP 2002275553A JP 4056338 B2 JP4056338 B2 JP 4056338B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- compression
- bits
- unit
- 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
Landscapes
- Record Information Processing For Printing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【産業上の利用分野】
本発明は、一般に、画像データの圧縮方法及びかかる方法を利用するカラー画像形成装置に係り、特に、YMCKフレームデータから構成されるカラー画像データの圧縮方法に関する。ここで、「YMCKフレームデータ」とは、黄(Yellow)、赤(Magenta)、青(Cyan)、黒(Black)で表された画像又は映像の一コマのデータをいう。
【0002】
【従来の技術】
近年、ディジタルカメラなどカラー画像が流通する機会が多くなり、それに伴って、これを印刷するカラープリンタの需要が益々高まっている。多値をサポートするカラープリンタで問題になるのが、YMCKフレームデータのサイズが膨大であることである。例えば、画像をA4サイズで解像度600dpiの16値の中間値で表現する場合は、64Mbyte/pageのメモリ容量が必要となる。スループットや両面印刷を考慮すると、非圧縮では搭載されるメモリ容量は膨大となる。かかるメモリ容量の増大は、プリンタのコストアップを招くため、好ましくない。
【0003】
また、丁合い印刷を高速に実行する場合、ラスタライズ後の最終のYMCKフレームデータをメモリ又はHDD等に保存すれば、2部目以降の印刷はラスタライズ処理が不要となり、実効性能が向上する。しかし、フレームデータが膨大な場合、HDD容量やHDDのアクセス速度等が高速動作を制限するため、非圧縮だと逆に性能劣化になる場合もある。
【0004】
しかも、20ppmクラスの高速カラープリンタを実現しようとすると、処理速度は数10Mbyte/sec必要となり、しかも最悪値保証(最悪の場合でも印刷が間に合うこと)が必要となる。例えば、A4サイズで解像度600dpiの256値画像で128Mbyte,20ppmは3秒で1ページなので約43Mbyte/sec、その他の処理も必要なのでマージンを考慮して50Mbyte/sec以上が必要となる。
【0005】
従って、YMCKフレームをリアルタイムで圧縮/伸張する技術がどうしても必要になる。そこで、従来は、ランレングス手法、ハフマン符号、レンペル・ジップ法、JPEG、JBIG、等、各種の圧縮方法が提案されている。
【0006】
その他の先行技術文献としては、特開平05−236280号公報、特公平06−095724号公報、特許第2785641号公報などがある。
【0007】
【発明が解決しようとする課題】
しかし、ランレングス手法は、非常に単純なアルゴリズムで高速に処理できるが、直前のデータの繰り返ししか圧縮しないので、ディザがかかったような画像データは効率的に圧縮できない。換言すれば、ランレングス手法は圧縮率が余り高くないという問題を有する。TIFFのPackBitも同様である。ハフマン符号は、画像データのようなイメージには向いておらず、処理時間も長い。
【0008】
レンペル・ジップ法は、入力が1バイト単位で遅く、可変長のストリング一致検出に時間がかかるために、たとえハードでパイプライン化したとしても1クロックで動作するようなハードはできない。ALDC(Adaptive Lossless Data Compression)も同様で実行速度の最悪値保証ができない。最悪値保証がないとプリンタでは印刷に間に合わない場合が生じる。このように、レンペル・ジップ法では実行時間が遅いという問題がある。
【0009】
JPEGは、圧縮率が高いもののロッシーであり、画質が劣化する。即ち、ランレングス手法、ハフマン符号、レンペル・ジップ法が圧縮前のデータと圧縮して伸張した後のデータとが全く同一であるのに対して、JPEGは圧縮して伸張した後のデータには損失がある。また、JPEGは、圧縮処理が複雑で、特に、プリンタのように600dpiなどの解像度が要求される環境ではリアルタイム処理が行えず、伸張にも時間がかかる。
【0010】
JBIGは、FAXのような2値画像データを対象としており、多値データは扱えない。
【0011】
従って、特に多値をサポートする高速カラープリンタを実現する場合、従来の圧縮手法が流用できず、新しい圧縮手法が必要となった。
【0012】
そこで、カラープリンタのメモリ容量を増加せずにメモリの容量は標準カラープリンタと同程度にして圧縮処理を効果的に行って高速処理を実現可能な圧縮方法、並びに、それを利用する高速のカラープリンタを提供することを本発明の例示的な目的とする。
【0013】
【課題を解決するための手段】
【0025】
本発明の一側面としての圧縮方法は、画像データを圧縮する方法であって、前記画像データに空白データが含まれるかどうかを判断するステップと、前記判断ステップが前記空白データが含まれると判断した場合に、前記空白データを一以上繰り返すことを表す第1の符号を生成することによって前記画像データを圧縮するステップとを有し、前記画像データが、当該画像データの直前16個のデータのいずれかの繰り返しであるかどうかを判断するステップと、前記判断ステップが繰り返しであると判断した場合に前記画像データを、手前のデータを一以上繰り返すことを表す第2の符号を生成するか、若しくは、前記第1又は第2の符号を一以上繰り返すことを表す第3の符号を生成することによって、圧縮するステップとを有することを特徴とする。かかる圧縮方法は、(YMCKフレームデータなど)空白データが多い画像データを一律に圧縮するのではなく冗長性の高い空白データを圧縮することによって圧縮処理の単純化と圧縮率の向上を図っている。また、かかる圧縮方法は、画像データによっては、ディザの繰り返し成分など、何ドットか前のパターンが繰り返されることが多い場合があることに鑑みて、連続空白データ又はディザによる連続繰り返し部を更に圧縮することができる。
【0026】
前記画像データは32ビットであり、前記圧縮方法は、前記画像データの上位16ビットと下位16ビットの少なくとも一方が、前記画像データの直前8個のデータのそれぞれの上位16ビット又は下位16ビットと一致するかどうかを判断するステップとを更に有し、前記画像データの上位16ビットと下位16ビットの少なくとも一方が一致すると判断された場合に、前記少なくとも一方を圧縮するステップとを有することを特徴とする。32ビットを処理単位とすると、その中にある16ビット単位の細かい冗長度は圧縮されない。この冗長成分が多いデータの場合、高い圧縮率を得られないという問題が発生する。例えば、特に、写真等の写実的な絵の場合かなりミクロレベルでしか繰り返しが発生しない可能性がある。一方、16ビットを処理単位にすると圧縮に長時間かかることになる。そこで、かかる圧縮方法は、高速処理を維持したまま、16ビット単位の冗長成分も圧縮できるように圧縮率を向上している。
【0027】
上述の圧縮方法を実行するためのプログラムも本発明の一側面を構成する。
【0028】
本発明の他の目的と更なる特徴は、以下、添付図面を参照して説明される実施例において明らかになるであろう。
【0029】
【発明の実施の形態】
以下、図1を参照して、カラー画像形成装置1について説明する。ここで、図1は、カラー画像形成装置1の概略側面断面図である。カラー画像形成装置1は、カラープリンタとして具体化され、4つの画像形成ユニット200a乃至200dと、用紙引き込み部310と、用紙搬送部320と、定着器330と、スタッカ350とを有する。カラー画像形成装置1は、YMCKの4色を使用しており、黒(K)が画像形成ユニット200a、青(C)が画像形成ユニット200b、赤(M)が画像形成ユニット200c、黄(Y)が画像形成ユニット200dにそれぞれ割り当てられている。なお、特に断らない限り、参照番号200は参照番号200aなどを総括するものとする。もちろん、本発明はこれらに更に数色加わっても適用可能である。また、カラー画像形成装置1は片面印刷と両面印刷の両方に適用できることはいうまでもない。
【0030】
用紙引き込み部310は、複数枚の印刷用紙Pを収納するホッパ(又はトレイ)312から最上位の用紙Pを取り出して装置内部の用紙搬送部320へ供給する。用紙引き込み部310は、ホッパ312と、ピックアップローラ314とを有する。ホッパ312は複数枚の用紙Pを収納する。ピックアップローラ314は、ホッパ312にセットされている用紙Pの最上位の用紙Pに当接してこれを1枚ずつ繰り出す。
【0031】
用紙搬送部320は、用紙引き込み部310から用紙Pを受け取って、これを用紙搬送路345に沿って装置上部のスタッカ350まで搬送する。用紙搬送部320は、紙送りローラ322と、搬送ベルト324と、搬送ベルト324を回転させる駆動ローラ326と、従動ローラ326とを有する。用紙Pは紙送りローラ322によって搬送ベルト324に搬送される。その後、用紙Pは、ローラ326及び328によって図1の左回り(反時計回り)に回転している搬送ベルト324に静電吸着し、画像形成ユニット200の感光体ドラム210とベルト324との間を搬送され、定着器330を経て、スタッカ350に排出される。
【0032】
図1に示すように、好ましくは、搬送ベルト324の下側のベルト面にはベルト移動方向に直行する方向にセンサ329が設置される。センサ329は搬送ベルト324のレジストマークを光学的に読み取って搬送ベルト324の位置ずれを検出する。
【0033】
画像形成ユニット200は印刷用紙Pに所望のトナー像を形成(転写)する機能を有する。図1に示すように、4つの画像形成ユニット200a乃至200dは直線的に整列している。画像形成ユニット200は、図2に示すように、感光体ドラム210と、前帯電器220と、露光装置としてのLDユニット225と、現像装置230と、転写ローラ240と、クリーニング部250と、スクリューコンベア260とを有する。ここで、図2は、画像形成ユニット200の概略断面図である。
【0034】
感光体ドラム210は回転が可能なドラム状導体支持体上に感光性誘電体層を有し、像保持部材として使用される。感光体ドラム210は、例えば、表面に機能分離型有機感光体を厚さ約20μmに塗布したアルミニウム製ドラムから構成され、外径30mmを有して矢印方向に周速度70mm/sで回転する。
【0035】
前帯電器220は、例えば、スコロトロン帯電器から構成され、感光体ドラム210の表面に一定の電荷量(例えば、約−700V)を与える。
【0036】
露光装置225は感光体ドラム210を一様に(例えば、−600Vに)帯電する。露光装置225は、当業界で周知のいかなる露光方式(例えば、機械走査方式や固定走査方式)も採用することができ、LDから構成される。
【0037】
現像装置230は、感光体ドラム210に形成された潜像をトナー像として可視化する機能を有する。現像装置230は、現像ローラ232と、リセットローラ234と、トナーカートリッジ236とを有する。本実施例では、現像剤に例示的にYMCKの4色のトナーを使用している。現像剤は一成分、二成分(即ち、キャリアを含む)とを問わず、磁性、非磁性を問わない。トナーカートリッジ236はトナーを貯蔵しており、リセットローラ234にトナーを供給する。リセットローラ234は現像ローラ232に当接してトナーを現像ローラ232に供給する。現像ローラ232は感光体ドラム210に接触又は非接触に配置され、静電気力を利用して感光体ドラム210にトナーを供給する。この結果、感光体ドラム210上にトナー像が形成される。現像ローラ232上に残留した未使用トナーは、リセットローラ234によって回収され、トナーカートリッジ236内へと戻される。
【0038】
転写ローラ240は、静電的にトナーを吸着するような電界を発生させ、転写電流を利用して感光体ドラム210上に吸着しているトナー像を用紙Pに転写する。
【0039】
クリーニング部250は転写後に感光体ドラム210上に残っているトナーを回収し廃棄するか、必要があれば、スクリューコンベア260によって回収したトナーをトナーカートリッジ236に返却する。また、クリーニング部250は感光体ドラム210上のごみを回収する機能も有する。クリーニング部250は感光体ドラム210のトナーと帯電を除去するために磁気やゴム摩擦を含む各種の方法を利用することができる。
【0040】
定着器330は用紙Pにトナー像(トナー重層)を永久的に固着させる機能を有する。転写後のトナーは用紙Pに弱い力で付着しているだけであるから簡単に剥がれ落ちる。そこで、定着器330が、加圧及び加熱によりトナーを融溶して用紙Pに浸透させる。定着器330は、一対の定着ローラ332を有する。一対の定着ローラ332は、互いに平行かつ接触するように配置され、それらの間にはニップが形成される。定着ローラ332は、例えば、フッ素系ゴムやシリコンゴム等から構成される。定着ローラ332は熱源としてハロゲンランプ等を内蔵し、例えば、170℃乃至190℃に加熱することができる。定着ローラ332の表面温度を検出するために図示されていないサーミスタが設置されている。更に、一対の定着ローラ332の間には、例えば、33atmの高圧が付加されるようになっている。これにより、用紙P上に転写したトナーは高温、高圧によって定着される。
【0041】
スタッカ350には印刷終了後の用紙Pが排出される。
【0042】
以下、図3を参照して、カラー画像形成装置1の制御系について説明する。ここで、図3は、カラー画像形成装置1の制御系のブロック図である。制御系は、プリンタコントローラ100と、メカ制御回路部180と、プリンタエンジン190とを有する。
【0043】
プリンタコントローラ100は、カラー画像形成装置1の裏面等に設けられた図示しないプリンタケーブルなどを介して図示しないコンピュータ、LAN等のネットワークその他の外部装置(以下、単に「ホスト」という。)10に接続されている。ホスト10が典型的なパーソナルコンピュータにより構成される場合、ホスト10は、ウィンドウズなどのOSによって構築され、各種アプリケーション12とプリンタドライバ14をサポートする。
【0044】
コントローラ100は、コントローラボードとして具体化され、ホスト10からのコマンド解析処理、描画処理、色変換処理、ディザ処理、PWM処理、圧縮処理を行う。コマンド解析処理ではコントローラ100は、処理の分析、割り当て、内部言語への変換を行う。描画処理では、コントローラ100は、画像の座標変換、図形描画などを行う。
【0045】
色変換処理では、コントローラ100は、RGBから印刷に用いる色であるYMCKへの変換を行う。具体的には、色変換処理は、A/D変換やシェーディング補正などを行う入力処理(Input Processing)によりRGBをCMYに変換し、画素単位のYMCデータからエッジや網点を検出などする領域分離処理(Segmentation)、CMYの3色の比率から黒(K)の生成量を決定する黒生成(BG:Black Generation)、トナーの分光特性における他色との重なりを除去して色の濁りを抑える色補正処理(Color Correction)を含む。
【0046】
ディザ処理(スクリーン処理又は面積階調処理と呼ばれる場合もある。)では、コントローラ100は、YMCK各色毎に多値のデータを濃度に応じた面積のドットパターンに変換する。
【0047】
PWM処理では、指定のPWM信号を実際のパルスに変換する。これらの処理の結果、コントローラ100は、ホスト10から送られるYMCKの印刷パターン情報を、例えば、ビットマップ形式のラスタ信号(又はビデオ信号)に展開してメカ制御回路部180に送出する。このようなラスタライズ後の最終のラスタ信号又はビデオ信号を本出願ではYMCKフレームデータと呼ぶ。
【0048】
本実施形態では、コントローラ100は更に圧縮処理を行う。まず、本発明者らは、YMCKフレームデータの全データを、従来のように均等に圧縮するのではアルゴリズムが複雑になり高速の圧縮/伸張処理を効率的に行えないし、大容量のメモリが必要になると分析した。このため、本発明者らは、ハードを単純化するために、YMCKフレームデータの冗長成分のみを圧縮することが必要であると考えた。そこで、本発明者らは、YMCKフレームデータのどこに冗長性があるかをまず検討した。その結果、本発明者らは以下の3つの冗長性を発見した。
【0049】
第1に、YMCKフレームデータは、人間の目で見てもYMCKの各色についても、空白データ(0)が多いことを発見した。なお、本出願ではフレームデータは0を空白とする加色法を想定している。例えば、YMCK全てを最高値で印刷した時を合計インク使用量百分率400%とすると、「240%以内」などと当業界でよく表現されるように、実際の印刷の合計インク使用量百分率は250%以下である。これは換言すれば、実際の印刷では空白率は150%以上存在することを意味する。これは、下色除去(UCR:Under Color Removal)及び黒生成を行うために結果である。下色除去は、YMCの3色が重なった部分は完全な黒ではなくやや灰色であることからこれをKインクに置き換える処理である。これにより、合計インク量を低減する効果を有する。即ち、YMCやYMCKが全て重なることはない。
【0050】
第2に、本発明者らは、YMCKフレームデータにおいては何ドットか前のパターンが繰り返されることが多いことを発見した。写真などの写実的な絵の場合、色の変化は緩やかであるがミクロ的に見れば繰り返し部分が存在する。また、図形、文字などの抽象的な絵の場合は、変化は急激だが繰り返しが多い。
【0051】
第3に、何ドットか前の相対位置は同一であることが多い。これは、面積ディザの線数が一定であることによる。但し、その相対位置は常に同一ではない。同一ページにおいては、文字部は解像度優先のディザ、画像部は階調優先のディザなど、複数のディザを持つ可能性があるためである。
【0052】
一方、YMCKフレームデータを高速で圧縮伸張するために、本実施形態は、以下の7点が必要であると考えた。もっとも、本発明は、これら全てを満足することを要求するものではない。
【0053】
第1に、簡単な処理と高速動作のため、圧縮はハード又はソフトで行うことである。第2に、印刷時のオーバーランを防止するために伸張はハードで行うことである。第3に、ハードのゲート数は、数万ゲート以下など、圧縮/伸張共に非常に少ないことである。第4に、入力データを読んで直ちに圧縮/伸張することを可能にするために1パス方式であることである。第5に、20ppmクラスの高速カラープリンタを実現するために処理速度がハードの場合50Mbyte/secを超えることである。第6に、圧縮されたデータは元データよりも小さくなることである。第7に、印刷された画像の品質を保証するために損失のない可逆圧縮であることである。
【0054】
上記冗長性と要求事項に鑑みて、本実施形態による圧縮手法は、幾つかの特徴を有する。
【0055】
第1に、8ビット(即ち、1バイト)を処理単位とする単純な符号化を採用して高速動作を実現することである。後述する圧縮コアモジュール110は、圧縮された出力を1バイト単位としている。
【0056】
第2に、画像データ1ピクセル(n値)をm個まとめて32ビット単位にし、これを1入力データとして格納する履歴バッファを設けていることである。本実施形態は、32ドット単位の処理がCPUの処理単位と一致する、PCIバスが32ビットなどであるなど、圧縮率と処理速度のバランス上最適と判断し、これにより、処理時間の最適化と圧縮率の向上を図っている。
【0057】
第3に、直前の16個の入力データを記憶しておく。16個に設定したのは、これだけあればディザの繰り返しパターンが現れるということ、あまり履歴を持ってもハードが複雑になる一方で圧縮率の向上が頭打ちになると予想したことによる。
【0058】
第4に、冗長性のあるデータのみを圧縮することである。但し、本発明は、上述した冗長性のあるデータの種類全てを圧縮することを要求するものではない。また、データの符号化を以下のように処理する。まず、(1)空白部を圧縮して空白データ(1入力データ全て)を少ないビットで符号化する。(2)直前16個のデータのいずれかの繰り返し(Historical Repeat)を圧縮してディザによる繰り返し部を圧縮する。(3)直前の(1)または(2)符号の繰り返しをリピート数を付して圧縮して連続空白部やディザによる連続繰り返し部を更に圧縮する。(4)冗長性を認められないデータは非圧縮で入力データをそのまま透過し、透過符号とリピート数を付す。本処理は、非圧縮であるもののリピートにより冗長性を低減しようとするものである。
【0059】
具体的な符号化は、第1の実施形態においては、以下のように行う。いずれの符号も8ビットとする。まず、上記(1)に対応して空白データの符号化を符号1(00RRRRRR)で表す。これは、空白データをRRRRRR個リピートすることを意味する。次に、上記(2)に対応して繰り返しデータを符号2(01XXXXRR)で表す。これは、直前のXXXX手前のデータからRR個分リピートすることを意味する。上記(3)に対応して繰り返しデータを符号3(10RRRRRR)で表す。これは、直前の符号1か2をRRRRRR回リピートすることを意味する。符号3は、例えば同じパターンの塗りつぶしとか連続した空白とかを高い圧縮率で圧縮することができる。上記(4)に対応して、非圧縮の透過モードを符号4(11YYYYYY)で表す。これは、これ以後YYYYYY個の入力データを非圧縮とすることを意味する。RRRRRR、XXXX、YYYYYY、RRは、0を1とみなす(+1する)。
【0060】
第1の実施形態の圧縮率について考察する。符号1による空白データの圧縮は、空白が繰り返されると圧縮率は向上する。1入力データだと25%だが、64入力データだと0.5%以下になる。更に、符号3を併用すると0.02%にまで達する。符号2も、同様に1入力データだと25%だが、繰り返しが増えてくるにつれて圧縮率は劇的に向上する。つまり、ランレングス法と同じ効果が得られる事になる。しかも、ランレングス法より優れている点は、1個でも25%の圧縮が得られる点である。これは、空白を特別に符号化していることと、16個の履歴を残していることによってもたらされる。非圧縮と判断されたときの冗長度の増加であるが、これはリピート数を含めることによって最小限に抑えることができる。たとえ、圧縮と非圧縮が交互に32ビットづつ現れたとしても、データサイズは、元データより大きくなる事はない。つまり、32×64=256バイトに1回以上、符号1(空白)又は符号2(繰り返し)が現れれば、確実に圧縮される。これは、YMCK全空間(400%)のうち150%以上は空白であるという仮定から、明らかに高い圧縮率をもたらすものである。符号化のよる圧縮の場合、入力データの大きさと符号の大きさの差が圧縮率となるので、32ビット単位の処理の方が有利である。また、処理単位が大きいと処理速度上も有利である。
【0061】
第2の実施形態においては、具体的な符号化を以下のように行う。即ち、第1の実施形態は、必ず32ビット単位で処理しているので、その中にある16ビット単位の細かい冗長度は圧縮されない。この冗長成分が多いデータの場合、高い圧縮率を得られないという問題が発生する。例えば、特に、写真等の写実的な絵の場合かなりミクロレベルでしか繰り返しが発生しない可能性がある。この場合、32ビット単位の処理では冗長性が隠れてしまい、あまり圧縮率を高めることができない可能性がある。一方、16ビットを処理単位にすると圧縮に長時間かかることになる。そこで、第2の実施形態においては、16ビット単位の冗長成分も圧縮できるように第1の実施形態を改良している。つまり、第2の実施形態は、32ビット単位の有利さを維持しながら、16ビット単位処理のこまやかさも兼ね備えている。
【0062】
第2の実施形態においては、16個の32ビット履歴レジスタのうち、8個の上位16ビットと下位16ビットを分離して、16個の16ビットの履歴レジスタとして利用可能にしている。例えば、1手前の32ビット履歴レジスタは、1手前の16ビット履歴としての上位16ビットと、2手前の16ビット履歴としての下位16ビットを格納する。2手前の32ビット履歴レジスタは、3手前の16ビット履歴としての上位16ビットと、4手前の16ビット履歴としての下位16ビットを格納する。以下同様にして、8手前の32ビット履歴レジスタは、15手前の16ビット履歴としての上位16ビットと、16手前の16ビット履歴としての下位16ビットを格納する。9手乃至16手前の32ビット履歴レジスタは、16ビット履歴としては使わずに32ビット専用とする。
【0063】
第2の実施形態では、第1の実施形態と同様に、空白32ビットは符号1を使用し、32ビット履歴レジスタの中で一致するものは符号2を使用して符号化する。空白でもなく、32ビット履歴と一致しないときは、今度は、入力データ32ビットを上位16ビットと下位16ビットに分けて、16ビット履歴レジスタと一致するか判断する。どちらか片方又は両方一致するものがあれば、専用の符号化を行う。上位も下位も一致するものがなければ、符号4を使用してデータを非圧縮で透過させる。
【0064】
16ビット履歴一致の符号のため、符号3を1000RRRRに変更する。これは、直前の符号1か2をRRRR回リピートするという意味である。また、符号5乃至7を追加する。
【0065】
符号5は、入力の上位、下位16ビット両方とも16個の16ビット履歴レジスタのいずれかに一致する場合に使用される。具体的には、符号5は10010000で表され、その後、XXXXYYYYが続く。直前のXXXX手前の16ビット履歴を上位16ビットに、YYYY手前の16ビット履歴を下位16ビットにする。符号5は、XXXXYYYYが続くので合計2バイトであり、50%の圧縮率を達成することができる。
【0066】
符号6は、入力の上位16ビットが、16個の16ビット履歴レジスタのいずれかに一致する場合に使用される。具体的には、符号6は、1010XXXXで表現する。直前のXXXX手前の16ビット履歴を上位16ビットにし、下位16ビットは、符号6に続く16ビットを使用する。符号6は、一致しない側の16ビットデータが続くので合計3バイトであり、75%の圧縮率を達成する。
【0067】
符号7は、入力の下位16ビットが、16個の16ビット履歴レジスタのいずれかに一致する場合に使用される。具体的には、符号7は、1011YYYYで表現する。直前のYYYY手前の16ビット履歴を下位16ビットにし、上位16ビットは符号7に続く16ビットを使用する。符号6は、一致しない側の16ビットデータが続くので合計3バイトであり、75%の圧縮率を達成する。
【0068】
第1及び第2の実施形態の圧縮は、16個の履歴レジスタを有して比較する関係上、ハード処理のほうが向いている。これにより、1クロックで16個全部を比較することが可能となる。例えば、21ppmのプリンタの場合、A4用紙128Mbyteとすると、約50Mbyte/sec位の処理速度が望ましい。66MHzで動作するLSIの場合、5クロック/32ビット単位の処理で実行すれば、50Mbyte/secは実現できる。従って、21ppmの装置でLSI動作周波数が66MHzの場合,平均5クロック以下の圧縮処理を目標とすればよい。実際には、履歴レジスタとの比較は1クロックで行えるので、その他の符号生成も含めて3クロックで実現できることが判明している。この時は、3クロック/32ビット(66MHz)=88Mbyte/secとなり、21ppmクラスで充分な性能が確保された。また、ハードを使用しないソフト処理の場合も、最近のギガヘルツ駆動の高速CPUを使えば上記速度は達成できると想定されるので、例えば、PC側でフレーム圧縮してプリンタに送信することも、実現可能となる。従って、プリンタ内部でフレーム描画するタイプではハード圧縮、PC側でフレーム描画するタイプではソフト圧縮を使うというように、タイプにより使い分けることができる。
圧縮処理は、圧縮コア(CPS_CORE)モジュール110において行われる。圧縮コアモジュール110はYMCKフレームデータを圧縮符号へ可逆的に変換する処理を行う。図4に、圧縮コアモジュール110の入出力を示す。本実施形態が、このように、ハードウェアを使用して圧縮処理の高速化(50MByte/sec以上)を図っている。また、本実施形態は、上述の第2の実施形態の圧縮方法を採用している。
【0069】
図4に示すように、圧縮コアモジュール110には、入力信号としてCLK、RST_X、CPS_ENB、CPS_REQ、CPS_DATA[31:0]、CPS_STB、CPS_LASTが入力する。CLKは動作クロックとして機能し、RST_Xは回路リセットとして機能する。CPS_ENB、CPS_REQ、CPS_DATA[31:0]、CPS_STB、CPS_LASTは圧縮取り出しDMA102に接続される。圧縮取り出しDMA102は、図3に示すように、プリントコントローラ100に設けられてホスト10に接続される。CPS_ENBは、圧縮コアモジュール110を動作可能にする信号であり、Lの時に初期化される。CPS_REQは、圧縮前データ要求信号であり、Hの時にデータが入力可能となる。CPS_DATA[31:0]は圧縮前データである。CPS_STBは、圧縮前データ入力ストローブ信号であり、Hの時にデータ入力可能となる。CPS_LASTは、最終データ入力パルスである。最終データ入力時にCPS_STBと共にHになる。
【0070】
また、圧縮コアモジュール110からは、出力信号としてOUT_RDY、SIG_OUT[31:0]、SIG_STB、SIG_LASTが出力し、これらの出力信号は圧縮書き込みDMA122に接続される。圧縮書き込みDMA122は、図3に示すように、メカ制御回路部180に接続される。OUT_RDYは、圧縮後データ出力レディ信号であり、「H」の時にデータ出力が可能となる。SIG_OUT[31:0]は圧縮後データである。SIG_STBは、圧縮後データ出力ストローブ信号であり、Hの時にデータ出力が可能となる。SIG_LASTは、最終データ出力パルスであり、最終データ出力時にSIG_STBと共にHになる。
【0071】
図5(a)に入力信号のタイミングチャートを、図5(b)に出力信号のタイミングチャートを示す。
【0072】
図5(a)に示すように、CPS_ENBがHになると圧縮が開始する。CPS_REQがHの時に圧縮データ入力し、CPS_STBがHになると圧縮データが取り込まれる。CPS_LASTがHとして、CPS_STBがHになるとそのデータが最終圧縮データとして取り込まれる。CPS_REQがLである時は圧縮処理不可のためデータを入力しない。
【0073】
図5(b)に示すように、SIG_STBがHの時に、SIG_OUTに1クロック毎に圧縮データ出力する。SIG_LASTがHであり、SIG_STBがHである時に、SIG_OUTに最終の圧縮データを出力する。OUT_RDYがLになると圧縮データの出力を中断することができる。但し、出力中断中も、内部バッファが圧縮符号でフルになるまでは圧縮動作が可能である。
【0074】
圧縮コアモジュール110は、1データの圧縮処理の処理速度が3クロックである。本実施形態は、66MHzで動作し、処理単位32ビットで50MByte/secの処理速度を達成するため、圧縮コアモジュール110に要求される処理速度は5クロック以下である。圧縮コア110は、圧縮処理の一連動作を1ラスタ毎に行う。圧縮前入力データの単位は32ビットであり、圧縮後符号の単位は8ビットである。圧縮出力データの単位は32ビットである。圧縮用の履歴レジスタの数は、32ビット幅×16入力分で、かつ、16ビット幅×16入力分である。
【0075】
1入力データを圧縮した時に生成される圧縮符号の組合せは以下のいずれかとなる。圧縮コアモジュール110では、この組合せが4バイトの連続した符号として出力される。
【0076】
【表1】
【0077】
図6に、圧縮コアモジュール110のブロック図を示す。図6に示すように、圧縮コアモジュール110は、圧縮前レジスタとしてのチェックデータレジスタ111と、比較モジュール112と、メインモジュール113と、符号生成モジュール114と、ライト制御モジュール115と、バッファモジュール116と、リード制御モジュール117とを有する。
【0078】
チェックデータレジスタ111は32ビットのレジスタであり、処理クロックは1クロックである。
【0079】
比較モジュール112は、圧縮コアモジュール110への入力データを空白データ及び履歴レジスタ112eの履歴データと比較するモジュールであり、チェックデータ内の空白比較部112aと、32ビット履歴レジスタ比較部112bと、下位16ビット履歴レジスタ比較部112cと、上位16ビット履歴レジスタ比較部112dと、履歴レジスタ112eとを有する。
【0080】
空白比較部112aは、空白データ(無色データ又はNULLデータ)があれば、その旨を後述する圧縮フラグ生成部113aに通知し、これに応答して圧縮フラグ生成部113aは、空白データとしての特定データと一致する符号として機能する「空白」フラグを出力する。特定データ一致符号は8ビットよりも小さく、残りのビットをリピート数符号とすることが好ましい。これにより、後述するステップ1208に示すように、空白比較部112aが次も同じ空白データの一致を発見した場合にリピート符号を最大値までインクリメントして、同一符号の出力を省略して圧縮率の向上を図ることができる。なお、空白比較部112aが空白データを検出した場合、符号1を他の符号よりも優先して出力され、履歴レジスタ112eを更新しないように構成することが好ましい。これによって、履歴レジスタ112eの効率を向上させて圧縮率の向上を図ることができる。
【0081】
32ビット履歴レジスタ比較部112bは、32ビットの履歴データが一致すれば、その旨を後述する圧縮フラグ生成部113aに通知し、これに応答して圧縮フラグ生成部113aは一致したことを示す一致符号として機能する「32ビット一致」フラグを出力する。また、32ビット履歴レジスタ比較部112bは、32ビット一致した履歴一致番号を出力する。履歴一致番号は、入力データから何個手前の履歴データかを示す一致位置オフセット値として機能する。32ビット履歴レジスタ比較部112bは、本実施形態では、履歴レジスタ112eのうち2個以上一致するものがあった場合には、入力データに近い方、即ち、オフセット値の小さい方を選択する。
【0082】
本実施形態においては、一致符号と一致位置オフセット値の和は1バイト(即ち、8ビット)以下になるように、一致符号のビット幅と履歴レジスタ112eの大きさが制限されている。より詳細には、一致符号と一致位置オフセット値の和は7ビット以下であり、8ビットの残りのビットをリピート数符号とすることによって、一致符号と前記一致位置オフセット値とリピート数符号の和を1バイト以内としている。これは、後述するステップ2216に示すように、32ビット履歴レジスタ比較部112bが、次も同じオフセット値の一致を発見した場合に、一致符号と一致位置オフセット値を出力せずにリピート符号を最大値までインクリメントして出力するためである。これにより、同一符号の出力を省略して圧縮率を向上することができる。
【0083】
なお、リピート符号が最大値に達した場合に、リピート数を拡張することを示す8ビットより小さい拡張リピート符号を設け、出力データのうち拡張リピート符号を除く残りのビットをリピート数符号として、リピート数を更に拡張できることが好ましい。拡張リピート符号を設けることによって、圧縮率の向上を維持することができる。また、拡張リピート符号に付随するリピート数符号が最大値に達した場合、更に次のデータを拡張リピート符号とし、それを繰り返す事により、リピート符号を連続的に拡張してもよい。
【0084】
下位及び上位16ビット履歴レジスタ比較部112c及び112dは、入力データを上位16ビットと下位16ビットの二個のデータに分割する手段として機能する。下位及び上位16ビット履歴レジスタ比較部112c及び112dは、それぞれ、下位及び上位16ビットの履歴データが一致すれば、その旨を後述する圧縮フラグ生成部113aに通知し、これに応答して圧縮フラグ生成部113aは「下位16ビット一致」フラグと「上位16ビット一致」フラグを出力する。また、下位及び上位16ビット履歴レジスタ比較部112c及び112dは、16ビット一致した履歴一致番号を出力する。履歴一致番号は、入力データから何個手前の履歴データかを示す一致位置オフセット値として機能する。下位及び上位16ビット履歴レジスタ比較部112c及び112dは、本実施形態では、履歴レジスタ112eのうち2個以上一致するものがあった場合には、入力データに近い方、即ち、オフセット値の小さい方を選択する。
【0085】
後述する圧縮フラグ生成部113aは、「下位16ビット一致」フラグと「上位16ビット一致」フラグは同時に出力する場合もある。この結果、上位だけ一致する、下位だけ一致する、上位及び下位とも一致しない、上位及び下位とも一致するの4つの状態に判定することができる。一致しないと判断された場合にのみ後述の透過符号と透過データを出力し、他の3状態の場合は、それぞれ固有の他の符号と区別しうる符号(上位一致符号、下位一致符号、上位・下位一致符号)を出力し、上位一致、下位一致の場合は一致位置を示すオフセット値を符号に付与して全部で8ビットになるようにする。また、続いて一致しなかった側の16ビット入力データを透過データとして出力する。上位及び下位が共に一致する場合、一致符号の次にそれぞれの一致位置を示すオフセット値を出力する。
【0086】
非圧縮の場合には、比較モジュール112は、その旨を後述する圧縮フラグ生成部113aに通知し、これに応答して圧縮フラグ生成部113aは「非圧縮」フラグを出力する。透過符号は、1バイト以内になるように構成されている。より詳細には、透過符号は7ビット以下に構成され、8ビットの残りのビットにリピート数符号を割り当て、透過符号とリピート数符号の和を1バイト以内二光制している。そして、次も不一致の場合に、透過符号を出力せずにリピート符号を最大値までインクリメントして出力し、透過符号付与のオーバーヘッドを最小にしている。また、入力データは非圧縮用データとしての透過データとして出力される。
【0087】
履歴レジスタ112eは、結果条件に応じて以下の表に示すように処理される。
【0088】
【表2】
【0089】
履歴レジスタ112eは、最新の入力データを複数個記憶することができ、本実施形態では、32ビットの入力データを16個格納することができる。入力データのサイズが、一般的なCPUやバス幅の単位である32ビットであることは、処理時間の最適化と圧縮率の向上を図る上で好ましい。また、履歴レジスタ112eは、入力データを16個格納できるので、ランレングス手法と異なり、画像データのディザ処理のディザマトリックスのサイズ(通常は8、大きいディザで14)よりも大きく、ディザがかかった画像にも対応できる。一方、履歴を多くし過ぎるとハードの複雑化と圧縮率の頭打ちをもたらすおそれがあるからである。
【0090】
履歴レジスタ112eが記憶可能な入力データの個数は、上述したように、16個であり、32個以内である。履歴レジスタの大きさを、一般的なRISC型CPUのレジスタ総数である32個以内、例えば、16個に収めることによってCPUレジスタを履歴レジスタとして使用することができ、CPUで高速に処理することが可能になる。
【0091】
なお、本実施形態では圧縮後の出力を1バイト単位として単純化し、高速動作を可能にしている。
【0092】
メインモジュール113は、1つ前の圧縮状態と比較モジュール112の結果を基に圧縮符号及び符号生成のパラメータフラグを作成する機能を有し、上述の圧縮フラグ生成部113aと、符号選択部113bと、符号3有無判断部113cと、一致番号出力部113d及び113eと、符号3の圧縮数を表す4ビットカウンタ113fと、符号1、2及び4用の圧縮数を示す6ビットカウンタ113gと、符号生成部113hと、前回チェックデータ参照部113iと、前回処理フラグ参照部113jと、符号1初回フラグ設定部113kと、符号2初回フラグ設定部113lとを有する。
【0093】
符号選択部113bは、複数の一致符号を出力可能な場合にいずれかの一致符号を選択する選択部として機能する。本実施形態では、ハードウェアが動作可能な周波数の1クロックで比較を行う。
【0094】
符号3有無判断部113cは、符号3が存在するかどうかを判断する。一致番号出力部113d及び113eは、符号2などに使用され、入力データ直前の一致レジスタのオフセット値などを格納する。符号3の圧縮数を表す4ビットカウンタ113fは、符号1又は2をリピートすべき個数を最大値まで計数するカウンタである。
【0095】
以下にメインモジュール113内で使用されているパラメータの機能を記載する。まず、符号の種類として、符号1に対応する「空白符号」、符号2に対応する「32ビット一致符号」、符号3に対応する「空白/32ビット繰り返し符号」、符号4に対応する「非圧縮符号」、符号5に対応する「16ビット上位下位一致符号」、「一致番号」、符号6に対応する「16ビット上位一致符号」、「入力データ下位[15:8]」、「入力データ下位[7:0]」、符号7に対応する「16ビット下位一致符号」、「入力データ上位[15:8]」、「入力データ上位[7:0]」を含む8ビットの圧縮符号を生成する(ブロック113h)。
【0096】
以下にメインモジュール113内で使用されているパラメータの機能を記載する。まず、符号の種類として、符号1に対応する「空白符号」、符号2に対応する「32ビット一致符号」、符号3に対応する「空白/32ビット繰り返し符合」、符号4に対応する「非圧縮符号」、符号5に対応する「16ビット上位下位一致符号」、「一致番号」、符号6に対応する「16ビット上位一致符号」、「入力データ下位[15:8]」、「入力データ下位[7:0]」、符号7に対応する「16ビット下位一致符号」、「入力データ上位[15:8]」、「入力データ上位[7:0]」を含む8ビットの圧縮符号を生成する(ブロック113h)。
【0097】
以下に、前回の圧縮処理状態を表す2ビットの前回処理フラグ113jを示す。
【0098】
【表3】
【0099】
以下に、符号1のフルカウントが1回目かどうかを表す1ビットの符号1初回フラグ113kを示す。
【0100】
【表4】
【0101】
以下に、符号2のフルカウントが1回目かどうかを表す1ビットの符号2初回フラグ113lを示す。
【0102】
【表5】
【0103】
以下に、符号1又は符号2のフルカウントが2回目以降3回目未満であるかどうかを表す1ビットの符号3初回フラグを示す。
【0104】
【表6】
【0105】
以下に、符号3の有無を表す1ビットの符号3有無フラグを示す。
【0106】
【表7】
【0107】
非圧縮処理用のステートカウンタは、「待機状態」、「非圧縮以外の圧縮状態」、「非圧縮処理開始」、「非圧縮データ処理中」、「非圧縮処理終了」の状態を保持することができる。
【0108】
符号生成モジュール114は、メインモジュール113で生成されたバッファ書き込み符号を格納用に選択して並び替えを行う。1回の圧縮サイクルで生成される符号の最大バイト数は以下のようになる。
【0109】
まず、非圧縮スタートにおいては、新規非圧縮処理のため符号5、6、7はあり得ない。組合せは、前回余り(1乃至3バイト)+符号(1乃至3バイト)+非圧縮データ(4バイト)<6バイト+4バイト(非圧縮の仮書き込み)となる。
【0110】
非圧縮繰り返しにおいては、組合せは、前回余り(1乃至3バイト)+非圧縮データ(4バイト)<7バイトとなる。
【0111】
非圧縮終了においては、組合せは、符号4(4バイト処理固定)+前回余り(1乃至3バイト)+符号(1乃至3バイト)<6バイト+4バイト(非圧縮の再書き込み)となる。
【0112】
通常符号生成においては、組合せは、前回余り(1乃至3バイト)+符号(1乃至5バイト)<8バイトとなる。
【0113】
以上から、バッファへの書き込みサイクルは、圧縮1回に対して符号4の仮/再書き込みに1ワードサイクル、通常の符号書き込みに2ワードサイクル設ける。
【0114】
以下に、1データ圧縮時の符号生成組合せパターンを示す。
【0115】
【表8】
【0116】
ライト制御モジュール115は、バッファ又はRAMへの符号の書き込み制御を行う。
【0117】
バッファモジュール116は、4×68バイトの圧縮符号格納用のバッファを有する。以下の理由から、圧縮マクロでは圧縮した符号をバッファリングしておく符号格納バッファを設けている。第1に、32ビットの出力データに対し、符号は8ビット単位であるため、32ビット単位に変換するバッファが必要あるためである。第2に、非圧縮時の符号フォーマットは先頭に非圧縮データ数を格納した符号、それ以降に非圧縮データとなっているため、非圧縮データ数が確定するまでバッファへ一時的にデータを格納するためである。第3に、圧縮データの取り出し/書き込み共に1つのPCIバスを使用するため、圧縮データ入力中に圧縮符号が出力できない場合があり、この時に圧縮符号を格納しておくためである。
【0118】
リード制御モジュール117は、バッファ又はRAMからの符号の読み出しを制御する。
【0119】
以下、圧縮処理速度について説明する。A4サイズの用紙(600dpi×600dpi,左右余白4mm)での圧縮データ量は、6,826×256値[8ビット]×4,960ドットとなり、33,856,960バイト=8,464,240ワードとなる。PCIバス(PCI−64ビット、66MHz、バースト32バイト)のアクセス速度は、読み出し実行速度は、64ビット×4バースト単位:27クロック(405nS)となり、書き込み速度は64ビット×4バースト単位:20クロック(300nS)となる。
【0120】
【表9】
【0121】
圧縮データ処理時間は、6クロック(符号圧縮サイクル+バッファ書きこみサイクル)であるが、符号圧縮サイクルとバッファ書きこみサイクルは並列で処理されるため、実際の圧縮サイクルは3クロックとなる。
【0122】
以上から、1頁分の圧縮処理時間は、8,464,240ワード×3クロック(66MHz×3=45nS)×4色=1,523.563mSとなる。
【0123】
メカ制御回路部180は、プリンタエンジン190のメインモータ192、高圧電源ユニット194及び露光パワー制御部196を制御し、これらに必要な切替信号を生成する。切替信号は、例えば、両面印刷ユニットと片面印刷ユニットのいずれが選択されるか、印刷用紙が普通紙か厚紙かなどのパラメータによって変更される。メカ制御回路部180は、メインモータなど本体内部のその他の機構部、例えば、前帯電器制御部、転写電流制御部などを含む。
【0124】
メカ制御回路部180はMPU182を有する。MPU182は、プリンタコントローラ100に接続されており、例えば、印字データとしてビットマップ形式のビデオデータをコントローラ100から受信する。メカ制御回路部180の動作はこれに接続された図示しない表示部に表示される。表示部はキー入力可能な操作パネルとして構成することができる。MPU182は、プリンタエンジン190のメインモータ192と、高圧電源ユニット194と、露光パワー制御部196に接続され、これらを制御する。MPU182は、用紙サイズ(幅)、用紙の種類(厚紙か普通紙か、異なる製造メーカーにより製造された印刷用紙など)、解像度などの情報を含む印字データや図示しない各種センサの出力結果を得て、図示しないROMに格納されたプログラムに従って各種の制御信号を生成する。
【0125】
以下、カラー画像形成装置1の動作について説明する。プリンタコントローラ100はホスト10からの印刷命令を受信すると、上述のコマンド解析処理、描画処理、色変換処理、ディザ処理、PWM処理、圧縮処理を行ってビデを信号をメカ制御回路部180のMPU182に送信する。
【0126】
以下、圧縮処理を、図7乃至図10を参照して説明する。ここで、図7乃至図10は、本実施形態の圧縮処理を説明するためのフローチャートであり、図7は空白圧縮処理1000、図8は32ビット一致圧縮処理2000、図9は16ビット一致圧縮処理3000及び非圧縮処理4000、図10は最終データ格納処理5000をそれぞれ示している。ここでは、上述した第2の実施形態の圧縮処理を行う場合を説明する。
【0127】
まず、図7を参照して空白圧縮処理1000を説明する。空白圧縮処理1000は、空白圧縮前処理1100と、空白圧縮処理1200と、空白圧縮後処理1300とを有する。
【0128】
空白圧縮前処理1100は、前回の履歴データとの一致処理又は非圧縮処理の有無をチェックする処理であり、入力データの読み込みと履歴レジスタ112eへの書き込み(ステップ1002)後に、空白比較部112aが、空白データが存在すると判断した(ステップ1004)場合に開始する。
【0129】
まず、前回チェックデータ参照部113iを参照して前回に履歴データとの一致処理があるかどうかを判断し(ステップ1102)、あれば符号3の有無を、符号3有無判断部113cを参照して判断する(ステップ1104)。ステップ1104が、符号3があると判断すれば符号3を格納し、その後、処理はステップ1108に移行する。一方、ステップ1104が、符号3がないと判断すれば、符号2を格納し(ステップ1108)、その後、処理はステップ1110に移行する。
【0130】
ステップ1102が前回に履歴データとの一致処理がないと判断すれば、前回チェックデータ参照部113iを参照して前回の非圧縮処理が存在すると判断する(ステップ1110)。ステップ1110が前回の非圧縮処理が存在すると判断すれば符号4を格納し(ステップ1112)、その後、処理は空白圧縮処理1200に移行する。一方、ステップ1110が、前回が非圧縮処理でないと判断すれば、その後、処理は空白圧縮処理1200に移行する。
【0131】
空白圧縮処理1200は、入力データとしてのYMCKフレームデータに含まれる空白データを圧縮する処理である。空白圧縮処理1200は、まず、前回チェックデータ参照部113iを参照して前回が空白圧縮処理であるかどうかを判断する(ステップ1202)。前回が空白圧縮処理でなく、最初の空白圧縮処理であれば、符号生成部113hが新たに符号1を作成及び出力する(ステップ1204)。その後、処理はステップ2002に移行する。
【0132】
ステップ1202が、前回に空白圧縮処理があったと判断すれば、カウンタ113gを参照して符号1のリピート値は最大値であるかどうか判断し(ステップ1206)、最大値でないと判断されればカウンタ113gが符号1のリピート値を+1だけインクレメントする(ステップ1208)。その後、処理はステップ2002に移行する。
【0133】
一方、ステップ1206が、符号1のリピート値が最大値であると判断した場合は、符号1初回フラグ113kを参照して、その最大値に到達したのが初回であると判断されれば(ステップ1210)、符号生成部113hが新たに符号1を作成、出力及び格納する(ステップ1212)。その後、処理はステップ2002に移行する。
【0134】
ステップ1210が、符号1のリピート値が最大値に到達したのが初回ではない判断すれば、符号3有無判断部113cを参照して符号3の有無が判断され(ステップ1214)、符号3が存在しないと判断されれば(ステップ1214)、符号生成部113hが新たに符号3及び符号1を作成して出力する(ステップ1216)。その後、処理はステップ2002に移行する。
【0135】
一方、ステップ1214が、符号3が存在すると判断すれば、カウンタ113fを参照して符号3のリピート値は最大値であるかどうか判断する(ステップ1218)。ステップ1218が最大値でないと判断すれば、カウンタ113fが符号3のリピート値を+1だけインクレメントし、符号生成部113hが新たに符号1を作成して出力する(ステップ1220)。その後、処理はステップ2002に移行する。一方、ステップ1218が符号3のリピート値は最大値であると判断した場合は、符号3を格納し、符号生成部113hが新たに符号3及び符号1を作成して出力する(ステップ1222)。その後、処理はステップ2002に移行する。
【0136】
空白圧縮後処理1300は、前回の空白圧縮処理の有無をチェックする処理であり、ステップ1002後に、空白比較部112aが、空白データが存在しないと判断した(ステップ1004)場合に開始する。空白圧縮後処理1300では、前回チェックデータ参照部113iを参照して前回の空白圧縮処理の有無を判断し(ステップ1302)、ステップ1302が存在すると判断すれば、次いで、符号3有無判断部113cを参照して符号3の有無を判断する(ステップ1304)。一方、ステップ1302が前回の空白圧縮処理は存在しないと判断すれば、その後、処理はステップ2002に移行する。ステップ1304が、符号3が存在すると判断すれば符号3を格納し(ステップ1306)、ステップ1308に移行する。一方、ステップ1304が、符号3が存在しないと判断すれば、符号1を格納する(ステップ1308)。その後、処理はステップ2002に移行する。
【0137】
次に、図8を参照して32ビット一致圧縮処理2000を説明する。32ビット一致圧縮処理2000は、32ビット一致圧縮前処理2100と、32ビット一致圧縮処理2200と、32ビット一致圧縮後処理2300とを有する。
【0138】
32ビット一致圧縮前処理2100は、前回の非圧縮処理の有無をチェックする処理であり、入力データを履歴レジスタ112eと比較した(ステップ2002)後に、32ビット履歴レジスタ比較部112bが、一致するレジスタが履歴レジスタ112eに存在すると判断した(ステップ2004)場合に開始する。32ビット一致圧縮前処理2100においては、前回チェックデータ参照部113iを参照して前回に非圧縮処理があるかどうかを判断し(ステップ2102)、あれば符号4を格納した後で32ビット一致圧縮処理2200に移行する。一方、ステップ2102が、前回が非圧縮処理でないと判断すれば(ステップ2102)、32ビット一致圧縮処理2200に移行する。
【0139】
32ビット一致圧縮処理2200は、YMCKフレームデータが履歴データの繰り返しである場合にその繰り返し部を圧縮する処理である。32ビット一致圧縮処理2200は、まず、前回処理フラグ113jを参照して前回も32ビット一致圧縮処理であったかどうかを判断する(ステップ2202)。前回が32ビット一致圧縮処理でなく、最初の32ビット一致圧縮処理であれば、符号3有無判断部113cを参照して符号3の有無を判断し(ステップ2204)、符号3が存在すれば符号3を格納し(ステップ2206)、ステップ2208に移行する。
【0140】
一方、ステップ2204が、符号3が存在しないと判断すれば、符号2の有無を判断し(ステップ2208)、符号2が存在すれば符号2を格納し(ステップ2210)、ステップ2212に移行する。一方、ステップ2208が、符号2が存在しないと判断すれば、符号2を新たに作成及び出力する(ステップ2212)。その後、処理はステップ3002に移行する。
【0141】
ステップ2202が、前回も32ビット一致圧縮処理であったと判断すれば、カウンタ113gを参照して符号2のリピート値は最大値であるかどうか判断する(ステップ2214)。ステップ2214が最大値でないと判断すれば、カウンタ113fが符号2のリピート値を+1だけインクレメントする(ステップ2216)。その後、処理はステップ3002に移行する。
【0142】
一方、ステップ2214が、符号2初回フラグ113lを参照して、符号2のリピート値が最大値であると判断した場合は、その最大値に到達したのが初回であると判断されれば(ステップ2218)、符号生成部113hが新たに符号2を作成、出力及び格納する(ステップ2220)。その後、処理はステップ3002に移行する。
【0143】
ステップ2218が、符号2のリピート値が最大値に到達したのが初回ではないと判断すれば、符号3有無判断部113cを参照して符号3の有無が判断される(ステップ2222)。ステップ2222が、符号3が存在しないと判断すれば、符号生成部113hが新たに符号3及び符号2を作成して出力する(ステップ2224)。その後、処理はステップ3002に移行する。
【0144】
一方、ステップ2222が、符号3が存在すると判断すれば、カウンタ113fを参照して符号3のリピート値は最大値であるかどうか判断する(ステップ2226)。ステップ2226が最大値でないと判断すれば、カウンタ113fが符号3のリピート値を+1だけインクレメントし、符号生成部113hが新たに符号2を作成して出力する(ステップ2228)。その後、処理はステップ3002に移行する。一方、ステップ2226が符号3のリピート値は最大値であると判断した場合は、符号3を格納し、符号生成部113hが新たに符号3及び符号2を作成して出力する(ステップ2230)。その後、処理はステップ3002に移行する。
【0145】
32ビット一致圧縮後処理2300は、前回の32ビット一致圧縮処理の有無をチェックする処理であり、ステップ2002後に、32ビット履歴レジスタ比較部112bが、一致するレジスタが存在しないと判断した(ステップ2004)場合に開始する。32ビット一致圧縮後処理2300では、前回チェックデータ参照部113iを参照して前回の32ビット一致圧縮処理の有無を判断し(ステップ2302)、ステップ2302が存在すると判断すれば、次いで、符号3有無判断部113cを参照して符号3の有無を判断する(ステップ2304)。一方、ステップ2302が前回の空白圧縮処理は存在しないと判断すれば、その後、処理はステップ3002に移行する。ステップ2304が、符号3が存在すると判断すれば符号3を格納し(ステップ2306)、ステップ2308に移行する。一方、ステップ2304が、符号3が存在しないと判断すれば、符号2を格納する(ステップ2308)。その後、処理はステップ3002に移行する。
次に、図9を参照して、16ビット一致圧縮処理3000を説明する。16ビット一致圧縮処理3000は、YMCKフレームデータが履歴データの上位又は下位16ビットの繰り返しである場合にその繰り返し部を圧縮する処理である。
【0146】
まず、上位16ビット履歴レジスタ比較部112dが、前半16ビットが一致するかどうかを判断する(ステップ3004)。上位16ビット履歴レジスタ比較部112dが一致すると判断した場合、新たに符号6を作成及び出力し(ステップ3006)、ステップ3008に移行する。一方、上位16ビット履歴レジスタ比較部112dが一致しないと判断した場合(ステップ3004)、後半16ビットが比較される(ステップ3008)。下位16ビット履歴レジスタ比較部112cは、後半16ビットが一致するかどうかを判断する(ステップ3010)。下位16ビット履歴レジスタ比較部112cが一致しないと判断した場合(ステップ3010)、符号6の有無が判断される(ステップ3012)。ステップ3012が、符号6が存在しないと判断すれば、処理はステップ4002に移行する。
【0147】
一方、下位16ビット履歴レジスタ比較部112cが一致すると判断した場合(ステップ3010)、前回チェックデータ参照部113iを参照して前回の非圧縮処理の有無が判断される(ステップ3014)。ステップ3014が存在すると判断すれば、符号4を格納し(ステップ3016)、ステップ3018に移行する。一方、ステップ3014が存在しないと判断すれば、符号6の有無を判断する(ステップ3018)。ステップ3018が、符号6が存在すると判断すれば、符号生成部113hが新たに符号5を作成、出力及び格納し(ステップ3020)、その後、処理はステップ4002に移行する。一方、ステップ3018が、符号6が存在しないと判断すれば、符号生成部113hが新たに符号7を作成、出力及び格納する(ステップ3022)。その後、処理はステップ4002に移行する。
【0148】
一方、ステップ3012が符号6が存在すると判断すると、前回チェックデータ参照部113iを参照して前回の非圧縮処理が存在するかどうかを判断する(ステップ3024)。ステップ3024が存在すると判断すると符号4を格納し(ステップ3026)、ステップ3028に移行する。ステップ3024が存在しないと判断すると符号6を格納し、その後、処理はステップ4002に移行する。
【0149】
次に、図9を参照して、非圧縮処理4000を説明する。非圧縮処理4000は、YMCKフレームデータを透過すると共にリピート値を付す処理である。
【0150】
まず、符号5、6又は7のいずれかの有無を判断する(ステップ4002)。ステップ4002が、いずれかが存在すると判断すれば、履歴レジスタ112eが最大値であるかどうかを判断する(ステップ4004)。ステップ4004が、履歴レジスタ112eが最大値であると判断すれば、履歴レジスタ112eをシフトして格納する(ステップ4006)。その後、処理は、ステップ1002に帰還する。一方、ステップ4004が、履歴レジスタ112eが最大値ではないと判断すれば、履歴レジスタ112eに格納する(ステップ4008)。その後、処理は、ステップ1002に帰還する。
【0151】
一方、ステップ4002が、いずれも存在しないと判断すれば、履歴レジスタ112eが最大値であるかどうかを判断する(ステップ4010)。ステップ4014が、履歴レジスタ112eが最大値であると判断すれば、履歴レジスタ112eをシフトして格納し(ステップ4012)、次いで、ステップ1016に移行する。一方、ステップ4010が、履歴レジスタ112eが最大値ではないと判断すれば、履歴レジスタ112eに格納する(ステップ4014)。
【0152】
次いで、前回チェックデータ参照部113iを参照して前回も非圧縮処理であったかどうかを判断する(ステップ4016)。前回が非圧縮処理でなく、最初の非圧縮処理であれば、符号生成部113hが新たに符号4を作成及び出力すると共に非圧縮データバッファに格納する(ステップ4018)。その後、処理はステップ1002に帰還する。
【0153】
一方、ステップ4016が、前回も非圧縮処理であったと判断すれば、カウンタ113gを参照して符号4のリピート値は最大値であるかどうか判断し(ステップ4020)、最大値でないと判断されれば、カウンタ113gが符号4のリピート値を+1だけインクレメントすると共に非圧縮データバッファに格納する(ステップ4022)。その後、処理はステップ1002に帰還する。
【0154】
一方、ステップ4020が、符号4のリピート値が最大値であると判断した場合は、符号生成部113hが新たに符号4を作成及び出力すると共に非圧縮データバッファに格納する(ステップ4024)。その後、処理はステップ1002に帰還する。
【0155】
次に、図10を参照して、最終データ格納処理5000について説明する。まず、ステップ5002が初期化符号1カウンタの有無を判断し、存在すると判断すれば、符号1初回フラグ113kを参照して、符号1の最大値は初回以降であるかどうかを判断する(ステップ5004)。ステップ5004が、符号1の最大値が初回以降であると判断した場合は、ステップ5002が初期化符号3カウンタの有無を判断し、存在すると判断すれば、符号3を格納する(ステップ5008)。ステップ5004が、符号1の最大値が初回以降ではないと判断した場合、ステップ5006が初期化符号3カウンタが存在しないと判断した場合、及び、ステップ5008が符号3を格納した場合は、ステップ5010に移行して符号1を格納する。その後、処理はステップ5012に移行する。
【0156】
一方、ステップ5002が初期化符号1カウンタが存在しないと判断すれば、符号2初回フラグ113lを参照して、符号2の最大値は初回以降であるかどうかを判断する(ステップ5014)。ステップ5014が、符号1の最大値が初回以降であると判断した場合は、ステップ5016が初期化符号3カウンタの有無を判断し、存在すると判断すれば、符号3を格納する(ステップ5018)。ステップ5014が、符号2の最大値が初回以降ではないと判断した場合、ステップ5016が初期化符号3カウンタが存在しないと判断した場合、及び、ステップ5018が符号3を格納した場合は、ステップ5020に移行して符号2を格納する。その後、処理はステップ5022に移行する。
【0157】
次いで、ステップ5022が初期化符号3カウンタの有無を判断し、存在すると判断すれば、符号3を格納する(ステップ5024)。ステップ5022が初期化符号3カウンタが存在しないと判断すれば、ステップ5026が初期化符号4カウンタの有無を判断し、存在すると判断すれば、符号4を格納する(ステップ5028)。
【0158】
【実施例】
YMCKフレームデータ(600dpi、8ビット)を256ラスタ単位に分割して圧縮した。圧縮率は、元サイズ(A4サイズ1頁で128バイト)を100%としたときに圧縮後のサイズが何%であるかで表している。かかる結果を表1に示す。画像パターンIは、画像パターンII乃至IVから代表的なパターンを集めたものである。画像パターンIIは、ビジネス用アプリケーションのパターンである。画像パターンIIIは、SOHO用のアプリケーションのパターンである。画像パターンIVは、グラフィックス系のアプリケーションのパターンである。
【0159】
【表10】
【0160】
上記表から、第2の実施形態の方が、第1の実施形態よりも、圧縮率が高く平均圧縮率は1%程度改善され、最悪値も5%程度改善されていることが理解される。
【0161】
圧縮処理が終了すると、メカ制御回路部180のMPU182が圧縮処理と逆の処理を行ってYMCKフレームデータの伸張を行う。印刷命令によりホッパ312に載置された一又は複数枚の用紙Pの最上位の用紙Pがピックアップローラ314によって繰り出され、用紙ガイド316によって搬送路345に案内される。その後、用紙Pは紙送りローラ322、搬送ベルト324、駆動及び従動ローラ326、328によって画像形成ユニット200d、200c、200b及び200aの順番で、所望の画像に応じたイエロー、マゼンタ、シアン及びブラックの順番で形成されたトナー重層を有する。その後、トナー重層は定着器330によって用紙Pに定着される。定着された用紙Pはスタッカ350に排出される。本実施形態によれば、高速又はリアルタイムでYMCKフレームデータの圧縮及び伸張処理を行うことができる。また、本実施形態では、圧縮伸張がロスレスであるので印刷された画像は高品質である。
【0162】
以上、本発明の好ましい実施例を説明したが、本発明はその要旨の範囲内で様々な変形及び変更が可能である。例えば、カラー画像形成装置1はカラープリンタに限定されず、印刷機能を有するその他の装置、例えば、コピー機、ファックス機を含む。
【0163】
本出願は更に以下の事項を開示する。
【0164】
(付記1) CPU又は専用ハードウェアを利用して画像データを圧縮する装置であって、最新の入力データを複数個記憶する履歴バッファと、前記画像データの圧縮データを出力する第1の出力部と、当該履歴バッファの各データと今回の入力データを比較する第1の比較部と、当該第1の比較部が一致すると判断した場合に、一致符号と入力データから何個手前の履歴データかを示す一致位置オフセット値を前記第1の出力部に出力し、前記第1の比較部が一致しないと判断した場合に、一致符号と区別可能な透過符号と、入力データを透過データとして前記第1の出力部に出力する第2の出力部とを有し、一個の入力データのサイズは前記CPUの処理単位又は前記専用ハードウェアが接続されるバス幅に一致し、一致符号と一致位置オフセット値の和が1バイト以内になるように一致符号のビット幅と履歴バッファの大きさが設定され、透過符号は8ビット以内になるように設定され、前記第1の出力部は前記圧縮データを1バイト単位で出力することを特徴とする圧縮装置。(1)
(付記2) 前記一個の入力データの前記サイズは32ビットであることを特徴とする付記1記載の圧縮装置。
【0165】
(付記3) 前記履歴バッファの大きさを、前記画像データのディザ処理のディザマトリックスのサイズより大きくしたことを特徴とする付記1又は2記載の圧縮装置。
【0166】
(付記4) 前記履歴バッファが記憶可能な前記入力データの個数は32個に以内であることを特徴とする付記1乃至3のうちいずれか一項記載の圧縮装置。
【0167】
(付記5) 前記履歴バッファが記憶可能な前記入力データの個数は16個であることを特徴とする付記4のうちいずれか一項記載の圧縮装置。
【0168】
(付記6) 前記第2の出力手段は、2個以上一致するものがあると判断した場合は、前記一致位置オフセット値の小さいほうを選択することを特徴とする付記1乃至5のうちいずれか一項記載の圧縮装置。
【0169】
(付記7) 前記一致符号と前記一致位置オフセット値の前記和は7ビット以下であり、前記第2の出力部はリピート数符号を更に出力し、前記一致符号と前記一致位置オフセット値と前記リピート数符号の和は1バイト以内であり、前記第2の出力部は、前記第1の比較部が2回同一の一致位置オフセット値を有する一致を検出した場合には、前記一致符号と前記一致位置オフセット値を出力せずに前記リピート符号を最大値までインクリメントして出力することを特徴とする付記1乃至6のうちいずれか一項記載の圧縮装置。
【0170】
(付記8) 前記透過符号は7ビット以下であり、前記第2の出力部はリピート数符号を更に出力し、前記透過符号と前記リピート数符号の和は1バイト以内であり、前記第2の出力部は、前記第1の比較部が2回不一致を検出した場合には、前記透過符号を出力せずに前記リピート符号を最大値までインクリメントして出力することを特徴とする付記1乃至7のうちいずれか一項記載の圧縮装置。
【0171】
(付記9) 前記今回のデータに特定のデータが含まれるかどうかを判断する第2の比較部と、前記第2の比較部が前記特定のデータが含まれると判断した場合に、前記特定のデータが含まれることを示す8ビットより小さくて前記一致符号及び前記透過符号と区別可能な特定データ一致符号を前記第1の出力部に出力する第3の出力部とを更に有することを特徴とする付記1乃至8のうちいずれか一項記載の圧縮装置。(2)
(付記10) 前記特定データは無色を表す空白データであることを特徴とする付記9記載の圧縮装置。
【0172】
(付記11) 前記特定データ一致符号は7ビット以下であり、前記第4の出力部はリピート数符号を更に出力し、前記特定データ一致符号と前記リピート数符号の和は1バイト以内であり、前記第4の出力部は、前記第2の比較部が前記特定データが含まれることを検出した場合には、前記特定データ一致符号を出力せずに前記リピート符号を最大値までインクリメントして出力することを特徴とする付記9又は10記載の圧縮装置。
【0173】
(付記12) 前記第2の比較部が前記特定データを検出した場合、前記第4の出力部は、前記第1の比較部による比較よりも優先して前記第1の出力部に出力し、前記履歴バッファは更新されないことを特徴とする付記9乃至11記載の圧縮装置。
画像データを圧縮する方法であって、
(付記13) 前記リピート符号が最大値に達した場合に、リピート数を拡張することを示す8ビットより小さい拡張リピート符号を有し、出力データのうち拡張リピート符号を除く残りのビットをリピート数符号として、リピート数を更に拡張できることを特徴とする付記1乃至12記載の圧縮装置。(3)
(付記14) 前記拡張リピート符号に付随するリピート数符号が最大値に達した場合、更に次のデータを拡張リピート符号とし、それを繰り返す事により、リピート符号を拡張することを特徴とする付記13記載の圧縮装置。
【0174】
(付記15) 前記圧縮装置は、前記履歴バッファに格納されている前記今回の入力データ直前の半分を、上位16ビットと下位16ビットの二個のデータに分割する第1の分割部と、前記入力データを上位16ビットと下位16ビットの二個のデータに分割する第2の分割部と、前記今回の入力データの前記上位16ビットと前記下位16ビットのそれぞれを、前記第1の分割部によって分割されたデータと比較する第3の比較部と、第4の出力部とを更に有し、当該第4の出力部は、前記第3の比較部が前記今回の入力データの前記上位16ビットと前記下位16ビットの両方が不一致であると判断した場合には、前記透過符号と前記透過データを出力し、当該前記第3の比較部が前記今回の入力データの前記上位16ビット及び/又は前記下位16ビットが一致すると判断した場合には、前記今回の入力データの前記上位16ビットと前記下位16ビットのうちで一致する態様を表す符号と一致位置を示すオフセット値を出力すると共に、前記今回の入力データの前記上位16ビット又は前記下位16ビットが一致する場合には不一致の方をオフセット値として更に出力し、前記一致する態様を表す符号と前記一致位置を示すオフセット値の和は8ビットであることを特徴とする付記2記載の圧縮装置。
【0175】
(付記16) 前記圧縮装置は専用ハードウェアを利用し、複数の一致符号を出力可能な場合にいずれかの一致符号を選択する選択部を更に有し、前記ハードウェアが動作可能な周波数の1クロックで比較を行うことを特徴とする付記1乃至15のうちいずれか一項記載の圧縮装置。
【0176】
(付記17) 前記圧縮ステップは、前記空白データを一以上繰り返すことを表す第1の符号を生成することによって前記画像データを圧縮し、前記圧縮方法は、前記画像データが、当該画像データの直前16個のデータのいずれかの繰り返しであるかどうかを判断するステップと、前記判断ステップが繰り返しであると判断した場合に前記画像データを、手前のデータを一以上繰り返すことを表す第2の符号を生成するか、若しくは、前記第1又は第2の符号を一以上繰り返すことを表す第3の符号を生成することによって、圧縮するステップとを更に有することを特徴とする付記17記載の圧縮方法。(4)
【0177】
(付記20) 付記17又は18記載の圧縮方法を実行するためのプログラム。
【0178】
【発明の効果】
以上説明したように、本発明の圧縮装置、方法及びそれを利用した画像形成装置によれば、圧縮伸張を高速で行うことができる。また、画像形成装置のメモリは標準のものを使用することができるので、コストアップを招かずに高速印刷を実現することができる。
【図面の簡単な説明】
【図1】 本発明のカラー画像形成装置の概略断面図である。
【図2】 図1に示すカラー画像形成装置の画像形成ユニットの概略断面図である。
【図3】 カラー画像形成装置の制御系のブロック図である。
【図4】 図3に示す圧縮コアモジュールの入出力信号を示すブロック図である。
【図5】 図3に示す入出力信号のタイミングチャートである。
【図6】 図3に示す圧縮コアモジュールの内部ブロック図である。
【図7】 図3に示す圧縮コアモジュールが実行する圧縮処理を説明するためのフローチャートである。
【図8】 図3に示す圧縮コアモジュールが実行する圧縮処理を説明するためのフローチャートである。
【図9】 図3に示す圧縮コアモジュールが実行する圧縮処理を説明するためのフローチャートである。
【図10】 図3に示す圧縮コアモジュールが実行する圧縮処理を説明するためのフローチャートである。
【符号の説明】
1 カラー画像形成装置
10 ホスト
100 プリンタコントローラ
102 圧縮取り出しDMA
110 圧縮コアモジュール
122 圧縮書き込みDMA
200a−d 画像形成ユニット
Claims (3)
- 画像データを圧縮する圧縮方法であって、
前記画像データに空白データが含まれるかどうかを判断するステップと、
前記判断ステップが前記空白データが含まれると判断した場合に、前記空白データを一以上繰り返すことを表す第1の符号を生成することによって前記画像データを圧縮するステップとを有し、
前記画像データが、当該画像データの直前16個のデータのいずれかの繰り返しであるかどうかを判断するステップと、
前記判断ステップが繰り返しであると判断した場合に前記画像データを、手前のデータを一以上繰り返すことを表す第2の符号を生成するか、若しくは、前記第1又は第2の符号を一以上繰り返すことを表す第3の符号を生成することによって、圧縮するステップとを有することを特徴とする圧縮方法。 - 前記画像データは32ビットであり、
前記圧縮方法は、
前記画像データの上位16ビットと下位16ビットの少なくとも一方が、前記画像データの直前8個のデータのそれぞれの上位16ビット又は下位16ビットと一致するかどうかを判断するステップとを更に有し、
前記画像データの上位16ビットと下位16ビットの少なくとも一方が一致すると判断された場合に、前記少なくとも一方を圧縮するステップとを有することを特徴とする請求項1記載の圧縮方法。 - 請求項1又は2記載の圧縮方法を実行するためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002275553A JP4056338B2 (ja) | 2002-09-20 | 2002-09-20 | 画像データの圧縮装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002275553A JP4056338B2 (ja) | 2002-09-20 | 2002-09-20 | 画像データの圧縮装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004112665A JP2004112665A (ja) | 2004-04-08 |
JP4056338B2 true JP4056338B2 (ja) | 2008-03-05 |
Family
ID=32271720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002275553A Expired - Fee Related JP4056338B2 (ja) | 2002-09-20 | 2002-09-20 | 画像データの圧縮装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4056338B2 (ja) |
-
2002
- 2002-09-20 JP JP2002275553A patent/JP4056338B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004112665A (ja) | 2004-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7233702B2 (en) | Image data compression apparatus for compressing both binary image data and multiple value image data | |
US8224101B2 (en) | Image processing apparatus and control method thereof with color data and monochrome data selection | |
US20100103435A1 (en) | Image processing apparatus and image processing method for processing screen-processed image | |
EP1341120B1 (en) | Detecting blank compressed bitmaps in an image output process | |
US8040536B2 (en) | Image data communication in image processing system | |
JP2004086810A (ja) | 画像形成システム、バックエンドプロセッサ | |
US20100103468A1 (en) | Image processing apparatus and image processing method for processing screen-processed image | |
JP2003256166A (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、並びに印刷システム | |
JP4134659B2 (ja) | 画像形成装置及び画像形成方法 | |
US7372591B2 (en) | Image forming device and image forming method | |
JP4056338B2 (ja) | 画像データの圧縮装置及び方法 | |
JP4115294B2 (ja) | 画像処理装置およびその方法 | |
JP4534505B2 (ja) | 印刷装置及びラスタイメージプロセッサ | |
JP4774914B2 (ja) | 画像処理装置、および画像処理方法 | |
JP2004094440A (ja) | 画像形成システム、バックエンドプロセッサ、フロントエンドプロセッサ | |
JP4674100B2 (ja) | 画像処理装置 | |
JP2015076694A (ja) | 画像形成装置 | |
JP4795166B2 (ja) | 画像圧縮装置、該方法及び該プログラム、記録装置及び該方法並びに画像解凍装置、該方法及び該プログラム、記録媒体 | |
JP2013164557A (ja) | 画像形成制御装置、画像形成制御方法及び画像形成制御プログラム | |
JP4135439B2 (ja) | 画像処理システム、画像処理装置、画像処理方法、プログラム、記憶媒体 | |
JP3459740B2 (ja) | 印刷制御装置及び方法及び印刷装置 | |
JP2004094439A (ja) | 画像処理システム、画像処理装置、画像処理方法、プログラム、記憶媒体 | |
JP4787781B2 (ja) | 画像形成装置 | |
JP2004090340A (ja) | 画像処理システム、画像処理装置、画像処理方法、プログラム、記憶媒体 | |
JP2019216372A (ja) | 画像処理装置、画像処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070501 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071023 |
|
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: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071211 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |