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