(57)【特許請求の範囲】
【請求項１】
印刷に用いられる画像データを圧縮率の異なる複数の圧縮レベルで圧縮可能な画像処理装置であって、
前記画像データを複数の領域に分割した各分割領域について、順次、その時点で設定されている前記圧縮レベルである最新圧縮レベルで圧縮処理を実行する手段であって、前記各分割領域の圧縮処理においては、圧縮後のデータ容量が所定の値よりも小さくならない場合には、圧縮後のデータ容量が所定の値よりも小さくなるまで、前記設定されている最新圧縮レベルを圧縮率が１段階高い前記圧縮レベルに更新して、更新後の前記最新圧縮レベルで圧縮を行う処理を、繰り返し実行する前段圧縮手段と、
前記最新圧縮レベルと、前記各分割領域における、データ容量が所定の値よりも小さくなった際の圧縮に用いられた前記圧縮レベルとを保持する格納手段と、
前記前段圧縮手段による全分割領域に対する処理が終了した後に、その時点の前記最新圧縮レベルと、前記格納手段に保持されている圧縮レベルが異なる前記各分割領域について、当該最新圧縮レベルで圧縮をし直す後段圧縮手段とを有する
ことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記圧縮レベルが３以上備えられる
ことを特徴とする画像処理装置。
【請求項３】
請求項１あるいは請求項２において、
前記前段圧縮手段の処理開始時における前記最新圧縮レベルがユーザによって指定され、前記最新圧縮レベルの更新がなされた場合には、前記指定された最新圧縮レベルと異なる圧縮レベルで圧縮がなされた旨がユーザに報知される
ことを特徴とする画像処理装置。
【請求項４】
印刷に用いられる画像データを圧縮率の異なる複数の圧縮レベルで圧縮可能な画像処理装置における画像処理方法であって、
前記画像データを複数の領域に分割した各分割領域について、順次、その時点で設定されている前記圧縮レベルである最新圧縮レベルで圧縮処理を実行し、前記各分割領域の圧縮処理においては、圧縮後のデータ容量が所定の値よりも小さくならない場合には、圧縮後のデータ容量が所定の値よりも小さくなるまで、前記設定されている最新圧縮レベルを圧縮率が１段階高い前記圧縮レベルに更新して、更新後の前記最新圧縮レベルで圧縮を行う処理を、繰り返し実行する前段圧縮工程と、
前記最新圧縮レベルと、前記各分割領域における、データ容量が所定の値よりも小さくなった際の圧縮に用いられた前記圧縮レベルとを保持する格納工程と、
前記前段圧縮手段による全分割領域に対する処理が終了した後に、その時点の前記最新圧縮レベルと、前記保持した圧縮レベルが異なる前記各分割領域について、当該最新圧縮レベルで圧縮をし直す後段圧縮工程とを有する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷に用いられる画像データを圧縮する画像処理装置等に関し、特に、データ保持に必要なメモリ容量を抑えつつ、印刷の高画質化及び処理の高速化を図ることのできる画像処理装置等に関する。
【背景技術】
【０００２】
従来、レーザプリンタなどのページプリンタでは、印刷要求に基づいて印刷対象である画像の画像データを生成し、当該画像データに従った印刷処理を実行するが、装置が備えるメモリの容量を節約するために、上記生成した画像データを圧縮してメモリに保存し、印刷処理時に当該データを解凍して使用する、ことが行なわれる。
【０００３】
この画像データの圧縮では、可逆圧縮及び非可逆圧縮による各種圧縮方法が用いられ得るが、通常、各圧縮法において圧縮率と解凍後の画質はトレードオフの関係にあり、一般的には、画像データを高い圧縮率で圧縮処理した場合には、その圧縮データを用いた印刷においては画質が劣化する。
【０００４】
かかる画像データの圧縮に関しては、従来、幾つかの提案がなされており、例えば、下記特許文献１には、メモリ容量を増大することなく高速化および高画質化を可能にした装置について記載され、印刷するデータをライン単位で圧縮し、その後、圧縮ページデータが所望のデータ量以下にならない場合は更にページ圧縮する旨が示されている。
【０００５】
また、下記特許文献２には、回路規模を増大させることなく処理時間を低減することを可能とする装置について記載され、選択された圧縮パラメータを用いて画像の分割領域単位で圧縮を行い、圧縮データ格納領域に格納できないと推定された場合には、より圧縮率の大きい圧縮パラメータを選択して圧縮をし直す旨が示されている。
【特許文献１】特開２００６−１５７４４４号公報
【特許文献２】特開２００７−１３２６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術では、圧縮率が同等になるまでライン毎に圧縮処理が行なわれるので、データ内容の異なるライン間では当然に異なる圧縮方法が適用されることがあり得る。この場合、圧縮法が非可逆圧縮であれば、解凍時の再現性がライン間で異なることになり、当該圧縮データに基づいて形成された画像においては均質性が失われて画質の劣化を招く虞がある。
【０００７】
また、上記特許文献２の技術では、圧縮データ格納領域に格納できないと推定された場合に、それまでに圧縮してきたデータを全て開放して、最初の分割領域から新たな圧縮パラメータで圧縮処理をやり直すため、処理時間がかかるという課題があり、特に、圧縮率の異なる３以上の圧縮パラメータを用いる場合には、処理に時間がかかってしまう場合が懸念される。
【０００８】
そこで、本発明の目的は、印刷に用いられる画像データを圧縮する画像処理装置であって、データ保持に必要なメモリ容量を抑えつつ、印刷の高画質化及び処理の高速化を図ることのできる画像処理装置、等を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の一つの側面は、印刷に用いられる画像データを圧縮率の異なる複数の圧縮レベルで圧縮可能な画像処理装置が、前記画像データを複数の領域に分割した各分割領域について、順次、その時点で設定されている前記圧縮レベルである最新圧縮レベルで圧縮処理を実行する手段であって、前記各分割領域の圧縮処理においては、圧縮後のデータ容量が所定の値よりも小さくならない場合には、圧縮後のデータ容量が所定の値よりも小さくなるまで、前記最新圧縮レベルを圧縮率が１段階高い前記圧縮レベルに更新して、更新後の前記最新圧縮レベルで圧縮を行う処理を、繰り返し実行する前段圧縮手段と、前記最新圧縮レベルと、前記各分割領域における、データ容量が所定の値よりも小さくなった際の圧縮に用いられた前記圧縮レベルとを保持する格納手段と、前記前段圧縮手段による全分割領域に対する処理が終了した後に、その時点の前記最新圧縮レベルと、前記格納手段に保持されている圧縮レベルが異なる前記各分割領域について、当該最新圧縮レベルで圧縮をし直す後段圧縮手段とを有する、ことである。
【００１０】
更に、上記の発明において、好ましい態様は、前記圧縮レベルが３以上備えられることを特徴とする。
【００１１】
更に、上記の発明において、好ましい態様は、前記前段圧縮手段の処理開始時における前記最新圧縮レベルがユーザによって指定され、前記最新圧縮レベルの更新がなされた場合には、前記指定された最新圧縮レベルと異なる圧縮レベルで圧縮がなされた旨がユーザに報知されることを特徴とする。
【００１２】
上記の目的を達成するために、本発明の別の側面は、印刷に用いられる画像データを圧縮率の異なる複数の圧縮レベルで圧縮可能な画像処理装置における画像処理方法が、前記画像データを複数の領域に分割した各分割領域について、順次、その時点で設定されている前記圧縮レベルである最新圧縮レベルで圧縮処理を実行するし、前記各分割領域の圧縮処理においては、圧縮後のデータ容量が所定の値よりも小さくならない場合には、圧縮後のデータ容量が所定の値よりも小さくなるまで、前記最新圧縮レベルを圧縮率が１段階高い前記圧縮レベルに更新して、更新後の前記最新圧縮レベルで圧縮を行う処理を、繰り返し実行する前段圧縮工程と、前記最新圧縮レベルと、前記各分割領域における、データ容量が所定の値よりも小さくなった際の圧縮に用いられた前記圧縮レベルとを保持する格納工程と、前記前段圧縮手段による全分割領域に対する処理が終了した後に、その時点の前記最新圧縮レベルと、前記保持した圧縮レベルが異なる前記各分割領域について、当該最新圧縮レベルで圧縮をし直す後段圧縮工程とを有する、ことである。
【００１３】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００１５】
図１は、本発明を適用した画像処理装置を備えたプリンタの実施の形態例に係る構成図である。図１に示すプリンタ２のコントローラ２１が本発明を適用した画像処理装置である。本コントローラ２１では、印刷要求を受けた際に、印刷対象画像の画像データを生成して、いわゆるバンド単位でその画像データの圧縮処理を行なう。その圧縮処理では、圧縮率の異なる複数の圧縮レベルが用意され、その中から選択された圧縮レベルによりバンド順に圧縮処理が開始される。各バンドの処理では、圧縮後のデータサイズが所定量よりも小さくなっているか否かが判断され、所定量よりも小さくなっていない場合には、より圧縮率の高い１段階上の圧縮レベルの選択、選択された圧縮レベルでの再圧縮が、データサイズが所定量よりも小さくなるまで繰り返される。そして、選択された圧縮レベルは次のバンドの処理に引き継がれる。かかる各バンドでの処理が全バンドについて終了した後に、各バンドの圧縮レベルを、最終的に選択されている圧縮レベルに合わせるための再圧縮処理を実行する。本コントローラ２１では、このように画像データの圧縮処理が実行され、データ保持に必要なメモリ容量を抑えつつ、印刷の高画質化及び処理の高速化が図られる。
【００１６】
図１に示すホストコンピュータ１は、プリンタ２に対して印刷要求を行なうホスト装置であり、ユーザ操作等に基づいて画像データと制御コマンドを含む印刷データをプリンタ２に送信する。なお、ホストコンピュータ１は、所謂パーソナルコンピュータなどで構成することができる。
【００１７】
ホストコンピュータ１内のプリンタドライバ１１は、ホストコンピュータ１内のアプリケーション（図示せず）などからのデータを受け取って、プリンタ２に送信する上記印刷データを生成する部分である。なお、プリンタドライバ１１は、上記機能に関する処理を指示するプログラムと当該プログラムに従って処理を実行するホストコンピュータ１の制御装置（図示せず）等によって構成される。また、ディスプレイ等の表示装置１２がホストコンピュータ１に備えられる。なお、プリンタ２に対して印刷要求を行う際に、ユーザが、上述したプリンタ２における画像データの圧縮処理の方法を選択することが可能となっており、アプリケーション又はプリンタドライバ１１からそのためのインターフェース画面が表示装置１２に提供される。
【００１８】
次に、プリンタ２は、図１に示すように、コントローラ２１、エンジン２８、及び操作ユニット２２などで構成される、レーザプリンタである。
【００１９】
コントローラ２１は、前記ホストコンピュータ１から送信される印刷データを受信し、当該データに含まれる制御コマンドを解釈すると共に、当該データに含まれる画像データに対して所定の処理を施してエンジン２８側へ提供するデータを生成する。コントローラ２１には、図１に示すように、Ｉ／Ｆ２３、ＣＰＵ２４、ＲＡＭ２５、ＲＯＭ２６、エンジンＩ／Ｆ２７等が備えられる。
【００２０】
Ｉ／Ｆ２３は、ホストコンピュータ１から送信される前記印刷データを受信する部分であり、ＲＯＭ２６は、プリンタ２を制御するための各種プログラムを記憶する部分である。
【００２１】
ＲＡＭ２５は、前記受信した印刷データ等を格納するメモリであり、エンジン２８で印刷処理が行われる各ページの画像データは、ここからエンジンＩ／Ｆ２７に引き渡される。また、上記各ページの画像データは、前述した圧縮処理後のデータとして当該ＲＡＭ２５に保管され、エンジンＩ／Ｆ２７に引き渡されて解凍される。また、後述するが、各バンドの圧縮処理で採用された圧縮レベルの情報もここに格納される。
【００２２】
ＣＰＵ２４は、本プリンタ２において行われる各種処理を制御する部分であるが、特に、前記受信した印刷データに含まれる画像データをＲＡＭ２５に格納する処理、前記印刷データに含まれる制御コマンドを解釈してエンジン２８に対して適切な印刷処理を指示する処理、及び、ユーザとのインターフェースを形成する操作ユニット２２を制御する処理等を司る。本プリンタ２では、ＣＰＵ２４が行なう画像データの圧縮処理に特徴があり、その具体的な内容については後述する。なお、ＣＰＵ２４が実行する処理は、主に前記ＲＯＭ２６に記憶されたプログラムに従って行われるものである。
【００２３】
次に、エンジンＩ／Ｆ２７は、エンジン２８で印刷を実行する際に、所定のタイミングで前述したＲＡＭ２５に格納されている画像データを読み出し、それらに所定の処理を施した後にエンジン２８側に引き渡す、コントローラ２１とエンジン２８とのインターフェースを司る部分である。なお、このエンジンＩ／Ｆ２７には、図示していないが、データを一時的に格納するメモリ、解凍部、スクリーン処理部等が備えられ、ＲＡＭ２５から読み出した画像データに対して、圧縮されたデータの解凍、ドットのデータへ変換するスクリーン処理などがなされる。また、エンジンＩ／Ｆ２７は、具体的には、ＡＳＩＣで構成されている。
【００２４】
次に、エンジン２８は、図示していないが、帯電ユニット、露光ユニット、現像ユニット、転写ユニット、定着ユニット等で構成される。当該エンジン２８では、前記エンジンＩ／Ｆ２７から受信するデータに基づき、ＣＰＵ２４からの印刷指示に従った印刷処理を実行し、所定の印刷媒体に印刷要求に従った画像が形成される。
【００２５】
図１に示す操作ユニット２２は、ユーザがプリンタ２を操作するための部分であり、表示パネルや操作ボタン等で構成される。
【００２６】
以上説明したような構成を有する本実施の形態例に係るプリンタ２のコントローラ２１では、印刷時に、以下の様な手順で処理が実行される。
【００２７】
まず、ホストコンピュータ１のアプリケーション等でユーザによる印刷要求がなされると、プリンタドライバ１１が前述した印刷データを生成し、ＰＤＬ（ページ記述言語）で当該データをプリンタ２へ送信する。なお、上記ユーザによる印刷要求時には、前述したプリンタ２における画像データの圧縮方法を指定することが可能である。
【００２８】
図２は、当該圧縮方法を指定するために用意されたユーザインターフェース画面の一例である。図２は、印刷要求時にホストコンピュータ１の表示装置１２に表示される画面の例であり、ユーザが各種の印刷条件を設定するための画面の一つである。上記圧縮方法の指定は、図中のＡで指し示す部分で行なうことが可能であり、プルダウンメニューに表示される「画質優先」Ｂ、「標準」Ｃ、及び「データサイズ優先」Ｄの中から所望の方法を選択して指定することができる。図２に示す例では、「標準」Ｃが選択されている。
【００２９】
「画質優先」Ｂのモードが選択された場合には、後述する画像データの圧縮処理において可逆圧縮の方法が取られ、「標準」Ｃ又は「データサイズ優先」Ｄのモードが選択された場合には、非可逆圧縮の方法が取られる。
【００３０】
次に、上記送信された印刷データがプリンタ２で受信され、ＣＰＵ２４の処理により、印刷データに含まれる制御コマンドが解釈されると共に、印刷データに含まれる画像データが所定の中間コードに変換されてＲＡＭ２５に格納される。その後、ＣＰＵ２４は、当該中間コードを、画素毎の画像データに展開する処理を実行する。具体的には、画素毎にＲＧＢ（レッド、グリーン、ブルー）の各色の濃度階調値を有するデータを生成する。
【００３１】
その後、ＣＰＵ２４は、上記ＲＧＢ形式の画像データをＣＭＹＫ（シアン、マゼンタ、イエロー、ブラック）形式の画像データへ色変換する処理を実行する。そして、ＣＰＵ２４は、当該ＣＭＹＫ形式の画像データを圧縮してＲＡＭ２５に格納する。なお、上記展開処理及び色変換処理は、１ページ分の画像を複数の領域に分割した当該領域（バンド）毎に実行され、上記圧縮処理に対して１バンド分のＣＭＹＫ形式の画像データが順次提供される。
【００３２】
上記圧縮処理では、上記ユーザが指定した圧縮方法（モード）の情報が受信した制御コマンドに含まれるので、ＣＰＵ２４は、当該情報に基づいて、可逆圧縮を行なうか、それとも、非可逆圧縮を行なうかを決定する。そして、前述の通り、「画質優先」Ｂのモードが選択されている場合には、可逆圧縮を行なうと決定する。通常、可逆圧縮は非可逆圧縮に比して圧縮率が低いものの解凍後に元の状態に戻るため、画質については非可逆圧縮に比して良好である。従って、ユーザが「画質優先」を指定した場合にはこのように可逆圧縮を行なう。この可逆圧縮処理には、従来知られている圧縮方法を用いることができる。ＣＰＵ２４は、この場合、可逆圧縮を行なってその後の圧縮データを、順次、ＲＡＭ２５の所定箇所に格納する。
【００３３】
一方、ユーザが「画質優先」モード以外を指定している場合には、非可逆圧縮を行なうと決定する。そして、ＣＰＵ２４は、提供される画像データに対して非可逆圧縮処理を実行する。この非可逆圧縮処理に特徴があり、具体的な内容については後述する。圧縮処理後のデータは、同様に、ＲＡＭ２５の所定箇所に格納される。
【００３４】
このようにして、ＲＡＭ２５に圧縮後の画像データが１ページ分揃うと、所定のタイミングで、エンジンＩ／Ｆ２７が当該圧縮データを読み出して前述した処理を実行し、処理後のデータを順次エンジン２８へ引き渡していく。
【００３５】
以上のようにして、コントローラ２１での処理が実行されるが、上述の通り、非可逆圧縮による圧縮処理に特徴があるために、以下、その内容について具体的に説明する。図３は、当該圧縮処理の手順を例示したフローチャートである。
【００３６】
まず、本プリンタ２には、一例として、非可逆圧縮に４つの圧縮レベル（＃０〜＃３）を備える。図４は、その圧縮レベルを説明するための図である。図４に示すように、備えられる圧縮レベルは、圧縮レベル＃０において最も圧縮率が低く、番号が大きくなるにしたがって順次圧縮率が高くなる。一方、各レベルで圧縮された場合における形成画像の質（画質）は、レベル番号が大きくなるにしたがって順次悪くなる。言い換えれば、解凍後の再現性が悪くなる。これらの圧縮レベルは、例えば、ＪＰＥＧ方式の非可逆圧縮を採用し、圧縮パラメータを変えることにより実現することが可能である。この場合には、各圧縮レベルに対応する圧縮パラメータをＲＯＭ２６等に保持して、圧縮処理を実行する際に適宜適切なパラメータを選択して使用する。
【００３７】
なお、図４に示されるように、前述したユーザに指定された圧縮モードが「標準」である場合には、以下に説明する圧縮処理において、圧縮レベル＃０が開始圧縮レベルとして選択され、また、ユーザに指定された圧縮モードが「データサイズ優先」である場合には、圧縮レベル＃１が開始圧縮レベルとして選択される。
【００３８】
以下、図３に基づいて、１ページ分の圧縮処理について説明する。
【００３９】
前述したように、非可逆圧縮を行なうと決定すると、ＣＰＵ２４は、ユーザが指定した圧縮モードに対応する圧縮レベルを、当該処理のパラメータである「開始圧縮レベル」と「最新圧縮レベル」の値として設定（登録）する（ステップＳ１）。
【００４０】
次に、ＣＰＵ２４は、処理対象とするページの最初のバンド（バンド１）の画像データを取得する（ステップＳ２）。具体的には、前述の通り、圧縮処理の前工程で、ＣＭＹＫ形式の画像データが生成されているので、バンド１の当該画像データを取得する。
【００４１】
ＣＰＵ２４は、当該取得した画像データを「最新圧縮レベル」に設定されている圧縮レベルで非可逆圧縮する（ステップＳ３）。バンド１の最初の当該処理においては、「開始圧縮レベル」と「最新圧縮レベル」が同じであるため、前述の通り、ユーザに指定された圧縮モードが「標準」である場合には、圧縮レベル＃０で圧縮処理が行なわれ、ユーザに指定された圧縮モードが「データサイズ優先」である場合には、圧縮レベル＃１で圧縮処理が行なわれる。具体的には、各圧縮レベルに対応する圧縮パラメータを読み出して、当該パラメータを用いた非可逆圧縮を実行する。
【００４２】
次に、ＣＰＵ２４は、上記圧縮処理後のデータサイズが予め定めた容量（閾値）よりも小さいか否かを判定する。そして、予め定めた容量よりも小さい場合には、圧縮に成功したとし、そうでない場合には圧縮に失敗したとする（ステップＳ４）。図５は、圧縮される画像データのサイズについて説明するための図である。図５の（ａ）は、圧縮処理前における、１ページ分の１色についての画像データ（１プレーン）を示している。本プリンタ２では、色材としてＣＭＹＫの各色を用いているため、ＣＭＹＫの各色毎にこのようなデータが生成されることになるが、前述の通り、データ生成処理はバンド毎に行われるので、１プレーン分全てを同時に保持する必要はない。前述の通り、１ページは複数のバンド領域（１〜ｎ）に分割されており、上記圧縮処理（Ｓ３）は、バンド番号の順番に（図５の上のバンドから順番に）行なわれる。また、各バンドの圧縮処理（Ｓ３）では、ＣＭＹＫの色毎に処理が行われる。
【００４３】
図５の（ａ）における１プレーン分のデータサイズＸは、印刷する用紙サイズ及び解像度から決定できる値であるが、本プリンタ２では、圧縮処理後の１プレーンの画像データに対して、当該データサイズＸの所定割合（例えば、８０％）の容量（例えば、Ｘ×０．８）の格納領域をＲＡＭ２５に確保している。そして、上記圧縮処理後の判定（Ｓ４）においては、各色（各プレーン）毎に、圧縮前の各バンドのデータサイズ（例えば、Ｘ／ｎ、図５の（ｂ）のＸ１）に上記所定割合（例えば、８０％）を乗じた容量（図５の（ｂ）のＹ）を、上記予め定めた容量（閾値）として処理を行なう。図５の（ｂ）に示す例では、バンド１の圧縮後のデータ（サイズ）Ｚが閾値Ｙよりも小さいので、圧縮が成功したと判断される。かかる閾値Ｙの値は、前記制御コマンドを解釈して得られる用紙サイズ等の情報に基づいて予め決定しておく。
【００４４】
また、上記色毎の判定において、１色でも上記閾値Ｙよりも容量が小さくならない色がある場合には、当該バンドの圧縮は失敗したと判断する。換言すれば、ＣＭＹＫ全ての色について圧縮データが上記閾値Ｙよりも小さい容量となれば圧縮は成功したと判断する。
【００４５】
このように圧縮の成功／失敗が判断され、失敗したと判断された場合には（ステップＳ４のＮｏ）、ＣＰＵ２４は、前記「最新圧縮レベル」を１段階上げる（ステップＳ５）。具体的には、図４に基づいて説明した、本プリンタ２が備える４段階の圧縮レベルにおいて、その時点で「最新圧縮レベル」に設定されている圧縮レベルよりも番号が１つ大きい圧縮レベルを「最新圧縮レベル」に設定する。例えば、その時点で設定されている圧縮レベルが圧縮レベル＃０であれば「最新圧縮レベル」の値が圧縮レベル＃１に更新される。すなわち、１段階圧縮率の高いレベルが設定されることになる。
【００４６】
その後、処理は、再びステップＳ３に移行する。このように、処理対象のバンドについて、圧縮が成功するまで、言い換えれば、全色についてサイズが閾値Ｙよりも小さくなるまで、上記「最新圧縮レベル」の更新（Ｓ５）と当該更新後の「最新圧縮レベル」による圧縮（Ｓ３）が繰り返し実行される。すなわち、データサイズが所定容量よりも小さくなるまで、順次圧縮率を高めて圧縮処理を実行する。
【００４７】
そして、圧縮に成功したと判断された場合には（ステップＳ４のＹｅｓ）、ＣＰＵ２４は、圧縮後のデータ（圧縮データ）とその時点の「最新圧縮レベル」の値、すなわち、当該圧縮データ生成時に使われた圧縮レベル、をＲＡＭ２５の所定箇所に対象バンドを識別可能に格納する（ステップＳ６）。
【００４８】
このようにして１バンドの処理が終了すると、処理対象ページの全バンドについて処理が終了したか否かが判断され（ステップＳ７）、終了していない（バンドｎまで処理が終了していない）場合には（ステップＳ７のＮｏ）、次のバンドに処理が移行し、次のバンドの画像データをステップＳ２と同様に取得する（ステップＳ８）。例えば、バンド１について処理が終了した時点では、バンド２の画像データが取得される。
【００４９】
その後、処理がステップＳ３に戻って、データが取得されたバンドについて同様の圧縮処理が実行される（Ｓ３〜Ｓ６）。なお、処理が次のバンドに移行した時点で、「最新圧縮レベル」の値は初期化されず、「最新圧縮レベル」の値は、前のバンドの処理において最終的に使用された圧縮レベルの値とあっているので、その圧縮レベルから次のバンドの圧縮処理が実行されることになる。
【００５０】
以上のようにして、全てのバンドについて処理が終了すると（ステップＳ７のＹｅｓ）、非可逆圧縮を用いた場合の前段の処理が終了する。そして、ＲＡＭ２５の所定箇所に、対象ページの圧縮データが格納されることになる。なお、本プリンタ２で備える圧縮率が最高の圧縮レベル＃３で前記圧縮処理（Ｓ３）を行なった場合には、通常のデータの場合には、圧縮が成功するように圧縮パラメータ及び前記閾値Ｙが設定されている。
【００５１】
次に、ＣＰＵ２４は、当該圧縮処理の後段の処理を開始し、まず、「開始圧縮レベル」に設定されている圧縮レベルと「最新圧縮レベル」に設定されている圧縮レベルが異なるか否かをチェックする（ステップＳ９）。「開始圧縮レベル」は、前記ステップＳ１で登録した値がそのまま設定されているが、上述の通り、「最新圧縮レベル」の値は更新されている可能性がある。
【００５２】
当該チェックの結果、双方のレベルが異なっていなければ（ステップＳ９のＮｏ）、当該ページについて後段の処理は行なわず、前段の処理で生成、格納された圧縮データをもって、当該非可逆圧縮の処理を終了する。
【００５３】
一方、当該チェックの結果、双方のレベルが異なっていれば（ステップＳ９のＹｅｓ）、バンド１の、前記前段の処理で格納された圧縮データを読み出して（取得して）（ステップＳ１０）、当該データを解凍（伸張）する（ステップＳ１１）。
【００５４】
その後、解凍した当該バンドの画像データをその時点で「最新圧縮レベル」に設定されている圧縮レベルで再度、非可逆圧縮する（ステップＳ１２）。例えば、前記前段の処理で、バンド１の圧縮データが圧縮レベル＃１で処理されたものであり、その時点での「最新圧縮レベル」、すなわち、最終バンドであるバンドｎで圧縮が成功した際の圧縮レベル、が圧縮レベル＃３である場合には、バンド１について圧縮レベル＃３で圧縮がし直される。
【００５５】
再圧縮された圧縮データは、再度、ＲＡＭ２５の所定箇所に格納される（ステップＳ１３）。すなわち、ＣＰＵ２４は、前段の処理で格納した圧縮データを新たな圧縮レベルで圧縮したデータに更新する。なお、上記ステップＳ１２での圧縮では、前段の処理時よりも圧縮率の高い圧縮レベルが採用されることになるので、１色の圧縮データは前述した閾値Ｙよりも小さなサイズとなる。
【００５６】
このようにして１バンドの処理が終了すると、ＣＰＵ２４は、前述したバンドの番号順に、次のバンドが、前記前段の処理において、この時点の「最新圧縮レベル」で圧縮処理されているか否かをチェックする（ステップＳ１４）。言い換えれば、次にバンドについて、最終バンドであるバンドｎで圧縮が成功した際の圧縮レベルで最終的に圧縮がなされているか否かをチェックする。具体的には、前記前段の処理のステップＳ６でＲＡＭ２５に保持した当該バンド（次のバンド）の「最新圧縮レベル」の値を読み出して当該値が、この時点での「最新圧縮レベル」と等しいか否かをチェックする。例えば、バンド２について、前段処理で圧縮レベル＃２で圧縮が成功しており、この時点での「最新圧縮レベル」が圧縮レベル＃３である場合には、この時点の「最新圧縮レベル」で圧縮処理がなされていないとする。
【００５７】
当該チェックの結果、この時点の「最新圧縮レベル」で圧縮処理がなされていないと判断された場合には（ステップＳ１４のＮｏ）、ＣＰＵ２４は、当該次のバンドの、ＲＡＭ１５に格納されている圧縮データをステップＳ１０と同様に読み出して取得し（ステップＳ１５）、前述したステップＳ１１からの処理を実行する。すなわち、当該バンドのデータについて、この時点の「最新圧縮レベル」で再圧縮をして圧縮データを更新する。
【００５８】
一方、上記チェックの結果、この時点の「最新圧縮レベル」で圧縮処理がなされていると判断された場合には（ステップＳ１４のＹｅｓ）、ＣＰＵ２４は、各バンドに対する上記再圧縮の処理を終了し、ユーザへメッセージを出す（ステップＳ１６）。具体的には、ホストコンピュータ１の表示装置１２又はプリンタ２の操作ユニット２２の表示パネルに、「印刷品質を落として印刷しました」など、前記ユーザが指定した圧縮モードに対応する圧縮レベルよりも圧縮率が高く、画質が悪い圧縮レベルで圧縮処理がなされた旨を知らせるメッセージを表示するように指示する。上述の通り、当該ケースでは、ユーザが指定した圧縮モードに対応する圧縮レベルである「開始圧縮レベル」が、実際に圧縮処理された「最新圧縮レベル」と異なり、「最新圧縮レベル」の方が圧縮レベル（圧縮率）が高いからである。
【００５９】
このようにして、「開始圧縮レベル」と「最新圧縮レベル」が異なる場合（Ｓ９のＹｅｓ）の処理が終了し、その結果、当該ページの全バンドについて同じ「最新圧縮レベル」で圧縮処理された圧縮データがＲＡＭ２５に格納されることになる。また、「開始圧縮レベル」と「最新圧縮レベル」が同じ場合（Ｓ９のＮｏ）には、前段の処理において全バンドが同じ圧縮レベルで処理されており、その圧縮データが保持されているので、同様の結果となる。なお、これらの圧縮データは、各バンドの１色毎に前記閾値Ｙよりも小さいサイズとなっているので、格納された１ページ分の圧縮データは前述したＲＡＭ２５に確保している格納領域内に収まることになる。
【００６０】
以上のようにして、非可逆圧縮が選択された場合の圧縮処理が終了する。
【００６１】
図６は、本プリンタ２で圧縮される画像の一例を前記前段の処理で適用される圧縮レベルと共に示した図である。図６に示した画像（１ページ）には、Ｏ１からＯ４までの４つの描画対象オブジェクトが含まれており、オブジェクトＯ１は、同一濃度の赤色の図形（グラフィクス）であり、オブジェクトＯ２は、アルファベット毎に色の異なる文字であり、オブジェクトＯ３は、写真の画像であり、また、オブジェクトＯ４は、黄色のグラデーションとなった（順次濃さの変化する）図形である。
【００６２】
このような画像に上述した非可逆圧縮を実施した場合には、「開始圧縮レベル」が圧縮レベル＃１であると想定すると、上述した前段の処理において、バンド１及び２においては、オブジェクトＯ１が小さいサイズに圧縮されやすい内容であるので、圧縮レベル＃１で圧縮が成功する。
【００６３】
その後、バンド３では、オブジェクトＯ２が若干圧縮されずらい内容となるため、圧縮レベル＃１では圧縮が成功せず、圧縮レベルが１段引き上げられて圧縮レベル＃２で圧縮が成功する。
【００６４】
その後、バンド４においては同様に圧縮レベル＃２で圧縮が成功するが、バンド５に処理が移行すると、オブジェクトＯ３がさらに圧縮されずらい内容となるため、圧縮レベルがさらに引き上げられて圧縮レベル＃３で圧縮が成功する。
【００６５】
そして、圧縮レベルが最高に引き上げられた状態で以降のバンドについて処理が継続されて、前記前段の処理が終了する。なお、オブジェクトＯ３よりも圧縮されやすいオブジェクトＯ４が存在するバンド８及び９では、圧縮レベル＃２でも圧縮が成功する可能性があるが、上述した処理により圧縮レベルが下がることがないので、また、最終的に圧縮レベルを統一するので圧縮レベル＃２で圧縮する必要がないので、圧縮レベル＃３で圧縮される。
【００６６】
その後、上述した後段の処理が実施されるが、ここで、図６のＡ１で示すバンド１〜４までについて、前述した再圧縮、この例の場合には圧縮レベル＃３による再圧縮が行なわれる。当然にして、図６のＡ２で示すバンド５〜９については再圧縮されない。
【００６７】
このようにして後段の処理が終了すると、当該画像について圧縮レベル＃３で統一された圧縮データがＲＡＭ２５に揃うことになる。
【００６８】
以上説明した内容においては、ＣＭＹＫの色を用いるカラー印刷用の画像データとして説明したが、モノクロ印刷時においても、上述した圧縮処理の内容は同様である。
【００６９】
以上説明したように、本実施の形態例に係るプリンタ２では、画像データの非可逆圧縮処理について、複数の圧縮レベルが用意され、予め定められた容量に収まる範囲で、圧縮率が低く画質が良好な圧縮レベルが採用される。そして、１ページ内においてその圧縮レベルが統一される。従って、１ページ内の画像についてデータの再現性が異なることによる画像の劣化を招くことがなく、また、可能な限り圧縮率が低く画質が良好な圧縮レベルが採用されるので、画像データ保持用に必要なメモリ容量を抑えつつ印刷時の画像の品質を高くすることが可能である。
【００７０】
また、上記圧縮レベルの統一のための再圧縮処理（後段の処理）が、圧縮レベルが上げられる毎に行なわれるのではなく、最終的な圧縮レベルが決定後に一括して行なわれるので、圧縮レベルが複数回引き上げられる場合においても処理時間を抑えることができる。
【００７１】
また、上記後段の処理における再圧縮には、前段で処理した圧縮データが用いられるので、圧縮処理に提供される画像データ及びそれ以前のデータを残しておく必要がなく、メモリを有効に活用することができる。なお、前段で処理した圧縮データは解凍して用いられるため、若干の画質の劣化が考えられるが、その程度は問題にならない。
【００７２】
また、前述したように、ユーザが圧縮モードを指定することができ、その指定した圧縮モードに対応する圧縮レベルで最終的に圧縮が行われなかった場合には、その旨を知らせるメッセージがユーザに表示されるので、ユーザ利便性も高い。
【００７３】
なお、上記実施の形態例では、後段処理の再圧縮のために前段処理の圧縮データを解凍して用いたが、圧縮処理前のいずれかの段階の画像データ（中間コード、ＣＭＹＫ形式の画像データなど）を残しておいて、当該再圧縮処理に用いてもよい。
【００７４】
また、上記実施の形態例では、画像データの圧縮処理がプログラムに基づくＣＰＵの動作で実行されたが、当該処理をハードウェアで実行するようにしてもよい。
【００７５】
また、上記実施の形態例では、プリンタ２がレーザプリンタであったが、本発明を他の印刷方式のプリンタに適用することもできる。
【００７６】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００７７】
【図１】本発明を適用した画像処理装置を備えたプリンタの実施の形態例に係る構成図である。
【図２】画像データの圧縮方法を指定するために用意されたユーザインターフェース画面の一例である。
【図３】圧縮処理の手順を例示したフローチャートである。
【図４】圧縮レベルを説明するための図である。
【図５】圧縮される画像データのサイズについて説明するための図である。
【図６】本プリンタ２で圧縮される画像の一例を前段の処理で適用される圧縮レベルと共に示した図である。
【符号の説明】
【００７８】
１  ホストコンピュータ、  ２  プリンタ、  １１  プリンタドライバ、  １２  表示装置、  ２１  コントローラ、  ２２  操作ユニット、  ２３  Ｉ／Ｆ、  ２４  ＣＰＵ（前段圧縮手段、後段圧縮手段）、  ２５  ＲＡＭ（格納手段）、  ２６  ＲＯＭ、  ２７  エンジンＩ／Ｆ、  ２８  エンジン
【図１】
0004697234.tif 000002
【図３】
0004697234.tif 000003
【図４】
0004697234.tif 000004
【図５】
0004697234.tif 000005
【図２】
0004697234.tif 000006
【図６】
0004697234.tif 000007