適応型高品位リアルタイム映像配信の研究

慶應義塾大学
政策・メディア研究科
後期博士課程 80749423
松園和久

研究背景

ネットワーク・計算機性能の高度化に伴い、様々な映像・音声転送アプリケーションが我々の日常において利用されて いる。ラストワンマイルにおける広帯域化は、エンドユーザにおけるDVTS (Digital Video Transport System)[1] 等の高品 位リアルタイムストリーミングアプリケーション利用を促進させている。今後、遠隔医療[2]や国際会議等の様々な目的にお いて、エンドユーザによる高品位リアルタイムストリーミングの活発化が見込まれる。

高品位ストリーミングは、他のアプリケ ーションと比較して継続的に多くのネットワークリソースを消費する。例えば、DVTSを利用した1フローの消費帯域は 30Mbpsである。高帯域フローが普及・増加し、競合した場合、ネットワーク輻輳の発生が予想される。輻輳発生によるデー タロス・及び遅延は、重大な再生品質劣化を引き起こす。このような品質劣化は、エンドユーザの品質要求を満たすため に、適切に対処される必要がある。輻輳に対応するための手法として、中継ノード(例:ルーター)を利用した協調モデルが 挙げられる[3]。これらの手法では、End-to-Endモデルと比較した場合、ストリーミングフローは比較的容易にネットワーク 輻輳を検知・回避可能である。しかしながら、全ての中継ノードがメカニズムを共有する必要があるため、1)運用的コストが 高い、2)普及が難しいという欠点がある。

研究目的

データロスに対応し、再生品質を維持すべく有効な手法として、 Forward Error Correction (FEC)が様々な形式で利用 されている[4、5、6]。冗長データを映像・音声データに付加することにより、データロスを復元可能とし、再生品質維持を可 能とする。これまで、 FEC を用いた様々なメカニズムが研究開発されてきた。しかしながら、これらの大部分は、狭帯域な アプリケーション(例:VoIP、MPEG4)に特化しており、またTCP-Friendly方式[7]を採用したものがほとんどである。これらの メカニズムでは、容易に映像品質を犠牲にし、データ転送レートを減少させる。 FECを用いて最良映像品質転送を積極 的に行わないため、エンドユーザによる映像品質要求を充分に満たすことが出来ない[8]。しかしながら、各フローが積極 的にFECを用いた再生品質維持を行い、競合した場合、FECによる効果は一時的なものとなり、逆に再生品質劣化が発 生する。加えて、そのような挙動は、輻輳崩壊を引き起こす可能性がある。そのため、ネットワーク状態を考慮した柔軟か つ効果的な制御が、データ転送レート及びFECレート(冗長データレート)で決定されるネットワークリソース消費の観点か ら、各々のストリーミングフローに求められる。ここで、ストリーミング品質を、1)データ転送レート(エンコーディング帯域)と2) 復元不可能な実際のデータロス率から構成されるものと定義する。

本研究では、各ストリーミングフローがFECを用いて再 生品質維持を行いながらネットワーク状態推測を行い、データ転送レートの合計帯域幅を最大限とする、 FECをベースと したEnd-to-End モデルでの輻輳制御機構を提案・実現する。ネットワーク輻輳に対応し、FEC有効活用することで、 1)ネ ットワーク状態推測、 2) データロスによる品質劣化への対応、3)安定かつ高データ転送レートを維持可能とし、ストリーミ ング品質に対する信頼性向上を目指す。

FECFRAMEWORKの実装及び検証

本研究では、ストリーミング品質を最大化すべく、FECを基調とした制御を行う。そのため、リアルタイムスト リーミングが柔軟にFECを利用可能とするAPI(Application Program Interface)を開発する。様々な種類のFEC符号化アル ゴリズムがあるが、文献[9]では、大きく1)Simple FEC Codes、 2)Small Block FEC Codes、 3) Large FEC Block Codesに 分類される。これらは、根本的な性質の違いから、符号化・復号化の処理にかかる時間や、データロス復元能力が異なる。 本研究では、1)2D Parity Check Codes (2D)、 2) Reed-Solomon Codes (RSE)、 3)Low-Density Parity-Check(LDPC) Codes の利用を想定している。これらのFEC Codesは、それぞれSimple FEC Codes、 Small Block FEC Codes、 及びLarge FEC Block Codesに分類される。リアルタイムストリーミングがこれらのFEC Codesを利用し、柔軟にFECレートを制御可能 とするフレームワークを開発する。更に、実際に高品位リアルタイムストリーミングアプリケーションとして知られるDVTSに組 み込みを行い、1)データロス復元能力、2)符号化・復号化による処理遅延、3)処理負荷(CPUロード)の観点から評価を行 い、本研究の目的に沿うFEC符号化アルゴリズムの検証を行った。 下図は、DVTSとFECFRAMEの関係を示している。送信側のFECRAMEはDVTSアプリケーションから RTPパケットを受信し、ユーザから指定された1)FEC Codesの種類、2)コードレート、3)エンコーディングブロック長に従って符号化を行う。ソースブロック長は、(2),(3)より決定され、 N1パラメータはLDPCのみに用いられるパラメータである。N1パラメータに関する最適化は、RFC-LDPC-Staircase-codeを参照した。評価に用いた 各FECパラメータは下図に示している。受信側のFECFRAMEは、 損失したRTPパケットを復元可能と判断した場合、即座に復元化を行い、DVTSアプリケーションに損失RTPパケットを渡す。これらの一連の動作には遅延が伴うため、 実際のソフトウェアを用いて処理遅延の評価を行う。


