技術寄りの話になっちゃうんですけど、お付き合いください。「動画配信」といっても、LIVEとVOD、ライブストリーミングの配信とビデオの配信という大まかに2通りあるんですけど、今回はライブのほうにフォーカスしてお話しします。動画配信サービスなんですけど、いわゆる「動画元年」というのが新聞とかでいろいろ言われてきて、でもその時代はやっと過ぎて、動画配信サービスがいろんなものが出てきて加速が止まりません。今では動画配信の専門サイトだけでなく、料理やライブコマース、ギャンブルなど、いろんなサービスで動画ライブ配信というのを取り込んで機能の1つといった感じで提供されることが多いです。インターネットで動画配信をするのはすごいつらい。動画配信はなぜつらいかというと、テレビの放送は帯域が電波としてある程度あるんですが、インターネットってベストエフォートなので、そのなかで配信をする必要があります。インターネットだとなにがよくないかというと、帯域の保証ができないというのがまず1つです。1つが、視聴者が増えると配信する帯域も増えるという感じですね。テレビと違ってトレードオフで犠牲になるものが多い山中:テレビの場合は、アンテナで電波を使って帯域も保証されているし、視聴者が何人増えようと別に配信者がどうこうする必要はないんですけど、インターネットの場合は、視聴者がまた1人増えたら配信する帯域も増える、いう感じです。プロトコルやコーデックの変化が激しいということが挙げられます。効率のよいプロトコルとかコーデックが生まれているので、それに追従していかなければならない。端末による対応プロトコルとかコーデックとかに差があるので、複数サポートする必要があります。「Appleだとこの方式」とか決まっているので、それをサポートしないと審査に通らなかったりということがあるので複数サポートが必要です。今回これがとくに重要なんですけど、動画配信のトレードオフというものがあります。低遅延・高スケーラビリティ・高品質な動画配信はすごく難しい。この3つが配信において重要です。低くていいというなら超低遅延にできるんですけど、その代わり画質が悪くなる。視聴数100人でいいというなら低遅延にできる、みたいな感じでトレードオフがあります。次は遅延とプロトコルの話です。この2つはけっこう関係ないように見えるんですけど、実は関係があります。遅延はどこで生まれるかというと、いろいろなところで生まれているんですけど、映像が配信されるまでこんな感じの流れで、サーバ上だったりユーザーのパソコンのところでエンコードするのにだいたい4秒ぐらいかかります。HLSとかでチャンクごとに区切るので、設定によると思いますけど、さらに2秒から10秒かかる。CDNで配信するのに3秒ぐらい。プレイヤーのバッファを待たなきゃいけないので10秒ぐらいかかるというのがだいたいですね。違うところはあると思いますけど、だいたいはこんな感じで配信しています。今後の動画プロトコルについて山中:押さえておきたい動画のプロトコルなんですけど、1つはHLSです。これはAppleが提唱しているプロトコルです。あとMPEG-DASHで、Apple以外というとあれなんですけど、HLSをより高機能にした、HTTP上で動画ストリーミングを行う規格。初見の方もいるかもしれませんが、SRTというプロトコルが最近出てきました。これはUDP上なんですけど、TCPのように信頼性を保つ動画ストリーミング向けのプロトコルです。遅延とプロトコルが関係あると言ったのはこの図のとおりです。HLSはセグメントごとに何秒何秒というファイルを作らなきゃいけないので遅延が起きやすい。対して、RTMPというプロトコルとかは遅延を短くできるので、プロトコルはすごく重要です。低遅延の取り組みをいろいろな会社がしていますが、1つの方式として低遅延のHLSというものがあります。HTTPのChunked-Transfer-Encodingを使って配信して、チャンクサイズより細かい単位で送信する仕組みだったりとか。あとはほかにも、圧縮コストを低減させているところがあります。これはH.264の圧縮コストの高いBフレームでの圧縮を除いてエンコードすることにより、ちょっと帯域は増えるんですけど、圧縮時間とバッファを抑えています。これらのいろんな低遅延の取り組みだったりをするとメディアのフォーマットがけっこうバラバラになるんですけど、これらを統一しようというのがCMAFという規格です。個人的にプロトコルの将来はこんな感じかなと思っています。RTMPというのが今まで使われてきたんですけど、これがFlashとともにそろそろ終わるだろうと。HLSはAppleが使っているのでけっこう今後も使わなきゃいけないのかなというのとか。SRTが今後普及するとは思うんですけど、ユーザーがUDPで通信するってなるともうちょっと普及は先なのかなと思っております。言っているのは、よりよい体験にするための動画の品質のことで、次世代動画の要件ってだいたいこんな感じになっています。4Kだったり、広帯域だったり、ダイナミックレンジが広い色だったり、フレームレートが高かったりみたいな感じです。ここでも押さえておきたい動画コーデックがありまして、動画の品質が上がるということは帯域も上がるんですけど、それを抑えるためのコーデックがあります。1つはHEVCというコーデックで、これはH.264の後継となるコーデック。日本の4K/8K放送でも採用されているものです。1つがAV1というコーデックで、こちらはHEVCに対抗してオープンでロイヤリティフリーな動画コーデックになっています。Buildでも見れるようになりました。これも個人的に思う動画コーデックの今後なんですけど、こんな感じですね。今H.264とAACというのがすごい主流なんですけど、将来的に帯域と高品質になっていく上でHEVCかAV1が流行るのではないかなと思っています。AV1はちょっと短いのは、たぶんほかのコーデックがそろそろ出てくるんじゃないかと思っております。いうのは将来の中でってことですね。まとめなんですけど、ライブストリーミングの遅延は、品質とスケーラビリティとトレードオフです。動画配信サービスとしてこの先生きのこるには、遅延をより短くして、品質を上げつつ、スケーラビリティを確保することが必要です。タイトルに関してはここで終わりです。ご清聴ありがとうございました。司会者:山中さんありがとうございました。ご質問がある方は挙手をお願いいたします。質問者1:品質をよくするためのコーデックにいろいろ対応していきたいとは思うんですけど、それが再生できない端末への互換が非常に大変だなという体感をしておりまして。AbemaTVはどのへんまでサポートしていこうかなとか、なにかそういうのあったりしますか?山中:そうですね。最初に書いたとおり、やっぱりテレビと違って規格がバシッと決まっているわけじゃないので、たぶんいろんな端末があったり、H.265が出てもたぶんH.264の端末のためにサポートしなきゃいけないというのはあると思います。どこまでというのを具体的には言えないんですけど、動画配信をやる上では、けっこう長いことをいろんな端末の対応に苦しめられるのではないかな、根気がいるんじゃないかなと思っています。質問者1:ありがとうございます。質問者2:コーデックあんまり詳しくないので教えてほしいんですけど、プロトコルとコーデックの相性ってあるんですか?山中:基本的にプロトコルはなにかしらを伝送するための規格で、コーデックは動画の圧縮自体の仕組み。それも規格なんですけど、基本的にはそんなにはないですね。プロトコルによってターゲットとしているコーデックが決まっているものとか、プロトコルの中でメタとしてこの動画はなにで圧縮されているって送るんですけど、それが例えば定義されていないというと、確かにそのプロトコルでコーデックを送れなかったりということはあります。司会者:それではお時間になりましたので、これで締め切らせていただきたいなと思います。山中さん、ありがとうございました。U30に関する記事をまとめています。U30に関する新着記事が公開された際に、通知を受け取ることができます。