(58)【調査した分野】(Int.Cl.,DB名)
第1のコンピューティングデバイスの符号器でオーディオ信号の第1のオーディオフレームを符号化することと、前記第1のオーディオフレームは、有声音声フレーム、無声フレーム、オーディオ遷移フレーム、および適応コードブック情報と固定コードブック情報との両方を含む混合モードフレーム、を含む複数の分類のうちの1つに前記第1のオーディオフレームを分類するフレームタイプを有し、
前記第1のオーディオフレームを前記第1のコンピューティングデバイスから第2のコンピューティングデバイスに送信することと、
前記第1のオーディオフレームの前記フレームタイプが前記第1のオーディオフレームを前記複数の分類のうちのいずれに分類するかに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振るための前記第2のオーディオフレームのビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振るための前記第2のオーディオフレームのビットの第2の個数とを決定することと、ここにおいて、前記第2のオーディオフレームは、前記オーディオ信号内で前記第1のオーディオフレームに続く、
前記第2のオーディオフレームを符号化することと、ここにおいて、前記第2のオーディオフレームは、主コーディング情報のビットの前記第1の個数と、冗長コーディング情報のビットの前記第2の個数と、前記第1のオーディオフレームの前記フレームタイプのインジケータとを含む、
前記第2のオーディオフレームを前記第1のコンピューティングデバイスから前記第2のコンピューティングデバイスに送信することと
を備える、フレームを符号化する方法。
前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域利得フレームに関連する高帯域利得フレームインジケータを含む、請求項1〜3のうちのいずれかに記載の方法。
オーディオ信号の第1のオーディオフレームを符号化し、前記第1のオーディオフレームは、有声音声フレーム、無声フレーム、オーディオ遷移フレーム、および適応コードブック情報と固定コードブック情報との両方を含む混合モードフレーム、を含む複数の分類のうちの1つに前記第1のオーディオフレームを分類するフレームタイプを有し、
前記第1のオーディオフレームの前記フレームタイプが前記第1のオーディオフレームを分類する前記複数の分類のうちの特定の分類に基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振るための前記第2のオーディオフレームのビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振るための前記第2のオーディオフレームのビットの第2の個数とを決定し、ここにおいて、前記第2のオーディオフレームは、前記オーディオ信号内で前記第1のオーディオフレームに続く、
前記第2のオーディオフレームを符号化し、ここにおいて、前記第2のオーディオフレームは、主コーディング情報のビットの前記第1の個数と、冗長コーディング情報のビットの前記第2の個数と、前記第1のオーディオフレームの前記フレームタイプのインジケータとを含む、
ように構成された符号器と、
前記第1のオーディオフレームと前記第2のオーディオフレームとを宛先デバイスに送信するように構成された送信器と
を備える装置。
前記第1のオーディオフレームのフレームタイプの前記インジケータは、前記第2のオーディオフレームの最後の3ビットに含まれる、請求項8〜9のうちのいずれかに記載の装置。
命令を記憶するコンピュータ可読記憶媒体であって、前記命令がコンピュータによって実行された時に、前記コンピュータに、請求項1〜7のうちのいずれかに記載の方法を実行させる、コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0017】
[0025]本開示の特定の実施形態が、図面を参照しながら以下で説明される。この説明および図面では、共通の特徴が、図示され説明される実施形態の明瞭さのために、共通の符号によって指定される。
【0018】
[0026]
図1を参照すると、冗長フレーム情報を通信するように動作可能なシステムの特定の実施形態が、示され、全体的に100と指定されている。システム100は、第1のコンピューティングデバイス110と第2のコンピューティングデバイス120とを含む。第1のコンピューティングデバイス110および第2のコンピューティングデバイス120は、パケット交換ネットワークを介して、オーディオフレームなどのデータを通信するように構成され得る。たとえば、パケット交換ネットワークは、VoIPネットワーク、VoLTEネットワーク、または別のパケット交換ネットワークを含むことができる。例示的な実施形態では、第1のコンピューティングデバイス110および第2のコンピューティングデバイス120は、それぞれ、携帯電話機、コンピューティングデバイス(たとえば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、サーバコンピュータなど)、メディアプレーヤ、ゲーミングデバイス、セットトップボックスデバイス、ナビゲーションデバイス、パケット交換ネットワークの構成要素、オーディオデータを通信するように構成された別のデバイス、またはその任意の組合せを含む。
【0019】
[0027]第1のコンピューティングデバイス110は、プロセッサ112(たとえば、中央処理装置(CPU)、デジタル信号プロセッサ(DSP)など)とメモリ114とを含むことができる。特定の実施形態では、メモリ114は、本明細書で説明される様々な動作を実行するためにプロセッサ112によって実行可能な命令を記憶する。第1のコンピューティングデバイス110は、符号器116と送信器118とをも含むことができる。符号器116は、送信器118によって送信される(たとえば、パケット交換ネットワークを介して)オーディオフレームを符号化することができる。代替実施形態では、第1のコンピューティングデバイス110は、送信器118に加えて受信器を含むことができ、あるいは、データを送信し、受信するように構成されたトランシーバを含むことができる。符号器116は、例示的なオーディオフレーム131と、132と、133と、134とを含むオーディオフレームのシーケンスを符号化することができる。
図1では、オーディオフレーム131と、132と、133と、134とは、オーディオ信号の4つの連続するフレームであり、それぞれ第(N−1)のフレーム、第Nのフレーム、第(N+1)のフレーム、第(N+2)のフレームと呼ばれる。可読性のために、これらのフレームは、本明細書で、それぞれフレーム
N-1、フレーム
N、フレーム
N+1、フレーム
N+2と呼ばれる。オーディオフレーム131〜134が、
図1では左から右の順で示されているが、これが、オーディオフレーム131〜134が第2のコンピューティングデバイス120によってそのような順序で受信されることを暗示すると解釈してはならないことに留意されたい。本明細書でさらに説明されるように、オーディオフレームは、ネットワークエラーに起因して、順序はずれで宛先デバイスに到着する可能性があり、あるいは失われる可能性がある。
【0020】
[0028]オーディオフレーム131〜134の各々は、符号化された低帯域信号(「LBコア」)と高帯域パラメータ(「HBパラメータ」)とを含むことができる。あるフレームのLBコアおよびHBパラメータは、集合的に、そのフレームの主コーディングと呼ばれ得る。特定の実施形態では、オーディオフレーム131〜134の各々は、固定されたサイズを有し、符号化された低帯域コアと高帯域パラメータとに割り振られる帯域幅の量(たとえば、フレームのビット数)は、本明細書でさらに説明されるように、フレームごとに動的に調整され得る。ネットワークエラーの存在の下でオーディオ復号性能を改善するために、オーディオフレーム131〜134のうちの1つまたは複数が、以前のフレームの冗長コーディング情報を含むことができる。冗長コーディング情報は、低帯域冗長コーディング情報および/または高帯域パラメータ冗長コーディング情報を含むことができる。以前のフレームの低帯域および高帯域の冗長コーディング情報は、集合的に、以前のフレームの「部分的コピー」と呼ばれ得る。特定の実施形態では、低帯域冗長コーディング情報と高帯域冗長コーディング情報とに割り振られる帯域幅の量(たとえば、フレームのビット数)は、本明細書でさらに説明されるように、フレームごとに動的に調整され得る。
【0021】
[0029]たとえば、符号器116は、後続フレーム
N+OFFSET内でフレーム
N132の冗長コーディング情報を符号化することができ、OFFSETは、1以上の整数である。フレームが、パケット交換ネットワークを介して通信される時に、そのようなフレームは、宛先デバイスに個別にルーティングされる可能性があり、フレームが、順序はずれで到着する場合がある。したがって、フレーム
N132(またはその一部)が、破壊される可能性があるか、第2のコンピューティングデバイス120に到着しない可能性がある場合(本明細書では、集合的に、フレーム
N132に関する「フレーム消去」条件と称する)であっても、フレーム
N+OFFSETが、無傷で第2のコンピューティングデバイス120に到着する可能性がある(または、すでに到着済みである可能性がある)。フレーム
N+OFFSET内の冗長コーディング情報は、フレーム
N132(またはその一部)を再構成するか、深刻なアーティファクトを誘導する誤り伝搬を阻止するのに、第2のコンピューティングデバイス120によって使用され得る。
【0022】
[0030]
図1の例では、OFFSETは2と等しい。したがって、フレーム
N-1フレーム131の冗長コーディング情報が、フレーム
N+1133に追加され、フレーム
N132の冗長コーディング情報が、フレーム
N+2134に追加されるなどである。代替実施形態では、OFFSETパラメータは、2以外の値を有することができる。OFFSETパラメータの値は、産業標準(たとえば、enhanced voice services(EVS)標準規格)によって決定され得、コンピューティングデバイス110と120とによってネゴシエートされ得、および/または測定されたもしくは推定されたネットワークエラーに基づいて決定され得る。例示的実施形態では、第1のコンピューティングデバイス110は、冗長コーディング情報を送るべきか否かを決定するように構成される。たとえば、第1のコンピューティングデバイス110は、フレーム
N132に関連する「クリティカリティ」パラメータに基づいて、フレーム
N+2134内でフレーム
N132の冗長フレーム情報を送るべきか否かを決定することができ、クリティカリティパラメータは、フレーム
N132が送信中に失われる場合の、オーディオ信号内のアーティファクトの低減または最小化におけるフレーム
N132の相対的な重要性を示す。したがって、冗長フレーム情報の通信は、フレームごとの基礎で、ソースによって制御されるパラメータに依存して、ならびにネットワーク条件またはチャネル条件に基づいて、実行され得る。
【0023】
[0031]特定の実施形態では、フレーム内のLBコアと、HBパラメータと、HB冗長コーディング情報と、LB冗長コーディング情報とによって占められる空間の量(たとえば、ビット数)は、符号器116によって動的に調整される。たとえば、
図1に示されているように、LB冗長コーディング情報に対するHB冗長コーディング情報の比は、フレーム
N+2133内でフレーム
N+2134内より低い。特定の実施形態では、LB冗長コーディング情報に対するHB冗長コーディング情報[25%,75%]分割と[5%,95%]分割との間で変化する。別の例として、
図1に示されているように、LBコアに対するHBパラメータの比は、フレーム
N+1133内よりフレーム
N-1131内で低く、LBコアに対するHBパラメータの比は、フレーム
N+1133内でフレーム
N132およびフレーム
N+2134内より低い。
【0024】
[0032]一例として、オーディオフレームの公称符号化ビットレートは、冗長コーディング情報がオーディオフレーム内に含まれない時に、13.2kbpsとされ得る。冗長コーディング情報に対処するために、オーディオフレームのLBコアおよびHBパラメータのコーディングレートは、9.6kbpsに低下され得る。残りの3.6kbps帯域幅は、以前のフレームのHB冗長コーディング情報とLB冗長コーディング情報とを符号化するのに使用され得、HB冗長コーディング情報とLB冗長コーディング情報との分割は、[25%,75%]分割と[5%,95%]分割との間でフレームごとに動的に変化することができる。説明されるビットレートおよび分割が例のためのみのものであることに留意されたい。代替実施形態では、説明される技法が、異なるビットレートと異なる分割と共に使用され得る。別の特定の実施形態では、冗長フレームと主フレームとの間で分配されるビットの比が、適応的とされ得る。たとえば、主フレームは、11.6kbpsを使用することができるが、冗長フレームは、合計13.2kbpsのうちの1.6kbpsを使用することができる。別の例では、主フレームは、12.6kbpsを使用することができるが、冗長フレームは、合計13.2kbpsのうちの0.6kbpsを使用することができる。「クリティカリティ」パラメータに基づいて、この動的なビット割振りは、達成され得、いくつかのビットが冗長フレームコーディングに使用される時に、ネットワークエラーが存在しない場合またはクリーンチャネル条件において、主フレーム品質の劣化を制限することができる。
【0025】
[0033]特定のフレーム(たとえば、フレーム
N+2134)内でHB冗長コーディング情報とLB冗長コーディング情報とにどれほどの空間を割り振るべきかを決定する時に、符号器116は、使用されるパケット交換ネットワークの特性、特定のフレーム、および/またはその冗長コーディング情報が送信されつつある以前のフレーム(たとえば、フレーム
N132)を考慮に入れることができる。冗長コーディング情報の例と、オーディオフレーム内でそのような冗長コーディング情報にどれほどの空間が割り振られるのかの動的な調整の例とが、
図2〜
図9を参照してさらに説明される。
【0026】
[0034]第2のコンピューティングデバイス120は、プロセッサ122とメモリ124とを含むことができる。特定の実施形態では、メモリ124は、本明細書で説明される様々な動作を実行するためにプロセッサ122によって実行可能な命令を記憶する。第2のコンピューティングデバイス120は、復号器126と受信器128とをも含むことができる。復号器126は、オーディオフレーム131、132、133、および/または134など、受信器128によって受信される(たとえば、パケット交換ネットワークを介して)オーディオフレームを復号することができる。代替実施形態では、第2のコンピューティングデバイス120は、受信器128に加えて送信器を含むことができ、あるいは、データを送信し、受信するように構成されたトランシーバを含むことができる。
【0027】
[0035]特定の実施形態では、第2のコンピューティングデバイス120は、
図1ではデジッタバッファ129として示されたバッファを含む。受信器128は、受信されたパケット(たとえば、オーディオフレーム)をデジッタバッファ129内に記憶することができる。パケット交換ネットワークを介して送信されるパケットは、順序はずれで到着する可能性があるので、デジッタバッファ129は、たとえばパケットタイムスタンプに基づいて、受信されたパケットを記憶し、並べ直すのに使用され得る。ネットワークエラーの存在下で、復号器126は、パケット(またはその一部)が破壊されるか失われる(たとえば、受信されない)可能性があるので、1つまたは複数のパケットのすべてまたは一部を復号できない場合がある。たとえば、オーディオフレーム131〜134の送信中に、フレーム
N132が失われる場合がある。復号器126は、フレーム
N+2134内の冗長コーディング情報から、失われたフレーム
N132を再構成することができる。冗長コーディング情報の例と失われたオーディオフレームの再構成の例とは、
図2〜
図9を参照してさらに説明される。
【0028】
[0036]動作中に、第1のコンピューティングデバイス110は、オーディオフレーム131〜134を符号化し、パケット交換ネットワークを介して第2のコンピューティングデバイス120に送信することができる。第2のコンピューティングデバイス120は、受信されたオーディオフレームをデジッタバッファ129内にバッファリングすることができる。復号器126は、デジッタバッファ129から記憶されたオーディオフレームを取り出し、そのオーディオフレームを復号することができる。復号器126が、特定のオーディオフレーム(またはその一部)を復号することができない(たとえば、フレームまたはその一部が破壊されているか受信されないので)と決定する時に、復号器126、破壊された/失われたフレームの冗長コーディング情報を含むフレーム(たとえば、オーディオストリーム内でその破壊された/失われたフレームに続く「将来の」フレーム)の可用性についてデジッタバッファ129をチェックすることができる。そのような将来のフレームが使用可能である場合には、復号器126は、特定のオーディオフレーム(またはその一部)を再構成し、復号するのに、将来のフレームからの冗長コーディング情報を使用することができる。したがって、
図1のシステム100は、悪いネットワーク条件の存在下でオーディオ復号性能を改善するのに使用され得る冗長フレーム情報の通信を使用可能にすることができる。
【0029】
[0037]上の説明で、
図1のシステム100によって実行される様々な機能が、ある種の構成要素またはモジュールによって実行されるものとして説明されることに留意されたい。しかし、構成要素およびモジュールのこの分割は、例示のみのためのものである。代替実施形態では、代わりに、特定の構成要素またはモジュールによって実行される機能は、複数の構成要素またはモジュールに分割され得る。その上、代替実施形態では、
図1の2つ以上の構成要素またはモジュールが、単一の構成要素またはモジュールに統合され得る。
図1に示された各構成要素またはモジュールは、ハードウェア(たとえば、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、DSP、コントローラなど)、ソフトウェア(たとえば、プロセッサによって実行可能な命令)、またはその任意の組合せを使用して実施され得る。
【0030】
[0038]
図2と
図3とを参照すると、オーディオフレーム134の例示的実施形態が示されている。オーディオフレーム134は、「LBコア」と指定される、符号化されたLB部分を含むことができる。符号化されたLB部分は、LB線形予測フィルタと励起情報とを含むことができる。たとえば、符号化された低帯域部分は、LB線スペクトル対(LSP)インデックスおよびLB励起201を含むことができる。代替実施形態では、オーディオフレームのLBコアは、異なる情報を含むことができる。オーディオフレーム134は、「HBパラメータ」と指定される、HBパラメータを含むこともできる。HBパラメータは、符号化されたLBコアより少ない空間を占め、オーディオフレームのHB部分を再構成するのに、オーディオ信号コーディングモデルに従って復号器によって使用され得るパラメータのセットを含む。
図2の例では、HBパラメータは、変換されたLB励起202と、HB利得形状203と、HB利得フレーム204と、HB LSPインデックス205とを含むことができる。代替実施形態では、オーディオフレームは、異なるHBパラメータを含むことができる。
【0031】
[0039]特定の実施形態では、LB LSPインデックスおよびLB励起201、変換されたLB励起202、HB利得形状203、HB利得フレーム204、ならびにHB LSPインデックス205は、符号器(たとえば、
図1の符号器116または
図5を参照して説明される符号器500)でのオーディオ分析中に生成される。たとえば、オーディオ信号は、オーディオ信号をLB信号とHB信号とに分離する分析フィルタバンクに通され得る。LB信号およびHB信号は、オーバーラップしてもしなくてもよい。LB信号は、LP係数(LPC)のセットとしてLB信号のスペクトルエンベロープを符号化するLP分析モジュールに入力され得る。変換モジュールは、LPCをLSPに変換することができ、このLSPは、その代わりに、線スペクトル対(LSP)と呼ばれる場合がある。量子化器は、LSPに「最も近い」LB LSPコードブックのエントリを識別することによって、LSPを量子化することができる。量子化器は、201に示されたLB LSPインデックスとしてコードブック内のエントリのインデックスを出力することができる。LB分析モジュールは、201に示されたLB励起と変換されたLB励起202とを生成することもできる。たとえば、LB励起は、LP分析モジュールによって実行されるLP処理中に生成されるLP残差信号を量子化することによって生成される符号化された信号とされ得る。LP残差信号は、予測誤差を表すことができる。
【0032】
[0040]HB分析モジュールは、分析フィルタバンクからHB信号を、LB分析モジュールから低帯域励起信号を受信することができる。HB分析モジュールは、LB LSPインデックスおよびLB励起201を生成するための説明されたプロセスに類似するLPCコーディングと変換と量子化とのプロセスを使用して、HB LSPインデックス205を生成することができる。HB LSPインデックス205は、LB LSPインデックスより少ないビットを占めることができる。HB分析モジュールは、HB利得形状203とHB利得フレーム204とを生成することもできる。HB利得形状203およびHB利得フレーム204は、復号器(たとえば、
図1の復号器126または
図6を参照して説明される復号器)が、HB信号をより正確に再生するためにHB利得形状とフレーム利得とを調整することを可能にすることができる。
【0033】
[0041]冗長フレームコーディング情報の通信が使用可能にされる時には、オーディオフレーム134は、別のオーディオフレームのLB冗長コーディング情報214とHB冗長コーディング情報210とをさらに含む。オーディオフレーム134は、フレームタイプインジケータ215をも含むことができる。
図5〜
図6を参照してさらに説明されるように、例示的実施形態では、フレームタイプインジケータ215は、他のオーディオフレームのフレームタイプを示し、オーディオフレーム134の何ビットがLB冗長コーディング情報214とHB冗長コーディング情報210とに割り振られるのかを示す、3ビットインジケータである。特定の実施形態では、LB冗長コーディング情報214またはHB冗長コーディング情報210は、オプションとされ得る。HB冗長コーディング情報210は、
図2に示されているように、HB利得形状インジケータ211と、HB利得フレームインジケータ212と、HB LSPインジケータ213とを含むことができる。代替実施形態では、HBコーディング情報210は、異なるインジケータまたはインジケータの組合せを含むことができる。たとえば、HB LSPインジケータ213は、超高帯域通信のためにHB冗長コーディング情報210内に含められ得るが、高帯域通信に関しては省略され得る。別の例として、HB利得形状インジケータ211および/またはHB利得フレームインジケータ212は、ある種のタイプのフレームに関して省略され得る。
【0034】
[0042]特定の実施形態では、HB利得形状インジケータ211は、以前のオーディオフレーム(たとえば、フレーム
N132)のHB利得形状に関連する単一ビットインジケータとされ得る。符号器は、フレーム
N132のHB部分とフレーム
N+2134のHB部分との間の相関に基づいて、HB利得形状インジケータ211の値をセットすることができる。たとえば、フレーム
N132とフレーム
N+2134との間のフレーム間正規化HB相関は、次式に基づいて推定され得る。
【0036】
[0043]ここで、X
N(k)は、第Nのフレームの第kの利得形状値である。一例では、1つまたは複数のサブフレームのローリングウィンドウが、フレームあたり4つの利得形状値(たとえば、kが1から4まで変化する)を決定するのに使用され得る。相関値が、しきい値(たとえば、0.75)より大きい場合に、符号器は、HB利得形状インジケータ211の値に第1の値(たとえば、GS_bit=1)をセットする。HB利得形状インジケータ211が第1の値を有する時に、復号器は、フレーム
N132の冗長フレーム復号/再構成中にフレーム
N132の推定されたHB利得形状としてフレーム
N+2134のHB利得形状203を再利用することができる。相関値が、しきい値より小さい場合には、復号器は、HB利得形状インジケータ211の値に第2の値(たとえば、GS_bit=0)をセットする。HB利得形状インジケータ211が第2の値を有する時に、復号器は、推定された利得形状として定数利得形状を使用することができ、あるいは、フレーム
N132の利得形状を推定するために何らかの他の予測方法を実行することができる。
【0037】
[0044]特定の実施形態では、符号器は、HB利得形状相関の代わりにまたはこれに加えて、コードブックインデックス距離に基づいてHB利得形状インジケータ211の値を決定することができる。たとえば、符号器は、HB利得形状情報203を量子化するのに使用されるHB利得形状コードブックを維持し、またはこれへのアクセスを有することができる。符号器は、フレーム
N132のHB利得形状に関連する第1のコードブックインデックスと、フレーム
N+2134のHB利得形状に関連する第2のコードブックインデックスとを決定することができる。符号器は、コードブックインデックスの間の距離(たとえば、リーストミーンズスクエアエラー距離)に基づいて、HB利得形状インジケータ211の値(たとえば、GS_bit=1またはGS_bit=0)をセットすることができる。
【0038】
[0045]HB利得フレームインジケータ212は、単一ビットインジケータまたは複数ビットインジケータとされ得る。特定の実施形態では、HB利得フレームインジケータ212のサイズは、符号器によって動的に調整される。たとえば、パケット交換ネットワークが、有声オーディオフレーム、包括的なオーディオフレーム、遷移オーディオフレーム、および無声オーディオフレームを含む様々なタイプのオーディオフレームを送信するのに使用され得る。無声フレームの利得フレーム量子化に関して、有声/包括的/遷移フレームに関するより広いダイナミックレンジを使用することが有用である場合がある。より粗な利得フレーム量子化が、有声/包括的/遷移フレームに関してHB対LB利得比を効率的に表すのに十分である場合がある。したがって、フレーム
N132が、無声フレームである場合に、符号器は、HB利得フレームインジケータ212に第1のより多い個数のビット(たとえば、3〜6ビット)を割り振ることができる。フレーム
N132が、無声フレームではない場合に、符号器は、HB利得フレームインジケータ212に第2のより少ない個数のビット(たとえば、1〜2ビット)を割り振ることができる。
【0039】
[0046]
図2に示された例では、HB利得フレームインジケータ212は、より多い個数のビット(たとえば、3〜6ビット)を割り振られる。対照的に、
図3は、HB利得フレームインジケータ312が、
図2のHB利得フレームインジケータ212より少ない個数のビット(たとえば、1〜2ビット)を割り振られる例を示す。HB利得フレームインジケータ312は、より少数のビットを割り振られるので、余分のビットが、
図2のLB冗長コーディング情報214より長いLB冗長コーディング情報314を表す際の使用のために使用可能とされ得る。その代わりに、余分なビットは、フレーム
N+2134のLBコアまたはHBパラメータに割り振られ得る。
図2〜
図3では、ビット割振りのこの柔軟性が、3つの分割線250と260と270とを使用して示されている。第1の分割線250は、主コーディング情報を冗長コーディング情報から分離し、符号器が冗長コーディングビットに対する主コーディングビットの比を動的に調整する際に、左右に調整され得る。第2の分割線260は、主コーディング情報内でLBコアとHBパラメータとを分離し、符号器が主コーディング情報内でHBパラメータビットに対するLBコアビットの比を動的に調整する際に、上下に調整され得る。第3の分割線270は、LB冗長コーディング情報とHB冗長コーディング情報とを分離し、符号器がLB冗長ビットのそれに対するHB冗長ビットの比を動的に調整する際に、上下に調整され得る。
【0040】
[0047]特定の実施形態では、符号器は、フレーム
N132および/またはフレーム
N+2134の「クリティカリティ」および/またはフレームタイプに基づいて、フレームの4つの部分の各々に割り振られるビット数を動的に調整する(たとえば、分割線250、260、および/または270を動的に「移動する」)ことができる。例示のために、フレームの4つの部分の間のビット割振りは、以前のフレーム(それに関する冗長コーディング情報がそのフレームに含まれる)のクリティカリティと、そのフレームのより少数のビットをそのフレームの主コーディング情報を表すのに使用可能にすることから生じるオーディオ劣化とのバランスをとることに基づくものとされ得る。ある種のタイプのフレームを復号できないことが、別のタイプのフレームを復号できないことより、リスナにとってより顕著である場合がある。したがって、オーディオ信号のある種のフレームは、他のフレームより「クリティカル」であると考えられ得る。たとえば、オーディオストリームの第1のフレームは、第1のフレームの誤りのある復号が第2のフレームの誤りのある復号より顕著な復号アーティファクトを引き起こす可能性がより高い時に、オーディオストリームの第2のフレームより高い「クリティカリティ」を有することができる。非クリティカルフレームの冗長コーディング情報に割り振られるものより多数のビットが、クリティカルフレームの冗長コーディング情報に割り振られ得る。その代わりにまたはそれに加えて、クリティカルフレームの、非クリティカルフレーム内で割り振られるより少数のビットが、冗長コーディング情報に割り振られ得る。
【0041】
[0048]たとえば、音声フレームは、「全予測」、「雑音励起線形予測(NELP:noise-excited linear prediction)」、「包括的」、および「非予測」フレームタイプに分類され得る。全予測フレームは、話された音声に対応することができ、音声ベースの通信に対応するオーディオ信号内のアクティブフレームの50%以上を構成する可能性がある。NELPフレームは、無声データに対応することができ、フレームの10%〜20%を構成する可能性がある。フレームの残りの30%〜40%は、包括的フレームまたは非予測フレームであり得る。包括的フレームは、コードブックインデックスなどの適応コードブック(ACB)情報と固定コードブック(FCB)情報との両方を含む混合モードフレームとされ得る。非予測フレームは、オーディオ遷移に対応することができ、FCB情報を含むことができる。包括的フレームおよび非予測フレームは、全予測フレームおよびNELPフレームより「自己完結的」とされ得る。したがって、包括的フレームまたは非予測フレームが、破壊されるか受信されない場合に、復号器は、そのフレームを再生成するために他のフレームに頼ることがより少なくできる可能性がある。その結果、包括的フレームおよび非予測フレームは、よりクリティカルと考えられ得るが、全予測フレームおよびNELPフレームは、その特定のフレームに関してより非クリティカルと考えられ得る(全予測フレームおよびNELPフレームの影響は、将来のフレームに関して異なる可能性がある)。
【0042】
[0049]
図2の例では、フレーム
N+2134は、フレーム
N132の冗長コーディング情報を含む。フレーム
N132がクリティカルと考えられる場合には、追加のビットが、冗長コーディング情報に割り振られ得る(たとえば、第1の分割線250が、左に調整され得る)。フレーム
N+2134がクリティカルと考えられる場合には、フレーム
N+2134の品質の劣化を低減できるようにするために、より少数のビットが、冗長コーディング情報に割り振られ得る(たとえば、第1の分割線250が、右に調整され得る)。したがって、フレーム
N+2134がクリティカルと考えられ、フレーム
N132がクリティカルとは考えられない実施形態では、より少数または0個のビットが、冗長コーディング情報に割り振られ得る。逆に、フレーム
N+2134がクリティカルとは考えられず、フレーム
N132がクリティカルと考えられる実施形態では、より多数のビットが、冗長コーディング情報に割り振られ得る。したがって、HBパラメータ、LBコア、LB冗長コーディング情報、および/またはHB冗長コーディング情報に割り振られるビット数は、フレーム
N132のフレームタイプおよび/またはフレーム
N+2134のフレームタイプに基づいて決定され得る。
【0043】
[0050]特定の実施形態では、HB利得フレームインジケータ212が、第1の個数のビット(たとえば、3〜6ビット)を割り振られる時に、第1の個数のビットは、コードブックインデックスを表すのに使用される。HB利得フレームインジケータ212が、第2の個数のビット(たとえば、1ビット)を割り振られる時に、第2の個数のビットは、コードブックのどちらの半分がフレーム
N132のHB利得フレームに対応するのかを示すのに使用される。
【0044】
[0051]一例として
図4を参照すると、オーディオフレーム131〜134は、それぞれHB利得フレーム値1.6と3.6と1.6と1.0とを有することができ、HB利得フレームコードブックは、8つのインデックスを含むことができる。フレーム
N132が、無声フレームである場合に、HB利得フレームインジケータ212は、値「100」をセットされたすなわち、3.6のHB利得フレーム値に対応するコードブックインデックス4の2進表現である、3ビットを割り振られる。そうではない場合には、HB利得フレームインジケータ212は、3.6のHB利得フレーム値がコードブックの第1の位置(たとえば、インデックス4〜7に対応する上半分)にあることを示す「1」をセットされた1ビットを割り振られる。この値は、HB利得フレーム値がコードブックの第2の位置(たとえば、インデックス0〜3に対応する下半分)にある場合には、「0」がセットされるはずである。復号器は、フレーム
NのHB利得フレーム値を推定するために、フレーム
NのHB利得フレーム値が上半分にあるという情報と一緒に、以前のフレーム(たとえば、フレーム
N-1)のHB利得フレーム値を使用することができる。
【0045】
[0052]したがって、特定の実施形態では、HB利得フレームインジケータ212は、以下のCスタイルの擬似コードに従って、符号器によって割り振られ、セットされ得る。
【0047】
[0053]HB LSPインジケータ213は、フレーム
N132のHB LSPをどのように導出すべきかを受信器に知らせる単一ビットインジケータとされ得る。HB LSPインジケータ213の値を決定するために、符号器は、フレーム
N132とフレーム
N+2134との間のスペクトルひずみメトリックを使用して、フレーム間HB LSP変動を推定することができる。その代わりにまたはそれに加えて、オーディオフレームのHB LSPインデックスの間のコードブックインデックス距離が、使用され得る。フレーム
Nとフレーム
N+2との間のスペクトル変動が、特定のしきい値(たとえば、2デシベル(dB))未満である時には、符号器は、HB LSPインジケータ213に第1の値(たとえば、HBLSP_bit=0)をセットすることができる。HB LSPインジケータ213が第1の値を有する時に、復号器は、フレーム
Nの推定されたHB LSPインデックスとして、フレーム
N+2のHB LSPインデックス205を使用することができる。スペクトル変動が、特定のしきい値(たとえば、2dB)以上である時には、符号器は、HB LSPインジケータ213に第2の値(たとえば、HBLSP_bit=1)をセットすることができる。HB LSPインジケータ213が第2の値を有する時に、復号器は、補間または外挿によってフレーム
NのHB LSPインデックスを導出することができる。たとえば、スペクトル変動が、しきい範囲以内である(たとえば、2dB<変動<4dB)場合には、復号器は、フレーム
N-1からフレーム
N+2までのHB LSPを補間することによってフレーム
NのHB LSPインデックスを導出することができる。スペクトル変動が、しきい範囲の外である(たとえば、>=4dB)場合には、復号器は、以前のフレーム(たとえば、フレーム
N-1およびフレーム
N-2)から外挿することによって、フレーム
NのHB LSPインデックスを導出することができる。
【0048】
[0054]代替実施形態では、HB LSPインジケータ213の値をセットするために、符号器は、フレーム
NのHB LSPとフレーム
N+2のHB LSPとの間の差(たとえば、デルタ)を決定することができる。符号器は、差に基づいてHB LSPインジケータ213の値をセットすることができ、復号器は、フレーム
N+2のHB LSPからフレーム
NのHB LSPを導出するのにHB LSPインジケータ213の値を使用することができる。代替実施形態では、HB LSPインジケータ123は、冗長コーディング情報内に含まれない。
【0049】
[0055]したがって、
図2〜
図4を参照して説明されるように、符号器は、どれほどの空間がHB冗長コーディング情報210によって占められるのかを動的に調整することができ、復号器が失われたフレーム(またはその一部)を再構成することを可能にするために、HB冗長コーディング情報210の値をセットすることができる。
【0050】
[0056]
図5を参照すると、符号器500の特定の実施形態が示されている。例示的実施形態では、符号器500は、
図1の符号器116に対応する。符号器500は、並列に動作する2つの符号化経路すなわち、主符号化経路510と冗長(その代わりに「部分的コピー」と呼ばれる)符号化経路520とを含む。符号化経路510および520は、フレーマ(またはビットマルチプレクサ)540に結合される。
図5では、符号化経路510および520は、共有メモリ530を介して通信するように構成される。共有メモリ530は、キャッシュベースのメモリ、抵抗ベースのメモリ、またはプロセッサ(たとえば、DSP)の他のメモリに対応することができる。代替実施形態では、符号化経路510および520は、別の機構を使用して通信することができる。
【0051】
[0057]動作中に、符号化されるべき各オーディオフレームのフレームデータは、主符号化経路510と冗長符号化経路520との両方に提供され得る。たとえば、
図5は、それぞれフレーム
N-2551、フレーム
N132、フレーム
N+2134、およびフレーム
N+4554のフレームデータ501、502、503、および504が、両方の符号化経路510と520とに提供されることを示す。介在するフレームに関するフレームデータ(たとえば、フレーム
N-1131、フレーム
N+1133、およびフレーム
N+3)は、図示を簡単にするために図示されていない。主符号化経路510は、オーディオフレームの主コーディング情報を生成することができ、冗長符号化経路520は、オーディオフレームの冗長情報を生成することができる。ビットマルチプレクサまたはフレーマ540は、符号化されたオーディオフレームを生成するために、符号化経路510と520とから受信されるビットを連結することができる。
図5の例では、フレーマ540は、各々が宛先デバイスへの通信のためにパケット化およびトランスポートシステムに供給される、フレーム
N-2551と、フレーム
N132と、フレーム
N+2134と、フレーム
N+4554とを生成する。
【0052】
[0058]主符号化経路510によって実行される符号化動作は、冗長符号化経路520によって実行される符号化動作に依存することができ、逆も同様である。例示のために、符号器500は、13.2kbpsのビットレートでオーディオフレームを符号化することができ、各フレームは、264ビットを含むことができる(代替実施形態では、異なるビットレートおよび異なるビット数を使用することができる)。主符号化経路510は、冗長符号化経路520が以前のフレームの冗長コーディング情報を符号化するのに何ビットを使用したのかに基づいて、264ビットのうちのどれほどが、フレームの主コーディング情報(たとえば、LBコアおよびHBパラメータ)を符号化するのに使用可能であるのかを決定することができる。冗長符号化経路520は、フレームの主符号化中に主符号化経路510によって決定されるパラメータに基づいて、そのフレームの冗長コーディング情報を符号化することができる。したがって、
図5の共有メモリ530を使用して示されるように、主符号化経路510は、LB/HBパラメータを冗長符号化経路520に通信することができ、冗長符号化経路520は、フレームの冗長符号化を実行するのに使用されるビット数を主符号化経路510に通信することができる。
【0053】
[0059]主符号化経路510が、フレーム
N-2551のフレームデータ501を受信する時に、主符号化経路510は、冗長符号化経路520がフレーム
N-4(図示せず)の冗長符号化を実行するのに何ビットを使用したのかを決定することができる。
図5の例では、冗長符号化は、フレーム
N-4に関して実行されなかった。したがって、主符号化経路510は、フレームデータ501から生成される主コーディング情報にすべての使用可能な264ビットを割り振ることができ、フレーム
N-2551は、主符号化経路510から受信される264個の符号化されたビットを含むことができる。例示のために、
図2〜
図3に関して説明されたように、264ビットは、他の代替物の中でも、LSPインデックス、ACB情報、FCB情報、励起情報、変換された励起情報、利得形状方法、および/または利得フレーム情報を含むことができる。フレームデータ501に関して主符号化経路510によって実行される動作と並列に、冗長符号化経路520は、フレーム
N-2551の冗長符号化に何ビットを使用すべきかを決定することができる。
図5の例では、フレーム
N-2551の冗長符号化は、実行されない(たとえば、フレーム
N-2551が、「非クリティカル」であると決定される)。例示的実施形態では、冗長符号化経路520は、フレームのフレームタイプに基づいて、フレームの冗長符号化に何ビットを使用すべきかを決定する。たとえば、41ビットが、NELPフレームの冗長符号化に使用され得、58ビットが、全予測フレームの冗長符号化に使用され得、72ビットが、包括的フレームの冗長符号化に使用され得る(代替実施形態では、異なるビット数が、様々なフレームタイプに関して使用され得る)。41ビットが使用される時、58ビットが使用される時、72ビットが使用される時などに表される特定のLB/HB冗長フレーム情報は、産業標準規格(たとえば、3rd Generation Partnership Project(3GPP(登録商標))EVS標準規格)で指定され得る。
【0054】
[0060]主符号化経路510が、フレーム
N132のフレームデータ502を受信する時に、主符号化経路510は、冗長符号化経路520がフレームフレームN−2551の冗長符号化を実行するのに何ビットを使用したのかを決定することができる。冗長コーディングが、フレーム
N-2551に関して実行されなかったので、主符号化経路510は、フレームデータ502から導出されるLBコアとHBパラメータとを表すのにすべての264個の使用可能なビットを使用することができ、フレーマ540によって出力されるフレーム
N132は、主符号化経路510から受信された264個の符号化されたビットを含むことができる。冗長符号化経路520は、フレーム
N132の冗長符号化を実行するのに41ビットを使用することができる(たとえば、フレーム
N132が、NELPフレームである場合がある)。具体的には、41ビットは、フレーム
N132の主符号化中に主符号化経路510によって決定されるある種の「クリティカル」LB/HBパラメータを表すのに使用され得る。例示のために、
図2〜
図3を参照して説明されたように、冗長コーディング情報は、他の代替物の中でも、利得形状情報、利得フレーム情報、および/またはLSP情報を含むことができる。フレーム
N132の41ビット冗長コーディングは、後続使用のために記憶され得る(たとえば、共有メモリ530内に)。
【0055】
[0061]主符号化経路510が、フレーム
N+2134のフレームデータ503を受信する時に、主符号化経路510は、41ビットがフレーム
N132の冗長符号化のために使用されたと決定することができる(たとえば、共有メモリ530に記憶されたデータに基づいて)。したがって、主符号化経路510は、フレーム
N+2134のLBコア情報とHPパラメータ情報とを符号化するのに、264−41=223ビットを使用することができる。冗長符号化経路520は、フレーム
N+2134の冗長符号化を実行するのに72ビットを使用すると決定することができる(たとえば、フレーム
N+2134が、包括的フレームである場合がある)。主符号化経路510によって決定されるフレーム
N+2134の選択されたパラメータを表すことができる、フレーム
N+2134の72ビット冗長コーディングは、後続使用のために記憶され得る。フレーマ540は、図示されているように、フレーム
N+2134を生成するために、主符号化経路510から受信された223ビット主符号化を、フレーム
N132の以前に記憶された41ビット冗長コーディングと連結することができる。
【0056】
[0062]主符号化経路510が、フレーム
N+4554のフレームデータ504を受信する時に、主符号化経路510は、72ビットがフレーム
N+2134の冗長符号化に使用されたと決定することができる。したがって、主符号化経路510は、フレーム
N+4554のLBコア情報とHPパラメータ情報とを符号化するのに264−72=192ビットを使用することができる。並列に、冗長符号化経路520は、フレーム
N+4554の冗長符号化を実行することができる。フレーマ540は、図示されているように、フレーム
N+4554を生成するために、主符号化経路510から受信された192ビット主符号化を、フレーム
N+2134の以前に記憶された72ビット冗長コーディングと連結することができる。
【0057】
[0063]特定の実施形態では、符号化されたフレームの最後の3ビットは、そのフレームに含まれる冗長コーディングデータのフレームタイプインジケータを表す。たとえば、フレーム
N-2551および符号化されたフレーム
N132は、別のフレームの冗長コーディング情報を全く含まないので、フレーム
N-2551およびフレーム
N132の最後の3ビットは、第1の値(たとえば、000)を有することができる。フレーム
N+2134は、41ビットの冗長コーディング情報を含み、フレーム
NはNELPフレームなので、フレーム
N+2134の最後の3ビットは、第2の値(たとえば、001または別の一意の3ビット値)を有することができる。フレーム
N+4554は、72ビットの冗長コーディング情報を含み、フレーム
N+2134は包括的フレームなので、フレーム
N+4554の最後の3ビットは、第3の値(たとえば、010または別の一意の3ビット値)を有することができる。3ビットフレームタイプインジケータの追加の値は、他のフレームタイプを示し、他の情報(たとえば、周波数領域部分的コピー)をシグナリングするのに使用され得る。したがって、説明される例では、各フレームの最後の3ビットは、以前のフレームのフレームタイプと、以前のフレームの冗長コーディング情報のうちの何ビットがそのフレームに含まれるのかとを示す。したがって、264ビットのうちの261ビットが、主符号化経路510と冗長符号化経路520との間で共有され得、残りの3ビットは、冗長フレームタイプインジケータのために予約され得る。
【0058】
[0064]符号化されたオーディオフレームは、受信されたオーディオフレームを復号することのできる宛先デバイス(たとえば、
図1の第2のコンピューティングデバイス120)へ、ソースデバイス(たとえば、
図1の第1のコンピューティングデバイス110)によって送信され得る。たとえば、
図6は、受信されたオーディオフレームを復号するように動作可能な復号器600の特定の実施形態を示す。復号器600は、
図1の復号器126に対応することができる。復号器600は、デジッタバッファ610(たとえば、
図1のデジッタバッファ129に対応する)を含む。符号器500は、並列の符号化経路510〜520を含むが、復号器600は、単一の復号経路620を含む。
【0059】
[0065]オーディオフレームが受信器によって受信される時に、それらのオーディオフレームは、デジッタバッファ610に記憶され得る。
図1を参照して説明されたように、ネットワーク条件に起因して、ソースデバイスによって宛先デバイスに送られたフレームは、順序はずれで到着する場合があり、破壊される場合があり、あるいは全く到着しない場合がある。復号経路620は、フレームシーケンスに従って(たとえば、フレームシーケンス番号またはオーディオフレームに含まれる他のシーケンシング情報に基づいて)デジッタバッファ610からフレームを取り出すことができる。たとえば、復号経路620は、フレーム
N132の前にフレーム
N-2551を、フレーム
N+2134の前にフレーム
N132を、フレーム
N+4554の前にフレーム
N+2134を、取り出し、復号することを試みることができる。例示の簡単さのために、介在するフレームの復号(たとえば、フレーム
N-1131、フレーム
N+1133、およびフレーム
N+3)は、
図6には図示されていない。
【0060】
[0066]フレーム
N-2551の復号を開始するために、復号経路620は、フレーム
N-2551がデジッタバッファ610内で使用可能であるかどうかをチェックすることができる。
図6の例では、フレーム
N-2551は、デジッタバッファ610内で使用可能である。復号経路620は、フレーム
N-2551のうちの何ビットが、別のフレームの冗長コーディング情報に使用されつつあるのかを決定することができる。たとえば、フレーム
N-2134の最後の3ビットが値000を有する(
図5を参照して説明されたように)ことに基づいて、復号経路620は、フレーム
N-2134のどのビットも冗長フレーム情報を表さないと決定することができる。したがって、復号経路620は、651に示されているようにフレーム
N-2551の261ビットのすべてを取り出すことができ、復号されたデータ601を生成することができる。復号されたデータ601は、再生のために出力デバイス(たとえば、スピーカ)に供給され得る。符号器500で実行される符号化の品質と復号器600で実行される復号の品質とに依存して、データ601が、
図5のデータ501と同一またはその近似である可能性があることを了解されたい。261個の主ビットに基づくフレーム
N-2551の復号中に、特定の復号パラメータの値が、後続フレームの復号中の使用のために主復号メモリ622に記憶され得る。
【0061】
[0067]
図6の例では、フレーム
N132は、デジッタバッファ610内で使用可能ではない。代替案では、復号経路620は、フレーム
N132がデジッタバッファ610内で使用可能であると決定することができるが、エラーが、フレーム
N132の主ビットの復号中に発生する場合がある。どちらの場合でも、復号経路620は、フレーム
N132の冗長フレーム情報がデジッタバッファ610内で使用可能であるかどうかをチェックすることができる。たとえば、主コーディング情報と冗長コーディング情報との間の2フレームの既知のオフセット(他の実施形態では、他のオフセット、たとえば3、5、または7が使用され得る)に基づいて、復号経路620は、フレーム
N+2134がデジッタバッファ610内で使用可能であるかどうかをチェックすることができる。フレーム
N+2134も使用不能である場合には、復号経路620は、フレーム
N132の復号されたデータ602を生成するために、誤り隠蔽手順を開始することができる。しかし、
図6の例では、フレーム
N+2134が、デジッタバッファ610内で使用可能である。フレーム
N+2134の最後の3ビットが値001を有する(
図5を参照して説明されたように)ことに基づいて、復号経路620は、フレーム
N+2134の41ビットが、フレーム
N132の冗長コーディング情報を表すと決定することができる。復号経路620は、652に示されているように、フレーム
N132の41個の冗長コーディングビットを取り出すことができ、データ602を生成することができる。したがって、復号経路620は、何個の冗長コーディングビットが使用可能であるのかを決定し、決定された個数に基づいて冗長コーディングビットを取り出すことができる(たとえば、X個の冗長コーディングビットが使用可能である時に、復号経路620は、OFFSETによって決定されるパケットシーケンス番号に関連する、デジッタバッファ610内に記憶されたフレームまたはパケットの最後のXビットを取り出すことができる)。
図6では、冗長フレーム情報から生成された復号されたデータ(たとえば、データ602)は、斜線パターンを使用して示される。41ビットの冗長コーディング情報に基づくフレーム
N132の復号中に、ある種のパラメータの値が、後続使用のために冗長復号メモリ624に記憶され得る。代替実施形態では、冗長復号メモリ624および主復号メモリ622は、オーバーラップすることができ、あるいは、同一とされ得る。
【0062】
[0068]したがって、復号経路620は、主ビットに基づく復号と冗長ビットに基づく復号とに関して別々のメモリを維持することができる。特定の実施形態では、主復号メモリ622内のデータは、他の主ビットの復号中に使用され得るが、冗長ビットの復号中には使用され得ない。同様に、冗長復号メモリ624からのデータは、冗長ビットの復号中に使用され得るが、主ビットの復号中には使用され得ない。代替実施形態では、主復号メモリ622からのデータが、冗長ビットの復号中に使用され得、および/または冗長復号メモリ624からのデータが、主ビットの復号中に使用され得る。たとえば、複数の以前に復号されたフレームからのパラメータが、「現在の」フレームのパラメータの補間中および/または予測中に使用され得る。
【0063】
[0069]復号経路620は、フレーム
N-2551について説明されたように、デジッタバッファ610内で使用可能であるフレーム
N+2134とフレーム
N+4554とを復号することができる。フレーム
N+2134の最後の3ビットが値001を有する(
図5を参照して説明されたように)ことに基づいて、復号経路620は、復号されたデータ603を生成するために、653に示されているように、フレーム
N+2134の264−41=223個の主ビットを取り出すことができる。フレーム
N+4554の最後の3ビットが値010を有する(
図5を参照して説明されたように)ことに基づいて、復号経路620は、復号されたデータ604を生成するために、653に示されているように、フレーム
N+4134の264−72=192個の主ビットを取り出すことができる。
【0064】
[0070]復号器600が、「クリーンチャネル」条件で復号を実行する時に、部分的コピーフレームタイプインジケータをも使用することができることに留意されたい。たとえば、フレーム
N132がデジッタバッファ610で受信される時に、フレーム消去条件が、フレーム
N132に関して存在しない場合がある。それでも、復号器600は、フレーム
N+2134のうちの何ビットが主コーディングビットであり、フレーム
N+2134のうちの何ビットがフレーム
N132の部分的コピービットであるのかを決定するために、フレームタイプインジケータを評価することができる。復号経路620は、主コーディングビットに基づいてフレーム
N+2134を復号することができる。フレーム
N132の部分的コピービットは、フレーム
N132がフレーム
N+2134の復号の前に成功して受信され復号され得たので、破棄され得る。したがって、冗長フレーム情報は、雑音のあるチャネル条件(その間にフレームが捨てられ、再構成される可能性がある)ならびにクリーンチャネル条件において、復号器600によって処理され得る。
【0065】
[0071]説明の簡単さのために、
図5の符号化経路510、520および
図6の復号経路620が、ブロック構成要素として図示されていることに留意されたい。しかし、主符号化経路510、冗長符号化経路520、および/または復号経路620が、
図1〜
図4を参照して説明された符号化動作および/または復号動作を実行するように動作可能な副構成要素を含むことができることを理解されたい。たとえば、経路510、520、または620のうちの1つまたは複数が、分析フィルタバンク、LP分析モジュール、変換モジュール、量子化器、HB分析モジュール、ACB、FCBなどを含むことができる。特定の実施形態では、符号化経路510〜520のうちの一方または両方が、復号経路620内にも含まれる復号構成要素を含むことができる(たとえば、符号器500の「局所復号器」として)。
【0066】
[0072]したがって、
図5〜
図6は、冗長フレーム情報を符号化し、復号するのに使用され得る符号器500と復号器600との例を示す。あるフレームの冗長コーディングビットの、後続フレームでの通信は、悪いネットワーク条件の存在の下で宛先デバイスでのオーディオ再構成(たとえば、合成)を改善することができる。たとえば、冗長符号化ビットは、フレームが宛先デバイスで受信されない時に、そのフレームを再構成するのに使用され得る。別の例として、あるフレームの主ビットを復号している間にエラーが発生する時に、そのフレームの冗長符号化ビットが、別のフレームから取り出され得、主ビットの代わりにまたはこれに関連して使用され得る。
【0067】
[0073]
図7〜
図8を参照すると、後続フレーム内に含まれる冗長コーディング情報に基づいてフレームを復号する方法の特定の実施形態のフローチャートが、示されており、全体的に700と指定されている。図示の実施形態では、方法700は、宛先デバイス(たとえば、
図1の第2のコンピューティングデバイス120)および/または復号器(たとえば、
図6の復号器600)で実行され得る。
【0068】
[0074]方法700は、702で、復号器で第2のオーディオフレームを受信する(たとえば、パケット交換ネットワークを介して)ことを含む。第2のオーディオフレームは、オーディオ信号内で第1のオーディオフレームに続く。第2のオーディオフレームは、第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、第1のオーディオフレームのフレームタイプのインジケータとを含む。たとえば、
図6では、復号器600は、オーディオ信号内でフレーム
N132に続くフレーム
N+2134を受信することができる。
【0069】
[0075]方法700は、704で、第2のオーディオフレームをデジッタバッファに記憶することをも含む。たとえば、
図6では、フレーム
N+2134が、デジッタバッファ610に記憶され得る。方法700は、706で、フレーム消去条件が第1のオーディオフレームに関連するかどうかを決定することを含む。フレーム消去条件が第1のオーディオフレームに関連する(たとえば、第1のオーディオフレームが、悪いチャネル条件に起因して捨てられまたは破壊された)ことの決定に応答して、インジケータに基づいて、方法700は、708で、第1のオーディオフレームに関連する冗長コーディング情報に割り振られる第2のオーディオフレームのビットの第2の個数を決定することをさらに含む。たとえば、
図6では、復号経路620が、フレーム
N132がデジッタバッファ610内で使用可能ではないと決定することができ、フレーム
N+2134内のフレームタイプインジケータに基づいて、フレーム
N+2134のうちの41ビットがフレーム
N132の冗長コーディング情報を表すと決定することができる。
【0070】
[0076]方法700は、710で、冗長コーディング情報に基づいて第1のオーディオフレームを復号することを含む。たとえば、
図6では、復号経路620が、フレーム
N+2134に含まれる41ビットの冗長コーディング情報に基づいて、欠けているフレーム
N132またはその近似を復号することができる。
【0071】
[0077]フレーム消去条件が第1のオーディオフレームに関連しない時には、方法700は、712で、第1のオーディオフレーム内の主コーディング情報に基づいて第1のオーディオフレームを復号することを含む。たとえば、クリーンチャネル条件において、フレーム
N132フレームは、以前に受信され、デジッタバッファ610内に記憶されている可能性があり、復号経路620は、フレーム
N132の主コーディングビットに基づいてフレーム
N132を復号することができる。
【0072】
[0078]第1のオーディオフレームが、冗長コーディング情報または主コーディング情報のどちらを使用して復号されるのかにかかわりなく、方法700は、714で、インジケータに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振られた第2のオーディオフレームのビットの第1の個数を決定することを含むことができる。方法700は、716で、主コーディング情報に基づいて第2のオーディオフレームを復号することをも含むことができる。
【0073】
[0079]第2のオーディオフレーム(たとえば、フレーム
N+2134)に含まれる冗長コーディング情報に基づいて第1のオーディオフレーム(たとえば、フレーム
N132)の復号中に実行され得る1つまたは複数の動作の特定の例が、
図8を参照してさらに説明される。したがって、
図8に示された1つまたは複数の動作は、
図7の動作710の一部として実行され得る。いくつかの実施形態では、
図8に示された1つまたは複数の動作が、省略され得る。
図8が、冗長フレーム情報に基づくHB復号を示すことに留意されたい。
図8には示されていないが、冗長フレーム情報に基づくLB復号も、
図7の動作710中に復号器で実行され得る。
【0074】
[0080]復号器は、810で、冗長コーディング情報に含まれる利得形状インジケータの値を決定することができる。812で、利得形状インジケータが第1の値を有する時に、復号器は、第1のオーディオフレームの推定された利得形状として第2のオーディオフレームの高帯域利得形状を使用することができる。たとえば、
図2〜
図3を参照すると、復号器は、HB利得形状203を使用することができる。814で、利得形状インジケータが第2の値を有する時に、復号器は、推定された利得形状として定数利得形状を使用するか、第1のオーディオフレームの利得形状を推定する何らかの他の予測方法を使用することができる。
【0075】
[0081]復号器は、820で、何ビットが冗長コーディング情報内でHB利得フレームインジケータに割り振られるのかを決定することもできる。第1の(たとえば、より大きい)ビット数が割り振られる時に、復号器は、822で、コードブックインデックスとしてHB利得フレームインジケータを使用することによって、第1のオーディオフレームのHB利得フレームを決定することができる。単一ビットなど、第2の(たとえば、より小さい)ビット数が割り振られる時に、復号器は、824で、コードブックの示された部分(たとえば、上半分または下半分)にアクセスすることによって、第1のオーディオフレームのHB利得フレームを決定することができる。
【0076】
[0082]復号器は、さらに、830で、HB LSPインジケータの値を決定することができる。832で、HB LSPインジケータが第1の値を有する時に、復号器は、第1のオーディオフレームの推定されたHB LSPインデックス(またはHB LSP)として第2のオーディオフレームのHB LSPインデックス(またはHB LSP)を使用することができる。HB LSPインジケータが第2の値を有する時に、復号器は、834で、第1のオーディオフレームと第2のオーディオフレームとの間のスペクトルひずみがしきい範囲内にあるかどうかを決定することができる。スペクトルひずみがしきい範囲内にある時に、符号器は、836で、補間(たとえば、フレーム
N-1131とフレーム
N+2134との間で補間すること)を介して第1のオーディオフレームのHB LSPインデックス(またはHB LSP)を決定することができる。スペクトルひずみがしきい範囲の外にある時に、符号器は、838で、外挿(たとえば、フレーム
N-2551およびフレーム
N-1131から外挿すること)を介して第1のオーディオフレームのHB LSPインデックス(またはHB LSP)を決定することができる。
【0077】
[0083]特定の実施形態では、
図7〜
図8の方法700は、CPU、DSP、またはコントローラなどの処理ユニットのハードウェア(たとえば、FPGAデバイス、ASICなど)を介して、ファームウェアデバイスを介して、またはその任意の組合せで実施され得る。例として、
図7〜
図8の方法700は、
図10に関して説明されるように、命令を実行するプロセッサによって実行され得る。
【0078】
[0084]
図9を参照すると、後続フレーム内にフレームの冗長コーディング情報を符号化する方法の特定の実施形態のフローチャートが示され、全体的に900と指定されている。例示的実施形態では、方法900は、ソースデバイス(たとえば、
図1の第1のコンピューティングデバイス110)および/または符号器(たとえば、
図5の符号器500)で実行され得る。
【0079】
[0085]方法900は、902で、オーディオ信号の第1のオーディオフレームを符号化し、送信することを含む。たとえば、
図5では、符号器500が、フレーム
N132を符号化し、送信することができる。方法900は、904で、第1のオーディオフレームのフレームタイプに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振られる第2のオーディオフレームのビットの第1の個数を決定することをも含む。第2のオーディオフレームは、オーディオ信号内で第1のオーディオフレームに続く。第1のオーディオフレームに関連する冗長コーディング情報に割り振られる第2のオーディオフレームのビットの第2の個数も、決定される。たとえば、
図5に示すように、符号器が、フレーム
N132のフレームタイプに基づいて、フレーム
N+2134のうちの41ビットが、フレームフレーム
N132の冗長コーディング情報に割り振られなければならず、フレーム
N+2134のうちの223ビットが、フレーム
N+2134の主コーディング情報に割り振られなければならないと決定することができる。
【0080】
[0086]方法900は、906で、第2のオーディオフレームを符号化することを含む。第2のオーディオフレームは、主コーディング情報のビットの第1の個数と、冗長コーディング情報のビットの第2の個数と、第1のオーディオフレームのフレームタイプのインジケータとを含む。
【0081】
[0087]たとえば、符号器は、908で、単一ビット利得形状インジケータの値をセットすることができる。値は、第1のオーディオフレームと第2のオーディオフレームとのHB部分の間の相関、および/または第1のオーディオフレームと第2のオーディオフレームとのHB利得形状に関連するコードブックインデックスの間の距離に基づいてセットされ得る。
【0082】
[0088]符号器は、910で、特定のビット数をHB利得フレームインジケータに割り振ることができる。特定のビット数は、第1のオーディオフレームが無声フレームであるかどうかに基づいて決定され得る。符号器は、コードブック(たとえば、
図4に示されたHB利得フレームコードブック)に基づいて、割り振られたビットに特定の値をセットすることもできる。
【0083】
[0089]符号器は、912で、第1のオーディオフレームと第2のオーディオフレームとの間のスペクトルひずみ、および/または、第1のオーディオフレームと第2のオーディオフレームとのHB LSPに関連するコードブックインデックスの間の距離に基づいて単一ビットHB LSPインジケータの値をセットすることができる。代替案では、符号器は、914で、第1のオーディオフレームと第2のオーディオフレームとの高帯域LSPの間の差(たとえば、デルタ)を決定し、差に基づいてHB LSPインジケータの値をセットすることができる。代替実施形態では、異なる冗長コーディング情報が、符号器によって決定され得る。さらに、単一ビットまたは複数ビットであるある種のタイプのインジケータの前述の例は、例のためのみのものであり、限定的と考えられてはならないことに留意されたい。代替実施形態では、異なるタイプの主コーディング情報および/または冗長コーディング情報が、異なるビット数を使用して表され得る。
【0084】
[0090]方法900は、916で、第2のオーディオフレームを送信することをさらに含む。たとえば、
図1では、送信器118が、フレーム
N+2134を受信器128に送信することができ、フレーム
N+2134は、フレーム
N132の冗長コーディング情報を含む。
【0085】
[0091]特定の実施形態では、
図9の方法900は、CPU、DSP、またはコントローラなどの処理ユニットのハードウェア(たとえば、FPGAデバイス、ASICなど)を介して、ファームウェアデバイスを介して、またはその任意の組合せで実施され得る。例として、
図9の方法900は、
図10に関して説明されるように、命令を実行するプロセッサによって実行され得る。
【0086】
[0092]
図7〜
図9に示された動作の順序が、例示のためのみのものであり、限定的と考えられてはならないことに留意されたい。代替実施形態では、ある種の動作が、異なる順序で実行され得、および/またはお互いと同時に(または少なくとも部分的に同時に)実行され得る。
【0087】
[0093]
図10を参照すると、ワイヤレス通信デバイスの特定の例示的実施形態のブロック図が、示され、全体的に1000と指定されている。デバイス1000は、メモリ1032(たとえば、コンピュータ可読記憶デバイス)に結合された第1のプロセッサ1010(たとえば、CPU)を含む。デバイス1000は、第2のプロセッサ1080(たとえば、DSP)をも含む。メモリ1032は、
図7〜
図9の方法など、本明細書で開示される方法とプロセスとを実行するために第1のプロセッサ1010および/または第2のプロセッサ1080によって実行可能な命令1060を含むことができる。
【0088】
[0094]第2のプロセッサ1080は、音声符号器1087と、音声復号器1088と、1つまたは複数のコードブック1086(たとえば、LB LSPコードブック、HB LSPコードブック、HB利得形状コードブック、HB利得フレームコードブックなど)を記憶するメモリ1085とを含むことができる。1つまたは複数のコードブック1086は、ACB、FCB、またはその両方を含むことができる。代替実施形態では、音声符号器1087は、
図1の符号器116および/または
図5の符号器500であり、音声復号器1088は、
図1の復号器126および/または
図6の復号器600であり、メモリ1085は、
図1のデジッタバッファ129、
図6の共有メモリ530、および/または
図6のデジッタバッファ610を含む。代替実施形態では、音声符号器1087および/または音声復号器1088は、第2のプロセッサ1088の外部とされ得る(たとえば、第1のプロセッサ1010内または異なるプロセッサもしくはハードウェアブロック内に含まれ得る)。音声符号器1087および音声復号器1088は、専用ハードウェア(たとえば、回路網)を介して、1つまたは複数のタスクを実行するために命令を実行するプロセッサによって、またはその組合せで実施され得る。一例として、メモリ1032またはメモリ1085は、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルク注入MRAM(STT−MRAM)、フラッシュメモリ、読取専用メモリ(ROM)、プログラマブル読取専用メモリ(PROM)、消去可能プログラマブル読取専用メモリ(EPROM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、または光ディスクメモリ(たとえば、コンパクトディスク読取専用メモリ(CD−ROM)、デジタルビデオディスク(DVD)、ブルーレイ(登録商標)ディスクなど)などのメモリデバイスとされ得る。メモリデバイスは、コンピュータ(たとえば、第1のプロセッサ1010および/または第2のプロセッサ1080)によって実行された時に、そのコンピュータに、本明細書に記載された様々な動作を実行させる命令(たとえば、命令1060)を含むことができる。
【0089】
[0095]
図10は、第1のプロセッサ1010とディスプレイ1028とに結合されたディスプレイコントローラ1026をも示す。コーダ/デコーダ(コーデック)1034は、図示のように、第1のプロセッサ1010と第2のプロセッサ1080に結合され得る。スピーカ1036およびマイクロホン1038は、コーデック1034に結合され得る。特定の実施形態では、コーデック1034は、アナログオーディオ処理フロントエンド構成要素である。たとえば、コーデック1034は、マイクロホン1038から受信される信号とスピーカ1036に送信される信号とに関するアナログ利得調整とパラメータセッティングとを実行することができる。コーデック1034は、アナログ−デジタル(A/D)変換器とデジタル−アナログ(D/A)変換器とを含むこともできる。特定の例では、コーデック1034は、1つまたは複数の変調器と信号処理フィルタとをも含む。選択された実施形態では、コーデック1034は、マイクロホン1038から受信された入力データをバッファリングし、スピーカ1036に供給される出力データをバッファリングする、メモリを含む。
【0090】
[0096]
図10は、ワイヤレスコントローラ1040が第1のプロセッサ1010とアンテナ1042に結合され得ることをも示す。特定の実施形態では、第1のプロセッサ1010、第2のプロセッサ1080、ディスプレイコントローラ1026、メモリ1032、コーデック1034、およびワイヤレスコントローラ1040は、システムインパッケージまたはシステムオンチップデバイス(たとえば、mobile station modem(MSM))1022内に含まれる。特定の実施形態では、タッチスクリーンおよび/またはキーパッドなどの入力デバイス1030および電源1044は、システムオンチップデバイス1022に結合される。さらに、特定の実施形態では、
図10に示されているように、ディスプレイ1028、入力デバイス1030、スピーカ1036、マイクロホン1038、アンテナ1042、および電源1044は、システムオンチップデバイス1022の外部である。しかしながら、ディスプレイ1028、入力デバイス1030、スピーカ1036、マイクロホン1038、アンテナ1042、および電源1044の各々は、インターフェースまたはコントローラなど、システムオンチップデバイス1022の構成要素に結合され得る。
【0091】
[0097]説明された実施形態に関連して、第2のオーディオフレームを受信するための手段を含む装置が開示され、第2のオーディオフレームは、オーディオ信号内で第1のオーディオフレームに続く。第2のオーディオフレームは、第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、第1のオーディオフレームのフレームタイプのインジケータとを含む。たとえば、受信するための手段は、
図1の受信器128、
図10のアンテナ1042、
図10のワイヤレスコントローラ1040、オーディオフレームを受信するように構成された1つまたは複数のデバイス、またはその任意の組合せを含むことができる。この装置は、インジケータに基づいて、第1のオーディオフレームに関連する冗長コーディング情報に割り振られる第2のオーディオフレームのビットの第2の個数を決定するための手段をも含むことができる。たとえば、決定するための手段は、
図1のプロセッサ122、
図1の復号器126、
図6の復号器600、
図10の第1のプロセッサ1010、
図10の第2のプロセッサ1080、
図10の音声復号器1088、冗長コーディング情報に割り振られたビット数を決定するように構成された1つまたは複数のデバイス、またはその任意の組合せを含むことができる。この装置は、冗長コーディング情報に基づいて第1のオーディオフレームを復号するための手段をも含むことができる。たとえば、復号するための手段は、
図1の復号器126、
図6の復号器600、
図10の第1のプロセッサ1010、
図10の第2のプロセッサ1080、
図10の音声復号器1088、冗長コーディング情報に基づいてオーディオフレームを復号するように構成された1つまたは複数のデバイス、またはその任意の組合せを含むことができる。
【0092】
[0098]オーディオ信号の第1のオーディオフレームとオーディオ信号の第2のオーディオフレームとを符号化するための手段を含む第2の装置が、開示され、第2のオーディオフレームは、オーディオ信号内で第1のオーディオフレームに続く。たとえば、符号化するための手段は、
図1の符号器116、
図5の符号器500、
図10の第1のプロセッサ1010、
図10の第2のプロセッサ1080、
図10の音声符号器1087、オーディオフレームを符号化するように構成された1つまたは複数のデバイス、またはその任意の組合せを含むことができる。この装置は、第1のオーディオフレームのフレームタイプに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振られる第2のオーディオフレームのビットの第1の個数と、第1のオーディオフレームに関連する冗長コーディング情報に割り振られる第2のオーディオフレームのビットの第2の個数とを決定するための手段をも含むことができる。たとえば、決定するための手段は、
図1のプロセッサ112、
図1の符号器116、
図1の符号器500、
図10の第1のプロセッサ1010、
図10の第2のプロセッサ1080、
図10の音声符号器1087、主コーディング情報と冗長コーディング情報とに割り振られるビットを決定するように構成された1つまたは複数のデバイス、またはその任意の組合せを含むことができる。この装置は、第1のオーディオフレームと第2のオーディオフレームとを宛先デバイスに送信するための手段をも含むことができる。第2のオーディオフレームは、主コーディング情報のビットの第1の個数と、冗長コーディング情報のビットの第2の個数と、第1のオーディオフレームのフレームタイプのインジケータとを含む。たとえば、送信するための手段は、
図1の送信器118、
図10のアンテナ1042、
図10のワイヤレスコントローラ1040、オーディオフレームを送信するように構成された1つまたは複数のデバイス、またはその任意の組合せを含むことができる。
【0093】
[0099]当業者は、本明細書で開示される実施形態に関連して説明された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップが、電子ハードウェア、ハードウェアプロセッサなどの処理デバイスによって実行されるコンピュータソフトウェア、または両方の組合せとして実施され得ることをさらに了解する。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップは、上記で機能に関して一般的に説明されてきた。そのような機能がハードウェアまたは実行可能ソフトウェアのどちらとして実装されるのかは、特定の応用例と全体的なシステムに課される設計制約とに依存する。当業者は、説明された機能性を各特定の応用例のために様々な形で実施することができるが、そのような実施決定は、本開示の範囲からの逸脱を引き起こすものと解釈されてはならない。
【0094】
[00100]本明細書で開示される実施形態に関して説明された方法またはアルゴリズムのステップは、ハードウェアで直接に、プロセッサによって実行されるソフトウェアモジュール内で、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAM、MRAM、STT−MRAM、フラッシュメモリ、ROM、PROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、または光ディスクメモリなどのメモリデバイス(たとえば、コンピュータ可読またはプロセッサ可読のストレージデバイス)内に存在することができる。例示的なメモリデバイスは、プロセッサがメモリデバイスから情報を読み取り、メモリデバイスに情報を書き込むことができるように、プロセッサに結合される。代替案では、メモリデバイスは、プロセッサと一体とされ得る。プロセッサおよび記憶媒体は、ASIC内に存在することができる。ASICは、コンピューティングデバイスまたはユーザ端末内に存在することができる。代替案では、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末内に別個の構成要素として存在することができる。コンピュータ可読またはプロセッサ可読のストレージデバイスは、信号ではない。
【0095】
[00101]開示される実施形態の前の説明は、当業者が開示される実施形態を作りまたは使用することを可能にするために提供されるものである。これらの実施形態に対する様々な修正は、当業者には容易に明らかになり、本明細書で定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書に示されている実施形態に限定されることを意図されておらず、以下の特許請求の範囲によって定義される原理および新規な特徴と一致する可能な最も広い範囲を与えられるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] コンピューティングデバイスの復号器で第2のオーディオフレームを受信することと、ここにおいて、前記第2のオーディオフレームは、オーディオ信号内で第1のオーディオフレームに続く、ここにおいて、前記第2のオーディオフレームは、前記第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、前記第1のオーディオフレームのフレームタイプのインジケータとを含む、
前記第1のオーディオフレームに関連するフレーム消去条件に応答して、前記インジケータに基づいて、前記第1のオーディオフレームに関連する前記冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの前記第2の個数を決定することと、
前記冗長コーディング情報に基づいて前記第1のオーディオフレームを復号することと を備える、フレームを復号する方法。
[C2] 前記主コーディング情報に基づいて前記第2のオーディオフレームを復号することをさらに備え、ここにおいて、前記冗長コーディング情報に基づいて前記第1のオーディオフレームを復号することおよび前記主コーディング情報に基づいて前記第2のオーディオフレームを復号することは、前記復号器の単一の復号経路で実行される、C1に記載の方法。
[C3] ビットの前記決定された第2の個数に基づいて、前記第2のオーディオフレームから前記冗長コーディング情報を取り出すことをさらに備える、C1に記載の方法。
[C4] 前記フレーム消去条件は、前記復号器が前記第1のオーディオフレームの少なくとも一部を復号できないことまたは前記コンピューティングデバイスが前記第1のオーディオフレームの前記一部を受信しなかったことの決定に対応し、前記方法は、前記冗長コーディング情報に基づいて前記コンピューティングデバイスで前記第1のオーディオフレームの前記一部を再生成することをさらに備える、C1に記載の方法。
[C5] 前記主コーディング情報は、前記第2のオーディオフレームの符号化された低帯域コアと前記第2のオーディオフレームの高帯域パラメータとを含み、
前記冗長コーディング情報は、前記第1のオーディオフレームの符号化された低帯域コアと前記第1のオーディオフレームの高帯域パラメータに関連する
C1に記載の方法。
[C6] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域利得形状に関連する利得形状インジケータを含む、C1に記載の方法。
[C7] 前記利得形状インジケータが第1の値を有することの決定に応答して、前記第1のオーディオフレームの推定された高帯域利得形状として前記第2のオーディオフレームの高帯域利得形状を使用することをさらに備える、C6に記載の方法。
[C8] 前記利得形状インジケータが第2の値を有することの決定に応答して、前記第1のオーディオフレームの推定された高帯域利得形状として定数利得形状を使用することをさらに備える、C6に記載の方法。
[C9] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域利得フレームに関連する高帯域利得フレームインジケータを含む、C1に記載の方法。
[C10] 前記高帯域利得フレームインジケータは、コードブックインデックスを表す、C9に記載の方法。
[C11] 前記高帯域利得フレームインジケータは、前記第1のオーディオフレームの前記高帯域利得フレームが、大きいコードブックインデックスに対応するコードブックの第1の部分内または小さいコードブックインデックスに対応する前記コードブックの第2の部分内のどちらのコードブックインデックスに対応するのかを示す、C9に記載の方法。
[C12] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域線スペクトル対(LSP)に関連する高帯域LSPインジケータを含む、C1に記載の方法。
[C13] 前記高帯域LSPインジケータが第1の値を有することの決定に応答して、前記第1のオーディオフレームの推定された高帯域LSPとして前記第2のオーディオフレームの高帯域LSPを使用することをさらに備える、C12に記載の方法。
[C14] 前記高帯域LSPインジケータが第2の値を有することの決定に応答して、
前記第2のオーディオフレームの前記高帯域LSPと前記第1のオーディオフレームに先行する少なくとも1つのオーディオフレームの高帯域LSPとの補間、または、
前記第1のオーディオフレームに先行する複数のオーディオフレームの高帯域LSPの外挿
に基づいて前記第1のオーディオフレームの推定された高帯域LSPを決定することをさらに備える、C12に記載の方法。
[C15] 前記高帯域LSPインジケータは、前記第1のオーディオフレームの前記高帯域LSPと前記第2のオーディオフレームの高帯域LSPとの間の差を示す、C12に記載の方法。
[C16] コンピューティングデバイスの復号器で第1のオーディオフレームと第2のオーディオフレームとを受信することと、ここにおいて、前記第2のオーディオフレームは、オーディオ信号内で前記第1のオーディオフレームに続く、ここにおいて、前記第2のオーディオフレームは、前記第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、前記第1のオーディオフレームのフレームタイプのインジケータとを含む、
前記第1のオーディオフレームを復号することと、
前記インジケータに基づいて、前記第2のオーディオフレームに関連する前記主コーディング情報に割り振られる前記第2のオーディオフレームのビットの前記第1の個数を決定することと、
前記主コーディング情報に基づいて前記第2のオーディオフレームを復号することと を備える、フレームを復号する方法。
[C17] 前記主コーディング情報は、前記第2のオーディオフレームの符号化された低帯域コアと前記第2のオーディオフレームの高帯域パラメータとを含み、
前記冗長コーディング情報は、前記第1のオーディオフレームの符号化された低帯域コアと前記第1のオーディオフレームの高帯域パラメータに関連する
C16に記載の方法。
[C18] 前記第1のオーディオフレームを復号することおよび前記第2のオーディオフレームを復号することは、前記復号器の単一の復号経路で実行される、C16に記載の方法。
[C19] 第1のコンピューティングデバイスの符号器でオーディオ信号の第1のオーディオフレームを符号化することと、
前記第1のオーディオフレームを前記第1のコンピューティングデバイスから第2のコンピューティングデバイスに送信することと、
前記第1のオーディオフレームのフレームタイプに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振られる前記第2のオーディオフレームのビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの第2の個数とを決定することと、ここにおいて、前記第2のオーディオフレームは、前記オーディオ信号内で前記第1のオーディオフレームに続く、
前記第2のオーディオフレームを符号化することと、ここにおいて、前記第2のオーディオフレームは、主コーディング情報のビットの前記第1の個数と、冗長コーディング情報のビットの前記第2の個数と、前記第1のオーディオフレームの前記フレームタイプのインジケータとを含む、
前記第2のオーディオフレームを前記第1のコンピューティングデバイスから前記第2のコンピューティングデバイスに送信することと
を備える、フレームを符号化する方法。
[C20] 前記主コーディング情報は、前記符号器の第1の符号化経路で符号化される、ここにおいて、前記冗長コーディング情報は、前記符号器の第2の符号化経路で符号化される、C19に記載の方法。
[C21] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域利得形状に関連する利得形状インジケータを含み、前記方法は、
前記第1のオーディオフレームの高帯域部分と前記第2のオーディオフレームの高帯域部分との間の相関、または、
前記第1のオーディオフレームの前記高帯域利得形状に関連する第1のコードブックインデックスと前記第2のオーディオフレームの高帯域利得形状に関連する第2のコードブックインデックスとの間の距離
のうちの1つまたは複数に基づいて前記利得形状インジケータの値をセットすることをさらに備える、C19に記載の方法。
[C22] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域利得フレームに関連する高帯域利得フレームインジケータを含む、C19に記載の方法。
[C23] 前記第1のオーディオフレームが無声フレームである時に、前記高帯域利得フレームインジケータにコードブックインデックスをセットすることをさらに備える、C22に記載の方法。
[C24] 前記第1のオーディオフレームが無声フレームではない時に、前記第1のオーディオフレームの前記高帯域利得フレームが、大きいコードブックインデックスに対応するコードブックの第1の部分内または小さいコードブックインデックスに対応する前記コードブックの第2の部分内のどちらのコードブックインデックスに対応するのかを示す値を前記高帯域利得フレームインジケータにセットすることをさらに備える、C22に記載の方法。
[C25] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域線スペクトル対(LSP)に関連する高帯域LSPインジケータを含み、前記方法は、
前記第1のオーディオフレームと前記第2のオーディオフレームとの間のスペクトルひずみ、または、
前記第1のオーディオフレームの前記高帯域LSPに関連する第1のコードブックインデックスと前記第2のオーディオフレームの高帯域LSPに関連する第2のコードブックインデックスとの間の距離
のうちの1つまたは複数に基づいて前記高帯域LSPインジケータの値をセットすることをさらに備える、C19に記載の方法。
[C26] 前記冗長コーディング情報は、前記第1のオーディオフレームの高帯域線スペクトル対(LSP)に関連する高帯域LSPインジケータを含み、前記方法は、
前記第1のオーディオフレームの前記高帯域LSPと前記第2のオーディオフレームの高帯域LSPとの間の差を決定することと、
前記差に基づいて前記高帯域LSPインジケータの値をセットすることと
をさらに備える、C19に記載の方法。
[C27] オーディオ信号内で第1のオーディオフレームに続く第2のオーディオフレームを受信するように構成された受信器と、ここにおいて、前記第2のオーディオフレームは、前記第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、前記第1のオーディオフレームのフレームタイプのインジケータとを含む、
前記第1のオーディオフレームに関連するフレーム消去条件に応答して、前記インジケータに基づいて、前記第1のオーディオフレームに関連する前記冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの前記第2の個数を決定し、
前記冗長コーディング情報に基づいて前記第1のオーディオフレームを復号する
ように構成された復号器と
を備える装置。
[C28] 前記復号器は、前記第2のオーディオフレームに関連する前記主コーディング情報と前記第1のオーディオフレームに関連する前記冗長コーディング情報とを復号するように構成された単一の復号経路を備える、C27に記載の装置。
[C29] 前記受信器によって受信されたオーディオフレームを記憶するように構成されたデジッタバッファをさらに備える、C27に記載の装置。
[C30] 第1のオーディオフレームとオーディオ信号内で前記第1のオーディオフレームに続く第2のオーディオフレームとを受信するように構成された受信器と、ここにおいて、前記第2のオーディオフレームは、前記第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、前記第1のオーディオフレームのフレームタイプのインジケータとを含む、
前記第1のオーディオフレームを復号し、
前記インジケータに基づいて、前記第2のオーディオフレームに関連する前記主コーディング情報に割り振られる前記第2のオーディオフレームのビットの前記第1の個数を決定し、
前記主コーディング情報に基づいて前記第2のオーディオフレームを復号する
ように構成された復号器と
を備える装置。
[C31] 前記復号器は、前記第1のオーディオフレームと前記第2のオーディオフレームとを復号するように構成された単一の復号経路を備える、C30に記載の装置。
[C32] 前記受信器によって受信されたオーディオフレームを記憶するように構成されたデジッタバッファをさらに備える、C30に記載の装置。
[C33] オーディオ信号の第1のオーディオフレームを符号化し、
前記第1のオーディオフレームのフレームタイプに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振られる前記第2のオーディオフレームのビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの第2の個数とを決定し、ここにおいて、前記第2のオーディオフレームは、前記オーディオ信号内で前記第1のオーディオフレームに続く、
前記第2のオーディオフレームを符号化し、ここにおいて、前記第2のオーディオフレームは、主コーディング情報のビットの前記第1の個数と、冗長コーディング情報のビットの前記第2の個数と、前記第1のオーディオフレームの前記フレームタイプのインジケータとを含む、
ように構成された符号器と、
前記第1のオーディオフレームと前記第2のオーディオフレームとを宛先デバイスに送信するように構成された送信器と
を備える装置。
[C34] 前記符号器は、主符号化経路を備える、C33に記載の装置。
[C35] 主コーディング情報のビットの前記第1の個数は、前記主符号化経路によって生成される、C34に記載の装置。
[C36] 前記符号器は、前記主符号化経路と並列に動作する冗長符号化経路をさらに備える、ここにおいて、冗長コーディング情報のビットの前記第2の個数は、前記冗長符号化経路によって生成される、C34に記載の装置。
[C37] オーディオ信号内で第1のオーディオフレームに続く第2のオーディオフレームを受信するための手段と、ここにおいて、前記第2のオーディオフレームは、前記第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、前記第1のオーディオフレームのフレームタイプのインジケータとを含む、 前記インジケータに基づいて、前記第1のオーディオフレームに関連する前記冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの前記第2の個数を決定するための手段と、
前記冗長コーディング情報に基づいて前記第1のオーディオフレームを復号するための手段と
を備える装置。
[C38] オーディオ信号の第1のオーディオフレームと前記オーディオ信号の第2のオーディオフレームとを符号化するための手段と、ここにおいて、前記第2のオーディオフレームは、前記オーディオ信号内で前記第1のオーディオフレームに続く、
前記第1のオーディオフレームのフレームタイプに基づいて、前記第2のオーディオフレームに関連する主コーディング情報に割り振られる前記第2のオーディオフレームのビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの第2の個数とを決定するための手段と、
前記第1のオーディオフレームと前記第2のオーディオフレームとを宛先デバイスに送信するための手段と、ここにおいて、前記第2のオーディオフレームは、主コーディング情報のビットの前記第1の個数と、冗長コーディング情報のビットの前記第2の個数と、前記第1のオーディオフレームの前記フレームタイプのインジケータとを含む
を備える装置。
[C39] コンピュータに、
コンピューティングデバイスの復号器で第2のオーディオフレームを受信させ、ここにおいて、前記第2のオーディオフレームは、オーディオ信号内で第1のオーディオフレームに続く、ここにおいて、前記第2のオーディオフレームは、前記第2のオーディオフレームに関連する主コーディング情報に割り振られるビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られるビットの第2の個数と、前記第1のオーディオフレームのフレームタイプのインジケータとを含む、
前記第1のオーディオフレームに関連するフレーム消去条件に応答して、前記インジケータに基づいて、前記第1のオーディオフレームに関連する前記冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの前記第2の個数を決定させ、
前記冗長コーディング情報に基づいて前記第1のオーディオフレームを復号させる
ために実行可能である、フレームを復号するための命令を備えるコンピュータ可読ストレージデバイス。
[C40] コンピュータに、
第1のコンピューティングデバイスの符号器でオーディオ信号の第1のオーディオフレームを符号化させ、
前記第1のオーディオフレームを前記第1のコンピューティングデバイスから第2のコンピューティングデバイスに送信させ、
前記第1のオーディオフレームのフレームタイプに基づいて、第2のオーディオフレームに関連する主コーディング情報に割り振られる前記第2のオーディオフレームのビットの第1の個数と、前記第1のオーディオフレームに関連する冗長コーディング情報に割り振られる前記第2のオーディオフレームのビットの第2の個数とを決定させ、ここにおいて、前記第2のオーディオフレームは、前記オーディオ信号内で前記第1のオーディオフレームに続く、
前記第2のオーディオフレームを符号化させ、ここにおいて、前記第2のオーディオフレームは、主コーディング情報のビットの前記第1の個数と、冗長コーディング情報のビットの前記第2の個数と、前記第1のオーディオフレームの前記フレームタイプのインジケータとを含む、
前記第2のオーディオフレームを前記第1のコンピューティングデバイスから前記第2のコンピューティングデバイスに送信させる
ために実行可能である、フレームを符号化するための命令を備えるコンピュータ可読ストレージデバイス。