Main Content

Block Matching

イメージ間またはビデオ フレーム間の動きの推定

  • Block Matching block

ライブラリ:
Computer Vision Toolbox / Analysis & Enhancement

説明

Block Matching ブロックは、ピクセルのブロックを比較して 2 つのイメージ間または 2 つのビデオ フレーム間の動きを推定します。ブロックは、探索領域でピクセルのブロックを移動させることにより、フレーム間でピクセルのブロックを一致させます。

端子

入力

すべて展開する

イメージまたはビデオ フレーム。スカラー、ベクトルまたは行列として指定します。[次の間の動きを推定] パラメーターが [2 つのイメージ] に設定されている場合、この端子の名前は [I1] に変更されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

イメージまたはビデオ フレーム。スカラー、ベクトルまたは行列として指定します。

依存関係

この端子を有効にするには、[次の間の動きを推定] パラメーターを [2 つのイメージ] に設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

出力

すべて展開する

速度の振幅。スカラー、ベクトルまたは行列として返されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

複素数形式の速度成分。スカラー、ベクトルまたは行列として返されます。

依存関係

この端子を表示するには、[速度出力] パラメーターを [複素数形式の水平成分と垂直成分] に設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

パラメーター

すべて展開する

[メイン] タブ

2 つのイメージ間の動きまたは 2 つのビデオ フレーム間の動きのどちらを推定するかを指定します。[2 つのイメージ] を選択して 2 つのイメージ間の動きを推定します。[現在のフレームと N 個前のフレーム] を選択して N フレーム分離れている 2 つのビデオ フレーム間の動きを推定します。

依存関係

このパラメーターを [現在のフレームと N 個前のフレーム] に設定すると、[N] パラメーターが表示されます。

基準フレームと現在のフレームの間のフレーム数を表すスカラー値を指定します。

依存関係

このパラメーターを有効にするには、[次の間の動きを推定] パラメーターを [現在のフレームと N 個前のフレーム] に設定します。

現在のフレームと次のフレーム内のピクセルのブロックのうち、ピクセル内のブロックと最も一致しているものをブロックが特定する方法を指定します。

  • [網羅] — ブロックは探索領域でブロックを 1 ピクセルずつ移動させ、次のフレーム内のピクセルのブロックの位置を選択します。このプロセスには大量の計算が必要です。

  • [3 ステップ] — ブロックは徐々に減少するステップ サイズを使用して、現在のフレーム内のピクセルのブロックに最も一致しているピクセルのブロックを次のフレーム内で探索します。ブロックは、最大探索範囲の半分とほぼ等しいステップ サイズから始めます。各ステップで、ブロックは探索領域の中心点と領域の境界に配置された 8 つの探索点を比較し、中心点の値に最も近い値をもつ探索点に中心点を移動します。次に、ステップ サイズを半分に減らしてプロセスを再開します。このオプションでは計算量が少なくなりますが、最適な解を求められない場合があります。

現在のフレーム内のピクセルのブロックと次のフレーム内のピクセルのブロックの相似性をブロックが測定する方法を指定します。

[平均二乗誤差 (MSE)] を選択した場合、ブロックはブロックの中心ピクセルの変位を以下の MSE 方程式を最小化する (d1,d2) の値として推定します。

MSE(d1,d2)=1N1×N2(n1,n2),B[s(n1,n2,k)s(n1+d1,n2+d2,k+1)]2

上記の方程式で、B はピクセルの N1×N2 ブロックで、s(x,y,k) はフレーム k 内のピクセルの位置 (x,y) を示します。

[平均絶対差 (MAD)] を選択した場合、Block Matching ブロックはブロックの中心ピクセルの変位を、以下の MAD 方程式を最小化する (d1,d2) の値として推定します。

MAD(d1,d2)=1N1×N2(n1,n2),B|s(n1,n2,k)s(n1+d1,n2+d2,k+1)|

ピクセルのブロックのサイズを指定します。

入力イメージの 2 つのサブ分割のオーバーラップ (ピクセル単位) を指定します。

ピクセルのブロック内の中心ピクセルがイメージ間またはフレーム間で移動できる最大ピクセル数を指定します。ブロックは、この値を使用して探索領域のサイズを特定します。

出力を指定します。[振幅の 2 乗] を選択した場合、ブロックは各要素が u2+v2 の形式であるオプティカル フロー行列を出力します。[複素数形式の水平成分と垂直成分] を選択した場合、ブロックは各要素が u+jv の形式であるオプティカル フロー行列を出力します。各値の実数部は水平速度成分であり、各値の虚数部は垂直速度成分です。

[データ型] タブ

固定小数点ブロック パラメーターの詳細については、ブロックの固定小数点属性の指定 (DSP System Toolbox)を参照してください。

ブロックの特性

データ型

double | fixed point | integer | single

多次元信号

いいえ

可変サイズの信号

いいえ

アルゴリズム

すべて展開する

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入