Amazon Web Services ブログ
Media Insights Engine で AWS 上のマルチメディアアプリケーションを迅速にプロトタイプする方法
このブログは “How to rapidly prototype multimedia applications on AWS with the Media Insights Engine” を翻訳したものです。
AWS は、動画、画像、音声、テキストを分析し変換するための強力なサービスを提供しています。しかし、これらのサービスを利用するには、AWS Lambda、AWS Step Functions、Amazon S3 などの汎用 AWS API をビルディングブロックとして使用する必要があります。私たちは、マルチメディアアプリケーション開発者にはマルチメディア専用に構築された API の方が有益であると考え、それを開発しました。このブログでは、そのフレームワークである Media Insights Engine について説明します。このフレームワークは、開発者が地道な作業よりも、アプリケーションをインパクトのあるものに集中できるようにすることを目的としています。
AWS Elemental のメンバーは、ビデオストリーミング、メディア資産管理、ビデオコンテンツ分析などのアプリケーションを構築し、動画のあらゆる側面を扱っています。私たちの経験を組み合わせることで、私たちのチームは、次のようなマルチメディアアプリケーションの一般的なデザインパターンを学びました。
- 一連のサーバーレス関数からビデオパイプラインを定義する方法
- バイナリ音声、ビデオの時系列字幕、プレーンテキストメタデータなどのマルチメディアデータを統一されたストレージシステムで一緒にカタログ化する方法
- 長編映画のデータ量を処理できる分析用ウェブアプリケーションを構築する方法
これらのパターンを新しいアプリケーションごとに実装するのではなく、メディアファイルの分析や変換に必要なビルディングブロックを含む基礎的なフレームワークから始めることを想定し、2019 年初頭に、Media Insights Engine(MIE)と呼ばれるフレームワークの開発を開始しました。協力者は、GitHub 上でプロジェクトへの貢献を呼びかけました。この半年間で、MIE は 30 以上の新しいアプリケーションの基盤として使用され、その中には、何百万人ものグローバルな視聴者に重要な情報を放送する組織の多言語字幕を生成するインパクトのあるアプリケーションも含まれています。
MIE:AWS におけるビデオ処理のためのモジュール式フレームワーク
Media Insights Engine (MIE) は、高度に設定可能なステージベースのサーバーレスメディア処理フレームワークです。MIE を使用すると、開発者は、メディアに対してタスクを実行するオペレータで構成されるワークフローを、モジュール化された拡張可能な方法で作成できます。これらのオペレータは、シンプルなビデオのトランスコードから多面的な画像解析まで、さまざまなタスクを Step Functions で定義された 1 つのワークフロー内で実行できます。MIE は、ワークフローのオーケストレーション、マルチモーダルなデータストレージ、インフラのスケーリングを、コストを削減するために最適化された効率的な方法で処理します。これにより、開発者はビジネス価値の創造により多くの時間を割くことができ、一般的な運用上の課題の解決に費やす時間を減らすことができます。
MIE は、シンプルなモジュールをクリーンなインタフェースで接続することを重視する UNIX の設計原理を踏襲しています。MIE では、シンプルなモジュールはマルチメディア オブジェクトを分析または変換するオペレータであり、インタフェースはワークフローパイプラインとデータの永続性をオーケストレーションする API です。この設計は、マルチメディアアプリケーションの構築に共通して必要とされる以下の 3 つの要素を簡潔に包含しています。
- オペレータ:メディアオブジェクトを変換または分析するための個別のタスクを実行するモジュール関数。
- パイプライン:新しいメディアオブジェクトやメディアオブジェクトに関する新しいメタデータを得るために連携する一連のオペレータ。
- 永続性:バイナリメディアオブジェクトやプレーンテキストメタデータのようなマルチモーダルデータを保存または取得するためのストレージシステム。
開発者は、専用の API を使ってパイプラインとデータ永続化レイヤーにアクセスできれば、パイプラインのオーケストレーションとマルチモーダルデータへのアクセスのための低レベル API を気にすることなく、アプリケーションの実装に集中できます。このように関心事を分離することで、マルチメディアアプリケーションの開発時間を短縮し、パイプラインのオーケストレーションやデータ永続化レイヤーの品質を向上させることができます。
ユースケース
私はこれまで、MIE のメリットが発揮される事例をいくつか見てきましたが、ユーザーによってアップロードされたビデオを分析するために設計されたビデオオンデマンドのアプリケーションなどが多いようです。以下に MIE を使用して構築されたアプリケーションの例をいくつか挙げます。
ビデオコンテンツの修正
私の同僚の一人が、以下の 3 つのオペレータを使用した顔の修正アプリケーションを作成しました。
- ビデオ内の顔を認識する Amazon Rekognition オペレータ
- Amazon Rekognition によって特定されたビデオフレームごとに画像を抽出し、ぼかす OpenCV オペレータ
- 元のビデオのフレームを OpenCV でぼかした画像に置き換えるスティッチングオペレータ
Amazon Rekognition のコンテンツモデレーションによって特定された武器、ヌード、暴力を編集するために 4 番目のオペレータを追加した後、処理パイプラインは次のようになります。
広告配置のための動画特徴の導出
MIE を使用して開発者が作成する一般的なアプリケーションには、データ型を組み合わせてビデオで何が起こっているかを学習するものがあります。たとえば、私の別の同僚は、OpenCV オペレータからのピクセルデータと、フレームごとにオブジェクトと人物をカウントするように設計された AWS Rekognition オペレータのペアからのメタデータを組み合わせることによってシーンの変化を検出する広告配置アプリケーションを作成しました。これは、シーンの変化が、次のようなメタデータの大きな変化と一致することが多いため、うまくいきました。
- フレーム内のオブジェクトの数
- フレーム内のオブジェクトの数、フレーム内の人の数
- フレーム内のオブジェクトの数、フレーム内の人の数、シーンが黒にフェードするときのフレームの明るさ
映像のシーンチェンジがすべて認識できたら、別のオペレータがオンライン広告システムに取り込むための広告配置ファイル(VMAP)を作成します。次の図は、このアプリケーションのパイプラインを視覚化したものです。
広告配置のアプリケーションは、MIE のオペレータの柔軟性を示すもので、とても気に入っています。シーンチェンジなどの新しいメタデータや、VMAP ファイルなどの新しいメディアオブジェクトを導き出すために使用することができるのです。また、MIE のオペレータの抽象化により、ffmpeg や OpenCV などの従来のビデオ処理ユーティリティや、AWS Rekognition などの最新の機械学習サービスも利用できます。
既成の AI を自社コンテンツで評価する
学習済み AI サービスの市場は急速に拡大しています。例えば、Amazon は現在、機械学習の経験がなくても利用できるトップレベルの AI サービスを 12 以上提供しています。これらのサービスについてお客様が最初に質問するのは、自社のコンテンツに対して許容できるレベルの精度を提供するかどうかということです。
- AWS Rekognition は、私が探しているオブジェクトのラベルを提供できるのか?
- AWS Transcribe は、私のビデオで使われている専門用語を正確に解析できるのか?
- AWS Translate は、私のビデオを視聴者の地域言語に正確に翻訳できるのか?
私のチームは、開発者が独自のコンテンツで AWS AI サービスをテスト利用できるように、MIE を使用して AWS Content Analysis ソリューションを構築しました。このアプリケーションは、オープンソースの MIE フレームワーク内にリファレンスアプリケーションとして含まれており、いくつかの AWS サービスを使用して、画像分析と音声検出でビデオをカタログ化しています。
自動翻訳のためのコンテンツ分析
MIE で最もインパクトのある使用例の 1 つは、世界中の視聴者に向けて多言語の公共広告の制作を加速する必要があるグローバルな組織で、AWS Content Analysis アプリケーションを活用したことです。私のチームは、MIE のオペレータのモジュール性を活用し、AWS Content Analysis の翻訳および文字起こしオペレータを拡張することで、自動翻訳用のアプリケーションを迅速に提供しました。これにより、ステークホルダーはどの言語がうまく機能し、どの言語がまだ手動翻訳を必要としているかを知ることができました。MIE がなければ、AWS 上の自動翻訳が自社のコンテンツやさまざまな言語でどのように機能するかを理解するのに、もっと時間がかかっていたことでしょう。
まとめ
MIE は、AWS 上で動画を解析または変換するアプリケーションのためのソフトウェア開発ツールキットです。MIE は、費用対効果の高いビデオ処理アプリケーションをコーディングするための開発時間を短縮し、学習曲線を短縮できます。MIE を使用することで、開発者はアルゴリズムやデータの可視化など、ビジネス価値を生み出すものに集中できます。
AWS 上で動画を分析したり変換したりするアプリケーションを構築する予定がある場合は、Media Insights Engine を検討してみてください。多くの時間を節約し、アプリケーションのスケーリングに役立つ可能性があります。
参考リンク
AWS Media Services
AWS Media & Entertainment Blog (日本語)
AWS Media & Entertainment Blog (英語)
AWS のメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。
翻訳は SA 前川 が担当しました。原文はこちらです。