(57)【特許請求の範囲】
【請求項１】
カラー画像データから原色毎に印刷フレームデータを作成し、前記印刷フレームデータをメモリに蓄積して印刷するカラープリンタ制御方法において、前記メモリへの印刷フレームデータの蓄積時に画質劣化を伴う圧縮処理を行う場合に、前記カラー画像データから得られる原色毎の階調レベルの統計数の大小順に従って、前記原色毎の印刷フレームデータの前記圧縮処理を行う順番を決定することを特徴とするカラープリンタ制御方法。
【請求項２】
前記原色毎の階調レベルの統計数に上限の所定値を定め、前記所定値を超える原色の印刷フレームデータには前記圧縮処理を後で行うように前記圧縮処理を行う順番を決定することを特徴とする請求項１に記載のカラープリンタ制御方法。
【請求項３】
前記階調レベルの全領域を複数領域に分割し、前記圧縮処理を行う順番を前記各複数領域における前記原色毎の階調レベルの統計数により決定することを特徴とする請求項２に記載のカラープリンタ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラープリンタ装置の制御方法に関し、特に、印刷前にカラー印刷の原色毎にフレームデータをメモリにデータ圧縮してから蓄積し、印刷するカラープリンタ装置の制御方法に関する。
【０００２】
【従来の技術】
従来のカラープリンタ装置では、印刷前にカラー印刷の原色毎にフレームデータをメモリにデータ圧縮してから蓄積し、印刷するカラープリンタ装置が知られている。そのフレームデータのフレームバッファ（メモリ）への圧縮を行う場合には、メモリのオーバーフローが発生したときにエラーを発生させ、その頁の印刷を中止する方法が主である。また、エラーを起こさずに非可逆圧縮を行い画像劣化を発生させてでも印刷を行う方法もある。尚、ここで言う非可逆圧縮は、システム上の画質の劣化を伴わないもの、例えば、ディザ処理等はここでは含まないこととする。
一般的に、カラー印刷においては、原色となるシアン、マゼンタ、イエロー、ブラックをそれぞれ別のフレームデータとして作成し、その各フレームデータを１枚の紙に転写することでカラー画像を得ている。このカラープレーンの非可逆圧縮はすべてのプレーンについて同時に行っていた。
また、ホストコンピュータでは、画像の色情報を８ビットのデータで持つ場合が多く、モニタでフルカラー画像をあらわすために、カラーマッピングテーブルと呼ばれる各色８ビットのデータテーブルを参照しフルカラー画像を得るが、通常カラープリンタでは、各色８ビットのデータによりフルカラー画像をあらわし、ページメモリに展開する段階でホストより転送された上記データテーブルを用いて各色８ビットのデータを作成して印刷を行っている。
以下に、従来のカラープリンタ制御方法につき、図を用いて説明する。
図７は、カラープリンタのフレームメモリにおいてデータ圧縮を行う場合の従来のデータ処理の動作を示すフローチャートである。
ステップＳ１では、ホストから受け取った描画データコマンドを解析し、ステップＳ２では、ステップＳ１の解析結果に従いフレームバッファメモリに印刷データの描画を行う。ステップＳ３では、フレームバッファメモリの印刷データを圧縮し、ステップＳ４では、フレームバッファメモリがオーバーフローするか否かの判断を行い、オーバーフローする場合（ステップＳ４：Ｙｅｓ）にはステップＳ５に進み、オーバーフローしない場合（ステップＳ４：Ｎｏ）には、ステップＳ７に進む。ステップＳ５では、印刷データを非可逆圧縮し直す。ステップＳ６では、印刷に用いる原色の全色分の画像データ展開領域（以下、プレーンという）につき非可逆圧縮が終了したか否かを判断し、全色分が終了した場合（ステップＳ６：Ｙｅｓ）にはステップＳ７に進み、全色分が終了していない場合（ステップＳ６：Ｎｏ）にはステップＳ４に戻る、ステップＳ７では、圧縮された印刷データを伸張してビデオ転送してプリントする。
【０００３】
図８は、図７における印刷データの可逆圧縮のみを行う場合を更に詳しく示すフローチャートである。
ステップＳ１１では、図７のステップＳ１のように描画データの解析を行い、ステップＳ１２では、「Ｙｅｌｌｏｗ」のフレームバッファメモリに描画を行っている。次に、ステップＳ１３では可逆圧縮を行い、ステップＳ１６では、圧縮された印刷データを伸張してプリントエンジンに送ってプリントしている。
図９は、図８における可逆圧縮だけではフレームバッファメモリがオーバーフローするので非可逆圧縮し直す場合のフローチャートである。
ステップＳ１２１では、「Ｙｅｌｌｏｗ」のフレームバッファメモリに描画を行い、ステップＳ１３１では、フレームバッファメモリの印刷データを圧縮しようとするがオーバーフローしてしまう。ステップＳ１５１では、描画データの非可逆圧縮を行う。次にステップＳ１２２の「Ｙｅｌｌｏｗ」の描画データをステップＳ１５２で非可逆圧縮する。
上記のように、従来の圧縮処理では、最初は可逆圧縮処理を行うが、メモリがオーバーフローした時には、画質劣化を伴う非可逆圧縮処理を行う。又、従来は、所定の決められた原色の順番（たとえばＣＭＹＫ）に従って処理を行うか、または、すべての原色に対して非可逆圧縮処理を行っていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、以上のように従来のカラープリンタにおける前記メモリへの印刷フレームデータの蓄積時に画質劣化を伴う圧縮処理を行う場合には、実際の印刷用原色データの各色の量に関わらず、所定の順番や全原色に対して非可逆圧縮を行っていたので、フレームバッファメモリが極端に少ない場合や印刷データの非可逆圧縮率が高い場合には、画像劣化の度合いが激しくなることから、印刷データが伝えようとする内容の劣化が顕著になり印刷内容に支障をきたす場合が有るという欠点があった。
本発明は、上述した如き従来の欠点を除去するためになされたものであって、カラープリンタにおけるフレームバッファの圧縮処理においてメモリオーバーフローが発生することから画像劣化を伴う非可逆圧縮を行う場合に、画像劣化を出来るだけ目立たなくして見やすい印刷結果が得られるカラープリンタ制御方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上述の目的を達成するため、請求項１に記載の本発明のカラープリンタ制御方法は、カラー画像データから原色毎に印刷フレームデータを作成し、前記印刷フレームデータをメモリに蓄積して印刷するカラープリンタ制御方法において、前記メモリへの印刷フレームデータの蓄積時に画質劣化を伴う圧縮処理を行う場合に、前記カラー画像データから得られる原色毎の階調レベルの統計数の大小順に従って、前記原色毎の印刷フレームデータの前記圧縮処理を行う順番を決定することを特徴とする。
請求項２に記載の本発明は、請求項１に記載のカラープリンタ制御方法において、前記原色毎の階調レベルの統計数に上限の所定値を定め、前記所定値を超える原色の印刷フレームデータには前記圧縮処理を後で行うように前記圧縮処理を行う順番を決定することを特徴とする。
請求項３に記載の本発明は、請求項２に記載のカラープリンタ制御方法において、前記階調レベルの全領域を複数領域に分割し、前記圧縮処理を行う順番を前記各複数領域における前記原色毎の階調レベルの統計数により決定することを特徴とする。
【０００６】
【発明の実施の形態】
以下、本発明を図示した実施形態に基づいて説明する。
図１は、カラープリンタのフレームメモリにおいてデータ圧縮を行う場合の本発明の一実施形態のデータ処理の動作を示すフローチャートである。
ステップＳ２１では、ホストから受け取った描画データコマンドを解析し、ステップＳ２２では、カラー印刷における原色の非可逆圧縮の順番をホストマシンのカラー画像データから決定する。ステップＳ２３では、ステップＳ２１の解析結果に従いフレームバッファメモリに印刷データの描画を行う。ステップＳ２４では、フレームバッファメモリの印刷データを圧縮し、ステップＳ２５では、フレームバッファメモリがオーバーフローするか否かの判断を行い、オーバーフローする場合（ステップＳ２５：Ｙｅｓ）にはステップＳ２６に進み、オーバーフローしない場合（ステップＳ２５：Ｎｏ）には、ステップＳ２８に進む。ステップＳ２６では、印刷データをステップＳ２２の決定結果により非可逆圧縮し直す。ステップＳ２７では、印刷に用いる原色の全色分の色プレーンにつき非可逆圧縮が終了したか否かを判断し、全色分が終了した場合（ステップＳ２７：Ｙｅｓ）にはステップＳ２８に進み、全色分が終了していない場合（ステップＳ２７：Ｎｏ）にはステップＳ２５に戻る、ステップＳ２８では、圧縮された印刷データを伸張してビデオ転送してプリントする。
この図１のステップＳ２６の非可逆圧縮を行う際には、図１のステップＳ２２において作成された各色のプレーン毎の階調レベル数の表（重み付け表）により行う。
【０００７】
図２は、ホストより転送されたカラーマッピングテーブルから変換された一実施形態のカラーマッピングデータを示す表である。
図２では、０〜２５５の２５６個のホストデータ毎に、印刷に用いられる原色であるシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、黒（Ｋ）のそれぞれの印刷濃度の階調レベル数が示されている。ホストより転送されたカラーマッピングテーブルのデータは、この図２のように変換されて各色プレーンの重み付けが行なわれる。この重み付けされたデータにより、カラープレーンに非可逆圧縮を行う順番を判定し、その順番の色プレーンにだけ非可逆圧縮処理を行い、その結果、メモリーのオーバーフローが解消された場合にはカラープリンタで印刷が行なわれる。
図２における重み付けの判断方法は以下のようになる。例えば、ホストからのデータが８ビットの場合には、カラーマッピングテーブルは２５６個の色のそれぞれについてＣＭＹＫ各色の値を持つ。この値から各色毎に何種類の階調レベルがあるかの統計値Ｎｃ、Ｎｙ、Ｎｍ、Ｎｋを得る。Ｃのプレーンに出現する階調レベルの数Ｎｃ個がＭのプレーンの数Ｎｍ個より多い場合には、ＣのプレーンはＭのプレーンより複雑であり、より多くの情報を持っていることがわかる。そこで、この階調レベルの数Ｎｃ、Ｎｍ、Ｎｙ、Ｎｋの数値が少ないほど画像に与える影響度が少ないと判断し、先に非可逆圧縮するように重み付けを行う。
【０００８】
図３は、図２の各色のプレーン毎に階調レベル数により重み付けを行った一実施形態を示す重みテーブルである。
図３では、ホストより転送されたカラーマッピングテーブルから変換されたカラーマッピングデータの各色毎の階調レベル数を示し、各色（ＣＭＹＫ）毎の階調レベル数は、４分割された各段階毎の階調数と、全段階のトータル数とが示され、更に、所定値の４５以下かそれ以上であるかがわかるようになっている。
例えば、各色毎の階調レベルの統計数がＮｃ＞Ｎｍ＞Ｎｙ＞Ｎｋである場合には、非可逆圧縮を行う順番は、Ｎｋ、Ｎｙ、Ｎｍ、Ｎｃの順番になるように重みが付けられる。図３では、Ｃ、Ｍ、Ｙ、Ｋのｔｏｔａｌの列の値は、５、４７、５７、４５であるので、その値の少ない順であるＣ、Ｋ、Ｍ、Ｙの順番に非可逆圧縮を行う。
この重み付けを行う処理が、図１のフローチャートにおけるステップＳ２２で行われ、この重み付けの結果に従い、図１のステップＳ２６において色プレーンを非可逆処理することとなる。
【０００９】
図４は、本発明の非可逆圧縮処理におけるデータの流れの第１の実施形態を示すフローチャートである。
図４の場合の各色毎の重み付けは、図３のＡの項に示すように「Ｃ→Ｋ→Ｍ→Ｙ」の順番に重み付されており、「Ｙ」を可逆圧縮しようとしたがメモリが足りなくなるため、まず「Ｃ」を非可逆圧縮するが、それでも足りないので「Ｋ」を非可逆圧縮して「Ｙ」をメモリに可逆圧縮する場合を示す。
ステップＳ２３１では、「Ｙｅｌｌｏｗ」のフレームバッファメモリに描画を行い、ステップＳ２４１では、フレームバッファメモリの印刷データを圧縮しようとするがオーバーフローしてしまう。ここまでは、図９のフローチャートの場合と同様である。この時点において、本発実施形態では「Ｃ→Ｋ→Ｍ→Ｙ」の順番に重み付されているため、ステップＳ２６１では、「Ｃ」の描画データの非可逆圧縮を行い図１のステップＳ２５のメモリのオーバーフローの判断を行う。ステップＳ２６２では、ステップＳ２６１の非可逆圧縮では、まだ、メモリがオーバーフローしているので、「Ｋ」の描画データの非可逆圧縮を行う。すると、メモリのオーバーフローが無くなるので、ステップＳ２３２の「Ｙｅｌｌｏｗ」の描画データをステップＳ２４２で可逆圧縮する。
【００１０】
次に、図３において、これら各色の階調レベル個数がある程度多い場合には、人間の目では階調レベルの差を区別できなくなり、隣り合う階調レベルや近隣の階調レベルではほぼ同じものと考えて差し支えなくなる。また、ほとんどのプリンタでは実質的には階調数に制限が出てくる。この制限を上記のＮｃ、Ｎｍ、Ｎｙ、Ｎｋに反映することで必要以上の情報を得ようとせずに重み付けを行うことができる。
その場合の方法は、それぞれの色毎の階調レベル個数に対して上限値Ｎｍａｘを与える。この値は、プリンタエンジンの性能などで左右されるが、実験的に見つけ出すことが可能であり、固定値としてプリンタソフト内に持ったり、プリンタ装置の操作パネルやホストマシン等から指定をすることで与えることが可能である。この値を用いて、例えば、Ｎｃ＞Ｎｍａｘ、Ｎｍ＞Ｎｍａｘであれば、「Ｃ」と「Ｍ」の重みは同じものと判断し、非可逆圧縮処理をデフォルトの順番に従うか同時に行う。
このＮｍａｘは、色の性質により異なることが予想され、それぞれの色について持った方がより効果的である。図３の例では、Ｂの項に示したようにＮｍａｘを４５とし、「Ｃ」、「Ｋ・Ｍ・Ｙ」の順番に非可逆圧縮する。
【００１１】
図５は、本発明の非可逆圧縮処理におけるデータの流れの第２の実施形態を示すフローチャートである。
図５の場合の各色毎の重み付けは、図３のＢの項に示すように「Ｃ」→「Ｋ・Ｍ・Ｙ」の順番に重み付されており、「Ｙ」を可逆圧縮しようとしたがメモリが足りなくなるため、まず「Ｃ」を非可逆圧縮するが、それでも足りないので「Ｋ・Ｍ」を非可逆圧縮して、「Ｙ」を更にメモリに非可逆圧縮する場合を示す。
ステップＳ２３３では、「Ｙｅｌｌｏｗ」のフレームバッファメモリに描画を行い、ステップＳ２４３では、フレームバッファメモリの印刷データを圧縮しようとするがオーバーフローしてしまう。ここまでは、図９のフローチャートの場合と同様である。この時点において、本発実施形態では「Ｃ」→「Ｋ・Ｍ・Ｙ」の順番に重み付されているため、ステップＳ２６３では、「Ｃ」の描画データの非可逆圧縮を行い図１のステップＳ２５のメモリのオーバーフローの判断を行う。ステップＳ２６４では、ステップＳ２６３の非可逆圧縮では、まだ、メモリがオーバーフローしているので、「Ｋ・Ｍ」の描画データの非可逆圧縮を行う。すると、メモリのオーバーフローが無くなるが、「Ｙ」も非可逆圧縮の対象であるので、ステップＳ２３４の「Ｙｅｌｌｏｗ」の描画データをステップＳ２６５で非可逆圧縮する。尚、上記「Ｋ・Ｍ・Ｙ」の中における処理の順番は、本実施形態では任意に実行することができるが、本実施形態では図３のＡ項の数値の少ない順に従って「Ｋ→Ｍ→Ｙ」の順番とした。
【００１２】
また、図３における、上記したようなそれぞれの色だけの集計では、例えば、濃度値０から１２８の間に６０個の階調レベルがある場合と、濃度値０から６０の間に６０個の階調レベルがある場合とでは色の差は異なる。この場合、上記のような一定の上限値では区別が不可能であり、明らかに０から１２８の間に６０個の階調レベルがある方が見た目の情報量が多い。そこで、色の複数個のバンドに分割統計をとることにより、より精度の高い重み付けが可能となる。例えば、図３のＣの項に示すように、１色の階調を４つの部分にそれぞれ０−６３、６４−１２７、１２８−１９１、１９２−２５５の区間部分に分けて統計をとり、上記の第１や第２の実施形態の重み付けを行う前に、まず分割した部分について同様に重みを付ける。
図３では、上記のように第２の実施形態の「Ｃ」、「Ｋ・Ｍ・Ｙ」の順番の内、「Ｋ・Ｍ・Ｙ」を０から２５５を４つの区間に区切り統計を取ったところ、「Ｋ」は２つ、「Ｍ」は４つ、「Ｙ」は３つの区間に濃度が存在しているので、「Ｃ」→「Ｋ」→「Ｙ」→「Ｍ」の順番に非可逆圧縮する。
【００１３】
図６は、本発明の非可逆圧縮処理におけるデータの流れの第３の実施形態を示すフローチャートである。
図６の場合の各色毎の重み付けは、図３のＣの項及び上記に示すように「Ｃ」→「Ｋ」→「Ｙ」→「Ｍ」の順番に重み付されており、「Ｙ」を可逆圧縮しようとしたがメモリが足りなくなるため、まず「Ｃ」を非可逆圧縮するが、それでも足りないので「Ｋ」を非可逆圧縮して、「Ｙ」を更にメモリに非可逆圧縮する場合を示す。
ステップＳ２３５では、「Ｙｅｌｌｏｗ」のフレームバッファメモリに描画を行い、ステップＳ２４４では、フレームバッファメモリの印刷データを圧縮しようとするがオーバーフローしてしまう。ここまでは、図９のフローチャートの場合と同様である。この時点において、本発実施形態では「Ｃ」→「Ｋ」→「Ｙ」→「Ｍ」の順番に重み付されているため、ステップＳ２６６では、「Ｃ」の描画データの非可逆圧縮を行い図１のステップＳ２５のメモリのオーバーフローの判断を行う。ステップＳ２６７では、ステップＳ２６６の非可逆圧縮では、まだ、メモリがオーバーフローしているので、「Ｋ」の描画データの非可逆圧縮を行う。まだ、メモリのオーバーフローが無くならないので、ステップＳ２３６の「Ｙｅｌｌｏｗ」の描画データをステップＳ２６８で非可逆圧縮する。
上記のように、カラープリンタにおけるフレームバッファの圧縮においてメモリオーバーフローが発生し画像劣化を伴う非可逆圧縮を行う場合に、各色毎に重み付けを行うことにより、画像劣化を出来るだけ目立たなくして見やすい印刷結果を得ることができる。
【００１４】
【発明の効果】
上記のように本発明を実施することにより、カラープリンタに搭載されるフレームバッファメモリの量が少なく画像（画質）劣化が激しい場合の画像データを印刷する場合であっても、画像劣化を引き起こす非可逆性圧縮を減らして見やすい出力結果を得ることができる。
【図面の簡単な説明】
【図１】カラープリンタのフレームメモリにおいてデータ圧縮を行う場合の本発明の一実施形態のデータ処理の動作を示すフローチャートである。
【図２】ホストより転送されたカラーマッピングテーブルから変換された一実施形態のカラーマッピングデータを示す図表である。
【図３】図２の各色のプレーン毎に階調レベル数（階調数）により重み付けを行った重みテーブルの一実施形態を示す図表である。
【図４】本発明の非可逆圧縮処理におけるデータの流れの第１の実施形態を示すフローチャートである。
【図５】本発明の非可逆圧縮処理におけるデータの流れの第２の実施形態を示すフローチャートである。
【図６】本発明の非可逆圧縮処理におけるデータの流れの第３の実施形態を示すフローチャートである。
【図７】カラープリンタのフレームメモリにおいてデータ圧縮を行う場合の従来のデータ処理の動作を示すフローチャートである。
【図８】図７における印刷データの可逆圧縮のみを行う場合を更に詳しく示すフローチャートである。
【図９】図８における可逆圧縮だけではフレームバッファメモリがオーバーフローするので非可逆圧縮し直す場合のフローチャートである。
【符号の説明】
Ｃ、Ｃｙａｎ・・・シアン、Ｍ、Ｍａｇｅｎｔａ・・・マゼンタ、Ｋ、Ｂｌａｃｋ・・・黒、Ｙ、Ｙｅｌｌｏｗ・・・イエロー、Ｎｃ・・・Ｃに何種類の階調レベルがあるかの統計数、Ｎｍ・・・Ｍに何種類の階調レベルがあるかの統計数、Ｎｋ・・・Ｋに何種類の階調レベルがあるかの統計数、Ｎｙ・・・Ｙに何種類の階調レベルがあるかの統計数、Ｎｍａｘ・・・各色毎の階調レベル個数に対する上限値
【図１】
0004012625.tif 000002
【図２】
0004012625.tif 000003
【図３】
0004012625.tif 000004
【図４】
0004012625.tif 000005
【図５】
0004012625.tif 000006
【図６】
0004012625.tif 000007
【図７】
0004012625.tif 000008
【図８】
0004012625.tif 000009
【図９】
0004012625.tif 000010