(54)【発明の名称】ビットバジェットに応じて2サブフレームモデルと4サブフレームモデルとの間で選択を行うステレオ音声信号の左チャンネルおよび右チャンネルを符号化するための方法およびシステム
(58)【調査した分野】(Int.Cl.,DB名)
前記ステレオ音声信号の前記左チャンネルおよび前記右チャンネルをダウンミックスする前記ステップが、前記プライマリチャンネルおよび前記セカンダリチャンネルを生成するために前記ステレオ音声信号の前記左チャンネルおよび前記右チャンネルを時間領域ダウンミックスするステップを含む、請求項1に記載の方法。
前記プライマリチャンネルを符号化する前記ステップが、プライマリチャンネルのコーディングパラメータを生成するステップを含み、前記セカンダリチャンネルを符号化する前記ステップが、セカンダリチャンネルのコーディングパラメータを生成するステップを含み、前記方法が、
前記プライマリチャンネルの符号化から再利用されない(a)LPフィルタ係数および/または(b)ピッチ情報、ならびに利得を含むセカンダリチャンネルのコーディングパラメータを現在のフレームにおいて符号化するために必要とされるビットの数を決定するステップと、
前記第2のビットバジェットの前記ビットの数が前記第1の符号化モデルで前記セカンダリチャンネルを符号化するのに十分であることを判定するために、前記第2のビットバジェットの前記ビットの数が前記現在のフレームにおいて4サブフレームの代数的コードブックを量子化することを可能にするのかを判定するステップと
を含む、請求項1または2に記載の方法。
前記周波数領域のプライマリチャンネルおよび前記周波数領域のセカンダリチャンネルを時間領域エンコーダによる符号化のために時間領域に変換して戻すステップを含む、請求項6に記載の方法。
前記ダウンミキサが、前記プライマリチャンネルおよび前記セカンダリチャンネルを生成するための前記ステレオ音声信号の前記左チャンネルおよび前記右チャンネルの時間領域ダウンミキサである、請求項8に記載のシステム。
時間領域エンコーダによる符号化のために時間領域に戻す、前記周波数領域のプライマリチャンネルおよび前記周波数領域のセカンダリチャンネルのコンバータを含む、請求項13に記載のシステム。
【発明を実施するための形態】
【0018】
本開示は、これに限らないが特に複雑なオーディオシーンからのステレオ音声の内容、たとえば、スピーチおよび/またはオーディオの内容の現実感のある表現の、低ビットレートおよび低遅延の生成および送信に関する。複雑なオーディオシーンは、(a)マイクロフォンによって記録される音声信号の間の相関が低く、(b)背景雑音の重大な変動があり、および/または(c)邪魔をする話者が存在する状況を含む。複雑なオーディオシーンの例は、A/Bマイクロフォン構成を備えた大きな無反響会議室、バイノーラル式のマイクロフォンを備えた小さな反響のある部屋、およびモノラル/サイドマイクロフォンセットアップ(mono/side microphones set-up)を備えた小さな反響のある部屋を含む。これらすべての部屋の構成は、変動する背景雑音および/または邪魔をする話者を含み得る。
【0019】
すべての内容が参照により本明細書に組み込まれる参考文献[7]に記載の3GPP AMR-WB+などの知られているステレオ音声コーデックは、特に低ビットレートでモノラルモデルに近くない音声をコーディングするには不十分である。特定の場合は、既存のステレオ技術を使用して符号化するのが特に難しい。そのような場合は、以下を含む。
【0020】
- LAAB(A/Bマイクロフォンセットアップを備えた大きな無響室)
【0021】
- SEBI(バイノーラル式のマイクロフォンセットアップを備えた小さな反響のある部屋)、および
【0022】
- SEMS(モノラル/サイドマイクロフォンセットアップを備えた小さな反響のある部屋)
【0023】
変動する背景雑音および/または邪魔をする話者を追加することは、これらの音声信号をパラメトリックステレオなどのステレオ専用技術を使用して低ビットレートで符号化することをさらに難しくする。そのような信号を符号化するための頼みの綱は、2つのモノラルチャンネルを使用し、したがって、使用されているビットレートおよびネットワーク帯域幅を倍にすることである。
【0024】
最新の3GPP EVSの会話のスピーチ規格は、広帯域(WB)の動作のための7.2kb/sから96kb/sまでおよび超広帯域(SWB)の動作のための9.6kb/sから96kb/sまでのビットレートの範囲を提供する。これは、EVSを使用する3つの最も低いデュアルモノラルビットレートは、WBの動作のために14.4、16.0、および19.2kb/sであり、SWBの動作のために19.2、26.3、および32.8kb/sである。すべての内容が参照により本明細書に組み込まれる参考文献[3]に記載の展開された3GPP AMR-WBのスピーチの品質はその以前のコーデックよりも高くなるが、雑音の多い環境内の7.2kb/sにおけるコーディングされたスピーチの品質は、明瞭とはほど遠く、したがって、14.4kb/sにおけるデュアルモノラルのスピーチの品質も制限されることが予測され得る。そのような低いビットレートにおいては、最良の可能なスピーチの品質が可能な限り多く得られるように、ビットレートの使用が最大化される。下の説明において開示されるステレオ音声符号化方法およびシステムによって、会話のステレオスピーチの内容のための最小限の総ビットレートは、複雑なオーディオシーンの場合でさえも、WBのために約13kb/sであり、SWBのために約15.0kb/sであるはずである。デュアルモノラルの手法で使用されるビットレート未満であるビットレートにおいて、ステレオスピーチの品質および明瞭度は、複雑なオーディオシーンに関して大きく改善される。
【0025】
図1は、下の説明において開示されるステレオ音声符号化方法およびシステムの実装のあり得る文脈を示すステレオ音声処理および通信システム100の概略ブロック図である。
【0026】
図1のステレオ音声処理および通信システム100は、通信リンク101を介したステレオ音声信号の送信をサポートする。通信リンク101は、たとえば、有線または光ファイバリンクを含む可能性がある。代替的に、通信リンク101は、少なくとも部分的に無線周波数リンクを含む可能性がある。無線周波数リンクは、セルラー電話技術によって発見され得るような共有された帯域幅リソースを必要とする複数の同時通信をサポートすることが多い。示されていないが、通信リンク101は、後で再生するために符号化されたステレオ音声信号を記録し、記憶する処理および通信システム100の単一デバイス実装のストレージデバイスによって置き換えられ得る。
【0027】
引き続き
図1を参照すると、たとえば、マイクロフォン102および122の対が、たとえば、複雑なオーディオシーン内で検出された元のアナログステレオ音声信号の左103チャンネルおよび右123チャンネルを生成する。上述の説明に示されるように、音声信号は、これに限らないが特にスピーチおよび/またはオーディオを含み得る。マイクロフォン102および122は、A/B、バイノーラル、またはモノラル/サイドセットアップによって配置され得る。
【0028】
元のアナログ音声信号の左103チャンネルおよび右123チャンネルは、それらを元のデジタルステレオ信号の左105チャンネルおよび右125チャンネルに変換するためにアナログ-デジタル(A/D)コンバータ104に供給される。元のデジタルステレオ音声信号の左105チャンネルおよび右125チャンネルは、ストレージデバイス(図示せず)に記録され、そこから供給される可能性もある。
【0029】
ステレオ音声エンコーダ106は、デジタルステレオ音声信号の左105チャンネルおよび右125チャンネルを符号化し、それによって、任意の誤り訂正エンコーダ108に配信されるビットストリーム107の形態の下で多重化される1組の符号化パラメータを生成する。任意の誤り訂正エンコーダ108は、存在するとき、結果として得られるビットストリーム111を通信リンク101上で送信する前にビットストリーム107内の符号化パラメータのバイナリ表現に冗長性を加える。
【0030】
受信機側では、任意の誤り訂正デコーダ109は、受信されたデジタルビットストリーム111内の上述の冗長な情報を利用して、通信リンク101上での送信中に発生した可能性がある誤りを検出し、訂正し、受信された符号化パラメータを伴うビットストリーム112を生成する。ステレオ音声デコーダ110は、デジタルステレオ音声信号の合成された左113チャンネルおよび右133チャンネルを生成するためにビットストリーム112内の受信された符号化パラメータを変換する。ステレオ音声デコーダ110内で再構築されたデジタルステレオ音声信号の左113チャンネルおよび右133チャンネルは、デジタル-アナログ(D/A)コンバータ115においてアナログステレオ音声信号の合成された左114チャンネルおよび右134チャンネルに変換される。
【0031】
アナログステレオ音声信号の合成された左114チャンネルおよび右134チャンネルは、それぞれ、ラウドスピーカユニット116および136の対において再生される。代替的に、ステレオ音声デコーダ110からのデジタルステレオ音声信号の左113チャンネルおよび右133チャンネルはストレージデバイス(図示せず)に供給され、記録される可能性もある。
【0033】
本開示によるステレオ音声符号化方法およびシステムは、2つの部分からなり、第1のモデルおよび第2のモデルが、提供される。
【0034】
図2は、EVSコアに基づく統合されたステレオ設計として提示される第1のモデルによるステレオ音声符号化方法およびシステムを同時に示すブロック図である。
【0035】
図2を参照すると、第1のモデルによるステレオ音声符号化方法は、時間領域ダウンミックス動作201、プライマリチャンネル符号化動作202、セカンダリチャンネル符号化動作203、および多重化動作204を含む。
【0036】
時間領域ダウンミックス動作201を実行するために、チャンネルミキサ251は、2つのステレオチャンネル(右チャンネルRおよび左チャンネルL)をミックスしてプライマリチャンネルYおよびセカンダリチャンネルXを生成する。
【0037】
セカンダリチャンネル符号化動作203を実行するために、セカンダリチャンネルのエンコーダ253は、最小限の数のビット(最小ビットレート)を選択し、使用して、下の説明において定義される符号化モードのうちの1つを使用してセカンダリチャンネルXを符号化し、対応するセカンダリチャンネルが符号化されたビットストリーム206を生成する。関連するビットバジェットは、フレームの内容に応じてあらゆるフレームを変更する可能性がある。
【0038】
プライマリチャンネル符号化動作202を実施するために、プライマリチャンネルのエンコーダ252が使用される。セカンダリチャンネルのエンコーダ253は、セカンダリチャンネルXを符号化するために現在のフレームにおいて使用されたビット208の数をプライマリチャンネルのエンコーダ252にシグナリングする。任意の好適な種類のエンコーダが、プライマリチャンネルのエンコーダ252として使用され得る。非限定的な例として、プライマリチャンネルのエンコーダ252は、CELP型エンコーダである可能性がある。この例示的な実施形態において、プライマリチャンネルのCELP型エンコーダは、レガシーのEVSエンコーダの修正されたバージョンであり、EVSエンコーダは、プライマリチャンネルとセカンダリチャンネルとの間の柔軟なビットレートの割り当てを可能にするためにより大きなビットレートのスケーラビリティを提供するように修正される。このようにして、修正されたEVSエンコーダは、対応するビットレートでプライマリチャンネルYを符号化するためにセカンダリチャンネルXを符号化するために使用されないすべてのビットを使用し、対応するプライマリチャンネルが符号化されたビットストリーム205を生成することができる。
【0039】
マルチプレクサ254は、多重化動作204を完了するために、プライマリチャンネルビットストリーム205およびセカンダリチャンネルビットストリーム206を連結して多重化されたビットストリーム207を形成する。
【0040】
第1のモデルにおいて、セカンダリチャンネルXを符号化するために使用される(ビットストリーム206内の)ビットの数および対応するビットレートは、プライマリチャンネルYを符号化するために使用される(ビットストリーム205内の)ビットの数および対応するビットレートよりも小さい。これは、2つのチャンネルXおよびYのビットレートの合計が一定の総ビットレートを表す2つの可変ビットレートチャンネルと見なされ得る。この手法は、プライマリチャンネルYを多かれ少なかれ強調した異なる特色を有する可能性がある。第1の例によれば、プライマリチャンネルYが最大限に強調されるとき、セカンダリチャンネルXのビットバジェットは、強引に最小にされる。第2の例によれば、プライマリチャンネルYの強調がより弱い場合、セカンダリチャンネルXのためのビットバジェットは、より一定にされる可能性があり、つまり、セカンダリチャンネルXの平均ビットレートが、第1の例と比べてわずかに高い。
【0041】
入力デジタルステレオ音声信号の右Rチャンネルおよび左LチャンネルはEVS処理において使用されるフレームの継続時間に対応する可能性がある所与の継続時間の連続的なフレームによって処理されることが、思い出される。各フレームは、フレームの所与の継続時間および使用されているサンプリングレートに応じて右Rチャンネルおよび左Lチャンネルのいくつかのサンプルを含む。
【0042】
図3は、組み込み型のモデルとして提示される第2のモデルによるステレオ音声符号化方法およびシステムを同時に示すブロック図である。
【0043】
図3を参照すると、第2のモデルによるステレオ音声符号化方法は、時間領域ダウンミックス動作301、プライマリチャンネル符号化動作302、セカンダリチャンネル符号化動作303、および多重化動作304を含む。
【0044】
時間領域ダウンミックス動作301を完了するために、チャンネルミキサ351は、2つの入力右Rチャンネルおよび左Lチャンネルをミックスして、プライマリチャンネルYおよびセカンダリチャンネルXを形成する。
【0045】
プライマリチャンネル符号化動作302において、プライマリチャンネルのエンコーダ352は、プライマリチャンネルYを符号化してプライマリチャンネルが符号化されたビットストリーム305を生成する。やはり、任意の好適な種類のエンコーダが、プライマリチャンネルのエンコーダ352として使用され得る。非限定的な例として、プライマリチャンネルのエンコーダ352は、CELP型エンコーダである可能性がある。この例示的な実施形態において、プライマリチャンネルのエンコーダ352は、たとえば、レガシーのEVSモノラル符号化モードまたはAMR-WB-IO符号化モードなどのスピーチコーディング規格を使用し、つまり、ビットストリーム305のモノラル部分は、ビットレートがレガシーのEVS、AMR-WB-IO、またはレガシーのAMR-WBデコーダと互換性があるとき、そのようなデコーダと相互運用可能である。選択されている符号化モードに応じて、プライマリチャンネルYの何らかの調整が、プライマリチャンネルのエンコーダ352による処理のために必要とされる可能性がある。
【0046】
セカンダリチャンネル符号化動作303において、セカンダリチャンネルのエンコーダ353は、下の説明において定義される符号化モードのうちの符号化モードのうちの1つを使用してより低いビットレートでセカンダリチャンネルXを符号化する。セカンダリチャンネルのエンコーダ353は、セカンダリチャンネルが符号化されたビットストリーム306を生成する。
【0047】
多重化動作304を実行するために、マルチプレクサ354は、プライマリチャンネルが符号化されたビットストリーム305をセカンダリチャンネルが符号化されたビットストリーム306と連結して、多重化されたビットストリーム307を形成する。これは、ステレオに関連するセカンダリチャンネルが符号化されたビットストリーム306が相互運用可能なビットストリーム305の上に追加されるので組み込み型のモデルと呼ばれる。セカンダリチャンネルビットストリーム306は、多重化されたステレオビットストリーム307(連結されたビットストリーム305およびビットストリーム306)から任意の瞬間に引き剥がされ、結果として、本明細書において上で説明されたレガシーのコーデックによって復号可能なビットストリームをもたらす可能性があり、一方、最も新しいバージョンのコーデックのユーザは、引き続き完全なステレオの復号を享受することができる。
【0048】
上述の第1のモデルおよび第2のモデルは、実際のところ互いに近い。2つのモデルの間の主な違いは、ビット割り当てが相互運用性の考慮事項のために第2のモデルにおいてはより制限される一方で、第1のモデルにおいては2つのチャンネルYおよびXの間で動的なビット割り当てを使用する可能性である。
【0049】
上述の第1のモデルおよび第2のモデルを実現するために使用される実装および手法の例が、下の説明において与えられる。
【0050】
1)時間領域ダウンミックス
上述の説明において示されたように、低ビットレートで動作する知られているステレオモデルは、モノラルモデルに近くないスピーチをコーディングするのに困難を抱えている。これまでの手法は、すべての内容が参照により本明細書に組み込まれる参考文献[4]および[5]に記載されているように、2つのベクトルを得るために、たとえば、カルフネン-ロエヴェ変換(klt)を使用する主成分分析(pca)に関連する周波数帯域毎の相関をたとえば使用して周波数帯域毎に周波数領域においてダウンミックスを実行する。これら2つのベクトルのうちの一方が、すべての非常に相関がある内容を組み込む一方、他方のベクトルは、あまり相関がないすべての内容を定義する。低ビットレートでスピーチを符号化するための最もよく知られている方法は、知られている周波数領域の解決策が直接適用され得ない、CELP(Code-Excited Linear Prediction:符号励振線形予測)などの時間領域のコーデックを使用する。そうした理由で、周波数帯域毎のpca/kltの背後にある考え方は興味深いが、内容がスピーチであるとき、プライマリチャンネルYは、時間領域に変換して戻される必要があり、そのような変換の後、その内容は、特にCELPなどのスピーチに固有のモデルを使用する上述の構成の場合、もはやこれまでのスピーチのように見えない。これは、スピーチのコーデックの性能を落とす影響がある。さらに、低ビットレートにおいては、スピーチのコーデックの入力は、コーデックの内部モデルの予測に可能な限り近いべきである。
【0051】
低ビットレートのスピーチのコーデックの入力が予測されるスピーチ信号に可能な限り近いべきであるという考え方から始まって、第1の技術が開発された。第1の技術は、これまでのpca/klt方式の進化に基づく。これまでの方式は周波数帯域毎にpca/kltを計算するが、第1の技術は、直接時間領域内でフレーム全体にわたってpca/kltを計算する。これは、背景雑音または邪魔をする話者が存在しないものとして、アクティブなスピーチセグメント中に十分に機能する。pca/klt方式は、どちらのチャンネル(左Lチャンネルまたは右Rチャンネル)が最も有用な情報を含むかを判定し、このチャンネルは、プライマリチャンネルのエンコーダに送信される。残念なことに、フレーム毎のpca/klt方式は、背景雑音が存在する場合または2人以上の人が互いに話しているとき、信頼できない。pca/klt方式の原理は、一方の入力チャンネル(RまたはL)または他方の入力チャンネルの選択を含み、多くの場合、符号化されるプライマリチャンネルの内容の急激な変化につながる。少なくとも上の理由で、第1の技術は、十分に信頼できず、したがって、第2の技術が、第1の技術の欠陥を克服するために本明細書において提示され、入力チャンネルの間のより滑らかな遷移を可能にする。この第2の技術は、
図4〜
図9を参照して本明細書において説明される。
【0052】
図4を参照すると、時間領域ダウンミックスの動作201/301(
図2および
図3)は、以下の下位動作、すなわち、エネルギー分析下位動作401、エネルギー動向分析下位動作402、LおよびRチャンネル正規化相関分析(L and R channel normalized correlation analysis)下位動作403、長期(LT)相関差計算下位動作404、長期相関差-因子β変換および量子化下位動作405、ならびに時間領域ダウンミックス下位動作406を含む。
【0053】
(スピーチおよび/またはオーディオなどの)低ビットレートの音声のコーデックの入力ができる限り同質であるべきであるという考え方に留意しながら、エネルギー分析下位動作401は、関係(1)を使用して各入力チャンネルRおよびLのrms(2乗平均平方根)エネルギーをフレームによって最初に決定するためにチャンネルミキサ252/351においてエネルギーアナライザ451によって実行される。
【0055】
ここで、添字LおよびRは、それぞれ、左チャンネルおよび右チャンネルを意味し、L(i)は、チャンネルLのサンプルiを意味し、R(i)は、チャンネルRのサンプルiを意味し、Nは、フレーム毎のサンプル数に対応し、tは、現在のフレームを意味する。
【0056】
そして、エネルギーアナライザ451は、関係(1)のrms値を使用して、関係(2)を使用して各チャンネルに関する長期rms値
【数2】
を決定する。
【0058】
ここで、tは、現在のフレームを表し、t
-1は、前のフレームを表す。
【0059】
エネルギー動向分析下位動作402を実行するために、チャンネルミキサ251/351のエネルギー動向アナライザ452は、長期rms値
【数4】
を使用して、関係(3)を使用して各チャンネルLおよびRにおけるエネルギーの動向
【数5】
を決定する。
【0061】
長期rms値の動向は、マイクロフォンによって捕捉された時間的なイベントが次第に小さくなっているかどうか、またはそれらの時間的なイベントがチャンネルを変えているかどうかを示す情報として使用される。長期rms値およびそれらの動向は、本明細書において後で説明されるように、長期相関差の収束の速度αを決定するためにも使用される。
【0062】
チャンネルLおよびR正規化相関分析下位動作403を実行するために、LおよびR正規化相関アナライザ453は、関係(4)を使用してフレームtにおいてスピーチおよび/またはオーディオなどの音声のモノラル信号バージョンm(i)に対して正規化された左Lチャンネルおよび右Rチャンネルの各々に関する相関G
L|Rを計算する。
【0064】
ここで、Nは、上述のように、フレーム内のサンプルの数に対応し、tは、現在のフレームを表す。現在の実施形態においては、関係1から4によって決定されたすべての正規化された相関およびrms値が、フレーム全体に関して時間領域で計算される。別の可能な構成において、これらの値は、周波数領域において計算され得る。たとえば、スピーチの特徴を有する音声信号に適合される本明細書において説明される技術は、周波数領域の一般の(generic)ステレオオーディオコーディング方法と本開示において説明される方法との間を切り替えることができるより大きなフレームワークの一部である可能性がある。この場合、周波数領域において正規化された相関およびrms値を計算することは、複雑さまたはコードの再利用の点で何らかの利点をもたらし得る。
【0065】
下位動作404において長期(LT)相関差を計算するために、計算器454は、関係(5)を使用して、現在のフレームにおける各チャンネルLおよびRに関して、平滑化された正規化された相関を計算する。
【0067】
ここで、αは、収束の上述の速度である。最後に、計算器454は、関係(6)を使用して長期(LT)相関差
【数9】
を決定する。
【0069】
1つの例示的な実施形態において、収束の速度αは、関係(2)において計算された長期のエネルギーおよび関係(3)において計算された長期のエネルギーの動向に応じて値0.8または0.5を有する可能性がある。たとえば、収束の速度αは、左Lチャンネルおよび右Rチャンネルの長期のエネルギーが同じ方向に発展し、フレームtにおける長期相関差
【数11】
とフレームt
-1における長期相関差
【数12】
との間の差が小さく(この例示的な実施形態に関しては0.31未満)であり、左Lチャンネルおよび右Rチャンネルの長期rms値のうちの少なくとも1つが特定の閾値(この例示的な実施形態においては2000)を超えているとき、値0.8を有する可能性がある。そのような場合は、チャンネルLとチャンネルRとの両方が滑らかに発展しており、一方のチャンネルから他方のチャンネルへのエネルギーの高速な変化がなく、少なくとも1つのチャンネルが意味のあるレベルのエネルギーを含むことを意味する。そうではなく、右Rチャンネルおよび左Lチャンネルの長期のエネルギーが異なる方向に発展するとき、長期相関差の間の差が大きいとき、または2つの右Rチャンネルおよび左Lチャンネルが低いエネルギーを有するとき、αは、長期相関差
【数13】
の適応の速度を高めるために0.5に設定される。
【0070】
変換および量子化下位動作405を実行するために、長期相関差
【数14】
が計算器454において適切に推定されると、コンバータおよび量子化器455は、この差を、量子化され、
図1の101などの通信リンクを通じて多重化されたビットストリーム207/307内でデコーダに送信するために(a)プライマリチャンネルのエンコーダ252(
図2)、(b)セカンダリチャンネルのエンコーダ253/353(
図2および
図3)、および(c)マルチプレクサ254/354(
図2および
図3)に供給される因子βに変換する。
【0071】
因子βは、1つのパラメータへと組み合わされるステレオ入力の2つの側面を表す。第1に、因子βは、プライマリチャンネルYを生成するために一緒に組み合わされる右Rチャンネルおよび左Lチャンネルのそれぞれの割合または寄与を表し、第2に、因子βは、音声のモノラル信号バージョンがそのように見えるものにエネルギー領域において近いプライマリチャンネルを得るためにプライマリチャンネルYに適用するエネルギースケーリング因子も表す可能性がある。したがって、組み込み型の構造の場合、それは、ステレオパラメータを運ぶセカンダリビットストリーム306を受信する必要なしにプライマリチャンネルYが単独で復号されることを可能にする。このエネルギーパラメータは、セカンダリチャンネルXの大域的なエネルギーがセカンダリチャンネルのエンコーダの最適なエネルギーの範囲により近いように、セカンダリチャンネルXの符号化の前にセカンダリチャンネルXのエネルギーを再スケーリングするために使用される可能性もある。
図2に示されるように、因子β内に本来存在するエネルギー情報も、プライマリチャンネルとセカンダリチャンネルとの間のビット割り当てを改善するために使用され得る。
【0072】
量子化された因子βは、インデックスを使用してデコーダに送信され得る。因子βは(a)プライマリチャンネルへの左チャンネルおよび右チャンネルのそれぞれの寄与と、(b)音声のモノラル信号バージョンを得るためにプライマリチャンネルに適用するためのエネルギースケーリング因子、またはプライマリチャンネルYとセカンダリチャンネルXとの間にビットをより効率的に割り当てるのに役立つ相関/エネルギー情報との両方を表し得るので、デコーダに送信されるインデックスは、同じ数のビットによって2つの互いに異なる情報要素を運ぶ。
【0073】
長期相関差
【数15】
と因子βとの間のマッピングを得るために、この例示的な実施形態において、コンバータおよび量子化器455は、関係(7)に示されるように、まず、長期相関差
【数16】
を-1.5から1.5までの間に制限し、それから、この長期相関差を0と2との間で線形化して一時的な線形化された長期相関差
【数17】
を得る。
【0075】
代替的な実装において、その値をたとえば0.4と0.6との間にさらに制限することによって、線形化された長期相関差
【数19】
によって満たされる空間の一部のみを使用することが決定され得る。この追加的な制限は、ステレオ音像の局所化(localization)を削減するが、さらに、いくつかの量子化ビットを節約する効果を有する。設計上の選択に応じて、この選択肢が考慮され得る。
【0076】
線形化の後、コンバータおよび量子化器455は、関係(8)を使用して「余弦」領域への線形化された長期相関差
【数20】
のマッピングを実行する。
【0078】
時間領域ダウンミックス下位動作406を実行するために、時間領域ダウンミキサ456は、関係(9)および(10)を使用して、プライマリチャンネルYおよびセカンダリチャンネルXを右Rチャンネルおよび左Lチャンネルの混合として生成する。
Y(i) = R(i)・(1 - β(t)) + L(i)・β(t) (9)
X(i) = L(i)・(1 - β(t)) - R(i)・β(t) (10)
【0079】
ここで、i = 0,…,N-1は、フレーム内のサンプルのインデックスであり、tは、フレームのインデックスである。
【0080】
図13は、事前適応因子を使用してステレオ音像の安定性を高める
図2および
図3のステレオ音声符号化方法の時間領域ダウンミックス動作201/301の下位動作ならびに
図2および
図3のステレオ音声符号化システムのチャンネルミキサ251/351のモジュールのその他の実施形態を同時に示すブロック図である。
図13に示される代替的な実装において、時間領域ダウンミックス動作201/301は、以下の下位動作、すなわち、エネルギー分析下位動作1301、エネルギー動向分析下位動作1302、LおよびRチャンネル正規化相関分析下位動作1303、事前適応因子計算下位動作1304、正規化された相関に事前適応因子を適用する動作1305、長期(LT)相関差計算下位動作1306、利得-因子β変換および量子化下位動作1307、ならびに時間領域ダウンミックス下位動作1308を含む。
【0081】
下位動作1301、1302、および1303は、
図4の下位動作401、402、および403ならびにアナライザ451、452、および453に関連して上述の説明において説明されたのと実質的に同じ方法で、エネルギーアナライザ1351、エネルギー動向アナライザ1352、ならびにLおよびR正規化相関アナライザ1353によってそれぞれ実行される。
【0082】
下位動作1305を実行するために、チャンネルミキサ251/351は、両方のチャンネルのエネルギーおよび特徴に応じて相関G
L|R(GL(t)およびG
R(t))の発展が平滑化されるように関係(4)からのそれらの相関G
L|Rに相関事前適応因子a
rを直接適用するための計算器1355を含む。信号のエネルギーが低い場合、または信号が何らかの無声の(unvoiced)特徴を有する場合、相関利得の発展はより遅い可能性がある。
【0083】
事前適応因子計算下位動作1304を実行するために、チャンネルミキサ251/351は、(a)エネルギーアナライザ1351からの関係(2)の長期左および右チャンネルエネルギー値、(b)前のフレームのフレーム分類、ならびに(c)前のフレームの音声活動(voice activity)情報を供給される事前適応因子計算器1354を含む。事前適応因子計算器1354は、関係(6a)を使用して、アナライザ1351からの左チャンネルおよび右チャンネルの最小の長期rms値
【数22】
に応じて0.1と1との間で線形化される可能性がある事前適応因子a
rを計算する。
【0085】
実施形態において、係数M
aは、値0.0009を有する可能性があり、係数B
aは、値0.16を有する可能性がある。変形形態において、事前適応因子a
rは、たとえば、2つのチャンネルRおよびLの前の分類が無声の特徴およびアクティブな信号を示す場合、強制的に0.15にされる可能性がある。音声区間検出(VAD:voice activity detection)ハングオーバー(hangover)フラグも、フレームの内容の前の部分がアクティブなセグメントであったと判定するために使用される可能性がある。
【0086】
左Lチャンネルおよび右Rチャンネルの正規化された相関G
L|R(関係(4)からのG
L(t)およびG
R(t))に事前適応因子a
rを適用する動作1305は、
図4の動作404とは異なる。αが収束の上述の定義された速度(関係(5))であるものとして、正規化された相関G
L|R(G
L(t)およびG
R(t))に因子(1-α)を適用することによって長期の(LT)平滑化された正規化された相関を計算する代わりに、計算器1355は、関係(11b)を使用して左Lチャンネルおよび右Rチャンネルの正規化された相関G
L|R(G
L(t)およびG
R(t))に事前適応因子a
rを直接適用する。
【0088】
計算器1355は、長期(LT)相関差の計算器1356に提供される適合された相関利得τ
L|Rを出力する。時間領域ダウンミックス201/301の動作(
図2および
図3)は、
図13の実装においては、それぞれ
図4の下位動作404、405、および406と同様の長期(LT)相関差計算下位動作1306、長期相関差-因子β変換および量子化下位動作1307、ならびに時間領域ダウンミックス下位動作1308を含む。
【0089】
時間領域ダウンミックス201/301の動作(
図2および
図3)は、
図13の実装においては、それぞれ
図4の下位動作404、405、および406と同様の長期(LT)相関差計算下位動作1306、長期相関差-因子β変換および量子化下位動作1307、ならびに時間領域ダウンミックス下位動作1308を含む。
【0090】
下位動作1306、1307、および1308は、下位動作404、405、および406と、計算器454、コンバータおよび量子化器455、ならびに時間領域ダウンミキサ456とに関連して上述の説明において説明されたのと実質的に同じ方法で計算器1356、コンバータおよび量子化器1357、ならびに時間領域ダウンミキサ1358によってそれぞれ実行される。
【0091】
図5は、線形化された長期相関差
【数25】
が因子βおよびエネルギーのスケーリングにどのようにマッピングされるかを示す。右Rおよび左Lチャンネルエネルギー/相関がほとんど同じであることを意味する1.0の線形化された長期相関差
【数26】
に関して、因子βは0.5に等しく、エネルギー正規化(再スケーリング)因子εは1.0であることが、観測され得る。この状況で、プライマリチャンネルYの内容は、基本的にモノラルミックス(mono mixture)であり、セカンダリチャンネルXは、サイドチャンネル(side channel)を形成する。エネルギー正規化(再スケーリング)因子εの計算が、以下で説明される。
【0092】
一方、線形化された長期相関差
【数27】
が2に等しく、つまり、エネルギーのほとんどが左チャンネルL内にある場合、因子βは1であり、エネルギー正規化(再スケーリング)因子は0.5であり、プライマリチャンネルYが基本的に統合された設計の実装において左チャンネルLを含むかまたは組み込み型の設計の実装において左チャンネルLのダウンスケーリングされた表現を含むことを示す。この場合、セカンダリチャンネルXは、右チャンネルRを含む。例示的な実施形態において、コンバータおよび量子化器455または1357は、31個の可能な量子化エントリを使用して因子βを量子化する。因子βの量子化されたバージョンは、5ビットのインデックスを用いて表され、上述のように、多重化されたビットストリーム207/307に統合するためにマルチプレクサに供給され、通信リンクを通じてデコーダに送信される。
【0093】
実施形態において、因子βは、ビットレートの割り当てを決定するためにプライマリチャンネルのエンコーダ252/352とセカンダリチャンネルのエンコーダ253/353との両方に関するインジケータとして使用される可能性もある。たとえば、β因子が0.5に近く、つまり、2つの入力チャンネルのエネルギー/モノラルとの相関が互いに近い場合、より多くのビットがセカンダリチャンネルXに割り当てられ、より少ないビットがプライマリチャンネルYに割り当てられるが、ただし、両方のチャンネルの内容が非常に近い場合に、セカンダリチャンネルが非常に低エネルギーであり、非アクティブ(inactive)と考えられる可能性が高く、したがって、非常にわずかなビットがセカンダリチャンネルを符号化することを可能にすることを例外とする。一方、因子βが0または1により近い場合、ビットレートの割り当ては、プライマリチャンネルYに有利になる。
【0094】
図6は、フレーム全体上に上述のpca/klt方式を使用すること(
図6の上2つの曲線)と因子βを計算するために関係(8)において作り出された「余弦」関数を使用すること(
図6の下の曲線)との間の差を示す。元来、pca/klt方式は、最小または最大を探す傾向がある。これは、
図6の真ん中の曲線によって示されるアクティブなスピーチの場合は上手く機能するが、背景雑音のあるスピーチに関しては、
図6の真ん中の曲線によって示されるように0から1へと連続的に切り替わる傾向があるのであまり上手く機能しない。限界である0および1へのあまりにも頻繁な切り替わりは、低ビットレートでコーディングするとき、多くのアーティファクトを生じる。潜在的な解決策は、pca/klt方式の判断を滑らかにならすことだったであろうが、これが、スピーチのバーストおよびそれらの正しい位置の検出に悪影響を与えたであろう一方で、関係(8)の「余弦」関数は、この点に関してより効率的である。
【0095】
図7は、背景にオフィスの雑音がある小さな反響のある部屋の中でバイノーラル式のマイクロフォンセットアップを使用して記録されたステレオサンプルに時間領域ダウンミックスを適用した結果として得られるプライマリチャンネルY、セカンダリチャンネルX、ならびにこれらのプライマリチャンネルYおよびセカンダリチャンネルXのスペクトルを示す。時間領域ダウンミックス動作の後、両方のチャンネルは引き続き同様のスペクトルの形状を有し、セカンダリチャンネルXは引き続きスピーチに似た時間的内容を有し、したがって、ユーザがスピーチに基づくモデルを使用してセカンダリチャンネルXを符号化することを可能にすることが分かる。
【0096】
上述の説明において提示された時間領域ダウンミックスは、位相が反転される右Rチャンネルおよび左Lチャンネルの特別な場合にいくつかの問題を示す可能性がある。右Rチャンネルおよび左Lチャンネルを合計してモノラル信号を得ることは、互いを打ち消す右Rチャンネルおよび左Lチャンネルをもたらす。このあり得る問題を解決するために、実施形態において、チャンネルミキサ251/351は、モノラル信号のエネルギーを右Rチャンネルと左Lチャンネルとの両方のエネルギーと比較する。モノラル信号のエネルギーは、少なくとも、右Rチャンネルおよび左Lチャンネルのうちの一方のエネルギーよりも大きいはずである。そうでない場合、この実施形態において、時間領域ダウンミックスモデルが、位相の反転された特別な場合に入る。この特別な場合が存在すると、因子βは、強制的に1にされ、セカンダリチャンネルXは、強制的に一般または無声モードを使用して符号化され、したがって、非アクティブコーディングモードを避け、セカンダリチャンネルXの適切な符号化を保証する。エネルギーの再スケーリングが適用されないこの特別な場合は、因子βの送信のために利用可能な最後のビットの組合せ(インデックス値)を使用することによってデコーダにシグナリングされる(基本的に、上述のように、βが5ビットを使用して量子化され、31個のエントリ(量子化レベル)が量子化のために使用されるので、32番目の可能なビットの組合せ(エントリまたはインデックス値)がこの特別な場合をシグナリングするために使用される)。
【0097】
代替的な実装において、位相のずれたまたはほとんど位相のずれた信号の場合などでは、上述のダウンミックスおよびコーディング技術のために準最適である信号の検出がより強調される可能性がある。これらの信号が検出されると、基礎をなすコーディング技術が、必要に応じて適合される可能性がある。
【0098】
概して、本明細書において説明される時間領域ダウンミックスに関して、入力ステレオ信号の左Lチャンネルおよび右Rチャンネルの位相がずれているとき、ダウンミックスプロセス中に何らかの打ち消しが起こる可能性があり、それが、準最適な品質につながる可能性がある。上の例において、これらの信号の検出は、簡単であり、コーディングの方針は、両方のチャンネルを別々に符号化することを含む。しかしときには、位相のずれた信号などの特別な信号によって、サイドチャンネルがより強調されるモノラル/サイドと同様のダウンミックス(β=0.5)を引き続き実行することがより効率的である可能性がある。これらの信号の何らかの特別な取り扱いが有益である可能性があることを考慮すると、そのような信号の検出は、慎重に実行される必要がある。さらに、上述の説明において説明された通常の時間領域ダウンミックスモデルおよびこれらの特別な信号を扱っている時間領域ダウンミックスモデルからの遷移が、2つのモデルの間の切り替わりが最小限の主観的影響(subjective effect)を有するように、非常に低いエネルギーの領域において、または両方のチャンネルのピッチが安定しない領域においてトリガされる可能性がある。
【0099】
LチャンネルとRチャンネルとの間の時間遅延補正(TDC)(
図17および
図18の時間遅延補正器1750参照)、またはすべての内容が参照により本明細書に組み込まれる参考文献[8]に記載されているものと同様の技術が、ダウンミックスモジュール201/301、251/351に入る前に実行される可能性がある。そのような実施形態において、因子βは、結局、上で説明された意味とは異なる意味を持つことになる可能性がある。この種の実装に関しては、時間遅延補正が予測されたとおりに働くという条件で、因子βは、0.5に近くなる可能性があり、つまり、時間領域ダウンミックスの構成はモノラル/サイド構成に近い。時間遅延補正(TDC)の適切な動作によって、サイドは、より少ない量の重要な情報を含む信号を含む可能性がある。その場合、セカンダリチャンネルXのビットレートは、因子βが0.5に近いとき、最小である可能性がある。一方、因子βが0または1に近い場合、これは、時間遅延補正(TDC)が遅延のずれた状況を適切に克服し得ず、セカンダリチャンネルXの内容がより複雑である可能性が高く、したがって、より高いビットレートを必要とすることを意味する。両方の種類の実装に関して、因子βと、それに関連してエネルギー正規化(再スケーリング)因子εとは、プライマリチャンネルYとセカンダリチャンネルXとの間のビット割り当てを改善するために使用され得る。
【0100】
図14は、ダウンミックス動作201/301およびチャンネルミキサ251/351の一部を形成する位相のずれた信号の検出の動作および位相ずれ信号検出器1450のモジュールを同時に示すブロック図である。位相のずれた信号の検出の動作は、時間領域ダウンミックス動作201/301と位相ずれに特有の時間領域ダウンミックス動作1404との間の選択を行うために、
図14に示されるように、位相ずれ信号検出動作1401、切り替わり位置(switching position)検出動作1402、およびチャンネルミキサ選択動作1403を含む。これらの動作は、それぞれ、位相ずれ信号検出器1451、切り替わり位置検出器1452、チャンネルミキサセレクタ1453、上述の時間領域ダウンチャンネルミキサ251/351、および位相ずれに特有の時間領域ダウンチャンネルミキサ1454によって実行される。
【0101】
位相ずれ信号検出1401は、前のフレーム内のプライマリチャンネルとセカンダリチャンネルとの間の開ループ相関(open loop correlation)に基づく。この目的で、検出器1451は、関係(12a)および(12b)を使用して前のフレームにおいてサイド信号s(i)とモノラル信号m(i)との間のエネルギーの差S
m(t)を計算する。
【0103】
そして、検出器1451は、関係(12c)を使用して長期のモノラルに対するサイドのエネルギーの差
【数29】
を計算する。
【0105】
ここで、tは、現在のフレームを示し、t
-1は、前のフレームであり、非アクティブな内容は、音声区間検出器(VAD:Voice Activity Detector)ハングオーバーフラグからまたはVADハングオーバーカウンタから導出され得る。
【0106】
長期のモノラルに対するサイドのエネルギーの差
【数31】
に加えて、参考文献[1]の5.1.10節において定義された各チャンネルYおよびXの最終ピッチ開ループ最大相関(pitch open loop maximum correlation)C
F|Lも、現在のモデルが準最適であると考えられるときを判断するために考慮に入れられる。
【数32】
は、前のフレームにおけるプライマリチャンネルYのピッチ開ループ最大相関を表し、
【数33】
は、前のフレームにおけるセカンダリチャンネルXの開ピッチループ最大相関(open pitch loop maximum correlation)を表す。準最適性フラグF
subが、以下の基準に従って切り替わり位置検出器1452によって計算される。
【0107】
長期のモノラルに対するサイドのエネルギーの差
【数34】
が特定の閾値よりも大きい場合、たとえば、
【数35】
であるとき、両方のピッチ開ループ最大相関
【数36】
が0.85と0.92との間にあり、つまり、信号が十分な相関を有するが、ただし、有声の信号ほどには相関がない場合、準最適性フラグF
subは1に設定され、左Lチャンネルと右Rチャンネルとの間の位相のずれた状態を示す。
【0108】
そうでない場合、準最適性フラグF
subは0に設定され、左Lチャンネルと右Rチャンネルとの間に位相のずれ状態がないことを示す。
【0109】
準最適性フラグの判断にいくらかの安定性を加えるために、切り替わり位置検出器1452は、各チャンネルYおよびXのピッチの曲線に関する基準を実装する。切り替わり位置検出器1452は、例示的な実施形態において、準最適性フラグF
subの少なくとも3つの連続したインスタンスが1に設定され、プライマリチャンネルまたはセカンダリチャンネルのうちの1つの最後のフレームのピッチの安定性p
pc(t-1)またはp
sc(t-1)が64を超えるとき、チャンネルミキサ1454が準最適な信号をコーディングするために使用されると決定する。ピッチの安定性は、関係(12d)を使用して切り替わり位置検出器1452によって計算される、参考文献[1]の5.1.10において定義された3つの開ループピッチ(open loop pitch)p
0|1|2の絶対的な差の合計に存する。
p
pc = |p
1 - p
0| + |p
2 - p
1|およびp
sc = |p
1 - p
0| + |p
2 - p
1| (12d)
【0110】
切り替わり位置検出器1452は、チャンネルミキサセレクタ1453に判断を伝え、そして今度は、チャンネルミキサセレクタ1453が、それに応じてチャンネルミキサ251/351またはチャンネルミキサ1454を選択する。チャンネルミキサセレクタ1453は、チャンネルミキサ1454が選択されるときに、以下の条件が満たされるまで、つまり、いくつかの連続するフレーム、たとえば、20個のフレームが最適であると考えられ、プライマリチャンネルまたはセカンダリチャンネルのうちの1つの最後のフレームのピッチの安定性p
pc(t-1)またはp
sc(t-1)が所定の数、たとえば、64を超えており、長期のモノラルに対するサイドのエネルギーの差
【数37】
が0以下であるという条件が満たされるまでこの判断が継続するようなヒステリシス(hysteresis)を実装する。
【0111】
2)プライマリチャンネルとセカンダリチャンネルとの間の動的な符号化
図8は、スピーチまたはオーディオなどのステレオ音声信号のプライマリYチャンネルとセカンダリXチャンネルとの両方の符号化の最適化の可能な実装によるステレオ音声符号化方法およびシステムを同時に示すブロック図である。
【0112】
図8を参照すると、ステレオ音声符号化方法は、低複雑性プリプロセッサ851によって実施される低複雑性前処理動作801、信号分類器852によって実施される信号分類動作802、判断モジュール853によって実施される判断動作803、4サブフレームモデルの一般のみの符号化(four (4) subframes model generic only encoding)モジュール854によって実施される4サブフレームモデルの一般のみの符号化動作804、2サブフレームモデル符号化モジュール855によって実施される2サブフレームモデル符号化動作805、およびLPフィルタコヒーレンスアナライザ856によって実施されるLPフィルタコヒーレンス分析動作806を含む。
【0113】
時間領域ダウンミックス301がチャンネルミキサ351によって実行された後、組み込み型のモデルの場合、プライマリチャンネルYは、(a)レガシーのEVSエンコーダまたは任意のその他の好適なレガシーの音声エンコーダなどのレガシーのエンコーダをプライマリチャンネルのエンコーダ352として使用して符号化される(プライマリチャンネル符号化動作302)(上述の説明において述べられたように、任意の好適な種類のエンコーダがプライマリチャンネルのエンコーダ352として使用され得ることに留意されたい)。統合された構造の場合、専用のスピーチコーデックが、プライマリチャンネルのエンコーダ252として使用される。専用スピーチエンコーダ252は、可変ビットレート(VBR)に基づくエンコーダ、たとえば、フレーム毎のレベルで可変ビットレートの取り扱いを可能にするより高いビットレートのスケーラビリティを持つように修正されたレガシーのEVSエンコーダの修正されたバージョンである可能性がある(上述の説明において述べられたように、任意の好適な種類のエンコーダがプライマリチャンネルのエンコーダ252として使用され得ることにやはり留意されたい)。これは、セカンダリチャンネルXを符号化するために使用されるビットの最小の量が各フレームにおいて変わり、符号化される音声信号の特徴に適合されることを可能にする。最後に、セカンダリチャンネルXのシグネチャは、可能な限り同質になる。
【0114】
セカンダリチャンネルX、すなわち、より低いエネルギー/モノラル入力との相関の符号化は、これに限らないが特にスピーチに似た内容のために最小限のビットレートを使用するように最適化される。その目的のために、セカンダリチャンネルの符号化は、LPフィルタ係数(LPC)および/またはピッチのラグ807などのプライマリチャンネルYに既に符号化されたパラメータを利用することができる。特に、以降で説明されるように、プライマリチャンネルの符号化中に計算されたパラメータが、セカンダリチャンネルの符号化中に計算される対応するパラメータと、セカンダリチャンネルの符号化中に再利用されるのに十分なだけ近いかどうかが判断される。
【0115】
第1に、低複雑性前処理動作801が、低複雑性プリプロセッサ851を使用してセカンダリチャンネルXに適用され、LPフィルタ、音声区間検出(VAD)、および開ループピッチが、セカンダリチャンネルXに応じて計算される。後者の計算は、たとえば、EVSのレガシーのエンコーダにおいて実行され、上で示されたようにすべての内容が参照により本明細書に組み込まれる参考文献[1]の5.1.9、5.1.12、および5.1.10節においてそれぞれ説明される計算によって実施され得る。上述の説明において述べられたように、任意の好適な種類のエンコーダがプライマリチャンネルのエンコーダ252/352として使用され得るので、上の計算は、そのようなプライマリチャンネルのエンコーダにおいて実行される計算によって実施され得る。
【0116】
そして、セカンダリチャンネルXの信号の特徴が、同じ参考文献[1]の5.1.13節に記載のEVS信号分類機能の技術と同様の技術を使用してセカンダリチャンネルXを無声、一般、または非アクティブとして分類するために信号分類器852によって分析される。これらの動作は、当業者に知られており、簡単にするために3GPP TS 26.445、v.12.0.0規格から引き出され得るが、代替的な実装も、使用され得る。
【0117】
a.プライマリチャンネルのLPフィルタ係数の再利用
ビットレートの消費の重要な部分は、LPフィルタ係数(LPC)の量子化にある。低ビットレートにおいて、LPフィルタ係数の完全な量子化は、ビットバジェットうち最大でほぼ25%を占める可能性がある。セカンダリチャンネルXが周波数の内容においてプライマリチャンネルYと近いことが多いが、ただしエネルギーレベルが最も低いことを考慮すると、プライマリチャンネルYのLPフィルタ係数を再利用することが可能かどうかは、検証する価値がある。そのようにするために、
図8に示されるように、プライマリチャンネルYのLPフィルタ係数(LPC)807を再利用するか否かの可能性を確認するためにわずかなパラメータが計算され、比較される、LPフィルタコヒーレンスアナライザ856によって実施されるLPフィルタコヒーレンス分析動作806が開発された。
【0118】
図9は、
図8のステレオ音声符号化方法およびシステムのLPフィルタコヒーレンス分析動作806および対応するLPフィルタコヒーレンスアナライザ856を示すブロック図である。
【0119】
図8のステレオ音声符号化方法およびシステムのLPフィルタコヒーレンス分析動作806および対応するLPフィルタコヒーレンスアナライザ856は、
図9に示されるように、LP(線形予測)フィルタアナライザ953によって実施されるプライマリチャンネルLPフィルタ分析下位動作903、重み付けフィルタ954によって実施される重み付け下位動作904、LPフィルタアナライザ962によって実施されるセカンダリチャンネルLPフィルタ分析下位動作912、重み付けフィルタ951によって実施される重み付け下位動作901、ユークリッド距離アナライザ952によって実施されるユークリッド距離分析下位動作902、残差(residual)フィルタ963によって実施される残差フィルタリング下位動作913、残差のエネルギーの計算器964によって実施される残差エネルギー計算下位動作914、減算器965によって実施される減算下位動作915、エネルギーの計算器960によって実施される(スピーチおよび/またはオーディオなどの)音声エネルギー計算下位動作910、セカンダリチャンネル残差フィルタ956によって実施されるセカンダリチャンネル残差フィルタリング動作906、残差のエネルギーの計算器957によって実施される残差エネルギー計算下位動作907、減算器958によって実施される減算下位動作908、利得比計算器によって実施される利得比計算下位動作911、比較器966によって実施される比較下位動作916、比較器967によって実施される比較下位動作917、判断モジュール968によって実施されるセカンダリチャンネルLPフィルタ使用判断下位動作918、ならびに判断モジュール969によって実施されるプライマリチャンネルLPフィルタ再利用判断下位動作919を含む。
【0120】
図9を参照すると、LPフィルタアナライザ953が、プライマリチャンネルYに対してLPフィルタ分析を実行し、一方、LPフィルタアナライザ962は、セカンダリチャンネルXに対してLPフィルタ分析を実行する。プライマリYチャンネルおよびセカンダリXチャンネルの各々に対して実行されるLPフィルタ分析は、参考文献[1]の5.1.9節に記載の分析と同様である。
【0121】
そして、LPフィルタアナライザ953からのLPフィルタ係数A
yが、セカンダリチャンネルXの第1の残差フィルタリングr
Yのために残差フィルタ956に供給される。同じようにして、LPフィルタアナライザ962からの最適なLPフィルタ係数A
xが、セカンダリチャンネルXの第2の残差フィルタリングr
Xのために残差フィルタ963に供給される。どちらかのフィルタ係数A
YまたはA
Xによる残差フィルタリングは、関係(11)を使用して実行される。
【0123】
ここで、この例において、s
xは、セカンダリチャンネルを表し、LPフィルタの次数は、16であり、Nは、通常は12.8kHzのサンプリングレートで20msのフレームの継続時間に対応する256であるフレーム内のサンプルの数(フレームサイズ)である。
【0124】
計算器910は、関係(14)を使用してセカンダリチャンネルX内の音声信号のエネルギーE
xを計算する。
【0126】
計算器957は、関係(15)を使用して残差フィルタ956からの残差のエネルギーE
ryを計算する。
【0128】
減算器958は、計算器960からの音声エネルギーから計算器957からの残差エネルギーを引いて予測利得G
Yを生成する。
【0129】
同じようにして、計算器964は、関係(16)を使用して残差フィルタ963からの残差のエネルギーE
rxを計算する。
【0131】
減算器965は、計算器960からの音声エネルギーからこの残差エネルギーを引いて予測利得G
Xを生成する。
【0132】
計算器961は、利得比G
Y/G
Xを計算する。比較器966は、利得比G
Y/G
Xを、例示的な実施形態においては0.92である閾値τと比較する。比G
Y/G
Xが閾値τよりも小さい場合、比較の結果が、判断モジュール968に送信され、判断モジュール968は、セカンダリチャンネルXを符号化するためにセカンダリチャンネルのLPフィルタ係数を使用することを強制する。
【0133】
ユークリッド距離アナライザ952は、プライマリチャンネルYに応じてLPフィルタアナライザ953によって計算された線スペクトル対lsp
Yと、セカンダリチャンネルXに応じてLPフィルタアナライザ962によって計算された線スペクトル対lsp
Xとの間のユークリッド距離などのLPフィルタの類似性の測定を実行する。当業者に知られているように、線スペクトル対lsp
Yおよびlsp
Xは、量子化領域におけるLPフィルタ係数を表す。アナライザ952は、関係(17)を使用してユークリッド距離distを決定する。
【0135】
ここで、Mは、フィルタの次数を表し、lsp
Yおよびlsp
Xは、それぞれ、プライマリYチャンネルおよびセカンダリXチャンネルに関して計算された線スペクトル対を表す。
【0136】
アナライザ952においてユークリッド距離を計算する前に、スペクトルの特定の部分が多かれ少なかれ強調されるようにそれぞれの重み係数によって線スペクトル対lsp
Yおよびlsp
Xの両方の組を重み付けすることが可能である。その他のLPフィルタの表現も、LPフィルタの類似性の測定値を計算するために使用され得る。
【0137】
ユークリッド距離distが知られると、そのユークリッド距離は、比較器967において閾値σと比較される。例示的な実施形態において、閾値σは、値0.08を有する。比G
Y/G
Xが閾値τ以上であると比較器966が判定し、ユークリッド距離distが閾値σ以上であると比較器967が判定するとき、比較の結果が、判断モジュール968に送信され、判断モジュール968は、セカンダリチャンネルXを符号化するためにセカンダリチャンネルのLPフィルタ係数を使用することを強制する。比G
Y/G
Xが閾値τ以上であると比較器966が判定し、ユークリッド距離distが閾値σ未満であると比較器967が判定するとき、これらの比較の結果が、判断モジュール969に送信され、判断モジュール969は、セカンダリチャンネルXを符号化するためにプライマリチャンネルのLPフィルタ係数を再利用することを強制する。後者の場合、プライマリチャンネルのLPフィルタ係数がセカンダリチャンネルの符号化の一部として再利用される。
【0138】
特定の場合、たとえば、LPフィルタ係数も符号化するために利用可能なビットレートがまだ存在するほど信号が符号化することが十分に容易である無声のコーディングモードの場合、セカンダリチャンネルXを符号化するためにプライマリチャンネルのLPフィルタ係数を再利用することを制限するためにいくつかの追加のテストが行われる可能性がある。非常に低い残差利得がセカンダリチャンネルのLPフィルタ係数によって既に得られているとき、またはセカンダリチャンネルXが非常に低いエネルギーレベルを有するとき、プライマリチャンネルのLPフィルタ係数を再利用することを強制することも可能である。最後に、LPフィルタ係数を再利用することが強制され得る変数τ、σ、残差利得のレベル、または非常に低いエネルギーレベルは、利用可能なビットバジェットに応じておよび/または内容の種類に応じて適合され得る。たとえば、セカンダリチャンネルの内容が非アクティブであると考えられる場合、たとえエネルギーが高いとしても、プライマリチャンネルのLPフィルタ係数を再利用すると判断される可能性がある。
【0139】
b.セカンダリチャンネルの低ビットレートの符号化
プライマリYチャンネルおよびセカンダリXチャンネルが右R入力チャンネルと左L入力チャンネルとの両方のミックスである可能性があるので、これは、たとえセカンダリチャンネルXのエネルギーの内容がプライマリチャンネルYのエネルギーの内容と比べて低いとしても、チャンネルのアップミックスが実行されると、コーディングアーティファクトが知覚される可能性があることを示唆する。そのような起こり得るアーティファクトを制限するために、セカンダリチャンネルXのコーディングシグネチャ(coding signature)は、すべての意図されていないエネルギーの変動を制限するために可能な限り一定に保たれる。
図7に示されるように、セカンダリチャンネルXの内容は、プライマリチャンネルYの内容と同様の特徴を有し、そのために、非常に低いビットレートのスピーチに似たコーディングモデルが、作られた。
【0140】
再び
図8を参照すると、LPフィルタコヒーレンスアナライザ856が、判断モジュール969からのプライマリチャンネルのLPフィルタ係数を再利用する判断、または判断モジュール968からのセカンダリチャンネルのLPフィルタ係数を使用する判断を、判断モジュール853に送信する。そして、判断モジュール803は、プライマリチャンネルのLPフィルタ係数が再利用されるとき、セカンダリチャンネルのLPフィルタ係数を量子化しないと判断し、判断がセカンダリチャンネルのLPフィルタ係数を使用するというものであるとき、セカンダリチャンネルのLPフィルタ係数を量子化すると判断する。後者の場合、量子化されたセカンダリチャンネルのLPフィルタ係数が、多重化されたビットストリーム207/307に含めるためにマルチプレクサ254/354に送信される。
【0141】
4サブフレームモデルの一般のみの符号化動作804および対応する4サブフレームモデルの一般のみの符号化モジュール854においては、ビットレートをできる限り低く保つために、プライマリチャンネルYからのLPフィルタ係数が再利用され得るとき、セカンダリチャンネルXが信号分類器852によって一般として分類されるとき、ならびに入力右Rチャンネルおよび左Lチャンネルのエネルギーが中心に近く、つまり、右Rチャンネルと左Lチャンネルとの両方のエネルギーが互い近いときにのみ、参考文献[1]の5.2.3.1節に記載のACELPの探索が使用される。そして、4サブフレームモデルの一般のみの符号化モジュール854におけるACELPの探索中に見つかったコーディングパラメータが、セカンダリチャンネルビットストリーム206/306を構築するために使用され、多重化されたビットストリーム207/307に含めるためにマルチプレクサ254/354に送信される。
【0142】
そうではなく、2サブフレームモデル符号化動作805および対応する2サブフレームモデル符号化モジュール855においては、プライマリチャンネルYからのLPフィルタ係数が再利用され得ないとき、一般の内容のセカンダリチャンネルXを符号化するためにハーフバンド(half-band)モデルが使用される。非アクティブな無声の内容に関しては、スペクトルの形状のみがコーディングされる。
【0143】
符号化モジュール855において、非アクティブな内容の符号化は、参考文献[1]の(a) 5.2.3.5.7節および5.2.3.5.11節ならびに(b) 5.2.2.1節にそれぞれ記載されているように必要とされるとき、(a)雑音による穴埋め(noise filling)付きの周波数領域のスペクトル帯域の利得のコーディングおよび(b)セカンダリチャンネルのLPフィルタ係数のコーディングを含む。非アクティブな内容は、たった1.5kb/sの低いビットレートで符号化され得る。
【0144】
符号化モジュール855において、セカンダリチャンネルXの無声の符号化は、無声の符号化が無声のセカンダリチャンネルに関して符号化されるセカンダリチャンネルのLPフィルタ係数の量子化のために追加のいくつかのビットを使用することを除いてセカンダリチャンネルXの非アクティブの符号化と同様である。
【0145】
ハーフバンド一般コーディングモデルが、参考文献[1]の5.2.3.1節に記載のACELPと同様にして構築されるが、フレーム毎に2サブフレームのみで使用される。したがって、そのようにするために、参考文献[1]の5.2.3.1.1節に記載の残差、参考文献[1]の5.2.3.1.4節に記載の適応コードブックのメモリ、および入力セカンダリチャンネルが、最初に、2分の1にダウンサンプリングされる。LPフィルタ係数も、参考文献[1]の5.4.4.2節に記載の技術を使用して12.8kHzのサンプリング周波数の代わりにダウンサンプリングされた領域を表すように修正される。
【0146】
ACELPの探索の後、帯域幅の拡張が、励振の周波数領域において実行される。帯域幅の拡張は、まず、比較的低いスペクトル帯域のエネルギーを比較的高い帯域に複製する。スペクトル帯域のエネルギーを複製するために、初めの9つのスペクトル帯域のエネルギーG
bd(i)が、参考文献[1]の5.2.3.5.7節に記載されたように発見され、終わりの帯域が、関係(18)に示されるように埋められる。
G
bd(i) = G
bd(16 - i - 1), for i = 8,…,15 (18)
【0147】
そして、参考文献[1]の5.2.3.5.9節に記載の周波数領域において表された励起ベクトルの高周波数の内容f
d(k)が、関係(19)を使用して比較的低い帯域の周波数の内容を用いて埋められる。
f
d(k) = f
d(k - P
b), for k = 128,…,255 (19)
【0148】
ここで、ピッチのオフセットP
bは、参考文献[1]の5.2.3.1.4.1節に記載の複数のピッチ情報に基づき、関係(20)に示されるように周波数ビンのオフセットに変換される。
【0150】
ここで、
【数44】
は、サブフレーム毎の復号されたピッチ情報の平均を表し、F
sは、内部サンプリング周波数であり、この例示的な実施形態においては12.8kHzであり、F
rは、周波数分解能である。
【0151】
そして、2サブフレームモデル符号化モジュール855において実行される低レートの非アクティブの符号化、低レートの無声の符号化、またはハーフバンド一般符号化中に見つかったコーディングパラメータが、多重化されたビットストリーム207/307に含めるためにマルチプレクサ254/354に送信されるセカンダリチャンネルビットストリーム206/306を構築するために使用される。
【0152】
c.セカンダリチャンネルの低ビットレートの符号化の代替的な実装
セカンダリチャンネルXの符号化は、最良の可能な品質を実現し、一定のシグネチャを保ちながら最小限の数のビットを使用するという同じ目的を持って異なるようにして実現され得る。セカンダリチャンネルXの符号化は、LPフィルタ係数およびピッチ情報の潜在的な再利用とは独立して、利用可能なビットバジェットによって部分的に駆動される可能性がある。また、2サブフレームモデル符号化(動作805)は、ハーフバンドであるかまたはフルバンド(full band)であるかのどちらかである可能性がある。セカンダリチャンネルの低ビットレートの符号化のこの代替的な実装においては、プライマリチャンネルのLPフィルタ係数および/またはピッチ情報が、再利用される可能性があり、2サブフレームモデル符号化が、セカンダリチャンネルXを符号化するために利用可能なビットバジェットに基づいて選択される可能性がある。さらに、下に提示される2サブフレームモデル符号化は、その入力/出力パラメータをダウンサンプリング/アップサンプリングする代わりにサブフレーム長を倍にすることによって生成された。
【0153】
図15は、代替的なステレオ音声符号化方法および代替的なステレオ音声符号化システムを同時に示すブロック図である。
図15のステレオ音声符号化方法およびシステムは、同じ参照番号を使用して特定され、簡潔にするために説明が本明細書において繰り返されない
図8の方法およびシステムの動作およびモジュールのうちのいくつかを含む。加えて、
図15のステレオ音声符号化方法は、動作202/302におけるその方法の符号化の前にプライマリチャンネルYに適用される前処理動作1501、ピッチコヒーレンス分析動作1502、無声/非アクティブ判断動作1504、無声/非アクティブコーディング判断動作1505、および2/4サブフレームモデル判断動作1506を含む。
【0154】
下位動作1501、1502、1503、1504、1505、および1506は、低複雑性プリプロセッサ851と同様のプリプロセッサ1551、ピッチコヒーレンスアナライザ1552、ビット割り当て推定器1553、無声/非アクティブ判断モジュール1554、無声/非アクティブ符号化判断モジュール1555、および2/4サブフレームモデル判断モジュール1556によってそれぞれ実行される。
【0155】
ピッチコヒーレンス分析動作1502を実行するために、ピッチコヒーレンスアナライザ1552は、プリプロセッサ851および1551によって、プライマリYチャンネルとセカンダリXチャンネルとの両方の開ループピッチ、それぞれ、OLpitch
priおよびOLpitch
secを供給される。
図15のピッチコヒーレンスアナライザ1552は、ピッチコヒーレンス分析動作1502の下位動作およびピッチコヒーレンスアナライザ1552のモジュールを同時に示すブロック図である
図16により詳細に示される。
【0156】
ピッチコヒーレンス分析動作1502は、プライマリチャンネルYとセカンダリチャンネルXとの間の開ループピッチの類似性の評価を実行して、どのような状況においてプライマリの開ループピッチがセカンダリチャンネルXを符号化する際に使用され得るのかを判断する。この目的で、ピッチコヒーレンス分析動作1502は、プライマリチャンネル開ループピッチ加算器1651によって実行されるプライマリチャンネル開ループピッチ総和下位動作1601と、セカンダリチャンネル開ループピッチ加算器1652によって実行されるセカンダリチャンネル開ループピッチ総和下位動作1602とを含む。加算器1652からの総和が、減算器1653を使用して加算器1651からの総和から引かれる(下位動作1603)。下位動作1603からの減算の結果は、ステレオのピッチのコヒーレンスを与える。非限定的な例として、下位動作1601および1602における総和は、各チャンネルYおよびXのために利用可能な3つの前の連続した開ループピッチに基づく。開ループは、たとえば、参考文献[1]の5.1.10節において定義されたように計算され得る。ステレオのピッチのコヒーレンスS
pcは、関係を(21)を用いて下位動作1601、1602、および1603において計算される。
【0158】
ここで、p
p|s(i)は、プライマリYチャンネルおよびセカンダリXチャンネルの開ループピッチを表し、iは、開ループピッチの位置を表す。
【0159】
ステレオのピッチのコヒーレンスが所定の閾値Δ未満であるとき、プライマリチャンネルYからのピッチ情報の再利用が、セカンダリチャンネルXを符号化するために利用可能なビットバジェットに応じて許される可能性がある。また、利用可能なビットバジェットに応じて、プライマリYチャンネルとセカンダリXチャンネルとの両方に関して有声の特徴を有する信号に関するピッチ情報の再利用を制限することが可能である。
【0160】
この目的で、ピッチコヒーレンス分析動作1502は、(たとえば、プライマリおよびセカンダリチャンネルのコーディングモードによって示される)利用可能なビットバジェットおよび音声信号の特徴を考慮する判断モジュール1654によって実行される判断下位動作1604を含む。利用可能なビットバジェットが十分であるかまたはプライマリYチャンネルとセカンダリXチャンネルとの両方に関する音声信号が有声の特徴を持たないことを判断モジュール1654が検出するとき、判断は、セカンダリチャンネルXに関連するピッチ情報を符号化する(1605)というものである。
【0161】
利用可能なビットバジェットがセカンダリチャンネルXのピッチ情報を符号化するという目的には少ないかまたはプライマリYチャンネルとセカンダリXチャンネルとの両方に関する音声信号が有声の特徴を持つことを判断モジュール1654が検出するとき、判断モジュールは、ステレオのピッチのコヒーレンスS
pcを閾値Δと比較する。ビットバジェットが少ないとき、閾値Δは、ビットバジェットがより重大である(セカンダリチャンネルXのピッチ情報を符号化するのに十分である)場合と比較してより大きな値に設定される。ステレオのピッチのコヒーレンスS
pcの絶対値が閾値Δ以下であるとき、モジュール1654は、セカンダリチャンネルXを符号化するためにプライマリチャンネルYからのピッチ情報を再利用する(1607)と判断する。ステレオのピッチのコヒーレンスS
pcの値が閾値Δよりも大きいとき、モジュール1654は、セカンダリチャンネルXのピッチ情報を符号化する(1605)と判断する。
【0162】
チャンネルが有声の特徴を有することを保証することは、滑らかなピッチの発展の見込みを高め、したがって、プライマリチャンネルのピッチを再利用することによってアーティファクトを付け加えるリスクを下げる。非限定的な例として、ステレオビットバジェットが14kb/s未満であり、ステレオのピッチのコヒーレンスS
pcが6(Δ=6)以下であるとき、プライマリのピッチ情報が、セカンダリチャンネルXを符号化する際に再利用される可能性がある。別の非限定的な例によれば、ステレオビットバジェットが14kb/sを超えており、26kb/s未満である場合、プライマリYチャンネルとセカンダリXチャンネルとの両方が、有声であると考えられ、ステレオのピッチのコヒーレンスS
pcが、より低い閾値Δ=3と比較され、それが、22kb/sのビットレートのプライマリチャンネルYのピッチ情報のより低い再利用のレートにつながる。
【0163】
再び
図15を再び参照すると、ビット割り当て推定器1553が、チャンネルミキサ251/351からの因子βを供給され、LPフィルタコヒーレンスアナライザ856からのプライマリチャンネルのLPフィルタ係数を再利用するかまたはセカンダリチャンネルのLPフィルタ係数を使用し、符号化するという判断を供給され、ピッチコヒーレンスアナライザ1552によって決定されたピッチ情報を供給される。プライマリおよびセカンダリチャンネルの符号化の要件に応じて、ビット割り当て推定器1553は、プライマリチャンネルYを符号化するためのビットバジェットをプライマリチャンネルのエンコーダ252/352に提供し、セカンダリチャンネルXを符号化するためのビットバジェットを判断モジュール1556に提供する。1つの可能な実装において、INACTIVEでないすべての内容に関して、総ビットレートのうちのわずかな部分が、セカンダリチャンネルに割り当てられる。そして、セカンダリチャンネルのビットレートが、
B
x = B
M + (0.25・ε- 0.125)・(B
t - 2・B
M) (21a)
のように上述のエネルギー正規化(再スケーリング)因子εに関連する量だけ増やされ、ここで、B
xは、セカンダリチャンネルXに割り当てられるビットレートを表し、B
tは、利用可能な総ステレオビットレートを表し、B
Mは、セカンダリチャンネルに割り当てられる最小ビットレートを表し、通常、総ステレオビットレートの約20%である。最後に、εは、上述のエネルギー正規化因子を表す。したがって、プライマリチャンネルに割り当てられるビットレートは、総ステレオビットレートとセカンダリチャンネルのステレオビットレートとの間の差に対応する。代替的な実装において、セカンダリチャンネルのビットレートの割り当ては、以下のように記述され得る。
【0165】
ここでもやはり、B
xは、セカンダリチャンネルXに割り当てられるビットレートを表し、B
tは、利用可能な総ステレオビットレートを表し、B
Mは、セカンダリチャンネルに割り当てられる最小ビットレートを表す。最後に、ε
idxは、エネルギー正規化因子の送信されるインデックスを表す。したがって、プライマリチャンネルに割り当てられるビットレートは、総ステレオビットレートとセカンダリチャンネルのビットレートとの間の差に対応する。すべての場合において、INACTIVEな内容に関して、セカンダリチャンネルのビットレートは、通常は2kb/sに近いビットレートを与えるセカンダリチャンネルのスペクトルの形状を符号化するために必要とされる最小ビットレートに設定される。
【0166】
一方、信号分類器852は、セカンダリチャンネルXの信号の分類を判断モジュール1554に提供する。音声信号が非アクティブまたは無声であると判断モジュール1554が判定する場合、無声/非アクティブ符号化モジュール1555は、セカンダリチャンネルXのスペクトルの形状をマルチプレクサ254/354に提供する。代替的に、判断モジュール1554は、音声信号が非アクティブでも無声でもないときに判断モジュール1556に知らせる。そのような音声信号に関して、セカンダリチャンネルXを符号化するためのビットバジェットを使用して、判断モジュール1556は、4サブフレームモデルの一般のみの符号化モジュール854を使用してセカンダリチャンネルXを符号化するために十分な数の利用可能なビットが存在するかどうかを判定し、そうでない場合、判断モジュール1556は、2サブフレームモデル符号化モジュール855を使用してセカンダリチャンネルXを符号化することを選択する。4サブフレームモデルの一般のみの符号化モジュールを選択するために、セカンダリチャンネルのために利用可能なビットバジェットは、LP係数およびピッチ情報および利得を含む他のあらゆるものが量子化されるかまたは再利用されると、代数的コードブック(algebraic codebook)に少なくとも40ビットを割り当てるのに十分なだけ大きくなければならない。
【0167】
上述の説明から理解されるように、4サブフレームモデルの一般のみの符号化動作804および対応する4サブフレームモデルの一般のみの符号化モジュール854においては、ビットレートをできるだけ低く保つために、参考文献[1]の5.2.3.1節に記載のACELPの探索が使用される。4サブフレームモデルの一般のみの符号化においては、ピッチ情報が、プライマリチャンネルから再利用される可能性がありまたは再利用されない可能性がある。そして、4サブフレームモデルの一般のみの符号化モジュール854におけるACELPの探索中に見つかったコーディングパラメータが、セカンダリチャンネルビットストリーム206/306を構築するために使用され、多重化されたビットストリーム207/307に含めるためにマルチプレクサ254/354に送信される。
【0168】
代替的な2サブフレームモデル符号化動作805および対応する代替的な2サブフレームモデル符号化モジュール855において、一般コーディングモデルが、参考文献[1]の5.2.3.1節に記載のACELPと同様にして構築されるが、フレーム毎に2サブフレームのみで使用される。したがって、そのようにするために、サブフレームの長さが、64サンプルから128サンプルまで増やされるが、内部サンプリングレートを12.8kHzに引き続き保つ。ピッチコヒーレンスアナライザ1552がセカンダリチャンネルXを符号化するためにプライマリチャンネルYからのピッチ情報を再利用すると決定した場合、プライマリチャンネルYの初めの2つのサブフレームのピッチの平均が計算され、セカンダリチャンネルXの前半のフレームに関するピッチの推定値として使用される。同様に、プライマリチャンネルYの最後の2つのサブフレームのピッチの平均が計算され、セカンダリチャンネルXの後半のフレームのために使用される。プライマリチャンネルYから再利用されるとき、LPフィルタ係数が補間され、参考文献[1]の5.2.2.1節に記載のLPフィルタ係数の補間が、第2のおよび第4の補間因子によって第1のおよび第3の補間因子を置き換えることによって2サブフレーム方式に適応するように修正される。
【0169】
図15の実施形態において、4サブフレーム符号化方式と2サブフレーム符号化方式とのどちらかに決定するプロセスは、セカンダリチャンネルXを符号化するために利用可能なビットバジェットによって駆動される。上述のように、セカンダリチャンネルXのビットバジェットは、利用可能な総ビットバジェット、因子βまたはエネルギー正規化因子ε、時間遅延補正(TDC)モジュールが存在するか否か、プライマリチャンネルYからのLPフィルタ係数および/またはピッチ情報の再利用が可能か否かなどの異なる要素から導出される。
【0170】
LPフィルタ係数とピッチ情報との両方がプライマリチャンネルYから再利用されるときにセカンダリチャンネルXの2サブフレーム符号化モデルによって使用される絶対的な最小ビットレートは、一般信号に関して約2kb/sであり、一方、4サブフレーム符号化方式に関しては約3.6kb/sである。ACELPに似たコーダに関しては、2または4サブフレーム符号化モデルを使用すると、品質の大部分が、参考文献[1]の5.2.3.1.5節において定義された代数的コードブック(ACB)の探索に割り当てられ得るビットの数に由来する。
【0171】
そのとき、品質を最大化するために、4サブフレームの代数的コードブック(ACB)の探索と2サブフレームの代数的コードブック(ACB)の探索との両方のために利用可能なビットバジェットを比較し、その後にコーディングされるものがすべて考慮に入れられるという発想である。たとえば、特定のフレームに関して、セカンダリチャンネルXをコーディングするために4kb/s(20msのフレーム毎に80ビット)が存在する場合、ピッチ情報が送信される必要があるが、LPフィルタ係数が再利用され得る。そのとき、80ビットから取り除かれるのは、代数的コードブックを符号化するために利用可能なビットバジェットを得るための、セカンダリチャンネルのシグナリング、セカンダリチャンネルのピッチ情報、利得、ならびに2サブフレームと4サブフレームとの両方のための代数的コードブックを符号化するための最小限の量のビットである。たとえば、4サブフレームの代数的コードブックを符号化するために少なくとも40ビットが利用可能である場合、4サブフレーム符号化モデルが選択され、そうでない場合、2サブフレーム方式が使用される。
【0172】
3)部分的なビットストリームからのモノラル信号の近似
上述の説明において説明されたように、時間領域ダウンミックスは、モノラルと相性が良く、つまり、プライマリチャンネルYがレガシーのコーデックによって符号化され(上述の説明において述べられたように、任意の好適な種類のエンコーダがプライマリチャンネルのエンコーダ252/352として使用され得ることに留意されたい)、ステレオのビットがプライマリチャンネルビットストリームに付加される組み込み型の構造の場合、ステレオのビットが引き剥がされる可能性があり、レガシーのデコーダが仮説的なモノラル合成に主観的に近い合成を生み出す可能性がある。そのようにするためには、プライマリチャンネルYを符号化する前に、エンコーダ側で単純なエネルギーの正規化が必要とされる。プライマリチャンネルYのエネルギーを音声のモノラル信号バージョンのエネルギーに十分に近い値に再スケーリングすることによって、レガシーのデコーダによるプライマリチャンネルYの復号は、音声のモノラル信号バージョンのレガシーのデコーダによる復号と同様になり得る。エネルギーの正規化の関数は、関係(7)を使用して計算された線形化された長期相関差
【数47】
と直接結びつけられ、関係(22)を使用して計算される。
【0174】
正規化のレベルが、
図5に示される。実際には、関係(22)を使用する代わりに、正規化値εを因子βのそれぞれの可能な値(この例示的な実施形態においては31個の値)に関連付けるルックアップテーブルが使用される。たとえ統合化モデルでステレオ音声信号、たとえば、スピーチおよび/またはオーディオを符号化するときにこの追加のステップが必要とされないとしても、これは、ステレオのビットを復号することなくモノラル信号のみを復号するときに役立つ可能性がある。
【0175】
4)ステレオの復号およびアップミックス
図10は、ステレオ音声復号方法およびステレオ音声復号システムを同時に示すブロック図である。
図11は、
図10のステレオ音声復号方法およびステレオ音声復号システムのさらなる特徴を示すブロック図である。
【0176】
図10および
図11のステレオ音声復号方法は、デマルチプレクサ1057によって実施される多重分離動作1007、プライマリチャンネルのデコーダ1054によって実施されるプライマリチャンネル復号動作1004、セカンダリチャンネルデコーダ1055によって実施されるセカンダリチャンネル復号動作1005、および時間領域チャンネルアップミキサ1056によって実施される時間領域アップミックス動作1006を含む。セカンダリチャンネル復号動作1005は、
図11に示されるように、判断モジュール1151によって実施される判断動作1101、4サブフレーム一般デコーダ1152によって実施される4サブフレーム一般復号動作1102、および2サブフレーム一般/無声/非アクティブデコーダ1153によって実施される2サブフレーム一般/無声/非アクティブ復号動作1103を含む。
【0177】
ステレオ音声復号システムにおいて、ビットストリーム1001が、エンコーダから受信される。デマルチプレクサ1057は、ビットストリーム1001を受信し、そのビットストリーム1001から、プライマリチャンネルY(ビットストリーム1002)の符号化パラメータ、セカンダリチャンネルX(ビットストリーム1003)の符号化パラメータ、およびプライマリチャンネルのデコーダ1054、セカンダリチャンネルデコーダ1055、およびチャンネルアップミキサ1056に供給される因子βを抽出する。上述のように、因子βは、プライマリチャンネルのエンコーダ252/352とセカンダリチャンネルのエンコーダ253/353との両方がビットレートの割り当てを決定するためのインジケータとして使用され、したがって、プライマリチャンネルのデコーダ1054およびセカンダリチャンネルデコーダ1055は、両方とも、ビットストリームを適切に復号するために因子βを再利用している。
【0178】
プライマリチャンネルの符号化パラメータは、受信されたビットレートのACELPコーディングモデルに対応し、レガシーのまたは修正されたEVSコーダに関連する可能性がある(上述の説明において述べられたように、任意の好適な種類のエンコーダがプライマリチャンネルのエンコーダ252として使用され得ることにここで留意されたい)。プライマリチャンネルのデコーダ1054は、参考文献[1]と同様の方法を使用してプライマリチャンネル符号化パラメータ(
図11に示されるようコーデックモード
1、β、LPC
1、Pitch
1、固定のコードブックインデックス
1、および利得
1)を復号して復号されたプライマリチャンネルY'を生成するためにビットストリーム1002を供給される。
【0179】
セカンダリチャンネルデコーダ1055によって使用されるセカンダリチャンネル符号化パラメータは、セカンダリチャンネルXを復号するために使用されるモデルに対応し、以下を含み得る。
【0180】
(a)プライマリチャンネルYからのLPフィルタ係数(LPC
1)および/またはその他の符号化パラメータ(たとえば、ピッチのラグPitch
1など)を再利用する一般コーディングモデル。セカンダリチャンネルデコーダ1055の4サブフレーム一般デコーダ1152(
図11)は、デコーダ1054からプライマリチャンネルYからのLPフィルタ係数(LPC
1)および/もしくはその他の符号化パラメータ(たとえば、ピッチのラグPitch
1など)、ならびに/またはビットストリーム1003(
図11に示されるβ、Pitch
2、固定のコードブックインデックス
2、および利得
2)を供給され、符号化モジュール854(
図8)の方法の反対の方法を使用して復号されたセカンダリチャンネルX'を生成する。
【0181】
(b)その他のコーディングモデルは、プライマリチャンネルYからのLPフィルタ係数(LPC
1)および/またはその他の符号化パラメータ(たとえば、ピッチのラグPitch
1など)を再利用する可能性がありまたは再利用しない可能性があり、ハーフバンド一般コーディングモデル、低レート無声コーディングモデル、および低レート非アクティブコーディングモデルを含む。例として、非アクティブコーディングモデルは、プライマリチャンネルのLPフィルタ係数LPC
1を再利用する可能性がある。セカンダリチャンネルデコーダ1055の2サブフレーム一般/無声/非アクティブデコーダ1153(
図11)は、プライマリチャンネルYからのLPフィルタ係数(LPC
1)および/もしくはその他の符号化パラメータ(たとえば、ピッチのラグPitch
1など)、ならびに/またはビットストリーム1003(
図11に示されるコーデックモード
2、β、LPC
2、Pitch
2、固定のコードブックインデックス
2、および利得
2)を供給され、符号化モジュール855(
図8)の方法の反対の方法を使用して復号されたセカンダリチャンネルX'を生成する。
【0182】
セカンダリチャンネルX(ビットストリーム1003)に対応する受信された符号化パラメータは、使用されているコーディングモデルに関連する情報(コーデックモード
2)を含む。判断モジュール1151は、この情報(コーデックモード
2)を使用してどちらのコーディングモデルが使用されるべきであるかを決定し、4サブフレーム一般デコーダ1152および2サブフレーム一般/無声/非アクティブデコーダ1153に示す。
【0183】
組み込み型の構造の場合、因子βが、デコーダ側のルックアップテーブル(図示せず)に記憶されるエネルギースケーリングインデックスを取り出すために使用され、時間領域アップミックス動作1006を実行する前にプライマリチャンネルY'を再スケーリングするために使用される。最後に、因子βは、チャンネルアップミキサ1056に供給され、復号されたプライマリY'チャンネルおよびセカンダリX'チャンネルをアップミックスするために使用される。時間領域アップミックス動作1006は、関係(23)および(24)を使用して復号された右R'チャンネルおよび左L'チャンネルを得るためにダウンミックスの関係(9)および(10)の逆として実行される。
【0185】
ここで、n = 0,…,N-1は、フレーム内のサンプルのインデックスであり、tは、フレームのインデックスである。
【0186】
5)時間領域の符号化および周波数領域の符号化の統合
周波数領域のコーディングモードが使用される現在の技術の応用のために、いくらか複雑性を取り除くかまたはデータフローを簡素化するために周波数領域において時間のダウンミックスを実行することも考えられる。そのような場合、時間領域ダウンミックスの利点を保つために、すべてのスペクトル係数に同じミックス因子(mixing factor)が適用される。これは、周波数領域ダウンミックスの応用のほとんどの場合と同様に周波数帯域毎にスペクトル係数を適用することからの逸脱であることが、観察され得る。ダウンミキサ456は、関係(25.1)および(25.2)を計算するように適合され得る。
F
Y(k) = F
R(k)・(1 - β(t)) + F
L(k)・β(t) (25.1)
F
X(k) = F
L(k)・(1 - β(t)) - F
R(k)・β(t) (25.2)
【0187】
ここで、F
R(k)は、右チャンネルRの周波数係数kを表し、同様に、F
L(k)は、左チャンネルLの周波数係数kを表す。そして、プライマリYチャンネルおよびセカンダリXチャンネルが、ダウンミックスされた信号の時間表現を得るために逆周波数変換を適用することによって計算される。
【0188】
図17および
図18は、プライマリYチャンネルおよびセカンダリXチャンネルの時間領域のコーディングと周波数領域のコーディングとの間を切り替えることができる周波数領域ダウンミックスを使用する時間領域ステレオ符号化方法およびシステムの可能な実装を示す。
【0189】
そのような方法およびシステムの第1の変化形が、時間領域および周波数領域において動作可能である時間領域のダウンスイッチング(down-switching)を使用するステレオ符号化方法およびシステムを同時に示すブロック図である
図17に示される。
【0190】
図17において、ステレオ符号化方法およびシステムは、前の図を参照して説明され、同じ参照番号によって特定される多くの上述の動作およびモジュールを含む。判断モジュール1751(判断動作1701)は、時間遅延補正器1750からの左L'チャンネルおよび右R'チャンネルが時間領域において符号化されるべきであるかまたは周波数領域において符号化されるべきであるのかを判定する。時間領域のコーディングが選択される場合、
図17のステレオ符号化方法およびシステムは、たとえば、前の図のステレオ符号化方法およびシステムと実質的に同じ方法で、
図15の実施形態と同様に限定なしに動作する。
【0191】
判断モジュール1751が周波数コーディングを選択する場合、時間-周波数コンバータ1752(時間-周波数変換動作1702)が、左L'チャンネルおよび右R'チャンネルを周波数領域に変換する。周波数領域ダウンミキサ1753(周波数領域ダウンミックス動作1703)は、プライマリYおよびセカンダリX周波数領域チャンネルを出力する。周波数領域のプライマリチャンネルは、周波数-時間コンバータ1754(周波数-時間変換動作1704)によって時間領域に変換して戻され、結果として得られる時間領域のプライマリチャンネルYが、プライマリチャンネルのエンコーダ252/352に適用される。周波数領域ダウンミキサ1753からの周波数領域のセカンダリチャンネルXは、通常のパラメトリックおよび/または残差エンコーダ1755(パラメトリックおよび/または残差符号化動作1705)によって処理される。
【0192】
図18は、時間領域および周波数領域において動作可能である周波数領域のダウンミックを使用するその他のステレオ符号化方法およびシステムを同時に示すブロック図である。
図18において、ステレオ符号化方法およびシステムは、
図17のステレオ符号化方法およびシステムと同様であり、新しい動作およびモジュールのみが、説明される。
【0193】
時間領域アナライザ1851(時間領域分析動作1801)が、上述の時間領域チャンネルミキサ251/351(時間領域ダウンミックス動作201/301)を置き換える。時間領域アナライザ1851は、
図4のモジュールのうちのほとんどを含むが、時間領域ダウンミキサ456は除く。したがって、時間領域アナライザ1851の役割は、もっぱら因子βの計算を提供することである。この因子βは、プリプロセッサ851と、時間領域の符号化のために、周波数領域ダウンミキサ1753から受信された周波数領域のセカンダリXチャンネルおよびプライマリYチャンネルを時間領域にそれぞれ変換する周波数-時間領域コンバータ1852および1853(周波数-時間領域変換動作1802および1803)とに供給される。したがって、コンバータ1852の出力は、プリプロセッサ851に提供される時間領域のセカンダリチャンネルXであり、一方、コンバータ1853の出力は、プリプロセッサ1551とエンコーダ252/352との両方に提供される時間領域のプライマリチャンネルYである。
【0194】
6)例示的なハードウェア構成
図12は、上述のステレオ音声符号化システムおよびステレオ音声復号システムの各々を形成するハードウェア構成要素の例示的な構成の簡略化されたブロック図である。
【0195】
ステレオ音声符号化システムおよびステレオ音声復号システムの各々は、モバイル端末の一部として、ポータブルメディアプレイヤーの一部として、または任意の同様のデバイスに実装され得る。(
図12の1200として特定される)ステレオ音声符号化システムおよびステレオ音声復号システムの各々は、入力1202、出力1204、プロセッサ1206、およびメモリ1208を含む。
【0196】
入力1202は、ステレオ音声符号化システムの場合にデジタルもしくはアナログ形式の入力ステレオ音声信号の左Lチャンネルおよび右Rチャンネルを受信するか、またはステレオ音声復号システムの場合にビットストリーム1001を受信するように構成される。出力1204は、ステレオ音声符号化システムの場合に多重化されたビットストリーム207/307を供給するか、またはステレオ音声復号システムの場合に復号された左チャンネルL'および右チャンネルR'を供給するように構成される。入力1202および出力1204は、共通のモジュール、たとえば、シリアル入力/出力デバイスに実装され得る。
【0197】
プロセッサ1206は、入力1202、出力1204、およびメモリ1208に動作可能なように接続される。プロセッサ1206は、
図2、
図3、
図4、
図8、
図9、
図13、
図14、
図15、
図16、
図17、および
図18に示されたステレオ音声符号化システムならびに
図10および
図11に示されたステレオ音声復号システムの各々の様々なモジュールの機能を支援するコード命令を実行するための1つまたは複数のプロセッサとして実現される。
【0198】
メモリ1208は、プロセッサ1206によって実行可能なコード命令を記憶するための非一時的なメモリ、特に、実行されるときにプロセッサに本開示において説明されるようにステレオ音声符号化方法およびシステムならびにステレオ音声復号方法およびシステムの動作およびモジュールを実施させる非一時的命令を含むプロセッサ可読メモリを含み得る。メモリ1208は、プロセッサ1206によって実行される様々な機能からの中間処理データを記憶するためのランダムアクセスメモリまたはバッファを含む可能性もある。
【0199】
当業者は、ステレオ音声符号化方法およびシステムならびにステレオ音声復号方法およびシステムの説明が例示的であるに過ぎず、限定的であるようにまったく意図されていないことを認識するであろう。その他の実施形態は、本開示の恩恵を受けるそのような当業者にそれらのその他の実施形態自体をすぐに示唆する。さらに、開示されるステレオ音声符号化方法およびシステムならびにステレオ音声復号方法およびシステムは、ステレオ音声を符号化および復号する既存のニーズおよび問題に対する価値ある解決策を提供するためにカスタマイズされ得る。
【0200】
明瞭にするために、ステレオ音声符号化方法およびシステムならびにステレオ音声復号方法およびシステムの実装の決まり切った特徴のすべてが示され、説明されている訳ではない。もちろん、ステレオ音声符号化方法およびシステムならびにステレオ音声復号方法およびシステムのいずれのそのような実際の実装の開発においても、アプリケーション、システム、ネットワーク、およびビジネスに関連する制約に準拠することなどの開発者の特定の目的を実現するために数多くの実装に固有の判断がなされる必要がある可能性があり、これらの特定の目的が実装毎および開発者毎に変わることは、理解されるであろう。さらに、開発の努力は複雑で、時間がかかる可能性があるが、それでもなお、本開示の恩恵を受ける音声処理の分野の通常の技術を有する者にとっては工学技術の日常的な仕事であることが、理解されるであろう。
【0201】
本開示によれば、本明細書において説明されたモジュール、処理動作、および/またはデータ構造は、様々な種類のオペレーティングシステム、計算プラットフォーム、ネットワークデバイス、コンピュータプログラム、および/または汎用機械を使用して実装され得る。加えて、当業者は、配線されたデバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)などのより汎用目的の性質の少ないデバイスも使用され得ることを認めるであろう。一連の動作および下位動作を含む方法がプロセッサ、コンピュータまたはマシンによって実装され、それらの動作および下位動作がプロセッサ、コンピュータ、またはマシンによって読み取り可能な一連の非一時的なコード命令として記憶され得る場合、それらの動作および下位動作は、有形のおよび/または非一時的な媒体に記憶される可能性がある。
【0202】
本明細書において説明されたステレオ音声符号化方法およびシステムならびにステレオ音声復号方法およびシステムのモジュールは、本明細書において説明された目的に好適なソフトウェア、ファームウェア、ハードウェア、またはソフトウェア、ファームウェア、もしくはハードウェアの任意の組合せを含み得る。
【0203】
本明細書において説明されたステレオ音声符号化方法およびステレオ音声復号方法において、様々な動作および下位動作は、様々な順序で実行される可能性があり、動作および下位動作の一部は、任意である可能性がある。
【0204】
本開示は本開示の非限定的な例示的実施形態として上で説明されたが、これらの実施形態は、本開示の精神および本質を逸脱することなく添付の請求項の範囲内で随意に修正され得る。
【0205】
参考文献
以下の参考文献は、本明細書において参照され、それらの参考文献のすべての内容は、参照により本明細書に組み込まれる。
[1] 3GPP TS 26.445, v.12.0.0,「Codec for Enhanced Voice Services (EVS); Detailed Algorithmic Description」,2014年9月
[2] M. Neuendorf, M. Multrus, N. Rettelbach, G. Fuchs, J. Robillard, J. Lecompte, S. Wilde, S. Bayer, S. Disch, C. Helmrich, R. Lefevbre, P. Gournayら,「The ISO/MPEG Unified Speech and Audio Coding Standard - Consistent High Quality for All Content Types and at All Bit Rates」,J. Audio Eng. Soc.,第61巻,第12号,956〜977頁,2013年12月
[3] B. Bessette, R. Salami, R. Lefebvre, M. Jelinek, J. Rotola-Pukkila, J. Vainio, H. Mikkola, およびK. Jarvinen,「The Adaptive Multi-Rate Wideband Speech Codec (AMR-WB)」,Special Issue of IEEE Trans. Speech and Audio Proc.,第10巻,620〜636頁,2002年11月
[4] R.G. van der WaalおよびR.N.J. Veldhuis,「Subband coding of stereophonic digital audio signals」,Proc. IEEE ICASSP,第5巻,3601〜3604頁,1991年4月
[5] Dai Yang, Hongmei Ai, Chris Kyriakakis, およびC.-C. Jay Kuo,「High-Fidelity Multichannel Audio Coding With Karhunen-Loeve Transform」,IEEE Trans. Speech and Audio Proc.,第11巻,第4号,365〜379頁,2003年7月
[6] J. Breebaart, S. van de Par, A. Kohlrausch, およびE. Schuijers,「Parametric Coding of Stereo Audio」,EURASIP Journal on Applied Signal Processing,第9号,1305〜1322頁,2005年
[7] 3GPP TS 26.290 V9.0.0,「Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Transcoding functions (Release 9)」,2009年9月
[8] Jonathan A. Gibbs,「Apparatus and method for encoding a multi-channel audio signal」,米国特許第8577045(B2)号