次の方法で共有


ビデオ手ブレ補正のレジストリ設定

VIDEOStabilization レジストリ キーの OEM が設定したMaxPixelsPerSecond 値を使用すると、OEM はデバイスでビデオ手ブレ補正設定を構成し、キャプチャ時にビデオにビデオ手ブレ補正を適用できます。 構成では、デバイスの記録解像度と、そのハードウェアとソフトウェアの性能が考慮されます。

概要

VideoStabilization レジストリ キー MaxPixelsPerSecond 値は、最適な状況下で、デバイス上のビデオ手ブレ補正の最大値を指定するために使用されます。 すべてのアプリはレジストリ キーを読み取り、ビデオ手ブレ補正の無理な使用を回避できます。

MaxPixelsPerSecond 値に入力された値は、アプリで有効にした場合でも、MFT がビデオ手ブレ補正をオンにしようとしない制限を設定します。 レジストリ キーは、デバイスがビデオ安定化を実行できる最大の解像度とフレーム レートを示す必要があります。 MaxPixelsPerSecond 値が設定されていない場合、ビデオ手ブレ補正 MFT はフォールバック値を使用します。 最後に、これが同様に失敗した場合、ビデオ手ブレ補正は内部ロジックを使ってオフになり、ユーザー体験が最適でなくなるのを防ぎます。

ビデオ手ブレ補正の要件

デバイスは、次のすべてが発生する可能性がある場合に、ビデオ安定化を実行できると見なされます。

  • ビデオ手ブレ補正がオンになっていて、パススルー モードではありません

  • 録画がオンになっています

  • プレビューがアクティブです

  • プレビューでは、ノイズやドロップしたフレームは表示されません

  • 録画されたビデオにノイズやドロップしたフレームはありません

ビデオ手ブレ補正レジストリ キーを設定する

VideoStabilization レジストリ キーの形式:

  • OEM は、1 秒あたりのピクセル数のカットオフ値を定義する MaxPixelsPerSecond QWORD 値を設定する必要があります。この値を超えると、アプリによって有効になっている場合でも、ビデオ手ブレ補正はパススルー モードで強制的に実行されます。

  • MaxPixelsPerSecond の定義は次のようになります。

    MaxPixelsPerSecond = width * height * frame-rate

    たとえば、30 fps で 1080p 解像度の場合、 MaxPixelsPerSecond は 1920 * 1080 * 30 = 62208000 として定義されます。

VideoStabilization レジストリ キーの場所:

  • OEM は、次の場所でビデオ手ブレ補正用の VideoStabilization レジストリ キーを作成して設定する必要があります。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization

    32 ビット コンピューターで VideoStabilization レジストリ キー MaxPixelsPerSecond 値を設定するには、管理者特権でのコマンド プロンプトで次のコマンドを使用します。

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f 
    
  • 64 ビットマシンでは、OEM は次の Wow6432Node パスにも同じキーを作成し設定する必要があります。

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Media Foundation\Platform\VideoStabilization

    64 ビット コンピューターで VideoStabilization レジストリ キー MaxPixelsPerSecond 値を設定するには、管理者特権でのコマンド プロンプトで次のコマンドを使用します。

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f 
    

設定すると、 VideoStabilization レジストリ キーは、ビデオ手ブレ補正 MFT およびファースト パーティ製アプリとサード パーティ製アプリに表示されます。

MaxPixelsPerSecond 値が設定されている場合、ビデオ手ブレ補正 MFT では、フレーム レートや解像度が制限を超えて補正されることはありません。 代わりに、アプリがビデオ手ブレ補正を要求した場合でも、パススルー モードになります。 ビデオ手ブレ補正 MFT には、特定のデバイスのアプリにフレーム レートと解像度を推奨するメカニズムがあります。 アプリは、レジストリ キーが設定されているデバイスでのこのようなパススルーを回避するための推奨事項を選択できます。

MaxPixelsPerSecond 値が設定されていない場合、ビデオ手ブレ補正 MFT は既定値まで補正しようとしますが、それ以上は補正しません。

既定値は 62208000 ピクセル/秒で、1920 ピクセル x 1080 ピクセル x 30 fps です。 ビデオ手ブレ補正が補正しようとしても、ビデオ フレームのリアルタイム補正を維持できない場合、内部ロジックでは、フレームをドロップすることなく、ビデオ手ブレ補正をパススルー モードに切り替えます (ビデオ手ブレ補正をオフにします)。

前のセッションでビデオ手ブレ補正がオフになった場合、MFT はパススルー モードに切り替える前に、新しいセッションごとにビデオ手ブレ補正を通常モードで開始しようとします。 これは、デバイスが最後に動作したときにストレスを受けている可能性があるため、将来の決定を行うために以前のモードに依存できないためです。

ビデオ手ブレ補正テストの要件

OEM は、ビデオ手ブレ補正機能を使用して、デバイスのエンド ツー エンドの性能を検証する必要があります。 1 秒あたりの解像度が指定された最大ピクセルで許容されるエクスペリエンスを確認する必要があります。

OEM は、次のことを確認する必要があります。

  • ビデオ手ブレ補正の内部ロジックは、Microsoft が提供するレジストリ キーの場所で無効になっています。 内部ロジックを無効にすることで、テスト中にストレスのかかる状況になった場合でも、ビデオ手ブレ補正がパススルーモードにならないことが保証さ れます。

  • ビデオ手ブレ補正は、バックグラウンド タスクやその他の機能なしで単独で実行できます

  • ビデオ手ブレ補正を有効にし、内部ロジックを無効にした場合のスムーズなプレビューレンダリング

  • ビデオ手ブレ補正を有効にし、内部ロジックを無効にしたスムーズなビデオ録画

  • 手ブレ補正された録画で1秒間に必要な画素数を達成

  • 過熱はありません

注: リテール システムには、このセクションで説明するビデオ手ブレ補正の内部ロジックを無効にするレジストリ キーは必要ありません。 ただし、リテール システムには、このテスト プロセスで決定された MaxPixelsPerSecond 値を持つ VideoStabilization レジストリ キーが必要です。

注: VideoStabilization レジストリ キー MaxPixelsPerSecond 値は、属性MF_LOW_LATENCYがエフェクトに設定されている場合にのみ機能します。 指定されたビデオ手ブレ補正効果が MediaCapture パイプラインに追加されると、属性が自動的に設定されます。 ただし、ビデオ手ブレ補正効果がカスタム パイプラインまたは MF_LOW_LATENCY 属性を設定しないパイプラインに挿入された場合、レジストリ キーは無効になります。