DVTS/FECFRAMEのアーキテクチャ

FECパラメータ設定
FEC Codes Symbol Length (Bytes) Code Rate Source Block Length (k) N1
2D Codes 1375 2/3 16 none
RSE Codes 1375 2/3 170 none
LDPC Codes 1375 2/3 170/500/1000 7/5/5


評価環境

上図は評価環境は示しており、3秒毎に一様分布に基づいてパケットロス率を3%づつ増加させていき、 1)FEC訂正能力、2)フレーム遅延、3)CPU負荷の計測を行う。 フレーム遅延は、FECFRAMEを用いていないDVTSのフレーム遅延との差分を評価する。FECに関する評価は理論値的に求めることも可能であるが、本研究では 実アプリケーションとIETFで標準化されているFECFRAMEWORKを実際に用いた検証を行う。この検証結果は、後に開発する適応型FECFRAMEWORKに貢献する。


平均データロス率(2D, RSE, LDPC Codes)


フレーム遅延(2D, RSE, LDPC Codes)


CPU負荷(2D, RSE, LDPC Codes)

FEC訂正能力(復元不可能なデータロス率),フレーム遅延、CPU負荷の検証結果をそれぞれ上図に示す。 2D Codesはパケットロス確率が10%付近で復元できないデータパケットが発生し始め増加していくのに対し、 RSE,LDPCはパケットロス確率が約30%付近まで復元 できないデータロスが発生していない。LDPCのソースブロック長が500,1000の場合、ブロック単位でパケットロスが分散し易くなるため、 FECの復元能力がソースブロック長が短い場合よりも若干向上している。フレーム遅延に関しては、2D,LDPC(k=170)Codesが100msec以下であるのに対し、 RSEはパケットロス率が15%付近から復元処理遅延により大きく増加しているのが分かる。LDPC(k=500,1000)の場合、 データパケットのバッファリング時間と復元処理がk=170の場合と比較して大きくなるため、パケットロス率の増加に伴ってフレーム遅延が増加している。 最後に、受信側での復元処理に伴うCPU負荷の計測を行った。RSE以外はCPU付加が10%以下であるが、 RSEはパケットロス率が増加するのに従って復元処理にCPUリソースを大きく消費しているのがわかる。送信側においても同様に、 RSEでは送信側のCPU負荷も他のFEC Codesと比較してかなり大きい結果となった。 これらの結果から、高ビットレートのリアルタイムストリーミングにFECを適用する場合、LDPC(k=170)が低フレーム遅延を維持し、 高FEC訂正能力を提供可能であることが分かる

まとめ・成果

本研究では、各種のFEC CodesをIETFで標準化されているFECFRAMEWORKとして実装し、高品位リアルタイム映像転送アプリケーションであるDVTSに 統合を行い評価を行った。検証結果を論文として投稿し、国際会議IEEE Local Computer Networks (LCN2010)[10]で発表を行った。 今後の展望として、シミュレーション分析によるネットワーク状態推測、及びデータ転送レート・FECレート変更アルゴ リズムの導出を行い、実際に開発を行ったフレームワークを利用して、実証実験を行う予定である。

参考文献

[1] A. Ogawa, K. Kobayashi, K. Sugiura, O. Nakamura, and J. Murai, “Design and Implementation of DV based video over RTP,” Proc. of Packet Video Workshop 2000, May 2000.

[2] N. Nakashima, K. Okamura, JS. Hahm, YW. Kim, H. Mizushima, H. Tatsumi, BI. Moon, HS. Han, YJ. Park, JH. Lee, SK. Youm, CH. Kang, and S. Shimizu, “Telemedicine with digital video transport system in Asia-Pacific area,” Proc. of the 19th International Conference on Advanced Information Networking and Applications, March 2005.

[3] R. Braden, Ed., L. Zhang, S. Berson, S. Herzog, and S. Jamin, “Resource ReSerVation Protocol (RSVP) – Version 1 Functional Specification,” RFC 2205, September 1997.

[4] J.C. Bolot and A.V. Garcia. “Control Mechanisms for Packet Audio in the Internet”. Proc. IEEE INFOCOM, March 1996.

[5] C. Perkins and O. Hodson. “Options for Repair of Streaming Mesia”. RFC 2354, June 1998.

[6] L. Rizzo. “Effective erasure codes for reliable computer communication protocols”. ACM SIGCOMM Computer Communication Review, vol.27:no. 2, pp.24–36, April 1997

[7] S. Floyd, M. Handley, J. Padhye, and J. Widmer. “TCP Friendly Rate Control (TFRC): Protocol Specification,”. RFC 5348, September 2008.

[8] K. Matsuzono, K. Sugiura, H. Asaeda. “Adaptive Rate Control with Dynamic FEC for Real-time DV streaming”. Proc. IEEE GLOBECOM, December 2008.

[9] M. Luby, L. Vicisano, J. Gemmell, L. Rizzo, M. Handley, and J. Crowcroft, “The Use of Forward Error Correction (FEC) in Reliable Multicast,” RFC 3453, December 2002.

[10] K. Matsuzono, J. Detchart, M. Cunche, V. Roca, and H. Asaeda, “Performance Analysis of High-Performance Real-Time Application with FEC Scheme,” Proc. of IEEE Local Computer Networks Conference (LCN), Oct. 2010