JP2018081641A - 画像処理装置及びその制御方法、プログラム、記憶媒体 - Google Patents

画像処理装置及びその制御方法、プログラム、記憶媒体 Download PDF

Info

Publication number
JP2018081641A
JP2018081641A JP2016225371A JP2016225371A JP2018081641A JP 2018081641 A JP2018081641 A JP 2018081641A JP 2016225371 A JP2016225371 A JP 2016225371A JP 2016225371 A JP2016225371 A JP 2016225371A JP 2018081641 A JP2018081641 A JP 2018081641A
Authority
JP
Japan
Prior art keywords
image
boundary
image processing
processing
divided
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.)
Pending
Application number
JP2016225371A
Other languages
English (en)
Inventor
友貴 植草
Tomotaka Uekusa
友貴 植草
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016225371A priority Critical patent/JP2018081641A/ja
Publication of JP2018081641A publication Critical patent/JP2018081641A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】複数の画像処理プロセッサを用いて特徴点を抽出し、動きベクトルを検出する場合に、画像処理プロセッサの処理負荷と画像処理プロセッサ間での転送データ量を削減する。【解決手段】動画像中の各フレーム画像をそれぞれ複数の部分領域に分割して、複数の部分領域の画像信号を並列に処理する複数の画像処理プロセッサを備え、複数の画像処理プロセッサのそれぞれが、部分領域を複数の分割領域に分割する分割部と、分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する選択部と、分割領域ごとの特徴点に基づいて、各フレーム画像を参照するマッチング処理に使用する画像領域を設定し、動きベクトルを検出する検出部とを有し、検出部は、複数の部分領域の境界に位置する分割領域においては、マッチング処理において境界を越えた画像の参照が生じないように、マッチング処理に使用する画像領域を設定する。【選択図】 図1

Description

