シーン検出は、視覚的な手掛かりに基づいてビデオ内でシーンが変化したときに検出します。 シーン には 1 つのイベントが表示され、関連する一連のショットがあります。 ショット は、隣接するフレームの配色の急激な変化や段階的な変化など、視覚的な手掛かりによって異なる一連のフレームです。 ショット メタデータには、開始時刻、終了時刻、ショット内のキーフレームの一覧が含まれます。 キーフレームは、ショットを最もよく表すショットのフレームです。
シーン、ショット、キーフレーム検出のユース ケース
- さまざまな細分性に基づいて、ビデオ コンテンツを簡単に参照、管理、編集できます。
- クリップ、トレーラーにビデオを編集したり、特定のスタイルのキーフレームを検索したりする場合は、編集ショットの種類の検出を使用します。
シーン検出
Azure AI Video Indexer は、視覚的な手掛かりに基づいて、ビデオのシーンが変化するタイミングを決定します。シーンは、セマンティックに関連する一連の連続したショットで構成される 1 つのイベントを示しています。
シーンのサムネイルは、その基になるショットの最初のキーフレームです。
Azure AI Video Indexer は、連続するショット間の色の一貫性に基づいてビデオをシーンにセグメント化し、各シーンの開始時刻と終了時刻を取得します。
ビデオには少なくとも 3 つのシーンが含まれている必要があります。
ショット検出
Azure AI Video Indexer は、視覚的な手掛かりに基づいて、ビデオのショットがいつ変化するかを決定します。これは、配色の急激な遷移と段階的な遷移の両方を検出し、隣接するフレームの他の視覚的特徴を検出することによって行います。 ショットのメタデータには、開始時刻と終了時刻と、そのショットに含まれるキーフレームの一覧が含まれます。 ショットは、同時に同じカメラで撮影された連続するフレームです。
注記
切り替えの一部であるフレームを含むショットの間にギャップが生じる可能性があります。 したがって、これらのフレームはショットの一部とは見なされません。
キーフレーム編集ショット タイプの検出
ショットタイプは、各ショットの最初のキーフレームの解析に基づいて決定されます。 ショットは、最初のキーフレームに表示される顔のスケール、サイズ、位置によって識別されます。
ショットのサイズとスケールは、カメラとフレームに表示される顔との距離に基づいて決定されます。 Azure AI Video Indexer は、次のプロパティを使用して次のショットの種類を検出します。
- ワイド: 人物の全身が表示されます。
- ミディアム: 人物の上半身と顔が表示されます。
- クローズアップ: 人物の顔が主に表示されます。
- エクストリーム クローズアップ: 人物の顔が画面いっぱいに表示されます。
ショット タイプは、フレームの中心を基準としたときの対象の人物の位置によって決定することもできます。 このプロパティは、Azure AI Video Indexer で次のショットの種類を定義します:
- 左フェース: 人物がフレームの左側に表示されます。
- 中央フェース: 人物がフレームの中央領域に表示されます。
- 右フェース: 人物がフレームの右側に表示されます。
- 屋外: 人物が屋外の背景で表示されます。
- 室内: 人物が屋内の背景で表示されます。
その他の特性:
- 2 ショット: 2 人の人物の中間サイズの顔を示します。
- 複数の顔: 2人以上の人物。
Web ポータルで分析情報 JSON を表示する
ビデオをアップロードしてインデックスを作成したら、Web ポータルから JSON 形式で分析情報をダウンロードします。
- Library タブを選択します。
- 目的のメディアを選択します。
- [ ダウンロード] を選択し、[ Insights (JSON)] を選択します。 JSON ファイルが新しいブラウザー タブで開きます。
- 応答例で説明されているキー ペアを見つけます。
API の使用
-
ビデオ インデックスの取得要求を使用します。
&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 を使用してキーフレームをダウンロードする
各キーフレームをダウンロードするには、 サムネイル取得 API 要求でキーフレーム ID を使用します。
警告
運用環境では、成果物フォルダーから直接データを使用しないでください。 アーティファクトは、インデックス作成プロセスの中間出力であり、ビデオを分析するさまざまな AI エンジンの生出力です。 成果物スキーマは、時間の経過と同時に変更される可能性があります。
重要
VI 機能の 透明度に関する注意事項の概要 をお読みください。
シーン、ショット、キーフレーム検出に関するメモ
- 検出機能は、その中にショットとシーンがあるメディア ファイルに最適です。
- 動かない 1 台のカメラでビデオを撮影した場合、ショットのセグメント化がうまく機能せず、キーフレームが代表的ではない可能性があります。
- キーフレームは、フレームのぼかしレベルを考慮して選択されます。 モーションなど、ほとんどのショットがぼやけている場合は、キーフレームもぼやけている可能性があります。
- 視覚品質が低いビデオでは、結果が低くなります。
- 各ショット/シーン/キーフレームの時間が変化する可能性があります (1 秒未満)。
シーン、ショット、キーフレームのコンポーネント
コンポーネントが定義されていません。