<実施の形態1>
以下、図面を参照して本発明の実施の形態1について説明する。本実施の形態にかかるテクスチャ検出装置は、画像の局所領域における、ばらつき特徴量(例えば輝度ばらつき特徴量)とコントラスト特徴量とを同時に分析することによりテクスチャらしさを検出することを、主要な特徴としている。図1は、本実施の形態にかかるテクスチャ検出装置を示すブロック図である。図2A、図2Bは、本実施の形態にかかるテクスチャ検出装置で検出されるテクスチャパターンの一例を示す図である。
図2Aは、連続する繰り返しパターンのテクスチャの例であり、図2Bは、ランダムな模様のテクスチャの例である。図2Aのように繰り返しパターンの場合に、テクスチャの最小構成単位をテキストンと呼ぶ。本実施の形態において、テクスチャとは、図2Aおよび図2Bのように、連続した繰り返しパターン、あるいは、ランダムな模様状の特徴を持つ領域とし、文字画像はテクスチャに含まないものとする。例えば、本実施の形態にかかるテクスチャ検出装置が検出するテクスチャは、テクスチャ検出装置の後段でノイズリダクション処理が行われる場合に、不要なノイズ除去フィルタをかけたくない(マスクしたい)領域の画像であるとも言える。なお、図2A、図2Bでは、白地に黒の模様を図示しているが、実際には背景と模様のコントラストは低いものとする。
図1に示すように、本実施の形態にかかるテクスチャ検出装置1は、画素パターン特徴量算出部11、ばらつき特徴量算出部12、コントラスト特徴量算出部13、ブロック分割部14、特徴空間生成部15、および確率算出部16を備える。
なお、図3に示すテクスチャ検出方法が実現できるのであれば、テクスチャ検出装置をその他の機能ブロックで構成してもよい。また、図1のテクスチャ検出装置における各機能(各処理)は、ハードウェア又はソフトウェア、もしくはその両方によって構成されており、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。テクスチャ検出装置の各機能を、CPU(Central Processing Unit)やメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置に後述のテクスチャ検出方法(テクスチャ検出処理)を行うためのテクスチャ検出プログラムを格納し、テクスチャ検出装置の各機能を、記憶装置に格納されたテクスチャ検出プログラムをCPUで実行することにより実現してもよい。
画素パターン特徴量算出部11は、入力画像21を入力し、入力画像21に含まれる注目画素の画素値と当該注目画素の近傍に配置されている近傍画素の画素値との差分をバイナリコードに符号化した画素パターン特徴量を算出し、算出した画素パターン特徴量22をばらつき特徴量算出部12に出力する。
例えば入力画像21は、YCbCr方式やRGB方式を用いて規定されている画像信号である。本実施の形態にかかるテクスチャ検出装置1では、例えば入力画像21として、輝度信号(YCbCr方式の場合はY成分)を用いることができる。また画素値とは、入力画像21の各々の画素の成分の値である。例えば、入力画像21としてY成分を用いる場合、画素値はY成分の値である。
また本実施の形態にかかるテクスチャ検出装置1では、入力画像21として、YCbCr方式における色差信号(Cb成分、Cr成分)やRGB方式におけるR、G、Bの各成分を用いてもよい。更に、本実施の形態にかかる発明は、YCbCr方式やRGB方式以外の表示方式の画像についても同様に適用することができる。つまり、各画素の輝度、色相、彩度など、任意の成分を用いることができる。
ばらつき特徴量算出部12は、入力された画素パターン特徴量22のばらつき量を示すばらつき特徴量を算出し、算出したばらつき特徴量23をブロック分割部14に出力する。例えば、ばらつき特徴量算出部12は、注目画素における画素パターン特徴量と近傍画素における画素パターン特徴量とのハミング距離を用いてばらつき特徴量23を算出することができる。
コントラスト特徴量算出部13は、注目画素と近傍画素とのコントラスト量を示すコントラスト特徴量を算出し、算出したコントラスト特徴量24をブロック分割部14に出力する。例えば入力画像21が輝度値である場合、コントラスト量は、注目画素の輝度値と近傍画素の輝度値の差(輝度差)となる。
ブロック分割部14は、ばらつき特徴量23およびコントラスト特徴量24を入力し、ばらつき特徴量23およびコントラスト特徴量24のそれぞれを任意のサイズの画素ブロックに分割する。例えばブロック分割部14は、ばらつき特徴量23およびコントラスト特徴量24のそれぞれを、縦n×横m(n、mは整数)画素の画素ブロック(単にブロックとも言う)に分割する。
ここで、ばらつき特徴量23およびコントラスト特徴量24は、入力画像21の各画素について求められる値である。よって、ばらつき特徴量23およびコントラスト特徴量24を任意のサイズの画素ブロックに分割するとは、入力画像21を任意のサイズの画素ブロックに分割することと同義である。
特徴空間生成部15は、分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)25を入力し、ブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成し、生成した特徴空間26を確率算出部16に出力する。例えば特徴空間は、ばらつき特徴量およびコントラスト特徴量を特徴軸とする2次元の特徴空間である。
確率算出部16は、特徴空間26を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャらしさを示すテクスチャ確率を算出し、算出したテクスチャ確率27を出力する。
図3は、本実施の形態に係るテクスチャ検出装置で実行されるテクスチャ検出方法(テクスチャ検出処理)を示すフローチャートである。以下で、本実施の形態について詳細に説明する。
テクスチャ検出装置1に入力画像21が入力されると(ステップS1)、画素パターン特徴量算出部11は入力画像21に含まれる注目画素の画素値と当該注目画素の近傍に配置されている近傍画素の画素値との差分をバイナリコードに符号化した画素パターン特徴量を算出する(ステップS2)。
本実施の形態では、テクスチャを表現するための1つの特徴量として、ローカルバイナリコードを利用する。テクスチャを表現するためのバイナリコードとしては、非特許文献2で示されているようなローカルバイナリパターン(LBP:Local Binary Pattern)が知られている。
各画素の画素パターン特徴量(ローカルバイナリコード)は、注目画素と近傍画素との画素値(例えば、輝度)の大小を比較して2値で評価し、全近傍画素に対する評価結果を2進数の数値としてエンコードして表現する。図4は、画像パターン特徴量算出処理を説明するための図である。図4に示すように、注目画素31の近傍(この場合は、注目画素31の周囲)には、近傍画素32が配置されている。注目画素をgc=I(x、y)、近傍画素をgp(p=0...7)とすると、画素I(x、y)における画素パターン特徴量BR(x、y)は、次の式1を用いて求めることができる。式1において、thの値はノイズの影響を抑制するためのしきい値であり、通常はth=0である。
すなわち、注目画素gcと各近傍画素gpの輝度の差分を1ビットのs(i)とし、各ビットに重みづけした合計が、画素パターン特徴量BRとなる。入力画像の全画素に対して、式1により画素パターン特徴量BRを求める。
図5A〜図5Cは、画素パターン特徴量BRの算出例を示している。ここで、近傍画素は隣接していなくてもよいが、選択する近傍画素数は8画素とし、8ビットの画素パターン特徴量BRとする。図5Aに示す例では、注目画素の輝度が6であり、左上画素から時計回り(右回り)の順に各近傍画素の輝度が、6、5、2、1、7、8、9、7である。このため、図5Bに示すように、注目画素と各近傍画素の大小関係によりs(0)=1、s(1)=0、S(2)=0、s(3)=0、s(4)=1、s(5)=1、s(6)=1、s(7)=1となり、8ビットのs(i)のパターン(バイナリコードパターン)は、11110001となる。各ビットの位置に応じた重み付けを図5Cのようにし、各ビットを合計すると、画素パターン特徴量BR(gc)=1+16+32+64+128=241となる。
次に、ばらつき特徴量算出部12は、ステップS2において算出した各画素における画素パターン特徴量BR(x、y)を用いて、ばらつき特徴量を算出する(ステップS3)。例えば、ばらつき特徴量算出部12は、注目画素における画素パターン特徴量と近傍画素における画素パターン特徴量とのハミング距離を用いてばらつき特徴量を算出することができる。
ステップS2において算出した各画素の画素パターン特徴量BR(x、y)は、注目画素gcと各近傍画素gpのテクスチャ特徴を現わしている。文字画像に代表されるようなエッジや平坦部は画素パターン特徴量の変化が少ないか一様であることが多い。一方、テクスチャは画素パターン特徴量の変化が比較的ランダムに発生する。本実施の形態では、この画素パターン特徴量の非一様性を評価するための指標値として、画素パターン特徴量のばらつき量を示すばらつき特徴量を算出する。
ステップS2において算出した各画素の画素パターン特徴量BR(x、y)は、2値化されたテクスチャパターンを示している。このため、画素パターン特徴量BR(x、y)の大小関係は、求めようとしている非一様性とは関連がない。つまり、画素パターン特徴量が64と128とでは大きく値が異なっているが、バイナリコードとしての意味は01000000と10000000であり、パターンとして見ると類似している。したがって、分散を求める演算ではステップS2で算出した画素パターン特徴量のばらつき量を評価することができない。
そこで本実施の形態では、式2に示すように、注目画素gcにおける画素パターン特徴量BR(gc)と近傍画素gpにおける画素パターン特徴量BR(gp)とのハミング距離を積算することで、ばらつき特徴量(画素パターン特徴量のばらつき量)DR(x、y)を算出する。式2において、distance(m、n)はmとnのハミング距離を求める関数であり、画素パターン特徴量BRが8ビットで表現されているので0〜8の値をとる。例えば、BR(gc)=241=10001111、BR(g0)=115=01110011のとき、distance(BR(gc)、BR(g0))=6となる。ばらつき特徴量DR(x、y)は入力画像の全画素に対して求める。
コントラスト特徴量算出部13は、入力画像21に含まれる注目画素と近傍画素とのコントラスト量を示すコントラスト特徴量を算出する(ステップS4)。例えば入力画像21が輝度値である場合、コントラスト量は、注目画素の輝度値と近傍画素の輝度値の差(輝度差)となる。ステップS2で算出した画素パターン特徴量BR(x,y)は、注目画素と近傍画素との輝度の大小関係の特徴を表現できるが、どの程度の輝度差があるかは表現することができない。そこで本実施の形態では、テクスチャを表現するためのもう1つの特徴量として、コントラスト特徴量を利用する。
各画素のコントラスト特徴量CR(x、y)は、画素パターン特徴量と同様にして、画素I(x、y)における局所的なコントラスト量を次の式3を用いて求める。式3において、Hはh(gp)=gpとなるgpの個数、Lはl(gp)=gpとなるgpの個数である。
すなわち、注目画素gcよりも輝度が大きい近傍画素gpの平均から、注目画素gcよりも輝度が小さい近傍画素gpの平均を差し引いた値が、コントラスト特徴量CR(x、y)となる。入力画像の全画素に対して、式3を用いてコントラスト特徴量CRを求める。例えば、図5Aに示す例では、注目画素と各近傍画素の大小関係により、コントラスト特徴量CR(gc)=(6+7+8+9+7)/5−(5+2+1)/3=4.73となる。
次に、ブロック分割部14は、ステップS3で求めたばらつき特徴量23およびステップS4で求めたコントラスト特徴量24のそれぞれを任意のサイズの画素ブロックに分割する(ステップS5)。
図6は、ブロック分割処理を説明するための図である。ブロック分割部14は、図6に示すように入力画像全体を一定サイズの矩形状のブロックに分割する。ここで、ばらつき特徴量およびコントラスト特徴量は、入力画像の各画素について求められる値である。よって、ばらつき特徴量およびコントラスト特徴量を任意のサイズの画素ブロックに分割するとは、入力画像を任意のサイズの画素ブロックに分割することと同義である。
ブロックサイズは任意であるが、例えば、1ブロックあたり縦16ピクセル×横16ピクセル(全256画素)とする。ブロックサイズが小さければテクスチャ検出結果の解像度が高くなる。しかし、ブロックサイズを小さくし過ぎると特徴空間生成部15における特徴空間上の特徴量分布密度が疎になり過ぎてしまい、テクスチャ特徴の解析が困難となり誤検出の原因となる。このため、テクスチャ検出を実施する入力画像の特性に合わせてブロックサイズを決定する必要がある。例えば、図2Aに示したテクスチャの場合は、検出したいテクスチャのテキストンの画素数に基づいてブロックサイズを設定する。なお、以降の処理(ステップS6、S7)については分割されたブロック単位で実行される。
次に、特徴空間生成部15は、分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)25を入力し、ブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成する(ステップS6)。特徴空間は、例えばばらつき特徴量およびコントラスト特徴量を特徴軸とする2次元の特徴空間である。ばらつき特徴量は式2で求めた値であるので0〜64の範囲の値(つまり、1つの近傍画素当たりのハミング距離は0〜8であるので、8つの近傍画素のハミング距離は0〜64)、コントラスト特徴量は式3で求めた値であるので0〜255の範囲の値をとる。
このとき、特徴空間生成部15は、ばらつき特徴量の平方根およびコントラスト特徴量の二進対数を特徴軸とする特徴空間を生成してもよい。つまり、以降の特徴解析を簡単にするために、式4に示すように、各特徴軸が線形となるように各特徴量を変換してもよい。ユークリッド距離はハミング距離の平方根に比例する。よって、画素パターンばらつき特徴量DRも同様に平方根をとることで線形となる。また、人間が視覚的に感じる明るさは輝度の対数に比例する。よって、コントラスト特徴量CRも同様に対数をとることで視覚的な変化に対して線形となる。
更に、演算量を削減するために、少数点以下を切り捨てて整数値に量子化すると、式4によって算出されるコントラスト特徴量C(x、y)は0〜15、ばらつき特徴量D(x、y)は0〜15の範囲の特徴量となる。なお、φ(64)のときは特徴量を15としている。
図7A〜図7Cは、入力画像(左)に対する特徴空間(右)の一例を示す図である。図7Aはテクスチャ領域の特徴空間を示し、図7Bは非テクスチャ領域の特徴空間を示し、図7Cは平坦領域の特徴空間を示している。特徴空間は、横軸をばらつき特徴量D(x、y)、縦軸をコントラスト特徴量C(x、y)としており、所定のばらつき特徴量D(x、y)および所定のコントラスト特徴量C(x、y)におけるヒストグラムである。換言すると、所定のばらつき特徴量D(x、y)および所定のコントラスト特徴量C(x、y)の頻度を示している。なお、特徴空間に投影された特徴量(つまり、頻度)を特徴ベクトルと呼ぶことにする。
図7Aに示すように、入力画像がテクスチャ領域の場合、特徴ベクトルの分布が重心座標を中心とした一定の範囲に集中する。一方、図7Bに示す非テクスチャ領域の場合は、特徴ベクトルの分布が一様ではなく比較的分散が大きくなる。また、図7Cに示す平坦領域の場合は、原点座標(0、0)付近に分布が集中する。
次に、確率算出部16は、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャらしさを示すテクスチャ確率を算出する(ステップS7)。ここで、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性とは、特徴空間に投影された特徴量(つまり、頻度)の分布特性、換言すると特徴ベクトルの分布特性である。
例えば確率算出部16は、特徴空間における特徴ベクトルの重心座標を算出し、特徴空間におけるばらつき特徴量およびコントラスト特徴量の分布特性と、特徴ベクトルの重心座標とを用いて、テクスチャ確率を算出することができる。図7Aに示す特徴空間のように、特徴空間の特徴ベクトルの分布が重心付近に集中している場合は、ブロック内の画像がテクスチャである可能性が高いのでテクスチャ確率を高くする。また、図7Bに示す特徴空間のように、重心付近から離れた座標に一定の割合で特徴ベクトルが存在する場合は、ブロック内の画像がテクスチャではない場合か、テクスチャと非テクスチャの両方を含む境界部分である可能性が高いため、テクスチャ確率を図7Aに示す場合よりも下げるようにする。また、図7Cに示す特徴空間のように、重心座標が原点に近い場合には平坦領域である可能性が高いため、テクスチャ確率を低くする。
特徴空間を解析してテクスチャ確率を求める方法はいくつか考えられるが、本実施の形態では演算量を削減するために、図8のフローチャートに示す方法を用いてテクスチャ確率を算出する。図8に示すように、まず、ブロック内の全特徴ベクトルの重心座標(μx、μy)を、式5を用いて算出する(ステップS11)。式5において、f(x、y)は、特徴空間上の座標(x、y)に位置する特徴量の頻度である。x軸はばらつき特徴量、y軸はコントラスト特徴量とする。
次に、式6を用いて、特徴空間内の各座標について、x軸、y軸ごとにそれぞれ重心座標M(μx、μy)からの距離の絶対値δ(δx、δy)を算出する(ステップS12)。
次に、図9に示すように、重心座標から所定の距離離れたテクスチャ判定範囲σ+(σx +、σy +)を設定する(ステップS13)。ここで、テクスチャ判定範囲σ+(σx +、σy +)は事前に与えられる値である。そして、重心座標からの距離δ(δx、δy)がテクスチャ判定範囲σ+(σx +、σy +)内にあるかを判定する(ステップS14)。重心座標からの距離δ(δx、δy)がテクスチャ判定範囲σ+(σx +、σy +)内にある場合(ステップS14:Yes)、テクスチャ確率を積算する(ステップS16)。例えば、当該座標(x、y)における特徴量の頻度のパワー値f2(x、y)を積算する。一方、重心座標からの距離δ(δx、δy)がテクスチャ判定範囲σ+(σx +、σy +)外にある場合(ステップS14:No)、テクスチャ確率を積算することなく、ステップS17に進む。
特徴空間の全ての座標(x、y)について、ステップS12〜S16の処理が終了していない場合は(ステップS17:No)、残りの座標(x、y)についてステップS12〜S16の処理を繰り返す。一方、特徴空間の全ての座標(x、y)について、ステップS12〜S16の処理が終了した場合は、テクスチャ確率算出処理を終了する。
例えば平坦領域の画像等では、重心座標が原点付近に集中して分布する(図7C参照)。この場合、多くの特徴ベクトルがテクスチャ判定範囲内に入ってしまう。また、重心座標のコントラスト軸における座標が大きい場合には、文字などのエッジである可能性が高い。このように、特徴空間内における重心座標の位置に応じてテクスチャである確率が異なるので、特徴空間上の確率テーブル(テクスチャ確率テーブル)LUTl(x、y)を事前に準備しておく(ステップS15)。そしてテクスチャ確率を積算する際(ステップS16)、この確率テーブルLUTl(x、y)を用いて当該座標(x、y)におけるテクスチャ確率について重み付けをする。
図10は、特徴空間上の確率テーブルの一例を説明するための図である。図10に示す確率テーブルでは、平坦領域である確率が高い原点付近や、エッジである確率が高い高コントラストとなる座標付近(符号34で示す)ではテクスチャ確率を低く設定している(例えば0〜0.3程度)。一方、テクスチャ確率が高い座標付近(符号35で示す)ではテクスチャ確率を高く設定している(例えば0.7〜1.0程度)。これらの中間の領域(符号36で示す)では、テクスチャ確率を例えば0.3〜0.7程度に設定している。なお、図10に示す確率テーブルは一例であり、検出するテクスチャに応じて確率テーブルを作成してもよい。また、確率テーブルは、経験的な設計値から作成してもよいし、機械学習によって統計的に作成してもよい。
テクスチャ確率は、下記の式7を用いて算出することができる。つまり、式7では、特徴空間内におけるテクスチャ判定範囲内に存在する特徴量のエネルギーを求めることで、当該ブロックのテクスチャ確率TexturenessBSを算出している。この際、確率テーブルLUTl(x、y)を用いて各座標(x、y)におけるテクスチャ確率について重み付けをしている。
以上で説明したように、確率算出部16は、特徴空間における特徴ベクトルの重心座標を算出し、特徴空間に含まれる各々の座標と重心座標との距離を各々算出し、算出した距離が所定の範囲内(つまり、テクスチャ判定範囲内)にある座標のテクスチャ確率を各々積算することでテクスチャ確率を算出することができる。また、確率算出部16は、テクスチャ確率を各々積算する際に、特徴空間に含まれる各々の座標毎に決定されたテクスチャ確率テーブルを参照して重み付けをしてもよい。
上記で説明したテクスチャ確率算出処理を全てのブロック(入力画像に含まれる全てのブロックに対応)について行い、ブロックごとにテクスチャ確率を保存する。入力画像のうち、テクスチャ確率が高いブロックに対応した画像ブロックがテクスチャである可能性が高いと判断することができる。
非特許文献2にかかる技術では、入力画像を複数のブロックに分割し、ブロック毎にブロック内の各画素に対して局所特徴量を算出し、算出した局所特徴量のヒストグラムを生成している。この生成されたヒストグラムは各ブロックの特徴に対応している。例えば、画像データベースから類似画像を検索するような場合には、各々の画像から生成されたヒストグラム同士を比較することで、類似画像を検索することができる。
しかしながら、この局所特徴量のヒストグラムは、それ自体がテクスチャらしさを表しているわけではない。このため、非特許文献2にかかる技術を用いてテクスチャを検出するには、検出するテクスチャに対応したヒストグラムの情報を事前にデータベースに蓄積する必要があった。このため、事前にデータベースに蓄積されていないテクスチャについては、検出することができないという問題があった。
これに対して本実施の形態にかかる発明では、ブロック毎にばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成し、この特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャ確率を算出している。ここで特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性は、それ自体がテクスチャらしさの情報を含んでいる。よって事前にデータベースに蓄積されていないテクスチャ(つまり、任意のテクスチャ)についても、精度よく検出することができる。
以上で説明した本実施の形態にかかる発明により、任意のテクスチャを精度よく検出することが可能なテクスチャ検出装置、テクスチャ検出方法、テクスチャ検出プログラムを提供することができる。
<実施の形態2>
次に、本発明の実施の形態2について説明する。図11は、実施の形態2にかかるテクスチャ検出装置を示すブロック図である。図11に示すように本実施の形態にかかるテクスチャ検出装置2は、画素パターン特徴量算出部11、ばらつき特徴量算出部12、コントラスト特徴量算出部13、ブロック分割部41、特徴空間生成部42、確率算出部43、およびブロックサイズ統合部44を備える。なお、画素パターン特徴量算出部11、ばらつき特徴量算出部12、コントラスト特徴量算出部13については、実施の形態1で説明した場合と同様であるので重複した説明は省略する。
本実施の形態にかかるテクスチャ検出装置2が備えるブロック分割部41は、8×8分割部41_1、16×16分割部41_2、および32×32分割部41_3を備える。ブロック分割部41は、入力画像21に対応したばらつき特徴量23およびコントラスト特徴量24を各々サイズが異なるブロック(8×8、16×16、32×32)にそれぞれ分割する。
図13は、ブロック分割処理を説明するための図である。図13に示すように、ブロック分割部14の8×8分割部41_1は、ばらつき特徴量23およびコントラスト特徴量24を、1ブロック当たり縦8ピクセル横8ピクセルのサイズの矩形状のブロックに分割する。16×16分割部41_2は、ばらつき特徴量23およびコントラスト特徴量24を、1ブロック当たり縦16ピクセル横16ピクセルのサイズの矩形状のブロックに分割する。32×32分割部41_3は、ばらつき特徴量23およびコントラスト特徴量24を、1ブロック当たり縦32ピクセル横32ピクセルのサイズの矩形状のブロックに分割する。各分割部41_1〜41_3については、実施の形態1で説明したブロック分割部14と同様である。なお、ブロックサイズの種類は2種類以下でも、4種類以上でもよい。また各々のブロックサイズも任意に設定することができる。1つの入力画像に対して複数のサイズのブロックを混在させることはできない。
特徴空間生成部42は、複数のサイズに分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)51を入力し、各々のサイズのブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成し、生成した特徴空間52を確率算出部43に出力する。特徴空間は、例えばばらつき特徴量およびコントラスト特徴量を特徴軸とする2次元の特徴空間である。特徴空間生成部42については、実施の形態1で説明した特徴空間生成部15と同様である。
確率算出部43は、テクスチャ確率算出部43_1と非テクスチャ確率算出部43_2を備える。テクスチャ確率算出部43_1は、特徴空間52を入力し、各々のサイズのブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャらしさを示すテクスチャ確率を算出する。非テクスチャ確率算出部43_2は、特徴空間52を入力し、各々のサイズのブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、非テクスチャ確率を算出する。算出した値53(テクスチャ確率および非テクスチャ確率)は、ブロックサイズ統合部44に出力される。
ブロックサイズ統合部は、各々のサイズのブロック毎に算出したテクスチャ確率を1つのブロックサイズに統合し、テクスチャ確率(または非テクスチャ確率)54を出力する。
図12は、本実施の形態に係るテクスチャ検出装置2で実行されるテクスチャ検出方法(テクスチャ検出処理)を示すフローチャートである。以下で、本実施の形態について詳細に説明する。なお、図12に示すステップS21〜S24の動作については、図3に示したステップS1〜S4の動作(実施の形態1参照)と同様であるので、重複した説明は省略する。
ブロック分割部41は、ステップS23で求めたばらつき特徴量23およびステップS24で求めたコントラスト特徴量24のそれぞれを8×8サイズのブロックに分割する(ステップS25)。以降の処理(ステップS26〜S28)については分割されたブロック単位で実行される。
特徴空間生成部42は、8×8サイズに分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)51を入力し、ブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成する(ステップS26)。なお、特徴空間の生成方法については実施の形態1で説明した場合と同様である(図3のステップS6参照)。
確率算出部43のテクスチャ確率算出部43_1は、8×8サイズの特徴空間52を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャらしさを示すテクスチャ確率を算出する(ステップS27)。なお、テクスチャ確率の算出方法については実施の形態1で説明した場合と同様である(図3のステップS7参照)。
次に、確率算出部43のテクスチャ確率算出部43_2は、8×8サイズの特徴空間52を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、非テクスチャ確率を算出する(ステップS28)。非テクスチャ確率の算出方法については後述する。
ステップS26〜S28の処理を行っていない8×8サイズのブロックがある場合は(ステップS29:No)、残りの8×8サイズのブロックについてステップS26〜S28の処理を繰り返す。一方、8×8サイズのブロック全てについてステップS26〜S28の処理を行った場合は(ステップS29:Yes)、ブロックサイズを8×8から16×16に変更する(ステップS30)。この時点では、全てのサイズ(8×8、16×16、32×32)のブロックについてステップS26〜S28の処理を行っていないので(ステップS31:No)、ステップS25へと進む。
ブロック分割部41は、ステップS23で求めたばらつき特徴量23およびステップS24で求めたコントラスト特徴量24のそれぞれを16×16サイズのブロックに分割する(ステップS25)。以降の処理(ステップS26〜S28)については分割されたブロック単位で実行される。
特徴空間生成部42は、16×16サイズに分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)51を入力し、ブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成する(ステップS26)。確率算出部43のテクスチャ確率算出部43_1は、16×16サイズの特徴空間52を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャらしさを示すテクスチャ確率を算出する(ステップS27)。確率算出部43のテクスチャ確率算出部43_2は、16×16サイズの特徴空間52を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、非テクスチャ確率を算出する(ステップS28)。
ステップS26〜S28の処理を行っていない16×16サイズのブロックがある場合は(ステップS29:No)、残りの16×16サイズのブロックについてステップS26〜S28の処理を繰り返す。一方、16×16サイズのブロック全てについてステップS26〜S28の処理を行った場合は(ステップS29:Yes)、ブロックサイズを16×16から32×32に変更する(ステップS30)。この時点では、全てのサイズ(8×8、16×16、32×32)のブロックについてステップS26〜S28の処理を行っていないので(ステップS31:No)、ステップS25へと進む。
ブロック分割部41は、ステップS23で求めたばらつき特徴量23およびステップS24で求めたコントラスト特徴量24のそれぞれを32×32サイズのブロックに分割する(ステップS25)。以降の処理(ステップS26〜S28)については分割されたブロック単位で実行される。
特徴空間生成部42は、32×32サイズに分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)51を入力し、ブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成する(ステップS26)。確率算出部43のテクスチャ確率算出部43_1は、32×32サイズの特徴空間52を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、テクスチャらしさを示すテクスチャ確率を算出する(ステップS27)。確率算出部43のテクスチャ確率算出部43_2は、32×32サイズの特徴空間52を入力し、ブロック毎に、特徴空間におけるばらつき特徴量とコントラスト特徴量の分布特性に基づいて、非テクスチャ確率を算出する(ステップS28)。
ステップS26〜S28の処理を行っていない32×32サイズのブロックがある場合は(ステップS29:No)、残りの32×32サイズのブロックについてステップS26〜S28の処理を繰り返す。一方、32×32サイズのブロック全てについてステップS26〜S28の処理を行った場合(ステップS29:Yes)、全てのサイズ(8×8、16×16、32×32)のブロックについてステップS26〜S28の処理を行ったので(ステップS31:Yes)、ブロックサイズ統合処理(ステップS32)を行う。
なお、上記では、8×8、16×16、32×32の順にステップS26〜S28の処理を行う場合について説明したが、ステップS26〜S28の処理を行う順番についてはこれ以外でもよい。また上記では、ブロックサイズ毎に、ブロック分割処理(ステップS25)をしてから特徴空間生成処理(ステップS26)を行った。しかし、図14に示すように、各々のブロックサイズが2n倍の関係にある場合は、最小ブロックサイズ(8×8)での特徴空間の値を加算することで、他のブロックサイズの特徴空間を簡単に求めることができる。
図15は、このような方法を用いて、各ブロックサイズの特徴空間を生成する処理を説明するためのフローチャートである。図15に示す方法では、8×8サイズのブロックの特徴空間を用いて、16×16サイズのブロックの特徴空間および32×32サイズのブロックの特徴空間を求める方法を示している。
図15に示すように、まず、ばらつき特徴量およびコントラスト特徴量のそれぞれを8×8サイズのブロックに分割する(ステップS41)。次に、8×8サイズに分割された各特徴量(ばらつき特徴量およびコントラスト特徴量)を用いて、ブロック毎に、ばらつき特徴量とコントラスト特徴量の分布特性を示す特徴空間を生成する(ステップS42)。次に、図14に示すように、縦2ブロック、横2ブロックの計4ブロック(16×16)の特徴ベクトル(生成した8×8サイズの特徴空間の特徴ベクトル)を積算して、16×16サイズの特徴空間を生成する(ステップS43)。同様に、縦4ブロック、横4ブロックの計16ブロック(32×32)の特徴ベクトル(生成した8×8サイズの特徴空間の特徴ベクトル)を積算して、32×32サイズの特徴空間を生成する(ステップS44)。
次に、非テクスチャ確率算出部43_2における非テクスチャ確率算出処理(図12のステップS28)について詳細に説明する。図9に示した特徴空間では、特徴ベクトルの分布が広範囲に広がっている。テクスチャの場合は重心からテクスチャ判定範囲σ+(σx +、σy +)内に集中するという前提を考慮すると、図9に示した特徴空間のブロックにおいては、一定量の特徴ベクトルがテクスチャ判定範囲内にあることから、テクスチャと非テクスチャの両方を含んでいると推測される。このような場合は、テクスチャ確率に加えて、当該ブロックの非テクスチャ確率を算出することで更に精度よくテクスチャ検出を行うことができる。
図16は、テクスチャ確率算出処理および非テクスチャ確率算出処理を説明するためのフローチャートである。なお、図16に示すテクスチャ確率算出処理(ステップS51〜S56)については、図8で説明したテクスチャ確率算出処理(ステップS11〜S16)と同様であるので重複した説明は省略する。
非テクスチャ確率を求める際は、まず、図17に示すように、重心座標から所定の距離離れた非テクスチャ判定範囲σ−(σx −、σy −)を設定する(ステップS57)。ここで、非テクスチャ判定範囲σ−(σx −、σy −)は事前に与えられる値である。そして、重心座標からの距離δ(δx、δy)が非テクスチャ判定範囲σ−(σx −、σy −)よりも外にあるかを判定する(ステップS58)。重心座標からの距離δ(δx、δy)が非テクスチャ判定範囲σ−(σx −、σy −)よりも外にある場合(ステップS58:Yes)、非テクスチャ確率を積算する(ステップS59)。一方、重心座標からの距離δ(δx、δy)が非テクスチャ判定範囲σ−(σx −、σy −)以内にある場合(ステップS58:No)、非テクスチャ確率を積算することなく、ステップS60に進む。
このとき、特徴ベクトルの位置が重心(つまり、最もテクスチャらしい座標)から離れているほど、非テクスチャらしさは高くなると言える。したがって、重心からの当該特徴ベクトルの座標のユークリッド距離d(x、y)を特徴空間上の対角距離(最大距離)dmaxで正規化した値を求め、この値を重みとして式8を用いて非テクスチャ確率Non−texturenessBSを算出する。
特徴空間の全ての座標(x、y)について、ステップS52〜S59の処理が終了していない場合は(ステップS60:No)、残りの座標(x、y)についてステップS52〜S59の処理を繰り返す。一方、特徴空間の全ての座標(x、y)について、ステップS52〜S59の処理が終了した場合は、テクスチャ確率算出処理および非テクスチャ確率算出処理を終了する。
以上で説明したように、確率算出部43(非テクスチャ確率算出部43_2)は、特徴空間における特徴ベクトルの重心座標を算出し、特徴空間におけるばらつき特徴量およびコントラスト特徴量の分布特性と、特徴ベクトルの重心座標とを用いて、非テクスチャ確率を算出することができる。更に、非テクスチャ確率算出部43_2は、特徴空間における特徴ベクトルの重心座標を算出し、特徴空間に含まれる各々の座標と重心座標との距離を各々算出し、算出した距離が所定の範囲外にある座標の非テクスチャ確率を各々積算することで非テクスチャ確率を算出してもよい。
次に、ブロックサイズ統合部44におけるブロックサイズ統合処理(図12のステップS32)について詳細に説明する。ブロックサイズ統合部44は、複数のブロックサイズを1つのブロックサイズに統合する。統合後のブロックサイズは任意であるが、本実施の形態では図18に示すように、8×8サイズのブロック、16×16サイズのブロック、および32×32サイズのブロックを、8×8サイズのブロック(つまり、3つのブロックサイズのうち最も小さいサイズのブロック)に統合する場合について説明する。
複数のブロックサイズを1つのブロックサイズに統合する方法としては、例えば算術平均やブロックサイズ毎に重み付けをした加重平均等を用いる方法がある。本実施の形態では、ブロックサイズ毎に算出されたテクスチャ確率と非テクスチャ確率に応じて、ブロックサイズ毎に重みを変えて平均する方法について説明する。このような方法でブロックサイズを統合することで、テクスチャを高精度に検出することができる。
図19は、ブロックサイズ統合処理を示すフローチャートである。図19に示すように、まず、任意のブロックサイズを選択する(ステップS61)。本実施の形態では、まず、8×8サイズのブロックを選択し、その後、16×16サイズ、32×32サイズの順に処理をする場合について説明する。
次に、テクスチャ重み関数ω+(p+)を設定する(ステップS62)。図20Aは、テクスチャ重み関数の一例を示す図である。図20Aにおいて横軸はテクスチャ確率p+(=TexturenessBS)であり、縦軸はテクスチャ重みω+である。図20Aに示すテクスチャ重み関数では、テクスチャ確率p+が0.5付近の場合にテクスチャ重みω+が小さくなるようにしている。これは、テクスチャ確率p+が0.5付近である場合は、テクスチャであるか非テクスチャであるかの判定が曖昧だからである。
次に、ステップS61で選択した8×8サイズのブロックの各々について、テクスチャ重み関数ω+(p+)を用いて、テクスチャ重み指数WBS +を算出する(ステップS63)。テクスチャ重み指数WBS +は下記の式9を用いて算出することができる。ここで、BSはブロックサイズの集合を表し、BS={8×8、16×16、32×32}である。例えばブロックサイズが8×8のときのテクスチャ重み指数WBS +は、記号W8×8 +で表される。同様に、ブロックサイズが8×8のときのテクスチャ確率pBS +は、記号p8×8 +で表される。wBS min、wBS maxはそれぞれ、各ブロックサイズにおけるテクスチャ重み指数WBS +の最小値と最大値で、事前に決定される値である。本実施の形態では式10に示すように、ブロックサイズが大きくなるほどテクスチャ重み指数WBS +の最大値wBS maxが大きくなるようにする。
次に、非テクスチャ重み関数ω−(p−)を設定する(ステップS64)。図20Bは、非テクスチャ重み関数の一例を示す図である。図20Bにおいて横軸は非テクスチャ確率p−(=Non−texturenessBS)であり、縦軸は非テクスチャ重みω−である。
次に、ステップS61で選択した8×8サイズのブロックの各々について、非テクスチャ重み関数ω−(p−)を用いて、非テクスチャ重み指数WBS −を算出する(ステップS65)。非テクスチャ重み指数WBS −は上記の式9を用いて算出することができる。ここで、ブロックサイズが8×8のときの非テクスチャ重み指数WBS −は、記号W8×8 −で表される。同様に、ブロックサイズが8×8のときの非テクスチャ確率pBS −は、記号p8×8 −で表される。また、非テクスチャ重み指数WBS −は、非テクスチャ確率に応じて1.0〜2.0の範囲の値となる。換言すると、非テクスチャ重み指数WBS −は、非テクスチャ確率に応じてテクスチャ重み指数WBS +の値を1.0〜2.0倍にする係数となる。
次に、ステップS63で算出したテクスチャ重み指数W8×8 +とステップS65で算出した非テクスチャ重み指数W8×8 −とを乗じて、テクスチャ重み係数W8×8を算出する(ステップS66)。テクスチャ重み係数W8×8の値はw8×8 maxを超えないようにする。
上記のステップS61〜S66の処理を繰り返して、ブロックサイズ8×8のテクスチャ重み係数W8×8、ブロックサイズ16×16のテクスチャ重み係数W16×16、ブロックサイズ32×32のテクスチャ重み係数W32×32をそれぞれ求める。全ブロックサイズのテクスチャ重み係数WBS={W8×8、W16×16、W32×32}を算出した後(ステップS67:Yes)、式9に示すように各ブロックサイズのテクスチャ重み係数WBSを用いて各ブロックサイズのテクスチャ確率の加重平均を算出することで、最終的なテクスチャ確率Texturenessを算出する(ステップS68)。ここでBS=8×8、16×16、32×32であるので、Textureness=(W8×8×p8×8 ++W16×16×p16×16 ++W32×32×p32×32 +)/(W8×8+W16×16+W32×32)となる。
このように本実施の形態にかかるブロックサイズ統合処理では、各々のサイズのブロック毎に算出したテクスチャ確率を加重平均することで1つのブロックサイズに統合する際、各々のサイズのブロック毎に算出したテクスチャ確率および非テクスチャ確率に応じて、各々のサイズのブロックにおけるテクスチャ重み係数WBSを決定している。このとき、非テクスチャ確率が高い場合にテクスチャ重み係数WBSを小さくしている。
本実施の形態では、式10に示すようにwBS maxの値をw8×8 max=1、w16×16 max=2、w32×32 max=4と設定している。よって、各々のサイズのブロックを、8×8サイズのブロックに統合しているといえる。
上記で説明したブロック統合処理を全てのブロック(入力画像に含まれる全てのブロックに対応)について行い、ブロックごとにテクスチャ確率を保存する。入力画像のうち、テクスチャ確率が高いブロックに対応した画像がテクスチャである可能性が高いと判断することができる。
本実施の形態にかかる発明では、入力画像を複数のサイズのブロックに分割し、各々のブロックサイズにおいてテクスチャ確率をそれぞれ算出し、1つのブロックサイズに統合することで、最終的なテクスチャ確率を算出している。よって、テクスチャを高精度に検出することができる。
なお、本実施の形態において、図12に示したブロック分割処理(ステップS25)、特徴空間生成処理(ステップS26)、テクスチャ確率算出処理(ステップS27)、および非テクスチャ確率算出処理(ステップS28)は、ブロックサイズ毎に並列に処理してもよい。すなわち、図12に示したばらつき特徴量算出(ステップS23)およびコントラスト特徴量算出処理(ステップS24)の後、図21に示すように、各ブロックサイズ(8×8、16×16、32×32)において、ブロック分割処理(ステップS71、S71’、S71’’)、特徴空間生成処理(ステップS72、S72’、S72’’)、テクスチャ確率算出処理(ステップS73、S73’、S73’’)、および非テクスチャ確率算出処理(ステップS74、S74’、S74’’)を並列に処理してもよい。
また、本実施の形態において説明した非テクスチャ確率算出処理は、実施の形態1で説明したテクスチャ検出装置1において行なってもよい。つまり、実施の形態1で説明したテクスチャ検出装置1において、テクスチャ確率と非テクスチャ確率を算出し、テクスチャ確率と非テクスチャ確率とを用いて最終的なテクスチャ確率を求めるようにしてもよい。例えば、非テクスチャ確率が高くなるにつれてテクスチャ確率が小さくするようにしてもよい。
<実施の形態3>
次に、本発明の実施の形態3について説明する。本実施の形態では、実施の形態1、2で説明したテクスチャ検出装置を用いてノイズリダクションを行う画像処理システムについて説明する。
図22に示すように、画像処理システム3は、画像変換部61、テクスチャ検出装置62、およびノイズリダクション装置63を備える。テクスチャ検出装置62は、実施の形態1、2で説明したテクスチャ検出装置1、2に対応している。ノイズリダクション装置63は、テクスチャ領域マスク部64およびノイズリダクション部65を備える。
画像処理システム3には、画像データ(RAW画像)71が入力される。画像変換部61は、入力された画像データ71を例えばYCbCr方式の画像信号に変換し、変換後の画像信号72をテクスチャ検出装置62へ供給する。テクスチャ検出装置62は、変換後の画像信号72を用いて、画像データ71に含まれるテクスチャを検出する(つまり、テクスチャ確率を求める)。例えば、テクスチャ検出装置62は輝度成分Yを用いてテクスチャ確率を算出することができる。
ノイズリダクション装置63は、入力された画像データ71と、テクスチャ検出装置62で算出されたテクスチャ確率73とを入力し、テクスチャ確率73に応じて、画像データ71からノイズを除去したノイズ抑制画像75を生成する。
テクスチャ領域マスク部64は、テクスチャ検出装置62から出力されたテクスチャ確率73に応じて、ノイズリダクション処理の適用を除外するマスク処理を行う。テクスチャ領域マスク部64は、画像データ71のうち、テクスチャ確率の高い領域にマスクを設定する。テクスチャ確率が所定のしきい値以上の領域にマスクをかけてもよいし、テクスチャ確率の大きさに応じて、マスクのサイズや強さ(フィルタの強さ)を変更してもよい。
ノイズリダクション部65は、マスク処理後の画像データ74に対してノイズリダクション処理を行う。例えば、マスク領域を除いた領域に対しノイズリダクション処理を行う。また、マスクの強さに応じてノイズリダクション処理を行なってもよい。例えばマスクが強い場合、ノイズリダクション処理を弱くする。
通常、画像全体に対して均一にノイズリダクション処理を施すと、画像の高周波成分が失われて解像感が落ちてしまうという問題がある。テクスチャ領域は、なるべく解像感を維持したいのと、ノイズがあっても目立ちにくいことから、本実施の形態では、テクスチャ検出装置62が検出したテクスチャ領域をマスクして、それ以外の領域のみノイズリダクション処理を行う構成にする。このとき、テクスチャ確率が低いほどノイズリダクション処理を強くするようにしてもよい。これにより、入力画像の画質劣化を抑えつつ、ノイズを効果的に除去することができる。
以上、本発明を上記実施形態に即して説明したが、本発明は上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。