本開示の特定の実装形態が、図面を参照して以下で説明される。説明では、共通の特徴は、共通の参照番号によって指定される。本明細書で使用される場合、様々な用語は、特定の実装形態を説明することのみを目的に使用され、実装形態を限定することは意図されない。たとえば、単数形「a」、「an」、および「the」は、文脈が別段に明確に示さない限り複数形を含むことを意図する。「備える」(「comprises」および「comprising」)という用語は、「含む」(「includes」または「including」)と互換的に使用され得ることがさらに理解され得る。加えて、「wherein」という用語は、「where」と互換的に使用され得ることが理解されよう。本明細書において使用される場合、構造、構成要素、動作などのような要素を修飾するために使用される序数の用語(たとえば、「第1の」、「第2の」、「第3の」など)は、それ自体が要素の別の要素に対する任意の優先度または順序を示すものではなく、むしろ、(序数の用語を使用しなければ)同じ名称を有する別の要素から、その要素を区別するものにすぎない。本明細書において使用される場合、「セット」という用語は、1つまたは複数の(one or more)特定の要素を指し、「複数(plurality)」という用語は、複数(multiple)(たとえば、2つ以上)の特定の要素を指す。
図1は、ネットワーク120を介して第2のデバイス106に通信可能に結合された第1のデバイス104を含むシステム100のある特定の説明のための例を示す。ネットワーク120は、1つまたは複数のワイヤレスネットワーク、1つまたは複数の有線ネットワーク、またはそれらの組合せを含み得る。
第1のデバイス104は、エンコーダ114、送信機110、1つまたは複数の入力インターフェース112、またはそれらの組合せを含む。入力インターフェース112の第1の入力インターフェースが第1のマイクロフォン146に結合され得る。入力インターフェース112の第2の入力インターフェースが第2のマイクロフォン148に結合され得る。エンコーダ114は、本明細書で説明されるように、コーディング情報を生成するように動作可能なコーディングモード情報生成器108を含む。第1のデバイス104はメモリ153も含み得る。
第2のデバイス106は、デコーダ118、メモリ175、受信機178、1つまたは複数の出力インターフェース177、またはそれらの組合せを含む。第2のデバイス106の受信機178は、符号化されたオーディオ信号(たとえば、1つまたは複数のビットストリーム)、1つまたは複数のパラメータ、または両方を、ネットワーク120を介して第1のデバイス104から受信し得る。デコーダ118は、異なるフレームのコーディングモードを決定し、コーディングモードと関連付けられるサンプリングレート(たとえば、「中間サンプリングレート」)を決定するように動作可能な、中間サンプリングレート決定回路172を含む。デコーダ118は、フレームと関連付けられる中間サンプリングレートを使用して各フレームを復号し得る。たとえば、デコーダ118は、中間サンプリングレートを使用して各フレームの中核(たとえば、低域)および各フレームの高域を復号し得る。中核および高域が復号された後で、デコーダ118は、得られた信号を合成し、合成された信号をデコーダ118の出力サンプルレートで再サンプリングし得る。中間サンプリングレートを使用して動作を復号することは、図2〜図8に関してより詳細に説明される。
動作の間、第1のデバイス104は、第1のマイクロフォン146から第1の入力インターフェースを介して第1のオーディオ信号130を受信することがあり、第2のマイクロフォン148から第2の入力インターフェースを介して第2のオーディオ信号132を受信することがある。第1のオーディオ信号130は、右側チャネル信号または左側チャネル信号のうちの一方に対応し得る。第2のオーディオ信号132は、右側チャネル信号または左側チャネル信号のうちの他方に対応し得る。いくつかの実装形態では、音源152(たとえば、ユーザ、スピーカ、環境雑音、楽器など)は、第2のマイクロフォン148よりも第1のマイクロフォン146に近いことがある。したがって、音源152からのオーディオ信号が、第2のマイクロフォン148を介してよりも早い時間に第1のマイクロフォン146を介して入力インターフェース112において受信され得る。複数のマイクロフォンを通じたマルチチャネル信号取得のこの自然な遅延は、第1のオーディオ信号130と第2のオーディオ信号132との間の時間的なずれをもたらし得る。いくつかの実装形態では、エンコーダ114は、第1のオーディオ信号130または第2のオーディオ信号132のうちの少なくとも1つを調整し(たとえば、ずらし)、第1のオーディオ信号130と第2のオーディオ信号132を時間的に揃えるように構成され得る。たとえば、エンコーダ114は、(第2のオーディオ信号132の)第2のフレームに関して(第1のオーディオ信号130の)第1のフレームを時間的にずらし、または遅らせ得る。
エンコーダ114は、オーディオ信号130、132を周波数領域信号へと変換し得る。周波数領域信号は、ステレオキュー162を推定するために使用され得る。ステレオキュー162は、左側チャネルおよび右側チャネルと関連付けられる空間特性のレンダリングを可能にするパラメータを含み得る。いくつかの実装形態によれば、ステレオキュー162は、チャネル間強度差(IID)パラメータ(たとえば、説明のための非限定的な例として、チャネル間レベル差(ILD)、チャネル間時間差(ITD)パラメータ、チャネル間位相差(IPD)パラメータ、チャネル間相関(ICC)パラメータ、非因果的シフトパラメータ、スペクトル傾斜パラメータ、チャネル間有声化パラメータ、チャネル間ピッチパラメータ、チャネル間利得パラメータ)などのパラメータを含み得る。ステレオキュー162は、符号化された信号の一部としても送信され得る。
エンコーダ114はまた、周波数領域信号に少なくとも部分的に基づいて、側帯ビットストリーム164および中間帯ビットストリーム166を生成し得る。送信機110は、ステレオキュー162、側帯ビットストリーム164、中間帯ビットストリーム166、またはそれらの組合せを、ネットワーク120を介して第2のデバイス106に送信し得る。代わりに、または加えて、送信機110は、ステレオキュー162、側帯ビットストリーム164、中間帯ビットストリーム166、またはそれらの組合せを、ネットワークデバイス(たとえば、基地局)に記憶し得る。
デコーダ118は、ステレオキュー162、側帯ビットストリーム164、および中間帯ビットストリーム166に基づいて、復号動作を実行し得る。デコーダ118は、(たとえば、第1のオーディオ信号130に対応する)第1の出力信号126、(たとえば、第2のオーディオ信号132に対応する)第2の出力信号128、または両方を生成し得る。第2のデバイス106は、第1のラウドスピーカ142を介して第1の出力信号126を出力し得る。第2のデバイス106は、第2のラウドスピーカ144を介して第2の出力信号128を出力し得る。代替の例では、第1の出力信号126および第2の出力信号128は、ステレオ信号ペアとして単一の出力ラウドスピーカに送信され得る。
第1のデバイス104および第2のデバイス106は別々のデバイスとして説明されてきたが、他の実装形態では、第1のデバイス104は第2のデバイス106に関して説明された1つまたは複数の構成要素を含み得る。加えて、または代わりに、第2のデバイス106は、第1のデバイス104に関して説明された1つまたは複数の構成要素を含み得る。たとえば、単一のデバイスは、エンコーダ114、デコーダ118、送信機110、受信機178、1つまたは複数の入力インターフェース112、1つまたは複数の出力インターフェース177、およびメモリを含み得る。
システム100は、オーディオフレームが符号化されるサンプリングレートに基づく(たとえば、フレームのコーディングモードと関連付けられるサンプリングレートに基づく)中間サンプリングレートで、異なるオーディオフレームを復号し得る。たとえば、特定のオーディオフレームが32kHzのサンプリングレートで符号化される場合、デコーダ118は、特定のオーディオフレームの中核を32kHzのサンプリングレートで復号することができ、特定のオーディオフレームの高域を32kHzのサンプリングレートで復号することができる。中核および高域が復号された後で、得られた信号は合成されて、デコーダ118の出力サンプリングレートへと再サンプリングされ得る。図2〜図8に関してさらに説明されるように、特定のオーディオフレームをデコーダの出力サンプリングレートではなく中間サンプリングレート(たとえば、32kHz)で復号することは、サンプリング動作および再サンプリング動作の量を減らし得る。
図2を参照すると、オーディオ信号を処理するためのシステム200が示される。システム200は復号システム(たとえば、オーディオデコーダ)であり得る。たとえば、システム200は、図1のデコーダ118に対応し得る。
システム200は、デマルチプレクサ(DEMUX)202、中間サンプリングレート決定回路204、低域デコーダ206、高域デコーダ208、加算器210、後処理回路212、およびサンプラ214を含む。中間サンプリングレート決定回路204は、図1の中間サンプリングレート決定回路172に対応し得る。他の実装形態によれば、システム200は追加の(またはより少数の)回路構成要素を含み得る。非限定的な例として、別の実装形態によれば、システム200はサイドチャネルデコーダ(図示されず)を含み得る。説明されるすべての技法は、有用であり適用可能である場合、サイドチャネル復号処理にも適用され得る。
デマルチプレクサ202は、エンコーダ(図示されず)から送信される入力オーディオビットストリーム220を受信するように構成され得る。一実装形態によれば、入力オーディオビットストリーム220は図1の中間帯ビットストリーム166に対応し得る。入力オーディオビットストリーム220は複数のフレームを含み得る。たとえば、入力オーディオビットストリーム220は、発話フレームおよび非発話フレームを含み得る。図2では、入力オーディオビットストリーム220は、第1のフレーム222と第2のフレーム224とを含む。第1のフレーム222は第1の時間(T1)においてデマルチプレクサ202によって受信されることがあり、第2のフレーム224は第1の時間(T1)の後の第2の時間(T2)においてデマルチプレクサ202によって受信されることがある。
一実装形態によれば、入力オーディオビットストリーム220の中の異なるフレームは、異なるコーディングモードを使用して符号化され得る。非限定的な例として、入力オーディオビットストリーム220の特定のフレームは、広帯域(WB)コーディングモードに従って符号化されることがあり、入力オーディオビットストリーム220の他のフレームは超広帯域(SWB)コーディングモードに従って符号化されることがあり、入力オーディオビットストリーム220の他のフレームは全帯域(FB)コーディングモードに従って符号化されることがある。エンコーダ(図示されず)は、フレームが約0ヘルツ(Hz)から8キロヘルツ(kHz)のコンテンツを含む場合、広帯域コーディングモードを使用してフレームを符号化し得る。広帯域コーディングモードに従って符号化されるフレームの低域部分は約0Hzから4kHzにわたることがあり、広帯域コーディングモードに従って符号化されるフレームの高域部分は約4kHzから8kHzにわたることがある。エンコーダは、フレームが約0Hzから16kHzのコンテンツを含む場合、超広帯域コーディングモードを使用してフレームを符号化し得る。超広帯域コーディングモードに従って符号化されるフレームの低域部分は約0Hzから8kHzにわたることがあり、超広帯域コーディングモードに従って符号化されるフレームの高域部分は約8kHzから16kHzにわたることがある。エンコーダは、フレームが約0Hzから20kHzのコンテンツを含む場合、全帯域コーディングモードを使用してフレームを符号化し得る。全帯域コーディングモードに従って符号化されるフレームの低域部分は約0Hzから8kHzにわたることがあり、全帯域コーディングモードに従って符号化されるフレームの高域部分は約8kHzから16kHzにわたることがあり、全帯域コーディングモードに従って符号化されるフレームの全帯域部分は約16kHzから20kHzにわたることがある。
上で説明された周波数範囲は、説明を目的とするものであり、限定するものとして解釈されるべきではないことを理解されたい。他の実装形態では、各コーディングモードに対する高域部分および低域部分は変化することがある。さらに別の実装形態では、単一の帯域が帯域幅の範囲全体にわたることがある。したがって、本明細書で説明される技法は、別々の高域部分および低域部分を信号が含むシナリオに限定されないことがある。説明を簡単にするために、第1のフレーム222は広帯域コーディングモードに従って符号化されることがあり、第2のフレーム224は超広帯域コーディングモードに従って符号化されることがある。たとえば、第1のフレーム222は約0Hzから8kHzのコンテンツを含むことがあり、第2のフレーム224は約0Hzから16kHzのコンテンツを含むことがある。この説明は第1のフレーム222を広帯域フレームとして記述し、第2のフレーム224を超高帯域フレームとして記述するが、以下で説明される技法は、フレームタイプのあらゆる組合せに適用され得る。
第1のフレーム222および第2のフレーム224を受信すると、システム200は、「中間サンプリングレート」を使用してフレーム222、224を復号し、出力サンプリングレートを有する復号された信号を生成するように動作可能であり得る。たとえば、システム200は、フレーム222、224を復号してデコーダの出力サンプリングレートを有する信号を生成するように動作可能であり得る。本明細書では、「中間サンプリングレート」は、特定のフレームのコーディングモードと関連付けられるサンプリングレートに対応し得る。一実装形態によれば、特定のフレームの中間サンプリングレートは、特定のフレームのナイキストサンプリングレートに対応し得る。たとえば、特定のフレームの中間サンプリングレートは、概ね特定のフレームの帯域幅の2倍に等しいことがある。以下で説明されるように、デコーダの出力サンプリングレートは48kHzに等しい。しかしながら、出力サンプリングレートは説明を目的とするものに過ぎず、本技法は異なる出力サンプリングレートまたは可変の出力サンプリングレートを有するデコーダに適用され得ることを理解されたい。
以下の説明は、低域デコーダ206および高域デコーダ208を使用して第1のフレーム222(たとえば、広帯域フレーム)を復号することを説明する。しかしながら、いくつかの実装形態では、第1のフレーム222は、低域デコーダ206を使用して(および高域デコーダ208をバイパスして)復号され得る。たとえば、広帯域フレームのコンテンツは約0Hzから8kHzにわたるので、低域デコーダ206は第1のフレーム222全体を符号化するための帯域幅能力を有し得る。他の実装形態では、以下で説明されるように、低域デコーダ206および高域デコーダ208は、関連するフレームのコーディングモードに基づいて可変の周波数範囲の信号を復号するように動的に構成可能であり得る。一般に、デコーダが全体の帯域幅のコンテンツを復号する能力を有するとき、HBデコーダはその特定のフレームにおいて無関係であることがあり、LBが信号帯域幅全体に対応することがある。
第1のフレーム222を復号するために、デマルチプレクサ202は、第1のフレーム222、第1の低域信号232、および第1の高域信号234と関連付けられる第1のコーディング情報230を生成するように構成され得る。第1のコーディング情報230は中間サンプリングレート決定回路204に提供されることがあり、第1の低域信号232は低域デコーダ206に提供されることがあり、第1の高域信号234は高域デコーダ208に提供されることがある。
中間サンプリングレート決定回路204は、第1のコーディング情報230に基づいて、第1のフレーム222の第1の中間サンプリングレート236を決定するように構成され得る。たとえば、中間サンプリングレート決定回路204は、第1のコーディング情報230に基づいて、第1のフレーム222の第1のビットレートを決定し得る。第1のビットレートは、第1のフレーム222の第1の帯域幅に基づき得る。したがって、第1のフレーム222が、約8kHzという第1の帯域幅を有する(たとえば、0Hzから8kHzにわたる周波数範囲内のコンテンツを有する)広帯域フレームである場合、第1のフレーム222の第1のビットレートは、16kHzという最大サンプルレート(たとえば、8kHzの帯域幅を有する信号のナイキストサンプリングレート)と関連付けられ得る。中間サンプリングレート決定回路204は、第1のビットレート(たとえば、16kHzという最大サンプルレートと関連付けられるビットレート)を出力サンプリングレート(たとえば、48kHz)と比較し得る。第1の中間サンプリングレート236は、第1のビットレートと関連付けられる最大サンプルレートが出力サンプリングレートより低い場合、第1のフレーム222の第1の帯域幅に基づき得る。
中間サンプリングレート決定回路204はまた、第1の中間サンプリングレート236を決定するために、代替的な、しかし実質的に等価な方策を使用することができる。たとえば、中間サンプリングレート決定回路204は、第1のコーディング情報230に基づいて、第1のフレーム222の第1の帯域幅を決定し得る。中間サンプリングレート決定回路204は、出力サンプリングレートを、2と第1の帯域幅との積と比較し得る。中間サンプリングレート決定回路204は、その積が出力サンプリングレートより小さい場合、その積を第1の中間サンプリングレート236として選択することができ、中間サンプリングレート決定回路204は、出力サンプリングレートがその積より小さい場合、出力サンプリングレートを第1の中間サンプリングレート236として選択することができる。
説明を簡単にするために、第1の中間サンプリングレート236は16kHz(たとえば、8kHzの帯域幅を有する広帯域フレームに対するナイキストサンプリングレート)である。しかしながら、16kHzは説明のための例に過ぎず、限定するものと見なされるべきではないことを理解されたい。他の実装形態では、第1の中間サンプリングレート236は変化し得る。第1の中間サンプリングレート236は、低域デコーダ206および高域デコーダ208に提供され得る。
低域デコーダ206は、第1の低域信号232を復号して第1の中間サンプリングレート236を有する第1の復号された低域信号238を生成するように構成されることがあり、高域デコーダ208は、第1の高域信号234を復号して第1の中間サンプリングレート236を有する第1の復号された高域信号240を生成するように構成されることがある。低域デコーダ206および高域デコーダ208の動作は、図3〜図4に関してより詳細に説明される。
図3を参照すると、低域デコーダ206および高域デコーダ208の図が示されている。低域デコーダ206は、低域信号デコーダ302および低域信号中間サンプルレートコンバータ304を含む。高域デコーダ208は、高域信号デコーダ306および高域信号中間サンプルレートコンバータ308を含む。
第1の低域信号232は、低域信号デコーダ302に提供され得る。低域信号デコーダ302は、第1の低域信号232を復号して復号された低域信号330を生成し得る。復号された低域信号330の図解が図4に示されている。復号された低域信号330は、約0Hzから4kHz(たとえば、広帯域信号の低域部分)にわたるコンテンツを含む。復号された低域信号330および第1の中間サンプリングレート236は、低域信号中間サンプルレートコンバータ304に提供され得る。低域信号中間サンプルレートコンバータ304は、第1の中間サンプリングレート236(たとえば、16kHz)で復号された低域信号330をサンプリングして、第1の中間サンプリングレート236を有する第1の復号された低域信号238を生成するように構成され得る。第1の復号された低域信号238の図解が図4に示されている。第1の復号された低域信号238は約0Hzから4kHzにわたるコンテンツを含み、16kHzの中間サンプリングレート(たとえば、8kHzの帯域幅の信号に対するナイキストサンプリングレート)を有する。
第1の高域信号234は、高域信号デコーダ306に提供され得る。高域信号デコーダ306は、第1の高域信号234を復号して復号された高域信号332を生成し得る。復号された高域信号332の図解が図4に示されている。復号された高域信号332は、約4kHzから8kHz(たとえば、広帯域信号の高域部分)にわたるコンテンツを含む。復号された高域信号332および第1の中間サンプリングレート236は、高域信号中間サンプルレートコンバータ308に提供され得る。高域信号中間サンプルレートコンバータ308は、第1の中間サンプリングレート236(たとえば、16kHz)で復号された高域信号332をサンプリングして、第1の中間サンプリングレート236を有する第1の復号された高域信号240を生成するように構成され得る。第1の復号された高域信号240の図解が図4に示されている。第1の復号された高域信号240は約4kHzから8kHzにわたるコンテンツを含み、16kHzの中間サンプリングレート(たとえば、8kHzの帯域幅の信号に対するナイキストサンプリングレート)を有する。
一実装形態によれば、多帯域の手法を使用するとき、中間サンプルレートは、低域および高域を復号するために使用されないことがある。代わりに、離散フーリエ変換(DFT)分析が使用され得る。DFT分析が使用されるとき、低域および高域は中間サンプルレートに残り得る。代替的な実装形態では、低域は動作の中核(たとえば、16kHzまたは12.8kHz)の動作サンプルレートでサンプリングされることがあり、高域は中間サンプルレートでサンプリングされることがあり、DFT分析はサンプリングされた信号に対して実行されることがある。別の実装形態では、単一帯域の復号が実行されるとき(たとえば、TCX/MDCTフレーム)、TCX/MDCTデコーダは中間サンプルレートで動作するように構成され得る。上の実装形態の各々が、DFT分析プロセスの複雑さを下げることがある。たとえば、より低いサンプルレートで信号に対してDFT分析を実行することは、出力サンプルレートの信号に、後処理信号に、または両方にDFT分析を実行することよりも複雑ではないことがある。
図2に戻って参照すると、低域デコーダ206は、第1の復号された低域信号238を加算器210に提供することができ、高域デコーダ208は、第1の復号された高域信号240を加算器210に提供することができる。加算器210は、第1の復号された低域信号238と第1の復号された高域信号240を合成して、第1の中間サンプリングレート236を有する第1の合成された信号242を生成するように構成され得る。第1の合成された信号242の図解が図4に示されている。第1の合成された信号242は、約0Hzから8kHzにわたるコンテンツを含み(たとえば、第1の合成された信号242は広帯域信号である)、第1の合成された信号242は16kHzの中間サンプリングレート(たとえば、ナイキストサンプリングレート)を有する。第1の合成された信号242は、後処理回路212に提供され得る。
後処理回路212は、第1の合成された信号242に対して1つまたは複数の処理動作を実行して、第1の中間サンプリングレート236を有する第1の復号された出力信号244を生成するように構成され得る。非限定的な例として、後処理回路212は、図1のステレオキュー162などのステレオキューを第1の合成された信号242に適用して、第1の復号された出力信号244を生成し得る。代替的な実装形態では、後処理回路はまた、ステレオキュー適用プロセスの一部として、ステレオアップミックスを実行し得る。第1の復号された出力信号244は、サンプラ214に提供され得る。サンプラ214は、第1の復号された出力信号244に基づいて、出力サンプリングレート(たとえば、48kHz)を有する第1の再サンプリングされた信号246を生成するように構成され得る。たとえば、サンプラ214は、出力サンプリングレートで第1の復号された出力信号244をサンプリングし、第1の再サンプリングされた信号246を生成するように構成され得る。したがって、システム200は、第1の中間サンプリングレート236(たとえば、エンコーダが第1のフレーム222を符号化するサンプリングレート)で第1のフレーム222を処理し、第1のフレーム222が処理された後で出力サンプリングレートで(サンプラ214を使用して)単一の再サンプリング動作を実行し得る。
第2のフレーム224を復号するために、デマルチプレクサ202は、第2のフレーム224、第2の低域信号252、および第2の高域信号254と関連付けられる第2のコーディング情報250を生成するように構成され得る。第2のコーディング情報250は中間サンプリングレート決定回路204に提供されることがあり、第2の低域信号252は低域デコーダ206に提供されることがあり、第2の高域信号254は高域デコーダ208に提供されることがある。
中間サンプリングレート決定回路204は、第2のコーディング情報250に基づいて、第2のフレーム224の第2の中間サンプリングレート256を決定するように構成され得る。たとえば、中間サンプリングレート決定回路204は、第2のコーディング情報250に基づいて、第2のフレーム224の第2のビットレートを決定し得る。第2のビットレートは、第2のフレーム224の第2の帯域幅に基づき得る。したがって、第2のフレーム224が、約16kHzという第2の帯域幅を有する(たとえば、0Hzから16kHzにわたる周波数範囲内のコンテンツを有する)超広帯域フレームである場合、第2のフレーム224の第2のビットレートは、32kHzという最大サンプルレート(たとえば、16kHzの帯域幅を有する信号のナイキストサンプリングレート)と関連付けられ得る。中間サンプリングレート決定回路204は、第2のビットレート(たとえば、32kHzという最大サンプルレートと関連付けられるビットレート)を出力サンプリングレート(たとえば、48kHz)と比較し得る。第2の中間サンプリングレート256は、第2のビットレートと関連付けられる最大サンプルレートが出力サンプリングレートより低い場合、第2のフレーム224の第2の帯域幅に基づき得る。
中間サンプリングレート決定回路204はまた、第2の中間サンプリングレート256を決定するために、代替的な、しかし実質的に等価な方策を使用することができる。たとえば、中間サンプリングレート決定回路204は、第2のコーディング情報250に基づいて、第2のフレーム224の第2の帯域幅を決定し得る。中間サンプリングレート決定回路204は、出力サンプリングレートを、2と第2の帯域幅との積と比較し得る。中間サンプリングレート決定回路204は、その積が出力サンプリングレートより小さい場合、その積を第2の中間サンプリングレート256として選択することができ、中間サンプリングレート決定回路204は、出力サンプリングレートがその積より小さい場合、出力サンプリングレートを第2の中間サンプリングレート256として選択することができる。
説明を簡単にするために、第2の中間サンプリングレート256は32kHz(たとえば、16kHzの帯域幅を有する超広帯域フレームに対するナイキストサンプリングレート)である。しかしながら、32kHzは説明のための例に過ぎず、限定するものと見なされるべきではないことを理解されたい。他の実装形態では、第2の中間サンプリングレート256は変化し得る。第2の中間サンプリングレート256は、低域デコーダ206および高域デコーダ208に提供され得る。
低域デコーダ206は、第2の低域信号252を復号して第2の中間サンプリングレート256を有する第2の復号された低域信号258を生成するように構成されることがあり、高域デコーダ208は、第2の高域信号254を復号して第2の中間サンプリングレート256を有する第2の復号された高域信号260を生成するように構成されることがある。図3を参照すると、第2の低域信号252は、低域信号デコーダ302に提供され得る。低域信号デコーダ302は、第2の低域信号252を復号して復号された低域信号350を生成し得る。復号された低域信号350の図解が図5に示されている。復号された低域信号350は、約0Hzから8kHz(たとえば、超広帯域信号の低域部分)にわたるコンテンツを含む。復号された低域信号350および第2の中間サンプリングレート256は、低域信号中間サンプルレートコンバータ304に提供され得る。低域信号中間サンプルレートコンバータ304は、第2の中間サンプリングレート256(たとえば、32kHz)で復号された低域信号350をサンプリングして、第2の中間サンプリングレート256を有する第2の復号された低域信号258を生成するように構成され得る。第2の復号された低域信号258の図解が図5に示されている。第2の復号された低域信号258は約0Hzから8kHzにわたるコンテンツを含み、32kHzの中間サンプリングレート(たとえば、16kHzの帯域幅の信号に対するナイキストサンプリングレート)を有する。
第2の高域信号254は、高域信号デコーダ306に提供され得る。高域信号デコーダ306は、第2の高域信号254を復号して復号された高域信号352を生成し得る。復号された高域信号352の図解が図5に示されている。復号された高域信号352は、約8kHzから16kHz(たとえば、超広帯域信号の高域部分)にわたるコンテンツを含む。復号された高域信号352および第2の中間サンプリングレート256は、高域信号中間サンプルレートコンバータ308に提供され得る。高域信号中間サンプルレートコンバータ308は、第2の中間サンプリングレート256(たとえば、32kHz)で復号された高域信号352をサンプリングして、第2の中間サンプリングレート256を有する第2の復号された高域信号260を生成するように構成され得る。第2の復号された高域信号260の図解が図5に示されている。第2の復号された高域信号260は約8kHzから16kHzにわたるコンテンツを含み、32kHzの中間サンプリングレート(たとえば、16kHzの帯域幅の信号に対するナイキストサンプリングレート)を有する。
図1に戻って参照すると、低域デコーダ206は、第2の復号された低域信号258を加算器210に提供することができ、高域デコーダ208は、第2の復号された高域信号260を加算器210に提供することができる。加算器210は、第2の復号された低域信号258と第2の復号された高域信号260を合成して、第2の中間サンプリングレート256を有する第2の合成された信号262を生成するように構成され得る。第2の合成された信号262の図解が図5に示されている。第2の合成された信号262は、約0Hzから16kHzにわたるコンテンツを含み(たとえば、第2の合成された信号262は超広帯域信号である)、第2の合成された信号262は32kHzの中間サンプリングレート(たとえば、ナイキストサンプリングレート)を有する。第2の合成された信号262は、後処理回路212に提供され得る。
後処理回路212は、第2の合成された信号262に対して1つまたは複数の処理動作を実行して、第2の中間サンプリングレート256を有する第2の復号された出力信号264を生成するように構成され得る。第2の復号された出力信号264は、サンプラ214に提供され得る。サンプラ214は、第2の復号された出力信号264に基づいて、出力サンプリングレート(たとえば、48kHz)を有する第2の再サンプリングされた信号266を生成するように構成され得る。たとえば、サンプラ214は、出力サンプリングレートで第2の復号された出力信号264をサンプリングし、第2の再サンプリングされた信号266を生成するように構成され得る。したがって、システム200は、第2の中間サンプリングレート256(たとえば、エンコーダが第2のフレーム224を符号化するサンプリングレート)で第2のフレーム224を処理し、第2のフレーム224が処理された後で出力サンプリングレートで(サンプラ214を使用して)単一の再サンプリング動作を実行し得る。
上で説明されたように、中間サンプリングレート決定回路204は、第1のフレーム222が第1の中間サンプリングレート236を有し、第2のフレーム224が第2の中間サンプリングレート256を有すると決定し得る。したがって、中間サンプリングレートはフレームごとに切り替わり得る。中間サンプリングレートが切り替わるとき、メモリ(たとえば、離散フーリエ変換(DFT)合成動作の重複追加(OLA)メモリ)は、フレームごとの円滑で連続的な遷移を実現するように調整(たとえば、計算、再計算、再サンプリング、近似など)され得る。
OLAメモリを調整するための1つの技法は、OLAメモリを現在のフレームの中間サンプリングレートへと補間する(または間引く)ことであり得る。OLAメモリの補間/間引きは、中間サンプリングレートの(たとえば、先行する、または後続の)変化に対応するフレームのために実行されることがあり、または、すべての有効な中間サンプリングレートのために各フレームにおいて実行されることがある(そして結果が次のフレームのために記憶され得る)。次のフレームの中間サンプリングレートに対応する現在のフレームの記憶されている補間されたメモリが使用され得る。
OLAを調整するための別の技法は、複数の中間サンプリングレートでDFT合成を実行することであり得る。DFT合成は、後続のフレームにおける切り替わりに備えて、中間サンプリングレートの切り替わりの前に現在のフレームにおいて実行され得る。OLAメモリは、中間サンプリングレートの切り替わりの場合に後続のフレームにおいて使用するために、複数のサンプリングレートで「バックアップ」され得る。代わりに、DFT合成は、後続のフレーム(たとえば、「切り替わりフレーム」)に対して実行され得る。DFTビン情報はDFT合成の前にあり得る。切り替わりが発生する場合、追加のDFT合成が中間サンプリングレートで実行され得る。
複数のフレームにわたる中間サンプリングレートの切り替えを管理するための別の代替的な技法は、窓が掛けられた逆変換された信号の出力を各フレームのための出力サンプルレートへと再サンプリングすることと、再サンプリングの後にOLAを実行することとを含む。この実装形態では、デコーダ動作のICBWE分岐は動作可能ではないことがある。
サンプラ214の出力における信号は、連続性を実現するために調整され得る。たとえば、サンプラ214の構成および状態は、中間サンプリングレートが切り替わるときに調整され得る。そうしなければ、左側および右側の再サンプリングされたチャネルの中のフレーム境界において不連続になることがある。この潜在的な不連続性の問題に対処するために、サンプラ214が、左側チャネルおよび右側チャネルの一部分に対して冗長に実行されて、第1のフレームの中間サンプリングレートからのサンプルを出力サンプリングレートへと再サンプリングし、第2のフレームの中間サンプリングレートを出力サンプリングレートへと再サンプリングし得る。左側チャネルおよび右側チャネルのその部分は、第1のフレームの一部、第2のフレームの一部、または両方を含み得る。信号の同じ部分で2回生成される、信号の冗長な部分は、フレーム境界の近傍における再サンプリングされたチャネルの滑らかな遷移を生成するために、窓が掛けられて重複が追加され得る。
図2〜図5に関して説明された技法は、システム200が、フレームが符号化されるサンプリングレート(または帯域幅)に基づく(たとえば、フレームのコーディングモードと関連付けられるサンプリングレートに基づく)中間サンプリングレートで異なるフレームを復号することを可能にし得る。フレームを(デコーダの出力サンプリングレートではなく)中間サンプリングレートで復号することは、サンプリング動作および再サンプリング動作の量を減らし得る。このことは、復号された信号を所望のサンプリングレート(この場合、より高い出力サンプリングレートではなく中間サンプリングレート)へと再サンプリングすることを伴う、後処理回路の動作の複雑さならびに低域および高域の復号ステップの複雑さを下げる。たとえば、低域および高域は、中間サンプリングレートで処理され合成され得る。低域および高域が合成された後で、単一のサンプリング動作が、出力サンプリングレートで信号を生成するために実行され得る。これらの技法は、低域が出力サンプリングレートで再サンプリングされ(たとえば、第1のサンプリング動作)、高域が出力サンプリングレートで再サンプリングされ(たとえば、第2のサンプリング動作)、再サンプリングされた信号が合成される、従来の技法と比較して、サンプリング動作の数を減らすことができる。再サンプリング動作の数を減らすことは、コストおよび計算の複雑さを減らし得る。
図6を参照すると、オーディオ信号を処理するためのシステム600が示される。システム600は復号システム(たとえば、オーディオデコーダ)であり得る。たとえば、システム600は、図1のデコーダ118に対応し得る。システム600は、デマルチプレクサ202、中間サンプリングレート決定回路204、低域デコーダ206、高域デコーダ208、全帯域デコーダ608、加算器210、後処理回路212、およびサンプラ214を含む。
デマルチプレクサ202は、入力オーディオビットストリーム220を受信するように構成され得る。入力オーディオビットストリーム220は、図2の第2のフレーム224の後で受信される第3のフレーム622を含み得る。図6によれば、第3のフレーム622は、全帯域コーディングモードに従って符号化され得る。たとえば、第3のフレーム622は、約0Hzから20kHzのコンテンツを含み得る。システム600は、中間サンプリングレートを使用して第3のフレーム622を復号するように動作可能であり得る。
第3のフレーム622を復号するために、デマルチプレクサ202は、第3のフレーム622、第3の低域信号632、第3の高域信号634、および全帯域信号635と関連付けられる第3のコーディング情報630を生成するように構成され得る。第3のコーディング情報630は中間サンプリングレート決定回路204に提供されることがあり、第3の低域信号632は低域デコーダ206に提供されることがあり、第3の高域信号634は高域デコーダ208に提供されることがあり、全帯域信号635は全帯域デコーダ608に提供されることがある。
中間サンプリングレート決定回路204は、第3のコーディング情報630に基づいて、第3のフレーム622の第3の中間サンプリングレート636を決定するように構成され得る。たとえば、中間サンプリングレート決定回路204は、第3のコーディング情報630に基づいて、第3のフレーム622の第3のビットレートを決定し得る。第3のビットレートは、第3のフレーム622の第3の帯域幅に基づき得る。したがって、第3のフレーム622が、約20kHzという第3の帯域幅を有する(たとえば、0Hzから20kHzにわたる周波数範囲内のコンテンツを有する)全帯域フレームである場合、第3のフレーム622の第3のビットレートは、40kHzという最大サンプルレート(たとえば、20kHzの帯域幅を有する信号のナイキストサンプリングレート)と関連付けられ得る。いくつかの代替的な実装形態では、第3のサンプリングレートは、実装形態が40kHzのサンプリングレートで動作をサポートしない場合、48kHz自体として選ばれ得る。中間サンプリングレート決定回路204は、第3のビットレート(たとえば、40kHzという最大サンプルレートと関連付けられるビットレート)を出力サンプリングレート(たとえば、48kHz)と比較し得る。第3の中間サンプリングレート636は、第3のビットレートが出力サンプリングレートより低い場合、第3のフレーム622の第3の帯域幅に基づき得る。
説明を簡単にするために、第3の中間サンプリングレート636は40kHz(たとえば、20kHzの帯域幅を有する全帯域フレームに対するナイキストサンプリングレート)である。しかしながら、40kHzは説明のための例に過ぎず、限定するものと見なされるべきではないことを理解されたい。他の実装形態では、第3の中間サンプリングレート636は変化し得る。第3の中間サンプリングレート636は、低域デコーダ206、高域デコーダ208、および全帯域デコーダ608に提供され得る。
低域デコーダ206は、第3の低域信号632を復号して第3の中間サンプリングレート636を有する第3の復号された低域信号638を生成するように構成されることがあり、高域デコーダ208は、第3の高域信号634を復号して第3の中間サンプリングレート636を有する第3の復号された高域信号640を生成するように構成されることがある。低域デコーダ206および高域デコーダ208は、図2および図3に関して説明されるように実質的に同様の方式で動作し得るが、復号された信号638、640は、第3の中間サンプリングレート636に基づいて20kHz(16kHzではなく)の帯域幅を有し得る。
全帯域デコーダ608は、全帯域信号635を復号して、約16kHzから20kHzの間のコンテンツを有する復号された全帯域信号641を生成するように構成され得る。たとえば、図7を参照すると、全帯域デコーダ608の特定の実装形態の図が示されている。全帯域デコーダ608は、全帯域信号デコーダ702および全帯域信号中間サンプルレートコンバータ704を含む。
全帯域信号635は、全帯域信号デコーダ702に提供され得る。全帯域信号デコーダ702は、全帯域信号635を復号して復号された全帯域信号732を生成し得る。復号された全帯域信号732の図解が図7に示されている。復号された全帯域信号732は、約16kHzから20kHz(たとえば、全帯域信号の全帯域部分)にわたるコンテンツを含む。復号された全帯域信号732および第3の中間サンプリングレート636は、全帯域信号中間サンプルレートコンバータ704に提供され得る。全帯域信号中間サンプルレートコンバータ704は、第3の中間サンプリングレート636(たとえば、40kHz)で復号された全帯域信号730をサンプリングして、第3の中間サンプリングレート636を有する復号された全帯域信号641を生成するように構成され得る。復号された全帯域信号641の図解が図7に示されている。復号された全帯域信号641は約16kHzから20kHzにわたるコンテンツを含み、40kHzの中間サンプリングレート(たとえば、20kHzの帯域幅の信号に対するナイキストサンプリングレート)を有する。ある特定の実装形態では、復号された全帯域信号732は時間領域全帯域信号を含む。
図6に戻って参照すると、低域デコーダ206は、第3の復号された低域信号638を加算器210に提供することができ、高域デコーダ208は、第3の復号された高域信号640を加算器210に提供することができ、全帯域デコーダ608は、復号された全帯域信号641を加算器210に提供することができる。加算器210は、第3の復号された低域信号638と、第3の復号された高域信号640と、復号された全帯域信号641を合成して、第3の中間サンプリングレート636を有する第3の合成された信号642を生成するように構成され得る。第3の合成された信号642の図解が図7に示されている。第3の復号された低域信号638、第3の復号された高域信号640、および復号された全帯域信号641の合成は、異なる順序で実行され得る。非限定的な例として、第3の復号された低域信号638が、第3の復号された高域信号640と合成されることがあり、得られた信号が、復号された全帯域信号641と合成されることがある。別の非限定的な例として、第3の復号された高域信号640が、復号された全帯域信号641と合成されることがあり、得られた信号が、第3の復号された低域信号638と合成されることがある。第3の合成された信号642は、約0Hzから20kHzにわたるコンテンツを含み(たとえば、第3の合成された信号242は全帯域信号である)、第3の合成された信号642は40kHzの中間サンプリングレート(たとえば、ナイキストサンプリングレート)を有する。第3の合成された信号642は、後処理回路212に提供され得る。
後処理回路212は、第3の合成された信号642に対して1つまたは複数の処理動作を実行して、第3の中間サンプリングレート636を有する第3の復号された出力信号644を生成するように構成され得る。第3の復号された出力信号644は、サンプラ214に提供され得る。サンプラ214は、第3の復号された出力信号644に基づいて、出力サンプリングレート(たとえば、48kHz)を有する第3の再サンプリングされた信号646を生成するように構成され得る。たとえば、サンプラ614は、出力サンプリングレートで第3の復号された出力信号644をサンプリングし、第3の再サンプリングされた信号246を生成するように構成され得る。
したがって、システム600は、第3の中間サンプリングレート636(たとえば、エンコーダが第3のフレーム622を符号化するサンプリングレート)で第3のフレーム622を処理し、第3のフレーム622が処理された後で出力サンプリングレートで(サンプラ214を使用して)単一の再サンプリング動作を実行し得る。
図8Aを参照すると、信号を処理するための方法800が示される。方法800は、図1のデコーダ118、図2のシステム200、図3の低域デコーダ206、図3の高域デコーダ208、図6のシステム600、図7の全帯域デコーダ608、またはこれらの組合せによって実行され得る。
802において、方法800は、デコーダにおいて入力オーディオビットストリームの第1のフレームを受信するステップを含む。第1のフレームは少なくとも、第1の周波数範囲と関連付けられる低域信号および第2の周波数範囲と関連付けられる高域信号を含む。たとえば、図2を参照すると、デマルチプレクサ202は、エンコーダから送信される入力オーディオビットストリーム220の第1のフレーム222を受信し得る。第1のフレーム222は、第1の周波数範囲(たとえば、0Hzから4kHz)と関連付けられる第1の低域信号232および第2の周波数範囲(たとえば、4kHzから8kHz)と関連付けられる第1の高域信号234を含む。
804において、方法800はまた、低域信号を復号して中間サンプリングレートを有する復号された低域信号を生成するステップを含む。中間サンプリングレートは、第1のフレームと関連付けられるコーディング情報に基づき得る。たとえば、図2を参照すると、低域デコーダ206は、第1の低域信号232を復号して、第1の中間サンプリングレート236(たとえば、16kHz)を有する第1の復号された低域信号238を生成し得る。
806において、方法800はさらに、高域信号を復号して中間サンプリングレートを有する復号された高域信号を生成するステップを含む。たとえば、図2を参照すると、高域デコーダ208は、第1の高域信号234を復号して、第1の中間サンプリングレート236を有する第1の復号された高域信号240を生成し得る。
808において、方法800はまた、少なくとも復号された低域信号と復号された高域信号を合成して中間サンプリングレートを有する合成された信号を生成するステップを含む。たとえば、図2を参照すると、加算器210は、第1の復号された低域信号238と第1の復号された高域信号240を合成して、第1の中間サンプリングレート236を有する第1の合成された信号242を生成し得る。
810において、方法800はさらに、合成された信号に少なくとも一部基づいて再サンプリングされた信号を生成するステップを含む。再サンプリングされた信号は、デコーダの出力サンプリングレートを有し得る。たとえば、図2を参照すると、後処理回路212は、第1の合成された信号242に対して1つまたは複数の処理動作を実行して、第1の中間サンプリングレート236を有する第1の復号された出力信号244を生成することができ、サンプラ214は、第1の復号された出力信号244に基づいて出力サンプリングレート(たとえば、48kHz)を有する第1の再サンプリングされた信号246を生成することができる。たとえば、サンプラ214は、出力サンプリングレートで第1の復号された出力信号244をサンプリングし、第1の再サンプリングされた信号246を生成するように構成され得る。
方法800の一実装形態によれば、第1のフレームは、第3の周波数範囲(たとえば、16kHzから20kHz)と関連付けられる全帯域信号も含み得る。方法800はまた、全帯域信号を復号して中間サンプリングレートを有する復号された全帯域信号を生成するステップを含み得る。復号された全帯域信号は、復号された低域信号および復号された高域信号と合成されて、合成された信号を生成し得る。
一実装形態によれば、方法800はまた、デコーダにおいて入力オーディオビットストリームの第2のフレームを受信するステップを含み得る。第2のフレームは少なくとも、第3の周波数範囲と関連付けられる第2の低域信号および第4の周波数範囲と関連付けられる第2の高域信号を含み得る。たとえば、図2を参照すると、デマルチプレクサ202は、入力オーディオビットストリーム220の第2のフレーム224を受信し得る。第2のフレーム224は、第3の周波数範囲(たとえば、0Hzから8kHz)と関連付けられる第2の低域信号252および第4の周波数範囲(たとえば、8kHzから16kHz)と関連付けられる第2の高域信号254を含み得る。
方法800はまた、第2の低域信号を復号して第2の中間サンプリングレートを有する第2の復号された低域信号を生成するステップを含み得る。第2の中間サンプリングレートは第2のフレームと関連付けられるコーディング情報に基づくことがあり、第2の中間サンプリングレートは中間サンプリングレートとは異なることがある。たとえば、図2を参照すると、低域デコーダ206は、第2の低域信号252を復号して、第2の中間サンプリングレート256(たとえば、32kHz)を有する第2の復号された低域信号258を生成し得る。
方法800はまた、第2の高域信号を復号して第2の中間サンプリングレートを有する第2の復号された高域信号を生成するステップを含み得る。たとえば、図2を参照すると、高域デコーダ208は、第2の高域信号254を復号して、第2の中間サンプリングレート256を有する第2の復号された高域信号260を生成し得る。
方法800はまた、少なくとも第2の復号された低域信号と第2の復号された高域信号を合成して第2の中間サンプリングレートを有する合成された信号を生成するステップを含み得る。たとえば、図2を参照すると、加算器210は、第2の復号された低域信号258と第2の復号された高域信号260を合成して、第2の中間サンプリングレート256を有する第2の合成された信号262を生成し得る。
方法800はさらに、第2の合成された信号に少なくとも一部基づいて第2の再サンプリングされた信号を生成するステップを含み得る。第2の再サンプリングされた信号は、デコーダの出力サンプリングレートを有し得る。たとえば、図2を参照すると、後処理回路212は、第2の合成された信号262に対して1つまたは複数の処理動作を実行して、第2の中間サンプリングレート256を有する第2の復号された出力信号264を生成することができ、サンプラ214は、第2の復号された出力信号264に基づいて出力サンプリングレート(たとえば、48kHz)を有する第2の再サンプリングされた信号266を生成することができる。たとえば、サンプラ214は、出力サンプリングレートで第2の復号された出力信号264をサンプリングし、第2の再サンプリングされた信号266を生成し得る。
図8Bを参照すると、信号を処理するための別の方法850が示される。方法850は、図1のデコーダ118、図2のシステム200、図3の低域デコーダ206、図3の高域デコーダ208、図6のシステム600、図7の全帯域デコーダ608、またはこれらの組合せによって実行され得る。
852において、方法850は、デコーダにおいて入力オーディオビットストリームの第1のフレームを受信するステップを含む。第1のフレームは、ある周波数範囲と関連付けられる少なくとも1つの信号を含み得る。854において、方法850はまた、少なくとも1つの信号を復号して中間サンプリングレートを有する少なくとも1つの復号された信号を生成するステップを含む。中間サンプリングレートは、第1のフレームと関連付けられるコーディング情報に基づき得る。方法850はまた、少なくとも1つの復号された信号に少なくとも一部基づいて再サンプリングされた信号を生成するステップを含む。再サンプリングされた信号は、デコーダの出力サンプリングレートを有し得る。
図8A〜図8Bの方法800、850は、フレームが符号化されるサンプリングレートに基づく(たとえば、フレームのコーディングモードと関連付けられるサンプリングレートに基づく)中間サンプリングレートで、異なるフレームが復号されることを可能にし得る。フレームを(デコーダの出力サンプリングレートではなく)中間サンプリングレートで復号することは、サンプリング動作および再サンプリング動作の量を減らし得る。たとえば、低域および高域は、中間サンプリングレートで処理され合成され得る。低域および高域が合成された後で、単一のサンプリング動作が、出力サンプリングレートで信号を生成するために実行され得る。これらの技法は、低域が出力サンプリングレートで再サンプリングされ(たとえば、第1のサンプリング動作)、高域が出力サンプリングレートで再サンプリングされ(たとえば、第2のサンプリング動作)、再サンプリングされた信号が合成される、従来の技法と比較して、サンプリング動作の数を減らすことができる。再サンプリング動作の数を減らすことは、コストおよび計算の複雑さを減らし得る。
完全なシステムを記述する例示的な実装形態が提示される。発話のフレームについての符号化された情報を復号するように設計されるデコーダが受信され得る。符号化された情報は、エンコーダ上の符号化された帯域幅についての情報を含み得る。この情報は、ビットストリームの一部として搬送されること、またはコーディングモード、ビットレートなどから間接的に導出されることのいずれかが可能である。ある例として、コーデックの動作スキームの知識があれば、特定のフレームのビットレートが第1の値であるとき、そのビットレートにおいてサポートされるコーディングの関連する最大の帯域幅があり得る。これは、真の符号化される帯域幅が特定のフレームのビットレートでサポートされる最大の帯域幅以下であることを示すものである。この帯域幅情報(直接または間接的に推測される)は、デコーダの所望の出力サンプリングレート以下であり得る動作の中間サンプリングレートを決定するために使用され得る。各帯域からの復号された発話のサンプリングレートは、この中間サンプリングレート以下に制約され得る。
たとえば、図2において、中間サンプリングレート決定回路204は、中間サンプリングレートを決定し得る。コーダが複数の帯域(たとえば、低域、高域など)で動作しているある特定の実装形態では、低域デコーダ206は、中間サンプリングレート以下のサンプルレート(たとえば、これは低域の中核の動作サンプリングレート、すなわち16kHzまたは12.8kHzであり得る)で、復号された低域信号をサンプリングし得る。同様に、高域は、中間サンプリングレート以下のサンプリングレート(たとえば、これは中間サンプリングレート自体であり得る)で、復号された高域信号を提供し得る。ある代替的な実装形態では、復号プロセスは、低域デコーダが符号化された信号の帯域幅全体を包含する可能性がある単一の帯域において実行されることがあり、この状況では高域の復号は存在しない。いくつかの実装形態では、低域デコーダおよび高域デコーダの後にDFT分析モジュールがあることがあり、DFT分析モジュールは、時間領域の復号された低域信号および高域信号をDFT領域に変換することができる。復号された低域信号および復号された高域信号が、出力サンプリングレート以下である中間サンプリングレート以下のレートでサンプリングされるので、DFT分析処理は、より少数の命令しか必要としないことがあり、それにより、復号プロセスの動作電力および時間を節約する。
中間サンプルレートは受信された符号化されたビットストリームに基づいて各フレームにおいて決定されるので、フレームごとに変動にさらされることに留意されたい。DFT分析ステップが実行されると、後処理ステップは、DFT分析領域において多チャネル情報を取得するために、ステレオキューおよびさらなるアップミックスの適用を含み得ることに留意されたい。ステレオキューおよびアップミックスの適用のためのDFT分析領域における処理は、任意選択で、中間サンプリングレートまたは出力サンプリングレートのいずれかで実行され得る。このステレオアップミックスステップの後に、後処理モジュール自体の内部に存在し得るDFT合成ステップが続き得る。ある特定の実装形態では、DFT合成は、出力サンプリングレートでサンプリングされる復号された出力信号を直接産生し得る。この実装形態では、サンプラ214において実行される動作はバイパスされることがあり、復号された出力信号は再サンプリングされた信号として直接使用されることがある。別の代替的な実装形態では、DFT合成ステップは、中間サンプリングレートで復号された出力を産生し得る。この特定の実装形態では、後処理回路212の後に、復号された出力信号を所望の出力サンプリングレートへと再サンプリングして再サンプリングされた信号を産生するための、サンプリング動作(サンプラ214における)が続き得る。このシナリオでは、動作は、中間サンプルレートが切り替わっているときにDFT合成ステップのOLAメモリを扱うために実行され得る。
1つの特定の実装形態では、フレームタイプが第1のフレームにおける1つのモード(たとえば、TCXまたはACELPコーディングモード)から第2のフレームにおける別のモード(たとえば、ACELPまたはTCXコーディングモード)に切り替わるとき、コーディングモードの復号ステップの異なる遅延が原因で、両方のフレームが、特定のフレーム間重複領域に対応するサンプルを冗長に推定することがある。これに対処するために、「フェードインフェードアウト」ステップがDFT分析の前に実行される。フェードインは、第2のフレームのサンプルが重複領域において増大する窓で窓を掛けられることを示し、フェードアウトは、第1のフレームのサンプルが重複領域において減少する相補的な窓で窓を掛けられることを示す。コーディングモードが切り替わったとともに、中間サンプルレートが第1のフレームの後の同じ第2のフレームにおいて同時に切り替わっている場合、第1のフレームに対応するフェードアウト部分は第1のフレームの中間サンプルレートで推定されたので、これは、第2のフレームの中間サンプルレートへと再サンプリングされる必要がある。他の代替的な方法では、コーディングモードおよび中間サンプルレートの同時の変化は許容されないことがあり、第2のフレームのコーディングモードが第1のフレームのコーディングモードと異なる場合、第1のフレームの中間サンプルレートは第2のフレームにおいては維持されることがある。
特定の実装形態では、図8A〜図8Bの方法800、850は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せによって実施され得る。たとえば、図8A〜図8Bの方法800、850は、図12に関して説明されるように、命令を実行するプロセッサによって実行され得る。
図9を参照すると、オーディオ信号を復号するためのシステム900の特定の実装形態が示される。一実装形態によれば、システム900は図1のデコーダ118に対応し得る。システム900は、中間チャネルデコーダ902、変換ユニット904、アップミキサ906、逆変換ユニット908、帯域幅拡張(BWE)ユニット910、チャネル間BWE(ICBWE)ユニット912、および再サンプラ914を含む。いくつかの実装形態では、システム900の中の構成要素の1つまたは複数は、存在しないことがあり、または同様の目的を果たす別の構成要素によって置き換えられることがある。たとえば、いくつかの実装形態では、ICBWEの経路は存在しないことがある。
中間帯ビットストリーム166(たとえば、中間チャネルオーディオビットストリーム)は、中間チャネルデコーダ902に提供され得る。中間帯ビットストリーム166は、第1のフレーム915および第2のフレーム917を含み得る。第1のフレーム915は、第1のフレーム915と関連付けられる第1のコーディング情報916に基づく第1の帯域幅を有し得る。第1のコーディング情報916は、第1のフレーム915を符号化するためにエンコーダ114によって使用される第1のコーディングモードを示す2ビットのインジケータであり得る。第1のコーディングモードは、広帯域コーディングモード、超広帯域コーディングモード、または全帯域コーディングモードを含み得る。本明細書では、説明を簡単にするために、第1のコーディングモードは広帯域コーディングモードに対応する。しかしながら、他の実装形態では、第1のコーディングモードは、超広帯域コーディングモードまたは全帯域コーディングモードであり得る。第1の帯域幅は第1のコーディングモードに基づき得る。
第2のフレーム917は、第2のフレーム917と関連付けられる第2のコーディング情報918に基づく第2の帯域幅を有し得る。第2のコーディング情報918は、第2のフレーム917を符号化するためにエンコーダ114によって使用される第2のコーディングモードを示す2ビットのインジケータであり得る。第2のコーディングモードは、広帯域コーディングモード、超広帯域コーディングモード、または全帯域コーディングモードを含み得る。本明細書では、説明を簡単にするために、第2のコーディングモードは超広帯域コーディングモードに対応する。しかしながら、他の実装形態では、第2のコーディングモードは、広帯域コーディングモードまたは全帯域コーディングモードであり得る。したがって、システム900は、コーディングモードがフレームごとに変化する場合、複数のフレームを復号し得る。第2の帯域幅は第2のコーディングモードに基づき得る。
第1のフレーム915を復号するために、第1のフレーム915の第1の帯域幅が決定され得る。たとえば、図1の中間サンプリングレート決定回路172は、第1のフレーム915が広帯域フレームであるので第1の帯域幅が8kHzであると決定し得る。中間サンプリングレート決定回路172は、第1の帯域幅のナイキストサンプリングレートに基づいて第1の中間サンプリングレート(fI1)を決定し得る。たとえば、第1の帯域幅は8kHzであるので、第1の中間サンプリングレートは16kHzに等しいことがある。
中間チャネルデコーダ902は、第1のフレーム915の第1の符号化された中間チャネルを復号して、第1の中間サンプリングレートを有する第1の復号された中間チャネル920を生成するように構成され得る。第1の復号された中間チャネル920は、変換ユニット904に提供され得る。変換ユニット904は、第1の復号された中間チャネル920に対して時間領域対周波数領域の変換動作を実行して、第1の中間サンプリングレートを有する第1の周波数領域の復号された中間チャネル922を生成するように構成され得る。たとえば、時間領域対周波数領域の変換動作は、離散フーリエ変換(DFT)変換動作を含み得る。第1の周波数領域の復号された中間チャネル922は、アップミキサ906に提供され得る。周波数領域の変換が規定されるが、周波数領域の変換は、サブバンド変換、ウェーブレット変換、または任意の他の擬似周波数領域もしくはサブバンド領域の変換などの、他の変換にも対応し得る。
アップミキサ906は、第1の周波数領域の復号された中間チャネル922に対して周波数領域アップミックス動作を実行して、第1の中間サンプリングレートを有する第1の左側周波数領域低域チャネル924と、第1の中間サンプリングレートを有する第1の右側周波数領域低域チャネル926とを生成するように構成され得る。たとえば、アップミキサ906は、ステレオキュー162の1つまたは複数を使用して、第1の周波数領域の復号された中間チャネル922に対して周波数領域アップミックス動作を実行し得る。第1の左側周波数領域低域チャネル924は逆変換ユニット908に提供されることがあり、第1の右側周波数領域低域チャネル926は逆変換ユニット908に提供されることがある。
逆変換ユニット908は、第1の左側周波数領域低域チャネル924に対して周波数領域対時間領域の変換動作を実行して、第1の中間サンプリングレートを有する第1の左側時間領域低域チャネル928を生成するように構成され得る。第1の左側時間領域低域チャネル928は、窓を掛ける動作950および重複追加(OLA)動作952を経ることがある。一実装形態によれば、周波数領域対時間領域の変換動作は、逆DFT(IDFT)動作を含み得る。逆変換ユニット908はまた、第1の右側周波数領域低域チャネル926に対して周波数領域対時間領域の変換動作を実行して、第1の中間サンプリングレートを有する第1の右側時間領域低域チャネル930を生成するように構成され得る。第1の右側時間領域低域チャネル930は、窓を掛ける動作954およびOLA動作956を経ることがある。
中間チャネルデコーダ902はまた、第1のフレーム915の第1の符号化された中間チャネルに基づいて、第1の中間サンプリングレートを有する第1の中間チャネル励振932を生成するように構成され得る。第1の中間チャネル励振932は、BWEユニット910に提供され得る。BWEユニット910は、第1の中間チャネル励振932に対して帯域幅拡張動作を実行して、第1の中間サンプリングレートを有する第1のBWE中間チャネル933を生成するように構成され得る。第1のBWE中間チャネル933は、ICBWEユニット912に提供され得る。
ICBWEユニット912は、第1のBWE中間チャネル933に基づいて、第1の中間サンプリングレートを有する第1の左側時間領域高域チャネル934を生成するように構成され得る。たとえば、ICBWEユニット912は、ステレオキュー162(たとえば、ICBWE利得ステレオキュー)を使用して、第1の左側時間領域高域チャネル934を生成し得る。ICBWEユニット912はまた、第1のBWE中間チャネル933に基づいて、第1の中間サンプリングレートを有する第1の右側時間領域高域チャネル936を生成するように構成され得る。
第1の左側時間領域低域チャネル928は、第1の左側時間領域高域チャネル934と合成されて、第1の中間サンプリングレートを有する第1の左側チャネル938を生成し得る。たとえば、1つまたは複数の加算器は、第1の左側時間領域低域チャネル928を第1の左側時間領域高域チャネル934と合成するように構成され得る。第1の左側チャネル938は、再サンプラ914に提供され得る。第1の右側時間領域低域チャネル930は、第1の右側時間領域高域チャネル936と合成されて、第1の中間サンプリングレートを有する第1の右側チャネル940を生成し得る。たとえば、1つまたは複数の加算器は、第1の右側時間領域低域チャネル930を第1の右側時間領域高域チャネル936と合成するように構成され得る。第1の右側チャネル940は、再サンプラ914に提供され得る。
ある特定の実装形態では、1つまたは複数の加算器は、図6の加算器210を含むことがあり、またはそれに対応することがある。例示すると、図6の全帯域デコーダ608などの全帯域デコーダは、符号化された中間チャネル(たとえば、第1のフレーム915)に対して復号動作を実行して、左側時間領域全帯域チャネル(たとえば、左側時間領域全帯域信号)および右側時間領域全帯域チャネル(たとえば、右側時間領域全帯域信号)を生成し得る。1つまたは複数の加算器は、第1の左側時間領域低域チャネル928、第1の左側時間領域高域チャネル934、および左側時間領域全帯域チャネルを合成して第1の左側チャネル938を生成するように構成されることがあり、1つまたは複数の加算器は、第1の右側時間領域低域チャネル930、第1の右側時間領域高域チャネル936、および右側時間領域全帯域チャネルを合成して、第1の右側チャネル940を生成するように構成されることがある。
再サンプラ914は、デコーダ118の出力サンプリングレート(たとえば、fO)を有する第1の左側の再サンプリングされたチャネル942を生成するように構成され得る。たとえば、再サンプラ914は、第1の左側チャネル938を出力サンプリングレートへと再サンプリングして、第1の左側の再サンプリングされたチャネル942を生成し得る。加えて、再サンプラ914は、第1の右側チャネル940を出力サンプリングレートへと再サンプリングすることによって、出力サンプリングレートを有する第1の右側の再サンプリングされたチャネル944を生成するように構成され得る。
第2のフレーム917を復号するために、第2のフレーム917の第2の帯域幅が決定され得る。たとえば、図1の中間サンプリングレート決定回路172は、第2のフレーム917が超広帯域フレームであるので第2の帯域幅が16kHzであると決定し得る。中間サンプリングレート決定回路172は、第2の帯域幅のナイキストサンプリングレートに基づいて第2の中間サンプリングレート(fI2)を決定し得る。たとえば、第2の帯域幅は16kHzであるので、第2の中間サンプリングレートは32kHzに等しいことがある。
中間チャネルデコーダ902は、第2のフレーム917の第2の符号化された中間チャネルを復号して、第2の中間サンプリングレートを有する第2の復号された中間チャネル970を生成するように構成され得る。第2の復号された中間チャネル970は、変換ユニット904に提供され得る。変換ユニット904は、第2の復号された中間チャネル970に対して時間領域対周波数領域の変換動作を実行して、第2の中間サンプリングレートを有する第2の周波数領域の復号された中間チャネル972を生成するように構成され得る。たとえば、時間領域対周波数領域の変換動作は、DFT変換動作を含み得る。第2の周波数領域の復号された中間チャネル972は、アップミキサ906に提供され得る。
アップミキサ906は、第2の周波数領域の復号された中間チャネル972に対して周波数領域アップミックス動作を実行して、第2の中間サンプリングレートを有する第2の左側周波数領域低域チャネル974と、第2の中間サンプリングレートを有する第2の右側周波数領域低域チャネル976とを生成するように構成され得る。たとえば、アップミキサ906は、ステレオキュー162の1つまたは複数を使用して、第2の周波数領域の復号された中間チャネル972に対して周波数領域アップミックス動作を実行し得る。第2の左側周波数領域低域チャネル974は逆変換ユニット908に提供されることがあり、第2の右側周波数領域低域チャネル976は逆変換ユニット908に提供されることがある。
逆変換ユニット908は、第2の左側周波数領域低域チャネル974に対して周波数領域対時間領域の変換動作を実行して、第2の中間サンプリングレートを有する第2の左側時間領域低域チャネル978を生成するように構成され得る。第2の左側時間領域低域チャネル978は、窓を掛ける動作950およびOLA動作952を経ることがある。一実装形態によれば、周波数領域対時間領域の変換動作は、IDFT動作を含み得る。逆変換ユニット908はまた、第2の右側周波数領域低域チャネル976に対して周波数領域対時間領域の変換動作を実行して、第2の中間サンプリングレートを有する第2の右側時間領域低域チャネル980を生成するように構成され得る。第2の右側時間領域低域チャネル980は、窓を掛ける動作954およびOLA動作956を経ることがある。
中間チャネルデコーダ902はまた、第2のフレーム917の第2の符号化された中間チャネルに基づいて、第2の中間サンプリングレートを有する第2の中間チャネル励振982を生成するように構成され得る。第2の中間チャネル励振982は、BWEユニット910に提供され得る。BWEユニット910は、第2の中間チャネル励振982に対して帯域幅拡張動作を実行して、第2の中間サンプリングレートを有する第2のBWE中間チャネル983を生成するように構成され得る。第2のBWE中間チャネル983は、ICBWEユニット912に提供され得る。
ICBWEユニット912は、第2のBWE中間チャネル983に基づいて、第2の中間サンプリングレートを有する第2の左側時間領域高域チャネル984を生成するように構成され得る。たとえば、ICBWEユニット912は、ステレオキュー162(たとえば、ICBWE利得ステレオキュー)を使用して、第2の左側時間領域高域チャネル984を生成し得る。ICBWEユニット912はまた、第2のBWE中間チャネル983に基づいて、第2の中間サンプリングレートを有する第2の右側時間領域高域チャネル986を生成するように構成され得る。
第2の左側時間領域低域チャネル978は、第2の左側時間領域高域チャネル984と合成されて、第2の中間サンプリングレートを有する第2の左側チャネル988を生成し得る。第2の左側チャネル988は、再サンプラ914に提供され得る。たとえば、1つまたは複数の加算器は、第2の左側時間領域低域チャネル978を第2の左側時間領域高域チャネル984と合成するように構成され得る。第2の右側時間領域低域チャネル980は、第2の右側時間領域高域チャネル986と合成されて、第2の中間サンプリングレートを有する第2の右側チャネル990を生成し得る。たとえば、1つまたは複数の加算器は、第2の右側時間領域低域チャネル980を第2の右側時間領域高域チャネル986と合成するように構成され得る。第2の右側チャネル990は、再サンプラ914に提供される。
ある特定の実装形態では、1つまたは複数の加算器は、図6の加算器210を含むことがあり、またはそれに対応することがある。例示すると、図6の全帯域デコーダ608などの全帯域デコーダは、符号化された中間チャネル(たとえば、第2のフレーム917)に対して復号動作を実行して、第2の左側時間領域全帯域チャネルおよび第2の右側時間領域全帯域チャネルを生成し得る。1つまたは複数の加算器は、第2の左側時間領域低域チャネル978、第2の左側時間領域高域チャネル984、および第2の左側時間領域全帯域チャネルを合成して第2の左側チャネル988を生成するように構成されることがあり、1つまたは複数の加算器は、第2の右側時間領域低域チャネル980、第2の右側時間領域高域チャネル986、および第2の右側時間領域全帯域チャネルを合成して、第2の右側チャネル990を生成するように構成されることがある。
再サンプラ914は、デコーダ118の出力サンプリングレート(たとえば、fO)を有する第2の左側の再サンプリングされたチャネル992を生成するように構成され得る。たとえば、再サンプラ914は、第2の左側チャネル988を出力サンプリングレートへと再サンプリングして、第2の左側の再サンプリングされたチャネル992を生成し得る。加えて、再サンプラ914は、第2の右側チャネル990を出力サンプリングレートへと再サンプリングすることによって、出力サンプリングレートを有する第2の右側の再サンプリングされたチャネル994を生成するように構成され得る。
再サンプラ914の出力における信号は、連続性を達成するために調整され得る。たとえば、再サンプラ914の構成および状態は、中間サンプリングレートが切り替わるときに調整され得る。そうしなければ、左側および右側の再サンプリングされたチャネルの中のフレーム境界において不連続になることがある。この潜在的な不連続性の問題に対処するために、再サンプラ914が、左側チャネルおよび右側チャネルの一部分に対して冗長に実行されて、第1のフレーム(たとえば、フレーム915)の中間サンプリングレートからのサンプルを出力サンプリングレートへと再サンプリングし、第2のフレーム(たとえば、フレーム917)の中間サンプリングレートを出力サンプリングレートへと再サンプリングし得る。左側チャネルおよび右側チャネルのその部分は、フレーム915の一部、フレーム917の一部、または両方を含み得る。
図9のシステム900は、フレームが符号化されるサンプリングレートに基づく(たとえば、フレームのコーディングモードと関連付けられるサンプリングレートに基づく)中間サンプリングレートで、異なるフレームが復号されることを可能にし得る。フレームを(デコーダの出力サンプリングレートではなく)中間サンプリングレートで復号することは、サンプリング動作および再サンプリング動作の量を減らし得る。たとえば、低域および高域は、中間サンプリングレートで処理され合成され得る。低域および高域が合成された後で、単一のサンプリング動作が、出力サンプリングレートで信号を生成するために実行され得る。これらの技法は、低域が出力サンプリングレートで再サンプリングされ(たとえば、第1のサンプリング動作)、高域が出力サンプリングレートで再サンプリングされ(たとえば、第2のサンプリング動作)、再サンプリングされた信号が合成される、従来の技法と比較して、サンプリング動作の数を減らすことができる。再サンプリング動作の数を減らすことは、システム900のコストおよび計算の複雑さを減らし得る。
図10を参照すると、重複追加動作を示す図解1000が示される。この図によれば、第1のフレーム915は実線を使用して描かれており、第2のフレーム917は点線を使用して描かれている。図解1000は、第1のフレーム915の第1の左側時間領域低域チャネル928および第2のフレーム917の第2の左側時間領域低域チャネル978を図示する。しかしながら、他の実装形態では、図10に関して説明された技法は、フレーム915、917の他のチャネルとともに使用され得る。非限定的な例として、図10に関して説明された技法は、第1の右側時間領域低域チャネル930、第2の右側時間領域低域チャネル980、第1の左側時間領域高域チャネル934、第2の左側時間領域高域チャネル984、第1の右側時間領域高域チャネル936、第2の右側時間領域高域チャネル986、第1の左側チャネル938、第2の左側チャネル988、第1の右側チャネル940、または第2の右側チャネル990とともに使用され得る。
第1の左側時間領域低域チャネル928は0msから30msにわたることがあり、第2の左側時間領域低域チャネル978は20msから50msにわたることがある。第1の左側時間領域低域チャネル928の第1の部分は0msから20msにわたることがあり、第1の左側時間領域低域チャネル928の第2の部分は20msから30msにわたることがある。第2の左側時間領域低域チャネル978の第1の部分は20msから30msにわたることがあり、第2の左側時間領域低域チャネル978の第2の部分は30msから50msにわたることがある。したがって、第1の左側時間領域低域チャネル928の第2の部分および第2の左側時間領域低域チャネル978の第1の部分は重複し得る。
デコーダ118は、第2の中間サンプリングレート(たとえば、第2のフレーム917のサンプリングレート)に基づいて第1の左側時間領域低域チャネル928の第2の部分を再サンプリングして、第2のサンプリングレートを有する左側時間領域低域チャネル928の再サンプリングされた第2の部分を生成し得る。デコーダ118はまた、フレーム915、917の重複する部分が同じサンプリングレート(たとえば、第2の中間サンプリングレート)を有するように、左側時間領域低域チャネル928の再サンプリングされた第2の部分および第2の左側時間領域低域チャネル978の第1の部分に対して重複追加動作を実行し得る。結果として、フレーム915、917の重複部分が再生される(たとえば、1つまたは複数のスピーカによって出力される)ときに、アーティファクトを減らすことができる。
ある特定の実装形態では、チャネル(または他の信号)の部分を再サンプリングすることは、アップサンプリングすることを含み得る。たとえば、第1の左側時間領域低域チャネル928が第1の中間サンプリングレートと関連付けられ、第2の左側時間領域低域チャネル978が第1の中間サンプリングレートより高い第2の中間サンプリングレートと関連付けられる場合、1つまたは複数の補間動作(または他のアップサンプリング動作)が第1の左側時間領域低域チャネル928の第2の部分に対して実行されて、第2の中間サンプリングレートを有する左側時間領域低域チャネル928の再サンプリングされた第2の部分を生成し得る(たとえば、左側時間領域低域チャネル928の再サンプリングされた第2の部分は、左側時間領域低域チャネル928の第2の部分よりも多数のサンプルを含む)。
別の例として、第1の左側時間領域低域チャネル928が第1の中間サンプリングレートと関連付けられ、第2の左側時間領域低域チャネル978が第1の中間サンプリングレートより低い第2の中間サンプリングレートと関連付けられる場合、1つまたは複数のダウンサンプリング動作およびフィルタリング動作が第1の左側時間領域低域チャネル928の第2の部分に対して実行されて、第2の中間サンプリングレートを有する左側時間領域低域チャネル928の再サンプリングされた第2の部分を生成し得る(たとえば、左側時間領域低域チャネル928の再サンプリングされた第2の部分は、左側時間領域低域チャネル928の第2の部分よりも少数のサンプルを含む)。生成された後で、左側時間領域低域チャネル928の再サンプリングされた第2の部分および第2の左側時間領域低域チャネル978の第1の部分は、同じ中間レート(たとえば、第2の中間サンプリングレート)を有し、重複追加動作によって合成されることがある。第1の左側時間領域低域チャネル928の第2の部分(たとえば、第1の入力)の再サンプリングが説明されたが、他の実装形態では、デコーダ118は、第2の左側時間領域低域チャネル978の第1の部分(たとえば、第2の入力)に対して再サンプリング動作を実行して、重複追加動作を使用して第1の左側時間領域低域チャネル928の第2の部分と合成されるべき第2の左側時間領域低域チャネル978の再サンプリングされた第1の部分を生成し得る。
図11A〜図11Bを参照すると、信号を処理する方法1100が示されている。方法1100は、図1のデコーダ118、図2のシステム200、図3の低域デコーダ206、図3の高域デコーダ208、図6のシステム600、図7の全帯域デコーダ608、図9のシステム900、またはこれらの組合せによって実行され得る。
1102において、方法1100は、エンコーダから中間チャネルオーディオビットストリームの第1のフレームを受信するステップを含む。たとえば、図9を参照すると、中間チャネルデコーダ902は、中間帯ビットストリーム166(たとえば、中間帯ビットストリーム166)の第1のフレーム915を受信し得る。
1104において、方法1100はまた、第1のフレームと関連付けられる第1のコーディング情報に基づいて第1のフレームの第1の帯域幅を決定するステップを含む。第1のコーディング情報は第1のフレームを符号化するためにエンコーダによって使用される第1のコーディングモードを示すことがあり、第1の帯域幅は第1のコーディングモードに基づくことがある。たとえば、図1および図9を参照すると、中間サンプリングレート決定回路172は、第1のフレーム915と関連付けられる第1のコーディング情報916に基づいて、第1のフレーム915の第1の帯域幅を決定し得る。
1106において、方法1100はまた、第1の帯域幅のナイキストサンプリングレートに基づいて中間サンプリングレートを決定するステップを含む。たとえば、図1および図9を参照すると、中間サンプリングレート決定回路172は、第1の帯域幅のナイキストサンプリングレートに基づいて第1の中間サンプリングレートを決定し得る。
1108において、方法1100はまた、第1のフレームの符号化された中間チャネルを復号して復号された中間チャネルを生成するステップを含む。たとえば、図9を参照すると、中間チャネルデコーダ902は、第1のフレーム915の第1の符号化された中間チャネルを復号して、第1の中間サンプリングレートを有する第1の復号された中間チャネル920を生成することができ、変換ユニット904は、第1の復号された中間チャネル920に対して時間領域対周波数領域の変換動作を実行して、第1の中間サンプリングレートを有する第1の周波数領域の復号された中間チャネル922を生成することができる。
1110において、方法1100はまた、復号された中間チャネルに対して周波数領域アップミックス動作を実行して左側周波数領域低域信号および右側周波数領域低域信号を生成するステップを含む。たとえば、図9を参照すると、アップミキサ906は、第1の周波数領域の復号された中間チャネル922に対して周波数領域アップミックス動作を実行して、第1の中間サンプリングレートを有する第1の左側周波数領域低域チャネル924と、第1の中間サンプリングレートを有する第1の右側周波数領域低域チャネル926とを生成し得る。たとえば、アップミキサ906は、ステレオキュー162の1つまたは複数を使用して、第1の周波数領域の復号された中間チャネル922に対して周波数領域アップミックス動作を実行し得る。
1112において、方法1100はまた、左側周波数領域低域信号に対して周波数領域対時間領域の変換動作を実行して中間サンプリングレートを有する左側時間領域低域信号を生成するステップを含む。たとえば、図9を参照すると、逆変換ユニット908は、第1の左側周波数領域低域チャネル924に対して周波数領域対時間領域の変換動作を実行して、第1の中間サンプリングレートを有する第1の左側時間領域低域チャネル928を生成し得る。1114において、方法1100はまた、右側周波数領域低域信号に対して周波数領域対時間領域の変換動作を実行して第1の中間サンプリングレートを有する右側時間領域低域信号を生成するステップを含む。たとえば、図9を参照すると、逆変換ユニット908は、第1の右側周波数領域低域チャネル926に対して周波数領域対時間領域の変換動作を実行して、第1の中間サンプリングレートを有する第1の右側時間領域低域チャネル930を生成し得る。本明細書で説明されるように、「周波数領域対時間領域の変換動作」のいくつかの実装形態は、窓を掛ける動作および重複追加動作を含み得る。左側時間領域低域信号および右側時間領域低域信号は、中間サンプリングレートを有する低域信号とも呼ばれ得る。
1116において、方法1100はまた、符号化された中間チャネルに少なくとも基づいて、中間サンプリングレートを有する左側時間領域高域信号および中間サンプリングレートを有する右側時間領域高域信号を生成するステップを含む。たとえば、図9を参照すると、中間チャネルデコーダ902は、第1のフレーム915の第1の符号化された中間チャネルに基づいて、第1の中間サンプリングレートを有する第1の中間チャネル励振932を生成することができ、BWEユニット910は、第1の中間チャネル励振932に対して帯域幅拡張動作を実行して、第1の中間サンプリングレートを有する第1のBWE中間チャネル933を生成することができる。ICBWEユニット912は、第1のBWE中間チャネル933に基づいて第1の中間サンプリングレートを有する第1の左側時間領域高域チャネル934を生成することができ、第1のBWE中間チャネル933に基づいて第1の中間サンプリングレートを有する第1の右側時間領域高域チャネル936を生成することができる。
1118において、方法1100はまた、左側時間領域低域信号と左側時間領域高域信号を合成したことに少なくとも基づいて、左側信号を生成するステップを含む。たとえば、図9を参照すると、第1の左側時間領域低域チャネル928は、第1の左側時間領域高域チャネル934と合成されて、第1の中間サンプリングレートを有する第1の左側チャネル938を生成し得る。1120において、方法1100はまた、右側時間領域低域信号と右側時間領域高域信号を合成したことに少なくとも基づいて、右側信号を生成するステップを含む。たとえば、図9を参照すると、第1の右側時間領域低域チャネル930は、第1の右側時間領域高域チャネル936と合成されて、第1の中間サンプリングレートを有する第1の右側チャネル940を生成し得る。
1122において、方法1100はまた、デコーダの出力サンプリングレートを有する左側の再サンプリングされた信号および出力サンプリングレートを有する右側の再サンプリングされた信号を生成するステップを含む。左側の再サンプリングされた信号は左側信号に少なくとも一部基づくことがあり、右側の再サンプリングされた信号は右側信号に少なくとも一部基づくことがある。たとえば、図9を参照すると、再サンプラ914は、第1の左側チャネル938を出力サンプリングレートへと再サンプリングすることによって、デコーダ118の出力サンプリングレート(fO)を有する第1の左側の再サンプリングされたチャネル942を生成し得る。加えて、再サンプラ914は、第1の右側チャネル940を出力サンプリングレートへと再サンプリングすることによって、出力サンプリングレートを有する第1の右側の再サンプリングされたチャネル944を生成し得る。
方法1100は、フレームが符号化されるサンプリングレートに基づく(たとえば、フレームのコーディングモードと関連付けられるサンプリングレートに基づく)中間サンプリングレートで、異なるフレームが復号されることを可能にし得る。フレームを(デコーダの出力サンプリングレートではなく)中間サンプリングレートで復号することは、サンプリング動作および再サンプリング動作の量を減らし得る。たとえば、低域および高域は、中間サンプリングレートで処理され合成され得る。低域および高域が合成された後で、単一のサンプリング動作が、出力サンプリングレートで信号を生成するために実行され得る。これらの技法は、低域が出力サンプリングレートで再サンプリングされ(たとえば、第1のサンプリング動作)、高域が出力サンプリングレートで再サンプリングされ(たとえば、第2のサンプリング動作)、再サンプリングされた信号が合成される、従来の技法と比較して、サンプリング動作の数を減らすことができる。再サンプリング動作の数を減らすことは、コストおよび計算の複雑さを減らし得る。
図12を参照すると、デバイス(たとえば、ワイヤレス通信デバイス)の特定の説明のための例のブロック図が示され、全体的に1200と指定されている。様々な実装形態では、デバイス1200は、図12に示されたよりも多数の、または少数の構成要素を有し得る。説明のための例において、デバイス1200は、図1のシステムに対応し得る。たとえば、デバイス1200は、図1の第1のデバイス104または第2のデバイス106に対応し得る。説明のための例では、デバイス1200は、図8A〜図8Bの方法800、850、または図11A〜図11Bの方法1100に従って動作し得る。
特定の実装形態では、デバイス1200はプロセッサ1206(たとえば、CPU)を含む。デバイス1200は、プロセッサ1210(たとえば、DSP)などの、1つまたは複数の追加のプロセッサを含み得る。プロセッサ1210は、発話コーデック、音楽コーデック、またはそれらの組合せなどの、コーデック1208を含み得る。プロセッサ1210は、発話/音楽コーデック1208の動作を実行するように構成される1つまたは複数の構成要素(たとえば、回路)を含み得る。別の例として、プロセッサ1210は、発話/音楽コーデック1208の動作を実行するための1つまたは複数のコンピュータ可読命令を実行するように構成され得る。したがって、コーデック1208は、ハードウェアおよびソフトウェアを含み得る。発話/音楽コーデック1208はプロセッサ1210の構成要素として示されているが、他の例において、発話/音楽コーデック1208の1つまたは複数の構成要素は、プロセッサ1206、コーデック1234、別の処理構成要素、またはそれらの組合せに含まれてもよい。
発話/音楽コーデック1208は、ボコーダデコーダなどのデコーダ1292を含み得る。たとえば、デコーダ1292は、図1のデコーダ118、図2のシステム200、図6のシステム600、図9のシステム900、またはこれらの組合せに対応し得る。ある特定の実装形態では、デコーダ1292は、フレームのコーディングモードと関連付けられる中間サンプリングレートを使用してフレームを復号するように構成される。発話/音楽コーデック1208は、図1のエンコーダ114などのエンコーダ1291を含み得る。
デバイス1200は、メモリ1232とコーデック1234とを含み得る。コーデック1234は、デジタルアナログ変換器(DAC)1202とアナログデジタル変換器(ADC)1204とを含み得る。スピーカ1236、マイクロフォン1238(たとえば、マイクロフォンアレイ1238)、または両方がコーデック1234に結合され得る。コーデック1234は、マイクロフォンアレイ1238からアナログ信号を受信し、アナログデジタル変換器1204を使用してそのアナログ信号をデジタル信号に変換し、発話/音楽コーデック1208にそのデジタル信号を与え得る。発話/音楽コーデック1208は、デジタル信号を処理することができる。いくつかの実装形態において、発話/音楽コーデック1208は、デジタル信号をコーデック1234に提供することができる。コーデック1234は、デジタルアナログ変換器1202を使用してデジタル信号をアナログ信号に変換することができ、スピーカ1236にアナログ信号を提供することができる。
デバイス1200は、トランシーバ1250(たとえば、送信機、受信機、またはその両方)を介してアンテナ1242に結合されているワイヤレスコントローラ1240を含み得る。デバイス1200は、コンピュータ可読記憶デバイスなどのメモリ1232を含み得る。メモリ1232は、図1〜図7、図9、図10に関して説明される技法、図8A〜図8Bの方法800、850、図11A〜図11Bの方法1100、またはこれらの組合せのうちの1つまたは複数を実行するための、プロセッサ1206、プロセッサ1210、またはそれらの組合せによって実行可能である1つまたは複数の命令などの命令1260を含み得る。
メモリ1232は、本明細書で開示される方法およびプロセスを実行するために、プロセッサ1206、プロセッサ1210、コーデック1234、デバイス1200の別の処理ユニット、またはそれらの組合せによって実行可能な命令1260を含み得る。図1のシステム100の1つまたは複数の構成要素は、専用ハードウェア(たとえば、回路)を介して、1つもしくは複数のタスクを実行するように命令(たとえば、命令1260)を実行するプロセッサによって、またはそれらの組合せで実装され得る。ある例として、メモリ1232、またはプロセッサ1206、プロセッサ1210、コーデック1234、もしくはそれらの組合せの1つまたは複数の構成要素は、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピン注入MRAM(STT-MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、またはコンパクトディスク読取り専用メモリ(CD-ROM)などのメモリデバイスであり得る。メモリデバイスは、コンピュータ(たとえば、コーデック1234の中のプロセッサ、プロセッサ1206、プロセッサ1210、またはそれらの組合せ)によって実行されると、コンピュータに図8A〜図8Bの方法800、850、または図11A〜図11Bの方法1100の少なくとも一部分を実行させ得る、命令(たとえば、命令1260)を含み得る。
特定の実装形態では、デバイス1200は、システムインパッケージまたはシステムオンチップデバイス1222に含まれ得る。いくつかの実装形態では、メモリ1232、プロセッサ1206、プロセッサ1210、ディスプレイコントローラ1226、コーデック1234、ワイヤレスコントローラ1240、およびトランシーバ1250は、システムインパッケージまたはシステムオンチップデバイス1222の中に含まれる。いくつかの実装形態では、入力デバイス1230および電源1244は、システムオンチップデバイス1222に結合される。その上、特定の実装形態では、図12に示されるように、ディスプレイ1228、入力デバイス1230、スピーカ1236、マイクロフォンアレイ1238、アンテナ1242、および電源1244は、システムオンチップデバイス1222の外部にある。他の実装形態では、ディスプレイ1228、入力デバイス1230、スピーカ1236、マイクロフォンアレイ1238、アンテナ1242、および電源1244の各々は、システムオンチップデバイス1222のインターフェースまたはコントローラなどの、システムオンチップデバイス1222の構成要素に結合され得る。説明のための例では、デバイス1200は、モバイルデバイス、通信デバイス、モバイル通信デバイス、スマートフォン、携帯電話、ラップトップコンピュータ、コンピュータ、タブレットコンピュータ、携帯情報端末、セットトップボックス、ディスプレイデバイス、テレビ、ゲーム機、音楽プレーヤ、ラジオ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、光ディスクプレーヤ、チューナー、カメラ、ナビゲーションデバイス、デコーダシステム、エンコーダシステム、基地局、車両、またはそれらの任意の組合せに対応する。
説明された実装形態とともに、信号を処理するための装置は、入力オーディオビットストリームの第1のフレームを受信するための手段を含み得る。第1のフレームは少なくとも、第1の周波数範囲と関連付けられる低域信号および第2の周波数範囲と関連付けられる高域信号を含み得る。たとえば、第1のフレームを受信するための手段は、図1のデコーダ118、図2および図6のデマルチプレクサ202、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
装置はまた、低域信号を復号して中間サンプリングレートを有する復号された低域信号を生成するための手段を含み得る。中間サンプリングレートは、第1のフレームと関連付けられるコーディング情報に基づき得る。たとえば、低域信号を復号するための手段は、図1のデコーダ118、図2、図3、および図6の低域デコーダ206、図9の中間チャネルデコーダ902、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
装置はまた、高域信号を復号して中間サンプリングレートを有する復号された高域信号を生成するための手段を含み得る。たとえば、高域信号を復号するための手段は、図1のデコーダ118、図2、図3、および図6の高域デコーダ208、図9の中間チャネルデコーダ902、図9のBWEユニット910、図9のICBWEユニット912、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含む。
装置はまた、少なくとも復号された低域信号と復号された高域信号を合成して中間サンプリングレートを有する合成された信号を生成するための手段を含み得る。たとえば、合成するための手段は、図1のデコーダ118、図2、図3、および図6の加算器210、図9の加算器、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
装置はまた、合成された信号に少なくとも一部基づいて再サンプリングされた信号を生成するための手段を含み得る。再サンプリングされた信号は、デコーダの出力サンプリングレートを有し得る。たとえば、再サンプリングされた信号を生成するための手段は、図1のデコーダ118、図2および図6の後処理回路212、図2および図6のサンプラ214、図9の再サンプラ914、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
説明された実装形態とともに、第2の装置は、エンコーダから中間チャネルオーディオビットストリームの第1のフレームを受信するための手段を含み得る。たとえば、第1のフレームを受信するための手段は、図9の中間チャネルデコーダ902、図1のデコーダ118、図2および図6のデマルチプレクサ202、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、第1のフレームと関連付けられる第1のコーディング情報に基づいて第1のフレームの第1の帯域幅を決定するための手段を含み得る。第1のコーディング情報は第1のフレームを符号化するためにエンコーダによって使用される第1のコーディングモードを示すことがあり、第1の帯域幅は第1のコーディングモードに基づくことがある。たとえば、第1の帯域幅を決定するための手段は、図1の中間サンプリングレート決定回路172、図1のデコーダ118、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、第1の帯域幅のナイキストサンプリングレートに基づいて中間サンプリングレートを決定するための手段を含み得る。たとえば、中間サンプリングレートを決定するための手段は、図1の中間サンプリングレート決定回路172、図1のデコーダ118、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、第1のフレームの符号化された中間チャネルを復号して復号された中間チャネルを生成するための手段を含み得る。たとえば、符号化された中間チャネルを復号するための手段は、図1のデコーダ118、図2、図3、および図6の低域デコーダ206、図9の中間チャネルデコーダ902、図9の変換ユニット904、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、復号された中間チャネルに対して周波数領域アップミックス動作を実行して左側周波数領域低域信号および右側周波数領域低域信号を生成するための手段を含み得る。たとえば、周波数領域アップミックス動作を実行するための手段は、図9のアップミキサ906、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、左側周波数領域低域信号に対して周波数領域対時間領域の変換動作を実行して中間サンプリングレートを有する左側時間領域低域信号を生成するための手段を含み得る。たとえば、周波数領域対時間領域の変換動作を実行するための手段は、図9の逆変換ユニット908、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、右側周波数領域低域信号に対して周波数領域対時間領域の変換動作を実行して中間サンプリングレートを有する右側時間領域低域信号を生成するための手段を含み得る。たとえば、周波数領域対時間領域の変換動作を実行するための手段は、図9の逆変換ユニット908、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、符号化された中間チャネルに少なくとも基づいて、中間サンプリングレートを有する左側時間領域高域信号および中間サンプリングレートを有する右側時間領域高域信号を生成するための手段を含み得る。たとえば、左側時間領域高域信号および右側時間領域高域信号を生成するための手段は、図1のデコーダ118、図2、図3、および図6の高域デコーダ208、図9の中間チャネルデコーダ902、図9のBWEユニット910、図9のICBWEユニット912、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、左側時間領域低域信号と左側時間領域高域信号を合成したことに少なくとも基づいて、左側信号を生成するための手段を含み得る。たとえば、左側信号を生成するための手段は、図1のデコーダ118、図2、図3、および図6の加算器210、図9の加算器、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、右側時間領域低域信号と右側時間領域高域信号を合成したことに少なくとも基づいて、右側信号を生成するための手段を含み得る。たとえば、右側信号を生成するための手段は、図1のデコーダ118、図2、図3、および図6の加算器210、図9の加算器、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
第2の装置はまた、デコーダの出力サンプリングレートを有する左側の再サンプリングされた信号および出力サンプリングレートを有する右側の再サンプリングされた信号を生成するための手段を含み得る。左側の再サンプリングされた信号は左側信号に少なくとも一部基づくことがあり、右側の再サンプリングされた信号は右側信号に少なくとも一部基づくことがある。たとえば、左側の再サンプリングされた信号および右側の再サンプリングされた信号を生成するための手段は、図1のデコーダ118、図2および図6の後処理回路212、図2および図6のサンプラ214、図9の再サンプラ914、図12のデコーダ1292、1つまたは複数の他の構造、デバイス、回路、またはそれらの組合せを含み得る。
図13を参照すると、基地局1300の特定の説明のための例のブロック図が図示されている。様々な実装形態では、基地局1300は、図13に示されたよりも多数の構成要素または少数の構成要素を有し得る。説明のための例では、基地局1300は、図1のシステム100を含み得る。説明のための例では、基地局1300は、図8A〜図8Bの方法800、850、または図11A〜図11Bの方法1100に従って動作し得る。
基地局1300は、ワイヤレス通信システムの一部であってもよい。ワイヤレス通信システムは、複数の基地局と複数のワイヤレスデバイスとを含み得る。ワイヤレス通信システムは、Long Term Evolution (LTE)システム、符号分割多元接続(CDMA)システム、Global System for Mobile Communications (GSM(登録商標))システム、ワイヤレスローカルエリアネットワーク(WLAN)システム、または何らかの他のワイヤレスシステムであってもよい。CDMAシステムは、広帯域CDMA(WCDMA(登録商標))、CDMA 1X、Evolution-Data Optimized (EVDO)、時分割同期CDMA(TD-SCDMA)、またはCDMAの何らかの他のバージョンを実装し得る。
ワイヤレスデバイスは、ユーザ機器(UE)、移動局、端末、アクセス端末、加入者ユニット、局などと呼ばれることもある。ワイヤレスデバイスは、携帯電話、スマートフォン、タブレット、ワイヤレスモデム、携帯情報端末(PDA)、ハンドヘルドデバイス、ラップトップコンピュータ、スマートブック、ネットブック、タブレット、コードレス電話、ワイヤレスローカルループ(WLL)局、Bluetooth(登録商標)デバイスなどを含み得る。ワイヤレスデバイスは、図12のデバイス1200を含むか、またはそれに対応することがある。
メッセージおよびデータ(たとえば、オーディオデータ)を送受信することなどの様々な機能は、基地局1300の1つまたは複数の構成要素によって(かつ/または図示されていない他の構成要素において)実行され得る。特定の例では、基地局1300はプロセッサ1306(たとえば、CPU)を含む。基地局1300はトランスコーダ1310を含み得る。トランスコーダ1310は、オーディオコーデック1308を含み得る。たとえば、トランスコーダ1310は、オーディオコーデック1308の動作を実行するように構成された1つまたは複数の構成要素(たとえば、回路)を含み得る。別の例として、トランスコーダ1310は、オーディオコーデック1308の動作を実行するための1つまたは複数のコンピュータ可読命令を実行するように構成され得る。オーディオコーデック1308はトランスコーダ1310の構成要素として示されているが、他の例では、オーディオコーデック1308の1つまたは複数の構成要素が、プロセッサ1306、別の処理構成要素、またはそれらの組合せに含まれ得る。たとえば、ボコーダデコーダ1338は、受信機データプロセッサ1364に含まれ得る。別の例として、ボコーダエンコーダ1336は、送信データプロセッサ1367に含まれ得る。ある特定の実装形態では、非限定的な例として、ボコーダデコーダ1338は、図1のデコーダ118、図2のシステム200、図3の低域デコーダ206、図3の高域デコーダ208、図6のシステム600、図7の全帯域デコーダ608、図9のシステム900、もしくはこれらの組合せを含むことがあり、または対応することがある。
トランスコーダ1310は、2つ以上のネットワークの間でメッセージおよびデータをトランスコーディングするように機能し得る。トランスコーダ1310は、メッセージおよびオーディオデータを第1のフォーマット(たとえば、デジタルフォーマット)から第2のフォーマットに変換するように構成され得る。たとえば、ボコーダデコーダ1338は、第1のフォーマットを有する符号化された信号を復号することができ、ボコーダエンコーダ1336は、復号された信号を、第2のフォーマットを有する符号化された信号へと符号化することができる。加えて、または代わりに、トランスコーダ1310は、データレート適応を実行するように構成され得る。たとえば、トランスコーダ1310は、オーディオデータのフォーマットを変更せずに、データレートをダウンコンバートし、またはデータレートをアップコンバートし得る。例示のために、トランスコーダ1310は、64kbit/s信号を16kbit/s信号にダウンコンバートすることができる。
オーディオコーデック1308は、ボコーダエンコーダ1336とボコーダデコーダ1338とを含み得る。ボコーダエンコーダ1336は、エンコーダセレクタと、発話エンコーダと、音楽エンコーダとを含み得る。ボコーダデコーダ1338は、デコーダセレクタと、発話デコーダと、音楽デコーダとを含み得る。
基地局1300はメモリ1332を含み得る。コンピュータ可読記憶デバイスなどのメモリ1332は、命令を含み得る。本命令は、図8A〜図8Bの方法800、850を実行するために、プロセッサ1306、トランスコーダ1310、またはそれらの組合せによって実行可能な1つまたは複数の命令を含み得る。基地局1300は、アンテナのアレイに結合された、第1のトランシーバ1352および第2のトランシーバ1354などの、複数の送信機および受信機(たとえば、トランシーバ)を含み得る。アンテナのアレイは、第1のアンテナ1342と第2のアンテナ1344とを含み得る。アンテナのアレイは、図12のデバイス1200などの1つまたは複数のワイヤレスデバイスとワイヤレスに通信するように構成され得る。たとえば、第2のアンテナ1344は、ワイヤレスデバイスからデータストリーム1314(たとえば、ビットストリーム)を受信し得る。データストリーム1314は、メッセージ、データ(たとえば、符号化された発話データ)、またはそれらの組合せを含み得る。
基地局1300は、バックホール接続などのネットワーク接続1360を含み得る。ネットワーク接続1360は、ワイヤレス通信ネットワークのコアネットワークまたは1つまたは複数の基地局と通信するように構成され得る。たとえば、基地局1300は、ネットワーク接続1360を介してコアネットワークから第2のデータストリーム(たとえば、メッセージまたはオーディオデータ)を受信し得る。基地局1300は、第2のデータストリームを処理してメッセージまたはオーディオデータを生成し、アンテナのアレイの1つまたは複数のアンテナを介して1つまたは複数のワイヤレスデバイスに、またはネットワーク接続1360を介して別の基地局に、メッセージまたはオーディオデータを提供することができる。特定の実装形態では、ネットワーク接続1360は、説明のための非限定的な例として、ワイドエリアネットワーク(WAN)接続であってよい。いくつかの実装形態では、コアネットワークは、公衆交換電話網(PSTN)、パケットバックボーンネットワーク、もしくは両方を含むか、またはそれらに対応することがある。
基地局1300は、ネットワーク接続1360およびプロセッサ1306に結合されたメディアゲートウェイ1370を含み得る。メディアゲートウェイ1370は、異なる電気通信技術のメディアストリームの間で変換するように構成され得る。たとえば、メディアゲートウェイ1370は、異なる送信プロトコル、異なるコーディング方式、またはその両方の間で変換し得る。例示のために、メディアゲートウェイ1370は、説明のための限定的な例として、PCM信号からリアルタイムトランスポートプロトコル(RTP)信号に変換し得る。メディアゲートウェイ1370は、パケット交換ネットワーク(たとえば、ボイスオーバーインターネットプロトコル(VoIP)ネットワーク、IPマルチメディアサブシステム(IMS)、LTE、WiMax、およびUMBなどの第4世代(4G)ワイヤレスネットワークなど)、回線交換ネットワーク(たとえば、PSTN)、ならびにハイブリッドネットワーク(たとえば、GSM(登録商標)、GPRS、およびEDGEなどの第2世代(2G)ワイヤレスネットワーク、WCDMA(登録商標)、EV-DO、およびHSPAなどの第3世代(3G)ワイヤレスネットワークなど)の間でデータを変換し得る。
加えて、メディアゲートウェイ1370は、トランスコーダ1310などのトランスコーダを含むことがあり、コーデックの互換性がないときにデータをトランスコーディングするように構成され得る。たとえば、メディアゲートウェイ1370は、説明のための非限定的な例として、適応マルチレート(AMR)コーデックとG.711コーデックとの間でトランスコーディングすることができる。メディアゲートウェイ1370は、ルータおよび複数の物理インターフェースを含み得る。いくつかの実装形態では、メディアゲートウェイ1370はコントローラ(図示せず)を含むこともある。特定の実装形態では、メディアゲートウェイコントローラは、メディアゲートウェイ1370の外部、基地局1300の外部、またはその両方にあってもよい。メディアゲートウェイコントローラは、複数のメディアゲートウェイの動作を制御および調整することができる。メディアゲートウェイ1370は、メディアゲートウェイコントローラから制御信号を受信することができ、様々な伝送技術間をブリッジするように機能することができ、エンドユーザの機能および接続にサービスを追加することができる。
基地局1300は、トランシーバ1352、1354、受信機データプロセッサ1364、およびプロセッサ1306に結合された復調器1362を含むことがあり、受信機データプロセッサ1364は、プロセッサ1306に結合されることがある。復調器1362は、トランシーバ1352、1354から受信された変調された信号を復調し、復調されたデータを受信機データプロセッサ1364に提供するように構成され得る。受信機データプロセッサ1364は、復調されたデータからメッセージまたはオーディオデータを抽出し、メッセージまたはオーディオデータをプロセッサ1306に送るように構成され得る。
基地局1300は、送信データプロセッサ1367および送信多入力多出力(MIMO)プロセッサ1368を含み得る。送信データプロセッサ1367は、プロセッサ1306および送信MIMOプロセッサ1368に結合され得る。送信MIMOプロセッサ1368は、トランシーバ1352、1354、およびプロセッサ1306に結合され得る。いくつかの実装形態では、送信MIMOプロセッサ1368は、メディアゲートウェイ1370に結合され得る。送信データプロセッサ1367は、プロセッサ1306からメッセージまたはオーディオデータを受信し、説明のための非限定的な例として、CDMAまたは直交周波数分割多重化(OFDM)などのコーディング方式に基づいて、メッセージまたはオーディオデータをコーディングするように構成され得る。送信データプロセッサ1367は、コーディングされたデータを送信MIMOプロセッサ1368に提供し得る。
コーディングされたデータは、多重化されたデータを生成するために、CDMA技法またはOFDM技法を使用して、パイロットデータなどの他のデータと多重化され得る。次いで、多重化されたデータは、変調シンボルを生成するために、特定の変調方式(たとえば、二位相シフトキーイング(「BPSK」)、四位相シフトキーイング(「QPSK」)、多値位相シフトキーイング(「M-PSK」)、多値直交振幅変調(「M-QAM」)など)に基づいて、送信データプロセッサ1367によって変調(すなわち、シンボルマッピング)され得る。特定の実装形態では、コーディングされたデータおよび他のデータは、様々な変調方式を使用して変調され得る。データストリームごとのデータレート、コーディング、および変調は、プロセッサ1306によって実行される命令によって決定され得る。
送信MIMOプロセッサ1368は、送信データプロセッサ1367から変調シンボルを受信するように構成されてよく、変調シンボルをさらに処理することができ、データに対してビームフォーミングを実行することができる。たとえば、送信MIMOプロセッサ1368は、変調シンボルにビームフォーミング重みを適用することができる。ビームフォーミング重みは、変調シンボルが送信されるアンテナのアレイの1つまたは複数のアンテナに対応し得る。
動作中、基地局1300の第2のアンテナ1344は、データストリーム1314を受信することができる。第2のトランシーバ1354は、第2のアンテナ1344からデータストリーム1314を受信することができ、復調器1362にデータストリーム1314を提供することができる。復調器1362は、データストリーム1314の変調された信号を復調し、復調されたデータを受信機データプロセッサ1364に提供することができる。受信機データプロセッサ1364は、復調されたデータからオーディオデータを抽出し、抽出されたオーディオデータをプロセッサ1306に提供することができる。
プロセッサ1306は、オーディオデータをトランスコーディングのためにトランスコーダ1310に提供することができる。トランスコーダ1310のボコーダデコーダ1338は、オーディオデータを第1のフォーマットから復号されたオーディオデータに復号することができ、ボコーダエンコーダ1336は、復号されたオーディオデータを第2のフォーマットに符号化することができる。いくつかの実装形態では、ボコーダエンコーダ1336は、ワイヤレスデバイスから受信されたよりも高いデータレート(たとえば、アップコンバート)または低いデータレート(たとえば、ダウンコンバート)を使用して、オーディオデータを符号化し得る。他の実装形態では、オーディオデータはトランスコーディングされないことがある。トランスコーディング(たとえば、復号および符号化)は、トランスコーダ1310によって実行されるものとして示されているが、トランスコーディング動作(たとえば、復号および符号化)は、基地局1300の複数の構成要素によって実行されることがある。たとえば、復号は受信機データプロセッサ1364によって実行されることがあり、符号化は送信データプロセッサ1367によって実行されることがある。他の実装形態では、プロセッサ1306は、別の伝送プロトコル、コーディング方式、または両方への変換のために、メディアゲートウェイ1370にオーディオデータを提供し得る。メディアゲートウェイ1370は、ネットワーク接続1360を介して別の基地局またはコアネットワークに変換されたデータを提供し得る。
ボコーダデコーダ1338、ボコーダエンコーダ1336、または両方は、パラメータデータを受信することができ、フレームごとにパラメータデータを識別することができる。ボコーダデコーダ1338、ボコーダエンコーダ1336、または両方は、フレームごとに、パラメータデータに基づいて合成された信号を分類することができる。合成された信号は、発話信号、非発話信号、音楽信号、雑音が多い発話信号、背景雑音信号、またはそれらの組合せとして分類され得る。ボコーダデコーダ1338、ボコーダエンコーダ1336、または両方は、分類に基づいて、特定のデコーダ、エンコーダ、または両方を選択することができる。トランスコーディングされたデータなどの、ボコーダエンコーダ1336において生成された符号化されたオーディオデータは、プロセッサ1306を介して送信データプロセッサ1367またはネットワーク接続1360に提供され得る。
トランスコーダ1310からのトランスコーディングされたオーディオデータは、変調シンボルを生成するために、OFDMなどの変調方式に従ったコーディングのために送信データプロセッサ1367に提供され得る。送信データプロセッサ1367は、変調シンボルを、さらなる処理およびビームフォーミングのために送信MIMOプロセッサ1368に提供することができる。送信MIMOプロセッサ1368は、ビームフォーミング重みを適用することができ、第1のトランシーバ1352を介して、第1のアンテナ1342などのアンテナのアレイの1つまたは複数のアンテナに変調シンボルを提供することができる。したがって、基地局1300は、ワイヤレスデバイスから受信されたデータストリーム1314に対応するトランスコーディングされたデータストリーム1316を、別のワイヤレスデバイスに提供することができる。トランスコーディングされたデータストリーム1316は、データストリーム1314とは異なる符号化フォーマット、データレート、または両方を有し得る。他の実装形態では、トランスコーディングされたデータストリーム1316は、別の基地局またはコアネットワークへの送信のために、ネットワーク接続1360に提供され得る。
したがって、基地局1300は、プロセッサ(たとえば、プロセッサ1306またはトランスコーダ1310)によって実行されると、プロセッサに、入力オーディオビットストリームの第1のフレームを受信するステップであって、第1のフレームが少なくとも第1の周波数範囲と関連付けられる低域信号および第2の周波数範囲と関連付けられる高域信号を含む、ステップと、低域信号を復号して中間サンプリングレートを有する復号された低域信号を生成するステップであって、中間サンプリングレートが第1のフレームと関連付けられるコーディング情報に基づく、ステップと、高域信号を復号して中間サンプリングレートを有する復号された高域信号を生成するステップと、少なくとも復号された低域信号および復号された高域信号を合成して中間サンプリングレートを有する合成された信号を生成するステップと、合成された信号に少なくとも一部基づいて再サンプリングされた信号を生成するステップであって、再サンプリングされた信号がデコーダの出力サンプリングレートを有する、ステップとを含む動作を実行させる、命令を記憶したコンピュータ可読記憶デバイス(たとえば、メモリ1332)を含み得る。
上で説明された説明の実装形態において、実行される様々な機能は、図1のシステム100の構成要素またはモジュールなどの特定の構成要素またはモジュールによって実行されるものとして説明されている。しかしながら、構成要素およびモジュールのこの分割は、説明のためのものにすぎない。代替的な例では、特定の構成要素またはモジュールによって実行される機能は、代わりに、複数の構成要素またはモジュールの間で分割されてもよい。その上、他の代替の例では、図1の2つ以上の構成要素またはモジュールが、単一の構成要素またはモジュールに統合されることがある。図1に示される各構成要素またはモジュールは、ハードウェア(たとえば、ASIC、DSP、コントローラ、FPGAデバイスなど)、ソフトウェア(たとえば、プロセッサによって実行可能な命令)、またはそれらの任意の組合せを使用して実装され得る。
当業者は、本明細書において開示される実装形態に関して説明された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに理解されよう。様々な説明のための構成要素、ブロック、構成、モジュール、回路、およびステップが、全般にそれらの機能に関して上で説明された。そのような機能がハードウェアとして実装されるかプロセッサ実行可能命令として実装されるかは、システム全体に課される具体的な用途および設計制約に依存する。当業者は、説明された機能を、具体的な適用例ごとに様々な方法で実装することができ、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
本明細書で開示された実装形態に関して説明された方法またはアルゴリズムのステップは、直接ハードウェアに含まれることがあり、プロセッサによって実行されるソフトウェアモジュールに含まれることがあり、またはその2つの組合せで含まれることがある。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、PROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の非一時的記憶媒体中に存在し得る。特定の記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替形態において、記憶媒体は、プロセッサと一体であることがある。プロセッサおよび記憶媒体は、ASICの中に存在することがある。ASICは、コンピューティングデバイスまたはユーザ端末中に存在することがある。代替形態において、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末の中に個別の構成要素として存在することがある。
上の説明は、開示された実装形態を当業者が作成または使用できるようにするために提供される。これらの実装形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義された原理は、本開示の範囲から逸脱することなく、他の実装形態に適用されることがある。したがって、本開示は、本明細書に示された実装形態に限定されるものではなく、以下の特許請求の範囲によって定義される原理および新規の特徴と一致する、考えられる最も広い範囲を与えられるべきである。