(57)【要約】【課題】画像を複数に分割した領域毎の符号量を増加させずに、実質的な階調代表値の数を増やして画質を向上できる画像符号化方法等を提供する。【解決手段】分割した領域毎にその領域に属する画素を類似する画素同士の組に分類し、領域毎の符号情報として、その領域に属する各画素がその領域を分類して得た中のどの組に属するかを示す画素毎のラベル情報５１と、ラベル情報の値に対応付けされた階調代表値５３とを生成する画像符号化方法であって、符号情報に含まれる一部のラベル情報の値に、隣接領域の符号情報に含まれる階調代表値への参照情報（階調代表値より十分少ないｂｉｔ数）５４を対応付ける。【選択図】図５
2011139156.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数の領域に分割し、
領域毎にその領域に属する画素を類似する画素同士の組に分類し、
領域毎の符号情報として、その領域に属する各画素がその領域を分類して得た中のどの組に属するかを示す画素毎のラベル情報と、前記ラベル情報の各値に対応付けされた、階調代表値の特定情報とを生成する画像符号化方法であって、
前記特定情報を、階調代表値とする場合と、他の領域の符号情報に含まれる階調代表値への参照情報とする場合がある
ことを特徴とする画像符号化方法。
【請求項２】
各領域について、所定数以下の組となるように前記分類し、各組の一次階調代表値を決定し、
近隣の複数領域において、前記一次階調代表値が相互に類似する組を検索し、該類似する組の一次階調代表値を代表する二次階調代表値を決めて、この二次階調代表値を前記特定情報として前記複数領域の中のいずれか１つの領域の符号情報に保持すると共に、残りの領域のうち前記類似する組を含む領域の符号情報においては前記類似する組を示すラベル情報の値に対応付ける前記特定情報として前記二次階調代表値への参照情報を保持する
ことを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
各領域について、所定数以下の組となるように前記分類し、各組を示すラベル情報の値にその組の階調代表値を前記特定情報として対応付けした一次符号を生成する一次符号化処理を行い、
各領域について、前記一次符号の妥当性を評価し、
前記妥当でないと判断した領域については、前記特定情報として前記参照情報を含む符号情報を生成するための二次符号化処理を行う
ことを特徴とする請求項１に記載の画像符号化方法。
【請求項４】
前記妥当でないと判断した領域に関して、
その領域を複数の小領域に分割し、各小領域を前記所定数以下の第２階調代表値で仮符号化し、
前記第２階調代表値に類似する階調代表値を隣接領域の符号情報から検索し、検索できた場合はその階調代表値への参照情報で前記第２階調代表値を置き換える
ことを特徴とする請求項３に記載の画像符号化方法。
【請求項５】
前記妥当でないと判断した領域に関して、
前記所定数より大なる既定数以下の仮の階調代表値で仮符号化し、
前記仮の階調代表値に類似する階調代表値を隣接領域の符号情報から検索し、検索できた場合はその階調代表値への参照情報で前記仮の階調代表値を置き換える
ことを特徴とする請求項３に記載の画像符号化方法。
【請求項６】
前記妥当でないと判断した領域に関して、
前記一次符号化処理で妥当性の低い階調代表値が割り当てられた組に属する画素を類似する階調値の複数グループに分類し、その各グループに対して仮の階調代表値を割り当て、これら複数の仮の階調代表値のそれぞれに類似した複数の階調代表値を、前記評価において妥当と判断された近隣領域の符号情報から検索し、検索できた場合はその検索できた複数の階調代表値への複数の参照情報を前記妥当性の低い階調代表値が割り当てられた組を示す１つのラベル情報の値に対応付けした符号情報を生成する
ことを特徴とする請求項３に記載の画像符号化方法。
【請求項７】
前記妥当性の低い階調代表値が割り当てられた組を示す１つのラベル情報の値に対してさらに、復号時における前記複数の階調代表値の出現頻度情報を対応付けする
ことを特徴とする請求項６に記載の画像符号化方法。
【請求項８】
各グループに属する画素数の比を示す情報を前記出現頻度情報とする
ことを特徴とする請求項７に記載の画像符号化方法。
【請求項９】
前記複数の階調代表値の各々と前記妥当性の低い階調代表値との色空間上の距離を求め、これらの距離の逆比を示す情報を前記出現頻度情報とする
ことを特徴とする請求項７に記載の画像符号化方法。
【請求項１０】
前記妥当性の評価は、前記一次符号化処理で得た一次符号を復号化して得られる画像に関する所定の画質評価指標を用いて行う
ことを特徴とする請求項３に記載の画像符号化方法。
【請求項１１】
符号化された画像のトリミング処理を符号情報のままで行う場合に、
前記トリミング処理によって新たに画像端部に位置することになった領域の符号情報が前記トリミング処理によって切り捨てられた領域の符号情報に含まれる階調代表値への参照情報を含む場合に、該画像端部に位置する領域の符号情報を再生成する
ことを特徴とする請求項１乃至１０のいずれか１つに記載の画像符号化方法。
【請求項１２】
前記再生成は、切り捨てられた領域の符号情報に含まれる階調代表値への参照情報を符号情報に含む領域の前記参照情報が指し示す階調代表値の代替となる階調代表値を、トリミング後の画像内における前記領域の近隣領域の符号情報から検索し、検索できた場合は前記参照情報をその検索できた階調代表値への参照情報に置き換え、検索できない場合は参照情報を含まない符号情報に変換する、ことによって行う
ことを特徴とする請求項１１に記載の画像符号化方法。
【請求項１３】
前記検索できない場合は、検索条件を緩和して改めて検索する
ことを特徴とする請求項２、５、６または１２に記載の画像符号化方法。
【請求項１４】
前記検索できない場合は、階調代表値の階調数を落として１つの階調代表値あたりの情報量を削減した上で、該検索に係る組に含まれる画素を階調値の類似する複数のグループに分け、その各グループに前記階調数を落とした階調代表値を割り当てて符号化する
ことを特徴とする請求項２、５、６または１２に記載の画像符号化方法。
【請求項１５】
請求項１乃至１４のいずれか１つに記載の画像符号化方法で符号化された領域毎の符号情報を復号化する画像復号化方法であって、
復号対象の領域の符号情報に含まれる画素毎のラベル情報を、
そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、
そのラベル情報の値に参照情報が対応付けされている場合はその参照情報が指し示す階調代表値を階調値に持つ画素に変換する
ことを特徴とする画像復号化方法。
【請求項１６】
請求項６または７に記載の画像符号化方法で符号化された領域毎の符号情報を復号化する画像復号化方法であって、
復号対象の領域の符号情報に含まれる画素毎のラベル情報を、
そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、
そのラベル情報の値に複数の参照情報が対応付けされている場合は、前記複数の参照情報の中でこのラベル情報によって復号される画素の位置と参照先の階調代表値を符号情報に含む領域との距離が近い参照情報が指し示す階調代表値に基づく階調値を有する画素に変換する
ことを特徴とする画像復号化方法。
【請求項１７】
請求項７に記載の画像符号化方法で符号化された領域毎の符号情報を復号化する画像復号化方法であって、
復号対象の領域の符号情報に含まれる画素毎のラベル情報を、
そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、
そのラベル情報の値に複数の参照情報と出現頻度情報が対応付けされている場合は、前記複数の参照情報が指し示すそれぞれの階調代表値を階調値に持つ画素が前記出現頻度情報に応じた比率で生成されるように変換する
ことを特徴とする画像復号化方法。
【請求項１８】
請求項１乃至１４のいずれか一項に記載の画像符号化方法によって画像を符号化する画像符号化装置。
【請求項１９】
請求項１５乃至１７のいずれか一項に記載の画像復号化方法によって符号情報を復号化して画像を生成する画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を複数の領域に分割し、各々の領域で符号化（圧縮）を行う画像符号化方法、およびその復号化（伸張）を行う画像復号化方法等に関する。
【背景技術】
【０００２】
カラー化、高解像度化された画像情報は膨大な情報量を有するので、その保存、転送等の扱いを容易にできるように、画像を符号化（圧縮）して保存・転送し、プリント出力などの利用時に復号化（伸張）することが一般に行われる。
【０００３】
符号化（圧縮）／復号化（伸張）には、処理が容易なことから、単一サイズの矩形（ブロック）領域で画像を分割し、各々の領域で独立して符号化（圧縮）／復号化（伸張）を行う手法が広く用いられる。
【０００４】
図３５は、従来から使用されているＢＴＣ（Block Truncation Coding）符号化（圧縮)処理／復号化（伸張)処理の一例を示す流れ図である。まず符号化対象の画像の画像情報を取得し(ステップＳ１０１)、図３６に示すように、その画像(元画像)３０を複数の矩形のブロック（領域）３１に分割する（ステップＳ１０２）。ここで、ブロック３１のサイズは画像の解像度や利用目的に応じて適宜決められる。たとえば、縦４画素×横４画素（以下、４画素×４画素の様に表記する）や８画素×８画素の矩形のブロックに分割される。
【０００５】
分割した中の１ブロック（領域）を抽出し（ステップＳ１０３）、その領域内の各画素を類似する画素（類似した階調を有する画素）の複数のグループ（組）にグループ化し、グループ毎にラベル番号を付与すると共に、そのグループに属する画素の階調値を代表する階調代表値を定義する（ステップＳ１０４）。たとえば、４画素×４画素の１ブロックに含まれる１６画素を３つのグループに分け、ラベル番号１、２、３を付与し、ラベル番号１に対応する階調代表値と、ラベル番号２に対応する階調代表値と、ラベル番号３に対する階調代表値とを決定する、といった処理を行う。
【０００６】
次に、そのブロック（領域）内の各画素にその画素が所属するグループのラベル番号を付与（この画素各々に付与したラベル番号をラベル情報とする）して符号化する(ステップＳ１０５)。
【０００７】
ステップＳ１０３〜Ｓ１０５の処理を、全ブロックについて終了するまで繰り返して行い（ステップＳ１０６；Ｎｏ、Ｓ１０７）、全ブロックについて終了すると（ステップＳ１０６；Ｙｅｓ）、符号化（圧縮）処理が終了する(圧縮終了)。該圧縮処理によって得た符号情報は、たとえば、画像メモリに記憶される。
【０００８】
復号化（伸張）処理では、まず、復号化対象の符号情報を取得する(ステップＳ１１０)。次に、その中から１ブロック分の符号情報を抽出し(ステップＳ１１１)、各ラベル情報を、そのラベル情報に対応した階調代表値を階調値に持つ画素に変換し、復元画像の画像情報を得る（ステップＳ１１２）。
【０００９】
ステップＳ１１１、Ｓ１１２の処理を、全ブロックについて終了するまで繰り返して行い（ステップＳ１１３；Ｎｏ、Ｓ１１４）、全ブロックについて終了すると（ステップＳ１１３；Ｙｅｓ）、復号化（伸張）処理が終了する(伸張終了)。
【００１０】
図３７は、上記符号化（圧縮)処理／復号化（伸張)処理における符号情報の生成や符号情報からの画像の復元を模式的に説明したものである。この例では、ブロックのサイズを縦横４画素としている。また、元画像の１つのブロック３１に含まれる１６個の画素各々は、Ｙ（イエロ）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック）の色成分を有し、たとえば、各色８ｂｉｔ（０〜２５５）の画像情報で構成されている。したがって、元画像の１画素は３２ｂｉｔで構成され、１ブロックの情報量は３２ビット×１６画素で５１２ビットになっている。
【００１１】
符号化（圧縮）処理では、元画像の１つのブロック３１に属する１６個の画素を、階調値（色）の類似性に基づいて３つのグループに分割し、各グループに１〜３のラベル番号を割り当てると共に、画素各々にその画素が属するグループのラベル番号をラベル情報として付与する。各ラベル情報は２ビットで構成されるので、１６画素分のラベル情報は３２ビットになる。
【００１２】
また、各グループにそのグループに属する画素の階調値（色）を代表する階調代表値を設定する。１つの階調代表値は、ＹＭＣＫ各８ビットなので３２ビットになる。生成される符号情報３２は、１６画素分のラベル情報３２Ａと、各ラベル情報の値に対応付けされた３つの階調代表値３２Ｂとから構成される。１ブロック分の符号情報３２は、２ｂｉｔ×１６画素＋３２ｂｉｔ×３階調代表値＝１２８ｂｉｔとなり、符号化により、５１２／１２８＝４倍の圧縮率を得られる。
【００１３】
復号化では、符号情報３２に含まれる各ラベル情報を、対応する階調代表値に変換することによって復元画像３３の画像情報（画像信号値）が生成される。
【００１４】
なお、ブロックのサイズを大きくすれば一組の階調代表値が符号化する画素数が増えるため圧縮率を向上できる傾向にあり、ブロックサイズを小さくすれば、ブロック内に存在する画素の多様性が弱まり、圧縮/伸張誤差が軽減する方向にある。また画像解像度が高いほど、１画素の欠陥は視認されにくくなり、圧縮/伸張誤差の許容範囲も広がることとなる。実用上はこれらのことを考慮し、縦横４画素（領域内の画素数は４×４＝１６画素）〜縦横１６画素（同２５６画素）の範囲が良く用いられる。
【００１５】
また、上記の例では階調代表値としてＹＭＣＫの組を保存したが、例えば白黒画像の場合、階調代表値は一次元ベクトル上に並ぶいくつかの離散値となる。そこで、階調代表値の最大値と最小値の２情報（または階調代表値の平均値と分布幅）を保存し、この２情報と予め設定した階調代表値の数とから中間の階調値を算出する手法などがある。これを利用し、ＹＭＣＫ等、複数の要素で構成されている画像でも、各々の要素を独立して白黒画像の如く符号化することもできる。
【００１６】
上述したＢＴＣ方式およびその類型の手法では、各ブロック（領域）の画像情報を、画素位置各々に付与されたラベル情報３２Ａと、ラベル情報に対応付けられ、領域内共通に適用される階調代表値３２Ｂと、によって圧縮符号化する。このようなＢＴＣ方式では、ブロックのサイズが大きいほど符号情報に占める階調代表値の重みが減少するため、画像圧縮率が向上する。また、画素各々に付与されるラベル情報のビット数が少ないほど画像圧縮率が向上する。
【００１７】
一方、ＢＴＣは非可逆圧縮のため、圧縮率を高くするほどブロックノイズ等の量子化誤差が顕著となる。図３８は、ブロックノイズの発生した復元画像３４とその元画像３０とを対比して例示している。図示するように、多様な階調を有するブロックをいくつか少数の階調代表値で表示するため、微細構造の簡略化が生じ、またブロック毎に簡略化の程度が異なるため、ブロック境界やブロック内に階調差が生じている。
【００１８】
ＢＴＣで充分な画質を得るためには、１つのブロックに与える階調代表値の数をある程度以上に設定する必要がある。しかし階調代表値の数を増やすと、
（１）圧縮率が制限される、
（２）画像情報が平坦な領域においては過剰な数の階調代表値を保持することになり、圧縮効率が悪い、
といった問題が生じる。
【００１９】
これらの問題に対して、
１．隣接する複数ブロックでチームを構成し、チーム内に代表ブロックと他のブロックとを定義し、他のブロックは、代表ブロックとの差分を演算して符号化することにより、ＢＴＣ符号の圧縮率を向上させる技術（たとえば、特許文献１参照。）
２．輝度データに対する全ての組み合わせ数より少ない辞書を予め用意しておき、２値化された輝度データを辞書を用いて符号化する技術（たとえば、特許文献２参照。）
３．画像をＢＴＣ圧縮し、圧縮後の相隣接するブロックＡとブロックＢとを統合するか否かを類似度に基づいて判断し、統合すると判断した場合はこれらのブロックを１つのブロックに統合して圧縮率を向上させる技術（たとえば、特許文献３参照。）
４．画像ブロックを複数のサブブロックに分割し、そのうち、いくつかのサブブロックの情報を削除し、伸張時に補間推定して画像を復元する技術（たとえば、特許文献４参照。）
などの関連技術が提案されている。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開平９−２４７４６５号公報
【特許文献２】特開平１１−３３１６１５号公報
【特許文献３】特開２００８−１６７３０９号公報
【特許文献４】特開２００９−７７１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
上記の関連技術は、それぞれが目的とする効果を有して圧縮率の向上に貢献するものの、以下のような問題がある。
【００２２】
特許文献１に開示の技術は、ブロック間の差分情報により符号量を削減する手法であるため、ブロック各々の符号量が安定せず、安定した削減効果は得難い。
【００２３】
特許文献２に開示の技術では、輝度情報のパターンに変化を及ぼして画像の劣化を招く恐れがあると共に、複雑な辞書の設定が必要になる。
【００２４】
また、ＢＴＣ方式は、１ブロックあたりの情報量が固定であり、各ブロックの符号情報が画像内の位置に対応して配列されることから、符号情報のまま画像を回転させるなどの処理が可能になるという利点を備えているが、特許文献３に開示の技術では、ＢＴＣのブロック構造が崩れるので、符号状態のまま画像の回転を行うなどの処理が困難になる。
【００２５】
特許文献４に開示の技術では、符号量の大きなブロックデータを削除して推測補間をするので、処理が複雑になると共に補間不良によるエラー発生の可能性がある。
【００２６】
このように、上記関連技術では、特定の画像でしか効果が得られない／伸張時に複雑な処理が必要になる／ブロック毎の冗長性が崩れる、といった問題があった。
【００２７】
本発明は、上記の問題に鑑みてなされたものであり、画質の劣化を招くことなく圧縮率を向上させる、あるいは符号量を増加させずに実質的な階調代表値の数を増やして画質の向上を図ることのできる画像符号化方法およびその復号化方法、画像符号化装置、画像復号化装置を提供することを目的としている。
【課題を解決するための手段】
【００２８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００２９】
［１］画像を複数の領域に分割し、
領域毎にその領域に属する画素を類似する画素同士の組に分類し、
領域毎の符号情報として、その領域に属する各画素がその領域を分類して得た中のどの組に属するかを示す画素毎のラベル情報と、前記ラベル情報の各値に対応付けされた、階調代表値の特定情報とを生成する画像符号化方法であって、
前記特定情報を、階調代表値とする場合と、他の領域の符号情報に含まれる階調代表値への参照情報とする場合がある
ことを特徴とする画像符号化方法。
【００３０】
上記発明では、参照範囲を制限すれば、参照情報の情報量（ｂｉｔ数）は階調代表値の情報量より十分小さい値になるので、階調代表値を持つ代わりに、他の領域の符号情報が保持している階調代表値への参照情報を持つことで、符号量を削減でき、その分、１つの領域でより多くの色数を使用することが可能になる。これにより、画質を維持しつつ高い圧縮率を得ることができる。
【００３１】
ここで、１つの領域の符号情報に階調代表値と参照情報の双方が含まれてもよいし、ある領域の符号情報では特定情報は階調代表値のみとし、またある領域の符号情報では特定情報は参照情報のみとするように符号化してもよい。なお、類似する階調代表値は近隣の領域に存在する可能性が高いこと、参照先を近隣範囲に制限することで参照先の候補数を制限して参照情報の情報量を抑えられることから、参照先となる他の領域は近隣もしくは隣接領域とすることが望ましい。
【００３２】
［２］各領域について、所定数以下の組となるように前記分類し、各組の一次階調代表値を決定し、
近隣の複数領域において、前記一次階調代表値が相互に類似する組を検索し、該類似する組の一次階調代表値を代表する二次階調代表値を決めて、この二次階調代表値を前記特定情報として前記複数領域の中のいずれか１つの領域の符号情報に保持すると共に、残りの領域のうち前記類似する組を含む領域の符号情報においては前記類似する組を示すラベル情報の値に対応付ける前記特定情報として前記二次階調代表値への参照情報を保持する
ことを特徴とする［１］に記載の画像符号化方法。
【００３３】
上記発明では、類似する階調代表値を複数の近隣領域で共有するので、高い圧縮率と高画質を両立させることができる。参照情報は階調代表値より十分必要情報量が少ないので、たとえば、各領域の符号情報に階調代表値を２つ保持する構成とする代わりに、近隣の領域で階調代表値を共有させることによって１つの階調代表値と２以上の参照情報を保持する構成にすれば、領域あたりの符号量を増加させずに、色数を増やすことができる。なお、二次階調代表値は、類似する組の一次階調代表値の中の１つを選択してもよいし、類似する組の一次階調代表値から新たに生成してもよい。
【００３４】
［３］各領域について、所定数以下の組となるように前記分類し、各組を示すラベル情報の値にその組の階調代表値を前記特定情報として対応付けした一次符号を生成する一次符号化処理を行い、
各領域について、前記一次符号の妥当性を評価し、
前記妥当でないと判断した領域については、前記特定情報として前記参照情報を含む符号情報を生成するための二次符号化処理を行う
ことを特徴とする［１］に記載の画像符号化方法。
【００３５】
上記発明では、全ての領域を、所定数の階調代表値で一次符号化した後、一次符号の妥当性を評価し、妥当な領域については一次符号をそのまま最終的な符号情報とし、妥当でない領域についてのみ、参照情報を使用した二次符号化処理を行う。参照情報を使用することで使用可能な階調代表値の数が増えるので、妥当でない領域に対して二次符号化処理を行うことで、より妥当性の高い符号情報を得ることができる。
【００３６】
［４］前記妥当でないと判断した領域に関して、
その領域を複数の小領域に分割し、各小領域を前記所定数以下の第２階調代表値で仮符号化し、
前記第２階調代表値に類似する階調代表値を隣接領域の符号情報から検索し、検索できた場合はその階調代表値への参照情報で前記第２階調代表値を置き換える
ことを特徴とする［３］に記載の画像符号化方法。
【００３７】
上記発明では、一次符号が妥当でない領域については、複数の小領域に分割し、小領域毎に符号化を行う。たとえば、一次符号が領域を２つの階調代表値で符号化している場合に、各小領域を同じ２つの階調代表値で符号化すれば、領域単位では、（２×小領域）個の階調代表値を使用でき、色数を増やすことができる。また、小領域の符号化では参照情報を使用するので、色数を増やしても符号量の増加をなくすることができる。
【００３８】
［５］前記妥当でないと判断した領域に関して、
前記所定数より大なる既定数以下の仮の階調代表値で仮符号化し、
前記仮の階調代表値に類似する階調代表値を隣接領域の符号情報から検索し、検索できた場合はその階調代表値への参照情報で前記仮の階調代表値を置き換える
ことを特徴とする［３］に記載の画像符号化方法。
【００３９】
上記発明では、一次符号が妥当でない領域については、階調代表値の数を増やして符号化すると共に、階調代表値の増加によって符号量が増加しないように、参照情報を使用して符号化する。
【００４０】
［６］前記妥当でないと判断した領域に関して、
前記一次符号化処理で妥当性の低い階調代表値が割り当てられた組に属する画素を類似する階調値の複数グループに分類し、その各グループに対して仮の階調代表値を割り当て、これら複数の仮の階調代表値のそれぞれに類似した複数の階調代表値を、前記評価において妥当と判断された近隣領域の符号情報から検索し、検索できた場合はその検索できた複数の階調代表値への複数の参照情報を前記妥当性の低い階調代表値が割り当てられた組を示す１つのラベル情報の値に対応付けした符号情報を生成する
ことを特徴とする［３］に記載の画像符号化方法。
【００４１】
上記発明では、一次符号化処理で妥当性の低い階調代表値が割り当てられた画素領域は、その画素領域内に大きく色の異なる画素が存在していると判断できる。そこで、そのような画素領域に対して複数の仮の階調代表値を再定義し、これらの複数の仮の階調代表値に類似する階調代表値を近隣領域の符号情報から検索し、検索できた場合は、妥当性の低い階調代表値が割り当てられていた１つのラベル情報の値に、検索に成功した複数の階調代表値各々への参照情報を対応付けする。これにより、妥当性の低い１つの階調代表値が割り当てられた画素領域を複数の階調代表値を使用して復号化することが可能になり、より妥当性の高い画像を復元することができる。たとえば、元画像が、色の異なる複数画素で構成された微小パターンによって中間調を表現しているような場合、そのパターンに含まれる複数の色を１つのラベル情報の値に対応付けることができるので、打点の混色による色調異常が発生せず、良好な圧縮／伸張処理が符号量の増加を招くことなく実現される。
【００４２】
［７］前記妥当性の低い階調代表値が割り当てられた組を示す１つのラベル情報の値に対してさらに、復号時における前記複数の階調代表値の出現頻度情報を対応付けする
ことを特徴とする［６］に記載の画像符号化方法。
【００４３】
上記発明では、１つのラベル情報の値に複数の参照情報が対応付けされている場合に、その複数の階調代表値をどのような出現頻度で復号すべきかを示す出現頻度情報を符号情報に含めるので、より良好な復号化が可能になる。
【００４４】
［８］各グループに属する画素数の比を示す情報を前記出現頻度情報とする
ことを特徴とする［７］に記載の画像符号化方法。
【００４５】
上記発明では、元画像での各階調代表値を有する画素の画素数比率を復号時に再現して画像を復元することができる。
【００４６】
［９］前記複数の階調代表値の各々と前記妥当性の低い階調代表値との色空間上の距離を求め、これらの距離の逆比を示す情報を前記出現頻度情報とする
ことを特徴とする［７］に記載の画像符号化方法。
【００４７】
上記発明では、空間的に近い（密接な）関係にある参照先を選んで復号することが可能になり、画像の連続性に考慮した復号処理ができる。
【００４８】
［１０］前記妥当性の評価は、前記一次符号化処理で得た一次符号を復号化して得られる画像に関する所定の画質評価指標を用いて行う
ことを特徴とする［３］に記載の画像符号化方法。
【００４９】
上記発明では、妥当性を符号情報を復号化した際の画質評価指標を用いて判断することで、符号化処理の妥当性を確実に判断することできる。
【００５０】
［１１］符号化された画像のトリミング処理を符号情報のままで行う場合に、
前記トリミング処理によって新たに画像端部に位置することになった領域の符号情報が前記トリミング処理によって切り捨てられた領域の符号情報に含まれる階調代表値への参照情報を含む場合に、該画像端部に位置する領域の符号情報を再生成する
ことを特徴とする［１］乃至［１０］のいずれか１つに記載の画像符号化方法。
【００５１】
上記発明では、トリミングによって画像端部となった領域がトリミングによって切り捨てられた領域の符号情報が保持する階調代表値を参照している場合に、その領域の符号情報を再生成するので、符号状態でトリミングすることに伴う復号エラーの発生を防止することができる。
【００５２】
［１２］前記再生成は、切り捨てられた領域の符号情報に含まれる階調代表値への参照情報を符号情報に含む領域の前記参照情報が指し示す階調代表値の代替となる階調代表値を、トリミング後の画像内における前記領域の近隣領域の符号情報から検索し、検索できた場合は前記参照情報をその検索できた階調代表値への参照情報に置き換え、検索できない場合は参照情報を含まない符号情報に変換する、ことによって行う
ことを特徴とする［１１］に記載の画像符号化方法。
【００５３】
上記発明では、トリミングによって切り捨てられた領域の符号情報を参照している領域の符号情報を、トリミングで残った領域の符号情報に基づいて再生成する。
【００５４】
［１３］前記検索できない場合は、検索条件を緩和して改めて検索する
ことを特徴とする［２］、［５］、［６］または［１２］に記載の画像符号化方法。
【００５５】
上記発明では、類似する階調代表値を近隣領域から検索できない場合に、その次善策として、類似の条件等を緩和して改めて検索が行われる。これにより、参照先が見つかり易くなると共に、無作為に情報参照する弊害も発生しないため、処理の安定性がより向上する。
【００５６】
［１４］前記検索できない場合は、階調代表値の階調数を落として１つの階調代表値あたりの情報量を削減した上で、該検索に係る組に含まれる画素を階調値の類似する複数のグループに分け、その各グループに前記階調数を落とした階調代表値を割り当てて符号化する
ことを特徴とする［２］、［５］、［６］または［１２］に記載の画像符号化方法。
【００５７】
上記発明では、参照先が見つからない領域は、隣接領域との関連性が低い領域と判断できるから、階調数を落とし、自領域内で多色保持することで、画質劣化を目立たせずに、必要な色数を確保することができる。
【００５８】
［１５］［１］乃至［１４］のいずれか１つに記載の画像符号化方法で符号化された領域毎の符号情報を復号化する画像復号化方法であって、
復号対象の領域の符号情報に含まれる画素毎のラベル情報を、
そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、
そのラベル情報の値に参照情報が対応付けされている場合はその参照情報が指し示す階調代表値を階調値に持つ画素に変換する
ことを特徴とする画像復号化方法。
【００５９】
［１６］［６］または［７］に記載の画像符号化方法で符号化された領域毎の符号情報を復号化する画像復号化方法であって、
復号対象の領域の符号情報に含まれる画素毎のラベル情報を、
そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、
そのラベル情報の値に複数の参照情報が対応付けされている場合は、前記複数の参照情報の中でこのラベル情報によって復号される画素の位置と参照先の階調代表値を符号情報に含む領域との距離が近い参照情報が指し示す階調代表値に基づく階調値を有する画素に変換する
ことを特徴とする画像復号化方法。
【００６０】
［１７］［７］に記載の画像符号化方法で符号化された領域毎の符号情報を復号化する画像復号化方法であって、
復号対象の領域の符号情報に含まれる画素毎のラベル情報を、
そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、
そのラベル情報の値に複数の参照情報と出現頻度情報が対応付けされている場合は、前記複数の参照情報が指し示すそれぞれの階調代表値を階調値に持つ画素が前記出現頻度情報に応じた比率で生成されるように変換する
ことを特徴とする画像復号化方法。
【００６１】
［１８］［１］乃至［１４］のいずれか一項に記載の画像符号化方法によって画像を符号化する画像符号化装置。
【００６２】
［１９］［１５］乃至［１７］のいずれか一項に記載の画像復号化方法によって符号情報を復号化して画像を生成する画像復号化装置。
【発明の効果】
【００６３】
本発明に係わる画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置によれば、画質の劣化を招くことなく圧縮率を向上させる、あるいは符号量を増加させずに実質的な階調代表値の数を増やして画質の向上を図ることができる。
【図面の簡単な説明】
【００６４】
【図１】本発明に係る画像符号化装置および画像復号化装置としての機能を有する画像処理装置５の概略構成を示すブロック図である。
【図２】元画像と、この元画像に対して従来のＢＴＣ符号化処理を行って生成した符号情報（階調代表値の部分）の一例を示す説明図である。
【図３】図２と同じ元画像と、これを本発明に係る画像符号化方法で符号化した場合の符号情報（階調代表値に関する部分）の一例を示す説明図である。
【図４】従来のＢＴＣ符号化処理で生成される符号情報を模式的に示す説明図である。
【図５】本発明に係わる第１方式の画像符号化方法で生成される符号情報を模式的に示す説明図である。
【図６】第１方式による符号化処理（圧縮処理）を示す流れ図である。
【図７】本発明に係わる第２Ａ方式の画像符号化方法で生成される符号情報を模式的に示す説明図である。
【図８】第２Ａ方式による符号化処理（圧縮処理）を示す流れ図である。
【図９】本発明に係わる第２Ｂ方式の画像符号化方法の動作を模式的に示す説明図である。
【図１０】本発明に係わる第２Ｂ方式の画像符号化方法で生成される符号情報を模式的に示す説明図である。
【図１１】第２Ｂ方式による符号化処理（圧縮処理）を示す流れ図である。
【図１２】第２Ｂ方式において隣接ブロックを参照する際の、好ましい隣接領域の構成例を示す説明図である。
【図１３】第２Ｂ方式で利用可能な参照情報の情報量の抑制方法の一例を示す説明図である。
【図１４】元画像と、これを従来のＢＴＣ符号化で符号化して復号化した画像と、第２Ｂ方式によって符号化して復号化した画像とを対比して示す説明図である。
【図１５】微小なパターンによって中間調表現がなされている元画像およびこれを符号化して復号化した画像を例示した説明図である。
【図１６】本発明に係わる第３式の画像符号化方法で生成される符号情報を模式的に示す説明図である。
【図１７】第３方式による符号化処理（圧縮処理）を示す流れ図である。
【図１８】妥当性の高い仮代表値を算出する処理（図１７のＳ５０８）の詳細を示す流れ図である。
【図１９】階調値出現頻度を算出する処理（図１７のステップＳ５１６）における第１手法の流れを示す流れ図である。
【図２０】階調値出現頻度を算出する処理（図１７のステップＳ５１６）における第２手法の流れを示す流れ図である。
【図２１】符号化精度情報算出処理を示す流れ図である。
【図２２】符号化精度情報算出のための演算式を例示した説明図である。
【図２３】本発明に係わる第４式の画像符号化方法で生成される符号情報を模式的に示す説明図である。
【図２４】第４方式による符号化処理（圧縮処理）を示す流れ図である。
【図２５】第４方式による符号化の流れを模擬的に示す説明図である。
【図２６】サブブロックの形態例を示す説明図である。
【図２７】符号状態でトリミングする際に生じる参照リンクの分断を示す説明図である。
【図２８】トリミングで生じた端部ブロックの符号情報の再生成処理を示す流れ図である。
【図２９】ブロック領域のａ）構造、ｂ）構造を例示した説明図である。
【図３０】本発明の画像復号化方法による復号化処理を示す流れ図である。
【図３１】階調値出現頻度情報が示す出現比率に応じて各階調代表値に乱数値の範囲を割り当てたスケールの一例を示す説明図である。
【図３２】本発明の画像復号化方法による第２の復号化処理を示す流れ図である。
【図３３】空間的に近い（密接な）関係にある参照先を選んで復号化する様子の一例を示す説明図である。
【図３４】対象のラベル情報の領域が他のラベル情報の領域で分断されている場合に空間的に近い（密接な）関係にある参照先を選んで復号化する様子の一例を示す説明図である。
【図３５】従来から使用されているＢＴＣ符号化（圧縮)処理／復号化（伸張)処理を示す流れ図である。
【図３６】元画像を複数の矩形のブロック（領域）に分割する様子を示す説明図である。
【図３７】従来のＢＴＣ符号化（圧縮)処理／復号化（伸張)処理における符号情報の生成および符号情報からの復元を模式的に示す説明図である。
【図３８】元画像とこれをＢＴＣによって圧縮して伸張した後の復元画像とを対比して示す説明図である。
【発明を実施するための形態】
【００６５】
以下、図面に基づき本発明の実施の形態を説明する。
【００６６】
図１は、本発明に係る画像符号化方法および画像復号化方法によって画像の符号化・復号化を行う画像処理装置５の構成例を示している。画像処理装置５は、画像を符号化する符号化処理部１０と、符号化処理部１０で符号化して得たデータ（符号情報と呼ぶ。）を記憶する画像メモリ６と、画像メモリ６から読み出された符号情報を入力してこれを復号化する復号化処理部２０とから構成される。
【００６７】
符号化処理部１０は、符号化対象の元画像の画像情報を入力する画像入力部１１と、画像入力部１１によって入力した画像情報を、複数の領域（ブロック）に分割する画像分割部１２と、画像分割部１２によって分割された各領域の画像情報を領域単位に一次符号化する一次符号化部１３と、一次符号化部１３で符号化して得たデータに基づいて、参照情報を用いた符号情報を生成する二次符号化部１４とを備えて構成される。
【００６８】
復号化処理部２０は、画像メモリ６から符号情報を読み出して入力する符号入力部２１と、符号入力部２１によって入力した符号情報を復号化する復号化部２２と、復号化部２２が出力する復号化された画像情報を出力する画像出力部２３とを備えて構成される。
【００６９】
図１の画像処理装置５には前記各々の処理部の起動や終了等の動作を制御する制御部、オペレータによる画像処理の実行指示等を受け付ける指示入力部、現在の処理状況等を表示する状態表示部、等、図示しない装備が適宜具備されても良い。また、図１の画像処理装置５は符号化処理部１０と復号化処理部２０、画像メモリ６を一つの装置としたが、これらは画像符号化装置や画像復号化装置など別体の装置として構成されてもよい。また、ＣＰＵ(Central Processing Unit）とＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えたコンピュータ装置において所定のプログラムを実行することにより画像処理装置５の機能を実現してもよい。
【００７０】
まず本発明の基本原理について説明する。
【００７１】
図２は、元画像４０と、この元画像４０に対して従来と同様（図３５）のＢＴＣ符号化処理を行って生成した符号情報（階調代表値の部分のみ・・代表値表４６）の一例を示している。元画像４０には、色が白、緑、灰、赤の部分が存在しており、第１ブロック４１（ＢＬＫ１）には白と緑の部分が、第２ブロック４２（ＢＬＫ２）には緑と白と灰と赤の部分が、第３ブロック４３（ＢＬＫ３）には灰と緑と赤の部分が、第４ブロック４４（ＢＬＫ４）には白と緑と灰と赤の部分が、第５ブロック４５（ＢＬＫ５）には灰と赤の部分が存在している。なお、第１〜第５ブロックの境界を図中では二重線で示してある。
【００７２】
これらの第１〜第５ブロック４１〜４５を色の欠損が生じないように最大４つの階調代表値を持つようにＢＴＣ符号化すると、各ブロックの階調代表値は代表値表４６に示すようになる。詳細には、第１ブロック４１（ＢＬＫ１）では第１階調代表値は「緑」、第２階調代表値は「白」、第３階調代表値と第４階調代表値は「空白」になり、第２ブロック４２（ＢＬＫ２）では第１階調代表値は「灰」、第２階調代表値は「白」、第３階調代表値は「緑」、第４階調代表値は「赤」になる。第３ブロック４３（ＢＬＫ３）では第１階調代表値は「灰」、第２階調代表値は「緑」、第３階調代表値は「赤」、第４階調代表値は「空白」になり、第４ブロック４４（ＢＬＫ４）では第１階調代表値は「灰」、第２階調代表値は「白」、第３階調代表値は「緑」、第４階調代表値は「赤」になり、第５ブロック４５（ＢＬＫ５）では第１階調代表値は「灰」、第２階調代表値は「赤」、第３階調代表値と第４階調代表値は「空白」になっている。
【００７３】
たとえば、１つの階調代表値の符号量がＣＭＹＫ各８ｂｉｔの３２ｂｉｔならば、４つの階調代表値（代表色）の符号量は、３２×４＝１２８ｂｉｔになる。
【００７４】
このように、従来のＢＴＣ符号化処理では、各ブロック（領域）の符号情報の中に４つの階調代表値の保持エリアを固定的に有するので、階調代表値が４個未満に収まるブロックでは「空白」の保持エリアが生じて無駄になる。また、各ブロックの符号情報は独立であって個々に階調代表値を保持するので、同じ階調代表値を近隣の複数のブロックが並列に保持することが頻繁に生じて圧縮効率が低い。
【００７５】
ところで、ブロック（領域）への分割は画像に含まれる情報内容、すなわち、画像の中で明瞭に視認できる線やエッジ、これらで囲まれた領域等の画像構造とは係り無く分割される。また、視認され得る画像構造はある程度の大きさを有しているから、ＢＴＣの小さなブロックを跨って存在する可能性が高い。即ち、隣接あるいは近隣ブロック間では、同一の画像構造に対し、同一（あるいは類似）の階調代表値が算出され、各々符号情報（階調代表値）として保持されている可能性が高く、これを従来手法は有効に活用していなかった。
【００７６】
本発明では、同一もしくは類似する階調代表値を「隣接するブロック間でその階調代表値を１つのみ保持して共有する」ことで、符号化の効率を高めるようにしている。詳細には、近隣の複数ブロックの中の１つがこれらに共有される階調代表値を保持し、他のブロックはこの階調代表値を参照するための参照情報を持つようにする。階調代表値が前述したようにＣＭＹＫ各８ビットであれば３２ｂｉｔを要するのに対して、参照情報は、たとえば、隣接ブロックが有する８個〜１６個程度の階調代表値を参照先に指定可能にする場合には、４ｂｉｔ程度で済む。したがって、符号量を低減、あるいは同じ符号量であれば、より多くの色を利用した符号化が可能になる。
【００７７】
図３は、図２と同じ元画像４０を本発明に係る画像符号化方法で符号化した場合の符号情報（階調代表値に関する部分・・・代表値表４７）の一例を示している。この例では、各ブロックは最大２個の階調代表値を保持する。このため、いくつかのブロックでは、階調代表値の数が足りず、自ブロック内だけでは階調表現ができなくなるが、図示の通り、３種類の参照情報を用いて隣接ブロックの階調代表値を参照することによって全ての色を表現している。
【００７８】
詳細には、ブロックの符号情報のデータ構造には２種類ある。第１構造は２つの階調代表値の保持エリアを有し参照情報は保持しない構造であり、第２構造は１つの階調代表値の保持エリアと３つの参照情報の保持エリアとからなる構造である。参照情報は情報量が少ない（４ｂｉｔ）ので、１つの階調代表値（３２ｂｉｔ）と置き換えて３つの参照情報が保持される。各ブロックは、第１構造であるか第２構造であるかを示す情報として保持色数情報を有している。なお、保持色数情報は１ｂｉｔで済むため、本発明の効果の減殺は無視できる程度のものである。
【００７９】
図３の場合、第１ブロック４１は第１構造であって、保持色数情報は「２」、第１階調代表値は「緑」、第２階調代表値は「白」であり、第１参照情報から第３参照情報のエリアは確保されない。第２ブロック４２は第２構造であって、保持色数情報は「１」、第１階調代表値は「赤」、第１参照情報は「左１」、第２参照情報は「右１」、第３参照情報は「左２」となっており、第２階調代表値のエリアは確保されない。
【００８０】
第３ブロック４３は第２構造を有し、保持色数情報は「１」、第１階調代表値は「灰」、第１参照情報は「左１」、第２参照情報は「右１」、第３参照情報は「空白」であり、第２階調代表値のエリアは確保されない。第４ブロック４４も第２構造であり、保持色数情報は「１」、第１階調代表値は「緑」、第１参照情報は「左１」、第２参照情報は「右２」、第３参照情報は「上１」であり、第２階調代表値のエリアは確保されない。第５ブロック４５は第１構造であり、保持色数情報は「２」、第１階調代表値は「灰」、第２階調代表値は「赤」であり、第１参照情報から第３参照情報の保持エリアは確保されていない。
【００８１】
なお、図中の「左１」は左隣接ブロックの第１階調代表値が参照先であることを示し、「左２」は左隣接ブロックの第２階調代表値が参照先であることを示し、「右１」は右隣接ブロックの第１階調代表値が参照先であることを示し、「右２」は右隣接ブロックの第２階調代表値が参照先であることを示し、「上１」は上隣接ブロックの第１階調代表値が参照先であることを示している。
【００８２】
各ブロックは、図３６に示すように切り出されるので、上下左右と斜めの合計８隣接ブロックとの共有が可能であり、参照先の選択や階調代表値の選択に関する高い自由度がある。図３の場合、階調代表値に関する部分（代表値表４７）の符号量は、第１構造では、保持色数情報が１ｂｉｔと、２色分の階調代表値の保持エリア６４ｂｉｔ（１色あたりＣＭＹＫ各８ビットの３２ｂｉｔとして）の合計の６５ｂｉｔである。第２構造では、保持色数情報が１ｂｉｔと、階調代表値１色（３２ｂｉｔ）と３つの参照情報の保持エリア１２ｂｉｔ（各参照情報を３ｂｉｔとする）の合計の４９ビットとなる。
【００８３】
なお、参照情報は各々、上下左右斜めの８方向と自ブロックが保持する階調代表値とを含む９宛先を指定可能にするために４ビットとしている。よって、１ブロックあたりの最大符号量は６５ｂｉｔとなる（第１構造）。図２に示す従来のＢＴＣ符号化処理では１ブロックあたり１２８ｂｉｔであったので、符号量は大きく低減される。
【００８４】
このように、近隣のブロックと階調代表値を共有し、その共有した階調代表値をいずれか１つのブロックの符号情報として保持し、共有する他のブロックはその階調代表値への参照情報を保持するようにすることで、１ブロックあたりで使用可能な階調代表値の数（４個）を維持しながら１ブロックあたりの符号量の低減が実現される。
【００８５】
なお、以後の説明では、自ブロックの階調代表値数（即ち、符号情報の構造）を示す情報（上記例の保持色数情報）については、その情報量が少ないので適宜省略して説明する。
【００８６】
次に、上記基本原理に基づく各種の符号化方式について説明する。
【００８７】
以下に説明する各方式の符号化で生成される符号情報は、
・ラベル情報
・階調代表値
・参照情報
・ブロック属性情報
・階調値出現頻度情報
で構成される。１ブロックあたりの符号量は固定長にされる。ラベル情報は全てのブロックが画素毎に保持し、これに基づいて画像情報の詳細パターンが復元される。他の情報は必要に応じて保持される。階調代表値は復元階調値を表す。参照情報は自ブロック以外の（もしくは自ブロックが保有する）階調代表値を参照するための参照情報（参照先を示す情報）である。また、１つのラベル情報の値に複数の参照先が対応付けされる場合には、階調値出現頻度情報が含まれる場合がある。階調値出現頻度情報の中には、例えば参照先の最大／最小数を任意に決定するための、参照先数情報が含まれる場合がある。また、これら情報のうち、何を保持しているかを示す、ブロック属性情報が含まれ（必要に応じて保持）、その中には、要共有ブロック／独立ブロックの識別情報、複数の参照先がある場合の階調値出現頻度情報、や、本発明にかかわる複数の手法を選択的に用いた場合の、復号化時アルゴリズム選択情報が適宜含まれる。
【００８８】
＜第１方式＞
第１方式は、共有する階調代表値を相互に持ち合う方式である。すなわち、各ブロックがそれぞれ所定数以下の階調代表値と他のブロックの符号情報に含まれる階調代表値への参照情報の双方を持つ方式である。図４は従来のＢＴＣ符号化方式で生成される符号情報を模式的に示し、図５は第１方式で生成される符号情報を模式的に示している。なお、図４下部には、図中で使用される各絵柄の定義を表した凡例を示してある。
【００８９】
ここでは、画素毎に階調代表値（参照情報を介して参照する階調代表値を含む）を４つの中から選択できるものとし、画素毎のラベル情報は２ビットになっている。また、各階調代表値はＣＭＹＫ各８ｂｉｔによる３２ｂｉｔ、参照情報は各４ｂｉｔ（参照先候補数１６まで）とする。
【００９０】
図４に示す従来のＢＴＣ符号化方式の場合、各ブロックの符号情報３２の情報量は、画素毎のラベル情報３２Ａ（２ビット×１６画素）と３つの階調代表値３２Ｂ（３２ビット×３色）とを合計した１２８ｂｉｔになる。ブロック毎の符号情報３２は、分割前の画像内での各ブロックの位置に従って配列されている。
【００９１】
図５に示す第１方式においては、各領域の符号情報５０は、画素数分のラベル情報（２ｂｉｔ×１６画素）と、１つの階調代表値（３２ｂｉｔ）と２つの参照情報（４ｂｉｔ×２）で構成され、１ブロックあたりの符号量は７２ｂｉｔになっている。この例では、ブロック５０ａはＡ色を示す階調代表値５３（Ａ）を、ブロック５０ｂはＢ色を示す階調代表値５３（Ｂ）を、ブロック５０ｃはＣ色を示す階調代表値５３（Ｃ）を保持している。
【００９２】
これらの階調代表値５３はブロック５０ａ〜５０ｃで共有されており、ブロック５０ａはブロック５０ｂが有するＢ色の階調代表値５３（Ｂ）への参照情報５４（Ｂ）とブロック５０ｃが有するＣ色の階調代表値５３（Ｃ）への参照情報５４（Ｃ）とを保持する。また、ブロック５０ｂはブロック５０ａが有するＡ色の階調代表値５３（Ａ）への参照情報５４（Ａ）とブロック５０ｃが有するＣ色の階調代表値５３（Ｃ）への参照情報５４（Ｃ）とを保持し、ブロック５０ｃとブロック５０ｂが有するＢ色の階調代表値５３（Ｂ）への参照情報５４（Ｂ）とブロック５０ａが有するＡ色の階調代表値５３（Ａ）への参照情報５４（Ａ）とを保持している。
【００９３】
すなわち、第１方式では、各ブロック（領域）について、そのブロックに属する画素を所定数（図５の例では所定数は３）以下の類似する画素の組（グループ）に分類し、各組についてその組の画素の階調値を代表する一次階調代表値を決定する。次に、処理対象のブロックを含む近隣の複数ブロックにおいて、一次階調代表値が相互に類似する組を検索し、それら類似する組の一次階調代表値を代表する二次階調代表値を求める。この二次階調代表値をその複数ブロックの中のいずれか１つのブロック（第１ブロックとする）の符号情報の中に階調代表値として保持させ、残りのブロックのうち先の類似する組を含むブロックの符号情報においては、該類似する組に対応するラベル情報の値に対応付けて、第１ブロックの符号情報として保持されている二次階調代表値への参照情報を保持するようにしている。
【００９４】
図６は、第１方式による符号化処理（圧縮処理）の流れを示している。ここではまず各々のブロックについて従来のＢＴＣ符号化処理によって一次符号化する（ステップＳ２０１〜Ｓ２０４）。一次符号化では、たとえば図４に示す形式の符号情報を仮符号として生成する。そして、関連するブロックの一次符号化が完了したブロックについて、共有可能な階調代表値を探索し、参照情報を使用した符号情報を生成する二次符号化処理（ステップＳ２１０以降）を行う。
【００９５】
二次符号化処理では、一次符号化処理で生成した仮符号を、たとえば図５に示す形式の符号情報に変換することが行われる。なお、ステップＳ２１０以降の処理はさらに、参照できる情報がない「独立ブロック」に対応する処理や、共有する代表値に階調差があった場合に共有代表値に応じてラベル情報を修正する処理が含まれる。
【００９６】
各ステップを詳細に説明する。まず、元画像から４画素×４画素や８画素×８画素など予め設定されたサイズで１つのブロックを切り出す（ステップＳ２０１）。このブロックに属する画素を所定数（たとえば、３）以下の類似する画素のグループに分類してラベル付け（各画素にその画素が属するグループを示すラベル情報を付与）する（ステップＳ２０２）。
【００９７】
次に各グループに属する画素の階調値を代表する階調代表値（仮代表値とする）を算出し（ステップＳ２０３）、各グループを示すラベル情報の値とそのグループについて算出した仮代表値とを対応付けし、画素毎のラベル情報と各ラベル情報の値に対応付けした仮代表値とを仮のブロック符号（仮符号）として保存する（ステップＳ２０４）。この処理を元画像全体（全ブロック）について完了するまで繰り返し行う(ステップＳ２０５)。
【００９８】
上記繰り返し処理の途中（もしくは完了後）にて、あるブロックについてそのブロックおよび関連ブロックの符号化が完了（関連ブロックが確定）すると、関連ブロックの確定したそのブロックについてステップＳ２１０以降の処理を行う。関連ブロックは、参照先の候補になるブロックであり、たとえば、そのブロックの上下左右斜めの隣接８ブロックである。ステップＳ２１０では、保存されている中から関連ブロックが確定したブロックの仮符号と関連ブロックの仮符号を抽出する。
【００９９】
その後は、関連ブロックが確定したブロックの中から１つずつ選択した処理対象のブロック（自ブロックとする）について順次以下の処理を行う。まず、自ブロックの関連ブロックの中に、階調代表値（たとえば、図５に示す形式の符号情報５０に含める階調代表値５３）が決定済みのブロックがあるか否かを判断する（ステップＳ２１１）。なお、当初は階調代表値が決定済みのブロックは無い。
【０１００】
関連ブロックの中に階調代表値が決定済みのブロックが無い場合は（ステップＳ２１１；Ｎｏ）、自ブロックに属する画素を一次符号化で割り当てられた仮代表値でグループ分けし、画素数が最大グループの仮代表値を自ブロックの階調代表値とする（ステップＳ２１６）。この処理は、一次符号化において自ブロックの各画素に対して付与されたラベル情報をその値別（ラベル番号別）に集計し、最大数のラベル情報の値に対応付けされている仮代表値を階調代表値に決定するようにしてもよい。
【０１０１】
関連ブロックの中に階調代表値が決定済みのブロックがある場合は（ステップＳ２１１；Ｙｅｓ）、自ブロックの仮代表値の中で、隣接ブロック（関連ブロック）の符号情報に含まれる階調代表値と略一致する仮代表値を探索する（ステップＳ２１２）。該当する仮代表値が存在するときは（ステップＳ２１３；Ｙｅｓ）、隣接ブロックが有するその階調代表値への参照情報を付与（この仮代表値に係るラベル情報の値に対応付け）する（ステップＳ２１４）。
【０１０２】
その後、階調代表値あるいは参照情報が対応付けされていないラベル情報の値（残ラベルとする）について、ステップＳ２１６の処理を行う。すなわち、隣接ブロックの階調代表値を参照先にすることができた仮代表値を除く残りの仮代表値の中から自ブロックの階調代表値を決定する。ステップＳ２１２において隣接ブロックの階調代表値と略一致する仮代表値を見出すことができなかった場合は（ステップＳ２１３；Ｎｏ）、ステップＳ２１６に移行して自ブロックの階調代表値を決定する。
【０１０３】
ステップＳ２１６において自ブロックの階調代表値を決定した後、自ブロックを独立ブロックとするか否かを判定する（ステップＳ２１７）。独立ブロックとは他のブロックの階調代表値を参照しないブロックである。自ブロック内の全画素が同一の階調値を有する（いわゆる、ベタ）画像の場合、もしくは、関連ブロックの中に参照できる階調代表値が存在しない場合は独立ブロックにすると判定する。独立ブロックにする場合は、独立ブロックとしての所定の符号化を行って（ステップＳ２１８）、ステップＳ２２５へ移行する。
【０１０４】
独立ブロックでの符号化では、ベタ画像（仮代表値が１つ）であれば、１つの階調代表値を決定する。仮代表値が複数の場合は、たとえば、階調値を表現するｂｉｔ数を少なくして、複数の階調代表値を設定するようにしてもよい。図５の場合、階調代表値と参照情報を合わせて４０ｂｉｔ使用できるので、１つの階調代表値をＣＭＹＫ各４ｂｉｔの１６ｂｉｔで表すようにすれば、２色分の階調代表値を使用した独立ブロックとして符号化することができる。
【０１０５】
独立ブロックと判定しない場合は、他のブロックの中に後回し処理執行対象のブロックがあるか否かを調べ（ステップＳ２１９）、なければ（ステップＳ２１９；Ｎｏ）、自ブロックの中に、階調代表値とするか参照情報で参照するかが未決の仮代表値（未決のラベル）が残っているか否かを調べる（ステップＳ２２１）。未決の仮代表値が残っていない場合は（ステップＳ２２１；Ｎｏ）、当該ブロックについては処理完了となり（ステップＳ２２５）、ステップＳ２２６へ移行する。
【０１０６】
未決の仮代表値がある場合は（ステップＳ２２１；Ｙｅｓ）、関連ブロックの中に階調代表値が未決定のブロックが存在するか否かを調べ（ステップＳ２２２）、関連ブロックの全ブロックで階調代表値が既に決まっている場合は（ステップＳ２２２；Ｎｏ）、未決の仮代表値に対して、関連ブロックにおいて既に決定済みの階調代表値の中から参照先を選択して付与する（ステップＳ２２３）。これにより、当該ブロックについては処理完了となり（ステップＳ２２５）、ステップＳ２２６へ移行する。
【０１０７】
関連ブロックの中に階調代表値が未決定のブロックが存在する場合は（ステップＳ２２２；Ｙｅｓ）、後にそのブロックに対して決定される階調代表値がより好適な参照先になる可能性があるので、後回し処理の執行対象とし、後に行われる参照先の決定処理に必要なデータ（再リンク用補助データ）を保存する（ステップＳ２２４）。たとえば、未決ラベル（階調代表値もしくは参照情報が対応付けされていないラベル情報の値）のリスト、各々の仮代表値、現時点で統合すべき代表値などの情報を再リンク用補助データとして保存する。保存完了後、当該ブロックについては、処理終了として（ステップＳ２２５）、ステップＳ２２６へ移行する。
【０１０８】
なお、後回し処理の執行対象としたブロックについては、ステップＳ２１９において後回し処理執行対象のブロックが存在すると判断した場合に（ステップＳ２１９；Ｙｅｓ）、その未決ラベルについて、先ほど保存された再リンク用補助データ等を利用して、参照先を決定し参照情報を付与する処理が行われる（ステップＳ２２０）。
【０１０９】
ステップＳ２２６では、元画像から分割した全ブロックについて二次符号化が完了したか否かを調べ、全ブロック完了でなければ次のブロックについて処理を行い（ステップＳ２２７→Ｓ２１０→Ｓ２１１へ）、全ブロック完了した場合は（ステップＳ２２６；Ｙｅｓ）、処理を終了する。
【０１１０】
＜第２方式＞
第２方式は、所定数の階調代表値にて自己完結可能なブロックと自己完結不可能なブロックとを判別し、自己完結不可能なブロックのみが参照情報を有して自己完結可能なブロックの階調代表値を参照する符号化方式である。自己完結可能か否かは、所定数の階調代表値による符号化の妥当性をブロック毎に評価して行う。より詳細には、所定数の階調代表値で符号化した符号情報を復号化して得られる画像を元画像と比較した画質評価によって行う。第２方式は、さらに、自己完結不可能なブロックにおける符号化(二次符号化の方式)の違いにより第２Ａ方式と第２Ｂ方式に分けられる。
【０１１１】
なお、第２方式は、自己完結不可能なブロックのみが参照情報を使用した符号化を行うので、符号化の処理が第１方式に比べて簡略であるという利点がある。
【０１１２】
＜第２Ａ方式＞
第２Ａ方式では、所定数の階調代表値にて自己完結不可能なブロックについて、所定数より大である既定数で、当該ブロックに属する画素を類似する画素のグループに分類し、各グループに対してそのグループを代表する階調値を割り当て、この階調値に近似する階調代表値を近隣のブロックが保持する階調代表値の中から検索し、検索できた場合はその階調代表値への参照情報を与えて符号化する。すなわち、自己完結不可能なブロックについてラベル情報の重みを自己完結可能なブロックより増やすと共に各ラベル情報に対応して周囲の自己完結可能なブロックの階調代表値への参照情報を対応付けることで、ブロック全体の符号量を増やさずに実質的に多くの色を利用可能にする。
【０１１３】
図７は、第２Ａ方式で生成される符号情報を模式的に示している。この例では、上記所定数（自己完結可能なブロック６０が保持する階調代表値の最大数）は２、既定数（自己完結不可能なブロック６２が参照し得る階調代表値の最大数）は４になっている。
【０１１４】
この場合、自己完結可能なブロック６０ではラベル情報は１ｂｉｔ×１６画素＝１６ｂｉｔ、階調代表値は３２ｂｉｔ×２＝６４ｂｉｔとなり、符号情報は合計で８０ｂｉｔになる。
【０１１５】
自己完結不可能なブロック６２では各画素に２ｂｉｔのラベル情報を与えて、４色を表現可能にしている。自己完結不可能なブロック６２ではラベル情報は２ｂｉｔ×１６画素＝３２ｂｉｔ、階調代表値は存在せず０ｂｉｔ、参照情報は４ｂｉｔ×４個＝１６ｂｉｔとなり、符号情報は合計で４８ｂｉｔになる。
【０１１６】
なお、自己完結不可能なブロックの上下左右の４方向各々の隣接ブロックに２つの階調代表値が保持されている場合、参照先として８通りの選択肢があり、自身で階調代表値を持った場合の選択肢も含めて、参照情報１つ当たりに４ｂｉｔを割り当てている。
【０１１７】
自己完結不可能なブロック６２では自己完結可能なブロックの符号量８０ｂｉｔに対して３２ｂｉｔの余りがある。そこで、図７（ｂ）、（ｃ）に示すように、必要に応じて、自己完結不可能なブロック自身で１色、またはｂｉｔ数を半分に減じた２色の階調代表値を保持することができる。なお、ｂｉｔをさらに減じることでより多色の階調代表値を保持することも可能である。
【０１１８】
図７（ｂ）に示す自己完結不可能なブロック６２ａでは、ＣＭＹＫ各８ｂｉｔの３２ｂｉｔからなる階調代表値６３を１色分自身で保持する。ラベル情報の値「４」が示す参照情報はこの階調代表値６３へのポインタとなる。ここでは、上下左右の隣接４ブロックが持つ８つの階調代表値に対応する参照情報の値を１〜８と定義し、自身がもつ階調代表値６３への参照情報の値を「９」と定義している。
【０１１９】
図７（ｃ）に示す自己完結不可能なブロック６２ｂでは、ＣＭＹＫ各４ｂｉｔの１６ｂｉｔから各々なる２色分の階調代表値６４ａ、６４ｂを自身で保持している。ラベル情報の値「３」が示す参照情報は階調代表値６４ａへのポインタ、ラベル情報の値「４」が示す参照情報は階調代表値６４ｂへのポインタとなっており、階調代表値６４ａへの参照情報の値を「９」、階調代表値６４ｂへの参照情報の値を「１０」と定義してある。
【０１２０】
図７（ｂ）のように３２ｂｉｔ（フルビット）で保持する場合の階調代表値のデータ形式を構造種別１とし、図７（ｃ）のようにｂｉｔ数を減じて複数色を保持する場合の階調代表値のデータ形式を構造種別２とする。上下左右の隣接ブロックに類似する階調代表値が存在しない場合に上記構造種別１または２により、自身で階調代表値を持てばよい。
【０１２１】
図８は、第２Ａ方式による符号化処理（圧縮処理）の流れを示している。まず元画像から４画素×４画素のブロックを１つ切り出し（ステップＳ３０１）、このブロックを所定数の階調代表値（ここでは、最大２つの階調代表値）で従来のＢＴＣ符号化処理により一次符号化する（ステップＳ３０２）。この一次符号化にて得た符号情報を以後、ｘＢＴＣ４４符号と呼ぶものとする。次に、このｘＢＴＣ４４符号による符号化の精度（妥当性）を符号化精度情報に基づいて評価する（ステップＳ３０３）。上記ステップＳ３０１からＳ３０３の処理を元画像の全ブロックについて完了するまで繰り返す（ステップＳ３０４）。
【０１２２】
上記繰り返しの途中（もしくは完了後）にて、必要データが揃った処理対象ブロックを必要データと共に取得する（ステップＳ３０５）。必要データとは、処理対象ブロックのｘＢＴＣ４４符号とその符号化精度情報、および隣接８ブロックのｘＢＴＣ４４符号とそれらの符号化精度情報である。続いて、二次符号化処理への移行条件を判定する（ステップＳ３０６）。
【０１２３】
この判定では、自ブロックが自己完結不可能なブロック（要共有ブロックとも呼ぶ）であり、かつ周囲の８隣接ブロックに所定数以上の自己完結可能なブロック（独立ブロックとも呼ぶ）が存在することが移行条件である。
【０１２４】
要共有ブロックであるか否かは符号化精度情報に基づいて判断する、たとえば、符号化精度情報が所定値より大きい等の判断基準に合致する場合に「要共有ブロック」であると判断する。ここで所定値は、求める画質、プリンタ等、画像出力手段の解像力、本画像処理に用いるブロック領域のサイズ、階調代表値の数、によって異なるため、いくつかのテスト画像について実際に画像処理を行い、本発明の補正（二次符号化処理）が必要となる画像について符号化精度情報を求め、その平均値をもとに（たとえば、前記平均値よりも精度の低い、即ち、符号化精度情報がより大きな符号化処理ブロックから処理が適用されるよう値を加減し）所定値を定めれば良く、また符号化誤差が非常に大きくなる画像のモデルを作り（たとえば階調代表値が２つの符号化モデルに３色が均等に配置されたパターン等）、その場合の符号化精度情報を求め、これをもとに（たとえば、前記、符号化誤差が非常に大きくなる画像の符号化精度情報よりも精度の高い、即ち、符号化精度情報がより小さな、符号化処理ブロックでも処理が適用されるよう値を加減し）所定値を定めれば良い。
【０１２５】
処理対象ブロックが上記移行条件に合致しない場合は（ステップＳ３０７；Ｎｏ）、階調代表値の共有処理（二次符号化処理）は行わず（ステップＳ３１４）、ステップＳ３１５に移行する。
【０１２６】
処理対象ブロックが移行条件に合致する場合は（ステップＳ３０７；Ｙｅｓ）、階調代表値の共有処理（二次符号化処理）を行う。詳細には、処理対象ブロックの画像情報をラベル種別数を増やして（所定数より大である既定数の階調代表値（ここでは、最大４つの階調代表値））従来のＢＴＣ符号化処理を行って符号化し、仮の階調代表値を得る（ステップＳ３０８）。すなわち、画素毎２ｂｉｔのラベル情報と、各ラベル情報の値に対応する仮の階調代表値とを生成する。
【０１２７】
次に、隣接８ブロック分のｘＢＴＣ４４符号の各階調代表値（最大で１６個）を取得する（ステップＳ３０９）。ステップＳ３０８で求めた各仮の階調代表値について、その仮の階調代表値と類似する階調代表値をステップＳ３０９で取得した隣接８ブロックの階調代表値の中から探索し、探索に成功した仮の階調代表値については該探索された類似する階調代表値への参照情報を生成（仮の階調代表値に対応するラベル情報の値に参照情報を対応付け）し、探索に失敗した仮の階調代表値は未決ラベルとする（ステップＳ３１０）。
【０１２８】
未決ラベルが所定数（たとえば、ラベル情報の種別数の半分・・この例では２）を超える場合は（ステップＳ３１１；Ｎｏ）、適切な参照先が存在しないので、階調代表値の共有（二次符号化）は行わずに（ステップＳ３１４）、ステップＳ３１５へ移行する。
【０１２９】
未決ラベルが所定数以下の場合は（ステップＳ３１１；Ｙｅｓ）、未決ラベルの簡易輝度を算出し、図７（ｂ）、（ｃ）に示すように自身で保持する階調代表値の構造を構造種別１とするか構造種別２とするか決定する（ステップＳ３１２）。たとえば、未決ラベルが２個存在する場合に、各未決ラベルに対応する仮の階調代表値の輝度をそれぞれ算出し、それらの輝度のばらつきが所定値より大きい場合は構造種別２、所定値以下ならば構造種別１とする。そして、その決定した構造種別の階調代表値を未決ラベルに対応付けして、符号情報を生成し保存して（ステップＳ３１３）、ステップＳ３１５へ移行する。なお、未決ラベルが１つの場合は簡易輝度を計算するまでもなく構造種別１の階調代表値をその未決ラベルに対応付けて保持する。また未決ラベルが無い場合はステップＳ３１２、Ｓ３１３の処理は省略する。
【０１３０】
ステップＳ３１５では、全ブロックについて処理完了したか否かを調べ、未完了ならば（ステップＳ３１５；Ｎｏ）、次のブロックについてステップＳ３０５からの処理を継続し、全ブロック完了ならば（ステップＳ３１５；Ｙｅｓ）、本圧縮処理を終了する。
【０１３１】
＜第２Ｂ方式＞
第２Ｂ方式では、所定数の階調代表値にて自己完結不可能なブロック（要共有ブロック）については、そのブロックを複数の小領域（サブブロック）に分割し、各サブブロックを前記所定数以下の組となるように分類して各組の階調代表値（第２階調代表値）を決定し、第２階調代表値に類似する階調代表値を隣接ブロックの符号情報から検索し、検索できた場合はその階調代表値への参照情報を第２階調代表値に係る組を示すラベル情報の値に対応付けして符号化する。すなわち、自己完結不可能なブロックはより小さい複数のサブブロックに分割し、サブロック毎に、自己完結可能なブロックが保持する階調代表値と同数の参照情報を持つことで、サブブロックに分割前のブロックとして見れば実施的に多くの色を保持するようにしている。
【０１３２】
図９は、第２Ｂ方式の考え方を示している。８画素×８画素を１つのブロックとし、これに２つの階調代表値を与えて一次符号化した場合にその一次符号化が妥当な場合は、そのままその符号情報６０を利用する。一方、一次符号化が妥当で無い場合に、ブロックサイズを４画素×４画素のサブブロック６１に分割し、それぞれのサブブロック６１に２つの階調代表値を与えて符号化すると、ノイズは減少して画質は向上するが、４つのサブブロック６１の合計では階調代表値が８個になるのでこれらを自ブロックで保持すると、８画素×８画素単位で一次符号化する場合に比べて符号量が増大して圧縮率が低下する。
【０１３３】
そこで、８画素×８画素単位の一次符号化が妥当でないブロックについては、これを４画素×４画素の４つのサブブロック６６に分割し、各サブブロック６６は周囲のブロックが有する階調代表値への参照情報を持つようにする。すなわち、周囲に、類似する階調代表値を有するブロックがあれば、そのブロックが保持する階調代表値を借用する。
【０１３４】
図１０は、第２Ｂ方式で生成される符号情報を模式的に示している。この例では、上記所定数（自己完結可能なブロック６０の階調代表値の最大数）は２、自己完結不可能なブロック（要共有ブロック）６５の各サブブロック６６が参照し得る階調代表値の最大数も２になっている。この場合、自己完結可能なブロック６０の構造は第２Ａ方式と同一であり、１つのブロックの符号情報は８０ｂｉｔになる。
【０１３５】
自己完結不可能なブロック６５の各サブブロック６６では、各画素に１ｂｉｔのラベル情報を与えて２色を表現可能にしている。自己完結不可能なブロック６５では、ラベル情報は１ｂｉｔ×４画素×４サブブロック＝１６ｂｉｔ、階調代表値は存在せず０ｂｉｔ、参照情報は４ｂｉｔ×２個×４サブブロック＝３２ｂｉｔとなり、符号情報は合計で４８ｂｉｔになる。
【０１３６】
なお、ここでは、自己完結不可能なブロックの上下左右の４方向各々の隣接ブロックに２つの階調代表値が保持されている場合、参照先として８通りの選択肢があり、自身で階調代表値を持った場合の選択肢も含めて、参照情報１つ当たり４ｂｉｔの情報を割り当てている。
【０１３７】
自己完結不可能なブロック６５では自己完結可能なブロックの符号量８０ｂｉｔに対して３２ｂｉｔの余りがあるので、図１０（ｂ）、（ｃ）に示すように、必要に応じて、自己完結不可能なブロック自身で構造種別１による１色、またはｂｉｔ数を半分に減じた構造種別２による２色の階調代表値を保持する。
【０１３８】
図１０（ｂ）に示す自己完結不可能なブロック６５ａでは、ＣＭＹＫ各８ｂｉｔの３２ｂｉｔからなる階調代表値６７を１色分自身で保持する。第４のサブブロック６６ｄではそのラベル情報の値「２」が示す参照情報はこの階調代表値６７へのポインタとなっている。ここでは、上下左右の隣接４ブロックが持つ８つの階調代表値に対応する参照情報の値を１〜８と定義し、自身がもつ階調代表値６７への参照情報の値を「９」と定義している。
【０１３９】
図１０（ｃ）に示す自己完結不可能なブロック６５ｂでは、ＣＭＹＫ各４ｂｉｔの１６ｂｉｔからなる２色分の階調代表値６８ａ、６８ｂを自身で保持している。第３サブブロック６６ｃのラベル情報の値「２」が示す参照情報は階調代表値６８ａへのポインタ、第４サブブロック６６ｄのラベル情報の値「１」が示す参照情報は階調代表値６８ｂへのポインタとなっており、階調代表値６８ａへの参照情報の値を「９」、階調代表値６８ｂへの参照情報の値を「１０」と定義してある。
【０１４０】
図１１は、第２Ｂ方式による符号化処理（圧縮処理）の流れを示している。ここでは、ブロックサイズを８画素×８画素とし、サブブロックのサイズを４画素×４画素とする。あらかじめ８画素×８画素のブロックとそのサブブロックの各々について重複して従来のＢＴＣ符号化処理による一次符号を生成し、８画素×８画素のブロックの一次符号の妥当性を評価する。そして、妥当性があるブロックに付いては自己完結可能なブロックとして８画素×８画素のブロックの一次符号をそのまま利用し、妥当性の無いブロックについては、４つのサブブロックの各階調代表値に対して隣接ブロックの階調代表値への参照情報を付与するように試みる。
【０１４１】
詳細には、まず元画像から８画素×８画素のブロックを１つ切り出し（ステップＳ４０１）、このブロックを所定数の階調代表値（ここでは、最大２つの階調代表値）にて従来のＢＴＣ符号化処理で一次符号化する（ステップＳ４０２）。この一次符号化処理にて得た符号情報を以後、ｘＢＴＣ８８符号、と呼ぶものとする。次にこのｘＢＴＣ８８符号による符号化の精度（妥当性）を評価し、その評価結果（符号化精度情報）を保存する（ステップＳ４０３）。
【０１４２】
また、ステップＳ４０１で切り出した８画素×８画素のブロックから４画素×４画素のブロック（サブブロック）を４つ切り出し（ステップＳ４０４）、各サブブロックについて所定数の階調代表値（最大２つの階調代表値）にて従来のＢＴＣ符号化処理で一次符号化してｘＢＴＣ４４符号を生成する（ステップＳ４０５）。上記ステップＳ４０１からＳ４０５の処理を元画像の全体について完了するまで繰り返す（ステップＳ４０６）。
【０１４３】
上記繰り返しの途中（もしくは完了後）にて、必要データが揃った処理対象ブロックを必要データと共に取得する（ステップＳ４０７）。必要データとは、処理対象ブロックのｘＢＴＣ８８符号とその符号化精度情報、処理対象ブロックから切り出された４つのサブブロックのｘＢＴＣ４４符号、処理対象ブロックの隣接８ブロックのｘＢＴＣ８８符号とそれらの符号化精度情報である。
【０１４４】
続いて、二次符号化処理への移行条件を判定する（ステップＳ４０８）。この判定では、処理対象ブロックが自己完結不可能なブロック（要共有ブロック）であり、かつ周囲の８隣接ブロックに所定数以上の自己完結可能なブロック（独立ブロックとも呼ぶ）が存在することが移行条件である。
【０１４５】
処理対象ブロックが上記移行条件に合致しない場合は（ステップＳ４０９；Ｎｏ）、階調代表値の共有処理（二次符号化処理）は行わず（ステップＳ４１６）、ステップＳ４１７に移行する。
【０１４６】
処理対象ブロックが移行条件に合致する場合は（ステップＳ４０９；Ｙｅｓ）、階調代表値の共有処理（二次符号化処理）を行う。詳細には、処理対象ブロックから切り出された４個のサブブロックのｘＢＴＣ４４符号から最大で８個の階調代表値（第２階調代表値とする）を取得し（ステップＳ４１０）、さらに隣接８ブロック分のｘＢＴＣ８８符号から各階調代表値（最大で１６個）を取得する（ステップＳ４１１）。
【０１４７】
ステップＳ４１０で取得した各第２階調代表値について、その第２階調代表値と類似する階調代表値をステップＳ４１１で取得した隣接８ブロックの階調代表値の中から探索し、探索に成功した第２階調代表値については該探索された類似する階調代表値への参照情報を生成（当該第２階調代表値に係るサブブロックの当該第２階調代表値に対応するラベル情報の値に参照情報を対応付け）し、探索に失敗した第２階調代表値は未決ラベルとする（ステップＳ４１２）。
【０１４８】
未決ラベルが所定数（たとえば、４サブブロックの全第２階調代表値数の半分・・この例では４）を超える場合は（ステップＳ４１３；Ｎｏ）、適切な参照先が存在しないので、階調代表値の共有処理（二次符号化）は行わずに（ステップＳ４１６）、ステップＳ４１７へ移行する。
【０１４９】
未決ラベルが所定数以下の場合は（ステップＳ４１３；Ｙｅｓ）、未決ラベル（参照先未決の第２階調代表値）の簡易輝度を算出し、図１０（ｂ）、（ｃ）に示すように自身で保持する階調代表値の構造を構造種別１とするか構造種別２とするか決定する（ステップＳ４１４）。たとえば、未決ラベルが２個存在する場合に、各未決ラベルに対応する第２階調代表値の輝度をそれぞれ算出し、それらの輝度のばらつきが所定値より大きい場合は構造種別２、所定値以下ならば構造種別１とする。
【０１５０】
そして、その決定した構造種別の階調代表値を未決ラベルに対応付けして、符号情報を生成し保存して（ステップＳ４１５）、ステップＳ４１７へ移行する。なお、未決ラベルが１つの場合は簡易輝度を計算するまでもなく構造種別１の階調代表値をその未決ラベルに対応付けて保持する。また未決ラベルが無い場合はステップＳ４１４、Ｓ４１５の処理は省略する。
【０１５１】
ステップＳ４１７では、全ブロックについて処理完了したか否かを調べ、未完了ならば（ステップＳ４１７；Ｎｏ）、次のブロックについてステップＳ４０７からの処理を継続し、全ブロック完了ならば（ステップＳ４１７；Ｙｅｓ）、本圧縮処理を終了する。
【０１５２】
ＢＴＣ符号化処理においては、通常、図３６に示すように各ブロック３１に対して上下左右斜めの８ブロックが隣接する。階調代表値を参照する場合には、左右の隣接ブロックの階調代表値のみを参照先としても良いが、上下左右の４隣接ブロックあるいは斜め方向も含めた８隣接ブロック全てを参照先としてもよい。
【０１５３】
図１２は、第２Ｂ方式２において隣接ブロックを参照する際の、好ましい隣接領域（参照先の範囲）の構成例を示している。同図（ａ）では、要共有ブロック６５の注目サブブロック６６における参照範囲を、そのサブブロックと頂点を共有する４ブロック（自ブロックを含む）としている。また、同図（ｂ）では、要共有ブロックの周囲８ブロックとしている。
【０１５４】
このように参照可能な隣接ブロックを多くとった場合には、参照できる可能性のある階調代表値が多くなり、より好ましい処理結果が得られる可能性が高くなる。一方、参照先の候補が多くなると、一つの参照情報の情報量が増大するので、必要に応じて参照範囲を定義することが望ましい。なお、参照範囲は、数個離れたブロックを含まないように、隣接ブロックの範囲に制限することが望ましい。
【０１５５】
図１３は、第２Ｂ方式で利用可能な参照情報の情報量の抑制方法の一例を示している。本図では、各々の領域（ブロック）が２つの階調代表値を持ち得る場合を示す。たとえば、この場合、参照し得る階調代表値の数は全部で（自ブロックも含め）１８個となり、これを指し示すためには参照情報として５ｂｉｔ必要となる。ここで選択肢を１６以内に抑えるようにすれば参照情報を４ｂｉｔで構成できる。そこで、サブブロックと直接接していない、対角方向のブロックを参照候補としない、ことをルール化することで選択肢を１６個以内に抑えている。詳細には、左上サブブロック６６ａは、右下ブロックは参照しない、右上サブブロック６６ｂは左下ブロックは参照しない、左下サブブロック６６ｃは右上ブロックは参照しない、右下サブブロック６６ｄは、左上ブロックは参照しない。
【０１５６】
図１４は、第２Ｂ方式によって実際のパターン画像に符号化および復号化を行った場合の一例である。本例では一辺８画素のブロック領域内を２つの階調代表値で表現するＢＴＣ処理を実施している。従来のＢＴＣ符号化（ｘＢＴＣ８８）した場合の復元画像７１では、格子の頂点等、複数の色が１ブロック内に集まる箇所に大きな誤差（ノイズ）が生じている。第２Ｂ方式によって符号化した場合の復元画像７２では、ノイズが軽減されており、良好な圧縮／伸張結果が得られていることが分かる。
【０１５７】
＜第３方式＞
第３方式は、１つのラベル情報の値に対して複数の参照情報を割り当てることで、画素毎のラベル情報の情報量を増やすことなく、実質的な色数を増加させる符号化方式である。図１５（ａ）に示すように、微小なパターンによって中間調表現がなされている場合、これらは印刷物上では識別できない。ラベル付け時にこのような微小なパターンを構成する階調値各々について階調代表値が割り当てられると、ブロック領域内のより大きな、視認性の高い構造が一つのラベルに（つまり、一つの階調代表値に）丸め込まれ、好ましくない圧縮／伸張結果となる場合がある。
【０１５８】
第３方式では、このような場合に、視認性の高い構造をパターンマッチング等の手法により抽出してラベル付けを行い（このようにすると当然、１ラベル内に大きな階調差を有する画素が混在するから）、各々のラベル情報に複数の階調代表値への参照情報を付与する。これにより、好ましい圧縮符号化／伸張復号化処理が実現できる。
【０１５９】
たとえば、図１５の例のように、元画像が面積変調による中間調画像等の場合には、異なる中間調色の隣接境界にあるブロックでは多数の色が現れる。この例では、左ブロック７５ではＡ色、Ｂ色の２色の市松模様で中間調が表現され、右ブロック７６ではＣ色、Ｄ色の２色の市松模様で中間調が表現されており、これらの境界があるブロック７７ではＡ、Ｂ、Ｃ、Ｄの４色が含まれる。このブロック７７を２つの階調代表値で符号化しようとすると、同図（ｂ）に示すように、４つの色が２つの色に丸め込まれ、元画像とは全く異なる２色（Ｅ色、Ｆ色）に統合されてしまい、ブロックノイズとして目立ってしまう。
【０１６０】
上記のブロック７７の符号化においては色数を増やす必要があるが、２色の市松模様で構成される中間調を再現するには、その２色それぞれの色を持つ画素がブロック内のどの位置に出現しているかを忠実に再現する必要はなく、ある比率で入り交ざって再現されれば十分である。
【０１６１】
そこで、第３方式の符号化では、１つのラベル情報の値に対して複数（たとえば２色分）の参照情報をセットにして対応付ける。また、その２色がどのような出現比率となるかを示す階調値出現頻度情報を持たせて符号化する。復号化時には、１つのラベル情報の値に複数の参照情報が対応付けされているときは、たとえば、その値のラベル情報を有する複数の画素に対して、複数の参照情報の各々が指し示す色の画素が階調値出現頻度情報の示す割合で出現するようにして復元する。
【０１６２】
第３方式では、第２方式と同様に、所定数の階調代表値にて自己完結可能なブロックと自己完結不可能なブロックとを判別し、自己完結不可能なブロックのみが参照情報を有して自己完結可能なブロックの階調代表値を参照するように符号化する。自己完結可能か否かは所定数の階調代表値数で一次符号化し、これを復号して得た復元画像における各画素の色の妥当性に基づいて判断する。妥当性がないと判断したブロックについては、各画素に対応した妥当性の高い階調代表値を算出し、それら妥当性の高い階調代表値を隣接ブロックの階調代表値から検索し、検索できた場合は、１つのラベル情報の値に検索された複数の階調代表値への参照情報と、それらの階調値出現頻度情報とを対応付けて符号化する。
【０１６３】
図１６は、第３方式で生成される符号情報を模式的に示している。この例では、自己完結可能なブロック６０については第２Ａ方式や第２Ｂ方式と同様に符号化される。すなわち、階調代表値の最大数を２として、従来のＢＴＣ符号化処理で一次符号化された符号情報が生成される。この場合、自己完結可能なブロック６０の符号情報は合計で８０ｂｉｔになる。自己完結不可能なブロック８０では、１つのラベル情報の値に対して２つの参照情報をセット（参照情報セット８１）にして対応付けてある。
【０１６４】
自己完結不可能なブロック８０では、ラベル情報は１ｂｉｔ×１６画素＝１６ｂｉｔ、階調代表値は存在せず０ｂｉｔ、参照情報は（４ｂｉｔ×２）×２セット＝１６ｂｉｔとなり、符号情報は合計で３２ｂｉｔになる。なお、自己完結不可能なブロックの上下左右の４方向各々の隣接ブロックに２つの階調代表値が保持されている場合、参照先として８通りの選択肢があり、自身で階調代表値を持った場合の選択肢も含めて、参照情報１つ当たり４ｂｉｔの情報を割り当てている。また参照情報セット８１には、さらに階調値出現頻度情報（図示省略）が保持される。
【０１６５】
なお、図７（ｂ）、（ｃ）や図９（ｂ）、（ｃ）と同様に、余ったエリアを利用して、構造種別１による１色、もしくは構造種別２による２色を自ブロックに保持して参照するようにしてもよい。なお、図１５に示すように２つの中間調色の境界ブロック７７において自己完結不可能になると想定されるので、周囲のブロックに参照先が見つかる可能性は高い。
【０１６６】
図１７は、第３方式による符号化処理（圧縮処理）の流れを示している。まず元画像から４画素×４画素など所定サイズのブロックを切り出し（ステップＳ５０１）、このブロックに属する画素を所定数（たとえば、２）以下の類似する画素のグループに分類してラベル付け（各画素にその画素が属するグループを示すラベル情報を付与）する（ステップＳ５０２）。次に各グループに属する画素の階調値を代表する階調代表値（図中、代表値とする）を算出する（ステップＳ５０３）。
【０１６７】
続いて、各階調代表値の妥当性を評価し（ステップＳ５０４）、妥当性がある場合は（ステップＳ５０５；Ｙｅｓ）、各グループを示すラベル情報の値とそのグループについてステップＳ５０３で算出した階調代表値とを対応付けしたものと、各画素に与えたラベル情報とを仮のブロック符号（仮符号）として保存し（ステップＳ５０６）、全ブロック完了でなければ（ステップＳ５０７；Ｎｏ）、ステップＳ５０１に戻って処理を継続し、全ブロック完了になれば仮圧縮処理を終了する。
【０１６８】
階調代表値に妥当性がない場合は（ステップＳ５０５；Ｎｏ）、妥当性のない階調代表値に対応するグループに含まれる各画素に対する妥当性の高い階調代表値（仮代表値とする）を必要数算出する（ステップＳ５０８）。妥当性がない場合においてもステップＳ５０６へ移行して仮圧縮処理終了まで処理を継続する。
【０１６９】
上記仮圧縮処理の途中（もしくは完了後）にて、順次、自ブロックとその関連ブロックの仮符号が確定したブロックについて、当該自ブロックとその関連ブロック（隣接ブロック）の仮符号を抽出する（ステップＳ５０９）。自ブロックに妥当性のない階調代表値が存在するか否かを調べ（ステップＳ５１０）、存在しない場合は（ステップＳ５１０；Ｎｏ）、これらの階調代表値と画素毎のラベル情報とで符号情報を生成する（ステップＳ５１４）。これにより自ブロックに関する処理は終了し（ステップＳ５２０）、ステップＳ５２１へ移行する。
【０１７０】
妥当性のない階調代表値が存在する場合は（ステップＳ５１０；Ｙｅｓ）、この階調代表値に関してステップＳ５０８で算出した仮代表値に類似した階調代表値を隣接ブロックの仮符号の中から探索する（ステップＳ５１１）。
【０１７１】
仮代表値に類似する階調代表値が存在しない（探索失敗）場合は（ステップＳ５１２；Ｎｏ）、独立ブロックにすると判断し（ステップＳ５１３）、ステップＳ５１４へ移行し、独立ブロックとして符号化する。この場合、周囲に隣接ブロックとの間に跨る、視認性の高い画像構造は存在しないので、ブロック内符号にある程度の誤差があっても復号時に視認できず、許容される。そこで、仮圧縮時の階調代表値（ステップＳ５０３で算出したもの）と画素毎のラベル情報による符号情報を生成する。
【０１７２】
仮代表値に類似する階調代表値が存在する場合は（ステップＳ５１２；Ｙｅｓ）、探索された参照先が１つか否かを判断し（ステップＳ５１５）、１つの場合は（ステップＳ５１５；Ｙｅｓ）、その１つの参照先を１つのラベル情報の値に対応付けした参照情報を生成して（ステップＳ５１８）ステップＳ５１９へ移行する。
【０１７３】
参照先が複数の場合は（ステップＳ５１５；Ｎｏ）、階調値出現頻度（出現頻度情報）を算出し（ステップＳ５１６）、複数の階調代表値（参照先）を１つのラベル情報の値に割り当てた（ステップＳ５１７）参照先情報（参照先情報セット）を生成して（ステップＳ５１８）、ステップＳ５１９へ移行する。
【０１７４】
ステップＳ５１９では、画素毎のラベル情報と各ラベル情報の値に対応付けた参照情報（もしくは参照情報セット）とで当該ブロックの符号情報を生成する。なお、この符号情報においては妥当性の高い階調代表値を含む場合もある。これで自ブロックに関する処理は終了し（ステップＳ５２０）、ステップＳ５２１へ移行する。
【０１７５】
ステップＳ５２１では、元画像から分割した全ブロックについてステップＳ５１０以降の処理が完了したか否かを調べ、全ブロック完了でなければ（ステップＳ５２１；Ｎｏ）次のブロックについて処理を行い（ステップＳ５０９→Ｓ５１０へ）、全ブロック完了した場合は（ステップＳ５１２；Ｙｅｓ））、圧縮処理を終了する。
【０１７６】
図１８は、妥当性の高い仮代表値を算出する処理（図１７のＳ５０８）の詳細を示している。妥当性の低い対象代表値（階調代表値）に対応する画素の画像情報を取得し（ステップＳ５３１）、この画像情報を類似の階調を有する複数のグループに分類する（ステップＳ５３２）。そしてこれらグループ各々の代表値（たとえば、平均値）を仮代表値とする（ステップＳ５３３）。なお、グループに属する画素が１つの場合は、その画素の階調値をそのまま仮代表値とする。
【０１７７】
図１９は、階調値出現頻度を算出する処理（図１７のステップＳ５１６）における第１手法の流れを示している。第１手法は、仮代表値を算出する際の画素数カウントをそのまま出現比率の情報として用いるものである。まず各々の仮代表値に対応するグループ（図１８のＳ５３２で分類したグループ）に属する画素数と、それらの総和の画素数（妥当性の低い対象代表値に対応する画素数）を求める（ステップＳ５４１）。そして各々のグループに属する画素数を総和で除算した値を各グループに対応する仮代表値の階調値出現頻度として算出する（ステップＳ５４２）。
【０１７８】
図２０は、階調値出現頻度を算出する処理（図１７のステップＳ５１６）における第２手法の流れを示している。第２手法は、仮代表値を算出し、参照先の階調代表値を取得した後、元の階調代表値との階調差を色空間上の距離として測定し、その逆数に比例した頻度で階調代表値が用いられるようにしたものである。このようにすることで、（仮代表値とは若干の階調差が存在する）参照先の階調代表値の組合せによって、高い精度で元の階調代表値に近い平均階調を表現することが可能になり、高画質の画像処理となる。
【０１７９】
詳細には、まず、各々のグループの仮代表値各々について探索された参照先の階調代表値各々と、（妥当性の低い）対象代表値との、色空間上の距離を各々算出する（ステップＳ５５１）。仮代表値各々に対する距離の逆数に比例した仮数を求める（ステップＳ５５２）。仮数の総和が１になるよう正規化し、これを求める階調出現頻度とする（ステップＳ５５３）。
【０１８０】
ここで、第１、第２方式の符号化にも関連する、符号化精度情報の算出について説明しておく。
【０１８１】
図２１は、符号化精度情報算出処理を示している。対象ブロックの符号情報を取得し（ステップＳ５７１）、対象ブロックの符号情報を復号化し、対象領域の伸張画像情報（復元画像情報）を生成する（ステップＳ５７２）。次に、対象領域の元画像情報を取得し（ステップＳ５７３）、元画像情報と伸張画像情報とに基づいて符号化精度情報を算出して（ステップＳ５７４）処理を終了する。
【０１８２】
なお、要共有ブロック（自己完結不可能なブロック）か否かを判断する場合においては、対象ブロック内の全画素を対象として符号化情報精度の算出および評価判定を行う。図１７のステップＳ５０４における代表値の妥当性評価の場合は、対象代表値で伸張される画素のみが符号化情報精度の算出対象となる。
【０１８３】
符号化精度情報の算出は、元画像情報と、圧縮した画像情報を伸張した伸張画像情報の各々の値を基に、画像劣化量を評価する際に良く用いられる各種の手法を利用して算出する。たとえば、図２２の演算式に示したＰＮＳＲ（PeakSignalToNoiseRatio）を算出してもよいし、ここでは閾値指標として用いるのみであるから、その算出過程であるＭＳＥ（二乗平均誤差）を用いても良い。またさらには、「差の二乗」の代わりに、「差の絶対値」を用いても良い。また、他の画像劣化量評価手法、たとえば、ＳＳＩＭ（Structural Similarity）等を用いてもかまわない。
【０１８４】
なお、図１７のステップＳ５０４における階調代表値の妥当性評価においても、図１１のステップＳ４０３における符号化精度情報と同様に、差分の大きさを各種統計量として算出し、判断すればよい。この際、図１１の符号化精度情報では対象ブロック領域内全画素分の画像情報を評価対象としたが、図１７の場合は対象ブロック領域内の、評価する階調代表値に対応するラベルを付与された画素のみを評価対象とすればよい。
【０１８５】
＜第４方式＞
第４方式は、１ブロック内にサブブロックを設け、各サブブロックで既定色数を保持し、全体で「既定色数×サブブロック数」未満の代表値を保持する。各サブブロックは既定色数を指し示すことができればよいので、ラベル情報のｂｉｔ数を少なく抑えつつ、ブロック内の色数を実質的に増加させることができる。
【０１８６】
図２３は、第４方式で生成される符号情報を模式的に示している。この例では、１つのブロック（８画素×８画素）８５内に、４画素×４画素のサブブロック８６を４つ設けてある。各サブブロック８６は、それぞれ２つの階調代表値を選択でき、１画素あたりのラベル情報は１ｂｉｔであり、参照情報は２つ保持している。ブロック８５全体としては４つの階調代表値を保持しており、各サブブロック８６の参照情報はこれら４つの階調代表値を指し示し得るように２ｂｉｔで構成される。したがって、１ブロックの符号量は、（１ｂｉｔ×１６画素＋２ｂｉｔ×２参照情報）×４サブブロック＋３２ｂｉｔ×４階調代表値＝２０８ｂｉｔになる。元画像は３２ｂｉｔ×６４＝２０４８ｂｉｔであり、高い圧縮率を得ている。
【０１８７】
図２４は、第４方式による符号化処理（圧縮処理）の流れを示し、図２５はその符号化の流れを模擬的に示している。一つの大きなブロック（８画素×８画素とする）８５を４つの小領域（サブブロック８６（４画素×４画素））に分割して各々階調代表値を抽出し、ここから、より少ない数の第二の階調代表値を求めて符号化する。
【０１８８】
詳細には、まず元画像から８画素×８画素のブロック８５を切り出し（ステップＳ６０１）、このブロック８５を４画素×４画素の４つのサブブロック８６に分割する（ステップＳ６０２、図２５：Ｐ１）。サブブロック８６各々について２つの階調代表値を算出し、ＢＴＣ符号化処理（一次符号化）を行う（ステップＳ６０３）。次に、４つのサブブロックが有する８個の階調代表値を４個の第２階調代表値に統合する（ステップＳ６０４、図２５：Ｐ２）。そしてサブブロック各々のラベル情報の値について第２階調代表値への参照情報を生成し（ステップＳ６０５、図２５：Ｐ３）、これらから、図２３に示す形式の符号情報を生成して保存する（ステップＳ６０６）。以上の処理を全ブロック完了まで繰り返し（ステップＳ６０７；Ｎｏ）、全ブロック完了により（ステップＳ６０７；Ｙｅｓ）本圧縮処理を終了する。
【０１８９】
図２６は、サブブロックの形態例を示したものである。同図（ａ）は、図２５等に示すものと同様に相似の矩形のサブブロックに分割した例であるが、これに限定されず、同図（ｂ）に示すように三角形４個で分割しても良く、さらには他の形態を適宜に用いてもかまわない。
【０１９０】
<トリミング＞
次に、画像のトリミングを符号情報上で行う場合について説明する。
【０１９１】
ＢＴＣ符号化ではブロック毎の符号情報が元画像内での配置に従って整列して並んでいるから、元画像のブロック境界に沿ったトリミングを符号状態のままで実現することが可能となる。しかしながら、本発明の符号化方式では、階調代表値として隣接ブロックが保持する階調代表値を参照するため、トリミングによって切り捨てられる領域に参照先が存在することがある。
【０１９２】
図２７に示すように、元画像９０からブロック境界にて矩形のトリミング領域９１（図中、斜線を施した領域）を切り出した場合（トリミング位置Ｘ，Ｙはそれぞれブロックサイズの整数倍にされる）、トリミング領域９１の端部領域９２にあるブロックの参照情報の参照先がトリミング領域９１の１ブロック分外側の領域９３（切り捨てられる領域）のブロックに存在する可能性がある。たとえば、端部領域９２にあるブロック９２ａがトリミングによって切り捨てられる外側の隣接ブロック９３ａの階調代表値を参照する場合がある。そこで、トリミングによって分断されるブロック境界を跨る参照情報については、図２８に示す処理による手当を行う。
【０１９３】
図２８の処理では、ブロック境界を跨る参照情報があるか否かを確認し、ある場合はその階調代表値を取得して代替の参照先を（トリミング処理で残存する領域から）探し、あればこれを用い、無ければ独立ブロックとして処理することで、符号情報の再生成を行う。
【０１９４】
より詳細には、端部ブロックの符号を取得し（ステップＳ７０１）、その端部ブロックが他のブロックへの参照情報を持たない独立ブロックであるか否かを判定し（ステップＳ７０２）、独立ブロックであれば（ステップＳ７０２；Ｙｅｓ）、対処不要となり（ステップＳ７０４）ステップＳ７０１へ移行する。
【０１９５】
独立ブロックでない場合は（ステップＳ７０２；Ｎｏ）、参照リンクの切断（残存しないブロックを参照先とする参照情報）があるか否かを判断する（ステップＳ７０３）。参照リンクの切断がない場合は（ステップＳ７０３；Ｎｏ）、対処不要となり（ステップＳ７０４）ステップＳ７０１へ移行する。
【０１９６】
参照リンクの切断がある場合は（ステップＳ７０３；Ｙｅｓ）、切断された参照先の階調代表値を取得し（ステップＳ７０５）、この階調代表値の代替となる階調代表値を残存する参照可能な範囲内のブロックから検索する（ステップＳ７０６）。たとえば、トリミングより切断された元の参照先の階調代表値との階調差が、最も小さい階調代表値を残存する隣接領域から探索し、その差異が所定の条件におさまっている場合に「代替あり」と判断する。この際の所定の条件は、図６のステップＳ２１２において「略一致」と判断する場合の階調差と同一でもかまわないが、画面端にある微小ブロック領域内の画像情報であるから、より大きな階調差（即ち、代替が見つかりやすくなる方向）としてもかまわない。
【０１９７】
検索できた場合は（ステップＳ７０７；Ｙｅｓ）、その階調代表値への参照情報を参照リンクの切断されたラベル情報の値に対応付けて付与し（ステップＳ７０８）、ステップＳ７１０へ移行する。
【０１９８】
代替を検索できなかった場合は（ステップＳ７０７；Ｎｏ）、独立ブロック変換処理を行って（ステップＳ７０９）ステップＳ７１０へ移行する。
【０１９９】
ステップＳ７１０では全ブロック完了か否かを判断し、未完了であれば（ステップＳ７１０；Ｎｏ）ステップＳ７０１に戻って処理を継続し、完了であれば（ステップＳ７１０；Ｙｅｓ）、処理を終了する。
【０２００】
本発明の各方式の符号化では、図２９に示すように、ブロック領域各々を、
ａ）構造：参照先が無く、自ら全ての階調代表値を保持する必要があるブロック、
ｂ）構造：参照先となる隣接ブロックがあり、全ての階調代表値を保持する必要はないブロック、
の２種類に分類している。
【０２０１】
本発明の参照情報が有効に機能するのはｂ）構造のブロックである。ａ）構造のブロックについては、その特性（隣接ブロックとの関連性が薄い）から、ブロック内微細構造の階調表現精度が若干低下しても視認されることは無い。そこで、このようなブロックについては、図７（ｃ）、図９（ｃ）に示した構造種別２と同様に、階調代表値の階調精度を落として符号に保存することができ、ブロック間の符号情報量を一定化、または安定化することができる。
【０２０２】
なお、ａ）構造ブロックは画像内の他と関連の少ない微小領域に発生する場合があるほか、トリミング処理によって、本来、関連の深い画像領域から当該ブロックのみ切り残され、独立性の高いブロック領域となる場合があり、どちらも同じ考えで符号化処理可能である。
【０２０３】
また、参照先を検索できなかった場合には、検索条件を緩和して、改めて検索するようにしてもよい。たとえば、類似と判断する階調差の許容範囲を当初の値より大きくして再検索する、といったことを行う。
【０２０４】
次に、復号化処理について説明する。
【０２０５】
復号化処理では、復号対象のブロックの符号情報に含まれる画素毎のラベル情報を、そのラベル情報の値に階調代表値が対応付けされている場合はその階調代表値を階調値に持つ画素に変換し、そのラベル情報の値に参照情報が対応付けされている場合はその参照情報が指し示す階調代表値を階調値に持つ画素に変換することを行う。
【０２０６】
図３０は、復号化部２２が行う復号化処理の流れを示している。この処理は、階調値出現頻度が図１９に示す第１手法で算出されたものである場合に対応する。なお、ラベル情報の値に階調代表値が保持されている場合は従来と同様の復号化処理でよいのでその説明は省略してある。まず、復号対象となる符号情報を取得し（ステップＳ８０１）。
【０２０７】
次にその中から１ブロック領域に相当する符号情報を抽出し（ステップＳ８０２）、ラベル情報の各値に対応付けされている参照情報に基づいて階調代表値を取得する（ステップＳ８０３）。取得した階調代表値が１つであれば（第３方式での参照情報セットでない場合）（ステップＳ８０４；Ｙｅｓ）、従来と同様の伸張処理を実施する（ステップＳ８０５）。すなわち、画素毎のラベル情報をそのラベル情報の値に対応付けされているステップＳ８０３で取得した階調代表値を階調値に持つ画素に復元する。
【０２０８】
取得した階調代表値が１つでない場合は（ステップＳ８０４；Ｎｏ）、対応する階調値出現頻度情報を取得し(ステップＳ８０６)、対象のラベル情報を、対応する階調代表値の出現頻度が階調値出現頻度情報に合致するように選択して復元する(ステップＳ８０７)。
【０２０９】
ステップＳ８０５またはＳ８０７で復元した後、対象ブロックの全ラベル情報の値に対する復号が完了していなければ、次のラベル情報の値に対する処理を行う(ステップＳ８０８→ステップＳ８０３へ)。対象ブロックの全ラベル情報の値に対する復号が完了したならば、全ブロックについて復号完了か否かを調べ、完了していない場合は次のブロックについて復号処理を行う（ステップＳ８０９→Ｓ８０２へ）。全ブロックについて復号完了になれば本処理を終了する。
【０２１０】
ステップＳ８０７での復元においては、以下のような復元方法を採ることができる。
【０２１１】
１：出現頻度に応じた単位出現パターンを繰り返す
例）階調値出現頻度情報が、階調代表値（１）：５０％、階調代表値（２）：２５％、階調代表値（３）：２５％、を示す場合、「階調代表値（１）、階調代表値（２）、階調代表値（１）、階調代表値（３）」の４画素からなるパターンを繰り返すように復号化する。すなわち、階調値出現頻度情報が示す出現比率に応じたパターンを設定し、そのパターンを繰り返すようにして復号化する。
【０２１２】
２：例えば１から１００の整数を乱数生成器（公知の手法を適宜用いる）で生成し、生成された乱数値に基づいて階調代表値を選択する
例）階調値出現頻度情報が、階調代表値（１）：５０％、階調代表値（２）：２０％、階調代表値（３）：１５％、階調代表値（４）：１５％、を示す場合、図３１のスケールに示すように、階調値出現頻度情報が示す出現比率に応じて各階調代表値に乱数値の範囲を割り当て、画素毎に乱数を発生させて得られた乱数値に応じた階調代表値をその画素の階調値に選択する。このように、ある階調値を選択する条件（乱数の幅）を出現頻度と合致させておけば、平均的に目標の出現頻度に合致した階調値の選択が行われる。
【０２１３】
次に、階調値出現頻度が図２０に示す第２手法で算出されたものである場合に対応する復号化処理について説明する。図３２は、該復号化処理の流れを示している。図３０に示すものと同一処理には同一のステップ番号を付してある。相違は、図３０のステップＳ８０６、Ｓ８０７に対応する部分が、ステップＳ８１０〜Ｓ８１５に置き換えられている点であり、相違する部分についてのみ説明する。ステップＳ８１０〜Ｓ８１５に係る処理では、図３３に示すように空間的に近い（密接な）関係にある参照先を選んで用いることで、画像の連続性に考慮した伸張処理を行っている。
【０２１４】
すなわち、図３３に示すように、１つのラベル（仮に「ラベルＸ」と名付ける）に複数の階調代表値（ここでは代表値ａ〜代表値ｄ）が対応している（参照先となっている）場合、その参照方向に基づいた復号化（伸張）処理を行う。たとえば、代表値ｃや代表値ｄのように、その参照方向に１つの参照先しか存在しない場合には、画像情報にはブロック領域の境界を越えた連続性があると推定できるから、距離的に参照先に近い画素については、全てその参照先の代表値で復号化する。図３３では、復号対象のブロック内の部分領域（２）に存在するラベルＸの画素は代表値ｄで復号し、部分領域（３）に存在するラベルＸの画素は代表値ｃで復号する。
【０２１５】
また、たとえば、代表値ａと代表値ｂのように、同一方向に２以上の参照先がある場合には、当該方向に近い領域についてのみ階調値出現頻度に基づいた代表値のランダムな選択を行って復号する。図３３では、部分領域（１）にあるラベルＸの画素については代表値ａと代表値ｂとを階調値出現頻度に基づいた選択を行って復号する。これにより、画像情報の位置関係を考慮した好ましい復号化が可能になる。
【０２１６】
図３２の流れ図のステップＳ８１０では、復元対象画素に（空間的に）最も近い参照先の階調代表値（同一方向に複数あれば、その複数の階調代表値）を取得する。取得した階調代表値が１つ（図３３では、復元対象画素が部分領域（２）または（３）にある場合）であれば（ステップＳ８１１；Ｙｅｓ）、復元対象画素を、その取得した階調代表値で復元する（ステップＳ８１２）。
【０２１７】
一方、取得した階調代表値が複数（図３３では、復元対象画素が部分領域（１）にある場合）であれば（ステップＳ８１１；Ｎｏ）、対応する階調値出現頻度情報を取得し(ステップＳ８１３)、隣接階調代表値の出現頻度が１になるよう、階調値出現頻度情報を正規化し(ステップＳ８１４)、対象のラベル情報を、対応する隣接階調代表値の出現頻度が隣接階調値出現頻度情報に合致するように用いて復元する（ステップＳ８１５）。
【０２１８】
なお、図３４に示すように、対象のラベル情報Ｘを持つ画素（部分領域（１）、（２）、（３）とする）が他のラベル情報を持つ画素（部分領域（４）とする）に分断されている場合は、分断された領域（１）（２）（３）の各々について最も近い参照を探し、その参照に基づいた復号化処理を行うことも可能であり、この場合、領域の分断の確認や、閉じた領域の抽出は既存の領域抽出や領域塗りつぶしに関する各種アルゴリズムを用いることができる。
【０２１９】
たとえば、図３４の場合、ラベル情報Ｘを持つ画素で構成された部分領域（１）は代表値ａと代表値ｂとを階調値出現頻度情報に基づいた選択を行って復号化する。ラベル情報Ｘを持つ画素で構成された部分領域（２）は代表値ｃで復号化し、ラベル情報Ｘを持つ画素で構成された部分領域（３）は代表値ｄで復号化する。
【０２２０】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０２２１】
たとえば、実施の形態で示した、１ブロックの画素数、ブロックの切り出し方、サブブロックへの分割形態、１画素あたりのラベル情報ｂｉｔ数、参照情報のｂｉｔ数などは例示であり、これに限定されるものではない。
【符号の説明】
【０２２２】
５…画像処理装置
６…画像メモリ
１０…符号化処理部
１１…画像入力部
１２…画像分割部
１３…一次符号化部
１４…二次符号化部
２０…復号化処理部
２１…符号入力部
２２…復号化部
２３…画像出力部
３０…元画像
３１…ブロック
３２…符号情報
３２Ａ…ラベル情報
３２Ｂ…階調代表値
３３、３４…復元画像
４０…元画像
４１…第１ブロック
４２…第２ブロック
４３…第３ブロック
４４…第４ブロック
４５…第５ブロック
４６、４７…代表値表
５０…符号情報
５１…ラベル情報
５３…階調代表値
５４…参照情報
６０…自己完結可能なブロックの符号情報
６１…サブブロック（参照情報を使用せず階調代表値１，２を保持）
６２…自己完結不可能なブロック（要共有ブロック）の符号情報
６３…構造種別１による階調代表値
６４ａ、６４ｂ…構造種別２による階調代表値
６５…自己完結不可能なブロック（要共有ブロック）の符号情報
６６…サブブロック
６７…構造種別１による階調代表値
６８ａ、６８ｂ…構造種別２による階調代表値
７１…従来のｘＢＴＣ８８による復元（伸張）画像
７２…第２Ｂ方式による復元（伸張）画像
７５、７６…２色で中間調表現されたブロック
７７…各々２色で表現された２つの中間調色の境界を含むブロック
８０…自己完結不可能なブロック（要共有ブロック）の符号情報
８１…参照情報セット
８５…第４方式による１ブロックの符号情報
８６…サブブロック
９０…元画像
９１…トリミング領域
９２…端部領域
９３…トリミング領域の１ブロック分外側の領域
【図１】
2011139156.tif 000003
【図４】
2011139156.tif 000004
【図５】
2011139156.tif 000005
【図６】
2011139156.tif 000006
【図７】
2011139156.tif 000007
【図８】
2011139156.tif 000008
【図９】
2011139156.tif 000009
【図１０】
2011139156.tif 000010
【図１１】
2011139156.tif 000011
【図１２】
2011139156.tif 000012
【図１３】
2011139156.tif 000013
【図１６】
2011139156.tif 000014
【図１７】
2011139156.tif 000015
【図１８】
2011139156.tif 000016
【図１９】
2011139156.tif 000017
【図２０】
2011139156.tif 000018
【図２１】
2011139156.tif 000019
【図２２】
2011139156.tif 000020
【図２３】
2011139156.tif 000021
【図２４】
2011139156.tif 000022
【図２５】
2011139156.tif 000023
【図２６】
2011139156.tif 000024
【図２７】
2011139156.tif 000025
【図２８】
2011139156.tif 000026
【図２９】
2011139156.tif 000027
【図３０】
2011139156.tif 000028
【図３１】
2011139156.tif 000029
【図３２】
2011139156.tif 000030
【図３３】
2011139156.tif 000031
【図３４】
2011139156.tif 000032
【図３５】
2011139156.tif 000033
【図３６】
2011139156.tif 000034
【図２】
2011139156.tif 000035
【図３】
2011139156.tif 000036
【図１４】
2011139156.tif 000037
【図１５】
2011139156.tif 000038
【図３７】
2011139156.tif 000039
【図３８】
2011139156.tif 000040