(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-12
(54)【発明の名称】パケット損失率に基づくコーデック構成適応
(51)【国際特許分類】
H04L 1/00 20060101AFI20220705BHJP
H04M 1/253 20060101ALI20220705BHJP
【FI】
H04L1/00 E
H04M1/253
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021564159
(86)(22)【出願日】2020-05-05
(85)【翻訳文提出日】2021-10-27
(86)【国際出願番号】 US2020031439
(87)【国際公開番号】W WO2020227270
(87)【国際公開日】2020-11-12
(32)【優先日】2019-05-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-06-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100158805
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【氏名又は名称】岡田 貴志
(72)【発明者】
【氏名】リョン、ニコライ・コンラド
【テーマコード(参考)】
5K014
5K127
【Fターム(参考)】
5K014EA08
5K014FA11
5K127AA03
5K127BA03
5K127DA19
5K127EA13
5K127HA11
5K127HA24
5K127JA06
5K127MA03
(57)【要約】
通信の方法は、構成サーバから第1のデバイスにおいて構成データを受信すること、構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、を含む。本方法は、第1のデバイスにおけるパケット損失率を決定すること、パケット損失率は、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられ、を含む。本方法は、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて、第2のデバイスに、第2のデバイスのコーデック構成を変更するための要求を送ることを含む。本方法はまた、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信すること、第2のパケットは、第2のコーデック構成に基づいて符号化され、を含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
通信の方法であって、
構成サーバから第1のデバイスにおいて構成データを受信することと、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、
前記第1のデバイスにおけるパケット損失率を決定することと、前記パケット損失率は、第2のデバイスから、ネットワークを介して、前記第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられ、
前記第1のデバイスのデコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて、前記第2のデバイスに、前記第2のデバイスのコーデック構成を変更するための要求を送ることと、
前記第2のデバイスから、前記ネットワークを介して、前記第1のデバイスにおいて第2のパケットを受信することと、前記第2のパケットは、第2のコーデック構成に基づいて符号化され、
を含む方法。
【請求項2】
前記構成データは、コーデック構成の順序付けされたリストを含み、コーデック構成の前記順序付けされたリストにおいて、前記第1のコーデック構成は第1の順序位置を有し、前記第2のコーデック構成が第2の順序位置を有する、
請求項1に記載の方法。
【請求項3】
コーデック構成の前記順序付けされたリストは、パケット損失に対する前記コーデック構成のロバストネスに基づいて順序付けされる、
請求項2に記載の方法。
【請求項4】
前記構成データは、コーデック構成の前記順序付けされたリストに関連付けられた第1のパケット損失率しきい値のリストを含み、前記第1のパケット損失率しきい値のうちの第1の高パケット損失率しきい値は、前記第1のコーデック構成に関連付けられる、
請求項2に記載の方法。
【請求項5】
前記パケット損失率が前記第1の高パケット損失率しきい値よりも大きいと決定することに応答して、前記パケット損失率が前記第1のパケット損失率しきい値を満たすと決定することをさらに含む、
請求項4に記載の方法。
【請求項6】
前記構成データは、第1のパケット損失率しきい値の前記リストに関連付けられた第1の要求タイプのリストを含み、前記第1の要求タイプのうちの第1の要求タイプは、前記第1の高パケット損失率しきい値に関連付けられ、前記要求は、前記第1の要求タイプのものである、
請求項5に記載の方法。
【請求項7】
前記構成データは、コーデック構成の前記順序付けされたリストに関連付けられた第2のパケット損失率しきい値のリストを含み、前記第2のパケット損失率しきい値のうちの第1の低パケット損失率しきい値は、前記第1のコーデック構成に関連付けられる、
請求項2に記載の方法。
【請求項8】
前記パケット損失率が前記第1の低パケット損失率しきい値未満であると決定することに応答して、前記パケット損失率が前記第1のパケット損失率しきい値を満たすと決定することをさらに含む、
請求項7に記載の方法。
【請求項9】
前記構成データは、第2のパケット損失率しきい値の前記リストに関連付けられた第2の要求タイプのリストを含み、前記第2の要求タイプのうちの第2の要求タイプは、前記第1の低パケット損失率しきい値に関連付けられ、前記要求は、前記第2の要求タイプのものである、
請求項8に記載の方法。
【請求項10】
前記要求は、前記第2のコーデック構成を示す、
請求項1に記載の方法。
【請求項11】
前記構成データは、コーデック構成の順序付けされたシーケンスを示し、前記方法は、前記第2のデバイスに前記要求を送ることより前に、
前記第2のデバイスによってサポートされる1つまたは複数のコーデック構成を示す、前記第2のデバイスからのメッセージを受信することと、
前記第2のコーデック構成が、コーデック構成の前記順序付けされたシーケンスにおいて、前記第1のコーデック構成の第1の順序位置よりも大きい第2の順序位置を有することと、前記第2のデバイスによってサポートされる前記1つまたは複数のコーデック構成が、前記第2のコーデック構成を含むことと、前記第1のデバイスが、前記第2のコーデック構成をサポートすることとを決定することに基づいて、前記第2のコーデック構成を示す前記要求を生成することと、
をさらに含む、請求項10に記載の方法。
【請求項12】
前記第1のコーデック構成は、適応マルチレート広帯域(AMR-WB)コーデック構成、AMR-WB/G.718相互動作可能(IO)コーデック構成、拡張音声サービス(EVS)AMR-WB IOコーデック構成、EVS広帯域(WB)、超広帯域(SWB)コーデック構成、またはEVS WB、SWBチャネルアウェアコーデック構成を含む、
請求項1に記載の方法。
【請求項13】
前記構成データは、パケット損失率平均ウィンドウ持続時間を含み、前記パケット損失率は、前記パケット損失率平均ウィンドウ持続時間のスライディングウィンドウに基づく、
請求項1に記載の方法。
【請求項14】
前記構成データは、デジッタバッファパケット損失率インジケータを含み、前記デジッタバッファパケット損失率インジケータが第1の値を有すると決定することに応答して、前記パケット損失率は、デジッタバッファ前パケット損失イベントのカウントに基づく、
請求項1に記載の方法。
【請求項15】
前記構成データは、デジッタバッファパケット損失率インジケータを含み、前記デジッタバッファパケット損失率インジケータが第2の値を有すると決定することに応答して、前記パケット損失率は、デジッタバッファ後パケット損失イベントのカウントに基づく、
請求項1に記載の方法。
【請求項16】
デバイスであって、
構成サーバから受信される構成データを記憶するように構成されたメモリと、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、
1つまたは複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
第2のデバイスから、ネットワークを介して受信される1つまたは複数の第1のパケットに関連付けられたパケット損失率を決定することと、
デコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて、前記第2のデバイスに、前記第2のデバイスのコーデック構成を変更するための要求を送ることと、
前記第2のデバイスから、前記ネットワークを介して、第2のコーデック構成に基づいて符号化された第2のパケットを受信することと、
を行うように構成された、デバイス。
【請求項17】
前記デコーダと、
受信機と、
をさらに備え、前記受信機は、
前記構成サーバから前記構成データを受信することと、
前記第2のデバイスから、前記ネットワークを介して、前記第1のパケットを受信することと、
前記第2のデバイスから、前記ネットワークを介して、前記第2のパケットを受信することと、
を行うように構成された、請求項16に記載のデバイス。
【請求項18】
前記メモリおよび前記1つまたは複数のプロセッサは、モバイルデバイスに組み込まれる、請求項16に記載のデバイス。
【請求項19】
前記メモリおよび前記1つまたは複数のプロセッサは、基地局に組み込まれる、請求項16に記載のデバイス。
【請求項20】
デバイスの1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
構成サーバから構成データを受信することと、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、
第2のデバイスから、ネットワークを介して、前記デバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられたパケット損失率を決定することと、
前記デバイスのデコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて、前記第2のデバイスに、前記第2のデバイスのコーデック構成を変更するための要求を送ることと、
前記第2のデバイスから、前記ネットワークを介して、第2のパケットを受信することと、前記第2のパケットは、第2のコーデック構成に基づいて符号化され、
を行わせる命令を含む、非一時的コンピュータ可読媒体。
【請求項21】
前記命令は、前記1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
デジッタバッファパケット損失率インジケータが特定の値を有すると決定することに応答して、デジッタバッファ前パケット損失イベントのカウントに基づいて、前記パケット損失率を決定すること、ここにおいて、前記構成データが、前記デジッタバッファパケット損失率インジケータを含み、
を行わせる、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項22】
装置であって、
構成サーバから第1のデバイスにおいて構成データを受信するための手段と、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、
前記第1のデバイスにおけるパケット損失率を決定するための手段と、前記パケット損失率は、第2のデバイスから、ネットワークを介して、前記第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられ、
前記第2のデバイスのコーデック構成を変更するために、前記第2のデバイスに要求を送るための手段と、前記要求は、前記第1のデバイスのデコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて送られ、
前記第2のデバイスから、前記ネットワークを介して、前記第1のデバイスにおいて第2のパケットを受信するための手段と、前記第2のパケットは、第2のコーデック構成に基づいて符号化され、
を備える、装置。
【請求項23】
デジッタバッファパケット損失率インジケータが特定の値を有することに応答して、前記パケット損失率は、デジッタバッファ後パケット損失イベントのカウントに基づき、ここにおいて、前記構成データは、前記デジッタバッファパケット損失率インジケータを含む、
請求項22に記載の装置。
【請求項24】
通信の方法であって、
構成サーバから第1のデバイスにおいて構成データを受信することと、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、ここにおいて、前記構成データは、デジッタバッファパケット損失率インジケータを含み、
前記デジッタバッファパケット損失率インジケータの値に応答して、デジッタバッファ前パケット損失イベントのカウント、またはデジッタバッファ後パケット損失イベントのカウントに基づいて、パケット損失率を決定することと、前記パケット損失率は、第2のデバイスから、ネットワークを介して、前記第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられ、
前記第1のデバイスのデコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて、前記第2のデバイスに、前記第2のデバイスのコーデック構成を変更するための要求を送ることと、
前記第2のデバイスから、前記ネットワークを介して、前記第1のデバイスにおいて第2のパケットを受信することと、前記第2のパケットは、第2のコーデック構成に基づいて符号化され、
を含む方法。
【請求項25】
前記構成データは、コーデック構成の順序付けされたリストを含み、コーデック構成の前記順序付けされたリストにおいて、前記第1のコーデック構成は第1の順序位置を有し、前記第2のコーデック構成は第2の順序位置を有する、
請求項24に記載の方法。
【請求項26】
デバイスであって、
構成サーバから受信される構成データを記憶するように構成されたメモリと、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、ここにおいて、前記構成データは、デジッタバッファパケット損失率インジケータを含み、
デジッタバッファと、
1つ又は複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
前記デジッタバッファパケット損失率インジケータの値に応答して、デジッタバッファ前パケット損失イベントのカウント、またはデジッタバッファ後パケット損失イベントのカウントに基づいて、パケット損失率を決定することと、前記パケット損失率は、第2のデバイスから、ネットワークを介して受信される1つまたは複数の第1のパケットに関連付けられ、
デコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて、前記第2のデバイスに、前記第2のデバイスのコーデック構成を変更するための要求を送ることと、
前記第2のデバイスから、前記ネットワークを介して、第2のコーデック構成に基づいて符号化された第2のパケットを受信することと、
を行うように構成された、デバイス。
【請求項27】
前記デコーダと、
前記受信機と、
をさらに備え、前記受信機は、
前記構成サーバから前記構成データを受信することと、
前記第2のデバイスから、前記ネットワークを介して、前記第1のパケットを受信することと、
前記第2のデバイスから、前記ネットワークを介して、前記第2のパケットを受信することと、
を行うように構成された、請求項26に記載のデバイス。
【請求項28】
デバイスの1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、通信のための動作を実施させる命令を含む、非一時的コンピュータ可読媒体であって、前記動作は、
構成サーバから構成データを受信することと、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、ここにおいて、前記構成データは、デジッタバッファパケット損失率インジケータを含み、
前記デジッタバッファパケット損失率インジケータの値に応答して、デジッタバッファ前パケット損失イベントのカウント、またはデジッタバッファ後パケット損失イベントのカウントに基づいて、パケット損失率を決定することと、前記パケット損失率は、第2のデバイスから、ネットワークを介して、前記デバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられ、
前記デバイスのデコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて、前記第2のデバイスに、前記第2のデバイスのコーデック構成を変更するための要求を送ることと、
前記第2のデバイスから、前記ネットワークを介して、第2のパケットを受信することと、前記第2のパケットは、第2のコーデック構成に基づいて符号化され、
を含む、非一時的コンピュータ可読媒体。
【請求項29】
前記構成データは、パケット損失率平均ウィンドウ持続時間を含み、前記パケット損失率は、前記パケット損失率平均ウィンドウ持続時間のスライディングウィンドウに基づく、
請求項28に記載の非一時的コンピュータ可読媒体。
【請求項30】
装置であって、
構成サーバから第1のデバイスにおいて構成データを受信するための手段と、前記構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示し、ここにおいて、前記構成データは、デジッタバッファパケット損失率インジケータを含み、
前記デジッタバッファパケット損失率インジケータの値に応答して、デジッタバッファ前パケット損失イベントの第1のカウント、またはデジッタバッファ後パケット損失イベントの第2のカウントに基づいて、パケット損失率を決定するための手段と、ここにおいて、前記パケット損失率は、第2のデバイスから、ネットワークを介して、前記第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられ、
前記第2のデバイスのコーデック構成を変更するために、前記第2のデバイスに要求を送るための手段と、前記要求は、前記第1のデバイスのデコーダが前記第1のコーデック構成を有することと、前記パケット損失率が前記第1のパケット損失率しきい値を満たすこととを決定することに基づいて送られ、
前記第2のデバイスから、前記ネットワークを介して、前記第1のデバイスにおいて第2のパケットを受信するための手段と、前記第2のパケットは、第2のコーデック構成に基づいて符号化され、
を備える装置。
【発明の詳細な説明】
【優先権の主張】
【0001】
[0001]本出願は、それらの各々の内容全体が参照により本明細書に明確に組み込まれる、同一出願人により所有される2019年5月6日に出願された米国仮特許出願第62/843,826号、2019年6月26日に出願された米国仮特許出願第62/866,728号、および2020年5月4日に出願された米国非仮特許出願第16/865,579号の優先権の利益を主張する。
【技術分野】
【0002】
[0002]本開示は、一般に、パケット損失率に基づくコーダデコーダ(コーデック)の構成を調整することに関する。
【背景技術】
【0003】
[0003]技術の進歩は、より小型でより強力なコンピューティングデバイスをもたらした。たとえば、現在、小型で、軽量で、ユーザによって容易に持ち運ばれる、モバイルフォンおよびスマートフォンなどのワイヤレス電話、タブレットならびにラップトップコンピュータを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。これらのデバイスは、ワイヤレスネットワークを介して音声とデータパケットとを通信することができる。さらに、多くのそのようなデバイスは、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤなど、追加の機能を組み込む。また、そのようなデバイスは、インターネットにアクセスするために使用され得る、ウェブブラウザアプリケーションなど、ソフトウェアアプリケーションを含む、実行可能な命令を処理することができる。したがって、これらのデバイスは、かなりの計算能力を含み得る。
【0004】
[0004]通話中にモバイルフォンデバイスに送られる符号化されたオーディオデータなど、そのようなデバイスへのデータの通信は、データを送信することに関連付けられたパケット損失の率に基づいて、影響を受けることがある。たとえば、符号化されたオーディオデータは、送るデバイスからモバイルフォンデバイスへのパケットのストリームとして、ワイヤレスネットワークを介して送信され得る。オーディオデータストリームの1つまたは複数のパケットは、ネットワークスイッチにおけるバッファオーバーフローのためにドロップされるパケット、または、パケットのオーディオデータがモバイルフォンデバイスにおける再生のための時間において利用可能でないように遅延されるパケットなど、「損失」され得る。パケットが十分に高い率で損失されるとき、オーディオ品質の知覚可能な損失が生じ、ユーザのエクスペリエンスを損なうことがある。
【発明の概要】
【0005】
[0005]特定の一態様では、通信の方法は、構成サーバから第1のデバイスにおいて構成データを受信すること、構成データが、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示す、を含む。本方法は、第1のデバイスにおけるパケット損失率を決定すること、パケット損失率が、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられる、を含む。本方法は、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて、第2のデバイスに、第2のデバイスのコーデック構成を変更するための要求を送ることを含む。本方法はまた、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信すること、第2のパケットが、第2のコーデック構成に基づいて符号化される、を含む。
【0006】
[0006]別の特定の態様では、デバイスは、メモリと、1つまたは複数のプロセッサとを含む。メモリは、構成サーバから受信される構成データを記憶するように構成される。構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示す。1つまたは複数のプロセッサは、第2のデバイスから、ネットワークを介して受信される1つまたは複数の第1のパケットに関連付けられたパケット損失率を決定することを行うように構成される。1つまたは複数のプロセッサは、デコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて、第2のデバイスに、第2のデバイスのコーデック構成を変更するための要求を送ることを行うように構成される。1つまたは複数のプロセッサはまた、第2のデバイスから、ネットワークを介して、第2のコーデック構成に基づいて符号化された第2のパケットを受信することを行うように構成される。
【0007】
[0007]別の特定の態様では、非一時的コンピュータ可読媒体は、デバイスの1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、通信のための動作を実施させる命令を含む。動作は、構成サーバから第1のデバイスにおいて構成データを受信することを含む。構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示す。動作は、第1のデバイスにおけるパケット損失率を決定することを含む。パケット損失率は、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられる。動作は、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて、第2のデバイスに、第2のデバイスのコーデック構成を変更するための要求を送ることを含む。動作はまた、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信することを含む。第2のパケットは、第2のコーデック構成に基づいて符号化される。
【0008】
[0008]別の特定の態様では、装置は、構成サーバから第1のデバイスにおいて構成データを受信するための手段を含む。構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示す。本装置は、第1のデバイスにおけるパケット損失率を決定するための手段を含む。パケット損失率は、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられる。本装置は、第2のデバイスのコーデック構成を変更するために、第2のデバイスに要求を送るための手段を含む。要求は、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて送られる。本装置はまた、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信するための手段を含む。第2のパケットは、第2のコーデック構成に基づいて符号化される。
【0009】
[0009]本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明と、発明を実施するための形態と、特許請求の範囲とを含む本出願全体の再検討の後、明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1】[0010]パケット損失率に基づいて、コーデック構成を適応させるように動作可能なシステムの特定の例示的一態様のブロック図。
【
図2】[0011]
図1のシステムによって生成された構成データの説明およびフォーマットの例の表。
【
図3】[0012]
図1のシステムによって生成され得る構成データの例示的な一例の図。
【
図4】[0013]
図1のシステムによって実施され得るコーデック構成適応の例示的な一例のグラフ。
【
図5】[0014]パケット損失率に基づくコーデック構成適応の特定の方法を示すフローチャート。
【
図6】[0015]パケット損失率に基づいて、コーデック構成を適応させるように動作可能なシステムの別の例の図。
【
図7】[0016]
図6のシステムによって生成された構成データの説明およびフォーマットの例の表。
【
図8】[0017]パケット損失率に基づくコーデック構成適応を実施するように動作可能であるデバイスの特定の例示的な一例のブロック図。
【
図9】[0018]パケット損失率に基づくコーデック構成適応を実施するように動作可能である基地局のブロック図。
【発明を実施するための形態】
【0011】
[0019]送るデバイスから受信デバイスに送信されたオーディオデータは、データの送信に関連付けられたパケット損失の率に基づいて、影響を受けることがある。たとえば、オーディオデータは、ワイヤレスネットワークの上で、パケットのストリームとして送信され得る。パケットが十分に高い率で損失されるとき、オーディオ品質の知覚可能な損失が生じ、ユーザのエクスペリエンスを損なうことがある。
【0012】
[0020]パケット損失の影響は、送るデバイスにおいてオーディオデータを符号化することと、受信デバイスにおいてオーディオデータを復号することとに関連付けられた、コーデックモードを調整することによって、少なくとも部分的に軽減され得る。たとえば、いくつかのコーデックモードは、パケット損失に対するより低い「ロバストネス」を提供する(たとえば、比較的より小さいパケット損失の率を許容することができる)符号化技法を含むことがあり、他のコーデックモードは、パケット損失に対するより高いロバストネスを提供する(たとえば、比較的より大きいパケット損失の率を許容することができる)別の符号化技法を含むことがある。したがって、パケット損失率が、特定のコーデックモードに対して高くなりすぎるとき、送るデバイスおよび受信デバイスの各々は、よりロバストなモードにおいて動作するように、そのそれぞれのコーデックを調整することができる。同様に、パケット損失率が十分に低いとき、送るデバイスおよび受信デバイスにおけるコーデックは、より少ない帯域幅を使用し、より少ない電力を消費し、より高いオーディオ品質を可能にする(たとえば、データ冗長性のために使用された帯域幅が、向上したオーディオ情報を提供するために再割り振りされ得る)か、またはそれらの組合せであり得る、よりロバストでないコーデックモードにおいて動作するように調整され得る。
【0013】
[0021]しかしながら、送るデバイスおよび受信デバイスが、互いにロックステップにおいてコーデック構成を調整することができない場合、送信誤りが生じ得る。例示的な一例では、送るデバイスおよび受信デバイスが、異なるメーカーによるものであり、どのような受容できるパケット損失率が特定のコーデック構成のためのものであるかに関して、異なる設定を有する場合、それらのデバイスは、いつ第1のコーデック構成から第2の、よりロバストなコーデック構成に移行するかについて、効率的にネゴシエートすることができないことがある。別の例として、それらのデバイスは、どのコーデック構成が、第2の、よりロバストなコーデック構成として使用されることになるかについて、効率的にネゴシエートすることができないことがある。
【0014】
[0022]本明細書で開示する様々な実装形態によれば、送るデバイスおよび受信デバイスは、ネットワークの事業者の構成サーバなど、第3のデバイスからコーデック構成データを受信する。コーデック構成データは、複数の許容可能なコーデック構成と、コーデック構成の各々に関連付けられたパケット損失率しきい値と、を示す。送るデバイスおよび受信デバイスは、決定されたパケット損失率を、構成データにおけるパケット損失率しきい値と比較することに基づいて、いつコーデックモードを調整するべきかを決定するために、および、使用されるべき次のコーデック構成モードを選択するために、コーデック構成データにアクセスすることができる。結果として、送るデバイスおよび受信デバイスは、コーデック構成を変更するための非効率的な、または効果的でないネゴシエーションが、変化するネットワーク状態にもはや適していないコーデック構成の継続的な使用を生じるシステムと比較して、向上したオーディオ送信を提供するために、変化するネットワーク状態により効率的に適応することができる。
【0015】
[0023]本開示の特定の態様が、図面を参照しながら以下で説明される。説明では、共通の特徴は、共通の参照番号によって指定される。本明細書で使用されるように、様々な用語は、特定の実装形態について説明するために使用されるにすぎず、実装形態を限定するように意図されない。たとえば、単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。「備える(comprise)」、「備える(comprises)」、および「備えること(comprising)」という用語は、「含む(include)」、「含む(includes)」、または「含むこと(including)」と互換的に使用され得ることがさらに理解されよう。さらに、「ここにおいて(wherein)」という用語は、「ここで(where)」と互換的に使用され得ることが理解されよう。本明細書で使用されるように、「例示的」は、一例、一実装形態、および/または一態様を示すことがあり、限定的として、または選好もしくは好適な一実装形態を示すものとして解釈されるべきでない。本明細書で使用されるように、構造、構成要素、動作などの要素を修飾するために使用される序数語(たとえば、「第1の」、「第2の」、「第3の」など)は、別の要素に対するその要素の任意の優先順位または順序をそれ自体によって示さず、(序数語の使用を別にすれば)むしろ同じ名前を有する別の要素からその要素を区別するにすぎない。本明細書で使用されるように、「セット(set)」という用語は、特定の要素のうちの1つまたは複数を指し、「複数(plurality)」という用語は、特定の要素のうちの複数(たとえば、2つ以上)を指す。
【0016】
[0024]本明細書で使用されるように、「結合される(coupled)」は、「通信可能に結合される」、「電気的に結合される」、または「物理的に結合される」を含み得、また(あるいは代替的に)、それらの任意の組合せを含み得る。2つのデバイス(または構成要素)は、1つまたは複数の他のデバイス、構成要素、ワイヤ、バス、ネットワーク(たとえば、ワイヤードネットワーク、ワイヤレスネットワーク、またはそれらの組合せ)などを介して、直接または間接的に結合(たとえば、通信可能に結合、電気的に結合、または物理的に結合)され得る。電気的に結合された2つのデバイス(または構成要素)は、同じデバイス中にまたは異なるデバイス中に含まれ得、例示的で非限定的な例として、電子回路、1つまたは複数のコネクタ、あるいは誘導結合を介して接続され得る。いくつかの実装形態では、電気通信しているなど、通信可能に結合された2つのデバイス(または構成要素)は、1つまたは複数のワイヤ、バス、ネットワークなどを介してなど、直接または間接的に電気信号(デジタル信号またはアナログ信号)を送り、受信し得る。本明細書で使用されるように、「直接結合される」は、介在する構成要素なしに結合(たとえば、通信可能に結合、電気的に結合、または、物理的に結合)された2つのデバイスを含み得る。
【0017】
[0025]本開示では、「決定すること(determining)」、「計算すること(calculating)」、「推定すること(estimating)」、「シフトすること(shifting)」、「調整すること(adjusting)」などの用語は、1つまたは複数の動作がどのように実施されるかを表すために使用され得る。そのような用語が限定的なものと解釈されるべきではなく、他の技法が、同様の動作を実施するために利用され得ることに留意されたい。追加として、本明細書で言及されるように、「生成すること(generating)」、「計算すること」、「推定すること」、「使用すること(using)」、「選択すること(selecting)」、「アクセスすること(accessing)」、および「決定すること」は、互換的に使用され得る。たとえば、パラメータ(または、信号)を「生成すること」、「計算すること」、「推定すること」、または「決定すること」は、パラメータ(または、信号)を能動的に生成すること、推定すること、計算すること、または決定することを指すことがあるか、あるいは、別の構成要素またはデバイスによってなど、すでに生成されているパラメータ(または、信号)を使用すること、選択すること、またはそれにアクセスすることを指すことがある。
【0018】
[0026]
図1を参照すると、システムの特定の例示的な一態様が開示されており、全体的に100と称される。システム100は、デバイス102およびデバイス122など、1つまたは複数のデバイスに、ネットワーク150を介して通信可能に結合された、構成サーバ142を含む。特定の一態様では、デバイス102(または、デバイス122)は、様々な時間において、ネットワーク150のカバレージエリア内で入るか、出るか、または移動することができる。ネットワーク150は、ワイヤードネットワーク、ワイヤレスネットワーク、または両方を含む。構成サーバ142は、デバイス102およびデバイス122におけるコーデック構成変更を容易にするために、デバイス102、デバイス122、または両方に、構成データ107を送るように構成される。
【0019】
[0027]デバイス102は、コーデック140、コーデック構成適応回路137、メモリ105、受信機106、送信機108、またはそれらの組合せを含む。コーデック140は、エンコーダ114、デコーダ(図示されず)、または両方を含む。エンコーダ114は、コーデック構成116に基づいて、符号化されたパケットを生成するように構成される。送信機108は、デバイス122に、ネットワーク150を介して、符号化されたパケットを送信するように構成される。受信機106は、デバイス122から、ネットワーク150を介して、要求192を受信するように構成される。コーデック構成適応回路137は、要求192の受信に応答して、本明細書で説明されるように、構成データ107に基づいて、コーデック構成116を更新するように構成される。メモリ105は、構成データ107を記憶するように構成される。
【0020】
[0028]デバイス122は、コーデック130、コーデック構成適応回路139、メモリ125、受信機126、送信機128、またはそれらの組合せを含む。コーデック130は、エンコーダ(図示されず)、デコーダ134、または両方を含む。受信機126は、デバイス102から、ネットワーク150を介して、符号化されたパケットを受信するように構成される。デコーダ134は、コーデック構成136に基づいて、符号化されたパケットを復号することによって、復号されたパケットを生成するように構成される。コーデック構成適応回路137は、本明細書で説明されるように、パケット損失率(PLR)129を決定するように構成される。コーデック構成適応回路137は、PLR129および構成データ107に基づいて、コーデック構成を変更するための要求192を生成するように構成される。送信機128は、デバイス102に、ネットワーク150を介して、要求192を送るように構成される。メモリ105は、構成データ107、PLR129、または両方を記憶するように構成される。
【0021】
[0029]動作中に、構成サーバ142は、構成データ107を生成する。特定の一態様では、構成データ107は、デフォルトデータ、ユーザ入力、構成設定、またはそれらの組合せに基づく。構成データ107は、PLR平均ウィンドウ持続時間162、コーデック構成リスト164、高PLRしきい値リスト166、低PLRしきい値リスト168、高PLR適応要求タイプリスト172、低PLR適応要求タイプリスト174、またはそれらの組合せを含む。リストを含む構成データ107は、例示的な一例として提供される。他の例では、構成データ107は、セット、テーブル、アレイ、またはそれらの組合せなど、他のデータ構造を含む。特定の一態様では、構成データ107は、PLR平均ウィンドウ持続時間162、コーデック構成リスト164、高PLRしきい値リスト166、低PLRしきい値リスト168、高PLR適応要求タイプリスト172、または低PLR適応要求タイプリスト174のうちの1つまたは複数を指定するために、1つまたは複数のオープンモバイルアライアンス(OMA)デバイス管理(DM)標準化されたオブジェクトを含む。構成データ107の要素の説明、フォーマット、および例が、
図2~
図4において提供される。
【0022】
[0030]
図2において、表200は、説明列202と、フォーマット列204とを含む。説明列202は、構成データ107の要素の説明の例を含む。フォーマット列204は、構成データ107の要素のフォーマットの例を含む。たとえば、PLR平均ウィンドウ持続時間162は、PLRが測定されることになるスライディング平均ウィンドウの持続時間を示す。特定の一態様では、構成データ107は、ミリ秒単位で、PLR平均ウィンドウ持続時間162を示す。
図3では、コーデック構成リスト164は、コーデック構成302~312を含み、高PLRしきい値リスト166は、高PLRしきい値324~332を含み、低PLRしきい値リスト168は、低PLRしきい値342~350を含み、高PLR適応要求タイプリスト172は、高PLR適応要求タイプ364~372を含み、低PLR適応要求タイプリスト174は、低PLR適応要求タイプ382~390を含む。
【0023】
[0031]コーデック構成リスト164は、コーデック構成の順序付けされたシーケンス(たとえば、順序付けされたリスト)を含む。特定の一態様では、順序付けされたリストは、特定のメディアタイプ(たとえば、オーディオまたはビデオ)のためにサポートされるコーデック構成を含む。特定の一態様では、コーデック構成は、コーデックのタイプ、コーデックモード、アプリケーションレイヤ冗長性レベル(たとえば、0%~300%)、またはそれらの組合せを含む。特定の一例では、コーデック構成は、適応マルチレート広帯域(AMR-WB)コーデック構成、AMR-WB/G.718相互動作可能(IO:interoperable)コーデック構成、拡張音声サービス(EVS)AMR-WB IOコーデック構成、EVS広帯域(WB)、超広帯域(SWB)コーデック構成、またはEVS WB、SWBチャネルアウェアコーデック構成のうちの1つまたは複数を含む。
【0024】
[0032]特定の一態様では、コーデック構成リスト164は、パケット損失に対するコーデック構成のロバストネスに基づいて順序付けされる。たとえば、EVS WB、SWBチャネルアウェアコーデック構成、EVS WB、SWBコーデック構成、EVS AMR-WB IOコーデック構成、およびAMR-WBコーデック構成は、コーデック構成リスト164においてそれぞれ、第1の順序位置、第2の順序位置、第3の順序位置、および第4の順序位置を有する。特定の一態様では、コーデック構成リスト164は、低下するロバストネス、高まる品質、低下する電力消費、低下する帯域幅使用、またはそれらの組合せに基づいて順序付けされる。たとえば、EVS WB、SWBチャネルアウェアコーデック構成の第1の順序位置(たとえば、0)は、EVS WB、SWBコーデック構成の第2の順序位置(たとえば、1)よりも低く(たとえば、未満であり)、EVS WB、SWBチャネルアウェアコーデック構成が、EVS WB、SWB(たとえば、非チャネルアウェア)コーデック構成と比較して、パケット損失に対してよりロバストであることを示す。たとえば、EVS WB、SWBチャネルアウェアコーデック構成は、EVS WB、SWBコーデック構成に関連付けられた第2の最大のサポートされるエンドツーエンドPLR(たとえば、6%)よりも高い、第1の最大のサポートされるエンドツーエンドPLR(たとえば、9%)に関連付けられる。特定の一態様では、EVS WB、SWB(たとえば、非チャネルアウェア)コーデック構成は、EVS WB、SWBチャネルアウェアコーデック構成と比較して、より高いメディア品質、より低い帯域幅使用、より低い電力消費、またはそれらの組合せに対応する。
【0025】
[0033]高PLRしきい値リスト166は、コーデック構成リスト164内に含まれたコーデック構成に関連付けられた第1のPLRしきい値を示す。特定の一例では、第1のPLRしきい値は、それにおいて、またはそれを超えると(at or above)、より高いロバストネス(または、より低い順序位置)のコーデック構成が要求されることになる、PLR値を示す。特定の一態様では、(第1の順序位置におけるコーデック構成を除いて)各コーデック構成が、高PLRしきい値リスト166において第1のPLRしきい値に関連付けられる。たとえば(
図3に示されているように)、高PLRしきい値リスト166は、コーデック構成リスト164のコーデック構成304に関連付けられた高PLRしきい値324を含む。高PLRしきい値リスト166は、コーデック構成リスト164において第1の順序位置を有する(たとえば、最もロバストなサポートされるコーデック構成である)コーデック構成302に関連付けられたいかなる高PLRしきい値も含まない。
【0026】
[0034]高PLR適応要求タイプリスト172は、高PLRしきい値リスト166内に含まれた高PLRしきい値に関連付けられた高PLR適応要求タイプを示す。特定の一例では、高PLR適応要求タイプは、対応する高PLRしきい値が満たされるときに送られることになる要求のタイプを示す。たとえば、高PLR適応要求タイプリスト172は、高PLRしきい値324に関連付けられた高PLR適応要求タイプ364を含み、高PLR適応要求タイプ364の要求が、PLRが高PLRしきい値324を満たすと決定することに応答して送られることになることを示す。特定の一例では、コーデック構成302は、EVS WB、SWBチャネルアウェアコーデック構成を含み、コーデック構成304は、EVS WB、SWBコーデック構成を含み、高PLR適応要求タイプ364は、EVS WB、SWBコーデック構成(たとえば、コーデック構成304)の高PLRしきい値324に関連付けられる。この例では、高PLR適応要求タイプ364は、EVS WB、SWBチャネルアウェアコーデック構成要求タイプへの変更を示す。別の例では、高PLR適応要求タイプ364は、特定のアプリケーションレイヤ冗長性レベル(たとえば、200%)への変更、またはアプリケーションレイヤ冗長性レベルへの特定の変更(たとえば、50%だけ増大)を示す。
【0027】
[0035]低PLRしきい値リスト168は、コーデック構成リスト164内に含まれたコーデック構成に関連付けられた第2のPLRしきい値を示す。特定の一例では、第2のPLRしきい値は、それにおいて、またはそれを下回ると(at or below)、より低いロバストネス(または、より高い順序位置)のコーデック構成が要求されることになる、PLR値を示す。特定の一態様では、より低いロバストネスをもつコーデックは、より高いメディア品質、より低い帯域幅消費、より低い電力消費、またはそれらの組合せをサポートし得る。特定の一態様では、(最高の順序位置におけるコーデック構成を除いて)各コーデック構成が、低PLRしきい値リスト168において第2のPLRしきい値に関連付けられる。たとえば、低PLRしきい値リスト168は、コーデック構成リスト164のコーデック構成302に関連付けられた低PLRしきい値342を含む。低PLRしきい値リスト168は、コーデック構成リスト164において最後の順序位置を有する(たとえば、最もロバストでないサポートされるコーデック構成である)コーデック構成312に関連付けられたいかなる低PLRしきい値も含まない。
【0028】
[0036]低PLR適応要求タイプリスト174は、低PLRしきい値リスト168内に含まれた低PLRしきい値に関連付けられた低PLR適応要求タイプを示す。特定の一例では、低PLR適応要求タイプは、対応する低PLRしきい値が満たされるときに送られることになる要求のタイプを示す。たとえば、低PLR適応要求タイプリスト174は、低PLRしきい値342に関連付けられた低PLR適応要求タイプ382を含み、低PLR適応要求タイプ382の要求が、PLRが低PLRしきい値342を満たすと決定することに応答して送られることになることを示す。
【0029】
[0037]
図4において、グラフ400は、コーデック構成の、増大するPLR値に対応する水平軸(たとえば、x軸)と、増大するロバストネス(または、低下する順序位置)に対応する垂直軸(たとえば、y軸)とを有する。グラフ400は、様々なコーデック構成に対応するPLRしきい値の例を示す。
図4では、コーデック構成(たとえば、コーデック構成302)の低PLRしきい値(たとえば、低PLRしきい値342)は、次のよりロバストでないコーデック構成(たとえば、コーデック構成304)の高PLRしきい値(たとえば、高PLRしきい値324)よりも低い。次のよりロバストでないコーデック構成の高PLRしきい値よりも低いコーデック構成の低PLRしきい値を有することは、PLR129における小さいゆらぎのための、コーデック構成と次のコーデック構成との間の変動の見込みを低減する。別の実装形態では、コーデック構成の低PLRしきい値は、次のよりロバストでないコーデック構成の高PLRしきい値と同じである。
【0030】
[0038]
図1に戻ると、構成サーバ142は、デバイス102、デバイス122、または両方に、構成データ107を送る。たとえば、構成サーバ142は、デバイス122がネットワーク150のカバレージエリアに入ったことを検出することに応答して、デバイス122に構成データ107を送る。別の例では、構成サーバ142は、デバイス122から要求を受信することに応答して、デバイス122に構成データ107を送る。
【0031】
[0039]特定の一態様では、デバイス122は、デバイス102とのセッション(たとえば、データ通信セッション)を確立する。たとえば、デバイス102およびデバイス122は、各デバイスにおいてサポートされるコーデックを示すネゴシエーションメッセージを交換する。例示のために、デバイス102は、デバイス122に第1のネゴシエーションメッセージを送り、デバイス122は、第2のネゴシエーションメッセージを送る。第1のネゴシエーションメッセージは、デバイス102のコーデック140によってサポートされる1つまたは複数の第1のコーデック構成を示す。第2のネゴシエーションメッセージは、デバイス122のコーデック130によってサポートされる1つまたは複数の第2のコーデック構成を示す。デバイス102およびデバイス122は、コーデック130および140の各々によってサポートされる第1のコーデック構成を選択するために、様々なネゴシエーション技法を使用し得る。コーデック構成適応回路137は、第1のコーデック構成に、エンコーダ114のコーデック構成116を設定する。コーデック構成適応回路139は、第1のコーデック構成に、デコーダ134のコーデック構成136を設定する。
【0032】
[0040]セッション中に、受信機126は、デバイス102から、ネットワーク150を介して、1つまたは複数のパケット152を受信する。特定の一例では、エンコーダ114は、コーデック構成116によって示される1のコーデック構成に基づいて、パケット152を符号化する。送信機108は、デバイス122に、ネットワーク150を介して、パケット152を送信する。特定の一態様では、受信機126によって受信されるパケット152は、送信機108によって送信されたパケットのサブセットである。たとえば、送信されたパケットのうちの1つまたは複数は、ネットワークの問題のために受信されない。
【0033】
[0041]コーデック構成適応回路139は、特定の持続時間に関連付けられたPLR129を決定する。PLR129は、デバイス102によって送信されたパケットのうちのいくつが、デバイス122によって使用されるための時間内に、パケット152として、デバイス122において受信されなかったかの指示である。特定の一実装形態では、PLR129は、損失されたパケット(LP)カウンタに基づいて決定される。たとえば、特定の持続時間の間にLPカウンタによって示された、損失されたパケットのカウントが、PLR129を計算するために使用され得る。LPカウンタは、時々リセットされ得る。代替的に、LPカウンタは、特定の持続時間のスライディングウィンドウに関連付けられた、損失されたパケットのカウントを維持し得る。特定の持続時間は、PLR平均ウィンドウ持続時間162によって示される。コーデック構成適応回路139は、損失されたパケットが検出されるとき、LPカウンタを増分する。たとえば、特定のパケットをプレイアウトするための時間に達したとき、当該特定のパケットがプレイアウトのために利用可能でない(たとえば、デジッタバッファ内にない)とき、損失されたパケットが検出され得る。
【0034】
[0042]コーデック構成適応回路139は、第1のコーデック構成(たとえば、コーデック構成136によって示されたコーデック構成306)が、高PLRしきい値(たとえば、高PLRしきい値326)、低PLRしきい値(たとえば、低PLRしきい値346)、または両方に関連付けられることを、構成データ107が示すと決定する。
【0035】
[0043]コーデック構成適応回路139は、PLR129が高PLRしきい値を満たす(たとえば、それよりも大きい)と決定することに応答して、コーデック構成リスト164の次のよりロバストなサポートされるコーデック構成を識別する。次のよりロバストなサポートされるコーデック構成は、コーデック構成リスト164内の第1のコーデック構成(たとえば、コーデック構成306)の順序位置(たとえば、第3)よりも低い順序位置(たとえば、第2)を有するか、コーデック140によってサポートされる第1のコーデック構成内に含まれるか、コーデック130によってサポートされる第2のコーデック構成内に含まれるか、いかなる高PLRしきい値にも関連付けられないか、またはPLR129よりも大きいかもしくはそれに等しい高PLRしきい値に関連付けられるかのいずれかであるか、あるいはそれらの組合せである。特定の一態様では、第1のコーデック構成は、コーデック構成306を含み、次のよりロバストなサポートされるコーデック構成は、コーデック構成304を含む。特定の一例では、コーデック構成304がコーデック130によってサポートされないか、コーデック構成304は、コーデック140によってサポートされないか、PLR129は、コーデック構成304に関連付けられた高PLRしきい値324よりも大きいか、またはそれらの組合せであるので、コーデック構成304は、スキップされる。この例では、次のよりロバストなサポートされるコーデック構成は、コーデック構成302を含む。
【0036】
[0044]コーデック構成適応回路139は、PLR129が第1のコーデック構成(たとえば、コーデック構成306)に関連付けられた高PLRしきい値(たとえば、高PLRしきい値326)を満たす(たとえば、それよりも大きい)と決定することと、次のよりロバストなサポートされるコーデック構成を識別することとに応答して、要求192を生成する。代替的に、コーデック構成適応回路139は、PLR129が第1のコーデック構成(たとえば、コーデック構成306)に関連付けられた高PLRしきい値(たとえば、高PLRしきい値326)を満たす(たとえば、それよりも大きい)ことと、コーデック構成リスト164が次のよりロバストなサポートされるコーデック構成を含んでいないこととを決定することに応答して、要求192を生成することを控える。
【0037】
[0045]特定の一態様では、要求192のタイプは、コーデック構成がよりロバストな(たとえば、または、より低い順序位置の)コーデック構成に変更されることになることを示す。特定の一態様では、要求192は、識別された次のよりロバストなサポートされるコーデック構成(たとえば、コーデック構成302、またはコーデック構成304)を示す。特定の一態様では、要求192は、コーデック構成適応回路137が、構成データ107に基づいて、次のよりロバストなサポートされるコーデック構成(たとえば、コーデック構成302、またはコーデック構成304)を識別することを可能にするために、PLR129を含む。
【0038】
[0046]特定の一態様では、要求192のタイプは、高PLR適応要求タイプリスト172に基づく。たとえば、コーデック構成適応回路139は、第1のコーデック構成(たとえば、コーデック構成306)が第1の高PLR適応要求タイプ(たとえば、高PLR適応要求タイプ366)に関連付けられることを、高PLR適応要求タイプリスト172が示すと決定することに応答して、第1の高PLR適応要求タイプの要求192を生成する。コーデック構成適応回路139は、デバイス102への、送信機128およびネットワーク150を介した要求192の送信を開始する。
【0039】
[0047]特定の一態様では、コーデック構成適応回路139は、PLR129が低PLRしきい値を満たす(たとえば、それ未満である)と決定することに応答して、コーデック構成リスト164の次のよりロバストでないサポートされるコーデック構成を識別する。次のよりロバストでないサポートされるコーデック構成は、コーデック構成リスト164内の第1のコーデック構成(たとえば、コーデック構成306)の順序位置(たとえば、第3)よりも高い(たとえば、それよりも大きい)順序位置(たとえば、第4)を有するか、コーデック140によってサポートされる第1のコーデック構成内に含まれるか、コーデック130によってサポートされる第2のコーデック構成内に含まれるか、いかなる低PLRしきい値にも関連付けられないか、またはPLR129よりも小さいかもしくはそれに等しい低PLRしきい値に関連付けられるかのいずれかであるか、あるいはそれらの組合せである。特定の一態様では、第1のコーデック構成は、コーデック構成306を含み、次のよりロバストでないサポートされるコーデック構成は、コーデック構成308を含む。特定の一例では、コーデック308がコーデック130によってサポートされないか、コーデック構成308がコーデック140によってサポートされないか、PLR129が、コーデック構成308に関連付けられた低PLRしきい値348未満であるか、またはそれらの組合せであるので、コーデック構成308は、スキップされる。この例では、次のよりロバストでないサポートされるコーデック構成は、コーデック構成310を含む。
【0040】
[0048]コーデック構成適応回路139は、PLR129が第1のコーデック構成(たとえば、コーデック構成306)に関連付けられた低PLRしきい値(たとえば、低PLRしきい値346)を満たす(たとえば、それ未満である)と決定することと、次のよりロバストでないサポートされるコーデック構成を識別することとに応答して、要求192を生成する。代替的に、コーデック構成適応回路139は、PLR129が第1のコーデック構成(たとえば、コーデック構成306)に関連付けられた低PLRしきい値(たとえば、低PLRしきい値346)を満たす(たとえば、それ未満である)ことと、コーデック構成リスト164が、次のよりロバストでないサポートされるコーデック構成を含んでいないこととを決定することに応答して、要求192を生成することを控える。
【0041】
[0049]特定の一態様では、要求192のタイプは、コーデック構成がよりロバストでない(または、より高い順序位置の)コーデック構成に変更されることになることを示す。特定の一態様では、要求192は、識別された次のよりロバストでないサポートされるコーデック構成(たとえば、コーデック構成308、またはコーデック構成310)を示す。特定の一態様では、要求192は、コーデック構成適応回路137が、構成データ107に基づいて、次のよりロバストでないサポートされるコーデック構成(たとえば、コーデック構成308、またはコーデック構成310)を識別することを可能にするために、PLR129を含む。
【0042】
[0050]特定の一態様では、要求192のタイプは、低PLR適応要求タイプリスト174に基づく。たとえば、コーデック構成適応回路139は、第1のコーデック構成(たとえば、コーデック構成306)が第1の低PLR適応要求タイプ(たとえば、低PLR適応要求タイプ386)に関連付けられることを、低PLR適応要求タイプリスト174が示すと決定することに応答して、第1の低PLR適応要求タイプの要求192を生成する。コーデック構成適応回路139は、デバイス102への、送信機128およびネットワーク150を介した要求192の送信を開始する。
【0043】
[0051]要求192を受信するデバイス102において、コーデック構成がよりロバストな(または、より低い順序位置の)コーデック構成に変更されることになることを、要求192のタイプが示すと決定することと、次のよりロバストなサポートされるコーデック構成を識別することとに応答して、コーデック構成適応回路137は、エンコーダ114のコーデック構成116を、識別された次のよりロバストなサポートされるコーデック構成に設定する。代替的に、コーデック構成適応回路137は、コーデック構成がよりロバストな(または、より低い順序位置の)コーデック構成に変更されることになることを、要求192のタイプが示すことと、コーデック構成リスト164が、(たとえば、コーデック構成116によって示される)第1のコーデック構成に対していかなる次のよりロバストなサポートされるコーデック構成も含まないこととを決定することに応答して、コーデック構成116を更新することを控える。
【0044】
[0052]たとえば、受信機106は、デバイス122から、ネットワーク150を介して、要求192を受信する。コーデック構成適応回路137は、要求192を受信することに応答して、エンコーダ114のコーデック構成116を更新する。PLR129が高すぎる例では、コーデック構成適応回路137は、コーデック構成がよりロバストな(または、より低い順序位置の)コーデック構成に変更されることになることを、要求192のタイプが示すと決定することに応答して、コーデック構成リスト164内の(コーデック構成116によって示される)第1のコーデック構成に対して次のよりロバストなサポートされるコーデック構成を識別する。次のよりロバストなサポートされるコーデック構成は、コーデック構成リスト164内の第1のコーデック構成(たとえば、コーデック構成306)の順序位置(たとえば、第3)よりも低い順序位置を有するか、コーデック140によってサポートされる第1のコーデック構成内に含まれるか、コーデック130によってサポートされる第2のコーデック構成内に含まれるか、いかなる高PLRしきい値にも関連付けられないか、またはPLR129よりも大きいかもしくはそれに等しい高PLRしきい値に関連付けられるかのいずれかであるか、あるいはそれらの組合せである。特定の一態様では、要求192は、PLR129を示さない。この態様では、次のよりロバストなサポートされるコーデック構成は、コーデック構成リスト164内の第1のコーデック構成(たとえば、コーデック構成306)の順序位置(たとえば、第3)よりも低い順序位置を有するか、コーデック140によってサポートされる第1のコーデック構成内に含まれるか、コーデック130によってサポートされる第2のコーデック構成内に含まれるか、またはそれらの組合せである。
【0045】
[0053]別の例では、デバイス102において、コーデック構成がよりロバストでない(または、より高い順序位置の)コーデック構成に変更されることになることを、要求192のタイプが示すと決定することと、次のよりロバストでないサポートされるーデック構成を識別することとに応答して、コーデック構成適応回路137は、エンコーダ114のコーデック構成116を、識別された次のよりロバストでないサポートされるコーデック構成に設定する。代替的に、コーデック構成適応回路137は、コーデック構成がよりロバストでない(または、より高い順序位置の)コーデック構成に変更されることになることを、要求192のタイプが示すことと、コーデック構成リスト164が、(たとえば、コーデック構成116によって示される)第1のコーデック構成に対していかなる次のよりロバストでないサポートされるコーデック構成も含まないこととを決定することに応答して、コーデック構成116を更新することを控える。
【0046】
[0054]たとえば、PLR129が低いとき、コーデック構成適応回路137は、コーデック構成がよりロバストでない(または、より高い順序位置の)コーデック構成に変更されることになることを、要求192のタイプが示すと決定することに応答して、コーデック構成リスト164内の、(コーデック構成116によって示される)第1のコーデック構成に対して次のよりロバストでないサポートされるコーデック構成を識別する。次のよりロバストでないサポートされるコーデック構成は、コーデック構成リスト164内の第1のコーデック構成(たとえば、コーデック構成306)の順序位置(たとえば、第3)よりも高い順序位置を有するか、コーデック140によってサポートされる第1のコーデック構成内に含まれるか、コーデック130によってサポートされる第2のコーデック構成内に含まれるか、いかなる低PLRしきい値にも関連付けられないか、またはPLR129よりも小さいかもしくはそれに等しい低PLRしきい値に関連付けられるかのいずれかであるか、あるいはそれらの組合せである。特定の一態様では、要求192は、PLR129を示さない。この態様では、次のよりロバストでないサポートされるコーデック構成は、コーデック構成リスト164内の第1のコーデック構成(たとえば、コーデック構成306)の順序位置(たとえば、第3)よりも高い順序位置を有するか、コーデック140によってサポートされる第1のコーデック構成内に含まれるか、コーデック130によってサポートされる第2のコーデック構成内に含まれるか、またはそれらの組合せである。
【0047】
[0055]他の実装形態では、要求192は、特定のコーデック構成を示すことができる。そのような実装形態では、コーデック構成適応回路137は、特定のコーデック構成が、コーデック140によってサポートされる第1のコーデック構成内に含まれると決定することに応答して、コーデック構成116を特定のコーデック構成に設定する。
【0048】
[0056]要求192を送った後、デバイス122における受信機126は、デバイス102から、ネットワーク150を介して、1つまたは複数のパケット154を受信する。パケット154は、第2のコーデック構成(たとえば、次のよりロバストなサポートされるコーデック構成、次のよりロバストでないサポートされるコーデック構成、または特定のコーデック構成)に基づいて符号化される。たとえば、エンコーダ114は、コーデック構成116によって示される2のコーデック構成に基づいて、1つまたは複数の第2のパケットを符号化する。エンコーダ114は、1つまたは複数の第2のパケットの、送信機108を介した送信を開始する。受信機126によって受信されるパケット154は、送信機108によって送信された第2のパケットのサブセットである(たとえば、第2のパケットのうちの1つまたは複数が、デバイス122への送信中に損失され得る)。
【0049】
[0057]したがって、システム100は、デバイス122によって受けられたPLR129に基づいて、デバイス102のコーデック構成116が適応されることを可能にする。たとえば、デバイス122が(たとえば、しきい値PLRよりも高い)高PLRを受けているとき、デバイス102およびデバイス122は、よりロバストなコーデック構成に移動することができる。代替的に、デバイス122が(たとえば、しきい値PLRよりも低い)低PLRを受けているとき、デバイス102およびデバイス122は、より高いメディア品質、より低い帯域幅消費、より低い電力消費、またはそれらの組合せをもつコーデック構成に移動することができる。
【0050】
[0058]
図5を参照すると、パケット損失に基づくコーデック構成適応の方法が示されており、全体的に500と称される。特定の一態様では、方法500の1つまたは複数の動作が、
図1の受信機126、送信機128、コーデック構成適応回路139、デバイス122、受信機106、送信機108、コーデック構成適応回路137、デバイス102、システム100、またはそれらの組合せによって実施される。
【0051】
[0059]方法500は、502において、構成サーバから第1のデバイスにおいて構成データを受信することを含む。たとえば、
図1の受信機126は、
図1を参照しながら説明されたように、構成サーバ142から構成データ107を受信する。特定の一態様では、構成データ107は、
図3を参照しながら説明されたように、コーデック構成306に関連付けられた、高PLRしきい値326と、低PLRしきい値346とを示す。
【0052】
[0060]方法500はまた、504において、第1のデバイスにおけるパケット損失率を決定することを含む。たとえば、
図1のコーデック構成適応回路139は、
図1を参照しながら説明されたように、PLR129を決定する。PLR129は、デバイス102から、ネットワーク150を介して、デバイス122において受信される1つまたは複数のパケット152に関連付けられる。
【0053】
[0061]方法500は、506において、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて、第2のデバイスに、第2のデバイスのコーデック構成を変更するための要求を送ることをさらに含む。たとえば、
図1のコーデック構成適応回路139は、
図1を参照しながら説明されたように、デコーダ134が(コーデック構成136によって示される)第1のコーデック構成を有すると決定することに基づいて、デバイス102のコーデック構成を変更するために、デバイス102に要求192を送る。
【0054】
[0062]方法500はまた、508において、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信することを含む。たとえば、受信機126は、デバイス102から、ネットワーク150を介して、1つまたは複数のパケット154を受信する。パケット154は、
図1を参照しながら説明されたように、第2のコーデック構成(たとえば、コーデック構成116によって示される更新されたコーデック構成)に基づいて符号化される。
【0055】
[0063]したがって、方法500は、デバイス122によって受けられたPLR129に基づいて、デバイス102のコーデック構成116が適応されることを可能にする。たとえば、デバイス122が(たとえば、しきい値PLRよりも高い)高PLRを受けているとき、デバイス102およびデバイス122は、よりロバストなコーデック構成に移動することができる。代替的に、デバイス122が(たとえば、しきい値PLRよりも低い)低PLRを受けているとき、デバイス102およびデバイス122は、よりロバストでないが、より高いメディア品質、より低い帯域幅使用、または電力節約など、他の利点を提供する、コーデック構成に移動することができる。
【0056】
[0064]
図1の構成要素は、例示的な一例として提供される。他の実装形態では、システム100は、
図1に示されているものよりも少ないまたは多い構成要素を含み得る。いくつかの例では、PLR平均ウィンドウ持続時間162、高PLR適応要求タイプリスト172、または低PLR適応要求タイプリスト174のうちの1つまたは複数が、構成データ107から省略される。いくつかの例では、コーデック構成リスト164、高PLRしきい値リスト166、および低PLRしきい値リスト168の情報は、結合されることがあり、たとえば、コーデック構成リスト164の各エントリが、そのエントリのための高PLRしきい値、低PLRしきい値、または両方を示すこともできる。コーデック構成リスト164は、6つのコーデック構成を含むものとして示されているが、他の実装形態では、コーデック構成リスト164は、6つよりも少ないコーデック構成(たとえば、わずか1つまたは2つのコーデック構成)を有するか、または6つよりも多いコーデック構成(たとえば、7、10、50、または任意の他の数のコーデック構成)を有する。
【0057】
[0065]
図6を参照すると、システムの特定の一例が開示されており、全体的に600と称される。
図1のシステム100と比較して、システム600は、デジッタバッファ670と、デジッタバッファPLRインジケータ672とを含む。たとえば、デバイス122は、デジッタバッファ670を含み、構成データ107は、デジッタバッファPLRインジケータ672を含む。
図6に示された例では、構成データ107は、高PLR適応要求タイプリスト172と、低PLR適応要求タイプリスト174とを含まない。いくつかの他の例では、構成データ107は、高PLR適応要求タイプリスト172、低PLR適応要求タイプリスト174、または両方に加えて、デジッタバッファPLRインジケータ672を含む。構成データ107の要素の説明、フォーマット、および例が、
図7において提供される。
【0058】
[0066]
図7では、表700は、説明列702と、フォーマット列704とを含む。説明列702およびフォーマット列704は、デジッタバッファPLRインジケータ672の説明とフォーマットとがそれぞれ追加されることにおいて、
図2の説明列202およびフォーマット列204とは異なる。たとえば、デジッタバッファPLRインジケータ672の第1の値(たとえば、0)は、高PLRしきい値リスト166または低PLRしきい値リスト168内に示されたしきい値と比較するためのPLR推定値(たとえば、PLR129)が、デジッタバッファの前に測定されることになることを示す。別の例として、デジッタバッファPLRインジケータ672の第2の値(たとえば、1)は、PLR推定値(たとえば、PLR129)が、デジッタバッファの後、測定されることになることを示す。
【0059】
[0067]
図6に戻ると、コーデック構成適応回路139は、デジッタバッファPLRインジケータ672が第1の値(たとえば、0)を有すると決定することに応答して、デジッタバッファ前パケット損失イベントのカウントに基づいて、PLR129を決定するように構成される。特定の一態様では、コーデック構成適応回路139は、予想されたパケットがデバイス122において受信されなかった(たとえば、予想された時間内に受信されなかった)と決定することに応答して、デジッタ前パケット損失イベントを検出する。たとえば、コーデック構成適応回路139は、(1つ又は複数の)パケット152が、受信機126において第1の時間に受信される第1のパケットを含むと決定する。コーデック構成適応回路139は、第1のパケットに続く第2のパケットが、受信機126において受信されることになると予想されると決定する。たとえば、第1のパケットは、第1のシーケンス番号を示し、第2のシーケンス番号を有する第2のパケットが、受信機126において受信されることになると予想される。コーデック構成適応回路139は、第2のシーケンス番号を有するパケットが、第1の時間のしきい値持続時間内に、受信機126において受信されなかったと決定することに応答して、予想されたパケットが予想された時間内に受信されなかったことを検出する。コーデック構成適応回路139は、予想されたパケットが予想された時間内に受信されなかったことを検出することに応答して、(たとえば、LPカウンタによって示された)デジッタバッファ前パケット損失イベントのカウントを増分する。PLR129は、LPカウンタの値に基づく。特定の一態様では、PLR129は、デバイス122において受信されるパケット152の第1のカウントと、LPカウンタの値との比較(たとえば、PLR129=LPカウンタ値/(第1のカウント+LPカウンタ値))に基づく。
【0060】
[0068]特定の一態様では、コーデック構成適応回路139は、デジッタバッファPLRインジケータ672が第2の値(たとえば、1)を有すると決定することに応答して、デジッタバッファ後パケット損失イベントのカウントに基づいて、PLR129を決定するように構成される。特定の一態様では、コーデック構成適応回路139は、特定のパケットをプレイアウトするための時間に達したとき、当該特定のパケットがプレイアウトのために利用可能でない(たとえば、デジッタバッファ670内にない)と決定することに応答して、デジッタバッファ後パケット損失イベントを検出する。ーデック構成適応回路139は、デジッタバッファ後パケット損失イベントを検出することに応答して、(たとえば、LPカウンタによって示された)デジッタバッファ後パケット損失イベントのカウントを更新する。PLR129は、LPカウンタの値に基づく。特定の一態様では、PLR129は、対応するプレイアウト時間においてデジッタバッファ内で利用可能なパケット152のサブセットの第1のカウントと、LPカウンタの値との比較(たとえば、PLR129=LPカウンタ値/(第1のカウント+LPカウンタ値))に基づく。
【0061】
[0069]いくつかの態様では、デジッタバッファ後パケット損失イベントに基づく第1のPLRは、デジッタバッファ前パケット損失イベントと比較して、ユーザエクスペリエンスをより表すものである。たとえば、デジッタバッファ後パケット損失イベントは、パケットのプレイアウト時間(playout time)の後に、デバイス122において受信されるパケットを含む。パケットは、プレイアウトされず(たとえば、デジッタバッファ670に追加されず)、また、パケットをプレイアウトしないことは、ユーザエクスペリエンスに悪影響(たとえば、低減されたオーディオ/音声品質)を及ぼし得る。デジッタバッファ後パケット損失イベントに基づくPLRを使用するコーデック構成適応は、デジッタバッファ前パケット損失イベントと比較して、ユーザエクスペリエンスを向上させることができる。ネットワークの事業者は、ネットワークの様々なデバイスがコーデック構成適応のために同じメトリックを使用し、デバイスのユーザが同様のユーザエクスペリエンスを有するように、デジッタバッファPLRインジケータ672を使用することができる。たとえば、第1のネットワーク事業者は、デジッタバッファ前パケット損失イベント(たとえば、デバイスにおいて受信されない、予想されたパケットのカウント)に基づくPLRのより従来型の推定を使用するために、デジッタバッファPLRインジケータ672の第1の値(たとえば、0)を指定することができる。第2のネットワーク事業者は、ネットワーク内のデバイスのユーザのユーザエクスペリエンスが向上されるように、デジッタバッファ後パケット損失イベント(たとえば、プレイアウトのために利用可能でないパケットのカウント)に基づくPLRの推定を使用するために、デジッタバッファPLRインジケータ672の第2の値(たとえば、1)を指定することができる。
【0062】
[0070]
図8を参照すると、デバイス(たとえば、ワイヤレス通信デバイス)の特定の例示的な一例のブロック図が示されており、全体的に800と称される。様々な態様では、デバイス800は、
図8に示されているものよりも少ないまたは多い構成要素を有し得る。例示的な一態様では、デバイス800は、
図1のデバイス102、デバイス122、構成サーバ142、またはそれらの組合せに対応し得る。例示的な一態様では、デバイス800は、
図1~
図7のシステムおよび方法を参照しながら説明された1つまたは複数の動作を実施し得る。
【0063】
[0071]特定の一態様では、デバイス800は、プロセッサ806(たとえば、中央処理ユニット(CPU))を含む。デバイス800は、1つまたは複数の追加のプロセッサ810(たとえば、1つまたは複数のデジタル信号プロセッサ(DSP))を含み得る。プロセッサ810は、デコーダ818、エンコーダ814、コーデック構成適応回路819、またはそれらの組合せを含み得る。エンコーダ814は、
図1のエンコーダ114を含み得る。デコーダ818は、
図1のデコーダ134を含み得る。コーデック構成適応回路819は、
図1のコーデック構成適応回路137、コーデック構成適応回路139、または両方を含み得る。
【0064】
[0072]デバイス800は、メモリ852とコーデック834とを含み得る。エンコーダ814、デコーダ818、およびコーデック構成適応回路819は、プロセッサ810の構成要素(たとえば、専用回路および/または実行可能プログラミングコード)として示されているが、他の態様では、エンコーダ814、デコーダ818、コーデック構成適応回路819、またはそれらの組合せの1つまたは複数の構成要素は、プロセッサ806、コーデック834、別の処理構成要素、またはそれらの組合せ中に含まれ得る。
【0065】
[0073]デバイス800は、アンテナ842に結合されたトランシーバ850を含み得る。トランシーバ850は、受信機807、送信機808、または両方を含み得る。受信機807は、
図1の受信機106、受信機126、または両方を含み得る。送信機808は、
図1の送信機108、送信機128、または両方を含み得る。プロセッサ810は、トランシーバ850に、ワイヤレスコントローラ840を介して結合される。
【0066】
[0074]デバイス800は、ディスプレイコントローラ826に結合されたディスプレイ828を含み得る。1つまたは複数のスピーカー848が、コーデック834に結合され得る。1つまたは複数のマイクロフォン846が、1つまたは複数の入力インターフェースを介して、コーデック834に結合され得る。コーデック834は、デジタルアナログ変換器(DAC)802と、アナログデジタル変換器(ADC)804とを含み得る。
【0067】
[0075]メモリ852は、
図1~
図7を参照しながら説明された1つまたは複数の動作を実施するために、プロセッサ806、プロセッサ810、コーデック834、デバイス800の別の処理ユニット、またはそれらの組合せによって実行可能な命令856を含み得る。メモリ852は、
図1~
図7を参照しながら説明された、1つまたは複数の信号、1つまたは複数のパラメータ、1つまたは複数のしきい値、1つまたは複数のインジケータ、あるいはそれらの組合せを記憶し得る。たとえば、メモリ852は、
図1の構成データ107、PLR129、または両方を記憶するように構成される。
【0068】
[0076]デバイス800の1つまたは複数の構成要素は、専用ハードウェア(たとえば、回路)を介して、1つまたは複数のタスクを実施するための命令を実行するプロセッサによって、またはそれらの組合せによって実装され得る。一例として、メモリ852、あるいはプロセッサ806、プロセッサ810、および/またはコーデック834の1つまたは複数の構成要素は、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルクトランスファーMRAM(STT-MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、またはコンパクトディスク読取り専用メモリ(CD-ROM)などのメモリデバイス(たとえば、コンピュータ可読記憶デバイス)であり得る。メモリデバイスは、コンピュータ(たとえば、コーデック834内のプロセッサ、プロセッサ806、および/またはプロセッサ810など、1つまたは複数のプロセッサ)によって実行されたとき、コンピュータに、
図1~
図7を参照しながら説明された1つまたは複数の動作を実施させ得る命令(たとえば、命令856)を含み(たとえば、記憶し)得る。一例として、メモリ852、あるいはプロセッサ806、プロセッサ810、および/またはコーデック834の1つまたは複数の構成要素は、コンピュータ(たとえば、コーデック834内のプロセッサ、プロセッサ806、および/またはプロセッサ810など、1つまたは複数のプロセッサ)によって実行されたとき、コンピュータに、
図1~
図7を参照しながら説明された1つまたは複数の動作を実施させる命令(たとえば、命令856)を含む、非一時的コンピュータ可読媒体であり得る。
【0069】
[0077]特定の一態様では、デバイス800は、システムインパッケージまたはシステムオンチップデバイス(たとえば、移動局モデム(MSM))822中に含まれ得る。特定の一態様では、プロセッサ806、プロセッサ810、ディスプレイコントローラ826、メモリ852、コーデック834、およびトランシーバ850は、システムインパッケージまたはシステムオンチップデバイス822中に含まれる。特定の一態様では、タッチスクリーンおよび/またはキーパッドなどの入力デバイス830ならびに電源844が、システムオンチップデバイス822に結合される。さらに、特定の一態様では、
図8に示されているように、ディスプレイ828、入力デバイス830、スピーカー848、マイクロフォン846、アンテナ842、および電源844が、システムオンチップデバイス822の外部にある。しかしながら、ディスプレイ828、入力デバイス830、スピーカー848、マイクロフォン846、アンテナ842、および電源844の各々は、インターフェースまたはコントローラなど、システムオンチップデバイス822の構成要素に結合され得る。
【0070】
[0078]デバイス800は、ワイヤレス電話、モバイル通信デバイス、モバイルデバイス、モバイルフォン、スマートフォン、セルラーフォン、仮想現実ヘッドセット、拡張現実ヘッドセット、車両(たとえば、車)、ラップトップコンピュータ、デスクトップコンピュータ、コンピュータ、タブレットコンピュータ、セットトップボックス、携帯情報端末(PDA)、ディスプレイデバイス、テレビジョン、ゲーミングコンソール、音楽プレーヤ、無線機、ビデオプレーヤ、エンターテインメントユニット、通信デバイス、固定ロケーションデータユニット、パーソナルメディアプレーヤ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、チューナー、カメラ、ナビゲーションデバイス、デコーダシステム、エンコーダシステム、またはそれらの任意の組合せを含み得る。
【0071】
[0079]特定の一態様では、
図1~
図7を参照しながら説明されたシステムおよびデバイス800の1つまたは複数の構成要素は、復号システムまたは装置(たとえば、その中の電子デバイス、コーデック、またはプロセッサ)に、符号化システムまたは装置に、あるいは両方に組み込まれ得る。他の態様では、
図1~
図7を参照しながら説明されたシステムおよびデバイス800の1つまたは複数の構成要素は、モバイルデバイス、ワイヤレス電話、タブレットコンピュータ、デスクトップコンピュータ、仮想現実ヘッドセット、拡張現実ヘッドセット、車両(たとえば、車)、ラップトップコンピュータ、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、テレビジョン、ゲームコンソール、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、パーソナルメディアプレーヤ、または別のタイプのデバイスに組み込まれ得る。
【0072】
[0080]
図1~
図7を参照しながら説明されたシステムおよびデバイス800の1つまたは複数の構成要素によって実施される様々な機能が、いくつかの構成要素またはモジュールによって実施されるものとして説明されることに留意されたい。構成要素およびモジュールのこの分割は説明のためのものにすぎない。代替の一態様では、特定の構成要素またはモジュールによって実施される機能が、複数の構成要素またはモジュールの間で分割され得る。その上、代替の一態様では、
図1~
図7を参照しながら説明された2つ以上の構成要素またはモジュールが、単一の構成要素またはモジュールに組み込まれ得る。
図1~
図7を参照しながら説明された各構成要素またはモジュールは、ハードウェア(たとえば、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、DSP、コントローラなど)、ソフトウェア(たとえば、プロセッサによって実行可能な命令)、またはそれらの任意の組合せを使用して実装され得る。
【0073】
[0081]説明された態様に関連して、装置は、構成サーバから第1のデバイスにおいて構成データを受信するための手段を含む。たとえば、構成データを受信するための手段は、
図1の受信機126、受信機106、
図8の受信機807、トランシーバ850、構成サーバから第1のデバイスにおいて構成データを受信するように構成された1つもしくは複数の構造、デバイス、または回路、あるいはそれらの組合せを含み得る。構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示す。
【0074】
[0082]装置はまた、第1のデバイスにおけるパケット損失率を決定するための手段を含む。たとえば、パケット損失率を決定するための手段は、
図1のコーデック構成適応回路137、コーデック構成適応回路139、デバイス102、デバイス122、
図8の(1つまたは複数の)プロセッサ810、コーデック構成適応回路819、第1のデバイスにおけるパケット損失率を決定するように構成された1つもしくは複数の構造、デバイス、または回路、あるいはそれらの組合せを含み得る。パケット損失率は、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて受信される1つまたは複数の第1のパケットに関連付けられる。たとえば、パケット損失率は、第1のパケットのカウントと、第1のデバイスにおいて予想され(expected)、受信されない第2のパケットのカウントとの比較に関連付けられる。別の例として、パケット損失率は、対応するプレイアウト時間において、デジッタバッファ内で利用可能である第1のパケットのサブセットのカウントと、対応するプレイアウト時間において、デジッタバッファ内で利用可能でない第2のパケットのカウントとに関連付けられる。
【0075】
[0083]装置は、第2のデバイスのコーデック構成を変更するために、第2のデバイスに要求を送るための手段をさらに含む。たとえば、要求を送るための手段は、
図1の送信機108、送信機128、
図8の送信機808、トランシーバ850、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失しきい値を満たすこととを決定することに基づいて、第2のデバイスに、コーデック構成を変更するための要求を送るように構成された1つもしくは複数の構造、デバイス、または回路、あるいはそれらの組合せを含み得る。要求は、第1のデバイスのデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失率しきい値を満たすこととを決定することに基づいて送られる。
【0076】
[0084]装置はまた、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信するための手段を含む。たとえば、第2のパケットを受信するための手段は、
図1の受信機126、受信機106、
図8の受信機807、トランシーバ850、第2のデバイスから、ネットワークを介して、第1のデバイスにおいて第2のパケットを受信するように構成された1つもしくは複数の構造、デバイス、または回路、あるいはそれらの組合せを含み得る。第2のパケットは、第2のコーデック構成に基づいて符号化される。
【0077】
[0085]
図9を参照すると、基地局900の特定の例示的な一例のブロック図が示されている。様々な実装形態では、基地局900は、
図9に示されているものよりも多い構成要素または少ない構成要素を有し得る。例示的な一例では、基地局900は、
図1のデバイス102、デバイス122、構成サーバ142、またはそれらの組合せを含み得る。例示的な一例では、基地局900は、
図1~
図7を参照しながら説明された1つまたは複数の動作を実施し得る。
【0078】
[0086]基地局900は、ワイヤレス通信システムの一部であり得る。ワイヤレス通信システムは、複数の基地局と、複数のワイヤレスデバイスとを含み得る。ワイヤレス通信システムは、ロングタームエボリューション(LTE(登録商標))システム、符号分割多元接続(CDMA)システム、モバイル通信用グローバルシステム(GSM(登録商標))システム、ワイヤレスローカルエリアネットワーク(WLAN)システム、または何らかの他のワイヤレスシステムであり得る。CDMAシステムは、広帯域CDMA(WCDMA(登録商標))、CDMA 1X、エボリューションデータオプティマイズド(EVDO)、時分割同期CDMA(TD-SCDMA)、またはCDMAの何らかの他のバージョンを実装し得る。
【0079】
[0087]ワイヤレスデバイスは、ユーザ機器(UE)、移動局、端末、アクセス端末、加入者ユニット、局などと呼ばれることもある。ワイヤレスデバイスは、セルラーフォン、スマートフォン、タブレット、ワイヤレスモデム、携帯情報端末(PDA)、ハンドヘルドデバイス、ラップトップコンピュータ、スマートブック、ネットブック、タブレット、コードレスフォン、ワイヤレスローカルループ(WLL)局、Bluetooth(登録商標)デバイスなどを含み得る。ワイヤレスデバイスは、
図8のデバイス800を含むか、またはそれに対応し得る。
【0080】
[0088]メッセージとデータ(たとえば、オーディオデータ)とを送り、受信することなど、様々な機能が、基地局900の1つまたは複数の構成要素によって(および/または、示されていない他の構成要素において)実施され得る。特定の一例では、基地局900は、プロセッサ906(たとえば、CPU)を含む。特定の一態様では、プロセッサ906は、複数のプロセッサを含む。基地局900は、トランスコーダ910を含み得る。トランスコーダ910は、オーディオコーデック908を含み得る。たとえば、トランスコーダ910は、オーディオコーデック908の動作を実施するように構成された1つまたは複数の構成要素(たとえば、回路)を含み得る。別の例として、トランスコーダ910は、オーディオコーデック908の動作を実施するための1つまたは複数のコンピュータ可読命令を実行するように構成され得る。オーディオコーデック908は、トランスコーダ910の構成要素として示されているが、他の例では、オーディオコーデック908の1つまたは複数の構成要素が、プロセッサ906、別の処理構成要素、またはそれらの組合せの中に含まれ得る。たとえば、デコーダ938(たとえば、ボコーダデコーダ)は、受信機データプロセッサ964中に含まれ得る。別の例として、エンコーダ936(たとえば、ボコーダエンコーダ)は、送信データプロセッサ982中に含まれ得る。
【0081】
[0089]トランスコーダ910は、2つ以上のネットワークの間で、メッセージとデータとをトランスコーディングするように機能し得る。トランスコーダ910は、メッセージとオーディオデータとを第1のフォーマット(たとえば、デジタルフォーマット)から第2のフォーマットに変換するように構成され得る。例示のために、デコーダ938は、第1のフォーマットを有する符号化された信号を復号し得、エンコーダ936は、復号された信号を、第2のフォーマットを有する符号化された信号になるように符号化し得る。追加または代替として、トランスコーダ910は、データレート適応を実施するように構成され得る。たとえば、トランスコーダ910は、フォーマットオーディオデータを変更することなく、データレートをダウンコンバートするか、またはデータレートをアップコンバートし得る。例示のために、トランスコーダ910は、64kbit/s信号を16kbit/s信号にダウンコンバートし得る。
【0082】
[0090]特定の一態様では、トランスコーダ910は、コーデック構成適応を実施するように構成される。たとえば、トランスコーダ910は、
図1のコーデック構成適応回路137、コーデック構成適応回路139、または両方を含む。オーディオコーデック908は、エンコーダ936とデコーダ938とを含み得る。エンコーダ936は、
図1のエンコーダ114を含み得る。デコーダ938は、
図1のデコーダ134を含み得る。
【0083】
[0091]基地局900は、メモリ932を含み得る。コンピュータ可読記憶デバイスなどのメモリ932は、命令を含み得る。命令は、
図1~
図7を参照しながら説明された1つまたは複数の動作を実施するために、プロセッサ906、トランスコーダ910、またはそれらの組合せによって実行可能である、1つまたは複数の命令を含み得る。特定の一態様では、メモリ932は、
図1の構成データ107、PLR129、または両方を記憶するように構成される。基地局900は、アンテナのアレイに結合された、第1のトランシーバ952および第2のトランシーバ954など、複数の送信機と受信機と(たとえば、トランシーバ)を含み得る。アンテナのアレイは、第1のアンテナ942と第2のアンテナ944とを含み得る。アンテナのアレイは、
図8のデバイス800など、1つまたは複数のワイヤレスデバイスとワイヤレス通信するように構成され得る。たとえば、第2のアンテナ944は、ワイヤレスデバイスからデータストリーム914(たとえば、ビットストリーム)を受信し得る。データストリーム914は、メッセージ、データ(たとえば、符号化されたスピーチデータ)、またはそれらの組合せを含み得る。
【0084】
[0092]基地局900は、バックホール接続などのネットワーク接続960を含み得る。ネットワーク接続960は、コアネットワーク、またはワイヤレス通信ネットワークの1つもしくは複数の基地局と通信するように構成され得る。たとえば、基地局900は、ネットワーク接続960を介して、コアネットワークから第2のデータストリーム(たとえば、メッセージまたはオーディオデータ)を受信し得る。基地局900は、メッセージまたはオーディオデータを生成するために、第2のデータストリームを処理し、アンテナのアレイのうちの1つもしくは複数のアンテナを介して、1つもしくは複数のワイヤレスデバイスに、またはネットワーク接続960を介して、別の基地局に、メッセージまたはオーディオデータを与え得る。特定の一実装形態では、ネットワーク接続960は、例示的な非限定的な一例として、ワイドエリアネットワーク(WAN)接続であり得る。いくつかの実装形態では、コアネットワークは、公衆交換電話網(PSTN)、パケットバックボーンネットワーク、または両方を含むか、またはそれに対応し得る。
【0085】
[0093]基地局900は、ネットワーク接続960とプロセッサ906とに結合される、メディアゲートウェイ970を含み得る。メディアゲートウェイ970は、異なる電気通信技術のメディアストリーム間で変換するように構成され得る。たとえば、メディアゲートウェイ970は、異なる送信プロトコル、異なるコーディング方式、または両方の間で変換し得る。例示のために、メディアゲートウェイ970は、例示的な非限定的な一例として、PCM信号からリアルタイムトランスポートプロトコル(RTP)信号に変換し得る。メディアゲートウェイ970は、パケット交換ネットワーク(たとえば、ボイスオーバーインターネットプロトコル(VoIP)ネットワーク、IPマルチメディアサブシステム(IMS)、LTE、WiMax(登録商標)、およびUMBなどの第4世代(4G)ワイヤレスネットワーク)、回線交換ネットワーク(たとえば、PSTN)、およびハイブリッドネットワーク(たとえば、GSM、GPRS、およびEDGEなどの第2世代(2G)ワイヤレスネットワーク、WCDMA、EV-DO、およびHSPAなどの第3世代(3G)ワイヤレスネットワーク)の間で、データを変換し得る。
【0086】
[0094]さらに、メディアゲートウェイ970は、トランスコーダ910などのトランスコーダを含み得、コーデックが互換性のないとき、データをトランスコーディングするように構成され得る。たとえば、メディアゲートウェイ970は、例示的な非限定的な一例として、適応マルチレート(AMR)コーデックとG.711コーデックとの間でトランスコーディングし得る。メディアゲートウェイ970は、ルータと複数の物理インターフェースとを含み得る。いくつかの実装形態では、メディアゲートウェイ970は、コントローラ(図示されず)も含み得る。特定の一実装形態では、メディアゲートウェイコントローラは、メディアゲートウェイ970の外部にあるか、基地局900の外部にあるか、または両方であり得る。メディアゲートウェイコントローラは、複数のメディアゲートウェイの動作を制御し、協調させ得る。メディアゲートウェイ970は、メディアゲートウェイコントローラから制御信号を受信し得、異なる送信技術間でブリッジするように機能し得、エンドユーザ能力および接続にサービスを加え得る。
【0087】
[0095]基地局900は、トランシーバ952、954と、受信機データプロセッサ964と、プロセッサ906とに結合される、復調器962を含み得、受信機データプロセッサ964は、プロセッサ906に結合され得る。復調器962は、トランシーバ952、954から受信される、変調された信号を復調するように、また受信機データプロセッサ964に復調されたデータを与えるように構成され得る。受信機データプロセッサ964は、復調されたデータからメッセージまたはオーディオデータを抽出し、プロセッサ906にメッセージまたはオーディオデータを送るように構成され得る。
【0088】
[0096]基地局900は、送信データプロセッサ982と、送信多入力多出力(MIMO)プロセッサ984とを含み得る。送信データプロセッサ982は、プロセッサ906、および送信MIMOプロセッサ984に結合され得る。送信MIMOプロセッサ984は、トランシーバ952、954、およびプロセッサ906に結合され得る。いくつかの実装形態では、送信MIMOプロセッサ984は、メディアゲートウェイ970に結合され得る。送信データプロセッサ982は、例示的な非限定的な一例として、プロセッサ906からメッセージまたはオーディオデータを受信するように、およびCDMAまたは直交周波数分割多重化(OFDM)などのコーディング方式に基づいて、メッセージまたはオーディオデータをコーディングするように構成され得る。送信データプロセッサ982は、送信MIMOプロセッサ984にコーディングされたデータを与え得る。
【0089】
[0097]コーディングされたデータは、多重化されたデータを生成するために、CDMAまたはOFDM技法を使用して、パイロットデータなどの他のデータと多重化され得る。多重化されたデータは、次いで、変調シンボルを生成するために、特定の変調方式(たとえば、2位相シフトキーイング(「BPSK」)、4位相シフトキーイング(「QSPK」)、多値位相シフトキーイング(「M-PSK」)、多値直交振幅変調(「M-QAM」)など)に基づいて、送信データプロセッサ982によって変調(すなわち、シンボルマッピング)され得る。特定の一実装形態では、コーディングされたデータおよび他のデータは、異なる変調方式を使用して変調され得る。各データストリームのためのデータレート、コーディング、および変調は、プロセッサ906によって実行される命令によって決定され得る。
【0090】
[0098]送信MIMOプロセッサ984は、送信データプロセッサ982から変調シンボルを受信するように構成され得、変調シンボルをさらに処理し得、データに対してビームフォーミングを実施し得る。たとえば、送信MIMOプロセッサ984は、変調シンボルにビームフォーミング重みを適用し得る。ビームフォーミング重みは、そこから変調シンボルが送信されるアンテナのアレイのうちの1つまたは複数のアンテナに対応し得る。
【0091】
[0099]動作中に、基地局900の第2のアンテナ944は、データストリーム914を受信し得る。第2のトランシーバ954は、第2のアンテナ944からデータストリーム914を受信し得、復調器962にデータストリーム914を与え得る。復調器962は、データストリーム914の変調された信号を復調し、受信機データプロセッサ964に復調されたデータを与え得る。受信機データプロセッサ964は、復調されたデータからオーディオデータを抽出し、プロセッサ906に抽出されたオーディオデータを与え得る。
【0092】
[0100]プロセッサ906は、オーディオデータを、トランスコーディングのためにトランスコーダ910に与え得る。トランスコーダ910のデコーダ938は、オーディオデータを、第1のフォーマットから、復号されたオーディオデータに復号し得、エンコーダ936は、復号されたオーディオデータを第2のフォーマットに符号化し得る。いくつかの実装形態では、エンコーダ936は、ワイヤレスデバイスから受信されるものよりも高いデータレート(たとえば、アップコンバート)、またはそれよりも低いデータレート(たとえば、ダウンコンバート)を使用して、オーディオデータを符号化し得る。他の実装形態では、オーディオデータはトランスコーディングされないことがある。トランスコーディング(たとえば、復号および符号化)は、トランスコーダ910によって実施されるものとして示されているが、トランスコーディング動作(たとえば、復号および符号化)は、基地局900の複数の構成要素によって実施され得る。たとえば、復号は、受信機データプロセッサ964によって実施され得、符号化は、送信データプロセッサ982によって実施され得る。他の実装形態では、プロセッサ906は、別の送信プロトコル、コーディング方式、または両方への変換のために、メディアゲートウェイ970にオーディオデータを与え得る。メディアゲートウェイ970は、ネットワーク接続960を介して、別の基地局またはコアネットワークに、変換されたデータを与え得る。
【0093】
[0101]特定の一態様では、トランスコーダ910は、
図1の要求192を受信することに応答して、エンコーダ936のコーデック構成を更新する。エンコーダ936は、更新されたコーデック構成に基づいて、符号化されたオーディオデータを生成し得る。トランスコーディングされたデータなど、エンコーダ936において生成された符号化されたオーディオデータは、プロセッサ906を介して、送信データプロセッサ982またはネットワーク接続960に与えられ得る。
【0094】
[0102]トランスコーダ910からのトランスコーディングされたオーディオデータは、変調シンボルを生成するために、OFDMなどの変調方式に従ってコーディングするために、送信データプロセッサ982に与えられ得る。送信データプロセッサ982は、さらなる処理およびビームフォーミングのために、送信MIMOプロセッサ984に変調シンボルを与え得る。送信MIMOプロセッサ984は、ビームフォーミング重みを適用し得、第1のトランシーバ952を介して、第1のアンテナ942など、アンテナのアレイのうちの1つまたは複数のアンテナに、変調シンボルを与え得る。したがって、基地局900は、ワイヤレスデバイスから受信されるデータストリーム914に対応するトランスコーディングされたデータストリーム916を、別のワイヤレスデバイスに与え得る。トランスコーディングされたデータストリーム916は、データストリーム914とは異なる符号化フォーマット、データレート、または両方を有し得る。他の実装形態では、トランスコーディングされたデータストリーム916は、別の基地局またはコアネットワークへの送信のために、ネットワーク接続960に与えられ得る。
【0095】
[0103]したがって、基地局900は、1つまたは複数のプロセッサ(たとえば、プロセッサ906、トランスコーダ910、または両方)によって実行されたとき、プロセッサに、通信のための動作を実施させる命令を記憶する、コンピュータ可読記憶媒体(たとえば、メモリ932)を含み得る。当該動作は、構成サーバから構成データを受信することを含む。構成データは、第1のコーデック構成に関連付けられた第1のパケット損失率しきい値を示す。当該動作は、第2のデバイスから、ネットワークを介して、基地局900において受信される1つまたは複数の第1のパケットに関連付けられたパケット損失率を決定することを含む。当該動作は、基地局900のデコーダが第1のコーデック構成を有することと、パケット損失率が第1のパケット損失しきい値を満たすこととを決定することに基づいて、第2のデバイスに、第2のデバイスのコーデック構成を変更するための要求を送ることを含む。当該動作はまた、第2のデバイスから、ネットワークを介して、第2のパケットを受信することを含む。第2のパケットは、第2のコーデック構成に基づいて符号化される。
【0096】
[0104]コーデック構成について説明する詳細の一例が提供される。特定の一実装形態では、メディアタイプごとのグローバルリストが使用される。グローバルリストは、ロバストネスの順序において、メディアタイプのためのコーデック構成の例をランク付けする。コーデックまたは構成のサブセットが、セッションのためにネゴシエートされる場合、端末は、グローバルリストからの同じロバストネス順序付けを使用して、ネゴシエートされたサブセットの間で適応する。グローバルリストの各エントリは、コーデック名フィールド(たとえば、MIMEタイプ)、コーデックレートフィールド(たとえば、ビット/秒単位)、冗長性フィールド、またはそれらの組合せを含む。以下のフィールドが、グローバルリスト内のエントリごとに使用され得る。
【0097】
【0098】
[0105]特定の一実装形態では、コーデックタイプごとのリストが使用される。コーデックタイプごとのリストは、ロバストネスの順序において、特定のコーデックタイプのためのコーデック構成の例をランク付けする。コーデックの構成のサブセットが、セッションのためにネゴシエートされる場合、端末は、コーデックタイプごとのリストからの同じロバストネス順序付けを使用して、ネゴシエートされたサブセットの間で適応する。以下のフィールドが、コーデックタイプに固有であるリスト内のエントリごとに使用され得る。
【0099】
【0100】
【0101】
[0106]開示された態様の上記の説明は、当業者が開示された態様を製作または使用することを可能にするために提供されている。これらの態様への様々な修正が当業者には容易に明らかになり、本明細書で定義された原理が、本開示の範囲から逸脱することなく他の態様に適用され得る。したがって、本開示は、本明細書に示された態様に限定されることを意図されておらず、以下の特許請求の範囲によって定義されるような原理および新規な特徴と一致する可能な最も広い範囲を与えられるべきである。
【国際調査報告】