本発明は、複数のフレーム画像間で動きベクトルを検出する画像処理装置に関するものである。
デジタルカメラ等の撮像装置を用いて撮影された映像に対して像ブレ補正を施すためには、フレーム画像間の動き量を検出して複数枚の画像に対して位置合わせを行う必要がある。フレーム画像間の動き量を検出する方法としては、ジャイロセンサのような外部機器の情報を用いたり、撮影されたフレーム画像から動き量を推定したりする方法等がある。
フレーム画像を用いて動き量を推定する方法は従来から種々提案されているが、その代表的なものとしてテンプレートマッチングによる動きベクトル検出がある。テンプレートマッチングでは、まず映像中のある2枚のフレーム画像の一方を原画像、もう一方を参照画像とする。そして、原画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置においてテンプレートブロック内の画素値の分布との相関を求める。このとき、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先であり、原画像上でのテンプレートブロックの位置を基準とした時の移動先への向きと移動量が動きベクトルとなる。
動きベクトルの検出率を向上させるため、特徴点を抽出し、抽出した特徴点にテンプレートブロックを配置し、フレーム画像間でテンプレートマッチングを行う技術がある。ここで、画像全体に対して特徴点抽出を行うと、特徴点の分布は不均一になることが多い。不均一な特徴点に対して得られた動きベクトルを像ブレ補正の用途で使用する場合、特徴の集中した領域が主となる像ブレ補正となってしまう。
この問題を解決するため、特許文献1では、特徴点を均一に分布させるために、画像をグリッド状に分割して、特徴の大きさを表す特徴値を画素ごとに計算し、各グリッド内で特徴値が最も大きい画素を特徴点として抽出している。
図15は、特許文献1に記載されている技術に基づいて、各グリッド内で特徴点を求めて、その特徴点にテンプレートブロックを配置し、テンプレートマッチングを行う例を示した図である。図15において、1501はグリッド、1502はグリッド内の特徴点、1503はテンプレート、1504はテンプレートに対するサーチ範囲を示す。例えば、グリッド1501においては、特徴点1502を中心としたテンプレート1503に基づいて、サーチ範囲1504内でテンプレートマッチングが行われる。
一方、近年、撮像素子の多画素化や動画像の高フレームレート化などに伴い、画像処理プロセッサで処理するデータ量が増大してきている。データ量が増大すると、画像処理を行う場合に1つの画像処理プロセッサで処理することができなくなるため、複数の画像処理プロセッサを搭載し、処理を分担するという方法がとられる。特許文献2には、複数の画像処理プロセッサで処理を分担する例が開示されている。特許文献2には、複数の画像処理プロセッサを直列に接続し、画像の領域を分割して、分割した領域を各々の画像処理プロセッサで分担して処理することが開示されている。
特開2008−192060号公報 特許第4843744号公報
特許文献1に開示されている技術においては、抽出される特徴点の位置が画像により変化するため、図15に1505や1506で示される領域のように、グリッド外の領域の画像が必要となる場合がある。
そのため、例えば図15に示す画像を破線1507で分割し、複数の画像処理プロセッサで画像領域1500と1508を分担して処理しようとした場合、分割境界のグリッドにおいて特徴点抽出処理を行うためには、画像をオーバーラップさせる必要がある。この場合、各画像処理プロセッサの処理負荷が大きくなり、画像処理プロセッサ間の転送データ量も増加するという問題がある。
本発明は上述した課題に鑑みてなされたものであり、その目的は、複数の画像処理プロセッサを用いて特徴点を抽出し、動きベクトルを検出する場合に、画像処理プロセッサの処理負荷と画像処理プロセッサ間での転送データ量を削減することである。
本発明に係わる画像処理装置は、動画像中の各フレーム画像をそれぞれ複数の部分領域に分割して、該複数の部分領域の画像信号を並列に処理する複数の画像処理プロセッサを備え、前記複数の画像処理プロセッサのそれぞれが、前記部分領域を複数の分割領域に分割する分割手段と、分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する選択手段と、前記分割領域ごとの特徴点に基づいて、前記各フレーム画像を参照するマッチング処理に使用する画像領域を設定し、動きベクトルを検出する検出手段とを有し、前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域を設定することを特徴とする。
本発明によれば、複数の画像処理プロセッサを用いて特徴点を抽出し、動きベクトルを検出する場合に、画像処理プロセッサの処理負荷と画像処理プロセッサ間での転送データ量を削減することが可能となる。
本発明の画像処理装置の第1の実施形態である撮像装置の構成を示すブロック図。 第1の実施形態における動きベクトル検出部の構成を示す図。 第1の実施形態における画像の分割例を示す図。 分割された画像の処理順序を示す図。 特徴点算出部の構成を示す図。 第1の実施形態における特徴点抽出を行う範囲の制限方法を示す図。 ベクトル検出画像の読み出し範囲を示す図。 第2の実施形態におけるメモリアドレス生成処理のフローチャート。 第2の実施形態におけるベクトル検出画像の読み出し範囲の変更方法を示す図。 第3の実施形態におけるメモリアドレス生成処理のフローチャート。 第3の実施形態におけるベクトル検出画像の読み出し範囲の変形方法を示す図。 第4の実施形態の撮像装置の構成を示す図。 第4の実施形態におけるメモリアドレス生成処理のフローチャート。 第4の実施形態における各画像処理プロセッサでの処理画像範囲を示す図。 複数の画像処理プロセッサを用いたグリッド分割処理に基づく特徴点テンプレートマッチングの例を示す図。
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
<第1の実施形態>
図1から図7を参照して、本発明の画像処理装置の第1の実施形態について説明する。第1の実施形態では、複数の画像処理プロセッサを有する画像処理装置において、各画像処理プロセッサの処理画像領域の境界グリッドにおいて特徴点抽出を行う範囲を制限する例について説明する。これにより、各画像処理プロセッサ間の画像のオーバーラップを減らし、処理負荷と転送データ量の削減を図ることができる。
図1は、本発明の画像処理装置の第1の実施形態である撮像装置100の構成を示すブロック図である。撮像装置100は、画像信号を並列に処理する2つの画像処理プロセッサを有する。この2つの画像処理プロセッサは、本実施形態では同一の構成の画像処理プロセッサであり、一方を第1の画像処理プロセッサ1、もう一方を第2の画像処理プロセッサ2と呼ぶ。図1では、番号の後に「−1」が記載されているものが第1の画像処理プロセッサ1側の機能ブロックであり、番号の後に「−2」が記載されているものが第2の画像処理プロセッサ2の機能ブロックである。なお、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2は、例えば一部の未使用機能を省いた、異なる構成の画像処理装置でもよい。
撮像装置100は、撮像光学系101、撮像素子102、撮像光学系駆動部103、撮像素子駆動部104、画像分配部105、記憶部106、カメラ信号処理部107、動きベクトル検出部108、CPU109、通信部110を備える。
撮像光学系101は、フォーカスレンズや像ぶれ補正レンズを含む複数のレンズ群および絞りを有して構成される。撮像光学系101は被写体からの光を受け、撮像素子102に被写体像を結像させる。撮像光学系駆動部103は、CPU109から出力される、光学系のズーム、フォーカス、絞り、像ぶれ補正のための駆動制御情報に基づいて、撮像光学系101を制御する。撮像光学系101を通過した光束は撮像素子102上に被写体の光学像を形成する。
撮像素子102は、CCDやCMOSセンサ等からなり、その表面は例えばベイヤー配列のようなRGBカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。撮像素子102は受光した光束を電気信号に変換し、アナログ信号をA/D変換した画像データを第1の画像処理プロセッサ1に出力する。撮像素子駆動部104は、CPU109から出力される、撮像素子の画素加算/間引き読み出し、切り出し読み出し等のための駆動制御情報に基づいて、撮像素子102を制御する。
画像分配部105は、2つの画像処理プロセッサで分担して処理を行うために、撮像素子102から出力される画像を上下に分割し、第1の画像処理プロセッサ1で処理する下半分(下部分領域)の画像を記憶部106−1に出力する。また、第2の画像処理プロセッサ2で処理する上半分(上部分領域)の画像を通信部110−1に出力する。画像分配部105は、カメラ信号処理部107、動きベクトル検出部108、通信部110よりも数倍の画像を処理できる構成となっている。
第1の画像処理プロセッサ1の通信部110−1は、第2の画像処理プロセッサ2の通信部110−2に対し、上半分の画像を送信し、第2の画像処理プロセッサ2の通信部110−2は、受信した上半分の画像を記憶部106−2に出力する。記憶部106は、DRAMなどの記憶部で構成され、画像分配部105や通信部110から出力される画像、動きベクトル検出用の画像等を記憶する。
カメラ信号処理部107−1は、記憶部106−1に記憶された下半分の画像に対して、カメラ信号処理部107−2は、記憶部106−2に記憶された上半分の画像に対して、センサ補正、ホワイトバランス調整、ノイズリダクション、現像処理などのカメラ信号処理を行う。なお、カメラ信号処理部107は画像処理を行う際に適宜画像を記憶部106に記憶、もしくは記憶部106から画像の読み出しを行う。
カメラ信号処理部107で処理された各々の画像は、記録用および表示用の画像データとして、不図示の記録部、表示部に出力される。分割された画像は既知の手法で、再統合される。記録部、表示部の構成は公知のものであり、詳細な説明は省略する。
第1の画像処理プロセッサ1の動きベクトル検出部108−1は、画像分割部105が記憶部106−1に出力する下半分の画像を用いて動きベクトル検出を行い、動きベクトルデータを算出する。算出された動きベクトルデータはCPU109−1に出力される。第2の画像処理プロセッサ2の動きベクトル検出部108−2は、通信部110−2が記憶部106−2に出力する上半分の画像を用いて動きベクトル検出を行い、動きベクトルデータを算出する。算出された動きベクトルデータはCPU109−2に出力される。動きベクトル検出部108の詳細な構成及び動きベクトルの検出方法については、後述する。
CPU109−2は取得した動きベクトルデータを通信部110−2へ出力する。通信部110−2は、第1の画像処理プロセッサ1の通信部110−1に動きベクトルデータを出力する。通信部110−1は、第2の画像処理プロセッサ2で算出した動きベクトルデータをCPU0109−1に出力する。
CPU0109−1は、第1の画像処理プロセッサ1で算出した動きベクトルデータと第2の画像処理プロセッサ2で算出した動きベクトルデータから、像ぶれ補正のためのグローバルモーション(画面全体の動き)を算出する。グローバルモーションの算出方法としては、X方向とY方向のそれぞれで、全ての分割グリッドのベクトル値でヒストグラムを求め、その最頻値をグローバルモーションとする。CPU0109−1は算出したグローバルモーションに基づいて、既知の手法で、像ぶれ補正のためのレンズ駆動量を算出して、レンズ制御情報を撮像光学系駆動部103に出力する。また、CPU109は、記憶部106に格納されている制御プログラムに従って、システム全体の動作制御を行う。
以上が本実施形態の撮像装置100の構成である。次に、本実施形態における動きベクトル検出部108の構成及び、動きベクトルの検出方法について説明する。図2は、動きベクトル検出部108の構成を示すブロック図である。図2において、動きベクトル検出部108は、グリッド分割部201、ベクトル検出画像生成部202、特徴点算出部(特徴点選択部)203、メモリアドレス生成部204、マッチング処理部205を有している。
グリッド分割部201は、入力された動きベクトル検出の対象となる画像を複数の領域に分割し、分割したグリッド毎の画像を出力する。図3は、第2の画像処理プロセッサ2における上半分の画像をグリッド分割した例を示しており、画像300を、水平方向に6個、垂直方向に3個のグリッドに分割している。グリッド分割数、グリッド画像サイズは、CPU109によってグリッド分割部201に設定される。以降の処理では、グリッド301−1に対し、特徴点302−1を求め、求めた特徴点に応じて、テンプレート画像303−1の位置と、サーチ画像304−1の位置を決定して、テンプレートマッチングを行う。また、特徴点302はグリッド301内の座標となるため、グリッド301−2に示すように、特徴点302−2がグリッド301−2の端に近くなると、テンプレート画像303−2とサーチ画像304−2がグリッド301−2をはみ出してしまう場合がある。従って、上下左右端のグリッドに対しては、余分領域305を準備する必要があるが、下端に関しては、画像処理プロセッサの処理境界であり、画像中心となるため、余分画素は設けない。余分領域サイズは、CPU109によってグリッド分割部201に設定される。
また、グリッド分割部201は、図4に示すように、後段のベクトル検出画像生成部202と、特徴点算出部203に対し、画像400を、前述した余分領域を含めた分割領域単位で出力する。まず、左上端の余分領域402−1の画像を読み出したら、次に、その右隣の余分領域402−2を読み出し、そのまま水平方向の余分領域を読み出す。上端の余分領域の画像を全て読み出し終えたら、グリッド401−1に対する左端の余分領域402−3を読み出し、その後にグリッド401−1を読み出す。グリッド401−1を読み出し終えたら、グリッド401−2、グリッド401−3という順で、水平方向のグリッドを読み出していく。
なお、後段のベクトル検出画像生成部202には、余分領域402を入力する必要があるが、特徴点算出部203は、グリッド401のみが処理対象となるため、余分領域402の入力は不要である。例えば、余分領域402がベクトル検出画像生成部202に入力されている間は、特徴点算出部203は、供給するクロックを停止するなどして、消費電力を抑える構成としてもよい。また、画像400がラスタスキャンで、グリッド分割部201に入力される場合は、グリッド分割部201において、既知の手法による、ラスタブロック変換処理を行う必要がある。
次に、分割された画像は、ベクトル検出画像生成部202において、ベクトル検出画像に変換されて、記憶部106に書き込まれる。ベクトル検出画像生成部202は、例えば、バンドパスフィルタ回路であり、テンプレートマッチング処理に不要な、画像の高周波成分と低周波成分をカットする。
また、ベクトル検出画像が生成されるのと並行して、特徴点算出部203において、各グリッドの特徴点を算出する。図5は、特徴点算出部203の構成例を示した図であり、特徴点算出部203は、特徴フィルタ部501、特徴評価部502、特徴点決定部503、座標算出部504を有する。
特徴フィルタ部501は、例えば、バンドパスフィルタ、水平微分フィルタ、垂直微分フィルタ、平滑化フィルタなど、複数のフィルタから構成される。例えば、本実施形態においては、バンドパスフィルタで、画像の不要な高周波成分と低周波成分をカットし、水平方向の微分フィルタ処理を施した信号と、垂直方向の微分フィルタ処理を施した信号それぞれに対して、平滑化フィルタ処理を施した信号を出力する。特徴評価部502は、特徴フィルタ部501によりフィルタ処理されたグリッドに対し、画素ごとに2つのエッジの交点や曲率が極大である曲線状の点など画素の周辺の微分値が多方向に大きい点を特徴評価式により特徴値として算出する。本実施形態では、例えば、Shi and Tomasiの手法を用いる場合について説明する。
水平微分フィルタと垂直微分フィルタを施した結果から、自己相関行列Hを作成する。自己相関行列Hの式を(式1)に示す。
Figure 2018081641
(式1)において、Ixは水平微分フィルタを施した結果、Iyは垂直微分フィルタを施した結果を表しており、ガウシアンフィルタGを畳み込む。Shi and Tomasiの特徴評価式を(式2)に示す。
Shi and Tomashi = min(λ1,λ2) (式2)
(式2)は、(式1)の自己相関行列Hの固有値λ1,λ2のうち小さい方の固有値を特徴値とすることを示す。
座標算出部504は、グリッド内における画素の座標を算出する。画素の座標は、グリッドの左上端を(0,0)とした、相対座標で表現する。特徴点決定部503は、グリッド毎に、特徴評価部502によって画素ごとに算出された特徴値の最も大きい値を持つ画素を特徴点と決定し、座標と合わせて特徴点情報を生成する。生成された特徴点情報は、特徴点決定部503内で、グリッド毎にメモリやレジスタに一旦記憶される。そして、マッチング処理部205において、対応するグリッドのテンプレートマッチング処理が開始されるときに、メモリアドレス生成部204に特徴点情報が出力される。記憶部106には、現時点のベクトル検出画像と、動画像中の1フレーム前のベクトル検出画像の、2フレーム分のベクトル検出画像が記憶されている。本実施形態においては、現時点のベクトル検出画像をテンプレート画像とし、1フレーム前のベクトル検出画像をサーチ画像として、テンプレートマッチングを行う。
また、特徴点決定部503は、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2の処理境界に位置するグリッドにおいては、下方向もしくは上方向に対してテンプレート画像、サーチ画像がはみ出さないように、特徴点を算出する範囲を制限する。
図6は、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2の処理境界に位置するグリッドにおける、特徴点算出範囲を示した図である。上半分の画像(第2の画像処理プロセッサ2)の処理の場合、サーチ範囲の垂直サイズをSY、グリッドの垂直サイズをGYとすると、特徴点算出範囲601はグリッドの上端から(GY−SY/2)ライン目までとなる。一方、下半分の画像(第1の画像処理プロセッサ1)の処理の場合の特徴点算出範囲602は、(GY−SY/2+1)ライン目から、グリッドの下端までとなる。
メモリアドレス生成部204は、記憶部106に配置された2枚のベクトル検出画像から、所定のグリッドに対して、テンプレートマッチングに必要となるテンプレート画像とサーチ画像の読み出し位置の決定と、メモリアクセスを実施する。
図7は、グリッド701におけるテンプレート画像とサーチ画像の範囲を示した図である。702はグリッド開始座標、703は特徴点座標、704はテンプレート画像、705はサーチ画像、706はテンプレート画像読み出し開始座標である。また、707はサーチ画像読み出し開始座標、708はサーチ画像読み出し完了座標、709はグリッド701のテンプレートマッチング処理に必要となる、余分画素領域である。
まず、グリッド701内の特徴点703(PX,PY)は、グリッド開始位置を(GSX,GSY)とした場合に、画像内の絶対座標(GPX,GPY)として以下の式で表現される。
(GPX,GPY)=(GSX+PX,GSY+PY) (式3)
テンプレート画像は、特徴点が中心となるように配置される。従って、テンプレート画像の読み出し開始位置(GTX,GTY)は、テンプレート画像の水平サイズをTX、垂直サイズをTYとした場合、以下の式で表現される。
(GTX,GTY)=(GPX−TX/2,GPY−TY/2) (式4)
サーチ画像は、画像の中心をテンプレート画像の中心に揃えて配置する。従って、サーチ画像の読み出し開始位置(GMX,GMY)は、サーチ画像の水平サイズをSX、垂直サイズをSYとした場合、以下の式で表現される。
(GMX,GMY)=(GPX−SX/2,GPY−SY/2) (式5)
また、サーチ画像の右下の座標、すなわちサーチ画像の読み出し完了位置(GEX,GEY)は、以下の式で表現される。
(GEX,GEY)=(GPX+SX/2,GPY+SY/2) (式6)
テンプレート画像の読み出し開始座標、サーチ画像の読み出し開始座標及び読み出し完了座標を算出すると、メモリアドレス生成部204はメモリアドレス発行処理を行う。メモリアドレス発行処理では、記憶部106に配置された、現フレームのベクトル検出画像に対して、座標(GTX,GTY)から、水平サイズTX、垂直サイズTYの矩形領域を読みだすよう、メモリアドレスを発行する。また、同様に、記憶部106に配置された1フレーム前のベクトル検出画像に対して、座標(GMX,GMY)から、水平サイズSX、垂直サイズSYの矩形領域を読み出すよう、メモリアドレスを発行する。
マッチング処理部205は、記憶部106から読み出されたテンプレート画像とサーチ画像を用いて(参照して)相関値を算出し、その相関値からベクトル値を算出する。例えば、相関値の算出方法の一例として差分絶対値和(Sum of Absolute Difference、以下SADと略す)を使用する。
Figure 2018081641
…(式7)
(式7)において、f(i,j)はテンプレート画像704内の座標(i,j)における画素値を表しており、g(i,j)はサーチ画像705において相関値算出の対象となる領域内の各画素値を表す。相関値算出対象領域は、テンプレート画像704と同じ大きさである。そしてSADでは、両ブロック内の各画素値f(i,j)及びg(i,j)について差の絶対値を計算し、その総和を求めることで相関値S_SADを得ることが出来る。従って、相関値S_SADの値が小さいほど両ブロック間の輝度値の差分が小さい、つまりテンプレート画像704と相関値算出領域内のテクスチャが類似していることを表している。なお、本実施形態では、相関値の一例としてSADを使用しているが、これに限られるものではなく、差分二乗和(SSD)や正規化相互相関(NCC)等の他の相関値を用いてもよい。マッチング処理部205は、相関値の最小値の位置(MVX,MVY)を、グリッドの動きベクトル値として出力する。
以上説明したように、本実施形態の動きベクトル検出部108は、各画像処理プロセッサの処理画像境界に位置するグリッドにおいて、特徴点抽出を行う範囲を制限する。これにより、本実施形態によれば、テンプレート画像とサーチ画像を各画像処理プロセッサで処理する画像範囲内に納めることができる。したがって、各画像処理プロセッサ間での画像のオーバーラップを減らすことが可能となり、各画像処理プロセッサの処理負荷と転送データ量の削減を図ることができる。
<第2の実施形態>
次に、図8、図9を参照して、本発明の画像処理装置の第2の実施形態について説明する。第2の実施形態では、各画像処理プロセッサの処理画像領域の境界グリッドにおいて、テンプレート画像とサーチ画像が他の画像処理プロセッサの処理画像範囲にはみ出した場合に、読み出し範囲を移動させる例について説明する。これにより、各画像処理プロセッサ間の画像のオーバーラップを減らし、処理負荷と転送データ量の削減を図ることができる。
本発明の第2の実施形態である撮像装置、ベクトル検出部の構成は、図1、図2に示される第1の実施形態の構成と同様である。第1の実施形態と異なる点は、特徴点算出部203とメモリアドレス生成部204の処理である。
第2の実施形態における特徴点算出部203の処理では、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2の処理境界に位置するグリッドにおいても、他のグリッドと同様にグリッド全体から特徴点を抽出する。抽出された特徴点の情報はメモリアドレス生成部204に出力される。
次に、メモリアドレス生成部204の処理について説明する。図8は、第2の実施形態におけるメモリアドレス生成部204におけるメモリアドレス生成処理の動作を示すフローチャートである。また、図9は、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2の処理境界に位置するグリッドにおける、テンプレート画像とサーチ画像の読み出し範囲の変更処理を示す図である。
図9において、901−1、904−1はそれぞれ読み出し範囲変更処理前の特徴点、902−1、905−1はそれぞれ読み出し範囲変更処理前のテンプレート画像範囲、903−1、906−1はそれぞれ読み出し範囲変更処理前のサーチ画像範囲である。これに対し、901−2、904−2はそれぞれ読み出し範囲変更処理後の特徴点、902−2、905−2はそれぞれ読み出し範囲変更処理後のテンプレート画像範囲、903−2、906−2はそれぞれ読み出し範囲変更処理後のサーチ画像範囲である。
図8おいて、メモリアドレス生成部204は、メモリアドレス生成処理を開始すると、ステップS801で第1の実施形態と同様に、テンプレート画像とサーチ画像の読み出し開始座標及び読み出し完了座標を算出する。ステップS801でテンプレート画像とサーチ画像の範囲を算出すると、ステップS802に進む。
ステップS802では、メモリアドレス生成部204は、処理対象のグリッドが画像処理プロセッサの境界グリッドであるか否かを判定する。処理対象のグリッドが境界グリッドであった場合、メモリアドレス生成部204は、処理をステップS803に進め、境界グリッドでない場合は処理をステップS805に進める。
ステップS802で処理対象グリッドが境界グリッドであった場合、ステップS803でメモリアドレス生成部204は、テンプレート画像とサーチ画像の範囲が他の画像処理プロセッサの処理画像範囲にはみ出していないかを判定する。はみ出している場合は処理をステップS804に進め、はみ出していない場合は、処理をステップS805に進める。
ステップS804でメモリアドレス生成部204は、図9に示すように、他の画像処理プロセッサの処理画像範囲にはみ出したテンプレート画像902−1、905−1とサーチ画像903−1、906−1を移動させる。サーチ画像範囲に基づいて、はみ出したライン数を算出し、そのライン数分だけテンプレート画像とサーチ画像の範囲を移動させることで、他の画像処理プロセッサの処理画像範囲へのはみ出しをなくす。ステップS804でテンプレート画像とサーチ画像の範囲を移動させると、メモリアドレス生成部204は、処理をステップS805に進める。
ステップS805でメモリアドレス生成部204は、ステップS801で算出された、もしくはステップS804で移動されたテンプレート画像とサーチ画像に対応する矩形領域を読み出すよう、記憶部106に対してメモリアドレスを発行する。メモリアドレスの発行を完了すると、メモリアドレス生成部204は、ステップS806に処理を進める。
ステップS806でメモリアドレス生成部204は、全グリッドに対して処理が完了したか否かを判定する。全グリッドの処理が完了した場合、メモリアドレス生成処理は完了する。ステップS806で、全グリッドの処理が完了していない場合は、ステップS801に戻り、同様の処理を繰り返す。
以上が第2の実施形態における、メモリアドレス生成部204の制御である。これにより、テンプレート画像とサーチ画像を各画像処理プロセッサで処理する画像範囲内に納めることができる。したがって、各画像処理プロセッサ間での画像のオーバーラップを減らすことが可能となり、各画像処理プロセッサの処理負荷と転送データ量の削減を図ることができる。
なお、本実施形態では移動量に関係なく、テンプレート画像とサーチ画像の範囲を移動させる例を説明したが、これに限られるものではなく、予め算出した移動量に応じて制御を変更してもよい。例えば移動量が所定の閾値以上の場合は、抽出した特徴点からテンプレート画像が大きくずれることによる精度劣化が懸念される。このため、移動量が閾値以上の場合は、評価値順に複数保持しておいた特徴点の中から選択した他の特徴点に基づいたテンプレート画像とサーチ画像の範囲に変更するなどしてもよい。
<第3の実施形態>
図10、図11を参照して、本発明の画像処理装置の第3の実施形態について説明する。第3の実施形態では、各画像処理プロセッサの処理画像領域の境界グリッドにおいて、テンプレート画像とサーチ画像が他の画像処理プロセッサの処理画像範囲にはみ出した場合に、読み出し範囲のサイズ変更をする例について説明する。これにより、各画像処理プロセッサ間の画像のオーバーラップを減らし、処理負荷と転送データ量の削減を図ることができる。
本発明の第2の実施形態である撮像装置、ベクトル検出部の構成は、図1、図2に示される第1及び第2の実施形態の構成と同様である。第2の実施形態と異なる点は、メモリアドレス生成部204の処理である。
第3の実施形態におけるメモリアドレス生成部204の処理について説明する。図10は、第3の実施形態におけるメモリアドレス生成部204のメモリアドレス生成処理の動作を示すフローチャートである。ステップS801〜S803、S805、S806の処理は第2の実施形態と同様の処理となるため、同一の記号を振り、説明は省略する。
また、図11は、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2の処理境界に位置するグリッドにおける、テンプレート画像とサーチ画像の読み出し範囲のサイズ変更処理を示す図である。図11において、1101,1103はそれぞれ読み出し範囲サイズ変更処理後のサーチ画像範囲である。1102,1104はそれぞれ他の画像処理プロセッサの処理画像範囲にはみ出しているサーチ画像範囲である。
図10において、メモリアドレス生成部204は、ステップS803でテンプレート画像とサーチ画像の範囲が、他の画像処理プロセッサの処理画像範囲にはみ出していると判定された場合に、ステップS1001のサイズ変更処理を行う。
ステップS1001でメモリアドレス生成部204は、例えば図11に示すように、他の画像処理プロセッサの処理画像範囲にはみ出したサーチ画像範囲1102,1104を差し引いたサーチ画像範囲1101,1103に読み出し範囲のサイズを変更するあるいは変形する。これにより、他の画像処理プロセッサの処理画像範囲へのはみ出しをなくす。ステップS1001で読み出し範囲のサイズ変更を行うと、メモリアドレス生成部204は処理をステップS805に進め、メモリアドレスを発行する。
以上が第3の実施形態における、メモリアドレス生成部204の制御である。これにより、テンプレート画像とサーチ画像を各画像処理プロセッサで処理する画像範囲内に納めることができる。したがって、各画像処理プロセッサ間での画像のオーバーラップを減らすことが可能となり、各画像処理プロセッサの処理負荷と転送データ量の削減を図ることができる。
なお、本実施形態ではサイズの変更量に関係なく、サーチ画像の範囲のサイズを変更させる例について説明したが、これに限られるものではなく、予め算出したサイズ変更量に応じて制御を変更してもよい。例えばサイズ変更量が所定の閾値以上の場合は、相関値演算を行うサーチ範囲が小さくなることによる精度劣化が懸念される。このため、サイズ変更量が閾値以上の場合は、評価値順に複数保持しておいた特徴点の中から選択した他の特徴点に基づいたテンプレート画像とサーチ画像の範囲に変更するなどしてもよい。
<第4の実施形態>
図12〜図14を参照して、本発明の画像処理装置の第4の実施形態について説明する。第4の実施形態では、動きベクトル検出以外の他の画像処理要因により、各画像処理プロセッサに分配される画像サイズが動的に変化し、境界グリッドの中間が各画像処理プロセッサの処理範囲の境界となった場合に、読み出し範囲を決定する例について説明する。これにより、各画像処理プロセッサ間の画像のオーバーラップを減らし、処理負荷と転送データ量の削減を図ることができる。
図12は本実施形態の撮像装置1200の構成を示すブロック図である。第1の実施形態、第2の実施形態、第3の実施形態の撮像装置100とは、ブロックの構成と各ブロックの処理は同様であるため、同一の符号を振り、説明は省略する。
第4の実施形態では、カメラ信号処理部107内の信号処理ブロックからCPU109に対して処理結果が出力される。第2の画像処理プロセッサ2の処理結果は通信部110を介して第1の画像処理プロセッサ1のCPU109−1に集約され、その結果に応じてCPU109−1は画像分配部105で各画像処理プロセッサに分配される画像サイズを変更する構成となっている。
また、第4の実施形態におけるベクトル検出部の構成は、図2に示される第1の実施形態、第2の実施形態、第3の実施形態と同様である。第2の実施形態と異なる点は、メモリアドレス生成部204の処理である。
以下、第4の実施形態におけるメモリアドレス生成部204の処理について説明する。図13は、第4の実施形態におけるメモリアドレス生成部204のメモリアドレス生成処理の動作を示すフローチャートである。ステップS801〜S806の処理は第2の実施形態と同様の処理となるため、同一の符号を振り、説明は省略する。
また、図14は、第1の画像処理プロセッサ1と第2の画像処理プロセッサ2の処理境界に位置するグリッドにおける、各画像処理プロセッサの処理範囲を示す図である。図14において、1401は各画像処理プロセッサの処理範囲境界が中間に存在するグリッドであり、1402は境界グリッド1401の内第2の画像処理プロセッサ2に入力される範囲、1403は境界グリッド1401の内第1の画像処理プロセッサ1に入力される範囲を示している。
本実施形態においてメモリアドレス生成部204は、図13のステップS802で処理対象のグリッドが画像処理プロセッサの境界グリッドであると判定された場合に、ステップS1301に進む。ステップS1301では、グリッド全体領域における画像処理プロセッサの処理範囲の割合を判定する処理を行う。
ステップS1301で、例えば図14に示すように、画像処理プロセッサの処理範囲境界に該当する境界グリッド1401において、第1の画像処理プロセッサ1に入力される画像範囲1403はグリッド全体の画素数の1/2以下であるとする。この場合、第1の画像処理プロセッサ1のメモリアドレス生成部204では、ステップS1301の判定結果によりステップS806に進む。つまり、テンプレート画像とサーチ画像の読み出しは行われず、境界グリッド1401における動きベクトル検出を行わないことになる。一方、第2の画像処理プロセッサ2に入力される画像範囲1402はグリッド全体の画素数の1/2以上である。したがって、第2の画像処理プロセッサ2のメモリアドレス生成部204では、ステップS1301の判定結果によりステップS803に進み、以降第2の実施形態と同様にしてテンプレート画像とサーチ画像の読み出しが行われる。
以上が第4の実施形態におけるメモリアドレス生成部204の制御である。これにより、テンプレート画像とサーチ画像を各画像処理プロセッサで処理する画像範囲内に納めることができる。したがって、各画像処理プロセッサ間での画像のオーバーラップを減らすことが可能となり、各画像処理プロセッサの処理負荷と転送データ量の削減を図ることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1:第1の画像処理プロセッサ、2:第2の画像処理プロセッサ、101:撮像光学系、102:撮像素子、108:動きベクトル検出部、109:CPU

