(57)【要約】【課題】ブロック分けした画像を、フィルタ処理を併用しつつ適切な代表値で符号化することのできる画像符号化方法等を提供する【解決手段】画像を分割して複数の第１の画像ブロックを生成するステップと、第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するステップと、第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるステップと、第２の画像ブロック内の画素に与えたラベル情報の各値に対する代表値を、その値のラベル情報を有する第２の画像ブロック内の画素に対応する第１の画像ブロック内の画素の信号値に基づいて求めるステップと、第１の画像ブロックの符号データを、この第１の画像ブロックに対応する第２の画像ブロック内の各画素に与えたラベル情報と該ラベル情報の各値に対する代表値とを用いて生成するステップを有する。【選択図】図１
2011250117.tif 000002
【特許請求の範囲】
【請求項１】
画像を分割して複数の第１の画像ブロックを生成するステップと、
前記第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するステップと、
前記第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるステップと、
前記第２の画像ブロック内の画素に与えた前記ラベル情報の各値に対する代表値を、その値のラベル情報を有する前記第２の画像ブロック内の画素に対応する前記第１の画像ブロック内の画素の信号値に基づいて求めるステップと、
前記第１の画像ブロックの符号データを、この第１の画像ブロックに対応する前記第２の画像ブロック内の各画素に与えた前記ラベル情報と該ラベル情報の各値に対して求めた前記代表値とを用いて生成するステップと、
を有する
ことを特徴とする画像符号化方法。
【請求項２】
前記フィルタ処理は、平滑化処理を含む
ことを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記フィルタ処理は、エッジ検出処理を含み、
検出されたエッジを境界として、前記第２の画像ブロック内の画素をグループに分類する
ことを特徴とする請求項１に記載の画像符号化方法。
【請求項４】
前記フィルタ処理は、ライン抽出処理を含み、
前記第２の画像ブロック内の画素を、ラインの部分とライン以外の部分とにグループ分けする
ことを特徴とする請求項１に記載の画像符号化方法。
【請求項５】
前記第２の画像ブロックとして、前記第１の画像ブロックに第１のフィルタ処理を施した第１種の第２の画像ブロックと、前記第２の画像ブロックに第２のフィルタ処理を施した第２種の第２の画像ブロックを生成し、
前記グループ分けを、前記第１種の第２の画像ブロックと前記第２種の第２の画像ブロックのうち、施したフィルタ処理の効果が強く現われている方を用いて行う
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像符号化方法。
【請求項６】
前記第２の画像ブロックは、分割前の画像に前記フィルタ処理を施し、該フィルタ処理後の画像のうちの前記第１の画像ブロックに対応する部分として生成する
ことを特徴とする請求項１乃至５のいずれか１つに記載の画像符号化方法。
【請求項７】
画像を分割して複数の第１の画像ブロックを生成する画像分割部と、
前記第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するフィルタ処理部と、
前記第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるラベリング処理部と、
前記第２の画像ブロック内の画素に与えた前記ラベル情報の各値に対する代表値を、その値のラベル情報を有する前記第２の画像ブロック内の画素に対応する前記第１の画像ブロック内の画素の信号値に基づいて求める代表値決定部と、
前記第１の画像ブロックの符号データを、この第１の画像ブロックに対応する前記第２の画像ブロック内の各画素に与えた前記ラベル情報と該ラベル情報の各値に対して求めた前記代表値とを用いて生成する符号データ出力部と
を有する
ことを特徴とする画像符号化装置。
【請求項８】
コンピュータに、
画像を分割して複数の第１の画像ブロックを生成するステップと、
前記第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するステップと、
前記第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるステップと、
前記第２の画像ブロック内の画素に与えた前記ラベル情報の各値に対する代表値を、その値のラベル情報を有する前記第２の画像ブロック内の画素に対応する前記第１の画像ブロック内の画素の信号値に基づいて求めるステップと、
前記第１の画像ブロックの符号データを、この第１の画像ブロックに対応する前記第２の画像ブロック内の各画素に与えた前記ラベル情報と該ラベル情報の各値に対して求めた前記代表値とを用いて生成するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を複数のブロックに分割して、ブロック毎の符号データを生成する画像符号化方法、画像符号化装置およびプログラムに関する。
【背景技術】
【０００２】
画像情報を符号化する方法として、符号化対象の画像を複数のブロックに分割し、ブロック毎に符号化するＢＴＣ（Block Truncation Coding）がある。一般に、ＢＴＣでは、画像情報をｎ×ｍ画素（たとえば、４×４画素）の矩形のブロックに分割し、各ブロックを、そのブロック内の各画素の信号値に従って複数のグループに分類する。そして、各画素にその画素がどのグループに属する画素であるかを示すラベル情報を付与（ラベリング）すると共に、グループ毎にそのグループに属する画素の信号値を代表する代表値を決定し、各ブロックを、グループ毎の代表値と画素毎のラベル情報とで表した符号データに符号化する。
【０００３】
ここで、各画素は、その画素の信号値に従って、どのグループに属するかが決定されてラベリングされる。このため、画素毎に信号値が大きく変化する市松模様のような微細構造の上に、エッジやライン等の視覚的に視認し易いマクロ的なパターンが重畳しているようなブロックでは、画素毎の微細構造がラベリングに反映され、マクロ的なパターンの形状が消失することがある。
【０００４】
図１４は、その一例として、視覚的に視認し易いエッジが、ラベリングによって消えてしまう場合を例示している。同図（ａ）に示すように、元画像１００には、視認される明瞭なエッジが存在し、このエッジを境界として色の濃い第１領域１０１と色の淡い第２領域１０２に分かれている。エッジの存在するブロック１０３を拡大すると、全体として１画素毎の市松模様の微細構造があり、色の濃い第１領域１０１では黒画素と白画素の市松模様に、色の淡い第２領域１０２はグレーの画素と白画素の市松模様になっている。
【０００５】
一般的なＢＴＣのアルゴリズムでは、たとえば、画像を８画素×８画素の単位ブロックに区切り、単位ブロック内の画素をL*a*b*色空間上の信号値に従って２色に分割する。また、２色に分割する閾値は、ブロック内画素群を主成分分析し、第一主成分に対し各画素についてスコア情報を算出し、スコア情報に基づいて決定する。各画素の信号値と閾値との関係は、同図（ｂ）に示すようになる。なお同図（ｂ）（ｃ）では簡単のために信号値を１次元で表している。ここでは、ブロックの最上段の第１行の部分画素の信号値を示している。
【０００６】
閾値によってラベリングすると、第１領域１０１の黒の画素も第２領域１０２のグレーの画素も共にラベル１となり、第１領域１０１、第２領域１０２ともに白画素はラベル０になる。ラベル１に対応する代表値Ｄ１は、ラベル１を与えた画素の信号値の平均値に決定され、ラベル０に対応する代表値Ｄ０は、ラベル０を与えた画素の信号値の平均値に決定されて符号化される。
【０００７】
これを復号すると、このブロックの各画素の信号値は同図（ｃ）のようになり、復号後のブロック１０４は同図（ｄ）に示すような画像になる。すなわち、元画像の微細構造(市松模様)は再現されるが、元画像では視認されていた第１領域１０１と第２領域１０２との間のエッジは消失している。同図（ｅ）に示す復号後の画像１０５では、元画像１００で明瞭であったエッジがぼやけてしまっている。このように、画素毎の信号値に従って単純にラベリングすると、微細で見え難いパターンが残り、視認し易い境界線などが消失するといった現象が生じてしまう。
【０００８】
図１５は、上記の問題が生じた復号画像１０７とその元画像１０６とを対比して例示している。図中の破線で囲った部分で顕著に現われているように、復号画像１０７では、元画像１０６にあったエッジはぼやけてしまい、ブロック単位の濃淡となって、ブロックノイズが現れている。
【０００９】
この問題を解決する従来の方法として、画像に、平滑化フィルタで高周波成分を除去する等の、画像の空間的特徴を抽出する処理を施し、その処理後の画像に基づいてラベルリングと各ラベルに対応する代表値の算出を行う方法がある。この方法では、ブロック内に、視認しにくい微細なパターンがあった場合はそれを平滑化によってぼかし、エッジやライン等の視認し易いパターンを残すことができる。
【００１０】
たとえば、図１４（ａ）と同じ元画像１００に対して平滑化処理を施すと、ブロック１０３の部分の各画素の信号値は、図１６（ｂ）に示すようになる。すなわち、平滑化処理前の元画像のブロック１０３の信号値では、図１６（ａ）に示すように、第１領域１０１も第２領域１０２も共に、ラベル０とラベル１とが交互に出現するようにラベリングされるが、平滑化すると、同図（ｂ）に示すように、第１領域１０１の全画素がラベル１に、第２領域１０２の全画素がラベル０にラベリングされる。
【００１１】
これを復号すると、このブロックの各画素の信号値は図１６（ｃ）のようになり、同図（ｄ）に示す復号後のブロック１０４Ｂおよび同図（ｅ）に示す復号画像１０５Ｂでは、元画像のブロック１０３に存在していた視認し難い微細構造(市松模様)は消失し、元画像１００（図１４(ａ)参照）で視認されていたエッジが再現されるようになる。
【００１２】
このほか、ＢＴＣで符号化復号化した場合の画質の改善方法として、以下のようなものが提案されている。（１）文字領域と写真領域を判別し、写真領域は高周波成分を除去して圧縮率を高め、文字領域では高周波成分を除去せずにエッジの再現性を高める（下記特許文献１参照）。（２）画素毎のラベル情報のビット数を１ビットとするＢＴＣ圧縮と２ビットとするＢＴＣ圧縮とを行い、これらをそれぞれ復元し、元画像と復元画像との差に応じて、どちらのＢＴＣ圧縮を採用するかを切り替える（下記特許文献２参照）。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平５−７５８７５号公報
【特許文献２】特開２０００−２５３２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
前述したように、符号化に先立って画像に平滑化フィルタなどのフィルタ処理を施すことが有用となるケースは様々にある。しかしながら、フィルタ処理を施してからＢＴＣ符号化する従来の方法では、フィルタ処理後の画像に対してラベリングおよび代表値の算出を行っており、算出した代表値が元画像からすれば不適切な値になることがあった。
【００１５】
たとえば、図１７に示すように、元画像のブロック１１０が、明瞭な境界で白の第１領域１１１と黒の第２領域１１２とに分かれた画像の場合、元画像のブロック１１０の信号値は同図（ｂ）に示すように第１領域１１１と第２領域１１２の境界で白の信号値（０）から黒の信号値（２５５）へと一気に変化し、第１領域１１１の画素はラベル０に、第２領域１１２の画素はラベル１にラベリングされる。
【００１６】
一方、平滑化すると、このブロックの平滑化後の画像１１３は白に近いグレーから黒に近いグレーへと緩やかなグラデーションで変化する画像になり、その信号値は同図（ｃ）に示すものになる。そのため、適宜の閾値によって、元画像と同じように第１領域１１１の画素をラベル０に、第２領域１１２の画素をラベル１にラベリングできたとしても、ラベル０に対応する代表値を、平滑化後の画像１１３におけるラベル０の画素（平滑化後の第１領域１１１にある画素）の信号値を使用し、その平均値として算出すると、算出した代表値が元画像の第１領域１１１の画素に対する適切な代表値（この例では０）とは異なる値になってしまう。ラベル１についても同様である。
【００１７】
このため、復号した信号値は同図（ｄ）に示すようになり、このブロックの復号画像１１４の第１領域１１１は薄いグレーに第２領域１１２は濃いグレーになり、第１領域１１１が白、第２領域１１２が黒であった元画像１１０とは異なる画像になってしまう。
【００１８】
なお、上記のような問題は、平滑化処理に限らず、他の種類のフィルタ処理を施した場合にも生じ得る。
【００１９】
本発明は、上記の問題を解決しようとするものであり、ブロック分けした画像を、フィルタ処理を併用しつつ適切な代表値で符号化することのできる画像符号化方法、画像符号化装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００２０】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００２１】
［１］画像を分割して複数の第１の画像ブロックを生成するステップと、
前記第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するステップと、
前記第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるステップと、
前記第２の画像ブロック内の画素に与えた前記ラベル情報の各値に対する代表値を、その値のラベル情報を有する前記第２の画像ブロック内の画素に対応する前記第１の画像ブロック内の画素の信号値に基づいて求めるステップと、
前記第１の画像ブロックの符号データを、この第１の画像ブロックに対応する前記第２の画像ブロック内の各画素に与えた前記ラベル情報と該ラベル情報の各値に対して求めた前記代表値とを用いて生成するステップと、
を有する
ことを特徴とする画像符号化方法。
【００２２】
上記発明では、第１の画像ブロックに対してフィルタ処理を施した第２の画像ブロックの画像に基づいて領域分けを行ってラベリングする。一方、各ラベルに対応する代表値は、フィルタ処理前の第１の画像ブロックの画像から求める。これにより、微細な構造などを無視して、視認可能な画像に対応した領域分けを行ってラベリングできると共に、各ラベルの値に対する代表値をフィルタ処理前の元画像に対応した値にすることができる。
【００２３】
［２］前記フィルタ処理は、平滑化処理を含む
ことを特徴とする［１］に記載の画像符号化方法。
【００２４】
上記発明では、元画像に含まれる高周波成分を除去した第２の画像ブロックに基づいてラベリングする。
【００２５】
［３］前記フィルタ処理は、エッジ検出処理を含み、
検出されたエッジを境界として、前記第２の画像ブロック内の画素をグループに分類する
ことを特徴とする［１］に記載の画像符号化方法。
【００２６】
上記発明では、画像ブロック内のエッジを検出し、そのエッジを境界としてその画像ブロックを領域分けしてラベリングする。
【００２７】
［４］前記フィルタ処理は、ライン抽出処理を含み、
前記第２の画像ブロック内の画素を、ラインの部分とライン以外の部分とにグループ分けする
ことを特徴とする［１］に記載の画像符号化方法。
【００２８】
上記発明では、画像ブロック内のライン(特に細線)を検出し、画像ブロックをラインの部分とライン以外の部分に領域分けしてラベリングする。
【００２９】
［５］前記第２の画像ブロックとして、前記第１の画像ブロックに第１のフィルタ処理を施した第１種の第２の画像ブロックと、前記第２の画像ブロックに第２のフィルタ処理を施した第２種の第２の画像ブロックを生成し、
前記グループ分けを、前記第１種の第２の画像ブロックと前記第２種の第２の画像ブロックのうち、施したフィルタ処理の効果が強く現われている方を用いて行う
ことを特徴とする［１］乃至［４］のいずれか１つに記載の画像符号化方法。
【００３０】
上記発明では、第１の画像ブロックに対して、複数種類のフィルタ処理を個別に施して複数種類の第２の画像ブロックを生成し、フィルタの効果が最も強く現われた第２の画像ブロックに基づいて領域分けを行ってラベリングする。たとえば、縦ラインの抽出フィルタ、横ラインの抽出フィルタを個別に施すことで、縦ラインと横ラインのいずれも検出でき、いずれかのラインが検出された画像ブロックはその検出されたラインに基づいて領域分けしてラベリングする。
【００３１】
［６］前記第２の画像ブロックは、分割前の画像に前記フィルタ処理を施し、該フィルタ処理後の画像のうちの前記第１の画像ブロックに対応する部分として生成する
ことを特徴とする［１］乃至［５］のいずれか１つに記載の画像符号化方法。
【００３２】
上記発明では、分割前の元画像にフィルタ処理を施し、フィルタ処理後の画像のうち第１の画像ブロックに対応する箇所を、該第１の画像ブロックに対してフィルタ処理を施した第２の画像ブロックとして扱う。
【００３３】
［７］画像を分割して複数の第１の画像ブロックを生成する画像分割部と、
前記第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するフィルタ処理部と、
前記第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるラベリング処理部と、
前記第２の画像ブロック内の画素に与えた前記ラベル情報の各値に対する代表値を、その値のラベル情報を有する前記第２の画像ブロック内の画素に対応する前記第１の画像ブロック内の画素の信号値に基づいて求める代表値決定部と、
前記第１の画像ブロックの符号データを、この第１の画像ブロックに対応する前記第２の画像ブロック内の各画素に与えた前記ラベル情報と該ラベル情報の各値に対して求めた前記代表値とを用いて生成する符号データ出力部と
を有する
ことを特徴とする画像符号化装置。
【００３４】
［８］コンピュータに、
画像を分割して複数の第１の画像ブロックを生成するステップと、
前記第１の画像ブロックに所定のフィルタ処理を施した第２の画像ブロックを生成するステップと、
前記第２の画像ブロック内の画素を複数のグループに分類すると共に、各画素にその画素が属するグループを示すラベル情報を与えるステップと、
前記第２の画像ブロック内の画素に与えた前記ラベル情報の各値に対する代表値を、その値のラベル情報を有する前記第２の画像ブロック内の画素に対応する前記第１の画像ブロック内の画素の信号値に基づいて求めるステップと、
前記第１の画像ブロックの符号データを、この第１の画像ブロックに対応する前記第２の画像ブロック内の各画素に与えた前記ラベル情報と該ラベル情報の各値に対して求めた前記代表値とを用いて生成するステップと、
を実行させるためのプログラム。
【００３５】
上記［７］［８］に係る発明では、［１］の発明と同様の効果が得られる。
【発明の効果】
【００３６】
本発明に係る画像符号化方法、画像符号化装置、プログラムによれば、ブロック分けした画像を、フィルタ処理を併用しつつ適切な代表値で符号化することができ、符号化復号化に伴う画質の劣化を防ぐことができる。
【図面の簡単な説明】
【００３７】
【図１】本発明に係る画像符号化方法によって画像データを符号化する画像符号化装置の概略構成を示すブロック図である。
【図２】元画像を、画像ブロックＢＬに分割して符号化する順序を例示した説明図である。
【図３】第１の画像ブロックの端部の画素を周囲に拡張する方法を例示した説明図である。
【図４】本発明の実施の形態に係る画像符号化装置が分割後の１つの第１の画像ブロックを符号化する処理を模式的に示した説明図である。
【図５】フィルタ処理部で平滑化処理を施す場合における画像符号化装置の符号化処理を示す流れ図である。
【図６】本発明の実施の形態に係る画像符号化装置が平滑化フィルタ処理を使用して１つの第１の画像ブロックを符号化する場合の画像および信号値の状態を例示した説明図である。
【図７】平滑化フィルタの一例を示す説明図である。
【図８】エッジのある画像に対して、フィルタ処理部でエッジ抽出処理を施す場合における画像符号化装置の符号化処理を示す流れ図である。
【図９】本発明の実施の形態に係る画像符号化装置がエッジ抽出処理を使用してエッジのある第１の画像ブロックを符号化する場合の画像および信号値の状態を例示した説明図である。
【図１０】エッジ抽出フィルタの一例を示す説明図である。
【図１１】ラインのある画像に対して、フィルタ処理部でライン抽出処理を施す場合における画像符号化装置の符号化処理を示す流れ図である。
【図１２】本発明の実施の形態に係る画像符号化装置がライン抽出処理を使用してラインのある第１の画像ブロックを符号化する場合の画像および信号値の状態を例示した説明図である。
【図１３】ライン抽出フィルタの一例を示す説明図である。
【図１４】従来のＢＴＣ符号化において、市松模様などの微細構造に視覚的に視認し易いエッジが重畳されている画像を符号化したとき、そのエッジがラベリングによって復号画像から消する場合の例を示す説明図である。
【図１５】図１４の問題が生じた復号画像とその元画像とを対比して例示した説明図である。
【図１６】従来の方法で画像に平滑化処理を行った後に符号化した場合に、市松模様などの微細構造が消失して視認可能なエッジが再現される例を示した説明図である。
【図１７】従来の方法で、平滑化処理後の画像を符号化した場合に、復号画像の信号値が元画像と異なる値になる問題点が生じることを示す説明図である。
【発明を実施するための形態】
【００３８】
以下、図面に基づき本発明の実施の形態を説明する。
【００３９】
図１は、本発明の実施の形態に係る画像符号化方法によって画像データを符号化する画像符号化装置１０の概略構成を示している。画像符号化装置１０は、画像入力部１１と、ブロック分割部１２と、フィルタ処理部１３と、ラベリング処理部１４と、代表値算出部１５と、符号データ出力部１６とを備えている。
【００４０】
画像符号化装置１０は、たとえば、図２に示すように、Ａ４サイズで解像度６００ｄｐｉ等の１枚の元画像Ｍを、その左上を基点として、８画素×８画素等の画像ブロックＢＬに分割し、各画像ブロックＢＬを順次、符号化する。たとえば、図２の破線矢印で示すように、元画像Ｍの左上端から右方向へ画像ブロック単位に順に符号化し、右端に到達すると１画像ブロック分下方に移動して、再び左端から右端へ順次符号化することを繰り返し行って、１枚の元画像全体を符号化する。
【００４１】
図１に戻って説明を続ける。画像入力部１１は、符号化対象の画像(元画像)の画像データである元画像データを入力する。ブロック分割部１２は、画像入力部１１によって入力した元画像データを複数の画像ブロック（これを第１の画像ブロックと呼ぶ。）に分割する。
【００４２】
フィルタ処理部１３は、ブロック分割部１２で分割して得た第１の画像ブロックに対して所定のフィルタ処理を施す。フィルタ処理部１３は第１の画像ブロック単位にフィルタ処理を施すため、第１の画像ブロックの端部の画素を注目画素とする場合には、周囲の画素が必要になる。そこで、端部の処理は、ブロック内の画素値（画素の信号値）を周囲に広げてフィルタをかける。周囲に広げる方法には以下の２通りがある。
（Ａ）端部の画素値をそのまま周囲に広げる
（Ｂ）ブロック内の画素値を、端部で折り返して周囲に広げる
【００４３】
たとえば、図３（ａ）のような第１の画像ブロック２１に、破線で示す３×３画素のフィルタ２２をかける場合、注目画素Ｐは画像ブロック左上端の黒画素になる。上記（Ａ）の方法では、同図（ｂ）に示すように、端部の画素（ここでは注目画素Ｐである黒画素）をそのまま周囲に広げてフィルタをかける。
【００４４】
上記（Ｂ）の方法では、同図（ｃ）に示すように、画像ブロックの枠を境に、画像ブロック内の画素値を折り返して周囲の画素とする。その際、たとえば、同図（ｄ）の矢印で示すように、足りない画素を、注目画素Ｐを中心とした点対称で補う。すなわち、図中の画素１は、画素５(＝注目画素Ｐ)を中心にして画素９の点対称で補っており、画素２は画素８の点対称、画素４は画素６の点対称で補っている。点対称で補えない時は、注目画素をそのまま周囲に広げる。同図（ｄ）の例では、画素３、画素７は点対称で補えないので、画素３および画素７の画素値を画素５の画素値にして、注目画素Ｐ（画素５）をそのまま周囲に広げる。
【００４５】
図１に戻って説明を続ける。ラベリング処理部１４は、フィルタ処理部１３で第１の画像ブロックにフィルタ処理を施して得た画像ブロック（これを、第２の画像ブロックとする）を１または複数の画素グループに分類し、それぞれの画素に、その画素が属する画素グループを示す識別情報としてラベルデータ（ラベル情報）を割り当てる。たとえば、２つのグループに分類し、一方のグループに属する画素にラベル０を、他方のグループに属する画素にラベル１を割り当てる。
【００４６】
代表値算出部１５は、ブロック分割部１２で分割して得た第１の画像ブロックと該第１の画像ブロックに対応する第２の画像ブロックの各画素に対してラベリング処理部１４で割り当てたラベルデータとを入力し、各ラベルデータの値に対する代表値を、第１の画像ブロック内の画素の信号値に基づいて決定する。すなわち、第２の画像ブロック内のラベルＮを割り当てた画素に対応する位置にある第１の画像ブロック内の画素の信号値からラベルＮの代表値を決定する。たとえば、第２の画像ブロック内のラベルＮを割り当てた画素に対応する位置にある第１の画像ブロック内のすべての画素の信号値の平均値をラベル０に対応する代表値として算出する。
【００４７】
符号データ出力部１６は、ラベリング処理部１４で割り当てたラベルデータと代表値算出部１５で求めた代表値とを入力し、これらを用いた符号データを作成して出力する。たとえば、各第１の画像ブロックの符号データは、その第１の画像ブロックに属する各画素のラベルデータと、それらのラベルデータの値に対応する代表値とから構成される。符号データのデータ形式はこれに限定されるものではなく、これらのラベルデータと代表値からさらなる圧縮処理などを施すなどしてもよく、上記のラベルデータと代表値に基づいて生成される任意の形式の符号データを含む。
【００４８】
なお、ここでは、従来のＢＴＣアルゴリズムと同様に、ラベリングは、L*a*b*色空間の信号値に基づいて行う。また閾値などの算出は、第１の画像ブロック内画素群を主成分分析し、第一主成分に対し各画素についてスコア情報を算出し、このスコア情報に基づいて決定する。
【００４９】
画像符号化装置１０は、マイクロプログラムを内蔵したシーケンサや論理回路などのハードウェア回路で構成されてもよいし、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えたコンピュータで所定のプログラムを実行することによってその機能が実現されてもよい。本発明に係る画像符号化方法は、いかなる装置、システムで実現されてもよい。
【００５０】
図４は、画像符号化装置１０が分割後の１つの第１の画像ブロックを符号化する処理を模式的に示している。まず、第１の画像ブロック３１にフィルタ処理を施して第２の画像ブロック３２を生成する。この第２の画像ブロック３２の各画素の信号値に基づいて第２の画像ブロック３２の各画素を１または複数の画素グループに分類する。そして、各画素グループに属する画素にそのグループを示すラベル情報を付与する。たとえば、２つの画素グループに分類するならば、一方のグループに属する画素にラベル０を、他方のグループに属する画素にラベル１を割り当てて、ラベルデータ３３を生成する。
【００５１】
次に、第２の画像ブロック３２をラベリングして得たラベルデータ３３内のラベルＮ（ここではＮは０または１）の画素に対応する位置にある第１の画像ブロック３１内の画素の信号値からラベルＮに対応する代表値を決定する。図４の例では、ラベル０の画素は左端の第１列から第４列の画素なので、第１の画像ブロック３１の第１列から第４列の画素の信号値の平均値をラベル０の代表値Ｄ０として算出する。また、ラベル１の画素は第５列から右端の第８列までの画素なので、第１の画像ブロック３１の第５列から第８列の画素の信号値の平均値をラベル１の代表値Ｄ１として算出する。そして、ラベルデータ３３と代表値Ｄ０、Ｄ１とを第１の画像ブロック３１の符号データとして出力する。
【００５２】
図５は、フィルタ処理部１３で平滑化処理を施す場合の画像符号化装置１０の符号化処理の流れを示している。元画像を複数に分割して第１の画像ブロックを生成する（ステップＳ１０１）。次に、図２の矢印で示すような順序で、第１の画像ブロック単位に符号化処理を行う。すなわち、上記の順序で処理対象の第１の画像ブロックを１つ選択し、該第１の画像ブロックの画像に平滑化フィルタ処理を施して第２の画像ブロックを生成する（ステップＳ１０２）。次に、第２の画像ブロック内の画素の信号値から閾値を算出する(ステップＳ１０３)。この閾値に基づいて、第２の画像ブロック内の画素を２つの画素グループに分類し（ステップＳ１０４）、同じ画素グループに属する画素に同じラベル情報を割り付けてラベルデータを生成する（ステップＳ１０５）。
【００５３】
次に、ラベルデータ（ラベル情報）の値毎に代表値を算出する(ステップＳ１０６)。詳細には、ラベル情報の値毎に、その値のラベル情報が割り付けられた第２の画像ブロック内の画素に対応する位置にある第１の画像ブロック内の画素の信号値の平均値を、そのラベル情報の値に対する代表値として算出する（ステップＳ１０６）。そして、ラベルデータと代表値のデータとを当該第１の画像ブロックに対応する符号データとして出力する(ステップＳ１０７)。ステップＳ１０２〜Ｓ１０７の処理を、分割したすべての第１の画像ブロックについて終了するまで繰り返し行い（ステップＳ１０８；Ｎｏ）、全てについて符号化が終了したら（ステップＳ１０８；Ｙｅｓ）、本処理を終了する。
【００５４】
図６は、平滑化フィルタ処理を使用した画像符号化装置１０が第１の画像ブロックを符号化する場合の画像例および信号値の例を示している。この例は、図１７で説明した問題点が、本発明の画像符号化装置１０による符号化では解決されていることを示すものである。なお、図６および以後に示す図９、図１２では簡単のために信号値を１次元で表している。
【００５５】
第１の画像ブロック４０は、図１７の画像ブロック１１０と同一の画像である。第１の画像ブロック４０は、明瞭な境界で白の第１領域４１と黒の第２領域４２とに分かれている。第１の画像ブロック４０の信号値は図６（ｂ）に示すように第１領域４１と第２領域４２の境界で白の信号値（０）から黒の信号値（２５５）へと一気に変化している。第１の画像ブロック４０に対してフィルタ処理部１３で平滑化処理を施した後の第２の画像ブロック４３は、白に近いグレーから黒に近いグレーへと緩やかなグラデーションで変化する画像になり、その信号値は同図（ｃ）に示すものになる。
【００５６】
ラベリング処理部１４が、第２の画像ブロック４３を、該画像ブロックに含まれる各画素の信号値の平均値を閾値として２つのグループに分類してラベリングすると、第１領域４１の画素はラベル０に、第２領域４２の画素はラベル１にラベル付けされる。
【００５７】
代表値算出部１５は、第２の画像ブロック４３においてラベル０が割り当てられた画素に対応する位置にある第１の画像ブロック４０内の画素の信号値からラベル０に対応する代表値Ｄ０を算出する。すなわち、この例では、第１の画像ブロック４０内の第１領域４１にある全画素の信号値の平均値を代表値Ｄ０として算出する。また代表値算出部１５は、第２の画像ブロック４３においてラベル１が割り当てられた画素に対応する位置にある第１の画像ブロック４０内の画素の信号値からラベル１に対応する代表値Ｄ１を算出する。この例では、第１の画像ブロック４０内の第２領域４２にある全画素の信号値の平均値を代表値Ｄ１として算出する。
【００５８】
このように、ラベリングは平滑化処理後の第２の画像ブロック４３に基づいて行い、各ラベルデータの値に対する代表値は、平滑化処理前の第１の画像ブロック４０内の対応する画素の信号値に基づいて算出するので、復号した信号値は同図（ｄ）に示すようになり、復号画像４４の第１領域４１は白に、第２領域４２は黒になり、第１の画像ブロック４０と同じ信号値の復号画像４４を得ることができる。また、平滑化フィルタ処理を施すことで、市松模様のように視認され難い微細構造の特徴は消え、視認されやすい、より大きな画像の特徴が復号画像４４で再現される。
【００５９】
第１の画像ブロックが８×８画素の場合、たとえば、図７に示すような、５×５の平滑化フィルタを使用すればよい。
【００６０】
次に、フィルタ処理部１３でエッジ抽出処理を施す場合について説明する。
【００６１】
図８は、エッジのある画像に対して、フィルタ処理部１３でエッジ抽出処理を施す場合の画像符号化装置１０の符号化処理の流れを示している。元画像を画像ブロックに分割して第１の画像ブロックを生成する（ステップＳ２０１）。次に、図２の矢印で示すような順序で、画像ブロック単位に符号化処理を行う。すなわち、上記の順序で処理対象の第１の画像ブロックを１つ選択し、該第１の画像ブロックの画像をエッジ抽出フィルタでフィルタ処理して第２の画像ブロックを生成する（ステップＳ２０２）。次に、フィルタ処理の結果に基づいて、第２の画像ブロック内の画素を２つの画素グループに分類する（ステップＳ２０３）。すなわち、エッジ抽出処理によってエッジが抽出された場合は、その抽出されたエッジを境界として、第２の画像ブロック内の画素を２つの画素グループに分類する。
【００６２】
次に、同じ画素グループに属する画素に同じラベル情報を割り付けてラベルデータを生成する（ステップＳ２０４）。そして、ラベルデータ（ラベル情報）の値毎に代表値を算出する(ステップＳ２０５)。詳細には、ラベル情報の値毎に、その値のラベル情報が割り付けられた第２の画像ブロック内の画素に対応する位置にある第１の画像ブロック内の画素の信号値の平均値を、そのラベル情報の値に対する代表値として算出する（ステップＳ２０５）。そして、ラベルデータと代表値のデータとを当該第１の画像ブロックに対応する符号データとして出力する(ステップＳ２０６)。ステップＳ２０２〜Ｓ２０６の処理を、分割したすべての第１の画像ブロックについて終了するまで繰り返し（ステップＳ２０７；Ｎｏ）、全てについて符号化が終了したら（ステップＳ２０７；Ｙｅｓ）、本処理を終了する。
【００６３】
図９は、エッジ抽出処理を使用した画像符号化装置１０がエッジのある第１の画像ブロックを符号化する場合の画像例および信号値の例を示している。図９（ａ）に示すエッジのある第１の画像ブロック４０は、図６の画像ブロック４０と同一であり、明瞭な境界（エッジ）で白の第１領域４１と黒の第２領域４２とに分かれている。第１の画像ブロック４０の信号値は図９（ｂ）に示すように第１領域４１と第２領域４２の境界で白の信号値（０）から黒の信号値（２５５）へと一気に変化している。第２の画像ブロック５３は、フィルタ処理部１３でエッジ抽出フィルタを施した後の画像であり、その信号値は同図（ｃ）に示すものになる。
【００６４】
ラベリング処理部１４は、抽出されたエッジ（この例の場合、黒部分の中心）を領域の境界５５として、第２の画像ブロック内の画素を０と１のラベルで塗りつぶしてラベリングする。画素の塗りつぶしには、公知の塗りつぶしアルゴリズムを使用すればよい。
【００６５】
代表値算出部１５は、第２の画像ブロック５３においてラベル０が割り当てられた画素に対応する位置にある第１の画像ブロック４０内の画素の信号値からラベル０に対応する代表値Ｄ０を算出する。すなわち、この例では、第１の画像ブロック４０内の第１領域４１にある全画素の信号値の平均値を代表値Ｄ０として算出する。また代表値算出部１５は、第２の画像ブロック５３においてラベル１が割り当てられた画素に対応する位置にある第１の画像ブロック４０内の画素の信号値からラベル１に対応する代表値Ｄ１を算出する。この例では、第１の画像ブロック４０内の第２領域４２にある全画素の信号値の平均値を代表値Ｄ１として算出する。
【００６６】
このように、エッジ抽出処理後の第２の画像ブロック５３に基づいてエッジを検出し、このエッジを境界として第２の画像ブロックを２つの画素グループ（領域）に分けてラベリングを行い、各ラベルデータの値に対する代表値は、エッジ抽出処理前の第１の画像ブロック４０内の対応する画素の信号値に基づいて算出するので、復号した信号値は同図（ｄ）に示すようになり、復号画像５４の第１領域４１は白に、第２領域４２は黒になり、第１の画像ブロック４０と同じ信号値の復号画像５４を得ることができる。また、エッジ抽出フィルタを施す場合、市松模様のように視認され難い微細構造は消え、視認されやすい、より大きな構造のエッジが復号画像５４で再現される。
【００６７】
第１の画像ブロックが８×８画素の場合、たとえば、図１０に示すような、５×５のエッジ抽出フィルタを使用すればよい。
【００６８】
次に、フィルタ処理部１３でライン抽出処理を施す場合について説明する。
【００６９】
図１１は、ラインのある画像に対して、フィルタ処理部１３でライン抽出処理を施す場合の画像符号化装置１０の符号化処理の流れを示している。元画像を画像ブロックに分割して第１の画像ブロックを生成する（ステップＳ３０１）。次に、図２の矢印で示すような順序で、画像ブロック単位に符号化処理を行う。すなわち、上記の順序で処理対象の第１の画像ブロックを１つ選択し、該第１の画像ブロックの画像をライン抽出フィルタで処理して第２の画像ブロックを生成する（ステップＳ３０２）。次に、フィルタ処理の結果に基づいて、第２の画像ブロック内の画素を２つの画素グループに分類する（ステップＳ３０３）。すなわち、ライン抽出処理によってラインの場所を検出し、ラインの部分の画素グループとライン以外の部分の画素グループとに領域分けする。
【００７０】
次に、同じ画素グループに属する画素に同じラベル情報を割り付けてラベルデータを生成する（ステップＳ３０４）。そして、ラベルデータ（ラベル情報）の値毎に代表値を算出する（ステップＳ３０５）。詳細には、ラベル情報の値毎に、その値のラベル情報が割り付けられた第２の画像ブロック内の画素に対応する位置にある第１の画像ブロック内の画素の信号値の平均値を、そのラベル情報の値に対する代表値として算出する（ステップＳ３０５）。そして、ラベルデータと代表値のデータとを当該第１の画像ブロックに対応する符号データとして出力する(ステップＳ３０６)。ステップＳ３０２〜Ｓ３０６の処理を、分割したすべての第１の画像ブロックについて終了するまで繰り返し（ステップＳ３０７；Ｎｏ）、全てについて符号化が終了したら（ステップＳ３０７；Ｙｅｓ）、本処理を終了する。
【００７１】
図１２は、ライン抽出処理を使用した画像符号化装置１０がラインを含む第１の画像ブロックを符号化する場合の画像例および信号値の例を示している。元画像には細いラインが存在しており、そのラインを中央に含む第１の画像ブロック６０を処理対象とする。
【００７２】
第１の画像ブロック６０は、中央に２画素幅の黒のライン６１が存在し、ライン以外の部分６２は白画素の領域となっている。第１の画像ブロック６０の信号値は図１２（ｂ）に示すようになっている。第２の画像ブロック６３は、フィルタ処理部１３でライン抽出フィルタを施した後の画像であり、その信号値は同図（ｃ）に示すものになる。
【００７３】
ラベリング処理部１４は、ライン抽出によって検出されたラインの部分とそれ以外の部分のうちの一方に属する画素をラベル０に、他方に属する画素をラベル１に塗りつぶしてラベリングする。画素の塗りつぶしには、公知の塗りつぶしアルゴリズムを使用すればよい。
【００７４】
代表値算出部１５は、第２の画像ブロック６３においてラベル０が割り当てられた画素に対応する位置にある第１の画像ブロック６０内の画素の信号値からラベル０に対応する代表値Ｄ０を算出する。すなわち、この例では、第１の画像ブロック６０内のライン以外の部分６２にある全画素の信号値の平均値を代表値Ｄ０として算出する。また代表値算出部１５は、第２の画像ブロック６３においてラベル１が割り当てられた画素に対応する位置にある第１の画像ブロック６０内の画素の信号値からラベル１に対応する代表値Ｄ１を算出する。この例では、第１の画像ブロック６０内のライン６１の部分にある全画素の信号値の平均値を代表値Ｄ１として算出する。
【００７５】
このように、ライン抽出処理後の第２の画像ブロック６３に基づいて、第２の画像ブロックをラインの部分とライン以外の部分の画素グループ（領域）に分類してラベリングし、各ラベルデータの値に対する代表値は、ライン抽出処理前の第１の画像ブロック６０内の対応する画素の信号値に基づいて算出するので、復号した信号値は同図（ｄ）に示すようになり、復号画像６４のライン６１は黒に、ライン以外の部分６２は白になり、第１の画像ブロック６０と同じ信号値の復号画像６４を得ることができる。また、ライン抽出フィルタを施す場合、１画素幅や２画素幅などの細いラインを的確に（線幅が太ることなく）復号画像で再現することができる。また、市松模様のように、視認され難い微細構造を消すこともできる。
【００７６】
第１の画像ブロックが８×８画素の場合、たとえば、図１３に示すような、５×５のライン抽出フィルタを使用すればよい。同図（ａ）は、縦ラインを抽出する縦ライン抽出フィルタ７１を、同図（ｂ）は横ラインを抽出する横ライン抽出フィルタ７２を、同図（ｃ）は斜めラインを抽出する斜めライン抽出フィルタ７３を例示している。斜めライン抽出フィルタ７３は右上がりの斜めラインを検出するものであり、左上がりの斜めラインの場合はフィルタ係数「４」の並びを左上の画素と右下の画素を結ぶ斜めの対角線上に配置したものにすればよい。
【００７７】
どの抽出フィルタを施すかは、元画像に含まれるラインの向きに応じて定めればよい。また、縦、横、斜めのいずれのラインも抽出して処理したい場合には、第１の画像ブロックに対して、縦、横、斜めの各ライン抽出フィルタを個別に適用し、縦ライン抽出フィルタを施した第２の画像ブロックと、横ライン抽出フィルタを施した第２の画像ブロックと、斜めライン抽出フィルタを施した第２の画像ブロックとを作成する。そして、フィルタの効果が最も強く現われた第２の画像ブロックに基づいてライン部分の画素グループとライン以外の部分の画素グループとに領域分けを行ってラベリングする。どのライン抽出フィルタを併用するかは検出したいラインの種類に応じて定めればよい。
【００７８】
同様にして、エッジ抽出フィルタとライン抽出フィルタなど複数種類の異なるフィルタを併用し、フィルタ効果が最も強く現われた第２の画像ブロックに基づいて領域（画素グループ）分けを行うようにしてもよい。すなわち、各フィルタは、そのフィルタが検出対象としている特徴が存在する画像ブロックでのみ反応する（効果が出る）ので、複数種類のフィルタを適用的に使用すればよい。
【００７９】
たとえば、平滑化フィルタと、エッジ抽出フィルタやライン抽出フィルタとを併用し、平滑化フィルタを施した第２の画像ブロックでラベリングすることを基本としつつ、エッジ抽出フィルタやライン抽出フィルタが強く反応した画像ブロックについては、その強く反応したフィルタの施された第２の画像ブロックでラベリングする、というようにするとよい。
【００８０】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００８１】
実施の形態では、分割後の第１の画像ブロックを単位にフィルタ処理を施すようにしたが、分割前の元画像全体にフィルタ処理を施した画像（フィルタ処理済み画像）を生成し、フィルタ処理済み画像のうち、注目する第１の画像ブロックに対応する部分の画像をこの第１の画像ブロックに対応する第２の画像ブロックとして扱って画素グループへの分類およびラベリングを行うようにしてもよい。
【００８２】
ラベリングにおける、信号値のL*a*b*色空間への変換や、主成分分析は必須ではない。これらを行うことが好ましいが、他の色空間へ変換してもよいし、モノクロ画像などでは主成分分析は不要である。
【００８３】
フィルタのサイズや係数は、実施の形態で例示したものに限定されず、適宜に設定すればよい。
【符号の説明】
【００８４】
１０…画像符号化装置
１１…画像入力部
１２…ブロック分割部
１３…フィルタ処理部
１４…ラベリング処理部
１５…代表値算出部
１６…符号データ出力部
２１…第１の画像ブロック
２２…フィルタ
３１…第１の画像ブロック
３２…第２の画像ブロック
３３…ラベルデータ
４０…視認可能な構造（エッジ）を有する第１の画像ブロック
４１…白画素からなる第１領域
４２…黒画素からなる第２領域
４３…平滑化フィルタ処理後の第２の画像ブロック
４４…復号画像
５３…エッジ抽出処理後の第２の画像ブロック
５４…復号画像
５５…エッジ抽出処理で検出された境界
６０…ラインを含む第１の画像ブロック
６１…ライン
６２…ライン以外の部分
６３…ライン抽出処理後の第２の画像ブロック
６４…復号画像
７１…縦ライン抽出フィルタ
７２…横ライン抽出フィルタ
７３…斜めライン抽出フィルタ
ＢＬ…画像ブロック
Ｍ…元画像
Ｐ…注目画素
【図１】
2011250117.tif 000003
【図２】
2011250117.tif 000004
【図３】
2011250117.tif 000005
【図５】
2011250117.tif 000006
【図７】
2011250117.tif 000007
【図８】
2011250117.tif 000008
【図１０】
2011250117.tif 000009
【図１１】
2011250117.tif 000010
【図１３】
2011250117.tif 000011
【図４】
2011250117.tif 000012
【図６】
2011250117.tif 000013
【図９】
2011250117.tif 000014
【図１２】
2011250117.tif 000015
【図１４】
2011250117.tif 000016
【図１５】
2011250117.tif 000017
【図１６】
2011250117.tif 000018
【図１７】
2011250117.tif 000019