スライド タイトルなし

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