Claims (14)

  1. 動画像中の各フレーム画像をそれぞれ複数の部分領域に分割して、該複数の部分領域の画像信号を並列に処理する複数の画像処理プロセッサを備え、
    前記複数の画像処理プロセッサのそれぞれが、
    前記部分領域を複数の分割領域に分割する分割手段と、
    分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する選択手段と、
    前記分割領域ごとの特徴点に基づいて、前記各フレーム画像を参照するマッチング処理に使用する画像領域を設定し、動きベクトルを検出する検出手段とを有し、
    前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域を設定することを特徴とする画像処理装置。
  2. 前記検出手段は、前記特徴点の座標を中心に前記マッチング処理に使用する画像領域としてテンプレート画像とサーチ画像とを設定し、該テンプレート画像とサーチ画像の相関に基づいて動きベクトルを検出することを特徴とする請求項1に記載の画像処理装置。
  3. 前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記特徴点を選択する領域の範囲を制限することを特徴とする請求項2に記載の画像処理装置。
  4. 前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域を変更することを特徴とする請求項2に記載の画像処理装置。
  5. 前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域を移動させることを特徴とする請求項4に記載の画像処理装置。
  6. 前記マッチング処理に使用する画像領域を移動させる量が所定の閾値を超える場合は、前記選択手段は、前記特徴点を前記特徴値が次に高い特徴点に変更することを特徴とする請求項5に記載の画像処理装置。
  7. 前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域のサイズを変更することを特徴とする請求項4に記載の画像処理装置。
  8. 前記マッチング処理に使用する画像領域のサイズを変更する量が所定の閾値を超える場合は、前記選択手段は、前記特徴点を前記特徴値が次に高い特徴点に変更することを特徴とする請求項7に記載の画像処理装置。
  9. 前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域を変形させることを特徴とする請求項4に記載の画像処理装置。
  10. 前記検出手段は、前記複数の部分領域の境界に位置する前記分割領域においては、処理する画像範囲が大きい方の前記画像処理プロセッサにより前記マッチング処理に使用する画像領域を設定することを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
  11. 被写体像を撮像する撮像手段と、
    該撮像手段により撮像された動画像が入力される請求項1乃至10のいずれか1項に記載の画像処理装置と、
    を備えることを特徴とする撮像装置。
  12. 動画像中の各フレーム画像をそれぞれ複数の部分領域に分割して、該複数の部分領域の画像信号を並列に処理する複数の画像処理プロセッサを備える画像処理装置を制御する方法であって、
    前記複数の画像処理プロセッサのそれぞれが、
    前記部分領域を複数の分割領域に分割する分割工程と、
    分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する選択工程と、
    前記分割領域ごとの特徴点に基づいて、前記各フレーム画像を参照するマッチング処理に使用する画像領域を設定し、動きベクトルを検出する検出工程とを行い、
    前記検出工程では、前記複数の部分領域の境界に位置する前記分割領域においては、前記マッチング処理において前記境界を越えた画像の参照が生じないように、前記マッチング処理に使用する画像領域を設定することを特徴とする画像処理装置の制御方法。
  13. 請求項12に記載の制御方法の各工程を前記画像処理プロセッサに実行させるためのプログラム。
  14. 請求項12に記載の制御方法の各工程を前記画像処理プロセッサに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2016225371A 2016-11-18 2016-11-18 画像処理装置及びその制御方法、プログラム、記憶媒体 Pending JP2018081641A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016225371A JP2018081641A (ja) 2016-11-18 2016-11-18 画像処理装置及びその制御方法、プログラム、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016225371A JP2018081641A (ja) 2016-11-18 2016-11-18 画像処理装置及びその制御方法、プログラム、記憶媒体

