(57)【要約】【課題】小容量のページメモリを搭載したページプリンタにおいて、少ないハードウエアの追加により、不必要に解像度を下げること無く、短い圧縮処理時間で所望の圧縮率を得ること。【解決手段】圧縮部２１は画像を複数回に分けて圧縮処理し、順次圧縮データを出力する。そしてメモリカウンタ１２は夫々の圧縮データのサイズを順次カウントする。そして微分回路１３ａ、１３ｂは夫々微分係数ａ、微分係数Ｅを求める。そして予測部１５は第１の画素数分圧縮処理を行い、更に第２の画素数分圧縮処理を行った場合にカウントする予測値Ｙを、微分係数ａ、微分係数Ｅ、第２の画素数Ｄ、そして第１の画素数分圧縮処理を行うことでカウントしたカウント値ｃを用いて、Ｙ＝ａ×Ｄ＋ｃ＋Ｅに従って求める。そして判定部１６は、計算した予測値Ｙと所定の閾値との比較結果に基づいて、上記圧縮処理を制御するための信号をＣＰＵあるいはシーケンサ５０１に出力する。【選択図】  図１
2004274357.tif 000002
【特許請求の範囲】
【請求項１】
画像を圧縮する画像圧縮方法であって、
画像を複数回に分けて圧縮処理し、順次圧縮データを出力する圧縮工程と、
前記圧縮工程による夫々の圧縮データのサイズを順次カウントするカウント工程と、
前記圧縮工程による圧縮処理済みの画素数の変化に対する、前記カウント工程でカウントしたカウント値の変化率を示す第１の値を求める第１の計算工程と、
前記圧縮工程による圧縮処理済みの画素数の変化に対する前記第１の値の変化率を示す第２の値を求める第２の計算工程と、
前記圧縮工程で第１の画素数分圧縮処理を行い、更に第２の画素数分圧縮処理を行った場合に前記カウント工程でカウントする予測値を、前記第１の値、前記第２の値、前記第２の画素数、そして前記圧縮工程で前記第１の画素数分圧縮処理を行うことで前記カウント工程でカウントしたカウント値に従って求める第３の計算工程と、
前記第３の計算工程で計算した予測値と所定の閾値との比較結果に基づいて、前記圧縮工程による圧縮処理を制御するための信号を出力する制御工程と
を備えることを特徴とする画像圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を圧縮する技術に関するものである。
【０００２】
【従来の技術】
ページプリンタのエンジン（以下単にエンジンという）は一定速度で動作する。よって、このエンジンの動作に遅れること無くラスタデータをエンジンに供給する必要がある。エンジンの動作にラスタデータの供給がついていけないとエンジンが空回りしてしまい、印刷が不能になる。
【０００３】
エンジンが空回りすることを防止するために、いろいろな手法がある。ある手法では、１ページ分のラスタデータを画像メモリ上に保持してから印刷を開始する。この手法を用いた場合、例えば、Ａ４用紙に１インチ当り６００画素の密度（６００ＤＰＩ）で４色フルカラーの画像では、１３５メガバイト以上の画像メモリが必要となる。また、ページプリンタの印刷速度が速くなると、印刷完了後に次ページのラスタデータ作成を開始したのでは間に合わず、印刷中に次ページのラスタデータ作成を開始する必要が生じる。この場合別の画像メモリが必要となる。
【０００４】
以上の問題は、大容量の画像メモリを搭載可能ならば解決する。しかしながら、印刷すべきラスタデータを格納しておく画像メモリの価格がページプリンタの原価に与える影響は大きい。よって、ページプリンタの原価を考えると画像メモリの容量は小さいことが望ましい。
【０００５】
そこで、ラスタデータを圧縮して画像メモリに格納する手法が広く使用されている。ラスタデータを圧縮することで必要な画像メモリ量はより小さくてすむ。
【０００６】
しかし、ページの特徴によっては圧縮後のラスタデータの容量が画像メモリ容量より大きくなることがあり、その場合圧縮後のラスタデータを画像メモリに格納できなくなる恐れがある。この問題は、ラスタデータの解像度を下げて再度圧縮し、圧縮後のラスタデータのサイズをより小さくすることで解決可能である。
【０００７】
しかしこの手法によると、画像メモリに圧縮後のラスタデータが納まりきれなくなってから再圧縮動作を開始するので、無駄な処理が発生し、性能面で問題となる。
【０００８】
そこで画像メモリの使用量を予測し、その予測値を用いて再圧縮の必要性を判断する手法がある。この手法では、予測値が予め設定した閾値を超えたならば、圧縮後のラスタデータは画像メモリに格納できないと判断する。そして、既に圧縮されたラスタデータを破棄し、元のラスタデータの解像度を下げて再度圧縮する。この手法では、画像メモリに圧縮後のラスタデータが格納できないことが前もって判明するため、無駄に圧縮動作をおこなう必要が無く、性能が向上する。
【０００９】
しかし、画像メモリ使用量の予測が適切でないと、圧縮後のラスターデータが十分格納可能であるのに格納不可能と判断して、不必要に解像度を下げてしまう恐れがある。あるいは、反対に圧縮後のラスターデータ量が画像メモリ量より大きいのに関わらず、十分格納可能であると判断したために、画像メモリが溢れてから再圧縮動作を開始し、処理時間の増加をもたらすことになる。
【００１０】
また、別の従来例である、複数の圧縮回路や圧縮方法を適宜切り替える方法は、不必要に解像度を下げてしまう恐れが少なく、処理速度も向上する（例えば、特許文献１乃至３を参照）。しかし、複数の圧縮回路や圧縮方法を適宜切り替える方法は、少ない数のハードウエアでは実現不可能であり、プリンタの原価に与える影響は少なくない。
【００１１】
【特許文献１】
特開平４−３２３０６０号公報
【特許文献２】
特開平６−２３３１４１号公報
【特許文献３】
特開平１１−８８１８９号公報
【００１２】
【発明が解決しようとする課題】
本発明は以上の問題に鑑みてなされたものであり、小容量のページメモリを搭載したページプリンタにおいて、少ないハードウエアの追加により、不必要に解像度を下げること無く、短い圧縮処理時間で所望の圧縮率を得ることが可能な技術を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の画像圧縮方法は以下の構成を備える。
【００１４】
すなわち、画像を圧縮する画像圧縮方法であって、
画像を複数回に分けて圧縮処理し、順次圧縮データを出力する圧縮工程と、
前記圧縮工程による夫々の圧縮データのサイズを順次カウントするカウント工程と、
前記圧縮工程による圧縮処理済みの画素数の変化に対する、前記カウント工程でカウントしたカウント値の変化率を示す第１の値を求める第１の計算工程と、
前記圧縮工程による圧縮処理済みの画素数の変化に対する前記第１の値の変化率を示す第２の値を求める第２の計算工程と、
前記圧縮工程で第１の画素数分圧縮処理を行い、更に第２の画素数分圧縮処理を行った場合に前記カウント工程でカウントする予測値を、前記第１の値、前記第２の値、前記第２の画素数、そして前記圧縮工程で前記第１の画素数分圧縮処理を行うことで前記カウント工程でカウントしたカウント値に従って求める第３の計算工程と、
前記第３の計算工程で計算した予測値と所定の閾値との比較結果に基づいて、前記圧縮工程による圧縮処理を制御するための信号を出力する制御工程と
を備えることを特徴とする。
【００１５】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１６】
［第１の実施形態］
図１は本実施形態に係る画像圧縮装置の基本構成を示すブロック図である。なお、同図に示した各ブロックは本実施形態ではハードウェアにより構成されるものとするが、レジスタ１４以外はソフトウェアにより構成し、不図示のＲＯＭに格納して本装置に備えても良い。
【００１７】
本実施形態に係る画像圧縮装置１は大きくは、画像メモリ使用量予測・判定部１１、圧縮部２１の２つから構成されている。
【００１８】
圧縮部２１は、入力されたラスタデータ１０１を圧縮し、圧縮後のラスタデータ（圧縮データ）１０２を画像メモリ２に格納する。入力されるラスタデータ１０１は、原画像（圧縮すべき画像全体）を複数回に分けて圧縮する際の圧縮単位としてのデータであって、毎回入力されるラスタデータ１０１は所定画素数毎のデータであっても良いし、時折（もしくは毎回）異なる画素数のデータであっても良い。また、圧縮部２１は入力されたラスタデータ１０１を圧縮すると、圧縮後のラスタデータ量（圧縮データのサイズ）のデータ１０３と、圧縮処理済画素数データ１０９を画像メモリ使用量予測・判定部１１に出力する。
【００１９】
画像メモリ使用量予測・判定部１１は、メモリカウンタ１２、微分回路１３ａ、１３ｂ、設定レジスタ１４、予測部１５、判定部１６により構成されている。画像メモリ使用量予測・判定部１１は後述の処理により、画像メモリ２の使用量を時々刻々予測する。そして画像メモリ２の予測使用量と予め設定した閾値とを比較し、予測使用量が閾値よりも大きい場合には、画像メモリ溢れ信号１１０を出力する。画像メモリ溢れ信号１１０は、画像圧縮装置１を含めたプリンタシステム全体を制御するＣＰＵあるいはシーケンサ５０１に出力される。ＣＰＵあるいはシーケンサ５０１はこの信号１１０を受けると、これまでの圧縮処理を中断し、後述の処理に切り替える。ＣＰＵあるいはシーケンサ５０１が行う処理については後述する。
【００２０】
メモリカウンタ１２は、圧縮部２１から出力されるデータ１０３が示す「圧縮データのサイズ」を順次カウントするカウンタである。これによりメモリカウンタ１２には、圧縮部２１がこれまでに生成した全ての圧縮データのサイズ（カウント値）が保持されている。なお、メモリカウンタ１２が保持するカウント値は、圧縮動作を開始した時点では０に初期化される。
【００２１】
微分回路１３ａは、メモリカウンタ１２から出力されるデータ１０４が示す「カウント値ｃ」を圧縮部２１からのデータ１０９が示す「圧縮処理済画素数Ｐ」で微分し、微分係数ａ（＝ｄｃ／ｄＰ）を求める。
【００２２】
微分係数ａを求める方法としては例えば、今回のカウント値ｃと前回のカウント値ｃ’との差分Δｃを求め、今回の圧縮処理済画素数Ｐと前回の圧縮処理済画素数Ｐ’との差分ΔＰを求め、Δｃ／ΔＰを上記微分係数ａとして求めても良い。
【００２３】
メモリカウンタ１２が保持するカウント値は画像メモリ１２の使用量を示しているので、この微分係数ａはメモリ使用量の増加率を表す。
【００２４】
また微分回路１３ｂは、微分回路１３ａから出力されるデータ１２１が示す「微分係数ａ」をデータ１０９が示す「圧縮処理済画素数Ｐ」で微分し、微分係数Ｅ（＝ｄａ／ｄＰ）を求める。
【００２５】
微分係数Ｅを求める方法としては例えば、今回の微分係数ａと前回の微分係数ａ’との差分Δａを求め、今回の圧縮処理済画素数Ｐと前回の圧縮処理済画素数Ｐ’との差分ΔＰを求め、Δａ／ΔＰを上記微分係数Ｅとして求めても良い。
【００２６】
この微分係数Ｅは、メモリ使用量がどのように変化しているかの傾向を示し、予測式の補正項として用いられる。
【００２７】
設定レジスタ１４は、先行画素数Ｄを示すデータ、判定部１６が使用するメモリ使用量の閾値Ｓのデータを保持する。先行画素数Ｄとは、「更に画素数Ｄ分だけ圧縮処理を行った場合の画像メモリ２の使用量を予測する」為に用いられる情報である。
【００２８】
予測部１５は、微分回路１３ａから出力されるデータ１２１が示す「微分係数ａ」、設定レジスタ１４に保持しているデータが示す先行画素数Ｄ、現在のカウンタ値ｃ、及び微分回路１３ｂから出力されるデータ１２２が示す「補正項Ｅ」とを用いて、予測メモリ使用量Ｙを求める。この予測メモリ使用量Ｙはすなわち、更に画素数Ｄ分だけ圧縮処理を行った場合に、上記メモリカウンタ１２がカウントするカウント値の予測値である。この予測メモリ使用量Ｙを求める方法、そして予測メモリ使用量Ｙについての詳細は後述する。
【００２９】
判定部１６は、予測部１５から出力されたデータ１０７が示す予測メモリ使用量Ｙと、設定レジスタ１４で保持している閾値Ｓとを比較し、Ｙ≧Ｓならば、（あと画素数Ｄだけ圧縮すると）画像メモリ２が溢れる（言い換えれば、メモリカウンタ１２がカウントするカウント値が画像メモリ２のメモリ量を超える）と予測し、画像メモリ溢れ信号１１０を出力する。
【００３０】
図２は、以上の構成を備える画像圧縮装置１が行う画像圧縮処理のメインの処理のフローチャートである。
【００３１】
まず、ＣＰＵあるいはシーケンサ５０１は各部の初期化を行う（ステップＳ１）。具体的には、メモリカウンタ１２が保持するカウント値を０に初期化し、設定レジスタ１４に先行画素数Ｄのデータと閾値Ｓのデータを設定する。初期化が完了した後、圧縮部２１は入力されるラスタデータ１０１に対して圧縮処理を行う（ステップＳ２）。
【００３２】
そして次に画像メモリ使用量予測・判定部１１は、上記予測メモリ使用量Ｙを求め（ステップＳ３）、閾値Ｓと比較し（ステップＳ４）、予測メモリ使用量Ｙ≧閾値Ｓである場合に画像メモリ溢れ信号１１０を出力する。そして画像メモリ使用量予測・判定部１１の判定部１６が画像メモリ溢れ信号１１０を出力した場合には、ＣＰＵあるいはシーケンサ５０１は画像メモリ２に格納されている圧縮データを破棄し、圧縮部２１に入力される各ラスタデータ１０１の元である画像の解像度を変更し（ステップＳ６）、解像度を変更した画像に対して再度上記ステップＳ１以降の処理を繰り返す。
【００３３】
一方、画像メモリ溢れ信号１１０が出力されない場合、画像メモリ２に空きがあると判断されたわけであるから、続けて圧縮処理を行うことができる。よって、次に、１ページ分の画像を圧縮したかを判断し（ステップＳ５）、まだ圧縮すべきラスタデータ１０１が存在する場合には上記ステップＳ２以降の処理を繰り返す。また、１ページ分の画像が圧縮された場合には、ＣＰＵあるいはシーケンサ５０１にその旨を通知して上の圧縮処理を終了する。
【００３４】
図３は、上記処理において、画像メモリ使用量予測・判定部１１が行う処理のフローチャートである。なお同図に示したフローチャートに従った処理を行う前段では、メモリカウンタ１２が保持するカウント値は、ＣＰＵあるいはシーケンサ５０１によりステップＳ１で０に初期化されており、また設定レジスタ１４には、ＣＰＵあるいはシーケンサ５０１によりステップＳ１で先行画素数Ｄのデータと閾値Ｓのデータとが設定されている。
【００３５】
そしてメモリカウンタ１２は、圧縮部２１から出力されるデータ１０３が示す圧縮データのサイズを順次カウントし、圧縮部２１がこれまでに生成した圧縮データのサイズをカウント値ｃとして保持する（ステップＳ１２）。
【００３６】
次に、微分回路１３ａ、微分回路１３ｂ、そして予測部１５により予測メモリ使用量Ｙを求める（ステップＳ１３）。求める方法の詳細については後述するが、カウント値ｃ、微分回路１３ａによる微分係数ａ、微分回路１３ｂによる微分係数Ｅ、そして設定レジスタ１４に記憶されている先行画素数Ｄを用いてメモリ使用量Ｙを求める。
【００３７】
判定部１６は、予測メモリ使用量Ｙと閾値Ｓと比較することで、画像メモリ２の溢れを予測する（ステップＳ１４）。そしてＹ≧Ｓであると判断した場合、判定部１１３は画像メモリ溢れ信号１１０を出力する（ステップＳ１５）。なお、Ｙ＜Ｓである場合には画像メモリ溢れ信号１１０は出力せず、上記ステップＳ１２以降の処理を繰り返す。
【００３８】
図４は上記ステップＳ１３における処理、すなわち、予測メモリ使用量Ｙを求める処理の詳細を示すフローチャートである。まず微分回路１３ａは、上述の通り、微分係数ａを求める（ステップＳ２１）。また微分回路１３ｂは、上述の通り、微分係数Ｅを求める（ステップＳ２２）。次に予測部１５は、現在のカウント値ｃ、微分回路１３ａによる微分係数ａ、微分回路１３ｂによる微分係数Ｅ、そして設定レジスタ１４に記憶されている先行画素数Ｄを用いて以下の予測式に従い、予測メモリ使用量Ｙを求める（ステップＳ２３）。
【００３９】
Ｙ＝ａ×Ｄ＋ｃ＋Ｅ
そして予測部１５は求めた予測メモリ使用量Ｙのデータを判定部１６に出力する（ステップＳ２４）。
【００４０】
ここで、補正項Ｅが無い従来の予測式による問題点を説明する。図５は、補正項Ｅが無い予測式Ｙ＝ａ×Ｄ＋ｃを用いた場合のメモリ使用量の予測を説明するための図である。
【００４１】
図５に示した２つのグラフは夫々、画像に対して圧縮を行っていく過程で画像メモリ使用量の増加量が異なる例を示すもので、縦軸は画像メモリ２の使用量（即ちメモリカウンタ１２が保持するカウント値）を示し、横軸は画素数を示す。図５において５０１、５０２は、圧縮部２１が次々と入力されるラスタデータを圧縮していったときの実際のメモリ使用量を表す曲線である。
【００４２】
図５（ａ）において、圧縮部２１が画素数Ｘ１を圧縮処理した時点で、あと画素数Ｄ分だけ圧縮したとき（画素数（Ｘ１＋Ｄ）分圧縮したとき）のメモリ使用量を予測式Ｙ＝ａ×Ｄ＋ｃに従って予測すると、この予測式による直線は（Ｘ１＋Ｄ）では画像メモリ容量よりも大きい値を取るので、画像メモリ容量（画像メモリ２の容量）を超えていると予測される。従来ではこの時点で解像度を下げて、再圧縮する必要があると判断し、再圧縮を行う。しかしながら実際には、曲線５０１を参照すると、画像メモリ使用量の増加量が鈍化しているため、あと画素数Ｄ分だけ圧縮したとき（画素数（Ｘ１＋Ｄ）分圧縮したとき）のメモリ使用量は画像メモリ２の容量以下である。この場合、従来の方法では結果として、過度に解像度を下げて圧縮をおこなったことになる。
【００４３】
一方、図５（ｂ）において、圧縮部２１が画素数Ｘ２を圧縮処理した時点で、あと画素数Ｄ分だけ圧縮したとき（画素数（Ｘ２＋Ｄ）分圧縮したとき）のメモリ使用量をＹ＝ａ×Ｄ＋ｃに従って予測すると、この予測式による直線は（Ｘ２＋Ｄ）では画像メモリ容量以下の値を取るので、画像メモリ容量（画像メモリ２の容量）は越えていないと予測される。従来ではこれにより圧縮処理を進めるが、実際には、曲線５０２を参照すると、画像メモリ使用量の増加量が大きくなっているため、あと画素数Ｄ分だけ圧縮したとき（画素数（Ｘ２＋Ｄ）分圧縮したとき）のメモリ使用量は画像メモリ２の容量を越えており、実際には圧縮データはこの時点では画像メモリ２に格納できなくなっている。よって従来ではこの時点で画像の解像度を下げ、再圧縮を始める必要が生じるので、画像メモリが溢れるまでの圧縮処理時間が無駄になる。
【００４４】
以上説明したように、従来の予測式では充分にメモリ使用量が予測できなかったため、様々な問題が生じる。
【００４５】
次に、従来の予測式に補正項Ｅを用いた場合の効果について説明する。図６は、本実施形態に係る予測式Ｙ＝ａ×Ｄ＋ｃ＋Ｅを用いた場合のメモリ使用量の予測を説明するための図である。同図では本実施形態に係る予測式と従来の予測式との対比を示している。
【００４６】
図６に示した２つのグラフは夫々、画像に対して圧縮を行っていく過程で画像メモリ使用量の増加量が異なる例を示すもので、縦軸は画像メモリ２の使用量（即ちメモリカウンタ１２が保持するカウント値）を示し、横軸は画素数を示す。図６において６０１、６０２は、圧縮部２１が次々と入力されるラスタデータを圧縮していったときの実際のメモリ使用量を表す曲線である。
【００４７】
図６（ａ）において、圧縮部２１が画素数Ｘ１を圧縮処理した時点で、あと画素数Ｄ分だけ圧縮したとき（画素数（Ｘ１＋Ｄ）分圧縮したとき）のメモリ使用量を予測式Ｙ＝ａ×Ｄ＋ｃ＋Ｅに従って予測する場合を考える。画像メモリ使用量の増加量は鈍化しており、増加率は減少しているため補正項Ｅは負の数になるので、本実施形態に係る予測式は補正項Ｅが無い従来の予測式を下向きに並行移動したものとなる。この場合、本実施形態に係る予測式による直線は（Ｘ１＋Ｄ）では画像メモリ容量よりも小さい値を取るので、再圧縮を開始する必要はないと判断できる。即ち正しくメモリ使用量を予測できるので、過剰な解像度の低下を防止することができる。
【００４８】
図６（ｂ）において、圧縮部２１が画素数Ｘ２を圧縮処理した時点で、あと画素数Ｄ分だけ圧縮したとき（画素数（Ｘ２＋Ｄ）分圧縮したとき）のメモリ使用量を予測式Ｙ＝ａ×Ｄ＋ｃ＋Ｅに従って予測する場合を考える。画像メモリ使用量の増加量は急激に大きくなっており、増加率は増加しているため補正項Ｅは正の数になるので、本実施形態に係る予測式は補正項Ｅが無い従来の予測式を上向きに並行移動したものとなる。この場合、本実施形態に係る予測式による直線は（Ｘ２＋Ｄ）では画像メモリ容量よりも大きい値を取るので、圧縮データはもう画像メモリ２には格納できないと判断できる。即ち正しくメモリ使用量を予測できるので、画像メモリ２が溢れるまで圧縮処理を続ける無駄を防止することができる。
【００４９】
以上の説明により、本実施形態に係る画像圧縮装置及び画像圧縮方法によって、圧縮データが画像メモリに納まる場合にも関わらず、過剰に解像度を下げて再圧縮を行うことを防止することができる。また、反対に圧縮データが画像メモリに格納することができないにも関わらず、そのままの解像度で圧縮処理を続ける無駄を防止することができる。またこれにより、少ないハードウエア増加量でデータ圧縮速度を向上させることができると共に、プリンタシステム全体の性能を向上させることができる。
【００５０】
なお本実施形態では画像圧縮装置をプリンタシステムに適用した場合について説明したが、これに限定されるものではなく他の装置に適用しても良いし、図１の画像圧縮装置１内の各部の機能をコンピュータのＣＰＵに実行させるためのプログラムとして、各種のアプリケーションソフトに適用しても良い。
【００５１】
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００５２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００５５】
以下に本発明の実施態様の例を示す。
【００５６】
［実施態様１］  画像を圧縮する画像圧縮装置であって、
画像を複数回に分けて圧縮処理し、順次圧縮データを出力する圧縮手段と、
前記圧縮手段による夫々の圧縮データのサイズを順次カウントするカウント手段と、
前記圧縮手段による圧縮処理済みの画素数の変化に対する、前記カウント手段がカウントしたカウント値の変化率を示す第１の値を求める第１の計算手段と、
前記圧縮手段による圧縮処理済みの画素数の変化に対する前記第１の値の変化率を示す第２の値を求める第２の計算手段と、
前記圧縮手段が第１の画素数分圧縮処理を行い、更に第２の画素数分圧縮処理を行った場合に前記カウント手段がカウントする予測値を、前記第１の値、前記第２の値、前記第２の画素数、そして前記圧縮手段が前記第１の画素数分圧縮処理を行うことで前記カウント手段がカウントしたカウント値に従って求める第３の計算手段と、
前記第３の計算手段が計算した予測値と所定の閾値との比較結果に基づいて、前記圧縮手段による圧縮処理を制御するための信号を出力する制御手段と
を備えることを特徴とする画像圧縮装置。
【００５７】
［実施態様２］  前記第３の計算手段は、前記第１の値をａ、前記第２の値をＥ、前記所定画素数をＤ、そして前記圧縮手段が前記第１の画素数分圧縮処理を行うことで前記カウント手段がカウントしたカウント値をｃとすると、前記圧縮手段が第１の画素数分圧縮処理を行い、更に第２の画素数分圧縮処理を行った場合に前記カウント手段がカウントする予測値ＹはＹ＝ａ×Ｄ＋ｃ＋Ｅに従って求めることを特徴とする実施態様１に記載の画像圧縮装置。
【００５８】
［実施態様３］  前記制御手段は、前記予測値が前記所定の閾値以上になった場合、前記圧縮手段に圧縮処理を中断させ、前記画像の解像度を下げてから再圧縮処理を行わせることを特徴とする実施態様１に記載の画像圧縮装置。
【００５９】
［実施態様４］  画像を圧縮する画像圧縮方法であって、
画像を複数回に分けて圧縮処理し、順次圧縮データを出力する圧縮工程と、
前記圧縮工程による夫々の圧縮データのサイズを順次カウントするカウント工程と、
前記圧縮工程による圧縮処理済みの画素数の変化に対する、前記カウント工程でカウントしたカウント値の変化率を示す第１の値を求める第１の計算工程と、
前記圧縮工程による圧縮処理済みの画素数の変化に対する前記第１の値の変化率を示す第２の値を求める第２の計算工程と、
前記圧縮工程で第１の画素数分圧縮処理を行い、更に第２の画素数分圧縮処理を行った場合に前記カウント工程でカウントする予測値を、前記第１の値、前記第２の値、前記第２の画素数、そして前記圧縮工程で前記第１の画素数分圧縮処理を行うことで前記カウント工程でカウントしたカウント値に従って求める第３の計算工程と、
前記第３の計算工程で計算した予測値と所定の閾値との比較結果に基づいて、前記圧縮工程による圧縮処理を制御するための信号を出力する制御工程と
を備えることを特徴とする画像圧縮方法。
【００６０】
［実施態様５］  コンピュータを実施態様１乃至３の何れか１項に記載の画像圧縮装置として機能させることを特徴とするプログラム。
【００６１】
［実施態様６］  コンピュータに実施態様４に記載の画像圧縮方法を実行させることを特徴とするプログラム。
【００６２】
［実施態様７］  実施態様５又は６に記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
【００６３】
【発明の効果】
以上の説明により、本発明によって、小容量のページメモリを搭載したページプリンタにおいて、少ないハードウエアの追加により、不必要に解像度を下げること無く、短い圧縮処理時間で所望の圧縮率を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る画像圧縮装置の基本構成を示すブロック図である。
【図２】本発明の実施形態に係る画像圧縮装置１が行う画像圧縮処理のメインの処理のフローチャートである。
【図３】画像メモリ使用量予測・判定部１１が行う処理のフローチャートである。
【図４】ステップＳ１３における処理、すなわち、予測メモリ使用量Ｙを求める処理の詳細を示すフローチャートである。
【図５】補正項Ｅが無い予測式Ｙ＝ａ×Ｄ＋ｃを用いた場合のメモリ使用量の予測を説明するための図である。
【図６】本発明の実施形態に係る予測式Ｙ＝ａ×Ｄ＋ｃ＋Ｅを用いた場合のメモリ使用量の予測を説明するための図である。
【図１】
2004274357.tif 000003
【図２】
2004274357.tif 000004
【図３】
2004274357.tif 000005
【図４】
2004274357.tif 000006
【図５】
2004274357.tif 000007
【図６】
2004274357.tif 000008