(57)【要約】【課題】画質を維持しつつ高い圧縮率で圧縮すること。【解決手段】画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップ（＃２２）と、各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップ（＃２３）と、画像データおよび画像データを擬似階調化する際に用いるディザパターンを用いて、第２のステップで求めた各画素の濃度に基づいて得られる画像の再現性の良否を検査する第３のステップ（＃２４）と、第３のステップの検査により再現性が良となった領域について、第１のステップで求めた代表値に基づいて符号化を行う第４のステップ（＃２６）とを有してなる。【選択図】図５
2007306513.tif 000002
【特許請求の範囲】
【請求項１】
階調性を有する画像データの圧縮方法であって、
前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、
各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、
前記画像データおよび前記画像データを擬似階調化する際に用いるディザパターンを用いて、前記第２のステップで求めた各画素の濃度に基づいて得られる画像の再現性の良否を検査する第３のステップと、
前記第３のステップの検査により再現性が良となった領域について、前記第１のステップで求めた代表値に基づいて符号化を行う第４のステップと、
を有してなることを特徴とする画像データの圧縮方法。
【請求項２】
前記各画素の濃度に基づいて得られる画像は、前記各画素の濃度に基づく仮想階調画像である、
請求項１記載の画像データの圧縮方法。
【請求項３】
前記各画素の濃度に基づいて得られる画像は、前記各画素の濃度に基づく仮想階調画像を前記ディザパターンを用いて擬似階調化して得られる擬似階調画像である、
請求項１記載の画像データの圧縮方法。
【請求項４】
前記代表値は、当該領域内における特定の画素の濃度値である、
請求項１ないし３のいずれかに記載の画像データの圧縮方法。
【請求項５】
前記代表値は、当該領域内における複数の画素の濃度値の中間値である、
請求項１ないし３のいずれかに記載の画像データの圧縮方法。
【請求項６】
前記代表値は、当該領域内の特定の画素を含むその周辺の画素の濃度値の中間値である、
請求項１ないし３のいずれかに記載の画像データの圧縮方法。
【請求項７】
前記代表値は、前記ディザパターンのしきい値が前記画像データの濃度値よりも大きい場合のしきい値の最小値Ｋと、前記ディザパターンのしきい値が前記画像データの濃度値よりも小さい場合のしきい値の最大値Ｊとの間の値である、
請求項１ないし３のいずれかに記載の画像データの圧縮方法。
【請求項８】
前記補間ルールは、当該領域に含まれる各画素の濃度値が当該領域の代表値に等しいとする処理である、
請求項１ないし７のいずれかに記載の画像データの圧縮方法。
【請求項９】
前記補間ルールは、当該領域の代表値および当該領域に隣接する１つまたは複数の領域の代表値を用いて、当該領域に含まれる各画素の濃度を補間により得る処理である、
請求項１ないし７のいずれかに記載の画像データの圧縮方法。
【請求項１０】
前記補間は、直線補間である、
請求項９記載の画像データの圧縮方法。
【請求項１１】
前記補間は、スプライン補間である、
請求項９記載の画像データの圧縮方法。
【請求項１２】
隣り合う領域間の代表値の差分情報を求め、求めた差分情報を符号化することによって圧縮する、
請求項１ないし１１のいずれかに記載の画像データの圧縮方法。
【請求項１３】
前記第３のステップの検査により再現性が否となった領域については、当該領域の前記画像データに基づいて符号化を行う、
請求項１ないし１２のいずれかに記載の画像データの圧縮方法。
【請求項１４】
前記第３のステップにおいて、前記再現性の良否を検査する際に、前記画像データが文字画像データである場合の誤差範囲を、前記画像データが写真画像データである場合の誤差範囲よりも小さく設定する、
請求項１ないし１３のいずれかに記載の画像データの圧縮方法。
【請求項１５】
階調性を有する画像データの圧縮装置であって、
前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１の手段と、
各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２の手段と、
前記画像データおよび前記画像データを擬似階調化する際に用いるディザパターンを用いて、前記第２の手段で求めた各画素の濃度に基づいて得られる画像の再現性の良否を検査する第３の手段と、
前記第３の手段の検査により再現性が良となった領域について、前記第１の手段で求めた代表値に基づいて符号化を行う第４の手段と、
を有してなることを特徴とする画像データの圧縮装置。
【請求項１６】
前記第４の手段は、前記第３の手段の検査により再現性が否となった領域については、当該領域の前記画像データに基づいて符号化を行う、
請求項１５記載の画像データの圧縮装置。
【請求項１７】
階調性を有する画像データの圧縮方法であって、
前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、
各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、
ディザパターンを用いて前記画像データを擬似階調化した場合に得られるドットの配列パターンである第１ドットパターンと前記第２のステップで求めた各画素の濃度を当該ディザパターンを用いて擬似階調化した場合に得られるドットの配列パターンである第２ドットパターンとを比較して当該第１ドットパターンと当該第２ドットパターンとの違いを示す値である不一致値を求め、当該不一致値と所定の判断基準値とに基づいて、圧縮データの生成に前記第１のステップで求めた代表値を用いるか否かを決定する第３のステップと、
前記圧縮データの生成に代表値を用いると決定した場合は、代表値を用いて当該圧縮データの生成のための処理を行う第４のステップと、
を有してなることを特徴とする画像データ圧縮方法。
【請求項１８】
階調性を有する画像データの圧縮方法であって、
前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、
各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、
ディザパターンを用いて前記画像データを擬似階調化した場合に得られるドットの配列パターンである第１ドットパターンと前記第２のステップで求めた各画素の濃度を当該ディザパターンを用いて擬似階調化した場合に得られるドットの配列パターンである第２ドットパターンとを比較して当該第１ドットパターンと当該第２ドットパターンとの違いを示す値である不一致値を求め、当該不一致値と所定の判断基準値とに基づいて、圧縮データの生成に前記第１のステップで求めた代表値を用いるか否かを領域ごとに決定する第３のステップと、
前記圧縮データの生成に代表値を用いると決定された領域については当該領域の代表値を用いて当該圧縮データの生成のための処理を行う第４のステップと、
を有してなることを特徴とする画像データ圧縮方法。
【請求項１９】
前記圧縮データの生成に代表値を用いないと前記第３のステップで決定した場合は、前記第４のステップにおいて、前記第１ドットパターンを用いて当該圧縮データの生成のための処理を行う、
請求項１７または１８に記載の画像データ圧縮方法。
【請求項２０】
前記第３のステップにおいて、前記不一致値が所定の判断基準値より小さい場合に、前記圧縮データの生成に前記第１のステップで求めた代表値を用いると決定する、
請求項１７ないし１９のいずれかに記載の画像データ圧縮方法。
【請求項２１】
前記第４のステップにおいて、前記第１ドットパターンまたは代表値を符号化することによって前記圧縮データを生成するための処理を行なう、
請求項１７ないし２０のいずれかに記載の画像データ圧縮方法。
【請求項２２】
階調性を有する画像データの圧縮方法であって、
前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、
各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、
ディザパターンを用いて前記画像データを擬似階調化した場合に得られるドットの配列パターンである第１ドットパターンと前記第２のステップで求めた各画素の濃度を当該ディザパターンを用いて擬似階調化した場合に得られるドットの配列パターンである第２ドットパターンとを比較して当該第１ドットパターンと当該第２ドットパターンとの違いを示す値である不一致値を求め、当該不一致値に基づいて判断基準値を決定する第３のステップと、
前記不一致値と前記判断基準値とに基づいて、圧縮データの生成に前記第１のステップで求めた代表値を用いるか否かを決定する第４のステップと、
前記圧縮データの生成に代表値を用いると決定した場合は、代表値を用いて当該圧縮データの生成のための処理を行う第５のステップと、
を有してなることを特徴とする画像データ圧縮方法。
【請求項２３】
階調性を有する画像データの圧縮方法であって、
前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、
各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、
ディザパターンを用いて前記画像データを擬似階調化した場合に得られるドットの配列パターンである第１ドットパターンと前記第２のステップで求めた各画素の濃度を当該ディザパターンを用いて擬似階調化した場合に得られるドットの配列パターンである第２ドットパターンとを比較して当該第１ドットパターンと当該第２ドットパターンとの違いを示す値である不一致値を求め、当該不一致値に基づいて判断基準値を決定する第３のステップと、
前記不一致値と前記判断基準値とに基づいて、圧縮データの生成に前記第１のステップで求めた代表値を用いるか否かを領域ごとに決定する第４のステップと、
前記圧縮データの生成に代表値を用いると決定された領域については当該領域の代表値を用いて当該圧縮データの生成のための処理を行う第５のステップと、
を有してなることを特徴とする画像データ圧縮方法。
【請求項２４】
階調性を有する画像データの圧縮データを生成するための画像データ圧縮方法であって、
前記画像データを所定の領域ごとに区画し、
前記画像データの特徴を抽出するためのモデル化処理を行うことによって、前記領域ごとに当該画像データからモデル化データを生成し、
閾値に基づいて前記モデル化データからデータを間引く間引処理によって生成される間引済データのデータ量を試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求め、
求めた前記間引閾値に基づいて前記間引処理を実行することによって前記間引済データを生成し、
生成した前記間引済データを前記圧縮データとして出力し、
前記モデル化処理において、
前記領域の一つである注目領域に着目した場合に、
当該注目領域の代表値を決定し、
当該注目領域の代表値および補間ルールを適用して当該注目領域に含まれる各画素の濃度である補間濃度を求め、
ディザパターンを用いて前記補間濃度を擬似階調化した場合に得られる当該注目領域についてのドットパターンである再現ドットパターンと、当該注目領域における前記画像データを当該ディザパターンで擬似階調化した場合に得られるドットパターンである擬似階調画像ドットパターンとを比較し、
前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じであった場合には当該注目領域の代表値を求めることができる前記モデル化データを生成し、当該再現ドットパターンと当該擬似階調画像ドットパターンとが同じでなかった場合には一致したドットの個数である一致ドット数または一致しなかったドットの個数である不一致ドット数、当該注目領域の代表値、および当該擬似階調画像ドットパターンを求めることができる前記モデル化データを生成し、
前記間引処理において、
前記注目領域に着目した場合に、
前記モデル化データによって求めることができる前記一致ドット数または前記不一致ドット数と前記間引閾値との比較に基づいて、前記間引済データの生成に当該モデル化データによって求めることができる代表値を求めるための前記代表値導出値を用いるかまたは当該モデル化データによって求めることができる前記擬似階調画像ドットパターンを用いるかを決定し、
前記間引済データの生成に前記代表値導出値を用いると決定した場合は当該代表値導出値を用いて当該注目領域の間引済データを生成し、前記間引済データの生成に前記擬似階調画像ドットパターンを用いると決定した場合は当該擬似階調画像ドットパターンを用いて当該注目領域の当該間引済データを生成する、
ことを特徴とする画像データ圧縮方法。
【請求項２５】
前記注目領域の代表値として、当該注目領域についての前記擬似階調画像ドットパターンに示されるドットの個数を用いる、
請求項２４記載の画像データ圧縮方法。
【請求項２６】
前記注目領域の代表値として、当該注目領域に対応する部分の前記画像データの各画素の濃度と当該注目領域に対応する部分の前記ディザパターンの各画素の濃度とをそれぞれ比較して当該画像データの各画素の濃度が小さい場合に予め用意されたパターン領域にドットを打った場合に、当該パターン領域内において打たれたドットに対応する当該ディザパターンの画素の濃度の最小値Ｊと打たれなかったドットに対応する当該ディザパターンの画素の濃度の最大値Ｋとの間で
Ｊ≧ａ≧Ｋ
の条件を満たす値ａを用いる、
請求項２４記載の画像データ圧縮方法。
【請求項２７】
前記注目領域の代表値として、隣り合う前記領域の代表値との差分が最小となる値を用いる、
請求項２６記載の画像データ圧縮方法。
【請求項２８】
前記注目領域の仮の代表値および当該注目領域に隣接する１つまたは複数の前記領域の代表値を用いて予め定められた補間ルールにしたがって当該注目領域における各画素の濃度を補間して求めさらに前記ディザパターンを用いて擬似階調化を行った場合に得られるドットパターンが前記ディザパターンを用いて当該注目領域における前記画像データを擬似階調化した場合に得られるドットパターンと一致する場合には、当該仮の代表値を当該注目領域の代表値として決定する、
請求項２４記載の画像データ圧縮方法。
【請求項２９】
前記注目領域の前記代表値導出値として、当該注目領域の代表値を用いる、
請求項２４記載の画像データ圧縮方法。
【請求項３０】
前記注目領域の前記代表値導出値として、当該注目領域の代表値と当該注目領域の直前の前記領域の代表値との差分を用いる、
請求項２４記載の画像データ圧縮方法。
【請求項３１】
前記間引処理において、
前記モデル化データによって求めることができる前記不一致ドット数が前記間引閾値より大きい場合は前記間引済データの生成に前記擬似階調画像ドットパターンを用いると決定し、当該不一致ドット数が当該間引閾値より小さい場合は当該間引済データの生成に前記代表値導出値を用いると決定する、
請求項２４記載の画像データ圧縮方法。
【請求項３２】
階調性を有する画像データの圧縮データを生成する画像データ圧縮装置であって、
前記画像データを所定の領域ごとに区画する区画手段と、
前記画像データの特徴を抽出するためのモデル化処理を行うことによって、前記領域ごとに当該画像データからモデル化データを生成するモデル化手段と、
閾値に基づいて前記モデル化データからデータを間引く間引処理によって生成される間引済データのデータ量を試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求める間引閾値決定手段と、
求めた前記間引閾値に基づいて前記間引処理を実行することによって前記間引済データを生成する間引手段と、
生成した前記間引済データを前記圧縮データとして出力する圧縮データ出力手段とを有し、
前記モデル化手段は、
前記領域の一つである注目領域に着目した場合に、
当該注目領域の代表値を決定し、
当該注目領域の代表値および補間ルールを適用して当該注目領域に含まれる各画素の濃度である補間濃度を求め、
ディザパターンを用いて前記補間濃度を擬似階調化した場合に得られる当該注目領域についてのドットパターンである再現ドットパターンと、当該注目領域における前記画像データを当該ディザパターンで擬似階調化した場合に得られるドットパターンである擬似階調画像ドットパターンとを比較し、
前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じであった場合には当該注目領域の代表値を求めることができる前記モデル化データを生成し、当該再現ドットパターンと当該擬似階調画像ドットパターンとが同じでなかった場合には一致したドットの個数である一致ドット数または一致しなかったドットの個数である不一致ドット数、当該注目領域の代表値、および当該擬似階調画像ドットパターンを求めることができる前記モデル化データを生成し、
前記間引手段は、
前記注目領域に着目した場合に、
前記モデル化データによって求めることができる前記一致ドット数または前記不一致ドット数と前記間引閾値との比較に基づいて、前記間引済データの生成に当該モデル化データによって求めることができる代表値を求めるための前記代表値導出値を用いるかまたは当該モデル化データによって求めることができる前記擬似階調画像ドットパターンを用いるかを決定し、
前記間引済データの生成に前記代表値導出値を用いると決定した場合は当該代表値導出値を用いて当該注目領域の間引済データを生成し、前記間引済データの生成に前記擬似階調画像ドットパターンを用いると決定した場合は当該擬似階調画像ドットパターンを用いて当該注目領域の当該間引済データを生成する、
ことを特徴とする画像データ圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階調性を有する画像データの圧縮方法および装置に関する。
【背景技術】
【０００２】
一般に、コンピュータとプリンタなどから構成されるプリントシステムが用いられている。このようなプリントシステムにおいては、プリントすべき画像データに対して、擬似階調化（ディザ処理）などの画像処理をコンピュータ側で行い、プリンタ側ではコンピュータから送信される画像データに対して特別な処理を行うことなく、そのまま出力して用紙にプリントするという方式がある。
【０００３】
従来、この方式に使用されるプリンタとしてラスタプリンタが知られている。ラスタプリンタは、プリンタ側で特別な画像処理を行わないため、小規模なハードウェアを用いて安価に実現できる。しかし、その反面、そのまま用紙にプリント可能な画像データをプリンタに送信するため、送信するデータ量が大きくなってしまうという欠点がある。また、近年の高画質化への要請から画像データがますます大きくなり、その結果、プリンタに送信するデータ量がさらに大きくなってしまう。そのため、コンピュータからプリンタへの画像データの送信に多くの時間を要することとなる。
【０００４】
この問題を解消するために、コンピュータ側において画像データを圧縮する必要がある。しかし、圧縮のための処理が複雑であった場合には、圧縮処理自体に時間を要してしまう。さらに、展開処理まで複雑になってしまうことで展開処理にも時間を要してしまう場合がある。そうすると、プリンタ側において展開処理のためのハードウェアの規模が大きくなり、コストがかかってしまう。
【０００５】
したがって、安価なプリンタの使用を可能とし、全体として処理を高速に行えるプリントシステムを実現するために、圧縮時の処理が軽く、小規模なハードウェアで展開でき、かつ高い圧縮率を実現できる圧縮技術が望まれる。
【０００６】
ところで、多階調の画像データをプリンタでプリントするには、多くの場合、その画像データを擬似階調化しなければならない。擬似階調化の方法として、ディザ法が従来からよく知られている。ディザ法では、ディザパターンを用い、ディザパターンの各しきい値と画像データの各画素の値とを比較して２値化または多値化する。
【０００７】
ディザパターンに着目した圧縮技術として、特許文献１に開示された方法がある。特許文献１に示された方法によると、２値化された画像データを所定の大きさのブロックに分割する。任意の画像ブロックに含まれるドットの個数に対応する基準パターンと当該画像ブロックとの比較を行い、画像ブロックと基準パターンとが一致した場合は基準パターンを示す符号を割当て、そうでない場合は比較結果を符号化する。
【０００８】
また、２値化された画像データのための圧縮技術として、ＩＴＵ（国際電気通信連合）−Ｔ勧告により採用が認められたＪＢＩＧ方式が知られている。
【０００９】
また、ディザパターンにより擬似階調化された画像データを圧縮する方法が特許文献２に開示されている。特許文献２に記載の方法によると、各画素についての画素値がしきい値と比較され、これによって画素ごとにレンジが求められる。
【特許文献１】特開平６−１５２９８６
【特許文献２】ＵＳＰ６２０１６１４
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、上に述べた特許文献１の方法では、指定した画像ブロックと基準パターンが一致した場合に、基準パターンを符号化するため、基準パターンの符号の分だけ送信するデータ量が増大してしまう。さらに、画像データは、変化するのでブロック内で全ての画素が一致することは少なく、その場合は差分データを送信するのでデータ量がますます増大してしまう。
【００１１】
これに対して、ＪＢＩＧ方式では、圧縮処理が比較的軽く、コンピュータ上でも高速に圧縮処理を行うことができる。しかし、ＪＢＩＧ方式によると、ＬＺＳ方式またはＬＺＷ方式などの他の方式に比べて圧縮率があまり高くなく、特に中間調のデータが増えた場合に圧縮率が低下する。
【００１２】
また、特許文献２の方法では、画素ごとに値を決定するので、それだけでは情報量が減らない。したがって、情報量を減らすためには別途圧縮する手段が必要である。
【００１３】
いずれにしても、従来においては、階調画像をプリンタに転送する場合に、擬似階調化された画像データを圧縮して転送するか、または擬似階調化される前の階調画像を圧縮して転送している。前者の擬似階調画像を圧縮する場合には、擬似階調画像成分を含んだデータを統計処理するため処理が複雑であり、抽出できる画像成分が限られることがある。後者の階調画像を圧縮する場合には、後で行われる擬似階調化によって失われてしまう成分までをも含めて送ることになるので、圧縮率と画質の両立が困難である。
【００１４】
本発明は、上述の問題に鑑みてなされたもので、階調画像をプリンタに転送する場合などにおいて、画像データを圧縮したときに圧縮された画像の画質が維持されているか否かをチェックすることによって、画質を維持しつつ高い圧縮率で圧縮することのできる画像データの圧縮方法および装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る圧縮方法は、階調性を有する画像データの圧縮方法であって、前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、前記画像データおよび前記画像データを擬似階調化する際に用いるディザパターンを用いて、前記第２のステップで求めた各画素の濃度に基づいて得られる画像の再現性の良否を検査する第３のステップと、前記第３のステップの検査により再現性が良となった領域について、前記第１のステップで求めた代表値に基づいて符号化を行う第４のステップとを有してなる。
【００１６】
好ましくは、前記各画素の濃度に基づいて得られる画像は、前記各画素の濃度に基づく仮想階調画像を前記ディザパターンを用いて擬似階調化して得られる擬似階調画像である。また、前記代表値は、当該領域内における特定の画素の濃度値、または当該領域内における複数の画素の濃度値の中間値、または当該領域内の特定の画素を含むその周辺の画素の濃度値の中間値である。また、前記代表値は、前記ディザパターンのしきい値が前記画像データの濃度値よりも大きい場合のしきい値の最小値Ｋと、前記ディザパターンのしきい値が前記画像データの濃度値よりも小さい場合のしきい値の最大値Ｊとの間の値である。
【００１７】
補間ルールとして、当該領域に含まれる各画素の濃度値が当該領域の代表値に等しいとする処理、当該領域の代表値および当該領域に隣接する１つまたは複数の領域の代表値を用いて、当該領域に含まれる各画素の濃度を補間により得る処理などを用いることが可能である。
【００１８】
また、本発明に係る圧縮方法は、階調性を有する画像データの圧縮方法であって、前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、ディザパターンを用いて前記画像データを擬似階調化した場合に得られるドットの配列パターンである第１ドットパターンと前記第２のステップで求めた各画素の濃度を当該ディザパターンを用いて擬似階調化した場合に得られるドットの配列パターンである第２ドットパターンとを比較して当該第１ドットパターンと当該第２ドットパターンとの違いを示す値である不一致値を求め、当該不一致値と所定の判断基準値とに基づいて、圧縮データの生成に前記第１のステップで求めた代表値を用いるか否かを領域ごとに決定する第３のステップと、前記圧縮データの生成に代表値を用いると決定された領域については当該領域の代表値を用いて当該圧縮データの生成のための処理を行う第４のステップと、を有してなる。
【００１９】
本発明に係る装置は、前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１の手段と、各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２の手段と、前記画像データおよび前記画像データを擬似階調化する際に用いるディザパターンを用いて、前記第２の手段で求めた各画素の濃度に基づいて得られる画像の再現性の良否を検査する第３の手段と、前記第３の手段の検査により再現性が良となった領域について、前記第１の手段で求めた代表値に基づいて符号化を行う第４の手段とを有してなる。
【００２０】
また、本発明に係る圧縮方法は、階調性を有する画像データの圧縮方法であって、前記画像データを所定の領域ごとに区画し、各領域における画素の濃度に関する代表値を求める第１のステップと、各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める第２のステップと、ディザパターンを用いて前記画像データを擬似階調化した場合に得られるドットの配列パターンである第１ドットパターンと前記第２のステップで求めた各画素の濃度を当該ディザパターンを用いて擬似階調化した場合に得られるドットの配列パターンである第２ドットパターンとを比較して当該第１ドットパターンと当該第２ドットパターンとの違いを示す値である不一致値を求め、当該不一致値に基づいて判断基準値を決定する第３のステップと、前記不一致値と前記判断基準値とに基づいて、圧縮データの生成に前記第１のステップで求めた代表値を用いるか否かを領域ごとに決定する第４のステップと、前記圧縮データの生成に代表値を用いると決定された領域については当該領域の代表値を用いて当該圧縮データの生成のための処理を行う第５のステップと、を有してなる。
【００２１】
また、本発明に係る圧縮方法は、階調性を有する画像データの圧縮データを生成するための画像データ圧縮方法であって、前記画像データを所定の領域ごとに区画し、前記画像データの特徴を抽出するためのモデル化処理を行うことによって、前記領域ごとに当該画像データからモデル化データを生成し、閾値に基づいて前記モデル化データからデータを間引く間引処理によって生成される間引済データのデータ量を試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求め、求めた前記間引閾値に基づいて前記間引処理を実行することによって前記間引済データを生成し、生成した前記間引済データを前記圧縮データとして出力し、前記モデル化処理において、前記領域の一つである注目領域に着目した場合に、当該注目領域の代表値を決定し、当該注目領域の代表値および補間ルールを適用して当該注目領域に含まれる各画素の濃度である補間濃度を求め、ディザパターンを用いて前記補間濃度を擬似階調化した場合に得られる当該注目領域についてのドットパターンである再現ドットパターンと、当該注目領域における前記画像データを当該ディザパターンで擬似階調化した場合に得られるドットパターンである擬似階調画像ドットパターンとを比較し、前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じであった場合には当該注目領域の代表値を求めることができる前記モデル化データを生成し、当該再現ドットパターンと当該擬似階調画像ドットパターンとが同じでなかった場合には一致したドットの個数である一致ドット数または一致しなかったドットの個数である不一致ドット数、当該注目領域の代表値、および当該擬似階調画像ドットパターンを求めることができる前記モデル化データを生成し、前記間引処理において、前記注目領域に着目した場合に、前記モデル化データによって求めることができる前記一致ドット数または前記不一致ドット数と前記間引閾値との比較に基づいて、前記間引済データの生成に当該モデル化データによって求めることができる代表値を求めるための前記代表値導出値を用いるかまたは当該モデル化データによって求めることができる前記擬似階調画像ドットパターンを用いるかを決定し、前記間引済データの生成に前記代表値導出値を用いると決定した場合は当該代表値導出値を用いて当該注目領域の間引済データを生成し、前記間引済データの生成に前記擬似階調画像ドットパターンを用いると決定した場合は当該擬似階調画像ドットパターンを用いて当該注目領域の当該間引済データを生成する。
【発明の効果】
【００２２】
本発明によると、階調画像をプリンタに転送する場合などにおいて、画像データを圧縮したときに圧縮された画像の画質が維持されているか否かをチェックすることによって、画質を維持しつつ高い圧縮率で圧縮することが可能となる。
【発明を実施するための最良の形態】
【００２３】
〔システム全体の構成〕
図１は本発明に係る画像データの圧縮方法を適用したプリントシステム１の全体構成を示す図、図２はプリントシステム１における画像データの概略の流れを示すフローチャートである。
【００２４】
なお、以下において、「画像データ」「階調画像データ」「擬似階調画像データ」などについて、「データ」を省略し、「画像」「階調画像」「擬似階調画像」などと記載することがある。
【００２５】
図１において、プリントシステム１は、コンピュータ本体１１、ディスプレイ１２、プリンタ１３、キーボード１４、およびマウス１５などから構成される。
【００２６】
コンピュータ本体１１は、外部から入力された画像データまたは内部で生成した画像データ（原画像データ）などを圧縮してプリンタ１３に転送する。画像データＦＤは、例えばＲＧＢまたはＣＭＹ各色２５６階調の階調画像データである。
【００２７】
すなわち、図２において、コンピュータ本体１１において、対象となる階調画像について（＃１１）、圧縮を行って圧縮データを生成し（＃１２）、圧縮データをプリンタ１３に転送する（＃１３）。プリンタ１３において、圧縮データを復元し、それを擬似階調化し、印刷する（＃１４）。このように、プリンタ１３においては、通常、圧縮データを復元した後、擬似階調化を行って２値画像または多値画像に変換してから印刷する。ステップ＃１２での圧縮方法として、本実施形態では以下に説明する代表値を用いる圧縮方法（代表値圧縮方法）を説明するが、種々の性質を有したパラメータを代表値として用いることにより、他の圧縮方法、例えばＪＰＥＧなどの離散コサイン変換による圧縮方法を適用することも可能である。
【００２８】
本実施形態において、画像データＦＤの圧縮は次の手順で行われる。
（１）  画像データＦＤを所定の領域（ブロック）ごとに区画し、各領域における画素の濃度に関する代表値を求める（第１のステップ）。なお、代表値を「ａ」または「ＡＰ」で表すことがある。
（２）  各領域について、当該領域の代表値および補間ルールを適用して当該領域に含まれる各画素の濃度を求める（第２のステップ）。
（３）  画像データＦＤ、および画像データＦＤを擬似階調化する際に用いるディザパターンＤＰを用いて、第２のステップで求めた各画素の濃度に基づいて得られる画像の再現性の良否を検査する（第３のステップ）。
（４）  第３のステップの検査により再現性が良となった領域について、第１のステップで求めた代表値に基づいて符号化を行う（第４のステップ）。
【００２９】
ところで、擬似階調化は、ハーフトーン化と呼称されることもある。擬似階調化された画像は、擬似階調画像、ハーフトーン画像などという。擬似階調化として、２値化または４値化などの多値化を行う。本実施形態においては、ディザパターンＤＰを用いて、必要な擬似階調画像を生成することのできる代表値ａを求める。代表値ａを求め、これを階調画像に代えて用いることにより、大幅なデータ圧縮が実現される。求めた代表値ａは、さらに種々の手法により符号化される。符号化により圧縮した圧縮データＤ２は、プリンタ１３に送信される。プリンタ１３は、受信した圧縮データＤ２について、代表値ａを求めるために用いたディザパターンＤＰなどを参照して２値画像または多値画像（ハーフトーン画像）を復元し、用紙などにプリントアウトする。
【００３０】
本実施形態において、圧縮処理に際しては、擬似階調画像をディザパターン情報成分と画像情報成分とに分離する。そして、画像情報成分のみを取り出し、ハフマン法による符号化処理を行って圧縮データＤ２とする。ディザパターン情報成分は圧縮データＤ２に含めない。因みに、従来においては、ディザパターン情報成分と画像情報成分の両方をまとめて圧縮処理を行っていた。
【００３１】
すなわち、擬似階調化の処理を解析した結果、擬似階調化によって、主に中間調では解像度成分は失われてしまう。失われてしまうデータまでは必要がないので省略することができる。実際に６００ｄｐｉの画像データを擬似階調化した場合に、中間調の多くの部分では、実際にはその１０分の１（６０ｄｐｉ）程度の解像度の再現しかなされていない。もしこの部分の解像度を１０分の１に落とすことができれば、画像データは１００分の１にすることができる。しかし、単純に解像度を１０分の１にしてしまっては画質が低下してしまう。解像度を下げても画質が低下しない部分と低下する部分とを区別して、必要に応じて解像度を落とすことができれば、画質を落とすことなく、必要な情報量を大幅に減らすことができる。解像度を落とさなかった部分については、１）擬似階調化後の画像データを送る、２）解像度を落とした画像との差分データを送る、３）前回より解像度を上げて再トライする、のいずれかを選択する。文字などコントラストが高い画像が混在する場合には１）の方法を、主に階調画像を扱う場合には２）の方法をとる方がよい圧縮が得られる。
【００３２】
プリンタ１３での印刷に必要な擬似階調画像を得るためには、解像度を落とした部分については画像データをディザパターンＤＰによって擬似階調化すればよい。解像度を落とさなかった部分については、それぞれ圧縮処理と逆の操作を行うことで擬似階調画像を得る。
【００３３】
本実施形態では、その圧縮処理の過程において、区画された領域のうちの１つの領域である注目領域について、仮の代表値を定める。定めた仮の代表値またはそれと当該注目領域に隣接する１つまたは複数の領域の代表値とを用い予め定められた補間ルールにしたがって当該注目領域における各画素の濃度を補間して求める。ディザパターンを用いて擬似階調化を行った場合に当該注目領域における擬似階調画像が再現される場合は、その仮の代表値を当該注目領域の真の代表値ａとして決定する。再現されない場合は、所定のルールに従って代表値を決定する。例えば、最も再現性の良い場合の仮の代表値を求めてそれを真の代表値ａとして決定する。
【００３４】
代表値ａが決定された領域に隣接する領域を次の注目領域とし、注目領域を順次移動させて全ての領域について代表値ａを決定する。最初に注目領域とした領域については、既に代表値ａの決定された領域が存在しないので、その注目領域における周辺部または端部、特に頂点部に位置する画素の濃度値などを考慮して代表値ａを決定すればよい。
【００３５】
さて、第１のステップでの代表値（仮の代表値）の求め方として、種々の手法があるが、その例を次に示す。
（１）  当該領域内における特定の画素の濃度値を代表値とする。
（２）  当該領域内における複数の画素の濃度値の中間値を代表値とする。この場合に、平均値、加重平均値、２乗平均値などを用いてもよい。また、特異点を除いた値について平均などを求めてもよい。
（３）  当該領域内の特定の画素を含むその周辺の画素の濃度値の中間値を代表値とする。
（４）  ディザパターンのしきい値が画像データＦＤの濃度値よりも大きい場合のしきい値の最小値ＫとディザパターンＤＰのしきい値が画像データＦＤの濃度値よりも小さい場合のしきい値の最大値Ｊとの間の値を代表値とする。
【００３６】
また、第２のステップで、代表値を用いて領域内の各画素の濃度を求める。その際に用いる補間ルールＨＲとして、種々のルールまたは処理があるが、その例を次に示す。
（１）  当該領域に含まれる各画素の濃度値が当該領域の代表値に等しいとする。
（２）  当該領域の代表値および当該領域に隣接する１つまたは複数の領域の代表値を用いて、当該領域に含まれる各画素の濃度を補間する。
（３）  当該領域の代表値および注目領域に隣接する２つの領域のそれぞれの代表値の合計３つの代表値で定義される平面によって各画素の濃度を補間する。
（４）  当該領域の代表値および当該領域に隣接する３つの領域のそれぞれの代表値の合計４つの代表値で定義される曲面（ねじれ面）によって各画素の濃度を補間する。
（５）  当該領域の代表値および当該領域に隣接する複数の領域のそれぞれの代表値で定義されるスプライン曲面によって各画素の濃度を補間する（スプライン補間）。また、スプライン補間に代えて多項式補間とする。
【００３７】
これらの補間ルールＨＲを示す際に、それぞれの番号を符号に追加して、例えば「補間ルールＨＲ１」などと表すことがある。
【００３８】
補間ルールＨＲを表現する方法として、文章で記述する他、補間式、補間テーブルなどで表現する方法などがある。なお、補間ルールＨＲは、圧縮処理や復元処理の前提として予め共通に定めておいてもよく、また、原画像データの種類などに応じて異なる補間ルールＨＲを適用して圧縮処理を行い、圧縮処理に用いた補間ルールＨＲを復元処理を行う側に通知するようにしてもよい。補間ルールＨＲは、具体的には、例えば補間ルールを実行する処理回路やプログラムまたは変換テーブルなどによって実現可能である。
【００３９】
また、第３のステップで、画像の再現性の良否を検査（チェック）するが、その際に、例えば、画像データＦＤについてのディザパターンＤＰによる擬似階調画像Ｄ１と、領域内の各画素の濃度に基づく仮想階調画像をディザパターンＤＰを用いて擬似階調化して得られる擬似階調画像Ｄ１Ｋとを比較し、両者の誤差が所定の誤差範囲内であるか否かを判断する。
【００４０】
そのような誤差範囲として、例えば、両擬似階調画像の間で一致していない画素の総画素数に対する割合、または一致していない画素の個数（不一致ドット数）などを判断のしきい値として用いる。そして、例えば、画像データＦＤが文字画像データである場合の誤差範囲を、画像データＦＤが写真画像データである場合の誤差範囲よりも小さく設定する。例えば、一致していない画素の総画素数に対する割合のしきい値とし、写真画像の場合に１５％程度から５０％程度の範囲から、文字画像の場合に５％程度から１５％程度の範囲から、それぞれ選定する。なお、両擬似階調画像が完全に一致する必要がある場合、つまり誤差を許さない場合には、しきい値を「０」とすればよい。反対に、圧縮率を上げる必要がある場合は、しきい値を大きな値に設定すればよい。
【００４１】
因みに、写真画像の場合では、１００ｄｐｉ程度の解像度があれば写真として見ることができるが、文字画像の場合では、文字の端部のはねやはらいなどがあり、ドットが少しでも欠けると別の文字に見える場合がある。そのため、写真よりも文字の方が解像度に対する要求が厳しいのである。
【００４２】
なお、擬似階調化に際して、文字領域または画像領域など、領域の種類に応じて複数のディザパターンを切り替えて用いることがある。
【００４３】
また、第４のステップで、再現性が良であった領域については求めた代表値に基づいて符号化を行う。再現性が否となった領域については、他のデータ、例えば当該領域の画像データＦＤに基づいて符号化を行う。
【００４４】
符号化を行う場合に、代表値をそのまま符号化してもよいが、これに代えて、例えば、隣り合う領域間の代表値の差分情報を求め、求めた差分情報を符号化することによって圧縮データＤ２を得る。これによって圧縮率をさらに向上させることができる。
【００４５】
このように、コンピュータ本体１１において、各領域について求めた代表値を用いた場合に、元の画像データＦＤの再現性が良好である場合には、その代表値を用いて圧縮データＤ２を生成し、再現性が良好でない場合には、代表値を用いることなく、再現性の良好な画像データを用いて圧縮データＤ２を生成する。これによって、画質を落とすことなく、プリンタ１３に送信すべきデータ量を減少させることができる。
【００４６】
図１に戻って、コンピュータ本体１１は、得られた圧縮データＤ２をプリンタ１３に送信する。コンピュータ本体１１は、また、ディザパターンに関する情報、およびハフマン法による復元（復号）のためのテーブルであるデコード表ＤＣを、プリンタ１３に予め送信する。各領域における各画素の濃度を補間して求めるための上に述べた補間ルールＨＲについても、必要に応じてプリンタ１３に予め送信する。
【００４７】
プリンタ１３では、コンピュータ本体１１から送信された圧縮データＤ２から、各領域の代表値ａを取得し、予め定められた補間ルールＨＲにしたがって、当該注目領域における各画素の濃度を補間して求め、これによって仮想階調画像を得て、この仮想階調画像に対して、ディザパターンを用いて擬似階調化を行って擬似階調画像Ｄ１を復元する。
【００４８】
コンピュータ本体１１として、パーソナルコンピュータ、ワークステーション、その他の種々のコンピュータが用いられ、プリンタ１３として、ラスタプリンタ、ＧＤＩプリンタ、その他の種々のプリンタが用いられる。
〔第一の実施例〕
次に、第一の実施例におけるコンピュータ本体１１の圧縮処理について説明する。なお、本実施例は、「特許請求の範囲」における「請求項１」から「請求項２１」までの発明に対応する。以下、「特許請求の範囲」を省略し、単に「請求項」と記載する。
【００４９】
図３はコンピュータ本体１１の機能的な構成を示すブロック図、図４はプリンタ１３の機能的な構成を示すブロック図、図５はコンピュータ本体１１の圧縮処理の概略を示すフローチャート、図６はコンピュータ本体１１の圧縮データ作成部の機能を示すブロック図、図７は区画された領域ＴＬを説明するための図、図８は領域ＴＬとディザパターンＤＰの例を示す図、図９は各領域ＴＬにおける代表値ａの位置の例を示す図、図１０は代表値の求め方を説明するための図である。なお、画像データは２次元であり、各領域ＴＬも２次元としているが、図１０においては説明の簡便化のために１次元の領域ＴＬを模式的に示した。
【００５０】
図３に示すように、コンピュータ本体１１は、画像データベース１５０、ディザパターン記憶部１６０、および圧縮データ作成部１００などから構成される。
【００５１】
画像データベース１５０は、階調性を有した多数の画像データ（原画像データ）ＦＤ１、ＦＤ２、…ＦＤｎを保持する。画像データＦＤ１〜ｎの全部または一部を「画像データＦＤ」と記載することがある。なお、画像データＦＤの多くはカラー画像であり、その場合に、１つの画像データＦＤが、Ｃ（シアン）、Ｍ（マジェンタ）、Ｙ（イエロー）、Ｋ（ブラック）の各色の画像データによって構成される。画像データＦＤは、例えば、スキャナ、デジタルカメラ、その他外部から入力し、または内部で編集したり生成することによって得られる。
【００５２】
ディザパターン記憶部１６０は、複数種類のディザパターンＤＰ１１〜１３、ＤＰ２１〜２３、ＤＰ３１〜３３、ＤＰ４１〜４３を保持する。これらの全部または一部を「ディザパターンＤＰ」と記載することがある。
【００５３】
ディザパターンＤＰは、Ｃ、Ｍ、Ｙ、Ｋの各色について、文字領域用ディザパターンＤＰ１１、２１、３１、４１、画像領域用ディザパターンＤＰ１２、２２、３２、４２、およびチャート領域用ディザパターンＤＰ１３、２３、３３、４３などがそれぞれ設けられている。
【００５４】
圧縮データ作成部１００は、上に説明したステップ１〜４を実行する。以下、圧縮データ作成部１００の機能および処理を図５〜１０を参照して説明する。
〔領域の区画〕
図５および図６において、まず、画像データＦＤを所定の領域ＴＬごとに区画（ブロック化）する（＃２１）。領域ＴＬは、例えば図７に示すように、９６個（６×１６個）の画素ＴＰからなる矩形の領域である。図７の例では、画像データＦＤの全体の領域が、左上から右方へ順に、領域ＴＬ１１、ＴＬ１２、ＴＬ１３、…というように、次の行についてＴＬ２１、ＴＬ２２、ＴＬ２３、…というように、ＴＬｍｎまで、それぞれブロックに区画されている。
【００５５】
図８（ａ）には、この領域ＴＬの画像データＦＤを図８（ｂ）に示すディザパターンＤＰによって擬似階調化して得られる擬似階調画像のドットの配列パターン（ドットパターン）が示されている。
【００５６】
図８において、領域ＴＬの黒の画素が、ドットが打たれた画素である。画像データＦＤの各画素の濃度値が、図８（ｂ）に示すディザパターンＤＰの対応する画素の閾値以上であったときに、その画素にドットが打たれる。つまり、濃度値が大きいほど濃度が高いものとして扱う。なお、図８の例では、領域ＴＬのサイズがディザパターンＤＰのサイズと同じとなるように区画した例を示したが、これらのサイズが互いに異なってもよい。
〔代表値の求め方〕
次に、各領域における代表値ａを求める（＃２２）。本実施例では、各領域ＴＬにおける端部（頂点部）に位置する画素の濃度値（画素値）を代表値ａとする。
【００５７】
すなわち、図９において、画像データＦＤの一部について、各領域ＴＬにおける代表値ａの位置である代表値位置ＡＰが示されている。各領域ＴＬｍｎの代表値位置ＡＰｍｎは、それぞれの領域ＴＬｍｎにおける右下端に位置する。画像データＦＤの領域外においても、領域ＴＬと同様な区画を行ったと仮定した場合のそれぞれの右下端に代表値位置ＡＰがある。なお、代表値ａの値を代表値位置を示す符号である「ＡＰｍｎ」で代用して示すことがある。
【００５８】
図１０において、擬似階調画像Ｄ１，Ｄ１Ｋについて、それぞれ５つの画素ＴＰからなる１次元の領域ＴＬ１，２，３…が示されている。ここでは、擬似階調画像Ｄ１，Ｄ１Ｋは２値画像であるとする。それぞれの画素ＴＰは、２値であるため、白または黒で示されている。例えば領域ＴＬ１では、各画素ＴＰの値は、白、白、白、黒、黒である。
【００５９】
なお、擬似階調画像Ｄ１は、図に示す画像データ（原画像データ）ＦＤを、同じく図に示すディザパターンＤＰを用いて２値化処理を行うことにより得られたものである（＃２４Ｂ）。つまり、画像データＦＤがディザパターンＤＰのしきい値以下であれば「白」、しきい値を越えれば「黒」となる。
【００６０】
まず、最初の代表値ＡＰ０を決める。最初の代表値ＡＰ０は、画像データＦＤの領域外であるので、どのような値でもとり得るが、領域ＴＬ１の左端の画素ＴＰの濃度値（ハーフトーンデータ）、ディザパターンＤＰのしきい値などに対応して適当な値とする。
【００６１】
次に、領域ＴＬ１の代表値ＡＰ１を決める。代表値ＡＰ１は、領域ＴＬ１における端部に位置する画素の濃度値とする。以降の領域ＴＬ２，３…についても、端部の画素の濃度値を各領域ＴＬの代表値ＡＰ２，３…とする。
【００６２】
そして、各領域ＴＬについて、当該領域の代表値ＡＰおよび補間ルールＨＲを適用して当該領域に含まれる各画素の濃度を求める（＃２３）。ここでは、補間ルールＨＲとして、直線補間を行うこととしている。つまり、隣合う２つの代表値ＡＰを直線ＬＡで結ぶことによって、各画素の濃度値を求める。図１０において白丸で示した位置が各画素の濃度値である。なお、各画素の濃度値からなる仮想階調画像は、これを連続的に表した場合には直線ＬＡそれ自体となる。したがって、仮想階調画像を「ＬＡ」で示すことがある。
【００６３】
求めた各画素の濃度値からなる各仮想階調画像ＬＡに対して、ディザパターンＤＰを用いて擬似階調化することによって、図１０に示す擬似階調画像Ｄ１Ｋが得られる（＃２４Ａ）。なお、この擬似階調画像Ｄ１Ｋは、代表値ＡＰに基づいて再構成されたものであるので、「再構成画像」ということがある。
【００６４】
そして、再構成画像である擬似階調画像Ｄ１Ｋの再現性の良否を検査する（＃２４）。再現性の良否は、擬似階調画像Ｄ１と再構成画像Ｄ１Ｋとを比較することによって行う（＃２４Ｃ）。両者の誤差が所定の誤差範囲内であれば良とし、所定の誤差範囲を越えていれば否とする（＃２５）。
【００６５】
図１０において、領域ＴＬ１および領域ＴＬ２については、両者は完全に一致しており、再現性に問題はなく、良である。しかし、領域ＴＬ３については、１番目と３番目の画素ＴＰの値が互いに逆となっており、誤差は２画素である。
【００６６】
この場合に、誤差「２」が所定の誤差範囲内であれば、これを許容して再現性は良であるとする。誤差「２」が所定の誤差範囲を越えていれば、再現性は否であるとする。所定の誤差範囲は、上に説明したように種々設定することができるが、例えば誤差範囲が「１５」％に設定されている場合には、５画素中２画素の誤差は４０％であるので、「否」と判断される。
【００６７】
なお、再現性の良否の検査のために、擬似階調画像Ｄ１と再構成画像Ｄ１Ｋとの誤差を求めたが、これ以外の種々の方法を採用することが可能である。例えば、代表値ＡＰから求めた各画素の値（濃度値）と原画像データＦＤの画素の値とを比較して、両者がディザパターンＤＰのしきい値に対して同じ側にあるか反対側にあるかをチェックしてもよい。つまり、両者がディザパターンＤＰのしきい値に対して同じ側にあれば、いずれを用いても擬似階調化した後の画像は同じになるが、両者がしきい値に対して反対側にある場合には誤差となるので、反対側にある画素の個数をチェックすることによって再現性の良否を判断できる。
【００６８】
再現性が良である場合に、求めた代表値ＡＰに基づいて符号化を行う（＃２６）。符号化の処理においては、入力されるデータ、つまり、代表値ＡＰの差分、ドット数の差分、および属性コードなどを、ハフマン法によって符号化する。ハフマン法による圧縮は、信号の頻度分布が大きく変化しない対象に対して非常に有効である。
【００６９】
再現性が否である場合には、代表値ＡＰに代えて、他の処理を行った画像データを用いて符号化を行う（＃２７）。例えば、領域ＴＬの画像データＦＤそれ自体を用いる。
【００７０】
なお、代表値ＡＰは画像の濃度に関係する値であるので、隣接する領域との間で関連が深く、近隣の領域においては代表値ＡＰが互いに接近している。つまり、近隣の領域では濃度の差分が小さく、そのため代表値ＡＰの差が小さい、という性質がある。したがって、ある領域ＴＬの代表値ＡＰについて、その直前に求めた領域ＴＬの代表値ＡＰとの差をとると、多くの場合に差が「０」となり、差の統計的な頻度の偏りが大きくなる。つまり、代表値ＡＰそれ自体に代えて、代表値ＡＰの差分を用いることにより、ハフマン法の符号化において高い圧縮率で圧縮することが可能となる。逆に言えば、差分ができるだけ０に近くなるように、そのような代表値ａを可能な範囲で選択することが望ましい。
【００７１】
代表値ＡＰの変化が大きいと判断された領域ＴＬでは、代表値ＡＰの差分のほかに、プリンタ１３側で分かるように切り替え信号を出力する。その後、その領域ＴＬの画像データＦＤを出力する。画像データＦＤをそのまま出力してもよいが、符号化したときの圧縮率を稼ぐため、補間によって得られた画素値と原画像の画素値との差分を符号化する。原画像が写真画像である場合は、近隣領域の差分が小さい場合が多くなるので、符号化によって圧縮することができる。原画像が文字混在画像であるような場合は、その領域の擬似階調画像、または原画像データそれ自体を符号化した方がよい結果が得られる。
【００７２】
画像データＦＤの全ての領域ＴＬについて、上に述べた処理を繰り返す（＃２８）。
〔復元処理〕
次に、プリンタ１３における復元処理について説明する。
【００７３】
図４において、プリンタ１３は、ディザパターン記憶部３６０、データ復元部３００、デコード表記憶部３７０、およびラインバッファ３８０などから構成される。
【００７４】
ディザパターン記憶部３６０は、コンピュータ本体１１のディザパターン記憶部１６０に記憶されているディザパターンＤＰと同様のものを保持している。このディザパターンＤＰは、コンピュータ本体１１から予め送信されたものであるが、同じディザパターンＤＰを適当なメモリに格納したものを予めプリンタ１３に内蔵しておいてもよい。
【００７５】
デコード表記憶部３７０は、コンピュータ１１から送信されたデコード表ＤＣを格納する。
【００７６】
データ復元部３００は、所定のディザパターンＤＰ、デコード表ＤＣ、および補間ルールＨＲを参照して、コンピュータ１１から受信した圧縮データＤ２を復元し、ドットパターンを再現する。なお、データ復元部３００には、圧縮データ作成部１００で用いる補間ルールＨＲと同じ補間ルールＨＲが、それを実行する処理回路やプログラムなどとして設けられている。
【００７７】
ラインバッファ３８０では、データ復元部３００より送られた２値画像データが一時的に格納される。ラインバッファ３８０に格納された２値画像データは、例えば６行分ごとに出力され、用紙にプリントアウトされる。
〔圧縮処理および復元処理の他の例〕
次に、圧縮処理の他の例および復元処理について、図１１および図１２のフローチャートによって説明する。
【００７８】
図１１は圧縮処理の他の例の概略を示すフローチャート、図１２は復元処理の例の概略を示すフローチャートである。
【００７９】
図１１において、領域ＴＬごとに区画された画像データＦＤについて（＃５１）、各領域の代表値ＡＰを求める（＃５２）。代表値ＡＰから各画素の濃度を求める（＃５３）。仮想階調画像を擬似階調化した値と画像データＦＤを擬似階調化した値とが一致するか否かを判断する（＃５４）。一致しない場合には、カウンタをインクリメントする（＃５５）。これらを領域内の全ての画素について繰り返す（＃５６）。
【００８０】
カウンタの値が所定の値（この例では「２」）以下であれば（＃５７でイエス）、代表値ＡＰの差分を符号化して出力する（＃５８）。カウンタの値が所定の値を越えていれば、代表値ＡＰの差分を符号化して出力し（＃５９）、切り換え符号を出力し（＃６０）、領域内の画像データＦＤを符号化して出力する（＃６１）。これらを画像データＦＤの全ての領域について繰り返す（＃６２）。
【００８１】
図１２において、圧縮データを受信すると（＃７１）、切り替え符号があるか否かをチェックし（＃７２）、ある場合には、領域内の画像データＦＤを復号化して出力する（＃７７）。切り替え符号がない場合には、代表値ＡＰを復号化し（＃７３）、代表値ＡＰから各画素の濃度値を算出し（＃７４）、それをディザパターンＤＰのしきい値と比較して２値化する（＃７５）。領域内の全ての画素について繰り返し、擬似階調画像を生成して出力する（＃７６）。これらを画像データＦＤの全ての領域について繰り返す（＃７８）。
〔擬似階調画像が多値である場合〕
上の例では、擬似階調画像が２値である場合について説明した。この圧縮方法（代表値圧縮方法）は、擬似階調画像が多値である場合にも同様に適用することができる。
【００８２】
次に、擬似階調画像が４値の画像データである場合について説明する。この場合においても２値の画像データを圧縮する場合と基本的には同じである。したがって、上での説明および図面は、ここでもほぼ同様に適用することができる。ここでは主な相違点についてのみ説明する。なお、説明の簡便化のために、領域ＴＬが１次元の領域であるとする。
【００８３】
図１３は４値の画像データ（４値画像データ）の代表値の求め方を説明するための図、図１４は４値画像データＤ５を説明するための図である。
【００８４】
ここでの相違点は、４値では、それぞれの画素に３つのしきい値があり、擬似階調画像Ｄ５の画素がそれぞれ４つの値（階調値）をとり得るという点である。代表値ＡＰを補間して得た画素値と、元の画像データＦＤの画素値とが、それぞれの画素位置におけるしきい値で区切られた同じ側にあるか否か、同じ側にない場合にはその画素数がいくらかをカウントして判断する。
【００８５】
図１４に示すように、４値の場合には、各状態「０」「１」「２」「３」に対応して、例えばプリンタのレーザの発光時間を制御（パルス幅制御）することによって、画素の濃度を４段階に変化させることができる。このように、これらの状態「０」「１」「２」「３」は、階調値に対応している。
【００８６】
すなわち、状態「０」では、レーザが発光せず、その画素は「白」となる。状態「１」では、レーザ光は画素幅の約３分の１の時間だけ発光し、画素の約３分の１の領域が「黒」となる。同様に、状態「２」または「３」では、それぞれ、レーザ光は画素幅の約３分の２または約３分の３の時間だけ発光し、画素の約３分の２の領域または全体が「黒」となる。つまり、状態の値に対応して４階調の濃度が得られる。４階調を表す４つの状態は、２ビットで表すことができる。したがって、８ビットによって、４階調の画素を４個表すことができる。
【００８７】
なお、レーザの発光時間、それによって打たれるドットの大きさ、および、それをマクロ的に見た濃度について、これらの相互関係は複雑であり、上に述べた例は説明のための単なる例である。
【００８８】
ディザパターンＤＰのしきい値は、０〜２５５の範囲の値であり、各画素に対して３つのしきい値が設定されている。各画素において、３つのしきい値に対して、低い順に、「１」「２」「３」のインデックス（番号）がそれぞれ与えられている。インデックスが「１」である最も低いしきい値よりも小さい濃度の画像データＦＤは、状態「０」となる。インデックス「１」のしきい値とインデックス「２」のしきい値との間の濃度の画像データＦＤは、状態「１」となる。インデックス「２」のしきい値とインデックス「３」のしきい値との間の濃度の画像データＦＤは、状態「２」となる。インデックスが「３」である最も高いしきい値よりも大きい濃度の画像データＦＤは、状態「３」となる。通常、画素が異なれば、同じインデックスに対するしきい値も異なる。なお、図１４において、画像データＦＤに対応して仮想階調画像ＬＡが示されている。
【００８９】
図１３において、まず、最初の代表値ＡＰ０を決める。次に、領域ＴＬ１の代表値ＡＰ１を決める。代表値ＡＰ１は、領域ＴＬ１における端部に位置する４番目の画素の濃度値とする。補間ルールＨＲが直線補間であるとして、隣合う２つの代表値ＡＰ０，ＡＰ１から各画素の濃度値を補間により求める。図１３において白丸で示した位置が各画素の濃度値である。
【００９０】
図１３に示す例では、各画素の濃度値は、領域ＴＬ１内の全ての画素について、ディザパターンＤＰのしきい値に対して画像データＦＤと同じ側にある。したがって、誤差は０であり、つまり再現性は良好であり、領域ＴＬ１内の画像データＦＤを代表値ＡＰで置き換えることができる。
〔領域内の画素値が代表値に等しいとした補間ルール〕
上に述べた例では、各領域内の画素値を、複数の代表値ＡＰを用いて補間により求めた。次に、領域内の各画素の濃度値が当該領域の代表値ＡＰに等しいとする補間ルールＨＲ１を適用した例について説明する。
【００９１】
図１５は領域内の画素値が代表値に等しいとした補間ルールＨＲ１を説明するための図、図１６は圧縮処理の他の例の概略を示すフローチャート、図１７は復元処理の他の例の概略を示すフローチャートである。
【００９２】
図１５において、擬似階調画像Ｄ１，Ｄ１Ｋについて、それぞれ５つの画素ＴＰからなる１次元の領域ＴＬ１，２，３…が示されている。ここでは、擬似階調画像Ｄ１，Ｄ１Ｋは２値画像であるとする。
【００９３】
まず、最初の領域ＴＬ１について、そこに含まれる画素ＴＰの濃度値は代表値ＡＰ１に等しい。したがって、領域ＴＬ１における仮想階調画像ＬＢ１は水平な直線となる。同様に、２、３番目の領域ＴＬ２、３についても、それぞれの仮想階調画像ＬＢ２，３は水平な直線となる。これらの仮想階調画像ＬＢ１，２，３を、ディザパターンＤＰを用いて擬似階調化すると、擬似階調画像Ｄ１Ｋが得られる。
【００９４】
図１５において、領域ＴＬ１および領域ＴＬ２については、両者は完全に一致しており、再現性に問題はなく、良である。しかし、領域ＴＬ３については、１番目と３番目の画素ＴＰの値が互いに逆となっており、誤差は２画素である。
【００９５】
このように、補間ルールＨＲ１を適用した場合には、実質的な補間計算は行わないので、他の補間ルールＨＲの場合と比較すると計算量は最も少ない。また、領域ＴＬ３のように、代表値ＡＰを用いると画質が低下する領域ＴＬにおいては、代表値ＡＰを出力する必要がない。つまり、後で示す図１６のフローチャートのステップ＃１１６を省略してもよい。
【００９６】
図１６において、領域ＴＬごとに区画された画像データＦＤについて（＃１０１）、各領域の代表値ＡＰを求める（＃１０２）。代表値ＡＰから各画素の濃度を求める（＃１０３）。仮想階調画像を擬似階調化した値と画像データＦＤを擬似階調化した値とが一致するか否かを判断する（＃１０４）。一致しない場合には、カウンタをインクリメントする（＃１０５）。これらを領域内の全ての画素について繰り返す（＃１０６）。
【００９７】
カウンタの値が所定の値Ｎ以下であり（＃１０７でイエス）、代表値差分が０であれば（＃１０８でイエス）、連続回数を示す変数ｎを１つ加算する（＃１０９）。変数ｎの値が「ｎｄｚ」になった場合に（＃１１０でイエス）、代表値差分「０」がｎｄｚ回続いたことを示す連続信号を符号化して出力し（＃１１１）、変数ｎを「０」に初期化する（＃１１２）。
【００９８】
ステップ＃１０８でノーの場合、つまり代表値差分が０でない場合には、代表値差分「０」をそれまでの回数分つまりｎ回符号化して出力し（＃１１３）、変数ｎを「０」に初期化し（＃１１４）、代表値差分を出力する（＃１１５）。
【００９９】
ステップ＃１０７でノーの場合、つまりカウンタの値が所定の値Ｎを越えている場合には、代表値差分を符号化して出力し（＃１１６）、切り換え符号を出力し（＃１１７）、領域内の画像データＦＤを符号化して出力する（＃１１８）。これらを画像データＦＤの全ての領域について繰り返す（＃１１９）。
【０１００】
図１７において、圧縮データを受信すると（＃１３１）、切り替え符号があるか否かをチェックし（＃１３２）、ある場合には、領域内の画像データＦＤを復号化して出力する（＃１４３）。切り替え符号がない場合には、連続信号があるか否かをチェックし（＃１３３）、ある場合には、代表値差分から代表値ＡＰを復号化し（＃１３８）、代表値ＡＰから各画素の濃度値を算出し（＃１３９）、それをディザパターンＤＰのしきい値と比較して２値化する（＃１４０）。領域内の全ての画素について繰り返し（＃１４１）、且つｎｄｚ回繰り返す（＃１４２）。
【０１０１】
連続信号がない場合には（＃１３３でノー）、代表値差分から代表値ＡＰを復号化し（＃１３４）、代表値ＡＰから各画素の濃度値を算出し（＃１３５）、それをディザパターンＤＰのしきい値と比較して２値化する（＃１３６）。領域内の全ての画素について繰り返す（＃１３７）。これらを画像データＦＤの全ての領域について繰り返す（＃１４４）。
【０１０２】
なお、上に示した図１６および図１７のフローチャートでは、代表値ＡＰの差分が「０」となった場合の回数をカウントし、それを符号化した。このようにすると、代表値ＡＰの差分「０」の状態が連続して現れる場合が多いので、さらに圧縮率を高めることができる。
〔代表値の求め方の他の例〕
図１８は代表値の求め方の他の例を説明するための図である。
【０１０３】
図１８において、まず、最初の領域ＴＬ１の代表値ＡＰ１を決める。ディザパターンのしきい値が画像データＦＤの濃度値よりも大きい場合のしきい値の最小値Ｋ１、および、ディザパターンＤＰのしきい値が画像データＦＤの濃度値よりも小さい場合のしきい値の最大値Ｊ１を求める。そして、最小値Ｋと最大値Ｊとの間から代表値ＡＰ１を選定する。つまり、次の（１）式、
Ｊ≦ＡＰ≦Ｋ    …（１）
の条件を満たす代表値ＡＰを求める。このように、代表値ＡＰのとり得る範囲（代表値範囲）は最大値Ｊから最小値Ｋの間である。図１８には、代表値範囲に入る代表値ＡＰ１の例が水平な直線ＡＰＬ１で示されている。
【０１０４】
２番目の領域ＴＬ２については、最小値Ｋの方が最大値Ｊよりも小さいため、上の（１）式を満たす代表値ＡＰは存在しない。したがってこの場合は、適当な値を仮に代表値ＡＰ２とする。仮に定めた代表値ＡＰ２によって得られる擬似階調画像Ｄ１Ｋが、元の画像データＦＤによる擬似階調画像Ｄ１に対して所定の誤差範囲に入っていれば、この代表値ＡＰ２を用いる。しかし、若干の画質の低下は生じる可能性がある。誤差範囲に入っていなければ、他のデータ、例えば画像データＦＤそれ自体を用いる。
【０１０５】
３番目の領域ＴＬ３については、上の（１）式を満たす代表値ＡＰ３が存在するので、そのような適当な代表値ＡＰ３を決める。
【０１０６】
この方法で代表値ＡＰを求めた場合には、復号に際しても補間ルールＨＲ１を用いればよい。なお、この方法によると、代表値ＡＰを決定する際に画質の低下があるか否かの判断も同時に行うことができるので好都合である。
【０１０７】
本実施形態において、擬似階調化として２値化および４値化を行ったが、３値化、８値化、１６値化など、種々の値の多値化を行うことも可能である。各領域における代表値位置は、上に述べた以外の位置、例えば領域の中央、領域の他の頂点などとすることも可能である。
〔第二の実施例〕
図１９は第二の実施例の圧縮処理を説明するためのフローチャート、図２０は第二の実施例の圧縮処理の概略を示すフローチャートである。
【０１０８】
次に第二の実施例について説明する。なお、本実施例は、「請求項２２」から「請求項３２」までの発明に対応する。
【０１０９】
本実施例では、図１９に示すように、図５におけるステップ＃２１から＃２４に対応する処理を、まず、区画した全ての領域ＴＬについて行う（＃１６１から＃１６５）。そして、再現性の良否の判断に用いる誤差範囲（間引閾値ＭＨ）を決定し（＃１６６）、図５のステップ＃２５から＃２８に対応する処理を全ての領域ＴＬについて行う（＃１６７から＃１７０）。
【０１１０】
本実施例においては、画像データＦＤを、それの圧縮データＤ２のデータ量（サイズ）が所定の目標データ量ＧＬ内で且つその目標データ量ＧＬに近いデータ量になるように圧縮する。そのような圧縮を実現するために、図１９のステップ＃１６１からステップ＃１６４までの処理において、画像データＦＤの特徴を抽出する。一般に、圧縮に際して圧縮対象のデータの特徴を抽出することを「モデル化」と言う。従って、ここでは、ステップ＃１６１からステップ＃１６４までの処理を特に「モデル化処理」と呼ぶことにする。
【０１１１】
また、ステップ＃１６７からステップ＃１７０までの処理では、再現性の良否を判断し、良であると判断された場合に代表値を用いて圧縮データＤ２を生成する。これによってデータ量が削減される。すなわち、代表値が用いられることによって画像に含まれていた情報が間引かれる。従って、ここでは、ステップ＃１６７からステップ＃１７０までの処理を特に「間引処理」と呼ぶことにする。さらに、この間引処理において再現性の良否の判断に用いられる誤差範囲のことを「間引閾値ＭＨ」と呼ぶことにする。これによって、本実施例の処理を図２０に示すように簡略化して表すことができる。
【０１１２】
図２１は第二の実施例におけるプリントシステム１の機能的構成の例を示す図である。次に図２１を参照して第二の実施例におけるプリントシステム１の機能的構成について説明する。
【０１１３】
コンピュータ本体１１には、図２１に示す画像データ保存部３０１、ディザパターン保存部３０２、目標データ量保存部３０４、符号表保存部３０５、領域区画部３０７、モデル化データ生成部３０８、間引閾値決定部３０９、間引処理部３１０、符号化部３１１、および圧縮画像データ送信部３１２などの機能が設けられている。
【０１１４】
プリンタ１３には、圧縮画像データ保存部４０１、ディザパターン保存部４０２、符号表保存部４０４、圧縮画像データ受信部４０５、復号部４０６、および画像データ復元部４０７などの機能が設けられている。
【０１１５】
図２１において、画像データ保存部３０１は、階調性を有する画像データＦＤを保存する。
【０１１６】
ディザパターン保存部３０２および４０２は、画像データＦＤの擬似階調化に用いられるディザパターンＤＰを保存する。
【０１１７】
目標データ量保存部３０４は、目標データ量ＧＬを保存する。目標データ量ＧＬとしては、プリンタ１３のメモリ容量よりも小さい値が予め設定されている。
【０１１８】
符号表保存部３０５および４０４は、図２５に示すような符号表ＦＴ１を保存する。これらの符号表ＦＴについては、後に詳しく説明する。
【０１１９】
圧縮画像データ保存部４０１は、コンピュータ本体１１から送信されて来る圧縮データＤ２を保存する。
【０１２０】
ユーザから印刷の指令が与えられると、コンピュータ本体１１の領域区画部３０７は、圧縮処理の対象となる画像データＦＤを画像データ保存部３０１から取得し、それを多数の小さな領域（ブロック）に区画する。本実施例では、区画された領域を「区画領域ＴＬ」と記載する。また、各区画領域ＴＬについて行われる処理を、一つの区画領域ＴＬに着目して説明する場合がある。その場合、着目する区画領域ＴＬを「注目領域ＴＬ」と記載することがある。
【０１２１】
モデル化データ生成部３０８は、モデル化処理を行うことにより、画像データＦＤからモデル化データＭＤを生成する。すなわち、画像データＦＤをモデル化データＭＤに変換する。このモデル化処理は、区画領域ＴＬごとに実行され、各領域ＴＬ１、ＴＬ２、ＴＬ３、…について、それぞれモデル化データＭＤ１、ＭＤ２、ＭＤ３、…が生成される。以下、これらをまとめて「モデル化データＭＤ」と記載することがある。他のデータなどについても同様である。
【０１２２】
間引閾値決定部３０９は、モデル化データＭＤおよび目標データ量保存部３０４に保存されている目標データ量ＧＬに基づいて間引閾値ＭＨを決定する。係る決定は、例えば以下のようにして行われる。
【０１２３】
まず、間引処理によって最もデータが間引かれない（最高画質）間引閾値ＭＨを用いた場合の圧縮データＤ２のデータ量を試算する。試算したデータ量が目標データ量ＧＬよりも小さかった場合は、その間引閾値ＭＨを実際の間引処理に用いる間引閾値ＭＨとして決定する。
【０１２４】
試算したデータ量が目標データ量ＧＬ以上であった場合は、間引閾値ＭＨの値をさらに大きくした場合における圧縮データＤ２のデータ量を試算する。そして、試算したデータ量が目標データ量よりも小さくなるような、そのような間引閾値ＭＨを求め、その間引閾値ＭＨを実際の間引処理に用いる間引閾値ＭＨとして決定する。
【０１２５】
間引処理部３１０は、間引閾値決定部３０９が決定した間引閾値ＭＨとモデル化データＭＤとを用いて間引処理を行い、間引済データＥＤを生成する。すなわち、モデル化データＭＤを間引済データＥＤに変換する。
【０１２６】
符号化部３１１は、間引済データＥＤを符号化することによって圧縮データＤ２を生成する。すなわち、間引済データＥＤを圧縮データＤ２に変換する。
【０１２７】
圧縮画像データ送信部１１０は、圧縮データＤ２を、間引処理部３１０における間引処理に用いられた間引閾値ＭＨとともにプリンタ１３に送信する。
【０１２８】
プリンタ１３の圧縮画像データ受信部２０４は、コンピュータ本体１１から送信されてくる圧縮データＤ２および間引閾値ＭＨを受信し、圧縮画像データ保存部４０１に保存する。
【０１２９】
復号部４０６は、圧縮画像データ保存部４０１に保存された圧縮データＤ２を取得する。取得した圧縮データＤ２を符号表保存部４０４に保存されている符号表ＦＴ１を用いて復号する。
【０１３０】
画像データ復元部４０７は、復号部４０６によって復号されたデータから擬似階調画像データＤ１を生成する。これに際して、必要に応じて、圧縮画像データ保存部４０１に保存された間引閾値ＭＨおよびディザパターン保存部４０２に保存されているディザパターンを用いる。
【０１３１】
以下、本実施例の処理を「モデル化処理」、「間引処理」、「符号化処理」、および「間引閾値決定処理」などの項目に分けて説明する。
〔モデル化処理〕
図２２は領域ＴＬとディザパターンＤＰの例を示す図、図２３は再現ドットパターンの例を示す図、図２４は第二の実施例におけるモデル化データＭＤの例を示す図である。
【０１３２】
モデル化処理では、モデル化を行うことによって、画像データＦＤの特徴を示すモデル化データＭＤを生成する。それに際して、まず、圧縮の対象となる画像データＦＤを領域ＴＬごとに区画する（請求項２２および２３の「第１のステップ」に対応）。
【０１３３】
本実施例においては、領域ＴＬを図２２（ａ）に示すような６４画素（８×８画素）のサイズとする。図２２（ａ）には、この領域ＴＬの画像データＦＤを図２２（ｂ）に示すディザパターンＤＰによって擬似階調化して得られる擬似階調画像のドットの配列パターン（ドットパターン）であるが示されている。以下、擬似階調画像のドットパターンを「擬似階調画像ドットパターン」と記載することがある。
【０１３４】
図２２において、領域ＴＬの黒の画素が、ドットが打たれた画素である。画像データＦＤの各画素の濃度値が、図２２（ｂ）に示すディザパターンＤＰの対応する画素の閾値以上であったときに、その画素にドットが打たれる。つまり、濃度値が大きいほど濃度が高いものとして扱う。なお、図２２の例では、領域ＴＬのサイズがディザパターンＤＰのサイズと同じとなるように区画した例を示したが、これらのサイズが互いに異なってもよい。
【０１３５】
次に、区画領域ＴＬの代表値を決定する。本実施例では、区画領域ＴＬの代表値として、その区画領域ＴＬに含まれるドットの個数を用いる。従って、図２２（ａ）の例では、代表値は「１０」となる。
【０１３６】
区画領域ＴＬの代表値が求まると、次に、その代表値および所定の補間ルールを適用してその区画領域ＴＬに含まれる各画素の濃度を求めることによって仮想階調画像を生成する（請求項２２および２３の「第２のステップ」に対応）。
【０１３７】
本実施例においては、注目領域ＴＬに着目した場合に、代表値を用いて注目領域ＴＬに含まれる画素の濃度値の仮想的な平均値（仮想平均値）を求める。そして、注目領域ＴＬの濃度値が均一にその仮想平均値であるとした場合の画像を注目領域ＴＬの仮想階調画像とする。
【０１３８】
ところで、本実施例では、区画領域ＴＬのサイズは６４画素（８×８画素）である。この場合、ドットの個数（代表値）は、画像データＦＤが６４階調であった場合におけるその区画領域ＴＬの濃度値の平均値と考えることができる。従って、代表値を２５６／６４倍することによって得られる値を、画像データＦＤを２５６階調とした場合のその区画領域ＴＬの濃度値の仮想平均値とみなすことができる。
【０１３９】
例えば注目領域ＴＬの代表値が「１０」であった場合、
１０×２５６／６４＝３６
となり、仮想平均値は「３６」となる。
【０１４０】
再現ドットパターンは、注目領域ＴＬの濃度値が均一に上述の仮想平均値であると仮定した場合における注目領域ＴＬの各濃度値を、ディザパターンＤＰによって擬似階調化することによって求められる。つまり、仮想平均値とディザパターンＤＰの各画素の濃度値とを比較し、仮想平均値の方が大きい画素にドットを打った場合に再現されるドットパターンが再現ドットパターンとなる。上の例を用いて仮想平均値が「３６」であるとすると、図２２（ｂ）のディザパターンＤＰによって図２３に示すような再現ドットパターンが求められる。
【０１４１】
再現ドットパターンを求める処理と並行してまたは前後して注目領域ＴＬについての画像データＦＤをディザパターンＤＰで擬似階調化し、擬似階調画像ドットパターンを求める。そして、求めた再現ドットパターンと擬似階調画像ドットパターンとを比較する。両者が同じであった場合は、注目領域ＴＬの代表値を示すモデル化データＭＤを生成する。
【０１４２】
再現ドットパターンと擬似階調画像ドットパターンとが同じでなかった場合は一致しなかったドットの個数である不一致ドット数、注目領域ＴＬの代表値、および注目領域ＴＬの擬似階調画像ドットパターンを示すモデル化データＭＤを生成する。
【０１４３】
図２２（ａ）の例では、区画領域ＴＬの擬似階調画像ドットパターンの代表値は「１０」である。この代表値と、図２２（ｂ）のディザパターンとを用いて再現ドットパターンを求めると、既に説明したとおり図２３のようになる。従って、この場合は、擬似階調画像ドットパターンと再現ドットパターンとは同じではなく、その不一致ドット数は「１」となる。
【０１４４】
全ての区画領域ＴＬについて以上のような処理を行い、各区画領域ＴＬのモデル化データＭＤを生成する。なお、モデル化データＭＤに代表値の代わりに、代表値を求めるための他の値を含めるようにしてもよい。例えば、直前に処理される区画領域ＴＬの代表値との差分を用いる。
【０１４５】
次に、本実施例におけるモデル化データＭＤについて図２４を参照して説明する。なお、ここでは、代表値、擬似階調画像ドットパターン、および不一致ドット数を、それぞれ、「代表値ＡＰ」、「擬似階調画像ドットパターンＡＲ」、および「不一致ドット数ＡＮ」と記載する。
【０１４６】
図２４には、区画領域ＴＬ１、ＴＬ２、ＴＬ３、…について生成されたモデル化データＭＤおよびそのモデル化データＭＤの要素である各値のデータ量（ビット数）が示される。再現ドットパターンと擬似階調画像ドットパターンＡＲとが一致した区画領域ＴＬ（区画領域ＴＬ１、ＴＬ２、およびＴＬ３など）については、モデル化データＭＤとして代表値ＡＰのみが示される。
【０１４７】
また、両者が一致しなかった区画領域ＴＬ（区画領域ＴＬ４など）については、一致しなった旨を示すフラグである切替フラグＡＦ（図２４においては、「Ｆ」）、代表値ＡＰ、擬似階調画像ドットパターンＡＲ（図２４においては、「Ｄ」）、および不一致ドット数ＡＮが示される。以下、再現ドットパターンと擬似階調画像ドットパターンＡＲとが一致した区画領域ＴＬを「一致区画領域ＴＬｘ」と記載し、両者が一致しなかった区画領域ＴＬを「不一致区画領域ＴＬｙ」と記載することがある。
【０１４８】
擬似階調画像ドットパターンＡＲは、例えば、ドットが打たれている画素の値を「１」、打たれていない画素の値を「０」として、その区画領域ＴＬの左上端から順に走査して求める。
【０１４９】
モデル化データＭＤに示される各値のデータ量は、図２４の「ビット数」の行に示される。図２２のような６４画素の区画領域ＴＬにおいて代表値ＡＰが取りうる値０から６４であり、合計６５個（７ビット）である。これに切替フラグＡＦを加えて６６個とし、代表値ＡＰおよび切替フラグＡＦを７ビットで表すことにする。
【０１５０】
擬似階調画像ドットパターンＡＲについては、１画素のドットを１ビットで表すことができるので、一つの区画領域ＴＬ（６４画素）につき６４ビットで表すことができる。
【０１５１】
不一致ドット数導出値の取りうる値の個数は、図２２のような６４画素の区画領域ＴＬにおいては６４個であり、６ビットで表すことができる。
【０１５２】
なお、区画領域ＴＬの擬似階調画像ドットパターンＡＲは、上記のようにして代表値ＡＰを用いて再現できる場合が多い。ある程度の不一致ドット数を許容すると、そのような区画領域ＴＬはされに多くなる。従って、多くの区画領域ＴＬについて６４ビットのデータ量が７ビットのデータ量に減らされることになり、モデル化処理の時点でも多くのデータ量が削減されることになる。
【０１５３】
また、本実施例では、このモデル化処理において、画像データＦＤからモデル化データＭＤを生成しながら、モデル化データＭＤの生成が完了した画像データＦＤを、圧縮の対象としてそれを読み込んだ先のメモリ領域などから順次削除していく。すなわち、画像データＦＤをモデル化データＭＤに変換する処理を行う。
〔間引処理〕
間引処理においては、間引閾値ＭＨに基づいてモデル化データＭＤからデータを間引く処理を行う。ここにおいて、間引閾値ＭＨは、間引処理による画質の劣化をどの程度まで許容するかを示す値である。本実施例では、不一致ドット数を画質の劣化の指標として用いる。従って、この間引処理では、注目領域ＴＬに着目した場合に、モデル化データＭＤに含まれる不一致ドット数と間引閾値ＭＨとの比較に基づいて、間引済データＥＤの生成に代表値を用いるかまたは擬似階調画像ドットパターンを用いるかを決定し、決定した方を用いて間引済データＥＤを生成する。なお、この間引閾値ＭＨは、間引処理に先立って決定される。この決定方法については、「〔間引閾値決定処理〕」において後で詳しく説明する。
【０１５４】
このような処理を行なうに際して、一つの区画領域ＴＬについてのモデル化データＭＤを読み込む。読み込んだモデル化データＭＤに切替フラグが示されている場合は、そのモデル化データＭＤは、不一致区画領域ＴＬｙについてのモデル化データＭＤであることを意味する。この場合、そのモデル化データＭＤに示される不一致ドット数と間引閾値ＭＨとを比較する。
【０１５５】
不一致ドット数が間引閾値ＭＨ以下であれば、そのモデル化データＭＤに示される代表値を用いて間引済データＥＤを生成する（請求項２２および２３の「第４のステップ」および「第５のステップ」に対応する）。
【０１５６】
不一致ドット数が間引閾値ＭＨより大きければ、そのモデル化データＭＤに示される擬似階調画像ドットパターンおよび切替フラグを用いて間引済データＥＤを生成する。
【０１５７】
モデル化データＭＤに切替フラグが示されていない場合は、そのモデル化データＭＤは、一致区画領域ＴＬｘについてのモデル化データＭＤであることを意味する。この場合は、そのモデル化データＭＤに示される代表値を用いて間引済データＥＤを生成する。
【０１５８】
以上のような間引処理によって、モデル化データＭＤからさらに多くのデータ量が削減される。
【０１５９】
また、この間引処理においても、モデル化処理と同様にして、間引済データＥＤを、モデル化データＭＤから変換することによって生成する。
〔符号化処理〕
図２５は代表値差分についての符号表ＦＴ１の例を示す図、図２６は循環整数を説明するための図である。
【０１６０】
符号化処理においては、生成された間引済データＥＤを符号化することによって圧縮データＤ２を生成する。つまり、間引済データＥＤに示される代表値および擬似階調画像ドットパターンについての符号化を行う。代表値については、まずその代表値を求めるための代表値導出値を求め、それを符合化する。本実施例においては、この代表値導出値として、注目領域ＴＬに着目した場合のその注目領域ＴＬの代表値とその直前の区画領域ＴＬの代表値との差分（代表値差分）を用いる。直前の区画領域ＴＬについての間引済データＥＤに代表値が示されていない場合は、その代表値が「０」であったものとして差分を求める。すなわち、この場合の差分は注目領域ＬＴの代表値そのものとなる。なお、直前の区画領域ＴＬは、モデル化の際に注目領域ＴＬの直前に読み込まれる領域（つまり、隣接する左側の領域）であってもよいし、注目領域ＴＬの直前に符号化などの処理がなされる領域であってもよい。
【０１６１】
ところで、本実施例では、代表値差分を表すために、図２６に示す循環整数による方法を用いる。ここで、この循環整数について簡単に説明する。
【０１６２】
図２６には、循環整数による方法を説明するためのサークルＪＳが示される。ある数Ａの位置を基準点とし、これとある数Ｂとの差分Ｃを求めるには、サークルＪＳの中の数Ａの位置から数Ｂに相当する位置数分左方向にサークルＪＳを回転させ、基準点の位置に止まった数値を差分Ｃとする。例えば、「５」と「３」の差分は、サークルＪＳの「５」の位置を基準点とし、サークルＪＳを３つ左方向に回転させた場合にその基準点の位置に来る「２」が答である。他の例では、「０」と「８」の差分は、サークルＪＳの「０」の位置を基準点とし、サークルＪＳを８つ左方向に回転させた場合にその基準点の位置に来る「１」が答である。このようにして、差分が０〜８の範囲内の整数値として得られる。
【０１６３】
また、ある数Ｂに差分Ｃを加算することによってある数Ａが求まる。この場合は、サークルＪＳの数Ｂの位置を基準点とし、差分Ｃに相当する位置数分右方向にサークルＪＳを回転させた場合に基準点の位置に来る数値を数Ａとする。このように、数Ｂと差分Ｃとから数Ａを完全に復元することができる。
【０１６４】
代表値の最大値は「６４」であるので、代表値差分の範囲は、通常「−６４」から「６４」となる。これを上記のような方法を用いることにより、「−３２」から「３２」の範囲で表すことができるようになる。本実施例では、このようにして求めた「−３２」から「３２」までの代表値差分を、図２５に示す符号表ＦＴ１によって符号化する。
【０１６５】
図２５において、符号表ＦＴ１には、「代表値差分」、「符号」、および「付加ビット数」の項目が含まれる。「代表値差分」には、符号化の対象となる代表値差分が１つ以上示される。「符号」には、対応する行の代表値差分に割り当てられる符号の前半部分が示される。「付加ビット数」には、対応する行の代表値差分に割り当てられる符号の後半部分のビット数が示される。
【０１６６】
符号表ＦＴ１の３行目を例にあげると、各代表値差分「−３」、「−２」、「２」、および「３」には、符号の先頭の３ビットに「０１１」の符号が割り当てられる。さらに、「付加ビット数」に示される２ビットの符号が後半に付加される。ここでは、小さな値の差分値から順に小さな値の符号が割り当てられるようにする。すなわち、各代表値差分「−３」、「−２」、「２」、および「３」に、それぞれ、「０１１００」、「０１１０１」、「０１１１０」、および「０１１１１」の符号を割り当てる。モデル化処理において説明した切替フラグには、代表値符号化表の最後の行の符号が割り当てられる。以上のような符号化によって、代表値差分は、２〜９ビットで表現される。
【０１６７】
ところで、代表値は画像の濃度に関係する値であるので、近隣（近辺）の区画領域ＴＬ間での関連が深く、そのような区画領域ＴＬ同士の代表値は互いに接近している。つまり、近隣の区画領域ＴＬでは濃度の差分が小さく、そのため代表値の差が小さい、という性質がある。従って、ある区画領域ＴＬの代表値について、その直前に求めた区画領域ＴＬの代表値との差をとると、多くの場合に差が「０」となる。従って、多くの場合において代表値差分を２ビットで表現できるようになる。全体としては、平均４ビット程度の符号長となる。代表値は、最大値が６４であり、もともと６ビットのデータ量であるので、この符号化によって一つの区画領域ＴＬにつき平均１ビット程度データ量が削減されたことになる。
【０１６８】
また、近隣の区画領域ＴＬ同士の代表値の差は統計的な出現頻度の偏りが大きくなるので、符号化の手段としてハフマン法を用いることも非常に有効である。
【０１６９】
擬似階調画像ドットパターンについては、所定の符合化法によって符号化を行う。本実施形態においては、区画領域ＴＬの行ごとにその行に示されるドットパターンを符号化する。これによって、一つの区画領域ＴＬの擬似階調画像ドットパターンが、平均３０ビット程度の符号長で表現される。６４画素の擬似階調画像ドットパターンのデータ量は６４ビットであるので、これによって平均３０ビット程度データ量が削減されたことになる。
【０１７０】
なお、ここでは、代表値差分を符号化する場合の例を示したが、代表値をそのまま符号化するようにしてもよい。
【０１７１】
また、この符合化処理においても、モデル化処理と同様にして、圧縮データＤ２を、間引済データＥＤから変換することによって生成する。
〔間引閾値決定〕
モデル化処理によって生成されたモデル化データＭＤを用いて間引閾値ＭＨを決定する。すなわち、間引閾値ＭＨに基づいてモデル化データＭＤからデータを間引く間引処理を経て生成される圧縮データＤ２全体のデータ量を試算し、そのデータ量が目標データ量ＧＬ未満になるような、そのような間引閾値ＭＨを求め、それを間引閾値ＭＨとして決定する（請求項２２および２３の「第３のステップ」に対応）。
【０１７２】
ところで、一致区画領域ＴＬｘは、その擬似階調画像ドットパターン（６４ビット）を代表値（７ビット）を用いて表現することによってデータ量を大幅に削減できる。
【０１７３】
不一致区画領域ＴＬｙについては、その擬似階調画像ドットパターンを表現するために代表値を用いることで画質が劣化する。しかし、区画領域ＴＬは十分に小さな領域であるためそのような劣化はあまり目立たない。このような理由から、再現ドットパターンと擬似階調画像ドットパターンとの不一致をある程度許容することによって擬似階調画像ドットパターンを代表値を用いて表現したとしても、十分に画質を保つことができる。すなわち、不一致区画領域ＴＬｙについても、多少の画質の劣化を許容すれば、代表値を用いてデータ量を大幅に削減できる。
【０１７４】
間引閾値ＭＨを決定するにあたっては、圧縮データＤ２のデータ量を試算することによってそのデータ量が目標データ量ＧＬよりも小さくなるようするために許容すべき不一致ドット数を求め、それを間引閾値ＭＨとして決定する。
【０１７５】
図２７は統計データＴＫの例を示す図である。次に、統計データＴＫを用いて圧縮データＤ２のデータ量を試算する方法について説明する。
【０１７６】
まず、間引済データＥＤのデータ量を試算する。これに際して、初めに、間引閾値ＭＨを「０」として間引済データＥＤを生成した場合のデータ量を試算する。
【０１７７】
図２４の例によると、一致区画領域ＴＬｘのモデル化データＭＤのデータ量は７ビットである。一致区画領域ＴＬｘについては、モデル化データＭＤに示される代表値が間引済データＥＤにそのまま用いられるのでデータ量は７ビットのままである。この場合、間引済データＥＤは、符号化処理によってデータ量はさらに４ビット程度に減少する。
【０１７８】
不一致区画領域ＴＬｙのモデル化データＭＤのデータ量は８４ビット（７＋７＋６４＋６ビット）である。不一致区画領域ＴＬｙについては、不一致ドット数が間引閾値ＭＨ以下である場合には、間引済データＥＤの生成に代表値が用いられる。従って、この場合の符号化処理の後のデータ量は、一致区画領域ＴＬｘと同様に４ビット程度となる。
【０１７９】
また、不一致ドット数が間引閾値ＭＨより大きい場合には、間引済データＥＤの生成に切替フラグ（７ビット）および擬似階調画像ドットパターン（６４ビット）が用いられる。従って、間引済データＥＤは７１ビットのデータ量となり、さらに符号化処理によって３３ビット〔擬似階調画像ドットパターンのデータ量（３０ビット程度）＋切替フラグのデータ量（３ビット）〕程度になる。
【０１８０】
間引閾値ＭＨとして「０」を用いた場合は、不一致ドット数は必ず間引閾値ＭＨよりも大きくなるので、不一致区画領域ＴＬｙについては、圧縮データＤ２のデータ量は３３ビット程度となる。不一致区画領域ＴＬｘについては、既に説明したとおり、圧縮データＤ２のデータ量は４ビット程度である。従って、全ての区画領域ＴＬについての圧縮データＤ２の合計のデータ量は、
一致区画領域ＴＬｘの個数 × ４ ＋ 不一致区画領域ＴＬｙの個数 × ３３
……（２）
の式によって試算できる。
【０１８１】
これら一致区画領域ＴＬｘおよび不一致区画領域ＴＬｙの個数は、モデル化処理と合わせて統計データを作成しておくことによって簡単に知ることができる。この統計データについては、後に詳しく説明する。
【０１８２】
このようにして試算されたデータ量が目標データ量ＧＬよりも小さかった場合は、間引閾値ＭＨを「０」に決定する。反対に、目標データ量ＧＬよりも大きかった場合は、さらに大きな値の間引閾値ＭＨで間引処理を行った場合における圧縮データＤ２のデータ量を試算する。
【０１８３】
そのようなデータ量を試算するにあたって、まず、間引閾値ＭＨを大きくすることによってどれだけのデータ量が削減されるのかを求める。間引閾値ＭＨを大きくすると、それによって不一致ドット数が間引閾値ＭＨよりも小さくなった不一致区画領域ＴＬｙについての間引済データＥＤの生成に擬似階調画像ドットパターンに替えて代表値が採用されるようになる。そのような不一致区画領域ＴＬｙの個数を「Ｎ」とすると、
Ｎ  ×（３３−４）……（３）
の式によって、間引閾値ＭＨを大きくすることによって削減できるデータ量を求めることができる。不一致ドット数に対する不一致区画領域ＴＬｙの個数を知るためには、モデル化処理の段階において図２７に示すような統計データを求めておく必要がある。
【０１８４】
図２７において、各行には、不一致ドット数に対応する不一致区画領域ＴＬｙの個数が「領域数」として示されている。このような統計データＴＫは、モデル化処理にいおて処理の対象となった区画領域ＴＬの不一致ドット数を求めたときにその不一致ドット数についての領域数を１つカウントアップする。そのような処理を全ての区画領域ＴＬに対して行う。
【０１８５】
図２７の例によれば、不一致ドット数が「０」であった区画領域ＴＬが２１７８１個、「１」であった区画領域ＴＬが９７２０個、「２」であった区画領域ＴＬが４４１３個、擬似階調画像データＦＧに含まれていたことになる。
【０１８６】
間引閾値ＭＨを大きくした場合の圧縮データＤ２のデータ量は、間引閾値ＭＨを「０」として試算した圧縮データＤ２のデータ量から（３）式によって求められるデータ量を引くことによって試算できる。そして、試算されたデータ量が目標データ量ＧＬ以下となる場合の間引閾値ＭＨの値が、実際の間引処理に用いられる間引閾値ＭＨとして決定される。
【０１８７】
図２８は間引閾値ＭＨと圧縮データＤ２のデータ量との関係を示す図である。
【０１８８】
本実施例においては、図２５に示す符号化表を用いて代表値差分の符号化を行った場合の符号長の平均が４ビット程度であるとして圧縮データＤ２の合計のデータ量を試算し、それによって間引閾値ＭＨを決定した。これを図２８に示すようなグラフを用いることによって求めるようにしてもよい。
【０１８９】
図２８（ａ）には、符号の出現頻度、符号の符号長（ビット長）、および間引閾値ＭＨと圧縮データＤ２のデータ量との関係を表すグラフである曲線Ｃ１および曲線Ｃ２が示される。曲線Ｃ１は、擬似階調画像ドットパターンと再現ドットパターンとの不一致を許容しない場合に対応する。曲線Ｃ２は、両者の不一致を許容する場合に対応する。また、このグラフのｙ軸には符号長と出現頻度との積が示される。ｘ軸には間引閾値ＭＨが示される。
【０１９０】
ここにおいて、曲線Ｃ１、直線Ｌ１、ｘ軸、およびｙ軸によって囲まれる領域の面積Ｓ１は間引閾値ＭＨを「０」とした場合の圧縮データＤ２のデータ量となる。
【０１９１】
間引閾値ＭＨを大きくすると、圧縮データＤ２のデータ量は、図２８（ｂ）において斜線で示される領域の面積Ｓ２の値に変化する。
【０１９２】
従って、面積Ｓ２が目標データ量ＧＬ未満となるような直線Ｌ２を求めることによって、その直線Ｌ２とｘ軸との交点の値ｘ１を、求めるべき間引閾値ＭＨとすることができる。
〔展開処理〕
展開処理においては、まず、符号表ＦＴ１に基づいて圧縮データＤ２を復号することによって間引済データＥＤを復元する。
【０１９３】
その間引済データＥＤから各区画領域ＴＬの擬似階調画像データＤ１を復元するにあたって、注目領域ＴＬに着目した場合に、注目領域ＴＬについての間引済データＥＤに切替フラグが含まれている場合は、その間引済データＥＤから擬似階調画像ドットパターンを抽出し、それを注目領域ＴＬのドットパターンとする。
【０１９４】
注目領域ＴＬについての間引済データＥＤに切替フラグが含まれていない場合は、その間引済データＥＤから代表値差分を抽出し、それによって注目領域ＴＬの代表値を求める。圧縮データＤ２に係る擬似階調画像データＤ１を生成する際の擬似階調化に使用されるディザパターンと求めた代表値とを用いて注目領域ＴＬのドットパターンを生成する。なお、ディザパターンは、展開処理が行われるプリンタ１３のメモリなどに予め保存しておいてもよいし、圧縮データＤ２とともにそれに対応するディザパターンがコンピュータ本体１１から送信されるようにしてもよい。
【０１９５】
注目領域ＴＬの代表値は、注目領域ＴＬの直前の区画領域ＴＬの代表値とこの代表値差分との和をとることによって求めることができる。なお、直前の区画領域ＴＬのドットパターンの復元に代表値が用いられなかった、すなわち間引済データＥＤに含まれる擬似階調画像ドットパターンによってドットパターンが復元された場合は、その区画領域ＴＬの代表値は、「０」であったものとして計算する。従って、この場合、注目領域ＴＬの代表値は、代表値差分そのものとなる。なお、間引処理の際に、不一致ドット数が間引閾値ＭＨ以下であると判定された区画領域ＴＬについては、その区画領域ＴＬのドットパターンが代表値によって近似的に復元される。
【０１９６】
以上のような処理を全ての区画領域ＴＬに対して行うことにより、擬似階調画像データＤ１全体のドットパターンを生成する。
〔フローチャートによる説明〕
図２９はモデル化処理の流れを説明するためのフローチャート、図３０は間引閾値決定処理の流れを説明するためのフローチャート、図３１は間引処理の流れを説明するためのフローチャート、図３２は第二の実施例における展開の処理の流れを説明するためのフローチャートである。次に、図２９のフローチャートを参照して、本実施例におけるモデル化処理の流れについて説明する。
【０１９７】
図２９において、まず、圧縮対象の画像データＦＤを擬似階調化する際に用いるディザパターンＤＰを読み込む（＃４０１）。圧縮する画像データＦＤを所定の領域ごとに区画する（＃４０２）。モデル化処理を行う区画領域ＴＬを読み込む（＃４０３）。ステップ＃４０１で読み込んだディザパターンＤＰを用いて生成される区画領域ＴＬの擬似階調画像ドットパターンのドットの個数を数え、その個数をその区画領域ＴＬの代表値として決定する（＃４０４）。決定した代表値および所定の補間ルールを適用して仮想階調画像を生成し、ステップ＃４０１で読み込んだディザパターンＤＰを用いてその仮想階調画像を擬似階調化することでその区画領域ＴＬのドットパターンを再現する（＃４０５）。
【０１９８】
再現したドットパターンとその区画領域ＴＬの擬似階調画像ドットパターンとを比較し両者が一致した場合は（＃４０６で「一致」）、ステップ＃４０４で決定した代表値をこの区画領域ＴＬのモデル化データＭＤとして保存する（＃４０７）。不一致ドット数が「０」である区画領域ＴＬの個数を１つ追加するように統計データＴＫを更新する（＃４０８）。
【０１９９】
再現したドットパターンとその区画領域ＴＬの擬似階調画像ドットパターンとが一致しなかった場合は（＃４０６で「不一致」）、一致しなかったドットの個数である不一致ドット数を数える（＃４０９）。さらに、ステップ＃４０４で求めた代表値、ステップ＃４０７で求めた不一致ドット数、この区画領域ＴＬにおける擬似階調画像ドットパターン、および切替フラグをこの区画領域ＴＬのモデル化データＭＤとして保存する（＃４１０）。ステップ＃４０８で算出した不一致ドット数である区画領域ＴＬの個数を１つ追加するように統計データＴＫを更新する（＃４０８）。
【０２００】
まだモデル化処理を行なっていない区画領域ＴＬがある場合は（＃４１１で「Ｎｏ」）、そのような区画領域ＴＬについてステップ＃４０３以降の処理を繰り返す。
【０２０１】
全ての区画領域ＴＬについてモデル化処理が完了した場合は（＃４１１で「Ｙｅｓ」）、モデル化処理を終了する。
【０２０２】
次に、図３０のフローチャートを参照して、本実施例における間引閾値決定処理の流れについて説明する。
【０２０３】
図３０において、目標データ量ＧＬを読み込む（＃４２１）。モデル化処理において生成したモデル化データＭＤから、間引閾値ＭＨを「０」とした場合における圧縮データＤ２の合計のデータ量を試算する（＃４２２）。
【０２０４】
試算したデータ量が目標データ量ＧＬよりも小さかった場合は（＃４２３で「Ｙｅｓ」）、間引閾値ＭＨを「０」に決定する（＃４２４）。
【０２０５】
試算したデータ量が目標データ量ＧＬ以上であった場合は（＃４２３で「Ｎｏ」）、統計データＴＫを参照し（＃４２５）、間引閾値ＭＨを１つ増やした場合における圧縮データＤ２を試算する（＃４２６）。
【０２０６】
試算したデータ量が目標データ量ＧＬよりも小さかった場合は（＃４２７で「Ｙｅｓ」）、試算に用いた間引閾値ＭＨを実際の間引処理に用いる間引閾値ＭＨとして決定する（＃４２８）。
【０２０７】
ステップ＃４２６で試算したデータ量が目標データ量ＧＬ以上であった場合は（＃４２７で「Ｎｏ」）、ステップ＃４２５以降の処理を繰り返す。
【０２０８】
次に、図３１のフローチャートを参照して、本実施例における間引処理の流れについて説明する。なお、ここでは、この間引処理の中で符号化を行なうものとする。
【０２０９】
図３１において、一領域分のモデル化データＭＤを読み込む（＃４４１）。そのモデル化データＭＤに切替フラグが示されていない場合は（＃４４２で「Ｎｏ」）、そのモデル化データＭＤに示される代表値を符号化すると決定する（＃４４３）。さらに、その代表値と直前に処理された区画領域ＴＬの代表値との差分値を求め、それを符号化する（＃４４４）。
【０２１０】
ステップ＃４４１においてモデル化データＭＤに切替フラグが示されている場合は（＃４４２で「Ｙｅｓ」）、そのモデル化データＭＤに示される不一致ドット数と間引閾値ＭＨとを比較する（＃４４５）。
【０２１１】
不一致ドット数が間引閾値ＭＨ以下である場合は（＃４４５で「Ｙｅｓ」）、ステップ＃４４３以降の処理を行なう。
【０２１２】
不一致ドット数が間引閾値ＭＨより大きい場合は（＃４４５で「Ｎｏ」）、モデル化データＭＤに示される擬似階調画像ドットパターンを符号化すると決定する（＃４４６）。擬似階調画像ドットパターンおよび切替フラグを符号化する（＃４４７および＃４４８）。
【０２１３】
まだ間引済処理を行なっていない区画領域ＴＬがある場合は（＃４４９で「Ｎｏ」）、そのような区画領域ＴＬについてステップ＃４４１以降の処理を繰り返す。
【０２１４】
全ての区画領域ＴＬについて間引処理が完了した場合は（＃４４９で「Ｙｅｓ」）、処理を終了する。
【０２１５】
このようにして生成された圧縮データＤ２は、コンピュータ本体１１からプリンタ１３に送信され、プリンタ１３で展開される。
【０２１６】
次に、図３２のフローチャートを参照して、本実施例における展開の処理の流れについて説明する。
【０２１７】
展開処理において、まず、圧縮データＤ２を符号表ＦＴ１に基づいて復号し、間引済データＥＤを復元する（＃４６１）。間引済データＥＤに切替フラグが含まれている区画領域ＴＬについては（＃４６２で「Ｙｅｓ」）、その間引済データＥＤに含まれる擬似階調ドットパターンを用いて擬似階調画像データＤ１を復元する（＃４６３）。
【０２１８】
間引済データＥＤに切替フラグが含まれていない区画領域ＴＬについては（＃４６２で「Ｎｏ」）、その間引済データＥＤに含まれる代表値導出値から代表値を求め、その代表値とディザパターンＤＰとを用いて擬似階調画像データＤ１を復元しまたは近似的に復元する（＃４６４）。
【０２１９】
全ての区画領域ＴＬについての擬似階調画像データＤ１の復元が完了していない場合は（＃４６５で「Ｎｏ」）、ステップ＃４６２以降の処理を繰り返す。
【０２２０】
全ての区画領域ＴＬについての擬似階調画像データＤ１の復元が完了した場合は（＃４６５で「Ｙｅｓ」）、処理を終了する。この後、プリンタ１３は、復元されたまたは近似的に復元された擬似階調画像データＤ１に基づいて印刷を実行する。
【０２２１】
なお、上記のフローチャートにおいて、図２９のステップ＃４０２が請求項２２および２３の「第１のステップ」に対応し、図２９のステップ＃４０５が「第２のステップ」に対応し、図３０のステップ＃４２８が「第３のステップ」に対応し、図３１のステップ＃４４３が「第４のステップ」に対応し、図３１のステップ＃４４４が「第５のステップ」に対応する。
【０２２２】
本実施例によれば、データ量が、モデル化処理において１／２から１／１０程度に削減され、間引処理において１／１０から１／２００程度に削減される。間引処理において削減されるデータ量は、間引閾値ＭＨによって調整される。そして、圧縮対象の画像データＦＤは、目標データ量ＧＬ未満で且つそれに近いデータ量となるように圧縮される。これによって、圧縮後のデータ量が目標データ量ＧＬ未満となる場合の最良の画質を確保でき、圧縮性能が保たれる。
【０２２３】
ところで、従来の画像データの圧縮方法では、圧縮後のデータ量が目標データ量よりも小さくなるようにするために、最適な圧縮パラメータ（間引閾値ＭＨ）を求めるための試験的な圧縮処理を行う。または、データ量が目標データ量よりも小さくなるまで、適宜圧縮パラメータを変更しながら圧縮と展開を繰り返す。いずれにしても、このような従来の方法では、圧縮処理の過程で生成されるデータおよび元の画像データの双方を保持するためのメモリ領域を確保する必要がある。
【０２２４】
しかし、本実施例によれば、モデル化データＭＤに基づいてデータ量が試算され、それによって間引閾値ＭＨが決定される。また、最終的に生成すべき圧縮データＤ２は、モデル化データＭＤから間引済データＥＤを経て生成される。従って、モデル化データＭＤを保持するだけで、目標データ量ＧＬ内にデータ量を抑える圧縮処理を実現でき、従来のように余分にメモリ領域を確保する必要がない。しかも、多くの場合において、モデル化データＭＤのデータ量は画像データＦＤまたは擬似階調画像データＤ１よりもかなり小さくなる。これらのような理由から、圧縮処理で必要とするメモリ領域を、従来よりも大幅に削減できる。
【０２２５】
さらに、モデル化処理から間引処理を経て圧縮データＤ２が生成される過程で、保持すべきデータ量が、処理が進むにつれて小さくなっていく。従って、メモリ領域を節約する上でさらに好ましい。
【０２２６】
また、間引閾値ＭＨは、圧縮データＤ２のデータ量を試算することによって即座に求められる。このデータ量は、簡単な計算処理によって試算される。従って、本実施例の圧縮方法を用いれば、従来よりも高速に処理することができる。
【０２２７】
また、本実施例においては、間引処理の時点でも十分な圧縮率を得ることができるので、符号化処理を省いても圧縮後のデータ量を目標データ量ＧＬ未満に抑えることは可能である。このように、符号化処理を省いて、モデル化処理および間引処理の２段階の圧縮とすることでさらに処理効率を上げることもできる。
【０２２８】
本実施例においては、間引処理によって最もデータが間引かれない場合の間引閾値ＭＨを初めに用いて圧縮データＤ２のデータ量を試算した。そして、そこから間引閾値ＭＨの値を段階的に増やしていき、試算したデータ量が目標データ量ＧＬ未満となるような間引閾値ＭＨを求めた。これを、ある程度の画質劣化を許容する間引閾値ＭＨを初めに用いるようにし、そこから間引閾値ＭＨを段階的に増やしていくようにしてもよい。こうすることによって、圧縮データＤ２のデータ量が目標データ量ＧＬ未満となる間引閾値ＭＨをより早く見つけることができるようになり、処理時間を短くすることができる。目標データ量ＧＬが低めに設定されている場合には特に有効である。
【０２２９】
本実施例の間引処理においては、間引閾値ＭＨに基づいて、必要な情報とそうでないものとを判断して取捨選択することによりデータ量を削減した。従って、このような処理を「取捨選択処理」と呼ぶことができる。そのような処理に使用される間引閾値ＭＨを「判断基準値」と呼ぶことができる。
【０２３０】
また、間引閾値決定処理においては、間引閾値ＭＨを決定することによって、圧縮による画質の劣化をどの程度許容するのか、すなわちどの程度の精度で画像データが復元されるのかを決定する。従って、このような処理を「精度決定処理」と呼ぶことができる。
【０２３１】
本実施例では、モデル化データＭＤなどの各データが生成される際に、生成の元となったデータをメモリ領域から破棄するようにした。しかし、メモリ容量が大きく、空きのメモリ領域を十分に確保できる場合は、破棄しないようにしてよい。
【０２３２】
本実施例では、圧縮データＤ２のデータ量を試算することによって間引閾値ＭＨを求める場合の例を示した。これを、間引済データＥＤのデータ量を試算することによって求めるようにしてもよい。
【０２３３】
本実施例においては、説明を簡単にするために、モデル化処理、間引処理、および符号化処理というように圧縮処理を段階的に分けて説明した。これを、本発明の趣旨に沿って、適宜、各処理の内容を変更しまたは統合することが可能である。
【０２３４】
また、本実例においてモデル化データＭＤなどの各種データは、画像データＦＤ全体に対して生成されたデータを示す場合あれば、区画領域ＴＬに対応する個々の部分のデータを示す場合もある。
【０２３５】
本実施形態では、画像データＦＤに対して区画領域ＴＬ単位に各処理を行うようにした。これを、区画領域ＴＬを一行分連ねた領域であるバンド単位に行うようにしてもよい。このように、区画領域ＴＬ単位またはバンド単位に処理を施すので、プリンタ１３においては、バンド単位の印刷についての処理であるバンド処理が可能となる。
【０２３６】
また、本実施形態の圧縮処理をプリンタ１３において行うようにしてもよい。こうすることで、例えば、コピー機能を有する機種においては、コピーの際に読み取った原稿のデータに本実施形態の圧縮方法を適用することができるようになる。
【０２３７】
その他、コンピュータ本体１１、プリンタ１３、およびプリントシステム１の全体または各部の構成、機能、個数、ビット数、データ量の試算方法、処理の内容または順序などは、本発明の趣旨に沿って適宜変更することができる。
【産業上の利用可能性】
【０２３８】
本発明は、ラスタプリンタやＧＤＩプリンタなどを含んだプリントシステムにおいて、階調画像データを圧縮してプリンタに転送するための圧縮方法として利用可能である。
【図面の簡単な説明】
【０２３９】
【図１】本発明に係るプリントシステムの全体構成を示す図である。
【図２】プリントシステムにおける画像データの流れを示すフローチャートである。
【図３】コンピュータ本体の機能的な構成を示すブロック図である。
【図４】プリンタの機能的な構成を示すブロック図である。
【図５】コンピュータ本体の圧縮処理の概略を示すフローチャートである。
【図６】コンピュータ本体の圧縮データ作成部の機能を示すブロック図である。
【図７】区画された領域を説明するための図である。
【図８】領域とディザパターンの例を示す図である。
【図９】各領域における代表値の位置の例を示す図である。
【図１０】代表値の求め方を説明するための図である。
【図１１】圧縮処理の他の例の概略を示すフローチャートである。
【図１２】復元処理の例の概略を示すフローチャートである。
【図１３】４値画像データの代表値の求め方を説明するための図である。
【図１４】４値画像データを説明するための図である。
【図１５】画素値が代表値に等しい補間ルールを説明するための図である。
【図１６】圧縮処理の他の例の概略を示すフローチャートである。
【図１７】復元処理の他の例の概略を示すフローチャートである。
【図１８】代表値の求め方の他の例を説明するための図である。
【図１９】第二の実施例の圧縮処理を説明するためのフローチャートである。
【図２０】第二の実施例の圧縮処理の概略を示すフローチャートである。
【図２１】第二の実施例におけるプリントシステムの機能的構成の例を示す図である。
【図２２】領域ＴＬとディザパターンの例を示す図である。
【図２３】再現ドットパターンの例を示す図である。
【図２４】第二の実施例におけるモデル化データの例を示す図である。
【図２５】代表値差分についての符号表の例を示す図である。
【図２６】循環整数を説明するための図である。
【図２７】統計データの例を示す図である。
【図２８】間引閾値と圧縮データのデータ量との関係を示す図である。
【図２９】モデル化処理の流れを説明するためのフローチャートである。
【図３０】間引閾値決定処理の流れを説明するためのフローチャートである。
【図３１】間引処理の流れを説明するためのフローチャートである。
【図３２】第二の実施例における展開の処理の流れを説明するためのフローチャートである。
【符号の説明】
【０２４０】
１  プリントシステム
１１  コンピュータ本体（画像データの圧縮装置、画像データ圧縮装置）
１３  プリンタ（画像データ圧縮装置）
１００  圧縮データ作成部
３００  データ復元部
＃２２  第１の手段
＃２３  第２の手段
＃２４  第３の手段
＃２６  第４の手段
ＦＤ  画像データ（階調画像データ）
Ｄ１  ２値画像データ（擬似階調画像）
Ｄ１Ｋ  擬似階調画像
Ｄ２  圧縮データ
Ｄ５  ４値画像データ（擬似階調画像）
ＤＰ  ディザパターン
ＬＡ  直線（仮想階調画像）
ＬＢ  直線（仮想階調画像）
ＴＬ  領域（注目領域）
ａ  代表値
ＡＰ  代表値
ＨＲ  補間ルール
３０７  領域区画部（区画手段）
３０８  モデル化データ生成部（モデル化手段）
３０９  間引閾値決定部（間引閾値決定手段）
３１０  間引処理部（間引手段）
３１１  符合化部（圧縮データ生成手段）
３１２  圧縮画像データ送信部（データ出力手段）
ＡＮ  不一致ドット数（不一致値）
ＡＲ  擬似階調画像ドットパターン（第一ドットパターン）
Ｄ１  擬似階調画像データ（画像データ）
ＥＤ  間引済データ
ＧＬ  目標データ量
ＭＤ  モデル化データ
ＭＨ  間引閾値（判断基準値）
【図１】
2007306513.tif 000003
【図２】
2007306513.tif 000004
【図３】
2007306513.tif 000005
【図４】
2007306513.tif 000006
【図５】
2007306513.tif 000007
【図６】
2007306513.tif 000008
【図７】
2007306513.tif 000009
【図８】
2007306513.tif 000010
【図９】
2007306513.tif 000011
【図１０】
2007306513.tif 000012
【図１１】
2007306513.tif 000013
【図１２】
2007306513.tif 000014
【図１３】
2007306513.tif 000015
【図１４】
2007306513.tif 000016
【図１５】
2007306513.tif 000017
【図１６】
2007306513.tif 000018
【図１７】
2007306513.tif 000019
【図１８】
2007306513.tif 000020
【図１９】
2007306513.tif 000021
【図２０】
2007306513.tif 000022
【図２１】
2007306513.tif 000023
【図２２】
2007306513.tif 000024
【図２３】
2007306513.tif 000025
【図２４】
2007306513.tif 000026
【図２５】
2007306513.tif 000027
【図２６】
2007306513.tif 000028
【図２７】
2007306513.tif 000029
【図２８】
2007306513.tif 000030
【図２９】
2007306513.tif 000031
【図３０】
2007306513.tif 000032
【図３１】
2007306513.tif 000033
【図３２】
2007306513.tif 000034