(58)【調査した分野】(Int.Cl.,DB名)
予測符号化することは、前記先行フレーム(320)の予測符号化のための少なくとも1つのパラメータを再使用して前記先行フレームを予測符号化することに関して制限された予測符号化パラメータを生成することを備える、請求項1または2に記載の符号化する方法。
【背景技術】
【0003】
音声音を低レートで効率的に符号化するために、CELPタイプ技術(「Code Excited Linear Prediction」)が推奨される。音楽音を効率的に符号化するために、代わりに、変換符号化技術が推奨される。
【0004】
CELPタイプの符号化器は、予測符号化器である。それらの目的は、声道をモデル化するための短期的な線形予測、発声期間中の声帯振動をモデル化するための長期的な予測、および、モデル化することができなかった「イノベーション」を表すための固定辞書(ホワイトノイズ、代数予測)から由来する励振のような様々な要素から音声生成をモデル化することである。
【0005】
たとえばMPEG AAC、AAC-LD、AAC-ELD、またはITU-T G.722.1 Annex Cのような変換符号化器は、変換領域における信号をパックするために、クリティカルサンプリング変換を使用する。「クリティカルサンプリング変換」は、変換された領域における係数の数が、分析された各フレームにおける時間サンプルの数に等しい変換を称する。
【0006】
ミックスされた音声/音楽コンテンツを伴う信号を効率的に符号化するための解決策は、一方がCELPタイプ、他方が変換タイプである少なくとも2つの符号化モード間のうちの最良の技術を経時的に選択することにある。
【0007】
それは、たとえば、(「Unified Speech Audio Coding」のための)3GPP AMR-WB+およびMPEG USACコーデックのためのケースである。AMR-WB+およびUSACによって目指されているアプリケーションは、会話的ではないが、アルゴリズム遅延に関する強い制約なく、サービスを記憶し普及させることに対応する。
【0008】
RM0(基準モデル0)と呼ばれるUSACコーデックの最初のバージョンは、M. Neuendorfらによる論文、A Novel Scheme for Low Bitrate Unified Speech and Audio Coding - MPEG RM0、2009年5月7日〜10日、第126回AESコンベンションに記載されている。このRM0コーデックは、いくつかの符号化モードを切り替える。
・音声タイプ信号の場合、AMR-WB+符号化に由来する2つの異なるモードを備えるLPDモード(「Linear Predictive Domain」の略)
- ACELPモード
- (FFT(「Fast Fourier transform」)を使用するAMR-WB+コーデックとは異なり)MDCTタイプ変換を使用するwLPT(「weighted Linear Predictive Transform」の略)と呼ばれるTCX(Transform Coded eXcitation)モード
・音楽タイプ信号の場合、1024サンプルにわたってMPEG AACタイプ(「Advanced Audio Coding」の略)のMDCT変換符号化(「Modified Discrete Cosine Transform」の略)を使用するFDモード(「Frequency Domain」の略)。
【0009】
USACコーデックでは、LPDモードとFDモードとの間の移行は、各モード(ACELP、TCX、FD)が(アーティファクトの観点から)特定の「シグネチャ」を有することと、FDモードとLPDモードとが本質的に異なること、すなわち、FDモードは信号領域における変換符号化に基づく一方、LPDモードは、正しく管理するためにフィルタメモリを用いて、知覚的に重み付けられた領域において予測線形符号化を使用することを認識して、流れを切り替えることなく十分な品質を保証するために重要である。USAC RM0コーデックにおけるインターモーダル切替管理は、J. Lecomteらによる論文、「Efficient cross-fade windows for transitions between LPC-based and non-LPC based audio coding」、2009年5月7日〜10日、第126回AESコンベンションに詳述されている。この論文において説明されるように、主な困難は、LPDモードからFDモードへの、おおびその逆の移行である。本明細書では、CELPからFDへの移行のケースのみが考慮される。
【0010】
それがどのように機能するのかを十分に理解するために、MDCT変換符号化の原理が、開発の典型例を通じて思い出される。
【0011】
符号化器において、MDCT変換は、典型的に、3つのステップへ分割され、信号は、MDCT符号化の前に、M個のサンプルのフレームへ分割される。
・本明細書では「MDCTウィンドウ」と呼ばれる長さ2Mを有するウィンドウによって信号を重み付けるステップ。
・長さMを有するブロックを形成するための時間領域エイリアシングステップ。
・長さMを用いたDCT変換(「Discrete Cosine Transform」の略)ステップ。
【0012】
MDCTウィンドウは、本明細書において「クォータ」と呼ばれる、等しい長さM/2を有する4つの隣接部分へ分割される。
【0013】
信号は、分析ウィンドウによって乗じされ、その後、エイリアシングが実行される。(ウィンドウ化された)第1のクォータは、第2のクォータ上にエイリアシングされ(すなわち、時間反転およびオーバラップされ)、第4のクォータが、第3のクォータ上にエイリアシングされる。
【0014】
さらに詳しくは、別のクォータ上におけるクォータの時間領域エイリアシングは、以下のように実行される。第2のクォータの第1のサンプルへ追加される(または、第2のクォータの第1のサンプルから引かれる)第1のクォータの最後のサンプルまで、第1のクォータの第1のサンプルが、第2のクォータの最後のサンプルへ追加され、(または、第1のクォータの第1のサンプルが、第2のクォータの最後のサンプルから引かれ、)第1のクォータの第2のサンプルが、第2のクォータの最後から2番目のサンプルへ追加され(または、第1のクォータの第2のサンプルが、第2のクォータの最後から2番目のサンプルから引かれ)るという具合である。
【0015】
したがって、4つのクォータから、2つのエイリアシングされたクォータが取得される。ここで、各サンプルは、符号化する2つの信号サンプルの線形結合の結果である。
この線形結合は、時間領域エイリアシングを引き起こす。
【0016】
その後、エイリアシングされた2つのクォータは、(タイプIVの)DCT変換後、統合的に符号化される。後続するフレームについて、ウィンドウの半分までのシフト(すなわち、50%のオーバラップ)があり、先行フレームの第3および第4のクォータは、その後、現在のフレームの第1および第2のクォータとなる。エイリアシング後、同じサンプルペアの第2の線形結合が、先行フレームにおけるものと同様であるが、異なる重みで送信される。
【0017】
したがって、復号器では、DCT変換後、これらエイリアシングされた信号の復号されたバージョンが取得される。2つの連続するフレームは、同じクォータの2つの異なるエイリアシングイベントに関する結果を含む。すなわち、各サンプルペアについて、異なっているが既知である重みを有する2つの線形結合に関する結果が存在し、入力信号の復号されたバージョンを取得するために、方程式系が解かれ得、したがって、2つの連続する復号されたフレームを使用して、時間領域エイリアシングが除去され得る。
【0018】
言及された方程式系を解くステップは、一般に、思慮深く選択された合成ウィンドウによる乗算を展開し、その後、2つの連続する復号されたフレーム間に共通部分を(量子化誤りによる不連続なしで)追加およびオーバラップすることによって暗黙的に実行される。この動作は、まったくオーバラップ追加のように振る舞う。第1のクォータまたは第4のクォータのためのウィンドウが、各サンプルについてゼロにある場合、それは、ウィンドウのこの部分における時間領域エイリアシングのないMDCT変換と称される。このケースでは、スムーズな移行はMDCT変換によって保証されず、たとえば外部オーバラップ追加のような他の手段によってなされねばならない。
【0019】
変換するためのブロックを時間領域エイリアシングする途中で、特にDCT変換を定義するために、MDCT変換のための実施の変形がある(たとえば、左および右にエイリアシングされたクォータへ適用されたサインが反転され得る、または、第2および第3のクォータが、第1および第4のクォータ各々においてエイリアシングされ得る)ことなどが注目されるべきである。これらの変形は、ウィンドウ化し、時間領域エイリアシングし、その後、変換し、最後にウィンドウ化し、エイリアシングし、追加オーバラップすることによって、サンプルブロック低減によって、MDCT分析合成原理を変えない。
【0020】
Lecomteらによる論文に記載されたUSAC RM0符号化器のケースでは、ACELP符号化によって符号化されたフレームと、FD符号化によって符号化されたフレームとの間の移行は、以下の方式で実行される。
【0021】
FDモードのための移行ウィンドウが、128のサンプルの左へのオーバラップとともに使用される。
【0022】
このオーバラップエリアにおける時間領域エイリアシングは、再構築されたACELPフレームの右へ、人工的な時間領域エイリアシングを導入することによってキャンセルされる。移行のために使用されるMDCTウィンドウは、2304のサンプルのサイズを有し、DCT変換は、1152のサンプルに対して演算する一方、通常、FDモードフレームは、2048のサンプルのサイズと、1024のサンプルのDCT変換とを有するウィンドウを用いて符号化される。したがって、通常のFDモードのMDCT変換は、移行ウィンドウのために直接的に使用可能ではなく、符号化器はまた、この変換の修正されたバージョンを統合する必要がある。これは、FDモードのための移行実施を複雑にする。
【0023】
最先端技術からのこの符号化技術は、100〜200ミリ秒程度のアルゴリズム遅延を有する。この遅延は、符号化遅延が、一般に、モバイルアプリケーションのための音声符号化器(たとえば、GSM(登録商標) EFR、3GPP AMR、およびAMR-WB)の場合、20〜25ミリ秒程度であり、ビデオ会議のための会話的な変換符号化器(たとえば、UIT-T G.722.1 Annex CおよびG.719)の場合、40ミリ秒程度の会話的なアプリケーションとの互換性がない。さらに、DCT変換サイズの増加(2304対2048)は、時折、移行の瞬間における複雑さのピークを引き起こす。
【0024】
これらの欠点を克服するために、その内容が本願に参照によって組み込まれている国際特許出願WO2012/085451は、移行フレームの符号化の新たな方法を提案する。移行フレームは、予測符号化によって符号化された先行フレームに続く変換符号化された現在のフレームとして定義される。上述された新たな方法に従って、たとえば、12.8GHzにおけるCELP符号化のケースにおいて、5ミリ秒のサブフレーム、および、16kHzにおけるCELP符号化のケースにおいて、各4ミリ秒の2つの追加のCELPフレームのような移行フレームの一部が、先行フレームを予測符号化するステップに関して制限された予測符号化によって符号化される。
【0025】
制限された予測符号化は、たとえば、線形予測フィルタ係数のような予測符号化によって符号化された先行フレームの安定したパラメータを使用するステップと、移行フレームにおける追加のサブフレームのためのいくつかの最小パラメータのみを符号化するステップとにある。
【0026】
先行フレームは、変換符号化で符号化されてないので、フレームの前半における時間領域エイリアシングをキャンセルすることは不可能である。上述した特許出願WO2012/085451はさらに、通常はエイリアシングされる第1のクォータにおいて時間領域エイリアシングを有さないように、MDCTウィンドウの前半を修正することを提案する。分析/合成ウィンドウの係数を修正することによって、復号されたCELPフレームと復号されたMDCTフレームとの間のオーバラップ追加の部分を統合することも提案される。上述した出願からの
図4eを参照して示すように、鎖点線(点線と破線とが交互する線)は、MDCT符号化エイリアシング線(上図)とMDCT復号エイリアシング線(下図)とに対応する。上図において、太線は、符号化器入力において、新たなサンプルのフレームを分離する。新たなMDCTフレームを符号化するステップは、新たな入力サンプルのために定義されたようなフレームが完全に利用可能である場合に開始され得る。符号化器におけるこれら太線は、現在のフレームに対応せず、各フレームのために新たなサンプルの2つの連続するブロックが到着し、現在のフレームは、実際、「ルックアヘッド」と命名された、予測に対応する8.75ミリ秒遅延されることに注目することが重要である。下図において、太線は、復号器出力において、復号されたフレームを分離する。
【0027】
符号化器では、移行ウィンドウは、エイリアシングポイントまでヌルである。したがって、エイリアシングされたウィンドウの左部分の係数は、非エイリアシングウィンドウのものと同一である。エイリアシングポイントと、この移行(TR)CELPサブフレームの終了との間の部分は、シヌソイド半ウィンドウに対応する。復号器では、展開後、同じウィンドウが信号へ適用される。エイリアシングポイントと、MDCTフレームの開始との間のセグメントでは、ウィンドウ係数は、sin
2ウィンドウに対応する。復号されたCELPサブフレームと、MDCTから生じる信号との間の追加オーバラップを保証するために、オーバラップにおけるCELPサブフレームの一部へcos
2タイプのウィンドウを適用し、後者をMDCTフレームと総和することのみが必要とされる。この方法は、完全な再構築である。
【0028】
しかしながら、出願WO2012/085451は、単一のサブフレームへ繰り下げられた古典的なフレームをCELP符号化するために必要とされるバジェットに対応するCELPサブフレームを符号化するためにビットバジェットB
transを割り当てるステップを提供する。移行フレームを変換符号化するための残りのバジェットは、その後、不十分となり、低レートにおける品質低下に至り得る。
【発明の概要】
【課題を解決するための手段】
【0031】
本発明は、この状況を改善する。
【0032】
この目的のために、本発明の第1の態様は、移行フレームを符号化するために、ビットの分散を決定する方法に関する。この方法は、デジタル信号を符号化/復号するための符号化器/復号器において実施される。移行フレームは、予測的に符号化された先行フレームによって先行され、この移行フレームを符号化するステップは、移行フレームの単一のサブフレームを変換符号化および予測符号化するステップを備える。この方法はさらに、以下のステップを備える。
- 移行サブフレームを予測符号化するためのビットレートを割り当てるステップであって、ビットレートは、移行フレームを変換符号化するためのビットレートと、あらかじめ決定された第1のビットレート値とのうちの最小に等しい、ステップ。
- ビットレートのための移行サブフレームを予測符号化するために割り当てられる第1のビットの数を決定するステップ。
- 第1のビットの数と、移行フレームを符号化するために利用可能なビットの数とから、移行フレームを変換符号化するために割り当てられる第2のビットの数を計算するステップ。
【0033】
したがって、予測符号化ビットレートは、最大値によって抑制される。予測符号化のために割り当てられるビットの数は、このビットレートに依存する。ビットレートが弱くなるほど、符号化のために割り当てられるビットの数も減るので、移行フレームを変換符号化するための最小の残りバジェットが保証される。
【0034】
さらに、サブフレームを予測符号化するために割り当てられるビットの数は、変換符号化ビットレートに関して最適化される。実際、移行フレームを変換符号化するためのビットレートが、あらかじめ決定された第1の値よりも低いのであれば、予測符号化のためのビットレートと、変換符号化のためのビットレートとは同一である。したがって、生成される信号コヒーレンスが改善される。これは、復号器において受信されたフレームを符号化(チャネル符号化)して処理する後続ステップを単純化する。
【0035】
別の実施形態では、符号化器/復号器は、第1の周波数において、信号フレームを予測符号化/復号するための第1のコアワーキングと、第2の周波数において、信号フレームを予測符号化/復号するための第2のコアワーキングとを備える。あらかじめ決定された第1のビットレート値は、予測符号化された先行フレームを符号化/復号するために、第1および第2のコアから選択されたコアに依存する。
【0036】
符号化器/復号器コアのワーキング周波数は、入力デジタル信号を正しく表現するために必要とされるビットの数に影響を有する。たとえば、いくつかのワーキング周波数の場合、コアによって間接的に処理される周波数帯域を符号化するために、追加のビットが提供される必要がある。
【0037】
実施形態では、第1のコアが、予測符号化された先行コアを符号化/復号するために選択された場合、割り当てられるビットレートはまた、変換符号化された移行フレームのビットレートと、あらかじめ決定された第2のビットレート値とのうちの最大に等しく、第2の値は、第1の値よりも低い。したがって、符号化された異なるフレーム間でのレート差が大きすぎることを阻止するために、最小ビットレートが保証される。
【0038】
別の実施形態では、デジタル信号が、少なくとも1つの周波数低帯域と1つの周波数高帯域へと分解される。この状況において、計算された第1のビットの数は、周波数低帯域のための移行フレームを予測符号化するために割り当てられる。したがって、あらかじめ決定された第3のビットの数は、周波数高帯域のための移行サブフレームを符号化するために割り当てられる。さらに、その後、あらかじめ決定された第3のビットの数から、移行フレームを変換符号化するために割り当てられる第2のビットの数が決定される。したがって、復号時に復元された信号の品質を犠牲にすることなく、入力信号の全体的な周波数スペクトルを効率的に符号化することが可能である。
【0039】
実施形態では、移行フレームを符号化するために利用可能なビットの数が固定される。これは、符号化ステップの複雑さを低減する。
【0040】
別の実施形態では、第2のビットの数は、移行フレームを符号化するための固定されたビットの数から、第1のビットの数を引き、第3のビットの数を引いたものに等しい。したがって、移行フレームにおけるビットの分散の最終決定は、すべての値を引くことに限定される。これは、符号化を単純化する。
【0041】
あるいは、第2のビットの数は、移行フレームを符号化するための固定されたビットの数から、第1のビットの数を引き、第3のビットの数を引き、第1のビットを引き、第2のビットを引いたものに等しい。第1のビットは、移行サブフレームのための予測符号化パラメータの決定中に低パスフィルタリングが実行されるか否かを示す。これらパラメータは、音色リードタイムに関連する。第2のビットは、移行サブフレームを予測符号化/復号するために符号化器/復号器コアによって使用される周波数を示す。そのようなインジケーションは、より柔軟性のある符号化を可能にする。
【0042】
本発明の第2の態様は、予測符号化に従って、または、変換符号化に従って、信号フレームを符号化することができる符号化器においてデジタル信号を符号化する方法に関し、以下のステップを備える。
*予測符号化に従ってデジタル信号サンプルの先行フレームを符号化するステップ。
*デジタル信号サンプルの現在のフレームを移行フレームへ符号化するステップであって、移行フレームを符号化するステップは、移行フレームの単一のサブフレームを変換符号化および予測符号化するステップを備え、現在のフレームを符号化するステップは、以下のサブステップを備える。
- 本発明の第1の態様に従う方法によってビットの分散を決定するステップ。
- 割り当てられた第2のビットの数において移行フレームを変換符号化するステップ。
- 割り当てられた第1のビットの数において移行サブフレームを予測符号化するステップ。
【0043】
したがって、移行フレームに備えられたビットの分散を決定するステップは、符号化の前に決定される。以下に記載されるように、ビットの分散を決定するステップは、復号器において複製可能である。これは、この分散に関する明確な情報の送信を阻止する。
【0044】
さらに、この符号化は、この移行フレーム内の予測符号化と変換符号化との間の平準化された分散を保証する。
【0045】
実施形態では、予測符号化は、移行フレーム内のビットの分散中に割り当てられたビットレートのために決定された予測符号化パラメータを生成するステップを備える。そのような予測パラメータの使用は、予測符号化のために割り当てられたビットレートと、変換符号化のために割り当てられた残りのレートとの間の比率を最適化し、したがって、再構築された信号の品質を最適化することを可能にする。確かに、一定の品質において、この予測パラメータまたは別の予測パラメータに起因するビットの数は、予測符号化のために割り当てられたビットレートに関して非線形的に比例して変動し得る。
【0046】
別の実施形態では、予測符号化は、先行フレームの少なくとも1つの予測符号化パラメータを再使用することによって、先行フレームを予測符号化するステップに関して制限された予測符号化パラメータを生成するステップを備える。したがって、復号されると、復号する移行サブフレームの復号を完了するために、追加情報が、先行フレームから抽出される。これは、移行サブフレームを予測符号化するために確保されねばならないビットの数を低減する。
【0047】
先行フレームからのパラメータを再使用するステップと、移行フレームを変換符号化するためのビットレートを割り当てるステップとを結合することによって、低コストでのコヒーレントな移行を保証することが可能となる。
【0048】
本発明の第3の態様は、予測符号化と変換符号化とによって符号化されたデジタル信号を復号する方法に関し、以下のステップを備える。
*予測符号化に従って符号化されたデジタル信号サンプルの先行フレームを予測復号するステップ。
*デジタル信号サンプルの現在のフレームを符号化する移行フレームを復号するステップであって、移行フレームの単一のサブフレームを変換符号化および予測符号化するステップを備える移行フレームを含み、以下のサブステップを備える。
- 本発明の第1の態様に従う方法によって、ビットの分散を決定するステップ。
- 割り当てられた第1のビットの数において移行サブフレームを予測復号するステップ。
- 割り当てられた第2のビットの数において移行フレームを変換復号するステップ。
【0049】
上述したように、移行フレームにおけるビットの分散を決定する方法は、復号器において直接的に複製可能である。確かに、ビットの分散は、変換符号化された移行の一部からのビットレートのみから決定される。したがって、ビットの分散を決定するステップを実施するために何ら追加のビットは必要とされず、よって、帯域幅節約がなされる。
【0050】
本発明の第4の態様はさらに、上述された発明の態様に従う方法を実施するための命令がプロセッサによって実行された場合、これらの命令を備えるコンピュータプログラムを目指している。
【0051】
本発明の第5の態様は、移行フレームを符号化するためのビットの分散を決定するためのデバイスに関し、このデバイスは、デジタル信号を符号化/復号するための符号化器/復号器において実施され、移行フレームは、予測符号化された先行フレームによって先行され、移行フレームを符号化するステップは、移行フレームの単一のサブフレームを変換符号化および予測符号化するステップを備え、移行フレームを符号化するためのビットの数は固定され、デバイスは、以下の動作を実行するために構成されたプロセッサを備える。
- 移行サブフレームを予測符号化するためのビットレートを割り当てる動作。このビットレートは、移行フレームを変換符号化するためのビットレートと、あらかじめ決定された第1のビットレート値とのうちの最小に等しい。
- ビットレートのための移行サブフレームを予測符号化するために割り当てられる、割り当てられる第1のビットの数を決定する動作。
- 符号化パラメータを符号化するために必要とされる第1のビットの数と、移行フレームを符号化するための固定されたビットの数とから、移行フレームを変換符号化するために割り当てられる第2のビットの数を計算する動作。
【0052】
本発明の第6の態様はさらに、予測符号化に従って、または、変換符号化に従って、デジタル信号のためのフレームを符号化することができる、以下を備える符号化器を目指している。
*本発明の第5の態様に従うデバイス。
*以下の動作を実行するために構成されたプロセッサを備える予測符号化器。
- 予測符号化に従って、デジタル信号サンプルの先行フレームを符号化する動作。
- デジタル信号サンプルの現在のフレームを符号化する移行フレームに備えられた単一のサブフレームを予測符号化する動作。移行フレームを符号化する動作は、サブフレームを変換符号化および予測符号化する動作を備え、プロセッサは、割り当てられた第1のビットの数において移行サブフレームのための予測符号化動作を実行するために構成される。
*割り当てられた第2のビットの数において移行フレームを変換符号化するために構成されたプロセッサを備える変換符号化器。
【0053】
本発明の第7の態様はさらに、予測符号化および変換符号化によって符号化されたデジタル信号のための、以下を備える復号器を目指している。
*本発明の第5の態様に従うデバイス。
*以下の動作を実行するために構成されたプロセッサを備える予測復号器。
- 予測符号化に従って符号化されたデジタル信号サンプルの先行フレームを予測復号する動作。
- デジタル信号サンプルの現在のフレームを符号化する移行フレームに備えられた単一のサブフレームを予測復号する動作。移行フレームを符号化する動作は、サブフレームを変換符号化および予測符号化する動作を備え、プロセッサは、割り当てられた第1のビットの数において移行サブフレームを予測復号する動作を実行するために構成される。
*割り当てられた第2のビットの数において移行フレームを変換符号化するために構成されたプロセッサを備える変換復号器。
【0054】
本発明の他の特徴および利点は、以下の詳細な説明と添付図面とを検討して明らかになるであろう。
【発明を実施するための形態】
【0056】
図1は、本発明の実施形態に従うオーディオ符号化器100を例示する。
【0057】
図2は、本発明の実施形態に従って、
図1のオーディオ符号化器100によって実施される符号化の方法のステップを例示する図である。
【0058】
符号化器100は、ステップ201において、与えられた周波数fs(たとえば、8、16、32、または48kHz)において、たとえば20ミリ秒のサブフレームへ分解された入力信号サンプルを受信するための受信ユニット101を備える。
【0059】
現在のフレームを受信すると、前処理ユニット102は、ステップ202において、少なくとも1つのLPDモードと1つのFDモードとのうち、現在のフレームを符号化するために最も適切である符号化モードを選択することができる。以下の記載では、例示的な目的のために、FDモードのためにMDCT符号化が使用されることと、LPDモードのためにCELP符号化が使用されることとが考慮される。LPDモードおよびFDモード各々のために適用される符号化技術に制限はない。したがって、CELPモードおよびMDCTモードだけではないモードが使用され得、たとえば、CELP符号化が、別のタイプの予測符号化と交換され得、MDCT変換が、別のタイプの変換と交換され得る。
【0060】
本明細書では、たとえば、あらかじめ定義されたリストから選択されたモードを示す固定長さの符号化を用いて、ブロック206によって、フレームタイプが明確に送信されることが仮定される。本発明の変形において、各フレームにおいて選択されたこのモードのための符号化は、可変長からなり得る。CELP符号化タイプ(12.8または16kHz)は、移行フレームを復号することを容易にするように、ビットによって明確に送信され得ることもまた規定される。
【0061】
ステップ203は、ステップ202においてCELP符号化が選択されたことを確認する。LPDモードが選択されたケースでは、ステップ204において、CELPフレームを符号化するために、信号フレームがCELP符号化器103へ送信される。CELP符号化器は、たとえば、12.8kHzおよび16kHzにおいて固定された2つの各々の内部サンプリング周波数において動作する2つの「コア」を使用し得る。これは、(周波数fsにおける)12.8または16kHzの内部周波数におけるエントリ信号のサンプリングの使用を必要とする。そのような再サンプリングは、前処理ブロック102またはCELP符号化器103における再サンプリングユニットにおいて実施され得る。その後、フレームは、一般に、信号カテゴリ化に依存してCELPパラメータを差し引くことによって、CELP符号化器103によって予測符号化される。CELPパラメータは、典型的には、LPC係数、固定および適応性利得ベクトル、適応性辞書ベクトル、固定辞書ベクトルを含む。このリストはまた、UIT-T G.718符号化のような、フレームにおける信号カテゴリに基づいて修正され得る。したがって、このようにして計算されたパラメータはその後、ステップ206において、送信ユニット108によって、量子化され、多重化され、復号器へ送信され得る。LPC係数、固定および適応性利得ベクトル、適応性辞書ベクトル、固定辞書ベクトル、およびCELP復号器状態のようなCELP符号化パラメータはさらに、現在のフレームに続くフレームがMDCT移行フレームであるケースにおいて、ステップ205において、メモリ107に記憶され得る。
【0062】
以下に説明されるように、現在のフレームがCELPタイプからなる場合、高帯域に関連付けられた符号化を用いて帯域拡張も実行され得る。
【0063】
ステップ203において、ユニット102によって、MDCT符号化が選択されたケースでは、ステップ207において、現在のフレームに先行するフレームが、MDCT変換符号化されたことが確認される。現在のフレームに先行するフレームがMDCT変換符号化されたケースでは、ステップ208において、現在のフレームをMDCT変換符号化するために、現在のフレームが、MDCT符号化器105へ直接的に送信される。MDCT符号化器は、たとえば、20ミリ秒のフレームおよび8.75ミリ秒のルックアヘッドを含む28.75ミリ秒の非再サンプル信号をカバーするフレームを符号化し得る。MDCTウィンドウサイズに制限はない。さらに、入力信号の再サンプリングによるCELP符号化器遅延に対応する遅延が、MDCT符号化器によって符号化されたフレームへ適用され、このようにして、MDCTフレームとCELPフレームとが同期される。符号化器におけるそのような遅延は、CELP符号化前の再サンプリングタイプに従って0.9375ミリ秒であり得る。MDCT変換符号化フレームは、ステップ206において復号器へ送信される。
【0064】
MDCT符号化がユニット102によって選択されたケースにおいて、および、現在のフレームに先行するフレームが、予測符号化されたケースにおいて、現在のフレーム、移行フレーム、および移行ユニット104へ送信される。以下に記載されるように、MDCT移行フレームは、追加のCELPサブフレームを備える。
【0065】
移行ユニット104は、以下のステップを実施することができる。
- ステップ209において、現在のフレームをMDCT符号化するために利用可能なバジェットを定義するように、移行CELPサブフレームを符号化するために必要とされるビットのバジェットを予測するステップ。以下に詳述されるように、バジェットは、現在のフレームレートに依存し得る。さらに、バジェットは、使用されるCELPコアに依存して評価され得る。MDCT符号化の品質を下げないために十分なビットバジェットを確保するために、本発明は、CELPサブフレームのための符号化レートを制限するステップを提供し得る。この目的のために、それは、
図7のデバイス700のように、移行フレームにおけるビットの分散を決定するためのデバイスを備える。
- ステップ210において、以下に記載される
図3に準拠する符号化器において使用されるMDCTウィンドウを修正するステップ。
- 先行フレームはCELPフレームであるので、ステップ207において、MDCT変換メモリをゼロにするステップ。同様にして、MDCTメモリは、MDCT復号において無視され得る。
【0066】
実施形態では、これらステップのうちの少なくとも1つが、以下に記載される移行フレーム符号化ユニット106によって実行される。
【0067】
移行MDCTフレームは、以下に記載されるように、そして、ステップ209において割り当てられたビットのバジェットに基づいて、ステップ212において、MDCT符号化器105によって符号化される。追加のCELPサブフレームはまた、
図3を参照して以下に記載されるように、および、ステップ209において割り当てられたビットバジェットに依存して、ステップ213において、CELP符号化器103によって符号化される。CELP符号化は、MDCT符号化の前または後に実行され得る。
【0068】
図3は、符号化前の符号化器における、および、復号前の復号器における、CELPフレームとMDCTフレームとの間の移行を図示する。
【0069】
符号化するためのフレーム301は、符号化器100において受信され、CELP符号化器103によって符号化される。その後、現在のフレーム302が、MDCT変換符号化されるために、符号化器100の入力によって受信される。したがって、それは移行フレームである。符号化器の入力によって受信された後続フレーム303もまた、MDCT変換符号化される。本発明に従って、後続フレーム303は、CELP符号化によって符号化され得、後続フレーム303のために使用される符号化について制限はない。
【0070】
非対称MDCTウィンドウ304が、現在のフレームを符号化するために使用され得る。このウィンドウ304は、14.375ミリ秒の上昇端307と、11.25ミリ秒の1における利得を伴う水平部と、ルックアヘッドに対応する8.75ミリ秒の下降端309と、5.265ミリ秒のヌル部分310とを図示する。ヌル部分310を追加するステップによって、ルックアヘッドを低減し、したがって、対応する遅延を低減することが可能となる。実施形態では、MDCT符号化のためのこのMDCT分析ウィンドウの形式は、たとえば、ルックアヘッドのさらなる低減のために、または、特許出願WO2012/085451において与えられた例を用いて対称ウィンドウを使用するために修正される。
【0071】
破線312は、MDCTウィンドウ304の中間を表す。線312の両側において、MDCTウィンドウ212の10ミリ秒のクォータが、導入部に記載されているようにエイリアシングされる。連続線311は、MDCTウィンドウ304の第1のクォータと第2のクォータとの間のエイリアシングエリアを示す。後続フレーム303のMDCTウィンドウは、306と称され、MDCTウィンドウ304の下降端309に対応するMDCTウィンドウ304とのオーバラップ追加エリアを図示する。
【0072】
MDCTウィンドウ305は、MDCT変換符号化されているのであれば、先行ウィンドウへ適用されるであろうウィンドウを理論的に表す。しかしながら、先行フレーム301は、CELP符号化器103によって符号化されるので、復号器におけるMDCT変換符号化されたフレームの前半の展開を可能にするために、(先行MDCTフレームの後半は利用可能ではないので)ウィンドウは第1のクォータにおいてヌルであることが必要である。
【0073】
この目的のために、MDCTウィンドウ304は、ゼロにおいて第1のクォータを有するMDCTウィンドウ313によって修正され、復号器におけるMDCTフレームの前半における時間領域エイリアシングが可能となる。
【0074】
復号器では、分析ウィンドウ304、305、306、および313は、合成ウィンドウ324、325、326、および327に各々対応する。したがって、この合成ウィンドウは、対応する分析ウィンドウに関して時間反転される。本発明の変形では、分析ウィンドウおよび合成ウィンドウは、シヌソイドタイプまたは他のタイプからなり、同一であり得る。
【0075】
CELP符号化によって符号化された新たなサンプルの第1のフレーム320が、復号器において受信される。それは、このCELPフレーム301の符号化されたバージョンに対応する。本明細書では、復号されたフレームは、フレーム320に関して8.75ミリ秒シフトされることが思い出される。
【0076】
移行フレーム302の符号化されたバージョンが、その後受信される(符号321および222が、完全なフレームを形成する)。CELPフレーム320の終了と、(エイリアシング線に対応する)合成ウィンドウ327の上昇端の開始との間に、ギャップが生成される。本明細書において表される特定の例では、MDCTウィンドウのクォータは10ミリ秒であり、このCELPフレーム220をカバーする合成ウィンドウMDCT324のヌル部分は(MDCT分析ウィンドウ204の一部310に対応する)5.625ミリ秒であり、ギャップは4.275ミリ秒である。さらに、MDCTウィンドウ327の非ヌル部分の開始との、満足するオーバラップ追加長さを保証するために、このCELPフレーム320と、MDCTウィンドウ327の開始との間の遅延は、必要な長さへ延長される。以下の例では、例示的な目的のために、1.875ミリ秒の満足するオーバラップ追加長さが考慮され、したがって、
図2における符号321によって表されるように、(喪失信号長さに対応する)上述した遅延は、6.25ミリ秒まで高められる。
【0077】
図3において表される信号フレームは、CELP符号化/復号のケースにおいて12.8または16kHzの、および、MDCT符号化/復号のケースにおいてfsの、異なるサンプリング周波数における信号を含み得るが、復号器では、CELP合成の再サンプリングおよびMDCT合成の時間シフトの後、フレームは同期されたままとなり、
図3の表示は正確なままであることが注目されるべきである。
【0078】
以前に述べられたように、出願WO2012/085451は、12.8kHzのCELP符号化のケースでは、MDCT移行フレームの開始時に5ミリ秒の追加のCELPサブフレームを、16kHzのCELP符号化のケースでは、MDCT移行フレームの開始時に各4ミリ秒の2つの追加のCELPフレームを符号化することを提案する。
【0079】
12.8kHzのケースでは、6.25ミリ秒遅延は十分ではなく、オーバラップ追加は影響を受け、復号器では、0.625ミリ秒のオーバラップ追加しかない。これは不十分である。
【0080】
16kHzのケースでは、2つの追加のCELPサブフレームが、移行フレームの開始時において符号化される。これは、移行MDCTフレームを符号化するためにごくわずかなバジェットしか残さず、低レートにおける著しい品質低下に至り得る。
【0081】
これらの欠点を克服するために、本発明は、CELP符号化器103によって、12.8または16kHzにおいて単一の追加のCELPサブフレームを符号化することを提供し得る。上述した6.25ミリ秒長さにおける喪失信号を生成するために、以下に詳述されるように、復号器において追加のサンプルが生成される。
【0082】
移行CELPサブフレームを符号化するために、ユニット106は、先行CELPフレームの少なくとも1つのCELPパラメータを再使用し得る。たとえば、ユニット106は、移行CELPサブフレームの適応性辞書ベクトル、適応性利得、固定利得、および固定辞書ベクトルのみを符号化するために、先行CELPサブフレームの線形予測係数A(z)のみならず、(以前に記載されたようにメモリ107に記憶された)先行フレームイノベーションからのエネルギを再使用し得る。したがって、追加のCELPサブフレームが、先行CELPフレームと同じコア(12.8kHzまたは16kHz)を用いて符号化され得る。
【0083】
移行フレーム符号化ユニット106は、本発明に従って移行フレームを符号化することを保証する。本発明はさらに、符号化されたフレーム322が移行フレームであることを示す追加ビットのビットフローに、ユニット106による挿入を提供し得る。しかしながら、一般的なケースでは、この移行フレームインジケーションはまた、追加ビットを採ることなく、現在のフレーム符号化モードのグローバルなインジケーションで送信され得る。
【0084】
復号器における合成信号のサンプリング周波数は必ずしもCELPコア周波数と同一である必要はないので、本発明はさらに、このユニット106が、ステップ204および214において、後者が必要とされる場合、固定バジェットで信号高帯域を符号化すること(いわゆる「帯域拡張」の方法)を提供し得る。
【0085】
この目的のために、移行フレームの符号化ユニット106は、以下のステップを実施し得る。
- スペクトルの高い(使用されるCELPコアに対応する周波数よりも高い、すなわち6.4または8kHzよりも高い)部分を確保するために、高パスフィルタによって、CELP先行フレームおよび移行フレームのCELPサブフレームをフィルタするステップ。そのようなフィルタリングは、CELP符号化器103から、有限インパルス応答FIRを備えるフィルタによって実施され得る。
- 遅延パラメータを推定し、その後、利得(フィルタされたサブフレームに対応する信号と、遅延を適用することによって予測される信号との間の振幅差)を推定するために、オリジナルの移行CELPサブフレームのフィルタされた部分と、フィルタされた先行CELPフレームとの間の相関性を探索するステップ。
- たとえば、スカラ量子化を使用して遅延パラメータおよび前述した利得を符号化するステップ(たとえば、遅延は、6ビットにわたって符号化され得、利得は、6ビットにわたって符号化され得る)。
【0086】
前述したステップ209は、本発明の実施形態に従う移行符号化のためのビットの分散を決定する方法のステップを例示する図である
図4を参照してより詳細に例示される。前述された方法は、符号化器および復号器において同じ方式で実行されるが、例示目的のみのために、符号化器側において図示されている。
【0087】
ステップ400において、現在のフレームを符号化するために割り当てられ得るcore_brateとして注記される合計レート(ビット/秒における)は、MDCT符号化器の出力レートに等しく固定される。フレームの持続時間は、この例において20ミリ秒として考慮され、毎秒のフレームの数は50であり、ビットにおける合計バジェットは、core_brate/50に等しい。符号化レートへの適応が実施される場合、固定レート符号化器のケースにおいては、合計バジェットが固定され得、または、可変レート符号化器のケースにおいては、可変であり得る。以下では、core_brate/50の値で初期化されたnum_bits変数が使用される。
【0088】
ステップ401において、移行ユニット104は、この先行CELPフレームを符号化するために使用されている少なくとも2つのCELPコアから、CELPコアを決定する。以下の例では、12.8kHzおよび16kHzの周波数において各々動作する2つのCELPコアが考慮される。あるいは、符号化時および/または復号時に単一のCELPコアが実施される。
【0089】
先行CELPフレームのために使用されるCELPコアが12.8kHz周波数を有するケースでは、方法は、移行サブフレームをCELP符号化するために、cbrateとラベルされたビットレートを割り当てるステップ402を備える。このビットレートは、移行フレームのMDCT符号化のためのビットレートと、あらかじめ決定された第1のビットレート値とのうちの最小に等しい。あらかじめ決定された第1の値は、変換符号化のための満足するビットバジェットを保証することが可能な、たとえば24.4キロビット/秒に固定され得る。
【0090】
したがって、cbrate=min(core_bitrate、24400)である。この制限は、あたかもそれらが、高々24.40キロビット/秒でCELP符号化によって符号化されたかのように、符号化されたCELPパラメータを備える追加のサブフレームへ制限されたCELP符号化の動作を抑制することと等価である。
【0091】
オプションのステップ403において、割り当てられたビットレートが、11.60キロビット/秒のCELPビットレートと比較される。割り当てられたビットレートが、より高ければ、ビットは、適応性辞書を低パスフィルタするためのビットインジケーションを符号化するために確保され得る(たとえば、AMR-WB符号化の場合、12.65キロビット/秒以上のレートにおける)。num_bits変数が更新される。
num_bits:=num_bits-1
【0092】
ステップ404において、budg1とラベルされた第1のビットの数が、追加のCELPサブフレームを予測符号化するために割り当てられる。第1のビットの数budg1は、CELPサブフレームを符号化するために使用されるCELPパラメータを表すビットの数を表す。以前に詳述されたように、CELPサブフレームを符号化するステップは、制限された数のCELPパラメータが使用されることに制限され得、先行CELPフレームを符号化するために使用されるいくつかのパラメータが、有利に再使用される。
【0093】
たとえば、追加のCELPサブフレームを符号化するために励振のみがモデル化され得、したがって、ビットは、固定辞書ベクトルのため、適応性辞書ベクトルのため、および利得ベクトルのためにのみ確保される。これらパラメータの各々に起因するビットの数は、ステップ402において、この追加のCELPサブフレームを符号化するために割り当てられたビットレートから推定される。たとえば、Table 1/G722.2 - ITU-TのG.722.2の2003年7月バージョンから生じる20ミリ秒フレームのためのAMR-WB符号化アルゴリズムのためのビットの分散は、割り当てられたビットレートに依存するCELPパラメータによるビット割当の例を与える。
【0094】
以前の例において、サブフレームの符号化が制限される場合、budg1は、適応性辞書、固定辞書、および利得ベクトル各々へ起因するビットの合計に相当する。たとえば、割り当てられた19.85キロビット/秒のビットレートについては、前述のTable1/G722を参照することによって、9ビットが固定辞書(音色リードタイム)へ割り当てられ、7ビットが利得ベクトル(辞書利得)へ割り当てられる。このケースでは、budg1は88ビットに等しい。
【0095】
したがって、num_bits変数は更新され得る。
num_bits:=num_bits-budg1
【0096】
本発明はまた、CELPパラメータへのビットの割当におけるフレームカテゴリを考慮するステップを提供し得る。たとえば、2008年6月バージョン、セクション6.8および8.1におけるITU-TのG.718ノルムは、カテゴリ、または、非発声モード(UC)、発声モード(VC)、移行モード(TC)、および一般モード(GC)のようなモードに依存して、および、割り当てられたビットレート(8キロビット/秒および8+4キロビット/秒各々のレートに対応するレイヤ1またはレイヤ2)に依存して、各CELPパラメータへ割り当てるためのバジェットを与える。符号化器G.718は階層的な符号化器であるが、G 718カテゴリ化を使用するCELP符号化原理を、AMR-WBのマルチレート割当と結合することが可能である。
【0097】
ステップ401において、先行CELPフレームのために使用されるCELPコアが、16kHzの周波数を有すると判定されると、方法は、移行サブフレームをCELP符号化するために、cbrateとラベルされたビットレートを割り当てるステップ405を備え、ビットレートは、移行フレームをMDCT符号化するためのビットレートと、あらかじめ決定された第1のビットレートの値とのうちの最小に等しい。16kHzコアのケースでは、あらかじめ決定された第1の値は、たとえば、変換符号化のための満足するビットバジェットを保証することを可能にする22.6キロビット/秒に固定され得る。したがって、あらかじめ決定された第1の値は、先行CELPフレームを符号化するために使用されるCELPコアに依存する。さらに、16kHzコアを符号化するために、ビットレートをCELP符号化へ割り当てる場合に、しきい値が適用され得る。したがって、割り当てられたビットレートはさらに、変換符号化された移行フレームのためのビットレートと、あらかじめ決定された少なくとも1つの第2のビットレート値とのうちの最大に等しく、第2の値は、第1の値よりも低い。このレートのあらかじめ決定された第2の値は、たとえば14.8キロビット/秒であり得る。したがって、変換符号化された移行フレームのためのビットレートが、14.8キロビット/秒よりも低いのであれば、移行サブフレームをCELP符号化するために割り当てられたビットレートは、14.8キロビット/秒であり得る。
【0098】
補足的な実施形態において、変換符号化された移行フレームのビットレートが、8キロビット/秒よりも低いのであれば、割り当てられるレートは、8キロビット/秒であり得る。
【0099】
したがって、この補足的な実施形態に従って、以下のアルゴリズムが取得される。
If core_bitrate≦8000
cbrate=8000
Otherwise if core_bitrate≦14800
othercbrate=14800
Otherwise
cbrate= min(core_bitrate, 22600)
End if
【0100】
オプションのステップ407において、割り当てられたビットレートは、11.60キロビット/秒のCELPビットレートと比較される。割り当てられたビットレートがより高いのであれば、ビットは、適応性辞書の低パスフィルタリングビットインジケーションを符号化するために確保され得る。num_bits変数が更新される。
num_bits:=num_bits-1
【0101】
ステップ408において、ステップ404のものと同様に、第1のビットの数budg1が、追加のCELPサブフレームを予測符号化するために割り当てられ、budg1は、移行サブフレームをCELP符号化するために割り当てられたビットレートに依存する。
【0102】
様々なコア周波数における符号化に一般的であるステップ410において、budg2とラベルされ、移行フレームを変換符号化するために割り当てられる第2の数が、移行フレームの合計ビット数である第1のビットの数budg1から計算される。上記の計算に関して、budg2は、num_bits変数に等しい。一般に、現在の移行フレームのモードは、本明細書では、MDCT符号化バジェットへ帰属されると仮定され、したがって、この情報は、明確に考慮されない。
【0103】
先行ステップは、オーディオ信号が、少なくとも1つの周波数低帯域および1つの周波数高帯域へ分解されるケースにおいて、移行サブフレームの周波数低帯域を符号化するために実施され得る。異なるコア周波数における符号化にも一般的な、ステップ410に先行するオプションのステップ409において、方法は、移行サブフレームの周波数高帯域を符号化するために、budg3とラベルされたあらかじめ決定された第3のビットの数を割り当てるステップを備え得る。このケースでは、第2のビットの数budg2が、第1のビットの数budg1と、第3のビットの数budg3との両方から計算される。
【0104】
以前に説明されたように、移行サブフレームの周波数高帯域を符号化する(または、帯域を拡張する)ステップは、オーディオ信号の先行フレームと、移行サブフレームとの間の相関性に基づき得る。たとえば、周波数高帯域を符号化するステップは、2つのステップへ分解され得る。
【0105】
第1のステップにおいて、オーディオ信号の先行フレームと現在のフレームとが、スペクトルのより高い部分のみを維持するために、高パスフィルタによってフィルタされる。スペクトルの高い部分は、使用されているCELPコアのものよりも高い周波数に対応し得る。たとえば、使用されているCELPコアが、12.8kHzのCELPコアであれば、高帯域は、12.8kHzよりも低い周波数がフィルタされたオーディオ信号に対応する。そのようなフィルタリングは、FIRフィルタによって実施され得る。
【0106】
第2のステップでは、先行フレームと現在のフレームとのフィルタされた部分間の相関性を探索するステップが実施される。そのような相関性探索は、遅延パラメータを、その後、利得を推定するステップを可能にする。利得は、現在のフレームのフィルタされた部分と、遅延を適用することによって予測される信号との間の振幅比に対応する。
【0107】
たとえば、利得のために6ビットが割り当てられ得、遅延のために6ビットが割り当てられ得る。その後、第3のビットの数budg3は、12に等しい。
【0108】
その後、num_bits変数が更新され得る。
num_bits:=num_bits-budg3。
【0109】
その後、第2のビットの数budg2は、更新されたnum_bits変数に等しい。
【0110】
図5は、本発明の実施形態に従うオーディオ復号器500を例示し、
図6は、
図5のオーディオ復号器500において実施される、本発明の実施形態に従う復号の方法のステップを例示する図である。
【0111】
復号器500は、ステップ601において、
図1の符号化器100から生じた符号化されたデジタル信号(またはビットフロー)を受信するための受信ユニット501を備える。ビットフローは、現在のフレームがCELPフレーム、MDCTフレーム、または移行フレームであるかをステップ602において判定することができるカテゴリ化ユニット502へ発行される。この目的のために、カテゴリ化ユニット502は、現在のフレームが移行フレームであるか否かを示すビットフロー情報と、CELPフレームまたは移行CELPサブフレームを復号するためにどのCELPコアを使用するのかを示す情報とから、ビットフローを差し引くことができる。
【0112】
ステップ603において、現在のフレームが移行フレームであることが確認される。
【0113】
現在のフレームが移行フレームではないのであれば、ステップ604において、現在のフレームがCELPフレームであることが確認される。そのケースであれば、フレームは、ステップ605においてCELPフレームを復号することができるCELP復号器504へ、カテゴリ化ユニット502によって示されるコア周波数で送信される。CELPフレームを復号した後、CELP復号器504は、後続するフレームが移行フレームであるケースにおいて、線形予測フィルタ係数A(z)のようなパラメータと、予測エネルギのような内部状態とを、ステップ606において、メモリ506に記憶し得る。
【0114】
CELP復号器504からの出力として、この信号は、ステップ607において、再サンプリングユニット505によって、復号器500の出力周波数で再サンプリングされ得る。本発明の実施形態では、再サンプリングユニットは、FIRフィルタを備え、再サンプリングは、(たとえば)1.25ミリ秒の遅延をもたらす。実施形態では、後処理が、再サンプリングの前または後に、CELP復号へ適用され得る。
【0115】
上述されたように、実施形態では、現在のフレームがCELPタイプである場合、高帯域に関連付けられた復号を用いて、ステップ6071および6151において、帯域拡張の管理ユニット5051によって、帯域の拡張も実行され得る。高帯域は、その後、潜在的に、低帯域においてCELP合成へ適用された追加の遅延とともにCELP符号化へ結合される。
【0116】
CELP復号器によって復号され、再サンプリングされ、潜在的には、再サンプリングの前または後に後処理された信号は、ステップ608において、復号器の出力インターフェース510へ送信される。
【0117】
復号器500はさらに、MDCT復号器507を備える。現在のフレームがMDCTフレームであることがステップ604において判定されたケースでは、MDCT復号器507は、ステップ609において古典的な方式でMDCTフレームを復号することができる。さらに、CELP復号器504から生じる信号の再サンプリングアプリケーションのために必要な遅延に対応する遅延は、ステップ610において、MDCT合成をCELP合成と同期するように、遅延ユニット508によって出力された復号器において適用される。MDCTによって復号され、遅延された信号は、ステップ608において復号器の出力インターフェース510へ送信される。
【0118】
現在のフレームが、ステップ603の後に、移行フレームであると判定されたケースでは、ビットの分散を決定するためのデバイス503は、ステップ611において、移行フレームをCELP符号化するために割り当てられる第1のビットの数budg1と、移行フレームを変換符号化するために割り当てられる第2のビットの数budg3とを決定することができる。デバイス503は、
図7を参照して詳細に記載されたデバイス700に対応し得る。
【0119】
MDCT復号器507は、移行フレームを復号するために必要なレートを調節するための決定ユニット503によって計算された第3のビットの数budg3を使用する。MDCT復号器507はさらに、ステップ612において、MDCT変換のメモリをゼロにし、移行フレームを復号する。その後、MDCT復号器から生じる信号は、ステップ613において、遅延ユニット508によって遅延される。
【0120】
並行して、CELP復号器504は、ステップ614において、第1のビットの数budg1に基づいて、移行CELPサブフレームを復号する。この目的のために、CELP復号器504は、現在のフレームカテゴリに依存し得、たとえば、CELPサブフレームの適応性辞書、固定および利得辞書からのピッチ値を備えるCELPパラメータを復号し、線形予測フィルタ係数を使用する。さらに、CELP復号器504は、CELP復号状態を更新する。これらの状態は、典型的には、(移行CELPサブフレームを制限符号化するケースにおいて)12.8kHzまたは16kHzのCELPコアが使用されているかに従って、4ミリ秒または5ミリ秒にわたって信号サブフレームを生成するために、先行CELPフレームから生じる本イノベーションの予測エネルギを備え得る。
【0121】
以前に述べられたように、出願WO2012/085451は、12.8kHzのCELPコアの場合、5ミリ秒のサブフレームを、16kHzのCELPコアの場合、4ミリ秒の2つの追加のサブフレームを追加符号化するステップを提供する。
【0122】
図3を参照して説明したように、12.8kHzのケースでは、6.25ミリ秒の遅延は十分ではなく、オーバラップ追加が影響を受け、復号器は、0.625ミリ秒のオーバラップ追加しか有さない。これは不十分である。
【0123】
16kHzのケースでは、追加のCELPサブフレームが、移行フレームの開始時に符号化される。これは、移行MDCTフレームを符号化するためにごくわずかなバジェットしか残さず、現在のフレームにおいて「フルレート」においてMDCT符号化するステップに関して品質低下に至り得る。
【0124】
したがって、国際出願WO2012/085451の解決策は満足できるものではない。
【0125】
本発明の独立した態様は、単一の追加の移行CELPサブフレームから、移行CELPサブフレームを符号化するために使用される符号化パラメータを再使用することによって第2のサブフレームを部分的に生成するステップを提供する。したがって、この遅延は、十分なオーバラップ追加を保証することによって、そして、移行フレームのMDCT符号化レートに影響を与えることなく十分である。
【0126】
この目的のために、本発明はまた、符号化されたデジタル信号を、予測復号に従って、または、変換復号に従って、信号フレームを復号することができる復号器500において復号する方法Pを目指しており、この方法は、以下のステップを備える。
- 第1のデジタル信号フレームを符号化する予測符号化パラメータの第1のセットを、ステップ501において受信するステップ。
- 予測符号化パラメータの第1のセットに基づいて、第1のフレームをステップ605において予測復号するステップ。
- 新たなフレームのためにステップ501において、変換符号化された移行フレームの第1の移行サブフレームを予測符号化するためのパラメータの第2のセットを受信するステップ。
- ステップ614において、予測符号化パラメータの第2のセットに基づいて、第1の移行サブフレームを復号するステップ。
- ステップ614において、第2のセットの少なくとも1つの予測符号化パラメータから、第2の移行サブフレームからのサンプルを生成するステップ。
【0127】
本発明はさらに、復号する方法Pを実施するための復号器500のみならず、復号する方法Pを実行するための命令がプロセッサによって実行された場合、これらの命令を備えるコンピュータプログラムをも目指している。
【0128】
第2のサブフレームを生成するために再使用されるCELPパラメータは、利得ベクトル、適応性辞書ベクトル、および固定辞書ベクトルであり得る。
【0129】
復号する方法Pの実施形態に従って、変換復号のために最小オーバラップ値があらかじめ定義され得、第2のサブフレームから生成されたサンプルの数が、最小オーバラップ値に基づいて決定される。この最後のサブフレームは、第1のサブフレームにおけるものと同じピッチ遅延および同じ適応性辞書利得を用いてピッチ予測を繰り返すステップと、同じLPC係数および非強調または非アクセントを用いて合成LPCフィルタリングを実行するステップとによって、CELP合成を延長することによって、追加の情報なしで生成され得る。
【0130】
その後、第2のCELPサブフレームは、単に、12.8kHzのCELPコアのケースにおいては1.25ミリ秒の信号を、16kHzのCELPコアのケースにおいては2.25ミリ秒の信号を確保するように、切り詰められ得る。したがって、第1のCELPサブフレームは、MDCT移行フレームを用いて、ギャップを埋め、満足するオーバラップ追加(たとえば1.875ミリ秒のような最小オーバラップ値)を保証することを可能にする6.25ミリ秒の追加信号を有するように完了される。実施形態では、追加のCELPサブフレームは、12.8および16kHzのCELPコアのために6.25ミリ秒へ延長された長さを有する。これは、特に固定辞書の場合、そのような延長された長さのサブフレームを有するために「通常の」CELP符号化を修正することを示唆する。
【0131】
復号する方法Pの以前の実施形態に加えて、方法Pはさらに、有限インパルス応答フィルタによって実行される再サンプリングのステップ615を備え得る。以前に説明されたように、FIRフィルタは、再サンプリングユニット505へ統合され得る。再サンプリングは、先行CELPフレームからのFIRフィルタメモリを使用し、この例では、処理は、1.25ミリ秒の追加遅延をもたらす。
【0132】
方法Pはさらに、再サンプリングステップによってもたらされる遅延を埋めるために、有限インパルス応答フィルタメモリに記憶されたサンプルから取得される追加信号を追加するステップを含み得る。したがって、以前に生成された6.25ミリ秒の追加信号に加えて、1.25ミリ秒の信号が、復号器500によって生成され、これらサンプルは、有利なことに、6.25ミリ秒の追加信号の再サンプリングによってもたらされる遅延を埋めることを可能とする。
【0133】
この目的のために、再サンプリングユニット505のFIRフィルタメモリは、CELP復号後、各フレームのために節約され得る。このメモリにおけるサンプルの数は、考慮されるCELPコア周波数(12.8または16kHz)において1.25ミリ秒に対応する。
【0134】
方法Pの補足的な実施形態に従って、記憶されたサンプルを再サンプリングするステップは、ヌルとして考慮され得る、有限インパルス応答フィルタからの第1の遅延よりも短い第2の遅延をもたらす補間方法によって実行される。したがって、FIRフィルタメモリから生成される1.25ミリ秒の信号は、最小遅延を示唆する方法に従って再サンプリングされる。たとえば、FIRフィルタメモリによって生成される1.25ミリ秒の信号を再サンプリングするステップは、キュービック補間によって実行され得る。これは、2つのサンプルのみからの遅延、FIRフィルタからの遅延と比較された最小遅延を示唆する。したがって、前述した1.25ミリ秒の信号を再サンプリングするために、2つの追加信号サンプルが必要とされる。これらの2つの追加サンプルは、FIRフィルタの再サンプリングメモリの最後の値を繰り返すことによって取得され得る。
【0135】
復号器はさらに、第1および第2の移行フレームから取得された6.25ミリ秒のCELP信号からの高周波数部分を復号し得る。この目的のために、CELP復号器504は、先行CELPフレームの最後のサブフレームからの適応性利得および固定辞書ベクトルを使用し得る。
【0136】
復号器500はさらに、ステップ616において、復号され再サンプリングされたCELP移行サブフレーム、キュービック補間によって再サンプリングされたサンプル、および、MDCT復号器507から生じた移行フレームの復号された信号の間のオーバラップ追加を保証することができるオーバラップ追加ユニット509を備える。
【0137】
この目的のために、ユニット509は、
図3の合成修正ウィンドウ327を適用する。したがって、2つの第1のクォータのためのMDCTエイリアシングポイントの前で、サンプルがゼロとされる。前述したエイリアシングポイントの後、エンコーダへ適用されたウィンドウと結合されて、合計ウィンドウがsin
2になるように、ウィンドウ化されたサンプルが、
図3の非修正ウィンドウ324によって分割され、サイナスタイプのウィンドウによって乗じられる。オーバラップ追加によって関連付けられる部分では、CELPおよび0遅延再サンプリングから(たとえば、キュービック補間によって)生じるサンプルが、cos
2ウィンドウによって重み付けられる。
【0138】
したがって、取得された移行フレームは、ステップ608において、復号器の出力インターフェース510へ送信される。
【0139】
図7は、移行フレームのためのビットの分散を決定するためのデバイス700の例を表す。
【0140】
デバイスは、上述された移行フレームのためのビットの分散を決定する方法を実施することを可能にする命令を記憶するためのランダムアクセスメモリ704およびプロセッサ703を備える。デバイスはまた、この方法の適用後に確保されることが意図されているデータを記憶するための大容量メモリ705をも含む。デバイス700はさらに、デジタル信号フレームを受信し、これら異なるフレーム各々へ割り当てられたバジェットに関する詳細を出力することを意図された入力インターフェース701および出力インターフェース706を含む。
【0141】
デバイス700はさらに、デジタル信号プロセッサ(DSP)702を含み得る。このDSP702は、実質的に知られた既知の手法で、デジタル信号フレームを、フォーミング、復調、および増幅するために受信する。
【0142】
本発明は、例示的な目的のために上述された実施形態にそれ自体を限定せず、他の変形へ広がる。
【0143】
したがって、圧縮または伸張デバイスが全体としてエンティティである実施形態が記載された。もちろん、デバイスは、たとえばデジタルカメラ、写真カメラ、モバイル電話、コンピュータ、映写機等のようなすべてのタイプの、より顕著なデバイスにおいて組み込まれ得る。
【0144】
さらに、圧縮、伸張、および比較デバイスの特定の設計を提案する実施形態が記載された。これらの設計は、例示的な目的のためにのみ与えられる。したがって、構成要素の配置、および、構成要素の各々のために割り当てられたタスクの異なる分散もまた考慮され得る。たとえば、デジタル信号プロセッサ(DSP)によって実行されるタスクはまた、古典的なプロセッサによっても実行され得る。