(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2019145992
(43)【公開日】20190829
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
   H04N 5/232 20060101AFI20190802BHJP
   G06T 7/231 20170101ALI20190802BHJP
【FI】
   !H04N5/232 290
   !H04N5/232 480
   !G06T7/231
【審査請求】未請求
【請求項の数】19
【出願形態】OL
【全頁数】19
(21)【出願番号】2018027891
(22)【出願日】20180220
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】川村 勇太
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内
【テーマコード(参考)】
5C122
5L096
【Fターム(参考)】
5C122DA03
5C122DA04
5C122EA41
5C122FH01
5C122FH03
5C122FH12
5C122FH23
5C122HA88
5C122HB01
5C122HB10
5L096BA08
5L096CA04
5L096EA05
5L096EA39
5L096FA32
5L096FA34
5L096GA51
5L096HA04
5L096JA09
5L096JA16
(57)【要約】
【課題】動きベクトルの検出精度を向上させることである。
【解決手段】画像処理装置は、第1の画像と第2の画像に対して、第1の画像処理を行う第1の画像処理手段と、第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出手段と、第1の動きベクトルの信頼度を算出する第1の信頼度算出手段と、第1の動きベクトルの信頼度を基に、第1の画像と第2の画像に対して、第2の画像処理を行う第2の画像処理手段と、第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出手段と、第2の動きベクトルの信頼度を算出する第2の信頼度算出手段と、第1の動きベクトルと、第2の動きベクトルと、第1の動きベクトルの信頼度と、第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定手段とを有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1の画像と第2の画像に対して、第1の画像処理を行う第1の画像処理手段と、
前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出手段と、
前記第1の動きベクトルの信頼度を算出する第1の信頼度算出手段と、
前記第1の動きベクトルの信頼度を基に、前記第1の画像と前記第2の画像に対して、第2の画像処理を行う第2の画像処理手段と、
前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出手段と、
前記第2の動きベクトルの信頼度を算出する第2の信頼度算出手段と、
前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定手段と
を有することを特徴とする画像処理装置。
【請求項2】
第1の画像と第2の画像の少なくとも一方の画像を解析する画像解析手段と、
前記画像の解析の結果に応じて、前記第1の画像と前記第2の画像に対して、第1の画像処理を行う第1の画像処理手段と、
前記画像の解析の結果に応じて、前記第1の画像と前記第2の画像に対して、前記第1の画像処理とは異なる第2の画像処理を行う第2の画像処理手段と、
前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出手段と、
前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出手段と、
前記第1の動きベクトルの信頼度を算出する第1の信頼度算出手段と、
前記第2の動きベクトルの信頼度を算出する第2の信頼度算出手段と、
前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定手段と
を有することを特徴とする画像処理装置。
【請求項3】
第1の画像と第2の画像の少なくとも一方の画像を解析する画像解析手段と、
前記画像の解析の結果に応じて、前記第1の画像と前記第2の画像に対して、第1の画像処理を行う第1の画像処理手段と、
前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出手段と、
前記第1の動きベクトルの信頼度を算出する第1の信頼度算出手段と、
前記第1の動きベクトルの信頼度を基に、前記第1の画像と前記第2の画像に対して、第2の画像処理を行う第2の画像処理手段と、
前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出手段と、
前記第2の動きベクトルの信頼度を算出する第2の信頼度算出手段と、
前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定手段と
を有することを特徴とする画像処理装置。
【請求項4】
前記第1の動きベクトル検出手段は、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の相関値を算出し、前記第1の相関値を基に、前記第1の動きベクトルを検出し、
前記第2の動きベクトル検出手段は、前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の相関値を算出し、前記第2の相関値を基に、前記第2の動きベクトルを検出し、
前記第1の信頼度算出手段は、前記第1の相関値を基に、前記第1の動きベクトルの信頼度を算出し、
前記第2の信頼度算出手段は、前記第2の相関値を基に、前記第2の動きベクトルの信頼度を算出することを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記第1の動きベクトル検出手段は、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、画素毎の第1の相関値を算出し、前記第1の相関値を基に、前記第1の動きベクトルを検出し、
前記第1の信頼度算出手段は、前記第1の相関値の最小値の逆数を基に、前記第1の動きベクトルの第1の信頼度を算出し、前記第1の相関値の最大値と最小値との差分に対する、前記第1の相関値の平均値と最小値との差分の比を基に、前記第1の動きベクトルの第2の信頼度を算出し、
前記第2の画像処理手段は、前記第1の動きベクトルの第1の信頼度が閾値より低く、前記第1の動きベクトルの第2の信頼度が閾値より低い場合には、前記第1の画像と前記第2の画像に対して、テクスチャを強調する処理を行うことを特徴とする請求項1又は3に記載の画像処理装置。
【請求項6】
前記第1の動きベクトル検出手段は、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、画素毎の第1の相関値を算出し、前記第1の相関値を基に、前記第1の動きベクトルを検出し、
前記第1の信頼度算出手段は、前記第1の相関値の最小値の逆数を基に、前記第1の動きベクトルの第1の信頼度を算出し、前記第1の相関値の最大値と最小値との差分に対する、前記第1の相関値の平均値と最小値との差分の比を基に、前記第1の動きベクトルの第2の信頼度を算出し、
前記第2の画像処理手段は、前記第1の動きベクトルの第1の信頼度が閾値より高く、前記第1の動きベクトルの第2の信頼度が閾値より低い場合には、前記第1の画像と前記第2の画像に対して、ノイズを低減する処理を行うことを特徴とする請求項1、3、5のいずれか1項に記載の画像処理装置。
【請求項7】
前記第1の動きベクトル検出手段は、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、画素毎の第1の相関値を算出し、前記第1の相関値を基に、前記第1の動きベクトルを検出し、
前記第1の信頼度算出手段は、前記第1の相関値の最大値と最小値との差分を基に、前記第1の動きベクトルの信頼度を算出し、
前記第2の画像処理手段は、前記第1の動きベクトルの信頼度が閾値より低い場合には、前記第1の画像と前記第2の画像に対して、テクスチャの強調とコントラストの強調を行うことを特徴とする請求項1、3、5、6のいずれか1項に記載の画像処理装置。
【請求項8】
前記第1の動きベクトル検出手段は、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、画素毎の第1の相関値を算出し、前記第1の相関値を基に、前記第1の動きベクトルを検出し、
前記第1の信頼度算出手段は、前記第1の相関値の最小の極小値と他の極小値との差分を基に、前記第1の動きベクトルの信頼度を算出し、
前記第2の画像処理手段は、前記第1の動きベクトルの信頼度が閾値より低く、テクスチャの繰り返しパターンが存在する場合には、前記第1の画像と前記第2の画像に対して、繰り返しパターンを除去する処理を行うことを特徴とする請求項1、3、5〜7のいずれか1項に記載の画像処理装置。
【請求項9】
前記第1の動きベクトル検出手段は、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、画素毎の第1の相関値を算出し、前記第1の相関値を基に、前記第1の動きベクトルを検出し、
前記第1の信頼度算出手段は、前記第1の相関値の最小の極小値と他の極小値との差分を基に、前記第1の動きベクトルの信頼度を算出し、
前記第2の画像処理手段は、前記第1の動きベクトルの信頼度が閾値より低く、テクスチャのエッジパターンが存在する場合には、前記第1の画像と前記第2の画像に対して、エッジを抑圧する処理を行うことを特徴とする請求項1、3、5〜8のいずれか1項に記載の画像処理装置。
【請求項10】
前記画像解析手段は、画像の画素毎の輝度値を解析することを特徴とする請求項2又は3に記載の画像処理装置。
【請求項11】
前記第1の画像処理手段は、前記輝度値の最大値と最小値との差分が閾値より小さい場合には、コントラストの強調とテクスチャの強調を行うことを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記第1の画像処理手段は、前記輝度値の繰り返し回数が閾値より多い場合には、テクスチャの繰り返しパターンを除去する処理を行うことを特徴とする請求項10又は11に記載の画像処理装置。
【請求項13】
前記画像解析手段は、画像の輝度値の高周波成分を抽出し、前記抽出した高周波成分の周波数を検出し、
前記第1の画像処理手段は、前記高周波成分の周波数が閾値より高い場合には、前記高周波成分を低減する処理を行うことを特徴とする請求項10〜12のいずれか1項に記載の画像処理装置。
【請求項14】
前記第1の画像処理手段は、画像の輝度値のエッジパターンが存在する場合には、前記エッジを抑圧する処理を行うことを特徴とする請求項10〜13のいずれか1項に記載の画像処理装置。
【請求項15】
前記相関値は、差分絶対値和、差分二乗和、又は正規化相互相関であることを特徴とする請求項4〜9のいずれか1項に記載の画像処理装置。
【請求項16】
第1の画像と第2の画像に対して、第1の画像処理を行う第1の画像処理ステップと、
前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出ステップと、
前記第1の動きベクトルの信頼度を算出する第1の信頼度算出ステップと、
前記第1の動きベクトルの信頼度を基に、前記第1の画像と前記第2の画像に対して、第2の画像処理を行う第2の画像処理ステップと、
前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出ステップと、
前記第2の動きベクトルの信頼度を算出する第2の信頼度算出ステップと、
前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定ステップと
を有することを特徴とする画像処理方法。
【請求項17】
第1の画像と第2の画像の少なくとも一方の画像を解析する画像解析ステップと、
前記画像の解析の結果に応じて、前記第1の画像と前記第2の画像に対して、第1の画像処理を行う第1の画像処理ステップと、
前記画像の解析の結果に応じて、前記第1の画像と前記第2の画像に対して、前記第1の画像処理とは異なる第2の画像処理を行う第2の画像処理ステップと、
前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出ステップと、
前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出ステップと、
前記第1の動きベクトルの信頼度を算出する第1の信頼度算出ステップと、
前記第2の動きベクトルの信頼度を算出する第2の信頼度算出ステップと、
前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定ステップと
を有することを特徴とする画像処理方法。
【請求項18】
第1の画像と第2の画像の少なくとも一方の画像を解析する画像解析ステップと、
前記画像の解析の結果に応じて、前記第1の画像と前記第2の画像に対して、第1の画像処理を行う第1の画像処理ステップと、
前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出ステップと、
前記第1の動きベクトルの信頼度を算出する第1の信頼度算出ステップと、
前記第1の動きベクトルの信頼度を基に、前記第1の画像と前記第2の画像に対して、第2の画像処理を行う第2の画像処理ステップと、
前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出ステップと、
前記第2の動きベクトルの信頼度を算出する第2の信頼度算出ステップと、
前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定ステップと
を有することを特徴とする画像処理方法。
【請求項19】
コンピュータを、請求項1〜15のいずれか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
デジタルスチルカメラやデジタルビデオカメラ等の撮像装置を用いて撮影された映像に対して手ぶれ補正を施すためには、フレーム画像間の動き量を検出して複数枚の画像に対して位置合わせを行う必要がある。フレーム画像間の動き量を検出する方法としては、ジャイロセンサのような外部機器の情報を用いたり、撮影されたフレーム画像から動き量を推定したりする方法等がある。
【0003】
フレーム画像を用いた動き量推定の方法は種々提案されているが、その代表的なものとして、テンプレートマッチングによる動きベクトル検出がある。テンプレートマッチングでは、まず映像中のある2枚のフレーム画像の一方を基準画像、もう一方を参照画像とする。そして、基準画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置においてテンプレートブロック内の画素値の分布との相関を求める。このとき、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先であり、基準画像上でのテンプレートブロックの位置を基準とした時の移動先への向きと移動量が動きベクトルとなる。このとき、入力画像に対してプレ処理を行うことで、テンプレートマッチングの精度の向上を行う手法が知られている。
【0004】
特許文献1には、プレ処理として、入力された画像から解像度が互いに異なる複数の階層画像を生成し、最も低解像度の階層画像から動きベクトルを検出し、その動きベクトルを参照しながら高解像度の階層画像へと動きベクトルを検出する技術が開示されている。このとき、各階層で動きベクトル毎に信頼度を判定し、高解像度の階層画像で動きベクトル検出を行うか否か判断し、処理時間の向上を行う。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−288110号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された技術のように、低解像度の階層画像で信頼度の低い動きベクトルに対して、高解像度の階層画像を使用し、動きベクトルを検出するだけでは、動きベクトルの信頼度が向上しない場合がある。例えば、格子のような繰り返しパターンのテクスチャが原因で、信頼度が低い動きベクトルが検出された場合、高解像度の階層画像にすることによって、より信頼度が低い動きベクトルが検出されやすくなる。他にも、ノイズが原因で信頼度が低い場合や、エッジパターンのテクスチャにより信頼度が低い場合は、画像の高解像度化だけでは信頼度が向上しない場合がある。このように、信頼度が低くなる原因によっては、画像を高解像度化するだけでは、信頼度を向上させることができない場合がある。
【0007】
本発明の目的は、動きベクトルの検出精度を向上させることができるようにすることである。
【課題を解決するための手段】
【0008】
本発明の画像処理装置は、第1の画像と第2の画像に対して、第1の画像処理を行う第1の画像処理手段と、前記第1の画像処理が行われた第1の画像と第2の画像とを基に、第1の動きベクトルを検出する第1の動きベクトル検出手段と、前記第1の動きベクトルの信頼度を算出する第1の信頼度算出手段と、前記第1の動きベクトルの信頼度を基に、前記第1の画像と前記第2の画像に対して、第2の画像処理を行う第2の画像処理手段と、前記第2の画像処理が行われた第1の画像と第2の画像とを基に、第2の動きベクトルを検出する第2の動きベクトル検出手段と、前記第2の動きベクトルの信頼度を算出する第2の信頼度算出手段と、前記第1の動きベクトルと、前記第2の動きベクトルと、前記第1の動きベクトルの信頼度と、前記第2の動きベクトルの信頼度とを基に、第3の動きベクトルを決定する動きベクトル決定手段とを有する。
【発明の効果】
【0009】
本発明によれば、動きベクトルの検出精度を向上させることができる。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態による画像処理装置の構成例を示すブロック図である。
【図2】画像処理を説明するためのフローチャートである。
【図3】テンプレートマッチングを説明するための図である。
【図4】相関値マップを説明するための図である。
【図5】相関値マップの表現方法を説明するための図である。
【図6】信頼度を表す相関値指標を説明するための図である。
【図7】相関値マップを使用したエッジパターン判定を説明するための図である。
【図8】信頼度の算出方法を説明するための図である。
【図9】第2の実施形態による画像処理装置の構成例を示すブロック図である。
【図10】画像処理を説明するためのフローチャートである。
【図11】輝度値と画像特性指標を説明するための図である。
【図12】輝度値を使用したエッジパターン判定を説明するための図である。
【図13】第3の実施形態による画像処理装置の構成例を示すブロック図である。
【図14】画像処理を説明するためのフローチャートである。
【図15】信頼度と画像処理及び画像特性と画像処理の組み合わせを示す図である。
【発明を実施するための形態】
【0011】
(第1の実施形態)
図1は、本発明の第1の実施形態による画像処理装置100の構成例を示すブロック図である。画像処理装置100は、画像入力部101と、画像メモリ102と、第1の画像処理部103と、第1の動きベクトル検出部104と、第1の信頼度判定部105とを有する。さらに、画像処理装置100は、第2の画像処理部106と、第2の動きベクトル検出部107と、第2の信頼度判定部108と、動きベクトル決定部109とを有する。
【0012】
画像入力部101は、複数フレームの画像を順に入力する。画像メモリ102は、画像入力部101により入力された1フレーム又は複数のフレームの画像を一時的に記憶する。第1の動きベクトル検出部104及び第2の動きベクトル検出部107は、画像入力部101により入力された画像を基準画像とし、画像メモリ102に記憶された画像を参照画像とし、現在のフレーム画像から過去のフレーム画像への動きベクトルを検出する。なお、基準画像と参照画像は、入れ替えてもよく、その場合は、第1の動きベクトル検出部104及び第2の動きベクトル検出部107は、過去のフレーム画像から現在のフレーム画像への動きベクトルを検出する。
【0013】
第1の画像処理部103は、画像入力部101により入力された基準画像と、画像メモリ102に記憶された参照画像に対して、画像処理を行う。第1の動きベクトル検出部104は、第1の画像処理部103により処理された基準画像と、第1の画像処理部103により処理された参照画像とを基に、例えばテンプレートマッチングにより動きベクトルを検出する。第1の信頼度判定部105は、第1の信頼度算出部であり、第1の動きベクトル検出部104により検出された動きベクトルの信頼度を算出する。
【0014】
第2の画像処理部106は、画像入力部101により入力された基準画像と、画像メモリ102に記憶された参照画像に対して、第1の信頼度判定部105により算出された信頼度に基づいて、画像処理を行う。第2の動きベクトル検出部107は、第2の画像処理部106により処理された基準画像と、第2の画像処理部106により処理された参照画像とを基に、例えばテンプレートマッチングにより動きベクトルを検出する。第2の信頼度判定部108は、第2の信頼度算出部であり、第2の動きベクトル検出部107により検出された動きベクトルの信頼度を算出する。
【0015】
動きベクトル決定部109は、第1の動きベクトル検出部104及び第2の動きベクトル検出部107により検出された動きベクトルと、第1の信頼度判定部105及び第2の信頼度判定部108により算出された信頼度に基づいて、画像の動きベクトルを決定する。
【0016】
図2は、画像処理装置100の画像処理方法を説明するためのフローチャートである。ステップS201では、画像入力部101は、撮影された複数フレームの画像を順に入力する。画像メモリ102は、画像入力部101により入力された複数フレームの画像を順に記憶する。本実施形態では、画像メモリ102に記憶された画像を参照画像とし、画像メモリ102に記憶される前の画像を基準画像とする。
【0017】
ステップS202では、第1の画像処理部103は、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して、第1の画像処理を施す。テンプレートマッチングでは、ノイズやDC成分は外乱となるため、第1の画像処理部103は、基準画像及び参照画像に対して、ノイズ除去と画像強調を同時に行うためのバンドパスフィルタをかける。
【0018】
ステップS203では、第1の動きベクトル検出部104は、第1の画像処理部103により処理された基準画像と参照画像との間の動きベクトルを、テンプレートマッチングにより算出する。
【0019】
図3(a)及び(b)は、テンプレートマッチングを説明するための図である。図3(a)は基準画像を示し、図3(b)は参照画像を示す。第1の動きベクトル検出部104は、図3(a)の基準画像にテンプレート領域301を配置し、図3(b)の参照画像にサーチ領域302を配置し、テンプレート領域301とサーチ領域302との相関値を算出する。ここで、テンプレート領域301は、図3(a)の基準画像の任意の座標に配置される。サーチ領域302は、テンプレート領域301を上下左右均等に包含するように所定の大きさで配置される。テンプレート領域301の配置は、予め決められている座標を中心として配置してもよいし、特徴点を算出し特徴点を中心にして配置してもよい。本実施形態では、相関値の算出方法として、差分絶対値和(Sum of Absolute Difference:以下、SADと略す)を使用する。SADの計算式を式(1)に示す。
【0020】
【数1】
【0021】
式(1)において、f(i,j)は、テンプレート領域301内の座標(i,j)での輝度値を示している。また、g(i,j)は、サーチ領域302内において、相関値の算出対象となる相関値算出領域303内の各座標での輝度値を示す。第1の動きベクトル検出部104は、輝度値f(i,j)及びg(i,j)の差の絶対値を計算し、その総和を求めることにより、相関値S_SADを得る。相関値S_SADの値が小さいほど、テンプレート領域301と相関値算出領域303のテクスチャの類似度が高いことを表す。なお、相関値の算出方法として、SAD以外の方法を用いてもよく、例えば差分二乗和(SSD)や正規化相互相関(NCC)を用いてもよい。
【0022】
第1の動きベクトル検出部104は、サーチ領域302の全域において、相関値算出領域303を移動させて、相関値S_SADを算出する。そして、第1の動きベクトル検出部104は、サーチ領域302に対して、図4(a)及び(b)に示すような相関値マップを生成する。
【0023】
図4(a)は、サーチ領域302の座標系で算出した相関値マップを示しており、X軸とY軸は相関値マップ座標を表し、Z軸は各座標での相関値の大きさを表している。図4(b)は、図4(a)の等高線を示したものである。図4(a)及び(b)において、相関値が最も小さいのは極小値401である。第1の動きベクトル検出部104は、サーチ領域302内で極小値401が算出された領域には、テンプレート領域301と非常に類似したテクスチャが存在していると判定できる。極小値402は2番目に小さい極小値、極小値403は3番目に小さい極小値を表している。極小値402及び403は、極小値401に次いで類似したテクスチャが存在していることを意味する。
【0024】
このように、第1の動きベクトル検出部104は、テンプレート領域301とサーチ領域302との間で相関値S_SADを算出し、その値が最も小さくなる相関値算出領域303の位置を判定する。これにより、第1の動きベクトル検出部104は、基準画像上のテンプレート領域301の参照画像上での移動先を特定することができる。そして、第1の動きベクトル検出部104は、基準画像上でのテンプレート領域301の位置を基準とした参照画像上での移動先への方向及び移動量を、方向及び大きさとした動きベクトルを検出することができる。
【0025】
ステップS204では、第1の信頼度判定部105は、第1の動きベクトル検出部104により算出された相関値を用いて、第1の動きベクトル検出部104により検出された動きベクトルの信頼度を算出する。
【0026】
図5は、図4(b)の2次元相関値マップにおいて、相関値をラスタ順404に並べ、1次元の画素アドレスで表した相関値を示す図である。図5の縦軸は相関値を示し、横軸は相関値マップのX座標とY座標により一意に定まる画素アドレスである。以降、信頼度を算出するため、図5の表現を用いる。なお、相関値501は、図4(a)及び(b)の極小値に対応する。動きベクトル検出部104及び107は、画素アドレスで表される画素毎の相関値を算出し、相関値を基に、動きベクトルを検出する。
【0027】
図6(a)〜(d)は、信頼度を表す相関値の指標の一例を示す。図6の横軸は画素アドレスを示し、縦軸は相関値を示す。図6(a)では、信頼度の指標として、相関値の最小値Daを用いる。最小値Daが大きい場合、テンプレート領域301とサーチ領域302の類似度が低いと考えられ、一致度が低く、信頼度が低いことを表す。最小値Daと信頼度は、反比例の関係にあるため、最小値Daの逆数(1/Da)を信頼度の指標とする。
【0028】
図6(b)では、信頼度の指標として、相関値の最大値と最小値との差分Aに対する、相関値の平均値と最小値との差分Bの比Db(=B/A)を用いる。比Dbは、最大相関値の急峻性を表している。比Dbが小さい場合、テンプレート領域301とサーチ領域302の類似度が低いと考えられ、信頼度が低いことを示す。
【0029】
図6(c)では、信頼度の指標として、相関値の最大値と最小値との差分Dcを用いる。差分Dcは、相関値マップのレンジを表している。差分Dcが小さい場合、テクスチャのコントラストが低いことが考えられ、信頼度が低いことを示す。
【0030】
図6(d)では、信頼度の指標として、相関値の最小の極小値601と2番目に小さい極小値602との差分Ddを用いる。ここで、最小の極小値601は、最小値であり、図4(a)及び(b)の最小の極小値401に対応する。極小値602は、図4(a)及び(b)の2番目に小さい極小値402に対応する。極小値603は、図4(a)及び(b)の3番目に小さい極小値403に対応する。よって、図6(d)は、図4(b)の等高線において、相関値の最小値と類似した極小値が存在しないかを確認することを意味している。差分Ddは、相関値マップの周期性を表している。差分Ddが閾値より小さい場合、テクスチャが繰り返しパターンやエッジパターンなどであることが考えられ、信頼度が低いことを示す。なお、ここでは、最小の極小値601と2番目に小さい極小値602を選択したが、相関値マップの周期性を判定できればよいため、その他の極小値を選択してもよい。差分Ddが閾値より小さい場合、図7の等高線のように、相関値の最小値701を基準として水平方向もしくは垂直方向もしくは斜め方向に極小値702が続く場合は、テクスチャのエッジパターンが存在すると判断し、差分Ddを信頼度の指標Dd2とする。そうでなければ、テクスチャの繰り返しパターンが存在すると判断し、差分Ddを信頼度の指標Dd1とする。
【0031】
上記で説明した相関値の指標は、そのまま信頼度として用いることができるが、例えば、図8のように、相関値の指標と信頼度の対応付けを行ってもよい。図8の横軸は相関値指標D(上述の1/Da,Db,Dc,Dd1、Dd2のいずれか)を示し、縦軸は信頼度Rを示す。この例では、2つの閾値T1及びT2を設ける。相関値指標Dが閾値T1以下である場合には、信頼度Rを0にする。相関値指標Dが閾値T2以上である場合には、信頼度Rを1とする。閾値T1及びT2は、相関値指標毎に変更してもよい。閾値T1及びT2の間の区間は、相関値指標Dと信頼度Rを線形に対応付けてもよいし、非線形に対応付けてもよい。以降の説明では、各相関値指標1/Da,Db,Dc,Dd1、Dd2から得られる信頼度をRa,Rb,Rc,Rd1,Rd2と表現する。ここで、Ra=f(1/Da)、Rb=f(Db)、Rc=f(Dc)、Rd1=f(Dd1)、Rd2=f(Dd2)の関係にある。
【0032】
最終的な信頼度Rは、これらRa,Rb,Rc,Rd1,Rd2を組み合わせて算出すればよい。ここでは、重み付け加算に基づく組み合わせ方法を説明する。重み付け加算による組み合わせでは、Ra,Rb,Rc,Rd1,Rd2の重みをそれぞれWa,Wb,Wc,Wd1,Wd2とすれば、信頼度Rは、式(2)のように計算される。
【0033】
【数2】
【0034】
例えば、重みWa=0.4,Wb=0.3,Wc=0.2,Wd1=0.05,Wd2=0.05とする。全ての信頼度が十分に高く、Ra=Rb=Rc=Rd1=Rd2=1の場合には、式(2)より、R=1.0となる。また、Ra=0.6,Rb=0.5,Rc=0.7,Rd1=0.7,Rd2=0.7のような場合には、式(2)より、R=0.6となる。
【0035】
ステップS205では、第2の画像処理部106は、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して、第1の信頼度判定部105により算出された信頼度に基づいて、適応的に画像処理を施す。
【0036】
図15(a)は、信頼度と画像処理の組み合わせの例を示す図である。第2の画像処理部106は、信頼度Raが閾値より低く、信頼度Rbが閾値より低いと判定した場合は、バンドパスフィルタを使用し、テクスチャを強調する画像処理を行う。類似度が低い理由は、画像のテクスチャが不鮮明である場合やノイズなどの影響などが考えられる。信頼度Ra及びRbがともに閾値より低い場合は、画像のテクスチャが不鮮明であると考えられるので、第2の画像処理部106のバンドパスフィルタの特性を第1の画像処理部103のものよりも高周波を残すようにする。これにより、第2の画像処理部106は、基準画像と参照画像に対して、テクスチャを強調する処理を行うことができる。信頼度Raは閾値より高いが、信頼度Rbが閾値より低い場合は、ノイズにより間違った相関値が高くなっている可能性があるので、第2の画像処理部106のバンドパスフィルタの特性を第1の画像処理部103のものよりも、高周波を落とすような特性にする。この場合、第2の画像処理部106は、基準画像と参照画像に対して、ノイズを低減することができる。これにより、画像のテンプレート領域301とサーチ領域302の類似度を上げることができる。
【0037】
第2の画像処理部106は、信頼度Rcが閾値より低いと判定した場合は、画像領域内の輝度値の明るい部分をより明るく、暗い部分をより暗くする処理を行うことで、画像にコントラストをつける処理を行う。また、第2の画像処理部106は、ハイパスフィルタを使用することで、画像のテクスチャ情報を残すような処理も行い、コントラスト強調とテクスチャ強調を行う。
【0038】
第2の画像処理部106は、信頼度Rd1が閾値より低いと判定した場合は、ノッチフィルタを使用し、繰り返しパターンの除去を行う。また、第2の画像処理部106は、信頼度Rd2が閾値より低いと判定した場合は、微分フィルタを使用し、微分フィルタによりエッジを抽出し、抽出したエッジの長さに応じて、微分フィルタの応答値を下げることでエッジの除去(抑圧)を行う。
【0039】
ステップS206では、第2の動きベクトル検出部107は、第2の画像処理部106により処理された基準画像と参照画像との間の動きベクトルを、テンプレートマッチングにより検出する。この処理は、ステップS203の処理と同様であるため、説明を省略する。
【0040】
ステップS207では、第2の信頼度判定部108は、第2の動きベクトル検出部107により算出された相関値を用いて、第2の動きベクトル検出部107により検出された動きベクトルの信頼度を算出する。この処理は、ステップS204の処理と同様であるため、説明を省略する。
【0041】
ステップS208では、動きベクトル決定部109は、第1の動きベクトル検出部104及び第2の動きベクトル検出部107により検出された動きベクトルと、第1の信頼度判定部105及び第2の信頼度判定部108により算出された信頼度を入力する。そして、動きベクトル決定部109は、その入力した2つの動きベクトル及び2つの信頼度を使用し、動きベクトルを決定する。動きベクトル決定部109は、単純に、2つの信頼度のうちの信頼度の高い方の動きベクトルを選択してもよいし、式(3)のように、信頼度R1及びR2を重みとして動きベクトルVを決めてもよい。式(3)において、Vは、最終的に決定する動きベクトルである。V1は、ステップS203において検出した動きベクトルである。R1は、ステップS204において算出した信頼度である。V2は、ステップS206において検出した動きベクトルである。R2は、ステップS207において算出した信頼度である。
【0042】
【数3】
【0043】
以上説明したように、本実施形態では、画像処理装置100は、第1の動きベクトル検出部104により検出された動きベクトルの信頼度に応じて、第2の画像処理部106の画像処理を適応的に行う。これにより、第2の動きベクトル検出部107は、高精度で動きベクトルを検出することができる。動きベクトル決定部109は、第1の信頼度判定部105及び第2の信頼度判定部108により算出された信頼度R1及びR2を基に、第1の動きベクトル検出部104及び第2の動きベクトル検出部107により検出された動きベクトル重みづけを行う。これにより、第1の画像処理部103及び第2の画像処理部106の画像処理では対処しきれない低信頼度の動きベクトルに対しても、動きベクトルの信頼度を向上させることができる。
【0044】
(第2の実施形態)
図9は、本発明の第2の実施形態による画像処理装置900の構成例を示すブロック図である。図9において、図1に示した構成要素と共通するものについては、同じ符号を付す。画像処理装置900は、画像入力部101と、画像メモリ102と、画像解析部901と、第1の画像処理部902と、第1の動きベクトル検出部104と、第1の信頼度判定部105とを有する。さらに、画像処理装置900は、第2の画像処理部903と、第2の動きベクトル検出部107と、第2の信頼度判定部108と、動きベクトル決定部109とを有する。
【0045】
画像解析部901は、画像入力部101により入力された基準画像と、画像メモリ102に記憶された参照画像の少なくともどちらか一方の画像の特性を解析する。画像の特性の解析は、動きベクトル検出部104又は107で使用するテンプレート領域301又はサーチ領域302毎に行われる。
【0046】
第1の画像処理部902は、画像入力部101により入力された基準画像と、画像メモリ102に記憶された参照画像を、画像解析部901により解析された画像特性に基づいて、画像処理を行う。第1の動きベクトル検出部104は、第1の画像処理部902により処理された基準画像と、第1の画像処理部902により処理された参照画像に対して、例えばテンプレートマッチングにより動きベクトルを検出する。
【0047】
第2の画像処理部903は、画像入力部101により入力された基準画像と、画像メモリ102に記憶された参照画像を、画像解析部901により解析された画像特性に基づいて、画像処理を行う。第2の動きベクトル検出部107は、第2の画像処理部903により処理された基準画像と、第2の画像処理部903により処理された参照画像に対して、例えばテンプレートマッチングにより動きベクトルを検出する。
【0048】
第1の画像処理部902と第2の画像処理部903は、相互に異なる画像処理を行う。例えば、画像解析部901が解析した画像特性が低コントラストの場合、画像処理部902及び903は、ハイパスフィルタを施すが、フィルタのピーク帯域が高すぎる場合、テクスチャだけではなくノイズも強調されてしまう。そこで、画像処理部902及び903は、テクスチャ強調を優先する帯域と、テクスチャを強調しつつノイズを抑制するような帯域の2種類の特性のフィルタを適応的に施す。このように、画像処理部902及び903は、2種類の特性のフィルタにより画像処理を行うことで、フィルタ特性により相関値が変わるため、一方のフィルタ特性では信頼度が低くなる場合でも、もう一方のフィルタ特性では信頼度が高くなる可能性がある。
【0049】
図10は、画像処理装置900の画像処理方法を説明するためのフローチャートである。図10において、図2に示したステップと共通するものについては、図2と同じ符号を付し、説明を省略する。
【0050】
ステップS201の後、ステップS1001では、画像解析部901は、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して画像解析を行い、輝度値に基づいて、画像の特性を決定する。
【0051】
図11(a)〜(c)及び図12は、画像特性を表す輝度値の指標の一例を示す。図11(a)〜(c)の横軸は、画像のX座標とY座標により一意に定まる画素アドレスであり、図11(a)〜(c)の縦軸は輝度値である。画像解析部901は、画像の画素毎の輝度値を解析する。図12において、1つの四角は画素を表し、矢印は隣接する画素との輝度値の勾配を表し、矢印の大きさは、輝度値の変化の大きさを表し、矢印の方向は輝度値の変化の方向を表す。
【0052】
図11(a)では、指標として輝度値の最大値と最小値との差分Daを用いる。画像解析部901は、差分Daが閾値より小さい場合、テクスチャのコントラストが低いと判定する。
【0053】
図11(b)では、指標として輝度値の繰り返し回数Dbを用いる。画像解析部901は、フィルタを使用し、閾値より応答の高い周波数を抽出することにより、繰り返し回数Dbを検出する。画像解析部901は、繰り返し回数Dbが閾値より多い場合、繰り返しパターンのテクスチャがあると判定する。
【0054】
図11(c)では、指標として輝度値の高周波の周波数Dcを用いる。画像解析部901は、ハイパスフィルタを使用することで画像の輝度値の高周波成分を抽出し、抽出した高周波成分の周波数Dcを検出し、周波数Dcが閾値より高い場合、画像にノイズが乗っていると判定する。
【0055】
図12では、輝度値の勾配が最大の勾配1201に対して、輝度値の勾配の方向が同一でかつ大きさの変化が一定範囲以内にある輝度値の勾配1202が、水平方向、垂直方向又は斜め方向に続く場合、指標として輝度値の勾配1202の個数Ddを用いる。画像解析部901は、個数Ddが閾値より多い場合、画像の輝度値のエッジパターンが存在すると判定する。
【0056】
ステップS1002では、第1の画像処理部902は、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して、画像解析部901により解析された画像特性に応じて適応的に画像処理を施す。
【0057】
図15(b)は、画像特性と画像処理の組み合わせの例を示す図である。第1の画像処理部902は、差分(低コントラスト)Daが閾値より小さいと判定した場合は、画像領域内の輝度値の明るい部分をより明るく、暗い部分をより暗くする処理を行うことにより、画像にコントラストをつける処理を行う。また、第1の画像処理部902は、ハイパスフィルタを使用することより、画像のテクスチャ情報を残すような処理を行い、コントラスト強調とテクスチャ強調を行う。
【0058】
また、第1の画像処理部902は、繰り返し回数Dbが閾値より多いと判定した場合は、ノッチフィルタを使用し、テクスチャの繰り返しパターンの除去を行う。また、第1の画像処理部902は、周波数(ノイズ)Dcが閾値より高いと判定した場合は、ローパスフィルタを使用することにより、高周波成分であるノイズ成分の除去(低減)を行う。
【0059】
また、第1の画像処理部902は、個数(エッジパターン)Ddが閾値より多いと判定した場合は、画像の輝度値のエッジパターンが存在するので、微分フィルタを使用する。第1の画像処理部902は、微分フィルタによりエッジを抽出し、抽出したエッジの長さに応じて微分フィルタの応答値を下げることでエッジの除去(低減)を行う。
【0060】
画像処理装置900は、ステップS1002の後、ステップS203及びS204の処理を行う。
【0061】
ステップS1003では、第2の画像処理部903は、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して、画像解析部901により解析された画像特性に応じて適応的に画像処理を施す。第2の画像処理部903は、ステップS1002と同様に、図15(b)に示すように、画像特性に応じた画像処理を行う。ただし、第2の画像処理部903は、第1の画像処理部902とは異なる画像処理を行う。
【0062】
第2の画像処理部903は、低コントラストDaが閾値より小さいと判定した場合は、第1の画像処理部902に比べ、画像領域内の輝度値の明るい部分をさらに明るくし、暗い部分をさらに暗くする処理を行うことで画像のコントラストを極端につける処理を行う。また、第2の画像処理部903は、第1の画像処理部902に比べ、使用するハイパスフィルタのピーク帯域をより高周波にすることにより、画像のテクスチャをより強調する処理を行う。
【0063】
また、第2の画像処理部903は、繰り返し回数Dbが閾値より多いと判定した場合は、第1の画像処理部902に比べ、ノッチフィルタで除去する帯域をより狭くすることにより、特定の繰り返しパターンだけを除去するようにする。
【0064】
また、第2の画像処理部903は、周波数(ノイズ)Dcが閾値より高いと判定した場合は、第1の画像処理部902に比べ、ローパスフィルタのピーク帯域をより低周波にすることにより、より高周波成分を低減する処理を行う。
【0065】
また、第2の画像処理部903は、個数(エッジパターン)Ddが多いと判定された場合は、第1の画像処理部902に比べ、微分フィルタの応答値を上げることにより、より輝度値の勾配が低いエッジも抽出する。そして、第2の画像処理部903は、抽出したエッジの長さに応じて微分フィルタの応答値を下げることにより、より輝度値の勾配が低いエッジも除去できるような処理を行う。
【0066】
画像処理装置900は、ステップS1003の後、ステップS206〜S208の処理を行う。以上説明したように、本実施形態では、画像処理部902及び903は、画像特性に基づき画像処理を適応的に行うことで、第1の実施形態とは異なり、共に、適応的な画像処理を行うことが可能である。また、第1の画像処理部902及び第2の画像処理部903は、相互に異なる画像処理を行うことにより、第1の信頼度判定部105及び第2の信頼度判定部108が算出する信頼度に差がでる。そのため、第1の信頼度判定部105及び第2の信頼度判定部108は、第1の実施形態よりも、片方の信頼度が低くなる場合でも、もう一方の信頼度が高くなる可能性があり、動きベクトルの信頼度を向上させることができる。
【0067】
(第3の実施形態)
図13は、本発明の第3の実施形態による画像処理装置1300の構成例を示すブロック図である。図13において、図1又は図9に示した構成要素と共通するものについては、同じ符号を付す。画像処理装置1300は、画像入力部101と、画像メモリ102と、画像解析部901と、第1の画像処理部902と、第1の動きベクトル検出部104と、第1の信頼度判定部105とを有する。さらに、画像処理装置1300は、第2の画像処理部106と、第2の動きベクトル検出部107と、第2の信頼度判定部108と、動きベクトル決定部109とを有する。
【0068】
図14は、画像処理装置1300の画像処理方法を説明するためのフローチャートである。図14において、図2又は図10に示したステップと共通するものについては、同じ符号を付し、説明を省略する。第3の実施形態は、第1の実施形態と第2の実施形態を組み合わせた実施形態である。
【0069】
ステップS201の後、ステップS1001では、画像解析部901は、第2の実施形態と同様に、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して画像解析を行い、輝度値に基づいて、画像の特性を決定する。
【0070】
ステップS1002では、第1の画像処理部902は、第2の実施形態と同様に、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して、画像解析部901により解析された画像特性に応じて適応的に画像処理を施す。
【0071】
その後、画像処理装置1300は、第1の実施形態と同様に、ステップS203〜S208の処理を行う。すなわち、ステップS205では、第2の画像処理部106は、画像入力部101により入力された基準画像と、画像メモリ102に記憶されている参照画像に対して、第1の信頼度判定部105により算出された信頼度に基づいて、適応的に画像処理を施す。
【0072】
以上説明したように、本実施形態では、第1の画像処理部902は、画像特性に基づき適応的に画像処理を行い、第2の画像処理部106は、第1の信頼度判定部105により算出された信頼度に基づき適応的に画像処理を行う。そのため、本実施形態は、第1の実施形態に比べ、第1の信頼度判定部105の信頼度が向上する。また、本実施形態は、第2の実施形態に比べ、第2の画像処理部106では、画像解析の結果を含めた第1の信頼度判定部105の信頼度を用いるため、第2の信頼度判定部108の信頼度が向上する。
【0073】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0074】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0075】
100 画像処理装置、101 画像入力部、102 画像メモリ、103 第1の画像処理部、104 第1の動きベクトル検出部、105 第1の信頼度判定部、106 第2の画像処理部、107 第2の動きベクトル検出部、108 第2の信頼度判定部、109 動きベクトル決定部
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】