【文献】
Ojala, P.et al.,The adaptive multirate wideband speech codec: system characteristics, quality advances, and deployment strategies,Communications Magazine,IEEE,2006年 5月,Volume 44, Issue 5,pp.59-65
【文献】
Makinen, J.et al.,The effect of source based rate adaptation extension in AMR-WB speech codec ,IEEE Workshop Proceedings on Speech Coding(2002),IEEE,2002年10月 6日,pp.153-155
【文献】
伊藤 博紀、芹沢 昌宏, AMR音声データのRTP伝送におけるパケット損失対策法の性能評価,電子情報通信学会2001年情報・システムソサイエティ大会講演論文集,日本,社団法人電子情報通信学会,2001年 8月29日,233頁
(58)【調査した分野】(Int.Cl.,DB名)
前記第1のフレームがクリティカルフレームであると前記判断することが、前記オーディオ信号内の前記第1のフレームに後続する、前記オーディオ信号のフレームの符号化されたバージョンからの情報に基づく、請求項2に記載の方法。
前記方法が、前記決定メトリックの複数の値を計算することを備え、各値が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、
ここにおいて、前記決定メトリックの前記複数の値の各々が、前記対応するフレームの圧縮率の尺度に基づき、
ここにおいて、前記方法が、前記決定メトリックの前記複数の値のうちの少なくともいくつかに基づいて、前記異なるフレームの中から前記第2のフレームを選択することを備える、請求項1に記載の方法。
前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応する、請求項1に記載の方法。
前記少なくとも1つの計算された値が、(A)前記初期ビット割振りに対する前記第2のフレームの圧縮率の尺度と、(B)前記複数の再割振り候補のうちの前記対応する1つに対する前記第2のフレームの圧縮率の尺度との間の関係に基づく、請求項11に記載の方法。
前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値の複数のセットを含み、前記複数のセットの各々が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、各セット内で、各値が前記複数の再割振り候補のうちの異なる1つに対応する、請求項1に記載の方法。
前記方法が、前記複数のセットのうちの少なくともいくつかの計算された値に基づいて、前記異なるフレームの中から前記第2のフレームを選択することを備える、請求項16に記載の方法。
前記方法が、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーとを含むパケットを作成することを備え、
ここにおいて、前記第2のフレームの前記コピーが前記第1の部分に符号化され、
ここにおいて、前記冗長コピーが前記第2の部分に符号化される、請求項1に記載の方法。
前記第1のフレームがクリティカルフレームであると前記判断することが、前記オーディオ信号内の、前記第1のフレームに後続する前記オーディオ信号のフレームの符号化されたバージョンからの情報に基づく、請求項22に記載の装置。
前記決定メトリックの少なくとも1つの値を計算するための前記手段が、前記決定メトリックの複数の値を計算するように構成され、各値が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、
ここにおいて、前記決定メトリックの前記複数の値の各々が、前記対応するフレームの圧縮率の尺度に基づき、
ここにおいて、前記装置が、前記決定メトリックの前記複数の値のうちの少なくともいくつかに基づいて、前記異なるフレームの中から前記第2のフレームを選択するための手段を備える、請求項21に記載の装置。
前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応し、
ここにおいて、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、請求項21に記載の装置。
前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応し、
ここにおいて、前記少なくとも1つの計算された値が、異なる符号化レートに対する前記第2のフレームの知覚品質の尺度間の関係に基づく、請求項21に記載の装置。
前記装置が、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーを含むパケットを作成するための手段を備え、
ここにおいて、前記第2のフレームの前記コピーが前記第1の部分に符号化され、
ここにおいて、前記冗長コピーが前記第2の部分に符号化される、請求項21に記載の装置。
前記装置が、前記第1のフレームが前記オーディオ信号のクリティカルフレームであると判断するように構成されたクリティカルフレームインジケータを含む、請求項29に記載の装置。
前記第1のフレームがクリティカルフレームであると前記判断することが、前記オーディオ信号内の、前記第1のフレームに後続する前記オーディオ信号のフレームの符号化されたバージョンからの情報に基づく、請求項30に記載の装置。
前記計算器が、前記決定メトリックの複数の値を計算するように構成され、各値が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、
ここにおいて、前記決定メトリックの前記複数の値の各々が、前記対応するフレームの圧縮率の尺度に基づき、
ここにおいて、前記選択器が、前記決定メトリックの前記複数の値のうちの少なくともいくつかに基づいて、前記異なるフレームの中から前記第2のフレームを選択するように構成される、請求項29に記載の装置。
前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応し、
ここにおいて、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、請求項29に記載の装置。
前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応し、
前記少なくとも1つの計算された値が、異なる符号化レートに対する前記第2のフレームの知覚品質の尺度間の関係に基づく、請求項29に記載の装置。
前記装置が、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーとを含むパケットを作成するように構成されたパケットアセンブラを備え、
ここにおいて、前記第2のフレームの前記コピーが前記第1の部分に符号化され、
ここにおいて、前記冗長コピーが前記第2の部分に符号化される、請求項29に記載の装置。
前記媒体が、前記特徴を読み取る機械に、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーとを含むパケットを作成させる有形な特徴を備え、
ここにおいて、前記第2のフレームの前記コピーが前記第1の部分に符号化され、
ここにおいて、前記冗長コピーが前記第2の部分に符号化される、請求項37に記載の媒体。
【発明を実施するための形態】
【0010】
[0063]送信中の情報のロスに対する固定ビットレート方式のロバスト性を改善することが望ましい。本明細書で説明するシステム、方法、および装置は、オーディオ信号のクリティカルフレームの適応冗長符号化に適用され得る。そのような適応符号化は、複数の共有レート(たとえば、共有ビット割振り)およびフレームオフセットを試験することを含み得る。そのような適応符号化はまた、フレームがクリティカルフレームであると判断することを含み得る。
【0011】
[0064]文脈によって明確に限定されない限り、「信号」という用語は、本明細書では、ワイヤ、バス、または他の伝送媒体上に表された記憶場所(または記憶場所のセット)の状態を含む、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「発生(generating)」という用語は、本明細書では、計算(computing)または別様の生成(producing)など、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「計算(calculating)」という用語は、本明細書では、複数の値からの計算(computing)、評価、平滑化、および/または選択など、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「得る(obtaining)」という用語は、計算、導出、(たとえば、外部デバイスからの)受信、および/または(たとえば、記憶素子のアレイからの)取り出しなど、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「選択(selecting)」という用語は、2つ以上のセットのうちの少なくとも1つ、かつすべてよりも少数を識別、指示、適用、および/または使用することなど、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「判断(determining)」という用語は、決定(deciding)、確立(establishing)、終結(concluding)、計算、選択、および/または評価など、その通常の意味のいずれをも示すのに使用される。「備える(comprising)」という用語は、本明細書と特許請求の範囲とにおいて使用される場合、他の要素または動作を除外するものではない。「に基づく」(「AはBに基づく」など)という用語は、(i)「から導出される」(たとえば、「BはAの前の形である」)、(ii)「少なくとも〜に基づく」(たとえば、「Aは少なくともBに基づく」)、および特定の文脈で適当な場合に、(iii)「に等しい」(たとえば、「AはBに等しい」)という場合を含む、その通常の意味のいずれをも示すのに使用される。同様に、「に応答して」という用語は、「少なくとも〜に応答して」を含む、その通常の意味のいずれをも示すのに使用される。
【0012】
[0065]別段に規定されていない限り、「一連」という用語は、2つ以上のアイテムのシーケンスを示すのに使用される。「対数」という用語は、10を底とする対数を示すのに使用されるが、他の底へのそのような演算の拡張は本開示の範囲内である。「周波数成分」という用語は、(たとえば、高速フーリエ変換またはMDCTによって生成される)信号の周波数領域表現のサンプル、あるいは信号のサブバンド(たとえば、バーク尺度またはメル尺度サブバンド)など、信号の周波数または周波数帯域のセットのうちの1つを示すのに使用される。
【0013】
[0066]別段に規定されていない限り、特定の特徴を有する装置の動作のいかなる開示も、類似の特徴を有する方法を開示する(その逆も同様)ことをも明確に意図し、特定の構成による装置の動作のいかなる開示も、類似の構成による方法を開示する(その逆も同様)ことをも明確に意図する。「構成」という用語は、その具体的な文脈によって示されるように、方法、装置、および/またはシステムに関して使用され得る。「方法」、「処理」、「手順」、および「技法」という用語は、具体的な文脈によって別段に規定されていない限り、一般的、互換的に使用される。複数のサブタスクを有する「タスク」もまた一方法である。「装置」および「デバイス」という用語も、特定の文脈によって別段に規定されていない限り、一般的、互換的に使用される。「要素」および「モジュール」という用語は、一般に、より大きい構成の一部分を示すのに使用される。文脈によって明確に限定されない限り、「システム」という用語は、本明細書では、「共通の目的を果たすために相互作用する要素のグループ」を含む、その通常の意味のいずれをも示すのに使用される。「複数の」という用語は、「2つ以上の」を意味する。また、文書の一部分の参照によるいかなる組込みも、その部分内で参照される用語または変数の定義が、その文書中の他の場所、ならびに組み込まれた部分中で参照される図に現れた場合、そのような定義を組み込んでいることを理解されたい。
【0014】
[0067]「コーダ」、「コーデック」、および「コーディングシステム」という用語は、(場合によっては知覚的重み付けおよび/または他のフィルタ処理演算などの1つまたは複数の前処理演算の後に)オーディオ信号のフレームを受信し符号化するように構成された少なくとも1つのエンコーダと、フレームの復号表現を生成するように構成された対応するデコーダとを含むシステムを示すのに互換的に使用される。そのようなエンコーダとデコーダは、一般に通信リンクの対向する端末に配備される。全二重通信をサポートするために、エンコーダとデコーダの両方のインスタンスは、一般にそのようなリンクの各端部に配備される。
【0015】
[0068]別段の指示がない限り、「ボコーダ」、「オーディオコーダ」、および「音声コーダ」という用語は、オーディオエンコーダと対応するオーディオデコーダとの組合せを指す。別段の指示がない限り、「コーディング」という用語は、符号化および後続の復号を含めて、コーデックを介するオーディオ信号の転移(transfer)を示す。別段の指示がない限り、「送信」という用語は、送信チャネルへの(たとえば、信号の)伝搬を示す。
【0016】
[0069]本明細書で説明するコーディング方式は、(たとえば非音声オーディオを含む)任意のオーディオ信号をコーディングするために適用され得る。あるいは、そのようなコーディング方式を音声にのみ使うのが望ましいことがある。そのような場合、そのコーディング方式を分類方式とともに使って、音声信号の各フレームの内容の種類を判定し、適切なコーディング方式を選択することができる。
【0017】
[0070]本明細書で説明されるコーディング方式は、主要なコーデックとして、またはマルチレイヤ内のレイヤもしくはステージとして、またはマルチステージコーデックとして使われ得る。1つのそのような例では、音声信号の周波数成分の一部(たとえば、低域または高域)をコーディングするのにそのようなコーディング方式が使われ、信号の周波数成分の別の部分をコーディングするのに別のコーディング方式が使われる。別のそのような例では、そのようなコーディング方式は、線形予測コーディング(LPC)分析動作の残差など、別のコーディングレイヤの残差(すなわち、元の信号と符号化された信号との間の誤差)であるオーディオ信号をコーディングするために使用される。
【0018】
[0071]本明細書で説明する方法、システム、および装置は、オーディオ信号を一連のセグメントとして処理するように構成され得る。典型的なセグメント長は約5または10ミリ秒から約40または50ミリ秒にわたり、セグメントは、重複しても(たとえば、隣接するセグメントが25%または50%だけ重複する)、重複しなくてもよい。1つの特定の例では、オーディオ信号は、10ミリ秒の長さをそれぞれ有する一連の重複しないセグメントまたは「フレーム」に分割される。別の特定の例では、各フレームは20ミリ秒の長さを有する。オーディオ信号に対するサンプリングレートの例は、8、12、16、32、44.1、48および192キロヘルツを(制限なしに)含む。
【0019】
[0072]オーディオ通信アプリケーションは、パケット交換ネットワーク内で実装され得る。たとえば、オーディオ通信アプリケーションは、ボイスオーバインターネットプロトコル(VoIP)ネットワーク内で実装され得る。パケットは、符号化されたオーディオ信号の1つまたは複数のフレームを含み、オーディオ(たとえば、音声)情報を有するパケットは、ネットワーク上で第1のデバイスから第2のデバイスに送信され得る。しかしながら、パケットのうちのいくつかは、パケットの送信中に失われることがある。たとえば、複数のパケットのロス(ときに、バースト的パケットロスと呼ばれる)が、受信デバイスにおける知覚的音声品質の劣化の理由となることがある。
【0020】
[0073]VoIPネットワーク内のパケットロスによって引き起こされる知覚的音声品質の劣化を緩和するために、2つのタイプの解法が存在する。第1の解法は、受信側ベースのパケットロス隠蔽(PLC:packet loss concealment)手法である。PLC法は、VoIP通信におけるパケットロスの影響をマスキングするために使用され得る。たとえば、PLC法は、送信中に失われたパケットの代わりに代替パケットを生成するように実施され得る。そのようなPLC法は、失われたパケットに可能な限り類似するパケットを生成することを試行し得る。受信側ベースのPLC法は、代替パケットを生成するために、送信側からの追加のリソースまたは支援をまったく必要としない。しかしながら、重要な音声フレームが失われるときは、PLC法は、パケットロスの影響をマスキングするには不十分であることがある。
【0021】
[0074]第2の解法は、送信側ベースのパケットロス復元手法(packet loss resilient approach)である。そのような手法は、各パケットとともにいくつかの追加のデータを送ることを含み得る前方誤り訂正(FEC)法を含む。追加のデータは、送信中のデータのロスによって引き起こされる誤りを修復するために使用され得る。たとえば、FEC方式は、冗長オーディオフレームを送信し得る。言い換えれば、オーディオフレームの2つ以上のコピー(典型的には2つ)が、送信側によって送信される。これら2つのフレームは、主コピーおよび冗長コピーと呼ばれることがある。
【0022】
[0075]送信側ベースのパケットロス復元方式は、復号された音声の知覚品質を改善し得るが、これらの方式はまた、音声の送信中に使用される帯域幅を増加させることがある。従来からのFEC方式はまた、実時間の会話にとって許容できないエンドツーエンド遅延を増加させることがある。たとえば、従来の送信側ベースの方式は、2つ異なる時間期間において2回、同じ音声フレームを送る。この手法は、データレートを少なくとも二倍にする。いくつかの従来の方式は、データレートを低減するために、冗長コピーに対して低ビットレートコーデックを使用することがある。しかしながら、低ビットレートコーデックの使用は、エンコーダの複雑さを増すことがある。加えて、いくつかの従来の方式は、フレームの主コピーとフレームの冗長コピーの両方に対して同じ低ビットレートコーデックを使用することがある。この手法は、エンコーダの複雑さを低減するだけでなく、データレートも低減し得るが、基本的な音声品質(すなわち、フレームが失われないときの音声品質)が、大幅に低下することがある。さらに、従来の送信側ベースの方式は、少なくとも1つのフレーム間隔の追加の遅延を前提として動作する。
【0023】
[0076]本明細書で説明するシステム、方法、および装置は、音声品質と、遅延およびデータレートとの間の最適なトレードオフを得るために、ソース制御(source-controlled)(および場合によってはチャネル制御(channel-controlled))FEC方式を提供するように実施され得る。FEC方式は、追加の遅延が導入されないように構成され得る。適度のデータレート増の下で音声品質の高い品質改善が達成され得る。本明細書で説明するFEC方式はまた、任意の目標データレートにおいて動作することができる。一例では、FEC方式および目標データレートは、送信チャネルの条件ならびに外部制御に基づいて適応的に調節され得る。提案されるFEC方式はまた、レガシー通信デバイス(たとえば、レガシーハンドセット)と互換性がある方式で実施され得る。
【0024】
[0077]オーディオ(たとえば、音声)通信のためのいくつかのコーデックに対して、各フレームが符号化されるビットの総数は、所定の定数である。そのようなコーデックの例には、適応マルチレート(AMR)音声コーデック(たとえば、3GPP技術仕様(TS)26.071、バージョン10.0.0、2011年4月5日、欧州電気通信標準化機構(ETSI)、www−dot−esti−dot−org、フランス、ソフィア・アンティポリスから入手可能、に記載されている)と、AMR広帯域音声コーデック(たとえば、ITU−T勧告G.722.2、2003年7月、国際電気通信連合、www−dot−itu−dot−int、および/または3GPP技術仕様26.190v10.0.0(2011年3月)、ETSIから入手可能、に記載されている)とが含まれ、ビット数は、フレームに対して選択されたコーディングモードによって決定される。そのような場合には、過去のフレームの冗長コピーを送信することは、現在フレーム内の信号情報をコーディングするために利用可能なビット数において、対応する低減を必要とすることがある。この低減は、復号された音声の知覚品質に悪影響を及ぼすことがある。
【0025】
[0078]冗長コピーがクリティカルフレームに対してのみ送信される、柔軟性のある手法を実施することが望ましい。「クリティカルフレーム」は、そのロスが、復号された信号の知覚品質に重大な影響を及ぼすことが予測されるフレームである。その上、冗長コピーを現在のフレーム上にピギーバッキングする影響が最小であると予測される場合だけ、そのような冗長コピーを送信することが望ましい。固定ビットレートシステムに対して、現在のフレームをコーディングするために使用されるビット数および過去のフレームの冗長コピー(たとえば、部分コピー)をコーディングするために使用されるビット数の合計が、目標の固定ビットレートTと適合するように、現在のフレームをコーディングするために使用されるビット数を決定することが望ましい。
【0026】
[0079]
図1Aは、送信チャネルTC10を介してネットワークNW10上で通信する送信端末102および受信端末104の一例を示すブロック図である。端末102および104の各々は、本明細書で説明する方法を実行するように、および/または本明細書で説明する装置を含むように実装され得る。送信端末102および受信端末104は、電話(たとえば、スマートフォン)、コンピュータ、オーディオブロードキャストおよび受信機器、ビデオ会議機器などを含む、音声通信をサポートすることが可能な任意のデバイスであり得る。送信端末102および受信端末104は、たとえば、符号分割多元接続(CDMA)機能など、ワイヤレス多元接続技術を用いて実装され得る。CDMAは、スペクトラム拡散通信に基づく変調および多元接続方式である。
【0027】
[0080]送信端末102はオーディオエンコーダAE10を含み、受信端末104はオーディオデコーダAD10を含む。オーディオエンコーダAE10は、人間音声発生モデルに従ってパラメータ値を抽出することによって、第1のユーザインターフェースUI10(たとえば、マイクロフォンおよびオーディオフロントエンド)からのオーディオ情報(たとえば、音声)を圧縮するために使用され得る。チャネルエンコーダCE10は、パラメータ値をパケットにアセンブルし、送信機TX10は、これらのパラメータ値を含むパケットをネットワークNW10上で送信し、NW10は、送信チャネルTC10を介する、インターネットまたは企業イントラネットなどのパケットベースネットワークを含み得る。送信チャネルTC10は、ワイヤードおよび/またはワイヤレス送信チャネルであってよく、チャネルの品質が、いかにしてどこで決定されるかに応じて、ネットワークNW10のエントリポイント(たとえば、基地局コントローラ)、ネットワークNW10の別のエンティティ(たとえば、チャネル品質分析器)、および/または受信端末104の受信機RX10まで延びるものと考えられ得る。
【0028】
[0081]受信端末104の受信機RX10は、送信チャネルを介してネットワークNW10からのパケットを受信するために使用される。チャネルデコーダCD10は、パラメータ値を得るためにパケットを復号し、オーディオデコーダAD10は、パケットからのパラメータ値を使用してオーディオ情報を合成する。合成されたオーディオ(たとえば、音声)は、受信端末104上の第2のユーザインターフェースUI20(たとえば、オーディオ出力ステージおよび拡声器)に供給される。図示しないが、様々な信号処理機能が、チャネルエンコーダCE10およびチャネルデコーダCD10内で(たとえば、サイクリック冗長検査(CRC)機能、インターリービングを含む畳み込みコーディングを)、また、送信機TX10および受信機RX10内で(たとえば、デジタル変調および対応する復調、スペクトラム拡散処理、アナログデジタル変換およびデジタルアナログ変換を)実行され得る。
【0029】
[0082]
図2は、無線アップリンクおよびダウンリンク送信チャネル上で移動局と通信するトランシーバ基地局BTS1〜BTS3を含むネットワークNW10の実装形態NW20の一例を示す。ネットワークNW20はまた、公衆交換電話網PSTNおよびインターネットINTに接続されたコアネットワークCNW1と、やはりインターネットINTに接続されたコアネットワークCNW2とを含む。ネットワークNW20はまた、トランシーバ局をコアネットワークとインターフェース接続する基地局コントローラBSC1〜BSC3を含む。ネットワークNW20は、端末デバイス間にパケット交換通信を提供するように実施され得る。コアネットワークCNW1はまた、トランシーバ基地局BTS1、BTS2を介して端末デバイスMS1とMS2との間、および/またはそのような端末デバイスとPSTN上の端末デバイスとの間に回線交換通信を提供し得る。
【0030】
[0083]
図2はまた、ネットワークNW20を介して(たとえば、パケット交換通信リンク上で)互いに通信し得る異なる端末デバイスの例、すなわち、移動局MS1〜MS3、ボイスオーバIP(VoIP)電話VP、および電気通信プログラム(たとえば、マイクロソフトスカイプ部門、LUからのスカイプソフトウェア)を実行するように構成されるコンピュータCPを示す。端末デバイスMS1〜MS3、VP、およびCPのいずれかは、送信端末102のインスタンスと受信端末104のインスタンスとを含むように実施され得る。移動デバイスMS1〜MS3は、ワイヤレス無線アップリンクおよびダウンリンク送信チャネルを介してネットワークと通信する。端末VPおよびCPは、ワイヤード送信チャネル(たとえば、イーサネット(登録商標)ケーブル)および/またはワイヤレス送信チャネル(たとえば、IEEE 802.11または「WiFi」リンク)を介してネットワークと通信する。ネットワークNW20はまた、ゲートウェイおよび/またはTRAU(トランスコーダおよびレートアダプタユニット)など、中間エンティティを含み得る。
【0031】
[0084]通信に対する各パーティーは、送信だけでなく受信もでき、各端末はオーディオエンコーダAE10およびデコーダAD10のインスタンスを含み得る。オーディオエンコーダおよびデコーダは、個別のデバイスであってよく、または「ボイスコーダ」もしくは「ボコーダ」として知られる単一のデバイスに組み込まれてもよい。
図1Aに示すように、端末102、104は、ネットワークNW10の一端末におけるオーディオエンコーダAE10と、他の端末におけるオーディオデコーダAD10とともに説明されている。
【0032】
[0085]送信端末102の少なくとも1つの構成では、オーディオ信号(たとえば、音声)は、第1のユーザインターフェースUI10からオーディオエンコーダAE10にフレームで入力され得、各フレームはサブフレームにさらに区分される。そのような任意のフレーム境界は、何らかのブロック処理が実行される場合に使用され得る。しかしながら、そのようにオーディオサンプルをフレーム(およびサブフレーム)に区分することは、ブロック処理ではなく連続処理が実施される場合は省略され得る。説明する例では、ネットワークNW10上で送信された各パケットは、特定の適用例および全体的な設計制約に応じて1つまたは複数のフレームを含み得る。
【0033】
[0086]オーディオエンコーダAE10は、可変レートまたは単一固定レートのエンコーダであってよい。可変レートエンコーダは、オーディオコンテンツに応じて(たとえば、音声が存在するかどうかおよび/またはどのタイプの音声が存在するかに応じて)、複数のエンコーダモード(たとえば、異なる固定レート)の間でフレームからフレームに動的に切り替え得る。オーディオデコーダAD10はまた、対応する方式において、対応するデコーダモードの間でフレームからフレームに動的に切り替え得る。受信端末104において許容できる信号再生品質を維持しながら、可能な最低のビットレートを各フレームが達成するために、特定のモードが選択され得る。
【0034】
[0087]オーディオエンコーダAE10は、一般に、入力信号を一連の重複しない時間のセグメントすなわち「フレーム」として処理し、新しい符号化されたフレームが、各フレームに対して計算される。フレーム期間は、概して、信号が局所的に静止していることが予測され得る期間であり、一般的な例は、20ミリ秒(16kHzのサンプリングレートで320サンプル、12.8kHzのサンプリングレートで256サンプル、または8kHzのサンプリングレートで160サンプルに相当)と10ミリ秒とを含む。また、入力信号を一連の重複するフレームとして処理するようにオーディオエンコーダAE10を実装することが可能である。
【0035】
[0088]
図1Bは、フレームエンコーダFE10を含むオーディオエンコーダAE10の実装形態AE20のブロック図を示す。フレームエンコーダFE10は、入力信号の一連のコアオーディオフレームCFの各々を符号化して、一連の符号化されたオーディオフレームEFのうちの対応する1つを作成するように構成される。オーディオエンコーダAE10はまた、入力信号をフレームに分割することおよびフレームエンコーダFE10に対するコーディングモードを選択することなど、追加のタスクを実行するように実装され得る。コーディングモード(たとえば、レート制御)を選択することは、音声活動検出(VAD)を実行することおよび/またはそれ以外にフレームのオーディオコンテンツを分類することを含むことがある。この例では、オーディオエンコーダAE20はまた、コアオーディオフレームCFを処理して、音声活動検出信号VS(たとえば、3GPP TS26.104v10.0.0、2011年3月、ETSIで入手可能、に記載されている)を作成するように構成された音声活動検出器VAD10を含む。
【0036】
[0089]フレームエンコーダFE10は、一般に、(A)フィルタを記述するパラメータのセット、および(B)記述されたフィルタを駆動してオーディオフレームの合成された再生を作成するためにデコーダにおいて使用される励振信号、として入力オーディオ信号の各フレームを符号化するソースフィルタモデルに従って実装される。音声信号のスペクトルエンベロープは、一般に、声道(たとえば、喉および口の)の共鳴を表し、ホルマントと呼ばれるピークによって特徴づけられる。たいていの音声コーダは、少なくともこの粗いスペクトル構造をフィルタ係数などのパラメータのセットとして符号化する。残りの残留信号は、フィルタを駆動して音声信号を作成し、一般にその強度およびピッチによって特徴づけられるソース(たとえば、声帯によって作成される)としてモデル化され得る。
【0037】
[0090]
図3は、前処理モジュールPP10と、線形予測コーディング(LPC)分析モジュールLA10と、開ループピッチ探索モジュールOL10と、適応コードブック(ACB:adaptive codebook)探索モジュールAS10と、固定コードブック(FCB:fixed codebook)探索モジュールFS10と、利得ベクトル量子化(VQ)モジュールGV10とを含むフレームエンコーダFE10の基本的実装形態FE20のブロック図を示す。前処理モジュールPP10は、たとえば、3GPP TS26.190 v10.0.0の5.1節に記載されているように実装され得る。1つのそのような例では、前処理モジュールPP10は、コアオーディオフレーム(たとえば、16kHzから12.8kHzまで)のダウンサンプリングすることと、ダウンサンプリングされたフレームを(たとえば、50Hzの遮断周波数で)ハイパスフィルタ処理することと、フィルタ処理されたフレームのプリエンファシス(たとえば、一次ハイパスフィルタを使用)とを実行するように実装される。
【0038】
[0091]線形予測コーディング(LPC)分析モジュールLAN10が、各コアオーディオフレームのスペクトルエンベロープを線形予測(LP)係数(たとえば、全極型フィルタ1/A(z)の係数)のセットとして符号化する。一例では、LPC分析モジュールLA10は、各20ミリ秒フレームのホルマント構造を特徴づけるための16個のLPフィルタ係数のセットを計算するように構成される。分析モジュールLA10は、たとえば、3GPP TS26.190 v10.0.0の5.2節に記載されているように実装され得る。
【0039】
[0092]分析モジュールLA10は、各フレームのサンプルを直接分析するように構成され得、またはサンプルは、最初に、ウィンドウイング関数(たとえば、ハミングウィンドウ)に従って重み付けされ得る。また、分析は、30ミリ秒ウィンドウなど、フレームよりも大きいウィンドウにわたって実行され得る。このウィンドウは、対称(たとえば、このウィンドウが、20ミリ秒フレームの直前および直後に5ミリ秒を含むように、5−20−5)であるか、または非対称(たとえば、このウィンドウが、先行するフレームの最後の10ミリ秒を含むように、10−20)であり得る。LPC分析モジュールは、一般に、Levinson−Durbin再帰またはLeroux−Gueguenアルゴリズムを使用してLPフィルタ係数を計算するように構成される。LPC符号化は音声に好適であるが、それはまた、一般的なオーディオ信号(たとえば、音楽などの非音声を含む)を符号化するためにも使用され得る。別の実装形態では、分析モジュールは、LPフィルタ係数のセットの代わりに、各フレームについてケプストラム係数のセットを計算するように構成され得る。
【0040】
[0093]線形予測フィルタ係数は、一般に、効率的に量子化することが困難であり、通常、量子化および/またはエントロピー符号化のために、線スペクトル対(LSP)もしくは線スペクトル周波数(LSF)、またはイミッタンススペクトル対(ISP)もしくはイミッタンススペクトル周波数(ISF)など、別の表示にマッピングされる。一例では、分析モジュールLA10は、LPフィルタ係数のセットを対応するISFのセットに変換する。LPフィルタ係数の他の1対1の表現は、PARCOR係数とログ面積比(log-area-ratio)の値とを含む。一般に、LPフィルタ係数のセットとLSF、LSP、ISF、またはISPの対応するセットとの間の変換は可逆であるが、実施形態は、変換が可逆でなく誤差がない分析モジュールLA10の実装形態をも含む。
【0041】
[0094]分析モジュールLA10は、ISF(またはLSFもしくは他の係数表示)のセットを量子化するように構成され、また、フレームエンコーダFE20は、この量子化の結果をLPCインデックスXLとして出力するように構成される。そのような量子化器は、一般に、入力ベクトルをテーブルまたはコードブック中の対応するベクトルエントリへのインデックスとして符号化するベクトル量子化器を含む。
【0042】
[0095]フレームエンコーダFE20はまた、適応コードブック探索モジュールAS10においてピッチ分析を簡素化し、閉ループピッチ探索の範囲を縮小するために使用され得る、随意の開ループピッチ探索モジュールOL10を含む。モジュールOL10は、量子化されないLPフィルタ係数に基づく重み付けフィルタを介して入力信号をフィルタ処理し、重み付けされた信号を2つまで間引きし、(現在のレートに応じて)フレーム当たり1回または2回、ピッチ推定を作成するように実施され得る。モジュールOL10は、たとえば、3GPP TS26.190 v10.0.0の5.4節に記載されているように実装され得る。
【0043】
[0096]適応コードブック(ACB)探索モジュールAS10は、ピッチフィルタの遅延と利得とを作成するために(過去の励振に基づく、「ピッチコードブック」とも呼ばれる)適応コードブックを探索するように構成される。モジュールAS10は、(たとえば、量子化されたおよび量子化されないLPフィルタ係数に基づいて重み付けされた合成フィルタを介してLP残差をフィルタ処理することによって得られるような)目標信号上のサブフレームベースで開ループピッチ推定周りの閉ループピッチ探索を実行し、次いで、示されたわずかなピッチラグにおいて過去の励振を内挿することによって適応コードベクトルを計算し、ACB利得を計算するように実装され得る。モジュールAS10はまた、(特に64サンプルのサブフレームサイズより小さい遅延に対して)LP残差を使用して過去の励振バッファを拡大し、閉ループピッチ探索を簡素化するように実装され得る。モジュールAS10は、(たとえば、各サブフレームに対する)ACB利得と、第1のサブフレームのピッチ遅延(または現在のレートに応じて第1および第3のサブフレームのピッチ遅延)および他のサブフレームの相対的ピッチ遅延を示す量子化されたインデックスとを作成するように実装され得る。モジュールAS10は、たとえば、3GPP TS26.190 v10.0.0の5.7節に記載されているように実装され得る。
【0044】
[0097]固定コードブック(FCB)探索モジュールFS10は、適応コードベクトルによってモデル化されない励振の部分を表す固定コードブック(「革新コードブック」、「革新的コードブック」、「確率論的コードブック」、または「代数的コードブック」とも呼ばれる)のベクトルを示すインデックスを作成するように構成される。モジュールFS10は、コードブックが必要でないように、(たとえば、パルスの位置および符号を表す)FCBベクトルを再生するのに必要なすべての情報を含むコード語としてコードブックインデックスを作成するように実装され得る。モジュールFS10は、たとえば、3GPP TS26.190 v10.0.0の5.8節に記載されているように実装され得る。
【0045】
[0098]利得ベクトル量子化モジュールGV10は、各サブフレームに対する利得を含み得るFCBおよびACBの利得を量子化するように構成される。モジュールGV10は、たとえば、3GPP TS26.190 v10.0.0の5.9節に記載されているように実装され得る。
【0046】
[0099]コードブックベースの手法の代替として、変換ベースの手法が、LPC残留信号を符号化するために使用され得る。たとえば、変形離散コサイン変換(MDCT)は、残差を符号化して、Calliope超広帯域コーデック(QUALCOMM社、カリフォルニア州サンディエゴ)およびAMR−WB+コーデックのTCXオプションにおけるような、MDCT係数のセットを含むパラメータにするために使用され得る。別の例では、変換ベースの手法は、LPC分析を実行することなくオーディオ信号を符号化するために使用される。
【0047】
[00100]
図5Aに、タスクT200とT300とを含む一般的構成による、オーディオ信号処理の方法M100のフローチャートを示す。タスクT200は、オーディオ信号内でオーディオ信号の第1のフレーム(たとえば、クリティカルフレーム)に後続する、オーディオ信号の第2のフレーム(「後続フレーム」または「キャリアフレーム」)に対する決定メトリックの少なくとも1つの値を計算する。決定メトリックの少なくとも1つの計算された値に基づいて、タスクT300は、複数の再割振り候補の中の1つを選択し、選択された再割振り候補は、後続フレームに対する初期ビット割振りTの、第1の部分および第2の部分への再割振りを示す。典型的な適用例では、初期ビット割振りTの第1の部分は、次いで、後続フレームのコピーを搬送するために使用され、初期ビット割振りの第2の部分は、クリティカルフレームの冗長コピーを搬送するために使用される。
【0048】
[00101]キャリアフレームもまたクリティカルフレーム(すなわち、それに後続する別のフレームに対してクリティカル)となる尤度を低減することが望ましい。一般に、この尤度は、クリティカルフレームの直後にくるフレームに対して最高であり、後続の諸フレームに対して急速に低下する。有声音声に対して、トークスパートにおけるオンセットフレームがクリティカルであること、およびそれの直後にくるフレームもまた、(たとえば、オンセットフレームが失われた場合にカバーするために)クリティカルであることが一般的である。しかしながら、トークスパートにおける別のフレームが(たとえば、ピッチラグ(pitch lag)が変動する場合に)クリティカルとなることも起こり得る。
【0049】
[00102]フレームオフセットkは、クリティカルフレームとキャリアフレームとの間の距離を示すために使用され得る。そのような一例では、フレームオフセットkの値は、クリティカルフレームnとキャリアフレーム(n+k)との間のフレーム数の差(たとえば、介在するフレームの数より1多い)である。
図6Aは、kの値が3である典型的な例を示す。別の例では、kの値は4である。他のあり得る値は、1、2、3、5、および5より大きい整数を含む。
【0050】
[00103]方法M100は、(たとえば、システム実装の間または呼設定の間)オフセットkが固定されるように実施され得る。kの値は、元の時間領域信号および最大許容遅延内の(たとえば、ミリ秒の単位の)フレームの長さに従って選択され得る。たとえば、kの値は、(たとえば、フレーム遅延を制限するために)最大許容値によって制約され得る。最大許容遅延が80または100ミリ秒の値を有することが望ましい。そのような場合、kは、20ミリ秒フレームを使用するスキームに対して4もしくは5の最大値、または10ミリ秒フレームを使用するスキームに対して8、9もしくは10の最大値を有し得る。
【0051】
[00104]オフセットkの値はまた、(たとえば、受信機からのフィードバックによって示される)チャネル状態に従って、呼の間に選択されおよび/または更新され得る。たとえば、連続するフレームの頻繁なロスを(たとえば、長いフェードによって)引き起こしている環境において、より大きいkの値を使用することが望ましい。
【0052】
[00105]受信端末104はまた、チャネル状態情報120を送信端末102にフィードバックすることができる。1つのそのような例では、受信端末104は、送信端末102からパケットを搬送する送信チャネルの品質に関連する情報を収集するように構成される。受信端末104は、収集された情報を使用してチャネルの品質を推定する。次いで、収集された情報および/またはチャネル品質推定は、チャネル状態情報として送信端末102にフィードバックされ得る。
【0053】
[00106]
図4は、送信チャネルTC10およびRC10を介してネットワークNW10上で通信する、送信端末102の実装形態112および受信端末104の実装形態114の一例を示すブロック図である。この例では、受信端末114は、(たとえば、オーディオデコーダAD10から)収集された情報および/または品質推定を送信用のパケットにアセンブルし、送信機TX10のインスタンスTX20および送信チャネルRC10を介して送信端末112に戻すチャネルエンコーダCE10のインスタンスCE20を含み、送信端末112で、パケットは受信機RX10のインスタンスRX20によって受信され、チャネルデコーダCD10のインスタンスCD20によって逆アセンブルされ、情報および/または推定がオーディオエンコーダAE10に供給される。送信端末112(たとえば、オーディオエンコーダAE10)は、このチャネル状態情報を使用して、本明細書で説明する送信側ベースのパケットロス復元方式に関連する1つまたは複数の機能(たとえば、オフセットおよび/またはクリティカリティ閾値)に適合させ得る。
【0054】
[00107]オフセットkは、フレームの主コピーの送信時間とフレームの冗長コピーの送信時間との間の間隔の長さを示す。通常、パケット交換ネットワーク内のパケットロスはバースト的であり、バースト長は、異なるネットワーク状態の下で異なることがある。したがって、動的に調節されるオフセットを使用することが、よりよい誤り保護性能をもたらし得る。最適なオフセットは、受信機によって送られたチャネル状態情報を使用して推定され得る。たとえば、オフセット値は、チャネル状態に基づいて、(たとえば、実行時に)適応的に調節され得る。代替として、オフセット値はあらかじめ決定されてもよい。
【0055】
[00108]一例では、タスクT200は、フレームからの情報に基づく開ループ決定メトリックDを計算する。
図5Bに、メトリック計算タスクT200のそのような実装形態T210を含む方法M100の実装形態M200のフローチャートを示す。タスクT210は、開ループメトリックDを、たとえば、後続フレームの圧縮率の尺度として計算するように実施され得る。そのような尺度は、互いに後続するフレームのサブフレームの相関として、(たとえば、サブフレームのすべての可能なラグ値およびすべての対(またはすべての隣接する対))にわたる最大相関、またはサブフレームの各対に対する(または各隣接する対に対する)すべての可能なラグ値にわたる最大相関の平均値として)計算され得る。そのような尺度は、フレームの圧縮率の静的尺度であるものと見なされてよい。メトリックDの1つのそのような例は、長さSの2つのサブフレームv
iとv
jとの間のラグpにおける相関の尺度R
ijpであり、R
ijpは、
【数1】
【0057】
[00109]1つのそのような例では、20ミリ秒フレームが、それぞれ、長さ53、53および54サンプルの3つのサブフレームに分割される。別のそのような例では、20ミリ秒フレームが、4つの5ミリ秒サブフレームに分割される。メトリックDは、たとえば、Dの高い値が圧縮可能なフレームを示し、Dの低い値が圧縮に対して
抵抗性のあるフレームを示すように選択され得る。
【0058】
[00110]タスクT300は、決定メトリックの少なくとも1つの計算された値に基づいて、複数の再割振り候補の中の1つを選択する。
図5Cは、方法M200の実装形態M210のフローチャートを示す。方法M210は、比較タスクT310を含み、閾値V
1〜V
Mのセットを通してループするように構成されたループとして、タスクT300の実施態様を含む。タスクT310は、Dの値と、閾値のセットのうちの現在の閾値とを比較する。この非限定的な例では、閾値のセットは、1〜(M−1)のすべての整数qに対してV
q≦V
q+1となるように順序付けられ、ループは、値V
Mにおいて開始するように構成される。一例では、Mの値は3であるが、他の可能な値は、2、4、5および5より大きい整数を含む。
【0059】
[00111]再割振りインデックスmに対して1の値で開始すると、
図5Cに示すループは、Dの値が閾値V
mより小さくない(代替として、より大きい)mの値を選択する。典型的な適用例では、後続フレームのコピーおよびクリティカルフレームの冗長コピーが、選択されたインデックスmの値によって示される再割振り候補に従って、初期ビット割振りTに符号化される。
【0060】
[00112]再割振り候補の各々は、少なくとも後続フレームおよびクリティカルフレームの中の初期ビット割振りの分配を示す。たとえば、各分配N
mは、初期ビット割振りTを、クリティカルフレームに対するN
mビットの割振りと、後続フレームに対する(T−N
m)ビットの割振りとに分離することを示し得る。他の場合には、分配が、別のフレームおよび/または同様に他の情報を符号化するために、Tビットの全割振りのうちの一部の割振りを示すことが可能である。
【0061】
[00113]
図6Bは、閾値V
1〜V
Mで規定される決定メトリックDの値の範囲、ならびにこれらの範囲の各々と、第1(キャリア)の部分および第2(冗長)の部分の中の初期ビット割振りTの複数の分配のうちの異なる1つとの間の対応を示す。この例では、分配の各々は、数N
1〜N
Mで規定され、数N
1〜N
Mは、第2の部分におけるビット数、または第2の部分に符号化されるべきフレームに対するビットレートを示し得る(この例はまた、以下で説明するフォールバック分配N
0も含む)。メトリックDは、たとえば、Dの高い値が圧縮可能なフレームを示し、Dの低い値が圧縮に対して
抵抗性のあるフレームを示すように選択され得る。この場合、圧縮可能なフレームを示すDの値(すなわち、高いDの値)に対して、低いレート(すなわち、小さい冗長部分)で十分であり得る。圧縮に対して抵抗性のあるフレームを示すDの値(すなわち、この例では低いDの値)に対して、より高いレート(すなわち、より大きい冗長部分)が望ましい。方法M210の制限されない例では、再割振り候補のセットは、1〜(M−1)のすべての整数pに対してN
p≦N
p+1であるように順序付けられる。
【0062】
[00114]大部分のクリティカルフレームに対して、方法M210におけるループは、M回より少ない回数で繰り返され得ることを明確に留意されたい。たとえば、大部分のクリティカルフレームに対して、十分な再割振り候補が識別される前にセット内のあらゆる閾値に対して方法が実行する必要がないように方法M200を実施すること(たとえば、適切な決定メトリックと閾値のセットとを選択すること)が望ましい。
【0063】
[00115]セット内のすべての閾値に対してタスクT310が失敗する場合、方法M210は、クリティカルフレームの冗長コピーは送信され得ないものと判断し得る。代替として、方法M210は、
図6Bに示すフォールバックの場合を含むように実施され得る。
図6Cは、再割振りインデックスmに対してMの値で開始するように構成された、選択するタスクT300の代替実装形態T320を含む、ループを有する方法M200の実装形態M220のフローチャートを示す。方法M220はまた、
図6Bに示すフォールバックの場合を示すように実施され得る。
【0064】
[00116]
図5Cおよび
図6Cに示す特定のループ構造、ならびにメトリックDの値の範囲と初期ビット割振りの再割振りとの間の特定の対応は例示のためだけであり、任意の適切な選択ループ、ならびに決定メトリックの閾値V
1〜V
Mの順序付けられたセットの要素と冗長部分再割振りN
1〜N
Mの順序付けられたセットの対応する要素との間の任意の適切な対応が使用されてよいことが理解されよう。上記で説明した決定メトリックDの開ループの例は例示のためだけであり、決定メトリックを再割振りと組み合わせる開示された原理は、クリティカルフレームの冗長コピーを収容するためにキャリアフレームのビットレートを低減することに対する知覚品質の影響を測定する任意の決定メトリック(たとえば、開ループまたは閉ループ)に適用され得ることにも留意されたい。
【0065】
[00117]クリティカルフレームに後続する1つまたは複数のフレームからの情報に基づいて、フレーム(n+k)を選択するように(たとえば、オフセットkに対する値を選択するように)方法M100を実施することが望ましい。そのような場合、クリティカルフレームがチャネル内で失われない場合に知覚品質の影響を最小にするようにフレーム(n+k)を選択することが望ましい。たとえば、最大遅延制約Kを仮定して、最も圧縮可能な後続フレームをフレーム(n+k)として選択することが望ましい。
図7Aは、メトリック計算タスクT200の実装形態T220を含む方法M100の実装形態M300のフローチャートを示す。タスクT220は、オーディオ信号内でクリティカルフレームに後続する複数のフレームの各々に対して決定メトリックの少なくとも1つの値を計算する。方法M300はまた、複数の再割振り候補の中の1つと複数の後続フレームの中の1つとを(たとえば、対応するオフセットkの値を選択することによって)選択するタスクT300の実装形態T350を含む。
【0066】
[00118]
図7Bは、方法M300の実装形態M310のフローチャートを示す。方法M310は、計算タスクT230を含むループとしてタスクT220の実装形態を含む。タスクT230は、オフセットkの現在の値によって示されるフレームに対して本明細書で説明する決定メトリックDの値を計算する。方法M310はまた、比較タスクT330を含み、閾値V
1〜V
Mのセットを通して逆順にループするように構成されたループとして、タスクT350の実施態様を含む。この非限定的な例では、閾値のセットは、1〜(M−1)のすべての整数qに対してV
q≦V
q+1となるように順序付けられ、タスクT230を含むループは値k=1において開始するように構成され、タスクT330を含むループは、値V
Mにおいて開始するように構成される。セット内のすべての閾値に対してタスクT330が失敗する場合、方法M310は、クリティカルフレームの冗長コピーは、オフセットkに対して送信され得ないものと判断し得る。セット内のすべての閾値に対しておよびすべてのkの値に対してタスクT330が失敗する場合、方法M310は、クリティカルフレームの冗長コピーは送信され得ないものと判断し得る。代替として、方法M310は、フォールバックとしてオフセットkのデフォルト値(たとえば、3または4)を含むように実施され得る。
【0067】
[00119]大部分のクリティカルフレームに対して、タスクT330は、K個のフレームより少ないフレームの各々に対して、決定メトリックの値と閾値のセットのMの値とを比較し得ることを明確に留意されたい。たとえば、大部分のクリティカルフレームに対して、十分なフレームおよび再割振り候補が識別される前にK個の後続フレームの1つずつに対して方法が実行する必要がないように、方法M300を実施すること(たとえば、適切な決定メトリックと閾値のセットとを選択すること)が望ましい。Mが1に等しく(たとえば、唯一の閾値)、Kが1より大きい(たとえば、複数の可能なオフセット)ように方法M300(たとえば、M310)を実施することも可能である。
【0068】
[00120]後続フレームの複数のK個のフレームのすべてに対して、閾値およびM個の再割振り候補の同じセットが使用されことが考えられるが、異なる後続フレームに対して異なる閾値のセットおよび/または再割振り候補を(たとえば、後続フレームの音声モードおよび/または他の特性に従って)使用することも可能であり、そのような場合は、再割振り候補の各セットが要素Mの異なるそれぞれの数を有することが可能である。
【0069】
[00121]別の例では、タスクT200は、閉ループ決定メトリックに対する値のセットを計算するように実施される。この例では、計算された各値は、後続フレームのそれぞれの符号化されたバージョンからの情報に基づく尺度など、圧縮率の動的尺度に基づく。
図8Aに、メトリック計算タスクT200のそのような実装形態T250を含む方法M100の実装形態M400のフローチャートを示す。タスクT250は、たとえば、知覚品質の尺度に基づいて決定メトリックを計算するように実施され得る。そのようなメトリックは、キャリアフレームの知覚品質における関連する変化(たとえば、減少)の尺度として、各再割振り候補に対して計算され得る。たとえば、そのようなメトリックは、(A)すべての初期ビット割振りTを使用して符号化されるときのキャリアフレームの知覚品質の尺度と(B)初期ビット割振りのキャリア部分だけを使用して符号化される時のキャリアフレームの知覚品質の尺度との間の差(たとえば、絶対値の差)または比として計算され得る。
【0070】
[00122]
図8Bは、方法M400の実装形態M410のフローチャートを示す。方法M410は、計算サブタスクT260を有し、再割振りインデックス1〜Mのセットを通ってループするように構成されたループとして、タスクT250の実装形態を含む。タスクT260は、フレーム(n+k)および現在のインデックス値によって示される再割振り候補に対する決定メトリックの値D
mを計算する。この例では、D
m=|Q(T)−Q(T−N
m)|であり、ここで、Q(x)はxビットを使用して符号化されるときのフレーム(n+k)の知覚品質の尺度である。尺度D
mのそのような例はまた、フレーム(n+k)に対する分配N
mの品質コストと見なされてよく、他のそのような(たとえば、Tビットを使用して符号化されるときのフレーム(n+k)の品質に対する)品質コストもまた使用されてよい。
【0071】
[00123]圧縮率の尺度Q(x)は、フルリファレンスメトリック、ノーリファレンスメトリック、または低減リファレンスメトリックであってよい。尺度Q(x)の例は、知覚的に重み付けされたひずみの尺度(たとえば、ITU−T勧告861頁に記載されている、計測正規化ブロック(measuring normalizing block)すなわちMNBアルゴリズムの、拡張修正Barkスペクトル距離(enhanced modified Bark spectral distance)すなわちEMBSD)と、元の信号および符号化された信号上の(たとえば、隠れマルコフモデルを適用する)音声認識器のワード誤り率出力と、推定された平均オピニオン評点(MOS)にマッピングされ得るR値を作成するEモデル(たとえば、ITU−T勧告G.107およびG.108に記載されている)の1バージョンとを含む。Q(x)に対して使用され得るメトリック(たとえば、目的メトリック(objective metric))の他の例は、信号対雑音比(SNR)と、知覚的に重み付けされたSNR(たとえば、フレーム(n+k)のLP係数を使用して重み付けされる)と、セグメント化されたSNRと、知覚的に重み付けされたセグメント化されたSNRと、ケプストラル距離と、Barkスペクトラル距離とを含む。Q(x)に対して使用され得る目的メトリックのさらなる例は、知覚的音声品質尺度(PSQM)(たとえば、ITU−T勧告861頁に記載されている)と、そのような尺度によって作成されるときの雑音擾乱推定器(noise disturbance estimator)と、たとえば、ITU−T勧告861頁および862頁(たとえば、PSQMおよびPSQM+、音声品質の知覚評価、PESQ)において記載されている他のメトリックとを含む。別の例では、決定メトリックD
mは、SNR、または知覚的に重み付けされたSNRとして計算され、信号量は、Tビットを使用して符号化されたバージョンから復号されるときのフレーム(n+k)のエネルギーに基づき、雑音量は、信号品質と、(T−N
m)ビットを使用して符号化されたバージョンから復号されたフレーム(n+k)との間の差のエネルギーに基づく。
【0072】
[00124]方法M410はまた、比較サブタスクT340を有し、決定メトリック値D
1〜D
Mの計算されたセットを通してループするように構成されたループとして、タスクT300の実施態様を含む。タスクT340は、閾値Zと、決定メトリック値のセットのうちの現在の値とを比較する。この非限定的な例では、決定メトリック値のセットは、1〜(M−1)のすべての整数pに対してD
p≦D
p+1であるように順序付けられる。一例では、Mの値は3であるが、他の可能な値は、2、4、5および5より大きい整数を含む。
【0073】
[00125]再割振りインデックスmに対して1の値で開始すると、タスクT340を含むループは、D
mの値が閾値Zより大きくない(代替として、小さい)mの第1の値を選択する。方法M400は、フレーム(n+k)のコピーと、再割振り候補Nmによるクリティカルフレームの冗長コピーとを符号化することによるそのような選択を適用するように実施され得る。セット内のすべての閾値に対してタスクT340が失敗する場合、方法M410は、クリティカルフレームの冗長コピーは送信され得ないものと判断し得る。代替として、方法M410は、フォールバックの場合(たとえば、デフォルト再割振り)を含むように実施され得る。
【0074】
[00126]大部分のクリティカルフレームに対して、タスクT340は、決定メトリックのM個の値のすべてより少ない値と閾値Zとを比較し得ることを明確に留意されたい。たとえば、大部分のクリティカルフレームに対して、そのフレームに対する十分な再割振りが識別される前にM個の値の1つずつを方法が試験する必要がないように方法M400を実施すること(たとえば、適切な決定メトリックと、閾値と、再割振り候補のセットとを選択すること)が望ましい。
【0075】
[00127]
図9Aは、単一のループがタスクT260とT340の両方を包含する方法M400の代替実装形態M420のフローチャートを示す。
図9Bは、再割振りインデックスmに対してMの値で開始するように構成された、代替ループ構造を有する方法M400の実装形態M430のフローチャートを示す。方法M420およびM430はまた、フォールバックの場合(たとえば、デフォルト再割振り)を含むように実施され得る。
図8B、
図9Aおよび
図9Bに示す特定のループ構造は例示のためだけであり、任意の適切な選択ループが方法M400を実施するために使用されてよいことが理解されよう。
【0076】
[00128]方法M300に関連して本明細書で説明するものと同様にして、クリティカルフレームに後続する1つまたは複数のフレームからの情報に基づいてオフセットkの値を選択するように方法M400を実施することが望ましい。そのような場合には、クリティカルフレームがチャネル内で失われない場合に知覚品質の影響を最小にするようにオフセットkに対して適切な値を決定することが望ましい。たとえば、最大の遅延制約Kを仮定して、品質の変更(change-of-quality)閾値Zを満足するためのkの値を選択することが望ましい。
【0077】
[00129]
図10Aに、メトリック計算タスクT250の実装形態T270を含む方法M400のそのような実装形態M500のフローチャートを示す。タスクT270は、オーディオ信号内でクリティカルフレームに後続する複数のフレームの各々に対して決定メトリックの値のセットを計算する。方法M500はまた、複数の再割振り候補の中の1つと複数の後続フレームの中の1つとを(たとえば、対応するオフセットkの値を選択することによって)選択するタスクT350のインスタンスを含む。
【0078】
[00130]
図10Bは、方法M500の実装形態M510のフローチャートを示す。方法M510は、計算タスクT260のインスタンスT280を含むループとしてタスクT270の実装形態を含む。このループは、オフセットkの現在の値によって示されるフレームに対する、本明細書で説明する決定メトリックの値D
1〜D
Mのセットを計算する。このループはまた、本明細書で説明する比較タスクT340のインスタンスとともにタスクT350を実施する。この非限定的な例では、ループは、オフセットインデックスkと再割振りインデックスmの両方を値1で初期化するように構成される。
【0079】
[00131]後続フレームの複数のK個のフレームのすべてに対して、同じ閾値ZおよびM個の再割振り候補の同じセットが使用されことが考えられるが、異なる後続フレームに対して異なる閾値Zおよび/または再割振り候補の異なるセットを(たとえば、後続フレームの音声モードおよび/または他の特性に従って)使用することも可能であり、そのような場合は、再割振り候補の各セットが要素Mの異なるそれぞれの数を有することが可能である。
【0080】
[00132]大部分のクリティカルフレームに対して、タスクT340は、決定メトリックの各値D
mと、K個の後続フレームより少ないフレームの各々に対する閾値Zとを比較し得ることを明確に留意されたい。たとえば、大部分のクリティカルフレームに対して、そのフレームに対する後続フレームおよび十分な再割振りが識別される前にK個の後続フレームの1つずつに対して方法が実行する必要がないように方法M500を実施すること(たとえば、適切な決定メトリックと、閾値と、再割振り候補のセットとを選択すること)が望ましい。
【0081】
[00133]方法M510は、フレーム(n+k)に対するすべての再割振り候補に対してタスクT340が失敗する場合、フレームがTビットを使用して符号化されるように、実施され得る。すべての候補フレームにわたってすべての再割振り候補に対してタスクT340が失敗する場合、方法M510は、クリティカルフレームの冗長コピーは送信され得ないものと判断し得る。代替として、方法M510は、フォールバックとしてオフセットkのデフォルト値(たとえば、3または4)と再割振りインデックスmとを含むように実施され得る。
図11A、
図11Bおよび
図12は、代替ループ構造を有する方法M500の類似の実装形態M520、M530およびM540のフローチャートを、それぞれ示す。別の非限定的な変形形態では、方法M510のループ構造は、内部ループがk(たとえば、フレーム)の値を通して反復し、外部ループがm(たとえば、再割振り候補)の値を通して反復するように再構成される。
【0082】
[00134]方法M100は、フレームnがクリティカルフレームであると判断することに応答して実行され得る。たとえば、クリティカル(すなわち、パケットロス状態の下で復号される信号の品質にとって重要)であると確認されたオーディオ信号の各フレームに対して、方法100のインスタンスを実行することが望ましい。
図13Aに、クリティカルフレームを識別するタスクT100を含む方法M100の実装形態M110のフローチャートを示す。
【0083】
[00135]タスクT100は、フレームに対するクリティカリティ尺度の値を計算し、計算された値と閾値とを比較することによって、信号のフレームがクリティカルであることを示すように実施され得る。そのようなクリティカリティ尺度は、フレーム内の情報に基づいてよく、また、入力信号内のフレームに隣接および/または後続する1つまたは複数のフレームからの情報に基づいてもよい。タスクT100は、フレームに対して選択されたコーディングモードに基づくことができる閾値を、計算された値が超える(代替として、小さくない)とき、フレームがクリティカルであることを示すように実施され得る。タスクT100は、オーディオ信号の各フレームに対して、またはクリティカルフレーム(たとえば、有声、過渡的、またはオンセットと確認されたフレーム、初期に少なくとも最小ビットレートに割り当てられたフレームなど)に対してのみ、実行するように実施され得る。
【0084】
[00136]タスクT100は、フレームの概略的特性評価から特定のロス影響評価までに及ぶ1つまたは複数の規準に基づいてクリティカリティ尺度を計算するように実施され得る。そのような尺度は、フレーム内の情報に基づいてよく、また、入力信号内のフレームに隣接および/または後続する1つまたは複数のフレームからの情報に基づいてもよい。
【0085】
[00137]クリティカルフレームは、失われたときに、重大な品質劣化を引き起こすことがあるフレームであってよい。異なるクリティカルフレームは、異なるレベルのクリティカルな状態を有し得る。たとえば、2つのクリティカルフレームn1およびn2に対して、フレーム(n1+1)(すなわち、フレームn1の次のフレーム)がフレームn1から高度に予測可能であり、フレーム(n2+1)(すなわち、フレームn2の次のフレーム)がフレームn2にまったく依存しない場合、フレームn1を失うことが2つ以上のフレームにわたって品質劣化を引き起こすことがあるので、フレームn1はフレームn2よりクリティカルであり得る。
【0086】
[00138]タスクT100は、フレームnのコーディングタイプ(すなわち、フレームを符号化するために使用されるコーディングプロセス)、および場合によってはフレームnに隣接および/または後続する1つまたは複数のフレームの各々のコーディングタイプの表示に基づいて、クリティカリティ尺度を計算するように実施され得る。そのようなコーディングタイプの例は、コード励起線形予測(CELP:code excited linear prediction)、雑音励起線形予測(NELP:noise excited linear prediction)、プロトタイプ波形補間(PWI:prototype waveform interpolation)、またはプロトタイプピッチ周期(PPP:prototype pitch period)を含み得る。この規準の下で、たとえば、クリティカルCELPフレームは、クリティカルNELPフレームよりクリティカルであると見なされ得る。
【0087】
[00139]追加または代替として、タスクT100は、フレームnの音声モード(すなわち、フレームの音声コンテンツの分類)、および場合によってはフレームnに隣接および/または後続する1つまたは複数のフレームの各々の音声モードに基づいて、クリティカリティ尺度を計算するように実施され得る。音声モードの例は、有声と、非有声と、沈黙と、過渡的とを含み得る。「有声」の分類は、さらに、オンセットと静止とに分割され得る。過渡的の分類は、さらに、オントランジェント(on-transient)とオフトランジェント(off-transient)とに分割され得る。トークスパート内の後続フレームの符号化は、オンセットフレーム内の情報に大きく依存することがあるので、この規準の下で、たとえば、音声オンセットフレーム(トークスパート内の初期フレーム)は、静止有声フレームよりもクリティカルであり得る。一例では、タスクT100は、フレームnが音声オンセットフレームであり、後続フレーム(たとえば、フレーム(n+1)、(n+2)、または(n+3))が静止有声フレームであることの表示に応答して高度の依存を示すために、クリティカリティ尺度を計算するように実施される。
【0088】
[00140]追加または代替として、タスクT100は、フレームnの(および場合によってはフレームnに隣接および/または後続する1つまたは複数のフレームの各々の)1つまたは複数の他の特性に基づいて、クリティカリティ尺度を計算するように構成され得る。たとえば、フレームnに対するいくつかの重要なパラメータの値が前のフレームに対する対応する値と著しく(たとえば、何らかの所定の閾値より大きく)異なる場合、フレームnは、フレームnの前のフレームから容易に予測され得ず、フレームnのロスは、前のフレームよりもフレームnにより類似する後続フレームに悪影響を及ぼすことがあるので、フレームnはクリティカルフレームであり得る。
【0089】
[00141]そのような特性の1つの例は、適応コードブック(ACB)利得である。フレームnに対する低いACB利得値は、そのフレームが、それの前のフレームと著しく異なることを示し得、一方、フレームnに後続するフレーム(たとえば、フレーム(n+1)、(n+2)、または(n+3))に対する高いACB利得値は、フレームがフレームnに大きく依存することを示し得る。一例では、タスクT100は、フレームnからの情報(たとえば、励振信号)を使用して、後続フレームに対する適応コードベクトルを生成し、後続フレームの符号化されたバージョンに対するACB利得値を計算する。この例では、タスクT100は、少なくとも計算されたACB利得値に基づいてクリティカリティ尺度を計算するように実施される。
【0090】
[00142]そのような特性の別の例は、この場合は、
【数2】
【0091】
として表現され得る、知覚的に重み付けされたSNR(信号対雑音比)である。
【0092】
ここで、Lはサンプル内のフレーム長であり、cはフレームnの復号されたバージョンを知覚的に重み付けするフィルタW(z)でフィルタ処理することによって得られる知覚的に重み付けされた信号であり、eは知覚的に重み付けされた誤りである。誤りeは、たとえば、(A)W(z)フィルタ処理されたフレームnの復号バージョンと(B)W(z)フィルタ処理された、フレームnの誤り隠蔽(error-concealed)バージョン(すなわち、フレームはデコーダで利用可能ではないものと仮定する)との間の差として計算され得る。誤り隠蔽バージョンは、フレーム誤り隠蔽アルゴリズムに従って前のフレームからの情報に基づいて計算され得る。たとえば、誤り隠蔽バージョンは、3GPP TS26.091、v.10.0.0(2011年4月、「Error concealment of lost frames」、ETSIから入手可能)に記載されている手順に従って計算され得る。一例では、W(z)=A(z/γ)H(z)であり、ここで、
【数3】
【0093】
であり、a
1〜a
pはフレームnに対するLPCフィルタ係数であり、γ=0.92であり、H(z)=1/(1−0.68z
-1)である。代替例では、誤りeは、フィルタW(z)を、復号バージョンと誤り隠蔽バージョンとの間の差に適用することによって計算される。
【0094】
[00143]追加または代替として、タスクT100は、クリティカリティ尺度を、フレームnのロスが1つまたは複数の後続フレームのコーディング品質に及ぼす影響の推定として計算するように構成され得る。たとえば、クリティカリティ尺度は、フレームnに後続する1つまたは複数のフレームの各々の符号化バージョンからの情報(たとえば、フレームnおよび/または後続フレームのうちの1つまたは複数、の適応コードブック利得)に基づくことができる。追加または代替として、そのような尺度は、フレームnに後続する1つまたは複数のフレームの各々の復号バージョンの情報(たとえば、復号バージョンの知覚的に重み付けされたSNR)に基づくことができ、ここで、後続フレームは、フレームnの情報を使用せずに符号化されていた。
【0095】
[00144]フレームnに対するフレーム(n+q)のそのような尺度の一例は、
【数4】
【0096】
として表現され得、ここで、Lはサンプル内のフレーム長であり、cはフレーム(n+q)の復号バージョンを知覚的に重み付けするフィルタW(z)でフィルタ処理することによって得られる知覚的に重み付けされた信号であり、eは知覚的に重み付けされた誤りである。誤りeは、この場合、たとえば、(A)フレームnのロスなしにW(z)フィルタ処理されたフレーム(n+q)の復号バージョンと(B)フレームnの誤り隠蔽バージョンを仮定してW(z)フィルタ処理されたフレーム(n+q)の復号バージョンとの間の差として計算され得る。フィルタW(z)は、フレーム(n+q)に対するLPCフィルタ係数を使用して上記で説明したように計算され得る。代替例では、誤りeは、フィルタW(z)を、フレーム(n+q)の、正常に復号されたバージョンとロスを仮定して復号されたバージョンとの間の差に適用することによって計算される。
【0097】
[00145]タスクT100は、クリティカルフレームとしてアクティブ音声フレームだけを示すように実施され得る。代替として、タスクT100は、潜在的クリティカルフレームとして非音声フレームを考慮するように実施され得る。一般に、双方向の会話では、各当事者は、しばらくの間話をし、その間に通信システムは当事者の音声を(たとえば、その時間の半分未満で)送信し、他の時間の間休止し、その間に通信システムは沈黙または背景雑音を送信する。沈黙(または背景雑音)期間中の希発送信または不連続送信(DTX)は、会話の知覚品質にほとんど影響を及ぼさないが、セル内/セル間干渉を低減し(したがって、システム能力を潜在的に向上させ)、会話に使用されるモバイルユニットのバッテリー電源を節約する利益をもたらす。
【0098】
[00146]一般的なDTX方式は、音声活動検出(VAD)を使用する音声エンコーダによって実現される。VADを使用して、エンコーダは、背景雑音からアクティブ音声を区別することができる。1つのそのような例では、オーディオエンコーダAE10(たとえば、AE20)は、各アクティブ音声セグメント(一般に20ミリ秒の長さ)を送信のための目標ビットレートパケットで符号化するように実施され、クリティカルな背景雑音セグメント(やはり20ミリ秒の長さ)を比較的小さいサイズのパケットで表す。この小さいパケットは、沈黙を示す沈黙記述子(SID)であってよい。クリティカル背景雑音セグメントは、トークスパートに直ちに続く背景雑音セグメント、またはその特性がそれの前の雑音セグメントと著しく異なる背景雑音セグメントであり得る。他のタイプの背景雑音セグメント(または非クリティカル背景雑音セグメント)は、ゼロビットで表示されるか、削除される(blanked)か、送信されないか、または送信を抑制されることがある。出力パケットのそのようなパターン(すなわち、アクティブセグメント、次にクリティカル背景雑音セグメント、次に非クリティカル背景雑音セグメント)が、純粋に音声エンコーダの入力、またはソースに依存するとき、そのようなDTX方式は、ソース制御DTX方式と呼ばれる。
【0099】
[00147]1つまたは複数のパケット交換ネットワーク上で、端末A(たとえば、端末102などの送信ユーザ機器すなわちUE)と端末B(たとえば、端末104などの受信UE)との間の実時間音声通信を実行することが望ましい。AMRおよびAMR−WBなど、前の解法は、ビットレートを低減すること(「レート適合」とも呼ばれる)によって悪いチャネル状態に適合する。VoIP(ボイスオーバインターネットプロトコル)で使用するための次世代コーデックに対して、ビットレートの低減は、ネットワーク内の輻輳を十分に低減することを支援し得ない(たとえば、RTPオーバーヘッドに起因するため。ここで、RTPは、たとえばRFC 3550、基準64(2003年7月)、インターネットエンジニアリングタスクフォース(IETF)に記載の実時間トランスポートプロトコルである)。本明細書で説明する方法は、ボコーダにより大きいロバスト性を与え、および/またはチャネル障害によるコーデック性能問題を解決することができる。
【0100】
[00148]送信端末Aから受信端末Bへの通信チャネルの品質は、ネットワーク内のエンティティによって(たとえば、アップリンク無線チャネルのネットワークの終端におけるトランシーバ基地局によって、コアネットワーク内のトラフィック分析器によって)および/または受信端末Bによって(たとえば、パケットロス率を分析することによって)推定され得る。制御信号(たとえば、RFC 1889(1996年1月、IETF)に記載されているRTP制御プロトコル(RTCP)を使用する制御パケット)を介して、および/または別のサービス品質(QoS)フィードバック機構を介して、帯域内メッセージングを使用して、そのような情報を送信UEに伝達して戻すことが望ましい。送信端末Aは、障害のあるチャネルの下で良好な性能のために最適化される動作モード(すなわち、「チャネル認識」モード)に切り替えることによって、そのような情報を適用するように実施され得る。また、送信UEは、悪いチャネル状態が予測され得る(たとえば、管理されないネットワーク)場合、呼設定時にチャネル認識動作モードを選択するように構成され得る。
【0101】
[00149]ボコーダは、悪いチャネル状態(たとえば、パケットエラー、高いジッタなど)の表示に応答して、「チャネル障害ロバストモード」に切り替えるように実施され得る。「チャネル障害ロバストモード」において、音声コーデックは、入力信号のいくつかのクリティカルフレームを、部分的または全体的のいずれかで再送信することを選択することができる。たとえば、「チャネル障害ロバストモード」で動作する音声コーダは、フレームのクリティカリティが一定の所定の閾値を超える場合、フレームの冗長コピーを送信するように構成され得る。特定のフレームのクリティカリティは、そのフレームのロスが、エンコーダで推定されるときに復号された音声に及ぼす知覚的影響の関数として決定され得る。チャネル認識コーデックは、チャネル状態の表示に応答して、チャネル障害ロバストモードと正常な動作モード(すなわち、冗長コピーは送られない)との間を切り替えるように構成され得る。
【0102】
[00150]本明細書で説明するシステム、方法、および装置は、クリティカリティ閾値を、チャネル品質推定の関数として設定するように実施され得る。非常に良好なチャネルに対して、クリティカリティ閾値は非常に高く設定され得る。チャネル品質が劣化するにつれて、クリティカリティ閾値は引き下げられて、より多くのフレームがクリティカルであると見なされるようなる。
【0103】
[00151]
図13Bに、タスクT50を含む方法M110の実装形態M120のフローチャートを示す。タスクT50はクリティカリティ閾値を計算する。タスクT50は、送信チャネルの状態に関連する情報に基づいてクリティカリティ閾値を計算するように実施され得る。そのような情報は、以下の尺度、すなわち、パケットロス率、パケットロス比(fraction)、予測されるパケット数、ロス率毎秒、受信されたパケットカウント、ロス推定妥当性(たとえば、間隔に対して予測されるパケット数など、サンプルサイズの尺度に基づく重み尺度(weight measure))、見かけのスループット、およびジッタのうちの1つまたは複数を含み得、それらは、一連の時間間隔の各々に対して更新され得る。
【0104】
[00152]タスクT50はまた、送信チャネルの状態に関連する情報に基づいて、2つ以上の閾値を計算するように構成され得る。そのような場合には、決定タスクT100は、フレーム(および/または1つまたは複数の隣接フレーム)からの情報を使用して、適切な計算された閾値を選択するように構成され得る。たとえば、1つのクリティカリティ閾値を使用して、音声を含むものと判断されるフレームのクリティカリティを決定し、別のクリティカリティ閾値を使用して、雑音を含むものと判断されるフレームのクリティカリティを決定することが望ましい。別の例では、過渡的(たとえば、オンセット)および静止的音声フレームに対して、ならびに/あるいは有声音声および無声音声フレームに対して、異なる閾値が使用される。2つ以上のクリティカリティ閾値が使用される場合に対して、タスクT100は、フレームnに対して使用されるべき閾値に対応するクリティカリティ尺度を、2つ以上のクリティカリティ尺度の中から選択するように構成され得る。
【0105】
[00153]タスクT50が閾値を計算するために使用する情報は、以下の尺度、すなわち、パケットロス率、パケットロス比、予測されるパケット数、ロス率毎秒、受信されたパケットカウント、ロス推定妥当性(たとえば、間隔に対して予測されるパケット数など、サンプルサイズの尺度に基づく重み尺度)、見かけのスループット、およびジッタのうちの1つまたは複数を含み得、それらは、一連の時間間隔の各々に対して更新され得る。上述のように、受信機は、制御信号(RTCPメッセージングが1つのそのような制御シグナリング方法の一例である)を介して、および/または別のサービス品質(QoS)フィードバック機構を介して、帯域内メッセージングを使用して、そのような情報を送信UEに伝達して戻すように構成され得る。RTCPメッセージング(たとえばIETF仕様RFC 3550に規定される、実時間トランスポート制御プロトコル)を介して提供され得る情報の例は、送信されたオクテットカウントと、送信されたパケットカウントと、予測されるパケットカウントと、パケットロスの数および/または比率と、ジッタ(たとえば、遅延における振動)と、ラウンドトリップ遅延とを含む。
図13Cは、チャネル状態情報(たとえば、上述のような)を受信するタスクT25を含む方法M120の実装形態M130のフローチャートを示す。
【0106】
[00154]
図14Aおよび
図14Bは、チャネル状態情報、その情報に基づくクリティカリティ閾値、およびもたらされるフレームがクリティカルとして示される尤度の間の関係の例を示す。
図14Bの例では、報告されたチャネル品質は、
図14Aの報告されたチャネル品質より低い。したがって、
図14Bのクリティカリティ閾値は、
図14Aのクリティカリティ閾値より選択性が小さく、もたらされる、フレームがクリティカルとして示される尤度は、より高い。報告されるチャネル品質が低くなりすぎると、もたらされる、フレームがクリティカルとして示される尤度は、高くなりすぎることがある。
【0107】
[00155]クリティカルとして示され得るフレームの数または割合を制限することが望ましい。たとえば、悪いチャネル状態の下で元の音声コーディング品質を保存する性能を改良すること、および/または過度に包括的なクリティカリティ判断によってトリガされ得る再送信による能力ロスを阻むことをバランスさせることが望ましい。
【0108】
[00156]再送信頻度を制限するための1つの手法は、閾値が、低いキャップ値(low cap value)(すなわち、低い境界値、またはフロア値)の影響を受けるように方法M120を実施することであり、キャップ値が、フレームが再送信され得る数に対する制限を設定する。たとえば、方法M120は、計算される閾値に対して最小値を強制するように実施され得る。
図15Aに、タスクT75を含む方法M120のそのような実装形態M140のフローチャートを示す。タスクT75は、タスクT50によって作成された、計算された候補閾値と、境界値(たとえば、低いキャップ値)とを比較する。この比較の結果に基づいて、タスクT75は、(A)計算された候補閾値および(B)境界値の中の一方を選択し、それにより、タスクT75は、計算された閾値として選択された値を作成する。たとえば、タスクT75は、計算された候補値が境界値より大きい(代替として、より小さくはない)場合に計算された候補値を選択し、そうでない場合に境界値を選択するように実施され得る。そのような様式で、タスクT75は、計算された閾値がキャップ値を超える部分をクリップするように構成され得る。タスクT75はまた、比較が失敗すると(たとえば、クリッピングが発生すると)、タスクT75はそのような状態を、(たとえば、状態を記録すること、状態を基地局に報告すること、および/または別の是正措置を実行することのために)別のモジュールに示すように構成され得る。
【0109】
[00157]もちろん、代替として、クリティカリティ尺度の計算された値がクリティカリティに逆比例するようにタスクT100を実施することも可能である。そのような場合には、タスクT100は、クリティカリティ尺度が計算された閾値より低い(代替として、超えることができない)ときにフレームがクリティカルであることを示すように構成されてよく、タスクT75は、計算された閾値と高いキャップ値(すなわち、高い境界値、または天井値)とを比較(および場合によってはクリップ)するように構成され得る。
図15Bは、タスクT25とT75とを含む、方法M130およびM140の実装形態M150のフローチャートを示す。場合によっては、本明細書で説明するタスクT25、T50、およびT75のうちの1つまたは複数を伴うタスクT100(たとえば、T50+T100、T50+T75+T100、T25+T50+T100、およびT25+T50+T75+T100のうちのいずれか)は、本明細書で説明する方法M100の他の実装形態のうちのいずれかの中に(たとえば、タスクT200の前に実行するタスクとして)含まれてよいことを明確に留意されたい。
【0110】
[00158]
図16Aに、タスクT400を含む方法M100の実装形態M600のフローチャートを示す。タスクT400は、タスクT300内で選択された再割振り候補に従って、クリティカルフレームの冗長コピーを作成する。冗長コピーは、一般に、符号化された信号(すなわち、正常に符号化されたクリティカルフレームのコピー)でのクリティカルフレームの主コピーより少ないビット数を有し、主コピーの部分的または全体的ロスによってもたらされる誤りを訂正するための前方誤り訂正(FEC)動作を実行するために、デコーダによって使用され得る。タスクT400は、選択タスクT300の前に(たとえば、タスクT250としてタスクT200の実装形態内の決定メトリック計算に対する入力パラメータとして)、またはタスクT300による再割振り候補の選択に応答して、冗長コピーを作成するように実施され得る。
【0111】
[00159]上述のように、選択された再割振り候補は、冗長コピーへの再割振りをビット数としてまたはビットレートとして示し得る。
図16Bに、タスクT400の実装形態T410を含む方法M600の実装形態M610のフローチャートを示す。タスクT410は、選択された再割振り候補によって示されるように、A
Rビット長(たとえば、N
mビット)を有するクリティカルフレームの冗長コピーを作成する。
図16Cに、タスクT400の実装形態T420を含む方法M600の実装形態M620のフローチャートを示す。タスクT420は、選択された再割振り候補によって示されるように、レートr
Rで符号化されたクリティカルフレームの冗長コピーを作成する。
【0112】
[00160]一般に、冗長コピーが、後続フレームを復号するために使用され得る良好な基準(たとえば、良好な適応コードブック)を提供することが望ましい。クリティカルフレームの冗長コピーは、クリティカルフレームの主コピーのすべてのパラメータのうちのいくつかを含み得る。タスクT400は、主コピーの縮小バージョンとして冗長コピーを作成するように実施され得る。たとえば、主コピーは、周波数エンベロープ情報(たとえば、LPCまたはMDCT係数)および/またはテンポラルエンベロープ情報(たとえば、固定コードブックインデックス、固定コードブック利得、適応コードブック利得、ピッチラグ、および/またはCELPコーデックに対するピッチ利得;プロトタイプパラメータおよび/またはPWIまたはPPPコーデックに対するピッチ情報)などの構成要素を含むクリティカルフレームの符号化されたバージョンであってよい。タスクT400は、1つまたは複数のそのような構成要素の各々の一部または全部のコピーを含む冗長コピーを作成するように実施され得る。たとえば、タスクT400は、量子化されたLPCフィルタパラメータおよび/または量子化されたテンポラルエンベロープ(たとえば、励振信号)パラメータを識別する1つまたは複数のコードブックインデックスを含む冗長コピーを作成するように実施され得る。
【0113】
[00161]そのような場合には、タスクT400は、すでに計算されているクリティカルフレームの主コピーの構成要素を使用して(たとえば、複製および/または圧縮して)冗長コピーをアセンブルするように実施され得る。タスクT400は、ビット制約を満足するような方式で(たとえば、タスクT410のように)、またはレート制約に関連する構造に従って(たとえば、タスクT420のように)冗長コピーを作成するように実施され得る。そのような構造は、フレームに対してまたはフレームの1つまたは複数のサブフレームの各々に対して、上述のパラメータ(すなわち、LPCフィルタ情報、ピッチ遅延、固定/適応コードブックインデックス/利得など)などの複数のパラメータの各々に対して、指定されたビット数を含み得る。
【0114】
[00162]追加または代替として、タスクT400は、クリティカルフレームの主コピーを作成するために使用されものとは異なるコーディング方法を使用してクリティカルフレームを符号化することによって、冗長コピーの一部または全部を作成するように実施され得る。そのような場合には、この異なるコーディング方法は、一般に、クリティカルフレームの主コピーを作成するために使用される方法(たとえば、低次のLPC分析を使用する、広帯域コーデックではなく狭帯域コーデックを使用する、など)より低いレートを有する。そのような異なるコーディング方法は、異なるビットレートおよび/または異なるコーディング方式であってよい(たとえば、主コピーに対するCELPおよび冗長コピーに対するPPPまたはPWI)。
図17Aに、タスクT400の実装形態T430を含む方法M600の実装形態M630のフローチャートを示す。タスクT430は、エンコーダに、クリティカルフレームの冗長コピーを作成させる。一例では、タスクT430は、エンコーダにクリティカルフレームと指示された割振りN
m(たとえば、ビット数として、またはビットレートとして)とを供給するように実施される。
【0115】
[00163]
図17Bに、タスクT400の実装形態T440を含む方法M600の実装形態M640のフローチャートを示す。タスクT440は、フレーム(n+k)のコピーとクリティカルフレームnの冗長コピーとを作成する。タスクT400は、選択された再割振り候補に従って、後続フレームに対する初期ビット割振りTを第1の部分および第2の部分に再割振りすること、およびフレーム(n+k)のコピーと冗長コピーとを作成してそれぞれの部分に(たとえば、それぞれ(T−N
m)ビットおよびN
mビットに)適合させる。
【0116】
[00164]
図17Cに、タスクT400の実装形態T450を含む方法M600の実装形態M650のフローチャートを示す。タスクT450は、フレーム(n+k)のコピーを第1の部分に符号化し、クリティカルフレームnの冗長コピーを第2の部分に符号化する。
【0117】
[00165]一例では、初期ビット割振りTの値は253であり、その値は、たとえば12.65kbps(キロビット毎秒)のビットレートおよび20ミリ秒のフレーム長に対応する。別の例では、Tの値は192であり、その値は、たとえば9.6kbpsのビットレートおよび20ミリ秒のフレーム長に対応する。
【0118】
[00166]Tビットの割振りの分配のセットの中の1つの選択が、選択された後続フレームのビットレートの変更、およびクリティカルフレームの冗長コピーを符号化するための低ビットレート方式の選択として実施され得る。たとえば、Tビットの割振りを、クリティカルフレームの冗長コピーを搬送するためのサイズN
mビットの部分と後続フレームのコピーを搬送するためのサイズ(T−N
m)ビットの部分として分配すること(ここで、T=253およびN
m=61)が、後続フレームのビットレートを12.65kbpsの開始ビットレートから9.6kbpsの低減されたビットレートに変更することと、既存の9.6kbps方式に従って後続フレームを符号化することと、クリティカルフレームの冗長コピーを符号化するために3.05kbps方式を使用することとによって、(たとえば、AMRコーデック内で)実施され得る。
【0119】
[00167]各冗長符号化が分配のセットの中の異なる分配に対応する冗長符号化に対して、いくつかのそのような低ビットレート方式を実施することが望ましい。他の開始ビットレートの例は、8.85、8.55、6.6、6.2、4、2.7、および2kbpsを含み、それらは、それぞれ、(たとえば、20ミリ秒のフレーム長に対して)177、171、132、124、80、54および40のTの値に対応する。他の開始ビットレートのさらなる例は、23.85、23.05、19.85、18.25、15.85、14.25、および12.65kbpsを含み、それらは、それぞれ、(たとえば、20ミリ秒のフレーム長に対して)477、461、397、365、317、285および253のTの値に対応する。フレームは、たとえば、(たとえば、CELPコーディングモデルを使用して)本明細書で参照されるAMR−WBコーデックのリリース10に記載されている、そのようなレートに従って符号化され得る。
【0120】
[00168]本明細書で説明する原理は、各フレームが同じ初期ビット割振りTを受信する単一の固定ビットレート方式に適用され得る。これらの原理はまた、Tビットのフレーム割振り全体がフレームごとに変化し得る可変ビットレート方式(たとえば、マルチモードまたはマルチプル固定ビットレート方式)に適用され得る。たとえば、フレーム(n+k)を符号化するために利用可能なビット数Tは、フレームが音声または雑音を含むかどうか、またはフレームが有声音声または無声音声を含むかどうか、などに従って変化し得る。
【0121】
[00169]方法M300およびM500は、Tビットを使用して複数の後続フレーム(たとえば、ノンキャリアフレーム)のうちの少なくとも1つを符号化することを含むように実施され得る。そのような方法は、さらに、Tビットを使用して複数の後続フレームのうちのノンキャリアの後続フレームの各々を符号化することを含み得る。しかしながら、オーディオ信号が、2つの隣接するクリティカルフレームまたは場合によっては互いに接近する2つのクリティカルフレームを含むことも可能であり、それにより、1つのクリティカルフレームに関連するK個の後続フレームのセットが、他のクリティカルフレームに関連するK個の後続フレームのセットと重なる(すなわち、少なくとも1つのフレームを共通に有する)。そのような場合には、共通の後続フレームのうちの1つが、1つのクリティカルフレームの冗長コピーを搬送するために選択され得、共通の後続フレームのうちの別の1つが、他のクリティカルフレームの冗長コピーを搬送するために選択され得、それにより、これら2つの後続フレームの各々は、Tビットより少ないビットを使用して符号化される。選択された後続フレームはそれ自体がクリティカルフレームであることも可能である。いくつかの場合には、たとえば、クリティカルフレームに関連するK個の後続フレームのセットは、少なくとも1つの他のクリティカルフレームを、約20パーセントの時間に含み得ることが予測され得る。
【0122】
[00170]タスクT400は、選択タスクT300の前に(たとえば、タスクT250内の決定メトリック計算に対する入力パラメータとして)、またはタスクT300による再割振り候補の選択に応答して、フレーム(n+k)のコピーを作成するように実施され得る。
図18Aに、タスクTA10およびTB10を含む方法M610の実装形態M660のフローチャートを示す。タスクTA10は、初期ビット割振りTの表示をフレーム(n+k)に割り振られたビット数A
0として受信する。タスクTB10は、フレーム(n+k)のコピーをA
1ビット(たとえば、(T−N
m)ビット)に符号化し、ここでA
1はA
0より小さい。方法M660はまた、入力パラメータとしてTB10において符号化されたフレーム(n+k)のコピーからの情報を受信するために配列されたタスクT250のインスタンスを含む。たとえば、タスクT250は、フレーム(n+k)のコピーを使用して、本明細書で説明する品質の変更決定メトリックの1つまたは複数の値を計算するように実施され得る。
【0123】
[00171]
図18Bに、タスクTA20およびTB20を含む方法M620の実装形態M670のフローチャートを示す。タスクTA20は、初期ビット割振りTの表示をフレーム(n+k)に対するレート選択r
0として受信する。タスクTB20は、r
0より低いレートr
1に従ってフレーム(n+k)のコピーを符号化する。方法M670はまた、入力パラメータとしてタスクTB20において符号化されたフレーム(n+k)のコピーからの情報を受信するために配列されたタスクT250のインスタンスを含む。たとえば、タスクT250は、フレーム(n+k)のコピーを使用して、本明細書で説明する品質の変更決定メトリックの1つまたは複数の値を計算するように実施され得る。
【0124】
[00172]
図18Cに、タスクT500を含む方法M600の実装形態M700のフローチャートを示す。タスクT500は、後続フレーム(n+k)のコピーと、タスクT400によって作成されたクリティカルフレームnの冗長コピーとを含むパケットを作成する。
図19Aは、方法M610およびM700の実装形態M710のフローチャートを示す。
図19Bは、方法M620およびM700の実装形態M720のフローチャートを示す。パケットが、クリティカルフレームの冗長コピーを搬送していることを示す情報、オフセットkの値を示す情報、および/または再割振りされたビットの数N
mを示す情報を含むことが望ましい。代替として、そのような情報は、符号化された信号の中の他の情報からデコーダによって抽出可能であり得る。
【0125】
[00173]パケットは、1つまたは複数のフレームを含み得る。パケット長を20ミリ秒に制限することが、(たとえば、ラグを短縮するために)望ましい。
図20Aは、インターネットプロトコルバージョン4(IPv4:Internet Protocol version 4)と、ユーザデータグラムプロトコル(UDP:User Datagram Protocol)と、RTPとを含むVoIP通信に対して一般的なプロトコルスタックを使用して符号化されたパケットに対するオーバーヘッドの一例を示す。
図20Bは、IPバージョン6(IPv6)パケットに対する類似の例を示す。ペイロードサイズの例は、G.711コーデックに対する160バイトと、G.729コーデックに対する20バイトと、G.723.1コーデックに対する24バイトとを含む。本明細書で説明する冗長符号化に対するビット再割振りのための方法とともに使用され得る他のコーデックは、制限なしに、G.726、G.728、G.729A、AMR、AMR−WB、AMR−WB+(たとえば、3GPP TS 26.290 v10.0.0、2011年3月に記載されている)と、VMR−WB(3GPP2 C.S0052−0、サービスオプション62および63)と、拡張型可変レートコーデック(EVRC:Enhanced Variable Rate Codec、「Enhanced Variable Rate Codec, Speech Service Options 3,68,and 70 for Wideband Spread Spectrum Digital Systems」と題する第3世代パートナーシッププロジェクト2(3GPP2)文書C.S0014−C,v1.0、2007年2月(www−dot−3gpp−dot−orgにおいてオンラインで入手可能)に記載されている)と、選択可能モードボコーダ音声コーデック(「Selectable Mode Vocoder (SMV) Service Option for Wideband Spread Spectrum Communication Systems」と題する3GPP2文書C.S0030−0,v3.0、2004年1月(www−dot−3gpp−dot−orgにおいてオンラインで入手可能)に記載されている)と、拡張型音声サービスコーデック(EVS:Enhanced Voice Service codec、3GPP TR 22.813 v10.0.0(2010年3月)、ETSIから入手可能に記載されている)とを含む。
【0126】
[00174]
図21は、クリティカルフレームの冗長コピーとクリティカルフレームに後続するフレームのコピーとを搬送するRTPパケットに対するペイロードの一例を示す。対応するフレームタイプインジケータFTに対して1の値で示されるとき、冗長コピー(ビットr(0)〜r(176))は、AMR−WB 8.85kbpsモードで符号化され、対応するフレームタイプインジケータFTに対して0の値で示されるとき、後続フレームのコピー(ビットp(0)〜p(131))は、AMR−WB 6.6kbpsモードで符号化される。この例では、コーデックモード要求インジケータCMRは、受信端末におけるエンコーダに、8.85kbpsモードを採用するように要求し、ペイロードは、最後のオクテットを書き込むために、3つのパディングビットPで終了する。他の例では、ペイロードは、3つ以上の符号化されたフレームを含み得、および/または冗長コピーのビットは、パケット内で後続フレームのコピーのビットに先行し得る(コピーに対する対応するコンテンツ表のエントリの順序は、それに応じて切り替えられる)。
【0127】
[00175]たとえば、RTPヘッダを12バイトから4バイトに圧縮するために、ヘッダ圧縮を使用することが望ましい。RTPヘッダは、送信時間を計算するために使用され得るタイムスタンプと、順序が乱れて受信されたパケットを正しく提示するため、および/またはパケットロスを検出するために使用され得るシーケンス番号とを含む。ロバストヘッダ圧縮(ROHC:Robust Header Compression、IETF RFC 3095、RFC 3843、および/またはRFC 4815に記載されている)は、より大きい圧縮率(たとえば、1つまたは複数の、場合によってはすべてのパケットヘッダの、1〜4バイトへの圧縮)をサポートするために使用され得る。
【0128】
[00176]
図22は、オーディオデコーダAD10の実装形態AD20のブロック図である。オーディオデコーダAD20は、ボコーダの一部として、スタンドアローンエンティティとして、または受信端末104内の1つまたは複数のエンティティにわたって分配されて実装され得る。オーディオデコーダAD20はまた、VoIPクライアントの一部として実装され得る。
【0129】
[00177]オーディオデコーダAD20は、それの機能に関して以下で説明される。オーディオデコーダAD20は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せとして実装され得、それが実装される方式は、特定の適用例および全体的なシステムに課された設計制約に応じて決まる。例として、オーディオデコーダAD20は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、プログラマブルロジック、専用ハードウェア、あるいは任意の他のハードウェアおよび/またはソフトウェアベースの処理エンティティで実装され得る。
【0130】
[00178]この例では、オーディオデコーダAD20は、デジッタバッファDB10(「ジッタバッファ」とも呼ばれる)を含む。デジッタバッファDB10は、(たとえば、ネットワーク輻輳、タイミング変動、および/またはルート変更による)パケット到着時間の変動によって引き起こされるジッタを低減または除去するハードウェアデバイスまたはソフトウェアプロセスであってよい。デジッタバッファDB10は、パケット内のオーディオフレームを受信し得る。デジッタバッファDB10は、前に到着したパケットのフレームが、正しい順序(たとえば、パケットのタイムスタンプによって示される)でフレームデコーダFD20に連続的に供給され、オーディオひずみがほとんどないきれいな接続をもたらすことができるように、新しく到着するパケットを遅延させるように実施され得る。デジッタバッファDB10は、固定型または適応型であってよい。固定デジッタバッファは、パケットに固定遅延をもたらし得る。一方、適応デジッタバッファは、ネットワークの遅延の変化に適応し得る。デジッタバッファDB10は、符号化されたオーディオフレーム(たとえば、インデックスXL、XF、XGおよびXPを含む)を適切な順序でフレームデコーダFD20に供給し得る。
【0131】
[00179]フレームのコピーがデジッタバッファによって受信されない場合、フレームロスが、FECが使用されない場合に引き起こされることがある。FECが使用され、現在実行されるべきフレームのコピーが失われると、デジッタバッファDB10は、バッファ内にフレームの冗長コピーがあるかどうかを判断し得る。現在のフレームに対する冗長コピーが利用可能である場合、復号してオーディオサンプルを生成するために、冗長コピーがフレームデコーダFD20に供給され得る。
【0132】
[00180]加えて、デジッタバッファDB10は、主フレーム(すなわち、元のクリティカルフレーム)と冗長フレーム(すなわち、元のクリティカルフレームの一部または全部のコピー)とを別様に処理するために修正され得る。バッファDB10は、本明細書で説明するFEC動作を実施することに関連する平均遅延が、FEC動作が実施されないときの平均遅延より大きくならないように、これら2つのフレームを別様に処理し得る。たとえば、バッファDB10は、到来パケットが冗長コピーを含むこと(たとえば、パケットが2つのフレームを含むこと)を検出し、この検出に応答して冗長コピーの復号を開始するように実施され得る。
【0133】
[00181]デジッタバッファDB10からリリースされたオーディオフレームは、フレームデコーダFD20に供給されて、復号されたコアオーディオフレームDF(たとえば、合成音声)を生成し得る。概して、フレームデコーダFD20は、音声を復号して合成音声にする、当業界で知られている任意の方法を実行するように実施され得る。
図22の例では、フレームデコーダFD20は、
図3を参照して上記で説明した符号化方法に対応するCELP復号方法を使用する。この例では、固定コードベクトル生成器VG10は、FCBインデックスXFと、利得インデックスXGの対応する部分とを復号して、各サブフレームに対する固定コードベクトルを作成し、逆量子化器IA10およびベクトル生成器A50は、ACBインデックスXPと、利得インデックスXGの対応する部分とを復号して、各サブフレームに対する適応コードベクトルを作成し、加算器AD10は、対応するコードベクトルを組み合わせて、励振信号を作成し、メモリME10を更新する(たとえば、3GPP TS 26.190 v10.0.0の6.1節のステップ1〜8に記載されている)。逆量子化器IL10および逆変換モジュールIM10は、LPCインデックスXLを復号してLPフィルタ係数ベクトルを作成し、そのベクトルは、合成フィルタSF10によって励振に加えられて、合成信号を作成する(たとえば、3GPP TS 26.190 v10.0.0の6.1節の最初の段落およびステップ4に記載されている)。生の合成信号は、ポストフィルタPF10に供給され、PF10は、ハイパスフィルタ処理、アップスケーリング、および内挿などの動作を実行し(たとえば、3GPP TS 26.190 v10.0.0の6.2節に記載されている)、復号されたコアオーディオフレームDFを作成するように実施され得る。代替として、制限なしに、フレームデコーダFD20は、NELPまたはPPPフルフレーム復号方法を使用し得る。
【0134】
[00182]主コピーのパラメータ値のいくつか(すなわち、部分セット)を含むフレームの冗長コピーは、デジッタバッファDB10から部分フレーム復号モジュールに送られ得る。たとえば、フレームデコーダFD20は、冗長コピーが利用可能になる前に、(たとえば、上述の3GPP TS 26.091 v10.0.0に記載されている誤り隠蔽手順に従って)クリティカルフレームに対応するフレームを生成するように実施され得る。この場合、フレームデコーダFD20は、キャリアフレーム(n+k)を復号する前に、(たとえば、固定および適応コードブックインデックスならびに冗長コピーからの利得に従って)メモリME10を更新するように構成された部分フレーム復号モジュールを含み得る。
【0135】
[00183]一構成では、後続フレーム(n+k)のコピーおよびクリティカルフレームnの冗長コピーは、RTPパケットにパケット化され、受信端末104に送信される。別の構成では、後続フレームのコピーおよびクリティカルフレームの冗長コピーは、同時に生成され得るが、異なる対応するRTPパケットに詰め込まれて受信端末に送信される。どのフォーマットを使用するかの判断は、両端末の能力に基づくことがある。両フォーマットが各端末内でサポートされる場合、たとえば、より低いデータレートをサポートするフォーマットが使用され得る。
【0136】
[00184]受信機の側では、音声フレームは、デジッタバッファDB10内に記憶され得、DB10は適応型であってよい。前述のように、デジッタバッファDB10は、音声フレームに対する平均遅延がFEC技法なしの平均遅延より大きくならないように設計され得る。フレームは、デジッタバッファDB10から適切な順序でフレームデコーダ(たとえば、デコーダFD20)に送られ得る。冗長コピーが主コピーのパラメータの部分セットである場合、部分フレーム復号モジュールが使用され得る。
【0137】
[00185]本明細書で説明するソース制御(および場合によってはチャネル制御)FEC方式は、パケットロスの数を低減させ得、ロスのバースト性(burstiness)は、データレートの増加をほとんどまたはまったく伴わない。クリティカルフレーム識別は、音声知覚品質とデータレートとの間の良好なトレードオフを確実にするのを助け得る。そのようなFEC方式は、利用可能な帯域幅を効率的に使用するように、また、レガシー通信デバイスとの後方互換性があるように実施され得る。
【0138】
[00186]オーディオエンコーダAE10は、動的レート制御モジュールを含むように実施され得る。そのようなモジュールは、所定の目標レートに接近するために2つのステップを実施し得る。第1のステップでは、2つの隣接動作点が決定される。これら2つの隣接動作点は、データレートであってよく、目標データレートの値が2つの動作点の値の間にあるように選択される。目標データレートは、能力要求に基づいて外部で指定されてよい。代替として、目標データレートは、たとえば、チャネル状態情報に基づいて内部で指定されてもよい。そのようなレート制御は、事業者が能力要求に基づいてデータレートを決定し得るように、本明細書で説明するFEC方式が、任意の指定されたデータレートで遂行されることを可能にするように実施され得る。
【0139】
[00187]
図23Aは、一般的構成による装置MF100のブロック図を示す。装置MF100は、オーディオ信号内でオーディオ信号のクリティカルフレームに後続するオーディオ信号のフレーム(「後続フレーム」または「キャリアフレーム」)からの情報に基づいて、決定メトリックの少なくとも1つの値を計算するための手段F200を含む(たとえば、タスクT200を参照して本明細書で説明するように)。装置MF100はまた、複数の再割振り候補の中の1つを選択するための手段F300を含み、選択された再割振り候補は、後続フレームに対する初期ビット割振りTの第1の部分および第2の部分への再割振りを示す(たとえば、タスクT300を参照して本明細書で説明するように)。
【0140】
[00188]
図23Bは、装置MF100の実装形態MF300のブロック図を示す。装置MF300は、複数のフレームの各々に対する決定メトリックの少なくとも1つの値を計算するための手段F200の実装形態F220を含む(たとえば、タスクT220を参照して本明細書で説明するように)。装置MF300はまた、複数の再割振り候補の中の1つと複数のフレームの中の1つとを(たとえば、タスクT350を参照して本明細書で説明するように、対応するオフセットkの値を選択することによって)選択するための手段F300の実装形態F350を含む。
【0141】
[00189]
図23Cは、装置MF100の実装形態MF500のブロック図を示す。装置MF500は、決定メトリックの値の複数のセットを計算するための手段F200の実装形態F270を含む(たとえば、タスクT270を参照して本明細書で説明するように)。装置MF500はまた、手段F350のインスタンスを含む。
【0142】
[00190]
図24Aは、装置MF100の実装形態MF140のブロック図を示す。装置MF140は、クリティカリティ閾値を計算する(たとえば、タスクT50を参照して本明細書で説明するように)ための手段F50と、計算されたクリティカリティ閾値とキャップ値とを比較する(たとえば、タスクT75を参照して本明細書で説明するように)ための手段F75と、フレームnがクリティカルであると判断する(たとえば、タスクT100を参照して本明細書で説明するように)ための手段F100とを含む。
【0143】
[00191]
図24Bは、装置MF140の実装形態MF150のブロック図を示す。装置MF140は、チャネル状態情報を受信する(たとえば、タスクT25を参照して本明細書で説明するように)ための手段F25を含む。本明細書で説明するように、送信端末102と受信端末104との間の送信のために使用されるチャネル品質を示し得るチャネル状態情報は、受信端末104において収集されて推定され、送信端末102に送信して戻される。
【0144】
[00192]
図25Aに、計算器200と選択器300とを含む、一般的構成による装置A100のブロック図を示す。計算器200は、オーディオ信号内でオーディオ信号の第1のフレームに後続するオーディオ信号のフレームからの情報に基づいて、決定メトリック少なくとも1つの値を計算するように構成される(たとえば、タスクT200を参照して本明細書で説明するように)。選択器300は、決定メトリックの少なくとも1つの計算された値に基づいて複数の再割振り候補の中の1つを選択するように構成され(たとえば、タスク300を参照して本明細書で説明するように)、選択された再割振り候補は、後続フレームに対する初期ビット割振りTの、第1の部分および第2の部分への再割振りを示す。装置A100はまた、第1のフレーム(たとえば、フレームエンコーダFE20)の冗長コピーを作成するように構成されたフレームエンコーダ、後続フレームのコピーと冗長コピーとを含むパケットを作成する(たとえば、タスクT500を参照して本明細書で説明するように)ように構成されたパケットアセンブラ、および/または第1のフレームがクリティカルフレームであると判断する(たとえば、タスクT100を参照して本明細書で説明するように)ように構成されたクリティカルフレームインジケータを含むように実施され得る。
【0145】
[00193]
図25Bは、装置A100の実装形態A300のブロック図を示す。装置A300は、複数のフレームの各々に対する決定メトリックの少なくとも1つの値を計算するように構成された計算器200の実装形態220を含む(たとえば、タスクT220を参照して本明細書で説明するように)。装置A300はまた、複数の再割振り候補の中の1つと複数のフレームの中の1つとを(たとえば、タスクT350を参照して本明細書で説明するように、対応するオフセットkの値を選択することによって)選択するように構成された計算器300の実装形態350を含む。
【0146】
[00194]
図25Cは、装置A100の実装形態A500のブロック図を示す。装置A500は、決定メトリックの値の複数のセットを計算するように構成された計算器200の実装形態270を含む(たとえば、タスクT270を参照して本明細書で説明するように)。装置A500はまた、選択器350のインスタンスを含む。
【0147】
[00195]
図20Cは、装置A100(またはMF100)の要素を統合するチップまたはチップセットCS10(たとえば、移動局モデム(MSM)チップセット)を含む通信デバイスD10のブロック図を示す。チップ/チップセットCS10は、装置A100またはMF100のソフトウェアおよび/またはファームウェア部を(たとえば、命令として)実行するように構成され得る、1つまたは複数のプロセッサを含み得る。送信端末102は、デバイスD10の実装形態として実現され得る。
【0148】
[00196]チップ/チップセットCS10は、無線周波(RF)通信信号を受信し、RF信号内で符号化されたオーディオ信号を復号し、再生するように構成された受信機(たとえば、RX10)と、(たとえば、タスクT500によって作成される)符号化されたオーディオ信号を記述するRF通信信号を送信するように構成された送信機(たとえば、TX10)とを含む。そのようなデバイスは、本明細書で参照されるコードのうちの任意の1つまたは複数を介して音声通信データをワイヤレスに送信および受信するように構成され得る。
【0149】
[00197]デバイスD10は、アンテナC30を介してRF通信信号を受信および送信するように構成される。デバイスD10はまた、アンテナC30への経路中にダイプレクサと1つまたは複数の電力増幅器とを含み得る。また、チップ/チップセットCS10は、キーパッドC10を介してユーザ入力を受信し、ディスプレイC20を介して情報を表示するように構成される。この例では、デバイスD10はまた、全地球測位システム(GPS)位置サービス、および/またはワイヤレス(たとえば、Bluetooth(登録商標))ヘッドセットなどの外部デバイスとの短距離通信をサポートするための、1つまたは複数のアンテナC40を含む。別の例では、そのような通信デバイスは、それ自体がBluetooth(登録商標)ヘッドセットであり、キーパッドC10、ディスプレイC20、およびアンテナC30がない。
【0150】
[00198]通信デバイスD10は、スマートフォンおよびラップトップおよびタブレットコンピュータを含む、様々な通信デバイスに組み込まれ得る。
図26は、1つのそのような例の正面図、背面図、および側面図を示しており、ハンドセットH100(たとえば、スマートフォン)は前面に配列された2つの音声マイクロフォンMV10−1およびMV10−3を有し、音声マイクロフォンMV10−2は背面上に配列され、別のマイクロフォンME10(たとえば、強化された方向選択性のためおよび/またはアクティブ雑音消去動作への入力のためにユーザの耳元の音響誤差をキャプチャするため)は正面の上隅に配置され、別のマイクロフォンMR10(たとえば、強化された方向選択性のためおよび/または背景雑音の基準をキャプチャするため)は背面上に配置される。拡声器LS10が、誤差マイクロフォンME10の近くの、正面の上側の中心に配置され、(たとえばスピーカーフォンアプリケーションで)拡声器LS20L、LS20Rも設けられる。そのようなハンドセットのマイクロフォン間の最大距離は、一般に約10または12センチメートルである。
【0151】
[00199]
図25Dは、本明細書で説明する方法(たとえば、方法M100、M200、M300、M400、M500、M600およびM700のうちの任意の1つまたは複数)を実行するように実施され得るワイヤレスデバイス1102のブロック図を示す。送信端末102は、ワイヤレスデバイス1102の実装形態として実現され得る。ワイヤレスデバイス1102は、遠隔局、アクセス端末、ハンドセット、携帯情報端末(PDA)、セルラー電話などであってよい。
【0152】
[00200]ワイヤレスデバイス1102は、デバイスの動作を制御するプロセッサ1104を含む。プロセッサ1104は中央処理装置(CPU)とも呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含むことができるメモリ1106は、命令とデータとをプロセッサ1104に与える。メモリ1106の一部は不揮発性ランダムアクセスメモリ(NVRAM)をも含むことができる。プロセッサ1104は一般に、メモリ1106内に記憶されたプログラム命令に基づいて、論理および演算動作を実行する。メモリ1106中の命令は、本明細書で説明する方法(複数可)を実施するために実行可能である。
【0153】
[00201]ワイヤレスデバイス1102は、ワイヤレスデバイス1102と遠隔地との間のデータの送信および受信を可能にするために送信機1110と受信機1112とを含むことができるハウジング1108を含む。送信機1110と受信機1112とを組み合わせてトランシーバ1114を形成することができる。アンテナ1116は、ハウジング1108に取り付けられ、トランシーバ1114に電気的に結合される。ワイヤレスデバイス1102は、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナをも含む(図示せず)ことができる。
【0154】
[00202]この例では、ワイヤレスデバイス1102は、トランシーバ1114によって受信された信号のレベルを検出し、量子化するために使用され得る、信号検出器1118をも含み得る。信号検出器1118は、総エネルギー、擬似ノイズ(PN)チップ当たりのパイロットエネルギー、電力スペクトル密度、および他の信号などの信号を検出できる。ワイヤレスデバイス1102はまた、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)1120を含む。
【0155】
[00203]ワイヤレスデバイス1102の様々な構成要素は、データバスに加えて、電力バスと、制御信号バスと、ステータス信号バスとを含み得る、バスシステム1122によって互いに結合される。明確にするために、様々なバスが、バスシステム1122として
図25Dにおいて示されている。
【0156】
[00204]本明細書で開示した方法および装置は、概して任意の送受信および/または音声感知アプリケーション、特にそのようなアプリケーションのモバイル事例または他の持ち運び可能事例において適用され得る。たとえば、本明細書で開示する構成の範囲は、符号分割多元接続(CDMA)無線インターフェースを採用するように構成されたワイヤレス電話通信システムに常駐する、通信デバイスを含む。しかし、本明細書で説明した特徴を有する方法および装置は、有線および/またはワイヤレス(たとえば、CDMA、TDMA、FDMA、および/またはTD−SCDMA)送信チャネルを介したボイスオーバIP(VoIP)を採用するシステムなど、当業者に知られている広範囲の技術を採用する様々な通信システムのいずれにも常駐し得ることが、当業者には理解されよう。
【0157】
[00205]本明細書で開示した通信デバイスは、パケット交換式であるネットワーク(たとえば、VoIPなどのプロトコルに従ってオーディオ送信を搬送するように構成されたワイヤードおよび/またはワイヤレスネットワーク)および/または回線交換式であるネットワークにおける使用に適応され得ることが明確に企図され、本明細書によって開示される。また、本明細書で開示した通信デバイスは、狭帯域コーディングシステム(たとえば、約4または5キロヘルツの可聴周波数レンジを符号化するシステム)での使用、ならびに/あるいは全帯域広帯域コーディングシステムおよびスプリットバンド広帯域コーディングシステムを含む、広帯域コーディングシステム(たとえば、5キロヘルツを超える可聴周波数を符号化するシステム)での使用に適応され得ることが明確に企図され、本明細書によって開示される。
【0158】
[00206]説明した構成の提示は、本明細書で開示する方法および他の構造物を当業者が製造または使用できるように与えたものである。本明細書で図示および説明したフローチャート、ブロック図、および他の構造は例にすぎず、これらの構造の他の変形形態も開示の範囲内である。これらの構成に対する様々な変更が可能であり、本明細書で提示した一般的な原理は他の構成にも同様に適用できる。したがって、本開示は、上に示した構成に限定されるものではなく、原開示の一部をなす、出願した添付の特許請求の範囲を含む、本明細書において任意の方法で開示される原理および新規の特徴に一致する最も広い範囲が与えられるべきである。
【0159】
[00207]情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者なら理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、およびシンボルは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【0160】
[00208]本明細書で開示した構成の実装形態の重要な設計要件は、圧縮されたオーディオもしくはオーディオビジュアル情報(たとえば、本明細書で識別される例のうちの1つなど、圧縮形式に従って符号化されるファイルまたはストリーム)の再生などの計算集約的適用例、または広帯域通信(たとえば、12、16、32、44.1、48、または192kHzなど、8キロヘルツよりも高いサンプリングレートにおけるボイス通信)の適用例では特に、(一般に百万命令毎秒またはMIPSで測定される)処理遅延および/または計算複雑さを最小にすることを含み得る。
【0161】
[00209]本明細書で開示した装置(たとえば、装置A100、A300、A500、MF100、MF140、MF150、MF300、MF500)は、意図された適用例に好適と見なされる、ソフトウェアとの、および/またはファームウェアとのハードウェアの任意の組合せで実装され得る。たとえば、そのような装置の要素は、たとえば、同じチップ上に、またはチップセット中の2つ以上のチップ間に常駐する電子デバイスおよび/または光デバイスとして作製され得る。そのようなデバイスの一例は、トランジスタまたは論理ゲートなどの論理要素の固定アレイまたはプログラマブルアレイであり、これらの要素のいずれも1つまたは複数のそのようなアレイとして実装され得る。これらの要素のうちの任意の2つ以上、さらにはすべてが、同じ1つまたは複数のアレイ内に実装され得る。そのような1つまたは複数のアレイは、1つまたは複数のチップ内(たとえば、2つ以上のチップを含むチップセット内)に実装され得る。
【0162】
[00210]本明細書で開示した装置(たとえば、装置A100、A300、A500、MF100、MF140、MF150、MF300、MF500)の様々な実装形態の1つまたは複数の要素は、全体または一部が、マイクロプロセッサ、組込みプロセッサ、IPコア、デジタル信号プロセッサ、FPGA(フィールドプログラマブルゲートアレイ)、ASSP(特定用途向け標準製品)、およびASIC(特定用途向け集積回路)など、論理要素の1つまたは複数の固定アレイまたはプログラマブルアレイ上で実行するように構成された命令の1つまたは複数のセットとして実装され得る。本明細書で開示した装置の実装形態の様々な要素のいずれも、1つまたは複数のコンピュータ(たとえば、「プロセッサ」とも呼ばれる、命令の1つまたは複数のセットまたはシーケンスを実行するようにプログラムされた1つまたは複数のアレイを含む機械)としても実施され得、これらの要素のうちの任意の2つ以上、さらにはすべてが、同じそのような1つまたは複数のコンピュータ内に実装され得る。
【0163】
[00211]本明細書で開示したプロセッサまたは処理するための他の手段は、たとえば、同じチップ上に、またはチップセット中の2つ以上のチップ上に常駐する、1つまたは複数の電子デバイスおよび/または光デバイスとして作製され得る。そのようなデバイスの一例は、トランジスタまたは論理ゲートなどの論理要素の固定アレイまたはプログラマブルアレイであり、これらの要素のいずれも1つまたは複数のそのようなアレイとして実装され得る。そのような1つまたは複数のアレイは、1つまたは複数のチップ内(たとえば、2つ以上のチップを含むチップセット内)に実装され得る。そのようなアレイの例には、マイクロプロセッサ、組込みプロセッサ、IPコア、DSP、FPGA、ASSP、およびASICなど、論理要素の固定アレイまたはプログラマブルアレイがある。本明細書で開示したプロセッサまたは処理するための他の手段は、1つまたは複数のコンピュータ(たとえば、命令の1つまたは複数のセットまたはシーケンスを実行するようにプログラムされた1つまたは複数のアレイを含む機械)あるいは他のプロセッサとしても実施され得る。本明細書で説明したプロセッサは、プロセッサが組み込まれているデバイスまたはシステム(たとえば、オーディオ感知デバイス)の別の演算に関係するタスクなど、方法M100の実装形態のプロシージャに直接関係しないタスクを実施するかまたは命令の他のセットを実行するために使用することが可能である。また、本明細書で開示した方法の一部はオーディオ感知デバイスのプロセッサによって実行され、その方法の別の一部は1つまたは複数の他のプロセッサの制御下で実行されることが可能である。
【0164】
[00212]本明細書で開示した構成に関して説明した様々な例示的なモジュール、論理ブロック、回路、およびテストならびに他の動作は、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得ることを、当業者なら諒解されよう。そのようなモジュール、論理ブロック、回路、および動作は、本明細書で開示した構成を生成するように設計された、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASICまたはASSP、FPGAまたは他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいはそれらの任意の組合せを用いて実装または実行され得る。たとえば、そのような構成は、少なくとも部分的に、ハードワイヤード回路として、特定用途向け集積回路へと作製された回路構成として、あるいは不揮発性記憶装置にロードされるファームウェアプログラム、または汎用プロセッサもしくは他のデジタル信号処理ユニットなどの論理要素のアレイによって実行可能な命令である機械可読コードとしてデータ記憶媒体からロードされるかもしくはデータ記憶媒体にロードされるソフトウェアプログラムとして実装され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装することもできる。ソフトウェアモジュールは、RAM(ランダムアクセスメモリ)、ROM(読取り専用メモリ)、フラッシュRAMなどの不揮発性RAM(NVRAM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、またはCD−ROMなど、非一時的記憶媒体中に、あるいは当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化することができる。プロセッサおよび記憶媒体はASIC中に常駐することができる。ASICは、ユーザ端末内に常駐することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として常駐することもできる。
【0165】
[00213]本明細書で開示する様々な方法(たとえば、方法M100、M200、M300、M400、M500、M600、およびM700のうちのいずれかの実装形態)は、プロセッサなどの論理要素のアレイによって実行され得、本明細書で説明する装置の様々な要素は、そのようなアレイ上で実行するように設計されたモジュールとして実装され得ることに留意されたい。本明細書で使用する「モジュール」または「サブモジュール」という用語は、ソフトウェア、ハードウェアまたはファームウェアの形態でコンピュータ命令(たとえば、論理式)を含む任意の方法、装置、デバイス、ユニットまたはコンピュータ可読データ記憶媒体を指すことができる。複数のモジュールまたはシステムを1つのモジュールまたはシステムに結合することができ、1つのモジュールまたはシステムを、同じ機能を実行する複数のモジュールまたはシステムに分離することができることを理解されたい。ソフトウェアまたは他のコンピュータ実行可能命令で実装した場合、プロセスの要素は本質的に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを用いて関連するタスクを実行するコードセグメントである。「ソフトウェア」という用語は、ソースコード、アセンブリ言語コード、機械コード、バイナリコード、ファームウェア、マクロコード、マイクロコード、論理要素のアレイによって実行可能な命令の1つまたは複数のセットまたはシーケンス、およびそのような例の任意の組合せを含むことを理解されたい。プログラムまたはコードセグメントは、プロセッサ可読媒体に記憶され得、あるいは搬送波に埋め込まれたコンピュータデータ信号によって伝送媒体または通信リンクを介して送信され得る。
【0166】
[00214]本明細書で開示した方法、方式、および技法の実装形態は、(たとえば、本明細書に記載する1つまたは複数のコンピュータ可読記憶媒体の有形のコンピュータ可読特徴において)論理要素のアレイ(たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)を含む機械によって実行可能な命令の1つまたは複数のセットとしても有形に実施され得る。「コンピュータ可読媒体」という用語は、情報を記憶または転送することができる、揮発性の、不揮発性の、取外し可能な、および取外し不可能な記憶媒体を含む、任意の媒体を含み得る。コンピュータ可読媒体の例には、電子回路、半導体メモリデバイス、ROM、フラッシュメモリ、消去可能ROM(EROM)、フロッピー(登録商標)ディスケットもしくは他の磁気ストレージ、CD−ROM/DVDもしくは他の光ストレージ、ハードディスクもしくは所望の情報を記憶するために使用され得る任意の他の媒体、光ファイバー媒体、高周波(RF)リンク、または、所望の情報を搬送するために使用されアクセスされ得る任意の他の媒体がある。コンピュータデータ信号は、電子ネットワークチャネル、光ファイバー、無線リンク、電磁リンク、RFリンクなどの伝送媒体を介して伝播することができる、任意の信号を含み得る。コードセグメントは、インターネットまたはイントラネットなどのコンピュータネットワークを介してダウンロードされ得る。いずれの場合も、本開示の範囲は、そのような実施形態によって限定されると解釈すべきではない。
【0167】
[00215]本明細書で説明した方法のタスクの各々は、ハードウェアで直接実施されてもよく、プロセッサによって実行されるソフトウェアモジュールで実施されてもよく、またはその2つの組合せで実施されてもよい。本明細書で開示する方法の実装形態の典型的な適用例では、論理要素のアレイ(たとえば、論理ゲート)は、この方法の様々なタスクのうちの1つ、複数、さらにはすべてを実行するように構成される。タスクの1つまたは複数(場合によってはすべて)は、論理要素のアレイ(たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)を含む機械(たとえば、コンピュータ)によって読取り可能および/または実行可能である、コンピュータプログラム製品(たとえば、ディスク、フラッシュもしくは他の不揮発性メモリカード、半導体メモリチップなどの1つまたは複数のデータ記憶媒体など)に埋め込まれたコード(たとえば、命令の1つまたは複数のセット)としても実装され得る。本明細書で開示した方法の実装形態のタスクは、2つ以上のそのようなアレイまたは機械によっても実行され得る。これらまたは他の実装形態では、タスクは、セルラー電話など、ワイヤレス通信用のデバイス、またはそのような通信機能を有する他のデバイス内で実行され得る。そのようなデバイスは、(たとえば、VoIPなどの1つまたは複数のプロトコルを使用して)回線交換および/またはパケット交換ネットワークと通信するように構成され得る。たとえば、そのようなデバイスは、符号化フレームを受信および/または送信するように構成されたRF回路を含み得る。
【0168】
[00216]本明細書で開示した様々な方法は、ハンドセット、ヘッドセット、または携帯情報端末(PDA)などのポータブル通信デバイスによって実行されてよく、本明細書で説明した様々な装置は、そのようなデバイス内に含まれ得ることが明確に開示される。典型的なリアルタイム(たとえば、オンライン)アプリケーションは、そのようなモバイルデバイスを使用して行われる、電話による会話である。
【0169】
[00217]1つまたは複数の例示的な実施形態では、本明細書で説明した動作は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、そのような動作は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体に記憶され得るか、あるいはコンピュータ可読媒体を介して送信され得る。「コンピュータ可読媒体」という用語は、コンピュータ可読記憶媒体と通信(たとえば、伝送)媒体の両方を含む。限定ではなく、例として、コンピュータ可読記憶媒体は、(限定はしないが、ダイナミックRAMもしくはスタティックRAM、ROM、EEPROM、および/またはフラッシュRAMを含み得る)半導体メモリ、または強誘電体メモリ、磁気抵抗メモリ、オボニックメモリ、高分子メモリ、または相変化メモリなどの記憶要素のアレイ、CD−ROMもしくは他の光ディスクストレージ、および/または、磁気ディスクストレージもしくは他の磁気ストレージデバイスを備え得る。そのような記憶媒体は、コンピュータによってアクセスされ得る命令またはデータ構造の形態で情報を記憶し得る。通信媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、命令またはデータ構造の形態の所望のプログラムコードを搬送するために使用されコンピュータによってアクセスされ得る、任意の媒体を備え得る。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または、赤外線、無線、および/もしくはマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、および/もしくはマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびブルーレイ(登録商標)ディスク(disc)(Blu−Ray Disc Association、カリフォルニア州ユニヴァーサルシティー)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)はデータをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0170】
[00218]本明細書で説明した音響信号処理装置は、いくつかの動作を制御するために音声入力を受容し、あるいは背景雑音から所望の雑音を分離することから利益を得ることがある、通信デバイスなどの電子デバイスに組み込まれ得る。多くの適用例では、複数の方向から発生した背景音から明瞭な所望の音を強調または分離することから利益を得ることがある。そのような適用例は、ボイス認識および検出、音声強調および分離、ボイスアクティブ化制御などの機能を組み込んだ電子デバイスまたはコンピューティングデバイスにおけるヒューマンマシンインターフェースを含み得る。そのような音響信号処理装置を、限定された処理機能のみを与えるデバイスに適するように実装するのが望ましいことがある。
【0171】
[00219]本明細書で説明したモジュール、要素、およびデバイスの様々な実装形態の要素は、たとえば、同じチップ上に、またはチップセット中の2つ以上のチップ上に常駐する、電子デバイスおよび/または光デバイスとして作製され得る。そのようなデバイスの一例は、トランジスタまたはゲートなど、論理要素の固定アレイまたはプログラマブルアレイである。本明細書で説明した装置の様々な実装形態の1つまたは複数の要素は、全体または一部が、マイクロプロセッサ、組込みプロセッサ、IPコア、デジタル信号プロセッサ、FPGA、ASSP、およびASICなど、論理要素の1つまたは複数の固定アレイまたはプログラマブルアレイ上で実行するように構成された命令の1つまたは複数のセットとしても実装され得る。
【0172】
[00220]本明細書で説明した装置の一実装形態の1つまたは複数の要素は、装置が組み込まれているデバイスまたはシステムの別の動作に関係するタスクなど、装置の動作に直接関係しないタスクを実施し、あるいは装置の動作に直接関係しない命令の他のセットを実行するために使用することが可能である。また、そのような装置の実装形態の1つまたは複数の要素は、共通の構造(たとえば、異なる要素に対応するコードの部分を異なる時間に実行するために使用されるプロセッサ、異なる要素に対応するタスクを異なる時間に実施するために実行される命令のセット、あるいは、異なる要素向けの動作を異なる時間に実行する電子デバイスおよび/または光デバイスの構成)を有することが可能である。
以下に本願出願当初の特許請求の範囲を付記する。
[C1] オーディオ信号を処理する方法であって、
前記オーディオ信号内で前記オーディオ信号の第1のフレームに後続する、前記オーディオ信号の第2のフレームに対する決定メトリックの少なくとも1つの値を計算することと、
前記決定メトリックの前記少なくとも1つの計算された値に基づいて、複数の再割振り候補の中の1つを選択することとを備え、
前記計算された少なくとも1つの値が、前記第2のフレームの圧縮率の尺度に基づき、
前記選択された再割振り候補が、前記第2のフレームに対する初期ビット割振りの第1の部分および第2の部分への再割振りを示す、方法。
[C2] 前記方法が、前記第1のフレームが前記オーディオ信号のクリティカルフレームであると判断することを含む、C1に記載の方法。
[C3] 前記第1のフレームがクリティカルフレームであると前記判断することが、前記オーディオ信号内の前記第1のフレームに後続する、前記オーディオ信号のフレームの符号化されたバージョンからの情報に基づく、C2に記載の方法。
[C4] 前記符号化されたバージョンが、前記第2のフレームの符号化されたバージョンである、C3に記載の方法。
[C5] 前記判断することが、クリティカリティ尺度とクリティカリティ閾値とを比較することを含む、C2から4のいずれか一項に記載の方法。
[C6] 前記判断することが、送信チャネルの状態に関する情報に基づいて前記クリティカリティ閾値を計算することを含む、C5に記載の方法。
[C7] 前記クリティカリティ閾値を前記計算することが、
前記送信チャネルの前記状態に関する前記情報に基づく計算された値と境界値とを比較することと、
前記境界値と前記比較することの結果に応答して、前記境界値を前記クリティカリティ閾値として選択することとを含む、C6に記載の方法。
[C8] 圧縮率の前記尺度が、前記第2のフレームのサブフレームの間の相関を示す、C1から7のいずれか一項に記載の方法。
[C9] 前記複数の再割振り候補の中の1つを前記選択することが、前記決定メトリックの計算された値と、順序付けられた複数の決定閾値の各々とを比較することを含み、
前記順序付けられた複数の決定閾値の各々が、前記複数の再割振り候補の中の異なる1つに対応する、C1から8のいずれか一項に記載の方法。
[C10] 前記方法が、前記決定メトリックの複数の値を計算することを備え、各値が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、
前記決定メトリックの前記複数の値の各々が、前記対応するフレームの圧縮率の尺度に基づき、
前記方法が、前記決定メトリックの前記複数の値のうちの少なくともいくつかに基づいて、前記異なるフレームの中から前記第2のフレームを選択することを備える、C1から9のいずれか一項に記載の方法。
[C11] 前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応する、C1から7のいずれか一項に記載の方法。
[C12] 前記計算された値のセットの各々が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、C11に記載の方法。
[C13] 圧縮率の前記尺度が、前記第2のフレームの符号化されたバージョンからの情報に基づく、C11または12に記載の方法。
[C14] 前記少なくとも1つの計算された値が、異なる符号化レートに対する前記第2のフレームの知覚品質の尺度間の関係に基づく、C11から13のいずれか一項に記載の方法。
[C15] 前記少なくとも1つの計算された値が、(A)前記初期ビット割振りに対する前記第2のフレームの圧縮率の尺度と、(B)前記複数の再割振り候補のうちの前記対応する1つに対する前記第2のフレームの圧縮率の尺度との間の関係に基づく、C11から14のいずれか一項に記載の方法。
[C16] 前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値の複数のセットを含み、前記複数のセットの各々が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、各セット内で、各値が前記複数の再割振り候補のうちの異なる1つに対応する、C1から7のいずれか一項に記載の方法。
[C17] 各セット内で、各値が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、C16に記載の方法。
[C18] 各セット内で、各値が、前記対応するフレームの符号化されたバージョンからの情報に基づく、C16または17に記載の方法。
[C19] 前記方法が、前記複数のセットのうちの少なくともいくつかの計算された値に基づいて、前記異なるフレームの中から前記第2のフレームを選択することを備える、C16から18のいずれか一項に記載の方法。
[C20] 前記方法が、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーとを含むパケットを作成することを備え、
前記第2のフレームの前記コピーが前記第1の部分に符号化され、
前記冗長コピーが前記第2の部分に符号化される、C1から19のいずれか一項に記載の方法。
[C21] オーディオ信号を処理するための装置であって、
前記オーディオ信号内で前記オーディオ信号の第1のフレームに後続する、前記オーディオ信号の第2のフレームに対する決定メトリックの少なくとも1つの値を計算するための手段と、
前記決定メトリックの前記少なくとも1つの計算された値に基づいて、複数の再割振り候補の中の1つを選択するための手段とを備え、
前記計算された少なくとも1つの値が、前記第2のフレームの圧縮率の尺度に基づき、
前記選択された再割振り候補が、前記第2のフレームに対する初期ビット割振りの第1の部分および第2の部分への再割振りを示す、装置。
[C22] 前記装置が、前記第1のフレームが前記オーディオ信号のクリティカルフレームであると判断するための手段を含む、C21に記載の装置。
[C23] 前記第1のフレームがクリティカルフレームであると前記判断することが、前記オーディオ信号内の、前記第1のフレームに後続する前記オーディオ信号のフレームの符号化されたバージョンからの情報に基づく、C22に記載の装置。
[C24] 前記符号化されバージョンが、前記第2のフレームの符号化されたバージョンである、C23に記載の装置。
[C25] 前記判断することが、クリティカリティ尺度とクリティカリティ閾値とを比較することを含む、C22から24のいずれか一項に記載の装置。
[C26] 前記判断することが、送信チャネルの状態に関連する情報に基づいて前記クリティカリティ閾値を計算することを含む、C25に記載の装置。
[C27] 前記クリティカリティ閾値を前記計算することが、
前記送信チャネルの前記状態に関連する前記情報に基づく計算された値と境界値とを比較することと、
前記境界値と前記比較することの結果に応答して、前記境界値を前記クリティカリティ閾値として選択することとを含む、C26に記載の装置。
[C28] 圧縮率の前記尺度が、前記第2のフレームのサブフレームの間の相関を示す、C21から27のいずれか一項に記載の装置。
[C29] 前記複数の再割振り候補の中の1つを前記選択することが、前記決定メトリックの計算された値と、順序付けられた複数の決定閾値の各々とを比較することを含み、
前記順序付けられた複数の決定閾値の各々が、前記複数の再割振り候補の中の異なる1つに対応する、C21から28のいずれか一項に記載の装置。
[C30] 前記決定メトリックの少なくとも1つの値を計算するための前記手段が、前記決定メトリックの複数の値を計算するように構成され、各値が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、
前記決定メトリックの前記複数の値の各々が、前記対応するフレームの圧縮率の尺度に基づき、
前記装置が、前記決定メトリックの前記複数の値のうちの少なくともいくつかに基づいて、前記異なるフレームの中から前記第2のフレームを選択するための手段を備える、C21から29のいずれか一項に記載の装置。
[C31] 前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応する、C21から27のいずれか一項に記載の装置。
[C32] 前記計算された値のセットの各々が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、C31に記載の装置。
[C33] 圧縮率の前記尺度が、前記第2のフレームの符号化されたバージョンからの情報に基づく、C31または32に記載の装置。
[C34] 前記少なくとも1つの計算された値が、異なる符号化レートに対する前記第2のフレームの知覚品質の尺度間の関係に基づく、C31から33のいずれか一項に記載の装置。
[C35] 前記少なくとも1つの計算された値が、(A)前記初期ビット割振りに対する前記第2のフレームの圧縮率の尺度と、(B)前記複数の再割振り候補のうちの前記対応する1つに対する前記第2のフレームの圧縮率の尺度との間の関係に基づく、C31から34のいずれか一項に記載の装置。
[C36] 前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値の複数のセットを含み、前記複数のセットの各々が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、各セット内で、各値が前記複数の再割振り候補のうちの異なる1つに対応する、C21から27のいずれか一項に記載の装置。
[C37] 各セット内で、各値が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、C36に記載の装置。
[C38] 各セット内で、各値が、前記対応するフレームの符号化されたバージョンからの情報に基づく、C36または37に記載の装置。
[C39] 前記装置が、前記複数のセットのうちの少なくともいくつかの計算された値に基づいて、前記異なるフレームの中から前記第2のフレームを選択するための手段を備える、C36から38のいずれか一項に記載の装置。
[C40] 前記装置が、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーを含むパケットを作成するための手段を備え、
前記第2のフレームの前記コピーが前記第1の部分に符号化され、
前記冗長コピーが前記第2の部分に符号化される、C21から39のいずれか一項に記載の装置。
[C41] オーディオ信号を処理するための装置であって、
前記オーディオ信号内で前記オーディオ信号の第1のフレームに後続する、前記オーディオ信号の第2のフレームに対する決定メトリックの少なくとも1つの値を計算するように構成された計算器と、
前記決定メトリックの前記少なくとも1つの計算された値に基づいて、複数の再割振り候補の中の1つを選択するように構成された選択器とを備え、
前記計算された少なくとも1つの値が、前記第2のフレームの圧縮率の尺度に基づき、
前記選択された再割振り候補が、前記第2のフレームに対する初期ビット割振りの第1の部分および第2の部分への再割振りを示す、装置。
[C42] 前記装置が、前記第1のフレームが前記オーディオ信号のクリティカルフレームであると判断するように構成されたクリティカルフレームインジケータを含む、C41に記載の装置。
[C43] 前記第1のフレームがクリティカルフレームであると前記判断することが、前記オーディオ信号内の、前記第1のフレームに後続する前記オーディオ信号のフレームの符号化されたバージョンからの情報に基づく、C42に記載の装置。
[C44] 前記符号化されたバージョンが、前記第2のフレームの符号化されたバージョンである、C43に記載の装置。
[C45] 前記判断することが、クリティカリティ尺度とクリティカリティ閾値とを比較することを含む、C42から44のいずれか一項に記載の装置。
[C46] 前記判断することが、送信チャネルの状態に関連する情報に基づいて前記クリティカリティ閾値を計算することを含む、C45に記載の装置。
[C47] 前記クリティカリティ閾値を前記計算することが、
前記送信チャネルの前記状態に関連する前記情報に基づく計算された値と境界値とを比較することと、
前記境界値と前記比較することの結果に応答して、前記境界値を前記クリティカリティ閾値として選択することとを含む、C46に記載の装置。
[C48] 圧縮率の前記尺度が、前記第2のフレームのサブフレームの間の相関を示す、C41から47のいずれか一項に記載の装置。
[C49] 前記複数の再割振り候補の中の1つを前記選択することが、前記決定メトリックの計算された値と、順序付けられた複数の決定閾値の各々とを比較することを含み、
前記順序付けられた複数の決定閾値の各々が、前記複数の再割振り候補の中の異なる1つに対応する、C41から48のいずれか一項に記載の装置。
[C50] 前記計算器が、前記決定メトリックの複数の値を計算するように構成され、各値が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、
前記決定メトリックの前記複数の値の各々が、前記対応するフレームの圧縮率の尺度に基づき、
前記選択器が、前記決定メトリックの前記複数の値のうちの少なくともいくつかに基づいて、前記異なるフレームの中から前記第2のフレームを選択するように構成される、C41から49のいずれか一項に記載の装置。
[C51] 前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値のセットを含み、前記計算された値のセットの各々が、前記複数の再割振り候補のうちの異なる1つに対応する、C41から47のいずれか一項に記載の装置。
[C52] 前記計算された値のセットの各々が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、C51に記載の装置。
[C53] 圧縮率の前記尺度が、前記第2のフレームの符号化されたバージョンからの情報に基づく、C51または52に記載の装置。
[C54] 前記少なくとも1つの計算された値が、異なる符号化レートに対する前記第2のフレームの知覚品質の尺度間の関係に基づく、C51から53のいずれか一項に記載の装置。
[C55] 前記少なくとも1つの計算された値が、(A)前記初期ビット割振りに対する前記第2のフレームの圧縮率の尺度と、(B)前記複数の再割振り候補のうちの前記対応する1つに対する前記第2のフレームの圧縮率の尺度との間の関係に基づく、C51から54のいずれか一項に記載の装置。
[C56] 前記決定メトリックの前記計算された少なくとも1つの値が、前記決定メトリックの計算された値の複数のセットを含み、前記複数のセットの各々が、前記オーディオ信号内で前記第1のフレームに後続する前記オーディオ信号の異なるフレームに対応し、各セット内で、各値が前記複数の再割振り候補のうちの異なる1つに対応する、C41から47のいずれか一項に記載の装置。
[C57] 各セット内で、各値が、前記複数の再割振り候補のうちの前記対応する1つに関連する知覚品質の尺度に基づく、C56に記載の装置。
[C58] 各セット内で、各値が、前記対応するフレームの符号化されたバージョンからの情報に基づく、C56または57に記載の装置。
[C59] 前記選択器が、前記複数のセットのうちの少なくともいくつかの計算された値に基づいて、前記異なるフレームの中から前記第2のフレームを選択するように構成される、C56から58のいずれか一項に記載の装置。
[C60] 前記装置が、前記複数の再割振り候補の中の1つを前記選択することに応答して、前記第1のフレームの冗長コピーと前記第2のフレームのコピーとを含むパケットを作成するように構成されたパケットアセンブラを備え、
前記第2のフレームの前記コピーが前記第1の部分に符号化され、
前記冗長コピーが前記第2の部分に符号化される、C41から59のいずれか一項に記載の装置。
[C61] 有形な特徴を有する非一時的コンピュータ可読データ記憶媒体であって、前記有形な特徴が、前記特徴を読み取る機械に、C1から20のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読データ記憶媒体。