(57)【要約】【課題】  構造上の変化が少ない画像符号化手法を適応的に選択して符号化することができ、違和感の無い自然な２値画像を復号することが可能な符号化データを生成することができる。【解決手段】  入力された２値画像データは第１の符号化部１３００、第２の符号化部１４００で非可逆符号化される。第１の復号部１３５０は、第１の符号化部１３００からの符号化データを復号し、第２の復号部１４５０は、第２の符号化部１４００からの符号化データを復号する。距離変換部１５００−１乃至３は、入力した２値画像データを距離変換する。評価部１６００は、距離値変換部１５００−１乃至３で得られた距離変換結果に従い、画像劣化の少ない符号化データを生成したのがいずれであるかを判定し、その判定結果を示す信号を選択部１７００に出力する。選択部１７００は、画質劣化の少ないとして指定された符号化データと、それを生成した符号化部を特定する情報とを出力する。【選択図】  図４
2012049646.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化し、符号化データを生成する画像符号化装置であって、
２値画像データを入力する入力手段と、
前記入力手段で入力した２値画像データを非可逆符号化する、互いに異なる種類の第１乃至第ｎの符号化手段（ｎは２以上の整数）と、
前記第１乃至第ｎの符号化手段で生成された、それぞれの符号化データを復号する第１乃至第ｎの復号手段と、
２値画像データの中の着目画素の画素値とは異なる値を持つ画素のうち、前記着目画素から最も近い画素までの距離を前記着目画素の距離値として算出することを、前記２値画像データの全画素について実行し、前記２値画像データから前記距離値を画素値として持つ画像データに変換する変換手段と、
前記入力手段で入力した２値画像データを前記変換手段で変換して得られた画像データを参照画像データＸとし、前記第ｉの復号手段（ｉは１乃至ｎのいずれか）で得られた２値画像データを前記変換手段で変換して得られた画像データを画像データＹｉとしたとき、前記参照画像データＸと前記画像データＹｉの同じ画素位置どうしの差分の和を算出することで、第ｉの符号化手段が生成する符号化データの画質劣化の指標値を算出する算出手段と、
前記１乃至第ｎの符号化手段のそれぞれの画質劣化の指標値を前記算出手段で算出させ、最も小さい指標値となった符号化手段が生成した符号化データ、及び、前記最も小さい指標値となった符号化手段を特定する情報を、前記入力手段が入力した２値画像データの符号化結果として出力する出力手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記算出手段は、
前記参照画像データＸの画素位置（x，y）の画素値をＸ（x，y）とし、
前記画像データＹｉの画素位置（x，y）の画素値をＹｉ（x，y）としたとき、
Σ｜Ｘ（x，y）−Ｙｉ（x，y）｜
或いは、
Σ｛Ｘ（x，y）−Ｙｉ（x，y）｝2
を、前記第ｉの符号化手段が生成する符号化データの画質劣化の指標値として算出することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記変換手段は、前記着目画素の値に応じて、正又は負の符号を、算出した距離に付加することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
更に、符号化対象の２値画像データを、予め設定したサイズのブロックに分割する分割手段とを有し、
前記入力手段は、前記分割手段で分割して得られたブロック単位に２値画像データを入力することを特徴とする請求項１乃至３のいずれか１項に記載の画像符号化装置。
【請求項５】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至４のいずれか１項に記載の画像符号化装置が有する手段として機能させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを格納したことを特徴とするコンピュータが読み込み可能な記憶媒体。
【請求項７】
画像データを符号化し、符号化データを生成する画像符号化装置の制御方法であって、
入力手段が、２値画像データを入力する入力工程と、
第１乃至第ｎ（ｎは２以上の整数）の符号化手段が、前記入力工程で入力した２値画像データを非可逆符号化する、互いに異なる種類の第１乃至第ｎの符号化工程と、
第１乃至第ｎの復号手段が、前記第１乃至第ｎの符号化工程で生成された、それぞれの符号化データを復号する第１乃至第ｎの復号工程と、
変換手段が、２値画像データの中の着目画素の画素値とは異なる値を持つ画素のうち、前記着目画素から最も近い画素までの距離を前記着目画素の距離値として算出することを、前記２値画像データの全画素について実行し、前記２値画像データから前記距離値を画素値として持つ画像データに変換する変換工程と、
前記入力工程で入力した２値画像データを前記変換工程で変換して得られた画像データを参照画像データＸとし、前記第ｉの復号工程（ｉは１乃至ｎのいずれか）で得られた２値画像データを前記変換工程で変換して得られた画像データを画像データＹｉとしたとき、算出手段が、前記参照画像データＸと前記画像データＹｉの同じ画素位置どうしの差分の和を算出することで、第ｉの符号化工程が生成する符号化データの画質劣化の指標値を算出する算出工程と、
出力手段が、前記１乃至第ｎの符号化工程のそれぞれの画質劣化の指標値を前記算出工程で算出させ、最も小さい指標値となった符号化工程が生成した符号化データ、及び、前記最も小さい指標値となった符号化工程を特定する情報を、前記入力工程が入力した２値画像データの符号化結果として出力する出力工程と
を有することを特徴とする画像符号化装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データ、特に２値画像データの符号化技術に関するものである。
【背景技術】
【０００２】
従来、ビットマップ画像は情報量が多い事からメモリ容量や通信帯域の節約を目的として、ＪＰＥＧを始めとする種々の符号化手法が提案されてきた。これらの多くは非可逆圧縮であるため、符号化により画質は劣化する。２値画像に関しても同様に種々の符号化手法が提案されている。例えばランレングス符号化やＭＭＲ符号化を利用した手法（特許文献１を参照）やＪＢＩＧ２などが知られている。
【０００３】
ランレングス符号化では例えばラスタ順に同じ値が連続する画素の数を所定の符号語に置き換える。これにより、文書の余白部などでは白画素が連続するため高い圧縮率で符号化できる。ＭＭＲでは、更に二次元的な相関を利用して符号化する。これにより、ラスタ順に走査したのでは推測し得ない縦線なども効率的に符号化できる。たとえば帳票などは水平方向および垂直方向の直線が多いため有効である。
【０００４】
ＪＢＩＧ２ではブロックごとのパターンマッチングを用いて符号化する。例えば英文で書かれた文書などは出現する文字の種類が少ないため、同じようなパターンが多い。これにより、大幅な情報量の削減が可能である。上記手法はいずれも、符号化しようとする画像データに対して、無条件に自身のアルゴリズムに従って符号化を行う。そのため符号化効率は画像に大きく依存し、例えば帳票をスキャンした２値画像であればＭＭＲ符号化などが適するが、英文書であればＪＢＩＧ２の方が適している場合などがあり得る。逆に、適していない符号化手法を適用すると、特に高圧縮率で非可逆圧縮する場合は画質に大きな劣化をもたらし得る。
【０００５】
これに対して、例えば特許文献２には文字用予測と写真用予測とを適応的に切り換える事で圧縮率の向上を図る方法が開示されている。かかる技術では、符号化によって値が変わる画素の数(変化点数)によって上記切り替えを行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許２００２−７７６３３号公報
【特許文献２】特開平６−０３０２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に，自然画をハーフトーン処理により２値化したような画像では，局所的な濃度が保存されれば見た目上の劣化は少ない。よって上記特許文献２のように変化点数を低くすれば良好な結果が得られる。しかし文字や線画が多い文書画像などでは，例えば「点と線がくっついているかどうか」などの構造(ドットのつながり方)が大きな意味を持つ。すなわち，濃度が変化しているかどうかよりも、ドットの構造が変化しているかどうかが重要となってくる。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、構造上の変化が少ない画像符号化手法を適応的に選択して符号化することができ、違和感の無い自然な２値画像を復号することを可能ならしめる符号化技術を提供しようとするものである。
【課題を解決するための手段】
【０００９】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化し、符号化データを生成する画像符号化装置であって、
２値画像データを入力する入力手段と、
前記入力手段で入力した２値画像データを非可逆符号化する、互いに異なる種類の第１乃至第ｎの符号化手段（ｎは２以上の整数）と、
前記第１乃至第ｎの符号化手段で生成された、それぞれの符号化データを復号する第１乃至第ｎの復号手段と、
２値画像データの中の着目画素の画素値とは異なる値を持つ画素のうち、前記着目画素から最も近い画素までの距離を前記着目画素の距離値として算出することを、前記２値画像データの全画素について実行し、前記２値画像データから前記距離値を画素値として持つ画像データに変換する変換手段と、
前記入力手段で入力した２値画像データを前記変換手段で変換して得られた画像データを参照画像データＸとし、前記第ｉの復号手段（ｉは１乃至ｎのいずれか）で得られた２値画像データを前記変換手段で変換して得られた画像データを画像データＹｉとしたとき、前記参照画像データＸと前記画像データＹｉの同じ画素位置どうしの差分を算出することで、第ｉの符号化手段が生成する符号化データの画質劣化の指標値を算出する算出手段と、
前記１乃至第ｎの符号化手段のそれぞれの画質劣化の指標値を前記算出手段で算出させ、最も小さい指標値の元になった符号化データ、及び、当該符号化データを生成した符号化手段を特定する情報を、前記入力手段が入力した２値画像データの符号化結果として出力する出力手段とを備える。
【発明の効果】
【００１０】
本発明によれば、構造上の変化が少ない画像符号化手法を適応的に選択して符号化することができ、違和感の無い自然な２値画像を復号することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態における距離変換の一例を説明する図。
【図２】第１の実施形態における画質劣化の一例を説明する図。
【図３】第１の実施形態における画質劣化の一例を説明する図。
【図４】第１の実施形態における画像符号化装置の構成例を説明する図。
【図５】第２の実施形態における画像符号化装置の構成例を説明する図。
【図６】第１の実施形態をソフトウェアで実現させるための処理手順を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１３】
［第１の実施形態］
２値画像データを非可逆符号化した場合、符号化の種類が非可逆符号化であるから、それを復号して得られる２値画像はオリジナルの２値画像に一致せず、一般にこのような現象をオリジナル画像に対して画質が劣化するという。近傍からの予測が難しい画素や高周波成分に起因する画素は、符号化手法次第で画素値が変わってしまう事がある。例えば領域の境界がずれたり、点や細線が消失したりする事がある。そこで、本実施形態では、複数の符号化手法の画質劣化を評価し、劣化の少ない符号化手法を選択する事で画質劣化を最小限に抑える。
【００１４】
文字画像などでは、ドットの構造が変わるような画質劣化は重大な情報の損失となり得、主観画質への影響が大きい。このような構造の変化を捉える手段として本発明では距離変換を用いる。すなわち、複数の符号化結果の中から、距離変換により構造の変化が少ない符号化手法を選択する。
【００１５】
簡単のため、水平、垂直方向とも８画素の２値画像を例にして、画質劣化を説明する。今、図１（Ａ）に示すオリジナル画像を或るアルゴリズムに従って符号化した符号化データを、そのアルゴリズムに従って復号した結果、図２（Ａ）のような２値画像が得られたとする。同様に、異なるアルゴリズムの画像符号化技術で符号化し、更に復号した結果、図３（Ａ）のような２値画像が得られたとする。図２（Ａ）、図３（Ａ）の復号画像のいずれもが、オリジナルの図１（Ａ）の２値画像の２つの黒画素が白画素へと変わっている。すなわち、図１（Ａ）と図２（Ａ）の差分絶対値和、および図１（Ａ）と図３（Ａ）の差分絶対値和は同値である。しかしながら孤立した点が消失している図３（Ａ）の方が劣化が目立つ。一方、図２（Ａ）のような場合、黒領域（もしくは白領域）の境界が少しずれるような場合は、オリジナル画像との差は視認され難い。つまり、図１（Ａ）の画像の場合、復号結果が図３（Ａ）となる符号化が適してると言える。
【００１６】
本実施形態での距離変換では、ある画素の画素値を、その画素とは反対の画素値を持つ最寄りの画素（以降、最近傍逆画素と呼ぶ）までのユークリッド距離に変換する。ただし、元の画素値が“１”の画素は正とし、“０”の画素は負とする。なお、画像端部については画像内のみから最近傍逆画素を探す事とする。
【００１７】
なお、符号化しようとする２値画像の全画素が“１”（又は０”）である場合、その画像内で、自身の画素値と反対の画素値を持つ画素を探し出すことはできない。このような場合、画像の境界よりも１つ外に反対の値を持つ境界外画素が仮想的に並んでいるものとし、着目画素から最も遠い境界外画素までの距離をそのユークリッド距離として扱うものとする。ただし、符号化しようとする２値画像の全画素が同じである場合には、単に画像の水平、垂直のサイズと、画素の値だけでその画像が再現（復号）できる。従って、以下では、符号化しようとする２値画像には異なる画素値が含まれるものとして説明する。
【００１８】
図１（Ｂ）は、図１（Ａ）の２値画像データの距離変換結果を示している。水平右方向をｘ座標、垂直下方向をｙ座標とし、左上隅の画素の位置を（０，０）とし、その画素を画素（０，０）と表現する。
【００１９】
今、画素（０，１）（２行め、左端の画素）を着目画素すると、その着目画素の画素値は“１”である。従って、着目画素とは異なる画素値を持ち、着目画素に最も近い「最近傍逆画素」の位置は（０，２）であるから、着目画素（０，１）のユークリッド距離は“１．０”である。ここで、着目画素（０，１）の画素値は“１”であるので、距離変換後の着目画素の画素値は“１．０”となる。
【００２０】
一方、画素（４，４）（５行め、左から５画素目）に着目してみる。この場合、着目画素（４，４）は“０”であるので、画素値“１”を持つ最近傍逆画素の座標は（６，４）となる。従って、この場合の着目画素（４，４）から最近傍逆画素（６，４）までの距離は“１．４”（正確には√２であるが、実施形態では小数点以下第１位までを有効桁とする）である。また、着目画素の画素値は“０”であるので、この場合の着目画素の距離変換後の画素値は“−１．４”となる。尚、演算速度を高めるため、整数演算にするのであれば、水平（もしくは垂直）に隣接する２画素の間の距離を“１０”とすれば、上記と同等の精度で距離を演算できる。
【００２１】
上記と同様な処理に、図２（Ａ）に対して距離変換した結果を示すのが図２（Ｂ）であり、図３（Ａ）に対して距離変換した結果を示すのが図３（Ｂ）である。図１（Ｂ）と、図２（Ｂ）、図３（Ｂ）とを比較すると、図１（Ｂ）の値と近いのは図２（Ｂ）であり、図３（Ｂ）はその値が大きく異なっている。これは本実施形態の距離変換により、点や線の消失など構造が変化する劣化に対しては値が大きく変化し、白黒境界のずれといった目立ち難い劣化に対してはあまり値が変化しないためである。
【００２２】
すなわち、符号化前と符号化後との距離変換結果の類似度を評価すれば、符号化による画質劣化の指標を得られることとなる。換言すれば、符号化前後で距離変換結果が類似していれば構造上の変化は少なく、類似していなければ大きな構造上の変化があったと考えられる。
【００２３】
また、元の画素値に応じて距離値に正負の符号を切り替える事で、両方の画素値を同時に評価できる。更に、例えば図２の画素（５、３）のように画素値が変わってるのにも関わらず距離が変わらない場合であっても差異を検出できる。
【００２４】
本実施形態では、図２（Ｂ）と図１（Ｂ）における同じ画素位置の画素値（距離値）どうしの差分絶対値和を、図２（Ａ）の画質劣化の指標値として算出する。また、図３（Ｂ）と図１（Ｂ）における同じ画素位置の画素値どうしの差分絶対値和を、図３（Ａ）の画質劣化の指標値として算出する。
【００２５】
そして、算出した指標値の小さい方が画質劣化が少ないものと判定し、その符号化データを符号化対象の符号化結果として採用する。なお、上記の例では、２種類の符号化技術のうち、いずれか一方を選択することになるので、符号化種別を示す識別情報は１ビットあれば良い。この識別ビットに後続して、符号化データを並べて出力する。なお、上記の例では、２種類の符号化技術のうち、いずれか一方を選択することになるので、符号化種別を示す識別情報は１ビットあれば良い。この識別ビットに後続して、符号化データを並べて出力する。
【００２６】
上記を一般化して示すと次の通りとなる。ここでは符号化部として第１乃至第ｎの符号化部（ｎは２以上の整数）、及び、第１乃至第ｎの復号部、第１乃至第ｎの距離変換部を有するものとする。先ず、オリジナルの符号化対象の２値画像データを距離変換し、距離値を画素値とする画像データを参照画像データＸ（距離変換部１５００−２の出力）とし、その中の画素位置（x，y）の画素値をＸ（x，y）と表わす。そして、第ｉの復号部（ｉは１乃至ｎのいずれか）で復号した２値画像データを距離変換し、距離値を画素値として有する画像データＹｉを生成し、その中の画素位置（x，y）の画素値をＹｉ（x，y）としたとき、
Σ｜Ｘ（x，y）−Ｙｉ（x，y）｜
を算出する。そして、この算出した値を第ｉの符号化部による符号化データの画質劣化の指標値として算出する。そして、これをｎ回行い、算出した指標値の最も小さいものが画質劣化が少ないものと判定し、その符号化データを、入力した２値画像データの符号化結果として出力する。このとき、いずれの符号化部で符号化したものであるかを特定するための情報を合わせて出力する。
【００２７】
図４は、本第１の実施形態における具体的な画像符号化装置１００のブロック構成図を示している。ここで、入力画像１１００は２値画像データである。入力画像１枚ごとに適切な符号化手法を選択する事とする。
【００２８】
画像符号化装置１００は第１の符号化部１３００および第２の符号化部１４００を具備する。これらは入力した画像１１００を、それぞれのアルゴリズムに従って非可逆符号化する。第１の復号部１３５０は第１の符号化部１３００で生成された符号化データを復号し、２値画像を得る。同様に、第２の復号部１４５０は第２の符号化部１４００で生成された符号化データを復号し、２値画像を得る。なお、第１の符号化部１３００および第２の符号化部１４００で実行する符号化手法は、互いにアルゴリズムが異なれば良いので本発明では特に限定しない。例えば第１の符号化部１３００はサブサンプリングした２値画像をランレングス符号化したもの、第２の符号化部１４００はコードブックのパターンと比較し最も誤差の少ないパターンのインデックス（コード）に変換するベクトル符号化等を用いても良い。あるいは、圧縮率を高めるために２値画像データを間引いた後にランレングス符号化する方法を用い、第１の符号化部１３００では１ライン毎に間引いた画像を用い、第２の符号化部１４００では１カラム毎に間引いた画像を用いてもよい。あるいは、例えば圧縮率を高めるため、第１の符号化部１３００と第２の符号化部１４００とで異なる方式の孤立点除去を行った後にランレングス符号化する方法などの前処理を異なるようにしても良い。
【００２９】
距離変換部１５００−１は、第１の復号部１３５０で生成（復号）された２値画像を対して距離変換を実行する。距離変換部１５００−２は、入力画像１１００に対して距離変換を実行する。そして、距離変換部１５００−３は、第２の復号部１４５０で生成された２値画像に対して距離変換を実行する。
【００３０】
評価部１６００は、第１の符号化部１３００による画質劣化の指標値Ａとして、距離変換部１５００−２と距離変換部１５００−１との絶対値差分和を求める。また、評価部１６００は、第２の符号化部１４００による画質劣化の指標値Ｂとして、距離変換部１５００−２と距離変換部１５００−３との絶対値差分和を求める。そして、評価部１６００は、指標値Ａ≦Ｂの場合には、第１の符号化部１３００による符号化データの方が画質劣化が少ないと判定し、それ以外の場合には第２の符号化部１４００による符号化データの方が画質劣化が少ないと判定し、その判定結果（実施形態の場合、符号化部は２つの例なので１ビットで良い）を選択部１７００に出力する。選択部１７００は、評価部１６００からの信号に従い、画質劣化が少ないと評価された方の符号化データを出力する。このとき、符号化データの先頭には、いずれの符号化データであるかを示す１ビットの識別データを付加して出力する。
【００３１】
以上説明したように本実施形態によれば、距離変換を用いて画質劣化を評価するので、画質劣化が目立たない方を選択することが可能になる。
【００３２】
なお、上記実施形態では、符号化部の数（種類）の例として２つの例を説明したが、３つ以上であっても構わない。この場合、｛符号化部、復号部、距離変換部｝のセットが、符号化部の数だけ用意すればよいし、評価部１６００は、各指標値の中で最小値となるものを探し出せばよい。また、選択部１７００は、セット数をｎとしたとき、ceiling{ｌｏｇ2n}で表わされるビット数の識別データを、選択した符号化データの先頭に付加すればよい(ceiling{x}は実数ｘに最も近い、小数点を切り上げた整数を返す関数とする）。また、複数の符号化部のうちのいくつかは、同じ符号化手法を違うパラメータで符号化するようにしても構わない。
【００３３】
上記実施形態では、画質劣化のみを評価したが、情報量(符号化データのデータ量)を評価指標に加えて符号化手法を選択しても良い。すなわち情報量と画質とのバランスで符号化手法を選択する事となる。この場合、可逆圧縮を行う符号化部が含ませても構わない。
【００３４】
また、画像の端部に関しては、最近傍逆画素の探索範囲が限られているため、評価しない（原画像との差分を評価値へ加えない）としても良い。端部に近づくにしたがって重みを低くしてもよい。
【００３５】
評価部１６００では、距離変換の類似度の評価（指標値）として、差分絶対値和を用いたが、ほかの手法でも良い。たとえば差分２乗和を用いても良い。また、差が予め設定した閾値以上である画素の数をカウントすることで評価しても良い。
【００３６】
次に、復号について簡単に述べる。復号側では第１の復号化部１３５０および第２の復号化部１４５０と同等の２つの復号部を具備する。符号化データの先頭には先に説明したように、いずれの符号化データであるかを識別するための識別データが付加されているので、これを基に対応する復号部で復号する事で復号結果の２値画像を得る。すなわち、符号化部１３００で符号化されたデータであった場合は、復号化部１３５０と同等の復号化部へ入力する事で復号を行う。符号化部１４００で符号化されたデータであった場合は、復号化部１４５０と同等の復号化部へ入力する事で復号を行えば良い。
【００３７】
［第１の実施形態の変形例］
上記第１の実施形態では、２つの符号化部を並列に処理を実行するものとして説明したが、シーケンシャルに実行するようにしても良い。特に、本第１の実施形態をコンピュータプログラムで実現する場合には、複数の符号化処理それぞれをシーケンシャルに実行し、復号処理、距離変換もシーケンシャルに実行することになるであろう。
【００３８】
そこで、以下では、パーソナルコンピュータ（ＰＣ）のＣＰＵが実行するアプリケーションプログラムに適用した例を、図６のフローチャートに従って説明する。なお、ＰＣのハードウェアは公知のものであるので、その説明は省略する。また、２値画像の発生源は、イメージスキャナであるものとして説明する。
【００３９】
先ず、ＣＰＵは符号化対象の２値画像を入力し、メモリ上にその２値画像を記憶保持させる（Ｓ１）。そして、ＣＰＵはその２値画像に対して距離変換を行う（Ｓ２）。次いで、変数ｉに“１”を代入する（Ｓ３）。そして、第ｉ番目の符号化処理ルーチンを実行することで、非可逆符号化を行い（Ｓ４）、次いで、復号処理も行う（Ｓ５）。なお、このとき、符号化データは破棄しない。そして、復号した２値画像に対して距離変換を行い（Ｓ６）、先のＳ２で作成したオリジナル画像の距離変換結果との差分絶対値和を求め、第ｉ番目の符号化処理の画質劣化の指標値を算出する（Ｓ７）。このとき、第ｉ番目の符号化データを復号した２値画像データ、及び、距離変換結果は不要となるので、メモリから削除する。
【００４０】
そして、全符号化処理ルーチンに対する画像劣化の指標値の算出を終えたか否かを判定し（Ｓ８）、否の場合には変数ｉを“１”だけ増加させ（Ｓ９）、Ｓ４以降を繰り返す。
【００４１】
こうして、全符号化処理ルーチンに対する画像劣化の指標値の算出を終えると、最小の指標値を探索し（Ｓ１０）、その最小指標値となった符号化処理ルーチンで生成された符号化データをファイルとしてハードディスク等の記憶装置に出力する（Ｓ１１）。このとき、ファイルヘッダ等に、どの符号化処理で生成した符号化データであるかを示す情報も合わせて格納しておく。
【００４２】
以上のように、第１の実施形態と同等の処理を、コンピュータプログラムで実現することが可能である。
【００４３】
［第２の実施形態］
第１の実施形態及びその変形例では、符号化しようとする画像データ毎に、符号化手法を決定したが、本第２の実施形態では、所定の矩形領域(ブロック)ごとに符号化手法を決定することとする。これにより、１枚の画像中に例えば自然画やクリップアート、文字、罫線などが混在したとしても、それぞれに応じた最適な符号化手法を決定できるようになる。
【００４４】
説明を簡単なものとするため、本第２の実施形態でも、符号化部は２つの例を説明するが、３つ以上であっても良いのは第１の実施形態と同じである。
【００４５】
図５は本第２の実施形態における画像符号化装置２００の構成図を示している。本実施形態でも符号化対象は２値画像データ２１００である。画像分割部２８００は、入力した２値画像データ２１００を、予め設定した矩形領域のブロックに分割し、ブロック単位に第１の符号化部２３００、距離変化部２５００−２、第２の符号化部２４００に出力する。なお、ブロックの大きさは、符号化側及び復号側で共通になっていれば良いので、特に限定はないが、ここでは１ブロックは８×８画素とする。ただし、主走査方向と平行に分割した短冊状の領域を処理単位としても構わない。
【００４６】
以下の説明は、１ブロック（以下、着目ブロックという）に対する処理である。第１の符号化部２３００および第２の符号化部２４００はそれぞれ着目ブロックを符号化し、それぞれ符号化データを生成する。復号化部２３５０および２４５０はそれぞれ符号化結果を復号し、２値画像ブロックを得る。距離変換部２５００−１は第１の復号部２３５０で復号して得られたブロックの２値画像データを距離変換する。距離変換部２５００−２は、オリジナルの着目ブロックを距離変換する。距離変換部２５００−３は第２の復号部２４５０で復号して得られたブロックの２値画像データを距離変換する。
【００４７】
評価部２５００は、第１の符号化部２３００による着目ブロックの画質劣化の指標値Ａとして、距離変換部２５００−２と距離変換部２５００−１との絶対値差分和を求める。また、評価部２６００は、第２の符号化部２４００による着目ブロックの画質劣化の指標値Ｂとして、距離変換部２５００−２と距離変換部２５００−３との絶対値差分和を求める。そして、評価部１６００は、指標値Ａ≦Ｂの場合には、第１の符号化部１３００による着目ブロックの符号化データの方が画質劣化が少ないと判定し、それ以外の場合には第２の符号化部１４００による符号化データの方が画質劣化が少ないと判定し、その判定結果（実施形態の場合、符号化部は２つの例なので１ビットで良い）を選択部１７００に出力する。選択部１７００は、評価部１６００からの信号に従い、画質劣化が少ないと評価された方の着目ブロックの符号化データを出力する。このとき、着目ブロックの符号化データの先頭には、いずれの符号化データであるかを示す１ビットの識別データを付加して出力する。
【００４８】
そして、上記処理を、入力画像２１００の全ブロック分だけ繰り返し、処理する。
【００４９】
以上説明したように、本第２の実施形態では符号化単位をブロックごととする事で、さまざまな要素が混在する画像であっても効率的に符号化できるようになる。
【００５０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012049646.tif 000003
【図２】
2012049646.tif 000004
【図３】
2012049646.tif 000005
【図４】
2012049646.tif 000006
【図５】
2012049646.tif 000007
【図６】
2012049646.tif 000008