(57)【要約】  【課題】  入力画像の符号量を制御する画像圧縮装置を提供する。  【解決手段】  圧縮プログラム５は、処理速度を優先させる場合に、ページ及びラインの目標圧縮率のうち、より厳しい方（目標圧縮率が高い方）をライン基準値とし、各ラインの実測圧縮率がこのライン基準値以上となるように監視しながら符号化処理を行い、画質を優先させる場合に、ライン毎の圧縮率の下限を予め低く設定して、圧縮処理による画質劣化を抑制しつつ、ページ全体の圧縮率を監視しながら符号化処理を行う。【選択図】図２
2006174331.tif 000002
【特許請求の範囲】
【請求項１】
圧縮対象として入力された入力画像を、この入力画像の一部である部分画像毎に圧縮する圧縮手段と、
前記圧縮手段により圧縮された部分画像のデータ量を検出する部分データ量検出手段と、
前記部分データ量検出手段により検出された部分画像のデータ量と、部分画像について設定された基準部分データ量とを比較する部分データ量比較手段と、
前記部分データ量比較手段による比較結果に応じて、前記圧縮手段による圧縮処理を規定する圧縮パラメータを設定するパラメータ設定手段と
を有する画像圧縮装置。
【請求項２】
前記基準部分データ量は、部分画像の目標圧縮率及び入力画像全体の目標圧縮率のうち、より高い方の目標圧縮率に対応する値であり、
前記パラメータ設定手段は、前記部分データ量比較手段により部分画像のデータ量がこの部分画像に対して設定された基準部分データ量を超えていると判定された場合に、設定されている圧縮パラメータよりも高い圧縮率を実現できる圧縮パラメータに変更する
請求項１に記載の画像圧縮装置。
【請求項３】
前記圧縮手段は、前記部分データ量比較手段により部分画像のデータ量が前記基準部分データ量を超えていると判定された場合に、前記パラメータ設定手段により変更された圧縮パラメータを適用して、この部分画像に対する圧縮処理をやり直す
請求項２に記載の画像圧縮装置。
【請求項４】
前記圧縮手段により圧縮された入力画像全体のデータ量を検出する全体データ量検出手段と、
前記全体データ量検出手段により検出された入力画像全体のデータ量と、入力画像全体について設定された基準全体データ量とを比較する全体データ量比較手段と
をさらに有し、
前記パラメータ設定手段は、前記全体データ量比較手段による比較結果と、前記部分データ量比較手段による比較結果とに応じて、前記圧縮パラメータを設定する
請求項１に記載の画像圧縮装置。
【請求項５】
前記基準部分データ量の初期値の総和は、入力画像の目標データ量よりも大きく、
前記全体データ量比較手段による比較結果に応じて、各部分画像に対して設定される基準部分データ量を変更する基準値変更手段
をさらに有し、
前記部分データ量比較手段は、検出された部分画像のデータ量と、前記基準値変更手段により変更された基準部分データ量とを比較し、
前記パラメータ設定手段は、前記部分データ量比較手段による比較結果に応じて、前記圧縮パラメータを変更する
請求項４に記載の画像圧縮装置。
【請求項６】
前記パラメータ設定手段は、前記部分データ量比較手段により部分画像のデータ量がこの部分画像に対して設定された基準部分データ量を超えると判定された場合に、設定されている圧縮パラメータよりも圧縮率が高くなるような圧縮パラメータに変更し、
前記基準値変更手段は、前記全体データ量比較手段により入力画像全体のデータ量がこの入力画像全体に対して設定された基準全体データ量を超えると判定された場合に、各部分画像に対して設定される基準部分データ量を減少させる
請求項５に記載の画像圧縮装置。
【請求項７】
前記基準全体データ量に対応する圧縮率をいずれの部分画像に対しても実現できる限界圧縮パラメータを少なくとも含むパラメータ記憶手段
をさらに有し、
前記パラメータ設定手段は、前記パラメータ記憶手段に記憶されている圧縮パラメータの中から、設定すべき圧縮バラメータを選択する
請求項１〜６のいずれかに記載の画像圧縮装置。
【請求項８】
前記パラメータ記憶手段は、実現可能な圧縮率が互いに異なる複数の圧縮パラメータを記憶し、
前記パラメータ設定手段は、各部分画像について、複数の圧縮パラメータの中から、実現可能な圧縮率のより低い圧縮パラメータから、実現可能な圧縮率のより高い圧縮パラメータの順で選択する
請求項７に記載の画像圧縮装置。
【請求項９】
前記部分画像は、入力画像の１ラインに相当し、
前記圧縮手段は、前記入力画像を、１ライン単位で圧縮し、
前記部分データ量検出手段は、前記圧縮手段により圧縮された１ライン分のデータ量を検出し、
前記部分データ量比較手段は、前記部分データ量検出手段により検出された１ライン分のデータ量と、１ライン分の基準部分データ量とを比較する
請求項１に記載の画像圧縮装置。
【請求項１０】
圧縮対象として入力された入力画像を、この入力画像の一部である部分画像毎に圧縮し、
圧縮された部分画像のデータ量を検出し、
検出された部分画像のデータ量と、部分画像について設定された基準部分データ量とを比較し、
部分画像のデータ量と基準部分データ量との比較結果に応じて、圧縮処理を規定する圧縮パラメータを変更する
画像圧縮方法。
【請求項１１】
コンピュータを含む画像圧縮装置において、
圧縮対象として入力された入力画像を、この入力画像の一部である部分画像毎に圧縮するステップと、
圧縮された部分画像のデータ量を検出するステップと、
検出された部分画像のデータ量と、部分画像について設定された基準部分データ量とを比較するステップと、
部分画像のデータ量と基準部分データ量との比較結果に応じて、圧縮処理を規定する圧縮パラメータを変更するステップと
を前記画像圧縮装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮する画像圧縮装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、既定の量子化ステップで圧縮処理を行って第１のメモリ及び第２のメモリに格納し、第１のメモリに格納されているデータ量が所定量に達したとき、より高い圧縮率となるよう大きな量子化ステップを設定し、第２のメモリに格納されている符号データをこの量子化ステップで再符号化し、この符号データを第１のメモリに上書きする画像処理装置を開示する。
【特許文献１】特開２００３−００８９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、入力画像の符号量を制御する画像圧縮装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［画像圧縮装置］
上記目的を達成するために、本発明にかかる画像圧縮装置は、圧縮対象として入力された入力画像を、この入力画像の一部である部分画像毎に圧縮する圧縮手段と、前記圧縮手段により圧縮された部分画像のデータ量を検出する部分データ量検出手段と、前記部分データ量検出手段により検出された部分画像のデータ量と、部分画像について設定された基準部分データ量とを比較する部分データ量比較手段と、前記部分データ量比較手段による比較結果に応じて、前記圧縮手段による圧縮処理を規定する圧縮パラメータを設定するパラメータ設定手段とを有する。
【０００５】
好適には、前記基準部分データ量は、部分画像の目標圧縮率及び入力画像全体の目標圧縮率のうち、より高い方の目標圧縮率に対応する値であり、前記パラメータ設定手段は、前記部分データ量比較手段により部分画像のデータ量がこの部分画像に対して設定された基準部分データ量を超えていると判定された場合に、設定されている圧縮パラメータよりも高い圧縮率を実現できる圧縮パラメータに変更する。
【０００６】
好適には、前記圧縮手段は、前記部分データ量比較手段により部分画像のデータ量が前記基準部分データ量を超えていると判定された場合に、前記パラメータ設定手段により変更された圧縮パラメータを適用して、この部分画像に対する圧縮処理をやり直す。
【０００７】
好適には、前記圧縮手段により圧縮された入力画像全体のデータ量を検出する全体データ量検出手段と、前記全体データ量検出手段により検出された入力画像全体のデータ量と、入力画像全体について設定された基準全体データ量とを比較する全体データ量比較手段とをさらに有し、前記パラメータ設定手段は、前記全体データ量比較手段による比較結果と、前記部分データ量比較手段による比較結果とに応じて、前記圧縮パラメータを設定する。
【０００８】
好適には、前記基準部分データ量の初期値の総和は、入力画像の目標データ量よりも大きく、前記全体データ量比較手段による比較結果に応じて、各部分画像に対して設定される基準部分データ量を変更する基準値変更手段をさらに有し、前記部分データ量比較手段は、検出された部分画像のデータ量と、前記基準値変更手段により変更された基準部分データ量とを比較し、前記パラメータ設定手段は、前記部分データ量比較手段による比較結果に応じて、前記圧縮パラメータを変更する。
【０００９】
好適には、前記パラメータ設定手段は、前記部分データ量比較手段により部分画像のデータ量がこの部分画像に対して設定された基準部分データ量を超えると判定された場合に、設定されている圧縮パラメータよりも圧縮率が高くなるような圧縮パラメータに変更し、前記基準値変更手段は、前記全体データ量比較手段により入力画像全体のデータ量がこの入力画像全体に対して設定された基準全体データ量を超えると判定された場合に、各部分画像に対して設定される基準部分データ量を減少させる。
【００１０】
好適には、前記基準全体データ量に対応する圧縮率をいずれの部分画像に対しても実現できる限界圧縮パラメータを少なくとも含むパラメータ記憶手段をさらに有し、前記パラメータ設定手段は、前記パラメータ記憶手段に記憶されている圧縮パラメータの中から、設定すべき圧縮バラメータを選択する。
【００１１】
好適には、前記パラメータ記憶手段は、実現可能な圧縮率が互いに異なる複数の圧縮パラメータを記憶し、前記パラメータ設定手段は、各部分画像について、複数の圧縮パラメータの中から、実現可能な圧縮率のより低い圧縮パラメータから、実現可能な圧縮率のより高い圧縮パラメータの順で選択する。
【００１２】
好適には、前記部分画像は、入力画像の１ラインに相当し、前記圧縮手段は、前記入力画像を、１ライン単位で圧縮し、前記部分データ量検出手段は、前記圧縮手段により圧縮された１ライン分のデータ量を検出し、前記部分データ量比較手段は、前記部分データ量検出手段により検出された１ライン分のデータ量と、１ライン分の基準部分データ量とを比較する。
【００１３】
［画像圧縮方法］
また、本発明にかかる画像圧縮方法は、圧縮対象として入力された入力画像を、この入力画像の一部である部分画像毎に圧縮し、圧縮された部分画像のデータ量を検出し、検出された部分画像のデータ量と、部分画像について設定された基準部分データ量とを比較し、部分画像のデータ量と基準部分データ量との比較結果に応じて、圧縮処理を規定する圧縮パラメータを変更する。
【００１４】
［プログラム］
また、本発明にかかるプログラムは、コンピュータを含む画像圧縮装置において、圧縮対象として入力された入力画像を、この入力画像の一部である部分画像毎に圧縮するステップと、圧縮された部分画像のデータ量を検出するステップと、検出された部分画像のデータ量と、部分画像について設定された基準部分データ量とを比較するステップと、部分画像のデータ量と基準部分データ量との比較結果に応じて、圧縮処理を規定する圧縮パラメータを変更するステップとを前記画像圧縮装置のコンピュータに実行させる。
【発明の効果】
【００１５】
本発明の画像処理装置によれば、入力画像の符号量をフレキシブルに制御することができる。
【発明を実施するための最良の形態】
【００１６】
［背景］
まず、本発明の理解を助けるために、本発明がなされるに至った背景を説明する。
プリンタなどにおいて、印刷のプロセススピードを維持したままラスタデータを供給するためには、画像データのデータ量を制御する必要がある。データ量を制御する方法としては、各種圧縮処理により画素データを圧縮する方法がある。例えば、１ライン毎に画像を印刷するプリンタにおいては、画像のページ毎及びライン毎の符号量制御を行なう必要がある。すなわち、ページ毎及びライン毎の目標圧縮率がそれぞれ独立に設定され、両者を満足させる必要がある。
しかしながら、処理速度優先、画質優先、又はこれらの折衷など、プリンタごとの要求は様々であり、これらすべての要求には答えられていないのが現状である。
【００１７】
また、例えば、特許文献１には、１パスでページ単位の符号量制御を行うために、画像を圧縮して所定の閾値までメモリを消費した場合に、先に格納した画像圧縮データの復号及び再量子化を新たなハードウェアを用いて行い、続きの画像圧縮を再開する手法が提案されている。この手法では、再びメモリが上記閾値を超えて消費された場合に、再量子化処理が繰り返され、１パスで決められたデータ量の符号を生成できる。
しかし、この手法では、搭載メモリ量、画像の絵柄、又は上記閾値によっては、画像の先頭になるほど再量子化の回数が増え、これに伴って量子化誤差が多くなり、画質劣化の起因となる。
また、画像符号化の最後の方で上記閾値を超えて再量子化処理が行われる場合などを想定すると、処理時間を低減させるために、新たなエントロピー復号及び再量子化処理のために多大なハードウェア資源が必要となる。
【００１８】
そこで、本発明は、画質やハードウェア規模などをそれほど犠牲にせず、システムやユーザの要望に対してフレキシブルに対応可能な圧縮方法を提供する。
【００１９】
［実施形態］
次に、本発明の実施形態を説明する。
図１は、本発明にかかるプリンタ装置２（画像圧縮装置）のハードウェア構成を、制御装置２０を中心に例示する図である。
図１に示すように、プリンタ装置２は、制御装置２０及びプリンタ本体２６から構成される。制御装置２０は、ＣＰＵ２１２及びメモリ２１４などを含む制御装置本体２１０、通信装置２２０、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２３０、並びに、ＨＤＤ・ＣＤ装置などの記録装置２４０から構成される。
【００２０】
［圧縮プログラム］
図２は、圧縮処理プログラム５の機能構成を例示する図である。
図２に示すように、圧縮プログラム５は、圧縮部５００、パラメータ設定部５４０、ライン圧縮率算出部５５０、ライン圧縮率比較部５６０、ページ圧縮率算出部５７０、ページ圧縮率比較部５８０、及び基準値変更部５９０を有する。
圧縮プログラム５は、例えば記録媒体２４２（図１）を介して制御装置２０に供給され、メモリ２１４にロードされて実行される。なお、圧縮プログラム５は、その一部がドライバソフトとしてクライアント端末にインストールされ、互いに協働して本実施形態で説明する機能を実現してもよい。
【００２１】
圧縮プログラム５において、圧縮部５００は、符号化対象として入力された入力画像を、部分画像毎に符号化する。本例では、入力画像が、印刷物１ページ分に相当するページ画像であり、部分画像が、このページ画像の１スキャンライン分の画像（ライン画像）である場合を具体例として説明する。なお、部分画像は、入力画像を均等に分割した画像であることが望ましい。
また、圧縮部５００は、パラメータ設定部５４０（後述）によって設定される圧縮パラメータに応じて、非可逆な符号化方式により部分画像を符号化する。
【００２２】
パラメータ設定部５４０は、圧縮部５００による圧縮処理を規定する圧縮パラメータを設定する。この圧縮パラメータは、圧縮処理による圧縮率を規定する。本例の圧縮パラメータは、圧縮処理における非可逆性を規定する情報（例えば、量子化ステップ、スケーリングファクタ等）である。
また、パラメータ設定部５４０は、ライン圧縮率比較部５６０による比較結果に応じて、圧縮パラメータを設定する。例えば、パラメータ設定部５４０は、１ライン毎の圧縮率（実測値）が１ラインに対して設定された基準値（以下、ライン基準値）よりも低い場合に、より高い圧縮率を実現できる圧縮パラメータに変更する。換言すると、パラメータ設定部５４０は、１ライン毎の符号量（実測値）が１ラインに対して設定されたライン基準値（上限となる符号量）を超えている場合に、より符号量を低減できる圧縮パラメータに変更する。
【００２３】
ライン圧縮率算出部５５０は、圧縮部５００により符号化された１ライン分の符号量を示す値を算出する。符号量を示す値とは、例えば、符号量そのもの、又は、圧縮率などである。本例のライン圧縮率算出部は、圧縮部５００により符号化された１ライン分の符号データの圧縮率を算出する。
【００２４】
ライン圧縮率比較部５６０は、ライン圧縮率算出部５５０により算出された１ライン分の圧縮率（実測値）と、１ラインに対して設定されたライン基準値とを比較し、比較結果をパラメータ設定部５４０に出力する。
【００２５】
ページ圧縮率算出部５７０は、圧縮部５００により符号化された１ページ（すなわち、入力画像全体）の符号量を示す値を算出する。本例のページ圧縮率算出部５７０は、圧縮部５００により符号化された１ページ分の符号データの圧縮率を算出する。
【００２６】
ページ圧縮率比較部５８０は、ページ圧縮率算出部５７０により算出された１ページ分の圧縮率（実測値）と、１ページに対して設定された基準値（以下、ページ基準値）とを比較し、比較結果を基準値変更部５９０に出力する。このページ基準値は、目標となる１ページ分の符号量又は圧縮率に相当する値である。
【００２７】
基準値変更部５９０は、ページ圧縮率比較部５８０による比較結果に応じて、ライン基準値を変更する。例えば、基準値変更部５９０は、１ページ分の圧縮率（実測値）が、ページ基準値（目標圧縮率）よりも低い場合に、ライン基準値（１ライン毎の圧縮率の下限）を引き上げる。換言すると、基準値変更部５９０は、１ページ分の符号量（実測値）が、ページ基準値（目標符号量）を超えている場合に、ライン基準値（１ライン分の符号量の上限）を引き下げる。
【００２８】
図３は、圧縮部５００の機能構成を例示する図である。
図３に示すように、圧縮部５００は、フィルタ処理部５１０及び可逆圧縮部５２０を含む。
フィルタ処理部５１０は、圧縮パラメータに応じた画素値変換処理を行うブロックであり、第１予測部５１２ａ、第２予測部５１２ｂ、画素値変更処理部５１４、及び誤差分配処理部５１６を有する。なお、本実施形態では、２つの予測部５１２（第１予測部５１２ａ及び第２予測部５１２ｂ）を有する形態を説明するが、予測部５１２は１つ以上あればよく、例えば、５つの予測部５１２により構成されてもよい。
【００２９】
第１予測部５１２ａ及び第２予測部５１２ｂは、それぞれ所定の手法で画像データに基づいて注目画素の画素値を予測し、予測値として画素値変更処理部５１４に対して出力する。例えば、第１予測部５１２ａ及び第２予測部５１２ｂは、それぞれ異なる位置にある画素の画素値を、注目画素の予測値とする。
画素値変更処理部５１４は、注目画素の画素値と予測値とを比較し、その差が予め設定された変更許容値（本例における圧縮パラメータ）より小さい場合には予測値を、可逆圧縮部５２０に対して出力し、さらに、注目画素の画素値と予測値との差分（以下、誤差値）を誤差分配処理部５１６に対して出力する。一方、画素値変更処理部５１４は、注目画素の画素値と予測値との差が変更許容値以上の場合には、注目画素の画素値をそのまま可逆圧縮部５２０に対して出力し、誤差分配処理部５１６に対して０を出力する。すなわち、フィルタ処理部５１０は、誤差値が変更許容値以上の場合には、注目画素の画素値を変換せず、変更許容値以上の誤差値を誤差分配しない。換言すると、変更許容値（圧縮パラメータ）が大きいほど、入力画像の画素値が変更されて、後段の可逆圧縮部５２０による予測のヒット率が向上し、圧縮率が高くなる。
誤差分配処理部５１６は、画素値変更処理部５１４から入力された誤差値に基づいて、誤差分配値を生成し、画像データに含まれる所定の画素の画素値にこれを加算する。誤差分配値は、例えば、重み行列を用いた誤差拡散法や平均誤差最小法に従って、誤差値に重み行列の値を掛け合わせて算出される。
【００３０】
このように、フィルタ処理部５１０は、後段の可逆圧縮部５２０が画像データを圧縮しやすくなるように画像データに含まれる画素値を変換する。その際に、フィルタ処理部５１０は、画素値の変更により生じた真の画素値との差分を、周辺画素に分配して、画素値の変更を巨視的に目立たなくする。
【００３１】
可逆圧縮部５２０は、第１予測部５２２ａ、第２予測部５２２ｂ、予測誤差算出部５２４、選択部５２６、ラン計数部５２８、及び符号生成部５２９を有する。
第１予測部５２２ａ及び第２予測部５２２ｂは、フィルタ処理部５１０における第１予測部５１２ａ及び第２予測部５１２ｂとほぼ同様に、それぞれ所定の手法で画像データに基づいて注目画素の画素値を予測し、予測値として選択部５２６に対して出力する。
予測誤差算出部５２４は、所定の手法で画像データに基づいて注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値として選択部５２６に対して出力する。
選択部５２６は、画像データと予測値から注目画素における予測の一致／不一致を検出する。選択部５２６は、その結果、予測が的中した予測部５２２があればその識別番号を、いずれも的中しなかった場合は予測誤差値を、ラン計数部５２８及び符号生成部５２９に対して出力する。
【００３２】
ラン計数部５２８は、識別番号が第１予測部５２２ａを指している場合には、内部カウンタを１だけ増やす。また識別番号が第１予測部５２２ａ以外を指している場合で、かつ内部カウンタが０でない場合には、内部カウンタの値をランデータとして符号生成部５２９に対して出力する。
符号生成部５２９は、ランデータ及び予測誤差値が同時に与えられた場合、まずランデータの符号を生成してから予測誤差値の符号を生成する。一方、符号生成部５２９は、識別番号又は予測誤差値のみが与えられた場合には、識別番号又は予測誤差値の符号を生成する。
【００３３】
なお、上記ラン計数部５２８及び符号生成部５２９による符号生成処理は、第１予測部５２２ａの的中確率が高いことを想定した形態であるが、他の圧縮方法を用いてもよい。例えば、高速復号等の目的から固定長符号を与えた場合、符号生成部５２９は、第１予測部５２２ａが的中した旨を２進数「０１」、第２予測部５２２ｂが的中した旨を２進数「１０」、いずれの予測部も外れた旨を２進数「００」でそれぞれ圧縮し、予測誤差を符号＋８ｂｉｔの２進数で圧縮する。また、圧縮率を向上させたい場合には、符号生成部５２９は、Ｈｕｆｆｍａｎ圧縮、算術符号等の可変長符号を用いて符号を生成してもよい。例えば、発生確率の高そうな第１予測部５２２ａに１ｂｉｔの符号を与えたＨｕｆｆｍａｎ符号の場合、第１予測部５２２ａが的中した旨を２進数「０」、第２予測部５２２ｂが的中した旨を２進数「１０」、いずれの予測部５２２も予測が外れた旨を２進数「１１」で符号化する。また、符号生成部５２９は、算術符号を用いて符号化してもよい。このように圧縮の手法はいくつも考えられる。
【００３４】
次に、処理速度優先、画質優先、又は、これらの折衷が要求される場合の圧縮プログラム５の動作を説明する。
【００３５】
［処理速度優先］
まず、処理速度が優先される場合の符号化処理を説明する。
図４は、処理速度が優先される場合の圧縮プログラム５の動作（Ｓ１０）を説明するフローチャートである。
この場合に、ライン基準値（ライン毎の圧縮率の下限）は、予め、ページの目標圧縮率又はラインの目標圧縮率の高い方と同じ値、あるいは、それ以上の値に設定される。
また、この場合に、ページ圧縮率算出部５７０、ページ圧縮率比較部５８０及び基準値変更部５９０は、動作する必要がないため、処理速度優先での動作のみを行うプリンタ装置２では、ページ圧縮率算出部５７０、ページ圧縮率比較部５８０及び基準値変更部５９０を要しない。
【００３６】
図４に示すように、ステップ１００（Ｓ１００）において、パラメータ設定部５４０は、圧縮部５００に設定された圧縮パラメータを初期化する。より具体的には、パラメータ設定部５４０は、変更許容値の初期値を画素値変更処理部５１４（図３）に設定する。
【００３７】
ステップ１１０（Ｓ１１０）において、圧縮部５００は、設定された圧縮パラメータに応じて、入力画像の１ライン（以下、注目ライン）を符号化する。
【００３８】
ステップ１４０（Ｓ１４０）において、ライン圧縮率算出部５５０は、圧縮部５００により符号化された注目ラインの圧縮率を算出する。
【００３９】
ステップ１４５（Ｓ１４５）において、ライン圧縮率比較部５６０は、ライン圧縮率算出部５５０により算出された注目ラインの圧縮率（実測値）と、予め設定されたライン基準値（ライン毎の圧縮率の下限）とを比較する。
圧縮プログラム５は、注目ラインの圧縮率（実測値）がライン基準値以上である場合に、Ｓ１５５の処理に移行し、注目ラインの圧縮率がライン基準値よりも小さい場合に、Ｓ１５０の処理に移行する。
【００４０】
ステップ１５０（Ｓ１５０）において、パラメータ設定部５４０は、現在設定されている圧縮パラメータよりも高い圧縮率の実現が可能な圧縮パラメータを圧縮部５００に設定する。より具体的には、パラメータ設定部５４０は、画素値変更処理部５１４（図３）に設定された変更許容値の値を増加させる。
圧縮プログラム５は、Ｓ１１０の処理に戻り、変更された圧縮パラメータ（変更許容値）を適用して、この注目ラインの符号化処理を再度行う。すなわち、圧縮プログラム５は、注目ラインの圧縮率がライン基準値以上になるまで、圧縮パラメータ（変更許容値）を変更しながらこの注目ラインの符号化処理を繰り返す。
【００４１】
ステップ１５５（Ｓ１５５）において、圧縮プログラム５は、入力画像に含まれる全ラインの符号化処理が完了したか否かを判定し、全ラインの符号化処理が完了している場合に、符号化処理を終了し、これ以外の場合に、Ｓ１００の処理に戻って、次のラインを注目ラインとして符号化処理を行う。
【００４２】
このように、圧縮プログラム５は、処理速度を優先させる場合に、ページ及びラインの目標圧縮率のうち、より厳しい方（目標圧縮率が高い方）をライン基準値とし、各ラインの実測圧縮率がこのライン基準値以上となるように監視しながら符号化処理を行う。これにより、１パスによる効率的な符号化処理が実現される。
【００４３】
［画質優先］
次に、画質が優先される場合の符号化処理を説明する。
図５は、画質が優先される場合の圧縮プログラム５の動作（Ｓ１２）を説明するフローチャートである。なお、本図に示された各処理のうち、図４に示された処理と実質的に同一のものには同一の符号が付されている。
なお、本例では、ページ全体の符号量に対する上限は存在するが、各ラインの符号量に対して上限がない場合を具体例として説明する。
【００４４】
図５に示すように、ステップ１６０（Ｓ１６０）において、ライン圧縮率比較部５６０は、ライン基準値を初期化する。このライン基準値（ライン毎の圧縮率の下限）の初期値は、ページの目標圧縮率及びラインの目標圧縮率の少なくとも一方よりも低い値（すなわち、緩い条件）に設定される。より好ましくは、ライン基準値（ライン毎の圧縮率の下限）の初期値は、ページの目標圧縮率及びラインの目標圧縮率のいずれよりも低い値に設定される。
【００４５】
Ｓ１００において、パラメータ設定部５４０は、圧縮部５００に設定された圧縮パラメータを初期化する。
Ｓ１１０において、圧縮部５００は、設定された圧縮パラメータに応じて、入力画像の１ライン（注目ライン）を符号化する。
Ｓ１４０において、ライン圧縮率算出部５５０は、圧縮部５００により符号化された注目ラインの圧縮率を算出する。
【００４６】
Ｓ１４５において、ライン圧縮率比較部５６０は、ライン圧縮率算出部５５０により算出された注目ラインの圧縮率（実測値）と、予め設定されたライン基準値（ライン毎の圧縮率の下限）とを比較し、圧縮プログラム５は、注目ラインの圧縮率（実測値）がライン基準値以上である場合に、Ｓ１５５の処理に移行し、注目ラインの圧縮率がライン基準値よりも小さい場合に、Ｓ１５０の処理に移行する。
Ｓ１５０において、パラメータ設定部５４０は、現在設定されている圧縮パラメータよりも高い圧縮率の実現が可能な圧縮パラメータを圧縮部５００に設定し、圧縮プログラム５はＳ１１０の処理に戻る。
Ｓ１５５において、圧縮プログラム５は、入力画像に含まれる全ラインの符号化処理が完了したか否かを判定し、全ラインの符号化処理が完了している場合に、Ｓ１６５の処理に移行し、これ以外の場合に、Ｓ１００の処理に戻って、次のラインを注目ラインとして符号化処理を行う。
【００４７】
ステップ１６５（Ｓ１６５）において、ページ圧縮率算出部５７０は、圧縮部５００により圧縮された１ページ分の圧縮率（実測値）を算出する。例えば、ページ圧縮率算出部５７０は、ライン圧縮率算出部５５０により算出された１ライン分の圧縮率に基づいて、１ページ分の圧縮率を算出する。
【００４８】
ステップ１７０（Ｓ１７０）において、ページ圧縮率比較部５８０は、ページ圧縮率算出部５７０により算出された１ページ分の圧縮率（実測値）と、予め設定されたページ基準値（１ページに対して設定された圧縮率の下限）とを比較する。例えば、ページ基準値は、このページの目標圧縮率である。
圧縮プログラム５は、１ページ全体の圧縮率（実測値）がページ基準値以上である場合に、符号化処理を終了し、１ページ全体の圧縮率がページ基準値よりも小さい場合に、Ｓ１７５の処理に移行する。
【００４９】
ステップ１７５（Ｓ１７５）において、基準値変更部５９０は、ライン圧縮率比較部５６０に設定されているライン基準値（ライン毎の圧縮率の下限）を引き上げる。
圧縮プログラム５は、Ｓ１００の処理に戻り、変更されたライン基準値（ライン毎の圧縮率の下限）を適用して、この注目ラインの符号化処理を再度行う。すなわち、圧縮プログラム５は、１ページ全体の圧縮率がページ基準値以上になるまで、ライン毎の圧縮率の下限を徐々に引き上げながら、このページ全体の符号化処理を繰り返す。
【００５０】
このように、圧縮プログラム５は、画質を優先させる場合に、ライン毎の圧縮率の下限（ライン基準値）を予め低く設定して、圧縮処理による画質劣化を抑制しつつ、ページ全体の圧縮率を監視しながら符号化処理を行う。これにより、ページに対する符号量の制限に留意しつつ、非可逆符号化による画質劣化を極力抑えることができる。
なお、各ラインの符号量に対しても上限が存在する場合に、圧縮プログラム５は、ライン基準値の初期値を、各ラインの目標圧縮率（各ラインの符号量の上限に対応する圧縮率）に設定することにより、各ラインの符号量の上限にも留意しつつ、画質劣化を抑えた符号化処理を行うことができる。
【００５１】
［折衷］
次に、上記処理速度優先及び画質優先を折衷する場合の符号化処理を説明する。
上記画質優先の符号化処理では、符号化処理のやり直し（フォールバック）回数に上限がなく、ページ全体の符号化処理が終了するまでの処理時間を見積もることができない。
そこで、処理速度優先及び画質優先を折衷する場合の圧縮プログラム５は、既定数の圧縮パラメータを予め用意して、選択可能な圧縮パラメータの数に上限を設けることにより、ページ全体の符号化処理が終了するまでの処理時間に上限を設定することができる。
【００５２】
図６は、パラメータ設定部５４０に記憶される圧縮パラメータテーブル５４２を例示する。
図６に例示するように、パラメータ設定部５４０は、複数の圧縮パラメータが登録された圧縮パラメータテーブル５４２を記憶する。圧縮パラメータテーブル５４２に登録される各圧縮パラメータは、同一の画像に対して互いに異なる圧縮率を実現するパラメータであり、圧縮率のレベルに対応付けられている。本例では、実現可能な圧縮率の最も低い「レベル１」は、「パラメータ１」に対応付けられている。換言すると、「パラメータ１」は、最も高画質に符号化できる圧縮パラメータ（例えば、最小の変更許容値）である。
また、「レベル５」に対応付けられた「パラメータ５」は、登録されている圧縮パラメータの中で、最も高い圧縮率を実現可能な圧縮パラメータ（例えば、最大の変更許容値）である。また、「パラメータ５」は、ラインの目標圧縮率及びページの目標圧縮率以上の圧縮率を必ず実現できる圧縮パラメータ（限界圧縮パラメータ）である。
本例の圧縮プログラム５は、圧縮パラメータテーブル５４２の中から、「レベル１」から順に圧縮パラメータを適用していくことにより、既定の回数以内で必ずラインの目標圧縮率及びページの目標圧縮率を実現することができる。
【００５３】
図７は、圧縮パラメータテーブル５４２が用いられる場合の圧縮プログラム５の動作（Ｓ１４）を説明するフローチャートである。なお、本図に示された各処理のうち、図５に示された処理と実質的に同一のものには同一の符号が付されている。
【００５４】
図７に示すように、Ｓ１６０において、ライン圧縮率比較部５６０は、ライン基準値を初期化する。このライン基準値（ライン毎の圧縮率の下限）の初期値は、ラインの目標圧縮率以上の値であって、ページの目標圧縮率よりも低い値に設定される。
【００５５】
ステップ１８０（Ｓ１８０）において、パラメータ設定部５４０は、圧縮部５００に設定された圧縮パラメータを初期化する。より具体的には、パラメータ設定部５４０は、圧縮パラメータテーブル５４２の中から、圧縮率の最も低い圧縮パラメータ（すなわち、「レベル１」に対応する「パラメータ１」）を選択し、圧縮部５００に設定する。
【００５６】
Ｓ１１０において、圧縮部５００は、設定された圧縮パラメータを適用して、入力画像の１ライン（注目ライン）を符号化する。
Ｓ１４０において、ライン圧縮率算出部５５０は、圧縮部５００により符号化された注目ラインの圧縮率を算出する。
【００５７】
Ｓ１４５において、ライン圧縮率比較部５６０は、ライン圧縮率算出部５５０により算出された注目ラインの圧縮率（実測値）と、予め設定されたライン基準値（ライン毎の圧縮率の下限）とを比較し、圧縮プログラム５は、注目ラインの圧縮率（実測値）がライン基準値以上である場合に、Ｓ１５５の処理に移行し、注目ラインの圧縮率がライン基準値よりも小さい場合に、Ｓ１８５の処理に移行する。
【００５８】
ステップ１８５（Ｓ１８５）において、パラメータ設定部５４０は、現在設定されている圧縮パラメータの次のレベルの圧縮パラメータを、圧縮パラメータテーブル５４２の中から選択して圧縮部５００に設定し、圧縮プログラム５はＳ１１０の処理に戻る。
【００５９】
Ｓ１５５において、圧縮プログラム５は、入力画像に含まれる全ラインの符号化処理が完了したか否かを判定し、全ラインの符号化処理が完了している場合に、Ｓ１６５の処理に移行し、これ以外の場合に、Ｓ１８０の処理に戻って、次のラインを注目ラインとして符号化処理を行う。
Ｓ１６５において、ページ圧縮率算出部５７０は、圧縮部５００により圧縮された１ページ分の圧縮率（実測値）を算出する。
Ｓ１７０において、ページ圧縮率比較部５８０は、ページ圧縮率算出部５７０により算出された１ページ分の圧縮率（実測値）と、予め設定されたページ基準値（１ページに対して設定された圧縮率の下限）とを比較し、圧縮プログラム５は、１ページ全体の圧縮率（実測値）がページ基準値以上である場合に、符号化処理を終了し、１ページ全体の圧縮率がページ基準値よりも小さい場合に、Ｓ１９０の処理に移行する。
【００６０】
ステップ１９０（Ｓ１９０）において、基準値変更部５９０は、初期値として選択する圧縮パラメータのレベルを一つ引き上げる。すなわち、基準値変更部５９０は、パラメータ設定部５４２に対して、現時点で選択可能な圧縮パラメータ（圧縮パラメータテーブル５４２に登録されているパラメータ群）のうち、最低レベルの圧縮パラメータの選択を禁止し、パラメータ設定部５４２は、これに応じて、次のレベル（選択が禁止された圧縮パラメータの次のレベル）の圧縮パラメータを選択し圧縮部５００に設定する。
圧縮プログラム５は、Ｓ１１０の処理に戻り、設定された圧縮パラメータを初期値として適用して、この注目ラインの符号化処理を再度やり直す。
【００６１】
このように、圧縮プログラム５は、圧縮パラメータテーブル５４２に登録された既定数の圧縮パラメータの中から、順に適用すべき圧縮パラメータを選択することにより、フォールバック回数に上限を設定することができる。
【００６２】
次に、上記フローチャートにおける符号化処理（Ｓ１１０）をより詳細に説明する。
図８は、図４，図５及び図７のフローチャートにおける符号化処理（Ｓ１１０）をより詳細に説明するフローチャートである。
図８に示すように、ステップ１１２（Ｓ１１２）において、フィルタ処理部５１０（図３）の第１予測部５１２ａ及び第２予測部５１２ｂは、スキャン順に注目ライン上の画素を注目画素に設定し、注目画素の周辺にある周辺画素の画素値を参照して、注目画素の画素値を予測し、予測値として画素値変更処理部５１４に対して出力する。
ステップ１１４（Ｓ１１４）において、画素値変更処理部５１４は、注目画素の画素値と予測値との差分が変更許容値（圧縮パラメータ）以内であるか否かを判断する。圧縮プログラム５は、画素値と予測値との差分が既定値以内である場合に、Ｓ１１６の処理に移行し、これ以外の場合に、Ｓ１２２の処理に移行する。
ステップ１１６（Ｓ１１６）において、画素値変更処理部５１４は、注目画素の画素値と最も近い予測値を、この注目画素の画素値として可逆圧縮部５２０に対して出力し、注目画素の実際の画素値と、最も近い予測値との差分を誤差分配処理部５１６に対して出力する。
ステップ１１８（Ｓ１１８）において、誤差分配処理部５１６は、注目画素の画素値と、最も近い予測値との差分を周辺画素に分配する。
【００６３】
ステップ１２２（Ｓ１２２）において、可逆圧縮部５２０における第１予測部５２２ａ及び第２予測部５２２ｂは、フィルタ処理部５１０から入力された画素値を予測する。また、予測誤差算出部５２４は、所定の予測部５２２による予測値と、実際の画素値との差分を算出し、予測誤差値として選択部５２６に対して出力する。
なお、図３に示したフィルタ処理部５１０において、画素値変更処理部５１４が、注目画素の画素値を、第１予測部５１２ａによる予測値に変更した場合には、第１予測部５２２ａの予測が的中し、第２予測部５１２ｂによる予測値に変更した場合には、第２予測部５２２ｂによる予測が的中する。すなわち、フィルタ処理部５１０によるフィルタ処理により、可逆圧縮部５２０による予測の的中率が向上する。したがって、可逆圧縮部５２０による圧縮処理の圧縮率を高めることができる。
【００６４】
選択部５２６は、いずれの予測部５２２が的中したかを判断する。第１予測部５２２ａが的中した場合（Ｓ１２３：Ｙｅｓ）、選択部５２６は、第１予測部５２２ａの識別情報をラン計数部５２８に対して出力する（Ｓ１２５）。また、第２予測部５２２ｂが的中した場合（Ｓ１２３：ＮｏかつＳ１２４：Ｙｅｓ）、選択部５２６は、第２予測部５２２ｂの識別情報をラン計数部５２８及び符号生成部５２９に対して出力する（Ｓ１２５）。また、いずれの予測部５２２も的中しなかった場合（Ｓ１２３：ＮｏかつＳ１２４：Ｎｏ）、選択部５２６は、予測誤差算出部５２４が算出した予測誤差値をラン計数部５２８及び符号生成部５２９に対して出力する（Ｓ１２６）。
ステップ１２７（Ｓ１２７）において、符号生成部５２９は、第１予測部５２２ａのラン情報の符号、第２予測部５２２ｂの識別情報の符号、又は、予測誤差値の符号を生成する。
ステップ１２８（Ｓ１２８）において、圧縮部５００は、注目ラインに含まれる全ての画素に対して処理が完了したか否かを判断し、全ての画素に対して処理が完了したと判断した場合に符号化処理（Ｓ１１０）を完了し、これ以外の場合にＳ１１２の処理に戻って、次の画素に対して上記と同様にＳ１１２からＳ１２７までの処理を行う。
【００６５】
以上説明したように、本実施形態におけるプリンタ装置２は、上記のような簡易な構成により、処理速度優先、画質優先及びこれらの折衷という複数の要求に対して柔軟に対応することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明にかかるプリンタ装置２（画像圧縮装置）のハードウェア構成を、制御装置２０を中心に例示する図である。
【図２】圧縮処理プログラム５の機能構成を例示する図である。
【図３】圧縮部５００の機能構成を例示する図である。
【図４】処理速度が優先される場合の圧縮プログラム５の動作（Ｓ１０）を説明するフローチャートである。
【図５】画質が優先される場合の圧縮プログラム５の動作（Ｓ１２）を説明するフローチャートである。
【図６】パラメータ設定部５４０に記憶される圧縮パラメータテーブル５４２を例示する。
【図７】圧縮パラメータテーブル５４２が用いられる場合の圧縮プログラム５の動作（Ｓ１４）を説明するフローチャートである。
【図８】図４，図５及び図７のフローチャートにおける符号化処理（Ｓ１１０）をより詳細に説明するフローチャートである。
【符号の説明】
【００６７】
２・・・プリンタ装置
５・・・圧縮プログラム
５００・・・圧縮部
５１０・・・フィルタ処理部
５１４・・・画素値変換処理部
５２０・・・可逆圧縮部
５４０・・・パラメータ設定部
５４２・・・圧縮パラメータテーブル
５５０・・・ライン圧縮率算出部
５６０・・・ライン圧縮率比較部
５７０・・・ページ圧縮率算出部
５８０・・・ページ圧縮率比較部
５９０・・・基準値変更部
【図１】
2006174331.tif 000003
【図２】
2006174331.tif 000004
【図３】
2006174331.tif 000005
【図４】
2006174331.tif 000006
【図５】
2006174331.tif 000007
【図６】
2006174331.tif 000008
【図７】
2006174331.tif 000009
【図８】
2006174331.tif 000010