ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
優れたHLSオーディオエクスペリエンスの提供
帯域幅が限られたネットワークに高品質なオーディオのストリーミングを行うための技術と、新たなオーディオコーデックサポートをご覧ください。ここでは、マルチチャンネルAACの限られたサポートを含む、xHE-AAC、FLAC、およびApple Lossless Audioオーディオコーデックのサポートに関するいくつかのベストプラクティスをご紹介します。
リソース
関連ビデオ
WWDC20
-
ダウンロード
“こんにちは WWDC2020” WWDCへようこそ “優れたHLSオーディオエクスペリエンス の提供” こんにちは カンファレンスは有意義でしょうか? もしデータ効率の改善を目指していたり HLSオーディオストリームの忠実度を 同時に改善したいなら このセッションが最適です 僕はメディアストリーミング・ エンジニアのサイモン より良いHLSオーディオエクスペリエンスの 届け方を見つけましょう 始める前に言いたいのは これが追加のガイダンスだということです Appleデバイス向けの 既存のHLSオーサリング仕様と― developer.apple.comで利用可能な ドキュメントを補足します セッション前にドキュメントの内容を 把握することをお勧めします 必要なら どうぞ一時停止してください 僕はVODです 先に そっちを把握してから ここに戻ってきてください 前置きは終わり 始めましょう 今日のトピックは2つです 最初に3つの 新しい音声コーデックを紹介します 2020年のOSリリースでHLSに加わります それから音声コーデックのうち2つの― マルチチャンネル設定での使用について 話します 2020年のOSリリースの 新しい音声コーデックとは? まずはxHE-AACです “拡張版 高効率・高度 音声コーデック”のことです こうしたすべての形容詞から 皆さんが分かるのは 低~中程度のビットレートで とても効率的な音声コーデックだということです ビットレートは 200キロビット毎秒以下です
2020年のOSリリースで加わる 2つの音声コーデックは 可逆音声コーデックです “フリー可逆音声コーデック”のFLACと Apple Losslessです xHE-AACは2020年リリースでの HLSの新技術ですが 2019年のリリースでは ファイルベースの再生に利用できました iOS 13とmacOS Catalinaです FLACとApple Losslessは ファイルベースの再生に利用可能でした では1つ目のxHE-AACについてです xHE-AACは MPEG-D規格の別名があります USAC つまり “音声音響統合符号化方式”です この名称で皆さんが分かるのは このコーデックが― 会話の再現に特化しているということです 用途の広い音声コーデックとしても 優秀です 先ほど言ったように 低~中程度のデータレートです ではxHE-AACとAACファミリー全体を 比較してみましょう 少し違います AACファミリーは皆さんお馴染みの AAC-LCから始まります “AAC低複雑度”という意味です 96キロビット毎秒のデータレートに このコーデックの使用を推奨しました ISO構文を使って このコーデックを識別します コーデック属性は“mp4a.40.2”です このコーデックは 別のコーデックに発展しました HE-AACです “高効率・高度 音声コーデック” という意味です SBRと呼ばれる符号化ツールを 採用しています “スペクトル帯域複製”のことです 高周波数部分が AACメディアエンコード内にある 低周波数部分から再構成されます 48キロビット毎秒のデータレートに HE-AACの使用を推奨しました コーデック文字列“mp4a.40.5”で HE-AACを識別します まだ続きがあります バージョン2のHE-AAC v2に発展しました Parametric Stereoという符号化ツールを 採用しています これは追加のパラメータのデータを使って― モノラルの音声チャンネルから 第二の音声チャンネルを再構成します 32キロビット毎秒のデータレートに HE-AAC v2の使用を推奨しました さて ここで相互運用が終わります 3つの音声コーデックには 相互運用性があります HE-AACのデコーダで HE-AAC v2をデコードすることが可能です しかし得られる音声チャンネルは 1つだけなので注意です 初期の2つは Parametric Stereoに非対応だからです
xHE-AACの機能を見てみましょう 後方互換性はxHE-AACにはありません 従来の符号化ツールもありますが さらに進化しています 改良されて より効率的です そのためマスタープレイリストで xHE-AACを正しく識別することが重要です ISO構文で コーデック属性は“mp4a.40.42”です
高度なコーデックで効率的なので 24キロビット毎秒に 使用することを推奨します xHE-AACが他のAACファミリーと異なる もう1つの点は 規格制定団体のアプローチ方法です HLSオーサリングのガイドラインで 推奨してきたのは ラウドネスとDRC(ダイナミックレンジ・ コントロール)メタデータを含めることです ダイナミックレンジ・コントロールとは? メディアシステムに音声信号レベルを 継続的に調整させるメタデータです うるさい時と静かな時の レベルの違いを減らすためです このメタデータを含めましょう もしくはプログラムコンテンツや その合間の広告を すべて同じ音量にしてください 僕たちの推奨は ANSI/CTA-2075の新規格に沿っています そこでも このメタデータを 含めることが推奨されています これとは異なる もう1つの規格で さらに先を行くのはCMAFです “共通メディアアプリケーション フォーマット”のことです MPEG-DASHとHLS間のメディアエンコードを 単一化しようとするフォーマットです CMAFは一歩 進んでいて― メディアエンコードに このメタデータを 含めることを義務化しています 他のAACファミリーでは メタデータを含めることは 推奨されているだけです つまりDRCは業界中で さらに関連が強くなっているのです このメタデータの採用には 将来性があります HLSはAppleデバイス上のxHE-AACを どうサポートするのでしょうか 先ほど言ったように コーデック属性を通じて― xHE-AACの使用を表すことが重要です もう一度 言います 構文は“mp4a.40.42”です AVFoundationフレームワークの AVPlayerは モノラルとステレオをサポートしますが マルチチャンネルはサポートしません コンテナはFragmented MP4限定です サポートされた暗号化メカニズムは Common Encryptionのみです ではソフトウェアやサービスで xHE-AACをどう利用できるのでしょうか まずは おさらいからです 24キロビット毎秒のデータレートで 使用するのに適したコーデックです 僕たちが推奨してきた上限は ステレオで160キロビット毎秒です ソフトウェアとサービスで xHE-AACを利用する最も簡単な方法は マスタープレイリストに 低ビットレートの音声を加えることです これを行う動機は2要素から成ります 1つ目は低データレートの顧客に リーチするためです そのネットワークで 顧客が行き詰まってしまいます 2つ目はデータレートが制限されたデバイスの 顧客にリーチするためです デバイスはネットワーク接続性が異なります デバイスの例がApple Watchです “What's new in streaming audio on Apple Watch”というセッションも― チェックしてくださいね ここでも例を挙げます コンテンツライブラリに マスタープレイリストがあり― 2つの音声を表しています 1つ目の音声はHE-AACを利用していて― 48キロビット毎秒を使います プレイリストの2つ目の音声は AAC-LCを使用し― 64キロビット毎秒です 低データレートの顧客にリーチして 再生中に止まるのを防ぎ― データレートの制限されたデバイスの 顧客にリーチするには 新しい音声を導入するだけです xHE-AACを利用し コーデック文字列を正しく表したものです これで24キロビット毎秒の 音声が手に入りました
他にもソフトウェアとサービスに xHE-AACを利用できる方法があります まずは複数または全部のAACコーデックを xHE-AACと並行して使うことができます ここでの動機は同じビットバジェットで 高忠実度の音声を提供することです もう1つの利用方法は プレイリストにDRCサポートを 採用する機会だということです DRCの関連が ますます強くなる未来に 皆さんのライブラリを移行するのです “どうやって既存の音声一式を無視して AVPlayerに高忠実度の音声を選ばせるのか”と 不思議に思っているかもしれません その答えは文字列タグに導入した新しい属性 SCORE属性にあります “Improve stream authoring with HLS Tools” というセッションで取り上げます 見てくださいね でも ここでも例を挙げます この例では2つの音声があります 1つ目の音声はxHE-AACと表されています ビットレートは94キロビット毎秒です 2つ目の音声はAAC-LCで 96キロビット毎秒です SCOREはxHE-AACを AAC-LCの音声より高くしています xHE-AACの帯域幅が AAC-LCより低いことにも― 気づいたかもしれません SCORE属性を使うと― AVPlayerは サポートが存在する xHE-AACの音声を好みます
次は可逆音声について話します 新しい音声コーデックは FLACとApple Losslessです 両方オープンソースですが 他よりも優勢です FLACは より広く一般に使用され― Apple LosslessはMPEG-4で より確立されています HLSはAppleデバイスの 2020年OSリリースで どうやって可逆音声を サポートするのでしょうか 正しく表す必要があります 繰り返しますがコーデック文字列“fLaC”で その使用を表すことが重要です どんなに おかしくても LとCは大文字です Apple Losslessは“alac”です AVPlayerは2つの音声コーデックの 全チャンネル構成をサポートします 最大8チャンネルです 詳しくは この後で コンテナはFragmented MP4に限定 サポートされた暗号化メカニズムは Common Encryptionのみです ソフトウェアやサービスで 可逆音声をどう利用できるのでしょうか
1つ目は 高ビットレートの音声を 皆さんのプレイリストに追加できます これを行うのは 皆さんの顧客に 十分な帯域幅がある場合だけです さらに これを検討するのは 顧客が並外れて高い音声忠実度を 期待している時です セッションの2つ目のトピックに移りましょう マルチチャンネルでは 可逆音声チャンネルをどう使うのでしょうか 先ほど触れましたが FLACとApple Losslessは 8チャンネルまでサポートします 5.1および7.1のチャンネル構成内です 2つのコーデックは チャンネルレイアウトが異なるため 正しく音を出すには 次のことに従ってください Apple Losslessは センター L Rの順です 一方 FLACではLとRチャンネルが先で その後がセンターです お分かりかと思いますが可逆音声は AACなどの非可逆音声コーデックより はるかに高いデータレートを要します どれくらいでしょう? FLACがAAC-LCと比べて どれほどのデータレートを要するのか示すには もっと広いグラフが必要です Y軸を変更しなければなりません 少しお待ちを 今やります これです いいでしょう 48キロヘルツのAAC-LCは 変わらず160キロビット毎秒です でもグラフを少し変更したので とても小さく見えます おかげで可逆音声を紹介する 多くのスペースができます 可逆音声では4倍近くになります サンプル当たり16ビット 48キロヘルツで ほぼ1メガビットです 一番 高いものでは24ビット 96キロヘルツのサンプリング周波数で ほぼ3メガビットに上がります まだあります AACのような非可逆音声コーデックは エンコーダを構成し 特定のビットレートを実現できます 可逆音声コーデックでは不可能です 皆さんが要求した忠実度の実現に 必要な量のデータを消費します これは平均データレートです 全体像は 最大データレートを追加した時です AACに最も近い音声忠実度― つまりサンプル当たり16ビット 48キロヘルツでは1メガビットを超えます 同じようなことが マルチチャンネルでもあります たった今 Y軸が変わりました AAC-LCは400キロビット毎秒です 可逆で最も近いものは 2メガビット毎秒を上回ります 一番 高いものでは8メガビット毎秒です サンプル当たり24ビット 96キロヘルツで 音声は6チャンネルです これらの高いビットレートへ― 適応的にスケールアップする方法を 考えることが とても大切です 推奨する方法は マルチチャンネルAACを マスタープレイリストに含めることです AppleのCompressorでエンコード可能です しかしマルチチャンネルAACは Appleデバイスでは統一サポートできず― 全チャンネル数にデコードされません 全チャンネルにデコードされないデバイスでは 2チャンネルのステレオになります しかし これは後方互換性のために ステレオAACを含めるという要件を妨げません 例を使って説明します 表示されているのは 一番上にメディアタグのあるプレイリストです チャンネル数を示します 今回の内容にあまり関係がないので 消しましょう 強調されているのは再生資格のあるもので マルチチャンネルAACを全チャンネル数に デコードできるデバイスです そのデバイスにマルチチャンネル音声を レンダリングできる音声ルートがある場合 HE-AACからAAC-LCマルチチャンネルに そして2メガビット毎秒の 可逆マルチチャンネルにまで― スケールアップ可能です ステレオの場合も同じです 低ビットレートのAACステレオから 高ステレオAACビットレートに 適応的にスケールアップできます そしてステレオ可逆の1メガビットに 適応的にスケールアップ可能です ではマルチチャンネルAACを プレイリストから除外したら? 自宅では試さないでください マルチチャンネルAACを 除外したプレイリストです 今度も一番上にメディアタグがあるので 消しましょう
マルチチャンネルアウトプットを サポートするデバイス上で 音声ルートが レンダリングをサポートします 再生資格のある音声が1つあります これは可逆音声で 2メガビット毎秒を要します 顧客が2メガビット毎秒を維持できないなら 皆さんの再生または顧客の再生が止まります すべてのプレイリストに ステレオAACを含めることを義務化しているので ステレオの再生は 低ビットレートAACから高ビットレートAACに そして可逆ステレオにスケールアップします たくさん学びましたね まとめましょう 新しい音声コーデック3つを紹介しました DRCメタデータをメディアエンコードに 含める必要性について話しました 前進する業界では重要です さらにマルチチャンネル可逆の使用や 高データレートに スケールアップする手段としての マルチチャンネルAACの利用について 話しました 帰宅したら何をすべきですか? もう自宅かもね xHE-AACを採用して低スループットの顧客を 狙う方法を考えてください 顧客のスループットをより良く利用して より良い音声忠実度を届ける方法や ソフトウェアやサービスに適用できるなら 可逆音声コーデックの利用方法も 勉強になりましたか? 他のカンファレンスも ぜひどうぞ どうか無事に自宅に帰ってくださいね 隣の部屋かな?
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。