分散環境におけるフィードバックを用いたオーケストラ演奏機構の構築 環境情報学部4年 久松 剛 ringo@sfc.wide.ad.jp 親:uhyoさん サブ親:pierreさん
本研究の成果 協調制作作業を実時間で実現するために必要な 技術の構築 協調制作作業を実時間で実現するために必要な 技術の構築 実現した項目: 中心からの指示の制作者間共有 コンテンツ制作の指揮を執るディレクタからの指示,指揮者によるタイミング等 制作者間モニタリング 他者の状況を知ることによるスムーズな協調作業 映画やTV制作における進行状況の確認,音楽制作における和音,ダイナミックスの確認 時間軸管理 コンテンツの時間軸管理による編集作業の効率化 遅延時間管理によるバッファリングの効率化 協調制作作業を実時間で実現されるために必要な技術の構築 →特にこれらの要求の厳しいオーケストラコンサート, 練習にターゲットをあてた設計と実装
背景:ネットワークを用いた共同制作環境 ネットワークの広帯域化 マルチメディアコンテンツ共同制作活動の活発化 データサイズの大きな品質の高い映像・音声データをリアルタイムに双方向,複数転送することが容易になった マルチメディアコンテンツ共同制作活動の活発化 例)デジタルシネマプロジェクト インターネット利用による空間的制約の排除 制作コストの低下 映画製作だけでなく音楽制作,放送中継にも有効 目的の実現に有効なアプリケーションの必要性 アプリケーションが効率的に利用できていない
分析:実空間における音楽共同制作 コンサートホールにおけるオーケストラの演奏 指揮者の指揮に従った演奏 反響が大きく,特に遠くの演奏者の音が遅延する 視聴者は楽器からの直接音と間接音を聴取 コンサートホールの設計による反響音操作と音声の同期 必要要件 演奏者が他の演奏者の音声聴取 演奏者間のタイミング,リズム共有 全ての演奏者の音声は同期された状態で出力 視聴者
提案:分散環境における 音楽共同制作モデル 指揮者の居る拠点を中心としたモデル タイミング取得のための指揮者映像などを送信 (タイミングデータ) 演奏データの送信 各演奏データの音声データをそれぞれに送信 (フィードバックデータ) PC PC PC PC タイミングデータ フィードバックデータ 演奏データ Internet PC スター型の構成にすることにより, 中央(指揮者,ディレクタ)中心型の 作業進行が容易となる
演奏可能遅延許容時間 聴覚だけを元に演奏を行った際に演奏に支障が出ない遅延時間 50ms-80ms以内というレポート ネットワークを介した異なる拠点の二人の演奏者に音のみの到達性を確保した上で合奏できる遅延時間を調査 遅延発生装置を使用,遅延時間を変更して調査 演奏可能許容遅延時間の算出 異なる拠点のクライアントを タイミングデータ受信時からフィードバック受信時の差分
設計概要図 複数ストリームの同期機構は既存研究があるため,本研究では未実装 ソフトウェアミキサと合わせた同期機構を今後実装する
設計概要(1/2) クライアントデータベース 遅延管理部 クライアント:送信部 演奏を行うクライアントの管理 IPアドレス,映像・音声データ送受信用ポート番号等 遅延管理部 映像・音声データに含まれるタイムスタンプの管理 ネットワーク伝送遅延の管理 クライアント:送信部 マスタへの音声, または映像・音声送信
設計概要(2/2) マスタ:受信部 フィードバック送信部・受信部 演奏タイミング データ送信部・ 受信部 演奏者に他の演奏者の音声データを転送する 演奏タイミング データ送信部・ 受信部 演奏のタイミング, リズムを合わせる ための映像・ 音声転送を行う 指揮者の映像を想定
映像・音声入出力 データ欠損に伴う合奏の品質低下を防ぐ必要性 今回はIEEE1394を用いた入出力 Isochronous転送の利用 125μ秒毎にデータ転送の優先権が与えられる リアルタイム性の高いデータ入出力
遅延時間の管理 映像・音声データ用タイムスタンプ 伝送遅延時間計測 クライアント内部処理時間計測 タイミングデータ受信時より相対時間を記録開始 伝送遅延時間計測 マスタにおいてタイミングデータ送信時間と音声データ受信時間の差分により計測 クライアント内部処理時間計測 クライアントにおいてタイミングデータ受信時間と音声データ送信時間の差分により計測
実装環境 DVTS for MacOSXの拡張 OS : MacOS 10.3.2 Carbon API(C言語) 開発に用いたソフトウェア Xcode 1.1.0 Interface Builder 2.4 QuickTime 6.5 GCC 3.3
実装(1/3) DVTSの拡張 クライアントデータベース 共有メモリの利用 IEEE1394からIsochronous転送による映像・音声入出力,ネットワーク転送に対応 DVTS for MacOSXの利用 スレッドベースであるため,スレッドの追加による 機能拡張が容易 クライアントデータベース 構造体配列を利用 共有メモリの利用 クライアント毎に共有メモリを用意 構造体配列を経由してアクセス
実装(2/3) 拡張RTPフォーマット 従来のRTPフォーマットを一部変更 映像・音声データ用タイムスタンプの追加(Relative Time Stamp) クライアント内部処理時間の追加(Recording Environment Delay Time) タイムスタンプ項目: マスタのCPU時間をミリ秒単位で収録(Absolute Time Stamp)
実装(3/3) Thread Manager 内部処理:スレッド main Thread Managerの利用 マスタの場合: 単一スレッド GUIを含む基盤となるスレッド クライアントデータベース スレッド タイミングデータ送信スレッド クライアント毎に作成される スレッド 個別のスレッドにすることによる中央からの制御の柔軟性 遅延時間のカスタマイズ等 映像・音声データ送受信 スレッド フィードバック送信 スレッド スレッドIDはクライアント データベースによって管理 Thread Manager アプリケーション起動 クライアント接続開始 演奏開始 main クライアント データベース タイミング データ 映像・音声受信 (クライアントA) (クライアントB) フィードバック
評価環境 クライアント2台 マスタ メディアコンバータ2台 カメラ タイミングデータ用DVカメラ タイミングデータ,フィードバックデータの書き出し カメラ 映像・音声データ用 マスタ タイミングデータ用DVカメラ
評価(1): 各データ送信安定性 各データの送信安定性の測定 タイミングデータ,映像・音声データ,フィードバックデータのそれぞれの送信量を測定 該当するポート番号に対し,10分間tcpdump タイミングデータ 映像・音声データ フィードバックデータ
評価(2): 演奏可能許容時間と処理速度 タイミングデータ受信時からフィードバック受信時間までを計測 マスタタイミングデータ送信時にCPU時間を挿入 CPU時間を映像・音声データ送信,フィードバック送受信の一連の動作時に拡張RTPフォーマットに記録 ばらつきが多い 母体のDVTS for MacOSXに問題 threadプライオリティに問題 平均所要時間37ms ネットワーク伝送遅延が43ms以内の拠点であれば利用可能
評価(3):既存技術との比較(1/2) 比較対象: 坂本龍一MIDIライブ(1997年) 長野オリンピック開会式(1998年) MIDIとRealによる個人宅等へのライブ映像・音声配信 コンサートホールに全ての演奏者が集合 クライアント側でバッファリング,MIDIとRealの同期 長野オリンピック開会式(1998年) 5大陸の都市を衛星回線で結んでの『第九』合唱 指揮者とオーケストラの居る長野県民文化会館より,各拠点に演奏と指揮者映像を配信,合唱 各拠点からの映像・音声は長野に集約 タイムラグアジャスタによる手動での同期
評価(3):既存技術との比較 (2/2) 坂本龍一MIDIライブ 長野オリンピック開会式 本機構 フィードバック × ○ タイミングの共有 有効範囲 △ 映像への対応
まとめ: 本機構の実現した機能 フィードバックを有したオーケストラ 演奏機構の構築 フィードバックを有したオーケストラ 演奏機構の構築 演奏の基準となる映像を転送することによる演奏タイミングの共有 他の演奏者のフィードバックデータを転送 することによる和音,ダイナミックスの確認 時間軸管理による編集作業,バッファリングの効率化
今後の発展(1/2) パフォーマンスの最適化 ソフトウェアミキサとの連携 実際のオーケストラでの使用 DVTS for MacOSXのdvrecvのチューニング 他のthreadとの比較 ソフトウェアミキサとの連携 ストリーミングに対応したソフトウェアミキサの作成と連携 実際のオーケストラでの使用
今後の発展(2/2) Viewer, Monitorの採用 IEEE1394デバイス以外への対応による汎用性の向上 S/PDIF(Sony/Philips Digital Interface)など mLAN(YAMAHA)社との連携
評価:各データ送信安定性(1/3) クライアント:映像・音声データ送出量の測定 タイミングデータ・フィードバックデータ受信を平行して行いながらの映像・音声データ送出量を計測 マスタにおいて映像・音声データを受信するポート番号に対し,tcpdumpを10分間 一定の 映像・音声データ送出
評価:各データ送信安定性(2/3) マスタ:タイミングデータ送出量の測定 若干のばらつきが発生 映像・音声データ受信,フィードバックデータ送信を平行して行いながらのタイミングデータ送出量を計測 クライアントにおいてタイミングデータを受信するポート番号に対し,tcpdumpを10分間 若干のばらつきが発生 タイミングデータの送信は, 単一のスレッドで全てのクライアントに対して行われるため
評価:各データ送信安定性(3/3) マスタ:フィードバックデータ送出量の測定 一定したフィードバックデータ送信量 映像・音声データ受信,タイミングデータ送信を平行して行いながらのフィードバックデータ送出量を計測 クライアントにおいてフィードバックデータを受信するポート番号に対し,tcpdumpを10分間 一定したフィードバックデータ送信量 音声のみを送信するため送信量は少ない
目的:フィードバックを有する共同制作環境の構築 リアルタイムメディア共同制作環境の実現 共同制作者間の連携 他者のモニタリングによる分散環境における共同制作の効率化 共同制作者間の時間軸共有 動作の開始,間隔を制作者間で共有 拠点毎に異なる遅延時間の管理 ネットワーク伝送遅延,収録環境・転送機器の差異による遅延時間の取得・管理 上記3点の要求が厳しいものの一つにオーケストラのライブコンサート練習がある