(57)【特許請求の範囲】
【請求項１】
入力された画像に含まれるそれぞれの画素に順次注目し、注目した前記画素の輝度値と、注目した前記画素の周囲に位置する他の前記画素の輝度値とに基づいて、輝度値が高い前記画素に向かう方向を示す値の第１のラベル、または周囲に位置する全ての前記画素よりも輝度値が高いことを示す値の第２のラベルで、前記画像に含まれるそれぞれの前記画素を表した勾配データを生成する勾配データ生成部と、
前記第２のラベルで表された前記画素のそれぞれを頂点画素とし、前記頂点画素の位置を表す頂点座標に基づいて、前記画像内の領域を、同じ前記頂点画素に属する前記画素が含まれる領域に分割し、分割した前記領域に含まれるそれぞれの前記画素を、同じ前記頂点画素に属する前記画素であることを示す値の第３のラベルで表した領域ラベルデータを生成する複数の領域ラベル生成部と、
それぞれの前記領域ラベル生成部が、前記画像内の領域を同じ前記頂点画素に属する前記画素が含まれる領域に分割する演算の負荷が均等になるように、演算を行う対象の前記頂点画素のそれぞれを、前記領域ラベル生成部のそれぞれに分配する頂点画素分配部と、
を備える、
画像処理装置。
【請求項２】
前記頂点画素分配部は、
前記頂点画素を中心としたときに、中心とした前記頂点画素から予め定めた範囲内の領域に位置する他の前記頂点画素の数に基づいて、中心とした前記頂点画素に属する前記画素の領域の大きさを表す領域面積を、それぞれの前記頂点画素ごとに推定する領域面積推定部と、
それぞれの前記領域面積に基づいて、演算を行う対象の前記頂点画素に対応する前記領域面積の差が最小になるように、それぞれの前記頂点画素を前記領域ラベル生成部のそれぞれに割り当て、割り当てた前記領域ラベル生成部を表す分配信号を、それぞれの前記頂点画素に対応する前記頂点座標に付与する頂点座標分配スケジューリング部と、
それぞれの前記頂点座標に付与された前記分配信号に基づいて、前記分配信号が表す前記領域ラベル生成部に前記頂点座標を出力する頂点座標分配部と、
を備える、
請求項１に記載の画像処理装置。
【請求項３】
前記領域面積推定部は、
中心とした前記頂点画素の前記頂点座標と、他の前記頂点画素の前記頂点座標とに基づいて、２つの前記頂点画素の間の距離をそれぞれ算出し、算出した２つの前記頂点画素の間の距離に基づいて、中心とした前記頂点画素の位置から予め定めた距離の範囲内の領域に存在する他の前記頂点画素の数を計数し、計数した他の前記頂点画素の数の逆数を用いて、それぞれの前記頂点画素に対応する前記領域面積を推定する、
請求項２に記載の画像処理装置。
【請求項４】
前記領域面積推定部は、
中心とした前記頂点画素から予め定めた範囲内の領域に位置する他の前記頂点画素の数と、予め定めた複数の領域面積の閾値で表される前記頂点画素の数とに基づいて、それぞれの前記頂点画素に対応する前記領域面積を、前記予め定めた複数の前記領域面積の前記閾値のいずれかに推定する、
請求項２または請求項３に記載の画像処理装置。
【請求項５】
前記頂点座標分配スケジューリング部は、
前記頂点画素を、予め定めた順番で前記領域ラベル生成部のそれぞれに割り当てる、
請求項２から請求項４のいずれか１の項に記載の画像処理装置。
【請求項６】
前記頂点座標分配スケジューリング部は、
対応する前記領域面積に基づいて、それぞれの前記頂点画素を予め定めた順番に並び替えるソート部、
を備え、
前記ソート部が並び替えた後の前記頂点画素を、前記領域ラベル生成部のそれぞれに割り当てる、
請求項５に記載の画像処理装置。
【請求項７】
前記領域面積推定部は、
それぞれの前記頂点画素に対応する前記領域面積を推定する際に、推定したそれぞれの前記頂点画素を予め定めた順番に並び替え、
前記頂点座標分配スケジューリング部は、
並び替えた後の前記頂点画素を、予め定めた順番で前記領域ラベル生成部のそれぞれに割り当てる、
請求項４に記載の画像処理装置。
【請求項８】
前記頂点座標分配スケジューリング部は、
複数の前記領域ラベル生成部の順番が昇順と降順とを交互に繰り返すように、前記頂点画素を、前記領域ラベル生成部のそれぞれに割り当てる、
請求項５から請求項７のいずれか１の項に記載の画像処理装置。
【請求項９】
前記頂点座標分配スケジューリング部は、
それぞれの前記領域ラベル生成部に割り当てられた前記領域面積の総和の内、最も大きい前記領域面積の総和と最も小さい前記領域面積の総和との差を、前記領域ラベル生成部の数で除算し、除算した結果の領域面積に相当する前記領域面積に対応する前記頂点画素を、前記領域面積の総和が最も大きい前記領域ラベル生成部以外の前記領域ラベル生成部のそれぞれに割り当て直す、
請求項５から請求項８のいずれか１の項に記載の画像処理装置。
【請求項１０】
前記頂点座標分配スケジューリング部は、
前記頂点画素が割り当てられていない前記領域ラベル生成部に前記頂点画素を順次割り当て、前記頂点画素が割り当てられていない前記領域ラベル生成部がない場合には、割り当てられた前記領域面積の総和が最も小さい前記領域ラベル生成部に、前記頂点画素を順次割り当てる、
請求項２から請求項４のいずれか１の項に記載の画像処理装置。
【請求項１１】
前記領域ラベル生成部のそれぞれは、
前記頂点座標に対応する前記頂点画素を中心とし、前記頂点画素の周囲に位置するそれぞれの前記画素を表すそれぞれの前記勾配データを取得する勾配データ取得部と、
取得した前記勾配データに含まれるそれぞれの前記画素を表す前記第１のラベルの値が、前記頂点画素に向かう方向を示す値であるか否かを判定し、前記頂点画素に向かう方向を示す値の前記第１のラベルで表された前記画素を、前記頂点画素を表す前記第２のラベルの値と同じ値の前記第３のラベルで表した前記領域ラベルデータを生成する勾配判定部と、
を備える、
請求項１から請求項１０のいずれか１の項に記載の画像処理装置。
【請求項１２】
前記勾配データ取得部は、
前記勾配判定部によって前記頂点画素に向かう方向を示す値の前記第１のラベルであると判定されたそれぞれの前記画素を順次中心とし、中心とした前記画素の周囲に位置するそれぞれの前記画素を表すそれぞれの前記勾配データをさらに取得し、
前記勾配判定部は、
さらに取得した前記勾配データに含まれるそれぞれの前記画素を表す前記第１のラベルの値が、中心とした前記画素に向かう方向を示す値であるか否かを順次判定し、中心とした前記画素に向かう方向を示す値の前記第１のラベルで表された前記画素を、中心とした前記画素を表す前記第３のラベルの値と同じ値の前記第３のラベルで表した前記領域ラベルデータを順次生成する、
請求項１１に記載の画像処理装置。
【請求項１３】
前記勾配データ取得部は、
順次中心とするそれぞれの前記画素の領域が、前記頂点画素に対応する前記頂点座標の位置から順次外周の前記画素に広がるように、それぞれの前記画素を表すそれぞれの前記勾配データを取得し、
前記勾配判定部は、
前記頂点画素を表す前記第２のラベルの値と同じ値の前記第３のラベルで表した領域が、前記頂点画素に対応する前記頂点座標の位置から順次外周の前記画素に広がる前記領域ラベルデータを生成する、
請求項１２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
従来から、処理時間がデータの量に依存するような画像処理がある。このため、画像処理装置に備えた複数の演算リソースのそれぞれが行う演算負荷が均等になるようにデータを分配し、それぞれの演算リソースによる演算を並列に行うことによって全体の処理時間の短縮を図る方法が提案されている。【０００３】
例えば、特許文献１には、ボリュームデータを構成するボクセルのうち、表示対象物を投影したときの投影面側から見える表面に位置する表面ボクセルの個数がほぼ均等になるように分割することによって、それぞれの演算リソースを遊休させることなく稼働させる３次元画像生成装置の技術が開示されている。【０００４】
一方、画像処理の分野には、画像データを輝度値などのデータに基づいて複数の領域に分割する領域分割処理と呼ばれる処理がある。この領域分割処理は、例えば、細胞の解析など、様々な分野で応用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】日本国特開平０９−０１６８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された技術は、Ｘ線ＣＴ（Ｃｏｍｐｕｔｅｄ  Ｔｏｍｏｇｒａｐｈｙ）装置などによって計測された人体などの画像をボリュームレンダリングで処理して描画（表示）する方法の技術である。そして、特許文献１に開示された技術では、人体内の組織の不透明度などに閾値を設定し、不透明度の値が閾値以上である組織を表示対象物として定めることによって、表示対象物が存在する範囲が決定され、三次元の画像を生成する際の計算量の推定が可能となることに着目している。つまり、特許文献１に開示された技術は、ボリュームレンダリングの処理に特有の計算量を推定方法に関する技術である。なお、特許文献１には、演算負荷がほぼ均等になるように、推定した計算量に基づいて処理をそれぞれの演算リソースに割り当てる具体的な方法に関しては、開示されてない。【０００７】
このため、特許文献１に開示された技術を、領域分割処理における演算負荷の推定にそのまま適用することは困難である。つまり、例えば、グレースケール画像などに対する領域分割処理では、特許文献１に開示された技術による演算負荷の推定を行うことができない。【０００８】
本発明は、上記の課題に基づいてなされたものであり、領域分割処理にける処理時間の短縮を目的として複数の演算リソースで並列に演算を行う場合に、それぞれの演算リソースを遊休させることなく稼働させ、全体の処理時間を短縮することができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の第１の態様の画像処理装置は、入力された画像に含まれるそれぞれの画素に順次注目し、注目した前記画素の輝度値と、注目した前記画素の周囲に位置する他の前記画素の輝度値とに基づいて、輝度値が高い前記画素に向かう方向を示す値の第１のラベル、または周囲に位置する全ての前記画素よりも輝度値が高いことを示す値の第２のラベルで、前記画像に含まれるそれぞれの前記画素を表した勾配データを生成する勾配データ生成部と、前記第２のラベルで表された前記画素のそれぞれを頂点画素とし、前記頂点画素の位置を表す頂点座標に基づいて、前記画像内の領域を、同じ前記頂点画素に属する前記画素が含まれる領域に分割し、分割した前記領域に含まれるそれぞれの前記画素を、同じ前記頂点画素に属する前記画素であることを示す値の第３のラベルで表した領域ラベルデータを生成する複数の領域ラベル生成部と、それぞれの前記領域ラベル生成部が、前記画像内の領域を同じ前記頂点画素に属する前記画素が含まれる領域に分割する演算の負荷が均等になるように、演算を行う対象の前記頂点画素のそれぞれを、前記領域ラベル生成部のそれぞれに分配する頂点画素分配部と、を備える。【００１０】
本発明の第２の態様によれば、上記第１の態様の画像処理装置において、前記頂点画素分配部は、前記頂点画素を中心としたときに、中心とした前記頂点画素から予め定めた範囲内の領域に位置する他の前記頂点画素の数に基づいて、中心とした前記頂点画素に属する前記画素の領域の大きさを表す領域面積を、それぞれの前記頂点画素ごとに推定する領域面積推定部と、それぞれの前記領域面積に基づいて、演算を行う対象の前記頂点画素に対応する前記領域面積の差が最小になるように、それぞれの前記頂点画素を前記領域ラベル生成部のそれぞれに割り当て、割り当てた前記領域ラベル生成部を表す分配信号を、それぞれの前記頂点画素に対応する前記頂点座標に付与する頂点座標分配スケジューリング部と、それぞれの前記頂点座標に付与された前記分配信号に基づいて、前記分配信号が表す前記領域ラベル生成部に前記頂点座標を出力する頂点座標分配部と、を備えてもよい。【００１１】
本発明の第３の態様によれば、上記第２の態様の画像処理装置において、前記領域面積推定部は、中心とした前記頂点画素の前記頂点座標と、他の前記頂点画素の前記頂点座標とに基づいて、２つの前記頂点画素の間の距離をそれぞれ算出し、算出した２つの前記頂点画素の間の距離に基づいて、中心とした前記頂点画素の位置から予め定めた距離の範囲内の領域に存在する他の前記頂点画素の数を計数し、計数した他の前記頂点画素の数の逆数を用いて、それぞれの前記頂点画素に対応する前記領域面積を推定してもよい。【００１２】
本発明の第４の態様によれば、上記第２の態様または上記第３の態様の画像処理装置において、前記領域面積推定部は、中心とした前記頂点画素から予め定めた範囲内の領域に位置する他の前記頂点画素の数と、予め定めた複数の領域面積の閾値で表される前記頂点画素の数とに基づいて、それぞれの前記頂点画素に対応する前記領域面積を、前記予め定めた複数の前記領域面積の前記閾値のいずれかに推定してもよい。【００１３】
本発明の第５の態様によれば、上記第２の態様から上記第４の態様のいずれか一態様の画像処理装置において、前記頂点座標分配スケジューリング部は、前記頂点画素を、予め定めた順番で前記領域ラベル生成部のそれぞれに割り当ててもよい。【００１４】
本発明の第６の態様によれば、上記第５の態様の画像処理装置において、前記頂点座標分配スケジューリング部は、対応する前記領域面積に基づいて、それぞれの前記頂点画素を予め定めた順番に並び替えるソート部、を備え、前記ソート部が並び替えた後の前記頂点画素を、前記領域ラベル生成部のそれぞれに割り当ててもよい。【００１５】
本発明の第７の態様によれば、上記第４の態様の画像処理装置において、前記領域面積推定部は、それぞれの前記頂点画素に対応する前記領域面積を推定する際に、推定したそれぞれの前記頂点画素を予め定めた順番に並び替え、前記頂点座標分配スケジューリング部は、並び替えた後の前記頂点画素を、予め定めた順番で前記領域ラベル生成部のそれぞれに割り当ててもよい。【００１６】
本発明の第８の態様によれば、上記第５の態様から上記第７の態様のいずれか一態様の画像処理装置において、前記頂点座標分配スケジューリング部は、複数の前記領域ラベル生成部の順番が昇順と降順とを交互に繰り返すように、前記頂点画素を、前記領域ラベル生成部のそれぞれに割り当ててもよい。【００１７】
本発明の第９の態様によれば、上記第５の態様から上記第８の態様のいずれか一態様の画像処理装置において、前記頂点座標分配スケジューリング部は、それぞれの前記領域ラベル生成部に割り当てられた前記領域面積の総和の内、最も大きい前記領域面積の総和と最も小さい前記領域面積の総和との差を、前記領域ラベル生成部の数で除算し、除算した結果の領域面積に相当する前記領域面積に対応する前記頂点画素を、前記領域面積の総和が最も大きい前記領域ラベル生成部以外の前記領域ラベル生成部のそれぞれに割り当て直してもよい。【００１８】
本発明の第１０の態様によれば、上記第２の態様から上記第４の態様のいずれか一態様の画像処理装置において、前記頂点座標分配スケジューリング部は、前記頂点画素が割り当てられていない前記領域ラベル生成部に前記頂点画素を順次割り当て、前記頂点画素が割り当てられていない前記領域ラベル生成部がない場合には、割り当てられた前記領域面積の総和が最も小さい前記領域ラベル生成部に、前記頂点画素を順次割り当ててもよい。【００１９】
本発明の第１１の態様によれば、上記第１の態様から上記第１０の態様のいずれか一態様の画像処理装置において、前記領域ラベル生成部のそれぞれは、前記頂点座標に対応する前記頂点画素を中心とし、前記頂点画素の周囲に位置するそれぞれの前記画素を表すそれぞれの前記勾配データを取得する勾配データ取得部と、取得した前記勾配データに含まれるそれぞれの前記画素を表す前記第１のラベルの値が、前記頂点画素に向かう方向を示す値であるか否かを判定し、前記頂点画素に向かう方向を示す値の前記第１のラベルで表された前記画素を、前記頂点画素を表す前記第２のラベルの値と同じ値の前記第３のラベルで表した前記領域ラベルデータを生成する勾配判定部と、を備えてもよい。【００２０】
本発明の第１２の態様によれば、上記第１１の態様の画像処理装置において、前記勾配データ取得部は、前記勾配判定部によって前記頂点画素に向かう方向を示す値の前記第１のラベルであると判定されたそれぞれの前記画素を順次中心とし、中心とした前記画素の周囲に位置するそれぞれの前記画素を表すそれぞれの前記勾配データをさらに取得し、前記勾配判定部は、さらに取得した前記勾配データに含まれるそれぞれの前記画素を表す前記第１のラベルの値が、中心とした前記画素に向かう方向を示す値であるか否かを順次判定し、中心とした前記画素に向かう方向を示す値の前記第１のラベルで表された前記画素を、中心とした前記画素を表す前記第３のラベルの値と同じ値の前記第３のラベルで表した前記領域ラベルデータを順次生成してもよい。【００２１】
本発明の第１３の態様によれば、上記第１２の態様の画像処理装置において、前記勾配データ取得部は、順次中心とするそれぞれの前記画素の領域が、前記頂点画素に対応する前記頂点座標の位置から順次外周の前記画素に広がるように、それぞれの前記画素を表すそれぞれの前記勾配データを取得し、前記勾配判定部は、前記頂点画素を表す前記第２のラベルの値と同じ値の前記第３のラベルで表した領域が、前記頂点画素に対応する前記頂点座標の位置から順次外周の前記画素に広がる前記領域ラベルデータを生成してもよい。
【発明の効果】
【００２２】
上記各態様によれば、領域分割処理にける処理時間の短縮を目的として複数の演算リソースで並列に演算を行う場合に、それぞれの演算リソースを遊休させることなく稼働させ、全体の処理時間を短縮することができる画像処理装置を提供することができる。
【図面の簡単な説明】
【００２３】
【図１Ａ】本発明の第１の実施形態の画像処理装置における領域分割処理の概念を説明する図である。
【図１Ｂ】本発明の第１の実施形態の画像処理装置における領域分割処理の概念を説明する図である。
【図１Ｃ】本発明の第１の実施形態の画像処理装置における領域分割処理の概念を説明する図である。
【図２】本発明の第１の実施形態における画像処理装置の概略構成の一例を示したブロック図である。
【図３Ａ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｂ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｃ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｄ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｅ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｆ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｇ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｈ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する勾配ラベルの一例を説明する図である。
【図３Ｉ】本発明の第１の実施形態の画像処理装置において処理を行う画素に付与する頂点ラベルの一例を説明する図である。
【図４】本発明の第１の実施形態の画像処理装置に備えた勾配データ生成部における処理手順を示したフローチャートである。
【図５】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配信号生成部の構成を示したブロック図である。
【図６】本発明の第１の実施形態の画像処理装置に備えた領域面積推定部において行う領域面積の推定処理の概念を説明する図である。
【図７】本発明の第１の実施形態の画像処理装置に備えた領域面積推定部における処理手順を示したフローチャートである。
【図８】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部の構成を示したブロック図である。
【図９Ａ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図９Ｂ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図９Ｃ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図９Ｄ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図１０】本発明の第１の実施形態の画像処理装置に備えた分配信号付与部における処理手順を示したフローチャートである。
【図１１Ａ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１１Ｂ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１１Ｃ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１１Ｄ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１１Ｅ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１１Ｆ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１１Ｇ】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部による領域ラベルの生成処理の一例を模式的に示した図である。
【図１２】本発明の第１の実施形態の画像処理装置に備えた領域ラベル生成部の構成を示したブロック図である。
【図１３】本発明の第１の実施形態の画像処理装置に備えた勾配データ読み込み元アドレス生成部における処理手順を示したフローチャートである。
【図１４】本発明の第１の実施形態の画像処理装置に備えた最外周データ勾配判定部における処理手順を示したフローチャートである。
【図１５Ａ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の別の方法を説明する図である。
【図１５Ｂ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の別の方法を説明する図である。
【図１５Ｃ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の別の方法を説明する図である。
【図１５Ｄ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の別の方法を説明する図である。
【図１６Ａ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理のさらに別の方法を説明する図である。
【図１６Ｂ】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理のさらに別の方法を説明する図である。
【図１７】本発明の第１の実施形態の画像処理装置に備えた領域面積推定部における別の処理手順を示したフローチャートである。
【図１８】本発明の第１の実施形態の画像処理装置に備えた頂点座標分配信号生成部の別の構成を示したブロック図である。
【図１９】本発明の第２の実施形態における画像処理装置の概略構成の一例を示したブロック図である。
【図２０】本発明の第２の実施形態の画像処理装置に備えた領域面積推定部において行う領域面積の推定処理の概念を説明する図である。
【図２１】本発明の第２の実施形態の画像処理装置に備えた領域面積推定部における処理手順を示したフローチャートである。
【図２２】本発明の第３の実施形態の画像処理装置に備えた頂点座標分配信号生成部の構成を示したブロック図である。
【図２３Ａ】本発明の第３の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図２３Ｂ】本発明の第３の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図２３Ｃ】本発明の第３の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図２３Ｄ】本発明の第３の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部による分配信号の付与処理の概念を説明する図である。
【図２４】本発明の第３の実施形態の画像処理装置に備えた頂点座標分配スケジューリング部における処理手順を示したフローチャートである。
【発明を実施するための形態】
【００２４】
（第１の実施形態）
以下、本発明の実施形態について、図面を参照して説明する。第１の実施形態の画像処理装置（以下、「画像処理装置１」という）は、例えば、グレースケール画像など、それぞれの画素の値として輝度値のみが含まれる画像（以下、「輝度画像」という）の領域を複数に分割し、複数の演算リソースで並列に領域分割処理の演算を行う画像処理装置である。
【００２５】
最初に、第１の実施形態の画像処理装置１が行う領域分割処理の概念について説明する。図１Ａ〜図１Ｃは、本発明の第１の実施形態の画像処理装置１における領域分割処理の概念を説明する図である。図１Ａは、画像処理装置１において領域分割処理の対象となる輝度画像の一例を示している。図１Ａに示した輝度画像は、周辺の画素の中で最も輝度値が高い画素（以下、「頂点画素」という）が３つあるグレースケール画像である。
【００２６】
図１Ａに示したような輝度画像が入力されると、画像処理装置１は、まず、輝度画像に含まれるそれぞれの画素を、頂点画素に向かう勾配を示す値（以下、「勾配ラベル」という）で表した勾配データを生成する。ここで言う「勾配」とは、ある画素に注目したとき、その画素の周辺に位置する画素の中で輝度値が高い画素に向かう方向を示すものである。図１Ｂには、画像処理装置１が生成した勾配データの一例を示している。図１Ｂに示したように、勾配データは、頂点画素に向かう勾配ラベルを、それぞれの頂点画素の周辺に位置する画素（以下、「周辺画素」という）のそれぞれに付与したデータである。なお、勾配データは、それぞれの画素を勾配ラベルである値で表したデータであるが、図１Ｂでは、理解を容易にするため、図１Ａに示した輝度画像上に、矢印で勾配を模式的に示した勾配ラベルを重畳した形で勾配データを示している。なお、図１Ｂにおいて「８」、「９」、「１０」と示した位置に位置する画素は、頂点画素である。このように、頂点画素には、勾配ラベルではなく、頂点であることを示す値（以下、「頂点ラベル」という）が勾配データ内に表される。図１Ｂに示した勾配データでは、「８」、「９」、および「１０」のそれぞれが、頂点ラベルである。
【００２７】
その後、画像処理装置１は、勾配データに含まれる勾配ラベルと頂点ラベルとに基づいて、輝度画像内の領域を、同じ頂点画素に属する画素が含まれる領域に分割する領域分割処理を行う。この領域分割処理において画像処理装置１は、同じ頂点画素に属するそれぞれの周辺画素に、同じ領域に属する画素であることを示す値（以下、「領域ラベル」という）を付与する演算を、複数の演算リソースで並列に行う。図１Ｃには、画像処理装置１が領域ラベルを付与する演算を行った結果である領域ラベルデータの一例を示している。図１Ｃに示したように、領域ラベルデータは、同じ頂点画素に属する周辺画素のそれぞれに、その頂点画素に付与された頂点ラベルと同じ値が領域ラベルとして付与されたデータである。なお、図１Ｃでは、理解を容易にするため、図１Ａに示した輝度画像上に領域ラベルを重畳した形で領域ラベルデータを示している。
【００２８】
このようにして画像処理装置１では、同じ頂点画素に属する周辺画素に同じ領域ラベルを付与する領域分割処理を、複数の演算リソースで並列に行う。
【００２９】
次に、画像処理装置１の構成について説明する。図２は、本発明の第１の実施形態における画像処理装置１の概略構成の一例を示したブロック図である。図２に示した画像処理装置１は、勾配データ生成部１１と、勾配データ記憶部１２と、頂点座標記憶部１３と、頂点座標分配信号生成部１４と、頂点座標分配部１５と、ｎ個の領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎと、領域ラベル記憶部１７と、を備えている。
【００３０】
勾配データ生成部１１は、入力された輝度画像に対応する勾配データを生成し、生成した勾配データを勾配データ記憶部１２に出力する。より具体的には、勾配データ生成部１１は、輝度画像に含まれるそれぞれの画素が頂点画素であるか、周辺画素であるかを判定し、頂点画素に頂点ラベルを、周辺画素に勾配ラベルをそれぞれ付与した勾配データを生成する。そして、勾配データ生成部１１は、生成した勾配データを勾配データ記憶部１２に出力する。また、勾配データ生成部１１は、生成した勾配データに含まれる頂点画素の位置を表す座標（以下、「頂点座標」という）を頂点座標記憶部１３に出力する。
【００３１】
勾配データ記憶部１２は、勾配データ生成部１１から出力された勾配データを記憶する。
【００３２】
頂点座標記憶部１３は、勾配データ生成部１１から出力された頂点座標を記憶する。
【００３３】
頂点座標分配信号生成部１４は、頂点座標記憶部１３に記憶された頂点座標に基づいて、輝度画像において同じ頂点画素に属する周辺画素に領域ラベルを付与する演算を、画像処理装置１に備えたそれぞれの演算リソースに分配する。そして、頂点座標分配信号生成部１４は、演算リソースに演算を分配した情報を、頂点座標分配部１５に出力する。より具体的には、頂点座標分配信号生成部１４は、頂点座標記憶部１３から読み出した頂点座標に基づいて、それぞれの頂点画素に属する周辺画素の領域の大きさ、つまり、それぞれの領域の面積を簡易的に推定する。そして、頂点座標分配信号生成部１４は、推定した領域の面積に基づいて、それぞれの頂点画素に対する演算を行う演算リソースを割り当てる。そして、頂点座標分配信号生成部１４は、割り当てた演算リソースを表す分配信号をそれぞれの頂点座標に付与して、頂点座標分配部１５に出力する。
【００３４】
頂点座標分配部１５は、頂点座標分配信号生成部１４から入力された頂点座標に付与された分配信号に基づいて、対応する演算リソースに、入力されたそれぞれの頂点座標を分配する（振り分ける）。
【００３５】
領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎのそれぞれは、輝度画像において同じ頂点画素に属する周辺画素に領域ラベルを付与する演算を行う、画像処理装置１に備えた演算リソースである。領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎのそれぞれは、頂点座標分配部１５から入力された頂点座標に位置する頂点画素に属する周辺画素のそれぞれに、頂点画素に付与された頂点ラベルと同じ値の領域ラベルを付与する。このとき、領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎのそれぞれは、勾配データ記憶部１２に記憶された勾配データに基づいて、同じ頂点画素に属する周辺画素の領域を演算する。そして、領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎのそれぞれは、同じ頂点画素に属する周辺画素に付与した領域ラベルを領域ラベル記憶部１７に出力する。なお、以下の説明において、領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎのそれぞれを区別せずに表すときには、「領域ラベル生成部１６」という。
【００３６】
領域ラベル記憶部１７は、領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎのそれぞれから出力された領域ラベルを記憶する。これにより、領域ラベル記憶部１７には、図１Ｃに示したような領域ラベルデータが記憶される。
【００３７】
このような構成によって、画像処理装置１は、同じ頂点画素に属する周辺画素に頂点ラベルと同じ領域ラベルを付与した領域ラベルデータを生成する領域分割処理を、複数の演算リソースで並列に行う。
【００３８】
次に、画像処理装置１に備えたそれぞれの構成要素について説明する。まず、勾配データ生成部１１について説明する。勾配データ生成部１１は、入力された輝度画像の左上に配置された画素からラスター順に、頂点画素であるか周辺画素であるかの判定を行う。以下の説明においては、頂点画素であるか周辺画素であるかの判定を行っている現在の画素を、「注目画素」という。また、勾配データ生成部１１は、注目画素が頂点画素であるか周辺画素であるかを判定した結果に応じて、それぞれの注目画素に頂点ラベルまたは勾配ラベルを付与する。このときに勾配データ生成部１１がそれぞれの注目画素に付与する頂点ラベルや勾配ラベルの値は、注目画素の輝度値と、注目画素の周囲に位置する画素（以下、「周囲画素」という）の輝度値との関係に基づいて予め定めている。
【００３９】
図３Ａ〜図３Ｉは、本発明の第１の実施形態の画像処理装置１において処理を行う画素（注目画素）に付与する頂点ラベルまたは勾配ラベルの一例を説明する図である。図３Ａ〜図３Ｉのそれぞれには、丸で囲んで示した注目画素の輝度値と、注目画素の周囲に位置する８つの周囲画素の輝度値との関係に基づいて、勾配データ生成部１１が注目画素に付与する頂点ラベルまたは勾配ラベルの値の一例を示している。図３Ａ〜図３Ｈには、注目画素が周辺画素である場合に勾配データ生成部１１が付与する勾配ラベルの値の一例を示し、図３Ｉには、注目画素が頂点画素である場合に勾配データ生成部１１が付与する頂点ラベルの値の一例を示している。
【００４０】
上述したように、勾配ラベルは、注目画素の周辺に位置する画素の中で輝度値が高い画素に向かう方向を示すものである。このため、勾配データ生成部１１は、注目画素よりも輝度値が高い画素が位置する方向によって、図３Ａ〜図３Ｈに示したような、８種類の値のいずれか１つの値の勾配ラベルを、注目画素に付与する。例えば、図３Ａに示した一例では、注目画素の周囲に位置する８つの周囲画素の内、注目画素の輝度値（＝「５４」）よりも高い値である周囲画素が４つある。そして、この４つの周囲画素において左斜め上方向に位置する周囲画素の輝度値（＝「９９」）が最も高い値となっている。この場合、勾配データ生成部１１は、注目画素から見た勾配方向が左斜め上方向である、つまり、注目画素は周辺画素であり、この注目画素が属する頂点画素が左斜め上方向に位置すると判定する。注目画素の輝度値と周囲画素の輝度値が図３Ａに示したような関係である場合、勾配データ生成部１１は、値が「０」である勾配ラベルを注目画素に付与する。
【００４１】
同様に、勾配データ生成部１１は、注目画素から見た、高い輝度値の周囲画素が位置する方向に対応する値（「１」〜「７」）の勾配ラベルを、それぞれの注目画素に付与する。図３Ｂには、勾配データ生成部１１が、注目画素が属する頂点画素が上方向に位置すると判定し、値が「１」である勾配ラベルを注目画素に付与する場合の一例を示している。また、図３Ｃには、勾配データ生成部１１が、注目画素が属する頂点画素が右斜め上方向に位置すると判定し、値が「２」である勾配ラベルを注目画素に付与する場合の一例を示している。また、図３Ｄには、勾配データ生成部１１が、注目画素が属する頂点画素が左方向に位置すると判定し、値が「３」である勾配ラベルを注目画素に付与する場合の一例を示している。また、図３Ｅには、勾配データ生成部１１が、注目画素が属する頂点画素が右方向に位置すると判定し、値が「４」である勾配ラベルを注目画素に付与する場合の一例を示している。また、図３Ｆには、勾配データ生成部１１が、注目画素が属する頂点画素が左斜め下方向に位置すると判定し、値が「５」である勾配ラベルを注目画素に付与する場合の一例を示している。また、図３Ｇには、勾配データ生成部１１が、注目画素が属する頂点画素が下方向に位置すると判定し、値が「６」である勾配ラベルを注目画素に付与する場合の一例を示している。また、図３Ｈには、勾配データ生成部１１が、注目画素が属する頂点画素が右斜め下方向に位置すると判定し、値が「７」である勾配ラベルを注目画素に付与する場合の一例を示している。
【００４２】
また、上述したように、頂点ラベルは、注目画素が周辺に位置する画素の中で最も輝度値が高い画素であることを示すものである。このため、勾配データ生成部１１は、注目画素が頂点画素である場合、図３Ｉに示したような、勾配ラベルと異なる値の頂点ラベルを、注目画素に付与する。例えば、図３Ｉに示した一例では、注目画素の周囲に位置する８つの周囲画素の画素値よりも、注目画素の画素値が高い値となっている。この場合、勾配データ生成部１１は、この注目画素が、周辺に位置する画素よりも輝度値が高い頂点画素であると判定する。注目画素の輝度値と周囲画素の輝度値が図３Ｉに示したような関係である場合、勾配データ生成部１１は、値が「８」以上である頂点ラベルを注目画素に付与する。なお、勾配データ生成部１１は、それぞれの頂点画素に、異なる値の頂点ラベルを付与する。例えば、次に頂点画素であると判定した注目画素には、値が「９」である頂点ラベルを、その注目画素に付与する。
【００４３】
図４は、本発明の第１の実施形態の画像処理装置１に備えた勾配データ生成部１１における処理手順を示したフローチャートである。勾配データ生成部１１は、輝度画像が入力され、勾配データの生成を開始すると、まず、頂点ラベルの値の初期化を行う（ステップＳ１１）。ここでは、勾配データ生成部１１は、頂点ラベルの初期値を、図３Ｉに示した「８」とする。
【００４４】
続いて、勾配データ生成部１１は、ステップＳ１２のループにおいて、入力された輝度画像の左上に配置された画素からラスター順に注目画素として、それぞれの注目画素ごとに、注目画素が頂点画素であるか周辺画素であるかの判定処理を、輝度画像の１フレーム分、すなわち、輝度画像に含まれる全ての画素に対して行う。
【００４５】
勾配データ生成部１１における注目画素の判定処理では、まず、注目画素の輝度値と、その注目画素の周囲に位置するそれぞれの周囲画素の輝度値とを輝度画像から取得し、現在の注目画素の輝度値とそれぞれの周囲画素の輝度値とを比較する（ステップＳ１３）。
【００４６】
続いて、勾配データ生成部１１は、現在の注目画素の輝度値が、いずれの周囲画素の輝度値よりも高い値であるか否かを判定する（ステップＳ１４）。つまり、勾配データ生成部１１は、ステップＳ１４において、現在の注目画素が頂点画素であるか否かを判定する。
【００４７】
ステップＳ１４において、現在の注目画素の輝度値が、いずれの周囲画素の輝度値よりも高い値ではない、つまり、現在の注目画素が周辺画素であると判定した場合（ステップＳ１４の“ＮＯ”）、勾配データ生成部１１は、ステップＳ１５において、現在の注目画素よりも高い輝度値の周囲画素の中で、最も輝度値が高い周囲画素が位置する方向に対応する値の勾配ラベルを付与した勾配データを生成し、勾配データ記憶部１２に出力する。そして、勾配データ生成部１１は、ステップＳ１２に戻って、次の注目画素に対する判定処理を行う。
【００４８】
一方、ステップＳ１４において、現在の注目画素の輝度値が、いずれの周囲画素の輝度値よりも高い値である、つまり、現在の注目画素が頂点画素であると判定した場合（ステップＳ１４の“ＹＥＳ”）、勾配データ生成部１１は、ステップＳ１６において、現在の注目画素に、現在の値の（最初は初期値（＝「８」））の頂点ラベルを付与した勾配データを生成し、勾配データ記憶部１２に出力する。また、勾配データ生成部１１は、現在の注目画素の位置、すなわち、頂点画素の位置を表す頂点座標を、頂点座標記憶部１３に出力する。さらに、勾配データ生成部１１は、現在の頂点ラベルの値に「１」を加算して、次の頂点ラベルの値を異なる値（最初は、初期値（＝「８」）に「１」を加えた「９」）に変更する。そして、勾配データ生成部１１は、ステップＳ１２に戻って、次の注目画素に対する判定処理を行う。
【００４９】
このように、勾配データ生成部１１は、ステップＳ１２のループで表された注目画素の判定処理を、輝度画像に含まれる全ての画素に対して行って、つまり、輝度画像の１フレーム分行って、入力された輝度画像に対応する勾配データを生成する。これにより、勾配データ記憶部１２には、それぞれの画素に勾配ラベルまたは頂点ラベルが付与された勾配データが記憶される。また、頂点座標記憶部１３には、勾配データ記憶部１２に記憶された勾配データに含まれるそれぞれの頂点画素の位置を表す頂点座標のそれぞれが記憶される。
【００５０】
頂点座標分配信号生成部１４は、頂点座標記憶部１３に記憶された頂点座標に基づいて、それぞれの頂点座標に対応する頂点画素に対して演算を行う領域ラベル生成部１６を割り当てる処理を行う。
【００５１】
次に、画像処理装置１に備えた頂点座標分配信号生成部１４について説明する。図５は、本発明の第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４の構成を示したブロック図である。図５に示した頂点座標分配信号生成部１４は、領域面積推定部１４１と、領域面積記憶部１４２と、頂点座標分配スケジューリング部１４３と、を備えている。
【００５２】
領域面積推定部１４１は、頂点座標記憶部１３に記憶されているそれぞれの頂点座標に基づいて、輝度画像に含まれるそれぞれの頂点画素に属する周辺画素の領域の大きさ（面積）を簡易的に推定する。そして、領域面積推定部１４１は、推定したそれぞれの頂点画素に属する周辺画素の領域の面積（以下、「領域面積」という）の情報を、領域面積記憶部１４２に出力する。
【００５３】
領域面積記憶部１４２は、領域面積推定部１４１から出力された領域面積の情報を記憶する。
【００５４】
頂点座標分配スケジューリング部１４３は、領域面積記憶部１４２に記憶された領域面積の情報に基づいて、それぞれの頂点画素に対する演算を、領域ラベル生成部１６のそれぞれに割り当てる。そして、頂点座標分配スケジューリング部１４３は、演算を割り当てた領域ラベル生成部１６を表す分配信号を、それぞれの頂点座標に付与する。
【００５５】
ここで、頂点座標分配信号生成部１４に備えたそれぞれの構成要素について説明する。まず、領域面積推定部１４１について説明する。例えば、画像処理装置１において、入力された輝度画像に含まれる画素をラスター順に判定し、頂点画素であると判定された順に領域面積を求める演算を行うと、輝度画像内のそれぞれの頂点画素の配置によっては、それぞれの領域ラベル生成部１６の演算負荷に大きな差が生じてしまう。つまり、それぞれの領域ラベル生成部１６が演算を行う領域面積の大きさに差が生じ、演算負荷が均等ではなくなってしまう。そこで、画像処理装置１では、まず、領域面積推定部１４１が、頂点座標記憶部１３に記憶されている頂点座標に基づいて、それぞれの頂点画素に属する領域面積を簡易的に推定する。これにより、画像処理装置１では、頂点座標分配スケジューリング部１４３が、推定した領域面積に基づいて、それぞれの領域ラベル生成部１６が演算を行う領域面積の大きさの差が最小になるように、それぞれの頂点画素に対する演算を振り分けることができる。つまり、画像処理装置１では、推定した領域面積に基づいて、最終的に領域面積を演算する際の演算負荷がほぼ均等になるように、それぞれの頂点画素に対して演算する領域ラベル生成部１６を振り分けることができる。
【００５６】
図６は、本発明の第１の実施形態の画像処理装置１に備えた領域面積推定部１４１において行う領域面積の推定処理の概念を説明する図である。図６では、輝度画像に含まれるそれぞれの頂点画素の位置を黒塗りの丸で示し、仮に画像処理装置１に備えた領域ラベル生成部１６のそれぞれが領域分割処理を行ったときの最終的な領域面積の境界を点線で模式的に示している。
【００５７】
領域面積推定部１４１による領域面積の推定処理では、頂点画素を中心として予め定めた距離の閾値内に存在する他の頂点座標の数、すなわち、予め定めた距離の閾値で設定される領域内に存在する頂点画素の密度（以下、「頂点密度」という）によって、この頂点画素に属する領域面積を簡易的に推定する。
【００５８】
図６には、予め定めた距離の閾値で設定される領域（以下、「閾値領域」という）を、一点鎖線で示している。図６においては、頂点画素ｔ３を中心とした閾値領域ａ１内に他の３つの頂点画素（頂点画素ｔ１、頂点画素ｔ２、および頂点画素ｔ４）が存在し、頂点画素ｔ５を中心とした閾値領域ａ２内に他の頂点画素が存在していない場合を示している。これは、閾値領域ａ１の頂点密度は、閾値領域ａ２の頂点密度よりも４倍高いことを示している。このように、頂点密度、すなわち、閾値領域で示された単位面積内に存在する頂点画素の数は、閾値領域内に存在する頂点画素に属する領域面積が狭い場合に大きくなり、領域面積が広い場合に小さくなる。このことから、領域面積推定部１４１では、頂点密度の逆数を用いて、それぞれの頂点画素に属する領域面積を簡易的に推定する。例えば、図６に示した一例では、閾値領域ａ１内のそれぞれの頂点画素に属する領域面積は閾値領域の１／４以下の面積であると推定し、閾値領域ａ２内の頂点画素に属する領域面積は閾値領域の面積以上であると推定する。
【００５９】
図７は、本発明の第１の実施形態の画像処理装置１に備えた領域面積推定部１４１における処理手順を示したフローチャートである。領域面積推定部１４１における領域面積の推定処理では、領域面積推定部１４１が、それぞれの頂点座標から求められる２つの頂点画素の間の距離に基づいて、頂点画素が閾値領域内に存在するか否かの判定を行う。より具体的には、領域面積推定部１４１は、頂点密度を算出する閾値領域の中心に位置する基準の頂点画素と、他の頂点画素との２つの頂点画素間の距離に基づいて、他の頂点画素が、基準の頂点画素の閾値領域内に存在するか否かを判定する。このとき領域面積推定部１４１は、すでに距離の算出が終了している２つの頂点画素に関しては、重複して距離の算出を行わないようにする。
【００６０】
以下の説明においては、頂点座標記憶部１３に記憶された頂点座標の数が「３」であるものとし、１つ目の頂点画素を中心とした閾値領域内に、２つ目の頂点画素が存在するものとして、図７に示した領域面積推定部１４１の処理手順を説明する。そして、それぞれの頂点画素の一例として、図６に示した頂点画素ｔ３を１つ目の頂点画素とし、頂点画素ｔ４を２つ目の頂点画素とし、頂点画素ｔ５を３つ目の頂点画素とした場合における一例を説明する。
【００６１】
領域面積推定部１４１は、領域面積の推定処理を開始すると、まず、それぞれの頂点画素に対応した頂点密度の値を「０」に初期化（クリア）する（ステップＳ２１）。続いて、領域面積推定部１４１は、ステップＳ２２の１回目のループにおいて、基準の頂点画素のループカウンタｉを「０」に初期化（クリア）する。続いて、領域面積推定部１４１は、ステップＳ２３の１回目のループにおいて、基準の頂点画素との距離を算出する他の頂点画素のループカウンタｊを「ループカウンタｉ＋１」＝「１」に初期化する。
【００６２】
続いて、領域面積推定部１４１は、ループカウンタｉに対応する、最初に閾値領域の中心となる基準の頂点画素の位置を表す頂点座標「０」（以下、「基準頂点座標［０］」という）と、ループカウンタｊに対応する、基準の頂点画素との距離を算出する他の頂点画素の位置を表す頂点座標「１」（以下、「距離算出頂点座標［１］」という）とのそれぞれを、頂点座標記憶部１３から取得する。そして、領域面積推定部１４１は、頂点座標記憶部１３から取得した基準頂点座標［０］と距離算出頂点座標［１］とから２つの頂点画素間の距離を算出する（ステップＳ２４）。なお、ステップＳ２４における２つの頂点画素間の距離の算出は、例えば、ユークリッド距離や市街地距離など、既知の距離計算方法で行う。
【００６３】
例えば、領域面積推定部１４１は、１つ目の頂点画素ｔ３の位置を表す頂点座標を基準頂点座標［０］とし、２つ目の頂点画素ｔ４の位置を表す頂点座標を距離算出頂点座標［１］として、頂点座標記憶部１３から取得し、１つ目の頂点画素ｔ３と２つ目の頂点画素ｔ４との間の距離を算出する。
【００６４】
続いて、領域面積推定部１４１は、算出した頂点画素間の距離が、予め定めた距離の閾値以下であるか否か、すなわち、基準頂点座標［０］を中心とした閾値領域内に距離算出頂点座標［１］が存在するか否かを判定する（ステップＳ２５）。
【００６５】
例えば、ステップＳ２５の処理では、領域面積推定部１４１は、１つ目の頂点画素ｔ３に対応する基準頂点座標［０］を中心とした閾値領域ａ１内に、２つ目の頂点画素ｔ４に対応する距離算出頂点座標［１］が存在するか否かを判定する。
【００６６】
ステップＳ２５において、頂点画素間の距離が閾値以下である、つまり、基準頂点座標［０］を中心とした閾値領域内に距離算出頂点座標［１］が存在すると判定した場合（ステップＳ２５の“ＹＥＳ”）、領域面積推定部１４１は、基準の頂点画素に対応した頂点密度［０］に「１」を加算する。さらに、領域面積推定部１４１は、基準の頂点画素との距離を算出した他の頂点画素に対応した頂点密度［１］に「１」を加算する（ステップＳ２６）。これにより、基準頂点座標［０］を中心とした基準の頂点画素の閾値領域内に、距離算出頂点座標［１］に位置する他の頂点画素が存在することを示すとともに、距離算出頂点座標［１］を基準の頂点画素とした場合においても、距離算出頂点座標［１］を中心とした閾値領域内に、基準頂点座標［０］が他の頂点画素として存在することを同時に表す。
【００６７】
例えば、ステップＳ２６の処理では、領域面積推定部１４１は、１つ目の頂点画素ｔ３に対応する頂点密度［０］の値に「１」を加算し、２つ目の頂点画素ｔ４に対応する頂点密度［１］の値に「１」を加算することにより、頂点画素ｔ３と頂点画素ｔ４とが、互いの閾値領域内に存在することを表す。
【００６８】
このように、距離が閾値以下である２つの頂点画素に対応するそれぞれの頂点密度を同時に更新することによって、互いの頂点画素がそれぞれの閾値領域内に存在することを表す。
【００６９】
そして、領域面積推定部１４１は、ステップＳ２３の１回目のループを終了する。そして、領域面積推定部１４１は、ループカウンタｊに「１」を加算してループカウンタｊを「１＋１」＝「２」とし、ステップＳ２３の２回目のループの処理を行う。ステップＳ２３の２回目のループの処理では、領域面積推定部１４１は、ステップＳ２４において、ループカウンタｊに対応する距離算出頂点座標［２］を頂点座標記憶部１３から取得し、基準頂点座標［０］と距離算出頂点座標［２］とから２つの頂点画素間の距離を算出する。
【００７０】
例えば、ステップＳ２３の２回目のループにおけるステップＳ２４の処理では、領域面積推定部１４１は、３つ目の頂点画素ｔ５の位置を表す頂点座標を距離算出頂点座標［２］として頂点座標記憶部１３から取得し、１つ目の頂点画素ｔ３と３つ目の頂点画素ｔ５との間の距離を算出する。
【００７１】
続いて、領域面積推定部１４１は、ステップＳ２５において、算出した頂点画素間の距離が、予め定めた距離の閾値以下であるか否か、すなわち、基準頂点座標［０］を中心とした閾値領域内に距離算出頂点座標［２］が存在するか否かを判定する。
【００７２】
例えば、ステップＳ２３の２回目のループにおけるステップＳ２５の処理では、領域面積推定部１４１は、１つ目の頂点画素ｔ３に対応する基準頂点座標［０］を中心とした閾値領域ａ１内に、３つ目の頂点画素ｔ５に対応する距離算出頂点座標［２］が存在するか否かを判定する。
【００７３】
ステップＳ２５において、頂点座標間の距離が閾値以下でない、つまり、基準頂点座標［０］を中心とした閾値領域内に距離算出頂点座標［２］が存在しないと判定した場合（ステップＳ２５の“ＮＯ”）、領域面積推定部１４１は、ステップＳ２３の２回目のループを終了する。そして、領域面積推定部１４１は、ループカウンタｊに「１」を加算してループカウンタｊを「２＋１」＝「３」とし、ステップＳ２３の３回目のループの処理を行う。ただし、ここでは、頂点座標数が「３」であるため、領域面積推定部１４１は、ステップＳ２３のループの処理を終了する条件（ｊ＜頂点座標数）から、ステップＳ２３のループを終了する。
【００７４】
続いて、領域面積推定部１４１は、ループカウンタｉに「１」を加算してループカウンタｉを「０＋１」＝「１」とし、ステップＳ２２の２回目のループの処理を行う。そして、領域面積推定部１４１は、ステップＳ２２の２回目のループの処理におけるステップＳ２３の１回目のループにおいて、基準の頂点画素との距離を算出する他の頂点画素のループカウンタｊを「ループカウンタｉ＋１」＝「２」に初期化する。
【００７５】
続いて、領域面積推定部１４１は、ステップＳ２４において、ループカウンタｉに対応する、２番目に閾値領域の中心となる基準の頂点画素の位置を表す基準頂点座標［１］と、ループカウンタｊ＝「２」に対応する距離算出頂点座標［２］とのそれぞれを、頂点座標記憶部１３から取得する。そして、領域面積推定部１４１は、頂点座標記憶部１３から取得した基準頂点座標［１］と距離算出頂点座標［２］とから２つの頂点画素間の距離を算出する。
【００７６】
例えば、ステップＳ２２の２回目のループ内のステップＳ２３の１回目のループにおけるステップＳ２４の処理では、領域面積推定部１４１は、２つ目の頂点画素ｔ４の位置を表す頂点座標を基準頂点座標［１］とし、３つ目の頂点画素ｔ５の位置を表す頂点座標を距離算出頂点座標［２］として、頂点座標記憶部１３から取得し、２つ目の頂点画素ｔ４と３つ目の頂点画素ｔ５との間の距離を算出する。
【００７７】
なお、ステップＳ２２の２回目のループの処理では、ステップＳ２３の１回目のループにおいて、２つ目の頂点画素ｔ４と１つ目の頂点画素ｔ３との間の距離を算出しない。これは、ステップＳ２２の１回目のループの処理において、すでに１つ目の頂点画素ｔ３と２つ目の頂点画素ｔ４との間の距離の算出を終了しているため、同じ２つの頂点画素間の距離の算出を重複して行わないようにするためである。
【００７８】
続いて、領域面積推定部１４１は、ステップＳ２５において、算出した頂点画素間の距離が、予め定めた距離の閾値以下であるか否か、すなわち、基準頂点座標［１］を中心とした閾値領域内に距離算出頂点座標［２］が存在するか否かを判定する。
【００７９】
例えば、ステップＳ２２の２回目のループ内のステップＳ２３の１回目のループにおけるステップＳ２５の処理では、領域面積推定部１４１は、２つ目の頂点画素ｔ４に対応する基準頂点座標［１］を中心とした不図示の閾値領域内に、３つ目の頂点画素ｔ５に対応する距離算出頂点座標［２］が存在するか否かを判定する。
【００８０】
そして、領域面積推定部１４１は、ステップＳ２２の１回目のループと同様に、ステップＳ２５の判定の結果に応じて、対応した頂点密度［１］および頂点密度［２］の値を更新する。
【００８１】
そして、領域面積推定部１４１は、ステップＳ２３の１回目のループを終了し、ループカウンタｊに「１」を加算してループカウンタｊを「２＋１」＝「３」として、ステップＳ２３の２回目のループの処理を行う。ただし、ここでも、領域面積推定部１４１は、ステップＳ２３のループの処理を終了する条件（ｊ＜頂点座標数）から、ステップＳ２３のループを終了する。
【００８２】
続いて、領域面積推定部１４１は、ループカウンタｉに「１」を加算してループカウンタｉを「１＋１」＝「２」とし、ステップＳ２２の３回目のループの処理を行う。ただし、ここでは、頂点座標数が「３」であるため、領域面積推定部１４１は、ステップＳ２２のループの処理を終了する条件（ｉ＜頂点座標数）から、ステップＳ２２のループを終了する。
【００８３】
このように、領域面積推定部１４１は、ステップＳ２２のループで閾値領域の中心に位置する基準の頂点画素を順次変更し、ステップＳ２３のループで基準の頂点画素と他の頂点画素との２つの頂点画素間の距離を算出することによって、基準の頂点画素の閾値領域内に他の頂点画素が存在するか否かを判定する。そして、基準の頂点画素の閾値領域内に他の頂点画素が存在すると判定した場合に、基準の頂点画素と他の頂点画素との頂点密度を更新する。これにより、領域面積推定部１４１は、更新した頂点密度の逆数を、頂点座標記憶部１３に記憶されたそれぞれの頂点座標に対応する頂点画素に属する領域面積として簡易的に推定することができる。そして、領域面積推定部１４１は、推定した領域面積の情報（頂点密度の逆数）を、それぞれの頂点座標に紐付けて、領域面積記憶部１４２に記憶させる。
【００８４】
頂点座標分配スケジューリング部１４３は、領域面積記憶部１４２に記憶された領域面積の情報（頂点密度の逆数）が紐付けられた頂点座標を読み出し、それぞれの領域ラベル生成部１６が演算を行う領域面積の総和の差が最小になるように、つまり、領域ラベル生成部１６のそれぞれが行う演算負荷の総和が概ね均等になるように、読み出した頂点座標に分配信号を付与して頂点座標分配部１５に出力する。
【００８５】
次に、頂点座標分配スケジューリング部１４３について説明する。図８は、本発明の第１の実施形態の画像処理装置１に備えた頂点座標分配スケジューリング部１４３の構成を示したブロック図である。図８に示した頂点座標分配スケジューリング部１４３は、ソート部１４３１と、ソート済み頂点座標記憶部１４３２と、分配信号付与部１４３３と、を備えている。
【００８６】
ソート部１４３１は、領域面積記憶部１４２から読み出した頂点座標に紐付けられた領域面積の情報に基づいて、それぞれの頂点座標を、予め定めた順番に並べ替える（ソートする）。例えば、ソート部１４３１は、それぞれの頂点座標を、対応する頂点画素に属する領域面積が大きい順番にソートする。より具体的には、ソート部１４３１は、頂点座標に紐付けられた領域面積の情報である頂点密度の逆数を昇順にソートする。そして、ソート部１４３１は、それぞれの頂点座標を、ソートした順番に、ソート済み頂点座標記憶部１４３２に出力する。
【００８７】
なお、ソート部１４３１がそれぞれの頂点座標をソートする順番は、頂点画素に属する領域面積が小さい順番、すなわち、頂点密度の逆数を降順であってもよい。
【００８８】
ソート済み頂点座標記憶部１４３２は、ソート部１４３１から順次出力されたそれぞれの頂点座標を記憶する。
【００８９】
分配信号付与部１４３３は、ソート済み頂点座標記憶部１４３２に記憶されたそれぞれの頂点座標を、ソート済み頂点座標記憶部１４３２に記憶された順番に順次読み出し、読み出した頂点座標に、演算を割り当てた領域ラベル生成部１６を表す分配信号を付与して頂点座標分配部１５に出力する。
【００９０】
ここで、頂点座標分配スケジューリング部１４３の動作について説明する。図９Ａ〜図９Ｄは、本発明の第１の実施形態の画像処理装置１に備えた頂点座標分配スケジューリング部１４３による分配信号の付与処理の概念を説明する図である。なお、図９Ａ〜図９Ｃにおいて、横軸は、それぞれの頂点座標の並びを表し、縦軸は、それぞれの頂点座標において推定された領域面積の大きさを表している。また、図９Ｄにおいて、横軸は、それぞれの領域ラベル生成部１６を表し、縦軸は、それぞれの領域ラベル生成部１６に割り当てられた演算負荷を領域面積の大きさで表している。
【００９１】
頂点座標分配スケジューリング部１４３内のソート部１４３１は、領域面積記憶部１４２から頂点座標を読み出す。このときソート部１４３１が読み出したそれぞれの頂点座標を読み出した順番に並べて、それぞれの頂点座標に紐付けられた領域面積の情報に基づいた領域面積の大きさを表すと、図９Ａに示したように、領域面積は一定の順番に従っていない。そこで、ソート部１４３１は、それぞれの頂点座標を、領域面積が大きい順番にソートする。これにより、図９Ｂに示したように、領域面積が大きい順に並べ替えられたそれぞれの頂点座標が、頂点座標分配スケジューリング部１４３内のソート済み頂点座標記憶部１４３２に記憶される。
【００９２】
そして、頂点座標分配スケジューリング部１４３内の分配信号付与部１４３３は、ソート済み頂点座標記憶部１４３２に記憶されたそれぞれの頂点座標に分配信号を付与する。図９Ｃに示した一例では、画像処理装置１に３つの領域ラベル生成部１６（領域ラベル生成部１６−０〜領域ラベル生成部１６−２）を備えている場合において、それぞれの頂点座標に割り当てる分配信号を、領域ラベル生成部１６の付与した符号において、「−」に続く数字の部分を、それぞれの領域ラベル生成部１６を識別する情報で示している。そして、図９Ｃに示した一例では、領域ラベル生成部１６の順番が昇順と降順とを交互に繰り返すように、ソート部１４３１によって並び替えられたそれぞれの頂点座標を順番に割り当てている場合を示している。
【００９３】
より具体的には、図９Ｃに示した一例では、１つ目〜３つ目まで、領域ラベル生成部１６−０〜領域ラベル生成部１６−２に、頂点座標を昇順に割り当て、４つ目〜６つ目まで、領域ラベル生成部１６−２〜領域ラベル生成部１６−０に、頂点座標を降順に割り当てている。これにより、図９Ｃに示した一例では、１つ目の頂点座標と６つ目の頂点座標とが領域ラベル生成部１６−０に割り当てられ、２つ目の頂点座標と５つ目の頂点座標とが領域ラベル生成部１６−１に割り当てられ、３つ目の頂点座標と４つ目の頂点座標とが領域ラベル生成部１６−２に割り当てられる。
【００９４】
図９Ｃに示したようにそれぞれの頂点座標を割り当てることにより、それぞれの領域ラベル生成部１６の演算負荷（領域面積）の総和が概ね均等になる。図９Ｄには、図９Ｃに示した一例のようにそれぞれの頂点座標が割り当てられた場合における領域ラベル生成部１６−０〜領域ラベル生成部１６−２の演算負荷を、領域面積の大きさで表している。図９Ｃに示した一例のように、最も領域面積が大きい頂点座標と最も領域面積が小さい頂点座標というように組み合わせてそれぞれの領域ラベル生成部１６に演算負荷を割り当てることによって、図９Ｄに示したように、それぞれの領域ラベル生成部１６の演算負荷の総和が概ね均等になる。
【００９５】
次に、画像処理装置１に備えた分配信号付与部１４３３における分配信号の付与処理について説明する。図１０は、本発明の第１の実施形態の画像処理装置１に備えた分配信号付与部１４３３における処理手順を示したフローチャートである。なお、以下の説明においては、画像処理装置１に、領域ラベル生成部１６−０〜領域ラベル生成部１６−（ｎ−１）のｎ個の領域ラベル生成部１６を備えているものとして説明する。
【００９６】
分配信号付与部１４３３は、分配信号の付与処理を開始すると、まず、分配信号の値の初期化を行う（ステップＳ３１）。ここでは、分配信号付与部１４３３は、分配信号の初期値を「０」とする。
【００９７】
続いて、分配信号付与部１４３３は、ステップＳ３２のループにおいて、頂点座標を読み込む頂点画素のループカウンタｉを「０」にクリアする。
【００９８】
続いて、分配信号付与部１４３３は、ループカウンタｉに対応する頂点座標「ｉ」（以下、「分配頂点座標［ｉ］」という）を、ソート済み頂点座標記憶部１４３２から取得する。そして、分配信号付与部１４３３は、ソート済み頂点座標記憶部１４３２から取得した分配頂点座標［ｉ］に分配信号（ここでは、初期値＝「０」の分配信号）を付与し、分配信号を付与した頂点座標を頂点座標分配部１５に出力する（ステップＳ３３）。
【００９９】
続いて、分配信号付与部１４３３は、ループカウンタｉの値を、領域ラベル生成部１６の個数ｎで除算（ｉ÷ｎ）した整数部が、偶数であるか否かを判定する（ステップＳ３４）。
【０１００】
ステップＳ３４において、（ｉ÷ｎ）の整数部が偶数である場合（ステップＳ３４の“ＹＥＳ”）、分配信号付与部１４３３は、現在の分配信号の値に「１」を加算して、分配信号の値をインクリメントする（ステップＳ３５）。
【０１０１】
続いて、分配信号付与部１４３３は、インクリメントした分配信号の値が領域ラベル生成部１６の個数ｎ以上である場合、インクリメントした分配信号の値から「１」を減算し、分配信号の値を、個数ｎ−１に固定（クリップ）する（ステップＳ３６）。なお、インクリメントした分配信号の値が領域ラベル生成部１６の個数ｎ以上でない場合には、このステップＳ３６の処理は行わない。そして、分配信号付与部１４３３は、ステップＳ３２に戻って、次の頂点座標に対する分配信号の付与処理を行う。
【０１０２】
一方、ステップＳ３４において、（ｉ÷ｎ）の整数部が偶数でない、つまり、奇数である場合（ステップＳ３４の“ＮＯ”）、分配信号付与部１４３３は、現在の分配信号の値から「１」を減算して、分配信号の値をデクリメントする（ステップＳ３７）。
【０１０３】
続いて、分配信号付与部１４３３は、デクリメントした分配信号の値が「０」以下である場合、デクリメントした分配信号の値に「１」を加算して、分配信号の値を、「０」に固定（クリップ）する（ステップＳ３８）。なお、デクリメントした分配信号の値が「０」以下でない場合には、このステップＳ３８の処理は行わない。そして、分配信号付与部１４３３は、ステップＳ３２に戻って、次の頂点座標に対する分配信号の付与処理を行う。
【０１０４】
分配信号付与部１４３３は、ステップＳ３２のループで表された分配信号の付与処理を、ソート済み頂点座標記憶部１４３２に記憶された全ての頂点座標に対して行って、それぞれの頂点座標に分配信号を付与する。
【０１０５】
このような構成および動作によって、頂点座標分配信号生成部１４は、輝度画像において同じ頂点画素に属する周辺画素に領域ラベルを付与する演算が、画像処理装置１に備えたそれぞれの演算リソースである領域ラベル生成部１６で概ね均等になるように分配するための分配信号を付与した頂点座標を、頂点座標分配部１５に出力する。
【０１０６】
そして、頂点座標分配部１５は、頂点座標分配信号生成部１４から入力された頂点座標に付与されている分配信号に基づいて、それぞれの頂点座標を、対応する領域ラベル生成部１６に分配する（振り分ける）。これにより、図９Ｄに示したように、それぞれの領域ラベル生成部１６の演算負荷の総和が概ね均等になり、それぞれの領域ラベル生成部１６を遊休させることなく稼働させることができる。このことにより、画像処理装置１における全体の処理時間の短縮を図ることができる。
【０１０７】
ここで、画像処理装置１に備えた領域ラベル生成部１６について説明する。図１１Ａ〜図１１Ｇは、本発明の第１の実施形態の画像処理装置１に備えた領域ラベル生成部１６による領域ラベルの生成処理の一例を模式的に示した図である。図１１Ａ〜図１１Ｇには、領域ラベル生成部１６が、同じ頂点画素に属する周辺画素に領域ラベルを付与する処理を、段階的に示している。
【０１０８】
図１１Ａには、勾配データ記憶部１２に記憶されている勾配データの一例を示している。図１１Ａに示した勾配データでは、頂点画素が中心に位置し、その周囲に位置する周辺画素のそれぞれに勾配ラベルが付与されている。なお、図１１Ａに示した勾配データでは、頂点画素を「×」印で示し、勾配ラベルを、図１Ｂに示した勾配データと同様に、矢印で模式的に示している。
【０１０９】
演算を行う対象の頂点画素（「×」印）の位置を表す頂点座標が入力されると、領域ラベル生成部１６は、入力された頂点座標に位置する頂点画素の頂点ラベルと、その周囲の８画素分の周辺画素の勾配データとを、勾配データ記憶部１２から読み出す。そして、領域ラベル生成部１６は、読み出した８つの周辺画素の勾配データにそれぞれ付与されている勾配ラベルが、読み出した頂点画素に向かう勾配方向を表しているか否かを判定する。図１１Ｂに示した一例では、８つの周辺画素の勾配データの内、頂点画素の右下の周辺画素の勾配データ以外が、頂点画素に向かう勾配方向を表している状態を示している。
【０１１０】
領域ラベル生成部１６は、頂点画素に向かう勾配方向を表している勾配データに対応する周辺画素のそれぞれに、頂点画素の頂点ラベルと同じ値の領域ラベルを付与する。図１１Ｃに示した一例では、頂点画素に向かう勾配方向を表している周辺画素、つまり、頂点画素の右下の周辺画素以外に、頂点画素の頂点ラベルと同じ値（ここでは、丸で囲んだ「８」）の領域ラベルを付与した状態を示している。
【０１１１】
その後、領域ラベル生成部１６は、同じ領域ラベルを付与したそれぞれの周辺画素を順次中心として、その周囲の８画素分の周辺画素の勾配データを勾配データ記憶部１２から読み出し、読み出した８つの周辺画素の勾配データにそれぞれ付与されている勾配ラベルが、中心とした周辺画素に向かう勾配方向を表しているか否かを判定する。図１１Ｄに示した一例では、頂点画素の右上に位置する丸で囲んだ周辺画素を中心として、その周囲の８画素分の周辺画素の勾配データを勾配データ記憶部１２から読み出した場合を示している。また、図１１Ｄに示した一例では、読み出した８つの周辺画素の勾配データの内、左側中央の周辺画素の勾配データのみが、中心とした周辺画素に向かう勾配方向を表している状態を示している。
【０１１２】
領域ラベル生成部１６は、中心とした周辺画素に向かう勾配方向を表している勾配データに対応する周辺画素のそれぞれに、中心とした周辺画素に付与した領域ラベルと同じ値の領域ラベルを付与する。図１１Ｅに示した一例では、中心とした周辺画素に向かう勾配方向を表している左側中央の周辺画素のみに、同じ値（ここでは、丸で囲んだ「８」）の領域ラベルを付与した状態を示している。
【０１１３】
同様に、領域ラベル生成部１６が、同じ領域ラベル（図１１Ｃにおいて、丸で囲んだ「８」）を付与したそれぞれの周辺画素を順次中心とし、その中心とした周辺画素に向かう勾配方向を表しているか否かを判定することによって、図１１Ｆに示したような領域の周辺画素に、頂点画素の頂点ラベルと同じ値（ここでは、丸で囲んだ「８」）の領域ラベルが付与される。
【０１１４】
なお、図１１Ｆでは、図１１Ｂにおいて頂点画素に向かう勾配方向を表している周辺画素ではないと判定された、頂点画素の右下の周辺画素（網掛けで表した周辺画素）にも、同じ値の領域ラベルが付与されている。これは、頂点画素の下側中央の周辺画素を中心として、その中心とした周辺画素に向かう勾配方向を表しているか否かを判定した結果、頂点画素の右下の周辺画素は、頂点画素の下側中央の周辺画素に向かう勾配方向を表していると判定されたことによるものである。
【０１１５】
その後、同様に、領域ラベル生成部１６は、新たに同じ領域ラベルを付与したそれぞれの周辺画素を順次中心として、その中心とした周辺画素に向かう勾配方向を表しているか否かの判定を行い、中心とした周辺画素に向かう勾配方向を表していると判定された周辺画素に、同じ値の領域ラベルを付与する。
【０１１６】
このように、領域ラベル生成部１６は、中心に位置する頂点画素から順次、勾配方向を判定する領域を広げていき、最終的に全ての周辺画素が、中心とした周辺画素に向かう勾配方向を表していないと判定された場合に、同じ頂点画素に属する周辺画素に領域ラベルを付与する処理、つまり、領域ラベルの生成処理を終了する。図１１Ｇには、図１１Ｆにおいて丸で囲んだ周辺画素を順次中心として勾配方向を判定した結果に応じて領域ラベルを付与し、演算を行う対象の頂点画素（図１１Ａ、図１１Ｂ、および図１１Ｄにおいて「×」印で示した頂点画素）に対する領域ラベルの生成処理が終了した最終的な領域ラベルデータの一例を示している。
【０１１７】
次に、画像処理装置１に備えた領域ラベル生成部１６の構成および動作について説明する。図１２は、本発明の第１の実施形態の画像処理装置１に備えた領域ラベル生成部１６の構成を示したブロック図である。図１２に示した領域ラベル生成部１６は、勾配データ読み込み元アドレス生成部１６１と、最外周データ勾配判定部１６２と、を備えている。
【０１１８】
勾配データ読み込み元アドレス生成部１６１は、頂点座標分配部１５によって割り当てられた頂点座標に対応する頂点画素に属するそれぞれの周辺画素に領域ラベルを付与するため、勾配データ記憶部１２から勾配ラベルまたは頂点ラベルを読み出すための勾配データ読み込み元アドレスを生成する。そして、勾配データ読み込み元アドレス生成部１６１は、生成した勾配データ読み込み元アドレスを勾配データ記憶部１２に出力し、この勾配データ読み込み元アドレスに対応する記憶領域に記憶されている勾配ラベルまたは頂点ラベルを、最外周データ勾配判定部１６２に出力させる。さらに、勾配データ読み込み元アドレス生成部１６１は、生成した勾配データ読み込み元アドレスを、最外周データ勾配判定部１６２に出力する。また、勾配データ読み込み元アドレス生成部１６１は、最外周データ勾配判定部１６２から入力された勾配判定結果に基づいて、さらに別の勾配データ読み込み元アドレスを生成して、勾配データ記憶部１２および最外周データ勾配判定部１６２に出力する。
【０１１９】
最外周データ勾配判定部１６２は、勾配データ読み込み元アドレス生成部１６１から入力された勾配データ読み込み元アドレスと、勾配データ記憶部１２から入力された勾配ラベルおよび頂点ラベルに基づいて、同じ頂点画素に属するそれぞれの周辺画素を判定する。そして、最外周データ勾配判定部１６２は、同じ頂点画素に属すると判定した周辺画素の勾配データ読み込み元アドレスを、同じ頂点画素に属すると判定した周辺画素の位置を表す座標を表した勾配判定結果として勾配データ読み込み元アドレス生成部１６１に出力する。これにより、勾配データ読み込み元アドレス生成部１６１が、さらに別の勾配ラベルの読み出しを行う。また、最外周データ勾配判定部１６２は、同じ頂点画素に属するそれぞれの周辺画素の位置を表す領域ラベル書き込み先アドレスを生成し、生成した領域ラベル書き込み先アドレスと、この領域ラベル書き込み先アドレスに対応する記憶領域に記憶させる領域ラベルとを領域ラベル記憶部１７に出力する。これにより、領域ラベル記憶部１７の領域ラベル書き込み先アドレスに対応する記憶領域に、対応する領域ラベルが記憶される。
【０１２０】
ここで、領域ラベル生成部１６に備えたそれぞれの構成要素の動作について説明する。まず、勾配データ読み込み元アドレス生成部１６１について説明する。図１３は、本発明の第１の実施形態の画像処理装置１に備えた勾配データ読み込み元アドレス生成部１６１における処理手順を示したフローチャートである。
【０１２１】
領域ラベル生成部１６に、演算を行う対象の頂点画素の位置を表す頂点座標が入力されると、勾配データ読み込み元アドレス生成部１６１は、まず、入力された頂点座標に対応する頂点画素の勾配データを読み出すための勾配データ読み込み元アドレスと、頂点画素の周囲に位置する８画素分の周辺画素の勾配データを読み出すための勾配データ読み込み元アドレスとを生成する。そして、勾配データ読み込み元アドレス生成部１６１は、生成した勾配データ読み込み元アドレスを、勾配データ記憶部１２に出力する（ステップＳ４１）。
【０１２２】
これにより、勾配データ記憶部１２は、勾配データ読み込み元アドレスで指定された記憶領域に記憶している頂点画素の勾配データ（頂点ラベル）と、頂点画素の周囲に位置する８画素分の周囲画素の勾配データ（勾配ラベル）とを、最外周データ勾配判定部１６２に出力する。また、勾配データ読み込み元アドレス生成部１６１は、生成した勾配データ読み込み元アドレスを、最外周データ勾配判定部１６２に出力する。これにより、最外周データ勾配判定部１６２は、後述する処理手順によって、頂点画素に向かう勾配方向を表している周辺画素を判定し、勾配判定結果を勾配データ読み込み元アドレス生成部１６１に出力する。
【０１２３】
続いて、勾配データ読み込み元アドレス生成部１６１は、最外周データ勾配判定部１６２から出力された勾配判定結果、つまり、同じ頂点画素に属すると判定された周辺画素の位置を表す座標を取得する（ステップＳ４２）。
【０１２４】
続いて、勾配データ読み込み元アドレス生成部１６１は、勾配判定結果に含まれるそれぞれの周辺画素の座標を記憶する（ステップＳ４３）。また、勾配データ読み込み元アドレス生成部１６１は、勾配判定結果に含まれる周辺画素の座標数を記憶する（ステップＳ４４）。例えば、勾配判定結果が、図１１Ｂに示したように、８つの周辺画素の勾配データの内、頂点画素の右下の周辺画素の勾配データ以外が、頂点画素に向かう勾配方向を表している状態である場合、勾配データ読み込み元アドレス生成部１６１は、ステップＳ４４の処理において、「７」を、周辺画素の座標数として記憶する。
【０１２５】
続いて、勾配データ読み込み元アドレス生成部１６１は、ステップＳ４５のループにおいて、記憶した周辺画素の座標数分（図１１Ｂに示した一例においては７回）、それぞれの周辺画素を中心とした勾配データ読み込み元アドレスの生成処理を行う。ステップＳ４５のループでは、まず、記憶した周辺画素の座標の内、いずれか１つの周辺画素の座標を読み出す（ステップＳ４６）。
【０１２６】
続いて、勾配データ読み込み元アドレス生成部１６１は、読み出した座標の周辺画素を中心とした場合に、その周囲に位置する８画素分の周辺画素の勾配データを読み出すための勾配データ読み込み元アドレスを生成し、生成した勾配データ読み込み元アドレスを、勾配データ記憶部１２に出力する（ステップＳ４７）。例えば、勾配データ読み込み元アドレス生成部１６１は、図１１Ｄに示したように、いずれか１つの周辺画素を中心とした、周囲に位置する８画素分の周辺画素の勾配データを読み出すための勾配データ読み込み元アドレスを生成して、勾配データ記憶部１２に出力する。また、勾配データ読み込み元アドレス生成部１６１は、生成した勾配データ読み込み元アドレスを、最外周データ勾配判定部１６２に出力する。
【０１２７】
これにより、勾配データ記憶部１２は、ステップＳ４１の処理のときと同様に、勾配データ読み込み元アドレスで指定された記憶領域に記憶している周囲画素の勾配データ（勾配ラベル）を、最外周データ勾配判定部１６２に出力する。そして、最外周データ勾配判定部１６２は、後述する処理手順によって同様に、中心とした周辺画素に向かう勾配方向を表している周辺画素を判定し、新たな勾配判定結果を勾配データ読み込み元アドレス生成部１６１に出力する。
【０１２８】
続いて、勾配データ読み込み元アドレス生成部１６１は、最外周データ勾配判定部１６２から出力された新たな勾配判定結果、つまり、同じ頂点画素に属すると判定されたさらに外周の周辺画素の位置を表す座標を取得する（ステップＳ４８）。
【０１２９】
続いて、勾配データ読み込み元アドレス生成部１６１は、勾配判定結果に含まれるそれぞれの周辺画素の座標を記憶する（ステップＳ４９）。なお、このステップＳ４９の処理において記憶する周辺画素の座標は、ステップＳ４３の処理において記憶した周辺画素の座標に追加して記憶する。この場合、周辺画素の座標を記憶する記憶領域は、例えば、先入れ先出し（ＦＩＦＯ）形式の記憶領域が考えられる。なお、このステップＳ４９の処理において周辺画素の座標を記憶する記憶領域は、ステップＳ４３の処理において周辺画素の座標を記憶した記憶領域と異なる記憶領域であってもよい。
【０１３０】
また、勾配データ読み込み元アドレス生成部１６１は、勾配判定結果に含まれる周辺画素の座標数を記憶する（ステップＳ４１０）。例えば、勾配判定結果が、図１１Ｄに示したように、８つの周辺画素の勾配データの内、左側中央の周辺画素の勾配データのみが、中心とした周辺画素に向かう勾配方向を表している状態である場合、勾配データ読み込み元アドレス生成部１６１は、ステップＳ４１０の処理において、「１」を、周辺画素の座標数として記憶する。
【０１３１】
なお、このステップＳ４１０の処理において記憶する周辺画素の座標数は、ステップＳ４４の処理において記憶した周辺画素の座標数に累積加算して記憶する。従って、ステップＳ４５のループを、ステップＳ４４の処理において記憶した周辺画素の座標数＝「７」回繰り返し、図１１Ｃにおいて丸で囲んで示した、領域ラベルを付与した周辺画素の領域の勾配データの読み出しが終了すると、ステップＳ４１０の処理において記憶する周辺画素の座標数は、図１１Ｆにおいて丸で囲んで示した周辺画素の数＝「１１」となる。
【０１３２】
なお、周辺画素の座標数を記憶する記憶領域は、例えば、ステップＳ４４の処理において周辺画素の座標数を記憶した記憶領域と異なるカウンタ形式の記憶領域が考えられる。ただし、ステップＳ４４の処理において記憶した周辺画素の座標数が、今回のステップＳ４５のループの処理を開始する際に、ステップＳ４５のループカウンタに移行されて空き状態となる構成である場合には、ステップＳ４１０の処理において周辺画素の座標数を記憶する記憶領域と、ステップＳ４４の処理において周辺画素の座標数を記憶した記憶領域と共有してもよい。そして、ステップＳ４１０の処理において記憶した周辺画素の座標数は、今回のステップＳ４５のループの処理を終了した後に、ステップＳ４５のループの処理を再度繰り返すか否かの判定に用いられる。
【０１３３】
その後、勾配データ読み込み元アドレス生成部１６１は、ステップＳ４４の処理において記憶した周辺画素の座標数＝「７」回のステップＳ４５のループを終了すると、ステップＳ４１０の処理において記憶されている周辺画素の座標数が「０」であるか否かを判定する（ステップＳ４１１）。
【０１３４】
ステップＳ４１１において、記憶されている周辺画素の座標数が「０」でない、つまり、同じ頂点画素に属すると判定された周辺画素の勾配データの読み出しが終了していないと判定した場合（ステップＳ４１１の“ＮＯ”）、勾配データ読み込み元アドレス生成部１６１は、ステップＳ４５に戻って、周辺画素の勾配データを読み出すための勾配データ読み込み元アドレスの生成を継続する。このとき、ステップＳ４５のループを繰り返す回数は、ステップＳ４１０の処理において記憶された周辺画素の座標数分（図１１Ｆに示した一例においては１１回）である。これにより、例えば、図１１Ｆにおいて丸で囲んで示した、領域ラベルを付与した周辺画素の領域の勾配データの読み出しを行う。
【０１３５】
一方、ステップＳ４１１において、記憶されている周辺画素の座標数が「０」である、つまり、同じ頂点画素に属すると判定された周辺画素の勾配データの読み出しが終了したと判定した場合（ステップＳ４１１の“ＹＥＳ”）、勾配データ読み込み元アドレス生成部１６１は、勾配データ読み込み元アドレスを生成する処理を終了する。これにより、例えば、図１１Ｇに示したように領域ラベルを付与した最終的な領域ラベルデータが生成される。
【０１３６】
続いて、最外周データ勾配判定部１６２について説明する。図１４は、本発明の第１の実施形態の画像処理装置１に備えた最外周データ勾配判定部１６２における処理手順を示したフローチャートである。最外周データ勾配判定部１６２は、図１４に示した処理手順を、図１３に示した勾配データ読み込み元アドレス生成部１６１の処理手順におけるステップＳ４１とステップＳ４７とのそれぞれに対応して実行する。以下の説明においては、最外周データ勾配判定部１６２が、ステップＳ４１に対応して実行するものとして説明する。
【０１３７】
最外周データ勾配判定部１６２は、勾配データ記憶部１２から、勾配データ読み込み元アドレスに対応した頂点画素の勾配データ（頂点ラベル）と、頂点画素の周囲に位置する８画素分の周囲画素の勾配データ（勾配ラベル）とを受け取る。また、最外周データ勾配判定部１６２は、勾配データ読み込み元アドレス生成部１６１が生成した勾配データ読み込み元アドレスを、頂点画素および周囲画素の位置を表す座標として受け取る（ステップＳ５１）。
【０１３８】
続いて、最外周データ勾配判定部１６２は、ステップＳ５２のループにおいて、受け取った８画素分の周囲画素の勾配データのそれぞれに対する勾配方向の判定処理を行う。ステップＳ５２のループでは、まず、受け取った８画素分の周囲画素の勾配データの内、いずれか１つの周囲画素の勾配データに付与されている勾配ラベルが、中心の画素に向かう勾配方向を表しているか否か、つまり、同じ頂点画素に属しているか否かを判定する（ステップＳ５３）。
【０１３９】
ステップＳ５３において、現在の周囲画素の勾配データに付与されている勾配ラベルが、中心の画素に向かう勾配方向を表していない、つまり、同じ頂点画素に属していないと判定した場合（ステップＳ５３の“ＮＯ”）、最外周データ勾配判定部１６２は、次のいずれか１つの周囲画素に対するステップＳ５２のループの処理を行う。
【０１４０】
一方、ステップＳ５３において、現在の周囲画素の勾配データに付与されている勾配ラベルが、中心の画素に向かう勾配方向を表している、つまり、同じ頂点画素に属していると判定した場合（ステップＳ５３の“ＹＥＳ”）、最外周データ勾配判定部１６２は、ステップＳ５４において、受け取った頂点画素の勾配データに付与されている頂点ラベルと同じ値の領域ラベルを、現在の周囲画素の領域ラベルとして領域ラベル記憶部１７に出力する。また、最外周データ勾配判定部１６２は、領域ラベルを出力する周囲画素の位置を表す座標を、領域ラベル書き込み先アドレスとして領域ラベル記憶部１７に出力する。
【０１４１】
続いて、最外周データ勾配判定部１６２は、領域ラベルを出力する周囲画素の位置を表す座標を、勾配判定結果として勾配データ読み込み元アドレス生成部１６１に出力する（ステップＳ５５）。そして、最外周データ勾配判定部１６２は、次のいずれか１つの周囲画素に対するステップＳ５２のループの処理を行う。
【０１４２】
このようにして、最外周データ勾配判定部１６２は、受け取った８画素分の周囲画素の勾配データのそれぞれに対して、勾配方向の判定処理を行う。これにより、例えば、図１１Ｃ、図１１Ｅ、図１１Ｆというように、同じ頂点画素に属する周辺画素に領域ラベルを付与した領域が順次広がっていき、最終的に、図１１Ｇに示したような、領域ラベルデータが領域ラベル記憶部１７に記憶される。
【０１４３】
このような構成および動作によって、領域ラベル生成部１６は、同じ頂点画素に属する周辺画素に同じ領域ラベルを付与する領域分割処理を行う。この領域分割処理では、領域ラベル生成部１６は、頂点画素から周囲画素へと広がるように領域ラベルを付与する。このため、画像処理装置１に備えた複数の領域ラベル生成部１６のそれぞれは、異なる頂点画素に対する領域分割処理を並列に行うことができる。そして、画像処理装置１では、画像処理装置１に備えた領域ラベル生成部１６の数に応じて期待される全体の処理時間の短縮を図ることができる。
【０１４４】
なお、上述した説明では、図１４に示した最外周データ勾配判定部１６２の処理手順を、図１３に示した勾配データ読み込み元アドレス生成部１６１の処理手順のステップＳ４１に対応して実行する場合について説明した。しかし、上述したように、図１４に示した処理手順は、図１３に示した勾配データ読み込み元アドレス生成部１６１の処理手順のステップＳ４１とステップＳ４７とのそれぞれに対応して実行される。図１４に示した処理手順が、図１３に示した勾配データ読み込み元アドレス生成部１６１の処理手順のステップＳ４７に対応して実行される場合、最外周データ勾配判定部１６２は、前回の図１４に示した処理手順によって同じ頂点画素に属すると判定した周辺画素を中心としたときの勾配データおよび座標を、頂点画素の勾配データおよび座標として受け取る。このため、受け取った頂点画素の勾配データには、頂点ラベルは付与されていない。従って、最外周データ勾配判定部１６２は、今回のステップＳ５４の処理において、前回の図１４に示した処理手順のステップＳ５４の処理において出力した領域ラベルと同じ値の領域ラベルを、領域ラベル記憶部１７に出力する。
【０１４５】
第１の実施形態によれば、入力された画像（輝度画像）に含まれるそれぞれの画素に順次注目し、注目した画素（注目画素）の輝度値と、注目画素の周囲に位置する他の画素（周囲画素）の輝度値とに基づいて、輝度値が高い画素に向かう方向を示す値の第１のラベル（勾配ラベル）、または周囲に位置する全ての画素（周囲画素）よりも輝度値が高いことを示す値の第２のラベル（頂点ラベル）で、輝度画像に含まれるそれぞれの画素を表した勾配データを生成する勾配データ生成部（勾配データ生成部１１）と、頂点ラベルで表された注目画素のそれぞれを頂点画素とし、頂点画素の位置を表す頂点座標に基づいて、輝度画像内の領域を、同じ頂点画素に属する画素（周辺画素）が含まれる領域に分割し、分割した領域に含まれるそれぞれの周辺画素を、同じ頂点画素に属する画素であることを示す値の第３のラベル（領域ラベル）で表した領域ラベルデータを生成する複数の領域ラベル生成部（領域ラベル生成部１６）と、それぞれの領域ラベル生成部１６が、輝度画像内の領域を同じ頂点画素に属する周辺画素が含まれる領域に分割する演算の負荷が均等になるように、演算を行う対象の頂点画素のそれぞれを、領域ラベル生成部１６のそれぞれに分配する頂点画素分配部（頂点座標分配信号生成部１４および頂点座標分配部１５）と、を備える画像処理装置（画像処理装置１）が構成される。
【０１４６】
また、第１の実施形態によれば、頂点画素分配部（頂点座標分配信号生成部１４）は、頂点画素を中心としたときに、中心とした頂点画素から予め定めた範囲内の領域に位置する他の頂点画素の数に基づいて、中心とした頂点画素に属する周辺画素の領域の大きさを表す領域面積を、それぞれの頂点画素ごとに推定する領域面積推定部（領域面積推定部１４１）と、それぞれの領域面積に基づいて、演算を行う対象の頂点画素に対応する領域面積の差が最小になるように、それぞれの頂点画素を領域ラベル生成部１６のそれぞれに割り当て、割り当てた領域ラベル生成部１６を表す分配信号を、それぞれの頂点画素に対応する頂点座標に付与する頂点座標分配スケジューリング部（頂点座標分配スケジューリング部１４３）と、それぞれの頂点座標に付与された分配信号に基づいて、分配信号が表す領域ラベル生成部１６に頂点座標を出力する頂点座標分配部（頂点座標分配部１５）と、を備える画像処理装置１が構成される。
【０１４７】
また、第１の実施形態によれば、領域面積推定部１４１は、中心とした頂点画素の頂点座標と、他の頂点画素の頂点座標とに基づいて、２つの頂点画素の間の距離をそれぞれ算出し、算出した２つの頂点画素の間の距離に基づいて、中心とした頂点画素の位置から予め定めた距離の範囲内の領域（閾値領域）に存在する他の頂点画素の数を計数し、計数した他の頂点画素の数の逆数を用いて、それぞれの頂点画素に対応する領域面積を推定する画像処理装置１が構成される。
【０１４８】
また、第１の実施形態によれば、頂点座標分配スケジューリング部１４３は、頂点画素を、予め定めた順番で領域ラベル生成部１６のそれぞれに割り当てる画像処理装置１が構成される。
【０１４９】
また、第１の実施形態によれば、頂点座標分配スケジューリング部１４３は、対応する領域面積に基づいて、それぞれの頂点画素を予め定めた順番に並び替えるソート部（ソート部１４３１）、を備え、ソート部１４３１が並び替えた後の頂点画素を、領域ラベル生成部１６のそれぞれに割り当てる画像処理装置１が構成される。
【０１５０】
また、第１の実施形態によれば、頂点座標分配スケジューリング部１４３は、複数の領域ラベル生成部１６の順番が昇順と降順とを交互に繰り返すように、頂点画素を、領域ラベル生成部１６のそれぞれに割り当てる画像処理装置１が構成される。
【０１５１】
また、第１の実施形態によれば、領域ラベル生成部１６のそれぞれは、頂点座標に対応する頂点画素を中心とし、頂点画素の周囲に位置するそれぞれの画素（周辺画素）を表すそれぞれの勾配データを取得する勾配データ取得部（勾配データ読み込み元アドレス生成部１６１）と、取得した勾配データに含まれるそれぞれの周辺画素を表す勾配ラベルの値が、頂点画素に向かう方向を示す値であるか否かを判定し、頂点画素に向かう方向を示す値の勾配ラベルで表された周辺画素を、頂点画素を表す頂点ラベルの値と同じ値の領域ラベルで表した領域ラベルデータを生成する勾配判定部（最外周データ勾配判定部１６２）と、を備える画像処理装置１が構成される。
【０１５２】
また、第１の実施形態によれば、勾配データ読み込み元アドレス生成部１６１は、最外周データ勾配判定部１６２によって頂点画素に向かう方向を示す値の勾配ラベルであると判定されたそれぞれの周辺画素を順次中心とし、中心とした周辺画素の周囲に位置するそれぞれの画素（周辺画素）を表すそれぞれの勾配データをさらに取得し、最外周データ勾配判定部１６２は、さらに取得した勾配データに含まれるそれぞれの画素を表す勾配ラベルの値が、中心とした周辺画素に向かう方向を示す値であるか否かを順次判定し、中心とした周辺画素に向かう方向を示す値の勾配ラベルで表された周辺画素を、中心とした周辺画素を表す領域ラベルの値と同じ値の領域ラベルで表した領域ラベルデータを順次生成する画像処理装置１が構成される。
【０１５３】
また、第１の実施形態によれば、勾配データ読み込み元アドレス生成部１６１は、順次中心とするそれぞれの周辺画素の領域が、頂点画素に対応する頂点座標の位置から順次外周の周辺画素に広がるように、それぞれの周辺画素を表すそれぞれの勾配データを取得し、最外周データ勾配判定部１６２は、頂点画素を表す頂点ラベルの値と同じ値の領域ラベルで表した領域が、頂点画素に対応する頂点座標の位置から順次外周の周辺画素に広がる領域ラベルデータを生成する画像処理装置１が構成される。
【０１５４】
このように、第１の実施形態の画像処理装置１では、頂点座標分配信号生成部１４が、それぞれの領域ラベル生成部１６の演算負荷の総和、つまり、それぞれの領域ラベル生成部１６が領域ラベルを付与する周辺画素の領域の面積の総和が概ね均等になるように、演算を行う対象の頂点画素の頂点座標に、領域ラベル生成部１６の割り当てを表す分配信号を予め付与する。そして、第１の実施形態の画像処理装置１では、頂点座標分配部１５が、頂点座標に付与された分配信号に基づいて、それぞれの頂点座標を、対応する領域ラベル生成部１６に分配する（振り分ける）。これにより、それぞれの領域ラベル生成部１６を遊休させることなく稼働させ、画像処理装置１における全体の処理時間の短縮を図ることができる。
【０１５５】
（第１の実施形態の第１の変形例）
なお、第１の実施形態の画像処理装置１では、頂点座標分配信号生成部１４が、図９Ｃに示したように、領域ラベル生成部１６の順番が昇順と降順とを交互に繰り返すように、それぞれの頂点座標を割り当てる分配信号を付与する場合について説明した。しかし、頂点座標分配信号生成部１４がそれぞれの頂点座標を割り当てる際の順番は、図９Ｃに示した順番、すなわち、図１０に示した処理手順に限定されるものではない。例えば、頂点座標分配信号生成部１４内の頂点座標分配スケジューリング部１４３に備えた分配信号付与部１４３３が、領域ラベル生成部１６の順番を昇順または降順のいずれか一方を繰り返すように、それぞれの頂点座標を割り当てる分配信号を付与してもよい。
【０１５６】
ここで、この場合の頂点座標分配スケジューリング部１４３の動作について説明する。図１５Ａ〜図１５Ｄは、本発明の第１の実施形態の画像処理装置１に備えた頂点座標分配スケジューリング部１４３による分配信号の付与処理の別の方法を説明する図である。図１５Ａ〜図１５Ｃにおいても、図９Ａ〜図９Ｃと同様に、横軸はそれぞれの頂点座標の並びを表し、縦軸はそれぞれの頂点座標において推定された領域面積の大きさを表している。また、図１５Ｄにおいても、図９Ｄと同様に、横軸はそれぞれの領域ラベル生成部１６を表し、縦軸はそれぞれの領域ラベル生成部１６に割り当てられた演算負荷を領域面積の大きさで表している。なお、図１５Ａおよび図１５Ｂは、図９Ａおよび図９Ｂと同様であるため、詳細な説明は省略する。
【０１５７】
図１５Ｃに示した一例では、分配信号付与部１４３３が、領域ラベル生成部１６の順番として昇順を繰り返すように、ソート部１４３１によって並び替えられたそれぞれの頂点座標を順番に割り当てている場合を示している。より具体的には、図１５Ｃに示した一例では、１つ目〜３つ目まで、領域ラベル生成部１６−０〜領域ラベル生成部１６−２に、頂点座標を昇順に割り当て、４つ目〜６つ目まで、領域ラベル生成部１６−０〜領域ラベル生成部１６−２に、頂点座標を昇順に割り当てている。これにより、図１５Ｃに示した一例では、１つ目の頂点座標と４つ目の頂点座標とが領域ラベル生成部１６−０に割り当てられ、２つ目の頂点座標と５つ目の頂点座標とが領域ラベル生成部１６−１に割り当てられ、３つ目の頂点座標と６つ目の頂点座標とが領域ラベル生成部１６−２に割り当てられる。
【０１５８】
図１５Ｃに示したようにそれぞれの頂点座標を割り当てることによっても、それぞれの領域ラベル生成部１６の演算負荷（領域面積）の総和が概ね均等になる。図１５Ｄには、図１５Ｃに示した一例のようにそれぞれの頂点座標が割り当てられた場合における領域ラベル生成部１６−０〜領域ラベル生成部１６−２の演算負荷を、領域面積の大きさで表している。ただし、図９Ｄに示した一例と図１５Ｄに示した一例とを比べてわかるように、図９Ｄに示した一例の方が、演算負荷（領域面積）の総和がより均等に近い。しかし、図１５Ｃに示したように振り分けるための処理手順は、図９Ｃに示したように振り分けるための処理手順（図１０参照）よりも、より簡易な処理手順である。
【０１５９】
（第１の実施形態の第２の変形例）
また、例えば、頂点座標分配スケジューリング部１４３は、分配信号を付与した後に、それぞれの領域ラベル生成部１６に割り当てた頂点座標に対して簡易的に推定した領域面積の合計（総和）に基づいて、頂点座標の割り当てを変更（補正）するようにしてもよい。この場合、頂点座標分配スケジューリング部１４３に備えた分配信号付与部１４３３は、それぞれの領域ラベル生成部１６に割り当てた領域面積の総和の差に基づいて、頂点座標の割り当てを変更する。
【０１６０】
この場合の一例について説明する。図１６Ａおよび図１６Ｂは、本発明の第１の実施形態の画像処理装置１に備えた頂点座標分配スケジューリング部１４３による分配信号の付与処理のさらに別の方法を説明する図である。図１６Ａおよび図１６Ｂは、図９Ｄおよび図１５Ｄと同様に、横軸にそれぞれの領域ラベル生成部１６を表し、縦軸にそれぞれの領域ラベル生成部１６に割り当てられた演算負荷を領域面積の大きさで表している。そして、図１６Ａには、頂点座標の割り当てを変更（補正）する前の状態を示し、図１６Ｂには、頂点座標の割り当てを変更（補正）した後の状態を示している。
【０１６１】
図１６Ａに示したように、特定の領域ラベル生成部１６（図１６Ａにおいては、領域ラベル生成部１６−０）に割り当てた頂点座標に対して推定した領域面積の総和が、他の領域ラベル生成部１６（図１６Ａにおいては、領域ラベル生成部１６−１および領域ラベル生成部１６−２）に割り当てた頂点座標に対して推定した領域面積の総和よりも大きい場合を考える。この場合、分配信号付与部１４３３は、領域面積の総和の差を、領域ラベル生成部１６の数で除算する。そして、分配信号付与部１４３３は、除算した領域面積に相当する領域面積である頂点座標を、領域面積の総和が大きい領域ラベル生成部１６以外の領域ラベル生成部１６に割り当て直すように、その頂点座標に付与した分配信号を変更（補正）する。
【０１６２】
図１６Ｂには、領域面積の総和が大きい領域ラベル生成部１６−０に割り当てた頂点座標を、領域面積の総和が小さい領域ラベル生成部１６−１および領域ラベル生成部１６−２に割り当て直した場合の一例を示している。このように、頂点座標分配スケジューリング部１４３が、分配信号を付与した後に、それぞれの領域ラベル生成部１６への頂点座標の割り当てを変更（補正）することによって、図１６Ｂに示したように、それぞれの領域ラベル生成部１６に割り当てた頂点座標に対して推定した領域面積の総和が、より均等に近くなり、それぞれの領域ラベル生成部１６をより効率的に稼働させることができる。
【０１６３】
第１の実施形態の第２の変形例によれば、頂点座標分配スケジューリング部１４３は、それぞれの領域ラベル生成部１６に割り当てられた領域面積の総和の内、最も大きい領域面積の総和と最も小さい領域面積の総和との差を、領域ラベル生成部１６の数で除算し、除算した結果の領域面積に相当する領域面積に対応する頂点画素を、領域面積の総和が最も大きい領域ラベル生成部１６以外の領域ラベル生成部１６のそれぞれに割り当て直す画像処理装置１が構成される。
【０１６４】
（第１の実施形態の第３の変形例）
なお、第１の実施形態の画像処理装置１では、頂点座標分配信号生成部１４が、図６に示したように、予め定めた距離の閾値で設定される閾値領域（単位面積）内に存在する頂点画素の数で表される頂点密度の逆数を用いて、領域面積を簡易的に推定する方法について説明した。しかし、頂点座標分配信号生成部１４が領域面積を推定する方法は、図６に示した方法、すなわち、図７に示した処理手順に限定されるものではない。例えば、頂点座標分配信号生成部１４内の領域面積推定部１４１が、閾値領域（単位面積）内に存在する頂点画素の数を、予め定めた任意の数の閾値と比較することによって、領域面積の簡易的な推定を離散的に行ってもよい。つまり、領域面積推定部１４１が、予め定めた範囲ごとに切り分けるように領域面積を推定してもよい。
【０１６５】
この場合の処理手順について説明する。図１７は、本発明の第１の実施形態の画像処理装置１に備えた領域面積推定部１４１における別の処理手順を示したフローチャートである。なお、図１７に示した領域面積推定部１４１における領域面積の推定処理では、予め定めた領域面積の閾値として、複数の領域面積θ（以下、「推定領域面積θ」という）が離散的に設定されている。領域面積推定部１４１は、閾値領域内に存在する頂点画素の数と、推定領域面積θの逆数で表される頂点数とを比較することによって、それぞれの頂点画素に属する領域面積を、推定領域面積θのいずれかに推定する。以下の説明においては、ｎ個の推定領域面積θ（推定領域面積θ０〜推定領域面積θｎ，θ０＞θｎ）が設定されているものとし、例えば、図７に示した処理手順によって閾値領域内に存在する頂点画素の数の検出が終了した後に、領域面積を、いずれかの推定領域面積θに推定する場合について説明する。
【０１６６】
領域面積推定部１４１が、閾値領域内に存在する頂点画素の数の検出が終了すると、検出した頂点画素の数が、推定領域面積θ０の逆数（推定領域面積θ０に対応する頂点数）よりも少ないか否かを判定する（ステップＳ６１）。ステップＳ６１において、検出した頂点画素の数が、推定領域面積θ０に対応する頂点数よりも少ないと判定した場合（ステップＳ６１の“ＹＥＳ”）、領域面積推定部１４１は、ステップＳ６２において、領域面積は、推定領域面積θ０と同等であると推定する。つまり、領域面積推定部１４１は、ステップＳ６１およびステップＳ６２において、推定領域面積θ０よりも小さい領域面積は、推定領域面積θ０と同等であると推定する。そして領域面積推定部１４１は、推定した領域面積の情報（＝推定領域面積θ０）を、閾値領域内に存在するそれぞれの頂点座標に紐付けて、領域面積記憶部１４２に記憶させ、領域面積の推定処理を終了する。
【０１６７】
一方、ステップＳ６１において、検出した頂点画素の数が、推定領域面積θ０に対応する頂点数よりも少なくない、つまり、検出した頂点画素の数が推定領域面積θ０に対応する頂点数以上であると判定した場合（ステップＳ６１の“ＮＯ”）、領域面積推定部１４１は、ステップＳ６３の処理に進む。
【０１６８】
続いて、領域面積推定部１４１は、検出した頂点画素の数が、推定領域面積θ１の逆数（推定領域面積θ１に対応する頂点数）よりも少ないか否かを判定する（ステップＳ６３）。ステップＳ６３において、検出した頂点画素の数が、推定領域面積θ１に対応する頂点数よりも少ないと判定した場合（ステップＳ６３の“ＹＥＳ”）、領域面積推定部１４１は、ステップＳ６４において、領域面積は、推定領域面積θ１と同等であると推定する。つまり、領域面積推定部１４１は、ステップＳ６３およびステップＳ６４において、推定領域面積θ０以下で、推定領域面積θ１よりも大きい範囲の領域面積は、推定領域面積θ１と同等であると推定する。そして領域面積推定部１４１は、推定した領域面積の情報（＝推定領域面積θ１）を、閾値領域内に存在するそれぞれの頂点座標に紐付けて、領域面積記憶部１４２に記憶させ、領域面積の推定処理を終了する。
【０１６９】
一方、ステップＳ６３において、検出した頂点画素の数が、推定領域面積θ１に対応する頂点数よりも少なくない、つまり、検出した頂点画素の数が推定領域面積θ１に対応する頂点数以上であると判定した場合（ステップＳ６３の“ＮＯ”）、領域面積推定部１４１は、ステップＳ６５の処理に進む。
【０１７０】
同様に、領域面積推定部１４１は、検出した頂点画素の数と、推定領域面積θ２〜推定領域面積θｎ−２の逆数（推定領域面積θ２〜推定領域面積θｎ−２に対応する頂点数）との比較を行う。
【０１７１】
続いて、領域面積推定部１４１は、検出した頂点画素の数が、推定領域面積θｎ−１の逆数（推定領域面積θｎ−１に対応する頂点数）よりも少ないか否かを判定する（ステップＳ６５）。ステップＳ６５において、検出した頂点画素の数が、推定領域面積θｎ−１に対応する頂点数よりも少ないと判定した場合（ステップＳ６５の“ＹＥＳ”）、領域面積推定部１４１は、ステップＳ６６において、領域面積は、推定領域面積θｎ−１と同等であると推定する。つまり、領域面積推定部１４１は、ステップＳ６５およびステップＳ６６において、推定領域面積θｎ−２以下で、推定領域面積θｎ−１よりも大きい範囲の領域面積は、推定領域面積θｎ−１と同等であると推定する。そして領域面積推定部１４１は、推定した領域面積の情報（＝推定領域面積θｎ−１）を、閾値領域内に存在するそれぞれの頂点座標に紐付けて、領域面積記憶部１４２に記憶させ、領域面積の推定処理を終了する。
【０１７２】
一方、ステップＳ６５において、検出した頂点画素の数が、推定領域面積θｎ−１に対応する頂点数よりも少なくない、つまり、検出した頂点画素の数が推定領域面積θｎ−１に対応する頂点数以上であると判定した場合（ステップＳ６５の“ＮＯ”）、領域面積推定部１４１は、ステップＳ６７において、領域面積は、推定領域面積θｎと同等であると推定する。つまり、領域面積推定部１４１は、ステップＳ６５およびステップＳ６７において、推定領域面積θｎ−１以上の領域面積は、推定領域面積θｎと同等であると推定する。そして領域面積推定部１４１は、推定した領域面積の情報（＝推定領域面積θｎ）を、閾値領域内に存在するそれぞれの頂点座標に紐付けて、領域面積記憶部１４２に記憶させ、領域面積の推定処理を終了する。
【０１７３】
このように、領域面積推定部１４１は、予め定めた推定領域面積θの逆数（推定領域面積θに対応する頂点数）を閾値として、検出した頂点画素の数と比較することによっても、領域面積を予め定めた範囲ごとに切り分けて簡易的に推定することができる。これにより、頂点座標分配スケジューリング部１４３は、領域面積記憶部１４２に記憶された領域面積の情報（＝推定領域面積θ）が紐付けられた頂点座標に基づいて、領域ラベル生成部１６のそれぞれが行う演算負荷の総和が概ね均等になるように、それぞれの頂点座標を領域ラベル生成部１６のそれぞれに割り当てることができる。
【０１７４】
第１の実施形態の第３の変形例によれば、領域面積推定部１４１は、中心とした頂点画素から予め定めた範囲内の領域に位置する他の頂点画素の数と、予め定めた複数の領域面積の閾値（推定領域面積θ）で表される頂点画素の数とに基づいて、それぞれの頂点画素に対応する領域面積を、予め定めた複数の推定領域面積θのいずれかに推定する画像処理装置１が構成される。
【０１７５】
（第１の実施形態の第４の変形例）
なお、第１の実施形態の画像処理装置１では、頂点座標分配信号生成部１４が、図９または図１５に示したように、頂点座標分配信号生成部１４内の頂点座標分配スケジューリング部１４３に備えたソート部１４３１によって、それぞれの頂点座標を予め定めた順番に並べ替え（ソートし）、この順番に従って分配信号付与部１４３３が、それぞれの頂点座標を領域ラベル生成部１６に割り当てる構成について説明した。しかし、頂点座標分配信号生成部１４がそれぞれの頂点座標を領域ラベル生成部１６に割り当てる構成は、図５に示した構成、すなわち、図９〜図１０、および図１５に示した処理を行う構成に限定されるものではない。例えば、頂点座標分配信号生成部１４に備えた領域面積記憶部１４２の構成を用いて、頂点座標分配信号生成部１４内の頂点座標分配スケジューリング部１４３に備えたソート部１４３１と同様の機能を実現する構成であってもよい。
【０１７６】
より具体的には、領域面積記憶部１４２の記憶領域（メモリ空間）の構成を、対応する領域面積ごとに離散的に分割した構成とする。そして、頂点座標分配信号生成部１４に備えた領域面積推定部１４１が、推定した領域面積の情報をそれぞれの頂点座標に紐付けて領域面積記憶部１４２に記憶させる際に、対応する領域面積のメモリ空間に静的に記憶させることによって、ソート部１４３１と同様の機能を実現する構成であってもよい。つまり、領域面積推定部１４１が、推定した領域面積の情報をそれぞれの頂点座標に紐付けて領域面積記憶部１４２に記憶させる際のアドレス制御によって、ソート部１４３１と同様の機能を実現する構成であってもよい。
【０１７７】
この場合の頂点座標分配信号生成部１４の構成について説明する。図１８は、本発明の第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４の別の構成を示したブロック図である。図１８に示した頂点座標分配信号生成部１４ａは、領域面積推定部１４１ａと、領域面積記憶部１４２ａと、頂点座標分配スケジューリング部１４３ａと、を備えている。
【０１７８】
領域面積推定部１４１ａは、領域面積推定部１４１と同様に、頂点座標記憶部１３に記憶されているそれぞれの頂点座標に基づいて、輝度画像に含まれるそれぞれの頂点画素に属する周辺画素の領域面積を簡易的に推定する。そして、領域面積推定部１４１ａは、推定したそれぞれの頂点画素に属する周辺画素の領域面積の情報を領域面積記憶部１４２ａのアドレスとし、それぞれの頂点画素の頂点座標を領域面積記憶部１４２ａに記憶するデータとして、領域面積記憶部１４２ａに出力する。
【０１７９】
領域面積記憶部１４２ａは、領域面積推定部１４１から出力されたそれぞれの頂点画素の頂点座標を、アドレスとして指定された領域面積に対応するメモリ空間に記憶する。図１８には、領域面積記憶部１４２ａのメモリ空間を、予め定めｎ個の推定領域面積θ（推定領域面積θ０〜推定領域面積θｎ，θ０＞θｎ）のそれぞれに対応するｎ個のメモリ空間（推定領域面積θ０用空間〜推定領域面積θｎ用空間）に分割した構成の領域面積記憶部１４２ａを示している。
【０１８０】
頂点座標分配スケジューリング部１４３ａは、領域面積記憶部１４２ａのそれぞれのメモリ空間に記憶されたそれぞれの頂点画素の頂点座標を、予め定めた順番で順次読み出し、読み出したそれぞれの頂点画素に対する演算を、領域ラベル生成部１６のそれぞれに割り当てる。ここで、頂点座標分配スケジューリング部１４３ａがそれぞれの頂点画素の頂点座標を読み出す順番が、頂点座標分配スケジューリング部１４３に備えたソート部１４３１と同様の機能を実現する。
【０１８１】
例えば、ソート部１４３１の機能が、頂点画素に属する領域面積が大きい順番に並び替える（ソートする）機能である場合には、頂点座標分配スケジューリング部１４３ａは、領域面積が最も大きい推定領域面積θ０に対応するメモリ空間（推定領域面積θ０用空間）から順番にそれぞれの頂点画素の頂点座標を読み出す。これにより、頂点座標分配スケジューリング部１４３ａは、頂点画素に属する領域面積が大きい順番、すなわち、昇順に並び替えた（ソートした）状態と同様の順番で、それぞれの頂点画素の頂点座標を読み出すことができる。
【０１８２】
なお、頂点座標分配スケジューリング部１４３ａがそれぞれの頂点画素の頂点座標を読み出す順番を、領域面積が最も小さい推定領域面積θｎに対応するメモリ空間（推定領域面積θｎ用空間）からにすることによって、領域面積が小さい順番、すなわち、降順にすることもできる。
【０１８３】
そして、頂点座標分配スケジューリング部１４３ａは、頂点座標分配スケジューリング部１４３と同様に、領域ラベル生成部１６のそれぞれが行う演算負荷の総和が概ね均等になるように、読み出した頂点座標に分配信号を付与して頂点座標分配部１５に出力する。
【０１８４】
なお、図１８に示した頂点座標分配信号生成部１４ａの構成では、上述したように、頂点座標分配スケジューリング部１４３ａが領域面積記憶部１４２ａからそれぞれの頂点画素の頂点座標を読み出す順番によって、ソート部１４３１と同様の機能を実現している。このため、頂点座標分配スケジューリング部１４３ａには、図８に示した頂点座標分配スケジューリング部１４３において備えていたソート部１４３１とソート済み頂点座標記憶部１４３２との構成要素を備えていなくてもよい。
【０１８５】
第１の実施形態の第４の変形例によれば、領域面積推定部（領域面積記憶部１４２ａ）は、それぞれの頂点画素に対応する領域面積を推定する際に、推定したそれぞれの頂点画素を予め定めた順番に並び替え、頂点座標分配スケジューリング部（頂点座標分配スケジューリング部１４３ａ）は、並び替えた後の頂点画素を、予め定めた順番で領域ラベル生成部１６のそれぞれに割り当てる画像処理装置１が構成される。
【０１８６】
このような構成および動作によって、第１の実施形態の画像処理装置１では、それぞれの領域ラベル生成部１６の演算負荷が概ね均等になるように、演算を行う対象の頂点画素の頂点座標をそれぞれの領域ラベル生成部１６に割り当てる。これにより、遊休する領域ラベル生成部１６の発生を抑制し、それぞれの領域ラベル生成部１６を効率的に稼働させることができる。このことにより、画像処理装置１において領域分割処理に要する全体の処理時間の短縮を図ることができる。
【０１８７】
（第２の実施形態）
次に、本発明の第２の実施形態の画像処理装置について説明する。第２の実施形態の画像処理装置（以下、「画像処理装置２」という）も、第１の実施形態の画像処理装置１と同様に、例えば、グレースケール画像などの輝度画像の領域を複数に分割し、複数の演算リソースで並列に領域分割処理の演算を行う画像処理装置である。なお、第２の実施形態の画像処理装置２が行う領域分割処理の概念も、図１に示した第１の実施形態の画像処理装置１における領域分割処理の概念と同様である。従って、第２の実施形態の画像処理装置２が行う領域分割処理の概念に関する詳細な説明は省略する。
【０１８８】
次に、画像処理装置２の構成について説明する。図１９は、本発明の第２の実施形態における画像処理装置２の概略構成の一例を示したブロック図である。図２に示した画像処理装置２は、勾配データ生成部１１ｂと、勾配データ記憶部１２と、頂点座標分配信号生成部１４ｂと、頂点座標分配部１５と、ｎ個の領域ラベル生成部１６−１〜領域ラベル生成部１６−ｎと、領域ラベル記憶部１７と、を備えている。
【０１８９】
なお、第２の実施形態における画像処理装置２の構成要素には、第１の実施形態の画像処理装置１の構成要素と同様の構成要素も含まれている。従って、第２の実施形態における画像処理装置２の構成要素において、第１の実施形態の画像処理装置１の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
【０１９０】
勾配データ生成部１１ｂは、第１の実施形態の画像処理装置１に備えた勾配データ生成部１１と同様に、入力された輝度画像に対応する勾配データを生成し、生成した勾配データを勾配データ記憶部１２に出力する。ただし、勾配データ生成部１１ｂでは、第１の実施形態の画像処理装置１に備えた勾配データ生成部１１において出力していた頂点座標を出力しない。勾配データ生成部１１ｂにおけるその他の動作は、第１の実施形態の勾配データ生成部１１と同様であるため、勾配データ生成部１１ｂの動作に関する詳細な説明は省略する。
【０１９１】
頂点座標分配信号生成部１４ｂは、勾配データ記憶部１２に記憶された勾配データに含まれる、頂点画素に付与された頂点ラベルに基づいて、輝度画像において同じ頂点画素に属する周辺画素に領域ラベルを付与する演算を、画像処理装置２に備えたそれぞれの演算リソースに分配する。そして、頂点座標分配信号生成部１４ｂは、第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４と同様に、演算リソースに演算を分配した情報を、頂点座標分配部１５に出力する。
【０１９２】
より具体的には、頂点座標分配信号生成部１４ｂは、勾配データ記憶部１２から読み出した勾配データの中から、頂点ラベルが付与された頂点画素の位置を検出する。そして、頂点座標分配信号生成部１４ｂは、検出した頂点画素の位置を表す座標を頂点座標とし、この頂点座標に基づいて、検出した頂点画素の位置を中心とした予め定めた単位面積内に存在する、頂点ラベルが付与された他の頂点画素の数から、それぞれの頂点画素に属する周辺画素の領域面積を簡易的に推定する。そして、頂点座標分配信号生成部１４ｂは、推定した領域面積に基づいて、第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４と同様に、それぞれの頂点画素に対する演算を行う演算リソースを割り当て、割り当てた演算リソースを表す分配信号を付与した頂点座標を、頂点座標分配部１５に出力する。
【０１９３】
頂点座標分配信号生成部１４ｂの構成は、図５に示した第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４の構成と同様である。ただし、頂点座標分配信号生成部１４ｂに備える領域面積推定部１４１（以下、「領域面積推定部１４１ｂ」という）の動作が、第１の実施形態の頂点座標分配信号生成部１４に備えた領域面積推定部１４１と異なる。この領域面積推定部１４１ｂの動作に関する詳細な説明は、後述する。
【０１９４】
このような構成によって、画像処理装置２は、第１の実施形態の画像処理装置１と同様に、同じ頂点画素に属する周辺画素に頂点ラベルと同じ領域ラベルを付与した領域ラベルデータを生成する領域分割処理を、複数の演算リソースで並列に行う。
【０１９５】
次に、画像処理装置２に備えた頂点座標分配信号生成部１４ｂについて説明する。ここでは、頂点座標分配信号生成部１４ｂに備えた領域面積推定部１４１ｂについて説明する。図２０は、本発明の第２の実施形態の画像処理装置２に備えた領域面積推定部１４１ｂにおいて行う領域面積の推定処理の概念を説明する図である。図２０でも、図６に示した第１の実施形態の画像処理装置１に備えた領域面積推定部１４１における領域面積の推定処理の概念と同様に、輝度画像に含まれるそれぞれの頂点画素の位置を黒塗りの丸で示し、仮に画像処理装置２に備えた領域ラベル生成部１６のそれぞれが領域分割処理を行ったときの最終的な領域面積の境界を点線で模式的に示している。
【０１９６】
領域面積推定部１４１ｂによる領域面積の推定処理では、頂点画素を中心とした予め定めた単位面積内に存在する頂点ラベルが付与された他の頂点画素の数、すなわち、単位面積内に存在する頂点画素の密度（頂点密度）によって、この頂点画素に属する領域面積を簡易的に推定する。
【０１９７】
図２０には、予め定めた単位面積の領域（以下、「閾値領域」という）を、一点鎖線で示している。図２０に示した閾値領域からもわかるように、領域面積推定部１４１ｂにおいて予め定められる単位面積は、第１の実施形態の頂点座標分配信号生成部１４に備えた領域面積推定部１４１のように、距離の閾値によって設定される領域ではないため、矩形の領域である。
【０１９８】
なお、図２０においても、第１の実施形態と同様に、頂点画素ｔ３を中心とした閾値領域ａ３内に他の３つの頂点画素（頂点画素ｔ１、頂点画素ｔ２、および頂点画素ｔ４）が存在し、頂点画素ｔ５を中心とした閾値領域ａ４内に他の頂点画素が存在していない場合を示している。これも、第１の実施形態と同様に、閾値領域ａ３の頂点密度は、閾値領域ａ４の頂点密度よりも４倍高いことを示している。このときの領域面積推定部１４１ｂにおける領域面積の推定の考え方は、第１の実施形態の画像処理装置１に備えた領域面積推定部１４１における領域面積の推定の考え方と同様である。従って、領域面積推定部１４１ｂにおける領域面積の推定の考え方に関する詳細な説明は省略する。
【０１９９】
図２１は、本発明の第２の実施形態の画像処理装置２に備えた領域面積推定部１４１ｂにおける処理手順を示したフローチャートである。領域面積推定部１４１ｂにおける領域面積の推定処理では、領域面積推定部１４１ｂが、勾配データ記憶部１２に記憶された勾配データを画素ごとにラスター順に読み出し、読み出した勾配データに付与された頂点ラベルを確認することによって頂点画素の検出を行う。そして、領域面積推定部１４１ｂは、検出した頂点画素を注目頂点画素として、矩形の閾値領域内に他の頂点画素が存在するか否かの判定を行う。
【０２００】
なお、領域面積推定部１４１ｂにおける領域面積の推定処理の方法は、矩形の閾値領域内に存在する勾配データの数、すなわち、輝度画像の画素数が、全ての頂点画素の数よりも少ない場合、第１の実施形態の画像処理装置１に備えた領域面積推定部１４１において２つの頂点画素間の距離に基づいて他の頂点画素が閾値領域内に存在するか否かの判定を行って領域面積の推定処理を行う方法よりも、演算負荷が少なくて済む方法である。
【０２０１】
より具体的には、勾配データに含まれる全ての頂点画素の数を「ｎ」とし、矩形の閾値領域内に存在する勾配データの数を「ｍ」とした場合、領域面積推定部１４１ｂにおける領域面積の推定処理の演算量は、ｎ×ｍである。一方、第１の実施形態の画像処理装置１に備えた領域面積推定部１４１における領域面積の推定処理の演算量は、ｎ２である。従って、勾配データに含まれる全ての頂点画素の数ｎが、矩形の閾値領域内に存在する勾配データの数ｍよりも多い場合には、領域面積推定部１４１ｂによる領域面積の推定処理の演算量の方が、第１の実施形態の画像処理装置１に備えた領域面積推定部１４１による領域面積の推定処理の演算量よりも少なくなる。
【０２０２】
以下の説明においては、勾配データ記憶部１２に記憶された勾配データ内に、頂点ラベルが付与された頂点画素の数が「３」であるものとし、１つ目の頂点画素を中心とした閾値領域内に、２つ目の頂点画素が存在するものとして、図２１に示した領域面積推定部１４１ｂの処理手順を説明する。そして、それぞれの頂点画素の一例として、図２０に示した頂点画素ｔ３を１つ目の頂点画素とし、頂点画素ｔ４を２つ目の頂点画素とし、頂点画素ｔ５を３つ目の頂点画素とした場合における一例を説明する。そして、頂点画素ｔ３に対応した勾配データに値が「８」である頂点ラベルが付与されており、頂点画素ｔ４に対応した勾配データに値が「９」である頂点ラベルが付与されており、頂点画素ｔ５に対応した勾配データに値が「１０」である頂点ラベルが付与されているものとして説明する。
【０２０３】
領域面積推定部１４１ｂは、領域面積の推定処理を開始すると、まず、それぞれの頂点画素に対応した頂点密度の値を「１」に初期化する（ステップＳ７１）。続いて、領域面積推定部１４１ｂは、ステップＳ７２のループにおいて、勾配データ記憶部１２に記憶された勾配データを、左上に配置された画素からラスター順に読み出す。
【０２０４】
続いて、領域面積推定部１４１ｂは、今回読み出した勾配データに、頂点ラベルが付与されているか否かを判定する（ステップＳ７３）。より具体的には、領域面積推定部１４１ｂは、今回読み出した勾配データに付与されたラベルの値を取得し、取得したラベルの値が、頂点であることを示す値（頂点ラベル）であるか、頂点画素に向かう勾配を示す値（勾配ラベル）であるかを判定する。つまり、領域面積推定部１４１ｂは、読み出した勾配データが、頂点画素の勾配データであるか、周辺画素の勾配データであるかを判定する。
【０２０５】
ステップＳ７１において、今回読み出した勾配データに頂点ラベルが付与されていない、つまり、今回読み出した勾配データが周辺画素の勾配データであると判定した場合（ステップＳ７２の“ＮＯ”）、領域面積推定部１４１ｂは、ステップＳ７２に戻って、次の勾配データに対する判定を行う。
【０２０６】
一方、ステップＳ７１において、今回読み出した勾配データに頂点ラベルが付与されている、つまり、今回読み出した勾配データが頂点画素の勾配データであると判定した場合（ステップＳ７２の“ＹＥＳ”）、領域面積推定部１４１ｂは、今回読み出した勾配データを注目頂点画素とし、この注目頂点画素を中心とした矩形の閾値領域内の勾配データを読み出す（ステップＳ７４）。また、領域面積推定部１４１ｂは、今回読み出した勾配データの頂点画素の位置を表す座標を頂点座標とする。
【０２０７】
例えば、領域面積推定部１４１ｂは、１つ目の頂点画素ｔ３に対応した勾配データに頂点ラベルが付与されていると判定した場合、１つ目の頂点画素ｔ３を注目頂点画素とし、閾値領域ａ３内の勾配データを読み出す。また、領域面積推定部１４１ｂは、１つ目の頂点画素ｔ３の位置を表す座標を、１つ目の頂点画素ｔ３の頂点座標とする。
【０２０８】
続いて、領域面積推定部１４１ｂは、読み出した矩形の閾値領域内のそれぞれの勾配データに付与されている頂点ラベルの数を計数（カウント）する（ステップＳ７５）。より具体的には、領域面積推定部１４１ｂは、読み出したそれぞれの勾配データに付与されたラベルの値を取得し、取得したラベルの値が、頂点ラベルの値であるか、勾配ラベルの値であるかを判定する。そして、領域面積推定部１４１ｂは、頂点ラベルの値であると判定した回数をカウントする。
【０２０９】
例えば、ステップＳ７５の処理では、１つ目の頂点画素ｔ３を中心とした閾値領域ａ３内に含まれる、２つ目の頂点画素ｔ４に対応した勾配データに付与されたラベルの値（ここでは、「９」）が頂点ラベルの値であると判定し、頂点ラベルの計数値に「１」を加算する。これにより、頂点ラベルの計数値は、「１＋１」＝「２」となる。
【０２１０】
続いて、領域面積推定部１４１ｂは、注目頂点画素に対応した頂点密度［ｔ］に、カウントした頂点ラベルの数を記憶する（ステップＳ７６）。ここで、頂点密度［ｔ］におけるインデックスｔは、注目頂点画素とした今回読み出した勾配データを識別するための索引である。このインデックスｔには、例えば、注目頂点画素に付与されている頂点ラベルの値を用いる。
【０２１１】
例えば、１つ目の頂点画素ｔ３に付与されている頂点ラベルの値（＝「８」）をインデックスｔとし、１つ目の頂点画素ｔ３に対応した頂点密度［８］に頂点ラベルの計数値（＝「２」）を記憶する。これにより、１つ目の頂点画素ｔ３を中心とした閾値領域ａ３内に、頂点画素ｔ３を含めて、２つの頂点画素が存在することを表す。
【０２１２】
その後、領域面積推定部１４１ｂは、ステップＳ７２に戻って、次の勾配データに対する判定を行う。
【０２１３】
このように、領域面積推定部１４１ｂは、ステップＳ７２のループで勾配データ記憶部１２に記憶されたそれぞれの勾配データをラスター順に順次読み出し、頂点画素の勾配データを検出した場合、この頂点画素の位置を中心とした矩形の閾値領域内に存在する他の頂点画素の数をカウントすることによって、頂点密度を得る。これにより、領域面積推定部１４１ｂは、勾配データ記憶部１２に記憶された頂点画素の数分の頂点密度を得ることができる。
【０２１４】
例えば、領域面積推定部１４１ｂは、１つ目の頂点画素ｔ３に対応した頂点密度［８］＝「２」、２つ目の頂点画素ｔ４に対応した頂点密度［９］＝「２」、３つ目の頂点画素ｔ５に対応した頂点密度［１０］＝「１」のそれぞれを得ることができる。また、領域面積推定部１４１ｂは、１つ目の頂点画素ｔ３、２つ目の頂点画素ｔ４、３つ目の頂点画素ｔ５のそれぞれの頂点画素の位置を表す座標を、それぞれの頂点座標とする。
【０２１５】
これにより、領域面積推定部１４１ｂは、第１の実施形態の画像処理装置１に備えた領域面積推定部１４１と同様に、取得した頂点密度の逆数を、勾配データ記憶部１２に記憶されたそれぞれの頂点座標に対応する頂点画素に属する領域面積として簡易的に推定することができる。そして、領域面積推定部１４１ｂは、第１の実施形態の画像処理装置１に備えた領域面積推定部１４１と同様に、推定した領域面積の情報（頂点密度の逆数）を、それぞれの頂点座標に紐付けて、領域面積記憶部１４２に記憶させる。
【０２１６】
頂点座標分配スケジューリング部１４３は、領域面積記憶部１４２に記憶された領域面積の情報（頂点密度の逆数）が紐付けられた頂点座標を読み出し、領域ラベル生成部１６のそれぞれが行う演算負荷の総和が概ね均等になるように、読み出した頂点座標に分配信号を付与して頂点座標分配部１５に出力する。
【０２１７】
このように、第２の実施形態の画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、頂点座標分配信号生成部１４ｂが、それぞれの領域ラベル生成部１６の演算負荷の総和が概ね均等になるように、演算を行う対象の頂点画素の頂点座標に、領域ラベル生成部１６の割り当てを表す分配信号を予め付与する。このとき、第２の実施形態の画像処理装置２では、頂点座標分配信号生成部１４ｂに備えた領域面積推定部１４１ｂが、領域面積を推定するためにそれぞれの頂点画素に対応する頂点密度を得る際に、勾配データから検出した頂点画素を中心とした矩形の閾値領域内に存在する他の頂点画素の数をカウントする。このため、第２の実施形態の画像処理装置２では、矩形の閾値領域内に存在する勾配データの数ｍが、勾配データに含まれる全ての頂点画素の数ｎよりも少ない場合には、第１の実施形態の画像処理装置１よりも、領域面積の推定に要する演算コストが小さくなり、画像処理装置２における領域分割処理の全体の処理時間を短縮することができる。
【０２１８】
なお、第２の実施形態の画像処理装置２では、領域面積推定部１４１ｂが、頂点密度を得る際に頂点画素の数をカウントする予め定めた単位面積が、頂点画素（注目頂点画素）を中心とした矩形の領域（矩形の閾値領域）である場合につて説明した。しかし、単位面積の形状は、矩形の領域に限定されるものではない。例えば、単位面積の形状は、頂点画素（注目頂点画素）を中心としていれば、円形やひし形など、矩形以外の形状であってもよい。
【０２１９】
（第３の実施形態）
次に、本発明の第３の実施形態の画像処理装置について説明する。第３の実施形態の画像処理装置（以下、「画像処理装置３」という）も、第１の実施形態の画像処理装置１および第２の実施形態の画像処理装置２と同様に、例えば、グレースケール画像などの輝度画像の領域を複数に分割し、複数の演算リソースで並列に領域分割処理の演算を行う画像処理装置である。なお、第３の実施形態の画像処理装置３が行う領域分割処理の概念も、図１に示した第１の実施形態の画像処理装置１における領域分割処理の概念と同様である。従って、第３の実施形態の画像処理装置３が行う領域分割処理の概念に関する詳細な説明は省略する。
【０２２０】
画像処理装置３の構成は、図２に示した第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４、または図１９示した第２の実施形態の画像処理装置２に備えた頂点座標分配信号生成部１４ｂの構成が異なるのみである。従って、以下の説明においては、画像処理装置３に備えた頂点座標分配信号生成部１４を「頂点座標分配信号生成部１４ｃ」とし、その他の構成要素は、第１の実施形態の画像処理装置１の構成要素と同一の符号を用いて、詳細な説明は省略する。
【０２２１】
頂点座標分配信号生成部１４ｃは、第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４と同様に、頂点座標記憶部１３に記憶された頂点座標に基づいて、輝度画像において同じ頂点画素に属する周辺画素に領域ラベルを付与する演算を、画像処理装置２に備えたそれぞれの演算リソースに分配する。そして、頂点座標分配信号生成部１４ｃは、第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４と同様に、演算リソースに演算を分配した情報を、頂点座標分配部１５に出力する。
【０２２２】
次に、頂点座標分配信号生成部１４ｃの構成について説明する。図２２は、本発明の第３の実施形態の画像処理装置３に備えた頂点座標分配信号生成部１４ｃの構成を示したブロック図である。図２２に示した頂点座標分配信号生成部１４ｃは、領域面積推定部１４１と、頂点座標分配スケジューリング部１４３ｃと、を備えている。
【０２２３】
領域面積推定部１４１は、第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４内の領域面積推定部１４１と同様である。ただし、画像処理装置３に備えた頂点座標分配信号生成部１４ｃ内の領域面積推定部１４１は、簡易的に推定した領域面積の情報（頂点密度の逆数）を、それぞれの頂点座標に紐付けて、頂点座標分配スケジューリング部１４３ｃに順次出力する。
【０２２４】
頂点座標分配スケジューリング部１４３ｃは、領域面積推定部１４１から順次出力された領域面積の情報（頂点密度の逆数）が紐付けられた頂点座標を、領域ラベル生成部１６のそれぞれに順次分配する。このとき、頂点座標分配スケジューリング部１４３ｃは、演算負荷が最も少ない領域ラベル生成部１６に頂点座標を割り当てるように、領域面積推定部１４１から順次出力された頂点座標に分配信号を付与して頂点座標分配部１５に出力する。
【０２２５】
次に、頂点座標分配スケジューリング部１４３ｃの動作について説明する。図２３Ａ〜図２３Ｄは、本発明の第３の実施形態の画像処理装置３に備えた頂点座標分配スケジューリング部１４３ｃによる分配信号の付与処理の概念を説明する図である。なお、図２３Ａにおいて、横軸は、それぞれの頂点座標が出力される順番を表し、縦軸は、それぞれの頂点座標において推定された領域面積の大きさを表している。また、図２３Ｂ〜図２３Ｄにおいて、横軸は、それぞれの領域ラベル生成部１６を表し、縦軸は、それぞれの領域ラベル生成部１６に割り当てられた演算負荷を領域面積の大きさで表している。図２３には、画像処理装置３に３つの領域ラベル生成部１６（領域ラベル生成部１６−０〜領域ラベル生成部１６−２）を備えている場合における頂点座標分配スケジューリング部１４３ｃによる分配信号の付与処理の概念の一例を示している。
【０２２６】
頂点座標分配スケジューリング部１４３ｃには、図２３Ａに示したように、領域面積の情報（頂点密度の逆数）が紐付けられた頂点座標が、領域面積推定部１４１から順次（時系列的に）入力される。頂点座標分配スケジューリング部１４３ｃは、入力されたそれぞれの頂点座標を順次、領域ラベル生成部１６のそれぞれに順次割り当てる。図２３Ｂには、領域面積推定部１４１から入力された１つ目〜３つ目までの頂点座標を、領域ラベル生成部１６−０〜領域ラベル生成部１６−２のそれぞれに順次割り当てた状態を示している。より具体的には、１つ目の頂点座標を領域ラベル生成部１６−０に、２つ目の頂点座標を領域ラベル生成部１６−１に、３つ目の頂点座標を領域ラベル生成部１６−２に、それぞれ割り当てた状態を示している。
【０２２７】
その後、頂点座標分配スケジューリング部１４３ｃは、４つ目以降の頂点座標を領域ラベル生成部１６−０〜領域ラベル生成部１６−２のいずれかに割り当てる際に、領域面積推定部１４１から順次入力された頂点座標を、そのときに最も演算負荷が少ない領域ラベル生成部１６に割り当てる。図２３Ｃには、領域面積推定部１４１から入力された４つ目の頂点座標を、その前の段階（図２３Ｂ参照）において最も演算負荷が少ない領域ラベル生成部１６−２に割り当てた状態を示している。
【０２２８】
このようにして、頂点座標分配スケジューリング部１４３ｃは、領域面積推定部１４１から順次入力された頂点座標を順次、最も演算負荷が少ない領域ラベル生成部１６に割り当てる。これにより、画像処理装置３に備えたそれぞれの領域ラベル生成部１６の演算負荷（領域面積）の総和は、図２３Ｄに示したように、概ね均等になる。
【０２２９】
ここで、頂点座標分配スケジューリング部１４３ｃにおける分配信号の付与処理について説明する。図２４は、本発明の第３の実施形態の画像処理装置３に備えた頂点座標分配スケジューリング部１４３ｃにおける処理手順を示したフローチャートである。なお、以下の説明においては、画像処理装置３に、領域ラベル生成部１６−０〜領域ラベル生成部１６−２の３個の領域ラベル生成部１６を備えているものとして、図２３を参照して説明する。
【０２３０】
頂点座標分配スケジューリング部１４３ｃは、領域面積の情報（頂点密度の逆数）が紐付けられた１つ目の頂点座標を受け取る（ステップＳ８１）。頂点座標分配スケジューリング部１４３ｃは、頂点座標が割り当てられていない領域ラベル生成部１６があるか否かを判定する（ステップＳ８２）。
【０２３１】
なお、画像処理装置３では、画像処理装置３に備えた領域ラベル生成部１６のそれぞれに対応して、領域ラベル生成部１６に割り当てられた演算負荷、すなわち、領域面積の総和を記憶する記憶領域である累積領域面積バッファが設けられている。そして、ステップＳ８２の判定では、それぞれの領域ラベル生成部１６に対応する累積領域面積バッファに記憶された領域面積の総和に基づいて判定する。
【０２３２】
より具体的には、頂点座標分配スケジューリング部１４３ｃは、いずれかの領域ラベル生成部１６に対応する累積領域面積バッファに記憶された領域面積の総和が「０」である場合に、頂点座標が割り当てられていない領域ラベル生成部１６があると判定する。また、頂点座標分配スケジューリング部１４３ｃは、いずれの領域ラベル生成部１６に対応する累積領域面積バッファに記憶された領域面積の総和も「０」でない場合に、頂点座標が割り当てられていない領域ラベル生成部１６がないと判定する。
【０２３３】
ステップＳ８２において、頂点座標が割り当てられていない領域ラベル生成部１６があると判定した場合（ステップＳ８１の“ＹＥＳ”）、頂点座標分配スケジューリング部１４３ｃは、頂点座標が割り当てられていない領域ラベル生成部１６に対応する累積領域面積バッファに、受け取った頂点座標に対応する頂点画素に属する領域面積の大きさの値、つまり、頂点密度の逆数を記憶する（ステップＳ８３）。図２３Ｂに示した一例では、まず、領域ラベル生成部１６−０に対応する累積領域面積バッファ［０］に、１つ目の頂点座標に対応する頂点画素に属する領域面積の大きさの値を記憶する。なお、図２３Ｂ〜図２３Ｄにおいて縦軸に示した演算負荷の大きさを表す領域面積は、累積領域面積バッファに記憶された領域面積の総和を表していることに相当する。
【０２３４】
続いて、頂点座標分配スケジューリング部１４３ｃは、頂点座標が割り当てられていない領域ラベル生成部１６を表す分配信号（ここでは、「０」の分配信号）を受け取った頂点座標に付与し、分配信号を付与した頂点座標を、頂点座標分配部１５に出力する（ステップＳ８４）。
【０２３５】
その後、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８１に戻って、ステップＳ８１〜ステップＳ８４の処理を繰り返す。これにより、図２３Ｂに示したように、画像処理装置３に備えた領域ラベル生成部１６−０〜領域ラベル生成部１６−２のそれぞれに、１つ目〜３つ目までの頂点座標が順次割り当てられる。このとき、例えば、領域ラベル生成部１６−１に対応する累積領域面積バッファ［１］には、２つ目の頂点座標に対応する頂点画素に属する領域面積の大きさの値が記憶される。また、例えば、領域ラベル生成部１６−２に対応する累積領域面積バッファ［２］には、３つ目の頂点座標に対応する頂点画素に属する領域面積の大きさの値が記憶される。
【０２３６】
一方、ステップＳ８１において、領域面積の情報（頂点密度の逆数）が紐付けられた次の頂点座標を受け取り、ステップＳ８２において、頂点座標が割り当てられていない領域ラベル生成部１６がないと判定した場合（ステップＳ８１の“ＮＯ”）、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８５のループで表された分配信号の付与処理を行う。
【０２３７】
ステップＳ８５のループの処理では、画像処理装置３に備えた領域ラベル生成部１６のそれぞれに対応する累積領域面積バッファを確認し、領域面積の総和が最も少ない、つまり、演算負荷が最も少ない領域ラベル生成部１６を検出する。そして、頂点座標分配スケジューリング部１４３ｃは、領域面積の総和が最も少ない領域ラベル生成部１６に対応する累積領域面積バッファに、受け取った頂点座標に対応する頂点画素に属する領域面積の大きさの値を加算して記憶する（ステップＳ８６）。ここでは、例えば、領域面積の情報（頂点密度の逆数）が紐付けられた４つ目の頂点座標を受け取ってステップＳ８５のループの処理を行うことにより、図２３Ｃに示したように、領域ラベル生成部１６−２に対応する累積領域面積バッファ［２］に、４つ目の頂点座標に対応する頂点画素に属する領域面積の大きさの値を加算して記憶する。
【０２３８】
続いて、頂点座標分配スケジューリング部１４３ｃは、領域面積の総和が最も少ない領域ラベル生成部１６を表す分配信号（ここでは、「２」の分配信号）を受け取った頂点座標に付与し、分配信号を付与した頂点座標を、頂点座標分配部１５に出力する（ステップＳ８７）。
【０２３９】
続いて頂点座標分配スケジューリング部１４３ｃは、領域面積推定部１４１から、領域面積の情報（頂点密度の逆数）が紐付けられた全ての頂点座標を受け取ったか否かを判定する（ステップＳ８８）。
【０２４０】
ステップＳ８８において、領域面積推定部１４１から全ての頂点座標を受け取っていないと判定した場合（ステップＳ８８の“ＮＯ”）、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８９において、領域面積の情報（頂点密度の逆数）が紐付けられた次の頂点座標を受け取り、ステップＳ８５のループの処理を繰り返す。
【０２４１】
ここでは、頂点座標分配スケジューリング部１４３ｃが、ステップＳ８９において、例えば、領域面積の情報（頂点密度の逆数）が紐付けられた５つ目の頂点座標を受け取ったことによるステップＳ８５のループの処理と、領域面積の情報（頂点密度の逆数）が紐付けられた６つ目の頂点座標を受け取ったことによるステップＳ８５のループの処理とを行った場合を考える。この場合、５つ目の頂点座標に対するステップＳ８５のループの処理では、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８６において、図２３Ｄに示したように、領域ラベル生成部１６−１に対応する累積領域面積バッファ［１］に、５つ目の頂点座標に対応する頂点画素に属する領域面積の大きさの値を加算して記憶する。そして、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８７において、受け取った５つ目の頂点座標に、領域ラベル生成部１６−１を表す分配信号を付与し、分配信号を付与した５つ目の頂点座標を、頂点座標分配部１５に出力する。また、６つ目の頂点座標に対するステップＳ８５のループの処理では、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８６において、図２３Ｄに示したように、領域ラベル生成部１６−０に対応する累積領域面積バッファ［０］に、６つ目の頂点座標に対応する頂点画素に属する領域面積の大きさの値を加算して記憶する。そして、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８７において、受け取った６つ目の頂点座標に、領域ラベル生成部１６−０を表す分配信号を付与し、分配信号を付与した６つ目の頂点座標を、頂点座標分配部１５に出力する。
【０２４２】
一方、ステップＳ８８において、領域面積推定部１４１から全ての頂点座標を受け取ったと判定した場合（ステップＳ８８の“ＹＥＳ”）、頂点座標分配スケジューリング部１４３ｃは、ステップＳ８５のループの処理を終了し、分配信号の付与処理を終了する。
【０２４３】
このような構成および動作によって、頂点座標分配スケジューリング部１４３ｃは、画像処理装置３に備えた領域ラベル生成部１６の数よりも多くの頂点座標が領域面積推定部１４１から入力された場合に、入力されたそれぞれの頂点座標を、そのときに最も演算負荷が少ない領域ラベル生成部１６に割り当てる。これにより、頂点座標分配スケジューリング部１４３ｃは、領域面積推定部１４１から入力された領域面積の情報（頂点密度の逆数）が紐付けられた頂点座標をそれぞれの領域ラベル生成部１６に割り当てる際に、領域ラベル生成部１６のそれぞれが行う演算負荷の総和が概ね均等になるように分配し、分配信号を付与したそれぞれの頂点座標を頂点座標分配部１５に出力することができる。
【０２４４】
第３の実施形態によれば、頂点座標分配スケジューリング部（頂点座標分配スケジューリング部１４３ｃ）は、頂点画素が割り当てられていない領域ラベル生成部（領域ラベル生成部１６）に頂点画素を順次割り当て、頂点画素が割り当てられていない領域ラベル生成部１６がない場合には、割り当てられた領域面積の総和が最も小さい領域ラベル生成部１６に、頂点画素を順次割り当てる画像処理装置（画像処理装置３）が構成される。
【０２４５】
このように、第３の実施形態の画像処理装置３でも、第１の実施形態の画像処理装置１と同様に、頂点座標分配信号生成部１４ｃが、それぞれの領域ラベル生成部１６の演算負荷の総和が概ね均等になるように、演算を行う対象の頂点画素の頂点座標に、領域ラベル生成部１６の割り当てを表す分配信号を予め付与する。このとき、第３の実施形態の画像処理装置３では、頂点座標分配信号生成部１４ｃに備えた頂点座標分配スケジューリング部１４３ｃが、領域面積推定部１４１から順次入力された頂点座標を、そのときに最も演算負荷が少ない領域ラベル生成部１６に逐次割り当てる。つまり、第３の実施形態の画像処理装置３では、第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４内の頂点座標分配スケジューリング部１４３のように頂点座標を予め定めた順番に並べ替える（ソートする）処理を行わない。これにより、第３の実施形態の画像処理装置３では、それぞれの頂点座標を領域ラベル生成部１６に分配するまでの処理を、輝度画像のフレームよりも小さな単位でパイプライン処理することができる。このことにより、第３の実施形態の画像処理装置３では、勾配データ生成部１１が勾配データを生成したときから、それぞれの頂点座標を領域ラベル生成部１６に分配するまでの処理の遅延量を削減する、つまり、スループットを短くすることができ、画像処理装置３における領域分割処理の全体の処理時間を短縮することができる。
【０２４６】
なお、第３の実施形態の画像処理装置３では、図２に示した第１の実施形態の画像処理装置１に備えた頂点座標分配信号生成部１４に代わって、頂点座標分配信号生成部１４ｃを備えた構成および動作について説明した。しかし、上述したように、頂点座標分配信号生成部１４ｃは、図１９示した第２の実施形態の画像処理装置２に備えた頂点座標分配信号生成部１４ｂに代わって備える構成であってもよい。しかし、頂点座標分配信号生成部１４ｃを図１９示した第２の実施形態の画像処理装置２に備える構成の画像処理装置３においても、その構成および動作は、上述した構成および動作と同様に考えることができるため、詳細な説明は省略する。
【０２４７】
上記に述べたように、本発明の各実施形態によれば、入力された輝度画像に基づいて勾配データを生成し、生成した勾配データに含まれる頂点画素の位置を表す頂点座標に基づいて、それぞれの頂点画素に属する周辺画素の領域の面積（領域面積）を簡易的に推定する。そして、本発明の各実施形態では、推定した領域面積に基づいて、領域分割処理を並列に行う複数の演算リソースのそれぞれに、頂点画素に対する演算を分配する。これにより、本発明の各実施形態では、領域分割処理を複数の演算リソースで並列に行う際に、遊休する演算リソースの発生を抑制し、それぞれの演算リソースを効率的に稼働させることができる。このことにより、本発明の各実施形態では、画像処理装置１において領域分割処理に要する全体の処理時間の短縮を図ることができる。
【０２４８】
なお、本発明の各実施形態では、それぞれの実施形態毎に異なる構成要素を備えた画像処理装置の構成を示した。しかし、それぞれの実施形態は、排他的な構成ではなく、それぞれの実施形態で示した構成は、各実施形態に示したいずれの構成の画像処理装置に備えてもよい。
【０２４９】
また、本発明の各実施形態では、頂点座標分配スケジューリング部１４３および頂点座標分配スケジューリング部１４３ｃが、頂点座標を領域ラベル生成部１６に割り当てるいくつかの方法（分配信号の付与処理）を説明したが、頂点座標を領域ラベル生成部１６に割り当てる方法は、各実施形態で示した方法に限定されるものではない。
【０２５０】
また、本発明の各実施形態では、例えば、頂点座標のように、画素の位置を座標で表す場合について説明したが、画素の位置を表す情報は、各実施形態で示したような座標に限定されるものではない。
【０２５１】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【産業上の利用可能性】
【０２５２】
上記各実施形態によれば、画像処理装置において、領域分割処理にける処理時間の短縮を目的として複数の演算リソースで並列に演算を行う場合に、それぞれの演算リソースを遊休させることなく稼働させ、全体の処理時間を短縮することができる。
【符号の説明】
【０２５３】
１，２，３  画像処理装置
１１，１１ｂ  勾配データ生成部
１２  勾配データ記憶部（頂点画素分配部）
１３  頂点座標記憶部（頂点画素分配部）
１４，１４ａ，１４ｂ，１４ｃ  頂点座標分配信号生成部（頂点画素分配部）
１４１，１４１ａ，１４１ｂ  領域面積推定部（頂点画素分配部，領域面積推定部）
１４２，１４２ａ  領域面積記憶部（頂点画素分配部，領域面積推定部）
１４３，１４３ａ，１４３ｃ  頂点座標分配スケジューリング部（頂点画素分配部，頂点座標分配スケジューリング部）
１４３１  ソート部（頂点画素分配部，頂点座標分配スケジューリング部，ソート部）
１４３２  ソート済み頂点座標記憶部（頂点画素分配部，頂点座標分配スケジューリング部）
１４３３  分配信号付与部（頂点画素分配部，頂点座標分配スケジューリング部）
１５  頂点座標分配部（頂点画素分配部，頂点座標分配部）
１６−１，１６−２，１６−ｎ  領域ラベル生成部
１６１  勾配データ読み込み元アドレス生成部（領域ラベル生成部，勾配データ取得部）
１６２  最外周データ勾配判定部（領域ラベル生成部，勾配判定部）
１７  領域ラベル記憶部（領域ラベル生成部）
ａ１，ａ２，ａ３，ａ４  閾値領域
ｔ１，ｔ２，ｔ３，ｔ４，ｔ５  頂点画素
【図１Ａ】
0006523428.tif 000002
【図１Ｂ】
0006523428.tif 000003
【図１Ｃ】
0006523428.tif 000004
【図２】
0006523428.tif 000005
【図３Ａ】
0006523428.tif 000006
【図３Ｂ】
0006523428.tif 000007
【図３Ｃ】
0006523428.tif 000008
【図３Ｄ】
0006523428.tif 000009
【図３Ｅ】
0006523428.tif 000010
【図３Ｆ】
0006523428.tif 000011
【図３Ｇ】
0006523428.tif 000012
【図３Ｈ】
0006523428.tif 000013
【図３Ｉ】
0006523428.tif 000014
【図４】
0006523428.tif 000015
【図５】
0006523428.tif 000016
【図６】
0006523428.tif 000017
【図７】
0006523428.tif 000018
【図８】
0006523428.tif 000019
【図９Ａ】
0006523428.tif 000020
【図９Ｂ】
0006523428.tif 000021
【図９Ｃ】
0006523428.tif 000022
【図９Ｄ】
0006523428.tif 000023
【図１０】
0006523428.tif 000024
【図１１Ａ】
0006523428.tif 000025
【図１１Ｂ】
0006523428.tif 000026
【図１１Ｃ】
0006523428.tif 000027
【図１１Ｄ】
0006523428.tif 000028
【図１１Ｅ】
0006523428.tif 000029
【図１１Ｆ】
0006523428.tif 000030
【図１１Ｇ】
0006523428.tif 000031
【図１２】
0006523428.tif 000032
【図１３】
0006523428.tif 000033
【図１４】
0006523428.tif 000034
【図１５Ａ】
0006523428.tif 000035
【図１５Ｂ】
0006523428.tif 000036
【図１５Ｃ】
0006523428.tif 000037
【図１５Ｄ】
0006523428.tif 000038
【図１６Ａ】
0006523428.tif 000039
【図１６Ｂ】
0006523428.tif 000040
【図１７】
0006523428.tif 000041
【図１８】
0006523428.tif 000042
【図１９】
0006523428.tif 000043
【図２０】
0006523428.tif 000044
【図２１】
0006523428.tif 000045
【図２２】
0006523428.tif 000046
【図２３Ａ】
0006523428.tif 000047
【図２３Ｂ】
0006523428.tif 000048
【図２３Ｃ】
0006523428.tif 000049
【図２３Ｄ】
0006523428.tif 000050
【図２４】
0006523428.tif 000051