ロンドンオリンピックにおけるP2Pライブ配信実証実験

1.はじめに

インターネットで多数の視聴者に同時にライブ配信を行うためには,アクセス数に応じた大規模なサーバー設備と膨大な配信コストが必要である。当所では,大規模で安定した映像配信を低コストで実現することを目指して,ピアツーピア*1(P2P:Peer-to-Peer)技術を用いたライブ配信技術の研究を進めている。

NHKはロンドンオリンピックの期間中,テレビやラジオで生放送されない競技をネットで生中継(ライブストリーミング)した*2。最大8チャンネルの番組をCDN(Contents Delivery Network)*3 を使って伝送レート800kbpsの通常の画質で配信し,そのうちの2チャンネルをCDNと並行して,当所で開発したP2Pライブ配信方式を用いて伝送レート1.5Mbpsの高画質映像で配信した。その結果に基づいて,P2Pライブ配信方式の実用性・効率性を検証した。

2.開発したP2Pライブ配信方式

P2P技術を用いたライブ配信は,配信サーバーから送出される映像ストリームを視聴者の端末が次々と中継していくことで実現される。配信サーバーに負荷をかけることなく,低コストで大規模な配信が実現できる技術として期待されている(1図)。しかし,P2Pライブ配信では,視聴者のネットワーク環境や端末の性能の違い,ストリームを中継する各視聴者の視聴開始・終了の動作などを把握することが困難であり,映像の再生が不安定になる可能性がある。そこで,各端末の送受信状態やネットワーク環境を考慮した,安定性の高い中継ネットワークを構築する技術を開発した。

1図 P2Pライブ配信のイメージ

2.1 P2Pネットワークの構築

開発した方式はメッシュ型のネットワーク構造とプル型のデータ送受信*4 を基本としている。端末がお互いの状態(受信状態,回線状態,接続端末数,配信サーバーからの中継段数など)を通知し合う端末状態通知ネットワークを構築し(2図(a)),この情報を基にパケット化された番組ストリームを交換するストリーム中継ネットワーク(2図(b)) を構築する。

各端末は自身が未受信で,接続相手が受信済みのパケットを検出し,そのパケットを接続相手から取得する動作を繰り返して,一連の番組ストリームを受信する。

2図 開発したP2Pライブ配信方式の概要

2.2 端末の回線環境を考慮した接続制

ストリーム中継ネットワークの構築にあたっては,端末の回線環境,例えば,端末につながるインターネット回線の速度が大きく異なることや,インターネット上の端末から接続要求を受け付けることができない端末があることなどを考慮して以下のような接続制御を行う。

安定したライブ配信を実現するためには,ストリームを安定して供給できる端末を数多く確保する必要がある。そのために,上り回線の速度が大きい端末ほど接続可能な端末数を大きくするとともに,配信サーバーのなるべく近くに接続する。

また,一般家庭の端末はNAT(Network-Address-Translator)を利用してインターネットに接続しているので,通常,インターネット上の端末からの接続要求を受け付けることはできない。しかし,接続するNATがUPnP(Universal Plug and Play)に対応している場合には,UPnPポート開放*5 機能を用いることで,接続要求を受け付けることが可能になる(3図)。一方,ポート開放機能が無いNATを利用した端末はポート開放が可能な端末に能動的に接続し,受信要求の有無を問い合わせ,受信要求が有る場合にはその端末にストリームを送信することでストリーム中継をした(4図)。

3図 NATで接続している端末
4図 NATで接続されている,ポート開放機能が無い端末のストリーム中継制御

3. P2Pライブ配信実証実験の構成

開発した方式を用いてロンドンオリンピックの一部の競技のライブストリーミングを行い,システム設計の実用性,配信コストの削減効果,配信の安定性の評価を行った。

3.1 バックエンドシステムの構成

5図に実験システムの全体構成を示す。バックエンドシステム*6 の構築にあたって,運用管理サイトには,配信システムの管理・制御を行うサーバーなど最小限の設備を配置した。高い回線速度や処理速度を必要とする配信サーバーの設備にはクラウドサービスを利用した。アクセス数に応じてサーバーの数を柔軟に増減できる仕組みを導入し,低コスト化が可能な実験システムとした。

ロンドンからの生中継映像をNHK放送センターにおいてP2P配信用のビットレートに変換して,運用管理サイトに伝送する。運用管理サイトのP2Pストリーム管理サーバーにおいてP2P配信用にパケット化し,クラウド上のストリーム分配器を経由して各配信サーバーに分配する。各端末はクラウド上の配信サーバーを頂点とするP2P中継ネットワークを構築してストリームを受信する。

信頼性を向上させるために,配信システムのバックエンドにおけるストリームと中継回線を冗長化するとともに,系統の切り替えをP2Pストリーム管理サーバーやストリーム分配器で自動的に行えるようにした。これにより,障害が発生した際に,P2P中継ネットワークを再構築する操作や,視聴者が端末で特別な操作をすることなく,継続して視聴できるようになった。

