(57)【特許請求の範囲】
【請求項１】
符号化されたオーディオビットストリームをデコーダにおいて復号化する方法であって、
低帯域ビットストリームを含むオーディオビットストリームを受信するステップと、
前記低帯域ビットストリームを復号化して、復号化された低帯域係数を周波数領域で得るステップと、
複数の前記復号化された低帯域係数を処理して処理された低帯域係数を形成するステップであって、前記処理が、平坦化利得または平滑化利得の乗算による前記複数の前記低帯域係数の平坦化または平滑化を含む、前記複数の前記低帯域係数のエネルギーエンベロープを修正するステップを含み、
前記平坦化利得または前記平滑化利得が、スペクトル平坦化または平滑化制御を変更するための分類を示すフラグに従って交換可能または変更可能であり、
前記分類が、スペクトル傾斜を表す複数のエネルギー比率と、複数のスペクトル鮮明度パラメータとによって決定され、
前記複数のスペクトル鮮明度パラメータのそれぞれが、元の高周波数帯域のサブバンドにおける平均エネルギーと最大エネルギーとの間の比率として定義され、
前記エネルギー比率が所定の値より大きい場合に、前記スペクトル鮮明度パラメータによりスペクトルが平坦化または平滑化されるための第1の閾値は、前記エネルギー比率が前記所定の値より小さい場合に、前記スペクトル鮮明度パラメータにより前記スペクトルが平坦化または平滑化されるための第2の閾値よりも小さい、ステップと、
前記処理された低帯域係数を高周波数帯域位置にコピーして、高帯域係数を生成するステップと、
前記高帯域係数を処理して処理された高帯域係数を形成するステップであって、前記処理が、
前記受信したオーディオビットストリームから復号化される受信したスペクトルエンベロープを前記高帯域係数に付加するステップ
を含むステップと、
前記復号化された低帯域係数および前記処理された高帯域係数を時間領域に逆変換して、時間領域出力信号を取得するステップと
を含む方法。
【請求項２】
前記受信したビットストリームが、高帯域サイドビットストリームを含み、
当該方法が、前記高帯域サイドビットストリームを復号化して、サイド情報を得るステップと、スペクトルバンド複製(SBR)技法を使用して、前記サイド情報により前記高帯域係数を生成するステップとをさらに含む、
請求項1に記載の方法。
【請求項３】
前記平坦化利得または前記平滑化利得を用いて、前記高周波数帯域位置にコピーすべき前記復号化された低帯域係数を修正するステップ、または前記高周波数帯域位置にコピーすべき前記低帯域係数のエネルギー分布を修正するステップをさらに含む、請求項1または2に記載の方法。
【請求項４】
前記平坦化利得または前記平滑化利得を用いて、前記復号化された低帯域係数のエネルギーを平均化することによって取得される平均エネルギー値を使用するステップをさらに含む、請求項1または2に記載の方法。
【請求項５】
前記低帯域ビットストリームを復号化するステップが、
前記低帯域ビットストリームを復号化して、低帯域信号を得るステップと、
前記低帯域信号を前記周波数領域に変換して、前記低帯域係数を取得するステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記エネルギーエンベロープを修正するステップが、前記エネルギーエンベロープを平坦化または平滑化するステップを含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
符号化されたオーディオ信号を受信するためのシステムであって、
低帯域ビットストリームを含むオーディオビットストリームを受信するための手段と、
前記低帯域ビットストリームを復号化して、復号化された低帯域係数を周波数領域で得るための手段と、
複数の前記復号化された低帯域係数を処理して処理された低帯域係数を形成するための手段であって、前記処理が、平坦化利得または平滑化利得の乗算による前記複数の前記低帯域係数の平坦化または平滑化を含む、前記複数の前記低帯域係数のエネルギーエンベロープを修正するための手段を含み、
前記平坦化利得または前記平滑化利得が、スペクトル平坦化または平滑化制御を変更するための分類を示すフラグに従って交換可能または変更可能であり、
前記分類が、スペクトル傾斜を表す複数のエネルギー比率と、複数のスペクトル鮮明度パラメータとによって決定され、
前記複数のスペクトル鮮明度パラメータのそれぞれが、元の高周波数帯域のサブバンドにおける平均エネルギーと最大エネルギーとの間の比率として定義され、
前記エネルギー比率が所定の値より大きい場合に、前記スペクトル鮮明度パラメータによりスペクトルが平坦化または平滑化されるための第1の閾値は、前記エネルギー比率が前記所定の値より小さい場合に、前記スペクトル鮮明度パラメータにより前記スペクトルが平坦化または平滑化されるための第2の閾値よりも小さい、手段と、
前記処理された低帯域係数を高周波数帯域位置にコピーして、高帯域係数を生成するための手段と、
前記高帯域係数を処理して処理された高帯域係数を形成するための手段であって、前記処理が、前記受信したオーディオビットストリームから復号化される受信したスペクトルエンベロープを前記高帯域係数に付加するための手段を含む手段と、
前記復号化された低帯域係数および前記処理された高帯域係数を時間領域に逆変換して、時間領域出力信号を取得するための手段と
を含むシステム。
【請求項８】
前記受信したビットストリームが、高帯域サイドビットストリームを含み、
前記システムが、前記高帯域サイドビットストリームを復号化して、サイド情報を得るための手段と、スペクトルバンド複製(SBR)技法を使用して、前記サイド情報により前記高帯域係数を生成するための手段とをさらに含む、請求項7に記載のシステム。
【請求項９】
前記平坦化利得または前記平滑化利得を用いて、前記高周波数帯域位置にコピーすべき前記復号化された低帯域係数を修正するための手段、または前記高周波数帯域位置にコピーすべき前記低帯域係数のエネルギー分布を修正するための手段をさらに含む、請求項7または8に記載のシステム。
【請求項１０】
前記平坦化利得または前記平滑化利得を用いて、前記復号化された低帯域係数のエネルギーを平均化することによって取得される平均エネルギー値を使用するための手段を含む、請求項7または8に記載のシステム。
【請求項１１】
前記出力オーディオ信号が、ラウドスピーカに入力されるように構成されている、請求項7から10のいずれか一項に記載のシステム。
【請求項１２】
コンピュータプロセッサによって実行されるとき、請求項1から6のいずれか一項に記載の方法を前記コンピュータプロセッサに実行させるコンピュータプログラムコードを具備するコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、「Spectrum Flatness Control for Bandwidth Extension」という名称の2011年7月18日に出願した米国特許非仮出願第13/185,163号、および「Spectrum Flatness Control for Bandwidth Extension」という名称の2010年7月19日に出願した米国特許仮出願第61/365,456号に対する優先権を主張するものであり、これらの出願は、参照によりその全体が本明細書に組み込まれている。
【０００２】
本発明は、一般に、オーディオ/スピーチ処理に関し、より詳細には、帯域幅拡張のためのスペクトル平坦性制御に関する。
【背景技術】
【０００３】
最新のオーディオ/スピーチデジタル信号通信システムでは、デジタル信号がエンコーダにおいて圧縮され、圧縮された情報またはビットストリームはパケット化されて、通信チャネルを介してフレーム毎にデコーダに送信され得る。エンコーダとデコーダの両方が一緒になったシステムは、コーデックと呼ばれる。スピーチ/オーディオ圧縮は、スピーチ/オーディオ信号を表すビットの数を抑えるために使用される場合があり、それによって、送信に必要な帯域幅および/またはビットレートが抑えられる。一般に、より高いビットレートがより高いオーディオ品質をもたらし、より低いビットレートがより低いオーディオ品質をもたらすことになる。
【０００４】
フィルタバンク技術に基づくオーディオコード化は、広範囲に使用される。信号処理では、フィルタバンクは、入力信号を複数のコンポーネントに分割するバンドパスフィルタのアレイであり、各コンポーネントは、元の入力信号の単一の周波数サブバンドを伴う。フィルタバンクによって行われる分解のプロセスを分析と呼び、フィルタバンク分析の出力は、サブバンド信号と呼ばれ、これはフィルタバンク内に存在するフィルタの数に達するほどの数のサブバンドを有する。再構成プロセスは、フィルタバンク合成と呼ばれる。デジタル信号処理では、用語フィルタバンクはまた、一般的に、レシーバのバンクに適用され、これにより、サブバンドをある減率で再サンプリング可能な低い中心周波数へと変換することができる。同じ合成結果は、バンドパスサブバンドをアンダーサンプリングすることによって得ることができることもあり得る。フィルタバンク分析の出力は、複素係数の形態にすることもでき、各複素係数は、フィルタバンクの各サブバンドについて余弦項および正弦項をそれぞれ表す実数要素および虚数要素を有する。
【０００５】
(フィルタバンク分析/フィルタバンク合成)は、時間領域信号を周波数領域係数に変換し、周波数領域係数を逆変換して時間領域信号に戻す一種の変換対である。(FFT/iFFT)、(DFT/iDFT)、および(MDCT/iMDCT)などの他の一般的な変換対がスピーチ/オーディオコード化の際に使用されることもある。
【０００６】
フィルタバンクを適用して信号を圧縮する際、一部の周波数は、他の周波数よりも知覚的に重要である。知覚的に有意な周波数は、分解後、微細分解能によりコード化され得、それは、これらの周波数におけるわずかな差異は、こうした差異を維持するコード化スキームの使用を認めるほど知覚的に目立つからである。一方で、知覚的にほとんど有意でない周波数は、正確に複製されず、したがって、より微細な詳細の一部がコード化において失われることにはなるが、より粗いコード化スキームが使用され得る。典型的なより粗いコード化スキームは、帯域幅拡張(BWE:Bandwidth Extension)、同様に知られている高帯域拡張(HBE:High Band Extension)の概念に基づくことができる。近年、一般的となっている1つの特定のBWEまたはHBEアプローチは、サブバンドレプリカ(SBR:Sub Band Replica)またはスペクトルバンド複製(SBR:Spectral Band Replication)として知られている。これらの技法は、一部の周波数サブバンド(通常は、高帯域)を、ビットレートをほとんど、または全く割り当てずに符号化および復号化し、それによって、通常の符号化/復号化アプローチよりも有意に低いビットレートをもたらすという点で類似している。SBR技術の場合、高周波数帯域におけるスペクトル微細構造は、低周波数帯域からコピーされ、ランダムノイズが加えられる場合がある。次に、高周波数帯域のスペクトルエンベロープが、エンコーダからデコーダに送信されるサイド情報を使用することによって成形される。近年、いくつかの後処理モジュールを用いた特定のSBR技術は、MPEG4 USACという名称の国際規格において利用されており、MPEGはMoving Picture Experts Groupを意味し、USACはUnified Speech Audio Codingを指している。
【０００７】
いくつかの適用例では、デコーダサイドにおいて後処理または制御された後処理が、低ビットレートコード化またはSBRコード化によってコード化される信号の知覚品質をさらに改善するために使用される。いくつかの後処理モジュールまたは制御された後処理モジュールが、SBRデコーダ内に導入される場合もある。
【発明の概要】
【課題を解決するための手段】
【０００８】
一実施形態によれば、符号化されたオーディオビットストリームをデコーダにおいて復号化する方法は、オーディオビットストリームを受信するステップと、オーディオビットストリームの低帯域ビットストリームを復号化して、低帯域係数を周波数領域で得るステップと、複数の低帯域係数を高周波数帯域位置にコピーして、高帯域係数を生成するステップとを含む。この方法は、処理された高帯域係数を形成するための、高帯域係数を処理するステップをさらに含む。処理するステップは、修正利得を乗算して、高帯域係数を平坦化または平滑化することによって、高帯域係数のエネルギーエンベロープを修正するステップと、受信したオーディオビットストリームから復号化される受信したスペクトルエンベロープを高帯域係数に付加するステップとを含む。次いで、低帯域係数および処理された高帯域係数を時間領域に逆変換して、時間領域出力信号を取得する。
【０００９】
さらなる実施形態によれば、復号化されたスピーチ/オーディオ信号をデコーダにおいて生成し、生成された高周波数帯域のスペクトル平坦性を改善する後処理方法は、帯域幅拡張(BWE)高帯域係数生成方法を使用して、周波数領域の低帯域係数から高帯域係数を生成するステップを含む。この方法はまた、平坦化または平滑化利得を高帯域係数に乗算することによって、高帯域係数のエネルギーエンベロープを平坦化または平滑化するステップと、BWE成形および決定方法を使用することによって、高帯域係数のエネルギーを成形し、決定するステップと、低帯域係数および高帯域係数を時間領域に逆変換して、時間領域出力スピーチ/オーディオ信号を取得するステップとを含む。
【００１０】
さらなる実施形態によれば、符号化されたオーディオ信号を受信するためのシステムは、符号化されたオーディオ信号の低帯域部分を周波数領域低帯域係数に低帯域ブロックの出力において変換するように構成されている、低帯域ブロックを備える。高帯域ブロックが、低帯域ブロックの出力に結合され、複数の低帯域係数を高周波数帯域位置にコピーすることによって、高帯域係数を高帯域ブロックの出力において生成するように構成されている。このシステムはまた、高帯域ブロックの出力に結合され、成形された高帯域係数をエンベロープ成形ブロックの出力において生成する、エンベロープ成形ブロックを備える。エンベロープ成形ブロックは、修正利得を乗算して、高帯域係数を平坦化または平滑化することによって、高帯域係数のエネルギーエンベロープを修正し、符号化されたオーディオ信号から復号化される受信したスペクトルエンベロープを高帯域係数に付加するように構成されている。システムはまた、エンベロープ成形ブロックの出力および低帯域ブロックの出力に結合され、時間領域オーディオ出力を生成するように構成されている逆変換ブロックを備える。
【００１１】
さらなる実施形態によれば、持続性コンピュータ可読媒体には、実行可能なプログラムが記憶されている。このプログラムは、符号化オーディオ信号を復号化して、復号化されたオーディオ信号を生成するステップと、スペクトル帯域幅拡張のためのスペクトル平坦性制御を用いて復号化されたオーディオ信号を後処理するステップとを実行するようにプロセッサに命令する。実施形態においては、符号化されたオーディオ信号は、入力オーディオ信号のコード化された表現を含む。
【００１２】
続く本発明の詳細な説明をより良く理解することができるように、上記では本発明の実施形態の特徴をやや広義に概説した。以降、本発明の特許請求の範囲の主題を成す本発明の諸実施形態の追加の特徴および利点を説明する。開示される概念および特定の実施形態は、本発明の同じ目的を達成するために、他の構造またはプロセスを修正あるいは設計するための礎として容易に利用可能であることは当業者には認識されるはずである。また、そのような均等な構成が、添付の特許請求の範囲に説明する本発明の趣旨および範囲から逸脱するものでないことを当業者には理解されるはずである。
【００１３】
本実施形態、およびその利点をより完全に理解するために、次に、添付の図面と併せて以下の説明を参照する。
【図面の簡単な説明】
【００１４】
【図１ａ】本発明の実施形態による具体化エンコーダを示す図である。
【図１ｂ】本発明の実施形態による具体化デコーダを示す図である。
【図２ａ】本発明のさらなる実施形態による具体化エンコーダを示す図である。
【図２ｂ】本発明のさらなる実施形態による具体化デコーダを示す図である。
【図３】具体化スペクトル平坦性制御システムと方法を使用せずに、無声スピーチに対するSBRアプローチを使用して生成された高帯域スペクトルエンベロープを示すグラフである。
【図４】具体化スペクトル平坦性制御システムと方法を使用した、無声スピーチに対するSBRアプローチを使用して生成された高帯域スペクトルエンベロープを示すグラフである。
【図５】具体化スペクトル平坦性制御システムと方法を使用せずに、典型的な有声スピーチに対するSBRアプローチを使用して生成された高帯域スペクトルエンベロープを示すグラフである。
【図６】具体化スペクトル平坦性制御システムと方法を使用した、有声スピーチに対するSBRアプローチを使用して生成された高帯域スペクトルエンベロープを示すグラフである。
【図７】本発明の実施形態による通信システムを示す図である。
【図８】本発明の方法を実施するために使用可能な処理システムを示す図である。
【発明を実施するための形態】
【００１５】
実施形態の製作および使用について詳細に後述する。しかし、本発明が、広範な特定の文脈において実施可能な多数の適用できる発明的概念を提供することを認識されたい。論じられる特定の実施形態は、本発明を製作し、使用するための特定の方法を単に例示しているに過ぎず、本発明の範囲を限定するものではない。
【００１６】
本発明は、特定の文脈、オーディオの符号化および復号化に関するシステムと方法において様々な実施形態に関して説明する。本発明の実施形態はまた、他のタイプの信号処理にも適用され得る。
【００１７】
本発明の実施形態は、オーディオデコーダにおけるSBR性能を改善するために、スペクトル平坦性制御を使用する。スペクトル平坦性制御は、スピーチおよびオーディオ信号の低ビットレートコード化をさらに改善する後処理または制御された後処理技術のうちの1つ(SBRなど)として見なすことが可能である。SBR技術を用いたコーデックは、低周波数帯域をコード化するために高周波数帯域の場合よりも多くのビットを使用し、それは、高周波数帯域の微細スペクトル構造が、追加のビットをほとんど、または全く費やさずに簡単に低周波数帯域からコピーされるものであるということがSBRの1つの基本特徴であるからである。高周波数帯域にわたってスペクトルエネルギー分布を決定する高周波数帯域のスペクトルエンベロープは、通常、非常に限定された数のビットを用いてコード化される。通例、高周波数帯域は、いくつかのサブバンドに大まかに分割され、サブバンド毎のエネルギーは、量子化され、エンコーダからデコーダに送信される。高周波数帯域の場合にSBRを用いてコード化すべき情報がサイド情報と呼ばれる理由は、高周波数帯域の場合に費やされるビットの数は、通常のコード化アプローチよりもはるかに小さいか、または低周波数帯域コード化よりもはるかに有意でないからである。
【００１８】
実施形態においては、スペクトル平坦性制御は、ビットを全く費やさずにデコーダにおいて使用可能な後処理モジュールとして実施される。例えば、後処理は、具体的には後処理モジュールに対してエンコーダから送信される情報を全く使用することなく、デコーダにおいて実行可能である。そのような実施形態においては、後処理モジュールは、後処理以外の目的のために初期に送信された利用可能な情報のみをデコーダにおいて使用して動作する。制御フラグがスペクトル平坦性制御モジュールを制御するために使用される実施形態においては、エンコーダからデコーダに制御フラグに関して送信される情報は、SBRについてのサイド情報の一部と見なされる。例えば、1つのビットが、スペクトル平坦性制御モジュールをオンまたはオフに切り替えるために、あるいは異なるスペクトル平坦性制御モジュールを選択するために費やされる可能性がある。
【００１９】
図1a〜図1bおよび図2a〜図2bは、SBRアプローチを利用するエンコーダおよびデコーダの具体化例を示している。これらの図はまた、スペクトル平坦性制御アプリケーションの可能な例示的具体化配置を示しているが、スペクトル平坦性制御の正確な配置は、後述する詳細な符号化/復号化スキームによって決まる。図3、図4、図5、および図6は、具体化システムの例示的なスペクトルを示している。
【００２０】
図1aは、具体化フィルタバンクエンコーダを示している。まず、エンコーダにおける元のオーディオ信号またはスピーチ信号101が、フィルタバンク分析または他の変換アプローチを使用することによって周波数領域に変換される。この変換の低帯域フィルタバンク出力係数102が、量子化され、ビットストリームチャネル103を介してデコーダに送信される。変換からの高周波数帯域出力係数104が分析され、高周波数帯域についての低ビットレートサイド情報が、ビットストリームチャネル105を介してデコーダに送信される。いくつかの実施形態においては、高周波数帯域についての低ビットレートサイド情報のみが送信される。
【００２１】
図1bに示される具体化デコーダにおいては、低周波数帯域の量子化されたフィルタバンク係数107が、送信チャネルからのビットストリーム106を使用することによって復号化される。任意選択で、低帯域周波数領域係数107を後処理して、後処理係数108を得てから、フィルタバンク合成などの逆変換を実行することができる。高帯域信号は、SBR技術を用いて復号化され、高周波数帯域の生成を助けるためのサイド情報が使用される。
【００２２】
ある実施形態においては、サイド情報は、ビットストリーム110から復号化され、周波数領域高帯域係数111または後処理高帯域係数112はいくつかのステップを使用して生成される。このステップは、少なくとも2つの基本ステップを含むことが可能であり、一方のステップは、低帯域周波数係数を高帯域位置にコピーすることであり、もう一方のステップは、受信したサイド情報を使用することによってコピーされた高帯域係数のスペクトルエンベロープを成形することである。いくつかの実施形態においては、スペクトル平坦性制御は、スペクトルエンベロープが付加される前でもまたは後でも高周波数帯域に適用可能であり、スペクトル平坦性制御は、最初に、低帯域係数に適用されてもよい。次いで、これらの後処理された低帯域係数は、スペクトル平坦性制御の適用後、高帯域位置にコピーされる。多くの実施形態においては、スペクトル平坦性制御は、信号チェーン内の様々な場所に配置され得る。スペクトル平坦性制御の最も効果的な場所は、例えば、デコーダ構造、および受信したスペクトルエンベロープの精度によって決まる。最終的には、高帯域係数と低帯域係数を一緒に組み合わせ、逆変換して時間領域に戻し、出力オーディオ信号109を取得する。
【００２３】
図2aおよび図2bは、具体化エンコーダおよび具体化デコーダをそれぞれ示している。ある実施形態においては、低帯域の信号は、任意のコード化スキームにより符号化/復号化され、一方、高帯域については、低ビットレートSBRスキームにより符号化/復号化される。図2aのエンコーダにおいては、低帯域の元の信号201を低帯域エンコーダによって分析して低帯域パラメータ202を取得し、次いで、低帯域パラメータは、量子化され、ビットストリームチャネル203を介してエンコーダからデコーダに送信される。高帯域信号を含む元の信号204は、フィルタバンク分析または他の変換ツールを使用することによって、周波数領域に変換される。変換からの高周波数帯域の出力係数を分析して、サイドパラメータ205を取得し、このパラメータ205は、高帯域サイド情報を表す。
【００２４】
いくつかの実施形態においては、高周波数帯域についての低ビットレートサイド情報のみが、ビットストリームチャネル206を介してデコーダに送信される。図2のデコーダサイドにおいては、低帯域信号208が、受信したビットストリーム207により復号化され、次いで、この低帯域信号をフィルタバンク分析などの変換ツールを使用することによって周波数領域に変換して、対応する周波数係数209を取得する。いくつかの実施形態においては、任意選択で、これらの低帯域周波数領域係数209を後処理して、後処理係数210を得てから、フィルタバンク合成などの逆変換に進む。高帯域信号は、SBR技術を用いて復号化され、高周波数帯域の生成を助けるためのサイド情報が使用される。このサイド情報をビットストリーム211から復号化して、サイドパラメータ212を取得する。
【００２５】
ある実施形態においては、周波数領域高帯域係数213または後処理高帯域係数214は、低帯域周波数係数を高帯域位置にコピーすることによって、およびサイドパラメータを使用することによりコピーされた高帯域係数のスペクトルエンベロープを成形することによって生成される。スペクトル平坦性制御は、受信したスペクトルエンベロープが付加される前でもまたは後でも高周波数帯域に適用可能であり、さらにスペクトル平坦性制御は、最初に、低帯域係数に適用されてもよい。次に、これらの後処理された低帯域係数は、スペクトル平坦性制御の適用後、高帯域位置にコピーされる。さらなる実施形態においては、ランダムノイズが高帯域係数に加えられる。最終的には、高帯域係数と低帯域係数を一緒に組み合わせ、逆変換して時間領域に戻し、出力オーディオ信号215を取得する。
【００２６】
図3、図4、図5、および図6は、具体化スペクトル平坦性制御システムと方法のスペクトル性能を示している。低周波数帯域は、高帯域サイド情報をコード化するために使用されるビットレートよりもはるかに高い場合がある通常のビットレートにおける通常のコード化アプローチを使用して符号化/復号化され、高周波数帯域は、SBRアプローチを使用することによって生成されることを仮定している。高帯域が低帯域よりも広い場合、低帯域が高帯域に繰り返してコピーされ、次いで、スケーリングされることが必要であり得る場合もある。
【００２７】
図3は、無声スピーチを表すスペクトルを示しており、ここでは、[F1,F2]からのスペクトルは、[F2,F3]、および[F3,F4]にコピーされる。いくつかの例では、低帯域301が平坦でなく、元の高帯域303が平坦である場合、繰り返して高帯域302をコピーすると、元の高帯域303を有する元の信号に対して歪み信号が生じる場合がある。
【００２８】
図4は、具体化平坦性制御が適用されるシステムのスペクトルを示している。見て取れるように、低帯域401は、図3の低帯域301と類似しているように見えるが、ここでは、繰り返してコピーされる高帯域402は、元の高帯域403にはるかに近いように見える。
【００２９】
図5は、元の高帯域エリア503が、ノイズが多く、平坦であり、低帯域501が平坦でない場合の有音スピーチを表すスペクトルを示している。しかし、繰り返してコピーされる高帯域502はやはり、元の高帯域503に対して平坦ではない。
【００３０】
図6は、具体化スペクトル平坦性制御方法が適用される有声スピーチを表すスペクトルを示している。ここでは、低帯域601は、低帯域501と同様であるが、この場合は、繰り返してコピーされる高帯域602のスペクトル形状は、元の高帯域603にはるかに近い。
【００３１】
スペクトル平坦性制御後処理を適用することによって、生成された高帯域スペクトルをより平坦にするために使用され得るいくつかの具体化システムと方法が存在する。以下に、可能な方法の一部について説明するが、明示的に後述されていない他の代替実施形態も可能である。
【００３２】
一実施形態においては、スペクトル平坦性制御パラメータは、高周波数帯域位置にコピーすべき低帯域係数を分析することによって推定される。スペクトル平坦性制御パラメータはまた、低帯域係数からコピーされる高帯域係数を分析することによっても推定可能である。あるいは、スペクトル平坦性制御パラメータは、他の方法を使用して推定可能である。
【００３３】
ある実施形態においては、スペクトル平坦性制御は、低帯域係数からコピーされる高帯域係数に適用される。あるいは、スペクトル平坦性制御は、高周波数帯域がサイド情報から復号化される受信したスペクトルエンベロープを付加することによって成形される前に、高帯域係数に適用されてもよい。さらにまた、スペクトル平坦性制御は、高周波数帯域がサイド情報から復号化される受信したスペクトルエンベロープを付加することによって成形された後に、高帯域係数に適用されてもよい。あるいは、スペクトル平坦性制御は、他の方法で適用されてもよい。
【００３４】
いくつかの実施形態においては、スペクトル平坦性制御は、異なるクラスの信号について同じパラメータを有し、一方、他の実施形態においては、スペクトル平坦性制御は、異なるクラスの信号について同じパラメータを維持していない。いくつかの実施形態においては、スペクトル平坦性制御は、エンコーダからの受信したフラグに基づいて、かつ/またはデコーダにおいて利用可能な信号クラスに基づいて、オンまたはオフに切り替えられる。また他の条件が、スペクトル平坦性制御をオンおよびオフに切り替えるための礎として使用されてもよい。
【００３５】
いくつかの実施形態においては、スペクトル平坦性制御は、切替えができず、同じ制御パラメータが常に維持される。他の実施形態においては、スペクトル平坦性制御は、切替えができないが、制御パラメータをデコーダサイドにおいて利用可能な情報に適合させる。
【００３６】
諸実施形態においては、スペクトル平坦性制御は、いくつかの方法を使用して達成され得る。例えば、一実施形態においては、スペクトル平坦性制御は、高周波数帯域位置にコピーすべき周波数係数のスペクトルエンベロープを平滑化することによって達成される。スペクトル平坦性制御はまた、低周波数帯域からコピーされる高帯域係数のスペクトルエンベロープを平滑化することによって、または受信したスペクトルエンベロープが付加される前に、低周波数帯域からコピーされる高帯域係数のスペクトルエンベロープを一定の平均値により近づけることによっても達成され得る。さらには、他の方法が使用されてもよい。
【００３７】
ある実施形態においては、フレーム毎に1ビットが、エンコーダからデコーダに分類情報を送信するために使用される。この分類は、強いスペクトル平坦性制御が必要であるのか、または弱いスペクトル平坦性制御が必要であるのかをデコーダに知らせる。分類情報はまた、いくつかの実施形態においては、デコーダにおけるスペクトル平坦性制御をオンまたはオフに切り替えるためにも使用され得る。
【００３８】
ある実施形態においては、スペクトル平坦性の改善には、以下の2つの基本ステップ、すなわち、(1)SBRが使用される場合に、コピーされた高帯域スペクトルが平坦化されるべき信号フレームを識別するためのアプローチ、および(2)識別されたフレームについてデコーダにおける高帯域スペクトルを平坦化するための低コストの方法が使用される。いくつかの実施形態においては、すべての信号フレームが、コピーされた高帯域のスペクトル平坦性の改善に必要であり得るとは限らない。実際に、一部のフレームでは、そのような動作が可聴歪みを取り込む場合があるので、高帯域スペクトルをさらに平坦化しない方がより望ましいこともある。例えば、スペクトル平坦性の改善は、スピーチ信号には必要であり得るが、ミュージック信号には必要でないこともある。いくつかの実施形態においては、スペクトル平坦性の改善は、元の高帯域スペクトルが言わばノイズが多い、または平坦で、強いスペクトルピークを全く含んでいないスピーチフレームに対して適用される。
【００３９】
以下の具体化アルゴリズム例は、ノイズが多く、平坦な高帯域スペクトルを有するフレームを識別する。このアルゴリズムは、例えば、MPEG-4 USAC技術に適用され得る。
【００４０】
このアルゴリズム例が図2に基づいており、エンコーダにおける2048個のデジタルサンプルの長いフレーム(スーパーフレームとも呼ばれる)についてフィルタバンク分析から出力されるフィルタバンク複素係数が、
{Sr_enc[i][k], Si_enc[i][k]}、i=0,1,2,…,31、k=0,1,2,…,63     (1)
であると仮定する。ただし、iは、サンプリングレート28800Hzにおける2.22msステップを表す時間指数であり、kは、0から14400Hzからの64個の小さいサブバンドについての225Hzステップを示す周波数指数である。
【００４１】
1つのスーパーフレームについての時間-周波数エネルギーアレイは、
TF_energy_ecn[i][k] =(Sr_enc[i][k])2+(Si_enc[i][k])2、i=0,1,2,…,31、k=0,1,…,
63     (2)
と表すことができる。
【００４２】
簡潔にするために、(2)におけるエネルギーは、線形領域において表され、また、線形領域におけるEnergyをdB領域におけるEnergy_dBに変換するために、よく知られている方程式Energy_dB=10log(Energy)を使用することによって、dB領域においても表すことができる。ある実施形態においては、1つのスーパーフレームについての平均周波数方向エネルギー分布は、
【００４３】
【数１】
0006044035.tif 000002
【００４４】
と記すことができる。
【００４５】
ある実施形態においては、Spectrum_Shapnessと呼ばれるパラメータが、以下の方法で推定され、平坦な高帯域を検出するために使用される。Start_HBが低帯域と高帯域との境界を定める開始点であると仮定すると、Spectrum_Shapnessは、高帯域の各サブバンドにおいて評価されるいくつかのスペクトルの鮮明度のパラメータの平均値
【００４６】
【数２】
0006044035.tif 000003
【００４７】
であり、ただし、
【００４８】
【数３】
0006044035.tif 000004
【００４９】
であり、ただし、
【００５０】
【数４】
0006044035.tif 000005
【数５】
0006044035.tif 000006
【００５１】
であり、ただし、Start_HB、L_sub、およびK_subは、定数である。一実施形態においては、例示的な値は、Start_HB=30であり、L_sub=3であり、K_sub=11である。あるいは、他の値が使用されてもよい。
【００５２】
平坦な高帯域検出を助けるために使用される別のパラメータは、スペクトル傾斜を表すエネルギー比率
【００５３】
【数６】
0006044035.tif 000007
【００５４】
であり、ただし、
【００５５】
【数７】
0006044035.tif 000008
【００５６】
【数８】
0006044035.tif 000009
【００５７】
であり、L1、L2、およびL3は定数である。一実施形態においては、それらの例示的な値は、L1=8であり、L2=16であり、L3=24である。あるいは、他の値が使用されてもよい。flat_flag=1が平坦高帯域を示し、flat_flag=0が非平坦高帯域を示す場合、平坦指示フラグはflat_flag=0に初期化される。次いで、決定が、以下の方法
if(tilt_energy_ratio>THRD0) {
if(Spectrum_Shapness>THRD1) flat_flag=1;
if(Spectrum_Shapness<THRD2) flat_flag=0;
}
else{
if(Spectrum_Shapness>THRD3) flat_flag=1;
if(Spectrum_Shapness<THRD4) flat_flag=0;
}
でスーパーフレーム毎になされ、ただし、THRD0、THRD1、THRD2、THRD3、およびTHRD4は、定数である。一実施形態においては、例示的な値は、THRD0=32であり、THRD1=0.64であり、THRD2=0.62であり、THRD3=0.72であり、THRD4=0.70である。あるいは、他の値が使用されてもよい。flat_flagがエンコーダにおいて決定された後、いくつかの実施形態においては、スーパーフレーム毎に1ビットのみがスペクトル平坦性フラグをデコーダに送信するのに必要である。ミュージック/スピーチ分類がすでに存在する場合、スペクトル平坦性フラグはまた、単にこのミュージック/スピーチ決定と等しくなるように設定可能である。
【００５８】
デコーダサイドにおいては、高帯域スペクトルは、現在のスーパーフレームについて受信したflat_flagが1である場合、より平坦にされる。デコーダにおける2048個のデジタルサンプルの長いフレーム(スーパーフレームとも呼ばれる)についてのフィルタバンク複素係数が
{Sr_dec[i][k], Si_dec[i][k]}、i=0,1,2,…,31、k=0,1,2,…,63     (9)
であると仮定する。ただし、iは、サンプリングレート28800Hzにおける2.22msステップを表す時間指数であり、kは、0から14400Hzまでの64個のサブバンドについての225Hzステップを示す周波数指数である。あるいは、他の値が、時間指数およびサンプリングレートについて使用されてもよい。
【００５９】
エンコーダと同様に、Start_HBは、低帯域と高帯域との間の境界を定める、高帯域の開始点である。k=0からk=Start_HB-1までの(9)における低帯域係数は、低帯域ビットストリームを直接復号化することによって、または復号化された低帯域信号を周波数領域に変換することによって取得される。SBR技術が使用される場合、k=Start_HBからk=63までの(9)における高帯域係数は、(9)における低帯域係数の一部を高帯域位置にコピーすることによって取得され、次いで、サイド情報から復号化される受信したスペクトルエンベロープを付加することによって、後処理され、平滑化(平坦化)され、かつ/または成形される。高帯域係数の平滑化または平坦化は、いくつかの実施形態においては、受信したスペクトルエンベロープを付加する前に行われる。あるいは、それはまた、受信したスペクトルエンベロープを付加した後に行われてもよい。
【００６０】
エンコーダと同様に、デコーダにおける1つのスーパーフレームについての時間-周波数エネルギーアレイは、
TF_energy_dec[i][k]=(Sr_dec[i][k])2+(Si_dec dec[i][k])2、i=0,1,2,…,31、k=0,1,…,63     (10)
と表すことができる。
【００６１】
高帯域係数の平滑化または平坦化が、受信したスペクトルエンベロープを付加する前に行われる場合、k=Start_HBからk=63までの(10)におけるエネルギーアレイは、受信したスペクトルエンベロープを付加する前に高帯域係数のエネルギー分布を表す。簡潔にするために、(10)におけるエネルギーは、線形領域において表されるが、線形領域におけるEnergyをdB領域におけるEnergy_dBに変換するために、よく知られている方程式Energy_dB=10log(Energy)を使用することによって、dB領域においても表すこともできる。1つのスーパーフレームについての平均周波数方向エネルギー分布は、
【００６２】
【数９】
0006044035.tif 000010
【００６３】
と記すことができる。
【００６４】
高帯域の平均化(平均)エネルギーパラメータは、
【００６５】
【数１０】
0006044035.tif 000011
【００６６】
と定義される。
【００６７】
高帯域をより平坦にする以下の修正利得
【００６８】
【数１１】
0006044035.tif 000012
【００６９】
が推測され、高帯域フィルタバンク係数に付加される。ただし、修正利得は平坦化(または平滑化)利得とも呼ばれ、flat_flagは、スペクトル平坦性制御をオンまたはオフに切り替える分類フラグである。このフラグは、エンコーダからデコーダに送信され得、スピーチ/ミュージック分類、またはデコーダにおいて利用可能な情報に基づいた決定を表すことができ、Gain(k)は、平坦化(または平滑化)利得であり、Start_HB、End_HB、C0、およびC1は、定数である。一実施形態においては、例示的な値は、Start_HB=30であり、End_HB=64であり、C0=0.5であり、C1=0.5である。あるいは、他の値が使用されてもよい。C0およびC1は、C0+C1=1という条件を満たす。より大きいC1は、より積極的なスペクトル修正が使用されていること、およびスペクトルエネルギー分布は、平均スペクトルエネルギーにより近いように作成されていることを意味し、それにより、スペクトルはより平坦になる。諸実施形態においては、C0およびC1の値設定は、ビットレート、サンプリングレート、および高周波数帯域位置によって決まる。いくつかの実施形態においては、より大きいC1は、高帯域がより高い周波数領域に位置しているとき、選択可能であり、より小さいC0は、より低い周波数領域に相対的に位置している高帯域の場合である。
【００７０】
上述の例は、コピーされた高帯域スペクトルエンベロープを平滑化または平坦化するための方法のほんの1つであることを認識されたい。例えば、多項式曲線適合(Polynomial Curve Fitting)という名称の数学的データ平滑化アルゴリズムを使用して、平坦化(または、平滑化)利得を推定する多くの他の方法が可能である。最終的には、低帯域フィルタバンク係数および高帯域フィルタバンク係数はすべて、オーディオ/スピーチデジタル信号を出力するフィルタバンク合成に入力される。
【００７１】
いくつかの実施形態においては、生成された高周波数帯域のスペクトル平坦性を制御するための後処理方法が使用される。スペクトル平坦性制御方法は、低帯域ビットストリームを復号化して低帯域信号を得るステップと、この低帯域信号を周波数領域に変換して低帯域係数{Sr_dec[i][k], Si_dec[i][k]}、k=0,…,Star_HB-1を取得するステップとを含むいくつかのステップを含み得る。これらの低帯域係数のうちの一部を高周波数帯域位置にコピーして、高帯域係数{Sr_dec[i][k], Si_dec[i][k]}、k=Start_HB,…,End_HB-1を生成する。高帯域係数のエネルギーエンベロープが、平坦化または平滑化利得{Gain(k)}を高帯域係数に乗算することによって平坦化または平滑化される。
【００７２】
ある実施形態においては、平坦化または平滑化利得は、低帯域係数からコピーされる高帯域係数、または高帯域位置にコピーすべき低帯域係数のエネルギー分布{F_energy_dec[k]}を分析し、検証し、使用し、平坦化または平滑化することによって評価される。平坦化(または平滑化)利得を評価するパラメータの1つは、高帯域係数のエネルギーまたはコピーすべき低帯域係数のエネルギーを平均化することによって取得される平均エネルギー値(Mean_HB)である。平坦化または平滑化利得は、エンコーダからデコーダに送信されるスペクトル平坦化分類(flat_flag)に従って、交換可能または変更可能である。この分類は、複数のSpectrum Sharpnessパラメータを使用することによって、エンコーダにおいて決定され、ただし、それぞれのSpectrum Sharpnessパラメータは、元の高周波数帯域のサブバンドjに関して平均エネルギー(MeanEnergy(j))を最大エネルギー(MaxEnergy(j))で除算することによって定義される。
【００７３】
ある実施形態においては、分類はまた、スピーチ/ミュージック決定に基づくことも可能である。受信したビットストリームから復号化される、受信したスペクトルエンベロープもまた、高帯域係数をさらに成形するように付加され得る。最終的には、低帯域係数および高帯域係数を逆変換して時間領域に戻し、時間領域出力スピーチ/オーディオ信号を取得する。
【００７４】
いくつかの実施形態においては、高帯域係数は、帯域幅拡張(BWE)またはスペクトル帯域複製(SBR)技術を用いて生成され、次いで、スペクトル平坦性制御方法は、この生成された高帯域係数に適用される。
【００７５】
他の実施形態においては、低帯域係数は、低帯域ビットストリームから直接復号化され、次いで、スペクトル平坦性制御方法は、低帯域係数の一部からコピーされる高帯域係数に適用される。
【００７６】
図7は、本発明の実施形態による通信システム710を示している。通信システム710は、通信リンク738および740を介してネットワーク736に結合されたオーディオアクセスデバイス706および708を有する。一実施形態においては、オーディオアクセスデバイス706および708は、ボイスオーバインターネットプロトコル(VOIP)デバイスであり、ネットワーク736は、広域ネットワーク(WAN)、公衆交換電話ネットワーク(PSTN)、および/またはインターネットである。別の実施形態においては、オーディオアクセスデバイス706は、受信用オーディオデバイスであり、オーディオアクセスデバイス708は、放送品質、高忠実性オーディオデータ、ストリーミングオーディオデータ、および/またはビデオプログラミングを伴うオーディオを送信する送信用オーディオデバイスである。通信リンク738および740は、ワイヤラインおよび/またはワイヤレスの広帯域接続である。代替の実施形態においては、オーディオアクセスデバイス706および708は、セルラ電話またはモバイル電話であり、リンク738および740は、ワイヤレスモバイル電話チャネルであり、ネットワーク736は、モバイル電話ネットワークを表す。オーディオアクセスデバイス706は、ミュージックまたは人の声などの音声をアナログオーディオ入力信号728に変えるためにマイクロホン712を使用する。マイクロホンインターフェース716は、アナログオーディオ入力信号728をデジタルオーディオ信号732に変えて、CODEC720のエンコーダ722に入力する。エンコーダ722は、本発明の実施形態によれば、符号化されたオーディオ信号TXを生成して、ネットワークインターフェース726を介してネットワーク736に送信する。CODEC720内のデコーダ724は、ネットワークインターフェース726を介してネットワーク736から符号化されたオーディオ信号RXを受信し、符号化されたオーディオ信号RXをデジタルオーディオ信号734に変える。スピーカインターフェース718は、デジタルオーディオ信号734を、ラウドスピーカ714を駆動するのに適しているオーディオ信号730に変える。
【００７７】
オーディオアクセスデバイス706がVOIPデバイスである場合の本発明の諸実施形態においては、オーディオアクセスデバイス706内の一部、またはすべてのコンポーネントは、ハンドセット内に実装可能である。しかし、一部の実施形態においては、マイクロホン712およびラウドスピーカ714は、別個のユニットであり、マイクロホンインターフェース716、スピーカインターフェース718、CODEC720、およびネットワークインターフェース726は、パーソナルコンピュータ内に実装される。CODEC720は、コンピュータもしくは専用プロセッサにおいて動作するソフトウェア、または例えば特定用途向け集積回路(ASIC)における専用ハードウェアのいずれでも実装可能である。マイクロホンインターフェース716は、アナログ/デジタル(A/D)変換器、ならびにハンドセット内および/またはコンピュータ内に配置される他のインターフェース回路によって実装される。同様に、スピーカインターフェース718は、デジタル/アナログ変換器、ならびにハンドセット内および/またはコンピュータ内に配置される他のインターフェース回路によって実装される。さらなる実施形態においては、オーディオアクセスデバイス706は、当技術分野で知られている他の方法で実装および分割可能である。
【００７８】
オーディオアクセスデバイス706がセルラ電話またはモバイル電話である場合の本発明の諸実施形態においては、オーディオアクセスデバイス706内の素子は、セルラハンドセット内に実装される。CODEC720は、ハンドセット内のプロセッサにおいて動作するソフトウェアによって、または専用ハードウェアによって実施される。本発明のさらなる実施形態においては、オーディオアクセスデバイスは、ピアツーピアのワイヤラインおよびワイヤレスのデジタル通信システムなどの他のデバイス、例えば、インターコム、および無線ハンドセットなどに実装され得る。消費者オーディオデバイスなどのアプリケーションにおいては、オーディオアクセスデバイスは、エンコーダ722のみおよびデコーダ724のみを有するCODECを、例えばデジタルマイクロホンシステムまたはミュージックプレイバックデバイスに含むことが可能である。本発明の他の実施形態においては、CODEC720は、例えば、PSTNにアクセスするセルラ基地局において、マイクロホン712およびスピーカ714なしで使用可能である。
【００７９】
図8は、本発明の方法を実施するために利用可能な処理システム800を示している。この場合、主な処理は、プロセッサ802において実行され、このプロセッサ802は、マイクロプロセッサであっても、デジタル信号プロセッサであっても、または任意の他の適切な処理デバイスであってもよい。いくつかの実施形態においては、プロセッサ802は、複数のプロセッサを使用して実装され得る。プログラムコード(例えば、上記開示したアルゴリズムを実施するコード)およびデータは、メモリ804に記憶され得る。メモリ804は、DRAMなどのローカルメモリであっても、あるいはハードドライブ、光ドライブ、または(ローカルもしくはリモートであり得る)他の記憶装置などの大容量記憶装置であってもよい。メモリを単一のブロックを用いて機能的に図示しているが、1つまたは複数のハードウェアのブロックがこの機能を実施するために使用可能であると理解される。
【００８０】
一実施形態においては、プロセッサ802は、図1a〜図1bおよび図2a〜図2bに示すユニットのうちの様々なユニット(またはすべて)を実施するために使用され得る。例えば、プロセッサは、本発明の技法を実行する際に伴うサブタスクを実施するために、異なる時間に特定の機能ユニットとして働くことが可能である。あるいは、(例えば、プロセッサと同じ、またはプロセッサとは異なる)種々のハードウェアブロックが、種々の機能を実行するために使用されてもよい。他の実施形態においては、いくつかのサブタスクは、プロセッサ802によって実行されるが、他のサブタスクは、別個の回路を使用して実行される。
【００８１】
図8はまた、オーディオおよび/またはビットストリームのデータをプロセッサにおよびプロセッサから供給するために使用可能なI/Oポート806を示している。オーディオソース808(行き先は明確に図示していない)は、システムの必ずしも一部とは限らないことを示すために破線で示している。例えば、このオーディオソースは、インターネットなどのネットワーク、またはローカルインターフェース(例えば、USBもしくはLANインターフェース)によってシステムにリンクされ得る。
【００８２】
実施形態の利点は、低コストによる低ビットレートで受信した主観的音声品質の改善を含む。
【００８３】
諸実施形態およびその利点を詳細に説明してきたが、様々な変形、置換、および代替が、添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱することなく、本明細書においてなされ得ることを理解されたい。さらには、本出願の範囲は、本明細書において説明されたプロセス、機械、製造、物質の組成物、手段、方法、およびステップの特定の実施形態に限定するように意図するものではない。当業者が本発明の本開示から容易に理解するように、本明細書に説明される対応する実施形態と同じ機能を実質的に行う、もしくは同じ結果を実質的に達成する、現在のところ存在する、または後に開発されるプロセス、機械、製造、物質の組成物、手段、方法もしくはステップは、本発明に従って利用され得る。これに応じて、添付の特許請求の範囲はその範囲内に、そのようなプロセス、機械、製造、物質の組成物、手段、方法、またはステップを含むように意図される。
【符号の説明】
【００８４】
101  オーディオ信号またはスピーチ信号
102  低帯域フィルタバンク出力係数
103  ビットストリームチャネル
104  高周波数帯域バンク出力係数
105  ビットストリームチャネル
106  ビットストリーム
107  フィルタバンク係数
108  後処理係数
109  出力オーディオ信号
110  ビットストリーム
111  周波数領域高帯域係数
112  後処理高帯域係数
201  低帯域の元の信号
202  低帯域パラメータ
203  ビットストリームチャネル
204  高帯域信号を含む元の信号
205  サイドパラメータ
206  ビットストリームチャネル
207  ビットストリーム
208  低帯域信号
209  周波数係数
210  後処理係数
211  ビットストリーム
212  サイドパラメータ
213  周波数領域高帯域係数
214  後処理高帯域係数
215  出力オーディオ信号
【図１ａ】
0006044035.tif 000013
【図１ｂ】
0006044035.tif 000014
【図２ａ】
0006044035.tif 000015
【図２ｂ】
0006044035.tif 000016
【図３】
0006044035.tif 000017
【図４】
0006044035.tif 000018
【図５】
0006044035.tif 000019
【図６】
0006044035.tif 000020
【図７】
0006044035.tif 000021
【図８】
0006044035.tif 000022