特許第6127476号(P6127476)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許6127476ネットワーク音楽セッションにおける遅延測定方法及び装置
<>
  • 特許6127476-ネットワーク音楽セッションにおける遅延測定方法及び装置 図000002
  • 特許6127476-ネットワーク音楽セッションにおける遅延測定方法及び装置 図000003
  • 特許6127476-ネットワーク音楽セッションにおける遅延測定方法及び装置 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6127476
(24)【登録日】2017年4月21日
(45)【発行日】2017年5月17日
(54)【発明の名称】ネットワーク音楽セッションにおける遅延測定方法及び装置
(51)【国際特許分類】
   H04L 29/08 20060101AFI20170508BHJP
   G10H 1/00 20060101ALI20170508BHJP
   H04L 12/70 20130101ALI20170508BHJP
   H04L 13/08 20060101ALI20170508BHJP
【FI】
   H04L13/00 307Z
   G10H1/00 Z
   H04L12/70 100Z
   H04L13/08
【請求項の数】4
【全頁数】14
(21)【出願番号】特願2012-263880(P2012-263880)
(22)【出願日】2012年11月30日
(65)【公開番号】特開2014-110525(P2014-110525A)
(43)【公開日】2014年6月12日
【審査請求日】2015年9月17日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100102635
【弁理士】
【氏名又は名称】浅見 保男
(74)【代理人】
【識別番号】100197022
【弁理士】
【氏名又は名称】谷水 浩一
(72)【発明者】
【氏名】原 貴洋
【審査官】 森谷 哲朗
(56)【参考文献】
【文献】 特開2012−018329(JP,A)
【文献】 特開2005−354351(JP,A)
【文献】 国際公開第2007/029731(WO,A1)
【文献】 国際公開第2008/138047(WO,A1)
【文献】 特開2006−166243(JP,A)
【文献】 特開2010−147806(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 29/08
G10H 1/00
H04L 12/70
H04L 13/08
(57)【特許請求の範囲】
【請求項1】
通信ネットワークを介して通信可能に接続された他のセッション端末と共にネットワーク音楽セッションを行うセッション端末において実行される遅延測定方法であって、
オーディオ信号を入力してから当該オーディオ信号の伝送を開始するまでの自端末入力遅延時間を取得する自端末入力遅延取得ステップと、
他のセッション端末においてオーディオ再生部でオーディオ信号を受信バッファ部より入力してから出力するまでの他端末出力遅延時間を取得する他端末出力遅延取得ステップと、
他のセッション端末において受信バッファ部でオーディオ信号を受信してから当該オーディオ信号をオーディオ再生部に入力するまでの他端末受信バッファリング遅延時間を取得する他端末受信バッファリング遅延取得ステップと、
オーディオ信号の伝送を開始してから当該オーディオ信号が他のセッション端末で受信されるまでの自端末・他端末間伝送遅延時間を取得する伝送遅延取得ステップと、
自端末入力遅延取得ステップで取得された自端末入力遅延時間、他端末出力遅延取得ステップで取得された他端末出力遅延時間、他端末受信バッファリング遅延取得ステップで取得された他端末受信バッファリング遅延時間、及び、伝送遅延取得ステップで取得された自端末・他端末間伝送遅延時間を合計し、オーディオ信号が入力されてから他のセッション端末のオーディオ再生部より出力されるまでの自端末・他端末間入出力遅延時間を決定する入出力遅延時間決定ステップと
から成り、
前記伝送遅延取得ステップでは、第1時刻情報を、直前に受信した他端末からの計測用パケットに記された第3時刻情報とし、第2時刻情報を、直前に受信した他端末からの計測用パケットを受信した時刻とし、第3時刻情報を、自端末が計測用パケットを送る時刻とした際に、自端末及び他端末は、第1時刻情報、第2時刻情報および第3時刻情報を記した計測用パケットを定期的に送り、自端末及び他端末は、受信した計測用パケットに記された第1時刻情報、第2時刻情報および第3時刻情報と、計測用パケットを受信した時刻とされる第4時刻情報とに基づいて自端末・他端末間伝送遅延時間を取得して、最新の自端末・他端末間伝送遅延時間に更新することを特徴とするネットワーク音楽セッションにおける遅延測定方法。
【請求項2】
通信ネットワークを介して通信可能に接続された他のセッション端末と共にネットワーク音楽セッションを行うセッション端末に設けられた遅延測定装置であって、
オーディオ信号を入力してから当該オーディオ信号の伝送を開始するまでの自端末入力遅延時間を取得する自端末入力遅延取得手段と、
オーディオ信号の伝送を開始してから当該オーディオ信号が他のセッション端末で受信されるまでの自端末・他端末間伝送遅延時間を取得する伝送遅延取得手段と、
他のセッション端末において受信バッファ部でオーディオ信号を受信してから当該オーディオ信号をオーディオ再生部に入力するまでの他端末受信バッファリング遅延時間を取得する他端末受信バッファリング遅延取得手段と、
他のセッション端末においてオーディオ再生部でオーディオ信号を受信バッファ部より入力してから出力するまでの他端末出力遅延時間を取得する他端末出力遅延取得手段と、
自端末入力遅延取得手段により取得された自端末入力遅延時間、伝送遅延取得手段により取得された自端末・他端末間伝送遅延時間、他端末受信バッファリング遅延取得手段により取得された他端末受信バッファリング遅延時間、及び、他端末出力遅延取得手段により取得された他端末出力遅延時間を合計し、オーディオ信号が入力されてから他のセッション端末のオーディオ再生部より出力されるまでの自端末・他端末間入出力遅延時間を決定する入出力遅延時間決定手段と
を具備し、
前記伝送遅延取得手段では、第1時刻情報を、直前に受信した他端末からの計測用パケットに記された第3時刻情報とし、第2時刻情報を、直前に受信した他端末からの計測用パケットを受信した時刻とし、第3時刻情報を、自端末が計測用パケットを送る時刻とした際に、自端末及び他端末は、第1時刻情報、第2時刻情報および第3時刻情報を記した計測用パケットを定期的に送り、自端末及び他端末は、受信した計測用パケットに記された第1時刻情報、第2時刻情報および第3時刻情報と、計測用パケットを受信した時刻とされる第4時刻情報とに基づいて自端末・他端末間伝送遅延時間を取得して、最新の自端末・他端末間伝送遅延時間に更新することを特徴とするネットワーク音楽セッションにおける遅延測定装置。
【請求項3】
他のセッション端末の受信バッファ部におけるバッファサイズは自動的に或いはユーザ操作に応じて変更可能であって、他端末受信バッファリング遅延時間は、定期的にこのバッファサイズから計算することにより、最新の値に更新されたものを当該他のセッション端末から取得することを特徴とする請求項に記載のネットワーク音楽セッションにおける遅延測定装置。
【請求項4】
自端末入力遅延時間は、オーディオ出力部において、入力されたオーディオ信号をAD変換乃至符号化することに基づく遅延時間を含み、
他端末出力遅延時間は、他のセッション端末のオーディオ再生部において、入力されたオーディオ信号を復号化乃至DA変換することに基づく遅延時間を含み、他のセッション端末との接続が確立したときに当該他のセッション端末から取得する
ことを特徴とする請求項2または3に記載のネットワーク音楽セッションにおける遅延測定装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、インターネットなどの通信ネットワークを介して接続された複数の電子音楽端末の間で演奏などの音楽的なセッションを行うネットワーク音楽セッションにおける遅延測定システムに関する。
【背景技術】
【0002】
従来より、インターネットなどの通信ネットワークを介した楽器の演奏(合奏)やデュエット等の合唱などの音楽的なセッションを可能としたネットワーク音楽セッションが知られている。例えば、特許文献1の合奏システムでは、自端末での演奏に基づく演奏情報を、他端末に送信すると共に、所定時間だけ遅延させて自端末の楽音生成部に供給することにより、自端末での演奏による楽音を両端末において同時に発音させる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−195982号公報
【0004】
ここで、自端末において演奏楽音を発音させるのに遅延する時間(ΔT)は、例えば、ネットワークの往復遅延時間RTT( Round Trip Time)を測定し、測定した往復時間RTTの値(T0)から片道のネットワーク遅延時間(Δtnet )を求める方法で決定するようにしている(特許文献1:段落[0029])。また、一般に、2つの端末の間のネットワーク遅延時間は、両端末間でクロック同期を行い、一方の端末から録音入力時のタイムスタンプを付けたパケットを送り、他方の端末で、このパケットの再生出力時に、現在時刻とタイムスタンプの時刻との差分を見る方法で遅延を測定することができる。
【0005】
また、ネットワーク音楽セッションを行う上で、自分の音が相手まで届くのにかかる遅延時間、或いは、相手の音が自分に届くのにかかる遅延時間を知りたいという要求がある。つまり、ネットワーク音楽セッションのユーザは、相手との遅延がどの程度になるのかは、ネットワークの環境や物理的距離によって異なり、ある一定以上の遅延になると、セッションを行うことが困難なため、遅延時間を確かめてセッション可能かどうかの指標としたいという要求がある。なお、この遅延時間は、一般的に、40msぐらいを越えると、演奏がそもそも成立せず、30msぐらいであれば、ちょっとつっこみ気味に演奏することで、相手の演奏とぴったり合せることができるが、そういった工夫をすべきかどうかの指標として利用することができる。
【0006】
しかしながら、RTTの計測によりネットワーク遅延時間を測定する方法では、ネットワーク以外の遅延が含まれていないため、これでは、自端末の演奏楽音が入力されてから他端末で当該演奏楽音が出力されるまでの遅延時間を正確につかむには不十分である。また、入力時のタイムスタンプと出力時刻との差分を採る方法では、お互いに高い精度でのクロック同期が行われていることが前提であるため、インターネットのような遅延が一定ではなく信頼性が低い通信システム下では、実施が困難である。
【発明の概要】
【発明が解決しようとする課題】
【0007】
この発明は、このような事情に鑑み、インターネットなどの通信ネットワークを介して音楽的なセッションを行う際に自端末におけるオーディオ信号の入力から相手端末における当該オーディオ信号の出力までの入出力遅延時間を正確に測定することができる遅延測定システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の主たる特徴に従うと、通信ネットワーク(CN)を介して通信可能に接続された他のセッション端末(TMb)と共にネットワーク音楽セッションを行うセッション端末(TMa)において実行される遅延測定方法であって、オーディオ信号を入力してから当該オーディオ信号の伝送を開始するまでの自端末入力遅延時間(Tia)を取得する自端末入力遅延取得ステップ(A1)と、他のセッション端末(TMb)においてオーディオ再生部(DRob)でオーディオ信号を受信バッファ部(BFb)より入力してから出力するまでの他端末出力遅延時間(Tob)を取得する他端末出力遅延取得ステップ(A2)と、他のセッション端末(TMb)において受信バッファ部(BFb)でオーディオ信号を受信してから当該オーディオ信号をオーディオ再生部(DRob)に入力するまでの他端末受信バッファリング遅延時間(Tbfb)を取得する他端末受信バッファリング遅延取得ステップ(A3)と、オーディオ信号の伝送を開始してから当該オーディオ信号が他のセッション端末(TMb)で受信されるまでの自端末・他端末間伝送遅延時間(Tn)を取得する伝送遅延取得ステップ(A4)と、自端末入力遅延取得ステップ(A1)で取得された自端末入力遅延時間(Tia)、他端末出力遅延取得ステップ(A2)で取得された他端末出力遅延時間(Tob)、他端末受信バッファリング遅延取得ステップ(A3)で取得された他端末受信バッファリング遅延時間(Tbfb)、及び、伝送遅延取得ステップ(A4)で取得された自端末・他端末間伝送遅延時間(Tn)を合計し、オーディオ信号が入力されてから他のセッション端末(TMb)のオーディオ再生部(DRob)より出力されるまでの自端末・他端末間入出力遅延時間(Tab)を決定する入出力遅延時間決定ステップ(A5)とから成るネットワーク音楽セッションにおける遅延測定方法〔請求項1〕、並びに、通信ネットワークを介して通信可能に接続された他のセッション端末(TMb)と共にネットワーク音楽セッションを行うセッション端末(TMa)に設けられた遅延測定装置であって、オーディオ信号を入力してから当該オーディオ信号の伝送を開始するまでの自端末入力遅延時間(Tia)を取得する自端末入力遅延取得手段(A1)と、オーディオ信号の伝送を開始してから当該オーディオ信号が他のセッション端末(TMb)で受信されるまでの自端末・他端末間伝送遅延時間(Tn)を取得する伝送遅延取得手段(A4)と、他のセッション端末(TMb)において受信バッファ部(BFb)でオーディオ信号を受信してから当該オーディオ信号をオーディオ再生部(DRob)に入力するまでの他端末受信バッファリング遅延時間(Tbfb)を取得する他端末受信バッファリング遅延取得手段(A3)と、他のセッション端末(TMb)においてオーディオ再生部(DRob)でオーディオ信号を受信バッファ部(BFb)より入力してから出力するまでの他端末出力遅延時間(Tob)を取得する他端末出力遅延取得手段(A2)と、自端末入力遅延取得手段(A1)により取得された自端末入力遅延時間(Tia)、伝送遅延取得手段(A4)により取得された自端末・他端末間伝送遅延時間(Tn)、他端末受信バッファリング遅延取得手段(A3)により取得された他端末受信バッファリング遅延時間(Tbfb)、及び、他端末出力遅延取得手段(A2)により取得された他端末出力遅延時間(Tob)を合計し、オーディオ信号が入力されてから他のセッション端末(TMb)のオーディオ再生部(DRob)より出力されるまでの自端末・他端末間入出力遅延時間(Ttab)を決定する入出力遅延時間決定手段(A5)とを具備することを特徴とするネットワーク音楽セッションにおける遅延測定装置〔請求項2〕が提供される。なお、括弧書きは、セッション端末を実施例の「セッション端末A」とし、他のセッション端末を実施例の「セッション端末B」とした場合における実施例の参照記号や箇所等を表わし、以下においても同様である。
【0009】
この発明によるネットワーク音楽セッションにおける遅延測定装置において、自端末・他端末間伝送遅延時間(Tn)は、他のセッション端末(TMb)との間で定期的に送受される計測用パケットを利用して計測用パケット送受時刻を監視することにより、最新の値に更新されたものを取得する〔請求項3〕ように構成することができる。
【0010】
また、この発明によるネットワーク音楽セッションにおける遅延測定装置では、他のセッション端末(TMb)の受信バッファ部(BFb)におけるバッファサイズは自動的に或いはユーザ操作に応じて変更可能であって、他端末受信バッファリング遅延時間(Tbfb)は、定期的にこのバッファサイズから計算することにより、最新の値に更新されたものを当該他のセッション端末(TMb)から取得する〔請求項4〕ように構成することができる。
【0011】
さらに、この発明によるネットワーク音楽セッションにおける遅延測定装置では、自端末入力遅延時間(Tia)は、オーディオ出力部において、入力されたオーディオ信号をAD変換乃至符号化することに基づく遅延時間を含み、他端末出力遅延時間(Tob)は、他のセッション端末(TMb)のオーディオ再生部(DRob)において、入力されたオーディオ信号を復号化乃至DA変換することに基づく遅延時間を含み、他のセッション端末(TMb)との接続が確立したときに当該他のセッション端末(TMb)から取得する〔請求項5〕ように構成することができる。
【発明の効果】
【0012】
この発明によるネットワーク音楽セッションにおける遅延測定システムでは(請求項1,2)、通信ネットワーク(CN)を介して通信可能に接続された他のセッション端末(TMb)と共にネットワーク音楽セッションを行うセッション端末(TMa)において、まず、オーディオ信号を入力してから当該オーディオ信号の伝送を開始するまでの自端末入力遅延時間(Tia)を取得すると共に(A1)、他のセッション端末(TMb)においてオーディオ再生部(DRob)でオーディオ信号を受信バッファ部(BFb)より入力してから出力するまでの他端末出力遅延時間(Tob)を取得する(A2)。次いで、他のセッション端末(TMb)において受信バッファ部(BFb)でオーディオ信号を受信してから当該オーディオ信号をオーディオ再生部(DRob)に入力するまでの他端末受信バッファリング遅延時間(Tbfb)を取得し(A3)、さらに、オーディオ信号の伝送を開始してから当該オーディオ信号が他のセッション端末(TMb)で受信されるまでの自端末・他端末間伝送遅延時間(Tn)を取得する(A4)。そして、取得した自端末入力遅延時間(Tia)、他端末出力遅延時間(Tob)、他端末受信バッファリング遅延時間(Tbfb)及び自端末・他端末間伝送遅延時間(Tn)を合計し、オーディオ信号が入力されてから他のセッション端末(TMb)のオーディオ再生部(DRob)より出力されるまでの自端末・他端末間入出力遅延時間(Tab)を決定する(A5)。
【0013】
従って、この発明によれば、自端末(TMa)において、ネットワーク音楽セッションを行う相手端末(TMb)内の遅延情報(Tob,DRob)を用いることにより、オーディオ信号が自端末(TMa)で入力されてから相手端末(TMb)で出力されるまでの自端末・他端末間入出力遅延時間(Tab)を正確に測定することができる。
【0014】
この発明によるネットワーク音楽セッションにおける遅延測定装置において、他のセッション端末(TMb)との間で定期的に送受される計測用パケットを利用して計測用パケット送受時刻を監視し、自端末・他端末間伝送遅延時間(Tn)は、この監視により得られた最新の値に更新するようにしている(請求項3)。従って、この発明によれば、自端末と相手端末との間で高精度のクロック同期が行われていなくても、自端末・他端末間入出力遅延時間(Tab)の計測に必要な自端末・他端末間伝送遅延時間(Tn)を正確に取得することができる。
【0015】
また、この発明によるネットワーク音楽セッションにおける遅延測定装置において、他のセッション端末(TMb)の受信バッファ部(BFb)におけるバッファサイズは自動的に或いはユーザ操作に応じて変更可能であり、他端末受信バッファリング遅延時間(Tbfb)は、定期的に、バッファサイズから計算された最新の値に更新するようにしている(請求項4)。従って、この発明によれば、自端末・他端末間入出力遅延時間(Tab)の計測に必要な他端末受信バッファリング遅延時間(Tbfb)を正確に取得することができる。
【0016】
さらに、この発明によるネットワーク音楽セッションにおける遅延測定装置において、自端末入力遅延時間(Tia)は、オーディオ出力部において、入力されたオーディオ信号をAD変換乃至符号化することに基づく遅延時間を含み、他端末出力遅延時間(Tob)は、他のセッション端末(TMb)のオーディオ再生部(DRob)において、入力されたオーディオ信号を復号化乃至DA変換することに基づく遅延時間を含み、他のセッション端末(TMb)との接続が確立したときに当該他のセッション端末(TMb)から取得するようにしている(請求項5)。従って、この発明によれば、自端末・他端末間入出力遅延時間(Tab)の計測に必要な自端末入力遅延時間(Tia)及び他端末出力遅延時間(Tob)を正確に取得することができる。
【図面の簡単な説明】
【0017】
図1】この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムの構成を示す。
図2】この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムで計測されるオーディオ入出力遅延時間を説明するための図である。
図3】この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムの動作例を示す。
【発明を実施するための形態】
【0018】
〔システム構成の概要〕
図1は、この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムの構成を示す。この発明の一実施例による遅延測定システムは、図1(1)に示すように、セッション管理サーバSVと複数のセッション端末TM(記号“TM”はセッション端末を代表的に表わす):TMa〜TMdで構成されるネットワーク音楽セッションシステム内に構築される。セッション管理サーバSVは、メンバーとなるセッション端末TM間の接続支援、例えば、セッションの開始に先立って行われる各セッション端末TM同士の接続手続きなどを行う。各セッション端末TM間、例えば、セッション端末TMa〜TMd間で接続が成立した後は、セッション管理サーバSVを介することなく、これらセッション端末TMa〜TMd間において、遅延測定が行われ、その後、オーディオデータなどの演奏情報が送受信される。セッション管理サーバSVの動作は、よく知られているので、ここでは、より詳細な動作については説明を省略する。また、ネットワーク音楽セッションのメンバーとなる複数のセッション端末TMa〜TMdは、それぞれ、楽器演奏及び/又はカラオケが可能な電子音楽装置である。なお、セッション端末TMの数(メンバー数)は、図1(1)には4つ例示されているが、これに限らない(多くても少なくてもよい)。
【0019】
図1(2)は、ネットワーク音楽セッションシステムを構成するセッション端末のハードウエア構成例を示すブロック図である。ネットワーク音楽セッションを行うセッション端末TMは、電子的な音楽情報処理機能を有する一種のコンピュータであり、電子楽器や音楽情報処理アプリケーションがインストールされたパーソナルコンピュータ(PC)のような電子音楽装置を用いることができる。このセッション端末TMは、図示のように、中央処理装置(CPU)1、ランダムアクセスメモリ(RAM)2、読出専用メモリ(ROM)3、記憶装置4、設定操作検出回路5、演奏操作検出回路6、アナログ−ディジタル(A/D)変換回路7、表示回路8、音源・効果回路9、通信インターフェース(I/F)10などを備え、これらの要素1〜10はバス11を介して互いに接続される。
【0020】
CPU1は、RAM2及ROM3と共にデータ処理部を構成し、ネットワーク音楽セッションにおける遅延測定プログラムを含む所定の制御プログラムに従い、遅延測定処理を含む種々の情報処理を実行する。RAM2は、これらの処理に際して必要なデータを利用可能に保持するための記憶管理領域や各種データを一時記憶するためのワーク領域として用いられ、また、ROM3には、これらの処理を実行するために、ネットワーク音楽セッションにおける遅延測定プログラムを含む各種制御プログラムやプリセットされたデータ等が予め記憶される。
【0021】
記憶装置4は、HD(ハードディスク)、FD(フレキシブルディスク)、CD(コンパクトディスク)、DVD(デジタル多目的ディスク)、フラッシュメモリなどの半導体メモリなどの記憶媒体と、その駆動装置を含み、任意の制御プログラムや演奏データなどを任意の記憶媒体に記憶することができる。また、記憶媒体は、着脱可能であってもよいし、セッション端末TMに内蔵されていてもよい。
【0022】
設定操作検出回路5は、スイッチやマウス等の設定操作子(パネル操作子)12と共に設定操作部(パネル操作部)を構成し、設定操作子12の操作を検出して設定操作に対応する設定操作情報をデータ処理部(1〜3)に導入し、データ処理部は、この設定操作情報に基づき種々の設定を行う。演奏操作検出回路6は、鍵盤などの演奏操作子13と共に楽器演奏入力部を構成し、端末ユーザによる演奏操作子13の操作を検出して演奏操作に対応する演奏操作情報をデータ処理部に導入し、データ処理部は、演奏操作情報に基づく演奏データを音源・効果回路9に送る。
【0023】
A/D変換回路7は、マイクロフォン14と共に歌唱入力部を構成し、端末ユーザによる歌唱の演奏によりマイクロフォン14から入力された歌唱音声信号をディジタル信号に変換してデータ処理部に導入し、データ処理部は、このディジタル信号に基づくオーディオデータを音源・効果回路9の効果部に送る。表示回路8は、種々の設定、楽器演奏や歌唱などの演奏入力に必要な各種画面を表示するLCD等のディスプレイ15や、インジケータ/ランプ(図示せず)を備え、これらの表示・点灯内容をデータ処理部からの指令に従って制御し、設定や演奏入力などに関する表示援助を行う。
【0024】
音源・効果回路9は、演奏データからオーディオデータを生成する音源部と、DSPを含み種々のオーディオデータ処理を行う効果部とを有する。例えば、音源部は、演奏操作検出回路6からの演奏操作情報から得られる演奏データ、或いは、ROM3、記憶装置4又は通信I/F10から得られる演奏データに基づいて、オーディオデータを生成し、効果部は、マイクロフォン14から入力されたオーディオデータや、音源部で生成されたオーディオデータ、或いは、通信I/F10などから得られるオーディオデータについて、所定の効果を付与したりミキシングを行い、オーディオ出力データを生成する。サウンドシステム16は、D/A変換部やアンプ、スピーカ(ヘッドフォンを含む)等を備え、音源・効果回路9からのオーディオ出力データに基づく楽音(楽器演奏音や歌唱音声)を発生する。音源・効果回路9の効果部及びサウンドシステム16はオーディオ出力再生部(DRo)として機能する。
【0025】
通信I/F10は、IEEE1394等の汎用近距離有線I/F、Ethernet(登録商標)等の汎用ネットワークI/F、無線LanやBluetooth(登録商標)等の汎用近距離無線I/Fなどの1又は複数を含み、インターネットなどの通信ネットワークCNを介して他のセッション端末との間で演奏データやオーディオデータを授受したり、サーバコンピュータ等の外部機器から制御プログラムやデータ等を受信して記憶装置4に保存することができる。通信I/F10の所定の受信部は、他のセッション端末から送信されてくるオーディオデータをバッファリングして音源・効果回路9の効果部に出力する受信バッファBFとして機能し、通信I/F10の所定の送信部はオーディオ入力処理部(DRi)として機能し、歌唱音声信号を入力オーディオ信号とする場合は、A/D変換回路7もオーディオ入力処理部(DRi)に含まれる。
【0026】
なお、セッション端末TMとして電子楽器を使用しカラオケを行わない場合は歌唱入力部14−7は不要であり、セッション端末TMとして音楽情報処理アプリケーション付きPCを使用しカラオケのみを行う場合には楽器演奏入力部13−6は不要である。また、セッション管理サーバSVのハードウエア構成については、図2(2)とほぼ同様に構成されるが、楽器演奏入力部13−6や演奏再生部9−16は不要である。
【0027】
〔オーディオ(音声)入出力遅延時間の測定〕
図2は、この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムで計測されるオーディオ(音声)入出力遅延時間Ttを説明するための図である。2つのセッション端末TM間のオーディオ入出力遅延時間Ttは、以下に示す(a)〜(d)の情報を要因(要素)とする。ここで、参照記号“Tt”はオーディオ入出力遅延時間(音声入出力遅延時間ともいい、単に、入出力遅延時間或いは入出力遅延とも呼ばれる)を、“Ti”はオーディオ入力遅延時間(音声入力遅延時間ともいい、単に、入力遅延時間或いは入力遅延とも呼ばれる)を、“Tn”は伝送遅延時間(単に、伝送遅延とも呼ばれる)を、“Tbf”は受信バッファリング遅延時間(単に、受信バッファリング遅延とも呼ばれる)を、“To”はオーディオ出力遅延時間(音声出力遅延時間ともいい、単に、出力遅延時間或いは出力遅延とも呼ばれる)を代表的に表わす。なお、これらの参照記号等に付加される添字“ab”,“ba”等は、それぞれ、端末TMaから端末TMbへの信号送信時、端末TMbから端末TMaへの信号送信時等のものを表わし、添字“a”,“b”等は、それぞれ、端末TMa,端末TMb等におけるものを表わす。
【0028】
(a)オーディオ(音声)入力遅延時間〔録音遅延ともいう〕Ti:Tia,Tib,…
オーディオ入力遅延時間Tiは、あるセッション端末TMにおいてオーディオ信号をオーディオ(音声)入力処理部DRiに入力してから通信ネットワークCN上に伝送開始するまでの遅延時間を表わし、AD変換の遅延や符号化に伴う遅延がある場合は、それも含まれる。
(b)伝送遅延時間〔ネットワーク遅延ともいう〕Tn:Tnab,Tnba,…
伝送遅延時間Tnは、あるセッション端末TMが通信ネットワークCNを介して別のセッション端末TMに接続された場合に、両端末間を結ぶネットワーク上の純粋な伝送遅延時間を表わす。この伝送遅延時間Tnは、通信ネットワークCNの通信環境が変化する可能性があるため、定期的に監視する必要がある。
(c)受信バッファリング遅延時間Tbf:Tbfa,Tbfb,…
受信バッファリング遅延時間Tbfは、あるセッション端末TMにおいて、通信ネットワークCNから受信したオーディオ信号を受信バッファBFでバッファリングすることによる遅延時間を表わし、受信バッファBFのバッファサイズは、自動的に決定してもよいし、ユーザ操作により決定してもよい。その場合、常に同じサイズとは限らないため、定期的に監視する必要がある。
(d)オーディオ出力遅延時間〔再生遅延ともいう〕To:Toa,Tob,…
オーディオ出力遅延時間Toは、受信したオーディオ信号を受信バッファBFよりオーディオ再生処理部DRoに出力してから、実際に音が出るまでのDA変換の遅延や符号化に伴う遅延がある場合はそれも含まれる。
【0029】
通信を行っているセッション端末MTごとに、これらの情報Ti,Tn,Tbf,Toが全て揃えば、例えば、図2(1)に示すように、自分から相手までの遅延、即ち、自端末TMaでオーディオ信号が入力されてから他端末TMbで当該オーディオ信号が再生されるまでの自端末TMa・相手端末TMb間のトータルの入出力遅延Ttabは、「自端末TMaのオーディオ入力処理部DRiaにおける音声入力遅延Tia」+「自端末TMa・相手端末TMb間伝送遅延(自分から相手までの伝送遅延)Tnab」+「相手端末MTbの受信バッファBFbにおけるバッファリング遅延Tbfb」+「相手端末MTbのオーディオ再生処理部DRobにおけるバッファリング遅延Tob」で算出することにより測定することができる。また、図2(2)に示すように、相手から自分までの遅延、即ち、相手端末MTbでオーディオ信号が入力されてから自端末で当該オーディオ信号が再生されるまでの相手端末TMb・自端末TMa間のトータルの入出力遅延Ttbaは、「相手端末TMbのオーディオ入力処理部DRibにおける音声入力遅延Tib」+「相手端末TMb・自端末TMa間伝送遅延(相手から自分までの伝送遅延)Tnba」+「自端末MTaの受信バッファBFaにおけるバッファリング遅延Tbfa」+「自端末MTaのオーディオ再生処理部DRoaにおけるバッファリング遅延Toa」の算出で測定することができる。そのために以下の手順(1)〜(4)を順次行う。
【0030】
(1)事前計測
予め、セッション端末TMごとに、入力遅延Ti及び出力遅延Toを実測しておく。セッション端末TMがPCなどのオーディオデバイスの場合は、ドライバ〔例えば、Windows(登録商標)ではASIOドライバ、MacではCoreAudioのドライバなど〕に問い合わせることで遅延情報Ti,Toを取得することができる。また、符号化遅延については、使用している符号化のロジックとサンプリングレートから遅延を求めることができる。
【0031】
(2)接続確立時のデータ交信(交換)
セッション端末TM間の接続が確立したときに、お互いの出力遅延To及び入力遅延TiをネットワークCN越しに交信(交換)する。交信(交換)する方法は,任意の方法を採ることができ、例えば、次のような方法がある。
・SIP( Session Initiation Protocol)などの呼制御プロトコルのネゴシエーション時に情報を付加する。
・RTCP(RTP Control Protocol)のような制御用プロトコルに情報を付加する。
【0032】
(3)定期パケットの送受信
その後、セッション端末TM間で、定期的に、ネットワーク(伝送)遅延測定用のパケットを送出し、以下のような手法を利用してRTTを計測し、RTT/2を計算してネットワーク(伝送)遅延Tnを求める。例えば、図2のように、セッション端末Aとセッション端末Bが接続されている場合を例にすると、RTT(自端末TMa・相手端末TMb間の往復遅延)/2=Tn=Tnab(自端末Aから相手端末Bまでの伝送遅延)=Tnba(相手端末Bから自端末Aまでの伝送遅延)と近似する。
【0033】
[1]端末Aが最初に送出する定期パケットには、端末Aの時計に従って送出時の時刻t1のタイムスタンプを付ける。
[2]端末Bは、端末Aからの定期パケットを受信し、端末Bの時計に従って、このパケットを受信した時刻t2を決定し、決定した受信時刻t2を、このパケットに記録されている送出時刻t1と共に記録しておく。
[3]次いで、端末Bから定期パケットを送出し、このときに、端末Bの時計に従ってこのパケットの送出時刻t3を決定し、最後に(直前に)受信した定期パケットの送出時刻t1及び受信時刻t2と、当該パケット送出時刻t3とを付記(タイムスタンプ)する。
[4]端末Aは、端末Bからの定期パケットを受信すると、端末Aの時計に従ってこのパケットを受信した時刻t4を決定し、決定した受信時刻t4と、このパケットに付記された直前パケットの送出時刻t1及び受信時刻t2並びに当該パケットの送出時刻t3とを元にしてRTTを計測し〔式(1)〕、さらに、RTTを元にして片道のネットワーク遅延即ち伝送遅延Tnを推測する〔式(2)〕:
RTT = (t4−t1)− (t3−t2) …(1)
伝送遅延 Tn = RTT/2 …(2)
【0034】
ここで、送出する定期パケットは、どのような形式でも構わないが、例えば、前述したRTCP(RTP Control Protocol)のような制御用プロトコルに情報を付加する方法があある。また、送出する定期パケットには、同時に、そのときの送出元端末の受信バッファリング遅延Tbfを付与し、相手側に通知する。受信バッファリング遅延Tbfは、ユーザ操作又は自動調整によって受信バッファBFのバッファサイズが変動することがあり得るため、定期的に交換することで最新の値を取得することができる。
【0035】
(4)入出力遅延Ttの計算
自端末を端末A、相手端末を端末Bとすると、「自分から相手までの遅延Ttab」は、「自端末Aの入力遅延Tia」(事前計測により取得)+「伝送遅延Tn」(定期パケットにより取得)+「相手端末Bの受信バッファリング遅延Tbfb」(定期パケットの受信により取得)+「相手端末Bの出力遅延Tob」(接続確立時のデータ交換により取得)を計算することにより得られる。
【0036】
また、「相手から自分までの遅延Tba」は、「相手端末Bの入力遅延Tib」(接続確立時のデータ交換により取得)+「伝送遅延Tn」(定期パケットにより取得)+「自端末Aの受信バッファリング遅延」(バッファサイズより計算)+「自端末Aの出力遅延」(事前計測により取得)を計算することにより得られる。
【0037】
このような手順(1)〜(4)は、特に、次の点に特徴がある:
(1)各端末TMの入力遅延Tiと出力遅延Toを予め端末間で交信(交換)しておく。
(2)変動性のある伝送遅延Tnは、端末TM間で定期的に計測用パケットを出し合うことにより、最新の値を計測すると共に、端末TM間の高精度クロック同期の必要なくRTTから簡単に求めることができる(伝送方向による誤差は無視できる)。
(3)定期的に交換するパケットに、設定変更の可能性がある受信バッファサイズを含めることにより、最新の値を端末TM間で交信(交換)する。
【0038】
以上説明したように、この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムでは、自端末Aにおいて、オーディオ信号を入力してから当該オーディオ信号の伝送を開始するまでの自端末入力遅延時間Tia、オーディオ信号を伝送開始してから相手端末Bで受信されるまでの自端末A・相手端末B間伝送遅延時間Tn、相手端末Bの受信バッファ部BFbでオーディオ信号を受信してから出力するまでの相手端末受信バッファリング遅延時間Tbfb、並びに、相手端末Bのオーディオ再生部DRobでオーディオ信号を受信バッファ部BFbより入力してから出力するまでの相手端末出力遅延時間Tobを取得し、これらの遅延時間Tia,Tn,Tbfb,Tobを合計し、自端末Aでオーディオ信号が入力されてから相手端末Bのオーディオ再生部DRobより当該オーディオ信号が出力されるまでの入出力遅延時間Ttabを決定する。
【0039】
〔動作例〕
図3は、この発明の一実施例によるネットワーク音楽セッションにおける遅延測定システムの動作フロー例を示す。この例は、セッション端末Aとセッション端末Bが接続されてネットワーク音楽セッションを行う場合の動作フローを示しており、両端末A,Bは互いに対称的な同様の動作をするので、各端末A,Bの同様の動作については、ステップ記号や参照記号(添字“a”,“b”が付いたもの)を並記して説明するものとする。従って、並記されたステップ記号や参照記号は同順に対応する。
【0040】
まず、各端末A,Bは、それぞれ、事前に自端末の音声入力遅延Tia,Tib及び音声出力遅延Toa,Tobを計測しておく。両端末AB間の接続が確立し、各端末A,Bにおいて、測定開始を指示するユーザ操作があると、各端末A,Bは、それぞれ、ステップA1,B1に進み、既に計測されている自端末の音声入力遅延Tia,Tib及び音声出力遅延Toa,Tobを相手の端末B,Aに送信し合う。これにより、各端末A,Bは、それぞれ、次のステップA2,B2で、相手端末B,Aの音声入力遅延Tib,Tiaと音声出力遅延Tob,Toaの両方を受信し取得することができ、さらに、ステップA3〜A4,B3〜B4へと順次進んで行く。
【0041】
ステップA3,B3では、各端末A,Bは、両端末の接続中、定期的に、自端末の受信バッファリング遅延Tbfa,Tbfbを計算すると共に、計算した受信バッファリング遅延Tbfa,Tbfbを付けたパケットを送信し合って、相手端末B,Aの受信バッファリング遅延Tbfb,Tbfaを受信し取得する。つまり、各端末A,Bにおける受信バッファBFの受信バッファリング遅延Tbfa,Tbfbは、両端末の接続中に、夫々のシステムがネットワークCNの混雑具合によって自動調整したり、或いは、夫々のユーザが変更する可能性があるため、定期的に最新の値にアップデートする。
【0042】
ステップA4,B4では、各端末A,Bは、ネットワーク(伝送)遅延計測用のパケットpka,pkbを定期的に送出(送信)することにより、ネットワーク(伝送)遅延Tnを計測し、伝送遅延Tnを定期的に最新の値にアップデートする。例えば、端末Aは、図示のように、計測用パケットpkaを送信するときに、送信される時刻t1aをパケットpkaに記録(タイムスタンプ)し、端末Bは、パケットpkaを受信すると、受信した時刻t2bを記録し、次に、端末Bから定期パケットpkbを送信するときには、端末Aから直前に受信したパケットpkaの送信時刻t1a及び受信時刻t2bと、パケットpkbが送信される時刻t3bをパケットpkbに記録(タイムスタンプ)する。端末Aは、パケットpkbを受信すると、パケットpkbに記録された自端末送信時刻t1a、相手端末受信時刻t2b及び相手端末送信時刻t3bと、パケットpkbを受信した時刻t4aから、式(3)に従って伝送遅延Tnを計算する。なお、時刻T1a,T4aの値は、添字“a”で示すように、端末Aの時計により計時された値であり、時刻T2b,T3bの値は、添字“b”で示すように、端末Bの時計により計時された値である:
Tn = 〔(T4a−T1a)−(T3b−T2b)〕/2 …(3)
【0043】
端末Bでも、端末Aと同様に伝送遅延Tnを計算することができる。この場合、端末Aが、時刻t4aでパケットpkbを受信した後、図に破線で示すように、定期パケットpkaを送信するときに、直前に受信した端末Bからのパケットpkbの送信時刻t3b及び受信時刻t4aと、このパケットpkaが送信される時刻t5aをパケットpkaに記録(タイムスタンプ)する。端末Bは、パケットpka(破線)を受信すると、このパケットpkaに記録された自端末送出時刻t3b、相手端末受信時刻t4a及び相手端末送信時刻t5aと、パケットpka(破線)を受信した時刻t6bから、式(4)に従って伝送遅延Tnを計算する:
Tn = 〔(T6b−T3b)−(T5a−T4a)〕/2 …(4)
【0044】
なお、ステップA3〜A4,B3〜B4における定期的なパケットの送信に基づく遅延情報Tbf,Tnの取得は、両端末AB間の接続中、継続的に繰り返し行われる。上述の説明では、別々のパケットを使用して、受信バッファリング遅延Tbfの交信及び取得と、タイムスタンプの交信及び伝送遅延Tnの取得とを別々に行うようにしたが、同じパケットを使用して、受信バッファリング遅延Tbf及びタイムスタンプを交信するようにしてもよい。
【0045】
ステップA3〜A4,B3〜B4の処理の後は、ステップA5〜A6,B5〜B6へと順次進んで行く。まず、ステップA5,B5では、各端末A,Bは、それぞれ、自端末の音声入力遅延Tia,Tibと、相手端末の受信バッファリング遅延Tbfb,Tbfa及び音声出力遅延Tob,Toaと、片道の伝送遅延Tnとを合計し端末AB,BA間の入出力遅延時間Ttab,Ttbaを求める。また、ステップA6,B6では、相手端末の音声入力遅延Tib,Tiaと、自端末の受信バッファリング遅延Tbfa,Tbfb及び音声出力遅延Toa,Tobと、片道の伝送遅延Tnとを合計し端末BA,AB間の入出力遅延時間Ttba,Ttabを求める。そして、ステップA6,B6の処理の後は、ステップA3,B3に戻り、ステップA3〜A6,B3〜B6の処理を繰り返し(図示せず)、測定終了を指示するユーザ操作により元の状態にリターンする。
【0046】
なお、端末AにおけるステップA5〜A6の処理、端末BにおけるステップB5〜B6の処理については、少なくとも何れか一方の処理(例えば、端末AではステップA5のみ又はステップA6のみ、端末BではステップB5のみ又はステップB6のみ)を実行するようにしてもよい。
【符号の説明】
【0047】
TM:TMa〜TMd セッション端末、
Tt:Ttab,Ttba [オーディオ/音声]入出力遅延[時間]、
DR:DRia,DRib [オーディオ/音声]入出力処理部、
Ti:Tia,Tib [オーディオ/音声]入力遅延[時間]/録音遅延[時間]、
CN 通信ネットワーク、
Tn:Tnab,Tnba ネットワーク遅延[時間]/伝送遅延[時間]、
BF:BFa,BFb 受信バッファ、
Tbf:Tbfa,Tbfb 受信バッファリング遅延[時間]、
DRo:DRoa,DRob オーディオ再生処理部、
To:Toa,Tob [オーディオ/音声]出力遅延[時間]/再生遅延[時間]、
pka,pkb 計測用パケット。
図1
図2
図3