(57)【要約】【課題】非同期の複数のデジタル音声データをアナログ化せず加算して出力すること。【解決手段】入力される非同期の複数チャンネルのデジタル音声データをチャンネル毎にバッファ記憶する受信バッファ220と、受信バッファ220に記憶される複数チャンネルのデジタル音声データを所定データ量ずつ読出して加算処理する加算部230と、加算部230で加算したデジタル音声データをバッファ記憶する送信バッファ240とを備える。【選択図】図２
2018152681.tif 000002
【特許請求の範囲】
【請求項１】
入力される非同期の複数チャンネルのデジタル音声データをチャンネル毎にバッファ記憶する入力バッファと、
上記入力バッファにバッファ記憶される複数チャンネルのデジタル音声データを所定データ量ずつ読出して加算処理する加算部と、
上記加算部で加算したデジタル音声データをバッファ記憶する出力バッファと、
を備える音声加算装置。
【請求項２】
上記加算部は、上記入力バッファにバッファ記憶される複数チャンネル分のデジタル音声データを加算処理する際の上記所定データ量を上記入力バッファの記憶状態に応じて増減調整することを特徴とする、請求項１記載の音声加算装置。
【請求項３】
上記入力バッファは、上記入力されるデジタル音声データの順序情報を同時に記憶し、
上記加算部は、上記入力バッファに記憶されるデジタル音声データの順序情報により欠落部分の有無を判断し、欠落を生じたチャンネルは同チャンネルの事前のデジタル音声データを用いて補償処理する、
請求項１または２記載の音声加算装置。
【請求項４】
上記加算部は、欠落を生じたチャンネルで補償処理する時間長を制限する、請求項３記載の音声加算装置。
【請求項５】
上記加算部は、欠落を生じたチャンネルが一定長連続した時点で補償処理するデジタル音声データをフェイドアウト処理する、請求項３または４記載の音声加算装置。
【請求項６】
上記出力バッファは、複数チャンネルの音声データ出力をチャンネル毎にタイミングを分散して実行する、請求項１乃至５いずれか記載の音声加算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、音声加算装置に関する。
【背景技術】
【０００２】
インターネットを経由してリアルタイムで音声情報を送受し、電話通話を行なうＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）技術が実用化されている。このＶｏＩＰ技術を用いて、複数の話者による電話会議等を行なうべく、デジタル入力された複数の音声信号を複数回線分加算した上でデジタル出力するシステムを考える。一般に端末から入力される音声のデジタルデータは、アナログの音声信号をデジタル化して離散化させた際のサンプリングタイミング、あるいはサンプリング周期が、複数の入力音声間で同期していない。そのため、離散化された波形情報をデジタル値のままの状態で加算処理することは難しい。
【０００３】
そこで、交換機能を持つ装置で、入力された音声を一旦アナログ波形に戻して加算した後に、再度デジタル化（離散化）するようにした技術が提案されている。（例えば、特許文献１）
また、同様に、一旦アナログ波形に戻す技術として、交換機能を持つ装置ではなく、端末毎に分散して行なう技術が提案されている。（例えば、特許文献２）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０１−０２５６５６号公報
【特許文献２】特開２００５−３３３４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
入力された音声を、交換機能を持つ装置で一度アナログに戻して加算した後、再度デジタル化するという上記特許文献１に記載された技術では、入力回線数分のデジタル／アナログ変換器、出力回線数文のアナログ加算回路（ミキサ）と、アナログ／デジタル変換器が必要となり、部品点数や実装面積が増大するという不具合を有している。
【０００６】
また上記特許文献２に記載された、音声合成を端末毎にアナログ化して行なうという技術は、端末が本来有するアナログ／デジタル変換器、及びデジタル／アナログ変換器を流用することが可能であるものの、例えば、電話会議の参加者全員がそれぞれ自分以外の参加者全員の音声を聞くことのみが可能となるような、加算する音声の自由度が低いことや、各端末で音声パケット化やジッタバッファによる遅延が発生するために遅延時間が増大するなど、使い勝手に優れたシステムの構築は難しい。
【０００７】
本発明は上記のような実情に鑑みてなされたもので、その目的とするところは、同期が異なる複数の音声のデジタルデータをアナログ化せずに加算処理して出力することが可能な音声加算装置を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態の音声加算装置は、入力される非同期の複数チャンネルのデジタル音声データをチャンネル毎にバッファ記憶する入力バッファと、上記入力バッファにバッファ記憶される複数チャンネルのデジタル音声データを所定データ量ずつ読出して加算処理する加算部と、上記加算部で加算したデジタル音声データをバッファ記憶する出力バッファと、を備える。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るＶｏＩＰシステム全体の構成を示すブロック図。
【図２】同実施形態に係る図１のＶｏＩＰ交換器の詳細な回路構成を示すブロック図。
【図３】同実施形態に係る受信バッファの概念を示す図。
【図４】同実施形態に係る加算部が受信バッファからデータを入力する際の処理内容を示すフローチャート。
【図５】同実施形態に係る加算部でチャンネル毎に音声加算を行なう際の処理内容を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、一実施形態について図面を参照して詳細に説明する。
【００１１】
図１は、一実施形態に係るＶｏＩＰシステム全体の構成を示す図である。同図中、ＶｏＩＰ交換機１００と、複数のＶｏＩＰ端末１１０，１１１，‥‥，１１２とが、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク１２０により接続されて、ＶｏＩＰシステムが構成されている。
【００１２】
上記ＶｏＩＰ端末１１０，１１１，‥‥，１１２は、それぞれ電話会議用のアプリケーションプログラムをインストールしたパーソナルコンピュータやスマートフォン、会議室に固定設置された専用の音声会議装置等のいずれかで構成される。
【００１３】
上記ＩＰネットワーク１２０では、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）などの通信プロトコルで離散化されたデジタル音声データがパケット化（以下「ＶｏＩＰパケット」と称する）されて、上記ＶｏＩＰ端末１１０，１１１，‥‥，１１２とＶｏＩＰ交換機１００との間で送受される。
【００１４】
なお、ＶｏＩＰパケットを入力するＶｏＩＰ端末１１０，１１１，‥‥，１１２と、加算後のＶｏＩＰパケットを出力するＶｏＩＰ端末１１０，１１１，‥‥，１１２は、独立して設定することが可能であり、必ずしも入力と出力の端末が一致している必要はなく、ＶｏＩＰパケットを入力するのみのＶｏＩＰ端末、ＶｏＩＰパケットを出力のみのＶｏＩＰ端末がそれぞれ存在するものとしても良い。
【００１５】
図２は、上記ＶｏＩＰ交換機１００内の詳細な回路構成を示す図である。ＩＰネットワーク１２０を介して上記ＶｏＩＰ端末１１０，１１１，‥‥，１１２から与えられるＶｏＩＰパケットは、ＶｏＩＰ端末１１０，１１１，‥‥，１１２のチャンネル数分の音声入力ポート２００でそれぞれ受信され、ＶｏＩＰパケット読取り部２１０に送られる。
【００１６】
ＶｏＩＰパケット読取り部２１０で読取られたＶｏＩＰパケットは、チャンネル毎に必要によりパケット中の音声データがリニアＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データにデコードされた後に、入力側のバッファとなる受信バッファ２２０に送られ、この受信バッファ２２０で一時的にバッファ記憶される。
【００１７】
この受信バッファ２２０に順次記憶されるリニアＰＣＭデータが、各チャンネル毎に所定量ずつ加算部２３０に読出され、その時点で設定されている加算条件に応じて加算処理される。加算結果のリニアＰＣＭデータは、上記ＶｏＩＰ端末１１０，１１１，‥‥，１１２の数分のチャンネルだけ設けられた、出力側のバッファとなる送信バッファ２４０へ送出される。
【００１８】
送信バッファ２４０では、それぞれ送られてきたリニアＰＣＭデータを一時的にバッファ記憶する。この送信バッファ２４０に記憶されるリニアＰＣＭデータが、一定量ずつＶｏＩＰパケット生成部２５０により読出されて、再度ＶｏＩＰパケット化される。生成されたＶｏＩＰパケットは、出力ポート２６０を介して上記ＶｏＩＰ端末１１０，１１１，‥‥，１１２へ出力される。
【００１９】
上記受信バッファ２２０、加算部２３０、及び送信バッファ２４０の各処理を、制御部２７０が統括して制御する。この制御部２７０を含めて、ＶｏＩＰ交換機１００内の各回路には、動作クロック源２８０からそれぞれの動作に必要な動作クロックが供給される。
【００２０】
図３は、上記受信バッファ２２０において各チャンネル毎に設けられたリングバッファの構造例を示す。受信バッファ２２０は、リングバッファ、またはリングバッファと同等の機能を有するメモリによって構成される。
【００２１】
同図に示すように、デジタル化された音声データ（音声サンプル）を読出して出力するアドレス位置をｐr、入力して書込むアドレス位置をｐwとすると、その時点で保持されているデータ量Ｄは「Ｄ＝ｐw−ｐr」で表される。
【００２２】
次に上記実施形態の動作について説明する。  
受信バッファ２２０へのリニアＰＣＭデータの書込みは、前段のＶｏＩＰパケット読取り部２１０からサンプル化されたデータが送られてくるときに随時行なう。このとき、受信したパケットの順序情報、具体的にはＲＴＰのシーケンス番号やタイムスタンプ等を個々のデータ毎に対応付けて記憶しておく。
【００２３】
ＩＰネットワーク１２０内での伝送経路による時間の相違によって、すでに受信バッファ２２０に記憶しているパケットより前の古い順序情報を持つＶｏＩＰパケットが到着した場合、ＶｏＩＰパケット読取り部２１０ではそのパケットは破棄するものとし、受信バッファ２２０への書込みは行なわない。
【００２４】
また受信バッファ２２０へのデータ書込み後、ＶｏＩＰパケットに含まれていたリニアＰＣＭデータのサンプル数だけ、受信バッファ２２０の書込み位置を更新する。
【００２５】
こうしてデータが書込まれた受信バッファ２２０では、動作クロック源２８０からのクロックを分周して読出しタイミングを作成し、入力されるリニアＰＣＭデータのサンプリング周期で１サンプルずつデータを読出して加算部２３０へ送出する。
【００２６】
上記制御部２７０による制御において、ＶｏＩＰ端末１１０，１１１，‥‥，１１２のクロック周波数と、ＶｏＩＰ交換機１００のクロック周波数との差を調整するためのパラメータをＡ、受信バッファ２２０でのバッファ量目標値をＢ、上記図３で示した、バッファ２２０の書込みアドレス位置から読出しアドレス位置までの差となるデータ量をＤ、受信バッファ２２０からの読出しアドレス位置をｐとする。
【００２７】
上述の条件で受信バッファ２２０からの読出しアドレス位置を更新するものとした場合、受信バッファ２２０から読出すリニアＰＣＭデータのサンプルｓは、線形補間を行なうべく次式
【００２８】
【数１】
2018152681.tif 000003
【００２９】
(但し、pfrac：読出しアドレス位置ｐの小数部、  
ｓ(ｐb)：アドレス位置ｐbに保持されているデータ、  
ｓ(ｐf)：アドレス位置ｐfに保持されているデータ。)  
により算出する。
【００３０】
ここで上記調整パラメータＡの値は、ＶｏＩＰ端末１１０，１１１，‥‥，１１２のクロック周波数と、ＶｏＩＰ交換機１００のクロック周波数との差をＥc［％］とすると、次式  
１＞Ａ≧｜Ｅc／１００｜                              …(2)  
の関係を成立させる必要がある。
【００３１】
上記Ａの値を大きくすることで、受信バッファ２２０のバッファ量の目標値Ｂへの追従度を高くし、バッファ量の変化の時定数を小さくすることが可能となる。その反面、Ａの値を無闇に大きくすることは、再生時に速度の変動、すなわち再生音声の波形の伸縮が生じるため、推奨できない。
【００３２】
ＶｏＩＰパケットの受信間隔が揺らいでジッタを生じる影響を排除するべく、受信バッファ２２０からの読出し動作は、受信バッファ２２０にある程度のデータ量が保持された時点で開始する。
【００３３】
加えて、受信バッファ２２０からの読出し動作は、処理による遅延時間を最小化するために、パケットの受信間隔の揺らぎによって想定されるパケット到着間隔の最大値Ｔj以上のデータサンプル数が保持された時点、すなわち次式  
Ｄ×Ｔ＞Ｔj                                          …(3)  
(但し、Ｔ：音声のサンプリング間隔、  
Ｄ：受信バッファの書込みアドレス位置から読出しアドレス位置までの差。)  
が成立した時点からとするのが最適である。
【００３４】
また、受信バッファ２２０が保持するデータ量の目標値Ｂは、パケットの受信間隔の揺らぎによって想定されるパケット到着間隔の最大値Ｔj、クロックずれの調整パラメータＡ、ＶｏＩＰ端末１１０，１１１，‥‥，１１２のクロック周波数とＶｏＩＰ交換機１００のクロック周波数との差の最大値Ｅc［％］からなる、以下の式
【００３５】
【数２】
2018152681.tif 000004
【００３６】
を満たす必要がある。加えて、受信バッファ２２０が保持するデータ量の目標値Ｂは、処理による遅延時間を最小化するため、できうる限り小さい値を設定することが望ましい。
【００３７】
図４は、実際に上記制御部２７０の制御の下で、当該チャンネルにおいて加算部２３０が上記受信バッファ２２０からデータを１サンプルずつ読出して入力する際の一連の処理内容を示すフローチャートである。
【００３８】
処理当初に制御部２７０は、その時点での、受信バッファ２２０の読出しアドレス位置ｐのフロア位置｜_ｐ_｜を、あらためて読出しアドレス位置ｐbとして設定する（ステップＳ１０１）。
【００３９】
次いで制御部２７０は、設定した前回の読出しアドレス位置ｐbを「＋１」更新設定した値を、読出しアドレス位置ｐfとして設定する（ステップＳ１０２）。
【００４０】
さらに制御部２７０は、この読出しアドレス位置ｐから上記読出しアドレス位置ｐbを減算した差である小数部をｐfracとして設定する（ステップＳ１０３）。
【００４１】
こうして各変数ｐb、ｐf、ｐfracの設定を終えると、制御部２７０はまず前回の読出しアドレス位置ｐbが、現在読取り中のパケットの末尾付近であるか否か、具体的には現在読取り中のパケットの末尾、または末尾の１つ前の音声データの受信バッファ位置を示すか否かにより、末尾以降のデータの欠落に備えるべきかどうかを判断する（ステップＳ１０４）。
【００４２】
ここで前回の読出しアドレス位置ｐbが、現在読取り中のパケットの末尾付近であると判断した場合（ステップＳ１０４のＹｅｓ）、末尾以降のデータの欠落を生じる可能性があるため、制御部２７０はその時点で更新に際してアドレス位置ｐの調整を行なわないものとして、そのままアドレス位置ｐを「＋１」更新設定する（ステップＳ１０５）。
【００４３】
また上記ステップＳ１０４において、前回の読出しアドレス位置ｐbが、現在読取り中のパケットの末尾付近ではないと判断した場合（ステップＳ１０４のＮｏ）、まだ受信バッファ２２０に保持されているデータ量に余裕があるものとして、制御部２７０は次に上記データ量Ｄがバッファ量目標値Ｂより少ない（Ｄ＜Ｂ）か否か、すなわちその時点で該当する受信バッファ２２０に一時記憶されているデータ量が少なめであるか否かを判断する（ステップＳ１０６）。
【００４４】
ここで上記データ量Ｄがバッファ量目標値Ｂより少ないと判断した場合（ステップＳ１０６のＹｅｓ）、制御部２７０は上記アドレス位置ｐを「＋１」更新設定した上で上記調整パラメータＡ分だけ減算した値「ｐ＋１−Ａ」をあらためてアドレス位置ｐとして更新設定する（ステップＳ１０７）。
【００４５】
また上記ステップＳ１０６において、上記データ量Ｄがバッファ量目標値Ｂ以上であると判断した場合（ステップＳ１０６のＮｏ）、制御部２７０は上記アドレス位置ｐを「＋１」更新設定した上で上記調整パラメータＡ分だけさらに加算した値「ｐ＋１＋Ａ」をあらためてアドレス位置ｐとして更新設定する（ステップＳ１０８）。
【００４６】
なお上記ステップＳ１０６においては、上述した判断に代えて、上記データ量Ｄがバッファ量目標値Ｂ以下である（Ｄ≦Ｂ）か否かを判断することにより、上記データ量Ｄがバッファ量目標値Ｂと等しい場合も含めて、該当する受信バッファ２２０に一時記憶されているデータ量が少なめである場合と同等の処理を行なうものとしても良い。
【００４７】
こうして上記ステップＳ１０５，Ｓ１０７，Ｓ１０８のいずれかでアドレス位置ｐを更新設定した後、制御部２７０はあらためてそのアドレス位置ｐに基づいたフロア位置｜_ｐ_｜が、受信バッファ２２０において現在読出し中のパケット末尾の音声サンプルデータの次の読出し位置であるか否かを確認する（ステップＳ１０９）。
【００４８】
ここで次の読出し位置を読出そうとしていると判断した場合（ステップＳ１０９のＹｅｓ）、制御部２７０はさらに現在読出し中の順序番号の次の順序番号を持つパケットデータが受信バッファ２２０の当該アドレス位置にあるか否かにより、その前のデータと時間的に連続したデータであるか否かを判断する（ステップＳ１１０）。
【００４９】
次の順序番号を持つパケットデータが受信バッファ２２０の当該アドレス位置になく、時間的に連続したデータではなかったと判断した場合（ステップＳ１１０のＮｏ）、データの欠落が生じていることとなるので、制御部２７０は次にそのチャンネルで欠落状態となってから、以下の分岐を行なうまでの処理の連続回数が予め決められた回数未満であるか否かにより、欠落状態に前に出力した音声を繰返し出力する補償処理が一定時間未満であるか否かを判断する（ステップＳ１１２）。
【００５０】
欠落状態の補償処理が一定時間未満であると判断した場合（ステップＳ１１２のＹｅｓ）、制御部２７０はアドレス位置ｐを１パケットのサンプルデータ数「Ｌp」分だけ減算処理して更新設定することで、前回出力した音声を繰返し出力させるものとし、併せて次の読出しアドレス位置ｐfも同様に１パケットのサンプルデータ数「Ｌp」分だけ減算処理して更新設定する（ステップＳ１１３）。
【００５１】
さらに、制御部２７０は欠落状態の補償処理を行なっている時間に合わせて当該音声データのサンプルの出力ゲインを随時減衰するように設定することで間欠状態のフェイドアウト処理設定を行なう（ステップＳ１１４）。
【００５２】
また上記ステップＳ１１２において、欠落状態の補償処理が一定時間に達していると判断した場合には（ステップＳ１１２のＮｏ）、制御部２７０は当該チャンネルの音声の受信が一定時間分途絶した状態であり、ＶｏＩＰのデータパケットの受信が途絶状態にあり、上記のような前回の音声の繰返し出力による補償処理がかえって不自然であるものと判断して、読取り開始条件が満たされるまで当該チャンネルにおける受信バッファ２２０からの音声データの読取り処理を一旦中止する（ステップＳ１１８）。
【００５３】
なお、音声のデータの読出しを中止していたチャンネルに対応する受信バッファ２２０においては、あらたに読出しの開始条件が成立した段階で、受信バッファ２２０からの音声のデータの読出しを再開する。
【００５４】
音声のデータの読出しを開始していないチャンネルの受信バッファ２２０、または音声のデータの読出しを中止しているチャンネルの受信バッファ２２０では、制御部２７０がその出力タイミングに合わせて無音に相当する音声のデータ、または無音を示す情報を加算部２３０に出力して、加算処理させる。
【００５５】
また上記ステップＳ１１０において、次の順序番号を持つパケットデータが受信バッファ２２０の当該アドレス位置にあり、時間的に連続したデータであると判断した場合（ステップＳ１１０のＹｅｓ）、制御部２７０はその時点で上記ステップＳ１１４での処理による、当該チャンネルで音声のデータサンプルに関する出力ゲインの減衰設定を行なっていた場合にのみ、当該減衰設定を解除して元の出力ゲインに戻す（ステップＳ１１１）。
【００５６】
上記ステップＳ１１１またはステップＳ１１４の処理後、制御部２７０は現在読出し中のパケットの順序番号を「＋１」更新設定する（ステップＳ１１５）。このステップＳ１１５の後、及び上記ステップＳ１０９において、アドレス位置ｐに基づいたフロア位置｜_ｐ_｜が、受信バッファ２２０で次の読出し位置ではないと判断した場合（ステップＳ１０９のＮｏ）、制御部２７０は上記式（１）で示した線形補間の式を用いて受信バッファ２２０から音声のデータサンプルを順次読出して加算部２３０へ出力させる（ステップＳ１１６）。
【００５７】
なお、上記ステップＳ１１４における、音声が欠落している状態で繰返し出力する音声を減衰させるフェイドアウト処理と、上記ステップＳ１１１における、上記フェイドアウト処理の状態を解除して通常の音声出力レベルに戻す処理とは、図中に当該ステップを記号「（  ）」で挟んで示すように、省略するものとしても良い。
【００５８】
以上で、制御部２７０が当該チャンネルにおける受信バッファ２２０から音声データを読出し、加算部２３０へ出力して加算させる処理を一旦終了し、次に同様の処理を行なうべく受信バッファ２２０からの読出しタイミングとなるまで待機することで、一連の処理を終了する（ステップＳ１１７）。
【００５９】
次に加算部２３０での加算処理と加算処理後の動作についても説明する。  
加算部２３０では、チャンネル毎に時分割で受信バッファ２２０から読出される音声のデータを入力するのに合わせて、図５に示すような加算処理をチャンネル毎に実行して、出力バッファである送信バッファ２４０へ出力する。
【００６０】
図５は、制御部２７０の制御の下に、加算部２３０でチャンネル毎に実行される音声の加算処理の内容を示すフローチャートである。  
なおここで、出力チャンネルｏ（オー）に出力する、加算元の入力チャンネル番号は、２次元メモリ、あるいは２次元メモリに相当するＣａｄｄ(ｏ，１)、Ｃａｄｄ(ｏ，２)、…、Ｃａｄｄ(ｏ，ｍ)に保持されているものとする。
【００６１】
その処理当初に当該チャンネルのチャンネル番号ｃを出力チャンネル番号ｏに代入した上で（ステップＳ２０１）、出力チャンネル毎に、加算するチャンネルのデータのサンプルを、受信バッファ２２０から入力して一時保持している１サンプル保持メモリから読出して、順次積算処理する演算を全ｍチャンネル分実行し、その積算値ｓoを算出する（ステップＳ２０２）。
【００６２】
加算部への入力サンプル値ｓをあらためて当該チャンネルｃの上記１サンプル保持メモリに更新記憶させ（ステップＳ２０３）、以上でこの図５の処理を一旦終了する。
【００６３】
加算部２３０で各チャンネル毎に上記図５に示した音声の加算処理が実行され、その結果であるｓｏが、順次出力バッファとしての送信バッファ２４０に書込まれる。
【００６４】
送信バッファ２４０への書込み位置の初期値は、出力するチャンネル毎になるべく同じ位置を持たせないようにしておく。このときに送信バッファ２４０に設定する初期値の一例を、上記１パケットのサンプルデータ数「Ｌp」を用いた、フロア（床関数）による次式
【００６５】
【数３】
2018152681.tif 000005
【００６６】
により示す。このように出力チャンネル毎に書込み位置の初期値を異ならせることは、換言すると送信バッファ２４０のアドレス先頭から書込み位置の初期値まで、ダミーデータを書込んだ状態とすることと考えることもできる。
【００６７】
ＶｏＩＰパケット生成部２５０では、対応するチャンネルの送信バッファ２４０に１パケット分を満たすサンプル量のデータが蓄積されたタイミングで、送信バッファ２４０から音声データのサンプルを読出してＶｏＩＰパケットを順次生成し、出力ポート２６０より出力させる。
【００６８】
このように送信バッファ２４０での書込み位置の初期値を出力チャンネル毎に異ならせることで、ＶｏＩＰパケット生成部２５０で生成されるＶｏＩＰパケットの生成タイミングを分散させ、結果として出力ポート２６０からＩＰネットワーク１２０へ出力されるデータの量の時間軸上での変化、すなわち通信路における負荷の変化を平滑化できる。
【００６９】
以上詳述した如く本実施形態によれば、
同期が異なる複数の音声のデジタルデータをアナログ化せずに加算処理して出力することが可能となる。
【００７０】
また上記実施形態では、受信バッファ２２０から読出して加算部２３０で加算するデータ量に関し、受信バッファ２２０でバッファ記憶しているデータの量に応じて調整パラメータＡを用いて増減調整を行なうものとしているので、リアルタイム性が要求されるＶｏＩＰシステムにおいて、追従性を高めながら効率良く加算処理を実行できる。
【００７１】
加えて上記実施形態では、受信するＶｏＩＰパケットに欠落を生じたチャンネルにおいて、その直前に受信したデータを用いて補償処理するものとしたので、複数チャンネル中の欠落を生じたチャンネルも一定時間内であれば違和感を少なく処理できる。
【００７２】
その場合、補償している時間を制限することで、かえって不自然な音声となることを回避できる。
【００７３】
さらに、上記補償処理を行なう際には、補償する音声の出力レベルを順次減衰させるフェイドアウト処理をかけることで、音声の補償をより自然に停止させることができる。
【００７４】
実施形態を説明したが、前記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７５】
１００…ＶｏＩＰ交換機、１１０，１１１，１１２…ＶｏＩＰ端末、１２０…ＩＰネットワーク、２００…音声入力ポート、２１０…ＶｏＩＰパケット読取り部、２２０…受信バッファ、２３０…加算部、２４０…送信バッファ、２５０…ＶｏＩＰパケット生成部、２６０…出力ポート、２７０…制御部、２８０…動作クロック源。
【図１】
2018152681.tif 000006
【図２】
2018152681.tif 000007
【図３】
2018152681.tif 000008
【図４】
2018152681.tif 000009
【図５】
2018152681.tif 000010