(57)【要約】  通信の待ち時間を適応管理する方法および装置であって、通信ネットワーク内の１つ以上のデータフレームを処理することと、第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングすることと、サンプリングされた１つ以上のデータフレームを補間することと、１つ以上のデータフレームを使用して、所定の時間長をもつプレイアウト波形を形成することとを含む方法および装置。１つ以上のデータフレームは、１つ以上のボコーダフレームであり、１つ以上のボコーダフレームのプレイアウト時間は、元のサンプリング時間と異なる。【選択図】    図３
2008517560.tif 000002
【特許請求の範囲】
【請求項１】
通信の待ち時間を適応管理する方法であって、
通信ネットワークにおける端末間のメディアの待ち時間を監視することと、
端末間のメディアの待ち時間の現在の値を測定することと、
端末間の待ち時間の測定された現在の値を、所定のメディアの待ち時間の値と比較することと、
端末間の待ち時間の測定された現在の値が、所定のメディアの待ち時間の値よりも大きいときは、データを破棄することとを含む方法。
【請求項２】
破棄することが、メディアプレイアウト緩衝器のフレームにおける現在の深度を判断することをさらに含む請求項１記載の方法。
【請求項３】
データプレイアウト緩衝器が、通信ネットワーク内の受信機の位置に置かれる請求項２記載の方法。
【請求項４】
破棄することが、
メディアストリーム内のフレーム総数に対する、メディアストリーム内の目標のフレームの割合を評価することをさらに含む請求項２記載の方法。
【請求項５】
通信の待ち時間を適応管理する方法であって、
通信ネットワーク内の１つ以上のデータフレームを処理することと、
第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングすることと、
サンプリングされた１つ以上のデータフレームを補間することと、
１つ以上のデータフレームを使用して、プレイアウト波形を形成し、プレイアウト波形が所定の時間長をもつこととを含む方法。
【請求項６】
１つ以上のデータフレームが、１つ以上のボコーダフレームを含み、１つ以上のボコーダフレームのプレイアウト時間が、第１のサンプリング時間と異なる請求項５記載の方法。
【請求項７】
１つ以上のボコーダフレームのプレイアウト時間が、第１のサンプリング時間よりも短い継続時間をもつ請求項５記載の方法。
【請求項８】
ピッチを維持する変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項６記載の方法。
【請求項９】
周波数対時間領域変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項６記載の方法。
【請求項１０】
ピッチを維持する変換が、１つ以上のボコーダフレームのプレイアウト時間を圧縮する請求項６記載の方法。
【請求項１１】
ピッチを維持する変換が、１つ以上のボコーダフレームのプレイアウト時間を拡張する請求項６記載の方法。
【請求項１２】
待ち行列に記憶されている１つ以上のボコーダフレームを記憶し、監視することをさらに含む請求項６記載の方法。
【請求項１３】
１つ以上のボコーダフレームを記憶する待ち行列が、プレイアウト待ち行列緩衝器である請求項１２記載の方法。
【請求項１４】
プレイアウト待ち行列緩衝器に記憶されている複数のボコーダフレームを監視することと、
プレイアウト待ち行列緩衝器の記憶容量の深度を確認することと、
プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すのに十分であるかどうかを判断することとをさらに含む請求項１３記載の方法。
【請求項１５】
プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎると判断されると、待ち時間がプレイアウト波形内へ導入される請求項１４記載の方法。
【請求項１６】
待ち時間が、プレイアウト波形の長さを拡張することによって変更される請求項１５記載の方法。
【請求項１７】
待ち時間が、プレイアウト波形の長さを圧縮することによって変更される請求項１５記載の方法。
【請求項１８】
ピッチを維持する変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項１４記載の方法。
【請求項１９】
周波数対時間領域変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項１４記載の方法。
【請求項２０】
待ち時間が所定の値を超えると、時間圧縮アルゴリズムを使用して、待ち時間を低減することをさらに含む請求項１５記載の方法。
【請求項２１】
通信の待ち時間を適応管理する装置であって、
通信ネットワークにおける端末間のメディアの待ち時間を監視する手段と、
端末間のメディアの待ち時間の現在の値を測定する手段と、
端末間の待ち時間の測定された現在の値を、所定のメディアの待ち時間の値と比較する手段と、
端末間の待ち時間の測定された現在の値が、所定のメディアの待ち時間の値よりも大きいときは、データを破棄する手段とを含む装置。
【請求項２２】
破棄する手段が、メディアプレイアウト緩衝器のフレームにおける現在の深度を判断することをさらに含む請求項２１記載の装置。
【請求項２３】
データプレイアウト緩衝器が、通信ネットワーク内の聞き手の位置に置かれる請求項２２記載の装置。
【請求項２４】
破棄する手段が、メディアストリーム内のフレーム総数に対する、メディアストリーム内の目標のフレームの割合を評価することをさらに含む請求項２１記載の装置。
【請求項２５】
通信の待ち時間を適応管理する装置であって、
通信ネットワークにおいて１つ以上のデータフレームを処理する手段と、
第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングする手段と、
サンプリングされた１つ以上のデータフレームを補間する手段と、
１つ以上のデータフレームを使用して、プレイアウト波形を形成し、プレイアウト波形が所定の時間長をもつ手段とを含む装置。
【請求項２６】
１つ以上のデータフレームが、１つ以上のボコーダフレームを含み、１つ以上のボコーダフレームのプレイアウト時間が、第１のサンプリング時間と異なる請求項２５記載の装置。
【請求項２７】
１つ以上のボコーダフレームのプレイアウト時間が、第１のサンプリング時間よりも短い継続時間をもつ請求項２５記載の装置。
【請求項２８】
ピッチを維持する変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項２６記載の装置。
【請求項２９】
周波数対時間領域変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項２６記載の装置。
【請求項３０】
ピッチを維持する変換が、１つ以上のボコーダフレームのプレイアウト時間を圧縮する請求項２６記載の装置。
【請求項３１】
ピッチを維持する変換が、１つ以上のボコーダフレームのプレイアウト時間を拡張する請求項２６記載の装置。
【請求項３２】
待ち行列に記憶されている１つ以上のボコーダフレームを記憶し、監視することをさらに含む請求項２６記載の装置。
【請求項３３】
１つ以上のボコーダフレームを記憶する待ち行列が、プレイアウト待ち行列緩衝器である請求項３２記載の装置。
【請求項３４】
プレイアウト待ち行列緩衝器に記憶されている複数のボコーダフレームを監視する手段と、
プレイアウト待ち行列緩衝器の記憶容量の深度を確認する手段と、
プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すのに十分であるかどうかを判断する手段とをさらに含む請求項３３記載の装置。
【請求項３５】
プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎると判断されると、待ち時間がプレイアウト波形内へ導入される請求項３４記載の装置。
【請求項３６】
待ち時間が、プレイアウト波形の長さを拡張することによって変更される請求項３５記載の装置。
【請求項３７】
待ち時間が、プレイアウト波形の長さを圧縮することによって変更される請求項３５記載の装置。
【請求項３８】
ピッチを維持する変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項３４記載の装置。
【請求項３９】
周波数対時間領域変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項３４記載の装置。
【請求項４０】
待ち時間が所定の値を超えると、時間圧縮アルゴリズムを使用して、待ち時間を低減することをさらに含む請求項３５記載の装置。
【請求項４１】
通信の待ち時間を適応管理する方法を具体化するコンピュータプログラムが記憶されているコンピュータ読み出し可能媒体であって、コンピュータプログラムが、コンピュータデバイスによって実行されるとき、
通信ネットワーク内の１つ以上のデータフレームを処理することと、
第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングすることと、
サンプリングされた１つ以上のデータフレームを補間することと、
１つ以上のデータフレームを使用して、プレイアウト波形を形成し、プレイアウト波形が所定の時間長をもつこととを含む命令を含むコンピュータ読み出し可能媒体。
【請求項４２】
１つ以上のデータフレームが、１つ以上のボコーダフレームを含み、１つ以上のボコーダフレームのプレイアウト時間が、第１のサンプリング時間と異なる請求項４１記載のコンピュータ読み出し可能媒体。
【請求項４３】
１つ以上のボコーダフレームのプレイアウト時間が、第１のサンプリング時間よりも短い継続時間をもつ請求項４１記載のコンピュータ読み出し可能媒体。
【請求項４４】
ピッチを維持する変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項４２記載のコンピュータ読み出し可能媒体。
【請求項４５】
周波数対時間領域変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項４２記載のコンピュータ読み出し可能媒体。
【請求項４６】
ピッチを維持する変換が、１つ以上のボコーダフレームのプレイアウト時間を圧縮する請求項４２記載のコンピュータ読み出し可能媒体。
【請求項４７】
ピッチを維持する変換が、１つ以上のボコーダフレームのプレイアウト時間を拡張する請求項４２記載のコンピュータ読み出し可能媒体。
【請求項４８】
待ち行列に記憶されている１つ以上のボコーダフレームを記憶し、監視することをさらに含む請求項４２記載のコンピュータ読み出し可能媒体。
【請求項４９】
１つ以上のボコーダフレームを記憶している待ち行列が、プレイアウト待ち行列緩衝器である請求項４８記載のコンピュータ読み出し可能媒体。
【請求項５０】
プレイアウト待ち行列緩衝器に記憶されている複数のボコーダフレームを監視することと、
プレイアウト待ち行列緩衝器の記憶容量の深度を確認することと、
プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すのに十分であるかどうかを判断することとをさらに含む請求項４９記載のコンピュータ読み出し可能媒体。
【請求項５１】
プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎると判断されると、待ち時間がプレイアウト波形内へ導入される請求項５０記載のコンピュータ読み出し可能媒体。
【請求項５２】
待ち時間が、プレイアウト波形の長さを拡張することによって変更される請求項５１記載のコンピュータ読み出し可能媒体。
【請求項５３】
待ち時間が、プレイアウト波形の長さを圧縮することによって変更される請求項５１記載のコンピュータ読み出し可能媒体。
【請求項５４】
ピッチを維持する変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項５０記載のコンピュータ読み出し可能媒体。
【請求項５５】
周波数対時間領域変換を、１つ以上のボコーダフレームに適用することをさらに含む請求項５０記載のコンピュータ読み出し可能媒体。
【請求項５６】
待ち時間が所定の値を超えると、時間圧縮アルゴリズムを使用して、待ち時間を低減することをさらに含む請求項５１記載のコンピュータ読み出し可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね、ボコーダ、音声処理、電話技術（telephony）、およびデータ通信に関する。より具体的には、本発明は、グループ通信ネットワークにおいてユーザが経験する待ち時間を低減し、端末間のボイス オーバ インターネット プロトコル(voice over Internet protocol, VoIP)のメディアの待ち時間を適応管理する方法および装置に関する。
【背景技術】
【０００２】
ＶｏＩＰの電話呼は、インターネットのようなデータネットワーク上で送信される電話呼である。インターネットプロトコルは、音声呼データを、データネットワーク上の他のタイプのデータ間に置く、または差し入れる（slot）ことを可能にする。データネットワークの幾つかの例は、公衆インターネット、企業イントラネット、エクストラネット、または他のそのようなタイプのデータネットワークである。
【０００３】
ＶｏＩＰの電話呼を行うことは、従来の電話技術システム（telephony system）上で行われるものと比較して、多数の長所(例えば、コスト、性能、および呼管理)を伴う。ＶｏＩＰの電話呼のコストは、通常、データネットワークに加入する総費用の一部である(使用量にかかわらず、均一料金として価格をつけられることが多い)ので、その電話呼は、通常、従来の回線交換式電話技術よりも相当にコスト安である。さらに加えて、多くの規制機関は、現在、ＶｏＩＰの呼を、音声電話呼としてではなく、全情報サービスパッケージの一部として分類しており、したがって、従来の電話技術に伴う種々のタイプの税の多くを免責している。
【０００４】
別々の音声ネットワークおよび別々のデータネットワークであったであろうものを、１つの一体化されたネットワークとして管理することにも、利点が伴う。インターネット電話は、本質的には、ネットワークに接続されたコンピュータまたはコンピューティングデバイスであり、したがって、コンピュータのように管理することができ、移動、変更、および更新のような動作は、中央で管理され、これらの動作は、遠隔管理されることもできる。結局、ＶｏＩＰシステムは、新しいデータネットワークサービスまたは既存のデータネットワークサービスと容易に統合されることができる。例えば、ＶｏＩＰは、統合されたメッセージング、ボイスメール、番号ポータビリティ、発信者番号通知サービス（caller ID）、ウェブへのアクセスおよび管理、および他のこのような特徴をサポートすることができる。
【０００５】
従来の回線交換式電話技術は、暗黙の保証または少なくとも高い確率的期待値（probabilistic expectation）に基づき、したがって、回線は(仮想であっても、物理であっても、無線であっても、または有線であっても)、音声を、予測可能で、管理可能で、信頼できるストリームにおいて配信する。
【０００６】
上述の同じ暗黙の保証および期待値は、ディジタル回線交換式電話技術においても、変わらずに有効な仮定のままである。音声データは、ディジタル化され、情報のディスクリートなまとまり（chunk）、すなわち、一般にボコーダフレームと呼ばれるものへパケット化されるが、これらのフレームが話し手（talker）から聞き手(listener)へ向かってとる回線経路は、音声データを表わすボコーダフレームの連続の信頼できるストリームを与える。
【０００７】
ボコーダは、音声を合成し、アナログ波形を、通信ネットワーク上で送信するためのディジタル信号へ変換するのに使用されるデバイスである。ボコーダは、ディジタル化された音声信号を送信するための帯域幅要件を緩和するのにも使用される。ボコーダは、種々の技術を使用して、人間の音声の生成（speech generation）を表わすモデルに関係するパラメータを抽出し、操作することによって、有声音の音声（voiced speech）を圧縮する。
【０００８】
一般に、ボコーダは、(入って来る音声を解析し、関連するパラメータを抽出する)符号器と、(送信チャネル上で受信する関連するパラメータを使用して、音声を再合成する)復号器とから構成される。音声は、時間または解析フレームのブロックに分割され、フレーム中におけるパラメータが計算される。したがって、パラメータは、各新しいフレームごとに更新される。
【０００９】
可変の、遅い、または失われたボコーダフレームの配信が音声品質に与える影響を軽減するのに使用されるＶｏＩＰに基づく応用は、既存のインターフェースがボコーダに与える能力によって制限されてきた。これらの既存のインターフェースは、従来は、回線に基づくチャネルの要件および特性に基づいて設計されてきた。ＶｏＩＰの応用が基準にしているパケット データ チャネルは、話し手と聞き手との間の経路を移動するデータグラムに、根本的に異なる環境を与える。これらの違いに対処するためのアルゴリズムはあるが、ボコーダのための新しいインターフェースおよび能力を使用可能にすることよって、よりよい方式を可能にすることができる。
【００１０】
使用される回線経路が、完全でも、最適でもないかもしれないが、回線経路によってこのデータストリームへ取り込まれるあらゆるエラーは、予測可能なように、ボコーダフレームに影響を及ぼす。回線を移動する所与のデータフレームにおいて、次の３つの場合の１つが、最も当てはまる可能性が高いであろう。
【００１１】
１．フレームは、一定の端末間の遅延後に、変更されずに移動する、
２．フレームは、一定の端末間の遅延後に、１つ以上のビット誤り含んで、移動する、または、
３．フレームは、ストリーム内の次のボコーダフレームが到達する前に、失われ、情報の(例えば、時間における)ギャップを残す。上述の場合（３）は、場合（２）の特別な場合またはバリエーションとして見なすことができ、場合（２）において、フレーム内の全ビットは、回線を移動した後で、潜在的にエラーであることに注意すべきである。
【００１２】
通信回線の基本的な１つの特性は、通信回線が一定の端末間の遅延を、回線を移動する全フレームに、フレームがアナログ形式であっても、ディジタル形式であっても、取り込むことである。したがって、従来の音声の応用のために開発されたボコーダは、話し手から聞き手へ向かってとられる経路において生じ得る潜在的なエラーに対処するように設計されている。これらのボコーダの幾つかは、使用されるタイプによって、
Ａ．フレームに取り込まれるビット誤りを、ボコーダフレーム自体に含まれる誤り訂正または他の符号化技術によって、補償するか、または、
Ｂ．より高い層が抹消条件をボコーダに知らせることを可能にし、ボコーダが、使用されているボコーダのタイプによってとくにサポートされている多項式または他の予測タイプのアルゴリズムを使用して、時間ギャップの全体にわたって補間することによって、失われたフレームを補償することができる。
【００１３】
従来の回線経路におけるエラーに対処するこれらの補償機構は、全二重(双方向通信)回線に基づく通信において、適切に働く。通常、エラーが回線に取り込まれるとき、これらの応用における音声品質は、グレースフルに（gracefully）劣化する。
【００１４】
ＶｏＩＰまたはＶｏＩＰに基づく遠隔通信システムでは、１つ以上のボコーダフレームが、ＩＰデータグラムにおいてパッケージ化され、データのディスクリートなまとまりとして、パケットネットワーク上で送信される。ユニフォーム リソース ロケータ(uniform resource locator, URL)またはソケットのような、信頼できるチャネルを介して通信するクライアントおよびサーバは、それら自身の間に専用のポイント ツー ポイント チャネル、または専用チャネルの少なくとも操作上の錯覚（operational illusion）をもつ。
【００１５】
回線交換ネットワークでは、クライアントおよびサーバは、接続を設定し、データを送信し、その後で、接続を閉じることによって通信する。チャネル上で送られる全データは、データが送られたのと同じ順序で受信される。このデータ方向は、チャネルによって保証される。対照的に、データグラムを介して通信する応用は、完全に独立した情報パケットを送受信する。これらのクライアントおよびサーバは、専用のポイント ツー ポイント チャネルをもっていない、またはもつ必要がない。データグラムのそれらの宛先への配信も、受信側におけるデータグラムの到達順も保障されない。
【００１６】
データグラムは、ネットワーク上で送られる独立の自立型メッセージであり、その到達、到達時間、および内容は保証されない。データグラムに基づくシステムでは、アドレス指定情報を各パケットへ加えると、データグラムがパケットデータネットワークを移動するときに、ネットワークが、各データグラムを、別々に、ノードごとにルーティングすることを可能にする。これは、データ(例えば、ボコーダフレーム)を所定の経路に沿って運び、したがって、一定の予測可能な待ち時間をもつ回線交換ネットワークと比較される。
【００１７】
一般に、待ち時間（latency）とは、ネットワークを介して情報またはデータを得るときに経験する待機時間または時間遅延を指す。待ち時間は、多くの異なるやり方で発生し得る。例えば、待ち時間は、伝搬遅延から生じることがある。伝搬遅延とは、情報が、情報起点から情報終点までの距離を(例えば、所与の電話線の距離において)移動するのにかかる時間長である。パケットに基づくシステムでは、待ち時間が所与の媒体(media)をわたってパケットを送るのにかかる時間長から生じ得る送信遅延があり得る。遠隔通信の文脈では、媒体は、ほとんどの場合に、送信を運ぶコンジット（conduit）またはリンクである。搬送媒体の幾つかの例は、同軸ケーブル、銅線、電波、導波管、およびファイバを含む。送信遅延は、一般に、媒体のサイズとデータパケットのサイズとによって判断される。待ち時間の別の源は、処理遅延であり、これは、種々のタスク、例えば、ルート検索（route look-up）、ヘッダの変更および管理、データのカプセル化の変更、および他の切り換えタスクを行うために、ネットワークデバイスによって要求される時間である。
【００１８】
これに関連して、回線交換式電話技術システムとデータグラムに基づくシステムとの間の１つの根本的な違いは、データグラムに基づくシステムの音声フレームが、インターネットプロトコル(Internet Protocol, IP)のヘッダと共にカプセル化されるだけでなく、それらが、パケット データ ネットワークを移動するとき、可変のリンク特性(例えば、誤り率、輻輳)の影響を受け、示すことである。
【００１９】
これらの特性の結果として、ＶｏＩＰの応用におけるボコーダパケットは、他のフレームと比較して、一連のＶｏＩＰデータグラムの送信において、より早く、またはより遅く、異なる端末間の待ち時間を加えて、聞き手に到達し得る。通常のパケットネットワークは、破損したデータグラムを破棄するが、そうでなければ、最善の努力に基づいて送信する。例えば、幾つかのパケットは、失われるか、または、それらの最終的な宛先に到達しないことがある。他のパケットは、到達するのが遅過ぎて、有効でないかもしれない。
【００２０】
ＶｏＩＰの応用、並びにビデオ電話技術の応用のような、他のＩＰに基づくメディア ストリーミングの応用が直面する１つの問題は、第１のメディアデータグラムが聞き手によって受信されるまで、音声のプレイアウト（voice play-out）を始めることができないことである。このデータグラムが、非典型的に（uncharacteristically）遅れるとき(または、送信された第１のメディアデータグラムが失われ、したがって、受信機が、次のデータグラムが移動に成功するのを待たなければならないとき)、長い最初の端末間の待ち時間が、最初に、メディアストリームに取り込まれる。
【００２１】
したがって、多くのシナリオにおいて、ＶｏＩＰの応用は、次の２つの問題に対処する必要がある。ＶｏＩＰの応用は、可変の待ち時間および異なる到達間の時間またはジッタを加えて到達するパケット、例えば、順序を乱して到達するパケットに対処する必要がある。ＶｏＩＰの応用は、失われたパケット、またはアプリケーション層において関心をひく（interesting）または有益であるには、到達するのが遅過ぎたパケットにも対処する必要がある。
【００２２】
到達間の時間の変動性に対処する１つのやり方では、受信機において、受信したボコーダフレームを、一定の期間の間、緩衝することによって、受信したジッタを平坦にする。この緩衝によるアプローチは、幾つかの、または全てのボコーダフレームのプレイアウトを遅らせるという犠牲を払って、回線経路の一定の端末間の待ち時間を、事実上、シミュレートする。プレイアウト閾値またはウォーターマーク（watermark）として一般に知られている、取り込まれた遅延を判断するための種々のアルゴリズムが存在する。
【００２３】
しかしながら、一定の遅延が使用されるとき、遅延は、話し手と聞き手との間のパケットネットワークにおける最大の予測の端末間の待ち時間に比例する。このため、このアプローチは、ＶｏＩＰの端末間のメディアの待ち時間を、同じ話し手と聞き手との間の回線経路と比較して、相当に増加させる傾向がある。
【００２４】
しばしば、一定の遅延をメディアのプレイアウトに取り込み、パケットデータネットワークによって遅らされたボコーダフレームが、それらのプレイアウト時間に達する前に、到達することを可能にする。取り込まれる遅延がより長くなると、所与のボコーダフレームが、そのプレイアウト時間に達する前に、到達する可能性がより高くなるであろう。しかしながら、より長い遅延は、より長い端末間のメディアの待ち時間をもたらし、これは、知覚される音声品質および応用の全体的な使い易さを損ねる。
【００２５】
ボコーダフレームを保持している遅いまたは失われたパケットを補償するためのアプローチがある。１つのアプローチでは、失われたボコーダフレームまたは遅く到達することになるボコーダフレームを再生する時間に達したときに、抹消イベントをボコーダに知らせる。別のアプローチでは、単に失われたパケットを無視し、失われたフレームの代わりに、次の使用可能なボコーダフレームを再生する。後者のアプローチは、失われたフレームのイベントについての知識が、プレイアウトのためにフレームをボコーダに与える層において、得られないか、または分からないときに使用される。この方式は、失われたデータをデータ送信に追いつく機会として使用することによってＶｏＩＰストリームを時間と共に強化し得る、時間圧縮または端末間のメディアの待ち時間の削減にも使用される。パケット データ ネットワークに依存して、何れのボコーダフレームが破棄するのに最良であるかを判断すると、音声品質に相当に有害な影響を及ぼすことになり得る。
【００２６】
したがって、所与のパケット データ ネットワークの長期間の性能の統計に基づいて、閾値を選択すると、特定のネットワークまたはネットワーク経路が平均よりも良く、または以前に得た統計よりも良く働いているときは、音声のプレイアウトを不必要に遅らせる傾向がある。その代わりに、その特定の時間点における実際のまたは予測のリンク性能に基づいて、閾値を選択する。例えば、経験的な端末間の遅延の移動平均を、受信機によって作表し、維持することができ、幾つかの環境において、メディアのプレイアウトを開始する閾値として使用する。
【００２７】
しかしながら、移動平均の品質は、それを判断するのに使用されるサンプル数に比例するので、実際には、この平均遅延は、次のトークスパート（talk spurt）(半二重)またはトークストリーム（talk stream）(全二重)のみに使用することができる。概算見積は、移動平均をコンパイルするのに使用されるフレーム数を制限することによって、推測することができる。極端なものとして、遅延は、最初に受信したパケットを調べることによって推測することができるが、実際には、このアプローチは制限を伴う。
【００２８】
話し手と聞き手が時間源を調整していれば(例えば、符号分割多元接続(Code Division Multiple Access, CDMA)システムで通信すれば)、話し手と聞き手との間の端末間のネットワーク待ち時間の正確で精密な判断をすることができる。十分に大きいサンプルサイズで平均をとると、この遅延は、端末間のネットワーク待ち時間の一定の成分を表わし、メディアのプレイアウトを開始するのに使用されるウォーターマークから差し引くことができる。結果は、予想されるジッタを平坦にするのに必要とされる遅延のみを表わす閾値である。
【発明の開示】
【発明が解決しようとする課題】
【００２９】
したがって、端末間のＶｏＩＰのメディアの待ち時間を適応管理する機構を与え、音声品質に対する可変の、遅い、または失われたボコーダフレームの影響を軽減することが望ましい。
【課題を解決するための手段】
【００３０】
「含む（comprises）」または「含んでいる（comprising）」という用語は、本明細書において使用されているときは、記載されている特徴、整数、ステップ、または構成要素の存在を指定していると解釈されるが、これらの用語の使用は、１つ以上の他の特徴、整数、ステップ、構成要素、またはそのグループの存在または追加を除外しないことが強調されるべきである。
【００３１】
１つの実施形態は、通信の待ち時間を適応管理する方法である。これは、通信ネットワークにおける端末間のメディアの待ち時間を監視することと、端末間のメディアの待ち時間の現在の値を測定することと、端末間の待ち時間の測定された現在の値と、所定のメディアの待ち時間の値とを比較することと、端末間の待ち時間の測定された現在の値が、所定のメディアの待ち時間の値よりも大きいときは、データを破棄することとを含む。１つの態様において、破棄することは、メディアプレイアウト緩衝器のフレームにおける現在の深度を判断することをさらに含む。別の態様において、メディアプレイアウト緩衝器は、通信ネットワーク内の受信機の位置に置かれる。別の態様において、破棄することは、メディアストリーム内のフレームの総数に対する、メディアストリーム内の目標のフレームの割合を評価することをさらに含む。
【００３２】
別の実施形態は、通信の待ち時間を適応管理する方法であって、通信ネットワーク内の１つ以上のデータフレームを処理することと、第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングすることと、サンプリングされた１つ以上のデータフレームを補間することと、１つ以上のデータフレームを使用して、プレイアウト波形を形成し、プレイアウト波形が所定の時間長をもつこととを含む方法である。１つの態様において、１つ以上のデータフレームは、１つ以上のボコーダフレームを含み、１つ以上のボコーダフレームのプレイアウト時間は、第１のサンプリング時間と異なる。別の態様において、１つ以上のボコーダフレームのプレイアウト時間は、第１のサンプリング時間よりも短い継続時間をもつ。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームに適用される。別の態様において、周波数対時間領域の変換は、１つ以上のボコーダフレームに適用される。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームのプレイアウト時間を圧縮する。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームのプレイアウト時間を拡張する。別の態様において、待ち行列に記憶されている１つ以上のボコーダフレームは、記憶され、監視される。別の態様において、１つ以上のボコーダフレームを記憶する待ち行列は、プレイアウト待ち行列緩衝器である。別の態様は、プレイアウト待ち行列緩衝器に記憶されている複数のボコーダフレームを監視することと、プレイアウト待ち行列緩衝器の記憶容量の深度を確認することと、プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すのに十分であるかどうかを判断することとを含む。別の態様において、プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎると判断されると、待ち時間がプレイアウト波形に導入される。別の態様において、待ち時間は、プレイアウト波形の長さを拡張することによって変更される。別の態様において、待ち時間は、プレイアウト波形の長さを圧縮することによって変更される。別の態様は、ピッチを維持する変換を、１つ以上のボコーダフレームに適用する。別の態様は、周波数対時間領域変換を、１つ以上のボコーダフレームに適用する。別の態様は、待ち時間が所定の値を超えると、時間圧縮アルゴリズムを使用して、待ち時間を低減する。
【００３３】
別の実施形態は、通信待ち時間を適応管理する装置であって、通信ネットワークにおける端末間のメディアの待ち時間を監視する手段と、端末間のメディアの待ち時間の現在の値を測定する手段と、端末間の待ち時間の測定された現在の値と、所定のメディアの待ち時間の値とを比較する手段と、端末間の待ち時間の測定された現在の値が、所定のメディアの待ち時間の値よりも大きいときは、データを破棄する手段とを含む。１つの態様において、破棄する手段は、メディアプレイアウト緩衝器のフレームにおける現在の深度を判断することをさらに含む。別の態様において、メディアプレイアウト緩衝器は、通信ネットワーク内の受信機の位置に置かれる。別の態様において、破棄する手段は、メディアストリーム内のフレームの総数に対する、メディアストリーム内の目標のフレームの割合を評価することをさらに含む。
【００３４】
別の実施形態は、通信の待ち時間を適応管理する装置であって、通信ネットワークにおける１つ以上のデータフレームを処理する手段と、第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングする手段と、サンプリングされた１つ以上のデータフレームを補間する手段と、１つ以上のデータフレームを使用して、プレイアウト波形を形成し、プレイアウト波形が所定の時間長をもつ手段とを含む装置である。１つの態様において、１つ以上のデータフレームは、１つ以上のボコーダフレームを含み、１つ以上のボコーダフレームのプレイアウト時間は、第１のサンプリング時間と異なる。別の態様において、１つ以上のボコーダフレームのプレイアウト時間は、第１のサンプリング時間よりも短い継続時間をもつ。別の態様は、ピッチを維持する変換を、１つ以上のボコーダフレームに適用することを含む。別の態様は、周波数対時間領域の変換を、１つ以上のボコーダフレームに適用することを含む。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームのプレイアウト時間を圧縮する。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームのプレイアウト時間を拡張する。別の態様は、待ち行列に記憶されている１つ以上のボコーダフレームを記憶し、監視する。別の態様において、１つ以上のボコーダフレームを記憶する待ち行列は、プレイアウト待ち行列緩衝器である。別の態様において、プレイアウト待ち行列緩衝器に記憶されている複数のボコーダフレームを監視する手段と、プレイアウト待ち行列緩衝器の記憶容量の深度を確認する手段と、プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すのに十分であるかどうかを判断する手段とがある。別の態様において、プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎると判断されると、待ち時間がプレイアウト波形に導入される。別の態様において、待ち時間は、プレイアウト波形の長さを拡張することによって変更される。別の態様において、待ち時間は、プレイアウト波形の長さを圧縮することによって変更される。別の態様は、ピッチを維持する変換を、１つ以上のボコーダフレームに適用する。別の態様は、周波数対時間領域変換を、１つ以上のボコーダフレームに適用する。別の態様は、待ち時間が所定の値を超えると、時間圧縮アルゴリズムを使用して、待ち時間を低減する。
【００３５】
別の実施形態において、通信デバイスは、通信の待ち時間を適応管理する方法を具体化するコンピュータ読出し可能媒体を含み、方法が、通信ネットワークにおける１つ以上のデータフレームを処理することと、第１のサンプリング時間にしたがって、１つ以上のデータフレームをサンプリングすることと、サンプリングされた１つ以上のデータフレームを補間することと、１つ以上のデータフレームを使用して、プレイアウト波形を形成し、プレイアウト波形が所定の時間長をもつこととを含む。１つの態様において、１つ以上のデータフレームは、１つ以上のボコーダフレームを含み、１つ以上のボコーダフレームのプレイアウト時間は、第１のサンプリング時間と異なる。別の態様において、１つ以上のボコーダフレームのプレイアウト時間は、第１のサンプリング時間よりも短い継続時間をもつ。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームに適用される。別の態様において、周波数対時間領域の変換は、１つ以上のボコーダフレームに適用される。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームのプレイアウト時間を圧縮する。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームのプレイアウト時間を拡張する。別の態様において、待ち行列に記憶されている１つ以上のボコーダフレームは、記憶され、監視される。別の態様において、１つ以上のボコーダフレームを記憶する待ち行列は、プレイアウト待ち行列緩衝器である。別の態様は、プレイアウト待ち行列緩衝器に記憶されている複数のボコーダフレームを監視することと、プレイアウト待ち行列緩衝器の記憶容量の深度を確認することと、プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すのに十分であるかどうかを判断することとを含む。別の態様において、プレイアウト待ち行列緩衝器の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎると判断されると、待ち時間がプレイアウト波形に導入される。別の態様において、待ち時間は、プレイアウト波形の長さを拡張することによって変更される。別の態様において、待ち時間は、プレイアウト波形の長さを圧縮することによって変更される。別の態様において、ピッチを維持する変換は、１つ以上のボコーダフレームに適用される。別の態様において、周波数対時間領域変換は、１つ以上のボコーダフレームに適用される。別の態様において、待ち時間が所定の値を超えると、時間圧縮アルゴリズムを使用して、待ち時間を低減する。
【発明を実施するための最良の形態】
【００３６】
本発明の特徴および長所は、図面に関連する次の詳細な記述を読むことによって、より良く理解されるであろう。
【００３７】
“例示的”という用語は、“例、事例、または実例としての役割を果たす”ことを意味するために使用されている。“例示的”と記載されている実施形態は、他の実施形態よりも好ましいまたは好都合であると、必ずしも解釈されると限らない。
【００３８】
本発明の１つの実施形態を詳しく説明する前に、本発明が、その応用において、次の記述に説明されているか、または図面に示されている構成の詳細および構成要素の配置に制限されないことが理解されるであろう。本発明は、他の実施形態において実施され、種々のやり方で実行されることができる。さらに加えて、本明細書において使用されている語法および用語は、説明および理解の目的のためであり、制限として見なされるべきでないことが理解される。
【００３９】
図１は、例示的な通信ネットワーク100を示している。通信ネットワーク100は、１つ以上の通信塔106を含み、各通信塔106は、基地局(base station, BS)110に接続され、通信デバイス102をもつユーザにサービスしている。通信デバイス102は、セルラ電話、ページャ、パーソナル ディジタル アシスタント(personal digital assistant, PDA)、ラップトップ コンピュータ、他のハンドヘルド通信デバイス、固定通信デバイス、またはポータブル通信デバイスであって、データ通信をサポートするものであり得る。
【００４０】
各ユーザによって入力されるコマンドおよびデータは、ディジタルデータとして、通信塔106へ送信される。通信デバイス102および通信塔106を使用するユーザ間の通信は、異なる技術およびプロトコルに基づくことができる。例えば、符号分割多元接続(code division multiple access, CDMA)、時分割多元接続(time division multiple access, TDMA)、周波数分割多元接続(frequency division multiple access, FDMA)、グローバル システム フォー モバイル コミュニケーションズ(global system for mobile communications, GSM)、または他のタイプの通信プロトコルが、無線通信ネットワークまたはデータ通信ネットワークにおいて使用され得る。各ユーザからのデータは、通信塔106から基地局(BS)110へ送られ、移動交換局(mobile switching center, MSC)114へ転送される。ＭＳＣ114は、公衆交換電話ネットワーク(public switched telephone network, PSTN)118およびインターネット120に接続され得る。ＭＳＣ114は、通信ネットワーク100においてＰＴＴの特徴を支援するサーバ116に接続され得る。サーバは、各通信グループのメンバを載せているテーブルを記憶することに加えて、ＰＴＴの特徴をサポートする応用を含んでいる。オプションで、サーバ116は、ＭＳＣ114の一部であってもよい。
【００４１】
図２に示されている実施形態において、通信ネットワーク(例えば、図１に示されている例示的な通信ネットワーク)を介して送信されるデータに存在する待ち時間が観測され、監視される200。所与の一片のデータ(例えば、パケット、データフレーム、データグラム、ボコーダフレーム、等)に関して、特定の一片の情報と関係付けられる待ち時間の現在の値が判断される202。待ち時間は、所与の応用にとって有益または望ましいと個々の実施が提案する任意の増分または時間的持続において、測定されることができる。測定される待ち時間の値が判断された後で、測定された待ち時間の値は、所定の待ち時間値と比較される204。１つの実施形態において、所定の待ち時間の値は、測定された待ち時間と比較される待ち時間の許容閾値レベルを表わす。
【００４２】
待ち時間の測定された現在の値が、所定の待ち時間の値よりも大きいとき204、データは破棄される206。データを破棄すると、通信ネットワークの待ち時間が向上する。破棄されるメディア量の判断は、幾つかの要因、例えば、かかわっている通信ネットワーク、ネットワークを通るメディアのタイプおよびサイズ、望ましい品質レベル(例えば、音声品質)、並びに他の要因、例えば、変数およびシステムパラメータに依存する。破棄されるメディア量は、上述の要因に基づくか、またはエンドユーザに対する許容結果をサーチする一方で、反復的にメディアを破棄することもできる。これは、通信条件および操作パラメータの変化に基づいて、プロセスを適応管理する方法の能力に寄与する。次に、参照番号206においてメディアを破棄すると、方法は、参照番号200の待ち時間の監視に戻り、反復的に続く。
【００４３】
初期遅延から回復する１つの例示的なやり方では、受信機においてボコーダフレームを破棄する。各フレームは、通常、２０ミリ秒の音声を表わす。情報を捨てることによって端末間のメディアの待ち時間を低減するこのプロセスは、待ち時間の削減の一形式である。この発想は、情報を捨てて、待ち時間の許容レベルを支持する一方で、それでもなお、意図された通信内容を識別するのに十分な情報を保持しているというものである。約８キロヘルツでサンプリングする仮定に基づいて設計されたボコーダは、通常、１つのフレーム当たりに２０ミリ秒の音声を表わすように設計されている。この特定の値は、ＩＥＴＦの実時間プロトコル(ＲＦＣ １８８９)によっても標準化されている。当業者には、異なるサンプリング方式、データフレームのサイズ、仮定、等が、本発明の意図および範囲から逸脱することなく使用され得ることが分かるであろう。
【００４４】
待ち時間を管理する別のアプローチでは、ボコーダフレームを話し手において(例えば、送信前に)破棄する。より少ないデータが、通信ネットワークをわたる送信のために入力されるので、このアプローチは、帯域幅を節約するという付加的な長所をもつ。しかしながら、このアプローチは、メディア品質を戻すチャネル（media quality back-channel）を使用しない(すなわち、実時間会議プロトコル（real time conferencing protocol, RTCP）または同様のプロトコルを使用して、メディア受信統計に関するフィードバックを行わない)半二重のＶｏＩＰの応用にとっては、非実用的であると考えられる。当業者には、ＶｏＩＰの応用に加えて、他のデータ応用が、権利を主張している発明の意図および範囲から逸脱することなく使用され得ることが分かるであろう。
【００４５】
非常に圧縮されているボコーダストリームから任意の情報を破棄すると、音声品質を低下させるか、または有害な影響を与えることになるので、どのフレームをプレイアウトし、どのフレームを破棄するかを選択することは、考慮すべき１つの要素である。ＣＤＭＡのハンドセットによって採用されている幾つかの可変レートのボコーダ[例えば、クゥアルコム コード励起線形予測(Qualcomm Code Excited Linear Prediction, QCELP)、拡張可変レート符号化(Enhanced Variable Rate Coding, EVRC)、選択可能モードボコーダ(Selectable Mode Vocoder, SMV)、等]において、幾つかのボコーダフレームは、他のものよりも、より重要な情報を含んでいる。例えば、８分の１レート(レート１／８とも呼ばれる)のボコーダフレームを失うことによる知覚される音声品質に対する影響は、フルレート(レート１とも呼ばれる)またはハーフレート(レート１／２とも呼ばれる)のボコーダフレームを失うことによる影響よりも小さいことが、一般に真である。したがって、何を、どのくらい破棄するかを判断するとき、破棄される情報の性質および影響、並びに使用されるボコーダが考慮される。
【００４６】
待ち時間を削減する別の例示的な形式では、８分の１レートのフレームが聞き手においてプレイアウトのために準備されるとき、それを定期的に破棄する。破棄するための識別されるフレームレートは、幾つかの要素、例えば、（ａ）現在の端末間のメディアの待ち時間、（ｂ）聞き手におけるメディアプレイアウト緩衝器の（フレームにおける）現在の深度、および（ｃ）メディアストリーム内のフレームの総数に対する、目標にされ得るフレームの割合に依存する。
【００４７】
しかしながら、８分の１レートのフレームの全てが等しいとは限らず、８分の１レートのフレームは、一般に、時間において、音声ストリームの比較的に重要度の低いセグメントをコード化するが、２０ミリ秒のセグメントを単純に破棄することは、復号された音声内に著しいアーチファクトを取り込み得る。
【００４８】
次に、このアプローチの例を疑似コードの形で概略的に示す。
【表１】
2008517560.tif 000003
【００４９】
直ぐ上に記載されている疑似コード、および明細書中に示されている他の疑似コードは、より明らかな理解および説明のために与えられており、本発明の範囲を制限することは全く意図されていないことに注意すべきである。さらに加えて、上述の例示的なシナリオでは、８分の１レートのボコーダフレームを使用したが、Ｎ分の１レートのフレームも、本発明の範囲および意図から逸脱することなく使用できることに注意すべきである。
【００５０】
上に記載された疑似コードにおける１つの仮定は、このアプローチが、プレイアウトのために１つのボコーダフレームをボコーダへ連続的に送るインターフェースのみを仮定していることであり、ｖｏｃｏｄｅｒ ｐｌａｙ ｆｒａｍｅ（  ）は、従来の回線交換の応用のみのために設計されたボコーダが、与えることを要求されるであろう最小のインターフェースである。
【００５１】
最初のメディアの待ち時間の遅延から実時間で回復する別のアプローチは、出力波形に知覚可能なメディアのアーチファクトを比較的に取り込み難いものであり、１つ以上の連続するボコーダフレームを使用して、ボコーダフレームを生成するのに最初に使用された波形よりも短い波形を、変換アルゴリズムを使用して生成する。より短い波形を生成するのに使用され得る変換アルゴリズムの幾つかの例は、ピッチを維持する変換、または対応する周波数対時間領域変換、等である。
【００５２】
図３に示されている実施形態において、データフレーム、例えば、１つ以上の連続するボコーダフレームを表わすデータフレームが処理される300。処理は、特定のデータフレーム内に含まれているデータの内容およびデータのタイプを判断することを含む。次に、データフレームはサンプリングされ302、補間される304。これは、データフレームが、特定のサンプリング方式にしたがって検査されることを可能にし、その結果、希望のデータフレームが、所定のサンプリング基準にしたがって調べられ、次に、所定の補間基準にしたがって補間される。補間とは、値を、他の値に基づいて推定するやり方である。例えば、現在のデータフレームを、過去のデータフレームおよび将来のデータフレームとの間で比較し、再構成された現在のデータフレームに到達する。当業者に周知の種々のサンプリングおよび補間技術が、本発明の意図および範囲から逸脱することなく使用され得る。
【００５３】
図３において、サンプリング302および補間304の後で、所定の長さをもつ波形が形成される306。例えば、待ち時間を低減するために、ボコーダフレームから生成される結果の波形は、ボコーダフレームを生成するのに最初に使用された波形よりも短い波形をもつものである。既に記載したように、ピッチを維持する変換か、または対応する周波数対時間領域変換は、より短い波形を生成するのに使用され得る２つのタイプの変換である。次に、参照番号306において所定の長さをもつ波形を形成すると、方法は、参照番号300の待ち時間の監視に戻り、反復的に続く。
【００５４】
ＶｏＩＰストリームの最初のメディアのプレイアウトが、人為的な１０００ミリ秒の遅延を音声ストリームへ取り込む時点まで遅らされた別の例示的なシナリオを検討する。さらに加えて、この特定のＶｏＩＰの応用では、メディアは、１つのデータグラム当たりに５つのボコーダフレームでまとめられると仮定する。当業者には、本発明の意図および範囲から逸脱することなく、他の値が、音声ストリームへ取り込まれる人為的な遅延量を表わすこと、並びに、１つのデータグラム当たりにまとめられる異なる量のボコーダフレームが使用され得ることが分かるであろう。各ボコーダフレームをボコーダに別々に与え、上述のように、恐らくは、ストリーム内の任意の８分の１レートのフレームを破棄して、待ち時間を削減するのではなく、対応する１００ミリ秒の入力よりも短い波形を生成する命令で、５つの全てのボコーダフレームが、１つのグループとしてボコーダに与えられ得る。
【００５５】
ピッチを維持する変換は、ボコーダフレームのデータ自体によって与えられる周波数領域情報から、任意のほぼ任意の時間の波形を生成することを可能にする。実時間のＶｏＩＰストリームにおける待ち時間を圧縮するか、または削減するために、種々のアプリケーション層のインターフェースが、ボコーダのために定められ、実施され得る。
【００５６】
１つの例示的なシナリオにおいて、まとめられたメディアを受信し、５つのデータフレームに対する待ち時間を削減することなく、各フレームを個々に与える疑似コードを次に与える。
【表２】
2008517560.tif 000004
【００５７】
しかしながら、１フレーム当たりに２０ミリ秒のサンプリングレートによって生成される波形に対応するものよりも短い波形を補間する命令で、１つ以上のフレームをボコーダに与える能力が使用可能であるとき、次に示すものに似た例示的なアルゴリズムが実現され得る。
【表３】
2008517560.tif 000005
【００５８】
この場合に、新しいボコーダのインターフェース、ｖｏｃｏｄｅｒ ｐｌａｙ ｖａｒｉａｂｌｅ（  )が要求される。このインターフェースは、１つ以上のボコーダフレームをとり、それらを、所定の時間長をもつプレイアウト波形へ補間する。これらのボコーダフレームのプレイアウト時間は、（例えば、ピッチを維持する変換の使用によって）元のサンプリング時間よりも短いので、待ち時間を、８分の１レートのフレームを単に落とすよりも、よりグレースフルに（gracefully）削減することができる。上に示した例示的な疑似コードにおいて、実時間を経験したメディアの待ち時間が、所定の制限を越えるときは必ず、５つのボコーダフレームのまとまりは、元の１００ミリ秒のサンプリング期間から(９０ミリ秒より短くなることなく)短縮され、メディアの待ち時間を制御する。
【００５９】
他のアルゴリズムは、他の情報、例えば、パケット誤り率、受信フレームの統計、および現在のメディアの緩衝深度を使用し得る。この情報は、単独で、または組み合わせて使用することができる。メディアの待ち時間をグレースフルに削減する能力は、ＶｏＩＰの応用の操作性能を向上する。既に記載したように、基礎となるボコーダによって与えられるインターフェースおよび設計の特性は、単に、どのくらいグレースフルに待ち時間を削減できるかを判断する。１つ以上のボコーダフレームの可変の補間をサポートするインターフェースの追加は、アプリケーション層において、よりグレースフルな待ち時間削減アルゴリズムを実施するのに使用することができる。
【００６０】
待ち時間の削減をサポートすることに加えて、新しいインターフェース、ｖｏｃｏｄｅｒ ｐｌａｙ ｖａｒｉａｂｌｅ（  )は、ＶｏＩＰに基づく応用においてメディア アンダーラン イベントの発生を軽減するのに使用することができる。メディア アンダーラン イベントは、パケットの損失、ネットワークの輻輳、または他の要因の結果として、ボコーダフレームが、次のボコーダフレームを再生するときに、聞き手において使用可能でないときに発生する。言い換えると、聞き手が、聴くためのボコーダフレームを時期尚早に切らしてしまうことである。アンダーランイベントは、メディアの待ち時間が長いか、または短いときに発生することがあり、問題は、通常、互いに独立している。
【００６１】
一般に、ＶｏＩＰの応用では、受信ボコーダフレームの到着間の遅延におけるジッタを平坦にするために、聞き手において、少量の端末間のメディアの遅延を、プレイアウトストリームに人為的に取り込む。この僅かな遅延は、幾つかのボコーダフレームが予想よりも遅く到達する事実を隠す（mask）のに使用できるので、一般に望ましい。
【００６２】
実際には、遅延を取り込むことは、受信ボコーダフレームの到達レートにおける全ての変動性を隠すことになり、好ましくない。事実、このアプローチは、システムを、最悪の場合の操作として評価する。これは、過度に大きい最初の端末間のメディアの待ち時間を取り込むことになる。幾つかの遅く到達するイベントは許容され(また、遅く到達するフレームは無視され)なければならない。極端な場合には、聞き手のプレイアウトの緩衝は排出され、一方で、新しいフレームが到達するのを待ち、アンダーラン状態をもたらす。
【００６３】
これらのアンダーランは、少なくとも２つの根本的な理由のために、メディアの品質を劣化する。第１に、これらは、メディアのプレイアウトの波形内に人為的なギャップを取り込む。従来のボコーダのインターフェースでは、ボコーダは、アンダーランを許容し、抹消フレーム(または、それに相当するもの)を再生する一方で、新しいメディアが到達するのを待たざるを得ない。第２に、遅いメディアが、アンダーランの後で到達すると、それを落とさなければならず、プレイアウト波形をさらに劣化させることになるか、または、それが再生されるときは、端末間の待ち時間の増加を許容しなければならない。また、遅いメディアが、聞き手に到達せず、もっと正確に言えば、遅いパケットがネットワーク内で失われる(しかしながら、より遅いメディアは、スケジュールどおりに到達する)とき、フレームがプレイアウトストリームから失われる結果として、メディアの品質は有害な影響を受ける。
【００６４】
しかしながら、プレイアウト時に１つ以上のボコーダフレームによって生成される波形の時間長を制御する能力を使用して、メディアの品質に対するアンダーランイベントの有害な影響を制御することができる。
【００６５】
図４は、予想されるジッタを隠すのに十分な緩衝深度が、どのように判断されるかについての例示的な実施形態を示すフローチャートを示している。聞き手のプレイアウトの待ち行列に記憶されているボコーダフレーム数を監視することによって（図４の参照番号400）、この応用は、このプレイアウトの緩衝の深度が、メディアストリームにおける予想されるジッタを隠すには低過ぎるときを判断することができる(図４の参照番号402)。
【００６６】
次に、監視されるボコーダフレーム数（参照番号400）と、緩衝深度が予想されるジッタを隠すのに十分であるときを判断すること（参照番号402）とに基づいて、待ち時間を調節することができる(図４の参照番号404)。この調節は、希望の基準にしたがって行われる。例えば、１つの実施形態では、調節は、希望の結果または品質レベルに基づくことができる。この点で、この応用は、使用可能なボコーダフレームを使用して、生成された波形の長さを拡張することによって、待ち時間をプレイアウト波形へ人為的に取り込むことを選択することができる。波形の長さを拡張すると、待ち時間をプロセスへ取り込むことになるのは、明らかであるはずである。ここでも、これに関連して、ピッチを維持する変換の応用が有益である。メディアの待ち時間が、長くなり過ぎると、時間圧縮のような、異なる方法によって、それを低減することができる。さらに加えて、この場合に、遅れたメディアは、遅く到達すると、それを破棄するのを強要されるのではなく、これらのボコーダフレーム内の情報を使用して、より良い品質であるが、短くされた波形を生成することができる。
【００６７】
次の疑似コードは、時間圧縮および時間拡張の両者を使用して、メディアの待ち時間が過度に長くなるのを制御し、一方で、メディアストリームからの、失われたまたは遅いフレームの影響を軽減する別の例示的なプレイアウト方式の概要を示す。
【表４】
2008517560.tif 000006
【００６８】
無線サービスプロバイダのコンピュータデバイスまたは無線通信デバイス上で実行可能な方法を考えると、方法は、コンピュータ読出し可能媒体内に存在するプログラムによって実行されることができ、プログラムは、方法を実行するコンピュータをもつサーバまたは他のコンピュータデバイスに指示する。コンピュータ読出し可能媒体は、サーバのメモリであるか、または接続されたデータベース内にあり得る。さらに加えて、コンピュータ読出し可能媒体は、無線通信デバイスのコンピュータプラットフォーム上へロード可能な二次記憶媒体、例えば、磁気ディスクまたはテープ、光ディスク、ハードディスク、フラッシュメモリ、または当技術において知られている他の記憶媒体内にあり得る。
【００６９】
当業者には、本明細書に記載されている方法、および任意の関連するアルゴリズムが、汎用コンピュータ上で実行されるコードから専用回路に及ぶ任意の形式、およびそれらの任意の組合せで実施され得ることが分かるであろう。本明細書に記載されている図２ないし４に関連して、方法は、例えば、(図１に示されているもののような)無線ネットワークの一部、例えば、無線通信デバイスまたはサーバ(あるいは、任意の他のデバイスおよびデバイスの組合せ）を操作して、一連の機械読み出し可能命令を実行することによって実施され得る。命令は、種々のタイプの信号をのせるか、またはデータを記憶する一次、二次、三次、または他のレベルの記憶媒体内に存在し得る。例えば、媒体は、無線ネットワークの構成要素によってアクセス可能であるか、またはその中に存在するＲＡＭ（図示されていない）を含み得る。命令は、ＲＡＭ、ディスケット、または他の二次記憶媒体に含まれても、種々の機械読出し可能なデータ記憶媒体、例えば、直接アクセス記憶デバイス(direct access storage device, DASD)〔例えば、従来のハードドライブまたはＲＡＩＤ（redundant array of inexpensive disk）の配列〕、磁気テープ、電子読み出し専用メモリ(例えば、ＲＯＭ、ＥＰＲＯＭ、またはＥＥＰＲＯＭ)、フラッシュ メモリ カード、光記憶デバイス(例えば、ＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、ディジタル光テープ)、紙の“パンチ”カード、またはディジタルおよびアナログ送信データを含む他の適切なデータ記憶媒体上に記憶され得る。
【００７０】
さらに加えて、種々の開示された実施形態に関連して記載された任意の例示的な回路、論理ブロック図、モジュール、およびアルゴリズムのステップは、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せとして実施され得ることが理解されるはずである。ハードウェア、ソフトウェア、およびファームウェアの互換性を明らかに示すために、種々の回路、論理ブロック図、モジュール、およびアルゴリズムのステップが、それらの機能性に関して概ね記載された。機能性がハードウェア、ソフトウェア、およびファームウェアにおいてどのように実施されるかについての決定は、個々の応用と、全システムの設計上の制約とに依存する。記載されている機能性および操作は、各個々の応用において、種々のやり方で実施され得るが、そのような実施の決定は、本発明の意図および範囲から逸脱すると解釈されるべきではない。
【００７１】
当業者には、本発明の例示的な実施形態が示され、記載されたが、他のバリエーション、実施、および関連するアルゴリズムが、本発明の意図および範囲から逸脱することなく可能であることが分かるであろう。本発明の範囲は、これまでの記述ではなく、本発明の特許請求項によって与えられる。特許請求項の範囲内に含まれる全てのバリエーションおよびそれに相当するものは、その中に含まれることを意図されている。
【図面の簡単な説明】
【００７２】
【図１】例示的な通信ネットワークを示す図。
【図２】１つの例示的な実施形態にしたがう、通信の待ち時間を適応管理する操作を示すフローチャート。
【図３】１つの例示的な実施形態にしたがう、データフレームの補間の操作を示すフローチャート。
【図４】１つの例示的な実施形態にしたがう、予想されるジッタを隠すのに十分な緩衝深度の判断を示すフローチャート。
【符号の説明】
【００７３】
100・・・通信ネットワーク。
【図１】
2008517560.tif 000007
【図２】
2008517560.tif 000008
【図３】
2008517560.tif 000009
【図４】
2008517560.tif 000010
【国際調査報告】
2008517560.tif 000011
2008517560.tif 000012
2008517560.tif 000013