Azure Content Understanding を使用すると、ビデオ メタデータの標準セットを生成し、生成モデルを使用して特定のユース ケースのカスタム フィールドを作成できます。 Content Understanding は、ビデオアセットのワークフローを管理、分類、取得、構築するのに役立ちます。 これにより、メディア アセット ライブラリが強化され、強調表示生成などの機能がサポートされ、コンテンツが分類され、取得拡張生成 (RAG) などのアプリケーションが容易になります。
事前構築されたビデオ アナライザー (prebuilt-videoAnalysis) は、RAG 対応の出力を出力します。 Markdown では、次のように出力されます。
- トランスクリプト: 標準 WEBVTT 形式のインライン トランスクリプト
- キー フレーム: より詳細な分析を可能にする順序付きキーフレームサムネイル
JSON スキーマには、ビジュアル分析の詳細が含まれています。
- 形容: 視覚コンテキストと音声コンテキストを使用した自然言語セグメントの説明
- セグメンテーション: 定義したカテゴリに基づいてビデオを論理チャンクに分割する自動シーン セグメント化
この形式は、エージェントまたは RAG ワークフローを有効にするためにベクター ストアに直接ドロップできます。後処理は必要ありません。
そこからアナライザーをカスタマイズして、出力をより細かく制御できます。 ユーザー設定のフィールドとセグメントを定義できます。 カスタマイズを使用すると、生成モデルのフル パワーを使用して、ビデオのビジュアルとオーディオの詳細から詳細な分析情報を抽出できます。
たとえば、カスタマイズを使用すると、次のことができます。
- カスタム フィールドを定義する: ビデオで表示またはメンションされる製品とブランドを識別します。
- カスタム セグメントを生成する: 話し合ったトピックやニュース記事に基づいてニュースブロードキャストを章に分割します。
-
顔の説明を使用して著名人を特定する: これは、顧客が生成モデルの世界知識に基づいて、名前や肩書きを持つ映像内の有名人にラベルを付けることを可能にします
Satya Nadella。
ビデオに Content Understanding を使用する理由
ビデオ コンテンツの解釈には、幅広い潜在的な用途があります。 たとえば、メタデータをカスタマイズしてトレーニング ビデオの特定のシーンにタグを付けると、従業員は重要なセクションを簡単に見つけたり、見直したりすることができます。 また、メタデータのカスタマイズを使用してプロモーション ビデオ内の製品の配置を特定することもできます。これは、マーケティング チームがブランドの露出を分析するのに役立ちます。 その他のユース ケースは以下のとおりです。
- 放送メディアとエンターテイメント: 各アセットの詳細なメタデータを生成して、ショー、映画、クリップの大規模なライブラリを管理します。
- 教育とeラーニング: 教育ビデオや講義の特定の瞬間にインデックス作成を行い、特定の瞬間を取得します。
- 企業のトレーニング: トレーニング ビデオを主要なトピック、シーン、または重要な瞬間別に整理します。
- マーケティングと広告: プロモーション ビデオを分析して、製品の配置、ブランドの外観、および主要なメッセージを抽出します。
事前構築済みのビデオ アナライザーの例
事前構築済みのビデオ アナライザー (prebuilt-videoSearch) を使用すると、ビデオをアップロードし、すぐに使用可能なナレッジ資産を取得できます。 サービスは、コンテンツをリッチ形式の Markdown と JSON にパッケージ化します。 このプロセスにより、検索インデックスまたはチャット エージェントは、カスタム接着コードなしでコンテンツを取り込みます。
たとえば、ビデオ
prebuilt-videoSearchの取得拡張生成用に設計されたアナライザーを呼び出します。 詳細については、 REST API のクイックスタート を参照してください。次に、30 秒の広告ビデオを分析すると、次の出力が生成されます。
# Video: 00:00.000 => 00:06.000 A lively room filled with people is shown, where a group of friends is gathered around a television. They are watching a sports event, possibly a football match, as indicated by the decorations and the atmosphere. Transcript WEBVTT 00:03.600 --> 00:06.000 <Speaker 1>Get new years ready. Key Frames - 00:00.600  - 00:01.200  ## Video: 00:06.000 => 00:10.080 The scene transitions to a more vibrant and energetic setting, where the group of friends is now celebrating. The room is decorated with football-themed items, and everyone is cheering and enjoying the moment. Transcript WEBVTT 00:03.600 --> 00:06.000 <Speaker 1>Go team! Key Frames - 00:06.200  - 00:07.080  *…additional data omitted for brevity…*
Walkthrough
Content Understanding を使用したビデオの RAG についてのガイドを以下の手順で確認してください。
Azure Content Understanding を使用したビデオでの RAG
能力
注
顔識別とグループ化の機能は、プレビュー API バージョンでのみ使用でき、GA リリースには含まれません。
内部では、2 つのステージによって生のピクセルがビジネスに対応した分析情報に変換されます。 次の図は、抽出フィードの生成方法を示しています。各ダウンストリーム ステップに必要なコンテキストがあることを確認します。
サービスは 2 つの段階で動作します。 最初のステージであるコンテンツ抽出では、トランスクリプトやショットなどの基本的なメタデータをキャプチャします。 2 番目のステージであるフィールド抽出では、生成モデルを使用してカスタム フィールドを生成し、セグメント化を実行します。
コンテンツ抽出機能
最初のパスは、誰が話していて、カットがどこにあるかなど、最初の一連の詳細を抽出することについてです。 後の手順で推論できるソリッド メタデータ バックボーンが作成されます。
転写: 会話型オーディオを WebVTT 形式で検索可能で分析可能なテキスト ベースのトランスクリプトに変換します。
"returnDetails": trueが設定されている場合は、文レベルのタイムスタンプを使用できます。 Content Understanding では、Foundry Tools の音声テキスト変換言語で Azure Speech の完全なセットがサポートされています。 ビデオの言語サポートの詳細はオーディオと同じです。詳細については、「オーディオ言語処理」を参照してください。 次の文字起こしの詳細を考慮する必要があります。Diarization: 出力内の会話の話者を区別し、トランスクリプトの一部を特定の話者に帰属します。
多言語文字起こし: 多言語トランスクリプトを生成します。 言語/ロケールは、トランスクリプト内のフレーズごとに適用されます。
"returnDetails": trueが設定されている場合に出力される語句。 言語検出からの逸脱この機能は、言語/ロケールが指定されていない場合、または言語がautoに設定されている場合に有効になります。注
多言語文字起こしを使用すると、サポートされていないロケールを持つすべてのファイルが、サポートされている最も近いロケールに基づいて結果を生成します。これは間違っている可能性があります。 この結果は既知の動作です。 多言語文字起こしがサポートされているロケールを使用しない場合はロケールを構成することで、文字起こし品質の問題を回避します。
キー フレームの抽出: ビデオからキー フレームを抽出して各ショットを完全に表します。各ショットには、フィールド抽出を効果的に機能させるために十分なキー フレームがあることを確認します。
ショット検出: ビデオのセグメントを可能な限りショット境界に合わせて識別し、正確な編集ができるようにします。これにより、既存の編集に合わせてコンテンツを中断することなく再パッケージ化することができます。 出力は、
cameraShotTimesMsのタイムスタンプの一覧 (ミリ秒単位) です。 出力は、"returnDetails": trueが設定されている場合にのみ返されます。
フィールドの抽出とセグメント化
次に、生成モデルがシーンにタグを付け、アクションを要約し、あなたの要求に応じて映像をセグメントに分割します。 このアクションは、プロンプトが構造化データに変わる場所です。
カスタム フィールド
ビジネスボキャブラリに合わせて出力を整形します。 各エントリがフィールドの名前、型、および説明を定義する fieldSchema オブジェクトを使用します。 実行時に、生成モデルは、すべてのセグメントに対してこれらのフィールドを埋めます。
メディア資産管理:
- ビデオ カテゴリ: 編集者やプロデューサーがコンテンツをニュース、スポーツ、インタビュー、ドキュメンタリー、広告などに分類することで、コンテンツを整理するのに役立ちます。メタデータのタグ付けや、より迅速なコンテンツのフィルター処理と取得に役立ちます。
- 配色: 物語の一貫性と視聴者の関与に不可欠な気分と雰囲気を伝えます。 テーマを色で識別すると、一致するクリップを見つけやすくなり、ビデオ編集を高速化するのに役立ちます。
広告:
- ブランド: 広告への影響、ブランドの可視性、製品との関連付けを分析するために重要なブランドプレゼンスを識別します。 この機能により、広告主はブランドの知名度を評価し、ブランド ガイドラインに確実に準拠することができます。
- 広告カテゴリ: 広告の種類を業界、製品タイプ、またはオーディエンス セグメント別に分類します。これは、ターゲット広告戦略、分類、パフォーマンス分析をサポートします。
例:
"fieldSchema": {
"description": "Extract brand presence and sentiment per scene",
"fields": {
"brandLogo": {
"type": "string",
"method": "generate",
"description": "Brand being promoted in the video. Include the product name if available."
},
"Sentiment": {
"type": "string",
"method": "classify",
"description": "Ad categories",
"enum": [
"Consumer Packaged Goods",
"Groceries",
"Technology"
]
}
}
}
顔の説明フィールド
注
この機能は制限付きアクセスです。お客様は、Azure サポート要求で Azure OpenAI モデルの顔ぼかしを無効にするよう要求する必要があります。 Azure サポート要求の管理の詳細について説明します。
必要に応じて、フィールド抽出機能を拡張して、ビデオ内の顔の詳細な説明を提供できます。 この機能には、顔の毛、顔の表情、有名人の存在などの属性が含まれます。これは、さまざまな分析およびインデックス作成の目的で重要になる可能性があります。 アナライザー構成で顔の説明機能を有効にするには、disableFaceBlurring : true を設定します。
例:
-
フィールドの例: facialHairDescription: 顔の髪の種類 (
beard、mustache、clean-shavenなど) について説明します。 -
フィールドの例: nameOfProminentPerson: ビデオ内の著名人の可能な場合は名前を提供します (例:
Satya Nadella) - フィールドの例: faceSmilingFrowning: 人が笑顔か、顔をしかめるかの説明を提供します。
セグメント化モード
注
セグメント化を設定すると、生成モデルが使用され、フィールドが定義されていない場合でもトークンが使用されます。
Content Understanding には、ビデオをスライスする 2 つの方法が用意されています。これにより、ビデオ全体または短いクリップに必要な出力を取得できます。 これらのオプションは、カスタム アナライザーで enableSegment プロパティを設定することで使用できます。
ビデオ全体 –
enableSegment : falseこのサービスは、ビデオ ファイル全体を 1 つのセグメントとして扱い、その完全な期間にわたってメタデータを抽出します。ユース ケース:
- 広告内の任意の場所で特定のブランド安全性の問題を探すコンプライアンス チェック
- 全文のわかりやすい要約
カスタム セグメント化 –
enableSegment : true自然言語でロジックを記述し、モデルによって一致するセグメントが作成されます。 ビデオをセグメント化する方法を説明する文字列でcontentCategoriesを設定します。 カスタムでは、プロンプトに応じて、秒から分までの長さの異なるセグメントを使用できます。 このバージョンでは、ビデオは 1 つのcontentCategoriesオブジェクトのみをサポートしています。例: ニュース配信をストーリーに分割します。
{ "config": { "enableSegment": true, "contentCategories": { "news-story": { "description": "Segment the video based on each distinct news segment. Use the timestamp of each image to identify the start and end time of each segment, no overlap segments. Ignore non-news segments like ads or promotion.", "analyzerId": "NewsAnalyzer" } } } }
主な利点
Content Understanding には、他のビデオ分析ソリューションと比較して、いくつかの重要な利点があります。
- セグメントベースのマルチフレーム分析: 個々のフレームではなく、各ビデオ セグメントの複数のフレームを分析して、アクション、イベント、トピック、テーマを特定します。
- カスタマイズ: 特定のユース ケースに応じてスキーマを変更して、生成するフィールドとセグメント化をカスタマイズします。
- 生成モデル: 抽出するコンテンツを自然言語で記述し、Content Understanding では生成モデルを使用してそのメタデータを抽出します。
- 最適化された前処理: AI 生成モデルに豊富なコンテキストを提供するように最適化された、文字起こしやシーン検出など、いくつかのコンテンツ抽出の前処理手順を実行します。
技術的な制約と制限事項
注意すべきビデオ処理の具体的な制限事項:
- フレーム サンプリング (最大 1 FPS):アナライザーは、1 秒あたり約 1 フレームを検査します。 迅速なモーションや単一フレームのイベントが見逃される可能性があります。
- フレーム解像度 (512 × 512 px): サンプリングされたフレームのサイズが 512 ピクセルの正方形に変更されます。 小さいテキストや離れたオブジェクトは失われる可能性があります。
- 音声: 読み上げられた単語のみが文字起こしされます。 音楽、サウンド エフェクト、アンビエント ノイズは無視されます。
入力の要件
サポートされている形式については、「 サービスのクォータと制限」を参照してください。
サポートされている言語とリージョン
言語と地域のサポートを参照してください。
データのプライバシーとセキュリティ
すべての Foundry Tools と同様に、Microsoft の データ、保護、プライバシー に関するドキュメントを確認してください。
重要
生体認証データを処理する場合 (たとえば、Face Description を有効にする)、適用される法律に基づくすべての通知、同意、削除の要件を満たす必要があります。 Face の データとプライバシーを参照してください。
関連コンテンツ
Content Understanding Studio でビデオを分析してみてください。
Content Understanding Studio のクイック スタートを確認してください。
アナライザー テンプレートを使用したビデオ コンテンツの分析の詳細について説明します。
サンプル: