(57)【特許請求の範囲】
【請求項１】
多値の画像データをN値に量子化し、前記N値を表現可能なKビットのコードとして出力する量子化手段と、
前記KビットのコードをM画素分集めて、L（M×K＞L）ビットのコードに変換する変換手段と、
前記変換手段から出力されるデータを所定ビット単位のデータにまとめて出力する出力手段と、
前記変換手段の処理に必要なメモリ量を算出して、その結果に応じて前記変換手段を制御する制御手段とを有することを特徴とする画像処理装置。
【請求項２】
前記所定ビット単位は前記Lビットの自然数倍であり、前記所定ビット単位のデータは画像形成装置へ転送されることを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記制御手段は、前記必要なメモリ量が、前記変換手段が利用可能なメモリ量より大きい場合、前記変換手段をスルーパス状態に制御することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記量子化手段および前記変換手段は、画像データの色成分に応じた処理を行うことを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項５】
前記量子化手段は、量子化誤差が目立ち易い色成分の画像データは前記N値で量子化し、量子化誤差が目立ち難い色成分の画像データはN'（＜N）値で量子化することを特徴とする請求項4に記載された画像処理装置。
【請求項６】
前記変換手段は、前記量子化誤差が目立ち難い色成分の画像データには前記変換処理を施さないことを特徴とする請求項5に記載された画像処理装置。
【請求項７】
多値の画像データをN値に量子化して、前記N値を表現可能なKビットのコードとして出力し、
前記KビットのコードをM画素分集めて、L（M×K＞L）ビットのコードに変換し、
前記変換結果のデータを所定ビット単位のデータにまとめて出力し、
前記変換に必要なメモリ量を算出して、その結果に応じて前記変換を制御することを特徴とする画像処理方法。
【請求項８】
コンピュータ装置を制御して、請求項1から請求項6の何れか一項に記載された画像処理装置の各手段として機能させるコンピュータプログラムが記録されたことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法、並びに、記憶媒体に関し、例えば、画像データを量子化する画像処理装置およびその方法に関するものである。
【０００２】
【従来の技術】
インクジェットプリンタのような、出力可能な階調数が極めて限定されるプリンタを用いる場合、ホストコンピュータ上のプリンタドライバによる量子化処理によって、画像データの階調数をプリンタが表現可能な階調数に低下させた後、ホストコンピュータからプリンタへ画像データを転送する。
【０００３】
プリンタが高解像度になるにつれて、転送すべき画像データの量も増大し、ホストコンピュータからプリンタへ画像データを転送するのに必要な時間が増え、ひいては印刷スループットの低下につながっている。このような場合、濃度パターン法を利用して、プリンタドライバはその濃度パターンの階調情報のみをプリンタへ送り、プリンタ側で、受信した階調情報を基にドットに変換する方法がある。この場合、二値データをそのままホストコンピュータからプリンタへ転送するよりもデータ量が少なく済む。例えば、プリンタの解像度が600dpiで、プリンタが出力するドットを縦横2ドットずつ計4ドット集めて単位濃度パターンにすると、この単位濃度パターンにより、図1に示すように、五階調を表現することができる。つまり、プリンタドライバは、300dpiの画素情報に対して、五値の量子化処理を行い、その階調情報のみをプリンタに送ることで、擬似的に連続階調の画像をプリンタに出力させることが可能になる。
【０００４】
【発明が解決しようとする課題】
上述した方法で、ホストコンピュータからプリンタへ画像データを転送する場合は、例えば前述した五値の量子化データを所定ビット長の量子化コードで表現し、さらにその量子化コードをパックしてデータ転送する。このパッキング処理の関係上（データ転送が8ビットや16ビット単位だから）、量子化コードのビット長は2ビット、4ビットまたは8ビットになり、五値の量子化データの場合は4ビットの量子化コードが利用される。従って、4ビットで表現可能な階調数16に対して、五値分の階調情報しかもたないため、非常に冗長度の高い情報になる。
【０００５】
4ビットで五階調を表すような冗長度の高い情報でも、データ転送速度や、プリンタのメモリ容量などに余裕がある内はよいが、プリンタが高解像度かつ高速化されると、データ転送速度や、プリンタが保持可能なデータ量が問題になる。つまり、4ビットで五階調を表すような冗長度の高い情報をプリンタへ転送したのでは、はなはだ効率が悪いことになる。
【０００６】
単位濃度パターンは変えずに、この問題を回避するためには、階調数を五値から四値に落せば、量子化コードは2ビットで済む。しかし、階調数を落とすことによって、階調の飛び、疑似輪郭の発生、粒状感の増加などが発生して出力画像の画質を低下させることになり、好ましくない。
【０００７】
本発明は、上述の問題を解決するためのものであり、画質を劣化させることなく画像データを量子化して、冗長度の低い量子化データを生成することができる画像処理装置およびその方法、並びに、そのような画像処理方法のプログラムコードが記録された記憶媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる画像処理装置は、多値の画像データをN値に量子化し、前記N値を表現可能なKビットのコードとして出力する量子化手段と、前記KビットのコードをM画素分集めて、L（M×K＞L）ビットのコードに変換する変換手段と、前記変換手段から出力されるデータを所定ビット単位のデータにまとめて出力する出力手段と、前記変換手段の処理に必要なメモリ量を算出して、その結果に応じて前記変換手段を制御する制御手段とを有することを特徴とする。
【００１０】
好ましくは、前記所定ビット単位は前記Lビットの自然数倍であり、前記所定ビット単位のデータは画像形成装置へ転送されることを特徴とする。
【００１１】
本発明にかかる画像処理方法は、多値の画像データをN値に量子化して、前記N値を表現可能なKビットのコードとして出力し、前記KビットのコードをM画素分集めて、L（M×K＞L）ビットのコードに変換し、前記変換結果のデータを所定ビット単位のデータにまとめて出力し、前記変換に必要なメモリ量を算出して、その結果に応じて前記変換を制御することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【００１４】
【第１実施形態】
［構成］
図2は本実施形態の画像処理システムの構成例を示すブロック図である。
【００１５】
ホストコンピュータ101上で稼働する画像を作成および編集するアプリケーションソフトウェア102は、作成および/または編集された画像の画像データを画像処理部103へ出力する。アプリケーションソフトウェア102が出力する画像データは、画像が連続階調であれば例えばRGBまたはCMYK各色8ビットの多値データになる。
【００１６】
ホストコンピュータ101上で稼働する例えばプリンタドライバのような画像処理部103は、入力される画像データに量子化処理や圧縮処理などを施して、例えばインクジェットプリンタのようなプリンタ104に転送すべき画像データを生成する。
【００１７】
プリンタ104へ入力された画像データはRAM105に格納される。RAM105に格納された画像データは画像処理部103により圧縮されているため、復号部106により印刷すべき画像データに伸長される。伸長された画像データはエンジン部107に送られ、画像データに基づく画像が形成され出力される。
【００１８】
［画像処理部］
図3は画像処理部103の構成例を示すブロック図である。
【００１９】
量子化部201は、入力される多値（例えば各色8ビット、256階調）の画像データをCMYまたはCMYK各色N値の画像データに変換する。なお、本実施形態においてはN=5、つまり五値の量子化が行われる場合を説明する。また、量子化を行う際に発生する量子化誤差を補正するために疑似中間調処理を行うので、最終的に出力される画像は連続階調を有する。疑似中間調処理には、公知の誤差拡散処理やディザ処理などが利用される。
【００２０】
データ圧縮部202は、量子化された画像データを画素単位に入力する。本実施形態では五値に量子化されているため、量子化データは一画素当たり4ビットである。この4ビット/画素のデータは、データ圧縮部202の後述する圧縮処理によって、三画素当たり8ビットのデータに圧縮されてパッキング部203へ送られる。
【００２１】
パッキング部203は、データ圧縮部202から入力される圧縮データを、ホストコンピュータ101からプリンタ102への転送単位にパッキング処理する。例えば、ホストコンピュータ101からプリンタ102へのデータ転送が16ビット単位の場合、8ビットの圧縮データが二つまとめられて、16ビットのデータにパックされる。
【００２２】
［データ圧縮部］
図4はデータ圧縮部202の処理構成を説明するブロック図である。
【００２３】
スイッチ301は、五値に量子化された4ビットの画素データを、図5に示すように、画素単位に入力し、入力される画素データを3n、3n+1および3n+2の三画素周期に分けて出力する。図5の例では、画素aおよびdは3n番目、画素bおよびeは3n+1番目、画素cおよびfは3n+2番目の画素として振り分けられて出力される。なお、画素データはそれぞれ4ビットであるが、五値を表現するには例えば‘0000’‘0001’‘0010’‘0011’および‘0100’で表現できるから、上位1ビットは不要である。そのため、スイッチ301から出力すべきビットは3ビットでよい。
【００２４】
次に、この三画素周期に振り分けられた画素データの3n番目および3n+1番目をルックアップテーブル(LUT)302に入力して、図6に示すテーブル例に従い、5ビットのデータに変換させる。これによりデータが1ビット削減されることになるが情報の欠落はない。何故かというと、一画素分の3ビットデータは五値分の情報しかもたないため、二画素分のデータを集めても5×5=25通りの情報しか存在しない。従って、5ビットで二画素分の情報を欠落なく表現することができる。さらに、この5ビットのデータと、3n+2番目の画素データである3ビットとがひとまとめにされて、8ビットの情報としてデータ圧縮部202から出力される。
【００２５】
また、データ圧縮部202としては、図4の構成に限らず、図7に示す構成も可能である。つまり、三画素各4ビットの画素データをすべてLUT601に入力して、8ビットに変換させることも可能である。ただし、プリンタドライバのようなソフトウェアで処理を行う場合は、図6に示す構成の方が処理負荷が軽く済むという利点がある。
【００２６】
［復号部］
上記のようにして圧縮された画像データは、プリンタ104へ転送され、RAM105に格納される。復号部106は、エンジン部107の画像形成タイミングに合わせて、RAM105に格納された画像データを復号（伸長）する。
【００２７】
図8は復号部106の構成例を示すブロック図である。
【００２８】
復号部106は、基本的に、図4に示したデータ圧縮部202と逆の処理を行うものである。つまり、入力した8ビットから切り出した5ビットを、データ圧縮部202のLUT302と逆の変換を行うLUT701に入力し、二画素分の各3ビットの画素データに変換させる。そして、LUT701から出力される二画素分の画素データと、8ビットの残り3ビットの画素データとを合わせてスイッチ702に入力して、連続する三画素分の画素データを復元する。そして、最終的に、量子化された画素データを基に、図1に示した五通りのドットパターンを生成するために、スイッチ702から出力される画素データをパターンテーブル703に供給する。
【００２９】
このように、本実施形態によれば、一画素当たり4ビットの情報を三画素当たり8ビットに圧縮してプリンタ104へ送り、RAM105へ格納させることができる。従って、転送およびRAM105へ格納される画像データは、一画素当たり8/3=2.67ビットになり、効率のよいデータ転送および格納が可能になる。また、本実施形態の圧縮方法によれば、画像データは可逆圧縮され、JPEGなどの不可逆圧縮を行う場合につきものの圧縮に伴う情報の欠落もなく、圧縮による画質劣化が発生しない。
【００３０】
【第２実施形態】
以下、本発明にかかる第2実施形態の画像処理装置を説明する。なお、本実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００３１】
第2実施形態は、第1実施形態で説明したデータ圧縮部102による圧縮処理を、画像データによりオンオフ制御するものである。図9は第2実施形態の画像処理部103の構成例を示すブロック図で、図3に示した第1実施形態の構成にデータ圧縮制御部204が追加されている。データ圧縮制御部204は、例えば画像処理部103に入力される画像データのサイズを基に処理に必要なメモリ量、つまり画像処理部103が必要とするメモリ量を算出する。そして、必要なメモリ量に比べて、画像処理部103が利用可能なメモリ量が不足する場合は、圧縮処理を行わないように、データ圧縮部202が画像データをスルーパスするように制御する。
【００３２】
図10は画像データサイズ、必要なメモリ量、利用可能なメモリ量および圧縮処理のオンオフの関係を説明する図である。なお、圧縮処理オンオフのボーダラインは、画像処理部103が利用可能なメモリ量に応じて固定的であってもよいし、動的に変化するようにしてもよい。
【００３３】
このような処理を必要とする理由を簡単に説明する。インクジェットプリンタなどのシリアルプリンタにおいては、画像データサイズによって印刷スピードが大きく変わり、ホストコンピュータ101に要求される処理スピードも変化する。従って、画像データサイズに無関係に圧縮処理をオンにしておくと、画像データサイズが小さい場合は、圧縮処理の負荷が大きく、プリンタ104の印刷スピードに対して、ホストコンピュータ101のデータ転送が問に合わなくなる可能性がある。元々画像データサイズが小さければ、プリンタ104のRAM105のメモリ量を考慮して圧縮する必要もないので、画像処理部103の処理負荷を上げないために、データ圧縮部202による圧縮処理をオフにするのが好ましい。
【００３４】
このように、本実施形態によれば、画像処理部103の圧縮処理を画像データサイズによってオンオフ制御するため、比較的大きなデータサイズの場合は効率のよいデータ転送および格納が可能になり、比較的小さなデータサイズの場合は圧縮処理による処理負荷の増大を抑えること可能になる。
【００３５】
【第３実施形態】
以下、本発明にかかる第3実施形態の画像処理装置を説明する。なお、本実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００３６】
第1実施形態におけるデータ圧縮処理はホストコンピュータ101側で行われる。これに対して、第3実施形態におけるデータ圧縮処理は、プリンタ104側で行われる。図11は第3実施形態の画像処理システムの構成例を示すブロック図である。
【００３７】
本実施形態では、ホストコンピュータ101側で圧縮処理を行わないため、量子化処理された画像データがそのまま、画像処理部103からプリンタ104へ転送される。従って、第1実施形態で説明した例では、五値に量子化された4ビットの画像データがそのままプリンタ104へ転送される。プリンタ104へ入力された画像データは、圧縮部108において第1実施形態で説明したのと同じ方法で圧縮されて、RAM105に格納される。
【００３８】
本実施形態によれば、画像データの圧縮および伸長処理はともにプリンタ104側で行われるので、画像処理部103が必要とする圧縮処理およびその際のデータ格納に必要なメモリ量を削減することができる。従って、ホストコンピュータ101における圧縮処理によって処理負荷が増大し、その結果、印刷スループットが低下する問題を回避することができる。
【００３９】
【第４実施形態】
以下、本発明にかかる第4実施形態の画像処理装置を説明する。なお、本実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００４０】
第4実施形態は、とくにカラー画像を出力する場合に、量子化誤差が目立ち難い色に対しては量子化を粗くしてデータ量の削減を行い、量子化誤差が目立ち易い色に対してはデータ圧縮によるデータ量の削減を行うものである。
【００４１】
インクジェットプリンタに代表される画像出力装置によってカラー画像を形成する場合、例えばシアン(Cyan)、マゼンタ(Magenta)、イエロー(Yellow)およびブラック(Black)の異なる四色のインクを混合してカラー画像を形成する。このため、画像処理における色変換処理において、各インクの使用率を入力画像データに合わせて決定し、さらに、色ごとに画像データを量子化する。
【００４２】
図12は第4実施形態の画像処理部の構成例を示すブロック図である。アプリケーションソフトウェア102から出力される例えばRGB24ビットのカラー画像データは、色処理部205に入力されてCyan、Magenta、YellowおよびBlack（以下ではC、M、YおよびKと略す）の四色の多値（例えば8ビット）データに色分解される。そして、各色のデータは、対応する量子化部201C、201M、201Kまたは201Yに入力され、それぞれ独立に量子化される。
【００４３】
CMYK四色においては、Y色のドットが人間の目には極めてみにくい。従って、Y色の画像データの量子化が粗くても、その分、形成されるY色成分画像の量子化誤差は目立ち難い。そこで、この性質を利用して、図13に示すように、CMKの三色については2×2ドットで表現される五階調を用い、Y色については一階調減らして四階調で表現することにする。従って、C、MおよびK色の画像データは、量子化部201C、201Mおよび201Kにより五階調に量子化され、データ圧縮部202C、202Mおよび202Kにより第1実施形態と同様のデータ圧縮処理が施されてパッキング部203へ入力される。一方、Y色の画像データは、量子化部201Yにより四階調に量子化される。四階調は2ビットで表現することが可能であるから、Y色の画像データは圧縮せずに、パッキング部203へ送られる。
【００４４】
本実施形態によれば、色成分ごとに量子化誤差が画質に与える影響が異なる性質を利用して、データ圧縮を行う色成分と行わない色成分に分けて処理を行う。従って、画像処理全体の処理負荷を下げることができ、画質への影響も最小限に抑えることが可能になる。
【００４５】
なお、第4実施形態は、第1実施形態の構成に組み込まれるだけでなく、第2実施形態の構成に組み込み得ることは言うまでもない。
【００４６】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００４８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００４９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図3、図9および/または図12に示す機能構成に対応するプログラムコードが格納されることになる。
【００５０】
【発明の効果】
以上述べたように、本発明によれば、画質を劣化させることなく画像データを量子化して、冗長度の低い量子化データを生成する画像処理装置およびその方法、並びに、そのような画像処理方法のプログラムコードが記録された記憶媒体を提供することができる。
【図面の簡単な説明】
【図１】濃度パターンの一例を示す図、
【図２】第1実施形態の画像処理システムの構成例を示すブロック図、
【図３】図1に示す画像処理部の構成例を示すブロック図、
【図４】図3に示すデータ圧縮部の処理構成を説明するブロック図、
【図５】データ圧縮部の処理を説明するための図、
【図６】図4に示すLUTの変換テーブルの一例を示す図、
【図７】図3に示すデータ圧縮部の他の構成例を示すブロック図、
【図８】図2に示す復号部の構成例を示すブロック図、
【図９】第2実施形態の画像処理部の構成例を示すブロック図、
【図１０】画像データサイズ、必要なメモリ量、利用可能なメモリ量および圧縮処理のオンオフの関係を説明する図、
【図１１】第3実施形態の画像処理システムの構成例を示すブロック図、
【図１２】第4実施形態の画像処理部の構成例を示すブロック図、
【図１３】第4実施形態における濃度パターンの一例を示す図である。
【図１】
0003962508.tif 000002
【図２】
0003962508.tif 000003
【図３】
0003962508.tif 000004
【図４】
0003962508.tif 000005
【図５】
0003962508.tif 000006
【図６】
0003962508.tif 000007
【図７】
0003962508.tif 000008
【図８】
0003962508.tif 000009
【図９】
0003962508.tif 000010
【図１０】
0003962508.tif 000011
【図１１】
0003962508.tif 000012
【図１２】
0003962508.tif 000013
【図１３】
0003962508.tif 000014