高音質ストリーミング配信に最適なオーディオ・コーデックとは
ストリーミング配信においては、再生側のインターネット回線速度に対し、コンテンツのデータレートが十分小さくないと、再生中に音が止まる (バッファリングが発生する) 可能性があります。このため、ダウンロード配信と比較して、データの圧縮技術がより一層重要となってきます。Live Extremeでは音声コーデックとして、ロスレスかつハイレゾに対応したオープン・フォーマットである「FLAC」と「Apple Lossless」を採用しています。今回はその理由について説明していきます。
ハイレゾ対応オーディオ・コーデック
96kHz以上のハイレゾ音声を入力可能なオーディオ・コーデックについて、代表的なものを非可逆圧縮 (ロッシー) と可逆圧縮 (ロスレス) に分け、それぞれまとめてみます。
96kHz音源をロッシー圧縮する技術は、20年以上前から実用化されており、現在もっとも普及しているオーディオ圧縮コーデックである「AAC (Advanced Audio Coding)」も、実は96kHzに対応しています(が、96kHzでは殆ど使われていません)。
最近ですと、Bluetoothヘッドホンでのハイレゾ級伝送技術として「LDAC」なども一般的になってきました。これは「20kHzを超える超音波領域の音を収録するポテンシャルがありつつも、あくまでもロッシー圧縮である」という位置付けで、転送レートの限られたBluetoothでの利用はある程度理解できるものの、インターネット・ストリーミングにおいては超音波の前に、まずはしっかりとロスレス伝送をするべきではないか、と私は考えています。
そういう意味では「44.1kHz/16bitまではロスレス伝送でき、それを超えるレートだとロッシー」という「MQA (Master Quality Authenticated)」の設計思想はなかなか興味深く、いつかこのブログでも技術解説できればと思っておりますが、Amazon Music HDやApple Musicがロスレスのハイレゾ・ストリーミングを実用化した時点で、一つの使命を終えたのではないかと個人的に考えています。
ハイレゾ対応ロスレス・オーディオ・コーデック
ロスレス・オーディオ・コーデックの歴史は、DVD-Audioで採用された「MLP (Meridian Lossless Packing)」が一つの起点となっています。この技術を後にDolby社が買い取り「Dolby TrueHD」というブランドでHD-DVDやBlu-ray Discに採用。最近話題の「Dolby Atmos」も、Blu-ray Disc収録のものはDolby TrueHDがベースになっています。一方、PCやSTB向けの配信に利用されるDolby Atmosは、ロッシーなDolby Digital Plusベースなので注意が必要です。
国際標準規格「MPEG-4 ALS」
MP3やAACを国際標準化したことで有名なMPEG (Moving Picture Experts Group) も、実は「MPEG-4 ALS (Audio Lossless Coding)」というロスレス・オーディオ方式を規格化しています。こちらはNTTが開発に関わり、日本の新衛星放送規格の中にも盛り込まれていますが、PCオーディオやネットワーク・オーディオの分野では殆ど利用されていません。
その理由の一つに、オーディオ/ビデオ分野におけるオープン化(フリー化)の流れがあると言えそうです。MPEG-4 ALSは仕様が公開されたオープン・フォーマットではありますが、無償公開されているわけではないのが、後述のフォーマットとは異なります。
デファクト・スタンダード「FLAC」と「Apple Lossless」
ロッシーな圧縮はアルゴリズムによって音質に大きな差が生じるのに対し、ロスレス圧縮アルゴリズムには基本的に音質差はなく、あるのは処理負荷と圧縮率の違いのみです。その2つについても、プロプライエタリなものとフリーなもので劇的な差があるわけではないので、フリーなものの方が商業利用しやすいと言えます。
「FLAC (Free Lossless Audio Codec)」は、2001年にJosh Coalson氏がフリーで公開したロスレス圧縮アルゴリズムです。2009年にオーディオ・ファイルのダウンロード配信がDRMフリー化された頃から存在感を増し、現在ではロスレス・オーディオ・ファイルのデファクト・スタンダードになっています。e-onkyo musicやHDtracksなどハイレゾ音源のダウンロード・サービスでも広く使われているほか、近年ではAmazon Music HDやmora qualitasなどロスレスのストリーミング・サービスでも利用されています。
一方、iTunesやiPod標準のロスレス圧縮方式である「Apple Lossless (ALAC)」も、Apple製品ではよく使われてきました。しかし、プロプライエタリ・フォーマットであることがネックとなり、各社ネットワーク・プレイヤーでの対応が進まず、商用サービスでの利用も限定的でした。
FLACが完全にデファクト・スタンダードとなっていた2011年10月に突如オープン・ソース化(フリー化)されましたが、時すでに遅く、遂にFLACの牙城は崩せませんでした。ただし、Apple製品では相変わらず標準的なロスレス・コーデックという位置付けで、無線オーディオ伝送技術であるAirPlayや、Apple Musicのロスレス・ストリーミングでApple Losslessコーデックが利用されています。
ロスレス・オーディオ・フォーマットの性能比較
以下に各ロスレス・オーディオ・フォーマットの仕様をまとめてみました。MPEG-4 ALSはフォーマットとしての自由度は高そうですし、衛星放送をインターネットに同時配信、という時には有用かもしれませんが、通常のハイレゾ・ストリーミングではFLACやApple Losslessでスペックは十分そうに見えます。
次に、Live Extremeの公式ウェブサイトでサンプル公開しているサンプルを各コーデックで圧縮した場合の圧縮率を比較してみました。下図の通り、コーデックによって圧縮率に大きな差は見られませんでした。
通常あまり意識することはありませんが、FLACには "compression level" という概念があります。処理アルゴリズム (ブロック) を追加していくことで、圧縮率を向上させることができる (代わりに負荷が増える) 技術で、Level 0からLevel 8までの9段階が定義されています。
Live Extremeの公式ウェブサイトで公開されているサンプル「藤田恵美 / The Water is Wide (192kHz)」(4分56秒) について、compression levelを変えながら圧縮率と処理時間を比較したのが以下の図です。
上記グラフから
・Level 2までは圧縮率が極端に低い
・Level 6以上は処理時間が急に大きくなる
ことがわかります。(ほかのサンプルでも同様の傾向が見られました。)以上より、通常の音楽においては、FLACのcompression levelはLevel 3からLevel 5に設定するのが最適と考えられます。
ISO-FLAC (FLAC in ISO Base Media File Format)
前述の仕様比較表の「MP4対応」というのは、実は重要なポイントです。MPEG規格であるALSは当然ながら、Apple Losslessも通常はMP4コンテナに収録されています。
一方、ダウンロード販売などで流通しているFLACファイルは.flacを拡張子とする独自コンテナに収録されていますが、映像と同期してストリーミングするためにはタイムスタンプやファイル分割(セグメント化)といった仕組みを持つコンテナ(MP4やWebMなど)で取り扱う必要があります。
2016年4月にコミュニティによってFLACデータのMP4コンテナへの収録方法(通称「ISO-FLAC」)が提唱されると、2017年にはFirefoxやChromeに実装されるようになりました。これによって、一気にハイレゾ・ストリーミングの可能性が広がりました。
各ウェブ・ブラウザの対応状況
ストリーミング・サービスを商用展開するに当たり、ウェブ・ブラウザでの再生に対応していることは非常に重要な要素であると考えています。既存のウェブサイトやSNS、e-mailからコンテンツに誘導するにあたり「専用アプリをインストールしてください」では、再生前に多くの顧客が離脱してしまう可能性があります。
以下に各ウェブ・ブラウザでのロスレス・オーディオ・コーデックの対応状況をまとめてみました。
最新OSにおいては、全てのブラウザでISO-FLACに対応しているので、ロスレス・オーディオのストリーミング配信にはISO-FLACが最適解に見えます。ただしmacOS 10.15 (Catalina)やiOS13までは、SafariのISO-FLAC再生に無音となるバグがあり、それが修正されたのは2020年秋になってからでした。
一方、Apple LosslessはApple Safari、およびiOS/iPadOS内の全ブラウザで対応しているものの、他環境への採用が進んでいない状況です。(iOS, iPadOSでは、Appleの規約により、全てのウェブ・ブラウザにおいてWebKitの使用が義務付けられているため、ChromeもFirefoxも事実上Safariと同一のウェブ・ブラウザとなっています。)ちなみに、2021年現在、MPEG-4 ALSに対応したウェブ・ブラウザは見つけられませんでした。
まとめ
高音質ストリーミング配信に最適なオーディオ・コーデックは間違いなくISO-FLACで、comression levelは負荷と圧縮率のバランスからLevel 3~Level 5が妥当と言えそうです。ただし、旧バージョンのSafariでの再生もサポートしないわけにはいきませので、しばらくの間はFLACだけでなく、Apple Losslessにも対応しておく必要がありそうです。
Live Extremeは、デフォルトでISO-FLAC (Level 4)とApple Losslessを同時に配信する仕様となっておりますので、旧バージョンのSafariを含め、幅広いウェブ・ブラウザでのロスレス/ハイレゾ・オーディオの再生に対応しています。