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