(57)【特許請求の範囲】
【請求項１】
時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置において、
前記２フレーム間の画素ブロック単位の動きベクトルを検出するとともに、前記動きベクトルを検出する過程で算出される前記２フレームにそれぞれ設けられた前記画素ブロックの一致の程度を示す評価値を出力する検出手段と、
検出された動きベクトルの方向に基づき、前記フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定手段と、
前記評価値および前記アクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値を演算する演算手段と
を含み、
前記アクティビティ値設定手段は、前記画素ブロックを構成する各画素を順次注目画素とし、前記注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と前記注目画素との差分絶対値を算出し、算出した前記８方向の前記差分絶対値の平均値を前記画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した前記８方向の前記差分絶対値を、前記画素ブロック内で前記８方向ごとに積算することにより前記８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が前記注目画素と原点とするＸ軸、前記Ｘ軸に直交するＹ軸、前記Ｘ軸を４５度左回転させたＸ’軸、または前記Ｙ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、
検出された動きベクトルの方向が前記Ｘ軸に最も近い場合、
第１のアクティビティ値として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ軸に最も近い場合、
第１のアクティビティ値として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｘ’軸に最も近い場合、
第１のアクティビティ値として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ’軸に最も近い場合、
第１のアクティビティ値として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
前記演算手段は、前記評価値を前記ブロックアクティビティ値で正規化する演算、前記評価値を前記第１のアクティビティ値で正規化する演算、または前記評価値を前記第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を前記確度値とする
画像信号処理装置。
【請求項２】
設定された前記第１および第２のアクティビティ値、並びに前記ブロックアクティビティ値に基づき、検出された動きベクトルの信頼性を判定する判定手段と、
検出された動きベクトルの信頼性の程度を示す前記確度値と、前記判定手段の判定結果に基づき、検出された動きベクトルが信頼できるか否かを最終的に判断する判断手段と
をさらに含む請求項１に記載の画像信号処理装置。
【請求項３】
時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の画像信号処理方法において、
前記２フレーム間の画素ブロック単位の動きベクトルを検出するとともに、前記動きベクトルを検出する過程で算出される前記２フレームにそれぞれ設けられた前記画素ブロックの一致の程度を示す評価値を出力する検出ステップと、
検出された動きベクトルの方向に基づき、前記フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップと、
前記評価値および前記アクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値を演算する演算ステップと
を含み、
前記アクティビティ値設定ステップは、前記画素ブロックを構成する各画素を順次注目画素とし、前記注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と前記注目画素との差分絶対値を算出し、算出した前記８方向の前記差分絶対値の平均値を前記画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した前記８方向の前記差分絶対値を、前記画素ブロック内で前記８方向ごとに積算することにより前記８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が前記注目画素と原点とするＸ軸、前記Ｘ軸に直交するＹ軸、前記Ｘ軸を４５度左回転させたＸ’軸、または前記Ｙ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、
検出された動きベクトルの方向が前記Ｘ軸に最も近い場合、
第１のアクティビティ値として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ軸に最も近い場合、
第１のアクティビティ値として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｘ’軸に最も近い場合、
第１のアクティビティ値として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ’軸に最も近い場合、
第１のアクティビティ値として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
前記演算ステップは、前記評価値を前記ブロックアクティビティ値で正規化する演算、前記評価値を前記第１のアクティビティ値で正規化する演算、または前記評価値を前記第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を前記確度値とする
画像信号処理方法。
【請求項４】
時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の制御用のプログラムであって、
前記２フレーム間の画素ブロック単位の動きベクトルを検出するとともに、前記動きベクトルを検出する過程で算出される前記２フレームにそれぞれ設けられた前記画素ブロックの一致の程度を示す評価値を出力する検出ステップと、
検出された動きベクトルの方向に基づき、前記フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップと、
前記評価値および前記アクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値を演算する演算ステップと
を含み、
前記アクティビティ値設定ステップは、前記画素ブロックを構成する各画素を順次注目画素とし、前記注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と前記注目画素との差分絶対値を算出し、算出した前記８方向の前記差分絶対値の平均値を前記画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した前記８方向の前記差分絶対値を、前記画素ブロック内で前記８方向ごとに積算することにより前記８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が前記注目画素と原点とするＸ軸、前記Ｘ軸に直交するＹ軸、前記Ｘ軸を４５度左回転させたＸ’軸、または前記Ｙ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、
検出された動きベクトルの方向が前記Ｘ軸に最も近い場合、
第１のアクティビティ値として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ軸に最も近い場合、
第１のアクティビティ値として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｘ’軸に最も近い場合、
第１のアクティビティ値として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ’軸に最も近い場合、
第１のアクティビティ値として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
前記演算ステップは、前記評価値を前記ブロックアクティビティ値で正規化する演算、前記評価値を前記第１のアクティビティ値で正規化する演算、または前記評価値を前記第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を前記確度値とする
処理を画像信号処理装置のコンピュータに実行させるプログラム。
【請求項５】
時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置において、
前記２フレーム間の画素ブロック単位の動きベクトルを検出する検出手段と、
検出された動きベクトルの方向に基づき、前記フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定手段と
を含み、
前記アクティビティ値設定手段は、前記画素ブロックを構成する各画素を順次注目画素とし、前記注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と前記注目画素との差分絶対値を算出し、算出した前記８方向の前記差分絶対値の平均値を前記画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した前記８方向の前記差分絶対値を、前記画素ブロック内で前記８方向ごとに積算することにより前記８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が前記注目画素と原点とするＸ軸、前記Ｘ軸に直交するＹ軸、前記Ｘ軸を４５度左回転させたＸ’軸、または前記Ｙ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、
検出された動きベクトルの方向が前記Ｘ軸に最も近い場合、
第１のアクティビティ値として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ軸に最も近い場合、
第１のアクティビティ値として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｘ’軸に最も近い場合、
第１のアクティビティ値として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ’軸に最も近い場合、
第１のアクティビティ値として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定する
画像信号処理装置。
【請求項６】
時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の画像信号処理方法において、
前記２フレーム間の画素ブロック単位の動きベクトルを検出する検出ステップと、
検出された動きベクトルの方向に基づき、前記フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップと
を含み、
前記アクティビティ値設定ステップは、前記画素ブロックを構成する各画素を順次注目画素とし、前記注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と前記注目画素との差分絶対値を算出し、算出した前記８方向の前記差分絶対値の平均値を前記画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した前記８方向の前記差分絶対値を、前記画素ブロック内で前記８方向ごとに積算することにより前記８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が前記注目画素と原点とするＸ軸、前記Ｘ軸に直交するＹ軸、前記Ｘ軸を４５度左回転させたＸ’軸、または前記Ｙ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、
検出された動きベクトルの方向が前記Ｘ軸に最も近い場合、
第１のアクティビティ値として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ軸に最も近い場合、
第１のアクティビティ値として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｘ’軸に最も近い場合、
第１のアクティビティ値として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ’軸に最も近い場合、
第１のアクティビティ値として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定する
画像信号処理方法。
【請求項７】
時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の制御用のプログラムであって、
前記２フレーム間の画素ブロック単位の動きベクトルを検出する検出ステップと、
検出された動きベクトルの方向に基づき、前記フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップと
を含み、
前記アクティビティ値設定ステップは、前記画素ブロックを構成する各画素を順次注目画素とし、前記注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と前記注目画素との差分絶対値を算出し、算出した前記８方向の前記差分絶対値の平均値を前記画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した前記８方向の前記差分絶対値を、前記画素ブロック内で前記８方向ごとに積算することにより前記８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が前記注目画素と原点とするＸ軸、前記Ｘ軸に直交するＹ軸、前記Ｘ軸を４５度左回転させたＸ’軸、または前記Ｙ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、
検出された動きベクトルの方向が前記Ｘ軸に最も近い場合、
第１のアクティビティ値として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ軸に最も近い場合、
第１のアクティビティ値として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｘ’軸に最も近い場合、
第１のアクティビティ値として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左下方向または右上方向の前記積算値のうちの大きい方を設定し、
検出された動きベクトルの方向が前記Ｙ’軸に最も近い場合、
第１のアクティビティ値として、左上方向または右下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の１つ目として、左方向または右方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の２つ目として、上方向または下方向の前記積算値のうちの大きい方を設定し、
第２のアクティビティ値の３つ目として、左上方向または右下方向の前記積算値のうちの大きい方を設定する
処理を画像信号処理装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像信号処理装置、画像信号処理方法、およびプログラムに関し、特に、動画像を構成する２フレーム間の動きベクトルを検出し、検出した動きベクトルに基づいて所定の処理を行なう場合に用いて好適な画像信号処理装置、画像信号処理方法、およびプログラムに関する。
【背景技術】
【０００２】
例えば、動画像を圧縮符号化する処理、撮影時に生じた動画像の手振れを補正する処理、シーンチェンジを検出する処理、背景の動きを推定する処理などでは、動画像を構成する２フレーム間の動きベクトルを検出し、検出した動きベクトルに応じた画像信号処理では、検出された動きベクトルをそのまま信頼して使用するのではなく、検出された動きベクトルの信頼性を判定し、この判定結果に基づいて、検出された動きベクトルを使用してもよいか否かを判断するものがある。
【０００３】
動きベクトルの信頼性を示す指標としては、動きベクトルを検出する処理の過程で算出される評価値と、動きベクトルが検出された画素ブロックのブロックアクティビティ値とが知られている。
【０００４】
ここで、動きベクトルを検出する処理の過程で算出される評価値とは、動きベクトルを例えばブロックマッチング法により求めるときの、基準フレームに設けた画素ブロックと参照フレームの画素との画素値の差分絶対値和に相当する。すなわち、検出された動きベクトルは、評価値が小さいほど信頼性が高いと判断される。
【０００５】
また、画素ブロックのブロックアクティビティ値とは、画素ブロックの画像の複雑さを示す指標である。具体的には、図１に示すように、画素ブロックに属する画素を順に注目画素とし、注目画素のアクティビティ値（注目画素とその上下左右斜めの８方向に隣接する８画素それぞれとの画素値の差分絶対値（ディアアクティビティ値）の平均値）を算出し、画素ブロックに属する全画素のアクティビティ値の総和をブロックアクティブティ値としている。
【０００６】
例えば図１に示すように、画素ブロックが４画素×８画素である場合、ブロックアクティビティ値は、３２画素分のアクティビティ値（８方向の画素値の差分絶対値の平均値）の総和（積算値）である。よって、ブロックアクティビティ値が大きければ、画像が複雑であり、ブロックマッチング法などにおいてマッチングの誤りが発生しにくい。したがって、検出された動きベクトルは、ブロックアクティビティ値が大きいほど信頼性が高いと判断される。
【０００７】
また、動きベクトルを検出する処理の過程で算出される評価値と、動きベクトルが検出された画素ブロックのブロックアクティビティ値とは、図２に示すような統計的な関係が知られており、図２の関係を利用して、動きベクトルの信頼性を表す評価値（以下、動きベクトル確度値と称する）を算出する方法が提案されている（例えば、特許文献２を参照）。
【０００８】
図２に示された統計的な関係では、検出された動きベクトルは、ブロックアクティビティ値が大きいほど信頼できる（動きベクトル確度値が大きい）とされている。また、検出された動きベクトルは、評価値が小さいほど信頼できるとされる。
【０００９】
図３は、図２に示された統計的な関係に基づいて、動きベクトルを検出するとともに、動きベクトル確度値を算出する動きベクトル検出装置の構成の一例を示している。
【００１０】
この動きベクトル検出装置１０は、順次入力される画像信号を１フレーム分遅延させるフレームメモリ１１、２フレーム間の動きベクトルを検出する動きベクトル検出部１２、各フレームの画素ブロック毎のブロックアクティビティ値を算出するブロックアクティビティ値算出部１３、ブロックアクティビティ値を所定の閾値と比較する閾値判定部１４、評価値とブロックアクティビティ値とに基づいて動きベクトル確度値を算出する確度値算出部１５、および、動きベクトル確度値に基づいて動きベクトルが信頼できるか否か判定する信頼性判断部１６から構成される。
【００１１】
動きベクトル検出部１２は、画像信号の各フレームを処理対象として画素ブロックに分割し、画素ブロック毎に動きベクトルを検出する。そして、検出した動きベクトルを図示せぬ後段に供給するとともに、動きベクトルを検出する過程で算出した評価値を確度値算出部１５に供給する。
【００１２】
一方、ブロックアクティビティ値算出部１３は、画像信号の各フレームを処理対象として画素ブロックに分割し、ブロックアクティビティ値を算出して閾値判定部１４および確度値算出部１５に出力する。
【００１３】
閾値判定部１４は、ブロックアクティビティ値が所定の閾値以下であるか否かを判定し、判定結果を信頼性判断部１６に出力する。
【００１４】
確度値算出部２５は、次式に従い、動きベクトル確度値VCを算出して信頼性判断部１６に出力する。
VC＝１−（評価値／ブロックアクティビティ値）
【００１５】
信頼性判断部１６は、動きベクトル確度値VCに基づいて、動きベクトル検出部１２で検出された動きベクトルが信頼できるか否かを判断する。なお、信頼性判断部１６は、動きベクトル確度値VCに拘わらず、閾値判定部１４の判定結果によりブロックアクティビティ値が閾値以下である場合には、検出された動きベクトルが信頼できないと判断する。
【００１６】
【特許文献１】特開２００５−３０１９８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
図３の動きベクトル検出装置１０によれば、例えば図４に示すように、画素ブロック内に被写体の直線的なエッジの一部が含まれている場合、動きベクトルが誤検出され易いにも拘らずブロックアクティビティ値は大きくなって、動きベクトル確度値が大きくなり、誤検出された動きベクトルが信頼できると誤って判断されてしまうことがある。
【００１８】
また、図３の動きベクトル検出装置１０によれば、ブロックアクティビティ値が閾値以下である場合、全て一律で信頼できないと判断されてしまうが、実際には、ブロックアクティビティ値が閾値以下であっても、正確な動きベクトルが検出されていることも多々あった。
【００１９】
本発明はこのような状況に鑑みてなされたものであり、検出された動きベクトルの信頼性を正確に判断できるようにするものである。
【課題を解決するための手段】
【００２０】
本発明の第１の側面である画像処理装置は、時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置において、２フレーム間の画素ブロック単位の動きベクトルを検出するとともに、動きベクトルを検出する過程で算出される２フレームにそれぞれ設けられた画素ブロックの一致の程度を示す評価値を出力する検出手段と、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定手段と、評価値およびアクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値を演算する演算手段とを含み、アクティビティ値設定手段は、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、演算手段は、評価値をブロックアクティビティ値で正規化する演算、評価値を第１のアクティビティ値で正規化する演算、または評価値を第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を確度値とする。
【００２２】
本発明の第１の側面である画像処理装置は、設定された第１および第２のアクティビティ値、並びにブロックアクティビティ値に基づき、検出された動きベクトルの信頼性を判定する判定手段と、検出された動きベクトルの信頼性の程度を示す確度値と、判定手段の判定結果に基づき、検出された動きベクトルが信頼できるか否かを最終的に判断する判断手段とをさらに含むことができる。
【００２３】
本発明の第１の側面である画像処理方法は、時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の画像信号処理方法において、２フレーム間の画素ブロック単位の動きベクトルを検出するとともに、動きベクトルを検出する過程で算出される２フレームにそれぞれ設けられた画素ブロックの一致の程度を示す評価値を出力する検出ステップと、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップと、評価値およびアクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値を演算する演算ステップとを含み、アクティビティ値設定ステップは、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、演算ステップは、評価値をブロックアクティビティ値で正規化する演算、評価値を第１のアクティビティ値で正規化する演算、または評価値を第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を確度値とする。
【００２４】
本発明の第１の側面であるプログラムは、時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の制御用のプログラムであって、２フレーム間の画素ブロック単位の動きベクトルを検出するとともに、動きベクトルを検出する過程で算出される２フレームにそれぞれ設けられた画素ブロックの一致の程度を示す評価値を出力する検出ステップと、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップと、評価値およびアクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値を演算する演算ステップとを含み、アクティビティ値設定ステップは、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、演算ステップは、評価値をブロックアクティビティ値で正規化する演算、評価値を第１のアクティビティ値で正規化する演算、または評価値を第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を確度値とする処理を画像信号処理装置のコンピュータに実行させる。
【００２５】
本発明の第１の側面においては、２フレーム間の画素ブロック単位の動きベクトルが検出されるとともに、動きベクトルを検出する過程で算出される２フレームにそれぞれ設けられた画素ブロックの一致の程度を示す評価値が出力され、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値が設定され、評価値およびアクティビティ値に基づき、検出された動きベクトルの信頼性の程度を示す確度値が演算される。アクティビティ値の設定では、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、確度値の演算では、評価値をブロックアクティビティ値で正規化する演算、評価値を第１のアクティビティ値で正規化する演算、または評価値を第１の評価値の最大値、最小値、若しくは平均値で正規化する演算のうちの少なくとも１つの演算結果を確度値とする。
【００２６】
本発明の第２の側面である画像処理装置は、時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置において、２フレーム間の画素ブロック単位の動きベクトルを検出する検出手段と、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定手段とを含み、アクティビティ値設定手段は、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定する。
【００２８】
本発明の第２の側面である画像処理方法は、時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の画像信号処理方法において、２フレーム間の画素ブロック単位の動きベクトルを検出する検出ステップと、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップとを含み、アクティビティ値設定ステップは、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定する。
【００２９】
本発明の第２の側面であるプログラムは、時間的に前後する２フレーム間の動きベクトルを検出する画像信号処理装置の制御用のプログラムであって、２フレーム間の画素ブロック単位の動きベクトルを検出する検出ステップと、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値を設定するアクティビティ値設定ステップとを含み、アクティビティ値設定ステップは、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定する処理を画像信号処理装置のコンピュータに実行させる。
【００３０】
本発明の第２の側面においては、２フレーム間の画素ブロック単位の動きベクトルが検出され、検出された動きベクトルの方向に基づき、フレームにおける画素値の変動の程度を示すアクティビティ値が設定される。ここでは、画素ブロックを構成する各画素を順次注目画素とし、注目画素の左上、上、右上、左、右、左下、下、または右下の８方向に隣接している隣接画素と注目画素との差分絶対値を算出し、算出した８方向の差分絶対値の平均値を画素ブロック内で積算することによりブロックアクティビティ値を設定し、算出した８方向の差分絶対値を、画素ブロック内で８方向ごとに積算することにより８方向それぞれに対応する積算値を算出するとともに、検出された動きベクトルの方向が注目画素と原点とするＸ軸、Ｘ軸に直交するＹ軸、Ｘ軸を４５度左回転させたＸ’軸、またはＹ軸を４５度左回転させたＹ’軸のいづれに最も近いかに応じ、検出された動きベクトルの方向がＸ軸に最も近い場合、第１のアクティビティ値として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ軸に最も近い場合、第１のアクティビティ値として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＸ’軸に最も近い場合、第１のアクティビティ値として、左下方向または右上方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左下方向または右上方向の積算値のうちの大きい方を設定し、検出された動きベクトルの方向がＹ’軸に最も近い場合、第１のアクティビティ値として、左上方向または右下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の１つ目として、左方向または右方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の２つ目として、上方向または下方向の積算値のうちの大きい方を設定し、第２のアクティビティ値の３つ目として、左上方向または右下方向の積算値のうちの大きい方を設定する。
【発明の効果】
【００３１】
本発明の第１の側面によれば、検出された動きベクトルの信頼性を正確に判断することが可能となる。
【００３２】
本発明の第２の側面によれば、検出された動きベクトルの信頼性を判断するための指標となる、画素値の変動を示すアクティビティ値を取得することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３４】
図５は、本発明の一実施の形態である動きベクトル検出装置の構成例を示している。この動きベクトル検出装置３０は、前段から入力される画像信号の各フレームを処理対象として画素ブロックに分割し、画素ブロック毎に動きベクトルを検出するとともに、検出した動きベクトルの信頼性を判断するものである。
【００３５】
この動きベクトル検出装置３０は、順次入力される画像信号を１フレーム分遅延させるフレームメモリ３１、２フレーム間の動きベクトルを検出する動きベクトル検出部３２、各フレームの画素ブロック毎のブロックアクティビティ値等を算出するアクティビティ値算出部３３、算出されるブロックアクティビティ値などを総合的に判定するアクティビティ値総合判定部３４、評価値とブロックアクティビティ値などに基づいて動きベクトル確度値を算出する確度値算出部３５、および、動きベクトル確度値に基づいて動きベクトルが信頼できるか否か判定する信頼性判断部３６から構成される。
【００３６】
フレームメモリ３１は、順次入力される画像信号を１フレーム分遅延させて動きベクトル検出部３２に供給する。したがって、動きベクトル検出部３２には、動きベクトル検出装置３０の前段とフレームメモリ３１から、時系列に連続した２フレームが供給されることになる。
【００３７】
動きベクトル検出部３２は、例えばブロックマッチング法を適用して、動きベクトルを検出する。具体的には、動きベクトル検出装置３０の前段とフレームメモリ３１から同時に供給される２フレームのうち、一方を基準フレームとして画素ブロックに分割し、画素ブロック毎に動きベクトルを検出する。そして、検出した動きベクトルを図示せぬ後段とアクティビティ値算出部３３に供給するとともに、動きベクトルを検出する過程で算出した評価値を確度値算出部３５に出力する。なお、動きベクトル検出部３２において、ブロックマッチング法以外の方法（例えば、勾配法）などに従い、動きベクトルを検出するようにしてもよい。また、フレームメモリ３１において、数フレーム遅延させることにより、時間的に数フレーム間隔が空いている２フレーム間の動きベクトルを検出するようにしてもよい。
【００３８】
アクティビティ値算出部３３は、画像信号の各フレームを処理対象として画素ブロックに分割し、ブロックアクティビティ値を算出してアクティビティ値総合判定部３４および確度値算出部３５に出力する。また、アクティビティ値算出部３３は、後述する第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値を算出してアクティビティ値総合判定部３４に出力する。
【００３９】
ここで、アクティビティ値算出部３３の詳細な構成例について、図６を参照して説明する。
【００４０】
このアクティビティ値算出部３３は、画素ブロック内の各画素に対して８方向のディアアクティビティ値を算出するディアアクティビティ値算出部５１、画素毎に算出された８方向のディアアクティビティ値を平均して従来のアクティビティ値を算出する平均値算出部５２、画素ブロック内の各画素に対して算出された従来のアクティビティ値のブロック内の総和（積算値）を算出するブロック内積算部５３、画素毎に算出された８方向のディアアクティビティ値を８方向毎に画素ブロック内で積算（総和）するブロック内積算部５４、検出された動きベクトルの方向を判定する動きベクトル方向判定部５５、並びに、ディアアクティビティ値算出部５１乃至ブロック内積算部５４の算出結果に基づいてブロックアクティビティ値、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値を生成するアクティビティ値決定部５６から構成される。
【００４１】
ディアアクティビティ値算出部５１は、画素ブロック内の各画素を順に注目画素とし、注目画素とその上下左右斜めの８方向に隣接する８画素それぞれとの画素値の差分絶対値を８方向のディアアクティビティ値として算出し、アクティビティ値決定部５６に出力する。したがって、ディアアクティビティ値算出部５１の出力は、１画素あたり８値となる。
【００４２】
平均値算出部５２は、画素毎に算出された８方向のディアアクティビティ値の平均値（従来のアクティビティ値）を算出し、ブロック内積算部５３およびアクティビティ値決定部５６に出力する。したがって、平均値算出部５２の出力は、１画素あたり１値となる。
【００４３】
ブロック内積算部５３は、画素ブロック内の各画素に対して算出された従来のアクティビティ値のブロック内の総和（積算値）、すなわち、ブロックアクティビティ値を算出して、アクティビティ値決定部５６に出力する。したがって、ブロック内積算部５３の出力は、１画素ブロックあたり１値となる。
【００４４】
ブロック内積算部５４は、画素毎に算出された８方向のディアアクティビティ値を８方向毎に画素ブロック内で積算（総和）し、アクティビティ値決定部５６に出力する。したがって、ブロック内積算部５４の出力は、１画素ブロックあたり８値となる。
【００４５】
動きベクトル方向判定部５５は、動きベクトル検出部３２によって検出された動きベクトルの方向を判定し、判定結果をアクティビティ値決定部５６に出力する。
【００４６】
アクティビティ値決定部５６は、ブロック内積算部５３の出力をそのままブロックアクティビティ値として後段に出力する。
【００４７】
また、アクティビティ値決定部５６は、動きベクトルの方向の判定結果、およびブロック内積算部５４の出力に基づき、第１のアクティビティ値を決定して後段に出力する。
【００４８】
具体的には、動きベクトルの方向が、図７Ａに示す左−右方向に属する場合、ブロック内積算部５４の出力である８値のうち、左方向の値と右方向の値を比較して、大きい方の値を第１のアクティビティ値に決定する。
【００４９】
動きベクトルの方向が、図７Ｂに示す上−下方向に属する場合、ブロック内積算部５４の出力である８値のうち、上方向の値と下方向の値を比較して、大きい方の値を第１のアクティビティ値に決定する。
【００５０】
動きベクトルの方向が、図７Ｃに示す左下−右上方向に属する場合、ブロック内積算部５４の出力である８値のうち、左下方向の値と右上方向の値を比較して、大きい方の値を第１のアクティビティ値に決定する。
【００５１】
動きベクトルの方向が、図７Ｄに示す左上−右下方向に属する場合、ブロック内積算部５４の出力である８値のうち、左上方向の値と右下方向の値を比較して、大きい方の値を第１のアクティビティ値に決定する。
【００５２】
なお、動きベクトルの大きさが０であってその方向が判断できない場合、ブロック内積算部５３の出力であるブロックアクティビティ値を第１のアクティビティ値に決定する。
【００５３】
例えば図８に示すように、ブロック内積算部５４の出力される８値が、上方向から右回りに、５２５，４７５，２４８，４９０，６５０，４４０，２３２，４８０であり、動きベクトルの方向が図７Ｂに示す上−下方向に属する場合、上方向の値５２５と下方向の値６５０が比較されて、大きい方の値６５０が第１のアクティビティ値に決定される。
【００５４】
また、アクティビティ値決定部５６は、内蔵する画素数カウント部５７により、動きベクトルの方向の判定結果、およびディアアクティビティ値算出部５１の出力に基づき、第１の画素カウント値を決定して後段に出力する。
【００５５】
具体的には、動きベクトルの方向が全８方向のうちの上方向に属する場合、ディアアクティビティ値算出部５１の出力である各画素の８値のうちの上方向のディアアクティビティ値と所定の閾値とを比較し、上方向のディアアクティビティ値が所定の閾値以上である画素数をカウントして、第１の画素カウント値に決定する。
【００５６】
同様に、動きベクトルの方向が全８方向のうちの下方向に属する場合、ディアアクティビティ値算出部５１の出力である各画素の８値のうちの下方向のディアアクティビティ値と所定の閾値とを比較し、下方向のディアアクティビティ値が所定の閾値以上である画素数をカウントして、第１の画素カウント値に決定する。
【００５７】
同様に、動きベクトルの方向が全８方向のうちのＤ方向に属する場合、ディアアクティビティ値算出部５１の出力である各画素の８値のうちのＤ方向のディアアクティビティ値と所定の閾値とを比較し、Ｄ方向のディアアクティビティ値が所定の閾値以上である画素数をカウントして、第１の画素カウント値に決定する。
【００５８】
なお、動きベクトルの大きさが０であってその方向が判断できない場合、平均値算出部５２の出力（ディアアクティビティ値算出部５１の出力である各画素の８値の平均値）と所定の閾値とを比較し、平均値算出部５２の出力が所定の閾値以上である画素数をカウントして、第１の画素カウント値に決定する。
【００５９】
したがって、第１の画素カウント値は、その最小値が０であって、その最大値が画素ブロックを構成する画素数となる。
【００６０】
さらに、アクティビティ値決定部５６は、動きベクトルの方向の判定結果、およびブロック内積算部５４の出力に基づき、第２のアクティビティ値を決定して後段に出力する。
【００６１】
具体的には、動きベクトルの方向が図９に示すＸ−Ｙ平面において、Ｘ軸、Ｙ軸、またはＸ軸とＹ軸の３種類のいずれに属するかを判定し、さらに、動きベクトルの方向が、図９のＸ軸とＹ軸を左回りに４５度回転させた、図１０に示すX'−Y'平面において、X'軸、Y'軸、またはX'軸とY'軸の３種類のいずれに属するかを判定し、ブロック内積算部５４の出力のうち、属する軸の方向毎に大きい方の値を第２のアクティビティ値に決定する。
【００６２】
より具体的には、動きベクトルの方向が、図９Ａに示す左−右方向に属する場合、Ｘ−Ｙ平面のＸ軸に属すると判定し、ブロック内積算部５４の出力である８値のうち、左方向の値と右方向の値を比較して、大きい方の値を第２のアクティビティ値に決定する。
【００６３】
動きベクトルの方向が、図９Ｂに示す上−下方向に属する場合、Ｘ−Ｙ平面ではＹ軸に属すると判定し、ブロック内積算部５４の出力である８値のうち、上方向の値と下方向の値を比較して、大きい方の値を第２のアクティビティ値に決定する。
【００６４】
動きベクトルの方向が、図９Ｃに示す左下−右上方向に属する場合、または図９Ｄに示す左上−右下方向に属する場合、Ｘ−Ｙ平面ではＸ軸とＹ軸に属すると判定し、ブロック内積算部５４の出力である８値のうち、左方向の値と右方向の値を比較した大きい方の値と、上方向の値と下方向の値を比較した大きい方の値とを第２のアクティビティ値に決定する。
【００６５】
さらに、動きベクトルの方向が、図１０Ａに示す左−右方向に属する場合、または図１０Ｂに示す上−下方向に属する場合、X'−Y'平面ではX'軸とY'軸に属すると判定し、ブロック内積算部５４の出力である８値のうち、左上方向の値と右下方向の値を比較した大きい方の値と、左下方向の値と右上方向の値を比較した大きい方の値とを第２のアクティビティ値に決定する。
【００６６】
動きベクトルの方向が、図１０Ｃに示す左下−右上方向に属する場合、X'−Y'平面ではX'軸に属すると判定し、ブロック内積算部５４の出力である８値のうち、左下方向の値と右上方向の値を比較して、大きい方の値を第２のアクティビティ値に決定する。
【００６７】
動きベクトルの方向が、図１０Ｄに示す左上−右下方向に属する場合、X'−Y'平面ではY'軸に属すると判定し、ブロック内積算部５４の出力である８値のうち、左上方向の値と右下方向の値を比較して、大きい方の値を第２のアクティビティ値に決定する。
【００６８】
なお、動きベクトルの大きさが０であってその方向が判断できない場合、ブロック内積算部５３の出力であるブロックアクティビティ値を第２のアクティビティ値に決定する。
【００６９】
例えば図１１に示すように、ブロック内積算部５４の出力される８値が、上方向から右回りに、５２５，４７５，２４８，４９０，６５０，４４０，２３２，４８０である場合、動きベクトルの方向は、図９Ｂに示すようにＸ−Ｙ平面ではＹ軸に属するので、ブロック内積算部５４の出力である８値のうち、上方向の値５２５と下方向の値６５０が比較されて、大きい方の値６５０が第２のアクティビティ値に決定される。さらに、動きベクトルの方向は、図１０Ｂに示すようにX'−Y'平面ではX'軸とY'軸に属するので、ブロック内積算部５４の出力である８値のうち、左上方向の値４８０と右下方向の値４９０を比較した大きい方の値４９０と、左下方向の値４４０と右上方向の値４７５を比較した大きい方の値４７５とが第２のアクティビティ値に決定される。
【００７０】
またさらに、アクティビティ値決定部５６は、内蔵する画素数カウント部５７により、動きベクトルの方向の判定結果、およびディアアクティビティ値算出部５１の出力に基づき、第２の画素カウント値を決定して後段に出力する。
【００７１】
具体的には、動きベクトルの方向が、図９に示すＸ−Ｙ平面において、Ｘ軸、Ｙ軸、またはＸ軸とＹ軸の３種類のいずれに属するかを判定し、さらに、動きベクトルの方向が、図９のＸ軸とＹ軸を左回りに４５度回転させた、図１０に示すX'−Y'平面において、X'軸、Y'軸、またはX'軸とY'軸の３種類のいずれに属するかを判定し、ディアアクティビティ値算出部５１の出力である各画素の８値のうちの属する軸の方向の値と所定の閾値とを比較し、属する軸の方向の全てのディアアクティビティ値が所定の閾値以上である画素数をカウントして、第２の画素カウント値に決定する。
【００７２】
なお、動きベクトルの大きさが０であってその方向が判断できない場合、平均値算出部５２の出力（ディアアクティビティ値算出部５１の出力である各画素の８値の平均値）と所定の閾値とを比較し、平均値算出部５２の出力が所定の閾値以上である画素数をカウントして、第２の画素カウント値に決定する。
【００７３】
したがって、第２の画素カウント値は、その最小値が０であって、その最大値が画素ブロックを構成する画素数となる。
【００７４】
図５に戻る。アクティビティ値総合判定部３４は、アクティビティ値算出部３３から入力されるブロックアクティビティ値、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値を総合的に用いて動きベクトルの信頼性を判定し、判定結果を信頼性判断部３６に出力する。なお、動きベクトルの信頼性を判定には、例えば、以下の第１乃至第１０の判定方法を適用することができる。
【００７５】
ここで、アクティビティ値総合判定部３４による第１乃至第１０の判定方法について説明する。なお、以下の説明で用いる所定の閾値とは、予め設定されているものであって、各所定の閾値は同一のものとは限らない。
【００７６】
第１の判定方法は、第１のアクティビティ値と所定の閾値とを比較し、第１のアクティビティ値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００７７】
第２の判定方法は、第２のアクティビティ値と所定の閾値とを比較し、第２のアクティビティ値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００７８】
第３の判定方法は、第１の画素カウント値と所定の閾値とを比較し、第１の画素カウント値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００７９】
第４の判定方法は、第２の画素カウント値と所定の閾値とを比較し、第２の画素カウント値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８０】
第５の判定方法は、従来の判定方法および第１の判定方法の論理積である。すなわち、ブロックアクティビティ値が所定の閾値以下であって、かつ、第１のアクティビティ値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８１】
第６の判定方法は、従来の判定方法および第２の判定方法の論理積である。すなわち、ブロックアクティビティ値が所定の閾値以下であって、かつ、第２のアクティビティ値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８２】
第７の判定方法は、従来の判定方法、並びに第１および第２の判定方法の論理積である。すなわち、ブロックアクティビティ値が所定の閾値以下であって、かつ、第１のアクティビティ値が所定の閾値以下であって、かつ、第２のアクティビティ値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８３】
第８の判定方法は、従来の判定方法および第３の判定方法の論理積である。すなわち、ブロックアクティビティ値が所定の閾値以下であって、かつ、第１の画素カウント値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８４】
第９の判定方法は、従来の判定方法および第４の判定方法の論理積である。すなわち、ブロックアクティビティ値が所定の閾値以下であって、かつ、第２の画素カウント値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８５】
第１０の判定方法は、従来の判定方法、並びに第３および第４の判定方法の論理積である。すなわち、ブロックアクティビティ値が所定の閾値以下であって、かつ、第１の画素カウント値が所定の閾値以下であって、かつ、第２の画素カウント値が所定の閾値以下である場合、検出された動きベクトルは信頼できないと判定するものである。
【００８６】
図５に戻る。確度値算出部３５は、動きベクトル検出部３２から入力される評価値と、アクティビティ値算出部３３から入力されるブロックアクティビティ値、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値に基づき、動きベクトル確度値VCを算出して信頼性判断部３６に出力する。
【００８７】
なお、動きベクトル確度値VCの算出には、例えば、以下の第１乃至第３の算出方法を適用することができる。なお、第１乃至第３の算出方法のうちの、１つの算出方法のみを採用してもよいし、２つまたは３つの算出方法を適用し、動きベクトル確度値VCを２値または３値算出して信頼性判断部３６に出力するようにしてもよい。
【００８８】
第１の算出方法は、従来と同様、次式のように、評価値をブロックアクティビティ値で正規化するものである。
VC＝１−（評価値／ブロックアクティビティ値）
【００８９】
第２の算出方法は、次式のように、評価値を第１のアクティビティ値で正規化するものである。
VC＝１−（評価値／第１のアクティビティ値）
【００９０】
第３の算出方法は、次式のように、評価値を第２のアクティビティ値の最大値、最小値、または平均値で正規化するものである。
VC＝１−（評価値／第２のアクティビティ値の最大値、最小値、または平均値）
【００９１】
図５に戻る。信頼性判断部３６は、確度値算出部３５によって算出された動きベクトル確度値VC、およびアクティビティ値総合判定部３４の判定結果に基づき、動きベクトル検出部３２で検出された動きベクトルが信頼できるか否かを判断する。なお、確度値算出部３５から複数の動きベクトル確度値VCが入力される場合、それぞれの動きベクトル確度値VCに基づく判断の論理積を、最終的な判断結果とする。
【００９２】
次に、動きベクトル検出装置３０による、動きベクトル検出処理（検出した動きベクトルの信頼性判断も含む）について、図１２のフローチャートを参照して説明する。
【００９３】
この動きベクトル検出処理は、前段から入力される画像信号の各フレームを処理対象として実行される。
【００９４】
ステップＳ１において、動きベクトル検出部３２は、例えば、ブロックマッチング法を適用して動きベクトルを検出する。具体的には、動きベクトル検出装置３０の前段から供給されるフレームとフレームメモリ３１から供給される２フレームのうち、一方を基準フレームとして画素ブロックに分割し、画素ブロック毎に動きベクトルを検出する。そして、検出した動きベクトルを図示せぬ後段とアクティビティ値算出部３３に供給するとともに、動きベクトルを検出する過程で算出した評価値を確度値算出部３５に出力する。
【００９５】
ステップＳ２において、アクティビティ値算出部３３は、画像信号の各フレームを処理対象として画素ブロックに分割し、ブロックアクティビティ値を算出してアクティビティ値総合判定部３４および確度値算出部３５に出力する。また、アクティビティ値算出部３３は、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値を算出してアクティビティ値総合判定部３４に出力する。
【００９６】
なお、説明の便宜上、ステップＳ１の処理、ステップＳ２の処理の順で説明したが、ステップＳ１の処理とステップＳ２の処理とは平行して実行することができる。
【００９７】
ステップＳ２の処理について、図１３のフローチャートを参照して詳述する。
【００９８】
ステップＳ２１において、ディアアクティビティ値算出部５１は、画素ブロック内の各画素を順に注目画素とし、注目画素とその上下左右斜めの８方向に隣接する８画素それぞれとの画素値の差分絶対値を８方向のディアアクティビティ値として算出し、アクティビティ値決定部５６に出力する。したがって、ディアアクティビティ値算出部５１の出力は、１画素あたり８値となる。
【００９９】
ステップＳ２２において、平均値算出部５２は、ディアアクティビティ値算出部５１によって画素毎に算出された８方向のディアアクティビティ値の平均値（従来のアクティビティ値）を算出し、ブロック内積算部５３およびアクティビティ値決定部５６に出力する。したがって、平均値算出部５２の出力は、１画素あたり１値となる。
【０１００】
ステップＳ２３において、ブロック内積算部５３は、画素ブロック内の各画素に対して算出された従来のアクティビティ値のブロック内の総和（積算値）、すなわち、ブロックアクティビティ値を算出して、アクティビティ値決定部５６に出力する。したがって、ブロック内積算部５３の出力は、１画素ブロックあたり１値となる。
【０１０１】
ステップＳ２４において、ブロック内積算部５４は、画素毎に算出された８方向のディアアクティビティ値を８方向毎に画素ブロック内で積算（総和）し、アクティビティ値決定部５６に出力する。したがって、ブロック内積算部５４の出力は、１画素ブロックあたり８値となる。
【０１０２】
ステップＳ２５において、動きベクトル方向判定部５５は、ステップＳ１の処理で検出された動きベクトルの方向が、図７Ａ乃至図７Ｄに示されたＸ−Ｙ平面の４種類の方向のいずれに属するかを判定し、判定結果をアクティビティ値決定部５６に出力する。
【０１０３】
ステップＳ２６において、アクティビティ値決定部５６は、ブロック内積算部５３の出力をそのままブロックアクティビティ値として後段に出力する。また、アクティビティ値決定部５６は、動きベクトルの方向の判定結果、およびブロック内積算部５４の出力に基づき、第１のアクティビティ値を決定して後段に出力する。
【０１０４】
ステップＳ２７において、アクティビティ値決定部５６に内蔵された画素数カウント部５７は、動きベクトルの方向の判定結果、およびディアアクティビティ値算出部５１の出力に基づき、第１の画素カウント値を決定して後段に出力する。
【０１０５】
ステップＳ２８において、動きベクトル方向判定部５５は、ステップＳ１の処理で検出された動きベクトルの方向が、図９Ａ乃至図９Ｄに示されたＸ−Ｙ平面のＸ軸、Ｙ軸、またはＸ軸とＹ軸の両方の３種類のいずれに属するかを判定し、判定結果をアクティビティ値決定部５６に出力する。また、動きベクトル方向判定部５５は、ステップＳ１の処理で検出された動きベクトルの方向が、図１０Ａ乃至図１０Ｄに示されたX'−Y'平面のX'軸、Y'軸、またはX'軸とY'軸の両方の３種類のいずれに属するかを判定し、判定結果をアクティビティ値決定部５６に出力する。
【０１０６】
ステップＳ２９において、アクティビティ値決定部５６は、動きベクトルの方向の判定結果、およびブロック内積算部５４の出力に基づき、第２のアクティビティ値を決定して後段に出力する。
【０１０７】
ステップＳ３０において、アクティビティ値決定部５６に内蔵された画素数カウント部５７は、動きベクトルの方向の判定結果、およびディアアクティビティ値算出部５１の出力に基づき、第２の画素カウント値を決定して後段に出力する。
【０１０８】
以上のように、ブロックアクティビティ値、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値が決定されて出力された後、処理は図１２のステップＳ３にリターンされる。
【０１０９】
図１２に戻り、ステップＳ３において、アクティビティ値総合判定部３４は、アクティビティ値算出部３３から入力されたブロックアクティビティ値、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値を総合的に用いて、動きベクトルの信頼性を判定し、判定結果を信頼性判断部３６に出力する。
【０１１０】
ステップＳ４において、確度値算出部３５は、ステップＳ１の処理で動きベクトル検出部３２から入力された評価値と、ステップＳ２の処理でアクティビティ値算出部３３から入力されたブロックアクティビティ値、第１のアクティビティ値、第１の画素カウント値、第２のアクティビティ値、および第２の画素カウント値に基づき、動きベクトル確度値VCを算出して信頼性判断部３６に出力する。
【０１１１】
ステップＳ５において、信頼性判断部３６は、ステップＳ４の処理で確度値算出部３５によって算出された動きベクトル確度値VCと、ステップＳ３の処理でのアクティビティ値総合判定部３４の判定結果に基づき、動きベクトル検出部３２で検出された動きベクトルが信頼できるか否かを最終的に判断し、その判断結果を後段に出力する。以上で、動きベクトル検出処理は終了される。
【０１１２】
以上説明したように、動きベクトル検出装置３０による動きベクトル検出処理によれば、検出された動きベクトルの信頼性を正確に判断することが可能となる。なお、この動きベクトル検出装置３０は、従来の動きベクトル検出装置１０に比較して、同程度の回路規模とコストで実現できる。
【０１１３】
なお、本発明は、例えば、動画像を圧縮符号化する処理、撮影時に生じた動画像の手振れを補正する処理、シーンチェンジを検出する処理、背景の動きを推定する処理などを行う画像処理装置に適用することができる。
【０１１４】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１１５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１１６】
また、プログラムは、１台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０１１７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１１８】
【図１】ブロックアクティビティ値の算出方法を説明する図である。
【図２】評価値とブロックアクティビティ値の関係を示す図である。
【図３】従来の動きベクトル検出装置の構成の一例を示すブロック図である。
【図４】ブロックアクティビティ値が大きいにも拘らず、動きベクトルが誤検出される場合の例を説明する図である。
【図５】本発明を適用した動きベクトル検出装置の構成例を示すブロック図である。
【図６】図５のアクティビティ値算出部の詳細な構成例を示すブロック図である。
【図７】動きベクトルの方向を説明する図である。
【図８】第１のアクティビティ値の算出例を示す図である。
【図９】動きベクトルの方向を説明する図である。
【図１０】動きベクトルの方向を説明する図である。
【図１１】第２のアクティビティ値の算出例を示す図である。
【図１２】動きベクトル検出処理を説明するフローチャートである。
【図１３】図１２のステップＳ２を詳述するフローチャートである。
【符号の説明】
【０１１９】
３０  動きベクトル検出装置，  ３１  フレームメモリ，  ３２  動きベクトル検出部，  ３３  アクティビティ値算出部，  ３４  アクティビティ値総合判定部，  ３５  確度値算出部，  ３６  信頼性判断部，  ５１  ディアアクティビティ値算出部,  ５２  平均値算出部，  ５３，５４  ブロック内積算部，  ５５  動きベクトル方向判定部，  ５６  アクティビティ値決定部，  ５７  画素数カウント部
【図１】
0004513034.tif 000002
【図２】
0004513034.tif 000003
【図３】
0004513034.tif 000004
【図４】
0004513034.tif 000005
【図５】
0004513034.tif 000006
【図６】
0004513034.tif 000007
【図７】
0004513034.tif 000008
【図８】
0004513034.tif 000009
【図９】
0004513034.tif 000010
【図１０】
0004513034.tif 000011
【図１１】
0004513034.tif 000012
【図１２】
0004513034.tif 000013
【図１３】
0004513034.tif 000014