17
EMON シシシシ : シシシシシシシシシシシシシ シシシシシシシシシシシシシシ シシシ シシシシシシシ シシシシ シシシシシシシシシシ シシシシ シシシシシシシシシシ シシシシ シシシシシシシシシ シシ シシ シシ シ シ 14314

EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

  • Upload
    shona

  • View
    101

  • Download
    0

Embed Size (px)

DESCRIPTION

EMON システム: コマンドパイプラインによる マルチメディアストリーム処理. 笠松健一 京都大学工学部 藤川賢治 京都大学情報学研究科 岡部寿男 京都大学情報学研究科 古村隆明 京都高度技術研究所. 平成14年3月14日. 再利用性の高い部品を組み合わせることにより処理を行うシステムを提案. 研究の背景と目的. インターネットでマルチメディア伝送を個人でもできる 電話やビデオ放送のソフトウェアが急速に普及 デジタル家電や AV 機器を対象とするネットワーク技術の研究 独自方式→ IP へ統合の方向 例えば IP スピーカ、 IP マイクの登場 - PowerPoint PPT Presentation

Citation preview

Page 1: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

EMON システム :コマンドパイプラインによるマルチメディアストリーム処理

笠松健一 京都大学工学部藤川賢治 京都大学情報学研究科岡部寿男 京都大学情報学研究科古村隆明 京都高度技術研究所

平成14年3月14日

Page 2: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

研究の背景と目的 インターネットでマルチメディア伝送を個人でもでき

る 電話やビデオ放送のソフトウェアが急速に普及

デジタル家電や AV 機器を対象とするネットワーク技術の研究

独自方式→ IP へ統合の方向 例えば IP スピーカ、 IP マイクの登場

このようなネットワーク環境の変化に既存のソフトウェアでは各ソフトウェア毎に逐一対応する必要

再利用性の高い部品を組み合わせることにより処理を行うシステムを提案

Page 3: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

関連研究 ( マイクロソフト社製のインターネットを利用するアプリケーション ) 電話アプリケーション NetMeeting

音声録音機能 音声再生機能 音声ストリームのネットワーク伝送機能

放送アプリケーション MediaEncoder 音声録音機能 音声ストリームのネットワーク伝送機能

Page 4: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

関連研究 ( マイクロソフト社製のインターネットを利用するアプリケーション ) NetMeeting で伝送する音声を

MediaEncoder で放送することはできない 機能は十分に有る 実現にはプログラミング言語の知識が必要

HostA

NetMeeting電話機能

HostB

NetMeeting電話機能

MediaEncoder放送機能

Page 5: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

コマンドパイプラインにより処理 UNIXにはパイプでプログラムを連携し、 様々な処理を行う考え方が存在→ マルチメディアストリーム処理に適用 機能毎にプログラムを実装し、パイプで連

携 パイプラインの例 $ audiocapt   | udpsend 10.0.0.1

提案するシステム

データを 10.0.0.1 へ送信マイクで音声を取り込む→ マイクで取り込んだ音声を 10.0.0.1 へ送信

Page 6: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

提案するシステムの設計と実装実装したプログラムと接続関係

audiocapt音声を録音

jpegcapt映像の取込み

fecenc前方誤り訂正の符号を付加

rtpencRTP ヘッダを

付加

udprecvUDP/IP で受信

udpsendUDP/IP で送信

rtpdecRTP ヘッダを

削除

fecdec前方誤り訂正

を行うaudioplay音声を再生

jpegplay映像を表示

ntspcall電話の発信

ntspwait電話の着信

IP ネットワークパイプによる接続ソケットによる接続

Page 7: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

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

Page 8: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

実現したアプリケーションの例実時間放送

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

Page 9: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

リードソロモン符号による前方誤り訂正

n 個中の任意の n-k 個以下のパケットロス時にデータの訂正が可能

元データのパケット( メディアパケット )

Header

k

FEC で付加されるパケット

(FEC パケット )n-k

n

Reed Solomon 符号

Page 10: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

実現したアプリケーションの例前方誤り訂正を行うリレー

fecenc が FEC パケットの生成 fecdec がメディアパケットの回復 送信ホストから受信ホストまで伝送する途中で

前方誤り訂正を行うリレーrelay$ udprecv | rtpdec | fecdec | fecenc | rtpenc | udpsend

送信ホスト

リレーホスト

リレーホスト

リレーホスト

受信ホスト

受信ホスト

受信ホスト

Page 11: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

実現したアプリケーションの例電話

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

Page 12: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

既存のプログラムと連携SSH

ホスト Bでマイクから取り込んだ音声ストリームをホスト A へ暗号化して伝送し、ホスト A で再生する HostA$ ssh 10.0.0.2 audiocapt | audioplay

Page 13: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

既存のプログラムと連携tee

tee を用いると、プログラムの出力をプログラムやファイルへ複数同時に出力することができる

HostA でカメラから映像を取込み、ファイルに保存しながら放送HostA$ jpegcapt | tee save.jpgs | rtpenc | udpsend 225.0.0.1

Page 14: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

同期再生 映像とそれに同期する音声について考える 映像を取り込むホストと音声を取り込むホストが異

なる場合や、再生を行うホストが異なる場合に同期再生を行う機能の実現 ホスト間で時計の情報と再生バッファーの状況の共有

NTP を用いてホストの時計を同期することにより映像と音声を異なるホストで再生する機能を実装

Page 15: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

複数ホストによる同期再生機能の実装

NTP で同期しているホストの時計を元にタイムスタンプを付加 再生時刻はタイムスタンプの時刻+あらかじめ定めた時間

audiocapt音声を録音

audioplay音声を再生

音声送信ホスト

IP ネットワーク

映像送信ホスト

jpegcapt映像の取込み

音声受信ホスト

映像受信ホスト

jpegplay映像の再生

NTPサーバ

Page 16: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

まとめと今後の課題 まとめ

機能毎に実装したプログラムをパイプで連携し、さまざまな処理を行うシステムを提案

提案するシステムの設計と実装 IP ネットワークを利用した様々な処理を実現

今後の課題 音声ミキサーなどの機能を追加

実装したシステムの情報 http://www.ibcast.net/

Page 17: EMON システム: コマンドパイプラインによる マルチメディアストリーム処理

実現したアプリケーションの例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 ネットワーク