画像情報特論 (12) - インターネット放送の実際 (1) インターネット放送全般 マルチキャスト放送 2001.07.03 - インターネット放送の実際 (1) インターネット放送全般 マルチキャスト放送 2001.07.03 電子情報通信学科 甲藤二郎 E-Mail: katto@katto.comm.waseda.ac.jp
インターネット放送全般 システム構成 ストリーミング手順 メタファイル ファイルフォーマット RTSP (ストリーミング制御プロトコル)
システム構成 (1) 最もシンプルな構成 標準的な構成 キャプチャ & 圧縮 & ストリーミング インターネット インターネット放送局 ストリーミング & WWW & ファイアウォール インターネット
システム構成 (2) 大規模対応の本格的なインターネット放送局 インターネット放送局 キャプチャ & 圧縮 WWWサーバ ファイアウォール ストリーム サーバ
システム構成 (3) よくある使い方 インターネット HTTP クリック ストリーミング WWWページ ストリーミングビューア
ストリーミング手順 (1) HTTP ストリーミングと専用プロトコルを用いたストリーミング HTTPストリーミング (RTSP, MMS 等) 方式 HTTPサーバがすべて担当する方式 ストリーミング専用のサーバを用意する方式 長所 手間がかからない (通常のHTTPサーバを 用意するだけ) ファイアウォールを超えられる (HTTPポー トは外部に開かれている場合が多い) ストリーミングに適したふくそう制御が実行 可能 (SureStream、インテリジェントストリ ーミング、など) ライブ放送、マルチキャストに適している 短所 ストリーミングに適したふくそう制御が実行 困難 (TCPのふくそう制御に依存) ライブ放送に適さない ファイアウォールを越えられない場合がある 条件 インテリジェントなビューア インテリジェントなサーバ
ストリーミング手順 (2) HTTP ストリーミング サーバ クライアント HTTP WWW サーバ ① ファイル要求 ② メタファイル Web ブラウザ ビューア ③ ビューアの起動 ④ ファイル要求 ⑤ ストリーミング メタファイル ストリーム ファイル すべてHTTPポート上のデータ転送 ダウンロードをストリーミングに見せかけている
メディア: UDP、TCP、IP Multicast、... ストリーミング手順 (3) 専用プロトコルを用いたストリーミング サーバ クライアント HTTP ① ファイル要求 ② メタファイル WWW サーバ Web ブラウザ メタファイル ビューア ③ ビューアの起動 ④ 制御 ⑤ ストリーミング ストリーム サーバ ライブ入力 ストリーム ファイル 制御: RTSP / MMS メディア: UDP、TCP、IP Multicast、... HTTP、制御プロトコル、メディアポート上のデータ転送
メタファイル (1) WWW ブラウザからストリーミングビューアを起動する仕掛け sample.ram HTTPサーバ HTTPクライアント GET sample.ram rtsp://rtsp_server/sample.rm sample.ram HTTP 200 OK Content-Type: audio/x-pn-realaudio ... *.ram MIME タイプ RealPlayer MIME タイプ ストリーミング ビューア MIME タイプ MIME タイプ メタファイル ①②の手順の詳細 ... MIME: Multipurpose Internet Mail Extensions encoding
メタファイル (2) メタファイルとプレゼンテーション記述 (1) クライアント 分離する場合 ... ① ファイル要求 Web ブラウザ rtsp://rtsp_server/sample.smi メタファイル Web ブラウザ ② メタファイル ③ ビューアの起動 ④ ファイル要求 rtsp://rtsp_server/sample.rm プレゼンテーション記述 ストリーミング ビューア ⑤ プレゼンテーション記述 ⑥ ストリーム要求 ストリーム ファイル ⑦ ストリーミング
メタファイル (3) メタファイルとプレゼンテーション記述 (2) クライアント 結合する場合 ... ① ファイル要求 Web ブラウザ rtsp://rtsp_server/sample.rm プレゼンテーション記述 Web ブラウザ ② プレゼンテーション記述 (兼メタファイル) ③ ビューアの起動 ④ ストリーム要求 ストリーミング ビューア ストリーム ファイル ⑤ ストリーミング MIMEタイプが正しく定義されていれば、どちらの方法を用いてもよい
メタファイル (4) ストリーミング関連の MIME タイプとメタファイル 名称 MIMEタイプ RealSystem ファイル拡張子 RealSystem audio/vnd.rn-realmedia rm application/smil smi smil audio/x-pn-realaudio ram audio/x-pn/realaudio-plugin rpm Windows Media Technologies video/x-ms-wmv wmv audio/x-ms-wma wma video/x-ms-asf asf asx メタファイル Apple QuickTime video/quicktime mov qt
ファイルフォーマット (1) ストリームファイルの中のデータ構造 (制御データ + 圧縮データ) 一種の多重化フォーマット ファイル属性 ストリーム 属性 その他の 属性 圧縮データ ファイル属性: ファイルサイズ、ビットレート、ストリーム数、など ストリーム属性: ストリームの種類、圧縮アルゴリズム、ビットレート、など その他の属性: 各ストリームの開始位置、ランダムアクセス位置、など 圧縮データ: オーディオ、ビデオほか、各種メディアの圧縮ストリーム 2 1 2 n 1 n * スケーラブルなストリームも一つのファイルに多重化
ファイルフォーマット (2) ファイルフォーマットの使用方法 HTTP ストリーミング: 専用プロトコルを用いたストリーミング: サーバ そのままTCP転送 クライアント ストリーム ファイル ファイルフォーマット の中身は考慮しない 圧縮ストリーム中の 同期ワード探索による ストリーミング再生 専用プロトコルを用いたストリーミング: サーバ RTPパケット化 クライアント ストリーム ファイル 「ストリーム属性」を 考慮したパケット化 RTPに従った ストリーミング再生
ファイルフォーマット (3) ファイルフォーマットの具体例 名称 ファイルフォーマット 仕様 RealSystem rm 非公開 (以前は公開) Media Technologies wmv, wma, asf 非公開 (以前は公開) QuickTime mov, qt 公開 (MPEG4) *.rm: RealMedia File Format *.asf: Advanced Streaming Format *.mp3, *.mpg 等も一種のファイルフォーマット
RTSP (1) ストリーミング制御 ・ ストリーミング専用の制御プロトコル * Realtime Streaming Protocol メソッド 目的 DESCRIBE メディア情報、プレゼンテーション記述の取得 SETUP セッションの初期化 PLAY メディアの転送開始、再開 PAUSE メディアの転送中断 TEARDOWN セッションの終了 ANNOUNCE メディア情報、プレゼンテーション記述の更新 OPTIONS オプションの設定 RECORD メディアの記録 RFC 2326
RTSP (2) セッション制御 サーバ クライアント HTTP RTSP RTP GET プレゼンテーション記述 (SMIL等) DESCRIBE IPアドレス/ポート トランスポートプロトコル 符号化アルゴリズム 使用帯域、など SDP メディア情報 (SDP) SETUP RTSP OK (送信準備完了) PLAY OK (送信開始) ストリーミング RTP
RTSP (3) VCR コマンド サーバ クライアント ストリーミング PAUSE VCRコマンド (停止) OK (ストリーミングの停止) VCRコマンド: 開始、停止、再開 早送り、早戻し スキップ、など PLAY VCRコマンド (再開) OK (ストリーミングの再開) ストリーミング TEARDOWN OK (セッションの終了)
RTSP (4) 状態遷移 Init Ready Play Record TEARDOWN TEARDOWN SETUP PLAY PAUSE TEARDOWN RECORD Record
まとめ: プロトコル階層 ストリーミング専用プロトコルを用いた場合のプロトコル階層 ストリーミングサーバ WWWサーバ (番組案内) 音声 プレゼン テーション 記述 音声 ビデオ 制御 データ 番組案内 & メタファイル N.A. N.A. RTSP 等 SMIL 等 RTCP ファイル フォーマット プレゼン テーション 記述 メタ ファイル RTP HTTP UDP (or TCP) TCP TCP IP IP
マルチキャスト放送
マルチキャスト マルチキャスト サーバ マルチキャスト ルータ ② 転送開始・終了 (S,G): マルチキャストグループ マルチキャスト IGMP ① Join/Leave マルチキャストグループ 送信者とマルチキャストアドレスのペアから 決まるグループ (S, G)。受信者がマルチキ ャストグループへの参加・離脱を行うことで、 パケットの送信が制御される。 最近の話題: SSM (Source Specific Multicast)
マルチキャスト放送 (1) 手順 (1) WWW による番組案内 サーバ クライアント HTTP ① ファイル要求 WWW サーバ Web ブラウザ ② メタファイル メタファイル ③ ビューアの起動 IGMP ④ 参加 ストリーム サーバ ビューア ライブ入力 ストリーム ファイル ⑤ ストリーミング IP Multicast
マルチキャスト放送 (2) 手順 (2) SAP による番組案内 SAP: Session Announcement Protocol 定期的に番組案内 (SDP) をマルチキャスト サーバ クライアント SAP (by IP Multicast) ① 番組案内 ストリーム サーバ ビューア IGMP ライブ入力 ② 参加 ストリーム ファイル ③ ストリーミング IP Multicast RFC 2974
マルチキャスト放送の長所と短所 ユニキャスト放送 マルチキャスト放送 長所 既存のシステムの変更が不要 クライアントの接続状況に合わせたふくそう 制御が可能 トラヒックの削減 (原理的に冗長なパケット は発生しない) 、およびサーバ負荷の削減 短所 クライアントの増加に伴うトラヒックの爆発、 ならびにサーバ負荷の増大 (線形増加) マルチキャストルータの普及と各種設定 クライアント毎のふくそう制御が困難 課題 マルチキャストルーティングアルゴリズム ふくそう制御アルゴリズム 例: 階層化マルチキャスト
スケーラブル符号化 EI EP EP I B P B P B 空間解像度の階層化:空間スケーラビリティ レイヤ3 空間スケーラビリティ or SNRスケーラビリティ EI EP EP ベースライン I B P B P B 時間スケーラビリティ レイヤ1 レイヤ2 空間解像度の階層化:空間スケーラビリティ 時間解像度の階層化:時間スケーラビリティ SNRの階層化:SNRスケーラビリティ レイヤ1のみ: 低品質、低レート すべてのレイヤ: 高品質、高レート
階層化マルチキャスト (1) Receiver-Driven Layered Multicast 受信者主導で、各端末の帯域に合わせて サーバ マルチキャスト ルータ 広帯域 階層化されたマルチキャストストリーム = 複数のマルチキャストグループ 狭帯域 Leave Receiver-Driven Layered Multicast 受信者主導で、各端末の帯域に合わせて 階層の取捨選択 (= マルチキャストグループ への加入と離脱) を行う S.MaCanne et al: “Receiver-driven Layered Multicast,” SIGCOMM’96.
階層化マルチキャスト (2) Join Experiment Join、Leave (ふくそう検出)、バックオフを繰り返し、レートを安定させる 廃棄 廃棄 廃棄 detection time レイヤ4 Join Leave レイヤ3 Join join timer *= α (バックオフ) 1回目 2回目 レイヤ2 Join レイヤ1 join timer (レイヤ毎) TCP タイムアウトと同様のバックオフメカニズム
階層化マルチキャスト (3) Shared Learning Join 実験の他の端末への通知 RH RL RL S RL RL RL 狭帯域 広帯域 S RL RL Join 実験 RL 端末数の増加に伴う Join 実験の回数の増加を防ぐ 上流の広帯域 Join 実験と下流の狭帯域 Join 実験の結果の混同を防ぐ
階層化マルチキャスト (4) RLM の状態遷移図 S H D M Join 実験成功 (レイヤ増加) Steady Hysterisis Join 実験 以外の廃棄 H D Drop 廃棄率大 (レイヤ削減) 遷移状態 M Measurement detection time の終了