(57)【要約】【課題】３台以上の通話端末の間で同時に会話が可能な音声信号通信システムを提供する。【解決手段】通信機能を有する複数の端末（１０、２０、３０）と、これらを相互接続するＩＰネットワーク（４０）とを備え、前記端末の間で音声信号のＲＴＰ通信が可能な音声信号通信システム（１００）であって、前記複数の端末はそれぞれ音声合成手段（１２０）を有し、前記音声合成手段は、受信した複数の音声信号から時刻情報を抽出する情報抽出手段（１２２）と、前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定手段（１２３）と、前記求めた送信時刻を基準として、前記複数の音声信号を加算する音声信号加算手段（１２５）と、前記加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限手段（１２６）と、を備えたことを特徴とする。【選択図】図１
2010093328.tif 000002
【特許請求の範囲】
【請求項１】
通信機能を有する複数の端末と、該複数の端末を相互接続するＩＰネットワークと、を備え、前記複数の端末の間で音声信号のＲＴＰ通信が可能な音声信号通信システムであって、
前記複数の端末の受信部はそれぞれ音声合成手段を有し、
前記音声合成手段は、
受信した複数の音声信号のＲＴＰヘッダのタイムスタンプから時刻情報を抽出する情報抽出手段と、
前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定手段と、
前記求めた送信時刻を基準として、前記複数の音声信号を加算する音声信号加算手段と、
前記加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限手段と、
を備えたことを特徴とする音声信号通信システム。
【請求項２】
ＩＰネットワークを含むＲＴＰ通信システムを介して複数の送信元から受信した音声信号をリアルタイムに合成可能な音声合成装置であって、
前記受信した複数の音声信号のＲＴＰヘッダのタイムスタンプから所定の時刻情報を抽出する情報抽出手段と、
前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定手段と、
前記求めた時刻を基準として、前記複数の音声信号を加算する音声信号加算手段と、
前記加算した音声信号を出力する音声出力手段と、
を備えることを特徴とする音声合成装置。
【請求項３】
前記音声信号加算手段が加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限手段をさらに備えることを特徴とする請求項２に記載の音声合成装置。
【請求項４】
ＩＰネットワークを含むＲＴＰ通信システムを介して複数の送信元から受信した音声信号をリアルタイムに合成する音声合成処理方法であって、
前記受信した複数の音声信号のＲＴＰヘッダのタイムスタンプから時刻情報を抽出する情報抽出ステップと、
前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定ステップと、
前記求めた時刻を基準として、前記複数の音声信号を加算する音声信号加算ステップと、
前記加算した音声信号を出力する音声信号出力ステップと、
を含むことを特徴とする音声合成処理方法。
【請求項５】
前記音声信号加算ステップと前記音声信号出力ステップとの間に、
前記加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限ステップをさらに含むことを特徴とする請求項４に記載の音声合成処理方法。
【請求項６】
請求項４または５に記載の音声合成処理方法を行う電子回路。
【請求項７】
請求項４または５に記載の音声合成処理方法を処理装置に実行させるプログラム。
【請求項８】
請求項７に記載のプログラムを格納したコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３台以上の通話端末で同時に通話可能な音声信号通信システム、該端末が備える音声合成装置、該音声合成装置が行う音声合成処理方法、該方法を実行するための音声合成処理プログラム、並びに該プログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
従来の電話システムは、電話回線の交換網を使用した１対１の通話をサービスしているが、近年普及しているＩＰ電話システムは、インターネット回線を用いた多人数による同時通話を提供している（例えば、特許文献１）。
【０００３】
ただし、上記のような多人数による通話サービスでは、複数の通話端末のユーザ（通話者）がそれぞれ交代して発声する必要がある。もし、複数の通話端末のユーザが同時に発声した場合には、受信側の通話端末内で複数の音声信号が重なり合うが、これらの音声信号の間で音圧差が大きい場合には、「ブツブツ」という再生ノイズが発生してしまう。これは人間の聴覚上の特性に起因して発生する現象であり、このノイズによって通話端末のユーザは通話内容を聞き損ね、さらには不快感を覚えてしまう。
【０００４】
また、多人数で同時に通話を行うには一度に複数の音声信号を処理しなくてはならないため、処理するデータ量が増加してしまう。しかし、既存の携帯電話などは十分な処理能力を有していないため、正常な音声として再生できない恐れがある。
【０００５】
また、代替の音声信号の処理として、複数の音声信号を受信した順にシリーズで処理して出力する方法もある。しかし、この処理方法では音声信号の再生のタイミングが遅れてしまうため、滑らかな会話が困難になる。
【０００６】
一方、特許文献２は、同時に受信した複数の音声信号のパケットの振幅絶対値をサンプル単位で比較し、振幅の一番大きなサンプルのみを選択的に処理する音声ミキシング技術を開示している。
【特許文献１】特開２００８−１７２４２０
【特許文献２】特開２００５−１５１０４４
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記特許文献２で開示している技術は「小さな音は大きな音にかき消される」という理論が前提となっており、同時に受信した音声の中で一番大きな音声だけを選択的に使用して、他の音声は破棄している。この技術を用いて実際に３人以上の通話者の間で会話を行うと、常に特定の通話者の声だけが聞こえたり、あるいは、突然通話者の声が切り替わったりするため正常な会話を行うことが困難である。さらには、複数の音声の何れかに切り替わる際に、これらの音声信号の間で音圧差が大きい場合には、「ブツブツ」という再生ノイズが発生してしまうという問題が残る。
【０００８】
また、本発明の発明者等は上記問題点を解決するために鋭意研究した結果、複数の音声信号を単純にデジタル加算して合成信号を生成すれば十分な音質で当該複数の音声信号を再生できる事実を確認した。
【０００９】
しかし、音声信号は、受信元の端末の処理構造や伝播経路などに依存して、送信時点よりも遅延して受信元の端末に到達する。さらに、異なる送信元の端末から送られる音声信号はそれぞれ異なる遅延時間を有する。よって、音声信号を受信した時点を基準として単純加算したのでは、この音声信号間の遅延時間の差が影響して正常な信号再生ができない恐れがある。
【００１０】
本発明は上記の不都合を考慮して創案されたものであり、本発明の目的は、３台以上の通話端末の間で同時に会話が可能な音声信号通信システム、そのシステムの該端末が備える音声合成装置、その音声合成装置が行う音声合成処理方法、その方法を実行するための音声合成処理プログラム、並びにそのプログラムを格納した記録媒体を提供することである。
【００１１】
本発明の別の目的は、通話端末の音声処理部に過度な負担をかけずに、かつ、高い品質で、受信した複数の音声信号を合成することが可能な音声合成システム、そのシステムの該端末が備える音声合成装置、その音声合成装置が行う音声合成処理方法、その方法を実行するための音声合成処理プログラム、並びにそのプログラムを格納した記録媒体を提供することである。
【００１２】
本発明のさらに別の目的は、受信した複数の音声信号を合成する音声信号通信システムであって、該音声信号間で生じる遅延時間の差を補正することが可能な音声信号通信システム、そのシステムの該端末が備える音声合成装置、その音声合成装置が行う音声合成処理方法、その方法を実行するための音声合成処理プログラム、並びにそのプログラムを格納した記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
前記課題を解決するために創案された請求項１の発明は、通信機能を有する複数の端末と、該複数の端末を相互接続するＩＰネットワークと、を備え、前記複数の端末の間で音声信号のＲＴＰ通信が可能な音声信号通信システムであって、
前記複数の端末の受信部はそれぞれ音声合成手段を有し、
前記音声合成手段は、
（ａ）受信した複数の音声信号のＲＴＰヘッダのタイムスタンプから時刻情報を抽出する情報抽出手段と、
（ｂ）前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定手段と、
（ｃ）前記求めた送信時刻を基準として、前記複数の音声信号を加算する音声信号加算手段と、
（ｄ）前記加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限手段と、
を備えたことを特徴とする。
【００１４】
前記課題を解決するために創案された請求項２の発明は、ＩＰネットワークを含むＲＴＰ通信システムを介して複数の送信元から受信した音声信号をリアルタイムに合成可能な音声合成装置であって、
（ｅ）前記受信した複数の音声信号のＲＴＰヘッダのタイムスタンプから所定の時刻情報を抽出する情報抽出手段と、
（ｆ）前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定手段と、
（ｇ）前記求めた時刻を基準として、前記複数の音声信号を加算する音声信号加算手段と、
（ｈ）前記加算した音声信号を出力する音声出力手段と、
を備えることを特徴とする。
【００１５】
前記課題を解決するために創案された請求項３の発明は、請求項２の音声合成装置において、前記音声信号加算手段が加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限手段をさらに備えることを特徴とする。
【００１６】
前記課題を解決するために創案された請求項４の発明は、ＩＰネットワークを含むＲＴＰ通信システムを介して複数の送信元から受信した音声信号をリアルタイムに合成する音声合成処理方法であって、
（ｉ）前記受信した複数の音声信号のＲＴＰヘッダのタイムスタンプから時刻情報を抽出する情報抽出ステップと、
（ｊ）前記抽出した時刻情報を基に、前記受信した信号の送信時刻を求める送信時刻決定ステップと、
（ｋ）前記求めた時刻を基準として、前記複数の音声信号を加算する音声信号加算ステップと、
（ｌ）前記加算した音声信号を出力する音声信号出力ステップと、
を含むことを特徴とする。
【００１７】
前記課題を解決するために創案された請求項５の発明は、請求項４に記載の音声合成処理方法において、前記音声信号加算ステップと前記音声信号出力ステップとの間に、前記加算した音声信号の値と所定の制限値とを比較し、前記音声信号の値の方が大きい場合には、該音声信号の値を前記制限値まで低減させる信号制限ステップをさらに含むことを特徴とする。
【００１８】
前記課題を解決するために創案された請求項６の発明は、請求項４または５に記載の音声合成処理方法を行う電子回路である。
【００１９】
前記課題を解決するために創案された請求項７の発明は、請求項４または５に記載の音声合成処理方法を処理装置に実行させるプログラムである。
【００２０】
前記課題を解決するために創案された請求項８の発明は、請求項７に記載のプログラムを格納したコンピュータ可読媒体である。
【００２１】
請求項１の音声信号通信システム、請求項２の音声合成装置、請求項４の音声合成処理方法は、複数の音声信号を単純にデジタル加算することで合成している。そのため、演算が簡単であり、端末の処理部には過剰な負荷が生じない。よって、携帯電話などの演算能力の比較的低い機器でも好適に用いることが可能である。
【００２２】
また、音声信号の加算は、該音声信号のヘッダ部を参照してその送信時刻を把握した後、その送信時刻を基準として該音声信号を時間軸上に配列した状態で行っている。これにより、音声信号のそれぞれの遅延時間の差が補正され精度の高い音声信号の合成が可能となる。
【００２３】
請求項１の音声信号通信システム、請求項３の音声合成装置、請求項５の音声合成処理方法において、合成した音声信号の値を所定の制限値と比較し、この音声信号の値の方が大きい場合には該音声信号の値を前記制限値まで低減させている。
多数の音声データを単純加算する場合、加算したデータの値が大きくなり過ぎて端末の許容入力値を越え、結果として再生音質を損なう場合がある。そのため、合成データにリミッタを設けることでそのような不具合を防止している。
【００２４】
請求項６ないし８では、本発明の音声合成処理をそれぞれ電子回路、プログラム、コンピュータ可読媒体の形態で提供している。
【発明の効果】
【００２５】
本発明によって、受信する音声信号の遅延時間の差を補正し、音声信号の複雑な演算処理を回避し、かつ高品質の音声を再生可能な多人数通話用音声信号通信システムを提供することが可能となった。さらに、そのシステムで用いる通話端末用の音声合成装置、その音声合成装置が行う音声合成処理方法、その方法を実行するための音声合成処理プログラム、並びにそのプログラムを格納した記録媒体を提供することも可能となった。
【発明を実施するための最良の形態】
【００２６】
添付の図面を参照して、以下に本発明の一実施形態に係る音声合成システムについて説明する。
図１は、本発明の一実施形態に係る音声信号通信システム１００の概略図である。この音声信号通信システム１００は、３台の端末１０、２０、３０と、ＩＰ（Internet Protocol）ネットワーク４０とを備える。端末１０、２０、３０は電話、通話機能を有する携帯端末またはコンピュータなどの既存の通話機器で構成され、通話音声を入力部（マイク等）でアナログ信号として取り込み、Ａ／Ｄ変換してデジタルデータとしてＩＰネットワーク４０経由で他の端末に出力する送信部と、他の端末からＩＰネットワーク４０経由で入力されたデジタル信号をＤ／Ａ変換した後にアナログ信号として出力部（スピーカ、ヘッドフォン端子等）から出力する受信部とを備える。また、図１では３台の端末が示されているが、端末の数は２以上の任意の数でよい。ＩＰネットワーク４０は上記端末１０、２０、３０を通話可能に相互接続するためのものである。また、このネットワークは無線、有線またはこれらの組み合わせで構成されてよい。
【００２７】
上記の音声信号通信システム１００は、端末１０、２０、３０によって同時に通話可能な多人数通話システムである。例えば、端末１０の入力部に入力された音声は、端末２０および３０の双方の出力部からほぼ同時に出力される。逆に、端末２０および３０の双方の入力部にそれぞれ同時に入力された音声は、端末１０の出力部からほぼ同時に出力される。また、当該システムは各端末の送話権の制御は行わないサーバレスのシステムである。
なお、本実施形態において、音声信号通信システム１００はセッション確立時または終了時にはＳＩＰ(session initiation protocol)に、音声信号の通信時にはＲＴＰ(real-time transport protocol)に準拠する。
【００２８】
図２は、本実施形態に係る音声信号通信システム１００が取り扱う音声信号を構成するＲＴＰパケットのＲＴＰヘッダ部の構造を示したものである。詳細は後述するが、音声信号通信システム１００の端末１０、２０、３０の音声データ合成部１２０（図３を参照）は、このヘッダ部の順序番号、タイムスタンプ、同期送信元（ＳＳＲＣ）識別子の３つの情報を利用して音声データ処理を行っている。よって、端末１０、２０、３０の詳細な機能を説明する前に、これらのヘッダ情報について簡単に説明する。
【００２９】
［順序番号］
１つの音声データは複数のパケットに分けて送信されるが、この順序番号は音声データのうち、何番目のパケットであるかを示す情報である。初期値はランダムで、パケットが１つ送られる毎に順序番号が１つ増加する。
［タイムスタンプ］
パケットの最初のバイトのサンプリング時刻を示す情報。本実施形態では受け取ったパケットデータの送信時刻を特定することに使用する。
［同期送信元（ＳＳＲＣ）識別子］
送信元の識別子。受け取ったパケットデータの送信元端末を特定することに使用する。
【００３０】
次に、図３を参照して、端末１０、２０、３０の音声データ処理部について説明する。なお、これらの３台の端末はすべて同一の音声データ処理機能を有している。この処理部の機能は、大別すると、パケットデータ送受信部４００と、受信ユニット１４０と、送信ユニット２００と、通信セッション制御部３００とから構成される。
【００３１】
パケットデータ送受信部４００は、ＩＰネットワーク４０に接続され、端末１０、２０、３０の間のセッションの確立／終了や、音声データの送受信を行う。
【００３２】
受信ユニット１４０は、音声データ受信部１１０と、音声データ合成部１２０と、音声データ出力部１３０と、を備える。音声データ受信部１１０は、パケットデータ送受信部４００から送られるＰＣＭ形式の音声データを受け取り、所定形式の処理用デジタルデータに復調するための機能要素である。音声データ合成部１２０は、音声データ受信部１１０から受け取った複数の端末からの送信信号をそれらの送信時刻を基準として合成するための機能要素であり、主にプロセッサなどの演算器で構成される。音声データ出力部１３０は、音声データ合成部１２０が合成した信号を受け取り、それを外部に出力するための機能要素であり、Ｄ／Ａコンバータ、アナログ回路、スピーカまたはヘッドフォン端子などで構成される。
【００３３】
送信ユニット２００は、音声データ入力部２１０と、音声データ送信部２２０と、を備える。音声データ入力部２１０は、端末ユーザが発した音声を基にデジタルデータ信号を生成する機能であり、マイクロフォン、アナログ回路、Ａ／Ｄコンバータなどで構成される。音声データ送信部２２０は、音声データ入力部２１０から受け取ったデータをＰＣＭコーデックで圧縮符号(ＰＣＭ信号）に変換し、ＲＴＰペイロードを付加して、パケットデータ送受信部４００に送る機能要素であり、主にプロセッサなどの演算器で構成される。
【００３４】
通信セッション制御部３００は、パケットデータ送受信部４００のセッション確立／終了やデータのやり取りのタイミングを制御する機能要素であり、主にプロセッサなどの演算器で構成される。
【００３５】
以上の機能要素のうち、受信ユニット１４０の音声データ合成部１２０以外のものは当該技術において既知の機能要素のため、これらの機能の詳細な説明は省略する。よって、音声データ合成部１２０の機能のみ以下に詳細に説明する。
【００３６】
図４を参照して音声データ合成部１２０の詳細な機能について説明する。音声データ合成部１２０は、データ受領部１２１と、ヘッダ情報抽出部１２２と、時間差決定部１２３と、時計部１２４と、データ加算および制限部１２５と、データ出力部１２６と、出力制御信号生成部１２７と、ヘッダ情報管理部１２８と、音声データバッファ部１２９と、を備える。
【００３７】
［データ受領部１２１］
データ受領部１２１は、音声データ受信部１１０（図３参照）から音声データをパケット単位で受け取ると、そのパケットをデータ加算および制限部１２５に転送する。それと同時に、時計部１２４にアクセスして現在時刻を所得し、その時刻をそのパケットの受信時刻Ｒ１として認識する。さらに、受け取ったパケットがその送信元端末からのセッション確立後の最初のパケットの場合には、そのパケットのＲＴＰベッダ部の情報をヘッダ情報抽出部１２２に渡す。
【００３８】
データ受領部１２１は、以上の処理機能に加え、処理を行ったパケットの出力のタイミングも制御する。具体的には、セッション確立後の最初のパケットを受信すると、出力制御信号生成部１２７に出力制御信号の生成を指示する。さらに、定期的に時計部１２４にアクセスして現在時刻を所得し、最新のパケットを受信してからの経過期間を求め、予め設定された期間Ｔｐが過ぎても次のパケットが入力されない場合には通信が終了したとみなして出力制御信号生成部１２７に出力制御信号の停止を指示する。なお、この期間Ｔｐは特定の値に限定されるものではなく、端末の設定者によって要求仕様に基づいて適宜決定されることが好ましい。また、ユーザが最適な値を決定できるよう可変値としてもよい。
【００３９】
［ヘッダ情報抽出部１２２］
ヘッダ情報抽出部１２２は、データ受領部１２１から受け取ったＲＴＰヘッダ部の情報から所定の情報（順序番号、タイムスタンプ、同期送信元（ＳＳＲＣ）識別子）を抽出し、その情報を時間差決定部１２３に送る。
【００４０】
［時間差決定部１２３］
時間差決定部１２３は、ヘッダ情報抽出部１２２から送られたＲＴＰヘッダ部の情報（順序番号、タイムスタンプ、同期送信元（ＳＳＲＣ）識別子）を参照し、まず、同期送信元（ＳＳＲＣ）識別子を基にデータ受領部１２１が受け取ったパケットの送信元を特定し、これを送信元情報とする。次いで、タイムスタンプを基に当該パケットの送信時刻Ｔ１を求め、さらに、その送信時刻Ｔ１と先に認識した受信時刻Ｒ１との時間差Ｔｄを求める。ここで、時間差Ｔｄ＝受信時刻Ｒ１−送信時刻Ｔ１となる。この時間差Ｔｄは、送信側の端末の信号処理に伴う時間、伝送路の伝搬遅延、ルータにおけるパケットのキューイング遅延などによって決定される。この値は送信元端末および伝送路が同一の場合にはほぼ一定の値となるため、本実施形態ではセッション確立後における送信元端末の最初のパケットについてのみ求めることにする。
【００４１】
次に、時間差決定部１２３は、ヘッダ情報抽出部１２２から送られたＲＴＰヘッダ部のパケットの順序番号、および、上記の方法で求めた送信元、時間差Ｔｄに関する情報をヘッダ情報管理部１２８に格納する。
【００４２】
［時計部１２４］
時計部１２４は、データ受領部１２１に現在時刻を提供する機能要素であり、この現在時刻は受信時刻Ｒ１や経過期間Ｔｐを特定するために用いられる。
【００４３】
［データ加算および制限部１２５］
データ加算および制限部１２５は、データ受信部１２１からパケットを受け取ると、まず、ヘッダ情報管理部１２８にアクセスしてそのパケットの時間差Ｔｄを取得する。そして、先に求めた受信時刻Ｒ１とこの時間差Ｔｄから送信時刻Ｔ１を求める。そして、受け取ったパケットのペイロード（音声データ）を音声データバッファ部１２９内の送信時間Ｔ１に対応する領域に格納するが、その前に該当する格納領域に既にデータが格納されていないかどうかを確認する。既にデータが格納されている場合には、そのデータと格納すべきデータとを加算してからその領域に格納する。ここで使用される加算方式は単純加算でよい。
【００４４】
図５を参照して、データ加算および制限部１２５が行うデータの加算方法について補足説明をする。
図の左側のデータＡおよびデータＢは、それぞれ異なる送信元の端末からデータ加算および制限部１２５に入力された音声データの波形である。データＡの送信時刻Ｔ１はｔＡであり、データＢの送信時刻Ｔ１’はｔＢである。ここで、ｔＡとｔＢの差は、これらの波形のサンプリング周期の２倍とする。この場合、双方のデータを、それぞれの送信時刻Ｔ１とＴ１’を基準として時間軸上に揃えた状態、すなわち、データＢの波形をデータＡの波形に対して２サンプル分だけ右にずらした状態で配列し、同一の時刻のサンプル同士を加算する。こうして得られた合成データの波形が右側の波形である。
このように、データ加算および制限部１２５は時間軸の概念を有し、入力したデータをその送信時刻Ｔ１を参照して時間軸上に配列させた状態で加算を行う。
【００４５】
また、もし同時に多数の端末からパケットが同時に受信された場合、これらのパケットのペイロードがすべて加算されるため、最終的に得られるデータの値が相当に大きくなってしまうことに留意されたい。その状態でこのデータを後段の処理部に出力すると、その許容入力を超えて歪んでしまい、再生される音の品質を著しく損なう、あるいは後段の処理部にダメージを与える恐れがある。そのため、上記の不具合を防止するために、データ加算および制限部１２５は取り扱うデータが基準値よりも大きな値となる場合にはこの値を上限値に変更する（以下、この処理をデータ制限処理と称する）。
ここで、上限値Ｔｈはリミッタの役割を果たし、この上限値Ｔｈは例えばＰＣＭデータの有効数値範囲の上限に設定してよい。その場合、ペイロードが８ビットのときは上限値Ｔｈが２５５、１６ビットのときは３２７６７に設定される。
【００４６】
［データ出力部１２６］
データ出力部１２６は、出力制御信号生成部１２７より出力制御信号を受け取ると、それに応じて音声データバッファ部１２９に格納されたデータを読み出し、後段の音声データ出力部１３０（図３参照）に出力する。
【００４７】
［出力制御信号生成部１２７］
データ受領部１２１からのコマンドに応じて出力制御信号を生成して、データ出力部１２６に出力する機能要素である。音声データの出力を開始する場合には出力制御信号を生成し、音声データの出力を停止する場合には出力制御信号を停止する。
【００４８】
［ヘッダ情報管理部１２８］
受信したパケットに関する情報（送信元、順序番号、時間差Ｔｄ）を記憶および管理するための機能要素であり、レジスタ、メモリ、ハードディスクなどで構成される。
【００４９】
［音声データバッファ部１２９］
データ加算および制限部１２５が処理するデータを一時的に格納するための機能要素であり、レジスタ、メモリ、ハードディスクなどで構成される。このバッファ部は専用に用意するか、あるいはデータの揺らぎの補正を行うためのジッタバッファを流用してよい。バッファ部内部の記憶領域は時間軸の概念を備えており、格納したデータはその送信時刻Ｔ１に関連付けられて管理される。
【００５０】
以上の機能を有する音声データ合成部１２０において、２つの音声データが入力したときに出力される音声データの波形の例を図６に示す。この図において、波形１および波形２は、２つの異なる送信元の端末のマイク等に入力される波形であり、波形１は人間が「アー」と一定の周期で繰り返し発声したときの生じる波形であり、波形２は発信機が生成する４９５Ｈｚの周波数の音の正弦波波形である。これらの波形１および波形２が合成されて受信元の端末のスピーカ等から出力される波形が波形３である。この波形に示すように、全周期に渡って波形１および波形２が正しく合成されており、「ブツブツ」ノイズを発生するような音のレベルが急激に変化する箇所も存在しない。
【００５１】
以上、本発明の一実施形態に係る音声信号通信システム１００の機能の説明をした。次に、このシステムにおいて端末１０、２０、３０が相互に通信を行う時に、各端末内の音声データ合成部１２０が行うデータ合成処理の手順について説明する。
当該データ合成処理は、データ加算処理とデータ出力処理の２つの処理に大別される。したがって、これらの処理を順に説明する。なお、図７はデータ加算処理のフローを示し、図８はデータ出力処理のフローを示す。
【００５２】
［データ加算処理］
図７のフロー図を参照して説明する。
まず、図１に示す端末１０、２０、３０がＩＰネットワーク４０に対してセッションを行う。本実施形態の音声信号通信システム１００は、図示のように通信制御を行うサーバが存在しないため、各端末は、他の端末に加えて自身の端末に対してもセッションを行う。セッションが確立されることにより、３つの端末は相互に、かつリアルタイムに音声データをやり取りすることが可能となる。
【００５３】
セッション確立後、端末１０、２０、３０の何れかの端末（受信端末）は、他の２台の端末（送信端末）からＩＰネットワーク４０を介して音声データのパケットを受信する。このパケットは、送信端末のパケットデータ送受信部４００および音声データ受信部１１０を通り、音声データ合成部１２０に入力する。そして、音声データ合成部１２０内のデータ受領部１２１が入力したパケットを受け取る（ステップＳ１０）。
【００５４】
データ受領部１２１は、受け取ったパケットのヘッダ部の同期送信元（ＳＳＲＣ）識別子と順序番号とを参照し、このパケットがその送信元端末からのセッション開始後の最初のパケットかどうかを確認する（ステップＳ１１）。最初のパケットの場合（ステップＳ１１で「ＹＥＳ」）にはステップＳ１２の手順に進み、その他の場合（ステップＳ１１で「ＮＯ」）はステップＳ１６の手順に進む。
【００５５】
受け取ったパケットが最初のパケットの場合（ステップＳ１１で「ＹＥＳ」）、データ受領部１２１は時計部１２４にアクセスし、現在時刻を取得し、これを受信時刻Ｒ１とする（ステップＳ１２）。さらに、パケットのヘッダ部の情報をヘッダ情報抽出部１２２に渡す。ヘッダ情報抽出部１２２は受け取ったヘッダ部の情報から順序番号、タイムスタンプ、同期送信元（ＳＳＲＣ）識別子の情報を抽出する（ステップＳ１３）。そして、タイムスタンプより求めたデータパケットの送信時刻Ｔ１と先に求めた受信時刻Ｒ１とを基に時間差Ｔｄ（Ｒ１−Ｔ１）を求める（ステップＳ１４）。次いで、送信元、パケットの順序、時間差Ｔｄに関する情報をヘッダ情報管理部１２８に格納する（ステップＳ１５）。
なお、ステップＳ１２〜Ｓ１５の処理は、ステップＳ１１で「ＹＥＳ」、すなわち、セッション開始後の送信元の端末からの最初のパケットについてのみに行うことに留意されたい。
【００５６】
次に、ステップＳ１６の処理において、データ加算および制限部１２５はデータ受領部１２１からパケットを受け取り、それからヘッダ情報管理部１２８にアクセスし、受け取ったパケットの時間差情報Ｔｄを取得する。次いで、予め求めた受信時刻Ｒ１と取得した時間差情報Ｔｄから受け取ったパケットの送信時刻Ｔ１を求める（ステップＳ１６）。それから音声データバッファ部１２９にアクセスし、送信時刻Ｔ１に対応する領域に既にデータが格納されているかどうかを確認する（ステップＳ１７）。
【００５７】
既にデータが格納されている場合（ステップＳ１７で「ＹＥＳ」）、格納されているデータを読み出し、このデータと処理中のデータとをそれらの送信時刻Ｔ１を基準として時間軸上に配列した状態で加算し（ステップＳ１８）、ステップＳ１９の手順へ進む。
一方、データが存在しない場合には（ステップＳ１７で「ＮＯ」）、ステップＳ１９の手順へ進む。
【００５８】
次に以上の手順で得られたデータの値と所定の制限値Ｔｈとを比較する（ステップＳ１９）。制限値Ｔｈを超える値が存在する場合には（ステップＳ１９で「ＹＥＳ」）、その値を制限値Ｔｈに変更する（ステップＳ２０）。存在しない場合には（ステップＳ１９で「ＮＯ」）、特にデータの変更は行わない。
その上で、該当のデータを、音声データバッファ部１２９内の該データの送信時刻Ｔ１に対応する領域に格納する(ステップＳ２１)。
【００５９】
［データ出力処理］
図８のフロー図を参照して説明する。なお、このデータ出力処理は上述のデータ加算処理と並列して行われることに留意されたい。
まず、セッションが開始すると、受信端末のデータ受領部１２１は出力制御信号生成部１２７に出力制御信号を生成させ、データ出力部１２６に出力動作を開始させる（ステップＳ５０）。データ出力部１２６は音声データバッファ部１２９にアクセスして、上述のデータ加算処理においてデータ加算および制限部１２５が格納したデータを取り出し（ステップＳ５１）、音声データ出力部１３０（図３参照）に出力する（ステップＳ５２）。それと同時にデータ受領部１２１は、定期的に時計部１２４から現在時刻を入手して最新のパケットを受信してからの経過時間をモニタする（ステップＳ５３）。経過期間が所定の期間Ｔｐの範囲内の場合（ステップＳ５４で「ＮＯ」）、以降、上記ステップＳ５１〜Ｓ５４の手順を繰り返す。
【００６０】
一方、経過期間が所定の期間Ｔｐを超えた場合（ステップＳ５４で「ＹＥＳ」）、受信端末はデータの受信が終了したとみなす。具体的には、データ受領部１２１が出力制御信号生成部１２７に出力制御信号の生成を終了させる（ステップＳ５５）。データ出力部１２６は出力制御信号生成部１２７から出力制御信号を受け取らなくなると、データの出力動作を停止する（ステップＳ５６）。以降、受信端末はセッション開始の初期状態に戻って音声データのパケットの受信を待つ。
以上が、本発明の一実施形態に係る音声信号通信システム１００における音声データの合成処理の一連の手順である。
【００６１】
なお、本発明の一実施形態に係る音声信号通信システム１００が有する機能は、特定のハードウェア資源またはソフトウェア処理に限定されないことに留意されたい。すなわち、本発明の一実施形態に係る端末１０、２０、３０の音声データ合成部１２０はその機能を実現できる限り、如何なるハードウェア（電子回路等）、ソフトウェア（プログラム）、あるいはそれらの組み合わせ等を用いてよい。
【００６２】
上述した本発明の一実施形態に係る音声信号合成方法を、プログラムとして実装する場合には、このプログラムを外部のサーバ等から該方法を実行する情報処理装置にダウンロードするか、あるいはコンピュータ可読媒体の形態で分配されることが好ましい。コンピュータ可読媒体の例としては、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、フレキシブルディスク、光磁気ディスク、ハードディスクなどが挙げられる。
【００６３】
以上、本発明を図面に示した実施形態を用いて説明したが、これらは例示的なものに過ぎず、本技術分野の当業者ならば、本発明の範囲および趣旨から逸脱しない範囲で多様な変更および変形が可能なことは理解できるであろう。したがって、本発明の範囲は、説明された実施形態によって定められず、特許請求の範囲に記載された技術的趣旨により定められねばならない。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態に係る音声信号通信システム１００の構成を示す図である。
【図２】音声信号通信システム１００の通信が準拠するＲＴＰデータのヘッダ部の構成を示す図である。
【図３】音声信号通信システム１００の端末１０、２０、３０の音声データ処理部の機能を示すブロック図である。
【図４】図３の音声データ合成部１２０の機能を示すブロック図である。
【図５】音声データ合成部１２０のデータの加算方法を説明するための図である。
【図６】端末１０、２０、３０の入出力波形の例である。
【図７】音声データ合成部１２０が行う音声合成処理のデータ加算処理を示すフロー図である。
【図８】音声データ合成部１２０が行う音声合成処理のデータ出力処理を示すフロー図である。
【符号の説明】
【００６５】
１０    端末
２０    端末
３０    端末
４０    ＩＰネットワーク
１００  音声信号通信システム
１２０  音声データ合成部
１２１  データ受領部
１２２  ヘッダ情報抽出部
１２３  時間差決定部
１２４  時計部
１２５  データ加算および制限部
１２６  データ出力部
１２７  出力制御信号生成部
１２８  ヘッダ情報管理部
１２９  音声データバッファ部
【図１】
2010093328.tif 000003
【図２】
2010093328.tif 000004
【図３】
2010093328.tif 000005
【図４】
2010093328.tif 000006
【図５】
2010093328.tif 000007
【図６】
2010093328.tif 000008
【図７】
2010093328.tif 000009
【図８】
2010093328.tif 000010