5図 実験システムの全体構成

3.2 端末の接続制御の設定とP2P端末グループの設計

端末が接続しているインターネット回線のタイプ(光(FTTH:Fiber To The Home)回線かADSL(Asymmetric Digital Subscriber Line)回線かなど)やインターネットから接続を受け付けることができるかどうかの組み合せによって,視聴者の端末を大きく4つに分類した。以下,FTTH回線で接続受け付けが可能な端末をFTTHac,FTTH回線で接続受け付けが不可能な端末をFTTHina,ADSL回線などの端末を同様にADSLac,ADSLinaと表現する。

同時に接続可能な端末数をFTTH回線の端末では10台,ADSL回線などの端末では4台に設定するとともに,それぞれの端末は2端末以上の上流端末と接続するようにした。FTTHac端末とADSLac端末は新規に起動した端末からの接続要求を待ち受けるが,FTTHina端末はFTTHac端末またはADSLac端末を検索し,能動的に接続するように制御した。

P2P端末グループの構築にあたっては,1グループ当たり配信サーバーを4台とし,配信サーバーから直接ストリームを受信可能な端末を40台とした。FTTHac端末が全端末中の少なくとも20%を占めると想定し,配信サーバーからの中継段数が3段までとなるように,250端末を1グループとした。P2Pによる端末間のストリームの全中継量の約70%をFTTHac端末が行うと想定すると,配信サーバーと配信サーバーから直接ストリームを受信可能な端末を除く最大206台の端末の70%に対して1.5Mbpsのストリームを供給しなければならないので,FTTHac端末1台当たり約4.3Mbpsのストリーム中継能力が必要となる。今回の実験では,端末数が250台を超える度に新規にP2P端末グループを立ち上げ,端末数が少なくなると配信サーバーを減らすという構成にした。

3.3 視聴サイトおよび視聴PCにおけるクライアント用のソフトウエアの構成

(1) 視聴サイトの構成

配信に用いたストリームおよび推奨利用環境を1表に示す。視聴者が視聴サイトでP2Pライブ配信方式の視聴を選択すると,P2P技術を利用することに関する規約が表示され,視聴者がそれに同意したときだけ視聴ページを表示するようにした。6図にライブストリーミングの視聴ページを示す。なお,視聴に必要なプラグインがインストールされているかなど,ソフトウエアが動作する環境が整っているかどうかを自動でチェックするとともに,環境が整っていない場合にはその対処方法を提示する動作環境チェックページを用意した(7図)。

1表 P2Pライブ配信の仕様
項目 説明
伝送レート 1.5Mbps
コーデック 映像:MPEG-4 AVC/H.264 1.372Mbps,640×360pixels,24fps
音声:AAC-LC 128kbps,ステレオ,44.1kHz
データフォーマット Adobe Flash F4Fパッケージ
コンテンツ保護 Adobe Flash Protected HTTP Dynamic Streamingを用いて実施
推奨利用環境 OS:PC(WinXP(SP3)以上/ Mac OSX10.5以上)
Webブラウザー:IE7/IE8/IE9,Firefox,Chrome
P2Pアプリケーション: JavaApplet(Java5以上)
視聴プレーヤー: Flash Player 11.1以上
6図 ライブストリーミング視聴ページ
7図 動作環境チェックページ

(2) 視聴PCにおけるクライアント用のソフトウエアの構成

視聴者の利便性を考慮すると,専用のソフトウエアをインストールすることなく視聴できることが望まれる。そのために,クライアント用のソフトウエアをJava Applet*7 で実装し,視聴ページにアクセスするだけで,自動的にWebブラウザーに読み込まれて動作するように設計した。また,安全安心にサービスを受信できるように,端末間の通信にSSL(Secure Socket Layer)クライアント認証機能を用いてセキュリティーを向上させた。端末間で交換されるP2P制御メッセージとコンテンツを暗号化することで,盗聴の危険性を低減させるとともに,クライアント認証機能によって不正な端末からの接続を拒否する機能を導入した。

4. 実証実験の結果

実験システムを用いて,ロンドンオリンピックの期間中延べ270時間以上のサービスを実施し,接続数は30万件以上に達した。2表に同時接続数が上位の競技と接続数が最大となった時刻および最大同時接続数を示す。深夜早朝の時間帯にもかかわらず,多くの視聴者にご覧いただいたことが分かる。

各サーバーや各端末が30秒ごとに送信する受信状態レポートを利用して,総送受信パケット数,現在のバッファー量,他端末への送信パケット数および再生時間までに受信できなかったパケット数などを集計した。

以下,「サッカー男子予選リーグスペイン対ホンジュラス」戦のときの結果を主に述べる。

