(57)【要約】【課題】  インターネットを介したＢＧＭ及び効果音機能を有するような高音質な音声コミュニケーションの際に、リアルタイム音声の情報量を減らした通話装置、通話方法及び通話システムを提供する。【解決手段】  ＶｏＩＰシステムでは、ＶｏＩＰクライアント間で、ユーザの音声データ又はこれにＢＧＭ等を合成した実時間音響データをＲＴＰパケットで伝送する実時間伝送モードと、ＢＧＭのみ、ＲＴＰパケットにて実時間音響データよりも先送りする一括転送モードとを有している。また、ＲＴＣＰパケットにより、ＲＴＰパケットの受信バッファサイズを相手に通知することができる。そして、ＶｏＩＰクライアントは、集音したユーザの音声レベルをチェックし、音声がなくユーザ発話していないと判断した場合、一括転送モードとし、音声に合成して送るはずのＢＧＭだけを相手の受信バッファサイズ分だけ先送りする。【選択図】  図１０
2005045740.tif 000002
【特許請求の範囲】
【請求項１】
インターネットを介して少なくとも音声データの送受信を行う通話装置において、
集音した音声を電気信号に変換する音声変換手段と、
上記電気信号に変換された音声データに付加データを合成する合成手段と、
上記音声データ及び／又は該音声データに合成する付加データを格納したデータパケットを生成するデータパケット生成手段と、
少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、
上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信手段と、
上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、
上記データパケット及び制御パケットの送受信を制御する制御手段とを有し、
上記制御手段は、上記音声データ又は該音声データに付加データを合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御する
ことを特徴とする通話装置。
【請求項２】
上記制御手段は、上記集音した音声が所定の音量レベル未満である場合に、上記一括伝送を行う第２のモードに切替制御する
ことを特徴とする請求項１記載の通話装置。
【請求項３】
上記制御手段は、上記他の通話装置と上記第１のモードで実時間伝送を行う前に上記第２のモードで一括伝送を行うよう制御する
ことを特徴とする請求項１記載の通話装置。
【請求項４】
上記制御手段は、上記第２のモードで上記第２のデータパケットを一括伝送した後、所定時間は上記第１のモードで上記音声データのみを格納した上記第１のデータパケットを送信するよう制御する
ことを特徴とする請求項１記載の通話装置。
【請求項５】
上記制御手段は、上記第２のモードで上記第２のデータパケットを一括伝送した後、上記集音した音声が所定の音量レベル未満である場合、所定時間はデータパケットの送信を停止するよう制御する
ことを特徴とする請求項１記載の通話装置。
【請求項６】
上記付加データは、バックグラウンドミュージック及び／又は効果音である
ことを特徴とする請求項１記載の通話装置。
【請求項７】
上記受信手段は、受信したデータパケットをバッファリングする受信バッファを有し、
上記制御手段は、上記受信バッファの容量を示すバッファ情報を上記制御パケットに格納させ、上記受信手段が受信した上記他の通話装置からの制御パケットに格納された当該他の通話装置のバッファ情報に基づき、上記第２のデータパケットの伝送レートを制御する
ことを特徴とする請求項１記載の通話装置。
【請求項８】
上記制御手段は、上記受信バッファにバッファリングされているデータ量を示すバッファ占有情報を上記制御パケットに格納させ、上記受信手段が上記他の通話装置から受信した制御パケットに格納された当該他の通話装置のバッファ情報及びバッファ占有情報に基づき、上記第２のデータパケットの伝送レートを制御する
ことを特徴とする請求項７記載の通話装置。
【請求項９】
インターネットを介して少なくとも音声データの送受信を行う通話方法において、
集音した音声を電気信号に変換する音声変換工程と、
上記電気信号に変換された音声データに付加データを合成する合成工程と、
上記音声データ及び／又は該音声データに合成する付加データを格納したデータパケットを生成するデータパケット生成工程と、
少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成工程と、
上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信工程と、
上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信工程と、
上記データパケット及び制御パケットの送受信を制御する制御工程とを有し、
上記制御工程では、上記音声データ又は該音声データに付加データを合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御する
ことを特徴とする通話方法。
【請求項１０】
上記制御工程では、上記集音した音声が所定の音量レベル未満である場合に、上記一括伝送を行う第２のモードに切替制御する
ことを特徴とする請求項９記載の通話方法。
【請求項１１】
上記制御工程では、上記他の通話装置と上記第１のモードで実時間伝送を行う前に上記第２のモードで一括伝送を行うよう制御する
ことを特徴とする請求項９記載の通話方法。
【請求項１２】
上記制御工程では、上記第２のモードで上記第２のデータパケットを一括伝送した後、所定時間は上記第１のモードにより上記音声データのみを格納した上記第１のデータパケットを送信するよう制御する
ことを特徴とする請求項９記載の通話方法。
【請求項１３】
上記制御工程では、上記第２のモードで上記第２のデータパケットを一括伝送した後、上記集音した音声が所定の音量レベル未満である場合、所定時間はデータパケットの送信を停止するよう制御する
ことを特徴とする請求項９記載の通話方法。
【請求項１４】
上記付加データは、バックグラウンドミュージック及び／又は効果音である
ことを特徴とする請求項９記載の通話方法。
【請求項１５】
上記制御工程では、受信したデータパケットをバッファリングする受信バッファの容量を示すバッファ情報を上記制御パケットに格納させ、上記受信工程にて受信した上記他の通話装置からの制御パケットに格納された当該他の通話装置のバッファ情報に基づき、上記第２のデータパケットの伝送レートを制御する
ことを特徴とする請求項９記載の通話方法。
【請求項１６】
上記制御工程では、上記受信バッファにバッファリングされているデータ量を示すバッファ占有情報を上記制御パケットに格納させ、上記受信手段が上記他の通話装置から受信した制御パケットに格納された当該他の通話装置のバッファ情報及びバッファ占有情報に基づき、上記第２のデータパケットの伝送レートを制御する
ことを特徴とする請求項１５記載の通話方法。
【請求項１７】
インターネットを介して少なくとも音声データの送受信を行う通話システムにおいて、
各上記通話装置は、
集音した音声を電気信号に変換する音声変換手段と、
上記電気信号に変換された音声データに付加データを合成する合成手段と、
上記音声データ及び／又は該音声データに合成する付加データを格納したデータパケットを生成するデータパケット生成手段と、
少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、
上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信手段と、
上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、
上記データパケット及び制御パケットの送受信を制御する制御手段とを有し、
少なくとも２つの通話装置の一方の上記受信手段は、受信したデータパケットをバッファリングする受信バッファを有し、上記制御手段は、該受信バッファの容量を示すバッファ情報を上記制御パケットに格納させ、
他方の通話装置の上記制御手段は、上記音声データ又は該音声データに付加データを合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御するものであって、上記受信手段が受信した上記一方の通話装置からの制御パケットに格納された当該一方の通話装置のバッファ情報に基づき、上記第２のデータパケットの伝送レートを制御する
ことを特徴とする通話システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＶｏＩＰ（Voice over Internet Protocol）を使用したいわゆるインターネット電話等を行う通話装置、通話方法及び通話システムに関し、特に高音質の音声及び音響からなる実時間音響データをやり取りするために好適な通話装置、通話方法及び通話システムに関する。
【背景技術】
【０００２】
音声をＩＰパケットにしてカプセル化することでＩＰ網を介した音声通話を可能とする技術として、ＶｏＩＰがある。ＶｏＩＰによる通話を行うためには、通話したい相手の情報の取得、通話したい相手の呼び出し、応答といった一連の情報交換をする必要があり、これらの目的のために、ＳＩＰ（Session Initiation Protocol）等の呼制御プロトコルが使用される。
【０００３】
このようなＶｏＩＰを含め、インターネット等の通信回線網を利用し、実時間動画像データや音声データ等の実時間音響データ等の実時間データを送信するシステムが増えている。インターネット等の公衆回線網においては、複数の利用者がネットワークの帯域を供給しているため、輻輳制御手法、すなわち輻輳の回避及び輻輳発生時の鎮静化手法は大きな課題となっている。従って、実時間性を重要とする通信形態が増えるという変化に伴い、実時間データの通信における輻輳制御手法が重要になってきている（下記特許文献１参照）。
【０００４】
例えば、下記特許文献２においては、音声区間で重要な意味合いをもつ有声音に比較的高いビット量を与え、以下無声音、背景雑音の順にビット数を減らす音声符号化装置を備えるサーバが、クライアント端末に対して送信する音声の総伝送ビット量を抑制する技術が開示されている。
【０００５】
ところで、従来、ＶｏＩＰを使用した実時間音声コミュニケーションにおいては、人の音声の主たる情報が含まれているのは、４〜５KHz付近の周波数帯域であったため、チャンネル数は１、標本化周波数を８KHz〜１６KHzに設定するのが常道であったが、このような狭い帯域では背景雑音や雰囲気等を伝達するのは困難である。
【０００６】
チャンネル数を２以上に設定し、標本化周波数をＣＤＤＡ（Compact Disk Digital Audio）並の４４．１KHzまで引き上げると背景雑音や雰囲気等も伝送でき、また加えて、音声コミュニケーションに、既存の楽曲コンテンツを流用した高音質なＢＧＭ機能等を付加することなども可能になる。
【０００７】
ここで、チャンネル数を２以上に設定し、標本化周波数をＣＤＤＡ並の４４．１KHzまで引き上げて、無圧縮の１６bits LinearＰＣＭ（Phase Code Modulation：パルス符号変調）のデータを伝送する場合、ネットワーク上の伝送ビットレートは１４１１．２Kbps以上になってしまい、実インターネット環境で利用するのは難しい。したがって、現状では高能率符号化方式を用いる必要があるが、近時のＣＰＵの性能の向上により、ＢＧＭ機能等を付加したような高音質な実時間音響データをやり取りする実時間音声コミュニケーションにおいても高能率符号化方式を採用することが可能になってきている。
【０００８】
なお、高能率符号化方式にはいくつかの方式があるが、先ず周波数分解を行い、信号を複数のサブバンドに分割したうえ、それぞれのブロックを、聴覚心理特性を利用して符号化精度を適応的に変化させて、必要最低限のビット数で所定の周波数成分をエントロピー符号するものが殆どである。この高能率符号化により、符号化する周波数成分に応じてビットレートは可変になる。
【０００９】
【特許文献１】特開２００１−３２００４４０号公報
【特許文献２】特開２００１−５４７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述の特許文献２に記載の方法により伝送レートを抑制しようとしても、高音質な実時間音声コミュニケーションにおいては、会話に加えて高音質なＢＧＭ付加機能があるため、人が音声を発している・いないにかかわらず、一定量のデータ送受信を行い、ネットワーク帯域を占有してしまうという問題点がある。
【００１１】
本発明は、このような従来の実情に鑑みて提案されたものであり、インターネットを介したＢＧＭ及び効果音機能を有するような高音質な音声コミュニケーションの際に、リアルタイム音声の情報量を減らした通話装置、通話方法及び通話システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した目的を達成するために、本発明に係る通話装置は、ンターネットを介して少なくとも音声データの送受信を行う通話装置において、集音した音声を電気信号に変換する音声変換手段と、上記電気信号に変換された音声データに付加データを合成する合成手段と、上記音声データ及び／又は該音声データに合成する付加データを格納したデータパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信手段と、上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記データパケット及び制御パケットの送受信を制御する制御手段とを有し、上記制御手段は、上記音声データ又は該音声データに付加データを合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御することを特徴とする。
【００１３】
本発明においては、音声データのみを格納した第１のデータパケットを実時間伝送（リアルタイム転送）する第１のモードと、音声に合成する、例えばバックグラウンドミュージック及び／又は効果音等の付加データのみを格納した第２のデータパケットを一括伝送（バッチ転送）する第２のモードとを有し、これを切替え制御することで、必要に応じて付加データだけを先送りすることができる。
【００１４】
また、上記制御手段は、上記集音した音声が所定の音量レベル未満である場合に、上記一括伝送を行う第２のモードに切替制御することができ、ユーザが発話していないタイミングを利用して上記付加データの先送りを実行することができる。
【００１５】
更に、上記制御手段は、上記他の通話装置と上記第１のモードで実時間伝送を行う前に上記第２のモードで一括伝送を行うよう制御することができ、ユーザが通話を開始する直前のタイミングを利用して付加データを先送りすることができる。
【００１６】
更にまた、上記制御手段は、上記第２のモードで上記第２のデータパケットを一括伝送した後、所定時間は上記第１のモードで上記音声データのみを格納した上記第１のデータパケットを送信するよう制御することができ、所定期間、即ち上記付加データを先送りした期間は、音声データのみとし、音声データ及び付加データからなるデータパケットに比して伝送レートを小さくすることができる。
【００１７】
また、上記制御手段は、上記第２のモードで上記第２のデータパケットを一括伝送した後、上記集音した音声が所定の音量レベル未満である場合、所定時間はデータパケットの送信を停止するよう制御することができ、付加データを先送りしておくことで、ユーザが発話していない場合はデータの伝送をする必要がなくなる。
【００１８】
更に、上記受信手段は、受信したデータパケットをバッファリングする受信バッファを有し、上記制御手段は、上記受信バッファの容量を示すバッファ情報や上記受信バッファにバッファリングされているデータ量を示すバッファ占有情報を上記制御パケットに格納させ、上記受信手段が受信した上記他の通話装置からの制御パケットに格納された当該他の通話装置のバッファ情報や上記バッファ占有情報に基づき、上記第２のデータパケットの伝送レートを制御することができ、他の通話装置のバッファサイズ及びその占有率に応じて先送りする付加データ量を可変とすることができる。
【００１９】
本発明に係る通話方法は、インターネットを介して少なくとも音声データの送受信を行う通話方法において、集音した音声を電気信号に変換する音声変換工程と、上記電気信号に変換された音声データに付加データを合成する合成工程と、上記音声データ及び／又は該音声データに合成する付加データを格納したデータパケットを生成するデータパケット生成工程と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成工程と、上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信工程と、上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信工程と、上記データパケット及び制御パケットの送受信を制御する制御工程とを有し、上記制御工程では、上記音声データ又は該音声データに付加データを合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御することを特徴とする。
【００２０】
本発明に係る通話システムは、インターネットを介して少なくとも音声データの送受信を行う通話システムにおいて、各上記通話装置は、集音した音声を電気信号に変換する音声変換手段と、上記電気信号に変換された音声データに付加データを合成する合成手段と、上記音声データ及び／又は該音声データに合成する付加データを格納したデータパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信手段と、上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記データパケット及び制御パケットの送受信を制御する制御手段とを有し、少なくとも２つの通話装置の一方の上記受信手段は、受信したデータパケットをバッファリングする受信バッファを有し、上記制御手段は、該受信バッファの容量を示すバッファ情報を上記制御パケットに格納させ、他方の通話装置の上記制御手段は、上記音声データ又は該音声データに付加データを合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御するものであって、上記受信手段が受信した上記一方の通話装置からの制御パケットに格納された当該一方の通話装置のバッファ情報に基づき、上記第２のデータパケットの伝送レートを制御することを特徴とする。
【００２１】
本発明においては、一方の通話装置が受信バッファの大きさを制御パケットにより他方の通話装置に通知し、他方の通話装置は、上記一方の通話装置の受信バッファの大きさに基づき、第２のモードの際には付加データのみを一括伝送する伝送レートを制御することができる。
【発明の効果】
【００２２】
本発明に係る通話装置によれば、インターネットを介して少なくとも音声データの送受信を行う通話装置において、集音した音声を電気信号に変換する音声変換手段と、上記電気信号に変換された音声データに付加データを合成する合成手段と、データパケットを生成するデータパケット生成手段と、少なくとも上記データパケットの送受信を管理する管理情報を格納した制御パケットを生成する制御パケット生成手段と、上記データパケット及び上記制御パケットを上記インターネットを介して１以上の他の通話装置に送信する送信手段と、上記１以上の他の通話装置からのデータパケット及び制御パケットを受信する受信手段と、上記データパケット及び制御パケットの送受信を制御する制御手段とを有し、上記制御手段は、上記音声データ又は該音声データに付加を合成した合成データを格納した第１のデータパケットを実時間伝送する第１のモードと、上記付加データのみを格納した第２のデータパケットを一括伝送する第２のモードとを切替制御するので、音声に合成するバックグラウンドミュージック及び／又は効果音等の付加データのみからなる第２のデータパケットを所望のタイミングで、音声よりも先に一括伝送しておけば、先送りした付加データが受信側で再生されている間は、音声データのみを実時間伝送することができるため、高音質で情報量が大きい実時間コミュニケーションを行う際に、常時占有するネットワーク帯域を狭めることができる。
【００２３】
本発明の通話システムによれば、一方の通話装置が他方の通話装置へ受信バッファの容量を通知し、これを受けた他方の通話装置は、受信側となる一方の通話装置の受信バッファの容量に合わせて、一括伝送により先送りする付加データの伝送レートを決定することができ、音声及び付加データからなる高音質で情報量が大きい実時間音響データをネットワークを介してやり取りする場合に、効率的にネットワーク帯域を狭めることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、２以上の通話装置がインターネットを介してＶｏＩＰにより通話を行う通話装置としてのＶｏＩＰクライアント及びこれを備えた通話システムとしてのＶｏＩＰシステムに適用したものである。本実施の形態におけるＶｏＩＰクライアントは、リアルタイム音声の情報量を減らし、帯域を故意に狭めことが可能なものである。
【００２５】
先ず、本実施の形態におけるＶｏＩＰを使用したネットワークコミュニケーションをオ行うＶｏＩＰシステムの概略について説明する。図１は、本実施の形態におけるＶｏＩＰシステムの一例を示す模式図である。本実施の形態におけるＶｏＩＰシステムでは、例えば２チャンネル以上で、且つユーザ間で、通話のみではなく様々な効果音及びＢＧＭ等も共有することができる高音質の音声コミュニケーションを実現するものである。なお、本実施の形態におけるＶｏＩＰシステムは、２つの通話装置（以下、ＶｏＩＰクライアントという。）間で行なわれるものとするが、ＶｏＩＰシステムを構成するＶｏＩＰクライアントは２つに限らず、従ってＶｏＩＰクライアントを介してネットワークコミュニケーションに参加可能な参加者は２以上であってもよい。
【００２６】
図１に示すように、ＶｏＩＰシステム１００は、例えばＰＣ（Personal Computer）等のＶｏＩＰクライアント１１１と、これとインターネット１３０を介して接続されたＶｏＩＰクライアント１２１とを有する。
【００２７】
このＶｏＩＰシステム１００においては、ＶｏＩＰクライアント１１１のユーザ１１０と、ＶｏＩＰクライアント１２１のユーザ１２０とは、自身のＶｏＩＰクライアント１１１、１２１に搭載される後述するＶｏＩＰ用のアプリケーション（ソフト・フォン）等と、例えばマイクロフォンとヘッドフォンとからなるヘッドセット又はマイクロフォンと受話器とからなるハンドセットとを使用し、インターネット１３０を介して通信相手とコミュニケーションを行う。
【００２８】
インターネット１３０は、一般公衆回線等の通信回線や、情報通信ネットワークを複数接続することによって世界中に拡がったネットワーク環境である。現在、広帯域、高速な通信回線の普及によってブロードバンド伝送（Broadband Transmission）を可能としている。光ファイバー、非対称ディジタル加入者線、無線等を用い、５００ｋｂｐｓ以上の通信回線でネットワークを構成している。
【００２９】
このインターネット１３０には、ＶｏＩＰ通信を制御するＶｏＩＰサーバ１３１、及び音源データ１３２及びダウンロードユーザインフォメーション１３３等のデータを管理するウェブサーバ１３４等が接続されている。また、各ＶｏＩＰクライアント１１１、１２１には、各ＶｏＩＰクライアント１１１、１２１が有するウェブブラウザ１１２、１２２等によりウェブサーバ１３４からダウンロードするか、又は自身で購入若しくは編集した音源データ１１３、１２３が記憶されている。
【００３０】
ウェブサーバ１３４のデータベースに格納されている音源データ１３２、及びユーザがダウンロード等して所持している音源データ１１３、１２３は、例えばＢＧＭ（Back Ground Music）等に使用される音楽や、波の音・拍手の音・雷鳴・ベルの音等の各種効果音であり、これらの音源データは、ユーザ間のネットワークコミュニケーションにて使用することができる。
【００３１】
次に、このＶｏＩＰクライアントについて説明する。図２は、ＶｏＩＰシステムを構成するＶｏＩＰクライアントの機能を示すブロック図である。図２に示すように、このようなインターネットコミュニケーションを行うためのＶｏＩＰクライアント２０は、コミュニケーションに参加している参加者、即ち通話相手へデータを送信する送信手段２１と、通話相手からのデータを受け取る受信手段４１とを有する。
【００３２】
送信手段２１は、マイクが接続され、外部（ユーザ）の音声をキャッチするマイクキャプチャ（MIC capture）２２と、例えばＭＰ３（ＭＰＥＧ（Moving Picture Experts Group）１オーディオLayer３）、又はＭＰＥＧ４等に圧縮された各種効果音（Sound Effect：ＳＥ）の音源ファイルが記憶された効果音ファイル記憶部２３と、同じく圧縮された各種ＢＧＭの音源ファイルが記憶されたＢＧＭファイル記憶部２４と、効果音ファイル及びＢＧＭファイルを読み出しデコードする夫々デコーダ２５及び２６と、マイクによりキャプチャした音、効果音、及びＢＧＭのゲインを制御して音量調整するゲイン調整部２７〜２９と、これらの３つの音を合成する合成部３０と、合成した音を圧縮符号化するエンコーダ３１と、圧縮符号化されたデータをデータパケットとしてのＲＴＰ（Real-Time Transport Protocol）パケットに格納するデータパケット生成手段としてのパケット化部（packetize）３２ａと、後述する制御情報を生成し、ＲＴＰパケット及びＲＴＣＰ（Real-Time Control Protocol）パケットの送受信を制御する制御部３４と、該制御情報及びＲＴＰパケットをコントロールする管理情報等をＲＴＣＰパケットに格納する制御パケット生成手段としてのＲＴＣＰパケット化部３２ｂと、ＲＴＰパケット及びＲＴＣＰパケット等を送信する送信部３３とを有する。送信部３３から送られたＲＴＰパケットがインターネット１３０を介して通信対象となる他のＶｏＩＰクライアントに送信される。
【００３３】
一方、インターネット１３０を介して通信相手の送信手段２１から送られるデータを受信する受信手段４１は、ＲＴＰパケット及びＲＴＣＰパケット等を受信する受信部４２と、受信したＲＴＰパケットをデパケッタイズするＲＴＰデパケット化部（depacketize）４３ａと、ＲＴＣＰパケットをデパケッタイズするＲＴＣＰデパケット化部（depacketize）４３ｂと、ＲＴＰパケットの到着時間を補正するデジッタ部（de-jitter）４４と、送られたＲＴＰパケットのエラーが生じた部分又は伝送中に損失した部分等の欠落部分を補償するパケット補償部（packet loss compensator）４５と、パケット補償部４５からのデータを復号伸張するデコーダ４６と、例えばＭＰ３、ＭＰＥＧ４等に圧縮された着信音の音源ファイルが記憶された着信音ファイル（Ring Tone File）記憶部４７と、着信音ファイルを読み出しデコードするデコーダ４８と、デコーダ４６及び４８のゲイン調整をする夫々ゲイン調整部４９及び５０と、上述した送信手段２１における合成部３０にて合成された送信用のＰＣＭデータ、即ち送信者側自身の音源のゲイン調整するゲイン調整部５２と、ゲイン調整された送信用のデータ、通信相手から送信されてきたデータ、及び着信音データを合成する合成部５３と、合成部５３にて合成されたデータをヘッドフォン（ＨＰ）へ出力する出力部５４と、合成部５３へ出力される着信音とは別に着信音のゲインを調整するゲイン調整部５１と、ゲイン調整された着信音を外部へ出力するスピーカ（ＳＰ）５５とを有する。
【００３４】
次に、このＶｏＩＰクライアントのデータの送受信方法について説明する。先ず、送信側において、マイクキャプチャ２２は、マイクにより入力されたユーザの音声をキャッチしてゲイン調整部２７へ送る。ゲイン調整部２７は、音声データに対し、ユーザの指示によるか又は自動的に、ゲイン係数ｋ１を乗算し、所望の大きさにゲイン調整する。
【００３５】
効果音ファイル記憶部２３及びＢＧＭファイル記憶部２４は、例えばＭＰ３、ＭＰＥＧ４等の圧縮技術により予め圧縮された音源ファイルが記憶された、例えばハードディスクドライブ（ＨＤＤ）、ＲＯＭ（read only memory）又は光磁気ディスクからなり、デコーダ２５及び２６は、これらの圧縮符号化データを読み出し、読み出した圧縮符号化データをＰＣＭデータに変換する。更に、デコーダ２５、２６は、変換したＰＣＭデータを夫々ゲイン調整部２８、２９へ送り、ゲイン調整部２８、２９は、送られてきたデータに対し、ユーザの指示によるか又は自動的に、夫々ゲイン係数ｋ２及びｋ３を乗算して、所望の大きさにゲイン調整する。
【００３６】
ゲイン調整部２７〜２９にてゲイン調整された実時間音響データの音声、ＢＧＭ及び効果音は、合成部３０に供給され、合成部３０はゲイン調整部２７〜２９の出力を飽和処理しつつ加算し、この加算結果をエンコーダ３１に出力する。エンコーダ３１は、この加算結果をネットワークにて送信するために、例えばＭＰＥＧ４等にエンコードする。エンコードされたデータは、リアルタイム・トランスポート・プロトコル（Real-time Transport Protocol：ＲＴＰ）に従ってデータをパケット化するＲＴＰパケット化（packetize）部３２に供給される。
【００３７】
ＲＴＰパケット化部３２ａは、エンコードデータをＲＴＰパケットにパケット化し、パケット化データは、送信部３３からインターネット１３０を介して通信相手のＶｏＩＰクライアントへ送信される。
【００３８】
また、制御部３４は、ＲＴＰパケットにて送信するエンコードデータとして、音声データのみ又は音声データにＢＧＭ及び効果音が合成された合成データを格納した第１のデータパケットとしてのＲＴＰパケットを実時間伝送（リアルタイム転送）する第１のモード（実時間伝送モード）と、音声データに合成する例えばＢＧＭのみを格納した第２のデータパケットとしてのＲＴＰパケットを一括転送する第２のモード（一括伝送モード）とを切替え制御するものである。
【００３９】
具体的には、マイクキャプチャ２２によりキャプチャされる音声が所定の音量レベル未満と判断した場合、即ちユーザが発話していないようなタイミングで、ＢＧＭのみを一括して転送する。又は呼制御の後、実時間音響データをやり取りする前にＢＧＭのみ一括転送する。このようにＢＧＭのみを一括転送した場合は、所定期間ＢＧＭを送信する必要がなくなり、実時間伝送としては、音声データのみを送信する。
【００４０】
このようにＢＧＭのみを一括転送する場合には、マイクキャプチャ２２からの音声はミュートし、また効果音をデコードするデコーダ２５の出力もミュートすることで、デコーダ３１の出力をＢＧＭのみとすることができる。又は、例えばＲＴＰパケット化部３２ａが、ＢＧＭファイル記憶部２４に格納された圧縮された音源ファイルを必要量読み出し、これをＲＴＰパケットに格納してＲＴＰパケット化するようにしてもよい。
【００４１】
また、制御部３４は、後述するＲＴＣＰパケットのレポートブロック等に格納される各種管理情報を管理すると共に、ＲＴＣＰパケットの拡張部分に格納される制御情報を生成する。制御情報は、ＲＴＣＰ受信部４２にて受信したパケットのジッタを相殺するために設けられた揺らぎ吸収バッファ及びヘッドフォン５４にて再生する前の無圧縮のＰＣＭデータを格納しておくＰＣＭバッファの容量等を通知するものである。また、本実施の形態におけるＶｏＩＰクライアントが送受信するＲＴＣＰパケットの拡張部分には、通信相手となる他のＶｏＩＰクライアントが送信してくるＲＴＰパケットに格納される実時間音響データの圧縮率を指定する例えばエンコード帯域及びサブバンド分割数等の情報、及び伝送途中でエラーが生じたり又は失われたような欠落パケットの再送要求を指示する情報等も記述することができる。
【００４２】
そして、ＲＴＣＰパケット化部３２ｂは、この制御情報及び管理情報をＲＴＣＰパケットにパケット化し、このパケット化データも送信部３３からインターネット１３０を介して通信相手のＶｏＩＰクライアントへ送信される。
【００４３】
また、ＶｏＩＰによる通話では、ＲＴＰパケットを送信する前に、制御部３４がＳＩＰ等の呼制御プロトコルにより、送信部３３を介して、通信対象となる他のＶｏＩＰクライアントに対し呼シグナリングを行う。そして、他のＶｏＩＰクライアントの間でＲＴＰ／ＲＴＣＰセッションが確立された後、送信部３３がＲＴＰパケット及びＲＴＣＰパケットを送信することができる。ＲＴＰ／ＲＴＣＰパケットの詳細は後述する。
【００４４】
一方、受信側においては、受信部４２がインターネット１３０を介して送られてくるＲＴＰパケット及びＲＴＣＰパケット等を受信する。そして、ＲＴＣＰデパケット化部４３ｂは、受信したＲＴＣＰパケットを分解し、制御部３４は、ＢＧＭのみ一括転送する一括転送モードの際には、ＲＴＣＰパケットの拡張部分に格納された制御情報のうち、上述した通話相手の揺らぎ吸収バッファ及びＰＣＭバッファの大きさに基づき、一括転送するＢＧＭデータの伝送レートを制御する。
【００４５】
また、ＲＴＰデパケット化部４３が逆パケット化した後、デジッタ部４４が例えばネットワークの状態等により受信が遅れる等して到着時刻が不均等になっているデータを補正し、等間隔化する。この補正は、逆パケット化されＩＰ、ＵＤＰ（User Datagram Protocol）から分解されたＲＴＰのタイムスタンプ、シーケンシャルナンバーを基に行なわれる。その後、パケット補償部４５がネットワークの送受信において欠落又は受信不能等となったパケットを保障する処理、具体的には、欠落したパケットの代わりにその前又は後のパケットと同じパケットを使用するようにしたり、欠落したパケットの再送要求をして改めて欠落パケットを受信するようにする等したりしてパケットの損失を補償する。こうして得られたＭＰＥＧ４等の圧縮データはデコーダ４６にてデコードされ、これをゲイン調整部４９がユーザ指示又は自動的に、ゲイン係数ｋ５を乗算してゲイン調整する。
【００４６】
デコーダ４８は、他のＶｏＩＰクライアントから呼シグナリングされたとき、即ち電話がかかってきたときにユーザに通知するための呼び出し用の呼び出し音又は呼び出し用に使用する音楽等からなる着信音の音源ファイルを着信音ファイル記憶部４７から読み出す。ファイル記憶部４７からの着信音データは、ユーザの所望によって予め選択されており、着信のタイミングに従って図示しないＲＡＭに読み出されながらデコーダ４８にてデコードされる。着信音の音源ファイルも、ＢＧＭ等の音源ファイル等と同様にＭＰ３、ＭＰＥＧ４等に圧縮されたものとなっており、ファイル単位の着信音データとしてファイル記憶部４７に複数ファイル分記憶されている。そして、デコーダ４８は、読み出した音源ファイルをデコードし、デコードされた音源データをゲイン調整部５０、５１がユーザ指示又は自動的に、夫々ゲイン係数ｋ６、ｋ７を乗算することでゲイン調整する。
【００４７】
合成部５３は、着信音及び通信相手から送信されゲイン調整部４９にてゲイン調整された、通話相手から受け取った受信データと、ゲイン調整部５２から出力される自身の送信データとを加算処理する。ゲイン調整部５２は、送信される送信データを通話相手と共有するため、送信データにユーザが設定するループバック音量レベルであるゲイン係数ｋ４を乗算するものである。
【００４８】
そして、合成部５３にて合成されたこれらのデータは、ヘッドフォン５４を介して出力されユーザに伝えられる。また、着信音ファイル記憶部４７から読み出された着信音データは、ヘッドフォン５４とは別にスピーカ５５からも出力されるよう構成されている。
【００４９】
ここで、デコーダ４６の前段若しくは後段、又はゲイン調整部４９の後段に、一括送信されたＢＧＭデータを格納しておくバッファを用意し、一括送信後に送られる音声又は音声及び効果音からなる実時間音響データに順次合成して出力されるようバッファからＢＧＭデータが読み出される。また、デコーダ４６の後段又はゲイン調整部４９の後段には上述のＰＣＭバッファが設けられるが、これに一括転送されたＢＧＭデータをバッファリングしておいてもよい。
【００５０】
このようなＶｏＩＰクライアントにおいては、制御部３４により、必要に応じて、実時間音響データを転送する実時間伝送モードと、ＢＧＭのみを一括転送する一括伝送モードとを切替えることにより、例えばユーザが発話していないタイミング等にＢＧＭのみを一括転送しておけば、その後、一括転送したＢＧＭが再生されている間は、音声のみの実時間音響データを送信すればよく、実時間音響データとして伝送するデータ量を削減し、ＶｏＩＰクライアントが占有するネットワーク帯域を狭めることができる。
【００５１】
更に、一般の電話に比してダイナミックレンジを広くすることで、ステレオ等の高音質の音声とＢＧＭ及び効果音等からなる音響とが合成された合成音を送受信することができ、従ってＢＧＭ等を付加しても会話（音声）をマスキングすることがない。また、効果音及びＢＧＭ等の音源ファイルから読み出した音と、通信者自身が話した音声、即ちマイク音とを別々にゲイン調整することができるため、効果音及びＢＧＭの音量を所望のレベルに調整することができ、ユーザは、通信相手へ例えば自身の気分を伝えたりすることができる。
【００５２】
また、着信音をヘッドフォン５４とスピーカ５５とで別々に出力することにより、例えばユーザがヘッドフォン５４を使用してＶｏＩＰによる通信中に一時的にＶｏＩＰクライアント２０から離れたり、通話が終了した後もヘッドフォン５４をセットしたままにしておいたりした場合であっても、着信音がスピーカ５５から外部に出力されるようにすることができる。
【００５３】
次に、このＶｏＩＰクライアントに使用されるソフトウェアについて説明する。図３は、一般的なＰＣ向けＶｏＩＰクライアントアプリケーションを含むソフトウェアモジュールを示す図である。ＶｏＩＰクライアントは、この図３に示す開放型システム間相互接続（Open System Interconnection：ＯＳＩ）のアーキテクチャに基づく各階層のプロトコルに応じたソフトウェアモジュール１を実行することにより上述の図２に示した機能を達成する。
【００５４】
図３において下位層から上位層に向かって各階層を説明する。先ず、物理層２としての機能にはユニバーサル・シリアル・バス（Universal Serial Bus：ＵＳＢ）カメラドライバ２ａ、ＵＳＢオーディオドライバ２ｂ及び各種ドライバ２ｃがある。カメラドライバ２ａからのビデオデータやオーディオドライバ２ｂからのオーディオデータの伝送条件の物理的条件を合わせるレイヤである。
【００５５】
次に、データリンク層としての機能には、オペレーティングシステム（Operating System：ＯＳ）３がある。隣接ノード間の誤りのないデータ伝送を実行するためのものである。
【００５６】
そして、ネットワーク層としての機能には、インターネットプロトコル（Internet Protocol：ＩＰ）制御部４がある。ネットワーク層は、データ送受信に使用する通信経路を選択し、フロー制御・品質制御などの通信制御を行うところである。信頼性を追求しないコネクションレス（Connectionless)パケット伝送プロトコルであるＩＰは、信頼性保証機能、フロー制御機能、エラー回復機能を上位階層（トランスポート層とアプリケーション層）に任せている。
【００５７】
トランスポート層としての機能には、トランスポート・コントロール・プロトコル（Transport Control Protocol：ＴＣＰ）／ユーザ・データグラム・プロトコル（User Datagram Protocol：ＵＤＰ）制御部５がある。
【００５８】
トランスポート層では、ＩＰアドレスを使用してエンド・ツー・エンドの伝送を行う。ネットワークの種類に依存せず、要求される品質クラスに従ってフロー制御や順序制御を行う。ＴＣＰは信頼性保証機能を持ち、伝送したデータの各バイトにシーケンス番号を付け、受信側から受け取り通知（Acknowledgment：ＡＣＫ（確認応答））が送られてこなければデータを再送する。ＵＤＰは、アプリケーション間のデータグラムの送信機能を提供する。ＩＰネットワークを用いて、音声・動画像をストリーミング再生する場合、一般にエラー時に再送を行うＴＣＰのようなトランスポート・プロトコルは使用できない。また、ＴＣＰは、１対１通信用のプロトコルであり、複数の相手に情報を送信することができない。そこで、このような用途には、ＵＤＰが用いられる。即ち、例えば再送制御を必要とする等、信頼性が高い通信を行う際にはＴＣＰ通信としてＴＣＰパケットを生成し、音声及び映像データ、並びに後述するＳＩＰを伝送する等、リアルタイム性が高い通信を行う際にはＵＤＰ通信としＵＤパケットを生成する。
【００５９】
ＵＤＰは、アプリケーションのプロセスがリモートマシン上の他のアプリケーションのプロセスへデータを伝送することを、最小のオーバーヘッドで行えるように設計されている。そのため、ＵＤＰのヘッダに入る情報は、送信元ポート番号、宛先ポート番号、データ長、チェックサムのみであり、ＴＣＰにあるパケットの順序を表す番号を入れるフィールドがないので、ネットワーク上で異なる経路を介して伝送されるなどによりパケットの順序が入れ替わってしまった場合に、その順序を正しい状態に戻す処理を行うことができない。また、送信時のタイムスタンプ等の時間情報を入れるフィールドは、ＴＣＰにもＵＤＰにもない。
【００６０】
セッション層６としての機能には、セッション・イニシエーション・プロトコル（Session Initiation Protocol：ＳＩＰ）制御部１１、ＲＴＰ／ＲＴＣＰ制御部１２、コーデック（codec）１３、通話音とＢＧＭ又は効果音の合成処理ソフトウェアを構成する保留音制御部１４、ＢＧＭ合成部１５、及び着信音制御部１６がある。セッション層６は、情報の伝送制御を行う。アプリケーション間における対話モードを管理して会話単位の制御を行う。
【００６１】
ＳＩＰ制御部１１は、ＩＰネットワーク上でマルチメディアセッションを確立・変更・終了するための、アプリケーション層６のシグナリングプロトコル（ＲＦＣ３２６１で標準化）により呼制御を行う。
【００６２】
また、ＲＴＰ／ＲＴＣＰ制御部１２のうち、ＲＴＰは、音声データにＢＧＭ及び効果音等が合成され圧縮符号化された送信データを送信するためのプロトコルであり、送信データに時間情報及び順序情報を付与してネットワークを通じて音声データ送受信する機能を有する。また、ＲＴＣＰは、ＲＴＰを制御する制御プロトコルであり、ＲＴＰのフロー制御、クロック同期及びデータの再生時刻の認識、情報源の認識等を行う機能を有する。
【００６３】
コーデック１３は、送信音（伝送データ）を後述する高能率音響圧縮及び復号する機能を有する。
【００６４】
また、プレゼンテーション層としての機能には、ＶｏＩＰ通話制御７がある。プレゼンテーション層では、アプリケーションで送受信する情報の表現形式を管理して、データの変換や暗号化を行う。ＶｏＩＰ通話制御部７は、ＶｏＩＰ通話機能の全体をコントロールする。
【００６５】
最上層のアプリケーション層としての機能には、コンピュータを視覚的に操作するためのグラフィカルユーザインターフェース（Graphical User Interface：ＧＵＩ）８がある。アプリケーション層は、ユーザプログラムで使用する通信機能の外部仕様を管理して、それに基づく情報のやり取りを行う層であり、ＧＵＩ８は、ユーザ操作用のインターフェイスを提供し、ユーザの手入力情報をハンドリングする。
【００６６】
図４は、ＧＵＩの一例を示す模式図である。ＧＵＩ８は、図４に示すように、ＶｏＩＰクライアントアプリケーション１の終了処理を行うアプリケーション制御部６１と、情報表示部６２と、ダイヤル部６３と、ヘッドセットボリューム部６４と、スピーカボリューム部６５と、サウンドエフェクト選択表示部６６と、サウンドエフェクト制御部６７と、ＢＧＭ選択表示部６８と、ＢＧＭ制御部６９とを有する。
【００６７】
情報表示部６２は、ユーザが通信対象となる相手先の番号をダイヤルした場合のダイヤル番号や、通信相手が話し中か否か等の相手状態等を表示する。ダイヤル部６３は、ＶｏＩＰ相手先をダイヤルするため等のテンキーからなる。また、ヘッドセットボリューム６４は、ヘッドセットから出力される音量を調節し、スピーカボリューム部６５は、スピーカから出力される音量を調節する。サウンドエフェクト選択部６７は、ユーザが使用可能なサウンドエフェクト音源データファイルの表示するものであり、例えば銃声音、雷音、拍手の音、歓声音等を選択でき、サウンドエフェクト制御部６７により、効果音の再生及び停止、並びに音量調節を行う。これにより、効果音の各種効果音でユーザが通話相手への気持ち等を表現することができる。
【００６８】
また、ＢＧＭ選択表示部６８は、ユーザが使用可能な例えばタヒチの波の音等のＢＧＭ音源データファイルを表示するものであり、更にＢＧＭ制御部６９により、ＢＧＭの再生及び停止、並びにＢＧＭの音量調節を行うことで、サウンドエフェクトと同様、ユーザ自身が選択し、調節した音量により、ユーザの気分やその場の雰囲気を通信相手へ伝えること等ができる。
【００６９】
次に、ソフトウェアモジュール１を実行するＶｏＩＰクライアントのハードウェア構成について説明する。図５は、ＶｏＩＰクライアントのハードウェア構成を示すブロック図である。図５に示すように、ＶｏＩＰクライアント２０において、ＣＰＵ（Central Processing Unit）２２１は、ＲＯＭ（Read Only Memory）２２２に記憶されている上記ソフトウェアモジュールを構成する各種プログラム、又は記憶部２２８からＲＡＭ（Random Access Memory）２２３にロードされた上述のソフトウェアモジュール１を構成する各種プログラムに従って各種の処理を実行する。また図示せぬタイマが計時動作を行い、時刻情報をＣＰＵ２２１に供給する。ＲＡＭ２２３にはまた、ＣＰＵ２２１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００７０】
ＣＰＵ２２１、ＲＯＭ２２２及びＲＡＭ２２３は、バス２２４を介して相互に接続されている。このバス２２４にはまた、入出力インターフェイス２２５も接続されている。
【００７１】
入出力インターフェイス２２５には、キーボード、マウス等よりなる入力部２２６、ＣＲＴ、ＬＣＤ等よりなるディスプレイ、並びに、ヘッドフォンやスピーカ等よりなる出力部２２７、ハードディスク等より構成される記憶部２２８、モデム、ターミナルアダプタなどより構成される通信部２２９が接続されている。
【００７２】
通信部２２９は、図示せぬインターネットを介しての通信処理を行う。ＣＰＵ２２１から提供されたデータを送信する。また通信部２２９は通信相手から受信したデータをＣＰＵ２２１、ＲＡＭ２２３、記憶部２２８に出力する。記憶部２２８はＣＰＵ２２１との間でやり取りし、情報の保存・消去を行う。通信部２２９はまた、他のクライアントとの間で、アナログ信号またはディジタル信号の通信処理を行う。
【００７３】
入出力インターフェイス２２５にはまた、必要に応じてドライブ２３０が接続され、磁気ディスク２４１、光ディスク２４２、光磁気ディスク２４３、或いは半導体メモリ２４４等が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２２８にインストールされる。
【００７４】
次に、このようなハードウェア構成のＶｏＩＰクライアントが上述の図２に示すソフトウェアモジュール１を構成する各種プログラムを実行することによりＶｏＩＰ通話を実行する方法について説明する。
【００７５】
図６は、図３に示す一般的なＰＣ向けソフトウェアモジュールのうち、ＶｏＩＰ通話制御部７が制御するＲＴＰ／ＲＴＣＰパケットの送受信機能を説明する図である。図６に示すように、ＶｏＩＰ通話制御部７の制御は、スレッド１〜スレッド５に分けることができる。スレッド１は、送信者がＲＴＰパケットを送信するまでの処理、即ち送信者が発話した音声を含むデータを格納したデータパケットを送信する処理であり、スレッド２、３は、送信されたＲＴＰパケットを受信して再生するまでの処理、即ち上記送信者が通信対象となっている相手の音声を含むデータを聞くまでの処理である。
【００７６】
また、スレッド４は、オペレーティングシステム（ＯＳ）３に付随するスレッドライブラリにより自動生成される。スレッドライブラリは、プライオリティに応じてスレッド１、スレッド２及びスレッド３のメインプロセッサ（図５に示すＣＰＵ２２１）上での計算資源配分、即ちスケジューリングを行う。
【００７７】
また、スレッド５は、アプリケーションであるＧＵＩ８のメインスレッドであり、スレッド１、スレッド２及びスレッド３を生成したり破棄したりすると共に、プログラミングされたアルゴリズム或いはユーザ操作に応じてスレッド１、スレッド２及びスレッド３の制御を行う。
【００７８】
ＲＴＰ／ＲＴＣＰパケットの送信処理であるスレッド１においては、マイクからユーザの音声をキャプチャしてＰＣＭデータを受け取り（Capture）、必要に応じて、ＢＧＭ合成部５等により、キャプチャサンプル・フレーム毎に、効果音及びＢＧＭと音声とを合成し（Effect or Mixing）、コーデック１３は、そのデータを圧縮符号化する（encode）。そして、ＲＴＰ／ＲＴＣＰ制御部１２が圧縮符号化したデータをＲＴＰパケット化し（packet）、送信する（send）。
【００７９】
また、ＲＴＰパケットの送信処理とは別に、通信対象の通話装置におけるコーデックの圧縮符号化方式を制御するための制御情報を格納したＲＴＣＰパケットの送信処理が行われる。
【００８０】
一方、ＲＴＰパケットの受信処理においては、ＶｏＩＰクライアントの受信側に設けられたデコード処理前後の揺らぎ吸収バッファ、即ち、エンコードされたバイトストリームＰＣＭを格納する揺らぎ吸収バッファ（Forward Jitter buffer）ＢＦ１と、デコードされ無圧縮のlinearＰＣＭとされたデータを格納するＰＣＭバッファ（Backward Jitter buffer）ＢＦ２とを使用する。
【００８１】
そして、ＲＴＰ／ＲＴＣＰパケットの受信機能のうち、スレッド２では、ＲＴＰ／ＲＴＣＰ制御部１２がＲＴＰパケットを受信し（Receive）、ネットワーク上で発生したデータ損失及び伝送パケットのデータエラー等の欠落パケットを補う処理を行い（parse）、デコード処理前に設けられた揺らぎ吸収バッファＢＦ１に格納する（push＆pop）する。これをコーデック１３が復号伸張し（decode）、デコード処理後に設けられる揺らぎ吸収バッファ（ＰＣＭバッファ）ＢＦ２に、無圧縮のデータとして格納する（push）。
【００８２】
そして、スレッド３においては、ＵＳＢカメラドライバ２ａ、ＵＳＢオーディオドライバ２ｂ及び各種ドライバ２ｃが、揺らぎ吸収バッファＢＦ２から無圧縮のデータを読み出し（pop）、この読み出したデータを再生する（sound device）。
【００８３】
また、スレッド１にて行うエフェクト効果及びＢＧＭと音声との合成（Effect or Mixing）は、スレッド３において、揺らぎ吸収バッファＢＦ２からデータを読み出した後であって、再生する前に行ってもよく、また無圧縮のデータを格納するＰＣＭバッファを用意せず、揺らぎ吸収バッファからデータを読み出し復号したデータを揺らぎ吸収バッファＢＦ２に格納することなく再生するようにしてもよい。
【００８４】
ここで、本実施の形態におけるＶｏＩＰシステムにおいては、高音質なリアルタイムコミュニケーションを実現するもの、即ち例えば会話に加えて高音質なＢＧＭ付加機能を有するものであり、ユーザが音声を発しているか否かにかかわらず、一定量のデータ送受信を行い、ネットワーク帯域を占有してしまうことを防止するものである。
【００８５】
このため、図３に示すＶｏＩＰ通話制御手段７は、マイクからキャプチャしたユーザの音声情報量をチェックし、例えば会話が途切れている場合等、音声が所定の音量レベル未満であり音声情報量が少ない場合等において、音声データの伝送を一時的に停止し、ＢＧＭ分のデータだけを先読み一括（バッチ）伝送するようＲＴＰ／ＲＣＴＰ制御部１２を制御する。即ち、上述したように、通常は、音声とＢＧＭ及び効果音とを合成した実時間音響データをＲＴＰパケットにて伝送する実時間伝送を行う実時間伝送モードとし、ユーザが発話していないと判断したタイミングで、ＢＧＭのみを一括伝送する一括伝送モードに切り替える。
【００８６】
ここで、ＲＴＰ／ＲＣＴＰ制御部１２から送信されるＲＴＣＰパケットは、後述するように、拡張により自身の揺らぎ吸収バッファＢＦ１、ＢＦ２のサイズを記述して送ることができるもので、各ＶｏＩＰクライアントは、通信相手となる他のＶｏＩＰクライアントの揺らぎ吸収バッファサイズを認識することができる。そこで、ＶｏＩＰクライアントは、ユーザの音声情報が少なくユーザが発話していないと判断できるような場合、他のＶｏＩＰクライアントの揺らぎ吸収バッファサイズ分、ＢＧＭデータのみを一括して送信することができる。
【００８７】
このように、音声と共に送られる予定のＢＧＭ等の付加データを先送りすることで、付加データはリアルタイムで送信する必要がなくなって、リアルタイムに送信する情報は音声データのみ、又は音声と効果音とを合成した実時間音響データとなり、ネットワーク帯域を狭めることができる。
【００８８】
次に、本実施の形態におけるＶｏＩＰシステムにおけるＲＴＰ／ＲＴＣＰパケットについて更に具体的に説明する。
【００８９】
図３に示すＳＩＰ制御部１１の呼制御により、ＲＴＰ／ＲＴＣＰパケットは、ＲＴＰ／ＲＴＣＰのセッションを確立した後、送受信が開始される。図７（ａ）及び（ｂ）は、ＲＴＰパケットの夫々構成及びヘッダのフォーマットを示す図であり、図８（ａ）乃至（ｃ）は、アプリケーションによって拡張可能なＲＴＣＰ  ＡＰＰパケットの構成、そのヘッダ（RTCP APP Application-defined Header）、及び送信レポートのフォーマット例を示す図である。
【００９０】
ＲＴＰは、インターネット等のＩＰネットワークにおいて、リアルタイムに音声や動画を送信／受信するトランスポート・プロトコルであり、ＲＦＣ１８８９で勧告されている。ＲＴＰは、トランスポート層に位置し、一般にＵＤＰ上でＲＴＣＰと共に用いられる。
【００９１】
そして、図７（ａ）に示すように、ＲＴＰパケットは、ＩＰヘッダ、ＵＤＰヘッダ、ＲＴＰヘッダ及びＲＴＰデータからなる。そして、ＲＴＰヘッダには、図７（ｂ）に示すように、先頭から、バージョン情報格納部（Ｖ：version、例えばＶ＝２）Ｆ１、パディング格納部（Ｐ：padding）Ｆ２、拡張ビット格納部（Ｘ：extension）Ｆ３、ＣＳＲＣ（contributing source）カウント格納部（ＣＣ）Ｆ４、マーカ情報（Ｍ：marker）格納部Ｆ４、マーカ・ビット格納部（Ｍ：maker）Ｆ５、ペイロード種別情報格納部（ＰＴ：payload type）Ｆ６、シーケンス番号情報格納部（sequence number）Ｆ７、タイムスタンプ格納部（time stamp）Ｆ８、ＳＳＲＣ識別子格納部（synchronization source identifier）Ｆ９、ＣＳＲＣ識別子格納部Ｆ１０が設けられ、ＣＳＲＣ識別子格納部Ｆ１０の後ろに実時間音響データが付加される。
【００９２】
バージョン情報格納部Ｆ１には、ＲＴＰのバージョンを示す情報が格納され、例えばＲＴＰ２を示すときには、その旨のバージョン情報が格納される。
【００９３】
カウント格納部Ｆ４は、ヘッダ中に示されるＣＳＲＣ（寄与送信元識別子）の数を示す。
【００９４】
ペイロード種別情報格納部Ｆ６には、実時間音響データの種類を示す情報が格納され、例えば映像や音声を示す旨の情報等が格納される。
【００９５】
シーケンス番号情報格納部Ｆ７には、ＲＴＰセッションにおいて、ＲＴＰパケットを送受信する度にカウントアップされ、送受信するＲＴＰパケットの順番を認識するためのシーケンス番号が格納される。
【００９６】
タイムスタンプ格納部Ｆ８には、実時間音響データを作成、更新した日時に関するタイムスタンプ情報が格納される。
【００９７】
ＳＳＲＣ識別子格納部Ｆ９及びＣＳＲＣ識別子格納部Ｆ１０には、ＲＴＰセッションにおいて、データ送信側のソースを識別するための情報が格納される。ＳＳＲＣ識別子は、同期送信元識別子であり、同一ユーザが組み合わせて扱うべき複数のストリームが同じ値を共有するように割り当てた識別子であり、ＣＳＲＣ識別子は、寄与送信元識別子であり、ストリーム源を示す。複数のストリームがミキシング処理され１つのストリームデータとして提供される場合等に使用される。
【００９８】
ここで、リアルタイム音声はＳＳＲＣとし、ミキシング処理部分の音源データ（付加データ）を１つのＣＳＲＣとみなし、ＣＳＲＣカウント格納部（ＣＣ）Ｆ４を１つインクリメントし、ＣＳＲＣを付与する。
【００９９】
図３に示すＲＴＰ／ＲＴＣＰ制御部８は、ＲＴＰに従って実時間音響データを送信するに際して、上記各格納部に各種情報を格納すると共に、各格納部に格納された各種情報を認識して実時間音響データを抽出する処理をする。
【０１００】
上述のＲＴＰが音声・動画像データそのものを送信／受信するプロトコルであるのに対し、ＲＴＣＰは、周期的に、パケットロス、遅延ジッタ、ラウンドトリップ等の回線品質を評価し、その帯域に見合ったリアルタイム通信を実現するため情報を送信／受信するプロトコルである。
【０１０１】
このＲＴＣＰを用いることにより、相手からフィードバックされてくる情報により、ネットワークの状態などを推測して送信レートを変更するなどの動的な処理を行うことができる。また、今誰がデータを送信していて、誰が受信しているかを示す情報もＲＴＣＰパケットで同時に送っているので、今現在の参加者の情報を知ることもできる。
【０１０２】
図８（ａ）に示すように、ＲＴＣＰパケットは、ＩＰヘッダ、ＵＤＰヘッダ、ＲＴＣＰヘッダ及びＲＴＣＰデータからなる。そして、拡張可能なＲＴＣＰパケットであるＲＴＣＰ  ＡＰＰパケットのヘッダには、図８（ｂ）に示すように、先頭から、バージョン情報格納部（Ｖ：version、例えばＶ＝２）Ｆ１１、パディング格納部（Ｐ：padding）Ｆ１２、subtype格納部Ｆ１３、パケットタイプ（ＰＴ：packet type）格納部Ｆ１４、レポート長格納部（length）Ｆ１６、ＳＳＲＣ／ＣＳＲＣ識別子格納部Ｆ１７、アスキー（ＡＳＣＩＩ：American Standard Code for Information、情報交換用アメリカ標準コード）で記述されるＮａｍｅ格納部Ｆ１８が設けられ、この後に、アプリケーション独自のデータが格納されるデータ格納部（Application-Dependent Data）Ｆ１９が付加される。
【０１０３】
パケットタイプＰＴ格納部Ｆ１４には、ＲＴＣＰパケットの種別が記録され、本実施の形態においては、このパケットタイプＰＴ＝ＡＰＰ（Application：アプリケーション固有情報）＝２０４（パケットタイプ値）と記述される。ＡＰＰは、ＲＴＣＰ規定外のアプリケーション固有の制御情報を通知するためのパケットであることを示す。
【０１０４】
図３に示すＲＴＰ／ＲＴＣＰ制御部８は、ＲＴＣＰ  ＡＰＰパケットとして、上述したように、欠落パケットの再送要求をＲＴＰパケットを受信した際のジッタを吸収するために使用するＲＴＰパケット受信のための揺らぎ吸収バッファのサイズをデータ格納部Ｆ１９に記述して送信することができる。そして同時に、ＶｏＩＰ通話制御部３の指示により、通信相手が送信すべき送信データにおける圧縮する周波数成分の情報を記述して送信することができる。
【０１０５】
ここで、ＲＴＣＰパケットには、ＲＴＰデータの送信者から送られるタイプのＲＴＣＰ  ＳＲ（Sender Report、）パケットと、ＲＴＰデータの受信者から送られるタイプのＲＴＣＰパケットＲＴＣＰ  ＲＲ（Receiver Report、）パケットとがある。
【０１０６】
ＳＲパケットは、ストリームを送出している端末から他の端末に対して送出されるもので、自装置が送出したストリームに関する情報である送信情報（sender info）と、受信したストリーム各々についてストリームの受信状態（パケット破棄率、ジッタ等）を送信装置へ報告するためのレポートブロック（reception report block）とを含み、ＲＲパケットは、他の通話装置から受信したスリームに関する情報を通知するためのもので、同じく受信したストリーム各々についてストリームの受信状態を送信装置へ報告するためのレポートブロックを含むものである。
【０１０７】
このレポートブロックは、図８（ｃ）に示すように、パケットの送信者の同期送信元(ＳＳＲＣ：Synchronization Source)識別子、ＲＴＰ損失率、損失ＲＴＰパケット数、受信シーケンス番号、到着時間間隔のジッタの平均値、最後に受信したＳＲの送信時刻（ＬＳＲ：Last SR timestamp）、最後にＳＲを受信した時刻からこのＲＲを送るまでの時間（ＤＬＳＲ：Delay since Last SR）を入れることになっている。
【０１０８】
したがって、送信側においては、ＲＴＰデータの送信の際に、送信ＲＴＰパケット数及び送信ＲＴＰバイト数を管理しておき、また、受信側においては、ＲＴＰデータの受信の際に、受信ＲＴＰパケット数、損失ＲＴＰパケット数及び到着時間のジッタ等の管理情報を管理する。
【０１０９】
図９は、本実施の形態におけるＲＴＣＰ  ＡＰＰメッセージの交換時にやりとりされるメッセージを示す図である。ＲＴＰのSenderでもありReceiverでもあるＵＡ１とＵＡ２との間でやり取りされるＳＲブロックを含むＲＴＣＰパケット及びＲＲブロックを含むＲＴＣＰパケットにおいては、図９に示すように、拡張データとして、エンコード帯域幅（Encode Bandwidth）、サブバンド分割ブロック数（sub band Numbers）、デコード処理部前後の揺らぎ吸収バッファサイズ（時間に換算可能）（Forward and Backward Jitter Buffer size）、上記吸収バッファにキューイングされているデータサイズ（時間に換算可能）（Buffer queued size）、ＲＴＰパケットの再送リクエスト情報（Re-Request：sequence number）を記述することができる。ＲＴＰパケットの再送リクエストにはシーケンス番号を利用する。
【０１１０】
ここで、このアプリケーション固有情報ＲＴＣＰ  ＡＰＰパケットとして、デコード処理前後の揺らぎ吸収バッファＢＦ１及びＢＦ２のバッファサイズ、この揺らぎ吸収バッファＢＦ１及びＢＦ２を占有しているデータ量の情報に加え、受信側のＶｏＩＰクライアンが送信側のＶｏＩＰクライアントの送信データのエンコード帯域幅及びサブバンド分割ブロック数等を指定する情報を記載することにより、通信相手の圧縮符号化方式を指定することで自身が受信するストリームの伝送レートを制御したり、また、自身の揺らぎ吸収バッファサイズと、ＳＲ（Sender Report）ブロックを含むＲＴＣＰ  ＡＰＰパケットを送信してからＲＲ（Receiver Report）ブロックを含むＲＴＣＰ  ＡＰＰパケットを受信するまでの時間であるＲＴＴ（Round Trip Time）とに応じて欠落パケットの再送要求をしたりすることも可能である。
【０１１１】
次に、このようなＲＴＣＰ  ＡＰＰパケットを使用して、リアルタイムデータの情報量を減らす方法について更に詳細に説明する。図１０は、実際に音声が途切れている際にＢＧＭデータのみをバッチ伝送する際の処理シーケンスを示す図である。
【０１１２】
図１０に示すように、ＶｏＩＰシステムを構成するＶｏＩＰクライアントＵＡ１、ＵＡ２との間で、音声にＢＧＭを合成した高音質なデータを送受信する場合において、上述したように、先ずＲＴＣＰのＡＰＰパケットを利用して、デコード処理部前後の揺らぎバッファＢＦ１及びＢＦ２のバッファサイズを交換し合う（Ｄ１）。これらの揺らぎ吸収バッファＢＦ１及びＢＦ２のバッファサイズは、伝送時間に換算可能である。
【０１１３】
そして、実時間伝送モードとして、ＲＴＰパケットにより、音声及び音響データを送受信し合う（Ｄ２）。このとき、リアルタイム音声を例えばＳＳＲＣ＝１２３４とし、上述のＣＣフィールドＦ４をインクリメントし、ＢＧＭオーディオを例えばＣＳＲＣ＝５６７８等としてデータの送受信を行う。
【０１１４】
その後、一方のＶｏＩＰクライアントＵＡ１において、例えば、ユーザが何らかの事情で通信装置から離れる等して会話が中断し、マイクが集音する音声が途切れたと判断した場合、ネットワーク帯域に余裕があれば、一括伝送モードに切り替え、相手側のデコード処理後の揺らぎ吸収バッファＢＦ２のバッファサイズ（例えばｎ秒分）だけ、ＢＧＭデータを一括（バッチ）伝送する（Ｄ３）。この際、ＳＳＲＣには、リアルタイム音声とＧＧＭとをミキシングして送信していた際のＣＳＲＣ（＝５６７８）を使用する。即ち、ＳＳＲＣ＝５６７７として送信する。
【０１１５】
これにより、一括送信したＢＧＭデータのｎ秒分の時間だけ、送信側のＶｏＩＰクライアントＵＡ１は音声だけを送信することができる。
【０１１６】
また、ｎ秒の間に音声が検出されない場合は、ＶｏＩＰクライアントＵＡ１は何も送信する必要がない。そして、ＶｏＩＰクライアントＵＡ１が音声を再び送信する際には、再びＢＧＭとミキシングし、シーケンス番号をｎサイズ分インクリメントし、音響圧縮してＲＴＰパケットとして、通話相手であるＶｏＩＰクライアントＵＡ２との送信を再開すればよい。
【０１１７】
本実施の形態においては、マイクからキャプチャした人の音声情報が少ない場合、例えば会話が途切れている場合等において、音声データの伝送を一時的に停止し、ＢＧＭ分のデータだけを先読みし、一括伝送することにより、ユーザが音声を発していない場合等において、より効率的にネットワーク帯域を活用することができる。
【０１１８】
また、上述の実施の形態においては、会話が途切れた際に、ミキシングする他の音響データを一括伝送するものとしたが、呼制御の際にＢＧＭデータ分を先読みし、一括伝送することも可能である。
【０１１９】
例えば、通話装置のユーザは、通常、通話開始前に通話対象を認識しており、従って始めにミキシングするＢＧＭを選択しておき、次に実際に電話を掛けることにより、上述の図３に示すＳＩＰ制御部１１にて呼制御が行なわれる。そして、ＲＴＰ／ＲＴＣＰメディアセッションが確率し、ＲＴＣＰ  ＡＰＰパケットにより、互いに相手側のデコード処理後の揺らぎ吸収バッファＢＦ２のバッファサイズを交換した後、音声データのＲＴＰパケットを送受信する前に、一括伝送モードとして、ＢＧＭのみを一括送信するようにすることで、一括送信したＢＧＭデータｎ秒分の時間は、送信側のＶｏＩＰクライアントは、音声のみを送信すればよくなり、リアルタイムに伝送する情報量を削減することができ、上述と同様の効果を奏する。
【０１２０】
更に、このように呼制御の後、音声データの送受信の前にＢＧＭ等の付加データを一括送信しておくと共に、例えばＢＧＭを変更する等のユーザの要求に応じて、上述のように、音声が途切れたタイミングで上記付加データを一括送信する、即ち必要に応じて実時間伝送モードと一括伝送モードとを切り替えて伝送するようにしてもよいことは勿論である。
【図面の簡単な説明】
【０１２１】
【図１】本発明の実施の形態におけるＶｏＩＰシステムの一例を示す模式図である。
【図２】本発明の実施の形態におけるＶｏＩＰシステムのうち、ＶｏＩＰクライアント１１１とインターネット１３０とからなる要部を示すブロック図である。
【図３】本発明の実施の形態におけるＶｏＩＰシステムが有するＶｏＩＰクライアントとして、一般的なＰＣを使用した場合におけるＶｏＩＰクライアントアプリケーションを示す図である。
【図４】上記ＶｏＩＰクライアントアプリケーションにおけるＧＵＩの一例を示す模式図である。
【図５】本発明の実施の形態におけるＶｏＩＰシステムにおけるＶｏＩＰクライアント（ＶｏＩＰクライアント）のハードウェア構成を示すブロック図である。
【図６】図３に示すＶｏＩＰクライアントアプリケーションのうち、ＲＴＰ／ＲＴＣＰパケットを送受信する処理を示す機能ブロック図である。
【図７】（ａ）及び（ｂ）は、夫々ＲＴＰパケットの構成及びヘッダのフォーマットを示す図である。
【図８】（ａ）乃至（ｃ）は、アプリケーションによって拡張可能なＲＴＣＰ  ＡＰＰパケットの構成、そのヘッダ（RTCP APP Application-defined Header）、及び送信レポートのフォーマット例を示す図である。
【図９】本実施の形態におけるＶｏＩＰシステムにおいて、ＲＴＣＰ  ＡＰＰメッセージの交換時にやりとりされるメッセージを示す図である。
【図１０】本実施の形態における通話方法を説明する図であって、音声が途切れている際にＢＧＭデータのみをバッチ伝送する際の処理シーケンスを示す図である。
【符号の説明】
【０１２２】
１  ＶｏＩＰクライアントアプリケーション、２１  送信手段、２２  マイクキャプチャ、２３  効果音ファイル読み込み部、２４  ＢＧＭファイル読み込み部、２５，２６，３１  デコーダ、２７，２８，２９  ゲイン調整部、３０  合成部、３１  エンコーダ、３２  パケット化部、３３  送信部、４１  受信手段、４２  受信部、４３  デパケッタイズ部、４４  デジッタ部、４５  パケット補償部、４６  デコーダ、４７  読み出し部、４８  復号部、４９，５０，５１，５２  ゲイン調整部、５３  合成部、５４  出力部、５５  スピーカ、１００  ＶｏＩＰ通信システム、１１１、１２１  ＶｏＩＰクライアント、１１０，１２０  ユーザ、１１２，１２２  ウェブブラウザ、１３４  ウェブサーバ、１１３、１２３  音源データ、１３０  インターネット
【図１】
2005045740.tif 000003
【図２】
2005045740.tif 000004
【図３】
2005045740.tif 000005
【図４】
2005045740.tif 000006
【図５】
2005045740.tif 000007
【図６】
2005045740.tif 000008
【図７】
2005045740.tif 000009
【図８】
2005045740.tif 000010
【図９】
2005045740.tif 000011
【図１０】
2005045740.tif 000012