(57)【要約】【課題】通信システムにおける遅延プロファイリング。【解決手段】音声データのフレームを含む音声ストリームを通す複数の通信モジュールを含む通信システムのための方法が、通信モジュールのうちの１つに音声ストリームを受け取る段階と、フレームのうちの１つを選択する段階と、第２のデータを識別する段階と、フレームの１つのフレーム内の音声データの一部分を第２のデータと置き換える段階と、通信システム内の通信モジュールの１つから第２のデータを含む音声データのフレームの１つのフレームを含む音声ストリームを送信する段階とを含む。【選択図】図４
2007295578.tif 000002
【特許請求の範囲】
【請求項１】
音声データのフレームを含む音声ストリームを通す複数の通信モジュールを含む通信システムのための方法であって、
通信モジュールのうちの１つに音声ストリームを受け取る段階と、
フレームのうちの１つを選択する段階と、
第２のデータを識別する段階と、
フレームのうちの１つのフレーム内の音声データの一部分を第２のデータと置き換える段階と、
通信システム内の通信モジュールのうちの１つから、第２のデータを含む音声データのフレームのうちの１つを含む音声ストリームを送信する段階とを含む方法。
【請求項２】
第２のデータは、音声データのフレームの１つが通信モジュールの１つの中にある時間を表わすタイムスタンプを含む、請求項１に記載の方法。
【請求項３】
通信モジュールのうちの更に他の１つに音声ストリームを受け取る段階と、
音声ストリーム内の音声データのフレームのうちの１つが、モジュールのうちの更に他の１つの中にある時間を表わす更に他のタイムスタンプを生成する段階と、
フレームのうちの１つの中の音声データの更に他の一部分を更に、他のタイムスタンプと置き換える段階と、
通信モジュールのうちの更に他の１つから、タイムスタンプと更に他のタイムスタンプとを含む音声データのフレームのうちの１つを含む音声ストリームを送信する段階とを含む、請求項２に記載の方法。
【請求項４】
タイムスタンプと更に他のタイムスタンプとに基づいて音声データのフレームのうちの１つのフレームの遅延を決定する段階を更に含む、請求項３に記載の方法。
【請求項５】
音声ストリームを符号化する段階であって、
エンコーダに各フレームを受け取る段階を含む段階と、
フレームに基づいて符号化フレームを生成する段階であって、
所定のサイズをそれぞれ有する音声データの圧縮フレームを生成する段階であって、フレームのうちの第２のデータを含む１つのフレーム以外の音声データのフレームを圧縮する段階を含む段階と、フレームのうちの第２のデータを含む１つのフレームのサイズを所定のサイズに縮小する段階であって、フレームのうちの第２のデータを含む１つのフレームから第２のデータ以外のデータを破棄する段階を含む段階と、
エンコーダにフレームを受け取った後に所定の間隔でエンコーダから各符号化フレームを送信する段階とを含む段階を更に含む、請求項１に記載の方法。
【請求項６】
音声ストリームを復号する段階であって、
デコーダに各フレームを受け取る段階とを含む段階と、
フレームに基づいて非符号化フレームを生成する段階であって、
所定のサイズをそれぞれ有する音声データの展開されたフレームを生成する段階であって、フレームのうちの第２のデータを含む１つのフレーム以外の音声データのフレームを展開する段階を含む段階と、
第２のデータを含むフレームのうちの１つのサイズを大きくする段階であって、フレームのうちの第２のデータを含む１つのフレームにデータを追加する段階を含む段階と、
デコーダにフレームを受け取った後に所定の間隔でデコーダから各非符号化フレームを送信する段階とを含む段階を更に含む、請求項１に記載の方法。
【請求項７】
第２のデータを生成する段階であって、
第３のデータを識別する段階と、
非可逆コーデックの複数の固定小数点のうちの１つの固定小数点の符号化値を第３のデータの値に従って選択する段階であって、非可逆コーデックが、符号化値の１つを複数の非符号化値の１つとそれぞれ関連付ける複数の固定小数点を有する段階と、
複数の固定小数点の１つの固定小数点の非符号化値を第２のデータに割り当てる段階とを含む段階を更に含み、
引き続きフレームが、非可逆コーデックのインスタンスによって符号化される、請求項１に記載の方法。
【請求項８】
非可逆コーデックのインスタンスを使用して音声データのフレームを符号化する段階を更に含む、請求項７に記載の方法。
【請求項９】
第２にデータを生成する段階であって、
第３のデータを識別する段階と、
非可逆コーデックの複数の固定小数点のうちの１つの固定小数点の非符号化値を第３のデータの値に従って選択する段階であって、非可逆コーデックが、非符号化値の１つを複数の符号化値の１つとそれぞれ関連付ける複数の固定小数点を有する段階と、
複数の固定小数点のうちの１つの固定小数点の符号化値を第２のデータに割り当てる段階とを含む段階を更に含み、
引き続きフレームが、非可逆コーデックのインスタンスに復号される、請求項１に記載の方法。
【請求項１０】
非可逆コーデックのインスタンスを使用してフレームを復号する段階を更に含む、請求項９に記載の方法。
【請求項１１】
請求項１に記載の方法を実行する装置。
【請求項１２】
請求項１に記載の方法を実行するようにコンピュータに指示する命令のプログラムを有するコンピュータ可読記憶媒体。
【請求項１３】
第１のデータのフレームを含むデータストリームを受け取る段階と、
第２のデータを識別する段階と、
非可逆コーデックの固定小数点の非符号化値を、第２のデータの値と、第２のデータの複数の可能な値のそれぞれを非符号化値のうちの１つと関連付けるマップとに従って選択する段階であって、非可逆コーデックが、複数の非符号化値のうちの１つの非符号化値を複数の符号化値のうちの１つとそれぞれ関連付ける複数の固定小数点を有する段階と、
フレームのうちの１つのフレーム内の第１のデータの少なくとも一部分を、選択された非符号化値と置き換える段階とを含み、
引き続きフレームが、非可逆コーデックのインスタンスによって符号化される方法。
【請求項１４】
第１のデータのフレームが、第１のデータのフレームを受け取る前に非可逆コーデックの更に他のインスタンスによって既に復号されている、請求項１３に記載の方法。
【請求項１５】
非可逆コーデックのインスタンスを使用してフレームを符号化する段階を更に含む、請求項１３に記載の方法。
【請求項１６】
非可逆コーデックの更に他のインスタンスを使用してフレームを復号する段階と、
第２のデータを復元する段階であって、
第１のフレームのうちの１つのフレームから非符号化値を復元する段階と、
非符号化値のそれぞれを複数のデータ値のうちの１つと関連付ける更に他のマップにおいて、第１のフレームのうちの１つから復元された非符号化値に従って第２のデータを識別する段階とを含む段階を更に含む、請求項１３に記載の方法。
【請求項１７】
請求項１３に記載の方法を実行する装置。
【請求項１８】
請求項１３に記載の方法を実行するようにコンピュータに指示するプログラムを有するコンピュータ可読記憶媒体。
【請求項１９】
第１のデータのフレームを含むデータストリームを受け取る段階と、
第２のデータを識別する段階と、
非可逆コーデックの固定小数点の符号化値を、第２のデータの値と、第２のデータの複数の可能な値のそれぞれを符号化値のうちの１つと関連付けるマップとに従って選択する段階であって、非可逆コーデックが、複数の符号化値の１つを複数の非符号化値の１つとそれぞれ関連付ける複数の固定小数点を有する段階と、
フレームのうちの１つのフレーム内の第１のデータの少なくとも一部分を、選択された符号化値と置き換える段階とを含み、
引き続きフレームが、非可逆コーデックのインスタンスによって復号される方法。
【請求項２０】
第１のデータのフレームは、第１のデータのフレームを受け取る前に非可逆コーデックの更に他のインスタンスによって既に符号化されている、請求項１９に記載の方法。
【請求項２１】
非可逆コーデックのインスタンスを使用してフレームを復号する段階を更に含む、請求項１９に記載の方法。
【請求項２２】
非可逆コーデックの更に他のインスタンスを使用してフレームを符号化する段階と、
第２のデータを復元する段階であって、
第１のフレームの１つから符号化値を復元する段階と、
第２のデータを、符号化値のそれぞれを複数のデータ値のうちの１つと関連付ける更に他のマップにおいて、第１のフレームの１つから復元した符号化値に従って識別する段階を含む段階を更に含む、請求項１９に記載の方法。
【請求項２３】
請求項１９に記載の方法を実行する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ通信に関する。より詳細には、本発明は、通信システムにおける遅延プロファイリングに関する。
【背景技術】
【０００２】
音声会議システムとテレビ会議システムは、人気が高まってきている通信形態である。そのようなシステムでは、音声チャネルの品質が最も重要である。従って、これらのシステムに参加者が積極的に利用できるようにするには、音声記録と音声再生との間の遅延が小さくなければならない。遅延が大きすぎると、参加者が互いに「トークオーバー」することになり、会話の自然なペースと流れを維持することができない。
【０００３】
このような会議システムの音声チャネルは、一般に、多数の個別のモジュールからなり、各モジュールが、システム内を流れる音声フレームの全体的な遅延の原因となる。モジュールによっては、例えば、許容できない音声品質を生成するネットワーク変動を補償するために、意図的に大量の遅延を与えるものがある。そうしないと、１つのモジュールが、計算処理的にコスト高になり、入力から出力を生成するのに必要な時間が長くなり、それにより全体的な遅延に大きな影響を及ぼす可能性がある。場合によっては、モジュールでの過剰な遅延は、ソフトウェアバグによって引き起こされ、設計時に修正できることがある。他の場合には、システムは、適正に動作するが、実際の設置環境ではかなり慎重な構成を使用している。
【０００４】
【特許文献１】米国特許出願公開第２００５／０２３７３７８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
音声コンテンツチャネルをプロファイリングするためのいくつかの従来の手法が存在する。１つの従来の手法は、ループバックによるラウンドトリップ時間測定である。一般的な音声会議システムでは、１人のユーザから記録されたスピーチは、他の会議参加者に向けて再生されるが、話している人には再生されない。それは、そうすると、うるさいエコーと似た音が発生し、騒々しくなるからである。しかしながら、診断用として、多くの音声会議システムにはループバックモードがあり、話しているユーザの音声は、システム内で通常通り進行した後でそのユーザに向けて再生される。これは、単一の開発業者が使用することができる単純なラウンドトリップ遅延メトリックを提供する。その実施方法は、マイクロフォンに向かって話し、入力がいつ再生され聞こえたかをストップウォッチを使って記録するのと同じくらい単純である。より正確な実施方法は、会議クライアントに自分のタイマーを使用わせて、一意に識別した音声パケットのラウンドトリップ遅延を計算することである。しかしながら、この手法にはいくつかの欠点がある。第１に、ラウンドトリップ時間だけが測定され、個々のシステムモジュールのどれが問題の遅延源であるかが示されない。第２に、受け取った音声フレームを、送ったフレームと突き合わせなければならず、それには、すべてのフレームの状態情報を管理し照合しなければならずコストがかかる可能性がある。
【０００６】
別の従来の手法は、代替の状態チャネルを使用するプロファイリングである。この手法により、タイミング情報が、音声コンテンツチャネルの外部に送られる。例えば、バッファは、含まれるフレーム数に関する情報をファイルに書き込むか、その情報を中央監視サービスに送る。この手法にもいくつかの欠点がある。第１に、音声フレームを送ったフレームと突き合わせなければならず、それには、すべてのフレームの状態情報を管理し照合しなければならずコストがかかる可能性がある。第２に、状態チャネルは、必要とされるリソースを消費することがあり、システムの挙動に影響を及ぼし、収集する遅延プロファイリング情報を無効にする。例えば、会議クライアントと監視サービスが同じネットワークインタフェースを使用する場合は、入って来る状態情報が、入って来る音声に必要な帯域幅を占有する可能性がある。第３に、複数の装置からのプロファイリング情報の合成が困難である可能性がある。集中化されたクロックを必要とする場合もあり、複数のクロックを同期させなければならない場合もある。
【０００７】
別の従来の手法は、関数タイミング（プログラムの実行時挙動をプロファイリングする汎用ツール）によるプロファイリングである。多くのプログラミング言語では、命令シーケンスは、再使用可能な関数内にカプセル化される。（同じか又は類似のメカニズムの他の用語には、サブルーチン、メソッド、プロシージャなどがある。）関数タイミングツールは、使用されるとき、一般に、特別なターゲット実行可能コードを作成し、各関数を使い始めて使い終わった時間が記録される。各関数が呼び出された回数などの付加的な情報を記録することができる。関数タイミングを利用して、プログラマは、パフォーマンスを低下させる原因となるプログラムソースファイルの特定部分を識別することができる。しかしながら、この手法にはいくつかの欠点がある。まず、ステートメントの関数への分割が、音声フレーム操作の論理的ステージに対応しないことがある。特に複数の実行スレッドが含まれるときには、個別又は平均のフレームパフォーマンスに関する情報を抽出しにくい場合がある。第２に、プロファイリングされた関数の数とタイプによっては、システム性能が大きな影響を受ける場合がある。これは、遅延の客観的評価と主観的評価の両方に影響を及ぼす可能性がある。第３に、複数の装置からのプロファイリング情報の合成が困難な場合がある。
【課題を解決するための手段】
【０００８】
一般に、一態様においては、本発明は、音声データのフレームを含む音声ストリームを通す複数の通信モジュールを含む通信システムのための方法を特徴とし、この方法は、通信モジュールのうちの１つに音声ストリームを受け取る段階と、フレームのうちの１つを選択する段階と、第２のデータを識別する段階と、フレームのうちの１つのフレーム内の音声データの一部分を第２のデータと置き換える段階と、通信システム内の通信モジュールの１つから第２のデータを含む音声データのフレームの１つのフレームを含む音声ストリームを送信する段階とを含む。
【０００９】
いくつかの実施形態においては、第２のデータは、音声データのフレームのうちの１つが通信モジュールのうちの１つの通信モジュール内にある時間を表わすタイムスタンプを含む。いくつかの実施形態は、通信モジュールのうちの更に他の通信モジュールに音声ストリームを受け取る段階と、音声ストリーム内の音声データのフレームの１つが、モジュールのうちの更に他のモジュール内にある時間を表わす更に他のタイムスタンプを生成する段階と、フレームの１つのフレーム内の音声データの更に他の一部分を更に他のタイムスタンプと置き換える段階と、通信モジュールのうちの更に他の通信モジュールからタイムスタンプと更に他のタイムスタンプを含む音声データのフレームの１つを含む音声ストリームを送信する段階とを含む。いくつかの実施形態は、タイムスタンプと更に他のタイムスタンプとに基づいて音声データのフレームのうちの１つの遅延を決定する段階を含む。いくつかの実施形態は、音声ストリームを符号化する段階であって、エンコーダにフレームのそれぞれを受け取る段階を含む段階と、フレームに基づいて符号化フレームを生成する段階であって、所定のサイズをそれぞれ有する音声データの圧縮したフレームを生成する段階であって、第２のデータを含むフレームのうちの１つのフレーム以外の音声データのフレームを圧縮する段階を含む段階と、第２のデータを含むフレームのうちの１つのフレームのサイズを所定のサイズに縮小する段階とを含む段階であって、第２のデータを含むフレームの１つから第２のデータ以外のデータを破棄する段階を含む段階と、エンコーダにフレームを受け取った後の所定の間隔でエンコーダから各符号化フレームを送信する段階とを含む段階を更に含む。いくつかの実施形態は、音声ストリームを復号する段階であって、デコーダに各フレームを受け取る段階を含む段階と、フレームに基づいて非符号化フレームを生成する段階であって、所定のサイズをそれぞれ有する音声データの展開したフレームを生成する段階であって、フレームのうちの第２のデータを含む１つのフレーム以外の音声データのフレームを展開する段階を含む段階と、第２のデータを含むフレームの１つのフレームのサイズを所定のサイズに大きくする段階であって、フレームのうちの第２のデータを含む１つのフレームにデータを加える段階を含む段階と、デコーダにフレームを受け取った後に所定の間隔でデコーダから各非符号化フレームを送信する段階とを含む段階を更に含む。いくつかの実施形態は、第３のデータを識別する段階を含む第２のデータを生成する段階と、第３のデータの値に従って非可逆コーデックの複数の固定小数点のうちの１つの固定小数点の符号化値を選択する段階であって、非可逆コーデックが、符号化値のうちの１つ複数の非符号化値のうちの１つとそれぞれ関連付ける複数の固定小数点を有する段階と、複数の固定小数点のうちの１つの固定小数点の非符号化値を第２のデータに割り当てる段階とを含み、引き続きフレームが、非可逆コーデックのインスタンスによって符号化される。いくつかの実施形態は、非可逆コーデックのインスタンスを使用して音声データのフレームを符号化する段階を含む。いくつかの実施形態は、第３のデータを識別する段階を含む第２のデータを生成する段階と、第３のデータの値に従って非可逆コーデックの複数の固定小数点のうちの１つの固定小数点の非符号化値を選択する段階であって、非可逆コーデックが、非符号化値のうちの１つを複数の符号化値のうちの１つとそれぞれ関連付ける複数の固定小数点を有する段階と、複数の固定小数点のうちの１つの固定小数点の符号化値を第２のデータに割り当てる段階とを含み、引き続きフレームが、非可逆コーデックのインスタンスによって復号される。いくつかの実施形態は、非可逆コーデックのインスタンスを使用してフレームを復号する段階を含む。いくつかの実施形態は、この方法を実行する装置を含む。いくつかの実施形態は、この方法を実行するためのコンピュータプログラムを含む。
【００１０】
一般に、一態様において、本発明は、第１のデータのフレームを含むデータストリームを受け取る段階と、第２のデータを識別する段階と、非可逆コーデックの固定小数点の非符号化値を、第２のデータの値と、第２のデータの複数の可能な値のそれぞれを非符号化値のうちの１つと関連付けるマップとに従って選択する段階であって、非可逆コーデックが、複数の非符号化値のうちの１つの非符号化値を複数の符号化値のうちの１つとそれぞれ関連付ける複数の固定小数点を有する段階と、フレームのうちの１つのフレーム内の第１のデータの少なくとも一部分を選択された非符号化値と置き換える段階とを含み、引き続きフレームが、非可逆コーデックのインスタンスによって符号化される方法を特徴とする。
【００１１】
いくつかの実施形態では、第１のデータのフレームは、第１のデータのフレームを受け取る前に非可逆コーデックの更に他のインスタンスによって既に復号されている。いくつかの実施形態は、非可逆コーデックのインスタンスを使用してフレームを符号化する段階を含む。いくつかの実施形態は、非可逆コーデックの更に他のインスタンスを使用してフレームを復号する段階と、第２のデータを復元する段階であって、第１のフレームの１つから非符号化値を復元する段階と、第２のデータを、非符号化値のそれぞれを複数のデータ値のうちの１つと関連付ける更に他のマップにおいて、第１のフレームの１つから復元した非符号化値に従って識別する段階とを含む段階とを含む。いくつかの実施形態は、この方法を実行する装置を含む。いくつかの実施形態は、この方法を実行するためのコンピュータプログラムを含む。
【００１２】
一般に、一態様において、本発明は、第１のデータのフレームを含むデータ・ストリームを受け取る段階と、第２のデータを識別する段階と、非可逆コーデックの固定小数点の符号化値を選択する段階であって、非可逆コーデックが、第２のデータの値と、第２のデータの複数の可能な値のそれぞれを符号化値のうちの１つと関連付けるマップとに従って、複数の符号化値のうちの１つを複数の非符号化値のうちの１つとそれぞれ関連付ける複数の固定小数点を有する段階と、フレームのうちの１つのフレーム内の第１のデータの少なくとも一部分を選択された符号化値と置き換える段階とを含み、引き続きフレームが、非可逆コーデックのインスタンスによって復号される方法を特徴とする。
【００１３】
いくつかの実施形態では、第１のデータのフレームは、第１のデータのフレームを受け取る前に非可逆コーデックの更に他のインスタンスによって既に符号化されている。いくつかの実施形態は、非可逆コーデックのインスタンスを使用してフレームを復号する段階と含む。いくつかの実施形態は、非可逆コーデックの更に他のインスタンスを使用してフレームを符号化する段階と、第２のデータを復元する段階であって、第１のフレームの１つから符号化値を復元する段階を含む段階と、第２のデータを、符号化値のそれぞれを複数のデータ値のうちの１つと関連付ける更に他のマップにおいて、第１のフレームのうちの１つから復元された符号化値に従って識別する段階とを含む。いくつかの実施形態は、この方法を実行するための装置を含む。いくつかの実施形態は、この方法の実行のためのコンピュータプログラムを含む。
【００１４】
１つ又は複数の実施態様の詳細は、添付図面及び以下の説明で説明される。他の特徴は、説明と図面及び特許請求の範囲から明らかになるであろう。
【発明を実施するための最良の形態】
【００１５】
本明細書に使用される各参照番号の最初の桁は、参照番号が最初に現われる図面の番号を示す。
【００１６】
本明細書で使用されるとき、「クライアント」と「サーバ」という用語は、一般に、電子的装置又は機構を指す。本明細書で使用されるとき、用語「機構」は、ハードウェア、ソフトウェア又はこれらの任意の組み合わせを指す。これらの用語は、以下の説明を単純化するために使用される。本明細書で説明するクライアント、サーバ、及び機構は、任意の標準的な汎用コンピュータ上に実施することもでき、専用装置として実施することもできる。
【００１７】
実時間音声会議システムにおいては、音声記録と音声再生の間の過度の遅延は会話を妨げ、参加者の利用を消極的にする。本発明の実施形態は、単一の音声フレームが音声会議システムの多数の構成モジュールを通過するときにその音声フレームに生じる遅延量を求めることができる。次に、更なるシステム開発の際に、或いはシステムパラメータの手動又は自動の実時間同調によって、遅延を改善することができる。本発明の実施形態は、既存の音声コンテンツチャネルを利用する。この音声コンテンツチャネルによって、高度な開発段階において実施形態をシステムで容易に実現することができ、またシステムの挙動と性能に及ぼす影響がごくわずかになる。
【００１８】
一態様によれば、本発明の実施形態は、音声会議システムやテレビ会議システムなどの通信システムにおける遅延をプロファイリングするのに役立つ。特に、本発明の実施形態は、１つ又は複数の音声フレーム内の音声データの少なくとも一部分をパッセンジャデータ（passenger data）と置き換える。次に、パッセンジャデータは、システム内をフレームが移動する際に少し後で復元される。フレームに入れられたパッセンジャデータは、タイミングデータ（例えば、タイムスタンプを挿入したシステムのモジュール内にフレームがあった時間を表わすタイムスタンプ）であることが好ましい。他の実施形態では、フレームに入れられたパッセンジャデータは、システム内のいくつか又はすべてのモジュールに対して出されたコマンドを表わす。しかしながら、本発明の実施形態は、フレームに入れられたパッセンジャデータの特性によって限定されない。
【００１９】
一態様によれば、本発明の実施形態は、コーデックを使って符号化され復号されるパッセンジャデータをチャネルを介して転送するのに役立つ。いくつかの実施形態では、パッセンジャデータは、コーデックの圧縮比とタイミング特性をエミュレートする擬似コーデックを使用して挿入され復元される。他の実施形態では、コーデックは、固定小数点を有する非可逆コーデック（lossy codec）であり、パッセンジャデータは、データ値と固定小数点の間のマッピングを使用して挿入され復元される。
【００２０】
図１は、ループバックモードでの音声会議システム１００の一部分を示す。音声会議システム１００は、ネットワークなどのチャネル１０６を介して通信可能なクライアント１０２とサーバ１０４を含む。クライアント１０２は、マイクロフォン（ＭＩＣ）１０８、スピーカ（ＳＰＫＲ）１１０、複数のクライアント送信モジュール１１２Ａ〜Ｎ、及び複数のクライアント受信モジュール１１４Ａ〜Ｎを含む。サーバ１０４は、複数のサーバ受信モジュール１１６Ａ〜Ｎ及と複数のサーバ送信モジュール１１８Ａ〜Ｎを含む。モジュール１１２、１１４、１１６、及び１１８は、ハードウェア、ソフトウェア又はこれらの任意の組み合わせで実施することができ、音声会議システム１００におけるいかなる種類の関数も実行することができる。例えば、モジュールは、データバッファリング、無音検出、符号化、復号、混合などを実行することができる。
【００２１】
単一の実施者がシステム１００の遅延をプロファイリングするのに都合のよい構成なので、音声会議システム１００用のループバックモードについて説明する。しかしながら、本発明の実施形態は、この構成に限定されず、システム１００を実際に操作する際には多数の実施形態が適していることを理解されよう。
【００２２】
例えば、図２は、ループバックモードでない２台のクライアントと１台のサーバを含む音声会議システム２００を示す。クライアント２０２Ａ、Ｂ及びサーバ２０４は、ネットワークなどのチャネル２０６を介して通信する。クライアント２０２Ａは、マイクロフォン２０８Ａ、スピーカ２１０Ａ、複数のクライアント送信モジュール２１２ＡＡ〜ＡＮ、及び複数のクライアント受信モジュール２１４ＡＡ〜ＡＮを含む。クライアント２０２Ｂは、マイクロフォン２０８Ｂ、スピーカ２１０Ｂ、複数のクライアント送信モジュール２１２ＢＡ〜ＢＮ、及び複数のクライアント受信モジュール２１４ＢＡ〜ＢＮを含む。サーバ２０４は、複数のサーバ受信モジュール２１６Ａ〜Ｎと複数のサーバ送信モジュール２１８Ａ〜Ｎを含む。
【００２３】
別の例として、図３は、２台のクライアントと１台のサーバを含み、一方のクライアントがループバックモードである、音声会議システム３００を示す。クライアント３０２Ａ、Ｂ及びサーバ３０４は、ネットワークなどのチャネル３０６を介して通信する。クライアント３０２Ａは、マイクロフォン３０８Ａ、スピーカ３１０Ａ、複数のクライアント送信モジュール３１２ＡＡ〜ＡＮ、及び複数のクライアント受信モジュール３１４ＡＡ〜ＡＮを含む。クライアント３０２Ｂは、複数のクライアント送信モジュール３１２ＢＡ〜ＢＮと複数のクライアント受信モジュール３１４ＢＡ〜ＢＮを含む。サーバ３０４は、複数のサーバ受信モジュール３１６Ａ〜Ｎと複数のサーバ送信モジュール３１８Ａ〜Ｎを含む。
【００２４】
本発明の実施形態は、図１〜図３に示した構成に限定されない。更に、本発明の実施形態は、音声会議システムに限定されず、実際には、例えばテレビ会議システムなどの音声チャネルを含む任意のシステムで実施することができる。
【００２５】
図４は、本発明の好ましい実施形態による音声チャネルを介してパッセンジャデータを転送するプロセス４００を示す。例えば、プロセス４００は、図１〜図３の音声会議システムのモジュールのいずれのモジュールでも実行することができる。モジュールは、音声データのフレームを含む音声ストリームを通す。プロセス４００は、モジュールの１つで音声データのストリームを受け取り（段階４０２）、ストリーム内のフレームのうちの１つを選択する（段階４０４）。任意の選択方法を使用することができる。例えば、有用な音声コンテンツが失われないように無音を表わす音声フレームを選択することができる。
【００２６】
プロセス４００は、また、音声ストリームに挿入するパッセンジャデータを識別する（段階４０６）。本発明のいくつかの実施形態によれば、パッセンジャデータは、特定のフレームがモジュール内にある時間を表わすタイムスタンプを含む。このタイムスタンプは、時刻やシステムを初期化してから経過した時間などを表わすことができ、中央クロックと同期させるかローカルクロックのずれを後で修正することができる。
【００２７】
プロセス４００は、特定のフレーム内の音声データの一部分（即ち、一部又はすべて）をパッセンジャデータと置き換える（段階４０８）。音声データをパッセンジャデータと置き換えるためのいくつかの技術を、後で詳細に述べる。次に、プロセス４００は、モジュールから音声ストリームを送信する（段階４１０）。
【００２８】
図５は、本発明の好ましい実施形態による音声会議システムにおける遅延をプロファイリングするプロセス５００を示す。例えば、プロセス４００は、図１〜図３のいずれの音声会議システムでも実行することができる。プロセス５００は、好ましくは図４のプロセス４００により、音声会議システム内のモジュールのうちの１つのモジュールにおいて、複数のフレームを含む音声ストリーム内の音声データのフレームにタイムスタンプを挿入する（段階５０２）。便宜上、このフレームは、ここでは「タイムスタンプフレーム」と呼ぶ。次に、プロセス５００は、好ましくは図４のプロセス４００により、音声会議システム内のモジュールのうちの別のモジュールにおいて、タイムスタンプフレームに別のタイムスタンプを挿入する（段階５０４）。各タイムスタンプは、タイムスタンプフレームが音声会議システムのそれぞれのモジュール内にあった時間を表わす。
【００２９】
図６は、好ましい実施形態によるタイムスタンプフレームのフォーマット６００を示す。フォーマット６００は、複数のタイムスタンプフィールド６０２Ａ〜Ｎ、オプションのタイムスタンプカウントフィールド６０４、及びオプションのシグネチャフィールド６０６を定義する。各タイムスタンプフィールド６０２は、長さが８バイト（６４ビット）であることが好ましいが、必要な測定精度に十分な解像度を提供できるのであれば長さは重要ではない。８バイトのタイムスタンプは、ミリ秒精度で十分なはずの音声処理時間スケールに対して極めて正確な測定値を提供するには十分の長さであり、８バイトは、５８，０００年を超える範囲から固有の１００ナノ秒の期間を十分に識別することができる。
【００３０】
オプションのタイムスタンプカウントフィールド６０４は、タイムスタンプフレームに挿入されたタイムスタンプの数を識別するために使用することができ、例えば、それによりモジュールは、タイムスタンプフレームに以前に挿入された他のタイムスタンプを上書きすることなくタイムスタンプを挿入することができる。タイムスタンプカウントは、ゼロに初期化されることが好ましい。次に、モジュールがタイムスタンプをタイムスタンプフレームに挿入するとき、モジュールは、タイムスタンプカウントも増分する。
【００３１】
タイムスタンプフレームは、音声コンテンツチャネルによって送られるので、それぞれ異なるモジュールは、例えばデータをスピーカによって再生することによって、フレーム内のデータを符号化された音声と解釈することが見込まれる。プロセス５００は、パッセンジャデータがこの処理の一部として修正されない限り影響を受けないが、パッセンジャデータをスピーカによって再生すると、ユーザを悩ませるパチンという音やパチパチという音が無作為に生じることがある。オプションのシグネチャフィールド６０６は、タイムスタンプフレーム自体を識別するシグネチャを含めるために使用することができる。例えば、シグネチャは、記録された音声に自然に生じそうもない１組の符号化されたバイト値である。フレームにこのシグネチャがあるか確認することもでき、またタイムスタンプフレーム内のパッセンジャデータの代わりに無音を再生するような非標準的な挙動をトリガすることもできる。オプションのシグネチャフィールド６０６は、長さが６バイト（４２ビット）であることが好ましいが、他の長さを使用することもできる。
【００３２】
いくつかの実施形態では、タイムスタンプフレームを含む音声チャネルは、国際電気通信連合（ＩＴＵ）Ｇ．７１１規格に従って圧縮され、後で更に詳しく説明するように、タイムスタンプは圧縮前に挿入される。Ｇ．７１１に従って２バイト値が１バイトに圧縮され、Ｇ．７１１で圧縮された音声フレームの長さが２４０バイトである場合は、式（１）に示したように、フォーマット６００を使用して２８個の高解像度タイムスタンプを記憶することができ、この２８個の高解像度タイムスタンプは、複雑な音声会議システムの場合でも重要な加工段階に十分な有効範囲を提供するはずである。
【００３３】
【数１】
2007295578.tif 000003
【００３４】
図５に戻り、プロセス５００は、タイムスタンプフレーム内のタイムスタンプに基づいてタイムスタンプフレームの遅延を決定する（段階５０６）。例えば、図１を参照すると、クライアント送信モジュール１１２のうちの１つが、第１のタイムスタンプを挿入することができる。また、クライアント受信モジュール１１４のうちの１つが、第２のタイムスタンプを挿入することができる。次に、クライアント１０２は、２つのタイムスタンプに基づいてタイムスタンプフレームのラウンドトリップ遅延を求めることができる。当然ながら、様々な異なるモジュールが３個以上のタイムスタンプをタイムスタンプフレームに挿入してもよく、これにより、モジュールのグループ又は個別のモジュールによって生じた遅延を求めるような、より細かな遅延のプロファイリングが可能になる。
【００３５】
前述のように、システム内の様々なモジュールは、異なるローカルクロックによってクロックされ、そのような各ローカルクロックには、発振器の変動等によってクロックのずれが生じる。更に、クロックは、ある決まった日からの経過時間を提供せず、代わりに基礎となるオペレーティングシステムが再起動されてからの経過時間を反映してもよい。この基準時間は、装置間で大幅に異なってもよい。この影響が補償されないと、１台の装置内でしか有意の遅延を計算することができない。これは多くの場合十分であるが、状況によっては、様々な装置からのタイムスタンプを使用して遅延を計算することが望ましいことがある。直感的であるが技術的に困難な解決策は、共通の計時サービスを利用するか、すべてのクロックを標準時間源と定期的に同期をとりなおすことである。
【００３６】
本発明の実施形態は、音声会議システムをローカルエリアネットワーク（ＬＡＮ）上で実行することができ、通常ＬＡＮを介してある装置から別の装置にパケットを送る時間が短いという事実を利用して、この問題を様々な方法で解決する。図６のタイムスタンプフレームフォーマット６００を使用することによって、タイムスタンプは、フレームに順次追加され、従って定義上、実際の（正規化された）値が単調に増大するはずである。説明のため、クライアント装置とサーバ装置の２台の装置だけを使用し、システムが、例えば図１に示したようにループバック挙動のために構成されていると想定する。クライアント１０２は、サーバ１０４にタイムスタンプフレームを送る直前にタイムスタンプＣ１を挿入し、サーバ１０４からタイムスタンプフレームを受け取った直後に別のタイムスタンプＣ２を挿入するように構成されている。サーバ１０４は、クライアント１０２からタイムスタンプフレームを受け取った直後でかつクライアント１０２にタイムスタンプフレームを送る直前にタイムスタンプＳ１を挿入するように構成されている。３つのそのようなタイムスタンプフレームのタイムスタンプＣ１、Ｃ２、Ｓ１及びＳ２は、表１によって与えられると仮定する。
【００３７】
【表１】
2007295578.tif 000004
時間の単位は重要ではないが、単純にするために、表１の数の単位は秒であると仮定する。また、２台の装置のクロックが、数フレームの間に大きくずれていないと仮定する。クライアント１０２のクロックの基準時間と、サーバ１０４のクロックとの差をＫ秒とする。Ｋが分かっている場合は、ある装置からのタイムスタンプを、他の装置からのタイムスタンプと同じ基準時間を有するように正規化することができる。従って、目標は、Ｋをある程度小さな範囲内で予測することである。タイムスタンプが順次追加されるので、Ｓ１とＣ１の間の経過時間は、０より大きい。（当然ながら、実際の経過時間は０より大きくなるはずであるが、我々のタイマー分解能のために、有効値は０である。）従って、Ｋの上限は値Ｓ１−Ｃ１によって提供され、この場合、６００３−０＝６００３である．Ｋが６００４でありえないことは分かりやすい。即ち、例えば、クライアント上の時間０はサーバ上の時間６００４であり、クライアント上の時間１はサーバ上の時間６００５である。Ｓ１タイムスタンプが６００３なので、Ｋ＝６００４は、サーバがクライアント時間−１（即ち、Ｃ１が書き込まれる１秒前）にそのタイムスタンプを追加したことを意味し、この時間は不正であることが分かっている。同様に、値Ｓ２−Ｃ２は、Ｋの値の下限を提供し、この場合、６００９−１０＝５９９９である。Ｋが５９９８の場合、Ｓ２は、クライアント上の時間１１と同じになり、タイムスタンプが、クライアント時間１０又はそれより少し前に追加されたはずであることが分かる。従って、フレーム１からのタイミング情報だけを使用することによって、Ｋの値は、範囲［５９９９，６００３］に制限される。
【００３８】
フレーム２にこのプロセスを繰り返すことによって、Ｋが範囲［Ｓ２−Ｃ２，Ｓ１−Ｃ１］＝［６０１２−１１，６００７−２］に制限される。Ｋが一定の場合、２つの範囲を組み合わせて、適切か又はより適切であるはずの単一の範囲を得ることができ、この場合、［６００１−６００３］である。
【００３９】
フレーム３に対してプロセスを繰り返すことによって、Ｋが範囲［６００２，６００４］に制限され、更にＫは範囲［６００２，６００３］に制限される。このようにして、比較的少数のフレームを使用してＫの極めて適切な推定値を得ることができ、その後で、Ｋを単に減算することによって、サーバ１０４によって挿入されたタイムスタンプをクライアント１０２の基準時間に正規化することができる（例えば、範囲の下限を使用する。この場合は６００２）。例示のために、表２は、表１の値から得た正規化値を示す。
【００４０】
【表２】
2007295578.tif 000005
ここで正規化値を使用して、任意のタイムスタンプ間のデルタを計算することができる。また、負のデルタ値が算出された場合は、Ｋ値の値が変化した（例えば、クロックずれにより）ことは明らかであり、前述のプロセスを再び使用してＫの最新の推定値を決定することができる。
【００４１】
音声チャネルでは、音声ストリーム内のデジタル音声データのフレームは、一般に、ネットワークを介して送信される前に符号化され、その後で受信側で復号される。本発明のいくつかの実施形態によれば、音声データを符号化／復号するために使用されるコーデックの特性と似た特徴を有する「擬似コーデック」を使用する符号化／復号段階において、タイムスタンプなどのパッセンジャデータを音声ストリームに挿入し、音声ストリームから復元することができる。
【００４２】
図７は、本発明の好ましい実施形態による擬似コーデックを使用する音声通信システム７００のブロック図を示す。システム７００は、音声データソース７０８によって提供される音声データとパッセンジャデータソース７１０によって提供されるパッセンジャデータをそれぞれ音声データ宛先７１２とパッセンジャデータ宛先７１４に送信するために、データネットワークなどのチャネル７０６を介してデコーダ７０４と通信可能なエンコーダ７０２を含む。エンコーダ７０２は、符号化コントローラ７２２の制御下にある、音声エンコーダ７１６、擬似エンコーダ７１８、及びスイッチ７２０Ａ、Ｂを含む。デコーダ７０４は、復号コントローラ７２８の制御下にある音声デコーダ７２４、擬似デコーダ７２６、スイッチ７２０Ｃ、Ｄを含む。システム７００を、パッセンジャデータを音声ストリームに挿入する観点から説明したが、この説明を読んだ後で当業者に明らかになるように、他の実施形態は、他の種類のデータ・ストリームにパッセンジャデータを挿入することができる。
【００４３】
図８は、本発明の好ましい実施形態による擬似コーデックを使用して音声ストリームにデータを挿入するプロセス８００を示し、図７のシステム７００に関して説明される。エンコーダ７０２は、音声データソース７０８から音声データフレームの音声ストリームを受け取り（段階８０２）、パッセンジャデータソース７１０からパッセンジャデータ（例えば、タイムスタンプ、コマンドなど）を受け取る（段階８０４）。
【００４４】
パッセンジャデータを音声ストリームに挿入できないとき（段階８０６）、符号化コントローラ７２２は、スイッチ７２０Ａを作動させて音声データフレームを音声エンコーダ７１６に切り替える（段階８０８）、音声エンコーダ７１６は、例えば従来の技術によって音声データを符号化する（段階８１０）。音声データフレームは、ＩＴＵ  Ｇ．７１１規格に従って圧縮されることが好ましいが、代わりにＧ．７２９、ＭＰ３、ＬＤＰなどの他の規格を使用することもできる。符号化コントローラ７２２は、また、スイッチ７２０Ｂを作動させて、符号化した音声データフレームを音声エンコーダ７１６からチャネル７０６に渡す（段階８１２）。
【００４５】
パッセンジャデータが音声ストリームに挿入されたとき（段階８０６）、符号化コントローラ７２２は、スイッチ７２０Ａを作動させて音声データフレームを擬似エンコーダ７１８に切り替え（段階８１４）、擬似エンコーダ７１８は、パッセンジャデータをフレームに挿入する（段階８１６）。符号化コントローラ７２２は、任意の方法を使用してパッセンジャデータを音声ストリームにいつ挿入するかを決定することができる。例えば、符号化コントローラ７２２は、例えばオプションの無音検出器（図示せず）の制御下で無音期間中にパッセンジャデータを挿入することができる。更に他の例として、符号化コントローラ７２２は、パッセンジャデータを、定期的な間隔やランダムな間隔などで利用可能になるように挿入することができる。
【００４６】
擬似エンコーダ７１８は、また、音声エンコーダ７１６の圧縮比とタイミング特性をエミュレートする。擬似エンコーダ７１８は、フレームから例えばパッセンジャデータ以外のデータを廃棄することによって、フレームのサイズを音声エンコーダ７１６によって作成されるフレームのサイズに縮小する。擬似エンコーダ７１８は、フレームを受け取った後に所定の間隔で各擬似符号化フレームを送ることによって、音声エンコーダ７１６のタイミングをエミュレートし、この所定の間隔は、音声エンコーダ７１６が音声データフレームを処理するのに必要な間隔と同じである。符号化コントローラ７２２は、また、スイッチ７２０Ｂを作動させて、擬似符号化したフレームを擬似エンコーダ７１８からチャネル７０６に渡す（段階８１８）。
【００４７】
図９は、本発明の好ましい実施形態による擬似コーデックを使用して音声ストリームからデータを復元するプロセス９００を示し、図７のシステム７００に関して示される。エンコーダ７０２は、音声データとパッセンジャデータのフレームを含む音声ストリームを受け取る（段階９０２）。
【００４８】
音声データフレームを受け取ると（段階９０４）、復号コントローラ７２８は、スイッチ７２０Ｃを作動させて、音声データフレームを音声デコーダ７２４に渡し（段階９０６）、音声デコーダ７２４は、例えば従来の技術により音声データを復号する（段階９０８）。音声データフレームは、ＩＴＵ  Ｇ．７１１規格によって展開されることが好ましいが、代わりにＧ．７２９、ＭＰ３、ＬＤＰなどの他の規格を使用することもできる。復号コントローラ７２８は、また、スイッチ７２０Ｄを作動させて、復号した音声データフレームを音声デコーダ７２４から音声データ宛先７１２に渡す（段階９１０）。
【００４９】
パッセンジャデータフレームを受け取ったとき（段階９０４）、復号コントローラ７２８は、スイッチ７２０Ｃを作動させて、フレームを擬似デコーダ７２６に渡し（段階９１２）、擬似デコーダ７２６は、フレームからパッセンジャデータを復元し（段階９１４）、それをパッセンジャデータ宛先７１４に渡す。復号コントローラ７２８は、任意の方法を使用してパッセンジャデータフレームをいつ受け取るかを決定することができる。例えば、パッセンジャデータの各フレームは、図６のオプションのシグネチャフィールド６０６などのシグネチャを含むことができ、復号コントローラ７２８は、そのシグネチャを使用してフレームを識別することができる。別の例として、復号コントローラ７２８に分かっている所定のスケジュールなどに従ってパッセンジャデータを送ることができる。
【００５０】
擬似デコーダ７２６は、音声デコーダ７２４の圧縮比とタイミング特性をエミュレートする。擬似デコーダ７２６は、例えばフレームにデータを追加することによって、フレームのサイズを、音声デコーダ７２４によって作成されたフレームのサイズに拡大する。擬似デコーダ７２６は、フレームを受け取った後に所定の間隔で各疑似復号フレームを送信することによって音声デコーダ７２４のタイミングをエミュレートし、その所定の間隔は、音声デコーダ７２４が音声データフレームを処理するのに必要な間隔と同じである。復号コントローラ７２８は、また、スイッチ７２０Ｄを作動させて、疑似復号フレームを擬似デコーダ７２６から音声データ宛先７１２に渡す（段階９１６）。
【００５１】
前述の擬似コーデックを使用する本発明の実施形態は、擬似コーデックが通信システムに容易に組み込まれるときに特に有用である。そうでないとき、通信システムに既にある固定小数点を有する非可逆コーデックを使用する本発明の実施形態が特に有用である。非可逆コーデックでは、復号されたデータは、最初に符号化されたデータと実質的に異なる場合がある。このことは、音声伝送などの多くの用途に関して、生成された音が実質的に似ている限り許容可能である。
【００５２】
しかしながら、いくつかの非可逆コーデックは固定小数点を有し、この場合、復号されたデータは、最初に符号化されたデータと同一であり、符号化された値と符号化されていない値の関係が１：１である。即ち、各固定小数点は、特定の符号化値を特定の非符号化値と関連付ける。コーデックは、常にある固定小数点の非符号化値をその固定小数点の対応する非符号化値として符号化し、また常にある固定小数点の符号化値をその固定小数点の対応する非符号化値として復号する。本発明のいくつかの実施形態によれば、パッセンジャデータは、非可逆コーデックの固定小数点を使用して符号化フレームと非符号化フレームの両方に挿入され、またこれらの両方から復元される。本発明の実施形態をＩＴＵ  Ｇ．７１１μ−ｌａｗ改訂版に関して説明するが、固定小数点を有する他の改訂版とコーデックを使用することができる。
【００５３】
図１０は、本発明の好ましい実施形態による固定小数点を有する非可逆コーデックを使用する音声通信システム１０００のブロック図を示す。システム１０００は、音声データソース１００８によって提供される音声データとパッセンジャデータソース１０１０によって提供されるパッセンジャデータを音声データ宛先１０１２とパッセンジャデータ宛先１０１４にそれぞれ送るために、データネットワークなどのチャネル１００６を介して受信モジュール１００４と通信可能な状態の送信モジュール１００２を含む。送信モジュール１００２は、符号化コントローラ１０２２の制御下にある固定小数点を有する非可逆音声エンコーダ１０１６、順方向マッピングモジュール１０１８、及びパッセンジャデータ挿入モジュール１０２０を含む。受信モジュール１００４は、復号コントローラ１０３０の制御下にある非可逆音声エンコーダ１０１６と同じ固定小数点を有する非可逆音声デコーダ１０２４、逆方向マッピングモジュール１０２６、及びパッセンジャデータ復元モジュール１０２８を含む。システム１０００は、音声ストリームにパッセンジャデータを挿入する観点から説明されているが、この説明を読んだ後で当業者に明らかになるように、他の実施形態は、パッセンジャデータを他の種類のデータストリームに挿入することができる。
【００５４】
図１１は、本発明の好ましい実施形態による固定小数点を有する非可逆コーデックを使用して音声ストリームにデータを挿入するプロセス１１００を示し、図１０のシステム１０００に関して説明される。プロセス１１００は、音声ストリームにパッセンジャデータを挿入する観点で説明されるが、この説明を読んだ後で当業者に明らかなように、他の実施形態は、パッセンジャデータを他の種類のデータストリームに挿入することができる。
【００５５】
送信モジュール１００２は、音声データソース１００８から音声データフレームの音声ストリームを受け取り（段階１１０２）、パッセンジャデータソース１０１０からパッセンジャデータ（例えば、タイムスタンプ、コマンドなど）を受け取る（段階１１０４）。場合によって、音声データのフレームは、そのフレームを受け取る前に非可逆コーデックのインスタンスによって既に復号されていることがある。
【００５６】
パッセンジャデータが音声ストリームに挿入されないとき（段階１１０６）、符号化コントローラ１０２２は、データ挿入モジュール１０２０を作動させて、音声データフレームを音声エンコーダ１０１６に渡し（段階１１０８）、音声エンコーダ１０１６は、従来の技術により音声データフレームを符号化する（段階１１１０）。好ましくは、音声データのフレームは、ＩＴＵ  Ｇ．７１１規格に従って圧縮されるが、代わりにＧ．７２９、ＭＰ３、ＬＤＰなどの他の規格を使用することができる。音声エンコーダ１０１６は、符号化した音声データフレームをチャネル１００６に渡す（段階１１１２）。
【００５７】
パッセンジャデータが、音声ストリームに挿入されるとき（段階１１０６）、順方向マッピングモジュール１０１８は、パッセンジャデータを非可逆エンコーダ１０１６の固定小数点の１つにマッピングする（段階１１１４）。順方向マッピングモジュール１０１８は、パッセンジャデータの値と、パッセンジャデータの可能な値を非符号化値と関連付ける順方向マップとに従って、非可逆エンコーダ１０１６の固定小数点の非符号化値を選択することが好ましい。
【００５８】
例示として、表３は、本発明の好ましい実施形態によるＩＴＵ  Ｇ．７１１μ−ｌａｗ改訂版の固定小数点に関するそのような順方向マップを表す。表３は、昇順に並べられた２５５個の固定小数点の非符号化値を含み、それらの値をその順序でパッセンジャデータ値０〜２５４にマッピングする。パッセンジャデータの各バイトが、２バイトの固定小数点符号化値にマッピングされることに注意されたい。パッセンジャデータ値を固定小数点非符号化値にマッピングするために、パッセンジャデータ値の１０の位に対応する行と、パッセンジャデータ値の１の位に対応する列を選択する。固定小数点非符号化値は、行と列が交差するセルにある。
【００５９】
【表３】
2007295578.tif 000006
ＩＴＵ  Ｇ．７１１μ−ｌａｗ改訂版は、２５５個の固定小数点しか含まないが、データバイトが２５６個の値のどの値をとることもできるので複雑になる。１つの解決策は、２５５の値を有するどのパッセンジャデータバイトも単純に廃棄することである。例えば、タイムスタンプカウントフィールド６０４を含む図６のフォーマット６００のようなフォーマットを使用するとき、モジュールは、２５５のタイムスタンプ値が出現したときは常にフィールド６０４内のタイムスタンプカウントを０に設定することができる。タイムスタンプフレームを処理して遅延をプロファイリングするとき、タイムスタンプカウントは予想より少なくなり、これによりタイムスタンプフレームが廃棄される。そのようなタイムスタンプフレームの破棄は、そのような出現がまれなので許容可能であり、他のタイムスタンプフレームもすぐに利用可能になる。
【００６０】
説明的な例として、表４は、プロセス１１００が、表３を使用して各文字のＡＳＣＩＩ値を固定小数点非符号化値にマッピングすることによって、文字列「ＥＲＤＩＭＸ」をどのようにマッピングできるかを示す。表４は、また、得られる固定小数点値のＧ．７１１圧縮の結果を示す。表３と表４を参照すると、文字「Ｅ」を符号化するために、順方向マッピングモジュール１０１８は、ＡＳＣＩＩ値「６９」に従って表３の固定小数点のうちの１つの固定小数点の非符号化値を選択し、その値は、この場合「−１，５６４」である。
【００６１】
【表４】
2007295578.tif 000007
データ挿入モジュール１０２０は、次に、符号化コントローラ１０２２の制御下で、音声データフレームのうちの１つのフレーム内のデータの少なくとも一部分を固定小数点の識別された非符号化値（「−１，５６４」）と置き換え（段階１１１６）、符号化コントローラは、前述の技術のような任意の技術に従ってフレームを選択することができる。
【００６２】
次に、非可逆エンコーダ１０１６は、フレームを符号化しチャネル１００６に送る（段階１１１８）。符号化プロセスの一部として、非可逆エンコーダ１０１６は、表４に示したように、パッセンジャデータ（ここでは「−１，５６４」として表わされた）を、その固定小数点符号化値「６９」として符号化する。表４に示すように、このマッピングを使用することによって、各パッセンジャデータ値とその値を表わすＧ．７１１符号化値との間に関係は単純になる。パッセンジャデータ値が１２７より小さいとき（表４内のすべての値のように）、Ｇ．７１１符号化値は、パッセンジャデータ値と同じである。また、パッセンジャデータ値が１２７以上であるとき、Ｇ．７１１符号化値は、３８２からパッセンジャデータ値を引いたものに等しい。
【００６３】
図１２は、本発明の好ましい実施形態による固定小数点を有する非可逆コーデックを使用して音声ストリームからデータを復元するプロセス１２００を示し、また図１２は、図１０のシステム１０００と関連して説明される。復元されるデータは、前述のように、図１１のプロセス１１００を使用して音声ストリームに既に挿入されていることが好ましい。プロセス１２００は、パッセンジャデータを音声ストリームに挿入する観点で説明されているが、この説明を読んだ後で当業者に明らかになるように、他の実施形態は、パッセンジャデータを他の種類のデータストリームに挿入することができる。
【００６４】
受信モジュール１００４は、送信モジュール１００２からフレームのストリームを受け取る（段階１２０２）。フレームは、音声データとパッセンジャデータ（例えば、タイムスタンプ、コマンドなど）を含む。非可逆デコーダ１２２４は、データのフレームを復号する（段階１２０４）。フレームは、ＩＴＵ  Ｇ．７１１規格に従って展開されることが好ましいが、代わりにＧ．７２９、ＭＰ３、ＬＤＰなどの他の規格を使用することができる。
【００６５】
パッセンジャデータを含まないフレーム（段階１２０６）は、復号コントローラ１０３０の制御下で、データ復元モジュール１２２８によって音声データ宛先１０１２に渡される（段階１２０８）。パッセンジャデータを含むフレーム（段階１２０６）が、パッセンジャデータを抽出するために処理される。特に、データ復元モジュール１２２８は、復号コントローラ１０３０の制御下で、フレームからパッセンジャデータを表わす非符号化値を抽出する（段階１２１０）。逆方向マッピングモジュール１０２６は、非符号化値をパッセンジャデータ値にマッピングし（段階１２１２）、パッセンジャデータをパッセンジャデータ宛先１０１４に渡す（段階１２１４）。逆方向マッピングモジュール１０２６は、パッセンジャデータを、各非符号化値をパッセンジャデータ値と関連付ける逆方向マッピングにおいて、フレームから復元した非符号化値に従って識別することが好ましい。逆方向マッピングは、表３に示した例と似ていることが好ましい。例えば、表４を再び参照すると、パッセンジャデータ「Ｅ」を表わす非符号化値「−１，５６４」は、逆方向マッピングを使用してパッセンジャデータ値「６９」にマッピングされ、この値は、表４に示したように「Ｅ」のＡＳＣＩＩ値である。
【００６６】
本発明の実施形態は、また、前述の技術と類似の技術を使用して、パッセンジャデータを符号化フレームに挿入し、符号化フレームからパッセンジャデータを復元することができる。例えば、固定小数点を有する非可逆コーデックによって符号化されたフレームにパッセンジャデータを挿入するために、パッセンジャデータ値は、固定小数点の１つにマッピングされ、その固定小数点の符号化値が、符号化フレームに挿入される。フレームからパッセンジャデータを復元するために、フレーム内のパッセンジャデータ値を表わす符号化値が、固定小数点の１つにマッピングされ、パッセンジャデータ値が得られる。
【００６７】
前述のように、パッセンジャデータは、任意の種類のデータ（例えば、前述の音声会議システムなどの通信システム内のモジュールに出されたコマンド）を含むことができる。図１３は、好ましい実施形態によるコマンドフレームのフォーマット１３００を示す。フォーマット１３００は、コマンドコードフィールド１３０２、オプションのコマンドペイロードフィールド１３０４、及びオプションのシグネチャフィールド１３０６を定義する。オプションのシグネチャフィールド１３０６は、例えばその内容が音声会議システムによって音声として表現されないように、コマンドフレームをそのように識別するシグネチャを含めるために使用することができる。表５は、タイムスタンプを遅延プロファイリングに使用するシステムのいくつかの例示的なコマンドを示す。
【００６８】
【表５】
2007295578.tif 000008
【００６９】
前述のような通信システムでは、一般的なジッタバッファの実施を圧倒する可能性があるパケットバーストは、音声ギャップの原因になる遅いデータを人為的に欠落させる。これは、例えば、ＴＣＰ／ＩＰが紛失パケットの再送信をさせるときに起こることがある。再試行されたパケット又は遅延されたパケットを受け取った後で、（順序を維持するので）そのようなパケットの到着を待っている前にキューに入れられたパケットはすべて直ちに処理される。この方法は、バッファが実時間より遅れることを可能にすることによって遅い音声データを維持し、次に再生が実時間より遅くなるまで再生速度を調整することによって「キャッチアップ」を維持するのに有利である。
【００７０】
本発明の実施形態は、実時間出力（即ち、サウンドカード又はスピーカに）用に設計されたネットワークを介して伝送されて受信された音声パケットデータを管理し、会議又は関連通信システムの構成要素として実施することができる。そのような実施形態は、パケット間遅延を均等化し、パケットの順序、損失、到着遅延、及び類似の必要な機能を修正する適応ジッタバッファを含む。インテリジェントコントローラは、実時間通信を維持するために、予想又は測定データの可用度に対応して音声出力速度とバッファサイズを適応させる。バッファサイズは、バッファオーバフローハンドリングによる一般的な強制的パケット欠落／スキップによるギャップなしに、パケット再送信後のトラフィックの突然のバーストを吸収するように管理される。「実時間」に対する近さが、ずっと測定される。従って、データ出力速度は、パケット遅延とデータの欠損又は遅延によって引き起こされるパケットバーストとギャップに従って、アンダフロー及びオーバフロー状態と実時間遅延を最小にするように適応される。
【００７１】
そのような実施形態は、オーバフローとアンダフローを独特の方式で管理するインテリジェントコントローラを備えた適応ジッタバッファを提供する。これにより、実時間クロックを適応させ回復するようにバッファサイズと出力速度を調整する技術を加えることによって、ジッタバッファ方法の実時間の利点をストリーミング手法の損失防止品質とが合体する。このシステムの下で、ペースを実時間に合わせることは１つの重要な要素であるが、データの損失を防ぐことほどは重要でない。音声データの欠落は、極めて支障が大きく最小限にされる。その結果、実施形態は、より広範囲のネットワーク輻輳状態の下でより滑らかな実時間音声再生を維持する。遅いパケットデータを欠落させたりすべてのパケットデータを長い時間キューに入れたりする代わりに、過剰パケットとデータ枯渇のインテリジェント操作を実行して、速度変化を実時間再生の近くに戻す。
【００７２】
一般的なジッタバッファは、容量まで満杯になる（オーバフローする）と、新しく入って来るデータの場所を空けるために一番昔のデータを削除することによって、データストリームに損失を挿入することがある。例えば、再送信ギャップ間隔（ＴＣＰ／ＩＰ伝送機構でより一般的）の後のトラフィックのバーストでは、遅いデータが到着したときに、そのような挿入損失はよくある。その結果、音声再生が途切れ途切れに聞こえる。ジッタバッファは、一般的な小さいバーストを修正するために徐々に適応することができるが、一般にさらに大きい事象には適応することができない。また、適応は、末端間の遅延を最小化するには適していない場合がある。
【００７３】
本発明の実施形態では、データのバーストは維持され、遅い音声は自動的に削除されない。その代りに、入ってきたトラフィックを保持するためにバッファサイズが一時的に拡張される。その結果、出力／再生は、「実時間」通信クロックのペースより遅れる場合がある。この状態を修正し一時的に拡張したバッファを縮小するために、実施形態は、音声出力速度を操作し、実際に再生のテンポの変化をマークする。速度が早くなると、一時的なバッファ拡張が徐々に縮小し、ジッタバッファサイズと再生遅延が実時間近くに戻る。
【００７４】
いくつかのジッタ方法は、通常のネットワーク輻輳によって生じる拡張バッファを縮小するために無音検出を使用する。このタイプのインテリジェントなパケット選択は、本発明の実施形態と共存することができる。
【００７５】
また、実時間音声再生メカニズムは、データが入手できなくなったとき（即ち、パケット遅延が、受信側のジッタバッファを使い尽くすのに十分で、アンダフローしたとき）に停止しない。そのような場合は、何かで再生間隔を埋めなければならない。通常、無音を表わすデータが再生される。不快でないノイズ、トーン又は他の方法を使用してデータギャップを埋めることができる。受信側は、ギャップがどれだけ長く生じことになるか分からないので、前の間隔からのデータを繰り返すことによって、最初の欠損パケットが誤り隠蔽される場合がある。処理時間が許すとき、この誤り隠蔽方法における再生するデータの選択は、パケット出力を調べるか、信号の端に気付かないようにパケット境界を整合させることを含むことがある。しかしながら、小さな時間間隔を越えると、誤り隠蔽方法は、通常、破綻してギャップ間隔に単純に無音を出力する。
【００７６】
本発明の実施形態による出力速度調整機構を使用すると、更に別の技術を使用して欠損データによるギャップを制御することができる。バッファサイズを使い尽くしそうなときに、出力速度を遅くすることができ、それによりデータが到着するのにもう少しの時間が与えられる。実時間要件により、長時間の減速をできるだけの十分なバッファリングができないので、これを長時間行うことはできない。しかしながら、別の方法を使用して誤り隠蔽を防ぐことができる。
【００７７】
通常、アンダフローの後で、遅いデータの到着とトラフィックのバーストが起こる。
【００７８】
他の適応ジッタバッファ手法と同じように、パケットタイミングや他のネットワーク監視によって、バッファの遅延特性を最小範囲と最大範囲の間で調整することができる。適応ジッタバッファとして、これは、一般的なネットワーク伝送の遅延と輻輳を防ぐ。換言すると、変動するパケット間間隔が、ジッタバッファによって均等化される。
【００７９】
本発明の実施形態では、輻輳が激しい間の出力速度調整による発振の影響が、最小限に保持され、ジッタバッファがネットワーク状態に常に適応するのを支援する。従って、極度に輻輳したネットワークの下では、実時間性能は、実時間に近い性能に低下する場合がある。経験では、完全に実時間と言えない遅れた滑らかな音声を受け取ることは、途切れ途切れの中断した音声を受け取るよりは好ましい。ネットワーク状態が改善されるので、適応によって遅延が最小になり実時間性能が改善される。
【００８０】
適応出力速度コントローラは、受けとる音声データの再生速度をジッタバッファサイズによって調整する構成要素である。また、適応出力速度コントローラは、入って来るデータのバーストを一時的に記憶するようにジッタバッファサイズを適応させる役割ももつ。バッファが最大割り当て容量に近づくとき、過剰な内容を「排出」するために、出力速度即ち再生速度が高められる。バッファが空に近づいたときは、予想通りに音声が到着しなくなったときのギャップの発生を遅くするために出力速度を下げることができる。従って、ジッタバッファ処理は、ネットワークパケット間到着時間に合うように設計されるだけでなく、更に、オーバフロー状態でのデータスキップ／損失を最小にするように設計される。このように、このバッファは、排他的な実時間命令より短期でほぼ実時間の再生に有利である。バッファは、バースト状態により一般的ジッタバッファを満杯にする遅いデータを欠落させる代わりに、短期間音声が実時間より遅れることを可能にする（より多くの遅延を許容する）ために増える。この場合、バッファは、データ、時間及び必要性が許すときに実時間にインテリジェントに追いつく。１つの結果、ユーザが音声データをすべて受け取るようになる。しかしながら、これは、ユーザが、輻輳中にいくつかの無音遅延を経験し、速度が実時間に戻るときにわずかに早い再生を聞く場合があることを意味する。
【００８１】
出力速度即ち再生速度に影響を及ぼすにいくつかの方法がある。１つの方法は、音声サンプルをあるサンプリング速度から別のサンプリング速度に変換することである。しかしながら、これは、追加の時間をとる多くの計算を必要とする場合がある。また、出力ハードウェア（サウンドカード）のクロック速度との統合も必要な場合がある。別の方法は、特定の音声サンプルを欠落させて所望の速度増加を達成するか、特定の音声サンプルを複製するか新しいサンプルを追加して速度を低下させることである。大きなチャンク（長い時間間隔）で音声が欠落または複製されると、単語の一部分または単語全体が失われるか複製されるので目立つようになる。本発明の実施形態は、限られた期間にわたって極めて短い間隔の１組の小さい特定のサンプルを欠落又は複製する手法に有利である。小さなセグメントを徐々に欠落させると、物理的ギャップが大きくなるが、内容の欠損は少なくなる。例えば、以下は、一度に大きなサンプルを欠落させる場合と、長い期間にわたっていくつかの小さなサンプルを欠落させる場合の違いを示す。
元の音声：Parts of this sentence will be dropped.
欠落あり（長いチャンク）：Parts of this sentence will
欠落あり（部分）：Pars ftis sentnc wilb dropd
【００８２】
即座の実時間キャッチアップは、バッファがオーバフローしたときにより昔のパケットデータの大きなチャンクを欠落させ、受信音声に大きな影響を及ぼす。内容が欠損する。小さなビットを徐々に欠落させることによって、知覚される音声品質が改善される。更に、一定間隔でサンプルを欠落させる代わりに、サンプルを解析して、無音期間を検出するか、或いは類似のピッチを有する領域からサンプルを取り出すことができる。同じことは、ギャップを埋めるための繰り返しにも当てはまる。例えば、サンプルを追加するとき、これは、スピーチパターンが維持されるように（無音中の）音の間に時間を追加することができる。サンプルを除去するとき、音の間の余分な時間を除去することができる。
【００８３】
無音期間を欠落させるか或いは類似ピッチのより長い間隔のサンプルを短くするのに有利なサンプルのインテリジェント選択は、影響を小さくするのに役立つ。前の例では、サンプルサイズは、単語から文字に縮小された。実際には、音声サンプルはより小さく、単一のサンプル除去は、音素の一部分しか短縮しない。サンプルの除去に加えて、インテリジェントな処理技術を使用することによって、サンプルの除去位置の直前と直後のいくつかのサンプルを修正して、ピッチを「ステッチ」してディジタル化したデータにおける除去位置を滑らかにすることができる。
【００８４】
出力速度手順は、テキストフォーマット化の作業と類似していることが分かる。タイプセッタが、ページの幅に合わせるために文を拡張したいと仮定する。１つの方法は、フォントのポイントサイズを大きくすることである。これは、すべての出力が等しい量の影響を受けるように、テキストをもっと遅い速度に変換するか、テキストをもっと遅い速度で再生することと同じになる。そうすることで、各単語の音が長くなる。代替として、タイプセッタは、特定の単語間にスペースを挿入してページに合うようにテキストを調整することができる。適切な場所に無音（即ち、単語間のスペース）を加えると、元の内容をそのままに維持しながら読み取りが単に遅くなる。
【００８５】
同様に、タイプセッタは、単語間のスペースを除去することもでき、ポイントサイズを小さくしてページ上のテキストを圧縮しリーダを高速化することもできる。テキストの例では、そのような多くのスペースは、文字と単語全体を除去しなければならない前しか除去することができない。しかしながら、文字や単語全体ではなく、文字文字の一部分（文字間のスペース）を除去することによって、文脈はまだ推測することができる。同様に、本発明は、特定のサンプル又はディジタル化したデータストリームの一部分を除去することによって、出力速度を制御する。
原文：This is a sample sentence.
時間節約（普通のランダムな欠落）：Tisssamlesenence.
時間節約（最初に特定のギャップを除去する）：Thsisasamplsntnc.
時間節約（サンプルを除去する）：This is a sample sentence.
【００８６】
この例は、各文字が１組のサンプルからなると仮定する。最初の例は、サンプルチャンクの共通のランダムな欠落を示す（この場合は全文字）。この方法では、得られた文が読み取り不能になる。第２の例は、特定のサンプルチャンク（この場合は、単語間の無音ギャップ）を最初に除去することによる同じ時間節約を示す。次に、この方法では、短い不必要な選択が除去される。得られる文はよくなるが、まだ不完全である。最後の例は、各組から少数のサンプルを取り出した結果を示す。文はまだ認識できる。サンプルの除去によって再生速度が時間フレームよりも高くなるので、生成される音声は、音声信号に対して、早いテンポで早く再生される。
【００８７】
以下に、音声受信側の操作の単純化した流れを示す。
【００８８】
（１）ネットワークジッタやパケット並べ替えなどに対応するために最少量のデータをバッファする。
【００８９】
（２）バッファが空になりデータを再生する必要がある場合は、誤り隠蔽する（再生された最後のパケットに基づいて）。より大きなギャップのために無音を再生し続ける。
【００９０】
（３）データのバーストが到着した場合、必要に応じて現行バッファを拡張し、実時間に「キャッチアップ」するために「遅い」データをより早い速さで再生し始める（一般的なバッファ時間）。
【００９１】
（４）一般的なバースト持続時間を補償して将来のギャップを最小にするようにバッファサイズに適応させる。
【００９２】
（５）ネットワーク状態が変化するときに適応させる。
【００９３】
図１４は、本発明の好ましい実施形態による適応ジッタバッファのブロック図を示す。図１５は、本発明の好ましい実施形態による適応ジッタバッファの動作を示す。
【００９４】
本発明は、デジタル電子回路またはコンピュータハードウェア、ファームウェア、ソフトウェア、コンピュータ可読記憶媒体、又はこれらの組み合わせで実施することができる。本発明の装置は、プログラム可能なプロセッサによって実行するために、機械可読記憶装置内に有形に実施されたコンピュータプログラム製品で実施することができる。また、本発明の方法段階は、入力データに基づいて動作し出力を生成することによって本発明の機能を実行する命令プログラムを実行するプログラム可能なプロセッサによって実行することができる。本発明は、データ記憶システム、少なくとも１つの入力装置、及び少なくとも１つの出力装置との間でデータと命令をやりとりするように結合された少なくとも１つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能な１つ又は複数のコンピュータプログラムで有利に実施することができる。各コンピュータプログラムは、必要に応じて、ハイレベルな手順又はオブジェクト指向プログラミング言語、又はアセンブリ又は機械語で実施することができ、いずれの場合も、言語は、コンパイル又はインタープリタされた言語でよい。適切なプロセッサには、例えば、汎用マイクロプロセッサと専用マイクロプロセッサの両方がある。一般に、プロセッサは、読み出し専用メモリ及び／又はランダムアクセスメモリから命令とデータを受け取る。一般に、コンピュータは、データファイルを記憶するための１つ又は複数の大容量記憶装置を含み、そのような装置には、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスクや、光磁気ディスク、及び光ディスクがある。コンピュータプログラム命令及びデータを有形に実施するのに適した記憶装置及びコンピュータ可読記憶媒体（又は、コンピュータ可読記憶媒体）には、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ素子などの例示的な半導体記憶装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、及びＣＤ−ＲＯＭディスクを含む全ての形態の不揮発性記憶装置がある。以上のものはいずれも、ＡＳＩＣ（特定用途向け集積回路）で補足されてもよく、あるいはＡＳＩＣに組み込まれてもよい。
【００９５】
本発明のいくつかの実施態様を説明した。しかしながら、本発明の精神及び範囲から逸脱せずに様々な変更を行うことができることを理解されよう。従って、他の実施態様は、以下の特許請求の範囲内にある。
【図面の簡単な説明】
【００９６】
【図１】ループバックモードにある音声会議システムの一部分。
【図２】ループバックモードのない２台のクライアントと１台のサーバを含む音声会議システム。
【図３】２台のクライアントと１台のサーバを含みクライアントの一方がループバックモードにある音声会議システム。
【図４】本発明の好ましい実施形態による音声チャネルを介してパッセンジャデータを転送するプロセス。
【図５】本発明の好ましい実施形態による音声会議システムにおける遅延をプロファイリングするプロセス。
【図６】好ましい実施形態によるタイムスタンプフレームのフォーマット。
【図７】本発明の好ましい実施形態による擬似コーデックを使用する音声通信システムのブロック図。
【図８】本発明の好ましい実施形態による擬似コーデックを使用して音声ストリームにデータを挿入するプロセス。
【図９】本発明の好ましい実施形態による擬似コーデックを使用して音声ストリームからデータを復元するプロセス。
【図１０】本発明の好ましい実施形態による固定小数点を有する非可逆コーデックを使用する音声通信システムのブロック図。
【図１１】本発明の好ましい実施形態による固定小数点を有する非可逆コーデックを使用して音声ストリームにデータを挿入するプロセス。
【図１２】本発明の好ましい実施形態による固定小数点を有する非可逆コーデックを使用して音声ストリームからデータを復元するプロセス。
【図１３】好ましい実施形態によるコマンドフレームのフォーマット。
【図１４】本発明の好ましい実施形態による適応ジッタバッファのブロック図。
【図１５】本発明の好ましい実施形態による適応ジッタバッファの動作。
【符号の説明】
【００９７】
１０２…クライアント、１０４…サーバ、１０６…チャネル、１０８…マイク、１１０…スピーカ、１１２Ａ…クライアントＴｘモジュール、１１２Ｎ…クライアントＴｘモジュール、１１４Ａ…クライアントＲｘモジュール、１１４Ｘ…クライアントＲｘモジュール、１１６Ａ…サーバＲｘモジュール、１１６Ｎ…サーバＲｘモジュール、１１８Ａ…サーバＴｘモジュール、１１８Ｎ…サーバＴｘモジュール、２０２Ａ…クライアント、２０２Ｂ…クライアント、２０４…サーバ、２０６…チャネル、２０８Ａ…マイク、２０８Ｂ…マイク、２１０Ａ…スピーカ、２１０Ｂ…スピーカ、２１２ＡＡ…クライアントＴｘモジュール、２１２ＡＮ…クライアントＴｘモジュール、２１２ＢＡ…クライアントＴｘモジュール、２１２ＢＮ…クライアントＴｘモジュール、２１４ＡＡ…クライアントＲｘモジュール、２１４ＡＮ…クライアントＲｘモジュール、２１４ＢＡ…クライアントＲｘモジュール、２１４ＢＮ…クライアントＲｘモジュール、２１６Ａ…サーバＲｘモジュール、２１６Ｎ…サーバＲｘモジュール、２１８Ａ…サーバＴｘモジュール、２１８Ｎ…サーバＴｘモジュール、３０２Ａ…クライアント、３０２Ｂ…クライアント、３０４…サーバ、３０６…チャネル、３０８Ａ…マイク、３１０Ａ…スピーカ、３１２ＡＡ…クライアントＴｘモジュール、３１２ＡＮ…クライアントＴｘモジュール、３１２ＢＡ…クライアントＴｘモジュール、３１２ＢＮ…クライアントＴｘモジュール、３１４ＡＡ…クライアントＲｘモジュール、３１４ＡＮ…クライアントＲｘモジュール、３１４ＢＡ…クライアントＲｘモジュール、３１４ＢＮ…クライアントＲｘモジュール、３１６Ａ…サーバＲｘモジュール、３１６Ｎ…サーバＲｘモジュール、３１８Ａ…サーバＴｘモジュール、３１８Ｎ…サーバＴｘモジュール、６０２Ａ…タイムスタンプフィールド、６０２Ｎ…タイムスタンプフィールド、６０４…タイムスタンプカウントフィールド（任意）、６０６…シグニチャフィールド（任意）、１３０２…コマンドコードフィールド、１３０４…コマンドペイロードフィールド（任意）、１３０６…シグニチャフィールド（任意）、７０２…エンコーダ、７０４…デコーダ、７０６…チャネル、７０８…音声データソース、７１０…パッセンジャデータソース、７１２…音声データ宛先、７１４…パッセンジャデータ宛先、７１６…音声エンコーダ、７１８…疑似エンコーダ、７２２…符号化コントローラ、７２４…音声デコーダ、７２６…疑似デコーダ、７２８…復号コントローラ、１００２…送信モジュール、１００４…受信モジュール、１００６…チャネル、１００８…音声データソース、１０１０…パッセンジャデータソース、１０１２…音声データ宛先、１０１４…パッセンジャデータ宛先、１０１６…非可逆エンコーダ、１０１８…順方向マッピングモジュール、１０２０…データ挿入モジュール、１０２２…符号化コントローラ、１０２４…非可逆デコーダ、１０２６…逆方向マッピングモジュール、１０２８…データ復元モジュール、１０３０…復号コントローラ。
【図１】
2007295578.tif 000009
【図２】
2007295578.tif 000010
【図３】
2007295578.tif 000011
【図４】
2007295578.tif 000012
【図５】
2007295578.tif 000013
【図６】
2007295578.tif 000014
【図７】
2007295578.tif 000015
【図８】
2007295578.tif 000016
【図９】
2007295578.tif 000017
【図１０】
2007295578.tif 000018
【図１１】
2007295578.tif 000019
【図１２】
2007295578.tif 000020
【図１３】
2007295578.tif 000021
【図１４】
2007295578.tif 000022
【図１５】
2007295578.tif 000023