シーン、ショット、キーフレーム検出の分析情報の概要
シーン、ショット、キーフレーム検出
シーン検出は、視覚的な手掛かりに基づいて、ビデオ内でシーンが変化したときに検出します。
シーンは 1 つのイベントを表し、関連する一連のショットで構成されます。
ショット は、隣接するフレームの配色における突然の遷移や段階的な遷移などの視覚的な手掛かりによって区別される一連のフレームです。 ショットのメタデータには、開始時刻と終了時刻のほか、ショットに含まれるキーフレームの一覧が含まれます。
keyframeは、ショットを最もよく表すショットのフレームです。
シーン、ショット、キーフレーム検出のユース ケース
- さまざまな細分性に基づいて、ビデオ コンテンツを簡単に参照、管理、編集できます。
- クリップ、トレーラーにビデオを編集したり、特定のスタイルのキーフレームを検索したりする場合は、編集ショットの種類の検出を使用します。
シーン検出
Azure AI Video Indexer は、視覚的な手掛かりに基づいて、ビデオのシーンが変化するタイミングを決定します。シーンは単一のイベントを表し、意味的に関連する一連の連続したショットで構成されます。
シーンのサムネイルは、その基になるショットの最初のキーフレームです。
Azure AI Video Indexer は、連続するショット間の色の一貫性に基づいてビデオをシーンにセグメント化し、各シーンの開始時刻と終了時刻を取得します。
ビデオには少なくとも 3 つのシーンが含まれている必要があります。
ショット検出
Azure AI Video Indexer は、配色の急激な遷移と段階的な遷移と、隣接するフレームのその他の視覚的特徴の両方を検出することで、視覚的な手掛かりに基づいてビデオのショットがいつ変化するかを決定します。 ショットのメタデータには、開始と終了の時間、およびそのショットに含まれるキーフレームのリストが含まれます。 ショットは、同時に同じカメラで撮影された連続するフレームです。
Note
切り替えの一部であるフレームを含むショット間にギャップがある可能性があります。 これらのフレームはショットの一部とは見なされません。
キーフレーム編集ショットの種類の検出
ショットタイプは、各ショットの最初のキーフレームの解析に基づいて決定されます。 ショットは最初のキーフレームに表示される顔のスケール、サイズ、位置によって識別されます。
ショットのサイズとスケールは、カメラとフレームに表示される顔との距離に基づいて決定されます。 これらのプロパティを使用して、Azure AI Video Indexer は次のショットの種類を検出します:
- ワイド: 人物の全身が表示されます。
- ミディアム: 人物の上半身と顔が表示されます。
- クローズアップ: 人物の顔が主に表示されます。
- エクストリーム クローズアップ: 人物の顔が画面いっぱいに表示されます。
ショット タイプは、フレームの中心を基準としたときの対象の人物の位置によって決定することもできます。 このプロパティは、Azure AI Video Indexer で次のショットの種類を定義します:
- 左フェース: 人物がフレームの左側に表示されます。
- 中央フェース: 人物がフレームの中央領域に表示されます。
- 右フェース: 人物がフレームの右側に表示されます。
- 屋外: 人物が屋外の背景で表示されます。
- 室内: 人物が屋内の背景で表示されます。
追加の特性:
- 2 ショット: 2 人の人物の中間サイズの顔を示します。
- 複数の顔: 人物が 3 人以上。
Web ポータルで分析情報 JSON を表示する
ビデオをアップロードしてインデックスを作成すると、Web ポータルを使用してダウンロードするための JSON 形式で分析情報を入手できます。
- Library タブを選択します。
- 操作するメディアを選択します。
- ダウンロードを選択し、Insights (JSON)を選択します。 JSON ファイルが新しいブラウザー タブで開きます。
- 応答例で説明されているキー ペアを探します。
API の使用
- Get Video Index 要求を使用します。
&includeSummarizedInsights=false
渡すことをお勧めします。 - 応答例で説明されているキー ペアを探します。
応答の例
"scenes": [
{
"id": 1,
"instances": [
{
"adjustedStart": "0:00:00",
"adjustedEnd": "0:00:09.1333333",
"start": "0:00:00",
"end": "0:00:09.1333333"
}
]
},
{
"id": 2,
"instances": [
{
"adjustedStart": "0:00:09.1333333",
"adjustedEnd": "0:00:10.8",
"start": "0:00:09.1333333",
"end": "0:00:10.8"
}
]
},
{
"id": 3,
"instances": [
{
"adjustedStart": "0:00:10.8",
"adjustedEnd": "0:00:26.9333333",
"start": "0:00:10.8",
"end": "0:00:26.9333333"
}
]
}...
{
"id": 31,
"instances": [
{
"adjustedStart": "0:18:45",
"adjustedEnd": "0:18:50.2",
"start": "0:18:45",
"end": "0:18:50.2"
}
]
}
],
"shots": [
{
"id": 1,
"tags": [
"Wide",
"Medium"
],
"keyFrames": [
{
"id": 1,
"instances": [
{
"thumbnailId": "60152925-0e6d-48cf-be33-aa6c00dfb334",
"adjustedStart": "0:00:00.1666667",
"adjustedEnd": "0:00:00.2",
"start": "0:00:00.1666667",
"end": "0:00:00.2"
}
]
},
{
"id": 2,
"instances": [
{
"thumbnailId": "f1a09cdf-b42b-45f5-bc69-5292d1216e50",
"adjustedStart": "0:00:00.2333333",
"adjustedEnd": "0:00:00.2666667",
"start": "0:00:00.2333333",
"end": "0:00:00.2666667"
}
]
}
],
"instances": [
{
"adjustedStart": "0:00:00",
"adjustedEnd": "0:00:01.9333333",
"start": "0:00:00",
"end": "0:00:01.9333333"
}
]
},
{
"id": 2,
"tags": [
"Medium"
],
"keyFrames": [
{
"id": 3,
"instances": [
{
"thumbnailId": "b17774d0-41cf-4174-9c41-6bc2f17c86e2",
"adjustedStart": "0:00:02",
"adjustedEnd": "0:00:02.0333333",
"start": "0:00:02",
"end": "0:00:02.0333333"
}
]
}
],
"instances": [
{
"adjustedStart": "0:00:01.9333333",
"adjustedEnd": "0:00:02.9666667",
"start": "0:00:01.9333333",
"end": "0:00:02.9666667"
}
]
}...
API を使用してキーフレームをダウンロードする
各キーフレームをダウンロードするには、 Get Thumbnails 要求でキーフレーム ID を使用します。
警告
運用目的では、成果物フォルダーから直接データを使用することはお勧めしません。 成果物は、インデックス作成プロセスの中間出力です。 これらは基本的に、ビデオを分析するさまざまな AI エンジンの未加工の出力であり、成果物スキーマは時間が経つにつれて変化する可能性があります。
重要
すべてのVI機能の トランスパレンシーノートの概要 を読む必要があります。 各分析情報には、独自の透明性に関するメモもあります。
シーン、ショット、キーフレーム検出に関するメモ
- 検出機能は、その中にショットとシーンがあるメディア ファイルに最適です。
- 動かない 1 台のカメラでビデオを撮影した場合、ショットのセグメント化がうまく機能せず、キーフレームが代表的ではない可能性があります。
- キーフレームは、フレームのぼかしレベルを考慮して選択されます。 モーションなど、ほとんどのショットがぼやけている場合は、キーフレームもぼやけている可能性があります。
- 視覚品質が低いビデオでは、結果が低くなります。
- 各ショット/シーン/キーフレームの時間が変化する可能性があります (1 秒未満)。
シーン、ショット、キーフレームのコンポーネント
コンポーネントが定義されていません。