2表 P2Pライブ配信における同時接続数が上位の競技
配信日時 競技 最大同時接続数
8/5 23:03 テニス・男子シングルス決勝
R. フェデラー(スイス)対 A. マレー(イギリス)
2,262
7/30 5:39 サッカー男子予選リーグ・グループD
スペイン対ホンジュラス
1,878
8/2 5:17 テニス・男子シングルス3回戦
錦織(日本)対 D.フェレール(スペイン)
1,466
8/1 23:16 サッカー男子予選リーグ・グループC
ブラジル対ニュージーランド
1,435
8/2 21:11 馬術馬場馬術個人1次予選1日目 1,343

4.1 システム設計の実用性の検証

8図に接続端末数と端末の回線種別の比率の推移を示す。横軸は試合開始から試合終了までの時刻である。左の縦軸は全端末数に占める回線種別の比率を積算値で示しており,右の縦軸は接続端末数を示している。

接続端末数を見ると,試合開始直後から急増し,ハーフタイムに入っていったん減少するが,後半開始から試合終了に向けて徐々に増加するなど,試合経過に合わせて大きく変動している。一方,回線種別の比率を見ると,接続数にほとんど依存せずほぼ一定の割合で推移している。最も配信能力の高いFTTHac端末の割合は平均で26%であった。この比率は他の配信日・競技でもほぼ同じであり,現状のインターネット環境を反映していると推測できる。すなわち,配信規模によらずP2P配信システムにおいて必要な割合(20%)のFTTHac端末を常に確保可能であると言える。また,回線種別ごとのP2Pによる端末間でのストリーム中継量の比率を分析した結果,FTTHac端末が全体の約82%を占めていた。8台の下流端末にストリームを供給しているFTTHac端末1台当たりでは,平均約5Mbpsのストリーム中継能力を発揮していた。これらのことは,FTTHac端末の割合やストリーム中継能力がシステム設計の想定を満たしていたことを示している。また,FTTHina端末も約13%のストリーム中継量に貢献しており,端末の回線環境を考慮した接続制御の有効性が確認できた。

以上の結果は,更なる大規模配信に,同様のシステム設計でP2P配信システムが適用可能であることを示している。

8図 接続端末数と端末の回線種別の比率の推移

4.2 配信コストの削減効果の検証

9図に接続端末数と配信サーバーの負荷の推移を示す。横軸は試合開始からの時刻,左の縦軸は全端末が受信したストリーム容量に対する配信サーバーから配信されたストリーム容量の割合,右の縦軸は接続端末数を示している。9図は,試合開始前後の接続端末数が少ない時間帯にはサーバー負荷が高いが,接続数が多くなるに従ってサーバー負荷が減少し,平均で約20%のほぼ一定の値になることを示している。これは,配信サーバーから個別に全端末にストリームを配信する場合と比較して,P2Pライブ配信では配信サーバーの負荷を80%削減したことを示しており,配信コストの削減に有効であることが確認できた。

9図 接続端末数と配信サーバーの負荷の推移

4.3 配信の安定性の検証

配信の安定性を時間帯ごとに,再生に必要なパケットを受信できず,バッファーに番組ストリームが無くなり映像が途切れた端末の割合で評価した。

その結果,全時間帯の平均で98%以上の端末で途切れることなく視聴できていたことが確認された。ただし,競技開始前後のアクセスが集中する時間帯では,約4%の端末でパケットが未受信となり映像が途切れていた。それらの端末には,受信回線の容量不足が原因でパケットを受信できなかった端末が多く含まれていた。一方,競技開始前後では端末の起動が集中し,接続すべき端末の発見に時間がかかり,パケットの受信が滞ったことによる障害や,最初に接続した上流端末の帯域が不足しており,十分なパケットを受信できなかったことによる障害が発生しているなど,更なる安定化に向けた課題も見つかった。

4.4 CDN配信との比較

P2Pライブ配信方式で配信した伝送レート1.5Mbpsの高画質映像とCDNを用いて配信した伝送レート800kbpsの通常画質の映像の品質を比較すると,多くの競技において,いずれの方式でもほぼ満足できる品質であった。しかし,カヌーや水球のような水しぶきが飛ぶ競技や,テニス競技ではサーブなど動きの速い場面で,P2Pライブ配信方式で配信した高画質映像の方が優れていることが確認できた。

次に,遅延特性を比較する。P2Pライブ配信では,安定した中継を行うために,各端末で映像をバッファリングする。今回の実験では,安定性を十分に確保するために,中継映像のバッファー量を32秒に設定した。このため,CDNと比較すると再生される映像に30秒程度の遅延が発生した。今後,バッファー量が小さく,安定して中継が行える配信方式を検討する予定である。

5. まとめ

ロンドンオリンピックの一部の競技をP2Pライブストリーミングで配信し,配信サーバーおよび端末から通知される受信状態レポートを基に,開発したP2Pライブ配信システムの実用性・効率性を検証した。その結果,接続数が増加しても低コストで安定したライブ配信を多数のユーザーに対して行えることが分かった。

今後,送信側と受信側の配信量の負担割合とネットワークのトータルコストの関係なども含めて実現性を検証し,更なる大規模・高品質なライブ配信に適した方式とする予定である。