Publications (1)

Publication Number Publication Date
JP2018081641A true JP2018081641A (ja) 2018-05-24

Family

ID=62198907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016225371A Pending JP2018081641A (ja) 2016-11-18 2016-11-18 画像処理装置及びその制御方法、プログラム、記憶媒体

Country Status (1)

Country Link
JP (1) JP2018081641A (ja)

Similar Documents

Publication Publication Date Title
JP6961749B2 (ja) インターリーブチャネルデータ用の構成可能な畳み込みエンジン
KR102574141B1 (ko) 이미지 디스플레이 방법 및 디바이스
JP6469678B2 (ja) 画像アーティファクトを補正するシステム及び方法
CN112368710B (zh) 对来自多个帧的内容进行组合的方法及其电子装置
KR20210110679A (ko) 이미지 융합 프로세싱 모듈
US9942477B2 (en) Image processing apparatus and method
JP2023058558A (ja) ユーザデバイスに適用される自然の手持ち式の動きを用いた超解像
US11153479B2 (en) Image processing apparatus, capable of detecting an amount of motion between images by tracking a point across one or more images, image capturing apparatus, image processing method, and storage medium
US20220253651A1 (en) Image fusion processor circuit for dual-mode image fusion architecture
JP6576179B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US10880457B2 (en) Image processing apparatus, image capturing apparatus, image processing method, and storage medium
US11810266B2 (en) Pattern radius adjustment for keypoint descriptor generation
JP2019020839A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2018081641A (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
JP7077115B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2018072941A (ja) 画像処理装置、画像処理方法、プログラム、記憶媒体
JP2019192048A (ja) 撮像装置
JP2018072895A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018067058A (ja) 画像処理装置、画像処理方法、プログラム、記憶媒体
JP2018180964A (ja) 画像処理装置及び画像処理方法
US11494880B2 (en) Image pyramid generation for image keypoint detection and descriptor generation
JP7278737B2 (ja) 撮像装置及びその制御方法、並びにプログラム
JP2021190922A (ja) 撮像装置及びその制御方法、並びにプログラム
JP6331363B2 (ja) 被写体特定装置、撮像装置およびプログラム
JP2018081640A (ja) 画像処理装置、画像処理方法、プログラム、記憶媒体