本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
[実施の形態1]
図1は、この発明の実施の形態1による画像分割装置の構成を示す概略ブロック図である。図1を参照して、この発明の実施の形態1による画像分割装置10は、画素値検出回路1と、しきい値決定回路2と、結合重み決定回路3と、画像分割回路4とを備える。
画素値検出回路1は、1フレームの入力画像を受け、その受けた入力画像の各画素のR成分、G成分およびB成分を検出し、その検出したR成分、G成分およびB成分をRGB値としてしきい値決定回路2および結合重み決定回路3へ出力する。
しきい値決定回路2は、入力画像を構成する複数の画素のRGB値を画素値検出回路1から受け、その受けたRGB値に基づいて、入力画素を構成する複数の画素の彩度を後述する方法によって求める。そして、しきい値決定回路2は、その求めた複数の画素の彩度に基づいて、画素数と彩度との関係を示す彩度ヒストグラムを求め、その求めた彩度ヒストグラムに基づいて、後述する方法によって、無彩色と有彩色との境界を示すしきい値を決定する。そうすると、しきい値決定回路2は、その決定したしきい値を結合重み決定回路3へ出力する。
結合重み決定回路3は、画素値検出回路1からRGB値を受け、しきい値決定回路2からしきい値を受ける。そして、結合重み決定回路3は、その受けたRGB値およびしきい値に基づいて、後述する方法によって、1つのフレームを構成する複数の画素における各画素間の結合重みを決定し、その決定した結合重みを画像分割回路4へ出力する。
画像分割回路4は、外部から入力画像を受け、結合重み決定回路3から結合重みを受ける。そして、画像分割回路4は、その受けた結合重みを用いて、領域成長型画像分割方法によって、1つのフレームからなる入力画像を各対象物の画像に分割する。この領域成長型画像分割方法は、たとえば、3×3の画素からリーダセルを決定し、その決定したリーダセルの領域から相対的に大きい結合重みを有する周囲の画素の領域へ領域を成長させて行く処理をリーダセルが存在しなくなるまで繰り返して画像を分割する方法である。
図2は、図1に示す結合重み決定回路3の構成を示す概略図である。図2を参照して、結合重み決定回路3は、Dラッチ回路31,32,34,36,37,39と、FIFO回路33,38と、HS変換回路35と、選択器40,41と、重み計算ユニット42〜45とを含む。
Dラッチ回路31は、画素値検出回路1からRGB値を受け、その受けたRGB値をラッチし、そのラッチしたRGB値をDラッチ回路32、重み計算ユニット43,45へ出力する。
Dラッチ回路32は、Dラッチ回路31からRGB値を受け、その受けたRGB値をラッチし、そのラッチしたRGB値をFIFO回路33、重み計算ユニット42および選択器40,41へ出力する。
FIFO回路33は、Dラッチ回路32からRGB値を受け、その受けたRGB値を入力画像の画素の横一列分のクロック分だけ、保持し、その後、RGB値をDラッチ回路34、重み計算ユニット42および選択器40,41へ出力する。
Dラッチ回路34は、FIFO回路33から受けたRGB値をラッチし、そのラッチしたRGB値を重み計算ユニット43,44へ出力する。
HS変換回路35は、画素値検出回路1からRGB値を受け、しきい値決定回路2からしきい値Sthを受け、その受けたRGB値を後述する方法によって色相に変換するとともに、しきい値Sthを用いてRGB値を後述する方法によって彩度に変換する。そして、HS変換回路35は、その変換した色相および彩度をDラッチ回路36へ出力する。
Dラッチ回路36は、色相および彩度をHS変換回路35から受け、その受けた色相および彩度をラッチし、そのラッチした色相および彩度をDラッチ回路37および重み計算ユニット43,45へ出力する。
Dラッチ回路37は、色相および彩度をDラッチ回路36から受け、その受けた色相および彩度をラッチし、そのラッチした色相および彩度をFIFO回路38、重み計算ユニット42および選択器40,41へ出力する。
FIFO回路38は、色相および彩度をDラッチ回路37から受け、その受けた色相および彩度を入力画像の画素の横一列分のクロック分だけ、保持し、その後、色相および彩度をDラッチ回路39、重み計算ユニット42および選択器40,41へ出力する。
Dラッチ回路39は、色相および彩度をFIFO回路38から受け、その受けた色相および彩度をラッチし、そのラッチした色相および彩度を重み計算ユニット43,44へ出力する。
選択器40は、外部から制御信号CTLを受け、Dラッチ回路32およびFIFO回路33からRGB値を受け、Dラッチ回路37およびFIFO回路38から色相および彩度を受ける。制御信号CTLは、選択器40,41の0端子に入力されたRGB値、色相および彩度を選択するための制御信号CTL0と、選択器40,41の1端子に入力されたRGB値、色相および彩度を選択するための制御信号CTL1とのいずれかからなる。そして、選択器40は、制御信号CTL0を受けると、FIFO回路33から受けたRGB値と、FIFO回路38から受けた色相および彩度とを選択して重み計算ユニット44へ出力し、制御信号CTL1を受けると、Dラッチ回路32から受けたRGB値と、Dラッチ回路37から受けた色相および彩度とを選択して重み計算ユニット44へ出力する。
選択器41は、外部から制御信号CTLを受け、Dラッチ回路32およびFIFO回路33からRGB値を受け、Dラッチ回路37およびFIFO回路38から色相および彩度を受ける。そして、選択器41は、制御信号CTL0を受けると、Dラッチ回路32から受けたRGB値と、Dラッチ回路37から受けた色相および彩度とを選択して重み計算ユニット45へ出力し、制御信号CTL1を受けると、FIFO回路33から受けたRGB値と、FIFO回路38から受けた色相および彩度とを選択して重み計算ユニット45へ出力する。
重み計算ユニット42は、Dラッチ回路32およびFIFO回路33からRGB値を受け、Dラッチ回路37およびFIFO回路38から色相および彩度を受ける。そして、重み計算ユニット42は、Dラッチ回路32から受けたRGB値とDラッチ回路37から受けた色相および彩度とを1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とし、FIFO回路33から受けたRGB値と、FIFO回路38から受けた色相および彩度とを別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。そうすると、重み計算ユニット42は、RGB値、色相および彩度(RGB3,HS3)と、RGB値、色相および彩度(RGB2,HS2)とに基づいて、後述する方法によって、画素GE2と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路4へ出力する。
重み計算ユニット43は、Dラッチ回路31,34からRGB値を受け、Dラッチ回路36,39から色相および彩度を受ける。そして、重み計算ユニット43は、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、Dラッチ回路34から受けたRGB値と、Dラッチ回路39から受けた色相および彩度とを別の1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とする。そうすると、重み計算ユニット43は、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB1,HS1)とに基づいて、後述する方法によって、画素GE1と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路4へ出力する。
重み計算ユニット44は、Dラッチ回路34からRGB値を受け、Dラッチ回路39から色相および彩度を受け、選択器40からRGB値、色相および彩度を受ける。そして、重み計算ユニット44は、Dラッチ回路34から受けたRGB値とDラッチ回路39から受けた色相および彩度とを1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とし、選択器40から受けたRGB値、色相および彩度を別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。そうすると、重み計算ユニット44は、RGB値、色相および彩度(RGB1,HS1)と、RGB値、色相および彩度(RGB2,HS2)とに基づいて、後述する方法によって、画素GE1と画素GE2との間の結合重みを演算し、その演算した結合重みを画像分割回路4へ出力する。
重み計算ユニット45は、Dラッチ回路31からRGB値を受け、Dラッチ回路36から色相および彩度を受け、選択器41からRGB値、色相および彩度を受ける。そして、重み計算ユニット45は、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、選択器41から受けたRGB値、色相および彩度を別の1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とする。そうすると、重み計算ユニット45は、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB3,HS3)とに基づいて、後述する方法によって、画素GE3と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路4へ出力する。
なお、重み計算ユニット44は、選択器40から画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)を受けるとき、画素GE1と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路4へ出力し、重み計算ユニット45は、選択器41から画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)を受けるとき、画素GE2と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路4へ出力する。
図3は、図2に示す結合重み決定回路3が結合重みを決定するときの概念図である。また、図4は、図2に示す結合重み決定回路3が結合重みを決定するときの他の概念図である。
結合重み決定回路3は、2行2列に配列された画素GE1〜GE4における結合重みを1サイクルで決定する。画素GE1〜GE4におけるRGB値RGB1〜RGB4が結合重み決定回路3へ順次入力されると、重み計算ユニット42は、FIFO回路33から画素GE2のRGB値RGB2を受け、FIFO回路38から画素GE2の色相および彩度HS2を受け、Dラッチ回路32から画素GE3のRGB値RGB3を受け、Dラッチ回路37から画素GE3の色相および彩度HS3を受ける。
また、重み計算ユニット43は、Dラッチ回路34から画素GE1のRGB値RGB1を受け、Dラッチ回路39から画素GE1の色相および彩度HS1を受け、Dラッチ回路31から画素GE4のRGB値RGB4を受け、Dラッチ回路36から画素GE4の色相および彩度HS4を受ける。
さらに、重み計算ユニット44は、Dラッチ回路34から画素GE1のRGB値RGB1を受け、Dラッチ回路39から画素GE1の色相および彩度HS1を受け、選択器40から画素GE2のRGB値RGB2と、画素GE2の色相および彩度HS2とを受ける。
さらに、重み計算ユニット45は、Dラッチ回路31から画素GE4のRGB値RGB4を受け、Dラッチ回路36から画素GE4の色相および彩度HS4を受け、選択器41から画素GE3のRGB値RGB3と、画素GE3の色相および彩度HS3とを受ける。
すなわち、重み計算ユニット42〜45は、同期して、それぞれ、画素GE2,GE3のRGB値、色相および彩度、画素GE1,GE4のRGB値、色相および彩度、画素GE1,GE2のRGB値、色相および彩度、および画素GE3,GE4のRGB値、色相および彩度を受ける。そして、重み計算ユニット42は、画素GE2と画素GE3との結合重みを決定して出力し、重み計算ユニット43は、画素GE1と画素GE4との結合重みを決定して出力し、重み計算ユニット44は、画素GE1と画素GE2との結合重みを決定して出力し、重み計算ユニット45は、画素GE3と画素GE4との結合重みを決定して出力する。
つまり、重み計算ユニット42〜45は、図3に示す4個の結合重みを1サイクルで決定して出力する。
なお、選択器40が画素GE3のRGB値RGB3と色相および彩度HS3とを選択し、選択器41が画素GE2のRGB値RGB2と色相および彩度HS2とを選択した場合、重み計算ユニット42〜45は、図4に示す4個の結合重みを1サイクルで決定して出力する。
このように、結合重み決定回路3は、2行2列に配列された4個の画素のRGB値、色相および彩度を用いて、1サイクルで2行2列に配列された4個の画素間における4個の結合重みを決定する。
上述したように、結合重み決定回路3は、各画素のRGB値、色相および彩度を用いて2つの画素間の結合重みを決定するが、以下、その理由について説明する。
この発明においては、画素間の結合重みを決定するために、RGB値のみならず、色相および彩度を用いるために、RGB色空間に加え、色相(H:Hue)、彩度(S:Saturation)および明度(V:Value)からなるHSV色空間を導入する。
ここで、色相(H)は、R,G,Bなどの色の種類を表す要素である。また、彩度(S)は、色の鮮やかさを表す要素であり、無彩色(黒―灰色―白)では、“0”となる。さらに、明度(V)は、明るさを表す要素である。
図5は、HSV色空間の概念図である。図5を参照して、HSV色空間は、円錐形状からなる。そして、色相(H)は、円錐形状の底面における円環CRCに描かれ、0度〜360度の範囲で表される。そして、図5においては、赤を基準(0度)とした色相を表しており、RGB色空間における赤(255,0,0)、緑(0,255,0)および青(0,0,255)は、それぞれ、色相0度、色相120度および色相240度に対応する。
彩度(S)は、円錐の円形の半径として表され、0〜1の範囲の値を取る。また、明度(V)は、円錐の頂点からの距離として表され、0〜1の範囲の値を取る。
図5から解るように、無彩色は、色相(H)および彩度(S)を持たない。
RGB値から色相(H)への変換には、次式が用いられる。
なお、式(1)において、MAXは、R値、G値およびB値の最大値を表し、MINは、R値、G値およびB値の最小値を表す。
MAX=MINであるとき、色相(H)は、定義されない。これは、R値、G値およびB値が全て等しいときであり、無彩色を表すため、円錐の中央のグレーの直線の周囲にあるため、その時のHue値は、意味を持たないからである。
RGB値から彩度(S)への変換には、次式が用いられる。
なお、MAX=0であるとき、彩度(S)は、未定義となる。これは、MAX=0であるときの色は、完全な黒を表すため、色相も彩度も存在しないからである。
RGB値から明度(V)への変換には、次式が用いられる。
引き続いて、色相(Hue)および彩度(Saturation)による画像評価について説明する。図6は、色相および彩度による画像評価に用いた画像を示す図である。また、図7は、色相および彩度による画像評価に用いた他の画像を示す図である。
図6は、コントラストが低い領域を含む画像を示し、図7は、外乱的な反射を含む画像を示す。
図8は、図6に示す領域Xの分割結果および図7に示す領域Yの分割結果を示す図である。また、図9は、従来の画像分割における問題を説明するための図である。
従来の画像分割においては、2つの画素間の結合重みWij;klは、各画素のRGB値のみを用いて次の式(4),(5)によって演算される。
すなわち、従来の画像分割方法は、隣接画素間のRGB値の差から結合重みと定義される画素間の類似度を求め、その求めた類似度を指標として領域を成長させていく。結合重みWij;klは、式(4)を用いて赤、緑および青に対して演算された3個の結合重みを式(5)に代入して、赤、緑および青に対する3個の結合重みのうち、最も小さいものを画素間の結合重みWij;klとして決定する。
したがって、図9に示すように、たとえば、(R,G,B)=(250,0,0)と、(R,G,B)=(125,0,0)との結合重みと、(R,G,B)=(250,0,0)と、(R,G,B)=(125,125,125)との結合重みとは、無彩色と有彩色との関係にありながら、同じ値となり、RGB色空間を用いた結合重みでは、画素の色合いを考慮していない。
また、図9の(a)は、グラデーション変化を持つ領域を画素単位で示したものと、横軸をx軸、縦軸を結合重みに取ったときのグラデーション領域の結合重みの変化をグラフとして表した図である。
グラデーション変化のある領域では、画素間のRGB値の差が等しいため、結合重みも等しくなっている。仮に、近傍画素の結合重みが領域成長に用いるしきい値φz以上であれば、領域は、矢印の方向に広がり続けてしまう。
しかし、図9の(a)に示すグラデーションに関する問題に対しては、どこまでを同一領域として扱うかは、アプリケーションに依存する面が強く、しきい値を一意に決定することは難しい。
図6に示すサンプル画像は、コントラストが低く、机と人間の重なりにより境界に陰が生じ、机領域と人物領域との間に明確なエッジが現れず、色が2つの領域間で滑らかに変化する(グラデーション)画像である。そのため、従来のRGB色空間による結合重みを利用する画像分割法では、机と人物との分割が難しい(図8参照)。
また、図7に示すサンプル画像では、反射が原因でRGB値が変化し、ボディー領域の成長が進まずに、複数の領域に分かれたり、未分割領域として残ってしまう(図8参照)。
これらの結果から、画像分割精度を向上させるためには、RGB色空間による明度を用いた方法に加えて、黒い、赤い、青いと言った色合いを考慮することが必要である。色合いを考慮すれば、図6に示すサンプル画像であれば、人物は、黒(無彩色)であり、机は、茶色(有彩色)であり、2つの領域の分離が可能である。また、図7に示すサンプル画像であれば、車は、赤色の領域として抽出可能である。
そこで、色相(Hue)および彩度(Saturation)による画像評価について説明する。
まず、色相(Hue)による画像評価について説明する。図10は、図6に示すサンプル画像のRGB値から式(1)を用いてHue値に変換した値(0〜360度)を256階調に正規化して8ビットグレー画像とした図である。また、図11は、図7に示すサンプル画像のRGB値から式(1)を用いてHue値に変換した値(0〜360度)を256階調に正規化して8ビットグレー画像とした図である。
なお、図10および図11においては、図6および図7に示す2つのサンプル画像の場合、緑および青といったHue値が高い画素値が存在しないため、無彩色を最大値の255(白)で表している。
図10および図11を参照して、人間と机の境界、および道路と車両の境界がはっきりと区別できていることが解るが、背景や人間の領域にノイズ画素が目立つ。このHue画像の画像分割への適用を想定した場合、ノイズ画素による分割精度への影響が予想される。
そこで、ノイズ画素の低減のために、次の方法を採用した。式(1)から解るように、厳密には、MAX−MIN=0のときのみ、無彩色として扱われるが、人間は、実際、目視により色を認識する場合、MAX−MIN=0を正確に満たしていなくても無彩色として画素を認識する。そのため、ノイズ画素を除去するために、パラメータDMAX−MINを設定した。
図10および図11におけるDMAX−MINは、DMAX−MIN=MAX−MINを表し、DMAX−MINより誤差の小さい画素を無彩色(白−灰色−黒)と見なすことにする。DMAX−MIN値を“0”から“5”ずつ増加させていったときの画像への影響について評価した結果が図10および図11に示す結果である。
DMAX−MIN値を大きくしていくと、無彩色は、取り除かれていき、カラー領域(有彩色領域)とグレー領域(無彩色領域)とをある程度分離できることがわかった。これは、グレー領域とカラー領域との識別におけるロバスト性が向上したからである。また、カラー領域同士も、Hue値の差によって識別できる。
次に、彩度(Saturation)による画像評価について説明する。図12は、図6に示すサンプル画像のRGB値から式(2)を用いてS値に変換した値(0〜1の範囲)を256階調に規格化して8ビットグレー画像とした図である。また、図13は、図7に示すサンプル画像のRGB値から式(2)を用いてS値に変換した値(0〜1の範囲)を256階調に規格化して8ビットグレー画像とした図である。
彩度の場合、MAX−MIN=0またはMAX=0のときのみ、無彩色として扱っているため、道路の領域なども彩度を持っている。
そこで、図5から解るように、彩度(S)が低い領域は、色相(H)による色の識別が非常に困難であることに注目し、各画素の彩度(S)を基準にして、無彩色領域と有彩色領域とを2値化することを考える。
図12および図13は、しきい値としての彩度(S)を0〜0.2まで0.04刻みで変化させたときの画像への影響を示す。そして、図12および図13に示す画像は、しきい値よりも小さい彩度(S)を持つ画素を白(255)、しきい値以上の彩度を持つ画素を黒(0)として2値化した画像である。
図12および図13を参照して、彩度(S)値が0.2よりも小さい画素を無彩色、彩度(S)値が0.2以上である画素を有彩色として扱うことにより、無彩色領域と有彩色領域との識別に関して良い結果が得られた。他のサンプル画像に対しても評価を行なったが、彩度のしきい値を0.2付近に設定すると、良い結果が得られた。
図14は、彩度(S)値が0.2よりも小さい画素を無彩色、彩度(S)値が0.2以上である画素を有彩色として扱ったときの分割結果を示す他の図である。なお、図14においては、無彩色を白色で表している。
図14を参照して、1つの物体である道路が複数の物体として分割されている。このように、物体の途中に、無彩色と有彩色との境界が存在すると、同一物体であるにも拘わらず、結合重みの決定基準が変化してしまい、分割を失敗することがある。
境界の判定の失敗例と成功例における彩度のヒストグラム(=画素数と彩度との関係を示す図)を比較すると、失敗例においては、無彩色と有彩色との境界付近に複数の画素が存在することがわかった。
そこで、この発明の実施の形態1においては、無彩色と有彩色との境界を示すしきい値の初期値Sth0を“0.2”とし、1つのフレームからなる入力画像の各画素の彩度に基づいて、無彩色と有彩色との境界を示すしきい値を無彩色と有彩色との境界の判定があいまいな領域(S=0.2〜0.4)において最適化することにした。
したがって、図1に示すしきい値決定回路2は、1つのフレームに含まれる複数の画素の複数のRGB値を画素値検出回路1から受け、その受けた複数のRGB値を式(2)によって複数の彩度(S)に変換する。そして、しきい値決定回路2は、その変換した複数の彩度に基づいて、画素数と彩度との関係を示す彩度ヒストグラムを求める。
図15は、彩度ヒストグラムの例を示す図である。図15において、縦軸は、画素数を表し、横軸は、彩度を表す。
しきい値決定回路2は、しきい値の初期値Sth0=0.2を予め保持しており、彩度ヒストグラムを求めると、彩度Sを0.2〜0.4の範囲で変化させたときの各彩度における画素数を検出し、その検出した画素数に基づいて画素数が最も小さくなる彩度を後述する方法によって検出し、その検出した彩度をしきい値Sthとして決定する。そして、しきい値決定回路2は、その決定したしきい値Sthを結合重み決定回路3へ出力する。
図16は、しきい値の変更パターンを示す概念図である。図16の(a),(b)は、彩度Sを変化させる0.2〜0.4の範囲内にヒストグラムの谷(ヒストグラムの極小値を示す。以下、同じ。)が存在する場合を示し、図16の(c),(d)は、彩度Sを変化させる0.2〜0.4の範囲内にヒストグラムの谷が存在しない場合を示す。
図16の(a),(b)を参照して、ヒストグラムの複数の谷が彩度Sを変化させる0.2〜0.4の範囲内に存在する場合、しきい値Sthは、画素数がより少ない谷に相当する彩度に決定される。
また、図16の(c)を参照して、画素が無彩色に偏っている場合、しきい値Sthは、彩度Sを変化させる0.2〜0.4の範囲内において画素数が最小になる彩度S=0.4に決定される。
さらに、図16の(d)を参照して、画素が有彩色に偏っている場合、しきい値Sthは、彩度Sを変化させる0.2〜0.4の範囲内において画素数が最小になる彩度S=0.2に決定される。この場合、しきい値Sthは、初期値(Sth0=0.2)から変更されない。
このように、この発明の実施の形態においては、しきい値Sthは、後述する方法によって、彩度Sを変化させる0.2〜0.4の範囲内において画素数が最小になる彩度Sに決定される。
上述したように、HSV色空間について検討した結果、RGB色空間では、画像分割が難しかった画像(たとえば、図6に示す人と机の分離、および図7に示す車のボディー部分の抽出)に対して、HSV色空間を用いることによって、有彩色領域と、人間の目から見て無彩色に近い色とを分離したり、色合いは同じでも光の当たり具合で明度や彩度に違いが生じる領域を同一領域として分割できることが解った。
しかし、HSV色空間は、無彩色領域の画像分割には適していない。それは、図5から解るように、彩度が低くなると、色合いを殆ど識別することができず、Hue値が意味を持たなくなるからである。
そこで、この発明においては、RGB値と、HSV値との両方の色空間を用いて、画素間の結合重みを決定し、それぞれの色空間が苦手とする色領域をお互いが補うことにしたのである。
そして、結合重み決定回路3がRGB値、色相および彩度を用いて結合重みを決定する場合、HS変換回路35は、一般的には、式(1)および式(2)を用いて、RGB値を色相(H)および彩度(S)に変換する。
しかし、式(1)および式(2)を用いてRGB値を色相(H)および彩度(S)に変換する場合、HS変換回路35を除算器を用いて構成する必要があり、除算器を用いたHS変換回路35の実現方法は、演算に複数のサイクルを要するため、1サイクルでの処理の要求を満たすことができない。また、回路面積が大きくなるという問題もある。
そこで、テーブルマッピングによる方法が考えられる。すなわち、RGB値に基づいて式(1)および式(2)を用いて予め計算したH値およびS値をメモリに保存しておき、それぞれのRGB値に対応するアドレスから計算結果を読み出すことで使用時の処理を削減する。
しかし、R,G,Bは、それぞれ、8ビットのデータであるため、((28)3×9)ビットの大容量のメモリが必要であり、デコーダの回路面積が大きくなるという問題がある。
そこで、この発明においては、好ましくは、H(0〜360度)およびS(0〜1)を複数のビン(領域)に分けることで計算結果をビンの数に限定し、その上でテーブルを参照して色相(H)および彩度(S)を求める。この方法によれば、除算器を一切使用せず、回路面積を抑えたRGB値からHSV値への変換回路を実現できる。
図17は、色相(Hue)のビンの構成図である。図17を参照して、色相(Hue)のビン構成は、3段構成からなり、360度のHue値を90個のビンで構成する。
Hue値の決定方法について説明する。まず、1段目(最も内側の円)で、注目画素が赤(01)、緑(10)、および青(11)のどのカテゴリに属するかをMAXに基づいて決定する。
次に、MINを決定し、式(1)からMAXの条件に対応した式の分数部分が正か負かを決定する。分数部分が負である場合、“0”となり、分数部分が正である場合、“1”となる(2段目)。
最後に、15個のビンのうちのどのビンに対応するかを決定すれば、注目画素が90個のビンで構成されたHue値のどのビンに対応するかが解る(3段目)。
上述したHue値の決定方法においては、2段目までは、R,G,B値の大小関係から容易に決定できる。そこで、3段目の1〜15のビンの決定方法について説明する。
式(1)の分数部分を取出し、次の関係式を作成する。
式(6)において、MEDは、MAXおよびMIN以外のR,G,Bのいずれかの値、すなわち、中間値を表す。
式(6)を変形すると、次式が得られる。
そして、式(7)におけるXの値を1から14まで変化させたときに生成される14個の不等式の成立結果(1,0)からビン番号を決定する。
図18は、図2に示すHS変換回路35に含まれる色相変換回路の構成を示す概略図である。HS変換回路35は、図18に示す色相変換回路350を含む。図18を参照して、色相変換回路350は、決定回路351と、データ生成回路352,353と、スイッチ354と、比較回路355〜368と、エンコーダ369とを含む。
決定回路351は、画素値検出回路1から各画素のRGB値を受け、その受けたRGB値の最大値MAX、最小値MINおよび中間値MEDを決定する。そして、決定回路351は、その決定した最大値MAXをデータ生成回路352へ出力し、中間値MEDをデータ生成回路353へ出力し、最小値MINをデータ生成回路352,353へ出力する。
データ生成回路352は、決定回路351から最大値MAXおよび最小値MINを受け、その受けた最大値MAXおよび最小値MINに基づいて、Xを1から14まで変化させた14個のX×(MAX−MIN)を順次演算し、その演算した14個のX×(MAX−MIN)(X=1〜14)をスイッチ354へ出力する。すなわち、データ生成回路352は、式(7)の右辺のBを演算し、その演算したBをスイッチ354へ出力する。
また、データ生成回路353は、決定回路351から中間値MEDおよび最小値MINを受け、その受けた中間値MEDおよび最小値MINに基づいて、15×(MED−MIN)を演算し、その演算した15×(MED−MIN)をスイッチ354へ出力する。すなわち、データ生成回路353は、式(7)の左辺のAを演算し、その演算したAをスイッチ354へ出力する。
スイッチ354は、14個のX×(MAX−MIN)(X=1〜14)をデータ生成回路352から受け、15×(MED−MIN)をデータ生成回路353から受ける。そしてスイッチ354は、1×(MAX−MIN)および15×(MED−MIN)を比較回路355へ出力し、2×(MAX−MIN)および15×(MED−MIN)を比較回路356へ出力し、以下、同様にして、14×(MAX−MIN)および15×(MED−MIN)を比較回路368へ出力する。
比較回路355は、1×(MAX−MIN)および15×(MED−MIN)をスイッチ354から受け、1×(MAX−MIN)を15×(MED−MIN)と比較する。そして、比較回路355は、その比較結果をエンコーダ369へ出力する。より具体的には、比較回路355は、15×(MED−MIN)<1×(MAX−MIN)が成立するとき、“1”をエンコーダ369へ出力し、15×(MED−MIN)<1×(MAX−MIN)が成立しないとき、“0”をエンコーダ369へ出力する。
比較回路356は、2×(MAX−MIN)および15×(MED−MIN)をスイッチ354から受け、2×(MAX−MIN)を15×(MED−MIN)と比較する。そして、比較回路356は、その比較結果(1または0)をエンコーダ369へ出力する。
以下、同様にして、比較回路368は、14×(MAX−MIN)および15×(MED−MIN)をスイッチ354から受け、14×(MAX−MIN)を15×(MED−MIN)と比較する。そして、比較回路368は、その比較結果(1または0)をエンコーダ369へ出力する。
なお、比較回路355〜368は、平行してX×(MAX−MIN)を15×(MED−MIN)と比較し、その比較結果をエンコーダ369へ出力する。したがって、エンコーダ369は、比較結果を示す14ビットのデータを比較回路355〜368から受ける。
エンコーダ369は、14ビットからなる比較結果を比較回路355〜368から受け、その受けた14ビットの比較結果に基づいて、ビン番号を決定する。より具体的には、エンコーダ369は、[01000000000000]の比較結果を比較回路355〜368から受けたとき、ビン番号を“2”と決定し、[00000000010000]の比較結果を比較回路355〜368から受けたとき、ビン番号を“10”と決定する。なお、エンコーダ369は、全てが“0”からなる[00000000000000]の比較結果を比較回路355〜368から受けたとき、ビン番号を“15”と決定する。
そして、エンコーダ369は、その決定したビン番号をHueビン番号としてDラッチ回路36へ出力する。
上述したように、データ生成回路352は、X×(MAX−MIN)を演算し、データ生成回路353は、15×(MED−MIN)を演算するので、データ生成回路352,353の各々を加算器とシフト器とを用いた簡単な回路により実現できる。
次に、RGB値から彩度(S)への変換について説明する。図19は、彩度(S)のビンの構成例を示す構成図である。また、図20は、彩度(S)のビンの一般的な構成を示す構成図である。なお、図19の(a)は、彩度境界(=彩度のしきい値)が0.2である場合における彩度とビンとの対応関係を示し、図19の(b)は、彩度境界(=彩度のしきい値)が0.3である場合における彩度とビンとの対応関係を示し、図19の(c)は、彩度境界(=彩度のしきい値)が0.4である場合における彩度とビンとの対応関係を示す。
図19の(a)を参照して、彩度境界Sthが0.2である場合、0〜0.1の範囲の彩度(S)は、1のビンに割り当てられ、0.1〜0.15の範囲の彩度(S)は、2のビンに割り当てられ、0.15〜0.1625の範囲の彩度(S)は、3のビンに割り当てられ、0.1625〜0.1750の範囲の彩度(S)は、4のビンに割り当てられ、0.1750〜0.1875の範囲の彩度(S)は、5のビンに割り当てられ、0.1875〜0.2の範囲の彩度(S)は、6のビンに割り当てられる。また、0.2〜0.2125の範囲の彩度(S)は、7のビンに割り当てられ、0.2125〜0.2250の範囲の彩度(S)は、8のビンに割り当てられ、0.2250〜0.2375の範囲の彩度(S)は、9のビンに割り当てられ、0.2375〜0.25の範囲の彩度(S)は、10のビンに割り当てられ、0.25〜0.30の範囲の彩度(S)は、11のビンに割り当てられ、0.3〜1.0の範囲の彩度(S)は、12のビンに割り当てられる。
図19の(b)を参照して、彩度境界Sthが0.3である場合、0〜0.2の範囲の彩度(S)は、1のビンに割り当てられ、0.2〜0.25の範囲の彩度(S)は、2のビンに割り当てられ、0.25〜0.2625の範囲の彩度(S)は、3のビンに割り当てられ、0.2625〜0.2750の範囲の彩度(S)は、4のビンに割り当てられ、0.2750〜0.2875の範囲の彩度(S)は、5のビンに割り当てられ、0.2875〜0.3の範囲の彩度(S)は、6のビンに割り当てられ、0.3〜0.3125の範囲の彩度(S)は、7のビンに割り当てられ、0.3125〜0.3250の範囲の彩度(S)は、8のビンに割り当てられ、0.3250〜0.3375の範囲の彩度(S)は、9のビンに割り当てられ、0.3375〜0.35の範囲の彩度(S)は、10のビンに割り当てられ、0.35〜0.4の範囲の彩度(S)は、11のビンに割り当てられ、0.4〜1.0の範囲の彩度(S)は、12のビンに割り当てられる。
図19の(c)を参照して、彩度境界Sthが0.4である場合、0〜0.3の範囲の彩度(S)は、1のビンに割り当てられ、0.3〜0.35の範囲の彩度(S)は、2のビンに割り当てられ、0.35〜0.3625の範囲の彩度(S)は、3のビンに割り当てられ、0.3625〜0.3750の範囲の彩度(S)は、4のビンに割り当てられ、0.3750〜0.3875の範囲の彩度(S)は、5のビンに割り当てられ、0.3875〜0.4の範囲の彩度(S)は、6のビンに割り当てられ、0.4〜0.4125の範囲の彩度(S)は、7のビンに割り当てられ、0.4125〜0.4250の範囲の彩度(S)は、8のビンに割り当てられ、0.4250〜0.4375の範囲の彩度(S)は、9のビンに割り当てられ、0.4375〜0.45の範囲の彩度(S)は、10のビンに割り当てられ、0.45〜0.5の範囲の彩度(S)は、11のビンに割り当てられ、0.5〜1.0の範囲の彩度(S)は、12のビンに割り当てられる。
このように、彩度(S)は、彩度境界Sthである0.2,0.3,0.4付近にある程、細分されたビンに割り当てられる。
そして、図20を参照して、彩度境界Sthが0.2〜0.4の範囲内の任意の値からなる場合、一般的に、0〜(Sth−0.1)の範囲の彩度(S)は、1のビンに割り当てられ、(Sth−0.1)〜((Sth−0.1)+0.05)の範囲の彩度(S)は、2のビンに割り当てられ、((Sth−0.1)+0.05)〜((Sth−0.1)+0.0625)の範囲の彩度(S)は、3のビンに割り当てられ、((Sth−0.1)+0.0625)〜((Sth−0.1)+0.0750)の範囲の彩度(S)は、4のビンに割り当てられ、((Sth−0.1)+0.0750)〜((Sth−0.1)+0.0875)の範囲の彩度(S)は、5のビンに割り当てられ、((Sth−0.1)+0.0875)〜((Sth−0.1)+0.1)の範囲の彩度(S)は、6のビンに割り当てられ、((Sth−0.1)+0.1)〜((Sth−0.1)+0.1125)の範囲の彩度(S)は、7のビンに割り当てられ、((Sth−0.1)+0.1125)〜((Sth−0.1)+0.1250)の範囲の彩度(S)は、8のビンに割り当てられ、((Sth−0.1)+0.1250)〜((Sth−0.1)+0.1375)の範囲の彩度(S)は、9のビンに割り当てられ、((Sth−0.1)+0.1375)〜((Sth−0.1)+0.150)の範囲の彩度(S)は、10のビンに割り当てられ、((Sth−0.1)+0.150)〜((Sth−0.1)+0.2)の範囲の彩度(S)は、11のビンに割り当てられ、((Sth−0.1)+0.2)〜1.0の範囲の彩度(S)は、12のビンに割り当てられる。
RGB値から彩度(S)への変換も、RGB値から色相(H)への変換と同様な方法を用いる。彩度(S)の計算が必要になるのは、2つの画素のうちの一方の画素が無彩色領域に属し、他方の画素が有彩色領域に属する場合である。すなわち、2つの画素が彩度境界(Sth=0.2〜0.4)を間に挟んだ関係にある場合である。
そこで、図19,20に示すように、彩度境界(Sth=0.2〜0.4)の付近に限定して細かいビンに分ける。彩度のビンは、次の2つの式(8),(9)の成立結果を元に12個のビンへ彩度を割り当てる。
なお、式(8),(9)において、Sthは、0.2〜0.4の範囲の任意の値からなる。
式(8)および式(9)の分母を払うと、それぞれ、式(10)および式(11)が得られる。
図21は、図2に示すHS変換回路35に含まれる彩度変換回路の構成を示す概略図である。HS変換回路35は、図21に示す彩度変換回路370を含む。図21を参照して、彩度変換回路370は、決定回路371と、データ生成回路372〜375と、スイッチ376と、比較回路377〜388と、エンコーダ389とを含む。
決定回路371は、画素値検出回路1からRGB値を受け、その受けたRGB値の最大値MAXおよび最小値MINを決定する。そして、決定回路371は、その決定した最大値MAXをデータ生成回路372〜375へ出力し、その決定した最小値MINをデータ生成回路374,375へ出力する。
データ生成回路372は、決定回路371から最大値MAXを受け、しきい値決定回路2からしきい値Sthを受け、その受けた最大値MAXおよびしきい値Sthを用いて、YをY1=20Sth−2,Y2=20Sth−1,Y3=20Sth+2と変化させたY×MAXを順次演算し、その演算した3個のY×MAX(Y=Y1,Y2,Y3)をスイッチ376へ出力する。すなわち、データ生成回路372は、式(10)の右辺のDを演算し、その演算したDをスイッチ376へ出力する。
データ生成回路373は、決定回路371から最大値MAXを受け、しきい値決定回路2からしきい値Sthを受け、その受けた最大値MAXおよびしきい値Sthを用いて、Zを(80Sth−4)から(80Sth+4)まで変化させたZ×MAXを順次演算し、その演算した9個のZ×MAX(Z=(80Sth−4)〜(80Sth+4))をスイッチ376へ出力する。すなわち、データ生成回路353は、式(11)の右辺のFを演算し、その演算したFをスイッチ376へ出力する。
データ生成回路374は、決定回路371から最大値MAXおよび最小値MINを受け、その受けた最大値MAXおよび最小値MINを用いて20×(MAX−MIN)を演算し、その演算した20×(MAX−MIN)をスイッチ376へ出力する。すなわち、データ生成回路374は、式(10)の左辺のCを演算し、その演算したCをスイッチ376へ出力する。
データ生成回路375は、決定回路371から最大値MAXおよび最小値MINを受け、その受けた最大値MAXおよび最小値MINを用いて80×(MAX−MIN)を演算し、その演算した80×(MAX−MIN)をスイッチ376へ出力する。すなわち、データ生成回路375は、式(11)の左辺のEを演算し、その演算したEをスイッチ376へ出力する。
スイッチ376は、データ生成回路372から3個のY×MAX(Y=Y1,Y2,Y3)を受け、データ生成回路373から9個のZ×MAX(Z=(80Sth−4)〜(80Sth+4))を受け、データ生成回路374から20×(MAX−MIN)を受け、データ生成回路375から80×(MAX−MIN)を受ける。
そして、スイッチ376は、Y1×MAXおよび20×(MAX−MIN)を比較回路377へ出力し、Y2×MAXおよび20×(MAX−MIN)を比較回路378へ出力し、Y3×MAXおよび20×(MAX−MIN)を比較回路379へ出力する。
また、スイッチ376は、(80Sth−4)×MAXおよび80×(MAX−MIN)を比較回路380へ出力し、(80Sth−3)×MAXおよび80×(MAX−MIN)を比較回路381へ出力し、以下、同様にして、(80Sth+4)×MAXおよび80×(MAX−MIN)を比較回路388へ出力する。
比較回路377は、Y1×MAXおよび20×(MAX−MIN)をスイッチ376から受け、Y1×MAXを20×(MAX−MIN)と比較し、その比較結果をエンコーダ389へ出力する。より具体的には、比較回路377は、20×(MAX−MIN)<Y1×MAXが成立するとき、“1”をエンコーダ389へ出力し、20×(MAX−MIN)<Y1×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
また、比較回路378は、Y2×MAXおよび20×(MAX−MIN)をスイッチ376から受け、Y2×MAXを20×(MAX−MIN)と比較し、20×(MAX−MIN)<Y2×MAXが成立するとき、“1”をエンコーダ389へ出力し、20×(MAX−MIN)<Y2×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
同様にして、比較回路379は、Y3×MAXおよび20×(MAX−MIN)をスイッチ376から受け、Y3×MAXを20×(MAX−MIN)と比較し、20×(MAX−MIN)<Y3×MAXが成立するとき、“1”をエンコーダ389へ出力し、20×(MAX−MIN)<Y3×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
比較回路380は、(80Sth−4)×MAXおよび80×(MAX−MIN)をスイッチ376から受け、(80Sth−4)×MAXを80×(MAX−MIN)と比較し、その比較結果をエンコーダ389へ出力する。より具体的には、比較回路380は、80×(MAX−MIN)<(80Sth−4)×MAXが成立するとき、“1”をエンコーダ389へ出力し、80×(MAX−MIN)<(80Sth−4)×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
比較回路381は、(80Sth−3)×MAXおよび80×(MAX−MIN)をスイッチ376から受け、(80Sth−3)×MAXを80×(MAX−MIN)と比較し、80×(MAX−MIN)<(80Sth−3)×MAXが成立するとき、“1”をエンコーダ389へ出力し、80×(MAX−MIN)<(80Sth−3)×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
以下、同様にして、比較回路388は、(80Sth+4)×MAXおよび80×(MAX−MIN)をスイッチ376から受け、(80Sth+4)×MAXを80×(MAX−MIN)と比較し、80×(MAX−MIN)<(80Sth+4)×MAXが成立するとき、“1”をエンコーダ389へ出力し、80×(MAX−MIN)<(80Sth+4)×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
なお、比較回路377〜388は、上述した比較を平行して行ない、その比較結果を平行してエンコーダ389へ出力する。したがって、エンコーダ389は、12ビットのデータを比較回路377〜388から受ける。
エンコーダ389は、12ビットからなる比較結果を比較回路377〜388から受け、その受けた12ビットの比較結果に基づいて、ビン番号を決定する。より具体的には、エンコーダ389は、[100000000000]の比較結果を比較回路377〜388から受けたとき、ビン番号を“1”と決定し、[000000100000]の比較結果を比較回路377〜388から受けたとき、ビン番号を“7”と決定する。エンコーダ389は、その他の12ビットの比較結果を受けたときも、同様にしてビン番号を決定する。
そして、エンコーダ389は、その決定したビン番号をSビン番号としてDラッチ回路36へ出力する。
しきい値Sthが0.2である場合について、彩度変換回路370の動作を具体的に説明する。
決定回路371は、画素値検出回路1からRGB値を受け、その受けたRGB値の最大値MAXおよび最小値MINを決定する。そして、決定回路371は、その決定した最大値MAXをデータ生成回路372〜375へ出力し、その決定した最小値MINをデータ生成回路374,375へ出力する。
データ生成回路372は、決定回路371から最大値MAXを受け、しきい値決定回路2からしきい値Sth=0.2を受け、その受けた最大値MAXおよびしきい値Sth=0.2を用いて、YをY1=20Sth−2=2,Y2=20Sth−1=3,Y3=20Sth+2=6と変化させたY×MAXを順次演算し、その演算した3個のY×MAX(Y=2,3,6)をスイッチ376へ出力する。
データ生成回路373は、決定回路371から最大値MAXを受け、しきい値決定回路2からしきい値Sth=0.2を受け、その受けた最大値MAXおよびしきい値Sth=0.2を用いて、Zを12から20まで変化させたZ×MAXを順次演算し、その演算した9個のZ×MAX(Z=12〜20)をスイッチ376へ出力する。
データ生成回路374は、決定回路371から最大値MAXおよび最小値MINを受け、その受けた最大値MAXおよび最小値MINを用いて20×(MAX−MIN)を演算し、その演算した20×(MAX−MIN)をスイッチ376へ出力する。
データ生成回路375は、決定回路371から最大値MAXおよび最小値MINを受け、その受けた最大値MAXおよび最小値MINを用いて80×(MAX−MIN)を演算し、その演算した80×(MAX−MIN)をスイッチ376へ出力する。
スイッチ376は、データ生成回路372から3個のY×MAX(Y=2,3,6)を受け、データ生成回路373から9個のZ×MAX(Z=12〜20)を受け、データ生成回路374から20×(MAX−MIN)を受け、データ生成回路375から80×(MAX−MIN)を受ける。
そして、スイッチ376は、2×MAXおよび20×(MAX−MIN)を比較回路377へ出力し、3×MAXおよび20×(MAX−MIN)を比較回路378へ出力し、6×MAXおよび20×(MAX−MIN)を比較回路379へ出力する。
また、スイッチ376は、12×MAXおよび80×(MAX−MIN)を比較回路380へ出力し、13×MAXおよび80×(MAX−MIN)を比較回路381へ出力し、以下、同様にして、20×MAXおよび80×(MAX−MIN)を比較回路388へ出力する。
比較回路377は、2×MAXおよび20×(MAX−MIN)をスイッチ376から受け、2×MAXを20×(MAX−MIN)と比較し、その比較結果をエンコーダ389へ出力する。より具体的には、比較回路377は、20×(MAX−MIN)<2×MAXが成立するとき、“1”をエンコーダ389へ出力し、20×(MAX−MIN)<2×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
また、比較回路378は、3×MAXおよび20×(MAX−MIN)をスイッチ376から受け、3×MAXを20×(MAX−MIN)と比較し、20×(MAX−MIN)<3×MAXが成立するとき、“1”をエンコーダ389へ出力し、20×(MAX−MIN)<3×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
同様にして、比較回路379は、6×MAXおよび20×(MAX−MIN)をスイッチ376から受け、6×MAXを20×(MAX−MIN)と比較し、20×(MAX−MIN)<6×MAXが成立するとき、“1”をエンコーダ389へ出力し、20×(MAX−MIN)<6×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
比較回路380は、12×MAXおよび80×(MAX−MIN)をスイッチ376から受け、12×MAXを80×(MAX−MIN)と比較し、その比較結果をエンコーダ389へ出力する。より具体的には、比較回路380は、80×(MAX−MIN)<12×MAXが成立するとき、“1”をエンコーダ389へ出力し、80×(MAX−MIN)<12×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
比較回路381は、13×MAXおよび80×(MAX−MIN)をスイッチ376から受け、13×MAXを80×(MAX−MIN)と比較し、80×(MAX−MIN)<13×MAXが成立するとき、“1”をエンコーダ389へ出力し、80×(MAX−MIN)<13×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
以下、同様にして、比較回路388は、20×MAXおよび80×(MAX−MIN)をスイッチ376から受け、20×MAXを80×(MAX−MIN)と比較し、80×(MAX−MIN)<20×MAXが成立するとき、“1”をエンコーダ389へ出力し、80×(MAX−MIN)<20×MAXが成立しないとき、“0”をエンコーダ389へ出力する。
エンコーダ389は、12ビットからなる比較結果を比較回路377〜388から受け、その受けた12ビットの比較結果に基づいて、ビン番号を決定する。そして、エンコーダ389は、その決定したビン番号をSビン番号としてDラッチ回路36へ出力する。
なお、しきい値Sthが0.2〜0.4の範囲において0.2以外の値からなる場合も、彩度変換回路370は、上述した動作と同じ動作によってRGB値を彩度(ビン番号)に変換し、その変換した彩度(ビン番号)をDラッチ回路36へ出力する。
上述したように、データ生成回路372は、Y×MAXを演算し、データ生成回路373は、Z×MAXを演算し、データ生成回路374は、20×(MAX−MIN)を演算し、データ生成回路375は、80×(MAX−MIN)を演算するので、データ生成回路372〜375の各々を加算器とシフト器とを用いた簡単な回路により実現できる。
結合重みの決定方法について説明する。図22は、結合重みを決定する方法を説明するための図である。図22を参照して、外側の円は、色相(Hue)を表しており、また、中心から円周方向へ彩度をとっている。
内側の円は、しきい値Sthを表し、しきい値Sthよりも彩度が低い領域は、ほぼ無彩色に近い色であり、しきい値Sthよりも彩度が高い領域は、有彩色として扱う。また、図中の×は、画素を表している。
2つの画素についてそれぞれ彩度S1,S2を演算し、その演算した2つの彩度S1,S2をしきい値Sthと比較する。
そして、2つの彩度S1,S2の両方がしきい値Sth以下であるとき、2つの画素は、無彩色領域に属すると判定し(図22の(a)の場合)、RGB値のみに基づいて、式(4),(5)を用いて2つの画素間の結合重みを決定する。
また、2つの彩度S1,S2のうち、いずれか一方がしきい値Sth以下であるとき、2つの画素のうち、一方が無彩色領域に属し、他方が有彩色領域に属すると判定し(図22の(b)の場合)、RGB値および彩度(S)を用いて2つの画素間の結合重みを決定する。
さらに、2つの彩度S1,S2の両方がしきい値Sthよりも大きいとき、2つの画素の両方が有彩色領域に属すると判定し(図22の(c)の場合)、RGB値および色相(H)を用いて2つの画素間の結合重みを決定する。
このように、この発明においては、実験的に求められた0.2の彩度をしきい値Sthの初期値として用いて、0.2〜0.4の彩度の範囲において画素数が最も少なくなるようにしきい値Sthを最適化し、その最適化したしきい値Sthを用いて2つの画素が無彩色領域および有彩色領域のいずれに属するかを決定する。これによって、しきい値Sthが同一物体を表す画素の領域内に設定されるのを抑制して2つの画素がどの領域に属するかを正確に決定できる。
また、0.2のしきい値Sthは、人間が目視によって色合いを殆ど識別できない無彩色に近い色と、カラー領域とを分離するために実験的に求められたので、しきい値Sthとして0.2が用いられた場合、人間の実際の識別に沿って2つの画素がどの領域に属するかを正確に決定できる。
図22の(a)に示す場合、結合重みをHSV色空間の色相(H)を用いて計算しても、無彩色領域では、色相が意味を持たないため、領域の分割精度の向上を期待できない。HSV色空間の明度成分(V)を用いることも可能であるが、シミュレーションによりRGB値を用いた方が精度が向上するので、図22の(a)に示す領域では、RGB値のみを用いて結合重みを決定する。
また、図22の(b)に示す場合、図6に示すサンプル画像の人物の領域でリーダセルが見つかり、机の領域に領域が成長しており、無彩色領域からカラー領域へ領域が広がったために生じた分割ミスである。逆に、カラー領域から無彩色領域へ成長する場合もある。サンプル画像のように、人物と机の重なりによって発生する影の影響で色が徐々に変化し、はっきりとしたエッジが領域境界に現れない場合、RGB値だけでは、分割は難しい。
この問題を解決するために、しきい値Sthを用いて、カラー領域(机領域)と無彩色領域(人物領域)との境界を検出することにした。
そして、2つの画素が無彩色領域と有彩色領域とに属する場合、彩度(S)を用いて無彩色領域と有彩色領域との境界を決定し、境界面に属する2つの画素間の結合重みを、RGB値の計算で求めた結合重みの値よりも小さく設定することで、有彩色領域から無彩色領域へ、または無彩色領域から有彩色領域へ領域の成長を抑制する方向に結合重みを決定する。これによって、画像分割において、有彩色領域から無彩色領域へ、または無彩色領域から有彩色領域への領域の成長が抑制され、コントラストが低い入力画像に対しても、画像を正確に分割できる。
さらに、図22の(c)に示す場合、RGB値を元に決定した画素間の結合重みでは、光の反射などにより明度および彩度に変化が生じた場合、画素間の各成分の差は大きくなるため、結合重みは小さい値になる。そのため、図7に示すサンプル画像では、同一領域をまとめて抽出することが困難であった。
そこで、明度および彩度が変化しても、色合いそのものは、さほど変化しないことに注目し、色相(H)を用いた色相判定を取り入れる。有彩色領域に属する画素同士の結合重みの決定には、まず、2つの画素の色相比較を行ない、色相の差があるしきい値以内であるか否か、つまり、2つの画素が同一色相とみなせる範囲であるか否かの判定を行なう。そして、同一色相であると判定した場合、RGB値から決定した結合重みが小さいときは(つまり、反射などの影響でRGB色空間では差が大きいとき)、領域を助長する方向へ、より大きい結合重みを与える。これにより、類似色相に属する有彩色領域の画素同士は、領域が成長し易くなり、反射などにより明度および彩度が変化する領域を1領域としてまとめて抽出することができる。
図22の(a),(b),(c)の各場合における具体的な結合重みの決定方法について説明する。
図22の(a)に示す場合、結合重みは、式(4),(5)によりRGB値のみを用いて決定されるが、式(4),(5)を用いて結合重みを演算する回路をディジタル回路として実装する場合、除算器は、回路面積が大きく、複数のクロックサイクルを必要とすることから、この発明においては、デコーダを用いてテーブルマッピングによって結合重みを決定する。表1は、RGB値のみを用いて結合重みを決定するときの変換テーブルを示す。
表1に示す変換テーブルは、注目画素(i,j)と近傍画素(k,l)との2画素のRGB値を用いて演算した明度Ii,jと明度Ik,lとの差の絶対値|Ii,j−Ik,l|と、結合重みとの対応関係を示す。
したがって、この発明においては、図22の(a)に示す場合、2つの画素(i,j),(k,l)のRGB値に基づいて、2つの明度Ii,j,Ik,lを演算し、その演算した2つの明度Ii,j,Ik,lの差の絶対値|Ii,j−Ik,l|を演算し、その演算した絶対値|Ii,j−Ik,l|に対応する結合重みを表1を参照して抽出することにより、2つの画素(i,j),(k,l)の結合重みを決定する。
次に、図22の(b)に示す場合、領域が広がるのを抑制するために、RGB色空間から表1の変換テーブルを用いて得られた結合重みよりも小さい結合重みを与える。
この場合、彩度境界をしきい値Sthとして無彩色と有彩色との2値に分別したとき、彩度境界付近の画素間の結合重みと、彩度境界から完全に離れた彩度の全く異なる画素間の結合重みとを同様の基準で扱わないように、結合重みを決定する。
図23は、反射による画素値への影響を示す図である。また、図24は、彩度境界を変化させたときの無彩色画素値の変化を示す図である。
図23の(a)は、入力画像を示し、図23の(b)は、図23の(a)に示す道路の画像を、彩度境界(S=0.2)をしきい値Sthとして無彩色(0)と有彩色(1)とに2値化した画像を示し、図23の(c)は、画像分割の結果を示す。
図23の(b)から解るように、画像の道路部分は、実験的に求めた彩度境界(S=0.2)を無彩色領域と有彩色領域との分別のしきい値Sthとして用いると、画像中央を境に同一領域が有彩色領域と無彩色領域とに分かれて分類されてしまう。その結果、図23の(c)に示すように、道路は、彩度境界を境に領域の成長が抑制され、分割画像は、RGB色空間を用いた場合よりも精度が低下してしまう。
図24を参照して、曲線k1は、画像中にカラー領域を含む画像に対する無彩色画素数の変化を示し、曲線k2は、画像中にカラー領域を含まないグレー画像に対する無彩色画素数の変化を示す。
図24から解るように、カラー領域を含む画像は、彩度境界が50〜60付近(S=0.2)を境に無彩色画素数が飽和している。一方、グレー画像の場合、無彩色画素数は、線形的に変化し続ける。
この結果から、彩度境界を挟む2つの画素間の結合重みを領域が成長しない領域まで急激に下げてしまうと、彩度境界によってうまく無彩色領域と有彩色領域とを分けることができなかった場合、グレー領域の分割精度が低下する。
そこで、彩度境界に近い画素同士に対しては、結合重みの下げ幅を小さくし、彩度境界から離れるに従って結合重みの下げ幅を大きくする。これによって、グレー領域の分割精度を向上できる。
図22の(b)に示す場合における結合重みの変換テーブルを表2に示す。
表2から解るように、絶対値|Ii,j−Ik,l|が001x_xxxx,0000_1xxx,0000_01xx,0000_001x,0000_000xである場合、結合重みは、彩度差|Si,j−Sk,l|が大きくなるに従って、RGB値のみを用いて決定した結合重み(表1参照)からの下げ幅を大きくして決定される。
最後に、図22の(c)に示す場合の具体的な結合重みの決定方法について説明する。カラー画像では、反射などの影響がない場合、RGB色空間による結合重みの決定によって精度の高い領域分割結果が得られることが解っている。そのため、反射の影響を受けた画素間の結合重みに対してのみ、HSV色空間を用いて結合重みを最適化することが好ましい。
そこで、R,G,Bの各成分が乱反射の影響によって連続画素間でどの程度変化するかをサンプル画像を用いて調べた。図25は、R,G,Bの各成分の乱反射による影響を示す図である。
図25の(a)は、評価に用いたサンプル画像を示し、図25の(b)は、図25の(a)に示す線分A−B間上の画素のR,G,B値の変化を示し、図25の(c)は、図25の(a)に示す線分C−D間上の画素のR,G,B値の変化を示す。すなわち、図25の(b)は、光の反射の影響を受ける車のボディー領域の画素値の変化を示し、図25の(c)は、光の反射の影響を受けていない道路領域の画素値の変化を示す。
図25を参照して、ボディー領域は、道路領域に比べ、連続画素間で画素値の変化が大きい。そして、光の反射による画素間の変化量は、30から100の間に集中していることが反射領域を持つサンプル画像から解った。つまり、画素値の差が非常に小さい領域、または、逆に画素値の差が非常に大きい領域は、光の反射による影響を受けていないと判定することにする。
そこで、この発明においては、色相(H)の評価結果を利用した結合重みの最適化を表1に示す01xx_xxxx,001x_xxxx,0001_xxxxに限定することで、RGB値によるカラー領域の分割精度を保持しつつ、色相(H)によって精度を向上させることができる。
次に、2画素のHue値の差を元に、表1の01xx_xxxx,001x_xxxx,0001_xxxxにおける結合重みをどの値まで引き上げるかを検討する。色相(H)の幅を大きく取り過ぎると、異なる色まで領域が成長してしまう。たとえば、色相の近い赤と橙色の画素値が同一色相として扱われると、2領域を分離することが困難になる。
逆に、色相(H)の幅を小さくし過ぎると、RGB値から色相(H)への変換計算には、除算が必要であるため、回路面積が大きくなる。
そこで、実装面積と分割精度との両方を考慮してシミュレーションした結果、色相(H)の最小単位を4度に設定した場合、色相の近い色も分割できることが解った。
図26は、赤の車のボディーのHue値のヒストグラムを示す図である。また、図27は、青の車のボディーのHue値のヒストグラムを示す図である。
図26および図27を参照して、ヒストグラムの山を中心にして±10度幅に殆どの画素が集中して抽出されている。また、画素間のHue値の差は、同一領域(同一色)中では、約10度以内と非常に変化量が小さい。
したがって、上述した実験の結果を考慮して、2画素間のHue値の差|Hij−Hkl|に対して、4度以下、5度以上8度以下、およびそれ以外の3つの判定条件を設けて、図22の(c)に示す場合の結合重みの変換テーブルを表3に示すように決定した。
このように、2つの画素の色相差が4度変化するごとに2つの画素間の結合重みを変化させる。そして、色相差が小さい程、大きな結合重みが与えられる。
図28は、図2に示す重み計算ユニット42の構成図である。図28を参照して、重み計算ユニット42は、結合重み演算回路420と、色相差計算回路430と、彩度差計算回路440と、結合重み修正回路450,460と、セレクタ信号生成回路470と、セレクタ480とを含む。
結合重み演算回路420は、Dラッチ回路32およびFIFO回路33から受けた2つのRGB値に基づいて、表1を用いて2つの画素間の結合重みを演算し、その演算した結合重みを結合重み修正回路450,460およびセレクタ480へ出力する。
結合重み演算回路420は、絶対値演算器421,423,425と、エンコーダ422,424,426と、最小値選択回路427とを含む。
絶対値演算器421は、Dラッチ回路32およびFIFO回路33から受けた2つのR値RA,RBに基づいて、明度IA(R),IB(R)を演算し、その演算した明度IA(R),IB(R)の差の絶対値|IA(R)−IB(R)|を演算する。そして、絶対値演算器421は、その演算した絶対値|IA(R)−IB(R)|をエンコーダ422へ出力する。
エンコーダ422は、表1を保持しており、絶対値演算器421から絶対値|IA(R)−IB(R)|を受けると、表1を参照して、絶対値|IA(R)−IB(R)|に対応する結合重みWA,B(R)を抽出し、その抽出した結合重みWA,B(R)を最小値選択回路427へ出力する。
絶対値演算器423は、Dラッチ回路32およびFIFO回路33から受けた2つのG値GA,GBに基づいて、明度IA(G),IB(G)を演算し、その演算した明度IA(G),IB(G)の差の絶対値|IA(G)−IB(G)|を演算する。そして、絶対値演算器423は、その演算した絶対値|IA(G)−IB(G)|をエンコーダ424へ出力する。
エンコーダ424は、表1を保持しており、絶対値演算器423から絶対値|IA(G)−IB(G)|を受けると、表1を参照して、絶対値|IA(G)−IB(G)|に対応する結合重みWA,B(G)を抽出し、その抽出した結合重みWA,B(G)を最小値選択回路427へ出力する。
絶対値演算器425は、Dラッチ回路32およびFIFO回路33から受けた2つのB値BA,BBに基づいて、明度IA(B),IB(B)を演算し、その演算した明度IA(B),IB(B)の差の絶対値|IA(B)−IB(B)|を演算する。そして、絶対値演算器425は、その演算した絶対値|IA(B)−IB(B)|をエンコーダ426へ出力する。
エンコーダ426は、表1を保持しており、絶対値演算器425から絶対値|IA(B)−IB(B)|を受けると、表1を参照して、絶対値|IA(B)−IB(B)|に対応する結合重みWA,B(B)を抽出し、その抽出した結合重みWA,B(B)を最小値選択回路427へ出力する。
最小値選択回路427は、エンコーダ422,424,426からそれぞれ結合重みWA,B(R),WA,B(G),WA,B(B)を受け、その受けた3個の結合重みWA,B(R),WA,B(G),WA,B(B)の中から最小の結合重みWA,Bを選択する。そして、最小値選択回路427は、その選択した結合重みWA,Bを結合重み修正回路450,460およびセレクタ480へ出力する。
色相差計算回路430は、図17に示すHueビン番号の割当図を保持しており、Dラッチ回路37およびFIFO回路38からそれぞれHueビン番号AおよびHueビン番号Bを受ける。そして、色相差計算回路430は、図17に示すHueビン番号の割当図を参照して、その受けたHueビン番号AおよびHueビン番号Bに対応するHue値HA,HBを検出する。そうすると、色相差計算回路430は、色相差|HA−HB|を演算し、その演算した色相差|HA−HB|を結合重み修正回路450へ出力する。
彩度差計算回路440は、図20に示すSビン番号の割当図を保持しており、Dラッチ回路37およびFIFO回路38からそれぞれSビン番号AおよびSビン番号Bを受け、しきい値決定回路2からしきい値Sthを受ける。そして、彩度差計算回路440は、その受けたしきい値Sthに基づいて、図20に示すSビン番号の割当図における彩度Sth,Sth−0.1,Sth+0.1等の具体値を演算する。
そうすると、彩度差計算回路440は、図20に示すSビン番号の割当図を参照して、その受けたSビン番号AおよびSビン番号Bに対応するS値SA,SBを検出する。その後、彩度差計算回路440は、彩度差|SA−SB|を演算し、その演算した彩度差|SA−SB|を結合重み修正回路460へ出力する。
結合重み修正回路450は、表3を保持しており、結合重み演算回路420から結合重みWA,Bを受け、色相差計算回路430から色相差|HA−HB|を受ける。そして、結合重み修正回路450は、表3を参照して、結合重みWA,Bに一致する絶対値|Iij−Ikl|を抽出する。
その後、結合重み修正回路450は、その抽出した絶対値|Iij−Ikl|が表3に示す1xxx_xxxx,0000_1xxx,0000_01xx,0000_001x,0000_000xのいずれかである場合、1xxx_xxxx,0000_1xxx,0000_01xx,0000_001x,0000_000xに対応する結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_Hをセレクタ480へ出力する。
また、結合重み修正回路450は、その抽出した絶対値|Iij−Ikl|が表3に示す01xx_xxxxである場合、色相差|HA−HB|が“4°”以下であるか否かを判定し、色相差|HA−HB|が“4°”以下である場合、16からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=16)をセレクタ480へ出力する。一方、結合重み修正回路450は、色相差|HA−HB|が“4°”以下でない場合、4からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=4)をセレクタ480へ出力する。
さらに、結合重み修正回路450は、その抽出した絶対値|Iij−Ikl|が表3に示す001x_xxxxである場合、色相差|HA−HB|が“4°”以下であるか否かを判定し、色相差|HA−HB|が“4°”以下である場合、32からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=32)をセレクタ480へ出力する。一方、結合重み修正回路450は、色相差|HA−HB|が“4°”以下でない場合、色相差|HA−HB|が“8°”以下であるか否かをさらに判定し、色相差|HA−HB|が“8°”以下である場合、16からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=16)をセレクタ480へ出力する。一方、結合重み修正回路450は、色相差|HA−HB|が“8°”以下でない場合、8からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=8)をセレクタ480へ出力する。
さらに、結合重み修正回路450は、その抽出した絶対値|Iij−Ikl|が表3に示す0001_xxxxである場合、色相差|HA−HB|が“4°”以下であるか否かを判定し、色相差|HA−HB|が“4°”以下である場合、32からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=32)をセレクタ480へ出力する。一方、結合重み修正回路450は、色相差|HA−HB|が“4°”以下でない場合、16からなる結合重みWA,B_Hを表3から抽出し、その抽出した結合重みWA,B_H(=16)をセレクタ480へ出力する。
結合重み修正回路460は、表2を保持しており、結合重み演算回路420から結合重みWA,Bを受け、彩度差計算回路440から彩度差|SA−SB|を受ける。そして、結合重み修正回路460は、表2を参照して、結合重みWA,Bに一致する絶対値|Iij−Ikl|を抽出する。
また、結合重み修正回路460は、彩度差|SA−SB|が“6”以下であるか否かを判定し、彩度差|SA−SB|が“6”以下である場合、結合重みWA,Bに一致する絶対値|Iij−Ikl|と、“if≦6”とに対応する結合重みWA,B_Sを表2から抽出し、その抽出した結合重みWA,B_Sをセレクタ480へ出力する。
一方、結合重み修正回路460は、彩度差|SA−SB|が“6”以下でない場合、彩度差|SA−SB|が“9”以下であるか否かをさらに判定し、彩度差|SA−SB|が“9”以下である場合、結合重みWA,Bに一致する絶対値|Iij−Ikl|と、“else if≦9”とに対応する結合重みWA,B_Sを表2から抽出し、その抽出した結合重みWA,B_Sをセレクタ480へ出力する。
一方、結合重み修正回路460は、彩度差|SA−SB|が“9”以下でない場合、彩度差|SA−SB|が“12”以下であるか否かをさらに判定し、彩度差|SA−SB|が“12”以下である場合、結合重みWA,Bに一致する絶対値|Iij−Ikl|と、“else if≦12”とに対応する結合重みWA,B_Sを表2から抽出し、その抽出した結合重みWA,B_Sをセレクタ480へ出力する。
一方、結合重み修正回路460は、彩度差|SA−SB|が“12”以下でない場合、結合重みWA,Bに一致する絶対値|Iij−Ikl|と、“else”とに対応する結合重みWA,B_Sを表2から抽出し、その抽出した結合重みWA,B_Sをセレクタ480へ出力する。
セレクタ信号生成回路470は、図20に示すSビン番号の割当図を保持しており、しきい値Sthをしきい値決定回路2から受け、Dラッチ回路37およびFIFO回路38からそれぞれSビン番号AおよびSビン番号Bを受ける。そして、セレクタ信号生成回路470は、図20に示すSビン番号の割当図を参照して、その受けたSビン番号AおよびSビン番号Bに対応するS値SA,SBを検出する。
そうすると、セレクタ信号生成回路470は、その検出した2つのS値SA,SBをしきい値Sthと比較する。そして、セレクタ信号生成回路470は、2つのS値SA,SBの両方がしきい値Sth以下であるとき、結合重み演算回路420から受けた結合重みWA,Bを選択するためのセレクタ信号SEL_RGBを生成し、その生成したセレクタ信号SEL_RGBをセレクタ480へ出力する。
また、セレクタ信号生成回路470は、2つのS値SA,SBのいずれか一方がしきい値Sth以下であるとき、結合重み修正回路460から受けた結合重みWA,B_Sを選択するためのセレクタ信号SEL_Sを生成し、その生成したセレクタ信号SEL_Sをセレクタ480へ出力する。
さらに、セレクタ信号生成回路470は、2つのS値SA,SBの両方がしきい値Sthよりも大きいとき、結合重み修正回路450から受けた結合重みWA,B_Hを選択するためのセレクタ信号SEL_Hを生成し、その生成したセレクタ信号SEL_Hをセレクタ480へ出力する。
セレクタ480は、結合重み演算回路420から結合重みWA,Bを受け、結合重み修正回路450,460からそれぞれ結合重みWA,B_H,WA,B_Sを受ける。そして、セレクタ480は、セレクタ信号生成回路470からセレクタ信号SEL_RGBを受けると、結合重みWA,Bを選択し、その選択した結合重みWA,Bを結合重みCWとして出力する。また、セレクタ480は、セレクタ信号生成回路470からセレクタ信号SEL_Sを受けると、結合重みWA,B_Sを選択し、その選択した結合重みWA,B_Sを結合重みCWとして出力する。さらに、セレクタ480は、セレクタ信号生成回路470からセレクタ信号SEL_Hを受けると、結合重みWA,B_Hを選択し、その選択した結合重みWA,B_Hを結合重みCWとして出力する。
図2に示す重み計算ユニット43は、図28に示す重み計算ユニット42と同じ構成からなり、Dラッチ回路31,34から受けたRGB値RGBA,RGBBと、Dラッチ回路36,39から受けたHueビン番号A、Hueビン番号B、Sビン番号A、およびSビン番号Bに基づいて、重み計算ユニット42と同じ方法によって、結合重みWA,B,WA,B_H,WA,B_Sを演算し、その演算した結合重みWA,B,WA,B_H,WA,B_Sのいずれかを結合重みCWとして選択して出力する。
また、図2に示す重み計算ユニット44は、図28に示す重み計算ユニット42と同じ構成からなり、Dラッチ回路34から受けたRGB値RGBAと、Dラッチ回路39から受けたHueビン番号AおよびSビン番号Aと、選択器40から受けたRGB値RGBB、Hueビン番号BおよびSビン番号Bとに基づいて、重み計算ユニット42と同じ方法によって、結合重みWA,B,WA,B_H,WA,B_Sを演算し、その演算した結合重みWA,B,WA,B_H,WA,B_Sのいずれかを結合重みCWとして選択して出力する。
さらに、図2に示す重み計算ユニット45は、図28に示す重み計算ユニット42と同じ構成からなり、Dラッチ回路31から受けたRGB値RGBAと、Dラッチ回路36から受けたHueビン番号AおよびSビン番号Aと、選択器41から受けたRGB値RGBB、Hueビン番号BおよびSビン番号Bとに基づいて、重み計算ユニット42と同じ方法によって、結合重みWA,B,WA,B_H,WA,B_Sを演算し、その演算した結合重みWA,B,WA,B_H,WA,B_Sのいずれかを結合重みCWとして選択して出力する。
画像分割回路4における画像の分割方法について説明する。図29は、画像の分割方法を説明するための図である。画像分割回路4は、領域成長型画像分割方法によって1つのフレームを各対象物の画像に分割する。
この領域成長型画像分割方法は、LEGIONモデル(D. L. Wang, and D. Terman,
“Image segmentation based on oscillator correlation,” Neural Computation, Volume 9(4), pp. 805-836(1997).)の振動子ネットワークの各画素に対する振動子の振る舞
いを自己発火(Self−Excitation)、自己発火可能(Self−Excitable)、発火(Excitation)および鎮火(Inhibition)という4つの状態で取り扱うものである。そして、この領域成長型画像分割方法は、初期化、自己発火、発火、および鎮火の4つのステップからなる。
画像分割回路4は、図29の(a)に示す3×3の構成からなる入力画像を受ける。そして、画像分割回路4は、入力画像を構成する9個の画素における画素間の8個の結合重みCW1〜CW8を結合重み決定回路3から受け、その受けた8個の結合重みCW1〜CW8を各画素間に対応付けてメモリに保持する。なお、図29の(b)においては、(2,2)の画素と周囲の画素との8個の結合重みが図示されている。
そうすると、画像分割回路4は、メモリに保持された8個の結合重みCW1〜CW8を読み出し、その読み出した8個の結合重みCW1〜CW8の和SUM(CW)を演算する。そして、画像分割回路4は、その演算した和SUM(CW)がリーダセルを決定するためのしきい値φPよりも大きいか否かを判定する。なお、この出願においては、SUMは、数学におけるシグマ記号によって表される和を演算することを意味する。
画像分割回路4は、和SUM(CW)がしきい値φPよりも大きいと判定したとき、結合重みの計算の中心となった画素をリーダセルに設定し、リーダセルフラグpij=1を設定する。一方、画像分割回路4は、和SUM(CW)がしきい値φP以下であると判定したとき、結合重みの計算の中心となった画素をリーダセルに設定せず、リーダセルフラグpij=0を設定する。
画像分割回路4は、この処理を入力画像の9個の画素の各々を結合重みの計算の中心となる画素に設定して実行し、リーダセルを決定する(図29の(c)参照)。
その後、画像分割回路4は、リーダセルの1つを自己発火させる(発火フラグxij=1)(図29の(d)参照)。そして、画像分割回路4は、各セル(i,j)に隣接する8個の画素に対応するセル(k,l)∈Nijが発火していれば、セル(i,j)とセル(k,l)との間の結合重みの和SUM(k,l)∈Nij∧xkl=1Wij;klを演算し、その演算した和SUM(k,l)∈Nij∧xkl=1Wij;klがしきい値φZよりも大きく、かつ、まだ、セル(i,j)がどの分割領域にも属していない(ラベルフラグlij=0)場合に、自動的に発火(xij=1)させる(引火・領域成長)(図29の(e)参照)。この引火処理によって、領域が広がっていき、図29の(f)に示すように、新たに発火するセルが存在しなくなると、1領域の分割が終了する。
その後、画像分割回路4は、この分割された領域を保存するために、図29の(g)に示すように、発火しているセルへ分割領域識別のためのラベル番号を書き込み、発火したセルが既に分割されたセルであることを示すラベルフラグをセットし(lij=1)、鎮火処理(xij=0,pij=0)を行なう。
画像分割回路4は、鎮火処理が終了すると、再び、次の領域の分割のための自己発火の処理に戻る。そして、画像分割回路4は、リーダセルが存在しなくなるまで、上述した処理を繰り返し実行し、各領域を分割する。そして、画像分割回路4は、全てのリーダセルが発火した後、全ての領域にラベル付けを行ない、1フレームの画像の分割を終了する(図29の(h)参照)。
図30は、実施の形態1による画像分割方法を説明するためのフローチャートである。図30を参照して、一連の動作が開始されると、画素値検出回路1は、n×n(nは、2以上の整数)からなる入力画像の各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を検出し(ステップS1)、その検出した各画素のRGB値RGBijをしきい値決定回路2および結合重み決定回路3へ出力する。
しきい値決定回路2は、画素値検出回路1から各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を受け、その受けた各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を上述した方法によって彩度Sij(1≦i≦n,1≦j≦n)に変換し、その変換した彩度Sij(1≦i≦n,1≦j≦n)の彩度ヒストグラム(画素数と彩度との関係を示す)を求める。そして、しきい値決定回路2は、その求めた彩度ヒストグラムに基づいて、画素数が最小になる彩度をしきい値Sthとして決定し(ステップS2)、その決定したしきい値Sthを結合重み決定回路3へ出力する。
結合重み決定回路3は、画素値検出回路1から各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を受け、しきい値決定回路2からしきい値Sthを受ける。そして、結合重み決定回路3は、その受けた各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を上述した方法によって色相Hij(1≦i≦n,1≦j≦n)および彩度Sij(1≦i≦n,1≦j≦n)に変換し、RGB値RGBij(1≦i≦n,1≦j≦n)、色相Hij(1≦i≦n,1≦j≦n)、彩度Sij(1≦i≦n,1≦j≦n)およびしきい値Sthに基づいて、各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を決定する(ステップS3)。そうすると、結合重み決定回路3は、その決定した各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を画像分割回路4へ出力する。
画像分割回路4は、外部から入力画像を受け、結合重み決定回路3から各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を受ける。そして、画像分割回路4は、その受けた各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を用いて1フレームの画像を分割する(ステップS4)。そして、一連の動作は、終了する。
図31は、図30に示すステップS2の詳細な動作を説明するためのフローチャートである。なお、図31においては、しきい値決定回路2は、しきい値Sthの初期値S=0.2と、図19の(a)に示す彩度とビン番号との対応関係とを予め保持していることを前提として図30に示すステップS2の詳細な動作を説明する。
図30に示すステップS1の後、しきい値決定回路2は、画素値検出回路1から各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を受け、その受けた各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を上述した方法によって彩度Sij(1≦i≦n,1≦j≦n)に変換する(ステップS21)。
そして、しきい値決定回路2は、その変換した彩度Sij(1≦i≦n,1≦j≦n)に基づいて、画素数と彩度との関係を示す彩度ヒストグラムを求める(ステップS22)。
その後、しきい値決定回路2は、彩度ヒストグラムに基づいて、予め保持しているしきい値Sthの初期値S=0.2における画素数を検出して記憶する(ステップS23)。
引き続いて、しきい値決定回路2は、予め保持している彩度とビン番号との対応関係(図19の(a)参照)に基づいて、隣りのビン番号における画素数を検出し(ステップS24)、その検出した画素数が、記憶している画素数よりも小さいか否かを判定する(ステップS25)。
ステップS25において、検出した画素数が、記憶している画素数よりも小さいと判定されたとき、しきい値決定回路2は、記憶している画素数を、検出した画素数によって更新する(ステップS26)。
一方、ステップS25において、検出した画素数が、記憶している画素数よりも小さくないと判定されたとき、またはステップS26の後、しきい値決定回路2は、S=0.2〜0.4の範囲を調べ終わったか否かを判定する(ステップS27)。
ステップS27において、S=0.2〜0.4の範囲を調べ終わっていないと判定されたとき、一連の動作は、ステップS24へ戻り、ステップS27において、S=0.2〜0.4の範囲を調べ終わったと判定されるまで、上述したステップS24〜ステップS27が繰返し実行される。
そして、ステップS27において、S=0.2〜0.4の範囲を調べ終わったと判定されると、しきい値決定回路2は、最終的に記憶している画素数が得られたときの彩度をしきい値Sthとして決定する(ステップS28)。その後、一連の動作は、図30に示すステップS3へ移行する。
なお、しきい値決定回路2は、ステップS24が1回目に実行される場合、S=0.2の右隣のビン番号における画素数を検出し、ステップS24が2回目に実行される場合、S=0.2から右へ2個目のビン番号における画素数を検出し、以下、同様にして、S=0.2から右へ順次ずらせたビン番号における画素数を検出する。
このように、しきい値決定回路2は、無彩色と有彩色との境界判定があいまいな彩度S=0.2〜0.4の範囲において、無彩色と有彩色との境界を示すしきい値Sthを画素数が最小になる彩度に決定する。
図32は、図30に示すステップS3の詳細な動作を説明するためのフローチャートである。なお、図32においては、図3に示す画素GE1を画素GEijとし、画素GE2を画素GEklとし、画素GE3を画素GEi+1,jとし、画素GE4を画素GEk+1,lとしてステップS3の詳細な動作を説明する。
図32を参照して、図30に示すステップS2の後、結合重み決定回路3は、画素値検出回路1から複数の画素GEij(1≦i≦n,1≦j≦n)の複数のRGB値RGBij(1≦i≦n,1≦j≦n)を順次受け、しきい値決定回路2からしきい値Sthを受ける。そして、結合重み決定回路3は、i=1,j=1,k=1,l=1を設定する(ステップS31)。
そして、結合重み決定回路3は、入力画像の複数の画素GEij(1≦i≦n,1≦j≦n)のうち、画素値検出回路1から順次入力される隣接する2つの画素GEij,GEkl(1≦k≦n,1≦l≦n)を選択する(ステップS32)。
その後、結合重み決定回路3は、HS変換回路35によって、画素GEijのRGB値RGBijを上述した方法によって色相Hijおよび彩度Sijに変換し(ステップS33)、画素GEklのRGB値RGBklを上述した方法によって色相Hklおよび彩度Sklに変換する(ステップS34)。
そして、結合重み決定回路3において、4組の隣接画素GEij,GEkl;GEi+1,j,GEkl;GEij,GEk+1,l;GEi+1,j,GEk+1,lのRGB値が色相および彩度に変換されたか否かが判定される(ステップS35)。
ステップS35において、4組の隣接画素GEij,GEkl;GEi+1,j,GEkl;GEij,GEk+1,l;GEi+1,j,GEk+1,lのRGB値が色相および彩度に変換されていないと判定されたとき、i,kのいずれかまたは両方が“1”だけ変化される(ステップS36)。その後、一連の動作は、ステップS32へ戻り、ステップS35において、4組の隣接画素GEij,GEkl;GEi+1,j,GEkl;GEij,GEk+1,l;GEi+1,j,GEk+1,lのRGB値が色相および彩度に変換されたと判定されるまで、ステップS32〜ステップS36が繰り返し実行される。
そして、ステップS35において、4組の隣接画素GEij,GEkl;GEi+1,j,GEkl;GEij,GEk+1,l;GEi+1,j,GEk+1,lのRGB値が色相および彩度に変換されたと判定されると、結合重み決定回路3の4個の重み計算ユニット42〜45は、平行して隣接画素間の結合重みを決定する(ステップS37〜ステップS40)。
この場合、重み計算ユニット42は、画素GEkl,GEi+1,j間の結合重みWk,l;i+1,jを決定し、重み計算ユニット43は、画素GEij,GEk+1,l間の結合重みWij;k+1,lを決定し、重み計算ユニット44は、画素GEij,GEkl間の結合重みWij;klを決定し、重み計算ユニット45は、画素GEi+1,j,GEk+1,l間の結合重みWi+1,j;k+1,lを決定する。
ステップS37〜ステップS40の後、結合重み決定回路3において、i=n、かつ、j=nであるか否かが判定され(ステップS41)、i=n、かつ、j=nでないとき、i,jのいずれかまたは両方が“1”だけ変化され(ステップS42)、k=1およびl=1が設定される(ステップS43)。
その後、一連の動作は、ステップS32へ戻り、ステップS41において、i=n、かつ、j=nであると判定されるまで、ステップS32〜ステップS43が繰り返し実行される。
そして、ステップS41において、i=n、かつ、j=nであると判定されると、一連の動作は、図30のステップS4へ移行する。
図33は、図32に示すステップS37の詳細な動作を説明するためのフローチャートである。図33を参照して、図32のステップS35の“YES”の後、重み計算ユニット42の結合重み演算回路420は、FIFO回路33から受けたRGB値RGBklと、Dラッチ回路32から受けたRGB値RGBi+1,jとに基づいて、上述した方法によって、画素GEkl,GEi+1,j間の結合重みWi+1,j;kl_RGBを決定し、その決定した結合重みWi+1,j;kl_RGBを結合重み修正回路450,460およびセレクタ480へ出力する。
また、色相差計算回路430は、FIFO回路38から画素GEklのHueビン番号Aを受け、Dラッチ回路37から画素GEi+1,jのHueビン番号Bを受ける。そして、色相差計算回路430は、図17に示すHueビン番号の割当図を参照して、Hueビン番号Aに対応する色相Hklを抽出し、Hueビン番号Bに対応する色相Hi+1,jを抽出する。
そうすると、色相差計算回路430は、色相Hklと色相Hi+1,jとの色相差|Hkl−Hi+1,j|を演算し、その演算した色相差|Hkl−Hi+1,j|を結合重み修正回路450へ出力する。
結合重み修正回路450は、色相差計算回路430から色相差|Hkl−Hi+1,j|を受け、結合重み演算回路420から結合重みWi+1,j;kl_RGBを受ける。そして、結合重み修正回路450は、表3を参照して、結合重みWi+1,j;kl_RGBおよび色相差|Hkl−Hi+1,j|に基づいて、上述した方法によって結合重みWi+1,j;kl_Hを抽出し、その抽出した結合重みWi+1,j;kl_Hをセレクタ480へ出力する。
さらに、彩度差計算回路440は、FIFO回路38から画素GEklのSビン番号Aを受け、Dラッチ回路37から画素GEi+1,jのSビン番号Bを受ける。
そして、彩度差計算回路440は、しきい値Sthおよび図20に示すSビン番号の割当図に基づいて、Sビン番号Aに対応する彩度Sklを抽出し、Sビン番号Bに対応する彩度Si+1,jを抽出する。
そうすると、彩度差計算回路440は、彩度Sklと彩度Si+1,jとの彩度差|Skl−Si+1,j|を演算し、その演算した彩度差|Skl−Si+1,j|を結合重み修正回路460へ出力する。
結合重み修正回路460は、彩度差計算回路440から彩度差|Skl−Si+1,j|を受け、結合重み演算回路420から結合重みWi+1,j;kl_RGBを受ける。そして、結合重み修正回路460は、表2を参照して、結合重みWi+1,j;kl_RGBおよび彩度差|Skl−Si+1,j|に基づいて、上述した方法によって結合重みWi+1,j;kl_Sを抽出し、その抽出した結合重みWi+1,j;kl_Sをセレクタ480へ出力する。
一方、重み計算ユニット42のセレクタ信号生成回路470は、FIFO回路38から画素GEklのSビン番号Aを受け、Dラッチ回路37から画素GEi+1,jのSビン番号Bを受ける。
そして、セレクタ信号生成回路470は、しきい値Sthおよび図20に示すSビン番号の割当図に基づいて、Sビン番号Aに対応する彩度Sklを抽出し、Sビン番号Bに対応する彩度Si+1,jを抽出する。
そうすると、セレクタ信号生成回路470は、彩度Si+1,jがしきい値Sth以下であり、かつ、彩度Sklがしきい値Sth以下であるか否かを判定する(ステップS371)。
ステップS371において、彩度Si+1,jがしきい値Sth以下であり、かつ、彩度Sklがしきい値Sth以下であると判定されたとき、セレクタ信号生成回路470は、セレクタ信号SEL_RGBを生成し、その生成したセレクタ信号SEL_RGBをセレクタ480へ出力する。
セレクタ480は、結合重み演算回路420から結合重みWi+1,j;kl_RGBを受け、結合重み修正回路450から結合重みWi+1,j;kl_Hを受け、結合重み修正回路460から結合重みWi+1,j;kl_Sを受ける。そして、セレクタ480は、セレクタ信号生成回路470からセレクタ信号SEL_RGBを受けると、セレクタ信号SEL_RGBに応じて、3個の結合重みWi+1,j;kl_RGB,Wi+1,j;kl_H,Wi+1,j;kl_Sから結合重みWi+1,j;kl_RGBを選択し、その選択した結合重みWi+1,j;kl_RGBを結合重みWi+1,j;klと決定する。つまり、重み計算ユニット42は、RGB値RGBi+1,j,RGBklによって結合重みWi+1,j;klを決定する(ステップS372)。そして、重み計算ユニット42は、その決定した結合重みWi+1,j;klを画像分割回路4へ出力する。
一方、ステップS371において、彩度Si+1,jがしきい値Sth以下であり、かつ、彩度Sklがしきい値Sth以下でないと判定されたとき、セレクタ信号生成回路470は、彩度Si+1,j,Sklの一方のみがしきい値Sth以下であるか否かをさらに判定する(ステップS373)。
そして、ステップS373において、彩度Si+1,j,Sklの一方のみがしきい値Sth以下であると判定されたとき、セレクタ信号生成回路470は、セレクタ信号SEL_Sを生成し、その生成したセレクタ信号SEL_Sをセレクタ480へ出力する。
セレクタ480は、セレクタ信号生成回路470からセレクタ信号SEL_Sを受けると、セレクタ信号SEL_Sに応じて、3個の結合重みWi+1,j;kl_RGB,Wi+1,j;kl_H,Wi+1,j;kl_Sから結合重みWi+1,j;kl_Sを選択し、その選択した結合重みWi+1,j;kl_Sを結合重みWi+1,j;klと決定する。つまり、重み計算ユニット42は、RGB値RGBi+1,j,RGBklおよび彩度Si+1,j,Sklによって結合重みWi+1,j;klを決定する(ステップS374)。そして、重み計算ユニット42は、その決定した結合重みWi+1,j;klを画像分割回路4へ出力する。
一方、ステップS373において、彩度Si+1,j,Sklの一方のみがしきい値Sth以下でないと判定されたとき、セレクタ信号生成回路470は、セレクタ信号SEL_Hを生成し、その生成したセレクタ信号SEL_Hをセレクタ480へ出力する。
セレクタ480は、セレクタ信号生成回路470からセレクタ信号SEL_Hを受けると、セレクタ信号SEL_Hに応じて、3個の結合重みWi+1,j;kl_RGB,Wi+1,j;kl_H,Wi+1,j;kl_Sから結合重みWi+1,j;kl_Hを選択し、その選択した結合重みWi+1,j;kl_Hを結合重みWi+1,j;klと決定する。つまり、重み計算ユニット42は、RGB値RGBi+1,j,RGBklおよび色相Hi+1,j,Hklによって結合重みWi+1,j;klを決定する(ステップS375)。そして、重み計算ユニット42は、その決定した結合重みWi+1,j;klを画像分割回路4へ出力する。
そうすると、ステップS372,S374,S375のいずれかの後、一連の動作は、図32のステップS41へ移行する。
なお、ステップS374は、RGB値RGBi+1,j,RGBklのみによって結合重みWi+1,j;kl_RGBを決定するステップと、その決定した結合重みWi+1,j;kl_RGBを彩度Si+1,j,Sklの彩度差|Si+1,j−Skl|に応じて小さくするステップとからなる。
また、ステップS375は、RGB値RGBi+1,j,RGBklのみによって結合重みWi+1,j;kl_RGBを決定するステップと、その決定した結合重みWi+1,j;kl_RGBを色相Hi+1,j,Hklの色相差|Hi+1,j−Hkl|に応じて大きくするステップとからなる。
さらに、図32に示すステップS38〜ステップ40の各々における詳細な動作も、図33に示すステップS371〜ステップS375によって実行される。
図34は、図30に示すステップS4の詳細な動作を説明するためのフローチャートである。図34を参照して、図30に示すステップS3の後、画像分割回路4は、結合重み決定回路3から1フレームを構成する複数の画素における各画素間の結合重みを受けるとともに、上述した方法によって、リーダセルを決定する(ステップS51)。
そして、画像分割回路4は、自己発火可能なセルを検出したか否かを判定し(ステップS52)、自己発火可能なセルを検出したと判定したとき、上述した方法によって自己発火を行なう(ステップS53)。
その後、画像分割回路4は、発火セルが存在するか否かを判定し(ステップS54)、発火セルが存在するとき、上述した方法によって周囲へ引火(領域成長)を行なう(ステップS55)。そして、一連の動作は、ステップS54へ戻り、ステップS54において、発火セルが存在しなくなるまで、ステップS54,S55が繰り返し実行される。
ステップS54において、発火セルが存在しないと判定されると、画像分割回路4は、上述した方法によって、引火終了・領域決定を行なうとともに、ラベル付け(鎮火)を行なう(ステップS56)。その後、一連の動作は、ステップS52へ戻り、ステップS52において、自己発火可能なセルが検出されないと判定されるまで、ステップS52〜ステップS56が繰り返し実行される。
そして、ステップS52において、自己発火可能なセルが検出されないと判定されると、一連の動作は、図30の“終了”へ移行する。
なお、画像分割装置10は、図30(図31〜図34)に示すフローチャートを繰り返し実行し、各フレームを各対象物の画像に分割する。
図35は、無彩色と有彩色との境界を示すしきい値の調整の有無による分割結果を示す図である。なお、図35において、「変更前」は、しきい値Sthを0.2に固定した場合を示し、「変更後」は、しきい値Sthを上述した方法によって調整した場合を示す。
図35を参照して、しきい値Sthを0.2に固定した場合(「変更前」参照)、かご内の果物とかご外のにんにくとが同一の物体として分割されており、象と草原とが同一の物体として分割されており、空とピラミッドおよび砂漠との境界がぼやけて分割されている。
一方、しきい値Sthを調整した場合(「変更後」参照)、かご内の果物だけが同一物体として分割されており、象だけが同一物体として分割されており、ピラミッドおよび砂漠が同一物体として分割され、空が同一物体として分割されている。
したがって、画素数が最小になる彩度にしきい値Sthを調整することにより、各対象物の画像に正確に分割できることが実証された。
上述したように、この発明においては、隣接する2つの画素の2つの彩度の両方がしきい値Sth以下であるとき、2つの画素のRGB値のみによって2つの画素間の結合重みを決定し(ステップS372参照)、2つの彩度の一方のみがしきい値Sth以下であるとき、2つの画素のRGB値および彩度によって2つの画素間の結合重みを決定し(ステップS374参照)、2つの画素の2つの彩度の両方がしきい値Sthよりも大きいとき、2つのRGB値および色相によって結合重みを決定する(ステップS375参照)。
そして、ステップS374において決定される結合重みは、ステップS372において決定される結合重みよりも小さく、ステップS375において決定される結合重みは、ステップS372において決定される結合重み以上である。
このように、2つの画素の2つの彩度の少なくとも一方の彩度がしきい値Sthよりも大きいとき、彩度または色相を用いて2つの画素間の結合重みを決定する。
したがって、コントラストの低いカラー画像または光の反射による影響があるカラー画像における画素間の結合重みを正確に決定できる。
また、2つの画素が無彩色領域と有彩色領域とに属するとき、結合重みが、RGB値のみによって決定した結合重みよりも小さく決定されるので(ステップS374参照)、画像分割において領域成長が抑制され、2つの画素の両方が有彩色領域に属するとき、結合重みが、RGB値のみによって決定した結合重み以上に決定されるので(ステップS375参照)、画像分割において領域成長が促進される。
したがって、コントラストの低いカラー画像または光の反射による影響があるカラー画像を正確に分割できる。
さらに、画素数が最小になる彩度にしきい値Sthを調整するので(ステップS21〜S28参照)、しきい値Sthが同一物体内に設定されるのを防止して、各対象物ごとの画像に分割できる。
上記においては、RGB値から彩度(S)または色相(H)への変換は、加算器およびシフト器を用いて行なわれると説明したが、この発明においては、これに限らず、回路面積が問題とならない等の特別な制約がない場合、除算器を用いた回路によってRGB値を彩度(S)または色相(H)へ変換してもよい。
また、上記においては、しきい値Sthは、画素数が最小になる彩度に調整されると説明したが、この発明においては、これに限らず、しきい値Sthは、1つのフレームを構成する複数の画素を90%の画素数が存在する領域と、10%の画素数が存在する領域とに分けるように調整されてもよい。すなわち、しきい値Sthは、1つのフレームを構成する複数の画素を基準数以上の画素数が存在する領域と、基準数よりも少ない画素数が存在する領域とに分けるように調整されてもよい。
さらに、上記においては、しきい値決定回路2は、彩度のみに基づいて、しきい値Sthを彩度S=0.2〜0.4の範囲で調整すると説明したが、この発明においては、これに限らず、しきい値決定回路2は、彩度および明度に基づいて、しきい値Sthを調整するようにしてもよい。この場合、しきい値決定回路2は、彩度Sの初期値としてS=0.2を予め保持しており、明度Vの初期値としてVth0=0.3を予め保持している。そして、しきい値決定回路2は、画素値検出回路1から1フレーム分の複数の画素の複数のRGB値を受けると、その受けた複数のRGB値を式(2),(3)に従ってそれぞれ複数の彩度Sおよび複数の明度Vに変換し、その変換した複数の彩度Sに基づいて彩度ヒストグラムを生成し、複数の明度Vに基づいて、明度ヒストグラムを生成する。そうすると、しきい値決定回路2は、彩度ヒストグラムおよび明度ヒストグラムに基づいて、彩度Sを0.2〜0.4の範囲、明度Vを0.3〜0.5の範囲でそれぞれ変化させ、画素数が最小になる彩度および明度をしきい値として決定する。したがって、この場合、無彩色と有彩色との境界は、彩度および明度によって決定される。その結果、図33のステップS371においては、画素(i+1,j)の彩度Si+1,j≦Sth、かつ、画素(k,l)の彩度Sk,l≦Sthの判定に加え、画素(i+1,j)の明度Vi+1,j≦Vth、かつ、画素(k,l)の明度Vk,l≦Vthの判定が実行され、ステップS373においては、彩度Si+1,j,Sk,lの一方のみがしきい値Sth以下の判定に加え、明度Vi+1,j,Vk,lの一方のみがしきい値Vth以下の判定が実行される。
さらに、上記においては、画像分割は、領域成長型画像分割方法を用いて行なわれると説明したが、この発明においては、これに限らず、画像分割は、“B. Jaehne, “Digital
Image Processing 5th revised and extended edition,” Springer-Verlag, pp. 427-440, 2001.”の文献、“J. C. Russ, “The Image Processing Handbook,” CRC PRESS, pp. 371-429, 1999.36”の文献、“T. Braeunl, S. Feyrer, W. Rapf, and M. Reinhardt,
“Parallel Image Processing,”Springer-Verlag, 2000.”の文献、および“W. Y. Ma,
and B. S. Manjunath, “Edgeflow: a technique for boundary detection and segmentation,” IEEE Transactions on Image Processing, vol. 9 (8), pp. 1375-1388, 2004.”の文献のいずれかに記載された方法を用いて行なわれてもよい。
なお、この発明の実施の形態1においては、RGB値のみによって決定された結合重みは、「第1の結合重み」を構成し、RGB値および彩度(S)によって決定される結合重みは、第1の結合重みよりも小さい「第2の結合重み」を構成し、RGB値および色相(H)によって決定される結合重みは、第1の結合重み以上である「第3の結合重み」を構成する。
また、表3に示す画素値の差01xx_xxxxは、「第1の値」を構成し、画素値の差0001_xxxxは、第1の値よりも大きい「第2の値」を構成する。
さらに、上述した実施の形態1においては、画像分割装置10は、ソフトウェアまたはハードウェアによっても実現可能である。画像分割装置10がソフトウェアによって実現される場合、上述した画素値検出回路1、しきい値決定回路2、結合重み決定回路3および画像分割回路4の各機能は、典型的には、CPU(Central Processing Unit)がコンピュータプログラムを実行することによって実現される。そして、このコンピュータプログラムは、携帯端末内のROM(Read Only Memory)に予め格納されているか、外部からダウンロードされて携帯端末内の不揮発メモリに格納される。
また、画像分割装置10がハードウェアによって実現される場合、上述した画素値検出回路1、しきい値決定回路2、結合重み決定回路3および画像分割回路4の機能は、CPU、RAM(Randum Access Memory)、ROMおよび不揮発性メモリ等のハードウェア資源と組み合わせることによって、集積回路であるLSI(Large Scale Integrated circuit)によって実現される。そして、画素値検出回路1、しきい値決定回路2、結合重み決定回路3および画像分割回路4の機能は、個別に1チップ化されてもよいし、いくつかのまとまった単位で1チップ化されてもよい。また、集積回路は、LSIに限るものではなく、専用回路または汎用プロセッサによって実現されてもよい。さらに、集積回路は、LSIの製作後にプログラムを格納可能なFPGA(Field Programmable Gate Array)、またはLSI内部の回路セルの接続や設定を再構成することが可能なリコンフィギュラブル・プロセッサが利用されてもよい。さらに、画素値検出回路1、しきい値決定回路2、結合重み決定回路3および画像分割回路4の機能は、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術(バイオ技術、有機化学技術等)が登場すれば、当然、その技術を用いて集積化されてもよい。なお、集積回路は、その集積度の違いによって、IC、システムLSI、スーパーLSIおよびウルトラLSI等と呼称されることもある。
このように、画像分割装置10は、ソフトウェアまたはハードウェアによっても実現可能であるので、実施の形態1においては、上述した画素値検出回路1は、「画素値検出部」を構成し、しきい値決定回路2は、「しきい値決定部」を構成し、結合重み決定回路3は、「結合重み決定部」を構成し、画像分割回路4は、「画像分割部」を構成する。
[実施の形態2]
図36は、実施の形態2による画像分割装置の構成を示す概略ブロック図である。図36を参照して、実施の形態2による画像分割装置10Aは、画素値検出回路11と、結合重み決定回路12と、画像分割回路13と、分割判定回路14とを備える。
画素値検出回路11は、1フレームの入力画像を外部から受け、その受けた入力画像の各画素のR成分、G成分およびB成分を検出し、その検出したR成分、G成分およびB成分をRGB値として結合重み決定回路12へ出力する。また、画素値検出回路11は、画像分割回路13から各分割画像を受け、その受けた分割画像のR成分、G成分およびB成分を検出し、その検出したR成分、G成分およびB成分をRGB値として結合重み決定回路12および分割判定回路14へ出力する。
結合重み決定回路12は、実験的に求められたS=0.2からなるしきい値Sthを予め保持しており、画素値検出回路11から入力画像のRGB値を受ける。そして、結合重み決定回路12は、その受けた入力画像のRGB値と、しきい値Sth(=0.2)とに基づいて、結合重み決定回路3においてしきい値Sthを0.2に設定した場合の結合重みの決定方法と同じ方法によって、1つのフレームを構成する複数の画素における各画素間の結合重みを決定し、その決定した結合重みを画像分割回路13へ出力する。また、結合重み決定回路12は、画素値検出回路11から分割画像のRGB値を受け、分割判定回路14から画像の再分割を指示する再分割信号RDIVを受けると、分割画像のRGB値に基づいて、後述する方法によって、分割画像を構成する複数の画素における各画素間の結合重みを決定し、その決定した結合重みを画像分割回路13へ出力する。
画像分割回路13は、入力画像を外部から受け、入力画像の各画素間の結合重みを結合重み決定回路12から受けると、入力画像および入力画像の各画素間の結合重みに基づいて、画像分割回路4と同じ方法によって、入力画像を分割する。そして、画像分割回路13は、その分割した各分割画像を画素値検出回路11へ出力する。また、画像分割回路13は、各分割画像の結合重みを結合重み決定回路12から受けると、その受けた各分割画像の結合重みと、各分割画像とに基づいて、画像分割回路4と同じ方法によって、画像を再分割する。
分割判定回路14は、各分割画像のRGB値を画素値検出回路11から受けると、その受けたRGB値を式(3)に従って明度Vに変換し、その変換した明度Vに基づいて、画素数と明度との関係を示す明度ヒストグラムを生成する。そして、分割判定回路14は、明度ヒストグラムに基づいて、後述する方法によって、画像を再分割する必要があるか否かを判定する。
分割判定回路14は、画像を再分割する必要があると判定したとき、再分割信号RDIVを生成し、その生成した再分割信号RDIVを結合重み決定回路12へ出力する。一方、分割判定回路14は、画像を再分割する必要がないと判定したとき、結合重み決定回路12へ何も出力しない。
図37は、1回目の分割結果と色相ヒストグラムとを示す図である。また、図38は、1回目の分割結果と明度ヒストグラムとを示す図である。
図37を参照して、かご内の複数種類の果物は、共に、有彩色領域に属するため、実施の形態1における方法によって元画像を分割する場合、果物の領域における各画素間の結合重みは、RGB値および色相値に基づいて決定される(図33のステップS375参照)。
したがって、色相の近い物体が隣接していると、結合重みが大きくなり、物体同士が分割され難くなる(図37の(b)参照)。
そこで、色相の分布図および色相ヒストグラムを調べてみると、色相の近い部分に画素が集中していることが解る(図37の(c),(d)参照)。
一方、図37に示す元画像と同じ元画像の分割画像における明度の分布図および明度ヒストグラムを調べてみると、画素が明度の全体に分布していることが解った(図38の(c),(d)参照)。
そこで、1回目の分割に失敗した各種の分割画像について明度ヒストグラムを調べてみると、分割に失敗した画像においては、画素が明度の全体に分布していることが解った。
図39は、明度ヒストグラムの幅を説明するための図である。また、図40は、画像の再分割の判定基準を示す図である。
図39を参照して、明度ヒストグラムの幅は、明度ヒストグラムにおいて、画素数が10個以上の部分の内、最小の明度をhist_miniとし、最大の明度をhist_maxとすると、hist_max−hist_miniによって定義される。
ここで、画素数を10個以上としたのは、ノイズを除き、かつ、画素数の少なすぎる画像を再分割しないためである。
再分割が必要な画像と、再分割が必要でない画像に対して、明度ヒストグラムの幅を調べた結果、図40に示すようになった。図40に示す結果から、再分割が必要な画像は、明度ヒストグラムの幅(=明度幅)が0.6以上に存在し、再分割が必要でない画像は、明度ヒストグラムの幅(=明度幅)が0.6よりも小さいことが解った。
そこで、この発明の実施の形態においては、再分割が必要であるか否かを判定する判定基準を、0.6の明度ヒストグラムの幅に設定することにした。
したがって、分割判定回路14は、明度ヒストグラムに基づいて、明度ヒストグラムの幅を検出し、その検出した明度ヒストグラムの幅が0.6以上であれば、再分割が必要であると判定し、明度ヒストグラムの幅が0.6よりも小さければ、再分割が必要でないと判定する。
図41は、図36に示す結合重み決定回路12の構成を示す概略ブロック図である。図41を参照して、結合重み決定回路12は、重み決定回路121,122からなる。重み決定回路121は、図2に示す結合重み決定回路3と同じ構成からなる。そして、重み決定回路121は、しきい値Sth=0.2を予め保持しており、画素値検出回路11から入力画像の各画素のRGB値を受けると、その受けたRGB値およびしきい値Sth=0.2に基づいて、結合重み決定回路3においてしきい値Sthを0.2に設定した場合の結合重み決定方法と同じ方法によって結合重みCWを決定し、その決定した結合重みCWを画像分割回路13へ出力する。
重み決定回路122は、画素値検出回路11から分割画像のRGB値を受け、分割判定回路14から再分割信号RDIVを受けると、RGB値を明度Vに変換し、その変換した明度Vに基づいて、結合重みCWを決定し、その決定した結合重みを画像分割回路13へ出力する。この場合、重み決定回路122は、分割画像のRGB値のみを受けただけでは、動作せず、分割画像のRGB値および再分割信号RDIVの両方を受けると、動作する。
図42は、図41に示す重み決定回路122の構成を示す概略ブロック図である。図42を参照して、重み決定回路122は、V変換回路1221と、Dラッチ回路1222,1223,1225と、FIFO回路1224と、選択器1226,1227と、重み計算ユニット1228〜1231とを含む。
V変換回路1221は、分割画像のRGB値および再分割信号RDIVの両方を受けると、式(3)に従ってRGB値を明度Vに変換し、その変換した明度VをDラッチ回路1222へ出力する。
Dラッチ回路1222は、V変換回路1221から明度Vを受け、その受けた明度Vをラッチし、そのラッチした明度VをDラッチ回路1223、および重み計算ユニット1229,1231へ出力する。
Dラッチ回路1223は、Dラッチ回路1222から明度Vを受け、その受けた明度Vをラッチし、そのラッチした明度VをFIFO回路1224、重み計算ユニット1228および選択器1226,1227へ出力する。
FIFO回路1224は、Dラッチ回路1223から明度Vを受け、その受けた明度Vを1クロック分、保持し、その後、明度VをDラッチ回路1225、重み計算ユニット1228および選択器1226,1227へ出力する。
Dラッチ回路1225は、FIFO回路1224から受けた明度Vをラッチし、そのラッチした明度Vを重み計算ユニット1229,1230へ出力する。
選択器1226は、外部から制御信号CTLを受け、Dラッチ回路1223およびFIFO回路1224から明度Vを受ける。そして、選択器1226は、制御信号CTL0を受けると、FIFO回路1224から受けた明度Vを選択して重み計算ユニット1230へ出力し、制御信号CTL1を受けると、Dラッチ回路1223から受けた明度Vを選択して重み計算ユニット1230へ出力する。
選択器1227は、外部から制御信号CTLを受け、Dラッチ回路1223およびFIFO回路1224から明度Vを受ける。そして、選択器1227は、制御信号CTL0を受けると、Dラッチ回路1223から受けた明度Vを選択して重み計算ユニット1231へ出力し、制御信号CTL1を受けると、FIFO回路1224から受けた明度Vを選択して重み計算ユニット1231へ出力する。
重み計算ユニット1228は、Dラッチ回路1223およびFIFO回路1224から明度Vを受ける。そして、重み計算ユニット1228は、Dラッチ回路1223から受けた明度Vを1つの画素GE3に対応する明度V3とし、FIFO回路1224から受けた明度Vを別の1つの画素GE2に対応する明度V2とする。そうすると、重み計算ユニット1228は、明度V3と、明度V2とに基づいて、後述する方法によって、画素GE2と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13へ出力する。
重み計算ユニット1229は、Dラッチ回路1222から明度Vを受け、Dラッチ回路1225から明度Vを受ける。そして、重み計算ユニット1229は、Dラッチ回路1222から受けた明度Vを1つの画素GE4に対応する明度V4とし、Dラッチ回路1225から受けた明度Vを別の1つの画素GE1に対応するV1とする。そうすると、重み計算ユニット1229は、明度V4と、明度V1とに基づいて、後述する方法によって、画素GE1と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13へ出力する。
重み計算ユニット1230は、Dラッチ回路1225から明度Vを受け、選択器1226から明度Vを受ける。そして、重み計算ユニット1230は、Dラッチ回路1225から受けた明度Vを1つの画素GE1に対応する明度V1とし、選択器1226から受けた明度Vを別の1つの画素GE2に対応する明度V2とする。そうすると、重み計算ユニット1230は、明度V1と、明度V2とに基づいて、後述する方法によって、画素GE1と画素GE2との間の結合重みを演算し、その演算した結合重みを画像分割回路13へ出力する。
重み計算ユニット1231は、Dラッチ回路1222から明度Vを受け、選択器1227から明度Vを受ける。そして、重み計算ユニット1231は、Dラッチ回路1222から受けた明度Vを1つの画素GE4に対応する明度V4とし、選択器1227から受けた明度Vを別の1つの画素GE3に対応する明度V3とする。そうすると、重み計算ユニット1231は、明度V4と、明度V3とに基づいて、後述する方法によって、画素GE3と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13へ出力する。
なお、重み計算ユニット1230は、選択器1226から画素GE3に対応する明度V3を受けるとき、後述する方法によって、画素GE1と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13へ出力し、重み計算ユニット1231は、選択器1227から画素GE2に対応する明度V2を受けるとき、後述する方法によって、画素GE2と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13へ出力する。
重み計算ユニット1228〜1231の各々は、画素(i,j)の明度Iijと、画素(k,l)の明度Iklとの差の絶対値|Iij−Ikl|と、結合重みとの対応関係を示す表4を予め保持している。
表4から明らかなように、画像を再分割するときの結合重みは、2つの画素の明度差の絶対値が大きくなるに従って小さくなるように決定される。
重み計算ユニット1228は、Dラッチ回路1223から明度V3を受け、FIFO回路1224から明度V2を受けると、明度V2と明度V3との差の絶対値|V2−V3|を演算し、表4を参照して、絶対値|V2−V3|に対応する結合重みを画素GE2,GE3間の結合重みとして検出し、その検出した結合重みを画像分割回路13へ出力する。
また、重み計算ユニット1229は、Dラッチ回路1222から明度V4を受け、Dラッチ回路1225から明度V1を受けると、明度V1と明度V4との差の絶対値|V1−V4|を演算し、表4を参照して、絶対値|V1−V4|に対応する結合重みを画素GE1,GE4間の結合重みとして検出し、その検出した結合重みを画像分割回路13へ出力する。
さらに、重み計算ユニット1230は、Dラッチ回路1225から明度V1を受け、選択器1226から明度V2を受けると、明度V1と明度V2との差の絶対値|V1−V2|を演算し、表4を参照して、絶対値|V1−V2|に対応する結合重みを画素GE1,GE2間の結合重みとして検出し、その検出した結合重みを画像分割回路13へ出力する。
さらに、重み計算ユニット1231は、Dラッチ回路1222から明度V4を受け、選択器1227から明度V3を受けると、明度V3と明度V4との差の絶対値|V3−V4|を演算し、表4を参照して、絶対値|V3−V4|に対応する結合重みを画素GE3,GE4間の結合重みとして検出し、その検出した結合重みを画像分割回路13へ出力する。
このように、重み決定回路122は、重み決定回路121が画素間の結合重みの決定に用いるRGB値、色相Hおよび彩度Sと異なる明度Vに基づいて、画像を再分割するときの結合重みを決定する。
図43は、実施の形態2による画像分割方法を説明するためのフローチャートである。図43を参照して、画像分割の動作が開始されると、画像分割装置10Aは、1回目の画像分割を行なう(ステップS11)。
そして、画像分割装置10Aの画像分割回路13は、分割された複数の分割画像のうちの1つの分割画像を画素値検出回路11へ出力し、画素値検出回路11は、画像分割回路13から受けた分割画像のRGB値を検出し、その検出したRGB値を結合重み決定回路12および分割判定回路14へ出力する。
その後、分割判定回路14は、画素値検出回路11から受けたRGB値を式(3)に従って明度Vに変換し、その変換した明度Vに基づいて、明度ヒストグラムを作成する(ステップS12)。そして、分割判定回路14は、その作成した明度ヒストグラムに基づいて、上述した方法によって、明度ヒストグラムの幅を検出し(ステップS13)、その検出した明度ヒストグラムの幅が基準幅(=0.6)以上であるか否かを判定する(ステップS14)。
ステップS14において、明度ヒストグラムの幅が基準幅(=0.6)以上であると判定されたとき、分割判定回路14は、再分割信号RDIVを生成し、その生成した再分割信号RDIVを結合重み決定回路12へ出力する。
そして、結合重み決定回路12は、画素値検出回路11から分割画像のRGB値を受け、分割判定回路14から再分割信号RDIVを受けると、その受けた分割画像のRGB値を式(3)に従って分割画像の明度Vに変換し、その変換した分割画像の明度Vに基づいて、上述した方法によって分割画像の各画素間の結合重みを決定する。その後、結合重み決定回路12は、その決定した分割画像の各画素間の結合重みを画像分割回路13へ出力する。
画像分割回路13は、分割画像の各画素間の結合重みを結合重み決定回路12から受け、その受けた分割画像の各画素間の結合重みを用いて画像を再分割する(ステップS15)。
そして、ステップS14において、明度ヒストグラムの幅が基準幅(=0.6)以上でないと判定されたとき、またはステップS15の後、画像分割回路13は、複数の分割画像の全てを画素値検出回路11へ出力したか否かを判定することによって、全ての対象物の再分割を判定したか否かを判定する(ステップS16)。
ステップS16において、全ての対象物の再分割を判定していないと判定されたとき、一連の動作は、ステップS12へ戻り、ステップS16において、全ての対象物の再分割を判定したと判定されるまで、上述したステップS12〜ステップS16が繰返し実行される。
そして、ステップS16において、全ての対象物の再分割を判定したと判定されると、一連の動作は、終了する。
図44は、図43のステップS11の詳細な動作を説明するためのフローチャートである。
図44を参照して、画像分割の動作が開始されると、画素値検出回路11は、n×n(nは、2以上の整数)からなる入力画像の各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を検出し(ステップS111)、その検出した各画素のRGB値RGBijを結合重み決定回路12へ出力する。
結合重み決定回路12は、画素値検出回路11から各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を受け、その受けた各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を上述した方法によって色相Hij(1≦i≦n,1≦j≦n)および彩度Sij(1≦i≦n,1≦j≦n)に変換し、RGB値RGBij(1≦i≦n,1≦j≦n)、色相Hij(1≦i≦n,1≦j≦n)および彩度Sij(1≦i≦n,1≦j≦n)に基づいて、各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を決定する(ステップS112)。そして、結合重み決定回路12は、その決定した各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を画像分割回路13へ出力する。
画像分割回路13は、外部から入力画像を受け、結合重み決定回路12から各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を受ける。そして、画像分割回路13は、その受けた各画素間の結合重みWij;kl(1≦i≦n,1≦j≦n,1≦k≦n,1≦l≦n)を用いて1フレームの画像を分割する(ステップS113)。そして、一連の動作は、図43のステップS12へ移行する。
なお、図44のステップS112の詳細な動作は、図32に示すステップS31〜ステップS43および図33のステップS371〜ステップS375に従って実行される。また、図44のステップS113の詳細な動作は、図34のステップS51〜ステップS56に従って実行される。
図45は、図43のステップS15の詳細な動作を説明するためのフローチャートである。
図43のステップS14において、明度ヒストグラムの幅が基準幅以上であると判定されると、分割判定回路14は、再分割信号RDIVを生成して結合重み決定回路12へ出力する。
結合重み決定回路12は、画素値検出回路11から分割画像のRGB値を受け、分割判定回路14から再分割信号RDIVを受けると、分割画像のRGB値を式(3)に従って明度Vに変換し(ステップS151)、その変換した明度Vを用いて上述した方法によって分割画像の各画素間の結合重みを決定する(ステップS152)。そして、結合重み決定回路12は、その決定した分割画像の各画素間の結合重みを画像分割回路13へ出力する。
画像分割回路13は、分割画像の各画素間の結合重みを結合重み決定回路12から受けると、その受けた分割画像の各画素間の結合重みを用いて分割画像を再分割する(ステップS153)。その後、一連の動作は、図43のステップS16へ移行する。
なお、図45のステップS153の詳細な動作は、図34のステップS51〜ステップS56に従って実行される。
上述したように、結合重み決定回路12は、1回目の画像分割においては、無彩色と有彩色との境界を示すしきい値Sthを実験的に求められた彩度S=0.2に固定して、RGB値、色相Hおよび彩度Sに基づいて、入力画像の各画素間の結合重みを決定し、2回目の画像分割(再分割)においては、RGB値、色相Hおよび彩度Sと異なる明度Vに基づいて、分割画像の各画素間の結合重みを決定する。そして、画像分割回路13は、1回目の画像分割においては、RGB値、色相Hおよび彩度Sに基づいて決定された各画素間の結合重みを用いて入力画像を分割し、2回目の画像分割においては、明度Vに基づいて決定された結合重みを用いて分割画像を再分割する。
図46は、実施の形態2による分割方法を用いて分割した分割結果を示す図である。なお、図46における「変更前」は、1回の画像分割のみを用いて分割したことを表し、「変更後」は、2回の画像分割を用いて分割したことを表す。
図46を参照して、1回の画像分割のみを用いた場合(「変更前」参照)、花と背景の一部が分離されていない。一方、2回の画像分割を用いた場合(「変更後」参照)、花だけが分割されている。
したがって、分割画像を再分割することによって、各対象物の画像に正確に分割できることが実証された。
なお、上記においては、画像を再分割するとき、1回目の画像分割における結合重みの決定に用いたRGB値、色相Hおよび彩度Sと異なる指標として明度Vを用いると説明したが、この発明の実施の形態においては、これに限らず、画像を再分割するとき、1回目の画像分割における結合重みの決定に用いたRGB値、色相Hおよび彩度Sと異なる指標であれば、どのような指標を用いてもよく、たとえば、複眼カメラによる物体までの距離、および温度センサーによる物体の温度等を指標として用いてもよい。
また、再分割が必要であるか否かを判定するための判定基準である基準幅は、0.6に設定されると説明したが、この発明の実施の形態においては、これに限らず、再分割が必要であるか否かを判定するための判定基準である基準幅は、0.6と異なる値に設定されてもよく、入力画像の明度ヒストグラムに応じて決定されてもよい。さらに、判定基準に明度を用いなくてもよい。
さらに、上記においては、再分割は、1回であると説明したが、この発明の実施の形態においては、これに限らず、再分割は、2回以上行なわれてもよい。
さらに、実施の形態2においては、明度Vに基づいて決定された結合重みは、「第4の結合重み」を構成する。
さらに、上述した実施の形態2においては、画像分割装置10Aは、ソフトウェアまたはハードウェアによっても実現可能である。画像分割装置10Aがソフトウェアによって実現される場合、上述した画素値検出回路11、結合重み決定回路12、画像分割回路13および分割判定回路14の各機能は、典型的には、CPUがコンピュータプログラムを実行することによって実現される。そして、このコンピュータプログラムは、携帯端末内のROMに予め格納されているか、外部からダウンロードされて携帯端末内の不揮発メモリに格納される。
また、画像分割装置10Aがハードウェアによって実現される場合、上述した画素値検出回路11、結合重み決定回路12、画像分割回路13および分割判定回路14の機能は、CPU、RAM、ROMおよび不揮発性メモリ等のハードウェア資源と組み合わせることによって、集積回路であるLSIによって実現される。そして、画素値検出回路11、結合重み決定回路12、画像分割回路13および分割判定回路14の機能は、個別に1チップ化されてもよいし、いくつかのまとまった単位で1チップ化されてもよい。また、集積回路は、LSIに限るものではなく、専用回路または汎用プロセッサによって実現されてもよい。さらに、集積回路は、LSIの製作後にプログラムを格納可能なFPGA、またはLSI内部の回路セルの接続や設定を再構成することが可能なリコンフィギュラブル・プロセッサが利用されてもよい。さらに、画素値検出回路11、結合重み決定回路12、画像分割回路13および分割判定回路14の機能は、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術(バイオ技術、有機化学技術等)が登場すれば、当然、その技術を用いて集積化されてもよい。なお、集積回路は、その集積度の違いによって、IC、システムLSI、スーパーLSIおよびウルトラLSI等と呼称されることもある。
このように、画像分割装置10Aは、ソフトウェアまたはハードウェアによっても実現可能であるので、実施の形態2においては、上述した画素値検出回路11は、「画素値検出部」を構成し、結合重み決定回路12は、「結合重み決定部」を構成し、画像分割回路13は、「画像分割部」を構成し、分割判定回路14は、「分割判定部」を構成する。
[実施の形態3]
図47は、実施の形態3による画像分割装置の構成を示す概略ブロック図である。図47を参照して、実施の形態3による画像分割装置10Bは、図36に示す画像分割装置10Aの画素値検出回路11を画素値検出回路11Aに代え、結合重み決定回路12を結合重み決定回路12Aに変え、しきい値決定回路2を追加したものであり、その他は、画像分割装置10Aと同じである。
画素値検出回路11Aは、入力画像を外部から受けると、その受けた入力画像の各画素のRGB値を検出し、その検出したRGB値をしきい値決定回路2および結合重み決定回路12Aへ出力する。画素値検出回路11Aは、その他、画素値検出回路11と同じ機能を果たす。
結合重み決定回路12Aは、入力画像の各画素のRGB値を画素値検出回路11Aから受け、しきい値Sthをしきい値決定回路2から受けると、入力画像の各画素のRGB値およびしきい値Sthに基づいて、結合重み決定回路3と同じ方法によって、入力画像の各画素間の結合重みを決定し、その決定した入力画像の各画素間の結合重みを画像分割回路13へ出力する。結合重み決定回路12Aは、その他は、結合重み決定回路12と同じ機能を果たす。
なお、しきい値決定回路2については、実施の形態1において説明したとおりであり、しきい値決定回路2は、上述した方法によって、しきい値Sthを決定すると、その決定したしきい値Sthを結合重み決定回路12Aへ出力する。
図48は、実施の形態3による画像分割方法を説明するためのフローチャートである。なお、図48に示すフローチャートは、図43に示すフローチャートのステップS11をステップS11Aに代えたものであり、その他は、図43に示すフローチャートと同じである。
図48を参照して、画像分割の動作が開始されると、画像分割装置10Bは、無彩色と有彩色との境界を示すしきい値Sthを調整し、その調整したしきい値Sthを用いて入力画像を分割する(ステップS11A)。
その後、上述したステップS12〜ステップS16が順次実行され、画像分割の動作が終了する。
なお、図48のステップS11Aの詳細な動作は、図30〜図34に示すフローチャートに従って実行される。
上述したように、実施の形態3においては、無彩色と有彩色との境界を示すしきい値Sthを調整し、その調整したしきい値Sthを用いて入力画像の各画素間の結合重みを決定して入力画像を分割するとともに、再分割する必要がある分割画像を再分割する。その結果、同一物体の分離が抑制されるとともに、色相が近い2つの物体が正確に分離される。
したがって、入力画像を各対象物の画像に正確に分割できる。その他は、実施の形態1,2と同じである。
上述した実施の形態3においては、画像分割装置10Bは、ソフトウェアまたはハードウェアによっても実現可能である。画像分割装置10Bがソフトウェアによって実現される場合、上述したしきい値決定回路2、画素値検出回路11A、結合重み決定回路12A、画像分割回路13および分割判定回路14の各機能は、典型的には、CPUがコンピュータプログラムを実行することによって実現される。そして、このコンピュータプログラムは、携帯端末内のROMに予め格納されているか、外部からダウンロードされて携帯端末内の不揮発メモリに格納される。
また、画像分割装置10Bがハードウェアによって実現される場合、上述したしきい値決定回路2、画素値検出回路11A、結合重み決定回路12A、画像分割回路13および分割判定回路14の機能は、CPU、RAM、ROMおよび不揮発性メモリ等のハードウェア資源と組み合わせることによって、集積回路であるLSIによって実現される。そして、しきい値決定回路2、画素値検出回路11A、結合重み決定回路12A、画像分割回路13および分割判定回路14の機能は、個別に1チップ化されてもよいし、いくつかのまとまった単位で1チップ化されてもよい。また、集積回路は、LSIに限るものではなく、専用回路または汎用プロセッサによって実現されてもよい。さらに、集積回路は、LSIの製作後にプログラムを格納可能なFPGA、またはLSI内部の回路セルの接続や設定を再構成することが可能なリコンフィギュラブル・プロセッサが利用されてもよい。さらに、しきい値決定回路2、画素値検出回路11A、結合重み決定回路12A、画像分割回路13および分割判定回路14の機能は、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術(バイオ技術、有機化学技術等)が登場すれば、当然、その技術を用いて集積化されてもよい。なお、集積回路は、その集積度の違いによって、IC、システムLSI、スーパーLSIおよびウルトラLSI等と呼称されることもある。
このように、画像分割装置10Bは、ソフトウェアまたはハードウェアによっても実現可能であるので、実施の形態3においては、上述したしきい値決定回路2は、「しきい値決定部」を構成し、画素値検出回路11Aは、「画素値検出部」を構成し、結合重み決定回路12Aは、「結合重み決定部」を構成し、画像分割回路13は、「画像分割部」を構成し、分割判定回路14は、「分割判定部」を構成する。
上述した実施の形態1〜実施の形態3においては、画像分割装置10,10A,10Bは、領域成長型アルゴリズムを用いて画像を分割するが、この領域成長型アルゴリズムを用いた場合、最適な分割結果を得るためには、入力画像ごとにしきい値φP,φZを最適なしきい値に調整する必要がある。
そこで、この発明の実施の形態においては、以下の画像処理を画像を分割する前に施してもよい。
(処理1)
図49は、色相ヒストグラムの変更例を示す図である。図49を参照して、色相が近い部分に画素数が集中していると、画像の分割が難しくなる(図49の(a)参照)。
そこで、レンジを変更することによって、図49の(a)に示す色相ヒストグラムを図49の(b)に示す色相ヒストグラムへ変更する。これによって、色相が全体的に分布するようになり、画像を分割し易くなる。
また、ヒストグラムを均等化して、図49の(a)に示す色相ヒストグラムを図49の(c)に示す色相ヒストグラムへ変更する。これによって、色相が全体的に分布するようになり、画像を分割し易くなる。
(処理2)
図50は、幅が異なる色相ヒストグラムを示す図である。また、図51は、結合重みと画素間距離との関係を示す図である。
図50を参照して、サンプル画像Aにおける色相ヒストグラムは、サンプル画像Bにおける色相ヒストグラムよりも幅が広い。
このような場合、色相ヒストグラムの幅が広いサンプル画像Aに対しては、結合重みを曲線k3に従って決定する。また、色相ヒストグラムの幅が狭いサンプル画像Bに対しては、結合重みを曲線k4に従って決定する。
ヒストグラムの幅が広いと、結合重みが小さくなり易いので、結合重みの重みづけをゆるやかにするために、サンプル画像Aに対しては、結合重みを曲線k3に従って決定する。
また、ヒストグラムの幅が狭いと、結合重みが大きくなり易いので、結合重みの重みづけを急にするために、サンプル画像Bに対しては、結合重みを曲線k4に従って決定する。
処理1が行なわれる場合、上述した画像分割装置10,10A,10Bの結合重み決定回路3,12,12Aは、上述した方法によってRGB値を色相Hに変換すると、その変換した色相Hに基づいて色相ヒストグラムを作成し、その作成した色相ヒストグラムに対してレンジの変更または均等化を施し、その後、上述した方法によって各画素間の結合重みを決定する。
また、処理2が行なわれる場合、上述した画像分割装置10,10A,10Bの結合重み決定回路3,12,12Aは、上述した方法によってRGB値を色相Hに変換すると、その変換した色相Hに基づいて色相ヒストグラムを作成する。また、結合重み決定回路3,12,12Aは、RGB値および色相Hに基づいて、上述した方法によって各画素間の結合重みを決定する。その後、結合重み決定回路3,12,12Aは、作成した色相ヒストグラムの幅によって、曲線k3,k4のいずれかを選択し、その選択した曲線に従って、既に決定した結合重みを変更する。
このように、処理1または処理2を用いることによって、領域成長型アルゴリズムを用いた画像分割をさらに容易に行なうことができる。
[実施の形態4]
図52は、実施の形態4による画像分割装置の構成を示す概略ブロック図である。図52を参照して、実施の形態4による画像分割装置10Cは、画素値検出回路11Bと、結合重み決定回路12Bと、画像分割回路13Aと、しきい値決定回路15と、分布幅検出回路16とを備える。
図53は、実施の形態4における色空間の概念図である。図53を参照して、実施の形態4においては、中間領域が無彩色領域と有彩色領域との間に新たに設けられる。この中間領域は、彩度の2つのしきい値Sth1,Sth2によって規定される。そして、しきい値Sth1は、無彩色領域と中間領域との境界を表し、しきい値Sth2は、中間領域と有彩色領域との境界を表す。
このように、実施の形態4においては、彩度Sによって規定される中間領域が無彩色領域と有彩色領域との間に新たに設けられる。
再び、図52を参照して、画素値検出回路11Bは、入力画像を外部から受けると、その受けた入力画像の各画素のRGB値を検出し、その検出したRGB値を結合重み決定回路12B、しきい値決定回路15および分布幅検出回路16へ出力する。
しきい値決定回路15は、しきい値Sth1(=0.2)を予め保持するとともに、画素値検出回路11Bから各画素のRGB値を受ける。そして、しきい値決定回路15は、その受けた各画素のRGB値と、しきい値Sth1(=0.2)とに基づいて、後述する方法によって、しきい値Sth2を決定する。そうすると、しきい値決定回路15は、しきい値Sth1(=0.2)およびしきい値Sth2を結合重み決定回路12Bへ出力する。
分布幅検出回路16は、画素値検出回路11Bから各画素のRGB値を受ける。そして、分布幅検出回路16は、その受けた各画素のRGB値に基づいて、後述する方法によって、1つのフレームに含まれる複数の画像における彩度分布幅wsを検出する。そうすると、分布幅検出回路16は、その検出した彩度分布幅wsを結合重み決定回路12Bへ出力する。
結合重み決定回路12Bは、画素値検出回路11Bから各画素のRGB値を受け、しきい値決定回路15からしきい値Sth1(=0.2)およびしきい値Sth2を受け、分布幅検出回路16から彩度分布幅wsを受ける。そして、結合重み決定回路12Bは、各画素のRGB値、しきい値Sth1,Sth2および彩度分布幅wsに基づいて、後述する方法によって、各画素間の結合重みを決定し、その決定した結合重みを画像分割回路13Aへ出力する。
画像分割回路13Aは、外部から入力画像を受け、結合重み決定回路12Bから結合重みを受ける。そして、画像分割回路13Aは、その受けた結合重みを用いて、領域成長型画像分割方法(=画像分割回路4(図1参照)における分割方法)によって、1つのフレームからなる入力画像を各対象物の画像に分割する。
図54は、図52に示すしきい値決定回路15の構成を示す概略ブロック図である。図54を参照して、しきい値決定回路15は、彩度変換回路151と、累積値演算回路152と、決定回路153とを含む。
彩度変換回路151は、実施の形態1における彩度変換回路370(図21参照)と同じ構成からなる。彩度変換回路151は、画素値検出回路11Bから各画素のRGB値を受け、しきい値Sth1をしきい値決定回路15の記憶部(図示せず)から受ける。そして、彩度変換回路151は、RGB値およびしきい値Sth1に基づいて、彩度変換回路370(図21参照)と同じ方法によって、各画素のRGB値を彩度Sに変換する。そうすると、彩度変換回路151は、その変換した彩度Sを累積値演算回路152へ出力する。
累積値演算回路152は、彩度変換回路151から各画素の彩度Sを受ける。そして、累積値演算回路152は、1つのフレームに含まれる各画素の彩度Sに基づいて、各彩度Sにおける累積画素数と各彩度Sとの関係を示す累積画素数分布を演算する。そうすると、累積値演算回路152は、その演算した累積画素数分布を決定回路153へ出力する。
決定回路153は、累積値演算回路152から累積画素数分布を受け、しきい値Sth1をしきい値決定回路15の記憶部(図示せず)から受ける。そして、決定回路153は、その受けた累積画素数分布およびしきい値Sth1に基づいて、後述する方法によって、しきい値Sth2を決定する。そうすると、決定回路153は、しきい値Sth1,Sth2を結合重み決定回路12Bへ出力する。
図55は、図52に示す分布幅検出回路16の構成を示す概略ブロック図である。図55を参照して、分布幅検出回路16は、彩度変換回路161と、累積値演算回路162と、決定回路163とを含む。
彩度変換回路161は、実施の形態1における彩度変換回路370(図21参照)と同じ構成からなる。彩度変換回路161は、画素値検出回路11Bから各画素のRGB値を受け、しきい値Sth1を分布幅検出回路16の記憶部(図示せず)から受ける。そして、彩度変換回路161は、RGB値およびしきい値Sth1に基づいて、彩度変換回路370(図21参照)と同じ方法によって、各画素のRGB値を彩度Sに変換する。そうすると、彩度変換回路161は、その変換した彩度Sを累積値演算回路162へ出力する。
累積値演算回路162は、彩度変換回路161から各画素の彩度Sを受ける。そして、累積値演算回路162は、1つのフレームに含まれる各画素の彩度Sに基づいて、各彩度Sにおける累積画素数と各彩度Sとの関係を示す累積画素数分布を演算する。そうすると、累積値演算回路162は、その演算した累積画素数分布を決定回路163へ出力する。
決定回路163は、累積値演算回路162から累積画素数分布を受ける。そして、決定回路163は、その受けた累積画素数分布に基づいて、後述する方法によって、1つのフレームに含まれる複数の画素における彩度の分布幅である彩度分布幅wsを決定する。そうすると、決定回路163は、その決定した彩度分布幅wsを結合重み決定回路12Bへ出力する。
図56は、累積ピクセル率と彩度との関係を示す図である。図56において、縦軸は、累積ピクセル率を表し、横軸は、彩度Sを表す。また、曲線k5は、累積ピクセル率と彩度Sとの関係を示す。
図56を参照して、累積ピクセル率は、彩度Sの増加とともに増加し、所定の彩度S以上の領域において100%で飽和する(曲線k5参照)。
しきい値決定回路15の累積値演算回路152は、各彩度Sにおける累積ピクセル率を演算する。そして、累積値演算回路152は、各彩度Sにおける累積ピクセル率と、各彩度Sとに基づいて、累積ピクセル率と、彩度Sとの関係を示す累積画素数分布(=曲線k5)を演算する。
しきい値決定回路15の決定回路153は、累積値演算回路152から累積画素数分布(=曲線k5)を受け、しきい値決定回路15の記憶部(図示せず)からしきい値Sth1を受ける。
そうすると、決定回路153は、累積画素数分布(=曲線k5)およびしきい値Sth1に基づいて、彩度Sをしきい値Sth1(=Sth_min)から彩度Sの上限値(=0.9)まで変化させたときの各彩度Sにおける累積画素数分布(=曲線k5)の傾きRGkを順次演算する。
そして、決定回路153は、その演算した傾きRGkが最初に基準値RGk_th以下になったときの彩度Sth_maxをしきい値Sth2として決定する。基準値RGk_thは、例えば、彩度Sが0.04だけ変化したときの累積ピクセル率の変化率が1.3%となる値である。なお、この基準値は、実験的に求められた値である。
分布幅検出回路16の累積値演算回路162は、累積値演算回路152と同じように、累積画素数分布(=曲線k5)を演算する。そして、分布幅検出回路16の決定回路163は、累積値演算回路162から累積画素数分布(=曲線k5)を受け、その受けた累積画素数分布(=曲線k5)に基づいて、累積ピクセル率が5〜95%の範囲になる彩度Sの分布幅を彩度分布幅ws(0<ws≦1)として決定する。
図57は、図52に示す結合重み決定回路12Bの構成を示す概略図である。図57を参照して、結合重み決定回路12Bは、図2に示す結合重み決定回路3の重み計算ユニット42〜45をそれぞれ重み計算ユニット42A〜45Aに代えたものであり、その他は、結合重み決定回路3と同じである。
重み計算ユニット42Aは、Dラッチ回路32およびFIFO回路33からRGB値を受け、Dラッチ回路37およびFIFO回路38から色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16から彩度分布幅wsを受ける。そして、重み計算ユニット42Aは、Dラッチ回路32から受けたRGB値とDラッチ回路37から受けた色相および彩度とを1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とし、FIFO回路33から受けたRGB値と、FIFO回路38から受けた色相および彩度とを別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。また、重み計算ユニット42Aは、画素GE2の彩度と、画素GE3の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE2,GE3が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE2,GE3間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット42Aは、RGB値、色相および彩度(RGB3,HS3)と、RGB値、色相および彩度(RGB2,HS2)と、彩度分布幅wsとに基づいて、その決定したパラメータを用いて画素GE2と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット43Aは、Dラッチ回路31,34からRGB値を受け、Dラッチ回路36,39から色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16から彩度分布幅wsを受ける。そして、重み計算ユニット43Aは、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、Dラッチ回路34から受けたRGB値と、Dラッチ回路39から受けた色相および彩度とを別の1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とする。また、重み計算ユニット43Aは、画素GE1の彩度と、画素GE4の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE1,GE4が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE1,GE4間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット43Aは、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB1,HS1)と、彩度分布幅wsとに基づいて、その決定したパラメータを用いて画素GE1と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット44Aは、Dラッチ回路34からRGB値を受け、Dラッチ回路39から色相および彩度を受け、選択器40からRGB値、色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16から彩度分布幅wsを受ける。そして、重み計算ユニット44Aは、Dラッチ回路34から受けたRGB値とDラッチ回路39から受けた色相および彩度とを1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とし、選択器40から受けたRGB値、色相および彩度を別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。また、重み計算ユニット44Aは、画素GE1の彩度と、画素GE2の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE1,GE2が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE1,GE2間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット44Aは、RGB値、色相および彩度(RGB1,HS1)と、RGB値、色相および彩度(RGB2,HS2)と、彩度分布幅wsとに基づいて、その決定したパラメータを用いて画素GE1と画素GE2との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット45Aは、Dラッチ回路31からRGB値を受け、Dラッチ回路36から色相および彩度を受け、選択器41からRGB値、色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16から彩度分布幅wsを受ける。そして、重み計算ユニット45Aは、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、選択器41から受けたRGB値、色相および彩度を別の1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とする。また、重み計算ユニット45Aは、画素GE3の彩度と、画素GE4の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE3,GE4が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE3,GE4間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット45Aは、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB3,HS3)と、彩度分布幅wsとに基づいて、その決定したパラメータを用いて画素GE3と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
なお、重み計算ユニット44Aは、選択器40から画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)を受けるとき、画素GE1と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力し、重み計算ユニット45Aは、選択器41から画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)を受けるとき、画素GE2と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
図58は、図57に示す重み計算ユニット42Aの構成を示す概略図である。図58を参照して、重み計算ユニット42Aは、図28に示す重み計算ユニット42の結合重み修正回路460およびセレクタ信号生成回路470をそれぞれ結合重み修正回路460Aおよびセレクタ信号生成回路470Aに代えたものであり、その他は、重み計算ユニット42と同じである。
結合重み修正回路460Aは、2つの画素GE2,GE3の2つのRGB値に基づいて演算された結合重み(=表1を用いて演算された結合重み:WA,B)を結合重み演算回路420から受け、2つの画素GE2,GE3間の彩度差|SA−SB|を彩度差計算回路440から受け、彩度分布幅wsを分布幅検出回路16から受ける。
また、結合重み修正回路460Aは、表2を保持している。
結合重み修正回路460Aは、表2、結合重み:WA,Bおよび彩度差|SA−SB|に基づいて、結合重み修正回路460と同じ方法によって、結合重みWA,Bを修正して結合重みWA,B_Sを抽出する。
その後、結合重み修正回路460Aは、結合重みWA,B_Sおよび彩度分布幅wsに基づいて、後述する方法によって結合重みWA,B_Sを調整し、その調整した結合重みWA,B_SSをセレクタ480へ出力する。
セレクタ信号生成回路470Aは、図19の(a)に示すSビン番号の割当図を保持しており、しきい値Sth1,Sth2をしきい値決定回路15から受け、Dラッチ回路37およびFIFO回路38からそれぞれSビン番号AおよびSビン番号Bを受ける。そして、セレクタ信号生成回路470Aは、図19の(a)に示すSビン番号の割当図を参照して、その受けたSビン番号AおよびSビン番号Bに対応するS値SA,SBを検出する。
そうすると、セレクタ信号生成回路470Aは、その検出した2つのS値SA,SBをしきい値Sth1,Sth2と比較する。そして、セレクタ信号生成回路470Aは、2つのS値SA,SBの両方がしきい値Sth1以下であるとき、結合重み演算回路420から受けた結合重みWA,Bを選択するためのセレクタ信号SEL_RGBを生成し、その生成したセレクタ信号SEL_RGBをセレクタ480へ出力する。
また、セレクタ信号生成回路470Aは、2つのS値SA,SBのいずれか一方がしきい値Sth1以下であり、2つのS値SA,SBのいずれか他方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であるとき、結合重み演算回路420から受けた結合重みWA,Bと、結合重み修正回路460Aから受けた結合重みWA,B_SSとのうち、最小の結合重み(=WA,B,WA,B_SSのいずれか)を選択するためのセレクタ信号SEL_SVを生成し、その生成したセレクタ信号SEL_SVをセレクタ480へ出力する。
さらに、セレクタ信号生成回路470Aは、2つのS値SA,SBの両方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であるとき、結合重み演算回路420から受けた結合重みWA,Bと、結合重み修正回路450から受けた結合重みWA,B_Hとのうち、最小の結合重み(=WA,B,WA,B_Hのいずれか)を選択するためのセレクタ信号SEL_HVを生成し、その生成したセレクタ信号SEL_HVをセレクタ480へ出力する。
さらに、セレクタ信号生成回路470Aは、2つのS値SA,SBのいずれか一方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であり、2つのS値SA,SBのいずれか他方がしきい値Sth2よりも大きいとき、結合重み修正回路450から受けた結合重みWA,B_Hと、結合重み修正回路460Aから受けた結合重みWA,B_SSとのうち、最小の結合重み(=WA,B_H,WA,B_SSのいずれか)を選択するためのセレクタ信号SEL_HSを生成し、その生成したセレクタ信号SEL_HSをセレクタ480へ出力する。
さらに、セレクタ信号生成回路470Aは、2つのS値SA,SBのいずれか一方がしきい値Sth1以下であり、2つのS値SA,SBのいずれか他方がしきい値Sth2よりも大きいとき、結合重み演算回路420から受けた結合重みWA,Bと、結合重み修正回路450から受けた結合重みWA,B_Hと、結合重み修正回路460Aから受けた結合重みWA,B_SSとのうち、最小の結合重み(=WA,B,WA,B_H,WA,B_SSのいずれか)を選択するためのセレクタ信号SEL_HSVを生成し、その生成したセレクタ信号SEL_HSVをセレクタ480へ出力する。
さらに、セレクタ信号生成回路470Aは、2つのS値SA,SBの両方がしきい値Sth2よりも大きいとき、結合重み修正回路450から受けた結合重みWA,B_Hを選択するためのセレクタ信号SEL_Hを生成し、その生成したセレクタ信号SEL_Hをセレクタ480へ出力する。
セレクタ480は、結合重み演算回路420から結合重みWA,Bを受け、結合重み修正回路450,460Aからそれぞれ結合重みWA,B_H,WA,B_SSを受ける。そして、セレクタ480は、セレクタ信号生成回路470Aからセレクタ信号SEL_RGBを受けると、結合重みWA,Bを選択し、その選択した結合重みWA,Bを結合重みCWとして出力する。また、セレクタ480は、セレクタ信号生成回路470Aからセレクタ信号SEL_SVを受けると、結合重みWA,Bと、結合重みWA,B_SSとのうち、最小の結合重み(=WA,B,WA,B_SSのいずれか)を選択し、その選択した結合重み(=WA,B,WA,B_SSのいずれか)を結合重みCWとして出力する。
さらに、セレクタ480は、セレクタ信号生成回路470Aからセレクタ信号SEL_HVを受けると、結合重みWA,Bと、結合重みWA,B_Hとのうち、最小の結合重み(=WA,B,WA,B_Hのいずれか)を選択し、その選択した結合重み(=WA,B,WA,B_Hのいずれか)を結合重みCWとして出力する。
さらに、セレクタ480は、セレクタ信号生成回路470Aからセレクタ信号SEL_HSを受けると、結合重みWA,B_Hと、結合重みWA,B_SSとのうち、最小の結合重み(=WA,B_H,WA,B_SSのいずれか)を選択し、その選択した結合重み(=WA,B_H,WA,B_SSのいずれか)を結合重みCWとして出力する。
さらに、セレクタ480は、セレクタ信号生成回路470Aからセレクタ信号SEL_HSVを受けると、結合重みWA,Bと、結合重みWA,B_Hと、結合重みWA,B_SSとのうち、最小の結合重み(=WA,B,WA,B_H,WA,B_SSのいずれか)を選択し、その選択した結合重み(=WA,B,WA,B_H,WA,B_SSのいずれか)を結合重みCWとして出力する。
さらに、セレクタ480は、セレクタ信号生成回路470Aからセレクタ信号SEL_Hを受けると、結合重みWA,B_Hを選択し、その選択した結合重みWA,B_Hを結合重みCWとして出力する。
図59は、結合重みと画素値差(=彩度差)との関係を示す図である。図59において、縦軸は、彩度Sを用いて演算された結合重みWs(S)を表し、横軸は、画素値差(=彩度差)を表す。そして、曲線k6は、結合重みWs(S)と画素値差(=彩度差)との関係を示す。
図59を参照して、結合重み修正回路460Aは、結合重み演算回路420から受けた結合重みWA,Bと、彩度差計算回路440から受けた彩度差s=|SA−SB|と、表1(=曲線k6)とに基づいて、彩度差s=|SA−SB|に対応する結合重みWs(S)(=WA,B_S)を抽出する。
そして、結合重み修正回路460Aは、分布幅検出回路16から受けた彩度分布幅wsによって彩度差s=|SA−SB|を除算してs/wsを演算する。すなわち、結合重み修正回路460Aは、ある彩度の画素値差sをs/wsに変更する。この操作によって、結合重み変換テーブル(=表1および曲線k6)は、彩度分布幅wsに合わせて規格化される。これは、あらゆる入力画像のコントラストを均一に調整することに等しい操作である。
結合重み修正回路460Aは、画素値差sをs/wsに変更すると、表1(=曲線k6)を参照して、s/wsに対応する結合重みWs(s/ws)(=WA,B_SS)を抽出する。
このように、結合重み修正回路460Aは、彩度差s=|SA−SB|を用いて抽出した結合重みWA,B_Sを彩度分布幅wsを用いて調整する。
そして、結合重み修正回路460Aは、彩度分布幅wsを用いて調整した結合重みWA,B_SSをセレクタ480へ出力する。
なお、結合重み修正回路460Aは、1つのフレームに含まれる各画素間の結合重みWA,B_S(=彩度差s=|SA−SB|を用いて抽出した結合重み)を彩度分布幅wsを用いて調整するので、結合重みWA,B_Sを彩度分布幅wsを用いて調整することは、彩度を用いて結合重みを決定するための結合重み変換テーブルを彩度分布幅wsを用いて調整することに相当する。
図60は、彩度分布幅による結合重みの調整の概念図である。図60において、縦軸は、結合重みを表し、横軸は、彩度差を表す。また、曲線k7は、調整前の結合重み変換テーブルを示し、曲線k8は、調整後の結合重み変換テーブルを示す。
図60を参照して、曲線k8は、曲線k7の傾きに対して1/ws倍の傾きを有する。そして、彩度分布幅wsは、0<ws≦1の範囲の値からなる。したがって、曲線k8は、曲線k7の傾き以上の傾きを有する。
その結果、彩度分布幅wsを用いて結合重みWA,B_Sを調整することによって、2つの画素間の結合重みWA,B_SSは、2つの画素間の彩度差sが大きくなるに従って急激に小さくなる。つまり、2つの画素間の彩度差sが大きくなるに従って画像分割における領域成長が抑制されるように2つの画素間の結合重みWA,B_SSが決定される。
図57に示す重み計算ユニット43Aは、図58に示す重み計算ユニット42Aと同じ構成からなり、Dラッチ回路31,34から受けたRGB値RGBA,RGBBと、Dラッチ回路36,39から受けたHueビン番号A、Hueビン番号B、Sビン番号A、およびSビン番号Bと、しきい値決定回路15から受けたしきい値Sth1,Sth2と、分布幅検出回路16から受けた彩度分布幅wsとに基づいて、重み計算ユニット42Aと同じ方法によって、結合重みWA,B,WA,B_H,WA,B_SSを演算し、その演算した結合重みWA,B,WA,B_H,WA,B_SSのいずれかを結合重みCWとして選択して出力する。
また、図57に示す重み計算ユニット44Aは、図58に示す重み計算ユニット42Aと同じ構成からなり、Dラッチ回路34から受けたRGB値RGBAと、Dラッチ回路39から受けたHueビン番号AおよびSビン番号Aと、選択器40から受けたRGB値RGBB、Hueビン番号BおよびSビン番号Bと、しきい値決定回路15から受けたしきい値Sth1,Sth2と、分布幅検出回路16から受けた彩度分布幅wsとに基づいて、重み計算ユニット42Aと同じ方法によって、結合重みWA,B,WA,B_H,WA,B_SSを演算し、その演算した結合重みWA,B,WA,B_H,WA,B_SSのいずれかを結合重みCWとして選択して出力する。
さらに、図57に示す重み計算ユニット45Aは、図58に示す重み計算ユニット42Aと同じ構成からなり、Dラッチ回路31から受けたRGB値RGBAと、Dラッチ回路36から受けたHueビン番号AおよびSビン番号Aと、選択器41から受けたRGB値RGBB、Hueビン番号BおよびSビン番号Bと、しきい値決定回路15から受けたしきい値Sth1,Sth2と、分布幅検出回路16から受けた彩度分布幅wsとに基づいて、重み計算ユニット42Aと同じ方法によって、結合重みWA,B,WA,B_H,WA,B_SSを演算し、その演算した結合重みWA,B,WA,B_H,WA,B_SSのいずれかを結合重みCWとして選択して出力する。
上述した重み計算ユニット42A〜45Aの各々は、表5に従って結合重みを演算する。
なお、表5において、Wv(V)は、RGB値に基づいて決定された結合重みWA,Bを表し、Ws(S)は、彩度Sに基づいて決定された結合重みWA,B_SSを表し、Wh(H)は、色相Hに基づいて決定された結合重みWA,B_Hを表す。
重み計算ユニット42A〜45Aの各々は、2つの画素の両方が無彩色領域にある場合、RGB値に基づいて決定された結合重みWv(V)を結合重みCWとして出力する。
また、重み計算ユニット42A〜45Aの各々は、2つの画素の一方が無彩色領域にあり、2つの画素の他方が中間領域にある場合、結合重みWs(S)と結合重みWv(V)とのうち、最小の結合重み(Ws(S),Wv(V)のいずれか)を結合重みCWとして出力する。
さらに、重み計算ユニット42A〜45Aの各々は、2つの画素の両方が中間領域にある場合、結合重みWh(H)と結合重みWv(V)とのうち、最小の結合重み(Wh(H),Wv(V)のいずれか)を結合重みCWとして出力する。
さらに、重み計算ユニット42A〜45Aの各々は、2つの画素の一方が中間領域にあり、2つの画素の他方が有彩色領域にある場合、結合重みWh(H)と結合重みWs(S)とのうち、最小の結合重み(Wh(H),Ws(S)のいずれか)を結合重みCWとして出力する。
さらに、重み計算ユニット42A〜45Aの各々は、2つの画素の一方が無彩色領域にあり、2つの画素の他方が有彩色領域にある場合、結合重みWh(H)と結合重みWs(S)と結合重みWv(V)とのうち、最小の結合重み(Wh(H),Ws(S),Wv(V)のいずれか)を結合重みCWとして出力する。
さらに、重み計算ユニット42A〜45Aの各々は、2つの画素の両方が有彩色領域にある場合、結合重みWh(H)を結合重みCWとして出力する。
このように、結合重みの計算の対象となる画素が属する領域の組合せにより、結合重みを計算する要素を変更する。そして、2つの画素のうち、一方の画素が中間領域または有彩色領域に属している場合、複数の要素を用いて計算した結合重みのうち、最小の結合重みが用いられる。これによって、画素に合った結合重みが選択され、画像の分割が柔軟に行なわれる。
図61は、色相を計算しない領域の概念図である。図61において、縦軸は、MAX−MINを表し、横軸は、MAXを表す。そして、線分1は、次の式(12)によって表され、線分2は、次の式(13)によって表される。
なお、図61は、色相Hが0度の赤色である場合を示したものである。
図61を参照して、色相Hが無いと判断するためには、MAX−MINの値のみならず、MAXの値も考慮する必要がある。
そこで、次の式(14),(15)を満たす範囲を色相Hが意味を持たない無彩色領域として設定する。
実際の画像サンプルにおいて、色味が無いと判断できる領域を考慮し、図61の線分1よりも左側の黒みがかかった部分と、線分2よりも右側の白みがかかった部分とを色相Hを計算しない無彩色領域と設定した。この範囲では、Wh(H)は、Wh(H)=0と定義される。
上述した方法によって、無彩色領域を設定することによって、色相Hが意味を持たないとする無彩色領域の範囲を人の目による認識を考慮した範囲に設定できる。そして、しきい値Sth1を“0.2”に設定することにより、無彩色領域の範囲を人の目による認識を考慮した範囲に設定できる。
図62は、図52に示す画像分割装置10Cにおける画像分割の動作を説明するためのフローチャートである。
図62を参照して、一連の動作が開始されると、画像分割装置10Cの画素値検出回路11Bは、n×n(nは、2以上の整数)からなる入力画像の各画素GEij(1≦i≦n,1≦j≦n)のRGB値RGBij(1≦i≦n,1≦j≦n)を検出し(ステップS61)、その検出した各画素のRGB値RGBijを結合重み決定回路12B、しきい値決定回路15および分布幅検出回路16へ出力する。
しきい値決定回路15は、画素値検出回路11Bから受けた各画素のRGB値RGBijを彩度Sijに変換し、その変換した各彩度Sijにおける累積ピクセル率と各彩度Sijとの関係を示す累積画素数分布を演算する。分布幅検出回路16も、しきい値決定回路15と同様にして、累積画素数分布を演算する(ステップS62)。
そして、しきい値決定回路15は、彩度Sをしきい値Sth1から彩度Sの上限値まで変化させたときの累積画素数分布の各彩度における傾きを演算し、その演算した傾きが最初に基準値以下になったときの彩度をしきい値Sth2と決定する(ステップS63)。その後、しきい値決定回路15は、しきい値Sth1,Sth2を結合重み決定回路12Bへ出力する。
また、分布幅検出回路16は、累積画素数分布に基づいて、累積ピクセル率が5〜95%の範囲になるときの彩度Sの分布幅を彩度分布幅wsとして検出する(ステップS64)。そして、分布幅検出回路16は、彩度分布幅wsを結合重み決定回路12Bへ出力する。
結合重み決定回路12Bは、画素値検出回路11Bから各画素のRGB値RGBijを受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16から彩度分布幅wsを受ける。そして、結合重み決定回路12Bは、各画素のRGB値RGBijを色相Hijおよび彩度Sijに変換する。そうすると、結合重み決定回路12Bは、RGB値RGBij、色相Hij、彩度Sij、しきい値Sth1,Sth2および彩度分布幅wsに基づいて、各画素間の結合重みWij;klを決定する(ステップS65)。そして、結合重み決定回路12Bは、その決定した結合重みWij;klを画像分割回路13Aへ出力する。
画像分割回路13Aは、外部から1フレームの画像を受け、結合重み決定回路12Bから各画素間の結合重みWij;klを受ける。そして、画像分割回路12Bは、その受けた各画素間の結合重みWij;klを用いて1フレームの画像を分割する(ステップS66)。そして、一連の動作は、終了する。
図63は、図62に示すステップS65の詳細な動作を説明するためのフローチャートである。
図63に示すフローチャートは、図32に示すフローチャートのステップS37〜ステップS40をそれぞれステップS37A〜ステップS40Aに代えたものであり、その他は、図32に示すフローチャートと同じである。
図63を参照して、上述したステップS31〜ステップS36が順次実行され、ステップS35において、4組の隣接画素GEij,GEkl;GEi+1,j,GEkl;GEij,GEk+1,l;GEi+1,j,GEk+1,lのRGB値が色相および彩度に変換されたと判定されると、結合重み決定回路12Bの4個の重み計算ユニット42A〜45Aは、平行して隣接画素間の結合重みを決定する(ステップS37A〜ステップS40A)。
この場合、重み計算ユニット42Aは、しきい値Sth1,Sth2および彩度分布幅wsを用いて画素GEkl,GEi+1,j間の結合重みWk,l;i+1,jを決定し、重み計算ユニット43Aは、しきい値Sth1,Sth2および彩度分布幅wsを用いて画素GEij,GEk+1,l間の結合重みWij;k+1,lを決定し、重み計算ユニット44Aは、しきい値Sth1,Sth2および彩度分布幅wsを用いて画素GEij,GEkl間の結合重みWij;klを決定し、重み計算ユニット45Aは、しきい値Sth1,Sth2および彩度分布幅wsを用いて画素GEi+1,j,GEk+1,l間の結合重みWi+1,j;k+1,lを決定する。
その後、上述したステップS41〜ステップS43が順次実行され、ステップS41において、i=n、かつ、j=nであると判定されると、一連の動作は、図62のステップS66へ移行する。
そして、図62のステップS66において、画像分割回路13Aは、図34に示すステップS51〜ステップS56を順次実行し、ステップS65において決定された結合重みWk,l;i+1,j,Wij;k+1,l,Wij;kl,Wi+1,j;k+1,lを用いて1つのフレームの画像を分割する。
図64は、図63に示すステップS37Aの詳細な動作を説明するためのフローチャートである。
図63のステップS35の“YES”の後、重み計算ユニット42Aの結合重み演算回路420は、画素GEi+1,jのRGB値RGBi+1,jと、画素GEk,lのRGB値RGBk,lとによって画素GEi+1,j,GEk,l間の結合重みWi+1,j;kl_Vを決定する(ステップS371A)。そして、重み計算ユニット42Aの結合重み演算回路420は、結合重みWi+1,j;kl_Vを重み修正回路450,460Aおよびセレクタ480へ出力する。
その後、重み計算ユニット42Aの結合重み修正回路460Aは、画素GEi+1,jのRGB値RGBi+1,jおよび彩度Si+1,jと、画素GEk,lのRGB値RGBk,lおよび彩度Sk,lとによって画素GEi+1,j,GEk,l間の結合重みWi+1,j;kl_Sを決定する(ステップS372A)。そして、重み計算ユニット42Aの結合重み修正回路460Aは、結合重みWi+1,j;kl_Sをセレクタ480へ出力する。
引き続いて、重み計算ユニット42Aの結合重み修正回路460Aは、彩度分布幅wsによって結合重みWi+1,j;kl_Sを結合重みWi+1,j;kl_SSに調整する(ステップS373A)。そして、重み計算ユニット42Aの結合重み修正回路460Aは、結合重みWi+1,j;kl_SSをセレクタ480へ出力する。
その後、重み計算ユニット42Aの結合重み修正回路450は、画素GEi+1,jのRGB値RGBi+1,jおよび色相Hi+1,jと、画素GEk,lのRGB値RGBk,lおよび色相Hk,lとによって画素GEi+1,j,GEk,l間の結合重みWi+1,j;kl_Hを決定する(ステップS374A)。そして、重み計算ユニット42Aの結合重み修正回路450は、結合重みWi+1,j;kl_Hをセレクタ480へ出力する。
引き続いて、重み計算ユニット42Aのセレクタ信号生成回路470Aは、画素GEi+1,jの彩度Si+1,jがしきい値Sth1以下であり、かつ、画素GEk,lの彩度Sk,lがしきい値Sth1以下であるか否かを判定する(ステップS375A)。
ステップS375Aにおいて、彩度Si+1,jがしきい値Sth1以下であり、かつ、彩度Sk,lがしきい値Sth1以下であると判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、セレクタ信号SEL_RGBを生成し、その生成したセレクタ信号SEL_RGBをセレクタ480へ出力する。そして、重み計算ユニット42Aのセレクタ480は、セレクタ信号SEL_RGBに応じて、結合重みWi+1,j;kl_Vを選択し、その選択した結合重みWi+1,j;kl_Vを結合重みWi+1,j;klとして決定する(ステップS376A)。
一方、ステップS375Aにおいて、彩度Si+1,j,Sk,lの両方がしきい値Sth1以下でないと判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、彩度Si+1,j,Sk,lの一方がしきい値Sth1以下であり、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であるか否かをさらに判定する(ステップS377A)。
ステップS377Aにおいて、彩度Si+1,j,Sk,lの一方がしきい値Sth1以下であり、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であると判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、セレクタ信号SEL_SVを生成し、その生成したセレクタ信号SEL_SVをセレクタ480へ出力する。そして、重み計算ユニット42Aのセレクタ480は、セレクタ信号SEL_SVに応じて、結合重みWi+1,j;kl_S,Wi+1,j;kl_Vのうち、最小の結合重みを結合重みWi+1,j;klとして決定する(ステップS378A)。
一方、ステップS377Aにおいて、彩度Si+1,j,Sk,lの一方がしきい値Sth1以下でなく、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下でないと判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、彩度Si+1,j,Sk,lの両方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であるか否かをさらに判定する(ステップS379A)。
ステップS379Aにおいて、彩度Si+1,j,Sk,lの両方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であると判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、セレクタ信号SEL_HVを生成し、その生成したセレクタ信号SEL_HVをセレクタ480へ出力する。そして、重み計算ユニット42Aのセレクタ480は、セレクタ信号SEL_HVに応じて、結合重みWi+1,j;kl_H,Wi+1,j;kl_Vのうち、最小の結合重みを結合重みWi+1,j;klとして決定する(ステップS380A)。
一方、ステップS379Aにおいて、彩度Si+1,j,Sk,lの両方がしきい値Sth1よりも大きくなく、かつ、しきい値Sth2以下でないと判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、彩度Si+1,j,Sk,lの一方がしきい値Sth2よりも大きく、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であるか否かをさらに判定する(S381A)。
ステップS381Aにおいて、彩度Si+1,j,Sk,lの一方がしきい値Sth2よりも大きく、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも大きく、かつ、しきい値Sth2以下であると判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、セレクタ信号SEL_HSを生成し、その生成したセレクタ信号SEL_HSをセレクタ480へ出力する。そして、重み計算ユニット42Aのセレクタ480は、セレクタ信号SEL_HSに応じて、結合重みWi+1,j;kl_H,Wi+1,j;kl_Sのうち、最小の結合重みを結合重みWi+1,j;klとして決定する(ステップS382A)。
一方、ステップS381Aにおいて、彩度Si+1,j,Sk,lの一方がしきい値Sth2よりも大きくなく、彩度Si+1,j,Sk,lの他方がSth1<Si+1,j,Sk,lの他方≦Sth2を満たさないと判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、彩度Si+1,j,Sk,lの一方がしきい値Sth2よりも大きく、かつ、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも小さいか否かをさらに判定する(ステップS383A)。
ステップS383Aにおいて、彩度Si+1,j,Sk,lの一方がしきい値Sth2よりも大きく、かつ、彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも小さいと判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、セレクタ信号SEL_HSVを生成し、その生成したセレクタ信号SEL_HSVをセレクタ480へ出力する。そして、重み計算ユニット42Aのセレクタ480は、セレクタ信号SEL_HSVに応じて、結合重みWi+1,j;kl_H,Wi+1,j;kl_S,Wi+1,j;kl_Vのうち、最小の結合重みを結合重みWi+1,j;klとして決定する(ステップS384A)。
一方、ステップS383Aにおいて、彩度Si+1,j,Sk,lの一方がしきい値Sth2よりも大きくなく、または彩度Si+1,j,Sk,lの他方がしきい値Sth1よりも小さくないと判定されたとき、重み計算ユニット42Aのセレクタ信号生成回路470Aは、セレクタ信号SEL_Hを生成し、その生成したセレクタ信号SEL_Hをセレクタ480へ出力する。そして、重み計算ユニット42Aのセレクタ480は、セレクタ信号SEL_Hに応じて、結合重みWi+1,j;kl_Hを結合重みWi+1,j;klとして決定する(ステップS385A)。
そして、ステップS376A,S378A,S380A,S382A,S384A,S385Aのいずれかの後、一連の動作は、図63のステップS41へ移行する。
なお、図63のステップS38A,S39A,S40Aの各々の詳細な動作も、図64に示すステップS371A〜S385Aによって実行される。
図65は、図52に示す画像分割装置10Cを用いた画像分割の例を示す図である。また、図66は、結合重みと画素値差との関係を示す図である。
図65において、「提案手法使用前の分割結果」とは、中間領域を用いず、彩度分布幅wsによる結合重みの調整も行なわない方法で画像を分割したときの分割結果を言う。また、「提案手法使用後の分割結果」とは、実施の形態4による方法を用いて画像を分割したときの分割結果を言う。
また、入力画像に用いたサンプルは、車・標識・人・風景などの様々な対象を撮影したQVGA(Quad Video Graphics Array)サイズの72枚の画像からなる。
さらに、リーダセル閾値φpは、1000に設定され、領域成長閾値φzは、100に設定され、結合重み変換テーブルは、図66に示すものが使用された。
図65の(a)は、入力画像を示し、図65の(b)は、提案手法使用前の分割結果を示し、図65の(c)は、提案手法使用後の分割結果を示し、図65の(d)は、提案手法を使用したときの各ピクセルが有彩色領域、中間領域および無彩色領域のどの領域に属しているかを示す。ここで、図65の(b),(c)は、分割結果について、同一領域を同色、異なる領域を異なる色で示す。
図65を参照して、提案手法(実施の形態4による手法)を用いることによって、背景慮域と建物とが分割されたことがわかる。これは、主に、結合重み変換テーブルの調整により、物体境界で領域が成長し過ぎて領域がくっついていた部分の成長が抑制されたためである。
また、図65の果物の画像(1)および人の集合画像(3)について、提案手法(実施の形態4による手法)を用いることによって、背景領域と目的物体とが分割されたことがわかる。これは、主に、目的物体が中間領域に設定されることによって、背景との境界での結合重みの計算要素が最適化されたためである。このことは、図65の(d)の結合重み種類マップからも分かることである。
上述したように、実施の形態4による分割方法を用いることによって、画像分割の精度を向上することができた。
図67は、実施の形態4における色空間の他の概念図である。上記においては、中間領域は、彩度Sによって規定されると説明したが、実施の形態4においては、これに限らず、中間領域は、明度Vによって規定されてもよい。
図67を参照して、中間領域は、明度Vの2つのしきい値Vth1,Vth2によって規定されてもよい。そして、しきい値Vth1は、無彩色領域と中間領域との境界を表し、しきい値Vth2は、中間領域と有彩色領域との境界を表す。なお、しきい値Vth1は、0.3に固定される。
このように、実施の形態4においては、明度Vによって規定される中間領域が無彩色領域と有彩色領域との間に新たに設けられてもよい。
図68は、図52に示すしきい値決定回路15の他の構成を示す概略ブロック図である。中間領域が明度Vの2つのしきい値Vth1,Vth2によって規定される場合、しきい値決定回路15は、図68に示すしきい値決定回路15Aからなる。
図68を参照して、しきい値決定回路15Aは、明度変換回路151Aと、累積値演算回路152Aと、決定回路153Aとを含む。
明度変換回路151Aは、画素値検出回路11Bから各画素のRGB値を受ける。そして、明度変換回路151Aは、各画素のRGB値(=R成分、G成分、B成分)のうち、最大の値からなる成分を検出することにより、RGB値を明度V(=MAX)に変換する。その後、明度変換回路151Aは、その変換した明度Vを累積値演算回路152Aへ出力する。
累積値演算回路152Aは、明度変換回路151Aから各画素の明度Vを受ける。そして、累積値演算回路152Aは、1つのフレームに含まれる各画素の明度Vに基づいて、各明度Vにおける累積画素数と各明度Vとの関係を示す累積画素数分布を演算する。そうすると、累積値演算回路152Aは、その演算した累積画素数分布を決定回路153Aへ出力する。
決定回路153Aは、累積値演算回路152Aから累積画素数分布を受け、しきい値Vth1をしきい値決定回路15Aの記憶部(図示せず)から受ける。そして、決定回路153Aは、その受けた累積画素数分布およびしきい値Vth1に基づいて、決定回路153(図54参照)と同じ方法によって、しきい値Vth2を決定する。そうすると、決定回路153Aは、しきい値Vth1,Vth2を結合重み決定回路12Bへ出力する。
中間領域が明度Vの2つのしきい値Vth1,Vth2によって規定される場合、結合重み決定回路12Bの重み計算ユニット42A〜45Aの各々は、しきい値Sth1,Sth2に代えてしきい値Vth1,Vth2をしきい値決定回路15Aから受ける(図57参照)。
そして、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、Sビン番号AおよびSビン番号Bに代えて明度VA,VBを受け、しきい値Sth1,Sth2に代えてしきい値Vth1,Vth2をしきい値決定回路15Aから受ける。
この場合、明度VAは、結合重みの決定の対象となる一方の画素の明度であり、明度VBは、結合重みの決定の対象となる他方の画素の明度である。
重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBをしきい値Vth1,Vth2と比較し、その比較結果に応じて、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hのいずれかを生成してセレクタ480へ出力する。
すなわち、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBの両方がしきい値Vth1以下であるとき、セレクタ信号SEL_RGBを生成してセレクタ480へ出力する。
また、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBの一方がしきい値Vth1よりも大きく、かつ、しきい値Vth2以下であり、明度VA,VBの他方がしきい値Vth1以下であるとき、セレクタ信号SEL_SVを生成してセレクタ480へ出力する。
さらに、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBの両方がしきい値Vth1よりも大きく、かつ、しきい値Vth2以下であるとき、セレクタ信号SEL_HVを生成してセレクタ480へ出力する。
さらに、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBの一方がしきい値Vth1よりも大きく、かつ、しきい値Vth2以下であり、明度VA,VBの他方がしきい値Vth2よりも大きいとき、セレクタ信号SEL_HSを生成してセレクタ480へ出力する。
さらに、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBの一方がしきい値Vth1以下であり、明度VA,VBの他方がしきい値Vth2よりも大きいとき、セレクタ信号SEL_HSVを生成してセレクタ480へ出力する。
さらに、重み計算ユニット42A〜45Aの各々において、セレクタ信号生成回路470Aは、明度VA,VBの両方がしきい値Vth2よりも大きいとき、セレクタ信号SEL_Hを生成してセレクタ480へ出力する。
なお、この場合も、重み計算ユニット42A〜45Aの各々においては、彩度Sを用いて決定された結合重みWA,B_Sが彩度分布幅wsによって結合重みWA,B_SSに調整される。
これによって、中間領域が明度Vの2つのしきい値Vth1,Vth2によって規定される場合も、画像分割装置10Cは、図62から図64に示すフローチャートに従って入力画像を各対象物の画像に分割する。この場合、図64のステップS375A,S377A,S379A,S381A,S383Aにおいては、明度Vi+1,j,Vklが彩度Si+1,j,Sklの代わりに用いられ、しきい値Vth1,Vth2がしきい値Sth1,Sth2の代わりに用いられる。
図69は、実施の形態4による他の画像分割装置の構成を示す概略ブロック図である。実施の形態4による画像分割装置は、図69に示す画像分割装置10Dであってもよい。
図69を参照して、画像分割装置10Dは、図52に示す画像分割装置10Cの結合重み決定回路12Bを結合重み決定回路12Cに代え、分布幅検出回路16を分布幅検出回路16Aに代えたものであり、その他は、画像分割装置10Cと同じである。
結合重み決定回路12Cは、画素値検出回路11Bから受けた各画素のRGB値と、しきい値決定回路15から受けたしきい値Sth1,Sth2と、分布幅検出回路16Aから受けた色相分布幅wHとに基づいて、各画素間の結合重みを決定する。
より具体的には、結合重み決定回路12Cは、各画素のRGB値を色相Hおよび彩度Sに変換する。そして、結合重み決定回路12Cは、RGB値を用いて結合重みWA,Bを決定する。また、結合重み決定回路12Cは、隣接する2つの画素間の彩度差が大きくなるに従って結合重みWA,Bからの減少量を大きくして結合重みWA,B_Sを決定する。さらに、結合重み決定回路12Cは、隣接する2つの画素間の色相差が大きくなるに従って結合重みWA,Bからの減少量を大きくして結合重みWA,B_Hを決定し、その決定した結合重みWA,B_Hを色相分布幅wHによって結合重みWA,B_HHに調整する。
このように、結合重み決定回路12Cは、RGB値、しきい値Sth1,Sth2、および色相分布幅wHに基づいて、結合重みWA,B,WA,B_HH,WA,B_Sを決定する。
分布幅検出回路16Aは、各画素のRGB値を画素値検出回路11Bから受ける。そして、分布幅検出回路16Aは、各画素のRGB値に基づいて、後述する方法によって、色相分布幅wHを検出し、その検出した色相分布幅wHを結合重み決定回路12Cへ出力する。
図70は、図69に示す分布幅検出回路16Aの構成を示す概略ブロック図である。図70を参照して、分布幅検出回路16Aは、色相変換回路161Aと、累積値演算回路162Aと、決定回路163Aとを含む。
色相変換回路161Aは、実施の形態1における色相変換回路350(図18参照)と同じ構成からなる。色相変換回路161Aは、画素値検出回路11Bから各画素のRGB値を受ける。そして、色相変換回路161Aは、RGB値に基づいて、色相変換回路350(図18参照)と同じ方法によって、各画素のRGB値を色相Hに変換する。そうすると、色相変換回路161Aは、その変換した色相Hを累積値演算回路162Aへ出力する。
累積値演算回路162Aは、色相変換回路161Aから各画素の色相Hを受ける。そして、累積値演算回路162Aは、1つのフレームに含まれる各画素の色相Hに基づいて、各色相Hにおける累積画素数と各色相Hとの関係を示す累積画素数分布を演算する。そうすると、累積値演算回路162Aは、その演算した累積画素数分布を決定回路163Aへ出力する。
決定回路163Aは、累積値演算回路162Aから累積画素数分布を受ける。そして、決定回路163Aは、その受けた累積画素数分布に基づいて、決定回路163と同じ方法によって、1つのフレームに含まれる複数の画素における色相の分布幅である色相分布幅wHを決定する。そうすると、決定回路163Aは、その決定した色相分布幅wHを結合重み決定回路12Cへ出力する。
図71は、図69に示す画像分割装置10Dの結合重み決定回路12Cの構成を示す概略ブロック図である。
図71を参照して、結合重み決定回路12Cは、図57に示す結合重み決定回路12Bの重み計算ユニット42A〜45Aをそれぞれ重み計算ユニット42B〜45Bに代えたものであり、その他は、結合重み決定回路12Bと同じである。
重み計算ユニット42Bは、Dラッチ回路32およびFIFO回路33からRGB値を受け、Dラッチ回路37およびFIFO回路38から色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Aから色相分布幅wHを受ける。そして、重み計算ユニット42Bは、Dラッチ回路32から受けたRGB値とDラッチ回路37から受けた色相および彩度とを1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とし、FIFO回路33から受けたRGB値と、FIFO回路38から受けた色相および彩度とを別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。また、重み計算ユニット42Bは、画素GE2の彩度と、画素GE3の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE2,GE3が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE2,GE3間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット42Bは、RGB値、色相および彩度(RGB3,HS3)と、RGB値、色相および彩度(RGB2,HS2)と、色相分布幅wHとに基づいて、その決定したパラメータを用いて画素GE2と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット43Bは、Dラッチ回路31,34からRGB値を受け、Dラッチ回路36,39から色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Aから色相分布幅wHを受ける。そして、重み計算ユニット43Bは、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、Dラッチ回路34から受けたRGB値と、Dラッチ回路39から受けた色相および彩度とを別の1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とする。また、重み計算ユニット43Bは、画素GE1の彩度と、画素GE4の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE1,GE4が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE1,GE4間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット43Bは、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB1,HS1)と、色相分布幅wHとに基づいて、その決定したパラメータを用いて画素GE1と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット44Bは、Dラッチ回路34からRGB値を受け、Dラッチ回路39から色相および彩度を受け、選択器40からRGB値、色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Aから色相分布幅wHを受ける。そして、重み計算ユニット44Bは、Dラッチ回路34から受けたRGB値とDラッチ回路39から受けた色相および彩度とを1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とし、選択器40から受けたRGB値、色相および彩度を別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。また、重み計算ユニット44Bは、画素GE1の彩度と、画素GE2の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE1,GE2が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE1,GE2間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット44Bは、RGB値、色相および彩度(RGB1,HS1)と、RGB値、色相および彩度(RGB2,HS2)と、色相分布幅wHとに基づいて、その決定したパラメータを用いて画素GE1と画素GE2との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット45Bは、Dラッチ回路31からRGB値を受け、Dラッチ回路36から色相および彩度を受け、選択器41からRGB値、色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Aから色相分布幅wHを受ける。そして、重み計算ユニット45Bは、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、選択器41から受けたRGB値、色相および彩度を別の1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とする。また、重み計算ユニット45Bは、画素GE3の彩度と、画素GE4の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE3,GE4が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE3,GE4間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット45Bは、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB3,HS3)と、色相分布幅wHとに基づいて、その決定したパラメータを用いて画素GE3と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
なお、重み計算ユニット44Bは、選択器40から画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)を受けるとき、画素GE1と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力し、重み計算ユニット45Bは、選択器41から画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)を受けるとき、画素GE2と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
図72は、図71に示す重み計算ユニット42Bの構成を示す概略図である。図72を参照して、重み計算ユニット42Bは、図28に示す重み計算ユニット42の結合重み修正回路450およびセレクタ信号生成回路470をそれぞれ結合重み修正回路450Aおよびセレクタ信号生成回路470Aに代えたものであり、その他は、重み計算ユニット42と同じである。
結合重み修正回路450Aは、2つの画素GE2,GE3の2つのRGB値に基づいて演算された結合重み(=表1を用いて演算された結合重み:WA,B)を結合重み演算回路420から受け、2つの画素GE2,GE3間の色相差|HA−HB|を色相差計算回路430から受け、色相分布幅wHを分布幅検出回路16Aから受ける。
また、結合重み修正回路460Aは、表3を保持している。
結合重み修正回路450Aは、表3、結合重みWA,Bおよび色相差|HA−HB|に基づいて、結合重み修正回路450と同じ方法によって、結合重みWA,Bを修正して結合重みWA,B_Hを抽出する。
その後、結合重み修正回路450Aは、結合重みWA,B_Hおよび色相分布幅wHに基づいて、後述する方法によって結合重みWA,B_Hを調整し、その調整した結合重みWA,B_HHをセレクタ480へ出力する。
なお、重み計算ユニット42Bにおいては、セレクタ480は、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hに応じて、結合重みWA,B,結合重みWA,B_HH,結合重みWA,B_Sのいずれかを選択する。
重み計算ユニット43B〜45Bの各々も、図72に示す重み計算ユニット42Bと同じ構成からなる。そして、重み計算ユニット43B〜45Bの各々は、重み計算ユニット42Bと同じ方法によって結合重みを決定する。
図73は、色相分布幅による結合重みの調整の概念図である。図73において、縦軸は、結合重みを表し、横軸は、色相差を表す。また、曲線k9は、調整前の結合重み変換テーブルを示し、曲線k10は、調整後の結合重み変換テーブルを示す。
図73を参照して、曲線k10は、曲線k9の傾きに対して2(=1/wH)倍の傾きを有する。そして、色相分布幅wHは、0<wH≦1の範囲の値からなる。したがって、曲線k10は、曲線k9の傾き以上の傾きを有する。
その結果、色相分布幅wHを用いて結合重みWA,B_Hを結合重みWA,B_HHに調整することによって、2つの画素間の結合重みWA,B_HHは、2つの画素間の色相差|HA−HB|が大きくなるに従って急激に小さくなる。つまり、2つの画素間の色相差|HA−HB|が大きくなるに従って画像分割における領域成長が抑制されるように2つの画素間の結合重みWA,B_HHが決定される。
結合重みWA,B_Hが色相分布幅wHによって結合重みWA,B_HHに調整される場合、重み計算ユニット42B〜45Bの各々において、セレクタ信号生成回路470Aは、しきい値Sth1,Sth2を用いて、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hを生成してもよく、しきい値Vth1,Vth2を用いて、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hを生成してもよい。
画像分割装置10Dにおける画像分割の動作は、図62から図64に示すフローチャートに従って実行される。
この場合、図62のステップS64においては、色相分布幅wHが検出され、ステップS65においては、彩度分布幅wsに代えて色相分布幅wHが用いられて結合重みが決定される。
また、図63のステップS37A〜S40Aおよび図64のステップS373Aにおいては、色相分布幅wHが彩度分布幅wsの代わりに用いられる。
さらに、中間領域が明度Vの2つのしきい値Vth1,Vth2によって規定される場合も、画像分割装置10Dは、図62から図64に示すフローチャートに従って入力画像を各対象物の画像に分割する。この場合、図64のステップS375A,S377A,S379A,S381A,S383Aにおいては、明度Vi+1,j,Vklが彩度Si+1,j,Sklの代わりに用いられ、しきい値Vth1,Vth2がしきい値Sth1,Sth2の代わりに用いられる。
図74は、実施の形態4によるさらに他の画像分割装置の構成を示す概略ブロック図である。実施の形態4による画像分割装置は、図74に示す画像分割装置10Eであってもよい。
図74を参照して、画像分割装置10Eは、図52に示す画像分割装置10Cの結合重み決定回路12Bを結合重み決定回路12Dに代え、分布幅検出回路16を分布幅検出回路16Bに代えたものであり、その他は、画像分割装置10Cと同じである。
結合重み決定回路12Dは、画素値検出回路11Bから受けた各画素のRGB値と、しきい値決定回路15から受けたしきい値Sth1,Sth2と、分布幅検出回路16Bから受けた明度分布幅wVとに基づいて、各画素間の結合重みを決定する。
より具体的には、結合重み決定回路12Dは、各画素のRGB値を色相Hおよび彩度Sに変換する。そして、結合重み決定回路12Dは、RGB値を用いて結合重みWA,Bを決定し、その決定した結合重みWA,Bを明度分布幅wVによって結合重みWA,B_Vに調整する。また、結合重み決定回路12Dは、隣接する2つの画素間の彩度差が大きくなるに従って結合重みWA,Bからの減少量を大きくして結合重みWA,B_Sを決定する。さらに、結合重み決定回路12Dは、隣接する2つの画素間の色相差が大きくなるに従って結合重みWA,Bからの減少量を大きくして結合重みWA,B_Hを決定する。
このように、結合重み決定回路12Dは、RGB値、しきい値Sth1,Sth2、および明度分布幅wVに基づいて、結合重みWA,B_V,WA,B_H,WA,B_Sを決定する。
分布幅検出回路16Bは、各画素のRGB値を画素値検出回路11Bから受ける。そして、分布幅検出回路16Bは、各画素のRGB値に基づいて、後述する方法によって、明度分布幅wVを検出し、その検出した明度分布幅wVを結合重み決定回路12Dへ出力する。
図75は、図74に示す分布幅検出回路16Bの構成を示す概略ブロック図である。図75を参照して、分布幅検出回路16Bは、明度変換回路161Bと、累積値演算回路162Aと、決定回路163Aとを含む。
明度変換回路161Bは、画素値検出回路11Bから各画素のRGB値を受ける。そして、明度変換回路161Bは、RGB値の各成分のうち、最大の成分を検出することにより、RGB値を明度Vに変換する。そうすると、明度変換回路161Bは、その変換した明度Vを累積値演算回路162Aへ出力する。
累積値演算回路162Aは、明度変換回路161Bから各画素の明度Vを受ける。そして、累積値演算回路162Aは、1つのフレームに含まれる各画素の明度Vに基づいて、各明度Vにおける累積画素数と各明度Vとの関係を示す累積画素数分布を演算する。そうすると、累積値演算回路162Aは、その演算した累積画素数分布を決定回路163Aへ出力する。
決定回路163Aは、累積値演算回路162Aから累積画素数分布を受ける。そして、決定回路163Aは、その受けた累積画素数分布に基づいて、決定回路163と同じ方法によって、1つのフレームに含まれる複数の画素における明度の分布幅である明度分布幅wVを決定する。そうすると、決定回路163Aは、その決定した明度分布幅wVを結合重み決定回路12Dへ出力する。
図76は、図74に示す画像分割装置10Dの結合重み決定回路12Dの構成を示す概略ブロック図である。
図76を参照して、結合重み決定回路12Dは、図57に示す結合重み決定回路12Bの重み計算ユニット42A〜45Aをそれぞれ重み計算ユニット42C〜45Cに代えたものであり、その他は、結合重み決定回路12Bと同じである。
重み計算ユニット42Cは、Dラッチ回路32およびFIFO回路33からRGB値を受け、Dラッチ回路37およびFIFO回路38から色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16BAから明度分布幅wVを受ける。そして、重み計算ユニット42Cは、Dラッチ回路32から受けたRGB値とDラッチ回路37から受けた色相および彩度とを1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とし、FIFO回路33から受けたRGB値と、FIFO回路38から受けた色相および彩度とを別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。また、重み計算ユニット42Cは、画素GE2の彩度と、画素GE3の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE2,GE3が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE2,GE3間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット42Cは、RGB値、色相および彩度(RGB3,HS3)と、RGB値、色相および彩度(RGB2,HS2)と、明度分布幅wVとに基づいて、その決定したパラメータを用いて画素GE2と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット43Cは、Dラッチ回路31,34からRGB値を受け、Dラッチ回路36,39から色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Bから明度分布幅wVを受ける。そして、重み計算ユニット43Cは、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、Dラッチ回路34から受けたRGB値と、Dラッチ回路39から受けた色相および彩度とを別の1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とする。また、重み計算ユニット43Cは、画素GE1の彩度と、画素GE4の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE1,GE4が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE1,GE4間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット43Cは、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB1,HS1)と、明度分布幅wVとに基づいて、その決定したパラメータを用いて画素GE1と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット44Cは、Dラッチ回路34からRGB値を受け、Dラッチ回路39から色相および彩度を受け、選択器40からRGB値、色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Bから明度分布幅wVを受ける。そして、重み計算ユニット44Cは、Dラッチ回路34から受けたRGB値とDラッチ回路39から受けた色相および彩度とを1つの画素GE1に対応するRGB値、色相および彩度(RGB1,HS1)とし、選択器40から受けたRGB値、色相および彩度を別の1つの画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)とする。また、重み計算ユニット44Cは、画素GE1の彩度と、画素GE2の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE1,GE2が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE1,GE2間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット44Cは、RGB値、色相および彩度(RGB1,HS1)と、RGB値、色相および彩度(RGB2,HS2)と、明度分布幅wVとに基づいて、その決定したパラメータを用いて画素GE1と画素GE2との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
重み計算ユニット45Cは、Dラッチ回路31からRGB値を受け、Dラッチ回路36から色相および彩度を受け、選択器41からRGB値、色相および彩度を受け、しきい値決定回路15からしきい値Sth1,Sth2を受け、分布幅検出回路16Bから明度分布幅wVを受ける。そして、重み計算ユニット45Cは、Dラッチ回路31から受けたRGB値とDラッチ回路36から受けた色相および彩度とを1つの画素GE4に対応するRGB値、色相および彩度(RGB4,HS4)とし、選択器41から受けたRGB値、色相および彩度を別の1つの画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)とする。また、重み計算ユニット45Cは、画素GE3の彩度と、画素GE4の彩度と、しきい値Sth1,Sth2とに基づいて、画素GE3,GE4が属する領域(無彩色領域、中間領域および有彩色領域のいずれか)を判別し、その判別結果に応じて、画素GE3,GE4間の結合重みを決定するためのパラメータ(明度、彩度および色相の少なくとも1つ)を決定する。そうすると、重み計算ユニット45Cは、RGB値、色相および彩度(RGB4,HS4)と、RGB値、色相および彩度(RGB3,HS3)と、明度分布幅wVとに基づいて、その決定したパラメータを用いて画素GE3と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
なお、重み計算ユニット44Cは、選択器40から画素GE3に対応するRGB値、色相および彩度(RGB3,HS3)を受けるとき、画素GE1と画素GE3との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力し、重み計算ユニット45Cは、選択器41から画素GE2に対応するRGB値、色相および彩度(RGB2,HS2)を受けるとき、画素GE2と画素GE4との間の結合重みを演算し、その演算した結合重みを画像分割回路13Aへ出力する。
図77は、図76に示す重み計算ユニット42Cの構成を示す概略図である。図77を参照して、重み計算ユニット42Cは、図28に示す重み計算ユニット42のセレクタ信号生成回路470をセレクタ信号生成回路470Aに代え、結合重み修正回路490を追加したものであり、その他は、重み計算ユニット42と同じである。
セレクタ信号生成回路470Aについては、上述したとおりである。
結合重み修正回路490は、2つの画素GE2,GE3の2つのRGB値に基づいて演算された結合重み(=表1を用いて演算された結合重み:WA,B)を結合重み演算回路420から受け、明度分布幅wVを分布幅検出回路16Bから受ける。
結合重み修正回路490は、結合重みWA,Bおよび明度分布幅wVに基づいて、結合重み修正回路450A,460Aと同じ方法によって結合重みWA,Bを調整し、その調整した結合重みWA,B_Vを結合重み修正回路450,460およびセレクタ480へ出力する。
なお、重み計算ユニット42Cにおいては、結合重み修正回路450は、色相差|HA−HB|によって結合重みWA,B_Vを結合重みWA,B_Hに修正し、、結合重み修正回路460は、彩度差|SA−SB|によって結合重みWA,B_Vを結合重みWA,B_Sに修正する。また、重み計算ユニット42Cにおいては、セレクタ480は、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hに応じて、結合重みWA,B_V,結合重みWA,B_H,結合重みWA,B_Sのいずれかを選択する。
重み計算ユニット43C〜45Cの各々も、図77に示す重み計算ユニット42Cと同じ構成からなる。そして、重み計算ユニット43C〜45Cの各々は、重み計算ユニット42Cと同じ方法によって結合重みを決定する。
重み計算ユニット42C〜45Cの各々において、結合重みWA,Bを明度分布幅wVによって結合重みWA,B_Vに調整するときの概念図は、図60の横軸を彩度差から明度差に代えた概念図と同じである。
その結果、明度分布幅wVを用いて結合重みWA,Bを結合重みWA,B_Vに調整することによって、2つの画素間の結合重みWA,B_Vは、2つの画素間の明度差|VA−VB|が大きくなるに従って急激に小さくなる。つまり、2つの画素間の明度差|VA−VB|が大きくなるに従って画像分割における領域成長が抑制されるように2つの画素間の結合重みWA,B_Vが決定される。
結合重みWA,Bが明度分布幅wVによって結合重みWA,B_Vに調整される場合、重み計算ユニット42C〜45Cの各々において、セレクタ信号生成回路470Aは、しきい値Sth1,Sth2を用いて、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hを生成してもよく、しきい値Vth1,Vth2を用いて、セレクタ信号SEL_RGB,SEL_SV,SEL_HV,SEL_HS,SEL_HSV,SEL_Hを生成してもよい。
画像分割装置10Eにおける画像分割の動作は、図62から図64に示すフローチャートに従って実行される。
この場合、図62のステップS64においては、明度分布幅wVが検出され、ステップS65においては、彩度分布幅wsに代えて明度分布幅wVが用いられて結合重みが決定される。
また、図63のステップS37A〜S40Aおよび図64のステップS373Aにおいては、明度分布幅wVが彩度分布幅wsの代わりに用いられる。
さらに、中間領域が明度Vの2つのしきい値Vth1,Vth2によって規定される場合も、画像分割装置10Eは、図62から図64に示すフローチャートに従って入力画像を各対象物の画像に分割する。この場合、図64のステップS375A,S377A,S379A,S381A,S383Aにおいては、明度Vi+1,j,Vklが彩度Si+1,j,Sklの代わりに用いられ、しきい値Vth1,Vth2がしきい値Sth1,Sth2の代わりに用いられる。
さらに、実施の形態4において、彩度分布幅ws、色相分布幅wH、および明度分布幅wVの2以上を用いて結合重みを調整してもよく、一般的には、彩度分布幅ws、色相分布幅wH、および明度分布幅wVの少なくとも1つを用いて結合重みを調整してもよい。
この場合、中間領域は、彩度Sの2つのしきい値Sth1,Sth2によって規定されてもよいし、明度Vの2つのしきい値Vth1,Vth2によって規定されてもよい。
また、この場合の加増分割装置の構成は、上述した図52,54,55,57,58,68、図69〜72および図74〜77の各構成を適宜組み合わせることによって実現される。
上述したように、実施の形態4においては、画像分割装置10C〜10Eは、無彩色領域と有彩色領域との間に中間領域を新たに設け、結合重みの決定の対象となる2つの画素が無彩色領域、中間領域および有彩色領域のいずれに属するかによって結合重みを計算するときの要素を変更するとともに、各領域の境界において領域成長が抑制されるように結合重みを決定する。そして、画像分割装置10C〜10Eは、その決定した結合重みを用いて1つのフレームを各対象物の画像に分割する。
したがって、この発明によれば、物体間の境界領域が中間領域を設けないときの無彩色領域と有彩色領域との境界に存在する場合でも、1つの入力画像を各対象物の画像に精度良く分割できる。
実施の形態4による画像分割装置は、上述した実施の形態2,3における分割判定回路14をさらに備え、分割判定回路14による判定結果に応じて、分割画像をさらに分割するようにしてもよい。
なお、上述した実施の形態1〜実施の形態4による画像分割装置10,10A,10B,10C,10D,10Eは、入力画像の各画素のRGB値、色相Hおよび彩度Sに基づいて各画素間の結合重みを決定し、その決定した結合重みに基づいて入力画像を分割するという新規な技術的特徴を用いて入力画像を分割するものである。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。