JP3920104B2 - インテンシティステレオ符号化のための位相検出方法および装置 - Google Patents
インテンシティステレオ符号化のための位相検出方法および装置 Download PDFInfo
- Publication number
- JP3920104B2 JP3920104B2 JP2002028285A JP2002028285A JP3920104B2 JP 3920104 B2 JP3920104 B2 JP 3920104B2 JP 2002028285 A JP2002028285 A JP 2002028285A JP 2002028285 A JP2002028285 A JP 2002028285A JP 3920104 B2 JP3920104 B2 JP 3920104B2
- Authority
- JP
- Japan
- Prior art keywords
- scale factor
- phase
- energy
- intensity stereo
- factor band
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、伝送およびデジタル記憶媒体のための、デジタルオーディオ信号の符号化および処理に用いられる技術に関する。
【0002】
【従来の技術】
オーディオ圧縮アルゴリズムにおいては、符号化に利用可能なビット数は、非常に貴重な資源であるが、通常、非常に制限されている。ビット数は、良好な音質を実現するにおいて、非常に重要な役割を演じる。ISO/IEC 13818-7 MPEG-2 Advanced Audio Coding(MPEG-2 AAC)におけるインテンシティステレオは、ビットレートを増加させる必要なく、より良好な音質を実現できるように、高周波領域のチャネルの組をなす2つのチャネル間の無関係性を利用する。MPEG-2 AAC では、スケールファクタ帯域(scalefactor band; sfb)を利用可能にするインテンシティステレオは、ある基準または条件に基づいて、位相一致(In-Phase)または位相不一致(Out-of-Phase)として分類できる。本発明は、位相検出と称される、この位相情報を判定する方法に焦点を合わせる。位相検出は、側波情報を符号化するのに必要とされるビット数を低減するのに有用である。適切な位相を選択することにより、信号損失もまた低減でき、これにより実際の信号により近い信号を再生できる。図4の(a)および(b)は、インテンシティステレオ符号化工程のブロック図である。(a)は、インテンシティステレオの符号化工程を、(b)は、インテンシティステレオの復号化工程を示す。
【0003】
図5は、従来の技術による、MPEG-2 AAC関連のソフトウェアで利用されるフローチャートである。このフローチャートは、信号の特性に考慮することのない、非常に簡単なアルゴリズムを用いる。位相判定は、まず、インテンシティステレオが適用される、開始スケールファクタ帯域の決定により開始される(ステップ201)。従来の技術では、この開始スケールファクタ帯域は、符号化ビットレートおよびサンプリング周波数によることなく6kHzに固定されている。インテンシティステレオが適用されるスケールファクタ帯域では、位相は、位相一致(In-Phase)に固定される(ステップ202)。すべてのインテンシティステレオスケールファクタ帯域が処理されたかが判定され(ステップ203)、処理されるまでこの工程が繰り返される(ステップ204)。
【0004】
【発明が解決しようとする課題】
従来の技術において、各インテンシティステレオスケールファクタ帯域の位相を割り当てるアプローチは、非常に簡単である。しかし、信号の特性に当然の考慮をせず、特定のスケールファクタ帯域に対して位相が適合しないことがあるという意味では、従来の技術は不十分である。力ずくの計算のみで位相を割り当てても、すべての信号に適合することはないからである。この欠点を示すべく、MPEG-2 AACにおけるインテンシティステレオ法を用いる例を、図4の(a)および(b)を参照して、以下に説明する。
【0005】
エンコーダにおける処理
1フレーム内の、ある左チャネルのスケールファクタ帯域、および、それに対応する右チャネルスケールファクタ帯域のスペクトルデータが、以下のとおりとする。
L = {101, 220, 97, 57, 79, 37, 5, -97, -345, -267, -89, 65}
R = {-99, -223, -102, -60, -82, -42, 2, 103, 351, 259, 92, -68}
【0006】
左右のスケールファクタ帯域のエネルギーEl、Erは、以下の数1を用いて、El=290763、Er=296005となる。
【数1】
【0007】
従来の技術によれば、このスケールファクタ帯域の位相は、位相一致(In-Phase)に設定されるであろう。そして、右のスペクトルRに左のスペクトルLを加算することにより、以下の式が得られる。
L+R = {2, -3, -5, -3, -3, -5, 2, 6, 6, -8, 3, -3}
【0008】
合計されたスペクトルのエネルギーEsは、数2を用いて計算され、Es=244となる。
【数2】
【0009】
スケールファクタ帯域に対するisPosition 値およびratio値は、以下の数3を用いて計算され、isPosition =0、ratio=34.5になる。
【数3】
【0010】
isPositionは、インテンシティ位置の値として参照される。これは、スケーリング情報であり、復号化器(デコーダ)が右チャネルを再構築するのに利用する。デコーダは、スケールファクタ帯域内で信号のステレオイメージングを決定する。左右のチャネルからのスペクトル値を加算した後は、以下の数4に示すように、得られた値をratio で再スケーリングすることにより、新たなインテンシティステレオスペクトル係数が導出される。すなわち、
【数4】
を用いて、
L' = {96, -104, -173, -104, -104, -173, 104, 207, 207, 276, 104, -104}
R' = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
と導出される。
【0011】
左チャネルは、インテンシティステレオスペクトル係数L’に置き換えられ、対応する右チャネルR’は0に設定される。
【0012】
デコーダにおける処理
デコーダは、スケーリングファクタを用いて、再構築された左チャネルから右チャネルを再構築する必要がある。このスケーリングファクタは、インテンシティ位置isPositionから導出される。インテンシティ位置は、符号化器(エンコーダ)において計算され、側波情報( side information )としてデコーダに伝送された位置である。この場合、数5の(a)を用いると、スケーリングファクタscale は、1になる。
【数5】
【0013】
sign は、スケールファクタ帯域の位相情報を示す。プラス1(+1)は、位相一致(In-Phase)を示す。一方、マイナス1(−1)は、位相不一致(Out-of-Phase)を示す。MPEG-2 AAC は、インテンシティステレオに対して、2つのハフマンコードブックを与える。1つは、位相一致(In-Phase)に対するコードブックであり、もう1つは、位相不一致(Out-of-Phase)に対するコードブックである。中央波/側波符号化( mid/side coding )およびインテンシティステレオ符号化は、互いに排他的であるため、インテンシティステレオの位相は、各スケールファクタ帯域の、中央波/側波フィールドms_usedを用いることによって、反転できる。1に設定した中央波/側波フィールドを使用すると、ハフマンコードブックにより、各スケールファクタ帯域に対し、位相一致(In-Phase)は位相不一致(Out-of-Phase)に、またはその逆に変更できる。これが、図5の(b)における反転フラグinvertFlag である。
【0014】
スケーリングファクタを用いると、数6により、左チャネルについて再構築された係数L’’から、右チャネルについての再構築された係数R’’が導出できる。すなわち、L’’およびR’’をそれぞれ、デコーダにおいて再構築された、左および右チャネルのスペクトルとして、
【数6】
である。ここで、L’’およびR’’はそれぞれ、デコーダにおいて再構築された左右のチャネルスペクトルである。この結果、
L" = {96, -104, -173, -104, -104, -173, 104, 207, 207, 276, 104, -104}
R" = {96, -104, -173, -104, -104, -173, 104, 207, 207, 276, 104, -104}
が得られる。
【0015】
数1を用いると、再構築された左および右チャネル信号のエネルギーEl’’およびEr’’は、El’’=215213、Er’’ =215213である。
【0016】
元の信号と再構築された信号の間の絶対誤差は、数7を用いて以下のように計算される。すなわち、
Err_l = { 5, 324, 270, 161, 183, 210, 99, 304, 552, 543, 193, 169}
Err_r = {195, 119, 71, 44, 22, 131, 102, 104, 144, 17, 12, 36}
となる。
【数7】
ここで、Err_l およびErr_rはそれぞれ、左および右チャネルの誤差信号である。
【0017】
これまでの説明から明らかなように、位相一致(In-Phase)インテンシティステレオは、元の信号に近いスペクトル係数を再構築することはできない。そして、従来の技術では、各インテンシティステレオスケールファクタ帯域について、適切な位相を判定できない。それは、そのようなスケールファクタ帯域に対して、固定した位相を用いる非常に簡単な方法を適用していたからである。位相を固定すると信号の特性には適当でないため、不適切である。この結果、間接的に何らかの信号の損失を生じた、忠実でない音声の再生を行うことになる。
【0018】
【課題を解決するための手段】
本発明の目的は、デジタルオーディオ圧縮システム、特に、AACアルゴリズムでの使用において、位相を効率よく検出することである。本発明は、インテンシティステレオが適用される、各スケールファクタ帯域について適切な位相を決定する手段を提供する。本発明は、元の信号により一致する信号を再構築することにより、損失の低減を図り、それにより、エネルギーを最大化する。また、本発明は、側波情報のビット数を低減し、さらに、音質を向上させることである。本発明の実施化は、簡易であるが、効率的である。
【0019】
本発明は、インテンシティステレオが適用できるスケールファクタ帯域を決定する手段と、スケールファクタ帯域内の、対応する左右のスペクトルの組の全てについて、合計の2乗を累積することにより、合計エネルギーを計算する手段と、スケールファクタ帯域内の、対応する左右のスペクトルの組の全てについて、差分の2乗を累積することにより、差分エネルギーを計算する手段と、合計エネルギーと差分エネルギーとに基づいて、現在のスケールファクタ帯域の位相を決定する手段と、インテンシティステレオが利用される全てのスケールファクタ帯域に対して、同じ位相を用いる手段と、共通の位相を選択する手段と、共通の位相が用いられるとスケールファクタ帯域の位相を反転する手段とを備えている。
【0020】
より詳しくは、以下のとおりである。
【0021】
本発明による位相検出方法は、オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出方法であって、a)インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定するステップと、b)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル合計Sを求めるステップと、c)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計SのエネルギーEsを計算するステップと、d)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル差分Dを求めるステップと、e)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分DのエネルギーEdを計算するステップと、f)合計された前記エネルギーEsと、前記差分エネルギーEdとのエネルギーレベルを比較するステップと、g)前記インテンシティステレオスケールファクタ帯域の初期位相を決定するステップとを含む。これにより上記目的が達成される。
【0022】
上記a)に規定する前記決定するステップは、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整してもよい。
【0023】
前記スペクトル合計Sを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルLを、対応する前記右スペクトルRに加算することにより、前記スペクトル合計Sを計算してもよい。
【0024】
前記エネルギーEsを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Sの2乗を合計することにより、前記合計されたエネルギーEsを計算してもよい。
【0025】
前記スペクトル差分Dを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルRを、対応する前記左スペクトルLから減算することにより、前記スペクトル差分Dを計算してもよい。
【0026】
前記エネルギーEdを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Dの2乗を合計することにより、前記差分エネルギーEdを計算してもよい。
【0027】
前記初期位相を決定するステップは、前記合計されたエネルギーEsと前記差分エネルギーEdとのエネルギーレベルを比較することにより前記初期位相を決定し、前記合計されたエネルギーEsが前記差分エネルギーEd以上の場合に、前記初期位相を第1の値(In-Phase)に設定し、前記合計されたエネルギーEsが前記差分エネルギーEdより小さい場合に、前記初期位相を前記第1の値と異なる第2の値(Out-of-Phase)に設定してもよい。
【0028】
本発明による、インテンシティステレオ符号化のための位相検出に用いられる共通の位相を決定する方法は、a)インテンシティステレオスケールファクタ帯域から、共通の位相を取得するステップと、b)前記インテンシティステレオスケールファクタ帯域の現在の位相を調べるステップと、c)前記インテンシティステレオスケールファクタ帯域の現在の位相を、前記共通の位相と同じに修正するステップとを含む。これにより上記目的が達成される。
【0029】
前記共通の位相を取得するステップは、前記最初のインテンシティステレオスケールファクタ帯域の位相を採用することにより、前記共通の位相を得てもよい。
【0030】
前記現在の位相を調べるステップは、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、得られた前記共通の位相と比較してもよい。
【0031】
前記修正するステップは、前記現在の位相が前記共通の位相と異なる場合には、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、前記共通の位相と同じ位相に設定し、前記現在の位相が前記共通の位相と同じ場合には、前記現在の位相を、変化することなく保持してもよい。
【0032】
本発明による、オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出装置は、a)インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定する手段と、b)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル合計Sを求める手段と、c)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計SのエネルギーEsを計算する手段と、d)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル差分Dを求める手段と、e)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分DのエネルギーEdを計算する手段と、f)合計された前記エネルギーEsと、前記差分エネルギーEdとのエネルギーレベルを比較する手段と、g)前記インテンシティステレオスケールファクタ帯域の初期位相を決定する手段とを備えている。これにより、上記目的が達成される。
【0033】
a)に規定する前記決定する手段は、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整してもよい。
【0034】
前記スペクトル合計Sを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルLを、対応する前記右スペクトルRに加算することにより、前記スペクトル合計Sを計算してもよい。
【0035】
前記エネルギーEsを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Sの2乗を合計することにより前記合計されたエネルギーEsを計算してもよい。
【0036】
前記スペクトル差分Dを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルRを、対応する前記左スペクトルLから減算することにより、前記スペクトル差分Dを計算してもよい。
【0037】
前記エネルギーEdを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Dの2乗を合計することにより、前記差分エネルギーEdを計算してもよい。
【0038】
前記初期位相を決定する手段は、前記合計されたエネルギーEsと前記差分エネルギーEdとのエネルギーレベルを比較することにより、前記初期位相を決定し、前記合計されたエネルギーEsが前記差分エネルギーEd以上の場合に、前記初期位相を第1の値(In-Phase)に設定し、前記合計されたエネルギーEsが前記差分エネルギーEdより小さい場合に、前記初期位相を前記第1の値と異なる第2の値(Out-of-Phase)に設定してもよい。
【0039】
本発明による、インテンシティステレオ符号化のための位相検出に用いられる共通の位相を決定する装置は、a)インテンシティステレオスケールファクタ帯域から、共通の位相を取得する手段と、b)前記インテンシティステレオスケールファクタ帯域の現在の位相を調べる手段と、c)前記インテンシティステレオスケールファクタ帯域の現在の位相を、前記共通の位相と同じに修正する手段とを含む。これにより、上記目的が達成される。
【0040】
前記共通の位相を取得する手段は、前記最初のインテンシティステレオスケールファクタ帯域の位相を採用することにより、前記共通の位相を得てもよい。
【0041】
前記現在の位相を調べる手段は、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、得られた前記共通の位相と比較してもよい。
【0042】
前記修正する手段は、前記現在の位相が前記共通の位相と異なる場合には、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、前記共通の位相と同じ位相に設定し、前記現在の位相が前記共通の位相と同じ場合には、前記現在の位相を、変化することなく保持してもよい。
【0043】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の実施の形態を説明する。
【0044】
はじめに本発明の基本的動作を説明する。まず、本発明は、簡単だが効率的なアルゴリズムを用いて、インテンシティステレオが、あるスケールファクタ帯域(scalefactor band)に適用されたときに、そのスケールファクタ帯域の位相を検出する。この位相情報は、インテンシティステレオスペクトルデータを量子化するのにどのハフマンコードブックを用いるかを決定する際の、後続の工程において用いられる。
【0045】
図1は、本発明の動作を記述する、基本ブロック図である。このアルゴリズムは、オーディオ信号の周波数スペクトルに作用する。インテンシティステレオが適用できる各スケールファクタ帯域に対して、そのスケールファクタ帯域の合計エネルギー(ステップ301)および差分エネルギー(ステップ302)が、スケールファクタ帯域に対する初期位相を決定する基準として用いられる(ステップ303)。類似の位相が、インテンシティステレオが用いられる全てのスケールファクタ帯域に必要であれば、はじめのインテンシティステレオスケールファクタ帯域の位相が、基準位相または共通の位相(common phase)として選択される(ステップ304)。共通の位相とは異なる、インテンシティステレオスケールファクタ帯域の後続の位相が反転され、共通の位相と同じ位相になり、この反転を示すフラグが設定される(ステップ305)。
【0046】
簡単ながら効率のよい位相検出の方法により、インテンシティステレオが用いられた各スケールファクタ帯域に対して、適切な位相を検出できる。各インテンシティステレオスケールファクタ帯域に対する適切な位相の選択は、音質の改善に寄与する。また、側波情報を表すのに必要とされるビット数を減少するのに役立つ。ビットの節約は、より多くのビット数を必要とする、より重要な他の工程で用いることができる。
【0047】
以下、本発明の実施の形態をより詳しく説明する。位相を検出する方法の詳細は、MPEG-2 AACを例として説明する。この方法はまた、類似の技術を用いる他のオーディオ符号化アルゴリズムにも適用できる。図2および図3を参照して、本発明の実施の形態を説明する。
【0048】
図2は、インテンシティステレオ符号化を行う位相検出装置を示す。加算部403は、左チャネルスペクトル係数L401、および、右チャネルスペクトル係数R402を合計し、スペクトル合計Sを生成する。この値は、2乗計算部404に送られて、エネルギーレベルS2が決定される。エネルギーレベルは、累積部405において、全てのスケールファクタ帯域にわたって累積され、総合計エネルギーEsを得る。同様に、減算部406は、左チャネルL401から、右チャネル402を減算して、スペクトル差分Dを得る。なお、減算は負の加算であることから、右チャネル402の符号を反転して入力することで、減算部406は、加算部403と同じ構成で実現できる。この値も2乗計算部407で2乗され、エネルギーレベルD2が得られる。エネルギーレベルは、累積部408において、全てのスケールファクタ帯域にわたって累積され、総差分エネルギーEdを得る。
【0049】
比較部409は、総合計エネルギーEsを、総差分エネルギーEdと比較する。セレクタ410は、比較部409からの結果を用いて、適切な位相phase を選択する。総合計エネルギーEsのエネルギーレベルが、総差分エネルギーEdより大きく、または同じ場合には、位相一致(In-Phase)が選択される。それ以外の場合には、位相不一致(Out-of-Phase)が選択される。
【0050】
選択された位相を最終位相情報として用いるか、または、セレクタ411を介して、全ての信号スケールファクタ帯域に対する共通の位相情報を用いるかを選択する必要がある。共通の位相が用いられる場合には、最初にその位相が選択されたとき、位相がメモリ412に格納される。これは、後続の位相検出のための基準位相として用いられる。これが共通の位相と呼ばれる位相である。比較部413からの出力は、最終位相情報、および、セレクタ414およびセレクタ415のそれぞれにおける反転フラグを選択するのに用いられる。検出された位相が共通の位相と異なる場合には、共通の位相が位相情報として用いられる。また、ここでは、反転フラグが、マイナス1(−1)に設定されて、位相の変化を示す。検出された位相が共通の位相と同じ場合には、セレクタ410が最初に検出した位相が用いられて、反転フラグはプラス1(+1)に設定される。
【0051】
図3は、スケールファクタ帯域の位相情報を検出する詳細なステップを示すフローチャートである。このフローチャートは、インテンシティステレオ符号化に用いるのに適切である。所与のスケールファクタ帯域の組の中で、インテンシティステレオが適用される高周波領域の開始点が決定される(ステップ501)。これは、インテンシティステレオ開始周波数スケールファクタ帯域、または、省略して、I/S開始sfb(Intensity Stereo start frequency scalefactor band)と参照される。インテンシティステレオ開始周波数スケールファクタ帯域は、符号化ビットレートに依存している。低いビットレートの場合には、開始スケールファクタ帯域はより低くてよい。その一方で、より高いビットレートの場合には、より高い開始スケールファクタ帯域が適切である。インテンシティステレオ開始周波数スケールファクタ帯域として適切な値には、32kbps/チャネルのような低いビットレートに対しては、6kHzのスケールファクタ帯域が用いられ、48kbps/チャネルのようなより高いビットレートに対しては、9kHzのスケールファクタ帯域が用いられる。インテンシティステレオは、上述のインテンシティステレオ開始周波数スケールファクタ帯域よりも大きい、全てのスケールファクタ帯域に適用される。これらのスケールファクタ帯域は、インテンシティステレオスケールファクタ帯域、またはI/Ssfb(Intensity Stereo frequency scalefactor band)と参照される。
【0052】
各インテンシティステレオスケールファクタ帯域について、スケールファクタ帯域内で、左スペクトルLiに、対応する右スペクトルRiを加算することにより、スペクトル合計Siが計算されて求められる(ステップ502)。その後、これらのスペクトル合計SiのエネルギーEssfbが計算される(ステップ503)。これらのステップは、下記数8に示される。
【数8】
ここで、iはスケールファクタ帯域内のスペクトル係数、nは、そのスペクトル係数の数である。
【0053】
スペクトル差分Diも同様に計算される。すなわち、スペクトル差分Diは、スケールファクタ帯域内で、左スペクトルLiから、対応する右スペクトルRiを減算することにより計算される(ステップ504)。エネルギーEdsfbはまた、下記の数9に示される。
【数9】
ここで、iはスケールファクタ帯域内のスペクトル係数、nは、そのスペクトル係数の数である。
【0054】
計算されたエネルギー合計Essfbおよびエネルギー差分Edsfbは、それぞれを比較することにより、インテンシティステレオスケールファクタ帯域の初期位相を決定するのに用いられる。エネルギー合計Essfbが、エネルギー差分Edsfbより大きい、または等しい場合には、初期位相isPhaseInfo は、位相一致(In-Phase)に設定される(ステップ507)。それ以外の場合には、初期位相は、位相不一致(Out-of-Phase)に設定される(ステップ508)。
【数10】
【0055】
符号(sign)の値もまた位相であるが、数式の項で表されている。符号(sign)の値は、位相一致(In-Phase)に対してはプラス1に設定され(ステップ509)、位相不一致(Out-of-Phase)に対してはマイナス1に設定される(ステップ510)。この値は、数5の(a)に示すインテンシティスペクトル係数を計算する際に用いられる。
【0056】
全てのインテンシティステレオスケールファクタ帯域に対して、共通の位相が要求される場合(ステップ511)、さらなる処理が必要となる。全てのインテンシティステレオスケールファクタ帯域に対して、共通の位相を用いる利点は、スケールファクタ帯域により用いられるインテンシティステレオコードブックを表すのに必要とされる側波情報のビット数を低減できることである。基準位相または共通の位相は、最初のインテンシティステレオスケールファクタ帯域のインテンシティステレオ位相情報から導出される(ステップ512)。すなわち、最初のインテンシティステレオスケールファクタ帯域の位相情報は、全ての後続のインテンシティステレオスケールファクタ帯域に対する共通の位相として用いられる(ステップ513)。
【数11】
【0057】
インテンシティステレオスケールファクタ帯域の後続の位相が、共通の位相と異なる場合(ステップ514)、そのインテンシティステレオスケールファクタ帯域に対する位相情報は、中央/側波フィールドms_usedを1に設定することにより反転される(ステップ516)。インテンシティステレオスケールファクタ帯域の位相情報は、共通の位相と同じ値に設定され(ステップ517)、それ以外の場合には、位相情報は維持される(ステップ515)。全てのインテンシティステレオスケールファクタ帯域が処理されるているか否かが判断され(ステップ518)、全てが処理されるまで、上述の手順が繰り返される(ステップ519)。
【数12】
【0058】
以下では、これまでの説明で用いたと同じデータを用いて、以下、エンコーダにおける処理を説明する
【0059】
エンコーダにおける処理
あるフレーム内での、左右のスケールファクタ帯域のスペクトルデータを以下に示す。
L = {101, 220, 97, 57, 79, 37, 5, -97, -345, -267, -89, 65}
R = {-99, -223, -102, -60, -82, -42, 2, 103, 351, 259, 92, -68}
エネルギーは、数1を用いて、El=290763、Er=296005となる。
【0060】
本発明によれば、合計スペクトルS、および、差分スペクトルDは、数8の(a)および数9の(a)を用いて計算できる。すなわち、
In_Phase:
S = L+R = { 2, -3, -5, -3, -3, -5, 2, 6, 6, -8, 3, -3}
Out_of_Phase:
D = L-R = {200, 443, 199, 117, 161, 79, 3, -200, -696, -526, -181 133}
となる。
【0061】
合計されたスペクトルのエネルギーEs、および、差分スペクトルのエネルギーEdは、数8の(b)および数9の(b)を用いて計算できる。すなわち、Es=244、Ed=1173252である。
【0062】
差分エネルギーEdが合計エネルギーEsより大きいので、数10に示すと同様、Out_of_Phaseのインテンシティステレオが用いられる。sign値は、マイナス1に設定される。よって、isPhase = Out_of_Phase、sign=−1となる。
【0063】
スケールファクタ帯域についてのisPosition値、および、ratio値は、下記数13を用いると、isPosition=0、および、ratio=0.4978となる。
【数13】
【0064】
左のスペクトルから右のスペクトルを減算した後は、数14に示すように、その結果をratio値で再スケーリングすることにより、新たなインテンシティステレオスペクトル係数L’を導出できる。
【数14】
左チャネルはインテンシティステレオスペクトル係数L’で置き換えられ、対応する右チャネルR’は、0に設定される。すなわち、
L' = {100, 221, 99, 58, 80, 39, 2, -100, -346, -262, -90, 66}
R' = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
となる。
【0065】
デコーダにおける処理
デコーダは、スケーリングファクタを用いて、再構築された左チャネルから右チャネルを再構築する。この場合は、ms_used フラグは設定されないと仮定する。それは、1つのスケーリングファクタ帯域のみが用いられるとしているからである。sign値は、インテンシティステレオスケールファクタ帯域の位相情報を表すハフマンコードブックから導出される。数5の(a)および(b)からsign=−1、invertFlag=+1と導出されるスケーリングファクタは、scale=−1となる。
【0066】
以下に示すように、スケーリングファクタscale を用いると、数6により、左チャネルについて再構築された係数L’’から、右チャネルについて再構築された係数R’’が導出できる。
L" = {-100, -221, -99, -58, -80, -39, -2, 100, 346, 262, 90, -66}
R" = { 100, 221, 99, 58, 80, 39, 2, -100, -346, -262, -90, 66}
数1を用いると、再構築された左右のチャネル信号のエネルギーは、それぞれ、
El" = 290747、Er" = 290747となる。基づいてとのスペクトルと再構築されたスペクトル間の絶対誤差は、数7を用いて、
Err_l = {1, 1, 2, 1, 1, 2, 3, 3, 1, 5, 1, 1}
Err_r = {1, 2, 3, 2, 2, 3, 4, 3, 5, 3, 2, 2}
と計算される。
【0067】
これまでの説明によれば、従来と比較すると、本発明の方がより優れていることが非常に明白である。元のスペクトルにより近く一致するスペクトル係数を再構築するので、スペクトル信号のより忠実な再構築が可能である。
【0068】
【発明の効果】
本発明で開示された方法によれば、信号の特性に適合するインテシティステレオを適用して、スケールファクタ帯域の適切な位相を決定できる。各インテンシティステレオスケールファクタ帯域に対して、良好な位相を選択することにより、スケールファクタ帯域の総エネルギーが最大化される。信号スペクトルのより忠実な再生を実現でき、その間接的な結果として、エネルギー損失の量がより小さくなる。また、全てのインテンシティステレオスケールファクタ帯域に対して共通の位相を用いることにより、側波情報のビット数が低減できる。ビット数の節約により、良好な音質を得る際に非常に重要な、量子化などの他の工程に充てることができる。位相検出方法を実施するのに必要な論理は簡易であるが、効率的である。この方法は、類似の技術を用いる、他のオーディオ符号化アルゴリズムに対しても容易に適用できる。
【図面の簡単な説明】
【図1】 本発明の動作を記述する、基本ブロック図である。
【図2】 インテンシティステレオ符号化を行う位相検出装置を示す。
【図3】 スケールファクタ帯域の位相情報を検出する詳細なステップを示すフローチャートである。
【図4】 (a)は、インテンシティステレオ符号化工程のブロック図である。(b)は、インテンシティステレオ復号化工程のブロック図である。
【図5】 従来の技術による、MPEG-2 AAC関連のソフトウェアで利用されるフローチャートである。
【符号の説明】
401 左チャネルL
402 右チャネルR
403 加算部
404 2乗計算部
405 累積部
406 減算部
407 2乗計算部
408 累積部
409 比較部
410 セレクタ
411 セレクタ
412 メモリ
413 比較部
414 セレクタ
415 セレクタ
Claims (14)
- オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出方法であって、
a)インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定するステップと、
b)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル合計Sを求めるステップと、
c)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計SのエネルギーEsを計算するステップと、
d)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル差分Dを求めるステップと、
e)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分DのエネルギーEdを計算するステップと、
f)合計された前記エネルギーEsと、前記差分エネルギーEdとのエネルギーレベルを比較するステップと、
g)前記合計されたエネルギーEsと前記差分エネルギーEdとのエネルギーレベルの比較に基づいて前記インテンシティステレオスケールファクタ帯域の初期位相を決定するステップと
からなる、位相検出方法。 - a)に規定する前記決定するステップは、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整する、請求項1に記載の位相検出方法。
- 前記スペクトル合計Sを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルLを、対応する前記右スペクトルRに加算することにより、前記スペクトル合計Sを計算する、請求項1に記載の位相検出方法。
- 前記エネルギーEsを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Sの2乗を合計することにより、前記合計されたエネルギーEsを計算する、請求項1に記載の位相検出方法。
- 前記スペクトル差分Dを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルRを、対応する前記左スペクトルLから減算することにより、前記スペクトル差分Dを計算する、請求項1に記載の位相検出方法。
- 前記エネルギーEdを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Dの2乗を合計することにより、前記差分エネルギーEdを計算する、請求項1に記載の位相検出方法。
- 前記初期位相を決定するステップは、前記合計されたエネルギーEsが前記差分エネルギーEd以上の場合に、前記初期位相を第1の値(In-Phase)に設定し、前記合計されたエネルギーEsが前記差分エネルギーEdより小さい場合に、前記初期位相を前記第1の値と異なる第2の値(Out-of-Phase)に設定する、請求項1に記載の位相検出方法。
- オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出装置であって、
a)インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定する手段と、
b)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル合計Sを求める手段と、
c)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計SのエネルギーEsを計算する手段と、
d)各インテンシティステレオスケールファクタ帯域について、各左スペクトルLと右スペクトルRのスペクトル差分Dを求める手段と、
e)インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分DのエネルギーEdを計算する手段と、
f)合計された前記エネルギーEsと、前記差分エネルギーEdとのエネルギーレベルを比較する手段と、
g)前記合計されたエネルギーEsと前記差分エネルギーEdとのエネルギーレベルの比較に基づいて前記インテンシティステレオスケールファクタ帯域の初期位相を決定する手段と
を備えた、位相検出装置。 - a)に規定する前記決定する手段は、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整する、請求項8に記載の位相検出装置。
- 前記スペクトル合計Sを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルLを、対応する前記右スペクトルRに加算することにより、前記スペクトル合計Sを計算する、請求項8に記載の位相検出装置。
- 前記エネルギーEsを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Sの2乗を合計することにより前記合計されたエネルギーEsを計算する、請求項8に記載の位相検出装置。
- 前記スペクトル差分Dを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルRを、対応する前記左スペクトルLから減算することにより、前記スペクトル差分Dを計算する、請求項8に記載の位相検出装置。
- 前記エネルギーEdを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Dの2乗を合計することにより、前記差分エネルギーEdを計算する、請求項8に記載の位相検出装置。
- 前記初期位相を決定する手段は、前記合計されたエネルギーEsが前記差分エネルギーEd以上の場合に、前記初期位相を第1の値(In-Phase)に設定し、前記合計されたエネルギーEsが前記差分エネルギーEdより小さい場合に、前記初期位相を前記第1の値と異なる第2の値(Out-of-Phase)に設定する、請求項8に記載の位相検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002028285A JP3920104B2 (ja) | 2002-02-05 | 2002-02-05 | インテンシティステレオ符号化のための位相検出方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002028285A JP3920104B2 (ja) | 2002-02-05 | 2002-02-05 | インテンシティステレオ符号化のための位相検出方法および装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003228397A JP2003228397A (ja) | 2003-08-15 |
JP2003228397A5 JP2003228397A5 (ja) | 2005-08-11 |
JP3920104B2 true JP3920104B2 (ja) | 2007-05-30 |
Family
ID=27749551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002028285A Expired - Fee Related JP3920104B2 (ja) | 2002-02-05 | 2002-02-05 | インテンシティステレオ符号化のための位相検出方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3920104B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010017833A1 (en) | 2008-08-11 | 2010-02-18 | Nokia Corporation | Multichannel audio coder and decoder |
CN101826326B (zh) | 2009-03-04 | 2012-04-04 | 华为技术有限公司 | 一种立体声编码方法、装置和编码器 |
-
2002
- 2002-02-05 JP JP2002028285A patent/JP3920104B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003228397A (ja) | 2003-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3579047B2 (ja) | オーディオ復号装置と復号方法およびプログラム | |
US20060031075A1 (en) | Method and apparatus to recover a high frequency component of audio data | |
US6345246B1 (en) | Apparatus and method for efficiently coding plural channels of an acoustic signal at low bit rates | |
US8321229B2 (en) | Apparatus, medium and method to encode and decode high frequency signal | |
US8639500B2 (en) | Method, medium, and apparatus with bandwidth extension encoding and/or decoding | |
JP5485909B2 (ja) | オーディオ信号処理方法及び装置 | |
RU2595544C2 (ru) | Устройство и способ кодирования, устройство и способ декодирования и программа | |
US10255928B2 (en) | Apparatus, medium and method to encode and decode high frequency signal | |
RU2630887C2 (ru) | Звуковые кодирующее устройство и декодирующее устройство | |
CN106796798B (zh) | 用于使用独立噪声填充生成增强信号的装置和方法 | |
US7991622B2 (en) | Audio compression and decompression using integer-reversible modulated lapped transforms | |
US20070078646A1 (en) | Method and apparatus to encode/decode audio signal | |
JP2010020346A (ja) | 音声信号および音楽信号を符号化する方法 | |
JP4782006B2 (ja) | 低ビットレートオーディオ符号化 | |
JP2011203752A (ja) | オーディオ符号化方法及び装置 | |
KR102670634B1 (ko) | 멀티 채널 오디오 코딩 | |
JP2007504503A (ja) | 低ビットレートオーディオ符号化 | |
JP2019506633A (ja) | 改良されたミッド/サイド決定を持つ包括的なildを持つmdct m/sステレオのための装置および方法 | |
US20110137661A1 (en) | Quantizing device, encoding device, quantizing method, and encoding method | |
JPWO2010140350A1 (ja) | ダウンミックス装置、符号化装置、及びこれらの方法 | |
US20220284908A1 (en) | Encoder, decoder, encoding method and decoding method for frequency domain long-term prediction of tonal signals for audio coding | |
EP0922278B1 (en) | Variable bitrate speech transmission system | |
US8086465B2 (en) | Transform domain transcoding and decoding of audio data using integer-reversible modulated lapped transforms | |
US20080255860A1 (en) | Audio decoding apparatus and decoding method | |
JP3920104B2 (ja) | インテンシティステレオ符号化のための位相検出方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050127 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070214 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100223 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110223 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |