マルチモーダルデバイス用VSK(Video Skills Kit)について


マルチモーダルデバイス用VSK(Video Skills Kit)について

マルチモーダルデバイスとは、音声と画面ベースの両方のエクスペリエンスを提供するインターフェイスを備えたデバイス(Echo Showなど)を指します。マルチモーダルデバイスはアプリレスですが、VSKを実装してウェブアプリプレーヤーを設定すると、ビデオコンテンツを配信することができます。このガイドでは、開発者が構築できるマルチモーダルデバイス用VSKの機能と、自動的に組み込まれる機能について説明します。

マルチモーダルデバイスとは

マルチモーダルデバイスとは、音声と画面ベースの両方のエクスペリエンスを提供するインターフェイスを備えたデバイスを指します。ユーザーが選択した入力手段(音声またはビデオモード)によって操作方法は変わりますが、2つのモードはスムーズに連携します。

マルチモーダルデバイスは「常にオン」のデバイスであり、通常はキッチンやリビングなど、人がよく時間を過ごすエリアに置かれます。これらのデバイスはアプリレスのため、アプリの代わりにクラウドベースのスキル(Alexa Skills Kitのビデオスキルなど)や汎用的なオンデバイスコンポーネントを利用します。

マルチモーダルデバイスでビデオスキルを使用する一般的なシナリオとしては、キッチンで料理をしているユーザーが横のカウンターに置かれたEcho Showに「アレクサ、『ボッシュ』を再生して」と話しかけるシーンなどが考えられます。

マルチモーダルデバイスの使用例
マルチモーダルデバイスの使用例

Amazonのマルチモーダルデバイスは、現在、Echo Show(第1世代、第2世代)、Echo Show 5Echo Showモードに対応しているFireタブレットとサードパーティデバイスのみとなっています。Echo Spotはサポートされていません。

Echo Showは第1世代、第2世代ともに、15,000人を超えるユーザーの評価で星4つ以上を獲得しています。2018年10月に発売されたEcho Show(第2世代)は、10.1インチのHD画面を搭載しています。2019年6月に発売されたEcho Show 5は、よりコンパクトな5.5インチ画面を備えています。現在の動向からEcho Showの先の市場を考えると、膨大な数の画面付きAlexa搭載デバイスがAmazonとサードパーティの両方で製造されることが予想されます。

Alexaスキルを搭載したマルチモーダルデバイスは、ほかのEchoデバイスと比較して2倍のユーザーを惹き付けています。また、75%を超えるマルチモーダルユーザーが月に1回以上ビデオを利用しています。総合的に、ビデオと音声はすばらしい組み合わせです。マルチモーダルデバイスは、シングルモードのデバイスでは対応できない方法でユーザーエクスペリエンスを引き上げます。

アプリレスのマルチモーダルデバイスでビデオコンテンツが配信されるしくみ

マルチモーダルデバイスはアプリをサポートしていません。代わりに、Alexaからのリクエストに応答するLambdaと開発者が提供するウェブアプリプレーヤーを使用する「アプリレス」モデルです。その動作のしくみを大まかに説明すると、次のようになります。

  • ユーザーがアカウントリンクによってビデオスキルを認証する。
  • ビデオパートナーとして開発者は、汎用的でありながらカスタマイズ可能なテンプレートを使用して、ユーザーが検索と閲覧を行えるようにする。このテンプレートはデバイスにレンダリングされ、開発者が設定したコンテンツが表示される。
  • 開発者が提供および管理するカスタムウェブプレーヤーによって再生が行われる。

前提条件: カタログ統合

Fire TV対応アプリと同じように、マルチモーダルデバイスにVSKを組み込むには、アプリのカタログ統合も必要です。カタログ統合とは、XMLスキーマで記述されたAmazonのカタログデータ形式(CDF)に従ってアプリのメディアを記述し、カタログ統合の手順に沿ってカタログをS3バケットに定期的にアップロードするプロセスのことです。

カタログ統合は、IMDb、Amazonプライム・ビデオ、Gracenoteに組み込まれ検出されるのにふさわしい十分な数の長編映画やTV番組シリーズを持つアプリに制限されています。これらのソースに含まれていないコンテンツで構成されたカタログを使用する場合は、Amazonの担当者にお問い合わせください。

カタログ統合の条件を満たさない場合は、マルチモーダルデバイスにVSKを実装することはできません。

サポート対象国

マルチモーダルデバイス用VSKは、すべての国でサポートされているわけではありません。サポート対象外の国では、マルチモーダルデバイスにVSKを実装することはできません。

さらに、Lambda関数に使用するAWSリージョンは、厳密に遵守する必要があります。たとえば、英国に拠点がある場合は、欧州(アイルランド)リージョンを使用しなければなりません。

国とサポートの詳細な一覧については、マルチモーダルデバイス用ビデオスキルのサポート対象国を参照してください。また、同ドキュメントに記載のAWSリージョンとビデオスキルも参照してください。

必要なもの

マルチモーダルデバイス用VSKを実装するには、以下が必要になります。

  • AWSアカウント
  • Amazon開発者アカウント
  • マルチモーダルデバイス(例:Echo Show
  • ロゴ画像
  • 背景画像
  • AWS Lambda
  • デバイスのフォームファクターに最適化されたウェブプレーヤー(詳細については、ウェブプレーヤーの要件を参照してください)
  • アカウントリンクのサポート(コンテンツの表示が必要な場合)
  • カタログ統合メディアとカタログ名

Fire TVとは異なり、マルチモーダルデバイスでは、バックエンドサービスと共に、開発者のウェブサーバーでウェブプレーヤーを提供する必要があります。マルチモーダルデバイスでどのようなエクスペリエンスを提供するかによって、必要なサポートサービスの内容は異なります。VSKに付随する一般的なバックエンドサービスには、コンテンツのメタデータ取得、カテゴリー検索、複数の検索形式などがあります。このバックエンドサービスがなければ、Echo Showとの統合はできません。バックエンドサービスは、Lambdaではありません。この場合のバックエンドサービスとは、マルチモーダルデバイスとウェブプレーヤーのサポートです。

大まかなワークフロー

マルチモーダルデバイスにVSKを統合するには、まずAlexa開発者コンソールでビデオスキルを作成し、同スキルをAWS Lambda関数に関連付けます。ユーザーが音声でスキルと対話すると、クラウドベースのAlexa Voice Serviceがユーザーのコマンドを「ディレクティブ」と呼ばれるJSONオブジェクトに変換します。

Alexaは、このディレクティブをLambda関数に送信します。Lambda関数はそのリクエストを検査し、通常はバックエンドサービスとやり取りして(検索、クエリなど)、必要な情報を取得します。たとえば、リクエストされたコンテンツのURI、リクエストに一致するタイトルといった情報が必要となります。Lambdaは取得した情報を使用してAlexaに応答します。

ワークフローの詳細については、アーキテクチャの概要を参照してください。

マルチモーダルデバイス用VSKで提供される機能

マルチモーダルデバイスにVSKを統合すると、以下の機能を利用できます。

機能 サンプル発話
ログインとスキルの有効化 発話は必要ありません。ユーザーが「アレクサ、<ビデオプロバイダー>を開いて」または「アレクサ、<ビデオプロバイダー>で<タイトル>を再生して」と言うと、Alexaがビデオスキルを有効にするよう求めます。
クイック再生 「アレクサ、<ビデオプロバイダー>で<テレビ番組>を再生して」、「アレクサ、<ビデオプロバイダー>で<テレビ番組>を見せて」
チャンネルナビゲーション 「アレクサ、<チャンネル>に変えて」
再生コントロール 「アレクサ、一時停止して」、「アレクサ、早送りして」
検索 「アレクサ、<ビデオプロバイダー>でコメディ番組を探して」
閲覧 「アレクサ、ビデオを見せて」、「アレクサ、<ビデオプロバイダー>を開いて」
ビデオホーム 「アレクサ、ビデオを見せて」、「アレクサ、ビデオホームに移動して」、「アレクサ、ビデオホーム」

ログインとスキルの有効化

ユーザーがビデオコンテンツにアクセスするには、マルチモーダルデバイスでビデオスキルを有効にする必要があります。ビデオスキルの有効化にアカウントリンクが必要かどうかは、ビデオパートナーである開発者が決定します。アカウントリンクが必要な場合、ユーザーは開発者のサービスにログインしてコンテンツにアクセスすることになります。

VSKはOAuth 2.0を使用して、マルチモーダルデバイスでのアカウントリンクを有効にします。開発者はユーザーがログインするための認証URLを提供し、Alexaがウェブビューとしてその画面を表示します。OAuth 2.0の詳細については、アカウントリンクとはを参照してください。

開発者は、ユーザーが新しい定期購入を開始したり、アカウントを作成したりするためのオプションをログインページに追加できます(追加する場合は、iOSでこのアップセルが利用できないようにする必要があります)。 ユーザーは、Alexaアプリでいつでもビデオスキルを無効にできます。

デバイスでは、次の方法でビデオスキルを有効にできます。

  • 「アレクサ、<ビデオプロバイダー>を開いて」と話しかける。
  • 「アレクサ、<ビデオプロバイダー>で<タイトル>を再生して」と話しかける。 ユーザーが検索、再生、チャンネルナビゲーションの発話でビデオプロバイダーを対象にしていることが明白な場合、Alexaはビデオスキルを有効にするよう求めます。
  • デバイスのビデオホームページでビデオプロバイダーのアイコンをタップする。

Alexaアプリでは、[ミュージック・ビデオ・本] セクションか、Alexaスキルストアでビデオスキルを有効にできます。詳細については、Alexaスキルを有効にするを参照してください。アカウントリンクが必要な場合、アプリはユーザーにログインを求めます。アカウントリンクが不要な場合は、スキルを有効にするかどうかを確認します。

ユーザーは、一度ログインするだけで、そのAlexaアカウントのすべてのマルチモーダルデバイスでビデオスキルを有効にすることができます。

クイック再生

ユーザーは、明示的または暗黙的にタイトルやタイトル以外の項目(ジャンル、俳優、メディアタイプなど)を指定して、プロバイダーのコンテンツを再生することができます。明示的とは、ユーザーのリクエストにプロバイダーが含まれることを意味します。暗黙的とは、プロバイダーが含まれないことです。

再生は、開発者が管理するウェブプレーヤーで行われます。ユーザーがマルチモーダルデバイスでスキルを有効にしている場合、Alexaは再生リクエストによってAWS Lambdaを呼び出します。再生リクエストは、次のようなシナリオで送信されます。

  • 明示的な再生リクエスト: 「アレクサ、プライム・ビデオで『ボッシュ』を再生して」
  • ビデオプロバイダーがアクティブな場合の暗黙的な再生リクエスト: 「アレクサ、『ボッシュ』を再生して」
  • ビデオプロバイダーが限定的な(ほかに該当するプロバイダーがない)場合の暗黙的な再生リクエスト: 「アレクサ、『ボッシュ』を再生して」

プロバイダー名を言及しない暗黙的な再生リクエストで、複数のプロバイダーが同じタイトルを提供している場合、Alexaはリクエストを明確にするため、「<ビデオプロバイダー1>と<ビデオプロバイダー2>で再生できますが、どちらにしますか?」のように応答します。

チャンネルナビゲーション

ユーザーは、明示的または暗黙的な発話によって、ビデオプロバイダーが提供するさまざまなチャンネルを利用できます。開発者が提供するサービスにチャンネルが1つしかない場合でも、ユーザーはリニアチャンネルを利用できます。

再生は、開発者が管理するウェブプレーヤーで行われます。ユーザーがマルチモーダルデバイスでスキルを有効にしている場合、Alexaはチャンネルナビゲーションのリクエストを使用してAWS Lambdaを呼び出します。チャンネルナビゲーションのリクエストは、次のようなシナリオで送信されます(コンテンツがカタログにある場合)。

  • 明示的なチャンネルリクエスト: 「アレクサ、<ビデオプロバイダー>で<チャンネル>に変えて」
  • ビデオプロバイダーがアクティブな場合の暗黙的なチャンネルリクエスト: 「アレクサ、<チャンネル>に変えて」

複数のビデオプロバイダーが同じチャンネルに対応している場合、Alexaはプロバイダーを明確にするため、たとえば 「<ビデオプロバイダー1>と<ビデオプロバイダー2>で再生できます。どちらにしますか?」のように応答します。 あいまいさを解消する質問によってユーザーがスキルを選択すると、AlexaはAWS Lambdaを呼び出します。

再生コントロール

ユーザーは、音声とタッチで再生をコントロールできます。次の表は、マルチモーダルデバイスでAlexaがサポートするすべての再生コントロールのリストです。

再生コントロール ユーザーエクスペリエンス
「アレクサ、一時停止して」、「アレクサ、停止して」 再生を一時停止する。
「アレクサ、再生して」、「アレクサ、再開して」 再生する。再生を再開する。
「アレクサ、早送りして」 10秒早送りする。
「アレクサ、巻き戻して」 10秒巻き戻す。
「アレクサ、<時間>早送りして」 指定された時間で早送りする。例:「アレクサ、2分早送りして」
「アレクサ、<時間>巻き戻して」 指定された時間で巻き戻す。例:「アレクサ、2分巻き戻して」
「アレクサ、次へ」 ビデオプロバイダーが再生されるタイトルを決定する。
「アレクサ、前へ」 ビデオプロバイダーが再生されるタイトルを決定する。
「アレクサ、字幕を付けて」、「アレクサ、字幕を消して」 字幕のオンとオフを切り替える。

上記のコマンドは、ウェブプレーヤーの画面上のコントロールから開始することもできます。

ビデオプロバイダーのコンテンツを検索できます。ユーザーは、明示的または暗黙的に、タイトルやタイトル以外の項目(メディアタイプ、ジャンル、俳優など)を検索できます。

ユーザーがマルチモーダルデバイスでスキルを有効にしている場合、Alexaは検索リクエストを使用してAWS Lambdaを呼び出します。以下にシナリオを示します。

ユーザーがマルチモーダルデバイスでスキルを有効にしている場合、Alexaは検索リクエストを使用してAWS Lambdaを呼び出します。検索リクエストは、次のようなシナリオで送信されます(コンテンツがカタログにある場合)。

  • 明示的なタイトル検索リクエスト: 「アレクサ、プライム・ビデオで『ボッシュ』を検索して」
  • タイトルなしの明示的な検索リクエスト: 「アレクサ、プライム・ビデオでテレビ番組を見せて」
  • タイトルを含む暗黙的な検索リクエスト(ビデオプロバイダーがアクティブな場合): 「アレクサ、『ボッシュ』を見せて」
  • タイトルを含まない暗黙的な検索リクエスト(ビデオプロバイダーがアクティブな場合): 「アレクサ、テレビ番組を見せて」
  • 限定的なタイトル検索リクエスト: 「アレクサ、『ボッシュ』を見せて」

リクエストされたタイトルまたはタイトル以外の項目を複数のビデオプロバイダーが提供している場合、Alexaはプロバイダーを明確にするために、たとえば「<ビデオプロバイダー1>と<ビデオプロバイダー2>がありますが、どちらにしますか?」のように応答します。 あいまいさを解消する質問を受けてユーザーがスキルを選択すると、AlexaはAWS Lambdaを呼び出します。

検索に関するその他の考慮事項:

  • 受け取った検索クエリごとに、タイトルのリスト(それぞれのメタデータ付き)を、タイトルがユーザーに表示される順序で返す必要があります。返されるタイトルは検索結果テンプレートにレンダリングされます。このテンプレートは、カスタマイズしてロゴを付けることができます。予想されるレスポンス例については、GetDisplayableItemsMetadataディレクティブを参照してください。
  • ユーザーは、音声とタッチで検索結果を選択できます。検索結果テンプレートでは番号付きの検索結果も返せるため、ユーザーは「アレクサ、結果リストの3番を再生して」と話しかけることもできます。
  • Alexaでは、複数のビデオプロバイダーのタイトルが混在する結果は表示されません。複数のプロバイダーが同じカテゴリーの検索結果を提供できる場合(例:「アレクサ、映画を見せて」)、Alexaはプロバイダーを明確にしてから、ユーザーが選択したプロバイダーの検索結果を表示します。

閲覧

ユーザーは、「アレクサ、<ビデオプロバイダー>を開いて」といった発話によって、ビデオコンテンツを閲覧できます。または、ビデオホームページでビデオプロバイダーのアイコンをタップしてコンテンツを閲覧することもできます。ビデオホームからビデオプロバイダーをタップまたは選択すると、ランディングページが表示されます。どちらの閲覧アクションでも、ランディングページに移動します。

閲覧機能によって、コンテンツが見つけやすくなります。このランディングページのレンダリングにはテンプレートを使用しますが、コンテンツとブランドの管理は管理者が行います。ユーザーは音声またはタッチでランディングページを移動できます。音声では、「アレクサ、下にスクロールして」のように話しかけることができます。 「アレクサ、人気上昇中の作品を表示して」のように話しかけて選択することもできます。

ランディングページについては、次の点に注意してください。

  • このランディングページでは、ロゴ、ヒーローヘッダーのタイトル、選択したカテゴリーのリストで構成できる、音声とタッチに最適化されたテンプレートを使用します。
  • このランディングページには、音声やタッチでアクセスできる [その他のカテゴリー] セクションもあります。[その他のカテゴリー] には、開発者が指定するビデオカテゴリーのタイルが表示されます。提供できるカテゴリーには、最近追加された作品ウォッチリスト人気上昇中の作品視聴履歴に基づくおすすめ:<タイトル>、期間限定コンテンツなどがあります。
  • ユーザーがカテゴリーを選択すると、検索結果と同じテンプレートで、そのカテゴリーに含まれる各タイトルが表示されます。

ビデオスキルのランディングページの例を次に示します。

ランディングページの例
ランディングページの例

ビデオホーム

ビデオホームは、マルチモーダルデバイスに自動的に組み込まれる機能です。「アレクサ、ビデオを見せて」、「アレクサ、ビデオホームに移動して」のように話しかけると、ビデオホームページが表示されます。 ビデオホームには、デバイスのビデオスキルが一覧表示されます。

ビデオホームページには、ビデオプロバイダーごとのタイルがあり、音声とタッチで操作できます。ユーザーが有効にしていたビデオプロバイダーのスキルが選択されると、Alexaがそのプロバイダーのランディングページを起動します。無効のスキルが選択された場合、Alexaはスキル有効化プロセスを開始します。

PINで保護された再生

PINで保護された再生は、マルチモーダルデバイスに自動的に組み込まれる機能です。PINで保護された再生では、任意のビデオプロバイダーのコンテンツに個人識別番号(PIN)を設定して、再生を制限することができます。

ユーザーはこのPINを利用してペアレンタルコントロールを設定できます。ビデオプロバイダーにPINを設定すると、そのプロバイダーのコンテンツにアクセスするたびにAlexaからPINの入力を求められます。

開発にかかる推定所要時間

マルチモーダルデバイスにVSKを完全統合するには、数週間から数か月かかることがあります。コンテンツのカタログ統合が既に完了している場合、VSKの実装に必要な開発作業の大部分を占めるのは、Lambda関数から受信したディレクティブを処理するためのロジック作成です。

マルチモーダルデバイス対応アプリにVSKを組み込むプロセスは、一連の手順から成ります。詳細については、「マルチモーダルデバイスにおけるVSK(Video Skills Kit)の実装プロセスについて」に記載されている実装手順を参照してください。

最初の統合手順(手順1: ビデオスキルとLambda関数を作成する手順2: Echoデバイスでビデオスキルを有効化してテストする)の所要時間は約2時間です。Alexaからクラウド上のLambda関数に送信されるディレクティブを確認できるので、実装範囲の理解が深まるはずです。

主なコンポーネント

マルチモーダルの実装で使用される主なコンポーネントは次のとおりです。

AWS Lambda
スキル定義で構成されたAWS Lambda関数は、Alexaとバックエンドサービス間のインターフェイスです。マルチモーダルデバイスなどのAlexaエンドポイントにコンテンツをストリーミングするには、AWS Lambda関数で別のAPIセットを実装する必要があります。
バックエンドサービス
どのようなユーザーエクスペリエンスを提供するかによって、必要なサポートサービスの内容は異なります。ビデオスキルに付随する一般的なバックエンドサービスには、コンテンツのメタデータ取得、カテゴリー検索、複数の検索形式などがあります。
ウェブプレーヤー
ユーザーが開発者のサービスからコンテンツを再生すると、スキル定義で指定されたURLによって、マルチモーダルに最適化されたウェブプレーヤーが開きます。ウェブプレーヤーは、Alexaが提供するJavaScriptライブラリを通じて音声コマンドを受信します。JavaScriptライブラリはウェブプレーヤー用のHTMLに含まれます。AWS LambdaとJavaScriptライブラリは、再生ライフサイクルイベントと現在のコンテンツのメタデータをAlexaに渡し、ユーザーにすべてのビデオ機能を提供します。

ウェブプレーヤーの要件

ウェブプレーヤーは、ウェブブラウザで開き、次のコーデック、形式、および標準をサポートする必要があります。

ビデオの要件:

  • HLS/MPEG-DASH
  • MP4 H.264
  • Widevine DRMレベル1
  • Encrypted Media Extensions(EME)
  • Media Source Extensions(MSE)

オーディオの要件

  • MP4(AAC)
  • WebM(Vorbis)
  • WebM(Opus)
  • AAC-LCはサポートされていますが、AAC-SBRはサポートされていません。メディアは、適切かつ確実に再生されるようにするため、「Chromium」向けに定義されたオーディオ仕様を遵守する必要があります。Chromiumの詳細については、Chromium ProjectsサイトのAudio/Video(英語のみ)を参照してください。

画像アセットの要件

背景画像

  • 縦横比: 16/9、+/-0.05
  • 最小サイズ: 幅512ピクセル×高さ288ピクセル
  • 最大サイズ: 幅1280ピクセル×高さ720ピクセル

背景画像はビデオホーム画面(「アレクサ、ビデオホームに移動して」という発話で表示される画面)に表示されます。ビデオホームには、さまざまなビデオスキルの背景画像が表示されます。次のスクリーンショットの「Video Skill Logo」はこのような背景画像の一例です。

背景画像
背景画像の例

ロゴ画像

  • 縦横比: 1.0 - 5.0
  • 最小サイズ: 幅48ピクセル×高さ48ピクセル
  • 最大サイズ: 幅1280ピクセル×高さ720ピクセル

ロゴ画像は、検索・閲覧テンプレートの右上隅に表示されます(「アレクサ、プライム・ビデオを開いて」という発話でカテゴリーのテンプレートが開きます)。ロゴ画像の背景は透明にすることをお勧めします。次のスクリーンショットでは、「Prime Video」というロゴ画像が表示されています。

ロゴ画像
ロゴ画像の例

ビデオスキルAPIと画面表示を使用するカスタムスキルの違い

ビデオスキルAPIは、カタログコンテンツのほとんどがIMDbにあるビデオプロバイダー(または音声対話型デバイスを開発するデバイスメーカー)向けに設計されています。この実装では、Lambdaと開発したビデオサービスでAlexaからのディレクティブを処理し、「アレクサ、『インターステラー』を再生して」などのリクエストをサポートできるようにします。

これに対して、Alexaスキルに付随する視覚要素(画像、短いビデオクリップ、画面に表示されるテキストなど)だけを提供する場合は、(ビデオスキルではなく)カスタムスキルを作成し、Alexa Presentation Language(APL)を使用してDisplayテンプレートで視覚エクスペリエンスをレンダリングします。たとえば、クイズスキルに関連するテキストや画像をEcho Showの画面に表示することなどができます。ビデオスキルAPIを使用してビデオコンテンツのより複雑な対話型音声エクスペリエンスを構築するのではなく、こちらのエクスペリエンスを構築する場合は、画面付きのAlexa搭載デバイス用のスキルの作成を参照してください。画面表示を使用するカスタムスキルの実装プロセスはシンプルで、開発にあたり広範な専門知識は必要ありません。

次のステップ

マルチモーダルデバイス用ビデオスキルの構築を開始するには、マルチモーダルデバイスにおけるVSK(Video Skills Kit)の実装プロセスについてを参照してください。