【文献】
Heiko PURNHAGEN, et al.,"Technical description of proposed Unified Stereo Coding in USAC",ISO/IEC JTC1/SC29/WG11,2009年10月,MPEG2009/M16921,pp.1-14
【文献】
Max NEUENDORF,"WD5 of USAC",ISO/IEC JTC1/SC29/WG11,2009年10月,MPEG2009/N11040,pp.1-146
(58)【調査した分野】(Int.Cl.,DB名)
マルチチャンネルオーディオ信号の第1チャンネルオーディオ信号と第2チャンネルオーディオ信号を結合するための結合ルールに基づき生成された符号化された第1結合信号と、符号化された予測残留信号と、予測情報とを含む符号化されたマルチチャンネルオーディオ信号(100)を復号するためのオーディオデコーダであり、
復号された第1結合信号(112)を得るために符号化された第1結合信号(104)を復号し、復号された残留信号(114)を得るために符号化された残留信号(106)を復号するための信号デコーダ(110)と、
復号された残留信号(114)と、予測情報(108)と、復号された第1結合信号(112)とを使用して、復号された第1チャンネル信号(117)と復号された第2チャンネル信号(118)を有する復号されたマルチチャンネル信号を算出するためのデコーダ計算機(116)であり、復号された第1チャンネル信号(117)と復号された第2チャンネル信号(118)がマルチチャンネル信号の第1チャンネル信号と第2チャンネル信号の少なくとも近似であるように算出するデコーダ計算機(116)とを含み、
予測情報(108)は0ではない虚数値係数を含み、
デコーダ計算機(116)は、復号された第1結合信号(112)の実部を使用して、復号された第1結合信号(112)の虚部を推定する(1160a)よう構成された予測器(1160)を含み、
予測器(1160)は、予測信号を得る際に、復号された第1結合信号の虚部(601)に予測情報(108)の虚数値係数を掛けるよう構成され、
デコーダ計算機(116)は、第2結合信号(1165)を得るために、予測信号と復号された残留信号とを線形結合するよう構成された結合信号計算機(1161)をさらに含み、
デコーダ計算機(116)は、復号された第1チャンネル信号(117)と復号された第2チャンネル信号(118)を得るために、第2結合信号(1165)と復号された第1結合信号を結合するための結合器(1162)をさらに含む、
オーディオデコーダ。
マルチチャンネルオーディオ信号の第1チャンネル信号と第2チャンネル信号を結合するための結合ルールに基づき生成された符号化された第1結合信号と、符号化された予測残留信号と、予測情報とを含む符号化されたマルチチャンネルオーディオ信号(100)を復号する方法であり、
復号された第1結合信号(112)を得るために符号化された第1結合信号(104)を復号し、復号された残留信号(114)を得るために符号化された残留信号(106)を復号すること(110)と、
復号された残留信号(114)と、予測情報(108)と、復号された第1結合信号(112)とを使用して、復号された第1チャンネル信号(117)と復号された第2チャンネル信号(118)がマルチチャンネル信号の第1チャンネル信号と第2チャンネル信号の少なくとも近似であるように、復号された第1チャンネル信号(117)と復号された第2チャンネル信号(118)を有する復号されたマルチチャンネル信号を算出すること(116)であり、
予測情報(108)は0ではない虚数値係数を含み、
復号された第1結合信号(112)の虚部は、復号された第1結合信号(112)の実部を使用して推定され(1160a)、
予測信号を得る際に、復号された第1結合信号の虚部(601)に予測情報(108)の虚数値係数が掛けられ、
第2結合信号(1165)を得るために、予測信号と復号された残留信号とが線形結合され、
復号された第1チャンネル信号(117)と復号された第2チャンネル信号(118)を得るために、第2結合信号(1165)と復号された第1結合信号が結合される、
オーディオ信号復号方法。
【発明を実施するための形態】
【0021】
以下、本発明の好ましい実施形態を、添付図面を参照しながら説明する。
【0022】
図1は、入力ライン100で得た符号化されたマルチチャンネルオーディオ信号を復号するためのオーディオデコーダを示している。符号化されたマルチチャンネルオーディオ信号は、マルチチャンネルオーディオ信号を表す第1チャンネル信号と第2チャンネル信号とを結合するための結合ルールを用いて生成された符号化された第1結合信号と、符号化された予測残留信号と、予測情報とを含む。符号化されたマルチチャンネル信号は、多重形態で三つの成分を有するビットストリームのようなデータストリームであってもよい。さらに付加的なサイド情報がライン100の符号化されたマルチチャンネル信号に含まれていてもよい。この信号は入力インターフェース102に入力される。入力インターフェース102は、符号化された第1結合信号をライン104で出力し、符号化された残留信号をライン106で出力し、予測情報をライン108で出力するデータストリーム・デマルチプレクサーとして実施できる。予測情報は、0ではない実部及び/または0ではない虚部を有する係数である。符号化された結合信号と符号化された残留信号は、ライン112で復号された第1結合信号を得るために、第1結合信号を復号する信号デコーダ110に入力される。また、信号デコーダ110は、ライン114で復号された残留信号を得るために、符号化された残留信号を復号するように構成されている。オーディオエンコーダ側での符号化処理に応じて、信号デコーダは、ハフマンデコーダや演算デコーダなどのエントロピーデコーダまたは他の何らかのエントロピーデコーダと、その直後に接続され、関連するオーディオエンコーダにおける量子化処理に一致したデクオンタイゼーション処理を実行するデクオンタイゼーション段階を含む。ライン112,114の信号はデコーダ計算機115に入力され、このデコーダ計算機115はライン117で第1チャンネル信号を、ライン118で第2チャンネル信号を出力する。これら二つの信号はステレオ信号またはマルチチャンネルオーディオ信号の二つのチャンネルである。例えばマルチチャンネルオーディオ信号が五つのチャンネルを含む場合、これら二つの信号はこのマルチチャンネル信号のうちの二つのチャンネルである。このような五つのチャンネルを有するマルチチャンネル信号を完全に符号化するためには、
図1に示すようなデコーダを二つ使用し、第1のデコーダは左チャンネルと右チャンネルを処理し、第2のデコーダは左サラウンドチャンネルと右サラウンドチャンネルを処理し、中央チャンネルのモノ符号化を行うために、第3のモノデコーダが使用されてもよい。別のグループ分けも可能であり、あるいは、波形コーダーとパラメータコーダーとの組み合わせも適用できる。三つ以上のチャンネルに対する予測スキームを一般化するための別の方法は、三つ(またはそれ以上)の信号を同時に処理する、例えば、MPEGサラウンドの「2個から3個への」モジュールとよく似ているが、二つの予測係数を用いて第1及び第2の信号から第3の結合信号を予測することである。
【0023】
デコーダ計算機116は、復号された第1チャンネル信号117と復号された第2チャンネル信号118を有する復号されたマルチチャンネル信号を、復号された残留信号114と予測情報108と復号された第1結合信号112を用いて算出するよう構成されている。デコーダ計算機116は、特に、復号された第1チャンネル信号と復号された第2チャンネル信号が、対応するエンコーダへ入力されたマルチチャンネル信号の第1チャンネル信号と第2チャンネル信号(これらは、第1結合信号と予測残留信号を生成する際に、結合ルールにより結合されたものである)の少なくとも近似であるように演算するよう構成されている。詳しくは、ライン108の予測情報は、0ではない実部と及び/または0ではない虚部を含む。
【0024】
デコーダ計算機116は、いくつかの異なる方法で実施可能である。
図4Aにその第1実施例を示す。この実施例は、予測器1160と結合信号計算機1161と結合器1162を含む。予測器は復号された第1結合信号112と予測情報108を受け取り、予測信号1163を出力する。詳しくは、予測器1160は、予測情報108を復号された第1結合信号112または復号された第1結合信号から導き出された信号に適用するよう構成されている。予測情報108を適用すべき信号を導き出すための導出ルールは、実数−虚数変換または同じく虚数−実数変換、または重み付け処理、あるいは実施態様に応じて、位相シフト処理または重み付けと位相シフトの組み合わせ処理であってもよい。予測信号1163は、復号された第2結合信号1165を算出するために、復号された残留信号と共に結合信号計算機1161に入力される。信号112と信号1165はどちらも結合器1162に入力され、結合器1162は、復号された第1チャンネル信号と復号された第2チャンネル信号をそれぞれ出力ライン1166と1167で有する復号後のマルチチャンネルオーディオ信号を得るために、復号された第1結合信号と第2結合信号を結合する。あるいは、デコーダ計算機は、入力として、復号された第1結合信号または信号Mと、復号された残留信号または信号Dと、予測情報α108とを受信するマトリクス計算機1168として実施される。マトリクス計算機1168は、出力信号L(復号された第1チャンネル信号)とR(復号された第2チャンネル信号)を得るために、信号M,Dに対して1169で示されているような変換マトリクスを適用する。
図4Bの表示は、左チャンネルLと右チャンネルRを有するステレオの表示と似ている。この表示は理解を簡単にするために用いられたものであるが、信号LとRは二つ以上のチャンネルの信号を有するマルチチャンネル信号における二つのチャンネル信号の結合であり得ることは、当業者には明らかである。マトリクス処理1169は
図4Aのブロック1160,1161,1162での処理を一種の「一発」マトリクス計算に統合し、
図4Aの回路への入力と
図4Aの回路からの出力は、マトリクス計算機1168への入力またはマトリクス計算機1168からの出力と同じものである。
【0025】
図4Cは
図4Aの結合器1162によって用いられる逆結合ルールの一例を示す。特に、この結合ルールは、L=M+S、R=M−Sである公知のミッド/サイドコーディングにおけるデコーダ側での結合ルールと同様のものである。
図4Cの逆結合ルールで使用される信号Sは、結合信号計算機によって算出される信号、つまりライン1163の予測信号とライン114の復号された残留信号との結合であると理解すべきである。この明細書において、ライン上の信号は、ラインに対する参照符号で示される場合もあり、それらの信号自身に対する参照符号で示される場合もあるが、これらの参照符号はラインに起因するものである。従って、ある信号を有するラインは信号そのものを示しているということである。ラインは、配線実施例においては物理的なラインであり得る。しかし、コンピュータの実施例では物理的な線は存在しないが、線によって示されている信号は一つの計算モジュールから他の計算モジュールへ送られる。
【0026】
図2は、二つ以上のチャンネル信号を有するマルチチャンネルオーディオ信号200を符号化するためのオーディオエンコーダを示し、第1チャンネル信号は201で示され、第2チャンネル信号は202で示されている。これらのどちらの信号もエンコーダ203に入力され、エンコーダ203は、第1チャンネル信号201と第2チャンネル信号202と予測情報206を使用して、第1結合信号204と予測残留信号205を算出する。そして、予測残留信号205が第1結合信号204と予測情報206から導き出された予測信号とに結合されると、第2結合信号となるが、第1結合信号と第2結合信号は、結合ルールを用いて第1チャンネル信号201と第2チャンネル信号202から導出可能である。
【0027】
予測情報は、予測残留信号が最適化目標208を満たすように予測情報206を算出するための最適化装置207によって生成される。第1結合信号204と残留信号205は、符号化された第1結合信号210を得るために第1結合信号204を符号化し、符号化された残留信号211を得るために残留信号205を符号化するための信号エンコーダ209に入力される。これらの符号化された信号210,211のどちらも、符号化されたマルチチャンネル信号213を得るために、符号化された第1結合信号210を符号化された予測残留信号211と予測情報206に結合するための出力インターフェース212に入力される。この符号化されたマルチチャンネル信号213は、
図1に示されているオーディオデコーダの入力インターフェース102に入力される符号化されたマルチチャンネル信号100と類似である。
【0028】
実施態様に応じて、最適化装置207は、第1チャンネル信号201と第2チャンネル信号202を受信するか、または、ライン214と215で示されているように、
図3Aの結合器2031から引き出された第1結合信号214と第2結合信号215を受信する。結合器2031については後述する。
【0029】
好ましい最適化目標が
図2に示されているが、これにより、コーディング利得が最大となり、つまり、ビットレートができる限り低減される。この最適化目標では、残留信号Dはαに関して最小化されている。これは、換言すれば、予測情報αは‖S−αM‖
2が最小となるように選択されるということである。これは
図2に示されているようなαの解をもたらす。信号S,Mはブロックごとに与えられ、スペクトル領域信号であることが好ましく、表記‖…‖は引数の2−ノルムを意味し、<…>は通常通りドット積を示す。第1チャンネル信号201と第2チャンネル信号202が最適化装置207に入力されると、最適化装置は結合ルールを適用しなければならない。結合ルールの一例を
図3Cに示す。しかし、第1結合信号214と第2結合信号215が最適化装置207に入力された場合には、最適化装置207は自動的に結合ルールを実施する必要はない。
【0030】
感覚的質には他の最適化目標が関係する場合もある。最適化目標は、感覚的な良質さが最大限に得られるようなものであってもよい。この場合、最適化装置は感覚的モデルからの付加的な情報を必要とするであろう。最適化目標の他の実施例は、最小限のまたは一定のビットレートを得ることに関連したものであってもよい。この場合、αが最小限のビットレートまたは一定のビットレートというような要件を満たすようなものとなるように、最適化装置207はいくつかのαの値のために必要なビットレートを決定するために量子化/エントロピー符号化を実行する。最適化目標の他の実施例は、エンコーダまたはデコーダの最小限の資料の使用に関係していてもよい。このような最適化目標の実施例では、ある最適化に必要な資料に関する情報は最適化装置207内で入手可能である。また、予測情報206を算出する最適化装置207を制御するために、これらの最適化目標や他の最適化目標の組み合わせを適用することもできる。
【0031】
図2のエンコーダ計算機203は様々な態様で実施することができる。明確な結合ルールが結合器2031で実行される第1実施例を
図3Aに示す。別の実施例を
図3Bに示すが、ここではマトリクス計算機2039が使用される。
図3Aの結合器2031は
図3Cに示す結合ルールを実行するよう構成されていてもよく、
図3Cの結合ルールは、0.5の重み付け係数が全てのブランチに適用される公知のミッド/サイドエンコーディングルールを一例として挙げたものである。しかし、実施態様に応じて、他の重み付け係数を適用することも可能であり、あるいは、全く何の重み付け係数をも適用しなくもよい。さらに、他の線形結合ルールまたは非線形結合ルールのような他の結合ルールも、
図4Aに示されているデコーダ結合器1162で適用可能であるそれに対応する逆結合ルールが存在する限り使用可能であり、デコーダ結合器1162は、エンコーダで適用された結合ルールの逆の結合ルールを使用する。本発明に係る予測により、波形への影響が予測により「平衡状態に保たれる」ので、可逆的予測ルールが使用できる。つまり、最適化装置207とエンコーダ計算機203によって実行される予測は波形保存処理であるので、送信された残留信号に何らかのエラーが含まれる。
【0032】
結合器2031は第1結合信号204と第2結合信号2032を出力する。第1結合信号は予測器2033に入力され、第2結合信号2032は残留信号計算機2034に入力される。予測器2033は予測信号2035を出力し、この予測信号2035は第2結合信号2032と結合され、最終的に残留信号205を得る。特に、結合器2031は、第1結合信号204と第2結合信号2032を得るために、二つの異なる方法でマルチチャンネルオーディオ信号の二つのチャンネル信号201と202とを結合するよう構成されている。これら二つの異なる方法は
図3Cの実施形態に示されている。予測器2033は、予測信号2035を得るために、予測情報を第1結合信号204または第1結合信号から導き出された信号に適用させるように構成されている。この結合信号から導き出された信号は、何らかの非線形または線形処理(実数−虚数変換または虚数−実数変換が好ましい)によって導き出すことができ、これは、いくつかの値の重み付け加算を行うFIRフィルターのような線形フィルターを使用して実施することができる。
【0033】
図3Aの残留信号計算機2034は、第2結合信号から予測信号を差し引くように減算処理を行ってもよい。しかし、残留信号計算機において他の演算も可能である。それに対応して、
図4Aの結合信号計算機1161は、第2結合信号1165を得るために、復号された残留信号1114と予測信号1163を合算する加算処理を実行してもよい。
【0034】
図5Aはオーディオエンコーダの好ましい実施例を示している。
図3Aに示したオーディオエンコーダと比較して、第1チャンネル信号201は時間領域第1チャンネル信号55aのスペクトル表記である。それに対応して、第2チャンネル信号202は時間領域チャンネル信号55bのスペクトル表記である。時間領域からスペクトル表記への変換は、第1チャンネル信号については時間/周波数変換器50により、第2チャンネル信号については時間/周波数変換器51により実行される。スペクトル変換器50,51は実数値変換器であることが好ましいが、必ずしもそうである必要はない。変換アルゴリズムは、実部だけが使用される離散余弦変換やFFT変換であってもよく、あるいは実数スペクトル値を出力するMDCTや他の変換であってもよい。別の例では、これら両方の変換は、虚部だけが使用され、実部は無視されるMDSTやFFTなどの虚数変換として実施することもできる。虚数値だけを出力する他の変換も使用可能である。純粋に実数値のみの変換または純粋に虚数値のみの変換をすることの目的の一つは、計算量にある。各スペクトルに関して、大きさまたは実部のような一つの値、あるいは、位相または虚部のような一つの値だけを処理すればよいからである。FFTのような完全複素数変換においては、各スペクトルラインに関して二つの値、つまり実部と虚部が処理されなければならず、少なくとも2の係数で計算量が増加する。ここで実数値変換を使用する別の理由は、このような変換は通常じっくりと抽出され、従って信号量子化とエントロピー符号化(「MP3」、AACまたは類似のオーディオコーディングシステムで実施されている標準的な「感覚的オーディオコーディング」パラダイム)に適切な(そして一般的に使用されている)領域を与えるということである。
【0035】
図5Aはさらに、その「プラス」入力でサイド信号を受け取り、その「マイナス」入力で予測器2033から出力された予測信号を受け取る加算器として、残留信号計算機2034を示している。また、
図5Aは、予測制御情報が最適化装置から、符号化されたマルチチャンネルオーディオ信号を表す多重ビットストリームを出力するマルチプレクサー212へ送られている状態を示している。特に、
図5Aの右側の式で示されているように、サイド信号がミッド信号から予測されるような方法で、予測演算が行われる。
【0036】
予測制御情報206は、
図3Bの右側に示されているような係数であることが好ましい。予測制御信号が複素数値αの実部または複素数値αの大きさというような実部のみを含み、この実部が0ではない係数に相当する実施形態において、ミッド信号とサイド信号がそれらの波形構造に関しては互いに似ているが、振幅が異なる場合には、かなりのコーディング利得が得られる。
【0037】
予測制御情報が、複素数値係数の虚部(0ではない)または複素数値係数の位相情報(0ではない)であり得る第2部分のみを含む場合、本発明では、0°及び180°以外の値で互いに位相シフトし、その位相シフトとは関係なく、波形特徴と振幅関係が類似している信号に関して、かなりのコーディング利得を得ることができる。
【0038】
予測制御情報は複素数値であることが好ましい。その場合、振幅が異なり、位相シフトしている信号に関して、かなりのコーディング利得が得られる。時間/周波数変換が複素数スペクトルをもたらす場合、演算2034は、予測制御情報の実部が複素数スペクトルMの実部に適用され、予測制御情報の虚部が複素数スペクトルの虚部に適用される複素数演算となる。この場合、加算器2034では、この予測演算の結果は予測実数スペクトルと予測虚数スペクトルであり、複素数残留スペクトルDを得るために、サイド信号S(帯域に関して)の実数スペクトルから予測実数スペクトルが減算され、サイド信号Sの虚数スペクトルから予測虚数スペクトルが減算される。
【0039】
時間領域信号LとRは実数値信号であるが、周波数領域信号は実数値であっても複素数値であってもよい。周波数領域信号が実数値である場合、変換は実数値変換である。周波数領域信号が複素数値である場合、変換は複素数値変換である。これは、時間−周波数変換器に対する入力及び周波数−時間変換器からの出力は実数値であり、周波数領域信号は例えば複素数値QMF領域信号であり得るということを意味している。
【0040】
図5Bは、
図5Aに示したオーディオエンコーダに対応するオーディオデコーダを示している。
図1のオーディオデコーダに関するものと同様の素子には、同様の参照符号が与えられている。
【0041】
図5Aのビットストリームマルチプレクサー212によって出力されたビットストリームは、
図5Bのビットストリームデマルチプレクサー102に入力される。ビットストリームデマルチプレクサー102は、ビットストリームをダウンミックス信号Mと残留信号Dとに分離する。ダウンミックス信号Mはデクオンタイザー110aに入力される。残留信号Dはデクオンタイザー110bに入力される。さらに、ビットストリームデマルチプレクサー102は、ビットストリームから予測制御情報108を分離し、それを予測器1160に入力する。予測器1160は予測サイド信号α・Mを出力し、結合器1161はデクオンタイザー110bによって出力された残留信号を予測サイド信号と結合し、最終的に再構築されたサイド信号Sを得る。この信号はその後、例えば、ミッド/サイドエンコーディングに関する
図4Cに示されている和/差の処理を実行する結合器1162に入力される。詳しくは、ブロック1162は、左チャンネルの周波数領域表記と右チャンネルの周波数領域表記を得るために、(逆)ミッド/サイドデコーディングを実行する。周波数領域表記はその後、それぞれに対応する周波数/時間変換器52,53によって時間領域に変換される。
【0042】
システムの実施態様によるが、周波数領域表記が実数値表記の場合、周波数/時間変換器52,53は実数値周波数/時間変換器であり、周波数領域表記が複素数値表記の場合、周波数/時間変換器52,53は複素数値周波数/時間変換器である。
【0043】
しかし、効率向上のためには、
図6A(エンコーダ)と
図6B(デコーダ)に示されている別の実施例のように、実数値変換を行うことの方が好ましい。実数値変換50,51はMDCTによって実施される。さらに、予測情報は、実部と虚部を有する複素数値として算出される。MとSのどちらのスペクトルも実数値スペクトルであり、従って、スペクトルの虚部は存在しないので、信号Mの実数値スペクトルから虚数スペクトル600を推定する実数−虚数変換器2070が設けられている。この実数−虚数変換器2070は最適化装置207の一部であり、ブロック2070によって推定された虚数スペクトルは、予測情報206を得るために、実数スペクトルMと共にα最適化ステージ2071に入力される。そして、予測情報206は、2073で示されている実数値係数と2074で示されている虚数値係数を持つことになる。この実施形態においては、第1結合信号Mの実数値スペクトルには2073で示されている実部α
Rが掛けられ、これにより予測信号を得、その後、この予測信号は実数値サイド信号スペクトルから引き算される。また、さらに別の予測信号を得るために、虚数スペクトル600には2074で示されている虚部α
Iが掛けられ、この予測信号はその後、2034bで示されているように、実数値サイド信号から引き算される。そして、予測残留信号Dは量子化器209bで量子化され、Mの実数値スペクトルはブロック209aで量子化/符号化される。また、符号化された複素数値αを得るために、予測情報αを量子化器/エントロピーエンコーダ2072で量子化及び符号化することが好ましく、符号化された複素数値αは、例えば
図5Aのビットストリームマルチプレクサー212に送られ、最終的に予測情報としてビットストリームに入れられる。
【0044】
αのための量子化/符号化(Q/C)モジュール2072の位置に関して、マルチプレクサー2073,2074は、デコーダでも使用されることになるものと全く同じ(量子化された)αを使用することが好ましいことに留意すべきである。従って、2072を2071の出力の直後に位置させるか、または、αの量子化が2071での最適化処理で既に考慮されてもよい。
【0045】
エンコーダ側で全ての情報が入手可能であるので、複素数スペクトルを計算することは可能であるが、
図6Bに示されているデコーダに関しても同様の状態が生じるように、エンコーダ内のブロック2070で実数から複素数への変換が行われることが好ましい。デコーダは、第1結合信号の符号化された実数値スペクトルと符号化された残留信号の実数値スペクトル表記を受け取る。さらに、108で符号化された複素数予測信号が受け取られ、1160bで示されている実部α
Rと1160cで示されている虚部α
Iを得るために、ブロック65でエントロピー復号とデクオンタイゼーションが行われる。重み付け素子1160b,1160cによって出力されたミッド信号は、復号されデクオンタイズされた予測残留信号に加算される。詳しくは、重み付け器1160cに入力されたスペクトル値に関して、複素数予測係数の虚部が重み付け係数として使用されるが、これらのスペクトル値は、実数−虚数変換器1160aによって実数値スペクトルから引き出されたものである。実数−虚数変換器1160aは、エンコーダ側に関する
図6Aのブロック2070と同じように実施されることが好ましい。デコーダ側ではミッド信号またはサイド信号の複素数値表記は入手不可能であり、これがエンコーダ側との大きな違いである。符号化された実数値スペクトルのみがエンコーダからデコーダへ送られる理由は、ビットレートと計算量にある。
【0046】
図6Aの実数−虚数変換器1160aまたはそれに相当するブロック2070は、WO2004/013839A1またはWO2008/014853A1または米国特許6,980,933で開示されているように実施できる。あるいは、この分野で公知である他のいかなる実施も適用可能である。
図10A,10Bを参照して好ましい実施例を説明する。
【0047】
特に、
図10Aに示されているように、実数−虚数変換器1160aは虚数スペクトル計算機1001に接続されたスペクトルフレームセレクター1000を含む。スペクトルフレームセレクター1000は、入力1002で現在のフレームiの指標と、実施態様によるが、制御入力1003で制御情報を受け取る。例えば、ライン1002の指標が現在のフレームiに関する虚数スペクトルを算出すべきであることを示している場合や、制御情報1003がその計算には現在のフレームのみを使用すべきであることを示している場合には、スペクトルフレームセレクター1000は現在のフレームiだけを選択し、この情報を虚数スペクトル計算機に送る。そして、虚数スペクトル計算機は、現在のフレーム(ブロック1008)内に位置するライン(周波数に関して、現在のスペクトルラインk付近のライン)の重み付け結合を実行するのに、現在のフレームのスペクトルラインだけを使用する。現在のスペクトルラインkに関する虚数ラインは、
図10Bに1004で示されているように算出される。しかし、スペクトルフレームセレクター1000が、先行のフレームi−1と後続のフレームi+1も虚数スペクトルの算出に使用されるべきであると示す制御情報1003を受け取った場合には、虚数スペクトル計算機はさらにフレームi−1とi+1から値を受け取り、フレームi−1に関しては1005で、フレームi+1に関しては1006で、対応するフレーム内のラインの重み付け結合を実行する。重み付け処理の結果はブロック1007で重み付け結合によって結合され、最終的にフレームf
iの虚数ラインkが得られる。その後、素子1160cで、フレームf
iの虚数ラインkに予測情報の虚部が掛けられ、このラインに関する予測信号が得られ、この予測信号は、その後、デコーダの加算器1161bでミッド信号の対応するラインに加算される。エンコーダで同様の処理が実行されるが、素子2034bでは減算が行われる。
【0048】
制御情報1003はさらに、三つ以上の周囲のフレームを使用すること、あるいは、例えばシステムの遅延を抑えるために、現在のフレームと直前の一つまたは複数のフレームのみを使用し、「未来の」フレームを使用しないことを表示していてもよい。
【0049】
また、
図10Bに示されているステージごとの重み付け結合においては、第1の処理では一つのフレームからのラインが結合され、それに引き続き、これらのラインごとの結合処理の結果が結合されるが、このステージごとの重み付け結合は他の順序でも実行され得る。他の順序とは、第1のステップで、制御情報103によって示されている複数の隣接するフレームからの現在の周波数kに関するラインが、重み付け結合によって結合されることである。この重み付け結合は、虚数ラインを推定するのに使用されるべき隣接するラインの数に応じて、ラインk,k−1,k−2,k+1,k+2…に関して行われる。その後、これらの「時間ごとの」結合の結果は「周波数方向」で重み付け結合され、最終的にフレームf
iの虚数ラインkを得る。重みは好ましくは−1と1の間の値に設定され、重み付けは、異なる周波数と異なるフレームからのスペクトルラインまたはスペクトル信号の線形結合を行う単純なFIRまたはIIRフィルターで実施可能である。
【0050】
図6A,6Bに示すように、好ましい変換アルゴリズムは、
図6Aにおける素子50,51の前進方向に適用され、スペクトル領域で動作する結合器1162での結合処理の次の素子52,53の後退方向に適用されるMDCT変換アルゴリズムである。
【0051】
図8Aはブロック50または51のより詳細な実施例を示している。詳しくは、一連の時間領域オーディオサンプルがウィンドウ処理装置500に入力される。このウィンドウ処理装置500は、解析ウィンドウを使用してウィンドウ処理を行うが、特に、この処理をフレームごとではあるが、50%のストライドまたは重複で行う。解析ウィンドウ処理部の結果、つまり一連のフレームのウィンドウ処理後のサンプルはMDCT変換ブロック501に入力され、このブロック501は一連の実数値MDCTフレームを出力するが、これらのフレームはエイリアシングの影響を受けている。一例として、解析ウィンドウ処理部は2048個のサンプル長さを有する解析ウィンドウを適用する。そして、MDCT変換ブロック501は1024個の実数スペクトルラインまたはMDCT値を有するMDCTスペクトルを出力する。解析処理部500及び/またはMDCT変換器501は、例えば信号の過渡部に関してより良いコーディング結果を得るためにウィンドウ長さ/変換長さが短くなるように、ウィンドウ長さまたは変換長さ制御部502で制御可能であることが好ましい。
【0052】
図8Bはブロック52,53で実行される逆MDCT処理を示している。一例として、ブロック52は、フレームごとの逆MDCT変換を行うブロック520を含む。例えばMDCT値の一つのフレームが1024個の値を有する場合、このMDCT逆変換の出力は2048個のエイリアシングの影響を受けた時間サンプルを有する。このようなフレームは合成ウィンドウ処理部521に送られ、この合成ウィンドウ処理部521は、この2048個のサンプルのフレームに合成ウィンドウ処理を行う。ウィンドウ処理後のフレームは、その後、重複/加算処理部522に送られ、重複/加算処理部522は、例えば二つの連続するフレーム間で50%の重複を適用し、2048個のサンプルが最終的にエイリアシングフリーの出力信号の1024個の新たなサンプルをもたらすようにサンプルごとの加算を実行する。ここでも、例えば523で示されているような符号化されたマルチチャンネル信号のサイド情報に送られる情報を使用して、ウィンドウ/変換長さの制御が行われることが好ましい。
【0053】
α予測値はMDCTスペクトルのそれぞれのスペクトルラインに関して算出可能であった。しかし、これは不必要なことであり、予測情報の帯域ごとの計算を行うことにより莫大なサイド情報量が節約できることがわかった。換言すれば、
図9に示すスペクトル変換器50は例えば
図8に関して述べたようなMDCTプロセッサーであるが、これは
図9Bに示すようないくつかのスペクトルラインを有する高周波分解能スペクトルを出力する。この高周波分解能スペクトルは、いくつかの帯域B1,B2,B3,…,BNを含む低周波分解能スペクトルを出力するスペクトルラインセレクター90によって使用される。この低周波分解能スペクトルは、各スペクトルラインではなく各帯域に対して予測情報が算出されるように予測情報を計算するための最適化装置207に送られる。このために、最適化装置207は帯域ごとにスペクトルラインを受け取り、同じ値のαがその帯域の全てのスペクトルラインに使用されるという前提で、最適化処理を行う。
【0054】
図9Bに示すように、帯域は、低周波から高周波になるにつれて帯域幅が広くなるように、音響心理的に成形されていることが好ましい。別の例として、帯域幅が増加していく実施例ほど好ましくはないが、同じサイズの周波数帯域もまた使用でき、この場合、各周波数帯域は少なくとも2本またはそれ以上、典型的には少なくとも30本の周波数ラインを有している。一般的に、1024本のスペクトルラインを有するスペクトルに関して、30個未満であり好ましくは5個よりも多い複素数値αが算出される。1024本未満のスペクトルライン(例えば128本のライン)を有するスペクトルに関して、αのためにより少ない周波数帯域(例えば6個の周波数帯域)を使用することが好ましい。
【0055】
α値を算出するのに、高分解能MDCTスペクトルは必ずしも必要ではない。別の例では、α値を算出するのに必要な分解能と同様の周波数分解能を有するフィルターバンクも使用できる。周波数とともに帯域幅が増大する実施例の場合、このフィルターバンクは異なる帯域幅を有していなければならない。しかし、低周波から高周波にかけて一定の帯域幅で十分な場合には、同じ帯域幅のサブバンドを有する従来のフィルターバンクが使用可能である。
【0056】
実施態様に応じて、
図3B,4Bに示すように、α値の符号を逆転させてもよい。しかし、一貫性を保持するためには、符号の逆転はエンコーダ側でもデコーダ側でも行われる必要がある。
図6Aとは対照的に、
図5Aはエンコーダを一般化した図を示し、2033は予測制御情報206によって制御される予測器であり、この予測制御情報206は装置207で決定され、ビットストリームのサイド情報として含まれているものである。ブロック50,51で使用されるMDCTの代わりに、
図5Aでは、前述したような一般的な時間/周波数変換が用いられる。既に述べたように、
図6Aは
図6Bのデコーダ処理に対応するエンコーダ処理を示し、Lは左チャンネル、Rは右チャンネル、Mはミッド信号またはダウンミックス信号、Sはサイド信号、Dは残留信号を表している。あるいは、Lは第1チャンネル信号201、Rは第2チャンネル信号202、Mは第1結合信号204、Sは第2結合信号2032とも称される。
【0057】
正確な波形コーディングを確実に行うためには、エンコーダ内のモジュール2070とデコーダ内のモジュール1160aは厳密に一致することが好ましい。これらのモジュールが不完全フィルターのような何らかの近似形態を使用する場合、または、三つのMDCTフレーム、つまりライン60上の現在のMDCTフレームとライン61上の先行するMDCTフレームとライン62上の次のMDCTフレームを使用する代わりに、一つまたは二つのMDCTフレームのみを使用する場合に、これが適用されることが好ましい。
【0058】
さらに、デコーダ内の実数−虚数変換(R2I)モジュール1160aへの入力は量子化MDCTスペクトルしか可能ではないが、
図6Aのエンコーダ内のモジュール2070は、非量子化MDCTスペクトルMを入力として使用することが好ましい。あるいは、エンコーダにおいてモジュール2070への入力として量子化MDCT係数が使用される実施態様も可能である。しかし、モジュール2070への入力として非量子化MDCTスペクトルを使用することは、感覚的な点において好ましいアプローチである。
【0059】
以下に、本発明の実施形態のいくつかの側面を述べる。
【0060】
標準的なパラメータステレオコーディングは、オーバーサンプリングされた複素数(混合)QMF領域の、エイリアシングアーチファクトをもたらさずに、時間及び周波数を変化させる感覚に基づく信号処理ができる可能性に頼っている。しかし、ダウンミックス/残留コーディング(ここで考慮されている高いビットレートに使用されるようなもの)の場合、それによる統合ステレオコーダーは波形コーダーとして動作する。これは、MDCT領域のようなじっくりとサンプリングされた領域での処理を可能にする。波形コーディングパラダイムは、確実にMDCT−IMDCT処理連鎖のエイリアシング解消特性を十分に保持するからである。
【0061】
しかし、チャンネル間の差、時間差または位相差を有するステレオ信号の場合に、複素数値予測係数αによって達成できる改良コーディング効率を引き出すためには、ダウンミックス信号DMXの複素数値周波数領域表記が複素数値アップミックスマトリクスへの入力として必要である。これは、DMX信号に関するMDCT変換に加えてMDST変換も使用することで得られる。MDSTスペクトルは、MDCTスペクトルから(正確にまたは近似値として)算出できる。
【0062】
さらに、アップミックスマトリクスのパラメータ化は、MPSパラメータの代わりに複素数予測係数αを送信することによって単純化できる。従って、三つ(ICCとCLDとIPD)ではなく、二つのパラメータ(αの実部と虚部)のみが送信される。ダウンミックス/残留コーディングの場合にはMPSパラメータ化における冗長性により、これが可能である。MPSパラメータ化はデコーダに加えられるべき非相関の相対量に関する情報(例えばRES信号とDMX信号とのエネルギー比)を含み、DMX信号及びRES信号が実際に送信される際にはこの情報は冗長である。
【0063】
同じ理由により、上述のアップミックスマトリクスに示されている利得係数gは、ダウンミックス/残留コーディングにはもう使われていない。従って、複素数予測を伴うダウンミックス/残留コーディングのためのアップミックスマトリクスは今や以下のようなものである。
【0065】
図4Bの式1169と比較して、この式においてはαの符号が逆になっており、DMX=Mであり、RES=Dである。従って、これは
図4Bに関する別の実施態様/表記である。
【0066】
エンコーダで予測残留信号を算出するのに、二つの選択肢がある。一つはダウンミックスの量子化MDCTスペクトル値を使用することである。この場合、エンコーダとデコーダが予測を生成するのに同じ値を使用するので、M/Sコーディングと同様の量子化エラー分布となる。もう一つは非量子化MDCTスペクトル値を使用することである。これは、エンコーダとデコーダは予測を生成するのに同じデータを使用しないということであり、コーディング利得は幾分低下するが、信号の瞬間マスキング特性に応じたコーディングエラーの空間的再配分が可能となる。
【0067】
上述したような三つの隣接するMDCTフレームの二次元的FIRフィルタリングによって、MDSTスペクトルを周波数領域で直接演算することが好ましい。後者は「実数から虚数への」(R2I)変換と考えられる。MDSTの周波数領域での演算の計算量は以下のような様々な方法で軽減させることができ、これはMDSTスペクトルの近似値を求めるだけでもよいということである。
【0068】
・FIRフィルタータップの数を制限する。
・現在のMDCTフレームのみからMDSTを推定する。
・現在のMDCTフレームと前のMDCTフレームからMDSTを推定する。
【0069】
エンコーダとデコーダで同じ近似値が使用される限り、波形コーディング特性は影響を受けない。しかし、このようなMDSTスペクトルの近似値は複素数予測によって得られるコーディング利得の低下をもたらす可能性がある。
【0070】
基本的なMDCTコーダーがウィンドウ形状の切り替えを行う場合、MDSTスペクトルを計算するための二次元的FIRフィルターは実際のウィンドウ形状に適応していなければならない。現在のフレームのMDCTスペクトルに適用されるフィルター係数はウィンドウ全体によって決まる。つまり、全てのウィンドウタイプに関してまた全てのウィンドウ転移に関して、一組の係数が必要である。前の/次のフレームのMDCTスペクトルに適用されるフィルター係数は、現在のフレームと半分重なっているウィンドウによってのみ決まる。つまり、それぞれのウィンドウタイプに関してのみ一組の係数が必要である(転移に関しての係数は必要ではない)。
【0071】
基本的なMDCTコーダーが変換長さの切り替えを行う場合、前の及び/または次のMDCTフレームを近似値に含ませると、異なる変換長さの間の転移辺りでより複雑化する。現在のフレームと前の/次のフレームとで異なる個数のMDCT係数を使用するので、この場合には二次元フィルタリングはより複雑になる。それぞれのフレームに関する近似計算の精密さは低下するが、計算量の増加と構造的複雑化を避けるためには、変換長さの転移の際に前の/次のフレームをフィルタリングから除外してもよい。
【0072】
さらに、MDSTスペクトルの最低部分と最高部分(DCとfs/2に近い)に関しては特に注意を払う必要がある。これらの部分では、FIRフィルタリングのために入手可能な周辺MDCT係数の個数は、必要な数よりも少ない。そこで、MDSTスペクトルを正確に算出できるようにフィルタリング処理を適合させる必要がある。フィルタリング処理の適合は、欠落している係数のためにMDCTスペクトルの対称拡張を使用することにより(時間離散信号のスペクトルの周期に応じて)、またはこのようにフィルター係数を適合させることにより、行うことができる。MDSTスペクトルの境界近辺の精密さは低下するが、これらの特別な場合の処理はもちろん簡素化することも可能である。
【0073】
デコーダにおいて、送信されたMDCTスペクトルから正確なMDSTスペクトルを算出することは、デコーダでの遅延を1フレーム分(ここでは1024個のサンプルであると仮定する)増大させる。
【0074】
入力として次のフレームのMDCTスペクトルを必要とはしないMDSTスペクトルの近似値を使用することにより、この遅延の増大を避けることができる。
【0075】
以下に、QMFに基づく統合ステレオコーディングに対するMDCTに基づく統合ステレオコーディングの利点を要約する。
【0076】
・計算量のほんのわずかな増大(SBRが使用されない場合)。
・MDCTスペクトルが量子化されない場合には、完全な再構築までの規模拡大。QMFに基づく統合ステレオコーディングの場合はこのようなものではない。
・M/Sコーディングと強度ステレオコーディングの自然な拡張。
・ステレオ信号処理と量子化/符号化が密接に結びついていることによる、エンコーダチューニングを簡素化する明快な構造。QMFに基づく統合ステレオコーディングでは、MPEGサラウンドフレームとMDCTフレームは整列されてはいず、スケールファクターバンドとパラメータバンドとは一致していない。
・MPEGサラウンド(ICC、CLD、IPD)においては三つのパラメータが送信されなければならないが、二つのパラメータ(複素数α)のみを必要とすることによる、ステレオパラメータの効率的なコーディング。
・MDSTスペクトルが近似値として算出される場合(次のフレームを使用せずに)には、デコーダ遅延の増大はない。
【0077】
一実施例の重要な特徴を以下に要約する。
【0078】
a)MDSTスペクトルは、現在の、前の及び次のMDCTスペクトルから、二次元的FIRフィルタリングによって算出される。FIRフィルタータップの個数及び/または使用するMDCTフレームの個数を減らすことにより、MDST演算(推定)の際の計算量と質との間の種々のトレードオフが可能である。特に、送信の間のフレーム損失または変換長さの切り替えにより、隣接するフレームが入手不可である場合には、そのフレームはMDSTの推定から除外される。変換長さの切り替えの場合に関して、その除外はビットストリームで信号伝達される。
【0079】
b)ICCとCLDとIPDの代わりに、二つのパラメータ、つまり複素数予測係数αの実部と虚部のみが送信される。αの実部と虚部は別々に処理されるが、[−3.0,3.0]の範囲に限られ、0.1の刻み幅で量子化される。どちらかのパラメータ(αの実部または虚部)がそのフレームで使用されていない場合には、このことがビットストリームで信号伝達され、その無意味なパラメータは送信されない。これらのパラメータは時間差分符号化または周波数差分符号化され、最終的に、スケールファクターコードブックを使用してハフマンコーディングが行われる。予測係数は、スケールファクターバンドの一つおきに更新され、これにより、MPEGサラウンドの場合と同様の周波数分解能となる。この量子化符号化スキームにおいて、96kb/sの目標ビットレートである一般的な構成では、ステレオサイド情報に関して約2kb/sの平均ビットレートとなる。
【0080】
別の好ましい実施例は以下の詳細を含む。
【0081】
c)αの二つのパラメータそれぞれに関して、フレームごとまたはストリームごとの非差分(PCM)または差分(DPCM)コーディングを選択してもよく、これはビットストリーム中の対応するビットで信号伝達される。DPCMコーディングとしては、時間差分または周波数差分コーディングが可能である。これも1ビットフラグで信号伝達されてもよい。
【0082】
d)αパラメータ値を符号化するために、AACスケールファクターブックのような既定のコードブックを再利用する代わりに、専用で不変のまたは信号適応可能なコードブックを使用してもよく、あるいは、一定長さの(例えば4ビットの)符号なし符号語または二つの互いに補完的な符号語に戻ってもよい。
【0083】
e)αのパラメータ値の範囲もパラメータ量子化の刻み幅も任意に選択でき、目前の信号の特徴に合わせて最適化してもよい。
【0084】
f)アクティブなαパラメータバンドの個数とスペクトル幅及び/または時間幅は任意に選択でき、与えられた信号の特徴に合わせて最適化してもよい。特に、バンドの構成はフレームごとにまたはストリームごとに信号伝達されてもよい。
【0085】
g)上記a)で述べたメカニズムに加えてあるいはその代わりに、ビットストリームの1フレームにつき1ビットで、MDSTスペクトルの近似値の算出には現在のフレームのMDCTスペクトルのみを使用すること、つまり、隣接するMDCTフレームは考慮しないということを明確に示してもよい。
【0086】
実施形態は、MDCT領域での統合ステレオコーディングのための本発明のシステムに関するものである。それによると、高いビットレートでも(SBRを使用しない場合)計算量がそれほど増加することなく(QMFに基づくアプローチでは計算量がかなり増加する)、MPEG−USACシステムにおけるステレオコーディングの利点を活用することが可能になる。
【0087】
以下の二つのリストは前述した好ましい構成を要約したものであるが、これらは互いに二者択一的にまたは他の態様に加えて使用することができる。
【0088】
1a)一般概念:ミッドMDCTとMDSTからのサイドMDCTの複素数予測
1b)一つまたはそれ以上のフレームを使用して(3フレームの使用は遅延を生じさせる)周波数領域でのMDCTからMDSTの(R2I)算出/推定
1c)計算量軽減のためのフィルター切り捨て(1フレーム2タップ、つまり[−1 0 1]までへの切り捨ても可能)
1d)DCとfs/2の適切な処理
1e)ウィンドウ形状切り替えの適切な処理
1f)異なる変換サイズの場合の前の/次のフレームの不使用
1g)エンコーダにおける非量子化MDCTまたは量子化MDCT係数に基づく予測
【0089】
2a)複素数予測係数の実部と虚部の直接的な(つまり、MEPGサラウンドパラメータ化を行わない)量子化及び符号化
2b)このための均一な量子化器(例えば0.1の刻み幅)の使用
2c)予測係数のための妥当な周波数分解能の使用(例えば二つのスケールファクターバンドに対し1個の係数)
2d)全ての予測係数が実数である場合の節約的な信号伝達
2e)1フレームのR2I演算を実行させるためのフレームごとの明示ビット
【0090】
一実施形態において、エンコーダはさらに、2チャンネル信号の時間領域表記を、その2チャンネル信号に関するサブバンド信号を有する2チャンネル信号スペクトル表記に変換するためのスペクトル変換器(50,51)を含み、結合器(2031)、予測器(2033)及び残留信号計算機(2034)は、複数のサブバンドに関して第1結合信号と残留信号が得られるように各サブバンド信号を処理するよう構成され、出力インターフェース(212)は、複数のサブバンドに関して符号化された第1結合信号と符号化された残留信号とを結合するよう構成されている。
【0091】
いくつかの態様を装置に関して説明してきたが、これらの態様は相応する方法として説明することもでき、このような方法においては、ブロックまたは装置は方法ステップまたは方法ステップの特徴に相応する。同様に、方法ステップに関して説明した態様は相応するブロックまたは素子あるいは相応する装置の特徴として説明することもできる。
【0092】
本発明の一実施形態において、ウィンドウ形状切り替えに対して適切な処理が行われる。
図10Aの場合には、ウィンドウ形状情報109が虚数スペクトル計算機1001に入力されてもよい。詳しくは、MDCTスペクトルのような実数値スペクトルの実数−虚数変換を行う虚数スペクトル計算機(
図6Aの素子2070または
図6Bの素子1160a)は、FIRまたはIIRフィルターとして実施可能である。この実数−虚数変換モジュール1001におけるFIRまたはIIR係数は、現在のフレームの左半分または右半分のウィンドウ形状によって決まる。このウィンドウ形状は、サインウィンドウであるかKBD(カイザー・ベッセル派生)ウィンドウであるかによって異なり、また、与えられたウィンドウシーケンスの構成により、ロングウィンドウ、スタートウィンドウ、ストップウィンドウ、ストップ−スタートウィンドウまたはショートウィンドウであり得る。実数−虚数変換モジュールは二次元的FIRフィルターを含んでいてもよく、そのうち一つの次元は二つの連続的なMDCTフレームがFIRフィルターに入力される時間次元であり、もう一つの次元はフレームの周波数係数が入力される周波数次元である。
【0093】
以下の表は、ウィンドウの左半分と右半分の様々なウィンドウ形状と様々な実施例における、現在のウィンドウシーケンスのための様々なMDSTフィルター係数を示している。
【0095】
さらに、MDCTスペクトルからMDSTスペクトルを算出するのに、前のウィンドウが使用される場合、ウィンドウ形状情報109は前のウィンドウにウィンドウ形状情報を提供する。前のウィンドウのためのMDSTフィルター係数を以下の表に示す
【0097】
従って、
図10Aの虚数スペクトル計算機1001は、ウィンドウ形状情報109に基づき、様々なフィルター係数組を使用することで適応する。
【0098】
デコーダ側で使用されるウィンドウ形状情報はエンコーダ側で算出され、エンコーダの出力信号と共に、サイド情報として送られる。デコーダ側では、ウィンドウ形状情報109はビットストリームデマルチプレクサー(例えば
図5Bの102)によってビットストリームから抽出され、
図10Aに示されているような虚数スペクトル計算機1001に送られる。
【0099】
ウィンドウ形状情報109が、前のフレームが異なる変換サイズであったことを示している場合には、実数値スペクトルから虚数スペクトルを算出するのに、前のフレームを使用しないことが好ましい。ウィンドウ形状情報109を読み取ることで、次のフレームが異なる変換サイズであることがわかる場合も同様に、実数値スペクトルから虚数スペクトルを算出するのに、次のフレームを使用しないことが好ましい。例えば、前のフレームが現在のフレームとは違う変換サイズであり、次のフレームも現在のフレームとは違う変換サイズである場合には、現在のフレームのみ、つまり現在のウィンドウのスペクトル値のみが虚数スペクトルの推定に使用される。
【0100】
エンコーダでの予測は、非量子化周波数係数またはMDCT係数のような量子化周波数係数に基づく。
図3A中素子2033で示される予測が例えば非量子化データに基づくものである場合、残留信号計算機2034もまた非量子化データに基づき演算を行うことが好ましく、残留信号計算機の出力信号、つまり残留信号205は、エントロピー符号化されデコーダに送られる前に量子化される。あるいは別の実施形態においては、予測は量子化MDCT係数に基づき行われることが好ましい。そして、
図3Aの結合器2031の前で量子化が行われてもよく、この場合、第1量子化チャンネルと第2量子化チャンネルが残留信号計算の基礎となる。あるいは、量子化は結合器2031の直後に行われてもよく、この場合、第1結合信号と第2結合信号が非量子化状態で算出され、残留信号計算の前に量子化される。さらに別の例では、予測器2033は非量子化領域で動作してもよく、予測信号2035は残留信号計算機に入力される前に量子化される。そして、第2結合信号2032(これもまた残留信号計算機2034に入力される)もまた、
図6Aにおいて、残留信号計算機が残留信号を算出しデコーダ側で入手できるものと同じ量子化データで演算する前に量子化される(
図3Aでは予測器2033内で実施されてもよい)ことが有効である。これにより、残留信号算出を行うためにエンコーダで推量されたMDSTスペクトルは、デコーダで逆予測を行うために、つまり残留信号からサイド情報を算出するために使用されるMDSTスペクトルと全く同じであることが保障される。このために、
図6Aのライン204上の信号Mのような結合信号はブロック2070に入力される前に量子化される。そして、現在のフレームの量子化MDCTスペクトルを使用して算出されたMDSTスペクトルと、制御情報に応じて、前のまたは次の量子化MDCTスペクトルがマルチプレクサー2074に入力され、
図6Aのマルチプレクサー2070の出力は再び非量子化スペクトルとなる。この非量子化スペクトルは加算器2034bへ入力されたスペクトルから差し引かれ、最終的に量子化器209bで量子化される。
【0101】
一実施形態において、予測バンドごとの複素数予測係数の実部と虚部は、例えばMPEGサラウンドパラメータ化をしないで、直接量子化され、符号化される。この量子化は例えば0.1の刻み幅の均一量子化器を使用して行ってもよい。これは、対数量子化刻み幅のようなものは全く適用されず、何らかの線形刻み幅が適用されることを意味する。一実施例においては、複素数予測係数の実部と虚部の数値範囲は、−3〜3であり、これは、この実施例の詳細にもよるが、60または61個の量子化のステップが複素数予測係数の実部と虚部に使用されるということである。
【0102】
図6Aのマルチプレクサー2073で使用される実部と
図6Aのマルチプレクサー2074で使用される虚部は、そこで使用される前に量子化され、デコーダ側で入手可能であるのと同じ値がエンコーダ側での予測のために使用される。これにより、量子化予測係数がデコーダ側で使用されている間に、非量子化予測係数がエンコーダ側で使用された際に生じ得たいかなるエラーをも(量子化によって引き起こされたエラーは別にして)、予測残留信号が確実にカバーする。エンコーダ側とデコーダ側で、できる限り同じ状況と同じ信号が入手可能であるように、量子化が行われることが好ましい。従って、量子化器209aで適用されるのと同じ量子化方法を用いて、実数−虚数計算機2070への入力を量子化することが好ましい。また、素子2073と2074での掛け算のための予測係数αの実部と虚部を量子化することが好ましい。この量子化は、量子化器2072で行われるものと同じである。さらに、
図6Aのブロック2031によって出力されるサイド信号もまた、加算器2034a,2034bの前に量子化され得る。しかし、これらの加算器が非量子化サイド信号を用いて加算を行った直後に、量子化器209bによって量子化を行っても問題はない。
【0103】
本発明の別の実施形態において、全ての予測係数が実数である場合の節約的な信号伝達が適用される。ある一つのフレームつまりオーディオ信号の同じ時間部分のための予測係数が全て実数値として算出される場合がある。ミッド信号全体とサイド信号全体が互いに全くあるいはほとんど位相シフトしていない場合にこのような状況が起こり得る。ビットを節約するために、一つの実数値指標によってこの状況を示す。そして、予測係数の虚部は、ビットストリーム中で0の値を表す符号語で信号伝達される必要はない。デコーダ側では、ビットストリームデマルチプレクサーのようなビットストリームデコーダインターフェースはこの実数値指標を読み取り、虚部に関する符号語を検索せず、ビットストリームの相応する部分の全てのビットは実数値予測係数であると見なす。さらに、予測器2033がそのフレームの予測係数の全ての虚部は0であるという指標を受け取った場合、予測器2033は、実数値MDCTスペクトルからMDSTスペクトル、あるいは一般的には虚数スペクトルを算出する必要がない。従って、
図6Bのデコーダ内の素子1160aの動作が停止され、
図6Bのマルチプレクサー1160bで使用される実数値予測係数だけで逆予測が行われる。エンコーダ側でも同様に、素子2070の動作が停止され、マルチプレクサー2073のみを使用して予測が行われる。このサイド情報はフレームごとの付加的なビットとして使用されることが好ましく、デコーダは、実数−虚数変換器1160aをそのフレームのために作動すべきかどうかを決定するために、フレームごとにこのビットを読み取る。このように、この情報の提供は、一つのフレームに関する予測係数の全ての虚部が0であることをより効率的に信号伝達することにより、ビットストリームサイズの縮小化をもたらし、さらに、例えばモバイルのバッテリー駆動装置で使用されるこのようなプロセッサーのバッテリー消費量の削減という結果をもたらす。
【0104】
本発明の好ましい実施形態に係る複素数ステレオ予測は、チャンネル間でレベル差及び/または位相差を有するチャンネル対の効率的なコーディングのためのツールである。複素数値パラメータαを使用して、左右のチャンネルが以下に示すマトリクスにより再構築される。dmx
Imは、ダウンミックスチャンネルdmx
ReのMDCTに相当するMDSTを示す。
【0106】
上記式は別の表記であり、αの実部と虚部に関して分けられ、一体化された予測/結合処理のための式を表すものであり、予測信号Sは必ずしも算出されない。
【0107】
このツールのために、以下のデータ成分を使用することが好ましい。
cplx_pred_all
0:いくつかのバンドは、cplx_pred_used[]によって信号伝達されるように、L/Rコーディングを使用している。
1:全てのバンドは、複素数ステレオ予測を使用している。
【0108】
cplx_pred_used[g][sfb]
ウィンドウグループg及びスケールファクターバンドsfb(予測バンドからのマッピング後)ごとの1ビットフラグであり、以下のことを示す
0:複素数予測は使用されず、L/Rコーディングが使用されている。
1:複素数予測が使用されている。
【0109】
complex_coef
0:全ての予測バンドに関してα
lm=0である。
1:全ての予測バンドに関してα
lmが送信される。
【0110】
use_prev_frame
0:MDST推定のために現在のフレームのみを使用する。
1:MDST推定のために現在のフレームと前のフレームを使用する。
【0111】
delta_code_time
0:予測係数の周波数差分コーディング
1:予測係数の時間差分コーディング
【0112】
hcod_alpha_q_re
α
Reのハフマンコード
【0113】
hcod_alpha_q_im
α
Imのハフマンコード
【0114】
これらのデータ成分はエンコーダで算出され、ステレオまたはマルチチャンネルオーディオ信号のサイド情報に入れられる。これらの成分はデコーダ側でサイド情報抽出器によりサイド情報から抽出され、デコーダ計算機に対応する処理を行わせるよう制御するのに使用される。
【0115】
複素数ステレオ予測には、現在のチャンネル対のダウンミックスMDCTスペクトルが必要であり、complex_coef=1の場合には、さらに現在のチャンネル対のダウンミックスMDSTスペクトルの推定、つまりMDCTスペクトルの虚数対応部分の推定が必要である。ダウンミックスMDSTスペクトルの推定は現在のフレームのMDCTダウンミックスから算出され、use_prev_frame=1の場合、さらに前のフレームのMDCTダウンミックスからも計算される。ウィンドウグループgとグループウィンドウbの前のフレームのMDCTダウンミックスは、そのフレームの再構築された左右のスペクトルから得られる。
【0116】
ダウンミックスMDST推定計算のために、ウィンドウシーケンスとfilter_coefとfilter_coef_prev(フィルターカーネルのアレイであり、前記表に基づき引き出される)によって決まる偶数値のMDCT変換長さが使用される。
【0117】
全ての予測係数に関して、前の(時間に関してまたは周波数に関して)値に対する変化がハフマンコードブックを用いて符号化される。予測係数は、cplx_pred_used=0の場合には予測バンドに関して送信されない。
【0118】
逆量子化予測係数alpha_reとalpha_imは以下によって与えられる。
alpha_re=alpha_q_re?0.1
alpha_im=alpha_q_im?0.1
【0119】
本発明は、ステレオ信号つまり二つだけのチャンネルを有するチャンネル信号だけでなく、5.1や7.1信号のような三つまたはそれ以上のチャンネルを有するマルチチャンネル信号のうちの二つのチャンネルに対しても応用可能であることを強調する。
【0120】
本発明の符号化されたオーディオ信号はデジタル記憶媒体に保存可能であり、また、インターネットのような無線や有線の送信媒体上で送信可能である。
【0121】
実施条件により、本発明はハードウェアまたはソフトウェアで実施可能である。この実施形態は、例えばフロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROMやFLASHメモリーなどの、電子読み取り制御可能な信号が中に保存されたデジタル記憶媒体を使用して実施することができ、これらの電子読み取り制御可能な信号は、それぞれの方法が実行できるように、プログラム可能なコンピュータシステムと協働する(または協働可能である)。
【0122】
本発明のいくつかの実施形態は、電子読み取り制御可能な信号を有する持続的または実体的なデータキャリアを含み、これらの電子読み取り制御可能な信号は、ここで説明した方法のうちの一つを実行できるように、プログラム可能なコンピュータシステムと協働可能である。
【0123】
概して、本発明の実施形態は、プログラムコードを備えたコンピュータプログラム製品として実施でき、このプログラム製品がコンピュータで動作した際、このプログラムコードは前述の方法のうちの一つを実行するためのものである。このようなプログラムコードは、例えば機械読み取り可能なキャリアに保存されている。
【0124】
他の実施形態は、ここで説明した方法のうちの一つを実行するためのものであり、機械読み取り可能なキャリアに保存されているコンピュータプログラムを含む。
【0125】
つまり、本発明の方法の一実施形態は、コンピュータで動作した際、ここで説明した方法のうちの一つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0126】
本発明の方法の別の実施形態は、ここで説明した方法のうちの一つを実行するためのコンピュータプログラムが保存されているデータキャリア(またはデジタル記憶媒体またはコンピュータ読み取り可能な媒体)である。
【0127】
本発明の方法のさらに別の実施形態は、ここで説明した方法のうちの一つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。このデータストリームまたは一連の信号は、例えばインターネットのようなデータ通信接続を介して送信されるように構成されていてもよい。
【0128】
さらに別の実施形態は、ここで説明した方法のうちの一つを実行するよう構成されるか適合されたコンピュータなどの処理装置またはプログラム可能な論理装置を含む。
【0129】
さらに別の実施形態は、ここで説明した方法のうちの一つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
【0130】
いくつかの実施形態において、プログラム可能な論理装置(例えばフィールド・プログラマブル・ゲート・アレイ)を、ここで説明した方法のいくつかまたは全ての機能を実行するために使用してもよい。フィールド・プログラマブル・ゲート・アレイは、ここで説明した方法のうちの一つを実行するためにマイクロプロセッサーと協働してもよい。概して、これらの方法は何らかのハードウェア装置によって実行されることが好ましい。
【0131】
上述の実施形態は単に本発明の原理を説明しているにすぎない。ここで説明した配置や詳細に関して様々な修正や変更が当業者には明らかであろう。従って、本発明は以下の特許請求項の範囲によってのみ制限され、上述の実施形態で示された詳細によっては制限されない。