JP6217116B2 - データ処理装置、方法、およびプログラム - Google Patents

データ処理装置、方法、およびプログラム Download PDF

Info

Publication number
JP6217116B2
JP6217116B2 JP2013081261A JP2013081261A JP6217116B2 JP 6217116 B2 JP6217116 B2 JP 6217116B2 JP 2013081261 A JP2013081261 A JP 2013081261A JP 2013081261 A JP2013081261 A JP 2013081261A JP 6217116 B2 JP6217116 B2 JP 6217116B2
Authority
JP
Japan
Prior art keywords
line
data
raster scan
flag
node data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013081261A
Other languages
English (en)
Other versions
JP2014203386A (ja
Inventor
正雄 松原
正雄 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2013081261A priority Critical patent/JP6217116B2/ja
Publication of JP2014203386A publication Critical patent/JP2014203386A/ja
Application granted granted Critical
Publication of JP6217116B2 publication Critical patent/JP6217116B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Input (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像などの格子構造を有する2次元データを処理するデータ処理装置、方法、およびプログラムに関する。
主要オブジェクトである花などの前景を含む画像をGraph Cuts法を用いて前景領域と背景領域とに分割する従来技術が知られている(例えば特許文献1に記載の技術)。
領域分割を行う場合,前景と背景の関係によりその境界が不明確な部分が存在する可能性があり,最適な領域分割を行う必要がある。
そこで、Graph Cuts法では、画像内の各画素に付与する前景または背景を示すラベルが更新されながら、そのラベルと各画素およびそれに隣接する周囲画素の画素値とに基づいてエネルギー関数が算出される。このエネルギー関数は、前景または背景の色に似た色を持つ画素に前景または背景のラベルが付与されたときに、小さい値となるように定義される。同時に、このエネルギー関数は、各画素とそれに隣接する画素の間で異なったラベルが付与され、かつ画素間の色の差が大きいときに、小さい値となるように定義される。そして、そのエネルギー関数が最小となったときの各画素に付与されている前景または背景のラベルとして、前景と背景が領域分割される。
この領域分割技術は例えば、デジタルカメラで撮影した花の前景領域を背景領域から分割して特徴量を求め、データベースに登録してある各種の植物の特徴量と比較することにより、花の種類を判別してユーザに提示するシステムなどに応用されている。
Graph Cuts法におけるエネルギー関数の最小化手法としては、グラフ理論が用いられる。
具体的には、画像の各画素に対応するノードと、前景領域に対応するソースと、背景領域に対応するシンクとが定義され、それらの間がエッジによって結ばれたグラフが定義される。
次に、そのグラフ上で、前述の各画素ごとのエネルギー関数に基づいて、ソースと各画素に対応する各ノード間、シンクと各ノード間、隣接する各ノード間の流量が計算される。
次に、これらの流量に基づいて、ソースからシンクに向かって同時に流れを形成することのできる複数の経路が算出される。そして、ソースから全経路に流出する流量の総和(または全経路からシンクに流入する流量の総和)が、最大流として算出される。
次に、グラフ上で、任意のエッジの組を切断して得られる、ソースを含む第1の部分グラフとシンクを含む第2の部分グラフとからなる組を、カットと呼ぶ。また、そのカットにおいて、対応する各切断エッジの部分で、第1の部分グラフに含まれるソースまたはノードから第2の部分グラフに含まれるノードまたはシンクに流れ込む流量の総和を、そのカットの容量と呼ぶ。このようにして任意のエッジの組による切断で得られるカットのうち、そのカットの容量が上述の最大流に等しくなるカットが、最小カットとして算出される。
そして、その最小カットにおける第1の部分グラフに含まれるノードに対応する画素が前景領域、第2の部分グラフに含まれるノードに対応する画素が背景領域として領域分割される。
ここで、上述の最大流を算出するための複数の経路の算出処理の代表的なアルゴリズムのひとつとして、従来、Push−Relabel法と呼ばれるアルゴリズムが知られている(例えば特許文献2に記載の技術)。この手法は、入力された画像データをマルコフ確率場(Markov Random Field:MRF)によりモデル化された画像データ(以下、「MRFデータ」と呼ぶ )に変換し、画像領域分割の最適解となるMRFデータを出力する。MRFデータは、格子構造上で相互作用する変数の集合で表される。各変数(以下、「node」と呼ぶ )は入力された画像の画素と1対1に対応し、前述したグラフ上のノードに対応する。また、各nodeのMRFデータは、前述した各画素毎に算出される各エネルギー関数値を含む。Push−Relabel法は、各nodeのMRFデータをラスタスキャンし、隣接するnode間の相互関係を一つずつ解決することで、画像全体のエネルギー関数の最小化問題(最大流の問題)を解くアルゴリズムである。なお、隣接するnode間の相互関係を一つずつ解決する方法そのものを、Push−Relabelと呼ぶ。
Push−Relabel法では、隣接するnode間の相互関係を1つずつ扱う。このため、画像全体に対する1回のラスタスキャンだけでは、MRFデータ全体の最適化は行えない。最適解を得るためには、ラスタスキャンを数百回から数千回、場合によっては数万回のオーダーで実行し、node間のPush−Relabelがそれ以上行えない平衡状態になるまで、反復処理を行う必要がある。
このように、従来のPush−Relabel法では、MRFデータのラスタスキャンを膨大な回数繰り返さなければならなかったので、ソフトウェアやハードウェアとして実装した場合に処理時間が長くなってしまうという問題点を有していた。
このような問題は、画像データに対するPush−Relabel法に限らず、画像を構成する画素から変換されたMRFデータなどのように、格子構造を有する2次元データを構成する各ノードデータに対してラスタスキャンを繰り返し実行しながら、各ノードデータおよびその周囲のノードデータを更新して2次元データ全体に対する処理の最適化を行うデータ処理に対して、共通して存在する。
本発明は、ラスタスキャンの繰返しによる2次元データに対するデータ処理の効率化を図ることを目的とする。
態様の一例では、格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、該データ処理によって更新されたノードデータを判定するノードデータ判定部と、前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、を備え、前記データ処理は、前記各ノードデータを含んで構成されるグラフデータ上のソースからシンクへの最大流を算出するための複数の経路を算出するPush−Relabel法による処理であることを特徴とする。
態様のもう一例では、格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、該データ処理によって更新されたノードデータを判定するノードデータ判定部と、前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、を備え、前記2次元データは画像データであり、前記ノードデータは、前記画像データを構成する画素データから変換されたマルコフ確率場データであることを特徴とする。
態様の更に一例では、格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、該データ処理によって更新されたノードデータを判定するノードデータ判定部と、前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、を備え、前記ラスタスキャン制御部は、前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグを判定し、該フラグが前記ラスタスキャンの実行を示している場合には該ラインに対応する前記ラスタスキャンを実行し、該フラグが前記ラスタスキャンの実行を示していない場合には該ラインに対応する前記ラスタスキャンをスキップして該ラインの次のラインに対する前記フラグの判定に移行し、前記2次元データ上の全ての前記ラインに対する制御が終了したときに全ての処理を終了するか否かを判定し、該判定に基づいて、前記ラインごとの制御を繰り返し実行するか前記全ての処理を終了するかを制御し、前記全ての処理を終了するか否かの判定において、前記フラグ記憶部が記憶する全ての前記フラグが前記ラスタスキャンの実行を示していない場合に、前記全ての処理を終了することを判定する、ことを特徴とする。
ラスタスキャンの繰返しによる2次元データに対するデータ処理の効率化を図ることが可能となる。
本発明によるデータ処理装置の一実施形態であるコンピュータシステムの構成図である。 本実施形態におけるnodeデータ配列とフラグのデータ構成例を示す図である。 本実施形態によるデータ処理を示すフローチャートである。 本発明によるデータ処理装置の他の実施形態であるハードウェアシステムの構成図である。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、本発明によるデータ処理装置の一実施形態であるコンピュータシステムの構成図である。
このデータ処理装置101は例えば、いわゆるスマートフォンなどの携帯情報端末またはデジタルカメラとして実装されるコンピュータシステム上に実現される。
データ処理装置101は、CPU(Central Processing Unit:中央演算処理装置)102と、ROM(Read Only Memory)103と、RAM(Random Access Memory)104を備える。また、データ処理装置101は、ソリッド記憶装置等の外部記憶装置105と、通信インタフェース106と、タッチパネルディスプレイ装置などの入力装置107および表示装置108を備える。さらに、データ処理装置101は、マイクロSDメモリカードやUSB(Universal Serial Bus)メモリカードなどの可搬記録媒体110をセット可能な可搬記録媒体駆動装置109を備える。撮像装置112は、静止画像やビデオ画像を撮像することのできるデジタルカメラ機構であり、レンズ、オートフォーカス駆動制御装置、露出制御装置、撮像センサ等を備える。上述の各機器102〜109および112は、バス111によって相互に接続される。
ROM103には、スマートフォン全体の一般的な動作を制御するプログラムのほか、後述する図3のフローチャートによって示されるデータ処理の制御プログラムが記憶されている。CPU102は、ROM103から、この制御プログラムを読み出し、RAM104をワークメモリとして実行する。
本実施形態では、例えば図1のデータ処理装置101を操作するユーザが、撮像装置112によって花などを撮像し、入力装置107で範囲指定した画像範囲から、花などの前景をそれ以外の背景から分割する画像領域分割処理が、後述するデータ処理として実行される。これにより得られた花などの主要オブジェクト領域の画像データは、ユーザが例えば花の種類を検索するために、通信インタフェース106から特には図示しないインターネットを経由してインターネットに接続される画像検索サーバコンピュータに送信される。このコンピュータ上で、送られた主要オブジェクト領域の花画像データに基づいて花のデータベースが検索される。その結果検索がヒットした花の図鑑情報が、その花の画像データとともにインターネットを経由して通信インタフェース106にて受信され、表示装置108に表示される。
上述の画像領域分割処理は、例えばGraph Cuts法におけるエネルギー関数の最小化手法を用いて実現される。より具体的には、入力された画像データの各画素がグラフのnodeに対応させられ、そのグラフ上で、花の前景領域に対応するソースからnodeを介して背景領域に対応するシンクに向かって流れる流量の最大流が算出される。次に、グラフ上で、任意のエッジの組を切断して得られる、ソースを含む第1の部分グラフとシンクを含む第2の部分グラフとからなるカットのうち、その容量が上述の算出された最大流に等しくなる最小カットが算出される。そして、その最小カットにおける第1の部分グラフに含まれるノードに対応する画素が前景領域、第2の部分グラフに含まれるノードに対応する画素が背景領域として領域分割される。
本実施形態において、上述の最大流を算出するための複数の経路の算出処理は、Push−Relabel法に基づいて実行される。
図2は、本実施形態においてPush−Relabel法に基づく最大流の算出処理を実行するために、図1のRAM104上に構成されるnodeデータ配列とフラグのデータ構成例を示す図である。
本実施形態では、図1の撮像装置112からRAM104に得られた入力画像データを構成する各画素がMRFデータに変換される。図2において、入力画像データを構成する各画素に対応して、2次元の格子構造上で自身の周囲と相互作用する変数であるnodeデータ201の集合(配列)が、RAM104に記憶される。nodeデータ201は、入力画像データの対応する画素データをMRFデータに変換したものである。nodeデータ201は、上述のように入力画像データの画素と1対1に対応し、画像領域分割処理のためにGraph Cuts法で定義されるグラフ上のノードに対応する。また、各nodeデータ201のMRFデータは、Graph Cuts法に基づいて各画素ごとに算出される各エネルギー関数値を含む。
本実施形態では、図1のRAM104に記憶されたnodeデータ201の配列の2次元格子構造に対してラスタスキャンが実行され、そのラスタスキャンによって特定されるnodeデータ201ごとに、そのnodeデータ201に隣接する周囲のnodeデータ201との間の相互関係が1つずつ解決される。
ここで本実施形態では、図2に示されるように、上述の2次元格子構造を構成する各nodeデータ201の横方向のライン202ごとに、そのライン202に対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ配列データ203(フラグ記憶部)が、図1のRAM104上に設けられる。図2において例えば、フラグ配列データ203を構成する配列要素値Flg[0]は、その値が「処理」を示していれば0行目のライン202に対するラスタスキャンを実行することが示され、その値が「非処理」を示していれば0行目のライン202に対するラスタスキャンは実行せずにスキップされることが示される。他の配列要素値Flg[1]からFlg[11]においても、1行目から11行目の各ライン202に対して同様の指示がなされる。なお、図2のデータ構成例では、ライン数は、0から11までの12行であるが、もちろんこれに限定されるものではない。
本実施形態では、このフラグ配列データ203に基づいて、以下のデータ処理が実行される。
まず、ライン202ごとに、そのライン202に対応するフラグ配列データ203の配列要素値に基づいて、そのライン202に対応するラスタスキャンを実行するかスキップするかが制御される(ラスタスキャン制御部としての動作)。例えば、i番目のライン202については、配列要素値Flg[i]に基づいて上述の制御がなされる。
次に、上述のラスタスキャン制御によってラスタスキャンが実行されたライン202上の各nodeデータ201の配列に対して、Push−Relabel法によるデータ処理が実行される(データ処理実行部としての動作)。
そして、上述のデータ処理によって更新されたnodeデータ201が判定され、次回のラスタスキャンのために値が更新されたnodeデータ201が含まれるライン202に対応するフラグ配列データ203中の配列要素値が、ラスタスキャンの実行を示す値、例えば「処理」に更新される(ノードデータ判定部としての動作)。
以上の制御動作により、本実施形態では、nodeデータ201の配列のライン202ごとに、Push−Relabel法によるデータ処理を実行するか否かを示すフラグ配列データ203が実装される。これにより、nodeデータ201が更新されずラスタスキャン処理が不要のライン202を読み飛ばすことが可能になり、反復されるラスタスキャンの実行時間を短縮することが可能になり、Push−Relabel法による画像領域分割を従来に比較して短時間で実行することが可能となる。
なお、上述のデータ構造および制御構造は、Push−Relabel法によるデータ処理に限定されるものではなく、2次元格子構造を有するnodeデータ201の配列に対して、ラスタスキャンの反復処理によって更新をかけるようなデータ処理全般に適用することが可能である。
図3は、本実施形態によるデータ処理を示すフローチャートである。このデータ処理は、図1のCPU102が、例えばROM103または外部記憶装置105に記憶されたこのデータ処理に対応する制御プログラムを順次実行する動作として実現される。
なお、この制御プログラムは、例えば可搬記録媒体駆動装置109に挿入された可搬記録媒体110から外部記憶装置105にインストールされて実行されてもよいし、あるいは、例えば通信インタフェース106を介してインターネット上のサーバ等からダウンロード等されてインストールされ実行されてもよい。
まず、CPU102は、例えば撮像装置112で撮像されユーザによって入力装置107等を用いて範囲指定されRAM104に記憶された画像データを、MRFデータとしてのnodeデータ201の配列(図2参照)に変換する(図3のステップS301)。ここでは、Graph Cuts法による画素ごとのエネルギー関数が計算され、その画素に対応するRAM104上のnodeデータ201の変数の例えば構造体に記憶される。このGraph Cuts法では、画像内の各画素に付与する前景または背景を示すラベルが更新されながら、そのラベルと各画素およびそれに隣接する周囲画素の画素値とに基づいてエネルギー関数が算出される。このエネルギー関数は、前景または背景の色に似た色を持つ画素に前景または背景のラベルが付与されたときに、小さい値となるように定義される。同時に、このエネルギー関数は、各画素とそれに隣接する画素の間で異なったラベルが付与され、かつ画素間の色の差が大きいときに、小さい値となるように定義される。より具体的にはこの処理は例えば、非特許文献1に記載の手法に基づいて実現されてよい。
次に、CPU102は、図2の全てのライン202に対応するRAM104上のフラグ配列データ203の配列要素値を「処理」に初期化する(図3のステップS302)。
次に、CPU102は、RAM104上のnodeデータ201の2次元格子配列において、ラスタスキャンの開始位置がこの2次元配列の左上になるようにRAM104に対するアクセスアドレスを設定し、ラスタスキャン方向(アドレスのインクリメント方向)はこの2次元配列の左上から右下に向かうように設定する(図3のステップS303)。
その後、CPU102は、例えば図2のライン202の0番目から順に、そのライン202に対応するフラグ配列データ203の配列要素値を参照して判定する(図3のステップS304)。この場合例えば、CPU102は、現在のライン202の番号をRAM104上の変数iとして管理し、フラグ配列データ203の配列要素値Flg[i]を参照する。
CPU102は、ステップS304での判定の結果、残りフラグがまだあって配列要素値Flg[i]を参照できたか否かを判定する(図3のステップS305)。
CPU102は、ステップS305の判定がYESならば、その配列要素値Flg[i]が「処理」であってラスタスキャンの実行を示しているか否かを判定する(図3のステップS306)。
CPU102は、配列要素値Flg[i]が「処理」ではなく(「非処理」であって)ラスタスキャンの実行を示しておらずステップS306の判定がNOならば、現在のライン202に対するラスタスキャンをスキップして、変数iを+1インクリメントする。これにより、CPU102は、いままでのライン202の次のライン202に対するステップS304のフラグ配列データ203の配列要素値Flg[i]の判定処理に移行する。
CPU102は、配列要素値Flg[i]が「処理」であってラスタスキャンの実行を示しておりステップS306の判定がYESならば、まずその配列要素値Flg[i]を「非処理」に設定する(図3のステップS307)。
次に、CPU102は、現在のライン202上のnodeデータ201の配列の2次元格子構造上の左端の記憶アドレスから順にRAM104上のアドレスを指定し、nodeデータ201を抽出する(図3のステップS308)。
次に、CPU102は、ステップS308で抽出したnodeデータ201が、Push−Relabel法によるデータ処理の対象であるか否かを判定する(図3のステップS309)。この判定処理は例えば、nodeデータ201の構造体として記憶されているPush−Relabel法におけるパラメータの1つである超過(オーバーフロー)値が、0より大きいか否かを判定する処理である。
CPU102は、nodeデータ201がPush−Relabel法によるデータ処理の対象ではなくステップS309の判定がNOならば、ステップS310からS313までの処理をスキップして、ステップS314の判定処理に移行する。
CPU102は、nodeデータ201がPush−Relabel法によるデータ処理の対象でステップS309の判定がYESならば、ステップS308で抽出したnodeデータ201の周辺例えば4近傍または8近傍のnodeデータ201を抽出する(図3のステップS310)。
次に、CPU102は、ステップS308で抽出したnodeデータ201(中心ノード)とステップS310で抽出したその周辺のnodeデータ201(周辺ノード)とに基づいて、Push−Relabel法によるデータ処理を実行する(図3のステップS311)。具体的には、中心ノードから周辺ノードに対して流量を与える処理(Push−Relabel法におけるPush処理)、または中心ノードの高さを上げる処理(Push−Relabel法におけるRelabel処理)を実行する。流量や高さの情報は、各nodeデータ201の変数の構造体に保持することができる。より具体的には、このデータ処理は例えば、非特許文献2に記載のPush−Relabel法に基づいて実現されてよい。
CPU102は、ステップS311の処理に基づいて、ステップS308で抽出したnodeデータ201(中心ノード)またはステップS310で抽出したその周辺のnodeデータ201(周辺ノード)の構造体記憶値を更新する(図3のステップS312)。
その後、CPU102は、ステップS312によって更新された上記各nodeデータ201を判定する。そして、CPU102は、次回のラスタスキャンのために値が更新されたnodeデータ201が含まれるライン202に対応するフラグ配列データ203中の配列要素値をラスタスキャンの実行を示す状態を示す値「処理」に更新する(図3のステップS313)。
CPU102は、ステップS313が終了した後またはステップS309の判定がNOになった後に、現在のライン202上のnodeデータ201の配列の2次元格子構造上の右端の記憶アドレスまでRAM104上のアドレスを指定し終えて、1ラインが終了したか否かを判定する(図3のステップS314)。
CPU102は、1ラインが終了しておらずステップS314の判定がNOならば、ステップS308に移行して、現在のライン202上の次のnodeデータ201を抽出し、そのnodeデータ201に対してステップS309からS313で示される制御処理を実行する。
CPU102は、1ラインが終了してステップS314の判定がYESになると、全てのラインに対する処理が終了したか否かを判定する(図3のステップS315)。
CPU102は、全てのラインに対する処理が終了しておらずステップS315の判定がNOならば、変数iを+1インクリメントし、いままでのライン202の次のライン202に対するステップS304のフラグ配列データ203の配列要素値Flg[i]の判定処理に移行する。
CPU102は、全てのラインに対する処理が終了しステップS315の判定がYESになると、図2に例示されるフラグ配列データ203中の全ての配列要素値が「非処理」になったか否かを判定する(図3のステップS316)。
CPU102は、フラグ配列データ203中の全ての配列要素値が「非処理」になっておらずステップS316の判定がNOならば、ステップS303の処理に戻り、RAM104上のnodeデータ201の2次元格子配列の左上から右下に向かって再度ラスタスキャンを繰り返す。
CPU102は、フラグ配列データ203中の全ての配列要素値が「非処理」になってステップS316の判定がYESになると、全ての処理を終了する。
以上の図3のフローチャートで示されるデータ処理により、ラスタスキャンの回数を従来技術に比較して削減することが可能となる。
図4は、本発明によるデータ処理装置の他の実施形態であるハードウェアシステムの構成図である。
Push−Relabel演算回路404(データ処理実行部)とnodeデータ201を記憶するRAM403からなる構成が一般的であるが、本実施形態ではさらに、フリップフロップ回路またはRAMからなるフラグレジスタ401(フラグ記憶部)と、nodeデータ判定回路405(ノードデータ判定部)が追加され、アドレス生成回路402がフラグレジスタ401の記憶内容に基づいて動作する構成を有する。
フラグレジスタ401は、図2のフラグ配列データ203の各配列要素値を、フリップフロップまたはRAMの1記憶領域として記憶する。
アドレス生成回路402は、図3のフローチャートにおけるステップS303からS308、およびS314に対応するアドレス制御処理を実行するハードウェア回路である。
Push−Relabel演算回路404は、図3のフローチャートにおけるステップS309〜S312に対応するデータ処理を実行するハードウェア回路である。
nodeデータ判定回路405は、図3のフローチャートにおけるステップS313に対応するフラグ更新処理を実行するハードウェア回路である。
以上の図4に示されるハードウェア構成により、ラスタスキャンの繰返しによる2次元データに対するデータ処理を効率的に実行可能な性能の良いデータ処理ハードウェアを実現することが可能となる。
以上の各実施形態に関して、更に以下の付記を開示する。
(付記1)
格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、
前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、
前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、
該データ処理によって更新されたノードデータを判定するノードデータ判定部と、
前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、
を備えることを特徴とするデータ処理装置。
(付記2)
前記ラスタスキャン制御部は、
前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグを判定し、該フラグが前記ラスタスキャンの実行を示している場合には該ラインに対応する前記ラスタスキャンを実行し、該フラグが前記ラスタスキャンの実行を示していない場合には該ラインに対応する前記ラスタスキャンをスキップして該ラインの次のラインに対する前記フラグの判定に移行し、
前記2次元データ上の全ての前記ラインに対する制御が終了したときに全ての処理を終了するか否かを判定し、該判定に基づいて、前記ラインごとの制御を繰り返し実行するか前記全ての処理を終了するかを制御する、
ことを特徴とする付記1に記載のデータ処理装置。
(付記3)
前記ラスタスキャン制御部は、
前記ラインに対応する前記フラグが前記ラスタスキャンの実行を示している場合には、前記ノードデータを記憶するメモリに対して、該ラインの先頭に対応するアドレスから該ライン分のアドレスを順次指定することにより、前記メモリの前記順次指定したアドレスから前記ノードデータを順次読み出させる動作として、前記ラスタスキャンを実行する、
ことを特徴とする付記2に記載のデータ処理装置。
(付記4)
前記ラスタスキャン制御部は、前記全ての処理を終了するか否かの判定において、前記フラグ記憶部が記憶する全ての前記フラグが前記ラスタスキャンの実行を示していない場合に、前記全ての処理を終了することを判定する、
ことを特徴とする付記2または3のいずれかに記載のデータ処理装置。
(付記5)
前記ラスタスキャン制御部は、全ての処理の開始時に、前記フラグ記憶部が記憶する全ての前記フラグの状態を前記ラスタスキャンの実行を示す状態に初期設定する、
ことを特徴とする付記1ないし4のいずれかに記載のデータ処理装置。
(付記6)
前記データ処理実行部は、
前記ラスタスキャン制御部による前記ラスタスキャンに従って、前記ラインを構成する前記各ノードデータを順次抽出し、
該抽出したノードデータが前記データ処理の対象である場合に、該抽出したノードデータおよび該抽出したノードデータに関連するノードデータに対する前記データ処理を実行し、その後に次のノードデータの抽出に移行し、
該抽出したノードデータが前記データ処理の対象ではない場合に、次のノードデータの抽出に移行する、
ことを特徴とする付記1ないし5のいずれかに記載のデータ処理装置。
(付記7)
前記データ処理は、前記各ノードデータを含んで構成されるグラフデータ上のソースからシンクへの最大流を算出するための複数の経路を算出するPush−Relabel法による処理である、
ことを特徴とする付記1ないし6のいずれかに記載のデータ処理装置。
(付記8)
前記2次元データは画像データであり、前記ノードデータは、前記画像データを構成する画素データから変換されたマルコフ確率場データである、
ことを特徴とする付記1ないし7のいずれかに記載のデータ処理装置。
(付記9)
格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶し、
前記ラインごとに、該ラインに対応する前記記憶したフラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御し、
前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行し、
該データ処理によって更新されたノードデータを判定し、
前記ノードデータの判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記記憶しているフラグの状態を前記ラスタスキャンの実行を示す状態に更新する、
ことを特徴とするデータ処理方法。
(付記10)
格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するステップと、
前記ラインごとに、該ラインに対応する前記記憶したフラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するステップと、
前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するステップと、
該データ処理によって更新されたノードデータを判定するステップと、
前記ノードデータの判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記記憶しているフラグの状態を前記ラスタスキャンの実行を示す状態に更新するステップと、
をコンピュータに実行させるためのプログラム。
101 データ処理装置
102 CPU
103 ROM
104 RAM
105 外部記憶装置
106 通信インタフェース
107 入力装置
108 表示装置
109 可搬記録媒体駆動装置
110 可搬記録媒体
111 バス
112 撮像装置
201 nodeデータ
202 ライン
203 フラグ配列データ
401 フラグレジスタ
402 アドレス生成回路
403 RAM
404 Push−Relabel演算回路
405 nodeデータ判定回路

Claims (9)

  1. 格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、
    前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、
    前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、
    該データ処理によって更新されたノードデータを判定するノードデータ判定部と、
    前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、を備え、
    前記データ処理は、前記各ノードデータを含んで構成されるグラフデータ上のソースからシンクへの最大流を算出するための複数の経路を算出するPush−Relabel法による処理であることを特徴とするデータ処理装置。
  2. 格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、
    前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、
    前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、
    該データ処理によって更新されたノードデータを判定するノードデータ判定部と、
    前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、を備え、
    前記2次元データは画像データであり、前記ノードデータは、前記画像データを構成する画素データから変換されたマルコフ確率場データであることを特徴とするデータ処理装置。
  3. 前記ラスタスキャン制御部は、
    前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグを判定し、該フラグが前記ラスタスキャンの実行を示している場合には該ラインに対応する前記ラスタスキャンを実行し、該フラグが前記ラスタスキャンの実行を示していない場合には該ラインに対応する前記ラスタスキャンをスキップして該ラインの次のラインに対する前記フラグの判定に移行し、
    前記2次元データ上の全ての前記ラインに対する制御が終了したときに全ての処理を終了するか否かを判定し、該判定に基づいて、前記ラインごとの制御を繰り返し実行するか前記全ての処理を終了するかを制御する、
    ことを特徴とする請求項1または2に記載のデータ処理装置。
  4. 前記ラスタスキャン制御部は、
    前記ラインに対応する前記フラグが前記ラスタスキャンの実行を示している場合には、前記ノードデータを記憶するメモリに対して、該ラインの先頭に対応するアドレスから該ライン分のアドレスを順次指定することにより、前記メモリの前記順次指定したアドレスから前記ノードデータを順次読み出させる動作として、前記ラスタスキャンを実行する、
    ことを特徴とする請求項に記載のデータ処理装置。
  5. 格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するフラグ記憶部と、
    前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するラスタスキャン制御部と、
    前記ラスタスキャン制御部によって前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するデータ処理実行部と、
    該データ処理によって更新されたノードデータを判定するノードデータ判定部と、
    前記ノードデータ判定部の判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記フラグ記憶部が記憶するフラグの状態を前記ラスタスキャンの実行を示す状態に更新するフラグ更新部と、を備え、
    前記ラスタスキャン制御部は、
    前記ラインごとに、前記フラグ記憶部が記憶する該ラインに対応する前記フラグを判定し、該フラグが前記ラスタスキャンの実行を示している場合には該ラインに対応する前記ラスタスキャンを実行し、該フラグが前記ラスタスキャンの実行を示していない場合には該ラインに対応する前記ラスタスキャンをスキップして該ラインの次のラインに対する前記フラグの判定に移行し、
    前記2次元データ上の全ての前記ラインに対する制御が終了したときに全ての処理を終了するか否かを判定し、該判定に基づいて、前記ラインごとの制御を繰り返し実行するか前記全ての処理を終了するかを制御し、
    記全ての処理を終了するか否かの判定において、前記フラグ記憶部が記憶する全ての前記フラグが前記ラスタスキャンの実行を示していない場合に、前記全ての処理を終了することを判定する、
    ことを特徴とするデータ処理装置。
  6. 前記ラスタスキャン制御部は、全ての処理の開始時に、前記フラグ記憶部が記憶する全ての前記フラグの状態を前記ラスタスキャンの実行を示す状態に初期設定する、
    ことを特徴とする請求項1ないしのいずれかに記載のデータ処理装置。
  7. 前記データ処理実行部は、
    前記ラスタスキャン制御部による前記ラスタスキャンに従って、前記ラインを構成する前記各ノードデータを順次抽出し、
    該抽出したノードデータが前記データ処理の対象である場合に、該抽出したノードデータおよび該抽出したノードデータに関連するノードデータに対する前記データ処理を実行し、その後に次のノードデータの抽出に移行し、
    該抽出したノードデータが前記データ処理の対象ではない場合に、次のノードデータの抽出に移行する、
    ことを特徴とする請求項1ないしのいずれかに記載のデータ処理装置。
  8. 格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶し、
    前記ラインごとに、該ラインに対応する前記記憶したフラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御し、
    前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行し、
    該データ処理によって更新されたノードデータを判定し、
    前記ノードデータの判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記記憶しているフラグの状態を前記ラスタスキャンの実行を示す状態に更新する、ことを特徴とするデータ処理方法であって、
    前記データ処理は、前記各ノードデータを含んで構成されるグラフデータ上のソースからシンクへの最大流を算出するための複数の経路を算出するPush−Relabel法による処理であることを特徴とするデータ処理方法。
  9. 格子構造を有する2次元データを構成する各ノードデータのラインごとに、該ラインに対するラスタスキャンを実行するか否かを示すフラグを記憶するステップと、
    前記ラインごとに、該ラインに対応する前記記憶したフラグに基づいて該ラインに対応するラスタスキャンを実行するかスキップするかを制御するステップと、
    前記ラスタスキャンが実行された前記ライン上の前記各ノードデータに対して、データ処理を実行するステップと、
    該データ処理によって更新されたノードデータを判定するステップと、
    前記ノードデータの判定結果に基づき次回のラスタスキャンのために値が更新されたノードデータが含まれるラインに対応する前記記憶しているフラグの状態を前記ラスタスキャンの実行を示す状態に更新するステップと、をコンピュータに実行させるためのプログラムであって、
    前記2次元データは画像データであり、前記ノードデータは、前記画像データを構成する画素データから変換されたマルコフ確率場データであることを特徴とするプログラム
JP2013081261A 2013-04-09 2013-04-09 データ処理装置、方法、およびプログラム Expired - Fee Related JP6217116B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013081261A JP6217116B2 (ja) 2013-04-09 2013-04-09 データ処理装置、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013081261A JP6217116B2 (ja) 2013-04-09 2013-04-09 データ処理装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014203386A JP2014203386A (ja) 2014-10-27
JP6217116B2 true JP6217116B2 (ja) 2017-10-25

Family

ID=52353744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013081261A Expired - Fee Related JP6217116B2 (ja) 2013-04-09 2013-04-09 データ処理装置、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6217116B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157854A (ja) * 2003-11-27 2005-06-16 Canon Inc 画像処理方法、および、装置
JP5137243B2 (ja) * 2008-03-26 2013-02-06 富士フイルム株式会社 対象領域抽出装置および方法ならびにプログラム

Also Published As

Publication number Publication date
JP2014203386A (ja) 2014-10-27

Similar Documents

Publication Publication Date Title
JP6435740B2 (ja) データ処理システム、データ処理方法およびデータ処理プログラム
JP2014010621A (ja) 最適画像サイズによる画像領域分割装置、方法、およびプログラム
CN112734641A (zh) 目标检测模型的训练方法、装置、计算机设备及介质
JP6422250B2 (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
CN112771578B (zh) 使用细分缩放和深度上缩放的图像生成
JP6619034B2 (ja) ホモグラフィの修正
JP5700968B2 (ja) 画像処理装置、画像処理方法、およびプログラム
US20150332435A1 (en) Image processing apparatus, image processing method, and computer-readable recording medium
CN111681165A (zh) 图像处理方法、装置、计算机设备和计算机可读存储介质
CN112446951B (zh) 三维重建方法、装置、电子设备及计算机存储介质
CN112149745B (zh) 确定难例样本的方法、装置、设备及存储介质
CN113744280A (zh) 图像处理方法、装置、设备及介质
CN113506305A (zh) 三维点云数据的图像增强方法、语义分割方法及装置
CN111161289B (zh) 图像中物体轮廓精度提升方法、装置
CN112614149A (zh) 基于实例分割的语义合成方法
JP6217116B2 (ja) データ処理装置、方法、およびプログラム
CN117897723A (zh) 用于学习局部图像增强的色调曲线的系统和方法
JP6044138B2 (ja) 画像領域分割装置、方法、およびプログラム
CN111754518B (zh) 图像集合的扩充方法、装置及电子设备
US11037311B2 (en) Method and apparatus for augmenting data in monitoring video
JP7408973B2 (ja) 学習モデル生成装置、画像補正装置、学習モデル生成プログラム、及び画像補正プログラム
JP6764983B1 (ja) 建物形状設定装置及びプログラム
JP6116271B2 (ja) 特徴量算出装置、方法及びプログラム
JP6044130B2 (ja) 画像領域分割装置、方法、およびプログラム
JP6331914B2 (ja) アルゴリズム生成装置、アルゴリズム生成方法及びアルゴリズム生成用コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170911

R150 Certificate of patent or registration of utility model

Ref document number: 6217116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees