シーン、ショット、キーフレーム

Azure Video Indexer では、構造とセマンティックのプロパティに基づくビデオのテンポラル単位へのセグメント化がサポートされています。 この機能を使用すると、さまざまな粒度に基づいてビデオ コンテンツを簡単に参照、管理、編集できます。 たとえば、このトピックの説明はシーン、ショット、キーフレームに基づいています。

シーン、ショット、キーフレーム

シーン検出

Azure Video Indexer では、視覚的な手掛かりに基づいて、ビデオ内でシーンが変化するタイミングが判定されます。シーンは単一のイベントを表し、意味的に関連する一連の連続したショットで構成されます。 シーンのサムネイルは、その基になるショットの最初のキーフレームです。 Azure Video Indexer では、連続するショット間の色の一貫性に基づいてビデオがシーンにセグメント化され、各シーンの開始と終了の時間が取得されます。 シーンの検出は、ビデオのセマンティックな側面を定量化する必要があるので、困難な作業と見なされます。

注意

少なくとも 3 つのシーンが含まれるビデオに適用されます。

ショット検出

Azure Video Indexer では、連続するフレームの配色での突然の遷移と段階的な遷移の両方を追跡することにより、視覚的な手掛かりに基づいてビデオでのショットの変化が特定されます。 ショットのメタデータには、開始と終了の時間、およびそのショットに含まれるキーフレームのリストが含まれます。 ショットは、同時に同じカメラで撮影された連続するフレームです。

キーフレームの検出

Azure Video Indexer により、各ショットを最適に表すフレームが選択されます。 キーフレームは、審美的プロパティ (たとえば、コントラストや安定性) に基づいてビデオ全体から選択された代表的なフレームです。 Azure Video Indexer により、ショットのメタデータの一部としてキーフレーム ID のリストが取得されます。顧客は、これに基づいてキーフレームを高解像度画像として抽出できます。

キーフレームの抽出

ビデオの高解像度のキーフレームを抽出するには、まずビデオをアップロードしてインデックスを作成する必要があります。

キーフレーム

Azure Video Indexer Web サイトの使用

Azure Video Indexer web サイトを使用してキーフレームを抽出するには、ビデオをアップロードしてインデックスを作成します。 インデックス作成ジョブが完了したら、 [ダウンロード] ボタンをクリックし、 [成果物 (ZIP)] を選択します。 これにより、成果物フォルダーがコンピューターにダウンロードされます (以下の成果物に関する警告を必ず確認してください)。 フォルダーを解凍して開きます。 _KeyframeThumbnail フォルダーに、ビデオから抽出されたすべてのキーフレームが表示されます。

[ダウンロード] ドロップダウンを示すスクリーンショット。[成果物] が選択されています。

警告

運用目的では、成果物フォルダーから直接データを使用することはお勧めしません。 成果物は、インデックス作成プロセスの中間出力です。 これらは基本的に、ビデオを分析するさまざまな AI エンジンの未加工の出力であり、成果物スキーマは時間が経つにつれて変化する可能性があります。 API によって生成される分析情報と成果物の取得に関する説明に従って、Get Video Index API を使用することをお勧めします。

Azure Video Indexer API を使用する

Video Indexer API を使用してキーフレームを取得するには Upload Video 呼び出しを使用してビデオをアップロードし、インデックスを作成します。 インデックス作成ジョブが完了したら、Get Video Index を呼び出します。 これにより、JSON ファイル内のコンテンツから抽出された Video Indexer すべての分析情報が得られます。

各ショットのメタデータの一部として、キーフレーム ID の一覧が表示されます。

"shots":[  
    {  
      "id":0,
      "keyFrames":[  
          {  
            "id":0,
            "instances":[  
                {  
                  "thumbnailId":"00000000-0000-0000-0000-000000000000",
                  "start":"0:00:00.209",
                  "end":"0:00:00.251",
                  "duration":"0:00:00.042"
                }
            ]
          },
          {  
            "id":1,
            "instances":[  
                {  
                  "thumbnailId":"00000000-0000-0000-0000-000000000000",
                  "start":"0:00:04.755",
                  "end":"0:00:04.797",
                  "duration":"0:00:00.042"
                }
            ]
          }
      ],
      "instances":[  
          {  
            "start":"0:00:00",
            "end":"0:00:06.34",
            "duration":"0:00:06.34"
          }
      ]
    },

]

次に、Get Thumbnails 呼び出しで、これらのキーフレーム ID をそれぞれ実行する必要があります。 これにより、各キーフレームのイメージがコンピューターにダウンロードされます。

編集ショット タイプの検出

キーフレームは、出力 JSON のショットと関連付けられます。

Insights JSON 内の個々のショットに関連付けられたショット タイプは、その編集タイプを表します。 これらのショット タイプ特性は、ビデオを編集してクリップやトレーラーを作成したり、芸術的な目的で特定のスタイルのキーフレームを検索したりするときに便利な場合があります。 各ショットの最初のキーフレームの分析に基づいて、さまざまなタイプが決定されます。 ショットは最初のキーフレームに表示される顔のスケール、サイズ、位置によって識別されます。

ショットのサイズとスケールは、カメラとフレームに表示される顔との距離に基づいて決定されます。 これらのプロパティを使用して、Azure Video Indexer は次のショット タイプを検出します。

  • ワイド: 人物の全身が表示されます。
  • ミディアム: 人物の上半身と顔が表示されます。
  • クローズアップ: 人物の顔が主に表示されます。
  • エクストリーム クローズアップ: 人物の顔が画面いっぱいに表示されます。

ショット タイプは、フレームの中心を基準としたときの対象の人物の位置によって決定することもできます。 このプロパティは、Azure Video Indexer で次のショット タイプを定義します。

  • 左フェース: 人物がフレームの左側に表示されます。
  • 中央フェース: 人物がフレームの中央領域に表示されます。
  • 右フェース: 人物がフレームの右側に表示されます。
  • 屋外: 人物が屋外の背景で表示されます。
  • 室内: 人物が屋内の背景で表示されます。

追加の特性:

  • 2 ショット: 2 人の人物の中間サイズの顔を示します。
  • 複数の顔: 人物が 3 人以上。

次のステップ

API によって生成される Azure Video Indexer の出力を調べる