(57)【特許請求の範囲】
【請求項１】
符号化されたオーディオ信号の帯域幅の縮小中に、電子デバイスにおいて、前記符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定するステップであって、前記第2のフレームが、前記符号化されたオーディオ信号内の第1のフレームに連続して続く、ステップと、
前記第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、前記第2のフレームの前記第1の周波数帯域に対応するオーディオデータを生成するステップであって、前記第1のフレームが、ノイズ励起線形予測(NELP)フレームであり、前記オーディオデータが、前記第1のフレームに基づいて前記第2のフレームのためにNELPエラー隠蔽を実行することに基づいて生成される、ステップと、
前記第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、前記第1のフレームの前記第2の周波数帯域に対応する信号を再使用するステップと
を備える、方法。
【請求項２】
前記帯域幅の縮小が、
全帯域(FB)から超広帯域(SWB)へ、
FBから広帯域(WB)へ、
FBから狭帯域(NB)へ、
SWBからWBへ、
SWBからNBへ、または、
WBからNBへ
と行われる、請求項1に記載の方法。
【請求項３】
前記帯域幅の縮小が、前記符号化されたオーディオ信号を生成するために符号化される信号の符号化ビットレートの減少または帯域幅の縮小のうちの少なくとも1つに対応する、請求項1に記載の方法。
【請求項４】
前記第1の周波数帯域が低帯域周波数帯域を含む、および/または、前記第2の周波数帯域が、高帯域幅拡張周波数帯域と帯域幅移行補償周波数帯域とを含み、前記帯域幅移行補償周波数帯域は、前記符号化されたオーディオ信号における帯域幅移行を平滑化するために使用される周波数帯域である、請求項1に記載の方法。
【請求項５】
前記第1のフレームの前記第2の周波数帯域に対応する前記再使用される信号が、前記第1のフレームの前記第1の周波数帯域に対応する前記オーディオデータに少なくとも部分的に基づいて生成される、請求項1に記載の方法。
【請求項６】
前記第1のフレームの前記第2の周波数帯域に対応する前記再使用される信号が、ブラインド帯域幅拡張に少なくとも部分的に基づいて生成される、または前記第1のフレームの前記第1の周波数帯域に対応する励起信号を非線形に拡張することに少なくとも部分的に基づいて生成される、請求項1に記載の方法。
【請求項７】
線スペクトル対(LSP)値、線スペクトル周波数(LSF)値、フレームエネルギーパラメータ、または前記第2のフレームの前記第2の周波数帯域の少なくとも一部に対応する時間成形パラメータのうちの少なくとも1つが、前記第1のフレームの前記第1の周波数帯域に対応する前記オーディオデータに基づいて予測される、または固定値のセットから選択される、請求項1に記載の方法。
【請求項８】
線スペクトル対(LSP)間隔または線スペクトル周波数(LSF)間隔のうちの少なくとも1つが、前記第1のフレームに対して前記第2のフレームについて増加される、請求項1に記載の方法。
【請求項９】
前記再使用される信号が合成信号を備える、および/または、前記再使用される信号が励起信号を備える、請求項1に記載の方法。
【請求項１０】
前記エラー状態を決定するステップが、前記第2のフレームの少なくとも一部が前記電子デバイスによって受信されないと決定するステップに対応する、または、前記エラー状態を決定するステップが、前記第2のフレームの少なくとも一部が破損していると決定するステップを備える、請求項1に記載の方法。
【請求項１１】
前記エラー状態を決定するステップが、前記第2のフレームの少なくとも一部がデジッタバッファ内で利用できないと決定するステップを備える、請求項1に記載の方法。
【請求項１２】
前記第2の周波数帯域の少なくとも一部のエネルギーが、前記第2の周波数帯域の少なくとも前記一部に対応する信号エネルギーをフェードアウトさせるために、前記帯域幅の縮小中にフレームごとに低減される、および/または、前記第2の周波数帯域の少なくとも一部について、前記帯域幅の縮小中にフレーム境界で平滑化を実行するステップをさらに備える、請求項1に記載の方法。
【請求項１３】
前記電子デバイスがモバイル通信デバイスまたは基地局を備える、請求項1に記載の方法。
【請求項１４】
符号化されたオーディオ信号の帯域幅の縮小中に、前記符号化されたオーディオ信号の第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、前記符号化されたオーディオ信号の第2のフレームの前記第1の周波数帯域に対応するオーディオデータを生成するための手段であって、前記第2のフレームが、前記符号化されたオーディオ信号内の前記第1のフレームに連続して続き、前記第1のフレームが、ノイズ励起線形予測(NELP)フレームであり、前記オーディオデータが、前記第1のフレームに基づいて前記第2のフレームのためにNELPエラー隠蔽を実行することに基づいて生成される、手段と、
前記第2のフレームに対応するエラー状態に応じて、前記第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために前記第1のフレームの前記第2の周波数帯域に対応する信号を再使用するための手段と
を備える、装置。
【請求項１５】
プロセッサによって実行されると、前記プロセッサに、
符号化されたオーディオ信号の帯域幅の縮小中に、前記符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定することであって、前記第2のフレームが、前記符号化されたオーディオ信号内の第1のフレームに連続して続く、ことと、
前記第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、前記第2のフレームの前記第1の周波数帯域に対応するオーディオデータを生成することであって、前記第1のフレームが、ノイズ励起線形予測(NELP)フレームであり、前記オーディオデータが、前記第1のフレームに基づいて前記第2のフレームのためにNELPエラー隠蔽を実行することに基づいて生成される、ことと、
前記第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、前記第1のフレームの前記第2の周波数帯域に対応する信号を再使用することと
を含む動作を実行させる命令を備える、プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、両方とも「SIGNAL RE-USE DURING BANDWIDTH TRANSITION PERIOD」と題する、2016年6月6日に出願された米国特許出願第15/174,843号と、2015年8月18日に出願された、同一出願人が所有する米国仮特許出願第62/206,777号との優先権を主張し、その内容全体が参照により本明細書に明確に組み込まれる。
【０００２】
本開示は、一般に、信号処理に関する。
【背景技術】
【０００３】
技術の進歩により、より小型でより強力なコンピューティングデバイスがもたらされた。たとえば、現在、小型で軽量であり、ユーザによって容易に携帯される、ポータブルワイヤレス電話、携帯情報端末(PDA)およびページングデバイスなどのワイヤレスコンピューティングデバイスを含めて、様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、セルラー電話およびインターネットプロトコル(IP)電話などのポータブルワイヤレス電話は、ワイヤレスネットワークを介して音声およびデータパケットを通信することができる。さらに、そのようなワイヤレス電話の多くは、その中に組み込まれた他のタイプのデバイスを含む。たとえば、ワイヤレス電話はまた、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤを含むことができる。
【０００４】
デジタル技法による音声の送信は、特に長距離およびデジタル無線電話用途において広く普及している。再構成されたスピーチの知覚された品質を維持しながら、チャネルを介して送信され得る情報の最小量を決定することに関心がある場合がある。スピーチがサンプリングおよびデジタル化によって送信される場合、アナログ電話のスピーチ品質を達成するために、約64キロバイト/秒(kbps)のデータレートが使用され得る。スピーチ分析を使用し、続いて受信機において符号化、送信、および再合成を行うことを通じて、データレートの大幅な低下が達成され得る。
【０００５】
スピーチを圧縮するためのデバイスは、電気通信の多くの分野において用途を見出すことができる。例示的なフィールドは、ワイヤレス通信である。ワイヤレス通信の分野は、たとえば、コードレス電話、ページング、ワイヤレスローカルループ、セルラーおよびパーソナル通信サービス(PCS)電話システムなどのワイヤレス電話、モバイルIP電話、ならびに衛星通信システムを含む、多くの用途を有する。特定の用途は、モバイル加入者のためのワイヤレス電話である。
【０００６】
たとえば、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、および時分割同期CDMA(TD-SCDMA)を含む、ワイヤレス通信システムのための様々な無線インターフェースが開発されている。それに関連して、たとえば、高度モバイル電話サービス(AMPS)、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))、および暫定規格95(IS-95)を含む、様々な国内および国際規格が確立されている。例示的なワイヤレス電話通信システムは、CDMAシステムである。IS-95規格およびその派生物、IS-95A、米国国家規格協会(ANSI)J-STD-008、およびIS-95B(本明細書では、総称してIS-95と称する)は、セルラーまたはPCS電話通信システムのためのCDMA無線インターフェースの使用を規定するために、電気通信産業協会(TIA)および他のよく知られている標準化団体によって公布されている。
【０００７】
その後、IS-95規格は、より大容量かつ高速のパケットデータサービスを提供するcdma2000およびワイドバンドCDMA(WCDMA(登録商標))などの「3G」システムに進化した。cdma2000の2つの変形は、TIAによって発行された、IS-2000(cdma2000 1xRTT)およびIS-856(cdma2000 1xEV-DO)の文書によって提示される。cdma2000 1xRTT通信システムは、153kbpsのピークデータレートを提供するが、cdma2000 1xEV-DO通信システムは、38.4kbpsから2.4Mbpsの範囲のデータレートのセットを規定する。WCDMA(登録商標)規格は、第3世代パートナーシッププロジェクト(3GPP)、文書番号3G TS 25.211、3G TS 25.212、3G TS 25.213、および3G TS 25.214において具体化されている。インターナショナルモバイルテレコミュニケーションズアドバンスト(IMT-Advanced)仕様は、「4G」標準を定めている。IMT-Advanced仕様は、4Gサービスのピークデータレートを、高移動通信(たとえば、電車および自動車から)は100メガビット/秒(Mbit/秒)に、および低移動通信(たとえば、歩行者および静止したユーザから)は1ギガビット/秒(Gbit/秒)に設定する。
【０００８】
人間のスピーチ生成のモデルに関連するパラメータを抽出することによってスピーチを圧縮する技法を使用するデバイスは、スピーチコーダと呼ばれる。スピーチコーダは、エンコーダおよびデコーダを備え得る。エンコーダは、入力スピーチ信号を時間のブロックまたは分析フレームに分割する。時間(または「フレーム」)における各セグメントの持続時間は、信号のスペクトル包絡線が比較的静止したままであると予想され得るほど十分に短くなるように選択され得る。たとえば、1フレームの長さは20ミリ秒であり、これは8キロヘルツ(kHz)のサンプリングレートで160サンプルに対応するが、特定の用途に適していると見なされる任意のフレーム長またはサンプリングレートが使用されてもよい。
【０００９】
エンコーダは、特定の関連パラメータを抽出するために入力スピーチフレームを分析し、次いで、パラメータをバイナリ表現に、たとえば、ビットのセットまたはバイナリデータパケットに量子化する。データパケットは、通信チャネル(すなわち、ワイヤードおよび/またはワイヤレスネットワーク接続)を介して受信機およびデコーダに送信される。デコーダは、データパケットを処理し、パラメータを生成するために処理されたデータパケットを非量子化し、量子化されていないパラメータを使用してスピーチフレームを再合成する。
【００１０】
スピーチコーダの機能は、スピーチに固有の自然な冗長性を除去することによって、デジタル化されたスピーチ信号を低ビットレートの信号に圧縮することである。デジタル圧縮は、入力スピーチフレームをパラメータのセットで表し、ビットのセットでパラメータを表すために量子化を使用することによって達成され得る。入力スピーチフレームがビットの数Niを有し、スピーチコーダによって生成されたデータパケットがビットの数Noを有する場合、スピーチコーダによって達成される圧縮係数はCr=Ni/Noである。目標とする圧縮係数を達成しながら、復号されたスピーチの高い音声品質を保持することが課題である。スピーチコーダの性能は、(1)スピーチモデル、または上述の分析および合成プロセスの組合せがどの程度良好に実行されているか、および(2)パラメータ量子化プロセスがフレーム当たりのNoビットの目標ビットレートにおいてどの程度良好に実行されるかに依存する。したがって、スピーチモデルの目標は、スピーチ信号の本質、または目標音声品質を、フレームごとにパラメータの小さいセットでキャプチャすることである。
【００１１】
スピーチコーダは、一般に、スピーチ信号を記述するためにパラメータのセット(ベクトルを含む)を利用する。パラメータの良好なセットは、理想的には、知覚的に正確なスピーチ信号の再構成のための低いシステム帯域幅を提供する。ピッチ、信号パワー、スペクトル包絡線(または、フォルマント)、振幅、および位相スペクトルは、スピーチコーディングパラメータの例である。
【００１２】
スピーチコーダは、スピーチの小さいセグメント(たとえば、5ミリ秒(ms)のサブフレーム)を一度に符号化するために時間分解能の高い処理を使用することによって、時間領域のスピーチ波形をキャプチャしようとする時間領域コーダとして実装され得る。サブフレームごとに、コードブック空間からの高精度の代表が検索アルゴリズムによって見出される。あるいは、スピーチコーダは、パラメータのセット(分析)を用いて入力スピーチフレームの短期間スピーチスペクトルをキャプチャし、スペクトルパラメータからスピーチ波形を再現するために対応する合成プロセスを使用しようとする周波数領域コーダとして実装され得る。パラメータ量子化器は、パラメータを、知られている量子化技法に従ってコードベクトルの記憶された表現で表すことによってパラメータを保存する。
【００１３】
1つの時間領域スピーチコーダは、符号励起線形予測(CELP)コーダである。CELPコーダでは、短期フォルマントフィルタの係数を見つける線形予測(LP)分析によって、スピーチ信号における短期相関または冗長性が除去される。入力スピーチフレームに短期予測フィルタを適用することにより、長期予測フィルタパラメータおよびその後の確率的コードブックを用いてさらにモデル化および量子化されるLP残差信号が生成される。したがって、CELPコーディングは、時間領域スピーチ波形を符号化するタスクを、LP短期フィルタ係数を符号化し、LP残差を符号化する別々のタスクに分割する。時間領域コーディングは、固定レート(すなわち、フレームごとに同じビット数N0を使用する)、または可変レート(異なるタイプのフレームコンテンツに異なるビットレートが使用される)で実行され得る。可変レートコーダは、目標品質を取得するためにコーデックパラメータを適したレベルに符号化するために必要なビット量を使用しようと試みる。
【００１４】
CELPコーダなどの時間領域コーダは、時間領域スピーチ波形の精度を保存するために、フレーム当たり高いビット数N0に依存し得る。そのようなコーダは、フレーム当たりのビット数N0が比較的大きい(たとえば、8kbps以上)という条件で、優れた音声品質を提供し得る。低ビットレート(たとえば、4kbps以下)では、時間領域コーダは、利用可能なビットの数が限られているために、高品質で堅牢な性能を保持できない場合がある。低ビットレートでは、限定されたコードブック空間は、より高いレートの商用用途に配備される、時間領域コーダの波形マッチング能力をクリップする。したがって、経時的な改善にもかかわらず、低ビットレートで動作する多くのCELPコーディングシステムは、ノイズとして特徴付けられる知覚的に顕著な歪みを被る。
【００１５】
低ビットレートにおけるCELPコーダの代替は、CELPコーダと同様の原理下で動作する「ノイズ励起線形予測」(NELP)コーダである。NELPコーダは、スピーチをモデル化するために、コードブックではなく、フィルタリングされた疑似ランダムノイズ信号を使用する。NELPはコーディングされたスピーチに対してより単純なモデルを使用するので、NELPはCELPよりも低いビットレートを達成する。NELPは、無声スピーチまたは沈黙を圧縮または表現するために使用され得る。
【００１６】
約2.4kbpsの速度で動作するコーディングシステムは、一般に、本質的にパラメトリックである。すなわち、そのようなコーディングシステムは、スピーチ信号のピッチ周期およびスペクトル包絡線(または、フォルマント)を記述するパラメータを規則的な間隔で送信することによって動作する。これらのいわゆるパラメトリックコーダの実例は、LPボコーダシステムである。
【００１７】
LPボコーダは、ピッチ周期ごとに単一のパルスで有声スピーチ信号をモデル化する。この基本的な技法は、とりわけ、スペクトル包絡線に関する送信情報を含むように拡張され得る。LPボコーダは一般に合理的な性能を提供するが、うなり(buzz)として特徴付けられる知覚的に顕著な歪みをもたらす可能性がある。
【００１８】
近年、波形コーダとパラメトリックコーダの両方のハイブリッドであるコーダが出現している。これらのいわゆるハイブリッドコーダの実例は、プロトタイプ波形補間(PWI)スピーチコーディングシステムである。PWIコーディングシステムはまた、プロトタイプピッチ周期(PPP)スピーチコーダとして知られている。PWIコーディングシステムは、有声スピーチをコーディングするための効率的な方法を提供する。PWIの基本的な概念は、一定の間隔で代表的なピッチ周期(プロトタイプ波形)を抽出し、その記述を送信し、プロトタイプ波形間を補間することによってスピーチ信号を再構成することである。PWI方法は、LP残差信号またはスピーチ信号のいずれかで動作し得る。
【００１９】
スピーチ信号(たとえば、コーディングされたスピーチ信号、再構成されたスピーチ信号、またはその両方)のオーディオ品質を改善することに、研究上の関心および商業的な関心がある場合がある。たとえば、通信デバイスは、最適な音声品質よりも低い音声品質のスピーチ信号を受信し得る。例示のために、通信デバイスは、音声呼の間に別の通信デバイスからスピーチ信号を受信し得る。音声呼の品質は、環境ノイズ(たとえば、風、街路ノイズ)、通信デバイスのインターフェースの制限、通信デバイスによる信号処理、パケット損失、帯域幅制限、ビットレート制限等の様々な理由により、被害を受ける可能性がある。
【００２０】
従来の電話システム(たとえば、公衆交換電話網(PSTN))では、信号帯域幅は、300ヘルツ(Hz)から3.4キロヘルツの周波数範囲に限定され得る。セルラー電話やボイスオーバーインターネットプロトコル(VoIP)などの広帯域(WB)用途では、信号帯域幅が50ヘルツから7(または8)キロヘルツの周波数範囲に及ぶ場合がある。超広帯域(SWB)コーディング技法は、約16キロヘルツまで拡張可能な帯域幅をサポートし、全帯域(FB)コーディング技法は、約20キロヘルツまで拡張可能な帯域幅をサポートする。3.4キロヘルツの狭帯域(NB)電話から16キロヘルツのSWB電話に信号帯域幅を拡張することにより、信号再構成、明瞭度、および自然さの品質を改善し得る。
【００２１】
SWBコーディング技法は、典型的には、信号のより低い周波数部分(たとえば、0ヘルツ〜6.4キロヘルツ、これは「低帯域」と呼ばれ得る)を符号化して送信することを含む。たとえば、低帯域は、フィルタパラメータおよび/または低帯域励起信号を使用して表される場合がある。しかしながら、コーディング効率を改善するために、信号のより高い周波数部分(たとえば、6.4キロヘルツ〜16キロヘルツ、これは「高帯域」と呼ばれ得る)は、完全に符号化されて送信されないことがある。代わりに、受信機は、高帯域を予測するために信号モデル化を利用し得る。いくつかの実施形態では、予測を助けるために、高帯域に関連付けられるデータが受信機に提供され得る。そのようなデータは、「サイド情報」と呼ばれる場合があり、利得情報、線スペクトル周波数(LSF、線スペクトル対(LSP)とも呼ばれる)などを含んでもよい。符号化された信号を復号するとき、符号化された信号の1つまたは複数のフレームがエラー状態を示す場合などの特定の状態で、望ましくないアーチファクトが導入される可能性がある。
【発明の概要】
【課題を解決するための手段】
【００２２】
特定の態様では、方法は、符号化されたオーディオ信号の帯域幅移行期間中に、電子デバイスにおいて、符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定するステップを含む。第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続く。本方法はまた、第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、第2のフレームの第1の周波数帯域に対応するオーディオデータを生成するステップを含む。本方法はさらに、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、第1のフレームの第2の周波数帯域に対応する信号を再使用するステップを含む。
【００２３】
別の特定の態様では、装置は、符号化されたオーディオ信号の帯域幅移行期間中に、符号化されたオーディオ信号の第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、符号化されたオーディオ信号の第2のフレームの第1の周波数帯域に対応するオーディオデータを生成するように構成されるデコーダを含む。第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続く。本装置はまた、第2のフレームに対応するエラー状態に応じて、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために第1のフレームの第2の周波数帯域に対応する信号を再使用するように構成された帯域幅移行補償モジュールを含む。
【００２４】
別の特定の態様では、装置は、符号化されたオーディオ信号の帯域幅移行期間中に、符号化されたオーディオ信号の第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、符号化されたオーディオ信号の第2のフレームの第1の周波数帯域に対応するオーディオデータを生成するための手段を含む。第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続く。本装置はまた、第2のフレームに対応するエラー状態に応じて、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために第1のフレームの第2の周波数帯域に対応する信号を再使用するための手段を含む。
【００２５】
別の特定の態様では、非一時的プロセッサ可読媒体は、プロセッサによって実行されると、プロセッサに、符号化されたオーディオ信号の帯域幅移行期間中に、符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定することを含む動作を実行させる命令を含む。第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続く。本動作はまた、第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、第2のフレームの第1の周波数帯域に対応するオーディオデータを生成することを含む。本動作はさらに、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために第1のフレームの第2の周波数帯域に対応する信号を再使用することを含む。
【００２６】
別の態様では、方法は、符号化されたオーディオ信号の帯域幅移行期間中に、電子デバイスにおいて、符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定するステップを含む。第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続く。本方法はまた、第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、第2のフレームの第1の周波数帯域に対応するオーディオデータを生成するステップを含む。本方法は、第1のフレームが代数符号励起線形予測(ACELP)フレームであるか、非ACELPフレームであるかに基づいて、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、高帯域エラー隠蔽を実行するか、それとも第1のフレームの第2の周波数帯域に対応する信号を再使用するかを決定するステップをさらに含む。
【図面の簡単な説明】
【００２７】
【図１】帯域幅移行期間中に信号再使用を実行するように動作可能なシステムの特定の態様を示す図である。
【図２】帯域幅移行期間中に信号再使用を実行するように動作可能なシステムの別の特定の態様を示す図である。
【図３】符号化されたオーディオ信号における帯域幅移行の特定の例を示す図である。
【図４】図1のシステムにおける動作方法の特定の態様を示す図である。
【図５】図1のシステムにおける動作方法の特定の態様を示す図である。
【図６】図1〜図5のシステム、装置、および方法に従って信号処理動作を実行するように動作可能なワイヤレスデバイスのブロック図である。
【図７】図1〜図5のシステム、装置、および方法に従って信号処理動作を実行するように動作可能な基地局のブロック図である。
【発明を実施するための形態】
【００２８】
いくつかのスピーチコーダは、複数のビットレートおよび複数の帯域幅に従ってオーディオデータの通信をサポートする。たとえば、ロングタームエボリューション(LTE)タイプのネットワークで使用するために3GPPによって開発された拡張音声サービス(EVS)コーダ/デコーダ(CODEC)は、NB、WB、SWB、およびFB通信をサポートすることができる。複数の帯域幅(およびビットレート)がサポートされている場合、オーディオストリームの途中で符号化帯域幅が変化する可能性がある。デコーダは、帯域幅の変化を検出すると、対応する切替えを実行し得る。しかしながら、デコーダにおいて突然の帯域幅切替えが発生すると、ユーザにとって顕著なオーディオアーチファクトが発生し、それによってオーディオ品質が低下する可能性がある。オーディオアーチファクトはまた、符号化されたオーディオ信号のフレームがロストした場合、または破損した場合に生じる可能性がある。
【００２９】
ロストした/破損したフレームに起因するアーチファクトの存在を低減するために、デコーダは、ロストした/破損したフレームのデータを、以前に受信されたフレームに基づいて、または、あらかじめ選択されたパラメータ値に基づいて生成されたデータに置き換えるなどのエラー隠蔽動作を実行し得る。突然の帯域幅移行に起因するアーチファクトの存在を低減するために、デコーダは、符号化されたオーディオ信号における帯域幅移行を検出した後に、帯域幅移行に対応する周波数領域のエネルギーを徐々に調整し得る。例示のために、符号化されたオーディオ信号がSWB(たとえば、0ヘルツから16キロヘルツの周波数範囲に対応する16キロヘルツ帯域幅を符号化する)からWB(たとえば、0ヘルツから8キロヘルツまでの周波数範囲に対応する8キロヘルツ帯域幅を符号化する)に移行する場合、デコーダは、SWBからWBへ平滑に移行するために、時間領域帯域幅拡張(BWE)技法を実行し得る。いくつかの例では、本明細書でさらに説明するように、平滑な移行を達成するためにブラインドBWEが使用され得る。エラー隠蔽動作およびブラインドBWE動作を実行すると、復号の複雑さが増し、処理リソースの負荷が増大する可能性がある。しかしながら、複雑さが増すとパフォーマンスを維持することは難しい場合がある。
【００３０】
本開示は、複雑さを低減したエラー隠蔽のシステムおよび方法を説明する。特定の態様では、帯域幅移行期間中にエラー隠蔽を実行する際に、1つまたは複数の信号がデコーダにおいて再使用され得る。1つまたは複数の信号を再使用することによって、全体的な復号の複雑さは、帯域幅移行期間中の従来のエラー隠蔽動作と比較して低減され得る。
【００３１】
本明細書で使用する「帯域幅移行期間」は、出力ビットレート、符号化ビットレート、および/またはソースビットレートにおける相対的な変動を示すフレームを含むが、これに限定されないオーディオ信号の1つまたは複数のフレームに及ぶ場合がある。例示的な非限定的な例として、受信されたオーディオ信号がSWBからWBに移行する場合、受信されたオーディオ信号の帯域幅移行期間は、1つまたは複数のSWB入力フレーム、1つまたは複数のWB入力フレーム、および/あるいは、SWBとWBとの間の帯域幅を有する、1つまたは複数の介在する「ロールオフ」入力フレームを含み得る。同様に、受信されたオーディオ信号から生成される出力オーディオに関して、帯域幅移行期間は、1つまたは複数のSWB出力フレーム、1つまたは複数のWB出力フレーム、および/あるいは、SWBとWBとの間の帯域幅を有する、1つまたは複数の介在する「ロールオフ」出力フレームを含み得る。したがって、帯域幅移行期間「中」に発生するものとして本明細書に記載された動作は、フレームのうちの少なくとも1つがSWBである帯域幅移行期間の先頭の「エッジ」において、フレームのうちの少なくとも1つがWBである帯域幅移行期間のテーリング(tailing)「エッジ」において、または、少なくとも1つのフレームがSWBとWBとの間の帯域幅を有する帯域幅移行期間の「中間」において発生し得る。
【００３２】
いくつかの例では、NELPフレームに続くフレームのエラー隠蔽は、代数CELP(ACELP)フレームに続くフレームのエラー隠蔽よりも複雑であり得る。本開示によれば、NELPフレームに続くフレームが帯域幅移行期間中にロストした/破損した場合、デコーダは、先行するNELPフレームの処理中に生成され、NELPフレーム用に生成された出力オーディオ信号の高周波数部分に対応する信号を再使用(たとえば、コピー)し得る。特定の態様では、再使用される信号は、NELPフレームに対して実行されるブラインドBWEに対応する励起信号または合成信号である。本開示のこれらおよび他の態様は、図面を参照してさらに説明され、図面において、同様の参照番号は、同様の、類似の、および/または対応する構成要素を示す。
【００３３】
図1を参照すると、帯域幅移行期間中に信号再使用を実行するように動作可能なシステムの特定の態様が示され、全体として100で示される。特定の態様では、システム100は、復号化システム、装置、または電子デバイスに統合され得る。たとえば、システム100は、例示的な非限定的な例として、ワイヤレス電話またはコーデックに統合され得る。システム100は、符号化されたオーディオ信号102を受信し、符号化されたオーディオ信号102に対応する出力オーディオ150を生成するように構成された電子デバイス110を含む。出力オーディオ150は、電気信号に対応してもよく、可聴であってもよい(たとえば、スピーカによる出力)。
【００３４】
以下の説明では、図1のシステム100によって実行される様々な機能が、特定の構成要素またはモジュールによって実行されるものとして説明される点に留意されたい。しかしながら、構成要素およびモジュールのこの区分は、単に説明のためのものである。代替の態様では、特定の構成要素またはモジュールによって実行される機能が、代わりに複数の構成要素またはモジュールに分割され得る。さらに、代替の態様では、図1の2つ以上の構成要素またはモジュールが、単一の構成要素またはモジュールに統合され得る。図1に示される各構成要素またはモジュールは、ハードウェア(たとえば、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、コントローラなど)、ソフトウェア(たとえば、プロセッサによって実行可能な命令)、またはそれらの任意の組合せを使用して実装され得る。
【００３５】
電子デバイス110は、バッファリングモジュール112を含み得る。バッファリングモジュール112は、受信されたオーディオ信号のフレームを記憶するために使用される揮発性または不揮発性メモリ(たとえば、いくつかの例では、デジッタバッファ)に対応し得る。たとえば、符号化されたオーディオ信号102のフレームはバッファリングモジュール112に記憶され得、その後、処理のためにバッファリングモジュール112から取り出され得る。特定のネットワーキングプロトコルは、フレームが電子デバイス110に順不同で到着することを可能にする。フレームが順不同で到着すると、バッファリングモジュール112は、フレームの一時記憶のために使用され得、後続の処理のためにフレームの順序通りの検索をサポートし得る。バッファリングモジュール112はオプションであり、代替例には含まれなくてもよい点に留意されたい。例示のために、バッファリングモジュール112は、1つまたは複数のパケット交換実装形態に含まれてもよく、1つまたは複数の回路交換実装形態において除外されてもよい。
【００３６】
特定の態様では、符号化されたオーディオ信号102は、BWE技法を使用して符号化される。BWE拡張技法によれば、符号化されたオーディオ信号102の各フレーム内のビットの大部分は、低帯域コア情報を表すために使用され得、また低帯域コアデコーダ114によって復号され得る。フレームサイズを縮小するために、符号化されたオーディオ信号102の符号化された高帯域部分は送信されない場合がある。代わりに、符号化されたオーディオ信号102のフレームは、信号モデリング技法を使用して符号化されたオーディオ信号102の高帯域部分を予測的に再構成するために、高帯域BWEデコーダ116によって使用され得る高帯域パラメータを含み得る。いくつかの態様では、電子デバイス110は、複数の低帯域コアデコーダおよび/または複数の高帯域BWEデコーダを含み得る。たとえば、符号化されたオーディオ信号102の異なるフレームは、フレームのフレームタイプに応じて異なるデコーダによって復号され得る。例示的な一例では、電子デバイス110は、NELPフレーム、ACELPフレーム、および他のタイプのフレームを復号するように構成されたデコーダを含む。代替として、または加えて、電子デバイス110の構成要素は、符号化されたオーディオ信号102の帯域幅に応じて異なる動作を実行し得る。例示のために、WBの場合、低帯域コアデコーダ114は0ヘルツ〜6.4キロヘルツで動作し得、高帯域BWEデコーダは6.4〜8キロヘルツで動作し得る。SWBの場合、低帯域コアデコーダ114は0ヘルツ〜6.4キロヘルツで動作し得、高帯域BWEデコーダは6.4キロヘルツ〜16キロヘルツで動作し得る。低帯域コアデコーディングおよび高帯域BWEデコーディングに関連付けられる追加の動作は、図2を参照してさらに説明される。
【００３７】
特定の態様では、電子デバイス110は、帯域幅移行補償モジュール118も含む。帯域幅移行補償モジュール118は、符号化されたオーディオ信号における帯域幅移行を平滑化するために使用され得る。例示のために、符号化されたオーディオ信号102は、第1の帯域幅(クロスハッチパターンを使用して図1に示される)を有するフレームと、第1の帯域幅より小さい第2の帯域幅を有するフレームとを含む。符号化されたオーディオ信号102の帯域幅が変化すると、電子デバイス110は、復号帯域幅の対応する変化を実行し得る。帯域幅移行に続く帯域幅移行期間中に、本明細書でさらに説明するように、出力オーディオ150における平滑な帯域幅移行を可能にし、可聴アーチファクトを低減するために、帯域幅移行補償モジュール118が使用され得る。
【００３８】
電子デバイス110は、合成モジュール140をさらに含む。符号化されたオーディオ信号102のフレームが復号されると、合成モジュール140は、低帯域コアデコーダ114および高帯域BWEデコーダ116からオーディオデータを受信し得る。帯域幅移行期間中、合成モジュール140は、帯域幅移行補償モジュール118からオーディオデータを追加的に受信し得る。合成モジュール140は、符号化されたオーディオ信号102のそのフレームに対応する出力オーディオ150を生成するために、符号化されたオーディオ信号102のフレームごとに受信オーディオデータを結合し得る。
【００３９】
動作中、電子デバイス110は、符号化されたオーディオ信号102を受信し、出力オーディオ150を生成するために符号化されたオーディオ信号102を復号し得る。符号化されたオーディオ信号102の復号中、電子デバイス110は、帯域幅の移行が発生したと決定し得る。図1の例では、帯域幅縮小が示されている。帯域幅縮小の例には、これらに限定されないが、FBからSWB、FBからWB、FBからNB、SWBからWB、SWBからNB、およびWBからNBが含まれる。図3は、そのような帯域幅縮小に対応する信号波形(必ずしも縮尺通りではない)を示す。具体的には、第1の波形310は、時刻t0において、符号化されたオーディオ信号102の符号化ビットレートが24.4kbpsのSWBスピーチから8kbpsのWBスピーチに縮小することを示している。
【００４０】
特定の態様では、異なる帯域幅が異なる符号化ビットレートをサポートし得る。例示的な非限定的な例として、NB信号は、5.9、7.2、8.0、9.6、13.2、16.4、または24.4kbpsで符号化され得る。WB信号は、5.9、7.2、8.0、9.6、13.2、16.4、24.4、32、48、64、96、または128kbpsで符号化され得る。SWB信号は、9.6、13.2、16.4、24.4、32、48、64、96、または128kbpsで符号化され得る。FB信号は、16.4、24.4、32、48、64、96、または128kbpsで符号化され得る。
【００４１】
第2の波形320は、符号化ビットレートの減少が、時間t0における16キロヘルツから8キロヘルツへの帯域幅の突然の変化に対応することを示している。帯域幅の突然の変化は、出力オーディオ150に顕著なアーチファクトをもたらす可能性がある。そのようなアーチファクトを低減するために、第3の波形330に関して示されるように、8〜16キロヘルツの周波数において漸進的に少ない信号エネルギーを生成し、SWBスピーチからWBスピーチへの比較的平滑な移行を提供するために、帯域幅移行期間332中に帯域幅移行補償モジュール118が使用され得る。したがって、特定のシナリオでは、電子デバイス110は、受信されたフレームを復号し、先行する(または前の)N個のフレーム(Nは1以上の整数)において帯域幅移行が発生したかどうかに基づいて、ブラインドBWEを追加で実行するかどうかを決定する。帯域幅移行が先行する(または前の)N個のフレームにおいて発生していない場合、電子デバイス110は、復号されたフレームのオーディオを出力し得る。帯域幅の移行が前のN個のフレームで発生した場合、電子デバイスはブラインドBWEを実行し、復号されたフレームのオーディオとブラインドBWE出力の両方を出力し得る。本明細書で説明されるブラインドBWE動作は、代わりに、「帯域幅移行補償」と呼ばれ得る。帯域幅移行補償は、「完全な」ブラインドBWEを含まない場合があり、突然の帯域幅移行(たとえば、SWBからWB)に対処するガイドされた復号(たとえば、SWB復号)を実行するために、特定のパラメータ(たとえば、WBパラメータ)が再使用され得る点に留意されたい。
【００４２】
いくつかの例では、符号化されたオーディオ信号102の1つまたは複数のフレームがエラー状態である可能性がある。本明細書で使用される場合、フレームが「ロストした」(たとえば、電子デバイス110によって受信されない)、破損している(たとえば、しきい値数を上回るビットエラーを含む)、または、デコーダがフレーム(またはその一部)を検索しようとするとき、フレームがバッファリングモジュール112において利用できない場合、フレームはエラー状態であると見なされる。バッファリングモジュール112を除外する回線交換された実装形態では、フレームがロストした場合、またはしきい値数を上回るビットエラーを含む場合、フレームはエラー状態であると見なされる可能性がある。特定の態様によれば、フレームがエラー状態である場合、電子デバイス110は、誤ったフレームに対してエラー隠蔽を実行し得る。たとえば、N番目のフレームが正常に復号されるが、連続する次の(N+1)番目のフレームがエラー状態である場合、(N+1)番目のフレームに対するエラー隠蔽は復号動作に基づき、N番目のフレームに対して出力し得る。特定の態様では、N番目のフレームがNELPフレームであった場合は、N番目のフレームがACELPフレームであった場合とは異なるエラー隠蔽動作が実行される。したがって、いくつかの例では、フレームに対するエラー隠蔽は、先行するフレームのフレームタイプに基づき得る。誤ったフレームに対するエラー隠蔽動作は、前のフレームの低帯域コアおよび/または高帯域BWEデータに基づいて、低帯域コアおよび/または高帯域BWEデータを予測することを含み得る。
【００４３】
エラー隠蔽動作はまた、移行期間中に、誤ったフレームについての予測された低帯域コアおよび/または高帯域BWEに基づいて、第2の周波数帯域に対して、LP係数(LPC)値、LSF値、フレームエネルギーパラメータ(たとえば、利得フレーム値)、時間成形値(たとえば、利得形状値)などの推定を含む、ブラインドBWEを実行することを含み得る。あるいは、LPC値、LSF値、フレームエネルギーパラメータ(たとえば、利得フレーム値)、時間成形パラメータ(たとえば、利得形状値)などを含み得るそのようなデータは、固定値のセットから選択され得る。いくつかの例では、エラー隠蔽は、前のフレームに対して誤ったフレームのLSP間隔および/またはLSF間隔を増加することを含む。代替として、または加えて、帯域幅移行期間中、エラー隠蔽は、ブラインドBWEが実行される周波数帯域内の信号エネルギーをフェードアウトさせるために、フレームごとに(たとえば、利得フレーム値の調整を介して)高周波信号エネルギーを低減することを含み得る。特定の態様では、平滑化(たとえば、オーバーラップおよび加算演算)は、帯域幅移行期間中にフレーム境界において実行され得る。
【００４４】
図1の例では、第1のフレーム104aまたは104bに連続して続く第2のフレーム106は、誤った(たとえば、「ロストした」)ものとして指定される。図1に示されるように、第1のフレームは、誤った第2のフレーム106とは異なる帯域幅を有してもよく(たとえば、第1のフレーム104aに関して示されるように)、誤った第2のフレーム106として帯域幅を有してもよい(たとえば、第1のフレーム104bに関して示されるように)。さらに、誤った第2のフレーム106は、帯域幅移行期間の一部である。したがって、第2のフレーム106に対するエラー隠蔽動作は、低帯域コアデータおよび高帯域BWEデータを生成することを含むだけではなく、図3を参照して説明したエネルギー平滑化動作を継続するためにブラインドBWEデータを生成することをさらに含み得る。場合によっては、エラー隠蔽およびブラインドBWE動作の両方を実行することによって、電子デバイス110において復号の複雑さが複雑さのしきい値を超えて増加する可能性がある。たとえば、第1のフレームがNELPフレームである場合、第2のフレーム106に対するNELPエラー隠蔽と第2のフレーム106に対するブラインドBWEとの組合せは、復号の複雑さを複雑さのしきい値を超えて増加させる可能性がある。
【００４５】
本開示によれば、誤った第2のフレーム106の復号の複雑さを低減するために、帯域幅移行補償モジュール118は、前のフレーム104に対してブラインドBWEを実行しながら生成された信号120を選択的に再使用し得る。たとえば、信号120は、前のフレーム104がNELPなどの特定のコーディングタイプを有する場合に再使用され得るが、代替例では、前のフレーム104が別のフレームタイプを有する場合に信号120が再使用され得ることを理解されたい。再使用される信号120は、合成信号などの合成出力であってもよく、合成出力を生成するために使用される励起信号であってもよい。前のフレーム104のブラインドBWEの間に生成された信号120を再使用することは、誤った第2のフレーム106のためにそのような信号を「ゼロから」生成することよりも複雑でなくてよく、第2のフレーム106の全体的な復号の複雑さを複雑さのしきい値よりも低減することを可能にし得る。
【００４６】
特定の態様では、帯域幅移行期間中に、高帯域幅BWEデコーダ116からの出力は無視されてもよく、またはその間に生成されなくてもよい。代わりに、帯域幅移行補償モジュール118は、高帯域BWE周波数帯域(ビットが符号化されたオーディオ信号102において受信される)と帯域幅移行補償(たとえば、ブラインドBWE)周波数帯域との両方にわたるオーディオデータを生成し得る。例示のために、SWBからWBへの移行の場合、オーディオデータ122、124は、0ヘルツ〜6.4キロヘルツの低帯域コアを表し得、オーディオデータ132、134は、6.4キロヘルツ〜8キロヘルツの高帯域BWEおよび8キロヘルツ〜16キロヘルツの帯域幅移行補償周波数帯域(またはその一部)を表し得る。
【００４７】
したがって、特定の態様では、第1のフレーム104(たとえば、第1のフレーム104b)および第2のフレーム106の復号動作は、以下のようであり得る。第1のフレーム104に関して、低帯域コアデコーダ114は、第1のフレーム104の第1の周波数帯域(たとえば、WBの場合には0〜6.4キロヘルツ)に対応するオーディオデータ122を生成し得る。帯域幅移行補償モジュール118は、第1のフレーム104の第2の周波数帯域に対応するオーディオデータ132を生成し得、これは、高帯域BWE周波数帯域(たとえば、WBの場合、6.4キロヘルツ〜8キロヘルツ)、およびブラインドBWE(または、帯域幅移行補償)周波数帯域の一部または全部(たとえば、SWBからWBへの移行の場合は8〜16キロヘルツ)を含み得る。オーディオデータ132の生成中、帯域幅移行補償モジュール118は、ブラインドBWE動作に少なくとも部分的に基づいて信号120を生成し得、信号120を(たとえば、復号メモリに)記憶し得る。特定の態様では、信号120は、オーディオデータ122に少なくとも部分的に基づいて生成される。代替として、または加えて、信号120は、第1のフレーム104の第1の周波数帯域に対応する励起信号を非線形に拡張することに少なくとも部分的に基づいて生成され得る。合成モジュール140は、第1のフレーム104の出力オーディオ150を生成するために、オーディオデータ122、132を組み合わせることができる。
【００４８】
誤った第2のフレーム106に対して、第1のフレーム104がNELPフレームであった場合、低帯域コアデコーダ114は、第2のフレーム106の第1の周波数帯域に対応するオーディオデータ124を生成するためにNELPエラー隠蔽を実行し得る。さらに、帯域幅移行補償モジュール118は、第2のフレーム106の第2の周波数帯域に対応するオーディオデータ134を生成するために、信号120を再使用し得る。あるいは、第1のフレームがACELP(または、他の非NELP)フレームであった場合、低帯域コアデコーダ114は、オーディオデータ124を生成するためにACELP(または、他の)エラー隠蔽を実行し得、高帯域BWEデコーダ116および帯域幅移行補償モジュール118は、信号120を再使用せずにオーディオデータ134を生成し得る。合成モジュール140は、誤った第2のフレーム106に対する出力オーディオ150を生成するために、オーディオデータ124、134を組み合わせることができる。
【００４９】
上記の動作は、以下の例示的で非限定的な擬似コードの例を使用して表され得る。
/*注: 第1の周波数帯域の合成は、(以前に)受信したフレームからのビットを使用する任意の高帯域幅BWE拡張レイヤとともに、低帯域コア復号を含み得る。ブラインドBWEは、帯域幅移行期間中に、第2の周波数帯域のための高帯域合成を生成するために使用され得る*/
/*第1の周波数帯域の復号(「通常の」非帯域幅移行期間にも適用される)*/
(現在のフレームが誤っていない)場合、
{
(現在のフレームのコーディングタイプ==TYPE-A)である場合
{//たとえば、TYPE-A==ACELP
TYPE-A復号を行う
現在のフレームの第1の周波数帯域のオーディオデータを生成する
}
あるいは、(現在のフレームのコーディングタイプ==TYPE-B)である場合
{//たとえば、TYPE-B==NELP
TYPE-B復号を行う
現在のフレームの第1の周波数帯域のオーディオデータを生成する
}
}
あるいは、(現在のフレームがエラー状態である)場合
{//たとえば、現在のフレームは受信されず、破損しており、および/またはデジッタバッファにおいて利用できない
(前のフレームのコーディングタイプ==TYPE-A)である場合
{
TYPE-A隠蔽を行う
現在のフレームの第1の周波数帯域のオーディオデータを生成する
}
あるいは、(前のフレームのコーディングタイプ==TYPE-B)である場合
{
TYPE-B隠蔽を行う
現在のフレームの第1の周波数帯域のオーディオデータを生成する
}
}
/*移行期間中のブラインドBWEを含む、第2の周波数帯域の復号*/
(帯域幅移行期間中)である場合、
{
(現在のフレームが誤っていない)場合
{
現在のフレームの第2の周波数帯域のオーディオデータを合成するためにBWE/ブラインドBWEを行う
}
あるいは、(現在のフレームがエラー状態である)場合
{
(前のフレームのコーディングタイプ==TYPE-A)である場合
{
現在のフレームの第2の周波数帯域のオーディオデータを合成するためにBWE/ブラインドBWEを行う
}
あるいは、(前のフレームのコーディングタイプ==TYPE-B)である場合、
{
前のブラインドBWEからの信号を再使用(たとえば、コピー)する(たとえば、前のフレームのTYPE-B低帯域コアに基づいて生成される)
}
}
第1の周波数帯域のオーディオデータ+第2の周波数帯域のオーディオデータを加算して出力する
}
あるいは(帯域幅移行期間内ではない)場合
{
/*(オーディオ信号内に存在する場合)第2の周波数帯域の出力オーディオデータを生成するために「通常の」動作を実行する
}
【００５０】
したがって、図1のシステム100は、帯域幅移行期間中に信号120を再使用することを可能にする。ブラインドBWEを「ゼロから」実行する代わりに信号120を再使用することによって、たとえば、NELPフレームに連続して続く誤ったフレームに対してブラインドBWEを実行する際に信号120が再使用される場合など、電子デバイスにおける復号の複雑さを低減し得る。
【００５１】
図1には示されていないが、いくつかの例では、電子デバイス110は、追加の構成要素を含み得る。たとえば、電子デバイス110は、符号化されたオーディオ信号102を受信し、符号化されたオーディオ信号内の帯域幅移行を検出するように構成されたフロントエンド帯域幅検出器を含み得る。別の例として、電子デバイス110は、周波数に基づいて符号化されたオーディオ信号102のフレームを分離(たとえば、分割およびルーティング)するように構成された、フィルタバンクなどの前処理モジュールを含み得る。例示のために、WB信号の場合、フィルタバンクは、オーディオ信号のフレームを低帯域コアと高帯域BWE構成要素とに分離し得る。実装形態に応じて、低帯域コアおよび高帯域BWE構成要素は、等しいまたは不等な帯域幅を有してもよく、および/または重複していても重複していなくてもよい。低帯域および高帯域構成要素の重複は、合成モジュール140によるデータ/信号の平滑な混合を可能にし得、出力オーディオ150における可聴アーチファクトがより少なくなる可能性がある。
【００５２】
図2は、図1の符号化されたオーディオ信号102などの符号化されたオーディオ信号を復号するために使用され得るデコーダ200の特定の態様を示す。例示的な一例では、デコーダ200は、図1のデコーダ114、116に対応する。
【００５３】
デコーダ200は、入力信号201を受信するACELPコアデコーダなどの低帯域デコーダ204を含む。入力信号201は、低帯域周波数範囲に対応する第1のデータ(たとえば、符号化された低帯域励起信号および量子化されたLSPインデックス)を含み得る。入力信号201はまた、高帯域BWE周波数帯域に対応する第2のデータ(たとえば、利得包絡線データおよび量子化されたLSPインデックス)を含み得る。利得包絡線データは、利得フレーム値および/または利得形状値を含み得る。特定の例では、入力信号201の各フレームは、信号の高帯域部分にコンテンツがほとんどまたは全く存在しない場合に変動/ダイナミックレンジを制限するために、1つの利得フレーム値と、符号化中に選択される複数の(たとえば4つの)利得形状値と関連付けられる。
【００５４】
低帯域デコーダ204は、合成された低帯域復号化信号271を生成するように構成され得る。高帯域BWE合成は、アップサンプラ206に低帯域励起信号(または、その量子化バージョンなどのその表現)を提供することを含み得る。アップサンプラ206は、帯域拡張信号の生成のために、励起信号のアップサンプリングされたバージョンを非線形関数モジュール208に提供し得る。帯域幅拡張信号は、スペクトル反転された信号を生成するために、帯域幅拡張信号に対して時間領域スペクトルミラーリングを実行するスペクトル反転モジュール210に入力し得る。
【００５５】
スペクトル反転された信号は、スペクトル反転された信号のスペクトルを平坦化し得る適応白色化モジュール212に入力され得る。結果として得られたスペクトル的に平坦化された信号は、結合器240に入力される第1のスケーリングされた信号の生成のために、スケーリングモジュール214に入力され得る。結合器240はまた、ノイズ包絡線モジュール232(たとえば、変調器)およびスケーリングモジュール234に従って処理されたランダムノイズ発生器230の出力を受信し得る。結合器240は、合成フィルタ260に入力される高帯域励起信号241を生成し得る。特定の態様では、合成フィルタ260は、量子化されたLSPインデックスに従って構成される。合成フィルタ260は、時間的包絡線調整モジュール262に入力される合成された高帯域信号を生成し得る。時間的包絡線調整モジュール262は、合成フィルタバンク270に入力される高帯域復号化信号269を生成するために、1つまたは複数の利得形状値などの利得包絡線データを適用することによって、合成された高帯域信号の時間包絡線を調整し得る。
【００５６】
合成フィルタバンク270は、低帯域復号化信号271と高帯域復号化信号269との組合せに基づいて、入力信号201の合成されたバージョンなどの合成されたオーディオ信号273を生成し得る。合成されたオーディオ信号273は、図1の出力オーディオ150の一部に対応し得る。したがって、図2は、図1の符号化されたオーディオ信号102などの、時間領域帯域幅拡張信号の復号の間に実行され得る動作の例を示す。
【００５７】
図2は、低帯域コアデコーダ114および高帯域BWEデコーダ116での動作の一例を示しているが、図2を参照して説明した1つまたは複数の動作はまた、帯域幅移行補償モジュール118によって実行され得ることを理解されたい。たとえば、LSPおよび時間成形情報(たとえば、利得形状値)が、あらかじめ設定された値を使用して置換されてよく、LSP分離が徐々に増加されてよく、(たとえば、利得フレーム値を調整することによって)高周波エネルギーがフェードアウトされ得る。したがって、デコーダ200または少なくともその構成要素は、ビットストリーム(たとえば、入力信号201)において送信されるデータに基づいてパラメータを予測することによって、ブラインドBWEのために再使用され得る。
【００５８】
特定の例では、帯域幅移行補償モジュール118は、低帯域コアデコーダ114および/または高帯域幅BWEデコーダ116から第1のパラメータ情報を受信し得る。第1のパラメータは、「現在のフレーム」および/または1つまたは複数の以前に受信されたフレームに基づき得る。帯域幅移行補償モジュール118は、第1のパラメータに基づいて第2のパラメータを生成し得、第2のパラメータは第2の周波数帯域に対応する。いくつかの態様では、トレーニングオーディオサンプルに基づいて第2のパラメータが生成され得る。代替として、または加えて、第2のパラメータは、電子デバイス110において生成された以前のデータに基づいて生成され得る。例示のために、符号化されたオーディオ信号102における帯域幅移行に先立って、符号化されたオーディオ信号102は、0ヘルツ〜6.4キロヘルツにわたる符号化された低帯域コアと、6.4キロヘルツ〜16キロヘルツにわたる帯域幅拡張高帯域とを含むSWBチャネルであり得る。したがって、帯域幅移行の前に、高帯域BWEデコーダ116は、8キロヘルツ〜16キロヘルツに対応する特定のパラメータを生成している可能性がある。特定の態様では、16キロヘルツから8キロヘルツへの帯域幅の変化によって引き起こされる帯域幅移行期間中、帯域幅移行補償モジュール118は、帯域幅移行期間に先立って生成された8キロヘルツ〜16キロヘルツのパラメータに少なくとも部分的に基づいて、第2のパラメータを生成し得る。
【００５９】
いくつかの例では、第1のパラメータと第2のパラメータとの間の相関は、オーディオトレーニングサンプルにおける低帯域オーディオと高帯域のオーディオ間との相関に基づいて決定され得、帯域幅移行補償モジュール118は、第2のパラメータを決定するために相関を使用し得る。代替例では、第2のパラメータは、1つまたは複数の固定値またはデフォルト値に基づき得る。別の例として、第2のパラメータは、符号化されたオーディオ信号102の前のフレームに関連付けられる利得フレーム値、LSF値などの予測データまたは分析データに基づいて決定され得る。さらに別の例として、符号化されたオーディオ信号102に関連付けられる平均LSFは、スペクトル傾斜を示してもよく、帯域幅移行補償モジュール118は、スペクトル傾斜に一層近似するように第2のパラメータをバイアスしてもよい。したがって、帯域幅移行補償モジュール118は、たとえ符号化されたオーディオ信号102が第2の周波数範囲(または、その一部)専用のビットを含まない場合であっても、「ブラインド」方式で第2の周波数範囲のパラメータを生成する様々な方法をサポートし得る。
【００６０】
図1および図3は帯域幅縮小を示しているが、代替の態様では、帯域幅移行期間は、帯域幅縮小ではなく帯域幅増加に対応し得る点に留意されたい。たとえば、N番目のフレームの復号中に、電子デバイス110は、バッファリングモジュール112内の(N+X)番目のフレームがN番目のフレームより高い帯域幅を有すると決定し得る。それに応じて、フレームN、(N+1)、(N+2)、...(N+X-1)に対応する帯域幅移行期間中に、帯域幅移行補償モジュール118は、帯域幅増加に対応するエネルギー移行を平滑化するためにオーディオデータを生成し得る。いくつかの例では、帯域幅縮小または帯域幅増加は、符号化されたオーディオ信号102を生成するためにエンコーダによって符号化される「元の」信号の帯域幅の減少または増加に対応する。
【００６１】
図4を参照すると、帯域幅移行期間中に信号再使用を実行する方法の特定の態様が示され、全体として400で示される。例示的な一例では、方法400は、図1のシステム100において実行され得る。
【００６２】
方法400は、402において、符号化されたオーディオ信号の帯域幅移行期間中に、符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定するステップを含み得る。第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続くことができる。たとえば、図1を参照すると、電子デバイス110は、符号化されたオーディオ信号102内の第1のフレーム104に続く第2のフレーム106に対応するエラー状態を決定し得る。特定の態様では、フレームのシーケンスは、フレーム内で識別されるか、フレームによって示される。たとえば、符号化されたオーディオ信号102の各フレームは、シーケンス番号を含み得、シーケンス番号は、フレームが順不同で受信された場合に、そのフレームを並べ替えるために使用され得る。
【００６３】
方法400はまた、404において、第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、第2のフレームの第1の周波数帯域に対応するオーディオデータを生成するステップを含み得る。たとえば、図1を参照すると、低帯域コアデコーダ114は、第1のフレーム104の第1の周波数帯域に対応するオーディオデータ122に基づいて、第2のフレーム106の第1の周波数帯域に対応するオーディオデータ124を生成し得る。特定の態様では、第1のフレーム104はNELPフレームであり、オーディオデータ124は、第1のフレーム104に基づいて第2のフレーム106に対してNELPエラー隠蔽を実行することに基づいて生成される。
【００６４】
方法400は、406において、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、選択的に(たとえば、第1のフレームがACELPフレームであるか非ACELPフレームであるかに基づいて)、第1のフレームの第2の周波数帯域に対応する信号を再使用するステップ、またはエラー隠蔽を実行するステップをさらに含み得る。例示的な態様では、デバイスは、前のフレームのコーディングモードまたはコーディングタイプに基づいて、信号再使用または高周波エラー隠蔽を実行するかどうかを決定し得る。たとえば、図1を参照すると、非ACELP(たとえば、NELP)フレームの場合、帯域幅移行補償モジュール118は、第2のフレーム106の第2の周波数帯域に対応するオーディオデータ134を合成するために、信号120を再使用し得る。特定の態様では、信号120は、第1のフレーム104の第2の周波数帯域に対応するオーディオデータ132の生成中に第1のフレーム104に対して実行されるブラインドBWE動作中に帯域幅移行補償モジュール118で生成され得る。
【００６５】
図5を参照すると、帯域幅移行期間中に信号再使用を実行する方法の別の特定の態様が示され、全体として500で示される。例示的な一例では、方法500は、図1のシステム100で実行され得る。
【００６６】
方法500は、帯域幅移行期間中に実行され得る動作に対応する。すなわち、特定のコーディングモードにおいて「前の」フレームが提供されると、図5の方法500は、「現在の」フレームがエラー状態である場合に、どのようなエラー隠蔽および/または高帯域合成動作が実行されるべきかを決定することを可能にし得る。502において、方法500は、処理中の「現在の」フレームがエラー状態であるかどうかを決定するステップを含む。フレームが受信されていないか、破損しているか、または(たとえば、デジッタバッファからの)検索に利用できない場合、フレームはエラー状態であると見なされ得る。フレームが誤っていない場合、方法500は、504において、フレームが第1のタイプ(たとえば、コーディングモード)を有するかどうかを決定するステップを含み得る。たとえば、図1を参照すると、電子デバイス110は、第1のフレーム104が誤っていないと決定し、次いで、第1のフレーム104がACELPフレームであるかどうかを決定するように進むことができる。
【００６７】
フレームが非ACELP(たとえば、NELP)フレームである場合、方法500は、506において、第1の(たとえば、NELPなどの非ACELP)復号動作を実行するステップを含み得る。たとえば、図1を参照すると、低帯域コアデコーダ114および/または高帯域幅BWEデコーダ116は、オーディオデータ122を生成するために第1のフレーム104に対してNELP復号動作を実行し得る。あるいは、フレームがACELPフレームである場合、方法500は、508において、ACELP復号動作などの第2の復号動作を実行するステップを含み得る。たとえば、図1を参照すると、低帯域コアデコーダ114は、オーディオデータ122を生成するためにACELP復号動作を実行し得る。例示的な態様では、ACELP復号動作は、図2を参照して説明した1つまたは複数の動作を含み得る。
【００６８】
方法500は、510において、高帯域復号を実行するステップと、512において、復号されたフレームおよびBWE合成を出力するステップとを含み得る。たとえば、図1を参照すると、帯域幅移行補償モジュール118は、オーディオデータ132を生成し得、合成モジュール140は、第1のフレーム104の出力オーディオ150としてオーディオデータ122、132の組合せを出力し得る。オーディオデータ132の生成中、帯域幅移行補償モジュール118は、信号120(たとえば、合成信号または励起信号)を生成し得、それはその後の再使用のために記憶され得る。
【００６９】
方法500は、502に戻り、帯域幅移行期間中、追加のフレームについて繰り返され得る。たとえば、図1を参照すると、電子デバイス110は、第2のフレーム106(現在は「現在の」フレームである)がエラー状態であると決定し得る。「現在の」フレームがエラー状態である場合、方法500は、514において、前のフレームが第1のタイプ(たとえば、コーディングモード)を有するかどうかを決定するステップを含み得る。たとえば、図1を参照すると、電子デバイス110は、前のフレーム104がACELPフレームであるかどうかを決定し得る。
【００７０】
前のフレームが第1のタイプ(たとえば、NELPフレームなどの非ACELPフレーム)を有する場合、方法500は、516において第1の(たとえば、NELPなどの非ACELP)エラー隠蔽を実行するステップと、520においてBWEを実行するステップとを含み得る。BWEを実行するステップは、前のフレームのBWEからの信号を再使用するステップを含み得る。たとえば、図1を参照すると、低帯域コアデコーダ114は、オーディオデータ124を生成するためにNELPエラー隠蔽を実行し得、帯域幅移行補償モジュール118は、オーディオデータ134を生成するために信号120を再使用し得る。
【００７１】
前のフレームが第1のタイプ(たとえば、ACELPフレーム)を有していない場合、方法500は、518において、ACELPエラー隠蔽などの第2のエラー隠蔽を実行するステップを含み得る。前のフレームがACELPフレームである場合、方法500はまた、522において、高帯域エラー隠蔽およびBWE(たとえば、帯域幅移行補償を含む)を実行するステップを含み得、前のフレームのBWEからの信号を再使用するステップを含むことができない。たとえば、図1を参照すると、低帯域コアデコーダ114は、オーディオデータ124を生成するためにACELPエラー隠蔽を実行し得、帯域幅移行補償モジュール118は、信号120を再使用することなしにオーディオデータ134を生成し得る。
【００７２】
524に進むと、方法500は、エラー隠蔽合成およびBWE合成を出力するステップを含み得る。たとえば、図1を参照すると、合成モジュール140は、第2のフレーム106の出力オーディオ150としてオーディオデータ124、134の組合せを出力し得る。次いで、方法500は502に戻り、帯域幅移行期間中に追加のフレームについて繰り返すことができる。したがって、図5の方法500は、図5に示すように、エラーの存在下で帯域幅移行期間フレームの処理を可能にし得る。特に、図5の方法500は、すべての帯域幅移行シナリオにおいてロールオフからテーパ利得(taper gain)を使用することに依存するのではなく、エラー隠蔽、信号再使用、および/または帯域幅拡張合成を選択的に実行し得、これは符号化された信号から生成された出力オーディオの品質を改善し得る。
【００７３】
特定の態様では、方法400および/または方法500は、中央処理装置(CPU)、DSP、またはコントローラなどの処理装置のハードウェア(たとえば、FPGAデバイス、ASICなど)を介して、ファームウェアデバイスを介して、あるいはそれらの任意の組合せを介して実装され得る。一例として、方法400および/または方法500は、図6に関して説明したように、命令を実行するプロセッサによって実行され得る。
【００７４】
図6を参照すると、デバイス(たとえば、ワイヤレス通信デバイス)の特定の例示的な態様のブロック図が示され、全体として600で示される。様々な態様にでは、デバイス600は、図6に示されているよりも少数または多数の構成要素を有し得る。例示的な態様では、デバイス600は、図1および図2を参照して説明した1つまたは複数のシステム、装置、あるいはデバイスの1つまたは複数の構成要素に対応し得る。例示的な態様では、デバイス600は、方法400および/または方法500のすべてまたは一部などの、本明細書に記載された1つまたは複数の方法に従って動作し得る。
【００７５】
特定の態様では、デバイス600は、プロセッサ606(たとえば、CPU)を含む。デバイス600は、1つまたは複数のさらなるプロセッサ610(たとえば、1つまたは複数のDSP)を含み得る。プロセッサ610は、スピーチおよび音楽コーデック608と、エコーキャンセラ612とを含み得る。スピーチおよび音楽コーデック608は、ボコーダエンコーダ636、ボコーダデコーダ638、またはその両方を含み得る。
【００７６】
特定の態様では、ボコーダデコーダ638はエラー隠蔽ロジック672を含み得る。エラー隠蔽ロジック672は、帯域幅移行期間中に信号を再使用するように構成され得る。たとえば、エラー隠蔽ロジックは、図1のシステム100の1つまたは複数の構成要素、および/または図2のデコーダ200を含み得る。スピーチおよび音楽コーデック608は、プロセッサ610の構成要素として示されているが、他の態様では、スピーチおよび音楽コーデック608の1つまたは複数の構成要素は、プロセッサ606、コーデック634、別の処理構成要素、あるいはそれらの組合せに含まれ得る。
【００７７】
デバイス600は、トランシーバ650を介してアンテナ642に結合されたメモリ632およびワイヤレスコントローラ640を含み得る。デバイス600は、ディスプレイコントローラ626に結合されたディスプレイ628を含み得る。スピーカ648、マイクロフォン646、または両方がコーデック634に結合され得る。コーデック634は、デジタルアナログコンバータ(DAC)602と、アナログデジタルコンバータ(ADC)604とを含む場合がある。
【００７８】
特定の態様では、コーデック634は、マイクロフォン646からアナログ信号を受信し、ADC604を使用してアナログ信号をデジタル信号にコンバートし、デジタル信号を、パルスコード変調(PCM)フォーマットなどでスピーチおよび音楽コーデック608に提供し得る。スピーチおよび音楽コーデック608はデジタル信号を処理し得る。特定の態様では、スピーチおよび音楽コーデック608は、デジタル信号をコーデック634に提供し得る。コーデック634は、DAC602を使用してデジタル信号をアナログ信号にコンバートし得、そのアナログ信号をスピーカ648に提供し得る。
【００７９】
メモリ632は、図4および図5の方法などの本明細書に開示された方法およびプロセスを実行するために、プロセッサ606、プロセッサ610、コーデック634、デバイス600の別の処理ユニット、またはそれらの組合せによって実行可能な命令656を含み得る。図1および図2を参照して説明した1つまたは複数の構成要素は、専用ハードウェア(たとえば、回路構成)を介して、1つまたは複数のタスクを実行するために命令を実行するプロセッサによって、あるいはそれらの組合せによって実装され得る。一例として、メモリ632、あるいはプロセッサ606、プロセッサ610、および/またはコーデック634のうちの1つまたは複数の構成要素は、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルク転送MRAM(STT-MRAM)、フラッシュメモリ、読出し専用メモリ(ROM)、プログラム可能読出し専用メモリ(PROM)、消去可能プログラム可能読出し専用メモリ(EPROM)、電気的消去可能プログラム可能読出し専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、光学的可読メモリ(たとえば、コンパクトディスク読出し専用メモリ(CD-ROM))、ソリッドステートメモリなどのメモリデバイスであり得る。メモリデバイスは、コンピュータ(たとえば、コーデック634内のプロセッサ、プロセッサ606、および/またはプロセッサ610)によって実行されると、コンピュータに、図4および図5の方法の少なくとも一部を実行させることができる命令(たとえば、命令656)を含み得る。一例として、メモリ632、あるいはプロセッサ606、プロセッサ610、コーデック634のうちの1つまたは複数の構成要素は、コンピュータ(たとえば、コーデック634内のプロセッサ、プロセッサ606、および/またはプロセッサ610)によって実行されると、コンピュータに、図4および図5の方法の少なくとも一部を実行させる命令(たとえば、命令656)を含む非一時的コンピュータ可読媒体であり得る。
【００８０】
特定の態様では、デバイス600は、移動局モデム(MSM)などのシステムインパッケージまたはシステムオンチップデバイス622に含まれ得る。特定の態様では、プロセッサ606、プロセッサ610、ディスプレイコントローラ626、メモリ632、コーデック634、ワイヤレスコントローラ640、およびトランシーバ650は、システムインパッケージまたはシステムオンチップデバイス622に含まれる。特定の態様では、タッチスクリーンおよび/またはキーパッドなどの入力デバイス630、ならびに電源644がシステムオンチップデバイス622に結合される。さらに、特定の態様では、図6に示されるように、ディスプレイ628、入力デバイス630、スピーカ648、マイクロフォン646、アンテナ642、および電源644は、システムオンチップデバイス622の外部にある。しかしながら、ディスプレイ628、入力デバイス630、スピーカ648、マイクロフォン646、アンテナ642、および電源644の各々は、たとえば、インターフェースまたはコントローラなどのシステムオンチップデバイス622の構成要素に結合され得る。例示的な態様では、デバイス600またはその構成要素は、モバイル通信デバイス、スマートフォン、セルラー電話、基地局、ラップトップコンピュータ、コンピュータ、タブレットコンピュータ、携帯情報端末、ディスプレイデバイス、テレビ、ゲームコンソール、音楽プレーヤ、ラジオ、デジタルビデオプレーヤ、光ディスクプレーヤ、チューナ、カメラ、ナビゲーションデバイス、デコーダシステム、エンコーダシステム、またはそれらの任意の組合せに対応するか、それを含むか、それに含まれる。
【００８１】
例示的な態様では、プロセッサ610は、記載された技法に従って信号符号化および復号動作を実行するように動作可能であり得る。たとえば、マイクロフォン646は、オーディオ信号をキャプチャし得る。ADC604は、キャプチャされたオーディオ信号を、アナログ波形から、デジタルオーディオサンプルを含むデジタル波形にコンバートし得る。プロセッサ610は、デジタルオーディオサンプルを処理し得る。エコーキャンセラ612は、スピーカ648の出力がマイクロフォン646に入ることによって作成されていることがあるエコーを低減し得る。
【００８２】
ボコーダエンコーダ636は、処理されたスピーチ信号に対応するデジタルオーディオサンプルを圧縮し得、送信パケットまたはフレーム(たとえば、デジタルオーディオサンプルの圧縮ビットの表現)を形成し得る。送信パケットは、メモリ632に記憶され得る。トランシーバ650は、ある形式の送信パケットを変調し得(たとえば、他の情報が送信パケットに付加され得る)、変調されたデータを、アンテナ642を介して送信し得る。
【００８３】
さらなる例として、アンテナ642は、受信パケットを含む着信パケットを受信し得る。受信パケットは、ネットワークを介して別のデバイスによって送信され得る。たとえば、受信パケットは、図1の符号化されたオーディオ信号102の少なくとも一部に対応し得る。ボコーダデコーダ638は、再構成されたオーディオサンプル(たとえば、出力オーディオ150または合成されたオーディオ信号273に対応する)を生成するために、受信パケットを解凍し、復号し得る。帯域幅移行期間中にフレームエラーが発生した場合、エラー隠蔽ロジック672は、図1の信号120を参照して説明したように、ブラインドBWEのための1つまたは複数の信号を選択的に再使用し得る。エコーキャンセラ612は、再構成されたオーディオサンプルからエコーを除去し得る。DAC602は、ボコーダデコーダ638の出力をデジタル波形からアナログ波形にコンバートし得、コンバートされた波形を出力するためにスピーカ648に提供し得る。
【００８４】
図7を参照すると、基地局700の特定の例示的な例のブロック図が示されている。様々な実装形態では、基地局700は、図7に示されたよりも多い構成要素または少ない構成要素を有する場合がある。例示的な一例では、基地局700は、図1の電子デバイス110を含み得る。例示的な一例では、基地局700は、図4および図5の方法のうちの1つまたは複数に従って動作し得る。
【００８５】
基地局700は、ワイヤレス通信システムの一部であり得る。ワイヤレス通信システムは、複数の基地局と複数のワイヤレスデバイスとを含み得る。ワイヤレス通信システムは、LTEシステム、CDMAシステム、GSM(登録商標)システム、ワイヤレスローカルエリアネットワーク(WLAN)システム、または他の何らかの無線システムであり得る。CDMAシステムは、WCDMA(登録商標)、CDMA 1X、エボリューションデータオプティマイズド(EVDO)、TD-SCDMA、または他の何らかのバージョンのCDMAを実装し得る。
【００８６】
ワイヤレスデバイスはまた、ユーザ機器(UE)、移動局、端末、アクセス端末、加入者ユニット、局などと呼ばれ得る。ワイヤレスデバイスは、セルラー電話、スマートフォン、タブレット、ワイヤレスモデム、携帯情報端末(PDA)、ハンドヘルドデバイス、ラップトップコンピュータ、スマートブック、ネットブック、タブレット、コードレス電話、ワイヤレスローカルループ(WLL)局、BLUETOOTH(登録商標)(BLUETOOTH(登録商標)は、米国ワシントン州カークランドのBluetooth SIG社の登録商標である)デバイスなどを含み得る。ワイヤレスデバイスは、図6のデバイス600を含むか、またはそれに対応し得る。
【００８７】
メッセージおよびデータ(たとえば、オーディオデータ)を送信および受信するなどの様々な機能が、基地局700の1つまたは複数の構成要素(および/または、図示されていない他の構成要素)によって実行され得る。特定の例では、基地局700はプロセッサ706(たとえば、CPU)を含む。基地局700は、トランスコーダ710を含み得る。トランスコーダ710は、オーディオ(たとえば、スピーチおよび音楽)コーデック708を含み得る。たとえば、トランスコーダ710は、オーディオコーデック708の動作を実行するように構成された1つまたは複数の構成要素(たとえば、回路構成)を含み得る。別の例として、トランスコーダ710は、オーディオコーデック708の動作を実行するための1つまたは複数のコンピュータ可読命令を実行するように構成され得る。オーディオコーデック708はトランスコーダ710の構成要素として示されているが、他の例では、オーディオコーデック708の1つまたは複数の構成要素が、プロセッサ706、別の処理構成要素、またはそれらの組合せの中に含まれ得る。たとえば、デコーダ738(たとえば、ボコーダデコーダ)は、受信機データプロセッサ764に含まれ得る。別の例として、エンコーダ736(たとえば、ボコーダエンコーダ)は、送信データプロセッサ782中に含まれ得る。
【００８８】
トランスコーダ710は、2つ以上のネットワーク間でメッセージおよびデータをトランスコードするように機能し得る。トランスコーダ710は、メッセージとオーディオデータとを、第1のフォーマット(たとえば、デジタルフォーマット)から第2のフォーマットにコンバートするように構成され得る。例示のために、デコーダ738は、第1のフォーマットを有する符号化された信号を復号し得、エンコーダ736は、復号された信号を第2のフォーマットを有する符号化された信号に符号化し得る。追加または代替として、トランスコーダ710は、データレート適応を実行するように構成され得る。たとえば、トランスコーダ710は、オーディオデータのフォーマットを変更することなく、データレートをダウンコンバートすること、またはデータレートをアップコンバートすることができる。例示のために、トランスコーダ710は、64キロビット/秒(kbit/s)の信号を16キロビット/秒の信号にダウンコンバートし得る。
【００８９】
オーディオコーデック708は、エンコーダ736およびデコーダ738を含み得る。デコーダ738は、図6を参照して説明したように、エラー隠蔽ロジックを含み得る。
【００９０】
基地局700は、メモリ732を含み得る。コンピュータ可読記憶デバイスなどのメモリ732は、命令を含み得る。本命令は、図4および図5の方法のうちの1つまたは複数を実行するために、プロセッサ706、トランスコーダ710、あるいはそれらの組合せによって実行可能な1つまたは複数の命令を含み得る。基地局700は、アンテナのアレイに結合された第1のトランシーバ752および第2のトランシーバ754などの複数の送信機および受信機(たとえば、トランシーバ)を含み得る。アンテナのアレイは、第1のアンテナ742と第2のアンテナ744とを含み得る。アンテナのアレイは、図6のデバイス600など、1つまたは複数のワイヤレスデバイスとワイヤレス通信するように構成され得る。たとえば、第2のアンテナ744は、ワイヤレスデバイスからデータストリーム714(たとえば、ビットストリーム)を受信し得る。データストリーム714は、メッセージ、データ(たとえば、符号化されたスピーチデータ)、またはそれらの組合せを含み得る。
【００９１】
基地局700は、バックホール接続のような、ネットワーク接続760を含むことができる。ネットワーク接続760は、ワイヤレス通信ネットワークのコアネットワークまたは1つもしくは複数の基地局と通信するように構成することができる。たとえば、基地局700は、ネットワーク接続760を介してコアネットワークから第2のデータストリーム(たとえば、メッセージまたはオーディオデータ)を受信することができる。基地局700は、メッセージまたはオーディオデータを生成するために第2のデータストリームを処理し、アンテナのアレイの1つまたは複数のアンテナを介して1つまたは複数のワイヤレスデバイスに、あるいはネットワーク接続760を介して別の基地局にメッセージまたはオーディオデータを提供し得る。特定の実装形態では、ネットワーク接続760は、例示的な非限定的な例として、ワイドエリアネットワーク(WAN)接続であり得る。いくつかの実装形態では、コアネットワークは、PSTN、パケットバックボーンネットワーク、またはその両方を含むか、それに対応することができる。
【００９２】
基地局700は、ネットワーク接続760およびプロセッサ706に結合されたメディアゲートウェイ770を含み得る。メディアゲートウェイ770は、異なる電気通信技術のメディアストリーム間でコンバートするように構成され得る。たとえば、メディアゲートウェイ770は、異なる送信プロトコル、異なるコーディング方式、またはその両方の間でコンバートし得る。例示のために、メディアゲートウェイ770は、例示的で非限定的な例として、PCM信号からリアルタイムトランスポートプロトコル(RTP)信号にコンバートし得る。メディアゲートウェイ770は、パケット交換ネットワーク(たとえば、ボイスオーバーインターネットプロトコル(VoIP)ネットワーク、IPマルチメディアサブシステム(IMS)、LTE、WiMax、およびウルトラモバイルブロードバンド(UMB)などの第4世代(4G)ワイヤレスネットワーク)、回線交換ネットワーク(たとえば、PSTN)、およびハイブリッドネットワーク(たとえば、GSM(登録商標)、汎用パケット無線サービス(GPRS)、およびグローバル進化のための拡張データレート(EDGE)などの第2世代(2G)ワイヤレスネットワーク、WCDMA(登録商標)、EV-DO、および高速パケットアクセス(HSPA)などの3Gワイヤレスネットワーク)の間でデータをコンバートし得る。
【００９３】
さらに、メディアゲートウェイ770は、コーデックに互換性がないときにデータをトランスコードするように構成されたトランスコーダを含み得る。たとえば、メディアゲートウェイ770は、例示的で非限定的な例として、適応マルチレート(AMR)コーデックとG.711コーデックとの間でトランスコードし得る。メディアゲートウェイ770は、ルータおよび複数の物理インターフェースを含み得る。いくつかの実装形態では、メディアゲートウェイ770はまた、コントローラ(図示せず)を含み得る。特定の実装形態では、メディアゲートウェイコントローラは、メディアゲートウェイ770の外部、基地局700の外部、またはその両方にあってもよい。メディアゲートウェイコントローラは、複数のメディアゲートウェイの動作を制御および調整し得る。メディアゲートウェイ770は、メディアゲートウェイコントローラから制御信号を受信し得、異なる送信技術間をブリッジするように機能し得、エンドユーザの能力および接続にサービスを追加し得る。
【００９４】
基地局700は、トランシーバ752、754、受信機データプロセッサ764、およびプロセッサ706に結合された復調器762を含み得、受信機データプロセッサ764はプロセッサ706に結合され得る。復調器762は、トランシーバ752、754から受信された変調信号を復調するように、および復調されたデータを受信機データプロセッサ764に提供するように構成され得る。受信機データプロセッサ764は、復調されたデータからメッセージまたはオーディオデータを抽出し、メッセージまたはオーディオデータをプロセッサ706に送るように構成され得る。
【００９５】
基地局700は、送信データプロセッサ782および送信多入力/多出力(MIMO)プロセッサ784を含み得る。送信データプロセッサ782は、プロセッサ706および送信MIMOプロセッサ784に結合され得る。送信MIMOプロセッサ784は、トランシーバ752、754およびプロセッサ706に結合され得る。いくつかの実装形態では、送信MIMOプロセッサ784は、メディアゲートウェイ770に結合され得る。送信データプロセッサ782は、例示的な非限定的な例として、プロセッサ706からメッセージまたはオーディオデータを受信し、CDMAまたは直交周波数分割多重(OFDM)などのコーディング方式に基づいてメッセージまたはオーディオデータをコーディングするように構成され得る。送信データプロセッサ782は、コード化データを送信MIMOプロセッサ784に提供し得る。
【００９６】
コーディングデータは、多重化されたデータを生成するために、CDMA技法またはOFDM技法を使用して、パイロットデータなどの他のデータと多重化され得る。次いで、変調シンボルを生成するために、多重化されたデータは、特定の変調方式(たとえば、バイナリ位相シフトキーイング(「BPSK」)、直交位相シフトキーイング(「QPSK」)、M-ary位相シフトキーイング(「M-PSK」)、M-ary直交振幅変調(「M-QAM」)など)に基づいて、送信データプロセッサ782によって変調(すなわち、シンボルマッピング)され得る。特定の実施形態では、コーディングデータおよび他のデータは、異なる変調方式を使用して変調され得る。各データストリームのデータレート、コーディング、および変調は、プロセッサ706によって実行される命令によって決定され得る。
【００９７】
送信MIMOプロセッサ784は、送信データプロセッサ782から変調シンボルを受信するように構成され得、変調シンボルをさらに処理し得、データに対してビームフォーミングを実行し得る。たとえば、送信MIMOプロセッサ784は、変調シンボルにビームフォーミング重みを適用してよい。ビームフォーミング重みは、変調シンボルがそこから送信されるアンテナのアレイの1つまたは複数のアンテナに対応し得る。
【００９８】
動作中、基地局700の第2のアンテナ744は、データストリーム714を受信し得る。第2のトランシーバ754は、データストリーム714を第2のアンテナ744から受信することができ、データストリーム714を復調器762に提供し得る。復調器762は、データストリーム714の変調信号を復調し、復調されたデータを受信機データプロセッサ764に提供し得る。受信機データプロセッサ764は、復調されたデータからオーディオデータを抽出し、抽出されたオーディオデータをプロセッサ706に提供し得る。
【００９９】
プロセッサ706は、トランスコードのためにオーディオデータをトランスコーダ710に提供することができる。トランスコーダ710のデコーダ738は、オーディオデータを第1のフォーマットから復号して復号オーディオデータにすることができ、エンコーダ736は、復号オーディオデータを符号化して第2のフォーマットにすることができる。いくつかの実装形態において、エンコーダ736は、ワイヤレスデバイスから受信されるよりもより高いデータレート(たとえば、アップコンバート)またはより低いデータレート(たとえば、ダウンコンバート)を使用してオーディオデータを符号化することができる。他の実装形態において、オーディオデータは、トランスコードされなくてもよい。トランスコード(たとえば、復号および符号化)はトランスコーダ710によって実行されるものとして示されているが、トランスコード動作(たとえば、復号および符号化)は、基地局700の複数の構成要素によって実行されてもよい。たとえば、復号は、受信機データプロセッサ764によって実行されてもよく、符号化は、送信データプロセッサ782によって実行されてもよい。他の実装形態では、プロセッサ706は、別の送信プロトコル、コーディング方式、またはその両方へのコンバージョンのために、オーディオデータをメディアゲートウェイ770に提供し得る。メディアゲートウェイ770は、コンバートされたデータを、ネットワーク接続760を介して別の基地局またはコアネットワークに提供し得る。
【０１００】
デコーダ738は、符号化されたオーディオ信号の帯域幅移行期間中に、符号化されたオーディオ信号の第2のフレームに対応するエラー状態を決定し、第2のフレームは、符号化されたオーディオ信号内の第1のフレームに連続して続く。デコーダ738は、第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて、第2のフレームの第1の周波数帯域に対応するオーディオデータを生成し得る。デコーダ738は、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、第1のフレームの第2の周波数帯域に対応する信号を再使用し得る。いくつかの例では、デコーダは、第1のフレームがACELPフレームであるか非ACELPフレームであるかに基づいて高帯域エラー隠蔽または信号再使用を実行するかどうかを決定し得る。さらに、トランスコードされたデータなどの、エンコーダ736において生成された符号化されたオーディオデータは、プロセッサ706を介して送信データプロセッサ782またはネットワーク接続760に提供され得る。
【０１０１】
トランスコーダ710からのトランスコードされたオーディオデータは、変調シンボルを生成するために、OFDMなどの変調方式に従ってコーディングするために、送信データプロセッサ782に提供され得る。送信データプロセッサ782は、変調シンボルを、さらなる処理およびビームフォーミングのために送信MIMOプロセッサ784に提供し得る。送信MIMOプロセッサ784は、ビームフォーミング重みを適用することができ、変調シンボルを、第1のトランシーバ752を介して、第1のアンテナ742など、アンテナのアレイの1つまたは複数のアンテナに提供し得る。したがって、基地局700は、ワイヤレスデバイスから受信されたデータストリーム714に対応するトランスコードされたデータストリーム716を、別のワイヤレスデバイスに提供し得る。トランスコードされたデータストリーム716は、データストリーム714とは異なる符号化フォーマット、データレート、または両方を有し得る。他の実装形態では、トランスコードされたデータストリーム716は、別の基地局またはコアネットワークへの送信のために、ネットワーク接続760に提供され得る。
【０１０２】
したがって、基地局700は、プロセッサ(たとえば、プロセッサ706またはトランスコーダ710)によって実行されると、プロセッサに、方法400および/または500のすべてまたは一部などの本明細書に記載の1つまたは複数の方法に従った動作を実行させる命令を記憶するコンピュータ可読記憶デバイス(たとえば、メモリ732)を含み得る。
【０１０３】
特定の態様では、装置は、第1のフレームの第1の周波数帯域に対応するオーディオデータに基づいて第2のフレームの第1の周波数帯域に対応するオーディオデータを生成するための手段を含む。第2のフレームは、帯域幅移行期間中に符号化されたオーディオ信号のフレームのシーケンスに従って第1のフレームに連続して続く。たとえば、生成するための手段は、低帯域コアデコーダ114などの電子デバイス110の1つまたは複数の構成要素、デコーダ200の1つまたは複数の構成要素、デバイス600の1つまたは複数の構成要素(たとえば、エラー隠蔽ロジック672)、オーディオデータを生成するように構成された別のデバイス、回路、モジュール、またはロジック、あるいはそれらの任意の組合せを含み得る。本装置はまた、第2のフレームに対応するエラー状態に応じて、第2のフレームの第2の周波数帯域に対応するオーディオデータを合成するために、第1のフレームの第2の周波数帯域に対応する信号を再使用するための手段を含む。たとえば、再使用するための手段は、帯域幅移行補償モジュール118などの電子デバイス110の1つまたは複数の構成要素、デコーダ200の1つまたは複数の構成要素、デバイス600の1つまたは複数の構成要素(たとえば、エラー隠蔽ロジック672)、オーディオデータを生成するように構成された別のデバイス、回路、モジュール、またはロジック、あるいはそれらの任意の組合せを含み得る。
【０１０４】
当業者であれば、本明細書で開示される態様に関連して説明された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、ハードウェアプロセッサなどの処理デバイスによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに理解するであろう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについては、それらの機能の点から一般に上述した。そのような機能がハードウェアとして実装されるか実行可能なソフトウェアとして実装されるかは、特定の適用例と、システム全体に課される設計制約とに依存する。当業者なら、述べた機能を、特定の適用例ごとに様々な方式で実装することができるが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【０１０５】
本明細書に開示された態様に関連して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはその2つの組合せにおいて直接具体化され得る。ソフトウェアモジュールは、RAM、MRAM、STT-MRAM、フラッシュメモリ、ROM、PROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、光学的可読メモリ(たとえば、CD-ROM)、ソリッドステートメモリなどのメモリデバイスに存在し得る。例示的なメモリデバイスは、プロセッサがメモリデバイスから情報を読み出し、メモリデバイスに情報を書き込むことができるように、プロセッサに結合される。あるいは、メモリデバイスは、プロセッサに一体化され得る。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末中に存在し得る。あるいは、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末に個別のコンポーネントとして存在し得る。
【０１０６】
開示された態様のこれまでの説明は、当業者が開示された態様を作成または使用することを可能にするために提供される。これらの態様への種々の変更は当業者には容易に明らかになり、本明細書において規定された原理は、本開示の範囲から逸脱することなく、他の態様に適用されてもよい。したがって、本開示は、本明細書に示される態様に限定されることを意図するものではなく、以下の特許請求の範囲によって規定される原理および新規の特徴と一致する取り得る最も広い範囲を与えられるべきである。
【符号の説明】
【０１０７】
100  システム
102  符号化されたオーディオ信号
104  第1のフレーム
104a  第1のフレーム
104b  第1のフレーム
106  第2のフレーム
110  電子デバイス
112  バッファリングモジュール
114  低帯域コアデコーダ
116  高帯域BWEデコーダ
118  帯域幅移行補償モジュール
120  再使用される信号
122  オーディオデータ
124  オーディオデータ
132  オーディオデータ
134  オーディオデータ
140  合成モジュール
150  出力オーディオ
200  デコーダ
201  入力信号
204  低帯域デコーダ
206  アップサンプラ
208  非線形関数モジュール
210  スペクトル反転モジュール
212  適応白色化モジュール
214  スケーリングモジュール
230  ランダムノイズ発生器
232  ノイズ包絡線モジュール
234  スケーリングモジュール
240  結合器
241  高帯域励起信号
260  合成フィルタ
262  時間的包絡線調整モジュール
269  高帯域復号化信号
270  合成フィルタバンク
271  低帯域復号化信号
273  合成されたオーディオ信号
320  第2の波形
330  第3の波形
332  帯域幅移行期間
400  方法
500  方法
600  デバイス
602  デジタルアナログコンバータ(DAC)
604  アナログデジタルコンバータ(ADC)
606  プロセッサ
608  スピーチおよび音楽コーデック
610  プロセッサ
612  エコーキャンセラ
622  システムオンチップデバイス
626  ディスプレイコントローラ
628  ディスプレイ
630  入力デバイス
632  メモリ
634  コーデック
636  ボコーダエンコーダ
638  ボコーダデコーダ
640  ワイヤレスコントローラ
642  アンテナ
644  電源
646  マイクロフォン
648  スピーカ
650  トランシーバ
656  命令
672  エラー隠蔽ロジック
700  基地局
706  プロセッサ
708  オーディオコーデック
710  トランスコーダ
714  データストリーム
732  メモリ
736  エンコーダ
738  デコーダ
742  第1のアンテナ
744  第2のアンテナ
752  第1のトランシーバ
754  第2のトランシーバ
760  ネットワーク接続
762  復調器
764  受信機データプロセッサ
770  メディアゲートウェイ
782  送信データプロセッサ
784  送信多入力/多出力(MIMO)プロセッサ
【図１】
0006786592.tif 000002
【図２】
0006786592.tif 000003
【図３】
0006786592.tif 000004
【図４】
0006786592.tif 000005
【図５】
0006786592.tif 000006
【図６】
0006786592.tif 000007
【図７】
0006786592.tif 000008