(57)【特許請求の範囲】
【請求項１】
オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出方法であって、
ａ）インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定するステップと、
ｂ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル合計Ｓを求めるステップと、
ｃ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計ＳのエネルギーＥｓを計算するステップと、
ｄ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル差分Ｄを求めるステップと、
ｅ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分ＤのエネルギーＥｄを計算するステップと、
ｆ）合計された前記エネルギーＥｓと、前記差分エネルギーＥｄとのエネルギーレベルを比較するステップと、
ｇ）前記合計されたエネルギーＥｓと前記差分エネルギーＥｄとのエネルギーレベルの比較に基づいて前記インテンシティステレオスケールファクタ帯域の初期位相を決定するステップと
からなる、位相検出方法。
【請求項２】
ａ）に規定する前記決定するステップは、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整する、請求項１に記載の位相検出方法。
【請求項３】
前記スペクトル合計Ｓを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルＬを、対応する前記右スペクトルＲに加算することにより、前記スペクトル合計Ｓを計算する、請求項１に記載の位相検出方法。
【請求項４】
前記エネルギーＥｓを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Ｓの２乗を合計することにより、前記合計されたエネルギーＥｓを計算する、請求項１に記載の位相検出方法。
【請求項５】
前記スペクトル差分Ｄを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルＲを、対応する前記左スペクトルＬから減算することにより、前記スペクトル差分Ｄを計算する、請求項１に記載の位相検出方法。
【請求項６】
前記エネルギーＥｄを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Ｄの２乗を合計することにより、前記差分エネルギーＥｄを計算する、請求項１に記載の位相検出方法。
【請求項７】
前記初期位相を決定するステップは、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄ以上の場合に、前記初期位相を第１の値（In-Phase）に設定し、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄより小さい場合に、前記初期位相を前記第１の値と異なる第２の値（Out-of-Phase）に設定する、請求項１に記載の位相検出方法。
【請求項８】
オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出装置であって、
ａ）インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定する手段と、
ｂ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル合計Ｓを求める手段と、
ｃ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計ＳのエネルギーＥｓを計算する手段と、
ｄ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル差分Ｄを求める手段と、
ｅ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分ＤのエネルギーＥｄを計算する手段と、
ｆ）合計された前記エネルギーＥｓと、前記差分エネルギーＥｄとのエネルギーレベルを比較する手段と、
ｇ）前記合計されたエネルギーＥｓと前記差分エネルギーＥｄとのエネルギーレベルの比較に基づいて前記インテンシティステレオスケールファクタ帯域の初期位相を決定する手段と
を備えた、位相検出装置。
【請求項９】
ａ）に規定する前記決定する手段は、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整する、請求項８に記載の位相検出装置。
【請求項１０】
前記スペクトル合計Ｓを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルＬを、対応する前記右スペクトルＲに加算することにより、前記スペクトル合計Ｓを計算する、請求項８に記載の位相検出装置。
【請求項１１】
前記エネルギーＥｓを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Ｓの２乗を合計することにより前記合計されたエネルギーＥｓを計算する、請求項８に記載の位相検出装置。
【請求項１２】
前記スペクトル差分Ｄを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルＲを、対応する前記左スペクトルＬから減算することにより、前記スペクトル差分Ｄを計算する、請求項８に記載の位相検出装置。
【請求項１３】
前記エネルギーＥｄを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Ｄの２乗を合計することにより、前記差分エネルギーＥｄを計算する、請求項８に記載の位相検出装置。
【請求項１４】
前記初期位相を決定する手段は、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄ以上の場合に、前記初期位相を第１の値（In-Phase）に設定し、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄより小さい場合に、前記初期位相を前記第１の値と異なる第２の値（Out-of-Phase）に設定する、請求項８に記載の位相検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、伝送およびデジタル記憶媒体のための、デジタルオーディオ信号の符号化および処理に用いられる技術に関する。
【０００２】
【従来の技術】
オーディオ圧縮アルゴリズムにおいては、符号化に利用可能なビット数は、非常に貴重な資源であるが、通常、非常に制限されている。ビット数は、良好な音質を実現するにおいて、非常に重要な役割を演じる。ISO/IEC 13818-7 MPEG-2 Advanced Audio Coding（MPEG-2 AAC）におけるインテンシティステレオは、ビットレートを増加させる必要なく、より良好な音質を実現できるように、高周波領域のチャネルの組をなす２つのチャネル間の無関係性を利用する。MPEG-2 AAC では、スケールファクタ帯域（scalefactor band; sfb）を利用可能にするインテンシティステレオは、ある基準または条件に基づいて、位相一致（In-Phase）または位相不一致（Out-of-Phase）として分類できる。本発明は、位相検出と称される、この位相情報を判定する方法に焦点を合わせる。位相検出は、側波情報を符号化するのに必要とされるビット数を低減するのに有用である。適切な位相を選択することにより、信号損失もまた低減でき、これにより実際の信号により近い信号を再生できる。図４の（ａ）および（ｂ）は、インテンシティステレオ符号化工程のブロック図である。（ａ）は、インテンシティステレオの符号化工程を、（ｂ）は、インテンシティステレオの復号化工程を示す。
【０００３】
図５は、従来の技術による、MPEG-2 AAC関連のソフトウェアで利用されるフローチャートである。このフローチャートは、信号の特性に考慮することのない、非常に簡単なアルゴリズムを用いる。位相判定は、まず、インテンシティステレオが適用される、開始スケールファクタ帯域の決定により開始される（ステップ２０１）。従来の技術では、この開始スケールファクタ帯域は、符号化ビットレートおよびサンプリング周波数によることなく６ｋＨｚに固定されている。インテンシティステレオが適用されるスケールファクタ帯域では、位相は、位相一致（In-Phase）に固定される（ステップ２０２）。すべてのインテンシティステレオスケールファクタ帯域が処理されたかが判定され（ステップ２０３）、処理されるまでこの工程が繰り返される（ステップ２０４）。
【０００４】
【発明が解決しようとする課題】
従来の技術において、各インテンシティステレオスケールファクタ帯域の位相を割り当てるアプローチは、非常に簡単である。しかし、信号の特性に当然の考慮をせず、特定のスケールファクタ帯域に対して位相が適合しないことがあるという意味では、従来の技術は不十分である。力ずくの計算のみで位相を割り当てても、すべての信号に適合することはないからである。この欠点を示すべく、MPEG-2 AACにおけるインテンシティステレオ法を用いる例を、図４の（ａ）および（ｂ）を参照して、以下に説明する。
【０００５】
エンコーダにおける処理
１フレーム内の、ある左チャネルのスケールファクタ帯域、および、それに対応する右チャネルスケールファクタ帯域のスペクトルデータが、以下のとおりとする。
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}
【０００６】
左右のスケールファクタ帯域のエネルギーＥｌ、Ｅｒは、以下の数１を用いて、Ｅｌ＝２９０７６３、Ｅｒ＝２９６００５となる。
【数１】
0003920104.tif 000002
【０００７】
従来の技術によれば、このスケールファクタ帯域の位相は、位相一致（In-Phase）に設定されるであろう。そして、右のスペクトルＲに左のスペクトルＬを加算することにより、以下の式が得られる。
L+R = {2, -3, -5, -3, -3, -5, 2, 6, 6, -8, 3, -3}
【０００８】
合計されたスペクトルのエネルギーＥｓは、数２を用いて計算され、Ｅｓ＝２４４となる。
【数２】
0003920104.tif 000003
【０００９】
スケールファクタ帯域に対するisPosition 値およびratio値は、以下の数３を用いて計算され、isPosition ＝０、ratio＝３４．５になる。
【数３】
0003920104.tif 000004
【００１０】
isPositionは、インテンシティ位置の値として参照される。これは、スケーリング情報であり、復号化器（デコーダ）が右チャネルを再構築するのに利用する。デコーダは、スケールファクタ帯域内で信号のステレオイメージングを決定する。左右のチャネルからのスペクトル値を加算した後は、以下の数４に示すように、得られた値をratio で再スケーリングすることにより、新たなインテンシティステレオスペクトル係数が導出される。すなわち、
【数４】
0003920104.tif 000005
を用いて、
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}
と導出される。
【００１１】
左チャネルは、インテンシティステレオスペクトル係数Ｌ’に置き換えられ、対応する右チャネルＲ’は０に設定される。
【００１２】
デコーダにおける処理
デコーダは、スケーリングファクタを用いて、再構築された左チャネルから右チャネルを再構築する必要がある。このスケーリングファクタは、インテンシティ位置isPositionから導出される。インテンシティ位置は、符号化器（エンコーダ）において計算され、側波情報（side information）としてデコーダに伝送された位置である。この場合、数５の（ａ）を用いると、スケーリングファクタscale は、１になる。
【数５】
0003920104.tif 000006
【００１３】
sign は、スケールファクタ帯域の位相情報を示す。プラス１（＋１）は、位相一致（In-Phase）を示す。一方、マイナス１（−１）は、位相不一致（Out-of-Phase）を示す。MPEG-2 AAC は、インテンシティステレオに対して、２つのハフマンコードブックを与える。１つは、位相一致（In-Phase）に対するコードブックであり、もう１つは、位相不一致（Out-of-Phase）に対するコードブックである。中央波／側波符号化（mid/side coding）およびインテンシティステレオ符号化は、互いに排他的であるため、インテンシティステレオの位相は、各スケールファクタ帯域の、中央波／側波フィールドms_usedを用いることによって、反転できる。１に設定した中央波／側波フィールドを使用すると、ハフマンコードブックにより、各スケールファクタ帯域に対し、位相一致（In-Phase）は位相不一致（Out-of-Phase）に、またはその逆に変更できる。これが、図５の（ｂ）における反転フラグinvertFlag である。
【００１４】
スケーリングファクタを用いると、数６により、左チャネルについて再構築された係数Ｌ’’から、右チャネルについての再構築された係数Ｒ’’が導出できる。すなわち、Ｌ’’およびＲ’’をそれぞれ、デコーダにおいて再構築された、左および右チャネルのスペクトルとして、
【数６】
0003920104.tif 000007
である。ここで、Ｌ’’およびＲ’’はそれぞれ、デコーダにおいて再構築された左右のチャネルスペクトルである。この結果、
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}
が得られる。
【００１５】
数１を用いると、再構築された左および右チャネル信号のエネルギーＥｌ’’およびＥｒ’’は、Ｅｌ’’＝２１５２１３、Ｅｒ’’ ＝２１５２１３である。
【００１６】
元の信号と再構築された信号の間の絶対誤差は、数７を用いて以下のように計算される。すなわち、
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}
となる。
【数７】
0003920104.tif 000008
ここで、Err_l およびErr_rはそれぞれ、左および右チャネルの誤差信号である。
【００１７】
これまでの説明から明らかなように、位相一致（In-Phase）インテンシティステレオは、元の信号に近いスペクトル係数を再構築することはできない。そして、従来の技術では、各インテンシティステレオスケールファクタ帯域について、適切な位相を判定できない。それは、そのようなスケールファクタ帯域に対して、固定した位相を用いる非常に簡単な方法を適用していたからである。位相を固定すると信号の特性には適当でないため、不適切である。この結果、間接的に何らかの信号の損失を生じた、忠実でない音声の再生を行うことになる。
【００１８】
【課題を解決するための手段】
本発明の目的は、デジタルオーディオ圧縮システム、特に、ＡＡＣアルゴリズムでの使用において、位相を効率よく検出することである。本発明は、インテンシティステレオが適用される、各スケールファクタ帯域について適切な位相を決定する手段を提供する。本発明は、元の信号により一致する信号を再構築することにより、損失の低減を図り、それにより、エネルギーを最大化する。また、本発明は、側波情報のビット数を低減し、さらに、音質を向上させることである。本発明の実施化は、簡易であるが、効率的である。
【００１９】
本発明は、インテンシティステレオが適用できるスケールファクタ帯域を決定する手段と、スケールファクタ帯域内の、対応する左右のスペクトルの組の全てについて、合計の２乗を累積することにより、合計エネルギーを計算する手段と、スケールファクタ帯域内の、対応する左右のスペクトルの組の全てについて、差分の２乗を累積することにより、差分エネルギーを計算する手段と、合計エネルギーと差分エネルギーとに基づいて、現在のスケールファクタ帯域の位相を決定する手段と、インテンシティステレオが利用される全てのスケールファクタ帯域に対して、同じ位相を用いる手段と、共通の位相を選択する手段と、共通の位相が用いられるとスケールファクタ帯域の位相を反転する手段とを備えている。
【００２０】
より詳しくは、以下のとおりである。
【００２１】
本発明による位相検出方法は、オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出方法であって、ａ）インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定するステップと、ｂ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル合計Ｓを求めるステップと、ｃ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計ＳのエネルギーＥｓを計算するステップと、ｄ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル差分Ｄを求めるステップと、ｅ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分ＤのエネルギーＥｄを計算するステップと、ｆ）合計された前記エネルギーＥｓと、前記差分エネルギーＥｄとのエネルギーレベルを比較するステップと、ｇ）前記インテンシティステレオスケールファクタ帯域の初期位相を決定するステップとを含む。これにより上記目的が達成される。
【００２２】
上記ａ）に規定する前記決定するステップは、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整してもよい。
【００２３】
前記スペクトル合計Ｓを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルＬを、対応する前記右スペクトルＲに加算することにより、前記スペクトル合計Ｓを計算してもよい。
【００２４】
前記エネルギーＥｓを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Ｓの２乗を合計することにより、前記合計されたエネルギーＥｓを計算してもよい。
【００２５】
前記スペクトル差分Ｄを求めるステップは、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルＲを、対応する前記左スペクトルＬから減算することにより、前記スペクトル差分Ｄを計算してもよい。
【００２６】
前記エネルギーＥｄを計算するステップは、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Ｄの２乗を合計することにより、前記差分エネルギーＥｄを計算してもよい。
【００２７】
前記初期位相を決定するステップは、前記合計されたエネルギーＥｓと前記差分エネルギーＥｄとのエネルギーレベルを比較することにより前記初期位相を決定し、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄ以上の場合に、前記初期位相を第１の値（In-Phase）に設定し、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄより小さい場合に、前記初期位相を前記第１の値と異なる第２の値（Out-of-Phase）に設定してもよい。
【００２８】
本発明による、インテンシティステレオ符号化のための位相検出に用いられる共通の位相を決定する方法は、ａ）インテンシティステレオスケールファクタ帯域から、共通の位相を取得するステップと、ｂ）前記インテンシティステレオスケールファクタ帯域の現在の位相を調べるステップと、ｃ）前記インテンシティステレオスケールファクタ帯域の現在の位相を、前記共通の位相と同じに修正するステップとを含む。これにより上記目的が達成される。
【００２９】
前記共通の位相を取得するステップは、前記最初のインテンシティステレオスケールファクタ帯域の位相を採用することにより、前記共通の位相を得てもよい。
【００３０】
前記現在の位相を調べるステップは、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、得られた前記共通の位相と比較してもよい。
【００３１】
前記修正するステップは、前記現在の位相が前記共通の位相と異なる場合には、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、前記共通の位相と同じ位相に設定し、前記現在の位相が前記共通の位相と同じ場合には、前記現在の位相を、変化することなく保持してもよい。
【００３２】
本発明による、オーディオ符号化において、インテンシティステレオのための位相を検出する位相検出装置は、ａ）インテンシティステレオが適用される開始スケールファクタ帯域である、インテンシティステレオ開始周波数スケールファクタ帯域を決定し、インテンシティステレオが適用される全てのスケールファクタ帯域を決定する手段と、ｂ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル合計Ｓを求める手段と、ｃ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル合計ＳのエネルギーＥｓを計算する手段と、ｄ）各インテンシティステレオスケールファクタ帯域について、各左スペクトルＬと右スペクトルＲのスペクトル差分Ｄを求める手段と、ｅ）インテンシティステレオスケールファクタ帯域の各々において、前記スペクトル差分ＤのエネルギーＥｄを計算する手段と、ｆ）合計された前記エネルギーＥｓと、前記差分エネルギーＥｄとのエネルギーレベルを比較する手段と、ｇ）前記インテンシティステレオスケールファクタ帯域の初期位相を決定する手段とを備えている。これにより、上記目的が達成される。
【００３３】
ａ）に規定する前記決定する手段は、より低い符号化ビットレートでは、前記開始スケールファクタ帯域をより低い周波数に設定し、より高い符号化ビットレートでは、前記周波数スケールファクタ帯域をより高く設定するように、前記インテンシティステレオ開始周波数スケールファクタ帯域を、符号化ビットレートに応じて調整してもよい。
【００３４】
前記スペクトル合計Ｓを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記左スペクトルＬを、対応する前記右スペクトルＲに加算することにより、前記スペクトル合計Ｓを計算してもよい。
【００３５】
前記エネルギーＥｓを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル合計Ｓの２乗を合計することにより前記合計されたエネルギーＥｓを計算してもよい。
【００３６】
前記スペクトル差分Ｄを求める手段は、前記インテンシティステレオスケールファクタ帯域において、前記右スペクトルＲを、対応する前記左スペクトルＬから減算することにより、前記スペクトル差分Ｄを計算してもよい。
【００３７】
前記エネルギーＥｄを計算する手段は、前記インテンシティステレオスケールファクタ帯域において、全ての前記スペクトル差分Ｄの２乗を合計することにより、前記差分エネルギーＥｄを計算してもよい。
【００３８】
前記初期位相を決定する手段は、前記合計されたエネルギーＥｓと前記差分エネルギーＥｄとのエネルギーレベルを比較することにより、前記初期位相を決定し、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄ以上の場合に、前記初期位相を第１の値（In-Phase）に設定し、前記合計されたエネルギーＥｓが前記差分エネルギーＥｄより小さい場合に、前記初期位相を前記第１の値と異なる第２の値（Out-of-Phase）に設定してもよい。
【００３９】
本発明による、インテンシティステレオ符号化のための位相検出に用いられる共通の位相を決定する装置は、ａ）インテンシティステレオスケールファクタ帯域から、共通の位相を取得する手段と、ｂ）前記インテンシティステレオスケールファクタ帯域の現在の位相を調べる手段と、ｃ）前記インテンシティステレオスケールファクタ帯域の現在の位相を、前記共通の位相と同じに修正する手段とを含む。これにより、上記目的が達成される。
【００４０】
前記共通の位相を取得する手段は、前記最初のインテンシティステレオスケールファクタ帯域の位相を採用することにより、前記共通の位相を得てもよい。
【００４１】
前記現在の位相を調べる手段は、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、得られた前記共通の位相と比較してもよい。
【００４２】
前記修正する手段は、前記現在の位相が前記共通の位相と異なる場合には、前記インテンシティステレオスケールファクタ帯域の前記現在の位相を、前記共通の位相と同じ位相に設定し、前記現在の位相が前記共通の位相と同じ場合には、前記現在の位相を、変化することなく保持してもよい。
【００４３】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の実施の形態を説明する。
【００４４】
はじめに本発明の基本的動作を説明する。まず、本発明は、簡単だが効率的なアルゴリズムを用いて、インテンシティステレオが、あるスケールファクタ帯域（scalefactor band）に適用されたときに、そのスケールファクタ帯域の位相を検出する。この位相情報は、インテンシティステレオスペクトルデータを量子化するのにどのハフマンコードブックを用いるかを決定する際の、後続の工程において用いられる。
【００４５】
図１は、本発明の動作を記述する、基本ブロック図である。このアルゴリズムは、オーディオ信号の周波数スペクトルに作用する。インテンシティステレオが適用できる各スケールファクタ帯域に対して、そのスケールファクタ帯域の合計エネルギー（ステップ３０１）および差分エネルギー（ステップ３０２）が、スケールファクタ帯域に対する初期位相を決定する基準として用いられる（ステップ３０３）。類似の位相が、インテンシティステレオが用いられる全てのスケールファクタ帯域に必要であれば、はじめのインテンシティステレオスケールファクタ帯域の位相が、基準位相または共通の位相（common phase）として選択される（ステップ３０４）。共通の位相とは異なる、インテンシティステレオスケールファクタ帯域の後続の位相が反転され、共通の位相と同じ位相になり、この反転を示すフラグが設定される（ステップ３０５）。
【００４６】
簡単ながら効率のよい位相検出の方法により、インテンシティステレオが用いられた各スケールファクタ帯域に対して、適切な位相を検出できる。各インテンシティステレオスケールファクタ帯域に対する適切な位相の選択は、音質の改善に寄与する。また、側波情報を表すのに必要とされるビット数を減少するのに役立つ。ビットの節約は、より多くのビット数を必要とする、より重要な他の工程で用いることができる。
【００４７】
以下、本発明の実施の形態をより詳しく説明する。位相を検出する方法の詳細は、MPEG-2 AACを例として説明する。この方法はまた、類似の技術を用いる他のオーディオ符号化アルゴリズムにも適用できる。図２および図３を参照して、本発明の実施の形態を説明する。
【００４８】
図２は、インテンシティステレオ符号化を行う位相検出装置を示す。加算部４０３は、左チャネルスペクトル係数Ｌ４０１、および、右チャネルスペクトル係数Ｒ４０２を合計し、スペクトル合計Ｓを生成する。この値は、２乗計算部４０４に送られて、エネルギーレベルＳ２が決定される。エネルギーレベルは、累積部４０５において、全てのスケールファクタ帯域にわたって累積され、総合計エネルギーＥｓを得る。同様に、減算部４０６は、左チャネルＬ４０１から、右チャネル４０２を減算して、スペクトル差分Ｄを得る。なお、減算は負の加算であることから、右チャネル４０２の符号を反転して入力することで、減算部４０６は、加算部４０３と同じ構成で実現できる。この値も２乗計算部４０７で２乗され、エネルギーレベルＤ２が得られる。エネルギーレベルは、累積部４０８において、全てのスケールファクタ帯域にわたって累積され、総差分エネルギーＥｄを得る。
【００４９】
比較部４０９は、総合計エネルギーＥｓを、総差分エネルギーＥｄと比較する。セレクタ４１０は、比較部４０９からの結果を用いて、適切な位相phase を選択する。総合計エネルギーＥｓのエネルギーレベルが、総差分エネルギーＥｄより大きく、または同じ場合には、位相一致（In-Phase）が選択される。それ以外の場合には、位相不一致（Out-of-Phase）が選択される。
【００５０】
選択された位相を最終位相情報として用いるか、または、セレクタ４１１を介して、全ての信号スケールファクタ帯域に対する共通の位相情報を用いるかを選択する必要がある。共通の位相が用いられる場合には、最初にその位相が選択されたとき、位相がメモリ４１２に格納される。これは、後続の位相検出のための基準位相として用いられる。これが共通の位相と呼ばれる位相である。比較部４１３からの出力は、最終位相情報、および、セレクタ４１４およびセレクタ４１５のそれぞれにおける反転フラグを選択するのに用いられる。検出された位相が共通の位相と異なる場合には、共通の位相が位相情報として用いられる。また、ここでは、反転フラグが、マイナス１（−１）に設定されて、位相の変化を示す。検出された位相が共通の位相と同じ場合には、セレクタ４１０が最初に検出した位相が用いられて、反転フラグはプラス１（＋１）に設定される。
【００５１】
図３は、スケールファクタ帯域の位相情報を検出する詳細なステップを示すフローチャートである。このフローチャートは、インテンシティステレオ符号化に用いるのに適切である。所与のスケールファクタ帯域の組の中で、インテンシティステレオが適用される高周波領域の開始点が決定される（ステップ５０１）。これは、インテンシティステレオ開始周波数スケールファクタ帯域、または、省略して、Ｉ／Ｓ開始ｓｆｂ（Intensity Stereo start frequency scalefactor band）と参照される。インテンシティステレオ開始周波数スケールファクタ帯域は、符号化ビットレートに依存している。低いビットレートの場合には、開始スケールファクタ帯域はより低くてよい。その一方で、より高いビットレートの場合には、より高い開始スケールファクタ帯域が適切である。インテンシティステレオ開始周波数スケールファクタ帯域として適切な値には、３２ｋｂｐｓ／チャネルのような低いビットレートに対しては、６ｋＨｚのスケールファクタ帯域が用いられ、４８ｋｂｐｓ／チャネルのようなより高いビットレートに対しては、９ｋＨｚのスケールファクタ帯域が用いられる。インテンシティステレオは、上述のインテンシティステレオ開始周波数スケールファクタ帯域よりも大きい、全てのスケールファクタ帯域に適用される。これらのスケールファクタ帯域は、インテンシティステレオスケールファクタ帯域、またはＩ／Ｓｓｆｂ（Intensity Stereo frequency scalefactor band）と参照される。
【００５２】
各インテンシティステレオスケールファクタ帯域について、スケールファクタ帯域内で、左スペクトルＬｉに、対応する右スペクトルＲｉを加算することにより、スペクトル合計Ｓｉが計算されて求められる（ステップ５０２）。その後、これらのスペクトル合計ＳｉのエネルギーＥｓｓｆｂが計算される（ステップ５０３）。これらのステップは、下記数８に示される。
【数８】
0003920104.tif 000009
ここで、ｉはスケールファクタ帯域内のスペクトル係数、ｎは、そのスペクトル係数の数である。
【００５３】
スペクトル差分Ｄｉも同様に計算される。すなわち、スペクトル差分Ｄｉは、スケールファクタ帯域内で、左スペクトルＬｉから、対応する右スペクトルＲｉを減算することにより計算される（ステップ５０４）。エネルギーＥｄｓｆｂはまた、下記の数９に示される。
【数９】
0003920104.tif 000010
ここで、ｉはスケールファクタ帯域内のスペクトル係数、ｎは、そのスペクトル係数の数である。
【００５４】
計算されたエネルギー合計Ｅｓｓｆｂおよびエネルギー差分Ｅｄｓｆｂは、それぞれを比較することにより、インテンシティステレオスケールファクタ帯域の初期位相を決定するのに用いられる。エネルギー合計Ｅｓｓｆｂが、エネルギー差分Ｅｄｓｆｂより大きい、または等しい場合には、初期位相isPhaseInfo は、位相一致（In-Phase）に設定される（ステップ５０７）。それ以外の場合には、初期位相は、位相不一致（Out-of-Phase)に設定される（ステップ５０８）。
【数１０】
0003920104.tif 000011
【００５５】
符号（sign）の値もまた位相であるが、数式の項で表されている。符号（sign）の値は、位相一致(In-Phase)に対してはプラス１に設定され（ステップ５０９）、位相不一致(Out-of-Phase)に対してはマイナス１に設定される（ステップ５１０）。この値は、数５の（ａ）に示すインテンシティスペクトル係数を計算する際に用いられる。
【００５６】
全てのインテンシティステレオスケールファクタ帯域に対して、共通の位相が要求される場合（ステップ５１１）、さらなる処理が必要となる。全てのインテンシティステレオスケールファクタ帯域に対して、共通の位相を用いる利点は、スケールファクタ帯域により用いられるインテンシティステレオコードブックを表すのに必要とされる側波情報のビット数を低減できることである。基準位相または共通の位相は、最初のインテンシティステレオスケールファクタ帯域のインテンシティステレオ位相情報から導出される（ステップ５１２）。すなわち、最初のインテンシティステレオスケールファクタ帯域の位相情報は、全ての後続のインテンシティステレオスケールファクタ帯域に対する共通の位相として用いられる（ステップ５１３）。
【数１１】
0003920104.tif 000012
【００５７】
インテンシティステレオスケールファクタ帯域の後続の位相が、共通の位相と異なる場合（ステップ５１４）、そのインテンシティステレオスケールファクタ帯域に対する位相情報は、中央／側波フィールドms_usedを１に設定することにより反転される（ステップ５１６）。インテンシティステレオスケールファクタ帯域の位相情報は、共通の位相と同じ値に設定され（ステップ５１７）、それ以外の場合には、位相情報は維持される（ステップ５１５）。全てのインテンシティステレオスケールファクタ帯域が処理されるているか否かが判断され（ステップ５１８）、全てが処理されるまで、上述の手順が繰り返される（ステップ５１９）。
【数１２】
0003920104.tif 000013
【００５８】
以下では、これまでの説明で用いたと同じデータを用いて、以下、エンコーダにおける処理を説明する
【００５９】
エンコーダにおける処理
あるフレーム内での、左右のスケールファクタ帯域のスペクトルデータを以下に示す。
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}
エネルギーは、数１を用いて、Ｅｌ＝２９０７６３、Ｅｒ＝２９６００５となる。
【００６０】
本発明によれば、合計スペクトルＳ、および、差分スペクトルＤは、数８の（ａ）および数９の（ａ）を用いて計算できる。すなわち、
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}
となる。
【００６１】
合計されたスペクトルのエネルギーＥｓ、および、差分スペクトルのエネルギーＥｄは、数８の（ｂ）および数９の（ｂ）を用いて計算できる。すなわち、Ｅｓ＝２４４、Ｅｄ＝１１７３２５２である。
【００６２】
差分エネルギーＥｄが合計エネルギーＥｓより大きいので、数１０に示すと同様、Out_of_Phaseのインテンシティステレオが用いられる。sign値は、マイナス１に設定される。よって、isPhase = Out_of_Phase、sign＝−１となる。
【００６３】
スケールファクタ帯域についてのisPosition値、および、ratio値は、下記数１３を用いると、isPosition＝０、および、ratio＝０．４９７８となる。
【数１３】
0003920104.tif 000014
【００６４】
左のスペクトルから右のスペクトルを減算した後は、数１４に示すように、その結果をratio値で再スケーリングすることにより、新たなインテンシティステレオスペクトル係数Ｌ’を導出できる。
【数１４】
0003920104.tif 000015
左チャネルはインテンシティステレオスペクトル係数Ｌ’で置き換えられ、対応する右チャネルＲ’は、０に設定される。すなわち、
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}
となる。
【００６５】
デコーダにおける処理
デコーダは、スケーリングファクタを用いて、再構築された左チャネルから右チャネルを再構築する。この場合は、ms_used フラグは設定されないと仮定する。それは、１つのスケーリングファクタ帯域のみが用いられるとしているからである。sign値は、インテンシティステレオスケールファクタ帯域の位相情報を表すハフマンコードブックから導出される。数５の（ａ）および（ｂ）からsign＝−１、invertFlag＝＋１と導出されるスケーリングファクタは、scale＝−１となる。
【００６６】
以下に示すように、スケーリングファクタscale を用いると、数６により、左チャネルについて再構築された係数Ｌ’’から、右チャネルについて再構築された係数Ｒ’’が導出できる。
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}
数１を用いると、再構築された左右のチャネル信号のエネルギーは、それぞれ、
El" = 290747、Er" = 290747となる。基づいてとのスペクトルと再構築されたスペクトル間の絶対誤差は、数７を用いて、
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}
と計算される。
【００６７】
これまでの説明によれば、従来と比較すると、本発明の方がより優れていることが非常に明白である。元のスペクトルにより近く一致するスペクトル係数を再構築するので、スペクトル信号のより忠実な再構築が可能である。
【００６８】
【発明の効果】
本発明で開示された方法によれば、信号の特性に適合するインテシティステレオを適用して、スケールファクタ帯域の適切な位相を決定できる。各インテンシティステレオスケールファクタ帯域に対して、良好な位相を選択することにより、スケールファクタ帯域の総エネルギーが最大化される。信号スペクトルのより忠実な再生を実現でき、その間接的な結果として、エネルギー損失の量がより小さくなる。また、全てのインテンシティステレオスケールファクタ帯域に対して共通の位相を用いることにより、側波情報のビット数が低減できる。ビット数の節約により、良好な音質を得る際に非常に重要な、量子化などの他の工程に充てることができる。位相検出方法を実施するのに必要な論理は簡易であるが、効率的である。この方法は、類似の技術を用いる、他のオーディオ符号化アルゴリズムに対しても容易に適用できる。
【図面の簡単な説明】
【図１】  本発明の動作を記述する、基本ブロック図である。
【図２】  インテンシティステレオ符号化を行う位相検出装置を示す。
【図３】  スケールファクタ帯域の位相情報を検出する詳細なステップを示すフローチャートである。
【図４】  （ａ）は、インテンシティステレオ符号化工程のブロック図である。（ｂ）は、インテンシティステレオ復号化工程のブロック図である。
【図５】  従来の技術による、MPEG-2 AAC関連のソフトウェアで利用されるフローチャートである。
【符号の説明】
４０１  左チャネルＬ
４０２  右チャネルＲ
４０３  加算部
４０４  ２乗計算部
４０５  累積部
４０６  減算部
４０７  ２乗計算部
４０８  累積部
４０９  比較部
４１０  セレクタ
４１１  セレクタ
４１２  メモリ
４１３  比較部
４１４  セレクタ
４１５  セレクタ
【図１】
0003920104.tif 000016
【図２】
0003920104.tif 000017
【図３】
0003920104.tif 000018
【図４】
0003920104.tif 000019
【図５】
0003920104.tif 000020