Upload
shona
View
101
Download
0
Embed Size (px)
DESCRIPTION
EMON システム: コマンドパイプラインによる マルチメディアストリーム処理. 笠松健一 京都大学工学部 藤川賢治 京都大学情報学研究科 岡部寿男 京都大学情報学研究科 古村隆明 京都高度技術研究所. 平成14年3月14日. 再利用性の高い部品を組み合わせることにより処理を行うシステムを提案. 研究の背景と目的. インターネットでマルチメディア伝送を個人でもできる 電話やビデオ放送のソフトウェアが急速に普及 デジタル家電や AV 機器を対象とするネットワーク技術の研究 独自方式→ IP へ統合の方向 例えば IP スピーカ、 IP マイクの登場 - PowerPoint PPT Presentation
Citation preview
EMON システム :コマンドパイプラインによるマルチメディアストリーム処理
笠松健一 京都大学工学部藤川賢治 京都大学情報学研究科岡部寿男 京都大学情報学研究科古村隆明 京都高度技術研究所
平成14年3月14日
研究の背景と目的 インターネットでマルチメディア伝送を個人でもでき
る 電話やビデオ放送のソフトウェアが急速に普及
デジタル家電や AV 機器を対象とするネットワーク技術の研究
独自方式→ IP へ統合の方向 例えば IP スピーカ、 IP マイクの登場
このようなネットワーク環境の変化に既存のソフトウェアでは各ソフトウェア毎に逐一対応する必要
再利用性の高い部品を組み合わせることにより処理を行うシステムを提案
関連研究 ( マイクロソフト社製のインターネットを利用するアプリケーション ) 電話アプリケーション NetMeeting
音声録音機能 音声再生機能 音声ストリームのネットワーク伝送機能
放送アプリケーション MediaEncoder 音声録音機能 音声ストリームのネットワーク伝送機能
関連研究 ( マイクロソフト社製のインターネットを利用するアプリケーション ) NetMeeting で伝送する音声を
MediaEncoder で放送することはできない 機能は十分に有る 実現にはプログラミング言語の知識が必要
HostA
NetMeeting電話機能
HostB
NetMeeting電話機能
MediaEncoder放送機能
コマンドパイプラインにより処理 UNIXにはパイプでプログラムを連携し、 様々な処理を行う考え方が存在→ マルチメディアストリーム処理に適用 機能毎にプログラムを実装し、パイプで連
携 パイプラインの例 $ audiocapt | udpsend 10.0.0.1
提案するシステム
データを 10.0.0.1 へ送信マイクで音声を取り込む→ マイクで取り込んだ音声を 10.0.0.1 へ送信
提案するシステムの設計と実装実装したプログラムと接続関係
audiocapt音声を録音
jpegcapt映像の取込み
fecenc前方誤り訂正の符号を付加
rtpencRTP ヘッダを
付加
udprecvUDP/IP で受信
udpsendUDP/IP で送信
rtpdecRTP ヘッダを
削除
fecdec前方誤り訂正
を行うaudioplay音声を再生
jpegplay映像を表示
ntspcall電話の発信
ntspwait電話の着信
IP ネットワークパイプによる接続ソケットによる接続
HostA
HostB:10.0.0.2
IP ネットワーク
udpsendUDP/IP で送信
HostA$ udpsend 10.0.0.2< video.jpgs
実現したアプリケーションの例ビデオオンデマンド
HostA$ jpegcapt | fecenc | rtpenc >video.jpgs
video.jpgs
jpegcapt映像の取込み
fecenc前方誤り訂正の符号を付加
rtpencRTP ヘッダを付加
udprecvUDP/IP で受信
rtpdecRTP ヘッダを
削除
fecdec前方誤り訂正
を行う
jpegplay映像を表示
HostB$ udprecv | rtpdec | fecdec | jpegplay
実現したアプリケーションの例実時間放送
HostA
HostB:10.0.0.2
IP ネットワーク
udpsendUDP/IP で送信
HostA$ jpegcapt | fecenc | rtpenc | udpsend 10.0.0.2
jpegcapt映像の取込み
fecenc前方誤り訂正の符号を付加
rtpencRTP ヘッダを付加
udprecvUDP/IP で受信
rtpdecRTP ヘッダを
削除
fecdec前方誤り訂正
を行う
jpegplay映像を表示
HostB$ udprecv | rtpdec | fecdec | jpegplay
リードソロモン符号による前方誤り訂正
n 個中の任意の n-k 個以下のパケットロス時にデータの訂正が可能
元データのパケット( メディアパケット )
Header
k
FEC で付加されるパケット
(FEC パケット )n-k
n
Reed Solomon 符号
実現したアプリケーションの例前方誤り訂正を行うリレー
fecenc が FEC パケットの生成 fecdec がメディアパケットの回復 送信ホストから受信ホストまで伝送する途中で
前方誤り訂正を行うリレーrelay$ udprecv | rtpdec | fecdec | fecenc | rtpenc | udpsend
送信ホスト
リレーホスト
リレーホスト
リレーホスト
受信ホスト
受信ホスト
受信ホスト
実現したアプリケーションの例電話
audiocapt音声を録音
rtpencRTP ヘッダを付加
ntspcall電話の発信
audioplay音声を再生
rtpdecRTP ヘッダを削除
IP ネットワーク
HostA
audiocapt音声を録音
rtpencRTP ヘッダを付加
audioplay音声を再生
rtpdecRTP ヘッダを削除
ntspwait電話の着信
HostA$ ntspcall 10.0.0.2 “rtpdec | audioplay” “audiocapt | rtpenc”HostB$ ntspwait 10.0.0.2 “rtpdec | audioplay” “audiocapt | rtpenc”
HostB:10.0.0.2
既存のプログラムと連携SSH
ホスト Bでマイクから取り込んだ音声ストリームをホスト A へ暗号化して伝送し、ホスト A で再生する HostA$ ssh 10.0.0.2 audiocapt | audioplay
既存のプログラムと連携tee
tee を用いると、プログラムの出力をプログラムやファイルへ複数同時に出力することができる
HostA でカメラから映像を取込み、ファイルに保存しながら放送HostA$ jpegcapt | tee save.jpgs | rtpenc | udpsend 225.0.0.1
同期再生 映像とそれに同期する音声について考える 映像を取り込むホストと音声を取り込むホストが異
なる場合や、再生を行うホストが異なる場合に同期再生を行う機能の実現 ホスト間で時計の情報と再生バッファーの状況の共有
NTP を用いてホストの時計を同期することにより映像と音声を異なるホストで再生する機能を実装
複数ホストによる同期再生機能の実装
NTP で同期しているホストの時計を元にタイムスタンプを付加 再生時刻はタイムスタンプの時刻+あらかじめ定めた時間
audiocapt音声を録音
audioplay音声を再生
音声送信ホスト
IP ネットワーク
映像送信ホスト
jpegcapt映像の取込み
音声受信ホスト
映像受信ホスト
jpegplay映像の再生
NTPサーバ
まとめと今後の課題 まとめ
機能毎に実装したプログラムをパイプで連携し、さまざまな処理を行うシステムを提案
提案するシステムの設計と実装 IP ネットワークを利用した様々な処理を実現
今後の課題 音声ミキサーなどの機能を追加
実装したシステムの情報 http://www.ibcast.net/
実現したアプリケーションの例IP マイクによる電話
udprecvRTP ヘッダを付加
ntspcall電話の発信
audioplay音声を再生
rtpdecRTP ヘッダを削除
HostA:10.0.0.1
HostA$ ntspcall 10.0.0.2 “rtpdec | audioplay” “udprecv 10.0.0.1”HostM$ audiocapt | rtpenc | udpsend 10.0.0.1
audiocapt音声を録音
rtpencRTP ヘッダを付加
udpsendUDP/IP で送信 HostM
IP ネットワーク